From c585392cc79f84fb6df8542652f6ec78b7d01b37 Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Thu, 2 Dec 2021 16:11:19 +0800 Subject: [PATCH 01/11] Add one more prompt for amlarc extension update --- .../azext_k8s_extension/custom.py | 2 +- .../partner_extensions/AzureMLKubernetes.py | 91 ++++++++++++++++++- .../partner_extensions/DefaultExtension.py | 2 +- .../PartnerExtensionModel.py | 2 +- 4 files changed, 92 insertions(+), 5 deletions(-) diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index d3fd501a0f2..c3720078056 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -204,7 +204,7 @@ def update_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c extension_class = ExtensionFactory(extension_type_lower) upd_extension = extension_class.Update(cmd, resource_group_name, cluster_name, auto_upgrade_minor_version, release_train, version, - config_settings, config_protected_settings) + config_settings, config_protected_settings, yes) return sdk_no_wait(no_wait, client.begin_update, resource_group_name, cluster_rp, cluster_type, cluster_name, name, upd_extension) 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 706973d9a13..e85666747ae 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -83,6 +83,9 @@ def __init__(self): # constants for existing AKS to AMLARC migration self.IS_AKS_MIGRATION = 'isAKSMigration' + + # constants for others in Spec + self.installNvidiaDevicePlugin = 'installNvidiaDevicePlugin' # reference mapping self.reference_mapping = { @@ -165,9 +168,83 @@ def Delete(self, cmd, client, resource_group_name, cluster_name, name, cluster_t user_confirmation_factory(cmd, yes) def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_version, release_train, version, configuration_settings, - configuration_protected_settings): + configuration_protected_settings, yes=False): self.__normalize_config(configuration_settings, configuration_protected_settings) - + + # Prompt message to ask customer to confirm again + if len(configuration_settings) > 0: + impactScenario = "" + messageBody = "" + disableTraining = False + disableInference = False + disableNvidiaDevicePlugin = False + hasAllowInsecureConnections = False + hasPrivateEndpointNodeport = False + hasPrivateEndpointILB = False + hasNodeSelector = False + enableLogAnalyticsWS = False + + enableTraining = _get_value_from_config_protected_config(self.ENABLE_TRAINING, configuration_settings, configuration_protected_settings) + if enableTraining is not None: + disableTraining = str(enableTraining).lower() == 'false' + if disableTraining: + messageBody = messageBody + "enableTraining from True to False,\n" + + enableInference = _get_value_from_config_protected_config(self.ENABLE_INFERENCE, configuration_settings, configuration_protected_settings) + if enableInference is not None: + disableInference = str(enableInference).lower() == 'false' + if disableInference: + messageBody = messageBody + "enableInference from True to False,\n" + + installNvidiaDevicePlugin = _get_value_from_config_protected_config(self.installNvidiaDevicePlugin, configuration_settings, configuration_protected_settings) + if installNvidiaDevicePlugin is not None: + disableNvidiaDevicePlugin = str(installNvidiaDevicePlugin).lower() == 'false' + if disableNvidiaDevicePlugin: + messageBody = messageBody + "installNvidiaDevicePlugin from True to False if Nvidia GPU is used,\n" + + allowInsecureConnections = _get_value_from_config_protected_config(self.allowInsecureConnections, configuration_settings, configuration_protected_settings) + if allowInsecureConnections is not None: + hasAllowInsecureConnections = True + messageBody = messageBody + "allowInsecureConnections\n" + + privateEndpointNodeport = _get_value_from_config_protected_config(self.privateEndpointNodeport, configuration_settings, configuration_protected_settings) + if privateEndpointNodeport is not None: + hasPrivateEndpointNodeport = True + messageBody = messageBody + "privateEndpointNodeport\n" + + privateEndpointILB = _get_value_from_config_protected_config(self.privateEndpointILB, configuration_settings, configuration_protected_settings) + if privateEndpointILB is not None: + hasPrivateEndpointILB = True + messageBody = messageBody + "privateEndpointILB\n" + + hasNodeSelector = _check_nodeselector_existed(configuration_settings, configuration_protected_settings) + if hasNodeSelector: + messageBody = messageBody + "nodeSelector. Update operation can't remove an existed node selector, but can update or add new ones.\n" + + logAnalyticsWS = _get_value_from_config_protected_config(self.LOG_ANALYTICS_WS_ENABLED, configuration_settings, configuration_protected_settings) + if logAnalyticsWS is not None: + enableLogAnalyticsWS = str(logAnalyticsWS).lower() == 'true' + if enableLogAnalyticsWS: + messageBody = messageBody + "To update logAnalyticsWS from False to True, please provide all original configurationProtectedSettings. Otherwise, those settings would be considered obsolete and deleted.\n" + + if disableTraining or disableNvidiaDevicePlugin or hasNodeSelector: + impactScenario = "jobs" + + if disableInference or disableNvidiaDevicePlugin or hasAllowInsecureConnections or hasPrivateEndpointNodeport or hasPrivateEndpointILB or hasNodeSelector: + if impactScenario == "": + impactScenario = "online endpoints and deployments" + else: + impactScenario = impactScenario + ", online endpoints and deployments" + + if impactScenario != "": + message = "\nThe following configuration update will IMPACT your active Machine Learning " + impactScenario + \ + ". It will be the safe update if the cluster doesn't have active Machine Learning " + impactScenario + ".\n\n" + messageBody + "\nProceed?" + user_confirmation_factory(cmd, yes, message=message) + else: + if enableLogAnalyticsWS: + message = "\n" + messageBody + "\nProceed?" + user_confirmation_factory(cmd, yes, message=message) + if len(configuration_protected_settings) > 0: subscription_id = get_subscription_id(cmd.cli_ctx) @@ -558,3 +635,13 @@ def _get_cluster_rp_api_version(cluster_type) -> Tuple[str, str]: else: raise InvalidArgumentValueError("Error! Cluster type '{}' is not supported".format(cluster_type)) return rp, parent_api_version + +def _check_nodeselector_existed(configuration_settings, configuration_protected_settings): + config_keys = configuration_settings.keys() + config_protected_keys = configuration_protected_settings.keys() + all_keys = set(config_keys) | set(config_protected_keys) + if all_keys: + for key in all_keys: + if "nodeSelector" in key: + return True + return False 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 5b76e500635..8289e931336 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py @@ -46,7 +46,7 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t return extension, name, create_identity def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_version, release_train, version, configuration_settings, - configuration_protected_settings): + configuration_protected_settings, yes=False): """Default validations & defaults for Update Must create and return a valid 'PatchExtension' object. """ 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 33c8f683591..731bece8767 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py @@ -19,7 +19,7 @@ def Create(self, cmd, client, resource_group_name: str, cluster_name: str, name: @abstractmethod def Update(self, cmd, resource_group_name: str, cluster_name: str, auto_upgrade_minor_version: bool, release_train: str, version: str, - configuration_settings: dict, configuration_protected_settings: dict) -> PatchExtension: + configuration_settings: dict, configuration_protected_settings: dict, yes:bool) -> PatchExtension: pass @abstractmethod From 2ba4e9fcbf23681f4451a2809b284e0a886ac550 Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Thu, 2 Dec 2021 17:08:12 +0800 Subject: [PATCH 02/11] fix pylint issue --- .../partner_extensions/AzureMLKubernetes.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 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 e85666747ae..36111052d06 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -186,20 +186,20 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers enableTraining = _get_value_from_config_protected_config(self.ENABLE_TRAINING, configuration_settings, configuration_protected_settings) if enableTraining is not None: - disableTraining = str(enableTraining).lower() == 'false' - if disableTraining: + disableTraining = str(enableTraining).lower() == 'false' + if disableTraining: messageBody = messageBody + "enableTraining from True to False,\n" enableInference = _get_value_from_config_protected_config(self.ENABLE_INFERENCE, configuration_settings, configuration_protected_settings) if enableInference is not None: - disableInference = str(enableInference).lower() == 'false' - if disableInference: + disableInference = str(enableInference).lower() == 'false' + if disableInference: messageBody = messageBody + "enableInference from True to False,\n" installNvidiaDevicePlugin = _get_value_from_config_protected_config(self.installNvidiaDevicePlugin, configuration_settings, configuration_protected_settings) if installNvidiaDevicePlugin is not None: - disableNvidiaDevicePlugin = str(installNvidiaDevicePlugin).lower() == 'false' - if disableNvidiaDevicePlugin: + disableNvidiaDevicePlugin = str(installNvidiaDevicePlugin).lower() == 'false' + if disableNvidiaDevicePlugin: messageBody = messageBody + "installNvidiaDevicePlugin from True to False if Nvidia GPU is used,\n" allowInsecureConnections = _get_value_from_config_protected_config(self.allowInsecureConnections, configuration_settings, configuration_protected_settings) @@ -223,8 +223,8 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers logAnalyticsWS = _get_value_from_config_protected_config(self.LOG_ANALYTICS_WS_ENABLED, configuration_settings, configuration_protected_settings) if logAnalyticsWS is not None: - enableLogAnalyticsWS = str(logAnalyticsWS).lower() == 'true' - if enableLogAnalyticsWS: + enableLogAnalyticsWS = str(logAnalyticsWS).lower() == 'true' + if enableLogAnalyticsWS: messageBody = messageBody + "To update logAnalyticsWS from False to True, please provide all original configurationProtectedSettings. Otherwise, those settings would be considered obsolete and deleted.\n" if disableTraining or disableNvidiaDevicePlugin or hasNodeSelector: From b69068c6167dacee4caa6c6a1ea71ba668481812 Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Thu, 2 Dec 2021 17:22:56 +0800 Subject: [PATCH 03/11] fix pylint issue --- .../partner_extensions/AzureMLKubernetes.py | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 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 36111052d06..d2890d0ee08 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -170,7 +170,7 @@ def Delete(self, cmd, client, resource_group_name, cluster_name, name, cluster_t def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_version, release_train, version, configuration_settings, configuration_protected_settings, yes=False): self.__normalize_config(configuration_settings, configuration_protected_settings) - + # Prompt message to ask customer to confirm again if len(configuration_settings) > 0: impactScenario = "" @@ -183,59 +183,59 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers hasPrivateEndpointILB = False hasNodeSelector = False enableLogAnalyticsWS = False - + enableTraining = _get_value_from_config_protected_config(self.ENABLE_TRAINING, configuration_settings, configuration_protected_settings) if enableTraining is not None: disableTraining = str(enableTraining).lower() == 'false' if disableTraining: - messageBody = messageBody + "enableTraining from True to False,\n" - + messageBody = messageBody + "enableTraining from True to False,\n" + enableInference = _get_value_from_config_protected_config(self.ENABLE_INFERENCE, configuration_settings, configuration_protected_settings) if enableInference is not None: disableInference = str(enableInference).lower() == 'false' if disableInference: - messageBody = messageBody + "enableInference from True to False,\n" - + messageBody = messageBody + "enableInference from True to False,\n" + installNvidiaDevicePlugin = _get_value_from_config_protected_config(self.installNvidiaDevicePlugin, configuration_settings, configuration_protected_settings) if installNvidiaDevicePlugin is not None: disableNvidiaDevicePlugin = str(installNvidiaDevicePlugin).lower() == 'false' if disableNvidiaDevicePlugin: - messageBody = messageBody + "installNvidiaDevicePlugin from True to False if Nvidia GPU is used,\n" - + messageBody = messageBody + "installNvidiaDevicePlugin from True to False if Nvidia GPU is used,\n" + allowInsecureConnections = _get_value_from_config_protected_config(self.allowInsecureConnections, configuration_settings, configuration_protected_settings) if allowInsecureConnections is not None: - hasAllowInsecureConnections = True - messageBody = messageBody + "allowInsecureConnections\n" - + hasAllowInsecureConnections = True + messageBody = messageBody + "allowInsecureConnections\n" + privateEndpointNodeport = _get_value_from_config_protected_config(self.privateEndpointNodeport, configuration_settings, configuration_protected_settings) if privateEndpointNodeport is not None: - hasPrivateEndpointNodeport = True - messageBody = messageBody + "privateEndpointNodeport\n" + hasPrivateEndpointNodeport = True + messageBody = messageBody + "privateEndpointNodeport\n" privateEndpointILB = _get_value_from_config_protected_config(self.privateEndpointILB, configuration_settings, configuration_protected_settings) if privateEndpointILB is not None: - hasPrivateEndpointILB = True - messageBody = messageBody + "privateEndpointILB\n" - + hasPrivateEndpointILB = True + messageBody = messageBody + "privateEndpointILB\n" + hasNodeSelector = _check_nodeselector_existed(configuration_settings, configuration_protected_settings) if hasNodeSelector: - messageBody = messageBody + "nodeSelector. Update operation can't remove an existed node selector, but can update or add new ones.\n" - + messageBody = messageBody + "nodeSelector. Update operation can't remove an existed node selector, but can update or add new ones.\n" + logAnalyticsWS = _get_value_from_config_protected_config(self.LOG_ANALYTICS_WS_ENABLED, configuration_settings, configuration_protected_settings) if logAnalyticsWS is not None: enableLogAnalyticsWS = str(logAnalyticsWS).lower() == 'true' if enableLogAnalyticsWS: - messageBody = messageBody + "To update logAnalyticsWS from False to True, please provide all original configurationProtectedSettings. Otherwise, those settings would be considered obsolete and deleted.\n" - + messageBody = messageBody + "To update logAnalyticsWS from False to True, please provide all original configurationProtectedSettings. Otherwise, those settings would be considered obsolete and deleted.\n" + if disableTraining or disableNvidiaDevicePlugin or hasNodeSelector: impactScenario = "jobs" - + if disableInference or disableNvidiaDevicePlugin or hasAllowInsecureConnections or hasPrivateEndpointNodeport or hasPrivateEndpointILB or hasNodeSelector: if impactScenario == "": impactScenario = "online endpoints and deployments" else: impactScenario = impactScenario + ", online endpoints and deployments" - + if impactScenario != "": message = "\nThe following configuration update will IMPACT your active Machine Learning " + impactScenario + \ ". It will be the safe update if the cluster doesn't have active Machine Learning " + impactScenario + ".\n\n" + messageBody + "\nProceed?" @@ -244,7 +244,7 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers if enableLogAnalyticsWS: message = "\n" + messageBody + "\nProceed?" user_confirmation_factory(cmd, yes, message=message) - + if len(configuration_protected_settings) > 0: subscription_id = get_subscription_id(cmd.cli_ctx) From f29e15172fde1ea24ed20154bcf3c803bfc227f2 Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Thu, 2 Dec 2021 17:31:42 +0800 Subject: [PATCH 04/11] fix pylint issue --- .../partner_extensions/AzureMLKubernetes.py | 6 +++--- 1 file changed, 3 insertions(+), 3 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 d2890d0ee08..e08bb6405ae 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -83,7 +83,7 @@ def __init__(self): # constants for existing AKS to AMLARC migration self.IS_AKS_MIGRATION = 'isAKSMigration' - + # constants for others in Spec self.installNvidiaDevicePlugin = 'installNvidiaDevicePlugin' @@ -171,7 +171,7 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers configuration_protected_settings, yes=False): self.__normalize_config(configuration_settings, configuration_protected_settings) - # Prompt message to ask customer to confirm again + # Prompt message to ask customer to confirm again if len(configuration_settings) > 0: impactScenario = "" messageBody = "" @@ -211,7 +211,7 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers if privateEndpointNodeport is not None: hasPrivateEndpointNodeport = True messageBody = messageBody + "privateEndpointNodeport\n" - + privateEndpointILB = _get_value_from_config_protected_config(self.privateEndpointILB, configuration_settings, configuration_protected_settings) if privateEndpointILB is not None: hasPrivateEndpointILB = True From e2bdd1264d876b023fcd26814332cf937826f3d4 Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Thu, 2 Dec 2021 10:25:40 +0000 Subject: [PATCH 05/11] fix pylint issue --- .../partner_extensions/AzureMLKubernetes.py | 5 +++-- .../partner_extensions/PartnerExtensionModel.py | 2 +- 2 files changed, 4 insertions(+), 3 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 e08bb6405ae..4f4fb43fe15 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -237,8 +237,8 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers impactScenario = impactScenario + ", online endpoints and deployments" if impactScenario != "": - message = "\nThe following configuration update will IMPACT your active Machine Learning " + impactScenario + \ - ". It will be the safe update if the cluster doesn't have active Machine Learning " + impactScenario + ".\n\n" + messageBody + "\nProceed?" + message = ("\nThe following configuration update will IMPACT your active Machine Learning " + impactScenario + + ". It will be the safe update if the cluster doesn't have active Machine Learning " + impactScenario + ".\n\n" + messageBody + "\nProceed?") user_confirmation_factory(cmd, yes, message=message) else: if enableLogAnalyticsWS: @@ -636,6 +636,7 @@ def _get_cluster_rp_api_version(cluster_type) -> Tuple[str, str]: raise InvalidArgumentValueError("Error! Cluster type '{}' is not supported".format(cluster_type)) return rp, parent_api_version + def _check_nodeselector_existed(configuration_settings, configuration_protected_settings): config_keys = configuration_settings.keys() config_protected_keys = configuration_protected_settings.keys() 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 731bece8767..e1f37ec3a95 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py @@ -19,7 +19,7 @@ def Create(self, cmd, client, resource_group_name: str, cluster_name: str, name: @abstractmethod def Update(self, cmd, resource_group_name: str, cluster_name: str, auto_upgrade_minor_version: bool, release_train: str, version: str, - configuration_settings: dict, configuration_protected_settings: dict, yes:bool) -> PatchExtension: + configuration_settings: dict, configuration_protected_settings: dict, yes: bool) -> PatchExtension: pass @abstractmethod From bf93ca7efac20a5032c2db93a93334fc39cef27a Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Mon, 28 Mar 2022 15:06:41 +0800 Subject: [PATCH 06/11] merge from AzureArcForKubernetes/azure-cli-extensions --- .flake8 | 1 + .github/CODEOWNERS | 12 + azure-pipelines.yml | 1 + linter_exclusions.yml | 106 + pylintrc | 2 +- src/account/HISTORY.rst | 4 + src/account/azext_account/__init__.py | 3 +- src/account/azext_account/manual/__init__.py | 0 .../azext_account/manual/_client_factory.py | 20 + src/account/azext_account/manual/commands.py | 29 + src/account/azext_account/manual/custom.py | 45 + .../tests/latest/recordings/test_account.yaml | 38 +- .../tests/latest/test_account_scenario.py | 2 +- .../azext_account/vendored_sdks/__init__.py | 13 +- .../vendored_sdks/subscription/__init__.py | 12 +- .../subscription/_configuration.py | 25 +- .../vendored_sdks/subscription/_patch.py | 31 + .../subscription/_subscription_client.py | 99 +- .../vendored_sdks/subscription/_vendor.py | 27 + .../vendored_sdks/subscription/_version.py | 9 + .../subscription/aio/__init__.py | 7 +- ...nfiguration_async.py => _configuration.py} | 14 +- .../vendored_sdks/subscription/aio/_patch.py | 31 + .../subscription/aio/_subscription_client.py | 106 + .../subscription/aio/operations/__init__.py | 25 + .../_alias_operations.py} | 243 +- .../_billing_account_operations.py} | 69 +- .../aio/operations/_operations.py | 110 + .../operations/_subscription_operations.py | 349 + .../_subscription_policy_operations.py | 205 + .../operations/_subscriptions_operations.py | 226 + .../aio/operations/_tenants_operations.py | 109 + .../_subscription_operations_async.py | 384 - .../subscription/models/__init__.py | 100 +- .../subscription/models/_models.py | 632 - .../subscription/models/_models_py3.py | 1051 +- .../models/_subscription_client_enums.py | 40 +- .../subscription/operations/__init__.py | 14 +- .../operations/_alias_operations.py | 400 +- .../operations/_billing_account_operations.py | 125 + .../operations/_operation_operations.py | 90 - .../subscription/operations/_operations.py | 172 +- .../_subscription_operation_operations.py | 104 - .../operations/_subscription_operations.py | 655 +- .../_subscription_policy_operations.py | 291 + .../operations/_subscriptions_operations.py | 312 + .../operations/_tenant_operations.py | 106 - .../operations/_tenants_operations.py | 134 + src/account/setup.py | 4 +- src/acrtransfer/setup.py | 2 +- src/ad/azext_ad/tests/latest/preparers.py | 2 +- src/ad/setup.py | 2 +- .../tests/latest/test_aem_commands.py | 2 +- src/aem/setup.py | 2 +- .../tests/latest/test_ai_examples_scenario.py | 2 +- src/ai-examples/setup.py | 2 +- src/aks-preview/HISTORY.md | 55 + .../configs/cli_coverage_config.json | 16 + .../configs/ext_coverage_config.json | 16 + .../configs/ext_matrix_default.json | 8 +- .../azcli_aks_live_test/scripts/clean_up.sh | 26 +- .../azcli_aks_live_test/scripts/setup_venv.sh | 2 +- .../scripts/start_container.sh | 4 - .../scripts/test_cli_live.sh | 91 +- .../scripts/test_cli_unit.sh | 41 - .../scripts/test_ext_live.sh | 160 +- .../scripts/test_ext_unit.sh | 40 - .../scripts/test_raw_cases.sh | 7 - .../azcli_aks_live_test/scripts/test_unit.sh | 76 + .../scripts/transcribe_env.sh | 84 +- .../vsts-azcli-aks-clean-up.yaml | 22 + .../vsts-azcli-aks-live-test.yaml | 2 +- .../vsts-azcli-aks-unit-test.yaml | 12 +- src/aks-preview/azext_aks_preview/__init__.py | 2 +- .../azext_aks_preview/_completers.py | 9 +- src/aks-preview/azext_aks_preview/_format.py | 1 + src/aks-preview/azext_aks_preview/_help.py | 74 +- src/aks-preview/azext_aks_preview/_helpers.py | 98 - .../azext_aks_preview/_loadbalancer.py | 79 +- .../azext_aks_preview/_natgateway.py | 13 +- src/aks-preview/azext_aks_preview/_params.py | 418 +- .../azext_aks_preview/_podidentity.py | 152 + .../azext_aks_preview/_validators.py | 60 +- .../azext_aks_preview/addonconfiguration.py | 127 +- .../azext_aks_preview/azext_metadata.json | 2 +- src/aks-preview/azext_aks_preview/commands.py | 1 + src/aks-preview/azext_aks_preview/custom.py | 885 +- .../azext_aks_preview/decorator.py | 1093 +- .../deploymentyaml/__init__.py | 0 .../maintenanceconfiguration.py | 34 +- .../tests/latest/data/maintenanceconfig.json | 4 +- .../tests/latest/data/motd.txt | 3 + .../azext_aks_preview/tests/latest/mocks.py | 7 +- .../tests/latest/recording_processors.py | 4 +- .../test_aks_addon_disable_confcom_addon.yaml | 788 +- ...est_aks_addon_disable_openservicemesh.yaml | 640 +- .../test_aks_addon_enable_confcom_addon.yaml | 691 +- ...ble_with_azurekeyvaultsecretsprovider.yaml | 1836 +- ...aks_addon_enable_with_openservicemesh.yaml | 628 +- .../test_aks_addon_list_all_disabled.yaml | 328 +- .../test_aks_addon_list_confcom_enabled.yaml | 278 +- ...ks_addon_list_openservicemesh_enabled.yaml | 390 +- .../test_aks_addon_show_all_disabled.yaml | 398 +- .../test_aks_addon_show_confcom_enabled.yaml | 364 +- ...ks_addon_show_openservicemesh_enabled.yaml | 390 +- .../test_aks_addon_update_all_disabled.yaml | 336 +- ...ate_with_azurekeyvaultsecretsprovider.yaml | 1124 +- .../test_aks_addon_update_with_confcom.yaml | 1038 +- ...ks_byo_appgw_with_ingress_appgw_addon.yaml | 2185 -- ...s_byo_subnet_with_ingress_appgw_addon.yaml | 1411 +- ...ate_aadv1_and_update_with_managed_aad.yaml | 635 +- ...est_aks_create_add_nodepool_with_motd.yaml | 1285 ++ ...tsecretsprovider_with_secret_rotation.yaml | 382 +- ...test_aks_create_and_update_ipv6_count.yaml | 1356 ++ ...st_aks_create_and_update_outbound_ips.yaml | 1845 ++ ...ks_create_and_update_with_managed_aad.yaml | 745 +- ...te_with_managed_aad_enable_azure_rbac.yaml | 1035 +- ...ate_with_managed_nat_gateway_outbound.yaml | 697 +- ...create_dualstack_with_default_network.yaml | 844 + .../test_aks_create_fqdn_subdomain.yaml | 462 +- ...te_nonaad_and_update_with_managed_aad.yaml | 666 +- ...test_aks_create_none_private_dns_zone.yaml | 534 +- ...ks_create_private_cluster_public_fqdn.yaml | 1065 +- ...ng_azurecni_with_pod_identity_enabled.yaml | 1899 +- .../recordings/test_aks_create_with_ahub.yaml | 1681 +- ..._aks_create_with_auto_upgrade_channel.yaml | 933 +- ...th_azurekeyvaultsecretsprovider_addon.yaml | 399 +- .../test_aks_create_with_confcom_addon.yaml | 374 +- ...ate_with_confcom_addon_helper_enabled.yaml | 353 +- .../test_aks_create_with_crg_id.yaml | 1119 + .../test_aks_create_with_default_network.yaml | 631 + .../test_aks_create_with_ephemeral_disk.yaml | 450 +- .../recordings/test_aks_create_with_fips.yaml | 531 +- .../test_aks_create_with_gitops_addon.yaml | 1048 + ...est_aks_create_with_http_proxy_config.yaml | 1124 +- ...t_aks_create_with_ingress_appgw_addon.yaml | 332 +- ...gw_addon_with_deprecated_subet_prefix.yaml | 428 +- .../test_aks_create_with_managed_disk.yaml | 255 +- ...s_create_with_monitoring_aad_auth_msi.yaml | 1947 ++ ...s_create_with_monitoring_aad_auth_uai.yaml | 2048 ++ ...ks_create_with_monitoring_legacy_auth.yaml | 1497 ++ ...t_aks_create_with_network_plugin_none.yaml | 712 + .../test_aks_create_with_node_config.yaml | 541 +- ...t_aks_create_with_oidc_issuer_enabled.yaml | 630 + ...aks_create_with_openservicemesh_addon.yaml | 485 +- .../test_aks_create_with_ossku.yaml | 361 +- ..._aks_create_with_pod_identity_enabled.yaml | 2176 +- ...st_aks_create_with_virtual_node_addon.yaml | 464 +- .../test_aks_create_with_windows.yaml | 1525 +- .../test_aks_create_with_windows_gmsa.yaml | 2205 +- .../test_aks_custom_kubelet_identity.yaml | 666 +- .../test_aks_disable_addon_gitops.yaml | 857 + ...est_aks_disable_addon_openservicemesh.yaml | 618 +- ...test_aks_disable_addons_confcom_addon.yaml | 618 +- .../test_aks_disable_local_accounts.yaml | 459 +- ...don_with_azurekeyvaultsecretsprovider.yaml | 2971 ++- .../test_aks_enable_addon_with_gitops.yaml | 947 + ...aks_enable_addon_with_openservicemesh.yaml | 708 +- .../test_aks_enable_addons_confcom_addon.yaml | 657 +- ...s_enable_monitoring_with_aad_auth_msi.yaml | 2252 ++ ...s_enable_monitoring_with_aad_auth_uai.yaml | 2406 ++ .../recordings/test_aks_enable_utlra_ssd.yaml | 287 +- .../test_aks_maintenanceconfiguration.yaml | 340 +- ...odepool_add_with_gpu_instance_profile.yaml | 2950 ++- .../test_aks_nodepool_add_with_ossku.yaml | 553 +- ...ks_nodepool_add_with_workload_runtime.yaml | 553 +- .../test_aks_nodepool_get_upgrades.yaml | 363 +- .../test_aks_nodepool_stop_and_start.yaml | 1554 +- .../test_aks_nodepool_update_label_msi.yaml | 838 +- .../test_aks_nodepool_update_taints_msi.yaml | 1401 ++ .../test_aks_pod_identity_usage.yaml | 2086 ++ .../latest/recordings/test_aks_snapshot.yaml | 2324 +- .../recordings/test_aks_stop_and_start.yaml | 892 +- .../recordings/test_aks_update_label_msi.yaml | 1391 +- .../test_aks_update_to_msi_cluster.yaml | 695 +- ...aks_update_to_msi_cluster_with_addons.yaml | 2987 +-- ...t_aks_update_with_oidc_issuer_enabled.yaml | 1194 + .../test_aks_update_with_windows_gmsa.yaml | 4655 ++-- ...test_aks_update_with_windows_password.yaml | 1497 +- ...t_aks_upgrade_node_image_only_cluster.yaml | 426 +- ..._aks_upgrade_node_image_only_nodepool.yaml | 374 +- .../recordings/test_aks_upgrade_nodepool.yaml | 1959 +- .../recordings/test_get_os_options.yaml | 57 + .../latest/recordings/test_get_version.yaml | 6 +- .../tests/latest/test_aks_commands.py | 475 +- .../tests/latest/test_decorator.py | 1842 +- .../tests/latest/test_helpers.py | 39 - .../tests/latest/test_loadbalancer.py | 56 +- .../tests/latest/test_natgateway.py | 8 +- .../tests/latest/test_pod_identity_helpers.py | 26 +- .../tests/latest/test_validators.py | 126 +- .../azure_mgmt_preview_aks/__init__.py | 0 .../azure_mgmt_preview_aks/_configuration.py | 4 +- .../_container_service_client.py | 91 +- .../azure_mgmt_preview_aks/_version.py | 2 +- .../azure_mgmt_preview_aks/models.py | 2 +- .../v2021_09_01/models/__init__.py | 342 - .../v2021_09_01/models/_models.py | 3899 ---- .../v2021_09_01/models/_models_py3.py | 4362 ---- ...olve_private_link_service_id_operations.py | 114 - .../v2022_01_02_preview/__init__.py | 15 + .../_configuration.py | 21 +- .../_container_service_client.py | 122 + .../v2022_01_02_preview/_patch.py | 31 + .../v2022_01_02_preview/_vendor.py | 27 + .../v2022_01_02_preview/aio/__init__.py | 15 + .../aio/_configuration.py | 8 +- .../aio/_container_service_client.py | 119 + .../v2022_01_02_preview/aio/_patch.py | 31 + .../aio/operations/__init__.py | 0 .../aio/operations/_agent_pools_operations.py | 369 +- .../_maintenance_configurations_operations.py | 177 +- .../_managed_clusters_operations.py | 1006 +- .../aio/operations/_operations.py | 111 + ...private_endpoint_connections_operations.py | 180 +- .../_private_link_resources_operations.py | 43 +- ...olve_private_link_service_id_operations.py | 53 +- .../aio/operations/_snapshots_operations.py | 251 +- .../v2022_01_02_preview/models/__init__.py | 261 + .../models/_container_service_client_enums.py | 108 +- .../v2022_01_02_preview/models/_models_py3.py | 5984 +++++ .../operations/__init__.py | 0 .../operations/_agent_pools_operations.py | 914 + .../_maintenance_configurations_operations.py | 457 + .../_managed_clusters_operations.py | 2470 +++ .../operations/_operations.py | 137 + ...private_endpoint_connections_operations.py | 488 + .../_private_link_resources_operations.py | 99 +- ...olve_private_link_service_id_operations.py | 153 + .../operations/_snapshots_operations.py | 636 + src/aks-preview/setup.py | 35 +- src/alertsmanagement/HISTORY.rst | 11 + src/alertsmanagement/README.md | 28 +- .../azext_alertsmanagement/__init__.py | 28 +- .../azext_alertsmanagement/_client_factory.py | 14 +- .../azext_alertsmanagement/_help.py | 186 +- .../azext_alertsmanagement/_params.py | 94 +- .../azext_alertsmanagement/_validators.py | 101 + .../azext_metadata.json | 6 +- .../azext_alertsmanagement/commands.py | 27 +- .../azext_alertsmanagement/custom.py | 333 +- .../test_alertsmanagement_action_rule.yaml | 589 - ...test_alertsmanagement_processing_rule.yaml | 484 + .../latest/test_alertsmanagement_scenario.py | 146 +- .../vendored_sdks/__init__.py | 14 +- .../alertsmanagement/__init__.py | 18 +- .../_alerts_management_client.py | 86 +- .../alertsmanagement/_configuration.py | 78 +- .../alertsmanagement/_version.py | 9 + .../alertsmanagement/models/__init__.py | 219 +- .../models/_alerts_management_client_enums.py | 356 +- .../alertsmanagement/models/_models.py | 1668 +- .../alertsmanagement/models/_models_py3.py | 1823 +- .../alertsmanagement/models/_paged_models.py | 79 - .../alertsmanagement/operations/__init__.py | 13 +- .../operations/_action_rules_operations.py | 575 - .../_alert_processing_rules_operations.py} | 454 +- .../operations/_alerts_operations.py | 697 +- .../operations/_operations.py | 125 +- .../_smart_detector_alert_rules_operations.py | 436 - .../operations/_smart_groups_operations.py | 433 +- .../vendored_sdks/alertsmanagement/py.typed | 1 + src/alertsmanagement/linter_exclusions.yml | 29 + src/alertsmanagement/report.md | 310 + src/alertsmanagement/setup.cfg | 3 +- src/alertsmanagement/setup.py | 13 +- src/alias/setup.py | 2 +- src/application-insights/HISTORY.rst | 4 + .../azext_applicationinsights/__init__.py | 2 +- .../_client_factory.py | 4 + .../azext_applicationinsights/_help.py | 148 + .../azext_applicationinsights/_params.py | 44 +- .../azext_applicationinsights/action.py | 109 + .../azext_applicationinsights/commands.py | 21 +- .../azext_applicationinsights/custom.py | 209 +- .../tests/latest/recording_processors.py | 2 +- .../test_appinsights_webtest_crud.yaml | 404 + .../test_component_with_linked_storage.yaml | 112 +- .../test_component_with_linked_workspace.yaml | 471 +- ..._component_with_public_network_access.yaml | 285 +- .../recordings/test_connect_function.yaml | 281 +- .../recordings/test_connect_webapp.yaml | 498 +- .../latest/test_applicationinsights_mgmt.py | 47 +- .../azext_applicationinsights/util.py | 16 +- ..._application_insights_management_client.py | 3 + ..._application_insights_management_client.py | 5 +- .../v2018_05_01_preview/models/__init__.py | 20 + ...cation_insights_management_client_enums.py | 16 + .../v2018_05_01_preview/models/_models_py3.py | 399 + .../operations/__init__.py | 2 + .../operations/_web_tests_operations.py} | 386 +- src/application-insights/setup.py | 4 +- src/appservice-kube/HISTORY.rst | 22 + .../azext_appservice_kube/_constants.py | 69 - .../azext_appservice_kube/_create_util.py | 395 +- .../azext_appservice_kube/_help.py | 98 +- .../azext_appservice_kube/_params.py | 48 +- .../azext_appservice_kube/azext_metadata.json | 2 +- .../azext_appservice_kube/commands.py | 10 +- .../azext_appservice_kube/custom.py | 483 +- .../resources/LinuxFunctionsStacks.json | 432 + .../resources/WindowsFunctionsStacks.json | 375 + .../test_linux_webapp_quick_create_kube.yaml | 1498 ++ .../recordings/test_webapp_e2e_kube.yaml | 612 + .../test_webapp_elastic_scale_kube.yaml | 256 + ...scale_min_elastic_instance_count_kube.yaml | 890 + ...c_scale_prewarmed_instance_count_kube.yaml | 890 + .../test_win_webapp_quick_create_kube.yaml | 1480 ++ ..._win_webapp_quick_create_runtime_kube.yaml | 2523 +++ .../latest/test_appservice_kube_scenario.py | 71 +- src/appservice-kube/setup.py | 8 +- .../tests/latest/preparers.py | 2 +- src/attestation/setup.py | 2 +- .../tests/latest/test_authV2_scenario.py | 2 +- src/authV2/setup.py | 2 +- src/automation/setup.py | 2 +- src/azure-firewall/setup.py | 2 +- .../tests/latest/preparers.py | 2 +- .../tests/latest/test_blockchain_scenario.py | 2 +- src/blockchain/setup.py | 2 +- .../tests/latest/test_blueprint_scenario.py | 2 +- src/blueprint/setup.py | 2 +- src/cli-translator/setup.py | 2 +- src/cloudservice/setup.py | 2 +- .../tests/latest/test_codespaces_scenario.py | 2 +- src/codespaces/setup.py | 2 +- src/communication/HISTORY.rst | 7 + src/communication/README.md | 19 + .../azext_communication/__init__.py | 28 +- .../manual/_client_factory.py | 26 + .../azext_communication/manual/_help.py | 55 + .../azext_communication/manual/_params.py | 14 + .../azext_communication/manual/_validators.py | 17 + .../azext_communication/manual/commands.py | 22 + .../azext_communication/manual/custom.py | 36 + .../tests/latest/preparers.py | 66 + .../tests/latest/recording_processors.py | 147 + .../recordings/test_issue_access_token.yaml | 54 + .../test_issue_access_token_with_id.yaml | 104 + .../recordings/test_list_phonenumbers.yaml | 373 + .../latest/recordings/test_send_sms.yaml | 54 + .../recordings/test_show_phonenumbers.yaml | 51 + .../test_communication_identity_scenario.py | 47 + ...test_communication_phonenumber_scenario.py | 55 + .../test_communication_sms_scenarios.py | 50 + .../azext_communication/tests/latest/utils.py | 106 + src/communication/setup.py | 7 +- src/confidentialledger/HISTORY.rst | 8 + src/confidentialledger/README.md | 39 + .../azext_confidentialledger/__init__.py | 53 + .../azext_confidentialledger/_help.py | 20 + .../azext_confidentialledger/action.py | 20 + .../azext_metadata.json | 4 + .../azext_confidentialledger/custom.py | 20 + .../generated/__init__.py | 12 + .../generated/_client_factory.py | 20 + .../generated/_help.py | 145 + .../generated/_params.py | 74 + .../generated/_validators.py} | 4 - .../generated/action.py | 88 + .../generated/commands.py | 37 + .../generated/custom.py | 98 + .../manual/__init__.py | 12 + .../tests/__init__.py | 116 + .../tests/latest/__init__.py | 12 + .../tests/latest/example_steps.py | 128 + .../test_confidentialledger_Scenario.yaml | 1168 + .../test_confidentialledger_scenario.py | 93 + ...st_confidentialledger_scenario_coverage.md | 8 + .../vendored_sdks/__init__.py | 12 + .../confidentialledger}/__init__.py | 4 +- .../_confidential_ledger.py} | 30 +- .../confidentialledger/_configuration.py | 70 + .../confidentialledger}/aio/__init__.py | 4 +- .../aio/_confidential_ledger.py} | 30 +- .../confidentialledger/aio/_configuration.py | 66 + .../aio/operations/__init__.py | 17 + .../_confidential_ledger_operations.py} | 65 +- .../aio/operations/_ledger_operations.py | 626 + .../aio/operations/_operations.py | 107 + .../confidentialledger/models/__init__.py | 77 + .../models/_confidential_ledger_enums.py} | 36 +- .../confidentialledger/models/_models.py | 560 + .../confidentialledger/models/_models_py3.py | 612 + .../confidentialledger/operations/__init__.py | 17 + .../_confidential_ledger_operations.py} | 63 +- .../operations/_ledger_operations.py | 639 + .../operations/_operations.py | 112 + .../confidentialledger}/py.typed | 0 src/confidentialledger/gen.zip | Bin 0 -> 9212 bytes src/confidentialledger/report.md | 130 + src/confidentialledger/setup.cfg | 1 + src/confidentialledger/setup.py | 58 + .../tests/latest/test_confluent_scenario.py | 2 +- .../latest/test_confluent_term_accept_flow.py | 2 +- src/confluent/setup.py | 2 +- src/connectedk8s/HISTORY.rst | 20 + .../azext_connectedk8s/_constants.py | 10 +- .../azext_connectedk8s/_params.py | 2 +- src/connectedk8s/azext_connectedk8s/_utils.py | 1 + .../azext_connectedk8s/azext_metadata.json | 5 +- src/connectedk8s/azext_connectedk8s/custom.py | 76 +- .../latest/test_connectedk8s_scenario.py | 2 +- src/connectedk8s/setup.py | 4 +- src/connectedmachine/setup.py | 2 +- src/connectedvmware/HISTORY.rst | 6 + .../azext_connectedvmware/custom.py | 28 +- .../recordings/test_connectedvmware.yaml | 10488 ++++++++- .../latest/test_connectedvmware_scenario.py | 234 +- src/connectedvmware/setup.py | 4 +- .../latest/test_connection_monitor_preview.py | 2 +- src/connection-monitor-preview/setup.py | 2 +- src/cosmosdb-preview/HISTORY.rst | 24 + src/cosmosdb-preview/README.md | 129 +- .../azext_cosmosdb_preview/_client_factory.py | 52 +- .../azext_cosmosdb_preview/_help.py | 359 +- .../azext_cosmosdb_preview/_params.py | 223 +- .../azext_cosmosdb_preview/_validators.py | 176 + .../azext_cosmosdb_preview/actions.py | 109 +- .../azext_cosmosdb_preview/commands.py | 137 +- .../azext_cosmosdb_preview/custom.py | 835 +- ...mosdb_gremlin_account_restore_command.yaml | 3508 +++ ..._gremlin_account_restore_using_create.yaml | 3318 +++ ...est_cosmosdb_gremlin_graph_backupinfo.yaml | 1973 ++ ..._cosmosdb_gremlin_restorable_commands.yaml | 1387 ++ .../recordings/test_cosmosdb_mongo_role.yaml | 2846 +++ ...smosdb_mongodb_collection_backupinfo.yaml} | 3970 ++-- ...est_cosmosdb_sql_container_backupinfo.yaml | 1831 ++ ...osmosdb_table_account_restore_command.yaml | 3290 +++ ...db_table_account_restore_using_create.yaml | 3415 +++ .../test_cosmosdb_table_backupinfo.yaml | 1608 ++ ...st_cosmosdb_table_restorable_commands.yaml | 1195 + ...cassandra_cluster_without_datacenters.yaml | 1946 +- .../test_managed_cassandra_verify_lists.yaml | 8345 ++++--- .../test_cosmosdb-cassandrami_scenario.py | 2 +- .../latest/test_cosmosdb-graph_scenario.py | 53 - .../latest/test_cosmosdb-pitr_scenario.py | 528 + .../test_cosmosdb_mogodb_rbac_scenario.py | 208 + .../azure_mgmt_cosmosdb/__init__.py | 9 +- .../azure_mgmt_cosmosdb/_configuration.py | 21 +- .../_cosmos_db_management_client.py | 276 +- .../azure_mgmt_cosmosdb/_metadata.json | 140 + .../azure_mgmt_cosmosdb/_patch.py | 31 + .../azure_mgmt_cosmosdb/_vendor.py | 27 + .../azure_mgmt_cosmosdb/_version.py | 2 +- .../azure_mgmt_cosmosdb/aio/__init__.py | 5 + .../azure_mgmt_cosmosdb/aio/_configuration.py | 8 +- .../aio/_cosmos_db_management_client.py | 269 +- .../azure_mgmt_cosmosdb/aio/_patch.py | 31 + .../aio/operations/__init__.py | 24 +- .../_cassandra_clusters_operations.py | 820 +- .../_cassandra_data_centers_operations.py | 286 +- .../_cassandra_resources_operations.py | 1412 +- .../aio/operations/_collection_operations.py | 181 +- .../_collection_partition_operations.py | 134 +- ..._collection_partition_region_operations.py | 74 +- .../_collection_region_operations.py | 68 +- .../_data_transfer_jobs_operations.py | 240 + .../_database_account_region_operations.py | 62 +- .../_database_accounts_operations.py | 886 +- .../aio/operations/_database_operations.py | 172 +- .../operations/_graph_resources_operations.py | 222 +- .../_gremlin_resources_operations.py | 1066 +- .../aio/operations/_locations_operations.py | 157 + .../_mongo_db_resources_operations.py | 1789 +- .../_notebook_workspaces_operations.py | 385 +- .../aio/operations/_operations.py | 45 +- .../_partition_key_range_id_operations.py | 74 +- ...artition_key_range_id_region_operations.py | 77 +- .../aio/operations/_percentile_operations.py | 65 +- .../_percentile_source_target_operations.py | 71 +- .../_percentile_target_operations.py | 68 +- ...private_endpoint_connections_operations.py | 230 +- .../_private_link_resources_operations.py | 95 +- ...restorable_database_accounts_operations.py | 137 +- ...restorable_gremlin_databases_operations.py | 125 + .../_restorable_gremlin_graphs_operations.py | 139 + ...restorable_gremlin_resources_operations.py | 135 + ...storable_mongodb_collections_operations.py | 76 +- ...restorable_mongodb_databases_operations.py | 62 +- ...restorable_mongodb_resources_operations.py | 70 +- .../_restorable_sql_containers_operations.py | 78 +- .../_restorable_sql_databases_operations.py | 62 +- .../_restorable_sql_resources_operations.py | 70 +- .../_restorable_table_resources_operations.py | 134 + .../_restorable_tables_operations.py | 134 + .../aio/operations/_service_operations.py | 224 +- .../operations/_sql_resources_operations.py | 2427 +-- .../operations/_table_resources_operations.py | 575 +- .../azure_mgmt_cosmosdb/models/__init__.py | 817 +- .../_cosmos_db_management_client_enums.py | 132 +- .../azure_mgmt_cosmosdb/models/_models.py | 2270 +- .../azure_mgmt_cosmosdb/models/_models_py3.py | 7942 +++++-- .../operations/__init__.py | 24 +- .../_cassandra_clusters_operations.py | 1400 +- .../_cassandra_data_centers_operations.py | 593 +- .../_cassandra_resources_operations.py | 2831 ++- .../operations/_collection_operations.py | 356 +- .../_collection_partition_operations.py | 250 +- ..._collection_partition_region_operations.py | 143 +- .../_collection_region_operations.py | 140 +- .../_data_transfer_jobs_operations.py | 359 + .../_database_account_region_operations.py | 126 +- .../_database_accounts_operations.py | 1793 +- .../operations/_database_operations.py | 335 +- .../operations/_graph_resources_operations.py | 448 +- .../_gremlin_resources_operations.py | 2051 +- .../operations/_locations_operations.py | 222 + .../_mongo_db_resources_operations.py | 3079 ++- .../_notebook_workspaces_operations.py | 783 +- .../operations/_operations.py | 83 +- .../_partition_key_range_id_operations.py | 143 +- ...artition_key_range_id_region_operations.py | 150 +- .../operations/_percentile_operations.py | 122 +- .../_percentile_source_target_operations.py | 136 +- .../_percentile_target_operations.py | 129 +- ...private_endpoint_connections_operations.py | 462 +- .../_private_link_resources_operations.py | 195 +- ...restorable_database_accounts_operations.py | 268 +- ...restorable_gremlin_databases_operations.py | 161 + .../_restorable_gremlin_graphs_operations.py | 185 + ...restorable_gremlin_resources_operations.py | 178 + ...storable_mongodb_collections_operations.py | 143 +- ...restorable_mongodb_databases_operations.py | 117 +- ...restorable_mongodb_resources_operations.py | 136 +- .../_restorable_sql_containers_operations.py | 149 +- .../_restorable_sql_databases_operations.py | 117 +- .../_restorable_sql_resources_operations.py | 136 +- .../_restorable_table_resources_operations.py | 177 + .../_restorable_tables_operations.py | 176 + .../operations/_service_operations.py | 456 +- .../operations/_sql_resources_operations.py | 4765 ++-- .../operations/_table_resources_operations.py | 1079 +- .../azure_mgmt_cosmosdb}/py.typed | 0 src/cosmosdb-preview/linter_exclusions.yml | 8 + src/cosmosdb-preview/setup.py | 4 +- .../tests/latest/preparers.py | 2 +- .../latest/test_costmanagement_scenario.py | 2 +- src/costmanagement/setup.py | 2 +- src/custom-providers/setup.py | 2 +- src/databox/setup.py | 2 +- src/databricks/HISTORY.rst | 4 + .../azext_databricks/_client_factory.py | 4 +- src/databricks/azext_databricks/_params.py | 4 + src/databricks/azext_databricks/custom.py | 4 + .../latest/recordings/test_databricks.yaml | 1429 +- .../latest/recordings/test_databricks_v1.yaml | 986 + .../test_databricks_vnet_peering.yaml | 844 +- .../tests/latest/test_databricks_scenario.py | 26 +- .../vendored_sdks/databricks/__init__.py | 4 +- .../_azure_databricks_management_client.py} | 57 +- .../databricks/_configuration.py | 7 +- .../vendored_sdks/databricks}/_metadata.json | 22 +- .../vendored_sdks/databricks/_version.py | 2 +- .../vendored_sdks/databricks/aio/__init__.py | 4 +- .../_azure_databricks_management_client.py} | 57 +- .../databricks/aio/_configuration.py | 7 +- .../databricks/aio/operations/__init__.py | 8 +- .../databricks/aio/operations/_operations.py | 10 +- ...private_endpoint_connections_operations.py | 442 + .../_private_link_resources_operations.py | 184 + .../operations/_vnet_peering_operations.py | 38 +- .../aio/operations/_workspaces_operations.py | 70 +- .../databricks/models/__init__.py | 53 +- ...ure_databricks_management_client_enums.py} | 52 + .../databricks/models/_models.py | 589 +- .../databricks/models/_models_py3.py | 645 +- .../databricks/operations/__init__.py | 8 +- .../databricks/operations/_operations.py | 8 +- ...private_endpoint_connections_operations.py | 285 +- .../_private_link_resources_operations.py} | 78 +- .../operations/_vnet_peering_operations.py | 33 +- .../operations/_workspaces_operations.py | 52 +- .../vendored_sdks/databricks/py.typed | 1 + src/databricks/setup.py | 4 +- .../tests/latest/test_datadog_scenario.py | 2 +- src/datadog/setup.py | 2 +- src/datafactory/setup.py | 2 +- src/datamigration/HISTORY.rst | 14 + src/datamigration/README.md | 152 + .../azext_datamigration/__init__.py | 53 + .../azext_datamigration/_help.py | 20 + .../azext_datamigration/action.py | 20 + .../azext_datamigration/azext_metadata.json | 4 + .../azext_datamigration/custom.py | 20 + .../azext_datamigration/generated/__init__.py | 12 + .../generated/_client_factory.py | 28 + .../azext_datamigration/generated/_help.py | 346 + .../azext_datamigration/generated/_params.py | 188 + .../generated/_validators.py} | 4 - .../azext_datamigration/generated/action.py | 131 + .../azext_datamigration/generated/commands.py | 79 + .../azext_datamigration/generated/custom.py | 313 + .../azext_datamigration/manual/__init__.py | 12 + .../azext_datamigration/manual/_help.py | 185 + .../azext_datamigration/manual/_params.py | 48 + .../azext_datamigration/manual/commands.py | 21 + .../azext_datamigration/manual/custom.py | 175 + .../azext_datamigration/manual/helper.py | 276 + .../manual/tests/__init__.py | 12 + .../manual/tests/latest/__init__.py | 12 + .../latest/test_datamigration_scenario.py | 652 + .../azext_datamigration/tests/__init__.py | 116 + .../tests/latest/__init__.py | 12 + .../tests/latest/example_steps.py | 284 + .../test_datamigration_Scenario.yaml | 7474 +++++++ .../latest/test_datamigration_scenario.py | 119 + .../test_datamigration_scenario_coverage.md | 2 + .../vendored_sdks/__init__.py | 12 + .../vendored_sdks/datamigration/__init__.py | 19 + .../datamigration/_configuration.py | 71 + .../_data_migration_management_client.py | 120 + .../vendored_sdks/datamigration/_version.py | 9 + .../datamigration/aio/__init__.py | 10 + .../datamigration/aio/_configuration.py | 67 + .../aio/_data_migration_management_client.py | 114 + .../datamigration/aio/operations/__init__.py | 33 + .../_database_migrations_sql_mi_operations.py | 502 + .../_database_migrations_sql_vm_operations.py | 502 + .../aio/operations/_files_operations.py | 557 + .../aio/operations/_operations.py | 20 +- .../aio/operations/_projects_operations.py} | 457 +- .../operations/_resource_skus_operations.py | 111 + .../operations/_service_tasks_operations.py | 487 + .../aio/operations/_services_operations.py | 1140 + .../_sql_migration_services_operations.py | 932 + .../aio/operations/_tasks_operations.py | 587 + .../aio/operations/_usages_operations.py | 39 +- .../datamigration/models/__init__.py | 1060 + ..._data_migration_management_client_enums.py | 609 + .../datamigration/models/_models.py | 15102 +++++++++++++ .../datamigration/models/_models_py3.py | 16012 ++++++++++++++ .../datamigration/operations/__init__.py | 33 + .../_database_migrations_sql_mi_operations.py | 513 + .../_database_migrations_sql_vm_operations.py | 513 + .../operations/_files_operations.py | 568 + .../datamigration}/operations/_operations.py | 20 +- .../operations/_projects_operations.py} | 414 +- .../operations/_resource_skus_operations.py | 116 + .../operations/_service_tasks_operations.py | 497 + .../operations/_services_operations.py | 1161 + .../_sql_migration_services_operations.py | 950 + .../operations/_tasks_operations.py | 598 + .../operations/_usages_operations.py | 39 +- .../vendored_sdks/datamigration/py.typed | 1 + src/datamigration/report.md | 361 + src/datamigration/setup.cfg | 1 + src/datamigration/setup.py | 58 + src/dataprotection/setup.py | 2 +- src/datashare/HISTORY.rst | 31 +- src/datashare/README.md | 422 +- src/datashare/azext_datashare/__init__.py | 52 +- src/datashare/azext_datashare/_help.py | 28 +- src/datashare/azext_datashare/action.py | 24 +- .../azext_datashare/azext_metadata.json | 6 +- src/datashare/azext_datashare/custom.py | 20 + .../generated/_client_factory.py | 44 +- .../azext_datashare/generated/_help.py | 867 + .../azext_datashare/generated/_params.py | 485 + .../azext_datashare/generated/_validators.py | 9 + .../azext_datashare/generated/action.py | 608 + .../azext_datashare/generated/commands.py | 215 + .../azext_datashare/generated/custom.py | 764 + src/datashare/azext_datashare/manual/_help.py | 625 - .../azext_datashare/manual/_params.py | 333 - .../azext_datashare/manual/commands.py | 137 - .../azext_datashare/manual/custom.py | 520 - .../azext_datashare/tests/__init__.py | 104 + .../tests/latest/example_steps.py | 766 + .../latest/recordings/test_datashare.yaml | 3193 --- .../recordings/test_datashare_azcli.yaml | 3948 ++++ ...o.py => test_datashare_scenario_manual.py} | 1273 +- .../azext_datashare/vendored_sdks/__init__.py | 2 +- .../vendored_sdks/datashare/__init__.py | 9 + .../vendored_sdks/datashare/_configuration.py | 22 +- .../_data_share_management_client.py | 117 +- .../vendored_sdks/datashare/_version.py | 9 + .../vendored_sdks/datashare/aio/__init__.py | 2 +- ...nfiguration_async.py => _configuration.py} | 22 +- .../aio/_data_share_management_client.py | 124 + .../_data_share_management_client_async.py | 113 - .../datashare/aio/operations/__init__.py | 37 + .../_accounts_operations.py} | 461 +- .../_consumer_invitations_operations.py} | 232 +- .../_consumer_source_data_sets_operations.py} | 57 +- .../_data_set_mappings_operations.py} | 151 +- .../_data_sets_operations.py} | 212 +- .../_email_registrations_operations.py | 161 + .../_invitations_operations.py} | 169 +- .../datashare/aio/operations/_operations.py | 107 + ...rovider_share_subscriptions_operations.py} | 361 +- .../_share_subscriptions_operations.py} | 977 +- .../_shares_operations.py} | 630 +- .../_synchronization_settings_operations.py} | 207 +- .../_triggers_operations.py} | 269 +- .../aio/operations_async/__init__.py | 35 - .../_operation_operations_async.py | 102 - .../datashare/models/__init__.py | 53 +- .../_data_share_management_client_enums.py | 246 +- .../vendored_sdks/datashare/models/_models.py | 1508 +- .../datashare/models/_models_py3.py | 1312 +- .../datashare/operations/__init__.py | 50 +- ..._operations.py => _accounts_operations.py} | 465 +- ...py => _consumer_invitations_operations.py} | 242 +- ... _consumer_source_data_sets_operations.py} | 65 +- ...ns.py => _data_set_mappings_operations.py} | 159 +- ...operations.py => _data_sets_operations.py} | 214 +- .../_email_registrations_operations.py | 167 + ...erations.py => _invitations_operations.py} | 177 +- .../operations/_operation_operations.py | 103 - .../datashare/operations/_operations.py | 112 + ...rovider_share_subscriptions_operations.py} | 366 +- ....py => _share_subscriptions_operations.py} | 987 +- ...re_operations.py => _shares_operations.py} | 638 +- ...> _synchronization_settings_operations.py} | 211 +- ..._operations.py => _triggers_operations.py} | 271 +- .../vendored_sdks/datashare/py.typed | 1 + src/datashare/linter_exclusions.yml | 134 + src/datashare/report.md | 1448 +- src/datashare/setup.cfg | 1 + src/datashare/setup.py | 115 +- src/db-up/setup.py | 2 +- src/desktopvirtualization/setup.py | 2 +- src/dev-spaces/setup.py | 2 +- .../azext_diskpool/tests/latest/preparers.py | 2 +- src/diskpool/setup.py | 2 +- src/dms-preview/setup.py | 2 +- .../manual/tests/latest/preparers.py | 2 +- src/dnc/azext_dnc/tests/latest/preparers.py | 2 +- src/dnc/setup.py | 2 +- src/edgeorder/HISTORY.rst | 8 + src/edgeorder/README.md | 111 + src/edgeorder/azext_edgeorder/__init__.py | 53 + src/edgeorder/azext_edgeorder/_help.py | 20 + src/edgeorder/azext_edgeorder/action.py | 20 + .../azext_edgeorder/azext_metadata.json | 4 + src/edgeorder/azext_edgeorder/custom.py | 20 + .../azext_edgeorder/generated/__init__.py | 12 + .../generated/_client_factory.py | 28 + .../azext_edgeorder/generated/_help.py | 396 + .../azext_edgeorder/generated/_params.py | 186 + .../azext_edgeorder/generated/_validators.py | 9 + .../azext_edgeorder/generated/action.py | 297 + .../azext_edgeorder/generated/commands.py | 83 + .../azext_edgeorder/generated/custom.py | 266 + .../azext_edgeorder/manual/__init__.py | 12 + src/edgeorder/azext_edgeorder/manual/_help.py | 410 + .../azext_edgeorder/manual/_params.py | 23 + .../azext_edgeorder/manual/action.py | 291 + .../azext_edgeorder/tests/__init__.py | 116 + .../azext_edgeorder/tests/latest/__init__.py | 12 + .../test_edgeorder_address_crud.yaml | 433 + .../recordings/test_edgeorder_list.yaml | 815 + .../recordings/test_edgeorder_order_crud.yaml | 3706 ++++ .../tests/latest/test_edgeorder_commands.py | 220 + .../azext_edgeorder/vendored_sdks/__init__.py | 12 + .../vendored_sdks/edgeorder/__init__.py | 19 + .../edgeorder}/_configuration.py | 13 +- .../_edge_order_management_client.py | 81 + .../vendored_sdks/edgeorder/_version.py | 9 + .../vendored_sdks/edgeorder/aio/__init__.py | 10 + .../edgeorder/aio/_configuration.py | 67 + .../aio/_edge_order_management_client.py} | 44 +- .../edgeorder/aio/operations/__init__.py | 19 + .../aio/operations/_addresses_operations.py | 204 + ...edge_order_management_client_operations.py | 1459 ++ .../aio/operations/_order_items_operations.py | 220 + .../aio/operations/_order_operations.py | 192 + .../edgeorder/models/__init__.py | 279 + .../_edge_order_management_client_enums.py | 239 + .../vendored_sdks/edgeorder/models/_models.py | 2909 +++ .../edgeorder/models/_models_py3.py | 3041 +++ .../edgeorder/operations/__init__.py | 19 + .../operations/_addresses_operations.py | 210 + ...edge_order_management_client_operations.py | 1485 ++ .../operations/_order_items_operations.py | 226 + .../edgeorder/operations/_order_operations.py | 198 + .../vendored_sdks/edgeorder/py.typed | 1 + src/edgeorder/setup.cfg | 1 + src/edgeorder/setup.py | 58 + src/elastic/setup.py | 2 +- src/enterprise-edge/HISTORY.rst | 12 + src/enterprise-edge/README.rst | 5 + .../azext_enterprise_edge/__init__.py | 29 + .../azext_enterprise_edge/_help.py | 28 + .../azext_enterprise_edge/_params.py | 22 + .../azext_enterprise_edge/azext_metadata.json | 4 + .../azext_enterprise_edge/commands.py | 13 + .../azext_enterprise_edge/custom.py | 102 + .../azext_enterprise_edge/tests/__init__.py | 5 + .../tests/latest/__init__.py | 5 + .../latest/test_enterprise-edge_scenario.py} | 15 +- src/enterprise-edge/setup.cfg | 0 src/enterprise-edge/setup.py | 56 + src/eventgrid/setup.py | 2 +- src/express-route-cross-connection/setup.py | 2 +- src/footprint/setup.py | 2 +- src/front-door/setup.py | 2 +- src/functionapp/setup.py | 2 +- src/guestconfig/setup.py | 2 +- src/hack/setup.py | 2 +- .../test_hardwaresecuritymodules_scenario.py | 2 +- src/hardware-security-modules/setup.py | 2 +- src/healthbot/setup.py | 2 +- .../tests/latest/preparers.py | 2 +- src/healthcareapis/setup.py | 2 +- .../tests/latest/test_hpc_cache_scenario.py | 2 +- src/hpc-cache/setup.py | 2 +- src/image-copy/HISTORY.rst | 4 + .../azext_imagecopy/create_target.py | 8 +- src/image-copy/azext_imagecopy/custom.py | 13 +- .../latest/recordings/test_image_copy.yaml | 834 +- .../tests/latest/test_image_copy_commands.py | 13 +- src/image-copy/setup.py | 4 +- src/image-gallery/setup.py | 2 +- src/import-export/setup.py | 2 +- src/index.json | 7645 +++++-- src/init/HISTORY.rst | 8 + src/init/README.rst | 5 + src/init/azext_init/__init__.py | 29 + src/init/azext_init/_bundles.py | 60 + src/init/azext_init/_configs.py | 124 + src/init/azext_init/_help.py | 13 + .../azext_init}/_params.py | 17 +- src/init/azext_init/_text.py | 77 + src/init/azext_init/_utils.py | 82 + src/init/azext_init/azext_metadata.json | 4 + src/init/azext_init/commands.py | 10 + src/init/azext_init/custom.py | 202 + src/init/azext_init/tests/__init__.py | 5 + src/init/azext_init/tests/latest/__init__.py | 5 + src/init/setup.cfg | 0 src/init/setup.py | 58 + src/interactive/setup.py | 2 +- .../latest/test_internet-analyzer_scenario.py | 2 +- src/internet-analyzer/setup.py | 2 +- .../tests/latest/test_ip_group_scenario.py | 2 +- src/ip-group/setup.py | 2 +- src/k8s-configuration/HISTORY.rst | 16 + .../azext_k8s_configuration/__init__.py | 12 +- .../_client_factory.py | 32 +- .../azext_k8s_configuration/_help.py | 153 +- .../azext_k8s_configuration/_params.py | 489 +- .../azext_k8s_configuration/action.py | 31 +- .../azext_k8s_configuration/commands.py | 118 +- .../azext_k8s_configuration/confirm.py | 6 +- .../azext_k8s_configuration/consts.py | 178 +- .../azext_k8s_configuration/custom.py | 127 - .../azext_k8s_configuration/format.py | 91 +- .../providers/FluxConfigurationProvider.py | 1389 +- .../SourceControlConfigurationProvider.py | 265 +- .../azext_k8s_configuration/utils.py | 73 +- .../azext_k8s_configuration/validators.py | 146 +- .../_source_control_configuration_client.py | 34 + .../_source_control_configuration_client.py | 34 + .../v2021_11_01_preview/models/_models.py | 8 +- .../v2021_11_01_preview/models/_models_py3.py | 14 +- .../v2022_01_01_preview/__init__.py | 19 + .../v2022_01_01_preview/_configuration.py | 71 + .../_source_control_configuration_client.py | 134 + .../v2022_01_01_preview/_version.py | 9 + .../v2022_01_01_preview/aio/__init__.py | 10 + .../v2022_01_01_preview/aio/_configuration.py | 67 + .../_source_control_configuration_client.py | 127 + .../aio/operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 22 +- .../_cluster_extension_types_operations.py | 17 +- .../_extension_type_versions_operations.py | 6 +- .../aio/operations/_extensions_operations.py | 48 +- ...flux_config_operation_status_operations.py | 118 + .../_flux_configurations_operations.py | 643 + .../_location_extension_types_operations.py | 6 +- .../_operation_status_operations.py | 164 +- .../aio/operations/_operations.py | 105 + ...ource_control_configurations_operations.py | 420 + .../v2022_01_01_preview/models/__init__.py | 181 + .../v2022_01_01_preview/models/_models.py | 1836 ++ .../v2022_01_01_preview/models/_models_py3.py | 2028 ++ ...urce_control_configuration_client_enums.py | 146 + .../operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 22 +- .../_cluster_extension_types_operations.py | 17 +- .../_extension_type_versions_operations.py | 6 +- .../operations/_extensions_operations.py | 48 +- ...lux_config_operation_status_operations.py} | 64 +- .../_flux_configurations_operations.py | 655 + .../_location_extension_types_operations.py | 6 +- .../_operation_status_operations.py | 166 +- .../operations/_operations.py | 9 +- ...ource_control_configurations_operations.py | 62 +- src/k8s-configuration/setup.py | 42 +- src/k8s-extension/HISTORY.rst | 16 + .../azext_k8s_extension/consts.py | 18 +- .../azext_k8s_extension/custom.py | 359 +- .../partner_extensions/AzureMLKubernetes.py | 70 +- .../partner_extensions/DefaultExtension.py | 70 +- .../partner_extensions/OpenServiceMesh.py | 4 +- .../PartnerExtensionModel.py | 50 +- .../latest/recordings/test_k8s_extension.yaml | 636 +- .../latest/test_k8s_extension_scenario.py | 31 +- .../azext_k8s_extension/utils.py | 43 + .../vendored_sdks/__init__.py | 3 - .../vendored_sdks/_configuration.py | 16 +- .../_source_control_configuration_client.py | 377 +- .../vendored_sdks/_version.py | 2 +- .../vendored_sdks/aio/_configuration.py | 18 +- .../_source_control_configuration_client.py | 383 +- .../vendored_sdks/aio/operations/__init__.py | 6 +- .../aio/operations/_operations.py | 10 +- ...ource_control_configurations_operations.py | 56 +- .../vendored_sdks/models.py | 8 + .../vendored_sdks/models/__init__.py | 86 - .../vendored_sdks/models/_models.py | 737 - .../v2020_07_01_preview/__init__.py | 18 + .../v2020_07_01_preview/_configuration.py | 68 + .../v2020_07_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 103 + .../v2020_07_01_preview/_vendor.py | 27 + .../v2020_07_01_preview/_version.py | 9 + .../v2020_07_01_preview/aio/__init__.py | 15 + .../v2020_07_01_preview/aio/_configuration.py | 67 + .../v2020_07_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 100 + .../aio/operations/__init__.py | 17 + .../aio/operations/_extensions_operations.py | 419 + .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 405 + .../v2020_07_01_preview/models/__init__.py | 77 + .../v2020_07_01_preview/models/_models_py3.py | 1076 + ...urce_control_configuration_client_enums.py | 87 + .../operations/__init__.py | 17 + .../operations/_extensions_operations.py | 642 + .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 578 + .../v2020_10_01_preview/__init__.py | 18 + .../v2020_10_01_preview/_configuration.py | 68 + .../v2020_10_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 99 + .../v2020_10_01_preview/_vendor.py | 27 + .../v2020_10_01_preview/_version.py | 9 + .../v2020_10_01_preview/aio/__init__.py | 15 + .../v2020_10_01_preview/aio/_configuration.py | 67 + .../v2020_10_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 96 + .../aio/operations/__init__.py | 15 + .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 405 + .../v2020_10_01_preview/models/__init__.py | 55 + .../v2020_10_01_preview/models/_models_py3.py | 650 + ...urce_control_configuration_client_enums.py | 63 + .../operations/__init__.py | 15 + .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 578 + .../vendored_sdks/v2021_03_01/__init__.py | 18 + .../v2021_03_01/_configuration.py | 68 + .../vendored_sdks/v2021_03_01/_patch.py | 31 + .../_source_control_configuration_client.py | 98 + .../vendored_sdks/v2021_03_01/_vendor.py | 27 + .../vendored_sdks/v2021_03_01/_version.py | 9 + .../vendored_sdks/v2021_03_01/aio/__init__.py | 15 + .../v2021_03_01/aio/_configuration.py | 67 + .../vendored_sdks/v2021_03_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 95 + .../v2021_03_01/aio/operations/__init__.py | 15 + .../v2021_03_01/aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 403 + .../v2021_03_01/models/__init__.py | 57 + .../v2021_03_01/models/_models_py3.py | 646 + ...urce_control_configuration_client_enums.py | 72 + .../v2021_03_01/operations/__init__.py | 15 + .../v2021_03_01/operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 576 + .../v2021_05_01_preview/__init__.py | 18 + .../v2021_05_01_preview/_configuration.py | 68 + .../v2021_05_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 122 + .../v2021_05_01_preview/_vendor.py | 27 + .../v2021_05_01_preview/_version.py | 9 + .../v2021_05_01_preview/aio/__init__.py | 15 + .../v2021_05_01_preview/aio/_configuration.py | 67 + .../v2021_05_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 119 + .../aio/operations/__init__.py | 27 + .../_cluster_extension_type_operations.py | 111 + .../_cluster_extension_types_operations.py | 128 + .../_extension_type_versions_operations.py | 123 + .../aio/operations/_extensions_operations.py | 471 + .../_location_extension_types_operations.py | 117 + .../_operation_status_operations.py | 206 + .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 405 + .../v2021_05_01_preview/models/__init__.py | 95 + .../v2021_05_01_preview/models/_models_py3.py | 1363 ++ ...urce_control_configuration_client_enums.py | 103 + .../operations/__init__.py | 27 + .../_cluster_extension_type_operations.py | 154 + .../_cluster_extension_types_operations.py | 166 + .../_extension_type_versions_operations.py | 159 + .../operations/_extensions_operations.py | 647 + .../_location_extension_types_operations.py | 151 + .../_operation_status_operations.py | 289 + .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 578 + .../vendored_sdks/v2021_09_01/__init__.py | 18 + .../v2021_09_01/_configuration.py | 68 + .../vendored_sdks/v2021_09_01/_patch.py | 31 + .../_source_control_configuration_client.py | 101 + .../vendored_sdks/v2021_09_01/_vendor.py | 27 + .../vendored_sdks/v2021_09_01/_version.py | 9 + .../vendored_sdks/v2021_09_01/aio/__init__.py | 15 + .../v2021_09_01/aio/_configuration.py | 67 + .../vendored_sdks/v2021_09_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 98 + .../aio}/operations/__init__.py | 0 .../aio/operations/_extensions_operations.py | 609 + .../_operation_status_operations.py | 206 + .../v2021_09_01/aio/operations/_operations.py | 112 + .../v2021_09_01/models/__init__.py | 65 + .../{ => v2021_09_01}/models/_models_py3.py | 374 +- ...urce_control_configuration_client_enums.py | 50 + .../v2021_09_01/operations/__init__.py | 17 + .../operations/_extensions_operations.py | 834 + .../_operation_status_operations.py | 289 + .../v2021_09_01/operations/_operations.py | 138 + .../v2021_11_01_preview/__init__.py | 18 + .../v2021_11_01_preview/_configuration.py | 68 + .../v2021_11_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 130 + .../v2021_11_01_preview/_vendor.py | 27 + .../v2021_11_01_preview/_version.py | 9 + .../v2021_11_01_preview/aio/__init__.py | 15 + .../v2021_11_01_preview/aio/_configuration.py | 67 + .../v2021_11_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 127 + .../aio/operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 112 + .../_cluster_extension_types_operations.py | 135 + .../_extension_type_versions_operations.py | 123 + .../aio/operations/_extensions_operations.py | 610 + ...flux_config_operation_status_operations.py | 116 + .../_flux_configurations_operations.py | 612 + .../_location_extension_types_operations.py | 117 + .../_operation_status_operations.py | 206 + .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 405 + .../v2021_11_01_preview/models/__init__.py | 127 + .../v2021_11_01_preview/models/_models_py3.py | 2210 ++ ...urce_control_configuration_client_enums.py | 130 + .../operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 155 + .../_cluster_extension_types_operations.py | 175 + .../_extension_type_versions_operations.py | 159 + .../operations/_extensions_operations.py | 835 + ...flux_config_operation_status_operations.py | 161 + .../_flux_configurations_operations.py | 839 + .../_location_extension_types_operations.py | 151 + .../_operation_status_operations.py | 289 + .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 578 + .../v2022_01_01_preview/__init__.py | 18 + .../v2022_01_01_preview/_configuration.py | 68 + .../v2022_01_01_preview/_patch.py | 31 + .../_source_control_configuration_client.py | 130 + .../v2022_01_01_preview/_vendor.py | 27 + .../v2022_01_01_preview/_version.py | 9 + .../v2022_01_01_preview/aio/__init__.py | 15 + .../v2022_01_01_preview/aio/_configuration.py | 67 + .../v2022_01_01_preview/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 127 + .../aio/operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 113 + .../_cluster_extension_types_operations.py | 136 + .../_extension_type_versions_operations.py | 123 + .../aio/operations/_extensions_operations.py | 615 + ...flux_config_operation_status_operations.py | 117 + .../_flux_configurations_operations.py | 617 + .../_location_extension_types_operations.py | 117 + .../_operation_status_operations.py | 208 + .../aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 409 + .../v2022_01_01_preview/models/__init__.py | 135 + .../v2022_01_01_preview/models/_models_py3.py | 2532 +++ ...urce_control_configuration_client_enums.py | 131 + .../operations/__init__.py | 31 + .../_cluster_extension_type_operations.py | 156 + .../_cluster_extension_types_operations.py | 176 + .../_extension_type_versions_operations.py | 159 + .../operations/_extensions_operations.py | 840 + ...flux_config_operation_status_operations.py | 162 + .../_flux_configurations_operations.py | 844 + .../_location_extension_types_operations.py | 151 + .../_operation_status_operations.py | 291 + .../operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 582 + .../vendored_sdks/v2022_03_01/__init__.py | 18 + .../v2022_03_01/_configuration.py | 68 + .../vendored_sdks/v2022_03_01/_patch.py | 31 + .../_source_control_configuration_client.py | 113 + .../vendored_sdks/v2022_03_01/_vendor.py | 27 + .../vendored_sdks/v2022_03_01/_version.py | 9 + .../vendored_sdks/v2022_03_01/aio/__init__.py | 15 + .../v2022_03_01/aio/_configuration.py | 67 + .../vendored_sdks/v2022_03_01/aio/_patch.py | 31 + .../_source_control_configuration_client.py | 110 + .../v2022_03_01/aio/operations/__init__.py | 23 + .../aio/operations/_extensions_operations.py | 604 + ...flux_config_operation_status_operations.py | 115 + .../_flux_configurations_operations.py | 607 + .../_operation_status_operations.py | 204 + .../v2022_03_01/aio/operations/_operations.py | 111 + ...ource_control_configurations_operations.py | 399 + .../v2022_03_01/models/__init__.py | 117 + .../v2022_03_01/models/_models_py3.py | 2263 ++ ...urce_control_configuration_client_enums.py | 121 + .../v2022_03_01/operations/__init__.py | 23 + .../operations/_extensions_operations.py | 829 + ...flux_config_operation_status_operations.py | 160 + .../_flux_configurations_operations.py | 834 + .../_operation_status_operations.py | 287 + .../v2022_03_01/operations/_operations.py | 137 + ...ource_control_configurations_operations.py | 572 + src/k8s-extension/setup.py | 39 +- src/k8sconfiguration/setup.py | 2 +- .../tests/latest/test_kusto_scenario.py | 2 +- .../tests/latest/test_kusto_scenario.py | 2 +- src/kusto/setup.py | 2 +- .../test_log_analytics_solution_scenario.py | 2 +- src/log-analytics-solution/setup.py | 2 +- src/log-analytics/setup.py | 2 +- src/logic/HISTORY.rst | 8 + .../tests/latest/recordings/test_logic.yaml | 280 +- .../tests/latest/test_logic_scenario.py | 2 - .../vendored_sdks/logic/models/__init__.py | 3 + src/logic/setup.py | 4 +- .../tests/latest/test_logz_commands.py | 4 +- src/logz/setup.py | 2 +- src/maintenance/setup.py | 2 +- src/managementpartner/setup.py | 2 +- src/mesh/setup.py | 2 +- .../tests/latest/recording_processors.py | 4 +- src/mixed-reality/setup.py | 2 +- src/monitor-control-service/setup.py | 2 +- src/netappfiles-preview/setup.py | 2 +- src/network-manager/HISTORY.rst | 10 + .../azext_network_manager/_client_factory.py | 36 +- .../azext_network_manager/_help.py | 228 +- .../azext_network_manager/_params.py | 148 +- .../azext_network_manager/commands.py | 60 +- .../azext_network_manager/custom.py | 261 +- .../tests/latest/preparers.py | 2 +- ...rk_manager_admin_rule_collection_crud.yaml | 235 +- .../test_network_manager_admin_rule_crud.yaml | 307 +- ...t_network_manager_connect_config_crud.yaml | 241 +- ...twork_manager_connection_subscription.yaml | 395 + .../recordings/test_network_manager_crud.yaml | 44 +- .../test_network_manager_group_crud.yaml | 137 +- .../test_network_manager_list_queries.yaml | 225 +- ...test_network_manager_scope_connection.yaml | 398 + ...rk_manager_security_admin_config_crud.yaml | 131 +- ...st_network_manager_static_member_crud.yaml | 487 + .../tests/latest/test_network_scenario.py | 220 +- .../vendored_sdks/__init__.py | 9 +- .../vendored_sdks/_configuration.py | 21 +- .../vendored_sdks/_metadata.json | 121 - .../_network_management_client.py | 217 +- .../vendored_sdks/_patch.py | 31 + .../vendored_sdks/_vendor.py | 27 + .../vendored_sdks/aio/__init__.py | 5 + .../vendored_sdks/aio/_configuration.py | 8 +- .../aio/_network_management_client.py | 204 +- .../vendored_sdks/aio/_patch.py | 31 + .../vendored_sdks/aio/operations/__init__.py | 26 +- ..._connectivity_configurations_operations.py | 107 - .../_admin_rule_collections_operations.py | 213 +- .../aio/operations/_admin_rules_operations.py | 213 +- ..._connectivity_configurations_operations.py | 191 +- ..._connectivity_configurations_operations.py | 107 - .../_effective_virtual_networks_operations.py | 130 +- ..._effective_virtual_networks_operations.py} | 79 +- ..._network_manager_connections_operations.py | 290 + .../operations/_network_groups_operations.py | 207 +- .../_network_management_client_operations.py | 324 + .../_network_manager_commits_operations.py | 53 +- ...rk_manager_deployment_status_operations.py | 54 +- ...fective_security_admin_rules_operations.py | 107 - .../_network_managers_operations.py | 295 +- .../_scope_connections_operations.py | 308 + ...ecurity_admin_configurations_operations.py | 203 +- ...security_user_configurations_operations.py | 203 +- .../operations/_static_members_operations.py | 325 + ..._network_manager_connections_operations.py | 274 + .../_user_rule_collections_operations.py | 213 +- .../aio/operations/_user_rules_operations.py | 213 +- .../vendored_sdks/models/__init__.py | 200 +- .../vendored_sdks/models/_models.py | 2959 --- .../vendored_sdks/models/_models_py3.py | 2520 ++- .../_network_management_client_enums.py | 76 +- .../vendored_sdks/operations/__init__.py | 26 +- ..._connectivity_configurations_operations.py | 112 - ..._active_security_admin_rules_operations.py | 112 - .../_admin_rule_collections_operations.py | 458 +- .../operations/_admin_rules_operations.py | 471 +- ..._connectivity_configurations_operations.py | 417 +- ..._connectivity_configurations_operations.py | 112 - .../_effective_virtual_networks_operations.py | 209 +- ...t_effective_virtual_networks_operations.py | 157 + ..._network_manager_connections_operations.py | 438 + .../operations/_network_groups_operations.py | 438 +- .../_network_management_client_operations.py | 547 + .../_network_manager_commits_operations.py | 121 +- ...rk_manager_deployment_status_operations.py | 122 +- ...fective_security_admin_rules_operations.py | 112 - .../_network_managers_operations.py | 608 +- .../_scope_connections_operations.py | 472 + ...ecurity_admin_configurations_operations.py | 432 +- ...security_user_configurations_operations.py | 432 +- .../operations/_static_members_operations.py | 497 + ..._network_manager_connections_operations.py | 422 + .../_user_rule_collections_operations.py | 458 +- .../operations/_user_rules_operations.py | 471 +- src/network-manager/setup.py | 4 +- src/next/setup.py | 2 +- .../latest/test_notificationhubs_scenario.py | 2 +- src/notification-hub/setup.py | 2 +- src/offazure/setup.py | 2 +- .../azext_peering/tests/latest/preparers.py | 2 +- .../tests/latest/test_peering_scenario.py | 2 +- src/peering/setup.py | 2 +- .../azext_portal/tests/latest/preparers.py | 2 +- .../tests/latest/test_portal_scenario.py | 2 +- src/portal/setup.py | 2 +- src/powerbidedicated/setup.py | 2 +- .../tests/latest/example_steps.py | 2 +- src/providerhub/setup.py | 2 +- src/purview/setup.py | 2 +- src/quantum/HISTORY.rst | 16 + src/quantum/azext_quantum/__init__.py | 2 +- src/quantum/azext_quantum/commands.py | 14 +- src/quantum/azext_quantum/operations/job.py | 4 + .../create-workspace-and-assign-role.json | 150 + .../azext_quantum/operations/workspace.py | 74 +- .../tests/latest/test_quantum_jobs.py | 2 +- .../tests/latest/test_quantum_targets.py | 2 +- .../tests/latest/test_quantum_workspace.py | 17 +- .../azext_quantum/tests/latest/utils.py | 2 +- .../vendored_sdks/azure_quantum/__init__.py | 9 +- .../azure_quantum/_configuration.py | 5 +- .../vendored_sdks/azure_quantum/_patch.py | 31 + .../azure_quantum/_quantum_client.py | 92 +- .../vendored_sdks/azure_quantum/_vendor.py | 27 + .../azure_quantum/aio/__init__.py | 5 + .../azure_quantum/aio/_configuration.py | 5 +- .../vendored_sdks/azure_quantum/aio/_patch.py | 31 + .../azure_quantum/aio/_quantum_client.py | 92 +- .../aio/operations/_jobs_operations.py | 241 +- .../aio/operations/_providers_operations.py | 64 +- .../aio/operations/_quotas_operations.py | 63 +- .../aio/operations/_storage_operations.py | 56 +- .../azure_quantum/models/__init__.py | 11 + .../azure_quantum/models/_models.py | 359 +- .../azure_quantum/models/_models_py3.py | 378 +- .../models/_quantum_client_enums.py | 40 +- .../operations/_jobs_operations.py | 411 +- .../operations/_providers_operations.py | 96 +- .../operations/_quotas_operations.py | 96 +- .../operations/_storage_operations.py | 94 +- src/quantum/eng/Generate-DataPlane-Client.ps1 | 76 + src/quantum/setup.py | 6 +- src/quota/HISTORY.rst | 8 + src/quota/README.md | 112 + src/quota/azext_quota/__init__.py | 53 + src/quota/azext_quota/_help.py | 20 + src/quota/azext_quota/action.py | 20 + src/quota/azext_quota/azext_metadata.json | 4 + src/quota/azext_quota/custom.py | 20 + src/quota/azext_quota/generated/__init__.py | 12 + .../azext_quota/generated/_client_factory.py | 33 + src/quota/azext_quota/generated/_help.py | 207 + src/quota/azext_quota/generated/_params.py | 74 + .../azext_quota/generated/_validators.py | 9 + src/quota/azext_quota/generated/action.py | 56 + src/quota/azext_quota/generated/commands.py | 65 + src/quota/azext_quota/generated/custom.py | 127 + src/quota/azext_quota/manual/__init__.py | 12 + src/quota/azext_quota/tests/__init__.py | 116 + .../azext_quota/tests/latest/__init__.py | 12 + .../latest/recordings/test_quota_crud.yaml | 1290 ++ .../tests/latest/test_quota_scenario.py | 53 + .../azext_quota/vendored_sdks/__init__.py | 12 + .../vendored_sdks/quota}/__init__.py | 4 +- .../quota/_azure_quota_extension_api.py | 82 + .../vendored_sdks/quota/_configuration.py | 65 + .../vendored_sdks/quota}/aio/__init__.py | 4 +- .../quota/aio/_azure_quota_extension_api.py | 76 + .../vendored_sdks/quota/aio/_configuration.py | 61 + .../quota/aio/operations}/__init__.py | 16 +- .../_quota_operation_operations.py} | 37 +- .../quota/aio/operations/_quota_operations.py | 473 + .../_quota_request_status_operations.py | 207 + .../aio/operations/_usages_operations.py | 184 + .../vendored_sdks/quota/models/__init__.py | 102 + .../_azure_quota_extension_api_enums.py | 57 + .../vendored_sdks/quota/models/_models.py | 1017 + .../vendored_sdks/quota/models/_models_py3.py | 1099 + .../quota/operations/__init__.py | 19 + .../operations/_quota_operation_operations.py | 111 + .../quota/operations/_quota_operations.py | 473 + .../_quota_request_status_operations.py | 209 + .../quota/operations/_usages_operations.py | 190 + .../azext_quota/vendored_sdks/quota/py.typed | 1 + src/quota/gen.zip | Bin 0 -> 13129 bytes src/quota/report.md | 201 + src/quota/setup.cfg | 1 + src/quota/setup.py | 58 + src/rdbms-connect/HISTORY.rst | 8 + .../azext_rdbms_connect/azext_metadata.json | 1 - .../latest/test_rdbms-connect_scenario.py | 2 +- src/rdbms-connect/setup.py | 4 +- src/redisenterprise/setup.py | 2 +- .../latest/test_resourcegraph_commands.py | 2 +- src/resource-graph/setup.py | 2 +- src/resource-mover/HISTORY.rst | 5 + .../azext_resource_mover/__init__.py | 21 +- .../azext_resource_mover/_help.py | 20 + .../azext_resource_mover/action.py | 7 +- .../azext_resource_mover/custom.py | 7 +- .../azext_resource_mover/generated/_help.py | 12 +- .../azext_resource_mover/generated/_params.py | 2 +- .../azext_resource_mover/generated/action.py | 30 +- .../generated/commands.py | 64 +- .../azext_resource_mover/generated/custom.py | 78 +- .../azext_resource_mover/manual/_help.py | 5 +- .../azext_resource_mover/manual/custom.py | 78 +- ...st_resourcemover_movecollection_basic.yaml | 297 +- ...test_resourcemover_movecollection_e2e.yaml | 1153 +- ...test_resourcemover_moveresource_basic.yaml | 712 +- .../latest/test_resourcemover_scenarios.py | 101 +- .../resourcemover/_configuration.py | 2 +- .../resourcemover/aio/_configuration.py | 2 +- .../_move_collections_operations.py | 26 +- .../operations/_move_resources_operations.py | 8 +- .../_operations_discovery_operations.py | 2 +- .../_unresolved_dependencies_operations.py | 2 +- .../resourcemover/models/__init__.py | 5 + .../resourcemover/models/_models.py | 91 + .../resourcemover/models/_models_py3.py | 109 + .../_resource_mover_service_api_enums.py | 9 + .../_move_collections_operations.py | 26 +- .../operations/_move_resources_operations.py | 8 +- .../_operations_discovery_operations.py | 2 +- .../_unresolved_dependencies_operations.py | 2 +- src/resource-mover/report.md | 15 +- src/resource-mover/setup.py | 4 +- src/scheduled-query/HISTORY.rst | 4 + .../azext_scheduled_query/_actions.py | 4 +- .../recordings/test_scheduled_query.yaml | 715 +- .../azure_mgmt_scheduled_query/__init__.py | 9 +- .../_configuration.py | 8 +- .../_monitor_management_client.py | 64 +- .../azure_mgmt_scheduled_query/_patch.py | 31 + .../azure_mgmt_scheduled_query/_vendor.py | 27 + .../aio/__init__.py | 5 + .../aio/_configuration.py | 8 +- .../aio/_monitor_management_client.py | 66 +- .../azure_mgmt_scheduled_query/aio/_patch.py | 31 + .../_scheduled_query_rules_operations.py | 273 +- .../models/_models.py | 484 +- .../models/_models_py3.py | 484 +- .../_monitor_management_client_enums.py | 31 +- .../_scheduled_query_rules_operations.py | 494 +- src/scheduled-query/setup.py | 4 +- .../tests/latest/test_sentinel_scenario.py | 2 +- src/securityinsight/setup.py | 2 +- .../latest/test_serialconsole_scenario.py | 2 +- src/serial-console/setup.py | 2 +- src/service_name.json | 41 +- src/spring-cloud/HISTORY.md | 28 + src/spring-cloud/README_CONTAINER.md | 33 + .../azext_spring_cloud/_app_factory.py | 112 + .../azext_spring_cloud/_app_validator.py | 132 + .../azext_spring_cloud/_build_service.py | 52 + .../_buildservices_factory.py | 198 + .../azext_spring_cloud/_client_factory.py | 7 + .../_deployment_deployable_factory.py | 159 + .../azext_spring_cloud/_deployment_factory.py | 187 + .../_deployment_source_factory.py | 159 + .../_deployment_uploadable_factory.py | 64 + src/spring-cloud/azext_spring_cloud/_help.py | 388 +- .../azext_spring_cloud/_log_stream.py | 16 + .../azext_spring_cloud/_params.py | 324 +- .../azext_spring_cloud/_tanzu_component.py | 63 + .../azext_spring_cloud/_transformers.py | 161 +- .../azext_spring_cloud/_util_enterprise.py | 18 + src/spring-cloud/azext_spring_cloud/_utils.py | 34 +- .../azext_spring_cloud/_validators.py | 79 +- .../_validators_enterprise.py | 227 + .../azext_spring_cloud/api_portal.py | 93 + src/spring-cloud/azext_spring_cloud/app.py | 408 + .../application_configuration_service.py | 221 + .../azext_spring_cloud/buildpack_binding.py | 180 + .../azext_spring_cloud/commands.py | 209 +- src/spring-cloud/azext_spring_cloud/custom.py | 894 +- .../azext_spring_cloud/gateway.py | 232 + .../azext_spring_cloud/service_registry.py | 64 + .../spring_cloud_instance.py | 171 + .../latest/files/build_service_builder.json | 16 + .../tests/latest/files/gateway_routes.json | 16 + .../tests/latest/files/test.jar | 1 + .../tests/latest/recordings/test_Builder.yaml | 772 + .../latest/recordings/test_api_portal.yaml | 1494 ++ .../latest/recordings/test_app_crud.yaml | 1828 ++ .../latest/recordings/test_app_crud_1.yaml | 1106 + .../recordings/test_app_deploy_container.yaml | 2253 ++ .../latest/recordings/test_app_i2a_tls.yaml | 2779 +++ ...est_application_configuration_service.yaml | 2130 ++ .../latest/recordings/test_asc_update.yaml | 16 +- .../latest/recordings/test_az_asc_create.yaml | 1263 ++ .../recordings/test_bind_cert_to_domain.yaml | 2880 ++- .../test_blue_green_deployment.yaml | 2090 ++ .../recordings/test_buildpack_binding.yaml | 1487 ++ .../test_create_asc_heavy_cases.yaml | 342 +- .../test_create_asc_with_ai_basic_case.yaml | 70 +- .../test_create_asc_without_ai_cases.yaml | 76 +- .../latest/recordings/test_deploy_app.yaml | 4073 ++++ .../tests/latest/recordings/test_gateway.yaml | 3323 +++ .../test_generate_deployment_dump.yaml | 18063 ++++++++++++++++ .../test_load_public_cert_to_app.yaml | 1679 +- .../recordings/test_persistent_storage.yaml | 148 +- .../recordings/test_service_registry.yaml | 636 + .../test_stop_and_start_service.yaml | 116 +- .../tests/latest/test_asc_api_portal.py | 75 + .../tests/latest/test_asc_app.py | 684 + .../latest/test_asc_app_insights_scenario.py | 11 + .../tests/latest/test_asc_app_scenario.py | 269 + .../tests/latest/test_asc_app_validator.py | 241 + ...t_asc_application_configuration_service.py | 58 + ...test_asc_build_service_builder_scenario.py | 53 + .../latest/test_asc_buildpack_binding.py | 75 + .../tests/latest/test_asc_create.py | 203 + .../tests/latest/test_asc_gateway.py | 116 + .../tests/latest/test_asc_scenario.py | 54 +- .../tests/latest/test_asc_service_registry.py | 33 + .../tests/latest/test_asc_validator.py | 51 +- .../_app_platform_management_client.py | 233 + .../aio/_app_platform_management_client.py | 233 + .../v2019_05_01_preview/models/_models.py | 4 + .../v2019_05_01_preview/models/_models_py3.py | 5 + .../appplatform/v2020_07_01/models/_models.py | 4 + .../v2020_07_01/models/_models_py3.py | 5 + .../v2020_11_01_preview/models/_models.py | 4 + .../v2020_11_01_preview/models/_models_py3.py | 5 + .../v2021_06_01_preview/models/_models.py | 14 +- .../v2021_06_01_preview/models/_models_py3.py | 15 +- .../v2022_01_01_preview/__init__.py | 19 + .../_app_platform_management_client.py | 199 + .../v2022_01_01_preview/_configuration.py | 71 + .../v2022_01_01_preview/_version.py | 9 + .../v2022_01_01_preview/aio/__init__.py | 10 + .../aio/_app_platform_management_client.py | 192 + .../v2022_01_01_preview/aio/_configuration.py | 67 + .../aio/operations/__init__.py | 57 + .../_api_portal_custom_domains_operations.py | 457 + .../aio/operations/_api_portals_operations.py | 505 + .../aio/operations/_apps_operations.py | 848 + .../aio/operations/_bindings_operations.py | 602 + .../_build_service_agent_pool_operations.py | 333 + .../_build_service_builder_operations.py | 456 + .../operations/_build_service_operations.py | 953 + .../_buildpack_binding_operations.py | 478 + .../operations/_certificates_operations.py | 437 + .../operations/_config_servers_operations.py | 489 + .../_configuration_services_operations.py | 571 + .../operations/_custom_domains_operations.py | 602 + .../aio/operations/_deployments_operations.py | 1524 ++ .../_gateway_custom_domains_operations.py | 457 + .../_gateway_route_configs_operations.py | 458 + .../aio/operations/_gateways_operations.py | 505 + .../_monitoring_settings_operations.py | 360 + .../aio/operations/_operations.py | 22 +- .../_runtime_versions_operations.py} | 35 +- .../_service_registries_operations.py | 424 + .../aio/operations/_services_operations.py | 1131 + .../aio/operations/_skus_operations.py | 24 +- .../aio/operations/_storages_operations.py | 437 + .../v2022_01_01_preview/models/__init__.py | 570 + .../_app_platform_management_client_enums.py | 283 + .../v2022_01_01_preview/models/_models.py | 5704 +++++ .../v2022_01_01_preview/models/_models_py3.py | 6230 ++++++ .../operations/__init__.py | 57 + .../_api_portal_custom_domains_operations.py | 467 + .../operations/_api_portals_operations.py | 516 + .../operations/_apps_operations.py | 864 + .../operations/_bindings_operations.py | 614 + .../_build_service_agent_pool_operations.py} | 262 +- .../_build_service_builder_operations.py | 466 + .../operations/_build_service_operations.py | 970 + .../_buildpack_binding_operations.py | 488 + .../operations/_certificates_operations.py | 447 + .../operations/_config_servers_operations.py | 500 + .../_configuration_services_operations.py} | 494 +- .../operations/_custom_domains_operations.py | 614 + .../operations/_deployments_operations.py} | 1671 +- .../_gateway_custom_domains_operations.py | 467 + .../_gateway_route_configs_operations.py | 468 + .../operations/_gateways_operations.py | 516 + .../_monitoring_settings_operations.py | 369 + .../operations/_operations.py | 22 +- .../_runtime_versions_operations.py} | 35 +- .../_service_registries_operations.py | 434 + .../operations/_services_operations.py} | 1052 +- .../operations/_skus_operations.py | 22 +- .../operations/_storages_operations.py | 447 + src/spring-cloud/setup.py | 4 +- src/ssh/HISTORY.md | 10 + src/ssh/azext_ssh/_params.py | 9 + src/ssh/azext_ssh/azext_metadata.json | 2 +- src/ssh/azext_ssh/custom.py | 131 +- src/ssh/azext_ssh/file_utils.py | 2 + src/ssh/azext_ssh/ip_utils.py | 2 +- src/ssh/azext_ssh/ssh_info.py | 95 + src/ssh/azext_ssh/ssh_utils.py | 269 +- src/ssh/azext_ssh/tests/latest/test_custom.py | 159 +- .../azext_ssh/tests/latest/test_ssh_info.py | 126 + .../azext_ssh/tests/latest/test_ssh_utils.py | 243 +- src/ssh/setup.py | 4 +- .../azext_stack_hci/tests/latest/preparers.py | 2 +- src/stack-hci/setup.py | 2 +- .../latest/test_storage_blob_scenarios.py | 2 +- src/storage-blob-preview/setup.py | 2 +- src/storage-preview/HISTORY.rst | 7 + .../azext_storage_preview/__init__.py | 10 +- .../azext_storage_preview/_client_factory.py | 8 +- .../azext_storage_preview/_help.py | 73 + .../azext_storage_preview/_params.py | 425 +- .../azext_storage_preview/_validators.py | 89 +- .../azext_storage_preview/commands.py | 90 +- .../operations/account.py | 455 +- .../azext_storage_preview/profiles.py | 4 +- .../tests/latest/__init__.py | 5 +- .../latest/blob_inventory_policy_no_type.json | 1 + ...storage_account_blob_inventory_policy.yaml | 623 - ..._account_file_delete_retention_policy.yaml | 88 +- ...test_storage_account_file_secured_smb.yaml | 196 - ...storage_account_file_smb_multichannel.yaml | 68 +- .../test_storage_account_local_user.yaml | 498 + .../test_storage_account_network_rules.yaml | 402 +- ...storage_account_resource_access_rules.yaml | 184 +- .../recordings/test_storage_account_sftp.yaml | 411 + ...ount_with_files_adds_sam_account_name.yaml | 308 + .../tests/latest/test_azcopy_scenarios.py | 1 - .../latest/test_storage_account_scenarios.py | 270 +- .../latest/test_storage_adls_scenarios.py | 12 +- .../tests/latest/test_storage_validators.py | 22 +- .../_storage_management_client.py | 159 - .../aio/_storage_management_client.py | 153 - .../v2020_08_01_preview/models/__init__.py | 495 - .../v2020_08_01_preview/models/_models_py3.py | 5535 ----- .../operations/_blob_containers_operations.py | 1099 - .../operations/_blob_services_operations.py | 263 - .../_encryption_scopes_operations.py | 357 - .../operations/_file_services_operations.py | 246 - .../operations/_file_shares_operations.py | 531 - .../_management_policies_operations.py | 249 - ..._object_replication_policies_operations.py | 335 - ...private_endpoint_connections_operations.py | 333 - .../operations/_queue_operations.py | 425 - .../operations/_queue_services_operations.py | 246 - .../operations/_table_services_operations.py | 246 - .../__init__.py | 0 .../_configuration.py | 11 +- .../_storage_management_client.py | 352 +- .../_version.py | 2 +- .../models.py | 2 +- .../storage_management_client.py | 0 .../v2021_08_01/__init__.py | 18 + .../v2021_08_01/_configuration.py | 68 + .../azure_mgmt_storage/v2021_08_01/_patch.py | 31 + .../v2021_08_01/_storage_management_client.py | 156 + .../azure_mgmt_storage/v2021_08_01/_vendor.py | 27 + .../v2021_08_01/_version.py | 9 + .../v2021_08_01/aio/__init__.py | 15 + .../v2021_08_01}/aio/_configuration.py | 11 +- .../v2021_08_01/aio/_patch.py | 31 + .../aio/_storage_management_client.py | 156 + .../v2021_08_01/aio}/operations/__init__.py | 2 + .../operations/_blob_containers_operations.py | 786 +- .../_blob_inventory_policies_operations.py | 217 +- .../operations/_blob_services_operations.py | 159 +- .../_deleted_accounts_operations.py | 99 +- .../_encryption_scopes_operations.py | 219 +- .../operations/_file_services_operations.py | 154 +- .../aio/operations/_file_shares_operations.py | 451 +- .../aio/operations/_local_users_operations.py | 404 + .../_management_policies_operations.py | 147 +- ..._object_replication_policies_operations.py | 226 +- .../v2021_08_01/aio/operations/_operations.py | 109 + ...private_endpoint_connections_operations.py | 206 +- .../_private_link_resources_operations.py | 49 +- .../aio/operations/_queue_operations.py | 271 +- .../operations/_queue_services_operations.py | 150 +- .../aio/operations/_skus_operations.py | 112 + .../_storage_accounts_operations.py | 937 +- .../aio/operations/_table_operations.py | 243 +- .../operations/_table_services_operations.py | 150 +- .../aio/operations/_usages_operations.py | 117 + .../v2021_08_01/models/__init__.py | 433 + .../v2021_08_01}/models/_models.py | 1706 +- .../v2021_08_01/models/_models_py3.py | 8151 +++++++ .../_storage_management_client_enums.py | 226 +- .../v2021_08_01}/operations/__init__.py | 2 + .../operations/_blob_containers_operations.py | 1719 ++ .../_blob_inventory_policies_operations.py | 470 + .../operations/_blob_services_operations.py | 362 + .../_deleted_accounts_operations.py | 232 + .../_encryption_scopes_operations.py | 500 + .../operations/_file_services_operations.py | 342 + .../operations/_file_shares_operations.py | 908 + .../operations/_local_users_operations.py | 636 + .../_management_policies_operations.py | 346 + ..._object_replication_policies_operations.py | 474 + .../v2021_08_01/operations/_operations.py | 135 + ...private_endpoint_connections_operations.py | 466 + .../_private_link_resources_operations.py | 136 + .../operations/_queue_operations.py | 606 + .../operations/_queue_services_operations.py | 342 + .../operations/_skus_operations.py | 144 + .../_storage_accounts_operations.py | 1883 ++ .../operations/_table_operations.py | 548 + .../operations/_table_services_operations.py | 342 + .../operations/_usages_operations.py | 150 + .../version.py | 0 src/storage-preview/setup.py | 4 +- src/storagesync/setup.py | 2 +- src/stream-analytics/HISTORY.rst | 6 +- .../generated/_client_factory.py | 8 + .../azext_stream_analytics/generated/_help.py | 157 + .../generated/_params.py | 193 +- .../generated/action.py | 32 + .../generated/commands.py | 34 + .../generated/custom.py | 126 + .../azext_stream_analytics/manual/_help.py | 157 + .../latest/recordings/test_cluster_crud.yaml | 16007 ++++++++++++++ .../test_private_endpoint_crud.yaml | 6193 ++++++ .../latest/test_stream_analytics_commands.py | 79 +- .../_stream_analytics_management_client.py | 10 + .../_stream_analytics_management_client.py | 10 + .../aio/operations/__init__.py | 4 + .../aio/operations/_clusters_operations.py | 710 + .../_private_endpoints_operations.py | 387 + .../streamanalytics/models/__init__.py | 36 + .../streamanalytics/models/_models.py | 562 +- .../streamanalytics/models/_models_py3.py | 581 +- ...tream_analytics_management_client_enums.py | 31 + .../streamanalytics/operations/__init__.py | 4 + .../operations/_clusters_operations.py | 724 + .../_private_endpoints_operations.py} | 292 +- src/stream-analytics/setup.py | 4 +- src/subscription/setup.py | 2 +- .../tests/latest/test_support_scenario.py | 2 +- src/support/setup.py | 2 +- src/swiftlet/setup.py | 2 +- src/timeseriesinsights/setup.py | 2 +- src/virtual-network-tap/setup.py | 2 +- .../tests/latest/credential_replacer.py | 2 +- src/virtual-wan/setup.py | 2 +- src/vm-repair/HISTORY.rst | 14 +- src/vm-repair/azext_vm_repair/_validators.py | 2 +- src/vm-repair/azext_vm_repair/custom.py | 14 +- src/vm-repair/setup.py | 4 +- src/vmware/HISTORY.md | 4 + src/vmware/azext_vmware/_params.py | 2 +- .../recordings/test_vmware_datastores.yaml | 45 +- .../tests/latest/test_datastores_scenario.py | 4 + src/vmware/setup.py | 4 +- src/webapp/setup.py | 2 +- .../tests/latest/recording_processors.py | 4 +- .../latest/test_webpubsub_event_handler.py | 2 +- .../tests/latest/test_webpubsub_scenario.py | 2 +- src/webpubsub/setup.py | 2 +- testing/pipeline/k8s-custom-pipelines.yml | 58 +- .../pipeline/templates/build-extension.yml | 52 + testing/pipeline/templates/run-test.yml | 44 +- .../public/OpenServiceMesh.Tests.ps1 | 2 +- 1683 files changed, 512615 insertions(+), 125616 deletions(-) create mode 100644 src/account/azext_account/manual/__init__.py create mode 100644 src/account/azext_account/manual/_client_factory.py create mode 100644 src/account/azext_account/manual/commands.py create mode 100644 src/account/azext_account/manual/custom.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/_patch.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/_vendor.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/_version.py rename src/account/azext_account/vendored_sdks/subscription/aio/{_configuration_async.py => _configuration.py} (84%) create mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/_patch.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/_subscription_client.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/operations/__init__.py rename src/account/azext_account/vendored_sdks/subscription/aio/{operations_async/_alias_operations_async.py => operations/_alias_operations.py} (53%) rename src/account/azext_account/vendored_sdks/subscription/aio/{operations_async/_operation_operations_async.py => operations/_billing_account_operations.py} (52%) create mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/operations/_operations.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscription_operations.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscription_policy_operations.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscriptions_operations.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/operations/_tenants_operations.py delete mode 100644 src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_subscription_operations_async.py delete mode 100644 src/account/azext_account/vendored_sdks/subscription/models/_models.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/operations/_billing_account_operations.py delete mode 100644 src/account/azext_account/vendored_sdks/subscription/operations/_operation_operations.py delete mode 100644 src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operation_operations.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/operations/_subscription_policy_operations.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/operations/_subscriptions_operations.py delete mode 100644 src/account/azext_account/vendored_sdks/subscription/operations/_tenant_operations.py create mode 100644 src/account/azext_account/vendored_sdks/subscription/operations/_tenants_operations.py create mode 100644 src/aks-preview/azcli_aks_live_test/configs/cli_coverage_config.json create mode 100644 src/aks-preview/azcli_aks_live_test/configs/ext_coverage_config.json delete mode 100755 src/aks-preview/azcli_aks_live_test/scripts/test_cli_unit.sh delete mode 100755 src/aks-preview/azcli_aks_live_test/scripts/test_ext_unit.sh delete mode 100644 src/aks-preview/azcli_aks_live_test/scripts/test_raw_cases.sh create mode 100755 src/aks-preview/azcli_aks_live_test/scripts/test_unit.sh create mode 100644 src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-clean-up.yaml create mode 100644 src/aks-preview/azext_aks_preview/_podidentity.py create mode 100644 src/aks-preview/azext_aks_preview/deploymentyaml/__init__.py create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/data/motd.txt mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_confcom_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_openservicemesh.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_confcom_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_azurekeyvaultsecretsprovider.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_openservicemesh.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_all_disabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_confcom_enabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_openservicemesh_enabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_all_disabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_confcom_enabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_openservicemesh_enabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_all_disabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_with_confcom.yaml delete mode 100755 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_subnet_with_ingress_appgw_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_add_nodepool_with_motd.yaml create mode 100755 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_ipv6_count.yaml create mode 100755 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_outbound_ips.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad_enable_azure_rbac.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_nat_gateway_outbound.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_dualstack_with_default_network.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_fqdn_subdomain.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_nonaad_and_update_with_managed_aad.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon_helper_enabled.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_crg_id.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_default_network.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ephemeral_disk.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_gitops_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_managed_disk.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_aad_auth_msi.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_aad_auth_uai.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_legacy_auth.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_network_plugin_none.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_oidc_issuer_enabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_virtual_node_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_custom_kubelet_identity.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_gitops.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addons_confcom_addon.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_local_accounts.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_gitops.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addons_confcom_addon.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_monitoring_with_aad_auth_msi.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_monitoring_with_aad_auth_uai.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_workload_runtime.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml create mode 100755 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_update_taints_msi.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_pod_identity_usage.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster_with_addons.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_oidc_issuer_enabled.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_password.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_cluster.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_nodepool.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_nodepool.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_os_options.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_version.yaml mode change 100755 => 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/__init__.py mode change 100755 => 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.py mode change 100755 => 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_container_service_client.py mode change 100755 => 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_version.py mode change 100755 => 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/__init__.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_models.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_models_py3.py delete mode 100755 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_resolve_private_link_service_id_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/__init__.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/_configuration.py (86%) mode change 100755 => 100644 create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_container_service_client.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_patch.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_vendor.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/__init__.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/_configuration.py (91%) mode change 100755 => 100644 create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_container_service_client.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_patch.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/operations/__init__.py (100%) mode change 100755 => 100644 rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/operations/_agent_pools_operations.py (63%) mode change 100755 => 100644 rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/operations/_maintenance_configurations_operations.py (61%) mode change 100755 => 100644 rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/operations/_managed_clusters_operations.py (62%) mode change 100755 => 100644 create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_operations.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/operations/_private_endpoint_connections_operations.py (63%) mode change 100755 => 100644 rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/operations/_private_link_resources_operations.py (72%) mode change 100755 => 100644 rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/operations/_resolve_private_link_service_id_operations.py (66%) mode change 100755 => 100644 rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/aio/operations/_snapshots_operations.py (59%) mode change 100755 => 100644 create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/__init__.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/models/_container_service_client_enums.py (87%) mode change 100755 => 100644 create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/_models_py3.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/operations/__init__.py (100%) mode change 100755 => 100644 create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_agent_pools_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_maintenance_configurations_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_managed_clusters_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_private_endpoint_connections_operations.py rename src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/{v2021_09_01 => v2022_01_02_preview}/operations/_private_link_resources_operations.py (55%) mode change 100755 => 100644 create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_resolve_private_link_service_id_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_snapshots_operations.py delete mode 100644 src/alertsmanagement/azext_alertsmanagement/tests/latest/recordings/test_alertsmanagement_action_rule.yaml create mode 100644 src/alertsmanagement/azext_alertsmanagement/tests/latest/recordings/test_alertsmanagement_processing_rule.yaml create mode 100644 src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_version.py delete mode 100644 src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_paged_models.py delete mode 100644 src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_action_rules_operations.py rename src/{network-manager/azext_network_manager/vendored_sdks/operations/_network_security_perimeters_operations.py => alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_alert_processing_rules_operations.py} (53%) delete mode 100644 src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_smart_detector_alert_rules_operations.py create mode 100644 src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/py.typed create mode 100644 src/alertsmanagement/linter_exclusions.yml create mode 100644 src/alertsmanagement/report.md create mode 100644 src/application-insights/azext_applicationinsights/action.py create mode 100644 src/application-insights/azext_applicationinsights/tests/latest/recordings/test_appinsights_webtest_crud.yaml rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_snapshots_operations.py => application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_web_tests_operations.py} (62%) mode change 100755 => 100644 create mode 100644 src/appservice-kube/azext_appservice_kube/resources/LinuxFunctionsStacks.json create mode 100644 src/appservice-kube/azext_appservice_kube/resources/WindowsFunctionsStacks.json create mode 100644 src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_linux_webapp_quick_create_kube.yaml create mode 100644 src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_e2e_kube.yaml create mode 100644 src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_kube.yaml create mode 100644 src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_min_elastic_instance_count_kube.yaml create mode 100644 src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_prewarmed_instance_count_kube.yaml create mode 100644 src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_win_webapp_quick_create_kube.yaml create mode 100644 src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_win_webapp_quick_create_runtime_kube.yaml create mode 100644 src/communication/azext_communication/manual/_client_factory.py create mode 100644 src/communication/azext_communication/manual/_validators.py create mode 100644 src/communication/azext_communication/manual/commands.py create mode 100644 src/communication/azext_communication/manual/custom.py create mode 100644 src/communication/azext_communication/tests/latest/preparers.py create mode 100644 src/communication/azext_communication/tests/latest/recording_processors.py create mode 100644 src/communication/azext_communication/tests/latest/recordings/test_issue_access_token.yaml create mode 100644 src/communication/azext_communication/tests/latest/recordings/test_issue_access_token_with_id.yaml create mode 100644 src/communication/azext_communication/tests/latest/recordings/test_list_phonenumbers.yaml create mode 100644 src/communication/azext_communication/tests/latest/recordings/test_send_sms.yaml create mode 100644 src/communication/azext_communication/tests/latest/recordings/test_show_phonenumbers.yaml create mode 100644 src/communication/azext_communication/tests/latest/test_communication_identity_scenario.py create mode 100644 src/communication/azext_communication/tests/latest/test_communication_phonenumber_scenario.py create mode 100644 src/communication/azext_communication/tests/latest/test_communication_sms_scenarios.py create mode 100644 src/communication/azext_communication/tests/latest/utils.py create mode 100644 src/confidentialledger/HISTORY.rst create mode 100644 src/confidentialledger/README.md create mode 100644 src/confidentialledger/azext_confidentialledger/__init__.py create mode 100644 src/confidentialledger/azext_confidentialledger/_help.py create mode 100644 src/confidentialledger/azext_confidentialledger/action.py create mode 100644 src/confidentialledger/azext_confidentialledger/azext_metadata.json create mode 100644 src/confidentialledger/azext_confidentialledger/custom.py create mode 100644 src/confidentialledger/azext_confidentialledger/generated/__init__.py create mode 100644 src/confidentialledger/azext_confidentialledger/generated/_client_factory.py create mode 100644 src/confidentialledger/azext_confidentialledger/generated/_help.py create mode 100644 src/confidentialledger/azext_confidentialledger/generated/_params.py rename src/{account/azext_account/vendored_sdks/subscription/version.py => confidentialledger/azext_confidentialledger/generated/_validators.py} (92%) create mode 100644 src/confidentialledger/azext_confidentialledger/generated/action.py create mode 100644 src/confidentialledger/azext_confidentialledger/generated/commands.py create mode 100644 src/confidentialledger/azext_confidentialledger/generated/custom.py create mode 100644 src/confidentialledger/azext_confidentialledger/manual/__init__.py create mode 100644 src/confidentialledger/azext_confidentialledger/tests/__init__.py create mode 100644 src/confidentialledger/azext_confidentialledger/tests/latest/__init__.py create mode 100644 src/confidentialledger/azext_confidentialledger/tests/latest/example_steps.py create mode 100644 src/confidentialledger/azext_confidentialledger/tests/latest/recordings/test_confidentialledger_Scenario.yaml create mode 100644 src/confidentialledger/azext_confidentialledger/tests/latest/test_confidentialledger_scenario.py create mode 100644 src/confidentialledger/azext_confidentialledger/tests/latest/test_confidentialledger_scenario_coverage.md create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/__init__.py rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01 => confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger}/__init__.py (85%) mode change 100755 => 100644 rename src/{databricks/azext_databricks/vendored_sdks/databricks/_databricks_client.py => confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/_confidential_ledger.py} (71%) create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/_configuration.py rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01 => confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger}/aio/__init__.py (82%) mode change 100755 => 100644 rename src/{databricks/azext_databricks/vendored_sdks/databricks/aio/_databricks_client.py => confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/_confidential_ledger.py} (70%) create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/_configuration.py create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/__init__.py rename src/{network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_security_user_rules_operations.py => confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_confidential_ledger_operations.py} (51%) create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_ledger_operations.py create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_operations.py create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/__init__.py rename src/{k8s-extension/azext_k8s_extension/vendored_sdks/models/_source_control_configuration_client_enums.py => confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_confidential_ledger_enums.py} (68%) create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_models.py create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_models_py3.py create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/__init__.py rename src/{network-manager/azext_network_manager/vendored_sdks/operations/_active_security_user_rules_operations.py => confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_confidential_ledger_operations.py} (52%) create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_ledger_operations.py create mode 100644 src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_operations.py rename src/{account/azext_account/vendored_sdks/subscription => confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger}/py.typed (100%) create mode 100644 src/confidentialledger/gen.zip create mode 100644 src/confidentialledger/report.md create mode 100644 src/confidentialledger/setup.cfg create mode 100644 src/confidentialledger/setup.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_account_restore_command.yaml create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_account_restore_using_create.yaml create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_graph_backupinfo.yaml create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_restorable_commands.yaml create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongo_role.yaml rename src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/{test_cosmosdb_graph.yaml => test_cosmosdb_mongodb_collection_backupinfo.yaml} (52%) create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_container_backupinfo.yaml create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_account_restore_command.yaml create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_account_restore_using_create.yaml create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_backupinfo.yaml create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_restorable_commands.yaml delete mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-graph_scenario.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-pitr_scenario.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb_mogodb_rbac_scenario.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_metadata.json create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_patch.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_vendor.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_patch.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_data_transfer_jobs_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_locations_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_databases_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_graphs_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_table_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_tables_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_data_transfer_jobs_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_locations_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_databases_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_graphs_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_table_resources_operations.py create mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_tables_operations.py rename src/{network-manager/azext_network_manager/vendored_sdks => cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb}/py.typed (100%) create mode 100644 src/databricks/azext_databricks/tests/latest/recordings/test_databricks_v1.yaml rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/_container_service_client.py => databricks/azext_databricks/vendored_sdks/databricks/_azure_databricks_management_client.py} (61%) mode change 100755 => 100644 rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => databricks/azext_databricks/vendored_sdks/databricks}/_metadata.json (83%) rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/_container_service_client.py => databricks/azext_databricks/vendored_sdks/databricks/aio/_azure_databricks_management_client.py} (61%) mode change 100755 => 100644 create mode 100644 src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_private_endpoint_connections_operations.py create mode 100644 src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_private_link_resources_operations.py rename src/databricks/azext_databricks/vendored_sdks/databricks/models/{_databricks_client_enums.py => _azure_databricks_management_client_enums.py} (58%) rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01 => databricks/azext_databricks/vendored_sdks/databricks}/operations/_private_endpoint_connections_operations.py (53%) mode change 100755 => 100644 rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_deleted_accounts_operations.py => databricks/azext_databricks/vendored_sdks/databricks/operations/_private_link_resources_operations.py} (64%) create mode 100644 src/databricks/azext_databricks/vendored_sdks/databricks/py.typed create mode 100644 src/datamigration/HISTORY.rst create mode 100644 src/datamigration/README.md create mode 100644 src/datamigration/azext_datamigration/__init__.py create mode 100644 src/datamigration/azext_datamigration/_help.py create mode 100644 src/datamigration/azext_datamigration/action.py create mode 100644 src/datamigration/azext_datamigration/azext_metadata.json create mode 100644 src/datamigration/azext_datamigration/custom.py create mode 100644 src/datamigration/azext_datamigration/generated/__init__.py create mode 100644 src/datamigration/azext_datamigration/generated/_client_factory.py create mode 100644 src/datamigration/azext_datamigration/generated/_help.py create mode 100644 src/datamigration/azext_datamigration/generated/_params.py rename src/{alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/version.py => datamigration/azext_datamigration/generated/_validators.py} (92%) create mode 100644 src/datamigration/azext_datamigration/generated/action.py create mode 100644 src/datamigration/azext_datamigration/generated/commands.py create mode 100644 src/datamigration/azext_datamigration/generated/custom.py create mode 100644 src/datamigration/azext_datamigration/manual/__init__.py create mode 100644 src/datamigration/azext_datamigration/manual/_help.py create mode 100644 src/datamigration/azext_datamigration/manual/_params.py create mode 100644 src/datamigration/azext_datamigration/manual/commands.py create mode 100644 src/datamigration/azext_datamigration/manual/custom.py create mode 100644 src/datamigration/azext_datamigration/manual/helper.py create mode 100644 src/datamigration/azext_datamigration/manual/tests/__init__.py create mode 100644 src/datamigration/azext_datamigration/manual/tests/latest/__init__.py create mode 100644 src/datamigration/azext_datamigration/manual/tests/latest/test_datamigration_scenario.py create mode 100644 src/datamigration/azext_datamigration/tests/__init__.py create mode 100644 src/datamigration/azext_datamigration/tests/latest/__init__.py create mode 100644 src/datamigration/azext_datamigration/tests/latest/example_steps.py create mode 100644 src/datamigration/azext_datamigration/tests/latest/recordings/test_datamigration_Scenario.yaml create mode 100644 src/datamigration/azext_datamigration/tests/latest/test_datamigration_scenario.py create mode 100644 src/datamigration/azext_datamigration/tests/latest/test_datamigration_scenario_coverage.md create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/__init__.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/__init__.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/_configuration.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/_data_migration_management_client.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/_version.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/__init__.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/_configuration.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/_data_migration_management_client.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/__init__.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_database_migrations_sql_mi_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_database_migrations_sql_vm_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_files_operations.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => datamigration/azext_datamigration/vendored_sdks/datamigration}/aio/operations/_operations.py (87%) rename src/{network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_security_perimeters_operations.py => datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_projects_operations.py} (50%) create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_resource_skus_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_service_tasks_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_services_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_sql_migration_services_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_tasks_operations.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => datamigration/azext_datamigration/vendored_sdks/datamigration}/aio/operations/_usages_operations.py (76%) create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/__init__.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_data_migration_management_client_enums.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_models.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_models_py3.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/__init__.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_database_migrations_sql_mi_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_database_migrations_sql_vm_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_files_operations.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => datamigration/azext_datamigration/vendored_sdks/datamigration}/operations/_operations.py (86%) rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_table_operations.py => datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_projects_operations.py} (51%) create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_resource_skus_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_service_tasks_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_services_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_sql_migration_services_operations.py create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_tasks_operations.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => datamigration/azext_datamigration/vendored_sdks/datamigration}/operations/_usages_operations.py (76%) create mode 100644 src/datamigration/azext_datamigration/vendored_sdks/datamigration/py.typed create mode 100644 src/datamigration/report.md create mode 100644 src/datamigration/setup.cfg create mode 100644 src/datamigration/setup.py create mode 100644 src/datashare/azext_datashare/custom.py create mode 100644 src/datashare/azext_datashare/generated/_help.py create mode 100644 src/datashare/azext_datashare/generated/_params.py create mode 100644 src/datashare/azext_datashare/generated/_validators.py create mode 100644 src/datashare/azext_datashare/generated/action.py create mode 100644 src/datashare/azext_datashare/generated/commands.py create mode 100644 src/datashare/azext_datashare/generated/custom.py delete mode 100644 src/datashare/azext_datashare/manual/_help.py delete mode 100644 src/datashare/azext_datashare/manual/_params.py delete mode 100644 src/datashare/azext_datashare/manual/commands.py delete mode 100644 src/datashare/azext_datashare/manual/custom.py create mode 100644 src/datashare/azext_datashare/tests/latest/example_steps.py delete mode 100644 src/datashare/azext_datashare/tests/latest/recordings/test_datashare.yaml create mode 100644 src/datashare/azext_datashare/tests/latest/recordings/test_datashare_azcli.yaml rename src/datashare/azext_datashare/tests/latest/{test_datashare_scenario.py => test_datashare_scenario_manual.py} (67%) create mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/_version.py rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{_configuration_async.py => _configuration.py} (75%) create mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client.py delete mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client_async.py create mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/__init__.py rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_account_operations_async.py => operations/_accounts_operations.py} (60%) rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_consumer_invitation_operations_async.py => operations/_consumer_invitations_operations.py} (64%) rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_consumer_source_data_set_operations_async.py => operations/_consumer_source_data_sets_operations.py} (72%) rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_data_set_mapping_operations_async.py => operations/_data_set_mappings_operations.py} (74%) rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_data_set_operations_async.py => operations/_data_sets_operations.py} (65%) create mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_email_registrations_operations.py rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_invitation_operations_async.py => operations/_invitations_operations.py} (72%) create mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_operations.py rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_provider_share_subscription_operations_async.py => operations/_provider_share_subscriptions_operations.py} (55%) rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_share_subscription_operations_async.py => operations/_share_subscriptions_operations.py} (56%) rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_share_operations_async.py => operations/_shares_operations.py} (58%) rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_synchronization_setting_operations_async.py => operations/_synchronization_settings_operations.py} (67%) rename src/datashare/azext_datashare/vendored_sdks/datashare/aio/{operations_async/_trigger_operations_async.py => operations/_triggers_operations.py} (62%) delete mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/__init__.py delete mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_operation_operations_async.py rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_account_operations.py => _accounts_operations.py} (60%) rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_consumer_invitation_operations.py => _consumer_invitations_operations.py} (63%) rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_consumer_source_data_set_operations.py => _consumer_source_data_sets_operations.py} (69%) rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_data_set_mapping_operations.py => _data_set_mappings_operations.py} (73%) rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_data_set_operations.py => _data_sets_operations.py} (66%) create mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/operations/_email_registrations_operations.py rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_invitation_operations.py => _invitations_operations.py} (71%) delete mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operation_operations.py create mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operations.py rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_provider_share_subscription_operations.py => _provider_share_subscriptions_operations.py} (55%) rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_share_subscription_operations.py => _share_subscriptions_operations.py} (58%) rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_share_operations.py => _shares_operations.py} (58%) rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_synchronization_setting_operations.py => _synchronization_settings_operations.py} (67%) rename src/datashare/azext_datashare/vendored_sdks/datashare/operations/{_trigger_operations.py => _triggers_operations.py} (63%) create mode 100644 src/datashare/azext_datashare/vendored_sdks/datashare/py.typed create mode 100644 src/datashare/linter_exclusions.yml create mode 100644 src/edgeorder/HISTORY.rst create mode 100644 src/edgeorder/README.md create mode 100644 src/edgeorder/azext_edgeorder/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/_help.py create mode 100644 src/edgeorder/azext_edgeorder/action.py create mode 100644 src/edgeorder/azext_edgeorder/azext_metadata.json create mode 100644 src/edgeorder/azext_edgeorder/custom.py create mode 100644 src/edgeorder/azext_edgeorder/generated/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/generated/_client_factory.py create mode 100644 src/edgeorder/azext_edgeorder/generated/_help.py create mode 100644 src/edgeorder/azext_edgeorder/generated/_params.py create mode 100644 src/edgeorder/azext_edgeorder/generated/_validators.py create mode 100644 src/edgeorder/azext_edgeorder/generated/action.py create mode 100644 src/edgeorder/azext_edgeorder/generated/commands.py create mode 100644 src/edgeorder/azext_edgeorder/generated/custom.py create mode 100644 src/edgeorder/azext_edgeorder/manual/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/manual/_help.py create mode 100644 src/edgeorder/azext_edgeorder/manual/_params.py create mode 100644 src/edgeorder/azext_edgeorder/manual/action.py create mode 100644 src/edgeorder/azext_edgeorder/tests/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/tests/latest/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_address_crud.yaml create mode 100644 src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_list.yaml create mode 100644 src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_order_crud.yaml create mode 100644 src/edgeorder/azext_edgeorder/tests/latest/test_edgeorder_commands.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/__init__.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => edgeorder/azext_edgeorder/vendored_sdks/edgeorder}/_configuration.py (89%) create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_edge_order_management_client.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_version.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/_configuration.py rename src/{account/azext_account/vendored_sdks/subscription/aio/_subscription_client_async.py => edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/_edge_order_management_client.py} (62%) create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_addresses_operations.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_edge_order_management_client_operations.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_order_items_operations.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_order_operations.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_edge_order_management_client_enums.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_models.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_models_py3.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/__init__.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_addresses_operations.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_edge_order_management_client_operations.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_order_items_operations.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_order_operations.py create mode 100644 src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/py.typed create mode 100644 src/edgeorder/setup.cfg create mode 100644 src/edgeorder/setup.py create mode 100644 src/enterprise-edge/HISTORY.rst create mode 100644 src/enterprise-edge/README.rst create mode 100644 src/enterprise-edge/azext_enterprise_edge/__init__.py create mode 100644 src/enterprise-edge/azext_enterprise_edge/_help.py create mode 100644 src/enterprise-edge/azext_enterprise_edge/_params.py create mode 100644 src/enterprise-edge/azext_enterprise_edge/azext_metadata.json create mode 100644 src/enterprise-edge/azext_enterprise_edge/commands.py create mode 100644 src/enterprise-edge/azext_enterprise_edge/custom.py create mode 100644 src/enterprise-edge/azext_enterprise_edge/tests/__init__.py create mode 100644 src/enterprise-edge/azext_enterprise_edge/tests/latest/__init__.py rename src/{datashare/azext_datashare/manual/_validators.py => enterprise-edge/azext_enterprise_edge/tests/latest/test_enterprise-edge_scenario.py} (58%) create mode 100644 src/enterprise-edge/setup.cfg create mode 100644 src/enterprise-edge/setup.py create mode 100644 src/init/HISTORY.rst create mode 100644 src/init/README.rst create mode 100644 src/init/azext_init/__init__.py create mode 100644 src/init/azext_init/_bundles.py create mode 100644 src/init/azext_init/_configs.py create mode 100644 src/init/azext_init/_help.py rename src/{datashare/azext_datashare => init/azext_init}/_params.py (58%) create mode 100644 src/init/azext_init/_text.py create mode 100644 src/init/azext_init/_utils.py create mode 100644 src/init/azext_init/azext_metadata.json create mode 100644 src/init/azext_init/commands.py create mode 100644 src/init/azext_init/custom.py create mode 100644 src/init/azext_init/tests/__init__.py create mode 100644 src/init/azext_init/tests/latest/__init__.py create mode 100644 src/init/setup.cfg create mode 100644 src/init/setup.py delete mode 100644 src/k8s-configuration/azext_k8s_configuration/custom.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/__init__.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_configuration.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_version.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/__init__.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_configuration.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/aio/operations/_cluster_extension_type_operations.py (85%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/aio/operations/_cluster_extension_types_operations.py (87%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/aio/operations/_extension_type_versions_operations.py (96%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/aio/operations/_extensions_operations.py (96%) create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/aio/operations/_location_extension_types_operations.py (96%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/aio/operations/_operation_status_operations.py (95%) create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/__init__.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models_py3.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/__init__.py rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/operations/_cluster_extension_type_operations.py (85%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/operations/_cluster_extension_types_operations.py (87%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/operations/_extension_type_versions_operations.py (97%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/operations/_extensions_operations.py (96%) rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_private_link_resources_operations.py => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py} (57%) create mode 100644 src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/operations/_location_extension_types_operations.py (96%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/operations/_operation_status_operations.py (95%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/operations/_operations.py (95%) rename src/{k8s-extension/azext_k8s_extension/vendored_sdks => k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview}/operations/_source_control_configurations_operations.py (93%) create mode 100644 src/k8s-extension/azext_k8s_extension/utils.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/models.py delete mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/models/__init__.py delete mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_09_01/aio}/operations/__init__.py (100%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/__init__.py rename src/k8s-extension/azext_k8s_extension/vendored_sdks/{ => v2021_09_01}/models/_models_py3.py (60%) create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_vendor.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_version.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_configuration.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_patch.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_models_py3.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/__init__.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_extensions_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operations.py create mode 100644 src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py create mode 100644 src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connection_subscription.yaml create mode 100644 src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_scope_connection.yaml create mode 100644 src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_static_member_crud.yaml delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/_metadata.json create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/_patch.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/_vendor.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/_patch.py delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_connectivity_configurations_operations.py delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_effective_connectivity_configurations_operations.py rename src/network-manager/azext_network_manager/vendored_sdks/aio/operations/{_active_security_admin_rules_operations.py => _list_effective_virtual_networks_operations.py} (53%) create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_management_group_network_manager_connections_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_management_client_operations.py delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_effective_security_admin_rules_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_scope_connections_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_static_members_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_subscription_network_manager_connections_operations.py delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/models/_models.py delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_active_connectivity_configurations_operations.py delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_active_security_admin_rules_operations.py delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_effective_connectivity_configurations_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_list_effective_virtual_networks_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_management_group_network_manager_connections_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_network_management_client_operations.py delete mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_effective_security_admin_rules_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_scope_connections_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_static_members_operations.py create mode 100644 src/network-manager/azext_network_manager/vendored_sdks/operations/_subscription_network_manager_connections_operations.py create mode 100644 src/quantum/azext_quantum/operations/templates/create-workspace-and-assign-role.json create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/_patch.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/_vendor.py create mode 100644 src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_patch.py create mode 100644 src/quantum/eng/Generate-DataPlane-Client.ps1 create mode 100644 src/quota/HISTORY.rst create mode 100644 src/quota/README.md create mode 100644 src/quota/azext_quota/__init__.py create mode 100644 src/quota/azext_quota/_help.py create mode 100644 src/quota/azext_quota/action.py create mode 100644 src/quota/azext_quota/azext_metadata.json create mode 100644 src/quota/azext_quota/custom.py create mode 100644 src/quota/azext_quota/generated/__init__.py create mode 100644 src/quota/azext_quota/generated/_client_factory.py create mode 100644 src/quota/azext_quota/generated/_help.py create mode 100644 src/quota/azext_quota/generated/_params.py create mode 100644 src/quota/azext_quota/generated/_validators.py create mode 100644 src/quota/azext_quota/generated/action.py create mode 100644 src/quota/azext_quota/generated/commands.py create mode 100644 src/quota/azext_quota/generated/custom.py create mode 100644 src/quota/azext_quota/manual/__init__.py create mode 100644 src/quota/azext_quota/tests/__init__.py create mode 100644 src/quota/azext_quota/tests/latest/__init__.py create mode 100644 src/quota/azext_quota/tests/latest/recordings/test_quota_crud.yaml create mode 100644 src/quota/azext_quota/tests/latest/test_quota_scenario.py create mode 100644 src/quota/azext_quota/vendored_sdks/__init__.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => quota/azext_quota/vendored_sdks/quota}/__init__.py (84%) create mode 100644 src/quota/azext_quota/vendored_sdks/quota/_azure_quota_extension_api.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/_configuration.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => quota/azext_quota/vendored_sdks/quota}/aio/__init__.py (82%) create mode 100644 src/quota/azext_quota/vendored_sdks/quota/aio/_azure_quota_extension_api.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/aio/_configuration.py rename src/{account/azext_account/vendored_sdks/subscription/aio/operations_async => quota/azext_quota/vendored_sdks/quota/aio/operations}/__init__.py (57%) rename src/{account/azext_account/vendored_sdks/subscription/aio/operations_async/_tenant_operations_async.py => quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_operation_operations.py} (71%) create mode 100644 src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_operations.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_request_status_operations.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/aio/operations/_usages_operations.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/models/__init__.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/models/_azure_quota_extension_api_enums.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/models/_models.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/models/_models_py3.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/operations/__init__.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/operations/_quota_operation_operations.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/operations/_quota_operations.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/operations/_quota_request_status_operations.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/operations/_usages_operations.py create mode 100644 src/quota/azext_quota/vendored_sdks/quota/py.typed create mode 100644 src/quota/gen.zip create mode 100644 src/quota/report.md create mode 100644 src/quota/setup.cfg create mode 100644 src/quota/setup.py create mode 100644 src/resource-mover/azext_resource_mover/_help.py create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_patch.py create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_vendor.py create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_patch.py create mode 100644 src/spring-cloud/README_CONTAINER.md create mode 100644 src/spring-cloud/azext_spring_cloud/_app_factory.py create mode 100644 src/spring-cloud/azext_spring_cloud/_app_validator.py create mode 100644 src/spring-cloud/azext_spring_cloud/_build_service.py create mode 100644 src/spring-cloud/azext_spring_cloud/_buildservices_factory.py create mode 100644 src/spring-cloud/azext_spring_cloud/_deployment_deployable_factory.py create mode 100644 src/spring-cloud/azext_spring_cloud/_deployment_factory.py create mode 100644 src/spring-cloud/azext_spring_cloud/_deployment_source_factory.py create mode 100644 src/spring-cloud/azext_spring_cloud/_deployment_uploadable_factory.py create mode 100644 src/spring-cloud/azext_spring_cloud/_log_stream.py create mode 100644 src/spring-cloud/azext_spring_cloud/_tanzu_component.py create mode 100644 src/spring-cloud/azext_spring_cloud/_util_enterprise.py create mode 100644 src/spring-cloud/azext_spring_cloud/_validators_enterprise.py create mode 100644 src/spring-cloud/azext_spring_cloud/api_portal.py create mode 100644 src/spring-cloud/azext_spring_cloud/app.py create mode 100644 src/spring-cloud/azext_spring_cloud/application_configuration_service.py create mode 100644 src/spring-cloud/azext_spring_cloud/buildpack_binding.py create mode 100644 src/spring-cloud/azext_spring_cloud/gateway.py create mode 100644 src/spring-cloud/azext_spring_cloud/service_registry.py create mode 100644 src/spring-cloud/azext_spring_cloud/spring_cloud_instance.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/files/build_service_builder.json create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/files/gateway_routes.json create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/files/test.jar create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_Builder.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_api_portal.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud_1.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_deploy_container.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_i2a_tls.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_application_configuration_service.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_az_asc_create.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_buildpack_binding.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_deploy_app.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_gateway.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_generate_deployment_dump.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_service_registry.yaml create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_api_portal.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_scenario.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_validator.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_application_configuration_service.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_build_service_builder_scenario.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_buildpack_binding.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_create.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_gateway.py create mode 100644 src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_service_registry.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_app_platform_management_client.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_configuration.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_version.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/_app_platform_management_client.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/_configuration.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_api_portal_custom_domains_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_api_portals_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_apps_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_bindings_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_agent_pool_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_builder_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_buildpack_binding_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_certificates_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_config_servers_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_configuration_services_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_custom_domains_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_deployments_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateway_custom_domains_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateway_route_configs_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateways_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_monitoring_settings_operations.py rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01 => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview}/aio/operations/_operations.py (85%) mode change 100755 => 100644 rename src/{network-manager/azext_network_manager/vendored_sdks/aio/operations/_perimeter_associable_resource_types_operations.py => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_runtime_versions_operations.py} (68%) create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_service_registries_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_services_operations.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview}/aio/operations/_skus_operations.py (85%) create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_storages_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_app_platform_management_client_enums.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_models.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_models_py3.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/__init__.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_api_portal_custom_domains_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_api_portals_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_apps_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_bindings_operations.py rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_maintenance_configurations_operations.py => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_agent_pool_operations.py} (50%) mode change 100755 => 100644 create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_builder_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_buildpack_binding_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_certificates_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_config_servers_operations.py rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_agent_pools_operations.py => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_configuration_services_operations.py} (55%) mode change 100755 => 100644 create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_custom_domains_operations.py rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_managed_clusters_operations.py => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_deployments_operations.py} (52%) mode change 100755 => 100644 create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateway_custom_domains_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateway_route_configs_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateways_operations.py create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_monitoring_settings_operations.py rename src/{aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01 => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview}/operations/_operations.py (84%) mode change 100755 => 100644 rename src/{network-manager/azext_network_manager/vendored_sdks/operations/_perimeter_associable_resource_types_operations.py => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_runtime_versions_operations.py} (69%) create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_service_registries_operations.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_storage_accounts_operations.py => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_services_operations.py} (55%) rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview => spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview}/operations/_skus_operations.py (84%) create mode 100644 src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_storages_operations.py create mode 100644 src/ssh/azext_ssh/ssh_info.py create mode 100644 src/ssh/azext_ssh/tests/latest/test_ssh_info.py delete mode 100644 src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_blob_inventory_policy.yaml delete mode 100644 src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_secured_smb.yaml create mode 100644 src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_local_user.yaml create mode 100644 src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_sftp.yaml create mode 100644 src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_with_files_adds_sam_account_name.yaml delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/_storage_management_client.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/_storage_management_client.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/__init__.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_models_py3.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_containers_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_services_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_encryption_scopes_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_file_services_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_file_shares_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_management_policies_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_object_replication_policies_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_private_endpoint_connections_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_queue_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_queue_services_operations.py delete mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_table_services_operations.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage => azure_mgmt_storage}/__init__.py (100%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage => azure_mgmt_storage}/_configuration.py (87%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage => azure_mgmt_storage}/_storage_management_client.py (57%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage => azure_mgmt_storage}/_version.py (94%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage => azure_mgmt_storage}/models.py (91%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage => azure_mgmt_storage}/storage_management_client.py (100%) create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_configuration.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_patch.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_storage_management_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_vendor.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_version.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/__init__.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/_configuration.py (90%) create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_patch.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_storage_management_client.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01/aio}/operations/__init__.py (96%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_blob_containers_operations.py (61%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_blob_inventory_policies_operations.py (59%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_blob_services_operations.py (61%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_deleted_accounts_operations.py (64%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_encryption_scopes_operations.py (61%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_file_services_operations.py (58%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_file_shares_operations.py (56%) create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_local_users_operations.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_management_policies_operations.py (61%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_object_replication_policies_operations.py (58%) create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_operations.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_private_endpoint_connections_operations.py (60%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_private_link_resources_operations.py (71%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_queue_operations.py (59%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_queue_services_operations.py (59%) create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_skus_operations.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_storage_accounts_operations.py (60%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_table_operations.py (60%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/aio/operations/_table_services_operations.py (59%) create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_usages_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/__init__.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/models/_models.py (72%) create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_models_py3.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview => azure_mgmt_storage/v2021_08_01}/models/_storage_management_client_enums.py (60%) rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage/v2020_08_01_preview/aio => azure_mgmt_storage/v2021_08_01}/operations/__init__.py (96%) create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_containers_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_inventory_policies_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_services_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_deleted_accounts_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_encryption_scopes_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_file_services_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_file_shares_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_local_users_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_management_policies_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_object_replication_policies_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_private_endpoint_connections_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_private_link_resources_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_queue_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_queue_services_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_skus_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_storage_accounts_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_table_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_table_services_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_usages_operations.py rename src/storage-preview/azext_storage_preview/vendored_sdks/{azure_mgmt_preview_storage => azure_mgmt_storage}/version.py (100%) create mode 100644 src/stream-analytics/azext_stream_analytics/tests/latest/recordings/test_cluster_crud.yaml create mode 100644 src/stream-analytics/azext_stream_analytics/tests/latest/recordings/test_private_endpoint_crud.yaml create mode 100644 src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/_clusters_operations.py create mode 100644 src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/_private_endpoints_operations.py create mode 100644 src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/_clusters_operations.py rename src/{storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_inventory_policies_operations.py => stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/_private_endpoints_operations.py} (53%) create mode 100644 testing/pipeline/templates/build-extension.yml diff --git a/.flake8 b/.flake8 index 0295f1c0277..5d2b0466e0e 100644 --- a/.flake8 +++ b/.flake8 @@ -7,6 +7,7 @@ ignore = F401, # imported but unused, too many violations, to be removed in the future F811, # redefinition of unused, to be removed in the future C901 # code flow is too complex, too many violations, to be removed in the future + W503 # line break before binary operator effect on readability is subjective W504 # line break after binary operator effect on readability is subjective exclude = */vendored_sdks diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 21a9ee78b4d..e32b0be1187 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -30,6 +30,8 @@ /src/dnc/ @alegal +/src/edgeorder/ @necusjz + /src/express-route-cross-connection/ @kairu-ms @jsntcy /src/application-insights/ @alexeldeib @@ -212,8 +214,18 @@ /src/purview/ @kairu-ms @jsntcy +/src/enterprise-edge/ @StrawnSC + /src/functionapp/ @gzuber /src/elastic/ @kairu-ms @jsntcy /src/image-gallery/ @zhoxing-ms + +/src/init/ @zhoxing-ms @HuangYT2000 + +/src/datamigration/ @ashutoshsuman99 + +/src/confidentialledger/ @kairu-ms @lynshi + +/src/quota/ @kairu-ms @ZengTaoxu diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d686d1b183b..3e3e7c9ec62 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -23,6 +23,7 @@ jobs: inputs: toolMajorVersion: V2 suppressionsFile: './scripts/ci/credscan/CredScanSuppressions.json' + toolVersionV2: '2.1.17' - task: ms-codeanalysis.vss-microsoft-security-code-analysis-devops.build-task-postanalysis.PostAnalysis@1 displayName: 'Post Analysis' inputs: diff --git a/linter_exclusions.yml b/linter_exclusions.yml index 28e11f0afb7..dc6a952ebf4 100644 --- a/linter_exclusions.yml +++ b/linter_exclusions.yml @@ -52,6 +52,9 @@ aks create: load_balancer_managed_outbound_ip_count: rule_exclusions: - option_length_too_long + load_balancer_managed_outbound_ipv6_count: + rule_exclusions: + - option_length_too_long load_balancer_outbound_ip_prefixes: rule_exclusions: - option_length_too_long @@ -161,6 +164,9 @@ aks update: load_balancer_managed_outbound_ip_count: rule_exclusions: - option_length_too_long + load_balancer_managed_outbound_ipv6_count: + rule_exclusions: + - option_length_too_long load_balancer_outbound_ip_prefixes: rule_exclusions: - option_length_too_long @@ -182,6 +188,25 @@ aks update: enable_pod_identity_with_kubenet: rule_exclusions: - option_length_too_long +arcdata dc create: + parameters: + logs_ui_private_key_file: + rule_exclusions: + - option_length_too_long + logs_ui_public_key_file: + rule_exclusions: + - option_length_too_long + metrics_ui_private_key_file: + rule_exclusions: + - option_length_too_long + metrics_ui_public_key_file: + rule_exclusions: + - option_length_too_long +sql mi-arc update: + parameters: + preferred_primary_replica: + rule_exclusions: + - option_length_too_long attestation policy set: parameters: new_attestation_policy: @@ -594,6 +619,21 @@ dms project task create: target_connection_json: rule_exclusions: - option_length_too_long +dt endpoint create servicebus: + parameters: + servicebus_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +dt endpoint create eventgrid: + parameters: + eventgrid_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group +dt endpoint create eventhub: + parameters: + eventhub_resource_group: + rule_exclusions: + - parameter_should_not_end_in_resource_group eventgrid domain create: parameters: input_mapping_default_values: @@ -960,6 +1000,72 @@ import-export update: backup_drive_manifest: rule_exclusions: - option_length_too_long +iot central export destination update: + parameters: + api_version: + rule_exclusions: + - no_parameter_defaults_for_update_commands + central_dns_suffix: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot central export update: + parameters: + api_version: + rule_exclusions: + - no_parameter_defaults_for_update_commands + central_dns_suffix: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot central device update: + parameters: + api_version: + rule_exclusions: + - no_parameter_defaults_for_update_commands + central_dns_suffix: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot central device-template update: + parameters: + api_version: + rule_exclusions: + - no_parameter_defaults_for_update_commands + central_dns_suffix: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot central file-upload-config update: + parameters: + api_version: + rule_exclusions: + - no_parameter_defaults_for_update_commands + central_dns_suffix: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot central organization update: + parameters: + api_version: + rule_exclusions: + - no_parameter_defaults_for_update_commands + central_dns_suffix: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot central user update: + parameters: + api_version: + rule_exclusions: + - no_parameter_defaults_for_update_commands + central_dns_suffix: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot dps enrollment update: + parameters: + auth_type_dataplane: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot dps enrollment-group update: + parameters: + auth_type_dataplane: + rule_exclusions: + - no_parameter_defaults_for_update_commands iot hub configuration update: parameters: auth_type_dataplane: diff --git a/pylintrc b/pylintrc index 0f3c0b3fba4..dbe731101ce 100644 --- a/pylintrc +++ b/pylintrc @@ -21,7 +21,7 @@ disable= [TYPECHECK] # For Azure CLI extensions, we ignore some import errors as they'll be available in the environment of the CLI -ignored-modules=azure,azure.cli,azure.cli.core,azure.cli.core.commands,knack,msrestazure,argcomplete,azure_devtools,isodate,OpenSSL +ignored-modules=azure,azure.cli,azure.cli.core,azure.cli.core.commands,knack,msrestazure,argcomplete,azure.cli.testsdk,isodate,OpenSSL [FORMAT] max-line-length=120 diff --git a/src/account/HISTORY.rst b/src/account/HISTORY.rst index ff58ed4c0b9..bb964e6c394 100644 --- a/src/account/HISTORY.rst +++ b/src/account/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.2.2 ++++++ +* Update SDK `azure-mgmt-subscription` version to 3.0.0 and api-version to 2021-10-01. + 0.2.1 +++++ * az account alias create: add --reseller-id diff --git a/src/account/azext_account/__init__.py b/src/account/azext_account/__init__.py index 1c735a02214..71f7a7ec9d7 100644 --- a/src/account/azext_account/__init__.py +++ b/src/account/azext_account/__init__.py @@ -19,8 +19,7 @@ def __init__(self, cli_ctx=None): account_custom = CliCommandType( operations_tmpl='azext_account.custom#{}', client_factory=cf_account) - super(SubscriptionClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=account_custom) + super().__init__(cli_ctx=cli_ctx, custom_command_type=account_custom) def load_command_table(self, args): from azext_account.generated.commands import load_command_table diff --git a/src/account/azext_account/manual/__init__.py b/src/account/azext_account/manual/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/account/azext_account/manual/_client_factory.py b/src/account/azext_account/manual/_client_factory.py new file mode 100644 index 00000000000..d4569b29dbf --- /dev/null +++ b/src/account/azext_account/manual/_client_factory.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. +# -------------------------------------------------------------------------------------------- + + +def cf_account(cli_ctx, *_): + from azure.cli.core.commands.client_factory import _get_mgmt_service_client + from ..vendored_sdks.subscription import SubscriptionClient + return _get_mgmt_service_client(cli_ctx, SubscriptionClient, + subscription_bound=False, + base_url_bound=True)[0] + + +def cf_subscriptions(cli_ctx, *_): + return cf_account(cli_ctx).subscriptions + + +def cf_tenants(cli_ctx, *_): + return cf_account(cli_ctx).tenants diff --git a/src/account/azext_account/manual/commands.py b/src/account/azext_account/manual/commands.py new file mode 100644 index 00000000000..07ea4a28fca --- /dev/null +++ b/src/account/azext_account/manual/commands.py @@ -0,0 +1,29 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_account.manual._client_factory import cf_subscriptions + account_subscriptions = CliCommandType( + operations_tmpl='azext_account.vendored_sdks.subscription.operations._subscription_operations#SubscriptionOperations.{}', + client_factory=cf_subscriptions) + with self.command_group('account subscription', account_subscriptions, client_factory=cf_subscriptions, is_experimental=True) as g: + g.custom_command('list', 'account_subscription_list') + g.custom_show_command('show', 'account_subscription_show') + g.custom_command('list-location', 'account_subscription_list_location') + + from azext_account.manual._client_factory import cf_tenants + account_tenants = CliCommandType( + operations_tmpl='azext_account.vendored_sdks.subscription.operations._tenants_operations#TenantsOperations.{}', + client_factory=cf_tenants) + with self.command_group('account tenant', account_tenants, client_factory=cf_tenants, is_experimental=True) as g: + g.custom_command('list', 'account_tenant_list') diff --git a/src/account/azext_account/manual/custom.py b/src/account/azext_account/manual/custom.py new file mode 100644 index 00000000000..6bef2ace8b6 --- /dev/null +++ b/src/account/azext_account/manual/custom.py @@ -0,0 +1,45 @@ +# -------------------------------------------------------------------------------------------- +# 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 +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines +# pylint: disable=too-many-locals +# pylint: disable=unused-argument + +from azure.cli.core.util import sdk_no_wait + + +def account_subscription_rename(cmd, client, subscription_id, + subscription_name=None): + body = {'subscriptionName': subscription_name} + return client.rename(subscription_id=subscription_id, body=body) + + +def account_alias_create(client, + alias_name, + workload=None, + billing_scope=None, + display_name=None, + subscription_id=None, + reseller_id=None, + no_wait=False): + body = { + 'properties': { + 'display_name': display_name, + 'workload': workload, + 'billing_scope': billing_scope, + 'subscription_id': subscription_id, + 'reseller_id': reseller_id + } + } + return sdk_no_wait(no_wait, + client.begin_create, + alias_name=alias_name, + body=body) + + +def account_subscription_list_location(client, + subscription_id): + return client.list_locations(subscription_id=subscription_id) diff --git a/src/account/azext_account/tests/latest/recordings/test_account.yaml b/src/account/azext_account/tests/latest/recordings/test_account.yaml index 6917b960ab5..74ab6d3eaed 100644 --- a/src/account/azext_account/tests/latest/recordings/test_account.yaml +++ b/src/account/azext_account/tests/latest/recordings/test_account.yaml @@ -21,7 +21,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias000001?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias000001?api-version=2021-10-01 response: body: string: '{"id":"/providers/Microsoft.Subscription/aliases/cli_alias000001","name":"cli_alias000001","type":"Microsoft.Subscription/aliases","properties":{"subscriptionId":"00000000-0000-0000-0000-000000000000","provisioningState":"Accepted"}}' @@ -73,7 +73,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias000001?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias000001?api-version=2021-10-01 response: body: string: '{"id":"/providers/Microsoft.Subscription/aliases/cli_alias000001","name":"cli_alias000001","type":"Microsoft.Subscription/aliases","properties":{"subscriptionId":"00000000-0000-0000-0000-000000000000","provisioningState":"Succeeded"}}' @@ -127,7 +127,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias000001?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias000001?api-version=2021-10-01 response: body: string: '{"id":"/providers/Microsoft.Subscription/aliases/cli_alias000001","name":"cli_alias000001","type":"Microsoft.Subscription/aliases","properties":{"subscriptionId":"00000000-0000-0000-0000-000000000000","provisioningState":"Succeeded"}}' @@ -179,7 +179,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases?api-version=2021-10-01 response: body: string: '{"value":[{"id":"/providers/Microsoft.Subscription/aliases/cli_alias000001","name":"cli_alias000001","type":"Microsoft.Subscription/aliases","properties":{"subscriptionId":"00000000-0000-0000-0000-000000000000","provisioningState":"Succeeded"}},{"id":"/providers/Microsoft.Subscription/aliases/cli_aliasz2vped63fbilta3","name":"cli_aliasz2vped63fbilta3","type":"Microsoft.Subscription/aliases","properties":{"subscriptionId":"8ce5b704-34d5-4c0e-8551-cc5fab0e0784","provisioningState":"Succeeded"}},{"id":"/providers/Microsoft.Subscription/aliases/cli_alias_newsgdbu7csc2j","name":"cli_alias_newsgdbu7csc2j","type":"Microsoft.Subscription/aliases","properties":{"subscriptionId":"8338eecb-3bd3-4162-a212-80452f84f3b3","provisioningState":"Succeeded"}},{"id":"/providers/Microsoft.Subscription/aliases/cli_aliasdxbzpmqagecs5zq","name":"cli_aliasdxbzpmqagecs5zq","type":"Microsoft.Subscription/aliases","properties":{"subscriptionId":"d50bf18c-e268-4da7-81cb-c752f2323415","provisioningState":"Succeeded"}}]}' @@ -411,7 +411,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Subscription/cancel?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Subscription/cancel?api-version=2021-10-01 response: body: string: '{"subscriptionId":"00000000-0000-0000-0000-000000000000"}' @@ -684,7 +684,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Subscription/enable?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Subscription/enable?api-version=2021-10-01 response: body: string: '{"subscriptionId":"00000000-0000-0000-0000-000000000000"}' @@ -1174,7 +1174,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Subscription/rename?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Subscription/rename?api-version=2021-10-01 response: body: string: '{"subscriptionId":"00000000-0000-0000-0000-000000000000"}' @@ -1272,7 +1272,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias000001?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias000001?api-version=2021-10-01 response: body: string: '' @@ -1326,7 +1326,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"id":"/providers/Microsoft.Subscription/aliases/cli_alias_new000002","name":"cli_alias_new000002","type":"Microsoft.Subscription/aliases","properties":{"subscriptionId":"00000000-0000-0000-0000-000000000000","provisioningState":"Succeeded"}}' @@ -1384,7 +1384,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1434,7 +1434,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1484,7 +1484,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1534,7 +1534,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1584,7 +1584,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1634,7 +1634,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1684,7 +1684,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1734,7 +1734,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1784,7 +1784,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '{"error":{"code":"AuthorizationFailed","message":"The client ''kurtangle@aceeatest.onmicrosoft.com'' @@ -1834,7 +1834,7 @@ interactions: User-Agent: - AZURECLI/2.13.0 azsdk-python-subscriptionclient/unknown Python/3.6.8 (Windows-10-10.0.19041-SP0) method: DELETE - uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Subscription/aliases/cli_alias_new000002?api-version=2021-10-01 response: body: string: '' diff --git a/src/account/azext_account/tests/latest/test_account_scenario.py b/src/account/azext_account/tests/latest/test_account_scenario.py index 78782e18d1c..5a752269188 100644 --- a/src/account/azext_account/tests/latest/test_account_scenario.py +++ b/src/account/azext_account/tests/latest/test_account_scenario.py @@ -7,7 +7,7 @@ import unittest import time -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) diff --git a/src/account/azext_account/vendored_sdks/__init__.py b/src/account/azext_account/vendored_sdks/__init__.py index c9cfdc73e77..8db66d3d0f0 100644 --- a/src/account/azext_account/vendored_sdks/__init__.py +++ b/src/account/azext_account/vendored_sdks/__init__.py @@ -1,12 +1 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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__) +__path__ = __import__("pkgutil").extend_path(__path__, __name__) diff --git a/src/account/azext_account/vendored_sdks/subscription/__init__.py b/src/account/azext_account/vendored_sdks/subscription/__init__.py index a1d3eed7425..abd8e21f333 100644 --- a/src/account/azext_account/vendored_sdks/subscription/__init__.py +++ b/src/account/azext_account/vendored_sdks/subscription/__init__.py @@ -7,10 +7,12 @@ # -------------------------------------------------------------------------- from ._subscription_client import SubscriptionClient +from ._version import VERSION + +__version__ = VERSION __all__ = ['SubscriptionClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/account/azext_account/vendored_sdks/subscription/_configuration.py b/src/account/azext_account/vendored_sdks/subscription/_configuration.py index b7302055ff8..cb1f8cba0c5 100644 --- a/src/account/azext_account/vendored_sdks/subscription/_configuration.py +++ b/src/account/azext_account/vendored_sdks/subscription/_configuration.py @@ -6,19 +6,18 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +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 azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential -VERSION = "unknown" class SubscriptionClientConfiguration(Configuration): """Configuration for SubscriptionClient. @@ -32,18 +31,16 @@ class SubscriptionClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + **kwargs: Any + ) -> None: + super(SubscriptionClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") - super(SubscriptionClientConfiguration, self).__init__(**kwargs) self.credential = credential - self.credential_scopes = ['https://management.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) - kwargs.setdefault('sdk_moniker', 'subscriptionclient/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-subscription/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -61,4 +58,4 @@ def _configure( 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) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/account/azext_account/vendored_sdks/subscription/_patch.py b/src/account/azext_account/vendored_sdks/subscription/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/account/azext_account/vendored_sdks/subscription/_subscription_client.py b/src/account/azext_account/vendored_sdks/subscription/_subscription_client.py index d06f83460ca..13c065de070 100644 --- a/src/account/azext_account/vendored_sdks/subscription/_subscription_client.py +++ b/src/account/azext_account/vendored_sdks/subscription/_subscription_client.py @@ -6,66 +6,93 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import SubscriptionClientConfiguration +from .operations import AliasOperations, BillingAccountOperations, Operations, SubscriptionOperations, SubscriptionPolicyOperations, SubscriptionsOperations, TenantsOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Optional - from azure.core.credentials import TokenCredential -from ._configuration import SubscriptionClientConfiguration -from .operations import SubscriptionOperations -from .operations import TenantOperations -from .operations import OperationOperations -from .operations import AliasOperations -from . import models - - -class SubscriptionClient(object): +class SubscriptionClient: """The subscription client. + :ivar subscriptions: SubscriptionsOperations operations + :vartype subscriptions: azure.mgmt.subscription.operations.SubscriptionsOperations + :ivar tenants: TenantsOperations operations + :vartype tenants: azure.mgmt.subscription.operations.TenantsOperations :ivar subscription: SubscriptionOperations operations - :vartype subscription: subscription_client.operations.SubscriptionOperations - :ivar tenant: TenantOperations operations - :vartype tenant: subscription_client.operations.TenantOperations - :ivar operation: OperationOperations operations - :vartype operation: subscription_client.operations.OperationOperations + :vartype subscription: azure.mgmt.subscription.operations.SubscriptionOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.subscription.operations.Operations :ivar alias: AliasOperations operations - :vartype alias: subscription_client.operations.AliasOperations + :vartype alias: azure.mgmt.subscription.operations.AliasOperations + :ivar subscription_policy: SubscriptionPolicyOperations operations + :vartype subscription_policy: azure.mgmt.subscription.operations.SubscriptionPolicyOperations + :ivar billing_account: BillingAccountOperations operations + :vartype billing_account: azure.mgmt.subscription.operations.BillingAccountOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential - :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. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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" - base_url=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = SubscriptionClientConfiguration(credential, **kwargs) + credential: "TokenCredential", + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SubscriptionClientConfiguration(credential=credential, **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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.subscriptions = SubscriptionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.tenants = TenantsOperations(self._client, self._config, self._serialize, self._deserialize) + self.subscription = SubscriptionOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.alias = AliasOperations(self._client, self._config, self._serialize, self._deserialize) + self.subscription_policy = SubscriptionPolicyOperations(self._client, self._config, self._serialize, self._deserialize) + self.billing_account = BillingAccountOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ - self.subscription = SubscriptionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.tenant = TenantOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation = OperationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.alias = AliasOperations( - self._client, self._config, self._serialize, self._deserialize) + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/account/azext_account/vendored_sdks/subscription/_vendor.py b/src/account/azext_account/vendored_sdks/subscription/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/account/azext_account/vendored_sdks/subscription/_version.py b/src/account/azext_account/vendored_sdks/subscription/_version.py new file mode 100644 index 00000000000..cac9f5d10f8 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/_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 = "3.0.0" diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/__init__.py b/src/account/azext_account/vendored_sdks/subscription/aio/__init__.py index 345034cd293..e95939087d4 100644 --- a/src/account/azext_account/vendored_sdks/subscription/aio/__init__.py +++ b/src/account/azext_account/vendored_sdks/subscription/aio/__init__.py @@ -6,5 +6,10 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._subscription_client_async import SubscriptionClient +from ._subscription_client import SubscriptionClient __all__ = ['SubscriptionClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/_configuration_async.py b/src/account/azext_account/vendored_sdks/subscription/aio/_configuration.py similarity index 84% rename from src/account/azext_account/vendored_sdks/subscription/aio/_configuration_async.py rename to src/account/azext_account/vendored_sdks/subscription/aio/_configuration.py index 799e460b7d1..a7b3afad947 100644 --- a/src/account/azext_account/vendored_sdks/subscription/aio/_configuration_async.py +++ b/src/account/azext_account/vendored_sdks/subscription/aio/_configuration.py @@ -10,13 +10,14 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -VERSION = "unknown" class SubscriptionClientConfiguration(Configuration): """Configuration for SubscriptionClient. @@ -33,14 +34,13 @@ def __init__( credential: "AsyncTokenCredential", **kwargs: Any ) -> None: + super(SubscriptionClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") - super(SubscriptionClientConfiguration, self).__init__(**kwargs) self.credential = credential - self.credential_scopes = ['https://management.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) - kwargs.setdefault('sdk_moniker', 'subscriptionclient/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-subscription/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -57,4 +57,4 @@ def _configure( 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) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/_patch.py b/src/account/azext_account/vendored_sdks/subscription/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/_subscription_client.py b/src/account/azext_account/vendored_sdks/subscription/aio/_subscription_client.py new file mode 100644 index 00000000000..b8dcc9114fa --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/aio/_subscription_client.py @@ -0,0 +1,106 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SubscriptionClientConfiguration +from .operations import AliasOperations, BillingAccountOperations, Operations, SubscriptionOperations, SubscriptionPolicyOperations, SubscriptionsOperations, TenantsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SubscriptionClient: + """The subscription client. + + :ivar subscriptions: SubscriptionsOperations operations + :vartype subscriptions: azure.mgmt.subscription.aio.operations.SubscriptionsOperations + :ivar tenants: TenantsOperations operations + :vartype tenants: azure.mgmt.subscription.aio.operations.TenantsOperations + :ivar subscription: SubscriptionOperations operations + :vartype subscription: azure.mgmt.subscription.aio.operations.SubscriptionOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.subscription.aio.operations.Operations + :ivar alias: AliasOperations operations + :vartype alias: azure.mgmt.subscription.aio.operations.AliasOperations + :ivar subscription_policy: SubscriptionPolicyOperations operations + :vartype subscription_policy: + azure.mgmt.subscription.aio.operations.SubscriptionPolicyOperations + :ivar billing_account: BillingAccountOperations operations + :vartype billing_account: azure.mgmt.subscription.aio.operations.BillingAccountOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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", + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SubscriptionClientConfiguration(credential=credential, **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._serialize.client_side_validation = False + self.subscriptions = SubscriptionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.tenants = TenantsOperations(self._client, self._config, self._serialize, self._deserialize) + self.subscription = SubscriptionOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.alias = AliasOperations(self._client, self._config, self._serialize, self._deserialize) + self.subscription_policy = SubscriptionPolicyOperations(self._client, self._config, self._serialize, self._deserialize) + self.billing_account = BillingAccountOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SubscriptionClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations/__init__.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations/__init__.py new file mode 100644 index 00000000000..502c2c8aa6d --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/aio/operations/__init__.py @@ -0,0 +1,25 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._subscriptions_operations import SubscriptionsOperations +from ._tenants_operations import TenantsOperations +from ._subscription_operations import SubscriptionOperations +from ._operations import Operations +from ._alias_operations import AliasOperations +from ._subscription_policy_operations import SubscriptionPolicyOperations +from ._billing_account_operations import BillingAccountOperations + +__all__ = [ + 'SubscriptionsOperations', + 'TenantsOperations', + 'SubscriptionOperations', + 'Operations', + 'AliasOperations', + 'SubscriptionPolicyOperations', + 'BillingAccountOperations', +] diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_alias_operations_async.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_alias_operations.py similarity index 53% rename from src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_alias_operations_async.py rename to src/account/azext_account/vendored_sdks/subscription/aio/operations/_alias_operations.py index 5b6584fd311..a126f0cc5f6 100644 --- a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_alias_operations_async.py +++ b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_alias_operations.py @@ -5,18 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union 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 AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling -from ... import models - +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._alias_operations import build_create_request_initial, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -27,14 +31,14 @@ class AliasOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~subscription_client.models + :type models: ~azure.mgmt.subscription.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 + models = _models def __init__(self, client, config, serializer, deserializer) -> None: self._client = client @@ -45,82 +49,81 @@ def __init__(self, client, config, serializer, deserializer) -> None: async def _create_initial( self, alias_name: str, - properties: "models.PutAliasRequestProperties", - **kwargs - ) -> "models.PutAliasResponse": - cls = kwargs.pop('cls', None) # type: ClsType["models.PutAliasResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - _body = models.PutAliasRequest(properties=properties) - api_version = "2020-09-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'aliasName': self._serialize.url("alias_name", alias_name, 'str'), + body: "_models.PutAliasRequest", + **kwargs: Any + ) -> "_models.SubscriptionAliasResponse": + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionAliasResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) + error_map.update(kwargs.pop('error_map', {})) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # 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' + _json = self._serialize.body(body, 'PutAliasRequest') - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_body, 'PutAliasRequest') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + request = build_create_request_initial( + alias_name=alias_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) 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.ErrorResponseBody, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('PutAliasResponse', pipeline_response) + deserialized = self._deserialize('SubscriptionAliasResponse', pipeline_response) if response.status_code == 201: - deserialized = self._deserialize('PutAliasResponse', pipeline_response) + deserialized = self._deserialize('SubscriptionAliasResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/providers/Microsoft.Subscription/aliases/{aliasName}'} # type: ignore + + @distributed_trace_async async def begin_create( self, alias_name: str, - properties: "models.PutAliasRequestProperties", - **kwargs - ) -> AsyncLROPoller["models.PutAliasResponse"]: + body: "_models.PutAliasRequest", + **kwargs: Any + ) -> AsyncLROPoller["_models.SubscriptionAliasResponse"]: """Create Alias Subscription. - :param alias_name: Alias Name. + :param alias_name: AliasName is the name for the subscription creation request. Note that this + is not the same as subscription name and this doesn’t have any other lifecycle need beyond the + request for subscription creation. :type alias_name: str - :param properties: Put alias request properties. - :type properties: ~subscription_client.models.PutAliasRequestProperties + :param body: + :type body: ~azure.mgmt.subscription.models.PutAliasRequest :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 + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 PutAliasResponse or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~subscription_client.models.PutAliasResponse] - :raises ~azure.core.exceptions.HttpResponseError: + :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 SubscriptionAliasResponse or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.subscription.models.SubscriptionAliasResponse] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.PutAliasResponse"] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionAliasResponse"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -129,22 +132,22 @@ async def begin_create( if cont_token is None: raw_result = await self._create_initial( alias_name=alias_name, - properties=properties, + body=body, + content_type=content_type, 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('PutAliasResponse', pipeline_response) - + response = pipeline_response.http_response + deserialized = self._deserialize('SubscriptionAliasResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -156,67 +159,69 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/providers/Microsoft.Subscription/aliases/{aliasName}'} # type: ignore + @distributed_trace_async async def get( self, alias_name: str, - **kwargs - ) -> "models.PutAliasResponse": + **kwargs: Any + ) -> "_models.SubscriptionAliasResponse": """Get Alias Subscription. - :param alias_name: Alias Name. + :param alias_name: AliasName is the name for the subscription creation request. Note that this + is not the same as subscription name and this doesn’t have any other lifecycle need beyond the + request for subscription creation. :type alias_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: PutAliasResponse, or the result of cls(response) - :rtype: ~subscription_client.models.PutAliasResponse + :return: SubscriptionAliasResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.SubscriptionAliasResponse :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PutAliasResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'aliasName': self._serialize.url("alias_name", alias_name, 'str'), + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionAliasResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + error_map.update(kwargs.pop('error_map', {})) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + + request = build_get_request( + alias_name=alias_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponseBody, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('PutAliasResponse', pipeline_response) + deserialized = self._deserialize('SubscriptionAliasResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/providers/Microsoft.Subscription/aliases/{aliasName}'} # type: ignore + + @distributed_trace_async async def delete( self, alias_name: str, - **kwargs + **kwargs: Any ) -> None: """Delete Alias. - :param alias_name: Alias Name. + :param alias_name: AliasName is the name for the subscription creation request. Note that this + is not the same as subscription name and this doesn’t have any other lifecycle need beyond the + request for subscription creation. :type alias_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) @@ -224,31 +229,25 @@ async def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'aliasName': self._serialize.url("alias_name", alias_name, 'str'), + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + error_map.update(kwargs.pop('error_map', {})) - # Construct headers - header_parameters = {} # type: Dict[str, Any] + + request = build_delete_request( + alias_name=alias_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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(models.ErrorResponseBody, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -256,46 +255,46 @@ async def delete( delete.metadata = {'url': '/providers/Microsoft.Subscription/aliases/{aliasName}'} # type: ignore + + @distributed_trace_async async def list( self, - **kwargs - ) -> "models.PutAliasListResult": - """Get Alias Subscription. + **kwargs: Any + ) -> "_models.SubscriptionAliasListResult": + """List Alias Subscription. :keyword callable cls: A custom type or function that will be passed the direct response - :return: PutAliasListResult, or the result of cls(response) - :rtype: ~subscription_client.models.PutAliasListResult + :return: SubscriptionAliasListResult, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.SubscriptionAliasListResult :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PutAliasListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionAliasListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponseBody, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('PutAliasListResult', pipeline_response) + deserialized = self._deserialize('SubscriptionAliasListResult', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/providers/Microsoft.Subscription/aliases'} # type: ignore + diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_operation_operations_async.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_billing_account_operations.py similarity index 52% rename from src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_operation_operations_async.py rename to src/account/azext_account/vendored_sdks/subscription/aio/operations/_billing_account_operations.py index 25c797735e9..00f1cc1f156 100644 --- a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_operation_operations_async.py +++ b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_billing_account_operations.py @@ -5,34 +5,38 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools from typing import Any, Callable, Dict, Generic, Optional, TypeVar 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 AsyncHttpResponse, HttpRequest +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat -from ... import models - +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._billing_account_operations import build_get_policy_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class OperationOperations: - """OperationOperations async operations. +class BillingAccountOperations: + """BillingAccountOperations 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: ~subscription_client.models + :type models: ~azure.mgmt.subscription.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 + models = _models def __init__(self, client, config, serializer, deserializer) -> None: self._client = client @@ -40,46 +44,49 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - async def list( + @distributed_trace_async + async def get_policy( self, - **kwargs - ) -> "models.OperationListResult": - """Lists all of the available Microsoft.Subscription API operations. + billing_account_id: str, + **kwargs: Any + ) -> "_models.BillingAccountPoliciesResponse": + """Get Billing Account Policy. + :param billing_account_id: Billing Account Id. + :type billing_account_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: OperationListResult, or the result of cls(response) - :rtype: ~subscription_client.models.OperationListResult + :return: BillingAccountPoliciesResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.BillingAccountPoliciesResponse :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType["_models.BillingAccountPoliciesResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # 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') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + + request = build_get_policy_request( + billing_account_id=billing_account_id, + template_url=self.get_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('OperationListResult', pipeline_response) + deserialized = self._deserialize('BillingAccountPoliciesResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list.metadata = {'url': '/providers/Microsoft.Subscription/operations'} # type: ignore + + get_policy.metadata = {'url': '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Subscription/policies/default'} # type: ignore + diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations/_operations.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_operations.py new file mode 100644 index 00000000000..50b190fe7e7 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/aio/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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.subscription.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.OperationListResult"]: + """Lists all of the available Microsoft.Subscription API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.subscription.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationListResult", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Subscription/operations'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscription_operations.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscription_operations.py new file mode 100644 index 00000000000..b09962e5145 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscription_operations.py @@ -0,0 +1,349 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._subscription_operations import build_accept_ownership_request_initial, build_accept_ownership_status_request, build_cancel_request, build_enable_request, build_rename_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SubscriptionOperations: + """SubscriptionOperations 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.subscription.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 + + @distributed_trace_async + async def cancel( + self, + subscription_id: str, + **kwargs: Any + ) -> "_models.CanceledSubscriptionId": + """The operation to cancel a subscription. + + :param subscription_id: Subscription Id. + :type subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CanceledSubscriptionId, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.CanceledSubscriptionId + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CanceledSubscriptionId"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_cancel_request( + subscription_id=subscription_id, + template_url=self.cancel.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CanceledSubscriptionId', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel'} # type: ignore + + + @distributed_trace_async + async def rename( + self, + subscription_id: str, + body: "_models.SubscriptionName", + **kwargs: Any + ) -> "_models.RenamedSubscriptionId": + """The operation to rename a subscription. + + :param subscription_id: Subscription Id. + :type subscription_id: str + :param body: Subscription Name. + :type body: ~azure.mgmt.subscription.models.SubscriptionName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RenamedSubscriptionId, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.RenamedSubscriptionId + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RenamedSubscriptionId"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(body, 'SubscriptionName') + + request = build_rename_request( + subscription_id=subscription_id, + content_type=content_type, + json=_json, + template_url=self.rename.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('RenamedSubscriptionId', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + rename.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename'} # type: ignore + + + @distributed_trace_async + async def enable( + self, + subscription_id: str, + **kwargs: Any + ) -> "_models.EnabledSubscriptionId": + """The operation to enable a subscription. + + :param subscription_id: Subscription Id. + :type subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EnabledSubscriptionId, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.EnabledSubscriptionId + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.EnabledSubscriptionId"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_enable_request( + subscription_id=subscription_id, + template_url=self.enable.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('EnabledSubscriptionId', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + enable.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable'} # type: ignore + + + async def _accept_ownership_initial( + self, + subscription_id: str, + body: "_models.AcceptOwnershipRequest", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(body, 'AcceptOwnershipRequest') + + request = build_accept_ownership_request_initial( + subscription_id=subscription_id, + content_type=content_type, + json=_json, + template_url=self._accept_ownership_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + response_headers = {} + response_headers['Location']=self._deserialize('str', response.headers.get('Location')) + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) + + + if cls: + return cls(pipeline_response, None, response_headers) + + _accept_ownership_initial.metadata = {'url': '/providers/Microsoft.Subscription/subscriptions/{subscriptionId}/acceptOwnership'} # type: ignore + + + @distributed_trace_async + async def begin_accept_ownership( + self, + subscription_id: str, + body: "_models.AcceptOwnershipRequest", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Accept subscription ownership. + + :param subscription_id: Subscription Id. + :type subscription_id: str + :param body: + :type body: ~azure.mgmt.subscription.models.AcceptOwnershipRequest + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.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._accept_ownership_initial( + subscription_id=subscription_id, + body=body, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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_accept_ownership.metadata = {'url': '/providers/Microsoft.Subscription/subscriptions/{subscriptionId}/acceptOwnership'} # type: ignore + + @distributed_trace_async + async def accept_ownership_status( + self, + subscription_id: str, + **kwargs: Any + ) -> "_models.AcceptOwnershipStatusResponse": + """Accept subscription ownership status. + + :param subscription_id: Subscription Id. + :type subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AcceptOwnershipStatusResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.AcceptOwnershipStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AcceptOwnershipStatusResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_accept_ownership_status_request( + subscription_id=subscription_id, + template_url=self.accept_ownership_status.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AcceptOwnershipStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + accept_ownership_status.metadata = {'url': '/providers/Microsoft.Subscription/subscriptions/{subscriptionId}/acceptOwnershipStatus'} # type: ignore + diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscription_policy_operations.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscription_policy_operations.py new file mode 100644 index 00000000000..ec61ddffa39 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscription_policy_operations.py @@ -0,0 +1,205 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._subscription_policy_operations import build_add_update_policy_for_tenant_request, build_get_policy_for_tenant_request, build_list_policy_for_tenant_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SubscriptionPolicyOperations: + """SubscriptionPolicyOperations 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.subscription.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 + + @distributed_trace_async + async def add_update_policy_for_tenant( + self, + body: "_models.PutTenantPolicyRequestProperties", + **kwargs: Any + ) -> "_models.GetTenantPolicyResponse": + """Create or Update Subscription tenant policy for user's tenant. + + :param body: + :type body: ~azure.mgmt.subscription.models.PutTenantPolicyRequestProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GetTenantPolicyResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.GetTenantPolicyResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GetTenantPolicyResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(body, 'PutTenantPolicyRequestProperties') + + request = build_add_update_policy_for_tenant_request( + content_type=content_type, + json=_json, + template_url=self.add_update_policy_for_tenant.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GetTenantPolicyResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + add_update_policy_for_tenant.metadata = {'url': '/providers/Microsoft.Subscription/policies/default'} # type: ignore + + + @distributed_trace_async + async def get_policy_for_tenant( + self, + **kwargs: Any + ) -> "_models.GetTenantPolicyResponse": + """Get the subscription tenant policy for the user's tenant. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GetTenantPolicyResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.GetTenantPolicyResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GetTenantPolicyResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_policy_for_tenant_request( + template_url=self.get_policy_for_tenant.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GetTenantPolicyResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_policy_for_tenant.metadata = {'url': '/providers/Microsoft.Subscription/policies/default'} # type: ignore + + + @distributed_trace + def list_policy_for_tenant( + self, + **kwargs: Any + ) -> AsyncIterable["_models.GetTenantPolicyListResponse"]: + """Get the subscription tenant policy for the user's tenant. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GetTenantPolicyListResponse or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.subscription.models.GetTenantPolicyListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GetTenantPolicyListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_policy_for_tenant_request( + template_url=self.list_policy_for_tenant.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_policy_for_tenant_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("GetTenantPolicyListResponse", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list_policy_for_tenant.metadata = {'url': '/providers/Microsoft.Subscription/policies'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscriptions_operations.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscriptions_operations.py new file mode 100644 index 00000000000..c5f432b6852 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_subscriptions_operations.py @@ -0,0 +1,226 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._subscriptions_operations import build_get_request, build_list_locations_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SubscriptionsOperations: + """SubscriptionsOperations 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.subscription.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 + + @distributed_trace + def list_locations( + self, + subscription_id: str, + **kwargs: Any + ) -> AsyncIterable["_models.LocationListResult"]: + """Gets all available geo-locations. + + This operation provides all the locations that are available for resource providers; however, + each resource provider may support a subset of this list. + + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either LocationListResult or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.subscription.models.LocationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_locations_request( + subscription_id=subscription_id, + template_url=self.list_locations.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_locations_request( + subscription_id=subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("LocationListResult", 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_locations.metadata = {'url': '/subscriptions/{subscriptionId}/locations'} # type: ignore + + @distributed_trace_async + async def get( + self, + subscription_id: str, + **kwargs: Any + ) -> "_models.Subscription": + """Gets details about a specified subscription. + + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Subscription, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.Subscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Subscription"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=subscription_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Subscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}'} # type: ignore + + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.SubscriptionListResult"]: + """Gets all subscriptions for a tenant. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SubscriptionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.subscription.models.SubscriptionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SubscriptionListResult", 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'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations/_tenants_operations.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_tenants_operations.py new file mode 100644 index 00000000000..534ac5fdbe1 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/aio/operations/_tenants_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._tenants_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TenantsOperations: + """TenantsOperations 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.subscription.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.TenantListResult"]: + """Gets the tenants for your account. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TenantListResult or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.subscription.models.TenantListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TenantListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("TenantListResult", 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': '/tenants'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_subscription_operations_async.py b/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_subscription_operations_async.py deleted file mode 100644 index 287209147a0..00000000000 --- a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_subscription_operations_async.py +++ /dev/null @@ -1,384 +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, 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.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 SubscriptionOperations: - """SubscriptionOperations 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: ~subscription_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_location( - self, - subscription_id: str, - **kwargs - ) -> AsyncIterable["models.LocationListResult"]: - """Gets all available geo-locations. - - This operation provides all the locations that are available for resource providers; however, - each resource provider may support a subset of this list. - - :param subscription_id: The ID of the target subscription. - :type subscription_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either LocationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~subscription_client.models.LocationListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.LocationListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2016-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_location.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", 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('LocationListResult', 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_location.metadata = {'url': '/subscriptions/{subscriptionId}/locations'} # type: ignore - - async def get( - self, - subscription_id: str, - **kwargs - ) -> "models.Subscription": - """Gets details about a specified subscription. - - :param subscription_id: The ID of the target subscription. - :type subscription_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: Subscription, or the result of cls(response) - :rtype: ~subscription_client.models.Subscription - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Subscription"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2016-06-01" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", 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'] = 'application/json' - - 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('Subscription', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}'} # type: ignore - - def list( - self, - **kwargs - ) -> AsyncIterable["models.SubscriptionListResult"]: - """Gets all subscriptions for a tenant. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SubscriptionListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~subscription_client.models.SubscriptionListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SubscriptionListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2016-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('SubscriptionListResult', 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'} # type: ignore - - async def cancel( - self, - subscription_id: str, - **kwargs - ) -> "models.CanceledSubscriptionId": - """The operation to cancel a subscription. - - :param subscription_id: Subscription Id. - :type subscription_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CanceledSubscriptionId, or the result of cls(response) - :rtype: ~subscription_client.models.CanceledSubscriptionId - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.CanceledSubscriptionId"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # Construct URL - url = self.cancel.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", 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'] = 'application/json' - - 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) - error = self._deserialize(models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('CanceledSubscriptionId', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - cancel.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel'} # type: ignore - - async def rename( - self, - subscription_id: str, - subscription_name: Optional[str] = None, - **kwargs - ) -> "models.RenamedSubscriptionId": - """The operation to rename a subscription. - - :param subscription_id: Subscription Id. - :type subscription_id: str - :param subscription_name: New subscription name. - :type subscription_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RenamedSubscriptionId, or the result of cls(response) - :rtype: ~subscription_client.models.RenamedSubscriptionId - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.RenamedSubscriptionId"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - _body = models.SubscriptionName(subscription_name=subscription_name) - api_version = "2020-09-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self.rename.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", 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['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' - - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_body, 'SubscriptionName') - 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) - error = self._deserialize(models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('RenamedSubscriptionId', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - rename.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename'} # type: ignore - - async def enable( - self, - subscription_id: str, - **kwargs - ) -> "models.EnabledSubscriptionId": - """The operation to enable a subscription. - - :param subscription_id: Subscription Id. - :type subscription_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EnabledSubscriptionId, or the result of cls(response) - :rtype: ~subscription_client.models.EnabledSubscriptionId - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EnabledSubscriptionId"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # Construct URL - url = self.enable.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", 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'] = 'application/json' - - 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) - error = self._deserialize(models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('EnabledSubscriptionId', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - enable.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/models/__init__.py b/src/account/azext_account/vendored_sdks/subscription/models/__init__.py index aa5146a991e..278a7e1ddf0 100644 --- a/src/account/azext_account/vendored_sdks/subscription/models/__init__.py +++ b/src/account/azext_account/vendored_sdks/subscription/models/__init__.py @@ -6,52 +6,44 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import CanceledSubscriptionId - from ._models_py3 import EnabledSubscriptionId - from ._models_py3 import ErrorResponse - from ._models_py3 import ErrorResponseBody - from ._models_py3 import Location - from ._models_py3 import LocationListResult - from ._models_py3 import Operation - from ._models_py3 import OperationDisplay - from ._models_py3 import OperationListResult - from ._models_py3 import PutAliasListResult - from ._models_py3 import PutAliasRequest - from ._models_py3 import PutAliasRequestProperties - from ._models_py3 import PutAliasResponse - from ._models_py3 import PutAliasResponseProperties - from ._models_py3 import RenamedSubscriptionId - from ._models_py3 import Subscription - from ._models_py3 import SubscriptionListResult - from ._models_py3 import SubscriptionName - from ._models_py3 import SubscriptionPolicies - from ._models_py3 import TenantIdDescription - from ._models_py3 import TenantListResult -except (SyntaxError, ImportError): - from ._models import CanceledSubscriptionId # type: ignore - from ._models import EnabledSubscriptionId # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import ErrorResponseBody # type: ignore - from ._models import Location # type: ignore - from ._models import LocationListResult # type: ignore - from ._models import Operation # type: ignore - from ._models import OperationDisplay # type: ignore - from ._models import OperationListResult # type: ignore - from ._models import PutAliasListResult # type: ignore - from ._models import PutAliasRequest # type: ignore - from ._models import PutAliasRequestProperties # type: ignore - from ._models import PutAliasResponse # type: ignore - from ._models import PutAliasResponseProperties # type: ignore - from ._models import RenamedSubscriptionId # type: ignore - from ._models import Subscription # type: ignore - from ._models import SubscriptionListResult # type: ignore - from ._models import SubscriptionName # type: ignore - from ._models import SubscriptionPolicies # type: ignore - from ._models import TenantIdDescription # type: ignore - from ._models import TenantListResult # type: ignore +from ._models_py3 import AcceptOwnershipRequest +from ._models_py3 import AcceptOwnershipRequestProperties +from ._models_py3 import AcceptOwnershipStatusResponse +from ._models_py3 import BillingAccountPoliciesResponse +from ._models_py3 import BillingAccountPoliciesResponseProperties +from ._models_py3 import CanceledSubscriptionId +from ._models_py3 import EnabledSubscriptionId +from ._models_py3 import ErrorResponse +from ._models_py3 import ErrorResponseBody +from ._models_py3 import GetTenantPolicyListResponse +from ._models_py3 import GetTenantPolicyResponse +from ._models_py3 import Location +from ._models_py3 import LocationListResult +from ._models_py3 import Operation +from ._models_py3 import OperationDisplay +from ._models_py3 import OperationListResult +from ._models_py3 import PutAliasRequest +from ._models_py3 import PutAliasRequestAdditionalProperties +from ._models_py3 import PutAliasRequestProperties +from ._models_py3 import PutTenantPolicyRequestProperties +from ._models_py3 import RenamedSubscriptionId +from ._models_py3 import ServiceTenantResponse +from ._models_py3 import Subscription +from ._models_py3 import SubscriptionAliasListResult +from ._models_py3 import SubscriptionAliasResponse +from ._models_py3 import SubscriptionAliasResponseProperties +from ._models_py3 import SubscriptionListResult +from ._models_py3 import SubscriptionName +from ._models_py3 import SubscriptionPolicies +from ._models_py3 import SystemData +from ._models_py3 import TenantIdDescription +from ._models_py3 import TenantListResult +from ._models_py3 import TenantPolicy + from ._subscription_client_enums import ( + AcceptOwnership, + CreatedByType, ProvisioningState, SpendingLimit, SubscriptionState, @@ -59,27 +51,41 @@ ) __all__ = [ + 'AcceptOwnershipRequest', + 'AcceptOwnershipRequestProperties', + 'AcceptOwnershipStatusResponse', + 'BillingAccountPoliciesResponse', + 'BillingAccountPoliciesResponseProperties', 'CanceledSubscriptionId', 'EnabledSubscriptionId', 'ErrorResponse', 'ErrorResponseBody', + 'GetTenantPolicyListResponse', + 'GetTenantPolicyResponse', 'Location', 'LocationListResult', 'Operation', 'OperationDisplay', 'OperationListResult', - 'PutAliasListResult', 'PutAliasRequest', + 'PutAliasRequestAdditionalProperties', 'PutAliasRequestProperties', - 'PutAliasResponse', - 'PutAliasResponseProperties', + 'PutTenantPolicyRequestProperties', 'RenamedSubscriptionId', + 'ServiceTenantResponse', 'Subscription', + 'SubscriptionAliasListResult', + 'SubscriptionAliasResponse', + 'SubscriptionAliasResponseProperties', 'SubscriptionListResult', 'SubscriptionName', 'SubscriptionPolicies', + 'SystemData', 'TenantIdDescription', 'TenantListResult', + 'TenantPolicy', + 'AcceptOwnership', + 'CreatedByType', 'ProvisioningState', 'SpendingLimit', 'SubscriptionState', diff --git a/src/account/azext_account/vendored_sdks/subscription/models/_models.py b/src/account/azext_account/vendored_sdks/subscription/models/_models.py deleted file mode 100644 index 9c37458d737..00000000000 --- a/src/account/azext_account/vendored_sdks/subscription/models/_models.py +++ /dev/null @@ -1,632 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -class CanceledSubscriptionId(msrest.serialization.Model): - """The ID of the canceled subscription. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The ID of the canceled subscription. - :vartype value: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CanceledSubscriptionId, self).__init__(**kwargs) - self.value = None - - -class EnabledSubscriptionId(msrest.serialization.Model): - """The ID of the subscriptions that is being enabled. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The ID of the subscriptions that is being enabled. - :vartype value: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(EnabledSubscriptionId, self).__init__(**kwargs) - self.value = None - - -class ErrorResponse(msrest.serialization.Model): - """Describes the format of Error response. - - :param code: Error code. - :type code: str - :param message: Error message indicating why the operation failed. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - - -class ErrorResponseBody(msrest.serialization.Model): - """Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. - - :param error: The details of the error. - :type error: ~subscription_client.models.ErrorResponse - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorResponse'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponseBody, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class Location(msrest.serialization.Model): - """Location information. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The fully qualified ID of the location. For example, - /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. - :vartype id: str - :ivar subscription_id: The subscription ID. - :vartype subscription_id: str - :ivar name: The location name. - :vartype name: str - :ivar display_name: The display name of the location. - :vartype display_name: str - :ivar latitude: The latitude of the location. - :vartype latitude: str - :ivar longitude: The longitude of the location. - :vartype longitude: str - """ - - _validation = { - 'id': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'name': {'readonly': True}, - 'display_name': {'readonly': True}, - 'latitude': {'readonly': True}, - 'longitude': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'latitude': {'key': 'latitude', 'type': 'str'}, - 'longitude': {'key': 'longitude', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Location, self).__init__(**kwargs) - self.id = None - self.subscription_id = None - self.name = None - self.display_name = None - self.latitude = None - self.longitude = None - - -class LocationListResult(msrest.serialization.Model): - """Location list operation response. - - :param value: An array of locations. - :type value: list[~subscription_client.models.Location] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Location]'}, - } - - def __init__( - self, - **kwargs - ): - super(LocationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - - -class Operation(msrest.serialization.Model): - """REST API operation. - - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: The object that represents the operation. - :type display: ~subscription_client.models.OperationDisplay - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - } - - def __init__( - self, - **kwargs - ): - super(Operation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - - -class OperationDisplay(msrest.serialization.Model): - """The object that represents the operation. - - :param provider: Service provider: Microsoft.Subscription. - :type provider: str - :param resource: Resource on which the operation is performed: Profile, endpoint, etc. - :type resource: str - :param operation: Operation type: Read, write, delete, etc. - :type operation: str - """ - - _attribute_map = { - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - 'operation': {'key': 'operation', '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) - - -class OperationListResult(msrest.serialization.Model): - """Result of the request to list operations. It contains a list of operations and a URL link to get the next set of results. - - :param value: List of operations. - :type value: list[~subscription_client.models.Operation] - :param next_link: URL to get the next set of operation list results if there are any. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Operation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class PutAliasListResult(msrest.serialization.Model): - """The list of aliases. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of alias. - :vartype value: list[~subscription_client.models.PutAliasResponse] - :ivar next_link: The link (url) to the next page of results. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PutAliasResponse]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PutAliasListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class PutAliasRequest(msrest.serialization.Model): - """The parameters required to create a new subscription. - - All required parameters must be populated in order to send to Azure. - - :param properties: Required. Put alias request properties. - :type properties: ~subscription_client.models.PutAliasRequestProperties - """ - - _validation = { - 'properties': {'required': True}, - } - - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'PutAliasRequestProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(PutAliasRequest, self).__init__(**kwargs) - self.properties = kwargs['properties'] - - -class PutAliasRequestProperties(msrest.serialization.Model): - """Put subscription properties. - - All required parameters must be populated in order to send to Azure. - - :param display_name: Required. The friendly name of the subscription. - :type display_name: str - :param workload: Required. The workload type of the subscription. It can be either Production - or DevTest. Possible values include: "Production", "DevTest". - :type workload: str or ~subscription_client.models.Workload - :param billing_scope: Required. Determines whether subscription is fieldLed, partnerLed or - LegacyEA. - :type billing_scope: str - :param subscription_id: This parameter can be used to create alias for existing subscription - Id. - :type subscription_id: str - :param reseller_id: Reseller ID, basically MPN Id. - :type reseller_id: str - """ - - _attribute_map = { - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'workload': {'key': 'workload', 'type': 'str'}, - 'billing_scope': {'key': 'billingScope', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'reseller_id': {'key': 'resellerId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PutAliasRequestProperties, self).__init__(**kwargs) - self.display_name = kwargs.get('display_name', None) - self.workload = kwargs.get('workload', None) - self.billing_scope = kwargs.get('billing_scope', None) - self.subscription_id = kwargs.get('subscription_id', None) - self.reseller_id = kwargs.get('reseller_id', None) - - -class PutAliasResponse(msrest.serialization.Model): - """Subscription Information with the alias. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified ID for the alias resource. - :vartype id: str - :ivar name: Alias ID. - :vartype name: str - :ivar type: Resource type, Microsoft.Subscription/aliases. - :vartype type: str - :param properties: Put Alias response properties. - :type properties: ~subscription_client.models.PutAliasResponseProperties - """ - - _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'}, - 'properties': {'key': 'properties', 'type': 'PutAliasResponseProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(PutAliasResponse, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.properties = kwargs.get('properties', None) - - -class PutAliasResponseProperties(msrest.serialization.Model): - """Put subscription creation result properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar subscription_id: Newly created subscription Id. - :vartype subscription_id: str - :param provisioning_state: The provisioning state of the resource. Possible values include: - "Accepted", "Succeeded", "Failed". - :type provisioning_state: str or ~subscription_client.models.ProvisioningState - """ - - _validation = { - 'subscription_id': {'readonly': True}, - } - - _attribute_map = { - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PutAliasResponseProperties, self).__init__(**kwargs) - self.subscription_id = None - self.provisioning_state = kwargs.get('provisioning_state', None) - - -class RenamedSubscriptionId(msrest.serialization.Model): - """The ID of the subscriptions that is being renamed. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The ID of the subscriptions that is being renamed. - :vartype value: str - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RenamedSubscriptionId, self).__init__(**kwargs) - self.value = None - - -class Subscription(msrest.serialization.Model): - """Subscription information. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The fully qualified ID for the subscription. For example, - /subscriptions/00000000-0000-0000-0000-000000000000. - :vartype id: str - :ivar subscription_id: The subscription ID. - :vartype subscription_id: str - :ivar display_name: The subscription display name. - :vartype display_name: str - :ivar state: The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, - and Deleted. Possible values include: "Enabled", "Warned", "PastDue", "Disabled", "Deleted". - :vartype state: str or ~subscription_client.models.SubscriptionState - :param subscription_policies: The subscription policies. - :type subscription_policies: ~subscription_client.models.SubscriptionPolicies - :param authorization_source: The authorization source of the request. Valid values are one or - more combinations of Legacy, RoleBased, Bypassed, Direct and Management. For example, 'Legacy, - RoleBased'. - :type authorization_source: str - """ - - _validation = { - 'id': {'readonly': True}, - 'subscription_id': {'readonly': True}, - 'display_name': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'subscription_policies': {'key': 'subscriptionPolicies', 'type': 'SubscriptionPolicies'}, - 'authorization_source': {'key': 'authorizationSource', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Subscription, self).__init__(**kwargs) - self.id = None - self.subscription_id = None - self.display_name = None - self.state = None - self.subscription_policies = kwargs.get('subscription_policies', None) - self.authorization_source = kwargs.get('authorization_source', None) - - -class SubscriptionListResult(msrest.serialization.Model): - """Subscription list operation response. - - All required parameters must be populated in order to send to Azure. - - :param value: An array of subscriptions. - :type value: list[~subscription_client.models.Subscription] - :param next_link: Required. The URL to get the next set of results. - :type next_link: str - """ - - _validation = { - 'next_link': {'required': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Subscription]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SubscriptionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs['next_link'] - - -class SubscriptionName(msrest.serialization.Model): - """The new name of the subscription. - - :param subscription_name: New subscription name. - :type subscription_name: str - """ - - _attribute_map = { - 'subscription_name': {'key': 'subscriptionName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SubscriptionName, self).__init__(**kwargs) - self.subscription_name = kwargs.get('subscription_name', None) - - -class SubscriptionPolicies(msrest.serialization.Model): - """Subscription policies. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar location_placement_id: The subscription location placement ID. The ID indicates which - regions are visible for a subscription. For example, a subscription with a location placement - Id of Public_2014-09-01 has access to Azure public regions. - :vartype location_placement_id: str - :ivar quota_id: The subscription quota ID. - :vartype quota_id: str - :ivar spending_limit: The subscription spending limit. Possible values include: "On", "Off", - "CurrentPeriodOff". - :vartype spending_limit: str or ~subscription_client.models.SpendingLimit - """ - - _validation = { - 'location_placement_id': {'readonly': True}, - 'quota_id': {'readonly': True}, - 'spending_limit': {'readonly': True}, - } - - _attribute_map = { - 'location_placement_id': {'key': 'locationPlacementId', 'type': 'str'}, - 'quota_id': {'key': 'quotaId', 'type': 'str'}, - 'spending_limit': {'key': 'spendingLimit', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SubscriptionPolicies, self).__init__(**kwargs) - self.location_placement_id = None - self.quota_id = None - self.spending_limit = None - - -class TenantIdDescription(msrest.serialization.Model): - """Tenant Id information. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The fully qualified ID of the tenant. For example, - /tenants/00000000-0000-0000-0000-000000000000. - :vartype id: str - :ivar tenant_id: The tenant ID. For example, 00000000-0000-0000-0000-000000000000. - :vartype tenant_id: str - """ - - _validation = { - 'id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(TenantIdDescription, self).__init__(**kwargs) - self.id = None - self.tenant_id = None - - -class TenantListResult(msrest.serialization.Model): - """Tenant Ids information. - - All required parameters must be populated in order to send to Azure. - - :param value: An array of tenants. - :type value: list[~subscription_client.models.TenantIdDescription] - :param next_link: Required. The URL to use for getting the next set of results. - :type next_link: str - """ - - _validation = { - 'next_link': {'required': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[TenantIdDescription]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(TenantListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs['next_link'] diff --git a/src/account/azext_account/vendored_sdks/subscription/models/_models_py3.py b/src/account/azext_account/vendored_sdks/subscription/models/_models_py3.py index 7453e60d805..85bfda0fa46 100644 --- a/src/account/azext_account/vendored_sdks/subscription/models/_models_py3.py +++ b/src/account/azext_account/vendored_sdks/subscription/models/_models_py3.py @@ -6,7 +6,8 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import List, Optional, Union +import datetime +from typing import Dict, List, Optional, Union from azure.core.exceptions import HttpResponseError import msrest.serialization @@ -14,29 +15,243 @@ from ._subscription_client_enums import * +class AcceptOwnershipRequest(msrest.serialization.Model): + """The parameters required to accept subscription ownership. + + :ivar properties: Accept subscription ownership request properties. + :vartype properties: ~azure.mgmt.subscription.models.AcceptOwnershipRequestProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'AcceptOwnershipRequestProperties'}, + } + + def __init__( + self, + *, + properties: Optional["AcceptOwnershipRequestProperties"] = None, + **kwargs + ): + """ + :keyword properties: Accept subscription ownership request properties. + :paramtype properties: ~azure.mgmt.subscription.models.AcceptOwnershipRequestProperties + """ + super(AcceptOwnershipRequest, self).__init__(**kwargs) + self.properties = properties + + +class AcceptOwnershipRequestProperties(msrest.serialization.Model): + """Accept subscription ownership request properties. + + All required parameters must be populated in order to send to Azure. + + :ivar display_name: Required. The friendly name of the subscription. + :vartype display_name: str + :ivar management_group_id: Management group Id for the subscription. + :vartype management_group_id: str + :ivar tags: A set of tags. Tags for the subscription. + :vartype tags: dict[str, str] + """ + + _validation = { + 'display_name': {'required': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'management_group_id': {'key': 'managementGroupId', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + display_name: str, + management_group_id: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword display_name: Required. The friendly name of the subscription. + :paramtype display_name: str + :keyword management_group_id: Management group Id for the subscription. + :paramtype management_group_id: str + :keyword tags: A set of tags. Tags for the subscription. + :paramtype tags: dict[str, str] + """ + super(AcceptOwnershipRequestProperties, self).__init__(**kwargs) + self.display_name = display_name + self.management_group_id = management_group_id + self.tags = tags + + +class AcceptOwnershipStatusResponse(msrest.serialization.Model): + """Subscription Accept Ownership Response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar subscription_id: Newly created subscription Id. + :vartype subscription_id: str + :ivar accept_ownership_state: The accept ownership state of the resource. Possible values + include: "Pending", "Completed", "Expired". + :vartype accept_ownership_state: str or ~azure.mgmt.subscription.models.AcceptOwnership + :ivar billing_owner: UPN of the billing owner. + :vartype billing_owner: str + :ivar subscription_tenant_id: Tenant Id of the subscription. + :vartype subscription_tenant_id: str + :ivar display_name: The display name of the subscription. + :vartype display_name: str + :ivar tags: A set of tags. Tags for the subscription. + :vartype tags: dict[str, str] + """ + + _validation = { + 'subscription_id': {'readonly': True}, + 'accept_ownership_state': {'readonly': True}, + 'billing_owner': {'readonly': True}, + } + + _attribute_map = { + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'accept_ownership_state': {'key': 'acceptOwnershipState', 'type': 'str'}, + 'billing_owner': {'key': 'billingOwner', 'type': 'str'}, + 'subscription_tenant_id': {'key': 'subscriptionTenantId', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + subscription_tenant_id: Optional[str] = None, + display_name: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword subscription_tenant_id: Tenant Id of the subscription. + :paramtype subscription_tenant_id: str + :keyword display_name: The display name of the subscription. + :paramtype display_name: str + :keyword tags: A set of tags. Tags for the subscription. + :paramtype tags: dict[str, str] + """ + super(AcceptOwnershipStatusResponse, self).__init__(**kwargs) + self.subscription_id = None + self.accept_ownership_state = None + self.billing_owner = None + self.subscription_tenant_id = subscription_tenant_id + self.display_name = display_name + self.tags = tags + + +class BillingAccountPoliciesResponse(msrest.serialization.Model): + """Billing account policies information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified ID for the policy. + :vartype id: str + :ivar name: Policy name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar properties: Billing account policies response properties. + :vartype properties: ~azure.mgmt.subscription.models.BillingAccountPoliciesResponseProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.subscription.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'}, + 'properties': {'key': 'properties', 'type': 'BillingAccountPoliciesResponseProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + properties: Optional["BillingAccountPoliciesResponseProperties"] = None, + **kwargs + ): + """ + :keyword properties: Billing account policies response properties. + :paramtype properties: ~azure.mgmt.subscription.models.BillingAccountPoliciesResponseProperties + """ + super(BillingAccountPoliciesResponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = properties + self.system_data = None + + +class BillingAccountPoliciesResponseProperties(msrest.serialization.Model): + """Put billing account policies response properties. + + :ivar service_tenants: Service tenant for the billing account. + :vartype service_tenants: list[~azure.mgmt.subscription.models.ServiceTenantResponse] + :ivar allow_transfers: Determine if the transfers are allowed for the billing account. + :vartype allow_transfers: bool + """ + + _attribute_map = { + 'service_tenants': {'key': 'serviceTenants', 'type': '[ServiceTenantResponse]'}, + 'allow_transfers': {'key': 'allowTransfers', 'type': 'bool'}, + } + + def __init__( + self, + *, + service_tenants: Optional[List["ServiceTenantResponse"]] = None, + allow_transfers: Optional[bool] = None, + **kwargs + ): + """ + :keyword service_tenants: Service tenant for the billing account. + :paramtype service_tenants: list[~azure.mgmt.subscription.models.ServiceTenantResponse] + :keyword allow_transfers: Determine if the transfers are allowed for the billing account. + :paramtype allow_transfers: bool + """ + super(BillingAccountPoliciesResponseProperties, self).__init__(**kwargs) + self.service_tenants = service_tenants + self.allow_transfers = allow_transfers + + class CanceledSubscriptionId(msrest.serialization.Model): """The ID of the canceled subscription. Variables are only populated by the server, and will be ignored when sending a request. - :ivar value: The ID of the canceled subscription. - :vartype value: str + :ivar subscription_id: The ID of the canceled subscription. + :vartype subscription_id: str """ _validation = { - 'value': {'readonly': True}, + 'subscription_id': {'readonly': True}, } _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, } def __init__( self, **kwargs ): + """ + """ super(CanceledSubscriptionId, self).__init__(**kwargs) - self.value = None + self.subscription_id = None class EnabledSubscriptionId(msrest.serialization.Model): @@ -44,33 +259,35 @@ class EnabledSubscriptionId(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :ivar value: The ID of the subscriptions that is being enabled. - :vartype value: str + :ivar subscription_id: The ID of the subscriptions that is being enabled. + :vartype subscription_id: str """ _validation = { - 'value': {'readonly': True}, + 'subscription_id': {'readonly': True}, } _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, } def __init__( self, **kwargs ): + """ + """ super(EnabledSubscriptionId, self).__init__(**kwargs) - self.value = None + self.subscription_id = None class ErrorResponse(msrest.serialization.Model): """Describes the format of Error response. - :param code: Error code. - :type code: str - :param message: Error message indicating why the operation failed. - :type message: str + :ivar code: Error code. + :vartype code: str + :ivar message: Error message indicating why the operation failed. + :vartype message: str """ _attribute_map = { @@ -85,6 +302,12 @@ def __init__( message: Optional[str] = None, **kwargs ): + """ + :keyword code: Error code. + :paramtype code: str + :keyword message: Error message indicating why the operation failed. + :paramtype message: str + """ super(ErrorResponse, self).__init__(**kwargs) self.code = code self.message = message @@ -93,22 +316,122 @@ def __init__( class ErrorResponseBody(msrest.serialization.Model): """Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. - :param error: The details of the error. - :type error: ~subscription_client.models.ErrorResponse + :ivar error: The details of the error. + :vartype error: ~azure.mgmt.subscription.models.ErrorResponse + :ivar code: Error code. + :vartype code: str + :ivar message: Error message indicating why the operation failed. + :vartype message: str """ _attribute_map = { 'error': {'key': 'error', 'type': 'ErrorResponse'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, } def __init__( self, *, error: Optional["ErrorResponse"] = None, + code: Optional[str] = None, + message: Optional[str] = None, **kwargs ): + """ + :keyword error: The details of the error. + :paramtype error: ~azure.mgmt.subscription.models.ErrorResponse + :keyword code: Error code. + :paramtype code: str + :keyword message: Error message indicating why the operation failed. + :paramtype message: str + """ super(ErrorResponseBody, self).__init__(**kwargs) self.error = error + self.code = code + self.message = message + + +class GetTenantPolicyListResponse(msrest.serialization.Model): + """Tenant policy information list. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of tenant policies. + :vartype value: list[~azure.mgmt.subscription.models.GetTenantPolicyResponse] + :ivar next_link: The link (url) to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GetTenantPolicyResponse]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(GetTenantPolicyListResponse, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GetTenantPolicyResponse(msrest.serialization.Model): + """Tenant policy Information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Policy Id. + :vartype id: str + :ivar name: Policy name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar properties: Tenant policy properties. + :vartype properties: ~azure.mgmt.subscription.models.TenantPolicy + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.subscription.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'}, + 'properties': {'key': 'properties', 'type': 'TenantPolicy'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + properties: Optional["TenantPolicy"] = None, + **kwargs + ): + """ + :keyword properties: Tenant policy properties. + :paramtype properties: ~azure.mgmt.subscription.models.TenantPolicy + """ + super(GetTenantPolicyResponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = properties + self.system_data = None class Location(msrest.serialization.Model): @@ -153,6 +476,8 @@ def __init__( self, **kwargs ): + """ + """ super(Location, self).__init__(**kwargs) self.id = None self.subscription_id = None @@ -165,8 +490,8 @@ def __init__( class LocationListResult(msrest.serialization.Model): """Location list operation response. - :param value: An array of locations. - :type value: list[~subscription_client.models.Location] + :ivar value: An array of locations. + :vartype value: list[~azure.mgmt.subscription.models.Location] """ _attribute_map = { @@ -179,6 +504,10 @@ def __init__( value: Optional[List["Location"]] = None, **kwargs ): + """ + :keyword value: An array of locations. + :paramtype value: list[~azure.mgmt.subscription.models.Location] + """ super(LocationListResult, self).__init__(**kwargs) self.value = value @@ -186,14 +515,17 @@ def __init__( class Operation(msrest.serialization.Model): """REST API operation. - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: The object that represents the operation. - :type display: ~subscription_client.models.OperationDisplay + :ivar name: Operation name: {provider}/{resource}/{operation}. + :vartype name: str + :ivar is_data_action: Indicates whether the operation is a data action. + :vartype is_data_action: bool + :ivar display: The object that represents the operation. + :vartype display: ~azure.mgmt.subscription.models.OperationDisplay """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, 'display': {'key': 'display', 'type': 'OperationDisplay'}, } @@ -201,29 +533,42 @@ def __init__( self, *, name: Optional[str] = None, + is_data_action: Optional[bool] = None, display: Optional["OperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name: {provider}/{resource}/{operation}. + :paramtype name: str + :keyword is_data_action: Indicates whether the operation is a data action. + :paramtype is_data_action: bool + :keyword display: The object that represents the operation. + :paramtype display: ~azure.mgmt.subscription.models.OperationDisplay + """ super(Operation, self).__init__(**kwargs) self.name = name + self.is_data_action = is_data_action self.display = display class OperationDisplay(msrest.serialization.Model): """The object that represents the operation. - :param provider: Service provider: Microsoft.Subscription. - :type provider: str - :param resource: Resource on which the operation is performed: Profile, endpoint, etc. - :type resource: str - :param operation: Operation type: Read, write, delete, etc. - :type operation: str + :ivar provider: Service provider: Microsoft.Subscription. + :vartype provider: str + :ivar resource: Resource on which the operation is performed: Profile, endpoint, etc. + :vartype resource: str + :ivar operation: Operation type: Read, write, delete, etc. + :vartype operation: str + :ivar description: Localized friendly description for the operation. + :vartype 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__( @@ -232,21 +577,33 @@ def __init__( provider: Optional[str] = None, resource: Optional[str] = None, operation: Optional[str] = None, + description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Service provider: Microsoft.Subscription. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed: Profile, endpoint, etc. + :paramtype resource: str + :keyword operation: Operation type: Read, write, delete, etc. + :paramtype operation: str + :keyword description: Localized friendly description for the operation. + :paramtype description: str + """ super(OperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource self.operation = operation + self.description = description class OperationListResult(msrest.serialization.Model): """Result of the request to list operations. It contains a list of operations and a URL link to get the next set of results. - :param value: List of operations. - :type value: list[~subscription_client.models.Operation] - :param next_link: URL to get the next set of operation list results if there are any. - :type next_link: str + :ivar value: List of operations. + :vartype value: list[~azure.mgmt.subscription.models.Operation] + :ivar next_link: URL to get the next set of operation list results if there are any. + :vartype next_link: str """ _attribute_map = { @@ -261,86 +618,110 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: List of operations. + :paramtype value: list[~azure.mgmt.subscription.models.Operation] + :keyword next_link: URL to get the next set of operation list results if there are any. + :paramtype next_link: str + """ super(OperationListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link -class PutAliasListResult(msrest.serialization.Model): - """The list of aliases. - - Variables are only populated by the server, and will be ignored when sending a request. +class PutAliasRequest(msrest.serialization.Model): + """The parameters required to create a new subscription. - :ivar value: The list of alias. - :vartype value: list[~subscription_client.models.PutAliasResponse] - :ivar next_link: The link (url) to the next page of results. - :vartype next_link: str + :ivar properties: Put alias request properties. + :vartype properties: ~azure.mgmt.subscription.models.PutAliasRequestProperties """ - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - _attribute_map = { - 'value': {'key': 'value', 'type': '[PutAliasResponse]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'PutAliasRequestProperties'}, } def __init__( self, + *, + properties: Optional["PutAliasRequestProperties"] = None, **kwargs ): - super(PutAliasListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None + """ + :keyword properties: Put alias request properties. + :paramtype properties: ~azure.mgmt.subscription.models.PutAliasRequestProperties + """ + super(PutAliasRequest, self).__init__(**kwargs) + self.properties = properties -class PutAliasRequest(msrest.serialization.Model): - """The parameters required to create a new subscription. +class PutAliasRequestAdditionalProperties(msrest.serialization.Model): + """Put subscription additional properties. - All required parameters must be populated in order to send to Azure. - - :param properties: Required. Put alias request properties. - :type properties: ~subscription_client.models.PutAliasRequestProperties + :ivar management_group_id: Management group Id for the subscription. + :vartype management_group_id: str + :ivar subscription_tenant_id: Tenant Id of the subscription. + :vartype subscription_tenant_id: str + :ivar subscription_owner_id: Owner Id of the subscription. + :vartype subscription_owner_id: str + :ivar tags: A set of tags. Tags for the subscription. + :vartype tags: dict[str, str] """ - _validation = { - 'properties': {'required': True}, - } - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'PutAliasRequestProperties'}, + 'management_group_id': {'key': 'managementGroupId', 'type': 'str'}, + 'subscription_tenant_id': {'key': 'subscriptionTenantId', 'type': 'str'}, + 'subscription_owner_id': {'key': 'subscriptionOwnerId', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__( self, *, - properties: "PutAliasRequestProperties", + management_group_id: Optional[str] = None, + subscription_tenant_id: Optional[str] = None, + subscription_owner_id: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, **kwargs ): - super(PutAliasRequest, self).__init__(**kwargs) - self.properties = properties + """ + :keyword management_group_id: Management group Id for the subscription. + :paramtype management_group_id: str + :keyword subscription_tenant_id: Tenant Id of the subscription. + :paramtype subscription_tenant_id: str + :keyword subscription_owner_id: Owner Id of the subscription. + :paramtype subscription_owner_id: str + :keyword tags: A set of tags. Tags for the subscription. + :paramtype tags: dict[str, str] + """ + super(PutAliasRequestAdditionalProperties, self).__init__(**kwargs) + self.management_group_id = management_group_id + self.subscription_tenant_id = subscription_tenant_id + self.subscription_owner_id = subscription_owner_id + self.tags = tags class PutAliasRequestProperties(msrest.serialization.Model): """Put subscription properties. - All required parameters must be populated in order to send to Azure. - - :param display_name: Required. The friendly name of the subscription. - :type display_name: str - :param workload: Required. The workload type of the subscription. It can be either Production - or DevTest. Possible values include: "Production", "DevTest". - :type workload: str or ~subscription_client.models.Workload - :param billing_scope: Required. Determines whether subscription is fieldLed, partnerLed or - LegacyEA. - :type billing_scope: str - :param subscription_id: This parameter can be used to create alias for existing subscription - Id. - :type subscription_id: str - :param reseller_id: Reseller ID, basically MPN Id. - :type reseller_id: str + :ivar display_name: The friendly name of the subscription. + :vartype display_name: str + :ivar workload: The workload type of the subscription. It can be either Production or DevTest. + Possible values include: "Production", "DevTest". + :vartype workload: str or ~azure.mgmt.subscription.models.Workload + :ivar billing_scope: Billing scope of the subscription. + For CustomerLed and FieldLed - + /billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName} + For PartnerLed - /billingAccounts/{billingAccountName}/customers/{customerName} + For Legacy EA - + /billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}. + :vartype billing_scope: str + :ivar subscription_id: This parameter can be used to create alias for existing subscription Id. + :vartype subscription_id: str + :ivar reseller_id: Reseller Id. + :vartype reseller_id: str + :ivar additional_properties: Put alias request additional properties. + :vartype additional_properties: + ~azure.mgmt.subscription.models.PutAliasRequestAdditionalProperties """ _attribute_map = { @@ -349,6 +730,7 @@ class PutAliasRequestProperties(msrest.serialization.Model): 'billing_scope': {'key': 'billingScope', 'type': 'str'}, 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 'reseller_id': {'key': 'resellerId', 'type': 'str'}, + 'additional_properties': {'key': 'additionalProperties', 'type': 'PutAliasRequestAdditionalProperties'}, } def __init__( @@ -359,67 +741,91 @@ def __init__( billing_scope: Optional[str] = None, subscription_id: Optional[str] = None, reseller_id: Optional[str] = None, + additional_properties: Optional["PutAliasRequestAdditionalProperties"] = None, **kwargs ): + """ + :keyword display_name: The friendly name of the subscription. + :paramtype display_name: str + :keyword workload: The workload type of the subscription. It can be either Production or + DevTest. Possible values include: "Production", "DevTest". + :paramtype workload: str or ~azure.mgmt.subscription.models.Workload + :keyword billing_scope: Billing scope of the subscription. + For CustomerLed and FieldLed - + /billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName} + For PartnerLed - /billingAccounts/{billingAccountName}/customers/{customerName} + For Legacy EA - + /billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}. + :paramtype billing_scope: str + :keyword subscription_id: This parameter can be used to create alias for existing subscription + Id. + :paramtype subscription_id: str + :keyword reseller_id: Reseller Id. + :paramtype reseller_id: str + :keyword additional_properties: Put alias request additional properties. + :paramtype additional_properties: + ~azure.mgmt.subscription.models.PutAliasRequestAdditionalProperties + """ super(PutAliasRequestProperties, self).__init__(**kwargs) self.display_name = display_name self.workload = workload self.billing_scope = billing_scope self.subscription_id = subscription_id self.reseller_id = reseller_id + self.additional_properties = additional_properties -class PutAliasResponse(msrest.serialization.Model): - """Subscription Information with the alias. - - Variables are only populated by the server, and will be ignored when sending a request. +class PutTenantPolicyRequestProperties(msrest.serialization.Model): + """Put tenant policy request properties. - :ivar id: Fully qualified ID for the alias resource. - :vartype id: str - :ivar name: Alias ID. - :vartype name: str - :ivar type: Resource type, Microsoft.Subscription/aliases. - :vartype type: str - :param properties: Put Alias response properties. - :type properties: ~subscription_client.models.PutAliasResponseProperties + :ivar block_subscriptions_leaving_tenant: Blocks the leaving of subscriptions from user's + tenant. + :vartype block_subscriptions_leaving_tenant: bool + :ivar block_subscriptions_into_tenant: Blocks the entering of subscriptions into user's tenant. + :vartype block_subscriptions_into_tenant: bool + :ivar exempted_principals: List of user objectIds that are exempted from the set subscription + tenant policies for the user's tenant. + :vartype exempted_principals: list[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'}, - 'properties': {'key': 'properties', 'type': 'PutAliasResponseProperties'}, + 'block_subscriptions_leaving_tenant': {'key': 'blockSubscriptionsLeavingTenant', 'type': 'bool'}, + 'block_subscriptions_into_tenant': {'key': 'blockSubscriptionsIntoTenant', 'type': 'bool'}, + 'exempted_principals': {'key': 'exemptedPrincipals', 'type': '[str]'}, } def __init__( self, *, - properties: Optional["PutAliasResponseProperties"] = None, + block_subscriptions_leaving_tenant: Optional[bool] = None, + block_subscriptions_into_tenant: Optional[bool] = None, + exempted_principals: Optional[List[str]] = None, **kwargs ): - super(PutAliasResponse, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.properties = properties + """ + :keyword block_subscriptions_leaving_tenant: Blocks the leaving of subscriptions from user's + tenant. + :paramtype block_subscriptions_leaving_tenant: bool + :keyword block_subscriptions_into_tenant: Blocks the entering of subscriptions into user's + tenant. + :paramtype block_subscriptions_into_tenant: bool + :keyword exempted_principals: List of user objectIds that are exempted from the set + subscription tenant policies for the user's tenant. + :paramtype exempted_principals: list[str] + """ + super(PutTenantPolicyRequestProperties, self).__init__(**kwargs) + self.block_subscriptions_leaving_tenant = block_subscriptions_leaving_tenant + self.block_subscriptions_into_tenant = block_subscriptions_into_tenant + self.exempted_principals = exempted_principals -class PutAliasResponseProperties(msrest.serialization.Model): - """Put subscription creation result properties. +class RenamedSubscriptionId(msrest.serialization.Model): + """The ID of the subscriptions that is being renamed. Variables are only populated by the server, and will be ignored when sending a request. - :ivar subscription_id: Newly created subscription Id. + :ivar subscription_id: The ID of the subscriptions that is being renamed. :vartype subscription_id: str - :param provisioning_state: The provisioning state of the resource. Possible values include: - "Accepted", "Succeeded", "Failed". - :type provisioning_state: str or ~subscription_client.models.ProvisioningState """ _validation = { @@ -428,43 +834,48 @@ class PutAliasResponseProperties(msrest.serialization.Model): _attribute_map = { 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, } def __init__( self, - *, - provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, **kwargs ): - super(PutAliasResponseProperties, self).__init__(**kwargs) + """ + """ + super(RenamedSubscriptionId, self).__init__(**kwargs) self.subscription_id = None - self.provisioning_state = provisioning_state -class RenamedSubscriptionId(msrest.serialization.Model): - """The ID of the subscriptions that is being renamed. - - Variables are only populated by the server, and will be ignored when sending a request. +class ServiceTenantResponse(msrest.serialization.Model): + """Billing account service tenant. - :ivar value: The ID of the subscriptions that is being renamed. - :vartype value: str + :ivar tenant_id: Service tenant id. + :vartype tenant_id: str + :ivar tenant_name: Service tenant name. + :vartype tenant_name: str """ - _validation = { - 'value': {'readonly': True}, - } - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'tenant_name': {'key': 'tenantName', 'type': 'str'}, } def __init__( self, + *, + tenant_id: Optional[str] = None, + tenant_name: Optional[str] = None, **kwargs ): - super(RenamedSubscriptionId, self).__init__(**kwargs) - self.value = None + """ + :keyword tenant_id: Service tenant id. + :paramtype tenant_id: str + :keyword tenant_name: Service tenant name. + :paramtype tenant_name: str + """ + super(ServiceTenantResponse, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.tenant_name = tenant_name class Subscription(msrest.serialization.Model): @@ -481,13 +892,13 @@ class Subscription(msrest.serialization.Model): :vartype display_name: str :ivar state: The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted. Possible values include: "Enabled", "Warned", "PastDue", "Disabled", "Deleted". - :vartype state: str or ~subscription_client.models.SubscriptionState - :param subscription_policies: The subscription policies. - :type subscription_policies: ~subscription_client.models.SubscriptionPolicies - :param authorization_source: The authorization source of the request. Valid values are one or + :vartype state: str or ~azure.mgmt.subscription.models.SubscriptionState + :ivar subscription_policies: The subscription policies. + :vartype subscription_policies: ~azure.mgmt.subscription.models.SubscriptionPolicies + :ivar authorization_source: The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management. For example, 'Legacy, RoleBased'. - :type authorization_source: str + :vartype authorization_source: str """ _validation = { @@ -513,6 +924,14 @@ def __init__( authorization_source: Optional[str] = None, **kwargs ): + """ + :keyword subscription_policies: The subscription policies. + :paramtype subscription_policies: ~azure.mgmt.subscription.models.SubscriptionPolicies + :keyword authorization_source: The authorization source of the request. Valid values are one or + more combinations of Legacy, RoleBased, Bypassed, Direct and Management. For example, 'Legacy, + RoleBased'. + :paramtype authorization_source: str + """ super(Subscription, self).__init__(**kwargs) self.id = None self.subscription_id = None @@ -522,15 +941,213 @@ def __init__( self.authorization_source = authorization_source +class SubscriptionAliasListResult(msrest.serialization.Model): + """The list of aliases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of alias. + :vartype value: list[~azure.mgmt.subscription.models.SubscriptionAliasResponse] + :ivar next_link: The link (url) to the next page of results. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SubscriptionAliasResponse]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SubscriptionAliasListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SubscriptionAliasResponse(msrest.serialization.Model): + """Subscription Information with the alias. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified ID for the alias resource. + :vartype id: str + :ivar name: Alias ID. + :vartype name: str + :ivar type: Resource type, Microsoft.Subscription/aliases. + :vartype type: str + :ivar properties: Subscription Alias response properties. + :vartype properties: ~azure.mgmt.subscription.models.SubscriptionAliasResponseProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.subscription.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'}, + 'properties': {'key': 'properties', 'type': 'SubscriptionAliasResponseProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + properties: Optional["SubscriptionAliasResponseProperties"] = None, + **kwargs + ): + """ + :keyword properties: Subscription Alias response properties. + :paramtype properties: ~azure.mgmt.subscription.models.SubscriptionAliasResponseProperties + """ + super(SubscriptionAliasResponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.properties = properties + self.system_data = None + + +class SubscriptionAliasResponseProperties(msrest.serialization.Model): + """Put subscription creation result properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar subscription_id: Newly created subscription Id. + :vartype subscription_id: str + :ivar display_name: The display name of the subscription. + :vartype display_name: str + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Accepted", "Succeeded", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.subscription.models.ProvisioningState + :ivar accept_ownership_url: Url to accept ownership of the subscription. + :vartype accept_ownership_url: str + :ivar accept_ownership_state: The accept ownership state of the resource. Possible values + include: "Pending", "Completed", "Expired". + :vartype accept_ownership_state: str or ~azure.mgmt.subscription.models.AcceptOwnership + :ivar billing_scope: Billing scope of the subscription. + For CustomerLed and FieldLed - + /billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName} + For PartnerLed - /billingAccounts/{billingAccountName}/customers/{customerName} + For Legacy EA - + /billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}. + :vartype billing_scope: str + :ivar workload: The workload type of the subscription. It can be either Production or DevTest. + Possible values include: "Production", "DevTest". + :vartype workload: str or ~azure.mgmt.subscription.models.Workload + :ivar reseller_id: Reseller Id. + :vartype reseller_id: str + :ivar subscription_owner_id: Owner Id of the subscription. + :vartype subscription_owner_id: str + :ivar management_group_id: The Management Group Id. + :vartype management_group_id: str + :ivar created_time: Created Time. + :vartype created_time: str + :ivar tags: A set of tags. Tags for the subscription. + :vartype tags: dict[str, str] + """ + + _validation = { + 'subscription_id': {'readonly': True}, + 'accept_ownership_url': {'readonly': True}, + 'accept_ownership_state': {'readonly': True}, + } + + _attribute_map = { + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'accept_ownership_url': {'key': 'acceptOwnershipUrl', 'type': 'str'}, + 'accept_ownership_state': {'key': 'acceptOwnershipState', 'type': 'str'}, + 'billing_scope': {'key': 'billingScope', 'type': 'str'}, + 'workload': {'key': 'workload', 'type': 'str'}, + 'reseller_id': {'key': 'resellerId', 'type': 'str'}, + 'subscription_owner_id': {'key': 'subscriptionOwnerId', 'type': 'str'}, + 'management_group_id': {'key': 'managementGroupId', 'type': 'str'}, + 'created_time': {'key': 'createdTime', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + display_name: Optional[str] = None, + provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, + billing_scope: Optional[str] = None, + workload: Optional[Union[str, "Workload"]] = None, + reseller_id: Optional[str] = None, + subscription_owner_id: Optional[str] = None, + management_group_id: Optional[str] = None, + created_time: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword display_name: The display name of the subscription. + :paramtype display_name: str + :keyword provisioning_state: The provisioning state of the resource. Possible values include: + "Accepted", "Succeeded", "Failed". + :paramtype provisioning_state: str or ~azure.mgmt.subscription.models.ProvisioningState + :keyword billing_scope: Billing scope of the subscription. + For CustomerLed and FieldLed - + /billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName} + For PartnerLed - /billingAccounts/{billingAccountName}/customers/{customerName} + For Legacy EA - + /billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}. + :paramtype billing_scope: str + :keyword workload: The workload type of the subscription. It can be either Production or + DevTest. Possible values include: "Production", "DevTest". + :paramtype workload: str or ~azure.mgmt.subscription.models.Workload + :keyword reseller_id: Reseller Id. + :paramtype reseller_id: str + :keyword subscription_owner_id: Owner Id of the subscription. + :paramtype subscription_owner_id: str + :keyword management_group_id: The Management Group Id. + :paramtype management_group_id: str + :keyword created_time: Created Time. + :paramtype created_time: str + :keyword tags: A set of tags. Tags for the subscription. + :paramtype tags: dict[str, str] + """ + super(SubscriptionAliasResponseProperties, self).__init__(**kwargs) + self.subscription_id = None + self.display_name = display_name + self.provisioning_state = provisioning_state + self.accept_ownership_url = None + self.accept_ownership_state = None + self.billing_scope = billing_scope + self.workload = workload + self.reseller_id = reseller_id + self.subscription_owner_id = subscription_owner_id + self.management_group_id = management_group_id + self.created_time = created_time + self.tags = tags + + class SubscriptionListResult(msrest.serialization.Model): """Subscription list operation response. All required parameters must be populated in order to send to Azure. - :param value: An array of subscriptions. - :type value: list[~subscription_client.models.Subscription] - :param next_link: Required. The URL to get the next set of results. - :type next_link: str + :ivar value: An array of subscriptions. + :vartype value: list[~azure.mgmt.subscription.models.Subscription] + :ivar next_link: Required. The URL to get the next set of results. + :vartype next_link: str """ _validation = { @@ -549,6 +1166,12 @@ def __init__( value: Optional[List["Subscription"]] = None, **kwargs ): + """ + :keyword value: An array of subscriptions. + :paramtype value: list[~azure.mgmt.subscription.models.Subscription] + :keyword next_link: Required. The URL to get the next set of results. + :paramtype next_link: str + """ super(SubscriptionListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -557,8 +1180,8 @@ def __init__( class SubscriptionName(msrest.serialization.Model): """The new name of the subscription. - :param subscription_name: New subscription name. - :type subscription_name: str + :ivar subscription_name: New subscription name. + :vartype subscription_name: str """ _attribute_map = { @@ -571,6 +1194,10 @@ def __init__( subscription_name: Optional[str] = None, **kwargs ): + """ + :keyword subscription_name: New subscription name. + :paramtype subscription_name: str + """ super(SubscriptionName, self).__init__(**kwargs) self.subscription_name = subscription_name @@ -588,7 +1215,7 @@ class SubscriptionPolicies(msrest.serialization.Model): :vartype quota_id: str :ivar spending_limit: The subscription spending limit. Possible values include: "On", "Off", "CurrentPeriodOff". - :vartype spending_limit: str or ~subscription_client.models.SpendingLimit + :vartype spending_limit: str or ~azure.mgmt.subscription.models.SpendingLimit """ _validation = { @@ -607,12 +1234,78 @@ def __init__( self, **kwargs ): + """ + """ super(SubscriptionPolicies, self).__init__(**kwargs) self.location_placement_id = None self.quota_id = None self.spending_limit = None +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.subscription.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or ~azure.mgmt.subscription.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype 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 + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or ~azure.mgmt.subscription.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or ~azure.mgmt.subscription.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + 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 TenantIdDescription(msrest.serialization.Model): """Tenant Id information. @@ -639,6 +1332,8 @@ def __init__( self, **kwargs ): + """ + """ super(TenantIdDescription, self).__init__(**kwargs) self.id = None self.tenant_id = None @@ -649,10 +1344,10 @@ class TenantListResult(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param value: An array of tenants. - :type value: list[~subscription_client.models.TenantIdDescription] - :param next_link: Required. The URL to use for getting the next set of results. - :type next_link: str + :ivar value: An array of tenants. + :vartype value: list[~azure.mgmt.subscription.models.TenantIdDescription] + :ivar next_link: Required. The URL to use for getting the next set of results. + :vartype next_link: str """ _validation = { @@ -671,6 +1366,66 @@ def __init__( value: Optional[List["TenantIdDescription"]] = None, **kwargs ): + """ + :keyword value: An array of tenants. + :paramtype value: list[~azure.mgmt.subscription.models.TenantIdDescription] + :keyword next_link: Required. The URL to use for getting the next set of results. + :paramtype next_link: str + """ super(TenantListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link + + +class TenantPolicy(msrest.serialization.Model): + """Tenant policy. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar policy_id: Policy Id. + :vartype policy_id: str + :ivar block_subscriptions_leaving_tenant: Blocks the leaving of subscriptions from user's + tenant. + :vartype block_subscriptions_leaving_tenant: bool + :ivar block_subscriptions_into_tenant: Blocks the entering of subscriptions into user's tenant. + :vartype block_subscriptions_into_tenant: bool + :ivar exempted_principals: List of user objectIds that are exempted from the set subscription + tenant policies for the user's tenant. + :vartype exempted_principals: list[str] + """ + + _validation = { + 'policy_id': {'readonly': True}, + } + + _attribute_map = { + 'policy_id': {'key': 'policyId', 'type': 'str'}, + 'block_subscriptions_leaving_tenant': {'key': 'blockSubscriptionsLeavingTenant', 'type': 'bool'}, + 'block_subscriptions_into_tenant': {'key': 'blockSubscriptionsIntoTenant', 'type': 'bool'}, + 'exempted_principals': {'key': 'exemptedPrincipals', 'type': '[str]'}, + } + + def __init__( + self, + *, + block_subscriptions_leaving_tenant: Optional[bool] = None, + block_subscriptions_into_tenant: Optional[bool] = None, + exempted_principals: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword block_subscriptions_leaving_tenant: Blocks the leaving of subscriptions from user's + tenant. + :paramtype block_subscriptions_leaving_tenant: bool + :keyword block_subscriptions_into_tenant: Blocks the entering of subscriptions into user's + tenant. + :paramtype block_subscriptions_into_tenant: bool + :keyword exempted_principals: List of user objectIds that are exempted from the set + subscription tenant policies for the user's tenant. + :paramtype exempted_principals: list[str] + """ + super(TenantPolicy, self).__init__(**kwargs) + self.policy_id = None + self.block_subscriptions_leaving_tenant = block_subscriptions_leaving_tenant + self.block_subscriptions_into_tenant = block_subscriptions_into_tenant + self.exempted_principals = exempted_principals diff --git a/src/account/azext_account/vendored_sdks/subscription/models/_subscription_client_enums.py b/src/account/azext_account/vendored_sdks/subscription/models/_subscription_client_enums.py index 18d7d3d3fcc..7f4f5b951af 100644 --- a/src/account/azext_account/vendored_sdks/subscription/models/_subscription_client_enums.py +++ b/src/account/azext_account/vendored_sdks/subscription/models/_subscription_client_enums.py @@ -6,27 +6,29 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -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 AcceptOwnership(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The accept ownership state of the resource. + """ + + PENDING = "Pending" + COMPLETED = "Completed" + EXPIRED = "Expired" + +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 ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provisioning state of the resource. """ @@ -34,7 +36,7 @@ class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): SUCCEEDED = "Succeeded" FAILED = "Failed" -class SpendingLimit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SpendingLimit(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The subscription spending limit. """ @@ -42,7 +44,7 @@ class SpendingLimit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): OFF = "Off" CURRENT_PERIOD_OFF = "CurrentPeriodOff" -class SubscriptionState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SubscriptionState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted. """ @@ -52,7 +54,7 @@ class SubscriptionState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): DISABLED = "Disabled" DELETED = "Deleted" -class Workload(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Workload(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The workload type of the subscription. It can be either Production or DevTest. """ diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/__init__.py b/src/account/azext_account/vendored_sdks/subscription/operations/__init__.py index 7b42bb434c7..502c2c8aa6d 100644 --- a/src/account/azext_account/vendored_sdks/subscription/operations/__init__.py +++ b/src/account/azext_account/vendored_sdks/subscription/operations/__init__.py @@ -6,14 +6,20 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from ._subscriptions_operations import SubscriptionsOperations +from ._tenants_operations import TenantsOperations from ._subscription_operations import SubscriptionOperations -from ._tenant_operations import TenantOperations -from ._operation_operations import OperationOperations +from ._operations import Operations from ._alias_operations import AliasOperations +from ._subscription_policy_operations import SubscriptionPolicyOperations +from ._billing_account_operations import BillingAccountOperations __all__ = [ + 'SubscriptionsOperations', + 'TenantsOperations', 'SubscriptionOperations', - 'TenantOperations', - 'OperationOperations', + 'Operations', 'AliasOperations', + 'SubscriptionPolicyOperations', + 'BillingAccountOperations', ] diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_alias_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_alias_operations.py index 6fcfec9abc2..f44f6d96e7a 100644 --- a/src/account/azext_account/vendored_sdks/subscription/operations/_alias_operations.py +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_alias_operations.py @@ -5,24 +5,154 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace 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, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + alias_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/aliases/{aliasName}') + path_format_arguments = { + "aliasName": _SERIALIZER.url("alias_name", alias_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + alias_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/aliases/{aliasName}') + path_format_arguments = { + "aliasName": _SERIALIZER.url("alias_name", alias_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + alias_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/aliases/{aliasName}') + path_format_arguments = { + "aliasName": _SERIALIZER.url("alias_name", alias_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/aliases') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class AliasOperations(object): """AliasOperations operations. @@ -31,14 +161,14 @@ class AliasOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~subscription_client.models + :type models: ~azure.mgmt.subscription.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 + models = _models def __init__(self, client, config, serializer, deserializer): self._client = client @@ -48,85 +178,82 @@ def __init__(self, client, config, serializer, deserializer): def _create_initial( self, - alias_name, # type: str - properties, # type: "models.PutAliasRequestProperties" - **kwargs # type: Any - ): - # type: (...) -> "models.PutAliasResponse" - cls = kwargs.pop('cls', None) # type: ClsType["models.PutAliasResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - - _body = models.PutAliasRequest(properties=properties) - api_version = "2020-09-01" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self._create_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'aliasName': self._serialize.url("alias_name", alias_name, 'str'), + alias_name: str, + body: "_models.PutAliasRequest", + **kwargs: Any + ) -> "_models.SubscriptionAliasResponse": + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionAliasResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) + error_map.update(kwargs.pop('error_map', {})) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # 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' + _json = self._serialize.body(body, 'PutAliasRequest') - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_body, 'PutAliasRequest') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + request = build_create_request_initial( + alias_name=alias_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) 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.ErrorResponseBody, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('PutAliasResponse', pipeline_response) + deserialized = self._deserialize('SubscriptionAliasResponse', pipeline_response) if response.status_code == 201: - deserialized = self._deserialize('PutAliasResponse', pipeline_response) + deserialized = self._deserialize('SubscriptionAliasResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/providers/Microsoft.Subscription/aliases/{aliasName}'} # type: ignore + + @distributed_trace def begin_create( self, - alias_name, # type: str - properties, # type: "models.PutAliasRequestProperties" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["models.PutAliasResponse"] + alias_name: str, + body: "_models.PutAliasRequest", + **kwargs: Any + ) -> LROPoller["_models.SubscriptionAliasResponse"]: """Create Alias Subscription. - :param alias_name: Alias Name. + :param alias_name: AliasName is the name for the subscription creation request. Note that this + is not the same as subscription name and this doesn’t have any other lifecycle need beyond the + request for subscription creation. :type alias_name: str - :param properties: Put alias request properties. - :type properties: ~subscription_client.models.PutAliasRequestProperties + :param body: + :type body: ~azure.mgmt.subscription.models.PutAliasRequest :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 + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 PutAliasResponse or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~subscription_client.models.PutAliasResponse] - :raises ~azure.core.exceptions.HttpResponseError: + :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 SubscriptionAliasResponse or the result + of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.subscription.models.SubscriptionAliasResponse] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.PutAliasResponse"] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionAliasResponse"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -135,22 +262,22 @@ def begin_create( if cont_token is None: raw_result = self._create_initial( alias_name=alias_name, - properties=properties, + body=body, + content_type=content_type, 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('PutAliasResponse', pipeline_response) - + response = pipeline_response.http_response + deserialized = self._deserialize('SubscriptionAliasResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -162,69 +289,69 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/providers/Microsoft.Subscription/aliases/{aliasName}'} # type: ignore + @distributed_trace def get( self, - alias_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.PutAliasResponse" + alias_name: str, + **kwargs: Any + ) -> "_models.SubscriptionAliasResponse": """Get Alias Subscription. - :param alias_name: Alias Name. + :param alias_name: AliasName is the name for the subscription creation request. Note that this + is not the same as subscription name and this doesn’t have any other lifecycle need beyond the + request for subscription creation. :type alias_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: PutAliasResponse, or the result of cls(response) - :rtype: ~subscription_client.models.PutAliasResponse + :return: SubscriptionAliasResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.SubscriptionAliasResponse :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PutAliasResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'aliasName': self._serialize.url("alias_name", alias_name, 'str'), + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionAliasResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + error_map.update(kwargs.pop('error_map', {})) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + + request = build_get_request( + alias_name=alias_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponseBody, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('PutAliasResponse', pipeline_response) + deserialized = self._deserialize('SubscriptionAliasResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/providers/Microsoft.Subscription/aliases/{aliasName}'} # type: ignore + + @distributed_trace def delete( self, - alias_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + alias_name: str, + **kwargs: Any + ) -> None: """Delete Alias. - :param alias_name: Alias Name. + :param alias_name: AliasName is the name for the subscription creation request. Note that this + is not the same as subscription name and this doesn’t have any other lifecycle need beyond the + request for subscription creation. :type alias_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) @@ -232,31 +359,25 @@ def delete( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'aliasName': self._serialize.url("alias_name", alias_name, 'str'), + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + error_map.update(kwargs.pop('error_map', {})) - # Construct headers - header_parameters = {} # type: Dict[str, Any] + + request = build_delete_request( + alias_name=alias_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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(models.ErrorResponseBody, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -264,47 +385,46 @@ def delete( delete.metadata = {'url': '/providers/Microsoft.Subscription/aliases/{aliasName}'} # type: ignore + + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> "models.PutAliasListResult" - """Get Alias Subscription. + **kwargs: Any + ) -> "_models.SubscriptionAliasListResult": + """List Alias Subscription. :keyword callable cls: A custom type or function that will be passed the direct response - :return: PutAliasListResult, or the result of cls(response) - :rtype: ~subscription_client.models.PutAliasListResult + :return: SubscriptionAliasListResult, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.SubscriptionAliasListResult :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.PutAliasListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionAliasListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponseBody, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('PutAliasListResult', pipeline_response) + deserialized = self._deserialize('SubscriptionAliasListResult', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/providers/Microsoft.Subscription/aliases'} # type: ignore + diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_billing_account_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_billing_account_operations.py new file mode 100644 index 00000000000..3740653f500 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_billing_account_operations.py @@ -0,0 +1,125 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_policy_request( + billing_account_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Subscription/policies/default') + path_format_arguments = { + "billingAccountId": _SERIALIZER.url("billing_account_id", billing_account_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class BillingAccountOperations(object): + """BillingAccountOperations 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.subscription.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 + + @distributed_trace + def get_policy( + self, + billing_account_id: str, + **kwargs: Any + ) -> "_models.BillingAccountPoliciesResponse": + """Get Billing Account Policy. + + :param billing_account_id: Billing Account Id. + :type billing_account_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BillingAccountPoliciesResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.BillingAccountPoliciesResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BillingAccountPoliciesResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_policy_request( + billing_account_id=billing_account_id, + template_url=self.get_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BillingAccountPoliciesResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_policy.metadata = {'url': '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Subscription/policies/default'} # type: ignore + diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_operation_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_operation_operations.py deleted file mode 100644 index ad81bbff54c..00000000000 --- a/src/account/azext_account/vendored_sdks/subscription/operations/_operation_operations.py +++ /dev/null @@ -1,90 +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 TYPE_CHECKING -import warnings - -from azure.core.exceptions import 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 OperationOperations(object): - """OperationOperations 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: ~subscription_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: (...) -> "models.OperationListResult" - """Lists all of the available Microsoft.Subscription API operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: OperationListResult, or the result of cls(response) - :rtype: ~subscription_client.models.OperationListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('OperationListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/providers/Microsoft.Subscription/operations'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_operations.py index 664844824d5..bf46f320177 100644 --- a/src/account/azext_account/vendored_sdks/subscription/operations/_operations.py +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_operations.py @@ -1,89 +1,135 @@ # coding=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. # -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse - -from .. import models - +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) 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. + 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.subscription.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: Version of the API to be used with the client request. Current version is 2019-10-01-preview. Constant value: "2019-10-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 = "2019-10-01-preview" - - self.config = config + self._config = config + @distributed_trace def list( - self, custom_headers=None, raw=False, **operation_config): + self, + **kwargs: Any + ) -> Iterable["_models.OperationListResult"]: """Lists all of the available Microsoft.Subscription API operations. - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: OperationListResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.subscription.models.OperationListResult or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.subscription.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError """ - # 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') - - # 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('OperationListResult', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - list.metadata = {'url': '/providers/Microsoft.Subscription/operations'} + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationListResult", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.Subscription/operations'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operation_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operation_operations.py deleted file mode 100644 index ff4eaf571ec..00000000000 --- a/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operation_operations.py +++ /dev/null @@ -1,104 +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 SubscriptionOperationOperations(object): - """SubscriptionOperationOperations 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: Version of the API to be used with the client request. Current version is 2019-10-01-preview. Constant value: "2019-10-01-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-10-01-preview" - - self.config = config - - def get( - self, operation_id, custom_headers=None, raw=False, **operation_config): - """Get the status of the pending Microsoft.Subscription API operations. - - :param operation_id: The operation ID, which can be found from the - Location field in the generate recommendation response header. - :type operation_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: SubscriptionCreationResult or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.subscription.models.SubscriptionCreationResult or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'operationId': self._serialize.url("operation_id", operation_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 - - header_dict = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('SubscriptionCreationResult', response) - header_dict = { - 'Location': 'str', - 'Retry-After': 'int', - } - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - client_raw_response.add_headers(header_dict) - return client_raw_response - - return deserialized - get.metadata = {'url': '/providers/Microsoft.Subscription/subscriptionOperations/{operationId}'} diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operations.py index 9e068481e4c..ccbb6fc0873 100644 --- a/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operations.py +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_operations.py @@ -5,23 +5,200 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error -from azure.core.paging import ItemPaged +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.pipeline.transport import HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace 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]] +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_cancel_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_rename_request( + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_enable_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_accept_ownership_request_initial( + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/subscriptions/{subscriptionId}/acceptOwnership') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_accept_ownership_status_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/subscriptions/{subscriptionId}/acceptOwnershipStatus') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SubscriptionOperations(object): """SubscriptionOperations operations. @@ -30,14 +207,14 @@ class SubscriptionOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~subscription_client.models + :type models: ~azure.mgmt.subscription.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 + models = _models def __init__(self, client, config, serializer, deserializer): self._client = client @@ -45,350 +222,304 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def list_location( + @distributed_trace + def cancel( self, - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.LocationListResult"] - """Gets all available geo-locations. - - This operation provides all the locations that are available for resource providers; however, - each resource provider may support a subset of this list. + subscription_id: str, + **kwargs: Any + ) -> "_models.CanceledSubscriptionId": + """The operation to cancel a subscription. - :param subscription_id: The ID of the target subscription. + :param subscription_id: Subscription Id. :type subscription_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either LocationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~subscription_client.models.LocationListResult] + :return: CanceledSubscriptionId, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.CanceledSubscriptionId :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.LocationListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType["_models.CanceledSubscriptionId"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2016-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - if not next_link: - # Construct URL - url = self.list_location.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", 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('LocationListResult', 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) + + request = build_cancel_request( + subscription_id=subscription_id, + template_url=self.cancel.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + 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 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - return pipeline_response + deserialized = self._deserialize('CanceledSubscriptionId', pipeline_response) - return ItemPaged( - get_next, extract_data - ) - list_location.metadata = {'url': '/subscriptions/{subscriptionId}/locations'} # type: ignore + if cls: + return cls(pipeline_response, deserialized, {}) - def get( + return deserialized + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel'} # type: ignore + + + @distributed_trace + def rename( self, - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.Subscription" - """Gets details about a specified subscription. + subscription_id: str, + body: "_models.SubscriptionName", + **kwargs: Any + ) -> "_models.RenamedSubscriptionId": + """The operation to rename a subscription. - :param subscription_id: The ID of the target subscription. + :param subscription_id: Subscription Id. :type subscription_id: str + :param body: Subscription Name. + :type body: ~azure.mgmt.subscription.models.SubscriptionName :keyword callable cls: A custom type or function that will be passed the direct response - :return: Subscription, or the result of cls(response) - :rtype: ~subscription_client.models.Subscription + :return: RenamedSubscriptionId, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.RenamedSubscriptionId :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.Subscription"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType["_models.RenamedSubscriptionId"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2016-06-01" - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + _json = self._serialize.body(body, 'SubscriptionName') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + request = build_rename_request( + subscription_id=subscription_id, + content_type=content_type, + json=_json, + template_url=self.rename.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('Subscription', pipeline_response) + deserialized = self._deserialize('RenamedSubscriptionId', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}'} # type: ignore - - def list( - self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["models.SubscriptionListResult"] - """Gets all subscriptions for a tenant. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SubscriptionListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~subscription_client.models.SubscriptionListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SubscriptionListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2016-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('SubscriptionListResult', 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) + rename.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename'} # type: ignore - return pipeline_response - return ItemPaged( - get_next, extract_data - ) - list.metadata = {'url': '/subscriptions'} # type: ignore - - def cancel( + @distributed_trace + def enable( self, - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.CanceledSubscriptionId" - """The operation to cancel a subscription. + subscription_id: str, + **kwargs: Any + ) -> "_models.EnabledSubscriptionId": + """The operation to enable a subscription. :param subscription_id: Subscription Id. :type subscription_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: CanceledSubscriptionId, or the result of cls(response) - :rtype: ~subscription_client.models.CanceledSubscriptionId + :return: EnabledSubscriptionId, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.EnabledSubscriptionId :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.CanceledSubscriptionId"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" - - # Construct URL - url = self.cancel.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str'), + cls = kwargs.pop('cls', None) # type: ClsType["_models.EnabledSubscriptionId"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + error_map.update(kwargs.pop('error_map', {})) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + + request = build_enable_request( + subscription_id=subscription_id, + template_url=self.enable.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) - error = self._deserialize(models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('CanceledSubscriptionId', pipeline_response) + deserialized = self._deserialize('EnabledSubscriptionId', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - cancel.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel'} # type: ignore - - def rename( - self, - subscription_id, # type: str - subscription_name=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.RenamedSubscriptionId" - """The operation to rename a subscription. - :param subscription_id: Subscription Id. - :type subscription_id: str - :param subscription_name: New subscription name. - :type subscription_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RenamedSubscriptionId, or the result of cls(response) - :rtype: ~subscription_client.models.RenamedSubscriptionId - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.RenamedSubscriptionId"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) + enable.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable'} # type: ignore - _body = models.SubscriptionName(subscription_name=subscription_name) - api_version = "2020-09-01" - content_type = kwargs.pop("content_type", "application/json") - # Construct URL - url = self.rename.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str'), + def _accept_ownership_initial( + self, + subscription_id: str, + body: "_models.AcceptOwnershipRequest", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) + error_map.update(kwargs.pop('error_map', {})) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # 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' + _json = self._serialize.body(body, 'AcceptOwnershipRequest') - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_body, 'SubscriptionName') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + request = build_accept_ownership_request_initial( + subscription_id=subscription_id, + content_type=content_type, + json=_json, + template_url=self._accept_ownership_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) 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 [202]: 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + response_headers = {} + response_headers['Location']=self._deserialize('str', response.headers.get('Location')) + response_headers['Retry-After']=self._deserialize('int', response.headers.get('Retry-After')) - deserialized = self._deserialize('RenamedSubscriptionId', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, None, response_headers) - return deserialized - rename.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename'} # type: ignore + _accept_ownership_initial.metadata = {'url': '/providers/Microsoft.Subscription/subscriptions/{subscriptionId}/acceptOwnership'} # type: ignore - def enable( + + @distributed_trace + def begin_accept_ownership( self, - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.EnabledSubscriptionId" - """The operation to enable a subscription. + subscription_id: str, + body: "_models.AcceptOwnershipRequest", + **kwargs: Any + ) -> LROPoller[None]: + """Accept subscription ownership. :param subscription_id: Subscription Id. :type subscription_id: str + :param body: + :type body: ~azure.mgmt.subscription.models.AcceptOwnershipRequest :keyword callable cls: A custom type or function that will be passed the direct response - :return: EnabledSubscriptionId, or the result of cls(response) - :rtype: ~subscription_client.models.EnabledSubscriptionId + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 """ - cls = kwargs.pop('cls', None) # type: ClsType["models.EnabledSubscriptionId"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-09-01" + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.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._accept_ownership_initial( + subscription_id=subscription_id, + body=body, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_accept_ownership.metadata = {'url': '/providers/Microsoft.Subscription/subscriptions/{subscriptionId}/acceptOwnership'} # type: ignore + + @distributed_trace + def accept_ownership_status( + self, + subscription_id: str, + **kwargs: Any + ) -> "_models.AcceptOwnershipStatusResponse": + """Accept subscription ownership status. - # Construct URL - url = self.enable.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("subscription_id", subscription_id, 'str'), + :param subscription_id: Subscription Id. + :type subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AcceptOwnershipStatusResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.AcceptOwnershipStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AcceptOwnershipStatusResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + error_map.update(kwargs.pop('error_map', {})) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + + request = build_accept_ownership_status_request( + subscription_id=subscription_id, + template_url=self.accept_ownership_status.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) - error = self._deserialize(models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('EnabledSubscriptionId', pipeline_response) + deserialized = self._deserialize('AcceptOwnershipStatusResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - enable.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Subscription/enable'} # type: ignore + + accept_ownership_status.metadata = {'url': '/providers/Microsoft.Subscription/subscriptions/{subscriptionId}/acceptOwnershipStatus'} # type: ignore + diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_policy_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_policy_operations.py new file mode 100644 index 00000000000..26bb2d0ab15 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_subscription_policy_operations.py @@ -0,0 +1,291 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_add_update_policy_for_tenant_request( + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/policies/default') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_policy_for_tenant_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/policies/default') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_policy_for_tenant_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-10-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Subscription/policies') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SubscriptionPolicyOperations(object): + """SubscriptionPolicyOperations 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.subscription.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 + + @distributed_trace + def add_update_policy_for_tenant( + self, + body: "_models.PutTenantPolicyRequestProperties", + **kwargs: Any + ) -> "_models.GetTenantPolicyResponse": + """Create or Update Subscription tenant policy for user's tenant. + + :param body: + :type body: ~azure.mgmt.subscription.models.PutTenantPolicyRequestProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GetTenantPolicyResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.GetTenantPolicyResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GetTenantPolicyResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(body, 'PutTenantPolicyRequestProperties') + + request = build_add_update_policy_for_tenant_request( + content_type=content_type, + json=_json, + template_url=self.add_update_policy_for_tenant.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GetTenantPolicyResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + add_update_policy_for_tenant.metadata = {'url': '/providers/Microsoft.Subscription/policies/default'} # type: ignore + + + @distributed_trace + def get_policy_for_tenant( + self, + **kwargs: Any + ) -> "_models.GetTenantPolicyResponse": + """Get the subscription tenant policy for the user's tenant. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GetTenantPolicyResponse, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.GetTenantPolicyResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GetTenantPolicyResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_policy_for_tenant_request( + template_url=self.get_policy_for_tenant.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GetTenantPolicyResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_policy_for_tenant.metadata = {'url': '/providers/Microsoft.Subscription/policies/default'} # type: ignore + + + @distributed_trace + def list_policy_for_tenant( + self, + **kwargs: Any + ) -> Iterable["_models.GetTenantPolicyListResponse"]: + """Get the subscription tenant policy for the user's tenant. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GetTenantPolicyListResponse or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.subscription.models.GetTenantPolicyListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GetTenantPolicyListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_policy_for_tenant_request( + template_url=self.list_policy_for_tenant.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_policy_for_tenant_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("GetTenantPolicyListResponse", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponseBody, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list_policy_for_tenant.metadata = {'url': '/providers/Microsoft.Subscription/policies'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_subscriptions_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_subscriptions_operations.py new file mode 100644 index 00000000000..d98d5622640 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_subscriptions_operations.py @@ -0,0 +1,312 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_locations_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2016-06-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/locations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2016-06-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2016-06-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SubscriptionsOperations(object): + """SubscriptionsOperations 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.subscription.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 + + @distributed_trace + def list_locations( + self, + subscription_id: str, + **kwargs: Any + ) -> Iterable["_models.LocationListResult"]: + """Gets all available geo-locations. + + This operation provides all the locations that are available for resource providers; however, + each resource provider may support a subset of this list. + + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either LocationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.subscription.models.LocationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_locations_request( + subscription_id=subscription_id, + template_url=self.list_locations.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_locations_request( + subscription_id=subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("LocationListResult", 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_locations.metadata = {'url': '/subscriptions/{subscriptionId}/locations'} # type: ignore + + @distributed_trace + def get( + self, + subscription_id: str, + **kwargs: Any + ) -> "_models.Subscription": + """Gets details about a specified subscription. + + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Subscription, or the result of cls(response) + :rtype: ~azure.mgmt.subscription.models.Subscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Subscription"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=subscription_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Subscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}'} # type: ignore + + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.SubscriptionListResult"]: + """Gets all subscriptions for a tenant. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SubscriptionListResult or the result of + cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.subscription.models.SubscriptionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SubscriptionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SubscriptionListResult", 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'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_tenant_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_tenant_operations.py deleted file mode 100644 index 57584209e20..00000000000 --- a/src/account/azext_account/vendored_sdks/subscription/operations/_tenant_operations.py +++ /dev/null @@ -1,106 +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 TYPE_CHECKING -import warnings - -from azure.core.exceptions import 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 TenantOperations(object): - """TenantOperations 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: ~subscription_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.TenantListResult"] - """Gets the tenants for your account. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either TenantListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~subscription_client.models.TenantListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TenantListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} - error_map.update(kwargs.pop('error_map', {})) - api_version = "2016-06-01" - - def prepare_request(next_link=None): - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - 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('TenantListResult', 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': '/tenants'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/operations/_tenants_operations.py b/src/account/azext_account/vendored_sdks/subscription/operations/_tenants_operations.py new file mode 100644 index 00000000000..99febb12768 --- /dev/null +++ b/src/account/azext_account/vendored_sdks/subscription/operations/_tenants_operations.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. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2016-06-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/tenants') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class TenantsOperations(object): + """TenantsOperations 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.subscription.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.TenantListResult"]: + """Gets the tenants for your account. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TenantListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.subscription.models.TenantListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TenantListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("TenantListResult", 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': '/tenants'} # type: ignore diff --git a/src/account/setup.py b/src/account/setup.py index 76f518859ef..f416bb65326 100644 --- a/src/account/setup.py +++ b/src/account/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.1' +VERSION = '0.2.2' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/account', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/account', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/acrtransfer/setup.py b/src/acrtransfer/setup.py index c21b4a6229d..38e5b100030 100644 --- a/src/acrtransfer/setup.py +++ b/src/acrtransfer/setup.py @@ -43,7 +43,7 @@ description='Microsoft Azure Command-Line Tools Acrtransfer Extension', author='Microsoft Corporation', author_email='KraterDev@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/acrtransfer', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/acrtransfer', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/ad/azext_ad/tests/latest/preparers.py b/src/ad/azext_ad/tests/latest/preparers.py index 0879e51945a..176f5b16296 100644 --- a/src/ad/azext_ad/tests/latest/preparers.py +++ b/src/ad/azext_ad/tests/latest/preparers.py @@ -10,7 +10,7 @@ import os from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.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 diff --git a/src/ad/setup.py b/src/ad/setup.py index 667cf308dbe..ede2c68d031 100644 --- a/src/ad/setup.py +++ b/src/ad/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools DomainServicesResourceProvider Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/ad', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/ad', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/aem/azext_aem/tests/latest/test_aem_commands.py b/src/aem/azext_aem/tests/latest/test_aem_commands.py index d84a21176b4..df2093a44f9 100644 --- a/src/aem/azext_aem/tests/latest/test_aem_commands.py +++ b/src/aem/azext_aem/tests/latest/test_aem_commands.py @@ -6,7 +6,7 @@ from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) from azure.cli.core.util import CLIError from azext_aem.custom import EnhancedMonitoring # pylint: disable=unused-import -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse import os import sys # pylint: disable=unused-argument,too-few-public-methods diff --git a/src/aem/setup.py b/src/aem/setup.py index 5d47b3fe21b..d30bab25b70 100644 --- a/src/aem/setup.py +++ b/src/aem/setup.py @@ -32,7 +32,7 @@ license='MIT', author='Yugang Wang', author_email='yugangw@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/aem', classifiers=CLASSIFIERS, package_data={'azext_aem': ['azext_metadata.json']}, packages=find_packages(exclude=["tests"]), diff --git a/src/ai-examples/azext_ai_examples/tests/latest/test_ai_examples_scenario.py b/src/ai-examples/azext_ai_examples/tests/latest/test_ai_examples_scenario.py index ddddea18855..749c2c9f1b5 100644 --- a/src/ai-examples/azext_ai_examples/tests/latest/test_ai_examples_scenario.py +++ b/src/ai-examples/azext_ai_examples/tests/latest/test_ai_examples_scenario.py @@ -9,7 +9,7 @@ from unittest import mock import requests -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) from azext_ai_examples.custom import (call_aladdin_service, ping_aladdin_service, clean_from_http_answer, get_generated_examples) diff --git a/src/ai-examples/setup.py b/src/ai-examples/setup.py index 7e0b8cbcae2..a28e4896d30 100644 --- a/src/ai-examples/setup.py +++ b/src/ai-examples/setup.py @@ -47,7 +47,7 @@ description='Add AI powered examples to help content.', author='Matthew Booe', author_email='mabooe@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/ai-examples', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/ai-examples', long_description='Improve user experience by adding AI powered examples to command help content.', license='MIT', classifiers=CLASSIFIERS, diff --git a/src/aks-preview/HISTORY.md b/src/aks-preview/HISTORY.md index f4ae91a2eca..a148a6405f9 100644 --- a/src/aks-preview/HISTORY.md +++ b/src/aks-preview/HISTORY.md @@ -2,6 +2,61 @@ Release History =============== + +0.5.56 +++++++ +* Add `--message-of-the-day` flag for `az aks create` and `az aks nodepool add` for Linux message of the day. + +0.5.55 ++++++ +* Add option `none` to `--network-plugin` parameter to skip CNI installation during cluster creation. + +0.5.54 +++++++ +* Add --host-group-id to `az aks create` and `az aks nodepool add` commands to support Azure Dedicated Host Group, which requires registering the feature flag "Microsoft.ContainerService/DedicatedHostGroupPreview" + * `az aks create --host-group-id` + * `az aks nodepool add --host-group-id` + +0.5.53 +++++++ +* Add support for cluster creating with Capacity Reservation Group. + * `az aks create --crg-id` +* Add support for nodepool adding with Capacity Reservation Group. + * `az aks nodepool add --crg-id` + +0.5.52 +++++++ +* Add yaml template files to package data to fix issue [#148](https://github.com/Azure/aks-periscope/issues/148). +* Add support for using empty string to remove existing nodepool label by `az aks update --nodepool-labels` or `az aks nodepool update --labels`. +* Add support for using empty string to remove existing node taints by `az nodepool update --node-taints`. +* Correct the option for time control in `maintenanceconfiguration` series commands to `hourSlot`. +* GA (General Availability) for the snapshot feature. + +0.5.51 +++++++ +* Add currentKubernetesVersion column for az aks show --output table. + +0.5.50 +++++++ +* Add support for enabling OIDC issuer with `--enable-oidc-issuer` flag. + +0.5.49 +++++++ +* Add support for Alias Minor Version. + +0.5.48 +++++++ +* Fix aks update issue with load balancer profile defaults being set when CLI arguments only include outbound IPs or outbound prefixes + +0.5.47 +++++++ +* Add support for IPv4/IPv6 dual-stack networking AKS clusters +* `az aks create --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count` + +0.5.46 +++++++ +* Update to use 2021-10-01 api-version + 0.5.45 ++++++ * Remove the snapshot name trimming in `az aks snapshot create` command. diff --git a/src/aks-preview/azcli_aks_live_test/configs/cli_coverage_config.json b/src/aks-preview/azcli_aks_live_test/configs/cli_coverage_config.json new file mode 100644 index 00000000000..6ea2b010365 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/configs/cli_coverage_config.json @@ -0,0 +1,16 @@ +{ + "totals": { + "fail_percent": 70, + "warning_percent": 80, + "fail_missing_lines": null, + "warning_missing_lines": null + }, + "files": { + "decorator.py": { + "fail_percent": 100, + "warning_percent": 100, + "fail_missing_lines": 0, + "warning_missing_lines": 0 + } + } +} \ No newline at end of file diff --git a/src/aks-preview/azcli_aks_live_test/configs/ext_coverage_config.json b/src/aks-preview/azcli_aks_live_test/configs/ext_coverage_config.json new file mode 100644 index 00000000000..897640a7ee3 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/configs/ext_coverage_config.json @@ -0,0 +1,16 @@ +{ + "totals": { + "fail_percent": 59, + "warning_percent": 80, + "fail_missing_lines": null, + "warning_missing_lines": null + }, + "files": { + "decorator.py": { + "fail_percent": 100, + "warning_percent": 100, + "fail_missing_lines": 0, + "warning_missing_lines": 0 + } + } +} \ No newline at end of file diff --git a/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json index 0156a484feb..900d7c589d5 100644 --- a/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json +++ b/src/aks-preview/azcli_aks_live_test/configs/ext_matrix_default.json @@ -16,7 +16,6 @@ "test_aks_create_with_pod_identity_enabled", "test_aks_create_using_azurecni_with_pod_identity_enabled", "test_aks_pod_identity_usage", - "test_aks_create_with_fips", "test_aks_create_with_monitoring_aad_auth_msi", "test_aks_create_with_monitoring_aad_auth_uai", "test_aks_enable_monitoring_with_aad_auth_msi", @@ -25,7 +24,10 @@ "test_aks_create_with_http_proxy_config", "test_aks_nodepool_add_with_workload_runtime", "test_aks_nodepool_add_with_gpu_instance_profile", - "test_aks_snapshot" + "test_aks_create_with_oidc_issuer_enabled", + "test_aks_update_with_oidc_issuer_enabled", + "test_aks_create_with_crg_id", + "test_aks_create_with_network_plugin_none" ] } -} +} \ No newline at end of file diff --git a/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh b/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh index 38ff104e8d5..d6f7460c746 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/clean_up.sh @@ -1,12 +1,30 @@ #!/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 "${AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) +[[ -z "${LOOKBACK}" ]] && (echo "LOOKBACK is empty"; exit 1) +[[ -z "${PREFIX}" ]] && (echo "PREFIX is empty"; exit 1) + # 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 {} +# get lookback date +cond_date=$(date -u -d "${LOOKBACK} hours ago" '+%Y-%m-%dT%H:%M:%SZ') + +# list matched result +az group list --query "[? @.tags.date < '${cond_date}'] | [? starts_with(@.name, '${PREFIX}')]" +echo "Length:" $(az group list --query "[? @.tags.date < '${cond_date}'] | [? starts_with(@.name, '${PREFIX}')] | length(@)") -# 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 {} +# delete +az group list --query "[? @.tags.date < '${cond_date}'] | [? starts_with(@.name, '${PREFIX}')].name" -o tsv | xargs -i az group delete --no-wait -y -n {} diff --git a/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh b/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh index d17324d1775..eb2210a39e1 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/setup_venv.sh @@ -48,7 +48,7 @@ setupAZ(){ # need to be executed in a venv installTestPackages(){ # install pytest plugins - pip install pytest-json-report pytest-rerunfailures --upgrade + pip install pytest-json-report pytest-rerunfailures pytest-cov --upgrade # install coverage for measuring code coverage pip install coverage diff --git a/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh b/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh index 0d64e564add..32908e039a1 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/start_container.sh @@ -13,10 +13,6 @@ container_name=${1:-"azcli-aks-live-test-container"} [[ -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' ./scripts/transcribe_env.sh diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh index d7d2b30e9f5..195ed25e960 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_live.sh @@ -7,15 +7,27 @@ set -o pipefail set -o xtrace # check var +[[ -z "${WIKI_LINK}" ]] && (echo "WIKI_LINK is empty"; exit 1) [[ -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 "${IGNORE_EXIT_CODE}" ]] && (echo "IGNORE_EXIT_CODE is empty") [[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) -[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) +[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty") +[[ -z "${RERUNS}" ]] && (echo "RERUNS is empty") +[[ -z "${NON_BOXED}" ]] && (echo "NON_BOXED is empty") +[[ -z "${LOG_LEVEL}" ]] && (echo "LOG_LEVEL is empty") +[[ -z "${CAPTURE}" ]] && (echo "CAPTURE is empty") +[[ -z "${NO_EXIT_FIRST}" ]] && (echo "NO_EXIT_FIRST is empty") +[[ -z "${LAST_FAILED}" ]] && (echo "LAST_FAILED is empty") [[ -z "${CLI_TEST_MATRIX}" ]] && (echo "CLI_TEST_MATRIX is empty") [[ -z "${CLI_TEST_FILTER}" ]] && (echo "CLI_TEST_FILTER is empty") [[ -z "${CLI_TEST_COVERAGE}" ]] && (echo "CLI_TEST_COVERAGE is empty") +[[ -z "${ENABLE_SELECTION}" ]] && (echo "ENABLE_SELECTION is empty") +[[ -z "${SELECTION_MODE}" ]] && (echo "SELECTION_MODE is empty") +[[ -z "${SELECTION_COUNT}" ]] && (echo "SELECTION_COUNT is empty") +[[ -z "${UNFIX_RANDOM_SEED}" ]] && (echo "UNFIX_RANDOM_SEED is empty") # activate virtualenv source azEnv/bin/activate @@ -31,13 +43,37 @@ az account set -s "${AZCLI_ALT_SUBSCRIPTION_ID}" az account show # prepare running options -# base options -base_options="-c --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" +# pytest options +pytest_options="-c --report-path ./reports" # parallel -if [[ ${PARALLELISM} -ge 2 ]]; then - base_options+=" -j ${PARALLELISM}" +if [[ -n ${PARALLELISM} ]]; then + pytest_options+=" -j ${PARALLELISM}" else - base_options+=" -s" + pytest_options+=" -s" +fi +# reruns +if [[ -n ${RERUNS} ]]; then + pytest_options+=" --reruns ${RERUNS}" +fi +# non boxed +if [[ -n ${NON_BOXED} ]]; then + pytest_options+=" --non-boxed" +fi +# log level +if [[ -n ${LOG_LEVEL} ]]; then + pytest_options+=" --log-level ${LOG_LEVEL}" +fi +# capture +if [[ -n ${CAPTURE} ]]; then + pytest_options+=" --capture ${CAPTURE}" +fi +# no exit first +if [[ -n ${NO_EXIT_FIRST} ]]; then + pytest_options+=" --no-exitfirst" +fi +# last failed +if [[ -n ${LAST_FAILED} ]]; then + pytest_options+=" --last-failed" fi # filter options @@ -55,11 +91,30 @@ if [[ -n ${CLI_TEST_COVERAGE} ]]; then filter_options+=" -cc ${CLI_TEST_COVERAGE}" fi +# case selection +selection_options="" +# enable selection +if [[ -n ${ENABLE_SELECTION} ]]; then + selection_options+=" --enable-selection" +fi +# selection mode +if [[ -n ${SELECTION_MODE} ]]; then + selection_options+=" --selection-mode ${SELECTION_MODE}" +fi +# selection count +if [[ -n ${SELECTION_COUNT} ]]; then + selection_options+=" --selection-count ${SELECTION_COUNT}" +fi +# unfix random seed +if [[ -n ${UNFIX_RANDOM_SEED} ]]; then + selection_options+=" --unfix-random-seed" +fi + # recording test if [[ ${TEST_MODE} == "recording" || ${TEST_MODE} == "all" ]]; then echo "Test in recording mode!" coverage_options=" -cc test_aks_commands.AzureKubernetesServiceScenarioTest" - recording_options="${base_options}${coverage_options}" + recording_options="${pytest_options}${coverage_options}${selection_options}" recording_options+=" --json-report-file=cli_recording_report.json" recording_options+=" --xml-file=cli_recording_result.xml" echo "Recording test options: ${recording_options}" @@ -67,8 +122,10 @@ if [[ ${TEST_MODE} == "recording" || ${TEST_MODE} == "all" ]]; then azaks ${recording_options} || test_result=$? if [[ ${test_result} -ne 0 ]]; then echo "Recording test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit ${test_result} + echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." + if [[ -z ${IGNORE_EXIT_CODE} ]]; then + exit ${test_result} + fi else echo -e "Recording test passed!\n\n" fi @@ -77,7 +134,7 @@ fi # live test if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Test in live mode!" - live_options="${base_options}${filter_options}" + live_options="${pytest_options}${filter_options}${selection_options}" live_options+=" -l --json-report-file=cli_live_report.json" live_options+=" --xml-file=cli_live_result.xml" echo "Live test options: ${live_options}" @@ -85,8 +142,10 @@ if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then azaks ${live_options} || test_result=$? if [[ ${test_result} -ne 0 ]]; then echo "Live test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit ${test_result} + echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." + if [[ -z ${IGNORE_EXIT_CODE} ]]; then + exit ${test_result} + fi else echo -e "Live test passed!\n\n" fi @@ -95,7 +154,7 @@ fi # live-replay test if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Test in live-replay mode!" - live_replay_options="${base_options}${filter_options}" + live_replay_options="${pytest_options}${filter_options}${selection_options}" live_replay_options+=" --json-report-file=cli_live_replay_report.json" live_replay_options+=" --xml-file=cli_live_replay_result.xml" echo "Live-replay test options: ${live_replay_options}" @@ -103,8 +162,10 @@ if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then azaks ${live_replay_options} || test_result=$? if [[ ${test_result} -ne 0 ]]; then echo "Live-replay test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit ${test_result} + echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." + if [[ -z ${IGNORE_EXIT_CODE} ]]; then + exit ${test_result} + fi else echo -e "Live-replay test passed!\n\n" fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_unit.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_cli_unit.sh deleted file mode 100755 index c24fa1a09cb..00000000000 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_cli_unit.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -# bash options -set -o errexit -set -o nounset -set -o pipefail -set -o xtrace - -# const -acs_base_dir="azure-cli/src/azure-cli/azure/cli/command_modules/acs" - -# activate virtualenv -source azEnv/bin/activate - -# remove aks-preview -source ./scripts/setup_venv.sh -removeAKSPreview - -# unit test & coverage report -acs_unit_test_failed="" -pushd ${acs_base_dir} -# clean existing coverage report -(coverage combine || true) && (coverage erase || true) -# perform unit test with module 'unittest' -# since recording test (performed in test_cli_live.sh) is based on module 'pytest', so skip here -# coverage run --source=. --omit=*/tests/* -p -m pytest -if ! coverage run --source=. --omit=*/tests/* -p -m unittest discover; then - acs_unit_test_failed="true" -fi -# generate & copy coverage report -coverage combine -coverage report -m -coverage json -o coverage_acs.json -popd -mkdir -p reports/ && cp ${acs_base_dir}/coverage_acs.json reports/ - -if [[ ${acs_unit_test_failed} == "true" ]]; then - echo "Unit test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit 1 -fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh index d33c0923e07..7ed4c798c8c 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_live.sh @@ -7,12 +7,20 @@ set -o pipefail set -o xtrace # check var +[[ -z "${WIKI_LINK}" ]] && (echo "WIKI_LINK is empty"; exit 1) [[ -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 "${IGNORE_EXIT_CODE}" ]] && (echo "IGNORE_EXIT_CODE is empty") [[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) -[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) +[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty") +[[ -z "${RERUNS}" ]] && (echo "RERUNS is empty") +[[ -z "${NON_BOXED}" ]] && (echo "NON_BOXED is empty") +[[ -z "${LOG_LEVEL}" ]] && (echo "LOG_LEVEL is empty") +[[ -z "${CAPTURE}" ]] && (echo "CAPTURE is empty") +[[ -z "${NO_EXIT_FIRST}" ]] && (echo "NO_EXIT_FIRST is empty") +[[ -z "${LAST_FAILED}" ]] && (echo "LAST_FAILED 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") @@ -20,6 +28,10 @@ set -o xtrace [[ -z "${CLI_TEST_MATRIX}" ]] && (echo "CLI_TEST_MATRIX is empty") [[ -z "${CLI_TEST_FILTER}" ]] && (echo "CLI_TEST_FILTER is empty") [[ -z "${CLI_TEST_COVERAGE}" ]] && (echo "CLI_TEST_COVERAGE is empty") +[[ -z "${ENABLE_SELECTION}" ]] && (echo "ENABLE_SELECTION is empty") +[[ -z "${SELECTION_MODE}" ]] && (echo "SELECTION_MODE is empty") +[[ -z "${SELECTION_COUNT}" ]] && (echo "SELECTION_COUNT is empty") +[[ -z "${UNFIX_RANDOM_SEED}" ]] && (echo "UNFIX_RANDOM_SEED is empty") # activate virtualenv source azEnv/bin/activate @@ -35,13 +47,37 @@ az account show if [[ -z ${BACKWARD_COMPATIBILITY_TEST} || ${BACKWARD_COMPATIBILITY_TEST} != "only" ]]; then # prepare running options - # base options - base_options="-e --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" + # pytest options + pytest_options="-e --report-path ./reports" # parallel - if [[ ${PARALLELISM} -ge 2 ]]; then - base_options+=" -j ${PARALLELISM}" + if [[ -n ${PARALLELISM} ]]; then + pytest_options+=" -j ${PARALLELISM}" else - base_options+=" -s" + pytest_options+=" -s" + fi + # reruns + if [[ -n ${RERUNS} ]]; then + pytest_options+=" --reruns ${RERUNS}" + fi + # non boxed + if [[ -n ${NON_BOXED} ]]; then + pytest_options+=" --non-boxed" + fi + # log level + if [[ -n ${LOG_LEVEL} ]]; then + pytest_options+=" --log-level ${LOG_LEVEL}" + fi + # capture + if [[ -n ${CAPTURE} ]]; then + pytest_options+=" --capture ${CAPTURE}" + fi + # no exit first + if [[ -n ${NO_EXIT_FIRST} ]]; then + pytest_options+=" --no-exitfirst" + fi + # last failed + if [[ -n ${LAST_FAILED} ]]; then + pytest_options+=" --last-failed" fi # filter options @@ -59,11 +95,30 @@ if [[ -z ${BACKWARD_COMPATIBILITY_TEST} || ${BACKWARD_COMPATIBILITY_TEST} != "on filter_options+=" -ec ${EXT_TEST_COVERAGE}" fi + # case selection + selection_options="" + # enable selection + if [[ -n ${ENABLE_SELECTION} ]]; then + selection_options+=" --enable-selection" + fi + # selection mode + if [[ -n ${SELECTION_MODE} ]]; then + selection_options+=" --selection-mode ${SELECTION_MODE}" + fi + # selection count + if [[ -n ${SELECTION_COUNT} ]]; then + selection_options+=" --selection-count ${SELECTION_COUNT}" + fi + # unfix random seed + if [[ -n ${UNFIX_RANDOM_SEED} ]]; then + selection_options+=" --unfix-random-seed" + fi + # recording test if [[ ${TEST_MODE} == "recording" || ${TEST_MODE} == "all" ]]; then echo "Test in recording mode!" coverage_options=" -ec test_aks_commands.AzureKubernetesServiceScenarioTest" - recording_options="${base_options}${coverage_options}" + recording_options="${pytest_options}${coverage_options}${selection_options}" recording_options+=" --json-report-file=ext_recording_report.json" recording_options+=" --xml-file=ext_recording_result.xml" echo "Recording test options: ${recording_options}" @@ -71,8 +126,10 @@ if [[ -z ${BACKWARD_COMPATIBILITY_TEST} || ${BACKWARD_COMPATIBILITY_TEST} != "on azaks ${recording_options} || test_result=$? if [[ ${test_result} -ne 0 ]]; then echo "Recording test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit ${test_result} + echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." + if [[ -z ${IGNORE_EXIT_CODE} ]]; then + exit ${test_result} + fi else echo -e "Recording test passed!\n\n" fi @@ -81,7 +138,7 @@ if [[ -z ${BACKWARD_COMPATIBILITY_TEST} || ${BACKWARD_COMPATIBILITY_TEST} != "on # live test if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Test in live mode!" - live_options="${base_options}${filter_options}" + live_options="${pytest_options}${filter_options}${selection_options}" live_options+=" -l --json-report-file=ext_live_report.json" live_options+=" --xml-file=ext_live_result.xml" echo "Live test options: ${live_options}" @@ -89,8 +146,10 @@ if [[ -z ${BACKWARD_COMPATIBILITY_TEST} || ${BACKWARD_COMPATIBILITY_TEST} != "on azaks ${live_options} || test_result=$? if [[ ${test_result} -ne 0 ]]; then echo "Live test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit ${test_result} + echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." + if [[ -z ${IGNORE_EXIT_CODE} ]]; then + exit ${test_result} + fi else echo -e "Live test passed!\n\n" fi @@ -99,7 +158,7 @@ if [[ -z ${BACKWARD_COMPATIBILITY_TEST} || ${BACKWARD_COMPATIBILITY_TEST} != "on # live-replay test if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Test in live-replay mode!" - live_replay_options="${base_options}${filter_options}" + live_replay_options="${pytest_options}${filter_options}${selection_options}" live_replay_options+=" --json-report-file=ext_live_replay_report.json" live_replay_options+=" --xml-file=ext_live_replay_result.xml" echo "Live-replay test options: ${live_replay_options}" @@ -107,8 +166,10 @@ if [[ -z ${BACKWARD_COMPATIBILITY_TEST} || ${BACKWARD_COMPATIBILITY_TEST} != "on azaks ${live_replay_options} || test_result=$? if [[ ${test_result} -ne 0 ]]; then echo "Live-replay test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit ${test_result} + echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." + if [[ -z ${IGNORE_EXIT_CODE} ]]; then + exit ${test_result} + fi else echo -e "Live-replay test passed!\n\n" fi @@ -117,13 +178,37 @@ fi if [[ -n ${BACKWARD_COMPATIBILITY_TEST} ]]; then # prepare running options - # base options - base_options="-c --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" + # pytest options + pytest_options="-c --report-path ./reports" # parallel - if [[ ${PARALLELISM} -ge 2 ]]; then - base_options+=" -j ${PARALLELISM}" + if [[ -n ${PARALLELISM} ]]; then + pytest_options+=" -j ${PARALLELISM}" else - base_options+=" -s" + pytest_options+=" -s" + fi + # reruns + if [[ -n ${RERUNS} ]]; then + pytest_options+=" --reruns ${RERUNS}" + fi + # non boxed + if [[ -n ${NON_BOXED} ]]; then + pytest_options+=" --non-boxed" + fi + # log level + if [[ -n ${LOG_LEVEL} ]]; then + pytest_options+=" --log-level ${LOG_LEVEL}" + fi + # capture + if [[ -n ${CAPTURE} ]]; then + pytest_options+=" --capture ${CAPTURE}" + fi + # no exit first + if [[ -n ${NO_EXIT_FIRST} ]]; then + pytest_options+=" --no-exitfirst" + fi + # last failed + if [[ -n ${LAST_FAILED} ]]; then + pytest_options+=" --last-failed" fi # filter options @@ -141,10 +226,29 @@ if [[ -n ${BACKWARD_COMPATIBILITY_TEST} ]]; then filter_options+=" -cc ${CLI_TEST_COVERAGE}" fi + # case selection + selection_options="" + # enable selection + if [[ -n ${ENABLE_SELECTION} ]]; then + selection_options+=" --enable-selection" + fi + # selection mode + if [[ -n ${SELECTION_MODE} ]]; then + selection_options+=" --selection-mode ${SELECTION_MODE}" + fi + # selection count + if [[ -n ${SELECTION_COUNT} ]]; then + selection_options+=" --selection-count ${SELECTION_COUNT}" + fi + # unfix random seed + if [[ -n ${UNFIX_RANDOM_SEED} ]]; then + selection_options+=" --unfix-random-seed" + fi + # live test if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Backward Compatibility Test in live mode!" - live_options="${base_options}${filter_options}" + live_options="${pytest_options}${filter_options}${selection_options}" live_options+=" -l --json-report-file=bc_live_report.json" live_options+=" --xml-file=bc_live_result.xml" echo "Live test options: ${live_options}" @@ -152,8 +256,10 @@ if [[ -n ${BACKWARD_COMPATIBILITY_TEST} ]]; then azaks ${live_options} || test_result=$? if [[ ${test_result} -ne 0 ]]; then echo "Backward Compatibility Live test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit ${test_result} + echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." + if [[ -z ${IGNORE_EXIT_CODE} ]]; then + exit ${test_result} + fi else echo -e "Backward Compatibility Live test passed!\n\n" fi @@ -162,7 +268,7 @@ if [[ -n ${BACKWARD_COMPATIBILITY_TEST} ]]; then # live-replay test if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Backward Compatibility Test in live-replay mode!" - live_replay_options="${base_options}${filter_options}" + live_replay_options="${pytest_options}${filter_options}${selection_options}" live_replay_options+=" --json-report-file=bc_live_replay_report.json" live_replay_options+=" --xml-file=bc_live_replay_result.xml" echo "Live-replay test options: ${live_replay_options}" @@ -170,8 +276,10 @@ if [[ -n ${BACKWARD_COMPATIBILITY_TEST} ]]; then azaks ${live_replay_options} || test_result=$? if [[ ${test_result} -ne 0 ]]; then echo "Backward Compatibility Live-replay test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit ${test_result} + echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." + if [[ -z ${IGNORE_EXIT_CODE} ]]; then + exit ${test_result} + fi else echo -e "Backward Compatibility Live-replay test passed!\n\n" fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_unit.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_ext_unit.sh deleted file mode 100755 index c4445141221..00000000000 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_ext_unit.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -# bash options -set -o errexit -set -o nounset -set -o pipefail -set -o xtrace - -# const -aks_preview_base_dir="azure-cli-extensions/src/aks-preview/azext_aks_preview" - -# activate virtualenv -source azEnv/bin/activate - -# setup aks-preview -./scripts/setup_venv.sh setup-akspreview - -# unit test & coverage report -azext_aks_preview_unit_test_failed="" -pushd ${aks_preview_base_dir} -# clean existing coverage report -(coverage combine || true) && (coverage erase || true) -# perform unit test with module 'unittest' -# since recording test (performed in test_ext_live.sh) is based on module 'pytest', so skip here -# coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -p -m pytest -if ! coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -p -m unittest discover; then - azext_aks_preview_unit_test_failed="true" -fi -# generate & copy coverage report -coverage combine -coverage report -m -coverage json -o coverage_azext_aks_preview.json -popd -mkdir -p reports/ && cp ${aks_preview_base_dir}/coverage_azext_aks_preview.json reports/ - -if [[ ${azext_aks_preview_unit_test_failed} == "true" ]]; then - echo "Unit test failed!" - echo "Please refer to this wiki (https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/AZCLI-AKS-Live-Unit-Test-Pipeline) for troubleshooting guidelines." - exit 1 -fi diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_raw_cases.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_raw_cases.sh deleted file mode 100644 index 8f132ac633b..00000000000 --- a/src/aks-preview/azcli_aks_live_test/scripts/test_raw_cases.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -# bash options -set -o errexit -set -o nounset -set -o pipefail -set -o xtrace diff --git a/src/aks-preview/azcli_aks_live_test/scripts/test_unit.sh b/src/aks-preview/azcli_aks_live_test/scripts/test_unit.sh new file mode 100755 index 00000000000..469989e8fd4 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/scripts/test_unit.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# check var +# take the first arg as test mode +mode=${1:-"cli"} +[[ -z "${WIKI_LINK}" ]] && (echo "WIKI_LINK is empty"; exit 1) +[[ -z "${ACS_BASE_DIR}" ]] && (echo "ACS_BASE_DIR is empty"; exit 1) +[[ -z "${AKS_PREVIEW_BASE_DIR}" ]] && (echo "AKS_PREVIEW_BASE_DIR is empty"; exit 1) +[[ -z "${IGNORE_EXIT_CODE}" ]] && (echo "IGNORE_EXIT_CODE is empty") +[[ -z "${CLI_COVERAGE_CONFIG}" ]] && (echo "CLI_COVERAGE_CONFIG is empty") +[[ -z "${EXT_COVERAGE_CONFIG}" ]] && (echo "EXT_COVERAGE_CONFIG is empty") + +# activate virtualenv +source azEnv/bin/activate + +# config aks-preview +source ./scripts/setup_venv.sh +removeAKSPreview +if [[ ${mode} == "ext" ]]; then + setupAKSPreview + igniteAKSPreview +fi + +# check mode +if [[ ${mode} == "cli" ]]; then + UT_BASE_DIR=${ACS_BASE_DIR} +elif [[ ${mode} == "ext" ]]; then + UT_BASE_DIR=${AKS_PREVIEW_BASE_DIR} +else + echo "Unsupported coverage mode, please choose \"cli\" or \"ext\"" + exit 1 +fi + +# unit test & coverage report +pushd ${UT_BASE_DIR} + +# clean existing coverage report +(coverage combine || true) && (coverage erase || true) + +# perform unit test with module 'unittest' +test_result=0 +coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -m pytest tests/latest/ || test_result=$? + +# generate coverage report +coverage combine || true +coverage report -m +coverage json -o coverage.json +popd + +# copy coverage report +mkdir -p reports/ && cp ${UT_BASE_DIR}/coverage.json reports/ + +# prepare running options +# unit test result +options="--unit-test-result ${test_result} --coverage-report ${UT_BASE_DIR}/coverage.json" +# ignore exit code +if [[ -n ${IGNORE_EXIT_CODE} ]]; then + options+=" --ignore-exit-code" +fi +if [[ ${mode} == "cli" && -n ${CLI_COVERAGE_CONFIG} ]]; then + options+=" --coverage-config ./configs/${CLI_COVERAGE_CONFIG}" +fi +if [[ ${mode} == "ext" && -n ${EXT_COVERAGE_CONFIG} ]]; then + options+=" --coverage-config ./configs/${EXT_COVERAGE_CONFIG}" +fi + +combined_result=0 +azaks-cov ${options} || combined_result=$? +echo "Please refer to this wiki (${WIKI_LINK}) for troubleshooting guidelines." +exit ${combined_result} diff --git a/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh b/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh index 19eb68518a5..b15b99f5d33 100755 --- a/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh +++ b/src/aks-preview/azcli_aks_live_test/scripts/transcribe_env.sh @@ -7,39 +7,58 @@ set -o pipefail set -o xtrace # check var -# from variable group -# client id, secret and tenant id of sp 'azcli-aks-live-test' +# azure devops +[[ -z "${BUILD_REASON}" ]] && (echo "BUILD_REASON is empty") +[[ -z "${SYSTEM_PULLREQUEST_TARGETBRANCH}" ]] && (echo "SYSTEM_PULLREQUEST_TARGETBRANCH is empty") + +# client id, secret and tenant id of sp 'azcli-aks-live-test' (from variable group "azcli-aks-tool") [[ -z "${AZCLI_ALT_CLIENT_ID}" ]] && (echo "AZCLI_ALT_CLIENT_ID is empty"; exit 1) [[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) [[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) -# basic ubuntu image with python3 pre-installed, hosted on some container registry + +# basic ubuntu image with python3 pre-installed, hosted on some container registry (from variable group "azcli-aks-tool") [[ -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) + # specify the version of python3 [[ -z "${PYTHON_VERSION}" ]] && (echo "PYTHON_VERSION is empty"; exit 1) -# from azure devops -[[ -z "${BUILD_REASON}" ]] && (echo "BUILD_REASON is empty") -[[ -z "${SYSTEM_PULLREQUEST_TARGETBRANCH}" ]] && (echo "SYSTEM_PULLREQUEST_TARGETBRANCH is empty") +# tsg/wiki link +[[ -z "${WIKI_LINK}" ]] && (echo "WIKI_LINK is empty"; exit 1) + +# pytest options +[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty") +[[ -z "${RERUNS}" ]] && (echo "RERUNS is empty") +[[ -z "${NON_BOXED}" ]] && (echo "NON_BOXED is empty") +[[ -z "${LOG_LEVEL}" ]] && (echo "LOG_LEVEL is empty") +[[ -z "${CAPTURE}" ]] && (echo "CAPTURE is empty") +[[ -z "${NO_EXIT_FIRST}" ]] && (echo "NO_EXIT_FIRST is empty") +[[ -z "${LAST_FAILED}" ]] && (echo "LAST_FAILED is empty") # custom +[[ -z "${IGNORE_EXIT_CODE}" ]] && (echo "IGNORE_EXIT_CODE is empty") [[ -z "${TEST_LOCATION}" ]] && (echo "TEST_LOCATION is empty"; exit 1) [[ -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 "${CLI_TEST_MATRIX}" ]] && (echo "CLI_TEST_MATRIX is empty") [[ -z "${CLI_TEST_FILTER}" ]] && (echo "CLI_TEST_FILTER is empty") [[ -z "${CLI_TEST_COVERAGE}" ]] && (echo "CLI_TEST_COVERAGE 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 "${ENABLE_SELECTION}" ]] && (echo "ENABLE_SELECTION is empty") +[[ -z "${SELECTION_MODE}" ]] && (echo "SELECTION_MODE is empty") +[[ -z "${SELECTION_COUNT}" ]] && (echo "SELECTION_COUNT is empty") +[[ -z "${UNFIX_RANDOM_SEED}" ]] && (echo "UNFIX_RANDOM_SEED is empty") +[[ -z "${CLI_COVERAGE_CONFIG}" ]] && (echo "CLI_COVERAGE_CONFIG is empty") +[[ -z "${EXT_COVERAGE_CONFIG}" ]] && (echo "EXT_COVERAGE_CONFIG 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 "${BACKWARD_COMPATIBILITY_TEST}" ]] && (echo "BACKWARD_COMPATIBILITY_TEST is empty") + # base directories for acs, aks-preview and live test [[ -z "${ACS_BASE_DIR}" ]] && (echo "ACS_BASE_DIR is empty"; exit 1) [[ -z "${AKS_PREVIEW_BASE_DIR}" ]] && (echo "AKS_PREVIEW_BASE_DIR is empty"; exit 1) @@ -48,6 +67,10 @@ set -o xtrace # clear cat /dev/null > env.list +# azure devops +echo "BUILD_REASON=${BUILD_REASON}" >> env.list +echo "SYSTEM_PULLREQUEST_TARGETBRANCH=${SYSTEM_PULLREQUEST_TARGETBRANCH}" >> env.list + # tenant, sub, client echo "TENANT_ID=${TENANT_ID}" >> env.list echo "AZCLI_ALT_SUBSCRIPTION_ID=${AZCLI_ALT_SUBSCRIPTION_ID}" >> env.list @@ -58,39 +81,54 @@ echo "IMAGE_PREFIX=${IMAGE_PREFIX}" >> env.list echo "IMAGE_NAME=${IMAGE_NAME}" >> env.list echo "IMAGE_TAG=${IMAGE_TAG}" >> env.list -# predefined variables -echo "BUILD_REASON=${BUILD_REASON}" >> env.list -echo "SYSTEM_PULLREQUEST_TARGETBRANCH=${SYSTEM_PULLREQUEST_TARGETBRANCH}" >> env.list - # python version echo "PYTHON_VERSION=${PYTHON_VERSION}" >> env.list -# base directories -echo "ACS_BASE_DIR=${ACS_BASE_DIR}" >> env.list -echo "AKS_PREVIEW_BASE_DIR=${AKS_PREVIEW_BASE_DIR}" >> env.list -echo "LIVE_TEST_BASE_DIR=${LIVE_TEST_BASE_DIR}" >> env.list +# tsg/wiki link +echo "WIKI_LINK=${WIKI_LINK}" >> env.list + +# pytest options +echo "PARALLELISM=${PARALLELISM}" >> env.list +echo "RERUNS=${RERUNS}" >> env.list +echo "NON_BOXED=${NON_BOXED}" >> env.list +echo "LOG_LEVEL=${LOG_LEVEL}" >> env.list +echo "CAPTURE=${CAPTURE}" >> env.list +echo "NO_EXIT_FIRST=${NO_EXIT_FIRST}" >> env.list +echo "LAST_FAILED=${LAST_FAILED}" >> env.list -# azdev env +# custom - 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 -# test +# custom - az-aks-tool +echo "IGNORE_EXIT_CODE=${IGNORE_EXIT_CODE}" >> env.list +# live 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 "CLI_TEST_MATRIX=${CLI_TEST_MATRIX}" >> env.list echo "CLI_TEST_FILTER=${CLI_TEST_FILTER}" >> env.list echo "CLI_TEST_COVERAGE=${CLI_TEST_COVERAGE}" >> 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 +echo "ENABLE_SELECTION=${ENABLE_SELECTION}" >> env.list +echo "SELECTION_MODE=${SELECTION_MODE}" >> env.list +echo "SELECTION_COUNT=${SELECTION_COUNT}" >> env.list +echo "UNFIX_RANDOM_SEED=${UNFIX_RANDOM_SEED}" >> env.list +# unit test +echo "CLI_COVERAGE_CONFIG=${CLI_COVERAGE_CONFIG}" >> env.list +echo "EXT_COVERAGE_CONFIG=${EXT_COVERAGE_CONFIG}" >> env.list -# repo +# custom - repo 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 -# backward compatibility -echo "BACKWARD_COMPATIBILITY_TEST=${BACKWARD_COMPATIBILITY_TEST}" >> env.list \ No newline at end of file +# custom - backward compatibility +echo "BACKWARD_COMPATIBILITY_TEST=${BACKWARD_COMPATIBILITY_TEST}" >> env.list + +# base directories +echo "ACS_BASE_DIR=${ACS_BASE_DIR}" >> env.list +echo "AKS_PREVIEW_BASE_DIR=${AKS_PREVIEW_BASE_DIR}" >> env.list +echo "LIVE_TEST_BASE_DIR=${LIVE_TEST_BASE_DIR}" >> env.list diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-clean-up.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-clean-up.yaml new file mode 100644 index 00000000000..b6455d1bd8d --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-clean-up.yaml @@ -0,0 +1,22 @@ +name: $(Date:yyyyMMdd)$(Rev:.r-)-CleanUp + +trigger: none + +pool: + name: 1ES-AKS-Elastic-DevInfra-Auto-TearDown-Pool + +variables: + - group: azcli-aks-tool + - name: LIVE_TEST_BASE_DIR + value: "src/aks-preview/azcli_aks_live_test" + +jobs: +- job: CleanUp + timeoutInMinutes: 60 + displayName: "Clean Up" + steps: + - bash: | + $(LIVE_TEST_BASE_DIR)/scripts/clean_up.sh + env: + AZCLI_ALT_CLIENT_SECRET: $(AZCLI_ALT_CLIENT_SECRET) + displayName: "Clean up outdated resource groups" 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 2178d0e6062..8b693854341 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 @@ -3,7 +3,7 @@ name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mod trigger: none pool: - name: 1ES-AKS-Elastic-DevInfra-Normal-Pool + name: 1ES-AKS-Elastic-DevInfra-Auto-TearDown-Pool pr: branches: 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 17d475ba6dd..9a4f7577748 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 @@ -3,7 +3,7 @@ name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mod trigger: none pool: - name: 1ES-AKS-Elastic-DevInfra-Normal-Pool + name: 1ES-AKS-Elastic-DevInfra-Auto-TearDown-Pool pr: branches: @@ -59,13 +59,9 @@ jobs: condition: succeeded() displayName: "Set up Virtual Environment" - bash: | - docker exec $(ContainerName) /opt/scripts/test_cli_unit.sh - condition: and(succeeded(), in(variables['COVERAGE'], 'cli', 'all')) - displayName: Perform Unit Test for CLI - - bash: | - docker exec $(ContainerName) /opt/scripts/test_ext_unit.sh - condition: and(succeededOrFailed(), in(variables['COVERAGE'], 'ext', 'all')) - displayName: Perform Unit Test for EXT + docker exec $(ContainerName) /opt/scripts/test_unit.sh $(COVERAGE) + condition: succeeded() + displayName: Perform Unit Test - task: CopyFiles@2 inputs: contents: 'reports/**' diff --git a/src/aks-preview/azext_aks_preview/__init__.py b/src/aks-preview/azext_aks_preview/__init__.py index c44e43a09cf..e64253a6aac 100644 --- a/src/aks-preview/azext_aks_preview/__init__.py +++ b/src/aks-preview/azext_aks_preview/__init__.py @@ -16,7 +16,7 @@ def register_aks_preview_resource_type(): register_resource_type( "latest", CUSTOM_MGMT_AKS_PREVIEW, - SDKProfile("2021-09-01", {"container_services": "2017-07-01"}), + SDKProfile("2022-01-02-preview", {"container_services": "2017-07-01"}), ) diff --git a/src/aks-preview/azext_aks_preview/_completers.py b/src/aks-preview/azext_aks_preview/_completers.py index b4ad6eee601..712af92bfc0 100644 --- a/src/aks-preview/azext_aks_preview/_completers.py +++ b/src/aks-preview/azext_aks_preview/_completers.py @@ -6,8 +6,7 @@ from azure.cli.core.commands.parameters import get_one_of_subscription_locations from azure.cli.core.decorators import Completer -# pylint: disable=line-too-long -from azext_aks_preview.vendored_sdks.azure_mgmt_preview_aks.v2021_09_01.models import ContainerServiceVMSizeTypes +from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW @Completer @@ -45,6 +44,12 @@ def get_k8s_versions(cli_ctx, location): @Completer def get_vm_size_completion_list(cmd, prefix, namespace, **kwargs): # pylint: disable=unused-argument """Return the intersection of the VM sizes allowed by the ACS SDK with those returned by the Compute Service.""" + # load model + ContainerServiceVMSizeTypes = cmd.get_models( + "ContainerServiceVMSizeTypes", + resource_type=CUSTOM_MGMT_AKS_PREVIEW, + operation_group="managed_clusters", + ) location = _get_location(cmd.cli_ctx, namespace) result = get_vm_sizes(cmd.cli_ctx, location) diff --git a/src/aks-preview/azext_aks_preview/_format.py b/src/aks-preview/azext_aks_preview/_format.py index bcfb3efd97a..e0bd12428f3 100644 --- a/src/aks-preview/azext_aks_preview/_format.py +++ b/src/aks-preview/azext_aks_preview/_format.py @@ -88,6 +88,7 @@ def _aks_table_format(result): location: location, resourceGroup: resourceGroup, kubernetesVersion: kubernetesVersion, + currentKubernetesVersion: currentKubernetesVersion, provisioningState: provisioningState, fqdn: fqdn }""") diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index 2201fa67c11..ef5c2fd654c 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -134,6 +134,10 @@ type: int short-summary: Load balancer managed outbound IP count. long-summary: Desired number of managed outbound IPs for load balancer outbound connection. Valid for Standard SKU load balancer cluster only. + - name: --load-balancer-managed-outbound-ipv6-count + type: int + short-summary: Load balancer managed outbound IPv6 IP count. + long-summary: Desired number of managed outbound IPv6 IPs for load balancer outbound connection. Valid for dual-stack (--ip-families IPv4,IPv6) only. - name: --load-balancer-outbound-ips type: string short-summary: Load balancer outbound IP resource IDs. @@ -188,11 +192,11 @@ - name: --max-pods -m type: int short-summary: The maximum number of pods deployable to a node. - long-summary: If not specified, defaults to 110, or 30 for advanced networking configurations. + long-summary: If not specified, defaults based on network-plugin. 30 for "azure", 110 for "kubenet", or 250 for "none". - name: --network-plugin type: string short-summary: The Kubernetes network plugin to use. - long-summary: Specify "azure" for advanced networking configurations. Defaults to "kubenet". + long-summary: Specify "azure" for routable pod IPs from VNET, "kubenet" for non-routable pod IPs with an overlay network, or "none" for no networking configured. - name: --network-policy type: string short-summary: (PREVIEW) The Kubernetes network policy to use. @@ -212,6 +216,18 @@ type: string short-summary: A CIDR notation IP range from which to assign service cluster IPs. long-summary: This range must not overlap with any Subnet IP ranges. For example, 10.0.0.0/16. + - name: --service-cidrs + type: string + short-summary: A comma separated list of CIDR notation IP ranges from which to assign service cluster IPs. + long-summary: Each range must not overlap with any Subnet IP ranges. For example, 10.0.0.0/16. + - name: --pod-cidrs + type: string + short-summary: A comma separated list of CIDR notation IP ranges from which to assign pod IPs when kubenet is used. + long-summary: Each range must not overlap with any Subnet IP ranges. For example, 172.244.0.0/16. + - name: --ip-families + type: string + short-summary: A comma separated list of IP versions to use for cluster networking. + long-summary: Each IP version should be in the format IPvN. For example, IPv4. - name: --vnet-subnet-id type: string short-summary: The ID of a subnet in an existing VNet into which to deploy the cluster. @@ -379,6 +395,18 @@ - name: --snapshot-id type: string short-summary: The source snapshot id used to create this cluster. + - name: --enable-oidc-issuer + type: bool + short-summary: (PREVIEW) Enable OIDC issuer. + - name: --crg-id + type: string + short-summary: The crg-id used to associate the new cluster with the existed Capacity Reservation Group resource. + - name: --host-group-id + type: string + short-summary: (PREVIEW) The fully qualified dedicated host group id used to provision agent node pool. + - name: --message-of-the-day + type: string + short-summary: Path to a file containing the desired message of the day. Only valid for linux nodes. Will be written to /etc/motd. examples: - name: Create a Kubernetes cluster with an existing SSH public key. text: az aks create -g MyResourceGroup -n MyManagedCluster --ssh-key-value /path/to/publickey @@ -434,6 +462,13 @@ text: az aks create -g MyResourceGroup -n MyManagedCluster --load-balancer-sku Standard --network-plugin azure --windows-admin-username azure --windows-admin-password 'replacePassword1234$' --enable-windows-gmsa --gmsa-dns-server "10.240.0.4" --gmsa-root-domain-name "contoso.com" - name: create a kubernetes cluster with a snapshot id. text: az aks create -g MyResourceGroup -n MyManagedCluster --kubernetes-version 1.20.9 --snapshot-id "/subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/snapshots/mysnapshot1" + - name: create a kubernetes cluster with a Capacity Reservation Group(CRG) ID. + text: az aks create -g MyResourceGroup -n MyMC --kubernetes-version 1.20.9 --node-vm-size VMSize --assign-identity CRG-RG-ID --enable-managed-identity --crg-id "subscriptions/SubID/resourceGroups/RGName/providers/Microsoft.ContainerService/CapacityReservationGroups/MyCRGID" + - name: create a kubernetes cluster with support of hostgroup id. + text: az aks create -g MyResourceGroup -n MyMC --kubernetes-version 1.20.13 --location westus2 --host-group-id /subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/hostGroups/myHostGroup --node-vm-size VMSize --enable-managed-identity --assign-identity + - name: Create a kubernetes cluster with no CNI installed. + text: az aks create -g MyResourceGroup -n MyManagedCluster --network-plugin none + """.format(sp_cache=AKS_SERVICE_PRINCIPAL_CACHE) helps['aks scale'] = """ @@ -498,6 +533,10 @@ type: int short-summary: Load balancer managed outbound IP count. long-summary: Desired number of managed outbound IPs for load balancer outbound connection. Valid for Standard SKU load balancer cluster only. If updated, it will wipe off the existing setting on Load balancer managed outbound IP count; Load balancer outbound IP resource IDs and Load balancer outbound IP prefix resource IDs. + - name: --load-balancer-managed-outbound-ipv6-count + type: int + short-summary: Load balancer managed outbound IPv6 IP count. + long-summary: Desired number of managed outbound IPv6 IPs for load balancer outbound connection. Valid for dual-stack (--ip-families IPv4,IPv6) only. If updated, it will wipe off the existing setting on Load balancer managed outbound IPv6 count; Load balancer outbound IP resource IDs and Load balancer outbound IP prefix resource IDs. - name: --load-balancer-outbound-ips type: string short-summary: Load balancer outbound IP resource IDs. @@ -632,6 +671,9 @@ long-summary: |- You do not need to set this if you have set DNS server in the VNET used by the cluster. You must set or not set --gmsa-dns-server and --gmsa-root-domain-name at the same time when setting --enable-windows-gmsa. + - name: --enable-oidc-issuer + type: bool + short-summary: (PREVIEW) Enable OIDC issuer. examples: - name: Enable cluster-autoscaler within node count range [1,5] text: az aks update --enable-cluster-autoscaler --min-count 1 --max-count 5 -g MyResourceGroup -n MyManagedCluster @@ -793,14 +835,14 @@ "timeInWeek": [ { "day": "Tuesday", - "hour_slots": [ + "hourSlots": [ 1, 2 ] }, { "day": "Wednesday", - "hour_slots": [ + "hourSlots": [ 1, 6 ] @@ -850,14 +892,14 @@ "timeInWeek": [ { "day": "Tuesday", - "hour_slots": [ + "hourSlots": [ 1, 2 ] }, { "day": "Wednesday", - "hour_slots": [ + "hourSlots": [ 1, 6 ] @@ -915,7 +957,7 @@ - name: --max-pods -m type: int short-summary: The maximum number of pods deployable to a node. - long-summary: If not specified, defaults to 110, or 30 for advanced networking configurations. + long-summary: If not specified, defaults based on network-plugin. 30 for "azure", 110 for "kubenet", or 250 for "none". - name: --node-zones --zones -z type: string array short-summary: (will be deprecated, use --zones) Availability zones where agent nodes will be placed. @@ -951,7 +993,7 @@ short-summary: "Describes how VMs are added to or removed from nodepools." - name: --node-taints type: string - short-summary: The node taints for the node pool. You can't change the node taints through CLI after the node pool is created. + short-summary: The node taints for the node pool. - name: --priority type: string short-summary: The priority of the node pool. @@ -1000,6 +1042,15 @@ - name: --snapshot-id type: string short-summary: The source snapshot id used to create this nodepool. + - name: --crg-id + type: string + short-summary: The crg-id used to associate the new nodepool with the existed Capacity Reservation Group resource. + - name: --host-group-id + type: string + short-summary: (PREVIEW) The fully qualified dedicated host group id used to provision agent node pool. + - name: --message-of-the-day + type: string + short-summary: Path to a file containing the desired message of the day. Only valid for linux nodes. Will be written to /etc/motd. examples: - name: Create a nodepool in an existing AKS cluster with ephemeral os enabled. text: az aks nodepool add -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster --node-osdisk-type Ephemeral --node-osdisk-size 48 @@ -1011,6 +1062,10 @@ text: az aks nodepool add -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster --workload-runtime WasmWasi - name: create a kubernetes cluster with a snapshot id. text: az aks nodepool add -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster --kubernetes-version 1.20.9 --snapshot-id "/subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/snapshots/mysnapshot1" + - name: create a nodepool with a Capacity Reservation Group(CRG) ID. + text: az aks nodepool add -g MyResourceGroup -n MyNodePool --cluster-name MyMC --node-vm-size VMSize --crg-id "/subscriptions/SubID/resourceGroups/ResourceGroupName/providers/Microsoft.ContainerService/CapacityReservationGroups/MyCRGID" + - name: create a nodepool in an existing AKS cluster with host group id + text: az aks nodepool add -g MyResourceGroup -n MyNodePool --cluster-name MyMC --host-group-id /subscriptions/00000/resourceGroups/AnotherResourceGroup/providers/Microsoft.ContainerService/hostGroups/myHostGroup --node-vm-size VMSize """ helps['aks nodepool scale'] = """ @@ -1074,6 +1129,9 @@ - name: --labels type: string short-summary: The node labels for the node pool. See https://aka.ms/node-labels for syntax of labels. + - name: --node-taints + type: string + short-summary: The node taints for the node pool. examples: - name: Enable cluster-autoscaler within node count range [1,5] text: az aks nodepool update --enable-cluster-autoscaler --min-count 1 --max-count 5 -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster diff --git a/src/aks-preview/azext_aks_preview/_helpers.py b/src/aks-preview/azext_aks_preview/_helpers.py index 9577c7a4b30..de46221daff 100644 --- a/src/aks-preview/azext_aks_preview/_helpers.py +++ b/src/aks-preview/azext_aks_preview/_helpers.py @@ -2,105 +2,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- - -from distutils.version import StrictVersion # pylint: disable=no-name-in-module,import-error -# pylint: disable=no-name-in-module,import-error -from knack.util import CLIError -from azure.cli.core.azclierror import ArgumentUsageError - -# pylint: disable=no-name-in-module,import-error -from .vendored_sdks.azure_mgmt_preview_aks.v2021_09_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, \ - CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY, CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY - - -def _populate_api_server_access_profile(api_server_authorized_ip_ranges, instance=None): - if instance is None or instance.api_server_access_profile is None: - profile = ManagedClusterAPIServerAccessProfile() - else: - profile = instance.api_server_access_profile - - if api_server_authorized_ip_ranges is None or api_server_authorized_ip_ranges == "": - authorized_ip_ranges = [] - else: - authorized_ip_ranges = [ip.strip() for ip in api_server_authorized_ip_ranges.split(",")] - - if profile.enable_private_cluster and authorized_ip_ranges: - raise ArgumentUsageError( - '--api-server-authorized-ip-ranges is not supported for private cluster') - - profile.authorized_ip_ranges = authorized_ip_ranges - return profile - - -def _set_vm_set_type(vm_set_type, kubernetes_version): - if not vm_set_type: - if kubernetes_version and StrictVersion(kubernetes_version) < StrictVersion("1.12.9"): - print('Setting vm_set_type to availabilityset as it is \ - not specified and kubernetes version(%s) less than 1.12.9 only supports \ - availabilityset\n' % (kubernetes_version)) - vm_set_type = "AvailabilitySet" - - if not vm_set_type: - vm_set_type = "VirtualMachineScaleSets" - - # normalize as server validation is case-sensitive - if vm_set_type.lower() == "AvailabilitySet".lower(): - vm_set_type = "AvailabilitySet" - - if vm_set_type.lower() == "VirtualMachineScaleSets".lower(): - vm_set_type = "VirtualMachineScaleSets" - return vm_set_type - - -def _set_outbound_type(outbound_type, vnet_subnet_id, load_balancer_sku, load_balancer_profile): - if ( - outbound_type != CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING and - outbound_type != CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY and - outbound_type != CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY - ): - return CONST_OUTBOUND_TYPE_LOAD_BALANCER - - if outbound_type == CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY: - if load_balancer_sku == "basic": - raise ArgumentUsageError("managedNATGateway doesn't support basic load balancer sku") - - return CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY - - if outbound_type == CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY: - if load_balancer_sku == "basic": - raise ArgumentUsageError("userAssignedNATGateway doesn't support basic load balancer sku") - - if vnet_subnet_id in ["", None]: - raise ArgumentUsageError("--vnet-subnet-id must be specified for userAssignedNATGateway and it must " - "be pre-associated with a NAT gateway with outbound public IPs or IP prefixes") - - return CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY - - if vnet_subnet_id in ["", None]: - raise ArgumentUsageError("--vnet-subnet-id must be specified for userDefinedRouting and it must " - "be pre-configured with a route table with egress rules") - - if load_balancer_sku == "basic": - raise ArgumentUsageError("userDefinedRouting doesn't support basic load balancer sku") - - if load_balancer_profile: - if (load_balancer_profile.managed_outbound_i_ps or - load_balancer_profile.outbound_i_ps or - load_balancer_profile.outbound_ip_prefixes): - raise ArgumentUsageError("userDefinedRouting doesn't support customizing a standard load balancer " - "with IP addresses") - - return CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING - - -def _parse_comma_separated_list(text): - if text is None: - return None - if text == "": - return [] - return text.split(",") def _trim_fqdn_name_containing_hcp(normalized_fqdn: str) -> str: diff --git a/src/aks-preview/azext_aks_preview/_loadbalancer.py b/src/aks-preview/azext_aks_preview/_loadbalancer.py index 9e4be6ba1f7..f8210d88a37 100644 --- a/src/aks-preview/azext_aks_preview/_loadbalancer.py +++ b/src/aks-preview/azext_aks_preview/_loadbalancer.py @@ -6,12 +6,6 @@ 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_09_01.models import ManagedClusterLoadBalancerProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2021_09_01.models import ManagedClusterLoadBalancerProfileManagedOutboundIPs -from .vendored_sdks.azure_mgmt_preview_aks.v2021_09_01.models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes -from .vendored_sdks.azure_mgmt_preview_aks.v2021_09_01.models import ManagedClusterLoadBalancerProfileOutboundIPs -from .vendored_sdks.azure_mgmt_preview_aks.v2021_09_01.models import ResourceReference - logger = get_logger(__name__) @@ -26,54 +20,70 @@ def set_load_balancer_sku(sku, kubernetes_version): return "standard" -def update_load_balancer_profile(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, - outbound_ports, idle_timeout, profile): +def update_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, + outbound_ip_prefixes, outbound_ports, idle_timeout, profile, models): """parse and update an existing load balancer profile""" - if not is_load_balancer_profile_provided(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, - outbound_ports, idle_timeout): + if not is_load_balancer_profile_provided(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, + outbound_ip_prefixes, outbound_ports, idle_timeout): return profile - return configure_load_balancer_profile(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, - outbound_ports, idle_timeout, profile) + return configure_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, + outbound_ip_prefixes, outbound_ports, idle_timeout, profile, models) -def create_load_balancer_profile(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, - outbound_ports, idle_timeout): +def create_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, + outbound_ip_prefixes, outbound_ports, idle_timeout, models): """parse and build load balancer profile""" - if not is_load_balancer_profile_provided(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, - outbound_ports, idle_timeout): + if not is_load_balancer_profile_provided(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, + outbound_ip_prefixes, outbound_ports, idle_timeout): return None + ManagedClusterLoadBalancerProfile = models.get("ManagedClusterLoadBalancerProfile") profile = ManagedClusterLoadBalancerProfile() - return configure_load_balancer_profile(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, - outbound_ports, idle_timeout, profile) + return configure_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, + outbound_ip_prefixes, outbound_ports, idle_timeout, profile, models) -def configure_load_balancer_profile(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, outbound_ports, - idle_timeout, profile): +def configure_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, + outbound_ip_prefixes, outbound_ports, idle_timeout, profile, models): """configure a load balancer with customer supplied values""" if not profile: return profile - outbound_ip_resources = _get_load_balancer_outbound_ips(outbound_ips) - outbound_ip_prefix_resources = _get_load_balancer_outbound_ip_prefixes(outbound_ip_prefixes) + outbound_ip_resources = _get_load_balancer_outbound_ips(outbound_ips, models) + outbound_ip_prefix_resources = _get_load_balancer_outbound_ip_prefixes(outbound_ip_prefixes, models) - if managed_outbound_ip_count or outbound_ip_resources or outbound_ip_prefix_resources: - # ips -> i_ps due to track 2 naming issue - profile.managed_outbound_i_ps = None + if ( + managed_outbound_ip_count or + managed_outbound_ipv6_count or + outbound_ip_resources or + outbound_ip_prefix_resources + ): # ips -> i_ps due to track 2 naming issue profile.outbound_i_ps = None profile.outbound_ip_prefixes = None - if managed_outbound_ip_count: - # ips -> i_ps due to track 2 naming issue - profile.managed_outbound_i_ps = ManagedClusterLoadBalancerProfileManagedOutboundIPs( - count=managed_outbound_ip_count + profile.managed_outbound_i_ps = None + + if managed_outbound_ip_count or managed_outbound_ipv6_count: + ManagedClusterLoadBalancerProfileManagedOutboundIPs = models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" ) + profile.managed_outbound_i_ps = ManagedClusterLoadBalancerProfileManagedOutboundIPs() + if managed_outbound_ip_count: + profile.managed_outbound_i_ps.count = managed_outbound_ip_count + if managed_outbound_ipv6_count: + profile.managed_outbound_i_ps.count_ipv6 = managed_outbound_ipv6_count if outbound_ip_resources: + ManagedClusterLoadBalancerProfileOutboundIPs = models.get( + "ManagedClusterLoadBalancerProfileOutboundIPs" + ) # ips -> i_ps due to track 2 naming issue profile.outbound_i_ps = ManagedClusterLoadBalancerProfileOutboundIPs( public_i_ps=outbound_ip_resources ) if outbound_ip_prefix_resources: + ManagedClusterLoadBalancerProfileOutboundIPPrefixes = models.get( + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" + ) profile.outbound_ip_prefixes = ManagedClusterLoadBalancerProfileOutboundIPPrefixes( public_ip_prefixes=outbound_ip_prefix_resources ) @@ -84,28 +94,31 @@ def configure_load_balancer_profile(managed_outbound_ip_count, outbound_ips, out return profile -def is_load_balancer_profile_provided(managed_outbound_ip_count, outbound_ips, ip_prefixes, - outbound_ports, idle_timeout): +def is_load_balancer_profile_provided(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, + ip_prefixes, outbound_ports, idle_timeout): return any([managed_outbound_ip_count, + managed_outbound_ipv6_count, outbound_ips, ip_prefixes, outbound_ports, idle_timeout]) -def _get_load_balancer_outbound_ips(load_balancer_outbound_ips): +def _get_load_balancer_outbound_ips(load_balancer_outbound_ips, models): """parse load balancer profile outbound IP ids and return an array of references to the outbound IP resources""" load_balancer_outbound_ip_resources = None + ResourceReference = models.get("ResourceReference") if load_balancer_outbound_ips: load_balancer_outbound_ip_resources = \ [ResourceReference(id=x.strip()) for x in load_balancer_outbound_ips.split(',')] return load_balancer_outbound_ip_resources -def _get_load_balancer_outbound_ip_prefixes(load_balancer_outbound_ip_prefixes): +def _get_load_balancer_outbound_ip_prefixes(load_balancer_outbound_ip_prefixes, models): """parse load balancer profile outbound IP prefix ids and return an array \ of references to the outbound IP prefix resources""" load_balancer_outbound_ip_prefix_resources = None + ResourceReference = models.get("ResourceReference") if load_balancer_outbound_ip_prefixes: load_balancer_outbound_ip_prefix_resources = \ [ResourceReference(id=x.strip()) for x in load_balancer_outbound_ip_prefixes.split(',')] diff --git a/src/aks-preview/azext_aks_preview/_natgateway.py b/src/aks-preview/azext_aks_preview/_natgateway.py index 3909951aa3b..bffc77847ad 100644 --- a/src/aks-preview/azext_aks_preview/_natgateway.py +++ b/src/aks-preview/azext_aks_preview/_natgateway.py @@ -3,18 +3,19 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from types import SimpleNamespace -def create_nat_gateway_profile(managed_outbound_ip_count, idle_timeout, models): + +def create_nat_gateway_profile(managed_outbound_ip_count, idle_timeout, models: SimpleNamespace): """parse and build NAT gateway profile""" if not is_nat_gateway_profile_provided(managed_outbound_ip_count, idle_timeout): return None - # profile = ManagedClusterNATGatewayProfile() - profile = models.get("ManagedClusterNATGatewayProfile")() + profile = models.ManagedClusterNATGatewayProfile() return configure_nat_gateway_profile(managed_outbound_ip_count, idle_timeout, profile, models) -def update_nat_gateway_profile(managed_outbound_ip_count, idle_timeout, profile, models): +def update_nat_gateway_profile(managed_outbound_ip_count, idle_timeout, profile, models: SimpleNamespace): """parse and update an existing NAT gateway profile""" if not is_nat_gateway_profile_provided(managed_outbound_ip_count, idle_timeout): return profile @@ -26,13 +27,13 @@ def is_nat_gateway_profile_provided(managed_outbound_ip_count, idle_timeout): return any([managed_outbound_ip_count, idle_timeout]) -def configure_nat_gateway_profile(managed_outbound_ip_count, idle_timeout, profile, models): +def configure_nat_gateway_profile(managed_outbound_ip_count, idle_timeout, profile, models: SimpleNamespace): """configure a NAT Gateway with customer supplied values""" if not profile: return profile if managed_outbound_ip_count: - ManagedClusterManagedOutboundIPProfile = models.get("ManagedClusterManagedOutboundIPProfile") + ManagedClusterManagedOutboundIPProfile = models.ManagedClusterManagedOutboundIPProfile profile.managed_outbound_ip_profile = ManagedClusterManagedOutboundIPProfile( count=managed_outbound_ip_count ) diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index f0f57b6ac28..69e7255d7c5 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -16,14 +16,15 @@ from ._completers import ( 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_create_parameters, validate_k8s_version, validate_linux_host_name, validate_ssh_key, validate_nodes_count, validate_ip_ranges, - validate_nodepool_name, validate_vm_set_type, validate_load_balancer_sku, validate_nodepool_id, validate_snapshot_id, + validate_nodepool_name, validate_vm_set_type, validate_load_balancer_sku, validate_nodepool_id, validate_snapshot_id, validate_crg_id, validate_load_balancer_outbound_ips, validate_load_balancer_outbound_ip_prefixes, validate_nat_gateway_managed_outbound_ip_count, validate_taints, validate_priority, validate_eviction_policy, validate_spot_max_price, validate_acr, validate_user, validate_load_balancer_outbound_ports, validate_load_balancer_idle_timeout, validate_nat_gateway_idle_timeout, validate_nodepool_tags, validate_addon, validate_nodepool_labels, validate_vnet_subnet_id, validate_pod_subnet_id, validate_max_surge, validate_assign_identity, validate_addons, - validate_pod_identity_pod_labels, validate_pod_identity_resource_name, validate_pod_identity_resource_namespace, validate_assign_kubelet_identity) + validate_pod_identity_pod_labels, validate_pod_identity_resource_name, validate_pod_identity_resource_namespace, validate_assign_kubelet_identity, + validate_host_group_id, validate_message_of_the_day) from ._consts import CONST_OUTBOUND_TYPE_LOAD_BALANCER, CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING, CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY, \ CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY, CONST_SCALE_SET_PRIORITY_REGULAR, CONST_SCALE_SET_PRIORITY_SPOT, \ CONST_SPOT_EVICTION_POLICY_DELETE, CONST_SPOT_EVICTION_POLICY_DEALLOCATE, \ @@ -32,10 +33,13 @@ CONST_OS_DISK_TYPE_MANAGED, CONST_OS_DISK_TYPE_EPHEMERAL, \ CONST_RAPID_UPGRADE_CHANNEL, CONST_STABLE_UPGRADE_CHANNEL, CONST_PATCH_UPGRADE_CHANNEL, CONST_NODE_IMAGE_UPGRADE_CHANNEL, CONST_NONE_UPGRADE_CHANNEL, \ CONST_WORKLOAD_RUNTIME_OCI_CONTAINER, CONST_WORKLOAD_RUNTIME_WASM_WASI -from ._consts import CONST_GPU_INSTANCE_PROFILE_MIG1_G, CONST_GPU_INSTANCE_PROFILE_MIG2_G, CONST_GPU_INSTANCE_PROFILE_MIG3_G, CONST_GPU_INSTANCE_PROFILE_MIG4_G, CONST_GPU_INSTANCE_PROFILE_MIG7_G +from ._consts import CONST_GPU_INSTANCE_PROFILE_MIG1_G, CONST_GPU_INSTANCE_PROFILE_MIG2_G, CONST_GPU_INSTANCE_PROFILE_MIG3_G, CONST_GPU_INSTANCE_PROFILE_MIG4_G, \ + CONST_GPU_INSTANCE_PROFILE_MIG7_G -workload_runtimes = [CONST_WORKLOAD_RUNTIME_OCI_CONTAINER, CONST_WORKLOAD_RUNTIME_WASM_WASI] -gpu_instance_profiles = [CONST_GPU_INSTANCE_PROFILE_MIG1_G, CONST_GPU_INSTANCE_PROFILE_MIG2_G, CONST_GPU_INSTANCE_PROFILE_MIG3_G, CONST_GPU_INSTANCE_PROFILE_MIG4_G, CONST_GPU_INSTANCE_PROFILE_MIG7_G] +workload_runtimes = [CONST_WORKLOAD_RUNTIME_OCI_CONTAINER, + CONST_WORKLOAD_RUNTIME_WASM_WASI] +gpu_instance_profiles = [CONST_GPU_INSTANCE_PROFILE_MIG1_G, CONST_GPU_INSTANCE_PROFILE_MIG2_G, + CONST_GPU_INSTANCE_PROFILE_MIG3_G, CONST_GPU_INSTANCE_PROFILE_MIG4_G, CONST_GPU_INSTANCE_PROFILE_MIG7_G] def load_arguments(self, _): @@ -48,25 +52,35 @@ def load_arguments(self, _): completer=get_resource_name_completion_list('Microsoft.ContainerService/ManagedClusters')) c.argument('name', name_type, help='Name of the managed cluster.', completer=get_resource_name_completion_list('Microsoft.ContainerService/ManagedClusters')) - c.argument('kubernetes_version', options_list=['--kubernetes-version', '-k'], validator=validate_k8s_version) + c.argument('kubernetes_version', options_list=[ + '--kubernetes-version', '-k'], validator=validate_k8s_version) c.argument('node_count', options_list=['--node-count', '-c'], type=int) c.argument('tags', tags_type) with self.argument_context('aks create') as c: c.argument('name', validator=validate_linux_host_name) - c.argument('kubernetes_version', completer=get_k8s_versions_completion_list) - c.argument('admin_username', options_list=['--admin-username', '-u'], default='azureuser') - c.argument('windows_admin_username', options_list=['--windows-admin-username']) - c.argument('windows_admin_password', options_list=['--windows-admin-password']) + c.argument('kubernetes_version', + completer=get_k8s_versions_completion_list) + c.argument('admin_username', options_list=[ + '--admin-username', '-u'], default='azureuser') + c.argument('windows_admin_username', options_list=[ + '--windows-admin-username']) + c.argument('windows_admin_password', options_list=[ + '--windows-admin-password']) c.argument('enable_ahub', options_list=['--enable-ahub']) c.argument('dns_name_prefix', options_list=['--dns-name-prefix', '-p']) - c.argument('generate_ssh_keys', action='store_true', validator=validate_create_parameters) - c.argument('node_vm_size', options_list=['--node-vm-size', '-s'], completer=get_vm_size_completion_list) + c.argument('generate_ssh_keys', action='store_true', + validator=validate_create_parameters) + c.argument('node_vm_size', options_list=[ + '--node-vm-size', '-s'], completer=get_vm_size_completion_list) c.argument('nodepool_name', type=str, default='nodepool1', 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] ...]. 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('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] ...]. 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') @@ -76,49 +90,67 @@ def load_arguments(self, _): c.argument('dns_service_ip') c.argument('docker_bridge_address') c.argument('edge_zone', edge_zone_type) - c.argument('load_balancer_sku', type=str, validator=validate_load_balancer_sku) + c.argument('load_balancer_sku', type=str, + validator=validate_load_balancer_sku) c.argument('load_balancer_managed_outbound_ip_count', type=int) - c.argument('load_balancer_outbound_ips', type=str, validator=validate_load_balancer_outbound_ips) - c.argument('load_balancer_outbound_ip_prefixes', type=str, validator=validate_load_balancer_outbound_ip_prefixes) - c.argument('load_balancer_outbound_ports', type=int, validator=validate_load_balancer_outbound_ports) - c.argument('load_balancer_idle_timeout', type=int, validator=validate_load_balancer_idle_timeout) - c.argument('nat_gateway_managed_outbound_ip_count', type=int, validator=validate_nat_gateway_managed_outbound_ip_count) - c.argument('nat_gateway_idle_timeout', type=int, validator=validate_nat_gateway_idle_timeout) + c.argument('load_balancer_managed_outbound_ipv6_count', type=int) + c.argument('load_balancer_outbound_ips', type=str, + validator=validate_load_balancer_outbound_ips) + c.argument('load_balancer_outbound_ip_prefixes', type=str, + validator=validate_load_balancer_outbound_ip_prefixes) + c.argument('load_balancer_outbound_ports', type=int, + validator=validate_load_balancer_outbound_ports) + c.argument('load_balancer_idle_timeout', type=int, + validator=validate_load_balancer_idle_timeout) + c.argument('nat_gateway_managed_outbound_ip_count', type=int, + validator=validate_nat_gateway_managed_outbound_ip_count) + c.argument('nat_gateway_idle_timeout', type=int, + validator=validate_nat_gateway_idle_timeout) c.argument('outbound_type', arg_type=get_enum_type([CONST_OUTBOUND_TYPE_LOAD_BALANCER, CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING, CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY, CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY])) - c.argument('enable_addons', options_list=['--enable-addons', '-a'], validator=validate_addons) + c.argument('enable_addons', options_list=[ + '--enable-addons', '-a'], validator=validate_addons) c.argument('disable_rbac', action='store_true') c.argument('enable_rbac', action='store_true', options_list=['--enable-rbac', '-r'], deprecate_info=c.deprecate(redirect="--disable-rbac", hide="2.0.45")) c.argument('max_pods', type=int, options_list=['--max-pods', '-m']) - c.argument('network_plugin', arg_type=get_enum_type(['azure', 'kubenet'])) + c.argument('network_plugin', arg_type=get_enum_type( + ['azure', 'kubenet', 'none'])) c.argument('network_policy') c.argument('no_ssh_key', options_list=['--no-ssh-key', '-x']) c.argument('pod_cidr') c.argument('service_cidr') - c.argument('vnet_subnet_id', type=str, validator=validate_vnet_subnet_id) + c.argument('pod_cidrs') + c.argument('service_cidrs') + c.argument('ip_families') + c.argument('vnet_subnet_id', type=str, + validator=validate_vnet_subnet_id) c.argument('pod_subnet_id', type=str, validator=validate_pod_subnet_id) c.argument('ppg') c.argument('workspace_resource_id') - c.argument('enable_msi_auth_for_monitoring', arg_type=get_three_state_flag(), is_preview=True) + c.argument('enable_msi_auth_for_monitoring', + arg_type=get_three_state_flag(), is_preview=True) c.argument('skip_subnet_role_assignment', action='store_true') - c.argument('enable_fips_image', action='store_true', is_preview=True) + c.argument('enable_fips_image', action='store_true') c.argument('enable_cluster_autoscaler', action='store_true') c.argument('uptime_sla', action='store_true') - c.argument('cluster_autoscaler_profile', nargs='+', validator=validate_cluster_autoscaler_profile) + c.argument('cluster_autoscaler_profile', nargs='+') c.argument('min_count', type=int, validator=validate_nodes_count) c.argument('max_count', type=int, validator=validate_nodes_count) - c.argument('enable_vmss', action='store_true', help='To be deprecated. Use vm_set_type instead.') + c.argument('enable_vmss', action='store_true', + help='To be deprecated. Use vm_set_type instead.') c.argument('vm_set_type', type=str, validator=validate_vm_set_type) - c.argument('node_zones', zones_type, options_list=['--node-zones', '--zones', '-z'], help='(--node-zones will be deprecated, use --zones) Space-separated list of availability zones where agent nodes will be placed.') + c.argument('node_zones', zones_type, options_list=[ + '--node-zones', '--zones', '-z'], help='(--node-zones will be deprecated, use --zones) Space-separated list of availability zones where agent nodes will be placed.') c.argument('enable_node_public_ip', action='store_true') c.argument('node_public_ip_prefix_id', type=str) c.argument('enable_pod_security_policy', action='store_true') c.argument('node_resource_group') c.argument('attach_acr', acr_arg_type) - c.argument('api_server_authorized_ip_ranges', type=str, validator=validate_ip_ranges) + c.argument('api_server_authorized_ip_ranges', + type=str, validator=validate_ip_ranges) c.argument('enable_ahub', options_list=['--enable-ahub']) c.argument('disable_ahub', options_list=['--disable-ahub']) c.argument('aks_custom_headers') @@ -127,51 +159,83 @@ def load_arguments(self, _): c.argument('fqdn_subdomain') c.argument('disable_public_fqdn', action='store_true') c.argument('enable_managed_identity', action='store_true') - c.argument('assign_identity', type=str, validator=validate_assign_identity) + c.argument('assign_identity', type=str, + validator=validate_assign_identity) c.argument('enable_sgxquotehelper', action='store_true') - c.argument('auto_upgrade_channel', arg_type=get_enum_type([CONST_RAPID_UPGRADE_CHANNEL, CONST_STABLE_UPGRADE_CHANNEL, CONST_PATCH_UPGRADE_CHANNEL, CONST_NODE_IMAGE_UPGRADE_CHANNEL, CONST_NONE_UPGRADE_CHANNEL])) + c.argument('auto_upgrade_channel', arg_type=get_enum_type( + [CONST_RAPID_UPGRADE_CHANNEL, CONST_STABLE_UPGRADE_CHANNEL, CONST_PATCH_UPGRADE_CHANNEL, CONST_NODE_IMAGE_UPGRADE_CHANNEL, CONST_NONE_UPGRADE_CHANNEL])) c.argument('kubelet_config', type=str) c.argument('linux_os_config', type=str) - c.argument('http_proxy_config', options_list=['--http-proxy-config'], type=str) + c.argument('http_proxy_config', options_list=[ + '--http-proxy-config'], type=str) c.argument('enable_pod_identity', action='store_true') - c.argument('appgw_name', options_list=['--appgw-name'], arg_group='Application Gateway') - c.argument('appgw_subnet_prefix', options_list=['--appgw-subnet-prefix'], arg_group='Application Gateway', deprecate_info=c.deprecate(redirect='--appgw-subnet-cidr', hide=True)) - c.argument('appgw_subnet_cidr', options_list=['--appgw-subnet-cidr'], arg_group='Application Gateway') - c.argument('appgw_id', options_list=['--appgw-id'], arg_group='Application Gateway') - c.argument('appgw_subnet_id', options_list=['--appgw-subnet-id'], arg_group='Application Gateway') - c.argument('appgw_watch_namespace', options_list=['--appgw-watch-namespace'], arg_group='Application Gateway') + c.argument('appgw_name', options_list=[ + '--appgw-name'], arg_group='Application Gateway') + c.argument('appgw_subnet_prefix', options_list=[ + '--appgw-subnet-prefix'], arg_group='Application Gateway', deprecate_info=c.deprecate(redirect='--appgw-subnet-cidr', hide=True)) + c.argument('appgw_subnet_cidr', options_list=[ + '--appgw-subnet-cidr'], arg_group='Application Gateway') + c.argument('appgw_id', options_list=[ + '--appgw-id'], arg_group='Application Gateway') + c.argument('appgw_subnet_id', options_list=[ + '--appgw-subnet-id'], arg_group='Application Gateway') + c.argument('appgw_watch_namespace', options_list=[ + '--appgw-watch-namespace'], arg_group='Application Gateway') c.argument('aci_subnet_name', type=str) - c.argument('enable_encryption_at_host', arg_type=get_three_state_flag(), help='Enable EncryptionAtHost.') + c.argument('enable_encryption_at_host', arg_type=get_three_state_flag( + ), help='Enable EncryptionAtHost.') c.argument('enable_ultra_ssd', action='store_true') c.argument('enable_secret_rotation', action='store_true') c.argument('rotation_poll_interval', type=str) - c.argument('assign_kubelet_identity', type=str, validator=validate_assign_kubelet_identity) + c.argument('assign_kubelet_identity', type=str, + validator=validate_assign_kubelet_identity) c.argument('disable_local_accounts', action='store_true') - c.argument('gpu_instance_profile', arg_type=get_enum_type(gpu_instance_profiles)) - c.argument('enable_windows_gmsa', action='store_true', options_list=['--enable-windows-gmsa']) + c.argument('gpu_instance_profile', + arg_type=get_enum_type(gpu_instance_profiles)) + c.argument('enable_windows_gmsa', action='store_true', + options_list=['--enable-windows-gmsa']) c.argument('gmsa_dns_server', options_list=['--gmsa-dns-server']) - c.argument('gmsa_root_domain_name', options_list=['--gmsa-root-domain-name']) - c.argument('yes', options_list=['--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') - c.argument('workload_runtime', arg_type=get_enum_type(workload_runtimes), default=CONST_WORKLOAD_RUNTIME_OCI_CONTAINER) - c.argument('snapshot_id', type=str, validator=validate_snapshot_id, is_preview=True) + c.argument('gmsa_root_domain_name', options_list=[ + '--gmsa-root-domain-name']) + c.argument('yes', options_list=[ + '--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') + c.argument('workload_runtime', arg_type=get_enum_type( + workload_runtimes), default=CONST_WORKLOAD_RUNTIME_OCI_CONTAINER) + c.argument('snapshot_id', type=str, validator=validate_snapshot_id) + c.argument('enable_oidc_issuer', action='store_true', is_preview=True) + c.argument('host_group_id', + validator=validate_host_group_id, is_preview=True) + c.argument('crg_id', validator=validate_crg_id, is_preview=True) + c.argument('message_of_the_day', type=str) # no validation for aks create because it already only supports Linux. with self.argument_context('aks update') as c: - c.argument('enable_cluster_autoscaler', options_list=["--enable-cluster-autoscaler", "-e"], action='store_true') - c.argument('disable_cluster_autoscaler', options_list=["--disable-cluster-autoscaler", "-d"], action='store_true') - c.argument('update_cluster_autoscaler', options_list=["--update-cluster-autoscaler", "-u"], action='store_true') - c.argument('cluster_autoscaler_profile', nargs='+', validator=validate_cluster_autoscaler_profile) + c.argument('enable_cluster_autoscaler', options_list=[ + "--enable-cluster-autoscaler", "-e"], action='store_true') + c.argument('disable_cluster_autoscaler', options_list=[ + "--disable-cluster-autoscaler", "-d"], action='store_true') + c.argument('update_cluster_autoscaler', options_list=[ + "--update-cluster-autoscaler", "-u"], action='store_true') + c.argument('cluster_autoscaler_profile', nargs='+') c.argument('min_count', type=int, validator=validate_nodes_count) c.argument('max_count', type=int, validator=validate_nodes_count) c.argument('uptime_sla', action='store_true') c.argument('no_uptime_sla', action='store_true') c.argument('load_balancer_managed_outbound_ip_count', type=int) - c.argument('load_balancer_outbound_ips', type=str, validator=validate_load_balancer_outbound_ips) - c.argument('load_balancer_outbound_ip_prefixes', type=str, validator=validate_load_balancer_outbound_ip_prefixes) - c.argument('load_balancer_outbound_ports', type=int, validator=validate_load_balancer_outbound_ports) - c.argument('load_balancer_idle_timeout', type=int, validator=validate_load_balancer_idle_timeout) - c.argument('nat_gateway_managed_outbound_ip_count', type=int, validator=validate_nat_gateway_managed_outbound_ip_count) - c.argument('nat_gateway_idle_timeout', type=int, validator=validate_nat_gateway_idle_timeout) - c.argument('api_server_authorized_ip_ranges', type=str, validator=validate_ip_ranges) + c.argument('load_balancer_managed_outbound_ipv6_count', type=int) + c.argument('load_balancer_outbound_ips', type=str, + validator=validate_load_balancer_outbound_ips) + c.argument('load_balancer_outbound_ip_prefixes', type=str, + validator=validate_load_balancer_outbound_ip_prefixes) + c.argument('load_balancer_outbound_ports', type=int, + validator=validate_load_balancer_outbound_ports) + c.argument('load_balancer_idle_timeout', type=int, + validator=validate_load_balancer_idle_timeout) + c.argument('nat_gateway_managed_outbound_ip_count', type=int, + validator=validate_nat_gateway_managed_outbound_ip_count) + c.argument('nat_gateway_idle_timeout', type=int, + validator=validate_nat_gateway_idle_timeout) + c.argument('api_server_authorized_ip_ranges', + type=str, validator=validate_ip_ranges) c.argument('enable_pod_security_policy', action='store_true') c.argument('disable_pod_security_policy', action='store_true') c.argument('enable_public_fqdn', action='store_true') @@ -179,163 +243,234 @@ def load_arguments(self, _): c.argument('attach_acr', acr_arg_type, validator=validate_acr) c.argument('detach_acr', acr_arg_type, validator=validate_acr) c.argument('aks_custom_headers') - c.argument('auto_upgrade_channel', arg_type=get_enum_type([CONST_RAPID_UPGRADE_CHANNEL, CONST_STABLE_UPGRADE_CHANNEL, CONST_PATCH_UPGRADE_CHANNEL, CONST_NODE_IMAGE_UPGRADE_CHANNEL, CONST_NONE_UPGRADE_CHANNEL])) + c.argument('auto_upgrade_channel', arg_type=get_enum_type( + [CONST_RAPID_UPGRADE_CHANNEL, CONST_STABLE_UPGRADE_CHANNEL, CONST_PATCH_UPGRADE_CHANNEL, CONST_NODE_IMAGE_UPGRADE_CHANNEL, CONST_NONE_UPGRADE_CHANNEL])) c.argument('enable_managed_identity', action='store_true') - c.argument('assign_identity', type=str, validator=validate_assign_identity) + c.argument('assign_identity', type=str, + validator=validate_assign_identity) c.argument('enable_pod_identity', action='store_true') c.argument('disable_pod_identity', action='store_true') c.argument('enable_secret_rotation', action='store_true') c.argument('disable_secret_rotation', action='store_true') c.argument('rotation_poll_interval', type=str) - c.argument('windows_admin_password', options_list=['--windows-admin-password']) + c.argument('windows_admin_password', options_list=[ + '--windows-admin-password']) c.argument('disable_local_accounts', action='store_true') c.argument('enable_local_accounts', action='store_true') - c.argument('enable_windows_gmsa', action='store_true', options_list=['--enable-windows-gmsa']) + c.argument('enable_windows_gmsa', action='store_true', + options_list=['--enable-windows-gmsa']) c.argument('gmsa_dns_server', options_list=['--gmsa-dns-server']) - c.argument('gmsa_root_domain_name', options_list=['--gmsa-root-domain-name']) - c.argument('yes', options_list=['--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') - c.argument('nodepool_labels', nargs='*', validator=validate_nodepool_labels, help='space-separated labels: key[=value] [key[=value] ...]. See https://aka.ms/node-labels for syntax of labels.') + c.argument('gmsa_root_domain_name', options_list=[ + '--gmsa-root-domain-name']) + c.argument('yes', options_list=[ + '--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') + c.argument('nodepool_labels', nargs='*', validator=validate_nodepool_labels, + help='space-separated labels: key[=value] [key[=value] ...]. See https://aka.ms/node-labels for syntax of labels.') + c.argument('enable_oidc_issuer', action='store_true', is_preview=True) with self.argument_context('aks scale') as c: c.argument('nodepool_name', type=str, help='Node pool name, upto 12 alphanumeric characters', validator=validate_nodepool_name) with self.argument_context('aks upgrade') as c: - c.argument('kubernetes_version', completer=get_k8s_upgrades_completion_list) - c.argument('yes', options_list=['--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') + c.argument('kubernetes_version', + completer=get_k8s_upgrades_completion_list) + c.argument('yes', options_list=[ + '--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') with self.argument_context('aks maintenanceconfiguration') as c: c.argument('cluster_name', type=str, help='The cluster name.') for scope in ['aks maintenanceconfiguration add', 'aks maintenanceconfiguration update']: with self.argument_context(scope) as c: - c.argument('config_name', type=str, options_list=['--name', '-n'], help='The config name.') - c.argument('config_file', type=str, options_list=['--config-file'], help='The config json file.', required=False) - c.argument('weekday', type=str, options_list=['--weekday'], help='weekday on which maintenance can happen. e.g. Monday', required=False) - c.argument('start_hour', type=int, options_list=['--start-hour'], help='maintenance start hour of 1 hour window on the weekday. e.g. 1 means 1:00am - 2:00am', required=False) + c.argument('config_name', type=str, options_list=[ + '--name', '-n'], help='The config name.') + c.argument('config_file', type=str, options_list=[ + '--config-file'], help='The config json file.', required=False) + c.argument('weekday', type=str, options_list=[ + '--weekday'], help='weekday on which maintenance can happen. e.g. Monday', required=False) + c.argument('start_hour', type=int, options_list=[ + '--start-hour'], help='maintenance start hour of 1 hour window on the weekday. e.g. 1 means 1:00am - 2:00am', required=False) for scope in ['aks maintenanceconfiguration show', 'aks maintenanceconfiguration delete']: with self.argument_context(scope) as c: - c.argument('config_name', type=str, options_list=['--name', '-n'], help='The config name.') + c.argument('config_name', type=str, options_list=[ + '--name', '-n'], help='The config name.') with self.argument_context('aks nodepool') as c: c.argument('cluster_name', type=str, help='The cluster name.') for scope in ['aks nodepool add']: with self.argument_context(scope) as c: - c.argument('nodepool_name', type=str, options_list=['--name', '-n'], validator=validate_nodepool_name, help='The node pool name.') + c.argument('nodepool_name', type=str, options_list=[ + '--name', '-n'], validator=validate_nodepool_name, help='The node pool name.') c.argument('tags', tags_type) - c.argument('node_zones', zones_type, options_list=['--node-zones', '--zones', '-z'], help='(--node-zones will be deprecated) Space-separated list of availability zones where agent nodes will be placed.') + c.argument('node_zones', zones_type, options_list=[ + '--node-zones', '--zones', '-z'], help='(--node-zones will be deprecated) Space-separated list of availability zones where agent nodes will be placed.') c.argument('enable_node_public_ip', action='store_true') c.argument('node_public_ip_prefix_id', type=str) - c.argument('node_vm_size', options_list=['--node-vm-size', '-s'], completer=get_vm_size_completion_list) + 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('scale_down_mode', arg_type=get_enum_type([CONST_SCALE_DOWN_MODE_DELETE, CONST_SCALE_DOWN_MODE_DEALLOCATE])) - c.argument('node_taints', type=str, validator=validate_taints) - c.argument('priority', arg_type=get_enum_type([CONST_SCALE_SET_PRIORITY_REGULAR, CONST_SCALE_SET_PRIORITY_SPOT]), validator=validate_priority) - c.argument('eviction_policy', arg_type=get_enum_type([CONST_SPOT_EVICTION_POLICY_DELETE, CONST_SPOT_EVICTION_POLICY_DEALLOCATE]), validator=validate_eviction_policy) - c.argument('spot_max_price', type=float, validator=validate_spot_max_price) + c.argument('os_sku', type=str, options_list=[ + '--os-sku'], completer=get_ossku_completion_list) + c.argument('enable_fips_image', action='store_true') + c.argument('enable_cluster_autoscaler', options_list=[ + "--enable-cluster-autoscaler", "-e"], action='store_true') + c.argument('scale_down_mode', arg_type=get_enum_type( + [CONST_SCALE_DOWN_MODE_DELETE, CONST_SCALE_DOWN_MODE_DEALLOCATE])) + c.argument('node_taints', validator=validate_taints) + c.argument('priority', arg_type=get_enum_type( + [CONST_SCALE_SET_PRIORITY_REGULAR, CONST_SCALE_SET_PRIORITY_SPOT]), validator=validate_priority) + c.argument('eviction_policy', arg_type=get_enum_type( + [CONST_SPOT_EVICTION_POLICY_DELETE, CONST_SPOT_EVICTION_POLICY_DEALLOCATE]), validator=validate_eviction_policy) + c.argument('spot_max_price', type=float, + validator=validate_spot_max_price) c.argument('labels', nargs='*', validator=validate_nodepool_labels) - c.argument('mode', arg_type=get_enum_type([CONST_NODEPOOL_MODE_SYSTEM, CONST_NODEPOOL_MODE_USER])) + c.argument('mode', arg_type=get_enum_type( + [CONST_NODEPOOL_MODE_SYSTEM, CONST_NODEPOOL_MODE_USER])) c.argument('aks_custom_headers') c.argument('ppg') c.argument('max_surge', type=str, validator=validate_max_surge) - c.argument('node_os_disk_type', arg_type=get_enum_type([CONST_OS_DISK_TYPE_MANAGED, CONST_OS_DISK_TYPE_EPHEMERAL])) - c.argument('vnet_subnet_id', type=str, validator=validate_vnet_subnet_id) - c.argument('pod_subnet_id', type=str, validator=validate_pod_subnet_id) + c.argument('node_os_disk_type', arg_type=get_enum_type( + [CONST_OS_DISK_TYPE_MANAGED, CONST_OS_DISK_TYPE_EPHEMERAL])) + c.argument('vnet_subnet_id', type=str, + validator=validate_vnet_subnet_id) + c.argument('pod_subnet_id', type=str, + validator=validate_pod_subnet_id) c.argument('kubelet_config', type=str) c.argument('linux_os_config', type=str) - c.argument('enable_encryption_at_host', options_list=['--enable-encryption-at-host'], action='store_true') + c.argument('enable_encryption_at_host', options_list=[ + '--enable-encryption-at-host'], action='store_true') c.argument('enable_ultra_ssd', action='store_true') - c.argument('workload_runtime', arg_type=get_enum_type(workload_runtimes), default=CONST_WORKLOAD_RUNTIME_OCI_CONTAINER) - c.argument('gpu_instance_profile', arg_type=get_enum_type(gpu_instance_profiles)) - c.argument('snapshot_id', type=str, validator=validate_snapshot_id, is_preview=True) + c.argument('workload_runtime', arg_type=get_enum_type( + workload_runtimes), default=CONST_WORKLOAD_RUNTIME_OCI_CONTAINER) + c.argument('gpu_instance_profile', + arg_type=get_enum_type(gpu_instance_profiles)) + c.argument('snapshot_id', type=str, validator=validate_snapshot_id) + c.argument('host_group_id', + validator=validate_host_group_id, is_preview=True) + c.argument('crg_id', validator=validate_crg_id, is_preview=True) + c.argument('message_of_the_day', type=str, + validator=validate_message_of_the_day) for scope in ['aks nodepool show', 'aks nodepool delete', 'aks nodepool scale', 'aks nodepool upgrade', 'aks nodepool update']: with self.argument_context(scope) as c: - c.argument('nodepool_name', type=str, options_list=['--name', '-n'], validator=validate_nodepool_name, help='The node pool name.') + c.argument('nodepool_name', type=str, options_list=[ + '--name', '-n'], validator=validate_nodepool_name, help='The node pool name.') with self.argument_context('aks nodepool upgrade') as c: c.argument('max_surge', type=str, validator=validate_max_surge) c.argument('aks_custom_headers') - c.argument('snapshot_id', type=str, validator=validate_snapshot_id, is_preview=True) + c.argument('snapshot_id', type=str, validator=validate_snapshot_id) with self.argument_context('aks nodepool update') as c: - c.argument('enable_cluster_autoscaler', options_list=["--enable-cluster-autoscaler", "-e"], action='store_true') - c.argument('disable_cluster_autoscaler', options_list=["--disable-cluster-autoscaler", "-d"], action='store_true') - c.argument('update_cluster_autoscaler', options_list=["--update-cluster-autoscaler", "-u"], action='store_true') - c.argument('scale_down_mode', arg_type=get_enum_type([CONST_SCALE_DOWN_MODE_DELETE, CONST_SCALE_DOWN_MODE_DEALLOCATE])) + c.argument('enable_cluster_autoscaler', options_list=[ + "--enable-cluster-autoscaler", "-e"], action='store_true') + c.argument('disable_cluster_autoscaler', options_list=[ + "--disable-cluster-autoscaler", "-d"], action='store_true') + c.argument('update_cluster_autoscaler', options_list=[ + "--update-cluster-autoscaler", "-u"], action='store_true') + c.argument('scale_down_mode', arg_type=get_enum_type( + [CONST_SCALE_DOWN_MODE_DELETE, CONST_SCALE_DOWN_MODE_DEALLOCATE])) c.argument('tags', tags_type) - c.argument('mode', arg_type=get_enum_type([CONST_NODEPOOL_MODE_SYSTEM, CONST_NODEPOOL_MODE_USER])) + c.argument('mode', arg_type=get_enum_type( + [CONST_NODEPOOL_MODE_SYSTEM, CONST_NODEPOOL_MODE_USER])) c.argument('max_surge', type=str, validator=validate_max_surge) c.argument('labels', nargs='*', validator=validate_nodepool_labels) + c.argument('node_taints', validator=validate_taints) with self.argument_context('aks addon show') as c: - c.argument('addon', options_list=['--addon', '-a'], validator=validate_addon) + c.argument('addon', options_list=[ + '--addon', '-a'], validator=validate_addon) with self.argument_context('aks addon enable') as c: - c.argument('addon', options_list=['--addon', '-a'], validator=validate_addon) + c.argument('addon', options_list=[ + '--addon', '-a'], validator=validate_addon) c.argument('subnet_name', options_list=['--subnet-name', '-s']) c.argument('enable_sgxquotehelper', action='store_true') c.argument('osm_mesh_name', options_list=['--osm-mesh-name']) - c.argument('appgw_name', options_list=['--appgw-name'], arg_group='Application Gateway') - c.argument('appgw_subnet_prefix', options_list=['--appgw-subnet-prefix'], arg_group='Application Gateway', deprecate_info=c.deprecate(redirect='--appgw-subnet-cidr', hide=True)) - c.argument('appgw_subnet_cidr', options_list=['--appgw-subnet-cidr'], arg_group='Application Gateway') - c.argument('appgw_id', options_list=['--appgw-id'], arg_group='Application Gateway') - c.argument('appgw_subnet_id', options_list=['--appgw-subnet-id'], arg_group='Application Gateway') - c.argument('appgw_watch_namespace', options_list=['--appgw-watch-namespace'], arg_group='Application Gateway') + c.argument('appgw_name', options_list=[ + '--appgw-name'], arg_group='Application Gateway') + c.argument('appgw_subnet_prefix', options_list=[ + '--appgw-subnet-prefix'], arg_group='Application Gateway', deprecate_info=c.deprecate(redirect='--appgw-subnet-cidr', hide=True)) + c.argument('appgw_subnet_cidr', options_list=[ + '--appgw-subnet-cidr'], arg_group='Application Gateway') + c.argument('appgw_id', options_list=[ + '--appgw-id'], arg_group='Application Gateway') + c.argument('appgw_subnet_id', options_list=[ + '--appgw-subnet-id'], arg_group='Application Gateway') + c.argument('appgw_watch_namespace', options_list=[ + '--appgw-watch-namespace'], arg_group='Application Gateway') c.argument('enable_secret_rotation', action='store_true') c.argument('rotation_poll_interval', type=str) c.argument('workspace_resource_id') - c.argument('enable_msi_auth_for_monitoring', arg_type=get_three_state_flag(), is_preview=True) + c.argument('enable_msi_auth_for_monitoring', + arg_type=get_three_state_flag(), is_preview=True) with self.argument_context('aks addon disable') as c: - c.argument('addon', options_list=['--addon', '-a'], validator=validate_addon) + c.argument('addon', options_list=[ + '--addon', '-a'], validator=validate_addon) with self.argument_context('aks addon update') as c: - c.argument('addon', options_list=['--addon', '-a'], validator=validate_addon) + c.argument('addon', options_list=[ + '--addon', '-a'], validator=validate_addon) c.argument('subnet_name', options_list=['--subnet-name', '-s']) c.argument('enable_sgxquotehelper', action='store_true') c.argument('osm_mesh_name', options_list=['--osm-mesh-name']) - c.argument('appgw_name', options_list=['--appgw-name'], arg_group='Application Gateway') - c.argument('appgw_subnet_prefix', options_list=['--appgw-subnet-prefix'], arg_group='Application Gateway', deprecate_info=c.deprecate(redirect='--appgw-subnet-cidr', hide=True)) - c.argument('appgw_subnet_cidr', options_list=['--appgw-subnet-cidr'], arg_group='Application Gateway') - c.argument('appgw_id', options_list=['--appgw-id'], arg_group='Application Gateway') - c.argument('appgw_subnet_id', options_list=['--appgw-subnet-id'], arg_group='Application Gateway') - c.argument('appgw_watch_namespace', options_list=['--appgw-watch-namespace'], arg_group='Application Gateway') + c.argument('appgw_name', options_list=[ + '--appgw-name'], arg_group='Application Gateway') + c.argument('appgw_subnet_prefix', options_list=[ + '--appgw-subnet-prefix'], arg_group='Application Gateway', deprecate_info=c.deprecate(redirect='--appgw-subnet-cidr', hide=True)) + c.argument('appgw_subnet_cidr', options_list=[ + '--appgw-subnet-cidr'], arg_group='Application Gateway') + c.argument('appgw_id', options_list=[ + '--appgw-id'], arg_group='Application Gateway') + c.argument('appgw_subnet_id', options_list=[ + '--appgw-subnet-id'], arg_group='Application Gateway') + c.argument('appgw_watch_namespace', options_list=[ + '--appgw-watch-namespace'], arg_group='Application Gateway') c.argument('enable_secret_rotation', action='store_true') c.argument('rotation_poll_interval', type=str) c.argument('workspace_resource_id') - c.argument('enable_msi_auth_for_monitoring', arg_type=get_three_state_flag(), is_preview=True) + c.argument('enable_msi_auth_for_monitoring', + arg_type=get_three_state_flag(), is_preview=True) with self.argument_context('aks disable-addons') as c: - c.argument('addons', options_list=['--addons', '-a'], validator=validate_addons) + c.argument('addons', options_list=[ + '--addons', '-a'], validator=validate_addons) with self.argument_context('aks enable-addons') as c: - c.argument('addons', options_list=['--addons', '-a'], validator=validate_addons) + c.argument('addons', options_list=[ + '--addons', '-a'], validator=validate_addons) c.argument('subnet_name', options_list=['--subnet-name', '-s']) c.argument('enable_sgxquotehelper', action='store_true') c.argument('osm_mesh_name', options_list=['--osm-mesh-name']) - c.argument('appgw_name', options_list=['--appgw-name'], arg_group='Application Gateway') - c.argument('appgw_subnet_prefix', options_list=['--appgw-subnet-prefix'], arg_group='Application Gateway', deprecate_info=c.deprecate(redirect='--appgw-subnet-cidr', hide=True)) - c.argument('appgw_subnet_cidr', options_list=['--appgw-subnet-cidr'], arg_group='Application Gateway') - c.argument('appgw_id', options_list=['--appgw-id'], arg_group='Application Gateway') - c.argument('appgw_subnet_id', options_list=['--appgw-subnet-id'], arg_group='Application Gateway') - c.argument('appgw_watch_namespace', options_list=['--appgw-watch-namespace'], arg_group='Application Gateway') + c.argument('appgw_name', options_list=[ + '--appgw-name'], arg_group='Application Gateway') + c.argument('appgw_subnet_prefix', options_list=[ + '--appgw-subnet-prefix'], arg_group='Application Gateway', deprecate_info=c.deprecate(redirect='--appgw-subnet-cidr', hide=True)) + c.argument('appgw_subnet_cidr', options_list=[ + '--appgw-subnet-cidr'], arg_group='Application Gateway') + c.argument('appgw_id', options_list=[ + '--appgw-id'], arg_group='Application Gateway') + c.argument('appgw_subnet_id', options_list=[ + '--appgw-subnet-id'], arg_group='Application Gateway') + c.argument('appgw_watch_namespace', options_list=[ + '--appgw-watch-namespace'], arg_group='Application Gateway') c.argument('enable_secret_rotation', action='store_true') c.argument('rotation_poll_interval', type=str) c.argument('workspace_resource_id') - c.argument('enable_msi_auth_for_monitoring', arg_type=get_three_state_flag(), is_preview=True) + c.argument('enable_msi_auth_for_monitoring', + arg_type=get_three_state_flag(), is_preview=True) with self.argument_context('aks get-credentials') as c: c.argument('admin', options_list=['--admin', '-a'], default=False) c.argument('context_name', options_list=['--context'], help='If specified, overwrite the default context name.') - c.argument('user', options_list=['--user', '-u'], default='clusterUser', validator=validate_user) + c.argument('user', options_list=[ + '--user', '-u'], default='clusterUser', validator=validate_user) c.argument('path', options_list=['--file', '-f'], type=file_type, completer=FilesCompleter(), default=os.path.join(os.path.expanduser('~'), '.kube', 'config')) c.argument('public_fqdn', default=False, action='store_true') @@ -347,15 +482,19 @@ def load_arguments(self, _): c.argument('identity_name', type=str, options_list=['--name', '-n'], default=None, required=False, help='The pod identity name. Generate if not specified.', validator=validate_pod_identity_resource_name('identity_name', required=False)) - c.argument('identity_namespace', type=str, options_list=['--namespace'], help='The pod identity namespace.') - c.argument('identity_resource_id', type=str, options_list=['--identity-resource-id'], help='Resource id of the identity to use.') - c.argument('binding_selector', type=str, options_list=['--binding-selector'], help='Optional binding selector to use.') + c.argument('identity_namespace', type=str, options_list=[ + '--namespace'], help='The pod identity namespace.') + c.argument('identity_resource_id', type=str, options_list=[ + '--identity-resource-id'], help='Resource id of the identity to use.') + c.argument('binding_selector', type=str, options_list=[ + '--binding-selector'], help='Optional binding selector to use.') with self.argument_context('aks pod-identity delete') as c: c.argument('identity_name', type=str, options_list=['--name', '-n'], default=None, required=True, help='The pod identity name.', validator=validate_pod_identity_resource_name('identity_name', required=True)) - c.argument('identity_namespace', type=str, options_list=['--namespace'], help='The pod identity namespace.') + c.argument('identity_namespace', type=str, options_list=[ + '--namespace'], help='The pod identity namespace.') with self.argument_context('aks pod-identity exception add') as c: c.argument('exc_name', type=str, options_list=['--name', '-n'], default=None, required=False, @@ -389,15 +528,19 @@ def load_arguments(self, _): for scope in ['aks snapshot create']: with self.argument_context(scope) as c: - c.argument('snapshot_name', type=str, options_list=['--name', '-n'], required=True, validator=validate_linux_host_name, help='The snapshot name.') + c.argument('snapshot_name', type=str, options_list=[ + '--name', '-n'], required=True, validator=validate_linux_host_name, help='The snapshot name.') c.argument('tags', tags_type) - c.argument('nodepool_id', type=str, required=True, validator=validate_nodepool_id, help='The nodepool id.') + c.argument('nodepool_id', type=str, required=True, + validator=validate_nodepool_id, help='The nodepool id.') c.argument('aks_custom_headers') for scope in ['aks snapshot show', 'aks snapshot delete']: with self.argument_context(scope) as c: - c.argument('snapshot_name', type=str, options_list=['--name', '-n'], required=True, validator=validate_linux_host_name, help='The snapshot name.') - c.argument('yes', options_list=['--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') + c.argument('snapshot_name', type=str, options_list=[ + '--name', '-n'], required=True, validator=validate_linux_host_name, help='The snapshot name.') + c.argument('yes', options_list=[ + '--yes', '-y'], help='Do not prompt for confirmation.', action='store_true') def _get_default_install_location(exe_name): @@ -406,7 +549,8 @@ def _get_default_install_location(exe_name): home_dir = os.environ.get('USERPROFILE') if not home_dir: return None - install_location = os.path.join(home_dir, r'.azure-{0}\{0}.exe'.format(exe_name)) + install_location = os.path.join( + home_dir, r'.azure-{0}\{0}.exe'.format(exe_name)) elif system in ('Linux', 'Darwin'): install_location = '/usr/local/bin/{}'.format(exe_name) else: diff --git a/src/aks-preview/azext_aks_preview/_podidentity.py b/src/aks-preview/azext_aks_preview/_podidentity.py new file mode 100644 index 00000000000..d2553c90aff --- /dev/null +++ b/src/aks-preview/azext_aks_preview/_podidentity.py @@ -0,0 +1,152 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import time +from types import SimpleNamespace + +from knack.log import get_logger +from knack.util import CLIError + +from ._client_factory import get_auth_management_client +from ._consts import (CONST_MANAGED_IDENTITY_OPERATOR_ROLE, + CONST_MANAGED_IDENTITY_OPERATOR_ROLE_ID) +from ._roleassignments import add_role_assignment + +logger = get_logger(__name__) + + +def _is_pod_identity_addon_enabled(instance): + if not instance: + return False + if not instance.pod_identity_profile: + return False + return bool(instance.pod_identity_profile.enabled) + + +def _ensure_pod_identity_addon_is_enabled(instance): + if not _is_pod_identity_addon_enabled(instance): + raise CLIError('The pod identity addon is not enabled for this managed cluster yet.\n' + 'To enable, run "az aks update --enable-pod-identity') + + +def _ensure_pod_identity_kubenet_consent(network_profile, pod_identity_profile, customer_consent): + if not network_profile or not network_profile.network_plugin: + # invalid data + return + if network_profile.network_plugin.lower() != 'kubenet': + # not kubenet, no need to check + return + + if customer_consent is None: + # no set this time, read from previous value + customer_consent = bool( + pod_identity_profile.allow_network_plugin_kubenet) + + if not customer_consent: + raise CLIError( + "--enable-pod-identity-with-kubenet is required for " + "enabling pod identity addon when using Kubenet network plugin") + pod_identity_profile.allow_network_plugin_kubenet = True + + +def _fill_defaults_for_pod_identity_exceptions(pod_identity_exceptions): + if not pod_identity_exceptions: + return + + for exc in pod_identity_exceptions: + if exc.pod_labels is None: + # in previous version, we accidentally allowed user to specify empty pod labels, + # which will be converted to `None` in response. This behavior will break the extension + # when using 2021-10-01 version. As a workaround, we always back fill the empty dict value + # before sending to the server side. + exc.pod_labels = dict() + + +def _fill_defaults_for_pod_identity_profile(pod_identity_profile): + if not pod_identity_profile: + return + + _fill_defaults_for_pod_identity_exceptions(pod_identity_profile.user_assigned_identity_exceptions) + + +def _update_addon_pod_identity( + instance, + enable, + pod_identities=None, + pod_identity_exceptions=None, + allow_kubenet_consent=None, + models: SimpleNamespace=None, +): + if not enable: + ManagedClusterPodIdentityProfile = models.ManagedClusterPodIdentityProfile + # when disable, remove previous saved value + instance.pod_identity_profile = ManagedClusterPodIdentityProfile( + enabled=False) + return + + _fill_defaults_for_pod_identity_exceptions(pod_identity_exceptions) + + if not instance.pod_identity_profile: + ManagedClusterPodIdentityProfile = models.ManagedClusterPodIdentityProfile + # not set before + instance.pod_identity_profile = ManagedClusterPodIdentityProfile( + enabled=enable, + user_assigned_identities=pod_identities, + user_assigned_identity_exceptions=pod_identity_exceptions, + ) + + _ensure_pod_identity_kubenet_consent( + instance.network_profile, instance.pod_identity_profile, allow_kubenet_consent) + + instance.pod_identity_profile.enabled = enable + instance.pod_identity_profile.user_assigned_identities = pod_identities or [] + instance.pod_identity_profile.user_assigned_identity_exceptions = pod_identity_exceptions or [] + + +def _ensure_managed_identity_operator_permission(cli_ctx, instance, scope): + cluster_identity_object_id = None + if instance.identity.type.lower() == 'userassigned': + for identity in instance.identity.user_assigned_identities.values(): + cluster_identity_object_id = identity.principal_id + break + elif instance.identity.type.lower() == 'systemassigned': + cluster_identity_object_id = instance.identity.principal_id + else: + raise CLIError('unsupported identity type: {}'.format( + instance.identity.type)) + if cluster_identity_object_id is None: + raise CLIError('unable to resolve cluster identity') + + factory = get_auth_management_client(cli_ctx, scope) + assignments_client = factory.role_assignments + cluster_identity_object_id = cluster_identity_object_id.lower() + scope = scope.lower() + + # list all assignments of the target identity (scope) that assigned to the cluster identity + filter_query = "atScope() and assignedTo('{}')".format(cluster_identity_object_id) + for i in assignments_client.list_for_scope(scope=scope, filter=filter_query): + if not i.role_definition_id.lower().endswith(CONST_MANAGED_IDENTITY_OPERATOR_ROLE_ID): + continue + + # sanity checks to make sure we see the correct assignments + if i.principal_id.lower() != cluster_identity_object_id: + # assignedTo() should return the assignment to cluster identity + continue + if not scope.startswith(i.scope.lower()): + # atScope() should return the assignments in subscription / resource group / resource level + continue + + # already assigned + logger.debug('Managed Identity Opereator role has been assigned to {}'.format(i.scope)) + return + + if not add_role_assignment(cli_ctx, CONST_MANAGED_IDENTITY_OPERATOR_ROLE, cluster_identity_object_id, + is_service_principal=False, scope=scope): + raise CLIError( + 'Could not grant Managed Identity Operator permission for cluster') + + # need more time to propogate this assignment... + print() + print('Wait 30 seconds for identity role assignment propagation.') + time.sleep(30) diff --git a/src/aks-preview/azext_aks_preview/_validators.py b/src/aks-preview/azext_aks_preview/_validators.py index a37d21d0d40..d0c914bd99e 100644 --- a/src/aks-preview/azext_aks_preview/_validators.py +++ b/src/aks-preview/azext_aks_preview/_validators.py @@ -12,13 +12,11 @@ from knack.log import get_logger -from azure.cli.core.azclierror import InvalidArgumentValueError +from azure.cli.core.azclierror import InvalidArgumentValueError, ArgumentUsageError from azure.cli.core.commands.validators import validate_tag from azure.cli.core.util import CLIError import azure.cli.core.keys as keys -from .vendored_sdks.azure_mgmt_preview_aks.v2021_09_01.models import ManagedClusterPropertiesAutoScalerProfile - from ._helpers import (_fuzzy_match) from ._consts import ADDONS @@ -68,13 +66,13 @@ def validate_k8s_version(namespace): """Validates a string as a possible Kubernetes version. An empty string is also valid, which tells the server to use its default version.""" if namespace.kubernetes_version: - k8s_release_regex = re.compile(r'^[v|V]?(\d+\.\d+\.\d+.*)$') + k8s_release_regex = re.compile(r'^[v|V]?(\d+\.\d+(?:\.\d+)?)$') found = k8s_release_regex.findall(namespace.kubernetes_version) if found: namespace.kubernetes_version = found[0] else: - raise CLIError('--kubernetes-version should be the full version number, ' - 'such as "1.7.12" or "1.8.7"') + raise CLIError('--kubernetes-version should be the full version number or alias minor version, ' + 'such as "1.7.12" or "1.7"') def validate_linux_host_name(namespace): @@ -223,6 +221,13 @@ def validate_spot_max_price(namespace): "default price to be up-to on-demand") +def validate_message_of_the_day(namespace): + """Validates message of the day can only be used on Linux.""" + if namespace.message_of_the_day is not None and namespace.message_of_the_day != "": + if namespace.os_type is not None and namespace.os_type != "Linux": + raise ArgumentUsageError('--message-of-the-day can only be set for linux nodepools') + + def validate_acr(namespace): if namespace.attach_acr and namespace.detach_acr: raise CLIError('Cannot specify "--attach-acr" and "--detach-acr" at the same time.') @@ -289,35 +294,6 @@ def validate_nodepool_tags(ns): ns.nodepool_tags = tags_dict -def validate_cluster_autoscaler_profile(namespace): - """ Validates that cluster autoscaler profile is acceptable by: - 1. Extracting the key[=value] format to map - 2. Validating that the key isn't empty and that the key is valid - Empty strings pass validation - """ - _extract_cluster_autoscaler_params(namespace) - if namespace.cluster_autoscaler_profile is not None: - for key in namespace.cluster_autoscaler_profile.keys(): - _validate_cluster_autoscaler_key(key) - - -def _validate_cluster_autoscaler_key(key): - if not key: - raise CLIError('Empty key specified for cluster-autoscaler-profile') - valid_keys = list(k.replace("_", "-") for k, v in ManagedClusterPropertiesAutoScalerProfile._attribute_map.items()) # pylint: disable=protected-access - if key not in valid_keys: - raise CLIError('Invalid key specified for cluster-autoscaler-profile: %s' % key) - - -def _extract_cluster_autoscaler_params(namespace): - """ Extracts multiple space-separated cluster autoscaler parameters in key[=value] format """ - if isinstance(namespace.cluster_autoscaler_profile, list): - params_dict = {} - for item in namespace.cluster_autoscaler_profile: - params_dict.update(validate_tag(item)) - namespace.cluster_autoscaler_profile = params_dict - - def validate_nodepool_labels(namespace): """Validates that provided node labels is a valid format""" @@ -517,3 +493,17 @@ def validate_snapshot_id(namespace): from msrestazure.tools import is_valid_resource_id if not is_valid_resource_id(namespace.snapshot_id): raise InvalidArgumentValueError("--snapshot-id is not a valid Azure resource ID.") + + +def validate_host_group_id(namespace): + if namespace.host_group_id: + from msrestazure.tools import is_valid_resource_id + if not is_valid_resource_id(namespace.host_group_id): + raise InvalidArgumentValueError("--host-group-id is not a valid Azure resource ID.") + + +def validate_crg_id(namespace): + if namespace.crg_id: + from msrestazure.tools import is_valid_resource_id + if not is_valid_resource_id(namespace.crg_id): + raise InvalidArgumentValueError("--crg-id is not a valid Azure resource ID.") diff --git a/src/aks-preview/azext_aks_preview/addonconfiguration.py b/src/aks-preview/azext_aks_preview/addonconfiguration.py index 8a3c463aea1..dbea72aa124 100644 --- a/src/aks-preview/azext_aks_preview/addonconfiguration.py +++ b/src/aks-preview/azext_aks_preview/addonconfiguration.py @@ -4,14 +4,13 @@ # -------------------------------------------------------------------------------------------- import json -import datetime from knack.log import get_logger from knack.util import CLIError from azure.cli.core.azclierror import ArgumentUsageError, ClientRequestError from azure.cli.core.commands import LongRunningOperation -from azure.cli.core.commands.client_factory import get_subscription_id, get_mgmt_service_client +from azure.cli.core.commands.client_factory import get_subscription_id from azure.cli.core.util import sdk_no_wait -from azext_aks_preview.vendored_sdks.azure_mgmt_preview_aks.v2021_09_01.models import ManagedClusterAddonProfile +from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW from ._client_factory import cf_resources, cf_resource_groups from ._resourcegroup import get_rg_location from ._roleassignments import add_role_assignment @@ -151,6 +150,13 @@ def update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements os_type = 'Linux' + # load model + ManagedClusterAddonProfile = cmd.get_models( + "ManagedClusterAddonProfile", + resource_type=CUSTOM_MGMT_AKS_PREVIEW, + operation_group="managed_clusters", + ) + # for each addons argument for addon_arg in addon_args: if addon_arg not in ADDONS: @@ -658,121 +664,6 @@ def ensure_container_insights_for_monitoring(cmd, else: raise error - else: - # legacy auth with LA workspace solution - unix_time_in_millis = int( - (datetime.datetime.utcnow() - datetime.datetime.utcfromtimestamp(0)).total_seconds() * 1000.0) - - solution_deployment_name = 'ContainerInsights-{}'.format( - unix_time_in_millis) - - # pylint: disable=line-too-long - template = { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "workspaceResourceId": { - "type": "string", - "metadata": { - "description": "Azure Monitor Log Analytics Resource ID" - } - }, - "workspaceRegion": { - "type": "string", - "metadata": { - "description": "Azure Monitor Log Analytics workspace region" - } - }, - "solutionDeploymentName": { - "type": "string", - "metadata": { - "description": "Name of the solution deployment" - } - } - }, - "resources": [ - { - "type": "Microsoft.Resources/deployments", - "name": "[parameters('solutionDeploymentName')]", - "apiVersion": "2017-05-10", - "subscriptionId": "[split(parameters('workspaceResourceId'),'/')[2]]", - "resourceGroup": "[split(parameters('workspaceResourceId'),'/')[4]]", - "properties": { - "mode": "Incremental", - "template": { - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": {}, - "variables": {}, - "resources": [ - { - "apiVersion": "2015-11-01-preview", - "type": "Microsoft.OperationsManagement/solutions", - "location": "[parameters('workspaceRegion')]", - "name": "[Concat('ContainerInsights', '(', split(parameters('workspaceResourceId'),'/')[8], ')')]", - "properties": { - "workspaceResourceId": "[parameters('workspaceResourceId')]" - }, - "plan": { - "name": "[Concat('ContainerInsights', '(', split(parameters('workspaceResourceId'),'/')[8], ')')]", - "product": "[Concat('OMSGallery/', 'ContainerInsights')]", - "promotionCode": "", - "publisher": "Microsoft" - } - } - ] - }, - "parameters": {} - } - } - ] - } - - params = { - "workspaceResourceId": { - "value": workspace_resource_id - }, - "workspaceRegion": { - "value": location - }, - "solutionDeploymentName": { - "value": solution_deployment_name - } - } - - deployment_name = 'aks-monitoring-{}'.format(unix_time_in_millis) - # publish the Container Insights solution to the Log Analytics workspace - return _invoke_deployment(cmd, resource_group, deployment_name, template, params, - validate=False, no_wait=False, subscription_id=subscription_id) - - -def _invoke_deployment(cmd, resource_group_name, deployment_name, template, parameters, validate, no_wait, - subscription_id=None): - from azure.cli.core.profiles import ResourceType - DeploymentProperties = cmd.get_models( - 'DeploymentProperties', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) - properties = DeploymentProperties( - template=template, parameters=parameters, mode='incremental') - smc = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, - subscription_id=subscription_id).deployments - if validate: - logger.info('==== BEGIN TEMPLATE ====') - logger.info(json.dumps(template, indent=2)) - logger.info('==== END TEMPLATE ====') - - 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) - else: - 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) - def add_monitoring_role_assignment(result, cluster_resource_id, cmd): service_principal_msi_id = None diff --git a/src/aks-preview/azext_aks_preview/azext_metadata.json b/src/aks-preview/azext_aks_preview/azext_metadata.json index 74904e6774c..bbdee91d3c0 100644 --- a/src/aks-preview/azext_aks_preview/azext_metadata.json +++ b/src/aks-preview/azext_aks_preview/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.minCliCoreVersion": "2.30.0", + "azext.minCliCoreVersion": "2.32.0", "azext.isPreview": true } \ No newline at end of file diff --git a/src/aks-preview/azext_aks_preview/commands.py b/src/aks-preview/azext_aks_preview/commands.py index 6b48b8b512d..02052f661a2 100644 --- a/src/aks-preview/azext_aks_preview/commands.py +++ b/src/aks-preview/azext_aks_preview/commands.py @@ -55,6 +55,7 @@ def load_command_table(self, _): g.custom_command('browse', 'aks_browse') g.custom_command('create', 'aks_create', supports_no_wait=True) g.custom_command('update', 'aks_update', supports_no_wait=True) + g.command('delete', 'begin_delete', supports_no_wait=True, confirmation=True) g.custom_command('scale', 'aks_scale', supports_no_wait=True) g.custom_command('disable-addons', 'aks_disable_addons', supports_no_wait=True) diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 7acaa0678c4..786736f9e64 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -4,12 +4,10 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from __future__ import print_function - +import base64 import binascii import datetime import errno -import io import json import os import os.path @@ -23,114 +21,131 @@ import threading import time import uuid -import base64 import webbrowser -import zipfile -from distutils.version import StrictVersion from math import isnan -from six.moves.urllib.request import urlopen # pylint: disable=import-error -from six.moves.urllib.error import URLError # pylint: disable=import-error -import requests -from knack.log import get_logger -from knack.util import CLIError -from knack.prompting import prompt_pass, NoTTYException +import colorama # pylint: disable=import-error import yaml # pylint: disable=import-error -from dateutil.relativedelta import relativedelta # pylint: disable=import-error +from azure.cli.core.api import get_config_dir +from azure.cli.core.azclierror import ( + ArgumentUsageError, + InvalidArgumentValueError, +) +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 ( + get_file_json, + in_cloud_console, + read_file_content, + sdk_no_wait, + shell_safe_json_parse, +) +from azure.graphrbac.models import ( + ApplicationCreateParameters, + KeyCredential, + PasswordCredential, + ServicePrincipalCreateParameters, +) from dateutil.parser import parse # pylint: disable=import-error +from dateutil.relativedelta import relativedelta # pylint: disable=import-error +from knack.log import get_logger +from knack.prompting import NoTTYException, prompt_pass +from knack.util import CLIError from msrestazure.azure_exceptions import CloudError - -import colorama # pylint: disable=import-error +from six.moves.urllib.error import URLError # pylint: disable=import-error +from six.moves.urllib.request import urlopen # pylint: disable=import-error from tabulate import tabulate # pylint: disable=import-error -from azure.cli.core.api import get_config_dir -from azure.cli.core.azclierror import ManualInterrupt, InvalidArgumentValueError, UnclassifiedUserFault, CLIInternalError, FileOperationError, ClientRequestError, DeploymentError, ValidationError, ArgumentUsageError, MutuallyExclusiveArgumentError, RequiredArgumentMissingError, ResourceNotFoundError -from azure.cli.core.commands.client_factory import get_mgmt_service_client, get_subscription_id -from azure.cli.core.keys import is_valid_ssh_rsa_public_key -from azure.cli.core.util import get_file_json, in_cloud_console, shell_safe_json_parse, truncate_text, sdk_no_wait -from azure.cli.core.commands import LongRunningOperation -from azure.cli.core._profile import Profile -from azure.graphrbac.models import (ApplicationCreateParameters, - PasswordCredential, - KeyCredential, - ServicePrincipalCreateParameters, - GetObjectsParameters) + from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW -from .vendored_sdks.azure_mgmt_preview_aks.v2021_09_01.models import (ContainerServiceLinuxProfile, - ManagedClusterWindowsProfile, - ContainerServiceNetworkProfile, - ManagedClusterServicePrincipalProfile, - ContainerServiceSshConfiguration, - ContainerServiceSshPublicKey, - ManagedCluster, - ManagedClusterAADProfile, - ManagedClusterAddonProfile, - ManagedClusterAgentPoolProfile, - AgentPool, - AgentPoolUpgradeSettings, - ContainerServiceStorageProfileTypes, - ManagedClusterIdentity, - ManagedClusterAPIServerAccessProfile, - ManagedClusterSKU, - ManagedServiceIdentityUserAssignedIdentitiesValue, - ManagedClusterAutoUpgradeProfile, - KubeletConfig, - LinuxOSConfig, - ManagedClusterHTTPProxyConfig, - SysctlConfig, - ManagedClusterPodIdentityProfile, - ManagedClusterPodIdentity, - ManagedClusterPodIdentityException, - UserAssignedIdentity, - WindowsGmsaProfile, - PowerState, - Snapshot, - CreationData) -from ._client_factory import cf_resource_groups -from ._client_factory import get_auth_management_client -from ._client_factory import get_graph_rbac_management_client -from ._client_factory import get_msi_client -from ._client_factory import cf_resources -from ._client_factory import get_resource_by_name -from ._client_factory import cf_container_registry_service -from ._client_factory import cf_storage -from ._client_factory import cf_agent_pools -from ._client_factory import cf_snapshots -from ._client_factory import cf_snapshots_client -from ._resourcegroup import get_rg_location -from ._roleassignments import add_role_assignment, create_role_assignment, build_role_scope, resolve_role_id, \ - resolve_object_id - -from ._helpers import (_populate_api_server_access_profile, _set_vm_set_type, - _set_outbound_type, _parse_comma_separated_list, - _trim_fqdn_name_containing_hcp) -from ._loadbalancer import (set_load_balancer_sku, is_load_balancer_profile_provided, - update_load_balancer_profile, create_load_balancer_profile) -from ._natgateway import (create_nat_gateway_profile, update_nat_gateway_profile, is_nat_gateway_profile_provided) -from ._consts import CONST_HTTP_APPLICATION_ROUTING_ADDON_NAME -from ._consts import CONST_MONITORING_ADDON_NAME -from ._consts import CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID -from ._consts import CONST_MONITORING_USING_AAD_MSI_AUTH -from ._consts import CONST_VIRTUAL_NODE_ADDON_NAME -from ._consts import CONST_VIRTUAL_NODE_SUBNET_NAME -from ._consts import CONST_AZURE_POLICY_ADDON_NAME -from ._consts import CONST_KUBE_DASHBOARD_ADDON_NAME -from ._consts import CONST_INGRESS_APPGW_ADDON_NAME -from ._consts import CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID, CONST_INGRESS_APPGW_APPLICATION_GATEWAY_NAME -from ._consts import CONST_INGRESS_APPGW_SUBNET_CIDR, CONST_INGRESS_APPGW_SUBNET_ID -from ._consts import CONST_INGRESS_APPGW_WATCH_NAMESPACE -from ._consts import CONST_SCALE_SET_PRIORITY_REGULAR, CONST_SCALE_SET_PRIORITY_SPOT, CONST_SPOT_EVICTION_POLICY_DELETE -from ._consts import CONST_SCALE_DOWN_MODE_DELETE -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, CONST_ROTATION_POLL_INTERVAL -from ._consts import CONST_MANAGED_IDENTITY_OPERATOR_ROLE, CONST_MANAGED_IDENTITY_OPERATOR_ROLE_ID -from ._consts import CONST_PRIVATE_DNS_ZONE_SYSTEM, CONST_PRIVATE_DNS_ZONE_NONE -from ._consts import ADDONS, ADDONS_DESCRIPTIONS -from .maintenanceconfiguration import aks_maintenanceconfiguration_update_internal -from .addonconfiguration import update_addons, enable_addons, ensure_default_log_analytics_workspace_for_monitoring, \ - sanitize_loganalytics_ws_resource_id, ensure_container_insights_for_monitoring, add_monitoring_role_assignment, \ - add_ingress_appgw_addon_role_assignment, add_virtual_node_role_assignment +from ._client_factory import ( + cf_agent_pools, + cf_container_registry_service, + cf_snapshots_client, + cf_storage, + get_auth_management_client, + get_graph_rbac_management_client, + get_msi_client, + get_resource_by_name, +) +from ._consts import ( + ADDONS, + ADDONS_DESCRIPTIONS, + CONST_ACC_SGX_QUOTE_HELPER_ENABLED, + CONST_AZURE_KEYVAULT_SECRETS_PROVIDER_ADDON_NAME, + CONST_AZURE_POLICY_ADDON_NAME, + CONST_CONFCOM_ADDON_NAME, + CONST_HTTP_APPLICATION_ROUTING_ADDON_NAME, + CONST_INGRESS_APPGW_ADDON_NAME, + CONST_INGRESS_APPGW_APPLICATION_GATEWAY_ID, + CONST_INGRESS_APPGW_APPLICATION_GATEWAY_NAME, + CONST_INGRESS_APPGW_SUBNET_CIDR, + CONST_INGRESS_APPGW_SUBNET_ID, + CONST_INGRESS_APPGW_WATCH_NAMESPACE, + CONST_KUBE_DASHBOARD_ADDON_NAME, + CONST_MANAGED_IDENTITY_OPERATOR_ROLE, + CONST_MANAGED_IDENTITY_OPERATOR_ROLE_ID, + CONST_MONITORING_ADDON_NAME, + CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID, + CONST_MONITORING_USING_AAD_MSI_AUTH, + CONST_OPEN_SERVICE_MESH_ADDON_NAME, + CONST_ROTATION_POLL_INTERVAL, + CONST_SCALE_DOWN_MODE_DELETE, + CONST_SCALE_SET_PRIORITY_REGULAR, + CONST_SCALE_SET_PRIORITY_SPOT, + CONST_SECRET_ROTATION_ENABLED, + CONST_SPOT_EVICTION_POLICY_DELETE, + CONST_VIRTUAL_NODE_ADDON_NAME, + CONST_VIRTUAL_NODE_SUBNET_NAME, +) +from ._helpers import ( + _trim_fqdn_name_containing_hcp, +) +from ._podidentity import ( + _ensure_managed_identity_operator_permission, + _ensure_pod_identity_addon_is_enabled, + _fill_defaults_for_pod_identity_profile, + _update_addon_pod_identity, +) +from ._resourcegroup import get_rg_location +from ._roleassignments import ( + add_role_assignment, + build_role_scope, + create_role_assignment, + resolve_object_id, + resolve_role_id, +) +from .addonconfiguration import ( + add_ingress_appgw_addon_role_assignment, + add_monitoring_role_assignment, + add_virtual_node_role_assignment, + enable_addons, + ensure_container_insights_for_monitoring, + ensure_default_log_analytics_workspace_for_monitoring, + sanitize_loganalytics_ws_resource_id, +) +from .maintenanceconfiguration import ( + aks_maintenanceconfiguration_update_internal, +) +from .vendored_sdks.azure_mgmt_preview_aks.v2022_01_02_preview.models import ( + AgentPool, + AgentPoolUpgradeSettings, + ContainerServiceStorageProfileTypes, + CreationData, + KubeletConfig, + LinuxOSConfig, + ManagedClusterAddonProfile, + ManagedClusterHTTPProxyConfig, + ManagedClusterPodIdentity, + ManagedClusterPodIdentityException, + PowerState, + Snapshot, + SysctlConfig, + UserAssignedIdentity, +) logger = get_logger(__name__) @@ -504,20 +519,6 @@ def _get_user_assigned_identity(cli_ctx, resource_id): "Cannot parse identity name from provided resource id {}.".format(resource_id)) -def _get_user_assigned_identity_client_id(cli_ctx, resource_id): - return _get_user_assigned_identity(cli_ctx, resource_id).client_id - - -def _get_user_assigned_identity_object_id(cli_ctx, resource_id): - return _get_user_assigned_identity(cli_ctx, resource_id).principal_id - - -def _update_dict(dict1, dict2): - cp = dict1.copy() - cp.update(dict2) - return cp - - _re_snapshot_resource_id = re.compile( r'/subscriptions/(.*?)/resourcegroups/(.*?)/providers/microsoft.containerservice/snapshots/(.*)', flags=re.IGNORECASE) @@ -681,10 +682,14 @@ def aks_create(cmd, network_policy=None, pod_cidr=None, service_cidr=None, + pod_cidrs=None, + service_cidrs=None, + ip_families=None, dns_service_ip=None, docker_bridge_address=None, load_balancer_sku=None, load_balancer_managed_outbound_ip_count=None, + load_balancer_managed_outbound_ipv6_count=None, load_balancer_outbound_ips=None, load_balancer_outbound_ip_prefixes=None, load_balancer_outbound_ports=None, @@ -753,27 +758,33 @@ def aks_create(cmd, gmsa_dns_server=None, gmsa_root_domain_name=None, snapshot_id=None, + enable_oidc_issuer=False, + host_group_id=None, + crg_id=None, + message_of_the_day=None, yes=False): - # get all the original parameters and save them as a dictionary + # DO NOT MOVE: get all the original parameters and save them as a dictionary raw_parameters = locals() - # decorator pattern - from .decorator import AKSPreviewCreateDecorator from azure.cli.command_modules.acs._consts import DecoratorEarlyExitException + from azure.cli.command_modules.acs.decorator import AKSParamDict + from .decorator import AKSPreviewCreateDecorator + + # decorator pattern aks_create_decorator = AKSPreviewCreateDecorator( cmd=cmd, client=client, - raw_parameters=raw_parameters, + raw_parameters=AKSParamDict(raw_parameters), resource_type=CUSTOM_MGMT_AKS_PREVIEW, ) try: # construct mc profile - mc = aks_create_decorator.construct_preview_mc_profile() + mc = aks_create_decorator.construct_mc_preview_profile() except DecoratorEarlyExitException: # exit gracefully return None # send request to create a real managed cluster - return aks_create_decorator.create_mc(mc) + return aks_create_decorator.create_mc_preview(mc) def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches,too-many-locals @@ -786,6 +797,7 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, cluster_autoscaler_profile=None, min_count=None, max_count=None, no_wait=False, load_balancer_managed_outbound_ip_count=None, + load_balancer_managed_outbound_ipv6_count=None, load_balancer_outbound_ips=None, load_balancer_outbound_ip_prefixes=None, load_balancer_outbound_ports=None, @@ -826,418 +838,30 @@ def aks_update(cmd, # pylint: disable=too-many-statements,too-many-branches, disable_azure_rbac=False, enable_windows_gmsa=False, gmsa_dns_server=None, - gmsa_root_domain_name=None): - update_autoscaler = enable_cluster_autoscaler or disable_cluster_autoscaler or update_cluster_autoscaler - update_acr = attach_acr is not None or detach_acr is not None - update_pod_security = enable_pod_security_policy or disable_pod_security_policy - update_lb_profile = is_load_balancer_profile_provided(load_balancer_managed_outbound_ip_count, - load_balancer_outbound_ips, - load_balancer_outbound_ip_prefixes, - load_balancer_outbound_ports, - load_balancer_idle_timeout) - update_natgw_profile = is_nat_gateway_profile_provided(nat_gateway_managed_outbound_ip_count, nat_gateway_idle_timeout) - update_aad_profile = not ( - aad_tenant_id is None and aad_admin_group_object_ids is None and not enable_azure_rbac and not disable_azure_rbac) - # pylint: disable=too-many-boolean-expressions - if not update_autoscaler and \ - cluster_autoscaler_profile is None and \ - not update_acr and \ - not update_lb_profile \ - and api_server_authorized_ip_ranges is None and \ - not update_pod_security and \ - not update_lb_profile and \ - not update_natgw_profile and \ - not uptime_sla and \ - not no_uptime_sla and \ - not enable_aad and \ - not update_aad_profile and \ - not enable_ahub and \ - not disable_ahub and \ - not auto_upgrade_channel and \ - not enable_managed_identity and \ - not assign_identity and \ - not enable_pod_identity and \ - not disable_pod_identity and \ - not enable_secret_rotation and \ - not disable_secret_rotation and \ - not rotation_poll_interval and \ - not tags and \ - not windows_admin_password and \ - not enable_local_accounts and \ - not disable_local_accounts and \ - not enable_public_fqdn and \ - not disable_public_fqdn and \ - not enable_windows_gmsa and \ - not nodepool_labels: - raise CLIError('Please specify "--enable-cluster-autoscaler" or ' - '"--disable-cluster-autoscaler" or ' - '"--update-cluster-autoscaler" or ' - '"--cluster-autoscaler-profile" or ' - '"--enable-pod-security-policy" or ' - '"--disable-pod-security-policy" or ' - '"--api-server-authorized-ip-ranges" or ' - '"--attach-acr" or ' - '"--detach-acr" or ' - '"--uptime-sla" or ' - '"--no-uptime-sla" or ' - '"--load-balancer-managed-outbound-ip-count" or ' - '"--load-balancer-outbound-ips" or ' - '"--load-balancer-outbound-ip-prefixes" or ' - '"--nat-gateway-managed-outbound-ip-count" or ' - '"--nat-gateway-idle-timeout" or ' - '"--enable-aad" or ' - '"--aad-tenant-id" or ' - '"--aad-admin-group-object-ids" or ' - '"--enable-ahub" or ' - '"--disable-ahub" or ' - '"--enable-managed-identity" or ' - '"--enable-pod-identity" or ' - '"--disable-pod-identity" or ' - '"--auto-upgrade-channel" or ' - '"--enable-secret-rotation" or ' - '"--disable-secret-rotation" or ' - '"--rotation-poll-interval" or ' - '"--tags" or ' - '"--windows-admin-password" or ' - '"--enable-azure-rbac" or ' - '"--disable-azure-rbac" or ' - '"--enable-local-accounts" or ' - '"--disable-local-accounts" or ' - '"--enable-public-fqdn" or ' - '"--disable-public-fqdn"' - '"--enble-windows-gmsa" or ' - '"--nodepool-labels"') - instance = client.get(resource_group_name, name) - _fill_defaults_for_pod_identity_profile(instance.pod_identity_profile) - - if update_autoscaler and len(instance.agent_pool_profiles) > 1: - raise CLIError('There is more than one node pool in the cluster. Please use "az aks nodepool" command ' - 'to update per node pool auto scaler settings') - - if min_count is None or max_count is None: - if enable_cluster_autoscaler or update_cluster_autoscaler: - raise CLIError('Please specify both min-count and max-count when --enable-cluster-autoscaler or ' - '--update-cluster-autoscaler set.') - - if min_count is not None and max_count is not None: - if int(min_count) > int(max_count): - raise CLIError( - 'value of min-count should be less than or equal to value of max-count.') - - if enable_cluster_autoscaler: - if instance.agent_pool_profiles[0].enable_auto_scaling: - logger.warning('Cluster autoscaler is already enabled for this managed cluster.\n' - 'Please run "az aks update --update-cluster-autoscaler" ' - 'if you want to update min-count or max-count.') - return None - instance.agent_pool_profiles[0].min_count = int(min_count) - instance.agent_pool_profiles[0].max_count = int(max_count) - instance.agent_pool_profiles[0].enable_auto_scaling = True - - if update_cluster_autoscaler: - if not instance.agent_pool_profiles[0].enable_auto_scaling: - raise CLIError('Cluster autoscaler is not enabled for this managed cluster.\n' - 'Run "az aks update --enable-cluster-autoscaler" ' - 'to enable cluster with min-count and max-count.') - instance.agent_pool_profiles[0].min_count = int(min_count) - instance.agent_pool_profiles[0].max_count = int(max_count) - - if disable_cluster_autoscaler: - if not instance.agent_pool_profiles[0].enable_auto_scaling: - logger.warning( - 'Cluster autoscaler is already disabled for this managed cluster.') - return None - instance.agent_pool_profiles[0].enable_auto_scaling = False - instance.agent_pool_profiles[0].min_count = None - instance.agent_pool_profiles[0].max_count = None - - # if intention is to clear profile - if cluster_autoscaler_profile == {}: - instance.auto_scaler_profile = {} - # else profile is provided, update instance profile if it exists - elif cluster_autoscaler_profile: - instance.auto_scaler_profile = _update_dict(instance.auto_scaler_profile.__dict__, - dict((key.replace("-", "_"), value) - for (key, value) in cluster_autoscaler_profile.items())) \ - if instance.auto_scaler_profile else cluster_autoscaler_profile - - if enable_pod_security_policy and disable_pod_security_policy: - raise CLIError('Cannot specify --enable-pod-security-policy and --disable-pod-security-policy ' - 'at the same time.') - - if enable_pod_security_policy: - instance.enable_pod_security_policy = True - - if disable_pod_security_policy: - instance.enable_pod_security_policy = False - - if disable_local_accounts and enable_local_accounts: - raise CLIError('Cannot specify --disable-local-accounts and --enable-local-accounts ' - 'at the same time.') - - if disable_local_accounts: - instance.disable_local_accounts = True - - if enable_local_accounts: - instance.disable_local_accounts = False - - if update_lb_profile: - instance.network_profile.load_balancer_profile = update_load_balancer_profile( - load_balancer_managed_outbound_ip_count, - load_balancer_outbound_ips, - load_balancer_outbound_ip_prefixes, - load_balancer_outbound_ports, - load_balancer_idle_timeout, - instance.network_profile.load_balancer_profile) - - if update_natgw_profile: - from azext_aks_preview.decorator import AKSPreviewModels - # store all the models used by nat gateway - nat_gateway_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).nat_gateway_models - instance.network_profile.nat_gateway_profile = update_nat_gateway_profile( - nat_gateway_managed_outbound_ip_count, - nat_gateway_idle_timeout, - instance.network_profile.nat_gateway_profile, - models=nat_gateway_models, - ) - - if attach_acr and detach_acr: - raise CLIError( - 'Cannot specify "--attach-acr" and "--detach-acr" at the same time.') - - if uptime_sla and no_uptime_sla: - raise CLIError( - 'Cannot specify "--uptime-sla" and "--no-uptime-sla" at the same time.') - - if uptime_sla: - instance.sku = ManagedClusterSKU( - name="Basic", - tier="Paid" - ) - - if no_uptime_sla: - instance.sku = ManagedClusterSKU( - name="Basic", - tier="Free" - ) - - subscription_id = get_subscription_id(cmd.cli_ctx) - client_id = "" - if _is_msi_cluster(instance): - if instance.identity_profile is None or instance.identity_profile["kubeletidentity"] is None: - raise CLIError('Unexpected error getting kubelet\'s identity for the cluster. ' - 'Please do not set --attach-acr or --detach-acr. ' - 'You can manually grant or revoke permission to the identity named ' - '-agentpool in MC_ resource group to access ACR.') - client_id = instance.identity_profile["kubeletidentity"].client_id - else: - client_id = instance.service_principal_profile.client_id - if not client_id: - raise CLIError('Cannot get the AKS cluster\'s service principal.') - - if attach_acr: - _ensure_aks_acr(cmd.cli_ctx, - client_id=client_id, - acr_name_or_id=attach_acr, - subscription_id=subscription_id) - - if detach_acr: - _ensure_aks_acr(cmd.cli_ctx, - client_id=client_id, - acr_name_or_id=detach_acr, - subscription_id=subscription_id, - detach=True) - - # empty string is valid as it disables ip whitelisting - if api_server_authorized_ip_ranges is not None: - instance.api_server_access_profile = \ - _populate_api_server_access_profile( - api_server_authorized_ip_ranges, instance) - - if enable_aad: - if instance.aad_profile is not None and instance.aad_profile.managed: - raise CLIError( - 'Cannot specify "--enable-aad" if managed AAD is already enabled') - instance.aad_profile = ManagedClusterAADProfile( - managed=True - ) - if update_aad_profile: - if instance.aad_profile is None or not instance.aad_profile.managed: - raise CLIError('Cannot specify "--aad-tenant-id/--aad-admin-group-object-ids/--enable-azure-rbac/--disable-azure-rbac"' - ' if managed AAD is not enabled') - if aad_tenant_id is not None: - instance.aad_profile.tenant_id = aad_tenant_id - if aad_admin_group_object_ids is not None: - # ids -> i_ds due to track 2 naming issue - instance.aad_profile.admin_group_object_i_ds = _parse_comma_separated_list( - aad_admin_group_object_ids) - if enable_azure_rbac and disable_azure_rbac: - raise CLIError( - 'Cannot specify "--enable-azure-rbac" and "--disable-azure-rbac" at the same time') - if enable_azure_rbac: - instance.aad_profile.enable_azure_rbac = True - if disable_azure_rbac: - instance.aad_profile.enable_azure_rbac = False - - if enable_ahub and disable_ahub: - raise CLIError( - 'Cannot specify "--enable-ahub" and "--disable-ahub" at the same time') - - if enable_ahub: - instance.windows_profile.license_type = 'Windows_Server' - if disable_ahub: - instance.windows_profile.license_type = 'None' - - if enable_public_fqdn and disable_public_fqdn: - raise MutuallyExclusiveArgumentError( - 'Cannot specify "--enable-public-fqdn" and "--disable-public-fqdn" at the same time') - is_private_cluster = instance.api_server_access_profile is not None and instance.api_server_access_profile.enable_private_cluster - if enable_public_fqdn: - if not is_private_cluster: - raise ArgumentUsageError('--enable-public-fqdn can only be used for private cluster') - instance.api_server_access_profile.enable_private_cluster_public_fqdn = True - if disable_public_fqdn: - if not is_private_cluster: - raise ArgumentUsageError('--disable-public-fqdn can only be used for private cluster') - if instance.api_server_access_profile.private_dns_zone.lower() == CONST_PRIVATE_DNS_ZONE_NONE: - raise ArgumentUsageError('--disable-public-fqdn cannot be applied for none mode private dns zone cluster') - instance.api_server_access_profile.enable_private_cluster_public_fqdn = False - - if auto_upgrade_channel is not None: - if instance.auto_upgrade_profile is None: - instance.auto_upgrade_profile = ManagedClusterAutoUpgradeProfile() - instance.auto_upgrade_profile.upgrade_channel = auto_upgrade_channel - - if not enable_managed_identity and assign_identity: - raise CLIError( - '--assign-identity can only be specified when --enable-managed-identity is specified') - - current_identity_type = "spn" - if instance.identity is not None: - current_identity_type = instance.identity.type.casefold() - - goal_identity_type = current_identity_type - if enable_managed_identity: - if not assign_identity: - goal_identity_type = "systemassigned" - else: - goal_identity_type = "userassigned" - - if current_identity_type != goal_identity_type: - from knack.prompting import prompt_y_n - msg = "" - if current_identity_type == "spn": - msg = ('Your cluster is using service principal, and you are going to update the cluster to use {} managed identity.\n' - 'After updating, your cluster\'s control plane and addon pods will switch to use managed identity, but kubelet ' - 'will KEEP USING SERVICE PRINCIPAL until you upgrade your agentpool.\n ' - 'Are you sure you want to perform this operation?').format(goal_identity_type) - else: - msg = ('Your cluster is already using {} managed identity, and you are going to update the cluster to use {} managed identity. \n' - 'Are you sure you want to perform this operation?').format(current_identity_type, goal_identity_type) - if not yes and not prompt_y_n(msg, default="n"): - return None - if goal_identity_type == "systemassigned": - instance.identity = ManagedClusterIdentity( - type="SystemAssigned" - ) - elif goal_identity_type == "userassigned": - user_assigned_identity = { - assign_identity: ManagedServiceIdentityUserAssignedIdentitiesValue() - } - instance.identity = ManagedClusterIdentity( - type="UserAssigned", - user_assigned_identities=user_assigned_identity - ) - - if enable_pod_identity: - if not _is_pod_identity_addon_enabled(instance): - # we only rebuild the pod identity profile if it's disabled before - _update_addon_pod_identity( - instance, enable=True, - allow_kubenet_consent=enable_pod_identity_with_kubenet, - ) - - if disable_pod_identity: - _update_addon_pod_identity(instance, enable=False) - - azure_keyvault_secrets_provider_addon_profile = None - monitoring_addon_enabled = False - ingress_appgw_addon_enabled = False - virtual_node_addon_enabled = False - - if instance.addon_profiles is not None: - azure_keyvault_secrets_provider_addon_profile = instance.addon_profiles.get(CONST_AZURE_KEYVAULT_SECRETS_PROVIDER_ADDON_NAME, None) - azure_keyvault_secrets_provider_enabled = CONST_AZURE_KEYVAULT_SECRETS_PROVIDER_ADDON_NAME in instance.addon_profiles and \ - instance.addon_profiles[CONST_AZURE_KEYVAULT_SECRETS_PROVIDER_ADDON_NAME].enabled - monitoring_addon_enabled = CONST_MONITORING_ADDON_NAME in instance.addon_profiles and \ - instance.addon_profiles[CONST_MONITORING_ADDON_NAME].enabled - ingress_appgw_addon_enabled = CONST_INGRESS_APPGW_ADDON_NAME in instance.addon_profiles and \ - instance.addon_profiles[CONST_INGRESS_APPGW_ADDON_NAME].enabled - virtual_node_addon_enabled = CONST_VIRTUAL_NODE_ADDON_NAME + 'Linux' in instance.addon_profiles and \ - instance.addon_profiles[CONST_VIRTUAL_NODE_ADDON_NAME + 'Linux'].enabled - - if enable_secret_rotation: - if not azure_keyvault_secrets_provider_enabled: - raise ArgumentUsageError( - '--enable-secret-rotation can only be specified when azure-keyvault-secrets-provider is enabled') - azure_keyvault_secrets_provider_addon_profile.config[CONST_SECRET_ROTATION_ENABLED] = "true" - - if disable_secret_rotation: - if not azure_keyvault_secrets_provider_enabled: - raise ArgumentUsageError( - '--disable-secret-rotation can only be specified when azure-keyvault-secrets-provider is enabled') - azure_keyvault_secrets_provider_addon_profile.config[CONST_SECRET_ROTATION_ENABLED] = "false" - if rotation_poll_interval is not None: - if not azure_keyvault_secrets_provider_enabled: - raise ArgumentUsageError( - '--rotation-poll-interval can only be specified when azure-keyvault-secrets-provider is enabled') - azure_keyvault_secrets_provider_addon_profile.config[CONST_ROTATION_POLL_INTERVAL] = rotation_poll_interval - - if tags: - instance.tags = tags - - if nodepool_labels is not None: - for agent_profile in instance.agent_pool_profiles: - agent_profile.node_labels = nodepool_labels - - if windows_admin_password: - instance.windows_profile.admin_password = windows_admin_password - - if enable_windows_gmsa: - instance.windows_profile.gmsa_profile = WindowsGmsaProfile(enabled=True) - if gmsa_dns_server is not None and gmsa_root_domain_name is not None: - instance.windows_profile.gmsa_profile.dns_server = gmsa_dns_server - instance.windows_profile.gmsa_profile.root_domain_name = gmsa_root_domain_name - elif gmsa_dns_server is None and gmsa_root_domain_name is None: - msg = ('Please assure that you have set the DNS server in the vnet used by the cluster when not specifying --gmsa-dns-server and --gmsa-root-domain-name') - from knack.prompting import prompt_y_n - if not yes and not prompt_y_n(msg, default="n"): - return None - else: - raise ArgumentUsageError( - 'You must set or not set --gmsa-dns-server and --gmsa-root-domain-name at the same time.') - else: - if gmsa_dns_server is not None or gmsa_root_domain_name is not None: - raise ArgumentUsageError( - 'You only can set --gmsa-dns-server and --gmsa-root-domain-name when setting --enable-windows-gmsa.') + gmsa_root_domain_name=None, + enable_oidc_issuer=False): + # DO NOT MOVE: get all the original parameters and save them as a dictionary + raw_parameters = locals() - headers = get_aks_custom_headers(aks_custom_headers) + from azure.cli.command_modules.acs._consts import DecoratorEarlyExitException + from azure.cli.command_modules.acs.decorator import AKSParamDict + from .decorator import AKSPreviewUpdateDecorator - return _put_managed_cluster_ensuring_permission(cmd, - client, - subscription_id, - resource_group_name, - name, - instance, - monitoring_addon_enabled, - ingress_appgw_addon_enabled, - virtual_node_addon_enabled, - False, - instance.agent_pool_profiles[0].vnet_subnet_id, - _is_msi_cluster(instance), - attach_acr, - headers, - no_wait) + # decorator pattern + aks_update_decorator = AKSPreviewUpdateDecorator( + cmd=cmd, + client=client, + raw_parameters=AKSParamDict(raw_parameters), + resource_type=CUSTOM_MGMT_AKS_PREVIEW, + ) + try: + # update mc profile + mc = aks_update_decorator.update_mc_preview_profile() + except DecoratorEarlyExitException: + # exit gracefully + return None + # send request to update the real managed cluster + return aks_update_decorator.update_mc_preview(mc) # pylint: disable=unused-argument @@ -1337,7 +961,8 @@ def aks_kollect(cmd, # pylint: disable=too-many-statements,too-many-locals raise CLIError( "A storage account must be specified, since there isn't one in the diagnostic settings.") - from msrestazure.tools import is_valid_resource_id, parse_resource_id, resource_id + from msrestazure.tools import (is_valid_resource_id, parse_resource_id, + resource_id) if storage_account_id is None: if not is_valid_resource_id(storage_account): storage_account_id = resource_id( @@ -1846,6 +1471,7 @@ def _ensure_aks_acr(cli_ctx, subscription_id, # pylint: disable=unused-argument detach=False): from msrestazure.tools import is_valid_resource_id, parse_resource_id + # Check if the ACR exists by resource ID. if is_valid_resource_id(acr_name_or_id): try: @@ -1953,6 +1579,9 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local workload_runtime=None, gpu_instance_profile=None, snapshot_id=None, + host_group_id=None, + crg_id=None, + message_of_the_day=None, no_wait=False): instances = client.list(resource_group_name, cluster_name) for agentpool_profile in instances: @@ -2028,7 +1657,9 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local mode=mode, workload_runtime=workload_runtime, gpu_instance_profile=gpu_instance_profile, - creation_data=creationData + creation_data=creationData, + host_group_id=host_group_id, + capacity_reservation_group_id=crg_id ) if priority == CONST_SCALE_SET_PRIORITY_SPOT: @@ -2052,6 +1683,9 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local if linux_os_config: agent_pool.linux_os_config = _get_linux_os_config(linux_os_config) + if message_of_the_day: + agent_pool.message_of_the_day = _get_message_of_the_day(message_of_the_day) + headers = get_aks_custom_headers(aks_custom_headers) return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name, cluster_name, nodepool_name, agent_pool, headers=headers) @@ -2145,19 +1779,32 @@ def aks_agentpool_update(cmd, # pylint: disable=unused-argument max_surge=None, mode=None, labels=None, + node_taints=None, no_wait=False): update_autoscaler = enable_cluster_autoscaler + \ disable_cluster_autoscaler + update_cluster_autoscaler - if (update_autoscaler != 1 and not tags and not scale_down_mode and not mode and not max_surge and not labels): + if (update_autoscaler != 1 and not tags and not scale_down_mode and not mode and not max_surge and labels is None and node_taints is None): raise CLIError('Please specify one or more of "--enable-cluster-autoscaler" or ' '"--disable-cluster-autoscaler" or ' '"--update-cluster-autoscaler" or ' - '"--tags" or "--mode" or "--max-surge" or "--scale-down-mode" or "--labels"') + '"--tags" or "--mode" or "--max-surge" or "--scale-down-mode" or "--labels" or "--node-taints') instance = client.get(resource_group_name, cluster_name, nodepool_name) + if node_taints is not None: + taints_array = [] + if node_taints != '': + for taint in node_taints.split(','): + try: + taint = taint.strip() + taints_array.append(taint) + except ValueError: + raise InvalidArgumentValueError( + 'Taint does not match allowed values. Expect value such as "special=true:NoSchedule".') + instance.node_taints = taints_array + if min_count is None or max_count is None: if enable_cluster_autoscaler or update_cluster_autoscaler: raise CLIError('Please specify both min-count and max-count when --enable-cluster-autoscaler or ' @@ -2779,8 +2426,9 @@ def get_storage_account_from_diag_settings(cli_ctx, resource_group_name, name): '/managedClusters/{2}'.format(subscription_id, resource_group_name, name) diag_settings = diag_settings_client.list(aks_resource_id) - if diag_settings.value: - return diag_settings.value[0].storage_account_id + for _, diag_setting in enumerate(diag_settings): + if diag_setting: + return diag_setting.storage_account_id print("No diag settings specified") return None @@ -3005,6 +2653,16 @@ def _is_msi_cluster(managed_cluster): (managed_cluster.identity.type.casefold() == "systemassigned" or managed_cluster.identity.type.casefold() == "userassigned")) +def _get_message_of_the_day(file_path): + if not os.path.isfile(file_path): + raise CLIError("{} is not valid file, or not accessable.".format(file_path)) + content = read_file_content(file_path) + if not content: + raise ArgumentUsageError("message of the day should point to a non-empty file if specified.") + content = base64.b64encode(bytes(content, 'ascii')).decode('ascii') + return content + + def _get_kubelet_config(file_path): if not os.path.isfile(file_path): raise CLIError("{} is not valid file, or not accessable.".format(file_path)) @@ -3127,132 +2785,6 @@ def _get_http_proxy_config(file_path): return config_object -def _is_pod_identity_addon_enabled(instance): - if not instance: - return False - if not instance.pod_identity_profile: - return False - return bool(instance.pod_identity_profile.enabled) - - -def _ensure_pod_identity_addon_is_enabled(instance): - if not _is_pod_identity_addon_enabled(instance): - raise CLIError('The pod identity addon is not enabled for this managed cluster yet.\n' - 'To enable, run "az aks update --enable-pod-identity') - - -def _ensure_pod_identity_kubenet_consent(network_profile, pod_identity_profile, customer_consent): - if not network_profile or not network_profile.network_plugin: - # invalid data - return - if network_profile.network_plugin.lower() != 'kubenet': - # not kubenet, no need to check - return - - if customer_consent is None: - # no set this time, read from previous value - customer_consent = bool( - pod_identity_profile.allow_network_plugin_kubenet) - - if not customer_consent: - raise CLIError( - '--enable-pod-identity-with-kubenet is required for enabling pod identity addon when using Kubenet network plugin') - pod_identity_profile.allow_network_plugin_kubenet = True - - -def _fill_defaults_for_pod_identity_exceptions(pod_identity_exceptions): - if not pod_identity_exceptions: - return - - for exc in pod_identity_exceptions: - if exc.pod_labels is None: - # in previous version, we accidentally allowed user to specify empty pod labels, - # which will be converted to `None` in response. This behavior will break the extension - # when using 2021-09-01 version. As a workaround, we always back fill the empty dict value - # before sending to the server side. - exc.pod_labels = dict() - - -def _fill_defaults_for_pod_identity_profile(pod_identity_profile): - if not pod_identity_profile: - return - - _fill_defaults_for_pod_identity_exceptions(pod_identity_profile.user_assigned_identity_exceptions) - - -def _update_addon_pod_identity(instance, enable, pod_identities=None, pod_identity_exceptions=None, allow_kubenet_consent=None): - if not enable: - # when disable, remove previous saved value - instance.pod_identity_profile = ManagedClusterPodIdentityProfile( - enabled=False) - return - - _fill_defaults_for_pod_identity_exceptions(pod_identity_exceptions) - - if not instance.pod_identity_profile: - # not set before - instance.pod_identity_profile = ManagedClusterPodIdentityProfile( - enabled=enable, - user_assigned_identities=pod_identities, - user_assigned_identity_exceptions=pod_identity_exceptions, - ) - - _ensure_pod_identity_kubenet_consent( - instance.network_profile, instance.pod_identity_profile, allow_kubenet_consent) - - instance.pod_identity_profile.enabled = enable - instance.pod_identity_profile.user_assigned_identities = pod_identities or [] - instance.pod_identity_profile.user_assigned_identity_exceptions = pod_identity_exceptions or [] - - -def _ensure_managed_identity_operator_permission(cli_ctx, instance, scope): - cluster_identity_object_id = None - if instance.identity.type.lower() == 'userassigned': - for identity in instance.identity.user_assigned_identities.values(): - cluster_identity_object_id = identity.principal_id - break - elif instance.identity.type.lower() == 'systemassigned': - cluster_identity_object_id = instance.identity.principal_id - else: - raise CLIError('unsupported identity type: {}'.format( - instance.identity.type)) - if cluster_identity_object_id is None: - raise CLIError('unable to resolve cluster identity') - - factory = get_auth_management_client(cli_ctx, scope) - assignments_client = factory.role_assignments - cluster_identity_object_id = cluster_identity_object_id.lower() - scope = scope.lower() - - # list all assignments of the target identity (scope) that assigned to the cluster identity - filter_query = "atScope() and assignedTo('{}')".format(cluster_identity_object_id) - for i in assignments_client.list_for_scope(scope=scope, filter=filter_query): - if not i.role_definition_id.lower().endswith(CONST_MANAGED_IDENTITY_OPERATOR_ROLE_ID): - continue - - # sanity checks to make sure we see the correct assignments - if i.principal_id.lower() != cluster_identity_object_id: - # assignedTo() should return the assignment to cluster identity - continue - if not scope.startswith(i.scope.lower()): - # atScope() should return the assignments in subscription / resource group / resource level - continue - - # already assigned - logger.debug('Managed Identity Opereator role has been assigned to {}'.format(i.scope)) - return - - if not add_role_assignment(cli_ctx, CONST_MANAGED_IDENTITY_OPERATOR_ROLE, cluster_identity_object_id, - is_service_principal=False, scope=scope): - raise CLIError( - 'Could not grant Managed Identity Operator permission for cluster') - - # need more time to propogate this assignment... - print() - print('Wait 30 seconds for identity role assignment propagation.') - time.sleep(30) - - def aks_pod_identity_add(cmd, client, resource_group_name, cluster_name, identity_name, identity_namespace, identity_resource_id, binding_selector=None, @@ -3281,10 +2813,15 @@ def aks_pod_identity_add(cmd, client, resource_group_name, cluster_name, pod_identity.binding_selector = binding_selector pod_identities.append(pod_identity) + from azext_aks_preview.decorator import AKSPreviewModels + + # store all the models used by pod identity + pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=pod_identities, pod_identity_exceptions=instance.pod_identity_profile.user_assigned_identity_exceptions, + models=pod_identity_models ) # send the managed cluster represeentation to update the pod identity addon @@ -3305,10 +2842,15 @@ def aks_pod_identity_delete(cmd, client, resource_group_name, cluster_name, continue pod_identities.append(pod_identity) + from azext_aks_preview.decorator import AKSPreviewModels + + # store all the models used by pod identity + pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=pod_identities, pod_identity_exceptions=instance.pod_identity_profile.user_assigned_identity_exceptions, + models=pod_identity_models ) # send the managed cluster represeentation to update the pod identity addon @@ -3332,10 +2874,15 @@ def aks_pod_identity_exception_add(cmd, client, resource_group_name, cluster_nam name=exc_name, namespace=exc_namespace, pod_labels=pod_labels) pod_identity_exceptions.append(exc) + from azext_aks_preview.decorator import AKSPreviewModels + + # store all the models used by pod identity + pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=instance.pod_identity_profile.user_assigned_identities, pod_identity_exceptions=pod_identity_exceptions, + models=pod_identity_models ) # send the managed cluster represeentation to update the pod identity addon @@ -3355,10 +2902,15 @@ def aks_pod_identity_exception_delete(cmd, client, resource_group_name, cluster_ continue pod_identity_exceptions.append(exc) + from azext_aks_preview.decorator import AKSPreviewModels + + # store all the models used by pod identity + pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=instance.pod_identity_profile.user_assigned_identities, pod_identity_exceptions=pod_identity_exceptions, + models=pod_identity_models ) # send the managed cluster represeentation to update the pod identity addon @@ -3386,10 +2938,15 @@ def aks_pod_identity_exception_update(cmd, client, resource_group_name, cluster_ raise CLIError( 'pod identity exception {}/{} not found'.format(exc_namespace, exc_name)) + from azext_aks_preview.decorator import AKSPreviewModels + + # store all the models used by pod identity + pod_identity_models = AKSPreviewModels(cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models _update_addon_pod_identity( instance, enable=True, pod_identities=instance.pod_identity_profile.user_assigned_identities, pod_identity_exceptions=pod_identity_exceptions, + models=pod_identity_models ) # send the managed cluster represeentation to update the pod identity addon diff --git a/src/aks-preview/azext_aks_preview/decorator.py b/src/aks-preview/azext_aks_preview/decorator.py index 233cb014083..65c4960a0c1 100644 --- a/src/aks-preview/azext_aks_preview/decorator.py +++ b/src/aks-preview/azext_aks_preview/decorator.py @@ -3,8 +3,10 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +import base64 import os import time +from types import SimpleNamespace from typing import Dict, List, Tuple, TypeVar, Union from azure.cli.command_modules.acs._consts import ( @@ -16,19 +18,23 @@ AKSCreateDecorator, AKSModels, AKSUpdateDecorator, + check_is_msi_cluster, safe_list_get, safe_lower, ) from azure.cli.core import AzCommandsLoader from azure.cli.core.azclierror import ( + AzCLIError, CLIInternalError, InvalidArgumentValueError, MutuallyExclusiveArgumentError, RequiredArgumentMissingError, + UnknownError, ) from azure.cli.core.commands import AzCliCommand from azure.cli.core.profiles import ResourceType -from azure.cli.core.util import get_file_json +from azure.cli.core.util import get_file_json, read_file_content +from azure.core.exceptions import HttpResponseError from knack.log import get_logger from knack.prompting import prompt_y_n from msrestazure.azure_exceptions import CloudError @@ -39,14 +45,28 @@ CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY, CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING, ) -from azext_aks_preview._natgateway import create_nat_gateway_profile +from azext_aks_preview._loadbalancer import create_load_balancer_profile +from azext_aks_preview._loadbalancer import ( + update_load_balancer_profile as _update_load_balancer_profile, +) +from azext_aks_preview._natgateway import ( + create_nat_gateway_profile, + is_nat_gateway_profile_provided, +) +from azext_aks_preview._natgateway import ( + update_nat_gateway_profile as _update_nat_gateway_profile, +) +from azext_aks_preview._podidentity import ( + _fill_defaults_for_pod_identity_profile, + _is_pod_identity_addon_enabled, + _update_addon_pod_identity, +) from azext_aks_preview.addonconfiguration import ( ensure_container_insights_for_monitoring, ensure_default_log_analytics_workspace_for_monitoring, ) from azext_aks_preview.custom import _get_snapshot - logger = get_logger(__name__) # type variables @@ -60,6 +80,7 @@ ManagedClusterHTTPProxyConfig = TypeVar("ManagedClusterHTTPProxyConfig") ContainerServiceNetworkProfile = TypeVar("ContainerServiceNetworkProfile") ManagedClusterAddonProfile = TypeVar("ManagedClusterAddonProfile") +ManagedClusterOIDCIssuerProfile = TypeVar('ManagedClusterOIDCIssuerProfile') Snapshot = TypeVar("Snapshot") @@ -83,11 +104,6 @@ def __init__(self, cmd: AzCommandsLoader, resource_type: ResourceType): resource_type=self.resource_type, operation_group="managed_clusters", ) - self.ManagedClusterPodIdentityProfile = self.__cmd.get_models( - "ManagedClusterPodIdentityProfile", - resource_type=self.resource_type, - operation_group="managed_clusters", - ) self.WindowsGmsaProfile = self.__cmd.get_models( "WindowsGmsaProfile", resource_type=self.resource_type, @@ -98,31 +114,63 @@ def __init__(self, cmd: AzCommandsLoader, resource_type: ResourceType): resource_type=self.resource_type, operation_group="managed_clusters", ) - # init nat gateway models - self.init_nat_gateway_models() + self.ManagedClusterOIDCIssuerProfile = self.__cmd.get_models( + "ManagedClusterOIDCIssuerProfile", + resource_type=self.resource_type, + operation_group="managed_clusters", + ) + # holder for nat gateway related models + self.__nat_gateway_models = None + # holder for pod identity related models + self.__pod_identity_models = None - def init_nat_gateway_models(self) -> None: - """Initialize models used by nat gateway. + @property + def nat_gateway_models(self) -> SimpleNamespace: + """Get nat gateway related models. - The models are stored in a dictionary, the key is the model name and the value is the model type. + The models are stored in a SimpleNamespace object, could be accessed by the dot operator like + `nat_gateway_models.ManagedClusterNATGatewayProfile`. - :return: None + :return: SimpleNamespace """ - nat_gateway_models = {} - nat_gateway_models["ManagedClusterNATGatewayProfile"] = self.__cmd.get_models( - "ManagedClusterNATGatewayProfile", - resource_type=self.resource_type, - operation_group="managed_clusters", - ) - nat_gateway_models["ManagedClusterManagedOutboundIPProfile"] = self.__cmd.get_models( - "ManagedClusterManagedOutboundIPProfile", - resource_type=self.resource_type, - operation_group="managed_clusters", - ) - self.nat_gateway_models = nat_gateway_models - # Note: Uncomment the followings to add these models as class attributes. - # for model_name, model_type in nat_gateway_models.items(): - # setattr(self, model_name, model_type) + if self.__nat_gateway_models is None: + nat_gateway_models = {} + nat_gateway_models["ManagedClusterNATGatewayProfile"] = self.__cmd.get_models( + "ManagedClusterNATGatewayProfile", + resource_type=self.resource_type, + operation_group="managed_clusters", + ) + nat_gateway_models["ManagedClusterManagedOutboundIPProfile"] = self.__cmd.get_models( + "ManagedClusterManagedOutboundIPProfile", + resource_type=self.resource_type, + operation_group="managed_clusters", + ) + self.__nat_gateway_models = SimpleNamespace(**nat_gateway_models) + return self.__nat_gateway_models + + @property + def pod_identity_models(self) -> SimpleNamespace: + """Get pod identity related models. + + The models are stored in a SimpleNamespace object, could be accessed by the dot operator like + `pod_identity_models.ManagedClusterPodIdentityProfile`. + + :return: SimpleNamespace + """ + if self.__pod_identity_models is None: + pod_identity_models = {} + pod_identity_models["ManagedClusterPodIdentityProfile"] = self.__cmd.get_models( + "ManagedClusterPodIdentityProfile", + resource_type=self.resource_type, + operation_group="managed_clusters", + ) + pod_identity_models["ManagedClusterPodIdentityException"] = self.__cmd.get_models( + "ManagedClusterPodIdentityException", + resource_type=self.resource_type, + operation_group="managed_clusters", + ) + self.__pod_identity_models = SimpleNamespace(**pod_identity_models) + return self.__pod_identity_models # pylint: disable=too-many-public-methods @@ -136,15 +184,75 @@ def __init__( ): super().__init__(cmd, raw_parameters, models, decorator_mode) + # pylint: disable=no-self-use + def __validate_pod_identity_with_kubenet(self, mc, enable_pod_identity, enable_pod_identity_with_kubenet): + """Helper function to check the validity of serveral pod identity related parameters. + + If network_profile has been set up in `mc`, network_plugin equals to "kubenet" and enable_pod_identity is + specified but enable_pod_identity_with_kubenet is not, raise a RequiredArgumentMissingError. + + :return: None + """ + if ( + mc and + mc.network_profile and + safe_lower(mc.network_profile.network_plugin) == "kubenet" + ): + if enable_pod_identity and not enable_pod_identity_with_kubenet: + raise RequiredArgumentMissingError( + "--enable-pod-identity-with-kubenet is required for enabling pod identity addon " + "when using Kubenet network plugin" + ) + + # pylint: disable=no-self-use + def __validate_gmsa_options( + self, + enable_windows_gmsa, + gmsa_dns_server, + gmsa_root_domain_name, + yes, + ) -> None: + """Helper function to validate gmsa related options. + + When enable_windows_gmsa is specified, if both gmsa_dns_server and gmsa_root_domain_name are not assigned and + user does not confirm the operation, a DecoratorEarlyExitException will be raised; if only one of + gmsa_dns_server or gmsa_root_domain_name is assigned, raise a RequiredArgumentMissingError. When + enable_windows_gmsa is not specified, if any of gmsa_dns_server or gmsa_root_domain_name is assigned, raise + a RequiredArgumentMissingError. + + :return: bool + """ + gmsa_dns_server_is_none = gmsa_dns_server is None + gmsa_root_domain_name_is_none = gmsa_root_domain_name is None + if enable_windows_gmsa: + if gmsa_dns_server_is_none == gmsa_root_domain_name_is_none: + if gmsa_dns_server_is_none: + msg = ( + "Please assure that you have set the DNS server in the vnet used by the cluster " + "when not specifying --gmsa-dns-server and --gmsa-root-domain-name" + ) + if not yes and not prompt_y_n(msg, default="n"): + raise DecoratorEarlyExitException() + else: + raise RequiredArgumentMissingError( + "You must set or not set --gmsa-dns-server and --gmsa-root-domain-name at the same time." + ) + else: + if gmsa_dns_server_is_none != gmsa_root_domain_name_is_none: + raise RequiredArgumentMissingError( + "You only can set --gmsa-dns-server and --gmsa-root-domain-name " + "when setting --enable-windows-gmsa." + ) + # pylint: disable=unused-argument - def _get_vm_set_type(self, read_only: bool = False, **kwargs) -> Union[str, None]: + def _get_vm_set_type(self, read_only: bool = False) -> Union[str, None]: """Internal function to dynamically obtain the value of vm_set_type according to the context. Note: Inherited and extended in aks-preview to add support for the deprecated option --enable-vmss. :return: string or None """ - vm_set_type = super()._get_vm_set_type(read_only, **kwargs) + vm_set_type = super()._get_vm_set_type(read_only) # TODO: Remove the below section when we deprecate the --enable-vmss flag, kept for back-compatibility only. # read the original value passed by the command @@ -263,6 +371,41 @@ def get_gpu_instance_profile(self) -> Union[str, None]: # this parameter does not need validation return gpu_instance_profile + def get_message_of_the_day(self) -> Union[str, None]: + """Obtain the value of message_of_the_day. + + :return: string or None + """ + # read the original value passed by the command + message_of_the_day = None + message_of_the_day_file_path = self.raw_param.get("message_of_the_day") + + if message_of_the_day_file_path: + if not os.path.isfile(message_of_the_day_file_path): + raise InvalidArgumentValueError( + "{} is not valid file, or not accessable.".format( + message_of_the_day_file_path + ) + ) + message_of_the_day = read_file_content(message_of_the_day_file_path) + message_of_the_day = base64.b64encode(bytes(message_of_the_day, 'ascii')).decode('ascii') + + # try to read the property value corresponding to the parameter from the `mc` object + if self.mc and self.mc.agent_pool_profiles: + agent_pool_profile = safe_list_get( + self.mc.agent_pool_profiles, 0, None + ) + if ( + agent_pool_profile and + hasattr(agent_pool_profile, "message_of_the_day") and # backward compatibility + agent_pool_profile.message_of_the_day is not None + ): + message_of_the_day = agent_pool_profile.message_of_the_day + + # this parameter does not need dynamic completion + # this parameter does not need validation + return message_of_the_day + def get_kubelet_config(self) -> Union[dict, KubeletConfig, None]: """Obtain the value of kubelet_config. @@ -394,21 +537,24 @@ def get_node_resource_group(self) -> Union[str, None]: def get_nat_gateway_managed_outbound_ip_count(self) -> Union[int, None]: """Obtain the value of nat_gateway_managed_outbound_ip_count. - :return: string or None + Note: SDK provides default value 1 and performs the following validation {'maximum': 16, 'minimum': 1}. + + :return: int or None """ # read the original value passed by the command nat_gateway_managed_outbound_ip_count = self.raw_param.get("nat_gateway_managed_outbound_ip_count") - # try to read the property value corresponding to the parameter from the `mc` object - if ( - self.mc and - self.mc.network_profile and - self.mc.network_profile.nat_gateway_profile and - self.mc.network_profile.nat_gateway_profile.managed_outbound_ip_profile and - self.mc.network_profile.nat_gateway_profile.managed_outbound_ip_profile.count is not None - ): - nat_gateway_managed_outbound_ip_count = ( - self.mc.network_profile.nat_gateway_profile.managed_outbound_ip_profile.count - ) + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.network_profile and + self.mc.network_profile.nat_gateway_profile and + self.mc.network_profile.nat_gateway_profile.managed_outbound_ip_profile and + self.mc.network_profile.nat_gateway_profile.managed_outbound_ip_profile.count is not None + ): + nat_gateway_managed_outbound_ip_count = ( + self.mc.network_profile.nat_gateway_profile.managed_outbound_ip_profile.count + ) # this parameter does not need dynamic completion # this parameter does not need validation @@ -417,48 +563,103 @@ def get_nat_gateway_managed_outbound_ip_count(self) -> Union[int, None]: def get_nat_gateway_idle_timeout(self) -> Union[int, None]: """Obtain the value of nat_gateway_idle_timeout. - :return: string or None + Note: SDK provides default value 4 and performs the following validation {'maximum': 120, 'minimum': 4}. + + :return: int or None """ # read the original value passed by the command nat_gateway_idle_timeout = self.raw_param.get("nat_gateway_idle_timeout") - # try to read the property value corresponding to the parameter from the `mc` object - if ( - self.mc and - self.mc.network_profile and - self.mc.network_profile.nat_gateway_profile and - self.mc.network_profile.nat_gateway_profile.idle_timeout_in_minutes is not None - ): - nat_gateway_idle_timeout = ( - self.mc.network_profile.nat_gateway_profile.idle_timeout_in_minutes - ) + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.network_profile and + self.mc.network_profile.nat_gateway_profile and + self.mc.network_profile.nat_gateway_profile.idle_timeout_in_minutes is not None + ): + nat_gateway_idle_timeout = ( + self.mc.network_profile.nat_gateway_profile.idle_timeout_in_minutes + ) # this parameter does not need dynamic completion # this parameter does not need validation return nat_gateway_idle_timeout - def get_enable_pod_security_policy(self) -> bool: - """Obtain the value of enable_pod_security_policy. + def _get_enable_pod_security_policy(self, enable_validation: bool = False) -> bool: + """Internal function to obtain the value of enable_pod_security_policy. + + This function supports the option of enable_validation. When enabled, if both enable_pod_security_policy and + disable_pod_security_policy are specified, raise a MutuallyExclusiveArgumentError. :return: bool """ # read the original value passed by the command enable_pod_security_policy = self.raw_param.get("enable_pod_security_policy") - # try to read the property value corresponding to the parameter from the `mc` object - if ( - self.mc and - self.mc.enable_pod_security_policy is not None - ): - enable_pod_security_policy = self.mc.enable_pod_security_policy + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.enable_pod_security_policy is not None + ): + enable_pod_security_policy = self.mc.enable_pod_security_policy # this parameter does not need dynamic completion - # this parameter does not need validation + # validation + if enable_validation: + if enable_pod_security_policy and self._get_disable_pod_security_policy(enable_validation=False): + raise MutuallyExclusiveArgumentError( + "Cannot specify --enable-pod-security-policy and " + "--disable-pod-security-policy at the same time." + ) return enable_pod_security_policy + def get_enable_pod_security_policy(self) -> bool: + """Obtain the value of enable_pod_security_policy. + + This function will verify the parameter by default. If both enable_pod_security_policy and + disable_pod_security_policy are specified, raise a MutuallyExclusiveArgumentError. + + :return: bool + """ + return self._get_enable_pod_security_policy(enable_validation=True) + + def _get_disable_pod_security_policy(self, enable_validation: bool = False) -> bool: + """Internal function to obtain the value of disable_pod_security_policy. + + This function supports the option of enable_validation. When enabled, if both enable_pod_security_policy and + disable_pod_security_policy are specified, raise a MutuallyExclusiveArgumentError. + + :return: bool + """ + # read the original value passed by the command + disable_pod_security_policy = self.raw_param.get("disable_pod_security_policy") + # We do not support this option in create mode, therefore we do not read the value from `mc`. + + # this parameter does not need dynamic completion + # validation + if enable_validation: + if disable_pod_security_policy and self._get_enable_pod_security_policy(enable_validation=False): + raise MutuallyExclusiveArgumentError( + "Cannot specify --enable-pod-security-policy and " + "--disable-pod-security-policy at the same time." + ) + return disable_pod_security_policy + + def get_disable_pod_security_policy(self) -> bool: + """Obtain the value of disable_pod_security_policy. + + This function will verify the parameter by default. If both enable_pod_security_policy and + disable_pod_security_policy are specified, raise a MutuallyExclusiveArgumentError. + + :return: bool + """ + return self._get_disable_pod_security_policy(enable_validation=True) + # pylint: disable=unused-argument def _get_enable_managed_identity( - self, enable_validation: bool = False, read_only: bool = False, **kwargs + self, enable_validation: bool = False, read_only: bool = False ) -> bool: - """Internal function to obtain the value of enable_pod_identity. + """Internal function to obtain the value of enable_managed_identity. Note: Inherited and extended in aks-preview to perform additional validation. @@ -467,101 +668,153 @@ def _get_enable_managed_identity( :return: bool """ - enable_managed_identity = super()._get_enable_managed_identity(enable_validation, read_only, **kwargs) + enable_managed_identity = super()._get_enable_managed_identity(enable_validation, read_only) # additional validation if enable_validation: - if not enable_managed_identity and self._get_enable_pod_identity(enable_validation=False): - raise RequiredArgumentMissingError( - "--enable-pod-identity can only be specified when --enable-managed-identity is specified" - ) + if self.decorator_mode == DecoratorMode.CREATE: + if not enable_managed_identity and self._get_enable_pod_identity(enable_validation=False): + raise RequiredArgumentMissingError( + "--enable-pod-identity can only be specified when --enable-managed-identity is specified" + ) + elif self.decorator_mode == DecoratorMode.UPDATE: + if not check_is_msi_cluster(self.mc) and self._get_enable_pod_identity(enable_validation=False): + raise RequiredArgumentMissingError( + "--enable-pod-identity can only be specified for cluster enabled managed identity" + ) return enable_managed_identity - # pylint: disable=unused-argument - def _get_enable_pod_identity(self, enable_validation: bool = False, **kwargs) -> bool: - """Internal function to obtain the value of enable_pod_identity. + def _get_enable_pod_identity(self, enable_validation: bool = False) -> bool: + """Internal function to obtain the value of enable_managed_identity. This function supports the option of enable_validation. When enabled, if enable_managed_identity is not - specified but enable_pod_identity is, raise a RequiredArgumentMissingError. If network_profile has been set - up in `mc`, network_plugin equals to "kubenet" and enable_pod_identity is specified but - enable_pod_identity_with_kubenet is not, raise a RequiredArgumentMissingError. + specified but enable_pod_identity is, raise a RequiredArgumentMissingError. Will also call function + "__validate_pod_identity_with_kubenet" for verification. In update mode, if both + enable_pod_identity and disable_pod_identity are specified, raise a MutuallyExclusiveArgumentError. :return: bool """ # read the original value passed by the command enable_pod_identity = self.raw_param.get("enable_pod_identity") - # try to read the property value corresponding to the parameter from the `mc` object - if ( - self.mc and - self.mc.pod_identity_profile and - self.mc.pod_identity_profile.enabled is not None - ): - enable_pod_identity = self.mc.pod_identity_profile.enabled + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.pod_identity_profile and + self.mc.pod_identity_profile.enabled is not None + ): + enable_pod_identity = self.mc.pod_identity_profile.enabled # this parameter does not need dynamic completion # validation if enable_validation: - if enable_pod_identity and not self._get_enable_managed_identity(enable_validation=False): - raise RequiredArgumentMissingError( - "--enable-pod-identity can only be specified when --enable-managed-identity is specified" - ) - if self.mc and self.mc.network_profile and safe_lower(self.mc.network_profile.network_plugin) == "kubenet": - if enable_pod_identity and not self._get_enable_pod_identity_with_kubenet(enable_validation=False): + if self.decorator_mode == DecoratorMode.CREATE: + if enable_pod_identity and not self._get_enable_managed_identity(enable_validation=False): raise RequiredArgumentMissingError( - "--enable-pod-identity-with-kubenet is required for enabling pod identity addon " - "when using Kubenet network plugin" + "--enable-pod-identity can only be specified when --enable-managed-identity is specified" ) + # validate pod identity with kubenet plugin + self.__validate_pod_identity_with_kubenet( + self.mc, + enable_pod_identity, + self._get_enable_pod_identity_with_kubenet( + enable_validation=False + ), + ) + elif self.decorator_mode == DecoratorMode.UPDATE: + if enable_pod_identity: + if not check_is_msi_cluster(self.mc): + raise RequiredArgumentMissingError( + "--enable-pod-identity can only be specified for cluster enabled managed identity" + ) + if self._get_disable_pod_identity(enable_validation=False): + raise MutuallyExclusiveArgumentError( + "Cannot specify --enable-pod-identity and " + "--disable-pod-identity at the same time." + ) return enable_pod_identity def get_enable_pod_identity(self) -> bool: """Obtain the value of enable_pod_identity. This function will verify the parameter by default. If enable_managed_identity is not specified but - enable_pod_identity is, raise a RequiredArgumentMissingError. If network_profile has been set up in `mc`, - network_plugin equals to "kubenet" and enable_pod_identity is specified but enable_pod_identity_with_kubenet - is not, raise a RequiredArgumentMissingError. + enable_pod_identity is, raise a RequiredArgumentMissingError. Will also call function + "__validate_pod_identity_with_kubenet" for verification. In update mode, if both enable_pod_identity and + disable_pod_identity are specified, raise a MutuallyExclusiveArgumentError. :return: bool """ return self._get_enable_pod_identity(enable_validation=True) - # pylint: disable=unused-argument - def _get_enable_pod_identity_with_kubenet(self, enable_validation: bool = False, **kwargs) -> bool: + def _get_disable_pod_identity(self, enable_validation: bool = False) -> bool: + """Internal function to obtain the value of disable_pod_identity. + + This function supports the option of enable_validation. When enabled, in update mode, if both + enable_pod_identity and disable_pod_identity are specified, raise a MutuallyExclusiveArgumentError. + + :return: bool + """ + # read the original value passed by the command + disable_pod_identity = self.raw_param.get("disable_pod_identity") + # We do not support this option in create mode, therefore we do not read the value from `mc`. + + # this parameter does not need dynamic completion + # validation + if enable_validation: + if self.decorator_mode == DecoratorMode.UPDATE: + if disable_pod_identity and self._get_enable_pod_identity(enable_validation=False): + raise MutuallyExclusiveArgumentError( + "Cannot specify --enable-pod-identity and " + "--disable-pod-identity at the same time." + ) + return disable_pod_identity + + def get_disable_pod_identity(self) -> bool: + """Obtain the value of disable_pod_identity. + + This function will verify the parameter by default. When enabled, in update mode, if both + enable_pod_identity and disable_pod_identity are specified, raise a MutuallyExclusiveArgumentError. + + :return: bool + """ + + return self._get_disable_pod_identity(enable_validation=True) + + def _get_enable_pod_identity_with_kubenet(self, enable_validation: bool = False) -> bool: """Internal function to obtain the value of enable_pod_identity_with_kubenet. - This function supports the option of enable_validation. When enabled, if network_profile has been set up in - `mc`, network_plugin equals to "kubenet" and enable_pod_identity is specified but - enable_pod_identity_with_kubenet is not, raise a RequiredArgumentMissingError. + This function supports the option of enable_validation. When enabled, will call function + "__validate_pod_identity_with_kubenet" for verification. :return: bool """ # read the original value passed by the command enable_pod_identity_with_kubenet = self.raw_param.get("enable_pod_identity_with_kubenet") - # try to read the property value corresponding to the parameter from the `mc` object - if ( - self.mc and - self.mc.pod_identity_profile and - self.mc.pod_identity_profile.allow_network_plugin_kubenet is not None - ): - enable_pod_identity_with_kubenet = self.mc.pod_identity_profile.allow_network_plugin_kubenet + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.pod_identity_profile and + self.mc.pod_identity_profile.allow_network_plugin_kubenet is not None + ): + enable_pod_identity_with_kubenet = self.mc.pod_identity_profile.allow_network_plugin_kubenet # this parameter does not need dynamic completion # validation if enable_validation: - if self.mc and self.mc.network_profile and safe_lower(self.mc.network_profile.network_plugin) == "kubenet": - if not enable_pod_identity_with_kubenet and self._get_enable_pod_identity(enable_validation=False): - raise RequiredArgumentMissingError( - "--enable-pod-identity-with-kubenet is required for enabling pod identity addon " - "when using Kubenet network plugin" - ) + if self.decorator_mode == DecoratorMode.CREATE: + self.__validate_pod_identity_with_kubenet( + self.mc, + self._get_enable_pod_identity(enable_validation=False), + enable_pod_identity_with_kubenet, + ) return enable_pod_identity_with_kubenet def get_enable_pod_identity_with_kubenet(self) -> bool: """Obtain the value of enable_pod_identity_with_kubenet. - This function will verify the parameter by default. If network_profile has been set up in `mc`, network_plugin - equals to "kubenet" and enable_pod_identity is specified but enable_pod_identity_with_kubenet is not, raise a - RequiredArgumentMissingError. + This function will verify the parameter by default. Will call function "__validate_pod_identity_with_kubenet" + for verification. :return: bool """ @@ -577,10 +830,8 @@ def get_addon_consts(self) -> Dict[str, str]: :return: dict """ from azext_aks_preview._consts import ( - ADDONS, - CONST_GITOPS_ADDON_NAME, - CONST_MONITORING_USING_AAD_MSI_AUTH, - ) + ADDONS, CONST_GITOPS_ADDON_NAME, + CONST_MONITORING_USING_AAD_MSI_AUTH) addon_consts = super().get_addon_consts() addon_consts["ADDONS"] = ADDONS @@ -675,7 +926,7 @@ def get_no_wait(self) -> bool: # TOOD: may remove this function after the fix for the internal function get merged and released # pylint: disable=unused-argument def _get_workspace_resource_id( - self, enable_validation: bool = False, read_only: bool = False, **kwargs + self, enable_validation: bool = False, read_only: bool = False ) -> Union[str, None]: # pragma: no cover """Internal function to dynamically obtain the value of workspace_resource_id according to the context. @@ -743,13 +994,134 @@ def _get_workspace_resource_id( # this parameter does not need validation return workspace_resource_id + def get_pod_cidrs_and_service_cidrs_and_ip_families(self) -> Tuple[ + Union[List[str], None], + Union[List[str], None], + Union[List[str], None], + ]: + return self.get_pod_cidrs(), self.get_service_cidrs(), self.get_ip_families() + + def get_ip_families(self) -> Union[List[str], None]: + """IPFamilies used for the cluster network. + + :return: List[str] or None + """ + return self._get_list_attr('ip_families') + + def get_pod_cidrs(self) -> Union[List[str], None]: + """Obtain the CIDR ranges used for pod subnets. + + :return: List[str] or None + """ + return self._get_list_attr('pod_cidrs') + + def get_service_cidrs(self) -> Union[List[str], None]: + """Obtain the CIDR ranges for the service subnet. + + :return: List[str] or None + """ + return self._get_list_attr('service_cidrs') + + def _get_list_attr(self, param_key) -> Union[List[str], None]: + param = self.raw_param.get(param_key) + + if param is not None: + return param.split(',') if param else [] + + return None + + def get_load_balancer_managed_outbound_ip_count(self) -> Union[int, None]: + """Obtain the value of load_balancer_managed_outbound_ip_count. + + Note: Overwritten in aks-preview to preserve value from `mc` in update mode under certain circumstance. + + Note: SDK provides default value 1 and performs the following validation {'maximum': 100, 'minimum': 1}. + + :return: int or None + """ + # read the original value passed by the command + load_balancer_managed_outbound_ip_count = self.raw_param.get( + "load_balancer_managed_outbound_ip_count" + ) + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.network_profile and + self.mc.network_profile.load_balancer_profile and + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps and + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps.count is not None + ): + load_balancer_managed_outbound_ip_count = ( + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps.count + ) + elif self.decorator_mode == DecoratorMode.UPDATE: + if ( + not self.get_load_balancer_outbound_ips() and + not self.get_load_balancer_outbound_ip_prefixes() and + load_balancer_managed_outbound_ip_count is None + ): + if ( + self.mc and + self.mc.network_profile and + self.mc.network_profile.load_balancer_profile and + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps and + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps.count is not None + ): + load_balancer_managed_outbound_ip_count = ( + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps.count + ) + + # this parameter does not need dynamic completion + # this parameter does not need validation + return load_balancer_managed_outbound_ip_count + + def get_load_balancer_managed_outbound_ipv6_count(self) -> Union[int, None]: + """Obtain the expected count of IPv6 managed outbound IPs. + + Note: SDK provides default value 0 and performs the following validation {'maximum': 100, 'minimum': 0}. + + :return: int or None + """ + count_ipv6 = self.raw_param.get( + 'load_balancer_managed_outbound_ipv6_count') + + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.network_profile and + self.mc.network_profile.load_balancer_profile and + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps and + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps.count_ipv6 is not None + ): + count_ipv6 = ( + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps.count_ipv6 + ) + elif self.decorator_mode == DecoratorMode.UPDATE: + if ( + not self.get_load_balancer_outbound_ips() and + not self.get_load_balancer_outbound_ip_prefixes() and + count_ipv6 is None + ): + if ( + self.mc and + self.mc.network_profile and + self.mc.network_profile.load_balancer_profile and + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps and + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps.count_ipv6 is not None + ): + count_ipv6 = ( + self.mc.network_profile.load_balancer_profile.managed_outbound_i_ps.count_ipv6 + ) + + return count_ipv6 + # pylint: disable=unused-argument def _get_outbound_type( self, enable_validation: bool = False, read_only: bool = False, load_balancer_profile: ManagedClusterLoadBalancerProfile = None, - **kwargs ) -> Union[str, None]: """Internal function to dynamically obtain the value of outbound_type according to the context. @@ -846,49 +1218,7 @@ def _get_outbound_type( ) return outbound_type - # pylint: disable=unused-argument,no-self-use - def __validate_gmsa_options( - self, - enable_windows_gmsa, - gmsa_dns_server, - gmsa_root_domain_name, - yes, - **kwargs - ) -> None: - """Helper function to validate gmsa related options. - - When enable_windows_gmsa is specified, if both gmsa_dns_server and gmsa_root_domain_name are not assigned and - user does not confirm the operation, a DecoratorEarlyExitException will be raised; if only one of - gmsa_dns_server or gmsa_root_domain_name is assigned, raise a RequiredArgumentMissingError. When - enable_windows_gmsa is not specified, if any of gmsa_dns_server or gmsa_root_domain_name is assigned, raise - a RequiredArgumentMissingError. - - :return: bool - """ - gmsa_dns_server_is_none = gmsa_dns_server is None - gmsa_root_domain_name_is_none = gmsa_root_domain_name is None - if enable_windows_gmsa: - if gmsa_dns_server_is_none == gmsa_root_domain_name_is_none: - if gmsa_dns_server_is_none: - msg = ( - "Please assure that you have set the DNS server in the vnet used by the cluster " - "when not specifying --gmsa-dns-server and --gmsa-root-domain-name" - ) - if not yes and not prompt_y_n(msg, default="n"): - raise DecoratorEarlyExitException() - else: - raise RequiredArgumentMissingError( - "You must set or not set --gmsa-dns-server and --gmsa-root-domain-name at the same time." - ) - else: - if gmsa_dns_server_is_none != gmsa_root_domain_name_is_none: - raise RequiredArgumentMissingError( - "You only can set --gmsa-dns-server and --gmsa-root-domain-name " - "when setting --enable-windows-gmsa." - ) - - # pylint: disable=unused-argument - def _get_enable_windows_gmsa(self, enable_validation: bool = False, **kwargs) -> bool: + def _get_enable_windows_gmsa(self, enable_validation: bool = False) -> bool: """Internal function to obtain the value of enable_windows_gmsa. This function supports the option of enable_validation. Please refer to function __validate_gmsa_options for @@ -898,15 +1228,16 @@ def _get_enable_windows_gmsa(self, enable_validation: bool = False, **kwargs) -> """ # read the original value passed by the command enable_windows_gmsa = self.raw_param.get("enable_windows_gmsa") - # try to read the property value corresponding to the parameter from the `mc` object - if ( - self.mc and - self.mc.windows_profile and - hasattr(self.mc.windows_profile, "gmsa_profile") and # backward compatibility - self.mc.windows_profile.gmsa_profile and - self.mc.windows_profile.gmsa_profile.enabled is not None - ): - enable_windows_gmsa = self.mc.windows_profile.gmsa_profile.enabled + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.windows_profile and + hasattr(self.mc.windows_profile, "gmsa_profile") and # backward compatibility + self.mc.windows_profile.gmsa_profile and + self.mc.windows_profile.gmsa_profile.enabled is not None + ): + enable_windows_gmsa = self.mc.windows_profile.gmsa_profile.enabled # this parameter does not need dynamic completion # validation @@ -935,8 +1266,7 @@ def get_enable_windows_gmsa(self) -> bool: """ return self._get_enable_windows_gmsa(enable_validation=True) - # pylint: disable=unused-argument - def _get_gmsa_dns_server_and_root_domain_name(self, enable_validation: bool = False, **kwargs): + def _get_gmsa_dns_server_and_root_domain_name(self, enable_validation: bool = False): """Internal function to obtain the values of gmsa_dns_server and gmsa_root_domain_name. This function supports the option of enable_validation. Please refer to function __validate_gmsa_options for @@ -948,32 +1278,34 @@ def _get_gmsa_dns_server_and_root_domain_name(self, enable_validation: bool = Fa # gmsa_dns_server # read the original value passed by the command gmsa_dns_server = self.raw_param.get("gmsa_dns_server") - # try to read the property value corresponding to the parameter from the `mc` object + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. gmsa_dns_read_from_mc = False - if ( - self.mc and - self.mc.windows_profile and - hasattr(self.mc.windows_profile, "gmsa_profile") and # backward compatibility - self.mc.windows_profile.gmsa_profile and - self.mc.windows_profile.gmsa_profile.dns_server is not None - ): - gmsa_dns_server = self.mc.windows_profile.gmsa_profile.dns_server - gmsa_dns_read_from_mc = True + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.windows_profile and + hasattr(self.mc.windows_profile, "gmsa_profile") and # backward compatibility + self.mc.windows_profile.gmsa_profile and + self.mc.windows_profile.gmsa_profile.dns_server is not None + ): + gmsa_dns_server = self.mc.windows_profile.gmsa_profile.dns_server + gmsa_dns_read_from_mc = True # gmsa_root_domain_name # read the original value passed by the command gmsa_root_domain_name = self.raw_param.get("gmsa_root_domain_name") - # try to read the property value corresponding to the parameter from the `mc` object + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. gmsa_root_read_from_mc = False - if ( - self.mc and - self.mc.windows_profile and - hasattr(self.mc.windows_profile, "gmsa_profile") and # backward compatibility - self.mc.windows_profile.gmsa_profile and - self.mc.windows_profile.gmsa_profile.root_domain_name is not None - ): - gmsa_root_domain_name = self.mc.windows_profile.gmsa_profile.root_domain_name - gmsa_root_read_from_mc = True + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.windows_profile and + hasattr(self.mc.windows_profile, "gmsa_profile") and # backward compatibility + self.mc.windows_profile.gmsa_profile and + self.mc.windows_profile.gmsa_profile.root_domain_name is not None + ): + gmsa_root_domain_name = self.mc.windows_profile.gmsa_profile.root_domain_name + gmsa_root_read_from_mc = True # consistent check if gmsa_dns_read_from_mc != gmsa_root_read_from_mc: @@ -1054,8 +1386,25 @@ def get_snapshot(self) -> Union[Snapshot, None]: self.set_intermediate("snapshot", snapshot, overwrite_exists=True) return snapshot - # pylint: disable=unused-argument - def _get_kubernetes_version(self, read_only: bool = False, **kwargs) -> str: + def get_host_group_id(self) -> Union[str, None]: + return self._get_host_group_id() + + def _get_host_group_id(self) -> Union[str, None]: + raw_value = self.raw_param.get("host_group_id") + value_obtained_from_mc = None + if self.mc and self.mc.agent_pool_profiles: + agent_pool_profile = safe_list_get( + self.mc.agent_pool_profiles, 0, None + ) + if agent_pool_profile: + value_obtained_from_mc = agent_pool_profile.host_group_id + if value_obtained_from_mc is not None: + host_group_id = value_obtained_from_mc + else: + host_group_id = raw_value + return host_group_id + + def _get_kubernetes_version(self, read_only: bool = False) -> str: """Internal function to dynamically obtain the value of kubernetes_version according to the context. If snapshot_id is specified, dynamic completion will be triggerd, and will try to get the corresponding value @@ -1101,8 +1450,7 @@ def get_kubernetes_version(self) -> str: """ return self._get_kubernetes_version() - # pylint: disable=unused-argument - def _get_os_sku(self, read_only: bool = False, **kwargs) -> Union[str, None]: + def _get_os_sku(self, read_only: bool = False) -> Union[str, None]: """Internal function to dynamically obtain the value of os_sku according to the context. If snapshot_id is specified, dynamic completion will be triggerd, and will try to get the corresponding value @@ -1151,8 +1499,7 @@ def get_os_sku(self) -> Union[str, None]: """ return self._get_os_sku() - # pylint: disable=unused-argument - def _get_node_vm_size(self, read_only: bool = False, **kwargs) -> str: + def _get_node_vm_size(self, read_only: bool = False) -> str: """Internal function to dynamically obtain the value of node_vm_size according to the context. If snapshot_id is specified, dynamic completion will be triggerd, and will try to get the corresponding value @@ -1202,6 +1549,33 @@ def get_node_vm_size(self) -> str: """ return self._get_node_vm_size() + def get_oidc_issuer_profile(self) -> ManagedClusterOIDCIssuerProfile: + """Obtain the value of oidc_issuer_profile based on the user input. + + :return: ManagedClusterOIDCIssuerProfile + """ + enable_flag_value = bool(self.raw_param.get("enable_oidc_issuer")) + if not enable_flag_value: + # enable flag not set, return a None profile, server side will backfill the default/existing value + return None + + profile = self.models.ManagedClusterOIDCIssuerProfile() + if self.decorator_mode == DecoratorMode.UPDATE: + if self.mc.oidc_issuer_profile is not None: + profile = self.mc.oidc_issuer_profile + profile.enabled = True + + return profile + + def get_crg_id(self) -> str: + """Obtain the values of crg_id. + + :return: string or None + """ + # read the original value passed by the command + crg_id = self.raw_param.get("crg_id") + return crg_id + class AKSPreviewCreateDecorator(AKSCreateDecorator): # pylint: disable=super-init-not-called @@ -1250,6 +1624,9 @@ def set_up_agent_pool_profiles(self, mc: ManagedCluster) -> ManagedCluster: agent_pool_profile.gpu_instance_profile = ( self.context.get_gpu_instance_profile() ) + agent_pool_profile.message_of_the_day = ( + self.context.get_message_of_the_day() + ) agent_pool_profile.kubelet_config = self.context.get_kubelet_config() agent_pool_profile.linux_os_config = self.context.get_linux_os_config() @@ -1261,6 +1638,8 @@ def set_up_agent_pool_profiles(self, mc: ManagedCluster) -> ManagedCluster: source_resource_id=snapshot_id ) agent_pool_profile.creation_data = creation_data + agent_pool_profile.host_group_id = self.context.get_host_group_id() + agent_pool_profile.capacity_reservation_group_id = self.context.get_crg_id() mc.agent_pool_profiles = [agent_pool_profile] return mc @@ -1301,6 +1680,50 @@ def set_up_network_profile(self, mc: ManagedCluster) -> ManagedCluster: mc = super().set_up_network_profile(mc) network_profile = mc.network_profile + ( + pod_cidr, + service_cidr, + dns_service_ip, + _, + _, + ) = self.context.get_pod_cidr_and_service_cidr_and_dns_service_ip_and_docker_bridge_address_and_network_policy() + + ( + pod_cidrs, + service_cidrs, + ip_families + ) = self.context.get_pod_cidrs_and_service_cidrs_and_ip_families() + + # set dns_service_ip, pod_cidr(s), service(s) with user provided values if + # of them are set. Largely follows the base function which will potentially + # overwrite default SDK values. + if any([ + dns_service_ip, + pod_cidr, + pod_cidrs, + service_cidr, + service_cidrs, + ]): + network_profile.dns_service_ip = dns_service_ip + network_profile.pod_cidr = pod_cidr + network_profile.pod_cidrs = pod_cidrs + network_profile.service_cidr = service_cidr + network_profile.service_cidrs = service_cidrs + + if ip_families: + network_profile.ip_families = ip_families + + if self.context.get_load_balancer_managed_outbound_ipv6_count() is not None: + network_profile.load_balancer_profile = create_load_balancer_profile( + self.context.get_load_balancer_managed_outbound_ip_count(), + self.context.get_load_balancer_managed_outbound_ipv6_count(), + self.context.get_load_balancer_outbound_ips(), + self.context.get_load_balancer_outbound_ip_prefixes(), + self.context.get_load_balancer_outbound_ports(), + self.context.get_load_balancer_idle_timeout(), + models=self.models.lb_models, + ) + # build nat gateway profile, which is part of the network profile nat_gateway_profile = create_nat_gateway_profile( self.context.get_nat_gateway_managed_outbound_ip_count(), @@ -1343,7 +1766,7 @@ def set_up_pod_identity_profile(self, mc: ManagedCluster) -> ManagedCluster: enable_pod_identity = self.context.get_enable_pod_identity() enable_pod_identity_with_kubenet = self.context.get_enable_pod_identity_with_kubenet() if enable_pod_identity: - pod_identity_profile = self.models.ManagedClusterPodIdentityProfile( + pod_identity_profile = self.models.pod_identity_models.ManagedClusterPodIdentityProfile( enabled=True, allow_network_plugin_kubenet=enable_pod_identity_with_kubenet, ) @@ -1465,7 +1888,16 @@ def set_up_windows_profile(self, mc: ManagedCluster) -> ManagedCluster: mc.windows_profile = windows_profile return mc - def construct_preview_mc_profile(self) -> ManagedCluster: + def set_up_oidc_issuer_profile(self, mc: ManagedCluster) -> ManagedCluster: + """Set up OIDC issuer profile for the ManagedCluster object. + + :return: the ManagedCluster object + """ + mc.oidc_issuer_profile = self.context.get_oidc_issuer_profile() + + return mc + + def construct_mc_preview_profile(self) -> ManagedCluster: """The overall controller used to construct the preview ManagedCluster profile. The completely constructed ManagedCluster object will later be passed as a parameter to the underlying SDK @@ -1483,9 +1915,10 @@ def construct_preview_mc_profile(self) -> ManagedCluster: mc = self.set_up_pod_security_policy(mc) # set up pod identity profile mc = self.set_up_pod_identity_profile(mc) + mc = self.set_up_oidc_issuer_profile(mc) return mc - def create_mc(self, mc: ManagedCluster) -> ManagedCluster: + def create_mc_preview(self, mc: ManagedCluster) -> ManagedCluster: """Send request to create a real managed cluster. Note: Inherited and extended in aks-preview to create dcr association for monitoring addon if @@ -1501,7 +1934,7 @@ def create_mc(self, mc: ManagedCluster) -> ManagedCluster: # Due to SPN replication latency, we do a few retries here max_retry = 30 - retry_exception = Exception(None) + error_msg = "" for _ in range(0, max_retry): try: if self.context.get_intermediate("monitoring") and self.context.get_enable_msi_auth_for_monitoring(): @@ -1519,13 +1952,15 @@ def create_mc(self, mc: ManagedCluster) -> ManagedCluster: create_dcra=True, ) return created_cluster - except CloudError as ex: - retry_exception = ex + # CloudError was raised before, but since the adoption of track 2 SDK, + # HttpResponseError would be raised instead + except (CloudError, HttpResponseError) as ex: + error_msg = str(ex) if 'not found in Active Directory tenant' in ex.message: time.sleep(3) else: raise ex - raise retry_exception + raise AzCLIError("Maximum number of retries exceeded. " + error_msg) class AKSPreviewUpdateDecorator(AKSUpdateDecorator): @@ -1555,3 +1990,245 @@ def __init__( self.models, decorator_mode=DecoratorMode.UPDATE, ) + + def check_raw_parameters(self): + """Helper function to check whether any parameters are set. + + Note: Overwritten in aks-preview to use different hard-coded error message. + + If the values of all the parameters are the default values, the command execution will be terminated early and + raise a RequiredArgumentMissingError. Neither the request to fetch or update the ManagedCluster object will be + sent. + + :return: None + """ + # exclude some irrelevant or mandatory parameters + excluded_keys = ("cmd", "client", "resource_group_name", "name") + # check whether the remaining parameters are set + # the default value None or False (and other empty values, like empty string) will be considered as not set + is_changed = any(v for k, v in self.context.raw_param.items() if k not in excluded_keys) + + # special cases + # some parameters support the use of empty string or dictionary to update/remove previously set values + is_default = ( + self.context.get_cluster_autoscaler_profile() is None and + self.context.get_api_server_authorized_ip_ranges() is None and + self.context.get_nodepool_labels() is None + ) + + if not is_changed and is_default: + # Note: Uncomment the followings to automatically generate the error message. + # option_names = [ + # '"{}"'.format(format_parameter_name_to_option_name(x)) + # for x in self.context.raw_param.keys() + # if x not in excluded_keys + # ] + # error_msg = "Please specify one or more of {}.".format( + # " or ".join(option_names) + # ) + # raise RequiredArgumentMissingError(error_msg) + raise RequiredArgumentMissingError( + 'Please specify "--enable-cluster-autoscaler" or ' + '"--disable-cluster-autoscaler" or ' + '"--update-cluster-autoscaler" or ' + '"--cluster-autoscaler-profile" or ' + '"--enable-pod-security-policy" or ' + '"--disable-pod-security-policy" or ' + '"--api-server-authorized-ip-ranges" or ' + '"--attach-acr" or ' + '"--detach-acr" or ' + '"--uptime-sla" or ' + '"--no-uptime-sla" or ' + '"--load-balancer-managed-outbound-ip-count" or ' + '"--load-balancer-outbound-ips" or ' + '"--load-balancer-outbound-ip-prefixes" or ' + '"--nat-gateway-managed-outbound-ip-count" or ' + '"--nat-gateway-idle-timeout" or ' + '"--enable-aad" or ' + '"--aad-tenant-id" or ' + '"--aad-admin-group-object-ids" or ' + '"--enable-ahub" or ' + '"--disable-ahub" or ' + '"--enable-managed-identity" or ' + '"--enable-pod-identity" or ' + '"--disable-pod-identity" or ' + '"--auto-upgrade-channel" or ' + '"--enable-secret-rotation" or ' + '"--disable-secret-rotation" or ' + '"--rotation-poll-interval" or ' + '"--tags" or ' + '"--windows-admin-password" or ' + '"--enable-azure-rbac" or ' + '"--disable-azure-rbac" or ' + '"--enable-local-accounts" or ' + '"--disable-local-accounts" or ' + '"--enable-public-fqdn" or ' + '"--disable-public-fqdn"' + '"--enble-windows-gmsa" or ' + '"--nodepool-labels" or ' + '"--enable-oidc-issuer".' + ) + + def update_load_balancer_profile(self, mc: ManagedCluster) -> ManagedCluster: + """Update load balancer profile for the ManagedCluster object. + + Note: Overwritten in aks-preview to set dual stack related properties. + + :return: the ManagedCluster object + """ + self._ensure_mc(mc) + + if not mc.network_profile: + raise UnknownError( + "Unexpectedly get an empty network profile in the process of updating load balancer profile." + ) + + # In the internal function "_update_load_balancer_profile", it will check whether the provided parameters + # have been assigned, and if there are any, the corresponding profile will be modified; otherwise, it will + # remain unchanged. + mc.network_profile.load_balancer_profile = _update_load_balancer_profile( + managed_outbound_ip_count=self.context.get_load_balancer_managed_outbound_ip_count(), + managed_outbound_ipv6_count=self.context.get_load_balancer_managed_outbound_ipv6_count(), + outbound_ips=self.context.get_load_balancer_outbound_ips(), + outbound_ip_prefixes=self.context.get_load_balancer_outbound_ip_prefixes(), + outbound_ports=self.context.get_load_balancer_outbound_ports(), + idle_timeout=self.context.get_load_balancer_idle_timeout(), + profile=mc.network_profile.load_balancer_profile, + models=self.models.lb_models, + ) + return mc + + def update_pod_security_policy(self, mc: ManagedCluster) -> ManagedCluster: + """Update pod security policy for the ManagedCluster object. + + :return: the ManagedCluster object + """ + self._ensure_mc(mc) + + if self.context.get_enable_pod_security_policy(): + mc.enable_pod_security_policy = True + + if self.context.get_disable_pod_security_policy(): + mc.enable_pod_security_policy = False + return mc + + def update_windows_profile(self, mc: ManagedCluster) -> ManagedCluster: + """Update windows profile for the ManagedCluster object. + + Note: Inherited and extended in aks-preview to set gmsa related properties. + + :return: the ManagedCluster object + """ + mc = super().update_windows_profile(mc) + windows_profile = mc.windows_profile + + if self.context.get_enable_windows_gmsa(): + if not windows_profile: + raise UnknownError( + "Encounter an unexpected error while getting windows profile " + "from the cluster in the process of update." + ) + gmsa_dns_server, gmsa_root_domain_name = self.context.get_gmsa_dns_server_and_root_domain_name() + windows_profile.gmsa_profile = self.models.WindowsGmsaProfile( + enabled=True, + dns_server=gmsa_dns_server, + root_domain_name=gmsa_root_domain_name, + ) + return mc + + # TODO: may combine this with update_load_balancer_profile + def update_nat_gateway_profile(self, mc: ManagedCluster) -> ManagedCluster: + """Update nat gateway profile for the ManagedCluster object. + + :return: the ManagedCluster object + """ + self._ensure_mc(mc) + + nat_gateway_managed_outbound_ip_count = self.context.get_nat_gateway_managed_outbound_ip_count() + nat_gateway_idle_timeout = self.context.get_nat_gateway_idle_timeout() + if is_nat_gateway_profile_provided(nat_gateway_managed_outbound_ip_count, nat_gateway_idle_timeout): + if not mc.network_profile: + raise UnknownError( + "Unexpectedly get an empty network profile in the process of updating nat gateway profile." + ) + + mc.network_profile.nat_gateway_profile = _update_nat_gateway_profile( + nat_gateway_managed_outbound_ip_count, + nat_gateway_idle_timeout, + mc.network_profile.nat_gateway_profile, + models=self.models.nat_gateway_models, + ) + return mc + + def update_pod_identity_profile(self, mc: ManagedCluster) -> ManagedCluster: + """Update pod identity profile for the ManagedCluster object. + + :return: the ManagedCluster object + """ + self._ensure_mc(mc) + + if self.context.get_enable_pod_identity(): + if not _is_pod_identity_addon_enabled(mc): + # we only rebuild the pod identity profile if it's disabled before + _update_addon_pod_identity( + mc, + enable=True, + allow_kubenet_consent=self.context.get_enable_pod_identity_with_kubenet(), + models=self.models.pod_identity_models + ) + + if self.context.get_disable_pod_identity(): + _update_addon_pod_identity(mc, enable=False, models=self.models.pod_identity_models) + return mc + + def update_oidc_issuer_profile(self, mc: ManagedCluster) -> ManagedCluster: + """Update OIDC issuer profile for the ManagedCluster object. + + :return: the ManagedCluster object + """ + self._ensure_mc(mc) + + mc.oidc_issuer_profile = self.context.get_oidc_issuer_profile() + + return mc + + def patch_mc(self, mc: ManagedCluster) -> ManagedCluster: + """Helper function to patch the ManagedCluster object. + + This is a collection of workarounds on the cli side before fixing the problems on the rp side. + + :return: the ManagedCluster object + """ + self._ensure_mc(mc) + + # fill default values for pod labels in pod identity exceptions + _fill_defaults_for_pod_identity_profile(mc.pod_identity_profile) + return mc + + def update_mc_preview_profile(self) -> ManagedCluster: + """The overall controller used to update the preview ManagedCluster profile. + + The completely updated ManagedCluster object will later be passed as a parameter to the underlying SDK + (mgmt-containerservice) to send the actual request. + + :return: the ManagedCluster object + """ + # update the default ManagedCluster profile + mc = self.update_default_mc_profile() + # patch mc + mc = self.patch_mc(mc) + # update pod security policy + mc = self.update_pod_security_policy(mc) + # update nat gateway profile + mc = self.update_nat_gateway_profile(mc) + # update pod identity profile + mc = self.update_pod_identity_profile(mc) + mc = self.update_oidc_issuer_profile(mc) + return mc + + def update_mc_preview(self, mc: ManagedCluster) -> ManagedCluster: + """Send request to update the existing managed cluster. + + :return: the ManagedCluster object + """ + return super().update_mc(mc) diff --git a/src/aks-preview/azext_aks_preview/deploymentyaml/__init__.py b/src/aks-preview/azext_aks_preview/deploymentyaml/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/aks-preview/azext_aks_preview/maintenanceconfiguration.py b/src/aks-preview/azext_aks_preview/maintenanceconfiguration.py index 261c566c3c7..79c0ba3a4a6 100644 --- a/src/aks-preview/azext_aks_preview/maintenanceconfiguration.py +++ b/src/aks-preview/azext_aks_preview/maintenanceconfiguration.py @@ -32,7 +32,9 @@ def getMaintenanceConfiguration(cmd, config_file, weekday, start_hour): result.not_allowed_time = [] return result - return _get_maintenance_config(cmd, config_file) + maintenance_config = get_file_json(config_file) + logger.info(maintenance_config) + return maintenance_config def aks_maintenanceconfiguration_update_internal( @@ -49,33 +51,3 @@ def aks_maintenanceconfiguration_update_internal( config = getMaintenanceConfiguration(cmd, config_file, weekday, start_hour) return client.create_or_update(resource_group_name=resource_group_name, resource_name=cluster_name, config_name=config_name, parameters=config) - - -def _get_maintenance_config(cmd, file_path): - # get models - MaintenanceConfiguration = cmd.get_models('MaintenanceConfiguration', resource_type=CUSTOM_MGMT_AKS_PREVIEW, operation_group='maintenance_configurations') - TimeInWeek = cmd.get_models('TimeInWeek', resource_type=CUSTOM_MGMT_AKS_PREVIEW, operation_group='maintenance_configurations') - TimeSpan = cmd.get_models('TimeSpan', resource_type=CUSTOM_MGMT_AKS_PREVIEW, operation_group='maintenance_configurations') - - maintenance_config = get_file_json(file_path) - logger.info(maintenance_config) - if not isinstance(maintenance_config, dict): - raise CLIError("Error reading maintenance configuration at {}.".format(file_path)) - time_in_week = maintenance_config["timeInWeek"] - not_allowed_time = maintenance_config["notAllowedTime"] - week_schedule = [] - if time_in_week is not None: - for item in time_in_week: - w = TimeInWeek(**item) - logger.info('day: %s, time slots: %s ', w.day, w.hour_slots) - week_schedule.append(w) - not_allowed = [] - if not_allowed_time is not None: - for item in not_allowed_time: - t = TimeSpan(**item) - logger.info('start: %s, end: %s ', t.start, t.end) - not_allowed.append(t) - result = MaintenanceConfiguration() - result.time_in_week = week_schedule - result.not_allowed_time = not_allowed - return result diff --git a/src/aks-preview/azext_aks_preview/tests/latest/data/maintenanceconfig.json b/src/aks-preview/azext_aks_preview/tests/latest/data/maintenanceconfig.json index 7a2d251bc4d..4d960b41459 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/data/maintenanceconfig.json +++ b/src/aks-preview/azext_aks_preview/tests/latest/data/maintenanceconfig.json @@ -2,14 +2,14 @@ "timeInWeek": [ { "day": "Tuesday", - "hour_slots": [ + "hourSlots": [ 1, 2 ] }, { "day": "Wednesday", - "hour_slots": [ + "hourSlots": [ 1, 6 ] diff --git a/src/aks-preview/azext_aks_preview/tests/latest/data/motd.txt b/src/aks-preview/azext_aks_preview/tests/latest/data/motd.txt new file mode 100644 index 00000000000..38c0188961f --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/data/motd.txt @@ -0,0 +1,3 @@ +UNAUTHORIZED ACCESS TO THIS DEVICE IS PROHIBITED + +You must have explicit, authorized permission to access or configure this device. Unauthorized attempts and actions to access or use this system may result in civil and/or criminal penalties. All activities performed on this device are logged and monitored. diff --git a/src/aks-preview/azext_aks_preview/tests/latest/mocks.py b/src/aks-preview/azext_aks_preview/tests/latest/mocks.py index 14435a8a2e5..f76d549ac29 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/mocks.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/mocks.py @@ -15,10 +15,13 @@ MOCK_CLI_ENV_VAR_PREFIX = "MOCK_" + ENV_VAR_PREFIX -class MockClient(object): +class MockClient: def __init__(self): pass + def get(self): + pass + class MockCLI(CLI): def __init__(self): @@ -30,7 +33,7 @@ def __init__(self): self.cloud = get_active_cloud(self) -class MockCmd(object): +class MockCmd: def __init__(self, cli_ctx): self.cli_ctx = cli_ctx self.cmd = AzCliCommand(AzCommandsLoader(cli_ctx), "mock-cmd", None) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recording_processors.py b/src/aks-preview/azext_aks_preview/tests/latest/recording_processors.py index 78526209c05..90fbd9131e0 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recording_processors.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/recording_processors.py @@ -3,8 +3,8 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure_devtools.scenario_tests import RecordingProcessor -from azure_devtools.scenario_tests.utilities import is_text_payload +from azure.cli.testsdk.scenario_tests import RecordingProcessor +from azure.cli.testsdk.scenario_tests.utilities import is_text_payload MOCK_GUID = '00000000-0000-0000-0000-000000000001' MOCK_SECRET = 'fake-secret' diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_confcom_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_confcom_addon.yaml old mode 100755 new mode 100644 index d820679d341..180d71471be --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_confcom_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_confcom_addon.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:57:29Z"},"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":"2022-02-11T07:09:12Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:57:30 GMT + - Fri, 11 Feb 2022 07:09:14 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesty5ruuws5q-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestdkkvgaln7-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "false"}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": @@ -66,37 +67,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1479' + - '1507' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesty5ruuws5q-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestdkkvgaln7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -107,22 +109,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3cff977b-a96e-486d-9896-efb66a414a79?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2928' + - '3174' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:33 GMT + - Fri, 11 Feb 2022 07:09:17 GMT expires: - '-1' pragma: @@ -134,7 +138,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 201 message: Created @@ -152,14 +156,110 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:10: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cff977b-a96e-486d-9896-efb66a414a79?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b97ff3c-6ea9-6d48-9896-efb66a414a79\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:32.8233333Z\"\n }" + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -168,7 +268,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:02 GMT + - Fri, 11 Feb 2022 07:10:48 GMT expires: - '-1' pragma: @@ -200,14 +300,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cff977b-a96e-486d-9896-efb66a414a79?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b97ff3c-6ea9-6d48-9896-efb66a414a79\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:32.8233333Z\"\n }" + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -216,7 +316,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:32 GMT + - Fri, 11 Feb 2022 07:11:18 GMT expires: - '-1' pragma: @@ -248,14 +348,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cff977b-a96e-486d-9896-efb66a414a79?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b97ff3c-6ea9-6d48-9896-efb66a414a79\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:32.8233333Z\"\n }" + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -264,7 +364,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:03 GMT + - Fri, 11 Feb 2022 07:11:48 GMT expires: - '-1' pragma: @@ -296,14 +396,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cff977b-a96e-486d-9896-efb66a414a79?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b97ff3c-6ea9-6d48-9896-efb66a414a79\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:32.8233333Z\"\n }" + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -312,7 +412,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:33 GMT + - Fri, 11 Feb 2022 07:12:18 GMT expires: - '-1' pragma: @@ -344,14 +444,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cff977b-a96e-486d-9896-efb66a414a79?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b97ff3c-6ea9-6d48-9896-efb66a414a79\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:32.8233333Z\"\n }" + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -360,7 +460,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:02 GMT + - Fri, 11 Feb 2022 07:12:47 GMT expires: - '-1' pragma: @@ -392,15 +492,159 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cff977b-a96e-486d-9896-efb66a414a79?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7b97ff3c-6ea9-6d48-9896-efb66a414a79\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:57:32.8233333Z\",\n \"endTime\": - \"2021-10-19T07:00:31.5819749Z\"\n }" + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c1f1bbe-2a2a-490c-9fdf-d604ca498d6b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"be1b1f4c-2a2a-0c49-9fdf-d604ca498d6b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\",\n \"endTime\": + \"2022-02-11T07:14:20.5493676Z\"\n }" headers: cache-control: - no-cache @@ -409,7 +653,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:32 GMT + - Fri, 11 Feb 2022 07:14:48 GMT expires: - '-1' pragma: @@ -441,31 +685,32 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesty5ruuws5q-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestdkkvgaln7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -476,26 +721,29 @@ interactions: \ \"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/e71153a6-5638-4cff-9dc4-b07b0fdd67f1\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d91111ec-1432-4dba-8852-1d4d5d194e55\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:33 GMT + - Fri, 11 Feb 2022 07:14:49 GMT expires: - '-1' pragma: @@ -527,31 +775,32 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesty5ruuws5q-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestdkkvgaln7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -562,26 +811,29 @@ interactions: \ \"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/e71153a6-5638-4cff-9dc4-b07b0fdd67f1\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d91111ec-1432-4dba-8852-1d4d5d194e55\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:34 GMT + - Fri, 11 Feb 2022 07:14:50 GMT expires: - '-1' pragma: @@ -601,25 +853,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitesty5ruuws5q-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestdkkvgaln7-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": - {"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/e71153a6-5638-4cff-9dc4-b07b0fdd67f1"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": false}}, "oidcIssuerProfile": {"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/d91111ec-1432-4dba-8852-1d4d5d194e55"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -630,37 +884,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2324' + - '2433' Content-Type: - application/json ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesty5ruuws5q-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestdkkvgaln7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": false,\n \"config\": @@ -668,28 +923,31 @@ interactions: \ \"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/e71153a6-5638-4cff-9dc4-b07b0fdd67f1\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d91111ec-1432-4dba-8852-1d4d5d194e55\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3ea73b7c-c48b-49c2-81e2-32de3cbc04b6?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/31163c96-fbec-434b-a638-a4e9d61991fe?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3544' + - '3780' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:36 GMT + - Fri, 11 Feb 2022 07:14:52 GMT expires: - '-1' pragma: @@ -705,7 +963,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/31163c96-fbec-434b-a638-a4e9d61991fe?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"963c1631-ecfb-4b43-a638-a4e9d61991fe\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:14:52.3966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/31163c96-fbec-434b-a638-a4e9d61991fe?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"963c1631-ecfb-4b43-a638-a4e9d61991fe\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:14:52.3966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:15: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 @@ -723,14 +1077,14 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3ea73b7c-c48b-49c2-81e2-32de3cbc04b6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/31163c96-fbec-434b-a638-a4e9d61991fe?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7c3ba73e-8bc4-c249-81e2-32de3cbc04b6\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:00:36.9933333Z\"\n }" + string: "{\n \"name\": \"963c1631-ecfb-4b43-a638-a4e9d61991fe\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:14:52.3966666Z\"\n }" headers: cache-control: - no-cache @@ -739,7 +1093,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:07 GMT + - Fri, 11 Feb 2022 07:16:22 GMT expires: - '-1' pragma: @@ -771,24 +1125,72 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3ea73b7c-c48b-49c2-81e2-32de3cbc04b6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/31163c96-fbec-434b-a638-a4e9d61991fe?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7c3ba73e-8bc4-c249-81e2-32de3cbc04b6\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:00:36.9933333Z\",\n \"endTime\": - \"2021-10-19T07:01:36.47411Z\"\n }" + string: "{\n \"name\": \"963c1631-ecfb-4b43-a638-a4e9d61991fe\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:14:52.3966666Z\"\n }" headers: cache-control: - no-cache content-length: - - '168' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/31163c96-fbec-434b-a638-a4e9d61991fe?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"963c1631-ecfb-4b43-a638-a4e9d61991fe\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:14:52.3966666Z\",\n \"endTime\": + \"2022-02-11T07:17:08.9742457Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:37 GMT + - Fri, 11 Feb 2022 07:17:22 GMT expires: - '-1' pragma: @@ -820,31 +1222,32 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesty5ruuws5q-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesty5ruuws5q-8ecadf-15743466.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestdkkvgaln7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestdkkvgaln7-8ecadf-71217069.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": false,\n \"config\": @@ -852,26 +1255,29 @@ interactions: \ \"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/e71153a6-5638-4cff-9dc4-b07b0fdd67f1\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d91111ec-1432-4dba-8852-1d4d5d194e55\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3546' + - '3782' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:37 GMT + - Fri, 11 Feb 2022 07:17:23 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_openservicemesh.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_openservicemesh.yaml old mode 100755 new mode 100644 index a1d87c3335c..462f5587eb0 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_openservicemesh.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_disable_openservicemesh.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:01:03Z"},"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":"2022-02-11T07:09:12Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:01:03 GMT + - Fri, 11 Feb 2022 07:09:14 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest2bjakphws-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestrcapsyblx-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": true, "config": {}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", @@ -66,62 +67,65 @@ interactions: Connection: - keep-alive Content-Length: - - '1441' + - '1469' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2bjakphws-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestrcapsyblx-8ecadf\",\n \"fqdn\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\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\": - 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/c65bb271-27ae-413e-a8de-84a1ef2b7863?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2877' + - '3125' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:06 GMT + - Fri, 11 Feb 2022 07:09:17 GMT expires: - '-1' pragma: @@ -133,7 +137,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -151,23 +155,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c65bb271-27ae-413e-a8de-84a1ef2b7863?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"71b25bc6-ae27-3e41-a8de-84a1ef2b7863\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:07.06Z\"\n }" + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:37 GMT + - Fri, 11 Feb 2022 07:09:48 GMT expires: - '-1' pragma: @@ -199,23 +203,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c65bb271-27ae-413e-a8de-84a1ef2b7863?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"71b25bc6-ae27-3e41-a8de-84a1ef2b7863\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:07.06Z\"\n }" + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:06 GMT + - Fri, 11 Feb 2022 07:10:17 GMT expires: - '-1' pragma: @@ -247,23 +251,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c65bb271-27ae-413e-a8de-84a1ef2b7863?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"71b25bc6-ae27-3e41-a8de-84a1ef2b7863\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:07.06Z\"\n }" + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:36 GMT + - Fri, 11 Feb 2022 07:10:47 GMT expires: - '-1' pragma: @@ -295,23 +299,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c65bb271-27ae-413e-a8de-84a1ef2b7863?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"71b25bc6-ae27-3e41-a8de-84a1ef2b7863\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:07.06Z\"\n }" + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:07 GMT + - Fri, 11 Feb 2022 07:11:17 GMT expires: - '-1' pragma: @@ -343,23 +347,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c65bb271-27ae-413e-a8de-84a1ef2b7863?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"71b25bc6-ae27-3e41-a8de-84a1ef2b7863\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:07.06Z\"\n }" + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:37 GMT + - Fri, 11 Feb 2022 07:11:47 GMT expires: - '-1' pragma: @@ -391,23 +395,71 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c65bb271-27ae-413e-a8de-84a1ef2b7863?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"71b25bc6-ae27-3e41-a8de-84a1ef2b7863\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:07.06Z\"\n }" + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:12: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:07 GMT + - Fri, 11 Feb 2022 07:12:48 GMT expires: - '-1' pragma: @@ -439,24 +491,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c65bb271-27ae-413e-a8de-84a1ef2b7863?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"71b25bc6-ae27-3e41-a8de-84a1ef2b7863\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:01:07.06Z\",\n \"endTime\": - \"2021-10-19T07:04:32.092331Z\"\n }" + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:37 GMT + - Fri, 11 Feb 2022 07:13:17 GMT expires: - '-1' pragma: @@ -488,60 +539,113 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3aa8bcd8-5107-4027-bf0e-da02d46819da?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d8bca83a-0751-2740-bf0e-da02d46819da\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:09:17.9533333Z\",\n \"endTime\": + \"2022-02-11T07:13:36.8171809Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2bjakphws-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestrcapsyblx-8ecadf\",\n \"fqdn\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/ebb23df4-78e4-4b0c-889b-758ecb1e4e96\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/00d804dd-b278-4267-97f7-dbf28779f7b4\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:37 GMT + - Fri, 11 Feb 2022 07:13:48 GMT expires: - '-1' pragma: @@ -573,60 +677,64 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2bjakphws-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestrcapsyblx-8ecadf\",\n \"fqdn\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/ebb23df4-78e4-4b0c-889b-758ecb1e4e96\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/00d804dd-b278-4267-97f7-dbf28779f7b4\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:38 GMT + - Fri, 11 Feb 2022 07:13:49 GMT expires: - '-1' pragma: @@ -646,25 +754,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitest2bjakphws-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestrcapsyblx-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": - {"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/ebb23df4-78e4-4b0c-889b-758ecb1e4e96"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": false}}, "oidcIssuerProfile": {"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/00d804dd-b278-4267-97f7-dbf28779f7b4"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -675,37 +785,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2321' + - '2430' Content-Type: - application/json ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2bjakphws-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestrcapsyblx-8ecadf\",\n \"fqdn\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"openServiceMesh\": {\n \"enabled\": false,\n \"config\": @@ -713,28 +824,31 @@ interactions: \ \"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/ebb23df4-78e4-4b0c-889b-758ecb1e4e96\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/00d804dd-b278-4267-97f7-dbf28779f7b4\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/84460ecb-8a8e-4652-a3c6-b16009a0d3b1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32eb1360-eb81-49bf-a076-91dce5786976?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3541' + - '3777' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:40 GMT + - Fri, 11 Feb 2022 07:13:51 GMT expires: - '-1' pragma: @@ -750,7 +864,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 200 message: OK @@ -768,23 +882,23 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/84460ecb-8a8e-4652-a3c6-b16009a0d3b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32eb1360-eb81-49bf-a076-91dce5786976?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cb0e4684-8e8a-5246-a3c6-b16009a0d3b1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:04:40.5466666Z\"\n }" + string: "{\n \"name\": \"6013eb32-81eb-bf49-a076-91dce5786976\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.34Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:10 GMT + - Fri, 11 Feb 2022 07:14:21 GMT expires: - '-1' pragma: @@ -816,23 +930,23 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/84460ecb-8a8e-4652-a3c6-b16009a0d3b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32eb1360-eb81-49bf-a076-91dce5786976?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cb0e4684-8e8a-5246-a3c6-b16009a0d3b1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:04:40.5466666Z\"\n }" + string: "{\n \"name\": \"6013eb32-81eb-bf49-a076-91dce5786976\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.34Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:40 GMT + - Fri, 11 Feb 2022 07:14:51 GMT expires: - '-1' pragma: @@ -864,24 +978,23 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/84460ecb-8a8e-4652-a3c6-b16009a0d3b1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32eb1360-eb81-49bf-a076-91dce5786976?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cb0e4684-8e8a-5246-a3c6-b16009a0d3b1\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:04:40.5466666Z\",\n \"endTime\": - \"2021-10-19T07:05:43.0376724Z\"\n }" + string: "{\n \"name\": \"6013eb32-81eb-bf49-a076-91dce5786976\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.34Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:09 GMT + - Fri, 11 Feb 2022 07:15:21 GMT expires: - '-1' pragma: @@ -913,31 +1026,129 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32eb1360-eb81-49bf-a076-91dce5786976?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6013eb32-81eb-bf49-a076-91dce5786976\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/32eb1360-eb81-49bf-a076-91dce5786976?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6013eb32-81eb-bf49-a076-91dce5786976\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:13:51.34Z\",\n \"endTime\": + \"2022-02-11T07:16:12.9150057Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2bjakphws-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest2bjakphws-8ecadf-427382dd.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestrcapsyblx-8ecadf\",\n \"fqdn\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestrcapsyblx-8ecadf-a950a24d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"openServiceMesh\": {\n \"enabled\": false,\n \"config\": @@ -945,26 +1156,29 @@ interactions: \ \"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/ebb23df4-78e4-4b0c-889b-758ecb1e4e96\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/00d804dd-b278-4267-97f7-dbf28779f7b4\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3543' + - '3779' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:11 GMT + - Fri, 11 Feb 2022 07:16:22 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_confcom_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_confcom_addon.yaml old mode 100755 new mode 100644 index 586ff00ba64..801da8c5913 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_confcom_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_confcom_addon.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:55:20Z"},"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":"2022-02-11T07:09:12Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:55:21 GMT + - Fri, 11 Feb 2022 07:09:13 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest6rqg2s54j-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestb4k7nwkgs-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6rqg2s54j-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestb4k7nwkgs-8ecadf\",\n \"fqdn\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/99af5e26-c51e-4cb7-8a28-c9219cc078cc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:24 GMT + - Fri, 11 Feb 2022 07:09:18 GMT expires: - '-1' pragma: @@ -149,14 +153,110 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:10: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99af5e26-c51e-4cb7-8a28-c9219cc078cc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"265eaf99-1ec5-b74c-8a28-c9219cc078cc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:55:24.1866666Z\"\n }" + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +265,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:53 GMT + - Fri, 11 Feb 2022 07:10:47 GMT expires: - '-1' pragma: @@ -197,14 +297,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99af5e26-c51e-4cb7-8a28-c9219cc078cc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"265eaf99-1ec5-b74c-8a28-c9219cc078cc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:55:24.1866666Z\"\n }" + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +313,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:24 GMT + - Fri, 11 Feb 2022 07:11:17 GMT expires: - '-1' pragma: @@ -245,14 +345,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99af5e26-c51e-4cb7-8a28-c9219cc078cc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"265eaf99-1ec5-b74c-8a28-c9219cc078cc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:55:24.1866666Z\"\n }" + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:54 GMT + - Fri, 11 Feb 2022 07:11:47 GMT expires: - '-1' pragma: @@ -293,14 +393,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99af5e26-c51e-4cb7-8a28-c9219cc078cc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"265eaf99-1ec5-b74c-8a28-c9219cc078cc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:55:24.1866666Z\"\n }" + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +409,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:23 GMT + - Fri, 11 Feb 2022 07:12:17 GMT expires: - '-1' pragma: @@ -341,14 +441,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99af5e26-c51e-4cb7-8a28-c9219cc078cc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"265eaf99-1ec5-b74c-8a28-c9219cc078cc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:55:24.1866666Z\"\n }" + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +457,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:54 GMT + - Fri, 11 Feb 2022 07:12:48 GMT expires: - '-1' pragma: @@ -389,15 +489,63 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99af5e26-c51e-4cb7-8a28-c9219cc078cc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"265eaf99-1ec5-b74c-8a28-c9219cc078cc\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:55:24.1866666Z\",\n \"endTime\": - \"2021-10-19T06:58:01.5422471Z\"\n }" + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc6c2674-7192-441d-899f-409f2ee1e6e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"74266ccc-9271-1d44-899f-409f2ee1e6e0\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:09:18.0933333Z\",\n \"endTime\": + \"2022-02-11T07:13:36.4076213Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +554,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:24 GMT + - Fri, 11 Feb 2022 07:13:48 GMT expires: - '-1' pragma: @@ -438,57 +586,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6rqg2s54j-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestb4k7nwkgs-8ecadf\",\n \"fqdn\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/8b5b8ee7-d708-41de-a537-940d3ab4b3ab\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/424b74ff-a8b7-4725-845d-77dfeddfd469\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:25 GMT + - Fri, 11 Feb 2022 07:13:48 GMT expires: - '-1' pragma: @@ -520,57 +672,61 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6rqg2s54j-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestb4k7nwkgs-8ecadf\",\n \"fqdn\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/8b5b8ee7-d708-41de-a537-940d3ab4b3ab\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/424b74ff-a8b7-4725-845d-77dfeddfd469\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:25 GMT + - Fri, 11 Feb 2022 07:13:49 GMT expires: - '-1' pragma: @@ -590,26 +746,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitest6rqg2s54j-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestb4k7nwkgs-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": - {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "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/8b5b8ee7-d708-41de-a537-940d3ab4b3ab"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "false"}}}, "oidcIssuerProfile": + {"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/424b74ff-a8b7-4725-845d-77dfeddfd469"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -620,37 +777,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2372' + - '2481' Content-Type: - application/json ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6rqg2s54j-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestb4k7nwkgs-8ecadf\",\n \"fqdn\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -659,28 +817,31 @@ interactions: \ \"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/8b5b8ee7-d708-41de-a537-940d3ab4b3ab\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/424b74ff-a8b7-4725-845d-77dfeddfd469\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/c7eacd3c-84b8-4245-bf97-64f6af27c36d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46235b60-0dab-4f04-9e1b-e37d56052773?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3589' + - '3825' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:27 GMT + - Fri, 11 Feb 2022 07:13:51 GMT expires: - '-1' pragma: @@ -696,7 +857,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -714,14 +875,14 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c7eacd3c-84b8-4245-bf97-64f6af27c36d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46235b60-0dab-4f04-9e1b-e37d56052773?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3ccdeac7-b884-4542-bf97-64f6af27c36d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:58:28.0766666Z\"\n }" + string: "{\n \"name\": \"605b2346-ab0d-044f-9e1b-e37d56052773\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.3733333Z\"\n }" headers: cache-control: - no-cache @@ -730,7 +891,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:57 GMT + - Fri, 11 Feb 2022 07:14:21 GMT expires: - '-1' pragma: @@ -762,24 +923,168 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c7eacd3c-84b8-4245-bf97-64f6af27c36d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46235b60-0dab-4f04-9e1b-e37d56052773?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"3ccdeac7-b884-4542-bf97-64f6af27c36d\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:58:28.0766666Z\",\n \"endTime\": - \"2021-10-19T06:59:26.746751Z\"\n }" + string: "{\n \"name\": \"605b2346-ab0d-044f-9e1b-e37d56052773\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.3733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46235b60-0dab-4f04-9e1b-e37d56052773?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"605b2346-ab0d-044f-9e1b-e37d56052773\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.3733333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46235b60-0dab-4f04-9e1b-e37d56052773?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"605b2346-ab0d-044f-9e1b-e37d56052773\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.3733333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46235b60-0dab-4f04-9e1b-e37d56052773?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"605b2346-ab0d-044f-9e1b-e37d56052773\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:13:51.3733333Z\",\n \"endTime\": + \"2022-02-11T07:16:14.9819414Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:27 GMT + - Fri, 11 Feb 2022 07:16:21 GMT expires: - '-1' pragma: @@ -811,31 +1116,32 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6rqg2s54j-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6rqg2s54j-8ecadf-3793c27d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestb4k7nwkgs-8ecadf\",\n \"fqdn\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestb4k7nwkgs-8ecadf-2a360242.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -846,26 +1152,29 @@ interactions: \ \"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/8b5b8ee7-d708-41de-a537-940d3ab4b3ab\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/424b74ff-a8b7-4725-845d-77dfeddfd469\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:27 GMT + - Fri, 11 Feb 2022 07:16:21 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_azurekeyvaultsecretsprovider.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_azurekeyvaultsecretsprovider.yaml old mode 100755 new mode 100644 index 1dc168ab072..41b1f35084a --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_azurekeyvaultsecretsprovider.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_azurekeyvaultsecretsprovider.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:53:47Z"},"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":"2022-02-11T07:09:13Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:53:47 GMT + - Fri, 11 Feb 2022 07:09:14 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesth7jkk7oag-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest7m5ou3kyr-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/b85bbfe2-f108-4473-9d65-f919c5b85f5a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:50 GMT + - Fri, 11 Feb 2022 07:09:18 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -149,23 +153,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b85bbfe2-f108-4473-9d65-f919c5b85f5a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2bf5bb8-08f1-7344-9d65-f919c5b85f5a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:51.13Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:20 GMT + - Fri, 11 Feb 2022 07:09:48 GMT expires: - '-1' pragma: @@ -197,23 +201,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b85bbfe2-f108-4473-9d65-f919c5b85f5a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2bf5bb8-08f1-7344-9d65-f919c5b85f5a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:51.13Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:51 GMT + - Fri, 11 Feb 2022 07:10:18 GMT expires: - '-1' pragma: @@ -245,23 +249,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b85bbfe2-f108-4473-9d65-f919c5b85f5a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2bf5bb8-08f1-7344-9d65-f919c5b85f5a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:51.13Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:21 GMT + - Fri, 11 Feb 2022 07:10:48 GMT expires: - '-1' pragma: @@ -293,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b85bbfe2-f108-4473-9d65-f919c5b85f5a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2bf5bb8-08f1-7344-9d65-f919c5b85f5a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:51.13Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:50 GMT + - Fri, 11 Feb 2022 07:11:18 GMT expires: - '-1' pragma: @@ -341,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b85bbfe2-f108-4473-9d65-f919c5b85f5a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2bf5bb8-08f1-7344-9d65-f919c5b85f5a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:51.13Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:21 GMT + - Fri, 11 Feb 2022 07:11:49 GMT expires: - '-1' pragma: @@ -389,24 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b85bbfe2-f108-4473-9d65-f919c5b85f5a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2bf5bb8-08f1-7344-9d65-f919c5b85f5a\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:53:51.13Z\",\n \"endTime\": - \"2021-10-19T06:56:34.5961743Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:51 GMT + - Fri, 11 Feb 2022 07:12:19 GMT expires: - '-1' pragma: @@ -438,249 +441,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\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 \"publicNetworkAccess\": - \"Enabled\"\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: - - '3441' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 06:56: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 addon enable - Connection: - - keep-alive - ParameterSetName: - - --addon --resource-group --name -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\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 \"publicNetworkAccess\": - \"Enabled\"\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: - - '3441' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 06:56: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitesth7jkk7oag-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572"}]}}, - "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks addon enable - Connection: - - keep-alive - Content-Length: - - '2378' - Content-Type: - - application/json - ParameterSetName: - - --addon --resource-group --name -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?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\": - \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\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 \"publicNetworkAccess\": - \"Enabled\"\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\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b92d125-3733-417f-8e24-f83415cc4db8?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3595' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:54 GMT + - Fri, 11 Feb 2022 07:12:49 GMT expires: - '-1' pragma: @@ -695,8 +472,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1196' status: code: 200 message: OK @@ -708,29 +483,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon enable + - aks create Connection: - keep-alive ParameterSetName: - - --addon --resource-group --name -o + - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b92d125-3733-417f-8e24-f83415cc4db8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"25d1920b-3337-7f41-8e24-f83415cc4db8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:54.6Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:23 GMT + - Fri, 11 Feb 2022 07:13:19 GMT expires: - '-1' pragma: @@ -756,29 +531,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon enable + - aks create Connection: - keep-alive ParameterSetName: - - --addon --resource-group --name -o + - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b92d125-3733-417f-8e24-f83415cc4db8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"25d1920b-3337-7f41-8e24-f83415cc4db8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:54.6Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:54 GMT + - Fri, 11 Feb 2022 07:13:49 GMT expires: - '-1' pragma: @@ -804,30 +579,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon enable + - aks create Connection: - keep-alive ParameterSetName: - - --addon --resource-group --name -o + - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b92d125-3733-417f-8e24-f83415cc4db8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bc78dc6-69c6-4c26-8669-53f37bfcba1b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"25d1920b-3337-7f41-8e24-f83415cc4db8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:56:54.6Z\",\n \"endTime\": - \"2021-10-19T06:57:55.3588795Z\"\n }" + string: "{\n \"name\": \"c68dc76b-c669-264c-8669-53f37bfcba1b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:09:19.1566666Z\",\n \"endTime\": + \"2022-02-11T07:13:53.7756978Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:24 GMT + - Fri, 11 Feb 2022 07:14:19 GMT expires: - '-1' pragma: @@ -853,67 +628,67 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon enable + - aks create Connection: - keep-alive ParameterSetName: - - --addon --resource-group --name -o + - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\n + {\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/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3980' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:24 GMT + - Fri, 11 Feb 2022 07:14:19 GMT expires: - '-1' pragma: @@ -939,67 +714,67 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon disable + - aks addon enable Connection: - keep-alive ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\n + {\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/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3980' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:25 GMT + - Fri, 11 Feb 2022 07:14:20 GMT expires: - '-1' pragma: @@ -1019,95 +794,102 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitesth7jkk7oag-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest7m5ou3kyr-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": - {"enabled": false}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + {"enabled": true, "config": {"enableSecretRotation": "false", "rotationPollInterval": + "2m"}}}, "oidcIssuerProfile": {"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/e3d90699-e34e-4a61-858e-8ce44cb57572"}]}}, - "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/f8decaf5-72b7-4879-b5a8-ef562adf05ac"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks addon disable + - aks addon enable Connection: - keep-alive Content-Length: - - '2334' + - '2517' Content-Type: - application/json ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\",\n \"rotationPollInterval\": + \"2m\"\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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/8f87ebff-c3b7-457e-8d3e-ffd29e465210?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77cc9193-edd9-47d0-b79f-873c133b1d27?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3554' + - '3867' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:27 GMT + - Fri, 11 Feb 2022 07:14:22 GMT expires: - '-1' pragma: @@ -1123,7 +905,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 200 message: OK @@ -1135,20 +917,20 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon disable + - aks addon enable Connection: - keep-alive ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f87ebff-c3b7-457e-8d3e-ffd29e465210?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77cc9193-edd9-47d0-b79f-873c133b1d27?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffeb878f-b7c3-7e45-8d3e-ffd29e465210\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:58:27.78Z\"\n }" + string: "{\n \"name\": \"9391cc77-d9ed-d047-b79f-873c133b1d27\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:14:23.17Z\"\n }" headers: cache-control: - no-cache @@ -1157,7 +939,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:57 GMT + - Fri, 11 Feb 2022 07:14:52 GMT expires: - '-1' pragma: @@ -1183,20 +965,20 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon disable + - aks addon enable Connection: - keep-alive ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f87ebff-c3b7-457e-8d3e-ffd29e465210?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77cc9193-edd9-47d0-b79f-873c133b1d27?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffeb878f-b7c3-7e45-8d3e-ffd29e465210\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:58:27.78Z\"\n }" + string: "{\n \"name\": \"9391cc77-d9ed-d047-b79f-873c133b1d27\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:14:23.17Z\"\n }" headers: cache-control: - no-cache @@ -1205,7 +987,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:27 GMT + - Fri, 11 Feb 2022 07:15:22 GMT expires: - '-1' pragma: @@ -1231,30 +1013,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon disable + - aks addon enable Connection: - keep-alive ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f87ebff-c3b7-457e-8d3e-ffd29e465210?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77cc9193-edd9-47d0-b79f-873c133b1d27?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffeb878f-b7c3-7e45-8d3e-ffd29e465210\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:58:27.78Z\",\n \"endTime\": - \"2021-10-19T06:59:32.5172008Z\"\n }" + string: "{\n \"name\": \"9391cc77-d9ed-d047-b79f-873c133b1d27\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:14:23.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:57 GMT + - Fri, 11 Feb 2022 07:15:53 GMT expires: - '-1' pragma: @@ -1280,64 +1061,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks addon disable + - aks addon enable Connection: - keep-alive ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77cc9193-edd9-47d0-b79f-873c133b1d27?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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\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 \"publicNetworkAccess\": - \"Enabled\"\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\": \"9391cc77-d9ed-d047-b79f-873c133b1d27\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:14:23.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '3556' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:57 GMT + - Fri, 11 Feb 2022 07:16:23 GMT expires: - '-1' pragma: @@ -1359,7 +1105,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1367,33 +1113,707 @@ interactions: Connection: - keep-alive ParameterSetName: - - --addon --enable-secret-rotation --resource-group --name -o + - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77cc9193-edd9-47d0-b79f-873c133b1d27?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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.portal.hcp.westus2.azmk8s.io\",\n + string: "{\n \"name\": \"9391cc77-d9ed-d047-b79f-873c133b1d27\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:14:23.17Z\",\n \"endTime\": + \"2022-02-11T07:16:39.905463Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"2m\"\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/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4246' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:16: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 addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"2m\"\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/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4246' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:16: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest7m5ou3kyr-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": false}}, "oidcIssuerProfile": {"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/f8decaf5-72b7-4879-b5a8-ef562adf05ac"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + Content-Length: + - '2443' + Content-Type: + - application/json + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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/f5d83726-2c91-4a85-846d-208aa036b85b?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3790' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:16: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5d83726-2c91-4a85-846d-208aa036b85b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2637d8f5-912c-854a-846d-208aa036b85b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:57.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:17: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5d83726-2c91-4a85-846d-208aa036b85b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2637d8f5-912c-854a-846d-208aa036b85b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:57.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:17: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5d83726-2c91-4a85-846d-208aa036b85b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2637d8f5-912c-854a-846d-208aa036b85b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:57.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:18: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5d83726-2c91-4a85-846d-208aa036b85b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2637d8f5-912c-854a-846d-208aa036b85b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:57.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:18: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f5d83726-2c91-4a85-846d-208aa036b85b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2637d8f5-912c-854a-846d-208aa036b85b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:16:57.45Z\",\n \"endTime\": + \"2022-02-11T07:19:10.9811314Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:19: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon disable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3792' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:19: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --enable-secret-rotation --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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\": @@ -1401,26 +1821,29 @@ interactions: \ \"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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3556' + - '3792' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:58 GMT + - Fri, 11 Feb 2022 07:19:28 GMT expires: - '-1' pragma: @@ -1440,26 +1863,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitesth7jkk7oag-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest7m5ou3kyr-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {"enableSecretRotation": "true", "rotationPollInterval": + "2m"}}}, "oidcIssuerProfile": {"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/f8decaf5-72b7-4879-b5a8-ef562adf05ac"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1470,67 +1894,71 @@ interactions: Connection: - keep-alive Content-Length: - - '2377' + - '2516' Content-Type: - application/json ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\n + {\n \"enableSecretRotation\": \"true\",\n \"rotationPollInterval\": + \"2m\"\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/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/9773cc27-dfd1-470b-82ec-33ef830fcd6f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5696d3fb-2a9a-4dc6-a55a-e5f92a3037e3?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3594' + - '3866' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:00 GMT + - Fri, 11 Feb 2022 07:19:30 GMT expires: - '-1' pragma: @@ -1546,7 +1974,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 200 message: OK @@ -1564,23 +1992,23 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9773cc27-dfd1-470b-82ec-33ef830fcd6f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5696d3fb-2a9a-4dc6-a55a-e5f92a3037e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"27cc7397-d1df-0b47-82ec-33ef830fcd6f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:00:01.01Z\"\n }" + string: "{\n \"name\": \"fbd39656-9a2a-c64d-a55a-e5f92a3037e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:30.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:31 GMT + - Fri, 11 Feb 2022 07:20:00 GMT expires: - '-1' pragma: @@ -1612,24 +2040,168 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9773cc27-dfd1-470b-82ec-33ef830fcd6f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5696d3fb-2a9a-4dc6-a55a-e5f92a3037e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"27cc7397-d1df-0b47-82ec-33ef830fcd6f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:00:01.01Z\",\n \"endTime\": - \"2021-10-19T07:00:58.970173Z\"\n }" + string: "{\n \"name\": \"fbd39656-9a2a-c64d-a55a-e5f92a3037e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:30.9766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:20:30 GMT + expires: + - '-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --enable-secret-rotation --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5696d3fb-2a9a-4dc6-a55a-e5f92a3037e3?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"fbd39656-9a2a-c64d-a55a-e5f92a3037e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:30.9766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --enable-secret-rotation --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5696d3fb-2a9a-4dc6-a55a-e5f92a3037e3?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"fbd39656-9a2a-c64d-a55a-e5f92a3037e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:30.9766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --enable-secret-rotation --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5696d3fb-2a9a-4dc6-a55a-e5f92a3037e3?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"fbd39656-9a2a-c64d-a55a-e5f92a3037e3\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:19:30.9766666Z\",\n \"endTime\": + \"2022-02-11T07:21:49.7709958Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:01 GMT + - Fri, 11 Feb 2022 07:22:00 GMT expires: - '-1' pragma: @@ -1661,61 +2233,65 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth7jkk7oag-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth7jkk7oag-8ecadf-77534e4b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7m5ou3kyr-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7m5ou3kyr-8ecadf-4ee32283.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 + {\n \"enableSecretRotation\": \"true\",\n \"rotationPollInterval\": + \"2m\"\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/e3d90699-e34e-4a61-858e-8ce44cb57572\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f8decaf5-72b7-4879-b5a8-ef562adf05ac\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3979' + - '4245' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:01 GMT + - Fri, 11 Feb 2022 07:22:01 GMT expires: - '-1' pragma: @@ -1749,26 +2325,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd22494c-a176-45b6-9923-03b526db2499?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5b95914b-89ae-4a54-92ce-00eb6b7d1b8b?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:01:02 GMT + - Fri, 11 Feb 2022 07:22:02 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/dd22494c-a176-45b6-9923-03b526db2499?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/5b95914b-89ae-4a54-92ce-00eb6b7d1b8b?api-version=2016-03-30 pragma: - no-cache server: @@ -1778,7 +2354,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14999' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_openservicemesh.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_openservicemesh.yaml old mode 100755 new mode 100644 index 76fe29ec1b5..e29ae510d22 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_openservicemesh.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_enable_with_openservicemesh.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:06:43Z"},"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":"2022-02-11T07:09:12Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:06:47 GMT + - Fri, 11 Feb 2022 07:09:13 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestdnwlp4zq2-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest226rdhhos-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdnwlp4zq2-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest226rdhhos-8ecadf\",\n \"fqdn\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/353d6454-f211-49f2-ad50-ba335973e2fc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:49 GMT + - Fri, 11 Feb 2022 07:09:18 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 201 message: Created @@ -149,23 +153,119 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"72fe0ab7-8dc3-c24b-a530-0d47dec8e1c5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"72fe0ab7-8dc3-c24b-a530-0d47dec8e1c5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:10: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/353d6454-f211-49f2-ad50-ba335973e2fc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54643d35-11f2-f249-ad50-ba335973e2fc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:49.93Z\"\n }" + string: "{\n \"name\": \"72fe0ab7-8dc3-c24b-a530-0d47dec8e1c5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:19 GMT + - Fri, 11 Feb 2022 07:10:47 GMT expires: - '-1' pragma: @@ -197,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/353d6454-f211-49f2-ad50-ba335973e2fc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54643d35-11f2-f249-ad50-ba335973e2fc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:49.93Z\"\n }" + string: "{\n \"name\": \"72fe0ab7-8dc3-c24b-a530-0d47dec8e1c5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:49 GMT + - Fri, 11 Feb 2022 07:11:18 GMT expires: - '-1' pragma: @@ -245,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/353d6454-f211-49f2-ad50-ba335973e2fc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54643d35-11f2-f249-ad50-ba335973e2fc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:49.93Z\"\n }" + string: "{\n \"name\": \"72fe0ab7-8dc3-c24b-a530-0d47dec8e1c5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:20 GMT + - Fri, 11 Feb 2022 07:11:48 GMT expires: - '-1' pragma: @@ -293,23 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/353d6454-f211-49f2-ad50-ba335973e2fc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54643d35-11f2-f249-ad50-ba335973e2fc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:49.93Z\"\n }" + string: "{\n \"name\": \"72fe0ab7-8dc3-c24b-a530-0d47dec8e1c5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:49 GMT + - Fri, 11 Feb 2022 07:12:18 GMT expires: - '-1' pragma: @@ -341,23 +441,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/353d6454-f211-49f2-ad50-ba335973e2fc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54643d35-11f2-f249-ad50-ba335973e2fc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:49.93Z\"\n }" + string: "{\n \"name\": \"72fe0ab7-8dc3-c24b-a530-0d47dec8e1c5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:19 GMT + - Fri, 11 Feb 2022 07:12:48 GMT expires: - '-1' pragma: @@ -389,24 +489,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/353d6454-f211-49f2-ad50-ba335973e2fc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b70afe72-c38d-4bc2-a530-0d47dec8e1c5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"54643d35-11f2-f249-ad50-ba335973e2fc\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:06:49.93Z\",\n \"endTime\": - \"2021-10-19T07:09:44.2991024Z\"\n }" + string: "{\n \"name\": \"72fe0ab7-8dc3-c24b-a530-0d47dec8e1c5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:09:18.0133333Z\",\n \"endTime\": + \"2022-02-11T07:13:11.7006077Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:50 GMT + - Fri, 11 Feb 2022 07:13:17 GMT expires: - '-1' pragma: @@ -438,57 +538,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdnwlp4zq2-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest226rdhhos-8ecadf\",\n \"fqdn\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6ea40d4b-d6bb-4cd3-a62a-4e285407c9a9\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/86111467-89f9-4047-bfab-78c230d9c22c\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:50 GMT + - Fri, 11 Feb 2022 07:13:18 GMT expires: - '-1' pragma: @@ -520,57 +624,61 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdnwlp4zq2-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest226rdhhos-8ecadf\",\n \"fqdn\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6ea40d4b-d6bb-4cd3-a62a-4e285407c9a9\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/86111467-89f9-4047-bfab-78c230d9c22c\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:51 GMT + - Fri, 11 Feb 2022 07:13:19 GMT expires: - '-1' pragma: @@ -590,25 +698,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestdnwlp4zq2-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest226rdhhos-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": - {"enabled": true, "config": {}}}, "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/6ea40d4b-d6bb-4cd3-a62a-4e285407c9a9"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {}}}, "oidcIssuerProfile": {"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/86111467-89f9-4047-bfab-78c230d9c22c"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -619,66 +729,70 @@ interactions: Connection: - keep-alive Content-Length: - - '2334' + - '2443' Content-Type: - application/json ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdnwlp4zq2-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest226rdhhos-8ecadf\",\n \"fqdn\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\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/6ea40d4b-d6bb-4cd3-a62a-4e285407c9a9\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/86111467-89f9-4047-bfab-78c230d9c22c\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3bb46795-c39f-4165-a7bb-fe0d95b4746e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0bed8da-bff2-4e3f-80f1-9b7fa6b0fc14?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3538' + - '3776' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:52 GMT + - Fri, 11 Feb 2022 07:13:21 GMT expires: - '-1' pragma: @@ -694,7 +808,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0bed8da-bff2-4e3f-80f1-9b7fa6b0fc14?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"dad8beb0-f2bf-3f4e-80f1-9b7fa6b0fc14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:22.1033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0bed8da-bff2-4e3f-80f1-9b7fa6b0fc14?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"dad8beb0-f2bf-3f4e-80f1-9b7fa6b0fc14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:22.1033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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 @@ -712,23 +922,23 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bb46795-c39f-4165-a7bb-fe0d95b4746e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0bed8da-bff2-4e3f-80f1-9b7fa6b0fc14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9567b43b-9fc3-6541-a7bb-fe0d95b4746e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:09:53.65Z\"\n }" + string: "{\n \"name\": \"dad8beb0-f2bf-3f4e-80f1-9b7fa6b0fc14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:22.1033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:23 GMT + - Fri, 11 Feb 2022 07:14:52 GMT expires: - '-1' pragma: @@ -760,23 +970,23 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bb46795-c39f-4165-a7bb-fe0d95b4746e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0bed8da-bff2-4e3f-80f1-9b7fa6b0fc14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9567b43b-9fc3-6541-a7bb-fe0d95b4746e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:09:53.65Z\"\n }" + string: "{\n \"name\": \"dad8beb0-f2bf-3f4e-80f1-9b7fa6b0fc14\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:22.1033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:53 GMT + - Fri, 11 Feb 2022 07:15:21 GMT expires: - '-1' pragma: @@ -808,24 +1018,24 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bb46795-c39f-4165-a7bb-fe0d95b4746e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0bed8da-bff2-4e3f-80f1-9b7fa6b0fc14?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9567b43b-9fc3-6541-a7bb-fe0d95b4746e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:09:53.65Z\",\n \"endTime\": - \"2021-10-19T07:11:04.6673481Z\"\n }" + string: "{\n \"name\": \"dad8beb0-f2bf-3f4e-80f1-9b7fa6b0fc14\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:13:22.1033333Z\",\n \"endTime\": + \"2022-02-11T07:15:40.8567837Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:11:23 GMT + - Fri, 11 Feb 2022 07:15:51 GMT expires: - '-1' pragma: @@ -857,60 +1067,64 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdnwlp4zq2-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdnwlp4zq2-8ecadf-91be4e49.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest226rdhhos-8ecadf\",\n \"fqdn\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest226rdhhos-8ecadf-38b10425.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/6ea40d4b-d6bb-4cd3-a62a-4e285407c9a9\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/86111467-89f9-4047-bfab-78c230d9c22c\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 07:11:23 GMT + - Fri, 11 Feb 2022 07:15:52 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_all_disabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_all_disabled.yaml old mode 100755 new mode 100644 index 756f643a22f..9eb50d63b94 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_all_disabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_all_disabled.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:47:06Z"},"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":"2022-02-11T07:09:12Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:47:06 GMT + - Fri, 11 Feb 2022 07:09:13 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesttkcvdjmlt-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestdycrt54sk-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesttkcvdjmlt-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesttkcvdjmlt-8ecadf-9236c813.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesttkcvdjmlt-8ecadf-9236c813.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestdycrt54sk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestdycrt54sk-8ecadf-301deea2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestdycrt54sk-8ecadf-301deea2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:10 GMT + - Fri, 11 Feb 2022 07:09:17 GMT expires: - '-1' pragma: @@ -149,23 +153,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a95b9f05-d021-ed40-ba50-21d6df4f2565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:47:10.35Z\"\n }" + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:39 GMT + - Fri, 11 Feb 2022 07:09:47 GMT expires: - '-1' pragma: @@ -197,23 +201,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a95b9f05-d021-ed40-ba50-21d6df4f2565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:47:10.35Z\"\n }" + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:10 GMT + - Fri, 11 Feb 2022 07:10:17 GMT expires: - '-1' pragma: @@ -245,23 +249,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a95b9f05-d021-ed40-ba50-21d6df4f2565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:47:10.35Z\"\n }" + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:40 GMT + - Fri, 11 Feb 2022 07:10:48 GMT expires: - '-1' pragma: @@ -293,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a95b9f05-d021-ed40-ba50-21d6df4f2565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:47:10.35Z\"\n }" + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:10 GMT + - Fri, 11 Feb 2022 07:11:18 GMT expires: - '-1' pragma: @@ -341,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a95b9f05-d021-ed40-ba50-21d6df4f2565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:47:10.35Z\"\n }" + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:40 GMT + - Fri, 11 Feb 2022 07:11:48 GMT expires: - '-1' pragma: @@ -389,23 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a95b9f05-d021-ed40-ba50-21d6df4f2565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:47:10.35Z\"\n }" + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:10 GMT + - Fri, 11 Feb 2022 07:12:17 GMT expires: - '-1' pragma: @@ -437,23 +441,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a95b9f05-d021-ed40-ba50-21d6df4f2565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:47:10.35Z\"\n }" + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:40 GMT + - Fri, 11 Feb 2022 07:12:48 GMT expires: - '-1' pragma: @@ -485,24 +489,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059f5ba9-21d0-40ed-ba50-21d6df4f2565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a95b9f05-d021-ed40-ba50-21d6df4f2565\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:47:10.35Z\",\n \"endTime\": - \"2021-10-19T06:50:42.0807162Z\"\n }" + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:10 GMT + - Fri, 11 Feb 2022 07:13:18 GMT expires: - '-1' pragma: @@ -534,57 +537,110 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e76e6897-b0d9-409d-aedc-0a20ebf0992a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"97686ee7-d9b0-9d40-aedc-0a20ebf0992a\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:09:18.0433333Z\",\n \"endTime\": + \"2022-02-11T07:13:20.6123956Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesttkcvdjmlt-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesttkcvdjmlt-8ecadf-9236c813.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesttkcvdjmlt-8ecadf-9236c813.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestdycrt54sk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestdycrt54sk-8ecadf-301deea2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestdycrt54sk-8ecadf-301deea2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/c89941c2-78a3-4bdb-be4b-90a82f1fa94e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/291d40e2-f475-4d38-91a6-eb84688edb74\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:10 GMT + - Fri, 11 Feb 2022 07:13:48 GMT expires: - '-1' pragma: @@ -616,57 +672,61 @@ interactions: ParameterSetName: - --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesttkcvdjmlt-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesttkcvdjmlt-8ecadf-9236c813.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesttkcvdjmlt-8ecadf-9236c813.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestdycrt54sk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestdycrt54sk-8ecadf-301deea2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestdycrt54sk-8ecadf-301deea2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/c89941c2-78a3-4bdb-be4b-90a82f1fa94e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/291d40e2-f475-4d38-91a6-eb84688edb74\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:11 GMT + - Fri, 11 Feb 2022 07:13:50 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_confcom_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_confcom_enabled.yaml old mode 100755 new mode 100644 index 12595543493..91398045eb1 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_confcom_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_confcom_enabled.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:14:09Z"},"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":"2022-02-11T07:09:13Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:14:10 GMT + - Fri, 11 Feb 2022 07:09:13 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest5yekqubl4-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestafcdaeizw-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "false"}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": @@ -66,37 +67,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1479' + - '1507' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest5yekqubl4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest5yekqubl4-8ecadf-38c333f0.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest5yekqubl4-8ecadf-38c333f0.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestafcdaeizw-8ecadf\",\n \"fqdn\": \"cliakstest-clitestafcdaeizw-8ecadf-d4d2999e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestafcdaeizw-8ecadf-d4d2999e.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -107,22 +109,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2928' + - '3174' content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:13 GMT + - Fri, 11 Feb 2022 07:09:18 GMT expires: - '-1' pragma: @@ -134,7 +138,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 201 message: Created @@ -152,14 +156,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\"\n }" headers: cache-control: - no-cache @@ -168,7 +172,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:43 GMT + - Fri, 11 Feb 2022 07:09:48 GMT expires: - '-1' pragma: @@ -200,14 +204,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\"\n }" headers: cache-control: - no-cache @@ -216,7 +220,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:14 GMT + - Fri, 11 Feb 2022 07:10:18 GMT expires: - '-1' pragma: @@ -248,14 +252,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\"\n }" headers: cache-control: - no-cache @@ -264,7 +268,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:43 GMT + - Fri, 11 Feb 2022 07:10:48 GMT expires: - '-1' pragma: @@ -296,14 +300,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\"\n }" headers: cache-control: - no-cache @@ -312,7 +316,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:13 GMT + - Fri, 11 Feb 2022 07:11:19 GMT expires: - '-1' pragma: @@ -344,14 +348,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\"\n }" headers: cache-control: - no-cache @@ -360,7 +364,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:44 GMT + - Fri, 11 Feb 2022 07:11:49 GMT expires: - '-1' pragma: @@ -392,14 +396,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\"\n }" headers: cache-control: - no-cache @@ -408,7 +412,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:14 GMT + - Fri, 11 Feb 2022 07:12:19 GMT expires: - '-1' pragma: @@ -440,14 +444,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\"\n }" headers: cache-control: - no-cache @@ -456,7 +460,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:43 GMT + - Fri, 11 Feb 2022 07:12:49 GMT expires: - '-1' pragma: @@ -488,14 +492,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\"\n }" headers: cache-control: - no-cache @@ -504,7 +508,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:14 GMT + - Fri, 11 Feb 2022 07:13:18 GMT expires: - '-1' pragma: @@ -536,15 +540,15 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b54e015d-0c86-4c74-bbc4-015988fdc725?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d469a453-4026-4b60-8011-138ae26a0a4f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5d014eb5-860c-744c-bbc4-015988fdc725\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:14:13.97Z\",\n \"endTime\": - \"2021-10-19T07:18:35.3252539Z\"\n }" + string: "{\n \"name\": \"53a469d4-2640-604b-8011-138ae26a0a4f\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:09:18.66Z\",\n \"endTime\": + \"2022-02-11T07:13:26.0833141Z\"\n }" headers: cache-control: - no-cache @@ -553,7 +557,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:44 GMT + - Fri, 11 Feb 2022 07:13:48 GMT expires: - '-1' pragma: @@ -585,31 +589,32 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest5yekqubl4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest5yekqubl4-8ecadf-38c333f0.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest5yekqubl4-8ecadf-38c333f0.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestafcdaeizw-8ecadf\",\n \"fqdn\": \"cliakstest-clitestafcdaeizw-8ecadf-d4d2999e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestafcdaeizw-8ecadf-d4d2999e.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -620,26 +625,29 @@ interactions: \ \"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/6648ed87-222d-44dc-ac63-0c71e07c2ca7\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/b0258ff9-c990-4826-9819-9379e713103e\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:44 GMT + - Fri, 11 Feb 2022 07:13:49 GMT expires: - '-1' pragma: @@ -671,31 +679,32 @@ interactions: ParameterSetName: - --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest5yekqubl4-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest5yekqubl4-8ecadf-38c333f0.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest5yekqubl4-8ecadf-38c333f0.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestafcdaeizw-8ecadf\",\n \"fqdn\": \"cliakstest-clitestafcdaeizw-8ecadf-d4d2999e.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestafcdaeizw-8ecadf-d4d2999e.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -706,26 +715,29 @@ interactions: \ \"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/6648ed87-222d-44dc-ac63-0c71e07c2ca7\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/b0258ff9-c990-4826-9819-9379e713103e\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:45 GMT + - Fri, 11 Feb 2022 07:13:49 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_openservicemesh_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_openservicemesh_enabled.yaml old mode 100755 new mode 100644 index d2a80b3e61b..618a94b2137 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_openservicemesh_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_list_openservicemesh_enabled.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:06:11Z"},"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":"2022-02-11T07:17:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:06:12 GMT + - Fri, 11 Feb 2022 07:17:24 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestxswsxgzpj-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestc577t3625-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": true, "config": {}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", @@ -66,62 +67,65 @@ interactions: Connection: - keep-alive Content-Length: - - '1441' + - '1469' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxswsxgzpj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxswsxgzpj-8ecadf-2f0ef80a.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxswsxgzpj-8ecadf-2f0ef80a.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestc577t3625-8ecadf\",\n \"fqdn\": \"cliakstest-clitestc577t3625-8ecadf-7bce66e3.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestc577t3625-8ecadf-7bce66e3.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\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\": - 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/fd4df9f7-a902-4f40-a821-62be88429e56?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2877' + - '3125' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:15 GMT + - Fri, 11 Feb 2022 07:17:27 GMT expires: - '-1' pragma: @@ -133,7 +137,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1198' status: code: 201 message: Created @@ -151,14 +155,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4df9f7-a902-4f40-a821-62be88429e56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f7f94dfd-02a9-404f-a821-62be88429e56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:15.2733333Z\"\n }" + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\"\n }" headers: cache-control: - no-cache @@ -167,7 +171,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:45 GMT + - Fri, 11 Feb 2022 07:17:57 GMT expires: - '-1' pragma: @@ -199,14 +203,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4df9f7-a902-4f40-a821-62be88429e56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f7f94dfd-02a9-404f-a821-62be88429e56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:15.2733333Z\"\n }" + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\"\n }" headers: cache-control: - no-cache @@ -215,7 +219,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:14 GMT + - Fri, 11 Feb 2022 07:18:27 GMT expires: - '-1' pragma: @@ -247,14 +251,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4df9f7-a902-4f40-a821-62be88429e56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f7f94dfd-02a9-404f-a821-62be88429e56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:15.2733333Z\"\n }" + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\"\n }" headers: cache-control: - no-cache @@ -263,7 +267,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:45 GMT + - Fri, 11 Feb 2022 07:18:57 GMT expires: - '-1' pragma: @@ -295,14 +299,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4df9f7-a902-4f40-a821-62be88429e56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f7f94dfd-02a9-404f-a821-62be88429e56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:15.2733333Z\"\n }" + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\"\n }" headers: cache-control: - no-cache @@ -311,7 +315,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:15 GMT + - Fri, 11 Feb 2022 07:19:27 GMT expires: - '-1' pragma: @@ -343,14 +347,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4df9f7-a902-4f40-a821-62be88429e56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f7f94dfd-02a9-404f-a821-62be88429e56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:15.2733333Z\"\n }" + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\"\n }" headers: cache-control: - no-cache @@ -359,7 +363,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:45 GMT + - Fri, 11 Feb 2022 07:19:57 GMT expires: - '-1' pragma: @@ -391,24 +395,119 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4df9f7-a902-4f40-a821-62be88429e56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f7f94dfd-02a9-404f-a821-62be88429e56\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:06:15.2733333Z\",\n \"endTime\": - \"2021-10-19T07:08:56.682154Z\"\n }" + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:15 GMT + - Fri, 11 Feb 2022 07:21:28 GMT expires: - '-1' pragma: @@ -440,60 +539,113 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5c2a8e1-3e2f-4000-9a9a-dec6905156ba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e1a8c2b5-2f3e-0040-9a9a-dec6905156ba\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:17:27.7166666Z\",\n \"endTime\": + \"2022-02-11T07:21:34.5975125Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxswsxgzpj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxswsxgzpj-8ecadf-2f0ef80a.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxswsxgzpj-8ecadf-2f0ef80a.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestc577t3625-8ecadf\",\n \"fqdn\": \"cliakstest-clitestc577t3625-8ecadf-7bce66e3.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestc577t3625-8ecadf-7bce66e3.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/0caa5ea9-e678-41a9-a285-6f573ce0b8aa\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/994b7ff3-a22f-46fb-b61c-e29117ed2554\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:16 GMT + - Fri, 11 Feb 2022 07:21:58 GMT expires: - '-1' pragma: @@ -525,60 +677,64 @@ interactions: ParameterSetName: - --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxswsxgzpj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxswsxgzpj-8ecadf-2f0ef80a.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxswsxgzpj-8ecadf-2f0ef80a.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestc577t3625-8ecadf\",\n \"fqdn\": \"cliakstest-clitestc577t3625-8ecadf-7bce66e3.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestc577t3625-8ecadf-7bce66e3.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/0caa5ea9-e678-41a9-a285-6f573ce0b8aa\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/994b7ff3-a22f-46fb-b61c-e29117ed2554\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:16 GMT + - Fri, 11 Feb 2022 07:21:59 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_all_disabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_all_disabled.yaml old mode 100755 new mode 100644 index 3ee0ad2b044..3f1c9f6c1e8 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_all_disabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_all_disabled.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:36:14Z"},"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":"2022-02-11T07:16:23Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:36:14 GMT + - Fri, 11 Feb 2022 07:16:23 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestifhc4h6sm-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest35jlbcxjg-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestifhc4h6sm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestifhc4h6sm-8ecadf-5516667b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestifhc4h6sm-8ecadf-5516667b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest35jlbcxjg-8ecadf\",\n \"fqdn\": \"cliakstest-clitest35jlbcxjg-8ecadf-634178a0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest35jlbcxjg-8ecadf-634178a0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/e3295820-17e0-4f0e-bf83-2151cbd424bd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:18 GMT + - Fri, 11 Feb 2022 07:16:26 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -149,23 +153,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e3295820-17e0-4f0e-bf83-2151cbd424bd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"205829e3-e017-0e4f-bf83-2151cbd424bd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:18.6466666Z\"\n }" + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:48 GMT + - Fri, 11 Feb 2022 07:16:56 GMT expires: - '-1' pragma: @@ -197,23 +201,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e3295820-17e0-4f0e-bf83-2151cbd424bd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"205829e3-e017-0e4f-bf83-2151cbd424bd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:18.6466666Z\"\n }" + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:18 GMT + - Fri, 11 Feb 2022 07:17:26 GMT expires: - '-1' pragma: @@ -245,23 +249,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e3295820-17e0-4f0e-bf83-2151cbd424bd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"205829e3-e017-0e4f-bf83-2151cbd424bd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:18.6466666Z\"\n }" + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:48 GMT + - Fri, 11 Feb 2022 07:17:56 GMT expires: - '-1' pragma: @@ -293,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e3295820-17e0-4f0e-bf83-2151cbd424bd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"205829e3-e017-0e4f-bf83-2151cbd424bd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:18.6466666Z\"\n }" + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:18 GMT + - Fri, 11 Feb 2022 07:18:26 GMT expires: - '-1' pragma: @@ -341,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e3295820-17e0-4f0e-bf83-2151cbd424bd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"205829e3-e017-0e4f-bf83-2151cbd424bd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:18.6466666Z\"\n }" + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:49 GMT + - Fri, 11 Feb 2022 07:18:56 GMT expires: - '-1' pragma: @@ -389,24 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e3295820-17e0-4f0e-bf83-2151cbd424bd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"205829e3-e017-0e4f-bf83-2151cbd424bd\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:36:18.6466666Z\",\n \"endTime\": - \"2021-10-19T06:39:16.2167304Z\"\n }" + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:18 GMT + - Fri, 11 Feb 2022 07:19:26 GMT expires: - '-1' pragma: @@ -438,57 +441,206 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:19: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d40bcb90-bdda-4453-99e0-6e8bee61aaba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"90cb0bd4-dabd-5344-99e0-6e8bee61aaba\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:16:26.64Z\",\n \"endTime\": + \"2022-02-11T07:20:32.4175089Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestifhc4h6sm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestifhc4h6sm-8ecadf-5516667b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestifhc4h6sm-8ecadf-5516667b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest35jlbcxjg-8ecadf\",\n \"fqdn\": \"cliakstest-clitest35jlbcxjg-8ecadf-634178a0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest35jlbcxjg-8ecadf-634178a0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/8867a6f4-6863-46c6-98ce-8f9a244b676e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/07cdbbcc-bd9f-4077-8fdc-5e22803f4519\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:19 GMT + - Fri, 11 Feb 2022 07:20:57 GMT expires: - '-1' pragma: @@ -520,57 +672,61 @@ interactions: ParameterSetName: - --resource-group --name -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestifhc4h6sm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestifhc4h6sm-8ecadf-5516667b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestifhc4h6sm-8ecadf-5516667b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest35jlbcxjg-8ecadf\",\n \"fqdn\": \"cliakstest-clitest35jlbcxjg-8ecadf-634178a0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest35jlbcxjg-8ecadf-634178a0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/8867a6f4-6863-46c6-98ce-8f9a244b676e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/07cdbbcc-bd9f-4077-8fdc-5e22803f4519\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:19 GMT + - Fri, 11 Feb 2022 07:20:58 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_confcom_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_confcom_enabled.yaml old mode 100755 new mode 100644 index c11aa3d8cbc..b8ad5ebf7ca --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_confcom_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_confcom_enabled.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:13:38Z"},"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":"2022-02-11T07:16:23Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:13:39 GMT + - Fri, 11 Feb 2022 07:16:23 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestjdsuiblph-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestlsyi47vqz-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "false"}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": @@ -66,37 +67,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1479' + - '1507' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestjdsuiblph-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestjdsuiblph-8ecadf-4c19f160.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestjdsuiblph-8ecadf-4c19f160.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestlsyi47vqz-8ecadf\",\n \"fqdn\": \"cliakstest-clitestlsyi47vqz-8ecadf-ebaa6e1d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestlsyi47vqz-8ecadf-ebaa6e1d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -107,22 +109,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/34307bac-2ba2-4473-99b2-d68e9804e187?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2928' + - '3174' content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:41 GMT + - Fri, 11 Feb 2022 07:16:26 GMT expires: - '-1' pragma: @@ -134,7 +138,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 201 message: Created @@ -152,23 +156,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34307bac-2ba2-4473-99b2-d68e9804e187?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ac7b3034-a22b-7344-99b2-d68e9804e187\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:41.94Z\"\n }" + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:11 GMT + - Fri, 11 Feb 2022 07:16:56 GMT expires: - '-1' pragma: @@ -200,23 +204,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34307bac-2ba2-4473-99b2-d68e9804e187?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ac7b3034-a22b-7344-99b2-d68e9804e187\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:41.94Z\"\n }" + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:41 GMT + - Fri, 11 Feb 2022 07:17:26 GMT expires: - '-1' pragma: @@ -248,23 +252,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34307bac-2ba2-4473-99b2-d68e9804e187?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ac7b3034-a22b-7344-99b2-d68e9804e187\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:41.94Z\"\n }" + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:12 GMT + - Fri, 11 Feb 2022 07:17:56 GMT expires: - '-1' pragma: @@ -296,23 +300,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34307bac-2ba2-4473-99b2-d68e9804e187?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ac7b3034-a22b-7344-99b2-d68e9804e187\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:41.94Z\"\n }" + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:41 GMT + - Fri, 11 Feb 2022 07:18:26 GMT expires: - '-1' pragma: @@ -344,23 +348,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34307bac-2ba2-4473-99b2-d68e9804e187?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ac7b3034-a22b-7344-99b2-d68e9804e187\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:41.94Z\"\n }" + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:11 GMT + - Fri, 11 Feb 2022 07:18:56 GMT expires: - '-1' pragma: @@ -392,23 +396,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34307bac-2ba2-4473-99b2-d68e9804e187?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ac7b3034-a22b-7344-99b2-d68e9804e187\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:41.94Z\"\n }" + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:42 GMT + - Fri, 11 Feb 2022 07:19:27 GMT expires: - '-1' pragma: @@ -440,24 +444,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34307bac-2ba2-4473-99b2-d68e9804e187?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ac7b3034-a22b-7344-99b2-d68e9804e187\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:13:41.94Z\",\n \"endTime\": - \"2021-10-19T07:16:56.0236316Z\"\n }" + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:12 GMT + - Fri, 11 Feb 2022 07:19:57 GMT expires: - '-1' pragma: @@ -489,31 +492,129 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f8fdd97-713f-4e06-87c6-8c1c77a636b5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"97dd8f2f-3f71-064e-87c6-8c1c77a636b5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:16:26.6033333Z\",\n \"endTime\": + \"2022-02-11T07:20:35.9012489Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestjdsuiblph-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestjdsuiblph-8ecadf-4c19f160.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestjdsuiblph-8ecadf-4c19f160.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestlsyi47vqz-8ecadf\",\n \"fqdn\": \"cliakstest-clitestlsyi47vqz-8ecadf-ebaa6e1d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestlsyi47vqz-8ecadf-ebaa6e1d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -524,26 +625,29 @@ interactions: \ \"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/4f16443c-4434-49a4-9b9f-1542132fe411\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/21853ff6-48dd-474d-a904-204b1e92a27a\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:12 GMT + - Fri, 11 Feb 2022 07:20:57 GMT expires: - '-1' pragma: @@ -575,31 +679,32 @@ interactions: ParameterSetName: - --resource-group --name -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestjdsuiblph-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestjdsuiblph-8ecadf-4c19f160.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestjdsuiblph-8ecadf-4c19f160.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestlsyi47vqz-8ecadf\",\n \"fqdn\": \"cliakstest-clitestlsyi47vqz-8ecadf-ebaa6e1d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestlsyi47vqz-8ecadf-ebaa6e1d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -610,26 +715,29 @@ interactions: \ \"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/4f16443c-4434-49a4-9b9f-1542132fe411\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/21853ff6-48dd-474d-a904-204b1e92a27a\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:13 GMT + - Fri, 11 Feb 2022 07:20:57 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_openservicemesh_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_openservicemesh_enabled.yaml old mode 100755 new mode 100644 index 9a2569631fe..6b0c8141111 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_openservicemesh_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_show_openservicemesh_enabled.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:03:07Z"},"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":"2022-02-11T07:22:03Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:03:07 GMT + - Fri, 11 Feb 2022 07:22:03 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesta345uxfmd-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestwcdwmva6r-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": true, "config": {}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", @@ -66,62 +67,65 @@ interactions: Connection: - keep-alive Content-Length: - - '1441' + - '1469' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesta345uxfmd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesta345uxfmd-8ecadf-01d26e30.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesta345uxfmd-8ecadf-01d26e30.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestwcdwmva6r-8ecadf\",\n \"fqdn\": \"cliakstest-clitestwcdwmva6r-8ecadf-83095b96.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestwcdwmva6r-8ecadf-83095b96.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\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\": - 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/340c61c6-7281-4deb-99ef-d7edf9186dc1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2877' + - '3125' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:10 GMT + - Fri, 11 Feb 2022 07:22:07 GMT expires: - '-1' pragma: @@ -133,7 +137,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 201 message: Created @@ -151,14 +155,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/340c61c6-7281-4deb-99ef-d7edf9186dc1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6610c34-8172-eb4d-99ef-d7edf9186dc1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:11.35Z\"\n }" + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\"\n }" headers: cache-control: - no-cache @@ -167,7 +171,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:41 GMT + - Fri, 11 Feb 2022 07:22:37 GMT expires: - '-1' pragma: @@ -199,14 +203,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/340c61c6-7281-4deb-99ef-d7edf9186dc1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6610c34-8172-eb4d-99ef-d7edf9186dc1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:11.35Z\"\n }" + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\"\n }" headers: cache-control: - no-cache @@ -215,7 +219,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:11 GMT + - Fri, 11 Feb 2022 07:23:08 GMT expires: - '-1' pragma: @@ -247,14 +251,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/340c61c6-7281-4deb-99ef-d7edf9186dc1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6610c34-8172-eb4d-99ef-d7edf9186dc1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:11.35Z\"\n }" + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\"\n }" headers: cache-control: - no-cache @@ -263,7 +267,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:41 GMT + - Fri, 11 Feb 2022 07:23:37 GMT expires: - '-1' pragma: @@ -295,14 +299,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/340c61c6-7281-4deb-99ef-d7edf9186dc1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6610c34-8172-eb4d-99ef-d7edf9186dc1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:11.35Z\"\n }" + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\"\n }" headers: cache-control: - no-cache @@ -311,7 +315,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:10 GMT + - Fri, 11 Feb 2022 07:24:07 GMT expires: - '-1' pragma: @@ -343,14 +347,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/340c61c6-7281-4deb-99ef-d7edf9186dc1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6610c34-8172-eb4d-99ef-d7edf9186dc1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:11.35Z\"\n }" + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\"\n }" headers: cache-control: - no-cache @@ -359,7 +363,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:41 GMT + - Fri, 11 Feb 2022 07:24:37 GMT expires: - '-1' pragma: @@ -391,24 +395,119 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/340c61c6-7281-4deb-99ef-d7edf9186dc1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6610c34-8172-eb4d-99ef-d7edf9186dc1\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:03:11.35Z\",\n \"endTime\": - \"2021-10-19T07:05:49.884355Z\"\n }" + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:25:07 GMT + expires: + - '-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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 +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:11 GMT + - Fri, 11 Feb 2022 07:26:08 GMT expires: - '-1' pragma: @@ -440,60 +539,113 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa671684-16ae-4426-b6b5-2ab4bd9857cf?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"841667fa-ae16-2644-b6b5-2ab4bd9857cf\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:22:07.54Z\",\n \"endTime\": + \"2022-02-11T07:26:34.1646425Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:26: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -a -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesta345uxfmd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesta345uxfmd-8ecadf-01d26e30.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesta345uxfmd-8ecadf-01d26e30.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestwcdwmva6r-8ecadf\",\n \"fqdn\": \"cliakstest-clitestwcdwmva6r-8ecadf-83095b96.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestwcdwmva6r-8ecadf-83095b96.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/2d79aec5-15ef-41ee-b48f-282f2759f99f\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/1279aa03-fdec-4a9b-83ad-3f958b27a5f8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:11 GMT + - Fri, 11 Feb 2022 07:26:38 GMT expires: - '-1' pragma: @@ -525,60 +677,64 @@ interactions: ParameterSetName: - --resource-group --name -a -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesta345uxfmd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesta345uxfmd-8ecadf-01d26e30.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesta345uxfmd-8ecadf-01d26e30.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestwcdwmva6r-8ecadf\",\n \"fqdn\": \"cliakstest-clitestwcdwmva6r-8ecadf-83095b96.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestwcdwmva6r-8ecadf-83095b96.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/2d79aec5-15ef-41ee-b48f-282f2759f99f\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/1279aa03-fdec-4a9b-83ad-3f958b27a5f8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:12 GMT + - Fri, 11 Feb 2022 07:26:39 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_all_disabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_all_disabled.yaml old mode 100755 new mode 100644 index 3609a50308e..1399dbbd78c --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_all_disabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_all_disabled.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:39:48Z"},"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":"2022-02-11T07:15:53Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:39:48 GMT + - Fri, 11 Feb 2022 07:15:53 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestiftafgj22-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest2izmf3xhi-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiftafgj22-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiftafgj22-8ecadf-ec66279b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiftafgj22-8ecadf-ec66279b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2izmf3xhi-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2izmf3xhi-8ecadf-53de0550.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2izmf3xhi-8ecadf-53de0550.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/cc14552a-9de1-4356-bc48-3f7842e4770a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:51 GMT + - Fri, 11 Feb 2022 07:15:57 GMT expires: - '-1' pragma: @@ -149,14 +153,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc14552a-9de1-4356-bc48-3f7842e4770a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2a5514cc-e19d-5643-bc48-3f7842e4770a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3133333Z\"\n }" + string: "{\n \"name\": \"1498eba1-ec27-8f45-b91a-d9353c8322e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:15:58.2833333Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +169,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:21 GMT + - Fri, 11 Feb 2022 07:16:28 GMT expires: - '-1' pragma: @@ -197,14 +201,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc14552a-9de1-4356-bc48-3f7842e4770a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2a5514cc-e19d-5643-bc48-3f7842e4770a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3133333Z\"\n }" + string: "{\n \"name\": \"1498eba1-ec27-8f45-b91a-d9353c8322e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:15:58.2833333Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +217,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:52 GMT + - Fri, 11 Feb 2022 07:16:58 GMT expires: - '-1' pragma: @@ -245,14 +249,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc14552a-9de1-4356-bc48-3f7842e4770a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2a5514cc-e19d-5643-bc48-3f7842e4770a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3133333Z\"\n }" + string: "{\n \"name\": \"1498eba1-ec27-8f45-b91a-d9353c8322e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:15:58.2833333Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +265,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:22 GMT + - Fri, 11 Feb 2022 07:17:28 GMT expires: - '-1' pragma: @@ -293,14 +297,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc14552a-9de1-4356-bc48-3f7842e4770a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2a5514cc-e19d-5643-bc48-3f7842e4770a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3133333Z\"\n }" + string: "{\n \"name\": \"1498eba1-ec27-8f45-b91a-d9353c8322e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:15:58.2833333Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +313,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:52 GMT + - Fri, 11 Feb 2022 07:17:58 GMT expires: - '-1' pragma: @@ -341,14 +345,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc14552a-9de1-4356-bc48-3f7842e4770a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2a5514cc-e19d-5643-bc48-3f7842e4770a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3133333Z\"\n }" + string: "{\n \"name\": \"1498eba1-ec27-8f45-b91a-d9353c8322e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:15:58.2833333Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:22 GMT + - Fri, 11 Feb 2022 07:18:28 GMT expires: - '-1' pragma: @@ -389,15 +393,111 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc14552a-9de1-4356-bc48-3f7842e4770a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2a5514cc-e19d-5643-bc48-3f7842e4770a\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:39:52.3133333Z\",\n \"endTime\": - \"2021-10-19T06:42:36.0017374Z\"\n }" + string: "{\n \"name\": \"1498eba1-ec27-8f45-b91a-d9353c8322e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:15:58.2833333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:18: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1498eba1-ec27-8f45-b91a-d9353c8322e4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:15:58.2833333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:19: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1eb9814-27ec-458f-b91a-d9353c8322e4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1498eba1-ec27-8f45-b91a-d9353c8322e4\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:15:58.2833333Z\",\n \"endTime\": + \"2022-02-11T07:19:58.9851567Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +506,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:52 GMT + - Fri, 11 Feb 2022 07:19:59 GMT expires: - '-1' pragma: @@ -438,57 +538,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiftafgj22-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiftafgj22-8ecadf-ec66279b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiftafgj22-8ecadf-ec66279b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2izmf3xhi-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2izmf3xhi-8ecadf-53de0550.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2izmf3xhi-8ecadf-53de0550.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/fae66aaf-ee64-4ca7-8812-661ae95ec578\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/2627436f-3243-407a-bcfa-43692e496446\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:52 GMT + - Fri, 11 Feb 2022 07:19:59 GMT expires: - '-1' pragma: @@ -520,57 +624,61 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiftafgj22-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiftafgj22-8ecadf-ec66279b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiftafgj22-8ecadf-ec66279b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2izmf3xhi-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2izmf3xhi-8ecadf-53de0550.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2izmf3xhi-8ecadf-53de0550.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/fae66aaf-ee64-4ca7-8812-661ae95ec578\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/2627436f-3243-407a-bcfa-43692e496446\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:54 GMT + - Fri, 11 Feb 2022 07:20:00 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_with_azurekeyvaultsecretsprovider.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_with_azurekeyvaultsecretsprovider.yaml index a3b2482a531..55c88c5de37 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_with_azurekeyvaultsecretsprovider.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_with_azurekeyvaultsecretsprovider.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:01:39Z"},"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":"2022-02-11T07:13:50Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:01:39 GMT + - Fri, 11 Feb 2022 07:13:50 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestij6lrdm57-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest7274kt3wj-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/e03999ca-fe9d-4883-9a3f-d66bab7b808e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:43 GMT + - Fri, 11 Feb 2022 07:13:54 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 201 message: Created @@ -149,14 +153,206 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:15: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e03999ca-fe9d-4883-9a3f-d66bab7b808e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ca9939e0-9dfe-8348-9a3f-d66bab7b808e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:43.1933333Z\"\n }" + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:12 GMT + - Fri, 11 Feb 2022 07:16:23 GMT expires: - '-1' pragma: @@ -197,14 +393,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e03999ca-fe9d-4883-9a3f-d66bab7b808e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ca9939e0-9dfe-8348-9a3f-d66bab7b808e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:43.1933333Z\"\n }" + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +409,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:42 GMT + - Fri, 11 Feb 2022 07:16:54 GMT expires: - '-1' pragma: @@ -245,14 +441,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e03999ca-fe9d-4883-9a3f-d66bab7b808e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ca9939e0-9dfe-8348-9a3f-d66bab7b808e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:43.1933333Z\"\n }" + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +457,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:12 GMT + - Fri, 11 Feb 2022 07:17:24 GMT expires: - '-1' pragma: @@ -293,14 +489,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e03999ca-fe9d-4883-9a3f-d66bab7b808e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ca9939e0-9dfe-8348-9a3f-d66bab7b808e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:43.1933333Z\"\n }" + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +505,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:43 GMT + - Fri, 11 Feb 2022 07:17:54 GMT expires: - '-1' pragma: @@ -341,14 +537,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e03999ca-fe9d-4883-9a3f-d66bab7b808e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ca9939e0-9dfe-8348-9a3f-d66bab7b808e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:43.1933333Z\"\n }" + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +553,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:13 GMT + - Fri, 11 Feb 2022 07:18:24 GMT expires: - '-1' pragma: @@ -389,15 +585,15 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e03999ca-fe9d-4883-9a3f-d66bab7b808e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/728cc598-4bf8-4482-95a0-b8329133cfe1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ca9939e0-9dfe-8348-9a3f-d66bab7b808e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:01:43.1933333Z\",\n \"endTime\": - \"2021-10-19T07:04:30.4517704Z\"\n }" + string: "{\n \"name\": \"98c58c72-f84b-8244-95a0-b8329133cfe1\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:13:54.1333333Z\",\n \"endTime\": + \"2022-02-11T07:18:27.6409142Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +602,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:43 GMT + - Fri, 11 Feb 2022 07:18:54 GMT expires: - '-1' pragma: @@ -438,57 +634,61 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6f069e42-6741-427a-8acd-4bcb55ccd62e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6f6332f-874b-4a48-adb7-e1a6c8726344\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:43 GMT + - Fri, 11 Feb 2022 07:18:54 GMT expires: - '-1' pragma: @@ -520,57 +720,61 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6f069e42-6741-427a-8acd-4bcb55ccd62e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6f6332f-874b-4a48-adb7-e1a6c8726344\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:44 GMT + - Fri, 11 Feb 2022 07:18:56 GMT expires: - '-1' pragma: @@ -590,26 +794,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestij6lrdm57-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest7274kt3wj-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6f069e42-6741-427a-8acd-4bcb55ccd62e"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {"enableSecretRotation": "false", "rotationPollInterval": + "2m"}}}, "oidcIssuerProfile": {"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/c6f6332f-874b-4a48-adb7-e1a6c8726344"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -620,67 +825,71 @@ interactions: Connection: - keep-alive Content-Length: - - '2378' + - '2517' Content-Type: - application/json ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6f069e42-6741-427a-8acd-4bcb55ccd62e\"\n + {\n \"enableSecretRotation\": \"false\",\n \"rotationPollInterval\": + \"2m\"\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/c6f6332f-874b-4a48-adb7-e1a6c8726344\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/de503f25-4824-4532-9221-bd7fae7363b2?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d4103893-76da-4ec8-a94d-95c87c949039?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3595' + - '3867' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:46 GMT + - Fri, 11 Feb 2022 07:18:58 GMT expires: - '-1' pragma: @@ -696,7 +905,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d4103893-76da-4ec8-a94d-95c87c949039?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"933810d4-da76-c84e-a94d-95c87c949039\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:18:58.2466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:19: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d4103893-76da-4ec8-a94d-95c87c949039?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"933810d4-da76-c84e-a94d-95c87c949039\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:18:58.2466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:19: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 @@ -714,14 +1019,14 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de503f25-4824-4532-9221-bd7fae7363b2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d4103893-76da-4ec8-a94d-95c87c949039?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"253f50de-2448-3245-9221-bd7fae7363b2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:04:46.9366666Z\"\n }" + string: "{\n \"name\": \"933810d4-da76-c84e-a94d-95c87c949039\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:18:58.2466666Z\"\n }" headers: cache-control: - no-cache @@ -730,7 +1035,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:17 GMT + - Fri, 11 Feb 2022 07:20:27 GMT expires: - '-1' pragma: @@ -762,14 +1067,14 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de503f25-4824-4532-9221-bd7fae7363b2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d4103893-76da-4ec8-a94d-95c87c949039?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"253f50de-2448-3245-9221-bd7fae7363b2\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:04:46.9366666Z\"\n }" + string: "{\n \"name\": \"933810d4-da76-c84e-a94d-95c87c949039\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:18:58.2466666Z\"\n }" headers: cache-control: - no-cache @@ -778,7 +1083,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:46 GMT + - Fri, 11 Feb 2022 07:20:57 GMT expires: - '-1' pragma: @@ -810,15 +1115,15 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/de503f25-4824-4532-9221-bd7fae7363b2?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d4103893-76da-4ec8-a94d-95c87c949039?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"253f50de-2448-3245-9221-bd7fae7363b2\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:04:46.9366666Z\",\n \"endTime\": - \"2021-10-19T07:05:49.3836191Z\"\n }" + string: "{\n \"name\": \"933810d4-da76-c84e-a94d-95c87c949039\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:18:58.2466666Z\",\n \"endTime\": + \"2022-02-11T07:21:17.5586265Z\"\n }" headers: cache-control: - no-cache @@ -827,7 +1132,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:16 GMT + - Fri, 11 Feb 2022 07:21:28 GMT expires: - '-1' pragma: @@ -859,61 +1164,65 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 + {\n \"enableSecretRotation\": \"false\",\n \"rotationPollInterval\": + \"2m\"\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/6f069e42-6741-427a-8acd-4bcb55ccd62e\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6f6332f-874b-4a48-adb7-e1a6c8726344\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3980' + - '4246' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:17 GMT + - Fri, 11 Feb 2022 07:21:29 GMT expires: - '-1' pragma: @@ -945,61 +1254,65 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 + {\n \"enableSecretRotation\": \"false\",\n \"rotationPollInterval\": + \"2m\"\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/6f069e42-6741-427a-8acd-4bcb55ccd62e\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6f6332f-874b-4a48-adb7-e1a6c8726344\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3980' + - '4246' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:18 GMT + - Fri, 11 Feb 2022 07:21:30 GMT expires: - '-1' pragma: @@ -1031,61 +1344,65 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 + {\n \"enableSecretRotation\": \"false\",\n \"rotationPollInterval\": + \"2m\"\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/6f069e42-6741-427a-8acd-4bcb55ccd62e\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6f6332f-874b-4a48-adb7-e1a6c8726344\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3980' + - '4246' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:18 GMT + - Fri, 11 Feb 2022 07:21:30 GMT expires: - '-1' pragma: @@ -1105,26 +1422,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestij6lrdm57-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest7274kt3wj-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6f069e42-6741-427a-8acd-4bcb55ccd62e"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {"enableSecretRotation": "true", "rotationPollInterval": + "2m"}}}, "oidcIssuerProfile": {"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/c6f6332f-874b-4a48-adb7-e1a6c8726344"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1135,67 +1453,71 @@ interactions: Connection: - keep-alive Content-Length: - - '2377' + - '2516' Content-Type: - application/json ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6f069e42-6741-427a-8acd-4bcb55ccd62e\"\n + {\n \"enableSecretRotation\": \"true\",\n \"rotationPollInterval\": + \"2m\"\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/c6f6332f-874b-4a48-adb7-e1a6c8726344\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/2f87525f-5cb6-484b-b99c-0cac26836d7e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/45478da5-5ba6-49ad-b14c-cd5123429880?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3594' + - '3866' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:20 GMT + - Fri, 11 Feb 2022 07:21:32 GMT expires: - '-1' pragma: @@ -1211,7 +1533,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 200 message: OK @@ -1229,23 +1551,23 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f87525f-5cb6-484b-b99c-0cac26836d7e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/45478da5-5ba6-49ad-b14c-cd5123429880?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f52872f-b65c-4b48-b99c-0cac26836d7e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:20.6333333Z\"\n }" + string: "{\n \"name\": \"a58d4745-a65b-ad49-b14c-cd5123429880\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:32.86Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:50 GMT + - Fri, 11 Feb 2022 07:22:02 GMT expires: - '-1' pragma: @@ -1277,23 +1599,23 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f87525f-5cb6-484b-b99c-0cac26836d7e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/45478da5-5ba6-49ad-b14c-cd5123429880?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f52872f-b65c-4b48-b99c-0cac26836d7e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:20.6333333Z\"\n }" + string: "{\n \"name\": \"a58d4745-a65b-ad49-b14c-cd5123429880\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:32.86Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:20 GMT + - Fri, 11 Feb 2022 07:22:33 GMT expires: - '-1' pragma: @@ -1325,24 +1647,120 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f87525f-5cb6-484b-b99c-0cac26836d7e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/45478da5-5ba6-49ad-b14c-cd5123429880?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f52872f-b65c-4b48-b99c-0cac26836d7e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:06:20.6333333Z\",\n \"endTime\": - \"2021-10-19T07:07:27.2375868Z\"\n }" + string: "{\n \"name\": \"a58d4745-a65b-ad49-b14c-cd5123429880\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:32.86Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:23: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon update + Connection: + - keep-alive + ParameterSetName: + - --addon --enable-secret-rotation --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/45478da5-5ba6-49ad-b14c-cd5123429880?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a58d4745-a65b-ad49-b14c-cd5123429880\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:32.86Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:23: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon update + Connection: + - keep-alive + ParameterSetName: + - --addon --enable-secret-rotation --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/45478da5-5ba6-49ad-b14c-cd5123429880?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a58d4745-a65b-ad49-b14c-cd5123429880\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:21:32.86Z\",\n \"endTime\": + \"2022-02-11T07:23:43.4333679Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:50 GMT + - Fri, 11 Feb 2022 07:24:02 GMT expires: - '-1' pragma: @@ -1374,61 +1792,65 @@ interactions: ParameterSetName: - --addon --enable-secret-rotation --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestij6lrdm57-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestij6lrdm57-8ecadf-2776199f.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7274kt3wj-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7274kt3wj-8ecadf-a3e625cb.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 + {\n \"enableSecretRotation\": \"true\",\n \"rotationPollInterval\": + \"2m\"\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/6f069e42-6741-427a-8acd-4bcb55ccd62e\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6f6332f-874b-4a48-adb7-e1a6c8726344\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3979' + - '4245' content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:51 GMT + - Fri, 11 Feb 2022 07:24:03 GMT expires: - '-1' pragma: @@ -1462,26 +1884,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e2e2b4a0-3db6-4fd2-a6e0-8d910ffe9960?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/788ef714-26bc-4337-9db2-b87b749adf11?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:07:51 GMT + - Fri, 11 Feb 2022 07:24:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/e2e2b4a0-3db6-4fd2-a6e0-8d910ffe9960?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/788ef714-26bc-4337-9db2-b87b749adf11?api-version=2016-03-30 pragma: - no-cache server: @@ -1491,7 +1913,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_addon_update_with_confcom.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_with_confcom.yaml old mode 100755 new mode 100644 index d3c56087a19..33698f96644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_with_confcom.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_addon_update_with_confcom.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:56:27Z"},"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":"2022-02-11T07:09:13Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:56:28 GMT + - Fri, 11 Feb 2022 07:09:14 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestsavb2rjim-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestbh5f3jtwk-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/47bac01f-a30a-4f83-8657-c1f049fd3c08?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:31 GMT + - Fri, 11 Feb 2022 07:09:17 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 201 message: Created @@ -149,14 +153,62 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/47bac01f-a30a-4f83-8657-c1f049fd3c08?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc0ba47-0aa3-834f-8657-c1f049fd3c08\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:31.6466666Z\"\n }" + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +217,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:01 GMT + - Fri, 11 Feb 2022 07:10:18 GMT expires: - '-1' pragma: @@ -197,14 +249,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/47bac01f-a30a-4f83-8657-c1f049fd3c08?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc0ba47-0aa3-834f-8657-c1f049fd3c08\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:31.6466666Z\"\n }" + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +265,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:31 GMT + - Fri, 11 Feb 2022 07:10:47 GMT expires: - '-1' pragma: @@ -245,14 +297,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/47bac01f-a30a-4f83-8657-c1f049fd3c08?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc0ba47-0aa3-834f-8657-c1f049fd3c08\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:31.6466666Z\"\n }" + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +313,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:01 GMT + - Fri, 11 Feb 2022 07:11:17 GMT expires: - '-1' pragma: @@ -293,14 +345,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/47bac01f-a30a-4f83-8657-c1f049fd3c08?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc0ba47-0aa3-834f-8657-c1f049fd3c08\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:31.6466666Z\"\n }" + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:32 GMT + - Fri, 11 Feb 2022 07:11:47 GMT expires: - '-1' pragma: @@ -341,14 +393,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/47bac01f-a30a-4f83-8657-c1f049fd3c08?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc0ba47-0aa3-834f-8657-c1f049fd3c08\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:31.6466666Z\"\n }" + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +409,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:01 GMT + - Fri, 11 Feb 2022 07:12:18 GMT expires: - '-1' pragma: @@ -389,15 +441,111 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/47bac01f-a30a-4f83-8657-c1f049fd3c08?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc0ba47-0aa3-834f-8657-c1f049fd3c08\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:56:31.6466666Z\",\n \"endTime\": - \"2021-10-19T06:59:12.7642729Z\"\n }" + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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 +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/713ced3a-b0ac-4aa6-baca-631ac16f604a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3aed3c71-acb0-a64a-baca-631ac16f604a\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:09:18.0333333Z\",\n \"endTime\": + \"2022-02-11T07:13:20.6292834Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +554,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:31 GMT + - Fri, 11 Feb 2022 07:13:48 GMT expires: - '-1' pragma: @@ -438,57 +586,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/0b072609-0e8a-417f-b05b-0c2ec80bbcec\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9e767c00-a41e-4a45-8a61-27381fe5cdc5\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:32 GMT + - Fri, 11 Feb 2022 07:13:48 GMT expires: - '-1' pragma: @@ -520,57 +672,61 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/0b072609-0e8a-417f-b05b-0c2ec80bbcec\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9e767c00-a41e-4a45-8a61-27381fe5cdc5\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:33 GMT + - Fri, 11 Feb 2022 07:13:50 GMT expires: - '-1' pragma: @@ -590,26 +746,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestsavb2rjim-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestbh5f3jtwk-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": - {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "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/0b072609-0e8a-417f-b05b-0c2ec80bbcec"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "false"}}}, "oidcIssuerProfile": + {"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/9e767c00-a41e-4a45-8a61-27381fe5cdc5"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -620,37 +777,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2372' + - '2481' Content-Type: - application/json ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -659,28 +817,31 @@ interactions: \ \"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/0b072609-0e8a-417f-b05b-0c2ec80bbcec\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9e767c00-a41e-4a45-8a61-27381fe5cdc5\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/dafd3c28-0899-4c94-b903-3598529bb853?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1049d0a-db91-4ae2-9cde-d9d91b647875?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3589' + - '3825' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:35 GMT + - Fri, 11 Feb 2022 07:13:51 GMT expires: - '-1' pragma: @@ -696,7 +857,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 200 message: OK @@ -714,23 +875,23 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dafd3c28-0899-4c94-b903-3598529bb853?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1049d0a-db91-4ae2-9cde-d9d91b647875?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"283cfdda-9908-944c-b903-3598529bb853\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:59:35.7533333Z\"\n }" + string: "{\n \"name\": \"0a9d04c1-91db-e24a-9cde-d9d91b647875\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.89Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:05 GMT + - Fri, 11 Feb 2022 07:14:21 GMT expires: - '-1' pragma: @@ -762,23 +923,23 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dafd3c28-0899-4c94-b903-3598529bb853?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1049d0a-db91-4ae2-9cde-d9d91b647875?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"283cfdda-9908-944c-b903-3598529bb853\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:59:35.7533333Z\"\n }" + string: "{\n \"name\": \"0a9d04c1-91db-e24a-9cde-d9d91b647875\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.89Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:36 GMT + - Fri, 11 Feb 2022 07:14:52 GMT expires: - '-1' pragma: @@ -810,24 +971,23 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dafd3c28-0899-4c94-b903-3598529bb853?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1049d0a-db91-4ae2-9cde-d9d91b647875?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"283cfdda-9908-944c-b903-3598529bb853\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:59:35.7533333Z\",\n \"endTime\": - \"2021-10-19T07:00:40.1181793Z\"\n }" + string: "{\n \"name\": \"0a9d04c1-91db-e24a-9cde-d9d91b647875\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.89Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:05 GMT + - Fri, 11 Feb 2022 07:15:22 GMT expires: - '-1' pragma: @@ -859,31 +1019,129 @@ interactions: ParameterSetName: - --addon --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1049d0a-db91-4ae2-9cde-d9d91b647875?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a9d04c1-91db-e24a-9cde-d9d91b647875\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:13:51.89Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1049d0a-db91-4ae2-9cde-d9d91b647875?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a9d04c1-91db-e24a-9cde-d9d91b647875\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:13:51.89Z\",\n \"endTime\": + \"2022-02-11T07:16:13.4087464Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon enable + Connection: + - keep-alive + ParameterSetName: + - --addon --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -894,26 +1152,29 @@ interactions: \ \"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/0b072609-0e8a-417f-b05b-0c2ec80bbcec\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9e767c00-a41e-4a45-8a61-27381fe5cdc5\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:06 GMT + - Fri, 11 Feb 2022 07:16:22 GMT expires: - '-1' pragma: @@ -945,31 +1206,32 @@ interactions: ParameterSetName: - --resource-group --name -a --enable-sgxquotehelper -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -980,26 +1242,29 @@ interactions: \ \"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/0b072609-0e8a-417f-b05b-0c2ec80bbcec\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9e767c00-a41e-4a45-8a61-27381fe5cdc5\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:07 GMT + - Fri, 11 Feb 2022 07:16:22 GMT expires: - '-1' pragma: @@ -1031,31 +1296,32 @@ interactions: ParameterSetName: - --resource-group --name -a --enable-sgxquotehelper -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -1066,26 +1332,29 @@ interactions: \ \"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/0b072609-0e8a-417f-b05b-0c2ec80bbcec\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9e767c00-a41e-4a45-8a61-27381fe5cdc5\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:07 GMT + - Fri, 11 Feb 2022 07:16:23 GMT expires: - '-1' pragma: @@ -1105,26 +1374,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestsavb2rjim-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestbh5f3jtwk-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": - {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "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/0b072609-0e8a-417f-b05b-0c2ec80bbcec"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "true"}}}, "oidcIssuerProfile": + {"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/9e767c00-a41e-4a45-8a61-27381fe5cdc5"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1135,37 +1405,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2371' + - '2480' Content-Type: - application/json ParameterSetName: - --resource-group --name -a --enable-sgxquotehelper -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -1174,28 +1445,31 @@ interactions: \ \"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/0b072609-0e8a-417f-b05b-0c2ec80bbcec\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9e767c00-a41e-4a45-8a61-27381fe5cdc5\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/6ca0c74d-31ef-475b-8426-82653c1e17cb?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2c8cd79f-96aa-4bb3-b9a9-c4d1d4ce1964?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3588' + - '3824' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:14 GMT + - Fri, 11 Feb 2022 07:16:25 GMT expires: - '-1' pragma: @@ -1211,7 +1485,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --enable-sgxquotehelper -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2c8cd79f-96aa-4bb3-b9a9-c4d1d4ce1964?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9fd78c2c-aa96-b34b-b9a9-c4d1d4ce1964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:25.59Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks addon update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --enable-sgxquotehelper -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2c8cd79f-96aa-4bb3-b9a9-c4d1d4ce1964?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9fd78c2c-aa96-b34b-b9a9-c4d1d4ce1964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:25.59Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:17: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 @@ -1229,14 +1599,14 @@ interactions: ParameterSetName: - --resource-group --name -a --enable-sgxquotehelper -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6ca0c74d-31ef-475b-8426-82653c1e17cb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2c8cd79f-96aa-4bb3-b9a9-c4d1d4ce1964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4dc7a06c-ef31-5b47-8426-82653c1e17cb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:10.05Z\"\n }" + string: "{\n \"name\": \"9fd78c2c-aa96-b34b-b9a9-c4d1d4ce1964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:25.59Z\"\n }" headers: cache-control: - no-cache @@ -1245,7 +1615,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:45 GMT + - Fri, 11 Feb 2022 07:17:55 GMT expires: - '-1' pragma: @@ -1277,14 +1647,14 @@ interactions: ParameterSetName: - --resource-group --name -a --enable-sgxquotehelper -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6ca0c74d-31ef-475b-8426-82653c1e17cb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2c8cd79f-96aa-4bb3-b9a9-c4d1d4ce1964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4dc7a06c-ef31-5b47-8426-82653c1e17cb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:01:10.05Z\"\n }" + string: "{\n \"name\": \"9fd78c2c-aa96-b34b-b9a9-c4d1d4ce1964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:16:25.59Z\"\n }" headers: cache-control: - no-cache @@ -1293,7 +1663,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:15 GMT + - Fri, 11 Feb 2022 07:18:25 GMT expires: - '-1' pragma: @@ -1325,15 +1695,15 @@ interactions: ParameterSetName: - --resource-group --name -a --enable-sgxquotehelper -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6ca0c74d-31ef-475b-8426-82653c1e17cb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2c8cd79f-96aa-4bb3-b9a9-c4d1d4ce1964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4dc7a06c-ef31-5b47-8426-82653c1e17cb\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:01:10.05Z\",\n \"endTime\": - \"2021-10-19T07:02:28.7055363Z\"\n }" + string: "{\n \"name\": \"9fd78c2c-aa96-b34b-b9a9-c4d1d4ce1964\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:16:25.59Z\",\n \"endTime\": + \"2022-02-11T07:18:46.7759867Z\"\n }" headers: cache-control: - no-cache @@ -1342,7 +1712,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:45 GMT + - Fri, 11 Feb 2022 07:18:55 GMT expires: - '-1' pragma: @@ -1374,31 +1744,32 @@ interactions: ParameterSetName: - --resource-group --name -a --enable-sgxquotehelper -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsavb2rjim-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestsavb2rjim-8ecadf-9d25ca82.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbh5f3jtwk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbh5f3jtwk-8ecadf-5773f796.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -1409,26 +1780,29 @@ interactions: \ \"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/0b072609-0e8a-417f-b05b-0c2ec80bbcec\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9e767c00-a41e-4a45-8a61-27381fe5cdc5\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3963' + - '4193' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:45 GMT + - Fri, 11 Feb 2022 07:18:56 GMT expires: - '-1' pragma: @@ -1462,26 +1836,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bb7962d-511e-4d94-81df-2583cb76d163?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a938d36-1386-476b-a984-ff4826b7571d?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:02:46 GMT + - Fri, 11 Feb 2022 07:18:57 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/8bb7962d-511e-4d94-81df-2583cb76d163?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1a938d36-1386-476b-a984-ff4826b7571d?api-version=2016-03-30 pragma: - no-cache server: 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 deleted file mode 100755 index f8c6294f0a2..00000000000 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml +++ /dev/null @@ -1,2185 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:31:55Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:31: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: '{"location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["11.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "aks-subnet", "properties": - {"addressPrefix": "11.0.0.0/24", "privateEndpointNetworkPolicies": "Enabled", - "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - Content-Length: - - '302' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"1c3893bc-ba81-40f4-ac83-a11708a33c09\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"7d9db962-3275-4488-af98-daf3776d4f37\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"1c3893bc-ba81-40f4-ac83-a11708a33c09\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"11.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/westus2/operations/4e0bdbd3-3e49-4a90-abe6-b02c0403fb21?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '1327' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:00 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: - - ebea0841-bf28-4c20-bef0-ce325f1e61db - 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: - - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/4e0bdbd3-3e49-4a90-abe6-b02c0403fb21?api-version=2021-03-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 Oct 2021 05:32: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-arm-service-request-id: - - 168f22fe-1c00-4a7d-9117-282b6442067f - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"118a5e7c-04fc-479a-bc7a-1401b806ce3a\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"7d9db962-3275-4488-af98-daf3776d4f37\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"118a5e7c-04fc-479a-bc7a-1401b806ce3a\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"11.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: - - '1329' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:03 GMT - etag: - - W/"118a5e7c-04fc-479a-bc7a-1401b806ce3a" - 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: - - 11779c04-f55c-4fee-9e22-dffea39dbf5a - 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: - - -n --resource-group --vnet-name --address-prefixes -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"118a5e7c-04fc-479a-bc7a-1401b806ce3a\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"7d9db962-3275-4488-af98-daf3776d4f37\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"118a5e7c-04fc-479a-bc7a-1401b806ce3a\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"11.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: - - '1329' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:03 GMT - etag: - - W/"118a5e7c-04fc-479a-bc7a-1401b806ce3a" - 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: - - 678d7947-4772-46f2-b3d4-439c7ad3d925 - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003", - "location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["11.0.0.0/16"]}, "dhcpOptions": {"dnsServers": []}, "subnets": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", - "name": "aks-subnet", "type": "Microsoft.Network/virtualNetworks/subnets", "properties": - {"addressPrefix": "11.0.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": - "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}}, {"name": "appgw-subnet", - "properties": {"addressPrefix": "11.0.1.0/24", "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: - - '947' - Content-Type: - - application/json - ParameterSetName: - - -n --resource-group --vnet-name --address-prefixes -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"d3c4879f-8845-4a9b-b90f-ad17a0c894a5\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"7d9db962-3275-4488-af98-daf3776d4f37\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"d3c4879f-8845-4a9b-b90f-ad17a0c894a5\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"11.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 \"name\": \"appgw-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\",\r\n - \ \"etag\": \"W/\\\"d3c4879f-8845-4a9b-b90f-ad17a0c894a5\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"11.0.1.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/westus2/operations/0ab4f563-92f7-453c-bd78-d8b5054f3108?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '1956' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32: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: - - 05c2b4c3-8cf0-4f2b-b14f-9146051ea589 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet subnet create - Connection: - - keep-alive - ParameterSetName: - - -n --resource-group --vnet-name --address-prefixes -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/0ab4f563-92f7-453c-bd78-d8b5054f3108?api-version=2021-03-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 Oct 2021 05:32:07 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: - - 83d172d8-542e-475d-8cda-fb40be62ec77 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet subnet create - Connection: - - keep-alive - ParameterSetName: - - -n --resource-group --vnet-name --address-prefixes -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"972c9ea9-6819-40e0-ac7b-461d94525b6a\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"7d9db962-3275-4488-af98-daf3776d4f37\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"972c9ea9-6819-40e0-ac7b-461d94525b6a\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"11.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 \"name\": \"appgw-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\",\r\n - \ \"etag\": \"W/\\\"972c9ea9-6819-40e0-ac7b-461d94525b6a\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"11.0.1.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: - - '1959' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:07 GMT - etag: - - W/"972c9ea9-6819-40e0-ac7b-461d94525b6a" - 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: - - aa2ac5c3-be2e-4a2c-bf23-5d7d707463a6 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network public-ip create - Connection: - - keep-alive - ParameterSetName: - - -n -g --allocation-method --sku -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:31:55Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:08 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", "sku": {"name": "Standard"}, "properties": {"publicIPAllocationMethod": - "Static", "publicIPAddressVersion": "IPv4", "idleTimeoutInMinutes": 4}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network public-ip create - Connection: - - keep-alive - Content-Length: - - '167' - Content-Type: - - application/json - ParameterSetName: - - -n -g --allocation-method --sku -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"appgw-ip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip\",\r\n - \ \"etag\": \"W/\\\"4a9502c0-8c6f-4162-adbf-f0c6dfb01e76\\\"\",\r\n \"location\": - \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"35006cb7-02c2-49b0-8aac-e4b4ab07bd73\",\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}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/2fd24b0b-de12-4686-aaae-50b00dcec958?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '634' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:11 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: - - 3e790af5-f34f-4547-baaa-e93322a664b3 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network public-ip create - Connection: - - keep-alive - ParameterSetName: - - -n -g --allocation-method --sku -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/2fd24b0b-de12-4686-aaae-50b00dcec958?api-version=2021-03-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 Oct 2021 05:32: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-arm-service-request-id: - - 4485eec6-aae5-4323-af2a-f34f618cacd2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network public-ip create - Connection: - - keep-alive - ParameterSetName: - - -n -g --allocation-method --sku -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"appgw-ip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip\",\r\n - \ \"etag\": \"W/\\\"6aa130fa-a927-4c0c-9e63-b2605c6f6852\\\"\",\r\n \"location\": - \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"35006cb7-02c2-49b0-8aac-e4b4ab07bd73\",\r\n \"ipAddress\": - \"20.80.188.114\",\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}" - headers: - cache-control: - - no-cache - content-length: - - '670' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:12 GMT - etag: - - W/"6aa130fa-a927-4c0c-9e63-b2605c6f6852" - 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: - - 09a04763-3d0d-4407-9e8f-456db051a49d - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:31:55Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:12 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: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceGroup%20eq%20%27clitest000001%27%20and%20name%20eq%20%27cliakstest000003%27%20and%20resourceType%20eq%20%27Microsoft.Network%2FvirtualNetworks%27&api-version=2021-04-01 - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003","name":"cliakstest000003","type":"Microsoft.Network/virtualNetworks","location":"westus2","tags":{}}]}' - headers: - cache-control: - - no-cache - content-length: - - '266' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:12 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: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceGroup%20eq%20%27clitest000001%27%20and%20name%20eq%20%27appgw-ip%27%20and%20resourceType%20eq%20%27Microsoft.Network%2FpublicIPAddresses%27&api-version=2021-04-01 - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip","name":"appgw-ip","type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Standard","tier":"Regional"},"location":"westus2"}]}' - headers: - cache-control: - - no-cache - content-length: - - '288' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:13 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": {}, "variables": {"appGwID": "[resourceId(''Microsoft.Network/applicationGateways'', - ''appgw'')]"}, "resources": [{"type": "Microsoft.Network/applicationGateways", - "name": "appgw", "location": "westus2", "tags": {}, "apiVersion": "2021-03-01", - "dependsOn": [], "properties": {"backendAddressPools": [{"name": "appGatewayBackendPool"}], - "backendHttpSettingsCollection": [{"name": "appGatewayBackendHttpSettings", - "properties": {"Port": 80, "Protocol": "Http", "CookieBasedAffinity": "disabled", - "connectionDraining": {"enabled": false, "drainTimeoutInSec": 1}}}], "frontendIPConfigurations": - [{"name": "appGatewayFrontendIP", "properties": {"publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip"}}}], - "frontendPorts": [{"name": "appGatewayFrontendPort", "properties": {"Port": - 80}}], "gatewayIPConfigurations": [{"name": "appGatewayFrontendIP", "properties": - {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet"}}}], - "httpListeners": [{"name": "appGatewayHttpListener", "properties": {"FrontendIpConfiguration": - {"Id": "[concat(variables(''appGwID''), ''/frontendIPConfigurations/appGatewayFrontendIP'')]"}, - "FrontendPort": {"Id": "[concat(variables(''appGwID''), ''/frontendPorts/appGatewayFrontendPort'')]"}, - "Protocol": "http", "SslCertificate": null}}], "sku": {"name": "Standard_v2", - "tier": "Standard_v2", "capacity": 2}, "requestRoutingRules": [{"Name": "rule1", - "properties": {"RuleType": "Basic", "httpListener": {"id": "[concat(variables(''appGwID''), - ''/httpListeners/appGatewayHttpListener'')]"}, "backendAddressPool": {"id": - "[concat(variables(''appGwID''), ''/backendAddressPools/appGatewayBackendPool'')]"}, - "backendHttpSettings": {"id": "[concat(variables(''appGwID''), ''/backendHttpSettingsCollection/appGatewayBackendHttpSettings'')]"}}}], - "privateLinkConfigurations": []}, "zones": null}], "outputs": {"applicationGateway": - {"type": "object", "value": "[reference(''appgw'')]"}}}, "parameters": {}, "mode": - "incremental"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network application-gateway create - Connection: - - keep-alive - Content-Length: - - '2328' - Content-Type: - - application/json - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/ag_deploy_qbThV52myNNCV6IruxasRxUzhQpUTi2w","name":"ag_deploy_qbThV52myNNCV6IruxasRxUzhQpUTi2w","type":"Microsoft.Resources/deployments","properties":{"templateHash":"9589169119059019199","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-10-19T05:32:16.1014428Z","duration":"PT1.1895438S","correlationId":"95d9a55f-daf0-496d-b135-fd41d2995e40","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"applicationGateways","locations":["westus2"]}]}],"dependencies":[]}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/ag_deploy_qbThV52myNNCV6IruxasRxUzhQpUTi2w/operationStatuses/08585669853505657273?api-version=2021-04-01 - cache-control: - - no-cache - content-length: - - '662' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:16 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669853505657273?api-version=2021-04-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:32:46 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 - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669853505657273?api-version=2021-04-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:33: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669853505657273?api-version=2021-04-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:33:46 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 - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669853505657273?api-version=2021-04-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:34:17 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 - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669853505657273?api-version=2021-04-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:34: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669853505657273?api-version=2021-04-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:35:17 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 - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669853505657273?api-version=2021-04-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:35: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669853505657273?api-version=2021-04-01 - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-cache - content-length: - - '22' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:36: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network application-gateway create - Connection: - - keep-alive - ParameterSetName: - - -n -g --sku --public-ip-address --subnet - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/ag_deploy_qbThV52myNNCV6IruxasRxUzhQpUTi2w","name":"ag_deploy_qbThV52myNNCV6IruxasRxUzhQpUTi2w","type":"Microsoft.Resources/deployments","properties":{"templateHash":"9589169119059019199","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-10-19T05:36:03.9851553Z","duration":"PT3M49.0732563S","correlationId":"95d9a55f-daf0-496d-b135-fd41d2995e40","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"applicationGateways","locations":["westus2"]}]}],"dependencies":[],"outputs":{"applicationGateway":{"type":"Object","value":{"provisioningState":"Succeeded","resourceGuid":"796673e9-2c73-4600-a937-90906f78667d","sku":{"name":"Standard_v2","tier":"Standard_v2","capacity":2},"operationalState":"Running","gatewayIPConfigurations":[{"name":"appGatewayFrontendIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appGatewayFrontendIP","etag":"W/\"a2a4c714-c1ef-43cd-92c9-3ef250550060\"","properties":{"provisioningState":"Succeeded","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet"}},"type":"Microsoft.Network/applicationGateways/gatewayIPConfigurations"}],"sslCertificates":[],"trustedRootCertificates":[],"trustedClientCertificates":[],"sslProfiles":[],"frontendIPConfigurations":[{"name":"appGatewayFrontendIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appGatewayFrontendIP","etag":"W/\"a2a4c714-c1ef-43cd-92c9-3ef250550060\"","type":"Microsoft.Network/applicationGateways/frontendIPConfigurations","properties":{"provisioningState":"Succeeded","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/appgw-ip"},"httpListeners":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appGatewayHttpListener"}]}}],"frontendPorts":[{"name":"appGatewayFrontendPort","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appGatewayFrontendPort","etag":"W/\"a2a4c714-c1ef-43cd-92c9-3ef250550060\"","properties":{"provisioningState":"Succeeded","port":80,"httpListeners":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appGatewayHttpListener"}]},"type":"Microsoft.Network/applicationGateways/frontendPorts"}],"backendAddressPools":[{"name":"appGatewayBackendPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appGatewayBackendPool","etag":"W/\"a2a4c714-c1ef-43cd-92c9-3ef250550060\"","properties":{"provisioningState":"Succeeded","backendAddresses":[],"requestRoutingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/rule1"}]},"type":"Microsoft.Network/applicationGateways/backendAddressPools"}],"loadDistributionPolicies":[],"backendHttpSettingsCollection":[{"name":"appGatewayBackendHttpSettings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appGatewayBackendHttpSettings","etag":"W/\"a2a4c714-c1ef-43cd-92c9-3ef250550060\"","properties":{"provisioningState":"Succeeded","port":80,"protocol":"Http","cookieBasedAffinity":"Disabled","connectionDraining":{"enabled":false,"drainTimeoutInSec":1},"pickHostNameFromBackendAddress":false,"requestTimeout":30,"requestRoutingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/rule1"}]},"type":"Microsoft.Network/applicationGateways/backendHttpSettingsCollection"}],"httpListeners":[{"name":"appGatewayHttpListener","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appGatewayHttpListener","etag":"W/\"a2a4c714-c1ef-43cd-92c9-3ef250550060\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appGatewayFrontendIP"},"frontendPort":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appGatewayFrontendPort"},"protocol":"Http","hostNames":[],"requireServerNameIndication":false,"requestRoutingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/rule1"}]},"type":"Microsoft.Network/applicationGateways/httpListeners"}],"urlPathMaps":[],"requestRoutingRules":[{"name":"rule1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/rule1","etag":"W/\"a2a4c714-c1ef-43cd-92c9-3ef250550060\"","properties":{"provisioningState":"Succeeded","ruleType":"Basic","httpListener":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appGatewayHttpListener"},"backendAddressPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appGatewayBackendPool"},"backendHttpSettings":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appGatewayBackendHttpSettings"}},"type":"Microsoft.Network/applicationGateways/requestRoutingRules"}],"probes":[],"rewriteRuleSets":[],"redirectConfigurations":[],"privateLinkConfigurations":[],"privateEndpointConnections":[]}}},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw"}]}}' - headers: - cache-control: - - no-cache - content-length: - - '6976' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:36: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: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:31:55Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:36: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: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/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/8e3af657-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-26T05:33:00.7067936Z","updatedOn":"2021-04-26T05:33:00.7067936Z","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/2adf4737-6342-4f63-aeb2-5fcd3426a387","type":"Microsoft.Authorization/roleAssignments","name":"2adf4737-6342-4f63-aeb2-5fcd3426a387"},{"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-04-26T06:09:24.5972802Z","updatedOn":"2021-04-26T06:09:24.5972802Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c4572c05-f69f-4e5c-aac6-79afefcf0e2e","type":"Microsoft.Authorization/roleAssignments","name":"c4572c05-f69f-4e5c-aac6-79afefcf0e2e"},{"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-06-18T05:18:40.4643436Z","updatedOn":"2021-06-18T05:18:40.4643436Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3f926301-cc14-4a88-a3b7-c159d73d01f6","type":"Microsoft.Authorization/roleAssignments","name":"3f926301-cc14-4a88-a3b7-c159d73d01f6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-09-18T03:09:33.8702688Z","updatedOn":"2021-09-18T03:09:33.8702688Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/99d6fd13-909e-4c52-807e-77f7a5af83c8","type":"Microsoft.Authorization/roleAssignments","name":"99d6fd13-909e-4c52-807e-77f7a5af83c8"},{"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":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de","condition":null,"conditionVersion":null,"createdOn":"2021-10-07T21:55:07.2303024Z","updatedOn":"2021-10-07T21:55:07.2303024Z","createdBy":"8031e009-cc05-4950-8a8d-78942c4492ac","updatedBy":"8031e009-cc05-4950-8a8d-78942c4492ac","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de/providers/Microsoft.Authorization/roleAssignments/99c5a294-bfee-468a-ab2f-f6db60b8c8f3","type":"Microsoft.Authorization/roleAssignments","name":"99c5a294-bfee-468a-ab2f-f6db60b8c8f3"},{"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/465fbb01-3623-f393-e42f-e19c0d2982de","condition":null,"conditionVersion":null,"createdOn":"2021-10-08T17:23:35.8382756Z","updatedOn":"2021-10-08T17:23:35.8382756Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de/providers/Microsoft.Authorization/roleAssignments/ade4333c-4321-4b68-b498-d081d55e2b0c","type":"Microsoft.Authorization/roleAssignments","name":"ade4333c-4321-4b68-b498-d081d55e2b0c"},{"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/dfe50df8-51fe-4401-daad-efca9fc8f14b","condition":null,"conditionVersion":null,"createdOn":"2021-04-22T14:50:37.5977858Z","updatedOn":"2021-04-22T14:50:37.5977858Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/dfe50df8-51fe-4401-daad-efca9fc8f14b/providers/Microsoft.Authorization/roleAssignments/eb6c03a6-8e33-4d47-807c-9cdf9ef1e3d8","type":"Microsoft.Authorization/roleAssignments","name":"eb6c03a6-8e33-4d47-807c-9cdf9ef1e3d8"},{"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/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9136073Z","updatedOn":"2019-03-26T22:01:02.9136073Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6f4de15e-9316-4714-a7c4-40c46cf8e067","type":"Microsoft.Authorization/roleAssignments","name":"6f4de15e-9316-4714-a7c4-40c46cf8e067"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:13.2137492Z","updatedOn":"2020-02-25T18:36:13.2137492Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/18fdd87e-1c01-424e-b380-32310f4940c2","type":"Microsoft.Authorization/roleAssignments","name":"18fdd87e-1c01-424e-b380-32310f4940c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:00.4746112Z","updatedOn":"2020-02-25T18:36:00.4746112Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d9bcf58a-6f24-446d-bf60-20ffe5142396","type":"Microsoft.Authorization/roleAssignments","name":"d9bcf58a-6f24-446d-bf60-20ffe5142396"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:55.7490022Z","updatedOn":"2020-02-25T18:35:55.7490022Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6e2b954b-42b2-48e0-997a-622601f0a4b4","type":"Microsoft.Authorization/roleAssignments","name":"6e2b954b-42b2-48e0-997a-622601f0a4b4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:57.9173081Z","updatedOn":"2020-02-25T18:35:57.9173081Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9","type":"Microsoft.Authorization/roleAssignments","name":"8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:23.0673659Z","updatedOn":"2020-02-25T18:36:23.0673659Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d0817c57-3e5b-4363-88b7-52baadd5c362","type":"Microsoft.Authorization/roleAssignments","name":"d0817c57-3e5b-4363-88b7-52baadd5c362"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:31.2596366Z","updatedOn":"2020-02-25T18:36:31.2596366Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0dabf212-a1c7-4af6-ba8b-be045493b368","type":"Microsoft.Authorization/roleAssignments","name":"0dabf212-a1c7-4af6-ba8b-be045493b368"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:52.9188704Z","updatedOn":"2020-02-25T18:35:52.9188704Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d674b853-332e-4437-9ddb-bba8fde7ccce","type":"Microsoft.Authorization/roleAssignments","name":"d674b853-332e-4437-9ddb-bba8fde7ccce"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:38.8393742Z","updatedOn":"2020-02-25T18:36:38.8393742Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/00625383-053d-4227-a4db-b098e9bd2289","type":"Microsoft.Authorization/roleAssignments","name":"00625383-053d-4227-a4db-b098e9bd2289"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:05.0954462Z","updatedOn":"2020-02-25T18:36:05.0954462Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/3151fe9c-fcd2-45d3-a256-72fb13b86df5","type":"Microsoft.Authorization/roleAssignments","name":"3151fe9c-fcd2-45d3-a256-72fb13b86df5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-07-06T18:51:23.0753297Z","updatedOn":"2020-07-06T18:51:23.0753297Z","createdBy":"d59f4a71-eff1-4bfa-a572-fe518f49f6c7","updatedBy":"d59f4a71-eff1-4bfa-a572-fe518f49f6c7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b3a9e1db-fde1-4ddd-ac1c-91913be67359","type":"Microsoft.Authorization/roleAssignments","name":"b3a9e1db-fde1-4ddd-ac1c-91913be67359"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-09T18:17:33.0012805Z","updatedOn":"2021-08-09T18:17:33.0012805Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/01de8fe7-aae0-4d5c-844a-f0bdb8335252","type":"Microsoft.Authorization/roleAssignments","name":"01de8fe7-aae0-4d5c-844a-f0bdb8335252"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-09T18:17:39.9188336Z","updatedOn":"2021-08-09T18:17:39.9188336Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/ab2be506-5489-4c1f-add0-f5ed87a10439","type":"Microsoft.Authorization/roleAssignments","name":"ab2be506-5489-4c1f-add0-f5ed87a10439"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-24T19:32:18.2000692Z","updatedOn":"2021-08-24T19:32:18.2000692Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0ce2f3fb-17ea-4193-9081-09aa4b39fec4","type":"Microsoft.Authorization/roleAssignments","name":"0ce2f3fb-17ea-4193-9081-09aa4b39fec4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-24T19:32:36.6775144Z","updatedOn":"2021-08-24T19:32:36.6775144Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/2e95b289-99bd-4e68-83de-5433f2a0428c","type":"Microsoft.Authorization/roleAssignments","name":"2e95b289-99bd-4e68-83de-5433f2a0428c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd6e57ea-fe3c-4f21-bd1e-de170a9a4971","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-15T21:46:52.6665975Z","updatedOn":"2021-09-15T21:46:52.6665975Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6d2e0600-74af-4aeb-b479-1718dd4dffdf","type":"Microsoft.Authorization/roleAssignments","name":"6d2e0600-74af-4aeb-b479-1718dd4dffdf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-23T22:47:24.2398372Z","updatedOn":"2021-09-23T22:47:24.2398372Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/68d8c18e-3dd6-4bf4-ae99-aac6ffb945cc","type":"Microsoft.Authorization/roleAssignments","name":"68d8c18e-3dd6-4bf4-ae99-aac6ffb945cc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-23T22:48:58.7755038Z","updatedOn":"2021-09-23T22:48:58.7755038Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/1201e06e-7fa6-44c7-bb6b-a4bd82994d4d","type":"Microsoft.Authorization/roleAssignments","name":"1201e06e-7fa6-44c7-bb6b-a4bd82994d4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:10:13.8998989Z","updatedOn":"2021-01-26T20:10:13.8998989Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b36517ec-61d3-468d-afdc-eceda8adb4ee","type":"Microsoft.Authorization/roleAssignments","name":"b36517ec-61d3-468d-afdc-eceda8adb4ee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-06T00:13:19.1780775Z","updatedOn":"2021-02-06T00:13:19.1780775Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/5216c1ee-4f58-4d36-b379-6c04b1fbd157","type":"Microsoft.Authorization/roleAssignments","name":"5216c1ee-4f58-4d36-b379-6c04b1fbd157"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-24T01:45:04.0423529Z","updatedOn":"2021-02-24T01:45:04.0423529Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/2bcd4a3e-5ac3-4ffa-a529-269be7717766","type":"Microsoft.Authorization/roleAssignments","name":"2bcd4a3e-5ac3-4ffa-a529-269be7717766"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-24T01:45:10.2950077Z","updatedOn":"2021-02-24T01:45:10.2950077Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8f8ed3e8-1b37-4ac1-ad01-7a274f600e79","type":"Microsoft.Authorization/roleAssignments","name":"8f8ed3e8-1b37-4ac1-ad01-7a274f600e79"},{"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/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-04-16T18:26:34.3109215Z","updatedOn":"2021-04-16T18:26:34.3109215Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/7464f8a3-9f55-443b-a3a5-44a31b100cad","type":"Microsoft.Authorization/roleAssignments","name":"7464f8a3-9f55-443b-a3a5-44a31b100cad"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-04-16T18:27:56.4446265Z","updatedOn":"2021-04-16T18:27:56.4446265Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8f430c4c-4317-4495-9f01-4f3d4e1ca111","type":"Microsoft.Authorization/roleAssignments","name":"8f430c4c-4317-4495-9f01-4f3d4e1ca111"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-05-04T19:20:06.7695456Z","updatedOn":"2021-05-04T19:20:06.7695456Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/fb8bab14-7f67-4e57-8aa5-0c4b7ab5a0fa","type":"Microsoft.Authorization/roleAssignments","name":"fb8bab14-7f67-4e57-8aa5-0c4b7ab5a0fa"},{"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 - content-length: - - '33753' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:36:19 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: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestdclscfq47-79a739", - "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "vnetSubnetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ingressApplicationGateway": - {"enabled": true, "config": {"applicationGatewayId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw"}}}, - "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}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1799' - Content-Type: - - application/json - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdclscfq47-79a739\",\n \"fqdn\": - \"cliakstest-clitestdclscfq47-79a739-05b27df3.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdclscfq47-79a739-05b27df3.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 \"workloadRuntime\": - \"OCIContainer\",\n \"vnetSubnetID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n - \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"ingressApplicationGateway\": {\n \"enabled\": true,\n \"config\": - {\n \"applicationGatewayId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw\",\n - \ \"effectiveApplicationGatewayId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw\"\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3434' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:36:25 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bef348e5-9039-054a-896f-5a1fd924a7ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:36:25.6366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:36: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bef348e5-9039-054a-896f-5a1fd924a7ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:36:25.6366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:37: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bef348e5-9039-054a-896f-5a1fd924a7ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:36:25.6366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:37: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bef348e5-9039-054a-896f-5a1fd924a7ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:36:25.6366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:38: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bef348e5-9039-054a-896f-5a1fd924a7ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:36:25.6366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:38: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bef348e5-9039-054a-896f-5a1fd924a7ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:36:25.6366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:39: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bef348e5-9039-054a-896f-5a1fd924a7ca\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:36:25.6366666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:39: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e548f3be-3990-4a05-896f-5a1fd924a7ca?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bef348e5-9039-054a-896f-5a1fd924a7ca\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T05:36:25.6366666Z\",\n \"endTime\": - \"2021-10-19T05:40:00.5367346Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:40: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdclscfq47-79a739\",\n \"fqdn\": - \"cliakstest-clitestdclscfq47-79a739-05b27df3.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdclscfq47-79a739-05b27df3.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 \"workloadRuntime\": - \"OCIContainer\",\n \"vnetSubnetID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n - \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"ingressApplicationGateway\": {\n \"enabled\": true,\n \"config\": - {\n \"applicationGatewayId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw\",\n - \ \"effectiveApplicationGatewayId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/applicationGateways/appgw\"\n - \ },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-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/bdb11b19-0548-4b7b-bafa-e5b39dbe2e0b\"\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 \"publicNetworkAccess\": - \"Enabled\"\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: - - '4477' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:40: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: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Contributor%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Contributor","type":"BuiltInRole","description":"Grants - full access to manage all resources, but does not allow you to assign roles - in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2020-12-04T00:34:54.8501087Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' - headers: - cache-control: - - no-cache - content-length: - - '984' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:40:28 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/b24988ac-6180-42a0-ab88-20f7382dd24c", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleAssignments/6d69d191-7b15-4efc-a599-ef2e611b5c17?api-version=2020-04-01-preview - response: - body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","condition":null,"conditionVersion":null,"createdOn":"2021-10-19T05:40:28.6815299Z","updatedOn":"2021-10-19T05:40:28.9315335Z","createdBy":null,"updatedBy":"119e1aeb-4592-42d6-9507-c66df857924f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Authorization/roleAssignments/6d69d191-7b15-4efc-a599-ef2e611b5c17","type":"Microsoft.Authorization/roleAssignments","name":"6d69d191-7b15-4efc-a599-ef2e611b5c17"}' - headers: - cache-control: - - no-cache - content-length: - - '889' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:40: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: - - aks create - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Network%20Contributor%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Network Contributor","type":"BuiltInRole","description":"Lets - you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2016-05-31T23:14:00.3326359Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' - headers: - cache-control: - - no-cache - content-length: - - '873' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:40: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 - 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/4d97b98b-1d4f-4787-a291-c67834d212e7", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - -n -g --enable-managed-identity --vnet-subnet-id -a --appgw-id --yes --ssh-key-value - -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/34d28697-a1a0-4b9c-82c6-c2e7a16176f4?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":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet","condition":null,"conditionVersion":null,"createdOn":"2021-10-19T05:40:30.0586436Z","updatedOn":"2021-10-19T05:40:30.4180764Z","createdBy":null,"updatedBy":"119e1aeb-4592-42d6-9507-c66df857924f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/34d28697-a1a0-4b9c-82c6-c2e7a16176f4","type":"Microsoft.Authorization/roleAssignments","name":"34d28697-a1a0-4b9c-82c6-c2e7a16176f4"}' - headers: - cache-control: - - no-cache - content-length: - - '1049' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:40:31 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: - - '1196' - status: - code: 201 - message: Created -version: 1 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 old mode 100755 new mode 100644 index 21119e85139..c57307d0426 --- 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 @@ -13,12 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:11:03Z"},"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-12-01T14:02:26Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -27,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:11:05 GMT + - Wed, 01 Dec 2021 14:02:27 GMT expires: - '-1' pragma: @@ -41,1409 +41,4 @@ interactions: status: code: 200 message: OK -- request: - body: '{"location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["11.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "aks-subnet", "properties": - {"addressPrefix": "11.0.0.0/24", "privateEndpointNetworkPolicies": "Enabled", - "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - Content-Length: - - '302' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"792a51ac-4e48-4ca3-b47f-3cc32a477163\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"6c5db68e-5744-4fc8-a0d3-dcd328ca185b\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"792a51ac-4e48-4ca3-b47f-3cc32a477163\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"11.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/westus2/operations/c474b145-e40f-4af5-9d9e-f6b53bdc5d32?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '1327' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:11:08 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: - - 7a3b7845-2046-458f-be2f-5a7a904a8016 - 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: - - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c474b145-e40f-4af5-9d9e-f6b53bdc5d32?api-version=2021-03-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 Oct 2021 05:11: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: - - d87cbd86-5290-4a04-94a3-2d056fa5ab07 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"221187b1-493a-4f9b-bd4e-91889747824d\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"6c5db68e-5744-4fc8-a0d3-dcd328ca185b\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"221187b1-493a-4f9b-bd4e-91889747824d\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"11.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: - - '1329' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:11:11 GMT - etag: - - W/"221187b1-493a-4f9b-bd4e-91889747824d" - 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: - - cbe1be44-2c2d-4f1c-bc50-2ba1bcefb4fb - 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: - - -n --resource-group --vnet-name --address-prefixes -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"221187b1-493a-4f9b-bd4e-91889747824d\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"6c5db68e-5744-4fc8-a0d3-dcd328ca185b\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"221187b1-493a-4f9b-bd4e-91889747824d\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"11.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: - - '1329' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:11:12 GMT - etag: - - W/"221187b1-493a-4f9b-bd4e-91889747824d" - 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: - - 89861f05-1ba3-47a6-8d06-e835655368b8 - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003", - "location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["11.0.0.0/16"]}, "dhcpOptions": {"dnsServers": []}, "subnets": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", - "name": "aks-subnet", "type": "Microsoft.Network/virtualNetworks/subnets", "properties": - {"addressPrefix": "11.0.0.0/24", "delegations": [], "privateEndpointNetworkPolicies": - "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}}, {"name": "appgw-subnet", - "properties": {"addressPrefix": "11.0.1.0/24", "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: - - '947' - Content-Type: - - application/json - ParameterSetName: - - -n --resource-group --vnet-name --address-prefixes -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"0512553c-464a-4781-a29b-c6f32a20cee5\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"6c5db68e-5744-4fc8-a0d3-dcd328ca185b\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"0512553c-464a-4781-a29b-c6f32a20cee5\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"11.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 \"name\": \"appgw-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\",\r\n - \ \"etag\": \"W/\\\"0512553c-464a-4781-a29b-c6f32a20cee5\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"11.0.1.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/westus2/operations/598de7e5-ad7d-4206-a89c-077a11655446?api-version=2021-03-01 - cache-control: - - no-cache - content-length: - - '1956' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:11: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-arm-service-request-id: - - bb10429c-d170-4988-a5fb-1c85b723e4ea - 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: - - -n --resource-group --vnet-name --address-prefixes -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/598de7e5-ad7d-4206-a89c-077a11655446?api-version=2021-03-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 Oct 2021 05:11: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 - x-ms-arm-service-request-id: - - ce34e651-fc8d-48dc-99c0-724bb34ee2ce - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet subnet create - Connection: - - keep-alive - ParameterSetName: - - -n --resource-group --vnet-name --address-prefixes -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 - response: - body: - string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"af39e90d-a0e6-4439-9eb4-56af88791410\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"6c5db68e-5744-4fc8-a0d3-dcd328ca185b\",\r\n \"addressSpace\": - {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n - \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n - \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"af39e90d-a0e6-4439-9eb4-56af88791410\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"11.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 \"name\": \"appgw-subnet\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\",\r\n - \ \"etag\": \"W/\\\"af39e90d-a0e6-4439-9eb4-56af88791410\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"11.0.1.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: - - '1959' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:11:16 GMT - etag: - - W/"af39e90d-a0e6-4439-9eb4-56af88791410" - 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: - - a7555785-c00e-44eb-9690-cb99ce7d73bf - 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 --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:11:03Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05: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: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/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/8e3af657-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-26T05:33:00.7067936Z","updatedOn":"2021-04-26T05:33:00.7067936Z","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/2adf4737-6342-4f63-aeb2-5fcd3426a387","type":"Microsoft.Authorization/roleAssignments","name":"2adf4737-6342-4f63-aeb2-5fcd3426a387"},{"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-04-26T06:09:24.5972802Z","updatedOn":"2021-04-26T06:09:24.5972802Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c4572c05-f69f-4e5c-aac6-79afefcf0e2e","type":"Microsoft.Authorization/roleAssignments","name":"c4572c05-f69f-4e5c-aac6-79afefcf0e2e"},{"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-06-18T05:18:40.4643436Z","updatedOn":"2021-06-18T05:18:40.4643436Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3f926301-cc14-4a88-a3b7-c159d73d01f6","type":"Microsoft.Authorization/roleAssignments","name":"3f926301-cc14-4a88-a3b7-c159d73d01f6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-09-18T03:09:33.8702688Z","updatedOn":"2021-09-18T03:09:33.8702688Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/99d6fd13-909e-4c52-807e-77f7a5af83c8","type":"Microsoft.Authorization/roleAssignments","name":"99d6fd13-909e-4c52-807e-77f7a5af83c8"},{"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":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de","condition":null,"conditionVersion":null,"createdOn":"2021-10-07T21:55:07.2303024Z","updatedOn":"2021-10-07T21:55:07.2303024Z","createdBy":"8031e009-cc05-4950-8a8d-78942c4492ac","updatedBy":"8031e009-cc05-4950-8a8d-78942c4492ac","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de/providers/Microsoft.Authorization/roleAssignments/99c5a294-bfee-468a-ab2f-f6db60b8c8f3","type":"Microsoft.Authorization/roleAssignments","name":"99c5a294-bfee-468a-ab2f-f6db60b8c8f3"},{"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/465fbb01-3623-f393-e42f-e19c0d2982de","condition":null,"conditionVersion":null,"createdOn":"2021-10-08T17:23:35.8382756Z","updatedOn":"2021-10-08T17:23:35.8382756Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de/providers/Microsoft.Authorization/roleAssignments/ade4333c-4321-4b68-b498-d081d55e2b0c","type":"Microsoft.Authorization/roleAssignments","name":"ade4333c-4321-4b68-b498-d081d55e2b0c"},{"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/dfe50df8-51fe-4401-daad-efca9fc8f14b","condition":null,"conditionVersion":null,"createdOn":"2021-04-22T14:50:37.5977858Z","updatedOn":"2021-04-22T14:50:37.5977858Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/dfe50df8-51fe-4401-daad-efca9fc8f14b/providers/Microsoft.Authorization/roleAssignments/eb6c03a6-8e33-4d47-807c-9cdf9ef1e3d8","type":"Microsoft.Authorization/roleAssignments","name":"eb6c03a6-8e33-4d47-807c-9cdf9ef1e3d8"},{"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/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9136073Z","updatedOn":"2019-03-26T22:01:02.9136073Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6f4de15e-9316-4714-a7c4-40c46cf8e067","type":"Microsoft.Authorization/roleAssignments","name":"6f4de15e-9316-4714-a7c4-40c46cf8e067"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:13.2137492Z","updatedOn":"2020-02-25T18:36:13.2137492Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/18fdd87e-1c01-424e-b380-32310f4940c2","type":"Microsoft.Authorization/roleAssignments","name":"18fdd87e-1c01-424e-b380-32310f4940c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:00.4746112Z","updatedOn":"2020-02-25T18:36:00.4746112Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d9bcf58a-6f24-446d-bf60-20ffe5142396","type":"Microsoft.Authorization/roleAssignments","name":"d9bcf58a-6f24-446d-bf60-20ffe5142396"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:55.7490022Z","updatedOn":"2020-02-25T18:35:55.7490022Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6e2b954b-42b2-48e0-997a-622601f0a4b4","type":"Microsoft.Authorization/roleAssignments","name":"6e2b954b-42b2-48e0-997a-622601f0a4b4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:57.9173081Z","updatedOn":"2020-02-25T18:35:57.9173081Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9","type":"Microsoft.Authorization/roleAssignments","name":"8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:23.0673659Z","updatedOn":"2020-02-25T18:36:23.0673659Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d0817c57-3e5b-4363-88b7-52baadd5c362","type":"Microsoft.Authorization/roleAssignments","name":"d0817c57-3e5b-4363-88b7-52baadd5c362"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:31.2596366Z","updatedOn":"2020-02-25T18:36:31.2596366Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0dabf212-a1c7-4af6-ba8b-be045493b368","type":"Microsoft.Authorization/roleAssignments","name":"0dabf212-a1c7-4af6-ba8b-be045493b368"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:52.9188704Z","updatedOn":"2020-02-25T18:35:52.9188704Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d674b853-332e-4437-9ddb-bba8fde7ccce","type":"Microsoft.Authorization/roleAssignments","name":"d674b853-332e-4437-9ddb-bba8fde7ccce"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:38.8393742Z","updatedOn":"2020-02-25T18:36:38.8393742Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/00625383-053d-4227-a4db-b098e9bd2289","type":"Microsoft.Authorization/roleAssignments","name":"00625383-053d-4227-a4db-b098e9bd2289"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:05.0954462Z","updatedOn":"2020-02-25T18:36:05.0954462Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/3151fe9c-fcd2-45d3-a256-72fb13b86df5","type":"Microsoft.Authorization/roleAssignments","name":"3151fe9c-fcd2-45d3-a256-72fb13b86df5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-07-06T18:51:23.0753297Z","updatedOn":"2020-07-06T18:51:23.0753297Z","createdBy":"d59f4a71-eff1-4bfa-a572-fe518f49f6c7","updatedBy":"d59f4a71-eff1-4bfa-a572-fe518f49f6c7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b3a9e1db-fde1-4ddd-ac1c-91913be67359","type":"Microsoft.Authorization/roleAssignments","name":"b3a9e1db-fde1-4ddd-ac1c-91913be67359"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-09T18:17:33.0012805Z","updatedOn":"2021-08-09T18:17:33.0012805Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/01de8fe7-aae0-4d5c-844a-f0bdb8335252","type":"Microsoft.Authorization/roleAssignments","name":"01de8fe7-aae0-4d5c-844a-f0bdb8335252"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-09T18:17:39.9188336Z","updatedOn":"2021-08-09T18:17:39.9188336Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/ab2be506-5489-4c1f-add0-f5ed87a10439","type":"Microsoft.Authorization/roleAssignments","name":"ab2be506-5489-4c1f-add0-f5ed87a10439"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-24T19:32:18.2000692Z","updatedOn":"2021-08-24T19:32:18.2000692Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0ce2f3fb-17ea-4193-9081-09aa4b39fec4","type":"Microsoft.Authorization/roleAssignments","name":"0ce2f3fb-17ea-4193-9081-09aa4b39fec4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-24T19:32:36.6775144Z","updatedOn":"2021-08-24T19:32:36.6775144Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/2e95b289-99bd-4e68-83de-5433f2a0428c","type":"Microsoft.Authorization/roleAssignments","name":"2e95b289-99bd-4e68-83de-5433f2a0428c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd6e57ea-fe3c-4f21-bd1e-de170a9a4971","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-15T21:46:52.6665975Z","updatedOn":"2021-09-15T21:46:52.6665975Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6d2e0600-74af-4aeb-b479-1718dd4dffdf","type":"Microsoft.Authorization/roleAssignments","name":"6d2e0600-74af-4aeb-b479-1718dd4dffdf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-23T22:47:24.2398372Z","updatedOn":"2021-09-23T22:47:24.2398372Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/68d8c18e-3dd6-4bf4-ae99-aac6ffb945cc","type":"Microsoft.Authorization/roleAssignments","name":"68d8c18e-3dd6-4bf4-ae99-aac6ffb945cc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-23T22:48:58.7755038Z","updatedOn":"2021-09-23T22:48:58.7755038Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/1201e06e-7fa6-44c7-bb6b-a4bd82994d4d","type":"Microsoft.Authorization/roleAssignments","name":"1201e06e-7fa6-44c7-bb6b-a4bd82994d4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:10:13.8998989Z","updatedOn":"2021-01-26T20:10:13.8998989Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b36517ec-61d3-468d-afdc-eceda8adb4ee","type":"Microsoft.Authorization/roleAssignments","name":"b36517ec-61d3-468d-afdc-eceda8adb4ee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-06T00:13:19.1780775Z","updatedOn":"2021-02-06T00:13:19.1780775Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/5216c1ee-4f58-4d36-b379-6c04b1fbd157","type":"Microsoft.Authorization/roleAssignments","name":"5216c1ee-4f58-4d36-b379-6c04b1fbd157"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-24T01:45:04.0423529Z","updatedOn":"2021-02-24T01:45:04.0423529Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/2bcd4a3e-5ac3-4ffa-a529-269be7717766","type":"Microsoft.Authorization/roleAssignments","name":"2bcd4a3e-5ac3-4ffa-a529-269be7717766"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-24T01:45:10.2950077Z","updatedOn":"2021-02-24T01:45:10.2950077Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8f8ed3e8-1b37-4ac1-ad01-7a274f600e79","type":"Microsoft.Authorization/roleAssignments","name":"8f8ed3e8-1b37-4ac1-ad01-7a274f600e79"},{"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/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-04-16T18:26:34.3109215Z","updatedOn":"2021-04-16T18:26:34.3109215Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/7464f8a3-9f55-443b-a3a5-44a31b100cad","type":"Microsoft.Authorization/roleAssignments","name":"7464f8a3-9f55-443b-a3a5-44a31b100cad"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-04-16T18:27:56.4446265Z","updatedOn":"2021-04-16T18:27:56.4446265Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8f430c4c-4317-4495-9f01-4f3d4e1ca111","type":"Microsoft.Authorization/roleAssignments","name":"8f430c4c-4317-4495-9f01-4f3d4e1ca111"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-05-04T19:20:06.7695456Z","updatedOn":"2021-05-04T19:20:06.7695456Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/fb8bab14-7f67-4e57-8aa5-0c4b7ab5a0fa","type":"Microsoft.Authorization/roleAssignments","name":"fb8bab14-7f67-4e57-8aa5-0c4b7ab5a0fa"},{"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 - content-length: - - '33753' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:11:17 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: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitests3a5bwtiz-79a739", - "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "vnetSubnetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ingressApplicationGateway": - {"enabled": true, "config": {"applicationGatewayName": "gateway", "subnetId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet"}}}, - "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}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1852' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitests3a5bwtiz-79a739\",\n \"fqdn\": - \"cliakstest-clitests3a5bwtiz-79a739-8a0022c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitests3a5bwtiz-79a739-8a0022c8.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 \"workloadRuntime\": - \"OCIContainer\",\n \"vnetSubnetID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n - \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"ingressApplicationGateway\": {\n \"enabled\": true,\n \"config\": - {\n \"applicationGatewayName\": \"gateway\",\n \"effectiveApplicationGatewayId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/applicationGateways/gateway\",\n - \ \"subnetId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\"\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3523' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:11: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:11: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:12: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:12: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:13: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:13: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:14: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:14: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:15: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d71d164-18cf-40e6-a403-2b48c9a7d1c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"64d1712d-cf18-e640-a403-2b48c9a7d1c0\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T05:11:26.7133333Z\",\n \"endTime\": - \"2021-10-19T05:15:33.9630948Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:15: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitests3a5bwtiz-79a739\",\n \"fqdn\": - \"cliakstest-clitests3a5bwtiz-79a739-8a0022c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitests3a5bwtiz-79a739-8a0022c8.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 \"workloadRuntime\": - \"OCIContainer\",\n \"vnetSubnetID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n - \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"ingressApplicationGateway\": {\n \"enabled\": true,\n \"config\": - {\n \"applicationGatewayName\": \"gateway\",\n \"effectiveApplicationGatewayId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/applicationGateways/gateway\",\n - \ \"subnetId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet\"\n - \ },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-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/f81ecb8d-0007-4c29-92e4-1920b1c6ae14\"\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 \"publicNetworkAccess\": - \"Enabled\"\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: - - '4566' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:15: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: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Network%20Contributor%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Network Contributor","type":"BuiltInRole","description":"Lets - you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2016-05-31T23:14:00.3326359Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' - headers: - cache-control: - - no-cache - content-length: - - '873' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:15:59 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/4d97b98b-1d4f-4787-a291-c67834d212e7", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleAssignments/a8c96064-c0bd-4ec7-a96f-0437f5a84d4e?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":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet","condition":null,"conditionVersion":null,"createdOn":"2021-10-19T05:15:59.8963845Z","updatedOn":"2021-10-19T05:16:00.1620101Z","createdBy":null,"updatedBy":"119e1aeb-4592-42d6-9507-c66df857924f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/appgw-subnet/providers/Microsoft.Authorization/roleAssignments/a8c96064-c0bd-4ec7-a96f-0437f5a84d4e","type":"Microsoft.Authorization/roleAssignments","name":"a8c96064-c0bd-4ec7-a96f-0437f5a84d4e"}' - headers: - cache-control: - - no-cache - content-length: - - '1053' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:16:01 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: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Network%20Contributor%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Network Contributor","type":"BuiltInRole","description":"Lets - you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2016-05-31T23:14:00.3326359Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' - headers: - cache-control: - - no-cache - content-length: - - '873' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:16:01 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/4d97b98b-1d4f-4787-a291-c67834d212e7", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id -a --appgw-name - --appgw-subnet-id --yes --ssh-key-value -o - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/c52d9ef3-7be7-4fb7-b341-267f4a3cf438?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":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet","condition":null,"conditionVersion":null,"createdOn":"2021-10-19T05:16:02.3098139Z","updatedOn":"2021-10-19T05:16:02.5599270Z","createdBy":null,"updatedBy":"119e1aeb-4592-42d6-9507-c66df857924f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/c52d9ef3-7be7-4fb7-b341-267f4a3cf438","type":"Microsoft.Authorization/roleAssignments","name":"c52d9ef3-7be7-4fb7-b341-267f4a3cf438"}' - headers: - cache-control: - - no-cache - content-length: - - '1049' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:16:03 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 version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml old mode 100755 new mode 100644 index 0a5f072a890..6797e2dbc2f --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_aadv1_and_update_with_managed_aad.yaml @@ -14,21 +14,21 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:23:04Z"},"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":"2022-02-11T07:20:59Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:23:05 GMT + - Fri, 11 Feb 2022 07:20:59 GMT expires: - '-1' pragma: @@ -44,13 +44,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestqgfx25fxv-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestpjm5pqydp-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -69,38 +70,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1603' + - '1631' Content-Type: - application/json ParameterSetName: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestqgfx25fxv-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestpjm5pqydp-8ecadf\",\n \"fqdn\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -109,24 +111,27 @@ interactions: {\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 \"aadProfile\": {\n \"adminGroupObjectIDs\": + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"aadProfile\": {\n \"adminGroupObjectIDs\": null,\n \"adminUsers\": null,\n \"clientAppID\": \"00000000-0000-0000-0000-000000000002\",\n \"serverAppID\": \"00000000-0000-0000-0000-000000000001\",\n \"tenantID\": \"d5b55040-0c14-48cc-a028-91457fc190d9\"\n - \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3009' + - '3279' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:08 GMT + - Fri, 11 Feb 2022 07:21:03 GMT expires: - '-1' pragma: @@ -138,7 +143,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 201 message: Created @@ -157,14 +162,63 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret + --aad-client-app-id --aad-tenant-id --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"64c0d2b4-cc34-ab43-bbb4-9a513f1faab0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:08.6133333Z\"\n }" + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\"\n }" headers: cache-control: - no-cache @@ -173,7 +227,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:38 GMT + - Fri, 11 Feb 2022 07:22:03 GMT expires: - '-1' pragma: @@ -206,14 +260,14 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"64c0d2b4-cc34-ab43-bbb4-9a513f1faab0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:08.6133333Z\"\n }" + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\"\n }" headers: cache-control: - no-cache @@ -222,7 +276,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:08 GMT + - Fri, 11 Feb 2022 07:22:33 GMT expires: - '-1' pragma: @@ -255,14 +309,14 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"64c0d2b4-cc34-ab43-bbb4-9a513f1faab0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:08.6133333Z\"\n }" + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\"\n }" headers: cache-control: - no-cache @@ -271,7 +325,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:38 GMT + - Fri, 11 Feb 2022 07:23:03 GMT expires: - '-1' pragma: @@ -304,14 +358,14 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"64c0d2b4-cc34-ab43-bbb4-9a513f1faab0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:08.6133333Z\"\n }" + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\"\n }" headers: cache-control: - no-cache @@ -320,7 +374,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:08 GMT + - Fri, 11 Feb 2022 07:23:34 GMT expires: - '-1' pragma: @@ -353,14 +407,14 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"64c0d2b4-cc34-ab43-bbb4-9a513f1faab0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:08.6133333Z\"\n }" + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\"\n }" headers: cache-control: - no-cache @@ -369,7 +423,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:38 GMT + - Fri, 11 Feb 2022 07:24:03 GMT expires: - '-1' pragma: @@ -402,14 +456,14 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"64c0d2b4-cc34-ab43-bbb4-9a513f1faab0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:08.6133333Z\"\n }" + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\"\n }" headers: cache-control: - no-cache @@ -418,7 +472,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:08 GMT + - Fri, 11 Feb 2022 07:24:33 GMT expires: - '-1' pragma: @@ -451,14 +505,14 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"64c0d2b4-cc34-ab43-bbb4-9a513f1faab0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:08.6133333Z\"\n }" + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\"\n }" headers: cache-control: - no-cache @@ -467,7 +521,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:39 GMT + - Fri, 11 Feb 2022 07:25:03 GMT expires: - '-1' pragma: @@ -500,24 +554,24 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b4d2c064-34cc-43ab-bbb4-9a513f1faab0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c93e2d72-35ed-4ee1-baa6-96feb556e74b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"64c0d2b4-cc34-ab43-bbb4-9a513f1faab0\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:23:08.6133333Z\",\n \"endTime\": - \"2021-10-19T07:26:50.404029Z\"\n }" + string: "{\n \"name\": \"722d3ec9-ed35-e14e-baa6-96feb556e74b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:21:03.5766666Z\",\n \"endTime\": + \"2022-02-11T07:25:09.8580235Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:08 GMT + - Fri, 11 Feb 2022 07:25:33 GMT expires: - '-1' pragma: @@ -550,60 +604,64 @@ interactions: - --resource-group --name --vm-set-type -c --aad-server-app-id --aad-server-app-secret --aad-client-app-id --aad-tenant-id --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestqgfx25fxv-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestpjm5pqydp-8ecadf\",\n \"fqdn\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/25792612-4102-48ce-825d-50c33534640e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d52ff296-d7aa-436f-b8e1-e140f4bfe41a\"\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 \"aadProfile\": - {\n \"adminGroupObjectIDs\": null,\n \"clientAppID\": \"00000000-0000-0000-0000-000000000002\",\n - \ \"serverAppID\": \"00000000-0000-0000-0000-000000000001\",\n \"tenantID\": - \"d5b55040-0c14-48cc-a028-91457fc190d9\"\n },\n \"maxAgentPools\": 100,\n - \ \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": + {\n \"adminGroupObjectIDs\": null,\n \"adminUsers\": null,\n \"clientAppID\": + \"00000000-0000-0000-0000-000000000002\",\n \"serverAppID\": \"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantID\": \"d5b55040-0c14-48cc-a028-91457fc190d9\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3672' + - '3932' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:09 GMT + - Fri, 11 Feb 2022 07:25:33 GMT expires: - '-1' pragma: @@ -636,60 +694,64 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestqgfx25fxv-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestpjm5pqydp-8ecadf\",\n \"fqdn\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/25792612-4102-48ce-825d-50c33534640e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d52ff296-d7aa-436f-b8e1-e140f4bfe41a\"\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 \"aadProfile\": - {\n \"adminGroupObjectIDs\": null,\n \"clientAppID\": \"00000000-0000-0000-0000-000000000002\",\n - \ \"serverAppID\": \"00000000-0000-0000-0000-000000000001\",\n \"tenantID\": - \"d5b55040-0c14-48cc-a028-91457fc190d9\"\n },\n \"maxAgentPools\": 100,\n - \ \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": + {\n \"adminGroupObjectIDs\": null,\n \"adminUsers\": null,\n \"clientAppID\": + \"00000000-0000-0000-0000-000000000002\",\n \"serverAppID\": \"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantID\": \"d5b55040-0c14-48cc-a028-91457fc190d9\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3672' + - '3932' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:10 GMT + - Fri, 11 Feb 2022 07:25:34 GMT expires: - '-1' pragma: @@ -709,27 +771,28 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestqgfx25fxv-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestpjm5pqydp-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/25792612-4102-48ce-825d-50c33534640e"}]}}, - "aadProfile": {"managed": true, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000003"], + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d52ff296-d7aa-436f-b8e1-e140f4bfe41a"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "aadProfile": {"managed": true, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000003"], "tenantID": "00000000-0000-0000-0000-000000000004"}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -740,68 +803,72 @@ interactions: Connection: - keep-alive Content-Length: - - '2461' + - '2577' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestqgfx25fxv-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestpjm5pqydp-8ecadf\",\n \"fqdn\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/25792612-4102-48ce-825d-50c33534640e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d52ff296-d7aa-436f-b8e1-e140f4bfe41a\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000003\"\n - \ ],\n \"tenantID\": \"00000000-0000-0000-0000-000000000004\"\n },\n - \ \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + \ ],\n \"adminUsers\": null,\n \"tenantID\": \"00000000-0000-0000-0000-000000000004\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/0671c1ec-290b-466d-bd4f-7d88b17238d5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42cbfe63-aca4-44c9-bdfe-25902a37054b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3620' + - '3880' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:12 GMT + - Fri, 11 Feb 2022 07:25:37 GMT expires: - '-1' pragma: @@ -817,7 +884,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 200 message: OK @@ -836,23 +903,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0671c1ec-290b-466d-bd4f-7d88b17238d5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42cbfe63-aca4-44c9-bdfe-25902a37054b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ecc17106-0b29-6d46-bd4f-7d88b17238d5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:27:12.6133333Z\"\n }" + string: "{\n \"name\": \"63fecb42-a4ac-c944-bdfe-25902a37054b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:37.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:42 GMT + - Fri, 11 Feb 2022 07:26:07 GMT expires: - '-1' pragma: @@ -885,23 +952,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0671c1ec-290b-466d-bd4f-7d88b17238d5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42cbfe63-aca4-44c9-bdfe-25902a37054b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ecc17106-0b29-6d46-bd4f-7d88b17238d5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:27:12.6133333Z\"\n }" + string: "{\n \"name\": \"63fecb42-a4ac-c944-bdfe-25902a37054b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:37.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:12 GMT + - Fri, 11 Feb 2022 07:26:37 GMT expires: - '-1' pragma: @@ -934,23 +1001,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0671c1ec-290b-466d-bd4f-7d88b17238d5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42cbfe63-aca4-44c9-bdfe-25902a37054b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ecc17106-0b29-6d46-bd4f-7d88b17238d5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:27:12.6133333Z\"\n }" + string: "{\n \"name\": \"63fecb42-a4ac-c944-bdfe-25902a37054b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:37.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:42 GMT + - Fri, 11 Feb 2022 07:27:07 GMT expires: - '-1' pragma: @@ -983,23 +1050,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0671c1ec-290b-466d-bd4f-7d88b17238d5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42cbfe63-aca4-44c9-bdfe-25902a37054b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ecc17106-0b29-6d46-bd4f-7d88b17238d5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:27:12.6133333Z\"\n }" + string: "{\n \"name\": \"63fecb42-a4ac-c944-bdfe-25902a37054b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:37.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:13 GMT + - Fri, 11 Feb 2022 07:27:37 GMT expires: - '-1' pragma: @@ -1032,24 +1099,122 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0671c1ec-290b-466d-bd4f-7d88b17238d5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42cbfe63-aca4-44c9-bdfe-25902a37054b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ecc17106-0b29-6d46-bd4f-7d88b17238d5\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:27:12.6133333Z\",\n \"endTime\": - \"2021-10-19T07:29:13.5617757Z\"\n }" + string: "{\n \"name\": \"63fecb42-a4ac-c944-bdfe-25902a37054b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:37.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:28: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42cbfe63-aca4-44c9-bdfe-25902a37054b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"63fecb42-a4ac-c944-bdfe-25902a37054b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:37.73Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:28: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42cbfe63-aca4-44c9-bdfe-25902a37054b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"63fecb42-a4ac-c944-bdfe-25902a37054b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:25:37.73Z\",\n \"endTime\": + \"2022-02-11T07:28:57.6978995Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:42 GMT + - Fri, 11 Feb 2022 07:29:08 GMT expires: - '-1' pragma: @@ -1082,59 +1247,63 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestqgfx25fxv-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestqgfx25fxv-8ecadf-aaad543b.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestpjm5pqydp-8ecadf\",\n \"fqdn\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestpjm5pqydp-8ecadf-3d4307e2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/25792612-4102-48ce-825d-50c33534640e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/d52ff296-d7aa-436f-b8e1-e140f4bfe41a\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000003\"\n - \ ],\n \"tenantID\": \"00000000-0000-0000-0000-000000000004\"\n },\n - \ \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + \ ],\n \"adminUsers\": null,\n \"tenantID\": \"00000000-0000-0000-0000-000000000004\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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' + - '3882' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:43 GMT + - Fri, 11 Feb 2022 07:29:08 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_add_nodepool_with_motd.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_add_nodepool_with_motd.yaml new file mode 100644 index 00000000000..a782ff93bdb --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_add_nodepool_with_motd.yaml @@ -0,0 +1,1285 @@ +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 --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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":"2022-02-22T06:30:46Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '304' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Feb 2022 06:30: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: '{"location": "eastus", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestsdt4rms7u-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "messageOfTheDay": "VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=", + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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"}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '2180' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliakstest-clitestsdt4rms7u-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsdt4rms7u-8ecadf-e84670cb.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestsdt4rms7u-8ecadf-e84670cb.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n \"enableFIPS\": false,\n + \ \"messageOfTheDay\": \"VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=\"\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3787' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:30:51 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:33: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:33: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:34: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:34: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:35: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/be9344a2-aa90-4505-9fb0-afa9707419c9?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"a24493be-90aa-0545-9fb0-afa9707419c9\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-22T06:30:51.1566666Z\",\n \"endTime\": + \"2022-02-22T06:35:42.2941893Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliakstest-clitestsdt4rms7u-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsdt4rms7u-8ecadf-e84670cb.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestsdt4rms7u-8ecadf-e84670cb.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n \"enableFIPS\": false,\n + \ \"messageOfTheDay\": \"VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=\"\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\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/a37fe3d2-32bd-41f5-8796-4b70680bf076\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4438' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:35: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 --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n + \ \"enableFIPS\": false,\n \"messageOfTheDay\": \"VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=\"\n + \ }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '1439' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:35: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: '{"properties": {"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "messageOfTheDay": "VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=", + "osType": "Linux", "scaleDownMode": "Delete", "mode": "User", "upgradeSettings": + {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "spotMaxPrice": -1.0, "nodeTaints": [], "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '827' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"messageOfTheDay\": + \"VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=\"\n + \ }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/567b8886-083e-4aee-95e5-da1035d05578?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '1410' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:35:56 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/567b8886-083e-4aee-95e5-da1035d05578?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"86887b56-3e08-ee4a-95e5-da1035d05578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:35:57.4366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:36: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/567b8886-083e-4aee-95e5-da1035d05578?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"86887b56-3e08-ee4a-95e5-da1035d05578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:35:57.4366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:36: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/567b8886-083e-4aee-95e5-da1035d05578?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"86887b56-3e08-ee4a-95e5-da1035d05578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:35:57.4366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:37: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/567b8886-083e-4aee-95e5-da1035d05578?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"86887b56-3e08-ee4a-95e5-da1035d05578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:35:57.4366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:37: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/567b8886-083e-4aee-95e5-da1035d05578?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"86887b56-3e08-ee4a-95e5-da1035d05578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:35:57.4366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:38: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/567b8886-083e-4aee-95e5-da1035d05578?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"86887b56-3e08-ee4a-95e5-da1035d05578\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-22T06:35:57.4366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:38: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/567b8886-083e-4aee-95e5-da1035d05578?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"86887b56-3e08-ee4a-95e5-da1035d05578\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-22T06:35:57.4366666Z\",\n \"endTime\": + \"2022-02-22T06:39:02.4690449Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:39: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --message-of-the-day + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"messageOfTheDay\": + \"VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '1411' + content-type: + - application/json + date: + - Tue, 22 Feb 2022 06:39: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: 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: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4edc53a9-5fb3-45ed-870a-0026a20c9f13?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 06:39:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/4edc53a9-5fb3-45ed-870a-0026a20c9f13?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_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 8abb5a137be..bcc79e8cb5f 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 @@ -14,22 +14,21 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-resource/19.0.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-20T15:49:32Z"},"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":"2022-02-11T07:20:58Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Wed, 20 Oct 2021 15:49:40 GMT + - Fri, 11 Feb 2022 07:20:59 GMT expires: - '-1' pragma: @@ -45,19 +44,20 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestubw6cybvx-26fe00", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestyrmwgmygo-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": - true, "config": {"enableSecretRotation": "true", "rotationPollInterval": "30m"}}}, - "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}}' + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": true, "config": {"enableSecretRotation": "true", "rotationPollInterval": + "30m"}}}, "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}}' headers: Accept: - application/json @@ -68,67 +68,67 @@ interactions: Connection: - keep-alive Content-Length: - - '1844' + - '1543' Content-Type: - application/json ParameterSetName: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestubw6cybvx-26fe00\",\n \"fqdn\": \"cliakstest-clitestubw6cybvx-26fe00-15fbf228.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestubw6cybvx-26fe00-15fbf228.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \ - \ \"rotationPollInterval\": \"30m\"\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\"\ - : \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestyrmwgmygo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestyrmwgmygo-8ecadf-9f50f7ac.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestyrmwgmygo-8ecadf-9f50f7ac.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"30m\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3315' + - '3216' content-type: - application/json date: - - Wed, 20 Oct 2021 15:49:53 GMT + - Fri, 11 Feb 2022 07:21:02 GMT expires: - '-1' pragma: @@ -140,7 +140,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -159,14 +159,14 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"365e8524-72d4-4147-b104-b20760ed7fdc\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T15:49:52.7933333Z\"\n }" + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\"\n }" headers: cache-control: - no-cache @@ -175,7 +175,7 @@ interactions: content-type: - application/json date: - - Wed, 20 Oct 2021 15:50:23 GMT + - Fri, 11 Feb 2022 07:21:32 GMT expires: - '-1' pragma: @@ -208,14 +208,14 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"365e8524-72d4-4147-b104-b20760ed7fdc\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T15:49:52.7933333Z\"\n }" + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\"\n }" headers: cache-control: - no-cache @@ -224,7 +224,7 @@ interactions: content-type: - application/json date: - - Wed, 20 Oct 2021 15:50:53 GMT + - Fri, 11 Feb 2022 07:22:02 GMT expires: - '-1' pragma: @@ -257,14 +257,14 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"365e8524-72d4-4147-b104-b20760ed7fdc\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T15:49:52.7933333Z\"\n }" + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\"\n }" headers: cache-control: - no-cache @@ -273,7 +273,7 @@ interactions: content-type: - application/json date: - - Wed, 20 Oct 2021 15:51:24 GMT + - Fri, 11 Feb 2022 07:22:32 GMT expires: - '-1' pragma: @@ -306,14 +306,14 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"365e8524-72d4-4147-b104-b20760ed7fdc\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T15:49:52.7933333Z\"\n }" + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\"\n }" headers: cache-control: - no-cache @@ -322,7 +322,7 @@ interactions: content-type: - application/json date: - - Wed, 20 Oct 2021 15:51:54 GMT + - Fri, 11 Feb 2022 07:23:02 GMT expires: - '-1' pragma: @@ -355,14 +355,14 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"365e8524-72d4-4147-b104-b20760ed7fdc\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T15:49:52.7933333Z\"\n }" + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\"\n }" headers: cache-control: - no-cache @@ -371,7 +371,7 @@ interactions: content-type: - application/json date: - - Wed, 20 Oct 2021 15:52:24 GMT + - Fri, 11 Feb 2022 07:23:33 GMT expires: - '-1' pragma: @@ -404,14 +404,14 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"365e8524-72d4-4147-b104-b20760ed7fdc\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T15:49:52.7933333Z\"\n }" + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\"\n }" headers: cache-control: - no-cache @@ -420,7 +420,7 @@ interactions: content-type: - application/json date: - - Wed, 20 Oct 2021 15:52:55 GMT + - Fri, 11 Feb 2022 07:24:03 GMT expires: - '-1' pragma: @@ -453,14 +453,14 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"365e8524-72d4-4147-b104-b20760ed7fdc\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T15:49:52.7933333Z\"\n }" + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\"\n }" headers: cache-control: - no-cache @@ -469,7 +469,7 @@ interactions: content-type: - application/json date: - - Wed, 20 Oct 2021 15:53:26 GMT + - Fri, 11 Feb 2022 07:24:32 GMT expires: - '-1' pragma: @@ -502,15 +502,64 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24855e36-d472-4741-b104-b20760ed7fdc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"365e8524-72d4-4147-b104-b20760ed7fdc\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-10-20T15:49:52.7933333Z\",\n \"\ - endTime\": \"2021-10-20T15:53:54.0916303Z\"\n }" + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:25: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57f8edb5-15a3-4563-b4b6-7d15a5035c40?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b5edf857-a315-6345-b4b6-7d15a5035c40\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:21:02.7833333Z\",\n \"endTime\": + \"2022-02-11T07:25:28.6132318Z\"\n }" headers: cache-control: - no-cache @@ -519,7 +568,7 @@ interactions: content-type: - application/json date: - - Wed, 20 Oct 2021 15:53:56 GMT + - Fri, 11 Feb 2022 07:25:32 GMT expires: - '-1' pragma: @@ -552,66 +601,65 @@ interactions: - --resource-group --name -a --enable-secret-rotation --rotation-poll-interval --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestubw6cybvx-26fe00\",\n \"fqdn\": \"cliakstest-clitestubw6cybvx-26fe00-15fbf228.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestubw6cybvx-26fe00-15fbf228.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \ - \ \"rotationPollInterval\": \"30m\"\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/c8cd1b7f-0993-4ea1-b60e-67bd810fcf75\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestyrmwgmygo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestyrmwgmygo-8ecadf-9f50f7ac.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestyrmwgmygo-8ecadf-9f50f7ac.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"30m\"\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/e28be9cb-bcd7-4f6a-b565-9343f1dc2355\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4361' + - '4246' content-type: - application/json date: - - Wed, 20 Oct 2021 15:53:56 GMT + - Fri, 11 Feb 2022 07:25:33 GMT expires: - '-1' pragma: @@ -645,26 +693,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/20d86cdb-ae2a-4e9f-9588-cdf27520eeb8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/df87e9d0-23c5-49f7-ac92-2102d9502231?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Wed, 20 Oct 2021 15:54:00 GMT + - Fri, 11 Feb 2022 07:25:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/20d86cdb-ae2a-4e9f-9588-cdf27520eeb8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/df87e9d0-23c5-49f7-ac92-2102d9502231?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_ipv6_count.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_ipv6_count.yaml new file mode 100755 index 00000000000..aab3b6b5ccd --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_ipv6_count.yaml @@ -0,0 +1,1356 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks get-versions + Connection: + - keep-alive + ParameterSetName: + - -l --query + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/orchestrators?api-version=2019-04-01&resource-type=managedClusters + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/orchestrators\",\n + \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\",\n + \ \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.19.11\",\n \"upgrades\": + [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.19.13\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.20.13\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.15\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.19.13\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.13\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.15\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.20.13\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.15\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.21.7\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.9\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.15\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.7\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.9\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.21.7\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.9\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.4\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.6\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.9\",\n \"default\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.4\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.6\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.4\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.6\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.23.3\",\n \"isPreview\": true\n + \ }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.6\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.3\",\n \"isPreview\": true\n }\n ]\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.3\",\n \"isPreview\": true\n }\n ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '3138' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:26: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": "centraluseuap", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "1.23.3", "dnsPrefix": "cliakstest-clitesto2budxrve-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, + "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", + "podCidr": "172.126.0.0/16", "serviceCidr": "172.56.0.0/16", "dnsServiceIP": + "172.56.0.10", "outboundType": "loadBalancer", "loadBalancerSku": "standard", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1, "countIPv6": 2}, + "allocatedOutboundPorts": 0, "idleTimeoutInMinutes": 30}, "podCidrs": ["172.126.0.0/16", + "2001:abcd:1234::/64"], "serviceCidrs": ["172.56.0.0/16", "2001:ffff::/108"], + "ipFamilies": ["IPv4", "IPv6"]}, "disableLocalAccounts": false}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1674' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": + \"cliakstest-clitesto2budxrve-8ecadf\",\n \"fqdn\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.portal.hcp.centraluseuap.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1,\n \"countIPv6\": + 2\n },\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\n },\n \"podCidr\": \"172.126.0.0/16\",\n \"serviceCidr\": \"172.56.0.0/16\",\n + \ \"dnsServiceIP\": \"172.56.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"172.126.0.0/16\",\n + \ \"2001:abcd:1234::/64\"\n ],\n \"serviceCidrs\": [\n \"172.56.0.0/16\",\n + \ \"2001:ffff::/108\"\n ],\n \"ipFamilies\": [\n \"IPv4\",\n + \ \"IPv6\"\n ]\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3210' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:26:47 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: + - '1197' + status: + code: 201 + message: Created +- request: + body: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:27: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:27: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:28: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:28: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ebb42eaa-de98-4513-bfe0-e0e766ac8750?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aa2eb4eb-98de-1345-bfe0-e0e766ac8750\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:26:47.34Z\",\n \"endTime\": + \"2022-02-11T07:31:31.6576608Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --load-balancer-managed-outbound-ipv6-count + --network-plugin --ssh-key-value --kubernetes-version --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": + \"cliakstest-clitesto2budxrve-8ecadf\",\n \"fqdn\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.portal.hcp.centraluseuap.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1,\n \"countIPv6\": + 2\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/94a1ac03-be73-4a8c-9c02-b0dd2faa5be2-ipv6\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/deca0d2f-b74b-40d1-9772-d332ec3745f7\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/b69b30c9-84f3-4047-8e1d-0e395c21372f-ipv6\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\n },\n \"podCidr\": \"172.126.0.0/16\",\n \"serviceCidr\": \"172.56.0.0/16\",\n + \ \"dnsServiceIP\": \"172.56.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"172.126.0.0/16\",\n + \ \"2001:abcd:1234::/64\"\n ],\n \"serviceCidrs\": [\n \"172.56.0.0/16\",\n + \ \"2001:ffff::/108\"\n ],\n \"ipFamilies\": [\n \"IPv4\",\n + \ \"IPv6\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4345' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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 update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-managed-outbound-ipv6-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": + \"cliakstest-clitesto2budxrve-8ecadf\",\n \"fqdn\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.portal.hcp.centraluseuap.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1,\n \"countIPv6\": + 2\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/94a1ac03-be73-4a8c-9c02-b0dd2faa5be2-ipv6\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/deca0d2f-b74b-40d1-9772-d332ec3745f7\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/b69b30c9-84f3-4047-8e1d-0e395c21372f-ipv6\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\n },\n \"podCidr\": \"172.126.0.0/16\",\n \"serviceCidr\": \"172.56.0.0/16\",\n + \ \"dnsServiceIP\": \"172.56.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"172.126.0.0/16\",\n + \ \"2001:abcd:1234::/64\"\n ],\n \"serviceCidrs\": [\n \"172.56.0.0/16\",\n + \ \"2001:ffff::/108\"\n ],\n \"ipFamilies\": [\n \"IPv4\",\n + \ \"IPv6\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4345' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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: '{"location": "centraluseuap", "sku": {"name": "Basic", "tier": "Free"}, + "identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "1.23.3", "dnsPrefix": "cliakstest-clitesto2budxrve-8ecadf", "agentPoolProfiles": + [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": + "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": + 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, "type": + "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": "1.23.3", + "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000002_centraluseuap", "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "172.126.0.0/16", "serviceCidr": "172.56.0.0/16", "dnsServiceIP": + "172.56.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": + {"count": 1, "countIPv6": 4}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/94a1ac03-be73-4a8c-9c02-b0dd2faa5be2-ipv6"}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/deca0d2f-b74b-40d1-9772-d332ec3745f7"}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/b69b30c9-84f3-4047-8e1d-0e395c21372f-ipv6"}], + "allocatedOutboundPorts": 0, "idleTimeoutInMinutes": 30}, "podCidrs": ["172.126.0.0/16", + "2001:abcd:1234::/64"], "serviceCidrs": ["172.56.0.0/16", "2001:ffff::/108"], + "ipFamilies": ["IPv4", "IPv6"]}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '2994' + Content-Type: + - application/json + ParameterSetName: + - -g -n --load-balancer-managed-outbound-ipv6-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": + \"cliakstest-clitesto2budxrve-8ecadf\",\n \"fqdn\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.portal.hcp.centraluseuap.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1,\n \"countIPv6\": + 4\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/94a1ac03-be73-4a8c-9c02-b0dd2faa5be2-ipv6\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/deca0d2f-b74b-40d1-9772-d332ec3745f7\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/b69b30c9-84f3-4047-8e1d-0e395c21372f-ipv6\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\n },\n \"podCidr\": \"172.126.0.0/16\",\n \"serviceCidr\": \"172.56.0.0/16\",\n + \ \"dnsServiceIP\": \"172.56.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"172.126.0.0/16\",\n + \ \"2001:abcd:1234::/64\"\n ],\n \"serviceCidrs\": [\n \"172.56.0.0/16\",\n + \ \"2001:ffff::/108\"\n ],\n \"ipFamilies\": [\n \"IPv4\",\n + \ \"IPv6\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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/centraluseuap/operations/12086441-f06e-4407-bab6-1d4f1f6a64da?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4343' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-managed-outbound-ipv6-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/12086441-f06e-4407-bab6-1d4f1f6a64da?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"41640812-6ef0-0744-bab6-1d4f1f6a64da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:53.2466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-managed-outbound-ipv6-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/12086441-f06e-4407-bab6-1d4f1f6a64da?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"41640812-6ef0-0744-bab6-1d4f1f6a64da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:53.2466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-managed-outbound-ipv6-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/12086441-f06e-4407-bab6-1d4f1f6a64da?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"41640812-6ef0-0744-bab6-1d4f1f6a64da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:53.2466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:33: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-managed-outbound-ipv6-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/12086441-f06e-4407-bab6-1d4f1f6a64da?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"41640812-6ef0-0744-bab6-1d4f1f6a64da\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:31:53.2466666Z\",\n \"endTime\": + \"2022-02-11T07:33:40.1014903Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:33: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-managed-outbound-ipv6-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": + \"cliakstest-clitesto2budxrve-8ecadf\",\n \"fqdn\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesto2budxrve-8ecadf-2154d39f.portal.hcp.centraluseuap.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1,\n \"countIPv6\": + 4\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/deca0d2f-b74b-40d1-9772-d332ec3745f7\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/94a1ac03-be73-4a8c-9c02-b0dd2faa5be2-ipv6\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/b69b30c9-84f3-4047-8e1d-0e395c21372f-ipv6\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/1a233190-910b-4eda-bf39-a0dffa8bd1e5-ipv6\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/6546b911-b2a8-47cb-9cbb-cfe8d8698237-ipv6\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\n },\n \"podCidr\": \"172.126.0.0/16\",\n \"serviceCidr\": \"172.56.0.0/16\",\n + \ \"dnsServiceIP\": \"172.56.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"172.126.0.0/16\",\n + \ \"2001:abcd:1234::/64\"\n ],\n \"serviceCidrs\": [\n \"172.56.0.0/16\",\n + \ \"2001:ffff::/108\"\n ],\n \"ipFamilies\": [\n \"IPv4\",\n + \ \"IPv6\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4815' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:33: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 delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/240420c2-060d-4ed0-a222-7a2e4008ed62?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 11 Feb 2022 07:33:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operationresults/240420c2-060d-4ed0-a222-7a2e4008ed62?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14997' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_outbound_ips.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_outbound_ips.yaml new file mode 100755 index 00000000000..4a8d7dfea87 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_outbound_ips.yaml @@ -0,0 +1,1845 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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":"2022-02-11T07:20:00Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '305' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 11 Feb 2022 07:20: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": "westus2", "sku": {"name": "Standard"}, "properties": {"publicIPAllocationMethod": + "Static", "publicIPAddressVersion": "IPv4", "idleTimeoutInMinutes": 4}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + Content-Length: + - '167' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003?api-version=2021-05-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"3cb6cbe3-b227-420f-8a2c-127819991ebc\\\"\",\r\n \"location\": + \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"0f2bc236-5e26-4224-93f3-b6888cf9d8c4\",\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}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/ca900cde-2d5c-4086-aee6-f312d07cffe2?api-version=2021-05-01 + cache-control: + - no-cache + content-length: + - '646' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 11 Feb 2022 07:20: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: + - 48a9020e-8ced-4459-a50e-73f46c5076b0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/ca900cde-2d5c-4086-aee6-f312d07cffe2?api-version=2021-05-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, 11 Feb 2022 07:20: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 + x-ms-arm-service-request-id: + - c2133a75-b37c-400d-8cd1-d8eafb8d65e4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003?api-version=2021-05-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"bf7bbeb5-b599-4311-ba0b-24154d7b98c0\\\"\",\r\n \"location\": + \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"0f2bc236-5e26-4224-93f3-b6888cf9d8c4\",\r\n \"ipAddress\": + \"52.137.82.219\",\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}" + headers: + cache-control: + - no-cache + content-length: + - '682' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 11 Feb 2022 07:20:03 GMT + etag: + - W/"bf7bbeb5-b599-4311-ba0b-24154d7b98c0" + 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: + - 8d738214-23d2-49d5-8dfd-9f95c6a9086c + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003?api-version=2021-05-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\",\r\n + \ \"etag\": \"W/\\\"bf7bbeb5-b599-4311-ba0b-24154d7b98c0\\\"\",\r\n \"location\": + \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"0f2bc236-5e26-4224-93f3-b6888cf9d8c4\",\r\n \"ipAddress\": + \"52.137.82.219\",\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}" + headers: + cache-control: + - no-cache + content-length: + - '682' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 11 Feb 2022 07:20:02 GMT + etag: + - W/"bf7bbeb5-b599-4311-ba0b-24154d7b98c0" + 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: + - 513cbbb6-40e6-46c6-85f3-fb1173876d76 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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":"2022-02-11T07:20:00Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '305' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 11 Feb 2022 07:20: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: '{"location": "westus2", "sku": {"name": "Standard"}, "properties": {"publicIPAllocationMethod": + "Static", "publicIPAddressVersion": "IPv4", "idleTimeoutInMinutes": 4}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + Content-Length: + - '167' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004?api-version=2021-05-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004\",\r\n + \ \"etag\": \"W/\\\"29fb5349-4f31-47c8-acfb-214cb574f166\\\"\",\r\n \"location\": + \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"60d5a5d0-799d-45b6-9b83-ed77b17bf1b8\",\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}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/43326481-4e76-4bda-a092-7d72b083bc69?api-version=2021-05-01 + cache-control: + - no-cache + content-length: + - '646' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 11 Feb 2022 07:20: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-arm-service-request-id: + - 32e4509a-cbb4-4cb0-9631-6292c8d999a0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/43326481-4e76-4bda-a092-7d72b083bc69?api-version=2021-05-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, 11 Feb 2022 07:20:05 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: + - 8ede1493-58d9-47a2-92ee-77f38ad76683 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004?api-version=2021-05-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004\",\r\n + \ \"etag\": \"W/\\\"3217aee8-fa01-4466-9bf3-4a14a143eb6b\\\"\",\r\n \"location\": + \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"60d5a5d0-799d-45b6-9b83-ed77b17bf1b8\",\r\n \"ipAddress\": + \"52.148.172.136\",\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}" + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 11 Feb 2022 07:20:05 GMT + etag: + - W/"3217aee8-fa01-4466-9bf3-4a14a143eb6b" + 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: + - 5009a60b-5eaa-4dd8-a0a4-c4baaabcd271 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network public-ip show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004?api-version=2021-05-01 + response: + body: + string: "{\r\n \"name\": \"cliakstest000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004\",\r\n + \ \"etag\": \"W/\\\"3217aee8-fa01-4466-9bf3-4a14a143eb6b\\\"\",\r\n \"location\": + \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"60d5a5d0-799d-45b6-9b83-ed77b17bf1b8\",\r\n \"ipAddress\": + \"52.148.172.136\",\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}" + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 11 Feb 2022 07:20:06 GMT + etag: + - W/"3217aee8-fa01-4466-9bf3-4a14a143eb6b" + 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: + - bc7e199e-fa75-45ef-86f7-8df4af091609 + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest5ybepwk54-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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", "loadBalancerProfile": {"outboundIPs": {"publicIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003"}]}, + "allocatedOutboundPorts": 0, "idleTimeoutInMinutes": 30}}, "disableLocalAccounts": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1688' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5ybepwk54-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"outboundIPs\": {\n \"publicIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\"\n + \ }\n ]\n },\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\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 \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3274' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:20:10 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: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:21: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:22: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:22: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:23: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:23: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:24: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:24: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eb897932-54da-4799-9a1f-8d8008cb0eda?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"327989eb-da54-9947-9a1f-8d8008cb0eda\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:20:10.7166666Z\",\n \"endTime\": + \"2022-02-11T07:24:53.4978105Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:25: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5ybepwk54-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"outboundIPs\": {\n \"publicIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\"\n + \ }\n ]\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\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 \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3879' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:25: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 update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5ybepwk54-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"outboundIPs\": {\n \"publicIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\"\n + \ }\n ]\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\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 \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3879' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:25: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest5ybepwk54-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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": {"outboundIPs": {"publicIPs": + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004"}]}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003"}], + "allocatedOutboundPorts": 0, "idleTimeoutInMinutes": 30}, "podCidrs": ["10.244.0.0/16"], + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '2571' + Content-Type: + - application/json + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5ybepwk54-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"outboundIPs\": {\n \"publicIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004\"\n + \ }\n ]\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000003\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\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 \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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/aff85ce2-30ad-4649-a216-cd754198dc6f?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3877' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:25: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/aff85ce2-30ad-4649-a216-cd754198dc6f?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e25cf8af-ad30-4946-a216-cd754198dc6f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:15.5233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:25: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/aff85ce2-30ad-4649-a216-cd754198dc6f?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e25cf8af-ad30-4946-a216-cd754198dc6f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:15.5233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:26: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/aff85ce2-30ad-4649-a216-cd754198dc6f?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e25cf8af-ad30-4946-a216-cd754198dc6f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:15.5233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:26: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/aff85ce2-30ad-4649-a216-cd754198dc6f?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e25cf8af-ad30-4946-a216-cd754198dc6f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:15.5233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:27: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/aff85ce2-30ad-4649-a216-cd754198dc6f?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e25cf8af-ad30-4946-a216-cd754198dc6f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:15.5233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:27: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/aff85ce2-30ad-4649-a216-cd754198dc6f?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e25cf8af-ad30-4946-a216-cd754198dc6f\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:25:15.5233333Z\",\n \"endTime\": + \"2022-02-11T07:27:49.170027Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '169' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-outbound-ips + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5ybepwk54-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5ybepwk54-8ecadf-e1eb6cff.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"outboundIPs\": {\n \"publicIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004\"\n + \ }\n ]\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/cliakstest000004\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30\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 \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3879' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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: 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: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/409ebb86-f578-43f0-8ab6-97ce9e4caa6f?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 11 Feb 2022 07:28:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/409ebb86-f578-43f0-8ab6-97ce9e4caa6f?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14996' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml old mode 100755 new mode 100644 index b0ac3f38d2f..48b9c41bca5 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad.yaml @@ -14,21 +14,21 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:16:11Z"},"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":"2022-02-11T07:24:04Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:16:12 GMT + - Fri, 11 Feb 2022 07:24:04 GMT expires: - '-1' pragma: @@ -44,13 +44,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestj3zut7icd-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestcqjjiryq3-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -67,38 +68,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1515' + - '1543' Content-Type: - application/json ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj3zut7icd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestcqjjiryq3-8ecadf\",\n \"fqdn\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -107,24 +109,27 @@ interactions: {\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 \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": - [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"enableAzureRBAC\": - false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n - \ \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": + [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"adminUsers\": + null,\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/0be843d8-8e37-4fc4-8067-31169e977f26?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2989' + - '3259' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:16 GMT + - Fri, 11 Feb 2022 07:24:07 GMT expires: - '-1' pragma: @@ -136,7 +141,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 201 message: Created @@ -155,23 +160,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0be843d8-8e37-4fc4-8067-31169e977f26?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d843e80b-378e-c44f-8067-31169e977f26\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:17.1833333Z\"\n }" + string: "{\n \"name\": \"0ccf5b47-244c-6647-87b4-ca8223905f61\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:24:08.03Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:47 GMT + - Fri, 11 Feb 2022 07:24:37 GMT expires: - '-1' pragma: @@ -204,23 +209,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0be843d8-8e37-4fc4-8067-31169e977f26?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d843e80b-378e-c44f-8067-31169e977f26\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:17.1833333Z\"\n }" + string: "{\n \"name\": \"0ccf5b47-244c-6647-87b4-ca8223905f61\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:24:08.03Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:17 GMT + - Fri, 11 Feb 2022 07:25:07 GMT expires: - '-1' pragma: @@ -253,23 +258,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0be843d8-8e37-4fc4-8067-31169e977f26?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d843e80b-378e-c44f-8067-31169e977f26\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:17.1833333Z\"\n }" + string: "{\n \"name\": \"0ccf5b47-244c-6647-87b4-ca8223905f61\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:24:08.03Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:46 GMT + - Fri, 11 Feb 2022 07:25:37 GMT expires: - '-1' pragma: @@ -302,23 +307,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0be843d8-8e37-4fc4-8067-31169e977f26?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d843e80b-378e-c44f-8067-31169e977f26\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:17.1833333Z\"\n }" + string: "{\n \"name\": \"0ccf5b47-244c-6647-87b4-ca8223905f61\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:24:08.03Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:16 GMT + - Fri, 11 Feb 2022 07:26:07 GMT expires: - '-1' pragma: @@ -351,24 +356,121 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0be843d8-8e37-4fc4-8067-31169e977f26?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d843e80b-378e-c44f-8067-31169e977f26\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:16:17.1833333Z\",\n \"endTime\": - \"2021-10-19T07:18:36.1981006Z\"\n }" + string: "{\n \"name\": \"0ccf5b47-244c-6647-87b4-ca8223905f61\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:24:08.03Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:26: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0ccf5b47-244c-6647-87b4-ca8223905f61\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:24:08.03Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:27: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0ccf5b47-244c-6647-87b4-ca8223905f61\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:24:08.03Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:47 GMT + - Fri, 11 Feb 2022 07:27:38 GMT expires: - '-1' pragma: @@ -401,59 +503,114 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/475bcf0c-4c24-4766-87b4-ca8223905f61?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0ccf5b47-244c-6647-87b4-ca8223905f61\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:24:08.03Z\",\n \"endTime\": + \"2022-02-11T07:28:05.8166779Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:28: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj3zut7icd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestcqjjiryq3-8ecadf\",\n \"fqdn\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c6dabc3-d0f1-4421-a02b-0e509a6a9402\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e3afbcdd-83af-4caa-b148-1b05b02d84c4\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": false,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3652' + - '3912' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:47 GMT + - Fri, 11 Feb 2022 07:28:08 GMT expires: - '-1' pragma: @@ -485,59 +642,64 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj3zut7icd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestcqjjiryq3-8ecadf\",\n \"fqdn\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c6dabc3-d0f1-4421-a02b-0e509a6a9402\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e3afbcdd-83af-4caa-b148-1b05b02d84c4\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": false,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3652' + - '3912' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:48 GMT + - Fri, 11 Feb 2022 07:28:09 GMT expires: - '-1' pragma: @@ -557,27 +719,28 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestj3zut7icd-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestcqjjiryq3-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c6dabc3-d0f1-4421-a02b-0e509a6a9402"}]}}, - "aadProfile": {"managed": true, "enableAzureRBAC": false, "adminGroupObjectIDs": + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e3afbcdd-83af-4caa-b148-1b05b02d84c4"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "aadProfile": {"managed": true, "enableAzureRBAC": false, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000002"], "tenantID": "00000000-0000-0000-0000-000000000003"}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -588,67 +751,72 @@ interactions: Connection: - keep-alive Content-Length: - - '2487' + - '2603' Content-Type: - application/json ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj3zut7icd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestcqjjiryq3-8ecadf\",\n \"fqdn\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c6dabc3-d0f1-4421-a02b-0e509a6a9402\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e3afbcdd-83af-4caa-b148-1b05b02d84c4\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000002\"\n - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"00000000-0000-0000-0000-000000000003\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": false,\n \"tenantID\": + \"00000000-0000-0000-0000-000000000003\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/ad759040-5683-4e7c-8e8e-d7c7ea9c447f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08bc15f5-36d6-435f-af35-7ba16f49f5d9?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3650' + - '3910' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:50 GMT + - Fri, 11 Feb 2022 07:28:11 GMT expires: - '-1' pragma: @@ -664,7 +832,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1195' status: code: 200 message: OK @@ -682,23 +850,23 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad759040-5683-4e7c-8e8e-d7c7ea9c447f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08bc15f5-36d6-435f-af35-7ba16f49f5d9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"409075ad-8356-7c4e-8e8e-d7c7ea9c447f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:18:50.68Z\"\n }" + string: "{\n \"name\": \"f515bc08-d636-5f43-af35-7ba16f49f5d9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:11.8333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:20 GMT + - Fri, 11 Feb 2022 07:28:42 GMT expires: - '-1' pragma: @@ -730,23 +898,23 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad759040-5683-4e7c-8e8e-d7c7ea9c447f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08bc15f5-36d6-435f-af35-7ba16f49f5d9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"409075ad-8356-7c4e-8e8e-d7c7ea9c447f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:18:50.68Z\"\n }" + string: "{\n \"name\": \"f515bc08-d636-5f43-af35-7ba16f49f5d9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:11.8333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:50 GMT + - Fri, 11 Feb 2022 07:29:11 GMT expires: - '-1' pragma: @@ -778,23 +946,23 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad759040-5683-4e7c-8e8e-d7c7ea9c447f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08bc15f5-36d6-435f-af35-7ba16f49f5d9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"409075ad-8356-7c4e-8e8e-d7c7ea9c447f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:18:50.68Z\"\n }" + string: "{\n \"name\": \"f515bc08-d636-5f43-af35-7ba16f49f5d9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:11.8333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:20 GMT + - Fri, 11 Feb 2022 07:29:41 GMT expires: - '-1' pragma: @@ -826,24 +994,168 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad759040-5683-4e7c-8e8e-d7c7ea9c447f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08bc15f5-36d6-435f-af35-7ba16f49f5d9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"409075ad-8356-7c4e-8e8e-d7c7ea9c447f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:18:50.68Z\",\n \"endTime\": - \"2021-10-19T07:20:45.4532631Z\"\n }" + string: "{\n \"name\": \"f515bc08-d636-5f43-af35-7ba16f49f5d9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:11.8333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08bc15f5-36d6-435f-af35-7ba16f49f5d9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f515bc08-d636-5f43-af35-7ba16f49f5d9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:11.8333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08bc15f5-36d6-435f-af35-7ba16f49f5d9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f515bc08-d636-5f43-af35-7ba16f49f5d9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:11.8333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08bc15f5-36d6-435f-af35-7ba16f49f5d9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f515bc08-d636-5f43-af35-7ba16f49f5d9\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:28:11.8333333Z\",\n \"endTime\": + \"2022-02-11T07:31:38.3139024Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:50 GMT + - Fri, 11 Feb 2022 07:31:42 GMT expires: - '-1' pragma: @@ -875,59 +1187,64 @@ interactions: ParameterSetName: - --resource-group --name --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj3zut7icd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj3zut7icd-8ecadf-dea7bc27.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestcqjjiryq3-8ecadf\",\n \"fqdn\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestcqjjiryq3-8ecadf-de4abb7d.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c6dabc3-d0f1-4421-a02b-0e509a6a9402\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e3afbcdd-83af-4caa-b148-1b05b02d84c4\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000002\"\n - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"00000000-0000-0000-0000-000000000003\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": false,\n \"tenantID\": + \"00000000-0000-0000-0000-000000000003\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3652' + - '3912' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:51 GMT + - Fri, 11 Feb 2022 07:31:43 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index be61e1fbb53..c1303c6da7f --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:19: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":"2022-02-11T07:18:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:19:57 GMT + - Fri, 11 Feb 2022 07:18:57 GMT expires: - '-1' pragma: @@ -44,13 +44,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestiibzhzd4n-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestk3k5nezoo-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -67,38 +68,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1515' + - '1543' Content-Type: - application/json ParameterSetName: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiibzhzd4n-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk3k5nezoo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -107,24 +109,27 @@ interactions: {\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 \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": - [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"enableAzureRBAC\": - false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n - \ \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": + [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"adminUsers\": + null,\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/4e55194d-74c6-4e0c-9327-5301cb22a506?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2989' + - '3259' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:00 GMT + - Fri, 11 Feb 2022 07:19:00 GMT expires: - '-1' pragma: @@ -136,7 +141,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1198' status: code: 201 message: Created @@ -155,23 +160,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e55194d-74c6-4e0c-9327-5301cb22a506?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4d19554e-c674-0c4e-9327-5301cb22a506\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:00.2333333Z\"\n }" + string: "{\n \"name\": \"4ce7b26f-694a-3140-a5c8-c1e5f129cd2b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:01.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:29 GMT + - Fri, 11 Feb 2022 07:19:30 GMT expires: - '-1' pragma: @@ -204,23 +209,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e55194d-74c6-4e0c-9327-5301cb22a506?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4d19554e-c674-0c4e-9327-5301cb22a506\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:00.2333333Z\"\n }" + string: "{\n \"name\": \"4ce7b26f-694a-3140-a5c8-c1e5f129cd2b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:01.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:59 GMT + - Fri, 11 Feb 2022 07:20:00 GMT expires: - '-1' pragma: @@ -253,23 +258,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e55194d-74c6-4e0c-9327-5301cb22a506?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4d19554e-c674-0c4e-9327-5301cb22a506\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:00.2333333Z\"\n }" + string: "{\n \"name\": \"4ce7b26f-694a-3140-a5c8-c1e5f129cd2b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:01.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:30 GMT + - Fri, 11 Feb 2022 07:20:31 GMT expires: - '-1' pragma: @@ -302,23 +307,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e55194d-74c6-4e0c-9327-5301cb22a506?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4d19554e-c674-0c4e-9327-5301cb22a506\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:00.2333333Z\"\n }" + string: "{\n \"name\": \"4ce7b26f-694a-3140-a5c8-c1e5f129cd2b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:01.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:00 GMT + - Fri, 11 Feb 2022 07:21:01 GMT expires: - '-1' pragma: @@ -351,23 +356,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e55194d-74c6-4e0c-9327-5301cb22a506?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4d19554e-c674-0c4e-9327-5301cb22a506\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:00.2333333Z\"\n }" + string: "{\n \"name\": \"4ce7b26f-694a-3140-a5c8-c1e5f129cd2b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:01.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:29 GMT + - Fri, 11 Feb 2022 07:21:31 GMT expires: - '-1' pragma: @@ -400,23 +405,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e55194d-74c6-4e0c-9327-5301cb22a506?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4d19554e-c674-0c4e-9327-5301cb22a506\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:00.2333333Z\"\n }" + string: "{\n \"name\": \"4ce7b26f-694a-3140-a5c8-c1e5f129cd2b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:01.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:00 GMT + - Fri, 11 Feb 2022 07:22:01 GMT expires: - '-1' pragma: @@ -449,24 +454,23 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e55194d-74c6-4e0c-9327-5301cb22a506?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4d19554e-c674-0c4e-9327-5301cb22a506\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:20:00.2333333Z\",\n \"endTime\": - \"2021-10-19T07:23:29.2480361Z\"\n }" + string: "{\n \"name\": \"4ce7b26f-694a-3140-a5c8-c1e5f129cd2b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:19:01.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:30 GMT + - Fri, 11 Feb 2022 07:22:31 GMT expires: - '-1' pragma: @@ -499,59 +503,114 @@ interactions: - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6fb2e74c-4a69-4031-a5c8-c1e5f129cd2b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4ce7b26f-694a-3140-a5c8-c1e5f129cd2b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:19:01.33Z\",\n \"endTime\": + \"2022-02-11T07:22:40.1610066Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:23: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --enable-aad --aad-admin-group-object-ids + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiibzhzd4n-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk3k5nezoo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": false,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3652' + - '3912' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:30 GMT + - Fri, 11 Feb 2022 07:23:01 GMT expires: - '-1' pragma: @@ -583,59 +642,64 @@ interactions: ParameterSetName: - --resource-group --name --enable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiibzhzd4n-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk3k5nezoo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": false,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3652' + - '3912' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:31 GMT + - Fri, 11 Feb 2022 07:23:03 GMT expires: - '-1' pragma: @@ -655,27 +719,28 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestiibzhzd4n-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestk3k5nezoo-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818"}]}}, - "aadProfile": {"managed": true, "enableAzureRBAC": true, "adminGroupObjectIDs": + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "aadProfile": {"managed": true, "enableAzureRBAC": true, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000001"], "tenantID": "72f988bf-86f1-41af-91ab-2d7cd011db47"}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -686,67 +751,72 @@ interactions: Connection: - keep-alive Content-Length: - - '2486' + - '2602' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiibzhzd4n-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk3k5nezoo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": true,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": true,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/214ebecf-4a85-40bc-b1fd-359258e72699?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3659229b-aeb9-4375-bed1-fb963b358186?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3649' + - '3909' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:33 GMT + - Fri, 11 Feb 2022 07:23:05 GMT expires: - '-1' pragma: @@ -762,7 +832,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-azure-rbac -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3659229b-aeb9-4375-bed1-fb963b358186?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9b225936-b9ae-7543-bed1-fb963b358186\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:23:05.42Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:23: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-azure-rbac -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3659229b-aeb9-4375-bed1-fb963b358186?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9b225936-b9ae-7543-bed1-fb963b358186\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:23:05.42Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:24: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 @@ -780,23 +946,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/214ebecf-4a85-40bc-b1fd-359258e72699?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3659229b-aeb9-4375-bed1-fb963b358186?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cfbe4e21-854a-bc40-b1fd-359258e72699\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:33.5Z\"\n }" + string: "{\n \"name\": \"9b225936-b9ae-7543-bed1-fb963b358186\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:23:05.42Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:03 GMT + - Fri, 11 Feb 2022 07:24:35 GMT expires: - '-1' pragma: @@ -828,23 +994,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/214ebecf-4a85-40bc-b1fd-359258e72699?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3659229b-aeb9-4375-bed1-fb963b358186?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cfbe4e21-854a-bc40-b1fd-359258e72699\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:33.5Z\"\n }" + string: "{\n \"name\": \"9b225936-b9ae-7543-bed1-fb963b358186\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:23:05.42Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:33 GMT + - Fri, 11 Feb 2022 07:25:05 GMT expires: - '-1' pragma: @@ -876,23 +1042,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/214ebecf-4a85-40bc-b1fd-359258e72699?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3659229b-aeb9-4375-bed1-fb963b358186?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cfbe4e21-854a-bc40-b1fd-359258e72699\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:23:33.5Z\"\n }" + string: "{\n \"name\": \"9b225936-b9ae-7543-bed1-fb963b358186\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:23:05.42Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:03 GMT + - Fri, 11 Feb 2022 07:25:34 GMT expires: - '-1' pragma: @@ -924,24 +1090,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/214ebecf-4a85-40bc-b1fd-359258e72699?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3659229b-aeb9-4375-bed1-fb963b358186?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cfbe4e21-854a-bc40-b1fd-359258e72699\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:23:33.5Z\",\n \"endTime\": - \"2021-10-19T07:25:28.5597926Z\"\n }" + string: "{\n \"name\": \"9b225936-b9ae-7543-bed1-fb963b358186\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:23:05.42Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:33 GMT + - Fri, 11 Feb 2022 07:26:05 GMT expires: - '-1' pragma: @@ -973,59 +1138,113 @@ interactions: ParameterSetName: - --resource-group --name --enable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3659229b-aeb9-4375-bed1-fb963b358186?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9b225936-b9ae-7543-bed1-fb963b358186\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:23:05.42Z\",\n \"endTime\": + \"2022-02-11T07:26:34.0025127Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:26: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-azure-rbac -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiibzhzd4n-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk3k5nezoo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": true,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": true,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3651' + - '3911' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:33 GMT + - Fri, 11 Feb 2022 07:26:36 GMT expires: - '-1' pragma: @@ -1057,59 +1276,64 @@ interactions: ParameterSetName: - --resource-group --name --disable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiibzhzd4n-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk3k5nezoo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": true,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": true,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3651' + - '3911' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:35 GMT + - Fri, 11 Feb 2022 07:26:36 GMT expires: - '-1' pragma: @@ -1129,27 +1353,28 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestiibzhzd4n-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestk3k5nezoo-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818"}]}}, - "aadProfile": {"managed": true, "enableAzureRBAC": false, "adminGroupObjectIDs": + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "aadProfile": {"managed": true, "enableAzureRBAC": false, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000001"], "tenantID": "72f988bf-86f1-41af-91ab-2d7cd011db47"}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1160,67 +1385,72 @@ interactions: Connection: - keep-alive Content-Length: - - '2487' + - '2603' Content-Type: - application/json ParameterSetName: - --resource-group --name --disable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiibzhzd4n-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk3k5nezoo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": false,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/9cf52b72-d4e7-48f5-8c9c-98a34decfa60?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e491888c-7a67-4e8c-bdb6-97b0a098d8a7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3650' + - '3910' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:37 GMT + - Fri, 11 Feb 2022 07:26:39 GMT expires: - '-1' pragma: @@ -1236,7 +1466,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1195' status: code: 200 message: OK @@ -1254,23 +1484,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9cf52b72-d4e7-48f5-8c9c-98a34decfa60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e491888c-7a67-4e8c-bdb6-97b0a098d8a7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"722bf59c-e7d4-f548-8c9c-98a34decfa60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:25:37.62Z\"\n }" + string: "{\n \"name\": \"8c8891e4-677a-8c4e-bdb6-97b0a098d8a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:39.5133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:06 GMT + - Fri, 11 Feb 2022 07:27:09 GMT expires: - '-1' pragma: @@ -1302,23 +1532,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9cf52b72-d4e7-48f5-8c9c-98a34decfa60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e491888c-7a67-4e8c-bdb6-97b0a098d8a7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"722bf59c-e7d4-f548-8c9c-98a34decfa60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:25:37.62Z\"\n }" + string: "{\n \"name\": \"8c8891e4-677a-8c4e-bdb6-97b0a098d8a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:39.5133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:37 GMT + - Fri, 11 Feb 2022 07:27:39 GMT expires: - '-1' pragma: @@ -1350,23 +1580,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9cf52b72-d4e7-48f5-8c9c-98a34decfa60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e491888c-7a67-4e8c-bdb6-97b0a098d8a7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"722bf59c-e7d4-f548-8c9c-98a34decfa60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:25:37.62Z\"\n }" + string: "{\n \"name\": \"8c8891e4-677a-8c4e-bdb6-97b0a098d8a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:39.5133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:07 GMT + - Fri, 11 Feb 2022 07:28:08 GMT expires: - '-1' pragma: @@ -1398,23 +1628,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9cf52b72-d4e7-48f5-8c9c-98a34decfa60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e491888c-7a67-4e8c-bdb6-97b0a098d8a7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"722bf59c-e7d4-f548-8c9c-98a34decfa60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:25:37.62Z\"\n }" + string: "{\n \"name\": \"8c8891e4-677a-8c4e-bdb6-97b0a098d8a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:39.5133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:37 GMT + - Fri, 11 Feb 2022 07:28:39 GMT expires: - '-1' pragma: @@ -1446,24 +1676,120 @@ interactions: ParameterSetName: - --resource-group --name --disable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9cf52b72-d4e7-48f5-8c9c-98a34decfa60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e491888c-7a67-4e8c-bdb6-97b0a098d8a7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"722bf59c-e7d4-f548-8c9c-98a34decfa60\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:25:37.62Z\",\n \"endTime\": - \"2021-10-19T07:27:39.0017678Z\"\n }" + string: "{\n \"name\": \"8c8891e4-677a-8c4e-bdb6-97b0a098d8a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:39.5133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-azure-rbac -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e491888c-7a67-4e8c-bdb6-97b0a098d8a7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8891e4-677a-8c4e-bdb6-97b0a098d8a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:39.5133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29: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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-azure-rbac -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e491888c-7a67-4e8c-bdb6-97b0a098d8a7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8891e4-677a-8c4e-bdb6-97b0a098d8a7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:26:39.5133333Z\",\n \"endTime\": + \"2022-02-11T07:30:07.8416553Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:07 GMT + - Fri, 11 Feb 2022 07:30:09 GMT expires: - '-1' pragma: @@ -1495,59 +1821,64 @@ interactions: ParameterSetName: - --resource-group --name --disable-azure-rbac -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestiibzhzd4n-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestiibzhzd4n-8ecadf-b6015a74.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk3k5nezoo-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk3k5nezoo-8ecadf-f5526876.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c008707-3442-4d39-b291-dc6ca82cc818\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/893663e3-4e6c-4c79-808f-c7387e3bb2e6\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"enableAzureRBAC\": false,\n \"tenantID\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 + \ ],\n \"adminUsers\": null,\n \"enableAzureRBAC\": false,\n \"tenantID\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3652' + - '3912' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:08 GMT + - Fri, 11 Feb 2022 07:30:09 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_nat_gateway_outbound.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_nat_gateway_outbound.yaml old mode 100755 new mode 100644 index 13d7cc579d7..f80ffe60d58 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_nat_gateway_outbound.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_nat_gateway_outbound.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:36:09Z"},"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":"2022-02-11T07:30:11Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:36:10 GMT + - Fri, 11 Feb 2022 07:30:11 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestwtujpf5lu-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestjxa6prd4l-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1396' + - '1424' Content-Type: - application/json ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwtujpf5lu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestjxa6prd4l-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\n \"managedOutboundIPProfile\": {\n \"count\": 1\n },\n \"idleTimeoutInMinutes\": 4\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\": \"managedNATGateway\"\n },\n \"maxAgentPools\": - 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"outboundType\": \"managedNATGateway\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/58009a9b-2bb2-4282-9a1b-90a99d487f2d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2819' + - '3065' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:13 GMT + - Fri, 11 Feb 2022 07:30:14 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -149,14 +153,206 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58009a9b-2bb2-4282-9a1b-90a99d487f2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9b9a0058-b22b-8242-9a1b-90a99d487f2d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.4766666Z\"\n }" + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:44 GMT + - Fri, 11 Feb 2022 07:32:45 GMT expires: - '-1' pragma: @@ -197,14 +393,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58009a9b-2bb2-4282-9a1b-90a99d487f2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9b9a0058-b22b-8242-9a1b-90a99d487f2d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.4766666Z\"\n }" + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +409,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:14 GMT + - Fri, 11 Feb 2022 07:33:15 GMT expires: - '-1' pragma: @@ -245,14 +441,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58009a9b-2bb2-4282-9a1b-90a99d487f2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9b9a0058-b22b-8242-9a1b-90a99d487f2d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.4766666Z\"\n }" + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +457,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:44 GMT + - Fri, 11 Feb 2022 07:33:45 GMT expires: - '-1' pragma: @@ -293,14 +489,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58009a9b-2bb2-4282-9a1b-90a99d487f2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9b9a0058-b22b-8242-9a1b-90a99d487f2d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.4766666Z\"\n }" + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +505,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:14 GMT + - Fri, 11 Feb 2022 07:34:14 GMT expires: - '-1' pragma: @@ -341,14 +537,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58009a9b-2bb2-4282-9a1b-90a99d487f2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9b9a0058-b22b-8242-9a1b-90a99d487f2d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.4766666Z\"\n }" + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +553,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:44 GMT + - Fri, 11 Feb 2022 07:34:45 GMT expires: - '-1' pragma: @@ -389,15 +585,15 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58009a9b-2bb2-4282-9a1b-90a99d487f2d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8bc43fb2-f511-4e69-a7d8-27743a31ee97?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9b9a0058-b22b-8242-9a1b-90a99d487f2d\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:36:14.4766666Z\",\n \"endTime\": - \"2021-10-19T06:39:00.0814619Z\"\n }" + string: "{\n \"name\": \"b23fc48b-11f5-694e-a7d8-27743a31ee97\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:30:15.1133333Z\",\n \"endTime\": + \"2022-02-11T07:35:09.3073146Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +602,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:14 GMT + - Fri, 11 Feb 2022 07:35:15 GMT expires: - '-1' pragma: @@ -438,57 +634,61 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --outbound-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwtujpf5lu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestjxa6prd4l-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 \"natGatewayProfile\": {\n \"managedOutboundIPProfile\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9c783611-7cb0-4acc-abf1-a72e306325d3\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/08b782a5-49c4-432a-ae24-7bad22b667c6\"\n \ }\n ],\n \"idleTimeoutInMinutes\": 4\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\": - \"managedNATGateway\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + \"managedNATGateway\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n + \ \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3482' + - '3718' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:15 GMT + - Fri, 11 Feb 2022 07:35:16 GMT expires: - '-1' pragma: @@ -520,57 +720,61 @@ interactions: ParameterSetName: - --resource-group --name --nat-gateway-managed-outbound-ip-count --nat-gateway-idle-timeout User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwtujpf5lu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestjxa6prd4l-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 \"natGatewayProfile\": {\n \"managedOutboundIPProfile\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9c783611-7cb0-4acc-abf1-a72e306325d3\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/08b782a5-49c4-432a-ae24-7bad22b667c6\"\n \ }\n ],\n \"idleTimeoutInMinutes\": 4\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\": - \"managedNATGateway\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + \"managedNATGateway\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n + \ \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3482' + - '3718' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:16 GMT + - Fri, 11 Feb 2022 07:35:16 GMT expires: - '-1' pragma: @@ -590,26 +794,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestwtujpf5lu-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestjxa6prd4l-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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": "managedNATGateway", "loadBalancerSku": "Standard", "natGatewayProfile": {"managedOutboundIPProfile": - {"count": 2}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9c783611-7cb0-4acc-abf1-a72e306325d3"}], - "idleTimeoutInMinutes": 30}}, "identityProfile": {"kubeletidentity": {"resourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"count": 2}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/08b782a5-49c4-432a-ae24-7bad22b667c6"}], + "idleTimeoutInMinutes": 30}, "podCidrs": ["10.244.0.0/16"], "serviceCidrs": + ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -620,65 +825,69 @@ interactions: Connection: - keep-alive Content-Length: - - '2348' + - '2448' Content-Type: - application/json ParameterSetName: - --resource-group --name --nat-gateway-managed-outbound-ip-count --nat-gateway-idle-timeout User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwtujpf5lu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestjxa6prd4l-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 \"natGatewayProfile\": {\n \"managedOutboundIPProfile\": {\n \"count\": 2\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9c783611-7cb0-4acc-abf1-a72e306325d3\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/08b782a5-49c4-432a-ae24-7bad22b667c6\"\n \ }\n ],\n \"idleTimeoutInMinutes\": 30\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\": - \"managedNATGateway\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + \"managedNATGateway\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n + \ \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/4e29f975-4036-4edd-b06a-d9c4837bb1a9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a9bee987-30a3-4d55-984c-87e8b61dc30b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3481' + - '3717' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:18 GMT + - Fri, 11 Feb 2022 07:35:18 GMT expires: - '-1' pragma: @@ -694,7 +903,55 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1193' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nat-gateway-managed-outbound-ip-count --nat-gateway-idle-timeout + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a9bee987-30a3-4d55-984c-87e8b61dc30b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"87e9bea9-a330-554d-984c-87e8b61dc30b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:19.0733333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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 @@ -712,23 +969,23 @@ interactions: ParameterSetName: - --resource-group --name --nat-gateway-managed-outbound-ip-count --nat-gateway-idle-timeout User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e29f975-4036-4edd-b06a-d9c4837bb1a9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a9bee987-30a3-4d55-984c-87e8b61dc30b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"75f9294e-3640-dd4e-b06a-d9c4837bb1a9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:18.52Z\"\n }" + string: "{\n \"name\": \"87e9bea9-a330-554d-984c-87e8b61dc30b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:19.0733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:48 GMT + - Fri, 11 Feb 2022 07:36:18 GMT expires: - '-1' pragma: @@ -760,23 +1017,23 @@ interactions: ParameterSetName: - --resource-group --name --nat-gateway-managed-outbound-ip-count --nat-gateway-idle-timeout User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e29f975-4036-4edd-b06a-d9c4837bb1a9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a9bee987-30a3-4d55-984c-87e8b61dc30b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"75f9294e-3640-dd4e-b06a-d9c4837bb1a9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:18.52Z\"\n }" + string: "{\n \"name\": \"87e9bea9-a330-554d-984c-87e8b61dc30b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:19.0733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:17 GMT + - Fri, 11 Feb 2022 07:36:49 GMT expires: - '-1' pragma: @@ -808,24 +1065,23 @@ interactions: ParameterSetName: - --resource-group --name --nat-gateway-managed-outbound-ip-count --nat-gateway-idle-timeout User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e29f975-4036-4edd-b06a-d9c4837bb1a9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a9bee987-30a3-4d55-984c-87e8b61dc30b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"75f9294e-3640-dd4e-b06a-d9c4837bb1a9\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:39:18.52Z\",\n \"endTime\": - \"2021-10-19T06:40:25.5884671Z\"\n }" + string: "{\n \"name\": \"87e9bea9-a330-554d-984c-87e8b61dc30b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:19.0733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:48 GMT + - Fri, 11 Feb 2022 07:37:19 GMT expires: - '-1' pragma: @@ -857,58 +1113,111 @@ interactions: ParameterSetName: - --resource-group --name --nat-gateway-managed-outbound-ip-count --nat-gateway-idle-timeout User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a9bee987-30a3-4d55-984c-87e8b61dc30b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"87e9bea9-a330-554d-984c-87e8b61dc30b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:35:19.0733333Z\",\n \"endTime\": + \"2022-02-11T07:37:45.86839Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '168' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:37: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nat-gateway-managed-outbound-ip-count --nat-gateway-idle-timeout + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwtujpf5lu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestwtujpf5lu-8ecadf-078f35bf.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestjxa6prd4l-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestjxa6prd4l-8ecadf-4513e9e9.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 \"natGatewayProfile\": {\n \"managedOutboundIPProfile\": {\n \"count\": 2\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9c783611-7cb0-4acc-abf1-a72e306325d3\"\n - \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/4292bc60-28e7-49e7-bd3e-fb4d11888af4\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/08b782a5-49c4-432a-ae24-7bad22b667c6\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/56959777-2fad-46e5-a8cd-3e9ebc36c5ea\"\n \ }\n ],\n \"idleTimeoutInMinutes\": 30\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\": - \"managedNATGateway\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + \"managedNATGateway\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n + \ \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3711' + - '3943' content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:49 GMT + - Fri, 11 Feb 2022 07:37:49 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_dualstack_with_default_network.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_dualstack_with_default_network.yaml new file mode 100644 index 00000000000..ed518e2f8df --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_dualstack_with_default_network.yaml @@ -0,0 +1,844 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks get-versions + Connection: + - keep-alive + ParameterSetName: + - -l --query + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/orchestrators?api-version=2019-04-01&resource-type=managedClusters + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/orchestrators\",\n + \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\",\n + \ \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.19.11\",\n \"upgrades\": + [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.19.13\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.20.13\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.15\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.19.13\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.13\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.15\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.20.13\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.15\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.21.7\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.9\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.15\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.7\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.9\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.21.7\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.9\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.4\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.6\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.9\",\n \"default\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.4\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.6\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.4\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.6\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.23.3\",\n \"isPreview\": true\n + \ }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.6\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.3\",\n \"isPreview\": true\n }\n ]\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.3\",\n \"isPreview\": true\n }\n ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '3138' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:37: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: '{"location": "centraluseuap", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "1.23.3", "dnsPrefix": "cliakstest-clitestsmoxjehx7-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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", "ipFamilies": ["IPv4", "IPv6"]}, "disableLocalAccounts": false}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1463' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": + \"cliakstest-clitestsmoxjehx7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsmoxjehx7-8ecadf-1409448a.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestsmoxjehx7-8ecadf-1409448a.portal.hcp.centraluseuap.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1,\n \"countIPv6\": + 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 \"podCidrs\": + [\n \"10.244.0.0/16\",\n \"fde7:5cc7:1b4a:89d4::/64\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\",\n \"fdb6:76c3:a3f8:1dcf::/108\"\n ],\n \"ipFamilies\": + [\n \"IPv4\",\n \"IPv6\"\n ]\n },\n \"maxAgentPools\": 100,\n + \ \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3150' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:37: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: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:38: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:38: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:39: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:39: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:40: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:40: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:41: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:41: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:42: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/af8694a7-2c25-43e3-b7e8-fe98360da1d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a79486af-252c-e343-b7e8-fe98360da1d7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:37:56.52Z\",\n \"endTime\": + \"2022-02-11T07:42:33.0344152Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:42: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-EnableDualStack + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ip-families --ssh-key-value --kubernetes-version + --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.3\",\n \"currentKubernetesVersion\": \"1.23.3\",\n \"dnsPrefix\": + \"cliakstest-clitestsmoxjehx7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsmoxjehx7-8ecadf-1409448a.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestsmoxjehx7-8ecadf-1409448a.portal.hcp.centraluseuap.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.3\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1,\n \"countIPv6\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/a6e65a22-1c59-49fc-94f9-5eaf1673af03-ipv6\"\n + \ },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/44e1900d-0dfb-42aa-9899-719ad6a9ac66\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\",\n \"fde7:5cc7:1b4a:89d4::/64\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\",\n \"fdb6:76c3:a3f8:1dcf::/108\"\n ],\n \"ipFamilies\": + [\n \"IPv4\",\n \"IPv6\"\n ]\n },\n \"maxAgentPools\": 100,\n + \ \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4050' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:42: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: 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: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/be489218-4e2c-4de9-8f4e-70b3718150af?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 11 Feb 2022 07:42:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operationresults/be489218-4e2c-4de9-8f4e-70b3718150af?api-version=2016-03-30 + 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_create_fqdn_subdomain.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_fqdn_subdomain.yaml old mode 100755 new mode 100644 index e5dab131b1d..605f00744e9 --- 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 @@ -19,7 +19,7 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-privatedns/1.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-mgmt-privatedns/1.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io?api-version=2018-09-01 response: @@ -27,7 +27,7 @@ interactions: string: '{}' headers: azure-asyncoperation: - - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsOperationStatuses/RnJvbnRFbmRBc3luY09wZXJhdGlvbjtVcHNlcnRQcml2YXRlRG5zWm9uZTs4YzdmMTVjNi03ZjZmLTQ1ZTAtOTkwMi05NjdhMTIzMjEyNjU=?api-version=2018-09-01 + - https://management.azure.com:443/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsOperationStatuses/RnJvbnRFbmRBc3luY09wZXJhdGlvbjtVcHNlcnRQcml2YXRlRG5zWm9uZTtkYWFlYjkzNC1jMDI0LTQzMTctOGU3Ny0wZmYxZjdiMWU5MjI=?api-version=2018-09-01 cache-control: - private content-length: @@ -35,9 +35,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:29:04 GMT + - Wed, 01 Dec 2021 14:02:27 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsOperationResults/RnJvbnRFbmRBc3luY09wZXJhdGlvbjtVcHNlcnRQcml2YXRlRG5zWm9uZTs4YzdmMTVjNi03ZjZmLTQ1ZTAtOTkwMi05NjdhMTIzMjEyNjU=?api-version=2018-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsOperationResults/RnJvbnRFbmRBc3luY09wZXJhdGlvbjtVcHNlcnRQcml2YXRlRG5zWm9uZTtkYWFlYjkzNC1jMDI0LTQzMTctOGU3Ny0wZmYxZjdiMWU5MjI=?api-version=2018-09-01 server: - Microsoft-IIS/10.0 strict-transport-security: @@ -67,9 +67,9 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-privatedns/1.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-mgmt-privatedns/1.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsOperationStatuses/RnJvbnRFbmRBc3luY09wZXJhdGlvbjtVcHNlcnRQcml2YXRlRG5zWm9uZTs4YzdmMTVjNi03ZjZmLTQ1ZTAtOTkwMi05NjdhMTIzMjEyNjU=?api-version=2018-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsOperationStatuses/RnJvbnRFbmRBc3luY09wZXJhdGlvbjtVcHNlcnRQcml2YXRlRG5zWm9uZTtkYWFlYjkzNC1jMDI0LTQzMTctOGU3Ny0wZmYxZjdiMWU5MjI=?api-version=2018-09-01 response: body: string: '{"status":"Succeeded"}' @@ -81,7 +81,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:29:34 GMT + - Wed, 01 Dec 2021 14:02:57 GMT server: - Microsoft-IIS/10.0 strict-transport-security: @@ -115,12 +115,12 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-privatedns/1.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-mgmt-privatedns/1.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io?api-version=2018-09-01 response: body: - string: '{"id":"\/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/clitest000001\/providers\/Microsoft.Network\/privateDnsZones\/privatelink.westus2.azmk8s.io","name":"privatelink.westus2.azmk8s.io","type":"Microsoft.Network\/privateDnsZones","etag":"0bfb99f7-83ab-4091-9ea4-5863b94cffff","location":"global","properties":{"maxNumberOfRecordSets":25000,"maxNumberOfVirtualNetworkLinks":1000,"maxNumberOfVirtualNetworkLinksWithRegistration":100,"numberOfRecordSets":1,"numberOfVirtualNetworkLinks":0,"numberOfVirtualNetworkLinksWithRegistration":0,"provisioningState":"Succeeded"}}' + string: '{"id":"\/subscriptions\/00000000-0000-0000-0000-000000000000\/resourceGroups\/clitest000001\/providers\/Microsoft.Network\/privateDnsZones\/privatelink.westus2.azmk8s.io","name":"privatelink.westus2.azmk8s.io","type":"Microsoft.Network\/privateDnsZones","etag":"e33544e2-396c-4133-8529-918fc43def28","location":"global","properties":{"maxNumberOfRecordSets":25000,"maxNumberOfVirtualNetworkLinks":1000,"maxNumberOfVirtualNetworkLinksWithRegistration":100,"numberOfRecordSets":1,"numberOfVirtualNetworkLinks":0,"numberOfVirtualNetworkLinksWithRegistration":0,"provisioningState":"Succeeded"}}' headers: cache-control: - private @@ -129,9 +129,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:29:34 GMT + - Wed, 01 Dec 2021 14:02:57 GMT etag: - - 0bfb99f7-83ab-4091-9ea4-5863b94cffff + - e33544e2-396c-4133-8529-918fc43def28 server: - Microsoft-IIS/10.0 strict-transport-security: @@ -165,12 +165,12 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:29:01Z"},"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-12-01T14:02:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -179,7 +179,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:29:35 GMT + - Wed, 01 Dec 2021 14:02:58 GMT expires: - '-1' pragma: @@ -211,15 +211,16 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002?api-version=2015-08-31-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002","name":"cliakstest000002","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=0c7f764d-00b4-4535-bc89-66be219839d9&aid=969bb8e7-c124-459a-aade-43716ded0f36"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002","name":"cliakstest000002","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=29d003e1-b40a-4fcc-ac55-25e66952cf47&aid=0cf4c67d-b5c6-4cd9-8bfd-50510d3901a4"}}' headers: cache-control: - no-cache @@ -228,7 +229,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:29:39 GMT + - Wed, 01 Dec 2021 14:03:01 GMT expires: - '-1' location: @@ -240,7 +241,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -258,8 +259,9 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope --assignee-principal-type User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET @@ -268,7 +270,7 @@ interactions: body: string: '{"value":[{"properties":{"roleName":"Private DNS Zone Contributor","type":"BuiltInRole","description":"Lets you manage private DNS zone resources, but not the virtual networks they are - linked to.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/alertRules/*","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*","Microsoft.Network/privateDnsZones/*","Microsoft.Network/privateDnsOperationResults/*","Microsoft.Network/privateDnsOperationStatuses/*","Microsoft.Network/virtualNetworks/read","Microsoft.Network/virtualNetworks/join/action","Microsoft.Authorization/*/read"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2019-07-10T19:31:15.5645518Z","updatedOn":"2019-07-11T21:12:01.7260648Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b12aa53e-6015-4669-85d0-8515ebb3ae7f","type":"Microsoft.Authorization/roleDefinitions","name":"b12aa53e-6015-4669-85d0-8515ebb3ae7f"}]}' + linked to.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/alertRules/*","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*","Microsoft.Network/privateDnsZones/*","Microsoft.Network/privateDnsOperationResults/*","Microsoft.Network/privateDnsOperationStatuses/*","Microsoft.Network/virtualNetworks/read","Microsoft.Network/virtualNetworks/join/action","Microsoft.Authorization/*/read"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2019-07-10T19:31:15.5645518Z","updatedOn":"2021-11-11T20:14:04.7342851Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b12aa53e-6015-4669-85d0-8515ebb3ae7f","type":"Microsoft.Authorization/roleDefinitions","name":"b12aa53e-6015-4669-85d0-8515ebb3ae7f"}]}' headers: cache-control: - no-cache @@ -277,7 +279,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:29:40 GMT + - Wed, 01 Dec 2021 14:03:02 GMT expires: - '-1' pragma: @@ -316,15 +318,16 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope --assignee-principal-type User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io/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/b12aa53e-6015-4669-85d0-8515ebb3ae7f","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io","condition":null,"conditionVersion":null,"createdOn":"2021-10-19T05:29:40.6462646Z","updatedOn":"2021-10-19T05:29:41.0369127Z","createdBy":null,"updatedBy":"119e1aeb-4592-42d6-9507-c66df857924f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io/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/b12aa53e-6015-4669-85d0-8515ebb3ae7f","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:03:03.2897738Z","updatedOn":"2021-12-01T14:03:03.5710841Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' headers: cache-control: - no-cache @@ -333,7 +336,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:29:42 GMT + - Wed, 01 Dec 2021 14:03:04 GMT expires: - '-1' pragma: @@ -365,12 +368,12 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:29:01Z"},"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-12-01T14:02:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -379,7 +382,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:29:42 GMT + - Wed, 01 Dec 2021 14:03:04 GMT expires: - '-1' pragma: @@ -398,17 +401,18 @@ interactions: {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002": {}}}, "properties": {"kubernetesVersion": "", "fqdnSubdomain": "cliakstest000003", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.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": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io"}, + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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": {"authorizedIPRanges": [], "enablePrivateCluster": + true, "privateDNSZone": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io"}, "disableLocalAccounts": false}}' headers: Accept: @@ -420,7 +424,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1809' + - '2192' Content-Type: - application/json ParameterSetName: @@ -428,32 +432,33 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-10-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\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"fqdn\": \"cliakstest000003-ba96f6e0.hcp.westus2.azmk8s.io\",\n - \ \"fqdnSubdomain\": \"cliakstest000003\",\n \"azurePortalFQDN\": \"f3773e6259a31218585878e529971e17-priv.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"fqdn\": \"cliakstest000003-ae8787f8.hcp.westus2.azmk8s.io\",\n + \ \"fqdnSubdomain\": \"cliakstest000003\",\n \"azurePortalFQDN\": \"e38cfa12a8742f6e5d23e9e5f1ebd9d1-priv.portal.hcp.westus2.azmk8s.io\",\n \ \"privateFQDN\": \"cliakstest000003.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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\": @@ -461,29 +466,30 @@ interactions: {\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 + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/privateDnsZones/privatelink.westus2.azmk8s.io\",\n \ \"enablePrivateClusterPublicFQDN\": true,\n \"privateClusterVersion\": - \"v1\"\n },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Disabled\"\n },\n \"identity\": {\n \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": - {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002\": + \"v1\"\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002\": {\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n }\n \ }\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/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3535' + - '3992' content-type: - application/json date: - - Tue, 19 Oct 2021 05:29:50 GMT + - Wed, 01 Dec 2021 14:03:11 GMT expires: - '-1' pragma: @@ -495,7 +501,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 201 message: Created @@ -515,123 +521,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:30: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --fqdn-subdomain --load-balancer-sku - --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity - --ssh-key-value - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:30: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --fqdn-subdomain --load-balancer-sku - --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity - --ssh-key-value - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:31:21 GMT + - Wed, 01 Dec 2021 14:03:42 GMT expires: - '-1' pragma: @@ -665,23 +571,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:31:51 GMT + - Wed, 01 Dec 2021 14:04:12 GMT expires: - '-1' pragma: @@ -715,23 +621,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:32:21 GMT + - Wed, 01 Dec 2021 14:04:42 GMT expires: - '-1' pragma: @@ -765,23 +671,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:32:51 GMT + - Wed, 01 Dec 2021 14:05:12 GMT expires: - '-1' pragma: @@ -815,23 +721,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:33:21 GMT + - Wed, 01 Dec 2021 14:05:43 GMT expires: - '-1' pragma: @@ -865,23 +771,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:33:51 GMT + - Wed, 01 Dec 2021 14:06:13 GMT expires: - '-1' pragma: @@ -915,23 +821,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:34:22 GMT + - Wed, 01 Dec 2021 14:06:42 GMT expires: - '-1' pragma: @@ -965,23 +871,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:34:51 GMT + - Wed, 01 Dec 2021 14:07:13 GMT expires: - '-1' pragma: @@ -1015,23 +921,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:35:22 GMT + - Wed, 01 Dec 2021 14:07:43 GMT expires: - '-1' pragma: @@ -1065,23 +971,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:35:52 GMT + - Wed, 01 Dec 2021 14:08:13 GMT expires: - '-1' pragma: @@ -1115,23 +1021,23 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 05:36:22 GMT + - Wed, 01 Dec 2021 14:08:44 GMT expires: - '-1' pragma: @@ -1165,24 +1071,24 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/063a76d4-3373-4261-ad16-1b93d754fbc8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d8590994-7571-4e2a-a5e8-6ff189d17b0c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d4763a06-7333-6142-ad16-1b93d754fbc8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T05:29:50.5466666Z\",\n \"endTime\": - \"2021-10-19T05:36:24.248725Z\"\n }" + string: "{\n \"name\": \"940959d8-7175-2a4e-a5e8-6ff189d17b0c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:03:12.16Z\",\n \"endTime\": + \"2021-12-01T14:08:53.2928146Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 05:36:53 GMT + - Wed, 01 Dec 2021 14:09:14 GMT expires: - '-1' pragma: @@ -1216,41 +1122,44 @@ interactions: --enable-private-cluster --private-dns-zone --enable-managed-identity --assign-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-10-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.20.9\",\n \"fqdn\": \"cliakstest000003-ba96f6e0.hcp.westus2.azmk8s.io\",\n - \ \"fqdnSubdomain\": \"cliakstest000003\",\n \"azurePortalFQDN\": \"f3773e6259a31218585878e529971e17-priv.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"fqdn\": \"cliakstest000003-ae8787f8.hcp.westus2.azmk8s.io\",\n + \ \"fqdnSubdomain\": \"cliakstest000003\",\n \"azurePortalFQDN\": \"e38cfa12a8742f6e5d23e9e5f1ebd9d1-priv.portal.hcp.westus2.azmk8s.io\",\n \ \"privateFQDN\": \"cliakstest000003.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/5b35747e-c86c-4707-8f4d-8f9d53f33406\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/f2e9b2a3-29b5-4a18-b828-d6be96e43dcc\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 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 @@ -1260,9 +1169,8 @@ interactions: \"v1\"\n },\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Disabled\"\n },\n \"identity\": {\n \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": - {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002\": + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n \ }\n }" @@ -1270,11 +1178,11 @@ interactions: cache-control: - no-cache content-length: - - '4456' + - '4913' content-type: - application/json date: - - Tue, 19 Oct 2021 05:36:53 GMT + - Wed, 01 Dec 2021 14:09:14 GMT expires: - '-1' pragma: @@ -1308,8 +1216,8 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-07-01 response: @@ -1317,17 +1225,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64a0a309-fc53-45e2-88db-f6b2cba248c9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8df65cac-dbcc-4874-a1f3-cee8a3fc1b35?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 05:36:55 GMT + - Wed, 01 Dec 2021 14:09:16 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/64a0a309-fc53-45e2-88db-f6b2cba248c9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/8df65cac-dbcc-4874-a1f3-cee8a3fc1b35?api-version=2016-03-30 pragma: - no-cache server: @@ -1337,7 +1245,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_create_nonaad_and_update_with_managed_aad.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_nonaad_and_update_with_managed_aad.yaml old mode 100755 new mode 100644 index 32ec45db514..177beae142d --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_nonaad_and_update_with_managed_aad.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_nonaad_and_update_with_managed_aad.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:33:36Z"},"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":"2022-02-11T07:33:33Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:33:37 GMT + - Fri, 11 Feb 2022 07:33:33 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestj57odotdn-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest5sh3j46mb-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj57odotdn-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5sh3j46mb-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/6dbb85aa-c7cd-47aa-998e-7797654756b4?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 07:33:40 GMT + - Fri, 11 Feb 2022 07:33:35 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1191' + - '1196' status: code: 201 message: Created @@ -149,14 +153,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dbb85aa-c7cd-47aa-998e-7797654756b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aa85bb6d-cdc7-aa47-998e-7797654756b4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:33:40.3233333Z\"\n }" + string: "{\n \"name\": \"249eab2a-bf48-2d4e-a465-381a74f948d6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:33:36.5333333Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +169,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:34:10 GMT + - Fri, 11 Feb 2022 07:34:06 GMT expires: - '-1' pragma: @@ -197,14 +201,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dbb85aa-c7cd-47aa-998e-7797654756b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aa85bb6d-cdc7-aa47-998e-7797654756b4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:33:40.3233333Z\"\n }" + string: "{\n \"name\": \"249eab2a-bf48-2d4e-a465-381a74f948d6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:33:36.5333333Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +217,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:34:39 GMT + - Fri, 11 Feb 2022 07:34:36 GMT expires: - '-1' pragma: @@ -245,14 +249,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dbb85aa-c7cd-47aa-998e-7797654756b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aa85bb6d-cdc7-aa47-998e-7797654756b4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:33:40.3233333Z\"\n }" + string: "{\n \"name\": \"249eab2a-bf48-2d4e-a465-381a74f948d6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:33:36.5333333Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +265,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:35:10 GMT + - Fri, 11 Feb 2022 07:35:05 GMT expires: - '-1' pragma: @@ -293,14 +297,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dbb85aa-c7cd-47aa-998e-7797654756b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aa85bb6d-cdc7-aa47-998e-7797654756b4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:33:40.3233333Z\"\n }" + string: "{\n \"name\": \"249eab2a-bf48-2d4e-a465-381a74f948d6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:33:36.5333333Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +313,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:35:40 GMT + - Fri, 11 Feb 2022 07:35:36 GMT expires: - '-1' pragma: @@ -341,14 +345,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dbb85aa-c7cd-47aa-998e-7797654756b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aa85bb6d-cdc7-aa47-998e-7797654756b4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:33:40.3233333Z\"\n }" + string: "{\n \"name\": \"249eab2a-bf48-2d4e-a465-381a74f948d6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:33:36.5333333Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:36:10 GMT + - Fri, 11 Feb 2022 07:36:06 GMT expires: - '-1' pragma: @@ -389,14 +393,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dbb85aa-c7cd-47aa-998e-7797654756b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aa85bb6d-cdc7-aa47-998e-7797654756b4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:33:40.3233333Z\"\n }" + string: "{\n \"name\": \"249eab2a-bf48-2d4e-a465-381a74f948d6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:33:36.5333333Z\"\n }" headers: cache-control: - no-cache @@ -405,7 +409,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:36:40 GMT + - Fri, 11 Feb 2022 07:36:36 GMT expires: - '-1' pragma: @@ -437,15 +441,63 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dbb85aa-c7cd-47aa-998e-7797654756b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aa85bb6d-cdc7-aa47-998e-7797654756b4\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:33:40.3233333Z\",\n \"endTime\": - \"2021-10-19T07:36:49.8039347Z\"\n }" + string: "{\n \"name\": \"249eab2a-bf48-2d4e-a465-381a74f948d6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:33:36.5333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:37: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type --node-count --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2aab9e24-48bf-4e2d-a465-381a74f948d6?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"249eab2a-bf48-2d4e-a465-381a74f948d6\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:33:36.5333333Z\",\n \"endTime\": + \"2022-02-11T07:37:11.7259294Z\"\n }" headers: cache-control: - no-cache @@ -454,7 +506,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:10 GMT + - Fri, 11 Feb 2022 07:37:36 GMT expires: - '-1' pragma: @@ -486,57 +538,61 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj57odotdn-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5sh3j46mb-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/cf8bed28-6860-4271-ad8e-85ae95dcf345\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6decee0-1ce4-45da-882b-89de62373fc0\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:10 GMT + - Fri, 11 Feb 2022 07:37:36 GMT expires: - '-1' pragma: @@ -569,57 +625,61 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj57odotdn-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5sh3j46mb-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/cf8bed28-6860-4271-ad8e-85ae95dcf345\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6decee0-1ce4-45da-882b-89de62373fc0\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:11 GMT + - Fri, 11 Feb 2022 07:37:37 GMT expires: - '-1' pragma: @@ -639,27 +699,28 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestj57odotdn-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest5sh3j46mb-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/cf8bed28-6860-4271-ad8e-85ae95dcf345"}]}}, - "aadProfile": {"managed": true, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000001"], + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6decee0-1ce4-45da-882b-89de62373fc0"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "aadProfile": {"managed": true, "adminGroupObjectIDs": ["00000000-0000-0000-0000-000000000001"], "tenantID": "00000000-0000-0000-0000-000000000002"}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -670,68 +731,72 @@ interactions: Connection: - keep-alive Content-Length: - - '2461' + - '2577' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj57odotdn-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5sh3j46mb-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/cf8bed28-6860-4271-ad8e-85ae95dcf345\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6decee0-1ce4-45da-882b-89de62373fc0\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"tenantID\": \"00000000-0000-0000-0000-000000000002\"\n },\n - \ \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + \ ],\n \"adminUsers\": null,\n \"tenantID\": \"00000000-0000-0000-0000-000000000002\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae837605-d09f-494a-96b1-4b3220750464?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3620' + - '3880' content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:14 GMT + - Fri, 11 Feb 2022 07:37:38 GMT expires: - '-1' pragma: @@ -747,7 +812,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1193' status: code: 200 message: OK @@ -766,23 +831,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae837605-d09f-494a-96b1-4b3220750464?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\"\n }" + string: "{\n \"name\": \"057683ae-9fd0-4a49-96b1-4b3220750464\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:39.54Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:43 GMT + - Fri, 11 Feb 2022 07:38:08 GMT expires: - '-1' pragma: @@ -815,23 +880,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae837605-d09f-494a-96b1-4b3220750464?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\"\n }" + string: "{\n \"name\": \"057683ae-9fd0-4a49-96b1-4b3220750464\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:39.54Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:38:14 GMT + - Fri, 11 Feb 2022 07:38:39 GMT expires: - '-1' pragma: @@ -864,23 +929,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae837605-d09f-494a-96b1-4b3220750464?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\"\n }" + string: "{\n \"name\": \"057683ae-9fd0-4a49-96b1-4b3220750464\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:39.54Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:38:44 GMT + - Fri, 11 Feb 2022 07:39:09 GMT expires: - '-1' pragma: @@ -913,23 +978,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae837605-d09f-494a-96b1-4b3220750464?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\"\n }" + string: "{\n \"name\": \"057683ae-9fd0-4a49-96b1-4b3220750464\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:39.54Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:39:14 GMT + - Fri, 11 Feb 2022 07:39:39 GMT expires: - '-1' pragma: @@ -962,23 +1027,23 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae837605-d09f-494a-96b1-4b3220750464?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\"\n }" + string: "{\n \"name\": \"057683ae-9fd0-4a49-96b1-4b3220750464\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:39.54Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:39:44 GMT + - Fri, 11 Feb 2022 07:40:09 GMT expires: - '-1' pragma: @@ -1011,171 +1076,24 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae837605-d09f-494a-96b1-4b3220750464?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\"\n }" + string: "{\n \"name\": \"057683ae-9fd0-4a49-96b1-4b3220750464\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:37:39.54Z\",\n \"endTime\": + \"2022-02-11T07:40:21.283833Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:40: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:40: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:41: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id - -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79003caf-c9c6-4a11-b1c1-aaac363da565?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"af3c0079-c6c9-114a-b1c1-aaac363da565\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:37:14.5566666Z\",\n \"endTime\": - \"2021-10-19T07:41:35.5841119Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' + - '164' content-type: - application/json date: - - Tue, 19 Oct 2021 07:41:44 GMT + - Fri, 11 Feb 2022 07:40:39 GMT expires: - '-1' pragma: @@ -1208,59 +1126,63 @@ interactions: - --resource-group --name --enable-aad --aad-admin-group-object-ids --aad-tenant-id -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestj57odotdn-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestj57odotdn-8ecadf-90c684e3.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5sh3j46mb-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5sh3j46mb-8ecadf-37a4dec7.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/cf8bed28-6860-4271-ad8e-85ae95dcf345\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c6decee0-1ce4-45da-882b-89de62373fc0\"\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 \"aadProfile\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"aadProfile\": {\n \"managed\": true,\n \"adminGroupObjectIDs\": [\n \"00000000-0000-0000-0000-000000000001\"\n - \ ],\n \"tenantID\": \"00000000-0000-0000-0000-000000000002\"\n },\n - \ \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + \ ],\n \"adminUsers\": null,\n \"tenantID\": \"00000000-0000-0000-0000-000000000002\"\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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' + - '3882' content-type: - application/json date: - - Tue, 19 Oct 2021 07:41:44 GMT + - Fri, 11 Feb 2022 07:40:40 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 2b2d7c2a2ed..9b9501d694e --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:20:52Z"},"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":"2022-02-11T07:28:17Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:20:53 GMT + - Fri, 11 Feb 2022 07:28:18 GMT expires: - '-1' pragma: @@ -44,19 +44,20 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestwrzh26njc-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestgwztlawms-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' + "standard"}, "apiServerAccessProfile": {"authorizedIPRanges": [], "enablePrivateCluster": + true, "privateDNSZone": "none"}, "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -67,39 +68,40 @@ interactions: Connection: - keep-alive Content-Length: - - '1475' + - '1529' Content-Type: - application/json ParameterSetName: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwrzh26njc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestwrzh26njc-8ecadf-6b1eb6f8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"08a6c16d99776271b5d1a835d86dc095-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitestwrzh26njc-8ecadf-6b1eb6f8.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestgwztlawms-8ecadf\",\n \"fqdn\": \"cliakstest-clitestgwztlawms-8ecadf-9e196a19.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"18a9bdcc8d87783d758654bcb48aeb23-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestgwztlawms-8ecadf-9e196a19.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -108,27 +110,29 @@ interactions: {\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 + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"enablePrivateClusterPublicFQDN\": true,\n \"privateClusterVersion\": \"v1\"\n },\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Disabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3275' + - '3520' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:55 GMT + - Fri, 11 Feb 2022 07:28:21 GMT expires: - '-1' pragma: @@ -140,7 +144,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 201 message: Created @@ -159,23 +163,268 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:28: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster + --private-dns-zone --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster + --private-dns-zone --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster + --private-dns-zone --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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 +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster + --private-dns-zone --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster + --private-dns-zone --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:25 GMT + - Fri, 11 Feb 2022 07:31:21 GMT expires: - '-1' pragma: @@ -208,23 +457,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:56 GMT + - Fri, 11 Feb 2022 07:31:51 GMT expires: - '-1' pragma: @@ -257,23 +506,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:26 GMT + - Fri, 11 Feb 2022 07:32:22 GMT expires: - '-1' pragma: @@ -306,23 +555,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:55 GMT + - Fri, 11 Feb 2022 07:32:52 GMT expires: - '-1' pragma: @@ -355,23 +604,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:26 GMT + - Fri, 11 Feb 2022 07:33:22 GMT expires: - '-1' pragma: @@ -404,23 +653,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:56 GMT + - Fri, 11 Feb 2022 07:33:51 GMT expires: - '-1' pragma: @@ -453,23 +702,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:26 GMT + - Fri, 11 Feb 2022 07:34:21 GMT expires: - '-1' pragma: @@ -502,23 +751,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:55 GMT + - Fri, 11 Feb 2022 07:34:52 GMT expires: - '-1' pragma: @@ -551,23 +800,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:26 GMT + - Fri, 11 Feb 2022 07:35:22 GMT expires: - '-1' pragma: @@ -600,23 +849,23 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:56 GMT + - Fri, 11 Feb 2022 07:35:52 GMT expires: - '-1' pragma: @@ -649,24 +898,24 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f540dbff-f507-4ab2-b8f9-f416e0cd2195?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b45ee5a-ddd2-406f-b90b-dfa2e06954d8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ffdb40f5-07f5-b24a-b8f9-f416e0cd2195\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:20:56.1633333Z\",\n \"endTime\": - \"2021-10-19T07:26:27.12498Z\"\n }" + string: "{\n \"name\": \"5aee456b-d2dd-6f40-b90b-dfa2e06954d8\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:28:21.79Z\",\n \"endTime\": + \"2022-02-11T07:36:20.4946581Z\"\n }" headers: cache-control: - no-cache content-length: - - '168' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:26 GMT + - Fri, 11 Feb 2022 07:36:22 GMT expires: - '-1' pragma: @@ -699,42 +948,45 @@ interactions: - --resource-group --name --node-count --load-balancer-sku --enable-private-cluster --private-dns-zone --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwrzh26njc-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestwrzh26njc-8ecadf-6b1eb6f8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"08a6c16d99776271b5d1a835d86dc095-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitestwrzh26njc-8ecadf-6b1eb6f8.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestgwztlawms-8ecadf\",\n \"fqdn\": \"cliakstest-clitestgwztlawms-8ecadf-9e196a19.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"18a9bdcc8d87783d758654bcb48aeb23-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitestgwztlawms-8ecadf-9e196a19.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/829e81be-18b6-4e36-84e2-315cfbe68fed\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b29d8cce-5f68-404a-b180-87a4839f3c95\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 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 @@ -743,8 +995,8 @@ interactions: true,\n \"privateClusterVersion\": \"v1\"\n },\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Disabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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 }" @@ -752,11 +1004,11 @@ interactions: cache-control: - no-cache content-length: - - '4139' + - '4370' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:26 GMT + - Fri, 11 Feb 2022 07:36:22 GMT expires: - '-1' pragma: @@ -790,26 +1042,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/03773f75-d28b-4c12-9481-b02560486e49?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/97e8f568-23a8-48f7-9fc1-6b6dc7055cd6?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:26:44 GMT + - Fri, 11 Feb 2022 07:36:23 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/03773f75-d28b-4c12-9481-b02560486e49?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/97e8f568-23a8-48f7-9fc1-6b6dc7055cd6?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml old mode 100755 new mode 100644 index 6dfcc422050..6c3e9a069b5 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_private_cluster_public_fqdn.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:21:01Z"},"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":"2022-02-11T07:36:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:21:02 GMT + - Fri, 11 Feb 2022 07:36:24 GMT expires: - '-1' pragma: @@ -43,19 +43,20 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestollfkqhqm-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest4b22s753k-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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}, "disableLocalAccounts": - false}}' + "standard"}, "apiServerAccessProfile": {"authorizedIPRanges": [], "enablePrivateCluster": + true}, "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -66,38 +67,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1449' + - '1503' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestollfkqhqm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestollfkqhqm-8ecadf-49438204.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"c0099f28ef33ffcf77443b4666dd6250-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitestollfkqhqm-8ecadf-edca9286.865fb39c-758d-4bee-882a-40baca5d2a76.privatelink.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest4b22s753k-8ecadf\",\n \"fqdn\": \"cliakstest-clitest4b22s753k-8ecadf-03a0e597.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"c85380bb9cb473b306286a0ca2c60d8b-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitest4b22s753k-8ecadf-5673002e.46b4a77c-2302-48b4-9f0e-840a1b1ce223.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -106,27 +108,29 @@ interactions: {\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 + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"system\",\n \"enablePrivateClusterPublicFQDN\": true,\n \"privateClusterVersion\": \"v1\"\n },\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Disabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3322' + - '3567' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:04 GMT + - Fri, 11 Feb 2022 07:36:28 GMT expires: - '-1' pragma: @@ -138,7 +142,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' status: code: 201 message: Created @@ -156,23 +160,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:35 GMT + - Fri, 11 Feb 2022 07:36:58 GMT expires: - '-1' pragma: @@ -204,23 +208,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:05 GMT + - Fri, 11 Feb 2022 07:37:28 GMT expires: - '-1' pragma: @@ -252,23 +256,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:34 GMT + - Fri, 11 Feb 2022 07:37:58 GMT expires: - '-1' pragma: @@ -300,23 +304,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:05 GMT + - Fri, 11 Feb 2022 07:38:28 GMT expires: - '-1' pragma: @@ -348,23 +352,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:35 GMT + - Fri, 11 Feb 2022 07:38:58 GMT expires: - '-1' pragma: @@ -396,23 +400,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:05 GMT + - Fri, 11 Feb 2022 07:39:29 GMT expires: - '-1' pragma: @@ -444,23 +448,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:35 GMT + - Fri, 11 Feb 2022 07:39:59 GMT expires: - '-1' pragma: @@ -492,23 +496,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:05 GMT + - Fri, 11 Feb 2022 07:40:29 GMT expires: - '-1' pragma: @@ -540,23 +544,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:35 GMT + - Fri, 11 Feb 2022 07:40:59 GMT expires: - '-1' pragma: @@ -588,23 +592,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:05 GMT + - Fri, 11 Feb 2022 07:41:28 GMT expires: - '-1' pragma: @@ -636,23 +640,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:35 GMT + - Fri, 11 Feb 2022 07:41:58 GMT expires: - '-1' pragma: @@ -684,23 +688,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:05 GMT + - Fri, 11 Feb 2022 07:42:29 GMT expires: - '-1' pragma: @@ -732,23 +736,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:35 GMT + - Fri, 11 Feb 2022 07:42:59 GMT expires: - '-1' pragma: @@ -780,23 +784,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:06 GMT + - Fri, 11 Feb 2022 07:43:29 GMT expires: - '-1' pragma: @@ -828,23 +832,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:36 GMT + - Fri, 11 Feb 2022 07:43:59 GMT expires: - '-1' pragma: @@ -876,23 +880,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:05 GMT + - Fri, 11 Feb 2022 07:44:30 GMT expires: - '-1' pragma: @@ -924,24 +928,168 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5821d6cc-e4bd-47ef-86f5-bf9f0c7ffcaf?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccd62158-bde4-ef47-86f5-bf9f0c7ffcaf\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:21:05.4566666Z\",\n \"endTime\": - \"2021-10-19T07:29:12.4309839Z\"\n }" + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:45: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-private-cluster --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:45: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-private-cluster --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-private-cluster --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/27c6c0ab-9a2a-4241-aec9-bbf291939ad6?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"abc0c627-2a9a-4142-aec9-bbf291939ad6\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:36:28.66Z\",\n \"endTime\": + \"2022-02-11T07:46:06.8431345Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:36 GMT + - Fri, 11 Feb 2022 07:46:29 GMT expires: - '-1' pragma: @@ -973,42 +1121,45 @@ interactions: ParameterSetName: - --resource-group --name --enable-private-cluster --node-count --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestollfkqhqm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestollfkqhqm-8ecadf-49438204.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"c0099f28ef33ffcf77443b4666dd6250-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitestollfkqhqm-8ecadf-edca9286.865fb39c-758d-4bee-882a-40baca5d2a76.privatelink.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest4b22s753k-8ecadf\",\n \"fqdn\": \"cliakstest-clitest4b22s753k-8ecadf-03a0e597.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"c85380bb9cb473b306286a0ca2c60d8b-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitest4b22s753k-8ecadf-5673002e.46b4a77c-2302-48b4-9f0e-840a1b1ce223.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/24cae00a-fef5-4c70-865f-63ed5e25bb92\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/bfd94191-149d-4ae5-8446-85161f864062\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 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 @@ -1017,8 +1168,8 @@ interactions: true,\n \"privateClusterVersion\": \"v1\"\n },\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Disabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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 }" @@ -1026,11 +1177,11 @@ interactions: cache-control: - no-cache content-length: - - '4186' + - '4417' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:36 GMT + - Fri, 11 Feb 2022 07:46:29 GMT expires: - '-1' pragma: @@ -1062,42 +1213,45 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestollfkqhqm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestollfkqhqm-8ecadf-49438204.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"c0099f28ef33ffcf77443b4666dd6250-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitestollfkqhqm-8ecadf-edca9286.865fb39c-758d-4bee-882a-40baca5d2a76.privatelink.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest4b22s753k-8ecadf\",\n \"fqdn\": \"cliakstest-clitest4b22s753k-8ecadf-03a0e597.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"c85380bb9cb473b306286a0ca2c60d8b-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitest4b22s753k-8ecadf-5673002e.46b4a77c-2302-48b4-9f0e-840a1b1ce223.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/24cae00a-fef5-4c70-865f-63ed5e25bb92\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/bfd94191-149d-4ae5-8446-85161f864062\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 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 @@ -1106,8 +1260,8 @@ interactions: true,\n \"privateClusterVersion\": \"v1\"\n },\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Disabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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 }" @@ -1115,11 +1269,11 @@ interactions: cache-control: - no-cache content-length: - - '4186' + - '4417' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:37 GMT + - Fri, 11 Feb 2022 07:46:31 GMT expires: - '-1' pragma: @@ -1139,30 +1293,31 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestollfkqhqm-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest4b22s753k-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "nodeResourceGroup": "MC_clitest000001_cliakstest000001_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_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/24cae00a-fef5-4c70-865f-63ed5e25bb92"}]}}, - "apiServerAccessProfile": {"enablePrivateCluster": true, "privateDNSZone": "system", - "enablePrivateClusterPublicFQDN": false}, "identityProfile": {"kubeletidentity": + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/bfd94191-149d-4ae5-8446-85161f864062"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "apiServerAccessProfile": {"enablePrivateCluster": true, "privateDNSZone": + "system", "enablePrivateClusterPublicFQDN": false}, "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"}}, "privateLinkResources": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management", "name": "management", "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", "groupId": "management", "requiredMembers": ["management"]}], "disableLocalAccounts": - false, "publicNetworkAccess": "Disabled"}}' + false}}' headers: Accept: - application/json @@ -1173,72 +1328,75 @@ interactions: Connection: - keep-alive Content-Length: - - '2820' + - '2931' Content-Type: - application/json ParameterSetName: - --resource-group --name --disable-public-fqdn User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestollfkqhqm-8ecadf\",\n \"azurePortalFQDN\": - \"c0099f28ef33ffcf77443b4666dd6250-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitestollfkqhqm-8ecadf-edca9286.865fb39c-758d-4bee-882a-40baca5d2a76.privatelink.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest4b22s753k-8ecadf\",\n \"azurePortalFQDN\": \"c85380bb9cb473b306286a0ca2c60d8b-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitest4b22s753k-8ecadf-5673002e.46b4a77c-2302-48b4-9f0e-840a1b1ce223.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/24cae00a-fef5-4c70-865f-63ed5e25bb92\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/bfd94191-149d-4ae5-8446-85161f864062\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"privateLinkServiceID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hcp-underlay-westus2-cx-82/providers/Microsoft.Network/privateLinkServices/ac715d6fe7f0f4145a86d91e9e56fc19\"\n + \ ],\n \"privateLinkServiceID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hcp-underlay-westus2-cx-180/providers/Microsoft.Network/privateLinkServices/a3dbf5c3cb7b14c2bb487e6a360ab827\"\n \ }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": true,\n \"privateDNSZone\": \"system\",\n \"enablePrivateClusterPublicFQDN\": false,\n \"privateClusterVersion\": \"v1\"\n },\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Disabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/64954b85-f4d1-4378-a571-1301779504ae?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 cache-control: - no-cache content-length: - - '4111' + - '4347' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:39 GMT + - Fri, 11 Feb 2022 07:46:34 GMT expires: - '-1' pragma: @@ -1254,7 +1412,343 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1191' + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-public-fqdn + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:47: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-public-fqdn + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:47: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-public-fqdn + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-public-fqdn + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-public-fqdn + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:49: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-public-fqdn + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:49: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-public-fqdn + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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 status: code: 200 message: OK @@ -1272,14 +1766,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64954b85-f4d1-4378-a571-1301779504ae?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"854b9564-d1f4-7843-a571-1301779504ae\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:29:39.7666666Z\"\n }" + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" headers: cache-control: - no-cache @@ -1288,7 +1782,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:30:09 GMT + - Fri, 11 Feb 2022 07:50:34 GMT expires: - '-1' pragma: @@ -1320,14 +1814,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64954b85-f4d1-4378-a571-1301779504ae?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"854b9564-d1f4-7843-a571-1301779504ae\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:29:39.7666666Z\"\n }" + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" headers: cache-control: - no-cache @@ -1336,7 +1830,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:30:39 GMT + - Fri, 11 Feb 2022 07:51:04 GMT expires: - '-1' pragma: @@ -1368,14 +1862,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64954b85-f4d1-4378-a571-1301779504ae?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"854b9564-d1f4-7843-a571-1301779504ae\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:29:39.7666666Z\"\n }" + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" headers: cache-control: - no-cache @@ -1384,7 +1878,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:31:10 GMT + - Fri, 11 Feb 2022 07:51:34 GMT expires: - '-1' pragma: @@ -1416,14 +1910,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64954b85-f4d1-4378-a571-1301779504ae?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"854b9564-d1f4-7843-a571-1301779504ae\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:29:39.7666666Z\"\n }" + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\"\n }" headers: cache-control: - no-cache @@ -1432,7 +1926,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:31:39 GMT + - Fri, 11 Feb 2022 07:52:05 GMT expires: - '-1' pragma: @@ -1464,15 +1958,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64954b85-f4d1-4378-a571-1301779504ae?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab93c5a4-3709-409a-9c9c-539853963763?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"854b9564-d1f4-7843-a571-1301779504ae\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:29:39.7666666Z\",\n \"endTime\": - \"2021-10-19T07:32:02.6282717Z\"\n }" + string: "{\n \"name\": \"a4c593ab-0937-9a40-9c9c-539853963763\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:46:34.2566666Z\",\n \"endTime\": + \"2022-02-11T07:52:08.9897034Z\"\n }" headers: cache-control: - no-cache @@ -1481,7 +1975,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:32:09 GMT + - Fri, 11 Feb 2022 07:52:35 GMT expires: - '-1' pragma: @@ -1513,41 +2007,44 @@ interactions: ParameterSetName: - --resource-group --name --disable-public-fqdn User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestollfkqhqm-8ecadf\",\n \"azurePortalFQDN\": - \"c0099f28ef33ffcf77443b4666dd6250-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitestollfkqhqm-8ecadf-edca9286.865fb39c-758d-4bee-882a-40baca5d2a76.privatelink.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest4b22s753k-8ecadf\",\n \"azurePortalFQDN\": \"c85380bb9cb473b306286a0ca2c60d8b-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitest4b22s753k-8ecadf-5673002e.46b4a77c-2302-48b4-9f0e-840a1b1ce223.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/24cae00a-fef5-4c70-865f-63ed5e25bb92\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/bfd94191-149d-4ae5-8446-85161f864062\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 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 @@ -1556,8 +2053,8 @@ interactions: false,\n \"privateClusterVersion\": \"v1\"\n },\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Disabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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 }" @@ -1565,11 +2062,11 @@ interactions: cache-control: - no-cache content-length: - - '4107' + - '4338' content-type: - application/json date: - - Tue, 19 Oct 2021 07:32:10 GMT + - Fri, 11 Feb 2022 07:52:35 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 585afa557ec..cd78d0b7846 --- 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,6 +1,18 @@ interactions: - request: - body: null + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestljlo7wsdt-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "podIdentityProfile": + {"enabled": true, "allowNetworkPluginKubenet": false}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "azure", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}, "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -10,31 +22,125 @@ interactions: - aks create Connection: - keep-alive + Content-Length: + - '1370' + Content-Type: + - application/json ParameterSetName: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": + false\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/c9cd7b85-6019-48a3-876c-8d497e040866?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:25:38 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: + - '1195' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c9cd7b85-6019-48a3-876c-8d497e040866?api-version=2016-03-30 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-10-19T06:46:11Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\n \"name\": \"857bcdc9-1960-a348-876c-8d497e040866\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:38.8366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '313' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 06:46:11 GMT + - Fri, 11 Feb 2022 07:26: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: @@ -43,85 +149,37 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestge4dhsaqu-8ecadf", - "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "podIdentityProfile": - {"enabled": true}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": - {"networkPlugin": "azure", "outboundType": "loadBalancer", "loadBalancerSku": - "standard"}, "disableLocalAccounts": false}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1306' - Content-Type: - - application/json ParameterSetName: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c9cd7b85-6019-48a3-876c-8d497e040866?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\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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\": 100,\n \"podIdentityProfile\": - {\n \"enabled\": true\n },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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\": \"857bcdc9-1960-a348-876c-8d497e040866\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:38.8366666Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dc051b1-a3cf-4b49-978d-7f8e3c1be0eb?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2886' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:14 GMT + - Fri, 11 Feb 2022 07:26:38 GMT expires: - '-1' pragma: @@ -130,13 +188,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: - - '1197' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -152,14 +212,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dc051b1-a3cf-4b49-978d-7f8e3c1be0eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c9cd7b85-6019-48a3-876c-8d497e040866?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b151c06d-cfa3-494b-978d-7f8e3c1be0eb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:15.2466666Z\"\n }" + string: "{\n \"name\": \"857bcdc9-1960-a348-876c-8d497e040866\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:38.8366666Z\"\n }" headers: cache-control: - no-cache @@ -168,7 +228,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:45 GMT + - Fri, 11 Feb 2022 07:27:09 GMT expires: - '-1' pragma: @@ -201,14 +261,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dc051b1-a3cf-4b49-978d-7f8e3c1be0eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c9cd7b85-6019-48a3-876c-8d497e040866?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b151c06d-cfa3-494b-978d-7f8e3c1be0eb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:15.2466666Z\"\n }" + string: "{\n \"name\": \"857bcdc9-1960-a348-876c-8d497e040866\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:38.8366666Z\"\n }" headers: cache-control: - no-cache @@ -217,7 +277,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:15 GMT + - Fri, 11 Feb 2022 07:27:38 GMT expires: - '-1' pragma: @@ -250,14 +310,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dc051b1-a3cf-4b49-978d-7f8e3c1be0eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c9cd7b85-6019-48a3-876c-8d497e040866?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b151c06d-cfa3-494b-978d-7f8e3c1be0eb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:15.2466666Z\"\n }" + string: "{\n \"name\": \"857bcdc9-1960-a348-876c-8d497e040866\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:38.8366666Z\"\n }" headers: cache-control: - no-cache @@ -266,7 +326,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:44 GMT + - Fri, 11 Feb 2022 07:28:08 GMT expires: - '-1' pragma: @@ -299,14 +359,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dc051b1-a3cf-4b49-978d-7f8e3c1be0eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c9cd7b85-6019-48a3-876c-8d497e040866?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b151c06d-cfa3-494b-978d-7f8e3c1be0eb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:15.2466666Z\"\n }" + string: "{\n \"name\": \"857bcdc9-1960-a348-876c-8d497e040866\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:38.8366666Z\"\n }" headers: cache-control: - no-cache @@ -315,7 +375,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:14 GMT + - Fri, 11 Feb 2022 07:28:39 GMT expires: - '-1' pragma: @@ -348,14 +408,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dc051b1-a3cf-4b49-978d-7f8e3c1be0eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c9cd7b85-6019-48a3-876c-8d497e040866?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b151c06d-cfa3-494b-978d-7f8e3c1be0eb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:15.2466666Z\"\n }" + string: "{\n \"name\": \"857bcdc9-1960-a348-876c-8d497e040866\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:25:38.8366666Z\"\n }" headers: cache-control: - no-cache @@ -364,7 +424,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:45 GMT + - Fri, 11 Feb 2022 07:29:09 GMT expires: - '-1' pragma: @@ -397,24 +457,24 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dc051b1-a3cf-4b49-978d-7f8e3c1be0eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c9cd7b85-6019-48a3-876c-8d497e040866?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b151c06d-cfa3-494b-978d-7f8e3c1be0eb\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:46:15.2466666Z\",\n \"endTime\": - \"2021-10-19T06:48:47.207183Z\"\n }" + string: "{\n \"name\": \"857bcdc9-1960-a348-876c-8d497e040866\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:25:38.8366666Z\",\n \"endTime\": + \"2022-02-11T07:29:28.2330006Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:15 GMT + - Fri, 11 Feb 2022 07:29:39 GMT expires: - '-1' pragma: @@ -447,31 +507,32 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -479,26 +540,29 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"allowNetworkPluginKubenet\": + false\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3549' + - '3779' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:15 GMT + - Fri, 11 Feb 2022 07:29:39 GMT expires: - '-1' pragma: @@ -530,31 +594,32 @@ interactions: ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -562,26 +627,29 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"allowNetworkPluginKubenet\": + false\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3549' + - '3779' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:17 GMT + - Fri, 11 Feb 2022 07:29:40 GMT expires: - '-1' pragma: @@ -601,26 +669,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestge4dhsaqu-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestljlo7wsdt-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": - "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": + "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1, "countIPv6": 0}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -631,37 +700,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2396' + - '2481' Content-Type: - application/json ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -669,28 +739,30 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/1e0cc0bd-bce7-4564-87b5-55e2f90b3d0b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657295ae-37cf-40cb-bebd-0c329403750c?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3523' + - '3713' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:40 GMT + - Fri, 11 Feb 2022 07:29:42 GMT expires: - '-1' pragma: @@ -706,7 +778,55 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-pod-identity + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657295ae-37cf-40cb-bebd-0c329403750c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ae957265-cf37-cb40-bebd-0c329403750c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:43.3266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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 @@ -724,23 +844,119 @@ interactions: ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1e0cc0bd-bce7-4564-87b5-55e2f90b3d0b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657295ae-37cf-40cb-bebd-0c329403750c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"bdc00c1e-e7bc-6445-87b5-55e2f90b3d0b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:40.39Z\"\n }" + string: "{\n \"name\": \"ae957265-cf37-cb40-bebd-0c329403750c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:43.3266666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-pod-identity + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657295ae-37cf-40cb-bebd-0c329403750c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ae957265-cf37-cb40-bebd-0c329403750c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:43.3266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-pod-identity + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657295ae-37cf-40cb-bebd-0c329403750c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ae957265-cf37-cb40-bebd-0c329403750c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:43.3266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:09 GMT + - Fri, 11 Feb 2022 07:31:42 GMT expires: - '-1' pragma: @@ -772,24 +988,24 @@ interactions: ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1e0cc0bd-bce7-4564-87b5-55e2f90b3d0b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657295ae-37cf-40cb-bebd-0c329403750c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"bdc00c1e-e7bc-6445-87b5-55e2f90b3d0b\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:49:40.39Z\",\n \"endTime\": - \"2021-10-19T06:50:33.3225178Z\"\n }" + string: "{\n \"name\": \"ae957265-cf37-cb40-bebd-0c329403750c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:29:43.3266666Z\",\n \"endTime\": + \"2022-02-11T07:31:57.2232841Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:40 GMT + - Fri, 11 Feb 2022 07:32:13 GMT expires: - '-1' pragma: @@ -821,31 +1037,32 @@ interactions: ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -853,26 +1070,28 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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: - - '3525' + - '3715' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:40 GMT + - Fri, 11 Feb 2022 07:32:13 GMT expires: - '-1' pragma: @@ -904,31 +1123,32 @@ interactions: ParameterSetName: - --resource-group --name --enable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -936,26 +1156,28 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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: - - '3525' + - '3715' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:41 GMT + - Fri, 11 Feb 2022 07:32:14 GMT expires: - '-1' pragma: @@ -975,15 +1197,15 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestge4dhsaqu-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestljlo7wsdt-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": - "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": + "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": @@ -991,11 +1213,12 @@ interactions: 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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1, "countIPv6": 0}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1006,37 +1229,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2463' + - '2548' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1044,28 +1268,128 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/d63a5a42-3b19-4725-b40f-c60728b6cd27?api-version=2016-03-30 + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c253f0f-83ae-4a5e-8bc9-efa0d5a8a63a?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3737' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:32: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-pod-identity + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c253f0f-83ae-4a5e-8bc9-efa0d5a8a63a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0f3f254c-ae83-5e4a-8bc9-efa0d5a8a63a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:32:16.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-pod-identity + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c253f0f-83ae-4a5e-8bc9-efa0d5a8a63a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0f3f254c-ae83-5e4a-8bc9-efa0d5a8a63a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:32:16.3866666Z\"\n }" + headers: cache-control: - no-cache content-length: - - '3547' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:43 GMT + - Fri, 11 Feb 2022 07:33:16 GMT expires: - '-1' pragma: @@ -1080,8 +1404,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1195' status: code: 200 message: OK @@ -1099,23 +1421,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63a5a42-3b19-4725-b40f-c60728b6cd27?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c253f0f-83ae-4a5e-8bc9-efa0d5a8a63a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"425a3ad6-193b-2547-b40f-c60728b6cd27\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:43.56Z\"\n }" + string: "{\n \"name\": \"0f3f254c-ae83-5e4a-8bc9-efa0d5a8a63a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:32:16.3866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:13 GMT + - Fri, 11 Feb 2022 07:33:45 GMT expires: - '-1' pragma: @@ -1147,23 +1469,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63a5a42-3b19-4725-b40f-c60728b6cd27?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c253f0f-83ae-4a5e-8bc9-efa0d5a8a63a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"425a3ad6-193b-2547-b40f-c60728b6cd27\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:43.56Z\"\n }" + string: "{\n \"name\": \"0f3f254c-ae83-5e4a-8bc9-efa0d5a8a63a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:32:16.3866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:43 GMT + - Fri, 11 Feb 2022 07:34:16 GMT expires: - '-1' pragma: @@ -1195,24 +1517,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63a5a42-3b19-4725-b40f-c60728b6cd27?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4c253f0f-83ae-4a5e-8bc9-efa0d5a8a63a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"425a3ad6-193b-2547-b40f-c60728b6cd27\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:50:43.56Z\",\n \"endTime\": - \"2021-10-19T06:52:01.132113Z\"\n }" + string: "{\n \"name\": \"0f3f254c-ae83-5e4a-8bc9-efa0d5a8a63a\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:32:16.3866666Z\",\n \"endTime\": + \"2022-02-11T07:34:40.1764694Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:13 GMT + - Fri, 11 Feb 2022 07:34:46 GMT expires: - '-1' pragma: @@ -1244,31 +1566,32 @@ interactions: ParameterSetName: - --resource-group --name --enable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1276,26 +1599,28 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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: - - '3549' + - '3739' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:14 GMT + - Fri, 11 Feb 2022 07:34:46 GMT expires: - '-1' pragma: @@ -1327,31 +1652,32 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1359,26 +1685,28 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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: - - '3549' + - '3739' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:15 GMT + - Fri, 11 Feb 2022 07:34:47 GMT expires: - '-1' pragma: @@ -1398,28 +1726,29 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestge4dhsaqu-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestljlo7wsdt-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": - "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": + "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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": + "oidcIssuerProfile": {"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d"}]}}, - "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/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1430,37 +1759,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2544' + - '2654' Content-Type: - application/json ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1468,30 +1798,33 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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/a732132b-3a69-4017-8e91-152b520dd0bb?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/369c195d-8c1a-4a72-8a47-54df6e46698e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3721' + - '3911' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:18 GMT + - Fri, 11 Feb 2022 07:34:49 GMT expires: - '-1' pragma: @@ -1507,7 +1840,55 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1195' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/369c195d-8c1a-4a72-8a47-54df6e46698e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"5d199c36-1a8c-724a-8a47-54df6e46698e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:50.1333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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 @@ -1525,14 +1906,14 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a732132b-3a69-4017-8e91-152b520dd0bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/369c195d-8c1a-4a72-8a47-54df6e46698e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2b1332a7-693a-1740-8e91-152b520dd0bb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:19.0833333Z\"\n }" + string: "{\n \"name\": \"5d199c36-1a8c-724a-8a47-54df6e46698e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:50.1333333Z\"\n }" headers: cache-control: - no-cache @@ -1541,7 +1922,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:49 GMT + - Fri, 11 Feb 2022 07:35:49 GMT expires: - '-1' pragma: @@ -1573,14 +1954,14 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a732132b-3a69-4017-8e91-152b520dd0bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/369c195d-8c1a-4a72-8a47-54df6e46698e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2b1332a7-693a-1740-8e91-152b520dd0bb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:19.0833333Z\"\n }" + string: "{\n \"name\": \"5d199c36-1a8c-724a-8a47-54df6e46698e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:50.1333333Z\"\n }" headers: cache-control: - no-cache @@ -1589,7 +1970,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:18 GMT + - Fri, 11 Feb 2022 07:36:20 GMT expires: - '-1' pragma: @@ -1621,14 +2002,14 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a732132b-3a69-4017-8e91-152b520dd0bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/369c195d-8c1a-4a72-8a47-54df6e46698e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2b1332a7-693a-1740-8e91-152b520dd0bb\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:19.0833333Z\"\n }" + string: "{\n \"name\": \"5d199c36-1a8c-724a-8a47-54df6e46698e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:50.1333333Z\"\n }" headers: cache-control: - no-cache @@ -1637,7 +2018,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:49 GMT + - Fri, 11 Feb 2022 07:36:49 GMT expires: - '-1' pragma: @@ -1669,15 +2050,15 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a732132b-3a69-4017-8e91-152b520dd0bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/369c195d-8c1a-4a72-8a47-54df6e46698e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2b1332a7-693a-1740-8e91-152b520dd0bb\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:52:19.0833333Z\",\n \"endTime\": - \"2021-10-19T06:53:52.2341935Z\"\n }" + string: "{\n \"name\": \"5d199c36-1a8c-724a-8a47-54df6e46698e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:34:50.1333333Z\",\n \"endTime\": + \"2022-02-11T07:37:12.1766782Z\"\n }" headers: cache-control: - no-cache @@ -1686,7 +2067,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:18 GMT + - Fri, 11 Feb 2022 07:37:19 GMT expires: - '-1' pragma: @@ -1718,31 +2099,32 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1750,28 +2132,31 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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: - - '3723' + - '3913' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:19 GMT + - Fri, 11 Feb 2022 07:37:20 GMT expires: - '-1' pragma: @@ -1803,31 +2188,32 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1835,28 +2221,31 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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: - - '3723' + - '3913' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:20 GMT + - Fri, 11 Feb 2022 07:37:20 GMT expires: - '-1' pragma: @@ -1876,28 +2265,29 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestge4dhsaqu-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestljlo7wsdt-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": - "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": + "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "a": "b"}}]}, "oidcIssuerProfile": {"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/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1908,37 +2298,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2554' + - '2664' Content-Type: - application/json ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1946,30 +2337,33 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/7774ca15-cfc5-474a-8b7c-d205dfd1ab56?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b26d2828-e302-49c7-ae4a-9ef15c322990?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3738' + - '3928' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:23 GMT + - Fri, 11 Feb 2022 07:37:22 GMT expires: - '-1' pragma: @@ -1985,7 +2379,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1193' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b26d2828-e302-49c7-ae4a-9ef15c322990?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"28286db2-02e3-c749-ae4a-9ef15c322990\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:23.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:37: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b26d2828-e302-49c7-ae4a-9ef15c322990?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"28286db2-02e3-c749-ae4a-9ef15c322990\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:23.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:38: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 @@ -2003,14 +2493,14 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7774ca15-cfc5-474a-8b7c-d205dfd1ab56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b26d2828-e302-49c7-ae4a-9ef15c322990?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"15ca7477-c5cf-4a47-8b7c-d205dfd1ab56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:54:23.1033333Z\"\n }" + string: "{\n \"name\": \"28286db2-02e3-c749-ae4a-9ef15c322990\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:23.3866666Z\"\n }" headers: cache-control: - no-cache @@ -2019,7 +2509,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:53 GMT + - Fri, 11 Feb 2022 07:38:53 GMT expires: - '-1' pragma: @@ -2051,14 +2541,14 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7774ca15-cfc5-474a-8b7c-d205dfd1ab56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b26d2828-e302-49c7-ae4a-9ef15c322990?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"15ca7477-c5cf-4a47-8b7c-d205dfd1ab56\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:54:23.1033333Z\"\n }" + string: "{\n \"name\": \"28286db2-02e3-c749-ae4a-9ef15c322990\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:37:23.3866666Z\"\n }" headers: cache-control: - no-cache @@ -2067,7 +2557,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:22 GMT + - Fri, 11 Feb 2022 07:39:23 GMT expires: - '-1' pragma: @@ -2099,15 +2589,15 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7774ca15-cfc5-474a-8b7c-d205dfd1ab56?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b26d2828-e302-49c7-ae4a-9ef15c322990?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"15ca7477-c5cf-4a47-8b7c-d205dfd1ab56\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:54:23.1033333Z\",\n \"endTime\": - \"2021-10-19T06:55:23.6694454Z\"\n }" + string: "{\n \"name\": \"28286db2-02e3-c749-ae4a-9ef15c322990\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:37:23.3866666Z\",\n \"endTime\": + \"2022-02-11T07:39:46.8275929Z\"\n }" headers: cache-control: - no-cache @@ -2116,7 +2606,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:52 GMT + - Fri, 11 Feb 2022 07:39:53 GMT expires: - '-1' pragma: @@ -2148,31 +2638,32 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -2180,28 +2671,31 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3740' + - '3930' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:52 GMT + - Fri, 11 Feb 2022 07:39:53 GMT expires: - '-1' pragma: @@ -2233,31 +2727,32 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -2265,28 +2760,31 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3740' + - '3930' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:53 GMT + - Fri, 11 Feb 2022 07:39:55 GMT expires: - '-1' pragma: @@ -2306,27 +2804,28 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestge4dhsaqu-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestljlo7wsdt-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": - "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": + "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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": + []}, "oidcIssuerProfile": {"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d"}]}}, - "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/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -2337,37 +2836,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2463' + - '2573' Content-Type: - application/json ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -2375,28 +2875,30 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/b0ebeb12-55c5-4bf1-a60e-fe54ced8db95?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c64784a-565b-4219-b0d8-dca6590ba025?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3547' + - '3737' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:55 GMT + - Fri, 11 Feb 2022 07:39:57 GMT expires: - '-1' pragma: @@ -2412,7 +2914,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c64784a-565b-4219-b0d8-dca6590ba025?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4a78643c-5b56-1942-b0d8-dca6590ba025\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:39:57.2066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:40: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c64784a-565b-4219-b0d8-dca6590ba025?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4a78643c-5b56-1942-b0d8-dca6590ba025\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:39:57.2066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:40: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 @@ -2430,23 +3028,23 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0ebeb12-55c5-4bf1-a60e-fe54ced8db95?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c64784a-565b-4219-b0d8-dca6590ba025?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12ebebb0-c555-f14b-a60e-fe54ced8db95\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:55:56.25Z\"\n }" + string: "{\n \"name\": \"4a78643c-5b56-1942-b0d8-dca6590ba025\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:39:57.2066666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:26 GMT + - Fri, 11 Feb 2022 07:41:27 GMT expires: - '-1' pragma: @@ -2478,23 +3076,23 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0ebeb12-55c5-4bf1-a60e-fe54ced8db95?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c64784a-565b-4219-b0d8-dca6590ba025?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12ebebb0-c555-f14b-a60e-fe54ced8db95\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:55:56.25Z\"\n }" + string: "{\n \"name\": \"4a78643c-5b56-1942-b0d8-dca6590ba025\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:39:57.2066666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:56 GMT + - Fri, 11 Feb 2022 07:41:57 GMT expires: - '-1' pragma: @@ -2526,24 +3124,24 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b0ebeb12-55c5-4bf1-a60e-fe54ced8db95?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c64784a-565b-4219-b0d8-dca6590ba025?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12ebebb0-c555-f14b-a60e-fe54ced8db95\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:55:56.25Z\",\n \"endTime\": - \"2021-10-19T06:57:00.9389546Z\"\n }" + string: "{\n \"name\": \"4a78643c-5b56-1942-b0d8-dca6590ba025\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:39:57.2066666Z\",\n \"endTime\": + \"2022-02-11T07:42:23.6222878Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:25 GMT + - Fri, 11 Feb 2022 07:42:26 GMT expires: - '-1' pragma: @@ -2575,31 +3173,32 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestge4dhsaqu-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestge4dhsaqu-8ecadf-0569cc8d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljlo7wsdt-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljlo7wsdt-8ecadf-eba5a230.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -2607,26 +3206,28 @@ interactions: \ \"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/4fc8fdce-a5b3-4099-954f-e720e5a3f73d\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fc0faa4e-7c66-4dc7-b0dc-30bfe0b8b6c7\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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: - - '3549' + - '3739' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:26 GMT + - Fri, 11 Feb 2022 07:42:27 GMT expires: - '-1' pragma: @@ -2660,26 +3261,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/252dd0ed-2f09-40c3-8146-db595f5c1b17?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3b502ce4-d3ef-420b-8921-c2b9d37dcfdf?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 06:57:28 GMT + - Fri, 11 Feb 2022 07:42:28 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/252dd0ed-2f09-40c3-8146-db595f5c1b17?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/3b502ce4-d3ef-420b-8921-c2b9d37dcfdf?api-version=2016-03-30 pragma: - no-cache server: @@ -2689,7 +3290,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14996' 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 old mode 100755 new mode 100644 index 7bd49fcd2d9..0d40e1e6c93 --- 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,57 +1,14 @@ interactions: -- 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 --windows-admin-username - --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin - --enable-ahub --ssh-key-value - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:54:02Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 06:54: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: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": "replace-Password1234$", "licenseType": "Windows_Server"}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": @@ -67,7 +24,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1373' + - '1400' Content-Type: - application/json ParameterSetName: @@ -75,30 +32,32 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-f44772a6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-f44772a6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-2a4ebe18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-2a4ebe18.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -108,22 +67,23 @@ interactions: \ \"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\": 100,\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/8e1612a6-1645-43a9-b8b4-11331b79355e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d532757b-028d-4b80-8c8c-2b05cd2be015?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2817' + - '3014' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:06 GMT + - Fri, 11 Feb 2022 07:42:32 GMT expires: - '-1' pragma: @@ -155,23 +115,23 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e1612a6-1645-43a9-b8b4-11331b79355e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d532757b-028d-4b80-8c8c-2b05cd2be015?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a612168e-4516-a943-b8b4-11331b79355e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:54:07.07Z\"\n }" + string: "{\n \"name\": \"7b7532d5-8d02-804b-8c8c-2b05cd2be015\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:42:32.4566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:36 GMT + - Fri, 11 Feb 2022 07:43:02 GMT expires: - '-1' pragma: @@ -205,23 +165,23 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e1612a6-1645-43a9-b8b4-11331b79355e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d532757b-028d-4b80-8c8c-2b05cd2be015?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a612168e-4516-a943-b8b4-11331b79355e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:54:07.07Z\"\n }" + string: "{\n \"name\": \"7b7532d5-8d02-804b-8c8c-2b05cd2be015\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:42:32.4566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:07 GMT + - Fri, 11 Feb 2022 07:43:32 GMT expires: - '-1' pragma: @@ -255,23 +215,23 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e1612a6-1645-43a9-b8b4-11331b79355e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d532757b-028d-4b80-8c8c-2b05cd2be015?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a612168e-4516-a943-b8b4-11331b79355e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:54:07.07Z\"\n }" + string: "{\n \"name\": \"7b7532d5-8d02-804b-8c8c-2b05cd2be015\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:42:32.4566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:36 GMT + - Fri, 11 Feb 2022 07:44:02 GMT expires: - '-1' pragma: @@ -305,23 +265,23 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e1612a6-1645-43a9-b8b4-11331b79355e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d532757b-028d-4b80-8c8c-2b05cd2be015?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a612168e-4516-a943-b8b4-11331b79355e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:54:07.07Z\"\n }" + string: "{\n \"name\": \"7b7532d5-8d02-804b-8c8c-2b05cd2be015\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:42:32.4566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:06 GMT + - Fri, 11 Feb 2022 07:44:32 GMT expires: - '-1' pragma: @@ -355,23 +315,23 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e1612a6-1645-43a9-b8b4-11331b79355e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d532757b-028d-4b80-8c8c-2b05cd2be015?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a612168e-4516-a943-b8b4-11331b79355e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:54:07.07Z\"\n }" + string: "{\n \"name\": \"7b7532d5-8d02-804b-8c8c-2b05cd2be015\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:42:32.4566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:37 GMT + - Fri, 11 Feb 2022 07:45:02 GMT expires: - '-1' pragma: @@ -405,24 +365,74 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8e1612a6-1645-43a9-b8b4-11331b79355e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d532757b-028d-4b80-8c8c-2b05cd2be015?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a612168e-4516-a943-b8b4-11331b79355e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:54:07.07Z\",\n \"endTime\": - \"2021-10-19T06:56:39.7067915Z\"\n }" + string: "{\n \"name\": \"7b7532d5-8d02-804b-8c8c-2b05cd2be015\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:42:32.4566666Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:45: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --enable-ahub --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d532757b-028d-4b80-8c8c-2b05cd2be015?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7b7532d5-8d02-804b-8c8c-2b05cd2be015\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:42:32.4566666Z\",\n \"endTime\": + \"2022-02-11T07:45:52.4986851Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:06 GMT + - Fri, 11 Feb 2022 07:46:02 GMT expires: - '-1' pragma: @@ -456,30 +466,32 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-f44772a6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-f44772a6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-2a4ebe18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-2a4ebe18.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -487,25 +499,28 @@ interactions: \ \"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/9fb5badf-dc2a-4c29-80df-b6faa00d2841\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/183d685d-ae4d-4df6-9256-889065d92498\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3480' + - '3667' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:07 GMT + - Fri, 11 Feb 2022 07:46:03 GMT expires: - '-1' pragma: @@ -537,10 +552,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -548,22 +563,22 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '973' + - '1002' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:07 GMT + - Fri, 11 Feb 2022 07:46:04 GMT expires: - '-1' pragma: @@ -603,10 +618,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -616,21 +631,22 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\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/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 cache-control: - no-cache content-length: - - '913' + - '941' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:10 GMT + - Fri, 11 Feb 2022 07:46:07 GMT expires: - '-1' pragma: @@ -642,7 +658,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1192' status: code: 201 message: Created @@ -660,14 +676,110 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:46: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:47: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -676,7 +788,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:40 GMT + - Fri, 11 Feb 2022 07:47:37 GMT expires: - '-1' pragma: @@ -708,14 +820,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -724,7 +836,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:10 GMT + - Fri, 11 Feb 2022 07:48:07 GMT expires: - '-1' pragma: @@ -756,14 +868,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -772,7 +884,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:40 GMT + - Fri, 11 Feb 2022 07:48:37 GMT expires: - '-1' pragma: @@ -804,14 +916,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -820,7 +932,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:10 GMT + - Fri, 11 Feb 2022 07:49:07 GMT expires: - '-1' pragma: @@ -852,14 +964,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -868,7 +980,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:40 GMT + - Fri, 11 Feb 2022 07:49:37 GMT expires: - '-1' pragma: @@ -900,14 +1012,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -916,7 +1028,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:11 GMT + - Fri, 11 Feb 2022 07:50:08 GMT expires: - '-1' pragma: @@ -948,14 +1060,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -964,7 +1076,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:40 GMT + - Fri, 11 Feb 2022 07:50:38 GMT expires: - '-1' pragma: @@ -996,14 +1108,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -1012,7 +1124,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:10 GMT + - Fri, 11 Feb 2022 07:51:08 GMT expires: - '-1' pragma: @@ -1044,14 +1156,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -1060,7 +1172,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:40 GMT + - Fri, 11 Feb 2022 07:51:37 GMT expires: - '-1' pragma: @@ -1092,14 +1204,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -1108,7 +1220,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:11 GMT + - Fri, 11 Feb 2022 07:52:08 GMT expires: - '-1' pragma: @@ -1140,14 +1252,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\"\n }" headers: cache-control: - no-cache @@ -1156,7 +1268,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:41 GMT + - Fri, 11 Feb 2022 07:52:38 GMT expires: - '-1' pragma: @@ -1188,15 +1300,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d63fc81f-ff15-45da-8f60-abb808974b12?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eea30ce6-1a63-48c0-b089-4a8d60b16964?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1fc83fd6-15ff-da45-8f60-abb808974b12\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:57:10.59Z\",\n \"endTime\": - \"2021-10-19T07:03:05.0245811Z\"\n }" + string: "{\n \"name\": \"e60ca3ee-631a-c048-b089-4a8d60b16964\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:46:07.52Z\",\n \"endTime\": + \"2022-02-11T07:53:05.5666585Z\"\n }" headers: cache-control: - no-cache @@ -1205,7 +1317,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:10 GMT + - Fri, 11 Feb 2022 07:53:08 GMT expires: - '-1' pragma: @@ -1237,10 +1349,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -1250,19 +1362,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" headers: cache-control: - no-cache content-length: - - '914' + - '942' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:11 GMT + - Fri, 11 Feb 2022 07:53:09 GMT expires: - '-1' pragma: @@ -1294,39 +1407,42 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-f44772a6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-f44772a6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-2a4ebe18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-2a4ebe18.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1334,25 +1450,28 @@ interactions: \ \"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/9fb5badf-dc2a-4c29-80df-b6faa00d2841\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/183d685d-ae4d-4df6-9256-889065d92498\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4178' + - '4403' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:12 GMT + - Fri, 11 Feb 2022 07:53:10 GMT expires: - '-1' pragma: @@ -1372,31 +1491,32 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": - "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": - "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": "1.20.9", - "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.7", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Windows", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", "mode": - "User", "orchestratorVersion": "1.20.9", "upgradeSettings": {}, "powerState": - {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "User", "orchestratorVersion": "1.21.7", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "nodeTaints": [""], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9fb5badf-dc2a-4c29-80df-b6faa00d2841"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1, "countIPv6": 0}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/183d685d-ae4d-4df6-9256-889065d92498"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1407,45 +1527,48 @@ interactions: Connection: - keep-alive Content-Length: - - '2839' + - '2943' Content-Type: - application/json ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-f44772a6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-f44772a6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-2a4ebe18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-2a4ebe18.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Updating\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Updating\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1453,27 +1576,30 @@ interactions: \ \"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/9fb5badf-dc2a-4c29-80df-b6faa00d2841\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/183d685d-ae4d-4df6-9256-889065d92498\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 cache-control: - no-cache content-length: - - '4165' + - '4390' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:14 GMT + - Fri, 11 Feb 2022 07:53:12 GMT expires: - '-1' pragma: @@ -1507,14 +1633,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1523,7 +1649,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:44 GMT + - Fri, 11 Feb 2022 07:53:42 GMT expires: - '-1' pragma: @@ -1555,14 +1681,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1571,7 +1697,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:15 GMT + - Fri, 11 Feb 2022 07:54:12 GMT expires: - '-1' pragma: @@ -1603,14 +1729,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1619,7 +1745,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:45 GMT + - Fri, 11 Feb 2022 07:54:42 GMT expires: - '-1' pragma: @@ -1651,14 +1777,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1667,7 +1793,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:15 GMT + - Fri, 11 Feb 2022 07:55:12 GMT expires: - '-1' pragma: @@ -1699,14 +1825,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1715,7 +1841,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:44 GMT + - Fri, 11 Feb 2022 07:55:43 GMT expires: - '-1' pragma: @@ -1747,14 +1873,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1763,7 +1889,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:15 GMT + - Fri, 11 Feb 2022 07:56:13 GMT expires: - '-1' pragma: @@ -1795,14 +1921,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1811,7 +1937,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:45 GMT + - Fri, 11 Feb 2022 07:56:43 GMT expires: - '-1' pragma: @@ -1843,14 +1969,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1859,7 +1985,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:15 GMT + - Fri, 11 Feb 2022 07:57:13 GMT expires: - '-1' pragma: @@ -1891,14 +2017,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1907,7 +2033,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:45 GMT + - Fri, 11 Feb 2022 07:57:43 GMT expires: - '-1' pragma: @@ -1939,14 +2065,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -1955,7 +2081,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:15 GMT + - Fri, 11 Feb 2022 07:58:14 GMT expires: - '-1' pragma: @@ -1987,14 +2113,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2003,7 +2129,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:45 GMT + - Fri, 11 Feb 2022 07:58:43 GMT expires: - '-1' pragma: @@ -2035,14 +2161,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2051,7 +2177,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:15 GMT + - Fri, 11 Feb 2022 07:59:13 GMT expires: - '-1' pragma: @@ -2083,14 +2209,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2099,7 +2225,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:46 GMT + - Fri, 11 Feb 2022 07:59:43 GMT expires: - '-1' pragma: @@ -2131,14 +2257,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2147,7 +2273,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:15 GMT + - Fri, 11 Feb 2022 08:00:13 GMT expires: - '-1' pragma: @@ -2179,14 +2305,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2195,7 +2321,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:45 GMT + - Fri, 11 Feb 2022 08:00:43 GMT expires: - '-1' pragma: @@ -2227,14 +2353,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2243,7 +2369,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:11:15 GMT + - Fri, 11 Feb 2022 08:01:14 GMT expires: - '-1' pragma: @@ -2275,14 +2401,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2291,7 +2417,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:11:46 GMT + - Fri, 11 Feb 2022 08:01:44 GMT expires: - '-1' pragma: @@ -2323,14 +2449,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2339,7 +2465,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:16 GMT + - Fri, 11 Feb 2022 08:02:14 GMT expires: - '-1' pragma: @@ -2371,14 +2497,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2387,7 +2513,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:45 GMT + - Fri, 11 Feb 2022 08:02:44 GMT expires: - '-1' pragma: @@ -2419,14 +2545,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2435,7 +2561,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:15 GMT + - Fri, 11 Feb 2022 08:03:14 GMT expires: - '-1' pragma: @@ -2467,14 +2593,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2483,7 +2609,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:46 GMT + - Fri, 11 Feb 2022 08:03:44 GMT expires: - '-1' pragma: @@ -2515,14 +2641,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2531,7 +2657,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:16 GMT + - Fri, 11 Feb 2022 08:04:14 GMT expires: - '-1' pragma: @@ -2563,14 +2689,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2579,7 +2705,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:45 GMT + - Fri, 11 Feb 2022 08:04:44 GMT expires: - '-1' pragma: @@ -2611,14 +2737,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2627,7 +2753,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:16 GMT + - Fri, 11 Feb 2022 08:05:14 GMT expires: - '-1' pragma: @@ -2659,14 +2785,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2675,7 +2801,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:46 GMT + - Fri, 11 Feb 2022 08:05:44 GMT expires: - '-1' pragma: @@ -2707,14 +2833,14 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache @@ -2723,7 +2849,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:16 GMT + - Fri, 11 Feb 2022 08:06:14 GMT expires: - '-1' pragma: @@ -2755,24 +2881,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/782af28d-ae96-4634-b307-c435b96fc82b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8df22a78-96ae-3446-b307-c435b96fc82b\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:03:15.1633333Z\",\n \"endTime\": - \"2021-10-19T07:16:32.0637253Z\"\n }" + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:46 GMT + - Fri, 11 Feb 2022 08:06:44 GMT expires: - '-1' pragma: @@ -2804,65 +2929,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-f44772a6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-f44772a6.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/9fb5badf-dc2a-4c29-80df-b6faa00d2841\"\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '4168' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:46 GMT + - Fri, 11 Feb 2022 08:07:14 GMT expires: - '-1' pragma: @@ -2884,54 +2967,536 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool delete + - aks update Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --no-wait + - --resource-group --name --disable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:07: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:08: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:08: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/70fd8d8c-84b9-4e85-8bbe-1f08eef40d02?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8c8dfd70-b984-854e-8bbe-1f08eef40d02\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:53:12.9633333Z\",\n \"endTime\": + \"2022-02-11T08:11:06.0657993Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:11: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-2a4ebe18.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-2a4ebe18.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/183d685d-ae4d-4df6-9256-889065d92498\"\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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4393' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:11: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 nodepool delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.2213.210922\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n }\n ]\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2366.220117\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n + }" headers: cache-control: - no-cache content-length: - - '1948' + - '2011' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:47 GMT + - Fri, 11 Feb 2022 08:11:17 GMT expires: - '-1' pragma: @@ -2965,26 +3530,26 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f347760e-f160-46ad-89e2-6d08e3bc2691?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/636f1990-ceb5-4499-a075-4cfddd1816d9?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:16:48 GMT + - Fri, 11 Feb 2022 08:11:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/f347760e-f160-46ad-89e2-6d08e3bc2691?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/636f1990-ceb5-4499-a075-4cfddd1816d9?api-version=2016-03-30 pragma: - no-cache server: @@ -2994,7 +3559,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14993' + - '14988' status: code: 202 message: Accepted @@ -3014,26 +3579,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/754eaf9e-bc0b-484e-8ad0-9ba009d64dd5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e7072d7d-3483-4132-b00e-acb03d97240c?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:16:49 GMT + - Fri, 11 Feb 2022 08:11:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/754eaf9e-bc0b-484e-8ad0-9ba009d64dd5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/e7072d7d-3483-4132-b00e-acb03d97240c?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_auto_upgrade_channel.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml old mode 100755 new mode 100644 index c8a8b61e2e2..ec6a9c02a2c --- 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,9 +1,159 @@ interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesty2ftzxezn-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1470' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesty2ftzxezn-8ecadf\",\n \"fqdn\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": + \"rapid\"\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3087' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29:13 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: + - '1198' + status: + code: 201 + message: Created - request: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 07:29: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: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -14,27 +164,33 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 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-10-19T06:49:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '313' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 06:49:07 GMT + - Fri, 11 Feb 2022 07:30: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: @@ -43,87 +199,135 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestxwh44pcaj-8ecadf", - "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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"}, "disableLocalAccounts": - false}}' + body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1442' - Content-Type: + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 07:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive ParameterSetName: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?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\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxwh44pcaj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\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\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08a44d44-7b7e-48f6-9545-bdad723b135f?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2841' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:10 GMT + - Fri, 11 Feb 2022 07:31:42 GMT expires: - '-1' pragma: @@ -132,13 +336,64 @@ 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: - - '1197' status: - code: 201 - message: Created + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:32: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: @@ -154,14 +409,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08a44d44-7b7e-48f6-9545-bdad723b135f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"444da408-7e7b-f648-9545-bdad723b135f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:10.4633333Z\"\n }" + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" headers: cache-control: - no-cache @@ -170,7 +425,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:40 GMT + - Fri, 11 Feb 2022 07:32:43 GMT expires: - '-1' pragma: @@ -203,14 +458,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08a44d44-7b7e-48f6-9545-bdad723b135f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"444da408-7e7b-f648-9545-bdad723b135f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:10.4633333Z\"\n }" + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" headers: cache-control: - no-cache @@ -219,7 +474,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:09 GMT + - Fri, 11 Feb 2022 07:33:13 GMT expires: - '-1' pragma: @@ -252,14 +507,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08a44d44-7b7e-48f6-9545-bdad723b135f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"444da408-7e7b-f648-9545-bdad723b135f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:10.4633333Z\"\n }" + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" headers: cache-control: - no-cache @@ -268,7 +523,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:40 GMT + - Fri, 11 Feb 2022 07:33:43 GMT expires: - '-1' pragma: @@ -301,14 +556,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08a44d44-7b7e-48f6-9545-bdad723b135f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"444da408-7e7b-f648-9545-bdad723b135f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:10.4633333Z\"\n }" + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" headers: cache-control: - no-cache @@ -317,7 +572,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:10 GMT + - Fri, 11 Feb 2022 07:34:13 GMT expires: - '-1' pragma: @@ -350,14 +605,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08a44d44-7b7e-48f6-9545-bdad723b135f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"444da408-7e7b-f648-9545-bdad723b135f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:10.4633333Z\"\n }" + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" headers: cache-control: - no-cache @@ -366,7 +621,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:40 GMT + - Fri, 11 Feb 2022 07:34:43 GMT expires: - '-1' pragma: @@ -399,14 +654,14 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08a44d44-7b7e-48f6-9545-bdad723b135f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"444da408-7e7b-f648-9545-bdad723b135f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:10.4633333Z\"\n }" + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" headers: cache-control: - no-cache @@ -415,7 +670,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:10 GMT + - Fri, 11 Feb 2022 07:35:13 GMT expires: - '-1' pragma: @@ -448,15 +703,64 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08a44d44-7b7e-48f6-9545-bdad723b135f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"444da408-7e7b-f648-9545-bdad723b135f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:49:10.4633333Z\",\n \"endTime\": - \"2021-10-19T06:52:19.3904039Z\"\n }" + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bbe167a-672a-4684-82a7-ec284e1c24a5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"7a16be3b-2a67-8446-82a7-ec284e1c24a5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:29:13.1366666Z\",\n \"endTime\": + \"2022-02-11T07:35:58.1714236Z\"\n }" headers: cache-control: - no-cache @@ -465,7 +769,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:41 GMT + - Fri, 11 Feb 2022 07:36:13 GMT expires: - '-1' pragma: @@ -498,58 +802,62 @@ interactions: - --resource-group --name --location --enable-managed-identity --auto-upgrade-channel --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxwh44pcaj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesty2ftzxezn-8ecadf\",\n \"fqdn\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/da9f6583-0971-4250-afc9-8b5c769d791c\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/36b9d193-0b51-4c39-bf57-efc23e9131e6\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"rapid\"\n - \ },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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: - - '3504' + - '3740' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:41 GMT + - Fri, 11 Feb 2022 07:36:14 GMT expires: - '-1' pragma: @@ -581,58 +889,62 @@ interactions: ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxwh44pcaj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesty2ftzxezn-8ecadf\",\n \"fqdn\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/da9f6583-0971-4250-afc9-8b5c769d791c\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/36b9d193-0b51-4c39-bf57-efc23e9131e6\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"rapid\"\n - \ },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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: - - '3504' + - '3740' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:42 GMT + - Fri, 11 Feb 2022 07:36:15 GMT expires: - '-1' pragma: @@ -652,26 +964,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestxwh44pcaj-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitesty2ftzxezn-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/da9f6583-0971-4250-afc9-8b5c769d791c"}]}}, - "autoUpgradeProfile": {"upgradeChannel": "stable"}, "identityProfile": {"kubeletidentity": - {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/36b9d193-0b51-4c39-bf57-efc23e9131e6"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -682,66 +995,70 @@ interactions: Connection: - keep-alive Content-Length: - - '2363' + - '2479' Content-Type: - application/json ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxwh44pcaj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesty2ftzxezn-8ecadf\",\n \"fqdn\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/da9f6583-0971-4250-afc9-8b5c769d791c\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/36b9d193-0b51-4c39-bf57-efc23e9131e6\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"stable\"\n - \ },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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/05e388c8-63c5-4d35-90c5-115e3ed09b5c?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/146faa2c-0dee-409e-8471-6f0c7f689dae?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3503' + - '3739' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:44 GMT + - Fri, 11 Feb 2022 07:36:17 GMT expires: - '-1' pragma: @@ -757,7 +1074,55 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --auto-upgrade-channel + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/146faa2c-0dee-409e-8471-6f0c7f689dae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2caa6f14-ee0d-9e40-8471-6f0c7f689dae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:17.5933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:36: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 @@ -775,23 +1140,23 @@ interactions: ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/05e388c8-63c5-4d35-90c5-115e3ed09b5c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/146faa2c-0dee-409e-8471-6f0c7f689dae?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c888e305-c563-354d-90c5-115e3ed09b5c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:44.23Z\"\n }" + string: "{\n \"name\": \"2caa6f14-ee0d-9e40-8471-6f0c7f689dae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:17.5933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:14 GMT + - Fri, 11 Feb 2022 07:37:17 GMT expires: - '-1' pragma: @@ -823,24 +1188,120 @@ interactions: ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/05e388c8-63c5-4d35-90c5-115e3ed09b5c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/146faa2c-0dee-409e-8471-6f0c7f689dae?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c888e305-c563-354d-90c5-115e3ed09b5c\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:52:44.23Z\",\n \"endTime\": - \"2021-10-19T06:53:38.4865922Z\"\n }" + string: "{\n \"name\": \"2caa6f14-ee0d-9e40-8471-6f0c7f689dae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:17.5933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:37: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --auto-upgrade-channel + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/146faa2c-0dee-409e-8471-6f0c7f689dae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2caa6f14-ee0d-9e40-8471-6f0c7f689dae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:36:17.5933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:38: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --auto-upgrade-channel + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/146faa2c-0dee-409e-8471-6f0c7f689dae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2caa6f14-ee0d-9e40-8471-6f0c7f689dae\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:36:17.5933333Z\",\n \"endTime\": + \"2022-02-11T07:38:40.8770061Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:44 GMT + - Fri, 11 Feb 2022 07:38:47 GMT expires: - '-1' pragma: @@ -872,58 +1333,62 @@ interactions: ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxwh44pcaj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxwh44pcaj-8ecadf-b71a9fce.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesty2ftzxezn-8ecadf\",\n \"fqdn\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesty2ftzxezn-8ecadf-9506d0d1.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/da9f6583-0971-4250-afc9-8b5c769d791c\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/36b9d193-0b51-4c39-bf57-efc23e9131e6\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"stable\"\n - \ },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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: - - '3505' + - '3741' content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:44 GMT + - Fri, 11 Feb 2022 07:38:48 GMT expires: - '-1' pragma: @@ -957,26 +1422,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9f2958ba-7f2d-4727-a539-d1b8aa7e722d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c5864fdd-7f22-47a4-95ac-003f05646291?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 06:53:45 GMT + - Fri, 11 Feb 2022 07:38:48 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/9f2958ba-7f2d-4727-a539-d1b8aa7e722d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/c5864fdd-7f22-47a4-95ac-003f05646291?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_azurekeyvaultsecretsprovider_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml index 5a6e62a09b1..b6cd80a3a25 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 @@ -13,22 +13,21 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-resource/19.0.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-20T14:32: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":"2022-02-11T07:38:49Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Wed, 20 Oct 2021 14:32:27 GMT + - Fri, 11 Feb 2022 07:38:49 GMT expires: - '-1' pragma: @@ -44,19 +43,20 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesto762754pw-26fe00", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestbftp66jfh-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": - true, "config": {"enableSecretRotation": "false", "rotationPollInterval": "2m"}}}, - "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}}' + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": true, "config": {"enableSecretRotation": "false", "rotationPollInterval": + "2m"}}}, "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}}' headers: Accept: - application/json @@ -67,66 +67,66 @@ interactions: Connection: - keep-alive Content-Length: - - '1844' + - '1543' Content-Type: - application/json ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitesto762754pw-26fe00\",\n \"fqdn\": \"cliakstest-clitesto762754pw-26fe00-ee4dde8f.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitesto762754pw-26fe00-ee4dde8f.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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\ - \ \"rotationPollInterval\": \"2m\"\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\"\ - : \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbftp66jfh-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbftp66jfh-8ecadf-5815eee7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbftp66jfh-8ecadf-5815eee7.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"2m\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3315' + - '3216' content-type: - application/json date: - - Wed, 20 Oct 2021 14:32:38 GMT + - Fri, 11 Feb 2022 07:38:52 GMT expires: - '-1' pragma: @@ -138,7 +138,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1194' status: code: 201 message: Created @@ -156,23 +156,23 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\"\n }" + string: "{\n \"name\": \"ad3bcd3b-1e7f-de4f-84f3-b7915d48ec0e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:52.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Wed, 20 Oct 2021 14:33:09 GMT + - Fri, 11 Feb 2022 07:39:22 GMT expires: - '-1' pragma: @@ -204,23 +204,23 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\"\n }" + string: "{\n \"name\": \"ad3bcd3b-1e7f-de4f-84f3-b7915d48ec0e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:52.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Wed, 20 Oct 2021 14:33:39 GMT + - Fri, 11 Feb 2022 07:39:52 GMT expires: - '-1' pragma: @@ -252,23 +252,23 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\"\n }" + string: "{\n \"name\": \"ad3bcd3b-1e7f-de4f-84f3-b7915d48ec0e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:52.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Wed, 20 Oct 2021 14:34:10 GMT + - Fri, 11 Feb 2022 07:40:22 GMT expires: - '-1' pragma: @@ -300,23 +300,23 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\"\n }" + string: "{\n \"name\": \"ad3bcd3b-1e7f-de4f-84f3-b7915d48ec0e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:52.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Wed, 20 Oct 2021 14:34:40 GMT + - Fri, 11 Feb 2022 07:40:53 GMT expires: - '-1' pragma: @@ -348,23 +348,23 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\"\n }" + string: "{\n \"name\": \"ad3bcd3b-1e7f-de4f-84f3-b7915d48ec0e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:52.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Wed, 20 Oct 2021 14:35:10 GMT + - Fri, 11 Feb 2022 07:41:23 GMT expires: - '-1' pragma: @@ -396,23 +396,23 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\"\n }" + string: "{\n \"name\": \"ad3bcd3b-1e7f-de4f-84f3-b7915d48ec0e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:52.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Wed, 20 Oct 2021 14:35:40 GMT + - Fri, 11 Feb 2022 07:41:53 GMT expires: - '-1' pragma: @@ -444,23 +444,23 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\"\n }" + string: "{\n \"name\": \"ad3bcd3b-1e7f-de4f-84f3-b7915d48ec0e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:52.8733333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Wed, 20 Oct 2021 14:36:12 GMT + - Fri, 11 Feb 2022 07:42:23 GMT expires: - '-1' pragma: @@ -492,23 +492,24 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bcd3bad-7f1e-4fde-84f3-b7915d48ec0e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\"\n }" + string: "{\n \"name\": \"ad3bcd3b-1e7f-de4f-84f3-b7915d48ec0e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:38:52.8733333Z\",\n \"endTime\": + \"2022-02-11T07:42:45.6690958Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '170' content-type: - application/json date: - - Wed, 20 Oct 2021 14:36:42 GMT + - Fri, 11 Feb 2022 07:42:53 GMT expires: - '-1' pragma: @@ -540,115 +541,65 @@ interactions: ParameterSetName: - --resource-group --name -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a4d87e1-d757-47af-a91e-efc16b1afc9e?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=2022-01-02-preview response: body: - string: "{\n \"name\": \"e1874d6a-57d7-af47-a91e-efc16b1afc9e\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-10-20T14:32:37.89Z\",\n \"endTime\"\ - : \"2021-10-20T14:37:02.2508988Z\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbftp66jfh-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbftp66jfh-8ecadf-5815eee7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbftp66jfh-8ecadf-5815eee7.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"2m\"\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/8ea26416-0e5a-4487-8b92-aa193c446ca4\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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' + - '4246' content-type: - application/json date: - - Wed, 20 Oct 2021 14:37: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -a --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitesto762754pw-26fe00\",\n \"fqdn\": \"cliakstest-clitesto762754pw-26fe00-ee4dde8f.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitesto762754pw-26fe00-ee4dde8f.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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\ - \ \"rotationPollInterval\": \"2m\"\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/1bff40d3-2169-4412-a300-a7d829c3dfef\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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: - - '4361' - content-type: - - application/json - date: - - Wed, 20 Oct 2021 14:37:12 GMT + - Fri, 11 Feb 2022 07:42:53 GMT expires: - '-1' pragma: @@ -682,26 +633,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d402b5f6-a4ad-481b-8612-634b8e28a5ca?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d0f69b3a-790c-4cb0-afb6-b2c6d18cebaf?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Wed, 20 Oct 2021 14:37:16 GMT + - Fri, 11 Feb 2022 07:42:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d402b5f6-a4ad-481b-8612-634b8e28a5ca?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d0f69b3a-790c-4cb0-afb6-b2c6d18cebaf?api-version=2016-03-30 pragma: - no-cache server: @@ -711,7 +662,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14995' status: code: 202 message: Accepted 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 old mode 100755 new mode 100644 index 0a77dd3a827..218a4bf505d --- 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 @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:04:08Z"},"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":"2022-02-11T07:26:51Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:04:09 GMT + - Fri, 11 Feb 2022 07:26:51 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestxow7ue5hl-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestxs2vzerid-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "false"}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": @@ -66,37 +67,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1479' + - '1507' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxow7ue5hl-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxow7ue5hl-8ecadf-292cc910.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxow7ue5hl-8ecadf-292cc910.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxs2vzerid-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxs2vzerid-8ecadf-5b8effae.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxs2vzerid-8ecadf-5b8effae.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -107,22 +109,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/e841178b-93df-43cf-84d3-81eb68338bed?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2928' + - '3174' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:11 GMT + - Fri, 11 Feb 2022 07:26:54 GMT expires: - '-1' pragma: @@ -134,7 +138,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1196' status: code: 201 message: Created @@ -152,14 +156,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e841178b-93df-43cf-84d3-81eb68338bed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b1741e8-df93-cf43-84d3-81eb68338bed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:04:12.5133333Z\"\n }" + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\"\n }" headers: cache-control: - no-cache @@ -168,7 +172,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:42 GMT + - Fri, 11 Feb 2022 07:27:24 GMT expires: - '-1' pragma: @@ -200,14 +204,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e841178b-93df-43cf-84d3-81eb68338bed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b1741e8-df93-cf43-84d3-81eb68338bed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:04:12.5133333Z\"\n }" + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\"\n }" headers: cache-control: - no-cache @@ -216,7 +220,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:12 GMT + - Fri, 11 Feb 2022 07:27:54 GMT expires: - '-1' pragma: @@ -248,14 +252,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e841178b-93df-43cf-84d3-81eb68338bed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b1741e8-df93-cf43-84d3-81eb68338bed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:04:12.5133333Z\"\n }" + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\"\n }" headers: cache-control: - no-cache @@ -264,7 +268,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:42 GMT + - Fri, 11 Feb 2022 07:28:24 GMT expires: - '-1' pragma: @@ -296,14 +300,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e841178b-93df-43cf-84d3-81eb68338bed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b1741e8-df93-cf43-84d3-81eb68338bed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:04:12.5133333Z\"\n }" + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\"\n }" headers: cache-control: - no-cache @@ -312,7 +316,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:11 GMT + - Fri, 11 Feb 2022 07:28:54 GMT expires: - '-1' pragma: @@ -344,15 +348,207 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e841178b-93df-43cf-84d3-81eb68338bed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b1741e8-df93-cf43-84d3-81eb68338bed\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:04:12.5133333Z\",\n \"endTime\": - \"2021-10-19T07:06:28.0333695Z\"\n }" + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:29: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8918d2b5-1a85-4453-bfdf-23f7c9ed2833?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b5d21889-851a-5344-bfdf-23f7c9ed2833\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:26:54.6866666Z\",\n \"endTime\": + \"2022-02-11T07:31:18.4518429Z\"\n }" headers: cache-control: - no-cache @@ -361,7 +557,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:42 GMT + - Fri, 11 Feb 2022 07:31:24 GMT expires: - '-1' pragma: @@ -393,31 +589,32 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestxow7ue5hl-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestxow7ue5hl-8ecadf-292cc910.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestxow7ue5hl-8ecadf-292cc910.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxs2vzerid-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxs2vzerid-8ecadf-5b8effae.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxs2vzerid-8ecadf-5b8effae.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -428,26 +625,29 @@ interactions: \ \"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/b327306f-4cad-4716-bde0-76aa1d52d055\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/687997fa-9952-4729-9c88-faead4a7daa9\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:43 GMT + - Fri, 11 Feb 2022 07:31:25 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 85fd350bc0c..437a93ec67a --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:24:31Z"},"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":"2022-02-11T07:31:26Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:24:32 GMT + - Fri, 11 Feb 2022 07:31:26 GMT expires: - '-1' pragma: @@ -44,13 +44,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestraq7hswkw-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest5n2wvzpt6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "true"}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": @@ -67,38 +68,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1478' + - '1506' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestraq7hswkw-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestraq7hswkw-8ecadf-23e667d6.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestraq7hswkw-8ecadf-23e667d6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5n2wvzpt6-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5n2wvzpt6-8ecadf-02ec2ac6.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5n2wvzpt6-8ecadf-02ec2ac6.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -109,22 +111,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3cf52c91-b667-4723-9399-80f2264107d9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2927' + - '3173' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:36 GMT + - Fri, 11 Feb 2022 07:31:30 GMT expires: - '-1' pragma: @@ -136,7 +140,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1197' status: code: 201 message: Created @@ -155,23 +159,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf52c91-b667-4723-9399-80f2264107d9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"912cf53c-67b6-2347-9399-80f2264107d9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:24:36.8033333Z\"\n }" + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:06 GMT + - Fri, 11 Feb 2022 07:32:01 GMT expires: - '-1' pragma: @@ -204,23 +208,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf52c91-b667-4723-9399-80f2264107d9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"912cf53c-67b6-2347-9399-80f2264107d9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:24:36.8033333Z\"\n }" + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:36 GMT + - Fri, 11 Feb 2022 07:32:30 GMT expires: - '-1' pragma: @@ -253,23 +257,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf52c91-b667-4723-9399-80f2264107d9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"912cf53c-67b6-2347-9399-80f2264107d9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:24:36.8033333Z\"\n }" + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:06 GMT + - Fri, 11 Feb 2022 07:33:00 GMT expires: - '-1' pragma: @@ -302,23 +306,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf52c91-b667-4723-9399-80f2264107d9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"912cf53c-67b6-2347-9399-80f2264107d9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:24:36.8033333Z\"\n }" + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:36 GMT + - Fri, 11 Feb 2022 07:33:31 GMT expires: - '-1' pragma: @@ -351,23 +355,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf52c91-b667-4723-9399-80f2264107d9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"912cf53c-67b6-2347-9399-80f2264107d9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:24:36.8033333Z\"\n }" + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:07 GMT + - Fri, 11 Feb 2022 07:34:01 GMT expires: - '-1' pragma: @@ -400,24 +404,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf52c91-b667-4723-9399-80f2264107d9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"912cf53c-67b6-2347-9399-80f2264107d9\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:24:36.8033333Z\",\n \"endTime\": - \"2021-10-19T07:27:28.1169544Z\"\n }" + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:36 GMT + - Fri, 11 Feb 2022 07:34:30 GMT expires: - '-1' pragma: @@ -450,31 +453,180 @@ interactions: - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab739d2d-a0d4-4fa9-ac2c-30ab184d8933?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2d9d73ab-d4a0-a94f-ac2c-30ab184d8933\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:31:30.82Z\",\n \"endTime\": + \"2022-02-11T07:35:59.7123523Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:36: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --enable-sgxquotehelper + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestraq7hswkw-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestraq7hswkw-8ecadf-23e667d6.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestraq7hswkw-8ecadf-23e667d6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5n2wvzpt6-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5n2wvzpt6-8ecadf-02ec2ac6.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5n2wvzpt6-8ecadf-02ec2ac6.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -485,26 +637,29 @@ interactions: \ \"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/2e3e5e8c-570c-4a54-8c03-3fc49dcda743\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f289549e-978e-4bff-9090-7a6d5dcfaf06\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3963' + - '4193' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:37 GMT + - Fri, 11 Feb 2022 07:36:00 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_crg_id.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_crg_id.yaml new file mode 100644 index 00000000000..a8bdd675192 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_crg_id.yaml @@ -0,0 +1,1119 @@ +interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "UserAssigned", "userAssignedIdentities": + {"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/staging-crg-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/crg-rg-id": + {}}}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestsoibflxh7-26fe00", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_D4s_v3", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "capacityReservationGroupID": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/STAGING-CRG-RG/providers/Microsoft.Compute/capacityReservationGroups/crg-3", + "name": "c000002"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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"}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '2105' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": \"Creating\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.21.9\",\n \"currentKubernetesVersion\"\ + : \"1.21.9\",\n \"dnsPrefix\": \"cliakstest-clitestsoibflxh7-26fe00\",\n\ + \ \"fqdn\": \"cliakstest-clitestsoibflxh7-26fe00-ec9ab04c.hcp.westus2.staging.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestsoibflxh7-26fe00-ec9ab04c.portal.hcp.westus2.staging.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000002\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n \"enableFIPS\": false,\n\ + \ \"capacityReservationGroupID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/STAGING-CRG-RG/providers/Microsoft.Compute/capacityReservationGroups/crg-3\"\ + \n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ + ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.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 \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\"\ + : 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n\ + \ \"enabled\": false\n }\n },\n \"identity\": {\n \"type\": \"UserAssigned\"\ + ,\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/staging-crg-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/crg-rg-id\"\ + : {}\n }\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/d3120491-8bbf-468d-be2a-bf4abd9e073a?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3631' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:42:29 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3120491-8bbf-468d-be2a-bf4abd9e073a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"910412d3-bf8b-8d46-be2a-bf4abd9e073a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:42:29.09Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:42: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3120491-8bbf-468d-be2a-bf4abd9e073a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"910412d3-bf8b-8d46-be2a-bf4abd9e073a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:42:29.09Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:43: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3120491-8bbf-468d-be2a-bf4abd9e073a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"910412d3-bf8b-8d46-be2a-bf4abd9e073a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:42:29.09Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:43: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3120491-8bbf-468d-be2a-bf4abd9e073a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"910412d3-bf8b-8d46-be2a-bf4abd9e073a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:42:29.09Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:44: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3120491-8bbf-468d-be2a-bf4abd9e073a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"910412d3-bf8b-8d46-be2a-bf4abd9e073a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:42:29.09Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:44: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3120491-8bbf-468d-be2a-bf4abd9e073a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"910412d3-bf8b-8d46-be2a-bf4abd9e073a\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:42:29.09Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:45:30 GMT + expires: + - '-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3120491-8bbf-468d-be2a-bf4abd9e073a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"910412d3-bf8b-8d46-be2a-bf4abd9e073a\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2022-02-15T04:42:29.09Z\",\n \"endTime\"\ + : \"2022-02-15T04:45:49.5763293Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --node-vm-size --nodepool-name -c --enable-managed-identity + --assign-identity --crg-id --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.9\",\n \"currentKubernetesVersion\"\ + : \"1.21.9\",\n \"dnsPrefix\": \"cliakstest-clitestsoibflxh7-26fe00\",\n\ + \ \"fqdn\": \"cliakstest-clitestsoibflxh7-26fe00-ec9ab04c.hcp.westus2.staging.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestsoibflxh7-26fe00-ec9ab04c.portal.hcp.westus2.staging.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000002\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_D4s_v3\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ + enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ + osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n \"enableFIPS\": false,\n\ + \ \"capacityReservationGroupID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/STAGING-CRG-RG/providers/Microsoft.Compute/capacityReservationGroups/crg-3\"\ + \n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ + ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ + \ test@example.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/e51b72e6-2b76-437a-a5d2-e0ed0f1362fb\"\ + \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 \"podCidrs\"\ + : [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\ + \n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\"\ + : false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\n }\n },\n\ + \ \"identity\": {\n \"type\": \"UserAssigned\",\n \"userAssignedIdentities\"\ + : {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/staging-crg-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/crg-rg-id\"\ + : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"\ + principalId\":\"00000000-0000-0000-0000-000000000001\"\n }\n }\n },\n\ + \ \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4403' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:46: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/c000002\"\ + ,\n \"name\": \"c000002\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"\ + kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n\ + \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\"\ + ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ + : \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\"\ + ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n \"enableFIPS\": false,\n\ + \ \"capacityReservationGroupID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/STAGING-CRG-RG/providers/Microsoft.Compute/capacityReservationGroups/crg-3\"\ + \n }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '1179' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:46: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: '{"properties": {"count": 1, "vmSize": "Standard_D4s_v3", "workloadRuntime": + "OCIContainer", "osType": "Linux", "scaleDownMode": "Delete", "mode": "User", + "upgradeSettings": {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "nodeTaints": [], + "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, + "capacityReservationGroupID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/STAGING-CRG-RG/providers/Microsoft.Compute/capacityReservationGroups/crg-3"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '567' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/c000003?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/c000003\"\ + ,\n \"name\": \"c000003\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ + : \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ + ,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\"\ + : false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n\ + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n \"upgradeSettings\": {},\n\ + \ \"enableFIPS\": false,\n \"capacityReservationGroupID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/STAGING-CRG-RG/providers/Microsoft.Compute/capacityReservationGroups/crg-3\"\ + \n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/051423d3-b9cb-411a-aaa3-97d8f5e0629b?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '1150' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:46:05 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/051423d3-b9cb-411a-aaa3-97d8f5e0629b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d3231405-cbb9-1a41-aaa3-97d8f5e0629b\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:46:05.46Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:46: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/051423d3-b9cb-411a-aaa3-97d8f5e0629b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d3231405-cbb9-1a41-aaa3-97d8f5e0629b\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:46:05.46Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:47: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/051423d3-b9cb-411a-aaa3-97d8f5e0629b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d3231405-cbb9-1a41-aaa3-97d8f5e0629b\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:46:05.46Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:47: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/051423d3-b9cb-411a-aaa3-97d8f5e0629b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d3231405-cbb9-1a41-aaa3-97d8f5e0629b\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:46:05.46Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:48: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/051423d3-b9cb-411a-aaa3-97d8f5e0629b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d3231405-cbb9-1a41-aaa3-97d8f5e0629b\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:46:05.46Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:48: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/051423d3-b9cb-411a-aaa3-97d8f5e0629b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d3231405-cbb9-1a41-aaa3-97d8f5e0629b\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2022-02-15T04:46:05.46Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/051423d3-b9cb-411a-aaa3-97d8f5e0629b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d3231405-cbb9-1a41-aaa3-97d8f5e0629b\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2022-02-15T04:46:05.46Z\",\n \"endTime\"\ + : \"2022-02-15T04:49:33.6403111Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:49: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-vm-size --crg-id -c + User-Agent: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/c000003?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/c000003\"\ + ,\n \"name\": \"c000003\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D4s_v3\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ + : \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ + ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ + code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"\ + enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n ],\n \"\ + mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\"\ + : false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2containerd-2022.02.07\",\n \"upgradeSettings\": {},\n\ + \ \"enableFIPS\": false,\n \"capacityReservationGroupID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/STAGING-CRG-RG/providers/Microsoft.Compute/capacityReservationGroups/crg-3\"\ + \n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '1151' + content-type: + - application/json + date: + - Tue, 15 Feb 2022 04:49: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: 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: + - AZURECLI/2.33.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.9.6 + (Linux-5.10.76-linuxkit-x86_64-with) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/92b192e6-e248-4f05-9817-fc68fbac27ed?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 15 Feb 2022 04:49:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/92b192e6-e248-4f05-9817-fc68fbac27ed?api-version=2016-03-30 + 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_create_with_default_network.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_default_network.yaml new file mode 100644 index 00000000000..64bbb4624bd --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_default_network.yaml @@ -0,0 +1,631 @@ +interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestduafgnomq-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, + "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", + "podCidr": "172.126.0.0/16", "serviceCidr": "172.56.0.0/16", "dnsServiceIP": + "172.56.0.10", "outboundType": "loadBalancer", "loadBalancerSku": "standard", + "podCidrs": ["172.126.0.0/16"], "serviceCidrs": ["172.56.0.0/16"], "ipFamilies": + ["IPv4"]}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1478' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestduafgnomq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestduafgnomq-8ecadf-c2cca73a.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestduafgnomq-8ecadf-c2cca73a.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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\": + \"172.126.0.0/16\",\n \"serviceCidr\": \"172.56.0.0/16\",\n \"dnsServiceIP\": + \"172.56.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\",\n \"podCidrs\": [\n \"172.126.0.0/16\"\n ],\n + \ \"serviceCidrs\": [\n \"172.56.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3032' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:31:46 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: + - '1195' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6bfb1f2d-2479-ac41-bc19-663ecd0dd8de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:47.01Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6bfb1f2d-2479-ac41-bc19-663ecd0dd8de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:47.01Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6bfb1f2d-2479-ac41-bc19-663ecd0dd8de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:47.01Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:33: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6bfb1f2d-2479-ac41-bc19-663ecd0dd8de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:47.01Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:33: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6bfb1f2d-2479-ac41-bc19-663ecd0dd8de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:47.01Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:34: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6bfb1f2d-2479-ac41-bc19-663ecd0dd8de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:47.01Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:34: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6bfb1f2d-2479-ac41-bc19-663ecd0dd8de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:31:47.01Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d1ffb6b-7924-41ac-bc19-663ecd0dd8de?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6bfb1f2d-2479-ac41-bc19-663ecd0dd8de\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:31:47.01Z\",\n \"endTime\": + \"2022-02-11T07:35:39.1543968Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --pod-cidr --service-cidr --dns-service-ip + --pod-cidrs --service-cidrs --ip-families --network-plugin --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestduafgnomq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestduafgnomq-8ecadf-c2cca73a.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestduafgnomq-8ecadf-c2cca73a.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/47d3fa32-3904-43f4-ad1b-48de1404c1f4\"\n + \ }\n ]\n },\n \"podCidr\": \"172.126.0.0/16\",\n \"serviceCidr\": + \"172.56.0.0/16\",\n \"dnsServiceIP\": \"172.56.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"172.126.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"172.56.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3685' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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 delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d37d5811-8d19-4ede-9b5e-9fa5071160c3?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 11 Feb 2022 07:35:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d37d5811-8d19-4ede-9b5e-9fa5071160c3?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/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 old mode 100755 new mode 100644 index e8900db266f..1d9c47ba6c1 --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:16:50Z"},"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":"2022-02-11T07:35:49Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:16:52 GMT + - Fri, 11 Feb 2022 07:35:49 GMT expires: - '-1' pragma: @@ -44,14 +44,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestjgwpui4bs-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest67of55ys5-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 60, "osDiskType": "Ephemeral", "workloadRuntime": "OCIContainer", "osType": - "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": + "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -67,38 +67,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1438' + - '1466' Content-Type: - application/json ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestjgwpui4bs-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestjgwpui4bs-8ecadf-979c76e9.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestjgwpui4bs-8ecadf-979c76e9.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest67of55ys5-8ecadf\",\n \"fqdn\": \"cliakstest-clitest67of55ys5-8ecadf-8920fd96.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest67of55ys5-8ecadf-8920fd96.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 60,\n \"osDiskType\": \"Ephemeral\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -107,22 +108,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/f7af54d4-4add-46f5-b63d-f34843657b74?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2779' + - '3025' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:54 GMT + - Fri, 11 Feb 2022 07:35:52 GMT expires: - '-1' pragma: @@ -134,7 +137,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1194' status: code: 201 message: Created @@ -153,23 +156,23 @@ interactions: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f7af54d4-4add-46f5-b63d-f34843657b74?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d454aff7-dd4a-f546-b63d-f34843657b74\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:55.1233333Z\"\n }" + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:24 GMT + - Fri, 11 Feb 2022 07:36:22 GMT expires: - '-1' pragma: @@ -202,23 +205,23 @@ interactions: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f7af54d4-4add-46f5-b63d-f34843657b74?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d454aff7-dd4a-f546-b63d-f34843657b74\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:55.1233333Z\"\n }" + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:55 GMT + - Fri, 11 Feb 2022 07:36:52 GMT expires: - '-1' pragma: @@ -251,23 +254,23 @@ interactions: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f7af54d4-4add-46f5-b63d-f34843657b74?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d454aff7-dd4a-f546-b63d-f34843657b74\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:55.1233333Z\"\n }" + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:24 GMT + - Fri, 11 Feb 2022 07:37:22 GMT expires: - '-1' pragma: @@ -300,23 +303,23 @@ interactions: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f7af54d4-4add-46f5-b63d-f34843657b74?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d454aff7-dd4a-f546-b63d-f34843657b74\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:55.1233333Z\"\n }" + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:55 GMT + - Fri, 11 Feb 2022 07:37:52 GMT expires: - '-1' pragma: @@ -349,23 +352,23 @@ interactions: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f7af54d4-4add-46f5-b63d-f34843657b74?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d454aff7-dd4a-f546-b63d-f34843657b74\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:55.1233333Z\"\n }" + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:25 GMT + - Fri, 11 Feb 2022 07:38:22 GMT expires: - '-1' pragma: @@ -398,24 +401,23 @@ interactions: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f7af54d4-4add-46f5-b63d-f34843657b74?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d454aff7-dd4a-f546-b63d-f34843657b74\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:16:55.1233333Z\",\n \"endTime\": - \"2021-10-19T07:19:39.4163755Z\"\n }" + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:54 GMT + - Fri, 11 Feb 2022 07:38:53 GMT expires: - '-1' pragma: @@ -448,57 +450,307 @@ interactions: - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:39: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:39: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:40: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:40: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55ab7144-9d62-4f9f-a0a7-d28469798da7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4471ab55-629d-9f4f-a0a7-d28469798da7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:35:52.78Z\",\n \"endTime\": + \"2022-02-11T07:41:22.4673453Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:41: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --node-osdisk-type --node-osdisk-size + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestjgwpui4bs-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestjgwpui4bs-8ecadf-979c76e9.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestjgwpui4bs-8ecadf-979c76e9.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest67of55ys5-8ecadf\",\n \"fqdn\": \"cliakstest-clitest67of55ys5-8ecadf-8920fd96.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest67of55ys5-8ecadf-8920fd96.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 60,\n \"osDiskType\": \"Ephemeral\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/01a64c06-5388-4c08-8077-de3ddf5fcee6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/efae3140-a026-444b-a711-5ab9c567f84c\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3442' + - '3678' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:55 GMT + - Fri, 11 Feb 2022 07:41:23 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 71162529d6c..4a98c83b750 --- 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,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:39:25Z"},"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":"2022-02-11T07:33:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:39:26 GMT + - Fri, 11 Feb 2022 07:33:58 GMT expires: - '-1' pragma: @@ -43,13 +43,13 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesth6dw4li34-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestlxf35muf7-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": true, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": true, "name": "nodepool1"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +65,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1390' + - '1418' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth6dw4li34-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth6dw4li34-8ecadf-a7b3ff02.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth6dw4li34-8ecadf-a7b3ff02.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestlxf35muf7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestlxf35muf7-8ecadf-814202ca.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestlxf35muf7-8ecadf-814202ca.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.10.02\",\n - \ \"enableFIPS\": true\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2fipscontainerd-2022.01.24\",\n \"enableFIPS\": true\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +105,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/e651ebf6-860e-4764-9bef-9f8baa5884c1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2781' + - '3027' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:29 GMT + - Fri, 11 Feb 2022 07:34:01 GMT expires: - '-1' pragma: @@ -131,7 +134,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1194' status: code: 201 message: Created @@ -149,14 +152,110 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:34: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-fips-image --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:35: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-fips-image --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e651ebf6-860e-4764-9bef-9f8baa5884c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f6eb51e6-0e86-6447-9bef-9f8baa5884c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:29.71Z\"\n }" + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +264,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:59 GMT + - Fri, 11 Feb 2022 07:35:31 GMT expires: - '-1' pragma: @@ -197,14 +296,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e651ebf6-860e-4764-9bef-9f8baa5884c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f6eb51e6-0e86-6447-9bef-9f8baa5884c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:29.71Z\"\n }" + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +312,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:29 GMT + - Fri, 11 Feb 2022 07:36:01 GMT expires: - '-1' pragma: @@ -245,14 +344,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e651ebf6-860e-4764-9bef-9f8baa5884c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f6eb51e6-0e86-6447-9bef-9f8baa5884c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:29.71Z\"\n }" + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +360,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:00 GMT + - Fri, 11 Feb 2022 07:36:31 GMT expires: - '-1' pragma: @@ -293,14 +392,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e651ebf6-860e-4764-9bef-9f8baa5884c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f6eb51e6-0e86-6447-9bef-9f8baa5884c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:29.71Z\"\n }" + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +408,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:29 GMT + - Fri, 11 Feb 2022 07:37:02 GMT expires: - '-1' pragma: @@ -341,14 +440,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e651ebf6-860e-4764-9bef-9f8baa5884c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f6eb51e6-0e86-6447-9bef-9f8baa5884c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:29.71Z\"\n }" + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +456,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:59 GMT + - Fri, 11 Feb 2022 07:37:32 GMT expires: - '-1' pragma: @@ -389,14 +488,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e651ebf6-860e-4764-9bef-9f8baa5884c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f6eb51e6-0e86-6447-9bef-9f8baa5884c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:29.71Z\"\n }" + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\"\n }" headers: cache-control: - no-cache @@ -405,7 +504,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:29 GMT + - Fri, 11 Feb 2022 07:38:02 GMT expires: - '-1' pragma: @@ -437,24 +536,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e651ebf6-860e-4764-9bef-9f8baa5884c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e1bec524-a3b9-4cb8-96ce-8df7349dc4df?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f6eb51e6-0e86-6447-9bef-9f8baa5884c1\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:39:29.71Z\",\n \"endTime\": - \"2021-10-19T06:42:58.618033Z\"\n }" + string: "{\n \"name\": \"24c5bee1-b9a3-b84c-96ce-8df7349dc4df\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:34:01.71Z\",\n \"endTime\": + \"2022-02-11T07:38:07.0920768Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:00 GMT + - Fri, 11 Feb 2022 07:38:32 GMT expires: - '-1' pragma: @@ -486,57 +585,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesth6dw4li34-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesth6dw4li34-8ecadf-a7b3ff02.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesth6dw4li34-8ecadf-a7b3ff02.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestlxf35muf7-8ecadf\",\n \"fqdn\": \"cliakstest-clitestlxf35muf7-8ecadf-814202ca.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestlxf35muf7-8ecadf-814202ca.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.10.02\",\n - \ \"enableFIPS\": true\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2fipscontainerd-2022.01.24\",\n \"enableFIPS\": true\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/549b3691-099b-4910-8170-33c2bde10f96\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/4e8f53c3-b7f9-45d5-b52d-a7d967036c25\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3444' + - '3680' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:00 GMT + - Fri, 11 Feb 2022 07:38:32 GMT expires: - '-1' pragma: @@ -568,10 +671,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -579,22 +682,22 @@ interactions: \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2fipscontainerd-2021.10.02\",\n \"enableFIPS\": true\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2022.01.24\",\n + \ \"enableFIPS\": true\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '977' + - '1006' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:01 GMT + - Fri, 11 Feb 2022 07:38:33 GMT expires: - '-1' pragma: @@ -634,10 +737,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\",\n @@ -647,22 +750,22 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2fipscontainerd-2021.10.02\",\n \"upgradeSettings\": - {},\n \"enableFIPS\": true\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": true\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae8f2194-7e8f-40f2-8f61-33ea589410ec?api-version=2016-03-30 cache-control: - no-cache content-length: - - '939' + - '967' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:03 GMT + - Fri, 11 Feb 2022 07:38:35 GMT expires: - '-1' pragma: @@ -692,71 +795,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"86a4000b-ede9-2f4e-9ab8-0f4185db88f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:03.9633333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 06:43: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --enable-fips-image - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae8f2194-7e8f-40f2-8f61-33ea589410ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"86a4000b-ede9-2f4e-9ab8-0f4185db88f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:03.9633333Z\"\n }" + string: "{\n \"name\": \"94218fae-8f7e-f240-8f61-33ea589410ec\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:36.23Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:03 GMT + - Fri, 11 Feb 2022 07:39:06 GMT expires: - '-1' pragma: @@ -788,23 +843,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae8f2194-7e8f-40f2-8f61-33ea589410ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"86a4000b-ede9-2f4e-9ab8-0f4185db88f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:03.9633333Z\"\n }" + string: "{\n \"name\": \"94218fae-8f7e-f240-8f61-33ea589410ec\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:36.23Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:34 GMT + - Fri, 11 Feb 2022 07:39:36 GMT expires: - '-1' pragma: @@ -836,23 +891,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae8f2194-7e8f-40f2-8f61-33ea589410ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"86a4000b-ede9-2f4e-9ab8-0f4185db88f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:03.9633333Z\"\n }" + string: "{\n \"name\": \"94218fae-8f7e-f240-8f61-33ea589410ec\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:36.23Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:03 GMT + - Fri, 11 Feb 2022 07:40:06 GMT expires: - '-1' pragma: @@ -884,23 +939,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae8f2194-7e8f-40f2-8f61-33ea589410ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"86a4000b-ede9-2f4e-9ab8-0f4185db88f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:03.9633333Z\"\n }" + string: "{\n \"name\": \"94218fae-8f7e-f240-8f61-33ea589410ec\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:36.23Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:33 GMT + - Fri, 11 Feb 2022 07:40:35 GMT expires: - '-1' pragma: @@ -932,23 +987,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae8f2194-7e8f-40f2-8f61-33ea589410ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"86a4000b-ede9-2f4e-9ab8-0f4185db88f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:03.9633333Z\"\n }" + string: "{\n \"name\": \"94218fae-8f7e-f240-8f61-33ea589410ec\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:36.23Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:04 GMT + - Fri, 11 Feb 2022 07:41:05 GMT expires: - '-1' pragma: @@ -980,23 +1035,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae8f2194-7e8f-40f2-8f61-33ea589410ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"86a4000b-ede9-2f4e-9ab8-0f4185db88f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:03.9633333Z\"\n }" + string: "{\n \"name\": \"94218fae-8f7e-f240-8f61-33ea589410ec\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:38:36.23Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:34 GMT + - Fri, 11 Feb 2022 07:41:35 GMT expires: - '-1' pragma: @@ -1028,24 +1083,24 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b00a486-e9ed-4e2f-9ab8-0f4185db88f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae8f2194-7e8f-40f2-8f61-33ea589410ec?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"86a4000b-ede9-2f4e-9ab8-0f4185db88f3\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:43:03.9633333Z\",\n \"endTime\": - \"2021-10-19T06:47:02.6471982Z\"\n }" + string: "{\n \"name\": \"94218fae-8f7e-f240-8f61-33ea589410ec\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:38:36.23Z\",\n \"endTime\": + \"2022-02-11T07:42:04.6957563Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:04 GMT + - Fri, 11 Feb 2022 07:42:06 GMT expires: - '-1' pragma: @@ -1077,10 +1132,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\",\n @@ -1090,20 +1145,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2fipscontainerd-2021.10.02\",\n \"upgradeSettings\": - {},\n \"enableFIPS\": true\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": true\n }\n }" headers: cache-control: - no-cache content-length: - - '940' + - '968' content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:04 GMT + - Fri, 11 Feb 2022 07:42:06 GMT expires: - '-1' pragma: @@ -1137,26 +1192,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1029a9ea-ba50-470a-9cc7-23361c6735cc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/05b57f25-34e3-49d2-afa7-975592321b52?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 06:47:06 GMT + - Fri, 11 Feb 2022 07:42:08 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1029a9ea-ba50-470a-9cc7-23361c6735cc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/05b57f25-34e3-49d2-afa7-975592321b52?api-version=2016-03-30 pragma: - no-cache server: @@ -1166,7 +1221,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_create_with_gitops_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_gitops_addon.yaml new file mode 100644 index 00000000000..4b3d6e83138 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_gitops_addon.yaml @@ -0,0 +1,1048 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:06:37Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '312' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:06:37 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": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestwwby26dpj-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"gitops": {"enabled": 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"}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1774' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwwby26dpj-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestwwby26dpj-8ecadf-af584f71.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestwwby26dpj-8ecadf-af584f71.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": true,\n \"config\": null\n }\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3324' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:06:46 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: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:07: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:07: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:08: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:08: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:10: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:11: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:11: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d24d62c8-010a-4179-a5fc-9d977194a349?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"c8624dd2-0a01-7941-a5fc-9d977194a349\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:06:46.52Z\",\n \"endTime\": + \"2021-12-01T14:15:05.8710579Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestwwby26dpj-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestwwby26dpj-8ecadf-af584f71.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestwwby26dpj-8ecadf-af584f71.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": true,\n \"config\": null,\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/gitops-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\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/bdd85d10-2ae7-44c0-a5b2-1ad8dab9eef0\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4345' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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 +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_http_proxy_config.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_http_proxy_config.yaml index 1ade0a24720..49a831b6e9b 100755 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_http_proxy_config.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_http_proxy_config.yaml @@ -1,559 +1,569 @@ interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:10:32Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:10: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": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestyf2q6or43-8ecadf", - "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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"}, "disableLocalAccounts": false, "httpProxyConfig": {"httpProxy": - "http://myproxy.server.com:8080/", "httpsProxy": "https://myproxy.server.com:8080/", - "noProxy": ["localhost", "127.0.0.1"]}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '1549' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestyf2q6or43-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestyf2q6or43-8ecadf-2151e89d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestyf2q6or43-8ecadf-2151e89d.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\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/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '2778' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:10:37 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:11:07 GMT - expires: - - '-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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:11: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:12:07 GMT - expires: - - '-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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:12: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:13: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 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:13: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\",\n \"endTime\": - \"2021-10-19T07:13:52.1494322Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:14:07 GMT - expires: - - '-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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --http-proxy-config --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestyf2q6or43-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestyf2q6or43-8ecadf-2151e89d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestyf2q6or43-8ecadf-2151e89d.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/eea993ae-68d6-4060-ae0d-7f154f0ccabc\"\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 \"publicNetworkAccess\": - \"Enabled\"\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: - - '3441' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:14:07 GMT - expires: - - '-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 --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:10:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - "313" + content-type: + - application/json; charset=utf-8 + date: + - Tue, 19 Oct 2021 07:10: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": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestyf2q6or43-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": + "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false, "httpProxyConfig": {"httpProxy": + "http://myproxy.server.com:8080/", "httpsProxy": "https://myproxy.server.com:8080/", + "noProxy": ["localhost", "127.0.0.1"]}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - "1549" + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestyf2q6or43-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestyf2q6or43-8ecadf-2151e89d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestyf2q6or43-8ecadf-2151e89d.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + azcli_aks_live_test@example.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 \"disableLocalAccounts\": + false,\n \"publicNetworkAccess\": \"Enabled\"\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/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - "2778" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:10:37 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: + - "*/*" + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 + response: + body: + string: + "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - "126" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:11:07 GMT + expires: + - "-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: + - "*/*" + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 + response: + body: + string: + "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - "126" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:11: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: null + headers: + Accept: + - "*/*" + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 + response: + body: + string: + "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - "126" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:12:07 GMT + expires: + - "-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: + - "*/*" + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 + response: + body: + string: + "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - "126" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:12: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: null + headers: + Accept: + - "*/*" + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 + response: + body: + string: + "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - "126" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:13: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 + status: + code: 200 + message: OK + - request: + body: null + headers: + Accept: + - "*/*" + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 + response: + body: + string: + "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - "126" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:13: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: null + headers: + Accept: + - "*/*" + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56118972-da98-4536-a27e-1baa73459715?api-version=2016-03-30 + response: + body: + string: + "{\n \"name\": \"72891156-98da-3645-a27e-1baa73459715\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-10-19T07:10:37.7333333Z\",\n \"endTime\": + \"2021-10-19T07:13:52.1494322Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - "170" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:14:07 GMT + expires: + - "-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: + - "*/*" + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --http-proxy-config --ssh-key-value -o + User-Agent: + - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 + (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestyf2q6or43-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestyf2q6or43-8ecadf-2151e89d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestyf2q6or43-8ecadf-2151e89d.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + azcli_aks_live_test@example.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/eea993ae-68d6-4060-ae0d-7f154f0ccabc\"\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 \"publicNetworkAccess\": + \"Enabled\"\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: + - "3441" + content-type: + - application/json + date: + - Tue, 19 Oct 2021 07:14:07 GMT + expires: + - "-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 version: 1 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 76810aae895..f682c9c537d 100755 --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:52:21Z"},"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":"2022-03-08T08:46:32Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:52:22 GMT + - Tue, 08 Mar 2022 08:46:33 GMT expires: - '-1' pragma: @@ -44,19 +44,20 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestp6rqascsh-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestshc4l6bgd-79a739", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCv1xVAHJ6cNuCEZKOIhLw/dEXnUb0sPAshdGYJZ8A8aoXEPziv9qDBlDmAEU8sJerjQNNcFvnfwtjPdg6AloztK2NVWZeJVY0x1MMoD+TMSJGyIRuCN+tpNRaM0tdtekSBoZoXQ7AwS3euK8xJPpTY9ax4rKudg1kErBcskZLE0H7fWlkEMVLS12+NVqu0/foCUz86lD0hBXa9/jKNMb8Rspim8X/W9SXbzkhGOPseIyZ+xmkncrt0mS/vR2usfPlQ7tXSKlNEo6JToR3Q2xaFuOY2pTmmOoGMB2JrHhWl16W7tfiCG4d4ihoe81sbos6fPaSdgPNQS5E8KKmfxEKD azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ingressApplicationGateway": - {"enabled": true, "config": {"subnetCIDR": "10.2.0.0/16"}}}, "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}}' + {"enabled": true, "config": {"subnetCIDR": "10.232.0.0/16"}}}, "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}}' headers: Accept: - application/json @@ -67,65 +68,68 @@ interactions: Connection: - keep-alive Content-Length: - - '1478' + - '1508' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestp6rqascsh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestp6rqascsh-8ecadf-d7eff4d8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestp6rqascsh-8ecadf-d7eff4d8.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliakstest-clitestshc4l6bgd-79a739\",\n \"fqdn\": \"cliakstest-clitestshc4l6bgd-79a739-0ef22cc2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestshc4l6bgd-79a739-0ef22cc2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCv1xVAHJ6cNuCEZKOIhLw/dEXnUb0sPAshdGYJZ8A8aoXEPziv9qDBlDmAEU8sJerjQNNcFvnfwtjPdg6AloztK2NVWZeJVY0x1MMoD+TMSJGyIRuCN+tpNRaM0tdtekSBoZoXQ7AwS3euK8xJPpTY9ax4rKudg1kErBcskZLE0H7fWlkEMVLS12+NVqu0/foCUz86lD0hBXa9/jKNMb8Rspim8X/W9SXbzkhGOPseIyZ+xmkncrt0mS/vR2usfPlQ7tXSKlNEo6JToR3Q2xaFuOY2pTmmOoGMB2JrHhWl16W7tfiCG4d4ihoe81sbos6fPaSdgPNQS5E8KKmfxEKD azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ingressApplicationGateway\": {\n \"enabled\": true,\n \"config\": {\n \"effectiveApplicationGatewayId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/applicationGateways/applicationgateway\",\n - \ \"subnetCIDR\": \"10.2.0.0/16\"\n }\n }\n },\n \"nodeResourceGroup\": + \ \"subnetCIDR\": \"10.232.0.0/16\"\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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3149' + - '3393' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:25 GMT + - Tue, 08 Mar 2022 08:46:37 GMT expires: - '-1' pragma: @@ -137,7 +141,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -156,14 +160,14 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a41cfb79-a92a-2142-9b26-44c1f6e35296\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:25.92Z\"\n }" + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" headers: cache-control: - no-cache @@ -172,7 +176,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:55 GMT + - Tue, 08 Mar 2022 08:47:07 GMT expires: - '-1' pragma: @@ -205,14 +209,14 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a41cfb79-a92a-2142-9b26-44c1f6e35296\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:25.92Z\"\n }" + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" headers: cache-control: - no-cache @@ -221,7 +225,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:25 GMT + - Tue, 08 Mar 2022 08:47:38 GMT expires: - '-1' pragma: @@ -254,14 +258,14 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a41cfb79-a92a-2142-9b26-44c1f6e35296\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:25.92Z\"\n }" + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" headers: cache-control: - no-cache @@ -270,7 +274,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:55 GMT + - Tue, 08 Mar 2022 08:48:07 GMT expires: - '-1' pragma: @@ -303,14 +307,14 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a41cfb79-a92a-2142-9b26-44c1f6e35296\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:25.92Z\"\n }" + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" headers: cache-control: - no-cache @@ -319,7 +323,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:26 GMT + - Tue, 08 Mar 2022 08:48:37 GMT expires: - '-1' pragma: @@ -352,14 +356,14 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a41cfb79-a92a-2142-9b26-44c1f6e35296\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:25.92Z\"\n }" + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" headers: cache-control: - no-cache @@ -368,7 +372,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:55 GMT + - Tue, 08 Mar 2022 08:49:07 GMT expires: - '-1' pragma: @@ -401,14 +405,14 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a41cfb79-a92a-2142-9b26-44c1f6e35296\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:25.92Z\"\n }" + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" headers: cache-control: - no-cache @@ -417,7 +421,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:25 GMT + - Tue, 08 Mar 2022 08:49:37 GMT expires: - '-1' pragma: @@ -450,14 +454,14 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a41cfb79-a92a-2142-9b26-44c1f6e35296\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:52:25.92Z\"\n }" + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" headers: cache-control: - no-cache @@ -466,7 +470,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:56 GMT + - Tue, 08 Mar 2022 08:50:07 GMT expires: - '-1' pragma: @@ -499,24 +503,122 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/79fb1ca4-2aa9-4221-9b26-44c1f6e35296?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a41cfb79-a92a-2142-9b26-44c1f6e35296\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:52:25.92Z\",\n \"endTime\": - \"2021-10-19T06:56:06.593428Z\"\n }" + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '121' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 08:50: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 08:51: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value + -o + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e6cff1c-4d3d-46fc-8283-b3e9097bfc64?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"1cff6c0e-3d4d-fc46-8283-b3e9097bfc64\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-03-08T08:46:37.67Z\",\n \"endTime\": + \"2022-03-08T08:51:29.9958718Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:25 GMT + - Tue, 08 Mar 2022 08:51:38 GMT expires: - '-1' pragma: @@ -549,62 +651,66 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-cidr --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestp6rqascsh-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestp6rqascsh-8ecadf-d7eff4d8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestp6rqascsh-8ecadf-d7eff4d8.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliakstest-clitestshc4l6bgd-79a739\",\n \"fqdn\": \"cliakstest-clitestshc4l6bgd-79a739-0ef22cc2.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestshc4l6bgd-79a739-0ef22cc2.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCv1xVAHJ6cNuCEZKOIhLw/dEXnUb0sPAshdGYJZ8A8aoXEPziv9qDBlDmAEU8sJerjQNNcFvnfwtjPdg6AloztK2NVWZeJVY0x1MMoD+TMSJGyIRuCN+tpNRaM0tdtekSBoZoXQ7AwS3euK8xJPpTY9ax4rKudg1kErBcskZLE0H7fWlkEMVLS12+NVqu0/foCUz86lD0hBXa9/jKNMb8Rspim8X/W9SXbzkhGOPseIyZ+xmkncrt0mS/vR2usfPlQ7tXSKlNEo6JToR3Q2xaFuOY2pTmmOoGMB2JrHhWl16W7tfiCG4d4ihoe81sbos6fPaSdgPNQS5E8KKmfxEKD azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ingressApplicationGateway\": {\n \"enabled\": true,\n \"config\": {\n \"effectiveApplicationGatewayId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/applicationGateways/applicationgateway\",\n - \ \"subnetCIDR\": \"10.2.0.0/16\"\n },\n \"identity\": {\n \"resourceId\": + \ \"subnetCIDR\": \"10.232.0.0/16\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-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/4c376c9e-81b2-4f7a-b538-80218a767aed\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/cfbd0f10-3920-45b3-a4f1-ef77d2871c1a\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4192' + - '4420' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:26 GMT + - Tue, 08 Mar 2022 08:51:38 GMT expires: - '-1' pragma: 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 d6f9fff3224..7f35aa3c1e8 100755 --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:36:09Z"},"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":"2022-03-08T08:18:32Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:36:10 GMT + - Tue, 08 Mar 2022 08:18:32 GMT expires: - '-1' pragma: @@ -44,19 +44,20 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest3ak6pv627-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestzhjy2w3l2-79a739", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy4RxGGf9X0vMTjHmQ9ZeyEBC7LAEUAx20T/la+uc3Rwv2dVmlWXO/FxN0FcHy1QpUxWmdXP7xzwyxYYzkAT68HLYJBLNdZoSw+w1KDus807KG8rme1UylXu/Dq7r6Qb2D6rwkqDqmJw/obIPPN1NDESUW0Ma9+1XYz+YpP6umzwftPBOZ9/y1g2mtIP4ggRpnhXc55fMoMq+kFooTsZPzMLB1DAFgCJDf01dH+YQEnjUMNDvMzEa4XYmwagXxmkfA8dlydgIdeTozp+Kg+Phmf4aBgU/caDNBF2DKAKKPleYhqe7X0Gufv0L5vs6pRMuNFDPfFuJnnyNZ5MRzzWx1 azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ingressApplicationGateway": - {"enabled": true, "config": {"subnetCIDR": "10.2.0.0/16"}}}, "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}}' + {"enabled": true, "config": {"subnetCIDR": "10.232.0.0/16"}}}, "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}}' headers: Accept: - application/json @@ -67,65 +68,68 @@ interactions: Connection: - keep-alive Content-Length: - - '1478' + - '1508' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest3ak6pv627-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest3ak6pv627-8ecadf-d2724db0.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest3ak6pv627-8ecadf-d2724db0.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliakstest-clitestzhjy2w3l2-79a739\",\n \"fqdn\": \"cliakstest-clitestzhjy2w3l2-79a739-1810c58b.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestzhjy2w3l2-79a739-1810c58b.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCy4RxGGf9X0vMTjHmQ9ZeyEBC7LAEUAx20T/la+uc3Rwv2dVmlWXO/FxN0FcHy1QpUxWmdXP7xzwyxYYzkAT68HLYJBLNdZoSw+w1KDus807KG8rme1UylXu/Dq7r6Qb2D6rwkqDqmJw/obIPPN1NDESUW0Ma9+1XYz+YpP6umzwftPBOZ9/y1g2mtIP4ggRpnhXc55fMoMq+kFooTsZPzMLB1DAFgCJDf01dH+YQEnjUMNDvMzEa4XYmwagXxmkfA8dlydgIdeTozp+Kg+Phmf4aBgU/caDNBF2DKAKKPleYhqe7X0Gufv0L5vs6pRMuNFDPfFuJnnyNZ5MRzzWx1 azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ingressApplicationGateway\": {\n \"enabled\": true,\n \"config\": {\n \"effectiveApplicationGatewayId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/applicationGateways/applicationgateway\",\n - \ \"subnetCIDR\": \"10.2.0.0/16\"\n }\n }\n },\n \"nodeResourceGroup\": + \ \"subnetCIDR\": \"10.232.0.0/16\"\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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/c2dedc03-176c-4cd1-9788-f0e97a7041c1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3149' + - '3393' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:13 GMT + - Tue, 08 Mar 2022 08:18:37 GMT expires: - '-1' pragma: @@ -156,23 +160,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c2dedc03-176c-4cd1-9788-f0e97a7041c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03dcdec2-6c17-d14c-9788-f0e97a7041c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.13Z\"\n }" + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:43 GMT + - Tue, 08 Mar 2022 08:19:07 GMT expires: - '-1' pragma: @@ -205,23 +209,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c2dedc03-176c-4cd1-9788-f0e97a7041c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03dcdec2-6c17-d14c-9788-f0e97a7041c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.13Z\"\n }" + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:13 GMT + - Tue, 08 Mar 2022 08:19:37 GMT expires: - '-1' pragma: @@ -254,23 +258,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c2dedc03-176c-4cd1-9788-f0e97a7041c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03dcdec2-6c17-d14c-9788-f0e97a7041c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.13Z\"\n }" + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:44 GMT + - Tue, 08 Mar 2022 08:20:07 GMT expires: - '-1' pragma: @@ -303,23 +307,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c2dedc03-176c-4cd1-9788-f0e97a7041c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03dcdec2-6c17-d14c-9788-f0e97a7041c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.13Z\"\n }" + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:14 GMT + - Tue, 08 Mar 2022 08:20:37 GMT expires: - '-1' pragma: @@ -352,23 +356,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c2dedc03-176c-4cd1-9788-f0e97a7041c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03dcdec2-6c17-d14c-9788-f0e97a7041c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.13Z\"\n }" + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:43 GMT + - Tue, 08 Mar 2022 08:21:07 GMT expires: - '-1' pragma: @@ -401,23 +405,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c2dedc03-176c-4cd1-9788-f0e97a7041c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03dcdec2-6c17-d14c-9788-f0e97a7041c1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.13Z\"\n }" + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:13 GMT + - Tue, 08 Mar 2022 08:21:38 GMT expires: - '-1' pragma: @@ -450,24 +454,23 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c2dedc03-176c-4cd1-9788-f0e97a7041c1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03dcdec2-6c17-d14c-9788-f0e97a7041c1\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:36:14.13Z\",\n \"endTime\": - \"2021-10-19T06:39:24.2560981Z\"\n }" + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:44 GMT + - Tue, 08 Mar 2022 08:22:08 GMT expires: - '-1' pragma: @@ -500,62 +503,263 @@ interactions: - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 08:22: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 08:23:07 GMT + expires: + - '-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 08:23: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ae309b0-c9d9-4f3b-be2f-182e617b8368?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b009e32a-d9c9-3b4f-be2f-182e617b8368\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-03-08T08:18:37.6666666Z\",\n \"endTime\": + \"2022-03-08T08:23:54.2661832Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 08:24: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --appgw-subnet-prefix + --ssh-key-value -o + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest3ak6pv627-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest3ak6pv627-8ecadf-d2724db0.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest3ak6pv627-8ecadf-d2724db0.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliakstest-clitestzhjy2w3l2-79a739\",\n \"fqdn\": \"cliakstest-clitestzhjy2w3l2-79a739-1810c58b.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestzhjy2w3l2-79a739-1810c58b.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQCy4RxGGf9X0vMTjHmQ9ZeyEBC7LAEUAx20T/la+uc3Rwv2dVmlWXO/FxN0FcHy1QpUxWmdXP7xzwyxYYzkAT68HLYJBLNdZoSw+w1KDus807KG8rme1UylXu/Dq7r6Qb2D6rwkqDqmJw/obIPPN1NDESUW0Ma9+1XYz+YpP6umzwftPBOZ9/y1g2mtIP4ggRpnhXc55fMoMq+kFooTsZPzMLB1DAFgCJDf01dH+YQEnjUMNDvMzEa4XYmwagXxmkfA8dlydgIdeTozp+Kg+Phmf4aBgU/caDNBF2DKAKKPleYhqe7X0Gufv0L5vs6pRMuNFDPfFuJnnyNZ5MRzzWx1 azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ingressApplicationGateway\": {\n \"enabled\": true,\n \"config\": {\n \"effectiveApplicationGatewayId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/applicationGateways/applicationgateway\",\n - \ \"subnetCIDR\": \"10.2.0.0/16\"\n },\n \"identity\": {\n \"resourceId\": + \ \"subnetCIDR\": \"10.232.0.0/16\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ingressapplicationgateway-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/39144500-44b4-4ec4-bf8a-dbd29a89c37b\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/0fdaeed7-9945-4e4b-9ed4-b8d2e4abfa79\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4192' + - '4420' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:44 GMT + - Tue, 08 Mar 2022 08:24:09 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 4d27f85de9b..4388023f7e6 --- 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 @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:18:52Z"},"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":"2022-02-11T07:41:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:18:53 GMT + - Fri, 11 Feb 2022 07:41:25 GMT expires: - '-1' pragma: @@ -43,14 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestamidfq5l3-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestnn2nbbcav-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskType": - "Managed", "workloadRuntime": "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", - "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "Managed", "workloadRuntime": "OCIContainer", "osType": "Linux", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -66,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1416' + - '1444' Content-Type: - application/json ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestamidfq5l3-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestamidfq5l3-8ecadf-239562fb.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestamidfq5l3-8ecadf-239562fb.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestnn2nbbcav-8ecadf\",\n \"fqdn\": \"cliakstest-clitestnn2nbbcav-8ecadf-d18a8002.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestnn2nbbcav-8ecadf-d18a8002.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -105,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/444c9a1d-bdc0-4a04-a093-03ba4d85ced1?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abc1fd4e-61b6-43e0-95fc-4eb44846f62a?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:57 GMT + - Fri, 11 Feb 2022 07:41:28 GMT expires: - '-1' pragma: @@ -132,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1192' status: code: 201 message: Created @@ -150,23 +153,23 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/444c9a1d-bdc0-4a04-a093-03ba4d85ced1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abc1fd4e-61b6-43e0-95fc-4eb44846f62a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d9a4c44-c0bd-044a-a093-03ba4d85ced1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:18:57.4633333Z\"\n }" + string: "{\n \"name\": \"4efdc1ab-b661-e043-95fc-4eb44846f62a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:41:28.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:27 GMT + - Fri, 11 Feb 2022 07:41:58 GMT expires: - '-1' pragma: @@ -198,23 +201,23 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/444c9a1d-bdc0-4a04-a093-03ba4d85ced1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abc1fd4e-61b6-43e0-95fc-4eb44846f62a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d9a4c44-c0bd-044a-a093-03ba4d85ced1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:18:57.4633333Z\"\n }" + string: "{\n \"name\": \"4efdc1ab-b661-e043-95fc-4eb44846f62a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:41:28.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:56 GMT + - Fri, 11 Feb 2022 07:42:28 GMT expires: - '-1' pragma: @@ -246,23 +249,23 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/444c9a1d-bdc0-4a04-a093-03ba4d85ced1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abc1fd4e-61b6-43e0-95fc-4eb44846f62a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d9a4c44-c0bd-044a-a093-03ba4d85ced1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:18:57.4633333Z\"\n }" + string: "{\n \"name\": \"4efdc1ab-b661-e043-95fc-4eb44846f62a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:41:28.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:27 GMT + - Fri, 11 Feb 2022 07:42:59 GMT expires: - '-1' pragma: @@ -294,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/444c9a1d-bdc0-4a04-a093-03ba4d85ced1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abc1fd4e-61b6-43e0-95fc-4eb44846f62a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d9a4c44-c0bd-044a-a093-03ba4d85ced1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:18:57.4633333Z\"\n }" + string: "{\n \"name\": \"4efdc1ab-b661-e043-95fc-4eb44846f62a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:41:28.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:57 GMT + - Fri, 11 Feb 2022 07:43:28 GMT expires: - '-1' pragma: @@ -342,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/444c9a1d-bdc0-4a04-a093-03ba4d85ced1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abc1fd4e-61b6-43e0-95fc-4eb44846f62a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d9a4c44-c0bd-044a-a093-03ba4d85ced1\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:18:57.4633333Z\"\n }" + string: "{\n \"name\": \"4efdc1ab-b661-e043-95fc-4eb44846f62a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:41:28.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:27 GMT + - Fri, 11 Feb 2022 07:43:58 GMT expires: - '-1' pragma: @@ -390,24 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/444c9a1d-bdc0-4a04-a093-03ba4d85ced1?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abc1fd4e-61b6-43e0-95fc-4eb44846f62a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d9a4c44-c0bd-044a-a093-03ba4d85ced1\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:18:57.4633333Z\",\n \"endTime\": - \"2021-10-19T07:21:48.325851Z\"\n }" + string: "{\n \"name\": \"4efdc1ab-b661-e043-95fc-4eb44846f62a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:41:28.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:57 GMT + - Fri, 11 Feb 2022 07:44:28 GMT expires: - '-1' pragma: @@ -439,57 +441,110 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abc1fd4e-61b6-43e0-95fc-4eb44846f62a?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4efdc1ab-b661-e043-95fc-4eb44846f62a\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:41:28.4Z\",\n \"endTime\": + \"2022-02-11T07:44:45.4310986Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:44: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --node-osdisk-type --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestamidfq5l3-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestamidfq5l3-8ecadf-239562fb.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestamidfq5l3-8ecadf-239562fb.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestnn2nbbcav-8ecadf\",\n \"fqdn\": \"cliakstest-clitestnn2nbbcav-8ecadf-d18a8002.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestnn2nbbcav-8ecadf-d18a8002.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/e7be696d-10a4-4947-870c-cdee6f011c5e\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/5044cea9-3bbb-4e15-aa44-d02783cb753a\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:57 GMT + - Fri, 11 Feb 2022 07:44:59 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_aad_auth_msi.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_aad_auth_msi.yaml new file mode 100644 index 00000000000..838c96fbc13 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_aad_auth_msi.yaml @@ -0,0 +1,1947 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:18:53Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:18: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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: HEAD + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/DefaultResourceGroup-WUS2?api-version=2021-04-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:18:53 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DefaultResourceGroup-WUS2/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18:54 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18:54 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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + 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/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"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/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"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/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"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/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/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"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/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"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/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"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/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/swedensouth\",\"name\":\"swedensouth\",\"displayName\":\"Sweden + South\",\"regionalDisplayName\":\"(Europe) Sweden South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"13.0007\",\"latitude\":\"55.6059\",\"physicalLocation\":\"Malmo\",\"pairedRegion\":[{\"name\":\"swedencentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\"}]}},{\"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\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Europe) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '30870' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:18: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights","namespace":"microsoft.insights","authorizations":[{"applicationId":"6bccf540-eb86-4037-af03-7fa058c2db75","roleDefinitionId":"89dcede2-9219-403a-9723-d3c6473f9472"},{"applicationId":"11c174dc-1945-4a9a-a36b-c79a0f246b9b","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"},{"applicationId":"035f9e1d-4f00-4419-bf50-bf2d87eb4878","roleDefinitionId":"323795fe-ba3d-4f5a-ad42-afb4e1ea9485"},{"applicationId":"f5c26e74-f226-4ae8-85f0-b4af0080ac9e","roleDefinitionId":"529d7ae6-e892-4d43-809d-8547aeb90643"},{"applicationId":"b503eb83-1222-4dcc-b116-b98ed5216e05","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"},{"applicationId":"3af5a1e8-2459-45cb-8683-bcd6cccbcc13","roleDefinitionId":"b1309299-720d-4159-9897-6158a61aee41"},{"applicationId":"6a0a243c-0886-468a-a4c2-eff52c7445da","roleDefinitionId":"d2eda64b-c5e6-4930-8642-2d80ecd7c2e2"},{"applicationId":"707be275-6b9d-4ee7-88f9-c0c2bd646e0f","roleDefinitionId":"fa027d90-6ba0-4c33-9a54-59edaf2327e7"},{"applicationId":"461e8683-5575-4561-ac7f-899cc907d62a","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"562db366-1b96-45d2-aa4a-f2148cef2240","roleDefinitionId":"4109c8be-c1c8-4be0-af52-9d3c76c140ab"},{"applicationId":"e933bd07-d2ee-4f1d-933c-3752b819567b","roleDefinitionId":"abbcfd44-e662-419a-9b5a-478f8e2f57c9"},{"applicationId":"f6b60513-f290-450e-a2f3-9930de61c5e7","roleDefinitionId":"4ef11659-08ac-48af-98a7-25fb6b1e1bc4"},{"applicationId":"12743ff8-d3de-49d0-a4ce-6c91a4245ea0","roleDefinitionId":"207b20a7-6802-4ae4-aaa2-1a36dd45bba0"},{"applicationId":"58ef1dbd-684c-47d6-8ffc-61ea7a197b95","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"}],"resourceTypes":[{"resourceType":"components","locations":["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","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Canada + East","Jio India West","Korea South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/query","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metadata","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metrics","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","Brazil South","Switzerland North","Australia + Southeast","Norway East","Norway West"],"apiVersions":["2018-04-20","2014-04-01"],"capabilities":"None"},{"resourceType":"components/events","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/syntheticmonitorlocations","locations":["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","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Canada + East","Jio India West","Korea South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"webtests","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","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","Norway West","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","West US + 3","Canada East","Jio India West","Korea South"],"apiVersions":["2018-05-01-preview","2015-05-01","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"webtests/getTestResultFile","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2020-02-10-preview"],"capabilities":"None"},{"resourceType":"scheduledqueryrules","locations":["West + Central US","Australia East","Central US","East US","East US 2","France Central","Japan + East","North Europe","South Africa North","Southeast Asia","UK South","West + Europe","West US 2","Central India","Canada Central","Australia Southeast","South + Central US","Australia Central","Korea Central","East Asia","West US","North + Central US","Brazil South","UK West","Switzerland North","Switzerland West","UAE + Central","Germany West Central","Australia Central 2","Brazil SouthEast","Norway + East","UAE North","Japan West","South India","France South","Norway West","East + US 2 EUAP"],"apiVersions":["2021-08-01","2021-02-01-preview","2020-05-01-preview","2018-04-16","2017-09-01-preview"],"defaultApiVersion":"2018-04-16","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/pricingPlans","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"migrateToNewPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"rollbackToLegacyPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"listMigrationdate","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"logprofiles","locations":[],"apiVersions":["2016-03-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"None"},{"resourceType":"migratealertrules","locations":[],"apiVersions":["2018-03-01"],"capabilities":"None"},{"resourceType":"metricalerts","locations":["Global"],"apiVersions":["2018-03-01","2017-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"alertrules","locations":["West US","East + US","North Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Central US","Australia + East","Australia Southeast","Brazil South","UK South","UK West","South India","Central + India","West India","Canada East","Canada Central","West Central US","West + US 2","Korea Central","Australia Central","Australia Central 2","France Central","South + Africa North","UAE North","Korea South","France South","East US 2 EUAP","Central + US EUAP","South Africa West","UAE Central"],"apiVersions":["2016-03-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"autoscalesettings","locations":["West + US","East US","North Europe","South Central US","East US 2","Central US","Australia + Southeast","Brazil South","UK South","UK West","South India","Central India","West + India","Canada East","Canada Central","West Central US","West US 2","Korea + Central","Australia Central","Australia Central 2","France Central","West + Europe","East Asia","Southeast Asia","Japan East","Japan West","North Central + US","Australia East","South Africa North","UAE North","Switzerland North","Germany + West Central","Norway East","West US 3","Jio India West","Korea South","France + South","East US 2 EUAP","Central US EUAP","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2015-04-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"eventtypes","locations":[],"apiVersions":["2017-03-01-preview","2016-09-01-preview","2015-04-01","2014-11-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"SupportsExtension"},{"resourceType":"locations","locations":["East + US"],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"locations/operationResults","locations":[],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"vmInsightsOnboardingStatuses","locations":[],"apiVersions":["2018-11-27-preview"],"capabilities":"SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2015-04-01","2014-06-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"diagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","East US + 2 EUAP","Central US EUAP","France South","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2017-05-01-preview","2016-09-01","2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-09-01"}],"capabilities":"SupportsExtension"},{"resourceType":"diagnosticSettingsCategories","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","East US + 2 EUAP","Central US EUAP","France South","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2017-05-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"extendedDiagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","France + South","East US 2 EUAP","Central US EUAP","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2017-02-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-02-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricDefinitions","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"logDefinitions","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","Korea South","France South","East US 2 EUAP","Central US EUAP"],"apiVersions":["2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-07-01"}],"capabilities":"SupportsExtension"},{"resourceType":"eventCategories","locations":[],"apiVersions":["2015-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"metrics","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2021-05-01","2019-07-01","2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview","2016-09-01","2016-06-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricbatch","locations":[],"apiVersions":["2019-01-01-preview"],"capabilities":"None"},{"resourceType":"metricNamespaces","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2017-12-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"notificationstatus","locations":[],"apiVersions":["2021-09-01"],"capabilities":"None"},{"resourceType":"createnotifications","locations":[],"apiVersions":["2021-09-01"],"capabilities":"None"},{"resourceType":"actiongroups","locations":["Global"],"apiVersions":["2021-09-01","2019-06-01","2019-03-01","2018-09-01","2018-03-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"activityLogAlerts","locations":["Global"],"apiVersions":["2020-10-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"baseline","locations":[],"apiVersions":["2018-09-01","2017-11-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"metricbaselines","locations":[],"apiVersions":["2019-03-01","2018-09-01"],"capabilities":"SupportsExtension"},{"resourceType":"calculatebaseline","locations":[],"apiVersions":["2018-09-01","2017-11-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"workbooks","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Canada East","Jio India West","Central US EUAP","East + US 2 EUAP","Korea South"],"apiVersions":["2021-08-01","2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-01-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"workbooktemplates","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Canada East","Jio India West","Korea South"],"apiVersions":["2020-11-20","2019-10-17-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"myWorkbooks","locations":["West + Europe","South Central US","East US","North 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","Norway West","Australia Southeast","Central US EUAP","East US 2 EUAP"],"apiVersions":["2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-15-preview","2018-06-01-preview","2016-06-15-preview"],"capabilities":"SupportsExtension"},{"resourceType":"logs","locations":["East + US","East US 2","West US","Central US","North Central US","South Central US","North + Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan West","Australia + East","Australia Southeast","Brazil South","South India","Central India","West + India","Canada Central","Canada East","West US 2","West Central US","UK South","UK + West","Korea Central","France Central","France South","Australia Central","South + Africa North","Korea South","Central US EUAP","East US 2 EUAP","Australia + Central 2","South Africa West","UAE Central","UAE North"],"apiVersions":["2018-03-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"transactions","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"topology","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"generateLiveToken","locations":[],"apiVersions":["2021-10-14","2020-06-02-preview"],"capabilities":"SupportsExtension"},{"resourceType":"dataCollectionRules","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Australia Central 2","Brazil + Southeast","France South","Norway West","UAE North","Japan West","Norway East","Switzerland + West","Brazil South","East US 2 EUAP"],"apiVersions":["2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionRuleAssociations","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"SupportsExtension"},{"resourceType":"dataCollectionEndpoints","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionEndpoints/scopedPrivateLinkProxies","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"None"},{"resourceType":"privateLinkScopes","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"privateLinkScopes/privateEndpointConnections","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/privateEndpointConnectionProxies","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/scopedResources","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"components/linkedstorageaccounts","locations":["East + US","West Central 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","Norway West","Australia Southeast"],"apiVersions":["2020-03-01-preview"],"capabilities":"None"},{"resourceType":"privateLinkScopeOperationStatuses","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '27917' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:18: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": "westus2", "properties": {"dataSources": {"extensions": [{"name": + "ContainerInsightsExtension", "streams": ["Microsoft-Perf", "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", "Microsoft-KubeHealth", "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", "Microsoft-KubePodInventory", "Microsoft-KubePVInventory", + "Microsoft-KubeServices", "Microsoft-InsightsMetrics"], "extensionName": "ContainerInsights"}]}, + "dataFlows": [{"streams": ["Microsoft-Perf", "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", "Microsoft-KubeHealth", "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", "Microsoft-KubePodInventory", "Microsoft-KubePVInventory", + "Microsoft-KubeServices", "Microsoft-InsightsMetrics"], "destinations": ["la-workspace"]}], + "destinations": {"logAnalytics": [{"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "name": "la-workspace"}]}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1248' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d80024f2-0000-0800-0000-61a784520000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:18:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestg3n3rswlk-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"enabled": true, "config": + {"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "useAADAuth": "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"}, "disableLocalAccounts": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '2052' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestg3n3rswlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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/2887a7b9-ec80-4e35-a432-15088a7b7409?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3608' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19:03 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: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2887a7b9-ec80-4e35-a432-15088a7b7409?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b9a78728-80ec-354e-a432-15088a7b7409\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:03.3566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2887a7b9-ec80-4e35-a432-15088a7b7409?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b9a78728-80ec-354e-a432-15088a7b7409\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:03.3566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2887a7b9-ec80-4e35-a432-15088a7b7409?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b9a78728-80ec-354e-a432-15088a7b7409\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:03.3566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2887a7b9-ec80-4e35-a432-15088a7b7409?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b9a78728-80ec-354e-a432-15088a7b7409\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:03.3566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2887a7b9-ec80-4e35-a432-15088a7b7409?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b9a78728-80ec-354e-a432-15088a7b7409\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:19:03.3566666Z\",\n \"endTime\": + \"2021-12-01T14:21:17.9217645Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestg3n3rswlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"True\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/06c15b47-e875-4670-b352-fefcbc47b415\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4634' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables + publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2021-11-11T20:13:44.2828715Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + headers: + cache-control: + - no-cache + content-length: + - '776' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:21:35 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/3913510d-42f4-4e42-8a64-420c390055eb", + "principalId":"00000000-0000-0000-0000-000000000001"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleAssignments/8bac35c7-3fa5-4d55-9d1a-b181904dbc8b?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:21:36.0340656Z","updatedOn":"2021-12-01T14:21:36.3153672Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/8bac35c7-3fa5-4d55-9d1a-b181904dbc8b","type":"Microsoft.Authorization/roleAssignments","name":"8bac35c7-3fa5-4d55-9d1a-b181904dbc8b"}' + headers: + cache-control: + - no-cache + content-length: + - '1029' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:21:37 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: + - '1196' + 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 --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: '{"location": "westus2", "properties": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "description": "routes monitoring data to a Log Analytics workspace"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"description":"routes monitoring data to a Log Analytics + workspace","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"d800a7f5-0000-0800-0000-61a784f40000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:21:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d80024f2-0000-0800-0000-61a784520000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:21:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"description":"routes monitoring data to a Log Analytics + workspace","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"d800a7f5-0000-0800-0000-61a784f40000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:21:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestg3n3rswlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"True\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/06c15b47-e875-4670-b352-fefcbc47b415\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4634' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "description": "routes monitoring data to a Log Analytics workspace"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:21:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitestg3n3rswlk-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"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/06c15b47-e875-4670-b352-fefcbc47b415"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '2725' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestg3n3rswlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/06c15b47-e875-4670-b352-fefcbc47b415\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cf6a102c-64bf-4f26-a764-7445210b1bb3?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3992' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cf6a102c-64bf-4f26-a764-7445210b1bb3?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2c106acf-bf64-264f-a764-7445210b1bb3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:21:46.29Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:22: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cf6a102c-64bf-4f26-a764-7445210b1bb3?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2c106acf-bf64-264f-a764-7445210b1bb3\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:21:46.29Z\",\n \"endTime\": + \"2021-12-01T14:22:44.9110584Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:22: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestg3n3rswlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestg3n3rswlk-8ecadf-78333762.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/06c15b47-e875-4670-b352-fefcbc47b415\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '3994' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:22: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 delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b1b804ee-52a3-40f4-a42f-c99b757d497e?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:22:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b1b804ee-52a3-40f4-a42f-c99b757d497e?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14996' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_aad_auth_uai.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_aad_auth_uai.yaml new file mode 100644 index 00000000000..6f6d8270348 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_aad_auth_uai.yaml @@ -0,0 +1,2048 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - identity create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:08:08Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:08:08 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.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai?api-version=2015-08-31-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai","name":"cliakstest000002_uai","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=96320849-20ea-4180-9f2f-9382dbb89a05&aid=7b7f2e38-726d-4fe0-9fd3-72eb9542491c"}}' + headers: + cache-control: + - no-cache + content-length: + - '822' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:08:11 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + 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 --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:08:08Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:08:12 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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: HEAD + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/DefaultResourceGroup-WUS2?api-version=2021-04-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:08:12 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DefaultResourceGroup-WUS2/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:08:12 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:08:13 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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + 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/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"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/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"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/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"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/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/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"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/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"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/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"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/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/swedensouth\",\"name\":\"swedensouth\",\"displayName\":\"Sweden + South\",\"regionalDisplayName\":\"(Europe) Sweden South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"13.0007\",\"latitude\":\"55.6059\",\"physicalLocation\":\"Malmo\",\"pairedRegion\":[{\"name\":\"swedencentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\"}]}},{\"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\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Europe) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '30870' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:08:14 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 + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights","namespace":"microsoft.insights","authorizations":[{"applicationId":"6bccf540-eb86-4037-af03-7fa058c2db75","roleDefinitionId":"89dcede2-9219-403a-9723-d3c6473f9472"},{"applicationId":"11c174dc-1945-4a9a-a36b-c79a0f246b9b","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"},{"applicationId":"035f9e1d-4f00-4419-bf50-bf2d87eb4878","roleDefinitionId":"323795fe-ba3d-4f5a-ad42-afb4e1ea9485"},{"applicationId":"f5c26e74-f226-4ae8-85f0-b4af0080ac9e","roleDefinitionId":"529d7ae6-e892-4d43-809d-8547aeb90643"},{"applicationId":"b503eb83-1222-4dcc-b116-b98ed5216e05","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"},{"applicationId":"3af5a1e8-2459-45cb-8683-bcd6cccbcc13","roleDefinitionId":"b1309299-720d-4159-9897-6158a61aee41"},{"applicationId":"6a0a243c-0886-468a-a4c2-eff52c7445da","roleDefinitionId":"d2eda64b-c5e6-4930-8642-2d80ecd7c2e2"},{"applicationId":"707be275-6b9d-4ee7-88f9-c0c2bd646e0f","roleDefinitionId":"fa027d90-6ba0-4c33-9a54-59edaf2327e7"},{"applicationId":"461e8683-5575-4561-ac7f-899cc907d62a","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"562db366-1b96-45d2-aa4a-f2148cef2240","roleDefinitionId":"4109c8be-c1c8-4be0-af52-9d3c76c140ab"},{"applicationId":"e933bd07-d2ee-4f1d-933c-3752b819567b","roleDefinitionId":"abbcfd44-e662-419a-9b5a-478f8e2f57c9"},{"applicationId":"f6b60513-f290-450e-a2f3-9930de61c5e7","roleDefinitionId":"4ef11659-08ac-48af-98a7-25fb6b1e1bc4"},{"applicationId":"12743ff8-d3de-49d0-a4ce-6c91a4245ea0","roleDefinitionId":"207b20a7-6802-4ae4-aaa2-1a36dd45bba0"},{"applicationId":"58ef1dbd-684c-47d6-8ffc-61ea7a197b95","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"}],"resourceTypes":[{"resourceType":"components","locations":["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","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Canada + East","Jio India West","Korea South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/query","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metadata","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metrics","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","Brazil South","Switzerland North","Australia + Southeast","Norway East","Norway West"],"apiVersions":["2018-04-20","2014-04-01"],"capabilities":"None"},{"resourceType":"components/events","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/syntheticmonitorlocations","locations":["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","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Canada + East","Jio India West","Korea South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"webtests","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","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","Norway West","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","West US + 3","Canada East","Jio India West","Korea South"],"apiVersions":["2018-05-01-preview","2015-05-01","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"webtests/getTestResultFile","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2020-02-10-preview"],"capabilities":"None"},{"resourceType":"scheduledqueryrules","locations":["West + Central US","Australia East","Central US","East US","East US 2","France Central","Japan + East","North Europe","South Africa North","Southeast Asia","UK South","West + Europe","West US 2","Central India","Canada Central","Australia Southeast","South + Central US","Australia Central","Korea Central","East Asia","West US","North + Central US","Brazil South","UK West","Switzerland North","Switzerland West","UAE + Central","Germany West Central","Australia Central 2","Brazil SouthEast","Norway + East","UAE North","Japan West","South India","France South","Norway West","East + US 2 EUAP"],"apiVersions":["2021-08-01","2021-02-01-preview","2020-05-01-preview","2018-04-16","2017-09-01-preview"],"defaultApiVersion":"2018-04-16","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/pricingPlans","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"migrateToNewPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"rollbackToLegacyPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"listMigrationdate","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"logprofiles","locations":[],"apiVersions":["2016-03-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"None"},{"resourceType":"migratealertrules","locations":[],"apiVersions":["2018-03-01"],"capabilities":"None"},{"resourceType":"metricalerts","locations":["Global"],"apiVersions":["2018-03-01","2017-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"alertrules","locations":["West US","East + US","North Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Central US","Australia + East","Australia Southeast","Brazil South","UK South","UK West","South India","Central + India","West India","Canada East","Canada Central","West Central US","West + US 2","Korea Central","Australia Central","Australia Central 2","France Central","South + Africa North","UAE North","Korea South","France South","East US 2 EUAP","Central + US EUAP","South Africa West","UAE Central"],"apiVersions":["2016-03-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"autoscalesettings","locations":["West + US","East US","North Europe","South Central US","East US 2","Central US","Australia + Southeast","Brazil South","UK South","UK West","South India","Central India","West + India","Canada East","Canada Central","West Central US","West US 2","Korea + Central","Australia Central","Australia Central 2","France Central","West + Europe","East Asia","Southeast Asia","Japan East","Japan West","North Central + US","Australia East","South Africa North","UAE North","Switzerland North","Germany + West Central","Norway East","West US 3","Jio India West","Korea South","France + South","East US 2 EUAP","Central US EUAP","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2015-04-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"eventtypes","locations":[],"apiVersions":["2017-03-01-preview","2016-09-01-preview","2015-04-01","2014-11-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"SupportsExtension"},{"resourceType":"locations","locations":["East + US"],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"locations/operationResults","locations":[],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"vmInsightsOnboardingStatuses","locations":[],"apiVersions":["2018-11-27-preview"],"capabilities":"SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2015-04-01","2014-06-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"diagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","East US + 2 EUAP","Central US EUAP","France South","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2017-05-01-preview","2016-09-01","2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-09-01"}],"capabilities":"SupportsExtension"},{"resourceType":"diagnosticSettingsCategories","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","East US + 2 EUAP","Central US EUAP","France South","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2017-05-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"extendedDiagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","France + South","East US 2 EUAP","Central US EUAP","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2017-02-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-02-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricDefinitions","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"logDefinitions","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","Korea South","France South","East US 2 EUAP","Central US EUAP"],"apiVersions":["2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-07-01"}],"capabilities":"SupportsExtension"},{"resourceType":"eventCategories","locations":[],"apiVersions":["2015-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"metrics","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2021-05-01","2019-07-01","2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview","2016-09-01","2016-06-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricbatch","locations":[],"apiVersions":["2019-01-01-preview"],"capabilities":"None"},{"resourceType":"metricNamespaces","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2017-12-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"notificationstatus","locations":[],"apiVersions":["2021-09-01"],"capabilities":"None"},{"resourceType":"createnotifications","locations":[],"apiVersions":["2021-09-01"],"capabilities":"None"},{"resourceType":"actiongroups","locations":["Global"],"apiVersions":["2021-09-01","2019-06-01","2019-03-01","2018-09-01","2018-03-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"activityLogAlerts","locations":["Global"],"apiVersions":["2020-10-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"baseline","locations":[],"apiVersions":["2018-09-01","2017-11-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"metricbaselines","locations":[],"apiVersions":["2019-03-01","2018-09-01"],"capabilities":"SupportsExtension"},{"resourceType":"calculatebaseline","locations":[],"apiVersions":["2018-09-01","2017-11-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"workbooks","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Canada East","Jio India West","Central US EUAP","East + US 2 EUAP","Korea South"],"apiVersions":["2021-08-01","2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-01-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"workbooktemplates","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Canada East","Jio India West","Korea South"],"apiVersions":["2020-11-20","2019-10-17-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"myWorkbooks","locations":["West + Europe","South Central US","East US","North 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","Norway West","Australia Southeast","Central US EUAP","East US 2 EUAP"],"apiVersions":["2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-15-preview","2018-06-01-preview","2016-06-15-preview"],"capabilities":"SupportsExtension"},{"resourceType":"logs","locations":["East + US","East US 2","West US","Central US","North Central US","South Central US","North + Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan West","Australia + East","Australia Southeast","Brazil South","South India","Central India","West + India","Canada Central","Canada East","West US 2","West Central US","UK South","UK + West","Korea Central","France Central","France South","Australia Central","South + Africa North","Korea South","Central US EUAP","East US 2 EUAP","Australia + Central 2","South Africa West","UAE Central","UAE North"],"apiVersions":["2018-03-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"transactions","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"topology","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"generateLiveToken","locations":[],"apiVersions":["2021-10-14","2020-06-02-preview"],"capabilities":"SupportsExtension"},{"resourceType":"dataCollectionRules","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Australia Central 2","Brazil + Southeast","France South","Norway West","UAE North","Japan West","Norway East","Switzerland + West","Brazil South","East US 2 EUAP"],"apiVersions":["2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionRuleAssociations","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"SupportsExtension"},{"resourceType":"dataCollectionEndpoints","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionEndpoints/scopedPrivateLinkProxies","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"None"},{"resourceType":"privateLinkScopes","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"privateLinkScopes/privateEndpointConnections","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/privateEndpointConnectionProxies","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/scopedResources","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"components/linkedstorageaccounts","locations":["East + US","West Central 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","Norway West","Australia Southeast"],"apiVersions":["2020-03-01-preview"],"capabilities":"None"},{"resourceType":"privateLinkScopeOperationStatuses","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '27917' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:08:15 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": {"dataSources": {"extensions": [{"name": + "ContainerInsightsExtension", "streams": ["Microsoft-Perf", "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", "Microsoft-KubeHealth", "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", "Microsoft-KubePodInventory", "Microsoft-KubePVInventory", + "Microsoft-KubeServices", "Microsoft-InsightsMetrics"], "extensionName": "ContainerInsights"}]}, + "dataFlows": [{"streams": ["Microsoft-Perf", "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", "Microsoft-KubeHealth", "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", "Microsoft-KubePodInventory", "Microsoft-KubePVInventory", + "Microsoft-KubeServices", "Microsoft-InsightsMetrics"], "destinations": ["la-workspace"]}], + "destinations": {"logAnalytics": [{"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "name": "la-workspace"}]}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1248' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d800e8e1-0000-0800-0000-61a781d10000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:08:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "identity": {"type": "UserAssigned", "userAssignedIdentities": + {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai": + {}}}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesthfu4rhnlk-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"enabled": true, "config": + {"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "useAADAuth": "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"}, "disableLocalAccounts": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '2250' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesthfu4rhnlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false\n },\n + \ \"identity\": {\n \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": + {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {}\n }\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/1ae2ed8c-290d-46f5-85d3-5c41a076e6ef?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3705' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:08:23 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: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1ae2ed8c-290d-46f5-85d3-5c41a076e6ef?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8cede21a-0d29-f546-85d3-5c41a076e6ef\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:08:22.6133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:08: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1ae2ed8c-290d-46f5-85d3-5c41a076e6ef?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8cede21a-0d29-f546-85d3-5c41a076e6ef\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:08:22.6133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1ae2ed8c-290d-46f5-85d3-5c41a076e6ef?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8cede21a-0d29-f546-85d3-5c41a076e6ef\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:08:22.6133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1ae2ed8c-290d-46f5-85d3-5c41a076e6ef?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8cede21a-0d29-f546-85d3-5c41a076e6ef\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:08:22.6133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:10: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1ae2ed8c-290d-46f5-85d3-5c41a076e6ef?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8cede21a-0d29-f546-85d3-5c41a076e6ef\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:08:22.6133333Z\",\n \"endTime\": + \"2021-12-01T14:10:31.9185058Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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 +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesthfu4rhnlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"True\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/751a7ceb-b98a-4bae-b707-5f49e471c1cf\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4852' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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 +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables + publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2021-11-11T20:13:44.2828715Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + headers: + cache-control: + - no-cache + content-length: + - '776' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:10:54 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/3913510d-42f4-4e42-8a64-420c390055eb", + "principalId":"00000000-0000-0000-0000-000000000001"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleAssignments/1fa66d3c-f294-4b92-8e2e-bc247256722a?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:10:54.8427350Z","updatedOn":"2021-12-01T14:10:55.1083591Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/1fa66d3c-f294-4b92-8e2e-bc247256722a","type":"Microsoft.Authorization/roleAssignments","name":"1fa66d3c-f294-4b92-8e2e-bc247256722a"}' + headers: + cache-control: + - no-cache + content-length: + - '1029' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:10:57 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: + - '1195' + 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 --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:10:58 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: '{"location": "westus2", "properties": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "description": "routes monitoring data to a Log Analytics workspace"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --enable-msi-auth-for-monitoring --node-count --ssh-key-value --assign-identity + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"description":"routes monitoring data to a Log Analytics + workspace","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"d80060e5-0000-0800-0000-61a782730000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:10:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d800e8e1-0000-0800-0000-61a781d10000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:10:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"description":"routes monitoring data to a Log Analytics + workspace","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"d80060e5-0000-0800-0000-61a782730000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:11:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesthfu4rhnlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"True\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/751a7ceb-b98a-4bae-b707-5f49e471c1cf\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4852' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:11: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: '{"location": "westus2", "properties": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "description": "routes monitoring data to a Log Analytics workspace"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:11:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14996' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "UserAssigned", "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai": + {}}}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": "cliakstest-clitesthfu4rhnlk-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": + 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", + "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"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/751a7ceb-b98a-4bae-b707-5f49e471c1cf"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '2923' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesthfu4rhnlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/751a7ceb-b98a-4bae-b707-5f49e471c1cf\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\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/d3600b9c-f162-40d2-987f-9fec21eead63?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4210' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:11: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3600b9c-f162-40d2-987f-9fec21eead63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c0b60d3-62f1-d240-987f-9fec21eead63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:11:05.9433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:11: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d3600b9c-f162-40d2-987f-9fec21eead63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c0b60d3-62f1-d240-987f-9fec21eead63\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:11:05.9433333Z\",\n \"endTime\": + \"2021-12-01T14:12:01.4563485Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesthfu4rhnlk-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesthfu4rhnlk-8ecadf-7f4c765e.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/751a7ceb-b98a-4bae-b707-5f49e471c1cf\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4212' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12:07 GMT + expires: + - '-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: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51b08885-faf9-4e4f-be5a-2ade3cee00aa?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:12:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/51b08885-faf9-4e4f-be5a-2ade3cee00aa?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14996' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_legacy_auth.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_legacy_auth.yaml new file mode 100644 index 00000000000..363e62d9716 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_monitoring_legacy_auth.yaml @@ -0,0 +1,1497 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:12:12Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:12:12 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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: HEAD + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/DefaultResourceGroup-WUS2?api-version=2021-04-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:12:12 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DefaultResourceGroup-WUS2/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12:13 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12:14 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": {"workspaceResourceId": {"type": + "string", "metadata": {"description": "Azure Monitor Log Analytics Resource + ID"}}, "workspaceRegion": {"type": "string", "metadata": {"description": "Azure + Monitor Log Analytics workspace region"}}, "solutionDeploymentName": {"type": + "string", "metadata": {"description": "Name of the solution deployment"}}}, + "resources": [{"type": "Microsoft.Resources/deployments", "name": "[parameters(''solutionDeploymentName'')]", + "apiVersion": "2017-05-10", "subscriptionId": "[split(parameters(''workspaceResourceId''),''/'')[2]]", + "resourceGroup": "[split(parameters(''workspaceResourceId''),''/'')[4]]", "properties": + {"mode": "Incremental", "template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": + [{"apiVersion": "2015-11-01-preview", "type": "Microsoft.OperationsManagement/solutions", + "location": "[parameters(''workspaceRegion'')]", "name": "[Concat(''ContainerInsights'', + ''('', split(parameters(''workspaceResourceId''),''/'')[8], '')'')]", "properties": + {"workspaceResourceId": "[parameters(''workspaceResourceId'')]"}, "plan": {"name": + "[Concat(''ContainerInsights'', ''('', split(parameters(''workspaceResourceId''),''/'')[8], + '')'')]", "product": "[Concat(''OMSGallery/'', ''ContainerInsights'')]", "promotionCode": + "", "publisher": "Microsoft"}}]}, "parameters": {}}}]}, "parameters": {"workspaceResourceId": + {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"}, + "workspaceRegion": {"value": "westus2"}, "solutionDeploymentName": {"value": + "ContainerInsights-1638367935293"}}, "mode": "incremental"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1956' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/aks-monitoring-1638367935293","name":"aks-monitoring-1638367935293","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7932017758444010137","parameters":{"workspaceResourceId":{"type":"String","value":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"workspaceRegion":{"type":"String","value":"westus2"},"solutionDeploymentName":{"type":"String","value":"ContainerInsights-1638367935293"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-12-01T14:12:16.4120608Z","duration":"PT0.712723S","correlationId":"a54fff25-22ec-43fb-a73d-eae713a2f916","providers":[{"namespace":"Microsoft.Resources","resourceTypes":[{"resourceType":"deployments","locations":[null]}]}],"dependencies":[]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/aks-monitoring-1638367935293/operationStatuses/08585632389497782760?api-version=2021-04-01 + cache-control: + - no-cache + content-length: + - '1021' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:12:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestck44wqgfa-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"enabled": true, "config": + {"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "useAADAuth": "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"}, "disableLocalAccounts": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '2053' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestck44wqgfa-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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/20bedcff-1566-4073-b2cf-35fb38d06aae?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3609' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12:21 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: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585632389497782760?api-version=2021-04-01 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:12:46 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 + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/aks-monitoring-1638367935293","name":"aks-monitoring-1638367935293","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7932017758444010137","parameters":{"workspaceResourceId":{"type":"String","value":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"workspaceRegion":{"type":"String","value":"westus2"},"solutionDeploymentName":{"type":"String","value":"ContainerInsights-1638367935293"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-12-01T14:12:33.9527031Z","duration":"PT18.2533653S","correlationId":"a54fff25-22ec-43fb-a73d-eae713a2f916","providers":[{"namespace":"Microsoft.Resources","resourceTypes":[{"resourceType":"deployments","locations":[null]}]}],"dependencies":[],"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.OperationsManagement/solutions/ContainerInsights(defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2)"}]}}' + headers: + cache-control: + - no-cache + content-length: + - '1275' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:12:46 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 + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/20bedcff-1566-4073-b2cf-35fb38d06aae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ffdcbe20-6615-7340-b2cf-35fb38d06aae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:21.1933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/20bedcff-1566-4073-b2cf-35fb38d06aae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ffdcbe20-6615-7340-b2cf-35fb38d06aae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:21.1933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/20bedcff-1566-4073-b2cf-35fb38d06aae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ffdcbe20-6615-7340-b2cf-35fb38d06aae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:21.1933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/20bedcff-1566-4073-b2cf-35fb38d06aae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ffdcbe20-6615-7340-b2cf-35fb38d06aae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:21.1933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/20bedcff-1566-4073-b2cf-35fb38d06aae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ffdcbe20-6615-7340-b2cf-35fb38d06aae\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:21.1933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/20bedcff-1566-4073-b2cf-35fb38d06aae?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ffdcbe20-6615-7340-b2cf-35fb38d06aae\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:12:21.1933333Z\",\n \"endTime\": + \"2021-12-01T14:14:57.82381Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '168' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestck44wqgfa-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"False\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/274c515a-cbca-4ed2-83ec-46b9736859c7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4635' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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 create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables + publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2021-11-11T20:13:44.2828715Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + headers: + cache-control: + - no-cache + content-length: + - '776' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:15:23 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/3913510d-42f4-4e42-8a64-420c390055eb", + "principalId":"00000000-0000-0000-0000-000000000001"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-addons + --node-count --ssh-key-value + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleAssignments/1f4162d5-ddfe-410a-a672-1346856dcf36?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:15:24.1195761Z","updatedOn":"2021-12-01T14:15:24.4008752Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/1f4162d5-ddfe-410a-a672-1346856dcf36","type":"Microsoft.Authorization/roleAssignments","name":"1f4162d5-ddfe-410a-a672-1346856dcf36"}' + headers: + cache-control: + - no-cache + content-length: + - '1029' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:15:26 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d800e8e1-0000-0800-0000-61a781d10000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:15:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestck44wqgfa-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"False\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/274c515a-cbca-4ed2-83ec-46b9736859c7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4635' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitestck44wqgfa-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"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/274c515a-cbca-4ed2-83ec-46b9736859c7"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '2725' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestck44wqgfa-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/274c515a-cbca-4ed2-83ec-46b9736859c7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/554e1d93-5f8b-4662-9e43-c6b3cd9cac08?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3992' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/554e1d93-5f8b-4662-9e43-c6b3cd9cac08?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"931d4e55-8b5f-6246-9e43-c6b3cd9cac08\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:15:30.8066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/554e1d93-5f8b-4662-9e43-c6b3cd9cac08?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"931d4e55-8b5f-6246-9e43-c6b3cd9cac08\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:15:30.8066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/554e1d93-5f8b-4662-9e43-c6b3cd9cac08?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"931d4e55-8b5f-6246-9e43-c6b3cd9cac08\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:15:30.8066666Z\",\n \"endTime\": + \"2021-12-01T14:16:45.2216803Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestck44wqgfa-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestck44wqgfa-8ecadf-d171cfdf.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/274c515a-cbca-4ed2-83ec-46b9736859c7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '3994' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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: 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: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6997090-1c40-4990-ae30-d37f961ccdb9?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:17:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/e6997090-1c40-4990-ae30-d37f961ccdb9?api-version=2016-03-30 + 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_create_with_network_plugin_none.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_network_plugin_none.yaml new file mode 100644 index 00000000000..7ee31b4b7e6 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_network_plugin_none.yaml @@ -0,0 +1,712 @@ +interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest4lj6ceu2j-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJjZSgmQbO+3p9iGhxgy6d1c/TszedUmiHvDgFZgZcp7KMhP8xZspw/0Q0rP/6vcoWPb4qysTLIzX3kr/L752/j+DEE5A+N80r7sm5/6qmeLyT5guyFOCO4YydKddTlTxaizHZo1+P/wcS57NHvpon9vx08TiJXnxvzRTAlaJcsg+fvgLywa7IxyQ8zdMZub8oYlMS23BNoY92EOhD4ppmqpWuUYG/QG9UM70TYt5td9BmJlo0ZHGZNt1FLhhEug87M0F7KEkqTN8KxyGJJJ0AfS4VGg0+6+xRz00aywV6VBClLZpjiavgQrZVqqduXhSkJbWsKDx6dKbZgG49tK6x + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, + "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "none", + "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1292' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliakstest-clitest4lj6ceu2j-8ecadf\",\n \"fqdn\": \"cliakstest-clitest4lj6ceu2j-8ecadf-3e106360.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest4lj6ceu2j-8ecadf-3e106360.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 250,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDJjZSgmQbO+3p9iGhxgy6d1c/TszedUmiHvDgFZgZcp7KMhP8xZspw/0Q0rP/6vcoWPb4qysTLIzX3kr/L752/j+DEE5A+N80r7sm5/6qmeLyT5guyFOCO4YydKddTlTxaizHZo1+P/wcS57NHvpon9vx08TiJXnxvzRTAlaJcsg+fvgLywa7IxyQ8zdMZub8oYlMS23BNoY92EOhD4ppmqpWuUYG/QG9UM70TYt5td9BmJlo0ZHGZNt1FLhhEug87M0F7KEkqTN8KxyGJJJ0AfS4VGg0+6+xRz00aywV6VBClLZpjiavgQrZVqqduXhSkJbWsKDx6dKbZgG49tK6x + azcli_aks_live_test@example.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\": + \"none\",\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 \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2943' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:06:04 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08: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 +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08: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 +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:09: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:10: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:10: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:11: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/43e06db4-725b-452c-8dc1-efd4f8a75307?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b46de043-5b72-2c45-8dc1-efd4f8a75307\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-16T08:06:04.0466666Z\",\n \"endTime\": + \"2022-02-16T08:11:15.7909262Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:11: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --network-plugin --location --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliakstest-clitest4lj6ceu2j-8ecadf\",\n \"fqdn\": \"cliakstest-clitest4lj6ceu2j-8ecadf-3e106360.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest4lj6ceu2j-8ecadf-3e106360.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 250,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.01\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDJjZSgmQbO+3p9iGhxgy6d1c/TszedUmiHvDgFZgZcp7KMhP8xZspw/0Q0rP/6vcoWPb4qysTLIzX3kr/L752/j+DEE5A+N80r7sm5/6qmeLyT5guyFOCO4YydKddTlTxaizHZo1+P/wcS57NHvpon9vx08TiJXnxvzRTAlaJcsg+fvgLywa7IxyQ8zdMZub8oYlMS23BNoY92EOhD4ppmqpWuUYG/QG9UM70TYt5td9BmJlo0ZHGZNt1FLhhEug87M0F7KEkqTN8KxyGJJJ0AfS4VGg0+6+xRz00aywV6VBClLZpjiavgQrZVqqduXhSkJbWsKDx6dKbZgG49tK6x + azcli_aks_live_test@example.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\": + \"none\",\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/e0479c9f-ffe6-461b-9b39-aa82628b2348\"\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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3596' + content-type: + - application/json + date: + - Wed, 16 Feb 2022 08:11: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 +version: 1 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 old mode 100755 new mode 100644 index 5a9280b1d09..ec3d80ecfcb --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:39:46Z"},"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":"2022-02-11T07:45:17Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:39:47 GMT + - Fri, 11 Feb 2022 07:45:16 GMT expires: - '-1' pragma: @@ -44,20 +44,20 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestgrksfxrna-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestqr35et2y5-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "kubeletConfig": {"cpuManagerPolicy": "static", - "cpuCfsQuota": true, "cpuCfsQuotaPeriod": "200ms", "imageGcHighThreshold": 90, - "imageGcLowThreshold": 70, "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "kubeletConfig": {"cpuManagerPolicy": + "static", "cpuCfsQuota": true, "cpuCfsQuotaPeriod": "200ms", "imageGcHighThreshold": + 90, "imageGcLowThreshold": 70, "topologyManagerPolicy": "best-effort", "allowedUnsafeSysctls": ["kernel.msg*", "net.*"], "failSwapOn": false, "containerLogMaxSizeMB": 20, "containerLogMaxFiles": 10, "podMaxPids": 120}, "linuxOSConfig": {"sysctls": {"netCoreSomaxconn": 163849, "netIpv4TcpTwReuse": true, "netIpv4IpLocalPortRange": "32000 60000"}, "transparentHugePageEnabled": "madvise", "transparentHugePageDefrag": "defer+madvise", "swapFileSizeMB": 1500}, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -75,48 +75,49 @@ interactions: Connection: - keep-alive Content-Length: - - '1973' + - '2001' Content-Type: - application/json ParameterSetName: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgrksfxrna-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestgrksfxrna-8ecadf-047a9a87.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgrksfxrna-8ecadf-047a9a87.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestqr35et2y5-8ecadf\",\n \"fqdn\": \"cliakstest-clitestqr35et2y5-8ecadf-b057d85a.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestqr35et2y5-8ecadf-b057d85a.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": - \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n - \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n - \ \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\": - [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": - false,\n \"containerLogMaxSizeMB\": 20,\n \"containerLogMaxFiles\": - 10,\n \"podMaxPids\": 120\n },\n \"linuxOSConfig\": {\n \"sysctls\": - {\n \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": true,\n - \ \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\": - \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"kubeletConfig\": {\n \"cpuManagerPolicy\": \"static\",\n \"cpuCfsQuota\": + true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n \"imageGcHighThreshold\": + 90,\n \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\": + \"best-effort\",\n \"allowedUnsafeSysctls\": [\n \"kernel.msg*\",\n + \ \"net.*\"\n ],\n \"failSwapOn\": false,\n \"containerLogMaxSizeMB\": + 20,\n \"containerLogMaxFiles\": 10,\n \"podMaxPids\": 120\n },\n + \ \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\": + 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\": + \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\",\n + \ \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -125,22 +126,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/fbd6391d-988a-4f88-9d77-e8519b16cbe3?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3525' + - '3771' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:52 GMT + - Fri, 11 Feb 2022 07:45:20 GMT expires: - '-1' pragma: @@ -152,7 +155,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1192' status: code: 201 message: Created @@ -173,23 +176,23 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fbd6391d-988a-4f88-9d77-e8519b16cbe3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d39d6fb-8a98-884f-9d77-e8519b16cbe3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3766666Z\"\n }" + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:23 GMT + - Fri, 11 Feb 2022 07:45:50 GMT expires: - '-1' pragma: @@ -224,23 +227,23 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fbd6391d-988a-4f88-9d77-e8519b16cbe3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d39d6fb-8a98-884f-9d77-e8519b16cbe3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3766666Z\"\n }" + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:53 GMT + - Fri, 11 Feb 2022 07:46:20 GMT expires: - '-1' pragma: @@ -275,23 +278,23 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fbd6391d-988a-4f88-9d77-e8519b16cbe3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d39d6fb-8a98-884f-9d77-e8519b16cbe3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3766666Z\"\n }" + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:22 GMT + - Fri, 11 Feb 2022 07:46:50 GMT expires: - '-1' pragma: @@ -326,23 +329,23 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fbd6391d-988a-4f88-9d77-e8519b16cbe3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d39d6fb-8a98-884f-9d77-e8519b16cbe3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3766666Z\"\n }" + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:53 GMT + - Fri, 11 Feb 2022 07:47:20 GMT expires: - '-1' pragma: @@ -377,23 +380,23 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fbd6391d-988a-4f88-9d77-e8519b16cbe3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d39d6fb-8a98-884f-9d77-e8519b16cbe3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3766666Z\"\n }" + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:22 GMT + - Fri, 11 Feb 2022 07:47:50 GMT expires: - '-1' pragma: @@ -428,23 +431,23 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fbd6391d-988a-4f88-9d77-e8519b16cbe3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d39d6fb-8a98-884f-9d77-e8519b16cbe3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:52.3766666Z\"\n }" + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:53 GMT + - Fri, 11 Feb 2022 07:48:21 GMT expires: - '-1' pragma: @@ -479,24 +482,126 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fbd6391d-988a-4f88-9d77-e8519b16cbe3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1d39d6fb-8a98-884f-9d77-e8519b16cbe3\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:39:52.3766666Z\",\n \"endTime\": - \"2021-10-19T06:43:06.0933288Z\"\n }" + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:48: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/CustomNodeConfigPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:49: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/CustomNodeConfigPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6c89391-6b69-4c26-b6e7-ea28415a7f10?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9193c8c6-696b-264c-b6e7-ea28415a7f10\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:45:20.5Z\",\n \"endTime\": + \"2022-02-11T07:49:33.9799697Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:23 GMT + - Fri, 11 Feb 2022 07:49:50 GMT expires: - '-1' pragma: @@ -531,67 +636,71 @@ interactions: - --resource-group --name --kubelet-config --linux-os-config --aks-custom-headers --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgrksfxrna-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestgrksfxrna-8ecadf-047a9a87.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgrksfxrna-8ecadf-047a9a87.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestqr35et2y5-8ecadf\",\n \"fqdn\": \"cliakstest-clitestqr35et2y5-8ecadf-b057d85a.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestqr35et2y5-8ecadf-b057d85a.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": - \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n - \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n - \ \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\": - [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": - false,\n \"containerLogMaxSizeMB\": 20,\n \"containerLogMaxFiles\": - 10,\n \"podMaxPids\": 120\n },\n \"linuxOSConfig\": {\n \"sysctls\": - {\n \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": true,\n - \ \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\": - \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"kubeletConfig\": {\n \"cpuManagerPolicy\": \"static\",\n \"cpuCfsQuota\": + true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n \"imageGcHighThreshold\": + 90,\n \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\": + \"best-effort\",\n \"allowedUnsafeSysctls\": [\n \"kernel.msg*\",\n + \ \"net.*\"\n ],\n \"failSwapOn\": false,\n \"containerLogMaxSizeMB\": + 20,\n \"containerLogMaxFiles\": 10,\n \"podMaxPids\": 120\n },\n + \ \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\": + 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\": + \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\",\n + \ \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/fa3765d2-a7d6-44d5-b017-2681f98aeb77\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/514b7171-40d4-40d6-8d87-45c4c79a9305\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4188' + - '4424' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:23 GMT + - Fri, 11 Feb 2022 07:49:50 GMT expires: - '-1' pragma: @@ -624,10 +733,10 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool1\",\n @@ -635,32 +744,32 @@ interactions: \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"kubeletConfig\": {\n \"cpuManagerPolicy\": \"static\",\n \"cpuCfsQuota\": - true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n \"imageGcHighThreshold\": - 90,\n \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\": - \"best-effort\",\n \"allowedUnsafeSysctls\": [\n \"kernel.msg*\",\n - \ \"net.*\"\n ],\n \"failSwapOn\": false,\n \"containerLogMaxSizeMB\": - 20,\n \"containerLogMaxFiles\": 10,\n \"podMaxPids\": 120\n },\n - \ \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\": - 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\": - \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\",\n - \ \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": + \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n + \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n + \ \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\": + [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": + false,\n \"containerLogMaxSizeMB\": 20,\n \"containerLogMaxFiles\": + 10,\n \"podMaxPids\": 120\n },\n \"linuxOSConfig\": {\n \"sysctls\": + {\n \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": true,\n + \ \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\": + \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '1721' + - '1750' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:24 GMT + - Fri, 11 Feb 2022 07:49:51 GMT expires: - '-1' pragma: @@ -710,10 +819,10 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2\",\n @@ -723,31 +832,32 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": - \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n - \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\": - \"best-effort\",\n \"allowedUnsafeSysctls\": [\n \"kernel.msg*\",\n - \ \"net.*\"\n ],\n \"failSwapOn\": false,\n \"containerLogMaxSizeMB\": - 20,\n \"containerLogMaxFiles\": 10,\n \"podMaxPids\": 120\n },\n \"linuxOSConfig\": - {\n \"sysctls\": {\n \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": - true,\n \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\": - \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"kubeletConfig\": + {\n \"cpuManagerPolicy\": \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": + \"200ms\",\n \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": + 70,\n \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\": + [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": false,\n + \ \"containerLogMaxSizeMB\": 20,\n \"containerLogMaxFiles\": 10,\n \"podMaxPids\": + 120\n },\n \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\": + 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\": + \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\",\n + \ \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"upgradeSettings\": {},\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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/33c2a9d5-4220-4b41-91fd-49dc979fd5dc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae7d99a5-3fc6-4b1b-a1e5-cba2c2673ff5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '1643' + - '1671' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:26 GMT + - Fri, 11 Feb 2022 07:49:53 GMT expires: - '-1' pragma: @@ -759,7 +869,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1189' status: code: 201 message: Created @@ -780,14 +890,14 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/33c2a9d5-4220-4b41-91fd-49dc979fd5dc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae7d99a5-3fc6-4b1b-a1e5-cba2c2673ff5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5a9c233-2042-414b-91fd-49dc979fd5dc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:27.1366666Z\"\n }" + string: "{\n \"name\": \"a5997dae-c63f-1b4b-a1e5-cba2c2673ff5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:54.4133333Z\"\n }" headers: cache-control: - no-cache @@ -796,7 +906,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:57 GMT + - Fri, 11 Feb 2022 07:50:23 GMT expires: - '-1' pragma: @@ -831,14 +941,14 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/33c2a9d5-4220-4b41-91fd-49dc979fd5dc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae7d99a5-3fc6-4b1b-a1e5-cba2c2673ff5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5a9c233-2042-414b-91fd-49dc979fd5dc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:27.1366666Z\"\n }" + string: "{\n \"name\": \"a5997dae-c63f-1b4b-a1e5-cba2c2673ff5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:54.4133333Z\"\n }" headers: cache-control: - no-cache @@ -847,7 +957,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:26 GMT + - Fri, 11 Feb 2022 07:50:54 GMT expires: - '-1' pragma: @@ -882,14 +992,14 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/33c2a9d5-4220-4b41-91fd-49dc979fd5dc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae7d99a5-3fc6-4b1b-a1e5-cba2c2673ff5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5a9c233-2042-414b-91fd-49dc979fd5dc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:27.1366666Z\"\n }" + string: "{\n \"name\": \"a5997dae-c63f-1b4b-a1e5-cba2c2673ff5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:54.4133333Z\"\n }" headers: cache-control: - no-cache @@ -898,7 +1008,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:56 GMT + - Fri, 11 Feb 2022 07:51:24 GMT expires: - '-1' pragma: @@ -933,14 +1043,14 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/33c2a9d5-4220-4b41-91fd-49dc979fd5dc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae7d99a5-3fc6-4b1b-a1e5-cba2c2673ff5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5a9c233-2042-414b-91fd-49dc979fd5dc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:27.1366666Z\"\n }" + string: "{\n \"name\": \"a5997dae-c63f-1b4b-a1e5-cba2c2673ff5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:54.4133333Z\"\n }" headers: cache-control: - no-cache @@ -949,7 +1059,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:27 GMT + - Fri, 11 Feb 2022 07:51:54 GMT expires: - '-1' pragma: @@ -984,14 +1094,14 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/33c2a9d5-4220-4b41-91fd-49dc979fd5dc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae7d99a5-3fc6-4b1b-a1e5-cba2c2673ff5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5a9c233-2042-414b-91fd-49dc979fd5dc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:27.1366666Z\"\n }" + string: "{\n \"name\": \"a5997dae-c63f-1b4b-a1e5-cba2c2673ff5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:54.4133333Z\"\n }" headers: cache-control: - no-cache @@ -1000,7 +1110,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:56 GMT + - Fri, 11 Feb 2022 07:52:24 GMT expires: - '-1' pragma: @@ -1035,14 +1145,14 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/33c2a9d5-4220-4b41-91fd-49dc979fd5dc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae7d99a5-3fc6-4b1b-a1e5-cba2c2673ff5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5a9c233-2042-414b-91fd-49dc979fd5dc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:43:27.1366666Z\"\n }" + string: "{\n \"name\": \"a5997dae-c63f-1b4b-a1e5-cba2c2673ff5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:54.4133333Z\"\n }" headers: cache-control: - no-cache @@ -1051,7 +1161,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:27 GMT + - Fri, 11 Feb 2022 07:52:54 GMT expires: - '-1' pragma: @@ -1086,15 +1196,15 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/33c2a9d5-4220-4b41-91fd-49dc979fd5dc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae7d99a5-3fc6-4b1b-a1e5-cba2c2673ff5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5a9c233-2042-414b-91fd-49dc979fd5dc\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:43:27.1366666Z\",\n \"endTime\": - \"2021-10-19T06:46:28.4113264Z\"\n }" + string: "{\n \"name\": \"a5997dae-c63f-1b4b-a1e5-cba2c2673ff5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:49:54.4133333Z\",\n \"endTime\": + \"2022-02-11T07:53:24.0957456Z\"\n }" headers: cache-control: - no-cache @@ -1103,7 +1213,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:57 GMT + - Fri, 11 Feb 2022 07:53:24 GMT expires: - '-1' pragma: @@ -1138,10 +1248,10 @@ interactions: - --resource-group --cluster-name --name --node-count --kubelet-config --linux-os-config --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2\",\n @@ -1151,29 +1261,30 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"kubeletConfig\": {\n \"cpuManagerPolicy\": - \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": \"200ms\",\n - \ \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": 70,\n \"topologyManagerPolicy\": - \"best-effort\",\n \"allowedUnsafeSysctls\": [\n \"kernel.msg*\",\n - \ \"net.*\"\n ],\n \"failSwapOn\": false,\n \"containerLogMaxSizeMB\": - 20,\n \"containerLogMaxFiles\": 10,\n \"podMaxPids\": 120\n },\n \"linuxOSConfig\": - {\n \"sysctls\": {\n \"netCoreSomaxconn\": 163849,\n \"netIpv4TcpTwReuse\": - true,\n \"netIpv4IpLocalPortRange\": \"32000 60000\"\n },\n \"transparentHugePageEnabled\": - \"madvise\",\n \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"kubeletConfig\": + {\n \"cpuManagerPolicy\": \"static\",\n \"cpuCfsQuota\": true,\n \"cpuCfsQuotaPeriod\": + \"200ms\",\n \"imageGcHighThreshold\": 90,\n \"imageGcLowThreshold\": + 70,\n \"topologyManagerPolicy\": \"best-effort\",\n \"allowedUnsafeSysctls\": + [\n \"kernel.msg*\",\n \"net.*\"\n ],\n \"failSwapOn\": false,\n + \ \"containerLogMaxSizeMB\": 20,\n \"containerLogMaxFiles\": 10,\n \"podMaxPids\": + 120\n },\n \"linuxOSConfig\": {\n \"sysctls\": {\n \"netCoreSomaxconn\": + 163849,\n \"netIpv4TcpTwReuse\": true,\n \"netIpv4IpLocalPortRange\": + \"32000 60000\"\n },\n \"transparentHugePageEnabled\": \"madvise\",\n + \ \"transparentHugePageDefrag\": \"defer+madvise\",\n \"swapFileSizeMB\": 1500\n },\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"upgradeSettings\": {},\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '1644' + - '1672' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:57 GMT + - Fri, 11 Feb 2022 07:53:24 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_oidc_issuer_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_oidc_issuer_enabled.yaml new file mode 100644 index 00000000000..6d6125fd1d3 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_oidc_issuer_enabled.yaml @@ -0,0 +1,630 @@ +interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest6nvammlwp-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "oidcIssuerProfile": + {"enabled": 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"}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1459' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest6nvammlwp-8ecadf\",\n \"fqdn\": \"cliakstest-clitest6nvammlwp-8ecadf-2c3d565c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest6nvammlwp-8ecadf-2c3d565c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": true,\n \"issuerURL\": \"https://oidc.prod-aks.azure.com/f80177af-caa8-453d-bac5-9f533594c052/\"\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/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3113' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:45:05 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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:45: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:46: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:46: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:47: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:47: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:48: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:48: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bdcdb3d5-419c-4817-825c-0ce7949a1df7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d5b3cdbd-9c41-1748-825c-0ce7949a1df7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:45:05.6233333Z\",\n \"endTime\": + \"2022-02-11T07:49:32.9515046Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:49: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-oidc-issuer + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest6nvammlwp-8ecadf\",\n \"fqdn\": \"cliakstest-clitest6nvammlwp-8ecadf-2c3d565c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest6nvammlwp-8ecadf-2c3d565c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/aa5b4518-0f2b-43bd-b40e-2d47379c80a8\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": true,\n \"issuerURL\": \"https://oidc.prod-aks.azure.com/f80177af-caa8-453d-bac5-9f533594c052/\"\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: + - '3766' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:49: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 +version: 1 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 old mode 100755 new mode 100644 index 7446b2465d9..b429ae57e0a --- 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 @@ -11,23 +11,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:36:09Z"},"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":"2022-02-11T07:46:50Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:36:09 GMT + - Fri, 11 Feb 2022 07:46:49 GMT expires: - '-1' pragma: @@ -43,13 +44,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestzpvxwhghd-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest2nqej2ib5-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": true, "config": {}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", @@ -57,6 +59,8 @@ interactions: "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": false}}' headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh Accept: - application/json Accept-Encoding: @@ -66,62 +70,66 @@ interactions: Connection: - keep-alive Content-Length: - - '1441' + - '1469' Content-Type: - application/json ParameterSetName: - - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestzpvxwhghd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestzpvxwhghd-8ecadf-bfaed0ed.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestzpvxwhghd-8ecadf-bfaed0ed.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2nqej2ib5-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2nqej2ib5-8ecadf-9a07db25.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2nqej2ib5-8ecadf-9a07db25.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\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\": - 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/9d025525-9540-4dc0-a030-298493edfa55?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2877' + - '3125' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:14 GMT + - Fri, 11 Feb 2022 07:46:53 GMT expires: - '-1' pragma: @@ -133,13 +141,15 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1193' status: code: 201 message: Created - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh Accept: - '*/*' Accept-Encoding: @@ -149,25 +159,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9d025525-9540-4dc0-a030-298493edfa55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2555029d-4095-c04d-a030-298493edfa55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.2Z\"\n }" + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:43 GMT + - Fri, 11 Feb 2022 07:47:23 GMT expires: - '-1' pragma: @@ -188,6 +199,8 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh Accept: - '*/*' Accept-Encoding: @@ -197,25 +210,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9d025525-9540-4dc0-a030-298493edfa55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2555029d-4095-c04d-a030-298493edfa55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.2Z\"\n }" + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:13 GMT + - Fri, 11 Feb 2022 07:47:54 GMT expires: - '-1' pragma: @@ -236,6 +250,8 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh Accept: - '*/*' Accept-Encoding: @@ -245,25 +261,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9d025525-9540-4dc0-a030-298493edfa55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2555029d-4095-c04d-a030-298493edfa55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.2Z\"\n }" + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:43 GMT + - Fri, 11 Feb 2022 07:48:24 GMT expires: - '-1' pragma: @@ -284,6 +301,8 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh Accept: - '*/*' Accept-Encoding: @@ -293,25 +312,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9d025525-9540-4dc0-a030-298493edfa55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2555029d-4095-c04d-a030-298493edfa55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:14.2Z\"\n }" + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:14 GMT + - Fri, 11 Feb 2022 07:48:54 GMT expires: - '-1' pragma: @@ -332,6 +352,8 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh Accept: - '*/*' Accept-Encoding: @@ -341,26 +363,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9d025525-9540-4dc0-a030-298493edfa55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2555029d-4095-c04d-a030-298493edfa55\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:36:14.2Z\",\n \"endTime\": - \"2021-10-19T06:38:44.5384386Z\"\n }" + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:44 GMT + - Fri, 11 Feb 2022 07:49:24 GMT expires: - '-1' pragma: @@ -381,6 +403,8 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh Accept: - '*/*' Accept-Encoding: @@ -390,62 +414,323 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:49: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:50: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:50: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:51: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3faf8cb2-2dfc-42ad-accf-6be25a538417?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b28caf3f-fc2d-ad42-accf-6be25a538417\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:46:54.4933333Z\",\n \"endTime\": + \"2022-02-11T07:51:43.7402895Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:51: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-OpenServiceMesh + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --aks-custom-headers -a + --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestzpvxwhghd-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestzpvxwhghd-8ecadf-bfaed0ed.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestzpvxwhghd-8ecadf-bfaed0ed.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2nqej2ib5-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2nqej2ib5-8ecadf-9a07db25.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2nqej2ib5-8ecadf-9a07db25.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/5cfbe933-f225-4929-abb5-c525acd3944a\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/2706a742-64a4-438c-a782-234372c16100\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:44 GMT + - Fri, 11 Feb 2022 07:51:55 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 8a5c2be3763..eaf7dbf5497 --- 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 @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:42: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":"2022-02-11T09:31:54Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:42:29 GMT + - Fri, 11 Feb 2022 09:31:54 GMT expires: - '-1' pragma: @@ -43,14 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestfl2domx52-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest2t75pclt6-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "osSKU": "CBLMariner", "type": "VirtualMachineScaleSets", - "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", - "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "osSKU": "CBLMariner", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDK+CL+hzVlR9VmryHdEEXnnRZBrDfyKyW0TJmYrPnyaM4ZDf8uMCpddt3X+qk0Im4kuFnVVVll1RKQe4yA2wqjF3pEOY6jtiEOB2IOM/EicqkkwZAW20EJkCHi5fkW8cdkBFN/uH8l/zoPNuyV3ZJxbiV2Jj2oqY2g8x+qC3u2Jb5NctTRaW5M0nrEgm4M3EPy+VdJirs49RBR+9VLMX/l1CPh089f1PKNf32mI7JVmCgA3CiLfDB3B9SejdcQpqPnv8JLQgXAjBAHd8m4F+A59tV0Fc0sQJ5SnzIaeIC+qJ/ZwMF18niFu++rVkCfbqPjL861RQqvAhr6In2f5GyN azcli_aks_live_test@example.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", @@ -66,37 +66,37 @@ interactions: Connection: - keep-alive Content-Length: - - '1414' + - '1442' Content-Type: - application/json ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestfl2domx52-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestfl2domx52-8ecadf-6350e151.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestfl2domx52-8ecadf-6350e151.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2t75pclt6-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2t75pclt6-8ecadf-7b18773a.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2t75pclt6-8ecadf-7b18773a.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": + \"AKSCBLMariner-V1-2022.01.24\",\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDK+CL+hzVlR9VmryHdEEXnnRZBrDfyKyW0TJmYrPnyaM4ZDf8uMCpddt3X+qk0Im4kuFnVVVll1RKQe4yA2wqjF3pEOY6jtiEOB2IOM/EicqkkwZAW20EJkCHi5fkW8cdkBFN/uH8l/zoPNuyV3ZJxbiV2Jj2oqY2g8x+qC3u2Jb5NctTRaW5M0nrEgm4M3EPy+VdJirs49RBR+9VLMX/l1CPh089f1PKNf32mI7JVmCgA3CiLfDB3B9SejdcQpqPnv8JLQgXAjBAHd8m4F+A59tV0Fc0sQJ5SnzIaeIC+qJ/ZwMF18niFu++rVkCfbqPjL861RQqvAhr6In2f5GyN azcli_aks_live_test@example.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 @@ -105,22 +105,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/eada1c5f-c5b7-4509-bc3f-1aa555945dd6?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2770' + - '3016' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:31 GMT + - Fri, 11 Feb 2022 09:31:58 GMT expires: - '-1' pragma: @@ -132,7 +134,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -150,14 +152,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eada1c5f-c5b7-4509-bc3f-1aa555945dd6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f1cdaea-b7c5-0945-bc3f-1aa555945dd6\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:32.0233333Z\"\n }" + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" headers: cache-control: - no-cache @@ -166,7 +168,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:01 GMT + - Fri, 11 Feb 2022 09:32:29 GMT expires: - '-1' pragma: @@ -198,14 +200,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eada1c5f-c5b7-4509-bc3f-1aa555945dd6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f1cdaea-b7c5-0945-bc3f-1aa555945dd6\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:32.0233333Z\"\n }" + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" headers: cache-control: - no-cache @@ -214,7 +216,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:31 GMT + - Fri, 11 Feb 2022 09:32:59 GMT expires: - '-1' pragma: @@ -246,14 +248,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eada1c5f-c5b7-4509-bc3f-1aa555945dd6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f1cdaea-b7c5-0945-bc3f-1aa555945dd6\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:32.0233333Z\"\n }" + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" headers: cache-control: - no-cache @@ -262,7 +264,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:01 GMT + - Fri, 11 Feb 2022 09:33:29 GMT expires: - '-1' pragma: @@ -294,14 +296,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eada1c5f-c5b7-4509-bc3f-1aa555945dd6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f1cdaea-b7c5-0945-bc3f-1aa555945dd6\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:32.0233333Z\"\n }" + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" headers: cache-control: - no-cache @@ -310,7 +312,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:32 GMT + - Fri, 11 Feb 2022 09:33:59 GMT expires: - '-1' pragma: @@ -342,14 +344,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eada1c5f-c5b7-4509-bc3f-1aa555945dd6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f1cdaea-b7c5-0945-bc3f-1aa555945dd6\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:32.0233333Z\"\n }" + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" headers: cache-control: - no-cache @@ -358,7 +360,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:01 GMT + - Fri, 11 Feb 2022 09:34:29 GMT expires: - '-1' pragma: @@ -390,14 +392,14 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eada1c5f-c5b7-4509-bc3f-1aa555945dd6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f1cdaea-b7c5-0945-bc3f-1aa555945dd6\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:32.0233333Z\"\n }" + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +408,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:31 GMT + - Fri, 11 Feb 2022 09:35:00 GMT expires: - '-1' pragma: @@ -438,15 +440,159 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eada1c5f-c5b7-4509-bc3f-1aa555945dd6?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5f1cdaea-b7c5-0945-bc3f-1aa555945dd6\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:42:32.0233333Z\",\n \"endTime\": - \"2021-10-19T06:45:38.9608782Z\"\n }" + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:35:30 GMT + expires: + - '-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:36: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:36: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2f57cded-72ff-4513-ae67-57e4832c7260?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"edcd572f-ff72-1345-ae67-57e4832c7260\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T09:31:59.5566666Z\",\n \"endTime\": + \"2022-02-11T09:36:38.0663634Z\"\n }" headers: cache-control: - no-cache @@ -455,7 +601,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:02 GMT + - Fri, 11 Feb 2022 09:36:59 GMT expires: - '-1' pragma: @@ -487,57 +633,60 @@ interactions: ParameterSetName: - --resource-group --name --vm-set-type -c --os-sku --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestfl2domx52-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestfl2domx52-8ecadf-6350e151.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestfl2domx52-8ecadf-6350e151.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2t75pclt6-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2t75pclt6-8ecadf-7b18773a.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2t75pclt6-8ecadf-7b18773a.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": + \"AKSCBLMariner-V1-2022.01.24\",\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDK+CL+hzVlR9VmryHdEEXnnRZBrDfyKyW0TJmYrPnyaM4ZDf8uMCpddt3X+qk0Im4kuFnVVVll1RKQe4yA2wqjF3pEOY6jtiEOB2IOM/EicqkkwZAW20EJkCHi5fkW8cdkBFN/uH8l/zoPNuyV3ZJxbiV2Jj2oqY2g8x+qC3u2Jb5NctTRaW5M0nrEgm4M3EPy+VdJirs49RBR+9VLMX/l1CPh089f1PKNf32mI7JVmCgA3CiLfDB3B9SejdcQpqPnv8JLQgXAjBAHd8m4F+A59tV0Fc0sQJ5SnzIaeIC+qJ/ZwMF18niFu++rVkCfbqPjL861RQqvAhr6In2f5GyN azcli_aks_live_test@example.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/630c239c-a69f-4803-bb60-f6e3c1e8fe50\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/edc58169-e798-4aa2-985d-87fffa824b3e\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3433' + - '3669' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:02 GMT + - Fri, 11 Feb 2022 09:37:00 GMT expires: - '-1' pragma: @@ -571,26 +720,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a10cfca-c1f7-46f7-9ee3-b38c2d1c002a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d67dae6c-fff9-4b6c-8b87-c508deed804e?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 06:46:03 GMT + - Fri, 11 Feb 2022 09:37:02 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1a10cfca-c1f7-46f7-9ee3-b38c2d1c002a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d67dae6c-fff9-4b6c-8b87-c508deed804e?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 old mode 100755 new mode 100644 index 38dfe473c53..0c3f7d944d1 --- 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,6 +1,20 @@ interactions: - request: - body: null + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestalcnb6aec-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -10,31 +24,124 @@ interactions: - aks create Connection: - keep-alive + Content-Length: + - '1495' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"podIdentityProfile\": {\n \"enabled\": + true,\n \"allowNetworkPluginKubenet\": true\n },\n \"disableLocalAccounts\": + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3116' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:50:15 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: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive ParameterSetName: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 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-10-19T06:40:49Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '313' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 06:40:50 GMT + - Fri, 11 Feb 2022 07:50: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: @@ -43,87 +150,86 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest6vcwyfgnm-8ecadf", - "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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"}, - "disableLocalAccounts": false}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1467' - Content-Type: + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: - application/json + date: + - Fri, 11 Feb 2022 07:51: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive ParameterSetName: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?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\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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 - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/15519812-379d-4cef-96c3-ae22bb99d8a8?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2870' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:52 GMT + - Fri, 11 Feb 2022 07:51:45 GMT expires: - '-1' pragma: @@ -132,13 +238,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: @@ -154,23 +262,23 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/15519812-379d-4cef-96c3-ae22bb99d8a8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12985115-9d37-ef4c-96c3-ae22bb99d8a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:40:53.4333333Z\"\n }" + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:23 GMT + - Fri, 11 Feb 2022 07:52:14 GMT expires: - '-1' pragma: @@ -203,23 +311,23 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/15519812-379d-4cef-96c3-ae22bb99d8a8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12985115-9d37-ef4c-96c3-ae22bb99d8a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:40:53.4333333Z\"\n }" + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:53 GMT + - Fri, 11 Feb 2022 07:52:45 GMT expires: - '-1' pragma: @@ -252,23 +360,23 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/15519812-379d-4cef-96c3-ae22bb99d8a8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12985115-9d37-ef4c-96c3-ae22bb99d8a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:40:53.4333333Z\"\n }" + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:23 GMT + - Fri, 11 Feb 2022 07:53:15 GMT expires: - '-1' pragma: @@ -301,23 +409,23 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/15519812-379d-4cef-96c3-ae22bb99d8a8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12985115-9d37-ef4c-96c3-ae22bb99d8a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:40:53.4333333Z\"\n }" + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:52 GMT + - Fri, 11 Feb 2022 07:53:45 GMT expires: - '-1' pragma: @@ -350,23 +458,23 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/15519812-379d-4cef-96c3-ae22bb99d8a8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12985115-9d37-ef4c-96c3-ae22bb99d8a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:40:53.4333333Z\"\n }" + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:23 GMT + - Fri, 11 Feb 2022 07:54:15 GMT expires: - '-1' pragma: @@ -399,23 +507,23 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/15519812-379d-4cef-96c3-ae22bb99d8a8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12985115-9d37-ef4c-96c3-ae22bb99d8a8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:40:53.4333333Z\"\n }" + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:53 GMT + - Fri, 11 Feb 2022 07:54:45 GMT expires: - '-1' pragma: @@ -448,24 +556,24 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/15519812-379d-4cef-96c3-ae22bb99d8a8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/edafd682-2b20-4463-b0ef-dfa3c93c461b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"12985115-9d37-ef4c-96c3-ae22bb99d8a8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:40:53.4333333Z\",\n \"endTime\": - \"2021-10-19T06:44:20.6860694Z\"\n }" + string: "{\n \"name\": \"82d6afed-202b-6344-b0ef-dfa3c93c461b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:50:15.22Z\",\n \"endTime\": + \"2022-02-11T07:55:11.1350406Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:23 GMT + - Fri, 11 Feb 2022 07:55:15 GMT expires: - '-1' pragma: @@ -498,58 +606,62 @@ interactions: - --resource-group --name --location --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + true\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3533' + - '3769' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:23 GMT + - Fri, 11 Feb 2022 07:55:16 GMT expires: - '-1' pragma: @@ -581,58 +693,62 @@ interactions: ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + true\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3533' + - '3769' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:25 GMT + - Fri, 11 Feb 2022 07:55:16 GMT expires: - '-1' pragma: @@ -652,25 +768,26 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitest6vcwyfgnm-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestalcnb6aec-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -681,66 +798,69 @@ interactions: Connection: - keep-alive Content-Length: - - '2353' + - '2469' Content-Type: - application/json ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/e0277449-24cb-41fd-9c4a-cfad34ecef8a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99982409-9f0d-4039-a7f4-bb284552f845?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3468' + - '3704' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:27 GMT + - Fri, 11 Feb 2022 07:55:18 GMT expires: - '-1' pragma: @@ -756,7 +876,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1192' status: code: 200 message: OK @@ -774,23 +894,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e0277449-24cb-41fd-9c4a-cfad34ecef8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99982409-9f0d-4039-a7f4-bb284552f845?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"497427e0-cb24-fd41-9c4a-cfad34ecef8a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:44:27.5Z\"\n }" + string: "{\n \"name\": \"09249899-0d9f-3940-a7f4-bb284552f845\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:55:19.1133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:57 GMT + - Fri, 11 Feb 2022 07:55:48 GMT expires: - '-1' pragma: @@ -822,24 +942,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e0277449-24cb-41fd-9c4a-cfad34ecef8a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99982409-9f0d-4039-a7f4-bb284552f845?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"497427e0-cb24-fd41-9c4a-cfad34ecef8a\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:44:27.5Z\",\n \"endTime\": - \"2021-10-19T06:45:21.8030308Z\"\n }" + string: "{\n \"name\": \"09249899-0d9f-3940-a7f4-bb284552f845\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:55:19.1133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:27 GMT + - Fri, 11 Feb 2022 07:56:18 GMT expires: - '-1' pragma: @@ -871,58 +990,23 @@ interactions: ParameterSetName: - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99982409-9f0d-4039-a7f4-bb284552f845?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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\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\": \"09249899-0d9f-3940-a7f4-bb284552f845\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:55:19.1133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '3470' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:28 GMT + - Fri, 11 Feb 2022 07:56:49 GMT expires: - '-1' pragma: @@ -944,7 +1028,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -952,60 +1036,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + - --resource-group --name --disable-pod-identity User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99982409-9f0d-4039-a7f4-bb284552f845?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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\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 \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\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\": \"09249899-0d9f-3940-a7f4-bb284552f845\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:55:19.1133333Z\"\n }" headers: cache-control: - no-cache content-length: - - '3470' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:28 GMT + - Fri, 11 Feb 2022 07:57:19 GMT expires: - '-1' pragma: @@ -1024,27 +1073,249 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitest6vcwyfgnm-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6"}]}}, - "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-pod-identity + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/99982409-9f0d-4039-a7f4-bb284552f845?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"09249899-0d9f-3940-a7f4-bb284552f845\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:55:19.1133333Z\",\n \"endTime\": + \"2022-02-11T07:57:39.2020844Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --disable-pod-identity + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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: + - '3706' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57: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 update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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: + - '3706' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestalcnb6aec-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1055,66 +1326,70 @@ interactions: Connection: - keep-alive Content-Length: - - '2455' + - '2571' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + true\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/1c90829f-de45-46ca-b9e8-f6c2380df513?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/66f3b193-4d0a-452d-bece-f72e63c95ea8?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3531' + - '3767' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:31 GMT + - Fri, 11 Feb 2022 07:57:52 GMT expires: - '-1' pragma: @@ -1130,7 +1405,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1195' status: code: 200 message: OK @@ -1148,23 +1423,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1c90829f-de45-46ca-b9e8-f6c2380df513?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/66f3b193-4d0a-452d-bece-f72e63c95ea8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9f82901c-45de-ca46-b9e8-f6c2380df513\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:45:31.84Z\"\n }" + string: "{\n \"name\": \"93b1f366-0a4d-2d45-bece-f72e63c95ea8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:52.9366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:01 GMT + - Fri, 11 Feb 2022 07:58:23 GMT expires: - '-1' pragma: @@ -1196,24 +1471,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1c90829f-de45-46ca-b9e8-f6c2380df513?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/66f3b193-4d0a-452d-bece-f72e63c95ea8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9f82901c-45de-ca46-b9e8-f6c2380df513\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:45:31.84Z\",\n \"endTime\": - \"2021-10-19T06:46:25.1976633Z\"\n }" + string: "{\n \"name\": \"93b1f366-0a4d-2d45-bece-f72e63c95ea8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:52.9366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:31 GMT + - Fri, 11 Feb 2022 07:58:52 GMT expires: - '-1' pragma: @@ -1245,58 +1519,207 @@ interactions: ParameterSetName: - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/66f3b193-4d0a-452d-bece-f72e63c95ea8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"93b1f366-0a4d-2d45-bece-f72e63c95ea8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:52.9366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:59: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/66f3b193-4d0a-452d-bece-f72e63c95ea8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"93b1f366-0a4d-2d45-bece-f72e63c95ea8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:52.9366666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:59: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/66f3b193-4d0a-452d-bece-f72e63c95ea8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"93b1f366-0a4d-2d45-bece-f72e63c95ea8\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:57:52.9366666Z\",\n \"endTime\": + \"2022-02-11T08:00:10.8196993Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:00: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + true\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3533' + - '3769' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:31 GMT + - Fri, 11 Feb 2022 08:00:23 GMT expires: - '-1' pragma: @@ -1328,58 +1751,62 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + true\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3533' + - '3769' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:33 GMT + - Fri, 11 Feb 2022 08:00:24 GMT expires: - '-1' pragma: @@ -1399,27 +1826,29 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitest6vcwyfgnm-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestalcnb6aec-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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"}}]}, "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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "podLabels": {"foo": "bar"}}]}, "oidcIssuerProfile": {"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/a7b18aeb-0c76-4501-8922-1ea010043bb8"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1430,47 +1859,50 @@ interactions: Connection: - keep-alive Content-Length: - - '2536' + - '2677' Content-Type: - application/json ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 @@ -1478,21 +1910,119 @@ interactions: true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n },\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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/4f1d12f1-4ec3-4547-9742-218891a5a0e4?api-version=2016-03-30 + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3abbf20e-dc20-4f9b-9d58-9395e693e569?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3941' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1187' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3abbf20e-dc20-4f9b-9d58-9395e693e569?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0ef2bb3a-20dc-9b4f-9d58-9395e693e569\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:26.39Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3abbf20e-dc20-4f9b-9d58-9395e693e569?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0ef2bb3a-20dc-9b4f-9d58-9395e693e569\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:26.39Z\"\n }" + headers: cache-control: - no-cache content-length: - - '3705' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:35 GMT + - Fri, 11 Feb 2022 08:01:26 GMT expires: - '-1' pragma: @@ -1507,8 +2037,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1196' status: code: 200 message: OK @@ -1526,23 +2054,23 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f1d12f1-4ec3-4547-9742-218891a5a0e4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3abbf20e-dc20-4f9b-9d58-9395e693e569?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f1121d4f-c34e-4745-9742-218891a5a0e4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:35.5133333Z\"\n }" + string: "{\n \"name\": \"0ef2bb3a-20dc-9b4f-9d58-9395e693e569\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:26.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:05 GMT + - Fri, 11 Feb 2022 08:01:56 GMT expires: - '-1' pragma: @@ -1574,23 +2102,23 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f1d12f1-4ec3-4547-9742-218891a5a0e4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3abbf20e-dc20-4f9b-9d58-9395e693e569?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f1121d4f-c34e-4745-9742-218891a5a0e4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:35.5133333Z\"\n }" + string: "{\n \"name\": \"0ef2bb3a-20dc-9b4f-9d58-9395e693e569\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:26.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:35 GMT + - Fri, 11 Feb 2022 08:02:26 GMT expires: - '-1' pragma: @@ -1622,24 +2150,24 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f1d12f1-4ec3-4547-9742-218891a5a0e4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3abbf20e-dc20-4f9b-9d58-9395e693e569?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f1121d4f-c34e-4745-9742-218891a5a0e4\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:46:35.5133333Z\",\n \"endTime\": - \"2021-10-19T06:48:02.0790534Z\"\n }" + string: "{\n \"name\": \"0ef2bb3a-20dc-9b4f-9d58-9395e693e569\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:00:26.39Z\",\n \"endTime\": + \"2022-02-11T08:02:35.9616619Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:05 GMT + - Fri, 11 Feb 2022 08:02:56 GMT expires: - '-1' pragma: @@ -1671,41 +2199,44 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 @@ -1713,19 +2244,19 @@ interactions: true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n },\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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: - - '3707' + - '3943' content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:06 GMT + - Fri, 11 Feb 2022 08:02:56 GMT expires: - '-1' pragma: @@ -1757,41 +2288,44 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 @@ -1799,19 +2333,19 @@ interactions: true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n },\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + false,\n \"oidcIssuerProfile\": {\n \"enabled\": false\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: - - '3707' + - '3943' content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:06 GMT + - Fri, 11 Feb 2022 08:02:57 GMT expires: - '-1' pragma: @@ -1831,27 +2365,29 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitest6vcwyfgnm-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestalcnb6aec-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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": + "podLabels": {"foo": "bar", "a": "b"}}]}, "oidcIssuerProfile": {"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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6"}]}}, - "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/a7b18aeb-0c76-4501-8922-1ea010043bb8"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1862,47 +2398,50 @@ interactions: Connection: - keep-alive Content-Length: - - '2546' + - '2687' Content-Type: - application/json ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 @@ -1910,21 +2449,22 @@ interactions: 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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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/f72d69d5-e0a1-45dc-b712-16fd010105c0?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64a4f2f8-f190-44cc-b8b1-b86163556a71?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3722' + - '3958' content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:15 GMT + - Fri, 11 Feb 2022 08:02:59 GMT expires: - '-1' pragma: @@ -1940,7 +2480,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1187' status: code: 200 message: OK @@ -1958,23 +2498,23 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f72d69d5-e0a1-45dc-b712-16fd010105c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64a4f2f8-f190-44cc-b8b1-b86163556a71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5692df7-a1e0-dc45-b712-16fd010105c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:48:15.55Z\"\n }" + string: "{\n \"name\": \"f8f2a464-90f1-cc44-b8b1-b86163556a71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:03:00.0266666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:44 GMT + - Fri, 11 Feb 2022 08:03:29 GMT expires: - '-1' pragma: @@ -2006,24 +2546,168 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f72d69d5-e0a1-45dc-b712-16fd010105c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64a4f2f8-f190-44cc-b8b1-b86163556a71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5692df7-a1e0-dc45-b712-16fd010105c0\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:48:15.55Z\",\n \"endTime\": - \"2021-10-19T06:49:13.8053336Z\"\n }" + string: "{\n \"name\": \"f8f2a464-90f1-cc44-b8b1-b86163556a71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:03:00.0266666Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:04: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64a4f2f8-f190-44cc-b8b1-b86163556a71?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f8f2a464-90f1-cc44-b8b1-b86163556a71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:03:00.0266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:04:30 GMT + expires: + - '-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64a4f2f8-f190-44cc-b8b1-b86163556a71?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f8f2a464-90f1-cc44-b8b1-b86163556a71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:03:00.0266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:05: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception update + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/64a4f2f8-f190-44cc-b8b1-b86163556a71?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f8f2a464-90f1-cc44-b8b1-b86163556a71\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:03:00.0266666Z\",\n \"endTime\": + \"2022-02-11T08:05:30.4804826Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:15 GMT + - Fri, 11 Feb 2022 08:05:29 GMT expires: - '-1' pragma: @@ -2055,41 +2739,44 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 @@ -2097,19 +2784,20 @@ interactions: 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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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: - - '3724' + - '3960' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:16 GMT + - Fri, 11 Feb 2022 08:05:30 GMT expires: - '-1' pragma: @@ -2141,41 +2829,44 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 @@ -2183,19 +2874,20 @@ interactions: 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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n + \ \"enabled\": false\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: - - '3724' + - '3960' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:16 GMT + - Fri, 11 Feb 2022 08:05:31 GMT expires: - '-1' pragma: @@ -2215,26 +2907,28 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitest6vcwyfgnm-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestalcnb6aec-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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": + [], "userAssignedIdentityExceptions": []}, "oidcIssuerProfile": {"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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6"}]}}, - "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/a7b18aeb-0c76-4501-8922-1ea010043bb8"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -2245,66 +2939,70 @@ interactions: Connection: - keep-alive Content-Length: - - '2455' + - '2596' Content-Type: - application/json ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + true\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/4b054feb-79e6-4032-9b2f-c8debd2ebe6c?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc22e679-22bd-4aa6-80ff-b1cfe0288f32?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3531' + - '3767' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:19 GMT + - Fri, 11 Feb 2022 08:05:33 GMT expires: - '-1' pragma: @@ -2320,7 +3018,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1194' status: code: 200 message: OK @@ -2338,23 +3036,23 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4b054feb-79e6-4032-9b2f-c8debd2ebe6c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc22e679-22bd-4aa6-80ff-b1cfe0288f32?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"eb4f054b-e679-3240-9b2f-c8debd2ebe6c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:19.3866666Z\"\n }" + string: "{\n \"name\": \"79e622bc-bd22-a64a-80ff-b1cfe0288f32\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:05:34.01Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:49 GMT + - Fri, 11 Feb 2022 08:06:04 GMT expires: - '-1' pragma: @@ -2386,23 +3084,23 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4b054feb-79e6-4032-9b2f-c8debd2ebe6c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc22e679-22bd-4aa6-80ff-b1cfe0288f32?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"eb4f054b-e679-3240-9b2f-c8debd2ebe6c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:49:19.3866666Z\"\n }" + string: "{\n \"name\": \"79e622bc-bd22-a64a-80ff-b1cfe0288f32\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:05:34.01Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:18 GMT + - Fri, 11 Feb 2022 08:06:33 GMT expires: - '-1' pragma: @@ -2434,24 +3132,120 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4b054feb-79e6-4032-9b2f-c8debd2ebe6c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc22e679-22bd-4aa6-80ff-b1cfe0288f32?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"eb4f054b-e679-3240-9b2f-c8debd2ebe6c\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:49:19.3866666Z\",\n \"endTime\": - \"2021-10-19T06:50:21.4212326Z\"\n }" + string: "{\n \"name\": \"79e622bc-bd22-a64a-80ff-b1cfe0288f32\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:05:34.01Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc22e679-22bd-4aa6-80ff-b1cfe0288f32?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"79e622bc-bd22-a64a-80ff-b1cfe0288f32\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:05:34.01Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bc22e679-22bd-4aa6-80ff-b1cfe0288f32?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"79e622bc-bd22-a64a-80ff-b1cfe0288f32\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:05:34.01Z\",\n \"endTime\": + \"2022-02-11T08:07:50.0581908Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:49 GMT + - Fri, 11 Feb 2022 08:08:03 GMT expires: - '-1' pragma: @@ -2483,58 +3277,62 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vcwyfgnm-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest6vcwyfgnm-8ecadf-dfdd7af7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestalcnb6aec-8ecadf\",\n \"fqdn\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestalcnb6aec-8ecadf-31bec64c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/9f0526a4-a307-4ad8-9c3b-d9fc6d68d4e6\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/a7b18aeb-0c76-4501-8922-1ea010043bb8\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 }" + true\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3533' + - '3769' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:49 GMT + - Fri, 11 Feb 2022 08:08:04 GMT expires: - '-1' pragma: @@ -2568,26 +3366,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77a753c4-e109-477d-ac65-e0f8f13f2b25?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/48dfecce-c8cb-447a-90a7-fa5fc4a281ca?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 06:50:52 GMT + - Fri, 11 Feb 2022 08:08:05 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/77a753c4-e109-477d-ac65-e0f8f13f2b25?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/48dfecce-c8cb-447a-90a7-fa5fc4a281ca?api-version=2016-03-30 pragma: - no-cache server: @@ -2597,7 +3395,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14989' status: code: 202 message: Accepted 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 old mode 100755 new mode 100644 index 0a42b060dea..24f8bf3cb6a --- 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 @@ -13,12 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:16:48Z"},"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-12-01T14:16:13Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -27,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:16:50 GMT + - Wed, 01 Dec 2021 14:16:13 GMT expires: - '-1' pragma: @@ -62,21 +62,21 @@ interactions: ParameterSetName: - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"f8637e93-a580-4ba9-9447-72455ef53870\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"152c9db0-6f37-4102-85f4-8700a6df661f\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"5ddaba8b-5906-47f4-8a27-01831974b01c\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"72b90938-a685-4e28-baf4-c97ab7042785\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"f8637e93-a580-4ba9-9447-72455ef53870\\\"\",\r\n + \ \"etag\": \"W/\\\"152c9db0-6f37-4102-85f4-8700a6df661f\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -87,7 +87,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/dc30190c-0885-4647-8242-598f5e85b75e?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7d1eea45-2bf0-41b1-b23a-3378c7c80ae6?api-version=2021-05-01 cache-control: - no-cache content-length: @@ -95,7 +95,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:16:53 GMT + - Wed, 01 Dec 2021 14:16:18 GMT expires: - '-1' pragma: @@ -108,9 +108,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 857f7857-35b0-400c-9f60-0d92f29412a4 + - 9b3a0d40-77c5-458d-8cac-9816055c5896 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1194' status: code: 201 message: Created @@ -128,9 +128,9 @@ interactions: ParameterSetName: - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/dc30190c-0885-4647-8242-598f5e85b75e?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7d1eea45-2bf0-41b1-b23a-3378c7c80ae6?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -142,7 +142,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:16:56 GMT + - Wed, 01 Dec 2021 14:16:21 GMT expires: - '-1' pragma: @@ -159,7 +159,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 82472170-6912-4eff-bc01-3d60b181db2a + - 2336f678-bd60-4a99-8aed-b765fa1395a1 status: code: 200 message: OK @@ -177,21 +177,21 @@ interactions: ParameterSetName: - --resource-group --name --address-prefix --subnet-name --subnet-prefix -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"d8f6ac08-d534-4dc1-afd1-47cb9dcf2556\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"761b8c86-c85d-4b4c-bd3f-9dcdc736f3f6\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"5ddaba8b-5906-47f4-8a27-01831974b01c\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"72b90938-a685-4e28-baf4-c97ab7042785\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"d8f6ac08-d534-4dc1-afd1-47cb9dcf2556\\\"\",\r\n + \ \"etag\": \"W/\\\"761b8c86-c85d-4b4c-bd3f-9dcdc736f3f6\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -206,9 +206,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:16:56 GMT + - Wed, 01 Dec 2021 14:16:21 GMT etag: - - W/"d8f6ac08-d534-4dc1-afd1-47cb9dcf2556" + - W/"761b8c86-c85d-4b4c-bd3f-9dcdc736f3f6" expires: - '-1' pragma: @@ -225,7 +225,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eaf5396a-aeb4-4fd6-81a6-4cc01cdcc55b + - 015d51e8-3fdb-4b99-8fe2-68e8e0d51add status: code: 200 message: OK @@ -243,21 +243,21 @@ interactions: ParameterSetName: - -n --resource-group --vnet-name --address-prefixes -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"d8f6ac08-d534-4dc1-afd1-47cb9dcf2556\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"761b8c86-c85d-4b4c-bd3f-9dcdc736f3f6\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"5ddaba8b-5906-47f4-8a27-01831974b01c\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"72b90938-a685-4e28-baf4-c97ab7042785\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"d8f6ac08-d534-4dc1-afd1-47cb9dcf2556\\\"\",\r\n + \ \"etag\": \"W/\\\"761b8c86-c85d-4b4c-bd3f-9dcdc736f3f6\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"11.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -272,9 +272,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:16:57 GMT + - Wed, 01 Dec 2021 14:16:22 GMT etag: - - W/"d8f6ac08-d534-4dc1-afd1-47cb9dcf2556" + - W/"761b8c86-c85d-4b4c-bd3f-9dcdc736f3f6" expires: - '-1' pragma: @@ -291,7 +291,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d964970a-4a43-48d8-a38a-ab429a31834a + - 4ea2d6f9-19df-4fe6-92c8-39eaf5b45906 status: code: 200 message: OK @@ -321,28 +321,28 @@ interactions: ParameterSetName: - -n --resource-group --vnet-name --address-prefixes -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"7297e1c0-272f-48fb-a892-4597228de70d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"7c6e4b46-21b2-4128-a65b-65866b21b253\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"5ddaba8b-5906-47f4-8a27-01831974b01c\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"72b90938-a685-4e28-baf4-c97ab7042785\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"7297e1c0-272f-48fb-a892-4597228de70d\\\"\",\r\n + \ \"etag\": \"W/\\\"7c6e4b46-21b2-4128-a65b-65866b21b253\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"11.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 \"name\": \"aci-subnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aci-subnet\",\r\n - \ \"etag\": \"W/\\\"7297e1c0-272f-48fb-a892-4597228de70d\\\"\",\r\n + \ \"etag\": \"W/\\\"7c6e4b46-21b2-4128-a65b-65866b21b253\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"11.0.1.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -353,7 +353,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/5bedd629-c5af-430b-87d6-c84ab4177788?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7773d508-d0d3-4395-bbfb-7468e83e9b58?api-version=2021-05-01 cache-control: - no-cache content-length: @@ -361,7 +361,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:16:58 GMT + - Wed, 01 Dec 2021 14:16:23 GMT expires: - '-1' pragma: @@ -378,9 +378,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 53a744d8-705d-4cd8-957e-99e87770aeae + - 166129fa-c69e-4e3e-9d6d-c64b803f72da x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1193' status: code: 200 message: OK @@ -398,9 +398,9 @@ interactions: ParameterSetName: - -n --resource-group --vnet-name --address-prefixes -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/5bedd629-c5af-430b-87d6-c84ab4177788?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7773d508-d0d3-4395-bbfb-7468e83e9b58?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -412,7 +412,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:17:01 GMT + - Wed, 01 Dec 2021 14:16:26 GMT expires: - '-1' pragma: @@ -429,7 +429,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5293c285-d038-41bd-aea5-df6ab12da4c1 + - ae186dfe-5f57-49a0-902f-ecde505d1784 status: code: 200 message: OK @@ -447,28 +447,28 @@ interactions: ParameterSetName: - -n --resource-group --vnet-name --address-prefixes -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-network/19.1.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"cliakstest000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003\",\r\n - \ \"etag\": \"W/\\\"9d483aad-5ab2-43b2-81aa-81caa38c8f92\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"6aa492de-983c-4304-a3ac-879d6cb5ed9f\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"5ddaba8b-5906-47f4-8a27-01831974b01c\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"72b90938-a685-4e28-baf4-c97ab7042785\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"11.0.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"aks-subnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\r\n - \ \"etag\": \"W/\\\"9d483aad-5ab2-43b2-81aa-81caa38c8f92\\\"\",\r\n + \ \"etag\": \"W/\\\"6aa492de-983c-4304-a3ac-879d6cb5ed9f\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"11.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 \"name\": \"aci-subnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aci-subnet\",\r\n - \ \"etag\": \"W/\\\"9d483aad-5ab2-43b2-81aa-81caa38c8f92\\\"\",\r\n + \ \"etag\": \"W/\\\"6aa492de-983c-4304-a3ac-879d6cb5ed9f\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"11.0.1.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -483,9 +483,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:17:01 GMT + - Wed, 01 Dec 2021 14:16:27 GMT etag: - - W/"9d483aad-5ab2-43b2-81aa-81caa38c8f92" + - W/"6aa492de-983c-4304-a3ac-879d6cb5ed9f" expires: - '-1' pragma: @@ -502,7 +502,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6ca06b07-b6cd-451e-b68b-6954b00b81bb + - 7b39dcd0-01cb-48b0-8f0c-8a43f1f4dfa8 status: code: 200 message: OK @@ -521,12 +521,12 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:16:48Z"},"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-12-01T14:16:13Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -535,7 +535,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:17:02 GMT + - Wed, 01 Dec 2021 14:16:27 GMT expires: - '-1' pragma: @@ -564,24 +564,25 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/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/8e3af657-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-26T05:33:00.7067936Z","updatedOn":"2021-04-26T05:33:00.7067936Z","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/2adf4737-6342-4f63-aeb2-5fcd3426a387","type":"Microsoft.Authorization/roleAssignments","name":"2adf4737-6342-4f63-aeb2-5fcd3426a387"},{"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-04-26T06:09:24.5972802Z","updatedOn":"2021-04-26T06:09:24.5972802Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c4572c05-f69f-4e5c-aac6-79afefcf0e2e","type":"Microsoft.Authorization/roleAssignments","name":"c4572c05-f69f-4e5c-aac6-79afefcf0e2e"},{"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-06-18T05:18:40.4643436Z","updatedOn":"2021-06-18T05:18:40.4643436Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3f926301-cc14-4a88-a3b7-c159d73d01f6","type":"Microsoft.Authorization/roleAssignments","name":"3f926301-cc14-4a88-a3b7-c159d73d01f6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-09-18T03:09:33.8702688Z","updatedOn":"2021-09-18T03:09:33.8702688Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/99d6fd13-909e-4c52-807e-77f7a5af83c8","type":"Microsoft.Authorization/roleAssignments","name":"99d6fd13-909e-4c52-807e-77f7a5af83c8"},{"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":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de","condition":null,"conditionVersion":null,"createdOn":"2021-10-07T21:55:07.2303024Z","updatedOn":"2021-10-07T21:55:07.2303024Z","createdBy":"8031e009-cc05-4950-8a8d-78942c4492ac","updatedBy":"8031e009-cc05-4950-8a8d-78942c4492ac","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de/providers/Microsoft.Authorization/roleAssignments/99c5a294-bfee-468a-ab2f-f6db60b8c8f3","type":"Microsoft.Authorization/roleAssignments","name":"99c5a294-bfee-468a-ab2f-f6db60b8c8f3"},{"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/465fbb01-3623-f393-e42f-e19c0d2982de","condition":null,"conditionVersion":null,"createdOn":"2021-10-08T17:23:35.8382756Z","updatedOn":"2021-10-08T17:23:35.8382756Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de/providers/Microsoft.Authorization/roleAssignments/ade4333c-4321-4b68-b498-d081d55e2b0c","type":"Microsoft.Authorization/roleAssignments","name":"ade4333c-4321-4b68-b498-d081d55e2b0c"},{"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/dfe50df8-51fe-4401-daad-efca9fc8f14b","condition":null,"conditionVersion":null,"createdOn":"2021-04-22T14:50:37.5977858Z","updatedOn":"2021-04-22T14:50:37.5977858Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/dfe50df8-51fe-4401-daad-efca9fc8f14b/providers/Microsoft.Authorization/roleAssignments/eb6c03a6-8e33-4d47-807c-9cdf9ef1e3d8","type":"Microsoft.Authorization/roleAssignments","name":"eb6c03a6-8e33-4d47-807c-9cdf9ef1e3d8"},{"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/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9136073Z","updatedOn":"2019-03-26T22:01:02.9136073Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6f4de15e-9316-4714-a7c4-40c46cf8e067","type":"Microsoft.Authorization/roleAssignments","name":"6f4de15e-9316-4714-a7c4-40c46cf8e067"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:13.2137492Z","updatedOn":"2020-02-25T18:36:13.2137492Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/18fdd87e-1c01-424e-b380-32310f4940c2","type":"Microsoft.Authorization/roleAssignments","name":"18fdd87e-1c01-424e-b380-32310f4940c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:00.4746112Z","updatedOn":"2020-02-25T18:36:00.4746112Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d9bcf58a-6f24-446d-bf60-20ffe5142396","type":"Microsoft.Authorization/roleAssignments","name":"d9bcf58a-6f24-446d-bf60-20ffe5142396"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:55.7490022Z","updatedOn":"2020-02-25T18:35:55.7490022Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6e2b954b-42b2-48e0-997a-622601f0a4b4","type":"Microsoft.Authorization/roleAssignments","name":"6e2b954b-42b2-48e0-997a-622601f0a4b4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:57.9173081Z","updatedOn":"2020-02-25T18:35:57.9173081Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9","type":"Microsoft.Authorization/roleAssignments","name":"8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:23.0673659Z","updatedOn":"2020-02-25T18:36:23.0673659Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d0817c57-3e5b-4363-88b7-52baadd5c362","type":"Microsoft.Authorization/roleAssignments","name":"d0817c57-3e5b-4363-88b7-52baadd5c362"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:31.2596366Z","updatedOn":"2020-02-25T18:36:31.2596366Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0dabf212-a1c7-4af6-ba8b-be045493b368","type":"Microsoft.Authorization/roleAssignments","name":"0dabf212-a1c7-4af6-ba8b-be045493b368"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:52.9188704Z","updatedOn":"2020-02-25T18:35:52.9188704Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d674b853-332e-4437-9ddb-bba8fde7ccce","type":"Microsoft.Authorization/roleAssignments","name":"d674b853-332e-4437-9ddb-bba8fde7ccce"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:38.8393742Z","updatedOn":"2020-02-25T18:36:38.8393742Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/00625383-053d-4227-a4db-b098e9bd2289","type":"Microsoft.Authorization/roleAssignments","name":"00625383-053d-4227-a4db-b098e9bd2289"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:05.0954462Z","updatedOn":"2020-02-25T18:36:05.0954462Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/3151fe9c-fcd2-45d3-a256-72fb13b86df5","type":"Microsoft.Authorization/roleAssignments","name":"3151fe9c-fcd2-45d3-a256-72fb13b86df5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-07-06T18:51:23.0753297Z","updatedOn":"2020-07-06T18:51:23.0753297Z","createdBy":"d59f4a71-eff1-4bfa-a572-fe518f49f6c7","updatedBy":"d59f4a71-eff1-4bfa-a572-fe518f49f6c7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b3a9e1db-fde1-4ddd-ac1c-91913be67359","type":"Microsoft.Authorization/roleAssignments","name":"b3a9e1db-fde1-4ddd-ac1c-91913be67359"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-09T18:17:33.0012805Z","updatedOn":"2021-08-09T18:17:33.0012805Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/01de8fe7-aae0-4d5c-844a-f0bdb8335252","type":"Microsoft.Authorization/roleAssignments","name":"01de8fe7-aae0-4d5c-844a-f0bdb8335252"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-09T18:17:39.9188336Z","updatedOn":"2021-08-09T18:17:39.9188336Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/ab2be506-5489-4c1f-add0-f5ed87a10439","type":"Microsoft.Authorization/roleAssignments","name":"ab2be506-5489-4c1f-add0-f5ed87a10439"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-24T19:32:18.2000692Z","updatedOn":"2021-08-24T19:32:18.2000692Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0ce2f3fb-17ea-4193-9081-09aa4b39fec4","type":"Microsoft.Authorization/roleAssignments","name":"0ce2f3fb-17ea-4193-9081-09aa4b39fec4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-24T19:32:36.6775144Z","updatedOn":"2021-08-24T19:32:36.6775144Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/2e95b289-99bd-4e68-83de-5433f2a0428c","type":"Microsoft.Authorization/roleAssignments","name":"2e95b289-99bd-4e68-83de-5433f2a0428c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd6e57ea-fe3c-4f21-bd1e-de170a9a4971","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-15T21:46:52.6665975Z","updatedOn":"2021-09-15T21:46:52.6665975Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6d2e0600-74af-4aeb-b479-1718dd4dffdf","type":"Microsoft.Authorization/roleAssignments","name":"6d2e0600-74af-4aeb-b479-1718dd4dffdf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-23T22:47:24.2398372Z","updatedOn":"2021-09-23T22:47:24.2398372Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/68d8c18e-3dd6-4bf4-ae99-aac6ffb945cc","type":"Microsoft.Authorization/roleAssignments","name":"68d8c18e-3dd6-4bf4-ae99-aac6ffb945cc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-23T22:48:58.7755038Z","updatedOn":"2021-09-23T22:48:58.7755038Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/1201e06e-7fa6-44c7-bb6b-a4bd82994d4d","type":"Microsoft.Authorization/roleAssignments","name":"1201e06e-7fa6-44c7-bb6b-a4bd82994d4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:10:13.8998989Z","updatedOn":"2021-01-26T20:10:13.8998989Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b36517ec-61d3-468d-afdc-eceda8adb4ee","type":"Microsoft.Authorization/roleAssignments","name":"b36517ec-61d3-468d-afdc-eceda8adb4ee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-06T00:13:19.1780775Z","updatedOn":"2021-02-06T00:13:19.1780775Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/5216c1ee-4f58-4d36-b379-6c04b1fbd157","type":"Microsoft.Authorization/roleAssignments","name":"5216c1ee-4f58-4d36-b379-6c04b1fbd157"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-24T01:45:04.0423529Z","updatedOn":"2021-02-24T01:45:04.0423529Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/2bcd4a3e-5ac3-4ffa-a529-269be7717766","type":"Microsoft.Authorization/roleAssignments","name":"2bcd4a3e-5ac3-4ffa-a529-269be7717766"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-24T01:45:10.2950077Z","updatedOn":"2021-02-24T01:45:10.2950077Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8f8ed3e8-1b37-4ac1-ad01-7a274f600e79","type":"Microsoft.Authorization/roleAssignments","name":"8f8ed3e8-1b37-4ac1-ad01-7a274f600e79"},{"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/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-04-16T18:26:34.3109215Z","updatedOn":"2021-04-16T18:26:34.3109215Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/7464f8a3-9f55-443b-a3a5-44a31b100cad","type":"Microsoft.Authorization/roleAssignments","name":"7464f8a3-9f55-443b-a3a5-44a31b100cad"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-04-16T18:27:56.4446265Z","updatedOn":"2021-04-16T18:27:56.4446265Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8f430c4c-4317-4495-9f01-4f3d4e1ca111","type":"Microsoft.Authorization/roleAssignments","name":"8f430c4c-4317-4495-9f01-4f3d4e1ca111"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-05-04T19:20:06.7695456Z","updatedOn":"2021-05-04T19:20:06.7695456Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/fb8bab14-7f67-4e57-8aa5-0c4b7ab5a0fa","type":"Microsoft.Authorization/roleAssignments","name":"fb8bab14-7f67-4e57-8aa5-0c4b7ab5a0fa"},{"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":"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-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-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/b24988ac-6180-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-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/b24988ac-6180-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":"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/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":"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":"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-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":"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":"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/b24988ac-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-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/8e3af657-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":"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":"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":"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":"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":"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/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":"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":"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":"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":"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":"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-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":"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":"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-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":"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":"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":"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":"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":"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-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":"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":"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-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":"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/b24988ac-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-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-13T03:07:16.5183912Z","updatedOn":"2021-04-13T03:07:16.5183912Z","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/59402850-9c05-11eb-8744-20c9d0477c8f","type":"Microsoft.Authorization/roleAssignments","name":"59402850-9c05-11eb-8744-20c9d0477c8f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-14T19:16:13.6465266Z","updatedOn":"2021-04-14T19:16:13.6465266Z","createdBy":"de044ada-ff3e-448d-9bbd-050ef3f53df2","updatedBy":"de044ada-ff3e-448d-9bbd-050ef3f53df2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e04efa46-9d55-11eb-9723-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"e04efa46-9d55-11eb-9723-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-15T02:29:06.6768532Z","updatedOn":"2021-04-15T02:29:06.6768532Z","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/19165f29-858f-47fa-befe-cd1babe9df75","type":"Microsoft.Authorization/roleAssignments","name":"19165f29-858f-47fa-befe-cd1babe9df75"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-19T08:59:20.4071341Z","updatedOn":"2021-04-19T08:59:20.4071341Z","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/88489205-a0ed-11eb-996c-1a21256cebfc","type":"Microsoft.Authorization/roleAssignments","name":"88489205-a0ed-11eb-996c-1a21256cebfc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-19T22:35:57.5324093Z","updatedOn":"2021-04-19T22:35:57.5324093Z","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/9b85c442-a15f-11eb-8a7c-00155d871f03","type":"Microsoft.Authorization/roleAssignments","name":"9b85c442-a15f-11eb-8a7c-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":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-21T12:31:21.7286225Z","updatedOn":"2021-04-21T12:31:21.7286225Z","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/7770db7c-a29d-11eb-b48f-42472d33150a","type":"Microsoft.Authorization/roleAssignments","name":"7770db7c-a29d-11eb-b48f-42472d33150a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11T02:49:35.7701861Z","updatedOn":"2021-05-11T02:49:35.7701861Z","createdBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","updatedBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/83c25ed3-b203-11eb-8150-56db513b8477","type":"Microsoft.Authorization/roleAssignments","name":"83c25ed3-b203-11eb-8150-56db513b8477"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-12T06:15:49.6202169Z","updatedOn":"2021-05-12T06:15:49.6202169Z","createdBy":"069015af-8ac7-4304-a60f-69a8a50309be","updatedBy":"069015af-8ac7-4304-a60f-69a8a50309be","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7ecced22-b2e9-11eb-bdc4-da23ac480b85","type":"Microsoft.Authorization/roleAssignments","name":"7ecced22-b2e9-11eb-bdc4-da23ac480b85"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-18T02:08:43.3533001Z","updatedOn":"2021-05-18T02:08:43.3533001Z","createdBy":"069015af-8ac7-4304-a60f-69a8a50309be","updatedBy":"069015af-8ac7-4304-a60f-69a8a50309be","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f8582f67-b77d-11eb-bffb-52ac6a27ca65","type":"Microsoft.Authorization/roleAssignments","name":"f8582f67-b77d-11eb-bffb-52ac6a27ca65"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-24T05:29:46.7966317Z","updatedOn":"2021-05-24T05:29:46.7966317Z","createdBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","updatedBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d7389dd2-ee8e-4d34-8703-b304716b1761","type":"Microsoft.Authorization/roleAssignments","name":"d7389dd2-ee8e-4d34-8703-b304716b1761"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-26T10:05:55.6707947Z","updatedOn":"2021-05-26T10:05:55.6707947Z","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/d540fa09-24f4-4f08-a9f2-10f69de7bd62","type":"Microsoft.Authorization/roleAssignments","name":"d540fa09-24f4-4f08-a9f2-10f69de7bd62"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-01T09:38:20.8655603Z","updatedOn":"2021-06-01T09:38:20.8655603Z","createdBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","updatedBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/18455841-c2bd-11eb-80b3-9a0a2a9b0ea3","type":"Microsoft.Authorization/roleAssignments","name":"18455841-c2bd-11eb-80b3-9a0a2a9b0ea3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-03T16:55:35.8333154Z","updatedOn":"2021-06-03T16:55:35.8333154Z","createdBy":"ae4622a7-bde9-4bca-9599-2d18571bfeba","updatedBy":"ae4622a7-bde9-4bca-9599-2d18571bfeba","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/83e4c5e8-c48c-11eb-b991-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"83e4c5e8-c48c-11eb-b991-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-06-07T22:29:50.4448757Z","updatedOn":"2021-06-07T22:29:50.4448757Z","createdBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","updatedBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/decef2d4-c7df-11eb-a83e-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"decef2d4-c7df-11eb-a83e-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-06-08T21:20:41.4426747Z","updatedOn":"2021-06-08T21:20:41.4426747Z","createdBy":"39fc5957-4b28-4245-a1ca-0c05574dd32b","updatedBy":"39fc5957-4b28-4245-a1ca-0c05574dd32b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/607bf63e-c89f-11eb-8348-eecc6a504bf0","type":"Microsoft.Authorization/roleAssignments","name":"607bf63e-c89f-11eb-8348-eecc6a504bf0"},{"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-06-15T14:35:18.7357331Z","updatedOn":"2021-06-15T14:35:18.7357331Z","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/b1151242-c950-413d-a273-4109579eac8a","type":"Microsoft.Authorization/roleAssignments","name":"b1151242-c950-413d-a273-4109579eac8a"},{"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-06-15T14:35:18.7937546Z","updatedOn":"2021-06-15T14:35:18.7937546Z","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/dc21aa69-a99c-435e-a256-64885b24ec34","type":"Microsoft.Authorization/roleAssignments","name":"dc21aa69-a99c-435e-a256-64885b24ec34"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-15T15:23:52.9337722Z","updatedOn":"2021-06-15T15:23:52.9337722Z","createdBy":"1faabf99-27a1-4d2e-9e28-295923ee7a14","updatedBy":"1faabf99-27a1-4d2e-9e28-295923ee7a14","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b1f9ad80-cded-11eb-81da-86d728f15930","type":"Microsoft.Authorization/roleAssignments","name":"b1f9ad80-cded-11eb-81da-86d728f15930"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-24T01:15:20.6480687Z","updatedOn":"2021-06-24T01:15:20.6480687Z","createdBy":"579a5a8e-a3ce-45fc-97d6-4356669fe2db","updatedBy":"579a5a8e-a3ce-45fc-97d6-4356669fe2db","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a3fe463a-d489-11eb-bcf6-88e9fe77d9d9","type":"Microsoft.Authorization/roleAssignments","name":"a3fe463a-d489-11eb-bcf6-88e9fe77d9d9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-29T00:02:18.3011415Z","updatedOn":"2021-06-29T00:02:18.3011415Z","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/6ba1c6ba-8f43-4749-9af5-b852adc24ec4","type":"Microsoft.Authorization/roleAssignments","name":"6ba1c6ba-8f43-4749-9af5-b852adc24ec4"},{"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":"2021-06-29T00:02:18.3104039Z","updatedOn":"2021-06-29T00:02:18.3104039Z","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/f1b67008-79aa-4059-a618-9f31a59e17ad","type":"Microsoft.Authorization/roleAssignments","name":"f1b67008-79aa-4059-a618-9f31a59e17ad"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-29T03:26:28.3273724Z","updatedOn":"2021-06-29T03:26:28.3273724Z","createdBy":"5dc8b685-8bb3-4140-b266-34da5be22de8","updatedBy":"5dc8b685-8bb3-4140-b266-34da5be22de8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cacd20e2-d889-11eb-8faf-365b90995dcc","type":"Microsoft.Authorization/roleAssignments","name":"cacd20e2-d889-11eb-8faf-365b90995dcc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-02T16:47:51.6512150Z","updatedOn":"2021-07-02T16:47:51.6512150Z","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/3ce776fa-db55-11eb-9c3e-0ee0ced9a7ad","type":"Microsoft.Authorization/roleAssignments","name":"3ce776fa-db55-11eb-9c3e-0ee0ced9a7ad"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-02T18:02:58.7913777Z","updatedOn":"2021-07-02T18:02:58.7913777Z","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/bb92467e-db5f-11eb-93bb-52bfc6c4d939","type":"Microsoft.Authorization/roleAssignments","name":"bb92467e-db5f-11eb-93bb-52bfc6c4d939"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-02T18:34:50.6034803Z","updatedOn":"2021-07-02T18:34:50.6034803Z","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/4e537d7a-5a2e-419c-8c51-0f55adab0793","type":"Microsoft.Authorization/roleAssignments","name":"4e537d7a-5a2e-419c-8c51-0f55adab0793"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-12T18:22:41.0622548Z","updatedOn":"2021-07-12T18:22:41.0622548Z","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/0a840989-f344-4bca-97c4-0f91fa1537c6","type":"Microsoft.Authorization/roleAssignments","name":"0a840989-f344-4bca-97c4-0f91fa1537c6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-14T19:03:30.7799600Z","updatedOn":"2021-07-14T19:03:30.7799600Z","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/2d4385bd-e4d6-11eb-9e75-0a4737195831","type":"Microsoft.Authorization/roleAssignments","name":"2d4385bd-e4d6-11eb-9e75-0a4737195831"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-26T03:44:43.4505353Z","updatedOn":"2021-07-26T03:44:43.4505353Z","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/79b52c96-edc4-11eb-8bd7-1e3bd0e19ace","type":"Microsoft.Authorization/roleAssignments","name":"79b52c96-edc4-11eb-8bd7-1e3bd0e19ace"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-28T21:04:39.7105526Z","updatedOn":"2021-07-28T21:04:39.7105526Z","createdBy":"38c161af-2e06-4c57-9ed6-8727052181d3","updatedBy":"38c161af-2e06-4c57-9ed6-8727052181d3","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b9c8936-efe7-11eb-9484-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"6b9c8936-efe7-11eb-9484-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-08-04T02:14:38.2049441Z","updatedOn":"2021-08-04T02:14:38.2049441Z","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/b8013ec0-f4c9-11eb-999a-000d3a4fc0a9","type":"Microsoft.Authorization/roleAssignments","name":"b8013ec0-f4c9-11eb-999a-000d3a4fc0a9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e3c35f4c-e0ca-4b9e-a01e-5ebdd17e2ee7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-08-04T18:45:22.7030533Z","updatedOn":"2021-08-04T18:45:22.7030533Z","createdBy":"aedb4132-9499-4449-90b4-3f7cc9885668","updatedBy":"aedb4132-9499-4449-90b4-3f7cc9885668","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b007f9b6-e259-4c24-b8f1-4b74e434b776","type":"Microsoft.Authorization/roleAssignments","name":"b007f9b6-e259-4c24-b8f1-4b74e434b776"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-08-10T18:57:36.3877809Z","updatedOn":"2021-08-10T18:57:36.3877809Z","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/d31d5edd-fa0c-11eb-a4e8-00155d4b0124","type":"Microsoft.Authorization/roleAssignments","name":"d31d5edd-fa0c-11eb-a4e8-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":"2021-08-11T13:17:28.5790828Z","updatedOn":"2021-08-11T13:17:28.5790828Z","createdBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/79c9ac4e-faa6-11eb-9265-9e748a6ca3f5","type":"Microsoft.Authorization/roleAssignments","name":"79c9ac4e-faa6-11eb-9265-9e748a6ca3f5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-08-24T20:40:36.9427810Z","updatedOn":"2021-08-24T20:40:36.9427810Z","createdBy":"7c582854-cf1c-4eef-ab9d-484a1e95bfe4","updatedBy":"7c582854-cf1c-4eef-ab9d-484a1e95bfe4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/89077b4a-051b-11ec-b690-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"89077b4a-051b-11ec-b690-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-08-25T04:55:32.8103400Z","updatedOn":"2021-08-25T04:55:32.8103400Z","createdBy":"d8f2c3f8-41bf-41ae-aedb-23c9387322a8","updatedBy":"d8f2c3f8-41bf-41ae-aedb-23c9387322a8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ad278da4-0560-11ec-bfcc-00249b623abd","type":"Microsoft.Authorization/roleAssignments","name":"ad278da4-0560-11ec-bfcc-00249b623abd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-08-31T23:45:51.8536519Z","updatedOn":"2021-08-31T23:45:51.8536519Z","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/92d8ca73-0ab5-11ec-9a80-00224809727f","type":"Microsoft.Authorization/roleAssignments","name":"92d8ca73-0ab5-11ec-9a80-00224809727f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-09-13T19:32:31.3713301Z","updatedOn":"2021-09-13T19:32:31.3713301Z","createdBy":"542c144b-d75a-4e78-b43f-a57bb7d8c236","updatedBy":"542c144b-d75a-4e78-b43f-a57bb7d8c236","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/55fb0a56-14c9-11ec-ba1a-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"55fb0a56-14c9-11ec-ba1a-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-09-17T20:45:08.1118919Z","updatedOn":"2021-09-17T20:45:08.1118919Z","createdBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","updatedBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/246a4240-17f8-11ec-a87c-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"246a4240-17f8-11ec-a87c-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-09-20T13:55:46.1211332Z","updatedOn":"2021-09-20T13:55:46.1211332Z","createdBy":"948486bd-c8c5-4c55-9529-ba2b9ae7fa22","updatedBy":"948486bd-c8c5-4c55-9529-ba2b9ae7fa22","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/738cb0ee-1a1a-11ec-bce5-7a98cea1d963","type":"Microsoft.Authorization/roleAssignments","name":"738cb0ee-1a1a-11ec-bce5-7a98cea1d963"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-09-20T16:02:49.0433199Z","updatedOn":"2021-09-20T16:02:49.0433199Z","createdBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/332824b6-1a2c-11ec-94e6-dadb5e134e96","type":"Microsoft.Authorization/roleAssignments","name":"332824b6-1a2c-11ec-94e6-dadb5e134e96"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-09-20T18:45:44.1610490Z","updatedOn":"2021-09-20T18:45:44.1610490Z","createdBy":"5abe6647-6d0a-42a5-9378-28457904e05f","updatedBy":"5abe6647-6d0a-42a5-9378-28457904e05f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f5aacbbc-1a42-11ec-82e7-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"f5aacbbc-1a42-11ec-82e7-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-09-23T14:26:16.9983531Z","updatedOn":"2021-09-23T14:26:16.9983531Z","createdBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","updatedBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/35e02c16-1c7a-11ec-aba5-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"35e02c16-1c7a-11ec-aba5-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":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-09-29T01:26:50.3419658Z","updatedOn":"2021-09-29T01:26:50.3419658Z","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/47eee8e3-89cd-4112-86a8-19f848334dd1","type":"Microsoft.Authorization/roleAssignments","name":"47eee8e3-89cd-4112-86a8-19f848334dd1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-04T20:39:52.4258668Z","updatedOn":"2021-10-04T20:39:52.4258668Z","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/395b589c-2553-11ec-8d77-000d3af95835","type":"Microsoft.Authorization/roleAssignments","name":"395b589c-2553-11ec-8d77-000d3af95835"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-07T22:03:00.0914961Z","updatedOn":"2021-10-07T22:03:00.0914961Z","createdBy":"f7f1e3a2-a6d6-4f0c-8189-067e2f48366d","updatedBy":"f7f1e3a2-a6d6-4f0c-8189-067e2f48366d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/554cbdbb-27ba-11ec-9441-ba8d312253c4","type":"Microsoft.Authorization/roleAssignments","name":"554cbdbb-27ba-11ec-9441-ba8d312253c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-07T22:03:56.3285135Z","updatedOn":"2021-10-07T22:03:56.3285135Z","createdBy":"f7f1e3a2-a6d6-4f0c-8189-067e2f48366d","updatedBy":"f7f1e3a2-a6d6-4f0c-8189-067e2f48366d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/76aa862c-27ba-11ec-a4ef-ba8d312253c4","type":"Microsoft.Authorization/roleAssignments","name":"76aa862c-27ba-11ec-a4ef-ba8d312253c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-08T18:53:10.3503826Z","updatedOn":"2021-10-08T18:53:10.3503826Z","createdBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","updatedBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d9510e6f-d37b-4ce8-8a3b-78e5447b11c4","type":"Microsoft.Authorization/roleAssignments","name":"d9510e6f-d37b-4ce8-8a3b-78e5447b11c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-08T18:59:59.4287762Z","updatedOn":"2021-10-08T18:59:59.4287762Z","createdBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","updatedBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3d1a6d17-6c0a-4105-b86a-dcc55fe735e7","type":"Microsoft.Authorization/roleAssignments","name":"3d1a6d17-6c0a-4105-b86a-dcc55fe735e7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-11T22:29:20.4165411Z","updatedOn":"2021-10-11T22:29:20.4165411Z","createdBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","updatedBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b5b65050-4b50-4b02-bea3-5986eccdd944","type":"Microsoft.Authorization/roleAssignments","name":"b5b65050-4b50-4b02-bea3-5986eccdd944"},{"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-10-12T02:26:39.4717201Z","updatedOn":"2021-10-12T02:26:39.4717201Z","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/4977775a-1c56-492e-8a5b-5fd0c7b18893","type":"Microsoft.Authorization/roleAssignments","name":"4977775a-1c56-492e-8a5b-5fd0c7b18893"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-12T21:09:25.3258237Z","updatedOn":"2021-10-12T21:09:25.3258237Z","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/869d24c2-b6b1-4a26-9b9c-c50ecb64bc31","type":"Microsoft.Authorization/roleAssignments","name":"869d24c2-b6b1-4a26-9b9c-c50ecb64bc31"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-13T08:19:03.1448099Z","updatedOn":"2021-10-13T08:19:03.1448099Z","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/f8869be9-f94e-47ae-90cb-c4d9bcb5b629","type":"Microsoft.Authorization/roleAssignments","name":"f8869be9-f94e-47ae-90cb-c4d9bcb5b629"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T04:53:25.9502873Z","updatedOn":"2021-10-14T04:53:36.3280652Z","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/f622c27f-a03d-4fb8-b17d-7281dc0a984f","type":"Microsoft.Authorization/roleAssignments","name":"f622c27f-a03d-4fb8-b17d-7281dc0a984f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T05:26:21.6452814Z","updatedOn":"2021-10-14T05:26:21.6452814Z","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/439e7a28-2caf-11ec-ae23-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"439e7a28-2caf-11ec-ae23-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:37:54.7980840Z","updatedOn":"2021-10-14T05:37:54.7980840Z","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/e049894b-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e049894b-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:37:56.1220463Z","updatedOn":"2021-10-14T05:37:56.1220463Z","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/e1920687-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e1920687-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:37:58.2164501Z","updatedOn":"2021-10-14T05:37:58.2164501Z","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/e2809f7d-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e2809f7d-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:00.1774570Z","updatedOn":"2021-10-14T05:38:00.1774570Z","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/e3b78568-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e3b78568-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:01.6914375Z","updatedOn":"2021-10-14T05:38:01.6914375Z","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/e4e3f0fc-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e4e3f0fc-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:03.1856045Z","updatedOn":"2021-10-14T05:38:03.1856045Z","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/e5c7c168-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e5c7c168-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:04.4121266Z","updatedOn":"2021-10-14T05:38:04.4121266Z","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/e6847f02-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e6847f02-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:05.9623251Z","updatedOn":"2021-10-14T05:38:05.9623251Z","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/e7681b77-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e7681b77-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:07.5974823Z","updatedOn":"2021-10-14T05:38:07.5974823Z","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/e82df158-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e82df158-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:09.3591403Z","updatedOn":"2021-10-14T05:38:09.3591403Z","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/e94e3dd9-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e94e3dd9-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:11.1652349Z","updatedOn":"2021-10-14T05:38:11.1652349Z","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/ea5dbe0d-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"ea5dbe0d-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:12.6474393Z","updatedOn":"2021-10-14T05:38:12.6474393Z","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/eb6e896d-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"eb6e896d-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:15.1702403Z","updatedOn":"2021-10-14T05:38:15.1702403Z","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/eceee9a0-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"eceee9a0-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/81a9662b-bebf-436f-a333-f67b29880f12","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T06:22:44.8991960Z","updatedOn":"2021-10-14T06:22:44.8991960Z","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/2447d2a2-2cb7-11ec-91be-00224878e942","type":"Microsoft.Authorization/roleAssignments","name":"2447d2a2-2cb7-11ec-91be-00224878e942"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T06:22:46.4374928Z","updatedOn":"2021-10-14T06:22:46.4374928Z","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/251fc151-2cb7-11ec-91be-00224878e942","type":"Microsoft.Authorization/roleAssignments","name":"251fc151-2cb7-11ec-91be-00224878e942"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T07:33:15.8218562Z","updatedOn":"2021-10-14T07:33:15.8218562Z","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/fe04afe4-2cc0-11ec-81ff-0022487b1e92","type":"Microsoft.Authorization/roleAssignments","name":"fe04afe4-2cc0-11ec-81ff-0022487b1e92"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T07:59:18.3020716Z","updatedOn":"2021-10-14T07:59:18.3020716Z","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/a1518374-2cc4-11ec-8880-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"a1518374-2cc4-11ec-8880-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T07:59:20.8876342Z","updatedOn":"2021-10-14T07:59:20.8876342Z","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/a311df17-2cc4-11ec-8880-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"a311df17-2cc4-11ec-8880-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T07:59:22.4477860Z","updatedOn":"2021-10-14T07:59:22.4477860Z","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/a3c5b71e-2cc4-11ec-8880-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"a3c5b71e-2cc4-11ec-8880-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/81a9662b-bebf-436f-a333-f67b29880f12","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:07:23.1051657Z","updatedOn":"2021-10-14T08:07:23.1051657Z","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/c227b3cc-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"c227b3cc-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:07:23.5151178Z","updatedOn":"2021-10-14T08:07:23.5151178Z","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/c29ac901-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"c29ac901-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b7e6dc6d-f1e8-4753-8033-0f276bb0955b","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:07:25.7287942Z","updatedOn":"2021-10-14T08:07:25.7287942Z","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/c40b5411-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"c40b5411-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:07:27.2660976Z","updatedOn":"2021-10-14T08:07:27.2660976Z","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/c4cb6a30-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"c4cb6a30-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:08:16.5190337Z","updatedOn":"2021-10-14T08:08:16.5190337Z","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/e226a828-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"e226a828-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:08:17.7439429Z","updatedOn":"2021-10-14T08:08:17.7439429Z","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/e2e43f64-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"e2e43f64-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T09:12:04.1832243Z","updatedOn":"2021-10-14T09:12:04.1832243Z","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/5c9e442c-9d64-4022-9246-0c1c21af04be","type":"Microsoft.Authorization/roleAssignments","name":"5c9e442c-9d64-4022-9246-0c1c21af04be"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T17:07:28.8635845Z","updatedOn":"2021-10-14T17:07:28.8635845Z","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/ed48d615-e7d8-4aef-90c7-332d7329e41c","type":"Microsoft.Authorization/roleAssignments","name":"ed48d615-e7d8-4aef-90c7-332d7329e41c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T18:16:37.9837987Z","updatedOn":"2021-10-14T18:16:37.9837987Z","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/debb0903-2d1a-11ec-a603-000d3a06aaec","type":"Microsoft.Authorization/roleAssignments","name":"debb0903-2d1a-11ec-a603-000d3a06aaec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T18:39:15.5366398Z","updatedOn":"2021-10-14T18:39:15.5366398Z","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/07caa301-2d1e-11ec-a2ea-0022487748c3","type":"Microsoft.Authorization/roleAssignments","name":"07caa301-2d1e-11ec-a2ea-0022487748c3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-15T17:37:53.7293023Z","updatedOn":"2021-10-15T17:37:53.7293023Z","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/9fbd09f2-2dde-11ec-b3e4-000d3a064a8a","type":"Microsoft.Authorization/roleAssignments","name":"9fbd09f2-2dde-11ec-b3e4-000d3a064a8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-18T06:22:38.4617338Z","updatedOn":"2021-10-18T06:22:38.4617338Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/70844448-8be3-4c6f-9edf-443944f85a5a","type":"Microsoft.Authorization/roleAssignments","name":"70844448-8be3-4c6f-9edf-443944f85a5a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-19T11:29:40.0474212Z","updatedOn":"2021-10-19T11:29:40.0474212Z","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/d86e727f-30cf-11ec-bc8b-000d3ac2ec2b","type":"Microsoft.Authorization/roleAssignments","name":"d86e727f-30cf-11ec-bc8b-000d3ac2ec2b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-10-19T15:23:21.2499478Z","updatedOn":"2021-10-19T15:23:21.2499478Z","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/33f5a6ed-cebd-4589-b9d6-4a5ef2d7db2e","type":"Microsoft.Authorization/roleAssignments","name":"33f5a6ed-cebd-4589-b9d6-4a5ef2d7db2e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-20T20:57:56.8996523Z","updatedOn":"2021-10-20T20:57:56.8996523Z","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/66303328-31e8-11ec-99f4-000d3ac5c858","type":"Microsoft.Authorization/roleAssignments","name":"66303328-31e8-11ec-99f4-000d3ac5c858"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-10-21T15:12:00.0677049Z","updatedOn":"2021-10-21T15:12:00.0677049Z","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/b630a77a-9e75-417f-b251-1584163d8926","type":"Microsoft.Authorization/roleAssignments","name":"b630a77a-9e75-417f-b251-1584163d8926"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-24T17:01:11.1413210Z","updatedOn":"2021-10-24T17:01:11.1413210Z","createdBy":"0d969ded-9dc4-4176-8b0f-5194740910bf","updatedBy":"0d969ded-9dc4-4176-8b0f-5194740910bf","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc196953-34eb-11ec-9f2c-f67edfc01c2b","type":"Microsoft.Authorization/roleAssignments","name":"fc196953-34eb-11ec-9f2c-f67edfc01c2b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-25T21:32:26.0121360Z","updatedOn":"2021-10-25T21:32:26.0121360Z","createdBy":"5b61bc1a-82ca-405c-9768-3ddada621e1b","updatedBy":"5b61bc1a-82ca-405c-9768-3ddada621e1b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0b15fba8-35db-11ec-b404-8c8590c603ee","type":"Microsoft.Authorization/roleAssignments","name":"0b15fba8-35db-11ec-b404-8c8590c603ee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-26T07:30:52.4116907Z","updatedOn":"2021-10-26T07:30:52.4116907Z","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/e78ac58b-8cfe-4ff6-9ac6-41453615c7e8","type":"Microsoft.Authorization/roleAssignments","name":"e78ac58b-8cfe-4ff6-9ac6-41453615c7e8"},{"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-10-26T13:47:01.3444676Z","updatedOn":"2021-10-26T13:47:01.3444676Z","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/4933f1cd-0863-4429-a5be-3a81b2f80105","type":"Microsoft.Authorization/roleAssignments","name":"4933f1cd-0863-4429-a5be-3a81b2f80105"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-26T20:43:39.1375235Z","updatedOn":"2021-10-26T20:43:39.1375235Z","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/ad8f56c5-19b6-4e9f-b20f-8e3789a93873","type":"Microsoft.Authorization/roleAssignments","name":"ad8f56c5-19b6-4e9f-b20f-8e3789a93873"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-10-27T01:02:05.1338691Z","updatedOn":"2021-10-27T01:02:05.1338691Z","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/a83de9c2-2bd5-4ba1-bc50-08d475a290a0","type":"Microsoft.Authorization/roleAssignments","name":"a83de9c2-2bd5-4ba1-bc50-08d475a290a0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-10-28T00:14:34.9745357Z","updatedOn":"2021-10-28T00:14:34.9745357Z","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/e3366cd2-4d12-4dbb-b05d-5e914628e986","type":"Microsoft.Authorization/roleAssignments","name":"e3366cd2-4d12-4dbb-b05d-5e914628e986"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-02T23:39:52.9481031Z","updatedOn":"2021-11-02T23:39:52.9481031Z","createdBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","updatedBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b0e37c03-a8a7-4765-af41-9a8584ad6413","type":"Microsoft.Authorization/roleAssignments","name":"b0e37c03-a8a7-4765-af41-9a8584ad6413"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c7393b34-138c-406f-901b-d8cf2b17e6ae","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-11-03T15:46:17.8935538Z","updatedOn":"2021-11-03T15:46:17.8935538Z","createdBy":"","updatedBy":"","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b5b0e8d6-e30f-42a5-918c-01299416da2c","type":"Microsoft.Authorization/roleAssignments","name":"b5b0e8d6-e30f-42a5-918c-01299416da2c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-11-03T21:43:39.4750265Z","updatedOn":"2021-11-03T21:43:39.4750265Z","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/683b4375-f318-428e-a885-232a29ec8559","type":"Microsoft.Authorization/roleAssignments","name":"683b4375-f318-428e-a885-232a29ec8559"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-03T21:56:29.9810805Z","updatedOn":"2021-11-03T21:56:29.9810805Z","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/e560c31c-8c6e-4bf0-9828-b2db658455b7","type":"Microsoft.Authorization/roleAssignments","name":"e560c31c-8c6e-4bf0-9828-b2db658455b7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-04T06:06:21.8922666Z","updatedOn":"2021-11-04T06:06:21.8922666Z","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/e1dcc78b-03c3-4db3-95a8-643dbcbbf2a3","type":"Microsoft.Authorization/roleAssignments","name":"e1dcc78b-03c3-4db3-95a8-643dbcbbf2a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-04T17:22:28.0293110Z","updatedOn":"2021-11-04T17:22:28.0293110Z","createdBy":"f0c92441-ff57-4565-a1e6-f25d8d3b2116","updatedBy":"f0c92441-ff57-4565-a1e6-f25d8d3b2116","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/84a6167f-c7d5-4404-b786-85fe4327c0ba","type":"Microsoft.Authorization/roleAssignments","name":"84a6167f-c7d5-4404-b786-85fe4327c0ba"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-04T17:24:51.0627597Z","updatedOn":"2021-11-04T17:24:51.0627597Z","createdBy":"f0c92441-ff57-4565-a1e6-f25d8d3b2116","updatedBy":"f0c92441-ff57-4565-a1e6-f25d8d3b2116","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8ff23217-f8a8-4e77-baee-41850cfb5554","type":"Microsoft.Authorization/roleAssignments","name":"8ff23217-f8a8-4e77-baee-41850cfb5554"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-11-12T06:15:22.5918832Z","updatedOn":"2021-11-12T06:15:22.5918832Z","createdBy":"3452d015-48ec-48db-8c4c-80d9205ef053","updatedBy":"3452d015-48ec-48db-8c4c-80d9205ef053","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/88e1d00c-98e5-42b4-8dd0-e96ff5489dca","type":"Microsoft.Authorization/roleAssignments","name":"88e1d00c-98e5-42b4-8dd0-e96ff5489dca"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-11-16T05:21:11.0446928Z","updatedOn":"2021-11-16T05:21:11.0446928Z","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/d01bef88-e1fa-4fc2-bd98-6845063b53b9","type":"Microsoft.Authorization/roleAssignments","name":"d01bef88-e1fa-4fc2-bd98-6845063b53b9"},{"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-11-16T05:22:06.5362889Z","updatedOn":"2021-11-16T05:22:06.5362889Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/784d9b03-5635-4c89-ae5b-5c11ceff8a4c","type":"Microsoft.Authorization/roleAssignments","name":"784d9b03-5635-4c89-ae5b-5c11ceff8a4c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-11-16T06:25:33.3315777Z","updatedOn":"2021-11-16T06:25:33.3315777Z","createdBy":"3452d015-48ec-48db-8c4c-80d9205ef053","updatedBy":"3452d015-48ec-48db-8c4c-80d9205ef053","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9c31b5d-d38d-4832-8fc5-10cdb23e4eec","type":"Microsoft.Authorization/roleAssignments","name":"c9c31b5d-d38d-4832-8fc5-10cdb23e4eec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-16T21:47:20.3762106Z","updatedOn":"2021-11-16T21:47:20.3762106Z","createdBy":"756a1e87-e758-4b77-836c-b19b83ca0c72","updatedBy":"756a1e87-e758-4b77-836c-b19b83ca0c72","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19b8a839-de9e-4712-a227-686679e98414","type":"Microsoft.Authorization/roleAssignments","name":"19b8a839-de9e-4712-a227-686679e98414"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-17T05:28:26.3873952Z","updatedOn":"2021-11-17T05:28:26.3873952Z","createdBy":"3452d015-48ec-48db-8c4c-80d9205ef053","updatedBy":"3452d015-48ec-48db-8c4c-80d9205ef053","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a6cb292-435b-45d4-9f44-2dedb6f80804","type":"Microsoft.Authorization/roleAssignments","name":"4a6cb292-435b-45d4-9f44-2dedb6f80804"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-17T08:37:53.6375476Z","updatedOn":"2021-11-17T08:37:53.6375476Z","createdBy":"3042f5b3-7606-4878-821b-833178243939","updatedBy":"3042f5b3-7606-4878-821b-833178243939","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a7314a76-4781-11ec-9554-2eaf851e2751","type":"Microsoft.Authorization/roleAssignments","name":"a7314a76-4781-11ec-9554-2eaf851e2751"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-17T20:29:38.7986222Z","updatedOn":"2021-11-17T20:29:38.7986222Z","createdBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","updatedBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/41224d04-5912-49e9-98f2-df2d0c5768ed","type":"Microsoft.Authorization/roleAssignments","name":"41224d04-5912-49e9-98f2-df2d0c5768ed"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-23T02:37:39.0525328Z","updatedOn":"2021-11-23T02:37:39.0525328Z","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/2917b10b-1776-4726-9e2a-1406d35584aa","type":"Microsoft.Authorization/roleAssignments","name":"2917b10b-1776-4726-9e2a-1406d35584aa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-11-24T04:19:48.8430130Z","updatedOn":"2021-11-24T04:19:48.8430130Z","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/4738453f-e889-4428-817e-a18655a6df71","type":"Microsoft.Authorization/roleAssignments","name":"4738453f-e889-4428-817e-a18655a6df71"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-24T14:57:34.7449286Z","updatedOn":"2021-11-24T14:57:34.7449286Z","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/dae433ba-4d36-11ec-9c37-0022487a1506","type":"Microsoft.Authorization/roleAssignments","name":"dae433ba-4d36-11ec-9c37-0022487a1506"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-25T09:08:18.4273553Z","updatedOn":"2021-11-25T09:08:18.4273553Z","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/3a4c23ea-4dcf-11ec-8263-0022487c7a4a","type":"Microsoft.Authorization/roleAssignments","name":"3a4c23ea-4dcf-11ec-8263-0022487c7a4a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-29T22:16:27.4091202Z","updatedOn":"2021-11-29T22:16:27.4091202Z","createdBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","updatedBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dfaf3275-7f8c-449f-875f-d74ca2998764","type":"Microsoft.Authorization/roleAssignments","name":"dfaf3275-7f8c-449f-875f-d74ca2998764"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-30T06:59:34.7676928Z","updatedOn":"2021-11-30T06:59:34.7676928Z","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/d5848b58-7658-45ae-b979-fb230968ddf7","type":"Microsoft.Authorization/roleAssignments","name":"d5848b58-7658-45ae-b979-fb230968ddf7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-30T20:03:43.2359682Z","updatedOn":"2021-11-30T20:03:43.2359682Z","createdBy":"ba670408-9de9-4309-b92c-4273f384a0e8","updatedBy":"ba670408-9de9-4309-b92c-4273f384a0e8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3be3018e-84c0-48a4-bb36-fa997df4a911","type":"Microsoft.Authorization/roleAssignments","name":"3be3018e-84c0-48a4-bb36-fa997df4a911"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-30T22:23:07.4635927Z","updatedOn":"2021-11-30T22:23:07.4635927Z","createdBy":"ba670408-9de9-4309-b92c-4273f384a0e8","updatedBy":"ba670408-9de9-4309-b92c-4273f384a0e8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc52b5ce-1a69-4afd-aaab-745522d55219","type":"Microsoft.Authorization/roleAssignments","name":"fc52b5ce-1a69-4afd-aaab-745522d55219"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-12-01T02:05:06.3947111Z","updatedOn":"2021-12-01T02:05:06.3947111Z","createdBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","updatedBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bfd977a2-74fb-4e8f-88a6-72b675ad0813","type":"Microsoft.Authorization/roleAssignments","name":"bfd977a2-74fb-4e8f-88a6-72b675ad0813"},{"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-12-01T13:34:33.8075185Z","updatedOn":"2021-12-01T13:34:33.8075185Z","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/3ce48100-6db5-4ee1-9b02-95913c893175","type":"Microsoft.Authorization/roleAssignments","name":"3ce48100-6db5-4ee1-9b02-95913c893175"},{"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-12-01T13:34:33.8391755Z","updatedOn":"2021-12-01T13:34:33.8391755Z","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/a1c1acea-4de6-4d8d-b718-05da3e7a2f1c","type":"Microsoft.Authorization/roleAssignments","name":"a1c1acea-4de6-4d8d-b718-05da3e7a2f1c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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":"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/b24988ac-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: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/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/fbde6f07-618e-be11-0306-d47d5b4667ec","condition":null,"conditionVersion":null,"createdOn":"2021-04-02T20:38:42.8056733Z","updatedOn":"2021-04-02T20:38:42.8056733Z","createdBy":"8031e009-cc05-4950-8a8d-78942c4492ac","updatedBy":"8031e009-cc05-4950-8a8d-78942c4492ac","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/fbde6f07-618e-be11-0306-d47d5b4667ec/providers/Microsoft.Authorization/roleAssignments/ed926da7-95d7-4310-be1e-973f44a803cd","type":"Microsoft.Authorization/roleAssignments","name":"ed926da7-95d7-4310-be1e-973f44a803cd"},{"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/fbde6f07-618e-be11-0306-d47d5b4667ec","condition":null,"conditionVersion":null,"createdOn":"2021-04-22T15:01:27.4305654Z","updatedOn":"2021-04-22T15:01:27.4305654Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/fbde6f07-618e-be11-0306-d47d5b4667ec/providers/Microsoft.Authorization/roleAssignments/ba3cfc20-7a42-4dd0-a33b-1191c6b54c4d","type":"Microsoft.Authorization/roleAssignments","name":"ba3cfc20-7a42-4dd0-a33b-1191c6b54c4d"},{"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 content-length: - - '33753' + - '182869' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:17:01 GMT + - Wed, 01 Dec 2021 14:16:27 GMT expires: - '-1' pragma: @@ -601,19 +602,19 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesto2itwlxbu-79a739", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestvmrvtq22x-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", "vnetSubnetID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"aciConnectorLinux": - {"enabled": true, "config": {"SubnetName": "aci-subnet"}}}, "enableRBAC": true, - "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "azure", - "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": - false}}' + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"aciConnectorLinux": {"enabled": + true, "config": {"SubnetName": "aci-subnet"}}}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "azure", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}, "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -624,40 +625,40 @@ interactions: Connection: - keep-alive Content-Length: - - '1527' + - '1884' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesto2itwlxbu-79a739\",\n \"fqdn\": - \"cliakstest-clitesto2itwlxbu-79a739-c4b91c10.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesto2itwlxbu-79a739-c4b91c10.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestvmrvtq22x-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestvmrvtq22x-8ecadf-5d1595fc.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestvmrvtq22x-8ecadf-5d1595fc.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 \"workloadRuntime\": \"OCIContainer\",\n \"vnetSubnetID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n - \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": + false,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n + \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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 \"addonProfiles\": {\n \"aciConnectorLinux\": {\n \"enabled\": @@ -668,22 +669,23 @@ interactions: \ \"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\": 100,\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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/fa2656e1-608f-4329-8173-46cf36905d25?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ff91166-3366-497d-9906-7df7ab4df730?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3162' + - '3574' content-type: - application/json date: - - Tue, 19 Oct 2021 05:17:07 GMT + - Wed, 01 Dec 2021 14:16:32 GMT expires: - '-1' pragma: @@ -695,7 +697,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -714,63 +716,14 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa2656e1-608f-4329-8173-46cf36905d25?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"e15626fa-8f60-2943-8173-46cf36905d25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:17:07.53Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:17: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin - -a --aci-subnet-name --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa2656e1-608f-4329-8173-46cf36905d25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ff91166-3366-497d-9906-7df7ab4df730?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e15626fa-8f60-2943-8173-46cf36905d25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:17:07.53Z\"\n }" + string: "{\n \"name\": \"6611f94f-6633-7d49-9906-7df7ab4df730\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:32.93Z\"\n }" headers: cache-control: - no-cache @@ -779,7 +732,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 05:18:08 GMT + - Wed, 01 Dec 2021 14:17:03 GMT expires: - '-1' pragma: @@ -812,14 +765,14 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa2656e1-608f-4329-8173-46cf36905d25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ff91166-3366-497d-9906-7df7ab4df730?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e15626fa-8f60-2943-8173-46cf36905d25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:17:07.53Z\"\n }" + string: "{\n \"name\": \"6611f94f-6633-7d49-9906-7df7ab4df730\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:32.93Z\"\n }" headers: cache-control: - no-cache @@ -828,7 +781,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 05:18:38 GMT + - Wed, 01 Dec 2021 14:17:33 GMT expires: - '-1' pragma: @@ -861,14 +814,14 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa2656e1-608f-4329-8173-46cf36905d25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ff91166-3366-497d-9906-7df7ab4df730?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e15626fa-8f60-2943-8173-46cf36905d25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:17:07.53Z\"\n }" + string: "{\n \"name\": \"6611f94f-6633-7d49-9906-7df7ab4df730\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:32.93Z\"\n }" headers: cache-control: - no-cache @@ -877,7 +830,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 05:19:07 GMT + - Wed, 01 Dec 2021 14:18:03 GMT expires: - '-1' pragma: @@ -910,14 +863,14 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa2656e1-608f-4329-8173-46cf36905d25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ff91166-3366-497d-9906-7df7ab4df730?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e15626fa-8f60-2943-8173-46cf36905d25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:17:07.53Z\"\n }" + string: "{\n \"name\": \"6611f94f-6633-7d49-9906-7df7ab4df730\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:32.93Z\"\n }" headers: cache-control: - no-cache @@ -926,7 +879,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 05:19:38 GMT + - Wed, 01 Dec 2021 14:18:34 GMT expires: - '-1' pragma: @@ -959,23 +912,24 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa2656e1-608f-4329-8173-46cf36905d25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ff91166-3366-497d-9906-7df7ab4df730?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e15626fa-8f60-2943-8173-46cf36905d25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:17:07.53Z\"\n }" + string: "{\n \"name\": \"6611f94f-6633-7d49-9906-7df7ab4df730\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:16:32.93Z\",\n \"endTime\": + \"2021-12-01T14:18:56.4711597Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 05:20:08 GMT + - Wed, 01 Dec 2021 14:19:04 GMT expires: - '-1' pragma: @@ -1008,83 +962,33 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fa2656e1-608f-4329-8173-46cf36905d25?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"e15626fa-8f60-2943-8173-46cf36905d25\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T05:17:07.53Z\",\n \"endTime\": - \"2021-10-19T05:20:31.961827Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '164' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:20: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin - -a --aci-subnet-name --yes --ssh-key-value -o - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesto2itwlxbu-79a739\",\n \"fqdn\": - \"cliakstest-clitesto2itwlxbu-79a739-c4b91c10.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesto2itwlxbu-79a739-c4b91c10.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestvmrvtq22x-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestvmrvtq22x-8ecadf-5d1595fc.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestvmrvtq22x-8ecadf-5d1595fc.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 \"workloadRuntime\": \"OCIContainer\",\n \"vnetSubnetID\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet\",\n - \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": + false,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n + \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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 \"addonProfiles\": {\n \"aciConnectorLinux\": {\n \"enabled\": @@ -1095,25 +999,27 @@ interactions: \ \"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/8a255509-a1de-406d-94d8-bf146ed8db09\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7ae86303-8c37-4d9e-ae95-6759e1256fa0\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"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: - - '4197' + - '4609' content-type: - application/json date: - - Tue, 19 Oct 2021 05:20:38 GMT + - Wed, 01 Dec 2021 14:19:04 GMT expires: - '-1' pragma: @@ -1146,8 +1052,9 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET @@ -1156,7 +1063,7 @@ interactions: body: string: '{"value":[{"properties":{"roleName":"Contributor","type":"BuiltInRole","description":"Grants full access to manage all resources, but does not allow you to assign roles - in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2020-12-04T00:34:54.8501087Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' + in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2021-11-11T20:13:28.6061853Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' headers: cache-control: - no-cache @@ -1165,7 +1072,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:20:39 GMT + - Wed, 01 Dec 2021 14:19:05 GMT expires: - '-1' pragma: @@ -1205,15 +1112,16 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/providers/Microsoft.Authorization/roleAssignments/0f649cf3-fff7-43fb-803a-d15d504f81b5?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/providers/Microsoft.Authorization/roleAssignments/90abe165-e1f7-4c02-bb3c-54279663a2ac?api-version=2020-04-01-preview response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003","condition":null,"conditionVersion":null,"createdOn":"2021-10-19T05:20:40.2779029Z","updatedOn":"2021-10-19T05:20:40.5436206Z","createdBy":null,"updatedBy":"119e1aeb-4592-42d6-9507-c66df857924f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/providers/Microsoft.Authorization/roleAssignments/0f649cf3-fff7-43fb-803a-d15d504f81b5","type":"Microsoft.Authorization/roleAssignments","name":"0f649cf3-fff7-43fb-803a-d15d504f81b5"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:19:06.0792598Z","updatedOn":"2021-12-01T14:19:06.3448749Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/providers/Microsoft.Authorization/roleAssignments/90abe165-e1f7-4c02-bb3c-54279663a2ac","type":"Microsoft.Authorization/roleAssignments","name":"90abe165-e1f7-4c02-bb3c-54279663a2ac"}' headers: cache-control: - no-cache @@ -1222,7 +1130,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:20:41 GMT + - Wed, 01 Dec 2021 14:19:08 GMT expires: - '-1' pragma: @@ -1234,7 +1142,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1194' status: code: 201 message: Created @@ -1253,8 +1161,9 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET @@ -1262,7 +1171,7 @@ interactions: response: body: string: '{"value":[{"properties":{"roleName":"Network Contributor","type":"BuiltInRole","description":"Lets - you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2016-05-31T23:14:00.3326359Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' + you manage networks, but not access to them.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Network/*","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2021-11-11T20:13:44.6328966Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","type":"Microsoft.Authorization/roleDefinitions","name":"4d97b98b-1d4f-4787-a291-c67834d212e7"}]}' headers: cache-control: - no-cache @@ -1271,7 +1180,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:20:41 GMT + - Wed, 01 Dec 2021 14:19:08 GMT expires: - '-1' pragma: @@ -1311,15 +1220,16 @@ interactions: - --resource-group --name --enable-managed-identity --vnet-subnet-id --network-plugin -a --aci-subnet-name --yes --ssh-key-value -o User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/c57b9fda-9a4b-4399-bfd5-a806ba8dc43b?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/214163dc-5f96-4ccd-a2c4-15204fc9652a?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":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet","condition":null,"conditionVersion":null,"createdOn":"2021-10-19T05:20:42.3315981Z","updatedOn":"2021-10-19T05:20:42.6909131Z","createdBy":null,"updatedBy":"119e1aeb-4592-42d6-9507-c66df857924f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/c57b9fda-9a4b-4399-bfd5-a806ba8dc43b","type":"Microsoft.Authorization/roleAssignments","name":"c57b9fda-9a4b-4399-bfd5-a806ba8dc43b"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:19:09.3054273Z","updatedOn":"2021-12-01T14:19:09.5866294Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/cliakstest000003/subnets/aks-subnet/providers/Microsoft.Authorization/roleAssignments/214163dc-5f96-4ccd-a2c4-15204fc9652a","type":"Microsoft.Authorization/roleAssignments","name":"214163dc-5f96-4ccd-a2c4-15204fc9652a"}' headers: cache-control: - no-cache @@ -1328,7 +1238,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:20:43 GMT + - Wed, 01 Dec 2021 14:19:09 GMT expires: - '-1' pragma: @@ -1340,7 +1250,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 201 message: Created @@ -1360,8 +1270,8 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 response: @@ -1369,17 +1279,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8966af8f-2c76-4284-bca6-ac6c9d0c4173?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8dc4c90b-9844-4433-aa34-a690db7e2dac?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 05:20:45 GMT + - Wed, 01 Dec 2021 14:19:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/8966af8f-2c76-4284-bca6-ac6c9d0c4173?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/8dc4c90b-9844-4433-aa34-a690db7e2dac?api-version=2016-03-30 pragma: - no-cache server: @@ -1389,7 +1299,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_create_with_windows.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml old mode 100755 new mode 100644 index fc7bf0df874..33c7bd4dc4d --- 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,57 +1,14 @@ interactions: -- 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 --windows-admin-username - --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin - --ssh-key-value - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:46:34Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 06:46: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", "identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": "replace-Password1234$"}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": @@ -67,7 +24,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1340' + - '1367' Content-Type: - application/json ParameterSetName: @@ -75,30 +32,32 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-559df652.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-559df652.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-498b5ecd.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-498b5ecd.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -108,22 +67,23 @@ interactions: \ \"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\": 100,\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/d118cbe2-f469-40bc-bb3f-3a41823bdc45?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2780' + - '2977' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:42 GMT + - Fri, 11 Feb 2022 07:49:40 GMT expires: - '-1' pragma: @@ -135,7 +95,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 201 message: Created @@ -155,14 +115,64 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f7ff06ae-2ee9-074b-bc37-f1e9bfb41104\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:40.88Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:50: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d118cbe2-f469-40bc-bb3f-3a41823bdc45?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2cb18d1-69f4-bc40-bb3f-3a41823bdc45\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:42.45Z\"\n }" + string: "{\n \"name\": \"f7ff06ae-2ee9-074b-bc37-f1e9bfb41104\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:40.88Z\"\n }" headers: cache-control: - no-cache @@ -171,7 +181,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:12 GMT + - Fri, 11 Feb 2022 07:50:40 GMT expires: - '-1' pragma: @@ -205,14 +215,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d118cbe2-f469-40bc-bb3f-3a41823bdc45?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2cb18d1-69f4-bc40-bb3f-3a41823bdc45\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:42.45Z\"\n }" + string: "{\n \"name\": \"f7ff06ae-2ee9-074b-bc37-f1e9bfb41104\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:40.88Z\"\n }" headers: cache-control: - no-cache @@ -221,7 +231,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:41 GMT + - Fri, 11 Feb 2022 07:51:10 GMT expires: - '-1' pragma: @@ -255,14 +265,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d118cbe2-f469-40bc-bb3f-3a41823bdc45?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2cb18d1-69f4-bc40-bb3f-3a41823bdc45\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:42.45Z\"\n }" + string: "{\n \"name\": \"f7ff06ae-2ee9-074b-bc37-f1e9bfb41104\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:40.88Z\"\n }" headers: cache-control: - no-cache @@ -271,7 +281,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:12 GMT + - Fri, 11 Feb 2022 07:51:41 GMT expires: - '-1' pragma: @@ -305,14 +315,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d118cbe2-f469-40bc-bb3f-3a41823bdc45?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2cb18d1-69f4-bc40-bb3f-3a41823bdc45\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:42.45Z\"\n }" + string: "{\n \"name\": \"f7ff06ae-2ee9-074b-bc37-f1e9bfb41104\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:40.88Z\"\n }" headers: cache-control: - no-cache @@ -321,7 +331,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:48:42 GMT + - Fri, 11 Feb 2022 07:52:10 GMT expires: - '-1' pragma: @@ -355,14 +365,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d118cbe2-f469-40bc-bb3f-3a41823bdc45?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2cb18d1-69f4-bc40-bb3f-3a41823bdc45\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:42.45Z\"\n }" + string: "{\n \"name\": \"f7ff06ae-2ee9-074b-bc37-f1e9bfb41104\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:40.88Z\"\n }" headers: cache-control: - no-cache @@ -371,7 +381,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:12 GMT + - Fri, 11 Feb 2022 07:52:40 GMT expires: - '-1' pragma: @@ -405,14 +415,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d118cbe2-f469-40bc-bb3f-3a41823bdc45?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2cb18d1-69f4-bc40-bb3f-3a41823bdc45\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:42.45Z\"\n }" + string: "{\n \"name\": \"f7ff06ae-2ee9-074b-bc37-f1e9bfb41104\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:49:40.88Z\"\n }" headers: cache-control: - no-cache @@ -421,7 +431,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:49:43 GMT + - Fri, 11 Feb 2022 07:53:10 GMT expires: - '-1' pragma: @@ -455,15 +465,15 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d118cbe2-f469-40bc-bb3f-3a41823bdc45?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae06fff7-e92e-4b07-bc37-f1e9bfb41104?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e2cb18d1-69f4-bc40-bb3f-3a41823bdc45\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:46:42.45Z\",\n \"endTime\": - \"2021-10-19T06:49:46.0973208Z\"\n }" + string: "{\n \"name\": \"f7ff06ae-2ee9-074b-bc37-f1e9bfb41104\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:49:40.88Z\",\n \"endTime\": + \"2022-02-11T07:53:28.2017787Z\"\n }" headers: cache-control: - no-cache @@ -472,7 +482,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:12 GMT + - Fri, 11 Feb 2022 07:53:41 GMT expires: - '-1' pragma: @@ -506,30 +516,32 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-559df652.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-559df652.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-498b5ecd.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-498b5ecd.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -537,25 +549,28 @@ interactions: \ \"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/716211a2-2c13-45d1-9d5c-f3db736c78fe\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/a0a55350-f511-497c-89fa-87cdb902047f\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3443' + - '3630' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:13 GMT + - Fri, 11 Feb 2022 07:53:41 GMT expires: - '-1' pragma: @@ -587,10 +602,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -598,22 +613,22 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '973' + - '1002' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:13 GMT + - Fri, 11 Feb 2022 07:53:41 GMT expires: - '-1' pragma: @@ -653,10 +668,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -666,21 +681,22 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\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/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '913' + - '941' content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:16 GMT + - Fri, 11 Feb 2022 07:53:44 GMT expires: - '-1' pragma: @@ -692,7 +708,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1188' status: code: 201 message: Created @@ -710,14 +726,62 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:54: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -726,7 +790,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:50:47 GMT + - Fri, 11 Feb 2022 07:54:45 GMT expires: - '-1' pragma: @@ -758,14 +822,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -774,7 +838,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:17 GMT + - Fri, 11 Feb 2022 07:55:15 GMT expires: - '-1' pragma: @@ -806,14 +870,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -822,7 +886,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:46 GMT + - Fri, 11 Feb 2022 07:55:45 GMT expires: - '-1' pragma: @@ -854,14 +918,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -870,7 +934,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:16 GMT + - Fri, 11 Feb 2022 07:56:15 GMT expires: - '-1' pragma: @@ -902,14 +966,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -918,7 +982,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:47 GMT + - Fri, 11 Feb 2022 07:56:45 GMT expires: - '-1' pragma: @@ -950,14 +1014,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -966,7 +1030,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:17 GMT + - Fri, 11 Feb 2022 07:57:15 GMT expires: - '-1' pragma: @@ -998,14 +1062,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -1014,7 +1078,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:46 GMT + - Fri, 11 Feb 2022 07:57:45 GMT expires: - '-1' pragma: @@ -1046,14 +1110,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -1062,7 +1126,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:16 GMT + - Fri, 11 Feb 2022 07:58:15 GMT expires: - '-1' pragma: @@ -1094,14 +1158,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -1110,7 +1174,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:47 GMT + - Fri, 11 Feb 2022 07:58:45 GMT expires: - '-1' pragma: @@ -1142,14 +1206,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -1158,7 +1222,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:17 GMT + - Fri, 11 Feb 2022 07:59:15 GMT expires: - '-1' pragma: @@ -1190,14 +1254,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\"\n }" headers: cache-control: - no-cache @@ -1206,7 +1270,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:47 GMT + - Fri, 11 Feb 2022 07:59:45 GMT expires: - '-1' pragma: @@ -1238,15 +1302,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd294ffa-e0ba-4fa6-84c9-1a11d08eccc4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a23b68e5-22b3-4c81-8ffd-5bdf9458d80b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fa4f29fd-bae0-a64f-84c9-1a11d08eccc4\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:50:16.9066666Z\",\n \"endTime\": - \"2021-10-19T06:56:09.9341883Z\"\n }" + string: "{\n \"name\": \"e5683ba2-b322-814c-8ffd-5bdf9458d80b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:53:45.5433333Z\",\n \"endTime\": + \"2022-02-11T08:00:09.2857067Z\"\n }" headers: cache-control: - no-cache @@ -1255,7 +1319,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:16 GMT + - Fri, 11 Feb 2022 08:00:15 GMT expires: - '-1' pragma: @@ -1287,10 +1351,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -1300,19 +1364,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" headers: cache-control: - no-cache content-length: - - '914' + - '942' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:18 GMT + - Fri, 11 Feb 2022 08:00:16 GMT expires: - '-1' pragma: @@ -1344,39 +1409,42 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-559df652.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-559df652.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-498b5ecd.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-498b5ecd.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1384,25 +1452,28 @@ interactions: \ \"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/716211a2-2c13-45d1-9d5c-f3db736c78fe\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/a0a55350-f511-497c-89fa-87cdb902047f\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4141' + - '4366' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:18 GMT + - Fri, 11 Feb 2022 08:00:17 GMT expires: - '-1' pragma: @@ -1422,31 +1493,32 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": - "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": - "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": "1.20.9", - "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.7", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Windows", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", "mode": - "User", "orchestratorVersion": "1.20.9", "upgradeSettings": {}, "powerState": - {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "User", "orchestratorVersion": "1.21.7", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "nodeTaints": [""], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/716211a2-2c13-45d1-9d5c-f3db736c78fe"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1, "countIPv6": 0}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/a0a55350-f511-497c-89fa-87cdb902047f"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1457,45 +1529,48 @@ interactions: Connection: - keep-alive Content-Length: - - '2849' + - '2953' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-559df652.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-559df652.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-498b5ecd.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-498b5ecd.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Updating\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Updating\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1503,27 +1578,30 @@ interactions: \ \"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/716211a2-2c13-45d1-9d5c-f3db736c78fe\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/a0a55350-f511-497c-89fa-87cdb902047f\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 cache-control: - no-cache content-length: - - '4175' + - '4400' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:21 GMT + - Fri, 11 Feb 2022 08:00:19 GMT expires: - '-1' pragma: @@ -1539,7 +1617,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1191' status: code: 200 message: OK @@ -1557,23 +1635,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:51 GMT + - Fri, 11 Feb 2022 08:00:49 GMT expires: - '-1' pragma: @@ -1605,23 +1683,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:21 GMT + - Fri, 11 Feb 2022 08:01:19 GMT expires: - '-1' pragma: @@ -1653,23 +1731,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:51 GMT + - Fri, 11 Feb 2022 08:01:48 GMT expires: - '-1' pragma: @@ -1701,23 +1779,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:21 GMT + - Fri, 11 Feb 2022 08:02:19 GMT expires: - '-1' pragma: @@ -1749,23 +1827,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:58:51 GMT + - Fri, 11 Feb 2022 08:02:49 GMT expires: - '-1' pragma: @@ -1797,23 +1875,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:21 GMT + - Fri, 11 Feb 2022 08:03:19 GMT expires: - '-1' pragma: @@ -1845,23 +1923,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:51 GMT + - Fri, 11 Feb 2022 08:03:49 GMT expires: - '-1' pragma: @@ -1893,23 +1971,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:21 GMT + - Fri, 11 Feb 2022 08:04:19 GMT expires: - '-1' pragma: @@ -1941,23 +2019,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:52 GMT + - Fri, 11 Feb 2022 08:04:49 GMT expires: - '-1' pragma: @@ -1989,23 +2067,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:21 GMT + - Fri, 11 Feb 2022 08:05:20 GMT expires: - '-1' pragma: @@ -2037,23 +2115,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:51 GMT + - Fri, 11 Feb 2022 08:05:50 GMT expires: - '-1' pragma: @@ -2085,23 +2163,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:21 GMT + - Fri, 11 Feb 2022 08:06:20 GMT expires: - '-1' pragma: @@ -2133,23 +2211,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:52 GMT + - Fri, 11 Feb 2022 08:06:50 GMT expires: - '-1' pragma: @@ -2181,23 +2259,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:22 GMT + - Fri, 11 Feb 2022 08:07:20 GMT expires: - '-1' pragma: @@ -2229,23 +2307,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:51 GMT + - Fri, 11 Feb 2022 08:07:49 GMT expires: - '-1' pragma: @@ -2277,23 +2355,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:22 GMT + - Fri, 11 Feb 2022 08:08:20 GMT expires: - '-1' pragma: @@ -2325,23 +2403,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:52 GMT + - Fri, 11 Feb 2022 08:08:50 GMT expires: - '-1' pragma: @@ -2373,23 +2451,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:22 GMT + - Fri, 11 Feb 2022 08:09:20 GMT expires: - '-1' pragma: @@ -2421,23 +2499,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:51 GMT + - Fri, 11 Feb 2022 08:09:50 GMT expires: - '-1' pragma: @@ -2469,23 +2547,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:22 GMT + - Fri, 11 Feb 2022 08:10:21 GMT expires: - '-1' pragma: @@ -2517,23 +2595,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:52 GMT + - Fri, 11 Feb 2022 08:10:50 GMT expires: - '-1' pragma: @@ -2565,23 +2643,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:22 GMT + - Fri, 11 Feb 2022 08:11:20 GMT expires: - '-1' pragma: @@ -2613,23 +2691,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:53 GMT + - Fri, 11 Feb 2022 08:11:50 GMT expires: - '-1' pragma: @@ -2661,23 +2739,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:22 GMT + - Fri, 11 Feb 2022 08:12:21 GMT expires: - '-1' pragma: @@ -2709,23 +2787,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:52 GMT + - Fri, 11 Feb 2022 08:12:51 GMT expires: - '-1' pragma: @@ -2757,23 +2835,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:22 GMT + - Fri, 11 Feb 2022 08:13:21 GMT expires: - '-1' pragma: @@ -2805,23 +2883,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:53 GMT + - Fri, 11 Feb 2022 08:13:51 GMT expires: - '-1' pragma: @@ -2853,23 +2931,263 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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 +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:23 GMT + - Fri, 11 Feb 2022 08:16:52 GMT expires: - '-1' pragma: @@ -2901,24 +3219,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57b30224-fc6f-4aeb-80e9-f387c724556a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2402b357-6ffc-eb4a-80e9-f387c724556a\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:56:21.3466666Z\",\n \"endTime\": - \"2021-10-19T07:10:26.901357Z\"\n }" + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:52 GMT + - Fri, 11 Feb 2022 08:17:22 GMT expires: - '-1' pragma: @@ -2950,39 +3267,91 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e6610757-ecfb-48cd-a9ad-fc5362d195f4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"570761e6-fbec-cd48-a9ad-fc5362d195f4\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:00:19.45Z\",\n \"endTime\": + \"2022-02-11T08:17:29.2930919Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:17: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-ahub + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-559df652.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-559df652.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-498b5ecd.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-498b5ecd.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -2990,25 +3359,28 @@ interactions: \ \"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/716211a2-2c13-45d1-9d5c-f3db736c78fe\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/a0a55350-f511-497c-89fa-87cdb902047f\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4178' + - '4403' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:53 GMT + - Fri, 11 Feb 2022 08:17:52 GMT expires: - '-1' pragma: @@ -3040,10 +3412,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -3051,33 +3423,34 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.2213.210922\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n }\n ]\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2366.220117\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n + }" headers: cache-control: - no-cache content-length: - - '1948' + - '2011' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:54 GMT + - Fri, 11 Feb 2022 08:17:53 GMT expires: - '-1' pragma: @@ -3111,26 +3484,26 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2e4c10b6-0095-4d44-a583-ee6e8b531abd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1b15f099-d318-4027-b823-da63dc3af303?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:10:54 GMT + - Fri, 11 Feb 2022 08:17:53 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/2e4c10b6-0095-4d44-a583-ee6e8b531abd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1b15f099-d318-4027-b823-da63dc3af303?api-version=2016-03-30 pragma: - no-cache server: @@ -3140,7 +3513,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14987' status: code: 202 message: Accepted @@ -3160,26 +3533,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5e47b3eb-c47c-470c-92ff-db76fd124157?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d827f3ea-588d-4eb1-b889-0ac059762a62?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:10:56 GMT + - Fri, 11 Feb 2022 08:17:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/5e47b3eb-c47c-470c-92ff-db76fd124157?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d827f3ea-588d-4eb1-b889-0ac059762a62?api-version=2016-03-30 pragma: - no-cache server: @@ -3189,7 +3562,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14992' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows_gmsa.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows_gmsa.yaml index c078b19bd3a..d46fefebe82 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows_gmsa.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows_gmsa.yaml @@ -1,435 +1,623 @@ interactions: - 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 - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 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/clitest000001?api-version=2021-04-01 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"centraluseuap","tags":{"product":"azurecli","cause":"automation","date":"2021-10-19T09:16:17Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['319'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 19 Oct 2021 09:16:20 GMT'] - expires: ['-1'] - pragma: [no-cache] - strict-transport-security: [max-age=31536000; includeSubDomains] - vary: [Accept-Encoding] - x-content-type-options: [nosniff] - status: {code: 200, message: OK} -- request: - body: '{"location": "centraluseuap", "identity": {"type": "SystemAssigned"}, "properties": + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": - "replace-Password1234$", "gmsaProfile": {"enabled": true}}, "addonProfiles": - {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": - {"networkPlugin": "azure", "outboundType": "loadBalancer", "loadBalancerSku": - "standard"}, "disableLocalAccounts": false}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - Content-Length: ['1709'] - Content-Type: [application/json] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": + "azureuser1", "adminPassword": "replace-Password1234$", "gmsaProfile": {"enabled": + true}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "azure", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}, "disableLocalAccounts": false}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1401' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000001\",\n\ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-d183dd29.hcp.centraluseuap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliaksdns000002-d183dd29.portal.hcp.centraluseuap.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\"\ - : {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true,\n\ - \ \"gmsaProfile\": {\n \"enabled\": true,\n \"dnsServer\": \"\"\ - ,\n \"rootDomainName\": \"\"\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_centraluseuap\"\ - ,\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\": 100,\n\ - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\ - \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/centraluseuap/operations/94d9e607-a417-426e-8006-67d6e35c30eb?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['3231'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:16:32 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: ['1198'] - status: {code: 201, message: Created} + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-b37b2f1c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-b37b2f1c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true,\n + \ \"gmsaProfile\": {\n \"enabled\": true,\n \"dnsServer\": \"\",\n + \ \"rootDomainName\": \"\"\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\": + \"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 \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/737d5d12-14a2-492b-bca4-d05f7d2dcb13?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3075' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:53:30 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: + - '1196' + status: + code: 201 + message: Created - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/94d9e607-a417-426e-8006-67d6e35c30eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/737d5d12-14a2-492b-bca4-d05f7d2dcb13?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"07e6d994-17a4-6e42-8006-67d6e35c30eb\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:16:31.2733333Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:17: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} + body: + string: "{\n \"name\": \"125d7d73-a214-2b49-bca4-d05f7d2dcb13\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:30.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:53: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/94d9e607-a417-426e-8006-67d6e35c30eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/737d5d12-14a2-492b-bca4-d05f7d2dcb13?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"07e6d994-17a4-6e42-8006-67d6e35c30eb\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:16:31.2733333Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:17: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} + body: + string: "{\n \"name\": \"125d7d73-a214-2b49-bca4-d05f7d2dcb13\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:30.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:54: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/94d9e607-a417-426e-8006-67d6e35c30eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/737d5d12-14a2-492b-bca4-d05f7d2dcb13?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"07e6d994-17a4-6e42-8006-67d6e35c30eb\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:16:31.2733333Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:18: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} + body: + string: "{\n \"name\": \"125d7d73-a214-2b49-bca4-d05f7d2dcb13\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:30.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:54: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/94d9e607-a417-426e-8006-67d6e35c30eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/737d5d12-14a2-492b-bca4-d05f7d2dcb13?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"07e6d994-17a4-6e42-8006-67d6e35c30eb\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:16:31.2733333Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:18: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} + body: + string: "{\n \"name\": \"125d7d73-a214-2b49-bca4-d05f7d2dcb13\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:30.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:55:30 GMT + expires: + - '-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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/94d9e607-a417-426e-8006-67d6e35c30eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/737d5d12-14a2-492b-bca4-d05f7d2dcb13?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"07e6d994-17a4-6e42-8006-67d6e35c30eb\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:16:31.2733333Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:19: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} + body: + string: "{\n \"name\": \"125d7d73-a214-2b49-bca4-d05f7d2dcb13\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:30.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:56: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/94d9e607-a417-426e-8006-67d6e35c30eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/737d5d12-14a2-492b-bca4-d05f7d2dcb13?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"07e6d994-17a4-6e42-8006-67d6e35c30eb\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:16:31.2733333Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:19: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} + body: + string: "{\n \"name\": \"125d7d73-a214-2b49-bca4-d05f7d2dcb13\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:53:30.15Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:56:30 GMT + expires: + - '-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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/94d9e607-a417-426e-8006-67d6e35c30eb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/737d5d12-14a2-492b-bca4-d05f7d2dcb13?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"07e6d994-17a4-6e42-8006-67d6e35c30eb\",\n \"\ - status\": \"Succeeded\",\n \"startTime\": \"2021-10-19T09:16:31.2733333Z\"\ - ,\n \"endTime\": \"2021-10-19T09:19:51.8826789Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['170'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:20: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} + body: + string: "{\n \"name\": \"125d7d73-a214-2b49-bca4-d05f7d2dcb13\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:53:30.15Z\",\n \"endTime\": + \"2022-02-11T07:56:59.5268352Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000001\",\n\ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-d183dd29.hcp.centraluseuap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliaksdns000002-d183dd29.portal.hcp.centraluseuap.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\"\ - : {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true,\n\ - \ \"gmsaProfile\": {\n \"enabled\": true,\n \"dnsServer\": \"\"\ - ,\n \"rootDomainName\": \"\"\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_centraluseuap\"\ - ,\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_centraluseuap/providers/Microsoft.Network/publicIPAddresses/29805b76-d2ce-4438-9e08-314f7c8b3639\"\ - \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_centraluseuap/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 \"publicNetworkAccess\": \"Enabled\"\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: ['3906'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:20: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} + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-b37b2f1c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-b37b2f1c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true,\n + \ \"gmsaProfile\": {\n \"enabled\": true,\n \"dnsServer\": \"\",\n + \ \"rootDomainName\": \"\"\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\": + \"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/3e0a2cbe-ca7f-4a3c-80c5-11f843d7c106\"\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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3728' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57: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: 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: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + 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: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview 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 \"workloadRuntime\": \"OCIContainer\",\n\ - \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n\ - \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"enableFIPS\": false\n\ - \ }\n }\n ]\n }"} - headers: - cache-control: [no-cache] - content-length: ['973'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:20: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} + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '1002' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57: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: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "workloadRuntime": "OCIContainer", "osType": "Windows", "scaleDownMode": "Delete", "mode": "User", @@ -437,563 +625,866 @@ interactions: "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false}}' headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - Content-Length: ['394'] - Content-Type: [application/json] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '394' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\"\ - : false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n\ - \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\"\ - : \"AKSWindows-2019-17763.2237.211014\",\n \"upgradeSettings\": {},\n \ - \ \"enableFIPS\": false\n }\n }"} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['913'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:20:09 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: ['1197'] - status: {code: 201, message: Created} -- request: - body: null + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - 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/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:20: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} + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '941' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57:03 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: + - '1191' + status: + code: 201 + message: Created - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:21: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:21: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:58: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:22: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:58: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:22: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:59: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:23: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:59: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:23: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:00: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:24: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:00: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:24: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:01: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:25: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:01: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:25: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:02: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:26: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:02: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/b1d20bee-28af-440b-aa95-3636aca40279?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/19277672-f6c6-4cb6-8565-9ed5a895d2ba?api-version=2016-03-30 response: - body: {string: "{\n \"name\": \"ee0bd2b1-af28-0b44-aa95-3636aca40279\",\n \"\ - status\": \"Succeeded\",\n \"startTime\": \"2021-10-19T09:20:09.4466666Z\"\ - ,\n \"endTime\": \"2021-10-19T09:26:35.948049Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['169'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:26: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} + body: + string: "{\n \"name\": \"72762719-c6f6-b64c-8565-9ed5a895d2ba\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:57:04.78Z\",\n \"endTime\": + \"2022-02-11T08:02:55.4954865Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"\ - enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ - : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"\ - nodeImageVersion\": \"AKSWindows-2019-17763.2237.211014\",\n \"upgradeSettings\"\ - : {},\n \"enableFIPS\": false\n }\n }"} - headers: - cache-control: [no-cache] - content-length: ['914'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:26: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} + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: null headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool delete] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --no-wait] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview 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 \"workloadRuntime\": \"OCIContainer\",\n\ - \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n\ - \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.10.13\",\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 \"workloadRuntime\": \"OCIContainer\",\n\ - \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\"\ - ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2237.211014\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n\ - \ ]\n }"} - headers: - cache-control: [no-cache] - content-length: ['1948'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:26: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} + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2366.220117\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n + }" + headers: + cache-control: + - no-cache + content-length: + - '2011' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:03: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: null headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool delete] - Connection: [keep-alive] - Content-Length: ['0'] - ParameterSetName: [--resource-group --cluster-name --name --no-wait] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --cluster-name --name --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: - body: {string: ''} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/19e83d23-098c-4f6c-8812-3a49a6129219?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['0'] - date: ['Tue, 19 Oct 2021 09:26:48 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operationresults/19e83d23-098c-4f6c-8812-3a49a6129219?api-version=2016-03-30'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-deletes: ['14998'] - status: {code: 202, message: Accepted} + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/55d41702-877b-40ca-91d9-9ee656a4ee5f?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 11 Feb 2022 08:03:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/55d41702-877b-40ca-91d9-9ee656a4ee5f?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14997' + status: + code: 202 + message: Accepted - request: body: null headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks delete] - Connection: [keep-alive] - Content-Length: ['0'] - ParameterSetName: [-g -n --yes --no-wait] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview response: - body: {string: ''} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ec6080c7-559c-4566-a077-8ac3bd1c1edb?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['0'] - date: ['Tue, 19 Oct 2021 09:26:50 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operationresults/ec6080c7-559c-4566-a077-8ac3bd1c1edb?api-version=2016-03-30'] - 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} + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a68bd226-68f5-4daf-8494-012f95f726fb?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 11 Feb 2022 08:03:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/a68bd226-68f5-4daf-8494-012f95f726fb?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14994' + status: + code: 202 + message: Accepted version: 1 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 old mode 100755 new mode 100644 index 1f473cc91f6..e702d467872 --- 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 @@ -13,12 +13,12 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:22:20Z"},"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-12-01T14:15:49Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -27,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:22 GMT + - Wed, 01 Dec 2021 14:15:49 GMT expires: - '-1' pragma: @@ -59,15 +59,16 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003?api-version=2015-08-31-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003","name":"cliakstest000003","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=fb8185d1-e3ad-4ce9-a3a2-60787a57d835&aid=511a5a1f-dcc0-4f51-98b5-98cd6a093590"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003","name":"cliakstest000003","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=8cb6f728-ba4b-440f-a62c-f063f40caa5e&aid=a1c0e04c-28d1-43ff-b08d-855bbb74bc84"}}' headers: cache-control: - no-cache @@ -76,7 +77,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:25 GMT + - Wed, 01 Dec 2021 14:15:51 GMT expires: - '-1' location: @@ -88,7 +89,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 201 message: Created @@ -106,12 +107,12 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:22:20Z"},"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-12-01T14:15:49Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -120,7 +121,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:26 GMT + - Wed, 01 Dec 2021 14:15:51 GMT expires: - '-1' pragma: @@ -152,15 +153,16 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004?api-version=2015-08-31-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004","name":"cliakstest000004","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=3cee5ab1-3db5-4207-992d-ff316d714a6c&aid=53d210b2-87be-4db2-91fc-f966c1e89bc3"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004","name":"cliakstest000004","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=7d62a567-f3b5-4e95-9a3b-725c28e92500&aid=647acc72-9453-4d19-9ae2-017f1fb4e401"}}' headers: cache-control: - no-cache @@ -169,7 +171,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:31 GMT + - Wed, 01 Dec 2021 14:15:54 GMT expires: - '-1' location: @@ -181,7 +183,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -200,12 +202,12 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T05:22:20Z"},"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-12-01T14:15:49Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -214,7 +216,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:31 GMT + - Wed, 01 Dec 2021 14:15:54 GMT expires: - '-1' pragma: @@ -245,15 +247,16 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004?api-version=2015-08-31-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004","name":"cliakstest000004","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=3cee5ab1-3db5-4207-992d-ff316d714a6c&aid=53d210b2-87be-4db2-91fc-f966c1e89bc3"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004","name":"cliakstest000004","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=7d62a567-f3b5-4e95-9a3b-725c28e92500&aid=647acc72-9453-4d19-9ae2-017f1fb4e401"}}' headers: cache-control: - no-cache @@ -262,7 +265,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:32 GMT + - Wed, 01 Dec 2021 14:15:55 GMT expires: - '-1' pragma: @@ -295,15 +298,16 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003?api-version=2015-08-31-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003","name":"cliakstest000003","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=fb8185d1-e3ad-4ce9-a3a2-60787a57d835&aid=511a5a1f-dcc0-4f51-98b5-98cd6a093590"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003","name":"cliakstest000003","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=8cb6f728-ba4b-440f-a62c-f063f40caa5e&aid=a1c0e04c-28d1-43ff-b08d-855bbb74bc84"}}' headers: cache-control: - no-cache @@ -312,7 +316,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:32 GMT + - Wed, 01 Dec 2021 14:15:56 GMT expires: - '-1' pragma: @@ -343,24 +347,25 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET 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/8e3af657-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-26T05:33:00.7067936Z","updatedOn":"2021-04-26T05:33:00.7067936Z","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/2adf4737-6342-4f63-aeb2-5fcd3426a387","type":"Microsoft.Authorization/roleAssignments","name":"2adf4737-6342-4f63-aeb2-5fcd3426a387"},{"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-04-26T06:09:24.5972802Z","updatedOn":"2021-04-26T06:09:24.5972802Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c4572c05-f69f-4e5c-aac6-79afefcf0e2e","type":"Microsoft.Authorization/roleAssignments","name":"c4572c05-f69f-4e5c-aac6-79afefcf0e2e"},{"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-06-18T05:18:40.4643436Z","updatedOn":"2021-06-18T05:18:40.4643436Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3f926301-cc14-4a88-a3b7-c159d73d01f6","type":"Microsoft.Authorization/roleAssignments","name":"3f926301-cc14-4a88-a3b7-c159d73d01f6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-09-18T03:09:33.8702688Z","updatedOn":"2021-09-18T03:09:33.8702688Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/99d6fd13-909e-4c52-807e-77f7a5af83c8","type":"Microsoft.Authorization/roleAssignments","name":"99d6fd13-909e-4c52-807e-77f7a5af83c8"},{"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":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de","condition":null,"conditionVersion":null,"createdOn":"2021-10-07T21:55:07.2303024Z","updatedOn":"2021-10-07T21:55:07.2303024Z","createdBy":"8031e009-cc05-4950-8a8d-78942c4492ac","updatedBy":"8031e009-cc05-4950-8a8d-78942c4492ac","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de/providers/Microsoft.Authorization/roleAssignments/99c5a294-bfee-468a-ab2f-f6db60b8c8f3","type":"Microsoft.Authorization/roleAssignments","name":"99c5a294-bfee-468a-ab2f-f6db60b8c8f3"},{"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/465fbb01-3623-f393-e42f-e19c0d2982de","condition":null,"conditionVersion":null,"createdOn":"2021-10-08T17:23:35.8382756Z","updatedOn":"2021-10-08T17:23:35.8382756Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/465fbb01-3623-f393-e42f-e19c0d2982de/providers/Microsoft.Authorization/roleAssignments/ade4333c-4321-4b68-b498-d081d55e2b0c","type":"Microsoft.Authorization/roleAssignments","name":"ade4333c-4321-4b68-b498-d081d55e2b0c"},{"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/dfe50df8-51fe-4401-daad-efca9fc8f14b","condition":null,"conditionVersion":null,"createdOn":"2021-04-22T14:50:37.5977858Z","updatedOn":"2021-04-22T14:50:37.5977858Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/dfe50df8-51fe-4401-daad-efca9fc8f14b/providers/Microsoft.Authorization/roleAssignments/eb6c03a6-8e33-4d47-807c-9cdf9ef1e3d8","type":"Microsoft.Authorization/roleAssignments","name":"eb6c03a6-8e33-4d47-807c-9cdf9ef1e3d8"},{"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/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9136073Z","updatedOn":"2019-03-26T22:01:02.9136073Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6f4de15e-9316-4714-a7c4-40c46cf8e067","type":"Microsoft.Authorization/roleAssignments","name":"6f4de15e-9316-4714-a7c4-40c46cf8e067"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:13.2137492Z","updatedOn":"2020-02-25T18:36:13.2137492Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/18fdd87e-1c01-424e-b380-32310f4940c2","type":"Microsoft.Authorization/roleAssignments","name":"18fdd87e-1c01-424e-b380-32310f4940c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:00.4746112Z","updatedOn":"2020-02-25T18:36:00.4746112Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d9bcf58a-6f24-446d-bf60-20ffe5142396","type":"Microsoft.Authorization/roleAssignments","name":"d9bcf58a-6f24-446d-bf60-20ffe5142396"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:55.7490022Z","updatedOn":"2020-02-25T18:35:55.7490022Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6e2b954b-42b2-48e0-997a-622601f0a4b4","type":"Microsoft.Authorization/roleAssignments","name":"6e2b954b-42b2-48e0-997a-622601f0a4b4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:57.9173081Z","updatedOn":"2020-02-25T18:35:57.9173081Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9","type":"Microsoft.Authorization/roleAssignments","name":"8d76aaa3-fcfd-4ea5-8c7c-363d250e7ae9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:23.0673659Z","updatedOn":"2020-02-25T18:36:23.0673659Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d0817c57-3e5b-4363-88b7-52baadd5c362","type":"Microsoft.Authorization/roleAssignments","name":"d0817c57-3e5b-4363-88b7-52baadd5c362"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:31.2596366Z","updatedOn":"2020-02-25T18:36:31.2596366Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0dabf212-a1c7-4af6-ba8b-be045493b368","type":"Microsoft.Authorization/roleAssignments","name":"0dabf212-a1c7-4af6-ba8b-be045493b368"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:35:52.9188704Z","updatedOn":"2020-02-25T18:35:52.9188704Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/d674b853-332e-4437-9ddb-bba8fde7ccce","type":"Microsoft.Authorization/roleAssignments","name":"d674b853-332e-4437-9ddb-bba8fde7ccce"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:38.8393742Z","updatedOn":"2020-02-25T18:36:38.8393742Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/00625383-053d-4227-a4db-b098e9bd2289","type":"Microsoft.Authorization/roleAssignments","name":"00625383-053d-4227-a4db-b098e9bd2289"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-02-25T18:36:05.0954462Z","updatedOn":"2020-02-25T18:36:05.0954462Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/3151fe9c-fcd2-45d3-a256-72fb13b86df5","type":"Microsoft.Authorization/roleAssignments","name":"3151fe9c-fcd2-45d3-a256-72fb13b86df5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2020-07-06T18:51:23.0753297Z","updatedOn":"2020-07-06T18:51:23.0753297Z","createdBy":"d59f4a71-eff1-4bfa-a572-fe518f49f6c7","updatedBy":"d59f4a71-eff1-4bfa-a572-fe518f49f6c7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b3a9e1db-fde1-4ddd-ac1c-91913be67359","type":"Microsoft.Authorization/roleAssignments","name":"b3a9e1db-fde1-4ddd-ac1c-91913be67359"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-09T18:17:33.0012805Z","updatedOn":"2021-08-09T18:17:33.0012805Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/01de8fe7-aae0-4d5c-844a-f0bdb8335252","type":"Microsoft.Authorization/roleAssignments","name":"01de8fe7-aae0-4d5c-844a-f0bdb8335252"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-09T18:17:39.9188336Z","updatedOn":"2021-08-09T18:17:39.9188336Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/ab2be506-5489-4c1f-add0-f5ed87a10439","type":"Microsoft.Authorization/roleAssignments","name":"ab2be506-5489-4c1f-add0-f5ed87a10439"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-24T19:32:18.2000692Z","updatedOn":"2021-08-24T19:32:18.2000692Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/0ce2f3fb-17ea-4193-9081-09aa4b39fec4","type":"Microsoft.Authorization/roleAssignments","name":"0ce2f3fb-17ea-4193-9081-09aa4b39fec4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-08-24T19:32:36.6775144Z","updatedOn":"2021-08-24T19:32:36.6775144Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/2e95b289-99bd-4e68-83de-5433f2a0428c","type":"Microsoft.Authorization/roleAssignments","name":"2e95b289-99bd-4e68-83de-5433f2a0428c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/fd6e57ea-fe3c-4f21-bd1e-de170a9a4971","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-15T21:46:52.6665975Z","updatedOn":"2021-09-15T21:46:52.6665975Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/6d2e0600-74af-4aeb-b479-1718dd4dffdf","type":"Microsoft.Authorization/roleAssignments","name":"6d2e0600-74af-4aeb-b479-1718dd4dffdf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-23T22:47:24.2398372Z","updatedOn":"2021-09-23T22:47:24.2398372Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/68d8c18e-3dd6-4bf4-ae99-aac6ffb945cc","type":"Microsoft.Authorization/roleAssignments","name":"68d8c18e-3dd6-4bf4-ae99-aac6ffb945cc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-09-23T22:48:58.7755038Z","updatedOn":"2021-09-23T22:48:58.7755038Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/1201e06e-7fa6-44c7-bb6b-a4bd82994d4d","type":"Microsoft.Authorization/roleAssignments","name":"1201e06e-7fa6-44c7-bb6b-a4bd82994d4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:10:13.8998989Z","updatedOn":"2021-01-26T20:10:13.8998989Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/b36517ec-61d3-468d-afdc-eceda8adb4ee","type":"Microsoft.Authorization/roleAssignments","name":"b36517ec-61d3-468d-afdc-eceda8adb4ee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-06T00:13:19.1780775Z","updatedOn":"2021-02-06T00:13:19.1780775Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/5216c1ee-4f58-4d36-b379-6c04b1fbd157","type":"Microsoft.Authorization/roleAssignments","name":"5216c1ee-4f58-4d36-b379-6c04b1fbd157"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-24T01:45:04.0423529Z","updatedOn":"2021-02-24T01:45:04.0423529Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/2bcd4a3e-5ac3-4ffa-a529-269be7717766","type":"Microsoft.Authorization/roleAssignments","name":"2bcd4a3e-5ac3-4ffa-a529-269be7717766"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-02-24T01:45:10.2950077Z","updatedOn":"2021-02-24T01:45:10.2950077Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8f8ed3e8-1b37-4ac1-ad01-7a274f600e79","type":"Microsoft.Authorization/roleAssignments","name":"8f8ed3e8-1b37-4ac1-ad01-7a274f600e79"},{"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/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-04-16T18:26:34.3109215Z","updatedOn":"2021-04-16T18:26:34.3109215Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/7464f8a3-9f55-443b-a3a5-44a31b100cad","type":"Microsoft.Authorization/roleAssignments","name":"7464f8a3-9f55-443b-a3a5-44a31b100cad"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-04-16T18:27:56.4446265Z","updatedOn":"2021-04-16T18:27:56.4446265Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/8f430c4c-4317-4495-9f01-4f3d4e1ca111","type":"Microsoft.Authorization/roleAssignments","name":"8f430c4c-4317-4495-9f01-4f3d4e1ca111"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792","condition":null,"conditionVersion":null,"createdOn":"2021-05-04T19:20:06.7695456Z","updatedOn":"2021-05-04T19:20:06.7695456Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/48fed3a1-0814-4847-88ce-b766155f2792/providers/Microsoft.Authorization/roleAssignments/fb8bab14-7f67-4e57-8aa5-0c4b7ab5a0fa","type":"Microsoft.Authorization/roleAssignments","name":"fb8bab14-7f67-4e57-8aa5-0c4b7ab5a0fa"},{"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":"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-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-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/b24988ac-6180-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-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/b24988ac-6180-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":"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/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":"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":"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-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":"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":"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/b24988ac-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-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/8e3af657-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":"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":"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":"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":"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":"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/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":"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":"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":"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":"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":"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-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":"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":"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-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":"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":"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":"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":"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":"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-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":"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":"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-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":"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/b24988ac-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-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-13T03:07:16.5183912Z","updatedOn":"2021-04-13T03:07:16.5183912Z","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/59402850-9c05-11eb-8744-20c9d0477c8f","type":"Microsoft.Authorization/roleAssignments","name":"59402850-9c05-11eb-8744-20c9d0477c8f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-14T19:16:13.6465266Z","updatedOn":"2021-04-14T19:16:13.6465266Z","createdBy":"de044ada-ff3e-448d-9bbd-050ef3f53df2","updatedBy":"de044ada-ff3e-448d-9bbd-050ef3f53df2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e04efa46-9d55-11eb-9723-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"e04efa46-9d55-11eb-9723-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-15T02:29:06.6768532Z","updatedOn":"2021-04-15T02:29:06.6768532Z","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/19165f29-858f-47fa-befe-cd1babe9df75","type":"Microsoft.Authorization/roleAssignments","name":"19165f29-858f-47fa-befe-cd1babe9df75"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-19T08:59:20.4071341Z","updatedOn":"2021-04-19T08:59:20.4071341Z","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/88489205-a0ed-11eb-996c-1a21256cebfc","type":"Microsoft.Authorization/roleAssignments","name":"88489205-a0ed-11eb-996c-1a21256cebfc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-19T22:35:57.5324093Z","updatedOn":"2021-04-19T22:35:57.5324093Z","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/9b85c442-a15f-11eb-8a7c-00155d871f03","type":"Microsoft.Authorization/roleAssignments","name":"9b85c442-a15f-11eb-8a7c-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":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-21T12:31:21.7286225Z","updatedOn":"2021-04-21T12:31:21.7286225Z","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/7770db7c-a29d-11eb-b48f-42472d33150a","type":"Microsoft.Authorization/roleAssignments","name":"7770db7c-a29d-11eb-b48f-42472d33150a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11T02:49:35.7701861Z","updatedOn":"2021-05-11T02:49:35.7701861Z","createdBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","updatedBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/83c25ed3-b203-11eb-8150-56db513b8477","type":"Microsoft.Authorization/roleAssignments","name":"83c25ed3-b203-11eb-8150-56db513b8477"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-12T06:15:49.6202169Z","updatedOn":"2021-05-12T06:15:49.6202169Z","createdBy":"069015af-8ac7-4304-a60f-69a8a50309be","updatedBy":"069015af-8ac7-4304-a60f-69a8a50309be","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7ecced22-b2e9-11eb-bdc4-da23ac480b85","type":"Microsoft.Authorization/roleAssignments","name":"7ecced22-b2e9-11eb-bdc4-da23ac480b85"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-18T02:08:43.3533001Z","updatedOn":"2021-05-18T02:08:43.3533001Z","createdBy":"069015af-8ac7-4304-a60f-69a8a50309be","updatedBy":"069015af-8ac7-4304-a60f-69a8a50309be","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f8582f67-b77d-11eb-bffb-52ac6a27ca65","type":"Microsoft.Authorization/roleAssignments","name":"f8582f67-b77d-11eb-bffb-52ac6a27ca65"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-24T05:29:46.7966317Z","updatedOn":"2021-05-24T05:29:46.7966317Z","createdBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","updatedBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d7389dd2-ee8e-4d34-8703-b304716b1761","type":"Microsoft.Authorization/roleAssignments","name":"d7389dd2-ee8e-4d34-8703-b304716b1761"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-26T10:05:55.6707947Z","updatedOn":"2021-05-26T10:05:55.6707947Z","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/d540fa09-24f4-4f08-a9f2-10f69de7bd62","type":"Microsoft.Authorization/roleAssignments","name":"d540fa09-24f4-4f08-a9f2-10f69de7bd62"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-01T09:38:20.8655603Z","updatedOn":"2021-06-01T09:38:20.8655603Z","createdBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","updatedBy":"78dfe0f4-529a-4e90-b73a-d719757f014f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/18455841-c2bd-11eb-80b3-9a0a2a9b0ea3","type":"Microsoft.Authorization/roleAssignments","name":"18455841-c2bd-11eb-80b3-9a0a2a9b0ea3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-03T16:55:35.8333154Z","updatedOn":"2021-06-03T16:55:35.8333154Z","createdBy":"ae4622a7-bde9-4bca-9599-2d18571bfeba","updatedBy":"ae4622a7-bde9-4bca-9599-2d18571bfeba","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/83e4c5e8-c48c-11eb-b991-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"83e4c5e8-c48c-11eb-b991-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-06-07T22:29:50.4448757Z","updatedOn":"2021-06-07T22:29:50.4448757Z","createdBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","updatedBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/decef2d4-c7df-11eb-a83e-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"decef2d4-c7df-11eb-a83e-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-06-08T21:20:41.4426747Z","updatedOn":"2021-06-08T21:20:41.4426747Z","createdBy":"39fc5957-4b28-4245-a1ca-0c05574dd32b","updatedBy":"39fc5957-4b28-4245-a1ca-0c05574dd32b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/607bf63e-c89f-11eb-8348-eecc6a504bf0","type":"Microsoft.Authorization/roleAssignments","name":"607bf63e-c89f-11eb-8348-eecc6a504bf0"},{"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-06-15T14:35:18.7357331Z","updatedOn":"2021-06-15T14:35:18.7357331Z","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/b1151242-c950-413d-a273-4109579eac8a","type":"Microsoft.Authorization/roleAssignments","name":"b1151242-c950-413d-a273-4109579eac8a"},{"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-06-15T14:35:18.7937546Z","updatedOn":"2021-06-15T14:35:18.7937546Z","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/dc21aa69-a99c-435e-a256-64885b24ec34","type":"Microsoft.Authorization/roleAssignments","name":"dc21aa69-a99c-435e-a256-64885b24ec34"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-15T15:23:52.9337722Z","updatedOn":"2021-06-15T15:23:52.9337722Z","createdBy":"1faabf99-27a1-4d2e-9e28-295923ee7a14","updatedBy":"1faabf99-27a1-4d2e-9e28-295923ee7a14","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b1f9ad80-cded-11eb-81da-86d728f15930","type":"Microsoft.Authorization/roleAssignments","name":"b1f9ad80-cded-11eb-81da-86d728f15930"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-24T01:15:20.6480687Z","updatedOn":"2021-06-24T01:15:20.6480687Z","createdBy":"579a5a8e-a3ce-45fc-97d6-4356669fe2db","updatedBy":"579a5a8e-a3ce-45fc-97d6-4356669fe2db","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a3fe463a-d489-11eb-bcf6-88e9fe77d9d9","type":"Microsoft.Authorization/roleAssignments","name":"a3fe463a-d489-11eb-bcf6-88e9fe77d9d9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-29T00:02:18.3011415Z","updatedOn":"2021-06-29T00:02:18.3011415Z","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/6ba1c6ba-8f43-4749-9af5-b852adc24ec4","type":"Microsoft.Authorization/roleAssignments","name":"6ba1c6ba-8f43-4749-9af5-b852adc24ec4"},{"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":"2021-06-29T00:02:18.3104039Z","updatedOn":"2021-06-29T00:02:18.3104039Z","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/f1b67008-79aa-4059-a618-9f31a59e17ad","type":"Microsoft.Authorization/roleAssignments","name":"f1b67008-79aa-4059-a618-9f31a59e17ad"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-06-29T03:26:28.3273724Z","updatedOn":"2021-06-29T03:26:28.3273724Z","createdBy":"5dc8b685-8bb3-4140-b266-34da5be22de8","updatedBy":"5dc8b685-8bb3-4140-b266-34da5be22de8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cacd20e2-d889-11eb-8faf-365b90995dcc","type":"Microsoft.Authorization/roleAssignments","name":"cacd20e2-d889-11eb-8faf-365b90995dcc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-02T16:47:51.6512150Z","updatedOn":"2021-07-02T16:47:51.6512150Z","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/3ce776fa-db55-11eb-9c3e-0ee0ced9a7ad","type":"Microsoft.Authorization/roleAssignments","name":"3ce776fa-db55-11eb-9c3e-0ee0ced9a7ad"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-02T18:02:58.7913777Z","updatedOn":"2021-07-02T18:02:58.7913777Z","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/bb92467e-db5f-11eb-93bb-52bfc6c4d939","type":"Microsoft.Authorization/roleAssignments","name":"bb92467e-db5f-11eb-93bb-52bfc6c4d939"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-02T18:34:50.6034803Z","updatedOn":"2021-07-02T18:34:50.6034803Z","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/4e537d7a-5a2e-419c-8c51-0f55adab0793","type":"Microsoft.Authorization/roleAssignments","name":"4e537d7a-5a2e-419c-8c51-0f55adab0793"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-12T18:22:41.0622548Z","updatedOn":"2021-07-12T18:22:41.0622548Z","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/0a840989-f344-4bca-97c4-0f91fa1537c6","type":"Microsoft.Authorization/roleAssignments","name":"0a840989-f344-4bca-97c4-0f91fa1537c6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-14T19:03:30.7799600Z","updatedOn":"2021-07-14T19:03:30.7799600Z","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/2d4385bd-e4d6-11eb-9e75-0a4737195831","type":"Microsoft.Authorization/roleAssignments","name":"2d4385bd-e4d6-11eb-9e75-0a4737195831"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-26T03:44:43.4505353Z","updatedOn":"2021-07-26T03:44:43.4505353Z","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/79b52c96-edc4-11eb-8bd7-1e3bd0e19ace","type":"Microsoft.Authorization/roleAssignments","name":"79b52c96-edc4-11eb-8bd7-1e3bd0e19ace"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-07-28T21:04:39.7105526Z","updatedOn":"2021-07-28T21:04:39.7105526Z","createdBy":"38c161af-2e06-4c57-9ed6-8727052181d3","updatedBy":"38c161af-2e06-4c57-9ed6-8727052181d3","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b9c8936-efe7-11eb-9484-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"6b9c8936-efe7-11eb-9484-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-08-04T02:14:38.2049441Z","updatedOn":"2021-08-04T02:14:38.2049441Z","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/b8013ec0-f4c9-11eb-999a-000d3a4fc0a9","type":"Microsoft.Authorization/roleAssignments","name":"b8013ec0-f4c9-11eb-999a-000d3a4fc0a9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/e3c35f4c-e0ca-4b9e-a01e-5ebdd17e2ee7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-08-04T18:45:22.7030533Z","updatedOn":"2021-08-04T18:45:22.7030533Z","createdBy":"aedb4132-9499-4449-90b4-3f7cc9885668","updatedBy":"aedb4132-9499-4449-90b4-3f7cc9885668","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b007f9b6-e259-4c24-b8f1-4b74e434b776","type":"Microsoft.Authorization/roleAssignments","name":"b007f9b6-e259-4c24-b8f1-4b74e434b776"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-08-10T18:57:36.3877809Z","updatedOn":"2021-08-10T18:57:36.3877809Z","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/d31d5edd-fa0c-11eb-a4e8-00155d4b0124","type":"Microsoft.Authorization/roleAssignments","name":"d31d5edd-fa0c-11eb-a4e8-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":"2021-08-11T13:17:28.5790828Z","updatedOn":"2021-08-11T13:17:28.5790828Z","createdBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/79c9ac4e-faa6-11eb-9265-9e748a6ca3f5","type":"Microsoft.Authorization/roleAssignments","name":"79c9ac4e-faa6-11eb-9265-9e748a6ca3f5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-08-24T20:40:36.9427810Z","updatedOn":"2021-08-24T20:40:36.9427810Z","createdBy":"7c582854-cf1c-4eef-ab9d-484a1e95bfe4","updatedBy":"7c582854-cf1c-4eef-ab9d-484a1e95bfe4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/89077b4a-051b-11ec-b690-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"89077b4a-051b-11ec-b690-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-08-25T04:55:32.8103400Z","updatedOn":"2021-08-25T04:55:32.8103400Z","createdBy":"d8f2c3f8-41bf-41ae-aedb-23c9387322a8","updatedBy":"d8f2c3f8-41bf-41ae-aedb-23c9387322a8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ad278da4-0560-11ec-bfcc-00249b623abd","type":"Microsoft.Authorization/roleAssignments","name":"ad278da4-0560-11ec-bfcc-00249b623abd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-08-31T23:45:51.8536519Z","updatedOn":"2021-08-31T23:45:51.8536519Z","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/92d8ca73-0ab5-11ec-9a80-00224809727f","type":"Microsoft.Authorization/roleAssignments","name":"92d8ca73-0ab5-11ec-9a80-00224809727f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-09-13T19:32:31.3713301Z","updatedOn":"2021-09-13T19:32:31.3713301Z","createdBy":"542c144b-d75a-4e78-b43f-a57bb7d8c236","updatedBy":"542c144b-d75a-4e78-b43f-a57bb7d8c236","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/55fb0a56-14c9-11ec-ba1a-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"55fb0a56-14c9-11ec-ba1a-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-09-17T20:45:08.1118919Z","updatedOn":"2021-09-17T20:45:08.1118919Z","createdBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","updatedBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/246a4240-17f8-11ec-a87c-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"246a4240-17f8-11ec-a87c-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-09-20T13:55:46.1211332Z","updatedOn":"2021-09-20T13:55:46.1211332Z","createdBy":"948486bd-c8c5-4c55-9529-ba2b9ae7fa22","updatedBy":"948486bd-c8c5-4c55-9529-ba2b9ae7fa22","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/738cb0ee-1a1a-11ec-bce5-7a98cea1d963","type":"Microsoft.Authorization/roleAssignments","name":"738cb0ee-1a1a-11ec-bce5-7a98cea1d963"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-09-20T16:02:49.0433199Z","updatedOn":"2021-09-20T16:02:49.0433199Z","createdBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/332824b6-1a2c-11ec-94e6-dadb5e134e96","type":"Microsoft.Authorization/roleAssignments","name":"332824b6-1a2c-11ec-94e6-dadb5e134e96"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-09-20T18:45:44.1610490Z","updatedOn":"2021-09-20T18:45:44.1610490Z","createdBy":"5abe6647-6d0a-42a5-9378-28457904e05f","updatedBy":"5abe6647-6d0a-42a5-9378-28457904e05f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f5aacbbc-1a42-11ec-82e7-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"f5aacbbc-1a42-11ec-82e7-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-09-23T14:26:16.9983531Z","updatedOn":"2021-09-23T14:26:16.9983531Z","createdBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","updatedBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/35e02c16-1c7a-11ec-aba5-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"35e02c16-1c7a-11ec-aba5-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":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-09-29T01:26:50.3419658Z","updatedOn":"2021-09-29T01:26:50.3419658Z","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/47eee8e3-89cd-4112-86a8-19f848334dd1","type":"Microsoft.Authorization/roleAssignments","name":"47eee8e3-89cd-4112-86a8-19f848334dd1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-04T20:39:52.4258668Z","updatedOn":"2021-10-04T20:39:52.4258668Z","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/395b589c-2553-11ec-8d77-000d3af95835","type":"Microsoft.Authorization/roleAssignments","name":"395b589c-2553-11ec-8d77-000d3af95835"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-07T22:03:00.0914961Z","updatedOn":"2021-10-07T22:03:00.0914961Z","createdBy":"f7f1e3a2-a6d6-4f0c-8189-067e2f48366d","updatedBy":"f7f1e3a2-a6d6-4f0c-8189-067e2f48366d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/554cbdbb-27ba-11ec-9441-ba8d312253c4","type":"Microsoft.Authorization/roleAssignments","name":"554cbdbb-27ba-11ec-9441-ba8d312253c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-07T22:03:56.3285135Z","updatedOn":"2021-10-07T22:03:56.3285135Z","createdBy":"f7f1e3a2-a6d6-4f0c-8189-067e2f48366d","updatedBy":"f7f1e3a2-a6d6-4f0c-8189-067e2f48366d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/76aa862c-27ba-11ec-a4ef-ba8d312253c4","type":"Microsoft.Authorization/roleAssignments","name":"76aa862c-27ba-11ec-a4ef-ba8d312253c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-08T18:53:10.3503826Z","updatedOn":"2021-10-08T18:53:10.3503826Z","createdBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","updatedBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d9510e6f-d37b-4ce8-8a3b-78e5447b11c4","type":"Microsoft.Authorization/roleAssignments","name":"d9510e6f-d37b-4ce8-8a3b-78e5447b11c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-08T18:59:59.4287762Z","updatedOn":"2021-10-08T18:59:59.4287762Z","createdBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","updatedBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3d1a6d17-6c0a-4105-b86a-dcc55fe735e7","type":"Microsoft.Authorization/roleAssignments","name":"3d1a6d17-6c0a-4105-b86a-dcc55fe735e7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-11T22:29:20.4165411Z","updatedOn":"2021-10-11T22:29:20.4165411Z","createdBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","updatedBy":"bcb58688-52a2-4233-8ce7-b4c7b8e108c8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b5b65050-4b50-4b02-bea3-5986eccdd944","type":"Microsoft.Authorization/roleAssignments","name":"b5b65050-4b50-4b02-bea3-5986eccdd944"},{"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-10-12T02:26:39.4717201Z","updatedOn":"2021-10-12T02:26:39.4717201Z","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/4977775a-1c56-492e-8a5b-5fd0c7b18893","type":"Microsoft.Authorization/roleAssignments","name":"4977775a-1c56-492e-8a5b-5fd0c7b18893"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-12T21:09:25.3258237Z","updatedOn":"2021-10-12T21:09:25.3258237Z","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/869d24c2-b6b1-4a26-9b9c-c50ecb64bc31","type":"Microsoft.Authorization/roleAssignments","name":"869d24c2-b6b1-4a26-9b9c-c50ecb64bc31"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-13T08:19:03.1448099Z","updatedOn":"2021-10-13T08:19:03.1448099Z","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/f8869be9-f94e-47ae-90cb-c4d9bcb5b629","type":"Microsoft.Authorization/roleAssignments","name":"f8869be9-f94e-47ae-90cb-c4d9bcb5b629"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T04:53:25.9502873Z","updatedOn":"2021-10-14T04:53:36.3280652Z","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/f622c27f-a03d-4fb8-b17d-7281dc0a984f","type":"Microsoft.Authorization/roleAssignments","name":"f622c27f-a03d-4fb8-b17d-7281dc0a984f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T05:26:21.6452814Z","updatedOn":"2021-10-14T05:26:21.6452814Z","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/439e7a28-2caf-11ec-ae23-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"439e7a28-2caf-11ec-ae23-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:37:54.7980840Z","updatedOn":"2021-10-14T05:37:54.7980840Z","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/e049894b-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e049894b-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:37:56.1220463Z","updatedOn":"2021-10-14T05:37:56.1220463Z","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/e1920687-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e1920687-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:37:58.2164501Z","updatedOn":"2021-10-14T05:37:58.2164501Z","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/e2809f7d-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e2809f7d-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:00.1774570Z","updatedOn":"2021-10-14T05:38:00.1774570Z","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/e3b78568-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e3b78568-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:01.6914375Z","updatedOn":"2021-10-14T05:38:01.6914375Z","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/e4e3f0fc-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e4e3f0fc-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:03.1856045Z","updatedOn":"2021-10-14T05:38:03.1856045Z","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/e5c7c168-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e5c7c168-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:04.4121266Z","updatedOn":"2021-10-14T05:38:04.4121266Z","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/e6847f02-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e6847f02-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:05.9623251Z","updatedOn":"2021-10-14T05:38:05.9623251Z","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/e7681b77-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e7681b77-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:07.5974823Z","updatedOn":"2021-10-14T05:38:07.5974823Z","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/e82df158-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e82df158-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:09.3591403Z","updatedOn":"2021-10-14T05:38:09.3591403Z","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/e94e3dd9-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"e94e3dd9-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:11.1652349Z","updatedOn":"2021-10-14T05:38:11.1652349Z","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/ea5dbe0d-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"ea5dbe0d-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:12.6474393Z","updatedOn":"2021-10-14T05:38:12.6474393Z","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/eb6e896d-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"eb6e896d-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T05:38:15.1702403Z","updatedOn":"2021-10-14T05:38:15.1702403Z","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/eceee9a0-2cb0-11ec-b830-0022487a7979","type":"Microsoft.Authorization/roleAssignments","name":"eceee9a0-2cb0-11ec-b830-0022487a7979"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/81a9662b-bebf-436f-a333-f67b29880f12","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T06:22:44.8991960Z","updatedOn":"2021-10-14T06:22:44.8991960Z","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/2447d2a2-2cb7-11ec-91be-00224878e942","type":"Microsoft.Authorization/roleAssignments","name":"2447d2a2-2cb7-11ec-91be-00224878e942"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T06:22:46.4374928Z","updatedOn":"2021-10-14T06:22:46.4374928Z","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/251fc151-2cb7-11ec-91be-00224878e942","type":"Microsoft.Authorization/roleAssignments","name":"251fc151-2cb7-11ec-91be-00224878e942"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T07:33:15.8218562Z","updatedOn":"2021-10-14T07:33:15.8218562Z","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/fe04afe4-2cc0-11ec-81ff-0022487b1e92","type":"Microsoft.Authorization/roleAssignments","name":"fe04afe4-2cc0-11ec-81ff-0022487b1e92"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T07:59:18.3020716Z","updatedOn":"2021-10-14T07:59:18.3020716Z","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/a1518374-2cc4-11ec-8880-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"a1518374-2cc4-11ec-8880-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T07:59:20.8876342Z","updatedOn":"2021-10-14T07:59:20.8876342Z","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/a311df17-2cc4-11ec-8880-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"a311df17-2cc4-11ec-8880-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T07:59:22.4477860Z","updatedOn":"2021-10-14T07:59:22.4477860Z","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/a3c5b71e-2cc4-11ec-8880-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"a3c5b71e-2cc4-11ec-8880-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/81a9662b-bebf-436f-a333-f67b29880f12","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:07:23.1051657Z","updatedOn":"2021-10-14T08:07:23.1051657Z","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/c227b3cc-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"c227b3cc-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:07:23.5151178Z","updatedOn":"2021-10-14T08:07:23.5151178Z","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/c29ac901-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"c29ac901-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b7e6dc6d-f1e8-4753-8033-0f276bb0955b","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:07:25.7287942Z","updatedOn":"2021-10-14T08:07:25.7287942Z","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/c40b5411-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"c40b5411-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:07:27.2660976Z","updatedOn":"2021-10-14T08:07:27.2660976Z","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/c4cb6a30-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"c4cb6a30-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:08:16.5190337Z","updatedOn":"2021-10-14T08:08:16.5190337Z","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/e226a828-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"e226a828-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-10-14T08:08:17.7439429Z","updatedOn":"2021-10-14T08:08:17.7439429Z","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/e2e43f64-2cc5-11ec-b225-0022487a0c80","type":"Microsoft.Authorization/roleAssignments","name":"e2e43f64-2cc5-11ec-b225-0022487a0c80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T09:12:04.1832243Z","updatedOn":"2021-10-14T09:12:04.1832243Z","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/5c9e442c-9d64-4022-9246-0c1c21af04be","type":"Microsoft.Authorization/roleAssignments","name":"5c9e442c-9d64-4022-9246-0c1c21af04be"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T17:07:28.8635845Z","updatedOn":"2021-10-14T17:07:28.8635845Z","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/ed48d615-e7d8-4aef-90c7-332d7329e41c","type":"Microsoft.Authorization/roleAssignments","name":"ed48d615-e7d8-4aef-90c7-332d7329e41c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T18:16:37.9837987Z","updatedOn":"2021-10-14T18:16:37.9837987Z","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/debb0903-2d1a-11ec-a603-000d3a06aaec","type":"Microsoft.Authorization/roleAssignments","name":"debb0903-2d1a-11ec-a603-000d3a06aaec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-14T18:39:15.5366398Z","updatedOn":"2021-10-14T18:39:15.5366398Z","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/07caa301-2d1e-11ec-a2ea-0022487748c3","type":"Microsoft.Authorization/roleAssignments","name":"07caa301-2d1e-11ec-a2ea-0022487748c3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-15T17:37:53.7293023Z","updatedOn":"2021-10-15T17:37:53.7293023Z","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/9fbd09f2-2dde-11ec-b3e4-000d3a064a8a","type":"Microsoft.Authorization/roleAssignments","name":"9fbd09f2-2dde-11ec-b3e4-000d3a064a8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-18T06:22:38.4617338Z","updatedOn":"2021-10-18T06:22:38.4617338Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/70844448-8be3-4c6f-9edf-443944f85a5a","type":"Microsoft.Authorization/roleAssignments","name":"70844448-8be3-4c6f-9edf-443944f85a5a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-19T11:29:40.0474212Z","updatedOn":"2021-10-19T11:29:40.0474212Z","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/d86e727f-30cf-11ec-bc8b-000d3ac2ec2b","type":"Microsoft.Authorization/roleAssignments","name":"d86e727f-30cf-11ec-bc8b-000d3ac2ec2b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-10-19T15:23:21.2499478Z","updatedOn":"2021-10-19T15:23:21.2499478Z","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/33f5a6ed-cebd-4589-b9d6-4a5ef2d7db2e","type":"Microsoft.Authorization/roleAssignments","name":"33f5a6ed-cebd-4589-b9d6-4a5ef2d7db2e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-20T20:57:56.8996523Z","updatedOn":"2021-10-20T20:57:56.8996523Z","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/66303328-31e8-11ec-99f4-000d3ac5c858","type":"Microsoft.Authorization/roleAssignments","name":"66303328-31e8-11ec-99f4-000d3ac5c858"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-10-21T15:12:00.0677049Z","updatedOn":"2021-10-21T15:12:00.0677049Z","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/b630a77a-9e75-417f-b251-1584163d8926","type":"Microsoft.Authorization/roleAssignments","name":"b630a77a-9e75-417f-b251-1584163d8926"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-24T17:01:11.1413210Z","updatedOn":"2021-10-24T17:01:11.1413210Z","createdBy":"0d969ded-9dc4-4176-8b0f-5194740910bf","updatedBy":"0d969ded-9dc4-4176-8b0f-5194740910bf","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc196953-34eb-11ec-9f2c-f67edfc01c2b","type":"Microsoft.Authorization/roleAssignments","name":"fc196953-34eb-11ec-9f2c-f67edfc01c2b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-25T21:32:26.0121360Z","updatedOn":"2021-10-25T21:32:26.0121360Z","createdBy":"5b61bc1a-82ca-405c-9768-3ddada621e1b","updatedBy":"5b61bc1a-82ca-405c-9768-3ddada621e1b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0b15fba8-35db-11ec-b404-8c8590c603ee","type":"Microsoft.Authorization/roleAssignments","name":"0b15fba8-35db-11ec-b404-8c8590c603ee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-26T07:30:52.4116907Z","updatedOn":"2021-10-26T07:30:52.4116907Z","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/e78ac58b-8cfe-4ff6-9ac6-41453615c7e8","type":"Microsoft.Authorization/roleAssignments","name":"e78ac58b-8cfe-4ff6-9ac6-41453615c7e8"},{"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-10-26T13:47:01.3444676Z","updatedOn":"2021-10-26T13:47:01.3444676Z","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/4933f1cd-0863-4429-a5be-3a81b2f80105","type":"Microsoft.Authorization/roleAssignments","name":"4933f1cd-0863-4429-a5be-3a81b2f80105"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-10-26T20:43:39.1375235Z","updatedOn":"2021-10-26T20:43:39.1375235Z","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/ad8f56c5-19b6-4e9f-b20f-8e3789a93873","type":"Microsoft.Authorization/roleAssignments","name":"ad8f56c5-19b6-4e9f-b20f-8e3789a93873"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-10-27T01:02:05.1338691Z","updatedOn":"2021-10-27T01:02:05.1338691Z","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/a83de9c2-2bd5-4ba1-bc50-08d475a290a0","type":"Microsoft.Authorization/roleAssignments","name":"a83de9c2-2bd5-4ba1-bc50-08d475a290a0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-10-28T00:14:34.9745357Z","updatedOn":"2021-10-28T00:14:34.9745357Z","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/e3366cd2-4d12-4dbb-b05d-5e914628e986","type":"Microsoft.Authorization/roleAssignments","name":"e3366cd2-4d12-4dbb-b05d-5e914628e986"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-02T23:39:52.9481031Z","updatedOn":"2021-11-02T23:39:52.9481031Z","createdBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","updatedBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b0e37c03-a8a7-4765-af41-9a8584ad6413","type":"Microsoft.Authorization/roleAssignments","name":"b0e37c03-a8a7-4765-af41-9a8584ad6413"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/c7393b34-138c-406f-901b-d8cf2b17e6ae","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-11-03T15:46:17.8935538Z","updatedOn":"2021-11-03T15:46:17.8935538Z","createdBy":"","updatedBy":"","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b5b0e8d6-e30f-42a5-918c-01299416da2c","type":"Microsoft.Authorization/roleAssignments","name":"b5b0e8d6-e30f-42a5-918c-01299416da2c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-11-03T21:43:39.4750265Z","updatedOn":"2021-11-03T21:43:39.4750265Z","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/683b4375-f318-428e-a885-232a29ec8559","type":"Microsoft.Authorization/roleAssignments","name":"683b4375-f318-428e-a885-232a29ec8559"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-03T21:56:29.9810805Z","updatedOn":"2021-11-03T21:56:29.9810805Z","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/e560c31c-8c6e-4bf0-9828-b2db658455b7","type":"Microsoft.Authorization/roleAssignments","name":"e560c31c-8c6e-4bf0-9828-b2db658455b7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-04T06:06:21.8922666Z","updatedOn":"2021-11-04T06:06:21.8922666Z","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/e1dcc78b-03c3-4db3-95a8-643dbcbbf2a3","type":"Microsoft.Authorization/roleAssignments","name":"e1dcc78b-03c3-4db3-95a8-643dbcbbf2a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-04T17:22:28.0293110Z","updatedOn":"2021-11-04T17:22:28.0293110Z","createdBy":"f0c92441-ff57-4565-a1e6-f25d8d3b2116","updatedBy":"f0c92441-ff57-4565-a1e6-f25d8d3b2116","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/84a6167f-c7d5-4404-b786-85fe4327c0ba","type":"Microsoft.Authorization/roleAssignments","name":"84a6167f-c7d5-4404-b786-85fe4327c0ba"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-04T17:24:51.0627597Z","updatedOn":"2021-11-04T17:24:51.0627597Z","createdBy":"f0c92441-ff57-4565-a1e6-f25d8d3b2116","updatedBy":"f0c92441-ff57-4565-a1e6-f25d8d3b2116","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8ff23217-f8a8-4e77-baee-41850cfb5554","type":"Microsoft.Authorization/roleAssignments","name":"8ff23217-f8a8-4e77-baee-41850cfb5554"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-11-12T06:15:22.5918832Z","updatedOn":"2021-11-12T06:15:22.5918832Z","createdBy":"3452d015-48ec-48db-8c4c-80d9205ef053","updatedBy":"3452d015-48ec-48db-8c4c-80d9205ef053","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/88e1d00c-98e5-42b4-8dd0-e96ff5489dca","type":"Microsoft.Authorization/roleAssignments","name":"88e1d00c-98e5-42b4-8dd0-e96ff5489dca"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-11-16T05:21:11.0446928Z","updatedOn":"2021-11-16T05:21:11.0446928Z","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/d01bef88-e1fa-4fc2-bd98-6845063b53b9","type":"Microsoft.Authorization/roleAssignments","name":"d01bef88-e1fa-4fc2-bd98-6845063b53b9"},{"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-11-16T05:22:06.5362889Z","updatedOn":"2021-11-16T05:22:06.5362889Z","createdBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","updatedBy":"6904f123-3ede-43d2-bd0e-2b2f1bbe4a4b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/784d9b03-5635-4c89-ae5b-5c11ceff8a4c","type":"Microsoft.Authorization/roleAssignments","name":"784d9b03-5635-4c89-ae5b-5c11ceff8a4c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-11-16T06:25:33.3315777Z","updatedOn":"2021-11-16T06:25:33.3315777Z","createdBy":"3452d015-48ec-48db-8c4c-80d9205ef053","updatedBy":"3452d015-48ec-48db-8c4c-80d9205ef053","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9c31b5d-d38d-4832-8fc5-10cdb23e4eec","type":"Microsoft.Authorization/roleAssignments","name":"c9c31b5d-d38d-4832-8fc5-10cdb23e4eec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-16T21:47:20.3762106Z","updatedOn":"2021-11-16T21:47:20.3762106Z","createdBy":"756a1e87-e758-4b77-836c-b19b83ca0c72","updatedBy":"756a1e87-e758-4b77-836c-b19b83ca0c72","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19b8a839-de9e-4712-a227-686679e98414","type":"Microsoft.Authorization/roleAssignments","name":"19b8a839-de9e-4712-a227-686679e98414"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-17T05:28:26.3873952Z","updatedOn":"2021-11-17T05:28:26.3873952Z","createdBy":"3452d015-48ec-48db-8c4c-80d9205ef053","updatedBy":"3452d015-48ec-48db-8c4c-80d9205ef053","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a6cb292-435b-45d4-9f44-2dedb6f80804","type":"Microsoft.Authorization/roleAssignments","name":"4a6cb292-435b-45d4-9f44-2dedb6f80804"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-17T08:37:53.6375476Z","updatedOn":"2021-11-17T08:37:53.6375476Z","createdBy":"3042f5b3-7606-4878-821b-833178243939","updatedBy":"3042f5b3-7606-4878-821b-833178243939","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a7314a76-4781-11ec-9554-2eaf851e2751","type":"Microsoft.Authorization/roleAssignments","name":"a7314a76-4781-11ec-9554-2eaf851e2751"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-17T20:29:38.7986222Z","updatedOn":"2021-11-17T20:29:38.7986222Z","createdBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","updatedBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/41224d04-5912-49e9-98f2-df2d0c5768ed","type":"Microsoft.Authorization/roleAssignments","name":"41224d04-5912-49e9-98f2-df2d0c5768ed"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-23T02:37:39.0525328Z","updatedOn":"2021-11-23T02:37:39.0525328Z","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/2917b10b-1776-4726-9e2a-1406d35584aa","type":"Microsoft.Authorization/roleAssignments","name":"2917b10b-1776-4726-9e2a-1406d35584aa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-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-11-24T04:19:48.8430130Z","updatedOn":"2021-11-24T04:19:48.8430130Z","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/4738453f-e889-4428-817e-a18655a6df71","type":"Microsoft.Authorization/roleAssignments","name":"4738453f-e889-4428-817e-a18655a6df71"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-24T14:57:34.7449286Z","updatedOn":"2021-11-24T14:57:34.7449286Z","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/dae433ba-4d36-11ec-9c37-0022487a1506","type":"Microsoft.Authorization/roleAssignments","name":"dae433ba-4d36-11ec-9c37-0022487a1506"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-25T09:08:18.4273553Z","updatedOn":"2021-11-25T09:08:18.4273553Z","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/3a4c23ea-4dcf-11ec-8263-0022487c7a4a","type":"Microsoft.Authorization/roleAssignments","name":"3a4c23ea-4dcf-11ec-8263-0022487c7a4a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-29T22:16:27.4091202Z","updatedOn":"2021-11-29T22:16:27.4091202Z","createdBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","updatedBy":"30bd328a-0c68-4e52-bbfe-da2a58496c1f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dfaf3275-7f8c-449f-875f-d74ca2998764","type":"Microsoft.Authorization/roleAssignments","name":"dfaf3275-7f8c-449f-875f-d74ca2998764"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-30T06:59:34.7676928Z","updatedOn":"2021-11-30T06:59:34.7676928Z","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/d5848b58-7658-45ae-b979-fb230968ddf7","type":"Microsoft.Authorization/roleAssignments","name":"d5848b58-7658-45ae-b979-fb230968ddf7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-30T20:03:43.2359682Z","updatedOn":"2021-11-30T20:03:43.2359682Z","createdBy":"ba670408-9de9-4309-b92c-4273f384a0e8","updatedBy":"ba670408-9de9-4309-b92c-4273f384a0e8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3be3018e-84c0-48a4-bb36-fa997df4a911","type":"Microsoft.Authorization/roleAssignments","name":"3be3018e-84c0-48a4-bb36-fa997df4a911"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-11-30T22:23:07.4635927Z","updatedOn":"2021-11-30T22:23:07.4635927Z","createdBy":"ba670408-9de9-4309-b92c-4273f384a0e8","updatedBy":"ba670408-9de9-4309-b92c-4273f384a0e8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc52b5ce-1a69-4afd-aaab-745522d55219","type":"Microsoft.Authorization/roleAssignments","name":"fc52b5ce-1a69-4afd-aaab-745522d55219"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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-12-01T02:05:06.3947111Z","updatedOn":"2021-12-01T02:05:06.3947111Z","createdBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","updatedBy":"bf718370-139f-4b6e-82a6-c50f6e666c2d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bfd977a2-74fb-4e8f-88a6-72b675ad0813","type":"Microsoft.Authorization/roleAssignments","name":"bfd977a2-74fb-4e8f-88a6-72b675ad0813"},{"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-12-01T13:34:33.8075185Z","updatedOn":"2021-12-01T13:34:33.8075185Z","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/3ce48100-6db5-4ee1-9b02-95913c893175","type":"Microsoft.Authorization/roleAssignments","name":"3ce48100-6db5-4ee1-9b02-95913c893175"},{"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-12-01T13:34:33.8391755Z","updatedOn":"2021-12-01T13:34:33.8391755Z","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/a1c1acea-4de6-4d8d-b718-05da3e7a2f1c","type":"Microsoft.Authorization/roleAssignments","name":"a1c1acea-4de6-4d8d-b718-05da3e7a2f1c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-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":"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/b24988ac-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: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/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/fbde6f07-618e-be11-0306-d47d5b4667ec","condition":null,"conditionVersion":null,"createdOn":"2021-04-02T20:38:42.8056733Z","updatedOn":"2021-04-02T20:38:42.8056733Z","createdBy":"8031e009-cc05-4950-8a8d-78942c4492ac","updatedBy":"8031e009-cc05-4950-8a8d-78942c4492ac","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/fbde6f07-618e-be11-0306-d47d5b4667ec/providers/Microsoft.Authorization/roleAssignments/ed926da7-95d7-4310-be1e-973f44a803cd","type":"Microsoft.Authorization/roleAssignments","name":"ed926da7-95d7-4310-be1e-973f44a803cd"},{"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/fbde6f07-618e-be11-0306-d47d5b4667ec","condition":null,"conditionVersion":null,"createdOn":"2021-04-22T15:01:27.4305654Z","updatedOn":"2021-04-22T15:01:27.4305654Z","createdBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","updatedBy":"1c8b3602-77a2-4e8a-8c1e-f127f2af5ca2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/fbde6f07-618e-be11-0306-d47d5b4667ec/providers/Microsoft.Authorization/roleAssignments/ba3cfc20-7a42-4dd0-a33b-1191c6b54c4d","type":"Microsoft.Authorization/roleAssignments","name":"ba3cfc20-7a42-4dd0-a33b-1191c6b54c4d"},{"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 content-length: - - '33753' + - '182869' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:33 GMT + - Wed, 01 Dec 2021 14:15:56 GMT expires: - '-1' pragma: @@ -393,8 +398,9 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET @@ -402,7 +408,7 @@ interactions: response: body: string: '{"value":[{"properties":{"roleName":"Managed Identity Operator","type":"BuiltInRole","description":"Read - and Assign User Assigned Identity","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.ManagedIdentity/userAssignedIdentities/*/read","Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action","Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Resources/deployments/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2017-12-14T19:52:04.3924594Z","updatedOn":"2017-12-14T22:16:00.1483256Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830","type":"Microsoft.Authorization/roleDefinitions","name":"f1a07417-d97a-45cb-824c-7a7467783830"}]}' + and Assign User Assigned Identity","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.ManagedIdentity/userAssignedIdentities/*/read","Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action","Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Resources/deployments/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2017-12-14T19:52:04.3924594Z","updatedOn":"2021-11-11T20:13:38.9523759Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830","type":"Microsoft.Authorization/roleDefinitions","name":"f1a07417-d97a-45cb-824c-7a7467783830"}]}' headers: cache-control: - no-cache @@ -411,7 +417,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:34 GMT + - Wed, 01 Dec 2021 14:15:56 GMT expires: - '-1' pragma: @@ -451,336 +457,16 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleAssignments/e1d3c1d4-3449-4de8-b948-ea57aefc5ce9?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleAssignments/203ad548-b36f-4e55-9f5d-8c1be3cd1601?api-version=2020-04-01-preview response: body: - string: '{"error":{"code":"PrincipalNotFound","message":"Principal fb8185d1e3ad4ce9a3a260787a57d835 - does not exist in the directory 72f988bf-86f1-41af-91ab-2d7cd011db47."}}' - headers: - cache-control: - - no-cache - content-length: - - '163' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:22:34 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: 400 - message: Bad Request -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --enable-managed-identity --assign-identity - --assign-kubelet-identity --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Managed%20Identity%20Operator%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Managed Identity Operator","type":"BuiltInRole","description":"Read - and Assign User Assigned Identity","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.ManagedIdentity/userAssignedIdentities/*/read","Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action","Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Resources/deployments/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2017-12-14T19:52:04.3924594Z","updatedOn":"2017-12-14T22:16:00.1483256Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830","type":"Microsoft.Authorization/roleDefinitions","name":"f1a07417-d97a-45cb-824c-7a7467783830"}]}' - headers: - cache-control: - - no-cache - content-length: - - '918' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:22:36 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/f1a07417-d97a-45cb-824c-7a7467783830", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --node-count --enable-managed-identity --assign-identity - --assign-kubelet-identity --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleAssignments/31986625-316f-4c00-95af-d6c3539fb6b7?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"PrincipalNotFound","message":"Principal fb8185d1e3ad4ce9a3a260787a57d835 - does not exist in the directory 72f988bf-86f1-41af-91ab-2d7cd011db47."}}' - headers: - cache-control: - - no-cache - content-length: - - '163' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:22:36 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: 400 - message: Bad Request -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --enable-managed-identity --assign-identity - --assign-kubelet-identity --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Managed%20Identity%20Operator%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Managed Identity Operator","type":"BuiltInRole","description":"Read - and Assign User Assigned Identity","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.ManagedIdentity/userAssignedIdentities/*/read","Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action","Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Resources/deployments/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2017-12-14T19:52:04.3924594Z","updatedOn":"2017-12-14T22:16:00.1483256Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830","type":"Microsoft.Authorization/roleDefinitions","name":"f1a07417-d97a-45cb-824c-7a7467783830"}]}' - headers: - cache-control: - - no-cache - content-length: - - '918' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:22: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/f1a07417-d97a-45cb-824c-7a7467783830", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --node-count --enable-managed-identity --assign-identity - --assign-kubelet-identity --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleAssignments/c7d0f434-eb3b-4bd5-872e-40e73925f688?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"PrincipalNotFound","message":"Principal fb8185d1e3ad4ce9a3a260787a57d835 - does not exist in the directory 72f988bf-86f1-41af-91ab-2d7cd011db47."}}' - headers: - cache-control: - - no-cache - content-length: - - '163' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:22: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 - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 400 - message: Bad Request -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --enable-managed-identity --assign-identity - --assign-kubelet-identity --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Managed%20Identity%20Operator%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Managed Identity Operator","type":"BuiltInRole","description":"Read - and Assign User Assigned Identity","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.ManagedIdentity/userAssignedIdentities/*/read","Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action","Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Resources/deployments/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2017-12-14T19:52:04.3924594Z","updatedOn":"2017-12-14T22:16:00.1483256Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830","type":"Microsoft.Authorization/roleDefinitions","name":"f1a07417-d97a-45cb-824c-7a7467783830"}]}' - headers: - cache-control: - - no-cache - content-length: - - '918' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 05:22:48 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/f1a07417-d97a-45cb-824c-7a7467783830", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --node-count --enable-managed-identity --assign-identity - --assign-kubelet-identity --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleAssignments/d3ead753-0130-4845-a711-5b4685c0f437?api-version=2020-04-01-preview - response: - body: - string: '{"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/cliakstest000004","condition":null,"conditionVersion":null,"createdOn":"2021-10-19T05:22:48.3284892Z","updatedOn":"2021-10-19T05:22:48.5627656Z","createdBy":null,"updatedBy":"119e1aeb-4592-42d6-9507-c66df857924f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleAssignments/d3ead753-0130-4845-a711-5b4685c0f437","type":"Microsoft.Authorization/roleAssignments","name":"d3ead753-0130-4845-a711-5b4685c0f437"}' + string: '{"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/cliakstest000004","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:15:57.6133653Z","updatedOn":"2021-12-01T14:15:57.8947309Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleAssignments/203ad548-b36f-4e55-9f5d-8c1be3cd1601","type":"Microsoft.Authorization/roleAssignments","name":"203ad548-b36f-4e55-9f5d-8c1be3cd1601"}' headers: cache-control: - no-cache @@ -789,7 +475,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 05:22:50 GMT + - Wed, 01 Dec 2021 14:15:59 GMT expires: - '-1' pragma: @@ -801,25 +487,26 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 201 message: Created - request: body: '{"location": "westus2", "identity": {"type": "UserAssigned", "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003": - {}}}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestgkywrbz27-79a739", + {}}}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest6vwdm26gw-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.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"}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004", + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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"}, + "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, "disableLocalAccounts": false}}' headers: @@ -832,39 +519,40 @@ interactions: Connection: - keep-alive Content-Length: - - '1909' + - '2266' Content-Type: - application/json ParameterSetName: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgkywrbz27-79a739\",\n \"fqdn\": - \"cliakstest-clitestgkywrbz27-79a739-ce94409f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgkywrbz27-79a739-ce94409f.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vwdm26gw-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6vwdm26gw-8ecadf-30482811.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6vwdm26gw-8ecadf-30482811.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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\": @@ -872,26 +560,27 @@ interactions: {\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 \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004\",\n + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\n },\n \"identity\": {\n \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": - {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003\": + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003\": {\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n }\n \ }\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/53935547-2ac1-42b8-bc76-fd7d5a1214af?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/368ae98d-5750-4763-ae5d-4bfdc8d28b42?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3292' + - '3750' content-type: - application/json date: - - Tue, 19 Oct 2021 05:22:55 GMT + - Wed, 01 Dec 2021 14:16:04 GMT expires: - '-1' pragma: @@ -903,7 +592,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -922,72 +611,23 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/53935547-2ac1-42b8-bc76-fd7d5a1214af?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"47559353-c12a-b842-bc76-fd7d5a1214af\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:22:55.98Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 05:23: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --enable-managed-identity --assign-identity - --assign-kubelet-identity --ssh-key-value - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/53935547-2ac1-42b8-bc76-fd7d5a1214af?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/368ae98d-5750-4763-ae5d-4bfdc8d28b42?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"47559353-c12a-b842-bc76-fd7d5a1214af\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:22:55.98Z\"\n }" + string: "{\n \"name\": \"8de98a36-5057-6347-ae5d-4bfdc8d28b42\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:04.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 05:23:56 GMT + - Wed, 01 Dec 2021 14:16:34 GMT expires: - '-1' pragma: @@ -1020,23 +660,23 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/53935547-2ac1-42b8-bc76-fd7d5a1214af?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/368ae98d-5750-4763-ae5d-4bfdc8d28b42?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"47559353-c12a-b842-bc76-fd7d5a1214af\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:22:55.98Z\"\n }" + string: "{\n \"name\": \"8de98a36-5057-6347-ae5d-4bfdc8d28b42\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:04.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 05:24:26 GMT + - Wed, 01 Dec 2021 14:17:05 GMT expires: - '-1' pragma: @@ -1069,23 +709,23 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/53935547-2ac1-42b8-bc76-fd7d5a1214af?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/368ae98d-5750-4763-ae5d-4bfdc8d28b42?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"47559353-c12a-b842-bc76-fd7d5a1214af\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:22:55.98Z\"\n }" + string: "{\n \"name\": \"8de98a36-5057-6347-ae5d-4bfdc8d28b42\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:04.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 05:24:56 GMT + - Wed, 01 Dec 2021 14:17:35 GMT expires: - '-1' pragma: @@ -1118,23 +758,23 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/53935547-2ac1-42b8-bc76-fd7d5a1214af?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/368ae98d-5750-4763-ae5d-4bfdc8d28b42?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"47559353-c12a-b842-bc76-fd7d5a1214af\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T05:22:55.98Z\"\n }" + string: "{\n \"name\": \"8de98a36-5057-6347-ae5d-4bfdc8d28b42\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:04.6666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 05:25:27 GMT + - Wed, 01 Dec 2021 14:18:05 GMT expires: - '-1' pragma: @@ -1167,24 +807,24 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/53935547-2ac1-42b8-bc76-fd7d5a1214af?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/368ae98d-5750-4763-ae5d-4bfdc8d28b42?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"47559353-c12a-b842-bc76-fd7d5a1214af\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T05:22:55.98Z\",\n \"endTime\": - \"2021-10-19T05:25:34.2255125Z\"\n }" + string: "{\n \"name\": \"8de98a36-5057-6347-ae5d-4bfdc8d28b42\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:16:04.6666666Z\",\n \"endTime\": + \"2021-12-01T14:18:16.5021414Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 05:25:57 GMT + - Wed, 01 Dec 2021 14:18:35 GMT expires: - '-1' pragma: @@ -1217,47 +857,49 @@ interactions: - --resource-group --name --node-count --enable-managed-identity --assign-identity --assign-kubelet-identity --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgkywrbz27-79a739\",\n \"fqdn\": - \"cliakstest-clitestgkywrbz27-79a739-ce94409f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgkywrbz27-79a739-ce94409f.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6vwdm26gw-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6vwdm26gw-8ecadf-30482811.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6vwdm26gw-8ecadf-30482811.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVfdiWPCK7b0PD8/va1l7EvLPBaHEGLDEISGfg3dnpEsOGU/iprRcAL5NFHQ25sALHD73ZjTIH3BcSqI3OfGrmAE4SFB+nohp6gnc0Gd3Hmrl3jdDSHhm10fyAZb+9RPNFKryGFf+7DcgPK3yPJuhoN1SCqV/mMYQuLM5TpXhWEucy0tfTwN2dYyz8N741cPQJ5jdIUzN+bed3yT3d4TYEIcAdR6BlP3JNyfZlCzx5aF43Z2LWnQHdkxcgZGG5yCndaBIRZwAsCOjXuK2iiNszo2ydwD6/HABke+8hGY84bhUSfZy7QPucQIJe5RQcDXDeB7bJGojIz0KVqpHSh4+L - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/1bed6b04-f45c-42e9-a33d-60faada65ee4\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/46f0baa1-da79-4e0c-ad4e-bb28e436b49a\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\n },\n \"identity\": {\n \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": - {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003\": + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n \ }\n }" @@ -1265,11 +907,11 @@ interactions: cache-control: - no-cache content-length: - - '3617' + - '4075' content-type: - application/json date: - - Tue, 19 Oct 2021 05:25:57 GMT + - Wed, 01 Dec 2021 14:18:35 GMT expires: - '-1' pragma: @@ -1303,8 +945,8 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 response: @@ -1312,17 +954,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0d6e3b0f-af21-4d05-a8ff-f0af85bc5810?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/beb3d4bf-9fc1-4611-bbad-c269755615eb?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 05:25:59 GMT + - Wed, 01 Dec 2021 14:18:37 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/0d6e3b0f-af21-4d05-a8ff-f0af85bc5810?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/beb3d4bf-9fc1-4611-bbad-c269755615eb?api-version=2016-03-30 pragma: - no-cache server: @@ -1332,7 +974,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14995' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_gitops.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_gitops.yaml new file mode 100644 index 00000000000..78302d1d628 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_gitops.yaml @@ -0,0 +1,857 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:18:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '312' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:18: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": "eastus", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestsy7o23l2c-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"gitops": {"enabled": 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"}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1774' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsy7o23l2c-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": true,\n \"config\": null\n }\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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/a22c0058-b821-48d4-997a-dcae523a6d30?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3324' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18:45 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: + - '1195' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/a22c0058-b821-48d4-997a-dcae523a6d30?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"58002ca2-21b8-d448-997a-dcae523a6d30\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:18:44.9766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/a22c0058-b821-48d4-997a-dcae523a6d30?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"58002ca2-21b8-d448-997a-dcae523a6d30\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:18:44.9766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/a22c0058-b821-48d4-997a-dcae523a6d30?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"58002ca2-21b8-d448-997a-dcae523a6d30\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:18:44.9766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/a22c0058-b821-48d4-997a-dcae523a6d30?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"58002ca2-21b8-d448-997a-dcae523a6d30\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:18:44.9766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/a22c0058-b821-48d4-997a-dcae523a6d30?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"58002ca2-21b8-d448-997a-dcae523a6d30\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:18:44.9766666Z\",\n \"endTime\": + \"2021-12-01T14:21:00.0972581Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsy7o23l2c-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": true,\n \"config\": null,\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/gitops-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\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/7542f312-be7d-4721-9ba7-530694b0dc98\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4345' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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 disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsy7o23l2c-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": true,\n \"config\": null,\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/gitops-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\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/7542f312-be7d-4721-9ba7-530694b0dc98\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4345' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: '{"location": "eastus", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitestsy7o23l2c-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"gitops": {"enabled": false}}, "nodeResourceGroup": + "MC_clitest000001_cliakstest000002_eastus", "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_eastus/providers/Microsoft.Network/publicIPAddresses/7542f312-be7d-4721-9ba7-530694b0dc98"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '2719' + Content-Type: + - application/json + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsy7o23l2c-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": false,\n \"config\": null\n }\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/7542f312-be7d-4721-9ba7-530694b0dc98\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b60d779c-dac6-43ef-92be-c0a11cb61e0a?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3984' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b60d779c-dac6-43ef-92be-c0a11cb61e0a?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"9c770db6-c6da-ef43-92be-c0a11cb61e0a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:21:20.4933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b60d779c-dac6-43ef-92be-c0a11cb61e0a?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"9c770db6-c6da-ef43-92be-c0a11cb61e0a\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:21:20.4933333Z\",\n \"endTime\": + \"2021-12-01T14:22:20.2138073Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:22: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestsy7o23l2c-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestsy7o23l2c-8ecadf-0d0120c1.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": false,\n \"config\": null\n }\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/7542f312-be7d-4721-9ba7-530694b0dc98\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '3986' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:22: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 +version: 1 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 old mode 100755 new mode 100644 index 7614f687b70..aac321e12e3 --- 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 @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:42: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":"2022-02-11T08:17:54Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:42:54 GMT + - Fri, 11 Feb 2022 08:17:55 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestgiewlp26c-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestk24me2otn-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": {"enabled": true, "config": {}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", @@ -66,62 +67,65 @@ interactions: Connection: - keep-alive Content-Length: - - '1441' + - '1469' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgiewlp26c-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk24me2otn-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\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\": - 100,\n \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/ecbad4b9-6beb-41e8-be3b-c8f47a0ce0ef?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2877' + - '3125' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:57 GMT + - Fri, 11 Feb 2022 08:17:57 GMT expires: - '-1' pragma: @@ -151,23 +155,119 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f9bb5c6b-67f8-944d-b639-56914762623b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:58.73Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:18: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f9bb5c6b-67f8-944d-b639-56914762623b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:58.73Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:18: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ecbad4b9-6beb-41e8-be3b-c8f47a0ce0ef?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b9d4baec-eb6b-e841-be3b-c8f47a0ce0ef\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:57.7733333Z\"\n }" + string: "{\n \"name\": \"f9bb5c6b-67f8-944d-b639-56914762623b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:58.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:27 GMT + - Fri, 11 Feb 2022 08:19:28 GMT expires: - '-1' pragma: @@ -199,23 +299,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ecbad4b9-6beb-41e8-be3b-c8f47a0ce0ef?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b9d4baec-eb6b-e841-be3b-c8f47a0ce0ef\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:57.7733333Z\"\n }" + string: "{\n \"name\": \"f9bb5c6b-67f8-944d-b639-56914762623b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:58.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:43:57 GMT + - Fri, 11 Feb 2022 08:19:58 GMT expires: - '-1' pragma: @@ -247,23 +347,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ecbad4b9-6beb-41e8-be3b-c8f47a0ce0ef?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b9d4baec-eb6b-e841-be3b-c8f47a0ce0ef\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:57.7733333Z\"\n }" + string: "{\n \"name\": \"f9bb5c6b-67f8-944d-b639-56914762623b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:58.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:27 GMT + - Fri, 11 Feb 2022 08:20:28 GMT expires: - '-1' pragma: @@ -295,23 +395,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ecbad4b9-6beb-41e8-be3b-c8f47a0ce0ef?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b9d4baec-eb6b-e841-be3b-c8f47a0ce0ef\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:57.7733333Z\"\n }" + string: "{\n \"name\": \"f9bb5c6b-67f8-944d-b639-56914762623b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:58.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:44:57 GMT + - Fri, 11 Feb 2022 08:20:58 GMT expires: - '-1' pragma: @@ -343,23 +443,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ecbad4b9-6beb-41e8-be3b-c8f47a0ce0ef?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b9d4baec-eb6b-e841-be3b-c8f47a0ce0ef\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:42:57.7733333Z\"\n }" + string: "{\n \"name\": \"f9bb5c6b-67f8-944d-b639-56914762623b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:58.73Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:27 GMT + - Fri, 11 Feb 2022 08:21:28 GMT expires: - '-1' pragma: @@ -391,24 +491,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ecbad4b9-6beb-41e8-be3b-c8f47a0ce0ef?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6b5cbbf9-f867-4d94-b639-56914762623b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b9d4baec-eb6b-e841-be3b-c8f47a0ce0ef\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:42:57.7733333Z\",\n \"endTime\": - \"2021-10-19T06:45:36.9025376Z\"\n }" + string: "{\n \"name\": \"f9bb5c6b-67f8-944d-b639-56914762623b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:17:58.73Z\",\n \"endTime\": + \"2022-02-11T08:21:56.8810988Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:57 GMT + - Fri, 11 Feb 2022 08:21:58 GMT expires: - '-1' pragma: @@ -440,60 +540,64 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgiewlp26c-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk24me2otn-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/176756fa-d00c-4d7e-bfa4-4c6b0271e461\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9ff00fb9-15ef-4940-bd16-526198bdf7eb\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:57 GMT + - Fri, 11 Feb 2022 08:21:58 GMT expires: - '-1' pragma: @@ -525,60 +629,64 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgiewlp26c-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk24me2otn-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/176756fa-d00c-4d7e-bfa4-4c6b0271e461\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9ff00fb9-15ef-4940-bd16-526198bdf7eb\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 06:45:59 GMT + - Fri, 11 Feb 2022 08:21:59 GMT expires: - '-1' pragma: @@ -598,25 +706,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestgiewlp26c-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestk24me2otn-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": - {"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/176756fa-d00c-4d7e-bfa4-4c6b0271e461"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": false}}, "oidcIssuerProfile": {"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/9ff00fb9-15ef-4940-bd16-526198bdf7eb"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -627,37 +737,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2321' + - '2430' Content-Type: - application/json ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgiewlp26c-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk24me2otn-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"openServiceMesh\": {\n \"enabled\": false,\n \"config\": @@ -665,28 +776,31 @@ interactions: \ \"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/176756fa-d00c-4d7e-bfa4-4c6b0271e461\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9ff00fb9-15ef-4940-bd16-526198bdf7eb\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/98d44f25-5892-4335-ba19-c601fc12dc36?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7c7b8a86-f180-40ce-9f03-a576b84160ef?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3541' + - '3777' content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:01 GMT + - Fri, 11 Feb 2022 08:22:02 GMT expires: - '-1' pragma: @@ -702,7 +816,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1192' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7c7b8a86-f180-40ce-9f03-a576b84160ef?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"868a7b7c-80f1-ce40-9f03-a576b84160ef\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:02.92Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:22: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7c7b8a86-f180-40ce-9f03-a576b84160ef?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"868a7b7c-80f1-ce40-9f03-a576b84160ef\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:02.92Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:23: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 @@ -720,14 +930,14 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98d44f25-5892-4335-ba19-c601fc12dc36?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7c7b8a86-f180-40ce-9f03-a576b84160ef?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"254fd498-9258-3543-ba19-c601fc12dc36\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:01.34Z\"\n }" + string: "{\n \"name\": \"868a7b7c-80f1-ce40-9f03-a576b84160ef\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:02.92Z\"\n }" headers: cache-control: - no-cache @@ -736,7 +946,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:46:31 GMT + - Fri, 11 Feb 2022 08:23:32 GMT expires: - '-1' pragma: @@ -768,14 +978,14 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98d44f25-5892-4335-ba19-c601fc12dc36?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7c7b8a86-f180-40ce-9f03-a576b84160ef?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"254fd498-9258-3543-ba19-c601fc12dc36\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:46:01.34Z\"\n }" + string: "{\n \"name\": \"868a7b7c-80f1-ce40-9f03-a576b84160ef\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:02.92Z\"\n }" headers: cache-control: - no-cache @@ -784,7 +994,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:00 GMT + - Fri, 11 Feb 2022 08:24:02 GMT expires: - '-1' pragma: @@ -816,15 +1026,15 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/98d44f25-5892-4335-ba19-c601fc12dc36?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7c7b8a86-f180-40ce-9f03-a576b84160ef?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"254fd498-9258-3543-ba19-c601fc12dc36\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:46:01.34Z\",\n \"endTime\": - \"2021-10-19T06:47:06.7736418Z\"\n }" + string: "{\n \"name\": \"868a7b7c-80f1-ce40-9f03-a576b84160ef\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:22:02.92Z\",\n \"endTime\": + \"2022-02-11T08:24:13.8358877Z\"\n }" headers: cache-control: - no-cache @@ -833,7 +1043,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:31 GMT + - Fri, 11 Feb 2022 08:24:32 GMT expires: - '-1' pragma: @@ -865,31 +1075,32 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestgiewlp26c-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestgiewlp26c-8ecadf-f8e9d478.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestk24me2otn-8ecadf\",\n \"fqdn\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestk24me2otn-8ecadf-591e4f0c.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"openServiceMesh\": {\n \"enabled\": false,\n \"config\": @@ -897,26 +1108,29 @@ interactions: \ \"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/176756fa-d00c-4d7e-bfa4-4c6b0271e461\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9ff00fb9-15ef-4940-bd16-526198bdf7eb\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3543' + - '3779' content-type: - application/json date: - - Tue, 19 Oct 2021 06:47:31 GMT + - Fri, 11 Feb 2022 08:24:33 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index d6373664f6b..9bc030d6839 --- 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 @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:59:29Z"},"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":"2022-02-11T08:08:06Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:59:29 GMT + - Fri, 11 Feb 2022 08:08:06 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestnqpmq5axq-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesth7hnytdhv-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "false"}}}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": @@ -66,37 +67,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1479' + - '1507' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestnqpmq5axq-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesth7hnytdhv-8ecadf\",\n \"fqdn\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -107,22 +109,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/fb75212c-90e3-4f8a-b7b9-d34e743ac21c?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2928' + - '3174' content-type: - application/json date: - - Tue, 19 Oct 2021 06:59:32 GMT + - Fri, 11 Feb 2022 08:08:10 GMT expires: - '-1' pragma: @@ -134,7 +138,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 201 message: Created @@ -152,23 +156,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fb75212c-90e3-4f8a-b7b9-d34e743ac21c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2c2175fb-e390-8a4f-b7b9-d34e743ac21c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:59:33.2Z\"\n }" + string: "{\n \"name\": \"a9138757-2883-1843-983c-75319487a7b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:10.85Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:03 GMT + - Fri, 11 Feb 2022 08:08:40 GMT expires: - '-1' pragma: @@ -200,23 +204,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fb75212c-90e3-4f8a-b7b9-d34e743ac21c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2c2175fb-e390-8a4f-b7b9-d34e743ac21c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:59:33.2Z\"\n }" + string: "{\n \"name\": \"a9138757-2883-1843-983c-75319487a7b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:10.85Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:33 GMT + - Fri, 11 Feb 2022 08:09:11 GMT expires: - '-1' pragma: @@ -248,23 +252,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fb75212c-90e3-4f8a-b7b9-d34e743ac21c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2c2175fb-e390-8a4f-b7b9-d34e743ac21c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:59:33.2Z\"\n }" + string: "{\n \"name\": \"a9138757-2883-1843-983c-75319487a7b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:10.85Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:02 GMT + - Fri, 11 Feb 2022 08:09:40 GMT expires: - '-1' pragma: @@ -296,23 +300,119 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fb75212c-90e3-4f8a-b7b9-d34e743ac21c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2c2175fb-e390-8a4f-b7b9-d34e743ac21c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:59:33.2Z\"\n }" + string: "{\n \"name\": \"a9138757-2883-1843-983c-75319487a7b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:10.85Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a9138757-2883-1843-983c-75319487a7b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:10.85Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity -a --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a9138757-2883-1843-983c-75319487a7b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:10.85Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:33 GMT + - Fri, 11 Feb 2022 08:11:11 GMT expires: - '-1' pragma: @@ -344,23 +444,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fb75212c-90e3-4f8a-b7b9-d34e743ac21c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2c2175fb-e390-8a4f-b7b9-d34e743ac21c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:59:33.2Z\"\n }" + string: "{\n \"name\": \"a9138757-2883-1843-983c-75319487a7b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:10.85Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:03 GMT + - Fri, 11 Feb 2022 08:11:41 GMT expires: - '-1' pragma: @@ -392,24 +492,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fb75212c-90e3-4f8a-b7b9-d34e743ac21c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/578713a9-8328-4318-983c-75319487a7b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2c2175fb-e390-8a4f-b7b9-d34e743ac21c\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:59:33.2Z\",\n \"endTime\": - \"2021-10-19T07:02:27.8671443Z\"\n }" + string: "{\n \"name\": \"a9138757-2883-1843-983c-75319487a7b5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:08:10.85Z\",\n \"endTime\": + \"2022-02-11T08:12:04.2680924Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:33 GMT + - Fri, 11 Feb 2022 08:12:11 GMT expires: - '-1' pragma: @@ -441,31 +541,32 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity -a --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestnqpmq5axq-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesth7hnytdhv-8ecadf\",\n \"fqdn\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -476,26 +577,29 @@ interactions: \ \"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/e850d9d7-22eb-4f61-8e06-3cd28986bdd5\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7cd6010f-9453-4ff9-bf0b-679f9c4b1571\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:33 GMT + - Fri, 11 Feb 2022 08:12:11 GMT expires: - '-1' pragma: @@ -527,31 +631,32 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestnqpmq5axq-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesth7hnytdhv-8ecadf\",\n \"fqdn\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -562,26 +667,29 @@ interactions: \ \"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/e850d9d7-22eb-4f61-8e06-3cd28986bdd5\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7cd6010f-9453-4ff9-bf0b-679f9c4b1571\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:34 GMT + - Fri, 11 Feb 2022 08:12:12 GMT expires: - '-1' pragma: @@ -601,25 +709,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestnqpmq5axq-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitesth7hnytdhv-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": - {"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/e850d9d7-22eb-4f61-8e06-3cd28986bdd5"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": false}}, "oidcIssuerProfile": {"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/7cd6010f-9453-4ff9-bf0b-679f9c4b1571"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -630,37 +740,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2324' + - '2433' Content-Type: - application/json ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestnqpmq5axq-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesth7hnytdhv-8ecadf\",\n \"fqdn\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": false,\n \"config\": @@ -668,28 +779,31 @@ interactions: \ \"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/e850d9d7-22eb-4f61-8e06-3cd28986bdd5\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7cd6010f-9453-4ff9-bf0b-679f9c4b1571\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/1425794e-50a4-40da-89cd-f80ac95324f3?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3877d4a4-5a82-48e0-8b3e-85c54612984d?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3544' + - '3780' content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:36 GMT + - Fri, 11 Feb 2022 08:12:14 GMT expires: - '-1' pragma: @@ -705,7 +819,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1188' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3877d4a4-5a82-48e0-8b3e-85c54612984d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4d47738-825a-e048-8b3e-85c54612984d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:14.76Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:12: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3877d4a4-5a82-48e0-8b3e-85c54612984d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a4d47738-825a-e048-8b3e-85c54612984d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:14.76Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:13: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 @@ -723,14 +933,14 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1425794e-50a4-40da-89cd-f80ac95324f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3877d4a4-5a82-48e0-8b3e-85c54612984d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4e792514-a450-da40-89cd-f80ac95324f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:02:37.24Z\"\n }" + string: "{\n \"name\": \"a4d47738-825a-e048-8b3e-85c54612984d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:14.76Z\"\n }" headers: cache-control: - no-cache @@ -739,7 +949,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:07 GMT + - Fri, 11 Feb 2022 08:13:44 GMT expires: - '-1' pragma: @@ -771,14 +981,14 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1425794e-50a4-40da-89cd-f80ac95324f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3877d4a4-5a82-48e0-8b3e-85c54612984d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4e792514-a450-da40-89cd-f80ac95324f3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:02:37.24Z\"\n }" + string: "{\n \"name\": \"a4d47738-825a-e048-8b3e-85c54612984d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:14.76Z\"\n }" headers: cache-control: - no-cache @@ -787,7 +997,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:36 GMT + - Fri, 11 Feb 2022 08:14:15 GMT expires: - '-1' pragma: @@ -819,15 +1029,15 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1425794e-50a4-40da-89cd-f80ac95324f3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3877d4a4-5a82-48e0-8b3e-85c54612984d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"4e792514-a450-da40-89cd-f80ac95324f3\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:02:37.24Z\",\n \"endTime\": - \"2021-10-19T07:03:39.5722552Z\"\n }" + string: "{\n \"name\": \"a4d47738-825a-e048-8b3e-85c54612984d\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:12:14.76Z\",\n \"endTime\": + \"2022-02-11T08:14:32.7752092Z\"\n }" headers: cache-control: - no-cache @@ -836,7 +1046,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:06 GMT + - Fri, 11 Feb 2022 08:14:45 GMT expires: - '-1' pragma: @@ -868,31 +1078,32 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestnqpmq5axq-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestnqpmq5axq-8ecadf-f04ace1e.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitesth7hnytdhv-8ecadf\",\n \"fqdn\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesth7hnytdhv-8ecadf-a4f0eb63.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": false,\n \"config\": @@ -900,26 +1111,29 @@ interactions: \ \"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/e850d9d7-22eb-4f61-8e06-3cd28986bdd5\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7cd6010f-9453-4ff9-bf0b-679f9c4b1571\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3546' + - '3782' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:07 GMT + - Fri, 11 Feb 2022 08:14:45 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 3f73d9973da..226bc16ac2d --- 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 @@ -14,12 +14,12 @@ interactions: - --resource-group --name --enable-managed-identity --disable-local-accounts --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:53:14Z"},"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-12-01T14:16:36Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -28,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:53:15 GMT + - Wed, 01 Dec 2021 14:16:36 GMT expires: - '-1' pragma: @@ -44,18 +44,19 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestmkqzvgwg6-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest2ccuhabrx-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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"}, "disableLocalAccounts": true}}' + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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"}, + "disableLocalAccounts": true}}' headers: Accept: - application/json @@ -66,39 +67,40 @@ interactions: Connection: - keep-alive Content-Length: - - '1390' + - '1747' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --disable-local-accounts --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmkqzvgwg6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2ccuhabrx-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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\": @@ -106,22 +108,23 @@ interactions: {\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\": - true,\n \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": true\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/f49da3e5-f16c-4a9b-98e7-2ab171ef27fe?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fe7c4b6f-57bb-4509-894e-fcc94e6e0529?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2777' + - '3235' content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:25 GMT + - Wed, 01 Dec 2021 14:16:42 GMT expires: - '-1' pragma: @@ -152,72 +155,23 @@ interactions: - --resource-group --name --enable-managed-identity --disable-local-accounts --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f49da3e5-f16c-4a9b-98e7-2ab171ef27fe?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"e5a39df4-6cf1-9b4a-98e7-2ab171ef27fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:25.13Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 06:53: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --disable-local-accounts - --ssh-key-value - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f49da3e5-f16c-4a9b-98e7-2ab171ef27fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fe7c4b6f-57bb-4509-894e-fcc94e6e0529?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e5a39df4-6cf1-9b4a-98e7-2ab171ef27fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:25.13Z\"\n }" + string: "{\n \"name\": \"6f4b7cfe-bb57-0945-894e-fcc94e6e0529\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:41.8666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:26 GMT + - Wed, 01 Dec 2021 14:17:11 GMT expires: - '-1' pragma: @@ -250,23 +204,23 @@ interactions: - --resource-group --name --enable-managed-identity --disable-local-accounts --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f49da3e5-f16c-4a9b-98e7-2ab171ef27fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fe7c4b6f-57bb-4509-894e-fcc94e6e0529?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e5a39df4-6cf1-9b4a-98e7-2ab171ef27fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:25.13Z\"\n }" + string: "{\n \"name\": \"6f4b7cfe-bb57-0945-894e-fcc94e6e0529\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:41.8666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:55 GMT + - Wed, 01 Dec 2021 14:17:42 GMT expires: - '-1' pragma: @@ -299,23 +253,23 @@ interactions: - --resource-group --name --enable-managed-identity --disable-local-accounts --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f49da3e5-f16c-4a9b-98e7-2ab171ef27fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fe7c4b6f-57bb-4509-894e-fcc94e6e0529?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e5a39df4-6cf1-9b4a-98e7-2ab171ef27fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:25.13Z\"\n }" + string: "{\n \"name\": \"6f4b7cfe-bb57-0945-894e-fcc94e6e0529\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:41.8666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:25 GMT + - Wed, 01 Dec 2021 14:18:12 GMT expires: - '-1' pragma: @@ -348,23 +302,23 @@ interactions: - --resource-group --name --enable-managed-identity --disable-local-accounts --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f49da3e5-f16c-4a9b-98e7-2ab171ef27fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fe7c4b6f-57bb-4509-894e-fcc94e6e0529?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e5a39df4-6cf1-9b4a-98e7-2ab171ef27fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:53:25.13Z\"\n }" + string: "{\n \"name\": \"6f4b7cfe-bb57-0945-894e-fcc94e6e0529\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:16:41.8666666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:56 GMT + - Wed, 01 Dec 2021 14:18:42 GMT expires: - '-1' pragma: @@ -397,24 +351,24 @@ interactions: - --resource-group --name --enable-managed-identity --disable-local-accounts --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f49da3e5-f16c-4a9b-98e7-2ab171ef27fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fe7c4b6f-57bb-4509-894e-fcc94e6e0529?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e5a39df4-6cf1-9b4a-98e7-2ab171ef27fe\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:53:25.13Z\",\n \"endTime\": - \"2021-10-19T06:56:11.6069701Z\"\n }" + string: "{\n \"name\": \"6f4b7cfe-bb57-0945-894e-fcc94e6e0529\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:16:41.8666666Z\",\n \"endTime\": + \"2021-12-01T14:18:59.0405354Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:26 GMT + - Wed, 01 Dec 2021 14:19:12 GMT expires: - '-1' pragma: @@ -447,57 +401,60 @@ interactions: - --resource-group --name --enable-managed-identity --disable-local-accounts --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmkqzvgwg6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2ccuhabrx-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/1d9539a0-4738-4f57-817c-7250d8011e94\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ffc3dd8c-18fd-436b-b7d1-23160515a382\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": true,\n \"publicNetworkAccess\": - \"Enabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": true\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' + - '3898' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:26 GMT + - Wed, 01 Dec 2021 14:19:13 GMT expires: - '-1' pragma: @@ -529,57 +486,60 @@ interactions: ParameterSetName: - --resource-group --name --enable-local-accounts User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmkqzvgwg6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2ccuhabrx-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/1d9539a0-4738-4f57-817c-7250d8011e94\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ffc3dd8c-18fd-436b-b7d1-23160515a382\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": true,\n \"publicNetworkAccess\": - \"Enabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"disableLocalAccounts\": true\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' + - '3898' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:26 GMT + - Wed, 01 Dec 2021 14:19:14 GMT expires: - '-1' pragma: @@ -600,24 +560,25 @@ interactions: - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestmkqzvgwg6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitest2ccuhabrx-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/1d9539a0-4738-4f57-817c-7250d8011e94"}]}}, - "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/ffc3dd8c-18fd-436b-b7d1-23160515a382"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -628,65 +589,68 @@ interactions: Connection: - keep-alive Content-Length: - - '2311' + - '2722' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-local-accounts User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmkqzvgwg6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2ccuhabrx-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/1d9539a0-4738-4f57-817c-7250d8011e94\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ffc3dd8c-18fd-436b-b7d1-23160515a382\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"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: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657764c7-d814-481d-bca2-ae5ea9a8a918?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3385a7ab-2497-43bc-b34f-37bb94b56103?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3439' + - '3897' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:28 GMT + - Wed, 01 Dec 2021 14:19:17 GMT expires: - '-1' pragma: @@ -702,7 +666,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' status: code: 200 message: OK @@ -720,23 +684,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-local-accounts User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657764c7-d814-481d-bca2-ae5ea9a8a918?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3385a7ab-2497-43bc-b34f-37bb94b56103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c7647765-14d8-1d48-bca2-ae5ea9a8a918\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:29.07Z\"\n }" + string: "{\n \"name\": \"aba78533-9724-bc43-b34f-37bb94b56103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:17.2233333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:56:58 GMT + - Wed, 01 Dec 2021 14:19:47 GMT expires: - '-1' pragma: @@ -768,23 +732,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-local-accounts User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657764c7-d814-481d-bca2-ae5ea9a8a918?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3385a7ab-2497-43bc-b34f-37bb94b56103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c7647765-14d8-1d48-bca2-ae5ea9a8a918\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:56:29.07Z\"\n }" + string: "{\n \"name\": \"aba78533-9724-bc43-b34f-37bb94b56103\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:17.2233333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:29 GMT + - Wed, 01 Dec 2021 14:20:17 GMT expires: - '-1' pragma: @@ -816,24 +780,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-local-accounts User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/657764c7-d814-481d-bca2-ae5ea9a8a918?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3385a7ab-2497-43bc-b34f-37bb94b56103?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c7647765-14d8-1d48-bca2-ae5ea9a8a918\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:56:29.07Z\",\n \"endTime\": - \"2021-10-19T06:57:30.5586748Z\"\n }" + string: "{\n \"name\": \"aba78533-9724-bc43-b34f-37bb94b56103\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:19:17.2233333Z\",\n \"endTime\": + \"2021-12-01T14:20:24.7283196Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:59 GMT + - Wed, 01 Dec 2021 14:20:48 GMT expires: - '-1' pragma: @@ -865,57 +829,60 @@ interactions: ParameterSetName: - --resource-group --name --enable-local-accounts User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmkqzvgwg6-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmkqzvgwg6-8ecadf-62740a6b.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest2ccuhabrx-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest2ccuhabrx-8ecadf-1b503a51.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/1d9539a0-4738-4f57-817c-7250d8011e94\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ffc3dd8c-18fd-436b-b7d1-23160515a382\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"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: - - '3441' + - '3899' content-type: - application/json date: - - Tue, 19 Oct 2021 06:57:59 GMT + - Wed, 01 Dec 2021 14:20:48 GMT expires: - '-1' pragma: @@ -949,8 +916,8 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 response: @@ -958,17 +925,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5831a23-705c-42dd-a691-2fd3e7c14bf7?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b8a55e5-fe7d-4a0b-89ae-11551994e75b?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 06:58:00 GMT + - Wed, 01 Dec 2021 14:20:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b5831a23-705c-42dd-a691-2fd3e7c14bf7?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/0b8a55e5-fe7d-4a0b-89ae-11551994e75b?api-version=2016-03-30 pragma: - no-cache server: @@ -978,7 +945,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14994' 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 ed0584a8da1..447ddca36f2 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 @@ -13,22 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-resource/19.0.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-21T05:25:44Z"},"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":"2022-02-11T07:58:30Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Thu, 21 Oct 2021 05:25:53 GMT + - Fri, 11 Feb 2022 07:58:29 GMT expires: - '-1' pragma: @@ -44,18 +43,19 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestrbppjifwu-26fe00", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestxtcbwfbks-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.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"}, - "disableLocalAccounts": false}}' + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -66,63 +66,64 @@ interactions: Connection: - keep-alive Content-Length: - - '1720' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\"\ - : \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3123' + - '3024' content-type: - application/json date: - - Thu, 21 Oct 2021 05:26:04 GMT + - Fri, 11 Feb 2022 07:58:33 GMT expires: - '-1' pragma: @@ -134,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -152,23 +153,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:26:35 GMT + - Fri, 11 Feb 2022 07:59:03 GMT expires: - '-1' pragma: @@ -200,23 +201,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:27:05 GMT + - Fri, 11 Feb 2022 07:59:33 GMT expires: - '-1' pragma: @@ -248,23 +249,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:27:34 GMT + - Fri, 11 Feb 2022 08:00:03 GMT expires: - '-1' pragma: @@ -296,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:28:06 GMT + - Fri, 11 Feb 2022 08:00:33 GMT expires: - '-1' pragma: @@ -344,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:28:36 GMT + - Fri, 11 Feb 2022 08:01:03 GMT expires: - '-1' pragma: @@ -392,23 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:29:06 GMT + - Fri, 11 Feb 2022 08:01:33 GMT expires: - '-1' pragma: @@ -440,23 +441,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:29:36 GMT + - Fri, 11 Feb 2022 08:02:04 GMT expires: - '-1' pragma: @@ -488,23 +489,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:30:06 GMT + - Fri, 11 Feb 2022 08:02:34 GMT expires: - '-1' pragma: @@ -536,24 +537,24 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f9574956-73ba-4b45-bb3f-fc1ef40441fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6a8ee26f-08f7-4f3b-b2c8-27a6ede02382?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"564957f9-ba73-454b-bb3f-fc1ef40441fd\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-10-21T05:26:03.51Z\",\n \"endTime\"\ - : \"2021-10-21T05:30:09.856578Z\"\n }" + string: "{\n \"name\": \"6fe28e6a-f708-3b4f-b2c8-27a6ede02382\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:58:33.7866666Z\",\n \"endTime\": + \"2022-02-11T08:02:40.1141686Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '170' content-type: - application/json date: - - Thu, 21 Oct 2021 05:30:38 GMT + - Fri, 11 Feb 2022 08:03:04 GMT expires: - '-1' pragma: @@ -585,60 +586,61 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3786' + - '3677' content-type: - application/json date: - - Thu, 21 Oct 2021 05:30:38 GMT + - Fri, 11 Feb 2022 08:03:04 GMT expires: - '-1' pragma: @@ -670,60 +672,61 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3786' + - '3677' content-type: - application/json date: - - Thu, 21 Oct 2021 05:30:40 GMT + - Fri, 11 Feb 2022 08:03:05 GMT expires: - '-1' pragma: @@ -743,26 +746,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestrbppjifwu-26fe00", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestxtcbwfbks-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": - true, "config": {"enableSecretRotation": "false", "rotationPollInterval": "2m"}}}, - "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": - true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": true, "config": {"enableSecretRotation": "false", "rotationPollInterval": + "2m"}}}, "oidcIssuerProfile": {"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/186d205d-18f8-4ec0-86bb-93ba93b2b600"}]}}, - "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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -773,71 +777,71 @@ interactions: Connection: - keep-alive Content-Length: - - '2737' + - '2517' Content-Type: - application/json ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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\ - \ \"rotationPollInterval\": \"2m\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"2m\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3da4ecae-83b7-472d-9602-ffae0314bc4a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9f8a0080-deda-4daf-bc61-58f50a9bddf2?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3976' + - '3867' content-type: - application/json date: - - Thu, 21 Oct 2021 05:30:48 GMT + - Fri, 11 Feb 2022 08:03:08 GMT expires: - '-1' pragma: @@ -853,7 +857,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1192' status: code: 200 message: OK @@ -871,23 +875,23 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3da4ecae-83b7-472d-9602-ffae0314bc4a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9f8a0080-deda-4daf-bc61-58f50a9bddf2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aeeca43d-b783-2d47-9602-ffae0314bc4a\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:30:46.0433333Z\"\n }" + string: "{\n \"name\": \"80008a9f-dade-af4d-bc61-58f50a9bddf2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:03:08.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 05:31:19 GMT + - Fri, 11 Feb 2022 08:03:37 GMT expires: - '-1' pragma: @@ -919,24 +923,23 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3da4ecae-83b7-472d-9602-ffae0314bc4a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9f8a0080-deda-4daf-bc61-58f50a9bddf2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aeeca43d-b783-2d47-9602-ffae0314bc4a\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-10-21T05:30:46.0433333Z\",\n \"\ - endTime\": \"2021-10-21T05:31:44.6410116Z\"\n }" + string: "{\n \"name\": \"80008a9f-dade-af4d-bc61-58f50a9bddf2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:03:08.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 05:31:49 GMT + - Fri, 11 Feb 2022 08:04:07 GMT expires: - '-1' pragma: @@ -968,66 +971,23 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9f8a0080-deda-4daf-bc61-58f50a9bddf2?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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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\ - \ \"rotationPollInterval\": \"2m\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": \"80008a9f-dade-af4d-bc61-58f50a9bddf2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:03:08.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '4361' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 05:31:50 GMT + - Fri, 11 Feb 2022 08:04:38 GMT expires: - '-1' pragma: @@ -1049,77 +1009,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks enable-addons Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-secret-rotation --rotation-poll-interval - -o + - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9f8a0080-deda-4daf-bc61-58f50a9bddf2?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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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\ - \ \"rotationPollInterval\": \"2m\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": \"80008a9f-dade-af4d-bc61-58f50a9bddf2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:03:08.22Z\"\n }" headers: cache-control: - no-cache content-length: - - '4361' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 05:31:52 GMT + - Fri, 11 Feb 2022 08:05:08 GMT expires: - '-1' pragma: @@ -1138,104 +1054,37 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestrbppjifwu-26fe00", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": - {"enableSecretRotation": "true", "rotationPollInterval": "120s"}}}, "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/186d205d-18f8-4ec0-86bb-93ba93b2b600"}]}}, - "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks enable-addons Connection: - keep-alive - Content-Length: - - '2786' - Content-Type: - - application/json ParameterSetName: - - --resource-group --name --enable-secret-rotation --rotation-poll-interval - -o + - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9f8a0080-deda-4daf-bc61-58f50a9bddf2?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\": \"Updating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \ - \ \"rotationPollInterval\": \"120s\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": \"80008a9f-dade-af4d-bc61-58f50a9bddf2\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:03:08.22Z\",\n \"endTime\": + \"2022-02-11T08:05:20.5556653Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f1d7267f-1dd5-44ac-b014-7db3effa43d8?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3977' + - '165' content-type: - application/json date: - - Thu, 21 Oct 2021 05:31:58 GMT + - Fri, 11 Feb 2022 08:05:38 GMT expires: - '-1' pragma: @@ -1250,8 +1099,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: code: 200 message: OK @@ -1263,30 +1110,71 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks enable-addons Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-secret-rotation --rotation-poll-interval - -o + - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f1d7267f-1dd5-44ac-b014-7db3effa43d8?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=2022-01-02-preview response: body: - string: "{\n \"name\": \"7f26d7f1-d51d-ac44-b014-7db3effa43d8\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:31:56.0733333Z\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"2m\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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' + - '4246' content-type: - application/json date: - - Thu, 21 Oct 2021 05:32:28 GMT + - Fri, 11 Feb 2022 08:05:38 GMT expires: - '-1' pragma: @@ -1308,7 +1196,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: @@ -1319,24 +1207,65 @@ interactions: - --resource-group --name --enable-secret-rotation --rotation-poll-interval -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f1d7267f-1dd5-44ac-b014-7db3effa43d8?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=2022-01-02-preview response: body: - string: "{\n \"name\": \"7f26d7f1-d51d-ac44-b014-7db3effa43d8\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-10-21T05:31:56.0733333Z\",\n \"\ - endTime\": \"2021-10-21T05:32:51.6089632Z\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"2m\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '170' + - '4246' content-type: - application/json date: - - Thu, 21 Oct 2021 05:32:58 GMT + - Fri, 11 Feb 2022 08:05:39 GMT expires: - '-1' pragma: @@ -1355,80 +1284,105 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestxtcbwfbks-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": + {"enableSecretRotation": "true", "rotationPollInterval": "120s"}}}, "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, "countIPv6": 0}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - aks update Connection: - keep-alive + Content-Length: + - '2573' + Content-Type: + - application/json ParameterSetName: - --resource-group --name --enable-secret-rotation --rotation-poll-interval -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \ - \ \"rotationPollInterval\": \"120s\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"120s\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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/56e2b34c-82e8-4551-8599-7a108fdf829f?api-version=2016-03-30 cache-control: - no-cache content-length: - - '4362' + - '3868' content-type: - application/json date: - - Thu, 21 Oct 2021 05:32:59 GMT + - Fri, 11 Feb 2022 08:05:41 GMT expires: - '-1' pragma: @@ -1443,6 +1397,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1189' status: code: 200 message: OK @@ -1450,7 +1406,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1458,68 +1414,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-secret-rotation -o + - --resource-group --name --enable-secret-rotation --rotation-poll-interval + -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56e2b34c-82e8-4551-8599-7a108fdf829f?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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \ - \ \"rotationPollInterval\": \"120s\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": \"4cb3e256-e882-5145-8599-7a108fdf829f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:05:41.9Z\"\n }" headers: cache-control: - no-cache content-length: - - '4362' + - '120' content-type: - application/json date: - - Thu, 21 Oct 2021 05:33:02 GMT + - Fri, 11 Feb 2022 08:06:12 GMT expires: - '-1' pragma: @@ -1538,103 +1452,37 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestrbppjifwu-26fe00", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": - {"enableSecretRotation": "false", "rotationPollInterval": "120s"}}}, "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/186d205d-18f8-4ec0-86bb-93ba93b2b600"}]}}, - "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks update Connection: - keep-alive - Content-Length: - - '2787' - Content-Type: - - application/json ParameterSetName: - - --resource-group --name --disable-secret-rotation -o + - --resource-group --name --enable-secret-rotation --rotation-poll-interval + -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56e2b34c-82e8-4551-8599-7a108fdf829f?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\": \"Updating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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\ - \ \"rotationPollInterval\": \"120s\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": \"4cb3e256-e882-5145-8599-7a108fdf829f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:05:41.9Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/75e55617-dc23-4bc2-801f-e569f76b3a66?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3978' + - '120' content-type: - application/json date: - - Thu, 21 Oct 2021 05:33:08 GMT + - Fri, 11 Feb 2022 08:06:42 GMT expires: - '-1' pragma: @@ -1649,8 +1497,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: code: 200 message: OK @@ -1666,16 +1512,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-secret-rotation -o + - --resource-group --name --enable-secret-rotation --rotation-poll-interval + -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/75e55617-dc23-4bc2-801f-e569f76b3a66?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56e2b34c-82e8-4551-8599-7a108fdf829f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1756e575-23dc-c24b-801f-e569f76b3a66\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:33:05.9Z\"\n }" + string: "{\n \"name\": \"4cb3e256-e882-5145-8599-7a108fdf829f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:05:41.9Z\"\n }" headers: cache-control: - no-cache @@ -1684,7 +1531,7 @@ interactions: content-type: - application/json date: - - Thu, 21 Oct 2021 05:33:38 GMT + - Fri, 11 Feb 2022 08:07:11 GMT expires: - '-1' pragma: @@ -1714,16 +1561,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-secret-rotation -o + - --resource-group --name --enable-secret-rotation --rotation-poll-interval + -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/75e55617-dc23-4bc2-801f-e569f76b3a66?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56e2b34c-82e8-4551-8599-7a108fdf829f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1756e575-23dc-c24b-801f-e569f76b3a66\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:33:05.9Z\"\n }" + string: "{\n \"name\": \"4cb3e256-e882-5145-8599-7a108fdf829f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:05:41.9Z\"\n }" headers: cache-control: - no-cache @@ -1732,7 +1580,7 @@ interactions: content-type: - application/json date: - - Thu, 21 Oct 2021 05:34:08 GMT + - Fri, 11 Feb 2022 08:07:41 GMT expires: - '-1' pragma: @@ -1762,17 +1610,18 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-secret-rotation -o + - --resource-group --name --enable-secret-rotation --rotation-poll-interval + -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/75e55617-dc23-4bc2-801f-e569f76b3a66?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56e2b34c-82e8-4551-8599-7a108fdf829f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"1756e575-23dc-c24b-801f-e569f76b3a66\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-10-21T05:33:05.9Z\",\n \"endTime\"\ - : \"2021-10-21T05:34:11.1981353Z\"\n }" + string: "{\n \"name\": \"4cb3e256-e882-5145-8599-7a108fdf829f\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:05:41.9Z\",\n \"endTime\": + \"2022-02-11T08:08:01.7909524Z\"\n }" headers: cache-control: - no-cache @@ -1781,7 +1630,7 @@ interactions: content-type: - application/json date: - - Thu, 21 Oct 2021 05:34:40 GMT + - Fri, 11 Feb 2022 08:08:11 GMT expires: - '-1' pragma: @@ -1811,68 +1660,68 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-secret-rotation -o + - --resource-group --name --enable-secret-rotation --rotation-poll-interval + -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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\ - \ \"rotationPollInterval\": \"120s\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"120s\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4363' + - '4247' content-type: - application/json date: - - Thu, 21 Oct 2021 05:34:41 GMT + - Fri, 11 Feb 2022 08:08:12 GMT expires: - '-1' pragma: @@ -1898,72 +1747,71 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks disable-addons + - aks update Connection: - keep-alive ParameterSetName: - - --addons --resource-group --name -o + - --resource-group --name --disable-secret-rotation -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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\ - \ \"rotationPollInterval\": \"120s\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"120s\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4363' + - '4247' content-type: - application/json date: - - Thu, 21 Oct 2021 05:34:43 GMT + - Fri, 11 Feb 2022 08:08:12 GMT expires: - '-1' pragma: @@ -1983,98 +1831,103 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestrbppjifwu-26fe00", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestxtcbwfbks-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.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/186d205d-18f8-4ec0-86bb-93ba93b2b600"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": + {"enableSecretRotation": "false", "rotationPollInterval": "120s"}}}, "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, "countIPv6": 0}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks disable-addons + - aks update Connection: - keep-alive Content-Length: - - '2663' + - '2574' Content-Type: - application/json ParameterSetName: - - --addons --resource-group --name -o + - --resource-group --name --disable-secret-rotation -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"120s\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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/494535bb-119a-471e-ba53-28654bb6d62e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/63ec5d11-23c8-4cc4-855d-56671b436fa0?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3899' + - '3869' content-type: - application/json date: - - Thu, 21 Oct 2021 05:34:51 GMT + - Fri, 11 Feb 2022 08:08:15 GMT expires: - '-1' pragma: @@ -2090,7 +1943,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1186' status: code: 200 message: OK @@ -2102,20 +1955,20 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks disable-addons + - aks update Connection: - keep-alive ParameterSetName: - - --addons --resource-group --name -o + - --resource-group --name --disable-secret-rotation -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/494535bb-119a-471e-ba53-28654bb6d62e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/63ec5d11-23c8-4cc4-855d-56671b436fa0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"bb354549-9a11-1e47-ba53-28654bb6d62e\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:34:49.0766666Z\"\n }" + string: "{\n \"name\": \"115dec63-c823-c44c-855d-56671b436fa0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:15.5066666Z\"\n }" headers: cache-control: - no-cache @@ -2124,7 +1977,7 @@ interactions: content-type: - application/json date: - - Thu, 21 Oct 2021 05:35:22 GMT + - Fri, 11 Feb 2022 08:08:45 GMT expires: - '-1' pragma: @@ -2150,30 +2003,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks disable-addons + - aks update Connection: - keep-alive ParameterSetName: - - --addons --resource-group --name -o + - --resource-group --name --disable-secret-rotation -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/494535bb-119a-471e-ba53-28654bb6d62e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/63ec5d11-23c8-4cc4-855d-56671b436fa0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"bb354549-9a11-1e47-ba53-28654bb6d62e\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-10-21T05:34:49.0766666Z\",\n \"\ - endTime\": \"2021-10-21T05:35:52.3792977Z\"\n }" + string: "{\n \"name\": \"115dec63-c823-c44c-855d-56671b436fa0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:15.5066666Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:35:52 GMT + - Fri, 11 Feb 2022 08:09:15 GMT expires: - '-1' pragma: @@ -2199,67 +2051,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks disable-addons + - aks update Connection: - keep-alive ParameterSetName: - - --addons --resource-group --name -o + - --resource-group --name --disable-secret-rotation -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/63ec5d11-23c8-4cc4-855d-56671b436fa0?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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": \"115dec63-c823-c44c-855d-56671b436fa0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:15.5066666Z\"\n }" headers: cache-control: - no-cache content-length: - - '3901' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:35:52 GMT + - Fri, 11 Feb 2022 08:09:45 GMT expires: - '-1' pragma: @@ -2281,72 +2095,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks enable-addons + - aks update Connection: - keep-alive ParameterSetName: - - --addons --enable-secret-rotation --rotation-poll-interval --resource-group - --name -o + - --resource-group --name --disable-secret-rotation -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/63ec5d11-23c8-4cc4-855d-56671b436fa0?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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": \"115dec63-c823-c44c-855d-56671b436fa0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:08:15.5066666Z\"\n }" headers: cache-control: - no-cache content-length: - - '3901' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 05:35:55 GMT + - Fri, 11 Feb 2022 08:10:15 GMT expires: - '-1' pragma: @@ -2365,103 +2140,37 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestrbppjifwu-26fe00", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": - true, "config": {"enableSecretRotation": "true", "rotationPollInterval": "1h"}}}, - "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/186d205d-18f8-4ec0-86bb-93ba93b2b600"}]}}, - "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks enable-addons + - aks update Connection: - keep-alive - Content-Length: - - '2736' - Content-Type: - - application/json ParameterSetName: - - --addons --enable-secret-rotation --rotation-poll-interval --resource-group - --name -o + - --resource-group --name --disable-secret-rotation -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/63ec5d11-23c8-4cc4-855d-56671b436fa0?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\": \"Updating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \ - \ \"rotationPollInterval\": \"1h\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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\": \"115dec63-c823-c44c-855d-56671b436fa0\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:08:15.5066666Z\",\n \"endTime\": + \"2022-02-11T08:10:38.1741464Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/94423ddf-b7a8-407d-a53d-30ef083362a7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3975' + - '170' content-type: - application/json date: - - Thu, 21 Oct 2021 05:36:05 GMT + - Fri, 11 Feb 2022 08:10:45 GMT expires: - '-1' pragma: @@ -2476,8 +2185,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: code: 200 message: OK @@ -2489,30 +2196,71 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks enable-addons + - aks update Connection: - keep-alive ParameterSetName: - - --addons --enable-secret-rotation --rotation-poll-interval --resource-group - --name -o + - --resource-group --name --disable-secret-rotation -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/94423ddf-b7a8-407d-a53d-30ef083362a7?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=2022-01-02-preview response: body: - string: "{\n \"name\": \"df3d4294-a8b7-7d40-a53d-30ef083362a7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-10-21T05:36:00.3266666Z\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"120s\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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' + - '4248' content-type: - application/json date: - - Thu, 21 Oct 2021 05:36:35 GMT + - Fri, 11 Feb 2022 08:10:46 GMT expires: - '-1' pragma: @@ -2534,35 +2282,971 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks enable-addons + - aks disable-addons Connection: - keep-alive ParameterSetName: - - --addons --enable-secret-rotation --rotation-poll-interval --resource-group - --name -o + - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/94423ddf-b7a8-407d-a53d-30ef083362a7?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=2022-01-02-preview response: body: - string: "{\n \"name\": \"df3d4294-a8b7-7d40-a53d-30ef083362a7\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-10-21T05:36:00.3266666Z\",\n \"\ - endTime\": \"2021-10-21T05:36:55.1363878Z\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"120s\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '170' + - '4248' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestxtcbwfbks-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": false}}, "oidcIssuerProfile": {"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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '2443' + Content-Type: + - application/json + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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/cac98e85-83f3-41ed-a76c-9152d4f9ebe9?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3790' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1192' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cac98e85-83f3-41ed-a76c-9152d4f9ebe9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"858ec9ca-f383-ed41-a76c-9152d4f9ebe9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:49.8Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:11: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cac98e85-83f3-41ed-a76c-9152d4f9ebe9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"858ec9ca-f383-ed41-a76c-9152d4f9ebe9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:49.8Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:11: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cac98e85-83f3-41ed-a76c-9152d4f9ebe9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"858ec9ca-f383-ed41-a76c-9152d4f9ebe9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:49.8Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:12: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cac98e85-83f3-41ed-a76c-9152d4f9ebe9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"858ec9ca-f383-ed41-a76c-9152d4f9ebe9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:49.8Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:12: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cac98e85-83f3-41ed-a76c-9152d4f9ebe9?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"858ec9ca-f383-ed41-a76c-9152d4f9ebe9\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:10:49.8Z\",\n \"endTime\": + \"2022-02-11T08:13:18.798003Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '163' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3792' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:13: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 enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --enable-secret-rotation --rotation-poll-interval --resource-group + --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3792' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:13: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestxtcbwfbks-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": true, "config": {"enableSecretRotation": "true", "rotationPollInterval": + "1h"}}}, "oidcIssuerProfile": {"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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '2516' + Content-Type: + - application/json + ParameterSetName: + - --addons --enable-secret-rotation --rotation-poll-interval --resource-group + --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"1h\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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/bd5c52ee-5aaa-4b58-96fa-86fa2553736d?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3866' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:13: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1186' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --enable-secret-rotation --rotation-poll-interval --resource-group + --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bd5c52ee-5aaa-4b58-96fa-86fa2553736d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ee525cbd-aa5a-584b-96fa-86fa2553736d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:23.77Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --enable-secret-rotation --rotation-poll-interval --resource-group + --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bd5c52ee-5aaa-4b58-96fa-86fa2553736d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ee525cbd-aa5a-584b-96fa-86fa2553736d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:23.77Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --enable-secret-rotation --rotation-poll-interval --resource-group + --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bd5c52ee-5aaa-4b58-96fa-86fa2553736d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ee525cbd-aa5a-584b-96fa-86fa2553736d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:23.77Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --enable-secret-rotation --rotation-poll-interval --resource-group + --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bd5c52ee-5aaa-4b58-96fa-86fa2553736d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ee525cbd-aa5a-584b-96fa-86fa2553736d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:23.77Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:15: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --enable-secret-rotation --rotation-poll-interval --resource-group + --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bd5c52ee-5aaa-4b58-96fa-86fa2553736d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ee525cbd-aa5a-584b-96fa-86fa2553736d\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:13:23.77Z\",\n \"endTime\": + \"2022-02-11T08:15:49.1957475Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Thu, 21 Oct 2021 05:37:05 GMT + - Fri, 11 Feb 2022 08:15:54 GMT expires: - '-1' pragma: @@ -2595,66 +3279,65 @@ interactions: - --addons --enable-secret-rotation --rotation-poll-interval --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestrbppjifwu-26fe00\",\n \"fqdn\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.hcp.westus2.staging.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestrbppjifwu-26fe00-86900ad8.portal.hcp.westus2.staging.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \ - \ \"rotationPollInterval\": \"1h\"\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/186d205d-18f8-4ec0-86bb-93ba93b2b600\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestxtcbwfbks-8ecadf\",\n \"fqdn\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestxtcbwfbks-8ecadf-31f435a9.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"rotationPollInterval\": + \"1h\"\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/3d6c8b74-5a08-4c03-9e52-b0abf4897bfb\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4360' + - '4245' content-type: - application/json date: - - Thu, 21 Oct 2021 05:37:06 GMT + - Fri, 11 Feb 2022 08:15:54 GMT expires: - '-1' pragma: @@ -2688,26 +3371,26 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.29.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.9.6 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1c6e3b29-3761-4f23-bef1-deed115e4407?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b698f76a-3a83-4c69-8716-7cf12feaa72e?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Thu, 21 Oct 2021 05:37:10 GMT + - Fri, 11 Feb 2022 08:15:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1c6e3b29-3761-4f23-bef1-deed115e4407?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b698f76a-3a83-4c69-8716-7cf12feaa72e?api-version=2016-03-30 pragma: - no-cache server: @@ -2717,7 +3400,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14995' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_gitops.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_gitops.yaml new file mode 100644 index 00000000000..d608fc63442 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_gitops.yaml @@ -0,0 +1,947 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:12:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '312' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:12:39 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": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestz3gaemtns-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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"}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1747' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestz3gaemtns-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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/06cc11b1-a520-4970-a39c-535317b67ec0?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3232' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:12:44 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: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/06cc11b1-a520-4970-a39c-535317b67ec0?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"b111cc06-20a5-7049-a39c-535317b67ec0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:44.5066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/06cc11b1-a520-4970-a39c-535317b67ec0?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"b111cc06-20a5-7049-a39c-535317b67ec0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:44.5066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:13: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/06cc11b1-a520-4970-a39c-535317b67ec0?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"b111cc06-20a5-7049-a39c-535317b67ec0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:44.5066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/06cc11b1-a520-4970-a39c-535317b67ec0?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"b111cc06-20a5-7049-a39c-535317b67ec0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:44.5066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/06cc11b1-a520-4970-a39c-535317b67ec0?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"b111cc06-20a5-7049-a39c-535317b67ec0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:12:44.5066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/06cc11b1-a520-4970-a39c-535317b67ec0?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"b111cc06-20a5-7049-a39c-535317b67ec0\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:12:44.5066666Z\",\n \"endTime\": + \"2021-12-01T14:15:39.4770791Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestz3gaemtns-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\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/3e709c2d-7b65-4529-b396-3466a961fc8a\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '3893' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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 enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestz3gaemtns-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\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/3e709c2d-7b65-4529-b396-3466a961fc8a\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '3893' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: '{"location": "eastus", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitestz3gaemtns-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"gitops": {"enabled": true}}, "nodeResourceGroup": + "MC_clitest000001_cliakstest000002_eastus", "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_eastus/providers/Microsoft.Network/publicIPAddresses/3e709c2d-7b65-4529-b396-3466a961fc8a"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '2718' + Content-Type: + - application/json + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestz3gaemtns-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": true,\n \"config\": null\n }\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/3e709c2d-7b65-4529-b396-3466a961fc8a\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/58c5f5f9-4281-400b-8454-8d6352b4324b?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3983' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/58c5f5f9-4281-400b-8454-8d6352b4324b?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"f9f5c558-8142-0b40-8454-8d6352b4324b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:15:49.9466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/58c5f5f9-4281-400b-8454-8d6352b4324b?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"f9f5c558-8142-0b40-8454-8d6352b4324b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:15:49.9466666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/58c5f5f9-4281-400b-8454-8d6352b4324b?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"f9f5c558-8142-0b40-8454-8d6352b4324b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:15:49.9466666Z\",\n \"endTime\": + \"2021-12-01T14:16:59.1889339Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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 \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestz3gaemtns-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.hcp.eastus.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestz3gaemtns-8ecadf-dd299f2c.portal.hcp.eastus.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"gitops\": {\n \"enabled\": true,\n \"config\": null,\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/gitops-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\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/3e709c2d-7b65-4529-b396-3466a961fc8a\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4345' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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 +version: 1 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 old mode 100755 new mode 100644 index e9939f6abd2..16299b20830 --- 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 @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:51: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":"2022-02-11T07:52:37Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:51:12 GMT + - Fri, 11 Feb 2022 07:52:38 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestexkob7u6t-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestbjuxoa72u-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestexkob7u6t-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbjuxoa72u-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/e702b1b2-593a-47ef-9ad1-fe23417a146a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:15 GMT + - Fri, 11 Feb 2022 07:52:42 GMT expires: - '-1' pragma: @@ -149,23 +153,167 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:53: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:53: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:54: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --ssh-key-value -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e702b1b2-593a-47ef-9ad1-fe23417a146a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2b102e7-3a59-ef47-9ad1-fe23417a146a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:51:16.54Z\"\n }" + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:51:46 GMT + - Fri, 11 Feb 2022 07:54:42 GMT expires: - '-1' pragma: @@ -197,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e702b1b2-593a-47ef-9ad1-fe23417a146a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2b102e7-3a59-ef47-9ad1-fe23417a146a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:51:16.54Z\"\n }" + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:16 GMT + - Fri, 11 Feb 2022 07:55:12 GMT expires: - '-1' pragma: @@ -245,23 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e702b1b2-593a-47ef-9ad1-fe23417a146a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2b102e7-3a59-ef47-9ad1-fe23417a146a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:51:16.54Z\"\n }" + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:52:46 GMT + - Fri, 11 Feb 2022 07:55:43 GMT expires: - '-1' pragma: @@ -293,23 +441,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e702b1b2-593a-47ef-9ad1-fe23417a146a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2b102e7-3a59-ef47-9ad1-fe23417a146a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:51:16.54Z\"\n }" + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:16 GMT + - Fri, 11 Feb 2022 07:56:12 GMT expires: - '-1' pragma: @@ -341,23 +489,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e702b1b2-593a-47ef-9ad1-fe23417a146a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2b102e7-3a59-ef47-9ad1-fe23417a146a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:51:16.54Z\"\n }" + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:53:46 GMT + - Fri, 11 Feb 2022 07:56:42 GMT expires: - '-1' pragma: @@ -389,24 +537,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e702b1b2-593a-47ef-9ad1-fe23417a146a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3270ab2-c091-44d9-a35e-6e4e35d0d692?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2b102e7-3a59-ef47-9ad1-fe23417a146a\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:51:16.54Z\",\n \"endTime\": - \"2021-10-19T06:54:16.2804055Z\"\n }" + string: "{\n \"name\": \"b20a27c3-91c0-d944-a35e-6e4e35d0d692\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:52:42.4766666Z\",\n \"endTime\": + \"2022-02-11T07:57:01.7037758Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:16 GMT + - Fri, 11 Feb 2022 07:57:12 GMT expires: - '-1' pragma: @@ -438,57 +586,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestexkob7u6t-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbjuxoa72u-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/fa14bf56-6796-4a71-9582-1914b4c1d30a\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9f3d0d50-77d6-4e70-8bd5-f9df6e9d74fa\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:17 GMT + - Fri, 11 Feb 2022 07:57:13 GMT expires: - '-1' pragma: @@ -520,57 +672,61 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestexkob7u6t-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbjuxoa72u-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/fa14bf56-6796-4a71-9582-1914b4c1d30a\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9f3d0d50-77d6-4e70-8bd5-f9df6e9d74fa\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:17 GMT + - Fri, 11 Feb 2022 07:57:13 GMT expires: - '-1' pragma: @@ -590,25 +746,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestexkob7u6t-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestbjuxoa72u-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"openServiceMesh": - {"enabled": true, "config": {}}}, "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/fa14bf56-6796-4a71-9582-1914b4c1d30a"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {}}}, "oidcIssuerProfile": {"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/9f3d0d50-77d6-4e70-8bd5-f9df6e9d74fa"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -619,66 +777,70 @@ interactions: Connection: - keep-alive Content-Length: - - '2334' + - '2443' Content-Type: - application/json ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestexkob7u6t-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbjuxoa72u-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {}\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\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/fa14bf56-6796-4a71-9582-1914b4c1d30a\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9f3d0d50-77d6-4e70-8bd5-f9df6e9d74fa\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/d24986b3-7396-4a94-8b8c-afd8627be5b4?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57229980-215f-4e1c-b4a1-a6b433c9aa09?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3538' + - '3776' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:18 GMT + - Fri, 11 Feb 2022 07:57:15 GMT expires: - '-1' pragma: @@ -694,7 +856,151 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1188' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57229980-215f-4e1c-b4a1-a6b433c9aa09?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"80992257-5f21-1c4e-b4a1-a6b433c9aa09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:16.3433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:57: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57229980-215f-4e1c-b4a1-a6b433c9aa09?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"80992257-5f21-1c4e-b4a1-a6b433c9aa09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:16.3433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:58: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57229980-215f-4e1c-b4a1-a6b433c9aa09?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"80992257-5f21-1c4e-b4a1-a6b433c9aa09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:16.3433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 07:58: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 @@ -712,23 +1018,23 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d24986b3-7396-4a94-8b8c-afd8627be5b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57229980-215f-4e1c-b4a1-a6b433c9aa09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b38649d2-9673-944a-8b8c-afd8627be5b4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:54:19.65Z\"\n }" + string: "{\n \"name\": \"80992257-5f21-1c4e-b4a1-a6b433c9aa09\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:16.3433333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:54:49 GMT + - Fri, 11 Feb 2022 07:59:16 GMT expires: - '-1' pragma: @@ -760,24 +1066,24 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d24986b3-7396-4a94-8b8c-afd8627be5b4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/57229980-215f-4e1c-b4a1-a6b433c9aa09?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b38649d2-9673-944a-8b8c-afd8627be5b4\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:54:19.65Z\",\n \"endTime\": - \"2021-10-19T06:55:16.6370951Z\"\n }" + string: "{\n \"name\": \"80992257-5f21-1c4e-b4a1-a6b433c9aa09\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:57:16.3433333Z\",\n \"endTime\": + \"2022-02-11T07:59:35.6959887Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:19 GMT + - Fri, 11 Feb 2022 07:59:46 GMT expires: - '-1' pragma: @@ -809,60 +1115,64 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestexkob7u6t-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestexkob7u6t-8ecadf-1afedb3c.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestbjuxoa72u-8ecadf\",\n \"fqdn\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestbjuxoa72u-8ecadf-ff58aefc.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": {},\n + {\n \"openServiceMesh\": {\n \"enabled\": true,\n \"config\": null,\n \ \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/openservicemesh-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/fa14bf56-6796-4a71-9582-1914b4c1d30a\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/9f3d0d50-77d6-4e70-8bd5-f9df6e9d74fa\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3910' + - '4142' content-type: - application/json date: - - Tue, 19 Oct 2021 06:55:19 GMT + - Fri, 11 Feb 2022 07:59:46 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 439e585057d..c937bd3f85c --- 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 @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:37:19Z"},"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":"2022-02-11T07:59:47Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:37:20 GMT + - Fri, 11 Feb 2022 07:59:47 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestmb4m5j2cg-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest3eijd2hn7-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmb4m5j2cg-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest3eijd2hn7-8ecadf\",\n \"fqdn\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:23 GMT + - Fri, 11 Feb 2022 07:59:51 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1191' status: code: 201 message: Created @@ -149,23 +153,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:53 GMT + - Fri, 11 Feb 2022 08:00:22 GMT expires: - '-1' pragma: @@ -197,23 +201,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:38:23 GMT + - Fri, 11 Feb 2022 08:00:52 GMT expires: - '-1' pragma: @@ -245,23 +249,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:38:53 GMT + - Fri, 11 Feb 2022 08:01:21 GMT expires: - '-1' pragma: @@ -293,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:39:23 GMT + - Fri, 11 Feb 2022 08:01:51 GMT expires: - '-1' pragma: @@ -341,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:39:53 GMT + - Fri, 11 Feb 2022 08:02:22 GMT expires: - '-1' pragma: @@ -389,23 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:40:23 GMT + - Fri, 11 Feb 2022 08:02:52 GMT expires: - '-1' pragma: @@ -437,23 +441,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:40:53 GMT + - Fri, 11 Feb 2022 08:03:22 GMT expires: - '-1' pragma: @@ -485,23 +489,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:41:24 GMT + - Fri, 11 Feb 2022 08:03:53 GMT expires: - '-1' pragma: @@ -533,23 +537,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:41:53 GMT + - Fri, 11 Feb 2022 08:04:22 GMT expires: - '-1' pragma: @@ -581,23 +585,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:42:23 GMT + - Fri, 11 Feb 2022 08:04:52 GMT expires: - '-1' pragma: @@ -629,23 +633,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:42:54 GMT + - Fri, 11 Feb 2022 08:05:22 GMT expires: - '-1' pragma: @@ -677,23 +681,23 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:43:24 GMT + - Fri, 11 Feb 2022 08:05:53 GMT expires: - '-1' pragma: @@ -725,24 +729,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3e1deedf-9eec-4ca6-88eb-fb251fe734fe?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1abba11f-00cb-4cb3-84fe-1c0af2f70716?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"dfee1d3e-ec9e-a64c-88eb-fb251fe734fe\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:37:23.7233333Z\",\n \"endTime\": - \"2021-10-19T07:43:47.1910598Z\"\n }" + string: "{\n \"name\": \"1fa1bb1a-cb00-b34c-84fe-1c0af2f70716\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:59:52.17Z\",\n \"endTime\": + \"2022-02-11T08:06:18.8992803Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 07:43:53 GMT + - Fri, 11 Feb 2022 08:06:23 GMT expires: - '-1' pragma: @@ -774,57 +778,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmb4m5j2cg-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest3eijd2hn7-8ecadf\",\n \"fqdn\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/11527fef-386f-436b-ab61-9e723792b72b\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f85bc329-d4e2-48a3-9793-b56d45a82689\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:43:54 GMT + - Fri, 11 Feb 2022 08:06:23 GMT expires: - '-1' pragma: @@ -856,57 +864,61 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmb4m5j2cg-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest3eijd2hn7-8ecadf\",\n \"fqdn\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/11527fef-386f-436b-ab61-9e723792b72b\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f85bc329-d4e2-48a3-9793-b56d45a82689\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:43:55 GMT + - Fri, 11 Feb 2022 08:06:23 GMT expires: - '-1' pragma: @@ -926,26 +938,27 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestmb4m5j2cg-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest3eijd2hn7-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"ACCSGXDevicePlugin": - {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "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/11527fef-386f-436b-ab61-9e723792b72b"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"enabled": true, "config": {"ACCSGXQuoteHelperEnabled": "false"}}}, "oidcIssuerProfile": + {"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/f85bc329-d4e2-48a3-9793-b56d45a82689"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -956,37 +969,38 @@ interactions: Connection: - keep-alive Content-Length: - - '2372' + - '2481' Content-Type: - application/json ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmb4m5j2cg-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest3eijd2hn7-8ecadf\",\n \"fqdn\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -995,28 +1009,31 @@ interactions: \ \"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/11527fef-386f-436b-ab61-9e723792b72b\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f85bc329-d4e2-48a3-9793-b56d45a82689\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/7c77f817-f26a-4d41-a05f-74d01224bac8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059edd9c-48e4-4bbe-855b-ff307221e5b6?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3589' + - '3825' content-type: - application/json date: - - Tue, 19 Oct 2021 07:43:57 GMT + - Fri, 11 Feb 2022 08:06:25 GMT expires: - '-1' pragma: @@ -1032,7 +1049,151 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1193' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059edd9c-48e4-4bbe-855b-ff307221e5b6?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9cdd9e05-e448-be4b-855b-ff307221e5b6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:26.1533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:06: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059edd9c-48e4-4bbe-855b-ff307221e5b6?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9cdd9e05-e448-be4b-855b-ff307221e5b6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:26.1533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:07: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - --addons --resource-group --name -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059edd9c-48e4-4bbe-855b-ff307221e5b6?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9cdd9e05-e448-be4b-855b-ff307221e5b6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:26.1533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:07: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 @@ -1050,14 +1211,14 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7c77f817-f26a-4d41-a05f-74d01224bac8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059edd9c-48e4-4bbe-855b-ff307221e5b6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"17f8777c-6af2-414d-a05f-74d01224bac8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:43:57.7933333Z\"\n }" + string: "{\n \"name\": \"9cdd9e05-e448-be4b-855b-ff307221e5b6\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:26.1533333Z\"\n }" headers: cache-control: - no-cache @@ -1066,7 +1227,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:44:27 GMT + - Fri, 11 Feb 2022 08:08:26 GMT expires: - '-1' pragma: @@ -1098,15 +1259,15 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7c77f817-f26a-4d41-a05f-74d01224bac8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/059edd9c-48e4-4bbe-855b-ff307221e5b6?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"17f8777c-6af2-414d-a05f-74d01224bac8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:43:57.7933333Z\",\n \"endTime\": - \"2021-10-19T07:44:51.5469518Z\"\n }" + string: "{\n \"name\": \"9cdd9e05-e448-be4b-855b-ff307221e5b6\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:06:26.1533333Z\",\n \"endTime\": + \"2022-02-11T08:08:40.1689678Z\"\n }" headers: cache-control: - no-cache @@ -1115,7 +1276,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:44:57 GMT + - Fri, 11 Feb 2022 08:08:56 GMT expires: - '-1' pragma: @@ -1147,31 +1308,32 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestmb4m5j2cg-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestmb4m5j2cg-8ecadf-439f10f9.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest3eijd2hn7-8ecadf\",\n \"fqdn\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest3eijd2hn7-8ecadf-497cf911.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"ACCSGXDevicePlugin\": {\n \"enabled\": true,\n \"config\": @@ -1182,26 +1344,29 @@ interactions: \ \"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/11527fef-386f-436b-ab61-9e723792b72b\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f85bc329-d4e2-48a3-9793-b56d45a82689\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3964' + - '4194' content-type: - application/json date: - - Tue, 19 Oct 2021 07:44:57 GMT + - Fri, 11 Feb 2022 08:08:56 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_monitoring_with_aad_auth_msi.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_monitoring_with_aad_auth_msi.yaml new file mode 100644 index 00000000000..9bc2869ffec --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_monitoring_with_aad_auth_msi.yaml @@ -0,0 +1,2252 @@ +interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest6xb7xxiwg-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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"}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1748' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6xb7xxiwg-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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/3bf870a7-5d50-43d1-bdc8-65312b031a3b?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3236' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bf870a7-5d50-43d1-bdc8-65312b031a3b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a770f83b-505d-d143-bdc8-65312b031a3b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:15:28.57Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bf870a7-5d50-43d1-bdc8-65312b031a3b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a770f83b-505d-d143-bdc8-65312b031a3b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:15:28.57Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bf870a7-5d50-43d1-bdc8-65312b031a3b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a770f83b-505d-d143-bdc8-65312b031a3b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:15:28.57Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3bf870a7-5d50-43d1-bdc8-65312b031a3b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a770f83b-505d-d143-bdc8-65312b031a3b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:15:28.57Z\",\n \"endTime\": + \"2021-12-01T14:17:27.038703Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6xb7xxiwg-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '3899' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6xb7xxiwg-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '3899' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"cause":"automation","date":"2021-12-01T14:15:23Z","deletion_due_time":"1638627436","deletion_marked_by":"gc","product":"azurecli"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '372' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:17: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: HEAD + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/DefaultResourceGroup-WUS2?api-version=2021-04-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:17:31 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DefaultResourceGroup-WUS2/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17:32 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17:32 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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + 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/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"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/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"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/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"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/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/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"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/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"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/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"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/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/swedensouth\",\"name\":\"swedensouth\",\"displayName\":\"Sweden + South\",\"regionalDisplayName\":\"(Europe) Sweden South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"13.0007\",\"latitude\":\"55.6059\",\"physicalLocation\":\"Malmo\",\"pairedRegion\":[{\"name\":\"swedencentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\"}]}},{\"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\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Europe) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '30870' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:17: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights","namespace":"microsoft.insights","authorizations":[{"applicationId":"6bccf540-eb86-4037-af03-7fa058c2db75","roleDefinitionId":"89dcede2-9219-403a-9723-d3c6473f9472"},{"applicationId":"11c174dc-1945-4a9a-a36b-c79a0f246b9b","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"},{"applicationId":"035f9e1d-4f00-4419-bf50-bf2d87eb4878","roleDefinitionId":"323795fe-ba3d-4f5a-ad42-afb4e1ea9485"},{"applicationId":"f5c26e74-f226-4ae8-85f0-b4af0080ac9e","roleDefinitionId":"529d7ae6-e892-4d43-809d-8547aeb90643"},{"applicationId":"b503eb83-1222-4dcc-b116-b98ed5216e05","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"},{"applicationId":"3af5a1e8-2459-45cb-8683-bcd6cccbcc13","roleDefinitionId":"b1309299-720d-4159-9897-6158a61aee41"},{"applicationId":"6a0a243c-0886-468a-a4c2-eff52c7445da","roleDefinitionId":"d2eda64b-c5e6-4930-8642-2d80ecd7c2e2"},{"applicationId":"707be275-6b9d-4ee7-88f9-c0c2bd646e0f","roleDefinitionId":"fa027d90-6ba0-4c33-9a54-59edaf2327e7"},{"applicationId":"461e8683-5575-4561-ac7f-899cc907d62a","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"562db366-1b96-45d2-aa4a-f2148cef2240","roleDefinitionId":"4109c8be-c1c8-4be0-af52-9d3c76c140ab"},{"applicationId":"e933bd07-d2ee-4f1d-933c-3752b819567b","roleDefinitionId":"abbcfd44-e662-419a-9b5a-478f8e2f57c9"},{"applicationId":"f6b60513-f290-450e-a2f3-9930de61c5e7","roleDefinitionId":"4ef11659-08ac-48af-98a7-25fb6b1e1bc4"},{"applicationId":"12743ff8-d3de-49d0-a4ce-6c91a4245ea0","roleDefinitionId":"207b20a7-6802-4ae4-aaa2-1a36dd45bba0"},{"applicationId":"58ef1dbd-684c-47d6-8ffc-61ea7a197b95","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"}],"resourceTypes":[{"resourceType":"components","locations":["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","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Canada + East","Jio India West","Korea South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/query","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metadata","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metrics","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","Brazil South","Switzerland North","Australia + Southeast","Norway East","Norway West"],"apiVersions":["2018-04-20","2014-04-01"],"capabilities":"None"},{"resourceType":"components/events","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/syntheticmonitorlocations","locations":["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","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Canada + East","Jio India West","Korea South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"webtests","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","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","Norway West","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","West US + 3","Canada East","Jio India West","Korea South"],"apiVersions":["2018-05-01-preview","2015-05-01","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"webtests/getTestResultFile","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2020-02-10-preview"],"capabilities":"None"},{"resourceType":"scheduledqueryrules","locations":["West + Central US","Australia East","Central US","East US","East US 2","France Central","Japan + East","North Europe","South Africa North","Southeast Asia","UK South","West + Europe","West US 2","Central India","Canada Central","Australia Southeast","South + Central US","Australia Central","Korea Central","East Asia","West US","North + Central US","Brazil South","UK West","Switzerland North","Switzerland West","UAE + Central","Germany West Central","Australia Central 2","Brazil SouthEast","Norway + East","UAE North","Japan West","South India","France South","Norway West","East + US 2 EUAP"],"apiVersions":["2021-08-01","2021-02-01-preview","2020-05-01-preview","2018-04-16","2017-09-01-preview"],"defaultApiVersion":"2018-04-16","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/pricingPlans","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"migrateToNewPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"rollbackToLegacyPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"listMigrationdate","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"logprofiles","locations":[],"apiVersions":["2016-03-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"None"},{"resourceType":"migratealertrules","locations":[],"apiVersions":["2018-03-01"],"capabilities":"None"},{"resourceType":"metricalerts","locations":["Global"],"apiVersions":["2018-03-01","2017-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"alertrules","locations":["West US","East + US","North Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Central US","Australia + East","Australia Southeast","Brazil South","UK South","UK West","South India","Central + India","West India","Canada East","Canada Central","West Central US","West + US 2","Korea Central","Australia Central","Australia Central 2","France Central","South + Africa North","UAE North","Korea South","France South","East US 2 EUAP","Central + US EUAP","South Africa West","UAE Central"],"apiVersions":["2016-03-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"autoscalesettings","locations":["West + US","East US","North Europe","South Central US","East US 2","Central US","Australia + Southeast","Brazil South","UK South","UK West","South India","Central India","West + India","Canada East","Canada Central","West Central US","West US 2","Korea + Central","Australia Central","Australia Central 2","France Central","West + Europe","East Asia","Southeast Asia","Japan East","Japan West","North Central + US","Australia East","South Africa North","UAE North","Switzerland North","Germany + West Central","Norway East","West US 3","Jio India West","Korea South","France + South","East US 2 EUAP","Central US EUAP","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2015-04-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"eventtypes","locations":[],"apiVersions":["2017-03-01-preview","2016-09-01-preview","2015-04-01","2014-11-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"SupportsExtension"},{"resourceType":"locations","locations":["East + US"],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"locations/operationResults","locations":[],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"vmInsightsOnboardingStatuses","locations":[],"apiVersions":["2018-11-27-preview"],"capabilities":"SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2015-04-01","2014-06-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"diagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","East US + 2 EUAP","Central US EUAP","France South","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2017-05-01-preview","2016-09-01","2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-09-01"}],"capabilities":"SupportsExtension"},{"resourceType":"diagnosticSettingsCategories","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","East US + 2 EUAP","Central US EUAP","France South","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2017-05-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"extendedDiagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","France + South","East US 2 EUAP","Central US EUAP","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2017-02-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-02-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricDefinitions","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"logDefinitions","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","Korea South","France South","East US 2 EUAP","Central US EUAP"],"apiVersions":["2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-07-01"}],"capabilities":"SupportsExtension"},{"resourceType":"eventCategories","locations":[],"apiVersions":["2015-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"metrics","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2021-05-01","2019-07-01","2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview","2016-09-01","2016-06-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricbatch","locations":[],"apiVersions":["2019-01-01-preview"],"capabilities":"None"},{"resourceType":"metricNamespaces","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2017-12-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"notificationstatus","locations":[],"apiVersions":["2021-09-01"],"capabilities":"None"},{"resourceType":"createnotifications","locations":[],"apiVersions":["2021-09-01"],"capabilities":"None"},{"resourceType":"actiongroups","locations":["Global"],"apiVersions":["2021-09-01","2019-06-01","2019-03-01","2018-09-01","2018-03-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"activityLogAlerts","locations":["Global"],"apiVersions":["2020-10-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"baseline","locations":[],"apiVersions":["2018-09-01","2017-11-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"metricbaselines","locations":[],"apiVersions":["2019-03-01","2018-09-01"],"capabilities":"SupportsExtension"},{"resourceType":"calculatebaseline","locations":[],"apiVersions":["2018-09-01","2017-11-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"workbooks","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Canada East","Jio India West","Central US EUAP","East + US 2 EUAP","Korea South"],"apiVersions":["2021-08-01","2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-01-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"workbooktemplates","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Canada East","Jio India West","Korea South"],"apiVersions":["2020-11-20","2019-10-17-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"myWorkbooks","locations":["West + Europe","South Central US","East US","North 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","Norway West","Australia Southeast","Central US EUAP","East US 2 EUAP"],"apiVersions":["2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-15-preview","2018-06-01-preview","2016-06-15-preview"],"capabilities":"SupportsExtension"},{"resourceType":"logs","locations":["East + US","East US 2","West US","Central US","North Central US","South Central US","North + Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan West","Australia + East","Australia Southeast","Brazil South","South India","Central India","West + India","Canada Central","Canada East","West US 2","West Central US","UK South","UK + West","Korea Central","France Central","France South","Australia Central","South + Africa North","Korea South","Central US EUAP","East US 2 EUAP","Australia + Central 2","South Africa West","UAE Central","UAE North"],"apiVersions":["2018-03-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"transactions","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"topology","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"generateLiveToken","locations":[],"apiVersions":["2021-10-14","2020-06-02-preview"],"capabilities":"SupportsExtension"},{"resourceType":"dataCollectionRules","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Australia Central 2","Brazil + Southeast","France South","Norway West","UAE North","Japan West","Norway East","Switzerland + West","Brazil South","East US 2 EUAP"],"apiVersions":["2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionRuleAssociations","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"SupportsExtension"},{"resourceType":"dataCollectionEndpoints","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionEndpoints/scopedPrivateLinkProxies","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"None"},{"resourceType":"privateLinkScopes","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"privateLinkScopes/privateEndpointConnections","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/privateEndpointConnectionProxies","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/scopedResources","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"components/linkedstorageaccounts","locations":["East + US","West Central 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","Norway West","Australia Southeast"],"apiVersions":["2020-03-01-preview"],"capabilities":"None"},{"resourceType":"privateLinkScopeOperationStatuses","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '27917' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:17: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": "westus2", "properties": {"dataSources": {"extensions": [{"name": + "ContainerInsightsExtension", "streams": ["Microsoft-Perf", "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", "Microsoft-KubeHealth", "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", "Microsoft-KubePodInventory", "Microsoft-KubePVInventory", + "Microsoft-KubeServices", "Microsoft-InsightsMetrics"], "extensionName": "ContainerInsights"}]}, + "dataFlows": [{"streams": ["Microsoft-Perf", "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", "Microsoft-KubeHealth", "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", "Microsoft-KubePodInventory", "Microsoft-KubePVInventory", + "Microsoft-KubeServices", "Microsoft-InsightsMetrics"], "destinations": ["la-workspace"]}], + "destinations": {"logAnalytics": [{"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "name": "la-workspace"}]}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '1248' + Content-Type: + - application/json + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d80033f0-0000-0800-0000-61a784010000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:17:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "properties": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "description": "routes monitoring data to a Log Analytics workspace"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"description":"routes monitoring data to a Log Analytics + workspace","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"d80042f0-0000-0800-0000-61a784020000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:17:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitest6xb7xxiwg-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"enabled": true, "config": + {"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "useAADAuth": "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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '2999' + Content-Type: + - application/json + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6xb7xxiwg-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/196fa5ab-8d20-4f74-a255-e8832b1ed004?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4269' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/196fa5ab-8d20-4f74-a255-e8832b1ed004?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aba56f19-208d-744f-a255-e8832b1ed004\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:17:41.98Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/196fa5ab-8d20-4f74-a255-e8832b1ed004?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aba56f19-208d-744f-a255-e8832b1ed004\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:17:41.98Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/196fa5ab-8d20-4f74-a255-e8832b1ed004?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"aba56f19-208d-744f-a255-e8832b1ed004\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:17:41.98Z\",\n \"endTime\": + \"2021-12-01T14:18:46.3279373Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6xb7xxiwg-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"True\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4634' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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 enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables + publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2021-11-11T20:13:44.2828715Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + headers: + cache-control: + - no-cache + content-length: + - '776' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:19:13 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/3913510d-42f4-4e42-8a64-420c390055eb", + "principalId":"00000000-0000-0000-0000-000000000001"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleAssignments/69f992c6-7703-4b8f-9a0a-29d27d66899f?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:19:14.2091359Z","updatedOn":"2021-12-01T14:19:14.4748434Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/69f992c6-7703-4b8f-9a0a-29d27d66899f","type":"Microsoft.Authorization/roleAssignments","name":"69f992c6-7703-4b8f-9a0a-29d27d66899f"}' + headers: + cache-control: + - no-cache + content-length: + - '1029' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:19:16 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d80024f2-0000-0800-0000-61a784520000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:19:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"description":"routes monitoring data to a Log Analytics + workspace","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"d80042f0-0000-0800-0000-61a784020000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:19:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6xb7xxiwg-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"True\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '4634' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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: '{"location": "westus2", "properties": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "description": "routes monitoring data to a Log Analytics workspace"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:19:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14997' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitest6xb7xxiwg-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '2725' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6xb7xxiwg-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5b44cc27-80bc-45fa-aa27-c130e5eeb419?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3992' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5b44cc27-80bc-45fa-aa27-c130e5eeb419?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"27cc445b-bc80-fa45-aa27-c130e5eeb419\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:22.34Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5b44cc27-80bc-45fa-aa27-c130e5eeb419?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"27cc445b-bc80-fa45-aa27-c130e5eeb419\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:19:22.34Z\",\n \"endTime\": + \"2021-12-01T14:20:18.2907507Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest6xb7xxiwg-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest6xb7xxiwg-8ecadf-96a2404c.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/1f633d2f-faa2-4e2d-bea5-fe0ddeb8bc95\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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: + - '3994' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20: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: 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: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6825d2c-e543-477b-9a6d-a4dbd7789caf?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:20:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/c6825d2c-e543-477b-9a6d-a4dbd7789caf?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14997' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_monitoring_with_aad_auth_uai.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_monitoring_with_aad_auth_uai.yaml new file mode 100644 index 00000000000..0ad0031d1e0 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_monitoring_with_aad_auth_uai.yaml @@ -0,0 +1,2406 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - identity create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:20:26Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:20: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": "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.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai?api-version=2015-08-31-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai","name":"cliakstest000002_uai","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=4caf3d7e-1213-48f7-ae34-3c67e594a654&aid=6e432794-4ae5-4b49-86ac-d1215ebeae0c"}}' + headers: + cache-control: + - no-cache + content-length: + - '822' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:20:30 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai + pragma: + - no-cache + 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: '{"location": "westus2", "identity": {"type": "UserAssigned", "userAssignedIdentities": + {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai": + {}}}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestcnsoy4if7-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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"}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1946' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcnsoy4if7-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false\n },\n + \ \"identity\": {\n \"type\": \"UserAssigned\",\n \"userAssignedIdentities\": + {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {}\n }\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/6d1d240b-8f43-4934-a2bc-e47df45dcfdd?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3333' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20:34 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: + - '1193' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d1d240b-8f43-4934-a2bc-e47df45dcfdd?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0b241d6d-438f-3449-a2bc-e47df45dcfdd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:20:34.14Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d1d240b-8f43-4934-a2bc-e47df45dcfdd?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0b241d6d-438f-3449-a2bc-e47df45dcfdd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:20:34.14Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d1d240b-8f43-4934-a2bc-e47df45dcfdd?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0b241d6d-438f-3449-a2bc-e47df45dcfdd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:20:34.14Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d1d240b-8f43-4934-a2bc-e47df45dcfdd?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0b241d6d-438f-3449-a2bc-e47df45dcfdd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:20:34.14Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:22: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6d1d240b-8f43-4934-a2bc-e47df45dcfdd?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0b241d6d-438f-3449-a2bc-e47df45dcfdd\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:20:34.14Z\",\n \"endTime\": + \"2021-12-01T14:22:45.4271862Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:23: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --node-count + --ssh-key-value --assign-identity + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcnsoy4if7-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4117' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:23: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcnsoy4if7-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4117' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:23: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-12-01T14:20:26Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:23:07 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: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: HEAD + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/DefaultResourceGroup-WUS2?api-version=2021-04-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:23:07 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DefaultResourceGroup-WUS2/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:23:07 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2015-11-01-preview + response: + body: + string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": + \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": + \"Mon, 02 Aug 2021 07:30:13 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, 01 Dec 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n + \ \"modifiedDate\": \"Mon, 29 Nov 2021 09:57:04 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": + \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1162' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:23:08 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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + 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/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"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/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"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/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"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/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/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"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/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"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/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"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/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/swedensouth\",\"name\":\"swedensouth\",\"displayName\":\"Sweden + South\",\"regionalDisplayName\":\"(Europe) Sweden South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"13.0007\",\"latitude\":\"55.6059\",\"physicalLocation\":\"Malmo\",\"pairedRegion\":[{\"name\":\"swedencentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\"}]}},{\"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\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Europe) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '30870' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:23:10 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 + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights","namespace":"microsoft.insights","authorizations":[{"applicationId":"6bccf540-eb86-4037-af03-7fa058c2db75","roleDefinitionId":"89dcede2-9219-403a-9723-d3c6473f9472"},{"applicationId":"11c174dc-1945-4a9a-a36b-c79a0f246b9b","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"},{"applicationId":"035f9e1d-4f00-4419-bf50-bf2d87eb4878","roleDefinitionId":"323795fe-ba3d-4f5a-ad42-afb4e1ea9485"},{"applicationId":"f5c26e74-f226-4ae8-85f0-b4af0080ac9e","roleDefinitionId":"529d7ae6-e892-4d43-809d-8547aeb90643"},{"applicationId":"b503eb83-1222-4dcc-b116-b98ed5216e05","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"},{"applicationId":"3af5a1e8-2459-45cb-8683-bcd6cccbcc13","roleDefinitionId":"b1309299-720d-4159-9897-6158a61aee41"},{"applicationId":"6a0a243c-0886-468a-a4c2-eff52c7445da","roleDefinitionId":"d2eda64b-c5e6-4930-8642-2d80ecd7c2e2"},{"applicationId":"707be275-6b9d-4ee7-88f9-c0c2bd646e0f","roleDefinitionId":"fa027d90-6ba0-4c33-9a54-59edaf2327e7"},{"applicationId":"461e8683-5575-4561-ac7f-899cc907d62a","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"562db366-1b96-45d2-aa4a-f2148cef2240","roleDefinitionId":"4109c8be-c1c8-4be0-af52-9d3c76c140ab"},{"applicationId":"e933bd07-d2ee-4f1d-933c-3752b819567b","roleDefinitionId":"abbcfd44-e662-419a-9b5a-478f8e2f57c9"},{"applicationId":"f6b60513-f290-450e-a2f3-9930de61c5e7","roleDefinitionId":"4ef11659-08ac-48af-98a7-25fb6b1e1bc4"},{"applicationId":"12743ff8-d3de-49d0-a4ce-6c91a4245ea0","roleDefinitionId":"207b20a7-6802-4ae4-aaa2-1a36dd45bba0"},{"applicationId":"58ef1dbd-684c-47d6-8ffc-61ea7a197b95","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"}],"resourceTypes":[{"resourceType":"components","locations":["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","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Canada + East","Jio India West","Korea South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/query","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metadata","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metrics","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","Brazil South","Switzerland North","Australia + Southeast","Norway East","Norway West"],"apiVersions":["2018-04-20","2014-04-01"],"capabilities":"None"},{"resourceType":"components/events","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/syntheticmonitorlocations","locations":["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","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Canada + East","Jio India West","Korea South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"webtests","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","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","Norway West","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","West US + 3","Canada East","Jio India West","Korea South"],"apiVersions":["2018-05-01-preview","2015-05-01","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"webtests/getTestResultFile","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2020-02-10-preview"],"capabilities":"None"},{"resourceType":"scheduledqueryrules","locations":["West + Central US","Australia East","Central US","East US","East US 2","France Central","Japan + East","North Europe","South Africa North","Southeast Asia","UK South","West + Europe","West US 2","Central India","Canada Central","Australia Southeast","South + Central US","Australia Central","Korea Central","East Asia","West US","North + Central US","Brazil South","UK West","Switzerland North","Switzerland West","UAE + Central","Germany West Central","Australia Central 2","Brazil SouthEast","Norway + East","UAE North","Japan West","South India","France South","Norway West","East + US 2 EUAP"],"apiVersions":["2021-08-01","2021-02-01-preview","2020-05-01-preview","2018-04-16","2017-09-01-preview"],"defaultApiVersion":"2018-04-16","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/pricingPlans","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"migrateToNewPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"rollbackToLegacyPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"listMigrationdate","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"logprofiles","locations":[],"apiVersions":["2016-03-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"None"},{"resourceType":"migratealertrules","locations":[],"apiVersions":["2018-03-01"],"capabilities":"None"},{"resourceType":"metricalerts","locations":["Global"],"apiVersions":["2018-03-01","2017-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"alertrules","locations":["West US","East + US","North Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Central US","Australia + East","Australia Southeast","Brazil South","UK South","UK West","South India","Central + India","West India","Canada East","Canada Central","West Central US","West + US 2","Korea Central","Australia Central","Australia Central 2","France Central","South + Africa North","UAE North","Korea South","France South","East US 2 EUAP","Central + US EUAP","South Africa West","UAE Central"],"apiVersions":["2016-03-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"autoscalesettings","locations":["West + US","East US","North Europe","South Central US","East US 2","Central US","Australia + Southeast","Brazil South","UK South","UK West","South India","Central India","West + India","Canada East","Canada Central","West Central US","West US 2","Korea + Central","Australia Central","Australia Central 2","France Central","West + Europe","East Asia","Southeast Asia","Japan East","Japan West","North Central + US","Australia East","South Africa North","UAE North","Switzerland North","Germany + West Central","Norway East","West US 3","Jio India West","Korea South","France + South","East US 2 EUAP","Central US EUAP","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2015-04-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"eventtypes","locations":[],"apiVersions":["2017-03-01-preview","2016-09-01-preview","2015-04-01","2014-11-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"SupportsExtension"},{"resourceType":"locations","locations":["East + US"],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"locations/operationResults","locations":[],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"vmInsightsOnboardingStatuses","locations":[],"apiVersions":["2018-11-27-preview"],"capabilities":"SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2015-04-01","2014-06-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"diagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","East US + 2 EUAP","Central US EUAP","France South","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2017-05-01-preview","2016-09-01","2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-09-01"}],"capabilities":"SupportsExtension"},{"resourceType":"diagnosticSettingsCategories","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","East US + 2 EUAP","Central US EUAP","France South","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2021-05-01-preview","2017-05-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"extendedDiagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","South Africa North","UAE North","Switzerland North","Germany West + Central","Norway East","West US 3","Jio India West","Korea South","France + South","East US 2 EUAP","Central US EUAP","South Africa West","UAE Central","Switzerland + West","Germany North","Norway West","Brazil Southeast","Jio India Central","Sweden + South","Sweden Central"],"apiVersions":["2017-02-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-02-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricDefinitions","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"logDefinitions","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea Central","Australia Central","Australia Central 2","France + Central","Korea South","France South","East US 2 EUAP","Central US EUAP"],"apiVersions":["2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-07-01"}],"capabilities":"SupportsExtension"},{"resourceType":"eventCategories","locations":[],"apiVersions":["2015-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"metrics","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2021-05-01","2019-07-01","2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview","2016-09-01","2016-06-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricbatch","locations":[],"apiVersions":["2019-01-01-preview"],"capabilities":"None"},{"resourceType":"metricNamespaces","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","West US 3","West Central + US","Korea Central","UK South","UK West","France Central","South Africa North","South + Africa West","UAE North","Switzerland North","Germany West Central","Norway + East","Jio India Central","Sweden Central","Sweden South","Korea South","East + US 2 EUAP","Central US EUAP","France South","UAE Central","Switzerland West","Germany + North","Norway West"],"apiVersions":["2017-12-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"notificationstatus","locations":[],"apiVersions":["2021-09-01"],"capabilities":"None"},{"resourceType":"createnotifications","locations":[],"apiVersions":["2021-09-01"],"capabilities":"None"},{"resourceType":"actiongroups","locations":["Global"],"apiVersions":["2021-09-01","2019-06-01","2019-03-01","2018-09-01","2018-03-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"activityLogAlerts","locations":["Global"],"apiVersions":["2020-10-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"baseline","locations":[],"apiVersions":["2018-09-01","2017-11-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"metricbaselines","locations":[],"apiVersions":["2019-03-01","2018-09-01"],"capabilities":"SupportsExtension"},{"resourceType":"calculatebaseline","locations":[],"apiVersions":["2018-09-01","2017-11-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"workbooks","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Canada East","Jio India West","Central US EUAP","East + US 2 EUAP","Korea South"],"apiVersions":["2021-08-01","2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-01-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"workbooktemplates","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Canada East","Jio India West","Korea South"],"apiVersions":["2020-11-20","2019-10-17-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"myWorkbooks","locations":["West + Europe","South Central US","East US","North 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","Norway West","Australia Southeast","Central US EUAP","East US 2 EUAP"],"apiVersions":["2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-15-preview","2018-06-01-preview","2016-06-15-preview"],"capabilities":"SupportsExtension"},{"resourceType":"logs","locations":["East + US","East US 2","West US","Central US","North Central US","South Central US","North + Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan West","Australia + East","Australia Southeast","Brazil South","South India","Central India","West + India","Canada Central","Canada East","West US 2","West Central US","UK South","UK + West","Korea Central","France Central","France South","Australia Central","South + Africa North","Korea South","Central US EUAP","East US 2 EUAP","Australia + Central 2","South Africa West","UAE Central","UAE North"],"apiVersions":["2018-03-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"transactions","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"topology","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"generateLiveToken","locations":[],"apiVersions":["2021-10-14","2020-06-02-preview"],"capabilities":"SupportsExtension"},{"resourceType":"dataCollectionRules","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Australia Central 2","Brazil + Southeast","France South","Norway West","UAE North","Japan West","Norway East","Switzerland + West","Brazil South","East US 2 EUAP"],"apiVersions":["2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionRuleAssociations","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"SupportsExtension"},{"resourceType":"dataCollectionEndpoints","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionEndpoints/scopedPrivateLinkProxies","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Norway West","UAE + North","Japan West","Norway East","Switzerland West","Korea South","East US + 2 EUAP"],"apiVersions":["2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"None"},{"resourceType":"privateLinkScopes","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"privateLinkScopes/privateEndpointConnections","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/privateEndpointConnectionProxies","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/scopedResources","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"components/linkedstorageaccounts","locations":["East + US","West Central 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","Norway West","Australia Southeast"],"apiVersions":["2020-03-01-preview"],"capabilities":"None"},{"resourceType":"privateLinkScopeOperationStatuses","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '27917' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:23:09 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": {"dataSources": {"extensions": [{"name": + "ContainerInsightsExtension", "streams": ["Microsoft-Perf", "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", "Microsoft-KubeHealth", "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", "Microsoft-KubePodInventory", "Microsoft-KubePVInventory", + "Microsoft-KubeServices", "Microsoft-InsightsMetrics"], "extensionName": "ContainerInsights"}]}, + "dataFlows": [{"streams": ["Microsoft-Perf", "Microsoft-ContainerInventory", + "Microsoft-ContainerLog", "Microsoft-ContainerLogV2", "Microsoft-ContainerNodeInventory", + "Microsoft-KubeEvents", "Microsoft-KubeHealth", "Microsoft-KubeMonAgentEvents", + "Microsoft-KubeNodeInventory", "Microsoft-KubePodInventory", "Microsoft-KubePVInventory", + "Microsoft-KubeServices", "Microsoft-InsightsMetrics"], "destinations": ["la-workspace"]}], + "destinations": {"logAnalytics": [{"workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "name": "la-workspace"}]}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '1248' + Content-Type: + - application/json + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d8001ff7-0000-0800-0000-61a7854f0000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:23:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "properties": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "description": "routes monitoring data to a Log Analytics workspace"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"description":"routes monitoring data to a Log Analytics + workspace","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"d80038f7-0000-0800-0000-61a785510000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:23:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "UserAssigned", "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai": + {}}}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": "cliakstest-clitestcnsoy4if7-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": + 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", + "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"enabled": true, "config": + {"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "useAADAuth": "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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '3197' + Content-Type: + - application/json + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcnsoy4if7-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\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/964ee847-9d85-4edc-8977-4de85436e630?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4487' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:23: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/964ee847-9d85-4edc-8977-4de85436e630?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"47e84e96-859d-dc4e-8977-4de85436e630\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:23:16.21Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:23: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/964ee847-9d85-4edc-8977-4de85436e630?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"47e84e96-859d-dc4e-8977-4de85436e630\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:23:16.21Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:24: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/964ee847-9d85-4edc-8977-4de85436e630?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"47e84e96-859d-dc4e-8977-4de85436e630\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:23:16.21Z\",\n \"endTime\": + \"2021-12-01T14:24:18.8549292Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:24: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcnsoy4if7-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"True\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4852' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:24: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 enable-addons + Connection: + - keep-alive + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables + publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2021-11-11T20:13:44.2828715Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + headers: + cache-control: + - no-cache + content-length: + - '776' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:24: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/3913510d-42f4-4e42-8a64-420c390055eb", + "principalId":"00000000-0000-0000-0000-000000000001"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks enable-addons + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - -a --resource-group --name --enable-msi-auth-for-monitoring + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleAssignments/47829144-b269-466a-b1d5-8e2102ddc5c4?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:24:48.6146228Z","updatedOn":"2021-12-01T14:24:48.8958049Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/47829144-b269-466a-b1d5-8e2102ddc5c4","type":"Microsoft.Authorization/roleAssignments","name":"47829144-b269-466a-b1d5-8e2102ddc5c4"}' + headers: + cache-control: + - no-cache + content-length: + - '1029' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:24:51 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: + - '1191' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"immutableId":"dcr-78b5a913da4f4d5cb0c12d527d2ef9dd","dataSources":{"extensions":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"extensionName":"ContainerInsights","name":"ContainerInsightsExtension"}]},"destinations":{"logAnalytics":[{"workspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","workspaceId":"e897efd7-55de-4860-ac51-7403ccb7e3cf","name":"la-workspace"}]},"dataFlows":[{"streams":["Microsoft-Perf","Microsoft-ContainerInventory","Microsoft-ContainerLog","Microsoft-ContainerLogV2","Microsoft-ContainerNodeInventory","Microsoft-KubeEvents","Microsoft-KubeHealth","Microsoft-KubeMonAgentEvents","Microsoft-KubeNodeInventory","Microsoft-KubePodInventory","Microsoft-KubePVInventory","Microsoft-KubeServices","Microsoft-InsightsMetrics"],"destinations":["la-workspace"]}],"provisioningState":"Succeeded"},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRules","etag":"\"d8001ff7-0000-0800-0000-61a7854f0000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:24:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - rest + Connection: + - keep-alive + ParameterSetName: + - --method --url + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '{"properties":{"description":"routes monitoring data to a Log Analytics + workspace","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","name":"send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"d80038f7-0000-0800-0000-61a785510000\""}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:24:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + 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: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcnsoy4if7-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \ \"useAADAuth\": \"True\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4852' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:24: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: '{"location": "westus2", "properties": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Insights/dataCollectionRules/MSCI-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "description": "routes monitoring data to a Log Analytics workspace"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + AZURECLI/2.30.0 + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/send-to-defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2019-11-01-preview + response: + body: + string: '' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:24:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "UserAssigned", "userAssignedIdentities": {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai": + {}}}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": "cliakstest-clitestcnsoy4if7-8ecadf", + "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": + 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", + "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + Content-Length: + - '2923' + Content-Type: + - application/json + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcnsoy4if7-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\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/e02e032c-8b97-4907-a8e7-2b569be86612?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4210' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:24: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e02e032c-8b97-4907-a8e7-2b569be86612?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2c032ee0-978b-0749-a8e7-2b569be86612\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:24:56.9433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:25: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e02e032c-8b97-4907-a8e7-2b569be86612?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"2c032ee0-978b-0749-a8e7-2b569be86612\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:24:56.9433333Z\",\n \"endTime\": + \"2021-12-01T14:25:57.9494272Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:25: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks disable-addons + Connection: + - keep-alive + ParameterSetName: + - -a -g -n + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcnsoy4if7-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestcnsoy4if7-8ecadf-0a9b690f.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\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/b8445e97-93a9-448f-9f1b-3ca4bbcf4baa\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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\": \"UserAssigned\",\n \"userAssignedIdentities\": {\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002_uai\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n + \ }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4212' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:25: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: 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: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e15eb504-75d8-4c5e-b485-e8adb2050de5?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:25:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/e15eb504-75d8-4c5e-b485-e8adb2050de5?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14995' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml old mode 100755 new mode 100644 index c975d9e8e99..0496d5525b5 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_utlra_ssd.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:36:09Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2022-01-27T07:51:00Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '304' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:36:10 GMT + - Thu, 27 Jan 2022 07:51:02 GMT expires: - '-1' pragma: @@ -42,15 +42,15 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestpibjiyx55-8ecadf", + body: '{"location": "eastus", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestgapnvs7ue-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_D2s_v3", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "availabilityZones": ["1", "2", "3"], "enableNodePublicIP": false, - "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "availabilityZones": ["1", "2", "3"], "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": true, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNYY/eJCx9aBQ39YNvuJaXMxG6aL1kkTcP7Vu/D7nxAlq8w8HHgKi5Lh3JR3Q2r/RLHDgM6EVSHWW5x9dkHU8LB0Tp16YQgqG19xAIjJ5WAywDq+WB81eu2szusuxVZk0qzOINHm3Y9bs94nVvycFN3D/4zkg2LnKvFfOqIqiMKKTFkNmkS+s3qQFsSj3N8XBwZN5kcCjQ+e2rmGYUTXpjZHuDxqLZz4NCIVFawEtqKEYwAJQxUofpZ6nGASJifhML/egNTttcPbjmOHkXvamOPq33hlwBJYvXx3VL7qIk9T67lqz3XhLoduN13EH8GenWz1cKR9+PW3iOz3bWtxn3 azcli_aks_live_test@example.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", @@ -66,62 +66,65 @@ interactions: Connection: - keep-alive Content-Length: - - '1428' + - '1455' Content-Type: - application/json ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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\": + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestpibjiyx55-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestpibjiyx55-8ecadf-b7e19cf8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestpibjiyx55-8ecadf-b7e19cf8.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestgapnvs7ue-8ecadf\",\n \"fqdn\": \"cliakstest-clitestgapnvs7ue-8ecadf-414e30e8.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestgapnvs7ue-8ecadf-414e30e8.portal.hcp.eastus.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"availabilityZones\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": true,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": true,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDNYY/eJCx9aBQ39YNvuJaXMxG6aL1kkTcP7Vu/D7nxAlq8w8HHgKi5Lh3JR3Q2r/RLHDgM6EVSHWW5x9dkHU8LB0Tp16YQgqG19xAIjJ5WAywDq+WB81eu2szusuxVZk0qzOINHm3Y9bs94nVvycFN3D/4zkg2LnKvFfOqIqiMKKTFkNmkS+s3qQFsSj3N8XBwZN5kcCjQ+e2rmGYUTXpjZHuDxqLZz4NCIVFawEtqKEYwAJQxUofpZ6nGASJifhML/egNTttcPbjmOHkXvamOPq33hlwBJYvXx3VL7qIk9T67lqz3XhLoduN13EH8GenWz1cKR9+PW3iOz3bWtxn3 azcli_aks_live_test@example.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 + \"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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/401046fd-b055-45e1-b4ec-d2fe2da00d76?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 cache-control: - no-cache content-length: - - '2845' + - '3087' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:13 GMT + - Thu, 27 Jan 2022 07:51:09 GMT expires: - '-1' pragma: @@ -151,23 +154,23 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/401046fd-b055-45e1-b4ec-d2fe2da00d76?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"fd461040-55b0-e145-b4ec-d2fe2da00d76\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:13.84Z\"\n }" + string: "{\n \"name\": \"d4f789f0-90c7-7041-8ef9-35171aede57e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T07:51:09.1166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:36:44 GMT + - Thu, 27 Jan 2022 07:51:39 GMT expires: - '-1' pragma: @@ -199,23 +202,23 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/401046fd-b055-45e1-b4ec-d2fe2da00d76?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"fd461040-55b0-e145-b4ec-d2fe2da00d76\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:13.84Z\"\n }" + string: "{\n \"name\": \"d4f789f0-90c7-7041-8ef9-35171aede57e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T07:51:09.1166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:14 GMT + - Thu, 27 Jan 2022 07:52:09 GMT expires: - '-1' pragma: @@ -247,23 +250,23 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/401046fd-b055-45e1-b4ec-d2fe2da00d76?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"fd461040-55b0-e145-b4ec-d2fe2da00d76\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:13.84Z\"\n }" + string: "{\n \"name\": \"d4f789f0-90c7-7041-8ef9-35171aede57e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T07:51:09.1166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:37:43 GMT + - Thu, 27 Jan 2022 07:52:39 GMT expires: - '-1' pragma: @@ -295,23 +298,23 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/401046fd-b055-45e1-b4ec-d2fe2da00d76?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"fd461040-55b0-e145-b4ec-d2fe2da00d76\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:13.84Z\"\n }" + string: "{\n \"name\": \"d4f789f0-90c7-7041-8ef9-35171aede57e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T07:51:09.1166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:13 GMT + - Thu, 27 Jan 2022 07:53:09 GMT expires: - '-1' pragma: @@ -343,23 +346,23 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/401046fd-b055-45e1-b4ec-d2fe2da00d76?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"fd461040-55b0-e145-b4ec-d2fe2da00d76\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:13.84Z\"\n }" + string: "{\n \"name\": \"d4f789f0-90c7-7041-8ef9-35171aede57e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T07:51:09.1166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:38:44 GMT + - Thu, 27 Jan 2022 07:53:39 GMT expires: - '-1' pragma: @@ -391,23 +394,23 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/401046fd-b055-45e1-b4ec-d2fe2da00d76?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"fd461040-55b0-e145-b4ec-d2fe2da00d76\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:36:13.84Z\"\n }" + string: "{\n \"name\": \"d4f789f0-90c7-7041-8ef9-35171aede57e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T07:51:09.1166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:14 GMT + - Thu, 27 Jan 2022 07:54:10 GMT expires: - '-1' pragma: @@ -439,24 +442,23 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/401046fd-b055-45e1-b4ec-d2fe2da00d76?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"fd461040-55b0-e145-b4ec-d2fe2da00d76\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:36:13.84Z\",\n \"endTime\": - \"2021-10-19T06:39:30.20312Z\"\n }" + string: "{\n \"name\": \"d4f789f0-90c7-7041-8ef9-35171aede57e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T07:51:09.1166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '163' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:43 GMT + - Thu, 27 Jan 2022 07:54:40 GMT expires: - '-1' pragma: @@ -488,58 +490,111 @@ interactions: ParameterSetName: - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/f089f7d4-c790-4170-8ef9-35171aede57e?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"d4f789f0-90c7-7041-8ef9-35171aede57e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-01-27T07:51:09.1166666Z\",\n \"endTime\": + \"2022-01-27T07:54:45.8718825Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 07:55: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-vm-size --zones --enable-ultra-ssd --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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\": + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestpibjiyx55-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestpibjiyx55-8ecadf-b7e19cf8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestpibjiyx55-8ecadf-b7e19cf8.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestgapnvs7ue-8ecadf\",\n \"fqdn\": \"cliakstest-clitestgapnvs7ue-8ecadf-414e30e8.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestgapnvs7ue-8ecadf-414e30e8.portal.hcp.eastus.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"availabilityZones\": [\n \"1\",\n \"2\",\n \"3\"\n ],\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": true,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": true,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDNYY/eJCx9aBQ39YNvuJaXMxG6aL1kkTcP7Vu/D7nxAlq8w8HHgKi5Lh3JR3Q2r/RLHDgM6EVSHWW5x9dkHU8LB0Tp16YQgqG19xAIjJ5WAywDq+WB81eu2szusuxVZk0qzOINHm3Y9bs94nVvycFN3D/4zkg2LnKvFfOqIqiMKKTFkNmkS+s3qQFsSj3N8XBwZN5kcCjQ+e2rmGYUTXpjZHuDxqLZz4NCIVFawEtqKEYwAJQxUofpZ6nGASJifhML/egNTttcPbjmOHkXvamOPq33hlwBJYvXx3VL7qIk9T67lqz3XhLoduN13EH8GenWz1cKR9+PW3iOz3bWtxn3 azcli_aks_live_test@example.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 + \"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_westus2/providers/Microsoft.Network/publicIPAddresses/e2aabd53-08d8-4dc3-8180-26d917c2012a\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.Network/publicIPAddresses/73e0cae4-10b2-45c9-86ef-4843748e2084\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 + \"/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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3508' + - '3738' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:43 GMT + - Thu, 27 Jan 2022 07:55:12 GMT expires: - '-1' pragma: @@ -573,26 +628,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b98370cf-5380-4ef7-96f9-7aa0a2c1542b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/0ac5f210-8983-40d3-bf92-8f746a7127f9?api-version=2017-08-31 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 06:39:45 GMT + - Thu, 27 Jan 2022 07:55:13 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b98370cf-5380-4ef7-96f9-7aa0a2c1542b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/0ac5f210-8983-40d3-bf92-8f746a7127f9?api-version=2017-08-31 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml old mode 100755 new mode 100644 index b711eb9190b..fb43cf3c72c --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_maintenanceconfiguration.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:06:52Z"},"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":"2022-02-11T07:57:43Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:06:52 GMT + - Fri, 11 Feb 2022 07:57:43 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitesterwhmqta3-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestt3p76uufs-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesterwhmqta3-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesterwhmqta3-8ecadf-10a7c8a7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesterwhmqta3-8ecadf-10a7c8a7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestt3p76uufs-8ecadf\",\n \"fqdn\": \"cliakstest-clitestt3p76uufs-8ecadf-b6f3ecd7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestt3p76uufs-8ecadf-b6f3ecd7.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/4ed1a303-d33f-4e53-9270-6e02c0c199f8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:56 GMT + - Fri, 11 Feb 2022 07:57:47 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1194' status: code: 201 message: Created @@ -149,14 +153,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ed1a303-d33f-4e53-9270-6e02c0c199f8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03a3d14e-3fd3-534e-9270-6e02c0c199f8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:56.62Z\"\n }" + string: "{\n \"name\": \"c1d62e3c-04a1-8e4e-9be4-5fd18c217504\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:47.33Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +169,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:26 GMT + - Fri, 11 Feb 2022 07:58:17 GMT expires: - '-1' pragma: @@ -197,14 +201,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ed1a303-d33f-4e53-9270-6e02c0c199f8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03a3d14e-3fd3-534e-9270-6e02c0c199f8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:56.62Z\"\n }" + string: "{\n \"name\": \"c1d62e3c-04a1-8e4e-9be4-5fd18c217504\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:47.33Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +217,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:56 GMT + - Fri, 11 Feb 2022 07:58:47 GMT expires: - '-1' pragma: @@ -245,14 +249,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ed1a303-d33f-4e53-9270-6e02c0c199f8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03a3d14e-3fd3-534e-9270-6e02c0c199f8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:56.62Z\"\n }" + string: "{\n \"name\": \"c1d62e3c-04a1-8e4e-9be4-5fd18c217504\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:47.33Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +265,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:26 GMT + - Fri, 11 Feb 2022 07:59:17 GMT expires: - '-1' pragma: @@ -293,14 +297,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ed1a303-d33f-4e53-9270-6e02c0c199f8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03a3d14e-3fd3-534e-9270-6e02c0c199f8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:56.62Z\"\n }" + string: "{\n \"name\": \"c1d62e3c-04a1-8e4e-9be4-5fd18c217504\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:47.33Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +313,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:56 GMT + - Fri, 11 Feb 2022 07:59:46 GMT expires: - '-1' pragma: @@ -341,14 +345,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ed1a303-d33f-4e53-9270-6e02c0c199f8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03a3d14e-3fd3-534e-9270-6e02c0c199f8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:56.62Z\"\n }" + string: "{\n \"name\": \"c1d62e3c-04a1-8e4e-9be4-5fd18c217504\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:47.33Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:26 GMT + - Fri, 11 Feb 2022 08:00:17 GMT expires: - '-1' pragma: @@ -389,14 +393,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ed1a303-d33f-4e53-9270-6e02c0c199f8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03a3d14e-3fd3-534e-9270-6e02c0c199f8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:56.62Z\"\n }" + string: "{\n \"name\": \"c1d62e3c-04a1-8e4e-9be4-5fd18c217504\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:47.33Z\"\n }" headers: cache-control: - no-cache @@ -405,7 +409,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:56 GMT + - Fri, 11 Feb 2022 08:00:47 GMT expires: - '-1' pragma: @@ -437,24 +441,72 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4ed1a303-d33f-4e53-9270-6e02c0c199f8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03a3d14e-3fd3-534e-9270-6e02c0c199f8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:06:56.62Z\",\n \"endTime\": - \"2021-10-19T07:10:10.843341Z\"\n }" + string: "{\n \"name\": \"c1d62e3c-04a1-8e4e-9be4-5fd18c217504\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T07:57:47.33Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3c2ed6c1-a104-4e8e-9be4-5fd18c217504?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c1d62e3c-04a1-8e4e-9be4-5fd18c217504\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T07:57:47.33Z\",\n \"endTime\": + \"2022-02-11T08:01:44.5512795Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:26 GMT + - Fri, 11 Feb 2022 08:01:47 GMT expires: - '-1' pragma: @@ -486,57 +538,61 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitesterwhmqta3-8ecadf\",\n \"fqdn\": - \"cliakstest-clitesterwhmqta3-8ecadf-10a7c8a7.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitesterwhmqta3-8ecadf-10a7c8a7.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestt3p76uufs-8ecadf\",\n \"fqdn\": \"cliakstest-clitestt3p76uufs-8ecadf-b6f3ecd7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestt3p76uufs-8ecadf-b6f3ecd7.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/bd10b668-c66b-44d3-bb94-2481e0b1328c\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/559275d4-e2f3-4060-98e5-a0051f2e6e09\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:27 GMT + - Fri, 11 Feb 2022 08:01:47 GMT expires: - '-1' pragma: @@ -568,10 +624,10 @@ interactions: ParameterSetName: - -g --cluster-name -n --weekday --start-hour User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2022-01-02-preview response: body: string: "{\n \"value\": []\n }" @@ -583,7 +639,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:28 GMT + - Fri, 11 Feb 2022 08:01:49 GMT expires: - '-1' pragma: @@ -620,10 +676,10 @@ interactions: ParameterSetName: - -g --cluster-name -n --weekday --start-hour User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default\",\n @@ -634,11 +690,11 @@ interactions: cache-control: - no-cache content-length: - - '340' + - '336' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:28 GMT + - Fri, 11 Feb 2022 08:01:49 GMT expires: - '-1' pragma: @@ -654,7 +710,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1193' status: code: 200 message: OK @@ -672,10 +728,10 @@ interactions: ParameterSetName: - -g --cluster-name -n --config-file User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default\",\n @@ -686,11 +742,11 @@ interactions: cache-control: - no-cache content-length: - - '391' + - '387' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:28 GMT + - Fri, 11 Feb 2022 08:01:49 GMT expires: - '-1' pragma: @@ -729,10 +785,10 @@ interactions: ParameterSetName: - -g --cluster-name -n --config-file User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default\",\n @@ -747,11 +803,11 @@ interactions: cache-control: - no-cache content-length: - - '632' + - '628' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:29 GMT + - Fri, 11 Feb 2022 08:01:49 GMT expires: - '-1' pragma: @@ -767,7 +823,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1194' status: code: 200 message: OK @@ -785,10 +841,10 @@ interactions: ParameterSetName: - -g --cluster-name -n User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default\",\n @@ -803,11 +859,11 @@ interactions: cache-control: - no-cache content-length: - - '632' + - '628' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:29 GMT + - Fri, 11 Feb 2022 08:01:50 GMT expires: - '-1' pragma: @@ -841,10 +897,10 @@ interactions: ParameterSetName: - -g --cluster-name -n User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations/default?api-version=2022-01-02-preview response: body: string: '' @@ -854,7 +910,7 @@ interactions: content-length: - '0' date: - - Tue, 19 Oct 2021 07:10:30 GMT + - Fri, 11 Feb 2022 08:01:49 GMT expires: - '-1' pragma: @@ -866,7 +922,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14995' + - '14999' status: code: 200 message: OK @@ -884,10 +940,10 @@ interactions: ParameterSetName: - -g --cluster-name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/maintenanceConfigurations?api-version=2022-01-02-preview response: body: string: "{\n \"value\": []\n }" @@ -899,7 +955,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:30 GMT + - Fri, 11 Feb 2022 08:01:50 GMT expires: - '-1' pragma: @@ -933,26 +989,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a7ad29e0-e9a3-4422-8e6b-a426589966c8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c703e23e-60c6-404d-82e7-12ed3b9e1810?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:10:31 GMT + - Fri, 11 Feb 2022 08:01:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/a7ad29e0-e9a3-4422-8e6b-a426589966c8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/c703e23e-60c6-404d-82e7-12ed3b9e1810?api-version=2016-03-30 pragma: - no-cache server: @@ -962,7 +1018,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_gpu_instance_profile.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_gpu_instance_profile.yaml index 395bcf1fbc1..875f8243a78 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_gpu_instance_profile.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_gpu_instance_profile.yaml @@ -2,1331 +2,1999 @@ 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 --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.5 - (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T08:11:47Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['312'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 19 Oct 2021 08:11: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} + 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":"2022-01-27T06:10:16Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '304' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 27 Jan 2022 06:10:17 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": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestjwe2d5euf-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestv6vdsqufe-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.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"}, - "disableLocalAccounts": false}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - Content-Length: ['1716'] - Content-Type: [application/json] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDeCLEwvT9zp6fvj4ZrOvXKrfit9nK7AbuOA3dsgPIZGQVWnkjDAZ+TUH9D6vJ15MC93vf9y0p8FsXHgVgByNrz7bUB2K+iXOQEMmUiIayS7Hzzpq75zMAM5woT8f5ifrmMP4DgbPUHSp3jCj+llyGAo4U8gK8zR48NY+PsWANCanFH41KN2gnTI3UKzwGmEo4pjzbV6SQdwz5mGChpsTFfdj7/7dz1fMCvGIGlcIqIwkl8St4b7K09e8gJ2HoxzkpAzbr+wb9VOWYb3FHTnGpbDT1u9fS054oxl2sd77yoPWPXYz1xwnVRBn/8y0bZnQ2bt9RO5OrV4z6pQ+DIsIuz + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1416' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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 \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestjwe2d5euf-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjwe2d5euf-8ecadf-01d38178.hcp.eastus.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestjwe2d5euf-8ecadf-01d38178.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\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 \"publicNetworkAccess\"\ - : \"Enabled\"\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/6cf7faee-58d4-4e7a-a547-29fcc3b63c5d?api-version=2017-08-31'] - cache-control: [no-cache] - content-length: ['3100'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:12:00 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: ['1198'] - status: {code: 201, message: Created} + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestv6vdsqufe-8ecadf\",\n \"fqdn\": \"cliakstest-clitestv6vdsqufe-8ecadf-58258975.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestv6vdsqufe-8ecadf-58258975.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDeCLEwvT9zp6fvj4ZrOvXKrfit9nK7AbuOA3dsgPIZGQVWnkjDAZ+TUH9D6vJ15MC93vf9y0p8FsXHgVgByNrz7bUB2K+iXOQEMmUiIayS7Hzzpq75zMAM5woT8f5ifrmMP4DgbPUHSp3jCj+llyGAo4U8gK8zR48NY+PsWANCanFH41KN2gnTI3UKzwGmEo4pjzbV6SQdwz5mGChpsTFfdj7/7dz1fMCvGIGlcIqIwkl8St4b7K09e8gJ2HoxzkpAzbr+wb9VOWYb3FHTnGpbDT1u9fS054oxl2sd77yoPWPXYz1xwnVRBn/8y0bZnQ2bt9RO5OrV4z6pQ+DIsIuz + azcli_aks_live_test@example.com\\n\"\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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3018' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:10:22 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: + - '1197' + status: + code: 201 + message: Created - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/6cf7faee-58d4-4e7a-a547-29fcc3b63c5d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"eefaf76c-d458-7a4e-a547-29fcc3b63c5d\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:11:59.73Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:12:30 GMT'] - expires: ['-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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 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 - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/6cf7faee-58d4-4e7a-a547-29fcc3b63c5d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"eefaf76c-d458-7a4e-a547-29fcc3b63c5d\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:11:59.73Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:13: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:11: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/6cf7faee-58d4-4e7a-a547-29fcc3b63c5d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"eefaf76c-d458-7a4e-a547-29fcc3b63c5d\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:11:59.73Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:13: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:11: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/6cf7faee-58d4-4e7a-a547-29fcc3b63c5d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"eefaf76c-d458-7a4e-a547-29fcc3b63c5d\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:11:59.73Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:14: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:12: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/6cf7faee-58d4-4e7a-a547-29fcc3b63c5d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"eefaf76c-d458-7a4e-a547-29fcc3b63c5d\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:11:59.73Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:14: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:12: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/6cf7faee-58d4-4e7a-a547-29fcc3b63c5d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"eefaf76c-d458-7a4e-a547-29fcc3b63c5d\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:11:59.73Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:15: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:13: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/6cf7faee-58d4-4e7a-a547-29fcc3b63c5d?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"eefaf76c-d458-7a4e-a547-29fcc3b63c5d\",\n \"\ - status\": \"Succeeded\",\n \"startTime\": \"2021-10-19T08:11:59.73Z\",\n\ - \ \"endTime\": \"2021-10-19T08:15:16.5965211Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['165'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:15: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:13: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --nodepool-name -c --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 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 \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestjwe2d5euf-8ecadf\",\n \"fqdn\": \"cliakstest-clitestjwe2d5euf-8ecadf-01d38178.hcp.eastus.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestjwe2d5euf-8ecadf-01d38178.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\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/0dc6d39a-39d3-4bf5-bdeb-c1dc68db6a6d\"\ - \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 \"publicNetworkAccess\": \"Enabled\"\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: ['3761'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:15: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:14: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 --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 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 \"workloadRuntime\": \"OCIContainer\",\n\ - \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n\ - \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n\ - \ }\n }\n ]\n }"} - headers: - cache-control: [no-cache] - content-length: ['968'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:15: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: '{"properties": {"count": 1, "vmSize": "standard_nd96asr_v4", "workloadRuntime": - "OCIContainer", "osType": "Linux", "scaleDownMode": "Delete", "mode": "User", - "upgradeSettings": {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", - "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "nodeTaints": [], - "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, - "gpuInstanceProfile": "MIG3g"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - Content-Length: ['427'] - Content-Type: [application/json] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - 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/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-09-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\": 1,\n \"vmSize\": \"standard_nd96asr_v4\"\ - ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Ephemeral\",\n \"kubeletDiskType\"\ - : \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\"\ - : false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n\ - \ \"enableUltraSSD\": false,\n \"gpuInstanceProfile\": \"MIG3g\",\n \ - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2gpucontainerd-2021.10.02\",\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/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31'] - cache-control: [no-cache] - content-length: ['985'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:15:39 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: ['1196'] - status: {code: 201, message: Created} -- request: - body: null - headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - 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/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 - response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:16: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:14: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:16: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:17: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:15: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:17: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:16: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:18: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:16: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:18: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:17: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:19: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:17: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:19: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:18: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/2ab9bffb-fc25-458c-ba83-a715f20ea149?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:20: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} + body: + string: "{\n \"name\": \"fbbfb92a-25fc-8c45-ba83-a715f20ea149\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-01-27T06:10:23.11Z\",\n \"endTime\": + \"2022-01-27T06:18:50.734405Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:18: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:20: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} + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestv6vdsqufe-8ecadf\",\n \"fqdn\": \"cliakstest-clitestv6vdsqufe-8ecadf-58258975.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestv6vdsqufe-8ecadf-58258975.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDeCLEwvT9zp6fvj4ZrOvXKrfit9nK7AbuOA3dsgPIZGQVWnkjDAZ+TUH9D6vJ15MC93vf9y0p8FsXHgVgByNrz7bUB2K+iXOQEMmUiIayS7Hzzpq75zMAM5woT8f5ifrmMP4DgbPUHSp3jCj+llyGAo4U8gK8zR48NY+PsWANCanFH41KN2gnTI3UKzwGmEo4pjzbV6SQdwz5mGChpsTFfdj7/7dz1fMCvGIGlcIqIwkl8St4b7K09e8gJ2HoxzkpAzbr+wb9VOWYb3FHTnGpbDT1u9fS054oxl2sd77yoPWPXYz1xwnVRBn/8y0bZnQ2bt9RO5OrV4z6pQ+DIsIuz + azcli_aks_live_test@example.com\\n\"\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/1a84cc8a-906f-45a3-85e1-d636d387ddb8\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3669' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:18: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2022-01-02-preview response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:21: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} + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.19\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '999' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:18: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: null + body: '{"properties": {"count": 1, "vmSize": "standard_nd96asr_v4", "workloadRuntime": + "OCIContainer", "osType": "Linux", "scaleDownMode": "Delete", "mode": "User", + "upgradeSettings": {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "nodeTaints": [], + "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, + "gpuInstanceProfile": "MIG3g"}}' headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - 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/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '427' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2022-01-02-preview response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:21: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} + 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\": 1,\n \"vmSize\": \"standard_nd96asr_v4\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Ephemeral\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"gpuInstanceProfile\": \"MIG3g\",\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2gpucontainerd-2022.01.19\",\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/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '1015' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:19:01 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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:22: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:22: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:23: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:23: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:21: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:24: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:21: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:24: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:22: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:25: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 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 - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:25: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:23: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:26: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:23: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:26: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:24: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:27: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:24: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:27: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:25: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:28: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:25: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/e8a48043-b012-4cf4-a874-2374eef3b25e?api-version=2017-08-31 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4d467209-0265-41d0-a4f2-9c2aaf4b8916?api-version=2017-08-31 response: - body: {string: "{\n \"name\": \"4380a4e8-12b0-f44c-a874-2374eef3b25e\",\n \"\ - status\": \"Succeeded\",\n \"startTime\": \"2021-10-19T08:15:39.8566666Z\"\ - ,\n \"endTime\": \"2021-10-19T08:28:34.0016136Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['170'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:28: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} + body: + string: "{\n \"name\": \"0972464d-6502-d041-a4f2-9c2aaf4b8916\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-01-27T06:19:01.3866666Z\",\n \"endTime\": + \"2022-01-27T06:25:50.9291489Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:26: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --gpu-instance-profile - -c --aks-custom-headers --node-vm-size] - UseGPUDedicatedVHD: ['true'] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --gpu-instance-profile -c --aks-custom-headers + --node-vm-size + UseGPUDedicatedVHD: + - 'true' + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2022-01-02-preview 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\": 1,\n \"vmSize\": \"standard_nd96asr_v4\"\ - ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Ephemeral\",\n \"kubeletDiskType\"\ - : \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"\ - enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ - : false,\n \"enableUltraSSD\": false,\n \"gpuInstanceProfile\": \"MIG3g\"\ - ,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2gpucontainerd-2021.10.02\",\n \"upgradeSettings\"\ - : {},\n \"enableFIPS\": false\n }\n }"} - headers: - cache-control: [no-cache] - content-length: ['986'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 08:28: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} + 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\": 1,\n \"vmSize\": \"standard_nd96asr_v4\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Ephemeral\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"gpuInstanceProfile\": \"MIG3g\",\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2gpucontainerd-2022.01.19\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '1016' + content-type: + - application/json + date: + - Thu, 27 Jan 2022 06:26: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: 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: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1027-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: - body: {string: ''} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/0e74c5c7-fed5-4477-a420-8d0493bc4ca4?api-version=2017-08-31'] - cache-control: [no-cache] - content-length: ['0'] - date: ['Tue, 19 Oct 2021 08:28:54 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/0e74c5c7-fed5-4477-a420-8d0493bc4ca4?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: ['14998'] - status: {code: 202, message: Accepted} + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/d82dc393-380e-489c-b74a-c09843412ee4?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 27 Jan 2022 06:26:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/d82dc393-380e-489c-b74a-c09843412ee4?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: + - '14994' + 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 old mode 100755 new mode 100644 index a74b1d74411..f70516d4ce8 --- 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 @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:17:14Z"},"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":"2022-02-11T08:15:55Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:17:15 GMT + - Fri, 11 Feb 2022 08:15:55 GMT expires: - '-1' pragma: @@ -43,13 +43,13 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest7akhb76ox-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestyzvxxlczk-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +65,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1388' + - '1417' Content-Type: - application/json ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7akhb76ox-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest7akhb76ox-8ecadf-854ef225.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest7akhb76ox-8ecadf-854ef225.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestyzvxxlczk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestyzvxxlczk-8ecadf-05617b02.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestyzvxxlczk-8ecadf-05617b02.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +105,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/4f8c9311-ab53-4746-9242-e38cee754b55?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2775' + - '3022' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:18 GMT + - Fri, 11 Feb 2022 08:15:58 GMT expires: - '-1' pragma: @@ -131,7 +134,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1193' status: code: 201 message: Created @@ -149,14 +152,62 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:16: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f8c9311-ab53-4746-9242-e38cee754b55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"11938c4f-53ab-4647-9242-e38cee754b55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:17:18.5166666Z\"\n }" + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +216,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:48 GMT + - Fri, 11 Feb 2022 08:16:59 GMT expires: - '-1' pragma: @@ -197,14 +248,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f8c9311-ab53-4746-9242-e38cee754b55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"11938c4f-53ab-4647-9242-e38cee754b55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:17:18.5166666Z\"\n }" + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +264,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:18 GMT + - Fri, 11 Feb 2022 08:17:28 GMT expires: - '-1' pragma: @@ -245,14 +296,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f8c9311-ab53-4746-9242-e38cee754b55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"11938c4f-53ab-4647-9242-e38cee754b55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:17:18.5166666Z\"\n }" + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +312,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:48 GMT + - Fri, 11 Feb 2022 08:17:58 GMT expires: - '-1' pragma: @@ -293,14 +344,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f8c9311-ab53-4746-9242-e38cee754b55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"11938c4f-53ab-4647-9242-e38cee754b55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:17:18.5166666Z\"\n }" + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +360,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:17 GMT + - Fri, 11 Feb 2022 08:18:28 GMT expires: - '-1' pragma: @@ -341,14 +392,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f8c9311-ab53-4746-9242-e38cee754b55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"11938c4f-53ab-4647-9242-e38cee754b55\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:17:18.5166666Z\"\n }" + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +408,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:48 GMT + - Fri, 11 Feb 2022 08:18:58 GMT expires: - '-1' pragma: @@ -389,15 +440,111 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f8c9311-ab53-4746-9242-e38cee754b55?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"11938c4f-53ab-4647-9242-e38cee754b55\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:17:18.5166666Z\",\n \"endTime\": - \"2021-10-19T07:20:04.1493449Z\"\n }" + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:19: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:19: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d5329cd0-dccf-49dc-ba18-33d7a4bf63e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d09c32d5-cfdc-dc49-ba18-33d7a4bf63e0\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:15:58.8766666Z\",\n \"endTime\": + \"2022-02-11T08:20:13.6706437Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +553,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:18 GMT + - Fri, 11 Feb 2022 08:20:29 GMT expires: - '-1' pragma: @@ -438,57 +585,61 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7akhb76ox-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest7akhb76ox-8ecadf-854ef225.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest7akhb76ox-8ecadf-854ef225.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestyzvxxlczk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestyzvxxlczk-8ecadf-05617b02.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestyzvxxlczk-8ecadf-05617b02.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/fa16a6bd-0f8a-43ad-baa2-db0abea028f5\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c8e828f6-ab29-4116-8771-17aafe035011\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3438' + - '3675' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:18 GMT + - Fri, 11 Feb 2022 08:20:29 GMT expires: - '-1' pragma: @@ -520,10 +671,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -531,22 +682,22 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '968' + - '999' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:19 GMT + - Fri, 11 Feb 2022 08:20:30 GMT expires: - '-1' pragma: @@ -587,10 +738,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n @@ -600,22 +751,22 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": - \"AKSCBLMariner-V1-2021.10.02\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2022.01.24\",\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/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8a23d691-9cb6-41cc-ba5c-bf80fedd664e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '934' + - '964' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:23 GMT + - Fri, 11 Feb 2022 08:20:33 GMT expires: - '-1' pragma: @@ -627,7 +778,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1190' status: code: 201 message: Created @@ -645,62 +796,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"a967f20d-2026-4840-8233-1ab68dde35c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:23.1266666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:20: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-sku - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8a23d691-9cb6-41cc-ba5c-bf80fedd664e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a967f20d-2026-4840-8233-1ab68dde35c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:23.1266666Z\"\n }" + string: "{\n \"name\": \"91d6238a-b69c-cc41-ba5c-bf80fedd664e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:34.0133333Z\"\n }" headers: cache-control: - no-cache @@ -709,7 +812,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:22 GMT + - Fri, 11 Feb 2022 08:21:03 GMT expires: - '-1' pragma: @@ -741,14 +844,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8a23d691-9cb6-41cc-ba5c-bf80fedd664e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a967f20d-2026-4840-8233-1ab68dde35c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:23.1266666Z\"\n }" + string: "{\n \"name\": \"91d6238a-b69c-cc41-ba5c-bf80fedd664e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:34.0133333Z\"\n }" headers: cache-control: - no-cache @@ -757,7 +860,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:52 GMT + - Fri, 11 Feb 2022 08:21:34 GMT expires: - '-1' pragma: @@ -789,14 +892,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8a23d691-9cb6-41cc-ba5c-bf80fedd664e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a967f20d-2026-4840-8233-1ab68dde35c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:23.1266666Z\"\n }" + string: "{\n \"name\": \"91d6238a-b69c-cc41-ba5c-bf80fedd664e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:34.0133333Z\"\n }" headers: cache-control: - no-cache @@ -805,7 +908,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:23 GMT + - Fri, 11 Feb 2022 08:22:03 GMT expires: - '-1' pragma: @@ -837,14 +940,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8a23d691-9cb6-41cc-ba5c-bf80fedd664e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a967f20d-2026-4840-8233-1ab68dde35c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:23.1266666Z\"\n }" + string: "{\n \"name\": \"91d6238a-b69c-cc41-ba5c-bf80fedd664e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:34.0133333Z\"\n }" headers: cache-control: - no-cache @@ -853,7 +956,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:52 GMT + - Fri, 11 Feb 2022 08:22:33 GMT expires: - '-1' pragma: @@ -885,14 +988,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8a23d691-9cb6-41cc-ba5c-bf80fedd664e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a967f20d-2026-4840-8233-1ab68dde35c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:23.1266666Z\"\n }" + string: "{\n \"name\": \"91d6238a-b69c-cc41-ba5c-bf80fedd664e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:34.0133333Z\"\n }" headers: cache-control: - no-cache @@ -901,7 +1004,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:22 GMT + - Fri, 11 Feb 2022 08:23:03 GMT expires: - '-1' pragma: @@ -933,14 +1036,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8a23d691-9cb6-41cc-ba5c-bf80fedd664e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a967f20d-2026-4840-8233-1ab68dde35c0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:23.1266666Z\"\n }" + string: "{\n \"name\": \"91d6238a-b69c-cc41-ba5c-bf80fedd664e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:34.0133333Z\"\n }" headers: cache-control: - no-cache @@ -949,7 +1052,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:53 GMT + - Fri, 11 Feb 2022 08:23:34 GMT expires: - '-1' pragma: @@ -981,15 +1084,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0df267a9-2620-4048-8233-1ab68dde35c0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8a23d691-9cb6-41cc-ba5c-bf80fedd664e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"a967f20d-2026-4840-8233-1ab68dde35c0\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:20:23.1266666Z\",\n \"endTime\": - \"2021-10-19T07:23:53.6305526Z\"\n }" + string: "{\n \"name\": \"91d6238a-b69c-cc41-ba5c-bf80fedd664e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:20:34.0133333Z\",\n \"endTime\": + \"2022-02-11T08:24:02.0975931Z\"\n }" headers: cache-control: - no-cache @@ -998,7 +1101,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:23 GMT + - Fri, 11 Feb 2022 08:24:04 GMT expires: - '-1' pragma: @@ -1030,10 +1133,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-sku User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n @@ -1043,20 +1146,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": - \"AKSCBLMariner-V1-2021.10.02\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '935' + - '965' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:23 GMT + - Fri, 11 Feb 2022 08:24:04 GMT expires: - '-1' pragma: @@ -1090,26 +1193,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a9d3b0f7-3071-4a38-9845-6a5209630bf4?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/48ee953b-392a-480f-9b26-64cf6fe04525?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:24:31 GMT + - Fri, 11 Feb 2022 08:24:05 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/a9d3b0f7-3071-4a38-9845-6a5209630bf4?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/48ee953b-392a-480f-9b26-64cf6fe04525?api-version=2016-03-30 pragma: - no-cache server: @@ -1119,7 +1222,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14987' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_workload_runtime.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_workload_runtime.yaml old mode 100755 new mode 100644 index 880d76aa88d..8cd4742ba95 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_workload_runtime.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_workload_runtime.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:00:34Z"},"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":"2022-02-11T08:08:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:00:35 GMT + - Fri, 11 Feb 2022 08:08:58 GMT expires: - '-1' pragma: @@ -43,13 +43,13 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestirloboxxj-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest7oebuknmc-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +65,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1388' + - '1417' Content-Type: - application/json ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestirloboxxj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestirloboxxj-8ecadf-302e0dbe.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestirloboxxj-8ecadf-302e0dbe.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7oebuknmc-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7oebuknmc-8ecadf-57019da0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7oebuknmc-8ecadf-57019da0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +105,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/5a875081-9c54-47c2-b4dd-36816df01b9e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2775' + - '3022' content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:39 GMT + - Fri, 11 Feb 2022 08:09:01 GMT expires: - '-1' pragma: @@ -131,7 +134,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1189' status: code: 201 message: Created @@ -149,14 +152,158 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"444b0a52-bdcd-5244-bdfa-e8bab1296b0b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:09:01.8066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:09: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"444b0a52-bdcd-5244-bdfa-e8bab1296b0b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:09:01.8066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"444b0a52-bdcd-5244-bdfa-e8bab1296b0b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:09:01.8066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5a875081-9c54-47c2-b4dd-36816df01b9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8150875a-549c-c247-b4dd-36816df01b9e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:00:39.0733333Z\"\n }" + string: "{\n \"name\": \"444b0a52-bdcd-5244-bdfa-e8bab1296b0b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:09:01.8066666Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +312,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:09 GMT + - Fri, 11 Feb 2022 08:11:01 GMT expires: - '-1' pragma: @@ -197,14 +344,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5a875081-9c54-47c2-b4dd-36816df01b9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8150875a-549c-c247-b4dd-36816df01b9e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:00:39.0733333Z\"\n }" + string: "{\n \"name\": \"444b0a52-bdcd-5244-bdfa-e8bab1296b0b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:09:01.8066666Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +360,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:01:38 GMT + - Fri, 11 Feb 2022 08:11:31 GMT expires: - '-1' pragma: @@ -245,14 +392,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5a875081-9c54-47c2-b4dd-36816df01b9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8150875a-549c-c247-b4dd-36816df01b9e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:00:39.0733333Z\"\n }" + string: "{\n \"name\": \"444b0a52-bdcd-5244-bdfa-e8bab1296b0b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:09:01.8066666Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +408,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:08 GMT + - Fri, 11 Feb 2022 08:12:01 GMT expires: - '-1' pragma: @@ -293,14 +440,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5a875081-9c54-47c2-b4dd-36816df01b9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8150875a-549c-c247-b4dd-36816df01b9e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:00:39.0733333Z\"\n }" + string: "{\n \"name\": \"444b0a52-bdcd-5244-bdfa-e8bab1296b0b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:09:01.8066666Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +456,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:02:38 GMT + - Fri, 11 Feb 2022 08:12:32 GMT expires: - '-1' pragma: @@ -341,15 +488,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5a875081-9c54-47c2-b4dd-36816df01b9e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/520a4b44-cdbd-4452-bdfa-e8bab1296b0b?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8150875a-549c-c247-b4dd-36816df01b9e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:00:39.0733333Z\",\n \"endTime\": - \"2021-10-19T07:02:51.6200026Z\"\n }" + string: "{\n \"name\": \"444b0a52-bdcd-5244-bdfa-e8bab1296b0b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:09:01.8066666Z\",\n \"endTime\": + \"2022-02-11T08:12:38.6936646Z\"\n }" headers: cache-control: - no-cache @@ -358,7 +505,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:09 GMT + - Fri, 11 Feb 2022 08:13:02 GMT expires: - '-1' pragma: @@ -390,57 +537,61 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestirloboxxj-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestirloboxxj-8ecadf-302e0dbe.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestirloboxxj-8ecadf-302e0dbe.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest7oebuknmc-8ecadf\",\n \"fqdn\": \"cliakstest-clitest7oebuknmc-8ecadf-57019da0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest7oebuknmc-8ecadf-57019da0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/72614bd1-dc04-496b-9813-8f930b2205da\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/40ff3580-f6c3-4b27-9a81-6a25d58f8a03\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3438' + - '3675' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:09 GMT + - Fri, 11 Feb 2022 08:13:02 GMT expires: - '-1' pragma: @@ -472,10 +623,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -483,22 +634,22 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '968' + - '999' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:10 GMT + - Fri, 11 Feb 2022 08:13:02 GMT expires: - '-1' pragma: @@ -538,10 +689,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n @@ -551,21 +702,22 @@ interactions: \"OS\",\n \"workloadRuntime\": \"WasmWasi\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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/7ed1decc-d474-4f21-bc26-9ade49cc9670?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 cache-control: - no-cache content-length: - - '938' + - '968' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:12 GMT + - Fri, 11 Feb 2022 08:13:05 GMT expires: - '-1' pragma: @@ -577,7 +729,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1195' status: code: 201 message: Created @@ -595,23 +747,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7ed1decc-d474-4f21-bc26-9ade49cc9670?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccded17e-74d4-214f-bc26-9ade49cc9670\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:12.93Z\"\n }" + string: "{\n \"name\": \"4cc325a1-ddc4-084e-b5d6-cb344bde926f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:05.9933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:03:42 GMT + - Fri, 11 Feb 2022 08:13:35 GMT expires: - '-1' pragma: @@ -643,23 +795,71 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7ed1decc-d474-4f21-bc26-9ade49cc9670?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccded17e-74d4-214f-bc26-9ade49cc9670\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:12.93Z\"\n }" + string: "{\n \"name\": \"4cc325a1-ddc4-084e-b5d6-cb344bde926f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:05.9933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --workload-runtime + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4cc325a1-ddc4-084e-b5d6-cb344bde926f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:05.9933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:13 GMT + - Fri, 11 Feb 2022 08:14:35 GMT expires: - '-1' pragma: @@ -691,23 +891,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7ed1decc-d474-4f21-bc26-9ade49cc9670?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccded17e-74d4-214f-bc26-9ade49cc9670\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:12.93Z\"\n }" + string: "{\n \"name\": \"4cc325a1-ddc4-084e-b5d6-cb344bde926f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:05.9933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:04:43 GMT + - Fri, 11 Feb 2022 08:15:06 GMT expires: - '-1' pragma: @@ -739,23 +939,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7ed1decc-d474-4f21-bc26-9ade49cc9670?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccded17e-74d4-214f-bc26-9ade49cc9670\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:12.93Z\"\n }" + string: "{\n \"name\": \"4cc325a1-ddc4-084e-b5d6-cb344bde926f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:05.9933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:12 GMT + - Fri, 11 Feb 2022 08:15:35 GMT expires: - '-1' pragma: @@ -787,23 +987,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7ed1decc-d474-4f21-bc26-9ade49cc9670?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccded17e-74d4-214f-bc26-9ade49cc9670\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:12.93Z\"\n }" + string: "{\n \"name\": \"4cc325a1-ddc4-084e-b5d6-cb344bde926f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:05.9933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:05:43 GMT + - Fri, 11 Feb 2022 08:16:05 GMT expires: - '-1' pragma: @@ -835,23 +1035,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7ed1decc-d474-4f21-bc26-9ade49cc9670?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccded17e-74d4-214f-bc26-9ade49cc9670\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:03:12.93Z\"\n }" + string: "{\n \"name\": \"4cc325a1-ddc4-084e-b5d6-cb344bde926f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:05.9933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:13 GMT + - Fri, 11 Feb 2022 08:16:36 GMT expires: - '-1' pragma: @@ -883,24 +1083,24 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7ed1decc-d474-4f21-bc26-9ade49cc9670?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a125c34c-c4dd-4e08-b5d6-cb344bde926f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ccded17e-74d4-214f-bc26-9ade49cc9670\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:03:12.93Z\",\n \"endTime\": - \"2021-10-19T07:06:15.3315323Z\"\n }" + string: "{\n \"name\": \"4cc325a1-ddc4-084e-b5d6-cb344bde926f\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:13:05.9933333Z\",\n \"endTime\": + \"2022-02-11T08:16:39.5163719Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:43 GMT + - Fri, 11 Feb 2022 08:17:05 GMT expires: - '-1' pragma: @@ -932,10 +1132,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --workload-runtime User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n @@ -945,19 +1145,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"WasmWasi\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '939' + - '969' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:43 GMT + - Fri, 11 Feb 2022 08:17:06 GMT expires: - '-1' pragma: @@ -991,26 +1192,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/353e11da-0337-48eb-b9e8-d8fbac065c90?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0bf57f35-3800-4225-abfc-27fbae8d6983?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:06:45 GMT + - Fri, 11 Feb 2022 08:17:07 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/353e11da-0337-48eb-b9e8-d8fbac065c90?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/0bf57f35-3800-4225-abfc-27fbae8d6983?api-version=2016-03-30 pragma: - no-cache server: @@ -1020,7 +1221,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14988' status: code: 202 message: Accepted 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 old mode 100755 new mode 100644 index 85e9c390ebf..3aece1d45be --- 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,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:10: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":"2022-02-11T08:12:13Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:11:00 GMT + - Fri, 11 Feb 2022 08:12:13 GMT expires: - '-1' pragma: @@ -43,13 +43,13 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestx23ourlcs-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestvwylovsdk-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +65,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1388' + - '1417' Content-Type: - application/json ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestx23ourlcs-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestx23ourlcs-8ecadf-f3470f35.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestx23ourlcs-8ecadf-f3470f35.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestvwylovsdk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestvwylovsdk-8ecadf-efb6a9f1.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestvwylovsdk-8ecadf-efb6a9f1.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +105,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/f8d7ac85-b5e6-4866-b567-23f7087dc7fd?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2775' + - '3022' content-type: - application/json date: - - Tue, 19 Oct 2021 07:11:05 GMT + - Fri, 11 Feb 2022 08:12:16 GMT expires: - '-1' pragma: @@ -131,7 +134,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1190' status: code: 201 message: Created @@ -149,23 +152,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f8d7ac85-b5e6-4866-b567-23f7087dc7fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"85acd7f8-e6b5-6648-b567-23f7087dc7fd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:11:04.8733333Z\"\n }" + string: "{\n \"name\": \"f885c604-4998-e445-bed4-b190d26df4c8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:16.7Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:11:35 GMT + - Fri, 11 Feb 2022 08:12:46 GMT expires: - '-1' pragma: @@ -197,23 +200,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f8d7ac85-b5e6-4866-b567-23f7087dc7fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"85acd7f8-e6b5-6648-b567-23f7087dc7fd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:11:04.8733333Z\"\n }" + string: "{\n \"name\": \"f885c604-4998-e445-bed4-b190d26df4c8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:16.7Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:05 GMT + - Fri, 11 Feb 2022 08:13:16 GMT expires: - '-1' pragma: @@ -245,23 +248,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f8d7ac85-b5e6-4866-b567-23f7087dc7fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"85acd7f8-e6b5-6648-b567-23f7087dc7fd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:11:04.8733333Z\"\n }" + string: "{\n \"name\": \"f885c604-4998-e445-bed4-b190d26df4c8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:16.7Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:34 GMT + - Fri, 11 Feb 2022 08:13:46 GMT expires: - '-1' pragma: @@ -293,23 +296,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f8d7ac85-b5e6-4866-b567-23f7087dc7fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"85acd7f8-e6b5-6648-b567-23f7087dc7fd\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:11:04.8733333Z\"\n }" + string: "{\n \"name\": \"f885c604-4998-e445-bed4-b190d26df4c8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:16.7Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:04 GMT + - Fri, 11 Feb 2022 08:14:16 GMT expires: - '-1' pragma: @@ -341,24 +344,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f8d7ac85-b5e6-4866-b567-23f7087dc7fd?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"85acd7f8-e6b5-6648-b567-23f7087dc7fd\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:11:04.8733333Z\",\n \"endTime\": - \"2021-10-19T07:13:05.86013Z\"\n }" + string: "{\n \"name\": \"f885c604-4998-e445-bed4-b190d26df4c8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:16.7Z\"\n }" headers: cache-control: - no-cache content-length: - - '168' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:35 GMT + - Fri, 11 Feb 2022 08:14:46 GMT expires: - '-1' pragma: @@ -390,57 +392,206 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f885c604-4998-e445-bed4-b190d26df4c8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:16.7Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f885c604-4998-e445-bed4-b190d26df4c8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:12:16.7Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:15: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04c685f8-9849-45e4-bed4-b190d26df4c8?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f885c604-4998-e445-bed4-b190d26df4c8\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:12:16.7Z\",\n \"endTime\": + \"2022-02-11T08:15:49.5564155Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestx23ourlcs-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestx23ourlcs-8ecadf-f3470f35.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestx23ourlcs-8ecadf-f3470f35.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestvwylovsdk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestvwylovsdk-8ecadf-efb6a9f1.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestvwylovsdk-8ecadf-efb6a9f1.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/6bdad088-a7d9-42f4-8b2a-e931519b4411\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/252bbb16-f93e-4c9c-9461-a99c9ac60c76\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3438' + - '3675' content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:35 GMT + - Fri, 11 Feb 2022 08:16:17 GMT expires: - '-1' pragma: @@ -472,26 +623,26 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-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=2022-01-02-preview 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.20.9\",\n \"osType\": - \"Linux\",\n \"latestNodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\"\n + \ \"properties\": {\n \"kubernetesVersion\": \"1.21.7\",\n \"osType\": + \"Linux\",\n \"latestNodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\"\n \ }\n }" headers: cache-control: - no-cache content-length: - - '465' + - '462' content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:35 GMT + - Fri, 11 Feb 2022 08:16:17 GMT expires: - '-1' pragma: @@ -525,26 +676,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/289e96a9-641f-46d2-8a19-71cc3a123d14?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8049be94-4203-43c6-957e-e43cf3a0e1fc?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:13:37 GMT + - Fri, 11 Feb 2022 08:16:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/289e96a9-641f-46d2-8a19-71cc3a123d14?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/8049be94-4203-43c6-957e-e43cf3a0e1fc?api-version=2016-03-30 pragma: - no-cache server: @@ -554,7 +705,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14994' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_stop_and_start.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_stop_and_start.yaml index 61e192fd1e3..8fb9063be52 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_stop_and_start.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_stop_and_start.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.7.9 (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"centraluseuap","tags":{"product":"azurecli","cause":"automation","date":"2021-10-21T15:29:59Z"},"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":"2022-02-11T08:02:03Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '319' + - '305' content-type: - application/json; charset=utf-8 date: - - Thu, 21 Oct 2021 15:30:03 GMT + - Fri, 11 Feb 2022 08:02:03 GMT expires: - '-1' pragma: @@ -42,19 +42,20 @@ interactions: code: 200 message: OK - request: - body: '{"location": "centraluseuap", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestta77mrq42-8ecadf", + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestyv5dtalo2-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.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"}, - "disableLocalAccounts": false}}' + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -65,61 +66,64 @@ interactions: Connection: - keep-alive Content-Length: - - '1726' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestta77mrq42-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestta77mrq42-8ecadf-d7be5f0e.hcp.centraluseuap.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestta77mrq42-8ecadf-d7be5f0e.portal.hcp.centraluseuap.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestyv5dtalo2-8ecadf\",\n \"fqdn\": \"cliakstest-clitestyv5dtalo2-8ecadf-82768748.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestyv5dtalo2-8ecadf-82768748.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \"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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/centraluseuap/operations/504bef9e-6e3c-451b-9e10-9db0b080a40e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3131' + - '3024' content-type: - application/json date: - - Thu, 21 Oct 2021 15:30:08 GMT + - Fri, 11 Feb 2022 08:02:06 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1189' status: code: 201 message: Created @@ -149,23 +153,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/504bef9e-6e3c-451b-9e10-9db0b080a40e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9eef4b50-3c6e-1b45-9e10-9db0b080a40e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:30:09.2733333Z\"\n }" + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 15:30:38 GMT + - Fri, 11 Feb 2022 08:02:36 GMT expires: - '-1' pragma: @@ -197,23 +201,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/504bef9e-6e3c-451b-9e10-9db0b080a40e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9eef4b50-3c6e-1b45-9e10-9db0b080a40e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:30:09.2733333Z\"\n }" + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 15:31:09 GMT + - Fri, 11 Feb 2022 08:03:07 GMT expires: - '-1' pragma: @@ -245,23 +249,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/504bef9e-6e3c-451b-9e10-9db0b080a40e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9eef4b50-3c6e-1b45-9e10-9db0b080a40e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:30:09.2733333Z\"\n }" + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 15:31:39 GMT + - Fri, 11 Feb 2022 08:03:36 GMT expires: - '-1' pragma: @@ -293,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/504bef9e-6e3c-451b-9e10-9db0b080a40e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9eef4b50-3c6e-1b45-9e10-9db0b080a40e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:30:09.2733333Z\"\n }" + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 15:32:09 GMT + - Fri, 11 Feb 2022 08:04:06 GMT expires: - '-1' pragma: @@ -341,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/504bef9e-6e3c-451b-9e10-9db0b080a40e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9eef4b50-3c6e-1b45-9e10-9db0b080a40e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:30:09.2733333Z\"\n }" + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Thu, 21 Oct 2021 15:32:39 GMT + - Fri, 11 Feb 2022 08:04:36 GMT expires: - '-1' pragma: @@ -389,24 +393,168 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/504bef9e-6e3c-451b-9e10-9db0b080a40e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9eef4b50-3c6e-1b45-9e10-9db0b080a40e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-21T15:30:09.2733333Z\",\n \"endTime\": - \"2021-10-21T15:33:02.8393042Z\"\n }" + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:05: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:05: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:06:07 GMT + expires: + - '-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b25f2cc9-7520-4e30-adec-f5c651079cbb?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c92c5fb2-2075-304e-adec-f5c651079cbb\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:02:06.68Z\",\n \"endTime\": + \"2022-02-11T08:06:21.4630389Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Thu, 21 Oct 2021 15:33:09 GMT + - Fri, 11 Feb 2022 08:06:37 GMT expires: - '-1' pragma: @@ -438,57 +586,61 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestta77mrq42-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestta77mrq42-8ecadf-d7be5f0e.hcp.centraluseuap.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestta77mrq42-8ecadf-d7be5f0e.portal.hcp.centraluseuap.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestyv5dtalo2-8ecadf\",\n \"fqdn\": \"cliakstest-clitestyv5dtalo2-8ecadf-82768748.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestyv5dtalo2-8ecadf-82768748.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \"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_centraluseuap/providers/Microsoft.Network/publicIPAddresses/bb5e2f8a-cbaa-4422-8f28-c00e91bf2857\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e61c3e29-f2e3-4657-b7fe-ae7c093b5ae6\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \"/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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3806' + - '3677' content-type: - application/json date: - - Thu, 21 Oct 2021 15:33:09 GMT + - Fri, 11 Feb 2022 08:06:37 GMT expires: - '-1' pragma: @@ -520,10 +672,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --node-count User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool1\",\n @@ -531,22 +683,22 @@ interactions: \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '974' + - '1003' content-type: - application/json date: - - Thu, 21 Oct 2021 15:33:12 GMT + - Fri, 11 Feb 2022 08:06:37 GMT expires: - '-1' pragma: @@ -576,45 +728,556 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '392' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview + response: + body: + string: "{\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\": 2,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '972' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:06: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: + - '1196' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3dcd4ad3-a062-4a4f-8c7f-ee07ca0ca888\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:41.4166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:07: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3dcd4ad3-a062-4a4f-8c7f-ee07ca0ca888\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:41.4166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:07: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3dcd4ad3-a062-4a4f-8c7f-ee07ca0ca888\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:41.4166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:08: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3dcd4ad3-a062-4a4f-8c7f-ee07ca0ca888\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:41.4166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:08: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3dcd4ad3-a062-4a4f-8c7f-ee07ca0ca888\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:41.4166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3dcd4ad3-a062-4a4f-8c7f-ee07ca0ca888\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:41.4166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:09: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3dcd4ad3-a062-4a4f-8c7f-ee07ca0ca888\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:06:41.4166666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:10: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d34acd3d-62a0-4f4a-8c7f-ee07ca0ca888?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"3dcd4ad3-a062-4a4f-8c7f-ee07ca0ca888\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:06:41.4166666Z\",\n \"endTime\": + \"2022-02-11T08:10:40.3025374Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview + response: + body: + string: "{\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\": 2,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '973' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool stop Connection: - keep-alive - Content-Length: - - '392' - Content-Type: - - application/json ParameterSetName: - - --resource-group --cluster-name --name --node-count + - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2022-01-02-preview response: body: - string: "{\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\": 2,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n }\n }" + 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\": 2,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ef74d9eb-b394-467a-8a27-e8e9c1850052?api-version=2016-03-30 cache-control: - no-cache content-length: - - '942' + - '2045' content-type: - application/json date: - - Thu, 21 Oct 2021 15:33:14 GMT + - Fri, 11 Feb 2022 08:10:42 GMT expires: - '-1' pragma: @@ -623,44 +1286,56 @@ 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: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks nodepool stop Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --node-count + - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ef74d9eb-b394-467a-8a27-e8e9c1850052?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"ebd974ef-94b3-7a46-8a27-e8e9c1850052\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:33:14.46Z\"\n }" + string: "{\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\": 2,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '121' + - '973' content-type: - application/json date: - - Thu, 21 Oct 2021 15:33:44 GMT + - Fri, 11 Feb 2022 08:10:42 GMT expires: - '-1' pragma: @@ -679,36 +1354,61 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"properties": {"count": 2, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": + 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", + "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "scaleDownMode": "Delete", + "type": "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": "1.21.7", + "upgradeSettings": {}, "powerState": {"code": "Stopped"}, "enableNodePublicIP": + false, "nodeTaints": [""], "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false}}' headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks nodepool stop Connection: - keep-alive + Content-Length: + - '514' + Content-Type: + - application/json ParameterSetName: - - --resource-group --cluster-name --name --node-count + - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ef74d9eb-b394-467a-8a27-e8e9c1850052?api-version=2016-03-30 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"ebd974ef-94b3-7a46-8a27-e8e9c1850052\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:33:14.46Z\"\n }" + string: "{\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\": 0,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Stopping\",\n + \ \"powerState\": {\n \"code\": \"Stopped\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 cache-control: - no-cache content-length: - - '121' + - '1003' content-type: - application/json date: - - Thu, 21 Oct 2021 15:34:14 GMT + - Fri, 11 Feb 2022 08:10:44 GMT expires: - '-1' pragma: @@ -723,40 +1423,44 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1189' status: code: 200 message: OK - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks nodepool stop Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --node-count + - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ef74d9eb-b394-467a-8a27-e8e9c1850052?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ebd974ef-94b3-7a46-8a27-e8e9c1850052\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:33:14.46Z\"\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:34:44 GMT + - Fri, 11 Feb 2022 08:11:15 GMT expires: - '-1' pragma: @@ -777,34 +1481,36 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks nodepool stop Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --node-count + - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ef74d9eb-b394-467a-8a27-e8e9c1850052?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ebd974ef-94b3-7a46-8a27-e8e9c1850052\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:33:14.46Z\"\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:35:14 GMT + - Fri, 11 Feb 2022 08:11:45 GMT expires: - '-1' pragma: @@ -825,34 +1531,36 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks nodepool stop Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --node-count + - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ef74d9eb-b394-467a-8a27-e8e9c1850052?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ebd974ef-94b3-7a46-8a27-e8e9c1850052\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:33:14.46Z\"\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:35:44 GMT + - Fri, 11 Feb 2022 08:12:14 GMT expires: - '-1' pragma: @@ -873,35 +1581,36 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks nodepool stop Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --node-count + - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ef74d9eb-b394-467a-8a27-e8e9c1850052?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"ebd974ef-94b3-7a46-8a27-e8e9c1850052\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-21T15:33:14.46Z\",\n \"endTime\": - \"2021-10-21T15:36:14.168593Z\"\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:36:15 GMT + - Fri, 11 Feb 2022 08:12:44 GMT expires: - '-1' pragma: @@ -922,44 +1631,36 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks nodepool stop Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --node-count + - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\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\": 2,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n }\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '943' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:36:15 GMT + - Fri, 11 Feb 2022 08:13:14 GMT expires: - '-1' pragma: @@ -980,8 +1681,10 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -991,45 +1694,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 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\": 2,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n },\n - \ {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '1980' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:36:16 GMT + - Fri, 11 Feb 2022 08:13:45 GMT expires: - '-1' pragma: @@ -1050,8 +1731,10 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1061,33 +1744,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\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\": 2,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n }\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: cache-control: - no-cache content-length: - - '943' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:36:16 GMT + - Fri, 11 Feb 2022 08:14:15 GMT expires: - '-1' pragma: @@ -1106,60 +1779,38 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"count": 2, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": - 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", - "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "scaleDownMode": "Delete", - "type": "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": "1.20.9", - "upgradeSettings": {}, "powerState": {"code": "Stopped"}, "enableNodePublicIP": - false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false}}' + body: null headers: AKSHTTPCustomFeatures: - Microsoft.ContainerService/PreviewStartStopAgentPool Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks nodepool stop Connection: - keep-alive - Content-Length: - - '494' - Content-Type: - - application/json ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\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\": 0,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Stopping\",\n - \ \"powerState\": {\n \"code\": \"Stopped\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ca3194cd-a503-4639-9b7e-af516b73d058?api-version=2016-03-30 cache-control: - no-cache content-length: - - '973' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:36:18 GMT + - Fri, 11 Feb 2022 08:14:45 GMT expires: - '-1' pragma: @@ -1174,8 +1825,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: code: 200 message: OK @@ -1195,14 +1844,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ca3194cd-a503-4639-9b7e-af516b73d058?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cd9431ca-03a5-3946-9b7e-af516b73d058\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:36:18.6766666Z\"\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\"\n }" headers: cache-control: - no-cache @@ -1211,7 +1860,7 @@ interactions: content-type: - application/json date: - - Thu, 21 Oct 2021 15:36:48 GMT + - Fri, 11 Feb 2022 08:15:15 GMT expires: - '-1' pragma: @@ -1245,15 +1894,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/ca3194cd-a503-4639-9b7e-af516b73d058?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2df5b74e-3e1a-4dcb-b551-7d25d471bc82?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cd9431ca-03a5-3946-9b7e-af516b73d058\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-21T15:36:18.6766666Z\",\n \"endTime\": - \"2021-10-21T15:36:55.9872187Z\"\n }" + string: "{\n \"name\": \"4eb7f52d-1a3e-cb4d-b551-7d25d471bc82\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:10:45.1933333Z\",\n \"endTime\": + \"2022-02-11T08:15:24.1878726Z\"\n }" headers: cache-control: - no-cache @@ -1262,7 +1911,7 @@ interactions: content-type: - application/json date: - - Thu, 21 Oct 2021 15:37:18 GMT + - Fri, 11 Feb 2022 08:15:45 GMT expires: - '-1' pragma: @@ -1296,10 +1945,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -1310,19 +1959,20 @@ interactions: \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Stopped\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '974' + - '1004' content-type: - application/json date: - - Thu, 21 Oct 2021 15:37:18 GMT + - Fri, 11 Feb 2022 08:15:46 GMT expires: - '-1' pragma: @@ -1354,10 +2004,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -1368,31 +2018,32 @@ interactions: \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Stopped\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool1\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n + \ \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n },\n + \ {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '2013' + - '2078' content-type: - application/json date: - - Thu, 21 Oct 2021 15:37:19 GMT + - Fri, 11 Feb 2022 08:15:46 GMT expires: - '-1' pragma: @@ -1424,10 +2075,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -1438,19 +2089,20 @@ interactions: \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Stopped\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '974' + - '1004' content-type: - application/json date: - - Thu, 21 Oct 2021 15:37:20 GMT + - Fri, 11 Feb 2022 08:15:47 GMT expires: - '-1' pragma: @@ -1473,9 +2125,9 @@ interactions: 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", "mode": "User", - "orchestratorVersion": "1.20.9", "upgradeSettings": {}, "powerState": {"code": - "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false}}' + "orchestratorVersion": "1.21.7", "upgradeSettings": {}, "powerState": {"code": + "Running"}, "enableNodePublicIP": false, "nodeTaints": [""], "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false}}' headers: AKSHTTPCustomFeatures: - Microsoft.ContainerService/PreviewStartStopAgentPool @@ -1488,16 +2140,16 @@ interactions: Connection: - keep-alive Content-Length: - - '522' + - '542' Content-Type: - application/json ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -1508,21 +2160,22 @@ interactions: \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Starting\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 cache-control: - no-cache content-length: - - '973' + - '1003' content-type: - application/json date: - - Thu, 21 Oct 2021 15:37:21 GMT + - Fri, 11 Feb 2022 08:15:48 GMT expires: - '-1' pragma: @@ -1538,7 +2191,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1187' status: code: 200 message: OK @@ -1558,23 +2211,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"acb5cf0f-ca52-5546-8e48-d78c26907bf0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:37:22.85Z\"\n }" + string: "{\n \"name\": \"62622d77-d03e-5744-ae75-e2cf2fec51ac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:49.0633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:37:52 GMT + - Fri, 11 Feb 2022 08:16:18 GMT expires: - '-1' pragma: @@ -1608,23 +2261,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"acb5cf0f-ca52-5546-8e48-d78c26907bf0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:37:22.85Z\"\n }" + string: "{\n \"name\": \"62622d77-d03e-5744-ae75-e2cf2fec51ac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:49.0633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:38:22 GMT + - Fri, 11 Feb 2022 08:16:48 GMT expires: - '-1' pragma: @@ -1658,23 +2311,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"acb5cf0f-ca52-5546-8e48-d78c26907bf0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:37:22.85Z\"\n }" + string: "{\n \"name\": \"62622d77-d03e-5744-ae75-e2cf2fec51ac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:49.0633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:38:52 GMT + - Fri, 11 Feb 2022 08:17:19 GMT expires: - '-1' pragma: @@ -1708,23 +2361,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"acb5cf0f-ca52-5546-8e48-d78c26907bf0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:37:22.85Z\"\n }" + string: "{\n \"name\": \"62622d77-d03e-5744-ae75-e2cf2fec51ac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:49.0633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:39:22 GMT + - Fri, 11 Feb 2022 08:17:49 GMT expires: - '-1' pragma: @@ -1758,23 +2411,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"acb5cf0f-ca52-5546-8e48-d78c26907bf0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:37:22.85Z\"\n }" + string: "{\n \"name\": \"62622d77-d03e-5744-ae75-e2cf2fec51ac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:49.0633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:39:53 GMT + - Fri, 11 Feb 2022 08:18:19 GMT expires: - '-1' pragma: @@ -1808,23 +2461,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"acb5cf0f-ca52-5546-8e48-d78c26907bf0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:37:22.85Z\"\n }" + string: "{\n \"name\": \"62622d77-d03e-5744-ae75-e2cf2fec51ac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:49.0633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:40:23 GMT + - Fri, 11 Feb 2022 08:18:49 GMT expires: - '-1' pragma: @@ -1858,23 +2511,23 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"acb5cf0f-ca52-5546-8e48-d78c26907bf0\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-21T15:37:22.85Z\"\n }" + string: "{\n \"name\": \"62622d77-d03e-5744-ae75-e2cf2fec51ac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:15:49.0633333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Thu, 21 Oct 2021 15:40:53 GMT + - Fri, 11 Feb 2022 08:19:19 GMT expires: - '-1' pragma: @@ -1908,24 +2561,24 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/0fcfb5ac-52ca-4655-8e48-d78c26907bf0?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/772d6262-3ed0-4457-ae75-e2cf2fec51ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"acb5cf0f-ca52-5546-8e48-d78c26907bf0\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-21T15:37:22.85Z\",\n \"endTime\": - \"2021-10-21T15:41:00.1503506Z\"\n }" + string: "{\n \"name\": \"62622d77-d03e-5744-ae75-e2cf2fec51ac\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:15:49.0633333Z\",\n \"endTime\": + \"2022-02-11T08:19:25.0487862Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '170' content-type: - application/json date: - - Thu, 21 Oct 2021 15:41:23 GMT + - Fri, 11 Feb 2022 08:19:48 GMT expires: - '-1' pragma: @@ -1959,10 +2612,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name --aks-custom-headers User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -1973,19 +2626,20 @@ interactions: \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '974' + - '1004' content-type: - application/json date: - - Thu, 21 Oct 2021 15:41:23 GMT + - Fri, 11 Feb 2022 08:19:49 GMT expires: - '-1' pragma: @@ -2019,26 +2673,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.27.2 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.7.9 - (Darwin-20.6.0-x86_64-i386-64bit) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/74b18aa0-68d8-4666-ae80-69b406af8ff6?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/84a5874e-0cb5-4e88-bb05-698751f2ea61?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Thu, 21 Oct 2021 15:41:24 GMT + - Fri, 11 Feb 2022 08:19:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operationresults/74b18aa0-68d8-4666-ae80-69b406af8ff6?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/84a5874e-0cb5-4e88-bb05-698751f2ea61?api-version=2016-03-30 pragma: - no-cache server: @@ -2048,7 +2702,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_update_label_msi.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_update_label_msi.yaml index 9a26bffe800..3da550a2f28 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_update_label_msi.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_update_label_msi.yaml @@ -1,9 +1,155 @@ interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1400' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-74b16a82.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-74b16a82.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2967' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:19:55 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: + - '1197' + status: + code: 201 + message: Created - request: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: - application/json + date: + - Fri, 11 Feb 2022 08:20: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: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -13,27 +159,33 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.11 (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 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-08-17T05:13:57Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" headers: cache-control: - no-cache content-length: - - '313' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 17 Aug 2021 05:13:58 GMT + - Fri, 11 Feb 2022 08:20: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: @@ -42,80 +194,180 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": - [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", - "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, - "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"}}}' + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:21: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: - application/json + date: + - Fri, 11 Feb 2022 08: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: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1252' - Content-Type: + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: - application/json + date: + - Fri, 11 Feb 2022 08:22: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 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\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz - azcli_aks_live_test@example.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 - \ \"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 \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2599' + - '121' content-type: - application/json date: - - Tue, 17 Aug 2021 05:14:05 GMT + - Fri, 11 Feb 2022 08:22:56 GMT expires: - '-1' pragma: @@ -124,13 +376,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: - - '1196' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -145,23 +399,23 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 17 Aug 2021 05:14:34 GMT + - Fri, 11 Feb 2022 08:23:26 GMT expires: - '-1' pragma: @@ -193,23 +447,23 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 17 Aug 2021 05:15:04 GMT + - Fri, 11 Feb 2022 08:23:56 GMT expires: - '-1' pragma: @@ -241,23 +495,23 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 17 Aug 2021 05:15:34 GMT + - Fri, 11 Feb 2022 08:24:25 GMT expires: - '-1' pragma: @@ -289,23 +543,23 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 17 Aug 2021 05:16:04 GMT + - Fri, 11 Feb 2022 08:24:56 GMT expires: - '-1' pragma: @@ -337,23 +591,23 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 17 Aug 2021 05:16:34 GMT + - Fri, 11 Feb 2022 08:25:26 GMT expires: - '-1' pragma: @@ -385,24 +639,24 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/319b4c11-3d94-4b28-b4a3-5e9f42641194?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\",\n \"endTime\": - \"2021-08-17T05:16:37.4745994Z\"\n }" + string: "{\n \"name\": \"114c9b31-943d-284b-b4a3-5e9f42641194\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:19:55.96Z\",\n \"endTime\": + \"2022-02-11T08:25:45.3327251Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Tue, 17 Aug 2021 05:17:05 GMT + - Fri, 11 Feb 2022 08:25:56 GMT expires: - '-1' pragma: @@ -434,55 +688,61 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-74b16a82.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-74b16a82.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/503241df-a1b7-4add-94ab-ab86490bbe0b\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3262' + - '3620' content-type: - application/json date: - - Tue, 17 Aug 2021 05:17:05 GMT + - Fri, 11 Feb 2022 08:25:56 GMT expires: - '-1' pragma: @@ -514,55 +774,61 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-74b16a82.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-74b16a82.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/503241df-a1b7-4add-94ab-ab86490bbe0b\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3262' + - '3620' content-type: - application/json date: - - Tue, 17 Aug 2021 05:17:06 GMT + - Fri, 11 Feb 2022 08:25:57 GMT expires: - '-1' pragma: @@ -596,14 +862,14 @@ interactions: ParameterSetName: - -g -n --file User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/listClusterUserCredential?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/listClusterUserCredential?api-version=2022-01-02-preview response: body: string: "{\n \"kubeconfigs\": [\n {\n \"name\": \"clusterUser\",\n \"value\": - \"YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VVMlZFTkRRWFJIWjBGM1NVSkJaMGxTUVVsa1drOWtlbnBWTVdjMGVrY3ZPR1F2U1VwUk9VVjNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGNLUkZSRlRFMUJhMGRCTVZWRlFYaE5RMWt5UlhkSlFtTk9UV3BGZDA5RVJUTk5SRlYzVGtSRk5GZG9aMUJOYWtFeFRWUkJORTFVWTNkT1ZFVXdUVlJvWVFwTlFUQjRRM3BCU2tKblRsWkNRVTFVUVcxT2FFMUpTVU5KYWtGT1FtZHJjV2hyYVVjNWR6QkNRVkZGUmtGQlQwTkJaemhCVFVsSlEwTm5TME5CWjBWQkNuZEhWVEZWWVVSWlJVVlZaRWw1UWtKMFdtbFhSelJ2SzNWR1IwcDNkVkJuTlVsMFFrUXhhRzV4TlVWRmRtMU1kRFpZVTBONWJEZDZhWFZoTmtsT1JFa0tjaXNyUkVNek5XTlVWeXROVWtKdWJHWnllbFJ6TUdSMVFrbHZkMWc1UldnclIyZ3hTVWd2ZHpCVE9VbGpZWEJZTm1wWFFWRjNjblpFWldaS1F6QnVaUXB6WTJKQ1p6TjVZbEJLVTFOc1UwUXhibUZHUkdKdmEyWmllakI0Y0VaTVNISTVSVGxxUm5kMlRYRlJLelpETjNSc1ZIVXJjM2RYTkdWaVdFNU5jbkZxQ2pNdk4zcDZZWE5UWkVkc1drSTFNSEpxWTFsc1lWaDBUVmhOYmpsbmRtc3hkREp3YzNCSGVYVmlWVFZwU0VJd1NGQkNhVmxDY0ZSeGFHdDFXRTVhUW1jS2NGa3pjMGg1ZFVaMVRUQkNhR3RYTW1ZeloyaHlaRGxrWm0wMWRsRjZUbUpyWmpSYWRHZHZWeTlGY25KNlZtbHpTek42V1c4M05uYzRXSEJ0VDFKS2VBcG1XRXBuU0hKMWEybGFUVmhWWlRjcmJHNXJiMnR5VHpsNmMyY3ZkemxQZEdaWVpIQnlOUzkxUVZkelYyMVFSV2hrWmxNelozcGhUM3AzVUVOVFUydE5Da1ZLTDFOUFUwbGxiMkZRUjA5WmRXNU5ZU3MyYVZKVVdqWmhObEJ6SzBsNVVHZzVOelYwWkdGTWIwcEZTa0ZLV0dkRE5VcHhWVWwxWTFoMVNrTkplRWdLVGpkamJGSmFha3htTTNVMk1tODJWRWx0WjBaQldYQnVMM1UxWW1SRFFXeFRLMWxxUVdaUEsyYzJNVUpZVG14b1pUZGpiemcwVG5Rd1dWZ3Jkalp6U1FwR0x6QmpUMDFVUmpsQ1JYbGhVM052UkZkaWFrVXpNV0o0VWt0aWVsQTNXVGhvVkVJMGVWaHhPV0ZNY1U1a1VtZENlVkVyY0VGM2JXVkRUVmhEYVZoWENuUkZWMlp6THpaWk1WVndTMWMxY3pZelpsSkdjRFZXSzAxUlRFMW1OblJJWTJwM1pVaE5SVTUyT1ZwWmJGTjJkVEZIV0VKRlZsRTVNVE5OTVZkbFNXWUtiVmxVTmxWR2NHZE9hVXhhZUZkb1FVNHhjRnAwVHpkMlRFRTVLMGxJUkc1WmNrVkpWaTlJZDFjeFZVTkJkMFZCUVdGT1EwMUZRWGRFWjFsRVZsSXdVQXBCVVVndlFrRlJSRUZuUzJ0TlFUaEhRVEZWWkVWM1JVSXZkMUZHVFVGTlFrRm1PSGRJVVZsRVZsSXdUMEpDV1VWR1MzbDFjbm95VEhwRVpuQlRkazFRQ2k5VVlWYzNhMjh6WTBkMlJrMUJNRWREVTNGSFUwbGlNMFJSUlVKRGQxVkJRVFJKUTBGUlExRjVXRlpyZHpkUFlrNVRUVUo0U0RWclNDdFZhMUk1UW1JS1ZqTkhhRVZ1WTNWU1lteDROVFV3YzJsRWNHTklSVEZvVFRCM1pVMTBSazQwYzFneGRuSkZkemRpTUU1S1ozY3hRV1ZZT1RNeU5UbDROemROWWs1WVFncHJZMjlLWVZkelkwYzVWemR1ZDBsMU0xZEZWbEZoS3pGWWRtOXlNRFpPVDBrMWVDODFiREJuYWk5VVZUWXhZV0pOV21NNGQyNU1RVU5MUjJoTVNtTkxDbE52YVRnekt6Vk1TVkJvWTBOR2VrMXFiakUwVWxkQ2RUY3ZWV1ZpT0ZsdVJFWnBRVmx5UTJ0eVJqY3pTVzl1T1VoeFZFVk9Sa1ppZWxkNU5VUjRRWG9LUzFaVU9EUTFVRE5GU2xwS09IVk1URTVDWjJsRGFFOVVNR1JPVWtsNGFXOTRiMUJFYVRsS1RuTlhiR295TVVWMk5FbHFkMjV2U3pkcFFuUTNabWx4TkFwQlpWSkxRV2RuWTJoU0swWnZRbFJtUzA1eFYwTjNNWEpKTVZOSlRUZGpOa3cwUmswdlpISXlVM0Z2UVU5TU1UVTNLMEp3ZW1KbGR6TTJhazlvZUVaekNsaHVUVXM1UkZCb1YyeGlZMnA2VGtKVk56ZHBPVkJJVlRaTVkyeEJla2xaVEd4c2FIQlhVa0ZZWkRKdFVYbDNlVmRxTkRKdldtcFNTSE41TW10Q2RYUUtURWxNTUVoUFJtMWtZVnBIU1hWM05uSTFkbTlyTWsxalkyNHJSRGxNYVRCSFZtVm9VSEJIUmpCdFUzcHJVVk53ZUdSb2JXdGlUalJzZWpoVlJGSnFRd3AwVDNkUVZ5dElVelo2WTJSdE0zVlNURFZSWTNONlpEUjVTbWcxWW1sb2VVRkNabGwxUkhsMVRuWnBSMnN5WVV0Vk5YUjZZMjVKTDJKT1psbHZZWEJRQ2pabVoyOWhabFZOYVRsVU9EQTBjSEowTDNNeFdFeDJkVWd3ZW1Gdk5GQXZlVmhRUlVFeVR6UndjRk5vZVcxS09UZDZTR1IwVkhaWFJuaDZObFJ5TmtnS1dqZElTbUoxTkVWaE1FZ3lNa2haYWtsc1JUTTVZVUp3YlZwQmNsSnBLelUxZEdkQ2NtVmFUMmhPWlRWbGVIcDFLMjVGWXpJM2JqZEpWVzVDVFZKbGJnbzBTVTFGV1ZBeGJYZFZaWFV5T0d0eFQwRTlQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09CiAgICBzZXJ2ZXI6IGh0dHBzOi8vY2xpYWtzZG5zYzV0eWFvNi0xYTM2YTYwNy5oY3Aud2VzdHVzMi5hem1rOHMuaW86NDQzCiAgbmFtZTogY2xpYWtzdGVzdHJibzJpeQpjb250ZXh0czoKLSBjb250ZXh0OgogICAgY2x1c3RlcjogY2xpYWtzdGVzdHJibzJpeQogICAgdXNlcjogY2x1c3RlclVzZXJfY2xpdGVzdDV3NWhvdm1xbDNfY2xpYWtzdGVzdHJibzJpeQogIG5hbWU6IGNsaWFrc3Rlc3RyYm8yaXkKY3VycmVudC1jb250ZXh0OiBjbGlha3N0ZXN0cmJvMml5CmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KdXNlcnM6Ci0gbmFtZTogY2x1c3RlclVzZXJfY2xpdGVzdDV3NWhvdm1xbDNfY2xpYWtzdGVzdHJibzJpeQogIHVzZXI6CiAgICBjbGllbnQtY2VydGlmaWNhdGUtZGF0YTogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVWklWRU5EUVhkWFowRjNTVUpCWjBsUlZUWnFiVmhFZEc1UmRrSnhlVFJNTTJjMWVsVlVla0ZPUW1kcmNXaHJhVWM1ZHpCQ1FWRnpSa0ZFUVU0S1RWRnpkME5SV1VSV1VWRkVSWGRLYWxsVVFXVkdkekI1VFZSQk5FMVVZM2RPVkVFd1RWUm9ZVVozTUhsTmVrRTBUVlJqZDA1VVJUQk5WR2hoVFVSQmVBcEdla0ZXUW1kT1ZrSkJiMVJFYms0MVl6TlNiR0pVY0hSWldFNHdXbGhLZWsxU1ZYZEZkMWxFVmxGUlJFVjNlSFJaV0U0d1dsaEthbUpIYkd4aWJsRjNDbWRuU1dsTlFUQkhRMU54UjFOSllqTkVVVVZDUVZGVlFVRTBTVU5FZDBGM1oyZEpTMEZ2U1VOQlVVTjBUU3RRUVhSMlprRkNUU3RaU3pCME5sYzRVa01LTDFsTlJGbGxWMFpqUTBkeFJVODNlRTUzZVZWR05tODVTblJSVm1KS1ZqTlFVMGhWYzFKbVYzTkZTSFlyZDBsWlJVNUhaazRyV1dGNVNYRnZlRTF5T1FwdVdVaGhUM3BNWlVrclFrOTJUWFZRTDNOeGRrdFVla3hIZEdSeFRWUmxRV05pZUZaV1UxZFZVblY1YVN0d2VuRmtNM1pxU1VnMFltRTJNRWQwYVhCUENteHZTaTlwT1d4S00zSk5PRmhGU21ka2RHaDNjM2hoTjNaakx6bEdWa3RpTW5WeFEybE1TSFJvVTFCNVFsUnhiams1UmxsNWQzVlZNbWM1UkhoUWFqTUtWVEFyYkN0Q0wzaFBTbU5tVG1Nd1JqVXpaRzk0YTJSMFR6SktkQ3MwZEZaM1EyNHpUV1pPY1RaRE9HdHZZMDFSU2xZemFIVnVlVlppVkVwQk1XOXRaUXAwVkd0RWRrSk1hMkZ4VmpsWGNtSjJSRXhoUzFWVE9FbEdhSGxVWjBKbE1YWnNTbXQwUjFGMWEyWTJhV1l3ZUc1aFFVZ3hXSEJMVFVocVlXRXJTVTByQ2xoNU9FVnFXWEY1VGs5QlMwVmhOVE0wYkhRdlFqQlpkazVqTjBaSFFtcHZlVXRUVlVoa2EzUnVUWEpNV0VWMGRtdFZhV0pYWmpKb1FqRTRSWGRQY2tVS04wbGhSeTk1V2xKTmFVcExPUzh6WlZCWWFEbGxMMFJUYm5OVU0yMHdka2hRZGpkdVIwWmpjamREUkZod2RESkhRVU5YY2xCS0wxRmtXRGhhVGpSWlFncHhjVVpNT0dwYWVteG5TR0ZGYkZVMVVsQXdVVGhMY0UxNWNHRlBOMnRhU25wWUwxRkVka1ZNU1ZGVVV6aHRlVEpEVEdKbGVpOTFUbVlyUTFSMFZWaHhDbHBuWVM5T01HWmxNVkptT0M5bGNYaExWbUZRTW1zMlZtczNkRWhYU1ZaU1EwbGpRVXA0V0ZwTmVXb3dRMEZSTDJKeVFscG9NMlEwWlV0S1pHdExMMVFLTDA5TFRETm1UaXRwVkdvelduUkVkbmg1YjFvd2Npc3pWVmhVUTJGTU0ydGtiVTFNTnpOQ01HUmlOVkozU1hGdGVEbHplR3BLUlVweVNtaHVXWEJ1TVFwRVdHczRWVUZ6V1ZOTlJqaHNSWFJKWldOT2FXNTNTVVJCVVVGQ2J6RlpkMVpFUVU5Q1owNVdTRkU0UWtGbU9FVkNRVTFEUW1GQmQwVjNXVVJXVWpCc0NrSkJkM2REWjFsSlMzZFpRa0pSVlVoQmQwbDNSRUZaUkZaU01GUkJVVWd2UWtGSmQwRkVRV1pDWjA1V1NGTk5SVWRFUVZkblFsTnpjbkU0T1drNGR6TUtObFZ5ZWtRdk1ESnNkVFZMVGpOQ2NuaFVRVTVDWjJ0eGFHdHBSemwzTUVKQlVYTkdRVUZQUTBGblJVRlBWMDV0YWtabVJ6ZHJha2hsZWt0Wk4yNTNNd293YlZOclMzZHBXblJFTTBWRVFsVlVaVzk1TTNNMFRHcEZha2N5ZUZONVRpdHJWVWhpUVVwQlIxUlFZVk53T1VWRVRIZEpTa0ZOVFdOSldIcEVkMUVyQ21GMFNrNVRNblYxZFdsMVRqTlFkWEl6VkdOUWExaGhURkpXVFUxS2IweEdiRlJ5VnpCcGNVMW9TSEp0YUVaeGVqRllSM1F6ZG5kRGJ6RnNiVW80TXpNS1lqSnZVV2xKU0cxbVN6aE1PVVZsWlhkNFZsa3dVMGtyU0VreWFHRk5NMXAwWkVoelRVdHJWRlpRZFdSdFVYTTRUbUp3UjBjMmVqVTFZbEZ2VGs1Q2VncFNlV1J3WmtSbWRIQktSRUZNVFc5VmVVNXpkbkphVVZoaGEzUm9VMHROTURGWVJYSnJNMjV1TVhSU1YyZHNPRWN4TmtaelJsTTVWVWhHYkhodlR6bDRDbGhxYmxwU1F6WndVRFYzVUdsVVYxZHFhVFZHUXpsNFJ6ZE5WR2xPY1hWcGMxcHJSMVozVUZWaWVVRndkWEIzUTNOaVlrMUJaMjVUTUM5TGRrTk1ZVlVLTTNGRGIyRllkVUpHYUROTU4wc3lWR2xMTDBwRWRtZERkVU0wTkRkTVMxZFNZbVZHUlhrek9FeHdVRmR2YlZOdldEVkxPVGx1UjBzNVpucEZRaXRSWXdveWVWZDZaa1pZWjBKWFpHRndNMk0wVmxoaU1rVkpjVEF6WVVKMmRuQlhja3h1V1VwdGIyVjFhRnAwU0VSNGNGRmhUemhCVG1WNGNFaEtVM0ZHYzA5YUNrMHZUMUJOVFZNM2RIRk1WMUpITTNCaGIyUXpRbE4zWW1rM1p6bGpjbk5hUVVGclp6ZEROV2M1WWpRMk9HVXhkVlZHZGxSV1ZqWmpaM2hPVEhvM05sY0tVMmxaYVVaTVluWXJkVGxsZFUxc2RYVk5Ta3R0TUZVNFZVUnpTME0zYUdGWVR6Uk1OMEpvVVdKdmQyWldRVzFYU2xoMVRXNVZUemxDVm5SWFozRkJOd3BVY2xKQ2FsaFdlRWhoYjJwT1VtMURWVm93VVdaNFUxaDJZazlLUjBKbWFVMVlWVmM1UTNWa1FVMUtRekpoUTJzeFVEWkNURFJYYVd3MVIyeDBiMGhaQ2t4dWVtTXplU3R1UjJWaE0wSlBNMjlEVW1SSk5qZDNQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09CiAgICBjbGllbnQta2V5LWRhdGE6IExTMHRMUzFDUlVkSlRpQlNVMEVnVUZKSlZrRlVSU0JMUlZrdExTMHRMUXBOU1VsS1MwRkpRa0ZCUzBOQlowVkJjbFJRYW5kTVlqTjNRVlJRYlVOMFRHVnNka1ZSZGpKRVFUSkliR2hZUVdoeGFFUjFPRlJqVFd4Q1pYRlFVMkpWQ2taWGVWWmtlakJvTVV4RldERnlRa0kzTDNORFIwSkVVbTU2Wm0xSGMybExjVTFVU3k5YU1rSXlhbk41TTJsUVoxUnlla3hxTHpkTGNubHJPSGw0Y2xnS1lXcEZNMmRJUnpoV1ZsVnNiRVZpYzI5MmNXTTJibVEzTkhsQ0swY3lkWFJDY2xseFZIQmhRMlkwZGxwVFpEWjZVRVo0UTFsSVlsbGpURTFYZFRjelVBb3ZVbFpUYlRseWNXZHZhWGczV1ZWcU9HZFZObkF2WmxKWFRYTk1iRTV2VUZFNFZEUTVNVTVRY0dablpqaFVhVmhJZWxoT1FtVmtNMkZOV2toaVZIUnBDbUptZFV4V1kwRndPWHBJZW1GMVozWktTMGhFUlVOV1pEUmljRGhzVnpCNVVVNWhTbTV5VlRWQk4zZFROVWR4YkdaV2NUSTNkM2t5YVd4RmRrTkNXV01LYXpSQldIUmlOVk5hVEZKclRIQklLMjl1T1UxYU1tZENPVlkyVTJwQ05ESnRkbWxFVUd3NGRrSkpNa3R6YWxSblEyaEhkV1FyU21KbWQyUkhUSHBZVHdwNFVtZFpOazFwYTJ4Q00xcE1XbnBMZVRGNFRHSTFSa2x0TVc0NWIxRmtaa0pOUkhGNFQzbEhhSFk0YlZWVVNXbFRkbVk1TTJveE5HWllkbmN3Y0RkRkNqazFkRXg0ZWpjck5YaG9XRXNyZDJjeE5tSmthR2RCYkhGNmVXWXdTRll2UjFSbFIwRmhjV2hUTDBreVl6VlpRakpvU2xaUFZWUTVSVkJEY1ZSTmNWY0thblUxUjFOak1TOHdRVGQ0UTNsRlJUQjJTbk4wWjJreU0zTXZOMnBZTDJkck4xWkdObTFaUjNaNlpFZ3pkRlZZTDFBemNYTlRiRmRxT1hCUGJGcFBOd3BTTVdsR1ZWRnBTRUZEWTFZeVZFMXZPVUZuUlZBeU5uZFhXV1F6WlVocGFWaGFRM1l3TDNwcGFUa3plbVp2YXpRNU1tSlJOemhqY1Vka1N5OTBNVVl3Q25kdGFUazFTRnBxUXlzNWQyUklWeXRWWTBOTGNITm1ZazFaZVZKRFlYbFpXakpMV2psUk1UVlFSa0ZNUjBWcVFtWktVa3hUU0c1RVdYQTRRMEYzUlVFS1FWRkxRMEZuUVdWSmRHZDFPRTlpT0c1NGJYSjRWMU14Ym00dmQyeEJSMWQwYUV4clpUbFZkbkpTUTFkSlpHcHlZalEyYzFsNlVXeHZhVmxFWjBSNVFncHpSM0ZSWWxWNVluWTVXRzFqUVRZMVNVWllSMDVVZVVSRWRrdDFNMEptTmpZMkx6TklUa1J5WjJ0bU9DOTJNSFpMZDB0eU5rUnBkeTl0TVVWNVVWWlhDalUyUkVwUmRXNXliR0ZXTVRKdFNsRTJOV1JzYkM4clkwZHNaMVZKYmxsRlZWVllNbG95ZUZOU1ZUZzNWRFZLY2xWWk0xVkVjblpCYzJ4UlZWVkRkbUlLYlVsTk1EWTJVMDFsVFVwNU9WWnBWV3haWlc1V05sZDFVMlpvZW5WRFp6QnVXVFphVUhod01GVk1NR2x0VG5GaEwxWjZlVTFhU0RONGRuWkJZVTVaYXdwaU5tMUdORmMxUzJSdFlteFRWWE5xWlc1dmR6SmlXVlIxUVVKeUx5dFplWE41WlhGWVN5ODRkSEZ5TjNaMkswZzBORnBIV25WeFJEZzFZWE5vWW1ZMkNsVTNWRmR6V1hCWWNHTlRZV1pYZEZJd1UyMDBabGt4VFhVME4wTkpkMVJ2TUhkRk56VnpjbkUzZHpsbldYazVlVVowU0dOM1NXWjVVbVZCTmtSVFdWZ0tUVU5PVjFwMlVXUldaRVZvUVZKTWNGWmlObEI1WkVOcFZsbG5TVFZpUnpCWGVrRkNXRm9yU0hJd055ODBRMVZWUkhkV1lUTnlTV1JrZFRsWGFVVXZOd3B4ZUZaV1RIbElZalZ4YjNFMlZWa3pSeXRYUjJndmIzTm1LekJLU2swck1uaFRSMnRhUVM4dk9GQXZhRXNyT1hscGN6QjBSVXg1WWtveGNVRmxVbkJhQ25rd01XVnRLekEzV0hwUFpGTTRaRFZqUXpOUlFrOUZURXAwTVM5SGIwcDVXbUYzVmtSaVpWcG9SRWhoY1VKWGIybDVMemRGS3psdlVqVTVLM3BDU0ZjS1ZtNWlRbk5zVjJWNmFqTTRSMU5CTTFGWWIybFRTVTVPUVRJMk1Ha3haMWhCVEhKRGQzZEJSVE5qVWtka01Yb3phMjR5UTJZMWVqRkpSblZtTldGc013cDFiMHBzYURKdmFsaE5VME55ZW14a0t5OUdhWGMwYlROVU1EQnBNVTF2U2psT2JIZFVTbVpDUkZoTFIyeHZkMWMwVVV0RFFWRkZRWGhMWmxNNWIxaENDbEJUZG1neGNURjBjbGcxVVRNMmFtdGhSbUZTU3poUmRGZFdUV05zWkVGMmEwbFVTVWhRWkZKb09ERTRVSEZoVFhCdWNIcE5kMjlyY21SRE1FSjRSMEVLY1RaVk5YUm9hbEJGTVcwM1VUZ3lZV2N6UTB4cE1FUkxRVVJGZDJReFJEQmxWblpQWXpKMlFWbHRaSGcyY1ZFeFZtdDZRakZxVmxneFJsUjFRVE5FVGdwV1YwSkhZaXRMVkhOSlp5dFdTamRFWVVSRlVYcDNkMXBrYURFdlpIbFdNVlYyUTFZeWRURlNZVFExV0ZOcFdIaDBhM296TXlzM05tbE5ZVWd3UVhKRkNsRlNOMkpLYkZWSlF6TjNZMnA1ZHpOR1RsVXJVMVJEVWtSWmJXaE9UWHB5VVNzNVRucGllak16WnpsaFprcFpkbmRCVlhoMEsxQnhjbWxxWVZGU1JGa0tSV1pZUTJKaE1WcExhMlV3ZEhaQ1RUaHZjSEZ5TWtWS1JYSndTV2REVW1NMmMwVk9hMDV1YkVONlVXUllTVEJyZDNSTFRVRlFURzR2UzNWc1oxRXpWZ3B0YUdveFdHNUtiekJoVEcxNmQwdERRVkZGUVRSWWFFVnFMMGswVTNCblZDdDRjVTlTVFUxNUx6TTRNemMwVEVsQmEyRjFSVmx3V2tweE0yRXdVMkZEQ2t4eWJ6VnRaazAwYlVoVmJYQlFPVlJpYTBwa1YxYzVZVU5FWTBWTE1VbE1kbEE0V1RkV2EzaExiMWxCY2xFek5GQmhWRTk0TDNoQmVuZGFXVnBTVERFS2RqQTNUakJ5VGtsTk9GaHNUMEZNUTAxcVVGWTVTWEVyVDJGbmFsZG5OelpCWmxORlptYzRMMUV4YlRjeWNubDRSek40WjFGck5tMXNZM05xV0hCb1JBcEJhMmhRZFdaSVZqaDNSVmhHTUhoRE0xaHNNMVpETkVseFRVdGFWeXRhTkdoMU9XZENVMFJ2VmtoMk1sTktjR1pxTVdweGFtdHpPVEpTWmpKUVZFRlFDbFkzZW1wblNGVnhUWFZEY0V4T04yWkVVRkp3WmpCelpWaGhXRFpxUWl0eU1VWjZSR2w2Y1U4NU9VbFhWeTlpVlhOdmMyWkNiMFpLWjJoQlZUVmxXRllLVmtWUVJqaFBjRzVDV2pkNFRFUmlPSE51ZUdWM05FdEdZakJEY3pKVlUwWk9VemRvVGtWVE4wMVJTME5CVVVGVmIzSjFjbUpNZFhKVVNtbEdTekoxZGdvMFpYQm5ibVIwYURZemRVOVRVMkYwUldWRFZrRXJVMG95VEZWaEwxRlVUVXRGTjJGVlExaEJURzFqTms5ME1VRmpMemhCU1hWRlMyOWxjbVJhWkhOTkNqTTRVMko0T0RWdU4yNDFiVWhYVmxaQlpGSm9TVTVwVjJnMFEzaGpaVkZrVERGbGRqRkpNVmxSWms5NFNUWllWWFpTYWtGMVlYbERVV1pyUTAxd1pHMEtNV1JWWTJ0b1FsWk9XbXBoT0ZJd1Z6Tk9LMDFTUW5vNGJVRjRVbXBqWlZkaWNtaFJTMjh3YW05Uk16bHlTbXRVYTNsdFlrNW9XVVE0TVZoNGRuTm9OZ3BXUVhFelNqRXJZMU4zWjJaTEx6VTRiV2t5Vmxkak9YbE5TVVpOYW05RVFVSTBTbkZSYlZFclZsRXdlbWszU1V4c2JsQlphMmRxY1ZWWmVWZGlOMDVGQ210WlQzZEZjVlYzWVdvdmNIRldaMGhhUVRkS2FUUmtTV2gyZFVOalMzSjBUWGR1Um5SWVdHWkVOMHh5VVhCSUwxaEpLMmRpUkVFeU0wWnRZa1ZKZUZvS1QzbDJXRUZ2U1VKQlVVTnJkbTl1Y1ZjclVVSnlVMnM0VjNWVlJraFdVRkZIUW1FME4wOW9WSE5YTVZNMU4waEpZakZRY0dGeFprbHRUVEp3ZWxkMldBcERhRXRaYTA4NVdFdDVjVzFTU2xOWFYwRjVNVEJ3WXpsSE0wRk9WRkpTT1hFM1oyMTFiMUpsUm0xUU5VRkViMmxwZEVwbU1rRkRNRXhzU2pVeVFVZDZDbmR4T1M5M05WRTVkR3cxYnpscksxVk9WMVJRVlhjMFpVTTFiMkoxWlhoU2RTdHNiRXBIWVUxWVRUZEJOVVpOV1U1SWRUbHFTMlUxY2xScFJEa3dOa3NLTlc5elIzWlFVa2RsTlVKVVl5dGthakV2ZWxOb05EUmtiV2cyWnpSTVEyaDFiMjU2T1hOb1NVbzBTVXhSY2sxSlVURm1jVEJaYTBWYVRVbGxhRWd5TWdvcmVYcG9NbXc1UlZObWIycDRja2RFV0RsdE5FNVNVVXRqVmxZMFJDdDFVemRJUkd3NVZ6ZHZibTV4YlN0RFZFdzBhRUpFUVhwS2FrSmljRWRHUWk4ckNtNVhieTlGYkdGR00wSlpjRFpPTm5sellVVmhhRGxUUmxSaFNFUXpWWGxvUVc5SlFrRklWRmh3ZDBOMVdYcHVjWFJOZGpoYWVWaEdhbkptUjBSRlpUY0tUVFJrU1VWMGFtbHJlazVJWml0aVQyNUhNRXBXUjBGQldrRXJkMmMyVkZkWmRFOUhSbVUxY2taRVdHbHBZVUY1WlZCRldWTjRUblpQYlhoUldHUTVSZ3BLVGs5SE1rdzNlWEk0U0hsa2FUSnRiVmROUlZnMFpGSlRRMmxwWW1GdFJXTTVVMWREY1VoNGR5OXlWM0JrTkdNNFdscE5SRVZsWjB3eFkwTklXbmdyQ2tjdlpUTk9Lek5YUm14blRUbFBaVFJuYjFoR1ZVNDRTSFkxUVhCRFRtTlpWMmxKV1dKVWEySkNPVEIwWVhKNGFFNXRVRE5VY0ZRMFFVeExMMHRvZFU0S1pqSk9ja0kzYUdOeVYwWTVVM1pWTTBGV1YwMUtUMjE2TTBGRlJqbEthVFZ3WlV0Q09VOHJRbU5WYTNOaFoxZG9USEJVZWxrM01uUkRiRlpGTlRCS1NRb3pVblppSzBkSlVrMUJVbEp0Vlc1VmRVWXZWbU5pTVVadGQxTnZMMVkwTlVkbmJFbGljRTFaY0dOVWEzbDNlVVZxSzBsUVprcE1VbWhTUlQwS0xTMHRMUzFGVGtRZ1VsTkJJRkJTU1ZaQlZFVWdTMFZaTFMwdExTMEsKICAgIHRva2VuOiBkODcwNDY0MjVkYjc5MDM4ZGUzNzZmOGUxOTMyNzBlNDZlNTA1NzhiOTFhODNiM2MzOTk2MDIyMjRiNzRkOWY3YWY0ODU5Mzk1MThjYWZiZDE4NDJmZWFjZGJlMzgxNWZjZDk4Njg1M2E1MzFhYWUyNjMxYzBiMzVkMDBiYjZjOAo=\"\n + \"YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VVMlZFTkRRWFJIWjBGM1NVSkJaMGxTUVV0akszUkNXVXRrUVVZNFNHSldNRmhzT0VWNlowVjNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGNLUkZSRlRFMUJhMGRCTVZWRlFYaE5RMWt5UlhkSlFtTk9UV3BKZDAxcVJYaE5SR2Q0VFVSQk1sZG9aMUJOYWtFeFRXcEJlVTFVUlhkUFJFbDNUVVJhWVFwTlFUQjRRM3BCU2tKblRsWkNRVTFVUVcxT2FFMUpTVU5KYWtGT1FtZHJjV2hyYVVjNWR6QkNRVkZGUmtGQlQwTkJaemhCVFVsSlEwTm5TME5CWjBWQkNuaGpiSEE1VjFKNFZYWjRlRnBVT0hKR1FqSlROMlpMTnpSSWJFMTVSR1J3VkRBemFuUjFWRGxDZEZGWlVWcGFPVEp6VUM5QldWVndja1V6VTNKeVEwd0tRbkpOYUN0UFJXdG9OekZNZEhGMk1DdFJiV1J3YVhkU01sUXpabXhUUmt0Tk5uZFZVa3hJVnpWVE1YcHphV0ZyV2pSeFltNDNSbE50WW5oMmIySTJMd3BPTkRBd1NXUlFjMDUzWW1JclozSjFNRTV0TUVwbWRVaENkRTVtVG5GMlVWaDRkMmgyWTJOVFZqaENVa3BxYm5aMWQyOWxaR3R0U2xRd01pOW9UV0l2Q25NMmFVZFlja1ExTmtvMlZWazRRVUpDYVhoV1dVTXJTbTU0YjFKUFNXWkRPRGd6Ym1RNFZFNHJUM0ZqTURVd2NHazRlaTltVmk4M00ySXZiSGhxWTJnS1ZGVjNVMHRUUTNWQ1lWTlRNRmxyVkZscldVdDFZMXBGTkVwdGNIaG1TbEJYVUU5VGNVbFZVU3RUYkhoTk5XNHJlREEyY0hKQ2F6WjRlRTVzU0dsTE5BcHRabWhGTDA1a1lsbGxaMU14UVZOb2RWWlVZekptZWxoeVFtaHdObWRPVEZobmNWWllRWEpJVUdjMlEzRkJOR0V3SzJrMlVUazFNMlZyWW1oeWRrSkxDbEJhV1ZVeFpYWlpUakJzVFVKR1lrMHlkMkZ5V0hSUGVWWnVaakEyUkdKdmRsbFNXVmR6VkdSblNqbG1jR2xsVEM4NVRYVjBlVzlzTW05TE1DOURla3NLTVVGS2NYUkZjM2RtTlZaQ1pFMURPVTFEUVdSM09WUXJOVEIwUm5JMVRHVnhRMkpUYVZkMEwwczBiR3B5VkVab1NrZHVhbTVGUTA1cWJXWndPVGRqV0FwcVkxTTRiMWd4VlVrclZUbFRNVEpzYVhwcGNrSm1VRlpOSzA5T2IwdHNZVUpXVWxoVFJrdHpLMVZqV0VNeE1FdFpabkJ1THl0T1VGSkZiWHBMTkdJMUNtcGpZMHRpWm05bk9VeFVjMWx0SzNrMVZWQTNlR3BKZG5KVEsxSXhOVmQ1WXpBdlQyOVdjRGh4WlRkNWVFZEtSMGRXUkVKemRFZHhabU55VFVkelYxVUtXbGs0TldOc1ZuUkZTbWRtVERaNFVGRldLM2t5THpScVFXMXZTalpxUWxOdVV5OUpaM0psYW5kNlRVTkJkMFZCUVdGT1EwMUZRWGRFWjFsRVZsSXdVQXBCVVVndlFrRlJSRUZuUzJ0TlFUaEhRVEZWWkVWM1JVSXZkMUZHVFVGTlFrRm1PSGRJVVZsRVZsSXdUMEpDV1VWR1FrSkZOMWxJU0VVeE4xVldhbmhyQ214ekwyeEtRa3hhT0dkallrMUJNRWREVTNGSFUwbGlNMFJSUlVKRGQxVkJRVFJKUTBGUlFYaGFNWGxDTW1ZMVJHTk5hMmwyT0hNemFHaE5aVXRJWWpZS2EyWm5hMnd4VlV4aE9GaHdaVWRYV2s0NWIweDZiREV5VTNwWGNrd3dPWGxVUTFJMUwwZHFWVE5VUkdwbVNtNXFUV1J3VTFkV2Jtb3dZbGxqT0hGdlRBcFBRbkIyZHk5c05UZGtjVXhrU0VsSmJtOW5hMUZOTTBKTlVHMURTeTl0U1RGR1FuSXZXbWxNWkM5cGNscFpjM05vUTFaaE1tUlBRVzlRVjBGT01tcFRDblpWTkVveWEyRnBUVTFzUlVWSU9XeGlUbnAwVG1SblowSlVlalZJWkVZMWVqWXhNRzFXTkdWc2JYbHRNbWxNYjJGek5HbGljbkIwU1RoQlJsWXhRV0lLYUdJMVkydHZjSGxhS3psaFJYTmhlbWx0VG5welprUlZZUzl1Y0ZwdkwwTlJNRGxyYlROT1VuTkZPVFpHWm1sTWRYcHBTMU5OTVdocWVreFJOWEJwVEFwTFMyRmljazE1YVRnMlpDOVlWRzlOVEU1RlZWcHlWMkoxVDFKVWMwTlhNRU5xYVRsRFpXWnFhelpaVGpGTFkwUkpLMUJNWkVOc2VuSnBRVzlDT0ZaT0NtZGpRWHBxUjBwTkt6WkthRVphYVM5eE1YRXpZVFVyUjNoa1VHdGtRbXhVWlhneWVqZHJaVTA1UjNKYWQwNWhLMnM1YVRVMmJHdEdVREpHZFdGaE5YRUtaSE0wTUM4NVlXbHpkMlJOYWsxM2VFRkpiemxSUmxWWVNtUlhNRTFQSzA1TVdYQnRRbEJRWkcxek1HNU9abkZVU2k4MU9HUTRRVzVQTWxOMWRIbzBkZ3BaWlROYU9HWjJjMjVYUWxsNVRtUXliSHBoYmpaMWFrVjVUMUZCT0hjMmExTkVUbEZEUjJGWGJtMXRWV2hhWkZKYWRqbHpUQ3RzV2pKNlowOTFLemRKQ20wMVpHNTRORWRYYjJoT1QxTkRaaTlQWjFsblRUQm9Xa05yWm5wR1JEaFZTbVpPTUVFM1pWcDJTbWRpUTNFcmNrdGlhR05XZG5Wek1UQjZkSFJTY0hVS05XeDVXRzlJVVU1c1NTOXVVRmhwV21zME1qWTBUUzlYT1ZRNU56Sk9aMDB6U1hCSVRYbExibXRRU0hGQ09ETjJXVzB5ZG5aNFNuTkplV2hLZEZsNmFncDVNMHgwYURoek0waGpja3N4VEdJd1NIYzlQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09CiAgICBzZXJ2ZXI6IGh0dHBzOi8vY2xpYWtzZG5zd202eGV1Mi03NGIxNmE4Mi5oY3Aud2VzdHVzMi5hem1rOHMuaW86NDQzCiAgbmFtZTogY2xpYWtzdGVzdHRndnpjbApjb250ZXh0czoKLSBjb250ZXh0OgogICAgY2x1c3RlcjogY2xpYWtzdGVzdHRndnpjbAogICAgdXNlcjogY2x1c3RlclVzZXJfY2xpdGVzdHJkemNndmM2MzZfY2xpYWtzdGVzdHRndnpjbAogIG5hbWU6IGNsaWFrc3Rlc3R0Z3Z6Y2wKY3VycmVudC1jb250ZXh0OiBjbGlha3N0ZXN0dGd2emNsCmtpbmQ6IENvbmZpZwpwcmVmZXJlbmNlczoge30KdXNlcnM6Ci0gbmFtZTogY2x1c3RlclVzZXJfY2xpdGVzdHJkemNndmM2MzZfY2xpYWtzdGVzdHRndnpjbAogIHVzZXI6CiAgICBjbGllbnQtY2VydGlmaWNhdGUtZGF0YTogTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVWklha05EUVhkaFowRjNTVUpCWjBsU1FVNWFUMDVFZDJOWlpEUlNObTE0TUc1VWQzSjBTVkYzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhjS1JGUkZURTFCYTBkQk1WVkZRWGhOUTFreVJYZElhR05PVFdwSmQwMXFSWGhOUkdkNFRVUkJNbGRvWTA1TmFsRjNUV3BGZUUxRVozbE5SRUV5VjJwQmR3cE5VbU4zUmxGWlJGWlJVVXRGZHpWNlpWaE9NRnBYTURaaVYwWjZaRWRXZVdONlJWWk5RazFIUVRGVlJVRjRUVTFpVjBaNlpFZFdlVmt5ZUhCYVZ6VXdDazFKU1VOSmFrRk9RbWRyY1docmFVYzVkekJDUVZGRlJrRkJUME5CWnpoQlRVbEpRME5uUzBOQlowVkJjVmhvWlVOa1JFZFFURlJIUzNSMk5GTjZkbWtLUVRSSk4xbFpZbEl5TUZSMlJIWXZRbFZxVEVScU5EWkVOa0pvTjA5MVl6aFZVRUYzUW01VU1YaDBjM1JNVWpGM1pqWk9jWEJvVkdkNU9HaHlTRVl2WVFwcE1VNXBjMlZSZWtSWk9EZHJSemcyZG1kT2FWTnNhbEpQVTIxSWFIcGFPVVZQYWxkcVVYWnNURGN2UmxGak1Ua3lPRWxoT1doT2JVVk1OVkJCVkhsSENqVjNjU3RrVFhOaVducERSMGR4ZEZSeVZqUnBUbTFKYkhaa1IyOURhVE5OYlVGQlNHcHFTMnBSTlRaWWEzWkJLMUJGYTJkQmRrczNSRmxWZG1kSlN6SUtUak5ZVkdSSE4yd3JPRUZaYjBoNlNXaFpkVVJTUTNGclZucG1WMFZOUlRCU1JqaFVORXBtU1ZGRFluUXpjMjF2YkV4elJ6RnJTMUZKVDNwd1F6WlNkd3BTWTFwbk5WRk1UbUZhVkZGalVtZG9ZMmcwWWxnelVFWXlibFJoUWtZclMwdE1RV3BSZWt0b1JsQmpaVXMyYWpWelFVMU1jRlpIU0hSMFFWa3JXRFZuQ25CalRsZFdWa0paVG1SR1F6RkJkVWR2U205d1UwcFlkM1UyVVUxMFkxUjNLM0pTZVZwS1RYb3JUbTlSTlRkSk16TnJSbVEzTWt4WlJrMXNSblZUZDJzS1ZIVk5ZVXhuZVU1VGIweDZaaTlXVUhSb2NUZHBhbTB5VUhoNGJHeHZlREZZVlZGMmJpdElkeTl6VlRKNlYxVkZXV3hFYTBZdmMycERXaTg1YVVzeVpBcG9XR051YjFsQ09YTmtRMnhOV0hwV2VqVmlkWFUxT1dVeVVFRkRjRGx3VERoVWVsRnRja3BaVTBKM1pWcHdUVWhQTUhWc1JXUkxURWR5T0ZCUVFVRkhDbHBXV0U1UlNXVnNlSFJWSzJOUk5VNVFRM3AzWnpCdVZESkJNV1ZoUkZNMWEzQnplbkZWWjNSblZHbzVZVkYwVUdFMlFqTXpTRmxrYzFoV1ltaHdMMFFLVjB4c09HTkdSM1I1TlVWUlV6RXhZa0pqVDFReU9FSTJUV1F3Y1d0bWRtMVVUVkJDVDFwVWRWcExOUzlWYTNWd1IwWjFTRzFOY0RsR01XaFNTbGgxVHdwMGJpOXBjR1UwT0V4TWVIVlBabGhWZFc5NFJsbHJUVU5CZDBWQlFXRk9WMDFHVVhkRVoxbEVWbEl3VUVGUlNDOUNRVkZFUVdkWFowMUNUVWRCTVZWa0NrcFJVVTFOUVc5SFEwTnpSMEZSVlVaQ2QwMURUVUYzUjBFeFZXUkZkMFZDTDNkUlEwMUJRWGRJZDFsRVZsSXdha0pDWjNkR2IwRlZSVVZVZEdkalkxUUtXSFJTVjFCSFUxZDZLMVZyUlhSdWVVSjRjM2RFVVZsS1MyOWFTV2gyWTA1QlVVVk1RbEZCUkdkblNVSkJTbTFxZDNoMVZDdE5kbkZMU21NMVJtdGxXZ3BPSzFwTmFYZHlLeXQwVUZGNlRITldhMWRQZG1OWkwySjJRMUJ1Y1hWbFRHSlFaVXQzUlhsV1ZHcHJablZ0Y1dkNWNVeFNNekpwUTBad2JuSk5WM1J2Q25wc09YWndaRFJYUmtKd1FYWnFPVnBTUW1GNE0xQndMelZaYkZWT1JVVklUMnBZU0hST09UTktSVzR2T1ZGelRIQnhaRVp0T0hRd2FuQk1RbGczWTNnS2RGbzVTVFJ5YWpaamVFUmtLM0JaYld0NWRYUmpOSFZDUVZONGRuWnBiMEpJUW1sQ1VVdHJSRWhvUXpWRFRXTm9TMGRNYWtodmVEa3lhMDVIWkZadGNRcHVhRWRuVTA5S1NuVlhWRXN3VVhVemQxZDJjRk16VDFOVFpGQlhlazl0V1hsWFRrbExaWHBDU1hCVGRDOVhLM0I0Wm1aU2RVbE1LMWd2TmpodGVtOWtDbkp2TjFsS1RYQXJaMlZtYzBscVJ6WlJWSFJpU1d4TWVtSnpMM1pDVmxGMlpFZHVaVWh6WVVKdFpGaHpVMlYxY1c5S056ZzFXSGRJUzNaTVMxQnBValFLYlhWUFFYaFBjR0o1Y1VKTFptRXdSaXRqVVZkamRYaFVlVlZUVFhadWIzUjBaVEJDYVU1M2FISjRZa0puTlhCSlNERk5hWFYyUzJKdlRYWXZjamxDTWdwemJ6aDFlakZtTURsM2MwaGlWbVJrZUdNdlYyRjNjVGxMWjJGYVR6aEpTVmQzT1c1a1EydFphV0l5S3k5U2FtNDJhazVPTmtWNlEwVkNSalZ2TTJ4RUNrbEljMmM1ZW5CMk4wWlhWR3haV2tKNFpsZHRlV05RU2paUlZUVTBhVk4xVTNnMVJqRlpjRGxDVGpkQk1sWmhWbkpMYUdGU1NUVjVaR3BYU0ZJNFEzRUtXRU12TURRMGVFMUpjMjk0UW5KMGNsWkxPSGh5YTIxQldIaENaaXRyTm1kYU4yMXZWekZIYzFvMFZEVkZiRzUxWlVocGRGVkdaV1ZuVkZoRk5VOWlXUW94YUhwTmEwWXJRVVZwT0RkT04zbExSVmd6TW5SWk9FaExVQ3RuTDJKbE1sZFRSVWc1ZWpoelRVcFJaR1ZEVURkM2RESnJSRzFEYkV4a2VFVmxOblJEQ2psTVdWUkhabk5KWkZKWk9VNXVNMkpaUzFjMWFpOUZad290TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09CiAgICBjbGllbnQta2V5LWRhdGE6IExTMHRMUzFDUlVkSlRpQlNVMEVnVUZKSlZrRlVSU0JMUlZrdExTMHRMUXBOU1VsS1MxRkpRa0ZCUzBOQlowVkJjVmhvWlVOa1JFZFFURlJIUzNSMk5GTjZkbWxCTkVrM1dWbGlVakl3VkhaRWRpOUNWV3BNUkdvME5rUTJRbWczQ2s5MVl6aFZVRUYzUW01VU1YaDBjM1JNVWpGM1pqWk9jWEJvVkdkNU9HaHlTRVl2WVdreFRtbHpaVkY2UkZrNE4ydEhPRFoyWjA1cFUyeHFVazlUYlVnS2FIcGFPVVZQYWxkcVVYWnNURGN2UmxGak1Ua3lPRWxoT1doT2JVVk1OVkJCVkhsSE5YZHhLMlJOYzJKYWVrTkhSM0YwVkhKV05HbE9iVWxzZG1SSGJ3cERhVE5OYlVGQlNHcHFTMnBSTlRaWWEzWkJLMUJGYTJkQmRrczNSRmxWZG1kSlN6Sk9NMWhVWkVjM2JDczRRVmx2U0hwSmFGbDFSRkpEY1d0V2VtWlhDa1ZOUlRCU1JqaFVORXBtU1ZGRFluUXpjMjF2YkV4elJ6RnJTMUZKVDNwd1F6WlNkMUpqV21jMVVVeE9ZVnBVVVdOU1oyaGphRFJpV0ROUVJqSnVWR0VLUWtZclMwdE1RV3BSZWt0b1JsQmpaVXMyYWpWelFVMU1jRlpIU0hSMFFWa3JXRFZuY0dOT1YxWldRbGxPWkVaRE1VRjFSMjlLYjNCVFNsaDNkVFpSVFFwMFkxUjNLM0pTZVZwS1RYb3JUbTlSTlRkSk16TnJSbVEzTWt4WlJrMXNSblZUZDJ0VWRVMWhUR2Q1VGxOdlRIcG1MMVpRZEdoeE4ybHFiVEpRZUhoc0NteHZlREZZVlZGMmJpdElkeTl6VlRKNlYxVkZXV3hFYTBZdmMycERXaTg1YVVzeVpHaFlZMjV2V1VJNWMyUkRiRTFZZWxaNk5XSjFkVFU1WlRKUVFVTUtjRGx3VERoVWVsRnRja3BaVTBKM1pWcHdUVWhQTUhWc1JXUkxURWR5T0ZCUVFVRkhXbFpZVGxGSlpXeDRkRlVyWTFFMVRsQkRlbmRuTUc1VU1rRXhaUXBoUkZNMWEzQnplbkZWWjNSblZHbzVZVkYwVUdFMlFqTXpTRmxrYzFoV1ltaHdMMFJYVEd3NFkwWkhkSGsxUlZGVE1URmlRbU5QVkRJNFFqWk5aREJ4Q210bWRtMVVUVkJDVDFwVWRWcExOUzlWYTNWd1IwWjFTRzFOY0RsR01XaFNTbGgxVDNSdUwybHdaVFE0VEV4NGRVOW1XRlYxYjNoR1dXdE5RMEYzUlVFS1FWRkxRMEZuUlVGdE9FaG1XRVpKWjBGUFpEbFJlVTFPV0Rob1dVRkVWMUE0YVVWQ1pTOUJkR0kzUjNOemNXMXdhRFpZUzI5dFZIUjZZMDQ1WTJvMWRncFNWaTh5UkV0RGFFMTBabVEzT1VnMFZWWkVZa1Y2UkZCRlZFMW5TQzlIZUhkcFNXdHpaeXN4UWxKcVZpdHdTVTV2Y0hScVNVcERSVEpqWkVGNE1uWlpDakZoV0dKTVZHMXhVMDFLWmt4TU1rbElhV0pUU21jeGFtVTFWbloyTmxodFUyd3pjV1kzY21aYWJDdFZPWE5EVUROVUwzcDRSRk5RY0RGMFZYTldaRVlLYlc1SU9FVkZaMUZ6TmtwUE9GRlhZMmRHYTNKb2F5dHJlWGMxV0M5Nk1IZzNZeXRJV0ZGNUwwWmlTR0ZqY2swMVNVVjFORFE1YVZSNlN6VnRTbGhxYkFwUloxUXJjbU5sV2pGTGRYWllOVTVPZHpGMFIwMUtlazU2UkN0RlYxQjZkRlJWTlRSRlRsRlFhVUZLVUhGNGVqQjBOVkZ0WjNCUWJsWlRSMmxVTm1OcUNtOWlNVVYzTkc5cmJIRm5iRnBLY0VnNU9XVndWRzFMVVhOaE5YWnJRM1ZwTlhFckt6ZHNLekJ2Y1c1MVVpOUxhMnA2VDIwMlYwWnpTVk5XWTA5Q2RtMEtVMkY2T0doTmQzaHdWbXhtYUdaMEswb3pSVzlhYVhwRVJ6RkpTbkZGWVRsNFdUaDVkbHBMYUhWdGVXcG5URFk0ZEdKR2RDODRSVXhUWkZKaWQyZG5jUW8wWWpobmRETmhlVUZ4ZG0wMFlraG9ia2tyWTIxaldFd3pVRVoxUTNaTk0wWkhhM1I0UTFaQ0sydGhZalp4TnpaaFJteDFWRzlzVHpVM1NFVk1OMk5wQ2k4M05tUnBSa2hDVFdSMFNIWmtSQ3QxU2xKNGRHTkJTalEzVFN0TGNXNXdXa3RoV1hWYVFqUlVUR0pIZWt4b0sycHZTVEptUWxwMFpIRTRUblJhVFcwS09IZHZhRzlVVEdoeVpIUkNkVzUwYTBwTVZVNUhiMGQ0UXpObU9UTm5XVTVaWkdkRlpHMVVVSGRxVjBwc1JEVldTVkoyYmtKT1pFWTVkMGw0U3k5T1l3cERaM0J4ZEdvd2FITkRlVzlsWTBGNFQySTJWWEZtUkhWamNuVmlMMVUzYUROdWVVWnlORlZKTUhCYWQzRXJNM1J4T0VWRFoyZEZRa0ZPV2tkSVFWZG5Damd6VEZCNlZYWXJjVEo1TlZkSWNIcFZSa2wzTnpKMWN6Rm1iREZZVkVKeEwwRk9iMFpKUm5wcE9DdEJTVlpSZGpaNFMzZ3JjR1pxVUdGTmJtbFZkVGtLU0ROTE1IZHlSREpEYjFvelpGZEZZV2hHTkVSNWRuVTJVR3AzSzIxbmQwcG5kSFJKWWs1V1VFbEZaMmRtTVZWMWJFSnZUamRvTUc1YVVrVlFlVWxVTlFwR1QyWXlWVXg0TlRkdVQwSklZWHBMYTJkT1IwODNNM2RtYkV0bFNrRktSMEZUVFRVMVRuWkVaMDV5V0VKdlYxaDBaMUYxTjFSQ1NUTkhLek5RV0daWENsaFdjVTlpYVVkNVR6UkpXRnB6ZGxWM0sweElVVzlKZWxOVU0wUmtlSHA0YUVWMFZIRkhaVGx4V0V0V1QyOW5Zek01YkhJeU5VbDVTVnB4Y2tVNWIyTUtTRXhOY0ZCMWRqa3dWVTEyYVhwNlNETkdkbWcwUTIxQmEwOHhORGhCWldwYU9HcEhjbE01ZVVSTmExazFNRWQ2YkcxRFltaDNRWEE0UW1sek56Z3ZOZ281WkhWRk9Ya3dlV1ZrYzNab2FrMURaMmRGUWtGTmNEUjFWVXBzVlRGTU5GRXJSVXhHVVVjMlNqRmpNazB3WWxKdU5HWlJNMk5OVEdaVk1ubEJVWE5IQ2preVpreEhXRk5NU0VoVlZuTjJjRXMyYURkc1owbG9VbVJCTUhadWVuSkpZMEpPUmxGWFMyNUdkbWd6TkhvMFkwaFpPVVJJVXpKckswNWhNelJYYVZJS2MyRk1kamxyUWpaTFZYbFhZVzFzY0V3ck5qVmhXa3BRYmtWSFVFTTJaRWxRV0RaU1JWYzNRV3BzTkZCeVMwZE9OVmxSWVU5eGQwbFJZV2RwYjNSb2FBcHhRazB2UzNWTWRFVkRhR2gxV25JMUwzaDJhelJsZFRsQ1YzRlhSMFJwVDJoQlRVOWxTMGx3SzJzNVIyTmxNbEo1T0VVeVJWWlJRVTV5YUhKYVdHaFBDbE0zS3pkakwydEtaVU0wYWxSRFRFazVhaTl6TVhKWmRUTXdWVFo2VVhWdmFYUjRUVWR2YVhGVGJHSkVia3BzY25sdGJVaHdhSFUyYldFMWFuTm1UM1lLSzBJNFkxaHlSa1ZXUXl0dVEwbGxLMVJ6VW1SWFltUlVNazlSU2xOSVNVVk1jbmRyVWxKdVRrRTNSVU5uWjBWQlltWjFiMnRJT0ZBeGNVOTRRbU4yWmdwWk4zZDZTRkU0Y0dORVlYSXZZMGhIVW5abmJEaENPVW8wWkcwdmFFdzJlRk5pTTBRelltMUhNa28zUVU5TmQzTk1Rakl3UkVWemVqVkRXRU5PVTBSc0NsRkRXRFlyZFN0dlpEZFdUWE5ETjJ4dFVHbDBRek5oY1ZWNlNESnZkbkYwV1VSb1IwRTBkMWdyZEU5b2IwSmtSR1ZwUmpJeFJVbG9jQzl4TTJORVlrb0tNMVZIZERSTE5VNXBhRFl6ZEZsUVJ6UXhUa2QxYlVGRFdETnNjemRvZVVsbVJYVlphbTFRVkhsdmRtNTBWSGRCTkdSeVZsVjZhVlo2UmtOR1YxRm9jUXBKVW10Mk5qTnVNMWhsVkZoVU5IUlNhMk5HVGpFeU5XdGpSMGQwWkVOd1Z6SnVhV05vV21ORmF6QTBXV04zT0VkVWNWSXpWMU5JU3pOWE9WUlhPRUkxQ21SQ2JtOVNlbVI1T1ZSeFdWYzVWV2hFY2s1bWVWSjJiblp3WlhvNU1FWTRURXBDTm5sNUswdENWMXAyVVdaa1JYaFFWMjVXYTB4RWFGaDZXR1p5ZVVVS04yRjFWVWgzUzBOQlVVSlhlSEJpWmpGbU1UUlBaRGhrZGtadmMyVXhVVkpHVEVjeFZVaEtTRU13VjBGTGNGSjRhMFJFVTFGU1NWZzRablpsTjNsQmNncE1hbTFsTDBONVRGRlhSblJEZW5ad2VYUmpOMjlzZDIxYWFrRXplamxWVVdWS1JqQk9VMmxYUm1aWFZHTnVhMVI2V1hSV0wyUjBZMDFsZDJkb2FuSmtDa1ZFY0dKSmVraG1OWEZrVVdoaU5EWmxjM2hNZW1KS1RscEhPVTFSUlhKRlJsbFBkbGRrYkdOWVRVWTBjV0pGTmtac05HdDZkbGg1UTJOcFpuRlhjV0lLV2tGaVoxaFFWSGhTTkRselRWZzNOSGcwZEhBNFpYRjVVa3RzTDBaMU5tOTFNVUp2ZFZkMlUxTjRTSGxLYjFaT1ZsQnZVVXhpTlZwV2ExaEhTR3RFWWdwNFZsVkZUVFF3VjNGTVREbE5aVzFRUTJwNVNFZHdNRzh2V2xWQ2NtSndaWEJWWldkdFdXOVBORWw0V1hCbmFtNXlUMHN2ZUd4T1dsRm9aSHBqWnpKRENuWjBkbmhGWVdSQmEyRkhOVFpNTWpCUWFWcEhaRE5TZDFCcWN5OWhOV0ZDUVc5SlFrRlJRMEZyYmtFd09UQm5NbVF2VUdwV2JrOVhiMVJUT1RaR1dpOEtaVk5XYmxkb01YRTFObEJ1VUVneU1qbFljM1F5V1V0clVHazJSVXBSVGxGcE5YUk1hRGRCTWxoaFVVcGhXRE5QWW5WMGJDOWpaRU5pUXpoR2NGSkhNQXBHTURoVlIyRXllamhIUTA1eVNIWTBSemRsU0hkWk1WTmxXVXhaWTNSelZsVmpkbHA1T0dkNlNuZ3JVV2R6Tm1NNWNsbHllV3RtVkRWRUwxTlZjRXMzQ25CREwwRjBVbWR5V1VwRFNYTjBSV0ZwVkVoaVF5OWpTbXd5U21sMVIyNTBWMmN5ZVdOc01ISkJaRWczYWxKSk5VOUtXSEJDU3psVGRtZ3JNR2xaZENzS2NURnZSMnBGZGpOWE5WQnJhV3cyWm1KUFdIZGtVMVpoUjFGT01VUXhkRFZtT0ZwSlVXdEZVMW9yYm1wa2FHMTJNR2RXU1V0SFlWZFJhbWhLUjNGNWJRbzNaR1JaVFc4cmQzSm9SQzg0THpodFRIQk5VR2R0WjBaMmRuWlJWVE53ZURZeWMwMVNkWGQ0ZERkb2IyOWtlRGR5YjBaWVNrYzRUMGMyZW5ZS0xTMHRMUzFGVGtRZ1VsTkJJRkJTU1ZaQlZFVWdTMFZaTFMwdExTMEsKICAgIHRva2VuOiBiZTcwZGVjMGNjNWYxYTc2NDNiMzRmMjNmNDVhOWFlNTNkNTUxMDY1OWIyZDlmZjQ4ZmIzOGViNTAyYTk3NWMzYTAwZWNmZWJiZDg3MjMxN2EyYjZkM2IyMWQ1MjhiMzdlYzAyMzc5NTQ5Y2U5NTVjYTA4NjM3YWUzMDI5NTRhNgo=\"\n \ }\n ]\n }" headers: cache-control: @@ -613,7 +879,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:17:06 GMT + - Fri, 11 Feb 2022 08:25:57 GMT expires: - '-1' pragma: @@ -647,34 +913,33 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --labels User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview response: body: string: "{\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\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"tags\": {\n \"key1\": - \"value1\"\n },\n \"nodeLabels\": {\n \"label1\": \"value1\"\n },\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n }\n }" + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": + false\n }\n }" headers: cache-control: - no-cache content-length: - - '999' + - '922' content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:20 GMT + - Fri, 11 Feb 2022 08:25:58 GMT expires: - '-1' pragma: @@ -694,9 +959,10 @@ interactions: message: OK - request: body: '{"properties": {"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": - 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": 110, "osType": - "Linux", "osSKU": "Ubuntu", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.20.7", "upgradeSettings": {}, "enableNodePublicIP": + 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", + "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.7", "upgradeSettings": {}, "powerState": {"code": "Running"}, "enableNodePublicIP": false, "nodeLabels": {"label1": "value1"}, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false}}' headers: @@ -709,42 +975,42 @@ interactions: Connection: - keep-alive Content-Length: - - '462' + - '533' Content-Type: - application/json ParameterSetName: - --resource-group --cluster-name --name --labels User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview response: body: string: "{\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\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"tags\": {\n \"key1\": - \"value1\"\n },\n \"nodeLabels\": {\n \"label1\": \"value1\"\n },\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {\n \"label1\": \"value1\"\n },\n \"mode\": + \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"upgradeSettings\": {},\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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/5cc968af-ae60-46c0-a0aa-134d06b5c5fc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/887e1b76-9756-4cac-931f-cd36201b5a96?api-version=2016-03-30 cache-control: - no-cache content-length: - - '1000' + - '995' content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:22 GMT + - Fri, 11 Feb 2022 08:25:59 GMT expires: - '-1' pragma: @@ -760,7 +1026,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1188' + - '1190' status: code: 200 message: OK @@ -778,15 +1044,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --labels User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5cc968af-ae60-46c0-a0aa-134d06b5c5fc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/887e1b76-9756-4cac-931f-cd36201b5a96?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"af68c95c-60ae-c046-a0aa-134d06b5c5fc\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-08-17T05:25:22.4966666Z\",\n \"endTime\": - \"2021-08-17T05:25:25.9739935Z\"\n }" + string: "{\n \"name\": \"761b7e88-5697-ac4c-931f-cd36201b5a96\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:26:00.5433333Z\",\n \"endTime\": + \"2022-02-11T08:26:09.0381429Z\"\n }" headers: cache-control: - no-cache @@ -795,7 +1061,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:52 GMT + - Fri, 11 Feb 2022 08:26:29 GMT expires: - '-1' pragma: @@ -827,34 +1093,34 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --labels User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview response: body: string: "{\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\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"tags\": {\n \"key1\": - \"value1\"\n },\n \"nodeLabels\": {\n \"label1\": \"value1\"\n },\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {\n \"label1\": \"value1\"\n },\n \"mode\": + \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"upgradeSettings\": {},\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '1001' + - '996' content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:52 GMT + - Fri, 11 Feb 2022 08:26:30 GMT expires: - '-1' pragma: @@ -886,34 +1152,34 @@ interactions: ParameterSetName: - --resource-group --cluster-name User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview 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\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.7\",\n \"enableNodePublicIP\": - false,\n \"nodeLabels\": {\n \"label1\": \"value1\"\n - \ },\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n - \ \"enableFIPS\": false\n }\n }\n ]\n - }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {\n \"label1\": \"value1\"\n },\n \"mode\": + \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '2029' + - '1085' content-type: - application/json date: - - Tue, 17 Aug 2021 05:21:12 GMT + - Fri, 11 Feb 2022 08:26:30 GMT expires: - '-1' pragma: @@ -945,34 +1211,34 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --labels User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview response: body: string: "{\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\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"tags\": {\n \"key1\": - \"value1\"\n },\n \"nodeLabels\": {\n \"label1\": \"value2\"\n },\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {\n \"label1\": \"value1\"\n },\n \"mode\": + \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"upgradeSettings\": {},\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '999' + - '996' content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:20 GMT + - Fri, 11 Feb 2022 08:26:31 GMT expires: - '-1' pragma: @@ -992,11 +1258,12 @@ interactions: message: OK - request: body: '{"properties": {"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": - 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": 110, "osType": - "Linux", "osSKU": "Ubuntu", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.20.7", "upgradeSettings": {}, "enableNodePublicIP": - false, "nodeLabels": {"label1": "value2"}, "enableEncryptionAtHost": false, - "enableUltraSSD": false, "enableFIPS": false}}' + 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", + "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.7", "upgradeSettings": {}, "powerState": {"code": "Running"}, "enableNodePublicIP": + false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false}}' headers: Accept: - application/json @@ -1007,42 +1274,41 @@ interactions: Connection: - keep-alive Content-Length: - - '462' + - '515' Content-Type: - application/json ParameterSetName: - --resource-group --cluster-name --name --labels User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview response: body: string: "{\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\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"tags\": {\n \"key1\": - \"value1\"\n },\n \"nodeLabels\": {\n \"label1\": \"value2\"\n },\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n }\n }" + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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/5cc968af-ae60-46c0-a0aa-134d06b5c5fc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/faf32ad7-0d36-4a59-918b-4faa64a58eae?api-version=2016-03-30 cache-control: - no-cache content-length: - - '1000' + - '947' content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:22 GMT + - Fri, 11 Feb 2022 08:26:34 GMT expires: - '-1' pragma: @@ -1058,7 +1324,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1188' + - '1196' status: code: 200 message: OK @@ -1076,15 +1342,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --labels User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5cc968af-ae60-46c0-a0aa-134d06b5c5fc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/faf32ad7-0d36-4a59-918b-4faa64a58eae?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"af68c95c-60ae-c046-a0aa-134d06b5c5fc\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-08-17T05:25:22.4966666Z\",\n \"endTime\": - \"2021-08-17T05:25:25.9739935Z\"\n }" + string: "{\n \"name\": \"d72af3fa-360d-594a-918b-4faa64a58eae\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:26:34.9433333Z\",\n \"endTime\": + \"2022-02-11T08:26:39.3796621Z\"\n }" headers: cache-control: - no-cache @@ -1093,7 +1359,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:52 GMT + - Fri, 11 Feb 2022 08:27:04 GMT expires: - '-1' pragma: @@ -1125,34 +1391,33 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --labels User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview response: body: string: "{\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\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"tags\": {\n \"key1\": - \"value1\"\n },\n \"nodeLabels\": {\n \"label1\": \"value2\"\n },\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n }\n }" + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": + {},\n \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '1001' + - '948' content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:52 GMT + - Fri, 11 Feb 2022 08:27:04 GMT expires: - '-1' pragma: @@ -1184,34 +1449,33 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview response: body: string: "{\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\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"tags\": {\n \"key1\": - \"value1\"\n },\n \"nodeLabels\": {\n \"label1\": \"value2\"\n },\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"upgradeSettings\": {},\n - \ \"enableFIPS\": false\n }\n }" + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": + {},\n \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '1001' + - '948' content-type: - application/json date: - - Tue, 17 Aug 2021 05:25:53 GMT + - Fri, 11 Feb 2022 08:27:05 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_update_taints_msi.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_update_taints_msi.yaml new file mode 100755 index 00000000000..e256bd8b687 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_update_taints_msi.yaml @@ -0,0 +1,1401 @@ +interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbvfxXhmwdpNZEa07xcUpxqHNnWAHIbHWjnVP3P+iDBf8HfgR2AxIfh1q+tb6LpRdTSN+HfvqRgWDqdX1pjmzgZ0zCrCYLexJfvd7fFQQ4PfueyVJR2ZcuvVzXnZXPjEtrV8+/jI5n87W5duyJ+vs0zzfHhyUPefrY3iSHtWTmL4AcZaRHBeRkdABHshGi3Pl9ioUXHSQWan4Np89aQJz70mFApNjkn9zJE81CPxkUxALoTlPSV18qshqhATX2H72PMW4EaVWWpme4TnHxM09pY3/lNTK7Atp1k1xAFeGbB+THoLOzcuh+N1uQh5MSLNVH++CXHiRDA/OGYkDtDak9 + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1400' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-de84bf23.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-de84bf23.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDbvfxXhmwdpNZEa07xcUpxqHNnWAHIbHWjnVP3P+iDBf8HfgR2AxIfh1q+tb6LpRdTSN+HfvqRgWDqdX1pjmzgZ0zCrCYLexJfvd7fFQQ4PfueyVJR2ZcuvVzXnZXPjEtrV8+/jI5n87W5duyJ+vs0zzfHhyUPefrY3iSHtWTmL4AcZaRHBeRkdABHshGi3Pl9ioUXHSQWan4Np89aQJz70mFApNjkn9zJE81CPxkUxALoTlPSV18qshqhATX2H72PMW4EaVWWpme4TnHxM09pY3/lNTK7Atp1k1xAFeGbB+THoLOzcuh+N1uQh5MSLNVH++CXHiRDA/OGYkDtDak9 + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2967' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:34:43 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:36: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:36: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:37: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:37: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:38: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:38: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58093a6d-8f06-47f4-83df-fa63030aeb6e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6d3a0958-068f-f447-83df-fa63030aeb6e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-03-08T06:34:43.0633333Z\",\n \"endTime\": + \"2022-03-08T06:38:55.6754186Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-de84bf23.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-de84bf23.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDbvfxXhmwdpNZEa07xcUpxqHNnWAHIbHWjnVP3P+iDBf8HfgR2AxIfh1q+tb6LpRdTSN+HfvqRgWDqdX1pjmzgZ0zCrCYLexJfvd7fFQQ4PfueyVJR2ZcuvVzXnZXPjEtrV8+/jI5n87W5duyJ+vs0zzfHhyUPefrY3iSHtWTmL4AcZaRHBeRkdABHshGi3Pl9ioUXHSQWan4Np89aQJz70mFApNjkn9zJE81CPxkUxALoTlPSV18qshqhATX2H72PMW4EaVWWpme4TnHxM09pY3/lNTK7Atp1k1xAFeGbB+THoLOzcuh+N1uQh5MSLNVH++CXHiRDA/OGYkDtDak9 + azcli_aks_live_test@example.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/177286a1-6e8f-4dbc-884d-9758136e6ca3\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3620' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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 show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.9\",\n \"currentKubernetesVersion\": \"1.21.9\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-de84bf23.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-de84bf23.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDbvfxXhmwdpNZEa07xcUpxqHNnWAHIbHWjnVP3P+iDBf8HfgR2AxIfh1q+tb6LpRdTSN+HfvqRgWDqdX1pjmzgZ0zCrCYLexJfvd7fFQQ4PfueyVJR2ZcuvVzXnZXPjEtrV8+/jI5n87W5duyJ+vs0zzfHhyUPefrY3iSHtWTmL4AcZaRHBeRkdABHshGi3Pl9ioUXHSQWan4Np89aQJz70mFApNjkn9zJE81CPxkUxALoTlPSV18qshqhATX2H72PMW4EaVWWpme4TnHxM09pY3/lNTK7Atp1k1xAFeGbB+THoLOzcuh+N1uQh5MSLNVH++CXHiRDA/OGYkDtDak9 + azcli_aks_live_test@example.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/177286a1-6e8f-4dbc-884d-9758136e6ca3\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3620' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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 get-credentials + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --file + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/listClusterUserCredential?api-version=2022-01-02-preview + response: + body: + string: "{\n \"kubeconfigs\": [\n {\n \"name\": \"clusterUser\",\n \"value\": + \"YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VVMlJFTkRRWFJEWjBGM1NVSkJaMGxSUVdaRllsSnVjakkwYzI1cVVEWlpTR3BDUkU5TWFrRk9RbWRyY1docmFVYzVkekJDUVZGelJrRkVRVTRLVFZGemQwTlJXVVJXVVZGRVJYZEthbGxVUVdkR2R6QjVUV3BCZWsxRVozZE9ha2t4VFdwb1lVZEJPSGxOUkZWNVRVUk5kMDlFUVRKTmVsVjVUMFp2ZHdwRVZFVk1UVUZyUjBFeFZVVkJlRTFEV1RKRmQyZG5TV2xOUVRCSFExTnhSMU5KWWpORVVVVkNRVkZWUVVFMFNVTkVkMEYzWjJkSlMwRnZTVU5CVVVScUNsTkpVMEYwWkVWMFUyZDNTMjlFTmk4MWNuRkZRVzlvU0RCYVVVRlBlakZvYmt3dlEwNHpkRTE1UkhZNVRDc3dlSEpYVFZOS01IaHhWSEpuZVZOeVdrb0tOMmRvT0RoU01HNHlNMlZqWTJOTFVVWlpRVGwzYXpoUVlWRkRURFY2T1RVNGNYWjZhbVpEUWxsRFFrUklRVFZIU1dWalVtOTJNMEp2YTNkdlIwMU9hQW80VmxoQldEUndhV3d6TVRWWGMyZFRTbWxUY2tOME5IWk5SbFY0VmxwQlEyZzRSMlF6WkdKRmIzUkNSWFJSYldsbmNXWlVXVUpPZDA5emNuZFlUMnRCQ2pab1ZXMXRhUzgzVEZFMlJHczRkM056WXpkSVRtbzJlbUZ6YWpOekswMTRSMFpsY25SWk1ERmFSblJRWlVzM1RWVm1UVVJXYzBkWWNuSkxNMDVNWlhNS2JGVTNOVXRUYlZjMlRFZHNLMnhoY1RCNWNuQnBNbkZTY0hJd2QwWXhhREY2UkdGTmFIcDJkekZpU0VGMlpscE1NVFZXUTBRdlZFOWpLMFpUVURKUlZncDJSME5pWVhSd2FHaFpWRGxPV1VaWWFqbEZaV2gwWkhkNVJVbGtXaTlCV2t4NGJWcFRSMFpFU0RJellYRlpSMUJKVTBaRVV6Y3JSalZWU1VKSE5sSmhDalU1UkZaMmJYTjVaMlJYUlZWUVEyRnNjVlo1VjJVMVMwRTFPSEJyZVdwUUsyVlFZbXRpTWpRcmN6azRkM1YwTldkcFUxSkJWV2xUZHpsYVJFZGxaR29LVlU5aU1IbFdaVTFhT1VaQkwyOXZVVkIxU0hwNGFVZG1OMFZXV2paWmNDdHZhM0o1UlUxS1pWVnBXR05hYTBGaVlrb3dNMHN3Yms4NWRVVlRVRWRXZGdwM1pEWjJjM2REZFdNME5XSnhRalJTSzBvMVkxVnZiakZRV0RWT1VFODVaRk4wVWpncmMwTXJORzFQVURRMldXVlZSVEJ1VFhNeGIxZG1iR2swZVZvMENuaE1NR0ZDV0M5TWQycGlXRXhGWjFkRGIxVnVUWEJNT1RKTVFqQXpOVEIyWmxoMmRsTnFOazF4VDBwUVdXbzFNMjFFYjB4U2IzUnBWa2QzWXpkamJuZ0taRlpwY1d0NmNtTkNkREZ0YXpBd1R6SlJOMkV3Y1V3M1MwcFlWV2h2TUhKUGNTdFFWVk5GYmt4UlNVUkJVVUZDYnpCSmQxRkVRVTlDWjA1V1NGRTRRZ3BCWmpoRlFrRk5RMEZ4VVhkRWQxbEVWbEl3VkVGUlNDOUNRVlYzUVhkRlFpOTZRV1JDWjA1V1NGRTBSVVpuVVZWUWVYVnRWRVYxY0dzMFRHcFVhM3BUQ25CSFZuRmhTVkZ0TkcxamQwUlJXVXBMYjFwSmFIWmpUa0ZSUlV4Q1VVRkVaMmRKUWtGSFRqYzFkMU4zUjBGaVVqZEtNMmRpSzBkWWVIaEtiekpGWW00S2VtWk1RbGhpWjJobFRWZExibk00TmxneFlVOXlPRU5zYW5aR2R5dHpaV2xqU1RCamVtcE9NelZVZDNwTGJFWk9aREF4Ykc1T2EwVXdVVXRxVGpkTWRRcHFaVVZDUzIxamRsSTNXVzF1Y21FMFpVcFhWMEptVm5SV0wwMTVVMmxvZEVFMVdEQllSMkpITXpsNFdGcGFTRWRzWkhKb1FWRkhVRGhoWmxrcmVqVnJDbGgwZG5velowY3dOalpsWVZRMVQyVmlhbGQ2WVROM2VURlFOMHByUkVOMVVISklWR1JDVTJOd2EySkxibWRHYjBsVlduUkpWMHhrWW5WUGVYbGFRaThLTkhGM1YzSkRSMGcwUWsxalNHc3liVFJIY0dKa1ZGbFBaeTlEYjI1RWVIcFlhRFV4VGpKak9WcEJOazE2V2sxRE0ydG9aVGRRV1cxd1lWVlBWVFkzZGdwS1oxQjFValZEV0hWbWVXTm1ibVZqZW5OdlUyNXRibmxSVTBsVlFVUk1SMmhtU0VoMU1tVTBNRVJFYXpFeWMxaGpSRWRHTkhocFdTOXBUMFV4ZVhSNkNqQjRSRGMxV0Vwak5FOTFaV295Ym1zeFZtSklhVGt5YjBORmRIUnNjbVF6ZUhob2FISXhaWE52VWtFMFNUUjZlVVJZYnpkUVJFdDNOMnBpVjB4NGFEZ0tNMVk1YkRkQ2JIY3hURFUzTWxOMmRtWk5WRGRPTDIxSU5WcFJkMEozWXpaYWRWaEllbE5RVVdscVkwbHFSbTVtT0U5dVVGVTFiemRCUlRWSFV6bFJlUW92VW0xTk1YRm9aMHB5YUdOTVJrazFLM0ZxZWs4eWRUUk5kSFJ2YldwSEwwNXZRU3RrVVhCNFoweDVMeXRMUW1GR2NqSkZhSEZ2TjNseVpUSlVUVE5oQ2tWMFNrWnZjVFZXVkZWTVdIQkZhMVZHTXpSRGJGY3pWVk5vYzNwS2VXVlNiRFZsVEVoMFlrVnFUVEJzUlZwWVJtWlBabkZWTTJvNE56RlFWbFp6VVhvS01HRjFjMGxNVVdVeFUwWkdVbTFoWkhCclFrbzNWazAyUTBKWGJVSlJLMnh6U1ZGeE5tazVRbGQyYlVsTVNrOVZaRGxNTmtKalkxRTFkRmQ1TlU1U2VncFNWRTQyUWpFeFlWbEtUMWROVDFFckNpMHRMUzB0UlU1RUlFTkZVbFJKUmtsRFFWUkZMUzB0TFMwSwogICAgc2VydmVyOiBodHRwczovL2NsaWFrc2Ruc2N1eHdnaDYtZGU4NGJmMjMuaGNwLndlc3R1czIuYXptazhzLmlvOjQ0MwogIG5hbWU6IGNsaWFrc3Rlc3RkMnNvajMKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGNsaWFrc3Rlc3RkMnNvajMKICAgIHVzZXI6IGNsdXN0ZXJVc2VyX2NsaXRlc3RiYzUzdHJnM2tsX2NsaWFrc3Rlc3RkMnNvajMKICBuYW1lOiBjbGlha3N0ZXN0ZDJzb2ozCmN1cnJlbnQtY29udGV4dDogY2xpYWtzdGVzdGQyc29qMwpraW5kOiBDb25maWcKcHJlZmVyZW5jZXM6IHt9CnVzZXJzOgotIG5hbWU6IGNsdXN0ZXJVc2VyX2NsaXRlc3RiYzUzdHJnM2tsX2NsaWFrc3Rlc3RkMnNvajMKICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVpJYWtORFFYZGhaMEYzU1VKQlowbFNRVWx3ZUdwRFMyVXhNRlkzTlhOc2IyTmlSME01VDNkM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYY0tSRlJGVEUxQmEwZEJNVlZGUVhoTlExa3lSWGRJYUdOT1RXcEpkMDE2UVRSTlJGbDVUbFJKTkZkb1kwNU5hbEYzVFhwQk5FMUVXWHBPVkVrMFYycEJkd3BOVW1OM1JsRlpSRlpSVVV0RmR6VjZaVmhPTUZwWE1EWmlWMFo2WkVkV2VXTjZSVlpOUWsxSFFURlZSVUY0VFUxaVYwWjZaRWRXZVZreWVIQmFWelV3Q2sxSlNVTkpha0ZPUW1kcmNXaHJhVWM1ZHpCQ1FWRkZSa0ZCVDBOQlp6aEJUVWxKUTBOblMwTkJaMFZCTUUxclNHSm5Za2hvUmxoTVNrNU9iV3M0WVdzS2NFcDVSbHBNVkVoVWJXbFJTemxQTUZNclkxbE5RWEpSYnpGWFRFOVJjbXBtTVhkbWQyb3hSbGt6WTBvMVkzQlpaR0lyVUM5RlN5OXFjREphTmpWemNBcHJjaTlCVFZGUFZuWlFjWFJ4U0VGaUwzbGpZMkVyZUhoeE5ITXhNVmgxZURKdllVdG9hMHBOWVc1NmVWcFFOa2h4V1doT1ZtbG5Ua1J2UzBwNGF5OTJDbmt6YjB4T05HOWpabmxTWm14eE9HZEpRM2xFUkZkeWJURm5kak4zT0ZwNmVqbG5kRGx0TUd0V2N6QjVXRzVNVmpCeWVUbDBhVkI0VkRZclZISldNamdLTXpoeGJXNDBaM3A0UlRJMGFtVkVZak01V1hRNGRuTnlWM2x3VW5vMlowd3laVGx5VkZZNFZDOXhTRGxpU0RVMGVqTm5SbVk1VVV0a1dXeENlRGxWVndwdk9IbG1OMko1YzJONk16bHZXbU4xTTJwRmRsQmxkVkZ4TVV0dk1qQnpjaXMwWTBsbVJYcDBhRUpvZFZVNWJscHJVMmxrVVV0TVRFdEJXbk5QV1hRMkNqUlVabUpqYVZkbldGa3ljRW8zYjAxeVYycExPV3N4Y0dGWU4xZDBjRUpsVkZSM01YVklkQ3RoZWpkSlNEZEpZV1l3TjBSSlVGUm1UMEpDT1d4Q01tWUtXR04yYlRSUVpFdFhMekpWZDJSSlJXdFNNRnBxTTBoMFlWcGFXRFpSY2xsV2EwaDZUWGhDV0hSYVYxWnJiMjlHZURNclZGZHpiRWd3UmxRd2FsZDBXQW95VG5oS05VeHdZV05UVDJGSVJtUktiR1pwS3pKNFdVTk9WVFpKUTNOMVdrNDJjRFJvVTNGcEwwbFdSREYzVW05aWQzcHdTSE5PTlZJd2JVMUtWVlpwQ2l0d1MwcDVhbWRFYTJONGNVeE1aek0yYjBwSWRIaHJka1puYlRSaFZqTjBRME4yUmpOR2RFVjJNa015VldodVVVbGFiMHcwUWpSaVNUVjJRVWh0TWtzS2QzbDZUMjV2Um0wNFNTdENlR0pRVG1ad1JsTnBVbFoxUzNCT1pEZHpLeTlKU0hNM2JUVlBZbTFOYURoR1RraHhUR0p3SzJaRldWVXhjRzl1YkdGTmNBcHpPR05EZFhnd1RIRnVhRWswYlhKdlNEVjJNR0lyVFVOQmQwVkJRV0ZPVjAxR1VYZEVaMWxFVmxJd1VFRlJTQzlDUVZGRVFXZFhaMDFDVFVkQk1WVmtDa3BSVVUxTlFXOUhRME56UjBGUlZVWkNkMDFEVFVGM1IwRXhWV1JGZDBWQ0wzZFJRMDFCUVhkSWQxbEVWbEl3YWtKQ1ozZEdiMEZWVUhsMWJWUkZkWEFLYXpSTWFsUnJlbE53UjFaeFlVbFJiVFJ0WTNkRVVWbEtTMjlhU1doMlkwNUJVVVZNUWxGQlJHZG5TVUpCUkdWYWFHNXhLMlpoU0hVd1R6Tm1NRXc1V1FweU55OU1PSEpFUlZkb1VtYzJjbGwyWVV0dlZUTlBjVVJpUnpZeVZUSm1MM0lyYjJaRlRXeEpXamhOY0RWTWNpOTBVWEpHTlZaaWQwaHVPWE5wUkRCVENsWnhTM2R4U0RnMVZXZFVNRlZIWlRFd1ZqQjNTMVZ2S3poeVFVaDFlbXRwVFdJeE9TdFJibFYzVmtwMWNFTlFUSEZITmtsWFdGVkdaMXBTVTFWUFJXNEtaRmxPUVcwNFRqWTRUa2hLVjJkM0t6Z3hOMUZ5VGxnNVZHY3hNMkVyYzB3NFJtcE9WMll6VVdoSFJIRXZUMnRJYlRZeGRVVkJTbUZSVDBkaWJGbFhTd3BKZW5wNFdUWnpZWFpXY1ZONlUyaFBhMmRtYTFWeWJrbEpaWGw2VTBOSlpVMXRkMHBhZFVvMGVWaHpWemx1VURrelFtTlpTMVp4U1ZGVk1IbFhlSEZxQ21OTllXNDFURFJyVjFCamNrNUpWRVZHVjFsRmRIQjVVbTk1TW01M00wRXdaRmhsUWtWVmVEZFBlRnBOTnpKTWNWUm1jVVpLVW1kbmJsRkVMeTlVY25RS2VHMU5OeTlhVUROT1lrSmFNMkV3ZGxBeVRHRnVPVXBHVDFadVluZERUbFp6V25KTFkxZGlkVlJHUVRSU1NHMXRjbHBTVFZGR1kzRlhXWFJWT1RGRVZRcFNXR3RoYTNKTlFsWTFWWGMzV21SV1JsUmxhRmRYU0dwQ1ltSklaMG94VFd4bUwyTlVNR3BQVGxwNGVHUmlTa0Z2VTNCSVpEaE5jRzlFTTBsdVIzbEZDbFpwZGk4cmJteG1UblYyY0ZZNGFuQkxhRzlEU3pCV1JuSXZNalZ2ZFdwTlQzaDFhMFpQYWtGWVVHMHlRVTlVV2tkb0wxbHpWVVU1WXpoSU9YWktPSGNLT1hGUWJWWk5jWGhCYWxkQmREWTNibkpUYkZweFVFWTJLMUpwUW1oeVF6UjFTekpNYUhwWVFsUTVNWHBLUXpCRVNIUlRXSEl2TlM5a01WQXpUbWRrZVFwbFJsbHNPVWRPTTFsbFJFOW1SREY1VVZWT1QyNUZUVlEzTkZkeU9HTndSSGwxY1dabU5VUktRMkpTZVRodmFteE9SeTlOZFdaa1kzZEpia0pZVTJsNkNsTTFPRGt3TUdnclNVUndPVGxrZUdocWVsSm5PRzVrYmdvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PQogICAgY2xpZW50LWtleS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJTVTBFZ1VGSkpWa0ZVUlNCTFJWa3RMUzB0TFFwTlNVbEtTMmRKUWtGQlMwTkJaMFZCTUUxclNHSm5Za2hvUmxoTVNrNU9iV3M0WVd0d1NubEdXa3hVU0ZSdGFWRkxPVTh3VXl0aldVMUJjbEZ2TVZkTUNrOVJjbXBtTVhkbWQyb3hSbGt6WTBvMVkzQlpaR0lyVUM5RlN5OXFjREphTmpWemNHdHlMMEZOVVU5V2RsQnhkSEZJUVdJdmVXTmpZU3Q0ZUhFMGN6RUtNVmgxZURKdllVdG9hMHBOWVc1NmVWcFFOa2h4V1doT1ZtbG5Ua1J2UzBwNGF5OTJlVE52VEU0MGIyTm1lVkptYkhFNFowbERlVVJFVjNKdE1XZDJNd3AzT0ZwNmVqbG5kRGx0TUd0V2N6QjVXRzVNVmpCeWVUbDBhVkI0VkRZclZISldNamd6T0hGdGJqUm5lbmhGTWpScVpVUmlNemxaZERoMmMzSlhlWEJTQ25vMlowd3laVGx5VkZZNFZDOXhTRGxpU0RVMGVqTm5SbVk1VVV0a1dXeENlRGxWVjI4NGVXWTNZbmx6WTNvek9XOWFZM1V6YWtWMlVHVjFVWEV4UzI4S01qQnpjaXMwWTBsbVJYcDBhRUpvZFZVNWJscHJVMmxrVVV0TVRFdEJXbk5QV1hRMk5GUm1ZbU5wVjJkWVdUSndTamR2VFhKWGFrczVhekZ3WVZnM1Z3cDBjRUpsVkZSM01YVklkQ3RoZWpkSlNEZEpZV1l3TjBSSlVGUm1UMEpDT1d4Q01tWllZM1p0TkZCa1MxY3ZNbFYzWkVsRmExSXdXbW96U0hSaFdscFlDalpSY2xsV2EwaDZUWGhDV0hSYVYxWnJiMjlHZURNclZGZHpiRWd3UmxRd2FsZDBXREpPZUVvMVRIQmhZMU5QWVVoR1pFcHNabWtyTW5oWlEwNVZOa2tLUTNOMVdrNDJjRFJvVTNGcEwwbFdSREYzVW05aWQzcHdTSE5PTlZJd2JVMUtWVlpwSzNCTFNubHFaMFJyWTNoeFRFeG5Nelp2U2toMGVHdDJSbWR0TkFwaFZqTjBRME4yUmpOR2RFVjJNa015VldodVVVbGFiMHcwUWpSaVNUVjJRVWh0TWt0M2VYcFBibTlHYlRoSkswSjRZbEJPWm5CR1UybFNWblZMY0U1a0NqZHpLeTlKU0hNM2JUVlBZbTFOYURoR1RraHhUR0p3SzJaRldWVXhjRzl1YkdGTmNITTRZME4xZURCTWNXNW9TVFJ0Y205SU5YWXdZaXROUTBGM1JVRUtRVkZMUTBGblJVRjZXVUY0UjJaRUsxUkthMDVZUnk5bWJGUkNLMDloTHprNVFVOXFPRTQ0YlcxS2VrWTFOMlpOY2s5NldVMTNkM1F2Y2xacEszRmhOQXBqTnpGUVNWQnRNeXRxTDFOR1owODFUM3BwVUhneFdVVm1SWGsyTDAxQ1ZEaFhjSFkxYUZKMUwxVXhjbTlTWW1vclN6UXZjUzlPV0hnMGNqWnZabUYyQ2xCcWNtWmpRMnRRYUV0NWNUVjNiRXcxWWs5RFRtNW1lVWRCYm5sSmNuTTNZM2t3ZW04d2EzWTVUMkp0Ym1kU2VEaGlSRFZEUmtjM1Uza3hORXhIYmtJS2R6Y3piR1ZNU2poRk1EZEJaVFkxWlhCSWNEUlBSa01yT0VoT1JsSndhakp5UTNWd2JVWjRVR1pSWVVsS1MyUjRhbkZ1SzBsTWRHdDZlRzByYjBsSWVBcG5ZbEpHZGl0dE9YZFNOSGt4ZWtwNFdqQktWVVZUUWt0aFQwTnhZV2R6YzJ4NGJWRlBPVmxYV1ZGcGJtcDJaVzFaYWtsTmMxUlRjRVY2TDBsVFRXa3JDbG95Y0c5c1p6VmtLMXBoUW1WVmEyRnFkRmwwVmtoWlRqZEJORWh2VVV4V015dGpValV5VUZJeVNVVkVTMHd4YUVWVWJUaFhTRXBJWlZCWFN5OHlhbFlLZUU1b1ZHUXpaVloyUjAxWWMyMUViekpoVmxkeVdVZGxVSEZMYldwcllubDBlRzkyU0RoSFpGbE5SMnhtZEdGVVFVRm5ValYwZUVWNlUyNVFWR2RHWXdwbFVHdFNOMFZSYlU5RFYwaDZSMFYzU1N0RVRYUnZibVZWUm10VmJUVkRla1pLVWtkV01Fa3pWekpCUWpSR2NVaGxPRmwyVlZkcFVWUnVNakpLWkdkSUNtVkdjQ3RYZVM5VWJYQlZUakU1YUVaNWVsbE1hbFptWkZseVZYbDNVRTlTUVZKelJWWXZVbWRwT0dkM1lrdHhZV1l6UzIxcFRqWm1XSEU1ZEZNeWFuRUtNVkV6VFZSMU1GVnlNRE5CTWpWRVUwVjNjMEpTVkZrd1drWlBkRVpQVTJ4aGVEaFJTek5ZVlhCSE4wdDNSME1yYnpkUlNIcE9lREY2V21SUUswOTJZZ3BMVURoNU1EWlNjMVI0T0ZJNVNFUjRjemM0V1doNGFtYzFUa0ZWTVdGQmF6TTBMMEpOTTBjM2RUZHJiV0ZaVGtOaFlVVkRaMmRGUWtGUGVUWXJXRzFuQ25wS1IzUmhOQzlITTBwRVJVUlliekZFYjFSa2VVVlRUblZGZWt4dVVpdHVPRmt4ZUhKSGVUWnVjREJOWm14M1lVNXRSR3huWjNSd01qaGlPV1JVY0d3S0wyaExhVlprVjJRM2JUa3lSbUpOYmtsVlNYaFZUMHh2YVdOUVJFWlhiMmc0ZDJaalozSlNaa1pLVlc0MGNtMU5VMjgyV0VOTE5ISTRSVGN2VWpaT2RBcHdUVGRWTjFKb1kwcHJja3BJZWs5cmVtWmhRVzV2VFdzeVRtcE9ZMVo0ZDFOdFZEVkVjbUlyVG1aclZ6QnhVMlJQYmxodU9GWlhiMDU0VEVvNE5tMTRDa3N6YkZKVFZYRTFhak5ZVTFsR1p6ZzNNa2d4YUUxUmQxUm1ZVTFvU2xweWJWZFlaSEJvWlhKWUt6TlBibFpNYWpWU2ExRldhSEZhZWtsNFVYVmhZbFFLU0VRME0wUkpjVGNyZGpjMVltMXdUbHBCY1hSYU1uRmthWGROTTJSTE9DOUNSRFkwWjJsMFJrWjVOMWhCTHk5MWNrSTRkVVExUzJkeVVrYzFTUzlZVlFvd1FUTjFURTExYlhKT1dYUjZNbXREWjJkRlFrRlBTRWgxZFU0ME9VODFhbnB3UmpGVlJFaG5ia0l2VFRsek5WSllkVkJSVEd3M2NtdEpjell4TjJsaENtVjNUM3BxSzNkblltSkhOMGhSYkZoaFlYWkZTbEJ6VXpKR2MwTlZTR2RhVFRaVGRtUjZhVFZRVEVsVVVWSmlZVlJqV1U1blF6VTRLMGxzV1hVck9FVUtRbmxyUVVkeWExbG1lV3hqUTJ0VVpHOW1kSFprTjI5TFFXUTRVRWQwVVV0dmVHVnhUblJ5YzNvMk5WcENhVVZEVm5OWWEySkNhbkZpUlc4dlJtc3did3BuWmpOa2RsQktSbkpPYnpOSFkxcFNORUl2ZGxGSmFDOUZNVVJFVWxoM0x6bHVkSE5OVW5sNmFIVnRVR3hKY1RVeFRsZENUaTlFYTB0NGNVTmpSMHhVQ21GdWIweEJUSGhMVFhaNVNsaHlhbEE0ZW1SNU9GRlJkM1J2TTFCeVNrNXJhM1ZsTTFrNGNqa3ZZVWRvUkdOTlEyZDZUV2t6YldWclRDczFaa0kwTVVRS2RFdFJSbVJOVUZoYVIxWm1hRkYyTURJMWJURlRVazVXWlRCd055OHljRXBSWmt3MFNWSXlVRFV5YzBOblowVkJUVk13VDBWbVVWUlRkR1pLYkdzMWNncEdlU3RETVZSWlkxWkJSakpVY21SYU5UWnZUV00zTUVKamNUWkJZMUF5TjFsVmFIUklNV3BoYm5ad1Qwd3lla2xIVDJkb05rRlhlalU0T0U1SldtcDZDa3BRYUZWMllXbE9VV2xFV1dWeGNIWnZPV3B6Ynl0V01XaE9ZVXd5UldoQlJVWlFLM2g1YVdKbVJUbHViMFJpUldKelUyTTNlR2RvZFdzeVJrTjVRbkFLVnk5UE0zQmFWRUZ5Ulc4dmJ6SkxUMGxWZEdOR2VWaEZZbTlHUjFNd1JUTnRVWHBwY1ZGME5GUXpTR3hOYWxGR1lrMVFReXREWTNweWNtNTVSR0pJU3dwWFYwWm5XR3BSWVZScVJXZGhWbXBZWlZSWWNtWlJkbEpET1Zsc1dVcHNZa1JvTVhwc1VIQXJXblI0TnpWdU5qUm1VbFoyTWpOWVZGVnBSa0pYTjJnNUNrSlhXblpTTW01WlRrWmxaRTluY1UxRVFtdEVRbXA1UXpsNmVVRXpaR2N5V0hGaFVEQkRVMWRaVFhaRGRFZFViMVIwZHpBeWFWcG9TMlZQYlV4dkwzSUtTek55VFhOUlMwTkJVVVZCY1ZseWRrNTZUekJWV0U1WVVXWnNha2xEUlRObE9WaFNSemR6VlRBeVQxZ3ZjVlpNTlVwR2NWQnVRMkZ2V0haelVHNWtXQXBwUW1kdVVrMVhSVlF6ZVRVdlIxQTFXR1JaVDBWVVJucHBNVFZNTWpabFYwRlhOMlFyVFdkNmEwNDNRV1UyYUZOb1pXcENUREJ1UzBOeGNrOWFiVWxVQ2pCNk5GQmFRV3NyVVhVMVFXSk5OVzhyTVZJdldTc3dZemRZT1daTksxTlRVell3UlVscVRqaGlOWGRKTlVkcVkzRnhRbGhKWkdWcFZHSXhPWHBxZDNVS1FXRjBVWGx3UkdaRFdIZEROMHg2YjBJd1UzSlpRazB3UW5ocFIyaE1VRE5SYkc5VlVrWjNjR2syTkN0RlRVWXhPRXhGTUhKaVJuVnBibXBMY3pWdVVRcFZZbnBwUTFWMk1uRndVRUZyZEVneGN5dFlXVUpPUzBsVmEwcDJVMHBoVlV0Q1VXeHViVTgzYlN0SE5rOTJLMkpGY0dZdmRISXJOVE5XVmxCcGJWTnlDazlyYVZKUmVHODJPRmREYkc5RlVWaHJhVmx6T1ZkYVVHaExSalZXU21GclVYZExRMEZSUlVGekwyODBiVFUxYUZseFdtZHlkMVZpUTI5c09VdEJSazRLUTJObFRXcEZhMnMyYlRCSUx6UjFTV2RuZVZOTmVtY3JaRmQwTUVwQ2JWaEdTaXRGTjFoeVF6Rm9ZMGcyWVhGQ1duSXhOekpHY1hKVVdHbGFhMWhFVUFwUVUwOUVjMDVTTUdkc2JHeE5aRmx0TkdwRVdqZHllV0ZQTVRBd1lubDBhVlZEZHpaMlpYWm9hazlwTjJJME5XMXZLMkV4Ykd4NE5GYzFVMUJKZVhkekNuZzFUVkZXU1hoalJsVkJZbkZzTkM5QlUxVlFPVkJxUlVOWFJGRTNaRTl1T0hSUFYzWk1aM1FyUkU5dVdVaGhkMUI0YlRocmFXRnFjRTVQT1ZSbGVGb0tabU16YUhCSE5FVnZiMXBsY21WVWVIWklaRkJvWmtZdmRFSkRWakpoYm5CTVMwZDZka3BoZUd0ck5IcDZORk54WkZScVdpOTZNM0pPUjJsb01qbDBhUXBTVTBodVJHY3JiRGwzT1VSWGJtbEZSbTlrTUhSR1dXVnBVMlZKYlRreVJXNTFTR0Y0ZUhCbFF6aDZWVkUxV1RSbUwxY3hla0ZSY0VGeVVYcEVRVDA5Q2kwdExTMHRSVTVFSUZKVFFTQlFVa2xXUVZSRklFdEZXUzB0TFMwdENnPT0KICAgIHRva2VuOiBjYTI3ZjZjNGVjN2RiMDBkY2Q4ODViNDA1YmMzMDRjNGZjMGFhN2VlNWExYjZjODIzZGM2YTZkYWUwNTQyOThhZDA2OWZhYzhjNTc0YzFmZjJhM2MwOGYyNDAxZjQzYzY5N2JjNGU2NWJlYzE2NmRkNzQ3MGE3MGI4NTJjZjBiOQo=\"\n + \ }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '13084' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-taints + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview + response: + body: + string: "{\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"enableFIPS\": + false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '922' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": + 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", + "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.9", "upgradeSettings": {}, "powerState": {"code": "Running"}, "enableNodePublicIP": + false, "nodeTaints": ["key1=value1:PreferNoSchedule"], "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool update + Connection: + - keep-alive + Content-Length: + - '545' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --node-taints + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview + response: + body: + string: "{\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"key1=value1:PreferNoSchedule\"\n ],\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\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/db303ec6-ca1e-464b-a088-81d664edc9ca?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '1007' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-taints + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db303ec6-ca1e-464b-a088-81d664edc9ca?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"c63e30db-1eca-4b46-a088-81d664edc9ca\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-03-08T06:39:18.0666666Z\",\n \"endTime\": + \"2022-03-08T06:39:24.6457653Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-taints + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview + response: + body: + string: "{\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"key1=value1:PreferNoSchedule\"\n ],\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '1008' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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 nodepool list + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"key1=value1:PreferNoSchedule\"\n ],\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '1097' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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 update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-taints + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview + response: + body: + string: "{\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"key1=value1:PreferNoSchedule\"\n ],\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '1008' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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: '{"properties": {"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": + 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", + "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, + "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.9", "upgradeSettings": {}, "powerState": {"code": "Running"}, "enableNodePublicIP": + false, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool update + Connection: + - keep-alive + Content-Length: + - '515' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --node-taints + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview + response: + body: + string: "{\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.02.19\",\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/a458c7dc-2811-400b-a22c-10c39bf5c1a4?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '947' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:39: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-taints + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a458c7dc-2811-400b-a22c-10c39bf5c1a4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"dcc758a4-1128-0b40-a22c-10c39bf5c1a4\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-03-08T06:39:52.07Z\",\n \"endTime\": + \"2022-03-08T06:40:00.9791966Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:40: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-taints + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview + response: + body: + string: "{\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"upgradeSettings\": + {},\n \"enableFIPS\": false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '948' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:40: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 show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name -o + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1?api-version=2022-01-02-preview + response: + body: + string: "{\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.02.19\",\n \"upgradeSettings\": + {},\n \"enableFIPS\": false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '948' + content-type: + - application/json + date: + - Tue, 08 Mar 2022 06:40: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 delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b49a06fe-63be-420d-b790-5ad7dc34867c?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 08 Mar 2022 06:40:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b49a06fe-63be-420d-b790-5ad7dc34867c?api-version=2016-03-30 + 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_pod_identity_usage.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_pod_identity_usage.yaml new file mode 100644 index 00000000000..12716356fdb --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_pod_identity_usage.yaml @@ -0,0 +1,2086 @@ +interactions: +- 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: + - --resource-group --name --location + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003?api-version=2015-08-31-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003","name":"id000003","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=511a2fcf-d950-4904-bd3d-067ad86ac760&aid=a78fc400-d26d-42f4-bba1-ec8af9b8108d"}}' + headers: + cache-control: + - no-cache + content-length: + - '780' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:14:01 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 201 + message: Created +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest7f34666pf-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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"}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1824' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"podIdentityProfile\": {\n \"enabled\": + true,\n \"allowNetworkPluginKubenet\": true\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f4f81d43-cfc5-4052-bba1-ac75a85d9077?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3328' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:14:06 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: + - '1197' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f4f81d43-cfc5-4052-bba1-ac75a85d9077?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"431df8f4-c5cf-5240-bba1-ac75a85d9077\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:14:06.1Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f4f81d43-cfc5-4052-bba1-ac75a85d9077?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"431df8f4-c5cf-5240-bba1-ac75a85d9077\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:14:06.1Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f4f81d43-cfc5-4052-bba1-ac75a85d9077?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"431df8f4-c5cf-5240-bba1-ac75a85d9077\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:14:06.1Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:15: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f4f81d43-cfc5-4052-bba1-ac75a85d9077?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"431df8f4-c5cf-5240-bba1-ac75a85d9077\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:14:06.1Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16:07 GMT + expires: + - '-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f4f81d43-cfc5-4052-bba1-ac75a85d9077?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"431df8f4-c5cf-5240-bba1-ac75a85d9077\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:14:06.1Z\",\n \"endTime\": + \"2021-12-01T14:16:12.4566672Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --enable-pod-identity + --enable-pod-identity-with-kubenet --ssh-key-value + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\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: + - '3991' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\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: + - '3991' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:16: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003?api-version=2015-08-31-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003","name":"id000003","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=511a2fcf-d950-4904-bd3d-067ad86ac760&aid=a78fc400-d26d-42f4-bba1-ec8af9b8108d"}}' + headers: + cache-control: + - no-cache + content-length: + - '780' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: GET + 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%20and%20assignedTo%28%27210a2e8c-7ba3-441b-823c-41f4af3b4f76%27%29&api-version=2020-04-01-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:16: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.managedidentity/userassignedidentities/id000003/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Managed%20Identity%20Operator%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Managed Identity Operator","type":"BuiltInRole","description":"Read + and Assign User Assigned Identity","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.ManagedIdentity/userAssignedIdentities/*/read","Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action","Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Resources/deployments/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2017-12-14T19:52:04.3924594Z","updatedOn":"2021-11-11T20:13:38.9523759Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830","type":"Microsoft.Authorization/roleDefinitions","name":"f1a07417-d97a-45cb-824c-7a7467783830"}]}' + headers: + cache-control: + - no-cache + content-length: + - '918' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:16: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/f1a07417-d97a-45cb-824c-7a7467783830", + "principalId":"00000000-0000-0000-0000-000000000001"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.managedidentity/userassignedidentities/id000003/providers/Microsoft.Authorization/roleAssignments/7285e94f-509a-42c1-8dd9-2567bc02528f?api-version=2020-04-01-preview + response: + body: + string: '{"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-12-01T14:16:41.0518865Z","updatedOn":"2021-12-01T14:16:41.3019380Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.managedidentity/userassignedidentities/id000003/providers/Microsoft.Authorization/roleAssignments/7285e94f-509a-42c1-8dd9-2567bc02528f","type":"Microsoft.Authorization/roleAssignments","name":"7285e94f-509a-42c1-8dd9-2567bc02528f"}' + headers: + cache-control: + - no-cache + content-length: + - '1021' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:16:42 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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitest7f34666pf-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": + [{"name": "test-name", "namespace": "test-namespace", "identity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}], + "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/4e886f40-84df-44a7-a9cf-8e5c275db3f2"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + Content-Length: + - '3204' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"userAssignedIdentities\": [\n {\n \"name\": \"test-name\",\n + \ \"namespace\": \"test-namespace\",\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"provisioningState\": \"Updating\"\n }\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e8f050a1-b82f-436f-9af7-36c50bc538ec?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4465' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e8f050a1-b82f-436f-9af7-36c50bc538ec?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a150f0e8-2fb8-6f43-9af7-36c50bc538ec\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:17:16.4933333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:17: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e8f050a1-b82f-436f-9af7-36c50bc538ec?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"a150f0e8-2fb8-6f43-9af7-36c50bc538ec\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:17:16.4933333Z\",\n \"endTime\": + \"2021-12-01T14:18:15.3841014Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"userAssignedIdentities\": [\n {\n \"name\": \"test-name\",\n + \ \"namespace\": \"test-namespace\",\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"provisioningState\": \"Assigned\"\n }\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: + - '4467' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18: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 pod-identity delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"userAssignedIdentities\": [\n {\n \"name\": \"test-name\",\n + \ \"namespace\": \"test-namespace\",\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"provisioningState\": \"Assigned\"\n }\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: + - '4467' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitest7f34666pf-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity delete + Connection: + - keep-alive + Content-Length: + - '2866' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"userAssignedIdentities\": [\n {\n \"name\": \"test-name\",\n + \ \"namespace\": \"test-namespace\",\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"provisioningState\": \"Deleting\"\n }\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8ee9c18a-a3df-4467-86e9-06114a5fd862?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4465' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:18: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8ee9c18a-a3df-4467-86e9-06114a5fd862?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8ac1e98e-dfa3-6744-86e9-06114a5fd862\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:18:21.6833333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8ee9c18a-a3df-4467-86e9-06114a5fd862?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8ac1e98e-dfa3-6744-86e9-06114a5fd862\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:18:21.6833333Z\",\n \"endTime\": + \"2021-12-01T14:19:20.7131184Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity delete + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\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: + - '3991' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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 pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + --binding-selector + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 },\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: + - '3991' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14: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 +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + --binding-selector + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-msi/0.2.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003?api-version=2015-08-31-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003","name":"id000003","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"00000000-0000-0000-0000-000000000001","clientId":"00000000-0000-0000-0000-000000000001","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=511a2fcf-d950-4904-bd3d-067ad86ac760&aid=a78fc400-d26d-42f4-bba1-ec8af9b8108d"}}' + headers: + cache-control: + - no-cache + content-length: + - '780' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:19: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + --binding-selector + User-Agent: + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 + accept-language: + - en-US + method: GET + 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%20and%20assignedTo%28%27210a2e8c-7ba3-441b-823c-41f4af3b4f76%27%29&api-version=2020-04-01-preview + response: + body: + string: '{"value":[{"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-12-01T14:16:41.5832333Z","updatedOn":"2021-12-01T14:16:41.5832333Z","createdBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.managedidentity/userassignedidentities/id000003/providers/Microsoft.Authorization/roleAssignments/7285e94f-509a-42c1-8dd9-2567bc02528f","type":"Microsoft.Authorization/roleAssignments","name":"7285e94f-509a-42c1-8dd9-2567bc02528f"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 01 Dec 2021 14:19: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 + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-clitest7f34666pf-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": + [{"name": "test-name-binding-selector", "namespace": "test-namespace-binding-selector", + "bindingSelector": "binding_test", "identity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}], + "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/4e886f40-84df-44a7-a9cf-8e5c275db3f2"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + Content-Length: + - '3273' + Content-Type: + - application/json + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + --binding-selector + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"userAssignedIdentities\": [\n {\n \"name\": \"test-name-binding-selector\",\n + \ \"namespace\": \"test-namespace-binding-selector\",\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"bindingSelector\": \"binding_test\",\n \"provisioningState\": + \"Updating\"\n }\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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/67eaa28a-8d8c-43a9-b2d4-505b4b8d368c?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4540' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + --binding-selector + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/67eaa28a-8d8c-43a9-b2d4-505b4b8d368c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8aa2ea67-8c8d-a943-b2d4-505b4b8d368c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:27.97Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:19: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + --binding-selector + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/67eaa28a-8d8c-43a9-b2d4-505b4b8d368c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8aa2ea67-8c8d-a943-b2d4-505b4b8d368c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:19:27.97Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + --binding-selector + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/67eaa28a-8d8c-43a9-b2d4-505b4b8d368c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"8aa2ea67-8c8d-a943-b2d4-505b4b8d368c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:19:27.97Z\",\n \"endTime\": + \"2021-12-01T14:20:43.926Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '161' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity add + Connection: + - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --identity-resource-id + --binding-selector + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest7f34666pf-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest7f34666pf-8ecadf-3ceb2493.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.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/4e886f40-84df-44a7-a9cf-8e5c275db3f2\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"userAssignedIdentities\": [\n {\n \"name\": \"test-name-binding-selector\",\n + \ \"namespace\": \"test-namespace-binding-selector\",\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"bindingSelector\": \"binding_test\",\n \"provisioningState\": + \"Assigned\"\n }\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: + - '4542' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:20: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes --no-wait + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/58b4da42-cd23-4e47-927d-766f25b76a6b?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Wed, 01 Dec 2021 14:21:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/58b4da42-cd23-4e47-927d-766f25b76a6b?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14996' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_snapshot.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_snapshot.yaml index 080905ed34e..e08a5bc4025 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_snapshot.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_snapshot.yaml @@ -13,63 +13,58 @@ interactions: ParameterSetName: - -l --query User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators?api-version=2019-04-01&resource-type=managedClusters response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators\"\ - ,\n \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\"\ - ,\n \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\"\ - : \"Kubernetes\",\n \"orchestratorVersion\": \"1.19.11\",\n \"upgrades\"\ - : [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.19.13\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ - ,\n \"orchestratorVersion\": \"1.20.7\"\n },\n {\n \"\ - orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.9\"\ - \n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ - ,\n \"orchestratorVersion\": \"1.19.13\",\n \"upgrades\": [\n \ - \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.20.7\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ - ,\n \"orchestratorVersion\": \"1.20.9\"\n }\n ]\n },\n \ - \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.20.7\",\n \"upgrades\": [\n {\n \"orchestratorType\"\ - : \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.9\"\n },\n\ - \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.21.1\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ - ,\n \"orchestratorVersion\": \"1.21.2\"\n }\n ]\n },\n \ - \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.20.9\",\n \"default\": true,\n \"upgrades\": [\n {\n \ - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.21.1\"\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ - ,\n \"orchestratorVersion\": \"1.21.2\"\n }\n ]\n },\n \ - \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.21.1\",\n \"upgrades\": [\n {\n \"orchestratorType\"\ - : \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.2\"\n },\n\ - \ {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.22.1\",\n \"isPreview\": true\n },\n {\n \"orchestratorType\"\ - : \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.2\",\n \"\ - isPreview\": true\n }\n ]\n },\n {\n \"orchestratorType\"\ - : \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.2\",\n \"upgrades\"\ - : [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\"\ - : \"1.22.1\",\n \"isPreview\": true\n },\n {\n \"orchestratorType\"\ - : \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.2\",\n \"\ - isPreview\": true\n }\n ]\n },\n {\n \"orchestratorType\"\ - : \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.1\",\n \"isPreview\"\ - : true,\n \"upgrades\": [\n {\n \"orchestratorType\": \"Kubernetes\"\ - ,\n \"orchestratorVersion\": \"1.22.2\",\n \"isPreview\": true\n\ - \ }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\"\ - ,\n \"orchestratorVersion\": \"1.22.2\",\n \"isPreview\": true\n \ - \ }\n ]\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators\",\n + \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\",\n + \ \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.19.11\",\n \"upgrades\": + [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.19.13\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.20.9\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.13\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.19.13\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.9\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.13\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.20.9\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.13\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.21.2\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.7\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.20.13\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.2\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.7\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.21.2\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.7\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.2\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.4\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.7\",\n \"default\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.2\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.4\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.2\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.4\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.4\"\n }\n ]\n }\n }" headers: cache-control: - no-cache content-length: - - '2918' + - '2744' content-type: - application/json date: - - Mon, 29 Nov 2021 18:42:30 GMT + - Fri, 11 Feb 2022 08:13:30 GMT expires: - '-1' pragma: @@ -89,18 +84,18 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestsegttlgnk-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestljwqhn6jq-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000004"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.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"}, - "disableLocalAccounts": false}}' + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -111,64 +106,65 @@ interactions: Connection: - keep-alive Content-Length: - - '1745' + - '1417' Content-Type: - application/json ParameterSetName: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestsegttlgnk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsegttlgnk-8ecadf-8d1e9adf.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestsegttlgnk-8ecadf-8d1e9adf.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n\ - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ - ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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 \"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 }" + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljwqhn6jq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljwqhn6jq-8ecadf-af5a38d7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljwqhn6jq-8ecadf-af5a38d7.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/1dfd6abe-aefe-4d90-9bfd-d9c3e56371bb?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3100' + - '3022' content-type: - application/json date: - - Mon, 29 Nov 2021 18:42:35 GMT + - Fri, 11 Feb 2022 08:13:33 GMT expires: - '-1' pragma: @@ -180,7 +176,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -199,14 +195,112 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:14: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1dfd6abe-aefe-4d90-9bfd-d9c3e56371bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be6afd1d-feae-904d-9bfd-d9c3e56371bb\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:42:34.8866666Z\"\n }" + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\"\n }" headers: cache-control: - no-cache @@ -215,7 +309,7 @@ interactions: content-type: - application/json date: - - Mon, 29 Nov 2021 18:43:05 GMT + - Fri, 11 Feb 2022 08:15:04 GMT expires: - '-1' pragma: @@ -248,14 +342,14 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1dfd6abe-aefe-4d90-9bfd-d9c3e56371bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be6afd1d-feae-904d-9bfd-d9c3e56371bb\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:42:34.8866666Z\"\n }" + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\"\n }" headers: cache-control: - no-cache @@ -264,7 +358,7 @@ interactions: content-type: - application/json date: - - Mon, 29 Nov 2021 18:43:34 GMT + - Fri, 11 Feb 2022 08:15:34 GMT expires: - '-1' pragma: @@ -297,14 +391,14 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1dfd6abe-aefe-4d90-9bfd-d9c3e56371bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be6afd1d-feae-904d-9bfd-d9c3e56371bb\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:42:34.8866666Z\"\n }" + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\"\n }" headers: cache-control: - no-cache @@ -313,7 +407,7 @@ interactions: content-type: - application/json date: - - Mon, 29 Nov 2021 18:44:05 GMT + - Fri, 11 Feb 2022 08:16:04 GMT expires: - '-1' pragma: @@ -346,14 +440,14 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1dfd6abe-aefe-4d90-9bfd-d9c3e56371bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be6afd1d-feae-904d-9bfd-d9c3e56371bb\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:42:34.8866666Z\"\n }" + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\"\n }" headers: cache-control: - no-cache @@ -362,7 +456,7 @@ interactions: content-type: - application/json date: - - Mon, 29 Nov 2021 18:44:35 GMT + - Fri, 11 Feb 2022 08:16:34 GMT expires: - '-1' pragma: @@ -395,14 +489,14 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1dfd6abe-aefe-4d90-9bfd-d9c3e56371bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be6afd1d-feae-904d-9bfd-d9c3e56371bb\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:42:34.8866666Z\"\n }" + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\"\n }" headers: cache-control: - no-cache @@ -411,7 +505,7 @@ interactions: content-type: - application/json date: - - Mon, 29 Nov 2021 18:45:05 GMT + - Fri, 11 Feb 2022 08:17:04 GMT expires: - '-1' pragma: @@ -444,15 +538,64 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1dfd6abe-aefe-4d90-9bfd-d9c3e56371bb?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be6afd1d-feae-904d-9bfd-d9c3e56371bb\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-11-29T18:42:34.8866666Z\",\n \"\ - endTime\": \"2021-11-29T18:45:19.9750152Z\"\n }" + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:17: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --nodepool-name --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f375a36-78e8-4de0-bf5d-27db0eebeff4?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"365a370f-e878-e04d-bf5d-27db0eebeff4\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:13:34.0966666Z\",\n \"endTime\": + \"2022-02-11T08:17:35.7723747Z\"\n }" headers: cache-control: - no-cache @@ -461,7 +604,7 @@ interactions: content-type: - application/json date: - - Mon, 29 Nov 2021 18:45:35 GMT + - Fri, 11 Feb 2022 08:18:04 GMT expires: - '-1' pragma: @@ -494,61 +637,61 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestsegttlgnk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsegttlgnk-8ecadf-8d1e9adf.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestsegttlgnk-8ecadf-8d1e9adf.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n\ - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\"\ - ,\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"\ - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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/093b77d0-e4dd-4660-89a9-0cad80c24c76\"\ - \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 }" + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljwqhn6jq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljwqhn6jq-8ecadf-af5a38d7.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljwqhn6jq-8ecadf-af5a38d7.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/4145dd46-6e32-4c1f-bdf6-dc5405f39fd7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3763' + - '3675' content-type: - application/json date: - - Mon, 29 Nov 2021 18:45:36 GMT + - Fri, 11 Feb 2022 08:18:04 GMT expires: - '-1' pragma: @@ -580,22 +723,21 @@ interactions: ParameterSetName: - --resource-group --name --location --aks-custom-headers --nodepool-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"cause":"automation","date":"2021-11-29T18:42:28Z","deletion_due_time":"1638470647","deletion_marked_by":"gc","product":"azurecli"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"cause":"automation","date":"2022-02-11T08:13:30Z","deletion_due_time":"1644826565","deletion_marked_by":"gc","product":"azurecli"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '372' + - '364' content-type: - application/json; charset=utf-8 date: - - Mon, 29 Nov 2021 18:45:36 GMT + - Fri, 11 Feb 2022 08:18:05 GMT expires: - '-1' pragma: @@ -625,39 +767,39 @@ interactions: Connection: - keep-alive Content-Length: - - '281' + - '278' Content-Type: - application/json ParameterSetName: - --resource-group --name --location --aks-custom-headers --nodepool-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\":\ - \ \"westus2\",\n \"systemData\": {\n \"createdBy\": \"charlili@microsoft.com\"\ - ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2021-11-29T18:45:37.8797379Z\"\ - ,\n \"lastModifiedBy\": \"charlili@microsoft.com\",\n \"lastModifiedByType\"\ - : \"User\",\n \"lastModifiedAt\": \"2021-11-29T18:45:37.8797379Z\"\n },\n\ - \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ - \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"\ - 1.20.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"\ - Standard_DS2_v2\"\n }\n }" + string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n + \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": \"westus2\",\n + \ \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n + \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-02-11T08:18:05.9955966Z\",\n + \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": + \"Application\",\n \"lastModifiedAt\": \"2022-02-11T08:18:05.9955966Z\"\n + \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n + \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"1.21.7\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"osType\": + \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"Standard_DS2_v2\"\n + \ }\n }" headers: cache-control: - no-cache content-length: - - '996' + - '1013' content-type: - application/json date: - - Mon, 29 Nov 2021 18:45:37 GMT + - Fri, 11 Feb 2022 08:18:05 GMT expires: - '-1' pragma: @@ -673,7 +815,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1186' status: code: 200 message: OK @@ -693,26 +835,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1112f87c-ee8d-4537-a451-675433d6b191?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7f3c71d0-d4d6-439a-86b9-d066d5841e9d?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Mon, 29 Nov 2021 18:45:40 GMT + - Fri, 11 Feb 2022 08:18:06 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1112f87c-ee8d-4537-a451-675433d6b191?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/7f3c71d0-d4d6-439a-86b9-d066d5841e9d?api-version=2016-03-30 pragma: - no-cache server: @@ -722,7 +864,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14992' status: code: 202 message: Accepted @@ -740,33 +882,33 @@ interactions: ParameterSetName: - --resource-group --name -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\":\ - \ \"westus2\",\n \"systemData\": {\n \"createdBy\": \"charlili@microsoft.com\"\ - ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2021-11-29T18:45:37.8797379Z\"\ - ,\n \"lastModifiedBy\": \"charlili@microsoft.com\",\n \"lastModifiedByType\"\ - : \"User\",\n \"lastModifiedAt\": \"2021-11-29T18:45:37.8797379Z\"\n },\n\ - \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ - \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"\ - 1.20.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"\ - Standard_DS2_v2\"\n }\n }" + string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n + \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": \"westus2\",\n + \ \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n + \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-02-11T08:18:05.9955966Z\",\n + \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": + \"Application\",\n \"lastModifiedAt\": \"2022-02-11T08:18:05.9955966Z\"\n + \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n + \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"1.21.7\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"osType\": + \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"Standard_DS2_v2\"\n + \ }\n }" headers: cache-control: - no-cache content-length: - - '996' + - '1013' content-type: - application/json date: - - Mon, 29 Nov 2021 18:45:40 GMT + - Fri, 11 Feb 2022 08:18:06 GMT expires: - '-1' pragma: @@ -798,34 +940,33 @@ interactions: ParameterSetName: - --resource-group -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots?api-version=2022-01-02-preview response: body: - string: "{\n \"value\": [\n {\n \"name\": \"s000006\",\n \"id\": \"\ - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\"\ - : \"westus2\",\n \"systemData\": {\n \"createdBy\": \"charlili@microsoft.com\"\ - ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2021-11-29T18:45:37.8797379Z\"\ - ,\n \"lastModifiedBy\": \"charlili@microsoft.com\",\n \"lastModifiedByType\"\ - : \"User\",\n \"lastModifiedAt\": \"2021-11-29T18:45:37.8797379Z\"\n \ - \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\"\ - : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ - \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\"\ - : \"1.20.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\"\ - : \"Standard_DS2_v2\"\n }\n }\n ]\n }" + string: "{\n \"value\": [\n {\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n + \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": + \"westus2\",\n \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n + \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-02-11T08:18:05.9955966Z\",\n + \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": + \"Application\",\n \"lastModifiedAt\": \"2022-02-11T08:18:05.9955966Z\"\n + \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n + \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": + \"1.21.7\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": + \"Standard_DS2_v2\"\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '1069' + - '1086' content-type: - application/json date: - - Mon, 29 Nov 2021 18:45:40 GMT + - Fri, 11 Feb 2022 08:18:06 GMT expires: - '-1' pragma: @@ -858,33 +999,33 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\":\ - \ \"westus2\",\n \"systemData\": {\n \"createdBy\": \"charlili@microsoft.com\"\ - ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2021-11-29T18:45:37.8797379Z\"\ - ,\n \"lastModifiedBy\": \"charlili@microsoft.com\",\n \"lastModifiedByType\"\ - : \"User\",\n \"lastModifiedAt\": \"2021-11-29T18:45:37.8797379Z\"\n },\n\ - \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ - \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"\ - 1.20.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"\ - Standard_DS2_v2\"\n }\n }" + string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n + \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": \"westus2\",\n + \ \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n + \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-02-11T08:18:05.9955966Z\",\n + \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": + \"Application\",\n \"lastModifiedAt\": \"2022-02-11T08:18:05.9955966Z\"\n + \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n + \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"1.21.7\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"osType\": + \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"Standard_DS2_v2\"\n + \ }\n }" headers: cache-control: - no-cache content-length: - - '996' + - '1013' content-type: - application/json date: - - Mon, 29 Nov 2021 18:45:40 GMT + - Fri, 11 Feb 2022 08:18:06 GMT expires: - '-1' pragma: @@ -904,7 +1045,7 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "1.21.2", "dnsPrefix": "cliakstest-clitestsegttlgnk-8ecadf", + {"kubernetesVersion": "1.21.7", "dnsPrefix": "cliakstest-clitestljwqhn6jq-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, @@ -912,12 +1053,12 @@ interactions: -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "creationData": {"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006"}, "name": "c000004"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.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"}, - "disableLocalAccounts": false}}' + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' headers: AKSHTTPCustomFeatures: - Microsoft.ContainerService/SnapshotPreview @@ -930,65 +1071,66 @@ interactions: Connection: - keep-alive Content-Length: - - '1960' + - '1619' Content-Type: - application/json ParameterSetName: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2021-09-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.21.2\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestsegttlgnk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false,\n\ - \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"\ - azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\"\ - : \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_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 }" + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljwqhn6jq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false,\n + \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000003_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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/c3c948f6-e2b3-4386-b6ed-c0fbc01766f9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3308' + - '3217' content-type: - application/json date: - - Mon, 29 Nov 2021 18:45:45 GMT + - Fri, 11 Feb 2022 08:18:08 GMT expires: - '-1' pragma: @@ -1000,7 +1142,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -1021,23 +1163,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3c948f6-e2b3-4386-b6ed-c0fbc01766f9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f648c9c3-b3e2-8643-b6ed-c0fbc01766f9\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:45:46.0266666Z\"\n }" + string: "{\n \"name\": \"8bf0f852-fba7-374b-b0f6-d059b3cc972a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:18:09.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Mon, 29 Nov 2021 18:46:15 GMT + - Fri, 11 Feb 2022 08:18:38 GMT expires: - '-1' pragma: @@ -1072,23 +1214,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3c948f6-e2b3-4386-b6ed-c0fbc01766f9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f648c9c3-b3e2-8643-b6ed-c0fbc01766f9\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:45:46.0266666Z\"\n }" + string: "{\n \"name\": \"8bf0f852-fba7-374b-b0f6-d059b3cc972a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:18:09.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Mon, 29 Nov 2021 18:46:45 GMT + - Fri, 11 Feb 2022 08:19:08 GMT expires: - '-1' pragma: @@ -1123,23 +1265,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3c948f6-e2b3-4386-b6ed-c0fbc01766f9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f648c9c3-b3e2-8643-b6ed-c0fbc01766f9\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:45:46.0266666Z\"\n }" + string: "{\n \"name\": \"8bf0f852-fba7-374b-b0f6-d059b3cc972a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:18:09.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Mon, 29 Nov 2021 18:47:16 GMT + - Fri, 11 Feb 2022 08:19:38 GMT expires: - '-1' pragma: @@ -1174,23 +1316,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3c948f6-e2b3-4386-b6ed-c0fbc01766f9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f648c9c3-b3e2-8643-b6ed-c0fbc01766f9\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:45:46.0266666Z\"\n }" + string: "{\n \"name\": \"8bf0f852-fba7-374b-b0f6-d059b3cc972a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:18:09.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Mon, 29 Nov 2021 18:47:46 GMT + - Fri, 11 Feb 2022 08:20:09 GMT expires: - '-1' pragma: @@ -1225,23 +1367,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3c948f6-e2b3-4386-b6ed-c0fbc01766f9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f648c9c3-b3e2-8643-b6ed-c0fbc01766f9\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:45:46.0266666Z\"\n }" + string: "{\n \"name\": \"8bf0f852-fba7-374b-b0f6-d059b3cc972a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:18:09.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Mon, 29 Nov 2021 18:48:16 GMT + - Fri, 11 Feb 2022 08:20:39 GMT expires: - '-1' pragma: @@ -1276,24 +1418,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c3c948f6-e2b3-4386-b6ed-c0fbc01766f9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"f648c9c3-b3e2-8643-b6ed-c0fbc01766f9\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-11-29T18:45:46.0266666Z\",\n \"\ - endTime\": \"2021-11-29T18:48:17.1820435Z\"\n }" + string: "{\n \"name\": \"8bf0f852-fba7-374b-b0f6-d059b3cc972a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:18:09.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '120' content-type: - application/json date: - - Mon, 29 Nov 2021 18:48:47 GMT + - Fri, 11 Feb 2022 08:21:09 GMT expires: - '-1' pragma: @@ -1328,62 +1469,23 @@ interactions: - --resource-group --name --location --nodepool-name --node-count --snapshot-id --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.21.2\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestsegttlgnk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false,\n\ - \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"\ - azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\"\ - : \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/c2a5e4af-acb9-4e7c-b366-c40ed570d586\"\ - \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_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-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 }" + string: "{\n \"name\": \"8bf0f852-fba7-374b-b0f6-d059b3cc972a\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:18:09.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '3971' + - '120' content-type: - application/json date: - - Mon, 29 Nov 2021 18:48:47 GMT + - Fri, 11 Feb 2022 08:21:39 GMT expires: - '-1' pragma: @@ -1404,47 +1506,38 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/52f8f08b-a7fb-4b37-b0f6-d059b3cc972a?api-version=2016-03-30 response: body: - string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000004\"\ - ,\n \"name\": \"c000004\",\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 \"workloadRuntime\": \"OCIContainer\",\n\ - \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.21.2\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\"\ - ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false,\n\ - \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n }\n }\n ]\n }" + string: "{\n \"name\": \"8bf0f852-fba7-374b-b0f6-d059b3cc972a\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:18:09.2Z\",\n \"endTime\": + \"2022-02-11T08:21:42.5292164Z\"\n }" headers: cache-control: - no-cache content-length: - - '1209' + - '164' content-type: - application/json date: - - Mon, 29 Nov 2021 18:48:48 GMT + - Fri, 11 Feb 2022 08:22:09 GMT expires: - '-1' pragma: @@ -1465,45 +1558,76 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks nodepool add + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o + - --resource-group --name --location --nodepool-name --node-count --snapshot-id + --aks-custom-headers -k --ssh-key-value -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - ,\n \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\":\ - \ \"westus2\",\n \"systemData\": {\n \"createdBy\": \"charlili@microsoft.com\"\ - ,\n \"createdByType\": \"User\",\n \"createdAt\": \"2021-11-29T18:45:37.8797379Z\"\ - ,\n \"lastModifiedBy\": \"charlili@microsoft.com\",\n \"lastModifiedByType\"\ - : \"User\",\n \"lastModifiedAt\": \"2021-11-29T18:45:37.8797379Z\"\n },\n\ - \ \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": \"\ - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\ - \n },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"\ - 1.20.9\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"osType\": \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"\ - Standard_DS2_v2\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljwqhn6jq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false,\n + \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/d6b6ef72-5651-4471-aae5-e06caaae28e7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '996' + - '3870' content-type: - application/json date: - - Mon, 29 Nov 2021 18:48:49 GMT + - Fri, 11 Feb 2022 08:22:09 GMT expires: - '-1' pragma: @@ -1521,85 +1645,11 @@ interactions: status: code: 200 message: OK -- request: - body: '{"properties": {"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "osSKU": "Ubuntu", "scaleDownMode": "Delete", - "mode": "User", "orchestratorVersion": "1.21.2", "upgradeSettings": {}, "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": false, - "enableFIPS": false, "creationData": {"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006"}}}' - headers: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - Content-Length: - - '634' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --cluster-name --name --node-count --aks-custom-headers -k - --snapshot-id -o - User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2021-09-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\"\ - ,\n \"name\": \"c000005\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\",\n \"enableNodePublicIP\"\ - : false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n\ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"\ - Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ - : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6135a91-354d-4567-82c3-9daee1ab182c?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '1144' - content-type: - - application/json - date: - - Mon, 29 Nov 2021 18:48:51 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: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: @@ -1610,23 +1660,35 @@ interactions: - --resource-group --cluster-name --name --node-count --aks-custom-headers -k --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6135a91-354d-4567-82c3-9daee1ab182c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"915a13c6-4d35-6745-82c3-9daee1ab182c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:48:51.8566666Z\"\n }" + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000004\",\n + \ \"name\": \"c000004\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '126' + - '1194' content-type: - application/json date: - - Mon, 29 Nov 2021 18:49:22 GMT + - Fri, 11 Feb 2022 08:22:10 GMT expires: - '-1' pragma: @@ -1647,10 +1709,8 @@ interactions: - request: body: null headers: - AKSHTTPCustomFeatures: - - Microsoft.ContainerService/SnapshotPreview Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: @@ -1661,23 +1721,33 @@ interactions: - --resource-group --cluster-name --name --node-count --aks-custom-headers -k --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6135a91-354d-4567-82c3-9daee1ab182c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"915a13c6-4d35-6745-82c3-9daee1ab182c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:48:51.8566666Z\"\n }" + string: "{\n \"name\": \"s000006\",\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\",\n + \ \"type\": \"Microsoft.ContainerService/Snapshots\",\n \"location\": \"westus2\",\n + \ \"systemData\": {\n \"createdBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n + \ \"createdByType\": \"Application\",\n \"createdAt\": \"2022-02-11T08:18:05.9955966Z\",\n + \ \"lastModifiedBy\": \"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d\",\n \"lastModifiedByType\": + \"Application\",\n \"lastModifiedAt\": \"2022-02-11T08:18:05.9955966Z\"\n + \ },\n \"properties\": {\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\"\n + \ },\n \"snapshotType\": \"NodePool\",\n \"kubernetesVersion\": \"1.21.7\",\n + \ \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"osType\": + \"Linux\",\n \"osSku\": \"Ubuntu\",\n \"vmSize\": \"Standard_DS2_v2\"\n + \ }\n }" headers: cache-control: - no-cache content-length: - - '126' + - '1013' content-type: - application/json date: - - Mon, 29 Nov 2021 18:49:51 GMT + - Fri, 11 Feb 2022 08:22:10 GMT expires: - '-1' pragma: @@ -1696,39 +1766,62 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"properties": {"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "osSKU": "Ubuntu", "scaleDownMode": "Delete", + "mode": "User", "orchestratorVersion": "1.21.7", "upgradeSettings": {}, "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": false, + "enableFIPS": false, "creationData": {"sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006"}}}' headers: AKSHTTPCustomFeatures: - Microsoft.ContainerService/SnapshotPreview Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - aks nodepool add Connection: - keep-alive + Content-Length: + - '621' + Content-Type: + - application/json ParameterSetName: - --resource-group --cluster-name --name --node-count --aks-custom-headers -k --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6135a91-354d-4567-82c3-9daee1ab182c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"915a13c6-4d35-6745-82c3-9daee1ab182c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:48:51.8566666Z\"\n }" + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\",\n + \ \"name\": \"c000005\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\": + {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n }\n }" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c56085a-82cc-4d47-ba7f-e8af9bada1e3?api-version=2016-03-30 cache-control: - no-cache content-length: - - '126' + - '1161' content-type: - application/json date: - - Mon, 29 Nov 2021 18:50:21 GMT + - Fri, 11 Feb 2022 08:22:13 GMT expires: - '-1' pragma: @@ -1737,15 +1830,13 @@ 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: + - '1188' status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: @@ -1763,23 +1854,23 @@ interactions: - --resource-group --cluster-name --name --node-count --aks-custom-headers -k --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6135a91-354d-4567-82c3-9daee1ab182c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c56085a-82cc-4d47-ba7f-e8af9bada1e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"915a13c6-4d35-6745-82c3-9daee1ab182c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:48:51.8566666Z\"\n }" + string: "{\n \"name\": \"5a08568c-cc82-474d-ba7f-e8af9bada1e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:14Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '118' content-type: - application/json date: - - Mon, 29 Nov 2021 18:50:51 GMT + - Fri, 11 Feb 2022 08:22:43 GMT expires: - '-1' pragma: @@ -1814,23 +1905,23 @@ interactions: - --resource-group --cluster-name --name --node-count --aks-custom-headers -k --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6135a91-354d-4567-82c3-9daee1ab182c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c56085a-82cc-4d47-ba7f-e8af9bada1e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"915a13c6-4d35-6745-82c3-9daee1ab182c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:48:51.8566666Z\"\n }" + string: "{\n \"name\": \"5a08568c-cc82-474d-ba7f-e8af9bada1e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:14Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '118' content-type: - application/json date: - - Mon, 29 Nov 2021 18:51:22 GMT + - Fri, 11 Feb 2022 08:23:14 GMT expires: - '-1' pragma: @@ -1865,23 +1956,23 @@ interactions: - --resource-group --cluster-name --name --node-count --aks-custom-headers -k --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6135a91-354d-4567-82c3-9daee1ab182c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c56085a-82cc-4d47-ba7f-e8af9bada1e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"915a13c6-4d35-6745-82c3-9daee1ab182c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:48:51.8566666Z\"\n }" + string: "{\n \"name\": \"5a08568c-cc82-474d-ba7f-e8af9bada1e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:14Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '118' content-type: - application/json date: - - Mon, 29 Nov 2021 18:51:52 GMT + - Fri, 11 Feb 2022 08:23:43 GMT expires: - '-1' pragma: @@ -1916,24 +2007,23 @@ interactions: - --resource-group --cluster-name --name --node-count --aks-custom-headers -k --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c6135a91-354d-4567-82c3-9daee1ab182c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c56085a-82cc-4d47-ba7f-e8af9bada1e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"915a13c6-4d35-6745-82c3-9daee1ab182c\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-11-29T18:48:51.8566666Z\",\n \"\ - endTime\": \"2021-11-29T18:51:53.0413682Z\"\n }" + string: "{\n \"name\": \"5a08568c-cc82-474d-ba7f-e8af9bada1e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:14Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '118' content-type: - application/json date: - - Mon, 29 Nov 2021 18:52:21 GMT + - Fri, 11 Feb 2022 08:24:13 GMT expires: - '-1' pragma: @@ -1968,35 +2058,23 @@ interactions: - --resource-group --cluster-name --name --node-count --aks-custom-headers -k --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c56085a-82cc-4d47-ba7f-e8af9bada1e3?api-version=2016-03-30 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\"\ - ,\n \"name\": \"c000005\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\",\n \"\ - enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ - : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"\ - osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ - : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n }\n }" + string: "{\n \"name\": \"5a08568c-cc82-474d-ba7f-e8af9bada1e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:14Z\"\n }" headers: cache-control: - no-cache content-length: - - '1145' + - '118' content-type: - application/json date: - - Mon, 29 Nov 2021 18:52:22 GMT + - Fri, 11 Feb 2022 08:24:43 GMT expires: - '-1' pragma: @@ -2017,211 +2095,37 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks upgrade + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name -k --yes -o + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c56085a-82cc-4d47-ba7f-e8af9bada1e3?api-version=2016-03-30 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.21.2\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestsegttlgnk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false,\n\ - \ \"creationData\": {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n },\n {\n \"name\": \"c000005\",\n \"count\": 1,\n\ - \ \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \ - \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"\ - workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\"\ - : \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\",\n\ - \ \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ - : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \ - \ \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ - : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"\ - azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\"\ - : \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/c2a5e4af-acb9-4e7c-b366-c40ed570d586\"\ - \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_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-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: - - '4907' - content-type: - - application/json - date: - - Mon, 29 Nov 2021 18:52: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.22.2", "dnsPrefix": - "cliakstest-clitestsegttlgnk-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.22.2", "powerState": {"code": "Running"}, - "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "c000004"}, {"count": 1, "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": - "OCIContainer", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "scaleDownMode": - "Delete", "type": "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": - "1.22.2", "upgradeSettings": {}, "powerState": {"code": "Running"}, "enableNodePublicIP": - false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "c000005"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": - {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/c2a5e4af-acb9-4e7c-b366-c40ed570d586"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, - "disableLocalAccounts": false}}' + string: "{\n \"name\": \"5a08568c-cc82-474d-ba7f-e8af9bada1e3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:22:14Z\"\n }" headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks upgrade - Connection: - - keep-alive - Content-Length: - - '3081' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --name -k --yes -o - User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2021-09-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Upgrading\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.22.2\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestsegttlgnk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ - \ \"provisioningState\": \"Upgrading\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n\ - \ },\n {\n \"name\": \"c000005\",\n \"count\": 1,\n \"vmSize\"\ - : \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\":\ - \ \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\"\ - : \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Upgrading\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.22.2\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\"\ - ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"upgradeSettings\":\ - \ {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n\ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/c2a5e4af-acb9-4e7c-b366-c40ed570d586\"\ - \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_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-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: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '4491' + - '118' content-type: - application/json date: - - Mon, 29 Nov 2021 18:52:27 GMT + - Fri, 11 Feb 2022 08:25:14 GMT expires: - '-1' pragma: @@ -2236,42 +2140,44 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: code: 200 message: OK - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview Accept: - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks upgrade + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name -k --yes -o + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c56085a-82cc-4d47-ba7f-e8af9bada1e3?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"5a08568c-cc82-474d-ba7f-e8af9bada1e3\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:22:14Z\",\n \"endTime\": + \"2022-02-11T08:25:15.4370009Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '162' content-type: - application/json date: - - Mon, 29 Nov 2021 18:52:57 GMT + - Fri, 11 Feb 2022 08:25:44 GMT expires: - '-1' pragma: @@ -2292,34 +2198,49 @@ interactions: - request: body: null headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/SnapshotPreview Accept: - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks upgrade + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name -k --yes -o + - --resource-group --cluster-name --name --node-count --aks-custom-headers -k + --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-01-02-preview response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\",\n + \ \"name\": \"c000005\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\": + {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n }\n }" headers: cache-control: - no-cache content-length: - - '126' + - '1162' content-type: - application/json date: - - Mon, 29 Nov 2021 18:53:27 GMT + - Fri, 11 Feb 2022 08:25:44 GMT expires: - '-1' pragma: @@ -2341,7 +2262,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: @@ -2351,23 +2272,74 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Mon, 29 Nov 2021 18:53:58 GMT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestljwqhn6jq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000005\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n + \ \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\": + {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n },\n {\n \"name\": \"c000004\",\n \"count\": 1,\n \"vmSize\": + \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n + \ \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": + false,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/d6b6ef72-5651-4471-aae5-e06caaae28e7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4832' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:25:45 GMT expires: - '-1' pragma: @@ -2386,36 +2358,116 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.22.4", "dnsPrefix": + "cliakstest-clitestljwqhn6jq-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", + "mode": "User", "orchestratorVersion": "1.22.4", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "nodeTaints": [""], "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000005"}, {"count": + 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", + "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, + "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.22.4", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "c000004"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "oidcIssuerProfile": {"enabled": false}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/d6b6ef72-5651-4471-aae5-e06caaae28e7"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - aks upgrade Connection: - keep-alive + Content-Length: + - '2889' + Content-Type: + - application/json ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Upgrading\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.22.4\",\n \"dnsPrefix\": + \"cliakstest-clitestljwqhn6jq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000005\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Upgrading\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.22.4\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n + \ \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n },\n {\n + \ \"name\": \"c000004\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Upgrading\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/d6b6ef72-5651-4471-aae5-e06caaae28e7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 cache-control: - no-cache content-length: - - '126' + - '4442' content-type: - application/json date: - - Mon, 29 Nov 2021 18:54:28 GMT + - Fri, 11 Feb 2022 08:25:48 GMT expires: - '-1' pragma: @@ -2430,6 +2482,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1196' status: code: 200 message: OK @@ -2447,23 +2501,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:54:57 GMT + - Fri, 11 Feb 2022 08:26:18 GMT expires: - '-1' pragma: @@ -2495,23 +2549,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:55:27 GMT + - Fri, 11 Feb 2022 08:26:47 GMT expires: - '-1' pragma: @@ -2543,23 +2597,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:55:58 GMT + - Fri, 11 Feb 2022 08:27:18 GMT expires: - '-1' pragma: @@ -2591,23 +2645,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:56:28 GMT + - Fri, 11 Feb 2022 08:27:47 GMT expires: - '-1' pragma: @@ -2639,23 +2693,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:56:58 GMT + - Fri, 11 Feb 2022 08:28:18 GMT expires: - '-1' pragma: @@ -2687,23 +2741,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:57:29 GMT + - Fri, 11 Feb 2022 08:28:48 GMT expires: - '-1' pragma: @@ -2735,23 +2789,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:57:58 GMT + - Fri, 11 Feb 2022 08:29:17 GMT expires: - '-1' pragma: @@ -2783,23 +2837,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:58:28 GMT + - Fri, 11 Feb 2022 08:29:48 GMT expires: - '-1' pragma: @@ -2831,23 +2885,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:58:59 GMT + - Fri, 11 Feb 2022 08:30:18 GMT expires: - '-1' pragma: @@ -2879,23 +2933,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:59:29 GMT + - Fri, 11 Feb 2022 08:30:48 GMT expires: - '-1' pragma: @@ -2927,23 +2981,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 18:59:59 GMT + - Fri, 11 Feb 2022 08:31:18 GMT expires: - '-1' pragma: @@ -2975,23 +3029,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:00:29 GMT + - Fri, 11 Feb 2022 08:31:48 GMT expires: - '-1' pragma: @@ -3023,23 +3077,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:00:59 GMT + - Fri, 11 Feb 2022 08:32:18 GMT expires: - '-1' pragma: @@ -3071,23 +3125,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:01:29 GMT + - Fri, 11 Feb 2022 08:32:48 GMT expires: - '-1' pragma: @@ -3119,23 +3173,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:01:59 GMT + - Fri, 11 Feb 2022 08:33:18 GMT expires: - '-1' pragma: @@ -3167,23 +3221,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:02:30 GMT + - Fri, 11 Feb 2022 08:33:48 GMT expires: - '-1' pragma: @@ -3215,23 +3269,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:03:00 GMT + - Fri, 11 Feb 2022 08:34:18 GMT expires: - '-1' pragma: @@ -3263,23 +3317,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:03:29 GMT + - Fri, 11 Feb 2022 08:34:49 GMT expires: - '-1' pragma: @@ -3311,23 +3365,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:04:00 GMT + - Fri, 11 Feb 2022 08:35:18 GMT expires: - '-1' pragma: @@ -3359,23 +3413,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:04:30 GMT + - Fri, 11 Feb 2022 08:35:49 GMT expires: - '-1' pragma: @@ -3407,23 +3461,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:05:00 GMT + - Fri, 11 Feb 2022 08:36:18 GMT expires: - '-1' pragma: @@ -3455,23 +3509,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:05:31 GMT + - Fri, 11 Feb 2022 08:36:49 GMT expires: - '-1' pragma: @@ -3503,23 +3557,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:06:00 GMT + - Fri, 11 Feb 2022 08:37:19 GMT expires: - '-1' pragma: @@ -3551,23 +3605,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:06:30 GMT + - Fri, 11 Feb 2022 08:37:49 GMT expires: - '-1' pragma: @@ -3599,23 +3653,23 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Mon, 29 Nov 2021 19:07:00 GMT + - Fri, 11 Feb 2022 08:38:19 GMT expires: - '-1' pragma: @@ -3647,24 +3701,24 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8552a201-750d-401c-99b4-f36cb2d2b5f7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b7e47a1e-64f6-4128-8343-02ce71c24480?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"01a25285-0d75-1c40-99b4-f36cb2d2b5f7\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-11-29T18:52:27.0933333Z\",\n \"\ - endTime\": \"2021-11-29T19:07:14.4863967Z\"\n }" + string: "{\n \"name\": \"1e7ae4b7-f664-2841-8343-02ce71c24480\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:25:48.08Z\",\n \"endTime\": + \"2022-02-11T08:38:42.2513434Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '165' content-type: - application/json date: - - Mon, 29 Nov 2021 19:07:31 GMT + - Fri, 11 Feb 2022 08:38:49 GMT expires: - '-1' pragma: @@ -3696,71 +3750,71 @@ interactions: ParameterSetName: - --resource-group --name -k --yes -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-01-02-preview response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\"\ - ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\"\ - : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.22.2\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestsegttlgnk-8ecadf\",\n \"fqdn\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestsegttlgnk-8ecadf-dc01aff5.portal.hcp.westus2.azmk8s.io\"\ - ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000004\",\n \"\ - count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ - : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ - ,\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n\ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n\ - \ },\n {\n \"name\": \"c000005\",\n \"count\": 1,\n \"vmSize\"\ - : \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\":\ - \ \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\"\ - : \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ - ,\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.22.2\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\"\ - ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"upgradeSettings\":\ - \ {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n\ - \ \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\"\ - : [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/c2a5e4af-acb9-4e7c-b366-c40ed570d586\"\ - \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_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-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 }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000003\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.22.4\",\n \"dnsPrefix\": + \"cliakstest-clitestljwqhn6jq-8ecadf\",\n \"fqdn\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestljwqhn6jq-8ecadf-bb807db8.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000005\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.22.4\",\n \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n + \ \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n },\n {\n + \ \"name\": \"c000004\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000003_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_cliakstest000003_westus2/providers/Microsoft.Network/publicIPAddresses/d6b6ef72-5651-4471-aae5-e06caaae28e7\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000003_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000003-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4491' + - '4442' content-type: - application/json date: - - Mon, 29 Nov 2021 19:07:32 GMT + - Fri, 11 Feb 2022 08:38:49 GMT expires: - '-1' pragma: @@ -3782,7 +3836,7 @@ interactions: body: null headers: AKSSnapshotId: - - /subscriptions/8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8/resourceGroups/clitestsegttlgnk3/providers/Microsoft.ContainerService/snapshots/sbiptlqquybgc4a4 + - /subscriptions/8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8/resourceGroups/clitestljwqhn6jqe/providers/Microsoft.ContainerService/snapshots/sxfilwmdypylqp3b Accept: - application/json Accept-Encoding: @@ -3797,41 +3851,42 @@ interactions: - --resource-group --cluster-name -n --node-image-only --no-wait --snapshot-id -o User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005/upgradeNodeImageVersion?api-version=2021-09-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\"\ - ,\n \"name\": \"c000005\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\"\ - : {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ - : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"\ - osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ - : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n }\n }" + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005/upgradeNodeImageVersion?api-version=2022-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\",\n + \ \"name\": \"c000005\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n ],\n + \ \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/338a7a4e-b2a4-41ba-affc-317370d766e0?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/05bc20be-5582-49b5-80a0-020fd9aefa83?api-version=2016-03-30 cache-control: - no-cache content-length: - - '1161' + - '1178' content-type: - application/json date: - - Mon, 29 Nov 2021 19:07:33 GMT + - Fri, 11 Feb 2022 08:38:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/338a7a4e-b2a4-41ba-affc-317370d766e0?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/05bc20be-5582-49b5-80a0-020fd9aefa83?api-version=2016-03-30 pragma: - no-cache server: @@ -3859,35 +3914,36 @@ interactions: ParameterSetName: - --resource-group --cluster-name -n User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005?api-version=2022-01-02-preview response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\"\ - ,\n \"name\": \"c000005\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\"\ - : {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ - : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"\ - osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.11.06\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"creationData\"\ - : {\n \"sourceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\ - \n }\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003/agentPools/c000005\",\n + \ \"name\": \"c000005\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n ],\n + \ \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false,\n \"creationData\": {\n \"sourceResourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006\"\n + \ }\n }\n }" headers: cache-control: - no-cache content-length: - - '1161' + - '1178' content-type: - application/json date: - - Mon, 29 Nov 2021 19:07:33 GMT + - Fri, 11 Feb 2022 08:38:52 GMT expires: - '-1' pragma: @@ -3921,26 +3977,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000003?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a71a50dd-9212-4e11-bbc7-564b402d491f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b9dff5b1-9740-42b2-b1ce-1cf4b7952894?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Mon, 29 Nov 2021 19:07:35 GMT + - Fri, 11 Feb 2022 08:38:53 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/a71a50dd-9212-4e11-bbc7-564b402d491f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b9dff5b1-9740-42b2-b1ce-1cf4b7952894?api-version=2016-03-30 pragma: - no-cache server: @@ -3950,7 +4006,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14989' status: code: 202 message: Accepted @@ -3970,10 +4026,10 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - AZURECLI/2.30.0 (DOCKER) azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.9.6 - (Linux-5.4.0-1055-azure-x86_64-with) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/snapshots/s000006?api-version=2022-01-02-preview response: body: string: '' @@ -3983,7 +4039,7 @@ interactions: content-length: - '0' date: - - Mon, 29 Nov 2021 19:07:40 GMT + - Fri, 11 Feb 2022 08:38:53 GMT expires: - '-1' pragma: @@ -3995,7 +4051,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14997' status: code: 200 message: OK diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml old mode 100755 new mode 100644 index 56d49ade814..fa4e12f3998 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_stop_and_start.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:13:26Z"},"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":"2022-02-11T08:17:08Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:13:26 GMT + - Fri, 11 Feb 2022 08:17:08 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestorwomggif-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestu5y3425e4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestorwomggif-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestorwomggif-8ecadf-dc664c63.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestorwomggif-8ecadf-dc664c63.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestu5y3425e4-8ecadf\",\n \"fqdn\": \"cliakstest-clitestu5y3425e4-8ecadf-c27c9cc9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestu5y3425e4-8ecadf-c27c9cc9.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/e223d466-fc2c-4c0f-915c-030e407a3b19?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:30 GMT + - Fri, 11 Feb 2022 08:17:13 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' status: code: 201 message: Created @@ -149,14 +153,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e223d466-fc2c-4c0f-915c-030e407a3b19?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"66d423e2-2cfc-0f4c-915c-030e407a3b19\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:30.2933333Z\"\n }" + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +169,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:00 GMT + - Fri, 11 Feb 2022 08:17:43 GMT expires: - '-1' pragma: @@ -197,14 +201,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e223d466-fc2c-4c0f-915c-030e407a3b19?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"66d423e2-2cfc-0f4c-915c-030e407a3b19\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:30.2933333Z\"\n }" + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +217,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:29 GMT + - Fri, 11 Feb 2022 08:18:12 GMT expires: - '-1' pragma: @@ -245,14 +249,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e223d466-fc2c-4c0f-915c-030e407a3b19?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"66d423e2-2cfc-0f4c-915c-030e407a3b19\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:30.2933333Z\"\n }" + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +265,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:00 GMT + - Fri, 11 Feb 2022 08:18:43 GMT expires: - '-1' pragma: @@ -293,14 +297,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e223d466-fc2c-4c0f-915c-030e407a3b19?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"66d423e2-2cfc-0f4c-915c-030e407a3b19\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:30.2933333Z\"\n }" + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +313,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:30 GMT + - Fri, 11 Feb 2022 08:19:13 GMT expires: - '-1' pragma: @@ -341,14 +345,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e223d466-fc2c-4c0f-915c-030e407a3b19?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"66d423e2-2cfc-0f4c-915c-030e407a3b19\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:13:30.2933333Z\"\n }" + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:00 GMT + - Fri, 11 Feb 2022 08:19:43 GMT expires: - '-1' pragma: @@ -389,15 +393,159 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e223d466-fc2c-4c0f-915c-030e407a3b19?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"66d423e2-2cfc-0f4c-915c-030e407a3b19\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:13:30.2933333Z\",\n \"endTime\": - \"2021-10-19T07:16:29.3594449Z\"\n }" + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:20: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:20: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:21: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/38574bd7-4aef-4a3e-81c8-0bace4d5e752?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"d74b5738-ef4a-3e4a-81c8-0bace4d5e752\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:17:13.5066666Z\",\n \"endTime\": + \"2022-02-11T08:21:33.6049236Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +554,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:30 GMT + - Fri, 11 Feb 2022 08:21:44 GMT expires: - '-1' pragma: @@ -438,57 +586,61 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestorwomggif-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestorwomggif-8ecadf-dc664c63.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestorwomggif-8ecadf-dc664c63.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestu5y3425e4-8ecadf\",\n \"fqdn\": \"cliakstest-clitestu5y3425e4-8ecadf-c27c9cc9.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestu5y3425e4-8ecadf-c27c9cc9.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/50ad94ff-e61c-44c1-94be-048e24454bc1\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ea30ee7f-a275-4708-8f77-0d6f295338f9\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:31 GMT + - Fri, 11 Feb 2022 08:21:44 GMT expires: - '-1' pragma: @@ -522,26 +674,26 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/stop?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/stop?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:16:32 GMT + - Fri, 11 Feb 2022 08:21:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 pragma: - no-cache server: @@ -569,23 +721,119 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:22: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:22: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5ce8b234-2b18-8249-887a-dd2f8a7c2f22\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:31.92Z\"\n }" + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:01 GMT + - Fri, 11 Feb 2022 08:23:15 GMT expires: - '-1' pragma: @@ -617,23 +865,23 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5ce8b234-2b18-8249-887a-dd2f8a7c2f22\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:31.92Z\"\n }" + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:31 GMT + - Fri, 11 Feb 2022 08:23:46 GMT expires: - '-1' pragma: @@ -665,23 +913,23 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5ce8b234-2b18-8249-887a-dd2f8a7c2f22\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:31.92Z\"\n }" + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:02 GMT + - Fri, 11 Feb 2022 08:24:15 GMT expires: - '-1' pragma: @@ -713,23 +961,23 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5ce8b234-2b18-8249-887a-dd2f8a7c2f22\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:31.92Z\"\n }" + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:32 GMT + - Fri, 11 Feb 2022 08:24:45 GMT expires: - '-1' pragma: @@ -761,23 +1009,23 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5ce8b234-2b18-8249-887a-dd2f8a7c2f22\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:31.92Z\"\n }" + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:01 GMT + - Fri, 11 Feb 2022 08:25:15 GMT expires: - '-1' pragma: @@ -809,23 +1057,23 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5ce8b234-2b18-8249-887a-dd2f8a7c2f22\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:31.92Z\"\n }" + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:32 GMT + - Fri, 11 Feb 2022 08:25:45 GMT expires: - '-1' pragma: @@ -857,24 +1105,23 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"5ce8b234-2b18-8249-887a-dd2f8a7c2f22\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:16:31.92Z\",\n \"endTime\": - \"2021-10-19T07:19:56.6124496Z\"\n }" + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '120' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:02 GMT + - Fri, 11 Feb 2022 08:26:15 GMT expires: - '-1' pragma: @@ -906,10 +1153,107 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:26: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ff68b0f6-63ef-3940-ae0c-567f3dbbfe23\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:21:45.5Z\",\n \"endTime\": + \"2022-02-11T08:26:54.7107802Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:27: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 response: body: string: '' @@ -919,11 +1263,11 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:02 GMT + - Fri, 11 Feb 2022 08:27:16 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/34b2e85c-182b-4982-887a-dd2f8a7c2f22?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/f6b068ff-ef63-4039-ae0c-567f3dbbfe23?api-version=2016-03-30 pragma: - no-cache server: @@ -951,26 +1295,26 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/start?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/start?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:20:03 GMT + - Fri, 11 Feb 2022 08:27:16 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 pragma: - no-cache server: @@ -998,14 +1342,158 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:27: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fc16af24-38c5-c44a-b6c1-86e7f289a2c5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:03.4366666Z\"\n }" + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\"\n }" headers: cache-control: - no-cache @@ -1014,7 +1502,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:32 GMT + - Fri, 11 Feb 2022 08:29:17 GMT expires: - '-1' pragma: @@ -1046,14 +1534,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fc16af24-38c5-c44a-b6c1-86e7f289a2c5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:03.4366666Z\"\n }" + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\"\n }" headers: cache-control: - no-cache @@ -1062,7 +1550,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:03 GMT + - Fri, 11 Feb 2022 08:29:47 GMT expires: - '-1' pragma: @@ -1094,14 +1582,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fc16af24-38c5-c44a-b6c1-86e7f289a2c5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:03.4366666Z\"\n }" + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\"\n }" headers: cache-control: - no-cache @@ -1110,7 +1598,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:33 GMT + - Fri, 11 Feb 2022 08:30:17 GMT expires: - '-1' pragma: @@ -1142,14 +1630,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fc16af24-38c5-c44a-b6c1-86e7f289a2c5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:03.4366666Z\"\n }" + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\"\n }" headers: cache-control: - no-cache @@ -1158,7 +1646,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:03 GMT + - Fri, 11 Feb 2022 08:30:47 GMT expires: - '-1' pragma: @@ -1190,14 +1678,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fc16af24-38c5-c44a-b6c1-86e7f289a2c5\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:20:03.4366666Z\"\n }" + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\"\n }" headers: cache-control: - no-cache @@ -1206,7 +1694,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:32 GMT + - Fri, 11 Feb 2022 08:31:18 GMT expires: - '-1' pragma: @@ -1238,15 +1726,15 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"fc16af24-38c5-c44a-b6c1-86e7f289a2c5\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:20:03.4366666Z\",\n \"endTime\": - \"2021-10-19T07:22:49.1418719Z\"\n }" + string: "{\n \"name\": \"9ddb1a95-c0f3-c947-8755-59aea8b59725\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:27:17.4266666Z\",\n \"endTime\": + \"2022-02-11T08:31:23.0674711Z\"\n }" headers: cache-control: - no-cache @@ -1255,7 +1743,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:03 GMT + - Fri, 11 Feb 2022 08:31:47 GMT expires: - '-1' pragma: @@ -1287,10 +1775,10 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 response: body: string: '' @@ -1300,11 +1788,11 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:03 GMT + - Fri, 11 Feb 2022 08:31:47 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/24af16fc-c538-4ac4-b6c1-86e7f289a2c5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/951adb9d-f3c0-47c9-8755-59aea8b59725?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_label_msi.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_label_msi.yaml index 86d74357e0c..e01b6d790e6 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_label_msi.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_label_msi.yaml @@ -1,9 +1,155 @@ interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1400' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-06606523.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-06606523.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2967' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:03:04 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: + - '1193' + status: + code: 201 + message: Created - request: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 09: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 +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -13,27 +159,33 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.11 (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 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-08-17T05:13:57Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" headers: cache-control: - no-cache content-length: - - '313' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 17 Aug 2021 05:13:58 GMT + - Fri, 11 Feb 2022 09: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: @@ -42,80 +194,372 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": - [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", - "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, - "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"}}}' + body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 09: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: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1252' - Content-Type: + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 09: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 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\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n - \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz - azcli_aks_live_test@example.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 - \ \"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 \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:06: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2599' + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:06: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:07: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' content-type: - application/json date: - - Tue, 17 Aug 2021 05:14:05 GMT + - Fri, 11 Feb 2022 09:08:05 GMT expires: - '-1' pragma: @@ -124,13 +568,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: - - '1196' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -145,14 +591,14 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" headers: cache-control: - no-cache @@ -161,7 +607,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:14:34 GMT + - Fri, 11 Feb 2022 09:08:35 GMT expires: - '-1' pragma: @@ -193,14 +639,14 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" headers: cache-control: - no-cache @@ -209,7 +655,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:15:04 GMT + - Fri, 11 Feb 2022 09:09:05 GMT expires: - '-1' pragma: @@ -241,14 +687,14 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" headers: cache-control: - no-cache @@ -257,7 +703,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:15:34 GMT + - Fri, 11 Feb 2022 09:09:35 GMT expires: - '-1' pragma: @@ -289,14 +735,14 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" headers: cache-control: - no-cache @@ -305,7 +751,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:16:04 GMT + - Fri, 11 Feb 2022 09:10:05 GMT expires: - '-1' pragma: @@ -337,14 +783,14 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\"\n }" + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\"\n }" headers: cache-control: - no-cache @@ -353,7 +799,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:16:34 GMT + - Fri, 11 Feb 2022 09:10:36 GMT expires: - '-1' pragma: @@ -385,15 +831,15 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c688756d-100b-4399-ac5f-826928bada72?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11960237-ca66-45b1-81ea-ca4ff2eb5820?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6d7588c6-0b10-9943-ac5f-826928bada72\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-08-17T05:14:04.6366666Z\",\n \"endTime\": - \"2021-08-17T05:16:37.4745994Z\"\n }" + string: "{\n \"name\": \"37029611-66ca-b145-81ea-ca4ff2eb5820\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T09:03:05.2233333Z\",\n \"endTime\": + \"2022-02-11T09:10:59.9026257Z\"\n }" headers: cache-control: - no-cache @@ -402,7 +848,7 @@ interactions: content-type: - application/json date: - - Tue, 17 Aug 2021 05:17:05 GMT + - Fri, 11 Feb 2022 09:11:06 GMT expires: - '-1' pragma: @@ -434,55 +880,61 @@ interactions: ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --ssh-key-value User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1055-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-06606523.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-06606523.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/5360e3b9-eaad-4490-9cda-3171e7207687\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3262' + - '3620' content-type: - application/json date: - - Tue, 17 Aug 2021 05:17:05 GMT + - Fri, 11 Feb 2022 09:11:06 GMT expires: - '-1' pragma: @@ -514,55 +966,61 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-06606523.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-06606523.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n - \ \"label1\": \"value1\",\n \"label2\": \"value2\"\n },\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/5360e3b9-eaad-4490-9cda-3171e7207687\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '2769' + - '3620' content-type: - application/json date: - - Tue, 07 Sep 2021 09:00:01 GMT + - Fri, 11 Feb 2022 09:11:07 GMT expires: - '-1' pragma: @@ -581,17 +1039,27 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": - [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", - "nodeLabels": {"label1": "value1", "label2": "value2"}, "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", - "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, - "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"}}}' + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": + "OCIContainer", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.7", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "nodeLabels": + {"label1": "value1", "label2": "value2"}, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000001_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, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/5360e3b9-eaad-4490-9cda-3171e7207687"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -602,63 +1070,70 @@ interactions: Connection: - keep-alive Content-Length: - - '1813' + - '2464' Content-Type: - application/json ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-06606523.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-06606523.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n - \ \"label1\": \"value1\",\n \"label2\": \"value2\"\n },\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n + \ \"label1\": \"value1\",\n \"label2\": \"value2\"\n },\n \"mode\": + \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/5360e3b9-eaad-4490-9cda-3171e7207687\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/727050cd-d6db-4d55-8fda-9d49f1de499d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dc7c8e35-7b2b-4c26-8dd3-bce8585927ba?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2896' + - '3698' content-type: - application/json date: - - Tue, 07 Sep 2021 09:00:07 GMT + - Fri, 11 Feb 2022 09:11:09 GMT expires: - '-1' pragma: @@ -674,7 +1149,151 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dc7c8e35-7b2b-4c26-8dd3-bce8585927ba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"358e7cdc-2b7b-264c-8dd3-bce8585927ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:11:10.4533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:11: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 + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dc7c8e35-7b2b-4c26-8dd3-bce8585927ba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"358e7cdc-2b7b-264c-8dd3-bce8585927ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:11:10.4533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:12: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dc7c8e35-7b2b-4c26-8dd3-bce8585927ba?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"358e7cdc-2b7b-264c-8dd3-bce8585927ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:11:10.4533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:12: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 @@ -692,14 +1311,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727050cd-d6db-4d55-8fda-9d49f1de499d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dc7c8e35-7b2b-4c26-8dd3-bce8585927ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cd507072-dbd6-554d-8fda-9d49f1de499d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-09-07T09:00:07.4966666Z\"\n }" + string: "{\n \"name\": \"358e7cdc-2b7b-264c-8dd3-bce8585927ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:11:10.4533333Z\"\n }" headers: cache-control: - no-cache @@ -708,7 +1327,7 @@ interactions: content-type: - application/json date: - - Tue, 07 Sep 2021 09:00:38 GMT + - Fri, 11 Feb 2022 09:13:10 GMT expires: - '-1' pragma: @@ -740,14 +1359,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727050cd-d6db-4d55-8fda-9d49f1de499d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dc7c8e35-7b2b-4c26-8dd3-bce8585927ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cd507072-dbd6-554d-8fda-9d49f1de499d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-09-07T09:00:07.4966666Z\"\n }" + string: "{\n \"name\": \"358e7cdc-2b7b-264c-8dd3-bce8585927ba\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:11:10.4533333Z\"\n }" headers: cache-control: - no-cache @@ -756,7 +1375,7 @@ interactions: content-type: - application/json date: - - Tue, 07 Sep 2021 09:01:08 GMT + - Fri, 11 Feb 2022 09:13:40 GMT expires: - '-1' pragma: @@ -788,24 +1407,24 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727050cd-d6db-4d55-8fda-9d49f1de499d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dc7c8e35-7b2b-4c26-8dd3-bce8585927ba?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cd507072-dbd6-554d-8fda-9d49f1de499d\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-09-07T09:00:07.4966666Z\",\n \"endTime\": - \"2021-09-07T09:01:31.699616Z\"\n }" + string: "{\n \"name\": \"358e7cdc-2b7b-264c-8dd3-bce8585927ba\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T09:11:10.4533333Z\",\n \"endTime\": + \"2022-02-11T09:14:08.2478823Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '170' content-type: - application/json date: - - Tue, 07 Sep 2021 09:01:38 GMT + - Fri, 11 Feb 2022 09:14:10 GMT expires: - '-1' pragma: @@ -837,55 +1456,62 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-06606523.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-06606523.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n - \ \"label1\": \"value1\",\n \"label2\": \"value2\"\n },\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n + \ \"label1\": \"value1\",\n \"label2\": \"value2\"\n },\n \"mode\": + \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/5360e3b9-eaad-4490-9cda-3171e7207687\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3293' + - '3700' content-type: - application/json date: - - Tue, 07 Sep 2021 09:01:38 GMT + - Fri, 11 Feb 2022 09:14:10 GMT expires: - '-1' pragma: @@ -917,55 +1543,62 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-06606523.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-06606523.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n - \ \"label1\": \"value11\"\n },\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n + \ \"label1\": \"value1\",\n \"label2\": \"value2\"\n },\n \"mode\": + \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/5360e3b9-eaad-4490-9cda-3171e7207687\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '2769' + - '3700' content-type: - application/json date: - - Tue, 07 Sep 2021 09:00:01 GMT + - Fri, 11 Feb 2022 09:14:12 GMT expires: - '-1' pragma: @@ -984,17 +1617,27 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": - [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", - "nodeLabels": {"label1": "value11"}, "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", - "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, - "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"}}}' + body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": + "OCIContainer", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.7", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "nodeLabels": + {}, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000001_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, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/5360e3b9-eaad-4490-9cda-3171e7207687"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1005,63 +1648,69 @@ interactions: Connection: - keep-alive Content-Length: - - '1813' + - '2426' Content-Type: - application/json ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-06606523.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-06606523.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n - \ \"label1\": \"value11\"\n },\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/5360e3b9-eaad-4490-9cda-3171e7207687\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/727050cd-d6db-4d55-8fda-9d49f1de499d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db54b9f2-21d5-4b75-8a7e-95982849e690?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2896' + - '3618' content-type: - application/json date: - - Tue, 07 Sep 2021 09:00:07 GMT + - Fri, 11 Feb 2022 09:14:14 GMT expires: - '-1' pragma: @@ -1077,7 +1726,103 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1193' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db54b9f2-21d5-4b75-8a7e-95982849e690?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f2b954db-d521-754b-8a7e-95982849e690\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:14:14.3433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:14: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-labels + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db54b9f2-21d5-4b75-8a7e-95982849e690?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f2b954db-d521-754b-8a7e-95982849e690\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:14:14.3433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 09:15: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 @@ -1095,14 +1840,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727050cd-d6db-4d55-8fda-9d49f1de499d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db54b9f2-21d5-4b75-8a7e-95982849e690?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cd507072-dbd6-554d-8fda-9d49f1de499d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-09-07T09:00:07.4966666Z\"\n }" + string: "{\n \"name\": \"f2b954db-d521-754b-8a7e-95982849e690\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:14:14.3433333Z\"\n }" headers: cache-control: - no-cache @@ -1111,7 +1856,7 @@ interactions: content-type: - application/json date: - - Tue, 07 Sep 2021 09:00:38 GMT + - Fri, 11 Feb 2022 09:15:44 GMT expires: - '-1' pragma: @@ -1143,14 +1888,14 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727050cd-d6db-4d55-8fda-9d49f1de499d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db54b9f2-21d5-4b75-8a7e-95982849e690?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cd507072-dbd6-554d-8fda-9d49f1de499d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-09-07T09:00:07.4966666Z\"\n }" + string: "{\n \"name\": \"f2b954db-d521-754b-8a7e-95982849e690\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T09:14:14.3433333Z\"\n }" headers: cache-control: - no-cache @@ -1159,7 +1904,7 @@ interactions: content-type: - application/json date: - - Tue, 07 Sep 2021 09:01:08 GMT + - Fri, 11 Feb 2022 09:16:13 GMT expires: - '-1' pragma: @@ -1191,24 +1936,24 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/727050cd-d6db-4d55-8fda-9d49f1de499d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db54b9f2-21d5-4b75-8a7e-95982849e690?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"cd507072-dbd6-554d-8fda-9d49f1de499d\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-09-07T09:00:07.4966666Z\",\n \"endTime\": - \"2021-09-07T09:01:31.699616Z\"\n }" + string: "{\n \"name\": \"f2b954db-d521-754b-8a7e-95982849e690\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T09:14:14.3433333Z\",\n \"endTime\": + \"2022-02-11T09:16:29.3967142Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '170' content-type: - application/json date: - - Tue, 07 Sep 2021 09:01:38 GMT + - Fri, 11 Feb 2022 09:16:43 GMT expires: - '-1' pragma: @@ -1240,55 +1985,61 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-labels User-Agent: - - AZURECLI/2.28.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1056-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.7\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1a36a607.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-1a36a607.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-06606523.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-06606523.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\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.7\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {\n - \ \"label1\": \"value11\"\n },\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.07.25\",\n \"enableFIPS\": false\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQCdSf3GlgnRl9XJiQavZ1p3M3+DN3eFnnpk9B1UH3JQZW/5sePzrG3ucDRcIDPTBItawvuyHqv1RK4AhAyT9TI4aG8l5amgnCzktgNhqibqJhQCdxkoIJdxcUwCgV+McodZ5IgVjKj9E4XXG68XAYCwo8cUPbyq25BkhWBK4Qmn7DT1SnB4eZdmA9tIO46FbKXvV1p8U9CixwSSKTmnTfq+DMRBX016k9UFWewREFR6+vu9bosp4MDEWgx3beSJoUty+LpOfCSzA9i5z0R5/LF3dvF0fiKWfCu+oztDmT39Zvdh0GPqfJTnPylHlkSJMXP6MItFrOKWZukhhFjCIZDz + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 - \ \"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/55ff474a-8dcc-47fc-9ba1-2caee875bbcc\"\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/5360e3b9-eaad-4490-9cda-3171e7207687\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 }" + \ }\n },\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3293' + - '3620' content-type: - application/json date: - - Tue, 07 Sep 2021 09:01:38 GMT + - Fri, 11 Feb 2022 09:16:44 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml old mode 100755 new mode 100644 index 6c5538ea68b..48ba66f9737 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:16:49Z"},"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":"2022-02-11T08:16:18Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:16:50 GMT + - Fri, 11 Feb 2022 08:16:18 GMT expires: - '-1' pragma: @@ -43,13 +43,14 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestafw376rvo-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestoqq3ljcz6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -65,37 +66,38 @@ interactions: Connection: - keep-alive Content-Length: - - '1391' + - '1419' Content-Type: - application/json ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestafw376rvo-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestoqq3ljcz6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -104,22 +106,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/46046437-2930-443e-b9c1-5f5b586c6368?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2778' + - '3024' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:52 GMT + - Fri, 11 Feb 2022 08:16:21 GMT expires: - '-1' pragma: @@ -131,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1188' + - '1194' status: code: 201 message: Created @@ -149,14 +153,158 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:17: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:17: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46046437-2930-443e-b9c1-5f5b586c6368?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"37640446-3029-3e44-b9c1-5f5b586c6368\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:53.67Z\"\n }" + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\"\n }" headers: cache-control: - no-cache @@ -165,7 +313,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:23 GMT + - Fri, 11 Feb 2022 08:18:22 GMT expires: - '-1' pragma: @@ -197,14 +345,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46046437-2930-443e-b9c1-5f5b586c6368?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"37640446-3029-3e44-b9c1-5f5b586c6368\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:53.67Z\"\n }" + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\"\n }" headers: cache-control: - no-cache @@ -213,7 +361,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:53 GMT + - Fri, 11 Feb 2022 08:18:53 GMT expires: - '-1' pragma: @@ -245,14 +393,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46046437-2930-443e-b9c1-5f5b586c6368?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"37640446-3029-3e44-b9c1-5f5b586c6368\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:53.67Z\"\n }" + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\"\n }" headers: cache-control: - no-cache @@ -261,7 +409,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:23 GMT + - Fri, 11 Feb 2022 08:19:23 GMT expires: - '-1' pragma: @@ -293,14 +441,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46046437-2930-443e-b9c1-5f5b586c6368?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"37640446-3029-3e44-b9c1-5f5b586c6368\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:53.67Z\"\n }" + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\"\n }" headers: cache-control: - no-cache @@ -309,7 +457,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:53 GMT + - Fri, 11 Feb 2022 08:19:52 GMT expires: - '-1' pragma: @@ -341,14 +489,14 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46046437-2930-443e-b9c1-5f5b586c6368?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"37640446-3029-3e44-b9c1-5f5b586c6368\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:16:53.67Z\"\n }" + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +505,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:23 GMT + - Fri, 11 Feb 2022 08:20:22 GMT expires: - '-1' pragma: @@ -389,15 +537,15 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/46046437-2930-443e-b9c1-5f5b586c6368?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7bbd940e-6ac0-40f8-8083-386bbd1cea67?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"37640446-3029-3e44-b9c1-5f5b586c6368\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:16:53.67Z\",\n \"endTime\": - \"2021-10-19T07:19:45.1977671Z\"\n }" + string: "{\n \"name\": \"0e94bd7b-c06a-f840-8083-386bbd1cea67\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:16:22.69Z\",\n \"endTime\": + \"2022-02-11T08:20:45.1627551Z\"\n }" headers: cache-control: - no-cache @@ -406,7 +554,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:53 GMT + - Fri, 11 Feb 2022 08:20:52 GMT expires: - '-1' pragma: @@ -438,57 +586,61 @@ interactions: ParameterSetName: - --resource-group --name --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestafw376rvo-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestoqq3ljcz6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/48c594a4-6009-4a99-bb71-4fd8a7dbb8ab\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/845dcb3a-0806-409d-aabb-dcf43f97e6cb\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:53 GMT + - Fri, 11 Feb 2022 08:20:53 GMT expires: - '-1' pragma: @@ -520,57 +672,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestafw376rvo-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestoqq3ljcz6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/48c594a4-6009-4a99-bb71-4fd8a7dbb8ab\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/845dcb3a-0806-409d-aabb-dcf43f97e6cb\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:55 GMT + - Fri, 11 Feb 2022 08:20:54 GMT expires: - '-1' pragma: @@ -590,25 +746,26 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitestafw376rvo-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitestoqq3ljcz6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/48c594a4-6009-4a99-bb71-4fd8a7dbb8ab"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/845dcb3a-0806-409d-aabb-dcf43f97e6cb"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -619,65 +776,69 @@ interactions: Connection: - keep-alive Content-Length: - - '2311' + - '2427' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestafw376rvo-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestoqq3ljcz6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/48c594a4-6009-4a99-bb71-4fd8a7dbb8ab\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/845dcb3a-0806-409d-aabb-dcf43f97e6cb\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/4f8c8688-adf0-461d-a1a6-fc94593f653f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bf778db-4b01-4010-9fa7-57b9e55433b5?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3439' + - '3675' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:57 GMT + - Fri, 11 Feb 2022 08:20:57 GMT expires: - '-1' pragma: @@ -693,7 +854,151 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1186' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bf778db-4b01-4010-9fa7-57b9e55433b5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"db78f76b-014b-1040-9fa7-57b9e55433b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:57.4333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:21: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bf778db-4b01-4010-9fa7-57b9e55433b5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"db78f76b-014b-1040-9fa7-57b9e55433b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:57.4333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:21: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-managed-identity --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bf778db-4b01-4010-9fa7-57b9e55433b5?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"db78f76b-014b-1040-9fa7-57b9e55433b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:57.4333333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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 @@ -711,14 +1016,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f8c8688-adf0-461d-a1a6-fc94593f653f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bf778db-4b01-4010-9fa7-57b9e55433b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"88868c4f-f0ad-1d46-a1a6-fc94593f653f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:58.3133333Z\"\n }" + string: "{\n \"name\": \"db78f76b-014b-1040-9fa7-57b9e55433b5\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:20:57.4333333Z\"\n }" headers: cache-control: - no-cache @@ -727,7 +1032,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:28 GMT + - Fri, 11 Feb 2022 08:22:57 GMT expires: - '-1' pragma: @@ -759,24 +1064,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4f8c8688-adf0-461d-a1a6-fc94593f653f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6bf778db-4b01-4010-9fa7-57b9e55433b5?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"88868c4f-f0ad-1d46-a1a6-fc94593f653f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:19:58.3133333Z\",\n \"endTime\": - \"2021-10-19T07:20:57.185711Z\"\n }" + string: "{\n \"name\": \"db78f76b-014b-1040-9fa7-57b9e55433b5\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:20:57.4333333Z\",\n \"endTime\": + \"2022-02-11T08:23:09.0659882Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '170' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:58 GMT + - Fri, 11 Feb 2022 08:23:27 GMT expires: - '-1' pragma: @@ -808,57 +1113,61 @@ interactions: ParameterSetName: - --resource-group --name --enable-managed-identity --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestafw376rvo-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestafw376rvo-8ecadf-8c55fc67.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestoqq3ljcz6-8ecadf\",\n \"fqdn\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestoqq3ljcz6-8ecadf-f738e1de.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/48c594a4-6009-4a99-bb71-4fd8a7dbb8ab\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/845dcb3a-0806-409d-aabb-dcf43f97e6cb\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3441' + - '3677' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:58 GMT + - Fri, 11 Feb 2022 08:23:27 GMT expires: - '-1' pragma: @@ -892,26 +1201,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2ef37235-faf8-40ff-9bfb-59fb280e5df4?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/953ad3e0-0d66-4703-91bb-3dd374df94b3?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:21:01 GMT + - Fri, 11 Feb 2022 08:23:29 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/2ef37235-faf8-40ff-9bfb-59fb280e5df4?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/953ad3e0-0d66-4703-91bb-3dd374df94b3?api-version=2016-03-30 pragma: - no-cache server: @@ -921,7 +1230,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14997' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster_with_addons.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster_with_addons.yaml old mode 100755 new mode 100644 index 0db932a0bca..b46966389de --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster_with_addons.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_to_msi_cluster_with_addons.yaml @@ -13,21 +13,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:06:46Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2021-12-01T14:22:06Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '316' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:06:47 GMT + - Wed, 01 Dec 2021 14:22:07 GMT expires: - '-1' pragma: @@ -55,21 +55,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:06:46Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2021-12-01T14:22:06Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '316' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:06:47 GMT + - Wed, 01 Dec 2021 14:22:07 GMT expires: - '-1' pragma: @@ -97,9 +97,9 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: HEAD - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/DefaultResourceGroup-WUS2?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/DefaultResourceGroup-WEU?api-version=2021-04-01 response: body: string: '' @@ -109,7 +109,7 @@ interactions: content-length: - '0' date: - - Tue, 19 Oct 2021 07:06:48 GMT + - Wed, 01 Dec 2021 14:22:08 GMT expires: - '-1' pragma: @@ -135,26 +135,26 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DefaultResourceGroup-WUS2/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2?api-version=2015-11-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DefaultResourceGroup-WEU/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WEU?api-version=2015-11-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"ea401021-3198-45bf-881b-8209cc706412\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": - \"Mon, 02 Aug 2021 07:30:13 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Wed, 28 Jul 2021 04:12: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\": - \"Tue, 19 Oct 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Wed, 01 Dec 2021 16:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n - \ \"modifiedDate\": \"Mon, 18 Oct 2021 03:41:31 GMT\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n - \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 04:12:15 GMT\",\r\n + \ \"modifiedDate\": \"Wed, 01 Dec 2021 03:31:38 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WEU\",\r\n \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": - \"westus2\"\r\n}" + \"westeurope\"\r\n}" headers: cache-control: - no-cache @@ -163,7 +163,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:47 GMT + - Wed, 01 Dec 2021 14:22:08 GMT pragma: - no-cache server: @@ -197,26 +197,26 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2?api-version=2015-11-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu?api-version=2015-11-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"e897efd7-55de-4860-ac51-7403ccb7e3cf\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"ea401021-3198-45bf-881b-8209cc706412\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"standalone\",\r\n \"lastSkuUpdate\": - \"Mon, 02 Aug 2021 07:30:13 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Wed, 28 Jul 2021 04:12: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\": - \"Tue, 19 Oct 2021 23:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Wed, 01 Dec 2021 16:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Mon, 02 Aug 2021 07:30:13 GMT\",\r\n - \ \"modifiedDate\": \"Mon, 18 Oct 2021 03:41:31 GMT\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\r\n - \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WUS2\",\r\n + \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 04:12:15 GMT\",\r\n + \ \"modifiedDate\": \"Wed, 01 Dec 2021 03:31:38 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu\",\r\n + \ \"name\": \"DefaultWorkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-WEU\",\r\n \ \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \"location\": - \"westus2\"\r\n}" + \"westeurope\"\r\n}" headers: cache-control: - no-cache @@ -225,7 +225,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:48 GMT + - Wed, 01 Dec 2021 14:22:09 GMT pragma: - no-cache server: @@ -264,9 +264,9 @@ interactions: "[Concat(''ContainerInsights'', ''('', split(parameters(''workspaceResourceId''),''/'')[8], '')'')]", "product": "[Concat(''OMSGallery/'', ''ContainerInsights'')]", "promotionCode": "", "publisher": "Microsoft"}}]}, "parameters": {}}}]}, "parameters": {"workspaceResourceId": - {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"}, - "workspaceRegion": {"value": "westus2"}, "solutionDeploymentName": {"value": - "ContainerInsights-1634627209124"}}, "mode": "incremental"}}' + {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu"}, + "workspaceRegion": {"value": "westeurope"}, "solutionDeploymentName": {"value": + "ContainerInsights-1638368530351"}}, "mode": "incremental"}}' headers: Accept: - application/json @@ -277,21 +277,21 @@ interactions: Connection: - keep-alive Content-Length: - - '1956' + - '1957' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/aks-monitoring-1634627209124","name":"aks-monitoring-1634627209124","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7932017758444010137","parameters":{"workspaceResourceId":{"type":"String","value":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"workspaceRegion":{"type":"String","value":"westus2"},"solutionDeploymentName":{"type":"String","value":"ContainerInsights-1634627209124"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-10-19T07:06:49.8396026Z","duration":"PT0.1639072S","correlationId":"a9566505-dd2c-4bc2-b533-7e96f8dc416d","providers":[{"namespace":"Microsoft.Resources","resourceTypes":[{"resourceType":"deployments","locations":[null]}]}],"dependencies":[]}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.Resources/deployments/aks-monitoring-1638368530351","name":"aks-monitoring-1638368530351","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7932017758444010137","parameters":{"workspaceResourceId":{"type":"String","value":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu"},"workspaceRegion":{"type":"String","value":"westeurope"},"solutionDeploymentName":{"type":"String","value":"ContainerInsights-1638368530351"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-12-01T14:22:13.4043898Z","duration":"PT1.5320938S","correlationId":"2bdcc867-2399-4bed-b9a3-d1f45c283683","providers":[{"namespace":"Microsoft.Resources","resourceTypes":[{"resourceType":"deployments","locations":[null]}]}],"dependencies":[]}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/aks-monitoring-1634627209124/operationStatuses/08585669796758019237?api-version=2021-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.Resources/deployments/aks-monitoring-1638368530351/operationStatuses/08585632383536053194?api-version=2021-04-01 cache-control: - no-cache content-length: @@ -299,7 +299,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:06:48 GMT + - Wed, 01 Dec 2021 14:22:13 GMT expires: - '-1' pragma: @@ -309,21 +309,22 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 201 message: Created - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest37iqvywrb-8ecadf", + body: '{"location": "westeurope", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-cliteste4bie7uix-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"enabled": - true, "config": {"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {"omsagent": {"enabled": true, "config": + {"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu", "useAADAuth": "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", @@ -339,64 +340,66 @@ interactions: Connection: - keep-alive Content-Length: - - '1696' + - '2054' Content-Type: - application/json ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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\": + \ \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest37iqvywrb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-cliteste4bie7uix-8ecadf\",\n \"fqdn\": + \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.hcp.westeurope.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.portal.hcp.westeurope.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu\",\n \ \"useAADAuth\": \"False\"\n }\n }\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \"MC_clitest000001_cliakstest000002_westeurope\",\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 \"publicNetworkAccess\": \"Enabled\"\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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/9ca9ee18-4e8e-4ee8-9c61-e49893eb425f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/eac9ec2b-fcf5-498c-bf71-ab958a82bf66?api-version=2017-08-31 cache-control: - no-cache content-length: - - '3151' + - '3619' content-type: - application/json date: - - Tue, 19 Oct 2021 07:06:52 GMT + - Wed, 01 Dec 2021 14:22:23 GMT expires: - '-1' pragma: @@ -408,7 +411,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -426,9 +429,9 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585669796758019237?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585632383536053194?api-version=2021-04-01 response: body: string: '{"status":"Succeeded"}' @@ -440,7 +443,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:07:19 GMT + - Wed, 01 Dec 2021 14:22:44 GMT expires: - '-1' pragma: @@ -468,21 +471,21 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.Resources/deployments/aks-monitoring-1634627209124","name":"aks-monitoring-1634627209124","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7932017758444010137","parameters":{"workspaceResourceId":{"type":"String","value":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2"},"workspaceRegion":{"type":"String","value":"westus2"},"solutionDeploymentName":{"type":"String","value":"ContainerInsights-1634627209124"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-10-19T07:06:56.1554453Z","duration":"PT6.4797499S","correlationId":"a9566505-dd2c-4bc2-b533-7e96f8dc416d","providers":[{"namespace":"Microsoft.Resources","resourceTypes":[{"resourceType":"deployments","locations":[null]}]}],"dependencies":[],"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-wus2/providers/Microsoft.OperationsManagement/solutions/ContainerInsights(defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2)"}]}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.Resources/deployments/aks-monitoring-1638368530351","name":"aks-monitoring-1638368530351","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7932017758444010137","parameters":{"workspaceResourceId":{"type":"String","value":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu"},"workspaceRegion":{"type":"String","value":"westeurope"},"solutionDeploymentName":{"type":"String","value":"ContainerInsights-1638368530351"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-12-01T14:22:34.4473077Z","duration":"PT22.5750117S","correlationId":"2bdcc867-2399-4bed-b9a3-d1f45c283683","providers":[{"namespace":"Microsoft.Resources","resourceTypes":[{"resourceType":"deployments","locations":[null]}]}],"dependencies":[],"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/defaultresourcegroup-weu/providers/Microsoft.OperationsManagement/solutions/ContainerInsights(defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu)"}]}}' headers: cache-control: - no-cache content-length: - - '1274' + - '1273' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:07:19 GMT + - Wed, 01 Dec 2021 14:22:44 GMT expires: - '-1' pragma: @@ -510,14 +513,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9ca9ee18-4e8e-4ee8-9c61-e49893eb425f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/eac9ec2b-fcf5-498c-bf71-ab958a82bf66?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"18eea99c-8e4e-e84e-9c61-e49893eb425f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:52.7133333Z\"\n }" + string: "{\n \"name\": \"2becc9ea-f5fc-8c49-bf71-ab958a82bf66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:22:23.0333333Z\"\n }" headers: cache-control: - no-cache @@ -526,7 +529,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:22 GMT + - Wed, 01 Dec 2021 14:22:53 GMT expires: - '-1' pragma: @@ -558,14 +561,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9ca9ee18-4e8e-4ee8-9c61-e49893eb425f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/eac9ec2b-fcf5-498c-bf71-ab958a82bf66?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"18eea99c-8e4e-e84e-9c61-e49893eb425f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:52.7133333Z\"\n }" + string: "{\n \"name\": \"2becc9ea-f5fc-8c49-bf71-ab958a82bf66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:22:23.0333333Z\"\n }" headers: cache-control: - no-cache @@ -574,7 +577,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:52 GMT + - Wed, 01 Dec 2021 14:23:24 GMT expires: - '-1' pragma: @@ -606,14 +609,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9ca9ee18-4e8e-4ee8-9c61-e49893eb425f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/eac9ec2b-fcf5-498c-bf71-ab958a82bf66?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"18eea99c-8e4e-e84e-9c61-e49893eb425f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:52.7133333Z\"\n }" + string: "{\n \"name\": \"2becc9ea-f5fc-8c49-bf71-ab958a82bf66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:22:23.0333333Z\"\n }" headers: cache-control: - no-cache @@ -622,7 +625,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:22 GMT + - Wed, 01 Dec 2021 14:23:54 GMT expires: - '-1' pragma: @@ -654,14 +657,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9ca9ee18-4e8e-4ee8-9c61-e49893eb425f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/eac9ec2b-fcf5-498c-bf71-ab958a82bf66?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"18eea99c-8e4e-e84e-9c61-e49893eb425f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:52.7133333Z\"\n }" + string: "{\n \"name\": \"2becc9ea-f5fc-8c49-bf71-ab958a82bf66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:22:23.0333333Z\"\n }" headers: cache-control: - no-cache @@ -670,7 +673,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:53 GMT + - Wed, 01 Dec 2021 14:24:24 GMT expires: - '-1' pragma: @@ -702,14 +705,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9ca9ee18-4e8e-4ee8-9c61-e49893eb425f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/eac9ec2b-fcf5-498c-bf71-ab958a82bf66?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"18eea99c-8e4e-e84e-9c61-e49893eb425f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:52.7133333Z\"\n }" + string: "{\n \"name\": \"2becc9ea-f5fc-8c49-bf71-ab958a82bf66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:22:23.0333333Z\"\n }" headers: cache-control: - no-cache @@ -718,7 +721,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:22 GMT + - Wed, 01 Dec 2021 14:24:55 GMT expires: - '-1' pragma: @@ -750,14 +753,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9ca9ee18-4e8e-4ee8-9c61-e49893eb425f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/eac9ec2b-fcf5-498c-bf71-ab958a82bf66?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"18eea99c-8e4e-e84e-9c61-e49893eb425f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:06:52.7133333Z\"\n }" + string: "{\n \"name\": \"2becc9ea-f5fc-8c49-bf71-ab958a82bf66\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:22:23.0333333Z\"\n }" headers: cache-control: - no-cache @@ -766,7 +769,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:52 GMT + - Wed, 01 Dec 2021 14:25:25 GMT expires: - '-1' pragma: @@ -798,24 +801,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9ca9ee18-4e8e-4ee8-9c61-e49893eb425f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/eac9ec2b-fcf5-498c-bf71-ab958a82bf66?api-version=2017-08-31 response: body: - string: "{\n \"name\": \"18eea99c-8e4e-e84e-9c61-e49893eb425f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:06:52.7133333Z\",\n \"endTime\": - \"2021-10-19T07:09:56.0956207Z\"\n }" + string: "{\n \"name\": \"2becc9ea-f5fc-8c49-bf71-ab958a82bf66\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:22:23.0333333Z\",\n \"endTime\": + \"2021-12-01T14:25:45.734244Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '169' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:22 GMT + - Wed, 01 Dec 2021 14:25:54 GMT expires: - '-1' pragma: @@ -847,62 +850,65 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-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\": + \ \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest37iqvywrb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.portal.hcp.westus2.azmk8s.io\",\n + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-cliteste4bie7uix-8ecadf\",\n \"fqdn\": + \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.hcp.westeurope.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.portal.hcp.westeurope.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu\",\n \ \"useAADAuth\": \"False\"\n },\n \"identity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-cliakstest000002\",\n + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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 + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westeurope\",\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/4ca8e926-10ba-4d89-b50f-efabb38c476a\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westeurope/providers/Microsoft.Network/publicIPAddresses/704e1717-7d15-409c-8946-ff1e76008bba\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/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 \"publicNetworkAccess\": - \"Enabled\"\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"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: - - '4177' + - '4654' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:23 GMT + - Wed, 01 Dec 2021 14:25:55 GMT expires: - '-1' pragma: @@ -934,8 +940,9 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET @@ -943,7 +950,7 @@ interactions: response: body: string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2021-11-11T20:13:44.2828715Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' headers: cache-control: - no-cache @@ -952,7 +959,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:10:24 GMT + - Wed, 01 Dec 2021 14:25:55 GMT expires: - '-1' pragma: @@ -991,44 +998,40 @@ interactions: ParameterSetName: - --resource-group --name --enable-addons --ssh-key-value User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleAssignments/71155c65-e4dd-494a-a3a0-d8ffee8eaf6a?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/8d678a97-f387-4898-9cc5-3b9392de6986?api-version=2020-04-01-preview response: body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/71155c65-e4dd-494a-a3a0-d8ffee8eaf6a'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002","condition":null,"conditionVersion":null,"createdOn":"2021-12-01T14:25:56.6769677Z","updatedOn":"2021-12-01T14:25:56.9582291Z","createdBy":null,"updatedBy":"b4852ab3-e7d3-439a-a2b8-21c8ff55f816","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/8d678a97-f387-4898-9cc5-3b9392de6986","type":"Microsoft.Authorization/roleAssignments","name":"8d678a97-f387-4898-9cc5-3b9392de6986"}' headers: cache-control: - no-cache - connection: - - close content-length: - - '595' + - '1029' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:10:24 GMT + - Wed, 01 Dec 2021 14:26:00 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-failure-cause: - - gateway + x-ms-ratelimit-remaining-subscription-writes: + - '1194' status: - code: 403 - message: Forbidden + code: 201 + message: Created - request: body: null headers: @@ -1037,37 +1040,77 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value + - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-01 response: body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-cliteste4bie7uix-8ecadf\",\n \"fqdn\": + \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.hcp.westeurope.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.portal.hcp.westeurope.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu\",\n + \ \"useAADAuth\": \"False\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westeurope\",\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_westeurope/providers/Microsoft.Network/publicIPAddresses/704e1717-7d15-409c-8946-ff1e76008bba\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/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: - - '776' + - '4654' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 07:10:26 GMT + - Wed, 01 Dec 2021 14:26:00 GMT expires: - '-1' pragma: - no-cache - set-cookie: - - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + server: + - nginx strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1080,103 +1123,160 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' + body: '{"location": "westeurope", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + "cliakstest-cliteste4bie7uix-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.20.9", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "addonProfiles": {"omsagent": {"enabled": true, "config": {"logAnalyticsWorkspaceResourceID": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu", + "useAADAuth": "False"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westeurope", + "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_westeurope/providers/Microsoft.Network/publicIPAddresses/704e1717-7d15-409c-8946-ff1e76008bba"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive Content-Length: - - '233' + - '3058' Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production + - application/json ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value + - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/221c12f5-88b2-473c-9304-955fb9e1d194?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-01 response: body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/221c12f5-88b2-473c-9304-955fb9e1d194'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-cliteste4bie7uix-8ecadf\",\n \"fqdn\": + \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.hcp.westeurope.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.portal.hcp.westeurope.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu\",\n + \ \"useAADAuth\": \"False\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westeurope\",\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_westeurope/providers/Microsoft.Network/publicIPAddresses/704e1717-7d15-409c-8946-ff1e76008bba\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/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: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/95a763b1-7905-4bdf-9642-ab6ef4c96849?api-version=2017-08-31 cache-control: - no-cache - connection: - - close content-length: - - '595' + - '4286' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 07:10:26 GMT + - Wed, 01 Dec 2021 14:26: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 - x-ms-failure-cause: - - gateway + x-ms-ratelimit-remaining-subscription-writes: + - '1196' status: - code: 403 - message: Forbidden + code: 200 + message: OK - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value + - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/95a763b1-7905-4bdf-9642-ab6ef4c96849?api-version=2017-08-31 response: body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + string: "{\n \"name\": \"b163a795-0579-df4b-9642-ab6ef4c96849\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-12-01T14:26:04.9333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '776' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 07:10:30 GMT + - Wed, 01 Dec 2021 14:26:37 GMT expires: - '-1' pragma: - no-cache - set-cookie: - - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + server: + - nginx strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1188,104 +1288,44 @@ interactions: status: code: 200 message: OK -- request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/fd2b2824-ed97-4ff0-9bd2-647bcca80fff?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/fd2b2824-ed97-4ff0-9bd2-647bcca80fff'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:10:30 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: 403 - message: Forbidden - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value + - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 - accept-language: - - en-US + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/95a763b1-7905-4bdf-9642-ab6ef4c96849?api-version=2017-08-31 response: body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + string: "{\n \"name\": \"b163a795-0579-df4b-9642-ab6ef4c96849\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-12-01T14:26:04.9333333Z\",\n \"endTime\": + \"2021-12-01T14:27:03.2347895Z\"\n }" headers: cache-control: - no-cache content-length: - - '776' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 07:10:37 GMT + - Wed, 01 Dec 2021 14:27:07 GMT expires: - '-1' pragma: - no-cache - set-cookie: - - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + server: + - nginx strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1298,64 +1338,95 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value + - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/0fa29914-9e33-4a77-8603-b21d36484ce1?api-version=2020-04-01-preview + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-10-01 response: body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/0fa29914-9e33-4a77-8603-b21d36484ce1'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westeurope\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.20.9\",\n \"dnsPrefix\": \"cliakstest-cliteste4bie7uix-8ecadf\",\n \"fqdn\": + \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.hcp.westeurope.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.portal.hcp.westeurope.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.11.06\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-weu/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-weu\",\n + \ \"useAADAuth\": \"False\"\n },\n \"identity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westeurope\",\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_westeurope/providers/Microsoft.Network/publicIPAddresses/704e1717-7d15-409c-8946-ff1e76008bba\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westeurope/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 - connection: - - close content-length: - - '595' + - '4654' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 07:10:37 GMT + - Wed, 01 Dec 2021 14:27:07 GMT expires: - '-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-failure-cause: - - gateway status: - code: 403 - message: Forbidden + code: 200 + message: OK - request: body: null headers: @@ -1364,14 +1435,15 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value + - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.0 accept-language: - en-US method: GET @@ -1379,7 +1451,7 @@ interactions: response: body: string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' + publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2021-11-11T20:13:44.2828715Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' headers: cache-control: - no-cache @@ -1388,7 +1460,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:10:45 GMT + - Wed, 01 Dec 2021 14:27:08 GMT expires: - '-1' pragma: @@ -1415,7 +1487,7 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks update Connection: - keep-alive Content-Length: @@ -1425,2210 +1497,43 @@ interactions: Cookie: - x-ms-gateway-slice=Production ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value + - --resource-group --name --enable-managed-identity --yes User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.0 + - python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python + AZURECLI/2.30.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/providers/Microsoft.Authorization/roleAssignments/31c8d2c8-0e21-401e-9157-03efce417073?api-version=2020-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/4c267f8e-2853-4c2a-9bf4-dc901fac8c96?api-version=2020-04-01-preview response: body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/31c8d2c8-0e21-401e-9157-03efce417073'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' + string: '{"error":{"code":"RoleAssignmentExists","message":"The role assignment + already exists."}}' headers: cache-control: - no-cache - connection: - - close content-length: - - '595' + - '89' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:10:45 GMT + - Wed, 01 Dec 2021 14:27:09 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-failure-cause: - - gateway - status: - code: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:10:56 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/d0fa44e9-fa35-44c0-88a5-2debafd39391?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/d0fa44e9-fa35-44c0-88a5-2debafd39391'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:10:56 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:11:08 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/a5073e60-2dd7-4dc5-8b94-8c0119008d76?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/a5073e60-2dd7-4dc5-8b94-8c0119008d76'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:11:08 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:11:23 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/c65fc6c3-449d-42a6-9840-9d0efe27fd7b?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/c65fc6c3-449d-42a6-9840-9d0efe27fd7b'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:11:23 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:11: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 - 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/2d266918-d115-4ec8-9e46-1f1bec7bc6af?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/2d266918-d115-4ec8-9e46-1f1bec7bc6af'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:11:39 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:11:58 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-addons --ssh-key-value - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/1060ff13-d623-48ec-855b-68211bb57408?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/1060ff13-d623-48ec-855b-68211bb57408'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:11: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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest37iqvywrb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n - \ \"useAADAuth\": \"False\"\n },\n \"identity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/4ca8e926-10ba-4d89-b50f-efabb38c476a\"\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 \"publicNetworkAccess\": - \"Enabled\"\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: - - '4177' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:12: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": - "cliakstest-clitest37iqvywrb-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", - "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], - "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"omsagent": {"enabled": true, "config": {"logAnalyticsWorkspaceResourceID": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2", - "useAADAuth": "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/4ca8e926-10ba-4d89-b50f-efabb38c476a"}]}}, - "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '2637' - Content-Type: - - application/json - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest37iqvywrb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n - \ \"useAADAuth\": \"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/4ca8e926-10ba-4d89-b50f-efabb38c476a\"\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 \"publicNetworkAccess\": - \"Enabled\"\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/606c26f0-b1bc-4423-8067-dcea309478a3?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3812' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:12: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 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/606c26f0-b1bc-4423-8067-dcea309478a3?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"f0266c60-bcb1-2344-8067-dcea309478a3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:21.3666666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:12: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/606c26f0-b1bc-4423-8067-dcea309478a3?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"f0266c60-bcb1-2344-8067-dcea309478a3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:21.3666666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:13: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/606c26f0-b1bc-4423-8067-dcea309478a3?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"f0266c60-bcb1-2344-8067-dcea309478a3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:21.3666666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/606c26f0-b1bc-4423-8067-dcea309478a3?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"f0266c60-bcb1-2344-8067-dcea309478a3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:21.3666666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:14: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/606c26f0-b1bc-4423-8067-dcea309478a3?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"f0266c60-bcb1-2344-8067-dcea309478a3\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:12:21.3666666Z\",\n \"endTime\": - \"2021-10-19T07:14:50.6562308Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:14: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitest37iqvywrb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"omsagent\": {\n \"enabled\": true,\n \"config\": {\n \"logAnalyticsWorkspaceResourceID\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-wus2/providers/microsoft.operationalinsights/workspaces/defaultworkspace-8ecadfc9-d1a3-4ea4-b844-0d9f87e4d7c8-wus2\",\n - \ \"useAADAuth\": \"False\"\n },\n \"identity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/omsagent-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/4ca8e926-10ba-4d89-b50f-efabb38c476a\"\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 \"publicNetworkAccess\": - \"Enabled\"\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: - - '4177' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:14: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 update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:14: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 - 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/38d02a46-7d53-485c-adc7-602c6eb6c77f?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/38d02a46-7d53-485c-adc7-602c6eb6c77f'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:14:52 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:14:54 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/9170e18a-f392-4387-a2ab-758c3839ebfe?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/9170e18a-f392-4387-a2ab-758c3839ebfe'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:14:54 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:14:59 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/de92484e-fd28-47ee-87ce-0e889ef6993e?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/de92484e-fd28-47ee-87ce-0e889ef6993e'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:14:59 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:06 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/41c22406-eda4-4532-87b5-37605a8b81c7?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/41c22406-eda4-4532-87b5-37605a8b81c7'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:06 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:14 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/b176b806-41c3-40ee-adb0-f520f2f72e09?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/b176b806-41c3-40ee-adb0-f520f2f72e09'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:14 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:25 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/47516932-e430-4e99-9546-a7e7232aef30?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/47516932-e430-4e99-9546-a7e7232aef30'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:25 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:36 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/55d09c90-5edd-4735-afc6-b254d0608f6a?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/55d09c90-5edd-4735-afc6-b254d0608f6a'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:36 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:51 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/08c0b472-202c-4c4a-99a2-98920aa1e4b3?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/08c0b472-202c-4c4a-99a2-98920aa1e4b3'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:15:51 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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:16:07 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/a451237b-48e3-4c69-8ebb-e2374547a864?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/a451237b-48e3-4c69-8ebb-e2374547a864'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:16: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: 403 - message: Forbidden -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Monitoring%20Metrics%20Publisher%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Monitoring Metrics Publisher","type":"BuiltInRole","description":"Enables - publishing metrics against Azure resources","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Insights/Register/Action","Microsoft.Support/*","Microsoft.Resources/subscriptions/resourceGroups/read"],"notActions":[],"dataActions":["Microsoft.Insights/Metrics/Write"],"notDataActions":[]}],"createdOn":"2018-08-14T00:36:16.5610279Z","updatedOn":"2018-08-14T00:37:18.1465065Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb","type":"Microsoft.Authorization/roleDefinitions","name":"3913510d-42f4-4e42-8a64-420c390055eb"}]}' - headers: - cache-control: - - no-cache - content-length: - - '776' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:16:26 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/3913510d-42f4-4e42-8a64-420c390055eb", - "principalId":"00000000-0000-0000-0000-000000000001"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - Cookie: - - x-ms-gateway-slice=Production - ParameterSetName: - - --resource-group --name --enable-managed-identity --yes - User-Agent: - - python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) msrest/0.6.21 - msrest_azure/0.6.3 azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.29.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/providers/Microsoft.Authorization/roleAssignments/3ad515b0-2145-4d85-a04a-3153eeff7e2c?api-version=2020-04-01-preview - response: - body: - string: '{"error":{"code":"AuthorizationFailed","message":"The client ''119e1aeb-4592-42d6-9507-c66df857924f'' - with object id ''119e1aeb-4592-42d6-9507-c66df857924f'' does not have authorization - to perform action ''Microsoft.Authorization/roleAssignments/write'' over scope - ''/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Authorization/roleAssignments/3ad515b0-2145-4d85-a04a-3153eeff7e2c'' - or the scope is invalid. If access was recently granted, please refresh your - credentials."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '595' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Oct 2021 07:16:26 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - gateway + x-ms-ratelimit-remaining-subscription-writes: + - '1196' status: - code: 403 - message: Forbidden + code: 409 + message: Conflict - request: body: null headers: @@ -3643,10 +1548,10 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/outboundNetworkDependenciesEndpoints?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/outboundNetworkDependenciesEndpoints?api-version=2021-10-01 response: body: string: "{\n \"value\": [\n {\n \"category\": \"azure-resource-management\",\n @@ -3677,7 +1582,7 @@ interactions: \ ]\n },\n {\n \"domainName\": \"changelogs.ubuntu.com\",\n \ \"endpointDetails\": [\n {\n \"port\": 80,\n \"protocol\": \"Http\"\n }\n ]\n }\n ]\n },\n {\n \"category\": - \"apiserver\",\n \"endpoints\": [\n {\n \"domainName\": \"cliakstest-clitest37iqvywrb-8ecadf-39f7f1b6.hcp.westus2.azmk8s.io\",\n + \"apiserver\",\n \"endpoints\": [\n {\n \"domainName\": \"cliakstest-cliteste4bie7uix-8ecadf-17b95062.hcp.westeurope.azmk8s.io\",\n \ \"endpointDetails\": [\n {\n \"port\": 443,\n \"protocol\": \"Https\"\n }\n ]\n }\n ]\n },\n {\n \"category\": \"addon-monitoring\",\n \"endpoints\": [\n {\n \"domainName\": @@ -3694,11 +1599,11 @@ interactions: cache-control: - no-cache content-length: - - '3012' + - '3015' content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:47 GMT + - Wed, 01 Dec 2021 14:27:10 GMT expires: - '-1' pragma: @@ -3732,8 +1637,8 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-07-01 response: @@ -3741,17 +1646,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d937786a-1925-4c0d-8c9e-4ff404e473d2?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operations/33c38c6b-72d6-4ef3-80ab-886ca74dda1e?api-version=2017-08-31 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:16:47 GMT + - Wed, 01 Dec 2021 14:27:12 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d937786a-1925-4c0d-8c9e-4ff404e473d2?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westeurope/operationresults/33c38c6b-72d6-4ef3-80ab-886ca74dda1e?api-version=2017-08-31 pragma: - no-cache server: @@ -3761,7 +1666,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_update_with_oidc_issuer_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_oidc_issuer_enabled.yaml new file mode 100644 index 00000000000..47764767d6b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_oidc_issuer_enabled.yaml @@ -0,0 +1,1194 @@ +interactions: +- request: + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest5gwrzktzt-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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"}, "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1419' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5gwrzktzt-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3024' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28:13 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: + - '1188' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:29: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:29: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8f616bde-57d0-4993-b2d0-1d6addeb3c84?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"de6b618f-d057-9349-b2d0-1d6addeb3c84\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:28:13.8133333Z\",\n \"endTime\": + \"2022-02-11T08:32:34.3020521Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --enable-managed-identity --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5gwrzktzt-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/08afedf0-37be-4c41-81e5-24f097ed9f7f\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3677' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:32: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 update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5gwrzktzt-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/08afedf0-37be-4c41-81e5-24f097ed9f7f\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3677' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:32: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliakstest-clitest5gwrzktzt-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.21.7", "powerState": {"code": "Running"}, + "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "oidcIssuerProfile": {"enabled": true}, "nodeResourceGroup": "MC_clitest000001_cliakstest000001_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, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/08afedf0-37be-4c41-81e5-24f097ed9f7f"}]}, + "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "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"}}, + "disableLocalAccounts": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '2467' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5gwrzktzt-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/08afedf0-37be-4c41-81e5-24f097ed9f7f\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": true,\n \"issuerURL\": \"https://oidc.prod-aks.azure.com/1da966a3-5e77-462a-b1e6-9b28b8619b67/\"\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/c8bf776f-4391-430a-89af-0064de75d992?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3764' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:32: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1190' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c8bf776f-4391-430a-89af-0064de75d992?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f77bfc8-9143-0a43-89af-0064de75d992\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:32:48.1966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:33: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c8bf776f-4391-430a-89af-0064de75d992?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f77bfc8-9143-0a43-89af-0064de75d992\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:32:48.1966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:33: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c8bf776f-4391-430a-89af-0064de75d992?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f77bfc8-9143-0a43-89af-0064de75d992\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:32:48.1966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:34: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c8bf776f-4391-430a-89af-0064de75d992?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f77bfc8-9143-0a43-89af-0064de75d992\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:32:48.1966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:34: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c8bf776f-4391-430a-89af-0064de75d992?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f77bfc8-9143-0a43-89af-0064de75d992\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:32:48.1966666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c8bf776f-4391-430a-89af-0064de75d992?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f77bfc8-9143-0a43-89af-0064de75d992\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:32:48.1966666Z\",\n \"endTime\": + \"2022-02-11T08:35:25.8978082Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-oidc-issuer + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest5gwrzktzt-8ecadf\",\n \"fqdn\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest5gwrzktzt-8ecadf-4c2d666d.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/08afedf0-37be-4c41-81e5-24f097ed9f7f\"\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 \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": true,\n \"issuerURL\": \"https://oidc.prod-aks.azure.com/1da966a3-5e77-462a-b1e6-9b28b8619b67/\"\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: + - '3766' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:35: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 +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_gmsa.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_gmsa.yaml index 96e1ed24148..ceaa57f7431 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_gmsa.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_gmsa.yaml @@ -1,430 +1,651 @@ interactions: - 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 - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 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/clitest000001?api-version=2021-04-01 - response: - body: {string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"centraluseuap","tags":{"product":"azurecli","cause":"automation","date":"2021-10-19T09:27:19Z"},"properties":{"provisioningState":"Succeeded"}}'} - headers: - cache-control: [no-cache] - content-length: ['319'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 19 Oct 2021 09:27: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: '{"location": "centraluseuap", "identity": {"type": "SystemAssigned"}, "properties": + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": - "replace-Password1234$"}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "azure", "outboundType": "loadBalancer", - "loadBalancerSku": "standard"}, "disableLocalAccounts": false}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - Content-Length: ['1675'] - Content-Type: [application/json] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": + "azureuser1", "adminPassword": "replace-Password1234$"}, "addonProfiles": {}, + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1367' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000001\",\n\ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1ce35c56.hcp.centraluseuap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliaksdns000002-1ce35c56.portal.hcp.centraluseuap.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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_centraluseuap\"\ - ,\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\": 100,\n\ - \ \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": \"Enabled\"\ - \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/centraluseuap/operations/c9daf69a-f100-4795-b39a-b4881773e727?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['3133'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:27:37 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: ['1198'] - status: {code: 201, message: Created} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-a217cb31.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-a217cb31.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2977' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:24:10 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: + - '1193' + status: + code: 201 + message: Created - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/c9daf69a-f100-4795-b39a-b4881773e727?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"9af6dac9-00f1-9547-b39a-b4881773e727\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:27:36.9766666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:28: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] - status: {code: 200, message: OK} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ad02668c-9052-614e-8a9c-3875d7f8533c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:11.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:24: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: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/c9daf69a-f100-4795-b39a-b4881773e727?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"9af6dac9-00f1-9547-b39a-b4881773e727\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:27:36.9766666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:28: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ad02668c-9052-614e-8a9c-3875d7f8533c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:11.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:25: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/c9daf69a-f100-4795-b39a-b4881773e727?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"9af6dac9-00f1-9547-b39a-b4881773e727\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:27:36.9766666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:29: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] - status: {code: 200, message: OK} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ad02668c-9052-614e-8a9c-3875d7f8533c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:11.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:25: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/c9daf69a-f100-4795-b39a-b4881773e727?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"9af6dac9-00f1-9547-b39a-b4881773e727\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:27:36.9766666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:29: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ad02668c-9052-614e-8a9c-3875d7f8533c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:11.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:26: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/c9daf69a-f100-4795-b39a-b4881773e727?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"9af6dac9-00f1-9547-b39a-b4881773e727\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:27:36.9766666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:30: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ad02668c-9052-614e-8a9c-3875d7f8533c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:11.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:26: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/c9daf69a-f100-4795-b39a-b4881773e727?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"9af6dac9-00f1-9547-b39a-b4881773e727\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:27:36.9766666Z\"\ - \n }"} - headers: - cache-control: [no-cache] - content-length: ['126'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:30: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ad02668c-9052-614e-8a9c-3875d7f8533c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:11.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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 - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/c9daf69a-f100-4795-b39a-b4881773e727?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"9af6dac9-00f1-9547-b39a-b4881773e727\",\n \"\ - status\": \"Succeeded\",\n \"startTime\": \"2021-10-19T09:27:36.9766666Z\"\ - ,\n \"endTime\": \"2021-10-19T09:30:54.5082641Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['170'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:31: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ad02668c-9052-614e-8a9c-3875d7f8533c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:11.2Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '120' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:27: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks create] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --location --dns-name-prefix --node-count - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --ssh-key-value] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000001\",\n\ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1ce35c56.hcp.centraluseuap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliaksdns000002-1ce35c56.portal.hcp.centraluseuap.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ - adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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_centraluseuap\"\ - ,\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_centraluseuap/providers/Microsoft.Network/publicIPAddresses/0fe77fc8-5baf-4c0d-8202-5995347df561\"\ - \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_centraluseuap/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 \"publicNetworkAccess\": \"Enabled\"\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: ['3808'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:31: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c6602ad-5290-4e61-8a9c-3875d7f8533c?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"ad02668c-9052-614e-8a9c-3875d7f8533c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:24:11.2Z\",\n \"endTime\": + \"2022-02-11T08:27:42.9351725Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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 nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-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 \"workloadRuntime\": \"OCIContainer\",\n\ - \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n\ - \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.10.13\",\n \"enableFIPS\": false\n\ - \ }\n }\n ]\n }"} - headers: - cache-control: [no-cache] - content-length: ['973'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:31: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-a217cb31.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-a217cb31.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/812ef741-358e-424f-bfde-2aafdcb85788\"\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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '3630' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '1002' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "workloadRuntime": "OCIContainer", "osType": "Windows", "scaleDownMode": "Delete", "mode": "User", @@ -432,995 +653,2895 @@ interactions: "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false}}' headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - Content-Length: ['394'] - Content-Type: [application/json] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '394' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\"\ - : false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n\ - \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\"\ - : \"AKSWindows-2019-17763.2237.211014\",\n \"upgradeSettings\": {},\n \ - \ \"enableFIPS\": false\n }\n }"} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['913'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:31:13 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: ['1197'] - status: {code: 201, message: Created} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\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/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '941' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28:15 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: + - '1190' + status: + code: 201 + message: Created - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:31: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:32: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:29: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:32: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:29: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:33: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:30: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:33: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:30: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:34: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:31: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:34: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:31: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:35: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:32: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:35: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:32: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:36: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:33: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:36: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:33: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:37: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:34: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/81eeefe0-0037-4192-b496-82ad96b3c604?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"e0efee81-3700-9241-b496-82ad96b3c604\",\n \"\ - status\": \"Succeeded\",\n \"startTime\": \"2021-10-19T09:31:14.66Z\",\n\ - \ \"endTime\": \"2021-10-19T09:37:43.5432758Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['165'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:37: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40861af7-50dd-4a7a-b585-6c95a078dc63?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"f71a8640-dd50-7a4a-b585-6c95a078dc63\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:28:15.6866666Z\",\n \"endTime\": + \"2022-02-11T08:34:42.4592285Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:34: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks nodepool add] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --os-type --node-count] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n\ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"\ - enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ - : false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"\ - nodeImageVersion\": \"AKSWindows-2019-17763.2237.211014\",\n \"upgradeSettings\"\ - : {},\n \"enableFIPS\": false\n }\n }"} - headers: - cache-control: [no-cache] - content-length: ['914'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:37: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:34: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 update] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000001\",\n\ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1ce35c56.hcp.centraluseuap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliaksdns000002-1ce35c56.portal.hcp.centraluseuap.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2237.211014\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n\ - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ - : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.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_centraluseuap\"\ - ,\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_centraluseuap/providers/Microsoft.Network/publicIPAddresses/0fe77fc8-5baf-4c0d-8202-5995347df561\"\ - \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_centraluseuap/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 \"publicNetworkAccess\": \"Enabled\"\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: ['4506'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:37: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: '{"location": "centraluseuap", "sku": {"name": "Basic", "tier": "Free"}, - "identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": - "1.20.9", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, - "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": - "Ubuntu", "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": - "1.20.9", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-a217cb31.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-a217cb31.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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/812ef741-358e-424f-bfde-2aafdcb85788\"\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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4366' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:34: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: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": + "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": + "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.7", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Windows", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", "mode": - "User", "orchestratorVersion": "1.20.9", "upgradeSettings": {}, "powerState": - {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "User", "orchestratorVersion": "1.21.7", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "nodeTaints": [""], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== - test@example.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "enableCSIProxy": - true, "gmsaProfile": {"enabled": true}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "nodeResourceGroup": "MC_clitest000001_cliakstest000001_centraluseuap", "enableRBAC": - true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": + "azureuser1", "enableCSIProxy": true, "gmsaProfile": {"enabled": 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_centraluseuap/providers/Microsoft.Network/publicIPAddresses/0fe77fc8-5baf-4c0d-8202-5995347df561"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_centraluseuap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1, "countIPv6": 0}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/812ef741-358e-424f-bfde-2aafdcb85788"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks update] - Connection: [keep-alive] - Content-Length: ['3203'] - Content-Type: [application/json] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + "disableLocalAccounts": false}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '2954' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000001\",\n\ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Upgrading\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1ce35c56.hcp.centraluseuap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliaksdns000002-1ce35c56.portal.hcp.centraluseuap.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Upgrading\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Upgrading\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2237.211014\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n\ - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ - : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\"\ - : {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true,\n\ - \ \"gmsaProfile\": {\n \"enabled\": true,\n \"dnsServer\": \"\"\ - ,\n \"rootDomainName\": \"\"\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_centraluseuap\"\ - ,\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_centraluseuap/providers/Microsoft.Network/publicIPAddresses/0fe77fc8-5baf-4c0d-8202-5995347df561\"\ - \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_centraluseuap/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 \"publicNetworkAccess\": \"Enabled\"\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/centraluseuap/operations/032b36fa-ebcf-4663-9e09-6b63600baee2?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['4604'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:37: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] - x-ms-ratelimit-remaining-subscription-writes: ['1197'] - status: {code: 200, message: OK} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Upgrading\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-a217cb31.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-a217cb31.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Upgrading\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Upgrading\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true,\n + \ \"gmsaProfile\": {\n \"enabled\": true,\n \"dnsServer\": \"\",\n + \ \"rootDomainName\": \"\"\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\": + \"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/812ef741-358e-424f-bfde-2aafdcb85788\"\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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4464' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:34: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1189' + status: + code: 200 + message: OK - request: body: null headers: - Accept: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks update] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/032b36fa-ebcf-4663-9e09-6b63600baee2?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"fa362b03-cfeb-6346-9e09-6b63600baee2\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:37:55.85Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:38: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:35: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks update] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/032b36fa-ebcf-4663-9e09-6b63600baee2?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"fa362b03-cfeb-6346-9e09-6b63600baee2\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:37:55.85Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:38: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:35: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks update] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/032b36fa-ebcf-4663-9e09-6b63600baee2?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"fa362b03-cfeb-6346-9e09-6b63600baee2\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:37:55.85Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:39: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:36: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks update] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/032b36fa-ebcf-4663-9e09-6b63600baee2?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"fa362b03-cfeb-6346-9e09-6b63600baee2\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:37:55.85Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:39: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:36: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks update] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/032b36fa-ebcf-4663-9e09-6b63600baee2?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"fa362b03-cfeb-6346-9e09-6b63600baee2\",\n \"\ - status\": \"InProgress\",\n \"startTime\": \"2021-10-19T09:37:55.85Z\"\n\ - \ }"} - headers: - cache-control: [no-cache] - content-length: ['121'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:40:30 GMT'] - expires: ['-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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:37: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks update] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/032b36fa-ebcf-4663-9e09-6b63600baee2?api-version=2016-03-30 - response: - body: {string: "{\n \"name\": \"fa362b03-cfeb-6346-9e09-6b63600baee2\",\n \"\ - status\": \"Succeeded\",\n \"startTime\": \"2021-10-19T09:37:55.85Z\",\n\ - \ \"endTime\": \"2021-10-19T09:40:49.6135207Z\"\n }"} - headers: - cache-control: [no-cache] - content-length: ['165'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:41: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:37: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: ['*/*'] - Accept-Encoding: ['gzip, deflate'] - CommandName: [aks update] - Connection: [keep-alive] - ParameterSetName: [--resource-group --name --enable-windows-gmsa --yes] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 - response: - body: {string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ - ,\n \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000001\",\n\ - \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ - : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.20.9\",\n \"dnsPrefix\"\ - : \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-1ce35c56.hcp.centraluseuap.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliaksdns000002-1ce35c56.portal.hcp.centraluseuap.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"\ - Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n\ - \ \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": false,\n\ - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \ - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\"\ - : \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.13\"\ - ,\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ - \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\"\ - ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\"\ - ,\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2237.211014\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n\ - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\"\ - : {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ==\ - \ test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\"\ - : {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true,\n\ - \ \"gmsaProfile\": {\n \"enabled\": true,\n \"dnsServer\": \"\"\ - ,\n \"rootDomainName\": \"\"\n }\n },\n \"servicePrincipalProfile\"\ - : {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \ - \ \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_centraluseuap\"\ - ,\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_centraluseuap/providers/Microsoft.Network/publicIPAddresses/0fe77fc8-5baf-4c0d-8202-5995347df561\"\ - \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_centraluseuap/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 \"publicNetworkAccess\": \"Enabled\"\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: ['4604'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:41: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:38: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 delete] - Connection: [keep-alive] - ParameterSetName: [--resource-group --cluster-name --name --no-wait] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-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 \"workloadRuntime\": \"OCIContainer\",\n\ - \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n\ - \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"\ - enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"\ - osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ - : \"AKSUbuntu-1804gen2containerd-2021.10.13\",\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 \"workloadRuntime\": \"OCIContainer\",\n\ - \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\"\ - ,\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\"\ - : \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\"\ - ,\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n\ - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2237.211014\"\ - ,\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n\ - \ ]\n }"} - headers: - cache-control: [no-cache] - content-length: ['1948'] - content-type: [application/json] - date: ['Tue, 19 Oct 2021 09:41: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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:38: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 delete] - Connection: [keep-alive] - Content-Length: ['0'] - ParameterSetName: [--resource-group --cluster-name --name --no-wait] - User-Agent: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:39: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:39: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:40: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:40: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:41: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:41: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:42: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:42: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:43: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:43: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:44: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:44: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:45: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:45: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:46: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:48: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:48: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:49: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:49: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:50: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:50: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: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3217000a-b4dd-4d13-92db-4fae8ece5841?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"0a001732-ddb4-134d-92db-4fae8ece5841\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:34:51.1433333Z\",\n \"endTime\": + \"2022-02-11T08:51:11.9247689Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:51: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: null + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKSWindowsGmsaPreview + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enable-windows-gmsa --yes --aks-custom-headers + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-a217cb31.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-a217cb31.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true,\n + \ \"gmsaProfile\": {\n \"enabled\": true,\n \"dnsServer\": \"\",\n + \ \"rootDomainName\": \"\"\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\": + \"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/812ef741-358e-424f-bfde-2aafdcb85788\"\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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: + - '4464' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:51: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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview + 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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2366.220117\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n + }" + headers: + cache-control: + - no-cache + content-length: + - '2011' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:51: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 delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --cluster-name --name --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 - response: - body: {string: ''} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/6381d182-92fb-43a0-b90d-0c8f971c35d4?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['0'] - date: ['Tue, 19 Oct 2021 09:41:03 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operationresults/6381d182-92fb-43a0-b90d-0c8f971c35d4?api-version=2016-03-30'] - 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} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0afd774a-ee26-4cae-ba8f-5480211e80ca?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 11 Feb 2022 08:51:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/0afd774a-ee26-4cae-ba8f-5480211e80ca?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14995' + status: + code: 202 + message: Accepted - 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: [AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 - Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29)] + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-07-01 - response: - body: {string: ''} - headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/5204d4be-a925-4994-88cb-c4545d221ddd?api-version=2016-03-30'] - cache-control: [no-cache] - content-length: ['0'] - date: ['Tue, 19 Oct 2021 09:41:07 GMT'] - expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operationresults/5204d4be-a925-4994-88cb-c4545d221ddd?api-version=2016-03-30'] - pragma: [no-cache] - server: [nginx] - strict-transport-security: [max-age=31536000; includeSubDomains] - x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-deletes: ['14998'] - status: {code: 202, message: Accepted} + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08f3ec64-831d-4710-b6c4-67a2cb1b6843?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 11 Feb 2022 08:51:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/08f3ec64-831d-4710-b6c4-67a2cb1b6843?api-version=2016-03-30 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14993' + status: + code: 202 + message: Accepted version: 1 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 old mode 100755 new mode 100644 index 971b182a3eb..293bd22a87f --- 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 @@ -1,6 +1,19 @@ interactions: - request: - body: null + body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": + "azureuser1", "adminPassword": "p@0A000003"}, "addonProfiles": {}, "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": + false}}' headers: Accept: - application/json @@ -10,32 +23,125 @@ interactions: - aks create Connection: - keep-alive + Content-Length: + - '1356' + Content-Type: + - application/json ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e9910927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-e9910927.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2977' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:23:31 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: + - '1193' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 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-10-19T07:09:17Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\n \"name\": \"ffdf968b-da6e-1242-a289-f7484a85d0ce\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:23:32.3333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '313' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 07:09:18 GMT + - Fri, 11 Feb 2022 08: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: @@ -44,86 +150,38 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": - [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": - "azureuser1", "adminPassword": "p@0A000003"}, "addonProfiles": {}, "enableRBAC": - true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": - "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": - false}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1335' - Content-Type: - - application/json ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 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\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e1bcffd6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-e1bcffd6.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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\": 100,\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\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\": \"ffdf968b-da6e-1242-a289-f7484a85d0ce\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:23:32.3333333Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a6d4c63-b2c4-4662-b1ac-ae0e56d92fd7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2780' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:21 GMT + - Fri, 11 Feb 2022 08:24:32 GMT expires: - '-1' pragma: @@ -132,13 +190,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: - - '1195' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -155,14 +215,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a6d4c63-b2c4-4662-b1ac-ae0e56d92fd7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"634c6d1a-c4b2-6246-b1ac-ae0e56d92fd7\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:09:21.6933333Z\"\n }" + string: "{\n \"name\": \"ffdf968b-da6e-1242-a289-f7484a85d0ce\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:23:32.3333333Z\"\n }" headers: cache-control: - no-cache @@ -171,7 +231,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:51 GMT + - Fri, 11 Feb 2022 08:25:02 GMT expires: - '-1' pragma: @@ -205,14 +265,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a6d4c63-b2c4-4662-b1ac-ae0e56d92fd7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"634c6d1a-c4b2-6246-b1ac-ae0e56d92fd7\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:09:21.6933333Z\"\n }" + string: "{\n \"name\": \"ffdf968b-da6e-1242-a289-f7484a85d0ce\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:23:32.3333333Z\"\n }" headers: cache-control: - no-cache @@ -221,7 +281,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:21 GMT + - Fri, 11 Feb 2022 08:25:32 GMT expires: - '-1' pragma: @@ -255,14 +315,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a6d4c63-b2c4-4662-b1ac-ae0e56d92fd7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"634c6d1a-c4b2-6246-b1ac-ae0e56d92fd7\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:09:21.6933333Z\"\n }" + string: "{\n \"name\": \"ffdf968b-da6e-1242-a289-f7484a85d0ce\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:23:32.3333333Z\"\n }" headers: cache-control: - no-cache @@ -271,7 +331,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:51 GMT + - Fri, 11 Feb 2022 08:26:02 GMT expires: - '-1' pragma: @@ -305,14 +365,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a6d4c63-b2c4-4662-b1ac-ae0e56d92fd7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"634c6d1a-c4b2-6246-b1ac-ae0e56d92fd7\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:09:21.6933333Z\"\n }" + string: "{\n \"name\": \"ffdf968b-da6e-1242-a289-f7484a85d0ce\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:23:32.3333333Z\"\n }" headers: cache-control: - no-cache @@ -321,7 +381,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:11:21 GMT + - Fri, 11 Feb 2022 08:26:32 GMT expires: - '-1' pragma: @@ -355,14 +415,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a6d4c63-b2c4-4662-b1ac-ae0e56d92fd7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"634c6d1a-c4b2-6246-b1ac-ae0e56d92fd7\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:09:21.6933333Z\"\n }" + string: "{\n \"name\": \"ffdf968b-da6e-1242-a289-f7484a85d0ce\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:23:32.3333333Z\"\n }" headers: cache-control: - no-cache @@ -371,7 +431,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:11:51 GMT + - Fri, 11 Feb 2022 08:27:02 GMT expires: - '-1' pragma: @@ -405,15 +465,15 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1a6d4c63-b2c4-4662-b1ac-ae0e56d92fd7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8b96dfff-6eda-4212-a289-f7484a85d0ce?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"634c6d1a-c4b2-6246-b1ac-ae0e56d92fd7\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:09:21.6933333Z\",\n \"endTime\": - \"2021-10-19T07:11:55.3223985Z\"\n }" + string: "{\n \"name\": \"ffdf968b-da6e-1242-a289-f7484a85d0ce\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:23:32.3333333Z\",\n \"endTime\": + \"2022-02-11T08:27:16.5118413Z\"\n }" headers: cache-control: - no-cache @@ -422,7 +482,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:22 GMT + - Fri, 11 Feb 2022 08:27:32 GMT expires: - '-1' pragma: @@ -456,30 +516,32 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e1bcffd6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-e1bcffd6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e9910927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-e9910927.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -487,25 +549,28 @@ interactions: \ \"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/501f558d-d7de-4210-8919-cda33ce50221\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e08691c-e189-4dd0-be77-89105c6203ff\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3443' + - '3630' content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:22 GMT + - Fri, 11 Feb 2022 08:27:33 GMT expires: - '-1' pragma: @@ -537,10 +602,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -548,22 +613,22 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '973' + - '1002' content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:22 GMT + - Fri, 11 Feb 2022 08:27:33 GMT expires: - '-1' pragma: @@ -603,10 +668,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -616,21 +681,22 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\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/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 cache-control: - no-cache content-length: - - '913' + - '941' content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:28 GMT + - Fri, 11 Feb 2022 08:27:36 GMT expires: - '-1' pragma: @@ -642,7 +708,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1193' status: code: 201 message: Created @@ -660,14 +726,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -676,7 +742,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:58 GMT + - Fri, 11 Feb 2022 08:28:07 GMT expires: - '-1' pragma: @@ -708,14 +774,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -724,7 +790,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:27 GMT + - Fri, 11 Feb 2022 08:28:37 GMT expires: - '-1' pragma: @@ -756,14 +822,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -772,7 +838,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:58 GMT + - Fri, 11 Feb 2022 08:29:06 GMT expires: - '-1' pragma: @@ -804,14 +870,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -820,7 +886,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:28 GMT + - Fri, 11 Feb 2022 08:29:36 GMT expires: - '-1' pragma: @@ -852,14 +918,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -868,7 +934,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:58 GMT + - Fri, 11 Feb 2022 08:30:06 GMT expires: - '-1' pragma: @@ -900,14 +966,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -916,7 +982,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:28 GMT + - Fri, 11 Feb 2022 08:30:37 GMT expires: - '-1' pragma: @@ -948,14 +1014,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -964,7 +1030,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:58 GMT + - Fri, 11 Feb 2022 08:31:07 GMT expires: - '-1' pragma: @@ -996,14 +1062,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -1012,7 +1078,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:28 GMT + - Fri, 11 Feb 2022 08:31:37 GMT expires: - '-1' pragma: @@ -1044,14 +1110,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -1060,7 +1126,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:58 GMT + - Fri, 11 Feb 2022 08:32:07 GMT expires: - '-1' pragma: @@ -1092,14 +1158,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -1108,7 +1174,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:29 GMT + - Fri, 11 Feb 2022 08:32:38 GMT expires: - '-1' pragma: @@ -1140,14 +1206,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -1156,7 +1222,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:58 GMT + - Fri, 11 Feb 2022 08:33:07 GMT expires: - '-1' pragma: @@ -1188,14 +1254,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\"\n }" headers: cache-control: - no-cache @@ -1204,7 +1270,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:28 GMT + - Fri, 11 Feb 2022 08:33:37 GMT expires: - '-1' pragma: @@ -1236,63 +1302,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/abfa65e0-d43a-421e-a0e6-6f8b05d03638?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Tue, 19 Oct 2021 07:18: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: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cc926314-6fe5-45ef-b0a8-31c301fd0ed9?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"146392cc-e56f-ef45-b0a8-31c301fd0ed9\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:12:28.5066666Z\",\n \"endTime\": - \"2021-10-19T07:19:26.0536999Z\"\n }" + string: "{\n \"name\": \"e065faab-3ad4-1e42-a0e6-6f8b05d03638\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:27:36.9666666Z\",\n \"endTime\": + \"2022-02-11T08:34:04.4333106Z\"\n }" headers: cache-control: - no-cache @@ -1301,7 +1319,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:29 GMT + - Fri, 11 Feb 2022 08:34:07 GMT expires: - '-1' pragma: @@ -1333,10 +1351,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -1346,19 +1364,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" headers: cache-control: - no-cache content-length: - - '914' + - '942' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:29 GMT + - Fri, 11 Feb 2022 08:34:08 GMT expires: - '-1' pragma: @@ -1390,39 +1409,42 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e1bcffd6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-e1bcffd6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e9910927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-e9910927.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1430,25 +1452,28 @@ interactions: \ \"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/501f558d-d7de-4210-8919-cda33ce50221\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e08691c-e189-4dd0-be77-89105c6203ff\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4141' + - '4366' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:30 GMT + - Fri, 11 Feb 2022 08:34:09 GMT expires: - '-1' pragma: @@ -1468,31 +1493,32 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.20.9", "dnsPrefix": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.21.7", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": - "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": - "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": "1.20.9", - "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.21.7", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Windows", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", "mode": - "User", "orchestratorVersion": "1.20.9", "upgradeSettings": {}, "powerState": - {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "User", "orchestratorVersion": "1.21.7", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "nodeTaints": [""], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": "n!C3000004", "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/501f558d-d7de-4210-8919-cda33ce50221"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1, "countIPv6": 0}, + "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e08691c-e189-4dd0-be77-89105c6203ff"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1503,45 +1529,48 @@ interactions: Connection: - keep-alive Content-Length: - - '2853' + - '2951' Content-Type: - application/json ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e1bcffd6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-e1bcffd6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e9910927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-e9910927.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Updating\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Updating\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1549,27 +1578,30 @@ interactions: \ \"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/501f558d-d7de-4210-8919-cda33ce50221\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e08691c-e189-4dd0-be77-89105c6203ff\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 cache-control: - no-cache content-length: - - '4138' + - '4363' content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:32 GMT + - Fri, 11 Feb 2022 08:34:11 GMT expires: - '-1' pragma: @@ -1585,7 +1617,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1187' status: code: 200 message: OK @@ -1603,23 +1635,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:02 GMT + - Fri, 11 Feb 2022 08:34:41 GMT expires: - '-1' pragma: @@ -1651,23 +1683,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:32 GMT + - Fri, 11 Feb 2022 08:35:11 GMT expires: - '-1' pragma: @@ -1699,23 +1731,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:02 GMT + - Fri, 11 Feb 2022 08:35:41 GMT expires: - '-1' pragma: @@ -1747,23 +1779,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:32 GMT + - Fri, 11 Feb 2022 08:36:11 GMT expires: - '-1' pragma: @@ -1795,23 +1827,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:03 GMT + - Fri, 11 Feb 2022 08:36:42 GMT expires: - '-1' pragma: @@ -1843,23 +1875,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:33 GMT + - Fri, 11 Feb 2022 08:37:11 GMT expires: - '-1' pragma: @@ -1891,23 +1923,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:02 GMT + - Fri, 11 Feb 2022 08:37:41 GMT expires: - '-1' pragma: @@ -1939,23 +1971,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:32 GMT + - Fri, 11 Feb 2022 08:38:11 GMT expires: - '-1' pragma: @@ -1987,23 +2019,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:02 GMT + - Fri, 11 Feb 2022 08:38:41 GMT expires: - '-1' pragma: @@ -2035,23 +2067,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:33 GMT + - Fri, 11 Feb 2022 08:39:11 GMT expires: - '-1' pragma: @@ -2083,23 +2115,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:03 GMT + - Fri, 11 Feb 2022 08:39:42 GMT expires: - '-1' pragma: @@ -2131,23 +2163,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:32 GMT + - Fri, 11 Feb 2022 08:40:12 GMT expires: - '-1' pragma: @@ -2179,23 +2211,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:03 GMT + - Fri, 11 Feb 2022 08:40:42 GMT expires: - '-1' pragma: @@ -2227,23 +2259,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:33 GMT + - Fri, 11 Feb 2022 08:41:12 GMT expires: - '-1' pragma: @@ -2275,23 +2307,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:03 GMT + - Fri, 11 Feb 2022 08:41:42 GMT expires: - '-1' pragma: @@ -2323,23 +2355,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:33 GMT + - Fri, 11 Feb 2022 08:42:12 GMT expires: - '-1' pragma: @@ -2371,23 +2403,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:03 GMT + - Fri, 11 Feb 2022 08:42:42 GMT expires: - '-1' pragma: @@ -2419,23 +2451,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:33 GMT + - Fri, 11 Feb 2022 08:43:13 GMT expires: - '-1' pragma: @@ -2467,23 +2499,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:03 GMT + - Fri, 11 Feb 2022 08:43:42 GMT expires: - '-1' pragma: @@ -2515,23 +2547,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:33 GMT + - Fri, 11 Feb 2022 08:44:12 GMT expires: - '-1' pragma: @@ -2563,23 +2595,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:30:03 GMT + - Fri, 11 Feb 2022 08:44:42 GMT expires: - '-1' pragma: @@ -2611,23 +2643,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:30:34 GMT + - Fri, 11 Feb 2022 08:45:12 GMT expires: - '-1' pragma: @@ -2659,23 +2691,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:31:04 GMT + - Fri, 11 Feb 2022 08:45:42 GMT expires: - '-1' pragma: @@ -2707,23 +2739,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:31:33 GMT + - Fri, 11 Feb 2022 08:46:13 GMT expires: - '-1' pragma: @@ -2755,23 +2787,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:32:03 GMT + - Fri, 11 Feb 2022 08:46:43 GMT expires: - '-1' pragma: @@ -2803,23 +2835,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:32:34 GMT + - Fri, 11 Feb 2022 08:47:13 GMT expires: - '-1' pragma: @@ -2851,23 +2883,23 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:33:04 GMT + - Fri, 11 Feb 2022 08:47:43 GMT expires: - '-1' pragma: @@ -2899,24 +2931,167 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5475a1b2-f3bc-4372-8b9d-3628c2778f03?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"b2a17554-bcf3-7243-8b9d-3628c2778f03\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:19:32.7933333Z\",\n \"endTime\": - \"2021-10-19T07:33:33.8268431Z\"\n }" + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:48: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --windows-admin-password + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:48: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --windows-admin-password + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:49: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --windows-admin-password + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:33:34 GMT + - Fri, 11 Feb 2022 08:49:43 GMT expires: - '-1' pragma: @@ -2948,39 +3123,139 @@ interactions: ParameterSetName: - --resource-group --name --windows-admin-password User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:50: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --windows-admin-password + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2d97e26d-af1e-4510-9a36-3bd9c5595b71?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6de2972d-1eaf-1045-9a36-3bd9c5595b71\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:34:11.39Z\",\n \"endTime\": + \"2022-02-11T08:50:24.5082246Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --windows-admin-password + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e1bcffd6.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-e1bcffd6.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-e9910927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-e9910927.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -2988,25 +3263,28 @@ interactions: \ \"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/501f558d-d7de-4210-8919-cda33ce50221\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/0e08691c-e189-4dd0-be77-89105c6203ff\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4141' + - '4366' content-type: - application/json date: - - Tue, 19 Oct 2021 07:33:34 GMT + - Fri, 11 Feb 2022 08:50:44 GMT expires: - '-1' pragma: @@ -3038,10 +3316,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -3049,33 +3327,34 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.2213.210922\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n }\n ]\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2366.220117\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n + }" headers: cache-control: - no-cache content-length: - - '1948' + - '2011' content-type: - application/json date: - - Tue, 19 Oct 2021 07:33:35 GMT + - Fri, 11 Feb 2022 08:50:45 GMT expires: - '-1' pragma: @@ -3109,26 +3388,26 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/95545e40-9c3a-4d0f-bd38-de15bff975fb?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/213490de-d097-4487-9e68-85582174bf05?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:33:35 GMT + - Fri, 11 Feb 2022 08:50:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/95545e40-9c3a-4d0f-bd38-de15bff975fb?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/213490de-d097-4487-9e68-85582174bf05?api-version=2016-03-30 pragma: - no-cache server: @@ -3138,7 +3417,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14995' + - '14994' status: code: 202 message: Accepted 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 old mode 100755 new mode 100644 index 9677e5c3eba..591b90d5c54 --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T06:39:46Z"},"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":"2022-02-11T08:31:48Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 06:39:46 GMT + - Fri, 11 Feb 2022 08:31:49 GMT expires: - '-1' pragma: @@ -44,13 +44,13 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestcypsierbb-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest2m7mlx7ms-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -66,38 +66,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1388' + - '1417' Content-Type: - application/json ParameterSetName: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcypsierbb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestcypsierbb-8ecadf-b88b35df.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestcypsierbb-8ecadf-b88b35df.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2m7mlx7ms-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2m7mlx7ms-8ecadf-88541be4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2m7mlx7ms-8ecadf-88541be4.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -106,22 +107,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/3cf083e2-7d4a-41ff-88ea-ce241c4861f4?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2775' + - '3022' content-type: - application/json date: - - Tue, 19 Oct 2021 06:39:50 GMT + - Fri, 11 Feb 2022 08:31:51 GMT expires: - '-1' pragma: @@ -133,7 +136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1191' status: code: 201 message: Created @@ -152,23 +155,23 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf083e2-7d4a-41ff-88ea-ce241c4861f4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e283f03c-4a7d-ff41-88ea-ce241c4861f4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:50.0533333Z\"\n }" + string: "{\n \"name\": \"bcee2c89-ca66-bf4e-99e0-dcbc8ec56cbd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:31:52.27Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:19 GMT + - Fri, 11 Feb 2022 08:32:22 GMT expires: - '-1' pragma: @@ -201,23 +204,23 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf083e2-7d4a-41ff-88ea-ce241c4861f4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e283f03c-4a7d-ff41-88ea-ce241c4861f4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:50.0533333Z\"\n }" + string: "{\n \"name\": \"bcee2c89-ca66-bf4e-99e0-dcbc8ec56cbd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:31:52.27Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:40:49 GMT + - Fri, 11 Feb 2022 08:32:52 GMT expires: - '-1' pragma: @@ -250,23 +253,23 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf083e2-7d4a-41ff-88ea-ce241c4861f4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e283f03c-4a7d-ff41-88ea-ce241c4861f4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:50.0533333Z\"\n }" + string: "{\n \"name\": \"bcee2c89-ca66-bf4e-99e0-dcbc8ec56cbd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:31:52.27Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:19 GMT + - Fri, 11 Feb 2022 08:33:22 GMT expires: - '-1' pragma: @@ -299,23 +302,23 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf083e2-7d4a-41ff-88ea-ce241c4861f4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e283f03c-4a7d-ff41-88ea-ce241c4861f4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:50.0533333Z\"\n }" + string: "{\n \"name\": \"bcee2c89-ca66-bf4e-99e0-dcbc8ec56cbd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:31:52.27Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:41:49 GMT + - Fri, 11 Feb 2022 08:33:51 GMT expires: - '-1' pragma: @@ -348,23 +351,23 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf083e2-7d4a-41ff-88ea-ce241c4861f4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e283f03c-4a7d-ff41-88ea-ce241c4861f4\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T06:39:50.0533333Z\"\n }" + string: "{\n \"name\": \"bcee2c89-ca66-bf4e-99e0-dcbc8ec56cbd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:31:52.27Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:19 GMT + - Fri, 11 Feb 2022 08:34:22 GMT expires: - '-1' pragma: @@ -397,24 +400,23 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3cf083e2-7d4a-41ff-88ea-ce241c4861f4?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e283f03c-4a7d-ff41-88ea-ce241c4861f4\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T06:39:50.0533333Z\",\n \"endTime\": - \"2021-10-19T06:42:48.331309Z\"\n }" + string: "{\n \"name\": \"bcee2c89-ca66-bf4e-99e0-dcbc8ec56cbd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:31:52.27Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:50 GMT + - Fri, 11 Feb 2022 08:34:52 GMT expires: - '-1' pragma: @@ -447,57 +449,160 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"bcee2c89-ca66-bf4e-99e0-dcbc8ec56cbd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:31:52.27Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/892ceebc-66ca-4ebf-99e0-dcbc8ec56cbd?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"bcee2c89-ca66-bf4e-99e0-dcbc8ec56cbd\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:31:52.27Z\",\n \"endTime\": + \"2022-02-11T08:35:35.1640309Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcypsierbb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestcypsierbb-8ecadf-b88b35df.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestcypsierbb-8ecadf-b88b35df.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2m7mlx7ms-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2m7mlx7ms-8ecadf-88541be4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2m7mlx7ms-8ecadf-88541be4.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/311b2d97-402b-4c36-8493-434562afc8ff\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ea35baf2-89e2-4821-b907-bd84bcb6f40e\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3438' + - '3675' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:50 GMT + - Fri, 11 Feb 2022 08:35:52 GMT expires: - '-1' pragma: @@ -529,57 +634,61 @@ interactions: ParameterSetName: - -g -n --node-image-only --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcypsierbb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestcypsierbb-8ecadf-b88b35df.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestcypsierbb-8ecadf-b88b35df.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2m7mlx7ms-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2m7mlx7ms-8ecadf-88541be4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2m7mlx7ms-8ecadf-88541be4.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/311b2d97-402b-4c36-8493-434562afc8ff\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ea35baf2-89e2-4821-b907-bd84bcb6f40e\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3438' + - '3675' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:51 GMT + - Fri, 11 Feb 2022 08:35:53 GMT expires: - '-1' pragma: @@ -613,10 +722,10 @@ interactions: ParameterSetName: - -g -n --node-image-only --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeNodeImageVersion?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -624,27 +733,28 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"UpgradingNodeImageVersion\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \ \"enableFIPS\": false\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ff165199-99a9-4f33-ae9b-13d02c362f1d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/42435c24-8c06-4f38-8fc3-615ef6ac7ff6?api-version=2016-03-30 cache-control: - no-cache content-length: - - '905' + - '934' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:52 GMT + - Fri, 11 Feb 2022 08:35:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/ff165199-99a9-4f33-ae9b-13d02c362f1d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/42435c24-8c06-4f38-8fc3-615ef6ac7ff6?api-version=2016-03-30 pragma: - no-cache server: @@ -654,7 +764,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -672,57 +782,61 @@ interactions: ParameterSetName: - -g -n --node-image-only --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestcypsierbb-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestcypsierbb-8ecadf-b88b35df.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestcypsierbb-8ecadf-b88b35df.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitest2m7mlx7ms-8ecadf\",\n \"fqdn\": \"cliakstest-clitest2m7mlx7ms-8ecadf-88541be4.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest2m7mlx7ms-8ecadf-88541be4.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\": - {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n - \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"UpgradingNodeImageVersion\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/311b2d97-402b-4c36-8493-434562afc8ff\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ea35baf2-89e2-4821-b907-bd84bcb6f40e\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3454' + - '3691' content-type: - application/json date: - - Tue, 19 Oct 2021 06:42:53 GMT + - Fri, 11 Feb 2022 08:35:55 GMT expires: - '-1' pragma: 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 old mode 100755 new mode 100644 index 6b27910ae4a..8595de0372f --- 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 @@ -14,21 +14,21 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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-10-19T07:07:52Z"},"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":"2022-02-11T08:24:34Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '313' + - '305' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Oct 2021 07:07:52 GMT + - Fri, 11 Feb 2022 08:24:34 GMT expires: - '-1' pragma: @@ -44,13 +44,13 @@ interactions: message: OK - request: body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestdcfvjspii-8ecadf", + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitestasqypf6s5-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": - "OCIContainer", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": - false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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", @@ -66,38 +66,39 @@ interactions: Connection: - keep-alive Content-Length: - - '1388' + - '1417' Content-Type: - application/json ParameterSetName: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdcfvjspii-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestdcfvjspii-8ecadf-2c36fa5d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdcfvjspii-8ecadf-2c36fa5d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestasqypf6s5-8ecadf\",\n \"fqdn\": \"cliakstest-clitestasqypf6s5-8ecadf-4f3c2f59.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestasqypf6s5-8ecadf-4f3c2f59.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -106,22 +107,24 @@ interactions: {\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 \"publicNetworkAccess\": \"Enabled\"\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 }" + \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/7acadb6b-100c-4ce6-bd9b-63039394b735?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2775' + - '3022' content-type: - application/json date: - - Tue, 19 Oct 2021 07:07:56 GMT + - Fri, 11 Feb 2022 08:24:37 GMT expires: - '-1' pragma: @@ -133,7 +136,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1190' status: code: 201 message: Created @@ -152,14 +155,14 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7acadb6b-100c-4ce6-bd9b-63039394b735?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6bdbca7a-0c10-e64c-bd9b-63039394b735\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:07:56.61Z\"\n }" + string: "{\n \"name\": \"680518a8-126d-1d43-a158-dfd08ddbcb4e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:37.98Z\"\n }" headers: cache-control: - no-cache @@ -168,7 +171,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:26 GMT + - Fri, 11 Feb 2022 08:25:07 GMT expires: - '-1' pragma: @@ -201,14 +204,14 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7acadb6b-100c-4ce6-bd9b-63039394b735?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6bdbca7a-0c10-e64c-bd9b-63039394b735\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:07:56.61Z\"\n }" + string: "{\n \"name\": \"680518a8-126d-1d43-a158-dfd08ddbcb4e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:37.98Z\"\n }" headers: cache-control: - no-cache @@ -217,7 +220,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:08:56 GMT + - Fri, 11 Feb 2022 08:25:37 GMT expires: - '-1' pragma: @@ -250,14 +253,14 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7acadb6b-100c-4ce6-bd9b-63039394b735?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6bdbca7a-0c10-e64c-bd9b-63039394b735\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:07:56.61Z\"\n }" + string: "{\n \"name\": \"680518a8-126d-1d43-a158-dfd08ddbcb4e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:37.98Z\"\n }" headers: cache-control: - no-cache @@ -266,7 +269,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:26 GMT + - Fri, 11 Feb 2022 08:26:07 GMT expires: - '-1' pragma: @@ -299,14 +302,14 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7acadb6b-100c-4ce6-bd9b-63039394b735?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6bdbca7a-0c10-e64c-bd9b-63039394b735\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:07:56.61Z\"\n }" + string: "{\n \"name\": \"680518a8-126d-1d43-a158-dfd08ddbcb4e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:37.98Z\"\n }" headers: cache-control: - no-cache @@ -315,7 +318,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:09:56 GMT + - Fri, 11 Feb 2022 08:26:38 GMT expires: - '-1' pragma: @@ -348,15 +351,162 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7acadb6b-100c-4ce6-bd9b-63039394b735?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"6bdbca7a-0c10-e64c-bd9b-63039394b735\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:07:56.61Z\",\n \"endTime\": - \"2021-10-19T07:10:24.3915931Z\"\n }" + string: "{\n \"name\": \"680518a8-126d-1d43-a158-dfd08ddbcb4e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:37.98Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:27: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"680518a8-126d-1d43-a158-dfd08ddbcb4e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:37.98Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:27: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"680518a8-126d-1d43-a158-dfd08ddbcb4e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:24:37.98Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value + -o + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a8180568-6d12-431d-a158-dfd08ddbcb4e?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"680518a8-126d-1d43-a158-dfd08ddbcb4e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:24:37.98Z\",\n \"endTime\": + \"2022-02-11T08:28:37.2679303Z\"\n }" headers: cache-control: - no-cache @@ -365,7 +515,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:26 GMT + - Fri, 11 Feb 2022 08:28:37 GMT expires: - '-1' pragma: @@ -398,57 +548,61 @@ interactions: - --resource-group --name --nodepool-name --vm-set-type --node-count --ssh-key-value -o User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-01-02-preview 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.20.9\",\n \"dnsPrefix\": \"cliakstest-clitestdcfvjspii-8ecadf\",\n \"fqdn\": - \"cliakstest-clitestdcfvjspii-8ecadf-2c36fa5d.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": - \"cliakstest-clitestdcfvjspii-8ecadf-2c36fa5d.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliakstest-clitestasqypf6s5-8ecadf\",\n \"fqdn\": \"cliakstest-clitestasqypf6s5-8ecadf-4f3c2f59.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestasqypf6s5-8ecadf-4f3c2f59.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.20.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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/5c9a5af6-eccf-46bd-9917-1b74ac8b2ccf\"\n + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6583be32-33c6-4e92-86d3-6f892d16ae39\"\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\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3438' + - '3675' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:26 GMT + - Fri, 11 Feb 2022 08:28:38 GMT expires: - '-1' pragma: @@ -482,10 +636,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name -n --node-image-only --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeNodeImageVersion?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -493,27 +647,28 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"UpgradingNodeImageVersion\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \ \"enableFIPS\": false\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/cea2809e-dbdb-4313-a3fe-9ce8a8330ef9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a1371033-5c92-4e68-b989-ee10c248b248?api-version=2016-03-30 cache-control: - no-cache content-length: - - '905' + - '934' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:27 GMT + - Fri, 11 Feb 2022 08:28:40 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/cea2809e-dbdb-4313-a3fe-9ce8a8330ef9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/a1371033-5c92-4e68-b989-ee10c248b248?api-version=2016-03-30 pragma: - no-cache server: @@ -541,10 +696,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name -n User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -552,21 +707,22 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"UpgradingNodeImageVersion\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.20.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n \"osType\": - \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"UpgradingNodeImageVersion\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \ \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '905' + - '934' content-type: - application/json date: - - Tue, 19 Oct 2021 07:10:28 GMT + - Fri, 11 Feb 2022 08:28:40 GMT expires: - '-1' pragma: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_nodepool.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_nodepool.yaml old mode 100755 new mode 100644 index 5fee7e878da..3cb20e45b8a --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_nodepool.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_nodepool.yaml @@ -13,8 +13,8 @@ interactions: ParameterSetName: - -l --query User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators?api-version=2019-04-01&resource-type=managedClusters response: @@ -25,49 +25,396 @@ interactions: \"Kubernetes\",\n \"orchestratorVersion\": \"1.19.11\",\n \"upgrades\": [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": \"1.19.13\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.20.7\"\n },\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.9\"\n }\n ]\n + \ \"orchestratorVersion\": \"1.20.9\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.13\"\n }\n ]\n \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": \"1.19.13\",\n \"upgrades\": [\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.7\"\n },\n {\n + \"Kubernetes\",\n \"orchestratorVersion\": \"1.20.9\"\n },\n {\n \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.20.9\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.20.7\",\n \"upgrades\": [\n {\n + \"1.20.13\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.20.9\",\n \"upgrades\": [\n {\n \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.20.9\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.21.1\"\n },\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.2\"\n }\n ]\n + \"1.20.13\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.21.2\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.7\"\n }\n ]\n \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.20.9\",\n \"default\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.1\"\n },\n {\n + \"1.20.13\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.21.2\"\n },\n {\n \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.21.2\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.21.1\",\n \"upgrades\": [\n {\n + \"1.21.7\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.21.2\",\n \"upgrades\": [\n {\n \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.21.2\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.22.1\",\n \"isPreview\": true\n - \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.22.2\",\n \"isPreview\": true\n }\n ]\n },\n {\n - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.21.2\",\n \"upgrades\": [\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.22.1\",\n \"isPreview\": true\n - \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.22.2\",\n \"isPreview\": true\n }\n ]\n },\n {\n - \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": - \"1.22.1\",\n \"isPreview\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": - \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.2\",\n \"isPreview\": - true\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n - \ \"orchestratorVersion\": \"1.22.2\",\n \"isPreview\": true\n }\n - \ ]\n }\n }" + \"1.21.7\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.2\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.4\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.21.7\",\n \"default\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.2\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.4\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.2\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.4\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.22.4\"\n }\n ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '2744' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:27: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: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "1.21.7", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", + "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": -1.0, "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": + "azureuser1", "adminPassword": "replace-Password1234$"}, "addonProfiles": {}, + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1373' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview + 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\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-7ebd19b0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-7ebd19b0.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 \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ + azcli_aks_live_test@example.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 \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": {\n \"enabled\": + false\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/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '2977' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:27:11 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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:27: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:28: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: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:29: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '2918' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:38 GMT + - Fri, 11 Feb 2022 08:29:41 GMT expires: - '-1' pragma: @@ -89,7 +436,57 @@ interactions: body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 08:30: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: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -101,27 +498,33 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --kubernetes-version --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.11 (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 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-10-19T07:12:38Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '313' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Tue, 19 Oct 2021 07:12:40 GMT + - Fri, 11 Feb 2022 08:30: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: @@ -130,86 +533,138 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus2", "identity": {"type": "SystemAssigned"}, "properties": - {"kubernetesVersion": "1.21.2", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": - [{"count": 1, "vmSize": "Standard_DS2_v2", "workloadRuntime": "OCIContainer", - "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": - -1.0, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": - "azureuser1", "adminPassword": "replace-Password1234$"}, "addonProfiles": {}, - "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": - "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": - false}}' + body: null headers: Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 08:31: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: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - aks create Connection: - keep-alive - Content-Length: - - '1346' - Content-Type: + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --kubernetes-version --ssh-key-value + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: - application/json + date: + - Fri, 11 Feb 2022 08:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive ParameterSetName: - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --kubernetes-version --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 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\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.21.2\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-c0ff9c99.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-c0ff9c99.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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ - azcli_aks_live_test@example.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\": 100,\n \"disableLocalAccounts\": - false,\n \"publicNetworkAccess\": \"Enabled\"\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\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae647c04-477e-413c-9fc0-7893f9caa428?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2780' + - '126' content-type: - application/json date: - - Tue, 19 Oct 2021 07:12:42 GMT + - Fri, 11 Feb 2022 08:32:11 GMT expires: - '-1' pragma: @@ -218,13 +673,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: @@ -241,14 +698,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --kubernetes-version --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae647c04-477e-413c-9fc0-7893f9caa428?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"047c64ae-7e47-3c41-9fc0-7893f9caa428\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:42.8833333Z\"\n }" + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" headers: cache-control: - no-cache @@ -257,7 +714,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:12 GMT + - Fri, 11 Feb 2022 08:32:41 GMT expires: - '-1' pragma: @@ -291,14 +748,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --kubernetes-version --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae647c04-477e-413c-9fc0-7893f9caa428?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"047c64ae-7e47-3c41-9fc0-7893f9caa428\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:42.8833333Z\"\n }" + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" headers: cache-control: - no-cache @@ -307,7 +764,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:13:43 GMT + - Fri, 11 Feb 2022 08:33:11 GMT expires: - '-1' pragma: @@ -341,14 +798,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --kubernetes-version --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae647c04-477e-413c-9fc0-7893f9caa428?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"047c64ae-7e47-3c41-9fc0-7893f9caa428\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:42.8833333Z\"\n }" + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" headers: cache-control: - no-cache @@ -357,7 +814,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:13 GMT + - Fri, 11 Feb 2022 08:33:42 GMT expires: - '-1' pragma: @@ -391,14 +848,14 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --kubernetes-version --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae647c04-477e-413c-9fc0-7893f9caa428?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"047c64ae-7e47-3c41-9fc0-7893f9caa428\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:12:42.8833333Z\"\n }" + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\"\n }" headers: cache-control: - no-cache @@ -407,7 +864,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:14:42 GMT + - Fri, 11 Feb 2022 08:34:12 GMT expires: - '-1' pragma: @@ -441,15 +898,15 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --kubernetes-version --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ae647c04-477e-413c-9fc0-7893f9caa428?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/08c5669c-af8a-45a0-8917-a3b5c825a66d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"047c64ae-7e47-3c41-9fc0-7893f9caa428\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:12:42.8833333Z\",\n \"endTime\": - \"2021-10-19T07:15:12.7866262Z\"\n }" + string: "{\n \"name\": \"9c66c508-8aaf-a045-8917-a3b5c825a66d\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:27:11.3533333Z\",\n \"endTime\": + \"2022-02-11T08:34:17.4251019Z\"\n }" headers: cache-control: - no-cache @@ -458,7 +915,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:12 GMT + - Fri, 11 Feb 2022 08:34:41 GMT expires: - '-1' pragma: @@ -492,30 +949,32 @@ interactions: --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --kubernetes-version --ssh-key-value User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.21.2\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-c0ff9c99.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-c0ff9c99.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-7ebd19b0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-7ebd19b0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n \"enableFIPS\": false\n + \ }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -523,25 +982,28 @@ interactions: \ \"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/f4caed3f-5bf2-4d4a-bad8-7635418b27ee\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/e86f8bce-972c-4e61-baed-7fbd1d5065b6\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '3443' + - '3630' content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:12 GMT + - Fri, 11 Feb 2022 08:34:42 GMT expires: - '-1' pragma: @@ -573,10 +1035,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2022-01-02-preview response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -584,22 +1046,22 @@ interactions: \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.21.2\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n - \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": - \"AKSUbuntu-1804gen2containerd-2021.10.02\",\n \"enableFIPS\": false\n - \ }\n }\n ]\n }" + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.01.24\",\n + \ \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '973' + - '1002' content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:13 GMT + - Fri, 11 Feb 2022 08:34:42 GMT expires: - '-1' pragma: @@ -639,10 +1101,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -652,21 +1114,22 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\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/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '913' + - '941' content-type: - application/json date: - - Tue, 19 Oct 2021 07:15:36 GMT + - Fri, 11 Feb 2022 08:34:45 GMT expires: - '-1' pragma: @@ -678,10 +1141,58 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1187' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:35: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: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -696,14 +1207,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -712,7 +1223,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:06 GMT + - Fri, 11 Feb 2022 08:35:46 GMT expires: - '-1' pragma: @@ -744,14 +1255,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -760,7 +1271,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:16:36 GMT + - Fri, 11 Feb 2022 08:36:16 GMT expires: - '-1' pragma: @@ -792,14 +1303,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -808,7 +1319,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:05 GMT + - Fri, 11 Feb 2022 08:36:45 GMT expires: - '-1' pragma: @@ -840,14 +1351,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -856,7 +1367,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:17:36 GMT + - Fri, 11 Feb 2022 08:37:15 GMT expires: - '-1' pragma: @@ -888,14 +1399,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -904,7 +1415,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:06 GMT + - Fri, 11 Feb 2022 08:37:45 GMT expires: - '-1' pragma: @@ -936,14 +1447,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -952,7 +1463,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:18:36 GMT + - Fri, 11 Feb 2022 08:38:16 GMT expires: - '-1' pragma: @@ -984,14 +1495,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -1000,7 +1511,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:06 GMT + - Fri, 11 Feb 2022 08:38:46 GMT expires: - '-1' pragma: @@ -1032,14 +1543,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -1048,7 +1559,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:19:36 GMT + - Fri, 11 Feb 2022 08:39:16 GMT expires: - '-1' pragma: @@ -1080,14 +1591,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -1096,7 +1607,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:06 GMT + - Fri, 11 Feb 2022 08:39:46 GMT expires: - '-1' pragma: @@ -1128,14 +1639,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -1144,7 +1655,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:20:36 GMT + - Fri, 11 Feb 2022 08:40:16 GMT expires: - '-1' pragma: @@ -1176,14 +1687,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -1192,7 +1703,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:06 GMT + - Fri, 11 Feb 2022 08:40:45 GMT expires: - '-1' pragma: @@ -1224,14 +1735,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\"\n }" headers: cache-control: - no-cache @@ -1240,7 +1751,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:21:36 GMT + - Fri, 11 Feb 2022 08:41:16 GMT expires: - '-1' pragma: @@ -1272,15 +1783,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/190ae1c9-7110-4a75-a94a-6e7ba684096b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ddb1b74e-4ae0-4dcc-ab91-61c3f4779fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c9e10a19-1071-754a-a94a-6e7ba684096b\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:15:36.35Z\",\n \"endTime\": - \"2021-10-19T07:21:59.5334438Z\"\n }" + string: "{\n \"name\": \"4eb7b1dd-e04a-cc4d-ab91-61c3f4779fd7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:34:45.97Z\",\n \"endTime\": + \"2022-02-11T08:41:40.9896605Z\"\n }" headers: cache-control: - no-cache @@ -1289,7 +1800,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:06 GMT + - Fri, 11 Feb 2022 08:41:46 GMT expires: - '-1' pragma: @@ -1321,10 +1832,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -1334,19 +1845,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" headers: cache-control: - no-cache content-length: - - '914' + - '942' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:07 GMT + - Fri, 11 Feb 2022 08:41:47 GMT expires: - '-1' pragma: @@ -1378,39 +1890,42 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.21.2\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-c0ff9c99.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-c0ff9c99.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.21.7\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-7ebd19b0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-7ebd19b0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.21.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.21.2\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.21.7\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.21.7\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1418,25 +1933,28 @@ interactions: \ \"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/f4caed3f-5bf2-4d4a-bad8-7635418b27ee\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/e86f8bce-972c-4e61-baed-7fbd1d5065b6\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4141' + - '4366' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:08 GMT + - Fri, 11 Feb 2022 08:41:48 GMT expires: - '-1' pragma: @@ -1456,30 +1974,32 @@ interactions: message: OK - request: body: '{"location": "westus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": - {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.22.2", "dnsPrefix": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.22.4", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": - "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": - "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": "1.22.2", - "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "OCIContainer", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.22.4", "powerState": {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Windows", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", "mode": - "User", "orchestratorVersion": "1.22.2", "upgradeSettings": {}, "powerState": - {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "User", "orchestratorVersion": "1.22.4", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "nodeTaints": [""], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": - "azureuser1", "enableCSIProxy": true}, "nodeResourceGroup": "MC_clitest000001_cliakstest000001_westus2", - "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azureuser1", "enableCSIProxy": true}, "oidcIssuerProfile": {"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/f4caed3f-5bf2-4d4a-bad8-7635418b27ee"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/e86f8bce-972c-4e61-baed-7fbd1d5065b6"}]}, + "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "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"}}, - "disableLocalAccounts": false, "publicNetworkAccess": "Enabled"}}' + "disableLocalAccounts": false}}' headers: Accept: - application/json @@ -1490,45 +2010,48 @@ interactions: Connection: - keep-alive Content-Length: - - '2768' + - '2865' Content-Type: - application/json ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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\": \"Upgrading\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.22.2\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-c0ff9c99.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-c0ff9c99.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.22.4\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-7ebd19b0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-7ebd19b0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Upgrading\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Upgrading\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Upgrading\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.22.2\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.22.4\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Upgrading\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -1536,27 +2059,30 @@ interactions: \ \"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/f4caed3f-5bf2-4d4a-bad8-7635418b27ee\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/e86f8bce-972c-4e61-baed-7fbd1d5065b6\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '4141' + - '4366' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:10 GMT + - Fri, 11 Feb 2022 08:41:50 GMT expires: - '-1' pragma: @@ -1572,7 +2098,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1191' status: code: 200 message: OK @@ -1590,23 +2116,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:22:41 GMT + - Fri, 11 Feb 2022 08:42:20 GMT expires: - '-1' pragma: @@ -1638,23 +2164,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:11 GMT + - Fri, 11 Feb 2022 08:42:50 GMT expires: - '-1' pragma: @@ -1686,23 +2212,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:23:41 GMT + - Fri, 11 Feb 2022 08:43:20 GMT expires: - '-1' pragma: @@ -1734,23 +2260,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:11 GMT + - Fri, 11 Feb 2022 08:43:50 GMT expires: - '-1' pragma: @@ -1782,23 +2308,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:24:41 GMT + - Fri, 11 Feb 2022 08:44:20 GMT expires: - '-1' pragma: @@ -1830,23 +2356,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:11 GMT + - Fri, 11 Feb 2022 08:44:50 GMT expires: - '-1' pragma: @@ -1878,23 +2404,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:25:41 GMT + - Fri, 11 Feb 2022 08:45:20 GMT expires: - '-1' pragma: @@ -1926,23 +2452,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:12 GMT + - Fri, 11 Feb 2022 08:45:50 GMT expires: - '-1' pragma: @@ -1974,23 +2500,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:26:41 GMT + - Fri, 11 Feb 2022 08:46:21 GMT expires: - '-1' pragma: @@ -2022,23 +2548,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:12 GMT + - Fri, 11 Feb 2022 08:46:50 GMT expires: - '-1' pragma: @@ -2070,23 +2596,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:27:42 GMT + - Fri, 11 Feb 2022 08:47:20 GMT expires: - '-1' pragma: @@ -2118,23 +2644,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:12 GMT + - Fri, 11 Feb 2022 08:47:50 GMT expires: - '-1' pragma: @@ -2166,23 +2692,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:28:41 GMT + - Fri, 11 Feb 2022 08:48:21 GMT expires: - '-1' pragma: @@ -2214,23 +2740,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:12 GMT + - Fri, 11 Feb 2022 08:48:51 GMT expires: - '-1' pragma: @@ -2262,23 +2788,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:29:42 GMT + - Fri, 11 Feb 2022 08:49:21 GMT expires: - '-1' pragma: @@ -2310,23 +2836,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:30:12 GMT + - Fri, 11 Feb 2022 08:49:51 GMT expires: - '-1' pragma: @@ -2358,23 +2884,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:30:41 GMT + - Fri, 11 Feb 2022 08:50:21 GMT expires: - '-1' pragma: @@ -2406,23 +2932,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:31:12 GMT + - Fri, 11 Feb 2022 08:50:51 GMT expires: - '-1' pragma: @@ -2454,23 +2980,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:31:42 GMT + - Fri, 11 Feb 2022 08:51:21 GMT expires: - '-1' pragma: @@ -2502,23 +3028,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:32:12 GMT + - Fri, 11 Feb 2022 08:51:51 GMT expires: - '-1' pragma: @@ -2550,23 +3076,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:32:42 GMT + - Fri, 11 Feb 2022 08:52:21 GMT expires: - '-1' pragma: @@ -2598,23 +3124,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:33:13 GMT + - Fri, 11 Feb 2022 08:52:52 GMT expires: - '-1' pragma: @@ -2646,23 +3172,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:33:42 GMT + - Fri, 11 Feb 2022 08:53:21 GMT expires: - '-1' pragma: @@ -2694,23 +3220,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:34:12 GMT + - Fri, 11 Feb 2022 08:53:51 GMT expires: - '-1' pragma: @@ -2742,23 +3268,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:34:43 GMT + - Fri, 11 Feb 2022 08:54:21 GMT expires: - '-1' pragma: @@ -2790,23 +3316,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:35:13 GMT + - Fri, 11 Feb 2022 08:54:52 GMT expires: - '-1' pragma: @@ -2838,23 +3364,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:35:42 GMT + - Fri, 11 Feb 2022 08:55:22 GMT expires: - '-1' pragma: @@ -2886,23 +3412,23 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Tue, 19 Oct 2021 07:36:12 GMT + - Fri, 11 Feb 2022 08:55:52 GMT expires: - '-1' pragma: @@ -2934,24 +3460,216 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/101dee80-1213-44b3-8087-1147282be069?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"80ee1d10-1312-b344-8087-1147282be069\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:22:11.3233333Z\",\n \"endTime\": - \"2021-10-19T07:36:24.1393505Z\"\n }" + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:56: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --kubernetes-version --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:56: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --kubernetes-version --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:57: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --kubernetes-version --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 11 Feb 2022 08:57: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks upgrade + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --kubernetes-version --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4d1b3d16-ab97-431a-8f99-69793877a8d7?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"163d1b4d-97ab-1a43-8f99-69793877a8d7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:41:50.61Z\",\n \"endTime\": + \"2022-02-11T08:58:22.4289351Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '165' content-type: - application/json date: - - Tue, 19 Oct 2021 07:36:43 GMT + - Fri, 11 Feb 2022 08:58:22 GMT expires: - '-1' pragma: @@ -2983,39 +3701,42 @@ interactions: ParameterSetName: - --resource-group --name --kubernetes-version --yes User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview 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.22.2\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-c0ff9c99.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-c0ff9c99.portal.hcp.westus2.azmk8s.io\",\n + \"1.21.7\",\n \"currentKubernetesVersion\": \"1.22.4\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-7ebd19b0.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-7ebd19b0.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 \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n - \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": - \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.10.02\",\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 \"workloadRuntime\": - \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.22.2\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.22.4\",\n \"enableNodePublicIP\": false,\n \"mode\": \"System\",\n \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n - \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": - {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChv1lqJOFqlXd/Sp6RoI5ZS500UG+SXrE+6PjpUk8btELBCBXSUOpX7zYs5+VbuTUfHV7Qa3xBoL3HIbKKkz5QHvF9AUkjbpJLvCbQR1tlqkQdlGen4lsH0YQNOL0Q6Lj0UF+C5MaCHz4a+NecIZ9h/2mpeHV+KcIUaoC9Ulifi35BUvB/6lp4MQbcxJHXTwGbNLtzP+iJIkx8DafVXseJx4uh4wTIlKBLDpUKg+RYTze8UsYCkz1+YvE/cDjVsJh4edQ9fNqZyWYnjMbnyhk46pYpRVf6DeMX5nzShlagUux3KEx2eU4vUtvuIkGFneZDprv2vAMkBCX4xgbxtxZZ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.01.24\",\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 \"workloadRuntime\": \"OCIContainer\",\n + \ \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": + \"Delete\",\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n + \ \"enableNodePublicIP\": false,\n \"nodeTaints\": [\n \"\"\n + \ ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQD2zoV6Twqj8GgbBllo//mIoVsZsy8MZ23Ni2GOupPP09AC+iGIohutZuTn+dlKl03SoJtsW5gM4vOeNhObMo3hw0YezLdRu3PpGOWV8RQsBVSBeAM26slakORpAa1eUWtEHardA1dBzGkrXvJ+2EURjrmtYZ+UtnpvpUST656AC02iDccfbZn8TWWrg0kajM0h/VbR0dXZFjrMOtFkgWBinSMFuwVUG66kCP0MH134R0nlYqUPk22tFrGYRykNpxPRvTSZllG8idpWe56KibkshpVBK4nI5VjxIoATKZwXhBfmKZe3jygIKYogdPnlztKDxjMfVDcP8ziH+ynFrClJ azcli_aks_live_test@example.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 @@ -3023,25 +3744,28 @@ interactions: \ \"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/f4caed3f-5bf2-4d4a-bad8-7635418b27ee\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/e86f8bce-972c-4e61-baed-7fbd1d5065b6\"\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 + \"loadBalancer\",\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n + \ \"ipFamilies\": [\n \"IPv4\"\n ]\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 \"disableLocalAccounts\": false,\n \"publicNetworkAccess\": - \"Enabled\"\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 \"disableLocalAccounts\": false,\n \"oidcIssuerProfile\": + {\n \"enabled\": false\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: - - '4141' + - '4366' content-type: - application/json date: - - Tue, 19 Oct 2021 07:36:43 GMT + - Fri, 11 Feb 2022 08:58:23 GMT expires: - '-1' pragma: @@ -3073,10 +3797,10 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --kubernetes-version --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -3086,19 +3810,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" headers: cache-control: - no-cache content-length: - - '914' + - '942' content-type: - application/json date: - - Tue, 19 Oct 2021 07:36:44 GMT + - Fri, 11 Feb 2022 08:58:23 GMT expires: - '-1' pragma: @@ -3120,8 +3845,8 @@ interactions: body: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": 30, "osType": "Windows", "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", - "mode": "User", "orchestratorVersion": "1.22.2", "upgradeSettings": {}, "powerState": - {"code": "Running"}, "enableNodePublicIP": false, "enableEncryptionAtHost": + "mode": "User", "orchestratorVersion": "1.22.4", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "nodeTaints": [""], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false}}' headers: Accept: @@ -3133,18 +3858,18 @@ interactions: Connection: - keep-alive Content-Length: - - '476' + - '496' Content-Type: - application/json ParameterSetName: - --resource-group --cluster-name --name --kubernetes-version --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) WindowsContainerRuntime: - containerd 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -3154,21 +3879,22 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\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/f1478ae4-bef9-4b3d-934c-8c30e8d69313?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/65751deb-0d6c-437a-a2f3-7f3500e2f2bc?api-version=2016-03-30 cache-control: - no-cache content-length: - - '913' + - '941' content-type: - application/json date: - - Tue, 19 Oct 2021 07:36:46 GMT + - Fri, 11 Feb 2022 08:58:26 GMT expires: - '-1' pragma: @@ -3184,7 +3910,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1193' status: code: 200 message: OK @@ -3202,26 +3928,26 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --kubernetes-version --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) WindowsContainerRuntime: - containerd method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f1478ae4-bef9-4b3d-934c-8c30e8d69313?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/65751deb-0d6c-437a-a2f3-7f3500e2f2bc?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e48a47f1-f9be-3d4b-934c-8c30e8d69313\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-10-19T07:36:47.4333333Z\",\n \"endTime\": - \"2021-10-19T07:36:54.1981819Z\"\n }" + string: "{\n \"name\": \"eb1d7565-6c0d-7a43-a2f3-7f3500e2f2bc\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-02-11T08:58:26.7Z\",\n \"endTime\": + \"2022-02-11T08:58:33.5746406Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '164' content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:17 GMT + - Fri, 11 Feb 2022 08:58:56 GMT expires: - '-1' pragma: @@ -3253,12 +3979,12 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --kubernetes-version --aks-custom-headers User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) WindowsContainerRuntime: - containerd 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-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2022-01-02-preview response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -3268,19 +3994,20 @@ interactions: \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"scaleDownMode\": \"Delete\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.22.2\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": - false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.2213.210922\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + \"Running\"\n },\n \"orchestratorVersion\": \"1.22.4\",\n \"enableNodePublicIP\": + false,\n \"nodeTaints\": [\n \"\"\n ],\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.2366.220117\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n }" headers: cache-control: - no-cache content-length: - - '914' + - '942' content-type: - application/json date: - - Tue, 19 Oct 2021 07:37:17 GMT + - Fri, 11 Feb 2022 08:58:56 GMT expires: - '-1' pragma: @@ -3314,26 +4041,26 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-containerservice/16.5.0 Python/3.8.10 + (Linux-5.11.0-1028-azure-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-01-02-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b5aa8daf-e4c8-4d74-a87a-142f1a90b99a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13244288-7efc-4bb5-a125-1b599a07a3d2?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Tue, 19 Oct 2021 07:37:18 GMT + - Fri, 11 Feb 2022 08:58:58 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/b5aa8daf-e4c8-4d74-a87a-142f1a90b99a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/13244288-7efc-4bb5-a125-1b599a07a3d2?api-version=2016-03-30 pragma: - no-cache server: @@ -3343,7 +4070,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14994' + - '14995' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_os_options.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_os_options.yaml new file mode 100644 index 00000000000..ed400ea299e --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_os_options.yaml @@ -0,0 +1,57 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks get-os-options + Connection: + - keep-alive + ParameterSetName: + - -l + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.4.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/osOptions/default?api-version=2021-10-01&resource-type=managedClusters + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/osOptions/default\",\n + \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/osOptions\",\n + \ \"properties\": {\n \"osOptionPropertyList\": [\n {\n \"os-type\": + \"Linux\",\n \"os-sku\": \"Ubuntu\",\n \"enable-fips-image\": false\n + \ },\n {\n \"os-type\": \"Windows\",\n \"os-sku\": \"\",\n \"enable-fips-image\": + false\n },\n {\n \"os-type\": \"Linux\",\n \"os-sku\": \"Ubuntu\",\n + \ \"enable-fips-image\": true\n },\n {\n \"os-type\": \"Linux\",\n + \ \"os-sku\": \"CBLMariner\",\n \"enable-fips-image\": false\n }\n + \ ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '655' + content-type: + - application/json + date: + - Wed, 01 Dec 2021 14:44: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 +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_version.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_version.yaml old mode 100755 new mode 100644 index e34153122cc..b88870ea9d1 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_version.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_get_version.yaml @@ -13,8 +13,8 @@ interactions: ParameterSetName: - -l User-Agent: - - AZURECLI/2.29.0 azsdk-python-azure-mgmt-containerservice/16.3.0 Python/3.8.11 - (Linux-5.4.0-1059-azure-x86_64-with-glibc2.27) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-containerservice/16.1.0 Python/3.8.10 + (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/orchestrators?api-version=2019-04-01&resource-type=managedClusters response: @@ -67,7 +67,7 @@ interactions: content-type: - application/json date: - - Tue, 19 Oct 2021 07:00:34 GMT + - Wed, 01 Dec 2021 14:24:00 GMT expires: - '-1' pragma: 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 0d3fa3a3b54..653772f16a1 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 @@ -3,14 +3,13 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -import unittest import os import tempfile from azure.cli.testsdk import ( - ResourceGroupPreparer, RoleBasedServicePrincipalPreparer, ScenarioTest, live_only) + ScenarioTest, live_only) from azure.cli.command_modules.acs._format import version_to_tuple -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from knack.util import CLIError from .recording_processors import KeyReplacer @@ -31,7 +30,7 @@ def __init__(self, method_name): def _get_versions(self, location): """Return the previous and current Kubernetes minor release versions, such as ("1.11.6", "1.12.4").""" versions = self.cmd( - "az aks get-versions -l westus2 --query 'orchestrators[].orchestratorVersion'").get_output_in_json() + "az aks get-versions -l {} --query 'orchestrators[].orchestratorVersion'".format(location)).get_output_in_json() # sort by semantic version, from newest to oldest versions = sorted(versions, key=version_to_tuple, reverse=True) upgrade_version = versions[0] @@ -265,13 +264,13 @@ def test_aks_create_with_ingress_appgw_addon(self, resource_group, resource_grou }) create_cmd = 'aks create --resource-group={resource_group} --name={name} --enable-managed-identity ' \ - '-a ingress-appgw --appgw-subnet-cidr 10.2.0.0/16 ' \ + '-a ingress-appgw --appgw-subnet-cidr 10.232.0.0/16 ' \ '--ssh-key-value={ssh_key_value} -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('addonProfiles.ingressApplicationGateway.enabled', True), self.check( - 'addonProfiles.ingressApplicationGateway.config.subnetCIDR', "10.2.0.0/16") + 'addonProfiles.ingressApplicationGateway.config.subnetCIDR', "10.232.0.0/16") ]) @AllowLargeResponse() @@ -285,13 +284,13 @@ def test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix(self, }) create_cmd = 'aks create --resource-group={resource_group} --name={name} --enable-managed-identity ' \ - '-a ingress-appgw --appgw-subnet-prefix 10.2.0.0/16 ' \ + '-a ingress-appgw --appgw-subnet-prefix 10.232.0.0/16 ' \ '--ssh-key-value={ssh_key_value} -o json' self.cmd(create_cmd, checks=[ self.check('provisioningState', 'Succeeded'), self.check('addonProfiles.ingressApplicationGateway.enabled', True), self.check( - 'addonProfiles.ingressApplicationGateway.config.subnetCIDR', "10.2.0.0/16") + 'addonProfiles.ingressApplicationGateway.config.subnetCIDR', "10.232.0.0/16") ]) @live_only() @@ -1344,6 +1343,45 @@ def test_aks_nodepool_add_with_ossku(self, resource_group, resource_group_locati # 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_create_add_nodepool_with_motd(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, + 'ssh_key_value': self.generate_ssh_keys(), + 'message_of_the_day': _get_test_data_file("motd.txt") + }) + + create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ + '--nodepool-name {node_pool_name} -c 1 ' \ + '--ssh-key-value={ssh_key_value} ' \ + '--message-of-the-day={message_of_the_day}' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('agentPoolProfiles[0].messageOfTheDay', 'VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=') + ]) + + # nodepool get-upgrades + self.cmd('aks nodepool add ' + '--resource-group={resource_group} ' + '--cluster-name={name} ' + '--name={node_pool_name_second} ' + '--message-of-the-day={message_of_the_day}', + checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('messageOfTheDay', 'VU5BVVRIT1JJWkVEIEFDQ0VTUyBUTyBUSElTIERFVklDRSBJUyBQUk9ISUJJVEVECgpZb3UgbXVzdCBoYXZlIGV4cGxpY2l0LCBhdXRob3JpemVkIHBlcm1pc3Npb24gdG8gYWNjZXNzIG9yIGNvbmZpZ3VyZSB0aGlzIGRldmljZS4gVW5hdXRob3JpemVkIGF0dGVtcHRzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyBvciB1c2UgdGhpcyBzeXN0ZW0gbWF5IHJlc3VsdCBpbiBjaXZpbCBhbmQvb3IgY3JpbWluYWwgcGVuYWx0aWVzLiBBbGwgYWN0aXZpdGllcyBwZXJmb3JtZWQgb24gdGhpcyBkZXZpY2UgYXJlIGxvZ2dlZCBhbmQgbW9uaXRvcmVkLgo=') + ]) + + # 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='centraluseuap') @@ -1379,7 +1417,7 @@ def test_aks_nodepool_stop_and_start(self, resource_group, resource_group_locati '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') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus', preserve_default_location=True) def test_aks_nodepool_add_with_gpu_instance_profile(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) node_pool_name = self.create_random_name('c', 6) @@ -1444,7 +1482,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_pattern('latestNodeImageVersion', - 'AKSUbuntu-1804gen2containerd-2021.(0[1-9]|1[012]).(0[1-9]|[12]\d|3[01])'), + 'AKSUbuntu-1804gen2containerd-202([0-9]).(0[1-9]|1[012]).(0[1-9]|[12]\d|3[01])'), self.check( 'type', "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles") ]) @@ -1757,7 +1795,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() - @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus2euap') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') 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 @@ -1870,7 +1908,7 @@ def test_aks_update_to_msi_cluster(self, resource_group, resource_group_location @live_only() @AllowLargeResponse() - @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus', preserve_default_location=True) def test_aks_create_with_gitops_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1888,7 +1926,7 @@ def test_aks_create_with_gitops_addon(self, resource_group, resource_group_locat @live_only() @AllowLargeResponse() - @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus', preserve_default_location=True) def test_aks_enable_addon_with_gitops(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1912,7 +1950,7 @@ def test_aks_enable_addon_with_gitops(self, resource_group, resource_group_locat @live_only() @AllowLargeResponse() - @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus', preserve_default_location=True) def test_aks_disable_addon_gitops(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -2769,7 +2807,7 @@ def test_aks_disable_local_accounts(self, resource_group, resource_group_locatio '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') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus', preserve_default_location=True) def test_aks_enable_utlra_ssd(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -2891,6 +2929,185 @@ def test_aks_create_with_windows_gmsa(self, resource_group, resource_group_locat 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='centraluseuap', preserve_default_location=True) + def test_aks_create_dualstack_with_default_network(self, resource_group, resource_group_location): + _, create_version = self._get_versions(resource_group_location) + aks_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'k8s_version': create_version, + 'ssh_key_value': self.generate_ssh_keys(), + }) + + # create + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--ip-families IPv4,IPv6 --ssh-key-value={ssh_key_value} --kubernetes-version {k8s_version} ' \ + '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AKS-EnableDualStack' + + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('networkProfile.podCidrs[] | length(@)', 2), + self.check('networkProfile.serviceCidrs[] | length(@)', 2), + self.check('networkProfile.ipFamilies', ['IPv4', 'IPv6']) + ]) + + # 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_create_with_default_network(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 + # kwargs for string formatting + aks_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'resource_type': 'Microsoft.ContainerService/ManagedClusters', + 'ssh_key_value': self.generate_ssh_keys(), + }) + + # create + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--pod-cidr 172.126.0.0/16 --service-cidr 172.56.0.0/16 --dns-service-ip 172.56.0.10 ' \ + '--pod-cidrs 172.126.0.0/16 --service-cidrs 172.56.0.0/16 --ip-families IPv4 ' \ + '--network-plugin kubenet --ssh-key-value={ssh_key_value}' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('networkProfile.podCidr', '172.126.0.0/16'), + self.check('networkProfile.podCidrs', ['172.126.0.0/16']), + self.check('networkProfile.serviceCidr', '172.56.0.0/16'), + self.check('networkProfile.serviceCidrs', ['172.56.0.0/16']), + self.check('networkProfile.ipFamilies', ['IPv4']) + ]) + + # 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_create_and_update_outbound_ips(self, resource_group, resource_group_location): + # kwargs for string formatting + aks_name = self.create_random_name('cliakstest', 16) + init_pip_name = self.create_random_name('cliakstest', 16) + update_pip_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'resource_type': 'Microsoft.ContainerService/ManagedClusters', + 'init_pip_name': init_pip_name, + 'update_pip_name': update_pip_name, + 'ssh_key_value': self.generate_ssh_keys(), + }) + + create_init_pip = 'network public-ip create -g {resource_group} -n {init_pip_name} --sku Standard' + # workaround for replay failure in CI + self.cmd(create_init_pip) + get_init_pip = 'network public-ip show -g {resource_group} -n {init_pip_name}' + init_pip = self.cmd(get_init_pip, checks=[ + self.check('provisioningState', 'Succeeded') + ]).get_output_in_json() + + create_update_pip = 'network public-ip create -g {resource_group} -n {update_pip_name} --sku Standard' + # workaround for replay failure in CI + self.cmd(create_update_pip) + get_update_pip = 'network public-ip show -g {resource_group} -n {update_pip_name}' + update_pip = self.cmd(get_update_pip, checks=[ + self.check('provisioningState', 'Succeeded') + ]).get_output_in_json() + + init_pip_id = init_pip['id'] + update_pip_id = update_pip['id'] + + assert init_pip_id is not None + assert update_pip_id is not None + self.kwargs.update({ + 'init_pip_id': init_pip_id, + 'update_pip_id': update_pip_id, + }) + + # create cluster + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--ssh-key-value={ssh_key_value} --load-balancer-outbound-ips {init_pip_id}' + + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 1), + self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[0].id', init_pip_id) + ]) + + # update cluster + update_cmd = 'aks update -g {resource_group} -n {name} --load-balancer-outbound-ips {update_pip_id}' + + self.cmd(update_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 1), + self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[0].id', update_pip_id) + ]) + + # 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='centraluseuap', preserve_default_location=True) + def test_aks_create_and_update_ipv6_count(self, resource_group, resource_group_location): + _, create_version = self._get_versions(resource_group_location) + aks_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'k8s_version': create_version, + 'ssh_key_value': self.generate_ssh_keys(), + }) + + # create + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--pod-cidr 172.126.0.0/16 --service-cidr 172.56.0.0/16 --dns-service-ip 172.56.0.10 ' \ + '--pod-cidrs 172.126.0.0/16,2001:abcd:1234::/64 --service-cidrs 172.56.0.0/16,2001:ffff::/108 ' \ + '--ip-families IPv4,IPv6 --load-balancer-managed-outbound-ipv6-count 2 ' \ + '--network-plugin kubenet --ssh-key-value={ssh_key_value} --kubernetes-version {k8s_version} ' \ + '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AKS-EnableDualStack' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('networkProfile.podCidr', '172.126.0.0/16'), + self.check('networkProfile.podCidrs', ['172.126.0.0/16', '2001:abcd:1234::/64']), + self.check('networkProfile.serviceCidr', '172.56.0.0/16'), + self.check('networkProfile.serviceCidrs', ['172.56.0.0/16', '2001:ffff::/108']), + self.check('networkProfile.ipFamilies', ['IPv4', 'IPv6']), + self.check('networkProfile.loadBalancerProfile.managedOutboundIPs.countIpv6', 2), + self.check('networkProfile.loadBalancerProfile.managedOutboundIPs.count', 1), + self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 3) + ]) + + # update + update_cmd = 'aks update -g {resource_group} -n {name} --load-balancer-managed-outbound-ipv6-count 4' + + self.cmd(update_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('networkProfile.podCidr', '172.126.0.0/16'), + self.check('networkProfile.podCidrs', ['172.126.0.0/16', '2001:abcd:1234::/64']), + self.check('networkProfile.serviceCidr', '172.56.0.0/16'), + self.check('networkProfile.serviceCidrs', ['172.56.0.0/16', '2001:ffff::/108']), + self.check('networkProfile.ipFamilies', ['IPv4', 'IPv6']), + self.check('networkProfile.loadBalancerProfile.managedOutboundIPs.countIpv6', 4), + self.check('networkProfile.loadBalancerProfile.managedOutboundIPs.count', 1), + self.check('networkProfile.loadBalancerProfile.effectiveOutboundIPs[] | length(@)', 5) + ]) + + # 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='centraluseuap') def test_aks_update_with_windows_gmsa(self, resource_group, resource_group_location): @@ -2945,6 +3162,82 @@ def test_aks_update_with_windows_gmsa(self, resource_group, resource_group_locat 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_update_taints_msi(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 + # kwargs for string formatting + aks_name = self.create_random_name('cliakstest', 16) + nodepool1_name = "nodepool1" + taints = "key1=value1:PreferNoSchedule" + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'dns_name_prefix': self.create_random_name('cliaksdns', 16), + 'ssh_key_value': self.generate_ssh_keys(), + 'location': resource_group_location, + 'resource_type': 'Microsoft.ContainerService/ManagedClusters', + 'taints': taints, + 'nodepool1_name': nodepool1_name, + }) + + # create + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--dns-name-prefix={dns_name_prefix} --node-count=1 --ssh-key-value={ssh_key_value} ' + self.cmd(create_cmd, checks=[ + self.exists('fqdn'), + self.exists('nodeResourceGroup'), + self.check('provisioningState', 'Succeeded') + ]) + + # show + self.cmd('aks show -g {resource_group} -n {name}', checks=[ + self.check('type', '{resource_type}'), + self.check('name', '{name}'), + self.exists('nodeResourceGroup'), + self.check('resourceGroup', '{resource_group}'), + self.check('agentPoolProfiles[0].count', 1), + self.check('agentPoolProfiles[0].osType', 'Linux'), + self.check('agentPoolProfiles[0].vmSize', 'Standard_DS2_v2'), + self.check('agentPoolProfiles[0].mode', 'System'), + self.check('dnsPrefix', '{dns_name_prefix}'), + self.exists('kubernetesVersion') + ]) + + # get-credentials + fd, temp_path = tempfile.mkstemp() + self.kwargs.update({'file': temp_path}) + try: + self.cmd( + 'aks get-credentials -g {resource_group} -n {name} --file "{file}"') + self.assertGreater(os.path.getsize(temp_path), 0) + finally: + os.close(fd) + os.remove(temp_path) + + # nodepool update nodepool1 taints + self.cmd('aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} --node-taints {taints}', checks=[ + self.check('provisioningState', 'Succeeded'), + ]) + + # nodepool list + self.cmd('aks nodepool list --resource-group={resource_group} --cluster-name={name}', checks=[ + self.check('[0].mode', 'System'), + self.check('[0].nodeTaints[0]', 'key1=value1:PreferNoSchedule'), + ]) + + # nodepool delete nodepool1 label + self.cmd('aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} --node-taints "" ') + + # nodepool show + self.cmd('aks nodepool show --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} -o json', checks=[ + self.check('nodeTaints', None) + ]) + + # 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') @@ -2955,7 +3248,6 @@ def test_aks_nodepool_update_label_msi(self, resource_group, resource_group_loca aks_name = self.create_random_name('cliakstest', 16) nodepool1_name = "nodepool1" nodepool2_name = "nodepool2" - nodepool3_name = "nodepool3" tags = "key1=value1" new_tags = "key2=value2" labels = "label1=value1" @@ -2971,7 +3263,6 @@ def test_aks_nodepool_update_label_msi(self, resource_group, resource_group_loca 'labels': labels, 'nodepool1_name': nodepool1_name, 'nodepool2_name': nodepool2_name, - 'nodepool3_name': nodepool3_name }) # create @@ -3008,6 +3299,7 @@ def test_aks_nodepool_update_label_msi(self, resource_group, resource_group_loca os.close(fd) os.remove(temp_path) + # nodepool update nodepool1 label self.cmd('aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} --labels {labels}', checks=[ self.check('provisioningState', 'Succeeded'), ]) @@ -3018,19 +3310,19 @@ def test_aks_nodepool_update_label_msi(self, resource_group, resource_group_loca self.check('[0].nodeLabels.label1', 'value1'), ]) - # nodepool update nodepool2 label - self.cmd('aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} --labels label1=value2', checks=[ - self.check('nodeLabels.label1', 'value2') + # nodepool delete nodepool1 label + self.cmd('aks nodepool update --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name} --labels ', checks=[ + self.check('nodeLabels.label1', None) ]) # nodepool show self.cmd('aks nodepool show --resource-group={resource_group} --cluster-name={name} --name={nodepool1_name}', checks=[ - self.check('nodeLabels.label1', 'value2') + self.check('nodeLabels.label1', None) ]) @AllowLargeResponse() - @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_update_label_msi(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 @@ -3073,9 +3365,144 @@ def test_aks_update_label_msi(self, resource_group, resource_group_location): ]) update_cmd = 'aks update --resource-group={resource_group} --name={name} ' \ - '--nodepool-labels label1=value11' + '--nodepool-labels ' self.cmd(update_cmd, checks=[ self.check('provisioningState', 'Succeeded'), - self.check('agentPoolProfiles[0].nodeLabels.label1', 'value11'), + self.check('agentPoolProfiles[0].nodeLabels.label1', None), self.check('agentPoolProfiles[0].nodeLabels.label2', None), + ]) + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='centraluseuap') + def test_aks_create_with_oidc_issuer_enabled(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 + # kwargs for string formatting + aks_name = self.create_random_name('cliakstest', 16) + + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'resource_type': 'Microsoft.ContainerService/ManagedClusters', + 'ssh_key_value': self.generate_ssh_keys(), + }) + + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--enable-managed-identity ' \ + '--enable-oidc-issuer ' \ + '--ssh-key-value={ssh_key_value}' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('oidcIssuerProfile.enabled', True), + ]) + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='centraluseuap') + def test_aks_update_with_oidc_issuer_enabled(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 + # kwargs for string formatting + aks_name = self.create_random_name('cliakstest', 16) + + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'resource_type': 'Microsoft.ContainerService/ManagedClusters', + 'ssh_key_value': self.generate_ssh_keys(), + }) + + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--enable-managed-identity ' \ + '--ssh-key-value={ssh_key_value}' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + ]) + + update_cmd = 'aks update --resource-group={resource_group} --name={name} ' \ + '--enable-oidc-issuer' + self.cmd(update_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('oidcIssuerProfile.enabled', True), + ]) + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + def test_aks_create_with_crg_id(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 + # kwargs for string formatting + 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) + crg_id = '/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/STAGING-CRG-RG/providers' \ + '/Microsoft.Compute/capacityReservationGroups/crg-3' + vm_size = 'Standard_D4s_v3' + count = 1 + identity = '/subscriptions/26fe00f8-9173-4872-9134-bb1d2e00343a/resourceGroups/staging-crg-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/crg-rg-id' + + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'count': count, + 'location': resource_group_location, + 'crg_id': crg_id, + 'vm_size': vm_size, + 'identity': identity, + 'node_pool_name': node_pool_name, + 'node_pool_name_second': node_pool_name_second, + 'resource_type': 'Microsoft.ContainerService/ManagedClusters', + 'ssh_key_value': self.generate_ssh_keys(), + }) + + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--node-vm-size {vm_size} ' \ + '--nodepool-name {node_pool_name} -c 1 ' \ + '--enable-managed-identity ' \ + '--assign-identity {identity} ' \ + '--crg-id={crg_id} ' \ + '--ssh-key-value={ssh_key_value}' + 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} ' + '--node-vm-size {vm_size} ' + '--crg-id={crg_id} ' + '-c 1 ', + checks=[ + self.check('provisioningState', 'Succeeded'), + ]) + + # 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_create_with_network_plugin_none(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 + # kwargs for string formatting + aks_name = self.create_random_name('cliakstest', 16) + + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'resource_type': 'Microsoft.ContainerService/ManagedClusters', + 'ssh_key_value': self.generate_ssh_keys(), + }) + + create_cmd = 'aks create --resource-group={resource_group} --name={name} --network-plugin=none ' \ + '--location={location} --ssh-key-value={ssh_key_value} -o json' + + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('networkProfile.networkPlugin', 'none'), ]) \ No newline at end of file diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_decorator.py b/src/aks-preview/azext_aks_preview/tests/latest/test_decorator.py index 1c330b0f018..84322197238 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_decorator.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_decorator.py @@ -7,7 +7,6 @@ import unittest from unittest.mock import Mock, patch -import requests from azext_aks_preview.__init__ import register_aks_preview_resource_type from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW from azext_aks_preview._consts import ( @@ -50,11 +49,15 @@ DecoratorMode, ) from azure.cli.core.azclierror import ( + AzCLIError, CLIInternalError, InvalidArgumentValueError, MutuallyExclusiveArgumentError, RequiredArgumentMissingError, + UnknownError, ) +from knack.util import CLIError +from azure.core.exceptions import HttpResponseError from msrestazure.azure_exceptions import CloudError @@ -84,25 +87,28 @@ def test_models(self): models.ManagedClusterHTTPProxyConfig, getattr(module, "ManagedClusterHTTPProxyConfig"), ) - self.assertEqual( - models.ManagedClusterPodIdentityProfile, - getattr(module, "ManagedClusterPodIdentityProfile"), - ) self.assertEqual( models.WindowsGmsaProfile, getattr(module, "WindowsGmsaProfile") ) self.assertEqual(models.CreationData, getattr(module, "CreationData")) # nat gateway models self.assertEqual( - models.nat_gateway_models.get("ManagedClusterNATGatewayProfile"), + models.nat_gateway_models.ManagedClusterNATGatewayProfile, getattr(module, "ManagedClusterNATGatewayProfile"), ) self.assertEqual( - models.nat_gateway_models.get( - "ManagedClusterManagedOutboundIPProfile" - ), + models.nat_gateway_models.ManagedClusterManagedOutboundIPProfile, getattr(module, "ManagedClusterManagedOutboundIPProfile"), ) + # pod identity models + self.assertEqual( + models.pod_identity_models.ManagedClusterPodIdentityProfile, + getattr(module, "ManagedClusterPodIdentityProfile"), + ) + self.assertEqual( + models.pod_identity_models.ManagedClusterPodIdentityException, + getattr(module, "ManagedClusterPodIdentityException"), + ) class AKSPreviewContextTestCase(unittest.TestCase): @@ -113,7 +119,28 @@ def setUp(self): self.cmd = MockCmd(self.cli_ctx) self.models = AKSPreviewModels(self.cmd, CUSTOM_MGMT_AKS_PREVIEW) - def test__get_vm_set_type(self): + def test_validate_pod_identity_with_kubenet(self): + # custom value + ctx_1 = AKSPreviewContext( + self.cmd, + {}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + network_profile_1 = self.models.ContainerServiceNetworkProfile( + network_plugin="kubenet" + ) + mc_1 = self.models.ManagedCluster( + location="test_location", + network_profile=network_profile_1, + ) + # fail on enable_pod_identity_with_kubenet not specified + with self.assertRaises(RequiredArgumentMissingError): + ctx_1._AKSPreviewContext__validate_pod_identity_with_kubenet( + mc_1, True, False + ) + + def test_get_vm_set_type(self): # default & dynamic completion ctx_1 = AKSPreviewContext( self.cmd, @@ -213,6 +240,255 @@ def test_get_pod_subnet_id(self): ctx_1.attach_mc(mc) self.assertEqual(ctx_1.get_pod_subnet_id(), "test_mc_pod_subnet_id") + def test_get_pod_cidrs(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + {"pod_cidrs": "10.244.0.0/16,2001:abcd::/64"}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual( + ctx_1.get_pod_cidrs(), ["10.244.0.0/16", "2001:abcd::/64"] + ) + + ctx_2 = AKSPreviewContext( + self.cmd, + {"pod_cidrs": ""}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_2.get_pod_cidrs(), []) + + ctx_3 = AKSPreviewContext( + self.cmd, + {"pod_cidrs": None}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_3.get_pod_cidrs(), None) + + def test_get_service_cidrs(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + {"service_cidrs": "10.244.0.0/16,2001:abcd::/64"}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual( + ctx_1.get_service_cidrs(), ["10.244.0.0/16", "2001:abcd::/64"] + ) + + ctx_2 = AKSPreviewContext( + self.cmd, + {"service_cidrs": ""}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_2.get_service_cidrs(), []) + + ctx_3 = AKSPreviewContext( + self.cmd, + {"service_cidrs": None}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_3.get_service_cidrs(), None) + + def test_get_ip_families(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + {"ip_families": "IPv4,IPv6"}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_1.get_ip_families(), ["IPv4", "IPv6"]) + + ctx_2 = AKSPreviewContext( + self.cmd, + {"ip_families": ""}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_2.get_ip_families(), []) + + ctx_3 = AKSPreviewContext( + self.cmd, + {"ip_families": None}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_3.get_ip_families(), None) + + def test_get_load_balancer_managed_outbound_ip_count(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + { + "load_balancer_managed_outbound_ip_count": None, + }, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual( + ctx_1.get_load_balancer_managed_outbound_ip_count(), None + ) + load_balancer_profile = self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=10) + ) + network_profile = self.models.ContainerServiceNetworkProfile( + load_balancer_profile=load_balancer_profile + ) + mc = self.models.ManagedCluster( + location="test_location", network_profile=network_profile + ) + ctx_1.attach_mc(mc) + self.assertEqual( + ctx_1.get_load_balancer_managed_outbound_ip_count(), 10 + ) + + # custom value + ctx_2 = AKSPreviewContext( + self.cmd, + { + "load_balancer_managed_outbound_ip_count": None, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": None, + }, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + load_balancer_profile_2 = self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=10, count_ipv6=20), + outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPs" + )( + public_i_ps=[ + self.models.lb_models.get("ResourceReference")( + id="test_public_ip" + ) + ] + ), + outbound_ip_prefixes=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" + )( + public_ip_prefixes=[ + self.models.lb_models.get("ResourceReference")( + id="test_public_ip_prefix" + ) + ] + ), + ) + network_profile_2 = self.models.ContainerServiceNetworkProfile( + load_balancer_profile=load_balancer_profile_2 + ) + mc_2 = self.models.ManagedCluster( + location="test_location", network_profile=network_profile_2 + ) + ctx_2.attach_mc(mc_2) + self.assertEqual( + ctx_2.get_load_balancer_managed_outbound_ip_count(), 10 + ) + + def test_get_load_balancer_managed_outbound_ipv6_count(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + { + "load_balancer_managed_outbound_ipv6_count": None, + }, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual( + ctx_1.get_load_balancer_managed_outbound_ipv6_count(), None + ) + load_balancer_profile = self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count_ipv6=10) + ) + network_profile = self.models.ContainerServiceNetworkProfile( + load_balancer_profile=load_balancer_profile + ) + mc = self.models.ManagedCluster( + location="test_location", network_profile=network_profile + ) + ctx_1.attach_mc(mc) + self.assertEqual( + ctx_1.get_load_balancer_managed_outbound_ipv6_count(), 10 + ) + + # custom value + ctx_2 = AKSPreviewContext( + self.cmd, + {"load_balancer_managed_outbound_ipv6_count": 0}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual( + ctx_2.get_load_balancer_managed_outbound_ipv6_count(), 0 + ) + + # custom value + ctx_3 = AKSPreviewContext( + self.cmd, + { + "load_balancer_managed_outbound_ipv6_count": None, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": None, + }, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + load_balancer_profile_3 = self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=10, count_ipv6=20), + outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPs" + )( + public_i_ps=[ + self.models.lb_models.get("ResourceReference")( + id="test_public_ip" + ) + ] + ), + outbound_ip_prefixes=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" + )( + public_ip_prefixes=[ + self.models.lb_models.get("ResourceReference")( + id="test_public_ip_prefix" + ) + ] + ), + ) + network_profile_3 = self.models.ContainerServiceNetworkProfile( + load_balancer_profile=load_balancer_profile_3 + ) + mc_3 = self.models.ManagedCluster( + location="test_location", network_profile=network_profile_3 + ) + ctx_3.attach_mc(mc_3) + self.assertEqual( + ctx_3.get_load_balancer_managed_outbound_ipv6_count(), 20 + ) + def test_get_enable_fips_image(self): # default ctx_1 = AKSPreviewContext( @@ -274,6 +550,47 @@ def test_get_gpu_instance_profile(self): ctx_1.get_gpu_instance_profile(), "test_mc_gpu_instance_profile" ) + def test_get_message_of_the_day(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + {"message_of_the_day": None}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_1.get_message_of_the_day(), None) + agent_pool_profile = self.models.ManagedClusterAgentPoolProfile( + name="test_nodepool_name", + message_of_the_day="test_mc_message_of_the_day", + ) + mc = self.models.ManagedCluster( + location="test_location", agent_pool_profiles=[agent_pool_profile] + ) + ctx_1.attach_mc(mc) + self.assertEqual( + ctx_1.get_message_of_the_day(), "test_mc_message_of_the_day" + ) + + # custom + ctx_2 = AKSPreviewContext( + self.cmd, + {"message_of_the_day": "fake-path"}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + # fail on invalid file path + with self.assertRaises(InvalidArgumentValueError): + ctx_2.get_message_of_the_day() + + # custom + ctx_3 = AKSPreviewContext( + self.cmd, + {"message_of_the_day": _get_test_data_file("invalidconfig.json")}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_3.get_message_of_the_day(), "W10=") + def test_get_kubelet_config(self): # default ctx_1 = AKSPreviewContext( @@ -314,7 +631,7 @@ def test_get_kubelet_config(self): self.models, decorator_mode=DecoratorMode.CREATE, ) - # fail on invalid file path + # fail on invalid file content with self.assertRaises(InvalidArgumentValueError): ctx_3.get_kubelet_config() @@ -358,7 +675,7 @@ def test_get_linux_os_config(self): self.models, decorator_mode=DecoratorMode.CREATE, ) - # fail on invalid file path + # fail on invalid file content with self.assertRaises(InvalidArgumentValueError): ctx_3.get_linux_os_config() @@ -436,12 +753,10 @@ def test_get_nat_gateway_managed_outbound_ip_count(self): self.assertEqual( ctx_1.get_nat_gateway_managed_outbound_ip_count(), None ) - nat_gateway_profile = self.models.nat_gateway_models.get( - "ManagedClusterNATGatewayProfile" - )( - managed_outbound_ip_profile=self.models.nat_gateway_models.get( - "ManagedClusterManagedOutboundIPProfile" - )(count=10) + nat_gateway_profile = self.models.nat_gateway_models.ManagedClusterNATGatewayProfile( + managed_outbound_ip_profile=self.models.nat_gateway_models.ManagedClusterManagedOutboundIPProfile( + count=10 + ) ) network_profile = self.models.ContainerServiceNetworkProfile( nat_gateway_profile=nat_gateway_profile @@ -462,10 +777,10 @@ def test_get_nat_gateway_idle_timeout(self): decorator_mode=DecoratorMode.CREATE, ) self.assertEqual(ctx_1.get_nat_gateway_idle_timeout(), None) - nat_gateway_profile = self.models.nat_gateway_models.get( - "ManagedClusterNATGatewayProfile" - )( - idle_timeout_in_minutes=20, + nat_gateway_profile = ( + self.models.nat_gateway_models.ManagedClusterNATGatewayProfile( + idle_timeout_in_minutes=20, + ) ) network_profile = self.models.ContainerServiceNetworkProfile( nat_gateway_profile=nat_gateway_profile @@ -493,17 +808,77 @@ def test_get_enable_pod_security_policy(self): ctx_1.attach_mc(mc) self.assertEqual(ctx_1.get_enable_pod_security_policy(), True) - def test_get_enable_managed_identity(self): # custom value - ctx_1 = AKSPreviewContext( + ctx_2 = AKSPreviewContext( self.cmd, - {"enable_managed_identity": False, "enable_pod_identity": True}, + { + "enable_pod_security_policy": True, + "disable_pod_security_policy": True, + }, self.models, - decorator_mode=DecoratorMode.CREATE, + decorator_mode=DecoratorMode.UPDATE, ) - with self.assertRaises(RequiredArgumentMissingError): + # fail on mutually exclusive enable_pod_security_policy and disable_pod_security_policy + with self.assertRaises(MutuallyExclusiveArgumentError): + ctx_2.get_enable_pod_security_policy() + + def test_get_disable_pod_security_policy(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + {"disable_pod_security_policy": False}, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + self.assertEqual(ctx_1.get_disable_pod_security_policy(), False) + mc = self.models.ManagedCluster( + location="test_location", + enable_pod_security_policy=False, + ) + ctx_1.attach_mc(mc) + self.assertEqual(ctx_1.get_disable_pod_security_policy(), False) + + # custom value + ctx_2 = AKSPreviewContext( + self.cmd, + { + "enable_pod_security_policy": True, + "disable_pod_security_policy": True, + }, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + # fail on mutually exclusive enable_pod_security_policy and disable_pod_security_policy + with self.assertRaises(MutuallyExclusiveArgumentError): + ctx_2.get_disable_pod_security_policy() + + def test_get_enable_managed_identity(self): + # custom value + ctx_1 = AKSPreviewContext( + self.cmd, + {"enable_managed_identity": False, "enable_pod_identity": True}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + # fail on enable_managed_identity not specified + with self.assertRaises(RequiredArgumentMissingError): self.assertEqual(ctx_1.get_enable_managed_identity(), False) + # custom value + ctx_2 = AKSPreviewContext( + self.cmd, + {"enable_pod_identity": True}, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + mc_2 = self.models.ManagedCluster( + location="test_location", + ) + ctx_2.attach_mc(mc_2) + # fail on managed identity not enabled + with self.assertRaises(RequiredArgumentMissingError): + self.assertEqual(ctx_2.get_enable_managed_identity(), False) + def test_get_enable_pod_identity(self): # default ctx_1 = AKSPreviewContext( @@ -513,8 +888,10 @@ def test_get_enable_pod_identity(self): decorator_mode=DecoratorMode.CREATE, ) self.assertEqual(ctx_1.get_enable_pod_identity(), False) - pod_identity_profile = self.models.ManagedClusterPodIdentityProfile( - enabled=True + pod_identity_profile = ( + self.models.pod_identity_models.ManagedClusterPodIdentityProfile( + enabled=True + ) ) mc = self.models.ManagedCluster( location="test_location", @@ -548,6 +925,64 @@ def test_get_enable_pod_identity(self): with self.assertRaises(RequiredArgumentMissingError): self.assertEqual(ctx_2.get_enable_pod_identity(), True) + # custom value + ctx_3 = AKSPreviewContext( + self.cmd, + { + "enable_pod_identity": True, + "disable_pod_identity": True, + }, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + mc_3 = self.models.ManagedCluster( + location="test_location", + identity=self.models.ManagedClusterIdentity(type="SystemAssigned"), + ) + ctx_3.attach_mc(mc_3) + # fail on mutually exclusive enable_pod_identity and disable_pod_identity + with self.assertRaises(MutuallyExclusiveArgumentError): + ctx_3.get_enable_pod_identity() + + # custom value + ctx_4 = AKSPreviewContext( + self.cmd, + { + "enable_pod_identity": True, + }, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + mc_4 = self.models.ManagedCluster(location="test_location") + ctx_4.attach_mc(mc_4) + # fail on managed identity not enabled + with self.assertRaises(RequiredArgumentMissingError): + ctx_4.get_enable_pod_identity() + + def test_get_disable_pod_identity(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + {"disable_pod_identity": False}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_1.get_disable_pod_identity(), False) + + # custom value + ctx_2 = AKSPreviewContext( + self.cmd, + { + "enable_pod_identity": True, + "disable_pod_identity": True, + }, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + # fail on mutually exclusive enable_pod_identity and disable_pod_identity + with self.assertRaises(MutuallyExclusiveArgumentError): + ctx_2.get_disable_pod_identity() + def test_get_enable_pod_identity_with_kubenet(self): # default ctx_1 = AKSPreviewContext( @@ -557,9 +992,11 @@ def test_get_enable_pod_identity_with_kubenet(self): decorator_mode=DecoratorMode.CREATE, ) self.assertEqual(ctx_1.get_enable_pod_identity_with_kubenet(), False) - pod_identity_profile = self.models.ManagedClusterPodIdentityProfile( - enabled=True, - allow_network_plugin_kubenet=True, + pod_identity_profile = ( + self.models.pod_identity_models.ManagedClusterPodIdentityProfile( + enabled=True, + allow_network_plugin_kubenet=True, + ) ) mc = self.models.ManagedCluster( location="test_location", @@ -856,6 +1293,35 @@ def test_get_snapshot(self): # test cache self.assertEqual(ctx_1.get_snapshot(), mock_snapshot) + def test_get_host_group_id(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + {"host_group_id": None}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_1.get_host_group_id(), None) + agent_pool_profile_1 = self.models.ManagedClusterAgentPoolProfile( + name="test_nodepool_name", host_group_id="test_mc_host_group_id" + ) + mc_1 = self.models.ManagedCluster( + location="test_location", agent_pool_profiles=[agent_pool_profile_1] + ) + ctx_1.attach_mc(mc_1) + self.assertEqual( + ctx_1.get_host_group_id(), "test_mc_host_group_id" + ) + + # custom + ctx_2 = AKSPreviewContext( + self.cmd, + {"host_group_id": "test_host_group_id"}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_2.get_host_group_id(), "test_host_group_id") + def test_get_kubernetes_version(self): # default ctx_1 = AKSPreviewContext( @@ -1130,6 +1596,86 @@ def test_test_get_outbound_type(self): load_balancer_profile=load_balancer_profile, ) + def test_get_oidc_issuer_profile__create_not_set(self): + ctx = AKSPreviewContext( + self.cmd, {}, self.models, decorator_mode=DecoratorMode.CREATE + ) + self.assertIsNone(ctx.get_oidc_issuer_profile()) + + def test_get_oidc_issuer_profile__create_enable(self): + ctx = AKSPreviewContext( + self.cmd, + { + "enable_oidc_issuer": True, + }, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + profile = ctx.get_oidc_issuer_profile() + self.assertIsNotNone(profile) + self.assertTrue(profile.enabled) + + def test_get_oidc_issuer_profile__update_not_set(self): + ctx = AKSPreviewContext( + self.cmd, {}, self.models, decorator_mode=DecoratorMode.UPDATE + ) + ctx.attach_mc(self.models.ManagedCluster(location="test_location")) + self.assertIsNone(ctx.get_oidc_issuer_profile()) + + def test_get_oidc_issuer_profile__update_not_set_with_previous_profile( + self, + ): + ctx = AKSPreviewContext( + self.cmd, {}, self.models, decorator_mode=DecoratorMode.UPDATE + ) + mc = self.models.ManagedCluster(location="test_location") + mc.oidc_issuer_profile = self.models.ManagedClusterOIDCIssuerProfile( + enabled=True + ) + ctx.attach_mc(self.models.ManagedCluster(location="test_location")) + self.assertIsNone(ctx.get_oidc_issuer_profile()) + + def test_get_oidc_issuer_profile__update_enable(self): + ctx = AKSPreviewContext( + self.cmd, + { + "enable_oidc_issuer": True, + }, + self.models, + decorator_mode=DecoratorMode.UPDATE, + ) + ctx.attach_mc(self.models.ManagedCluster(location="test_location")) + profile = ctx.get_oidc_issuer_profile() + self.assertIsNotNone(profile) + self.assertTrue(profile.enabled) + + def test_get_crg_id(self): + # default + ctx_1 = AKSPreviewContext( + self.cmd, + {"crg_id": "test_crg_id"}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_1.get_crg_id(), "test_crg_id") + + ctx_2 = AKSPreviewContext( + self.cmd, + {"crg_id": ""}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_2.get_crg_id(), "") + + ctx_3 = AKSPreviewContext( + self.cmd, + {"crg_id": None}, + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx_3.get_crg_id(), None) + + class AKSPreviewCreateDecoratorTestCase(unittest.TestCase): def setUp(self): # manually register CUSTOM_MGMT_AKS_PREVIEW @@ -1170,6 +1716,8 @@ def test_set_up_agent_pool_profiles(self): "gpu_instance_profile": None, "kubelet_config": None, "snapshot_id": None, + "host_group_id": None, + "crg_id": None, }, CUSTOM_MGMT_AKS_PREVIEW, ) @@ -1208,6 +1756,8 @@ def test_set_up_agent_pool_profiles(self): gpu_instance_profile=None, kubelet_config=None, creation_data=None, + host_group_id=None, + capacity_reservation_group_id=None, ) ground_truth_mc_1 = self.models.ManagedCluster(location="test_location") ground_truth_mc_1.agent_pool_profiles = [agent_pool_profile_1] @@ -1244,6 +1794,8 @@ def test_set_up_agent_pool_profiles(self): "kubelet_config": _get_test_data_file("kubeletconfig.json"), "linux_os_config": _get_test_data_file("linuxosconfig.json"), "snapshot_id": "test_snapshot_id", + "host_group_id": "test_host_group_id", + "crg_id": "test_crg_id", }, CUSTOM_MGMT_AKS_PREVIEW, ) @@ -1312,6 +1864,8 @@ def test_set_up_agent_pool_profiles(self): creation_data=self.models.CreationData( source_resource_id="test_snapshot_id" ), + capacity_reservation_group_id="test_crg_id", + host_group_id="test_host_group_id", ) ground_truth_mc_2 = self.models.ManagedCluster(location="test_location") ground_truth_mc_2.agent_pool_profiles = [agent_pool_profile_2] @@ -1458,12 +2012,10 @@ def test_set_up_network_profile(self): mc_2 = self.models.ManagedCluster(location="test_location") dec_mc_2 = dec_2.set_up_network_profile(mc_2) - nat_gateway_profile_2 = self.models.nat_gateway_models.get( - "ManagedClusterNATGatewayProfile" - )( - managed_outbound_ip_profile=self.models.nat_gateway_models.get( - "ManagedClusterManagedOutboundIPProfile" - )(count=10), + nat_gateway_profile_2 = self.models.nat_gateway_models.ManagedClusterNATGatewayProfile( + managed_outbound_ip_profile=self.models.nat_gateway_models.ManagedClusterManagedOutboundIPProfile( + count=10 + ), idle_timeout_in_minutes=20, ) network_profile_2 = self.models.ContainerServiceNetworkProfile( @@ -1481,6 +2033,64 @@ def test_set_up_network_profile(self): ) self.assertEqual(dec_mc_2, ground_truth_mc_2) + # dual-stack + dec_3 = AKSPreviewCreateDecorator( + self.cmd, + self.client, + { + "load_balancer_sku": None, + "load_balancer_managed_outbound_ip_count": None, + "load_balancer_managed_outbound_ipv6_count": 3, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": None, + "load_balancer_outbound_ports": None, + "load_balancer_idle_timeout": None, + "outbound_type": None, + "network_plugin": "kubenet", + "pod_cidr": None, + "service_cidr": None, + "pod_cidrs": "10.246.0.0/16,2001:abcd::/64", + "service_cidrs": "10.0.0.0/16,2001:ffff::/108", + "ip_families": "IPv4,IPv6", + "dns_service_ip": None, + "docker_bridge_cidr": None, + "network_policy": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_3 = self.models.ManagedCluster(location="test_location") + dec_mc_3 = dec_3.set_up_network_profile(mc_3) + + network_profile_3 = self.models.ContainerServiceNetworkProfile( + network_plugin="kubenet", + pod_cidr=None, # overwritten to None + service_cidr=None, # overwritten to None + dns_service_ip=None, # overwritten to None + docker_bridge_cidr=None, # overwritten to None + load_balancer_sku="standard", + outbound_type="loadBalancer", + ip_families=["IPv4", "IPv6"], + pod_cidrs=["10.246.0.0/16", "2001:abcd::/64"], + service_cidrs=["10.0.0.0/16", "2001:ffff::/108"], + ) + load_balancer_profile = self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )( + count=1, + count_ipv6=3, + ) + ) + + network_profile_3.load_balancer_profile = load_balancer_profile + + ground_truth_mc_3 = self.models.ManagedCluster( + location="test_location", network_profile=network_profile_3 + ) + self.assertEqual(dec_mc_3, ground_truth_mc_3) + def test_set_up_pod_security_policy(self): # default value in `aks_create` dec_1 = AKSPreviewCreateDecorator( @@ -1556,9 +2166,11 @@ def test_set_up_pod_identity_profile(self): network_profile_2 = self.models.ContainerServiceNetworkProfile( network_plugin="kubenet" ) - pod_identity_profile_2 = self.models.ManagedClusterPodIdentityProfile( - enabled=True, - allow_network_plugin_kubenet=True, + pod_identity_profile_2 = ( + self.models.pod_identity_models.ManagedClusterPodIdentityProfile( + enabled=True, + allow_network_plugin_kubenet=True, + ) ) ground_truth_mc_2 = self.models.ManagedCluster( location="test_location", @@ -1923,11 +2535,51 @@ def test_set_up_windows_profile(self): ) self.assertEqual(dec_mc_2, ground_truth_mc_2) - def test_construct_preview_mc_profile(self): + def test_set_up_oidc_issuer_profile__default_value(self): + dec = AKSPreviewCreateDecorator( + self.cmd, self.client, {}, CUSTOM_MGMT_AKS_PREVIEW + ) + mc = self.models.ManagedCluster(location="test_location") + updated_mc = dec.set_up_oidc_issuer_profile(mc) + self.assertIsNone(updated_mc.oidc_issuer_profile) + + def test_set_up_oidc_issuer_profile__enabled(self): + dec = AKSPreviewCreateDecorator( + self.cmd, + self.client, + { + "enable_oidc_issuer": True, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc = self.models.ManagedCluster(location="test_location") + updated_mc = dec.set_up_oidc_issuer_profile(mc) + self.assertIsNotNone(updated_mc.oidc_issuer_profile) + self.assertTrue(updated_mc.oidc_issuer_profile.enabled) + + def test_set_up_oidc_issuer_profile__enabled_mc_enabled(self): + dec = AKSPreviewCreateDecorator( + self.cmd, + self.client, + { + "enable_oidc_issuer": True, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc = self.models.ManagedCluster(location="test_location") + mc.oidc_issuer_profile = self.models.ManagedClusterOIDCIssuerProfile( + enabled=True + ) + updated_mc = dec.set_up_oidc_issuer_profile(mc) + self.assertIsNotNone(updated_mc.oidc_issuer_profile) + self.assertTrue(updated_mc.oidc_issuer_profile.enabled) + + def test_construct_mc_preview_profile(self): import inspect import paramiko from azext_aks_preview.custom import aks_create + from azure.cli.command_modules.acs.decorator import AKSParamDict optional_params = {} positional_params = [] @@ -1956,8 +2608,6 @@ def test_construct_preview_mc_profile(self): "ssh_key_value": public_key, } raw_param_dict.update(optional_params) - from azure.cli.command_modules.acs.decorator import AKSParamDict - raw_param_dict = AKSParamDict(raw_param_dict) # default value in `aks_create` @@ -1975,7 +2625,7 @@ def test_construct_preview_mc_profile(self): "azure.cli.command_modules.acs.decorator.Profile", return_value=mock_profile, ): - dec_mc_1 = dec_1.construct_preview_mc_profile() + dec_mc_1 = dec_1.construct_mc_preview_profile() agent_pool_profile_1 = self.models.ManagedClusterAgentPoolProfile( # Must be 12 chars or less before ACS RP adds to it @@ -2021,7 +2671,7 @@ def test_construct_preview_mc_profile(self): self.assertEqual(dec_mc_1, ground_truth_mc_1) raw_param_dict.print_usage_statistics() - def test_create_mc(self): + def test_create_mc_preview(self): mc_1 = self.models.ManagedCluster( location="test_location", addon_profiles={ @@ -2040,11 +2690,11 @@ def test_create_mc(self): "resource_group_name": "test_rg_name", "name": "test_name", "enable_managed_identity": True, + # "enable_msi_auth_for_monitoring": True, "no_wait": False, }, CUSTOM_MGMT_AKS_PREVIEW, ) - dec_1.context.attach_mc(mc_1) dec_1.context.set_intermediate( "monitoring", True, overwrite_exists=True @@ -2052,18 +2702,19 @@ def test_create_mc(self): dec_1.context.set_intermediate( "subscription_id", "test_subscription_id", overwrite_exists=True ) - resp = requests.Response() - resp.status_code = 500 - err = CloudError(resp) - err.message = "not found in Active Directory tenant" - # fail on mock CloudError - with self.assertRaises(CloudError), patch("time.sleep"), patch( + + # raise exception + err_1 = HttpResponseError( + message="not found in Active Directory tenant" + ) + # fail on mock HttpResponseError, max retry exceeded + with self.assertRaises(AzCLIError), patch("time.sleep"), patch( "azure.cli.command_modules.acs.decorator.AKSCreateDecorator.create_mc" ), patch( "azext_aks_preview.decorator.ensure_container_insights_for_monitoring", - side_effect=err, + side_effect=err_1, ) as ensure_monitoring: - dec_1.create_mc(mc_1) + dec_1.create_mc_preview(mc_1) ensure_monitoring.assert_called_with( self.cmd, mc_1.addon_profiles[CONST_MONITORING_ADDON_NAME], @@ -2077,6 +2728,31 @@ def test_create_mc(self): create_dcra=True, ) + # raise exception + resp = Mock( + reason="error reason", + status_code=500, + text=Mock(return_value="error text"), + ) + err_2 = HttpResponseError(response=resp) + # fail on mock HttpResponseError + with self.assertRaises(HttpResponseError), patch("time.sleep",), patch( + "azure.cli.command_modules.acs.decorator.AKSCreateDecorator.create_mc" + ), patch( + "azext_aks_preview.decorator.ensure_container_insights_for_monitoring", + side_effect=[err_1, err_2], + ): + dec_1.create_mc_preview(mc_1) + + # return mc + with patch( + "azure.cli.command_modules.acs.decorator.AKSCreateDecorator.create_mc", + return_value=mc_1, + ), patch( + "azext_aks_preview.decorator.ensure_container_insights_for_monitoring", + ): + self.assertEqual(dec_1.create_mc_preview(mc_1), mc_1) + class AKSPreviewUpdateDecoratorTestCase(unittest.TestCase): def setUp(self): @@ -2086,3 +2762,1059 @@ def setUp(self): self.cmd = MockCmd(self.cli_ctx) self.models = AKSPreviewModels(self.cmd, CUSTOM_MGMT_AKS_PREVIEW) self.client = MockClient() + + def test_check_raw_parameters(self): + # default value in `aks_create` + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + {}, + CUSTOM_MGMT_AKS_PREVIEW, + ) + # fail on no updated parameter provided + with self.assertRaises(RequiredArgumentMissingError): + dec_1.check_raw_parameters() + + # custom value + dec_2 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "cluster_autoscaler_profile": {}, + "api_server_authorized_ip_ranges": "", + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + dec_2.check_raw_parameters() + + def test_update_load_balancer_profile(self): + # default value in `aks_update` + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "load_balancer_sku": None, + "load_balancer_managed_outbound_ip_count": None, + "load_balancer_managed_outbound_ipv6_count": None, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": None, + "load_balancer_outbound_ports": None, + "load_balancer_idle_timeout": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + # fail on passing the wrong mc object + with self.assertRaises(CLIInternalError): + dec_1.update_load_balancer_profile(None) + + mc_1 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile(), + ) + dec_1.context.attach_mc(mc_1) + dec_mc_1 = dec_1.update_load_balancer_profile(mc_1) + + ground_truth_mc_1 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile(), + ) + self.assertEqual(dec_mc_1, ground_truth_mc_1) + + # custom value - outbound ip prefixes + dec_2 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "load_balancer_managed_outbound_ip_count": None, + "load_balancer_managed_outbound_ipv6_count": None, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": "id3,id4", + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_2 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + outbound_ip_prefixes=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" + )( + public_ip_prefixes=[ + self.models.lb_models.get("ResourceReference")( + id="id1" + ), + self.models.lb_models.get("ResourceReference")( + id="id2" + ), + ] + ) + ) + ), + ) + dec_2.context.attach_mc(mc_2) + dec_mc_2 = dec_2.update_load_balancer_profile(mc_2) + + ground_truth_mc_2 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + outbound_ip_prefixes=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" + )( + public_ip_prefixes=[ + self.models.lb_models.get("ResourceReference")( + id="id3" + ), + self.models.lb_models.get("ResourceReference")( + id="id4" + ), + ] + ) + ) + ), + ) + self.assertEqual(dec_mc_2, ground_truth_mc_2) + + # custom value - outbound ip + dec_3 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "load_balancer_managed_outbound_ip_count": None, + "load_balancer_managed_outbound_ipv6_count": None, + "load_balancer_outbound_ips": "id3,id4", + "load_balancer_outbound_ip_prefixes": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_3 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPs" + )( + public_i_ps=[ + self.models.lb_models.get("ResourceReference")( + id="id1" + ), + self.models.lb_models.get("ResourceReference")( + id="id2" + ), + ] + ) + ) + ), + ) + dec_3.context.attach_mc(mc_3) + dec_mc_3 = dec_3.update_load_balancer_profile(mc_3) + + ground_truth_mc_3 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPs" + )( + public_i_ps=[ + self.models.lb_models.get("ResourceReference")( + id="id3" + ), + self.models.lb_models.get("ResourceReference")( + id="id4" + ), + ] + ) + ) + ), + ) + self.assertEqual(dec_mc_3, ground_truth_mc_3) + + # custom value - managed outbound ip, count only + dec_4 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "load_balancer_managed_outbound_ip_count": 5, + "load_balancer_managed_outbound_ipv6_count": None, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + mc_4 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=10, count_ipv6=20), + ) + ), + ) + dec_4.context.attach_mc(mc_4) + dec_mc_4 = dec_4.update_load_balancer_profile(mc_4) + + ground_truth_mc_4 = self.models.ManagedCluster( + location="test_location", + network_profile=( + self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=5, count_ipv6=20), + ) + ) + ), + ) + self.assertEqual(dec_mc_4, ground_truth_mc_4) + + # custom value - managed outbound ip, count_ipv6 only + dec_5 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "load_balancer_managed_outbound_ip_count": None, + "load_balancer_managed_outbound_ipv6_count": 5, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + mc_5 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=10, count_ipv6=20), + ) + ), + ) + dec_5.context.attach_mc(mc_5) + dec_mc_5 = dec_5.update_load_balancer_profile(mc_5) + + ground_truth_mc_5 = self.models.ManagedCluster( + location="test_location", + network_profile=( + self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=10, count_ipv6=5), + ) + ) + ), + ) + self.assertEqual(dec_mc_5, ground_truth_mc_5) + + # custom value - managed outbound ip + dec_6 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "load_balancer_managed_outbound_ip_count": 25, + "load_balancer_managed_outbound_ipv6_count": 5, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + mc_6 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=10, count_ipv6=20), + ) + ), + ) + dec_6.context.attach_mc(mc_6) + dec_mc_6 = dec_6.update_load_balancer_profile(mc_6) + + ground_truth_mc_6 = self.models.ManagedCluster( + location="test_location", + network_profile=( + self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=25, count_ipv6=5), + ) + ) + ), + ) + self.assertEqual(dec_mc_6, ground_truth_mc_6) + + # custom value - from managed outbound ip to outbound ip + dec_7 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "load_balancer_managed_outbound_ip_count": None, + "load_balancer_managed_outbound_ipv6_count": None, + "load_balancer_outbound_ips": "id1,id2", + "load_balancer_outbound_ip_prefixes": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_7 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=3, count_ipv6=2) + ) + ), + ) + dec_7.context.attach_mc(mc_7) + dec_mc_7 = dec_7.update_load_balancer_profile(mc_7) + + ground_truth_mc_7 = self.models.ManagedCluster( + location="test_location", + network_profile=( + self.models.ContainerServiceNetworkProfile( + load_balancer_profile=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPs" + )( + public_i_ps=[ + self.models.lb_models.get("ResourceReference")( + id="id1" + ), + self.models.lb_models.get("ResourceReference")( + id="id2" + ), + ] + ) + ) + ) + ), + ) + self.assertEqual(dec_mc_7, ground_truth_mc_7) + + # custom value - from outbound ip prefix to managed outbound ip + dec_8 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "load_balancer_managed_outbound_ip_count": 10, + "load_balancer_managed_outbound_ipv6_count": 5, + "load_balancer_outbound_ips": None, + "load_balancer_outbound_ip_prefixes": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + load_balancer_profile_8 = self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + outbound_ip_prefixes=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" + )( + public_ip_prefixes=[ + self.models.lb_models.get("ResourceReference")( + id="test_public_ip_prefix" + ) + ] + ), + ) + network_profile_8 = self.models.ContainerServiceNetworkProfile( + load_balancer_profile=load_balancer_profile_8 + ) + mc_8 = self.models.ManagedCluster( + location="test_location", network_profile=network_profile_8 + ) + dec_8.context.attach_mc(mc_8) + dec_mc_8 = dec_8.update_load_balancer_profile(mc_8) + + ground_truth_load_balancer_profile_8 = self.models.lb_models.get( + "ManagedClusterLoadBalancerProfile" + )( + managed_outbound_i_ps=self.models.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + )(count=10, count_ipv6=5), + ) + ground_truth_network_profile_8 = ( + self.models.ContainerServiceNetworkProfile( + load_balancer_profile=ground_truth_load_balancer_profile_8 + ) + ) + ground_truth_mc_8 = self.models.ManagedCluster( + location="test_location", + network_profile=ground_truth_network_profile_8, + ) + self.assertEqual(dec_mc_8, ground_truth_mc_8) + + # custom value + dec_9 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + {}, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_9 = self.models.ManagedCluster(location="test_location") + dec_9.context.attach_mc(mc_9) + # fail on incomplete mc object (no network profile) + with self.assertRaises(UnknownError): + dec_9.update_load_balancer_profile(mc_9) + + def test_update_pod_security_policy(self): + # default value in `aks_update` + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_pod_security_policy": False, + "disable_pod_security_policy": False, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + # fail on passing the wrong mc object + with self.assertRaises(CLIInternalError): + dec_1.update_pod_security_policy(None) + + mc_1 = self.models.ManagedCluster( + location="test_location", + enable_pod_security_policy=True, + ) + dec_1.context.attach_mc(mc_1) + dec_mc_1 = dec_1.update_pod_security_policy(mc_1) + ground_truth_mc_1 = self.models.ManagedCluster( + location="test_location", + enable_pod_security_policy=True, + ) + self.assertEqual(dec_mc_1, ground_truth_mc_1) + + # custom value + dec_2 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_pod_security_policy": True, + "disable_pod_security_policy": False, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_2 = self.models.ManagedCluster( + location="test_location", + enable_pod_security_policy=False, + ) + dec_2.context.attach_mc(mc_2) + dec_mc_2 = dec_2.update_pod_security_policy(mc_2) + ground_truth_mc_2 = self.models.ManagedCluster( + location="test_location", + enable_pod_security_policy=True, + ) + self.assertEqual(dec_mc_2, ground_truth_mc_2) + + # custom value + dec_3 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_pod_security_policy": False, + "disable_pod_security_policy": True, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + mc_3 = self.models.ManagedCluster( + location="test_location", + enable_pod_security_policy=True, + ) + dec_3.context.attach_mc(mc_3) + dec_mc_3 = dec_3.update_pod_security_policy(mc_3) + ground_truth_mc_3 = self.models.ManagedCluster( + location="test_location", + enable_pod_security_policy=False, + ) + self.assertEqual(dec_mc_3, ground_truth_mc_3) + + def test_update_nat_gateway_profile(self): + # default value in `aks_update` + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "nat_gateway_managed_outbound_ip_count": None, + "nat_gateway_idle_timeout": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + # fail on passing the wrong mc object + with self.assertRaises(CLIInternalError): + dec_1.update_nat_gateway_profile(None) + + mc_1 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + nat_gateway_profile=self.models.nat_gateway_models.ManagedClusterNATGatewayProfile(), + ), + ) + dec_1.context.attach_mc(mc_1) + dec_mc_1 = dec_1.update_nat_gateway_profile(mc_1) + + ground_truth_mc_1 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + nat_gateway_profile=self.models.nat_gateway_models.ManagedClusterNATGatewayProfile(), + ), + ) + self.assertEqual(dec_mc_1, ground_truth_mc_1) + + # custom value + dec_2 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "nat_gateway_managed_outbound_ip_count": 5, + "nat_gateway_idle_timeout": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_2 = self.models.ManagedCluster(location="test_location") + dec_2.context.attach_mc(mc_2) + # fail on incomplete mc object (no network profile) + with self.assertRaises(UnknownError): + dec_2.update_nat_gateway_profile(mc_2) + + # custom value + dec_3 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "nat_gateway_managed_outbound_ip_count": 5, + "nat_gateway_idle_timeout": 30, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_3 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + nat_gateway_profile=self.models.nat_gateway_models.ManagedClusterNATGatewayProfile( + managed_outbound_ip_profile=self.models.nat_gateway_models.ManagedClusterManagedOutboundIPProfile( + count=10 + ), + idle_timeout_in_minutes=20, + ) + ), + ) + dec_3.context.attach_mc(mc_3) + dec_mc_3 = dec_3.update_nat_gateway_profile(mc_3) + + ground_truth_mc_3 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + nat_gateway_profile=self.models.nat_gateway_models.ManagedClusterNATGatewayProfile( + managed_outbound_ip_profile=self.models.nat_gateway_models.ManagedClusterManagedOutboundIPProfile( + count=5 + ), + idle_timeout_in_minutes=30, + ) + ), + ) + self.assertEqual(dec_mc_3, ground_truth_mc_3) + + def test_update_windows_profile(self): + # default value in `aks_update` + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_ahub": False, + "disable_ahub": False, + "windows_admin_password": None, + "enable_windows_gmsa": False, + "gmsa_dns_server": None, + "gmsa_root_domain_name": None, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + # fail on passing the wrong mc object + with self.assertRaises(CLIInternalError): + dec_1.update_windows_profile(None) + + mc_1 = self.models.ManagedCluster( + location="test_location", + ) + dec_1.context.attach_mc(mc_1) + dec_mc_1 = dec_1.update_windows_profile(mc_1) + ground_truth_mc_1 = self.models.ManagedCluster( + location="test_location", + ) + self.assertEqual(dec_mc_1, ground_truth_mc_1) + + # custom value + dec_2 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_windows_gmsa": True, + "gmsa_dns_server": "test_gmsa_dns_server", + "gmsa_root_domain_name": "test_gmsa_root_domain_name", + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + windows_profile_2 = self.models.ManagedClusterWindowsProfile( + # [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="fake secrets in unit test")] + admin_username="test_win_admin_name", + admin_password="test_win_admin_password", + license_type="Windows_Server", + ) + mc_2 = self.models.ManagedCluster( + location="test_location", + windows_profile=windows_profile_2, + ) + dec_2.context.attach_mc(mc_2) + dec_mc_2 = dec_2.update_windows_profile(mc_2) + + ground_truth_gmsa_profile_2 = self.models.WindowsGmsaProfile( + enabled=True, + dns_server="test_gmsa_dns_server", + root_domain_name="test_gmsa_root_domain_name", + ) + ground_truth_windows_profile_2 = self.models.ManagedClusterWindowsProfile( + # [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="fake secrets in unit test")] + admin_username="test_win_admin_name", + admin_password="test_win_admin_password", + license_type="Windows_Server", + gmsa_profile=ground_truth_gmsa_profile_2, + ) + ground_truth_mc_2 = self.models.ManagedCluster( + location="test_location", + windows_profile=ground_truth_windows_profile_2, + ) + self.assertEqual(dec_mc_2, ground_truth_mc_2) + + # custom value + dec_3 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_windows_gmsa": True, + "gmsa_dns_server": "test_gmsa_dns_server", + "gmsa_root_domain_name": "test_gmsa_root_domain_name", + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_3 = self.models.ManagedCluster( + location="test_location", + ) + dec_3.context.attach_mc(mc_3) + # fail on incomplete mc object (no windows profile) + with patch( + "azure.cli.command_modules.acs.decorator.AKSUpdateDecorator.update_windows_profile", return_value=mc_3 + ), self.assertRaises(UnknownError): + dec_3.update_windows_profile(mc_3) + + def test_update_pod_identity_profile(self): + # default value in `aks_update` + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_pod_identity": False, + "disable_pod_identity": False, + "enable_pod_identity_with_kubenet": False, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + # fail on passing the wrong mc object + with self.assertRaises(CLIInternalError): + dec_1.update_pod_identity_profile(None) + + mc_1 = self.models.ManagedCluster( + location="test_location", + ) + dec_1.context.attach_mc(mc_1) + dec_mc_1 = dec_1.update_pod_identity_profile(mc_1) + ground_truth_mc_1 = self.models.ManagedCluster( + location="test_location", + ) + self.assertEqual(dec_mc_1, ground_truth_mc_1) + + # custom value + dec_2 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_pod_identity": True, + "disable_pod_identity": False, + "enable_pod_identity_with_kubenet": False, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + mc_2 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + network_plugin="kubenet", + ), + ) + dec_2.context.attach_mc(mc_2) + with self.assertRaises(CLIError): + dec_2.update_pod_identity_profile(mc_2) + + # custom value + dec_3 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_pod_identity": True, + "disable_pod_identity": False, + "enable_pod_identity_with_kubenet": True, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + mc_3 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + network_plugin="kubenet", + ), + identity=self.models.ManagedClusterIdentity( + type="SystemAssigned", + ), + ) + dec_3.context.attach_mc(mc_3) + dec_mc_3 = dec_3.update_pod_identity_profile(mc_3) + ground_truth_mc_3 = self.models.ManagedCluster( + location="test_location", + network_profile=self.models.ContainerServiceNetworkProfile( + network_plugin="kubenet", + ), + pod_identity_profile=self.models.pod_identity_models.ManagedClusterPodIdentityProfile( + enabled=True, + allow_network_plugin_kubenet=True, + user_assigned_identities=[], + user_assigned_identity_exceptions=[], + ), + identity=self.models.ManagedClusterIdentity( + type="SystemAssigned", + ), + ) + self.assertEqual(dec_mc_3, ground_truth_mc_3) + + # custom value + dec_4 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_pod_identity": False, + "disable_pod_identity": True, + "enable_pod_identity_with_kubenet": False, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + mc_4 = self.models.ManagedCluster( + location="test_location", + pod_identity_profile=self.models.pod_identity_models.ManagedClusterPodIdentityProfile( + enabled=True, + user_assigned_identities=[], + user_assigned_identity_exceptions=[], + ), + ) + dec_4.context.attach_mc(mc_4) + dec_mc_4 = dec_4.update_pod_identity_profile(mc_4) + ground_truth_mc_4 = self.models.ManagedCluster( + location="test_location", + pod_identity_profile=self.models.pod_identity_models.ManagedClusterPodIdentityProfile( + enabled=False, + ), + ) + self.assertEqual(dec_mc_4, ground_truth_mc_4) + + def test_update_oidc_issuer_profile__default_value(self): + dec = AKSPreviewUpdateDecorator( + self.cmd, self.client, {}, CUSTOM_MGMT_AKS_PREVIEW + ) + mc = self.models.ManagedCluster(location="test_location") + dec.context.attach_mc(mc) + updated_mc = dec.update_oidc_issuer_profile(mc) + self.assertIsNone(updated_mc.oidc_issuer_profile) + + def test_update_oidc_issuer_profile__default_value_mc_enabled(self): + dec = AKSPreviewUpdateDecorator( + self.cmd, self.client, {}, CUSTOM_MGMT_AKS_PREVIEW + ) + mc = self.models.ManagedCluster(location="test_location") + mc.oidc_issuer_profile = self.models.ManagedClusterOIDCIssuerProfile( + enabled=True + ) + dec.context.attach_mc(mc) + updated_mc = dec.update_oidc_issuer_profile(mc) + self.assertIsNone(updated_mc.oidc_issuer_profile) + + def test_update_oidc_issuer_profile__enabled(self): + dec = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_oidc_issuer": True, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc = self.models.ManagedCluster(location="test_location") + dec.context.attach_mc(mc) + updated_mc = dec.update_oidc_issuer_profile(mc) + self.assertIsNotNone(updated_mc.oidc_issuer_profile) + self.assertTrue(updated_mc.oidc_issuer_profile.enabled) + + def test_update_oidc_issuer_profile__enabled_mc_enabled(self): + dec = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "enable_oidc_issuer": True, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc = self.models.ManagedCluster(location="test_location") + mc.oidc_issuer_profile = self.models.ManagedClusterOIDCIssuerProfile( + enabled=True + ) + dec.context.attach_mc(mc) + updated_mc = dec.update_oidc_issuer_profile(mc) + self.assertIsNotNone(updated_mc.oidc_issuer_profile) + self.assertTrue(updated_mc.oidc_issuer_profile.enabled) + + def test_patch_mc(self): + # custom value + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + {}, + CUSTOM_MGMT_AKS_PREVIEW, + ) + # fail on passing the wrong mc object + with self.assertRaises(CLIInternalError): + dec_1.patch_mc(None) + + mc_1 = self.models.ManagedCluster( + location="test_location", + pod_identity_profile=self.models.pod_identity_models.ManagedClusterPodIdentityProfile( + user_assigned_identity_exceptions=[ + self.models.pod_identity_models.ManagedClusterPodIdentityException( + name="test_name", + namespace="test_namespace", + pod_labels=None, + ) + ] + ), + ) + dec_1.context.attach_mc(mc_1) + dec_mc_1 = dec_1.patch_mc(mc_1) + + ground_truth_mc_1 = self.models.ManagedCluster( + location="test_location", + pod_identity_profile=self.models.pod_identity_models.ManagedClusterPodIdentityProfile( + user_assigned_identity_exceptions=[ + self.models.pod_identity_models.ManagedClusterPodIdentityException( + name="test_name", + namespace="test_namespace", + pod_labels={}, + ) + ] + ), + ) + self.assertEqual(dec_mc_1, ground_truth_mc_1) + + def test_update_mc_preview_profile(self): + import inspect + + from azext_aks_preview.custom import aks_update + from azure.cli.command_modules.acs.decorator import AKSParamDict + + optional_params = {} + positional_params = [] + for _, v in inspect.signature(aks_update).parameters.items(): + if v.default != v.empty: + optional_params[v.name] = v.default + else: + positional_params.append(v.name) + ground_truth_positional_params = [ + "cmd", + "client", + "resource_group_name", + "name", + ] + self.assertEqual(positional_params, ground_truth_positional_params) + + # prepare a dictionary of default parameters + raw_param_dict = { + "resource_group_name": "test_rg_name", + "name": "test_name", + } + raw_param_dict.update(optional_params) + raw_param_dict = AKSParamDict(raw_param_dict) + + # default value in `update` + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + raw_param_dict, + CUSTOM_MGMT_AKS_PREVIEW, + ) + + mock_profile = Mock( + get_subscription_id=Mock(return_value="1234-5678-9012") + ) + mock_existing_mc = self.models.ManagedCluster( + location="test_location", + agent_pool_profiles=[ + self.models.ManagedClusterAgentPoolProfile( + name="nodepool1", + ) + ], + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_sku="standard", + ), + identity=self.models.ManagedClusterIdentity(type="SystemAssigned"), + identity_profile={ + "kubeletidentity": self.models.UserAssignedIdentity( + resource_id="test_resource_id", + client_id="test_client_id", + object_id="test_object_id", + ) + }, + ) + with patch( + "azure.cli.command_modules.acs.decorator.get_rg_location", + return_value="test_location", + ), patch( + "azure.cli.command_modules.acs.decorator.Profile", + return_value=mock_profile, + ), patch( + "azext_aks_preview.decorator.AKSPreviewUpdateDecorator.check_raw_parameters", + return_value=True, + ), patch.object( + self.client, "get", return_value=mock_existing_mc + ): + dec_mc_1 = dec_1.update_mc_preview_profile() + + ground_truth_agent_pool_profile_1 = ( + self.models.ManagedClusterAgentPoolProfile( + name="nodepool1", + ) + ) + ground_truth_network_profile_1 = ( + self.models.ContainerServiceNetworkProfile( + load_balancer_sku="standard", + ) + ) + ground_truth_identity_1 = self.models.ManagedClusterIdentity( + type="SystemAssigned" + ) + ground_truth_identity_profile_1 = { + "kubeletidentity": self.models.UserAssignedIdentity( + resource_id="test_resource_id", + client_id="test_client_id", + object_id="test_object_id", + ) + } + ground_truth_mc_1 = self.models.ManagedCluster( + location="test_location", + agent_pool_profiles=[ground_truth_agent_pool_profile_1], + network_profile=ground_truth_network_profile_1, + identity=ground_truth_identity_1, + identity_profile=ground_truth_identity_profile_1, + ) + raw_param_dict.print_usage_statistics() + self.assertEqual(dec_mc_1, ground_truth_mc_1) + + def test_update_mc_preview(self): + dec_1 = AKSPreviewUpdateDecorator( + self.cmd, + self.client, + { + "resource_group_name": "test_rg_name", + "name": "test_name", + "no_wait": False, + }, + CUSTOM_MGMT_AKS_PREVIEW, + ) + mc_1 = self.models.ManagedCluster( + location="test_location", + agent_pool_profiles=[ + self.models.ManagedClusterAgentPoolProfile( + name="nodepool1", + ) + ], + network_profile=self.models.ContainerServiceNetworkProfile( + load_balancer_sku="standard", + ), + identity=self.models.ManagedClusterIdentity(type="SystemAssigned"), + identity_profile={ + "kubeletidentity": self.models.UserAssignedIdentity( + resource_id="test_resource_id", + client_id="test_client_id", + object_id="test_object_id", + ) + }, + ) + dec_1.context.attach_mc(mc_1) + # fail on passing the wrong mc object + with self.assertRaises(CLIInternalError): + dec_1.update_mc_preview(None) + mock_profile = Mock( + get_subscription_id=Mock(return_value="test_subscription_id") + ) + with patch( + "azure.cli.command_modules.acs.decorator.Profile", + return_value=mock_profile, + ), patch( + "azure.cli.command_modules.acs.decorator._put_managed_cluster_ensuring_permission" + ) as put_mc: + dec_1.update_mc_preview(mc_1) + put_mc.assert_called_with( + self.cmd, + self.client, + "test_subscription_id", + "test_rg_name", + "test_name", + mc_1, + False, + False, + False, + False, + None, + True, + None, + {}, + False, + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_helpers.py b/src/aks-preview/azext_aks_preview/tests/latest/test_helpers.py index c4630f3b40e..58399d734d7 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_helpers.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_helpers.py @@ -7,45 +7,6 @@ import azext_aks_preview._helpers as helpers -class TestPopulateApiServerAccessProfile(unittest.TestCase): - def test_single_cidr_with_spaces(self): - api_server_authorized_ip_ranges = "0.0.0.0/32 " - profile = helpers._populate_api_server_access_profile(api_server_authorized_ip_ranges) - self.assertListEqual(profile.authorized_ip_ranges, ["0.0.0.0/32"]) - - def test_multi_cidr_with_spaces(self): - api_server_authorized_ip_ranges = " 0.0.0.0/32 , 129.1.1.1/32" - profile = helpers._populate_api_server_access_profile(api_server_authorized_ip_ranges) - self.assertListEqual(profile.authorized_ip_ranges, ["0.0.0.0/32", "129.1.1.1/32"]) - - -class TestSetVmSetType(unittest.TestCase): - def test_archaic_k8_version(self): - version = "1.11.9" - vm_type = helpers._set_vm_set_type("", version) - self.assertEqual(vm_type, "AvailabilitySet") - - def test_archaic_k8_version_with_vm_set(self): - version = "1.11.9" - vm_type = helpers._set_vm_set_type("AvailabilitySet", version) - self.assertEqual(vm_type, "AvailabilitySet") - - def test_no_vm_set(self): - version = "1.15.0" - vm_type = helpers._set_vm_set_type("", version) - self.assertEqual(vm_type, "VirtualMachineScaleSets") - - def test_casing_vmss(self): - version = "1.15.0" - vm_type = helpers._set_vm_set_type("virtualmachineScaleSets", version) - self.assertEqual(vm_type, "VirtualMachineScaleSets") - - def test_casing_as(self): - version = "1.15.0" - vm_type = helpers._set_vm_set_type("Availabilityset", version) - self.assertEqual(vm_type, "AvailabilitySet") - - class TestTrimContainerName(unittest.TestCase): def test_trim_fqdn_name_containing_hcp(self): container_name = 'abcdef-dns-ed55ba6d-hcp-centralus-azmk8s-io' diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py b/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py index 9850a3923e0..b95b656626e 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py @@ -4,22 +4,44 @@ # -------------------------------------------------------------------------------------------- import unittest -from azure.mgmt.containerservice.v2019_11_01.models import ManagedClusterLoadBalancerProfile -from azure.mgmt.containerservice.v2019_11_01.models import ManagedClusterLoadBalancerProfileManagedOutboundIPs -from azure.mgmt.containerservice.v2019_11_01.models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes -from azure.mgmt.containerservice.v2019_11_01.models import ManagedClusterLoadBalancerProfileOutboundIPs -from azure.cli.core.util import CLIError from azext_aks_preview import _loadbalancer as loadbalancer +from azext_aks_preview.__init__ import register_aks_preview_resource_type +from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW +from azext_aks_preview.decorator import AKSPreviewModels +from azext_aks_preview.tests.latest.mocks import MockCLI, MockCmd class TestLoadBalancer(unittest.TestCase): + def setUp(self): + # manually register CUSTOM_MGMT_AKS_PREVIEW + register_aks_preview_resource_type() + self.cli_ctx = MockCLI() + self.cmd = MockCmd(self.cli_ctx) + # store all the models used by nat gateway + self.lb_models = AKSPreviewModels(self.cmd, CUSTOM_MGMT_AKS_PREVIEW).lb_models + def test_configure_load_balancer_profile(self): managed_outbound_ip_count = 5 + managed_outbound_ipv6_count = 3 outbound_ips = None outbound_ip_prefixes = None outbound_ports = 80 idle_timeout = 3600 + # store all the models used by load balancer + ManagedClusterLoadBalancerProfile = self.lb_models.get( + "ManagedClusterLoadBalancerProfile" + ) + ManagedClusterLoadBalancerProfileManagedOutboundIPs = self.lb_models.get( + "ManagedClusterLoadBalancerProfileManagedOutboundIPs" + ) + ManagedClusterLoadBalancerProfileOutboundIPs = self.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPs" + ) + ManagedClusterLoadBalancerProfileOutboundIPPrefixes = self.lb_models.get( + "ManagedClusterLoadBalancerProfileOutboundIPPrefixes" + ) + profile = ManagedClusterLoadBalancerProfile() # ips -> i_ps due to track 2 naming issue profile.managed_outbound_i_ps = ManagedClusterLoadBalancerProfileManagedOutboundIPs( @@ -27,19 +49,29 @@ def test_configure_load_balancer_profile(self): ) # ips -> i_ps due to track 2 naming issue profile.outbound_i_ps = ManagedClusterLoadBalancerProfileOutboundIPs( - public_ips="public_ips" + public_i_ps="public_ips" ) profile.outbound_ip_prefixes = ManagedClusterLoadBalancerProfileOutboundIPPrefixes( public_ip_prefixes="public_ip_prefixes" ) - p = loadbalancer.configure_load_balancer_profile(managed_outbound_ip_count, outbound_ips, outbound_ip_prefixes, outbound_ports, idle_timeout, profile) + p = loadbalancer.configure_load_balancer_profile( + managed_outbound_ip_count, + managed_outbound_ipv6_count, + outbound_ips, + outbound_ip_prefixes, + outbound_ports, + idle_timeout, + profile, + self.lb_models, + ) - # ips -> i_ps due to track 2 naming issue - self.assertIsNotNone(p.managed_outbound_i_ps) - # ips -> i_ps due to track 2 naming issue - self.assertIsNone(p.outbound_i_ps) - self.assertIsNone(p.outbound_ip_prefixes) + self.assertEqual(p.managed_outbound_i_ps.count, 5) + self.assertEqual(p.managed_outbound_i_ps.count_ipv6, 3) + self.assertEqual(p.outbound_i_ps, None) + self.assertEqual(p.outbound_ip_prefixes, None) + self.assertEqual(p.allocated_outbound_ports, 80) + self.assertEqual(p.idle_timeout_in_minutes, 3600) if __name__ == '__main__': diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_natgateway.py b/src/aks-preview/azext_aks_preview/tests/latest/test_natgateway.py index a4e65e6f29a..c995457f800 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_natgateway.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_natgateway.py @@ -44,8 +44,8 @@ def setUp(self): self.nat_gateway_models = AKSPreviewModels(self.cmd, CUSTOM_MGMT_AKS_PREVIEW).nat_gateway_models def test_empty_arguments(self): - origin_profile = self.nat_gateway_models["ManagedClusterNATGatewayProfile"]( - managed_outbound_ip_profile=self.nat_gateway_models["ManagedClusterManagedOutboundIPProfile"]( + origin_profile = self.nat_gateway_models.ManagedClusterNATGatewayProfile( + managed_outbound_ip_profile=self.nat_gateway_models.ManagedClusterManagedOutboundIPProfile( count=1 ), idle_timeout_in_minutes=4 @@ -57,8 +57,8 @@ def test_empty_arguments(self): self.assertEqual(profile.idle_timeout_in_minutes, origin_profile.idle_timeout_in_minutes) def test_nonempty_arguments(self): - origin_profile = self.nat_gateway_models["ManagedClusterNATGatewayProfile"]( - managed_outbound_ip_profile=self.nat_gateway_models["ManagedClusterManagedOutboundIPProfile"]( + origin_profile = self.nat_gateway_models.ManagedClusterNATGatewayProfile( + managed_outbound_ip_profile=self.nat_gateway_models.ManagedClusterManagedOutboundIPProfile( count=1 ), idle_timeout_in_minutes=4 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_pod_identity_helpers.py b/src/aks-preview/azext_aks_preview/tests/latest/test_pod_identity_helpers.py index 197252c9532..172e64573c1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_pod_identity_helpers.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_pod_identity_helpers.py @@ -4,17 +4,29 @@ # -------------------------------------------------------------------------------------------- import unittest -from azext_aks_preview.custom import ( - _fill_defaults_for_pod_identity_profile, +from azext_aks_preview.__init__ import register_aks_preview_resource_type +from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW +from azext_aks_preview._podidentity import ( _fill_defaults_for_pod_identity_exceptions, - # we pin to the same version as custom.py - ManagedClusterPodIdentityException, - ManagedClusterPodIdentityProfile, + _fill_defaults_for_pod_identity_profile, ) +from azext_aks_preview.decorator import AKSPreviewModels +from azext_aks_preview.tests.latest.mocks import MockCLI, MockCmd class TestPodIdentityHelpers(unittest.TestCase): + def setUp(self): + # manually register CUSTOM_MGMT_AKS_PREVIEW + register_aks_preview_resource_type() + self.cli_ctx = MockCLI() + self.cmd = MockCmd(self.cli_ctx) + # store all the models used by nat gateway + self.pod_identity_models = AKSPreviewModels(self.cmd, CUSTOM_MGMT_AKS_PREVIEW).pod_identity_models + def test_fill_defaults_for_pod_identity_exceptions(self): + # get models + ManagedClusterPodIdentityException = self.pod_identity_models.ManagedClusterPodIdentityException + # None value should not throw error _fill_defaults_for_pod_identity_exceptions(None) @@ -52,6 +64,10 @@ def test_fill_defaults_for_pod_identity_exceptions(self): self.assertEqual(excs[1].name, "test-exc-2") def test_fill_defaults_for_pod_identity_profile(self): + # get models + ManagedClusterPodIdentityProfile = self.pod_identity_models.ManagedClusterPodIdentityProfile + ManagedClusterPodIdentityException = self.pod_identity_models.ManagedClusterPodIdentityException + # None value should not throw error _fill_defaults_for_pod_identity_profile(None) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py b/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py index ed09fb97f52..489276fb540 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py @@ -62,60 +62,11 @@ def test_IPv6(self): self.assertEqual(str(cm.exception), err) -class TestClusterAutoscalerParamsValidators(unittest.TestCase): - def test_empty_key_empty_value(self): - cluster_autoscaler_profile = ["="] - namespace = Namespace(cluster_autoscaler_profile=cluster_autoscaler_profile) - err = "Empty key specified for cluster-autoscaler-profile" - - with self.assertRaises(CLIError) as cm: - validators.validate_cluster_autoscaler_profile(namespace) - self.assertEqual(str(cm.exception), err) - - def test_non_empty_key_empty_value(self): - cluster_autoscaler_profile = ["scan-interval="] - namespace = Namespace(cluster_autoscaler_profile=cluster_autoscaler_profile) - - validators.validate_cluster_autoscaler_profile(namespace) - - def test_two_empty_keys_empty_value(self): - cluster_autoscaler_profile = ["=", "="] - namespace = Namespace(cluster_autoscaler_profile=cluster_autoscaler_profile) - err = "Empty key specified for cluster-autoscaler-profile" - - with self.assertRaises(CLIError) as cm: - validators.validate_cluster_autoscaler_profile(namespace) - self.assertEqual(str(cm.exception), err) - - def test_one_empty_key_in_pair_one_non_empty(self): - cluster_autoscaler_profile = ["scan-interval=20s", "="] - namespace = Namespace(cluster_autoscaler_profile=cluster_autoscaler_profile) - err = "Empty key specified for cluster-autoscaler-profile" - - with self.assertRaises(CLIError) as cm: - validators.validate_cluster_autoscaler_profile(namespace) - self.assertEqual(str(cm.exception), err) - - def test_invalid_key(self): - cluster_autoscaler_profile = ["bad-key=val"] - namespace = Namespace(cluster_autoscaler_profile=cluster_autoscaler_profile) - err = "Invalid key specified for cluster-autoscaler-profile: bad-key" - - with self.assertRaises(CLIError) as cm: - validators.validate_cluster_autoscaler_profile(namespace) - self.assertEqual(str(cm.exception), err) - - def test_valid_parameters(self): - cluster_autoscaler_profile = ["scan-interval=20s", "scale-down-delay-after-add=15m"] - namespace = Namespace(cluster_autoscaler_profile=cluster_autoscaler_profile) - - validators.validate_cluster_autoscaler_profile(namespace) - - class Namespace: - def __init__(self, api_server_authorized_ip_ranges=None, cluster_autoscaler_profile=None): + def __init__(self, api_server_authorized_ip_ranges=None, cluster_autoscaler_profile=None, kubernetes_version=None): self.api_server_authorized_ip_ranges = api_server_authorized_ip_ranges self.cluster_autoscaler_profile = cluster_autoscaler_profile + self.kubernetes_version = kubernetes_version class TestSubnetId(unittest.TestCase): @@ -148,6 +99,10 @@ def __init__(self, spot_max_price): self.priority = "Spot" self.spot_max_price = spot_max_price +class MessageOfTheDayNamespace: + def __init__(self, message_of_the_day, os_type): + self.os_type = os_type + self.message_of_the_day = message_of_the_day class TestMaxSurge(unittest.TestCase): def test_valid_cases(self): @@ -193,6 +148,22 @@ def test_throws_if_input_max_price_for_regular(self): self.assertTrue('--spot_max_price can only be set when --priority is Spot' in str(cm.exception), msg=str(cm.exception)) +class TestMessageOfTheday(unittest.TestCase): + def test_valid_cases(self): + valid = ["foo", ""] + for v in valid: + validators.validate_message_of_the_day(MessageOfTheDayNamespace(v, "Linux")) + + def test_fail_if_os_type_windows(self): + with self.assertRaises(CLIError) as cm: + validators.validate_message_of_the_day(MessageOfTheDayNamespace("foo", "Windows")) + self.assertTrue('--message-of-the-day can only be set for linux nodepools' in str(cm.exception), msg=str(cm.exception)) + + def test_fail_if_os_type_invalid(self): + with self.assertRaises(CLIError) as cm: + validators.validate_message_of_the_day(MessageOfTheDayNamespace("foo", "invalid")) + self.assertTrue('--message-of-the-day can only be set for linux nodepools' in str(cm.exception), msg=str(cm.exception)) + class ValidateAddonsNamespace: def __init__(self, addons): self.addons = addons @@ -298,6 +269,59 @@ def test_missing_required_resource_name(self): validators.validate_pod_identity_resource_namespace(namespace) self.assertEqual(str(cm.exception), '--namespace is required') +class TestValidateKubernetesVersion(unittest.TestCase): + + def test_valid_full_kubernetes_version(self): + kubernetes_version = "1.11.8" + namespace = Namespace(kubernetes_version=kubernetes_version) + + validators.validate_k8s_version(namespace) + + def test_valid_alias_minor_version(self): + kubernetes_version = "1.11" + namespace = Namespace(kubernetes_version=kubernetes_version) + + validators.validate_k8s_version(namespace) + + def test_valid_empty_kubernetes_version(self): + kubernetes_version = "" + namespace = Namespace(kubernetes_version=kubernetes_version) + + validators.validate_k8s_version(namespace) + + def test_invalid_kubernetes_version(self): + kubernetes_version = "1.2.3.4" + + namespace = Namespace(kubernetes_version=kubernetes_version) + err = ("--kubernetes-version should be the full version number or alias minor version, " + "such as \"1.7.12\" or \"1.7\"") + + with self.assertRaises(CLIError) as cm: + validators.validate_k8s_version(namespace) + self.assertEqual(str(cm.exception), err) + + kubernetes_version = "1." + + namespace = Namespace(kubernetes_version=kubernetes_version) + + with self.assertRaises(CLIError) as cm: + validators.validate_k8s_version(namespace) + self.assertEqual(str(cm.exception), err) + +class HostGroupIDNamespace: + + def __init__(self, host_group_id): + self.host_group_id = host_group_id + +class TestValidateHostGroupID(unittest.TestCase): + def test_invalid_host_group_id(self): + invalid_host_group_id = "dummy group id" + namespace = HostGroupIDNamespace(host_group_id=invalid_host_group_id) + err = ("--host-group-id is not a valid Azure resource ID.") + + with self.assertRaises(CLIError) as cm: + validators.validate_host_group_id(namespace) + self.assertEqual(str(cm.exception), err) if __name__ == "__main__": unittest.main() diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/__init__.py old mode 100755 new mode 100644 diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.py old mode 100755 new mode 100644 index 86c0c85d090..69983263b0d --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_configuration.py @@ -12,7 +12,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION @@ -68,4 +68,4 @@ def _configure( 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) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) 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 old mode 100755 new mode 100644 index 6d65ad325f8..30391919ab3 --- 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 @@ -23,7 +23,6 @@ from typing import Any, Optional from azure.core.credentials import TokenCredential - from azure.core.pipeline.transport import HttpRequest, HttpResponse class _SDKClient(object): def __init__(self, *args, **kwargs): @@ -56,7 +55,7 @@ class ContainerServiceClient(MultiApiClientMixin, _SDKClient): :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ - DEFAULT_API_VERSION = '2021-09-01' + DEFAULT_API_VERSION = '2022-01-02-preview' _PROFILE_TAG = "azure.mgmt.containerservice.ContainerServiceClient" LATEST_PROFILE = ProfileDefinition({ _PROFILE_TAG: { @@ -72,12 +71,10 @@ def __init__( credential, # type: "TokenCredential" subscription_id, # type: str api_version=None, # type: Optional[str] - base_url=None, # type: Optional[str] + base_url="https://management.azure.com", # type: str profile=KnownProfiles.default, # type: KnownProfiles **kwargs # type: Any ): - if not base_url: - base_url = 'https://management.azure.com' self._config = ContainerServiceClientConfiguration(credential, subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) super(ContainerServiceClient, self).__init__( @@ -121,6 +118,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2021-07-01: :mod:`v2021_07_01.models` * 2021-08-01: :mod:`v2021_08_01.models` * 2021-09-01: :mod:`v2021_09_01.models` + * 2021-10-01: :mod:`v2021_10_01.models` + * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` + * 2022-01-02-preview: :mod:`v2022_01_02_preview.models` """ if api_version == '2017-07-01': from .v2017_07_01 import models @@ -206,6 +206,15 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2021-09-01': from .v2021_09_01 import models return models + elif api_version == '2021-10-01': + from .v2021_10_01 import models + return models + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview import models + return models + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview import models + return models raise ValueError("API version {} is not available".format(api_version)) @property @@ -233,6 +242,9 @@ def agent_pools(self): * 2021-07-01: :class:`AgentPoolsOperations` * 2021-08-01: :class:`AgentPoolsOperations` * 2021-09-01: :class:`AgentPoolsOperations` + * 2021-10-01: :class:`AgentPoolsOperations` + * 2021-11-01-preview: :class:`AgentPoolsOperations` + * 2022-01-02-preview: :class:`AgentPoolsOperations` """ api_version = self._get_api_version('agent_pools') if api_version == '2019-02-01': @@ -277,6 +289,12 @@ def agent_pools(self): from .v2021_08_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2021-09-01': from .v2021_09_01.operations import AgentPoolsOperations as OperationClass + elif api_version == '2021-10-01': + from .v2021_10_01.operations import AgentPoolsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import AgentPoolsOperations as OperationClass + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview.operations import AgentPoolsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'agent_pools'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -305,6 +323,9 @@ def maintenance_configurations(self): * 2021-07-01: :class:`MaintenanceConfigurationsOperations` * 2021-08-01: :class:`MaintenanceConfigurationsOperations` * 2021-09-01: :class:`MaintenanceConfigurationsOperations` + * 2021-10-01: :class:`MaintenanceConfigurationsOperations` + * 2021-11-01-preview: :class:`MaintenanceConfigurationsOperations` + * 2022-01-02-preview: :class:`MaintenanceConfigurationsOperations` """ api_version = self._get_api_version('maintenance_configurations') if api_version == '2020-12-01': @@ -321,6 +342,12 @@ def maintenance_configurations(self): from .v2021_08_01.operations import MaintenanceConfigurationsOperations as OperationClass elif api_version == '2021-09-01': from .v2021_09_01.operations import MaintenanceConfigurationsOperations as OperationClass + elif api_version == '2021-10-01': + from .v2021_10_01.operations import MaintenanceConfigurationsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import MaintenanceConfigurationsOperations as OperationClass + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview.operations import MaintenanceConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'maintenance_configurations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -352,6 +379,9 @@ def managed_clusters(self): * 2021-07-01: :class:`ManagedClustersOperations` * 2021-08-01: :class:`ManagedClustersOperations` * 2021-09-01: :class:`ManagedClustersOperations` + * 2021-10-01: :class:`ManagedClustersOperations` + * 2021-11-01-preview: :class:`ManagedClustersOperations` + * 2022-01-02-preview: :class:`ManagedClustersOperations` """ api_version = self._get_api_version('managed_clusters') if api_version == '2018-03-31': @@ -400,6 +430,12 @@ def managed_clusters(self): from .v2021_08_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2021-09-01': from .v2021_09_01.operations import ManagedClustersOperations as OperationClass + elif api_version == '2021-10-01': + from .v2021_10_01.operations import ManagedClustersOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ManagedClustersOperations as OperationClass + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview.operations import ManagedClustersOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'managed_clusters'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -453,6 +489,9 @@ def operations(self): * 2021-07-01: :class:`Operations` * 2021-08-01: :class:`Operations` * 2021-09-01: :class:`Operations` + * 2021-10-01: :class:`Operations` + * 2021-11-01-preview: :class:`Operations` + * 2022-01-02-preview: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2018-03-31': @@ -501,6 +540,12 @@ def operations(self): from .v2021_08_01.operations import Operations as OperationClass elif api_version == '2021-09-01': from .v2021_09_01.operations import Operations as OperationClass + elif api_version == '2021-10-01': + from .v2021_10_01.operations import Operations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import Operations as OperationClass + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview.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))) @@ -520,6 +565,9 @@ def private_endpoint_connections(self): * 2021-07-01: :class:`PrivateEndpointConnectionsOperations` * 2021-08-01: :class:`PrivateEndpointConnectionsOperations` * 2021-09-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-10-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-11-01-preview: :class:`PrivateEndpointConnectionsOperations` + * 2022-01-02-preview: :class:`PrivateEndpointConnectionsOperations` """ api_version = self._get_api_version('private_endpoint_connections') if api_version == '2020-06-01': @@ -544,6 +592,12 @@ def private_endpoint_connections(self): from .v2021_08_01.operations import PrivateEndpointConnectionsOperations as OperationClass elif api_version == '2021-09-01': from .v2021_09_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-10-01': + from .v2021_10_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview.operations import PrivateEndpointConnectionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'private_endpoint_connections'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -561,6 +615,9 @@ def private_link_resources(self): * 2021-07-01: :class:`PrivateLinkResourcesOperations` * 2021-08-01: :class:`PrivateLinkResourcesOperations` * 2021-09-01: :class:`PrivateLinkResourcesOperations` + * 2021-10-01: :class:`PrivateLinkResourcesOperations` + * 2021-11-01-preview: :class:`PrivateLinkResourcesOperations` + * 2022-01-02-preview: :class:`PrivateLinkResourcesOperations` """ api_version = self._get_api_version('private_link_resources') if api_version == '2020-09-01': @@ -581,6 +638,12 @@ def private_link_resources(self): from .v2021_08_01.operations import PrivateLinkResourcesOperations as OperationClass elif api_version == '2021-09-01': from .v2021_09_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-10-01': + from .v2021_10_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview.operations import PrivateLinkResourcesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'private_link_resources'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -598,6 +661,9 @@ def resolve_private_link_service_id(self): * 2021-07-01: :class:`ResolvePrivateLinkServiceIdOperations` * 2021-08-01: :class:`ResolvePrivateLinkServiceIdOperations` * 2021-09-01: :class:`ResolvePrivateLinkServiceIdOperations` + * 2021-10-01: :class:`ResolvePrivateLinkServiceIdOperations` + * 2021-11-01-preview: :class:`ResolvePrivateLinkServiceIdOperations` + * 2022-01-02-preview: :class:`ResolvePrivateLinkServiceIdOperations` """ api_version = self._get_api_version('resolve_private_link_service_id') if api_version == '2020-09-01': @@ -618,6 +684,12 @@ def resolve_private_link_service_id(self): from .v2021_08_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass elif api_version == '2021-09-01': from .v2021_09_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + elif api_version == '2021-10-01': + from .v2021_10_01.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ResolvePrivateLinkServiceIdOperations as OperationClass + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview.operations import ResolvePrivateLinkServiceIdOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'resolve_private_link_service_id'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -628,12 +700,21 @@ def snapshots(self): * 2021-08-01: :class:`SnapshotsOperations` * 2021-09-01: :class:`SnapshotsOperations` + * 2021-10-01: :class:`SnapshotsOperations` + * 2021-11-01-preview: :class:`SnapshotsOperations` + * 2022-01-02-preview: :class:`SnapshotsOperations` """ api_version = self._get_api_version('snapshots') if api_version == '2021-08-01': from .v2021_08_01.operations import SnapshotsOperations as OperationClass elif api_version == '2021-09-01': from .v2021_09_01.operations import SnapshotsOperations as OperationClass + elif api_version == '2021-10-01': + from .v2021_10_01.operations import SnapshotsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import SnapshotsOperations as OperationClass + elif api_version == '2022-01-02-preview': + from .v2022_01_02_preview.operations import SnapshotsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'snapshots'".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/_version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_version.py old mode 100755 new mode 100644 index 9ed13cd5fe5..b195ea078c4 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_version.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/_version.py @@ -9,4 +9,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "16.3.0" +VERSION = "16.5.0" 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 old mode 100755 new mode 100644 index 23a4377ee6c..9c6cb372cff --- 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 @@ -5,4 +5,4 @@ # license information. # -------------------------------------------------------------------------- from .v2017_07_01.models import * -from .v2021_09_01.models import * +from .v2022_01_02_preview.models import * diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/__init__.py deleted file mode 100755 index 127eebcc744..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/__init__.py +++ /dev/null @@ -1,342 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -try: - from ._models_py3 import AgentPool - from ._models_py3 import AgentPoolAvailableVersions - from ._models_py3 import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem - from ._models_py3 import AgentPoolListResult - from ._models_py3 import AgentPoolUpgradeProfile - from ._models_py3 import AgentPoolUpgradeProfilePropertiesUpgradesItem - from ._models_py3 import AgentPoolUpgradeSettings - from ._models_py3 import CloudErrorBody - 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 CreationData - 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 MaintenanceConfigurationListResult - from ._models_py3 import ManagedCluster - from ._models_py3 import ManagedClusterAADProfile - from ._models_py3 import ManagedClusterAPIServerAccessProfile - 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 ManagedClusterAutoUpgradeProfile - from ._models_py3 import ManagedClusterHTTPProxyConfig - from ._models_py3 import ManagedClusterIdentity - from ._models_py3 import ManagedClusterListResult - from ._models_py3 import ManagedClusterLoadBalancerProfile - from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes - from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPs - from ._models_py3 import ManagedClusterManagedOutboundIPProfile - from ._models_py3 import ManagedClusterNATGatewayProfile - from ._models_py3 import ManagedClusterPodIdentity - from ._models_py3 import ManagedClusterPodIdentityException - from ._models_py3 import ManagedClusterPodIdentityProfile - from ._models_py3 import ManagedClusterPodIdentityProvisioningError - from ._models_py3 import ManagedClusterPodIdentityProvisioningErrorBody - from ._models_py3 import ManagedClusterPodIdentityProvisioningInfo - from ._models_py3 import ManagedClusterPoolUpgradeProfile - from ._models_py3 import ManagedClusterPoolUpgradeProfileUpgradesItem - from ._models_py3 import ManagedClusterPropertiesAutoScalerProfile - from ._models_py3 import ManagedClusterSKU - from ._models_py3 import ManagedClusterSecurityProfile - from ._models_py3 import ManagedClusterSecurityProfileAzureDefender - from ._models_py3 import ManagedClusterServicePrincipalProfile - from ._models_py3 import ManagedClusterUpgradeProfile - from ._models_py3 import ManagedClusterWindowsProfile - from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue - from ._models_py3 import OSOptionProfile - from ._models_py3 import OSOptionProperty - from ._models_py3 import OperationListResult - from ._models_py3 import OperationValue - from ._models_py3 import OutboundEnvironmentEndpoint - from ._models_py3 import OutboundEnvironmentEndpointCollection - 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 Snapshot - from ._models_py3 import SnapshotListResult - 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 - from ._models_py3 import WindowsGmsaProfile -except (SyntaxError, ImportError): - from ._models import AgentPool # type: ignore - from ._models import AgentPoolAvailableVersions # type: ignore - from ._models import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem # type: ignore - from ._models import AgentPoolListResult # type: ignore - from ._models import AgentPoolUpgradeProfile # type: ignore - from ._models import AgentPoolUpgradeProfilePropertiesUpgradesItem # type: ignore - from ._models import AgentPoolUpgradeSettings # type: ignore - from ._models import CloudErrorBody # type: ignore - from ._models import ContainerServiceDiagnosticsProfile # type: ignore - from ._models import ContainerServiceLinuxProfile # type: ignore - from ._models import ContainerServiceMasterProfile # type: ignore - from ._models import ContainerServiceNetworkProfile # type: ignore - from ._models import ContainerServiceSshConfiguration # type: ignore - from ._models import ContainerServiceSshPublicKey # type: ignore - from ._models import ContainerServiceVMDiagnostics # type: ignore - from ._models import CreationData # type: ignore - from ._models import CredentialResult # type: ignore - from ._models import CredentialResults # type: ignore - from ._models import EndpointDependency # type: ignore - from ._models import EndpointDetail # type: ignore - from ._models import ExtendedLocation # type: ignore - from ._models import KubeletConfig # type: ignore - from ._models import LinuxOSConfig # type: ignore - from ._models import MaintenanceConfiguration # type: ignore - from ._models import MaintenanceConfigurationListResult # type: ignore - from ._models import ManagedCluster # type: ignore - from ._models import ManagedClusterAADProfile # type: ignore - from ._models import ManagedClusterAPIServerAccessProfile # type: ignore - from ._models import ManagedClusterAccessProfile # type: ignore - from ._models import ManagedClusterAddonProfile # type: ignore - from ._models import ManagedClusterAddonProfileIdentity # type: ignore - from ._models import ManagedClusterAgentPoolProfile # type: ignore - from ._models import ManagedClusterAgentPoolProfileProperties # type: ignore - from ._models import ManagedClusterAutoUpgradeProfile # type: ignore - from ._models import ManagedClusterHTTPProxyConfig # type: ignore - from ._models import ManagedClusterIdentity # type: ignore - from ._models import ManagedClusterListResult # type: ignore - from ._models import ManagedClusterLoadBalancerProfile # type: ignore - from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs # type: ignore - from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes # type: ignore - from ._models import ManagedClusterLoadBalancerProfileOutboundIPs # type: ignore - from ._models import ManagedClusterManagedOutboundIPProfile # type: ignore - from ._models import ManagedClusterNATGatewayProfile # type: ignore - from ._models import ManagedClusterPodIdentity # type: ignore - from ._models import ManagedClusterPodIdentityException # type: ignore - from ._models import ManagedClusterPodIdentityProfile # type: ignore - from ._models import ManagedClusterPodIdentityProvisioningError # type: ignore - from ._models import ManagedClusterPodIdentityProvisioningErrorBody # type: ignore - from ._models import ManagedClusterPodIdentityProvisioningInfo # type: ignore - from ._models import ManagedClusterPoolUpgradeProfile # type: ignore - from ._models import ManagedClusterPoolUpgradeProfileUpgradesItem # type: ignore - from ._models import ManagedClusterPropertiesAutoScalerProfile # type: ignore - from ._models import ManagedClusterSKU # type: ignore - from ._models import ManagedClusterSecurityProfile # type: ignore - from ._models import ManagedClusterSecurityProfileAzureDefender # type: ignore - from ._models import ManagedClusterServicePrincipalProfile # type: ignore - from ._models import ManagedClusterUpgradeProfile # type: ignore - from ._models import ManagedClusterWindowsProfile # type: ignore - from ._models import ManagedServiceIdentityUserAssignedIdentitiesValue # type: ignore - from ._models import OSOptionProfile # type: ignore - from ._models import OSOptionProperty # type: ignore - from ._models import OperationListResult # type: ignore - from ._models import OperationValue # type: ignore - from ._models import OutboundEnvironmentEndpoint # type: ignore - from ._models import OutboundEnvironmentEndpointCollection # type: ignore - from ._models import PowerState # type: ignore - from ._models import PrivateEndpoint # type: ignore - from ._models import PrivateEndpointConnection # type: ignore - from ._models import PrivateEndpointConnectionListResult # type: ignore - from ._models import PrivateLinkResource # type: ignore - from ._models import PrivateLinkResourcesListResult # type: ignore - from ._models import PrivateLinkServiceConnectionState # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceReference # type: ignore - from ._models import RunCommandRequest # type: ignore - from ._models import RunCommandResult # type: ignore - from ._models import Snapshot # type: ignore - from ._models import SnapshotListResult # type: ignore - from ._models import SubResource # type: ignore - from ._models import SysctlConfig # type: ignore - from ._models import SystemData # type: ignore - from ._models import TagsObject # type: ignore - from ._models import TimeInWeek # type: ignore - from ._models import TimeSpan # type: ignore - from ._models import UserAssignedIdentity # type: ignore - from ._models import WindowsGmsaProfile # type: ignore - -from ._container_service_client_enums import ( - AgentPoolMode, - AgentPoolType, - Code, - ConnectionStatus, - ContainerServiceStorageProfileTypes, - ContainerServiceVMSizeTypes, - Count, - CreatedByType, - Expander, - ExtendedLocationTypes, - GPUInstanceProfile, - KubeletDiskType, - LicenseType, - LoadBalancerSku, - ManagedClusterPodIdentityProvisioningState, - ManagedClusterSKUName, - ManagedClusterSKUTier, - NetworkMode, - NetworkPlugin, - NetworkPolicy, - OSDiskType, - OSSKU, - OSType, - OutboundType, - PrivateEndpointConnectionProvisioningState, - PublicNetworkAccess, - ResourceIdentityType, - ScaleDownMode, - ScaleSetEvictionPolicy, - ScaleSetPriority, - SnapshotType, - UpgradeChannel, - WeekDay, - WorkloadRuntime, -) - -__all__ = [ - 'AgentPool', - 'AgentPoolAvailableVersions', - 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', - 'AgentPoolListResult', - 'AgentPoolUpgradeProfile', - 'AgentPoolUpgradeProfilePropertiesUpgradesItem', - 'AgentPoolUpgradeSettings', - 'CloudErrorBody', - 'ContainerServiceDiagnosticsProfile', - 'ContainerServiceLinuxProfile', - 'ContainerServiceMasterProfile', - 'ContainerServiceNetworkProfile', - 'ContainerServiceSshConfiguration', - 'ContainerServiceSshPublicKey', - 'ContainerServiceVMDiagnostics', - 'CreationData', - 'CredentialResult', - 'CredentialResults', - 'EndpointDependency', - 'EndpointDetail', - 'ExtendedLocation', - 'KubeletConfig', - 'LinuxOSConfig', - 'MaintenanceConfiguration', - 'MaintenanceConfigurationListResult', - 'ManagedCluster', - 'ManagedClusterAADProfile', - 'ManagedClusterAPIServerAccessProfile', - 'ManagedClusterAccessProfile', - 'ManagedClusterAddonProfile', - 'ManagedClusterAddonProfileIdentity', - 'ManagedClusterAgentPoolProfile', - 'ManagedClusterAgentPoolProfileProperties', - 'ManagedClusterAutoUpgradeProfile', - 'ManagedClusterHTTPProxyConfig', - 'ManagedClusterIdentity', - 'ManagedClusterListResult', - 'ManagedClusterLoadBalancerProfile', - 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', - 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', - 'ManagedClusterLoadBalancerProfileOutboundIPs', - 'ManagedClusterManagedOutboundIPProfile', - 'ManagedClusterNATGatewayProfile', - 'ManagedClusterPodIdentity', - 'ManagedClusterPodIdentityException', - 'ManagedClusterPodIdentityProfile', - 'ManagedClusterPodIdentityProvisioningError', - 'ManagedClusterPodIdentityProvisioningErrorBody', - 'ManagedClusterPodIdentityProvisioningInfo', - 'ManagedClusterPoolUpgradeProfile', - 'ManagedClusterPoolUpgradeProfileUpgradesItem', - 'ManagedClusterPropertiesAutoScalerProfile', - 'ManagedClusterSKU', - 'ManagedClusterSecurityProfile', - 'ManagedClusterSecurityProfileAzureDefender', - 'ManagedClusterServicePrincipalProfile', - 'ManagedClusterUpgradeProfile', - 'ManagedClusterWindowsProfile', - 'ManagedServiceIdentityUserAssignedIdentitiesValue', - 'OSOptionProfile', - 'OSOptionProperty', - 'OperationListResult', - 'OperationValue', - 'OutboundEnvironmentEndpoint', - 'OutboundEnvironmentEndpointCollection', - 'PowerState', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateLinkResource', - 'PrivateLinkResourcesListResult', - 'PrivateLinkServiceConnectionState', - 'Resource', - 'ResourceReference', - 'RunCommandRequest', - 'RunCommandResult', - 'Snapshot', - 'SnapshotListResult', - 'SubResource', - 'SysctlConfig', - 'SystemData', - 'TagsObject', - 'TimeInWeek', - 'TimeSpan', - 'UserAssignedIdentity', - 'WindowsGmsaProfile', - 'AgentPoolMode', - 'AgentPoolType', - 'Code', - 'ConnectionStatus', - 'ContainerServiceStorageProfileTypes', - 'ContainerServiceVMSizeTypes', - 'Count', - 'CreatedByType', - 'Expander', - 'ExtendedLocationTypes', - 'GPUInstanceProfile', - 'KubeletDiskType', - 'LicenseType', - 'LoadBalancerSku', - 'ManagedClusterPodIdentityProvisioningState', - 'ManagedClusterSKUName', - 'ManagedClusterSKUTier', - 'NetworkMode', - 'NetworkPlugin', - 'NetworkPolicy', - 'OSDiskType', - 'OSSKU', - 'OSType', - 'OutboundType', - 'PrivateEndpointConnectionProvisioningState', - 'PublicNetworkAccess', - 'ResourceIdentityType', - 'ScaleDownMode', - 'ScaleSetEvictionPolicy', - 'ScaleSetPriority', - 'SnapshotType', - 'UpgradeChannel', - 'WeekDay', - 'WorkloadRuntime', -] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_models.py deleted file mode 100755 index cfbd39a4162..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_models.py +++ /dev/null @@ -1,3899 +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 msrest.serialization - - -class SubResource(msrest.serialization.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: VM size availability varies by region. If a node contains insufficient compute - resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted - VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. - :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 the 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: The default is 'Ephemeral' if the VM supports it and has a cache disk - larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed - after creation. For more information see `Ephemeral OS - `_. Possible values - include: "Managed", "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSDiskType - :param kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data - root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.KubeletDiskType - :param workload_runtime: Determines the type of workload a node can run. Possible values - include: "OCIContainer", "WasmWasi". - :type workload_runtime: str or ~azure.mgmt.containerservice.v2021_09_01.models.WorkloadRuntime - :param vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. - If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just - nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type vnet_subnet_id: str - :param pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see - vnetSubnetID for more details). This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type pod_subnet_id: str - :param max_pods: The maximum number of pods that can run on a node. - :type max_pods: int - :param os_type: The operating system type. The default is Linux. Possible values include: - "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. - Possible values include: "Ubuntu", "CBLMariner". - :type os_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSSKU - :param max_count: The maximum number of nodes for auto-scaling. - :type max_count: int - :param min_count: The 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 scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it - defaults to Delete. Possible values include: "Delete", "Deallocate". - :type scale_down_mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.ScaleDownMode - :param type_properties_type: The type of Agent Pool. Possible values include: - "VirtualMachineScaleSets", "AvailabilitySet". - :type type_properties_type: str or - ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolType - :param mode: A cluster must have at least one 'System' Agent Pool at all times. For additional - information on agent pool restrictions and best practices, see: - https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", - "User". - :type mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolMode - :param orchestrator_version: As a best practice, you should upgrade all node pools in an AKS - cluster to the same Kubernetes version. The node pool version must have the same major version - as the control plane. The node pool minor version must be within two minor versions of the - control plane version. The node pool version cannot be greater than the control plane version. - For more information see `upgrading a node pool - `_. - :type orchestrator_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :param power_state: When an Agent Pool is first created it is initially Running. The Agent Pool - can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and - does not accrue billing charges. An Agent Pool can only be stopped if it is Running and - provisioning state is Succeeded. - :type power_state: ~azure.mgmt.containerservice.v2021_09_01.models.PowerState - :param availability_zones: The list of Availability zones to use for nodes. This can only be - specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :type availability_zones: list[str] - :param enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their - own dedicated public IP addresses. A common scenario is for gaming workloads, where a console - needs to make a direct connection to a cloud virtual machine to minimize hops. For more - information see `assigning a public IP per node - `_. - The default is false. - :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. - :type node_public_ip_prefix_id: str - :param scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the - default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetPriority - :param scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is - 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", - "Deallocate". Default value: "Delete". - :type scale_set_eviction_policy: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetEvictionPolicy - :param spot_max_price: Possible values are any decimal value greater than zero or -1 which - indicates the willingness to pay any on-demand price. For more details on spot pricing, see - `spot VMs pricing `_. - :type spot_max_price: float - :param tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale - set. - :type tags: dict[str, str] - :param node_labels: The node labels to be persisted across all nodes in agent pool. - :type node_labels: dict[str, str] - :param node_taints: The 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: The Kubelet configuration on the agent pool nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2021_09_01.models.KubeletConfig - :param linux_os_config: The OS configuration of Linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2021_09_01.models.LinuxOSConfig - :param enable_encryption_at_host: This is only supported on certain VM sizes and in certain - Azure regions. For more information, see: - https://docs.microsoft.com/azure/aks/enable-host-encryption. - :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD. - :type enable_ultra_ssd: bool - :param enable_fips: See `Add a FIPS-enabled node pool - `_ - for more details. - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_09_01.models.GPUInstanceProfile - :param creation_data: CreationData to be used to specify the source Snapshot ID if the node - pool will be created/upgraded using a snapshot. - :type creation_data: ~azure.mgmt.containerservice.v2021_09_01.models.CreationData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_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'}, - 'workload_runtime': {'key': 'properties.workloadRuntime', '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'}, - 'scale_down_mode': {'key': 'properties.scaleDownMode', 'type': 'str'}, - 'type_properties_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'}, - 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, - } - - 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.workload_runtime = kwargs.get('workload_runtime', 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.scale_down_mode = kwargs.get('scale_down_mode', None) - self.type_properties_type = kwargs.get('type_properties_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 = kwargs.get('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', -1) - 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) - self.creation_data = kwargs.get('creation_data', None) - - -class AgentPoolAvailableVersions(msrest.serialization.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: The ID of the agent pool version list. - :vartype id: str - :ivar name: The name of the agent pool version list. - :vartype name: str - :ivar type: Type of the agent pool version list. - :vartype type: str - :param agent_pool_versions: List of versions available for agent pool. - :type agent_pool_versions: - list[~azure.mgmt.containerservice.v2021_09_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(msrest.serialization.Model): - """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. - - :param default: Whether this version is the default agent pool version. - :type default: bool - :param kubernetes_version: The 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 AgentPoolListResult(msrest.serialization.Model): - """The response from the List Agent Pools operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of agent pools. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.AgentPool] - :ivar next_link: The URL to get the next set of agent pool results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[AgentPool]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(AgentPoolListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class AgentPoolUpgradeProfile(msrest.serialization.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: The ID of the agent pool upgrade profile. - :vartype id: str - :ivar name: The name of the agent pool upgrade profile. - :vartype name: str - :ivar type: The type of the agent pool upgrade profile. - :vartype type: str - :param kubernetes_version: Required. The Kubernetes version (major.minor.patch). - :type kubernetes_version: str - :param os_type: Required. The operating system type. The default is Linux. Possible values - include: "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param upgrades: List of orchestrator types and versions available for upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - :param latest_node_image_version: 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['kubernetes_version'] - 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(msrest.serialization.Model): - """AgentPoolUpgradeProfilePropertiesUpgradesItem. - - :param kubernetes_version: The Kubernetes version (major.minor.patch). - :type kubernetes_version: str - :param is_preview: Whether the 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(msrest.serialization.Model): - """Settings for upgrading an agentpool. - - :param max_surge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). - If a percentage is specified, it is the percentage of the total agent pool size at the time of - the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is - 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade. - :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 CloudErrorBody(msrest.serialization.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_09_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(msrest.serialization.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_09_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['vm_diagnostics'] - - -class ContainerServiceLinuxProfile(msrest.serialization.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. The SSH configuration for Linux-based VMs running on Azure. - :type ssh: ~azure.mgmt.containerservice.v2021_09_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['admin_username'] - self.ssh = kwargs['ssh'] - - -class ContainerServiceMasterProfile(msrest.serialization.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. Possible values include: 1, 3, 5. Default value: "1". - :type count: str or ~azure.mgmt.containerservice.v2021_09_01.models.Count - :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_09_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. - :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_09_01.models.ContainerServiceStorageProfileTypes - :ivar fqdn: FQDN for the master pool. - :vartype fqdn: str - """ - - _validation = { - 'dns_prefix': {'required': True}, - 'vm_size': {'required': True}, - 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, - '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['dns_prefix'] - self.vm_size = kwargs['vm_size'] - 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(msrest.serialization.Model): - """Profile of network configuration. - - :param network_plugin: Network plugin used for building the Kubernetes network. Possible values - include: "azure", "kubenet". Default value: "kubenet". - :type network_plugin: str or ~azure.mgmt.containerservice.v2021_09_01.models.NetworkPlugin - :param network_policy: Network policy used for building the Kubernetes network. Possible values - include: "calico", "azure". - :type network_policy: str or ~azure.mgmt.containerservice.v2021_09_01.models.NetworkPolicy - :param network_mode: This cannot be specified if networkPlugin is anything other than 'azure'. - Possible values include: "transparent", "bridge". - :type network_mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.NetworkMode - :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - :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. - :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. - :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. - :type docker_bridge_cidr: str - :param outbound_type: This can only be set at cluster creation time and cannot be changed - later. For more information see `egress outbound type - `_. Possible values include: - "loadBalancer", "userDefinedRouting", "managedNATGateway", "userAssignedNATGateway". Default - value: "loadBalancer". - :type outbound_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OutboundType - :param load_balancer_sku: The default is 'standard'. See `Azure Load Balancer SKUs - `_ for more information about the - differences between load balancer SKUs. Possible values include: "standard", "basic". - :type load_balancer_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterLoadBalancerProfile - :param nat_gateway_profile: Profile of the cluster NAT gateway. - :type nat_gateway_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterNATGatewayProfile - """ - - _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'}, - 'nat_gateway_profile': {'key': 'natGatewayProfile', 'type': 'ManagedClusterNATGatewayProfile'}, - } - - 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) - self.nat_gateway_profile = kwargs.get('nat_gateway_profile', None) - - -class ContainerServiceSshConfiguration(msrest.serialization.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. A maximum of 1 key may be specified. - :type public_keys: - list[~azure.mgmt.containerservice.v2021_09_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['public_keys'] - - -class ContainerServiceSshPublicKey(msrest.serialization.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['key_data'] - - -class ContainerServiceVMDiagnostics(msrest.serialization.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['enabled'] - self.storage_uri = None - - -class CreationData(msrest.serialization.Model): - """Data used when creating a target resource from a source resource. - - :param source_resource_id: This is the ARM ID of the source object to be used to create the - target object. - :type source_resource_id: str - """ - - _attribute_map = { - 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CreationData, self).__init__(**kwargs) - self.source_resource_id = kwargs.get('source_resource_id', None) - - -class CredentialResult(msrest.serialization.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(msrest.serialization.Model): - """The list 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_09_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(msrest.serialization.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_09_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(msrest.serialization.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(msrest.serialization.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_09_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(msrest.serialization.Model): - """See `AKS custom node configuration `_ for more details. - - :param cpu_manager_policy: The default is 'none'. See `Kubernetes CPU management policies - `_ - for more information. Allowed values are 'none' and 'static'. - :type cpu_manager_policy: str - :param cpu_cfs_quota: The default is true. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: The default is '100ms.' Valid values are a sequence of decimal - numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported - units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: To disable image garbage collection, set to 100. The default is - 85%. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: This cannot be set higher than imageGcHighThreshold. The default - is 80%. - :type image_gc_low_threshold: int - :param topology_manager_policy: For more information see `Kubernetes Topology Manager - `_. The default is - 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowed list 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(msrest.serialization.Model): - """See `AKS custom node configuration `_ for more details. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: ~azure.mgmt.containerservice.v2021_09_01.models.SysctlConfig - :param transparent_huge_page_enabled: Valid values are 'always', 'madvise', and 'never'. The - default is 'always'. For more information see `Transparent Hugepages - `_. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Valid values are 'always', 'defer', 'defer+madvise', - 'madvise' and 'never'. The default is 'madvise'. For more information see `Transparent - Hugepages - `_. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: The size in MB of a swap file that 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): - """See `planned maintenance `_ for more information about planned maintenance. - - 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 metadata relating to this resource. - :vartype system_data: ~azure.mgmt.containerservice.v2021_09_01.models.SystemData - :param time_in_week: If two array entries specify the same day of the week, the applied - configuration is the union of times in both entries. - :type time_in_week: list[~azure.mgmt.containerservice.v2021_09_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: list[~azure.mgmt.containerservice.v2021_09_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 MaintenanceConfigurationListResult(msrest.serialization.Model): - """The response from the List maintenance configurations operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of maintenance configurations. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfiguration] - :ivar next_link: The URL to get the next set of maintenance configuration results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(MaintenanceConfigurationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Resource(msrest.serialization.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: A set of 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['location'] - 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: A set of tags. Resource tags. - :type tags: dict[str, str] - :param sku: The managed cluster SKU. - :type sku: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSKU - :param extended_location: The extended location of the Virtual Machine. - :type extended_location: ~azure.mgmt.containerservice.v2021_09_01.models.ExtendedLocation - :param identity: The identity of the managed cluster, if configured. - :type identity: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterIdentity - :ivar provisioning_state: The current provisioning state. - :vartype provisioning_state: str - :ivar power_state: The Power State of the cluster. - :vartype power_state: ~azure.mgmt.containerservice.v2021_09_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: When you upgrade a supported AKS cluster, Kubernetes minor versions - cannot be skipped. All upgrades must be performed sequentially by major version number. For - example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> - 1.16.x is not allowed. See `upgrading an AKS cluster - `_ for more details. - :type kubernetes_version: str - :param dns_prefix: This cannot be updated once the Managed Cluster has been created. - :type dns_prefix: str - :param fqdn_subdomain: This cannot be updated once the Managed Cluster has been created. - :type fqdn_subdomain: str - :ivar fqdn: The FQDN of the master pool. - :vartype fqdn: str - :ivar private_fqdn: The FQDN of private cluster. - :vartype private_fqdn: str - :ivar azure_portal_fqdn: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) - headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. - This special FQDN supports CORS, allowing the Azure Portal to function properly. - :vartype azure_portal_fqdn: str - :param agent_pool_profiles: The agent pool properties. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: The profile for Linux VMs in the Managed Cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ContainerServiceLinuxProfile - :param windows_profile: The profile for Windows VMs in the Managed Cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2021_09_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_09_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: The profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: See `use AAD pod identity - `_ for more details on AAD pod - identity integration. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterPodIdentityProfile - :param node_resource_group: The 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: The network configuration profile. - :type network_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ContainerServiceNetworkProfile - :param aad_profile: The Azure Active Directory configuration. - :type aad_profile: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: The auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2021_09_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_09_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: The access profile for managed cluster API server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAPIServerAccessProfile - :param disk_encryption_set_id: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'. - :type disk_encryption_set_id: str - :param identity_profile: Identities associated with the cluster. - :type identity_profile: dict[str, - ~azure.mgmt.containerservice.v2021_09_01.models.UserAssignedIdentity] - :param private_link_resources: Private link resources associated with the cluster. - :type private_link_resources: - list[~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResource] - :param disable_local_accounts: If set to true, getting static credentials will be disabled for - this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details - see `disable local accounts - `_. - :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_09_01.models.ManagedClusterHTTPProxyConfig - :param security_profile: Security profile for the managed cluster. - :type security_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSecurityProfile - :param public_network_access: Default value is 'Enabled' (case insensitive). Could be set to - 'Disabled' to enable private cluster. Possible values include: "Enabled", "Disabled". - :type public_network_access: str or - ~azure.mgmt.containerservice.v2021_09_01.models.PublicNetworkAccess - """ - - _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}'}, - 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - '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': '{UserAssignedIdentity}'}, - 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, - 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, - 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, - 'security_profile': {'key': 'properties.securityProfile', 'type': 'ManagedClusterSecurityProfile'}, - 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedCluster, self).__init__(**kwargs) - self.sku = kwargs.get('sku', None) - self.extended_location = kwargs.get('extended_location', None) - self.identity = kwargs.get('identity', None) - 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.security_profile = kwargs.get('security_profile', None) - self.public_network_access = kwargs.get('public_network_access', None) - - -class ManagedClusterAADProfile(msrest.serialization.Model): - """For more details see `managed AAD on AKS `_. - - :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_i_ds: The list of AAD group object IDs that will have admin role of - the cluster. - :type admin_group_object_i_ds: 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_i_ds': {'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_i_ds = kwargs.get('admin_group_object_i_ds', 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: A set of 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(msrest.serialization.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_09_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['enabled'] - self.config = kwargs.get('config', None) - self.identity = None - - -class UserAssignedIdentity(msrest.serialization.Model): - """Details about a user assigned identity. - - :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(msrest.serialization.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: VM size availability varies by region. If a node contains insufficient compute - resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted - VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. - :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 the 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: The default is 'Ephemeral' if the VM supports it and has a cache disk - larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed - after creation. For more information see `Ephemeral OS - `_. Possible values - include: "Managed", "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSDiskType - :param kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data - root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.KubeletDiskType - :param workload_runtime: Determines the type of workload a node can run. Possible values - include: "OCIContainer", "WasmWasi". - :type workload_runtime: str or ~azure.mgmt.containerservice.v2021_09_01.models.WorkloadRuntime - :param vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. - If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just - nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type vnet_subnet_id: str - :param pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see - vnetSubnetID for more details). This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type pod_subnet_id: str - :param max_pods: The maximum number of pods that can run on a node. - :type max_pods: int - :param os_type: The operating system type. The default is Linux. Possible values include: - "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. - Possible values include: "Ubuntu", "CBLMariner". - :type os_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSSKU - :param max_count: The maximum number of nodes for auto-scaling. - :type max_count: int - :param min_count: The 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 scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it - defaults to Delete. Possible values include: "Delete", "Deallocate". - :type scale_down_mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.ScaleDownMode - :param type: The type of Agent Pool. Possible values include: "VirtualMachineScaleSets", - "AvailabilitySet". - :type type: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolType - :param mode: A cluster must have at least one 'System' Agent Pool at all times. For additional - information on agent pool restrictions and best practices, see: - https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", - "User". - :type mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolMode - :param orchestrator_version: As a best practice, you should upgrade all node pools in an AKS - cluster to the same Kubernetes version. The node pool version must have the same major version - as the control plane. The node pool minor version must be within two minor versions of the - control plane version. The node pool version cannot be greater than the control plane version. - For more information see `upgrading a node pool - `_. - :type orchestrator_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :param power_state: When an Agent Pool is first created it is initially Running. The Agent Pool - can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and - does not accrue billing charges. An Agent Pool can only be stopped if it is Running and - provisioning state is Succeeded. - :type power_state: ~azure.mgmt.containerservice.v2021_09_01.models.PowerState - :param availability_zones: The list of Availability zones to use for nodes. This can only be - specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :type availability_zones: list[str] - :param enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their - own dedicated public IP addresses. A common scenario is for gaming workloads, where a console - needs to make a direct connection to a cloud virtual machine to minimize hops. For more - information see `assigning a public IP per node - `_. - The default is false. - :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. - :type node_public_ip_prefix_id: str - :param scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the - default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetPriority - :param scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is - 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", - "Deallocate". Default value: "Delete". - :type scale_set_eviction_policy: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetEvictionPolicy - :param spot_max_price: Possible values are any decimal value greater than zero or -1 which - indicates the willingness to pay any on-demand price. For more details on spot pricing, see - `spot VMs pricing `_. - :type spot_max_price: float - :param tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale - set. - :type tags: dict[str, str] - :param node_labels: The node labels to be persisted across all nodes in agent pool. - :type node_labels: dict[str, str] - :param node_taints: The 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: The Kubelet configuration on the agent pool nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2021_09_01.models.KubeletConfig - :param linux_os_config: The OS configuration of Linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2021_09_01.models.LinuxOSConfig - :param enable_encryption_at_host: This is only supported on certain VM sizes and in certain - Azure regions. For more information, see: - https://docs.microsoft.com/azure/aks/enable-host-encryption. - :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD. - :type enable_ultra_ssd: bool - :param enable_fips: See `Add a FIPS-enabled node pool - `_ - for more details. - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_09_01.models.GPUInstanceProfile - :param creation_data: CreationData to be used to specify the source Snapshot ID if the node - pool will be created/upgraded using a snapshot. - :type creation_data: ~azure.mgmt.containerservice.v2021_09_01.models.CreationData - """ - - _validation = { - 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_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'}, - 'workload_runtime': {'key': 'workloadRuntime', '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'}, - 'scale_down_mode': {'key': 'scaleDownMode', 'type': 'str'}, - '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'}, - 'creation_data': {'key': 'creationData', 'type': 'CreationData'}, - } - - 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.workload_runtime = kwargs.get('workload_runtime', 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.scale_down_mode = kwargs.get('scale_down_mode', 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 = kwargs.get('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', -1) - 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) - self.creation_data = kwargs.get('creation_data', 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: VM size availability varies by region. If a node contains insufficient compute - resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted - VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. - :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 the 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: The default is 'Ephemeral' if the VM supports it and has a cache disk - larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed - after creation. For more information see `Ephemeral OS - `_. Possible values - include: "Managed", "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSDiskType - :param kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data - root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.KubeletDiskType - :param workload_runtime: Determines the type of workload a node can run. Possible values - include: "OCIContainer", "WasmWasi". - :type workload_runtime: str or ~azure.mgmt.containerservice.v2021_09_01.models.WorkloadRuntime - :param vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. - If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just - nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type vnet_subnet_id: str - :param pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see - vnetSubnetID for more details). This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type pod_subnet_id: str - :param max_pods: The maximum number of pods that can run on a node. - :type max_pods: int - :param os_type: The operating system type. The default is Linux. Possible values include: - "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. - Possible values include: "Ubuntu", "CBLMariner". - :type os_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSSKU - :param max_count: The maximum number of nodes for auto-scaling. - :type max_count: int - :param min_count: The 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 scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it - defaults to Delete. Possible values include: "Delete", "Deallocate". - :type scale_down_mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.ScaleDownMode - :param type: The type of Agent Pool. Possible values include: "VirtualMachineScaleSets", - "AvailabilitySet". - :type type: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolType - :param mode: A cluster must have at least one 'System' Agent Pool at all times. For additional - information on agent pool restrictions and best practices, see: - https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", - "User". - :type mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolMode - :param orchestrator_version: As a best practice, you should upgrade all node pools in an AKS - cluster to the same Kubernetes version. The node pool version must have the same major version - as the control plane. The node pool minor version must be within two minor versions of the - control plane version. The node pool version cannot be greater than the control plane version. - For more information see `upgrading a node pool - `_. - :type orchestrator_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :param power_state: When an Agent Pool is first created it is initially Running. The Agent Pool - can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and - does not accrue billing charges. An Agent Pool can only be stopped if it is Running and - provisioning state is Succeeded. - :type power_state: ~azure.mgmt.containerservice.v2021_09_01.models.PowerState - :param availability_zones: The list of Availability zones to use for nodes. This can only be - specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :type availability_zones: list[str] - :param enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their - own dedicated public IP addresses. A common scenario is for gaming workloads, where a console - needs to make a direct connection to a cloud virtual machine to minimize hops. For more - information see `assigning a public IP per node - `_. - The default is false. - :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. - :type node_public_ip_prefix_id: str - :param scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the - default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetPriority - :param scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is - 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", - "Deallocate". Default value: "Delete". - :type scale_set_eviction_policy: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetEvictionPolicy - :param spot_max_price: Possible values are any decimal value greater than zero or -1 which - indicates the willingness to pay any on-demand price. For more details on spot pricing, see - `spot VMs pricing `_. - :type spot_max_price: float - :param tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale - set. - :type tags: dict[str, str] - :param node_labels: The node labels to be persisted across all nodes in agent pool. - :type node_labels: dict[str, str] - :param node_taints: The 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: The Kubelet configuration on the agent pool nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2021_09_01.models.KubeletConfig - :param linux_os_config: The OS configuration of Linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2021_09_01.models.LinuxOSConfig - :param enable_encryption_at_host: This is only supported on certain VM sizes and in certain - Azure regions. For more information, see: - https://docs.microsoft.com/azure/aks/enable-host-encryption. - :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD. - :type enable_ultra_ssd: bool - :param enable_fips: See `Add a FIPS-enabled node pool - `_ - for more details. - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_09_01.models.GPUInstanceProfile - :param creation_data: CreationData to be used to specify the source Snapshot ID if the node - pool will be created/upgraded using a snapshot. - :type creation_data: ~azure.mgmt.containerservice.v2021_09_01.models.CreationData - :param name: Required. Windows agent pool names must be 6 characters or less. - :type name: str - """ - - _validation = { - 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_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'}, - 'workload_runtime': {'key': 'workloadRuntime', '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'}, - 'scale_down_mode': {'key': 'scaleDownMode', 'type': 'str'}, - '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'}, - 'creation_data': {'key': 'creationData', 'type': 'CreationData'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) - self.name = kwargs['name'] - - -class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): - """Access profile for managed cluster API server. - - :param authorized_ip_ranges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. - This feature is not compatible with clusters that use Public IP Per Node, or clusters that are - using a Basic Load Balancer. For more information see `API server authorized IP ranges - `_. - :type authorized_ip_ranges: list[str] - :param enable_private_cluster: For more details, see `Creating a private AKS cluster - `_. - :type enable_private_cluster: bool - :param private_dns_zone: The default is System. For more details see `configure private DNS - zone `_. - Allowed values are 'system' and 'none'. - :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 - :param disable_run_command: Whether to disable run command for the cluster or not. - :type disable_run_command: 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'}, - 'disable_run_command': {'key': 'disableRunCommand', '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) - self.disable_run_command = kwargs.get('disable_run_command', None) - - -class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: For more information see `setting the AKS cluster auto-upgrade channel - `_. Possible - values include: "rapid", "stable", "patch", "node-image", "none". - :type upgrade_channel: str or ~azure.mgmt.containerservice.v2021_09_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(msrest.serialization.Model): - """Cluster HTTP proxy configuration. - - :param http_proxy: The HTTP proxy server endpoint to use. - :type http_proxy: str - :param https_proxy: The HTTPS proxy server endpoint to use. - :type https_proxy: str - :param no_proxy: The 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(msrest.serialization.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: For more information see `use managed identities in AKS - `_. Possible values include: - "SystemAssigned", "UserAssigned", "None". - :type type: str or ~azure.mgmt.containerservice.v2021_09_01.models.ResourceIdentityType - :param user_assigned_identities: The keys must 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_09_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] - """ - - _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': 'str'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, - } - - 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 ManagedClusterListResult(msrest.serialization.Model): - """The response from the List Managed Clusters operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of managed clusters. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster] - :ivar next_link: The URL to get the next set of managed cluster results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ManagedCluster]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class ManagedClusterLoadBalancerProfile(msrest.serialization.Model): - """Profile of the managed cluster load balancer. - - :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. - :type managed_outbound_i_ps: - ~azure.mgmt.containerservice.v2021_09_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_09_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. - :type outbound_i_ps: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterLoadBalancerProfileOutboundIPs - :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load - balancer. - :type effective_outbound_i_ps: - list[~azure.mgmt.containerservice.v2021_09_01.models.ResourceReference] - :param allocated_outbound_ports: The desired number of allocated SNAT ports per VM. Allowed - values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in - Azure dynamically allocating ports. - :type allocated_outbound_ports: int - :param idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values - are in the range of 4 to 120 (inclusive). The default value is 30 minutes. - :type idle_timeout_in_minutes: int - :param enable_multiple_standard_load_balancers: Enable multiple standard load balancers per AKS - cluster or not. - :type enable_multiple_standard_load_balancers: bool - """ - - _validation = { - 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, - 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, - } - - _attribute_map = { - 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, - 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, - 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, - 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, - 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, - 'enable_multiple_standard_load_balancers': {'key': 'enableMultipleStandardLoadBalancers', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) - self.managed_outbound_i_ps = kwargs.get('managed_outbound_i_ps', None) - self.outbound_ip_prefixes = kwargs.get('outbound_ip_prefixes', None) - self.outbound_i_ps = kwargs.get('outbound_i_ps', None) - self.effective_outbound_i_ps = kwargs.get('effective_outbound_i_ps', None) - self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', 0) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', 30) - self.enable_multiple_standard_load_balancers = kwargs.get('enable_multiple_standard_load_balancers', None) - - -class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.Model): - """Desired managed outbound IPs for the cluster load balancer. - - :param count: The desired number of outbound IPs 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. - :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(msrest.serialization.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_09_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(msrest.serialization.Model): - """Desired outbound IP resources for the cluster load balancer. - - :param public_i_ps: A list of public IP resources. - :type public_i_ps: list[~azure.mgmt.containerservice.v2021_09_01.models.ResourceReference] - """ - - _attribute_map = { - 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) - self.public_i_ps = kwargs.get('public_i_ps', None) - - -class ManagedClusterManagedOutboundIPProfile(msrest.serialization.Model): - """Profile of the managed outbound IP resources of the managed cluster. - - :param count: The desired number of outbound IPs created/managed by Azure. Allowed values must - be in the range of 1 to 16 (inclusive). The default value is 1. - :type count: int - """ - - _validation = { - 'count': {'maximum': 16, 'minimum': 1}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterManagedOutboundIPProfile, self).__init__(**kwargs) - self.count = kwargs.get('count', 1) - - -class ManagedClusterNATGatewayProfile(msrest.serialization.Model): - """Profile of the managed cluster NAT gateway. - - :param managed_outbound_ip_profile: Profile of the managed outbound IP resources of the cluster - NAT gateway. - :type managed_outbound_ip_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterManagedOutboundIPProfile - :param effective_outbound_i_ps: The effective outbound IP resources of the cluster NAT gateway. - :type effective_outbound_i_ps: - list[~azure.mgmt.containerservice.v2021_09_01.models.ResourceReference] - :param idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values - are in the range of 4 to 120 (inclusive). The default value is 4 minutes. - :type idle_timeout_in_minutes: int - """ - - _validation = { - 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, - } - - _attribute_map = { - 'managed_outbound_ip_profile': {'key': 'managedOutboundIPProfile', 'type': 'ManagedClusterManagedOutboundIPProfile'}, - 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, - 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterNATGatewayProfile, self).__init__(**kwargs) - self.managed_outbound_ip_profile = kwargs.get('managed_outbound_ip_profile', None) - self.effective_outbound_i_ps = kwargs.get('effective_outbound_i_ps', None) - self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', 4) - - -class ManagedClusterPodIdentity(msrest.serialization.Model): - """Details about the pod identity assigned to the 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 name: Required. The name of the pod identity. - :type name: str - :param namespace: Required. The namespace of the pod identity. - :type namespace: str - :param binding_selector: The binding selector to use for the AzureIdentityBinding resource. - :type binding_selector: str - :param identity: Required. The user assigned identity details. - :type identity: ~azure.mgmt.containerservice.v2021_09_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_09_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2021_09_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['name'] - self.namespace = kwargs['namespace'] - self.binding_selector = kwargs.get('binding_selector', None) - self.identity = kwargs['identity'] - self.provisioning_state = None - self.provisioning_info = None - - -class ManagedClusterPodIdentityException(msrest.serialization.Model): - """See `disable AAD Pod Identity for a specific Pod/Application `_ for more details. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The name of the pod identity exception. - :type name: str - :param namespace: Required. The namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. The 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['name'] - self.namespace = kwargs['namespace'] - self.pod_labels = kwargs['pod_labels'] - - -class ManagedClusterPodIdentityProfile(msrest.serialization.Model): - """See `use AAD pod identity `_ for more details on pod identity integration. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param allow_network_plugin_kubenet: Running in Kubenet is disabled by default due to the - security related nature of AAD Pod Identity and the risks of IP spoofing. See `using Kubenet - network plugin with AAD Pod Identity - `_ - for more information. - :type allow_network_plugin_kubenet: bool - :param user_assigned_identities: The pod identities to use in the cluster. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: The pod identity exceptions to allow. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2021_09_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 ManagedClusterPodIdentityProvisioningError(msrest.serialization.Model): - """An error response from the pod identity provisioning. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterPodIdentityProvisioningErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ManagedClusterPodIdentityProvisioningErrorBody'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterPodIdentityProvisioningError, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class ManagedClusterPodIdentityProvisioningErrorBody(msrest.serialization.Model): - """An error response from the pod identity provisioning. - - :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_09_01.models.ManagedClusterPodIdentityProvisioningErrorBody] - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ManagedClusterPodIdentityProvisioningErrorBody]'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterPodIdentityProvisioningErrorBody, 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 ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterPodIdentityProvisioningError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ManagedClusterPodIdentityProvisioningError'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class ManagedClusterPoolUpgradeProfile(msrest.serialization.Model): - """The list of available upgrade versions. - - All required parameters must be populated in order to send to Azure. - - :param kubernetes_version: Required. The Kubernetes version (major.minor.patch). - :type kubernetes_version: str - :param name: The Agent Pool name. - :type name: str - :param os_type: Required. The operating system type. The default is Linux. Possible values - include: "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param upgrades: List of orchestrator types and versions available for upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_09_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['kubernetes_version'] - self.name = kwargs.get('name', None) - self.os_type = kwargs.get('os_type', "Linux") - self.upgrades = kwargs.get('upgrades', None) - - -class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): - """ManagedClusterPoolUpgradeProfileUpgradesItem. - - :param kubernetes_version: The Kubernetes version (major.minor.patch). - :type kubernetes_version: str - :param is_preview: Whether the 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(msrest.serialization.Model): - """Parameters to be applied to the cluster-autoscaler when enabled. - - :param balance_similar_node_groups: Valid values are 'true' and 'false'. - :type balance_similar_node_groups: str - :param expander: If not specified, the default is 'random'. See `expanders - `_ - for more information. Possible values include: "least-waste", "most-pods", "priority", - "random". - :type expander: str or ~azure.mgmt.containerservice.v2021_09_01.models.Expander - :param max_empty_bulk_delete: The default is 10. - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: The default is 600. - :type max_graceful_termination_sec: str - :param max_node_provision_time: The default is '15m'. Values must be an integer followed by an - 'm'. No unit of time other than minutes (m) is supported. - :type max_node_provision_time: str - :param max_total_unready_percentage: The default is 45. The maximum is 100 and the minimum is - 0. - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: For scenarios like burst/batch scale where you don't want CA to - act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore - unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer - followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: This must be an integer. The default is 3. - :type ok_total_unready_count: str - :param scan_interval: The default is '10'. Values must be an integer number of seconds. - :type scan_interval: str - :param scale_down_delay_after_add: The default is '10m'. Values must be an integer followed by - an 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_delay_after_add: str - :param scale_down_delay_after_delete: The default is the scan-interval. Values must be an - integer followed by an 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_delay_after_delete: str - :param scale_down_delay_after_failure: The default is '3m'. Values must be an integer followed - by an 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_delay_after_failure: str - :param scale_down_unneeded_time: The default is '10m'. Values must be an integer followed by an - 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_unneeded_time: str - :param scale_down_unready_time: The default is '20m'. Values must be an integer followed by an - 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_unready_time: str - :param scale_down_utilization_threshold: The default is '0.5'. - :type scale_down_utilization_threshold: str - :param skip_nodes_with_local_storage: The default is true. - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: The default is true. - :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 ManagedClusterSecurityProfile(msrest.serialization.Model): - """Security profile for the container service cluster. - - :param azure_defender: Azure Defender settings for the security profile. - :type azure_defender: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSecurityProfileAzureDefender - """ - - _attribute_map = { - 'azure_defender': {'key': 'azureDefender', 'type': 'ManagedClusterSecurityProfileAzureDefender'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterSecurityProfile, self).__init__(**kwargs) - self.azure_defender = kwargs.get('azure_defender', None) - - -class ManagedClusterSecurityProfileAzureDefender(msrest.serialization.Model): - """Azure Defender settings for the security profile. - - :param enabled: Whether to enable Azure Defender. - :type enabled: bool - :param log_analytics_workspace_resource_id: Resource ID of the Log Analytics workspace to be - associated with Azure Defender. When Azure Defender is enabled, this field is required and - must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty. - :type log_analytics_workspace_resource_id: str - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'log_analytics_workspace_resource_id': {'key': 'logAnalyticsWorkspaceResourceId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterSecurityProfileAzureDefender, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.log_analytics_workspace_resource_id = kwargs.get('log_analytics_workspace_resource_id', None) - - -class ManagedClusterServicePrincipalProfile(msrest.serialization.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['client_id'] - self.secret = kwargs.get('secret', None) - - -class ManagedClusterSKU(msrest.serialization.Model): - """The SKU of a Managed Cluster. - - :param name: The name of a managed cluster SKU. Possible values include: "Basic". - :type name: str or ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSKUName - :param tier: If not specified, the default is 'Free'. See `uptime SLA - `_ for more details. Possible values include: - "Paid", "Free". - :type tier: str or ~azure.mgmt.containerservice.v2021_09_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(msrest.serialization.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: The ID of the upgrade profile. - :vartype id: str - :ivar name: The name of the upgrade profile. - :vartype name: str - :ivar type: The type of the 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_09_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_09_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['control_plane_profile'] - self.agent_pool_profiles = kwargs['agent_pool_profiles'] - - -class ManagedClusterWindowsProfile(msrest.serialization.Model): - """Profile for Windows VMs in the managed cluster. - - All required parameters must be populated in order to send to Azure. - - :param admin_username: Required. Specifies the name of the administrator account. - :code:`
`:code:`
` **Restriction:** Cannot end in "." :code:`
`:code:`
` - **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". :code:`
`:code:`
` **Minimum-length:** 1 - character :code:`
`:code:`
` **Max-length:** 20 characters. - :type admin_username: str - :param admin_password: Specifies the password of the administrator account. - :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` - **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 - conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper - characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) - :code:`
`:code:`
` **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 license type to use for Windows VMs. See `Azure Hybrid User Benefits - `_ for more details. Possible values - include: "None", "Windows_Server". - :type license_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.LicenseType - :param enable_csi_proxy: For more details on CSI proxy, see the `CSI proxy GitHub repo - `_. - :type enable_csi_proxy: bool - :param gmsa_profile: The Windows gMSA Profile in the Managed Cluster. - :type gmsa_profile: ~azure.mgmt.containerservice.v2021_09_01.models.WindowsGmsaProfile - """ - - _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'}, - 'gmsa_profile': {'key': 'gmsaProfile', 'type': 'WindowsGmsaProfile'}, - } - - def __init__( - self, - **kwargs - ): - super(ManagedClusterWindowsProfile, self).__init__(**kwargs) - self.admin_username = kwargs['admin_username'] - 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) - self.gmsa_profile = kwargs.get('gmsa_profile', None) - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(msrest.serialization.Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. - - 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class OperationListResult(msrest.serialization.Model): - """The List Operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of operations. - :vartype value: list[~azure.mgmt.containerservice.v2021_09_01.models.OperationValue] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationValue]'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationListResult, self).__init__(**kwargs) - self.value = None - - -class OperationValue(msrest.serialization.Model): - """Describes the properties of a Operation value. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar origin: The origin of the operation. - :vartype origin: str - :ivar name: The name of the operation. - :vartype name: str - :ivar operation: The display name of the 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(msrest.serialization.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: The ID of the OS option resource. - :vartype id: str - :ivar name: The name of the OS option resource. - :vartype name: str - :ivar type: The type of the OS option resource. - :vartype type: str - :param os_option_property_list: Required. The list of OS options. - :type os_option_property_list: - list[~azure.mgmt.containerservice.v2021_09_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['os_option_property_list'] - - -class OSOptionProperty(msrest.serialization.Model): - """OS option property. - - All required parameters must be populated in order to send to Azure. - - :param os_type: Required. The OS type. - :type os_type: str - :param enable_fips_image: Required. Whether the image is FIPS-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['os_type'] - self.enable_fips_image = kwargs['enable_fips_image'] - - -class OutboundEnvironmentEndpoint(msrest.serialization.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_09_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 OutboundEnvironmentEndpointCollection(msrest.serialization.Model): - """Collection of OutboundEnvironmentEndpoint. - - 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[~azure.mgmt.containerservice.v2021_09_01.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(OutboundEnvironmentEndpointCollection, self).__init__(**kwargs) - self.value = kwargs['value'] - self.next_link = None - - -class PowerState(msrest.serialization.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_09_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(msrest.serialization.Model): - """Private endpoint which a connection belongs to. - - :param id: The resource ID of the 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(msrest.serialization.Model): - """A private endpoint connection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :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_09_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpoint - :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_09_01.models.PrivateLinkServiceConnectionState - """ - - _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'}, - '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(msrest.serialization.Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: list[~azure.mgmt.containerservice.v2021_09_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(msrest.serialization.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: The 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(msrest.serialization.Model): - """A list of private link resources. - - :param value: The collection value. - :type value: list[~azure.mgmt.containerservice.v2021_09_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(msrest.serialization.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_09_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(msrest.serialization.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(msrest.serialization.Model): - """A run command request. - - All required parameters must be populated in order to send to Azure. - - :param command: Required. The command to run. - :type command: str - :param context: A base64 encoded zip file containing the 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['command'] - self.context = kwargs.get('context', None) - self.cluster_token = kwargs.get('cluster_token', None) - - -class RunCommandResult(msrest.serialization.Model): - """run command result. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The command id. - :vartype id: str - :ivar provisioning_state: provisioning State. - :vartype provisioning_state: str - :ivar exit_code: The exit code of the command. - :vartype exit_code: int - :ivar started_at: The time when the command started. - :vartype started_at: ~datetime.datetime - :ivar finished_at: The time when the command finished. - :vartype finished_at: ~datetime.datetime - :ivar logs: The command output. - :vartype logs: str - :ivar reason: An explanation of 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 Snapshot(Resource): - """A node pool snapshot resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource Id. - :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: A set of tags. Resource tags. - :type tags: dict[str, str] - :ivar system_data: The system metadata relating to this snapshot. - :vartype system_data: ~azure.mgmt.containerservice.v2021_09_01.models.SystemData - :param creation_data: CreationData to be used to specify the source agent pool resource ID to - create this snapshot. - :type creation_data: ~azure.mgmt.containerservice.v2021_09_01.models.CreationData - :param snapshot_type: The type of a snapshot. The default is NodePool. Possible values include: - "NodePool". Default value: "NodePool". - :type snapshot_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.SnapshotType - :ivar kubernetes_version: The version of Kubernetes. - :vartype kubernetes_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :ivar os_type: The operating system type. The default is Linux. Possible values include: - "Linux", "Windows". Default value: "Linux". - :vartype os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :ivar os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. - Possible values include: "Ubuntu", "CBLMariner". - :vartype os_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSSKU - :ivar vm_size: The size of the VM. - :vartype vm_size: str - :ivar enable_fips: Whether to use a FIPS-enabled OS. - :vartype enable_fips: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'kubernetes_version': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'os_type': {'readonly': True}, - 'os_sku': {'readonly': True}, - 'vm_size': {'readonly': True}, - 'enable_fips': {'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}'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, - 'snapshot_type': {'key': 'properties.snapshotType', 'type': 'str'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, - 'os_type': {'key': 'properties.osType', 'type': 'str'}, - 'os_sku': {'key': 'properties.osSku', 'type': 'str'}, - 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, - 'enable_fips': {'key': 'properties.enableFIPS', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(Snapshot, self).__init__(**kwargs) - self.system_data = None - self.creation_data = kwargs.get('creation_data', None) - self.snapshot_type = kwargs.get('snapshot_type', "NodePool") - self.kubernetes_version = None - self.node_image_version = None - self.os_type = None - self.os_sku = None - self.vm_size = None - self.enable_fips = None - - -class SnapshotListResult(msrest.serialization.Model): - """The response from the List Snapshots operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of snapshots. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.Snapshot] - :ivar next_link: The URL to get the next set of snapshot results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Snapshot]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SnapshotListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class SysctlConfig(msrest.serialization.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(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.mgmt.containerservice.v2021_09_01.models.CreatedByType - :param created_at: The UTC timestamp of resource creation. - :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.mgmt.containerservice.v2021_09_01.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 TagsObject(msrest.serialization.Model): - """Tags object 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(TagsObject, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - - -class TimeInWeek(msrest.serialization.Model): - """Time in a week. - - :param day: The day of the week. Possible values include: "Sunday", "Monday", "Tuesday", - "Wednesday", "Thursday", "Friday", "Saturday". - :type day: str or ~azure.mgmt.containerservice.v2021_09_01.models.WeekDay - :param hour_slots: Each integer hour represents a time range beginning at 0m after the hour - ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 - UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. - :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(msrest.serialization.Model): - """For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. - - :param start: The start of a time span. - :type start: ~datetime.datetime - :param end: The end of a time span. - :type end: ~datetime.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) - - -class WindowsGmsaProfile(msrest.serialization.Model): - """Windows gMSA Profile in the managed cluster. - - :param enabled: Specifies whether to enable Windows gMSA in the managed cluster. - :type enabled: bool - :param dns_server: Specifies the DNS server for Windows gMSA. :code:`
`:code:`
` Set it - to empty if you have configured the DNS server in the vnet which is used to create the managed - cluster. - :type dns_server: str - :param root_domain_name: Specifies the root domain name for Windows gMSA. - :code:`
`:code:`
` Set it to empty if you have configured the DNS server in the vnet - which is used to create the managed cluster. - :type root_domain_name: str - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'dns_server': {'key': 'dnsServer', 'type': 'str'}, - 'root_domain_name': {'key': 'rootDomainName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(WindowsGmsaProfile, self).__init__(**kwargs) - self.enabled = kwargs.get('enabled', None) - self.dns_server = kwargs.get('dns_server', None) - self.root_domain_name = kwargs.get('root_domain_name', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_models_py3.py deleted file mode 100755 index c8b6b978c97..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_models_py3.py +++ /dev/null @@ -1,4362 +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 datetime -from typing import Dict, List, Optional, Union - -import msrest.serialization - -from ._container_service_client_enums import * - - -class SubResource(msrest.serialization.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: VM size availability varies by region. If a node contains insufficient compute - resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted - VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. - :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 the 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: The default is 'Ephemeral' if the VM supports it and has a cache disk - larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed - after creation. For more information see `Ephemeral OS - `_. Possible values - include: "Managed", "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSDiskType - :param kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data - root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.KubeletDiskType - :param workload_runtime: Determines the type of workload a node can run. Possible values - include: "OCIContainer", "WasmWasi". - :type workload_runtime: str or ~azure.mgmt.containerservice.v2021_09_01.models.WorkloadRuntime - :param vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. - If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just - nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type vnet_subnet_id: str - :param pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see - vnetSubnetID for more details). This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type pod_subnet_id: str - :param max_pods: The maximum number of pods that can run on a node. - :type max_pods: int - :param os_type: The operating system type. The default is Linux. Possible values include: - "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. - Possible values include: "Ubuntu", "CBLMariner". - :type os_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSSKU - :param max_count: The maximum number of nodes for auto-scaling. - :type max_count: int - :param min_count: The 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 scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it - defaults to Delete. Possible values include: "Delete", "Deallocate". - :type scale_down_mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.ScaleDownMode - :param type_properties_type: The type of Agent Pool. Possible values include: - "VirtualMachineScaleSets", "AvailabilitySet". - :type type_properties_type: str or - ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolType - :param mode: A cluster must have at least one 'System' Agent Pool at all times. For additional - information on agent pool restrictions and best practices, see: - https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", - "User". - :type mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolMode - :param orchestrator_version: As a best practice, you should upgrade all node pools in an AKS - cluster to the same Kubernetes version. The node pool version must have the same major version - as the control plane. The node pool minor version must be within two minor versions of the - control plane version. The node pool version cannot be greater than the control plane version. - For more information see `upgrading a node pool - `_. - :type orchestrator_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :param power_state: When an Agent Pool is first created it is initially Running. The Agent Pool - can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and - does not accrue billing charges. An Agent Pool can only be stopped if it is Running and - provisioning state is Succeeded. - :type power_state: ~azure.mgmt.containerservice.v2021_09_01.models.PowerState - :param availability_zones: The list of Availability zones to use for nodes. This can only be - specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :type availability_zones: list[str] - :param enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their - own dedicated public IP addresses. A common scenario is for gaming workloads, where a console - needs to make a direct connection to a cloud virtual machine to minimize hops. For more - information see `assigning a public IP per node - `_. - The default is false. - :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. - :type node_public_ip_prefix_id: str - :param scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the - default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetPriority - :param scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is - 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", - "Deallocate". Default value: "Delete". - :type scale_set_eviction_policy: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetEvictionPolicy - :param spot_max_price: Possible values are any decimal value greater than zero or -1 which - indicates the willingness to pay any on-demand price. For more details on spot pricing, see - `spot VMs pricing `_. - :type spot_max_price: float - :param tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale - set. - :type tags: dict[str, str] - :param node_labels: The node labels to be persisted across all nodes in agent pool. - :type node_labels: dict[str, str] - :param node_taints: The 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: The Kubelet configuration on the agent pool nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2021_09_01.models.KubeletConfig - :param linux_os_config: The OS configuration of Linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2021_09_01.models.LinuxOSConfig - :param enable_encryption_at_host: This is only supported on certain VM sizes and in certain - Azure regions. For more information, see: - https://docs.microsoft.com/azure/aks/enable-host-encryption. - :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD. - :type enable_ultra_ssd: bool - :param enable_fips: See `Add a FIPS-enabled node pool - `_ - for more details. - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_09_01.models.GPUInstanceProfile - :param creation_data: CreationData to be used to specify the source Snapshot ID if the node - pool will be created/upgraded using a snapshot. - :type creation_data: ~azure.mgmt.containerservice.v2021_09_01.models.CreationData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_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'}, - 'workload_runtime': {'key': 'properties.workloadRuntime', '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'}, - 'scale_down_mode': {'key': 'properties.scaleDownMode', 'type': 'str'}, - 'type_properties_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'}, - 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, - } - - def __init__( - self, - *, - count: Optional[int] = None, - vm_size: Optional[str] = None, - os_disk_size_gb: Optional[int] = None, - os_disk_type: Optional[Union[str, "OSDiskType"]] = None, - kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, - workload_runtime: Optional[Union[str, "WorkloadRuntime"]] = None, - vnet_subnet_id: Optional[str] = None, - pod_subnet_id: Optional[str] = None, - max_pods: Optional[int] = None, - os_type: Optional[Union[str, "OSType"]] = "Linux", - os_sku: Optional[Union[str, "OSSKU"]] = None, - max_count: Optional[int] = None, - min_count: Optional[int] = None, - enable_auto_scaling: Optional[bool] = None, - scale_down_mode: Optional[Union[str, "ScaleDownMode"]] = None, - type_properties_type: Optional[Union[str, "AgentPoolType"]] = None, - mode: Optional[Union[str, "AgentPoolMode"]] = None, - orchestrator_version: Optional[str] = None, - upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, - power_state: Optional["PowerState"] = None, - availability_zones: Optional[List[str]] = None, - enable_node_public_ip: Optional[bool] = None, - node_public_ip_prefix_id: Optional[str] = None, - scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", - scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", - spot_max_price: Optional[float] = -1, - tags: Optional[Dict[str, str]] = None, - node_labels: Optional[Dict[str, str]] = None, - node_taints: Optional[List[str]] = None, - proximity_placement_group_id: Optional[str] = None, - kubelet_config: Optional["KubeletConfig"] = None, - linux_os_config: Optional["LinuxOSConfig"] = None, - enable_encryption_at_host: Optional[bool] = None, - enable_ultra_ssd: Optional[bool] = None, - enable_fips: Optional[bool] = None, - gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, - creation_data: Optional["CreationData"] = None, - **kwargs - ): - 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.workload_runtime = workload_runtime - 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.scale_down_mode = scale_down_mode - self.type_properties_type = type_properties_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 = power_state - 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 - self.creation_data = creation_data - - -class AgentPoolAvailableVersions(msrest.serialization.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: The ID of the agent pool version list. - :vartype id: str - :ivar name: The name of the agent pool version list. - :vartype name: str - :ivar type: Type of the agent pool version list. - :vartype type: str - :param agent_pool_versions: List of versions available for agent pool. - :type agent_pool_versions: - list[~azure.mgmt.containerservice.v2021_09_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: Optional[List["AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem"]] = None, - **kwargs - ): - super(AgentPoolAvailableVersions, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.agent_pool_versions = agent_pool_versions - - -class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): - """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. - - :param default: Whether this version is the default agent pool version. - :type default: bool - :param kubernetes_version: The 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: Optional[bool] = None, - kubernetes_version: Optional[str] = None, - is_preview: Optional[bool] = None, - **kwargs - ): - super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) - self.default = default - self.kubernetes_version = kubernetes_version - self.is_preview = is_preview - - -class AgentPoolListResult(msrest.serialization.Model): - """The response from the List Agent Pools operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of agent pools. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.AgentPool] - :ivar next_link: The URL to get the next set of agent pool results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[AgentPool]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["AgentPool"]] = None, - **kwargs - ): - super(AgentPoolListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class AgentPoolUpgradeProfile(msrest.serialization.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: The ID of the agent pool upgrade profile. - :vartype id: str - :ivar name: The name of the agent pool upgrade profile. - :vartype name: str - :ivar type: The type of the agent pool upgrade profile. - :vartype type: str - :param kubernetes_version: Required. The Kubernetes version (major.minor.patch). - :type kubernetes_version: str - :param os_type: Required. The operating system type. The default is Linux. Possible values - include: "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param upgrades: List of orchestrator types and versions available for upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] - :param latest_node_image_version: 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: Union[str, "OSType"] = "Linux", - upgrades: Optional[List["AgentPoolUpgradeProfilePropertiesUpgradesItem"]] = None, - latest_node_image_version: Optional[str] = None, - **kwargs - ): - 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(msrest.serialization.Model): - """AgentPoolUpgradeProfilePropertiesUpgradesItem. - - :param kubernetes_version: The Kubernetes version (major.minor.patch). - :type kubernetes_version: str - :param is_preview: Whether the 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: Optional[str] = None, - is_preview: Optional[bool] = None, - **kwargs - ): - super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) - self.kubernetes_version = kubernetes_version - self.is_preview = is_preview - - -class AgentPoolUpgradeSettings(msrest.serialization.Model): - """Settings for upgrading an agentpool. - - :param max_surge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). - If a percentage is specified, it is the percentage of the total agent pool size at the time of - the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is - 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade. - :type max_surge: str - """ - - _attribute_map = { - 'max_surge': {'key': 'maxSurge', 'type': 'str'}, - } - - def __init__( - self, - *, - max_surge: Optional[str] = None, - **kwargs - ): - super(AgentPoolUpgradeSettings, self).__init__(**kwargs) - self.max_surge = max_surge - - -class CloudErrorBody(msrest.serialization.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_09_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: Optional[str] = None, - message: Optional[str] = None, - target: Optional[str] = None, - details: Optional[List["CloudErrorBody"]] = None, - **kwargs - ): - super(CloudErrorBody, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - - -class ContainerServiceDiagnosticsProfile(msrest.serialization.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_09_01.models.ContainerServiceVMDiagnostics - """ - - _validation = { - 'vm_diagnostics': {'required': True}, - } - - _attribute_map = { - 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, - } - - def __init__( - self, - *, - vm_diagnostics: "ContainerServiceVMDiagnostics", - **kwargs - ): - super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) - self.vm_diagnostics = vm_diagnostics - - -class ContainerServiceLinuxProfile(msrest.serialization.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. The SSH configuration for Linux-based VMs running on Azure. - :type ssh: ~azure.mgmt.containerservice.v2021_09_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: "ContainerServiceSshConfiguration", - **kwargs - ): - super(ContainerServiceLinuxProfile, self).__init__(**kwargs) - self.admin_username = admin_username - self.ssh = ssh - - -class ContainerServiceMasterProfile(msrest.serialization.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. Possible values include: 1, 3, 5. Default value: "1". - :type count: str or ~azure.mgmt.containerservice.v2021_09_01.models.Count - :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_09_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. - :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_09_01.models.ContainerServiceStorageProfileTypes - :ivar fqdn: FQDN for the master pool. - :vartype fqdn: str - """ - - _validation = { - 'dns_prefix': {'required': True}, - 'vm_size': {'required': True}, - 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, - '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: Union[str, "ContainerServiceVMSizeTypes"], - count: Optional[Union[int, "Count"]] = "1", - os_disk_size_gb: Optional[int] = None, - vnet_subnet_id: Optional[str] = None, - first_consecutive_static_ip: Optional[str] = "10.240.255.5", - storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, - **kwargs - ): - 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(msrest.serialization.Model): - """Profile of network configuration. - - :param network_plugin: Network plugin used for building the Kubernetes network. Possible values - include: "azure", "kubenet". Default value: "kubenet". - :type network_plugin: str or ~azure.mgmt.containerservice.v2021_09_01.models.NetworkPlugin - :param network_policy: Network policy used for building the Kubernetes network. Possible values - include: "calico", "azure". - :type network_policy: str or ~azure.mgmt.containerservice.v2021_09_01.models.NetworkPolicy - :param network_mode: This cannot be specified if networkPlugin is anything other than 'azure'. - Possible values include: "transparent", "bridge". - :type network_mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.NetworkMode - :param pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - :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. - :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. - :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. - :type docker_bridge_cidr: str - :param outbound_type: This can only be set at cluster creation time and cannot be changed - later. For more information see `egress outbound type - `_. Possible values include: - "loadBalancer", "userDefinedRouting", "managedNATGateway", "userAssignedNATGateway". Default - value: "loadBalancer". - :type outbound_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OutboundType - :param load_balancer_sku: The default is 'standard'. See `Azure Load Balancer SKUs - `_ for more information about the - differences between load balancer SKUs. Possible values include: "standard", "basic". - :type load_balancer_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.LoadBalancerSku - :param load_balancer_profile: Profile of the cluster load balancer. - :type load_balancer_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterLoadBalancerProfile - :param nat_gateway_profile: Profile of the cluster NAT gateway. - :type nat_gateway_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterNATGatewayProfile - """ - - _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'}, - 'nat_gateway_profile': {'key': 'natGatewayProfile', 'type': 'ManagedClusterNATGatewayProfile'}, - } - - def __init__( - self, - *, - network_plugin: Optional[Union[str, "NetworkPlugin"]] = "kubenet", - network_policy: Optional[Union[str, "NetworkPolicy"]] = None, - network_mode: Optional[Union[str, "NetworkMode"]] = None, - pod_cidr: Optional[str] = "10.244.0.0/16", - service_cidr: Optional[str] = "10.0.0.0/16", - dns_service_ip: Optional[str] = "10.0.0.10", - docker_bridge_cidr: Optional[str] = "172.17.0.1/16", - outbound_type: Optional[Union[str, "OutboundType"]] = "loadBalancer", - load_balancer_sku: Optional[Union[str, "LoadBalancerSku"]] = None, - load_balancer_profile: Optional["ManagedClusterLoadBalancerProfile"] = None, - nat_gateway_profile: Optional["ManagedClusterNATGatewayProfile"] = None, - **kwargs - ): - 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 - self.nat_gateway_profile = nat_gateway_profile - - -class ContainerServiceSshConfiguration(msrest.serialization.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. A maximum of 1 key may be specified. - :type public_keys: - list[~azure.mgmt.containerservice.v2021_09_01.models.ContainerServiceSshPublicKey] - """ - - _validation = { - 'public_keys': {'required': True}, - } - - _attribute_map = { - 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, - } - - def __init__( - self, - *, - public_keys: List["ContainerServiceSshPublicKey"], - **kwargs - ): - super(ContainerServiceSshConfiguration, self).__init__(**kwargs) - self.public_keys = public_keys - - -class ContainerServiceSshPublicKey(msrest.serialization.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 - ): - super(ContainerServiceSshPublicKey, self).__init__(**kwargs) - self.key_data = key_data - - -class ContainerServiceVMDiagnostics(msrest.serialization.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 - ): - super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) - self.enabled = enabled - self.storage_uri = None - - -class CreationData(msrest.serialization.Model): - """Data used when creating a target resource from a source resource. - - :param source_resource_id: This is the ARM ID of the source object to be used to create the - target object. - :type source_resource_id: str - """ - - _attribute_map = { - 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, - } - - def __init__( - self, - *, - source_resource_id: Optional[str] = None, - **kwargs - ): - super(CreationData, self).__init__(**kwargs) - self.source_resource_id = source_resource_id - - -class CredentialResult(msrest.serialization.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(msrest.serialization.Model): - """The list 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_09_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(msrest.serialization.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_09_01.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): - """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: Optional[str] = None, - port: Optional[int] = None, - protocol: Optional[str] = None, - description: Optional[str] = None, - **kwargs - ): - super(EndpointDetail, self).__init__(**kwargs) - self.ip_address = ip_address - self.port = port - self.protocol = protocol - self.description = description - - -class ExtendedLocation(msrest.serialization.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_09_01.models.ExtendedLocationTypes - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - type: Optional[Union[str, "ExtendedLocationTypes"]] = None, - **kwargs - ): - super(ExtendedLocation, self).__init__(**kwargs) - self.name = name - self.type = type - - -class KubeletConfig(msrest.serialization.Model): - """See `AKS custom node configuration `_ for more details. - - :param cpu_manager_policy: The default is 'none'. See `Kubernetes CPU management policies - `_ - for more information. Allowed values are 'none' and 'static'. - :type cpu_manager_policy: str - :param cpu_cfs_quota: The default is true. - :type cpu_cfs_quota: bool - :param cpu_cfs_quota_period: The default is '100ms.' Valid values are a sequence of decimal - numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported - units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - :type cpu_cfs_quota_period: str - :param image_gc_high_threshold: To disable image garbage collection, set to 100. The default is - 85%. - :type image_gc_high_threshold: int - :param image_gc_low_threshold: This cannot be set higher than imageGcHighThreshold. The default - is 80%. - :type image_gc_low_threshold: int - :param topology_manager_policy: For more information see `Kubernetes Topology Manager - `_. The default is - 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - :type topology_manager_policy: str - :param allowed_unsafe_sysctls: Allowed list 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: Optional[str] = None, - cpu_cfs_quota: Optional[bool] = None, - cpu_cfs_quota_period: Optional[str] = None, - image_gc_high_threshold: Optional[int] = None, - image_gc_low_threshold: Optional[int] = None, - topology_manager_policy: Optional[str] = None, - allowed_unsafe_sysctls: Optional[List[str]] = None, - fail_swap_on: Optional[bool] = None, - container_log_max_size_mb: Optional[int] = None, - container_log_max_files: Optional[int] = None, - pod_max_pids: Optional[int] = None, - **kwargs - ): - 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(msrest.serialization.Model): - """See `AKS custom node configuration `_ for more details. - - :param sysctls: Sysctl settings for Linux agent nodes. - :type sysctls: ~azure.mgmt.containerservice.v2021_09_01.models.SysctlConfig - :param transparent_huge_page_enabled: Valid values are 'always', 'madvise', and 'never'. The - default is 'always'. For more information see `Transparent Hugepages - `_. - :type transparent_huge_page_enabled: str - :param transparent_huge_page_defrag: Valid values are 'always', 'defer', 'defer+madvise', - 'madvise' and 'never'. The default is 'madvise'. For more information see `Transparent - Hugepages - `_. - :type transparent_huge_page_defrag: str - :param swap_file_size_mb: The size in MB of a swap file that 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: Optional["SysctlConfig"] = None, - transparent_huge_page_enabled: Optional[str] = None, - transparent_huge_page_defrag: Optional[str] = None, - swap_file_size_mb: Optional[int] = None, - **kwargs - ): - 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): - """See `planned maintenance `_ for more information about planned maintenance. - - 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 metadata relating to this resource. - :vartype system_data: ~azure.mgmt.containerservice.v2021_09_01.models.SystemData - :param time_in_week: If two array entries specify the same day of the week, the applied - configuration is the union of times in both entries. - :type time_in_week: list[~azure.mgmt.containerservice.v2021_09_01.models.TimeInWeek] - :param not_allowed_time: Time slots on which upgrade is not allowed. - :type not_allowed_time: list[~azure.mgmt.containerservice.v2021_09_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: Optional[List["TimeInWeek"]] = None, - not_allowed_time: Optional[List["TimeSpan"]] = None, - **kwargs - ): - super(MaintenanceConfiguration, self).__init__(**kwargs) - self.system_data = None - self.time_in_week = time_in_week - self.not_allowed_time = not_allowed_time - - -class MaintenanceConfigurationListResult(msrest.serialization.Model): - """The response from the List maintenance configurations operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of maintenance configurations. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfiguration] - :ivar next_link: The URL to get the next set of maintenance configuration results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["MaintenanceConfiguration"]] = None, - **kwargs - ): - super(MaintenanceConfigurationListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class Resource(msrest.serialization.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: A set of 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: Optional[Dict[str, str]] = None, - **kwargs - ): - 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: A set of tags. Resource tags. - :type tags: dict[str, str] - :param sku: The managed cluster SKU. - :type sku: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSKU - :param extended_location: The extended location of the Virtual Machine. - :type extended_location: ~azure.mgmt.containerservice.v2021_09_01.models.ExtendedLocation - :param identity: The identity of the managed cluster, if configured. - :type identity: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterIdentity - :ivar provisioning_state: The current provisioning state. - :vartype provisioning_state: str - :ivar power_state: The Power State of the cluster. - :vartype power_state: ~azure.mgmt.containerservice.v2021_09_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: When you upgrade a supported AKS cluster, Kubernetes minor versions - cannot be skipped. All upgrades must be performed sequentially by major version number. For - example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> - 1.16.x is not allowed. See `upgrading an AKS cluster - `_ for more details. - :type kubernetes_version: str - :param dns_prefix: This cannot be updated once the Managed Cluster has been created. - :type dns_prefix: str - :param fqdn_subdomain: This cannot be updated once the Managed Cluster has been created. - :type fqdn_subdomain: str - :ivar fqdn: The FQDN of the master pool. - :vartype fqdn: str - :ivar private_fqdn: The FQDN of private cluster. - :vartype private_fqdn: str - :ivar azure_portal_fqdn: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) - headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. - This special FQDN supports CORS, allowing the Azure Portal to function properly. - :vartype azure_portal_fqdn: str - :param agent_pool_profiles: The agent pool properties. - :type agent_pool_profiles: - list[~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAgentPoolProfile] - :param linux_profile: The profile for Linux VMs in the Managed Cluster. - :type linux_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ContainerServiceLinuxProfile - :param windows_profile: The profile for Windows VMs in the Managed Cluster. - :type windows_profile: - ~azure.mgmt.containerservice.v2021_09_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_09_01.models.ManagedClusterServicePrincipalProfile - :param addon_profiles: The profile of managed cluster add-on. - :type addon_profiles: dict[str, - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAddonProfile] - :param pod_identity_profile: See `use AAD pod identity - `_ for more details on AAD pod - identity integration. - :type pod_identity_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterPodIdentityProfile - :param node_resource_group: The 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: The network configuration profile. - :type network_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ContainerServiceNetworkProfile - :param aad_profile: The Azure Active Directory configuration. - :type aad_profile: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAADProfile - :param auto_upgrade_profile: The auto upgrade configuration. - :type auto_upgrade_profile: - ~azure.mgmt.containerservice.v2021_09_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_09_01.models.ManagedClusterPropertiesAutoScalerProfile - :param api_server_access_profile: The access profile for managed cluster API server. - :type api_server_access_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAPIServerAccessProfile - :param disk_encryption_set_id: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'. - :type disk_encryption_set_id: str - :param identity_profile: Identities associated with the cluster. - :type identity_profile: dict[str, - ~azure.mgmt.containerservice.v2021_09_01.models.UserAssignedIdentity] - :param private_link_resources: Private link resources associated with the cluster. - :type private_link_resources: - list[~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResource] - :param disable_local_accounts: If set to true, getting static credentials will be disabled for - this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details - see `disable local accounts - `_. - :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_09_01.models.ManagedClusterHTTPProxyConfig - :param security_profile: Security profile for the managed cluster. - :type security_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSecurityProfile - :param public_network_access: Default value is 'Enabled' (case insensitive). Could be set to - 'Disabled' to enable private cluster. Possible values include: "Enabled", "Disabled". - :type public_network_access: str or - ~azure.mgmt.containerservice.v2021_09_01.models.PublicNetworkAccess - """ - - _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}'}, - 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, - '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': '{UserAssignedIdentity}'}, - 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, - 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, - 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, - 'security_profile': {'key': 'properties.securityProfile', 'type': 'ManagedClusterSecurityProfile'}, - 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - tags: Optional[Dict[str, str]] = None, - sku: Optional["ManagedClusterSKU"] = None, - extended_location: Optional["ExtendedLocation"] = None, - identity: Optional["ManagedClusterIdentity"] = None, - kubernetes_version: Optional[str] = None, - dns_prefix: Optional[str] = None, - fqdn_subdomain: Optional[str] = None, - agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, - linux_profile: Optional["ContainerServiceLinuxProfile"] = None, - windows_profile: Optional["ManagedClusterWindowsProfile"] = None, - service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, - addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, - pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, - node_resource_group: Optional[str] = None, - enable_rbac: Optional[bool] = None, - enable_pod_security_policy: Optional[bool] = None, - network_profile: Optional["ContainerServiceNetworkProfile"] = None, - aad_profile: Optional["ManagedClusterAADProfile"] = None, - auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, - auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, - api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, - disk_encryption_set_id: Optional[str] = None, - identity_profile: Optional[Dict[str, "UserAssignedIdentity"]] = None, - private_link_resources: Optional[List["PrivateLinkResource"]] = None, - disable_local_accounts: Optional[bool] = None, - http_proxy_config: Optional["ManagedClusterHTTPProxyConfig"] = None, - security_profile: Optional["ManagedClusterSecurityProfile"] = None, - public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, - **kwargs - ): - super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) - self.sku = sku - self.extended_location = extended_location - self.identity = identity - 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.security_profile = security_profile - self.public_network_access = public_network_access - - -class ManagedClusterAADProfile(msrest.serialization.Model): - """For more details see `managed AAD on AKS `_. - - :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_i_ds: The list of AAD group object IDs that will have admin role of - the cluster. - :type admin_group_object_i_ds: 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_i_ds': {'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: Optional[bool] = None, - enable_azure_rbac: Optional[bool] = None, - admin_group_object_i_ds: Optional[List[str]] = None, - client_app_id: Optional[str] = None, - server_app_id: Optional[str] = None, - server_app_secret: Optional[str] = None, - tenant_id: Optional[str] = None, - **kwargs - ): - super(ManagedClusterAADProfile, self).__init__(**kwargs) - self.managed = managed - self.enable_azure_rbac = enable_azure_rbac - self.admin_group_object_i_ds = admin_group_object_i_ds - 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: A set of 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: Optional[Dict[str, str]] = None, - kube_config: Optional[bytearray] = None, - **kwargs - ): - super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) - self.kube_config = kube_config - - -class ManagedClusterAddonProfile(msrest.serialization.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_09_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: Optional[Dict[str, str]] = None, - **kwargs - ): - super(ManagedClusterAddonProfile, self).__init__(**kwargs) - self.enabled = enabled - self.config = config - self.identity = None - - -class UserAssignedIdentity(msrest.serialization.Model): - """Details about a user assigned identity. - - :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: Optional[str] = None, - client_id: Optional[str] = None, - object_id: Optional[str] = None, - **kwargs - ): - 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: Optional[str] = None, - client_id: Optional[str] = None, - object_id: Optional[str] = None, - **kwargs - ): - super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) - - -class ManagedClusterAgentPoolProfileProperties(msrest.serialization.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: VM size availability varies by region. If a node contains insufficient compute - resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted - VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. - :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 the 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: The default is 'Ephemeral' if the VM supports it and has a cache disk - larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed - after creation. For more information see `Ephemeral OS - `_. Possible values - include: "Managed", "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSDiskType - :param kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data - root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.KubeletDiskType - :param workload_runtime: Determines the type of workload a node can run. Possible values - include: "OCIContainer", "WasmWasi". - :type workload_runtime: str or ~azure.mgmt.containerservice.v2021_09_01.models.WorkloadRuntime - :param vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. - If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just - nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type vnet_subnet_id: str - :param pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see - vnetSubnetID for more details). This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type pod_subnet_id: str - :param max_pods: The maximum number of pods that can run on a node. - :type max_pods: int - :param os_type: The operating system type. The default is Linux. Possible values include: - "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. - Possible values include: "Ubuntu", "CBLMariner". - :type os_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSSKU - :param max_count: The maximum number of nodes for auto-scaling. - :type max_count: int - :param min_count: The 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 scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it - defaults to Delete. Possible values include: "Delete", "Deallocate". - :type scale_down_mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.ScaleDownMode - :param type: The type of Agent Pool. Possible values include: "VirtualMachineScaleSets", - "AvailabilitySet". - :type type: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolType - :param mode: A cluster must have at least one 'System' Agent Pool at all times. For additional - information on agent pool restrictions and best practices, see: - https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", - "User". - :type mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolMode - :param orchestrator_version: As a best practice, you should upgrade all node pools in an AKS - cluster to the same Kubernetes version. The node pool version must have the same major version - as the control plane. The node pool minor version must be within two minor versions of the - control plane version. The node pool version cannot be greater than the control plane version. - For more information see `upgrading a node pool - `_. - :type orchestrator_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :param power_state: When an Agent Pool is first created it is initially Running. The Agent Pool - can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and - does not accrue billing charges. An Agent Pool can only be stopped if it is Running and - provisioning state is Succeeded. - :type power_state: ~azure.mgmt.containerservice.v2021_09_01.models.PowerState - :param availability_zones: The list of Availability zones to use for nodes. This can only be - specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :type availability_zones: list[str] - :param enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their - own dedicated public IP addresses. A common scenario is for gaming workloads, where a console - needs to make a direct connection to a cloud virtual machine to minimize hops. For more - information see `assigning a public IP per node - `_. - The default is false. - :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. - :type node_public_ip_prefix_id: str - :param scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the - default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetPriority - :param scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is - 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", - "Deallocate". Default value: "Delete". - :type scale_set_eviction_policy: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetEvictionPolicy - :param spot_max_price: Possible values are any decimal value greater than zero or -1 which - indicates the willingness to pay any on-demand price. For more details on spot pricing, see - `spot VMs pricing `_. - :type spot_max_price: float - :param tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale - set. - :type tags: dict[str, str] - :param node_labels: The node labels to be persisted across all nodes in agent pool. - :type node_labels: dict[str, str] - :param node_taints: The 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: The Kubelet configuration on the agent pool nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2021_09_01.models.KubeletConfig - :param linux_os_config: The OS configuration of Linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2021_09_01.models.LinuxOSConfig - :param enable_encryption_at_host: This is only supported on certain VM sizes and in certain - Azure regions. For more information, see: - https://docs.microsoft.com/azure/aks/enable-host-encryption. - :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD. - :type enable_ultra_ssd: bool - :param enable_fips: See `Add a FIPS-enabled node pool - `_ - for more details. - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_09_01.models.GPUInstanceProfile - :param creation_data: CreationData to be used to specify the source Snapshot ID if the node - pool will be created/upgraded using a snapshot. - :type creation_data: ~azure.mgmt.containerservice.v2021_09_01.models.CreationData - """ - - _validation = { - 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_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'}, - 'workload_runtime': {'key': 'workloadRuntime', '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'}, - 'scale_down_mode': {'key': 'scaleDownMode', 'type': 'str'}, - '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'}, - 'creation_data': {'key': 'creationData', 'type': 'CreationData'}, - } - - def __init__( - self, - *, - count: Optional[int] = None, - vm_size: Optional[str] = None, - os_disk_size_gb: Optional[int] = None, - os_disk_type: Optional[Union[str, "OSDiskType"]] = None, - kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, - workload_runtime: Optional[Union[str, "WorkloadRuntime"]] = None, - vnet_subnet_id: Optional[str] = None, - pod_subnet_id: Optional[str] = None, - max_pods: Optional[int] = None, - os_type: Optional[Union[str, "OSType"]] = "Linux", - os_sku: Optional[Union[str, "OSSKU"]] = None, - max_count: Optional[int] = None, - min_count: Optional[int] = None, - enable_auto_scaling: Optional[bool] = None, - scale_down_mode: Optional[Union[str, "ScaleDownMode"]] = None, - type: Optional[Union[str, "AgentPoolType"]] = None, - mode: Optional[Union[str, "AgentPoolMode"]] = None, - orchestrator_version: Optional[str] = None, - upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, - power_state: Optional["PowerState"] = None, - availability_zones: Optional[List[str]] = None, - enable_node_public_ip: Optional[bool] = None, - node_public_ip_prefix_id: Optional[str] = None, - scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", - scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", - spot_max_price: Optional[float] = -1, - tags: Optional[Dict[str, str]] = None, - node_labels: Optional[Dict[str, str]] = None, - node_taints: Optional[List[str]] = None, - proximity_placement_group_id: Optional[str] = None, - kubelet_config: Optional["KubeletConfig"] = None, - linux_os_config: Optional["LinuxOSConfig"] = None, - enable_encryption_at_host: Optional[bool] = None, - enable_ultra_ssd: Optional[bool] = None, - enable_fips: Optional[bool] = None, - gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, - creation_data: Optional["CreationData"] = None, - **kwargs - ): - 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.workload_runtime = workload_runtime - 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.scale_down_mode = scale_down_mode - 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 = power_state - 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 - self.creation_data = creation_data - - -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: VM size availability varies by region. If a node contains insufficient compute - resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted - VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. - :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 the 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: The default is 'Ephemeral' if the VM supports it and has a cache disk - larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed - after creation. For more information see `Ephemeral OS - `_. Possible values - include: "Managed", "Ephemeral". - :type os_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSDiskType - :param kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data - root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". - :type kubelet_disk_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.KubeletDiskType - :param workload_runtime: Determines the type of workload a node can run. Possible values - include: "OCIContainer", "WasmWasi". - :type workload_runtime: str or ~azure.mgmt.containerservice.v2021_09_01.models.WorkloadRuntime - :param vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. - If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just - nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type vnet_subnet_id: str - :param pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see - vnetSubnetID for more details). This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type pod_subnet_id: str - :param max_pods: The maximum number of pods that can run on a node. - :type max_pods: int - :param os_type: The operating system type. The default is Linux. Possible values include: - "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. - Possible values include: "Ubuntu", "CBLMariner". - :type os_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSSKU - :param max_count: The maximum number of nodes for auto-scaling. - :type max_count: int - :param min_count: The 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 scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it - defaults to Delete. Possible values include: "Delete", "Deallocate". - :type scale_down_mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.ScaleDownMode - :param type: The type of Agent Pool. Possible values include: "VirtualMachineScaleSets", - "AvailabilitySet". - :type type: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolType - :param mode: A cluster must have at least one 'System' Agent Pool at all times. For additional - information on agent pool restrictions and best practices, see: - https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", - "User". - :type mode: str or ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolMode - :param orchestrator_version: As a best practice, you should upgrade all node pools in an AKS - cluster to the same Kubernetes version. The node pool version must have the same major version - as the control plane. The node pool minor version must be within two minor versions of the - control plane version. The node pool version cannot be greater than the control plane version. - For more information see `upgrading a node pool - `_. - :type orchestrator_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :param upgrade_settings: Settings for upgrading the agentpool. - :type upgrade_settings: - ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeSettings - :ivar provisioning_state: The current deployment or provisioning state. - :vartype provisioning_state: str - :param power_state: When an Agent Pool is first created it is initially Running. The Agent Pool - can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and - does not accrue billing charges. An Agent Pool can only be stopped if it is Running and - provisioning state is Succeeded. - :type power_state: ~azure.mgmt.containerservice.v2021_09_01.models.PowerState - :param availability_zones: The list of Availability zones to use for nodes. This can only be - specified if the AgentPoolType property is 'VirtualMachineScaleSets'. - :type availability_zones: list[str] - :param enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their - own dedicated public IP addresses. A common scenario is for gaming workloads, where a console - needs to make a direct connection to a cloud virtual machine to minimize hops. For more - information see `assigning a public IP per node - `_. - The default is false. - :type enable_node_public_ip: bool - :param node_public_ip_prefix_id: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. - :type node_public_ip_prefix_id: str - :param scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the - default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". - :type scale_set_priority: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetPriority - :param scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is - 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", - "Deallocate". Default value: "Delete". - :type scale_set_eviction_policy: str or - ~azure.mgmt.containerservice.v2021_09_01.models.ScaleSetEvictionPolicy - :param spot_max_price: Possible values are any decimal value greater than zero or -1 which - indicates the willingness to pay any on-demand price. For more details on spot pricing, see - `spot VMs pricing `_. - :type spot_max_price: float - :param tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale - set. - :type tags: dict[str, str] - :param node_labels: The node labels to be persisted across all nodes in agent pool. - :type node_labels: dict[str, str] - :param node_taints: The 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: The Kubelet configuration on the agent pool nodes. - :type kubelet_config: ~azure.mgmt.containerservice.v2021_09_01.models.KubeletConfig - :param linux_os_config: The OS configuration of Linux agent nodes. - :type linux_os_config: ~azure.mgmt.containerservice.v2021_09_01.models.LinuxOSConfig - :param enable_encryption_at_host: This is only supported on certain VM sizes and in certain - Azure regions. For more information, see: - https://docs.microsoft.com/azure/aks/enable-host-encryption. - :type enable_encryption_at_host: bool - :param enable_ultra_ssd: Whether to enable UltraSSD. - :type enable_ultra_ssd: bool - :param enable_fips: See `Add a FIPS-enabled node pool - `_ - for more details. - :type enable_fips: bool - :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile - for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". - :type gpu_instance_profile: str or - ~azure.mgmt.containerservice.v2021_09_01.models.GPUInstanceProfile - :param creation_data: CreationData to be used to specify the source Snapshot ID if the node - pool will be created/upgraded using a snapshot. - :type creation_data: ~azure.mgmt.containerservice.v2021_09_01.models.CreationData - :param name: Required. Windows agent pool names must be 6 characters or less. - :type name: str - """ - - _validation = { - 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, - 'node_image_version': {'readonly': True}, - 'provisioning_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'}, - 'workload_runtime': {'key': 'workloadRuntime', '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'}, - 'scale_down_mode': {'key': 'scaleDownMode', 'type': 'str'}, - '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'}, - 'creation_data': {'key': 'creationData', 'type': 'CreationData'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__( - self, - *, - name: str, - count: Optional[int] = None, - vm_size: Optional[str] = None, - os_disk_size_gb: Optional[int] = None, - os_disk_type: Optional[Union[str, "OSDiskType"]] = None, - kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, - workload_runtime: Optional[Union[str, "WorkloadRuntime"]] = None, - vnet_subnet_id: Optional[str] = None, - pod_subnet_id: Optional[str] = None, - max_pods: Optional[int] = None, - os_type: Optional[Union[str, "OSType"]] = "Linux", - os_sku: Optional[Union[str, "OSSKU"]] = None, - max_count: Optional[int] = None, - min_count: Optional[int] = None, - enable_auto_scaling: Optional[bool] = None, - scale_down_mode: Optional[Union[str, "ScaleDownMode"]] = None, - type: Optional[Union[str, "AgentPoolType"]] = None, - mode: Optional[Union[str, "AgentPoolMode"]] = None, - orchestrator_version: Optional[str] = None, - upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, - power_state: Optional["PowerState"] = None, - availability_zones: Optional[List[str]] = None, - enable_node_public_ip: Optional[bool] = None, - node_public_ip_prefix_id: Optional[str] = None, - scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", - scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", - spot_max_price: Optional[float] = -1, - tags: Optional[Dict[str, str]] = None, - node_labels: Optional[Dict[str, str]] = None, - node_taints: Optional[List[str]] = None, - proximity_placement_group_id: Optional[str] = None, - kubelet_config: Optional["KubeletConfig"] = None, - linux_os_config: Optional["LinuxOSConfig"] = None, - enable_encryption_at_host: Optional[bool] = None, - enable_ultra_ssd: Optional[bool] = None, - enable_fips: Optional[bool] = None, - gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, - creation_data: Optional["CreationData"] = None, - **kwargs - ): - 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, workload_runtime=workload_runtime, 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, scale_down_mode=scale_down_mode, type=type, mode=mode, orchestrator_version=orchestrator_version, upgrade_settings=upgrade_settings, power_state=power_state, 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, creation_data=creation_data, **kwargs) - self.name = name - - -class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): - """Access profile for managed cluster API server. - - :param authorized_ip_ranges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. - This feature is not compatible with clusters that use Public IP Per Node, or clusters that are - using a Basic Load Balancer. For more information see `API server authorized IP ranges - `_. - :type authorized_ip_ranges: list[str] - :param enable_private_cluster: For more details, see `Creating a private AKS cluster - `_. - :type enable_private_cluster: bool - :param private_dns_zone: The default is System. For more details see `configure private DNS - zone `_. - Allowed values are 'system' and 'none'. - :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 - :param disable_run_command: Whether to disable run command for the cluster or not. - :type disable_run_command: 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'}, - 'disable_run_command': {'key': 'disableRunCommand', 'type': 'bool'}, - } - - def __init__( - self, - *, - authorized_ip_ranges: Optional[List[str]] = None, - enable_private_cluster: Optional[bool] = None, - private_dns_zone: Optional[str] = None, - enable_private_cluster_public_fqdn: Optional[bool] = None, - disable_run_command: Optional[bool] = None, - **kwargs - ): - 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 - self.disable_run_command = disable_run_command - - -class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): - """Auto upgrade profile for a managed cluster. - - :param upgrade_channel: For more information see `setting the AKS cluster auto-upgrade channel - `_. Possible - values include: "rapid", "stable", "patch", "node-image", "none". - :type upgrade_channel: str or ~azure.mgmt.containerservice.v2021_09_01.models.UpgradeChannel - """ - - _attribute_map = { - 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, - } - - def __init__( - self, - *, - upgrade_channel: Optional[Union[str, "UpgradeChannel"]] = None, - **kwargs - ): - super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) - self.upgrade_channel = upgrade_channel - - -class ManagedClusterHTTPProxyConfig(msrest.serialization.Model): - """Cluster HTTP proxy configuration. - - :param http_proxy: The HTTP proxy server endpoint to use. - :type http_proxy: str - :param https_proxy: The HTTPS proxy server endpoint to use. - :type https_proxy: str - :param no_proxy: The 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: Optional[str] = None, - https_proxy: Optional[str] = None, - no_proxy: Optional[List[str]] = None, - trusted_ca: Optional[str] = None, - **kwargs - ): - 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(msrest.serialization.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: For more information see `use managed identities in AKS - `_. Possible values include: - "SystemAssigned", "UserAssigned", "None". - :type type: str or ~azure.mgmt.containerservice.v2021_09_01.models.ResourceIdentityType - :param user_assigned_identities: The keys must 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_09_01.models.ManagedServiceIdentityUserAssignedIdentitiesValue] - """ - - _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': 'str'}, - 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, - } - - def __init__( - self, - *, - type: Optional[Union[str, "ResourceIdentityType"]] = None, - user_assigned_identities: Optional[Dict[str, "ManagedServiceIdentityUserAssignedIdentitiesValue"]] = None, - **kwargs - ): - super(ManagedClusterIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = type - self.user_assigned_identities = user_assigned_identities - - -class ManagedClusterListResult(msrest.serialization.Model): - """The response from the List Managed Clusters operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of managed clusters. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster] - :ivar next_link: The URL to get the next set of managed cluster results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ManagedCluster]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["ManagedCluster"]] = None, - **kwargs - ): - super(ManagedClusterListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class ManagedClusterLoadBalancerProfile(msrest.serialization.Model): - """Profile of the managed cluster load balancer. - - :param managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. - :type managed_outbound_i_ps: - ~azure.mgmt.containerservice.v2021_09_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_09_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes - :param outbound_i_ps: Desired outbound IP resources for the cluster load balancer. - :type outbound_i_ps: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterLoadBalancerProfileOutboundIPs - :param effective_outbound_i_ps: The effective outbound IP resources of the cluster load - balancer. - :type effective_outbound_i_ps: - list[~azure.mgmt.containerservice.v2021_09_01.models.ResourceReference] - :param allocated_outbound_ports: The desired number of allocated SNAT ports per VM. Allowed - values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in - Azure dynamically allocating ports. - :type allocated_outbound_ports: int - :param idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values - are in the range of 4 to 120 (inclusive). The default value is 30 minutes. - :type idle_timeout_in_minutes: int - :param enable_multiple_standard_load_balancers: Enable multiple standard load balancers per AKS - cluster or not. - :type enable_multiple_standard_load_balancers: bool - """ - - _validation = { - 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, - 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, - } - - _attribute_map = { - 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, - 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, - 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, - 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, - 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, - 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, - 'enable_multiple_standard_load_balancers': {'key': 'enableMultipleStandardLoadBalancers', 'type': 'bool'}, - } - - def __init__( - self, - *, - managed_outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileManagedOutboundIPs"] = None, - outbound_ip_prefixes: Optional["ManagedClusterLoadBalancerProfileOutboundIPPrefixes"] = None, - outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileOutboundIPs"] = None, - effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, - allocated_outbound_ports: Optional[int] = 0, - idle_timeout_in_minutes: Optional[int] = 30, - enable_multiple_standard_load_balancers: Optional[bool] = None, - **kwargs - ): - super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) - self.managed_outbound_i_ps = managed_outbound_i_ps - self.outbound_ip_prefixes = outbound_ip_prefixes - self.outbound_i_ps = outbound_i_ps - self.effective_outbound_i_ps = effective_outbound_i_ps - self.allocated_outbound_ports = allocated_outbound_ports - self.idle_timeout_in_minutes = idle_timeout_in_minutes - self.enable_multiple_standard_load_balancers = enable_multiple_standard_load_balancers - - -class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.Model): - """Desired managed outbound IPs for the cluster load balancer. - - :param count: The desired number of outbound IPs 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. - :type count: int - """ - - _validation = { - 'count': {'maximum': 100, 'minimum': 1}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - } - - def __init__( - self, - *, - count: Optional[int] = 1, - **kwargs - ): - super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) - self.count = count - - -class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.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_09_01.models.ResourceReference] - """ - - _attribute_map = { - 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, - } - - def __init__( - self, - *, - public_ip_prefixes: Optional[List["ResourceReference"]] = None, - **kwargs - ): - super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) - self.public_ip_prefixes = public_ip_prefixes - - -class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.Model): - """Desired outbound IP resources for the cluster load balancer. - - :param public_i_ps: A list of public IP resources. - :type public_i_ps: list[~azure.mgmt.containerservice.v2021_09_01.models.ResourceReference] - """ - - _attribute_map = { - 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, - } - - def __init__( - self, - *, - public_i_ps: Optional[List["ResourceReference"]] = None, - **kwargs - ): - super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) - self.public_i_ps = public_i_ps - - -class ManagedClusterManagedOutboundIPProfile(msrest.serialization.Model): - """Profile of the managed outbound IP resources of the managed cluster. - - :param count: The desired number of outbound IPs created/managed by Azure. Allowed values must - be in the range of 1 to 16 (inclusive). The default value is 1. - :type count: int - """ - - _validation = { - 'count': {'maximum': 16, 'minimum': 1}, - } - - _attribute_map = { - 'count': {'key': 'count', 'type': 'int'}, - } - - def __init__( - self, - *, - count: Optional[int] = 1, - **kwargs - ): - super(ManagedClusterManagedOutboundIPProfile, self).__init__(**kwargs) - self.count = count - - -class ManagedClusterNATGatewayProfile(msrest.serialization.Model): - """Profile of the managed cluster NAT gateway. - - :param managed_outbound_ip_profile: Profile of the managed outbound IP resources of the cluster - NAT gateway. - :type managed_outbound_ip_profile: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterManagedOutboundIPProfile - :param effective_outbound_i_ps: The effective outbound IP resources of the cluster NAT gateway. - :type effective_outbound_i_ps: - list[~azure.mgmt.containerservice.v2021_09_01.models.ResourceReference] - :param idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values - are in the range of 4 to 120 (inclusive). The default value is 4 minutes. - :type idle_timeout_in_minutes: int - """ - - _validation = { - 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, - } - - _attribute_map = { - 'managed_outbound_ip_profile': {'key': 'managedOutboundIPProfile', 'type': 'ManagedClusterManagedOutboundIPProfile'}, - 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, - 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, - } - - def __init__( - self, - *, - managed_outbound_ip_profile: Optional["ManagedClusterManagedOutboundIPProfile"] = None, - effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, - idle_timeout_in_minutes: Optional[int] = 4, - **kwargs - ): - super(ManagedClusterNATGatewayProfile, self).__init__(**kwargs) - self.managed_outbound_ip_profile = managed_outbound_ip_profile - self.effective_outbound_i_ps = effective_outbound_i_ps - self.idle_timeout_in_minutes = idle_timeout_in_minutes - - -class ManagedClusterPodIdentity(msrest.serialization.Model): - """Details about the pod identity assigned to the 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 name: Required. The name of the pod identity. - :type name: str - :param namespace: Required. The namespace of the pod identity. - :type namespace: str - :param binding_selector: The binding selector to use for the AzureIdentityBinding resource. - :type binding_selector: str - :param identity: Required. The user assigned identity details. - :type identity: ~azure.mgmt.containerservice.v2021_09_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_09_01.models.ManagedClusterPodIdentityProvisioningState - :ivar provisioning_info: - :vartype provisioning_info: - ~azure.mgmt.containerservice.v2021_09_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: "UserAssignedIdentity", - binding_selector: Optional[str] = None, - **kwargs - ): - 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(msrest.serialization.Model): - """See `disable AAD Pod Identity for a specific Pod/Application `_ for more details. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The name of the pod identity exception. - :type name: str - :param namespace: Required. The namespace of the pod identity exception. - :type namespace: str - :param pod_labels: Required. The 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: Dict[str, str], - **kwargs - ): - super(ManagedClusterPodIdentityException, self).__init__(**kwargs) - self.name = name - self.namespace = namespace - self.pod_labels = pod_labels - - -class ManagedClusterPodIdentityProfile(msrest.serialization.Model): - """See `use AAD pod identity `_ for more details on pod identity integration. - - :param enabled: Whether the pod identity addon is enabled. - :type enabled: bool - :param allow_network_plugin_kubenet: Running in Kubenet is disabled by default due to the - security related nature of AAD Pod Identity and the risks of IP spoofing. See `using Kubenet - network plugin with AAD Pod Identity - `_ - for more information. - :type allow_network_plugin_kubenet: bool - :param user_assigned_identities: The pod identities to use in the cluster. - :type user_assigned_identities: - list[~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterPodIdentity] - :param user_assigned_identity_exceptions: The pod identity exceptions to allow. - :type user_assigned_identity_exceptions: - list[~azure.mgmt.containerservice.v2021_09_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: Optional[bool] = None, - allow_network_plugin_kubenet: Optional[bool] = None, - user_assigned_identities: Optional[List["ManagedClusterPodIdentity"]] = None, - user_assigned_identity_exceptions: Optional[List["ManagedClusterPodIdentityException"]] = None, - **kwargs - ): - 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 ManagedClusterPodIdentityProvisioningError(msrest.serialization.Model): - """An error response from the pod identity provisioning. - - :param error: Details about the error. - :type error: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterPodIdentityProvisioningErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ManagedClusterPodIdentityProvisioningErrorBody'}, - } - - def __init__( - self, - *, - error: Optional["ManagedClusterPodIdentityProvisioningErrorBody"] = None, - **kwargs - ): - super(ManagedClusterPodIdentityProvisioningError, self).__init__(**kwargs) - self.error = error - - -class ManagedClusterPodIdentityProvisioningErrorBody(msrest.serialization.Model): - """An error response from the pod identity provisioning. - - :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_09_01.models.ManagedClusterPodIdentityProvisioningErrorBody] - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[ManagedClusterPodIdentityProvisioningErrorBody]'}, - } - - def __init__( - self, - *, - code: Optional[str] = None, - message: Optional[str] = None, - target: Optional[str] = None, - details: Optional[List["ManagedClusterPodIdentityProvisioningErrorBody"]] = None, - **kwargs - ): - super(ManagedClusterPodIdentityProvisioningErrorBody, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - - -class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): - """ManagedClusterPodIdentityProvisioningInfo. - - :param error: Pod identity assignment error (if any). - :type error: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterPodIdentityProvisioningError - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ManagedClusterPodIdentityProvisioningError'}, - } - - def __init__( - self, - *, - error: Optional["ManagedClusterPodIdentityProvisioningError"] = None, - **kwargs - ): - super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) - self.error = error - - -class ManagedClusterPoolUpgradeProfile(msrest.serialization.Model): - """The list of available upgrade versions. - - All required parameters must be populated in order to send to Azure. - - :param kubernetes_version: Required. The Kubernetes version (major.minor.patch). - :type kubernetes_version: str - :param name: The Agent Pool name. - :type name: str - :param os_type: Required. The operating system type. The default is Linux. Possible values - include: "Linux", "Windows". Default value: "Linux". - :type os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :param upgrades: List of orchestrator types and versions available for upgrade. - :type upgrades: - list[~azure.mgmt.containerservice.v2021_09_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, - os_type: Union[str, "OSType"] = "Linux", - name: Optional[str] = None, - upgrades: Optional[List["ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, - **kwargs - ): - super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) - self.kubernetes_version = kubernetes_version - self.name = name - self.os_type = os_type - self.upgrades = upgrades - - -class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): - """ManagedClusterPoolUpgradeProfileUpgradesItem. - - :param kubernetes_version: The Kubernetes version (major.minor.patch). - :type kubernetes_version: str - :param is_preview: Whether the 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: Optional[str] = None, - is_preview: Optional[bool] = None, - **kwargs - ): - super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) - self.kubernetes_version = kubernetes_version - self.is_preview = is_preview - - -class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): - """Parameters to be applied to the cluster-autoscaler when enabled. - - :param balance_similar_node_groups: Valid values are 'true' and 'false'. - :type balance_similar_node_groups: str - :param expander: If not specified, the default is 'random'. See `expanders - `_ - for more information. Possible values include: "least-waste", "most-pods", "priority", - "random". - :type expander: str or ~azure.mgmt.containerservice.v2021_09_01.models.Expander - :param max_empty_bulk_delete: The default is 10. - :type max_empty_bulk_delete: str - :param max_graceful_termination_sec: The default is 600. - :type max_graceful_termination_sec: str - :param max_node_provision_time: The default is '15m'. Values must be an integer followed by an - 'm'. No unit of time other than minutes (m) is supported. - :type max_node_provision_time: str - :param max_total_unready_percentage: The default is 45. The maximum is 100 and the minimum is - 0. - :type max_total_unready_percentage: str - :param new_pod_scale_up_delay: For scenarios like burst/batch scale where you don't want CA to - act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore - unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer - followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - :type new_pod_scale_up_delay: str - :param ok_total_unready_count: This must be an integer. The default is 3. - :type ok_total_unready_count: str - :param scan_interval: The default is '10'. Values must be an integer number of seconds. - :type scan_interval: str - :param scale_down_delay_after_add: The default is '10m'. Values must be an integer followed by - an 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_delay_after_add: str - :param scale_down_delay_after_delete: The default is the scan-interval. Values must be an - integer followed by an 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_delay_after_delete: str - :param scale_down_delay_after_failure: The default is '3m'. Values must be an integer followed - by an 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_delay_after_failure: str - :param scale_down_unneeded_time: The default is '10m'. Values must be an integer followed by an - 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_unneeded_time: str - :param scale_down_unready_time: The default is '20m'. Values must be an integer followed by an - 'm'. No unit of time other than minutes (m) is supported. - :type scale_down_unready_time: str - :param scale_down_utilization_threshold: The default is '0.5'. - :type scale_down_utilization_threshold: str - :param skip_nodes_with_local_storage: The default is true. - :type skip_nodes_with_local_storage: str - :param skip_nodes_with_system_pods: The default is true. - :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: Optional[str] = None, - expander: Optional[Union[str, "Expander"]] = None, - max_empty_bulk_delete: Optional[str] = None, - max_graceful_termination_sec: Optional[str] = None, - max_node_provision_time: Optional[str] = None, - max_total_unready_percentage: Optional[str] = None, - new_pod_scale_up_delay: Optional[str] = None, - ok_total_unready_count: Optional[str] = None, - scan_interval: Optional[str] = None, - scale_down_delay_after_add: Optional[str] = None, - scale_down_delay_after_delete: Optional[str] = None, - scale_down_delay_after_failure: Optional[str] = None, - scale_down_unneeded_time: Optional[str] = None, - scale_down_unready_time: Optional[str] = None, - scale_down_utilization_threshold: Optional[str] = None, - skip_nodes_with_local_storage: Optional[str] = None, - skip_nodes_with_system_pods: Optional[str] = None, - **kwargs - ): - 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 ManagedClusterSecurityProfile(msrest.serialization.Model): - """Security profile for the container service cluster. - - :param azure_defender: Azure Defender settings for the security profile. - :type azure_defender: - ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSecurityProfileAzureDefender - """ - - _attribute_map = { - 'azure_defender': {'key': 'azureDefender', 'type': 'ManagedClusterSecurityProfileAzureDefender'}, - } - - def __init__( - self, - *, - azure_defender: Optional["ManagedClusterSecurityProfileAzureDefender"] = None, - **kwargs - ): - super(ManagedClusterSecurityProfile, self).__init__(**kwargs) - self.azure_defender = azure_defender - - -class ManagedClusterSecurityProfileAzureDefender(msrest.serialization.Model): - """Azure Defender settings for the security profile. - - :param enabled: Whether to enable Azure Defender. - :type enabled: bool - :param log_analytics_workspace_resource_id: Resource ID of the Log Analytics workspace to be - associated with Azure Defender. When Azure Defender is enabled, this field is required and - must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty. - :type log_analytics_workspace_resource_id: str - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'log_analytics_workspace_resource_id': {'key': 'logAnalyticsWorkspaceResourceId', 'type': 'str'}, - } - - def __init__( - self, - *, - enabled: Optional[bool] = None, - log_analytics_workspace_resource_id: Optional[str] = None, - **kwargs - ): - super(ManagedClusterSecurityProfileAzureDefender, self).__init__(**kwargs) - self.enabled = enabled - self.log_analytics_workspace_resource_id = log_analytics_workspace_resource_id - - -class ManagedClusterServicePrincipalProfile(msrest.serialization.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: Optional[str] = None, - **kwargs - ): - super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) - self.client_id = client_id - self.secret = secret - - -class ManagedClusterSKU(msrest.serialization.Model): - """The SKU of a Managed Cluster. - - :param name: The name of a managed cluster SKU. Possible values include: "Basic". - :type name: str or ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSKUName - :param tier: If not specified, the default is 'Free'. See `uptime SLA - `_ for more details. Possible values include: - "Paid", "Free". - :type tier: str or ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterSKUTier - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Optional[Union[str, "ManagedClusterSKUName"]] = None, - tier: Optional[Union[str, "ManagedClusterSKUTier"]] = None, - **kwargs - ): - super(ManagedClusterSKU, self).__init__(**kwargs) - self.name = name - self.tier = tier - - -class ManagedClusterUpgradeProfile(msrest.serialization.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: The ID of the upgrade profile. - :vartype id: str - :ivar name: The name of the upgrade profile. - :vartype name: str - :ivar type: The type of the 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_09_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_09_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: "ManagedClusterPoolUpgradeProfile", - agent_pool_profiles: List["ManagedClusterPoolUpgradeProfile"], - **kwargs - ): - 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(msrest.serialization.Model): - """Profile for Windows VMs in the managed cluster. - - All required parameters must be populated in order to send to Azure. - - :param admin_username: Required. Specifies the name of the administrator account. - :code:`
`:code:`
` **Restriction:** Cannot end in "." :code:`
`:code:`
` - **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". :code:`
`:code:`
` **Minimum-length:** 1 - character :code:`
`:code:`
` **Max-length:** 20 characters. - :type admin_username: str - :param admin_password: Specifies the password of the administrator account. - :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` - **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 - conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper - characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) - :code:`
`:code:`
` **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 license type to use for Windows VMs. See `Azure Hybrid User Benefits - `_ for more details. Possible values - include: "None", "Windows_Server". - :type license_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.LicenseType - :param enable_csi_proxy: For more details on CSI proxy, see the `CSI proxy GitHub repo - `_. - :type enable_csi_proxy: bool - :param gmsa_profile: The Windows gMSA Profile in the Managed Cluster. - :type gmsa_profile: ~azure.mgmt.containerservice.v2021_09_01.models.WindowsGmsaProfile - """ - - _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'}, - 'gmsa_profile': {'key': 'gmsaProfile', 'type': 'WindowsGmsaProfile'}, - } - - def __init__( - self, - *, - admin_username: str, - admin_password: Optional[str] = None, - license_type: Optional[Union[str, "LicenseType"]] = None, - enable_csi_proxy: Optional[bool] = None, - gmsa_profile: Optional["WindowsGmsaProfile"] = None, - **kwargs - ): - 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 - self.gmsa_profile = gmsa_profile - - -class ManagedServiceIdentityUserAssignedIdentitiesValue(msrest.serialization.Model): - """ManagedServiceIdentityUserAssignedIdentitiesValue. - - 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) - self.principal_id = None - self.client_id = None - - -class OperationListResult(msrest.serialization.Model): - """The List Operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: The list of operations. - :vartype value: list[~azure.mgmt.containerservice.v2021_09_01.models.OperationValue] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationValue]'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationListResult, self).__init__(**kwargs) - self.value = None - - -class OperationValue(msrest.serialization.Model): - """Describes the properties of a Operation value. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar origin: The origin of the operation. - :vartype origin: str - :ivar name: The name of the operation. - :vartype name: str - :ivar operation: The display name of the 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(msrest.serialization.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: The ID of the OS option resource. - :vartype id: str - :ivar name: The name of the OS option resource. - :vartype name: str - :ivar type: The type of the OS option resource. - :vartype type: str - :param os_option_property_list: Required. The list of OS options. - :type os_option_property_list: - list[~azure.mgmt.containerservice.v2021_09_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: List["OSOptionProperty"], - **kwargs - ): - 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(msrest.serialization.Model): - """OS option property. - - All required parameters must be populated in order to send to Azure. - - :param os_type: Required. The OS type. - :type os_type: str - :param enable_fips_image: Required. Whether the image is FIPS-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 - ): - super(OSOptionProperty, self).__init__(**kwargs) - self.os_type = os_type - self.enable_fips_image = enable_fips_image - - -class OutboundEnvironmentEndpoint(msrest.serialization.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_09_01.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 OutboundEnvironmentEndpointCollection(msrest.serialization.Model): - """Collection of OutboundEnvironmentEndpoint. - - 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[~azure.mgmt.containerservice.v2021_09_01.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(OutboundEnvironmentEndpointCollection, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class PowerState(msrest.serialization.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_09_01.models.Code - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - } - - def __init__( - self, - *, - code: Optional[Union[str, "Code"]] = None, - **kwargs - ): - super(PowerState, self).__init__(**kwargs) - self.code = code - - -class PrivateEndpoint(msrest.serialization.Model): - """Private endpoint which a connection belongs to. - - :param id: The resource ID of the private endpoint. - :type id: str - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - *, - id: Optional[str] = None, - **kwargs - ): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = id - - -class PrivateEndpointConnection(msrest.serialization.Model): - """A private endpoint connection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :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_09_01.models.PrivateEndpointConnectionProvisioningState - :param private_endpoint: The resource of private endpoint. - :type private_endpoint: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpoint - :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_09_01.models.PrivateLinkServiceConnectionState - """ - - _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'}, - '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_endpoint: Optional["PrivateEndpoint"] = None, - private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, - **kwargs - ): - 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(msrest.serialization.Model): - """A list of private endpoint connections. - - :param value: The collection value. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__( - self, - *, - value: Optional[List["PrivateEndpointConnection"]] = None, - **kwargs - ): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkResource(msrest.serialization.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: The 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: Optional[str] = None, - name: Optional[str] = None, - type: Optional[str] = None, - group_id: Optional[str] = None, - required_members: Optional[List[str]] = None, - **kwargs - ): - 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(msrest.serialization.Model): - """A list of private link resources. - - :param value: The collection value. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__( - self, - *, - value: Optional[List["PrivateLinkResource"]] = None, - **kwargs - ): - super(PrivateLinkResourcesListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkServiceConnectionState(msrest.serialization.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_09_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: Optional[Union[str, "ConnectionStatus"]] = None, - description: Optional[str] = None, - **kwargs - ): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - - -class ResourceReference(msrest.serialization.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: Optional[str] = None, - **kwargs - ): - super(ResourceReference, self).__init__(**kwargs) - self.id = id - - -class RunCommandRequest(msrest.serialization.Model): - """A run command request. - - All required parameters must be populated in order to send to Azure. - - :param command: Required. The command to run. - :type command: str - :param context: A base64 encoded zip file containing the 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: Optional[str] = None, - cluster_token: Optional[str] = None, - **kwargs - ): - super(RunCommandRequest, self).__init__(**kwargs) - self.command = command - self.context = context - self.cluster_token = cluster_token - - -class RunCommandResult(msrest.serialization.Model): - """run command result. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The command id. - :vartype id: str - :ivar provisioning_state: provisioning State. - :vartype provisioning_state: str - :ivar exit_code: The exit code of the command. - :vartype exit_code: int - :ivar started_at: The time when the command started. - :vartype started_at: ~datetime.datetime - :ivar finished_at: The time when the command finished. - :vartype finished_at: ~datetime.datetime - :ivar logs: The command output. - :vartype logs: str - :ivar reason: An explanation of 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 Snapshot(Resource): - """A node pool snapshot resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource Id. - :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: A set of tags. Resource tags. - :type tags: dict[str, str] - :ivar system_data: The system metadata relating to this snapshot. - :vartype system_data: ~azure.mgmt.containerservice.v2021_09_01.models.SystemData - :param creation_data: CreationData to be used to specify the source agent pool resource ID to - create this snapshot. - :type creation_data: ~azure.mgmt.containerservice.v2021_09_01.models.CreationData - :param snapshot_type: The type of a snapshot. The default is NodePool. Possible values include: - "NodePool". Default value: "NodePool". - :type snapshot_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.SnapshotType - :ivar kubernetes_version: The version of Kubernetes. - :vartype kubernetes_version: str - :ivar node_image_version: The version of node image. - :vartype node_image_version: str - :ivar os_type: The operating system type. The default is Linux. Possible values include: - "Linux", "Windows". Default value: "Linux". - :vartype os_type: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSType - :ivar os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. - Possible values include: "Ubuntu", "CBLMariner". - :vartype os_sku: str or ~azure.mgmt.containerservice.v2021_09_01.models.OSSKU - :ivar vm_size: The size of the VM. - :vartype vm_size: str - :ivar enable_fips: Whether to use a FIPS-enabled OS. - :vartype enable_fips: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'system_data': {'readonly': True}, - 'kubernetes_version': {'readonly': True}, - 'node_image_version': {'readonly': True}, - 'os_type': {'readonly': True}, - 'os_sku': {'readonly': True}, - 'vm_size': {'readonly': True}, - 'enable_fips': {'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}'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, - 'snapshot_type': {'key': 'properties.snapshotType', 'type': 'str'}, - 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, - 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, - 'os_type': {'key': 'properties.osType', 'type': 'str'}, - 'os_sku': {'key': 'properties.osSku', 'type': 'str'}, - 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, - 'enable_fips': {'key': 'properties.enableFIPS', 'type': 'bool'}, - } - - def __init__( - self, - *, - location: str, - tags: Optional[Dict[str, str]] = None, - creation_data: Optional["CreationData"] = None, - snapshot_type: Optional[Union[str, "SnapshotType"]] = "NodePool", - **kwargs - ): - super(Snapshot, self).__init__(location=location, tags=tags, **kwargs) - self.system_data = None - self.creation_data = creation_data - self.snapshot_type = snapshot_type - self.kubernetes_version = None - self.node_image_version = None - self.os_type = None - self.os_sku = None - self.vm_size = None - self.enable_fips = None - - -class SnapshotListResult(msrest.serialization.Model): - """The response from the List Snapshots operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: The list of snapshots. - :type value: list[~azure.mgmt.containerservice.v2021_09_01.models.Snapshot] - :ivar next_link: The URL to get the next set of snapshot results. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Snapshot]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - *, - value: Optional[List["Snapshot"]] = None, - **kwargs - ): - super(SnapshotListResult, self).__init__(**kwargs) - self.value = value - self.next_link = None - - -class SysctlConfig(msrest.serialization.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: Optional[int] = None, - net_core_netdev_max_backlog: Optional[int] = None, - net_core_rmem_default: Optional[int] = None, - net_core_rmem_max: Optional[int] = None, - net_core_wmem_default: Optional[int] = None, - net_core_wmem_max: Optional[int] = None, - net_core_optmem_max: Optional[int] = None, - net_ipv4_tcp_max_syn_backlog: Optional[int] = None, - net_ipv4_tcp_max_tw_buckets: Optional[int] = None, - net_ipv4_tcp_fin_timeout: Optional[int] = None, - net_ipv4_tcp_keepalive_time: Optional[int] = None, - net_ipv4_tcp_keepalive_probes: Optional[int] = None, - net_ipv4_tcpkeepalive_intvl: Optional[int] = None, - net_ipv4_tcp_tw_reuse: Optional[bool] = None, - net_ipv4_ip_local_port_range: Optional[str] = None, - net_ipv4_neigh_default_gc_thresh1: Optional[int] = None, - net_ipv4_neigh_default_gc_thresh2: Optional[int] = None, - net_ipv4_neigh_default_gc_thresh3: Optional[int] = None, - net_netfilter_nf_conntrack_max: Optional[int] = None, - net_netfilter_nf_conntrack_buckets: Optional[int] = None, - fs_inotify_max_user_watches: Optional[int] = None, - fs_file_max: Optional[int] = None, - fs_aio_max_nr: Optional[int] = None, - fs_nr_open: Optional[int] = None, - kernel_threads_max: Optional[int] = None, - vm_max_map_count: Optional[int] = None, - vm_swappiness: Optional[int] = None, - vm_vfs_cache_pressure: Optional[int] = None, - **kwargs - ): - 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(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.mgmt.containerservice.v2021_09_01.models.CreatedByType - :param created_at: The UTC timestamp of resource creation. - :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.mgmt.containerservice.v2021_09_01.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 TagsObject(msrest.serialization.Model): - """Tags object 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(TagsObject, self).__init__(**kwargs) - self.tags = tags - - -class TimeInWeek(msrest.serialization.Model): - """Time in a week. - - :param day: The day of the week. Possible values include: "Sunday", "Monday", "Tuesday", - "Wednesday", "Thursday", "Friday", "Saturday". - :type day: str or ~azure.mgmt.containerservice.v2021_09_01.models.WeekDay - :param hour_slots: Each integer hour represents a time range beginning at 0m after the hour - ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 - UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. - :type hour_slots: list[int] - """ - - _attribute_map = { - 'day': {'key': 'day', 'type': 'str'}, - 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, - } - - def __init__( - self, - *, - day: Optional[Union[str, "WeekDay"]] = None, - hour_slots: Optional[List[int]] = None, - **kwargs - ): - super(TimeInWeek, self).__init__(**kwargs) - self.day = day - self.hour_slots = hour_slots - - -class TimeSpan(msrest.serialization.Model): - """For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. - - :param start: The start of a time span. - :type start: ~datetime.datetime - :param end: The end of a time span. - :type end: ~datetime.datetime - """ - - _attribute_map = { - 'start': {'key': 'start', 'type': 'iso-8601'}, - 'end': {'key': 'end', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - start: Optional[datetime.datetime] = None, - end: Optional[datetime.datetime] = None, - **kwargs - ): - super(TimeSpan, self).__init__(**kwargs) - self.start = start - self.end = end - - -class WindowsGmsaProfile(msrest.serialization.Model): - """Windows gMSA Profile in the managed cluster. - - :param enabled: Specifies whether to enable Windows gMSA in the managed cluster. - :type enabled: bool - :param dns_server: Specifies the DNS server for Windows gMSA. :code:`
`:code:`
` Set it - to empty if you have configured the DNS server in the vnet which is used to create the managed - cluster. - :type dns_server: str - :param root_domain_name: Specifies the root domain name for Windows gMSA. - :code:`
`:code:`
` Set it to empty if you have configured the DNS server in the vnet - which is used to create the managed cluster. - :type root_domain_name: str - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'dns_server': {'key': 'dnsServer', 'type': 'str'}, - 'root_domain_name': {'key': 'rootDomainName', 'type': 'str'}, - } - - def __init__( - self, - *, - enabled: Optional[bool] = None, - dns_server: Optional[str] = None, - root_domain_name: Optional[str] = None, - **kwargs - ): - super(WindowsGmsaProfile, self).__init__(**kwargs) - self.enabled = enabled - self.dns_server = dns_server - self.root_domain_name = root_domain_name diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_resolve_private_link_service_id_operations.py deleted file mode 100755 index fb9cb7ac655..00000000000 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_resolve_private_link_service_id_operations.py +++ /dev/null @@ -1,114 +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 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 as _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 ResolvePrivateLinkServiceIdOperations(object): - """ResolvePrivateLinkServiceIdOperations 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.containerservice.v2021_09_01.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 post( - self, - resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.PrivateLinkResource" - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateLinkResource" - """Gets the private link service ID for the specified managed cluster. - - Gets the private link service ID for 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 required in order to resolve a private link service ID. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResource - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkResource, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResource - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.post.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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(parameters, 'PrivateLinkResource') - 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('PrivateLinkResource', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/__init__.py new file mode 100644 index 00000000000..53c675bd95e --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._container_service_client import ContainerServiceClient +__all__ = ['ContainerServiceClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_configuration.py old mode 100755 new mode 100644 similarity index 86% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/_configuration.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_configuration.py index 94fa86d82cb..01cca1716e1 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/_configuration.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_configuration.py @@ -6,16 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +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 azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential VERSION = "unknown" @@ -34,20 +32,19 @@ class ContainerServiceClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(ContainerServiceClientConfiguration, self).__init__(**kwargs) 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-09-01" + self.api_version = "2022-01-02-preview" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.format(VERSION)) self._configure(**kwargs) @@ -67,4 +64,4 @@ def _configure( 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) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_container_service_client.py new file mode 100644 index 00000000000..2c505c677eb --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_container_service_client.py @@ -0,0 +1,122 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import ContainerServiceClientConfiguration +from .operations import AgentPoolsOperations, MaintenanceConfigurationsOperations, ManagedClustersOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, ResolvePrivateLinkServiceIdOperations, SnapshotsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class ContainerServiceClient: + """The Container Service Client. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.containerservice.v2022_01_02_preview.operations.Operations + :ivar managed_clusters: ManagedClustersOperations operations + :vartype managed_clusters: + azure.mgmt.containerservice.v2022_01_02_preview.operations.ManagedClustersOperations + :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations + :vartype maintenance_configurations: + azure.mgmt.containerservice.v2022_01_02_preview.operations.MaintenanceConfigurationsOperations + :ivar agent_pools: AgentPoolsOperations operations + :vartype agent_pools: + azure.mgmt.containerservice.v2022_01_02_preview.operations.AgentPoolsOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: + azure.mgmt.containerservice.v2022_01_02_preview.operations.PrivateEndpointConnectionsOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: + azure.mgmt.containerservice.v2022_01_02_preview.operations.PrivateLinkResourcesOperations + :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations + :vartype resolve_private_link_service_id: + azure.mgmt.containerservice.v2022_01_02_preview.operations.ResolvePrivateLinkServiceIdOperations + :ivar snapshots: SnapshotsOperations operations + :vartype snapshots: + azure.mgmt.containerservice.v2022_01_02_preview.operations.SnapshotsOperations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = ContainerServiceClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + 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) + self.snapshots = SnapshotsOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> ContainerServiceClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_patch.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_vendor.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/__init__.py new file mode 100644 index 00000000000..53c675bd95e --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._container_service_client import ContainerServiceClient +__all__ = ['ContainerServiceClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_configuration.py old mode 100755 new mode 100644 similarity index 91% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/_configuration.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_configuration.py index 40270e51dd8..477b0b7c72d --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/_configuration.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports @@ -36,15 +36,15 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(ContainerServiceClientConfiguration, self).__init__(**kwargs) 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(ContainerServiceClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-09-01" + self.api_version = "2022-01-02-preview" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-containerservice/{}'.format(VERSION)) self._configure(**kwargs) @@ -63,4 +63,4 @@ def _configure( 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) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_container_service_client.py new file mode 100644 index 00000000000..98ea383c557 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_container_service_client.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import ContainerServiceClientConfiguration +from .operations import AgentPoolsOperations, MaintenanceConfigurationsOperations, ManagedClustersOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, ResolvePrivateLinkServiceIdOperations, SnapshotsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class ContainerServiceClient: + """The Container Service Client. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.containerservice.v2022_01_02_preview.aio.operations.Operations + :ivar managed_clusters: ManagedClustersOperations operations + :vartype managed_clusters: + azure.mgmt.containerservice.v2022_01_02_preview.aio.operations.ManagedClustersOperations + :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations + :vartype maintenance_configurations: + azure.mgmt.containerservice.v2022_01_02_preview.aio.operations.MaintenanceConfigurationsOperations + :ivar agent_pools: AgentPoolsOperations operations + :vartype agent_pools: + azure.mgmt.containerservice.v2022_01_02_preview.aio.operations.AgentPoolsOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: + azure.mgmt.containerservice.v2022_01_02_preview.aio.operations.PrivateEndpointConnectionsOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: + azure.mgmt.containerservice.v2022_01_02_preview.aio.operations.PrivateLinkResourcesOperations + :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations + :vartype resolve_private_link_service_id: + azure.mgmt.containerservice.v2022_01_02_preview.aio.operations.ResolvePrivateLinkServiceIdOperations + :ivar snapshots: SnapshotsOperations operations + :vartype snapshots: + azure.mgmt.containerservice.v2022_01_02_preview.aio.operations.SnapshotsOperations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = ContainerServiceClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + 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) + self.snapshots = SnapshotsOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "ContainerServiceClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_patch.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/__init__.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/__init__.py diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_agent_pools_operations.py old mode 100755 new mode 100644 similarity index 63% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_agent_pools_operations.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_agent_pools_operations.py index e28d9038a7c..2b0efca8fd6 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_agent_pools_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_agent_pools_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._agent_pools_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_available_agent_pool_versions_request, build_get_request, build_get_upgrade_profile_request, build_list_request, build_upgrade_node_image_version_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -28,7 +33,7 @@ class AgentPoolsOperations: 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.containerservice.v2022_01_02_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -59,7 +65,8 @@ def list( :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolListResult] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] @@ -67,36 +74,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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'), - '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 = {} # 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('AgentPoolListResult', pipeline_response) + deserialized = self._deserialize("AgentPoolListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -114,11 +118,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -138,7 +144,7 @@ async def get( :type agent_pool_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: AgentPool, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.AgentPool + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] @@ -146,28 +152,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -181,8 +177,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + async def _create_or_update_initial( self, resource_group_name: str, @@ -196,33 +194,23 @@ async def _create_or_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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 = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'AgentPool') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'AgentPool') - 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 @@ -240,8 +228,11 @@ async def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + @distributed_trace_async async def begin_create_or_update( self, resource_group_name: str, @@ -261,18 +252,23 @@ async def begin_create_or_update( :param agent_pool_name: The name of the agent pool. :type agent_pool_name: str :param parameters: The agent pool to create or update. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.AgentPool + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 AgentPool or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2021_09_01.models.AgentPool] - :raises ~azure.core.exceptions.HttpResponseError: + :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 AgentPool or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] lro_delay = kwargs.pop( 'polling_interval', @@ -285,28 +281,21 @@ async def begin_create_or_update( resource_name=resource_name, agent_pool_name=agent_pool_name, parameters=parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('AgentPool', 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', 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'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -318,6 +307,7 @@ def get_long_running_output(pipeline_response): ) 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore async def _delete_initial( @@ -332,28 +322,18 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -366,6 +346,8 @@ async def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -385,15 +367,17 @@ async def begin_delete( :type agent_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -408,22 +392,14 @@ async def begin_delete( 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', 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'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -435,8 +411,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + @distributed_trace_async async def get_upgrade_profile( self, resource_group_name: str, @@ -456,7 +434,7 @@ async def get_upgrade_profile( :type agent_pool_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: AgentPoolUpgradeProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeProfile + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeProfile :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] @@ -464,28 +442,18 @@ async def get_upgrade_profile( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_upgrade_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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 = build_get_upgrade_profile_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + template_url=self.get_upgrade_profile.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -499,8 +467,11 @@ async def get_upgrade_profile( return cls(pipeline_response, deserialized, {}) return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore + + @distributed_trace_async async def get_available_agent_pool_versions( self, resource_group_name: str, @@ -519,7 +490,7 @@ async def get_available_agent_pool_versions( :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: AgentPoolAvailableVersions, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolAvailableVersions + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolAvailableVersions :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] @@ -527,27 +498,17 @@ async def get_available_agent_pool_versions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_available_agent_pool_versions.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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 = build_get_available_agent_pool_versions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.get_available_agent_pool_versions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -561,8 +522,10 @@ async def get_available_agent_pool_versions( return cls(pipeline_response, deserialized, {}) return deserialized + get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore + async def _upgrade_node_image_version_initial( self, resource_group_name: str, @@ -575,28 +538,18 @@ async def _upgrade_node_image_version_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self._upgrade_node_image_version_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', 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 = {} # 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 = build_upgrade_node_image_version_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + template_url=self._upgrade_node_image_version_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -605,15 +558,21 @@ async def _upgrade_node_image_version_initial( raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = None + response_headers = {} if response.status_code == 202: + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('AgentPool', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) return deserialized + _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore + + @distributed_trace_async async def begin_upgrade_node_image_version( self, resource_group_name: str, @@ -635,15 +594,19 @@ async def begin_upgrade_node_image_version( :type agent_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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: + :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 AgentPool or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] lro_delay = kwargs.pop( 'polling_interval', @@ -658,25 +621,20 @@ async def begin_upgrade_node_image_version( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + deserialized = self._deserialize('AgentPool', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) 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', 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'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -688,4 +646,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_maintenance_configurations_operations.py old mode 100755 new mode 100644 similarity index 61% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_maintenance_configurations_operations.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_maintenance_configurations_operations.py index ff6253b9be3..aabb93b9a28 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_maintenance_configurations_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_maintenance_configurations_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._maintenance_configurations_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_by_managed_cluster_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class MaintenanceConfigurationsOperations: 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.containerservice.v2022_01_02_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_by_managed_cluster( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list_by_managed_cluster( :param resource_name: The name of the managed cluster resource. :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MaintenanceConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfigurationListResult] + :return: An iterator like instance of either MaintenanceConfigurationListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.MaintenanceConfigurationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] @@ -65,36 +73,33 @@ def list_by_managed_cluster( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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_managed_cluster.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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) + + request = build_list_by_managed_cluster_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list_by_managed_cluster.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_managed_cluster_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MaintenanceConfigurationListResult', pipeline_response) + deserialized = self._deserialize("MaintenanceConfigurationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +117,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -136,7 +143,7 @@ async def get( :type config_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: ~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfiguration + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.MaintenanceConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] @@ -144,28 +151,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -179,8 +176,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -200,10 +200,11 @@ async def create_or_update( :param config_name: The name of the maintenance configuration. :type config_name: str :param parameters: The maintenance configuration to create or update. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfiguration + :type parameters: + ~azure.mgmt.containerservice.v2022_01_02_preview.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: ~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfiguration + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.MaintenanceConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] @@ -211,33 +212,23 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'MaintenanceConfiguration') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, '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 @@ -251,8 +242,11 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, @@ -280,28 +274,18 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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', 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 = {} # 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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -313,3 +297,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_managed_clusters_operations.py old mode 100755 new mode 100644 similarity index 62% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_managed_clusters_operations.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_managed_clusters_operations.py index 2fb988a55e3..efbe0df2a5c --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_managed_clusters_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_managed_clusters_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._managed_clusters_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_access_profile_request, build_get_command_result_request, build_get_os_options_request, build_get_request, build_get_upgrade_profile_request, build_list_by_resource_group_request, build_list_cluster_admin_credentials_request, build_list_cluster_monitoring_user_credentials_request, build_list_cluster_user_credentials_request, build_list_outbound_network_dependencies_endpoints_request, build_list_request, build_reset_aad_profile_request_initial, build_reset_service_principal_profile_request_initial, build_rotate_cluster_certificates_request_initial, build_run_command_request_initial, build_start_request_initial, build_stop_request_initial, build_update_tags_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -28,7 +33,7 @@ class ManagedClustersOperations: 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.containerservice.v2022_01_02_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get_os_options( self, location: str, @@ -59,7 +65,7 @@ async def get_os_options( :type resource_type: str :keyword callable cls: A custom type or function that will be passed the direct response :return: OSOptionProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.OSOptionProfile + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSOptionProfile :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OSOptionProfile"] @@ -67,28 +73,17 @@ async def get_os_options( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_os_options.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') - if resource_type is not None: - query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_os_options_request( + subscription_id=self._config.subscription_id, + location=location, + resource_type=resource_type, + template_url=self.get_os_options.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -102,8 +97,11 @@ async def get_os_options( return cls(pipeline_response, deserialized, {}) return deserialized + get_os_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default'} # type: ignore + + @distributed_trace def list( self, **kwargs: Any @@ -113,8 +111,10 @@ def list( Gets a list of managed clusters in 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 ManagedClusterListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterListResult] + :return: An iterator like instance of either ManagedClusterListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] @@ -122,34 +122,29 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedClusterListResult', pipeline_response) + deserialized = self._deserialize("ManagedClusterListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -167,11 +162,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters'} # type: ignore + @distributed_trace def list_by_resource_group( self, resource_group_name: str, @@ -184,8 +181,10 @@ def list_by_resource_group( :param resource_group_name: The name of the 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 ManagedClusterListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterListResult] + :return: An iterator like instance of either ManagedClusterListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] @@ -193,35 +192,31 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ManagedClusterListResult', pipeline_response) + deserialized = self._deserialize("ManagedClusterListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -239,11 +234,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters'} # type: ignore + @distributed_trace_async async def get_upgrade_profile( self, resource_group_name: str, @@ -260,7 +257,7 @@ async def get_upgrade_profile( :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ManagedClusterUpgradeProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterUpgradeProfile + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterUpgradeProfile :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] @@ -268,27 +265,17 @@ async def get_upgrade_profile( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_upgrade_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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 = build_get_upgrade_profile_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.get_upgrade_profile.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -302,8 +289,11 @@ async def get_upgrade_profile( return cls(pipeline_response, deserialized, {}) return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore + + @distributed_trace_async async def get_access_profile( self, resource_group_name: str, @@ -326,7 +316,7 @@ async def get_access_profile( :type role_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ManagedClusterAccessProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAccessProfile + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAccessProfile :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] @@ -334,28 +324,18 @@ async def get_access_profile( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_access_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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 = build_get_access_profile_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + role_name=role_name, + template_url=self.get_access_profile.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -369,13 +349,17 @@ async def get_access_profile( return cls(pipeline_response, deserialized, {}) return deserialized + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore + + @distributed_trace_async async def list_cluster_admin_credentials( self, resource_group_name: str, resource_name: str, server_fqdn: Optional[str] = None, + format: Optional[Union[str, "_models.Format"]] = None, **kwargs: Any ) -> "_models.CredentialResults": """Lists the admin credentials of a managed cluster. @@ -388,9 +372,13 @@ async def list_cluster_admin_credentials( :type resource_name: str :param server_fqdn: server fqdn type for credentials to be returned. :type server_fqdn: str + :param format: Only apply to AAD clusters, specifies the format of returned kubeconfig. Format + 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format + kubeconfig, which requires kubelogin binary in the path. + :type format: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.Format :keyword callable cls: A custom type or function that will be passed the direct response :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.CredentialResults + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CredentialResults :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] @@ -398,29 +386,19 @@ async def list_cluster_admin_credentials( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_admin_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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if server_fqdn is not None: - query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_list_cluster_admin_credentials_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + server_fqdn=server_fqdn, + format=format, + template_url=self.list_cluster_admin_credentials.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -434,8 +412,11 @@ async def list_cluster_admin_credentials( return cls(pipeline_response, deserialized, {}) return deserialized + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore + + @distributed_trace_async async def list_cluster_user_credentials( self, resource_group_name: str, @@ -455,7 +436,7 @@ async def list_cluster_user_credentials( :type server_fqdn: str :keyword callable cls: A custom type or function that will be passed the direct response :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.CredentialResults + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CredentialResults :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] @@ -463,29 +444,18 @@ async def list_cluster_user_credentials( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_user_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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if server_fqdn is not None: - query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_list_cluster_user_credentials_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + server_fqdn=server_fqdn, + template_url=self.list_cluster_user_credentials.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -499,8 +469,11 @@ async def list_cluster_user_credentials( return cls(pipeline_response, deserialized, {}) return deserialized + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore + + @distributed_trace_async async def list_cluster_monitoring_user_credentials( self, resource_group_name: str, @@ -520,7 +493,7 @@ async def list_cluster_monitoring_user_credentials( :type server_fqdn: str :keyword callable cls: A custom type or function that will be passed the direct response :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.CredentialResults + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CredentialResults :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] @@ -528,29 +501,18 @@ async def list_cluster_monitoring_user_credentials( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_monitoring_user_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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if server_fqdn is not None: - query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_list_cluster_monitoring_user_credentials_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + server_fqdn=server_fqdn, + template_url=self.list_cluster_monitoring_user_credentials.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -564,8 +526,11 @@ async def list_cluster_monitoring_user_credentials( return cls(pipeline_response, deserialized, {}) return deserialized + list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore + + @distributed_trace_async async def get( self, resource_group_name: str, @@ -582,7 +547,7 @@ async def get( :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ManagedCluster, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] @@ -590,27 +555,17 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -624,8 +579,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + async def _create_or_update_initial( self, resource_group_name: str, @@ -638,32 +595,22 @@ async def _create_or_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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 = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'ManagedCluster') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedCluster') - 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 @@ -681,8 +628,11 @@ async def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + @distributed_trace_async async def begin_create_or_update( self, resource_group_name: str, @@ -699,18 +649,23 @@ async def begin_create_or_update( :param resource_name: The name of the managed cluster resource. :type resource_name: str :param parameters: The managed cluster to create or update. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ManagedCluster or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ManagedCluster or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] lro_delay = kwargs.pop( 'polling_interval', @@ -722,27 +677,21 @@ async def begin_create_or_update( resource_group_name=resource_group_name, resource_name=resource_name, parameters=parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ManagedCluster', 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -754,6 +703,7 @@ def get_long_running_output(pipeline_response): ) 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.ContainerService/managedClusters/{resourceName}'} # type: ignore async def _update_tags_initial( @@ -768,32 +718,22 @@ async def _update_tags_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_tags_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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'TagsObject') - # 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') + request = build_update_tags_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._update_tags_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TagsObject') - 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 @@ -807,8 +747,11 @@ async def _update_tags_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + @distributed_trace_async async def begin_update_tags( self, resource_group_name: str, @@ -825,18 +768,23 @@ async def begin_update_tags( :param resource_name: The name of the managed cluster resource. :type resource_name: str :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.TagsObject + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.TagsObject :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ManagedCluster or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ManagedCluster or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] lro_delay = kwargs.pop( 'polling_interval', @@ -848,27 +796,21 @@ async def begin_update_tags( resource_group_name=resource_group_name, resource_name=resource_name, parameters=parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ManagedCluster', 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -880,6 +822,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore async def _delete_initial( @@ -893,27 +836,17 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -926,6 +859,8 @@ async def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -942,15 +877,17 @@ async def begin_delete( :type resource_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -964,21 +901,14 @@ async def begin_delete( 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -990,6 +920,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore async def _reset_service_principal_profile_initial( @@ -1004,32 +935,22 @@ async def _reset_service_principal_profile_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._reset_service_principal_profile_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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') + + request = build_reset_service_principal_profile_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._reset_service_principal_profile_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') - 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 @@ -1042,6 +963,8 @@ async def _reset_service_principal_profile_initial( _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + @distributed_trace_async async def begin_reset_service_principal_profile( self, resource_group_name: str, @@ -1058,18 +981,22 @@ async def begin_reset_service_principal_profile( :param resource_name: The name of the managed cluster resource. :type resource_name: str :param parameters: The service principal profile to set on the managed cluster. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterServicePrincipalProfile + :type parameters: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterServicePrincipalProfile :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1081,24 +1008,18 @@ async def begin_reset_service_principal_profile( resource_group_name=resource_group_name, resource_name=resource_name, parameters=parameters, + content_type=content_type, 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1110,6 +1031,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore async def _reset_aad_profile_initial( @@ -1124,32 +1046,22 @@ async def _reset_aad_profile_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._reset_aad_profile_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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ManagedClusterAADProfile') - # 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') + request = build_reset_aad_profile_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._reset_aad_profile_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ManagedClusterAADProfile') - 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 @@ -1162,6 +1074,8 @@ async def _reset_aad_profile_initial( _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + @distributed_trace_async async def begin_reset_aad_profile( self, resource_group_name: str, @@ -1178,18 +1092,22 @@ async def begin_reset_aad_profile( :param resource_name: The name of the managed cluster resource. :type resource_name: str :param parameters: The AAD profile to set on the Managed Cluster. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAADProfile + :type parameters: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAADProfile :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1201,24 +1119,18 @@ async def begin_reset_aad_profile( resource_group_name=resource_group_name, resource_name=resource_name, parameters=parameters, + content_type=content_type, 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1230,6 +1142,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore async def _rotate_cluster_certificates_initial( @@ -1243,27 +1156,17 @@ async def _rotate_cluster_certificates_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self._rotate_cluster_certificates_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', 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 = {} # 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 = build_rotate_cluster_certificates_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self._rotate_cluster_certificates_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1276,6 +1179,8 @@ async def _rotate_cluster_certificates_initial( _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + @distributed_trace_async async def begin_rotate_cluster_certificates( self, resource_group_name: str, @@ -1293,15 +1198,17 @@ async def begin_rotate_cluster_certificates( :type resource_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1315,21 +1222,14 @@ async def begin_rotate_cluster_certificates( 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1341,6 +1241,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore async def _stop_initial( @@ -1354,27 +1255,17 @@ async def _stop_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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', 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 = {} # 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 = build_stop_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self._stop_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1387,6 +1278,8 @@ async def _stop_initial( _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + + @distributed_trace_async async def begin_stop( self, resource_group_name: str, @@ -1407,15 +1300,17 @@ async def begin_stop( :type resource_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1429,21 +1324,14 @@ async def begin_stop( 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1455,6 +1343,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore async def _start_initial( @@ -1468,27 +1357,17 @@ async def _start_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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', 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 = {} # 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 = build_start_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self._start_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1501,6 +1380,8 @@ async def _start_initial( _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore + + @distributed_trace_async async def begin_start( self, resource_group_name: str, @@ -1518,15 +1399,17 @@ async def begin_start( :type resource_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1540,21 +1423,14 @@ async def begin_start( 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1566,6 +1442,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore async def _run_command_initial( @@ -1580,32 +1457,22 @@ async def _run_command_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._run_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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(request_payload, 'RunCommandRequest') - # 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') + request = build_run_command_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._run_command_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(request_payload, 'RunCommandRequest') - 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 @@ -1621,8 +1488,11 @@ async def _run_command_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _run_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore + + @distributed_trace_async async def begin_run_command( self, resource_group_name: str, @@ -1641,18 +1511,24 @@ async def begin_run_command( :param resource_name: The name of the managed cluster resource. :type resource_name: str :param request_payload: The run command request. - :type request_payload: ~azure.mgmt.containerservice.v2021_09_01.models.RunCommandRequest + :type request_payload: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.RunCommandRequest :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 RunCommandResult or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2021_09_01.models.RunCommandResult] - :raises ~azure.core.exceptions.HttpResponseError: + :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 RunCommandResult or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.RunCommandResult] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.RunCommandResult"] lro_delay = kwargs.pop( 'polling_interval', @@ -1664,27 +1540,21 @@ async def begin_run_command( resource_group_name=resource_group_name, resource_name=resource_name, request_payload=request_payload, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('RunCommandResult', 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', 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]$'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1696,8 +1566,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore + @distributed_trace_async async def get_command_result( self, resource_group_name: str, @@ -1717,7 +1589,7 @@ async def get_command_result( :type command_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: RunCommandResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.RunCommandResult or None + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.RunCommandResult or None :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] @@ -1725,28 +1597,18 @@ async def get_command_result( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_command_result.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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 = build_get_command_result_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + command_id=command_id, + template_url=self.get_command_result.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1762,15 +1624,19 @@ async def get_command_result( return cls(pipeline_response, deserialized, {}) return deserialized + get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} # type: ignore + + @distributed_trace def list_outbound_network_dependencies_endpoints( self, resource_group_name: str, resource_name: str, **kwargs: Any ) -> AsyncIterable["_models.OutboundEnvironmentEndpointCollection"]: - """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. 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. @@ -1780,8 +1646,10 @@ def list_outbound_network_dependencies_endpoints( :param resource_name: The name of the managed cluster resource. :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OutboundEnvironmentEndpointCollection or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.OutboundEnvironmentEndpointCollection] + :return: An iterator like instance of either OutboundEnvironmentEndpointCollection or the + result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.OutboundEnvironmentEndpointCollection] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OutboundEnvironmentEndpointCollection"] @@ -1789,36 +1657,33 @@ def list_outbound_network_dependencies_endpoints( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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_outbound_network_dependencies_endpoints.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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) + + request = build_list_outbound_network_dependencies_endpoints_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list_outbound_network_dependencies_endpoints.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_outbound_network_dependencies_endpoints_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('OutboundEnvironmentEndpointCollection', pipeline_response) + deserialized = self._deserialize("OutboundEnvironmentEndpointCollection", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1836,6 +1701,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..41007a6c4ed --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.containerservice.v2022_01_02_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.OperationListResult"]: + """Gets a list of operations. + + Gets a list of operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationListResult", 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.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_private_endpoint_connections_operations.py old mode 100755 new mode 100644 similarity index 63% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_private_endpoint_connections_operations.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_private_endpoint_connections_operations.py index 8e3a7384394..edfd29a9014 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_private_endpoint_connections_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_private_endpoint_connections_operations.py @@ -5,18 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._private_endpoint_connections_operations import build_delete_request_initial, build_get_request, build_list_request, build_update_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -27,7 +31,7 @@ class PrivateEndpointConnectionsOperations: 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.containerservice.v2022_01_02_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -42,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def list( self, resource_group_name: str, @@ -59,7 +64,8 @@ async def list( :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateEndpointConnectionListResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnectionListResult + :rtype: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnectionListResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] @@ -67,27 +73,17 @@ async def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # 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', 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 = {} # 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 = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -101,8 +97,11 @@ async def list( return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore + + @distributed_trace_async async def get( self, resource_group_name: str, @@ -123,7 +122,7 @@ async def get( :type private_endpoint_connection_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnection + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] @@ -131,28 +130,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -166,8 +155,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + @distributed_trace_async async def update( self, resource_group_name: str, @@ -187,10 +179,11 @@ async def update( :param private_endpoint_connection_name: The name of the private endpoint connection. :type private_endpoint_connection_name: str :param parameters: The updated private endpoint connection. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnection + :type parameters: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnection :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnection + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] @@ -198,33 +191,23 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'PrivateEndpointConnection') + + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') - 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 @@ -238,8 +221,10 @@ async def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -252,28 +237,18 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -286,6 +261,8 @@ async def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -305,15 +282,17 @@ async def begin_delete( :type private_endpoint_connection_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -328,22 +307,14 @@ async def begin_delete( 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', 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'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -355,4 +326,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_private_link_resources_operations.py old mode 100755 new mode 100644 similarity index 72% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_private_link_resources_operations.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_private_link_resources_operations.py index a247203e0af..83a01465820 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_private_link_resources_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_private_link_resources_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._private_link_resources_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class PrivateLinkResourcesOperations: 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.containerservice.v2022_01_02_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def list( self, resource_group_name: str, @@ -57,7 +62,7 @@ async def list( :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateLinkResourcesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResourcesListResult + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResourcesListResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesListResult"] @@ -65,27 +70,17 @@ async def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # 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', 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 = {} # 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 = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -99,4 +94,6 @@ async def list( return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} # type: ignore + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_resolve_private_link_service_id_operations.py old mode 100755 new mode 100644 similarity index 66% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_resolve_private_link_service_id_operations.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_resolve_private_link_service_id_operations.py index e0f019dcc15..78b35ad8c55 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_resolve_private_link_service_id_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_resolve_private_link_service_id_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._resolve_private_link_service_id_operations import build_post_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class ResolvePrivateLinkServiceIdOperations: 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.containerservice.v2022_01_02_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def post( self, resource_group_name: str, @@ -56,10 +61,10 @@ async def post( :param resource_name: The name of the managed cluster resource. :type resource_name: str :param parameters: Parameters required in order to resolve a private link service ID. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResource + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResource :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateLinkResource, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResource + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] @@ -67,32 +72,22 @@ async def post( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.post.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'PrivateLinkResource') - # 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') + request = build_post_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self.post.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateLinkResource') - 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 @@ -106,4 +101,6 @@ async def post( return cls(pipeline_response, deserialized, {}) return deserialized + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_snapshots_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_snapshots_operations.py old mode 100755 new mode 100644 similarity index 59% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_snapshots_operations.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_snapshots_operations.py index 506c178f49a..ea946474203 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_snapshots_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/aio/operations/_snapshots_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._snapshots_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_by_resource_group_request, build_list_request, build_update_tags_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class SnapshotsOperations: 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.containerservice.v2022_01_02_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -51,7 +57,8 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SnapshotListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.SnapshotListResult] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.SnapshotListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SnapshotListResult"] @@ -59,34 +66,29 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SnapshotListResult', pipeline_response) + deserialized = self._deserialize("SnapshotListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -104,11 +106,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots'} # type: ignore + @distributed_trace def list_by_resource_group( self, resource_group_name: str, @@ -122,7 +126,8 @@ def list_by_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 SnapshotListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.SnapshotListResult] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.SnapshotListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SnapshotListResult"] @@ -130,35 +135,31 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SnapshotListResult', pipeline_response) + deserialized = self._deserialize("SnapshotListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -176,11 +177,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -197,7 +200,7 @@ async def get( :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Snapshot, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.Snapshot + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] @@ -205,27 +208,17 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -239,8 +232,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -257,10 +253,10 @@ async def create_or_update( :param resource_name: The name of the managed cluster resource. :type resource_name: str :param parameters: The snapshot to create or update. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.Snapshot + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot :keyword callable cls: A custom type or function that will be passed the direct response :return: Snapshot, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.Snapshot + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] @@ -268,32 +264,22 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'Snapshot') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'Snapshot') - 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 @@ -311,8 +297,11 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + + @distributed_trace_async async def update_tags( self, resource_group_name: str, @@ -329,10 +318,10 @@ async def update_tags( :param resource_name: The name of the managed cluster resource. :type resource_name: str :param parameters: Parameters supplied to the Update snapshot Tags operation. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.TagsObject + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.TagsObject :keyword callable cls: A custom type or function that will be passed the direct response :return: Snapshot, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.Snapshot + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] @@ -340,32 +329,22 @@ async def update_tags( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.update_tags.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'TagsObject') - # 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') + request = build_update_tags_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self.update_tags.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TagsObject') - 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 @@ -379,8 +358,11 @@ async def update_tags( return cls(pipeline_response, deserialized, {}) return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, @@ -405,27 +387,17 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-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', 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 = {} # 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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -437,3 +409,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/__init__.py new file mode 100644 index 00000000000..293491d0209 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/__init__.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 ._models_py3 import AgentPool +from ._models_py3 import AgentPoolAvailableVersions +from ._models_py3 import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem +from ._models_py3 import AgentPoolListResult +from ._models_py3 import AgentPoolUpgradeProfile +from ._models_py3 import AgentPoolUpgradeProfilePropertiesUpgradesItem +from ._models_py3 import AgentPoolUpgradeSettings +from ._models_py3 import CloudErrorBody +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 CreationData +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 MaintenanceConfigurationListResult +from ._models_py3 import ManagedCluster +from ._models_py3 import ManagedClusterAADProfile +from ._models_py3 import ManagedClusterAPIServerAccessProfile +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 ManagedClusterAutoUpgradeProfile +from ._models_py3 import ManagedClusterHTTPProxyConfig +from ._models_py3 import ManagedClusterIdentity +from ._models_py3 import ManagedClusterListResult +from ._models_py3 import ManagedClusterLoadBalancerProfile +from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs +from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes +from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPs +from ._models_py3 import ManagedClusterManagedOutboundIPProfile +from ._models_py3 import ManagedClusterNATGatewayProfile +from ._models_py3 import ManagedClusterOIDCIssuerProfile +from ._models_py3 import ManagedClusterPodIdentity +from ._models_py3 import ManagedClusterPodIdentityException +from ._models_py3 import ManagedClusterPodIdentityProfile +from ._models_py3 import ManagedClusterPodIdentityProvisioningError +from ._models_py3 import ManagedClusterPodIdentityProvisioningErrorBody +from ._models_py3 import ManagedClusterPodIdentityProvisioningInfo +from ._models_py3 import ManagedClusterPoolUpgradeProfile +from ._models_py3 import ManagedClusterPoolUpgradeProfileUpgradesItem +from ._models_py3 import ManagedClusterPropertiesAutoScalerProfile +from ._models_py3 import ManagedClusterSKU +from ._models_py3 import ManagedClusterSecurityProfile +from ._models_py3 import ManagedClusterSecurityProfileAzureDefender +from ._models_py3 import ManagedClusterServicePrincipalProfile +from ._models_py3 import ManagedClusterUpgradeProfile +from ._models_py3 import ManagedClusterWindowsProfile +from ._models_py3 import ManagedServiceIdentityUserAssignedIdentitiesValue +from ._models_py3 import OSOptionProfile +from ._models_py3 import OSOptionProperty +from ._models_py3 import OperationListResult +from ._models_py3 import OperationValue +from ._models_py3 import OutboundEnvironmentEndpoint +from ._models_py3 import OutboundEnvironmentEndpointCollection +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 Snapshot +from ._models_py3 import SnapshotListResult +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 +from ._models_py3 import WindowsGmsaProfile + + +from ._container_service_client_enums import ( + AgentPoolMode, + AgentPoolType, + Code, + ConnectionStatus, + ContainerServiceStorageProfileTypes, + ContainerServiceVMSizeTypes, + Count, + CreatedByType, + Expander, + ExtendedLocationTypes, + Format, + GPUInstanceProfile, + IpFamily, + KubeletDiskType, + LicenseType, + LoadBalancerSku, + ManagedClusterPodIdentityProvisioningState, + ManagedClusterSKUName, + ManagedClusterSKUTier, + NetworkMode, + NetworkPlugin, + NetworkPolicy, + OSDiskType, + OSSKU, + OSType, + OutboundType, + PrivateEndpointConnectionProvisioningState, + PublicNetworkAccess, + ResourceIdentityType, + ScaleDownMode, + ScaleSetEvictionPolicy, + ScaleSetPriority, + SnapshotType, + UpgradeChannel, + WeekDay, + WorkloadRuntime, +) + +__all__ = [ + 'AgentPool', + 'AgentPoolAvailableVersions', + 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', + 'AgentPoolListResult', + 'AgentPoolUpgradeProfile', + 'AgentPoolUpgradeProfilePropertiesUpgradesItem', + 'AgentPoolUpgradeSettings', + 'CloudErrorBody', + 'ContainerServiceDiagnosticsProfile', + 'ContainerServiceLinuxProfile', + 'ContainerServiceMasterProfile', + 'ContainerServiceNetworkProfile', + 'ContainerServiceSshConfiguration', + 'ContainerServiceSshPublicKey', + 'ContainerServiceVMDiagnostics', + 'CreationData', + 'CredentialResult', + 'CredentialResults', + 'EndpointDependency', + 'EndpointDetail', + 'ExtendedLocation', + 'KubeletConfig', + 'LinuxOSConfig', + 'MaintenanceConfiguration', + 'MaintenanceConfigurationListResult', + 'ManagedCluster', + 'ManagedClusterAADProfile', + 'ManagedClusterAPIServerAccessProfile', + 'ManagedClusterAccessProfile', + 'ManagedClusterAddonProfile', + 'ManagedClusterAddonProfileIdentity', + 'ManagedClusterAgentPoolProfile', + 'ManagedClusterAgentPoolProfileProperties', + 'ManagedClusterAutoUpgradeProfile', + 'ManagedClusterHTTPProxyConfig', + 'ManagedClusterIdentity', + 'ManagedClusterListResult', + 'ManagedClusterLoadBalancerProfile', + 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', + 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', + 'ManagedClusterLoadBalancerProfileOutboundIPs', + 'ManagedClusterManagedOutboundIPProfile', + 'ManagedClusterNATGatewayProfile', + 'ManagedClusterOIDCIssuerProfile', + 'ManagedClusterPodIdentity', + 'ManagedClusterPodIdentityException', + 'ManagedClusterPodIdentityProfile', + 'ManagedClusterPodIdentityProvisioningError', + 'ManagedClusterPodIdentityProvisioningErrorBody', + 'ManagedClusterPodIdentityProvisioningInfo', + 'ManagedClusterPoolUpgradeProfile', + 'ManagedClusterPoolUpgradeProfileUpgradesItem', + 'ManagedClusterPropertiesAutoScalerProfile', + 'ManagedClusterSKU', + 'ManagedClusterSecurityProfile', + 'ManagedClusterSecurityProfileAzureDefender', + 'ManagedClusterServicePrincipalProfile', + 'ManagedClusterUpgradeProfile', + 'ManagedClusterWindowsProfile', + 'ManagedServiceIdentityUserAssignedIdentitiesValue', + 'OSOptionProfile', + 'OSOptionProperty', + 'OperationListResult', + 'OperationValue', + 'OutboundEnvironmentEndpoint', + 'OutboundEnvironmentEndpointCollection', + 'PowerState', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateEndpointConnectionListResult', + 'PrivateLinkResource', + 'PrivateLinkResourcesListResult', + 'PrivateLinkServiceConnectionState', + 'Resource', + 'ResourceReference', + 'RunCommandRequest', + 'RunCommandResult', + 'Snapshot', + 'SnapshotListResult', + 'SubResource', + 'SysctlConfig', + 'SystemData', + 'TagsObject', + 'TimeInWeek', + 'TimeSpan', + 'UserAssignedIdentity', + 'WindowsGmsaProfile', + 'AgentPoolMode', + 'AgentPoolType', + 'Code', + 'ConnectionStatus', + 'ContainerServiceStorageProfileTypes', + 'ContainerServiceVMSizeTypes', + 'Count', + 'CreatedByType', + 'Expander', + 'ExtendedLocationTypes', + 'Format', + 'GPUInstanceProfile', + 'IpFamily', + 'KubeletDiskType', + 'LicenseType', + 'LoadBalancerSku', + 'ManagedClusterPodIdentityProvisioningState', + 'ManagedClusterSKUName', + 'ManagedClusterSKUTier', + 'NetworkMode', + 'NetworkPlugin', + 'NetworkPolicy', + 'OSDiskType', + 'OSSKU', + 'OSType', + 'OutboundType', + 'PrivateEndpointConnectionProvisioningState', + 'PublicNetworkAccess', + 'ResourceIdentityType', + 'ScaleDownMode', + 'ScaleSetEvictionPolicy', + 'ScaleSetPriority', + 'SnapshotType', + 'UpgradeChannel', + 'WeekDay', + 'WorkloadRuntime', +] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/_container_service_client_enums.py old mode 100755 new mode 100644 similarity index 87% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_container_service_client_enums.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/_container_service_client_enums.py index 9eeb9d5f067..816efef5f65 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/models/_container_service_client_enums.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/_container_service_client_enums.py @@ -6,27 +6,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -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 AgentPoolMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class AgentPoolMode(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools @@ -39,7 +24,7 @@ class AgentPoolMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: User agent pools are primarily for hosting your application pods. USER = "User" -class AgentPoolType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class AgentPoolType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of Agent Pool. """ @@ -48,7 +33,7 @@ class AgentPoolType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Use of this is strongly discouraged. AVAILABILITY_SET = "AvailabilitySet" -class Code(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Code(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Tells whether the cluster is Running or Stopped """ @@ -57,7 +42,7 @@ class Code(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: The cluster is stopped. STOPPED = "Stopped" -class ConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ConnectionStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The private link service connection status. """ @@ -66,7 +51,7 @@ class ConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): REJECTED = "Rejected" DISCONNECTED = "Disconnected" -class ContainerServiceStorageProfileTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ContainerServiceStorageProfileTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice of orchestrator. """ @@ -74,7 +59,7 @@ class ContainerServiceStorageProfileTypes(with_metaclass(_CaseInsensitiveEnumMet STORAGE_ACCOUNT = "StorageAccount" MANAGED_DISKS = "ManagedDisks" -class ContainerServiceVMSizeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ContainerServiceVMSizeTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Size of agent VMs. Note: This is no longer maintained. """ @@ -253,7 +238,7 @@ class ContainerServiceVMSizeTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, STANDARD_NV24 = "Standard_NV24" STANDARD_NV6 = "Standard_NV6" -class Count(with_metaclass(_CaseInsensitiveEnumMeta, int, Enum)): +class Count(with_metaclass(CaseInsensitiveEnumMeta, int, Enum)): """Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1. """ @@ -262,7 +247,7 @@ class Count(with_metaclass(_CaseInsensitiveEnumMeta, int, Enum)): THREE = 3 FIVE = 5 -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -271,7 +256,7 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class Expander(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Expander(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """If not specified, the default is 'random'. See `expanders `_ for more information. @@ -294,13 +279,21 @@ class Expander(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Used when you don't have a particular need for the node groups to scale differently. RANDOM = "random" -class ExtendedLocationTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ExtendedLocationTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of extendedLocation. """ EDGE_ZONE = "EdgeZone" -class GPUInstanceProfile(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Format(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + #: Return azure auth-provider kubeconfig. This format is deprecated in 1.22 and will be fully + #: removed in 1.25. + AZURE = "azure" + #: Return exec format kubeconfig. This format requires kubelogin binary in the path. + EXEC_ENUM = "exec" + +class GPUInstanceProfile(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. """ @@ -310,7 +303,14 @@ class GPUInstanceProfile(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MIG4_G = "MIG4g" MIG7_G = "MIG7g" -class KubeletDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class IpFamily(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The IP version to use for cluster networking and IP assignment. + """ + + I_PV4 = "IPv4" + I_PV6 = "IPv6" + +class KubeletDiskType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. """ @@ -320,7 +320,7 @@ class KubeletDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Kubelet will use the temporary disk for its data. TEMPORARY = "Temporary" -class LicenseType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LicenseType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The license type to use for Windows VMs. See `Azure Hybrid User Benefits `_ for more details. """ @@ -330,7 +330,7 @@ class LicenseType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Enables Azure Hybrid User Benefits for Windows VMs. WINDOWS_SERVER = "Windows_Server" -class LoadBalancerSku(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LoadBalancerSku(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The default is 'standard'. See `Azure Load Balancer SKUs `_ for more information about the differences between load balancer SKUs. @@ -343,7 +343,7 @@ class LoadBalancerSku(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Use a basic Load Balancer with limited functionality. BASIC = "basic" -class ManagedClusterPodIdentityProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ManagedClusterPodIdentityProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The current provisioning state of the pod identity. """ @@ -352,13 +352,13 @@ class ManagedClusterPodIdentityProvisioningState(with_metaclass(_CaseInsensitive DELETING = "Deleting" FAILED = "Failed" -class ManagedClusterSKUName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ManagedClusterSKUName(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The name of a managed cluster SKU. """ BASIC = "Basic" -class ManagedClusterSKUTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ManagedClusterSKUTier(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """If not specified, the default is 'Free'. See `uptime SLA `_ for more details. """ @@ -369,7 +369,7 @@ class ManagedClusterSKUTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)) #: No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%. FREE = "Free" -class NetworkMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class NetworkMode(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """This cannot be specified if networkPlugin is anything other than 'azure'. """ @@ -380,7 +380,7 @@ class NetworkMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: This is no longer supported. BRIDGE = "bridge" -class NetworkPlugin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class NetworkPlugin(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Network plugin used for building the Kubernetes network. """ @@ -392,8 +392,11 @@ class NetworkPlugin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: `_ for more #: information. KUBENET = "kubenet" + #: Do not use a network plugin. A custom CNI will need to be installed after cluster creation for + #: networking functionality. + NONE = "none" -class NetworkPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class NetworkPolicy(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Network policy used for building the Kubernetes network. """ @@ -406,7 +409,7 @@ class NetworkPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: for more information. AZURE = "azure" -class OSDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OSDiskType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see `Ephemeral OS @@ -422,14 +425,14 @@ class OSDiskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: provides lower read/write latency, along with faster node scaling and cluster upgrades. EPHEMERAL = "Ephemeral" -class OSSKU(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OSSKU(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specifies an OS SKU. This value must not be specified if OSType is Windows. """ UBUNTU = "Ubuntu" CBL_MARINER = "CBLMariner" -class OSType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OSType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The operating system type. The default is Linux. """ @@ -438,7 +441,7 @@ class OSType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Use Windows. WINDOWS = "Windows" -class OutboundType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OutboundType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """This can only be set at cluster creation time and cannot be changed later. For more information see `egress outbound type `_. """ @@ -458,7 +461,7 @@ class OutboundType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: advanced scenario and requires proper network configuration. USER_ASSIGNED_NAT_GATEWAY = "userAssignedNATGateway" -class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class PrivateEndpointConnectionProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The current provisioning state. """ @@ -467,15 +470,14 @@ class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitive DELETING = "Deleting" FAILED = "Failed" -class PublicNetworkAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Default value is 'Enabled' (case insensitive). Could be set to 'Disabled' to enable private - cluster +class PublicNetworkAccess(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Allow or deny public network access for AKS """ ENABLED = "Enabled" DISABLED = "Disabled" -class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ResourceIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """For more information see `use managed identities in AKS `_. """ @@ -491,7 +493,7 @@ class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Do not use a managed identity for the Managed Cluster, service principal will be used instead. NONE = "None" -class ScaleDownMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ScaleDownMode(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Describes how VMs are added to or removed from Agent Pools. See `billing states `_. """ @@ -502,7 +504,7 @@ class ScaleDownMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: during scale down. DEALLOCATE = "Deallocate" -class ScaleSetEvictionPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ScaleSetEvictionPolicy(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see `spot VMs `_ @@ -515,7 +517,7 @@ class ScaleSetEvictionPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum) #: cause issues with cluster scaling or upgrading. DEALLOCATE = "Deallocate" -class ScaleSetPriority(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ScaleSetPriority(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The Virtual Machine Scale Set priority. """ @@ -525,14 +527,14 @@ class ScaleSetPriority(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Regular VMs will be used. REGULAR = "Regular" -class SnapshotType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SnapshotType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of a snapshot. The default is NodePool. """ #: The snapshot is a snapshot of a node pool. NODE_POOL = "NodePool" -class UpgradeChannel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class UpgradeChannel(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """For more information see `setting the AKS cluster auto-upgrade channel `_. """ @@ -562,7 +564,7 @@ class UpgradeChannel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): #: Disables auto-upgrades and keeps the cluster at its current version of Kubernetes. NONE = "none" -class WeekDay(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class WeekDay(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The weekday enum. """ @@ -574,7 +576,7 @@ class WeekDay(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): FRIDAY = "Friday" SATURDAY = "Saturday" -class WorkloadRuntime(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class WorkloadRuntime(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Determines the type of workload a node can run. """ diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/_models_py3.py new file mode 100644 index 00000000000..f0764c1601a --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/models/_models_py3.py @@ -0,0 +1,5984 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 + +import msrest.serialization + +from ._container_service_client_enums import * + + +class SubResource(msrest.serialization.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 + :ivar 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. + :vartype count: int + :ivar vm_size: VM size availability varies by region. If a node contains insufficient compute + resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted + VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. + :vartype vm_size: str + :ivar os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine + in the master/agent pool. If you specify 0, it will apply the default osDisk size according to + the vmSize specified. + :vartype os_disk_size_gb: int + :ivar os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk + larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed + after creation. For more information see `Ephemeral OS + `_. Possible values + include: "Managed", "Ephemeral". + :vartype os_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSDiskType + :ivar kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data + root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". + :vartype kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletDiskType + :ivar workload_runtime: Determines the type of workload a node can run. Possible values + include: "OCIContainer", "WasmWasi". + :vartype workload_runtime: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.WorkloadRuntime + :ivar message_of_the_day: A base64-encoded string which will be written to /etc/motd after + decoding. This allows customization of the message of the day for Linux nodes. It must not be + specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be + executed as a script). + :vartype message_of_the_day: str + :ivar vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. + If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just + nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :vartype vnet_subnet_id: str + :ivar pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see + vnetSubnetID for more details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :vartype pod_subnet_id: str + :ivar max_pods: The maximum number of pods that can run on a node. + :vartype max_pods: int + :ivar os_type: The operating system type. The default is Linux. Possible values include: + "Linux", "Windows". Default value: "Linux". + :vartype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :ivar os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. + Possible values include: "Ubuntu", "CBLMariner". + :vartype os_sku: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSSKU + :ivar max_count: The maximum number of nodes for auto-scaling. + :vartype max_count: int + :ivar min_count: The minimum number of nodes for auto-scaling. + :vartype min_count: int + :ivar enable_auto_scaling: Whether to enable auto-scaler. + :vartype enable_auto_scaling: bool + :ivar scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it + defaults to Delete. Possible values include: "Delete", "Deallocate". + :vartype scale_down_mode: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleDownMode + :ivar type_properties_type: The type of Agent Pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :vartype type_properties_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolType + :ivar mode: A cluster must have at least one 'System' Agent Pool at all times. For additional + information on agent pool restrictions and best practices, see: + https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", + "User". + :vartype mode: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolMode + :ivar orchestrator_version: As a best practice, you should upgrade all node pools in an AKS + cluster to the same Kubernetes version. The node pool version must have the same major version + as the control plane. The node pool minor version must be within two minor versions of the + control plane version. The node pool version cannot be greater than the control plane version. + For more information see `upgrading a node pool + `_. + :vartype orchestrator_version: str + :ivar node_image_version: The version of node image. + :vartype node_image_version: str + :ivar upgrade_settings: Settings for upgrading the agentpool. + :vartype upgrade_settings: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state. + :vartype provisioning_state: str + :ivar power_state: When an Agent Pool is first created it is initially Running. The Agent Pool + can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and + does not accrue billing charges. An Agent Pool can only be stopped if it is Running and + provisioning state is Succeeded. + :vartype power_state: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PowerState + :ivar availability_zones: The list of Availability zones to use for nodes. This can only be + specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :vartype availability_zones: list[str] + :ivar enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their + own dedicated public IP addresses. A common scenario is for gaming workloads, where a console + needs to make a direct connection to a cloud virtual machine to minimize hops. For more + information see `assigning a public IP per node + `_. + The default is false. + :vartype enable_node_public_ip: bool + :ivar node_public_ip_prefix_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. + :vartype node_public_ip_prefix_id: str + :ivar scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the default + is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". + :vartype scale_set_priority: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetPriority + :ivar scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is + 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", + "Deallocate". Default value: "Delete". + :vartype scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetEvictionPolicy + :ivar spot_max_price: Possible values are any decimal value greater than zero or -1 which + indicates the willingness to pay any on-demand price. For more details on spot pricing, see + `spot VMs pricing `_. + :vartype spot_max_price: float + :ivar tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale + set. + :vartype tags: dict[str, str] + :ivar node_labels: The node labels to be persisted across all nodes in agent pool. + :vartype node_labels: dict[str, str] + :ivar node_taints: The taints added to new nodes during node pool create and scale. For + example, key=value:NoSchedule. + :vartype node_taints: list[str] + :ivar proximity_placement_group_id: The ID for Proximity Placement Group. + :vartype proximity_placement_group_id: str + :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. + :vartype kubelet_config: ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletConfig + :ivar linux_os_config: The OS configuration of Linux agent nodes. + :vartype linux_os_config: ~azure.mgmt.containerservice.v2022_01_02_preview.models.LinuxOSConfig + :ivar enable_encryption_at_host: This is only supported on certain VM sizes and in certain + Azure regions. For more information, see: + https://docs.microsoft.com/azure/aks/enable-host-encryption. + :vartype enable_encryption_at_host: bool + :ivar enable_ultra_ssd: Whether to enable UltraSSD. + :vartype enable_ultra_ssd: bool + :ivar enable_fips: See `Add a FIPS-enabled node pool + `_ + for more details. + :vartype enable_fips: bool + :ivar gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". + :vartype gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.GPUInstanceProfile + :ivar creation_data: CreationData to be used to specify the source Snapshot ID if the node pool + will be created/upgraded using a snapshot. + :vartype creation_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreationData + :ivar capacity_reservation_group_id: AKS will associate the specified agent pool with the + Capacity Reservation Group. + :vartype capacity_reservation_group_id: str + :ivar host_group_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see `Azure dedicated hosts + `_. + :vartype host_group_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, + 'node_image_version': {'readonly': True}, + 'provisioning_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'}, + 'workload_runtime': {'key': 'properties.workloadRuntime', 'type': 'str'}, + 'message_of_the_day': {'key': 'properties.messageOfTheDay', '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'}, + 'scale_down_mode': {'key': 'properties.scaleDownMode', 'type': 'str'}, + 'type_properties_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'}, + 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, + 'capacity_reservation_group_id': {'key': 'properties.capacityReservationGroupID', 'type': 'str'}, + 'host_group_id': {'key': 'properties.hostGroupID', 'type': 'str'}, + } + + def __init__( + self, + *, + count: Optional[int] = None, + vm_size: Optional[str] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + workload_runtime: Optional[Union[str, "WorkloadRuntime"]] = None, + message_of_the_day: Optional[str] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + os_sku: Optional[Union[str, "OSSKU"]] = None, + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + scale_down_mode: Optional[Union[str, "ScaleDownMode"]] = None, + type_properties_type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + power_state: Optional["PowerState"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + node_public_ip_prefix_id: Optional[str] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + enable_ultra_ssd: Optional[bool] = None, + enable_fips: Optional[bool] = None, + gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, + creation_data: Optional["CreationData"] = None, + capacity_reservation_group_id: Optional[str] = None, + host_group_id: Optional[str] = None, + **kwargs + ): + """ + :keyword 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. + :paramtype count: int + :keyword vm_size: VM size availability varies by region. If a node contains insufficient + compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on + restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. + :paramtype vm_size: str + :keyword os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every + machine in the master/agent pool. If you specify 0, it will apply the default osDisk size + according to the vmSize specified. + :paramtype os_disk_size_gb: int + :keyword os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk + larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed + after creation. For more information see `Ephemeral OS + `_. Possible values + include: "Managed", "Ephemeral". + :paramtype os_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSDiskType + :keyword kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime + data root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". + :paramtype kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletDiskType + :keyword workload_runtime: Determines the type of workload a node can run. Possible values + include: "OCIContainer", "WasmWasi". + :paramtype workload_runtime: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.WorkloadRuntime + :keyword message_of_the_day: A base64-encoded string which will be written to /etc/motd after + decoding. This allows customization of the message of the day for Linux nodes. It must not be + specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be + executed as a script). + :paramtype message_of_the_day: str + :keyword vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and + used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to + just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :paramtype vnet_subnet_id: str + :keyword pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see + vnetSubnetID for more details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :paramtype pod_subnet_id: str + :keyword max_pods: The maximum number of pods that can run on a node. + :paramtype max_pods: int + :keyword os_type: The operating system type. The default is Linux. Possible values include: + "Linux", "Windows". Default value: "Linux". + :paramtype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :keyword os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. + Possible values include: "Ubuntu", "CBLMariner". + :paramtype os_sku: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSSKU + :keyword max_count: The maximum number of nodes for auto-scaling. + :paramtype max_count: int + :keyword min_count: The minimum number of nodes for auto-scaling. + :paramtype min_count: int + :keyword enable_auto_scaling: Whether to enable auto-scaler. + :paramtype enable_auto_scaling: bool + :keyword scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, + it defaults to Delete. Possible values include: "Delete", "Deallocate". + :paramtype scale_down_mode: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleDownMode + :keyword type_properties_type: The type of Agent Pool. Possible values include: + "VirtualMachineScaleSets", "AvailabilitySet". + :paramtype type_properties_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolType + :keyword mode: A cluster must have at least one 'System' Agent Pool at all times. For + additional information on agent pool restrictions and best practices, see: + https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", + "User". + :paramtype mode: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolMode + :keyword orchestrator_version: As a best practice, you should upgrade all node pools in an AKS + cluster to the same Kubernetes version. The node pool version must have the same major version + as the control plane. The node pool minor version must be within two minor versions of the + control plane version. The node pool version cannot be greater than the control plane version. + For more information see `upgrading a node pool + `_. + :paramtype orchestrator_version: str + :keyword upgrade_settings: Settings for upgrading the agentpool. + :paramtype upgrade_settings: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeSettings + :keyword power_state: When an Agent Pool is first created it is initially Running. The Agent + Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs + and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and + provisioning state is Succeeded. + :paramtype power_state: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PowerState + :keyword availability_zones: The list of Availability zones to use for nodes. This can only be + specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :paramtype availability_zones: list[str] + :keyword enable_node_public_ip: Some scenarios may require nodes in a node pool to receive + their own dedicated public IP addresses. A common scenario is for gaming workloads, where a + console needs to make a direct connection to a cloud virtual machine to minimize hops. For more + information see `assigning a public IP per node + `_. + The default is false. + :paramtype enable_node_public_ip: bool + :keyword node_public_ip_prefix_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. + :paramtype node_public_ip_prefix_id: str + :keyword scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the + default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". + :paramtype scale_set_priority: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetPriority + :keyword scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is + 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", + "Deallocate". Default value: "Delete". + :paramtype scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetEvictionPolicy + :keyword spot_max_price: Possible values are any decimal value greater than zero or -1 which + indicates the willingness to pay any on-demand price. For more details on spot pricing, see + `spot VMs pricing `_. + :paramtype spot_max_price: float + :keyword tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale + set. + :paramtype tags: dict[str, str] + :keyword node_labels: The node labels to be persisted across all nodes in agent pool. + :paramtype node_labels: dict[str, str] + :keyword node_taints: The taints added to new nodes during node pool create and scale. For + example, key=value:NoSchedule. + :paramtype node_taints: list[str] + :keyword proximity_placement_group_id: The ID for Proximity Placement Group. + :paramtype proximity_placement_group_id: str + :keyword kubelet_config: The Kubelet configuration on the agent pool nodes. + :paramtype kubelet_config: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletConfig + :keyword linux_os_config: The OS configuration of Linux agent nodes. + :paramtype linux_os_config: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.LinuxOSConfig + :keyword enable_encryption_at_host: This is only supported on certain VM sizes and in certain + Azure regions. For more information, see: + https://docs.microsoft.com/azure/aks/enable-host-encryption. + :paramtype enable_encryption_at_host: bool + :keyword enable_ultra_ssd: Whether to enable UltraSSD. + :paramtype enable_ultra_ssd: bool + :keyword enable_fips: See `Add a FIPS-enabled node pool + `_ + for more details. + :paramtype enable_fips: bool + :keyword gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance + profile for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", + "MIG7g". + :paramtype gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.GPUInstanceProfile + :keyword creation_data: CreationData to be used to specify the source Snapshot ID if the node + pool will be created/upgraded using a snapshot. + :paramtype creation_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreationData + :keyword capacity_reservation_group_id: AKS will associate the specified agent pool with the + Capacity Reservation Group. + :paramtype capacity_reservation_group_id: str + :keyword host_group_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see `Azure dedicated hosts + `_. + :paramtype host_group_id: str + """ + 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.workload_runtime = workload_runtime + self.message_of_the_day = message_of_the_day + 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.scale_down_mode = scale_down_mode + self.type_properties_type = type_properties_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 = power_state + 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 + self.creation_data = creation_data + self.capacity_reservation_group_id = capacity_reservation_group_id + self.host_group_id = host_group_id + + +class AgentPoolAvailableVersions(msrest.serialization.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: The ID of the agent pool version list. + :vartype id: str + :ivar name: The name of the agent pool version list. + :vartype name: str + :ivar type: Type of the agent pool version list. + :vartype type: str + :ivar agent_pool_versions: List of versions available for agent pool. + :vartype agent_pool_versions: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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: Optional[List["AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem"]] = None, + **kwargs + ): + """ + :keyword agent_pool_versions: List of versions available for agent pool. + :paramtype agent_pool_versions: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem] + """ + super(AgentPoolAvailableVersions, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.agent_pool_versions = agent_pool_versions + + +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(msrest.serialization.Model): + """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. + + :ivar default: Whether this version is the default agent pool version. + :vartype default: bool + :ivar kubernetes_version: The Kubernetes version (major.minor.patch). + :vartype kubernetes_version: str + :ivar is_preview: Whether Kubernetes version is currently in preview. + :vartype 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: Optional[bool] = None, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): + """ + :keyword default: Whether this version is the default agent pool version. + :paramtype default: bool + :keyword kubernetes_version: The Kubernetes version (major.minor.patch). + :paramtype kubernetes_version: str + :keyword is_preview: Whether Kubernetes version is currently in preview. + :paramtype is_preview: bool + """ + super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) + self.default = default + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class AgentPoolListResult(msrest.serialization.Model): + """The response from the List Agent Pools operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of agent pools. + :vartype value: list[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool] + :ivar next_link: The URL to get the next set of agent pool results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AgentPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["AgentPool"]] = None, + **kwargs + ): + """ + :keyword value: The list of agent pools. + :paramtype value: list[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool] + """ + super(AgentPoolListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class AgentPoolUpgradeProfile(msrest.serialization.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: The ID of the agent pool upgrade profile. + :vartype id: str + :ivar name: The name of the agent pool upgrade profile. + :vartype name: str + :ivar type: The type of the agent pool upgrade profile. + :vartype type: str + :ivar kubernetes_version: Required. The Kubernetes version (major.minor.patch). + :vartype kubernetes_version: str + :ivar os_type: Required. The operating system type. The default is Linux. Possible values + include: "Linux", "Windows". Default value: "Linux". + :vartype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :ivar upgrades: List of orchestrator types and versions available for upgrade. + :vartype upgrades: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] + :ivar latest_node_image_version: The latest AKS supported node image version. + :vartype 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: Union[str, "OSType"] = "Linux", + upgrades: Optional[List["AgentPoolUpgradeProfilePropertiesUpgradesItem"]] = None, + latest_node_image_version: Optional[str] = None, + **kwargs + ): + """ + :keyword kubernetes_version: Required. The Kubernetes version (major.minor.patch). + :paramtype kubernetes_version: str + :keyword os_type: Required. The operating system type. The default is Linux. Possible values + include: "Linux", "Windows". Default value: "Linux". + :paramtype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :keyword upgrades: List of orchestrator types and versions available for upgrade. + :paramtype upgrades: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] + :keyword latest_node_image_version: The latest AKS supported node image version. + :paramtype latest_node_image_version: str + """ + 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(msrest.serialization.Model): + """AgentPoolUpgradeProfilePropertiesUpgradesItem. + + :ivar kubernetes_version: The Kubernetes version (major.minor.patch). + :vartype kubernetes_version: str + :ivar is_preview: Whether the Kubernetes version is currently in preview. + :vartype is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__( + self, + *, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): + """ + :keyword kubernetes_version: The Kubernetes version (major.minor.patch). + :paramtype kubernetes_version: str + :keyword is_preview: Whether the Kubernetes version is currently in preview. + :paramtype is_preview: bool + """ + super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class AgentPoolUpgradeSettings(msrest.serialization.Model): + """Settings for upgrading an agentpool. + + :ivar max_surge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). + If a percentage is specified, it is the percentage of the total agent pool size at the time of + the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is + 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade. + :vartype max_surge: str + """ + + _attribute_map = { + 'max_surge': {'key': 'maxSurge', 'type': 'str'}, + } + + def __init__( + self, + *, + max_surge: Optional[str] = None, + **kwargs + ): + """ + :keyword max_surge: This can either be set to an integer (e.g. '5') or a percentage (e.g. + '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the + time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the + default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade. + :paramtype max_surge: str + """ + super(AgentPoolUpgradeSettings, self).__init__(**kwargs) + self.max_surge = max_surge + + +class CloudErrorBody(msrest.serialization.Model): + """An error response from the Container service. + + :ivar code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :vartype code: str + :ivar message: A message describing the error, intended to be suitable for display in a user + interface. + :vartype message: str + :ivar target: The target of the particular error. For example, the name of the property in + error. + :vartype target: str + :ivar details: A list of additional details about the error. + :vartype details: list[~azure.mgmt.containerservice.v2022_01_02_preview.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: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["CloudErrorBody"]] = None, + **kwargs + ): + """ + :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :paramtype code: str + :keyword message: A message describing the error, intended to be suitable for display in a user + interface. + :paramtype message: str + :keyword target: The target of the particular error. For example, the name of the property in + error. + :paramtype target: str + :keyword details: A list of additional details about the error. + :paramtype details: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.CloudErrorBody] + """ + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class ContainerServiceDiagnosticsProfile(msrest.serialization.Model): + """Profile for diagnostics on the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :ivar vm_diagnostics: Required. Profile for diagnostics on the container service VMs. + :vartype vm_diagnostics: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceVMDiagnostics + """ + + _validation = { + 'vm_diagnostics': {'required': True}, + } + + _attribute_map = { + 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, + } + + def __init__( + self, + *, + vm_diagnostics: "ContainerServiceVMDiagnostics", + **kwargs + ): + """ + :keyword vm_diagnostics: Required. Profile for diagnostics on the container service VMs. + :paramtype vm_diagnostics: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceVMDiagnostics + """ + super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) + self.vm_diagnostics = vm_diagnostics + + +class ContainerServiceLinuxProfile(msrest.serialization.Model): + """Profile for Linux VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :ivar admin_username: Required. The administrator username to use for Linux VMs. + :vartype admin_username: str + :ivar ssh: Required. The SSH configuration for Linux-based VMs running on Azure. + :vartype ssh: + ~azure.mgmt.containerservice.v2022_01_02_preview.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: "ContainerServiceSshConfiguration", + **kwargs + ): + """ + :keyword admin_username: Required. The administrator username to use for Linux VMs. + :paramtype admin_username: str + :keyword ssh: Required. The SSH configuration for Linux-based VMs running on Azure. + :paramtype ssh: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceSshConfiguration + """ + super(ContainerServiceLinuxProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.ssh = ssh + + +class ContainerServiceMasterProfile(msrest.serialization.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. + + :ivar count: Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, + and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". + :vartype count: int or ~azure.mgmt.containerservice.v2022_01_02_preview.models.Count + :ivar dns_prefix: Required. DNS prefix to be used to create the FQDN for the master pool. + :vartype dns_prefix: str + :ivar 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". + :vartype vm_size: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceVMSizeTypes + :ivar 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. + :vartype os_disk_size_gb: int + :ivar vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. + :vartype vnet_subnet_id: str + :ivar first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static ip + of masters. + :vartype first_consecutive_static_ip: str + :ivar 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". + :vartype storage_profile: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, + '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: Union[str, "ContainerServiceVMSizeTypes"], + count: Optional[Union[int, "Count"]] = 1, + os_disk_size_gb: Optional[int] = None, + vnet_subnet_id: Optional[str] = None, + first_consecutive_static_ip: Optional[str] = "10.240.255.5", + storage_profile: Optional[Union[str, "ContainerServiceStorageProfileTypes"]] = None, + **kwargs + ): + """ + :keyword count: Number of masters (VMs) in the container service cluster. Allowed values are 1, + 3, and 5. The default value is 1. Possible values include: 1, 3, 5. Default value: "1". + :paramtype count: int or ~azure.mgmt.containerservice.v2022_01_02_preview.models.Count + :keyword dns_prefix: Required. DNS prefix to be used to create the FQDN for the master pool. + :paramtype dns_prefix: str + :keyword 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". + :paramtype vm_size: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceVMSizeTypes + :keyword 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. + :paramtype os_disk_size_gb: int + :keyword vnet_subnet_id: VNet SubnetID specifies the VNet's subnet identifier. + :paramtype vnet_subnet_id: str + :keyword first_consecutive_static_ip: FirstConsecutiveStaticIP used to specify the first static + ip of masters. + :paramtype first_consecutive_static_ip: str + :keyword 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". + :paramtype storage_profile: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceStorageProfileTypes + """ + 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(msrest.serialization.Model): + """Profile of network configuration. + + :ivar network_plugin: Network plugin used for building the Kubernetes network. Possible values + include: "azure", "kubenet", "none". Default value: "kubenet". + :vartype network_plugin: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.NetworkPlugin + :ivar network_policy: Network policy used for building the Kubernetes network. Possible values + include: "calico", "azure". + :vartype network_policy: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.NetworkPolicy + :ivar network_mode: This cannot be specified if networkPlugin is anything other than 'azure'. + Possible values include: "transparent", "bridge". + :vartype network_mode: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.NetworkMode + :ivar pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + :vartype pod_cidr: str + :ivar service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It must + not overlap with any Subnet IP ranges. + :vartype service_cidr: str + :ivar dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be within + the Kubernetes service address range specified in serviceCidr. + :vartype dns_service_ip: str + :ivar 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. + :vartype docker_bridge_cidr: str + :ivar outbound_type: This can only be set at cluster creation time and cannot be changed later. + For more information see `egress outbound type + `_. Possible values include: + "loadBalancer", "userDefinedRouting", "managedNATGateway", "userAssignedNATGateway". Default + value: "loadBalancer". + :vartype outbound_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.OutboundType + :ivar load_balancer_sku: The default is 'standard'. See `Azure Load Balancer SKUs + `_ for more information about the + differences between load balancer SKUs. Possible values include: "standard", "basic". + :vartype load_balancer_sku: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.LoadBalancerSku + :ivar load_balancer_profile: Profile of the cluster load balancer. + :vartype load_balancer_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterLoadBalancerProfile + :ivar nat_gateway_profile: Profile of the cluster NAT gateway. + :vartype nat_gateway_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterNATGatewayProfile + :ivar pod_cidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each + IP family (IPv4/IPv6), is expected for dual-stack networking. + :vartype pod_cidrs: list[str] + :ivar service_cidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for + each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with + any Subnet IP ranges. + :vartype service_cidrs: list[str] + :ivar ip_families: IP families are used to determine single-stack or dual-stack clusters. For + single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and + IPv6. + :vartype ip_families: list[str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.IpFamily] + """ + + _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'}, + 'nat_gateway_profile': {'key': 'natGatewayProfile', 'type': 'ManagedClusterNATGatewayProfile'}, + 'pod_cidrs': {'key': 'podCidrs', 'type': '[str]'}, + 'service_cidrs': {'key': 'serviceCidrs', 'type': '[str]'}, + 'ip_families': {'key': 'ipFamilies', 'type': '[str]'}, + } + + def __init__( + self, + *, + network_plugin: Optional[Union[str, "NetworkPlugin"]] = "kubenet", + network_policy: Optional[Union[str, "NetworkPolicy"]] = None, + network_mode: Optional[Union[str, "NetworkMode"]] = None, + pod_cidr: Optional[str] = "10.244.0.0/16", + service_cidr: Optional[str] = "10.0.0.0/16", + dns_service_ip: Optional[str] = "10.0.0.10", + docker_bridge_cidr: Optional[str] = "172.17.0.1/16", + outbound_type: Optional[Union[str, "OutboundType"]] = "loadBalancer", + load_balancer_sku: Optional[Union[str, "LoadBalancerSku"]] = None, + load_balancer_profile: Optional["ManagedClusterLoadBalancerProfile"] = None, + nat_gateway_profile: Optional["ManagedClusterNATGatewayProfile"] = None, + pod_cidrs: Optional[List[str]] = None, + service_cidrs: Optional[List[str]] = None, + ip_families: Optional[List[Union[str, "IpFamily"]]] = None, + **kwargs + ): + """ + :keyword network_plugin: Network plugin used for building the Kubernetes network. Possible + values include: "azure", "kubenet", "none". Default value: "kubenet". + :paramtype network_plugin: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.NetworkPlugin + :keyword network_policy: Network policy used for building the Kubernetes network. Possible + values include: "calico", "azure". + :paramtype network_policy: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.NetworkPolicy + :keyword network_mode: This cannot be specified if networkPlugin is anything other than + 'azure'. Possible values include: "transparent", "bridge". + :paramtype network_mode: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.NetworkMode + :keyword pod_cidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + :paramtype pod_cidr: str + :keyword service_cidr: A CIDR notation IP range from which to assign service cluster IPs. It + must not overlap with any Subnet IP ranges. + :paramtype service_cidr: str + :keyword dns_service_ip: An IP address assigned to the Kubernetes DNS service. It must be + within the Kubernetes service address range specified in serviceCidr. + :paramtype dns_service_ip: str + :keyword 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. + :paramtype docker_bridge_cidr: str + :keyword outbound_type: This can only be set at cluster creation time and cannot be changed + later. For more information see `egress outbound type + `_. Possible values include: + "loadBalancer", "userDefinedRouting", "managedNATGateway", "userAssignedNATGateway". Default + value: "loadBalancer". + :paramtype outbound_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.OutboundType + :keyword load_balancer_sku: The default is 'standard'. See `Azure Load Balancer SKUs + `_ for more information about the + differences between load balancer SKUs. Possible values include: "standard", "basic". + :paramtype load_balancer_sku: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.LoadBalancerSku + :keyword load_balancer_profile: Profile of the cluster load balancer. + :paramtype load_balancer_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterLoadBalancerProfile + :keyword nat_gateway_profile: Profile of the cluster NAT gateway. + :paramtype nat_gateway_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterNATGatewayProfile + :keyword pod_cidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for + each IP family (IPv4/IPv6), is expected for dual-stack networking. + :paramtype pod_cidrs: list[str] + :keyword service_cidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one + for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap + with any Subnet IP ranges. + :paramtype service_cidrs: list[str] + :keyword ip_families: IP families are used to determine single-stack or dual-stack clusters. + For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and + IPv6. + :paramtype ip_families: list[str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.IpFamily] + """ + 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 + self.nat_gateway_profile = nat_gateway_profile + self.pod_cidrs = pod_cidrs + self.service_cidrs = service_cidrs + self.ip_families = ip_families + + +class ContainerServiceSshConfiguration(msrest.serialization.Model): + """SSH configuration for Linux-based VMs running on Azure. + + All required parameters must be populated in order to send to Azure. + + :ivar public_keys: Required. The list of SSH public keys used to authenticate with Linux-based + VMs. A maximum of 1 key may be specified. + :vartype public_keys: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceSshPublicKey] + """ + + _validation = { + 'public_keys': {'required': True}, + } + + _attribute_map = { + 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, + } + + def __init__( + self, + *, + public_keys: List["ContainerServiceSshPublicKey"], + **kwargs + ): + """ + :keyword public_keys: Required. The list of SSH public keys used to authenticate with + Linux-based VMs. A maximum of 1 key may be specified. + :paramtype public_keys: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceSshPublicKey] + """ + super(ContainerServiceSshConfiguration, self).__init__(**kwargs) + self.public_keys = public_keys + + +class ContainerServiceSshPublicKey(msrest.serialization.Model): + """Contains information about SSH certificate public key data. + + All required parameters must be populated in order to send to Azure. + + :ivar key_data: Required. Certificate public key used to authenticate with VMs through SSH. The + certificate must be in PEM format with or without headers. + :vartype key_data: str + """ + + _validation = { + 'key_data': {'required': True}, + } + + _attribute_map = { + 'key_data': {'key': 'keyData', 'type': 'str'}, + } + + def __init__( + self, + *, + key_data: str, + **kwargs + ): + """ + :keyword key_data: Required. Certificate public key used to authenticate with VMs through SSH. + The certificate must be in PEM format with or without headers. + :paramtype key_data: str + """ + super(ContainerServiceSshPublicKey, self).__init__(**kwargs) + self.key_data = key_data + + +class ContainerServiceVMDiagnostics(msrest.serialization.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. + + :ivar enabled: Required. Whether the VM diagnostic agent is provisioned on the VM. + :vartype 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 + ): + """ + :keyword enabled: Required. Whether the VM diagnostic agent is provisioned on the VM. + :paramtype enabled: bool + """ + super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) + self.enabled = enabled + self.storage_uri = None + + +class CreationData(msrest.serialization.Model): + """Data used when creating a target resource from a source resource. + + :ivar source_resource_id: This is the ARM ID of the source object to be used to create the + target object. + :vartype source_resource_id: str + """ + + _attribute_map = { + 'source_resource_id': {'key': 'sourceResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + source_resource_id: Optional[str] = None, + **kwargs + ): + """ + :keyword source_resource_id: This is the ARM ID of the source object to be used to create the + target object. + :paramtype source_resource_id: str + """ + super(CreationData, self).__init__(**kwargs) + self.source_resource_id = source_resource_id + + +class CredentialResult(msrest.serialization.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(msrest.serialization.Model): + """The list 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.v2022_01_02_preview.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(msrest.serialization.Model): + """A domain name that AKS agent nodes are reaching at. + + :ivar domain_name: The domain name of the dependency. + :vartype domain_name: str + :ivar endpoint_details: The Ports and Protocols used when connecting to domainName. + :vartype endpoint_details: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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 + ): + """ + :keyword domain_name: The domain name of the dependency. + :paramtype domain_name: str + :keyword endpoint_details: The Ports and Protocols used when connecting to domainName. + :paramtype endpoint_details: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.EndpointDetail] + """ + super(EndpointDependency, self).__init__(**kwargs) + self.domain_name = domain_name + self.endpoint_details = endpoint_details + + +class EndpointDetail(msrest.serialization.Model): + """connect information from the AKS agent nodes to a single endpoint. + + :ivar ip_address: An IP Address that Domain Name currently resolves to. + :vartype ip_address: str + :ivar port: The port an endpoint is connected to. + :vartype port: int + :ivar protocol: The protocol used for connection. + :vartype protocol: str + :ivar description: Description of the detail. + :vartype 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: Optional[str] = None, + port: Optional[int] = None, + protocol: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword ip_address: An IP Address that Domain Name currently resolves to. + :paramtype ip_address: str + :keyword port: The port an endpoint is connected to. + :paramtype port: int + :keyword protocol: The protocol used for connection. + :paramtype protocol: str + :keyword description: Description of the detail. + :paramtype description: str + """ + super(EndpointDetail, self).__init__(**kwargs) + self.ip_address = ip_address + self.port = port + self.protocol = protocol + self.description = description + + +class ExtendedLocation(msrest.serialization.Model): + """The complex type of the extended location. + + :ivar name: The name of the extended location. + :vartype name: str + :ivar type: The type of the extended location. Possible values include: "EdgeZone". + :vartype type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ExtendedLocationTypes + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "ExtendedLocationTypes"]] = None, + **kwargs + ): + """ + :keyword name: The name of the extended location. + :paramtype name: str + :keyword type: The type of the extended location. Possible values include: "EdgeZone". + :paramtype type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ExtendedLocationTypes + """ + super(ExtendedLocation, self).__init__(**kwargs) + self.name = name + self.type = type + + +class KubeletConfig(msrest.serialization.Model): + """See `AKS custom node configuration `_ for more details. + + :ivar cpu_manager_policy: The default is 'none'. See `Kubernetes CPU management policies + `_ + for more information. Allowed values are 'none' and 'static'. + :vartype cpu_manager_policy: str + :ivar cpu_cfs_quota: The default is true. + :vartype cpu_cfs_quota: bool + :ivar cpu_cfs_quota_period: The default is '100ms.' Valid values are a sequence of decimal + numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported + units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + :vartype cpu_cfs_quota_period: str + :ivar image_gc_high_threshold: To disable image garbage collection, set to 100. The default is + 85%. + :vartype image_gc_high_threshold: int + :ivar image_gc_low_threshold: This cannot be set higher than imageGcHighThreshold. The default + is 80%. + :vartype image_gc_low_threshold: int + :ivar topology_manager_policy: For more information see `Kubernetes Topology Manager + `_. The default is + 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + :vartype topology_manager_policy: str + :ivar allowed_unsafe_sysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending + in ``*``\ ). + :vartype allowed_unsafe_sysctls: list[str] + :ivar fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled on + the node. + :vartype fail_swap_on: bool + :ivar container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before it + is rotated. + :vartype container_log_max_size_mb: int + :ivar container_log_max_files: The maximum number of container log files that can be present + for a container. The number must be ≥ 2. + :vartype container_log_max_files: int + :ivar pod_max_pids: The maximum number of processes per pod. + :vartype 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: Optional[str] = None, + cpu_cfs_quota: Optional[bool] = None, + cpu_cfs_quota_period: Optional[str] = None, + image_gc_high_threshold: Optional[int] = None, + image_gc_low_threshold: Optional[int] = None, + topology_manager_policy: Optional[str] = None, + allowed_unsafe_sysctls: Optional[List[str]] = None, + fail_swap_on: Optional[bool] = None, + container_log_max_size_mb: Optional[int] = None, + container_log_max_files: Optional[int] = None, + pod_max_pids: Optional[int] = None, + **kwargs + ): + """ + :keyword cpu_manager_policy: The default is 'none'. See `Kubernetes CPU management policies + `_ + for more information. Allowed values are 'none' and 'static'. + :paramtype cpu_manager_policy: str + :keyword cpu_cfs_quota: The default is true. + :paramtype cpu_cfs_quota: bool + :keyword cpu_cfs_quota_period: The default is '100ms.' Valid values are a sequence of decimal + numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported + units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + :paramtype cpu_cfs_quota_period: str + :keyword image_gc_high_threshold: To disable image garbage collection, set to 100. The default + is 85%. + :paramtype image_gc_high_threshold: int + :keyword image_gc_low_threshold: This cannot be set higher than imageGcHighThreshold. The + default is 80%. + :paramtype image_gc_low_threshold: int + :keyword topology_manager_policy: For more information see `Kubernetes Topology Manager + `_. The default is + 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + :paramtype topology_manager_policy: str + :keyword allowed_unsafe_sysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns + (ending in ``*``\ ). + :paramtype allowed_unsafe_sysctls: list[str] + :keyword fail_swap_on: If set to true it will make the Kubelet fail to start if swap is enabled + on the node. + :paramtype fail_swap_on: bool + :keyword container_log_max_size_mb: The maximum size (e.g. 10Mi) of container log file before + it is rotated. + :paramtype container_log_max_size_mb: int + :keyword container_log_max_files: The maximum number of container log files that can be present + for a container. The number must be ≥ 2. + :paramtype container_log_max_files: int + :keyword pod_max_pids: The maximum number of processes per pod. + :paramtype pod_max_pids: int + """ + 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(msrest.serialization.Model): + """See `AKS custom node configuration `_ for more details. + + :ivar sysctls: Sysctl settings for Linux agent nodes. + :vartype sysctls: ~azure.mgmt.containerservice.v2022_01_02_preview.models.SysctlConfig + :ivar transparent_huge_page_enabled: Valid values are 'always', 'madvise', and 'never'. The + default is 'always'. For more information see `Transparent Hugepages + `_. + :vartype transparent_huge_page_enabled: str + :ivar transparent_huge_page_defrag: Valid values are 'always', 'defer', 'defer+madvise', + 'madvise' and 'never'. The default is 'madvise'. For more information see `Transparent + Hugepages + `_. + :vartype transparent_huge_page_defrag: str + :ivar swap_file_size_mb: The size in MB of a swap file that will be created on each node. + :vartype 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: Optional["SysctlConfig"] = None, + transparent_huge_page_enabled: Optional[str] = None, + transparent_huge_page_defrag: Optional[str] = None, + swap_file_size_mb: Optional[int] = None, + **kwargs + ): + """ + :keyword sysctls: Sysctl settings for Linux agent nodes. + :paramtype sysctls: ~azure.mgmt.containerservice.v2022_01_02_preview.models.SysctlConfig + :keyword transparent_huge_page_enabled: Valid values are 'always', 'madvise', and 'never'. The + default is 'always'. For more information see `Transparent Hugepages + `_. + :paramtype transparent_huge_page_enabled: str + :keyword transparent_huge_page_defrag: Valid values are 'always', 'defer', 'defer+madvise', + 'madvise' and 'never'. The default is 'madvise'. For more information see `Transparent + Hugepages + `_. + :paramtype transparent_huge_page_defrag: str + :keyword swap_file_size_mb: The size in MB of a swap file that will be created on each node. + :paramtype swap_file_size_mb: int + """ + 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): + """See `planned maintenance `_ for more information about planned maintenance. + + 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 metadata relating to this resource. + :vartype system_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.SystemData + :ivar time_in_week: If two array entries specify the same day of the week, the applied + configuration is the union of times in both entries. + :vartype time_in_week: list[~azure.mgmt.containerservice.v2022_01_02_preview.models.TimeInWeek] + :ivar not_allowed_time: Time slots on which upgrade is not allowed. + :vartype not_allowed_time: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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: Optional[List["TimeInWeek"]] = None, + not_allowed_time: Optional[List["TimeSpan"]] = None, + **kwargs + ): + """ + :keyword time_in_week: If two array entries specify the same day of the week, the applied + configuration is the union of times in both entries. + :paramtype time_in_week: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.TimeInWeek] + :keyword not_allowed_time: Time slots on which upgrade is not allowed. + :paramtype not_allowed_time: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.TimeSpan] + """ + super(MaintenanceConfiguration, self).__init__(**kwargs) + self.system_data = None + self.time_in_week = time_in_week + self.not_allowed_time = not_allowed_time + + +class MaintenanceConfigurationListResult(msrest.serialization.Model): + """The response from the List maintenance configurations operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of maintenance configurations. + :vartype value: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.MaintenanceConfiguration] + :ivar next_link: The URL to get the next set of maintenance configuration results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MaintenanceConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["MaintenanceConfiguration"]] = None, + **kwargs + ): + """ + :keyword value: The list of maintenance configurations. + :paramtype value: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.MaintenanceConfiguration] + """ + super(MaintenanceConfigurationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Resource(msrest.serialization.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 + :ivar location: Required. Resource location. + :vartype location: str + :ivar tags: A set of tags. Resource tags. + :vartype 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: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword location: Required. Resource location. + :paramtype location: str + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + """ + 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 + :ivar location: Required. Resource location. + :vartype location: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar sku: The managed cluster SKU. + :vartype sku: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSKU + :ivar extended_location: The extended location of the Virtual Machine. + :vartype extended_location: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ExtendedLocation + :ivar identity: The identity of the managed cluster, if configured. + :vartype identity: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterIdentity + :ivar provisioning_state: The current provisioning state. + :vartype provisioning_state: str + :ivar power_state: The Power State of the cluster. + :vartype power_state: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PowerState + :ivar max_agent_pools: The max number of agent pools for the managed cluster. + :vartype max_agent_pools: int + :ivar kubernetes_version: When you upgrade a supported AKS cluster, Kubernetes minor versions + cannot be skipped. All upgrades must be performed sequentially by major version number. For + example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> + 1.16.x is not allowed. See `upgrading an AKS cluster + `_ for more details. + :vartype kubernetes_version: str + :ivar current_kubernetes_version: The version of Kubernetes the Managed Cluster is running. + :vartype current_kubernetes_version: str + :ivar dns_prefix: This cannot be updated once the Managed Cluster has been created. + :vartype dns_prefix: str + :ivar fqdn_subdomain: This cannot be updated once the Managed Cluster has been created. + :vartype fqdn_subdomain: str + :ivar fqdn: The FQDN of the master pool. + :vartype fqdn: str + :ivar private_fqdn: The FQDN of private cluster. + :vartype private_fqdn: str + :ivar azure_portal_fqdn: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) + headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. + This special FQDN supports CORS, allowing the Azure Portal to function properly. + :vartype azure_portal_fqdn: str + :ivar agent_pool_profiles: The agent pool properties. + :vartype agent_pool_profiles: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAgentPoolProfile] + :ivar linux_profile: The profile for Linux VMs in the Managed Cluster. + :vartype linux_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceLinuxProfile + :ivar windows_profile: The profile for Windows VMs in the Managed Cluster. + :vartype windows_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterWindowsProfile + :ivar service_principal_profile: Information about a service principal identity for the cluster + to use for manipulating Azure APIs. + :vartype service_principal_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterServicePrincipalProfile + :ivar addon_profiles: The profile of managed cluster add-on. + :vartype addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAddonProfile] + :ivar pod_identity_profile: See `use AAD pod identity + `_ for more details on AAD pod + identity integration. + :vartype pod_identity_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityProfile + :ivar oidc_issuer_profile: The OIDC issuer profile of the Managed Cluster. + :vartype oidc_issuer_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterOIDCIssuerProfile + :ivar node_resource_group: The name of the resource group containing agent pool nodes. + :vartype node_resource_group: str + :ivar enable_rbac: Whether to enable Kubernetes Role-Based Access Control. + :vartype enable_rbac: bool + :ivar 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. + :vartype enable_pod_security_policy: bool + :ivar enable_namespace_resources: The default value is false. It can be enabled/disabled on + creation and updation of the managed cluster. See `https://aka.ms/NamespaceARMResource + `_ for more details on Namespace as a ARM Resource. + :vartype enable_namespace_resources: bool + :ivar network_profile: The network configuration profile. + :vartype network_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceNetworkProfile + :ivar aad_profile: The Azure Active Directory configuration. + :vartype aad_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAADProfile + :ivar auto_upgrade_profile: The auto upgrade configuration. + :vartype auto_upgrade_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAutoUpgradeProfile + :ivar auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. + :vartype auto_scaler_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPropertiesAutoScalerProfile + :ivar api_server_access_profile: The access profile for managed cluster API server. + :vartype api_server_access_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAPIServerAccessProfile + :ivar disk_encryption_set_id: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'. + :vartype disk_encryption_set_id: str + :ivar identity_profile: Identities associated with the cluster. + :vartype identity_profile: dict[str, + ~azure.mgmt.containerservice.v2022_01_02_preview.models.UserAssignedIdentity] + :ivar private_link_resources: Private link resources associated with the cluster. + :vartype private_link_resources: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResource] + :ivar disable_local_accounts: If set to true, getting static credentials will be disabled for + this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details + see `disable local accounts + `_. + :vartype disable_local_accounts: bool + :ivar http_proxy_config: Configurations for provisioning the cluster with HTTP proxy servers. + :vartype http_proxy_config: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterHTTPProxyConfig + :ivar security_profile: Security profile for the managed cluster. + :vartype security_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSecurityProfile + :ivar public_network_access: Allow or deny public network access for AKS. Possible values + include: "Enabled", "Disabled". + :vartype public_network_access: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PublicNetworkAccess + """ + + _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}, + 'current_kubernetes_version': {'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}'}, + 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + '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'}, + 'current_kubernetes_version': {'key': 'properties.currentKubernetesVersion', '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'}, + 'oidc_issuer_profile': {'key': 'properties.oidcIssuerProfile', 'type': 'ManagedClusterOIDCIssuerProfile'}, + 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, + 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, + 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, + 'enable_namespace_resources': {'key': 'properties.enableNamespaceResources', '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': '{UserAssignedIdentity}'}, + 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, + 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, + 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, + 'security_profile': {'key': 'properties.securityProfile', 'type': 'ManagedClusterSecurityProfile'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + sku: Optional["ManagedClusterSKU"] = None, + extended_location: Optional["ExtendedLocation"] = None, + identity: Optional["ManagedClusterIdentity"] = None, + kubernetes_version: Optional[str] = None, + dns_prefix: Optional[str] = None, + fqdn_subdomain: Optional[str] = None, + agent_pool_profiles: Optional[List["ManagedClusterAgentPoolProfile"]] = None, + linux_profile: Optional["ContainerServiceLinuxProfile"] = None, + windows_profile: Optional["ManagedClusterWindowsProfile"] = None, + service_principal_profile: Optional["ManagedClusterServicePrincipalProfile"] = None, + addon_profiles: Optional[Dict[str, "ManagedClusterAddonProfile"]] = None, + pod_identity_profile: Optional["ManagedClusterPodIdentityProfile"] = None, + oidc_issuer_profile: Optional["ManagedClusterOIDCIssuerProfile"] = None, + node_resource_group: Optional[str] = None, + enable_rbac: Optional[bool] = None, + enable_pod_security_policy: Optional[bool] = None, + enable_namespace_resources: Optional[bool] = None, + network_profile: Optional["ContainerServiceNetworkProfile"] = None, + aad_profile: Optional["ManagedClusterAADProfile"] = None, + auto_upgrade_profile: Optional["ManagedClusterAutoUpgradeProfile"] = None, + auto_scaler_profile: Optional["ManagedClusterPropertiesAutoScalerProfile"] = None, + api_server_access_profile: Optional["ManagedClusterAPIServerAccessProfile"] = None, + disk_encryption_set_id: Optional[str] = None, + identity_profile: Optional[Dict[str, "UserAssignedIdentity"]] = None, + private_link_resources: Optional[List["PrivateLinkResource"]] = None, + disable_local_accounts: Optional[bool] = None, + http_proxy_config: Optional["ManagedClusterHTTPProxyConfig"] = None, + security_profile: Optional["ManagedClusterSecurityProfile"] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + **kwargs + ): + """ + :keyword location: Required. Resource location. + :paramtype location: str + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword sku: The managed cluster SKU. + :paramtype sku: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSKU + :keyword extended_location: The extended location of the Virtual Machine. + :paramtype extended_location: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ExtendedLocation + :keyword identity: The identity of the managed cluster, if configured. + :paramtype identity: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterIdentity + :keyword kubernetes_version: When you upgrade a supported AKS cluster, Kubernetes minor + versions cannot be skipped. All upgrades must be performed sequentially by major version + number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however + 1.14.x -> 1.16.x is not allowed. See `upgrading an AKS cluster + `_ for more details. + :paramtype kubernetes_version: str + :keyword dns_prefix: This cannot be updated once the Managed Cluster has been created. + :paramtype dns_prefix: str + :keyword fqdn_subdomain: This cannot be updated once the Managed Cluster has been created. + :paramtype fqdn_subdomain: str + :keyword agent_pool_profiles: The agent pool properties. + :paramtype agent_pool_profiles: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAgentPoolProfile] + :keyword linux_profile: The profile for Linux VMs in the Managed Cluster. + :paramtype linux_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceLinuxProfile + :keyword windows_profile: The profile for Windows VMs in the Managed Cluster. + :paramtype windows_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterWindowsProfile + :keyword service_principal_profile: Information about a service principal identity for the + cluster to use for manipulating Azure APIs. + :paramtype service_principal_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterServicePrincipalProfile + :keyword addon_profiles: The profile of managed cluster add-on. + :paramtype addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAddonProfile] + :keyword pod_identity_profile: See `use AAD pod identity + `_ for more details on AAD pod + identity integration. + :paramtype pod_identity_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityProfile + :keyword oidc_issuer_profile: The OIDC issuer profile of the Managed Cluster. + :paramtype oidc_issuer_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterOIDCIssuerProfile + :keyword node_resource_group: The name of the resource group containing agent pool nodes. + :paramtype node_resource_group: str + :keyword enable_rbac: Whether to enable Kubernetes Role-Based Access Control. + :paramtype enable_rbac: bool + :keyword 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. + :paramtype enable_pod_security_policy: bool + :keyword enable_namespace_resources: The default value is false. It can be enabled/disabled on + creation and updation of the managed cluster. See `https://aka.ms/NamespaceARMResource + `_ for more details on Namespace as a ARM Resource. + :paramtype enable_namespace_resources: bool + :keyword network_profile: The network configuration profile. + :paramtype network_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ContainerServiceNetworkProfile + :keyword aad_profile: The Azure Active Directory configuration. + :paramtype aad_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAADProfile + :keyword auto_upgrade_profile: The auto upgrade configuration. + :paramtype auto_upgrade_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAutoUpgradeProfile + :keyword auto_scaler_profile: Parameters to be applied to the cluster-autoscaler when enabled. + :paramtype auto_scaler_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPropertiesAutoScalerProfile + :keyword api_server_access_profile: The access profile for managed cluster API server. + :paramtype api_server_access_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAPIServerAccessProfile + :keyword disk_encryption_set_id: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'. + :paramtype disk_encryption_set_id: str + :keyword identity_profile: Identities associated with the cluster. + :paramtype identity_profile: dict[str, + ~azure.mgmt.containerservice.v2022_01_02_preview.models.UserAssignedIdentity] + :keyword private_link_resources: Private link resources associated with the cluster. + :paramtype private_link_resources: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResource] + :keyword disable_local_accounts: If set to true, getting static credentials will be disabled + for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more + details see `disable local accounts + `_. + :paramtype disable_local_accounts: bool + :keyword http_proxy_config: Configurations for provisioning the cluster with HTTP proxy + servers. + :paramtype http_proxy_config: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterHTTPProxyConfig + :keyword security_profile: Security profile for the managed cluster. + :paramtype security_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSecurityProfile + :keyword public_network_access: Allow or deny public network access for AKS. Possible values + include: "Enabled", "Disabled". + :paramtype public_network_access: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PublicNetworkAccess + """ + super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) + self.sku = sku + self.extended_location = extended_location + self.identity = identity + self.provisioning_state = None + self.power_state = None + self.max_agent_pools = None + self.kubernetes_version = kubernetes_version + self.current_kubernetes_version = None + 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.oidc_issuer_profile = oidc_issuer_profile + self.node_resource_group = node_resource_group + self.enable_rbac = enable_rbac + self.enable_pod_security_policy = enable_pod_security_policy + self.enable_namespace_resources = enable_namespace_resources + 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.security_profile = security_profile + self.public_network_access = public_network_access + + +class ManagedClusterAADProfile(msrest.serialization.Model): + """For more details see `managed AAD on AKS `_. + + :ivar managed: Whether to enable managed AAD. + :vartype managed: bool + :ivar enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. + :vartype enable_azure_rbac: bool + :ivar admin_group_object_i_ds: The list of AAD group object IDs that will have admin role of + the cluster. + :vartype admin_group_object_i_ds: list[str] + :ivar client_app_id: The client AAD application ID. + :vartype client_app_id: str + :ivar server_app_id: The server AAD application ID. + :vartype server_app_id: str + :ivar server_app_secret: The server AAD application secret. + :vartype server_app_secret: str + :ivar tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the + tenant of the deployment subscription. + :vartype tenant_id: str + """ + + _attribute_map = { + 'managed': {'key': 'managed', 'type': 'bool'}, + 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, + 'admin_group_object_i_ds': {'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: Optional[bool] = None, + enable_azure_rbac: Optional[bool] = None, + admin_group_object_i_ds: Optional[List[str]] = None, + client_app_id: Optional[str] = None, + server_app_id: Optional[str] = None, + server_app_secret: Optional[str] = None, + tenant_id: Optional[str] = None, + **kwargs + ): + """ + :keyword managed: Whether to enable managed AAD. + :paramtype managed: bool + :keyword enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes authorization. + :paramtype enable_azure_rbac: bool + :keyword admin_group_object_i_ds: The list of AAD group object IDs that will have admin role of + the cluster. + :paramtype admin_group_object_i_ds: list[str] + :keyword client_app_id: The client AAD application ID. + :paramtype client_app_id: str + :keyword server_app_id: The server AAD application ID. + :paramtype server_app_id: str + :keyword server_app_secret: The server AAD application secret. + :paramtype server_app_secret: str + :keyword tenant_id: The AAD tenant ID to use for authentication. If not specified, will use the + tenant of the deployment subscription. + :paramtype tenant_id: str + """ + super(ManagedClusterAADProfile, self).__init__(**kwargs) + self.managed = managed + self.enable_azure_rbac = enable_azure_rbac + self.admin_group_object_i_ds = admin_group_object_i_ds + 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 + :ivar location: Required. Resource location. + :vartype location: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar kube_config: Base64-encoded Kubernetes configuration file. + :vartype 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: Optional[Dict[str, str]] = None, + kube_config: Optional[bytearray] = None, + **kwargs + ): + """ + :keyword location: Required. Resource location. + :paramtype location: str + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword kube_config: Base64-encoded Kubernetes configuration file. + :paramtype kube_config: bytearray + """ + super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) + self.kube_config = kube_config + + +class ManagedClusterAddonProfile(msrest.serialization.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. + + :ivar enabled: Required. Whether the add-on is enabled or not. + :vartype enabled: bool + :ivar config: Key-value pairs for configuring an add-on. + :vartype config: dict[str, str] + :ivar identity: Information of user assigned identity used by this add-on. + :vartype identity: + ~azure.mgmt.containerservice.v2022_01_02_preview.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: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword enabled: Required. Whether the add-on is enabled or not. + :paramtype enabled: bool + :keyword config: Key-value pairs for configuring an add-on. + :paramtype config: dict[str, str] + """ + super(ManagedClusterAddonProfile, self).__init__(**kwargs) + self.enabled = enabled + self.config = config + self.identity = None + + +class UserAssignedIdentity(msrest.serialization.Model): + """Details about a user assigned identity. + + :ivar resource_id: The resource ID of the user assigned identity. + :vartype resource_id: str + :ivar client_id: The client ID of the user assigned identity. + :vartype client_id: str + :ivar object_id: The object ID of the user assigned identity. + :vartype 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: Optional[str] = None, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + **kwargs + ): + """ + :keyword resource_id: The resource ID of the user assigned identity. + :paramtype resource_id: str + :keyword client_id: The client ID of the user assigned identity. + :paramtype client_id: str + :keyword object_id: The object ID of the user assigned identity. + :paramtype object_id: str + """ + 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. + + :ivar resource_id: The resource ID of the user assigned identity. + :vartype resource_id: str + :ivar client_id: The client ID of the user assigned identity. + :vartype client_id: str + :ivar object_id: The object ID of the user assigned identity. + :vartype 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: Optional[str] = None, + client_id: Optional[str] = None, + object_id: Optional[str] = None, + **kwargs + ): + """ + :keyword resource_id: The resource ID of the user assigned identity. + :paramtype resource_id: str + :keyword client_id: The client ID of the user assigned identity. + :paramtype client_id: str + :keyword object_id: The object ID of the user assigned identity. + :paramtype object_id: str + """ + super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) + + +class ManagedClusterAgentPoolProfileProperties(msrest.serialization.Model): + """Properties for the container service agent pool profile. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar 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. + :vartype count: int + :ivar vm_size: VM size availability varies by region. If a node contains insufficient compute + resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted + VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. + :vartype vm_size: str + :ivar os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine + in the master/agent pool. If you specify 0, it will apply the default osDisk size according to + the vmSize specified. + :vartype os_disk_size_gb: int + :ivar os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk + larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed + after creation. For more information see `Ephemeral OS + `_. Possible values + include: "Managed", "Ephemeral". + :vartype os_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSDiskType + :ivar kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data + root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". + :vartype kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletDiskType + :ivar workload_runtime: Determines the type of workload a node can run. Possible values + include: "OCIContainer", "WasmWasi". + :vartype workload_runtime: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.WorkloadRuntime + :ivar message_of_the_day: A base64-encoded string which will be written to /etc/motd after + decoding. This allows customization of the message of the day for Linux nodes. It must not be + specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be + executed as a script). + :vartype message_of_the_day: str + :ivar vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. + If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just + nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :vartype vnet_subnet_id: str + :ivar pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see + vnetSubnetID for more details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :vartype pod_subnet_id: str + :ivar max_pods: The maximum number of pods that can run on a node. + :vartype max_pods: int + :ivar os_type: The operating system type. The default is Linux. Possible values include: + "Linux", "Windows". Default value: "Linux". + :vartype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :ivar os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. + Possible values include: "Ubuntu", "CBLMariner". + :vartype os_sku: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSSKU + :ivar max_count: The maximum number of nodes for auto-scaling. + :vartype max_count: int + :ivar min_count: The minimum number of nodes for auto-scaling. + :vartype min_count: int + :ivar enable_auto_scaling: Whether to enable auto-scaler. + :vartype enable_auto_scaling: bool + :ivar scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it + defaults to Delete. Possible values include: "Delete", "Deallocate". + :vartype scale_down_mode: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleDownMode + :ivar type: The type of Agent Pool. Possible values include: "VirtualMachineScaleSets", + "AvailabilitySet". + :vartype type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolType + :ivar mode: A cluster must have at least one 'System' Agent Pool at all times. For additional + information on agent pool restrictions and best practices, see: + https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", + "User". + :vartype mode: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolMode + :ivar orchestrator_version: As a best practice, you should upgrade all node pools in an AKS + cluster to the same Kubernetes version. The node pool version must have the same major version + as the control plane. The node pool minor version must be within two minor versions of the + control plane version. The node pool version cannot be greater than the control plane version. + For more information see `upgrading a node pool + `_. + :vartype orchestrator_version: str + :ivar node_image_version: The version of node image. + :vartype node_image_version: str + :ivar upgrade_settings: Settings for upgrading the agentpool. + :vartype upgrade_settings: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state. + :vartype provisioning_state: str + :ivar power_state: When an Agent Pool is first created it is initially Running. The Agent Pool + can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and + does not accrue billing charges. An Agent Pool can only be stopped if it is Running and + provisioning state is Succeeded. + :vartype power_state: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PowerState + :ivar availability_zones: The list of Availability zones to use for nodes. This can only be + specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :vartype availability_zones: list[str] + :ivar enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their + own dedicated public IP addresses. A common scenario is for gaming workloads, where a console + needs to make a direct connection to a cloud virtual machine to minimize hops. For more + information see `assigning a public IP per node + `_. + The default is false. + :vartype enable_node_public_ip: bool + :ivar node_public_ip_prefix_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. + :vartype node_public_ip_prefix_id: str + :ivar scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the default + is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". + :vartype scale_set_priority: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetPriority + :ivar scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is + 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", + "Deallocate". Default value: "Delete". + :vartype scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetEvictionPolicy + :ivar spot_max_price: Possible values are any decimal value greater than zero or -1 which + indicates the willingness to pay any on-demand price. For more details on spot pricing, see + `spot VMs pricing `_. + :vartype spot_max_price: float + :ivar tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale + set. + :vartype tags: dict[str, str] + :ivar node_labels: The node labels to be persisted across all nodes in agent pool. + :vartype node_labels: dict[str, str] + :ivar node_taints: The taints added to new nodes during node pool create and scale. For + example, key=value:NoSchedule. + :vartype node_taints: list[str] + :ivar proximity_placement_group_id: The ID for Proximity Placement Group. + :vartype proximity_placement_group_id: str + :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. + :vartype kubelet_config: ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletConfig + :ivar linux_os_config: The OS configuration of Linux agent nodes. + :vartype linux_os_config: ~azure.mgmt.containerservice.v2022_01_02_preview.models.LinuxOSConfig + :ivar enable_encryption_at_host: This is only supported on certain VM sizes and in certain + Azure regions. For more information, see: + https://docs.microsoft.com/azure/aks/enable-host-encryption. + :vartype enable_encryption_at_host: bool + :ivar enable_ultra_ssd: Whether to enable UltraSSD. + :vartype enable_ultra_ssd: bool + :ivar enable_fips: See `Add a FIPS-enabled node pool + `_ + for more details. + :vartype enable_fips: bool + :ivar gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". + :vartype gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.GPUInstanceProfile + :ivar creation_data: CreationData to be used to specify the source Snapshot ID if the node pool + will be created/upgraded using a snapshot. + :vartype creation_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreationData + :ivar capacity_reservation_group_id: AKS will associate the specified agent pool with the + Capacity Reservation Group. + :vartype capacity_reservation_group_id: str + :ivar host_group_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see `Azure dedicated hosts + `_. + :vartype host_group_id: str + """ + + _validation = { + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, + 'node_image_version': {'readonly': True}, + 'provisioning_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'}, + 'workload_runtime': {'key': 'workloadRuntime', 'type': 'str'}, + 'message_of_the_day': {'key': 'messageOfTheDay', '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'}, + 'scale_down_mode': {'key': 'scaleDownMode', 'type': 'str'}, + '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'}, + 'creation_data': {'key': 'creationData', 'type': 'CreationData'}, + 'capacity_reservation_group_id': {'key': 'capacityReservationGroupID', 'type': 'str'}, + 'host_group_id': {'key': 'hostGroupID', 'type': 'str'}, + } + + def __init__( + self, + *, + count: Optional[int] = None, + vm_size: Optional[str] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + workload_runtime: Optional[Union[str, "WorkloadRuntime"]] = None, + message_of_the_day: Optional[str] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + os_sku: Optional[Union[str, "OSSKU"]] = None, + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + scale_down_mode: Optional[Union[str, "ScaleDownMode"]] = None, + type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + power_state: Optional["PowerState"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + node_public_ip_prefix_id: Optional[str] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + enable_ultra_ssd: Optional[bool] = None, + enable_fips: Optional[bool] = None, + gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, + creation_data: Optional["CreationData"] = None, + capacity_reservation_group_id: Optional[str] = None, + host_group_id: Optional[str] = None, + **kwargs + ): + """ + :keyword 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. + :paramtype count: int + :keyword vm_size: VM size availability varies by region. If a node contains insufficient + compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on + restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. + :paramtype vm_size: str + :keyword os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every + machine in the master/agent pool. If you specify 0, it will apply the default osDisk size + according to the vmSize specified. + :paramtype os_disk_size_gb: int + :keyword os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk + larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed + after creation. For more information see `Ephemeral OS + `_. Possible values + include: "Managed", "Ephemeral". + :paramtype os_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSDiskType + :keyword kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime + data root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". + :paramtype kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletDiskType + :keyword workload_runtime: Determines the type of workload a node can run. Possible values + include: "OCIContainer", "WasmWasi". + :paramtype workload_runtime: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.WorkloadRuntime + :keyword message_of_the_day: A base64-encoded string which will be written to /etc/motd after + decoding. This allows customization of the message of the day for Linux nodes. It must not be + specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be + executed as a script). + :paramtype message_of_the_day: str + :keyword vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and + used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to + just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :paramtype vnet_subnet_id: str + :keyword pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see + vnetSubnetID for more details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :paramtype pod_subnet_id: str + :keyword max_pods: The maximum number of pods that can run on a node. + :paramtype max_pods: int + :keyword os_type: The operating system type. The default is Linux. Possible values include: + "Linux", "Windows". Default value: "Linux". + :paramtype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :keyword os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. + Possible values include: "Ubuntu", "CBLMariner". + :paramtype os_sku: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSSKU + :keyword max_count: The maximum number of nodes for auto-scaling. + :paramtype max_count: int + :keyword min_count: The minimum number of nodes for auto-scaling. + :paramtype min_count: int + :keyword enable_auto_scaling: Whether to enable auto-scaler. + :paramtype enable_auto_scaling: bool + :keyword scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, + it defaults to Delete. Possible values include: "Delete", "Deallocate". + :paramtype scale_down_mode: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleDownMode + :keyword type: The type of Agent Pool. Possible values include: "VirtualMachineScaleSets", + "AvailabilitySet". + :paramtype type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolType + :keyword mode: A cluster must have at least one 'System' Agent Pool at all times. For + additional information on agent pool restrictions and best practices, see: + https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", + "User". + :paramtype mode: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolMode + :keyword orchestrator_version: As a best practice, you should upgrade all node pools in an AKS + cluster to the same Kubernetes version. The node pool version must have the same major version + as the control plane. The node pool minor version must be within two minor versions of the + control plane version. The node pool version cannot be greater than the control plane version. + For more information see `upgrading a node pool + `_. + :paramtype orchestrator_version: str + :keyword upgrade_settings: Settings for upgrading the agentpool. + :paramtype upgrade_settings: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeSettings + :keyword power_state: When an Agent Pool is first created it is initially Running. The Agent + Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs + and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and + provisioning state is Succeeded. + :paramtype power_state: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PowerState + :keyword availability_zones: The list of Availability zones to use for nodes. This can only be + specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :paramtype availability_zones: list[str] + :keyword enable_node_public_ip: Some scenarios may require nodes in a node pool to receive + their own dedicated public IP addresses. A common scenario is for gaming workloads, where a + console needs to make a direct connection to a cloud virtual machine to minimize hops. For more + information see `assigning a public IP per node + `_. + The default is false. + :paramtype enable_node_public_ip: bool + :keyword node_public_ip_prefix_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. + :paramtype node_public_ip_prefix_id: str + :keyword scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the + default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". + :paramtype scale_set_priority: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetPriority + :keyword scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is + 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", + "Deallocate". Default value: "Delete". + :paramtype scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetEvictionPolicy + :keyword spot_max_price: Possible values are any decimal value greater than zero or -1 which + indicates the willingness to pay any on-demand price. For more details on spot pricing, see + `spot VMs pricing `_. + :paramtype spot_max_price: float + :keyword tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale + set. + :paramtype tags: dict[str, str] + :keyword node_labels: The node labels to be persisted across all nodes in agent pool. + :paramtype node_labels: dict[str, str] + :keyword node_taints: The taints added to new nodes during node pool create and scale. For + example, key=value:NoSchedule. + :paramtype node_taints: list[str] + :keyword proximity_placement_group_id: The ID for Proximity Placement Group. + :paramtype proximity_placement_group_id: str + :keyword kubelet_config: The Kubelet configuration on the agent pool nodes. + :paramtype kubelet_config: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletConfig + :keyword linux_os_config: The OS configuration of Linux agent nodes. + :paramtype linux_os_config: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.LinuxOSConfig + :keyword enable_encryption_at_host: This is only supported on certain VM sizes and in certain + Azure regions. For more information, see: + https://docs.microsoft.com/azure/aks/enable-host-encryption. + :paramtype enable_encryption_at_host: bool + :keyword enable_ultra_ssd: Whether to enable UltraSSD. + :paramtype enable_ultra_ssd: bool + :keyword enable_fips: See `Add a FIPS-enabled node pool + `_ + for more details. + :paramtype enable_fips: bool + :keyword gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance + profile for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", + "MIG7g". + :paramtype gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.GPUInstanceProfile + :keyword creation_data: CreationData to be used to specify the source Snapshot ID if the node + pool will be created/upgraded using a snapshot. + :paramtype creation_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreationData + :keyword capacity_reservation_group_id: AKS will associate the specified agent pool with the + Capacity Reservation Group. + :paramtype capacity_reservation_group_id: str + :keyword host_group_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see `Azure dedicated hosts + `_. + :paramtype host_group_id: str + """ + 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.workload_runtime = workload_runtime + self.message_of_the_day = message_of_the_day + 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.scale_down_mode = scale_down_mode + 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 = power_state + 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 + self.creation_data = creation_data + self.capacity_reservation_group_id = capacity_reservation_group_id + self.host_group_id = host_group_id + + +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. + + :ivar 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. + :vartype count: int + :ivar vm_size: VM size availability varies by region. If a node contains insufficient compute + resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted + VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. + :vartype vm_size: str + :ivar os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every machine + in the master/agent pool. If you specify 0, it will apply the default osDisk size according to + the vmSize specified. + :vartype os_disk_size_gb: int + :ivar os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk + larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed + after creation. For more information see `Ephemeral OS + `_. Possible values + include: "Managed", "Ephemeral". + :vartype os_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSDiskType + :ivar kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime data + root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". + :vartype kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletDiskType + :ivar workload_runtime: Determines the type of workload a node can run. Possible values + include: "OCIContainer", "WasmWasi". + :vartype workload_runtime: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.WorkloadRuntime + :ivar message_of_the_day: A base64-encoded string which will be written to /etc/motd after + decoding. This allows customization of the message of the day for Linux nodes. It must not be + specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be + executed as a script). + :vartype message_of_the_day: str + :ivar vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and used. + If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just + nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :vartype vnet_subnet_id: str + :ivar pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see + vnetSubnetID for more details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :vartype pod_subnet_id: str + :ivar max_pods: The maximum number of pods that can run on a node. + :vartype max_pods: int + :ivar os_type: The operating system type. The default is Linux. Possible values include: + "Linux", "Windows". Default value: "Linux". + :vartype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :ivar os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. + Possible values include: "Ubuntu", "CBLMariner". + :vartype os_sku: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSSKU + :ivar max_count: The maximum number of nodes for auto-scaling. + :vartype max_count: int + :ivar min_count: The minimum number of nodes for auto-scaling. + :vartype min_count: int + :ivar enable_auto_scaling: Whether to enable auto-scaler. + :vartype enable_auto_scaling: bool + :ivar scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, it + defaults to Delete. Possible values include: "Delete", "Deallocate". + :vartype scale_down_mode: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleDownMode + :ivar type: The type of Agent Pool. Possible values include: "VirtualMachineScaleSets", + "AvailabilitySet". + :vartype type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolType + :ivar mode: A cluster must have at least one 'System' Agent Pool at all times. For additional + information on agent pool restrictions and best practices, see: + https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", + "User". + :vartype mode: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolMode + :ivar orchestrator_version: As a best practice, you should upgrade all node pools in an AKS + cluster to the same Kubernetes version. The node pool version must have the same major version + as the control plane. The node pool minor version must be within two minor versions of the + control plane version. The node pool version cannot be greater than the control plane version. + For more information see `upgrading a node pool + `_. + :vartype orchestrator_version: str + :ivar node_image_version: The version of node image. + :vartype node_image_version: str + :ivar upgrade_settings: Settings for upgrading the agentpool. + :vartype upgrade_settings: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state. + :vartype provisioning_state: str + :ivar power_state: When an Agent Pool is first created it is initially Running. The Agent Pool + can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and + does not accrue billing charges. An Agent Pool can only be stopped if it is Running and + provisioning state is Succeeded. + :vartype power_state: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PowerState + :ivar availability_zones: The list of Availability zones to use for nodes. This can only be + specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :vartype availability_zones: list[str] + :ivar enable_node_public_ip: Some scenarios may require nodes in a node pool to receive their + own dedicated public IP addresses. A common scenario is for gaming workloads, where a console + needs to make a direct connection to a cloud virtual machine to minimize hops. For more + information see `assigning a public IP per node + `_. + The default is false. + :vartype enable_node_public_ip: bool + :ivar node_public_ip_prefix_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. + :vartype node_public_ip_prefix_id: str + :ivar scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the default + is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". + :vartype scale_set_priority: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetPriority + :ivar scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is + 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", + "Deallocate". Default value: "Delete". + :vartype scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetEvictionPolicy + :ivar spot_max_price: Possible values are any decimal value greater than zero or -1 which + indicates the willingness to pay any on-demand price. For more details on spot pricing, see + `spot VMs pricing `_. + :vartype spot_max_price: float + :ivar tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale + set. + :vartype tags: dict[str, str] + :ivar node_labels: The node labels to be persisted across all nodes in agent pool. + :vartype node_labels: dict[str, str] + :ivar node_taints: The taints added to new nodes during node pool create and scale. For + example, key=value:NoSchedule. + :vartype node_taints: list[str] + :ivar proximity_placement_group_id: The ID for Proximity Placement Group. + :vartype proximity_placement_group_id: str + :ivar kubelet_config: The Kubelet configuration on the agent pool nodes. + :vartype kubelet_config: ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletConfig + :ivar linux_os_config: The OS configuration of Linux agent nodes. + :vartype linux_os_config: ~azure.mgmt.containerservice.v2022_01_02_preview.models.LinuxOSConfig + :ivar enable_encryption_at_host: This is only supported on certain VM sizes and in certain + Azure regions. For more information, see: + https://docs.microsoft.com/azure/aks/enable-host-encryption. + :vartype enable_encryption_at_host: bool + :ivar enable_ultra_ssd: Whether to enable UltraSSD. + :vartype enable_ultra_ssd: bool + :ivar enable_fips: See `Add a FIPS-enabled node pool + `_ + for more details. + :vartype enable_fips: bool + :ivar gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance profile + for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", "MIG7g". + :vartype gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.GPUInstanceProfile + :ivar creation_data: CreationData to be used to specify the source Snapshot ID if the node pool + will be created/upgraded using a snapshot. + :vartype creation_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreationData + :ivar capacity_reservation_group_id: AKS will associate the specified agent pool with the + Capacity Reservation Group. + :vartype capacity_reservation_group_id: str + :ivar host_group_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see `Azure dedicated hosts + `_. + :vartype host_group_id: str + :ivar name: Required. Windows agent pool names must be 6 characters or less. + :vartype name: str + """ + + _validation = { + 'os_disk_size_gb': {'maximum': 2048, 'minimum': 0}, + 'node_image_version': {'readonly': True}, + 'provisioning_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'}, + 'workload_runtime': {'key': 'workloadRuntime', 'type': 'str'}, + 'message_of_the_day': {'key': 'messageOfTheDay', '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'}, + 'scale_down_mode': {'key': 'scaleDownMode', 'type': 'str'}, + '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'}, + 'creation_data': {'key': 'creationData', 'type': 'CreationData'}, + 'capacity_reservation_group_id': {'key': 'capacityReservationGroupID', 'type': 'str'}, + 'host_group_id': {'key': 'hostGroupID', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + count: Optional[int] = None, + vm_size: Optional[str] = None, + os_disk_size_gb: Optional[int] = None, + os_disk_type: Optional[Union[str, "OSDiskType"]] = None, + kubelet_disk_type: Optional[Union[str, "KubeletDiskType"]] = None, + workload_runtime: Optional[Union[str, "WorkloadRuntime"]] = None, + message_of_the_day: Optional[str] = None, + vnet_subnet_id: Optional[str] = None, + pod_subnet_id: Optional[str] = None, + max_pods: Optional[int] = None, + os_type: Optional[Union[str, "OSType"]] = "Linux", + os_sku: Optional[Union[str, "OSSKU"]] = None, + max_count: Optional[int] = None, + min_count: Optional[int] = None, + enable_auto_scaling: Optional[bool] = None, + scale_down_mode: Optional[Union[str, "ScaleDownMode"]] = None, + type: Optional[Union[str, "AgentPoolType"]] = None, + mode: Optional[Union[str, "AgentPoolMode"]] = None, + orchestrator_version: Optional[str] = None, + upgrade_settings: Optional["AgentPoolUpgradeSettings"] = None, + power_state: Optional["PowerState"] = None, + availability_zones: Optional[List[str]] = None, + enable_node_public_ip: Optional[bool] = None, + node_public_ip_prefix_id: Optional[str] = None, + scale_set_priority: Optional[Union[str, "ScaleSetPriority"]] = "Regular", + scale_set_eviction_policy: Optional[Union[str, "ScaleSetEvictionPolicy"]] = "Delete", + spot_max_price: Optional[float] = -1, + tags: Optional[Dict[str, str]] = None, + node_labels: Optional[Dict[str, str]] = None, + node_taints: Optional[List[str]] = None, + proximity_placement_group_id: Optional[str] = None, + kubelet_config: Optional["KubeletConfig"] = None, + linux_os_config: Optional["LinuxOSConfig"] = None, + enable_encryption_at_host: Optional[bool] = None, + enable_ultra_ssd: Optional[bool] = None, + enable_fips: Optional[bool] = None, + gpu_instance_profile: Optional[Union[str, "GPUInstanceProfile"]] = None, + creation_data: Optional["CreationData"] = None, + capacity_reservation_group_id: Optional[str] = None, + host_group_id: Optional[str] = None, + **kwargs + ): + """ + :keyword 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. + :paramtype count: int + :keyword vm_size: VM size availability varies by region. If a node contains insufficient + compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on + restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions. + :paramtype vm_size: str + :keyword os_disk_size_gb: OS Disk Size in GB to be used to specify the disk size for every + machine in the master/agent pool. If you specify 0, it will apply the default osDisk size + according to the vmSize specified. + :paramtype os_disk_size_gb: int + :keyword os_disk_type: The default is 'Ephemeral' if the VM supports it and has a cache disk + larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed + after creation. For more information see `Ephemeral OS + `_. Possible values + include: "Managed", "Ephemeral". + :paramtype os_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSDiskType + :keyword kubelet_disk_type: Determines the placement of emptyDir volumes, container runtime + data root, and Kubelet ephemeral storage. Possible values include: "OS", "Temporary". + :paramtype kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletDiskType + :keyword workload_runtime: Determines the type of workload a node can run. Possible values + include: "OCIContainer", "WasmWasi". + :paramtype workload_runtime: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.WorkloadRuntime + :keyword message_of_the_day: A base64-encoded string which will be written to /etc/motd after + decoding. This allows customization of the message of the day for Linux nodes. It must not be + specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be + executed as a script). + :paramtype message_of_the_day: str + :keyword vnet_subnet_id: If this is not specified, a VNET and subnet will be generated and + used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to + just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :paramtype vnet_subnet_id: str + :keyword pod_subnet_id: If omitted, pod IPs are statically assigned on the node subnet (see + vnetSubnetID for more details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :paramtype pod_subnet_id: str + :keyword max_pods: The maximum number of pods that can run on a node. + :paramtype max_pods: int + :keyword os_type: The operating system type. The default is Linux. Possible values include: + "Linux", "Windows". Default value: "Linux". + :paramtype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :keyword os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. + Possible values include: "Ubuntu", "CBLMariner". + :paramtype os_sku: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSSKU + :keyword max_count: The maximum number of nodes for auto-scaling. + :paramtype max_count: int + :keyword min_count: The minimum number of nodes for auto-scaling. + :paramtype min_count: int + :keyword enable_auto_scaling: Whether to enable auto-scaler. + :paramtype enable_auto_scaling: bool + :keyword scale_down_mode: This also effects the cluster autoscaler behavior. If not specified, + it defaults to Delete. Possible values include: "Delete", "Deallocate". + :paramtype scale_down_mode: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleDownMode + :keyword type: The type of Agent Pool. Possible values include: "VirtualMachineScaleSets", + "AvailabilitySet". + :paramtype type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolType + :keyword mode: A cluster must have at least one 'System' Agent Pool at all times. For + additional information on agent pool restrictions and best practices, see: + https://docs.microsoft.com/azure/aks/use-system-pools. Possible values include: "System", + "User". + :paramtype mode: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolMode + :keyword orchestrator_version: As a best practice, you should upgrade all node pools in an AKS + cluster to the same Kubernetes version. The node pool version must have the same major version + as the control plane. The node pool minor version must be within two minor versions of the + control plane version. The node pool version cannot be greater than the control plane version. + For more information see `upgrading a node pool + `_. + :paramtype orchestrator_version: str + :keyword upgrade_settings: Settings for upgrading the agentpool. + :paramtype upgrade_settings: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeSettings + :keyword power_state: When an Agent Pool is first created it is initially Running. The Agent + Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs + and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and + provisioning state is Succeeded. + :paramtype power_state: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PowerState + :keyword availability_zones: The list of Availability zones to use for nodes. This can only be + specified if the AgentPoolType property is 'VirtualMachineScaleSets'. + :paramtype availability_zones: list[str] + :keyword enable_node_public_ip: Some scenarios may require nodes in a node pool to receive + their own dedicated public IP addresses. A common scenario is for gaming workloads, where a + console needs to make a direct connection to a cloud virtual machine to minimize hops. For more + information see `assigning a public IP per node + `_. + The default is false. + :paramtype enable_node_public_ip: bool + :keyword node_public_ip_prefix_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}. + :paramtype node_public_ip_prefix_id: str + :keyword scale_set_priority: The Virtual Machine Scale Set priority. If not specified, the + default is 'Regular'. Possible values include: "Spot", "Regular". Default value: "Regular". + :paramtype scale_set_priority: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetPriority + :keyword scale_set_eviction_policy: This cannot be specified unless the scaleSetPriority is + 'Spot'. If not specified, the default is 'Delete'. Possible values include: "Delete", + "Deallocate". Default value: "Delete". + :paramtype scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ScaleSetEvictionPolicy + :keyword spot_max_price: Possible values are any decimal value greater than zero or -1 which + indicates the willingness to pay any on-demand price. For more details on spot pricing, see + `spot VMs pricing `_. + :paramtype spot_max_price: float + :keyword tags: A set of tags. The tags to be persisted on the agent pool virtual machine scale + set. + :paramtype tags: dict[str, str] + :keyword node_labels: The node labels to be persisted across all nodes in agent pool. + :paramtype node_labels: dict[str, str] + :keyword node_taints: The taints added to new nodes during node pool create and scale. For + example, key=value:NoSchedule. + :paramtype node_taints: list[str] + :keyword proximity_placement_group_id: The ID for Proximity Placement Group. + :paramtype proximity_placement_group_id: str + :keyword kubelet_config: The Kubelet configuration on the agent pool nodes. + :paramtype kubelet_config: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.KubeletConfig + :keyword linux_os_config: The OS configuration of Linux agent nodes. + :paramtype linux_os_config: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.LinuxOSConfig + :keyword enable_encryption_at_host: This is only supported on certain VM sizes and in certain + Azure regions. For more information, see: + https://docs.microsoft.com/azure/aks/enable-host-encryption. + :paramtype enable_encryption_at_host: bool + :keyword enable_ultra_ssd: Whether to enable UltraSSD. + :paramtype enable_ultra_ssd: bool + :keyword enable_fips: See `Add a FIPS-enabled node pool + `_ + for more details. + :paramtype enable_fips: bool + :keyword gpu_instance_profile: GPUInstanceProfile to be used to specify GPU MIG instance + profile for supported GPU VM SKU. Possible values include: "MIG1g", "MIG2g", "MIG3g", "MIG4g", + "MIG7g". + :paramtype gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.GPUInstanceProfile + :keyword creation_data: CreationData to be used to specify the source Snapshot ID if the node + pool will be created/upgraded using a snapshot. + :paramtype creation_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreationData + :keyword capacity_reservation_group_id: AKS will associate the specified agent pool with the + Capacity Reservation Group. + :paramtype capacity_reservation_group_id: str + :keyword host_group_id: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see `Azure dedicated hosts + `_. + :paramtype host_group_id: str + :keyword name: Required. Windows agent pool names must be 6 characters or less. + :paramtype name: str + """ + 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, workload_runtime=workload_runtime, message_of_the_day=message_of_the_day, 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, scale_down_mode=scale_down_mode, type=type, mode=mode, orchestrator_version=orchestrator_version, upgrade_settings=upgrade_settings, power_state=power_state, 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, creation_data=creation_data, capacity_reservation_group_id=capacity_reservation_group_id, host_group_id=host_group_id, **kwargs) + self.name = name + + +class ManagedClusterAPIServerAccessProfile(msrest.serialization.Model): + """Access profile for managed cluster API server. + + :ivar authorized_ip_ranges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. + This feature is not compatible with clusters that use Public IP Per Node, or clusters that are + using a Basic Load Balancer. For more information see `API server authorized IP ranges + `_. + :vartype authorized_ip_ranges: list[str] + :ivar enable_private_cluster: For more details, see `Creating a private AKS cluster + `_. + :vartype enable_private_cluster: bool + :ivar private_dns_zone: The default is System. For more details see `configure private DNS zone + `_. Allowed + values are 'system' and 'none'. + :vartype private_dns_zone: str + :ivar enable_private_cluster_public_fqdn: Whether to create additional public FQDN for private + cluster or not. + :vartype enable_private_cluster_public_fqdn: bool + :ivar disable_run_command: Whether to disable run command for the cluster or not. + :vartype disable_run_command: 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'}, + 'disable_run_command': {'key': 'disableRunCommand', 'type': 'bool'}, + } + + def __init__( + self, + *, + authorized_ip_ranges: Optional[List[str]] = None, + enable_private_cluster: Optional[bool] = None, + private_dns_zone: Optional[str] = None, + enable_private_cluster_public_fqdn: Optional[bool] = None, + disable_run_command: Optional[bool] = None, + **kwargs + ): + """ + :keyword authorized_ip_ranges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. + This feature is not compatible with clusters that use Public IP Per Node, or clusters that are + using a Basic Load Balancer. For more information see `API server authorized IP ranges + `_. + :paramtype authorized_ip_ranges: list[str] + :keyword enable_private_cluster: For more details, see `Creating a private AKS cluster + `_. + :paramtype enable_private_cluster: bool + :keyword private_dns_zone: The default is System. For more details see `configure private DNS + zone `_. + Allowed values are 'system' and 'none'. + :paramtype private_dns_zone: str + :keyword enable_private_cluster_public_fqdn: Whether to create additional public FQDN for + private cluster or not. + :paramtype enable_private_cluster_public_fqdn: bool + :keyword disable_run_command: Whether to disable run command for the cluster or not. + :paramtype disable_run_command: bool + """ + 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 + self.disable_run_command = disable_run_command + + +class ManagedClusterAutoUpgradeProfile(msrest.serialization.Model): + """Auto upgrade profile for a managed cluster. + + :ivar upgrade_channel: For more information see `setting the AKS cluster auto-upgrade channel + `_. Possible + values include: "rapid", "stable", "patch", "node-image", "none". + :vartype upgrade_channel: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.UpgradeChannel + """ + + _attribute_map = { + 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, + } + + def __init__( + self, + *, + upgrade_channel: Optional[Union[str, "UpgradeChannel"]] = None, + **kwargs + ): + """ + :keyword upgrade_channel: For more information see `setting the AKS cluster auto-upgrade + channel `_. + Possible values include: "rapid", "stable", "patch", "node-image", "none". + :paramtype upgrade_channel: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.UpgradeChannel + """ + super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) + self.upgrade_channel = upgrade_channel + + +class ManagedClusterHTTPProxyConfig(msrest.serialization.Model): + """Cluster HTTP proxy configuration. + + :ivar http_proxy: The HTTP proxy server endpoint to use. + :vartype http_proxy: str + :ivar https_proxy: The HTTPS proxy server endpoint to use. + :vartype https_proxy: str + :ivar no_proxy: The endpoints that should not go through proxy. + :vartype no_proxy: list[str] + :ivar trusted_ca: Alternative CA cert to use for connecting to proxy servers. + :vartype 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: Optional[str] = None, + https_proxy: Optional[str] = None, + no_proxy: Optional[List[str]] = None, + trusted_ca: Optional[str] = None, + **kwargs + ): + """ + :keyword http_proxy: The HTTP proxy server endpoint to use. + :paramtype http_proxy: str + :keyword https_proxy: The HTTPS proxy server endpoint to use. + :paramtype https_proxy: str + :keyword no_proxy: The endpoints that should not go through proxy. + :paramtype no_proxy: list[str] + :keyword trusted_ca: Alternative CA cert to use for connecting to proxy servers. + :paramtype trusted_ca: str + """ + 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(msrest.serialization.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 + :ivar type: For more information see `use managed identities in AKS + `_. Possible values include: + "SystemAssigned", "UserAssigned", "None". + :vartype type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceIdentityType + :ivar user_assigned_identities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :vartype user_assigned_identities: dict[str, + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + + _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': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedServiceIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + user_assigned_identities: Optional[Dict[str, "ManagedServiceIdentityUserAssignedIdentitiesValue"]] = None, + **kwargs + ): + """ + :keyword type: For more information see `use managed identities in AKS + `_. Possible values include: + "SystemAssigned", "UserAssigned", "None". + :paramtype type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceIdentityType + :keyword user_assigned_identities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :paramtype user_assigned_identities: dict[str, + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedServiceIdentityUserAssignedIdentitiesValue] + """ + super(ManagedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + self.user_assigned_identities = user_assigned_identities + + +class ManagedClusterListResult(msrest.serialization.Model): + """The response from the List Managed Clusters operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of managed clusters. + :vartype value: list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster] + :ivar next_link: The URL to get the next set of managed cluster results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ManagedCluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ManagedCluster"]] = None, + **kwargs + ): + """ + :keyword value: The list of managed clusters. + :paramtype value: list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster] + """ + super(ManagedClusterListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class ManagedClusterLoadBalancerProfile(msrest.serialization.Model): + """Profile of the managed cluster load balancer. + + :ivar managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. + :vartype managed_outbound_i_ps: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs + :ivar outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load balancer. + :vartype outbound_ip_prefixes: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes + :ivar outbound_i_ps: Desired outbound IP resources for the cluster load balancer. + :vartype outbound_i_ps: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterLoadBalancerProfileOutboundIPs + :ivar effective_outbound_i_ps: The effective outbound IP resources of the cluster load + balancer. + :vartype effective_outbound_i_ps: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceReference] + :ivar allocated_outbound_ports: The desired number of allocated SNAT ports per VM. Allowed + values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in + Azure dynamically allocating ports. + :vartype allocated_outbound_ports: int + :ivar idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values + are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + :vartype idle_timeout_in_minutes: int + :ivar enable_multiple_standard_load_balancers: Enable multiple standard load balancers per AKS + cluster or not. + :vartype enable_multiple_standard_load_balancers: bool + """ + + _validation = { + 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, + 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, + } + + _attribute_map = { + 'managed_outbound_i_ps': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, + 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, + 'enable_multiple_standard_load_balancers': {'key': 'enableMultipleStandardLoadBalancers', 'type': 'bool'}, + } + + def __init__( + self, + *, + managed_outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileManagedOutboundIPs"] = None, + outbound_ip_prefixes: Optional["ManagedClusterLoadBalancerProfileOutboundIPPrefixes"] = None, + outbound_i_ps: Optional["ManagedClusterLoadBalancerProfileOutboundIPs"] = None, + effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, + allocated_outbound_ports: Optional[int] = 0, + idle_timeout_in_minutes: Optional[int] = 30, + enable_multiple_standard_load_balancers: Optional[bool] = None, + **kwargs + ): + """ + :keyword managed_outbound_i_ps: Desired managed outbound IPs for the cluster load balancer. + :paramtype managed_outbound_i_ps: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs + :keyword outbound_ip_prefixes: Desired outbound IP Prefix resources for the cluster load + balancer. + :paramtype outbound_ip_prefixes: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes + :keyword outbound_i_ps: Desired outbound IP resources for the cluster load balancer. + :paramtype outbound_i_ps: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterLoadBalancerProfileOutboundIPs + :keyword effective_outbound_i_ps: The effective outbound IP resources of the cluster load + balancer. + :paramtype effective_outbound_i_ps: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceReference] + :keyword allocated_outbound_ports: The desired number of allocated SNAT ports per VM. Allowed + values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in + Azure dynamically allocating ports. + :paramtype allocated_outbound_ports: int + :keyword idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values + are in the range of 4 to 120 (inclusive). The default value is 30 minutes. + :paramtype idle_timeout_in_minutes: int + :keyword enable_multiple_standard_load_balancers: Enable multiple standard load balancers per + AKS cluster or not. + :paramtype enable_multiple_standard_load_balancers: bool + """ + super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) + self.managed_outbound_i_ps = managed_outbound_i_ps + self.outbound_ip_prefixes = outbound_ip_prefixes + self.outbound_i_ps = outbound_i_ps + self.effective_outbound_i_ps = effective_outbound_i_ps + self.allocated_outbound_ports = allocated_outbound_ports + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_multiple_standard_load_balancers = enable_multiple_standard_load_balancers + + +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(msrest.serialization.Model): + """Desired managed outbound IPs for the cluster load balancer. + + :ivar count: The desired number of IPv4 outbound IPs 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. + :vartype count: int + :ivar count_ipv6: The desired number of IPv6 outbound IPs 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 0 for single-stack and 1 for dual-stack. + :vartype count_ipv6: int + """ + + _validation = { + 'count': {'maximum': 100, 'minimum': 1}, + 'count_ipv6': {'maximum': 100, 'minimum': 0}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'count_ipv6': {'key': 'countIPv6', 'type': 'int'}, + } + + def __init__( + self, + *, + count: Optional[int] = 1, + count_ipv6: Optional[int] = 0, + **kwargs + ): + """ + :keyword count: The desired number of IPv4 outbound IPs 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. + :paramtype count: int + :keyword count_ipv6: The desired number of IPv6 outbound IPs 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 0 for single-stack and 1 for dual-stack. + :paramtype count_ipv6: int + """ + super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) + self.count = count + self.count_ipv6 = count_ipv6 + + +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(msrest.serialization.Model): + """Desired outbound IP Prefix resources for the cluster load balancer. + + :ivar public_ip_prefixes: A list of public IP prefix resources. + :vartype public_ip_prefixes: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceReference] + """ + + _attribute_map = { + 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, + } + + def __init__( + self, + *, + public_ip_prefixes: Optional[List["ResourceReference"]] = None, + **kwargs + ): + """ + :keyword public_ip_prefixes: A list of public IP prefix resources. + :paramtype public_ip_prefixes: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceReference] + """ + super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) + self.public_ip_prefixes = public_ip_prefixes + + +class ManagedClusterLoadBalancerProfileOutboundIPs(msrest.serialization.Model): + """Desired outbound IP resources for the cluster load balancer. + + :ivar public_i_ps: A list of public IP resources. + :vartype public_i_ps: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceReference] + """ + + _attribute_map = { + 'public_i_ps': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + } + + def __init__( + self, + *, + public_i_ps: Optional[List["ResourceReference"]] = None, + **kwargs + ): + """ + :keyword public_i_ps: A list of public IP resources. + :paramtype public_i_ps: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceReference] + """ + super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) + self.public_i_ps = public_i_ps + + +class ManagedClusterManagedOutboundIPProfile(msrest.serialization.Model): + """Profile of the managed outbound IP resources of the managed cluster. + + :ivar count: The desired number of outbound IPs created/managed by Azure. Allowed values must + be in the range of 1 to 16 (inclusive). The default value is 1. + :vartype count: int + """ + + _validation = { + 'count': {'maximum': 16, 'minimum': 1}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + } + + def __init__( + self, + *, + count: Optional[int] = 1, + **kwargs + ): + """ + :keyword count: The desired number of outbound IPs created/managed by Azure. Allowed values + must be in the range of 1 to 16 (inclusive). The default value is 1. + :paramtype count: int + """ + super(ManagedClusterManagedOutboundIPProfile, self).__init__(**kwargs) + self.count = count + + +class ManagedClusterNATGatewayProfile(msrest.serialization.Model): + """Profile of the managed cluster NAT gateway. + + :ivar managed_outbound_ip_profile: Profile of the managed outbound IP resources of the cluster + NAT gateway. + :vartype managed_outbound_ip_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterManagedOutboundIPProfile + :ivar effective_outbound_i_ps: The effective outbound IP resources of the cluster NAT gateway. + :vartype effective_outbound_i_ps: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceReference] + :ivar idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values + are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + :vartype idle_timeout_in_minutes: int + """ + + _validation = { + 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, + } + + _attribute_map = { + 'managed_outbound_ip_profile': {'key': 'managedOutboundIPProfile', 'type': 'ManagedClusterManagedOutboundIPProfile'}, + 'effective_outbound_i_ps': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, + } + + def __init__( + self, + *, + managed_outbound_ip_profile: Optional["ManagedClusterManagedOutboundIPProfile"] = None, + effective_outbound_i_ps: Optional[List["ResourceReference"]] = None, + idle_timeout_in_minutes: Optional[int] = 4, + **kwargs + ): + """ + :keyword managed_outbound_ip_profile: Profile of the managed outbound IP resources of the + cluster NAT gateway. + :paramtype managed_outbound_ip_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterManagedOutboundIPProfile + :keyword effective_outbound_i_ps: The effective outbound IP resources of the cluster NAT + gateway. + :paramtype effective_outbound_i_ps: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ResourceReference] + :keyword idle_timeout_in_minutes: Desired outbound flow idle timeout in minutes. Allowed values + are in the range of 4 to 120 (inclusive). The default value is 4 minutes. + :paramtype idle_timeout_in_minutes: int + """ + super(ManagedClusterNATGatewayProfile, self).__init__(**kwargs) + self.managed_outbound_ip_profile = managed_outbound_ip_profile + self.effective_outbound_i_ps = effective_outbound_i_ps + self.idle_timeout_in_minutes = idle_timeout_in_minutes + + +class ManagedClusterOIDCIssuerProfile(msrest.serialization.Model): + """The OIDC issuer profile of the Managed Cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar issuer_url: The OIDC issuer url of the Managed Cluster. + :vartype issuer_url: str + :ivar enabled: Whether the OIDC issuer is enabled. + :vartype enabled: bool + """ + + _validation = { + 'issuer_url': {'readonly': True}, + } + + _attribute_map = { + 'issuer_url': {'key': 'issuerURL', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + **kwargs + ): + """ + :keyword enabled: Whether the OIDC issuer is enabled. + :paramtype enabled: bool + """ + super(ManagedClusterOIDCIssuerProfile, self).__init__(**kwargs) + self.issuer_url = None + self.enabled = enabled + + +class ManagedClusterPodIdentity(msrest.serialization.Model): + """Details about the pod identity assigned to the 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 name: Required. The name of the pod identity. + :vartype name: str + :ivar namespace: Required. The namespace of the pod identity. + :vartype namespace: str + :ivar binding_selector: The binding selector to use for the AzureIdentityBinding resource. + :vartype binding_selector: str + :ivar identity: Required. The user assigned identity details. + :vartype identity: ~azure.mgmt.containerservice.v2022_01_02_preview.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.v2022_01_02_preview.models.ManagedClusterPodIdentityProvisioningState + :ivar provisioning_info: + :vartype provisioning_info: + ~azure.mgmt.containerservice.v2022_01_02_preview.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: "UserAssignedIdentity", + binding_selector: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Required. The name of the pod identity. + :paramtype name: str + :keyword namespace: Required. The namespace of the pod identity. + :paramtype namespace: str + :keyword binding_selector: The binding selector to use for the AzureIdentityBinding resource. + :paramtype binding_selector: str + :keyword identity: Required. The user assigned identity details. + :paramtype identity: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.UserAssignedIdentity + """ + 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(msrest.serialization.Model): + """See `disable AAD Pod Identity for a specific Pod/Application `_ for more details. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Required. The name of the pod identity exception. + :vartype name: str + :ivar namespace: Required. The namespace of the pod identity exception. + :vartype namespace: str + :ivar pod_labels: Required. The pod labels to match. + :vartype 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: Dict[str, str], + **kwargs + ): + """ + :keyword name: Required. The name of the pod identity exception. + :paramtype name: str + :keyword namespace: Required. The namespace of the pod identity exception. + :paramtype namespace: str + :keyword pod_labels: Required. The pod labels to match. + :paramtype pod_labels: dict[str, str] + """ + super(ManagedClusterPodIdentityException, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.pod_labels = pod_labels + + +class ManagedClusterPodIdentityProfile(msrest.serialization.Model): + """See `use AAD pod identity `_ for more details on pod identity integration. + + :ivar enabled: Whether the pod identity addon is enabled. + :vartype enabled: bool + :ivar allow_network_plugin_kubenet: Running in Kubenet is disabled by default due to the + security related nature of AAD Pod Identity and the risks of IP spoofing. See `using Kubenet + network plugin with AAD Pod Identity + `_ + for more information. + :vartype allow_network_plugin_kubenet: bool + :ivar user_assigned_identities: The pod identities to use in the cluster. + :vartype user_assigned_identities: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentity] + :ivar user_assigned_identity_exceptions: The pod identity exceptions to allow. + :vartype user_assigned_identity_exceptions: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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: Optional[bool] = None, + allow_network_plugin_kubenet: Optional[bool] = None, + user_assigned_identities: Optional[List["ManagedClusterPodIdentity"]] = None, + user_assigned_identity_exceptions: Optional[List["ManagedClusterPodIdentityException"]] = None, + **kwargs + ): + """ + :keyword enabled: Whether the pod identity addon is enabled. + :paramtype enabled: bool + :keyword allow_network_plugin_kubenet: Running in Kubenet is disabled by default due to the + security related nature of AAD Pod Identity and the risks of IP spoofing. See `using Kubenet + network plugin with AAD Pod Identity + `_ + for more information. + :paramtype allow_network_plugin_kubenet: bool + :keyword user_assigned_identities: The pod identities to use in the cluster. + :paramtype user_assigned_identities: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentity] + :keyword user_assigned_identity_exceptions: The pod identity exceptions to allow. + :paramtype user_assigned_identity_exceptions: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityException] + """ + 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 ManagedClusterPodIdentityProvisioningError(msrest.serialization.Model): + """An error response from the pod identity provisioning. + + :ivar error: Details about the error. + :vartype error: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityProvisioningErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ManagedClusterPodIdentityProvisioningErrorBody'}, + } + + def __init__( + self, + *, + error: Optional["ManagedClusterPodIdentityProvisioningErrorBody"] = None, + **kwargs + ): + """ + :keyword error: Details about the error. + :paramtype error: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityProvisioningErrorBody + """ + super(ManagedClusterPodIdentityProvisioningError, self).__init__(**kwargs) + self.error = error + + +class ManagedClusterPodIdentityProvisioningErrorBody(msrest.serialization.Model): + """An error response from the pod identity provisioning. + + :ivar code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :vartype code: str + :ivar message: A message describing the error, intended to be suitable for display in a user + interface. + :vartype message: str + :ivar target: The target of the particular error. For example, the name of the property in + error. + :vartype target: str + :ivar details: A list of additional details about the error. + :vartype details: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityProvisioningErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ManagedClusterPodIdentityProvisioningErrorBody]'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["ManagedClusterPodIdentityProvisioningErrorBody"]] = None, + **kwargs + ): + """ + :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :paramtype code: str + :keyword message: A message describing the error, intended to be suitable for display in a user + interface. + :paramtype message: str + :keyword target: The target of the particular error. For example, the name of the property in + error. + :paramtype target: str + :keyword details: A list of additional details about the error. + :paramtype details: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityProvisioningErrorBody] + """ + super(ManagedClusterPodIdentityProvisioningErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class ManagedClusterPodIdentityProvisioningInfo(msrest.serialization.Model): + """ManagedClusterPodIdentityProvisioningInfo. + + :ivar error: Pod identity assignment error (if any). + :vartype error: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityProvisioningError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ManagedClusterPodIdentityProvisioningError'}, + } + + def __init__( + self, + *, + error: Optional["ManagedClusterPodIdentityProvisioningError"] = None, + **kwargs + ): + """ + :keyword error: Pod identity assignment error (if any). + :paramtype error: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPodIdentityProvisioningError + """ + super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) + self.error = error + + +class ManagedClusterPoolUpgradeProfile(msrest.serialization.Model): + """The list of available upgrade versions. + + All required parameters must be populated in order to send to Azure. + + :ivar kubernetes_version: Required. The Kubernetes version (major.minor.patch). + :vartype kubernetes_version: str + :ivar name: The Agent Pool name. + :vartype name: str + :ivar os_type: Required. The operating system type. The default is Linux. Possible values + include: "Linux", "Windows". Default value: "Linux". + :vartype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :ivar upgrades: List of orchestrator types and versions available for upgrade. + :vartype upgrades: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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, + os_type: Union[str, "OSType"] = "Linux", + name: Optional[str] = None, + upgrades: Optional[List["ManagedClusterPoolUpgradeProfileUpgradesItem"]] = None, + **kwargs + ): + """ + :keyword kubernetes_version: Required. The Kubernetes version (major.minor.patch). + :paramtype kubernetes_version: str + :keyword name: The Agent Pool name. + :paramtype name: str + :keyword os_type: Required. The operating system type. The default is Linux. Possible values + include: "Linux", "Windows". Default value: "Linux". + :paramtype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :keyword upgrades: List of orchestrator types and versions available for upgrade. + :paramtype upgrades: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPoolUpgradeProfileUpgradesItem] + """ + super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.name = name + self.os_type = os_type + self.upgrades = upgrades + + +class ManagedClusterPoolUpgradeProfileUpgradesItem(msrest.serialization.Model): + """ManagedClusterPoolUpgradeProfileUpgradesItem. + + :ivar kubernetes_version: The Kubernetes version (major.minor.patch). + :vartype kubernetes_version: str + :ivar is_preview: Whether the Kubernetes version is currently in preview. + :vartype is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__( + self, + *, + kubernetes_version: Optional[str] = None, + is_preview: Optional[bool] = None, + **kwargs + ): + """ + :keyword kubernetes_version: The Kubernetes version (major.minor.patch). + :paramtype kubernetes_version: str + :keyword is_preview: Whether the Kubernetes version is currently in preview. + :paramtype is_preview: bool + """ + super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class ManagedClusterPropertiesAutoScalerProfile(msrest.serialization.Model): + """Parameters to be applied to the cluster-autoscaler when enabled. + + :ivar balance_similar_node_groups: Valid values are 'true' and 'false'. + :vartype balance_similar_node_groups: str + :ivar expander: If not specified, the default is 'random'. See `expanders + `_ + for more information. Possible values include: "least-waste", "most-pods", "priority", + "random". + :vartype expander: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.Expander + :ivar max_empty_bulk_delete: The default is 10. + :vartype max_empty_bulk_delete: str + :ivar max_graceful_termination_sec: The default is 600. + :vartype max_graceful_termination_sec: str + :ivar max_node_provision_time: The default is '15m'. Values must be an integer followed by an + 'm'. No unit of time other than minutes (m) is supported. + :vartype max_node_provision_time: str + :ivar max_total_unready_percentage: The default is 45. The maximum is 100 and the minimum is 0. + :vartype max_total_unready_percentage: str + :ivar new_pod_scale_up_delay: For scenarios like burst/batch scale where you don't want CA to + act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore + unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer + followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + :vartype new_pod_scale_up_delay: str + :ivar ok_total_unready_count: This must be an integer. The default is 3. + :vartype ok_total_unready_count: str + :ivar scan_interval: The default is '10'. Values must be an integer number of seconds. + :vartype scan_interval: str + :ivar scale_down_delay_after_add: The default is '10m'. Values must be an integer followed by + an 'm'. No unit of time other than minutes (m) is supported. + :vartype scale_down_delay_after_add: str + :ivar scale_down_delay_after_delete: The default is the scan-interval. Values must be an + integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :vartype scale_down_delay_after_delete: str + :ivar scale_down_delay_after_failure: The default is '3m'. Values must be an integer followed + by an 'm'. No unit of time other than minutes (m) is supported. + :vartype scale_down_delay_after_failure: str + :ivar scale_down_unneeded_time: The default is '10m'. Values must be an integer followed by an + 'm'. No unit of time other than minutes (m) is supported. + :vartype scale_down_unneeded_time: str + :ivar scale_down_unready_time: The default is '20m'. Values must be an integer followed by an + 'm'. No unit of time other than minutes (m) is supported. + :vartype scale_down_unready_time: str + :ivar scale_down_utilization_threshold: The default is '0.5'. + :vartype scale_down_utilization_threshold: str + :ivar skip_nodes_with_local_storage: The default is true. + :vartype skip_nodes_with_local_storage: str + :ivar skip_nodes_with_system_pods: The default is true. + :vartype 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: Optional[str] = None, + expander: Optional[Union[str, "Expander"]] = None, + max_empty_bulk_delete: Optional[str] = None, + max_graceful_termination_sec: Optional[str] = None, + max_node_provision_time: Optional[str] = None, + max_total_unready_percentage: Optional[str] = None, + new_pod_scale_up_delay: Optional[str] = None, + ok_total_unready_count: Optional[str] = None, + scan_interval: Optional[str] = None, + scale_down_delay_after_add: Optional[str] = None, + scale_down_delay_after_delete: Optional[str] = None, + scale_down_delay_after_failure: Optional[str] = None, + scale_down_unneeded_time: Optional[str] = None, + scale_down_unready_time: Optional[str] = None, + scale_down_utilization_threshold: Optional[str] = None, + skip_nodes_with_local_storage: Optional[str] = None, + skip_nodes_with_system_pods: Optional[str] = None, + **kwargs + ): + """ + :keyword balance_similar_node_groups: Valid values are 'true' and 'false'. + :paramtype balance_similar_node_groups: str + :keyword expander: If not specified, the default is 'random'. See `expanders + `_ + for more information. Possible values include: "least-waste", "most-pods", "priority", + "random". + :paramtype expander: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.Expander + :keyword max_empty_bulk_delete: The default is 10. + :paramtype max_empty_bulk_delete: str + :keyword max_graceful_termination_sec: The default is 600. + :paramtype max_graceful_termination_sec: str + :keyword max_node_provision_time: The default is '15m'. Values must be an integer followed by + an 'm'. No unit of time other than minutes (m) is supported. + :paramtype max_node_provision_time: str + :keyword max_total_unready_percentage: The default is 45. The maximum is 100 and the minimum is + 0. + :paramtype max_total_unready_percentage: str + :keyword new_pod_scale_up_delay: For scenarios like burst/batch scale where you don't want CA + to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore + unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer + followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + :paramtype new_pod_scale_up_delay: str + :keyword ok_total_unready_count: This must be an integer. The default is 3. + :paramtype ok_total_unready_count: str + :keyword scan_interval: The default is '10'. Values must be an integer number of seconds. + :paramtype scan_interval: str + :keyword scale_down_delay_after_add: The default is '10m'. Values must be an integer followed + by an 'm'. No unit of time other than minutes (m) is supported. + :paramtype scale_down_delay_after_add: str + :keyword scale_down_delay_after_delete: The default is the scan-interval. Values must be an + integer followed by an 'm'. No unit of time other than minutes (m) is supported. + :paramtype scale_down_delay_after_delete: str + :keyword scale_down_delay_after_failure: The default is '3m'. Values must be an integer + followed by an 'm'. No unit of time other than minutes (m) is supported. + :paramtype scale_down_delay_after_failure: str + :keyword scale_down_unneeded_time: The default is '10m'. Values must be an integer followed by + an 'm'. No unit of time other than minutes (m) is supported. + :paramtype scale_down_unneeded_time: str + :keyword scale_down_unready_time: The default is '20m'. Values must be an integer followed by + an 'm'. No unit of time other than minutes (m) is supported. + :paramtype scale_down_unready_time: str + :keyword scale_down_utilization_threshold: The default is '0.5'. + :paramtype scale_down_utilization_threshold: str + :keyword skip_nodes_with_local_storage: The default is true. + :paramtype skip_nodes_with_local_storage: str + :keyword skip_nodes_with_system_pods: The default is true. + :paramtype skip_nodes_with_system_pods: str + """ + 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 ManagedClusterSecurityProfile(msrest.serialization.Model): + """Security profile for the container service cluster. + + :ivar azure_defender: Azure Defender settings for the security profile. + :vartype azure_defender: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSecurityProfileAzureDefender + """ + + _attribute_map = { + 'azure_defender': {'key': 'azureDefender', 'type': 'ManagedClusterSecurityProfileAzureDefender'}, + } + + def __init__( + self, + *, + azure_defender: Optional["ManagedClusterSecurityProfileAzureDefender"] = None, + **kwargs + ): + """ + :keyword azure_defender: Azure Defender settings for the security profile. + :paramtype azure_defender: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSecurityProfileAzureDefender + """ + super(ManagedClusterSecurityProfile, self).__init__(**kwargs) + self.azure_defender = azure_defender + + +class ManagedClusterSecurityProfileAzureDefender(msrest.serialization.Model): + """Azure Defender settings for the security profile. + + :ivar enabled: Whether to enable Azure Defender. + :vartype enabled: bool + :ivar log_analytics_workspace_resource_id: Resource ID of the Log Analytics workspace to be + associated with Azure Defender. When Azure Defender is enabled, this field is required and + must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty. + :vartype log_analytics_workspace_resource_id: str + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'log_analytics_workspace_resource_id': {'key': 'logAnalyticsWorkspaceResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + log_analytics_workspace_resource_id: Optional[str] = None, + **kwargs + ): + """ + :keyword enabled: Whether to enable Azure Defender. + :paramtype enabled: bool + :keyword log_analytics_workspace_resource_id: Resource ID of the Log Analytics workspace to be + associated with Azure Defender. When Azure Defender is enabled, this field is required and + must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty. + :paramtype log_analytics_workspace_resource_id: str + """ + super(ManagedClusterSecurityProfileAzureDefender, self).__init__(**kwargs) + self.enabled = enabled + self.log_analytics_workspace_resource_id = log_analytics_workspace_resource_id + + +class ManagedClusterServicePrincipalProfile(msrest.serialization.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. + + :ivar client_id: Required. The ID for the service principal. + :vartype client_id: str + :ivar secret: The secret password associated with the service principal in plain text. + :vartype 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: Optional[str] = None, + **kwargs + ): + """ + :keyword client_id: Required. The ID for the service principal. + :paramtype client_id: str + :keyword secret: The secret password associated with the service principal in plain text. + :paramtype secret: str + """ + super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) + self.client_id = client_id + self.secret = secret + + +class ManagedClusterSKU(msrest.serialization.Model): + """The SKU of a Managed Cluster. + + :ivar name: The name of a managed cluster SKU. Possible values include: "Basic". + :vartype name: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSKUName + :ivar tier: If not specified, the default is 'Free'. See `uptime SLA + `_ for more details. Possible values include: + "Paid", "Free". + :vartype tier: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSKUTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[Union[str, "ManagedClusterSKUName"]] = None, + tier: Optional[Union[str, "ManagedClusterSKUTier"]] = None, + **kwargs + ): + """ + :keyword name: The name of a managed cluster SKU. Possible values include: "Basic". + :paramtype name: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSKUName + :keyword tier: If not specified, the default is 'Free'. See `uptime SLA + `_ for more details. Possible values include: + "Paid", "Free". + :paramtype tier: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterSKUTier + """ + super(ManagedClusterSKU, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class ManagedClusterUpgradeProfile(msrest.serialization.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: The ID of the upgrade profile. + :vartype id: str + :ivar name: The name of the upgrade profile. + :vartype name: str + :ivar type: The type of the upgrade profile. + :vartype type: str + :ivar control_plane_profile: Required. The list of available upgrade versions for the control + plane. + :vartype control_plane_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPoolUpgradeProfile + :ivar agent_pool_profiles: Required. The list of available upgrade versions for agent pools. + :vartype agent_pool_profiles: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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: "ManagedClusterPoolUpgradeProfile", + agent_pool_profiles: List["ManagedClusterPoolUpgradeProfile"], + **kwargs + ): + """ + :keyword control_plane_profile: Required. The list of available upgrade versions for the + control plane. + :paramtype control_plane_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPoolUpgradeProfile + :keyword agent_pool_profiles: Required. The list of available upgrade versions for agent pools. + :paramtype agent_pool_profiles: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterPoolUpgradeProfile] + """ + 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(msrest.serialization.Model): + """Profile for Windows VMs in the managed cluster. + + All required parameters must be populated in order to send to Azure. + + :ivar admin_username: Required. Specifies the name of the administrator account. + :code:`
`:code:`
` **Restriction:** Cannot end in "." :code:`
`:code:`
` + **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". :code:`
`:code:`
` **Minimum-length:** 1 + character :code:`
`:code:`
` **Max-length:** 20 characters. + :vartype admin_username: str + :ivar admin_password: Specifies the password of the administrator account. + :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` + **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 + conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper + characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) + :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", + "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". + :vartype admin_password: str + :ivar license_type: The license type to use for Windows VMs. See `Azure Hybrid User Benefits + `_ for more details. Possible values + include: "None", "Windows_Server". + :vartype license_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.LicenseType + :ivar enable_csi_proxy: For more details on CSI proxy, see the `CSI proxy GitHub repo + `_. + :vartype enable_csi_proxy: bool + :ivar gmsa_profile: The Windows gMSA Profile in the Managed Cluster. + :vartype gmsa_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.WindowsGmsaProfile + """ + + _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'}, + 'gmsa_profile': {'key': 'gmsaProfile', 'type': 'WindowsGmsaProfile'}, + } + + def __init__( + self, + *, + admin_username: str, + admin_password: Optional[str] = None, + license_type: Optional[Union[str, "LicenseType"]] = None, + enable_csi_proxy: Optional[bool] = None, + gmsa_profile: Optional["WindowsGmsaProfile"] = None, + **kwargs + ): + """ + :keyword admin_username: Required. Specifies the name of the administrator account. + :code:`
`:code:`
` **Restriction:** Cannot end in "." :code:`
`:code:`
` + **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". :code:`
`:code:`
` **Minimum-length:** 1 + character :code:`
`:code:`
` **Max-length:** 20 characters. + :paramtype admin_username: str + :keyword admin_password: Specifies the password of the administrator account. + :code:`
`:code:`
` **Minimum-length:** 8 characters :code:`
`:code:`
` + **Max-length:** 123 characters :code:`
`:code:`
` **Complexity requirements:** 3 out of 4 + conditions below need to be fulfilled :code:`
` Has lower characters :code:`
`Has upper + characters :code:`
` Has a digit :code:`
` Has a special character (Regex match [\W_]) + :code:`
`:code:`
` **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", + "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!". + :paramtype admin_password: str + :keyword license_type: The license type to use for Windows VMs. See `Azure Hybrid User Benefits + `_ for more details. Possible values + include: "None", "Windows_Server". + :paramtype license_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.LicenseType + :keyword enable_csi_proxy: For more details on CSI proxy, see the `CSI proxy GitHub repo + `_. + :paramtype enable_csi_proxy: bool + :keyword gmsa_profile: The Windows gMSA Profile in the Managed Cluster. + :paramtype gmsa_profile: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.WindowsGmsaProfile + """ + 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 + self.gmsa_profile = gmsa_profile + + +class ManagedServiceIdentityUserAssignedIdentitiesValue(msrest.serialization.Model): + """ManagedServiceIdentityUserAssignedIdentitiesValue. + + 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(ManagedServiceIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class OperationListResult(msrest.serialization.Model): + """The List Operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of operations. + :vartype value: list[~azure.mgmt.containerservice.v2022_01_02_preview.models.OperationValue] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationValue]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationListResult, self).__init__(**kwargs) + self.value = None + + +class OperationValue(msrest.serialization.Model): + """Describes the properties of a Operation value. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar origin: The origin of the operation. + :vartype origin: str + :ivar name: The name of the operation. + :vartype name: str + :ivar operation: The display name of the 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(msrest.serialization.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: The ID of the OS option resource. + :vartype id: str + :ivar name: The name of the OS option resource. + :vartype name: str + :ivar type: The type of the OS option resource. + :vartype type: str + :ivar os_option_property_list: Required. The list of OS options. + :vartype os_option_property_list: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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: List["OSOptionProperty"], + **kwargs + ): + """ + :keyword os_option_property_list: Required. The list of OS options. + :paramtype os_option_property_list: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.OSOptionProperty] + """ + 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(msrest.serialization.Model): + """OS option property. + + All required parameters must be populated in order to send to Azure. + + :ivar os_type: Required. The OS type. + :vartype os_type: str + :ivar enable_fips_image: Required. Whether the image is FIPS-enabled. + :vartype 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 + ): + """ + :keyword os_type: Required. The OS type. + :paramtype os_type: str + :keyword enable_fips_image: Required. Whether the image is FIPS-enabled. + :paramtype enable_fips_image: bool + """ + super(OSOptionProperty, self).__init__(**kwargs) + self.os_type = os_type + self.enable_fips_image = enable_fips_image + + +class OutboundEnvironmentEndpoint(msrest.serialization.Model): + """Egress endpoints which AKS agent nodes connect to for common purpose. + + :ivar category: The category of endpoints accessed by the AKS agent node, e.g. + azure-resource-management, apiserver, etc. + :vartype category: str + :ivar endpoints: The endpoints that AKS agent nodes connect to. + :vartype endpoints: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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 + ): + """ + :keyword category: The category of endpoints accessed by the AKS agent node, e.g. + azure-resource-management, apiserver, etc. + :paramtype category: str + :keyword endpoints: The endpoints that AKS agent nodes connect to. + :paramtype endpoints: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.EndpointDependency] + """ + super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) + self.category = category + self.endpoints = endpoints + + +class OutboundEnvironmentEndpointCollection(msrest.serialization.Model): + """Collection of OutboundEnvironmentEndpoint. + + 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 value: Required. Collection of resources. + :vartype value: + list[~azure.mgmt.containerservice.v2022_01_02_preview.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 + ): + """ + :keyword value: Required. Collection of resources. + :paramtype value: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.OutboundEnvironmentEndpoint] + """ + super(OutboundEnvironmentEndpointCollection, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class PowerState(msrest.serialization.Model): + """Describes the Power State of the cluster. + + :ivar code: Tells whether the cluster is Running or Stopped. Possible values include: + "Running", "Stopped". + :vartype code: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.Code + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[Union[str, "Code"]] = None, + **kwargs + ): + """ + :keyword code: Tells whether the cluster is Running or Stopped. Possible values include: + "Running", "Stopped". + :paramtype code: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.Code + """ + super(PowerState, self).__init__(**kwargs) + self.code = code + + +class PrivateEndpoint(msrest.serialization.Model): + """Private endpoint which a connection belongs to. + + :ivar id: The resource ID of the private endpoint. + :vartype id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): + """ + :keyword id: The resource ID of the private endpoint. + :paramtype id: str + """ + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = id + + +class PrivateEndpointConnection(msrest.serialization.Model): + """A private endpoint connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :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.v2022_01_02_preview.models.PrivateEndpointConnectionProvisioningState + :ivar private_endpoint: The resource of private endpoint. + :vartype private_endpoint: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpoint + :ivar private_link_service_connection_state: A collection of information about the state of the + connection between service consumer and provider. + :vartype private_link_service_connection_state: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkServiceConnectionState + """ + + _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'}, + '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_endpoint: Optional["PrivateEndpoint"] = None, + private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, + **kwargs + ): + """ + :keyword private_endpoint: The resource of private endpoint. + :paramtype private_endpoint: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpoint + :keyword private_link_service_connection_state: A collection of information about the state of + the connection between service consumer and provider. + :paramtype private_link_service_connection_state: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkServiceConnectionState + """ + 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(msrest.serialization.Model): + """A list of private endpoint connections. + + :ivar value: The collection value. + :vartype value: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + } + + def __init__( + self, + *, + value: Optional[List["PrivateEndpointConnection"]] = None, + **kwargs + ): + """ + :keyword value: The collection value. + :paramtype value: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnection] + """ + super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkResource(msrest.serialization.Model): + """A private link resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The ID of the private link resource. + :vartype id: str + :ivar name: The name of the private link resource. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar group_id: The group ID of the resource. + :vartype group_id: str + :ivar required_members: The RequiredMembers of the resource. + :vartype 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: Optional[str] = None, + name: Optional[str] = None, + type: Optional[str] = None, + group_id: Optional[str] = None, + required_members: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword id: The ID of the private link resource. + :paramtype id: str + :keyword name: The name of the private link resource. + :paramtype name: str + :keyword type: The resource type. + :paramtype type: str + :keyword group_id: The group ID of the resource. + :paramtype group_id: str + :keyword required_members: The RequiredMembers of the resource. + :paramtype required_members: list[str] + """ + 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(msrest.serialization.Model): + """A list of private link resources. + + :ivar value: The collection value. + :vartype value: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__( + self, + *, + value: Optional[List["PrivateLinkResource"]] = None, + **kwargs + ): + """ + :keyword value: The collection value. + :paramtype value: + list[~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResource] + """ + super(PrivateLinkResourcesListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkServiceConnectionState(msrest.serialization.Model): + """The state of a private link service connection. + + :ivar status: The private link service connection status. Possible values include: "Pending", + "Approved", "Rejected", "Disconnected". + :vartype status: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ConnectionStatus + :ivar description: The private link service connection description. + :vartype description: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[Union[str, "ConnectionStatus"]] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword status: The private link service connection status. Possible values include: + "Pending", "Approved", "Rejected", "Disconnected". + :paramtype status: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ConnectionStatus + :keyword description: The private link service connection description. + :paramtype description: str + """ + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + + +class ResourceReference(msrest.serialization.Model): + """A reference to an Azure resource. + + :ivar id: The fully qualified Azure resource id. + :vartype id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): + """ + :keyword id: The fully qualified Azure resource id. + :paramtype id: str + """ + super(ResourceReference, self).__init__(**kwargs) + self.id = id + + +class RunCommandRequest(msrest.serialization.Model): + """A run command request. + + All required parameters must be populated in order to send to Azure. + + :ivar command: Required. The command to run. + :vartype command: str + :ivar context: A base64 encoded zip file containing the files required by the command. + :vartype context: str + :ivar cluster_token: AuthToken issued for AKS AAD Server App. + :vartype 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: Optional[str] = None, + cluster_token: Optional[str] = None, + **kwargs + ): + """ + :keyword command: Required. The command to run. + :paramtype command: str + :keyword context: A base64 encoded zip file containing the files required by the command. + :paramtype context: str + :keyword cluster_token: AuthToken issued for AKS AAD Server App. + :paramtype cluster_token: str + """ + super(RunCommandRequest, self).__init__(**kwargs) + self.command = command + self.context = context + self.cluster_token = cluster_token + + +class RunCommandResult(msrest.serialization.Model): + """run command result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The command id. + :vartype id: str + :ivar provisioning_state: provisioning State. + :vartype provisioning_state: str + :ivar exit_code: The exit code of the command. + :vartype exit_code: int + :ivar started_at: The time when the command started. + :vartype started_at: ~datetime.datetime + :ivar finished_at: The time when the command finished. + :vartype finished_at: ~datetime.datetime + :ivar logs: The command output. + :vartype logs: str + :ivar reason: An explanation of 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 Snapshot(Resource): + """A node pool snapshot resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar location: Required. Resource location. + :vartype location: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar system_data: The system metadata relating to this snapshot. + :vartype system_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.SystemData + :ivar creation_data: CreationData to be used to specify the source agent pool resource ID to + create this snapshot. + :vartype creation_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreationData + :ivar snapshot_type: The type of a snapshot. The default is NodePool. Possible values include: + "NodePool". Default value: "NodePool". + :vartype snapshot_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.SnapshotType + :ivar kubernetes_version: The version of Kubernetes. + :vartype kubernetes_version: str + :ivar node_image_version: The version of node image. + :vartype node_image_version: str + :ivar os_type: The operating system type. The default is Linux. Possible values include: + "Linux", "Windows". Default value: "Linux". + :vartype os_type: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSType + :ivar os_sku: Specifies an OS SKU. This value must not be specified if OSType is Windows. + Possible values include: "Ubuntu", "CBLMariner". + :vartype os_sku: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSSKU + :ivar vm_size: The size of the VM. + :vartype vm_size: str + :ivar enable_fips: Whether to use a FIPS-enabled OS. + :vartype enable_fips: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'kubernetes_version': {'readonly': True}, + 'node_image_version': {'readonly': True}, + 'os_type': {'readonly': True}, + 'os_sku': {'readonly': True}, + 'vm_size': {'readonly': True}, + 'enable_fips': {'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}'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'creation_data': {'key': 'properties.creationData', 'type': 'CreationData'}, + 'snapshot_type': {'key': 'properties.snapshotType', 'type': 'str'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'os_sku': {'key': 'properties.osSku', 'type': 'str'}, + 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, + 'enable_fips': {'key': 'properties.enableFIPS', 'type': 'bool'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + creation_data: Optional["CreationData"] = None, + snapshot_type: Optional[Union[str, "SnapshotType"]] = "NodePool", + **kwargs + ): + """ + :keyword location: Required. Resource location. + :paramtype location: str + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword creation_data: CreationData to be used to specify the source agent pool resource ID to + create this snapshot. + :paramtype creation_data: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreationData + :keyword snapshot_type: The type of a snapshot. The default is NodePool. Possible values + include: "NodePool". Default value: "NodePool". + :paramtype snapshot_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.SnapshotType + """ + super(Snapshot, self).__init__(location=location, tags=tags, **kwargs) + self.system_data = None + self.creation_data = creation_data + self.snapshot_type = snapshot_type + self.kubernetes_version = None + self.node_image_version = None + self.os_type = None + self.os_sku = None + self.vm_size = None + self.enable_fips = None + + +class SnapshotListResult(msrest.serialization.Model): + """The response from the List Snapshots operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The list of snapshots. + :vartype value: list[~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot] + :ivar next_link: The URL to get the next set of snapshot results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Snapshot]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Snapshot"]] = None, + **kwargs + ): + """ + :keyword value: The list of snapshots. + :paramtype value: list[~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot] + """ + super(SnapshotListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class SysctlConfig(msrest.serialization.Model): + """Sysctl settings for Linux agent nodes. + + :ivar net_core_somaxconn: Sysctl setting net.core.somaxconn. + :vartype net_core_somaxconn: int + :ivar net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. + :vartype net_core_netdev_max_backlog: int + :ivar net_core_rmem_default: Sysctl setting net.core.rmem_default. + :vartype net_core_rmem_default: int + :ivar net_core_rmem_max: Sysctl setting net.core.rmem_max. + :vartype net_core_rmem_max: int + :ivar net_core_wmem_default: Sysctl setting net.core.wmem_default. + :vartype net_core_wmem_default: int + :ivar net_core_wmem_max: Sysctl setting net.core.wmem_max. + :vartype net_core_wmem_max: int + :ivar net_core_optmem_max: Sysctl setting net.core.optmem_max. + :vartype net_core_optmem_max: int + :ivar net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + :vartype net_ipv4_tcp_max_syn_backlog: int + :ivar net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + :vartype net_ipv4_tcp_max_tw_buckets: int + :ivar net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. + :vartype net_ipv4_tcp_fin_timeout: int + :ivar net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. + :vartype net_ipv4_tcp_keepalive_time: int + :ivar net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. + :vartype net_ipv4_tcp_keepalive_probes: int + :ivar net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + :vartype net_ipv4_tcpkeepalive_intvl: int + :ivar net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. + :vartype net_ipv4_tcp_tw_reuse: bool + :ivar net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. + :vartype net_ipv4_ip_local_port_range: str + :ivar net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + :vartype net_ipv4_neigh_default_gc_thresh1: int + :ivar net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + :vartype net_ipv4_neigh_default_gc_thresh2: int + :ivar net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + :vartype net_ipv4_neigh_default_gc_thresh3: int + :ivar net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. + :vartype net_netfilter_nf_conntrack_max: int + :ivar net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + :vartype net_netfilter_nf_conntrack_buckets: int + :ivar fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. + :vartype fs_inotify_max_user_watches: int + :ivar fs_file_max: Sysctl setting fs.file-max. + :vartype fs_file_max: int + :ivar fs_aio_max_nr: Sysctl setting fs.aio-max-nr. + :vartype fs_aio_max_nr: int + :ivar fs_nr_open: Sysctl setting fs.nr_open. + :vartype fs_nr_open: int + :ivar kernel_threads_max: Sysctl setting kernel.threads-max. + :vartype kernel_threads_max: int + :ivar vm_max_map_count: Sysctl setting vm.max_map_count. + :vartype vm_max_map_count: int + :ivar vm_swappiness: Sysctl setting vm.swappiness. + :vartype vm_swappiness: int + :ivar vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. + :vartype 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: Optional[int] = None, + net_core_netdev_max_backlog: Optional[int] = None, + net_core_rmem_default: Optional[int] = None, + net_core_rmem_max: Optional[int] = None, + net_core_wmem_default: Optional[int] = None, + net_core_wmem_max: Optional[int] = None, + net_core_optmem_max: Optional[int] = None, + net_ipv4_tcp_max_syn_backlog: Optional[int] = None, + net_ipv4_tcp_max_tw_buckets: Optional[int] = None, + net_ipv4_tcp_fin_timeout: Optional[int] = None, + net_ipv4_tcp_keepalive_time: Optional[int] = None, + net_ipv4_tcp_keepalive_probes: Optional[int] = None, + net_ipv4_tcpkeepalive_intvl: Optional[int] = None, + net_ipv4_tcp_tw_reuse: Optional[bool] = None, + net_ipv4_ip_local_port_range: Optional[str] = None, + net_ipv4_neigh_default_gc_thresh1: Optional[int] = None, + net_ipv4_neigh_default_gc_thresh2: Optional[int] = None, + net_ipv4_neigh_default_gc_thresh3: Optional[int] = None, + net_netfilter_nf_conntrack_max: Optional[int] = None, + net_netfilter_nf_conntrack_buckets: Optional[int] = None, + fs_inotify_max_user_watches: Optional[int] = None, + fs_file_max: Optional[int] = None, + fs_aio_max_nr: Optional[int] = None, + fs_nr_open: Optional[int] = None, + kernel_threads_max: Optional[int] = None, + vm_max_map_count: Optional[int] = None, + vm_swappiness: Optional[int] = None, + vm_vfs_cache_pressure: Optional[int] = None, + **kwargs + ): + """ + :keyword net_core_somaxconn: Sysctl setting net.core.somaxconn. + :paramtype net_core_somaxconn: int + :keyword net_core_netdev_max_backlog: Sysctl setting net.core.netdev_max_backlog. + :paramtype net_core_netdev_max_backlog: int + :keyword net_core_rmem_default: Sysctl setting net.core.rmem_default. + :paramtype net_core_rmem_default: int + :keyword net_core_rmem_max: Sysctl setting net.core.rmem_max. + :paramtype net_core_rmem_max: int + :keyword net_core_wmem_default: Sysctl setting net.core.wmem_default. + :paramtype net_core_wmem_default: int + :keyword net_core_wmem_max: Sysctl setting net.core.wmem_max. + :paramtype net_core_wmem_max: int + :keyword net_core_optmem_max: Sysctl setting net.core.optmem_max. + :paramtype net_core_optmem_max: int + :keyword net_ipv4_tcp_max_syn_backlog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + :paramtype net_ipv4_tcp_max_syn_backlog: int + :keyword net_ipv4_tcp_max_tw_buckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + :paramtype net_ipv4_tcp_max_tw_buckets: int + :keyword net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. + :paramtype net_ipv4_tcp_fin_timeout: int + :keyword net_ipv4_tcp_keepalive_time: Sysctl setting net.ipv4.tcp_keepalive_time. + :paramtype net_ipv4_tcp_keepalive_time: int + :keyword net_ipv4_tcp_keepalive_probes: Sysctl setting net.ipv4.tcp_keepalive_probes. + :paramtype net_ipv4_tcp_keepalive_probes: int + :keyword net_ipv4_tcpkeepalive_intvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + :paramtype net_ipv4_tcpkeepalive_intvl: int + :keyword net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. + :paramtype net_ipv4_tcp_tw_reuse: bool + :keyword net_ipv4_ip_local_port_range: Sysctl setting net.ipv4.ip_local_port_range. + :paramtype net_ipv4_ip_local_port_range: str + :keyword net_ipv4_neigh_default_gc_thresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + :paramtype net_ipv4_neigh_default_gc_thresh1: int + :keyword net_ipv4_neigh_default_gc_thresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + :paramtype net_ipv4_neigh_default_gc_thresh2: int + :keyword net_ipv4_neigh_default_gc_thresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + :paramtype net_ipv4_neigh_default_gc_thresh3: int + :keyword net_netfilter_nf_conntrack_max: Sysctl setting net.netfilter.nf_conntrack_max. + :paramtype net_netfilter_nf_conntrack_max: int + :keyword net_netfilter_nf_conntrack_buckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + :paramtype net_netfilter_nf_conntrack_buckets: int + :keyword fs_inotify_max_user_watches: Sysctl setting fs.inotify.max_user_watches. + :paramtype fs_inotify_max_user_watches: int + :keyword fs_file_max: Sysctl setting fs.file-max. + :paramtype fs_file_max: int + :keyword fs_aio_max_nr: Sysctl setting fs.aio-max-nr. + :paramtype fs_aio_max_nr: int + :keyword fs_nr_open: Sysctl setting fs.nr_open. + :paramtype fs_nr_open: int + :keyword kernel_threads_max: Sysctl setting kernel.threads-max. + :paramtype kernel_threads_max: int + :keyword vm_max_map_count: Sysctl setting vm.max_map_count. + :paramtype vm_max_map_count: int + :keyword vm_swappiness: Sysctl setting vm.swappiness. + :paramtype vm_swappiness: int + :keyword vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. + :paramtype vm_vfs_cache_pressure: int + """ + 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(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreatedByType + :ivar created_at: The UTC timestamp of resource creation. + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreatedByType + :ivar last_modified_at: The type of identity that last modified the resource. + :vartype 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 + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreatedByType + :keyword created_at: The UTC timestamp of resource creation. + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.containerservice.v2022_01_02_preview.models.CreatedByType + :keyword last_modified_at: The type of identity that last modified the resource. + :paramtype last_modified_at: ~datetime.datetime + """ + 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(msrest.serialization.Model): + """Tags object for patch operations. + + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + """ + super(TagsObject, self).__init__(**kwargs) + self.tags = tags + + +class TimeInWeek(msrest.serialization.Model): + """Time in a week. + + :ivar day: The day of the week. Possible values include: "Sunday", "Monday", "Tuesday", + "Wednesday", "Thursday", "Friday", "Saturday". + :vartype day: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.WeekDay + :ivar hour_slots: Each integer hour represents a time range beginning at 0m after the hour + ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 + UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + :vartype hour_slots: list[int] + """ + + _attribute_map = { + 'day': {'key': 'day', 'type': 'str'}, + 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, + } + + def __init__( + self, + *, + day: Optional[Union[str, "WeekDay"]] = None, + hour_slots: Optional[List[int]] = None, + **kwargs + ): + """ + :keyword day: The day of the week. Possible values include: "Sunday", "Monday", "Tuesday", + "Wednesday", "Thursday", "Friday", "Saturday". + :paramtype day: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.WeekDay + :keyword hour_slots: Each integer hour represents a time range beginning at 0m after the hour + ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 + UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. + :paramtype hour_slots: list[int] + """ + super(TimeInWeek, self).__init__(**kwargs) + self.day = day + self.hour_slots = hour_slots + + +class TimeSpan(msrest.serialization.Model): + """For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + + :ivar start: The start of a time span. + :vartype start: ~datetime.datetime + :ivar end: The end of a time span. + :vartype end: ~datetime.datetime + """ + + _attribute_map = { + 'start': {'key': 'start', 'type': 'iso-8601'}, + 'end': {'key': 'end', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + start: Optional[datetime.datetime] = None, + end: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword start: The start of a time span. + :paramtype start: ~datetime.datetime + :keyword end: The end of a time span. + :paramtype end: ~datetime.datetime + """ + super(TimeSpan, self).__init__(**kwargs) + self.start = start + self.end = end + + +class WindowsGmsaProfile(msrest.serialization.Model): + """Windows gMSA Profile in the managed cluster. + + :ivar enabled: Specifies whether to enable Windows gMSA in the managed cluster. + :vartype enabled: bool + :ivar dns_server: Specifies the DNS server for Windows gMSA. :code:`
`:code:`
` Set it to + empty if you have configured the DNS server in the vnet which is used to create the managed + cluster. + :vartype dns_server: str + :ivar root_domain_name: Specifies the root domain name for Windows gMSA. + :code:`
`:code:`
` Set it to empty if you have configured the DNS server in the vnet + which is used to create the managed cluster. + :vartype root_domain_name: str + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'dns_server': {'key': 'dnsServer', 'type': 'str'}, + 'root_domain_name': {'key': 'rootDomainName', 'type': 'str'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + dns_server: Optional[str] = None, + root_domain_name: Optional[str] = None, + **kwargs + ): + """ + :keyword enabled: Specifies whether to enable Windows gMSA in the managed cluster. + :paramtype enabled: bool + :keyword dns_server: Specifies the DNS server for Windows gMSA. :code:`
`:code:`
` Set it + to empty if you have configured the DNS server in the vnet which is used to create the managed + cluster. + :paramtype dns_server: str + :keyword root_domain_name: Specifies the root domain name for Windows gMSA. + :code:`
`:code:`
` Set it to empty if you have configured the DNS server in the vnet + which is used to create the managed cluster. + :paramtype root_domain_name: str + """ + super(WindowsGmsaProfile, self).__init__(**kwargs) + self.enabled = enabled + self.dns_server = dns_server + self.root_domain_name = root_domain_name diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/__init__.py old mode 100755 new mode 100644 similarity index 100% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/__init__.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/__init__.py diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_agent_pools_operations.py new file mode 100644 index 00000000000..1d266787372 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_agent_pools_operations.py @@ -0,0 +1,914 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("agent_pool_name", agent_pool_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("agent_pool_name", agent_pool_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("agent_pool_name", agent_pool_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_upgrade_profile_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("agent_pool_name", agent_pool_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_available_agent_pool_versions_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_upgrade_node_image_version_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("agent_pool_name", agent_pool_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class AgentPoolsOperations(object): + """AgentPoolsOperations 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.containerservice.v2022_01_02_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> Iterable["_models.AgentPoolListResult"]: + """Gets a list of agent pools in the specified managed cluster. + + Gets a list of agent pools 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("AgentPoolListResult", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> "_models.AgentPool": + """Gets the specified managed cluster agent pool. + + Gets the specified managed cluster 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 agent_pool_name: The name of the agent pool. + :type agent_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPool, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: "_models.AgentPool", + **kwargs: Any + ) -> "_models.AgentPool": + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'AgentPool') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('AgentPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + parameters: "_models.AgentPool", + **kwargs: Any + ) -> LROPoller["_models.AgentPool"]: + """Creates or updates an agent pool in the specified managed cluster. + + 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: The agent pool to create or update. + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 AgentPool or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + 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, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + parameters=parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('AgentPool', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Deletes an agent pool in the specified managed cluster. + + Deletes 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 + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + + @distributed_trace + def get_upgrade_profile( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> "_models.AgentPoolUpgradeProfile": + """Gets the upgrade profile for an agent pool. + + Gets the upgrade profile for an 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 agent_pool_name: The name of the agent pool. + :type agent_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_upgrade_profile_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + template_url=self.get_upgrade_profile.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('AgentPoolUpgradeProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore + + + @distributed_trace + def get_available_agent_pool_versions( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.AgentPoolAvailableVersions": + """Gets a list of supported Kubernetes versions for the specified agent pool. + + See `supported Kubernetes versions + `_ for more details about + the version lifecycle. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AgentPoolAvailableVersions, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPoolAvailableVersions + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_available_agent_pool_versions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.get_available_agent_pool_versions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('AgentPoolAvailableVersions', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore + + + def _upgrade_node_image_version_initial( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> Optional["_models.AgentPool"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AgentPool"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_upgrade_node_image_version_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + template_url=self._upgrade_node_image_version_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 + response_headers = {} + if response.status_code == 202: + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + + deserialized = self._deserialize('AgentPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + + _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore + + + @distributed_trace + def begin_upgrade_node_image_version( + self, + resource_group_name: str, + resource_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> LROPoller["_models.AgentPool"]: + """Upgrades the node image version of an agent pool to the latest. + + Upgrading the node image version of an agent pool applies the newest OS and runtime updates to + the nodes. AKS provides one new image per week with the latest updates. For more details on + node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade. + + :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 + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 AgentPool or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.AgentPool] + :raises: ~azure.core.exceptions.HttpResponseError + """ + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + 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_node_image_version_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response_headers = {} + response = pipeline_response.http_response + response_headers['Azure-AsyncOperation']=self._deserialize('str', response.headers.get('Azure-AsyncOperation')) + + deserialized = self._deserialize('AgentPool', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, response_headers) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_maintenance_configurations_operations.py new file mode 100644 index 00000000000..5e4615d8030 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_maintenance_configurations_operations.py @@ -0,0 +1,457 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_managed_cluster_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + config_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("config_name", config_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + config_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("config_name", config_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + config_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("config_name", config_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.containerservice.v2022_01_02_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list_by_managed_cluster( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> Iterable["_models.MaintenanceConfigurationListResult"]: + """Gets a list of maintenance configurations in the specified managed cluster. + + Gets a list of maintenance configurations 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MaintenanceConfigurationListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.MaintenanceConfigurationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_by_managed_cluster_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list_by_managed_cluster.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_by_managed_cluster_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("MaintenanceConfigurationListResult", 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_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + **kwargs: Any + ) -> "_models.MaintenanceConfiguration": + """Gets the specified maintenance configuration of a managed cluster. + + Gets the specified maintenance configuration 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 config_name: The name of the maintenance configuration. + :type config_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: ~azure.mgmt.containerservice.v2022_01_02_preview.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MaintenanceConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + parameters: "_models.MaintenanceConfiguration", + **kwargs: Any + ) -> "_models.MaintenanceConfiguration": + """Creates or updates a maintenance configuration in the specified managed cluster. + + 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 parameters: The maintenance configuration to create or update. + :type parameters: + ~azure.mgmt.containerservice.v2022_01_02_preview.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: ~azure.mgmt.containerservice.v2022_01_02_preview.models.MaintenanceConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'MaintenanceConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MaintenanceConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + resource_name: str, + config_name: str, + **kwargs: Any + ) -> None: + """Deletes a maintenance configuration. + + Deletes a 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 config_name: The name of the maintenance configuration. + :type config_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_managed_clusters_operations.py new file mode 100644 index 00000000000..7e4a6e1c2db --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_managed_clusters_operations.py @@ -0,0 +1,2470 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_os_options_request( + subscription_id: str, + location: str, + *, + resource_type: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if resource_type is not None: + query_parameters['resource-type'] = _SERIALIZER.query("resource_type", resource_type, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_by_resource_group_request( + subscription_id: str, + resource_group_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_upgrade_profile_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_access_profile_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + role_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("role_name", role_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_cluster_admin_credentials_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + server_fqdn: Optional[str] = None, + format: Optional[Union[str, "_models.Format"]] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if server_fqdn is not None: + query_parameters['server-fqdn'] = _SERIALIZER.query("server_fqdn", server_fqdn, 'str') + if format is not None: + query_parameters['format'] = _SERIALIZER.query("format", format, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_cluster_user_credentials_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + server_fqdn: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if server_fqdn is not None: + query_parameters['server-fqdn'] = _SERIALIZER.query("server_fqdn", server_fqdn, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_cluster_monitoring_user_credentials_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + server_fqdn: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if server_fqdn is not None: + query_parameters['server-fqdn'] = _SERIALIZER.query("server_fqdn", server_fqdn, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_tags_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_reset_service_principal_profile_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_reset_aad_profile_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_rotate_cluster_certificates_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_stop_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_start_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_run_command_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_command_result_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + command_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("command_id", command_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_outbound_network_dependencies_endpoints_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ManagedClustersOperations(object): + """ManagedClustersOperations 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.containerservice.v2022_01_02_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get_os_options( + self, + location: str, + resource_type: Optional[str] = None, + **kwargs: Any + ) -> "_models.OSOptionProfile": + """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: The resource type for which the OS options needs to be returned. + :type resource_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OSOptionProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.OSOptionProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OSOptionProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_os_options_request( + subscription_id=self._config.subscription_id, + location=location, + resource_type=resource_type, + template_url=self.get_os_options.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('OSOptionProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_os_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default'} # type: ignore + + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ManagedClusterListResult"]: + """Gets a list of managed clusters in the specified subscription. + + Gets a list of managed clusters in 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 ManagedClusterListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ManagedClusterListResult", 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.ContainerService/managedClusters'} # type: ignore + + @distributed_trace + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> Iterable["_models.ManagedClusterListResult"]: + """Lists managed clusters in the specified subscription and resource group. + + Lists managed clusters in the specified subscription and resource group. + + :param resource_group_name: The name of the 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 ManagedClusterListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ManagedClusterListResult", 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.ContainerService/managedClusters'} # type: ignore + + @distributed_trace + def get_upgrade_profile( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.ManagedClusterUpgradeProfile": + """Gets the upgrade profile of a managed cluster. + + Gets the upgrade profile 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterUpgradeProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterUpgradeProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_upgrade_profile_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.get_upgrade_profile.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ManagedClusterUpgradeProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore + + + @distributed_trace + def get_access_profile( + self, + resource_group_name: str, + resource_name: str, + role_name: str, + **kwargs: Any + ) -> "_models.ManagedClusterAccessProfile": + """Gets an access profile of a managed cluster. + + **WARNING**\ : This API will be deprecated. Instead use `ListClusterUserCredentials + `_ or + `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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedClusterAccessProfile, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAccessProfile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_access_profile_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + role_name=role_name, + template_url=self.get_access_profile.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ManagedClusterAccessProfile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore + + + @distributed_trace + def list_cluster_admin_credentials( + self, + resource_group_name: str, + resource_name: str, + server_fqdn: Optional[str] = None, + format: Optional[Union[str, "_models.Format"]] = None, + **kwargs: Any + ) -> "_models.CredentialResults": + """Lists the admin credentials of a managed cluster. + + Lists the admin credentials 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 server_fqdn: server fqdn type for credentials to be returned. + :type server_fqdn: str + :param format: Only apply to AAD clusters, specifies the format of returned kubeconfig. Format + 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format + kubeconfig, which requires kubelogin binary in the path. + :type format: str or ~azure.mgmt.containerservice.v2022_01_02_preview.models.Format + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_cluster_admin_credentials_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + server_fqdn=server_fqdn, + format=format, + template_url=self.list_cluster_admin_credentials.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore + + + @distributed_trace + def list_cluster_user_credentials( + self, + resource_group_name: str, + resource_name: str, + server_fqdn: Optional[str] = None, + **kwargs: Any + ) -> "_models.CredentialResults": + """Lists the user credentials of a managed cluster. + + Lists the user credentials 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 server_fqdn: server fqdn type for credentials to be returned. + :type server_fqdn: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_cluster_user_credentials_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + server_fqdn=server_fqdn, + template_url=self.list_cluster_user_credentials.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore + + + @distributed_trace + def list_cluster_monitoring_user_credentials( + self, + resource_group_name: str, + resource_name: str, + server_fqdn: Optional[str] = None, + **kwargs: Any + ) -> "_models.CredentialResults": + """Lists the cluster monitoring user credentials of a managed cluster. + + Lists the cluster monitoring user credentials 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 server_fqdn: server fqdn type for credentials to be returned. + :type server_fqdn: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CredentialResults, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.CredentialResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_cluster_monitoring_user_credentials_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + server_fqdn=server_fqdn, + template_url=self.list_cluster_monitoring_user_credentials.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('CredentialResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.ManagedCluster": + """Gets a managed cluster. + + Gets 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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedCluster, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedCluster", + **kwargs: Any + ) -> "_models.ManagedCluster": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ManagedCluster') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ManagedCluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedCluster", + **kwargs: Any + ) -> LROPoller["_models.ManagedCluster"]: + """Creates or updates a managed cluster. + + Creates or updates 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: The managed cluster to create or update. + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ManagedCluster or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + 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, + resource_name=resource_name, + parameters=parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('ManagedCluster', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def _update_tags_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> "_models.ManagedCluster": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'TagsObject') + + request = build_update_tags_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._update_tags_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ManagedCluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + + @distributed_trace + def begin_update_tags( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> LROPoller["_models.ManagedCluster"]: + """Updates tags on a managed cluster. + + Updates tags on 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 Update Managed Cluster Tags operation. + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.TagsObject + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ManagedCluster or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedCluster] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + 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_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('ManagedCluster', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ContainerService/managedClusters/{resourceName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Deletes a managed cluster. + + Deletes 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 + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.ContainerService/managedClusters/{resourceName}'} # type: ignore + + def _reset_service_principal_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterServicePrincipalProfile", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ManagedClusterServicePrincipalProfile') + + request = build_reset_service_principal_profile_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._reset_service_principal_profile_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + + @distributed_trace + def begin_reset_service_principal_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterServicePrincipalProfile", + **kwargs: Any + ) -> LROPoller[None]: + """Reset the Service Principal Profile of a managed cluster. + + This action cannot be performed on a cluster that is not using a service principal. + + :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: The service principal profile to set on the managed cluster. + :type parameters: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterServicePrincipalProfile + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.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._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + + def _reset_aad_profile_initial( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterAADProfile", + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ManagedClusterAADProfile') + + request = build_reset_aad_profile_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._reset_aad_profile_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + + @distributed_trace + def begin_reset_aad_profile( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.ManagedClusterAADProfile", + **kwargs: Any + ) -> LROPoller[None]: + """Reset the AAD Profile of a managed cluster. + + Reset the AAD Profile 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 parameters: The AAD profile to set on the Managed Cluster. + :type parameters: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.ManagedClusterAADProfile + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.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._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + + def _rotate_cluster_certificates_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_rotate_cluster_certificates_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self._rotate_cluster_certificates_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + + @distributed_trace + def begin_rotate_cluster_certificates( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Rotates the certificates of a managed cluster. + + See `Certificate rotation `_ for + more details about rotating managed cluster certificates. + + :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 + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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._rotate_cluster_certificates_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + + def _stop_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_stop_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self._stop_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + + + @distributed_trace + def begin_stop( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Stops a Managed Cluster. + + This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a + cluster stops the control plane and agent nodes entirely, while maintaining all object and + cluster state. A cluster does not accrue charges while it is stopped. See `stopping a cluster + `_ for more details about stopping a + 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 + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + + def _start_initial( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_start_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self._start_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore + + + @distributed_trace + def begin_start( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Starts a previously stopped Managed Cluster. + + See `starting a cluster `_ for more + details about starting a 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 + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + resource_name=resource_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.ContainerService/managedClusters/{resourceName}/start'} # type: ignore + + def _run_command_initial( + self, + resource_group_name: str, + resource_name: str, + request_payload: "_models.RunCommandRequest", + **kwargs: Any + ) -> Optional["_models.RunCommandResult"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(request_payload, 'RunCommandRequest') + + request = build_run_command_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self._run_command_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('RunCommandResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _run_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore + + + @distributed_trace + def begin_run_command( + self, + resource_group_name: str, + resource_name: str, + request_payload: "_models.RunCommandRequest", + **kwargs: Any + ) -> LROPoller["_models.RunCommandResult"]: + """Submits a command to run against the Managed Cluster. + + AKS will create a pod to run the command. This is primarily useful for private clusters. For + more information see `AKS Run 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: The run command request. + :type request_payload: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.RunCommandRequest + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 RunCommandResult or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2022_01_02_preview.models.RunCommandResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.RunCommandResult"] + 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._run_command_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + request_payload=request_payload, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('RunCommandResult', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore + + @distributed_trace + def get_command_result( + self, + resource_group_name: str, + resource_name: str, + command_id: str, + **kwargs: Any + ) -> Optional["_models.RunCommandResult"]: + """Gets the results of a command which has been run on the Managed Cluster. + + Gets the results of a command which has been run on the 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 command_id: Id of the command. + :type command_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RunCommandResult, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.RunCommandResult or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_command_result_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + command_id=command_id, + template_url=self.get_command_result.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('RunCommandResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} # type: ignore + + + @distributed_trace + def list_outbound_network_dependencies_endpoints( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> Iterable["_models.OutboundEnvironmentEndpointCollection"]: + """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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OutboundEnvironmentEndpointCollection or the + result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.OutboundEnvironmentEndpointCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OutboundEnvironmentEndpointCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_outbound_network_dependencies_endpoints_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list_outbound_network_dependencies_endpoints.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_outbound_network_dependencies_endpoints_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OutboundEnvironmentEndpointCollection", 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_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_operations.py new file mode 100644 index 00000000000..6517240845b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.ContainerService/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.containerservice.v2022_01_02_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.OperationListResult"]: + """Gets a list of operations. + + Gets a list of operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationListResult", 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.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_private_endpoint_connections_operations.py new file mode 100644 index 00000000000..99a9437dd93 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,488 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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: ~azure.mgmt.containerservice.v2022_01_02_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnectionListResult": + """Gets a list of private endpoint connections in the specified managed cluster. + + To learn more about private clusters, see: + https://docs.microsoft.com/azure/aks/private-clusters. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionListResult, or the result of cls(response) + :rtype: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnectionListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('PrivateEndpointConnectionListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Gets the specified private endpoint connection. + + To learn more about private clusters, see: + https://docs.microsoft.com/azure/aks/private-clusters. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + + @distributed_trace + def update( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + parameters: "_models.PrivateEndpointConnection", + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Updates a private endpoint connection. + + Updates a 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 private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :param parameters: The updated private endpoint connection. + :type parameters: + ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'PrivateEndpointConnection') + + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + resource_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Deletes a private endpoint connection. + + Deletes a 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 private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_private_link_resources_operations.py old mode 100755 new mode 100644 similarity index 55% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_private_link_resources_operations.py rename to src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_private_link_resources_operations.py index ec68817b403..ace3b115046 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_private_link_resources_operations.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_private_link_resources_operations.py @@ -5,22 +5,59 @@ # 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 functools +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 HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class PrivateLinkResourcesOperations(object): """PrivateLinkResourcesOperations operations. @@ -29,7 +66,7 @@ class PrivateLinkResourcesOperations(object): 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.containerservice.v2022_01_02_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,13 +81,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateLinkResourcesListResult" + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.PrivateLinkResourcesListResult": """Gets a list of private link resources in the specified managed cluster. To learn more about private clusters, see: @@ -62,7 +99,7 @@ def list( :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateLinkResourcesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateLinkResourcesListResult + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResourcesListResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesListResult"] @@ -70,27 +107,17 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # 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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # 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 @@ -104,4 +131,6 @@ def list( return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} # type: ignore + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_resolve_private_link_service_id_operations.py new file mode 100644 index 00000000000..4830afd1458 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_resolve_private_link_service_id_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. +# -------------------------------------------------------------------------- +import functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_post_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + +class ResolvePrivateLinkServiceIdOperations(object): + """ResolvePrivateLinkServiceIdOperations 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.containerservice.v2022_01_02_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def post( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.PrivateLinkResource", + **kwargs: Any + ) -> "_models.PrivateLinkResource": + """Gets the private link service ID for the specified managed cluster. + + Gets the private link service ID for 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 required in order to resolve a private link service ID. + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResource + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResource, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.PrivateLinkResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'PrivateLinkResource') + + request = build_post_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self.post.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('PrivateLinkResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} # type: ignore + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_snapshots_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_snapshots_operations.py new file mode 100644 index 00000000000..d8c1a20a797 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2022_01_02_preview/operations/_snapshots_operations.py @@ -0,0 +1,636 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_by_resource_group_request( + subscription_id: str, + resource_group_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_tags_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + resource_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-02-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', min_length=1), + "resourceName": _SERIALIZER.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 = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SnapshotsOperations(object): + """SnapshotsOperations 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.containerservice.v2022_01_02_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.SnapshotListResult"]: + """Gets a list of snapshots in the specified subscription. + + Gets a list of snapshots in 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 SnapshotListResult or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.SnapshotListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SnapshotListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SnapshotListResult", 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.ContainerService/snapshots'} # type: ignore + + @distributed_trace + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> Iterable["_models.SnapshotListResult"]: + """Lists snapshots in the specified subscription and resource group. + + Lists snapshots in the specified subscription and resource group. + + :param resource_group_name: The name of the 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 SnapshotListResult or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2022_01_02_preview.models.SnapshotListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SnapshotListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SnapshotListResult", 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.ContainerService/snapshots'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> "_models.Snapshot": + """Gets a snapshot. + + Gets a snapshot. + + :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 + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Snapshot, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Snapshot', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.Snapshot", + **kwargs: Any + ) -> "_models.Snapshot": + """Creates or updates a snapshot. + + Creates or updates a snapshot. + + :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: The snapshot to create or update. + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Snapshot, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'Snapshot') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Snapshot', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Snapshot', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + + + @distributed_trace + def update_tags( + self, + resource_group_name: str, + resource_name: str, + parameters: "_models.TagsObject", + **kwargs: Any + ) -> "_models.Snapshot": + """Updates tags on a snapshot. + + Updates tags on a snapshot. + + :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 Update snapshot Tags operation. + :type parameters: ~azure.mgmt.containerservice.v2022_01_02_preview.models.TagsObject + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Snapshot, or the result of cls(response) + :rtype: ~azure.mgmt.containerservice.v2022_01_02_preview.models.Snapshot + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'TagsObject') + + request = build_update_tags_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + content_type=content_type, + json=_json, + template_url=self.update_tags.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Snapshot', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + resource_name: str, + **kwargs: Any + ) -> None: + """Deletes a snapshot. + + Deletes a snapshot. + + :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 + :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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + resource_name=resource_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.ContainerService/snapshots/{resourceName}'} # type: ignore + diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index f61118e3ae5..9ce5e9c7acf 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -6,39 +6,42 @@ # -------------------------------------------------------------------------------------------- from codecs import open as open1 + from setuptools import setup, find_packages -VERSION = "0.5.45" +VERSION = "0.5.56" 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', + "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 = [] -with open1('README.md', 'r', encoding='utf-8') as f: +with open1("README.md", "r", encoding="utf-8") as f: README = f.read() -with open1('HISTORY.md', 'r', encoding='utf-8') as f: +with open1("HISTORY.md", "r", encoding="utf-8") as f: HISTORY = f.read() setup( - name='aks-preview', + name="aks-preview", version=VERSION, description='Provides a preview for upcoming AKS features', long_description=README + '\n\n' + HISTORY, license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/aks-preview', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), - package_data={'azext_aks_preview': ['azext_metadata.json']}, - install_requires=DEPENDENCIES + package_data={ + "azext_aks_preview": ["azext_metadata.json", "deploymentyaml/*.yaml"] + }, + install_requires=DEPENDENCIES, ) diff --git a/src/alertsmanagement/HISTORY.rst b/src/alertsmanagement/HISTORY.rst index 2cb2bc86c54..f94f8b37829 100644 --- a/src/alertsmanagement/HISTORY.rst +++ b/src/alertsmanagement/HISTORY.rst @@ -3,6 +3,17 @@ Release History =============== +0.2.1 +++++++ +Fixed help file text and an error loading the help files of all methods + +0.2.0 +++++++ +This version supports the new alert processing rule API (changed from action rule) and is breaking old versions. +It is recommended to replace all old versions to use this version of the CLI. +new API for alert processing rule can be found here: https://docs.microsoft.com/en-us/rest/api/monitor/alertsmanagement/alert-processing-rules +new documentation for alert processing rules can be found here: https://docs.microsoft.com/en-us/rest/api/monitor/alertsmanagement/alert-processing-rules + 0.1.1 ++++++ * Add an example were the recurrence type is set to once. diff --git a/src/alertsmanagement/README.md b/src/alertsmanagement/README.md index 55e13f6a2b8..20fc2f64016 100644 --- a/src/alertsmanagement/README.md +++ b/src/alertsmanagement/README.md @@ -1,7 +1,7 @@ # Azure CLI alertsmanagement Extension This extension can manage alert related resources. Currently, it supports -action rule management. +alert processing rule management. ### How to use Install this extension using the below CLI command @@ -9,38 +9,38 @@ Install this extension using the below CLI command az extension add --name alertsmanagement ``` -### Action rule -Action rule documentation: https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-action-rules. +### Alert Processing Rule +Alert processing rule documentation: https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-action-rules. -Create an action rule to suppress notifications for all Sev4 alerts on all VMs within the subscription every weekend. +Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time) ``` -az monitor action-rule create --resource-group rg --name rule --location Global --status Enabled --rule-type Suppression --severity Equals Sev4 --target-resource-type Equals Microsoft.Compute/VirtualMachines --suppression-recurrence-type Weekly --suppression-recurrence 0 6 --suppression-start-date 12/09/2018 --suppression-end-date 12/18/2018 --suppression-start-time 06:00:00 --suppression-end-time 14:00:00 +az monitor alert-processing-rule create --name 'RemoveActionGroupsMaintenanceWindow' --rule-type RemoveAllActionGroups --scopes "/subscriptions/MySubscriptionId1/resourceGroups/MyResourceGroup1/providers/Microsoft.Compute/virtualMachines/VMName" --resource-group alertscorrelationrg --schedule-start-datetime '2022-01-02 18:00:00' --schedule-end-datetime '2022-01-02 20:00:00' --schedule-time-zone 'Pacific Standard Time' --description "Removes all ActionGroups from all Alerts on VMName during the maintenance window" ``` -Create an action rule to suppress notifications for all log alerts generated for Computer-01 in subscription indefinitely as it's going through maintenance. +Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule ``` -az monitor action-rule create --resource-group rg --name rule --location Global --status Enabled --rule-type Suppression --suppression-recurrence-type Always --alert-context Contains Computer-01 --monitor-service Equals "Log Analytics" +az monitor alert-processing-rule create --name 'RemoveActionGroupsSpecificAlertRule' --rule-type RemoveAllActionGroups --scopes "/subscriptions/MySubscriptionId1" --resource-group alertscorrelationrg --filter-alert-rule-id Equals "/subscriptions/MySubscriptionId1/resourceGroups/MyResourceGroup1/providers/microsoft.insights/activityLogAlerts/RuleName" --description "Removes all ActionGroups from all Alerts that fire on above AlertRule" ``` -Create an action rule to suppress notifications in a resource group +Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups ``` -az monitor action-rule create --resource-group rg --name rule --location Global --status Enabled --rule-type Suppression --scope-type ResourceGroup --scope /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/rg --suppression-recurrence-type Always --alert-context Contains Computer-01 --monitor-service Equals "Log Analytics" +az monitor alert-processing-rule create --name 'AddActionGroupsBySeverity'--rule-type AddActionGroups --action-groups "/subscriptions/MySubscriptionId/resourcegroups/MyResourceGroup1/providers/microsoft.insights/actiongroups/MyActionGroupId1" "/subscriptions/MySubscriptionId/resourceGroups/MyResourceGroup2/providers/microsoft.insights/actionGroups/MyActionGroup2" --scopes "/subscriptions/MySubscriptionId" --resource-group alertscorrelationrg --filter-severity Equals Sev0 Sev1 --description "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups" ``` Update an action rule ``` -az monitor action-rule update --resource-group rg --name rule --status Disabled +az monitor alert-processing-rule update --resource-group myResourceGroup --name myRuleName --enabled False ``` Delete an action rule ``` -az monitor action-rule delete --resource-group rg --name rule +az monitor alert-processing-rule delete --resource-group myResourceGroup --name myRuleName ``` Get an action rule ``` -az monitor action-rule show --resource-group rg --name rule +az monitor alert-processing-rule show --name myRuleName --resource-group myRuleNameResourceGroup ``` List action rules of the subscription ``` -az monitor action-rule list +az monitor alert-processing-rule list ``` List action rules of the resource group ``` -az monitor action-rule list --resource-group rg +az monitor alert-processing-rule show --resource-group myResourceGroup ``` \ No newline at end of file diff --git a/src/alertsmanagement/azext_alertsmanagement/__init__.py b/src/alertsmanagement/azext_alertsmanagement/__init__.py index badfa0fcead..2cc9f6757f7 100644 --- a/src/alertsmanagement/azext_alertsmanagement/__init__.py +++ b/src/alertsmanagement/azext_alertsmanagement/__init__.py @@ -1,23 +1,27 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # 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. +# -------------------------------------------------------------------------- +# pylint: disable=unused-import + +from azext_alertsmanagement._help import helps from azure.cli.core import AzCommandsLoader -from azext_alertsmanagement._help import helps # pylint: disable=unused-import - -class AlertsCommandsLoader(AzCommandsLoader): +class AlertsManagementClientCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - from azext_alertsmanagement._client_factory import cf_alertsmanagement + from azext_alertsmanagement._client_factory import cf_alertsmanagement_cl alertsmanagement_custom = CliCommandType( operations_tmpl='azext_alertsmanagement.custom#{}', - client_factory=cf_alertsmanagement) - super(AlertsCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=alertsmanagement_custom) + client_factory=cf_alertsmanagement_cl) + super().__init__(cli_ctx=cli_ctx, custom_command_type=alertsmanagement_custom) def load_command_table(self, args): from azext_alertsmanagement.commands import load_command_table @@ -29,4 +33,4 @@ def load_arguments(self, command): load_arguments(self, command) -COMMAND_LOADER_CLS = AlertsCommandsLoader +COMMAND_LOADER_CLS = AlertsManagementClientCommandsLoader diff --git a/src/alertsmanagement/azext_alertsmanagement/_client_factory.py b/src/alertsmanagement/azext_alertsmanagement/_client_factory.py index b7baf9f6e79..824f90653fd 100644 --- a/src/alertsmanagement/azext_alertsmanagement/_client_factory.py +++ b/src/alertsmanagement/azext_alertsmanagement/_client_factory.py @@ -4,27 +4,27 @@ # -------------------------------------------------------------------------------------------- -def cf_alertsmanagement(cli_ctx, *_): +def cf_alertsmanagement_cl(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client from .vendored_sdks.alertsmanagement import AlertsManagementClient return get_mgmt_service_client(cli_ctx, AlertsManagementClient) def cf_operations(cli_ctx, *_): - return cf_alertsmanagement(cli_ctx).operations + return cf_alertsmanagement_cl(cli_ctx).operations def cf_alerts(cli_ctx, *_): - return cf_alertsmanagement(cli_ctx).alerts + return cf_alertsmanagement_cl(cli_ctx).alerts def cf_smart_groups(cli_ctx, *_): - return cf_alertsmanagement(cli_ctx).smart_groups + return cf_alertsmanagement_cl(cli_ctx).smart_groups -def cf_action_rules(cli_ctx, *_): - return cf_alertsmanagement(cli_ctx).action_rules +def cf_processing_rules(cli_ctx, *_): + return cf_alertsmanagement_cl(cli_ctx).alert_processing_rules def cf_smart_detector_alert_rules(cli_ctx, *_): - return cf_alertsmanagement(cli_ctx).smart_detector_alert_rules + return cf_alertsmanagement_cl(cli_ctx).smart_detector_alert_rules diff --git a/src/alertsmanagement/azext_alertsmanagement/_help.py b/src/alertsmanagement/azext_alertsmanagement/_help.py index d2b10846e82..acde4f8fb39 100644 --- a/src/alertsmanagement/azext_alertsmanagement/_help.py +++ b/src/alertsmanagement/azext_alertsmanagement/_help.py @@ -1,72 +1,188 @@ -# coding=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 # pylint: disable=line-too-long -from knack.help_files import helps # pylint: disable=unused-import +# pylint: disable=too-many-lines +from knack.help_files import helps -helps['monitor action-rule'] = """ + +helps['monitor alert-processing-rule'] = """ type: group - short-summary: Commands to manage action rule. + short-summary: Manage alert processing rule with alertsmanagement """ -helps['monitor action-rule create'] = """ +helps['monitor alert-processing-rule delete'] = """ type: command - short-summary: Create an action rule + short-summary: Delete an alert processing rule. examples: - - name: Create an action rule to suppress notifications for all Sev4 alerts on all VMs within the subscription every weekend + - name: Delete an alert processing rule. text: |- - az monitor action-rule create --resource-group rg --name rule --location Global --status Enabled --rule-type Suppression --severity Equals Sev4 --target-resource-type Equals Microsoft.Compute/VirtualMachines --suppression-recurrence-type Weekly --suppression-recurrence 0 6 --suppression-start-date 12/09/2018 --suppression-end-date 12/18/2018 --suppression-start-time 06:00:00 --suppression-end-time 14:00:00 - - name: Create an action rule to suppress notifications for all log alerts generated for Computer-01 in subscription indefinitely as it's going through maintenance + az monitor alert-processing-rule delete \\ + --resource-group myResourceGroup \\ + --name myRuleName +""" + +helps['monitor alert-processing-rule update'] = """ + type: command + short-summary: Enable, disable, or update tags for an alert processing rule. + examples: + - name: Disable an alert processing rule text: |- - az monitor action-rule create --resource-group rg --name rule --location Global --status Enabled --rule-type Suppression --suppression-recurrence-type Always --alert-context Contains Computer-01 --monitor-service Equals "Log Analytics" - - name: Create an action rule to suppress notifications in a resource group + az monitor alert-processing-rule update \\ + --resource-group myResourceGroup \\ + --name myRuleName \\ + --enabled False + - name: "Change tags on an alert processing rule." text: |- - az monitor action-rule create --resource-group rg --name rule --location Global --status Enabled --rule-type Suppression --scope-type ResourceGroup --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg --suppression-recurrence-type Always --alert-context Contains Computer-01 --monitor-service Equals "Log Analytics" - - name: Create an action rule with a recurrenceType of Once + az monitor alert-processing-rule show \\ + --resource-group myResourceGroup \\ + --name myRuleName \\ + --tags key1=value1 key2=value2 + - name: "Change the description's value in an alert processing rule." text: |- - az monitor action-rule create --resource-group rg --name rule --location Global --status Enabled --rule-type Suppression --scope-type ResourceGroup --scope /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg --severity Equals Sev0 Sev2 --monitor-service Equals Platform "Application Insights" --monitor-condition Equals Fired --target-resource-type NotEquals Microsoft.Compute/VirtualMachines --suppression-recurrence-type Once --suppression-start-date 08/09/2021 --suppression-end-date 08/10/2021 --suppression-start-time 06:00:00 --suppression-end-time 14:00:00 + az monitor alert-processing-rule show \\ + --resource-group myResourceGroup \\ + --name myRuleName \\ + --set properties.description="this is a new description" """ -helps['monitor action-rule update'] = """ +helps['monitor alert-processing-rule list'] = """ type: command - short-summary: Update an action rule + short-summary: List all alert processing rules in a subscription or resource group examples: - - name: Update an action rule + - name: List all alert processing rules in current subscription + text: |- + az monitor alert-processing-rule list + - name: List all alert processing rules in a resource group text: |- - az monitor action-rule update --resource-group rg --name rule --status Disabled + az monitor alert-processing-rule list \\ + --resource-group myResourceGroup """ -helps['monitor action-rule delete'] = """ +helps['monitor alert-processing-rule show'] = """ type: command - short-summary: Delete an action rule + short-summary: Get an alert processing rule. examples: - - name: Delete an action rule + - name: Get an alert processing rule by name text: |- - az monitor action-rule delete --resource-group rg --name rule + az monitor alert-processing-rule show \\ + --name myRuleName \\ + --resource-group myRuleNameResourceGroup + - name: Get alerts processing rule by ids + text: |- + az monitor alert-processing-rule show \\ + --ids ruleId1 ruleId2 """ -helps['monitor action-rule show'] = """ +helps['monitor alert-processing-rule create'] = """ type: command - short-summary: Get an action rule + short-summary: Create an alert processing rule. + parameters: + - name: --filter-alert-context + short-summary: Filter alerts by alert context (payload). + long-summary: | + Filter format is where + Operator: one of + Values: List of values to match for a given condition + - name: --schedule-recurrence + short-summary: List of recurrence pattern values + long-summary: | + --schedule-recurrence : List of recurrence pattern values (space-delimited). + For a weekly recurrence type, allowed values are Sunday to Saturday. + For a monthly recurrence type, allowed values are 1 to 31 (days of month) + + - name: --schedule-recurrence-2 + short-summary: List of recurrence pattern values for the second recurrence pattern. + long-summary: | + --schedule-recurrence-2 : List of recurrence pattern values (space-delimited). + For a weekly recurrence type, allowed values are Sunday to Saturday. + For a monthly recurrence type, allowed values are 1 to 31 (days of month) examples: - - name: Get an action rule + - name: Create or update a rule that adds an action group to all alerts in a subscription text: |- - az monitor action-rule show --resource-group rg --name rule + az monitor alert-processing-rule create \\ + --name 'AddActionGroupToSubscription' \\ + --rule-type AddActionGroups \\ + --scopes "/subscriptions/MySubscriptionId" \\ + --action-groups "/subscriptions/MySubscriptionId/resourcegroups/MyResourceGroup1/providers/microsoft.insights/actiongroups/ActionGroup1" \\ + --enabled true \\ + --resource-group alertscorrelationrg \\ + --description "Add ActionGroup1 to all alerts in the subscription" + + - name: Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups + text: |- + az monitor alert-processing-rule create \\ + --name 'AddActionGroupsBySeverity' \\ + --rule-type AddActionGroups \\ + --action-groups "/subscriptions/MySubscriptionId/resourcegroups/MyResourceGroup1/providers/microsoft.insights/actiongroups/MyActionGroupId1" "/subscriptions/MySubscriptionId/resourceGroups/MyResourceGroup2/providers/microsoft.insights/actionGroups/MyActionGroup2" \\ + --scopes "/subscriptions/MySubscriptionId" \\ + --resource-group alertscorrelationrg \\ + --filter-severity Equals Sev0 Sev1 \\ + --description "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups" + + - name: Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time) + text: |- + az monitor alert-processing-rule create \\ + --name 'RemoveActionGroupsMaintenanceWindow' \\ + --rule-type RemoveAllActionGroups \\ + --scopes "/subscriptions/MySubscriptionId/resourceGroups/MyResourceGroup1/providers/Microsoft.Compute/virtualMachines/VMName" \\ + --resource-group alertscorrelationrg \\ + --schedule-start-datetime '2022-01-02 18:00:00' \\ + --schedule-end-datetime '2022-01-02 20:00:00' \\ + --schedule-time-zone 'Pacific Standard Time' \\ + --description "Removes all ActionGroups from all Alerts on VMName during the maintenance window" + + - name: Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule + text: |- + az monitor alert-processing-rule create \\ + --name 'RemoveActionGroupsSpecificAlertRule' \\ + --rule-type RemoveAllActionGroups \\ + --scopes "/subscriptions/MySubscriptionId" \\ + --resource-group alertscorrelationrg \\ + --filter-alert-rule-id Equals "/subscriptions/MySubscriptionId/resourceGroups/MyResourceGroup1/providers/microsoft.insights/activityLogAlerts/RuleName" \\ + --description "Removes all ActionGroups from all Alerts that fire on above AlertRule" + + - name: Create or update a rule that removes all action groups from all alerts on any VM in two resource groups during a recurring maintenance window (2200-0400 every Sat and Sun, India Standard Time) + text: |- + az monitor alert-processing-rule create \\ + --name 'RemoveActionGroupsRecurringMaintenance' \\ + --rule-type RemoveAllActionGroups \\ + --scopes "/subscriptions/MySubscriptionId/resourceGroups/MyResourceGroup1" "/subscriptions/MySubscriptionId/resourceGroups/MyResourceGroup2" \\ + --resource-group alertscorrelationrg \\ + --filter-resource-type Equals "microsoft.compute/virtualmachines" \\ + --schedule-time-zone "India Standard Time" \\ + --schedule-recurrence-type Weekly \\ + --schedule-recurrence-start-time "22:00:00" \\ + --schedule-recurrence-end-time "04:00:00" \\ + --schedule-recurrence Sunday Saturday \\ + --description "Remove all ActionGroups from all Virtual machine Alerts during the recurring maintenance" + + - name: Create or update a rule that removes all action groups outside business hours (Mon-Fri 09:00-17:00, Eastern Standard Time) + text: |- + az monitor alert-processing-rule create \\ + --name 'RemoveActionGroupsOutsideBusinessHours' \\ + --rule-type RemoveAllActionGroups \\ + --scopes "/subscriptions/MySubscriptionId" \\ + --resource-group alertscorrelationrg \\ + --schedule-time-zone "Eastern Standard Time" \\ + --schedule-recurrence-type Daily \\ + --schedule-recurrence-start-time "17:00:00" \\ + --schedule-recurrence-end-time "09:00:00" \\ + --schedule-recurrence-2-type Weekly \\ + --schedule-recurrence-2 Saturday Sunday \\ + --description "Remove all ActionGroups outside business hours" """ -helps['monitor action-rule list'] = """ +helps['monitor alert-processing-rule update'] = """ type: command - short-summary: List all action rules of the subscription, created in given resource group and given input filters + short-summary: Enable, disable, or update tags for an alert processing rule. examples: - - name: List action rules of the subscription - text: |- - az monitor action-rule list - - name: List action rules of the resource group + - name: PatchAlertProcessingRule text: |- - az monitor action-rule list --resource-group rg + az monitor alert-processing-rule update \\ + --name "WeeklySuppression" \\ + --enabled false \\ + --tags key1="value1" key2="value2" --resource-group "alertscorrelationrg" """ diff --git a/src/alertsmanagement/azext_alertsmanagement/_params.py b/src/alertsmanagement/azext_alertsmanagement/_params.py index f8b40c19430..039db5e7673 100644 --- a/src/alertsmanagement/azext_alertsmanagement/_params.py +++ b/src/alertsmanagement/azext_alertsmanagement/_params.py @@ -9,67 +9,63 @@ from azure.cli.core.commands.parameters import ( tags_type, get_enum_type, - get_location_type + get_three_state_flag ) from azure.cli.core.commands.validators import get_default_location_from_resource_group from knack.arguments import CLIArgumentType -from .vendored_sdks.alertsmanagement.models import ActionRuleStatus, SuppressionType +from .vendored_sdks.alertsmanagement.models import ActionType +from ._validators import validate_datetime_format, validate_severity, \ + validate_monitor_condition, validate_signal_type, validate_time_format, \ + validate_monitor_service, validate_alert_rule_name, validate_alert_rule_id, \ + validate_alert_rule_description, validate_alert_context, validate_target_resource, \ + validate_resource_group, validate_resource_type def load_arguments(self, _): name_arg_type = CLIArgumentType(options_list=['--name', '-n'], metavar='NAME') - action_rule_name = CLIArgumentType(overrides=name_arg_type, help='Name of action rule.', - id_part='name') + processing_rule_name = CLIArgumentType(overrides=name_arg_type, help='Name of the alert processing rule.', + id_part='name') - with self.argument_context('monitor action-rule create') as c: - c.argument('action_rule_name', action_rule_name) - c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + with self.argument_context('monitor alert-processing-rule create') as c: + c.argument('processing_rule_name', processing_rule_name) + c.argument('rule_type', arg_type=get_enum_type(ActionType), help='Indicate type of the alert processing rule') + c.argument('action_groups', nargs='+', help='List of resource ids (space-delimited) of action groups to add. A use of this argument requires that rule-type is AddActionGroups') + c.argument('description', nargs='+', help='Description of the alert processing rule') + c.argument('scopes', nargs='+', required=True, help='List of resource IDs (space-delimited) for scope. The rule will apply to alerts that fired on resources within that scope.') + c.argument('enabled', arg_type=get_three_state_flag(), help='Indicate if the given alert processing rule is enabled or disabled (default is enabled).') c.argument('tags', tags_type) - c.argument('status', arg_type=get_enum_type(ActionRuleStatus), id_part=None, help='Indicate if the given action rule is enabled or disabled. Default to enabled.') - c.argument('rule_type', arg_type=get_enum_type(['Suppression', 'ActionGroup', 'Diagnostics']), help='Indicate type of action rule') - c.argument('description', help='Description of action rule') - c.argument('scope_type', help='Type of target scope', arg_type=get_enum_type(['ResourceGroup', 'Resource'])) - c.argument('scope', nargs='+', help='List of ARM IDs (space-delimited) of the given scope type which will be the target of the given action rule.') - c.argument('severity', nargs='+', help='Filter alerts by severity. All filters should follow format "operator value1 value2 ... valueN". Operator is one of Equals, NotEquals, Contains and DoesNotContain.') - c.argument('monitor_service', nargs='+', help='Filter alerts by monitor service') - c.argument('monitor_condition', nargs='+', help='Filter alerts by monitor condition') - c.argument('target_resource_type', nargs='+', help='Filter alerts by target resource type') - c.argument('alert_rule', nargs='+', help='Filter alerts by alert rule name or ID') - c.argument('alert_description', nargs='+', help='Filter alerts by alert rule description') - c.argument('alert_context', nargs='+', help='Filter alerts by alert context (payload)') - c.argument('suppression_recurrence_type', arg_type=get_enum_type(SuppressionType), help='Specifies when the suppression should be applied') - c.argument('suppression_start_date', help='Start date for suppression. Format: MM/DD/YYYY') - c.argument('suppression_end_date', help='End date for suppression. Format: MM/DD/YYYY') - c.argument('suppression_start_time', help='Start time for suppression. Format: hh:mm:ss') - c.argument('suppression_end_time', help='End time for suppression. Format: hh:mm:ss') - c.argument('suppression_recurrence', nargs='+', - help='List of recurrence pattern values, delimited by space. If --suppression-recurrence-type is ' - 'Weekly, allowed values range from 0 to 6. 0 stands for Sunday, 1 stands for Monday, ..., 6 ' - 'stands for Saturday. If --suppression-recurrence-type is Monthly, allowed values range from ' - '1 to 31, stands for day of month') + c.argument('filter_severity', nargs='+', arg_group='Filter', validator=validate_severity, help='Filter alerts by severity ') + c.argument('filter_monitor_service', nargs='+', arg_group='Filter', validator=validate_monitor_service, help='Filter alerts by monitor service') + c.argument('filter_monitor_condition', nargs='+', arg_group='Filter', validator=validate_monitor_condition, help='Filter alerts by monitor condition') + c.argument('filter_alert_rule_name', nargs='+', arg_group='Filter', validator=validate_alert_rule_name, help='Filter alerts by alert rule name') + c.argument('filter_alert_rule_id', nargs='+', arg_group='Filter', validator=validate_alert_rule_id, help='Filter alerts by alert ID') + c.argument('filter_alert_rule_description', nargs='+', validator=validate_alert_rule_description, arg_group='Filter', help='Filter alerts by alert rule description') + c.argument('filter_alert_context', nargs='+', arg_group='Filter', validator=validate_alert_context, help='Filter alerts by alert context (payload)') + c.argument('filter_signal_type', nargs='+', arg_group='Filter', validator=validate_signal_type, help='Filter alerts by signal type') + c.argument('filter_target_resource', nargs='+', arg_group='Filter', validator=validate_target_resource, help='Filter alerts by resource') + c.argument('filter_resource_group', nargs='+', arg_group='Filter', validator=validate_resource_group, help='Filter alerts by resource group') + c.argument('filter_resource_type', nargs='+', arg_group='Filter', validator=validate_resource_type, help='Filter alerts by resource type.') + c.argument('schedule_start_datetime', arg_group='Schedule', help='Start date for the rule. Format: \'YYYY-MM-DD hh:mm:ss\'', validator=validate_datetime_format) + c.argument('schedule_end_datetime', arg_group='Schedule', help='End date for the rule. Format: \'YYYY-MM-DD hh:mm:ss\'', validator=validate_datetime_format) + c.argument('schedule_recurrence_type', arg_group='Schedule First Recurrence', arg_type=get_enum_type(['Daily', 'Weekly', 'Monthly']), help='Specifies when the processing rule should be applied') + c.argument('schedule_recurrence_start_time', arg_group='Schedule First Recurrence', help='Start time for each recurrence. Format: \'hh:mm:ss\'', validator=validate_time_format) + c.argument('schedule_recurrence_end_time', arg_group='Schedule First Recurrence', help='End time for each recurrence. Format: \'hh:mm:ss\'', validator=validate_time_format) + c.argument('schedule_time_zone', arg_group='Schedule', help='schedule time zone') + c.argument('schedule_recurrence', nargs='+', arg_group='Schedule First Recurrence') + c.argument('schedule_recurrence_2_type', arg_group='Schedule Second Recurrence', arg_type=get_enum_type(['Daily', 'Weekly', 'Monthly']), help='Specifies when the processing rule should be applied. Default to Always') + c.argument('schedule_recurrence_2_start_time', arg_group='Schedule Second Recurrence', help='Start time for each recurrence. Format: hh:mm:ss', validator=validate_time_format) + c.argument('schedule_recurrence_2_end_time', arg_group='Schedule Second Recurrence', help='End time for each recurrence. Format: hh:mm:ss', validator=validate_time_format) + c.argument('schedule_recurrence_2', nargs='+', arg_group='Schedule Second Recurrence') - with self.argument_context('monitor action-rule update') as c: - c.argument('action_rule_name', action_rule_name) - c.argument('location', arg_type=get_location_type(self.cli_ctx)) + with self.argument_context('monitor alert-processing-rule update') as c: + c.argument('processing_rule_name', processing_rule_name) c.argument('tags', tags_type) - c.argument('status', arg_type=get_enum_type(['Enabled', 'Disabled']), id_part=None, help='Indicates if the given action rule is enabled or disabled') + c.argument('enabled', arg_type=get_three_state_flag(), help='Indicate if the given processing rule is enabled or disabled (values are True and False).') - with self.argument_context('monitor action-rule delete') as c: - c.argument('action_rule_name', action_rule_name) + with self.argument_context('monitor alert-processing-rule delete') as c: + c.argument('processing_rule_name', processing_rule_name) - with self.argument_context('monitor action-rule show') as c: - c.argument('action_rule_name', action_rule_name) - - with self.argument_context('monitor action-rule list') as c: - c.argument('target_resource_group', id_part=None, help='Filter by target resource group name. Default value is select all.') - c.argument('target_resource_type', id_part=None, help='Filter by target resource type. Default value is select all.') - c.argument('target_resource', id_part=None, help='Filter by target resource (which is full ARM ID). Default value is select all.') - c.argument('severity', id_part=None, help='Filter by severity. Default value is select all.') - c.argument('monitor_service', id_part=None, help='Filter by monitor service which generates the alert instance. Default value is select all.') - c.argument('impacted_scope', id_part=None, help='Filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.') - c.argument('description', id_part=None, help='Filter by alert rule description') - c.argument('alert_rule_id', id_part=None, help='Filter by alert rule ID') - c.argument('action_group', id_part=None, help='Filter by action group configured as part of action rule') - c.argument('name', id_part=None, help='Filter by action rule name') + with self.argument_context('monitor alert-processing-rule show') as c: + c.argument('processing_rule_name', processing_rule_name) diff --git a/src/alertsmanagement/azext_alertsmanagement/_validators.py b/src/alertsmanagement/azext_alertsmanagement/_validators.py index 34913fb394d..4d06fcacd6a 100644 --- a/src/alertsmanagement/azext_alertsmanagement/_validators.py +++ b/src/alertsmanagement/azext_alertsmanagement/_validators.py @@ -2,3 +2,104 @@ # 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 azure.cli.core.azclierror import ValidationError, InvalidArgumentValueError, RequiredArgumentMissingError + + +def validate_datetime_format(namespace): + format = '%Y-%m-%d %H:%M:%S' + if namespace.schedule_start_datetime: + datetime.strptime(namespace.schedule_start_datetime, format) + if namespace.schedule_end_datetime: + datetime.strptime(namespace.schedule_end_datetime, format) + if namespace.schedule_start_datetime: + if namespace.schedule_end_datetime < namespace.schedule_start_datetime: + raise ValidationError('Argument Error: end-date is before start-date') + + +def validate_time_format(namespace): + format = '%H:%M:%S' + if namespace.schedule_recurrence_start_time: + datetime.strptime(namespace.schedule_recurrence_start_time, format) + if namespace.schedule_recurrence_end_time: + datetime.strptime(namespace.schedule_recurrence_end_time, format) + + +def validate_severity(namespace): + if namespace.filter_severity: + validate_only_equals_operator(namespace.filter_severity) + for x in namespace.filter_severity[1:]: + if x not in ['Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4']: + raise InvalidArgumentValueError('Argument Error: filter-severity values have to be one of [Equals, NotEquals, Sev0, Sev1, Sev2, Sev3, Sev4]') + + +def validate_monitor_condition(namespace): + if namespace.filter_monitor_condition: + validate_only_equals_operator(namespace.filter_monitor_condition) + for x in namespace.filter_monitor_condition[1:]: + if x not in ['Fired', 'Resolved']: + raise InvalidArgumentValueError('Argument Error: filter-monitor-condition values have to be one of [Equals, NotEquals, Fired, Resolved]') + + +def validate_signal_type(namespace): + if namespace.filter_signal_type: + validate_only_equals_operator(namespace.filter_signal_type) + for x in namespace.filter_signal_type[1:]: + if x not in ['Metric', 'Log', 'Unknown']: + raise InvalidArgumentValueError('Argument Error: filter-signal-type values have to be one of [Equals, NotEquals, Metric, Log, Unknown]') + + +def validate_monitor_service(namespace): + if namespace.filter_monitor_service: + validate_only_equals_operator(namespace.filter_monitor_service) + + +def validate_alert_rule_name(namespace): + if namespace.filter_alert_rule_name: + validate_full_operator(namespace.filter_alert_rule_name) + + +def validate_alert_rule_id(namespace): + if namespace.filter_alert_rule_id: + validate_full_operator(namespace.filter_alert_rule_id) + + +def validate_alert_rule_description(namespace): + if namespace.filter_alert_rule_description: + validate_full_operator(namespace.filter_alert_rule_description) + + +def validate_alert_context(namespace): + if namespace.filter_alert_context: + validate_full_operator(namespace.filter_alert_context) + + +def validate_target_resource(namespace): + if namespace.filter_target_resource: + validate_full_operator(namespace.filter_target_resource) + + +def validate_resource_group(namespace): + if namespace.filter_resource_group: + validate_full_operator(namespace.filter_resource_group) + + +def validate_resource_type(namespace): + if namespace.filter_resource_type: + validate_only_equals_operator(namespace.filter_resource_type) + + +def validate_full_operator(args): + if len(args) < 2: + raise RequiredArgumentMissingError('Filter Argument Error: values length can\'t be smaller than 2') + if args[0].lower() not in ['equals', 'notequals', 'contains', 'doesnotcontain']: + raise InvalidArgumentValueError('Filter Argument Error: operator must be one of the follows: Equals, NotEquals, Contains, DoesNotContain') + + +def validate_only_equals_operator(args): + if len(args) < 2: + raise RequiredArgumentMissingError('Filter Argument Error: values length can\'t be smaller than 2') + if args[0].lower() not in ['equals', 'notequals']: + raise InvalidArgumentValueError('Filter Argument Error: operator must be one of the follows: Equals, NotEquals') diff --git a/src/alertsmanagement/azext_alertsmanagement/azext_metadata.json b/src/alertsmanagement/azext_alertsmanagement/azext_metadata.json index 13025150393..cf7b8927a07 100644 --- a/src/alertsmanagement/azext_alertsmanagement/azext_metadata.json +++ b/src/alertsmanagement/azext_alertsmanagement/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.1" -} \ No newline at end of file + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0" +} diff --git a/src/alertsmanagement/azext_alertsmanagement/commands.py b/src/alertsmanagement/azext_alertsmanagement/commands.py index 77b7ce025b4..d4cb72b02bd 100644 --- a/src/alertsmanagement/azext_alertsmanagement/commands.py +++ b/src/alertsmanagement/azext_alertsmanagement/commands.py @@ -12,17 +12,16 @@ def load_command_table(self, _): - from ._client_factory import cf_action_rules - alertsmanagement_action_rules = CliCommandType( - operations_tmpl='azext_alertsmanagement.vendored_sdks.alertsmanagement.operations._action_rules_operations' - '#ActionRulesOperations.{}', - client_factory=cf_action_rules) - with self.command_group('monitor action-rule', alertsmanagement_action_rules, client_factory=cf_action_rules, - is_experimental=True) as g: - g.custom_command('create', 'create_alertsmanagement_action_rule') - g.generic_update_command('update', custom_func_name='update_alertsmanagement_action_rule', - setter_arg_name='action_rule', getter_name='get_by_name', - setter_name='create_update') - g.custom_command('delete', 'delete_alertsmanagement_action_rule') - g.custom_show_command('show', 'get_alertsmanagement_action_rule') - g.custom_command('list', 'list_alertsmanagement_action_rule') + from ._client_factory import cf_processing_rules + alertsmanagement_processing_rules = CliCommandType( + operations_tmpl='azext_alertsmanagement.vendored_sdks.alertsmanagement.operations._alert_processing_rules_operations' + '#AlertProcessingRulesOperations.{}', + client_factory=cf_processing_rules) + with self.command_group('monitor alert-processing-rule', alertsmanagement_processing_rules, client_factory=cf_processing_rules, + is_preview=True) as g: + g.custom_command('create', 'create_alertsmanagement_processing_rule') + g.generic_update_command('update', custom_func_name='update_alertsmanagement_processing_rule', + setter_arg_name='alert_processing_rule', getter_name='get_by_name') + g.custom_command('delete', 'delete_alertsmanagement_processing_rule', confirmation=True) + g.custom_show_command('show', 'get_alertsmanagement_processing_rule') + g.custom_command('list', 'list_alertsmanagement_processing_rule') diff --git a/src/alertsmanagement/azext_alertsmanagement/custom.py b/src/alertsmanagement/azext_alertsmanagement/custom.py index 1a8a7311c93..55ecf33569e 100644 --- a/src/alertsmanagement/azext_alertsmanagement/custom.py +++ b/src/alertsmanagement/azext_alertsmanagement/custom.py @@ -10,9 +10,23 @@ # pylint: disable=too-many-boolean-expressions from knack.util import CLIError +from datetime import datetime +from .vendored_sdks.alertsmanagement.models import ActionType -def _transform_condition(condition): +class bcolors: + HEADER = '\033[95m' + OKBLUE = '\033[94m' + OKCYAN = '\033[96m' + OKGREEN = '\033[92m' + WARNING = '\033[93m' + FAIL = '\033[91m' + ENDC = '\033[0m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + + +def _transform_condition(condition, name_of_field): """ ['Equals', 'Sev0', 'Sev2'] -> { @@ -30,12 +44,13 @@ def _transform_condition(condition): if len(condition) < 2: raise CLIError('usage error: condition type should have at least two elements') return { + 'field': name_of_field, 'operator': condition[0], 'values': condition[1:] } -def _alert_rule_id(subscription, resource_group, alert): +def _alert_rule_ids(subscription, resource_group, alert_ids): """ Transform alert rule name or ID to alert rule ID :param subscription: @@ -43,150 +58,222 @@ def _alert_rule_id(subscription, resource_group, alert): :param alert: :return: alert rule ID """ - if alert is None: + if alert_ids is None: return None from msrestazure.tools import resource_id, is_valid_resource_id - if not is_valid_resource_id(alert): - return resource_id(subscription=subscription, resource_group=resource_group, - namespace='microsoft.insights', type='alertrules', name=alert) - return alert - - -def create_alertsmanagement_action_rule(cmd, client, - resource_group_name, - action_rule_name, - rule_type, - location=None, - description=None, - scope_type=None, - scope=None, - severity=None, - monitor_service=None, - monitor_condition=None, - target_resource_type=None, - alert_rule=None, - alert_description=None, - alert_context=None, - tags=None, - status=None, - suppression_recurrence_type=None, - suppression_start_date=None, - suppression_end_date=None, - suppression_start_time=None, - suppression_end_time=None, - suppression_recurrence=None): - body = {'location': location, 'tags': tags} + ids = [] + ids.append(alert_ids[0]) + for id in alert_ids[1:]: + if not is_valid_resource_id(id): + rid = resource_id(subscription=subscription, resource_group=resource_group, + namespace='microsoft.insights', type='alertrules', name=id) + ids.append(rid) + ids.append(id) + + return ids + +def create_alertsmanagement_processing_rule(cmd, client, + resource_group_name, + processing_rule_name, + rule_type, + action_groups=None, + description=None, + scopes=None, + enabled=None, + tags=None, + filter_severity=None, + filter_monitor_service=None, + filter_monitor_condition=None, + filter_alert_rule_name=None, + filter_alert_rule_id=None, + filter_alert_rule_description=None, + filter_alert_context=None, + filter_signal_type=None, + filter_target_resource=None, + filter_resource_group=None, + filter_resource_type=None, + schedule_recurrence_type=None, + schedule_start_datetime=None, + schedule_end_datetime=None, + schedule_recurrence_start_time=None, + schedule_recurrence_end_time=None, + schedule_recurrence=None, + schedule_recurrence_2_type=None, + schedule_recurrence_2_start_time=None, + schedule_recurrence_2_end_time=None, + schedule_recurrence_2=None, + schedule_time_zone="UTC"): + # body = {'location': location, 'tags': tags} + body = {'location': 'Global'} properties = {} - if status is not None: - properties['status'] = status - properties['type'] = rule_type + if rule_type == ActionType.REMOVE_ALL_ACTION_GROUPS: + if action_groups is not None: + print(bcolors.FAIL + 'Argument Conflict: --action-groups argument can\'t be used with RemoveAllActionGroups rule type' + bcolors.ENDC) + return + properties['actions'] = [ + { + 'actionType': rule_type + } + ] + elif rule_type == ActionType.ADD_ACTION_GROUPS: + if action_groups is None: + print(bcolors.FAIL + 'Missing Argument: --action-groups must be used when using AddActionGroups' + bcolors.ENDC) + return + else: + properties['actions'] = [ + { + 'actionType': rule_type, + 'actionGroupIds': [x.strip() for x in action_groups] + } + ] + properties['enabled'] = enabled if enabled is not None else 'True' + properties['scopes'] = [x.strip() for x in scopes] if description is not None: properties['description'] = description - if scope is not None and scope_type is not None: - properties['scope'] = { - 'scopeType': scope_type, - 'values': scope - } - severity = _transform_condition(severity) - monitor_service = _transform_condition(monitor_service) - monitor_condition = _transform_condition(monitor_condition) - target_resource_type = _transform_condition(target_resource_type) - alert_rule = _alert_rule_id(client.config.subscription_id, resource_group_name, alert_rule) - alert_rule = _transform_condition(alert_rule) - alert_description = _transform_condition(alert_description) - alert_context = _transform_condition(alert_context) - properties['conditions'] = {} + + severity = _transform_condition(filter_severity, 'Severity') + monitor_service = _transform_condition(filter_monitor_service, 'MonitorService') + monitor_condition = _transform_condition(filter_monitor_condition, 'MonitorCondition') + alert_rule_name = _transform_condition(filter_alert_rule_name, 'AlertRuleName') + alert_rule_ids = None + if filter_alert_rule_id is not None: + alert_rule_ids = _alert_rule_ids(client._config.subscription_id, resource_group_name, filter_alert_rule_id) + alert_rule_ids = _transform_condition(alert_rule_ids, 'AlertRuleId') + alert_description = _transform_condition(filter_alert_rule_description, 'Description') + alert_context = _transform_condition(filter_alert_context, 'AlertContext') + signal_type = _transform_condition(filter_signal_type, 'SignalType') + resource_filter = _transform_condition(filter_target_resource, 'TargetResource') + resource_group_filter = _transform_condition(filter_resource_group, 'TargetResourceGroup') + resource_type_filter = _transform_condition(filter_resource_type, 'TargetResourceType') + + # conditions + if any([filter_severity, filter_monitor_service, filter_monitor_condition, filter_alert_rule_name, + filter_alert_rule_id, filter_alert_rule_description, filter_alert_context, filter_signal_type, + filter_target_resource, filter_resource_group, filter_resource_type]): + properties['conditions'] = [] + if severity is not None: - properties['conditions']['severity'] = severity + properties['conditions'].append(severity) if monitor_service is not None: - properties['conditions']['monitorService'] = monitor_service + properties['conditions'].append(monitor_service) if monitor_condition is not None: - properties['conditions']['monitorCondition'] = monitor_condition - if target_resource_type is not None: - properties['conditions']['targetResourceType'] = target_resource_type - if alert_rule is not None: - properties['conditions']['alertRuleId'] = alert_rule + properties['conditions'].append(monitor_condition) + if alert_rule_name is not None: + properties['conditions'].append(alert_rule_name) + if alert_rule_ids is not None: + properties['conditions'].append(alert_rule_ids) if alert_description is not None: - properties['conditions']['description'] = alert_description + properties['conditions'].append(alert_description) if alert_context is not None: - properties['conditions']['alertContext'] = alert_context - properties['suppressionConfig'] = { - 'recurrenceType': suppression_recurrence_type - } - if suppression_recurrence_type not in ['Always']: - properties['suppressionConfig']['schedule'] = { - 'startDate': suppression_start_date, - 'endDate': suppression_end_date, - 'startTime': suppression_start_time, - 'endTime': suppression_end_time, - 'recurrenceValues': suppression_recurrence - } + properties['conditions'].append(alert_context) + if signal_type is not None: + properties['conditions'].append(signal_type) + if resource_filter is not None: + properties['conditions'].append(resource_filter) + if resource_group_filter is not None: + properties['conditions'].append(resource_group_filter) + if resource_type_filter is not None: + properties['conditions'].append(resource_type_filter) + + # schedule + if schedule_recurrence_type is not None or (schedule_start_datetime is not None or schedule_end_datetime is not None): + properties['schedule'] = {} + if schedule_start_datetime is not None: + effective_from = schedule_start_datetime.replace(' ', 'T', 1) + properties['schedule']['effectiveFrom'] = effective_from + elif schedule_recurrence_type is not None: + effective_from = datetime.strftime(datetime.now().date(), '%Y-%m-%d') + 'T00:00:00' + print('effective_from: ' + effective_from) + properties['schedule']['effectiveFrom'] = effective_from + + if schedule_end_datetime is not None: + effective_until = schedule_end_datetime.replace(' ', 'T', 1) + properties['schedule']['effectiveUntil'] = effective_until + + if schedule_time_zone is not None: + properties['schedule']['timeZone'] = schedule_time_zone + + if schedule_recurrence_type == 'Daily': + if schedule_recurrence is not None: + print(bcolors.WARNING + 'WARNING: schedule-recurrence will be ignored as it can\'t be used while schedule-recurrence-type is set to Daily' + bcolors.ENDC) + + properties['schedule']['recurrences'] = [ + { + 'recurrenceType': schedule_recurrence_type, + 'startTime': schedule_recurrence_start_time, + 'endTime': schedule_recurrence_end_time + } + ] + elif schedule_recurrence_type in ['Weekly', 'Monthly']: + type_of_days = 'daysOfWeek' if schedule_recurrence_type == 'Weekly' else 'daysOfMonth' + properties['schedule']['recurrences'] = [ + { + 'recurrenceType': schedule_recurrence_type, + 'startTime': schedule_recurrence_start_time, + 'endTime': schedule_recurrence_end_time, + type_of_days: schedule_recurrence + } + ] + + second_recurrence = None + if any([schedule_recurrence_2_type, schedule_recurrence_2_start_time, schedule_recurrence_2_end_time, schedule_recurrence_2]) and \ + len(properties['schedule']['recurrences']) < 1: + print(bcolors.FAIL + "second recurrence can't be used before using the first recurrence argument" + bcolors.ENDC) + return + + if schedule_recurrence_2_type == 'Daily': + if schedule_recurrence_2 is not None: + print(bcolors.WARNING + 'WARNING: schedule-recurrence-2 will be ignored as it can\'t be used while schedule-recurrence-type-2 is set to Daily' + bcolors.ENDC) + + second_recurrence = { + 'recurrenceType': schedule_recurrence_2_type, + 'startTime': schedule_recurrence_2_start_time, + 'endTime': schedule_recurrence_2_end_time + } + elif schedule_recurrence_2_type in ['Weekly', 'Monthly']: + type_of_days = 'daysOfWeek' if schedule_recurrence_2_type == 'Weekly' else 'daysOfMonth' + second_recurrence = { + 'recurrenceType': schedule_recurrence_2_type, + 'startTime': schedule_recurrence_2_start_time, + 'endTime': schedule_recurrence_2_end_time, + type_of_days: schedule_recurrence_2 + } + + if second_recurrence is not None: + properties['schedule']['recurrences'].append(second_recurrence) body['properties'] = properties + body['tags'] = tags - return client.create_update(resource_group_name=resource_group_name, action_rule_name=action_rule_name, - action_rule=body) + return client.create_or_update(resource_group_name=resource_group_name, processing_rule_name=processing_rule_name, + alert_processing_rule=body) -def update_alertsmanagement_action_rule(instance, client, - location=None, - tags=None, - status=None): - if location is not None: - instance.location = location +def update_alertsmanagement_processing_rule(instance, client, + tags=None, + enabled=None): if tags is not None: instance.tags = tags - if status is not None: - instance.properties.status = status + if enabled is not None: + instance.properties.enabled = enabled return instance -def delete_alertsmanagement_action_rule(cmd, client, - resource_group_name, - action_rule_name): - return client.delete(resource_group_name=resource_group_name, action_rule_name=action_rule_name) +def delete_alertsmanagement_processing_rule(cmd, client, + resource_group_name, + processing_rule_name): + return client.delete(resource_group_name=resource_group_name, alert_processing_rule_name=processing_rule_name) -def get_alertsmanagement_action_rule(cmd, client, - resource_group_name, - action_rule_name): - return client.get_by_name(resource_group_name=resource_group_name, action_rule_name=action_rule_name) +def get_alertsmanagement_processing_rule(cmd, client, + resource_group_name, + processing_rule_name): + return client.get_by_name(resource_group_name=resource_group_name, processing_rule_name=processing_rule_name) -def list_alertsmanagement_action_rule(cmd, client, - resource_group_name=None, - target_resource_group=None, - target_resource_type=None, - target_resource=None, - severity=None, - monitor_service=None, - impacted_scope=None, - description=None, - alert_rule_id=None, - action_group=None, - name=None): +def list_alertsmanagement_processing_rule(cmd, client, + resource_group_name=None): if resource_group_name is not None: - return client.list_by_resource_group( - resource_group_name=resource_group_name, - target_resource_group=target_resource_group, - target_resource_type=target_resource_type, - target_resource=target_resource, - severity=severity, - monitor_service=monitor_service, - impacted_scope=impacted_scope, - description=description, - alert_rule_id=alert_rule_id, - action_group=action_group, - name=name) - return client.list_by_subscription( - target_resource_group=target_resource_group, - target_resource_type=target_resource_type, - target_resource=target_resource, - severity=severity, - monitor_service=monitor_service, - impacted_scope=impacted_scope, - description=description, - alert_rule_id=alert_rule_id, - action_group=action_group, - name=name) + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() diff --git a/src/alertsmanagement/azext_alertsmanagement/tests/latest/recordings/test_alertsmanagement_action_rule.yaml b/src/alertsmanagement/azext_alertsmanagement/tests/latest/recordings/test_alertsmanagement_action_rule.yaml deleted file mode 100644 index 6f7a8eb2359..00000000000 --- a/src/alertsmanagement/azext_alertsmanagement/tests/latest/recordings/test_alertsmanagement_action_rule.yaml +++ /dev/null @@ -1,589 +0,0 @@ -interactions: -- request: - body: '{"location": "Global", "properties": {"scope": {"scopeType": "ResourceGroup", - "values": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]}, - "conditions": {"severity": {"operator": "Equals", "values": ["Sev0", "Sev2"]}, - "monitorService": {"operator": "Equals", "values": ["Platform", "Application - Insights"]}, "monitorCondition": {"operator": "Equals", "values": ["Fired"]}, - "targetResourceType": {"operator": "NotEquals", "values": ["Microsoft.Compute/VirtualMachines"]}}, - "status": "Enabled", "type": "Suppression", "suppressionConfig": {"recurrenceType": - "Daily", "schedule": {"startDate": "12/09/2018", "endDate": "12/18/2018", "startTime": - "06:00:00", "endTime": "14:00:00"}}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule create - Connection: - - keep-alive - Content-Length: - - '778' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --location --status --rule-type --scope-type --scope - --severity --monitor-service --monitor-condition --target-resource-type --suppression-recurrence-type - --suppression-start-date --suppression-end-date --suppression-start-time --suppression-end-time - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1?api-version=2019-05-05-preview - response: - body: - string: '{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Daily","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:26:18.6717783Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:18.6717783Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1","type":"Microsoft.AlertsManagement/actionRules","name":"rule1"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1178' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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-ratelimit-remaining-subscription-writes: - - '1199' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule show - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1?api-version=2019-05-05-preview - response: - body: - string: '{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Daily","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:26:18.6717783Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:18.6717783Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1","type":"Microsoft.AlertsManagement/actionRules","name":"rule1"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1178' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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-ratelimit-remaining-subscription-resource-requests: - - '999' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"location": "Global", "properties": {"scope": {"scopeType": "ResourceGroup", - "values": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]}, - "conditions": {"severity": {"operator": "Equals", "values": ["Sev0", "Sev2"]}, - "monitorService": {"operator": "Equals", "values": ["Platform", "Application - Insights"]}, "monitorCondition": {"operator": "Equals", "values": ["Fired"]}, - "targetResourceType": {"operator": "NotEquals", "values": ["Microsoft.Compute/VirtualMachines"]}}, - "status": "Enabled", "type": "Suppression", "suppressionConfig": {"recurrenceType": - "Once", "schedule": {"startDate": "08/25/2021", "endDate": "08/26/2021", "startTime": - "06:00:00", "endTime": "14:00:00"}}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule create - Connection: - - keep-alive - Content-Length: - - '777' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --location --status --rule-type --scope-type --scope - --severity --monitor-service --monitor-condition --target-resource-type --suppression-recurrence-type - --suppression-start-date --suppression-end-date --suppression-start-time --suppression-end-time - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule2?api-version=2019-05-05-preview - response: - body: - string: '{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Once","schedule":{"startDate":"08/25/2021","endDate":"08/26/2021","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:26:24.86681Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:24.86681Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule2","type":"Microsoft.AlertsManagement/actionRules","name":"rule2"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1173' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule show - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule2?api-version=2019-05-05-preview - response: - body: - string: '{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Once","schedule":{"startDate":"08/25/2021","endDate":"08/26/2021","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:26:24.86681Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:24.86681Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule2","type":"Microsoft.AlertsManagement/actionRules","name":"rule2"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1173' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26:28 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-resource-requests: - - '999' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --status - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1?api-version=2019-05-05-preview - response: - body: - string: '{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Daily","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:26:18.6717783Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:18.6717783Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1","type":"Microsoft.AlertsManagement/actionRules","name":"rule1"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1178' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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-ratelimit-remaining-subscription-resource-requests: - - '999' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: '{"location": "Global", "properties": {"scope": {"scopeType": "ResourceGroup", - "values": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]}, - "conditions": {"severity": {"operator": "Equals", "values": ["Sev0", "Sev2"]}, - "monitorService": {"operator": "Equals", "values": ["Platform", "Application - Insights"]}, "monitorCondition": {"operator": "Equals", "values": ["Fired"]}, - "targetResourceType": {"operator": "NotEquals", "values": ["Microsoft.Compute/VirtualMachines"]}}, - "status": "Disabled", "type": "Suppression", "suppressionConfig": {"recurrenceType": - "Daily", "schedule": {"startDate": "12/09/2018", "endDate": "12/18/2018", "startTime": - "06:00:00", "endTime": "14:00:00"}}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule update - Connection: - - keep-alive - Content-Length: - - '779' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --status - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1?api-version=2019-05-05-preview - response: - body: - string: '{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Daily","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Disabled","type":"Suppression","createdAt":"2021-08-23T02:26:18.6717783Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:30.7042783Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1","type":"Microsoft.AlertsManagement/actionRules","name":"rule1"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1179' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule list - Connection: - - keep-alive - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.AlertsManagement/actionRules?api-version=2019-05-05-preview - response: - body: - string: '{"value":[{"properties":{"suppressionConfig":{"recurrenceType":"Weekly","schedule":{"startDate":"03/13/2020","endDate":"03/14/2020","startTime":"05:54:56","endTime":"05:54:56","recurrenceValues":[0,1,2,4,5,6]}},"status":"Enabled","type":"Suppression","createdAt":"2020-03-13T06:21:58.0932972Z","createdBy":"fey@microsoft.com","lastModifiedAt":"2020-03-13T06:21:58.0932972Z","lastModifiedBy":"fey@microsoft.com","description":""},"location":"global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.AlertsManagement/actionRules/rule1","type":"Microsoft.AlertsManagement/actionRules","name":"rule1"},{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_hcvecd6i2es65x2nytxei4rocecynyps7apyf"]},"suppressionConfig":{"recurrenceType":"Daily","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:25:18.6893331Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:25:18.6893331Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_hcvecd6i2es65x2nytxei4rocecynyps7apyf/providers/Microsoft.AlertsManagement/actionRules/rule1","type":"Microsoft.AlertsManagement/actionRules","name":"rule1"},{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Daily","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Disabled","type":"Suppression","createdAt":"2021-08-23T02:26:18.6717783Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:30.7042783Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1","type":"Microsoft.AlertsManagement/actionRules","name":"rule1"},{"properties":{"suppressionConfig":{"recurrenceType":"Weekly","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00","recurrenceValues":[0,6]}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]}},"status":"Enabled","type":"Suppression","createdAt":"2020-03-13T06:29:08.1868672Z","createdBy":"fey@microsoft.com","lastModifiedAt":"2020-03-13T06:29:08.1868672Z","lastModifiedBy":"fey@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.AlertsManagement/actionRules/rule2","type":"Microsoft.AlertsManagement/actionRules","name":"rule2"},{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_hcvecd6i2es65x2nytxei4rocecynyps7apyf"]},"suppressionConfig":{"recurrenceType":"Once","schedule":{"startDate":"08/25/2021","endDate":"08/26/2021","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:25:27.6419808Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:25:27.6419808Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_hcvecd6i2es65x2nytxei4rocecynyps7apyf/providers/Microsoft.AlertsManagement/actionRules/rule2","type":"Microsoft.AlertsManagement/actionRules","name":"rule2"},{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Once","schedule":{"startDate":"08/25/2021","endDate":"08/26/2021","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:26:24.86681Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:24.86681Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule2","type":"Microsoft.AlertsManagement/actionRules","name":"rule2"},{"properties":{"suppressionConfig":{"recurrenceType":"Weekly","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00","recurrenceValues":[0,6]}},"conditions":{"severity":{"operator":"Equals","values":["Sev4"]},"targetResourceType":{"operator":"Equals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2020-03-13T06:34:23.1716761Z","createdBy":"fey@microsoft.com","lastModifiedAt":"2020-03-13T06:34:23.1716761Z","lastModifiedBy":"fey@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.AlertsManagement/actionRules/rule3","type":"Microsoft.AlertsManagement/actionRules","name":"rule3"},{"properties":{"suppressionConfig":{"recurrenceType":"Always"},"conditions":{"monitorService":{"operator":"Equals","values":["Log - Analytics"]},"alertContext":{"operator":"Contains","values":["Computer-01"]}},"status":"Enabled","type":"Suppression","createdAt":"2020-03-13T06:49:24.1672254Z","createdBy":"fey@microsoft.com","lastModifiedAt":"2020-03-13T06:49:24.1672254Z","lastModifiedBy":"fey@microsoft.com","description":""},"location":"global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.AlertsManagement/actionRules/rule4","type":"Microsoft.AlertsManagement/actionRules","name":"rule4"},{"properties":{"suppressionConfig":{"recurrenceType":"Always"},"conditions":{"monitorService":{"operator":"Equals","values":["Log - Analytics"]},"alertContext":{"operator":"Contains","values":["Computer-01"]}},"status":"Enabled","type":"Suppression","createdAt":"2020-03-13T06:51:55.0195146Z","createdBy":"fey@microsoft.com","lastModifiedAt":"2020-03-13T06:51:55.0195146Z","lastModifiedBy":"fey@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.AlertsManagement/actionRules/rule5","type":"Microsoft.AlertsManagement/actionRules","name":"rule5"},{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg"]},"suppressionConfig":{"recurrenceType":"Always"},"conditions":{"monitorService":{"operator":"Equals","values":["Log - Analytics"]},"alertContext":{"operator":"Contains","values":["Computer-01"]}},"status":"Enabled","type":"Suppression","createdAt":"2020-03-13T06:55:49.5585692Z","createdBy":"fey@microsoft.com","lastModifiedAt":"2020-03-13T06:55:49.5585692Z","lastModifiedBy":"fey@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.AlertsManagement/actionRules/rule6","type":"Microsoft.AlertsManagement/actionRules","name":"rule6"}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '8843' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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-ratelimit-remaining-subscription-resource-requests: - - '999' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule list - Connection: - - keep-alive - ParameterSetName: - - -g - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules?api-version=2019-05-05-preview - response: - body: - string: '{"value":[{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Daily","schedule":{"startDate":"12/09/2018","endDate":"12/18/2018","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Disabled","type":"Suppression","createdAt":"2021-08-23T02:26:18.6717783Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:30.7042783Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1","type":"Microsoft.AlertsManagement/actionRules","name":"rule1"},{"properties":{"scope":{"scopeType":"ResourceGroup","values":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001"]},"suppressionConfig":{"recurrenceType":"Once","schedule":{"startDate":"08/25/2021","endDate":"08/26/2021","startTime":"06:00:00","endTime":"14:00:00"}},"conditions":{"severity":{"operator":"Equals","values":["Sev0","Sev2"]},"monitorService":{"operator":"Equals","values":["Platform","Application - Insights"]},"monitorCondition":{"operator":"Equals","values":["Fired"]},"targetResourceType":{"operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}},"status":"Enabled","type":"Suppression","createdAt":"2021-08-23T02:26:24.86681Z","createdBy":"v-jingszhang@microsoft.com","lastModifiedAt":"2021-08-23T02:26:24.86681Z","lastModifiedBy":"v-jingszhang@microsoft.com"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule2","type":"Microsoft.AlertsManagement/actionRules","name":"rule2"}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '2365' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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-ratelimit-remaining-subscription-resource-requests: - - '999' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule1?api-version=2019-05-05-preview - response: - body: - string: 'true' - headers: - cache-control: - - no-store, no-cache - content-length: - - '4' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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-ratelimit-remaining-subscription-deletes: - - '14999' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - monitor action-rule delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-alertsmanagement/0.2.0rc2 Azure-SDK-For-Python AZURECLI/2.27.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_action_rule_000001/providers/Microsoft.AlertsManagement/actionRules/rule2?api-version=2019-05-05-preview - response: - body: - string: 'true' - headers: - cache-control: - - no-store, no-cache - content-length: - - '4' - content-security-policy: - - script-src 'self' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 23 Aug 2021 02:26: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-ratelimit-remaining-subscription-deletes: - - '14999' - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -version: 1 diff --git a/src/alertsmanagement/azext_alertsmanagement/tests/latest/recordings/test_alertsmanagement_processing_rule.yaml b/src/alertsmanagement/azext_alertsmanagement/tests/latest/recordings/test_alertsmanagement_processing_rule.yaml new file mode 100644 index 00000000000..ccc9fc0cec3 --- /dev/null +++ b/src/alertsmanagement/azext_alertsmanagement/tests/latest/recordings/test_alertsmanagement_processing_rule.yaml @@ -0,0 +1,484 @@ +interactions: +- request: + body: '{"location": "Global", "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"], + "conditions": [{"field": "Severity", "operator": "Equals", "values": ["Sev0", + "Sev2"]}, {"field": "MonitorService", "operator": "Equals", "values": ["Platform", + "Application Insights"]}, {"field": "MonitorCondition", "operator": "Equals", + "values": ["Fired"]}, {"field": "TargetResourceType", "operator": "NotEquals", + "values": ["Microsoft.Compute/VirtualMachines"]}], "schedule": {"effectiveFrom": + "2018-12-09T06:00:00", "effectiveUntil": "2018-12-18T14:00:00", "timeZone": + "UTC", "recurrences": [{"recurrenceType": "Daily", "startTime": "06:00:00", + "endTime": "14:00:00"}]}, "actions": [{"actionType": "RemoveAllActionGroups"}], + "enabled": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule create + Connection: + - keep-alive + Content-Length: + - '817' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --rule-type --scopes --filter-severity --filter-monitor-service + --filter-monitor-condition --filter-resource-type --schedule-recurrence-type + --schedule-start-datetime --schedule-end-datetime --schedule-recurrence-start-time + --schedule-recurrence-end-time + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1?api-version=2021-08-08 + response: + body: + string: '{"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"],"schedule":{"effectiveFrom":"2018-12-09T06:00:00","effectiveUntil":"2018-12-18T14:00:00","timeZone":"UTC","recurrences":[{"recurrenceType":"Daily","startTime":"06:00:00","endTime":"14:00:00"}]},"conditions":[{"field":"Severity","operator":"Equals","values":["Sev0","Sev2"]},{"field":"MonitorService","operator":"Equals","values":["Platform","Application + Insights"]},{"field":"MonitorCondition","operator":"Equals","values":["Fired"]},{"field":"TargetResourceType","operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}],"enabled":true,"actions":[{"actionType":"RemoveAllActionGroups"}]},"systemData":{"createdBy":"lienglender@microsoft.com","createdByType":"User","createdAt":"2022-01-24T07:35:55.8478357Z","lastModifiedBy":"lienglender@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-24T07:35:55.8478357Z"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1","type":"Microsoft.AlertsManagement/actionRules","name":"test1"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1250' + content-security-policy: + - script-src 'self' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 Jan 2022 07:35:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-xss-protection: + - 1; mode=block + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1?api-version=2021-08-08 + response: + body: + string: '{"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"],"schedule":{"effectiveFrom":"2018-12-09T06:00:00","effectiveUntil":"2018-12-18T14:00:00","timeZone":"UTC","recurrences":[{"recurrenceType":"Daily","startTime":"06:00:00","endTime":"14:00:00"}]},"conditions":[{"field":"Severity","operator":"Equals","values":["Sev0","Sev2"]},{"field":"MonitorService","operator":"Equals","values":["Platform","Application + Insights"]},{"field":"MonitorCondition","operator":"Equals","values":["Fired"]},{"field":"TargetResourceType","operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}],"enabled":true,"actions":[{"actionType":"RemoveAllActionGroups"}]},"systemData":{"createdBy":"lienglender@microsoft.com","createdByType":"User","createdAt":"2022-01-24T07:35:55.8478357Z","lastModifiedBy":"lienglender@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-24T07:35:55.8478357Z"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1","type":"Microsoft.AlertsManagement/actionRules","name":"test1"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1250' + content-security-policy: + - script-src 'self' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 Jan 2022 07:35:57 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-resource-requests: + - '999' + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"location": "Global", "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"], + "schedule": {"effectiveFrom": "2018-12-09T06:00:00", "effectiveUntil": "2018-12-18T14:00:00", + "timeZone": "UTC", "recurrences": [{"recurrenceType": "Weekly", "daysOfWeek": + ["Sunday", "Saturday"]}]}, "actions": [{"actionType": "AddActionGroups", "actionGroupIds": + ["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/amp-common/providers/microsoft.insights/actiongroups/application + insights smart detection"]}], "enabled": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule create + Connection: + - keep-alive + Content-Length: + - '613' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --scopes --rule-type --action-groups --schedule-recurrence-type + --schedule-recurrence --schedule-start-datetime --schedule-end-datetime + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test2?api-version=2021-08-08 + response: + body: + string: '{"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"],"schedule":{"effectiveFrom":"2018-12-09T06:00:00","effectiveUntil":"2018-12-18T14:00:00","timeZone":"UTC","recurrences":[{"daysOfWeek":["Sunday","Saturday"],"recurrenceType":"Weekly"}]},"enabled":true,"actions":[{"actionGroupIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/amp-common/providers/microsoft.insights/actiongroups/application + insights smart detection"],"actionType":"AddActionGroups"}]},"systemData":{"createdBy":"lienglender@microsoft.com","createdByType":"User","createdAt":"2022-01-24T07:36:04.8556704Z","lastModifiedBy":"lienglender@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-24T07:36:04.8556704Z"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test2","type":"Microsoft.AlertsManagement/actionRules","name":"test2"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1072' + content-security-policy: + - script-src 'self' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 Jan 2022 07:36:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-xss-protection: + - 1; mode=block + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test2?api-version=2021-08-08 + response: + body: + string: '{"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"],"schedule":{"effectiveFrom":"2018-12-09T06:00:00","effectiveUntil":"2018-12-18T14:00:00","timeZone":"UTC","recurrences":[{"daysOfWeek":["Sunday","Saturday"],"recurrenceType":"Weekly"}]},"enabled":true,"actions":[{"actionGroupIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/amp-common/providers/microsoft.insights/actiongroups/application + insights smart detection"],"actionType":"AddActionGroups"}]},"systemData":{"createdBy":"lienglender@microsoft.com","createdByType":"User","createdAt":"2022-01-24T07:36:04.8556704Z","lastModifiedBy":"lienglender@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-24T07:36:04.8556704Z"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test2","type":"Microsoft.AlertsManagement/actionRules","name":"test2"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1072' + content-security-policy: + - script-src 'self' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 Jan 2022 07:36: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-ratelimit-remaining-subscription-resource-requests: + - '998' + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --enabled --tags + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1?api-version=2021-08-08 + response: + body: + string: '{"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"],"schedule":{"effectiveFrom":"2018-12-09T06:00:00","effectiveUntil":"2018-12-18T14:00:00","timeZone":"UTC","recurrences":[{"recurrenceType":"Daily","startTime":"06:00:00","endTime":"14:00:00"}]},"conditions":[{"field":"Severity","operator":"Equals","values":["Sev0","Sev2"]},{"field":"MonitorService","operator":"Equals","values":["Platform","Application + Insights"]},{"field":"MonitorCondition","operator":"Equals","values":["Fired"]},{"field":"TargetResourceType","operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}],"enabled":true,"actions":[{"actionType":"RemoveAllActionGroups"}]},"systemData":{"createdBy":"lienglender@microsoft.com","createdByType":"User","createdAt":"2022-01-24T07:35:55.8478357Z","lastModifiedBy":"lienglender@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-24T07:35:55.8478357Z"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1","type":"Microsoft.AlertsManagement/actionRules","name":"test1"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1250' + content-security-policy: + - script-src 'self' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 Jan 2022 07:36: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-ratelimit-remaining-subscription-resource-requests: + - '999' + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: '{"location": "Global", "tags": {"isUpdated": "YES", "secondTag": "justATag"}, + "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"], + "conditions": [{"field": "Severity", "operator": "Equals", "values": ["Sev0", + "Sev2"]}, {"field": "MonitorService", "operator": "Equals", "values": ["Platform", + "Application Insights"]}, {"field": "MonitorCondition", "operator": "Equals", + "values": ["Fired"]}, {"field": "TargetResourceType", "operator": "NotEquals", + "values": ["Microsoft.Compute/VirtualMachines"]}], "schedule": {"effectiveFrom": + "2018-12-09T06:00:00", "effectiveUntil": "2018-12-18T14:00:00", "timeZone": + "UTC", "recurrences": [{"recurrenceType": "Daily", "startTime": "06:00:00", + "endTime": "14:00:00"}]}, "actions": [{"actionType": "RemoveAllActionGroups"}], + "enabled": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule update + Connection: + - keep-alive + Content-Length: + - '873' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --enabled --tags + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1?api-version=2021-08-08 + response: + body: + string: '{"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"],"schedule":{"effectiveFrom":"2018-12-09T06:00:00","effectiveUntil":"2018-12-18T14:00:00","timeZone":"UTC","recurrences":[{"recurrenceType":"Daily","startTime":"06:00:00","endTime":"14:00:00"}]},"conditions":[{"field":"Severity","operator":"Equals","values":["Sev0","Sev2"]},{"field":"MonitorService","operator":"Equals","values":["Platform","Application + Insights"]},{"field":"MonitorCondition","operator":"Equals","values":["Fired"]},{"field":"TargetResourceType","operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}],"enabled":false,"actions":[{"actionType":"RemoveAllActionGroups"}]},"systemData":{"createdBy":"lienglender@microsoft.com","createdByType":"User","createdAt":"2022-01-24T07:35:55.8478357Z","lastModifiedBy":"lienglender@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-24T07:36:11.6422462Z"},"location":"Global","tags":{"isUpdated":"YES","secondTag":"justATag"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1","type":"Microsoft.AlertsManagement/actionRules","name":"test1"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1301' + content-security-policy: + - script-src 'self' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 Jan 2022 07:36: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: + - '1199' + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08 + response: + body: + string: '{"value":[{"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"],"schedule":{"effectiveFrom":"2018-12-09T06:00:00","effectiveUntil":"2018-12-18T14:00:00","timeZone":"UTC","recurrences":[{"recurrenceType":"Daily","startTime":"06:00:00","endTime":"14:00:00"}]},"conditions":[{"field":"Severity","operator":"Equals","values":["Sev0","Sev2"]},{"field":"MonitorService","operator":"Equals","values":["Platform","Application + Insights"]},{"field":"MonitorCondition","operator":"Equals","values":["Fired"]},{"field":"TargetResourceType","operator":"NotEquals","values":["Microsoft.Compute/VirtualMachines"]}],"enabled":false,"actions":[{"actionType":"RemoveAllActionGroups"}]},"systemData":{"createdBy":"lienglender@microsoft.com","createdByType":"User","createdAt":"2022-01-24T07:35:55.8478357Z","lastModifiedBy":"lienglender@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-24T07:36:11.6422462Z"},"location":"Global","tags":{"isUpdated":"YES","secondTag":"justATag"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1","type":"Microsoft.AlertsManagement/actionRules","name":"test1"},{"properties":{"scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001"],"schedule":{"effectiveFrom":"2018-12-09T06:00:00","effectiveUntil":"2018-12-18T14:00:00","timeZone":"UTC","recurrences":[{"daysOfWeek":["Sunday","Saturday"],"recurrenceType":"Weekly"}]},"enabled":true,"actions":[{"actionGroupIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/amp-common/providers/microsoft.insights/actiongroups/application + insights smart detection"],"actionType":"AddActionGroups"}]},"systemData":{"createdBy":"lienglender@microsoft.com","createdByType":"User","createdAt":"2022-01-24T07:36:04.8556704Z","lastModifiedBy":"lienglender@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-24T07:36:04.8556704Z"},"location":"Global","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test2","type":"Microsoft.AlertsManagement/actionRules","name":"test2"}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2386' + content-security-policy: + - script-src 'self' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 Jan 2022 07:36:16 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-resource-requests: + - '999' + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test1?api-version=2021-08-08 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + content-security-policy: + - script-src 'self' + date: + - Mon, 24 Jan 2022 07:36:24 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' + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor alert-processing-rule delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-alertsmanagement/1.0.0b1 Python/3.7.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_alertsmanagement_processing_rule_000001/providers/Microsoft.AlertsManagement/actionRules/test2?api-version=2021-08-08 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + content-security-policy: + - script-src 'self' + date: + - Mon, 24 Jan 2022 07:36:32 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' + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +version: 1 diff --git a/src/alertsmanagement/azext_alertsmanagement/tests/latest/test_alertsmanagement_scenario.py b/src/alertsmanagement/azext_alertsmanagement/tests/latest/test_alertsmanagement_scenario.py index a26788c5d9d..57b237cb59e 100644 --- a/src/alertsmanagement/azext_alertsmanagement/tests/latest/test_alertsmanagement_scenario.py +++ b/src/alertsmanagement/azext_alertsmanagement/tests/latest/test_alertsmanagement_scenario.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) @@ -15,110 +15,82 @@ class AlertsScenarioTest(ScenarioTest): - @ResourceGroupPreparer(name_prefix='cli_test_alertsmanagement_action_rule_') - def test_alertsmanagement_action_rule(self, resource_group): + @ResourceGroupPreparer(name_prefix='cli_test_alertsmanagement_processing_rule_') + def test_alertsmanagement_processing_rule(self, resource_group): subs_id = self.get_subscription_id() rg_id = '/subscriptions/{}/resourceGroups/{}'.format(subs_id, resource_group) self.kwargs.update({ - 'rg_id': rg_id + 'rg_id': rg_id, + 'subs_id': subs_id }) - self.cmd('az monitor action-rule create ' + self.cmd('az monitor alert-processing-rule create ' '--resource-group {rg} ' - '--name rule1 ' - '--location Global ' - '--status Enabled ' - '--rule-type Suppression ' - '--scope-type ResourceGroup ' - '--scope {rg_id} ' - '--severity Equals Sev0 Sev2 ' - '--monitor-service Equals Platform "Application Insights" ' - '--monitor-condition Equals Fired ' - '--target-resource-type NotEquals Microsoft.Compute/VirtualMachines ' - '--suppression-recurrence-type Daily ' - '--suppression-start-date 12/09/2018 ' - '--suppression-end-date 12/18/2018 ' - '--suppression-start-time 06:00:00 ' - '--suppression-end-time 14:00:00', - checks=[]) + '--name test1 ' + '--rule-type RemoveAllActionGroups ' + '--scopes {rg_id} ' + '--filter-severity Equals Sev0 Sev2 ' + '--filter-monitor-service Equals Platform "Application Insights" ' + '--filter-monitor-condition Equals Fired ' + '--filter-resource-type NotEquals Microsoft.Compute/VirtualMachines ' + '--schedule-recurrence-type Daily ' + '--schedule-start-datetime \'2018-12-09 06:00:00\' ' + '--schedule-end-datetime \'2018-12-18 14:00:00\' ' + '--schedule-recurrence-start-time \'06:00:00\' ' + '--schedule-recurrence-end-time \'14:00:00\' ', + checks=[ + self.check('name', 'test1') + ]) - self.cmd('az monitor action-rule show ' + self.cmd('az monitor alert-processing-rule show ' '--resource-group {rg} ' - '--name "rule1"', + '--name "test1"', checks=[ - self.check('name', 'rule1'), - self.check('location', 'Global'), - self.check('properties.status', 'Enabled'), - self.check('properties.type', 'Suppression'), - self.check('properties.conditions.monitorCondition.operator', 'Equals'), - self.check('properties.conditions.monitorCondition.values[0]', 'Fired'), - self.check('properties.conditions.severity.operator', 'Equals'), - self.check('properties.conditions.severity.values[0]', 'Sev0'), - self.check('properties.conditions.severity.values[1]', 'Sev2'), - self.check('properties.conditions.targetResourceType.operator', 'NotEquals'), - self.check('properties.conditions.targetResourceType.values[0]', - 'Microsoft.Compute/VirtualMachines'), - self.check('properties.suppressionConfig.recurrenceType', 'Daily'), - self.check('properties.suppressionConfig.schedule.endDate', '12/18/2018'), - self.check('properties.suppressionConfig.schedule.endTime', '14:00:00'), - self.check('properties.suppressionConfig.schedule.startDate', '12/09/2018'), - self.check('properties.suppressionConfig.schedule.startTime', '06:00:00'), + self.check('name', 'test1'), + self.check('properties.actions[0].actionType', 'RemoveAllActionGroups'), + self.check('properties.conditions[3].field','TargetResourceType'), + self.check('properties.conditions[3].operator','NotEquals'), + self.check('properties.conditions[3].values[0]','Microsoft.Compute/VirtualMachines') ]) - self.cmd('az monitor action-rule create ' + self.cmd('az monitor alert-processing-rule create ' '--resource-group {rg} ' - '--name rule2 ' - '--location Global ' - '--status Enabled ' - '--rule-type Suppression ' - '--scope-type ResourceGroup ' - '--scope {rg_id} ' - '--severity Equals Sev0 Sev2 ' - '--monitor-service Equals Platform "Application Insights" ' - '--monitor-condition Equals Fired ' - '--target-resource-type NotEquals Microsoft.Compute/VirtualMachines ' - '--suppression-recurrence-type Once ' - '--suppression-start-date 08/25/2021 ' - '--suppression-end-date 08/26/2021 ' - '--suppression-start-time 06:00:00 ' - '--suppression-end-time 14:00:00', - checks=[]) + '--name test2 ' + '--scopes {rg_id} ' + '--rule-type AddActionGroups ' + '--action-groups "/subscriptions/{subs_id}/resourcegroups/amp-common/providers/microsoft.insights/actiongroups/application insights smart detection" ' + '--schedule-recurrence-type Weekly ' + '--schedule-recurrence Sunday Saturday ' + '--schedule-start-datetime \'2018-12-09 06:00:00\' ' + '--schedule-end-datetime \'2018-12-18 14:00:00\' ', + checks=[ + self.check('name', 'test2'), + self.check('properties.schedule.recurrences[0].daysOfWeek[0]', 'Sunday'), + self.check('properties.schedule.recurrences[0].daysOfWeek[1]', 'Saturday') + ]) - self.cmd('az monitor action-rule show ' + self.cmd('az monitor alert-processing-rule show ' '--resource-group {rg} ' - '--name "rule2"', + '--name "test2"', checks=[ - self.check('name', 'rule2'), - self.check('location', 'Global'), - self.check('properties.status', 'Enabled'), - self.check('properties.type', 'Suppression'), - self.check('properties.conditions.monitorCondition.operator', 'Equals'), - self.check('properties.conditions.monitorCondition.values[0]', 'Fired'), - self.check('properties.conditions.severity.operator', 'Equals'), - self.check('properties.conditions.severity.values[0]', 'Sev0'), - self.check('properties.conditions.severity.values[1]', 'Sev2'), - self.check('properties.conditions.targetResourceType.operator', 'NotEquals'), - self.check('properties.conditions.targetResourceType.values[0]', - 'Microsoft.Compute/VirtualMachines'), - self.check('properties.suppressionConfig.recurrenceType', 'Once'), - self.check('properties.suppressionConfig.schedule.endDate', '08/26/2021'), - self.check('properties.suppressionConfig.schedule.endTime', '14:00:00'), - self.check('properties.suppressionConfig.schedule.startDate', '08/25/2021'), - self.check('properties.suppressionConfig.schedule.startTime', '06:00:00'), + self.check('name', 'test2'), + self.check('properties.enabled', True), + self.check('properties.actions[0].actionType', 'AddActionGroups'), + self.check('properties.schedule.effectiveFrom', '2018-12-09T06:00:00'), + self.check('properties.schedule.effectiveUntil', '2018-12-18T14:00:00') ]) - self.cmd('az monitor action-rule update ' + self.cmd('az monitor alert-processing-rule update ' '--resource-group {rg} ' - '--name "rule1" ' - '--status Disabled', + '--name test1 ' + '--enabled False ' + '--tags isUpdated=YES secondTag=justATag', checks=[ - self.check('properties.status', 'Disabled') + self.check('properties.enabled', False), + self.check('tags.isUpdated', 'YES') ]) - self.cmd('az monitor action-rule list', - checks=self.check('[0].name', 'rule1')) - - self.cmd('az monitor action-rule list -g {rg}', - checks=self.check('[0].name', 'rule1')) + self.cmd('az monitor alert-processing-rule list -g {rg}', + checks=self.check('[0].name', 'test1')) - self.cmd('az monitor action-rule delete -g {rg} -n rule1') - self.cmd('az monitor action-rule delete -g {rg} -n rule2') + self.cmd('az monitor alert-processing-rule delete -g {rg} -n test1 --yes') + self.cmd('az monitor alert-processing-rule delete -g {rg} -n test2 --yes') diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/__init__.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/__init__.py index a5b81f3bde4..c9cfdc73e77 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/__init__.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/__init__.py @@ -1,6 +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. -# -------------------------------------------------------------------------------------------- +# Licensed under the MIT License. See License.txt in the project root for +# 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__('pkg_resources').declare_namespace(__name__) +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/__init__.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/__init__.py index 97a96941bfd..06710408366 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/__init__.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/__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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 AlertsManagementClientConfiguration from ._alerts_management_client import AlertsManagementClient -__all__ = ['AlertsManagementClient', 'AlertsManagementClientConfiguration'] - -from .version import VERSION +from ._version import VERSION __version__ = VERSION +__all__ = ['AlertsManagementClient'] +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_alerts_management_client.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_alerts_management_client.py index af7ad075b8c..1a1b1a9f635 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_alerts_management_client.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_alerts_management_client.py @@ -1,68 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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.service_client import SDKClient -from msrest import Serializer, Deserializer +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 AlertsManagementClientConfiguration +from .operations import AlertProcessingRulesOperations from .operations import Operations from .operations import AlertsOperations from .operations import SmartGroupsOperations -from .operations import ActionRulesOperations -from .operations import SmartDetectorAlertRulesOperations from . import models -class AlertsManagementClient(SDKClient): - """AlertsManagement Client - - :ivar config: Configuration for client. - :vartype config: AlertsManagementClientConfiguration +class AlertsManagementClient(object): + """AlertsManagement Client. + :ivar alert_processing_rules: AlertProcessingRulesOperations operations + :vartype alert_processing_rules: azure.mgmt.alertsmanagement.operations.AlertProcessingRulesOperations :ivar operations: Operations operations :vartype operations: azure.mgmt.alertsmanagement.operations.Operations - :ivar alerts: Alerts operations + :ivar alerts: AlertsOperations operations :vartype alerts: azure.mgmt.alertsmanagement.operations.AlertsOperations - :ivar smart_groups: SmartGroups operations + :ivar smart_groups: SmartGroupsOperations operations :vartype smart_groups: azure.mgmt.alertsmanagement.operations.SmartGroupsOperations - :ivar action_rules: ActionRules operations - :vartype action_rules: azure.mgmt.alertsmanagement.operations.ActionRulesOperations - :ivar smart_detector_alert_rules: SmartDetectorAlertRules operations - :vartype smart_detector_alert_rules: azure.mgmt.alertsmanagement.operations.SmartDetectorAlertRulesOperations - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` + :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): - - self.config = AlertsManagementClientConfiguration(credentials, subscription_id, base_url) - super(AlertsManagementClient, self).__init__(self.config.credentials, self.config) + 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 = AlertsManagementClientConfiguration(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.alert_processing_rules = AlertProcessingRulesOperations( + self._client, self._config, self._serialize, self._deserialize) self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.alerts = AlertsOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) self.smart_groups = SmartGroupsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.action_rules = ActionRulesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.smart_detector_alert_rules = SmartDetectorAlertRulesOperations( - self._client, self.config, self._serialize, self._deserialize) + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> AlertsManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_configuration.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_configuration.py index c42d0ce4b9c..23526df8aa3 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_configuration.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_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 + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class AlertsManagementClientConfiguration(Configuration): + """Configuration for AlertsManagementClient. -class AlertsManagementClientConfiguration(AzureConfiguration): - """Configuration for AlertsManagementClient 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 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(AlertsManagementClientConfiguration, self).__init__(base_url) - - # Starting Autorest.Python 4.0.64, make connection pool activated by default - self.keep_alive = True + super(AlertsManagementClientConfiguration, self).__init__(**kwargs) - self.add_user_agent('azure-mgmt-alertsmanagement/{}'.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', 'mgmt-alertsmanagement/{}'.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/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_version.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_version.py new file mode 100644 index 00000000000..e5754a47ce6 --- /dev/null +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/_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/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/__init__.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/__init__.py index 84870cf01aa..1cf42d6900c 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/__init__.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/__init__.py @@ -1,188 +1,181 @@ # coding=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 ActionGroup - from ._models_py3 import ActionGroupsInformation - from ._models_py3 import ActionRule - from ._models_py3 import ActionRuleProperties + from ._models_py3 import Action + from ._models_py3 import AddActionGroups from ._models_py3 import Alert from ._models_py3 import AlertModification from ._models_py3 import AlertModificationItem from ._models_py3 import AlertModificationProperties + from ._models_py3 import AlertProcessingRule + from ._models_py3 import AlertProcessingRuleProperties + from ._models_py3 import AlertProcessingRulesList from ._models_py3 import AlertProperties - from ._models_py3 import AlertRule - from ._models_py3 import AlertRulePatchObject + from ._models_py3 import AlertsList from ._models_py3 import AlertsMetaData from ._models_py3 import AlertsMetaDataProperties from ._models_py3 import AlertsSummary from ._models_py3 import AlertsSummaryGroup from ._models_py3 import AlertsSummaryGroupItem - from ._models_py3 import AzureResource from ._models_py3 import Condition - from ._models_py3 import Conditions - from ._models_py3 import Detector - from ._models_py3 import Diagnostics - from ._models_py3 import ErrorResponse, ErrorResponseException - from ._models_py3 import ErrorResponse1, ErrorResponse1Exception + from ._models_py3 import DailyRecurrence + from ._models_py3 import ErrorResponse from ._models_py3 import ErrorResponseBody from ._models_py3 import Essentials from ._models_py3 import ManagedResource from ._models_py3 import MonitorServiceDetails from ._models_py3 import MonitorServiceList + from ._models_py3 import MonthlyRecurrence from ._models_py3 import Operation from ._models_py3 import OperationDisplay + from ._models_py3 import OperationsList from ._models_py3 import PatchObject + from ._models_py3 import Recurrence + from ._models_py3 import RemoveAllActionGroups from ._models_py3 import Resource - from ._models_py3 import Scope + from ._models_py3 import Schedule from ._models_py3 import SmartGroup from ._models_py3 import SmartGroupAggregatedProperty from ._models_py3 import SmartGroupModification from ._models_py3 import SmartGroupModificationItem from ._models_py3 import SmartGroupModificationProperties - from ._models_py3 import Suppression - from ._models_py3 import SuppressionConfig - from ._models_py3 import SuppressionSchedule - from ._models_py3 import ThrottlingInformation + from ._models_py3 import SmartGroupsList + from ._models_py3 import SystemData + from ._models_py3 import WeeklyRecurrence except (SyntaxError, ImportError): - from ._models import ActionGroup - from ._models import ActionGroupsInformation - from ._models import ActionRule - from ._models import ActionRuleProperties - from ._models import Alert - from ._models import AlertModification - from ._models import AlertModificationItem - from ._models import AlertModificationProperties - from ._models import AlertProperties - from ._models import AlertRule - from ._models import AlertRulePatchObject - from ._models import AlertsMetaData - from ._models import AlertsMetaDataProperties - from ._models import AlertsSummary - from ._models import AlertsSummaryGroup - from ._models import AlertsSummaryGroupItem - from ._models import AzureResource - from ._models import Condition - from ._models import Conditions - from ._models import Detector - from ._models import Diagnostics - from ._models import ErrorResponse, ErrorResponseException - from ._models import ErrorResponse1, ErrorResponse1Exception - from ._models import ErrorResponseBody - from ._models import Essentials - from ._models import ManagedResource - from ._models import MonitorServiceDetails - from ._models import MonitorServiceList - from ._models import Operation - from ._models import OperationDisplay - from ._models import PatchObject - from ._models import Resource - from ._models import Scope - from ._models import SmartGroup - from ._models import SmartGroupAggregatedProperty - from ._models import SmartGroupModification - from ._models import SmartGroupModificationItem - from ._models import SmartGroupModificationProperties - from ._models import Suppression - from ._models import SuppressionConfig - from ._models import SuppressionSchedule - from ._models import ThrottlingInformation -from ._paged_models import ActionRulePaged -from ._paged_models import AlertPaged -from ._paged_models import AlertRulePaged -from ._paged_models import OperationPaged -from ._paged_models import SmartGroupPaged + from ._models import Action # type: ignore + from ._models import AddActionGroups # type: ignore + from ._models import Alert # type: ignore + from ._models import AlertModification # type: ignore + from ._models import AlertModificationItem # type: ignore + from ._models import AlertModificationProperties # type: ignore + from ._models import AlertProcessingRule # type: ignore + from ._models import AlertProcessingRuleProperties # type: ignore + from ._models import AlertProcessingRulesList # type: ignore + from ._models import AlertProperties # type: ignore + from ._models import AlertsList # type: ignore + from ._models import AlertsMetaData # type: ignore + from ._models import AlertsMetaDataProperties # type: ignore + from ._models import AlertsSummary # type: ignore + from ._models import AlertsSummaryGroup # type: ignore + from ._models import AlertsSummaryGroupItem # type: ignore + from ._models import Condition # type: ignore + from ._models import DailyRecurrence # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import ErrorResponseBody # type: ignore + from ._models import Essentials # type: ignore + from ._models import ManagedResource # type: ignore + from ._models import MonitorServiceDetails # type: ignore + from ._models import MonitorServiceList # type: ignore + from ._models import MonthlyRecurrence # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationsList # type: ignore + from ._models import PatchObject # type: ignore + from ._models import Recurrence # type: ignore + from ._models import RemoveAllActionGroups # type: ignore + from ._models import Resource # type: ignore + from ._models import Schedule # type: ignore + from ._models import SmartGroup # type: ignore + from ._models import SmartGroupAggregatedProperty # type: ignore + from ._models import SmartGroupModification # type: ignore + from ._models import SmartGroupModificationItem # type: ignore + from ._models import SmartGroupModificationProperties # type: ignore + from ._models import SmartGroupsList # type: ignore + from ._models import SystemData # type: ignore + from ._models import WeeklyRecurrence # type: ignore + from ._alerts_management_client_enums import ( - Severity, - SignalType, + ActionType, + AlertModificationEvent, AlertState, + AlertsSortByFields, + AlertsSummaryGroupByFields, + CreatedByType, + DaysOfWeek, + Field, + Identifier, + MetadataIdentifier, MonitorCondition, MonitorService, - AlertModificationEvent, + Operator, + RecurrenceType, + Severity, + SignalType, SmartGroupModificationEvent, + SmartGroupsSortByFields, + SortOrder, State, - ScopeType, - Operator, - SuppressionType, - ActionRuleStatus, - AlertRuleState, TimeRange, - AlertsSortByFields, - AlertsSummaryGroupByFields, - SmartGroupsSortByFields, ) __all__ = [ - 'ActionGroup', - 'ActionGroupsInformation', - 'ActionRule', - 'ActionRuleProperties', + 'Action', + 'AddActionGroups', 'Alert', 'AlertModification', 'AlertModificationItem', 'AlertModificationProperties', + 'AlertProcessingRule', + 'AlertProcessingRuleProperties', + 'AlertProcessingRulesList', 'AlertProperties', - 'AlertRule', - 'AlertRulePatchObject', + 'AlertsList', 'AlertsMetaData', 'AlertsMetaDataProperties', 'AlertsSummary', 'AlertsSummaryGroup', 'AlertsSummaryGroupItem', - 'AzureResource', 'Condition', - 'Conditions', - 'Detector', - 'Diagnostics', - 'ErrorResponse', 'ErrorResponseException', - 'ErrorResponse1', 'ErrorResponse1Exception', + 'DailyRecurrence', + 'ErrorResponse', 'ErrorResponseBody', 'Essentials', 'ManagedResource', 'MonitorServiceDetails', 'MonitorServiceList', + 'MonthlyRecurrence', 'Operation', 'OperationDisplay', + 'OperationsList', 'PatchObject', + 'Recurrence', + 'RemoveAllActionGroups', 'Resource', - 'Scope', + 'Schedule', 'SmartGroup', 'SmartGroupAggregatedProperty', 'SmartGroupModification', 'SmartGroupModificationItem', 'SmartGroupModificationProperties', - 'Suppression', - 'SuppressionConfig', - 'SuppressionSchedule', - 'ThrottlingInformation', - 'OperationPaged', - 'AlertPaged', - 'SmartGroupPaged', - 'ActionRulePaged', - 'AlertRulePaged', - 'Severity', - 'SignalType', + 'SmartGroupsList', + 'SystemData', + 'WeeklyRecurrence', + 'ActionType', + 'AlertModificationEvent', 'AlertState', + 'AlertsSortByFields', + 'AlertsSummaryGroupByFields', + 'CreatedByType', + 'DaysOfWeek', + 'Field', + 'Identifier', + 'MetadataIdentifier', 'MonitorCondition', 'MonitorService', - 'AlertModificationEvent', + 'Operator', + 'RecurrenceType', + 'Severity', + 'SignalType', 'SmartGroupModificationEvent', + 'SmartGroupsSortByFields', + 'SortOrder', 'State', - 'ScopeType', - 'Operator', - 'SuppressionType', - 'ActionRuleStatus', - 'AlertRuleState', 'TimeRange', - 'AlertsSortByFields', - 'AlertsSummaryGroupByFields', - 'SmartGroupsSortByFields', ] diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_alerts_management_client_enums.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_alerts_management_client_enums.py index 2d9334e583c..3a21904f35b 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_alerts_management_client_enums.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_alerts_management_client_enums.py @@ -1,157 +1,215 @@ # coding=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 enum import Enum +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 ActionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Action that should be applied. + """ + + ADD_ACTION_GROUPS = "AddActionGroups" + REMOVE_ALL_ACTION_GROUPS = "RemoveAllActionGroups" + +class AlertModificationEvent(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Reason for the modification + """ + + ALERT_CREATED = "AlertCreated" + STATE_CHANGE = "StateChange" + MONITOR_CONDITION_CHANGE = "MonitorConditionChange" + SEVERITY_CHANGE = "SeverityChange" + ACTION_RULE_TRIGGERED = "ActionRuleTriggered" + ACTION_RULE_SUPPRESSED = "ActionRuleSuppressed" + ACTIONS_TRIGGERED = "ActionsTriggered" + ACTIONS_SUPPRESSED = "ActionsSuppressed" + ACTIONS_FAILED = "ActionsFailed" + +class AlertsSortByFields(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NAME = "name" + SEVERITY = "severity" + ALERT_STATE = "alertState" + MONITOR_CONDITION = "monitorCondition" + TARGET_RESOURCE = "targetResource" + TARGET_RESOURCE_NAME = "targetResourceName" + TARGET_RESOURCE_GROUP = "targetResourceGroup" + TARGET_RESOURCE_TYPE = "targetResourceType" + START_DATE_TIME = "startDateTime" + LAST_MODIFIED_DATE_TIME = "lastModifiedDateTime" + +class AlertsSummaryGroupByFields(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + SEVERITY = "severity" + ALERT_STATE = "alertState" + MONITOR_CONDITION = "monitorCondition" + MONITOR_SERVICE = "monitorService" + SIGNAL_TYPE = "signalType" + ALERT_RULE = "alertRule" + +class AlertState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NEW = "New" + ACKNOWLEDGED = "Acknowledged" + CLOSED = "Closed" + +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 DaysOfWeek(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Days of week. + """ + + SUNDAY = "Sunday" + MONDAY = "Monday" + TUESDAY = "Tuesday" + WEDNESDAY = "Wednesday" + THURSDAY = "Thursday" + FRIDAY = "Friday" + SATURDAY = "Saturday" + +class Field(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Field for a given condition. + """ + + SEVERITY = "Severity" + MONITOR_SERVICE = "MonitorService" + MONITOR_CONDITION = "MonitorCondition" + SIGNAL_TYPE = "SignalType" + TARGET_RESOURCE_TYPE = "TargetResourceType" + TARGET_RESOURCE = "TargetResource" + TARGET_RESOURCE_GROUP = "TargetResourceGroup" + ALERT_RULE_ID = "AlertRuleId" + ALERT_RULE_NAME = "AlertRuleName" + DESCRIPTION = "Description" + ALERT_CONTEXT = "AlertContext" + +class Identifier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + MONITOR_SERVICE_LIST = "MonitorServiceList" + +class MetadataIdentifier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Identification of the information to be retrieved by API call + """ + + MONITOR_SERVICE_LIST = "MonitorServiceList" + +class MonitorCondition(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + FIRED = "Fired" + RESOLVED = "Resolved" + +class MonitorService(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + APPLICATION_INSIGHTS = "Application Insights" + ACTIVITY_LOG_ADMINISTRATIVE = "ActivityLog Administrative" + ACTIVITY_LOG_SECURITY = "ActivityLog Security" + ACTIVITY_LOG_RECOMMENDATION = "ActivityLog Recommendation" + ACTIVITY_LOG_POLICY = "ActivityLog Policy" + ACTIVITY_LOG_AUTOSCALE = "ActivityLog Autoscale" + LOG_ANALYTICS = "Log Analytics" + NAGIOS = "Nagios" + PLATFORM = "Platform" + SCOM = "SCOM" + SERVICE_HEALTH = "ServiceHealth" + SMART_DETECTOR = "SmartDetector" + VM_INSIGHTS = "VM Insights" + ZABBIX = "Zabbix" + +class Operator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Operator for a given condition. + """ + + EQUALS = "Equals" + NOT_EQUALS = "NotEquals" + CONTAINS = "Contains" + DOES_NOT_CONTAIN = "DoesNotContain" + +class RecurrenceType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Specifies when the recurrence should be applied. + """ + + DAILY = "Daily" + WEEKLY = "Weekly" + MONTHLY = "Monthly" + +class Severity(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + SEV0 = "Sev0" + SEV1 = "Sev1" + SEV2 = "Sev2" + SEV3 = "Sev3" + SEV4 = "Sev4" + +class SignalType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of signal the alert is based on, which could be metrics, logs or activity logs. + """ + + METRIC = "Metric" + LOG = "Log" + UNKNOWN = "Unknown" + +class SmartGroupModificationEvent(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Reason for the modification + """ + + SMART_GROUP_CREATED = "SmartGroupCreated" + STATE_CHANGE = "StateChange" + ALERT_ADDED = "AlertAdded" + ALERT_REMOVED = "AlertRemoved" + +class SmartGroupsSortByFields(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + ALERTS_COUNT = "alertsCount" + STATE = "state" + SEVERITY = "severity" + START_DATE_TIME = "startDateTime" + LAST_MODIFIED_DATE_TIME = "lastModifiedDateTime" + +class SortOrder(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + ASC = "asc" + DESC = "desc" + +class State(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Smart group state + """ + + NEW = "New" + ACKNOWLEDGED = "Acknowledged" + CLOSED = "Closed" +class TimeRange(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): -class Severity(str, Enum): - - sev0 = "Sev0" - sev1 = "Sev1" - sev2 = "Sev2" - sev3 = "Sev3" - sev4 = "Sev4" - - -class SignalType(str, Enum): - - metric = "Metric" - log = "Log" - unknown = "Unknown" - - -class AlertState(str, Enum): - - new = "New" - acknowledged = "Acknowledged" - closed = "Closed" - - -class MonitorCondition(str, Enum): - - fired = "Fired" - resolved = "Resolved" - - -class MonitorService(str, Enum): - - application_insights = "Application Insights" - activity_log_administrative = "ActivityLog Administrative" - activity_log_security = "ActivityLog Security" - activity_log_recommendation = "ActivityLog Recommendation" - activity_log_policy = "ActivityLog Policy" - activity_log_autoscale = "ActivityLog Autoscale" - log_analytics = "Log Analytics" - nagios = "Nagios" - platform = "Platform" - scom = "SCOM" - service_health = "ServiceHealth" - smart_detector = "SmartDetector" - vm_insights = "VM Insights" - zabbix = "Zabbix" - - -class AlertModificationEvent(str, Enum): - - alert_created = "AlertCreated" - state_change = "StateChange" - monitor_condition_change = "MonitorConditionChange" - - -class SmartGroupModificationEvent(str, Enum): - - smart_group_created = "SmartGroupCreated" - state_change = "StateChange" - alert_added = "AlertAdded" - alert_removed = "AlertRemoved" - - -class State(str, Enum): - - new = "New" - acknowledged = "Acknowledged" - closed = "Closed" - - -class ScopeType(str, Enum): - - resource_group = "ResourceGroup" - resource = "Resource" - - -class Operator(str, Enum): - - equals = "Equals" - not_equals = "NotEquals" - contains = "Contains" - does_not_contain = "DoesNotContain" - - -class SuppressionType(str, Enum): - - always = "Always" - once = "Once" - daily = "Daily" - weekly = "Weekly" - monthly = "Monthly" - - -class ActionRuleStatus(str, Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class AlertRuleState(str, Enum): - - enabled = "Enabled" - disabled = "Disabled" - - -class TimeRange(str, Enum): - - oneh = "1h" - oned = "1d" - sevend = "7d" - three_zerod = "30d" - - -class AlertsSortByFields(str, Enum): - - name = "name" - severity = "severity" - alert_state = "alertState" - monitor_condition = "monitorCondition" - target_resource = "targetResource" - target_resource_name = "targetResourceName" - target_resource_group = "targetResourceGroup" - target_resource_type = "targetResourceType" - start_date_time = "startDateTime" - last_modified_date_time = "lastModifiedDateTime" - - -class AlertsSummaryGroupByFields(str, Enum): - - severity = "severity" - alert_state = "alertState" - monitor_condition = "monitorCondition" - monitor_service = "monitorService" - signal_type = "signalType" - alert_rule = "alertRule" - - -class SmartGroupsSortByFields(str, Enum): - - alerts_count = "alertsCount" - state = "state" - severity = "severity" - start_date_time = "startDateTime" - last_modified_date_time = "lastModifiedDateTime" + ONE_H = "1h" + ONE_D = "1d" + SEVEN_D = "7d" + THIRTY_D = "30d" diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_models.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_models.py index a602fe2c934..3c69118f899 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_models.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_models.py @@ -1,197 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ActionRuleProperties(Model): - """Action rule properties defining scope, conditions, suppression logic for - action rule. +class Action(msrest.serialization.Model): + """Action to be applied. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: Suppression, ActionGroup, Diagnostics - - Variables are only populated by the server, and will be ignored when - sending a request. + sub-classes are: AddActionGroups, RemoveAllActionGroups. All required parameters must be populated in order to send to Azure. - :param scope: scope on which action rule will apply - :type scope: ~azure.mgmt.alertsmanagement.models.Scope - :param conditions: conditions on which alerts will be filtered - :type conditions: ~azure.mgmt.alertsmanagement.models.Conditions - :param description: Description of action rule - :type description: str - :ivar created_at: Creation time of action rule. Date-Time in ISO-8601 - format. - :vartype created_at: datetime - :ivar last_modified_at: Last updated time of action rule. Date-Time in - ISO-8601 format. - :vartype last_modified_at: datetime - :ivar created_by: Created by user name. - :vartype created_by: str - :ivar last_modified_by: Last modified by user name. - :vartype last_modified_by: str - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param type: Required. Constant filled by server. - :type type: str + :param action_type: Required. Action that should be applied.Constant filled by server. + Possible values include: "AddActionGroups", "RemoveAllActionGroups". + :type action_type: str or ~azure.mgmt.alertsmanagement.models.ActionType """ _validation = { - 'created_at': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - 'created_by': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'type': {'required': True}, + 'action_type': {'required': True}, } _attribute_map = { - 'scope': {'key': 'scope', 'type': 'Scope'}, - 'conditions': {'key': 'conditions', 'type': 'Conditions'}, - 'description': {'key': 'description', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, } _subtype_map = { - 'type': {'Suppression': 'Suppression', 'ActionGroup': 'ActionGroup', 'Diagnostics': 'Diagnostics'} + 'action_type': {'AddActionGroups': 'AddActionGroups', 'RemoveAllActionGroups': 'RemoveAllActionGroups'} } - def __init__(self, **kwargs): - super(ActionRuleProperties, self).__init__(**kwargs) - self.scope = kwargs.get('scope', None) - self.conditions = kwargs.get('conditions', None) - self.description = kwargs.get('description', None) - self.created_at = None - self.last_modified_at = None - self.created_by = None - self.last_modified_by = None - self.status = kwargs.get('status', None) - self.type = None - + def __init__( + self, + **kwargs + ): + super(Action, self).__init__(**kwargs) + self.action_type = None # type: Optional[str] -class ActionGroup(ActionRuleProperties): - """Action Group based Action Rule. - Action rule with action group configuration. - - Variables are only populated by the server, and will be ignored when - sending a request. +class AddActionGroups(Action): + """Add action groups to alert processing rule. All required parameters must be populated in order to send to Azure. - :param scope: scope on which action rule will apply - :type scope: ~azure.mgmt.alertsmanagement.models.Scope - :param conditions: conditions on which alerts will be filtered - :type conditions: ~azure.mgmt.alertsmanagement.models.Conditions - :param description: Description of action rule - :type description: str - :ivar created_at: Creation time of action rule. Date-Time in ISO-8601 - format. - :vartype created_at: datetime - :ivar last_modified_at: Last updated time of action rule. Date-Time in - ISO-8601 format. - :vartype last_modified_at: datetime - :ivar created_by: Created by user name. - :vartype created_by: str - :ivar last_modified_by: Last modified by user name. - :vartype last_modified_by: str - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param type: Required. Constant filled by server. - :type type: str - :param action_group_id: Required. Action group to trigger if action rule - matches - :type action_group_id: str + :param action_type: Required. Action that should be applied.Constant filled by server. + Possible values include: "AddActionGroups", "RemoveAllActionGroups". + :type action_type: str or ~azure.mgmt.alertsmanagement.models.ActionType + :param action_group_ids: Required. List of action group Ids to add to alert processing rule. + :type action_group_ids: list[str] """ _validation = { - 'created_at': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - 'created_by': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'type': {'required': True}, - 'action_group_id': {'required': True}, + 'action_type': {'required': True}, + 'action_group_ids': {'required': True}, } _attribute_map = { - 'scope': {'key': 'scope', 'type': 'Scope'}, - 'conditions': {'key': 'conditions', 'type': 'Conditions'}, - 'description': {'key': 'description', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'action_group_id': {'key': 'actionGroupId', 'type': 'str'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, + 'action_group_ids': {'key': 'actionGroupIds', 'type': '[str]'}, } - def __init__(self, **kwargs): - super(ActionGroup, self).__init__(**kwargs) - self.action_group_id = kwargs.get('action_group_id', None) - self.type = 'ActionGroup' - + def __init__( + self, + **kwargs + ): + super(AddActionGroups, self).__init__(**kwargs) + self.action_type = 'AddActionGroups' # type: str + self.action_group_ids = kwargs['action_group_ids'] -class ActionGroupsInformation(Model): - """The Action Groups information, used by the alert rule. - - All required parameters must be populated in order to send to Azure. - :param custom_email_subject: An optional custom email subject to use in - email notifications. - :type custom_email_subject: str - :param custom_webhook_payload: An optional custom web-hook payload to use - in web-hook notifications. - :type custom_webhook_payload: str - :param group_ids: Required. The Action Group resource IDs. - :type group_ids: list[str] - """ - - _validation = { - 'group_ids': {'required': True}, - } - - _attribute_map = { - 'custom_email_subject': {'key': 'customEmailSubject', 'type': 'str'}, - 'custom_webhook_payload': {'key': 'customWebhookPayload', 'type': 'str'}, - 'group_ids': {'key': 'groupIds', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ActionGroupsInformation, self).__init__(**kwargs) - self.custom_email_subject = kwargs.get('custom_email_subject', None) - self.custom_webhook_payload = kwargs.get('custom_webhook_payload', None) - self.group_ids = kwargs.get('group_ids', None) - - -class Resource(Model): +class Resource(msrest.serialization.Model): """An azure resource 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 id: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str """ @@ -207,111 +99,28 @@ class Resource(Model): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.id = None self.type = None self.name = None -class ManagedResource(Resource): - """An azure managed resource object. - - 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: Azure resource Id - :vartype id: str - :ivar type: Azure resource type - :vartype type: str - :ivar name: Azure resource name - :vartype name: str - :param location: Required. Resource location - :type location: str - :param tags: Resource tags - :type tags: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(ManagedResource, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - - -class ActionRule(ManagedResource): - """Action rule object containing target scope, conditions and suppression - logic. - - 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: Azure resource Id - :vartype id: str - :ivar type: Azure resource type - :vartype type: str - :ivar name: Azure resource name - :vartype name: str - :param location: Required. Resource location - :type location: str - :param tags: Resource tags - :type tags: dict[str, str] - :param properties: action rule properties - :type properties: ~azure.mgmt.alertsmanagement.models.ActionRuleProperties - """ - - _validation = { - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'properties': {'key': 'properties', 'type': 'ActionRuleProperties'}, - } - - def __init__(self, **kwargs): - super(ActionRule, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - class Alert(Resource): """An alert created in alert management service. - 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: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param properties: + :param properties: Alert property bag. :type properties: ~azure.mgmt.alertsmanagement.models.AlertProperties """ @@ -328,7 +137,10 @@ class Alert(Resource): 'properties': {'key': 'properties', 'type': 'AlertProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Alert, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) @@ -336,18 +148,16 @@ def __init__(self, **kwargs): class AlertModification(Resource): """Alert Modification 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 id: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param properties: - :type properties: - ~azure.mgmt.alertsmanagement.models.AlertModificationProperties + :param properties: Properties of the alert modification item. + :type properties: ~azure.mgmt.alertsmanagement.models.AlertModificationProperties """ _validation = { @@ -363,34 +173,38 @@ class AlertModification(Resource): 'properties': {'key': 'properties', 'type': 'AlertModificationProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AlertModification, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) -class AlertModificationItem(Model): +class AlertModificationItem(msrest.serialization.Model): """Alert modification item. - :param modification_event: Reason for the modification. Possible values - include: 'AlertCreated', 'StateChange', 'MonitorConditionChange' - :type modification_event: str or - ~azure.mgmt.alertsmanagement.models.AlertModificationEvent - :param old_value: Old value + :param modification_event: Reason for the modification. Possible values include: + "AlertCreated", "StateChange", "MonitorConditionChange", "SeverityChange", + "ActionRuleTriggered", "ActionRuleSuppressed", "ActionsTriggered", "ActionsSuppressed", + "ActionsFailed". + :type modification_event: str or ~azure.mgmt.alertsmanagement.models.AlertModificationEvent + :param old_value: Old value. :type old_value: str - :param new_value: New value + :param new_value: New value. :type new_value: str - :param modified_at: Modified date and time + :param modified_at: Modified date and time. :type modified_at: str - :param modified_by: Modified user details (Principal client name) + :param modified_by: Modified user details (Principal client name). :type modified_by: str - :param comments: Modification comments + :param comments: Modification comments. :type comments: str - :param description: Description of the modification + :param description: Description of the modification. :type description: str """ _attribute_map = { - 'modification_event': {'key': 'modificationEvent', 'type': 'AlertModificationEvent'}, + 'modification_event': {'key': 'modificationEvent', 'type': 'str'}, 'old_value': {'key': 'oldValue', 'type': 'str'}, 'new_value': {'key': 'newValue', 'type': 'str'}, 'modified_at': {'key': 'modifiedAt', 'type': 'str'}, @@ -399,7 +213,10 @@ class AlertModificationItem(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AlertModificationItem, self).__init__(**kwargs) self.modification_event = kwargs.get('modification_event', None) self.old_value = kwargs.get('old_value', None) @@ -410,18 +227,15 @@ def __init__(self, **kwargs): self.description = kwargs.get('description', None) -class AlertModificationProperties(Model): +class AlertModificationProperties(msrest.serialization.Model): """Properties of the alert modification item. - 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 alert_id: Unique Id of the alert for which the history is being - retrieved + :ivar alert_id: Unique Id of the alert for which the history is being retrieved. :vartype alert_id: str - :param modifications: Modification details - :type modifications: - list[~azure.mgmt.alertsmanagement.models.AlertModificationItem] + :param modifications: Modification details. + :type modifications: list[~azure.mgmt.alertsmanagement.models.AlertModificationItem] """ _validation = { @@ -433,58 +247,39 @@ class AlertModificationProperties(Model): 'modifications': {'key': 'modifications', 'type': '[AlertModificationItem]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AlertModificationProperties, self).__init__(**kwargs) self.alert_id = None self.modifications = kwargs.get('modifications', None) -class AlertProperties(Model): - """Alert property bag. - - :param essentials: - :type essentials: ~azure.mgmt.alertsmanagement.models.Essentials - :param context: - :type context: object - :param egress_config: - :type egress_config: object - """ - - _attribute_map = { - 'essentials': {'key': 'essentials', 'type': 'Essentials'}, - 'context': {'key': 'context', 'type': 'object'}, - 'egress_config': {'key': 'egressConfig', 'type': 'object'}, - } - - def __init__(self, **kwargs): - super(AlertProperties, self).__init__(**kwargs) - self.essentials = kwargs.get('essentials', None) - self.context = kwargs.get('context', None) - self.egress_config = kwargs.get('egress_config', None) - +class ManagedResource(Resource): + """An azure managed resource object. -class AzureResource(Model): - """An Azure resource 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. + All required parameters must be populated in order to send to Azure. - :ivar id: The resource ID. + :ivar id: Azure resource Id. :vartype id: str - :ivar type: The resource type. + :ivar type: Azure resource type. :vartype type: str - :ivar name: The resource name. + :ivar name: Azure resource name. :vartype name: str - :param location: The resource location. Default value: "global" . + :param location: Required. Resource location. :type location: str - :param tags: The resource tags. - :type tags: object + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] """ _validation = { 'id': {'readonly': True}, 'type': {'readonly': True}, 'name': {'readonly': True}, + 'location': {'required': True}, } _attribute_map = { @@ -492,69 +287,47 @@ class AzureResource(Model): 'type': {'key': 'type', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': 'object'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): - super(AzureResource, self).__init__(**kwargs) - self.id = None - self.type = None - self.name = None - self.location = kwargs.get('location', "global") + def __init__( + self, + **kwargs + ): + super(ManagedResource, self).__init__(**kwargs) + self.location = kwargs['location'] self.tags = kwargs.get('tags', None) -class AlertRule(AzureResource): - """The alert rule information. +class AlertProcessingRule(ManagedResource): + """Alert processing rule object containing target scopes, conditions and scheduling logic. - 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: The resource ID. + :ivar id: Azure resource Id. :vartype id: str - :ivar type: The resource type. + :ivar type: Azure resource type. :vartype type: str - :ivar name: The resource name. + :ivar name: Azure resource name. :vartype name: str - :param location: The resource location. Default value: "global" . + :param location: Required. Resource location. :type location: str - :param tags: The resource tags. - :type tags: object - :param description: The alert rule description. - :type description: str - :param state: Required. The alert rule state. Possible values include: - 'Enabled', 'Disabled' - :type state: str or ~azure.mgmt.alertsmanagement.models.AlertRuleState - :param severity: Required. The alert rule severity. Possible values - include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' - :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param frequency: Required. The alert rule frequency in ISO8601 format. - The time granularity must be in minutes and minimum value is 5 minutes. - :type frequency: timedelta - :param detector: Required. The alert rule's detector. - :type detector: ~azure.mgmt.alertsmanagement.models.Detector - :param scope: Required. The alert rule resources scope. - :type scope: list[str] - :param action_groups: Required. The alert rule actions. - :type action_groups: - ~azure.mgmt.alertsmanagement.models.ActionGroupsInformation - :param throttling: The alert rule throttling information. - :type throttling: - ~azure.mgmt.alertsmanagement.models.ThrottlingInformation + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param properties: Alert processing rule properties. + :type properties: ~azure.mgmt.alertsmanagement.models.AlertProcessingRuleProperties + :ivar system_data: Alert processing rule system data. + :vartype system_data: ~azure.mgmt.alertsmanagement.models.SystemData """ _validation = { 'id': {'readonly': True}, 'type': {'readonly': True}, 'name': {'readonly': True}, - 'state': {'required': True}, - 'severity': {'required': True}, - 'frequency': {'required': True}, - 'detector': {'required': True}, - 'scope': {'required': True}, - 'action_groups': {'required': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, } _attribute_map = { @@ -562,122 +335,176 @@ class AlertRule(AzureResource): 'type': {'key': 'type', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': 'object'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'severity': {'key': 'properties.severity', 'type': 'str'}, - 'frequency': {'key': 'properties.frequency', 'type': 'duration'}, - 'detector': {'key': 'properties.detector', 'type': 'Detector'}, - 'scope': {'key': 'properties.scope', 'type': '[str]'}, - 'action_groups': {'key': 'properties.actionGroups', 'type': 'ActionGroupsInformation'}, - 'throttling': {'key': 'properties.throttling', 'type': 'ThrottlingInformation'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'AlertProcessingRuleProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } - def __init__(self, **kwargs): - super(AlertRule, self).__init__(**kwargs) - self.description = kwargs.get('description', None) - self.state = kwargs.get('state', None) - self.severity = kwargs.get('severity', None) - self.frequency = kwargs.get('frequency', None) - self.detector = kwargs.get('detector', None) - self.scope = kwargs.get('scope', None) - self.action_groups = kwargs.get('action_groups', None) - self.throttling = kwargs.get('throttling', None) + def __init__( + self, + **kwargs + ): + super(AlertProcessingRule, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.system_data = None -class AlertRulePatchObject(Model): - """The alert rule patch information. +class AlertProcessingRuleProperties(msrest.serialization.Model): + """Alert processing rule properties defining scopes, conditions and scheduling logic for alert processing rule. - Variables are only populated by the server, and will be ignored when - sending a request. + All required parameters must be populated in order to send to Azure. - :ivar id: The resource ID. - :vartype id: str - :ivar type: The resource type. - :vartype type: str - :ivar name: The resource name. - :vartype name: str - :param tags: The resource tags. - :type tags: object - :param description: The alert rule description. + :param scopes: Required. Scopes on which alert processing rule will apply. + :type scopes: list[str] + :param conditions: Conditions on which alerts will be filtered. + :type conditions: list[~azure.mgmt.alertsmanagement.models.Condition] + :param schedule: Scheduling for alert processing rule. + :type schedule: ~azure.mgmt.alertsmanagement.models.Schedule + :param actions: Required. Actions to be applied. + :type actions: list[~azure.mgmt.alertsmanagement.models.Action] + :param description: Description of alert processing rule. :type description: str - :param state: The alert rule state. Possible values include: 'Enabled', - 'Disabled' - :type state: str or ~azure.mgmt.alertsmanagement.models.AlertRuleState - :param severity: The alert rule severity. Possible values include: 'Sev0', - 'Sev1', 'Sev2', 'Sev3', 'Sev4' - :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param frequency: The alert rule frequency in ISO8601 format. The time - granularity must be in minutes and minimum value is 5 minutes. - :type frequency: timedelta - :param action_groups: The alert rule actions. - :type action_groups: - ~azure.mgmt.alertsmanagement.models.ActionGroupsInformation - :param throttling: The alert rule throttling information. - :type throttling: - ~azure.mgmt.alertsmanagement.models.ThrottlingInformation + :param enabled: Indicates if the given alert processing rule is enabled or disabled. + :type enabled: bool """ _validation = { - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'name': {'readonly': True}, + 'scopes': {'required': True}, + 'actions': {'required': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': 'object'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'severity': {'key': 'properties.severity', 'type': 'str'}, - 'frequency': {'key': 'properties.frequency', 'type': 'duration'}, - 'action_groups': {'key': 'properties.actionGroups', 'type': 'ActionGroupsInformation'}, - 'throttling': {'key': 'properties.throttling', 'type': 'ThrottlingInformation'}, + 'scopes': {'key': 'scopes', 'type': '[str]'}, + 'conditions': {'key': 'conditions', 'type': '[Condition]'}, + 'schedule': {'key': 'schedule', 'type': 'Schedule'}, + 'actions': {'key': 'actions', 'type': '[Action]'}, + 'description': {'key': 'description', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, } - def __init__(self, **kwargs): - super(AlertRulePatchObject, self).__init__(**kwargs) - self.id = None - self.type = None - self.name = None - self.tags = kwargs.get('tags', None) + def __init__( + self, + **kwargs + ): + super(AlertProcessingRuleProperties, self).__init__(**kwargs) + self.scopes = kwargs['scopes'] + self.conditions = kwargs.get('conditions', None) + self.schedule = kwargs.get('schedule', None) + self.actions = kwargs['actions'] self.description = kwargs.get('description', None) - self.state = kwargs.get('state', None) - self.severity = kwargs.get('severity', None) - self.frequency = kwargs.get('frequency', None) - self.action_groups = kwargs.get('action_groups', None) - self.throttling = kwargs.get('throttling', None) + self.enabled = kwargs.get('enabled', True) + + +class AlertProcessingRulesList(msrest.serialization.Model): + """List of alert processing rules. + + :param next_link: URL to fetch the next set of alert processing rules. + :type next_link: str + :param value: List of alert processing rules. + :type value: list[~azure.mgmt.alertsmanagement.models.AlertProcessingRule] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[AlertProcessingRule]'}, + } + + def __init__( + self, + **kwargs + ): + super(AlertProcessingRulesList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class AlertProperties(msrest.serialization.Model): + """Alert property bag. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param essentials: This object contains consistent fields across different monitor services. + :type essentials: ~azure.mgmt.alertsmanagement.models.Essentials + :ivar context: Any object. + :vartype context: object + :ivar egress_config: Any object. + :vartype egress_config: object + """ + + _validation = { + 'context': {'readonly': True}, + 'egress_config': {'readonly': True}, + } + + _attribute_map = { + 'essentials': {'key': 'essentials', 'type': 'Essentials'}, + 'context': {'key': 'context', 'type': 'object'}, + 'egress_config': {'key': 'egressConfig', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AlertProperties, self).__init__(**kwargs) + self.essentials = kwargs.get('essentials', None) + self.context = None + self.egress_config = None + + +class AlertsList(msrest.serialization.Model): + """List the alerts. + + :param next_link: URL to fetch the next set of alerts. + :type next_link: str + :param value: List of alerts. + :type value: list[~azure.mgmt.alertsmanagement.models.Alert] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Alert]'}, + } + + def __init__( + self, + **kwargs + ): + super(AlertsList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) -class AlertsMetaData(Model): +class AlertsMetaData(msrest.serialization.Model): """alert meta data information. - :param properties: - :type properties: - ~azure.mgmt.alertsmanagement.models.AlertsMetaDataProperties + :param properties: alert meta data property bag. + :type properties: ~azure.mgmt.alertsmanagement.models.AlertsMetaDataProperties """ _attribute_map = { 'properties': {'key': 'properties', 'type': 'AlertsMetaDataProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AlertsMetaData, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) -class AlertsMetaDataProperties(Model): +class AlertsMetaDataProperties(msrest.serialization.Model): """alert meta data property bag. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: MonitorServiceList + sub-classes are: MonitorServiceList. All required parameters must be populated in order to send to Azure. - :param metadata_identifier: Required. Constant filled by server. - :type metadata_identifier: str + :param metadata_identifier: Required. Identification of the information to be retrieved by API + call.Constant filled by server. Possible values include: "MonitorServiceList". + :type metadata_identifier: str or ~azure.mgmt.alertsmanagement.models.MetadataIdentifier """ _validation = { @@ -692,24 +519,26 @@ class AlertsMetaDataProperties(Model): 'metadata_identifier': {'MonitorServiceList': 'MonitorServiceList'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AlertsMetaDataProperties, self).__init__(**kwargs) - self.metadata_identifier = None + self.metadata_identifier = None # type: Optional[str] class AlertsSummary(Resource): """Summary of alerts based on the input filters and 'groupby' parameters. - 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: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param properties: + :param properties: Group the result set. :type properties: ~azure.mgmt.alertsmanagement.models.AlertsSummaryGroup """ @@ -726,33 +555,38 @@ class AlertsSummary(Resource): 'properties': {'key': 'properties', 'type': 'AlertsSummaryGroup'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AlertsSummary, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) -class AlertsSummaryGroup(Model): +class AlertsSummaryGroup(msrest.serialization.Model): """Group the result set. :param total: Total count of the result set. - :type total: int + :type total: long :param smart_groups_count: Total count of the smart groups. - :type smart_groups_count: int - :param groupedby: Name of the field aggregated + :type smart_groups_count: long + :param groupedby: Name of the field aggregated. :type groupedby: str - :param values: List of the items - :type values: - list[~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupItem] + :param values: List of the items. + :type values: list[~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupItem] """ _attribute_map = { - 'total': {'key': 'total', 'type': 'int'}, - 'smart_groups_count': {'key': 'smartGroupsCount', 'type': 'int'}, + 'total': {'key': 'total', 'type': 'long'}, + 'smart_groups_count': {'key': 'smartGroupsCount', 'type': 'long'}, 'groupedby': {'key': 'groupedby', 'type': 'str'}, 'values': {'key': 'values', 'type': '[AlertsSummaryGroupItem]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AlertsSummaryGroup, self).__init__(**kwargs) self.total = kwargs.get('total', None) self.smart_groups_count = kwargs.get('smart_groups_count', None) @@ -760,28 +594,30 @@ def __init__(self, **kwargs): self.values = kwargs.get('values', None) -class AlertsSummaryGroupItem(Model): +class AlertsSummaryGroupItem(msrest.serialization.Model): """Alerts summary group item. - :param name: Value of the aggregated field + :param name: Value of the aggregated field. :type name: str - :param count: Count of the aggregated field - :type count: int - :param groupedby: Name of the field aggregated + :param count: Count of the aggregated field. + :type count: long + :param groupedby: Name of the field aggregated. :type groupedby: str - :param values: List of the items - :type values: - list[~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupItem] + :param values: List of the items. + :type values: list[~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupItem] """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'long'}, 'groupedby': {'key': 'groupedby', 'type': 'str'}, 'values': {'key': 'values', 'type': '[AlertsSummaryGroupItem]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AlertsSummaryGroupItem, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.count = kwargs.get('count', None) @@ -789,186 +625,113 @@ def __init__(self, **kwargs): self.values = kwargs.get('values', None) -class CloudError(Model): - """CloudError. - """ - - _attribute_map = { - } +class Condition(msrest.serialization.Model): + """Condition to trigger an alert processing rule. - -class Condition(Model): - """condition to trigger an action rule. - - :param operator: operator for a given condition. Possible values include: - 'Equals', 'NotEquals', 'Contains', 'DoesNotContain' + :param field: Field for a given condition. Possible values include: "Severity", + "MonitorService", "MonitorCondition", "SignalType", "TargetResourceType", "TargetResource", + "TargetResourceGroup", "AlertRuleId", "AlertRuleName", "Description", "AlertContext". + :type field: str or ~azure.mgmt.alertsmanagement.models.Field + :param operator: Operator for a given condition. Possible values include: "Equals", + "NotEquals", "Contains", "DoesNotContain". :type operator: str or ~azure.mgmt.alertsmanagement.models.Operator - :param values: list of values to match for a given condition. + :param values: List of values to match for a given condition. :type values: list[str] """ _attribute_map = { + 'field': {'key': 'field', 'type': 'str'}, 'operator': {'key': 'operator', 'type': 'str'}, 'values': {'key': 'values', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Condition, self).__init__(**kwargs) + self.field = kwargs.get('field', None) self.operator = kwargs.get('operator', None) self.values = kwargs.get('values', None) -class Conditions(Model): - """Conditions in alert instance to be matched for a given action rule. Default - value is all. Multiple values could be provided with comma separation. - - :param severity: filter alerts by severity - :type severity: ~azure.mgmt.alertsmanagement.models.Condition - :param monitor_service: filter alerts by monitor service - :type monitor_service: ~azure.mgmt.alertsmanagement.models.Condition - :param monitor_condition: filter alerts by monitor condition - :type monitor_condition: ~azure.mgmt.alertsmanagement.models.Condition - :param target_resource_type: filter alerts by target resource type - :type target_resource_type: ~azure.mgmt.alertsmanagement.models.Condition - :param alert_rule_id: filter alerts by alert rule id - :type alert_rule_id: ~azure.mgmt.alertsmanagement.models.Condition - :param description: filter alerts by alert rule description - :type description: ~azure.mgmt.alertsmanagement.models.Condition - :param alert_context: filter alerts by alert context (payload) - :type alert_context: ~azure.mgmt.alertsmanagement.models.Condition - """ +class Recurrence(msrest.serialization.Model): + """Recurrence object. - _attribute_map = { - 'severity': {'key': 'severity', 'type': 'Condition'}, - 'monitor_service': {'key': 'monitorService', 'type': 'Condition'}, - 'monitor_condition': {'key': 'monitorCondition', 'type': 'Condition'}, - 'target_resource_type': {'key': 'targetResourceType', 'type': 'Condition'}, - 'alert_rule_id': {'key': 'alertRuleId', 'type': 'Condition'}, - 'description': {'key': 'description', 'type': 'Condition'}, - 'alert_context': {'key': 'alertContext', 'type': 'Condition'}, - } - - def __init__(self, **kwargs): - super(Conditions, self).__init__(**kwargs) - self.severity = kwargs.get('severity', None) - self.monitor_service = kwargs.get('monitor_service', None) - self.monitor_condition = kwargs.get('monitor_condition', None) - self.target_resource_type = kwargs.get('target_resource_type', None) - self.alert_rule_id = kwargs.get('alert_rule_id', None) - self.description = kwargs.get('description', None) - self.alert_context = kwargs.get('alert_context', None) - - -class Detector(Model): - """The detector information. By default this is not populated, unless it's - specified in expandDetector. + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DailyRecurrence, MonthlyRecurrence, WeeklyRecurrence. All required parameters must be populated in order to send to Azure. - :param id: Required. The detector id. - :type id: str - :param parameters: The detector's parameters.' - :type parameters: dict[str, object] - :param name: The Smart Detector name. By default this is not populated, - unless it's specified in expandDetector - :type name: str - :param description: The Smart Detector description. By default this is not - populated, unless it's specified in expandDetector - :type description: str - :param supported_resource_types: The Smart Detector supported resource - types. By default this is not populated, unless it's specified in - expandDetector - :type supported_resource_types: list[str] - :param image_paths: The Smart Detector image path. By default this is not - populated, unless it's specified in expandDetector - :type image_paths: list[str] + :param recurrence_type: Required. Specifies when the recurrence should be applied.Constant + filled by server. Possible values include: "Daily", "Weekly", "Monthly". + :type recurrence_type: str or ~azure.mgmt.alertsmanagement.models.RecurrenceType + :param start_time: Start time for recurrence. + :type start_time: str + :param end_time: End time for recurrence. + :type end_time: str """ _validation = { - 'id': {'required': True}, + 'recurrence_type': {'required': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'parameters': {'key': 'parameters', 'type': '{object}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'supported_resource_types': {'key': 'supportedResourceTypes', 'type': '[str]'}, - 'image_paths': {'key': 'imagePaths', 'type': '[str]'}, + 'recurrence_type': {'key': 'recurrenceType', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, } - def __init__(self, **kwargs): - super(Detector, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.parameters = kwargs.get('parameters', None) - self.name = kwargs.get('name', None) - self.description = kwargs.get('description', None) - self.supported_resource_types = kwargs.get('supported_resource_types', None) - self.image_paths = kwargs.get('image_paths', None) - + _subtype_map = { + 'recurrence_type': {'Daily': 'DailyRecurrence', 'Monthly': 'MonthlyRecurrence', 'Weekly': 'WeeklyRecurrence'} + } -class Diagnostics(ActionRuleProperties): - """Diagnostics based Action Rule. + def __init__( + self, + **kwargs + ): + super(Recurrence, self).__init__(**kwargs) + self.recurrence_type = None # type: Optional[str] + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) - Action rule with diagnostics configuration. - Variables are only populated by the server, and will be ignored when - sending a request. +class DailyRecurrence(Recurrence): + """Daily recurrence object. All required parameters must be populated in order to send to Azure. - :param scope: scope on which action rule will apply - :type scope: ~azure.mgmt.alertsmanagement.models.Scope - :param conditions: conditions on which alerts will be filtered - :type conditions: ~azure.mgmt.alertsmanagement.models.Conditions - :param description: Description of action rule - :type description: str - :ivar created_at: Creation time of action rule. Date-Time in ISO-8601 - format. - :vartype created_at: datetime - :ivar last_modified_at: Last updated time of action rule. Date-Time in - ISO-8601 format. - :vartype last_modified_at: datetime - :ivar created_by: Created by user name. - :vartype created_by: str - :ivar last_modified_by: Last modified by user name. - :vartype last_modified_by: str - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param type: Required. Constant filled by server. - :type type: str + :param recurrence_type: Required. Specifies when the recurrence should be applied.Constant + filled by server. Possible values include: "Daily", "Weekly", "Monthly". + :type recurrence_type: str or ~azure.mgmt.alertsmanagement.models.RecurrenceType + :param start_time: Start time for recurrence. + :type start_time: str + :param end_time: End time for recurrence. + :type end_time: str """ _validation = { - 'created_at': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - 'created_by': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'type': {'required': True}, + 'recurrence_type': {'required': True}, } _attribute_map = { - 'scope': {'key': 'scope', 'type': 'Scope'}, - 'conditions': {'key': 'conditions', 'type': 'Conditions'}, - 'description': {'key': 'description', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, + 'recurrence_type': {'key': 'recurrenceType', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, } - def __init__(self, **kwargs): - super(Diagnostics, self).__init__(**kwargs) - self.type = 'Diagnostics' + def __init__( + self, + **kwargs + ): + super(DailyRecurrence, self).__init__(**kwargs) + self.recurrence_type = 'Daily' # type: str -class ErrorResponse(Model): +class ErrorResponse(msrest.serialization.Model): """An error response from the service. - :param error: + :param error: Details of error response. :type error: ~azure.mgmt.alertsmanagement.models.ErrorResponseBody """ @@ -976,65 +739,22 @@ class ErrorResponse(Model): 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, } - def __init__(self, **kwargs): + 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) - - -class ErrorResponse1(Model): - """Describe the format of an Error response. - - :param code: Error code - :type code: str - :param message: Error message indicating why the operation failed. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ErrorResponse1, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - - -class ErrorResponse1Exception(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse1'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponse1Exception, self).__init__(deserialize, response, 'ErrorResponse1', *args) - - -class ErrorResponseBody(Model): +class ErrorResponseBody(msrest.serialization.Model): """Details of error response. :param code: Error code, intended to be consumed programmatically. :type code: str - :param message: Description of the error, intended for display in user - interface. + :param message: Description of the error, intended for display in user interface. :type message: str - :param target: Target of the particular error, for example name of the - property. + :param target: Target of the particular error, for example name of the property. :type target: str :param details: A list of additional details about the error. :type details: list[~azure.mgmt.alertsmanagement.models.ErrorResponseBody] @@ -1047,7 +767,10 @@ class ErrorResponseBody(Model): 'details': {'key': 'details', 'type': '[ErrorResponseBody]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ErrorResponseBody, self).__init__(**kwargs) self.code = kwargs.get('code', None) self.message = kwargs.get('message', None) @@ -1055,72 +778,59 @@ def __init__(self, **kwargs): self.details = kwargs.get('details', None) -class Essentials(Model): +class Essentials(msrest.serialization.Model): """This object contains consistent fields across different monitor services. - 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 severity: Severity of alert Sev0 being highest and Sev4 being - lowest. Possible values include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' + :ivar severity: Severity of alert Sev0 being highest and Sev4 being lowest. Possible values + include: "Sev0", "Sev1", "Sev2", "Sev3", "Sev4". :vartype severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :ivar signal_type: The type of signal the alert is based on, which could - be metrics, logs or activity logs. Possible values include: 'Metric', - 'Log', 'Unknown' - :vartype signal_type: str or - ~azure.mgmt.alertsmanagement.models.SignalType - :ivar alert_state: Alert object state, which can be modified by the user. - Possible values include: 'New', 'Acknowledged', 'Closed' - :vartype alert_state: str or - ~azure.mgmt.alertsmanagement.models.AlertState - :ivar monitor_condition: Condition of the rule at the monitor service. It - represents whether the underlying conditions have crossed the defined - alert rule thresholds. Possible values include: 'Fired', 'Resolved' - :vartype monitor_condition: str or - ~azure.mgmt.alertsmanagement.models.MonitorCondition + :ivar signal_type: The type of signal the alert is based on, which could be metrics, logs or + activity logs. Possible values include: "Metric", "Log", "Unknown". + :vartype signal_type: str or ~azure.mgmt.alertsmanagement.models.SignalType + :ivar alert_state: Alert object state, which can be modified by the user. Possible values + include: "New", "Acknowledged", "Closed". + :vartype alert_state: str or ~azure.mgmt.alertsmanagement.models.AlertState + :ivar monitor_condition: Condition of the rule at the monitor service. It represents whether + the underlying conditions have crossed the defined alert rule thresholds. Possible values + include: "Fired", "Resolved". + :vartype monitor_condition: str or ~azure.mgmt.alertsmanagement.models.MonitorCondition :param target_resource: Target ARM resource, on which alert got created. :type target_resource: str - :param target_resource_name: Name of the target ARM resource name, on - which alert got created. + :param target_resource_name: Name of the target ARM resource name, on which alert got created. :type target_resource_name: str - :param target_resource_group: Resource group of target ARM resource, on - which alert got created. + :param target_resource_group: Resource group of target ARM resource, on which alert got + created. :type target_resource_group: str - :param target_resource_type: Resource type of target ARM resource, on - which alert got created. + :param target_resource_type: Resource type of target ARM resource, on which alert got created. :type target_resource_type: str - :ivar monitor_service: Monitor service on which the rule(monitor) is set. - Possible values include: 'Application Insights', 'ActivityLog - Administrative', 'ActivityLog Security', 'ActivityLog Recommendation', - 'ActivityLog Policy', 'ActivityLog Autoscale', 'Log Analytics', 'Nagios', - 'Platform', 'SCOM', 'ServiceHealth', 'SmartDetector', 'VM Insights', - 'Zabbix' - :vartype monitor_service: str or - ~azure.mgmt.alertsmanagement.models.MonitorService - :ivar alert_rule: Rule(monitor) which fired alert instance. Depending on - the monitor service, this would be ARM id or name of the rule. + :ivar monitor_service: Monitor service on which the rule(monitor) is set. Possible values + include: "Application Insights", "ActivityLog Administrative", "ActivityLog Security", + "ActivityLog Recommendation", "ActivityLog Policy", "ActivityLog Autoscale", "Log Analytics", + "Nagios", "Platform", "SCOM", "ServiceHealth", "SmartDetector", "VM Insights", "Zabbix". + :vartype monitor_service: str or ~azure.mgmt.alertsmanagement.models.MonitorService + :ivar alert_rule: Rule(monitor) which fired alert instance. Depending on the monitor service, + this would be ARM id or name of the rule. :vartype alert_rule: str - :ivar source_created_id: Unique Id created by monitor service for each - alert instance. This could be used to track the issue at the monitor - service, in case of Nagios, Zabbix, SCOM etc. + :ivar source_created_id: Unique Id created by monitor service for each alert instance. This + could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc. :vartype source_created_id: str - :ivar smart_group_id: Unique Id of the smart group + :ivar smart_group_id: Unique Id of the smart group. :vartype smart_group_id: str - :ivar smart_grouping_reason: Verbose reason describing the reason why this - alert instance is added to a smart group + :ivar smart_grouping_reason: Verbose reason describing the reason why this alert instance is + added to a smart group. :vartype smart_grouping_reason: str :ivar start_date_time: Creation time(ISO-8601 format) of alert instance. - :vartype start_date_time: datetime - :ivar last_modified_date_time: Last modification time(ISO-8601 format) of - alert instance. - :vartype last_modified_date_time: datetime - :ivar monitor_condition_resolved_date_time: Resolved time(ISO-8601 format) - of alert instance. This will be updated when monitor service resolves the - alert instance because the rule condition is no longer met. - :vartype monitor_condition_resolved_date_time: datetime - :ivar last_modified_user_name: User who last modified the alert, in case - of monitor service updates user would be 'system', otherwise name of the - user. + :vartype start_date_time: ~datetime.datetime + :ivar last_modified_date_time: Last modification time(ISO-8601 format) of alert instance. + :vartype last_modified_date_time: ~datetime.datetime + :ivar monitor_condition_resolved_date_time: Resolved time(ISO-8601 format) of alert instance. + This will be updated when monitor service resolves the alert instance because the rule + condition is no longer met. + :vartype monitor_condition_resolved_date_time: ~datetime.datetime + :ivar last_modified_user_name: User who last modified the alert, in case of monitor service + updates user would be 'system', otherwise name of the user. :vartype last_modified_user_name: str """ @@ -1160,7 +870,10 @@ class Essentials(Model): 'last_modified_user_name': {'key': 'lastModifiedUserName', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Essentials, self).__init__(**kwargs) self.severity = None self.signal_type = None @@ -1181,12 +894,12 @@ def __init__(self, **kwargs): self.last_modified_user_name = None -class MonitorServiceDetails(Model): +class MonitorServiceDetails(msrest.serialization.Model): """Details of a monitor service. - :param name: Monitor service name + :param name: Monitor service name. :type name: str - :param display_name: Monitor service display name + :param display_name: Monitor service display name. :type display_name: str """ @@ -1195,7 +908,10 @@ class MonitorServiceDetails(Model): 'display_name': {'key': 'displayName', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MonitorServiceDetails, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.display_name = kwargs.get('display_name', None) @@ -1204,15 +920,13 @@ def __init__(self, **kwargs): class MonitorServiceList(AlertsMetaDataProperties): """Monitor service details. - Monitor service details. - All required parameters must be populated in order to send to Azure. - :param metadata_identifier: Required. Constant filled by server. - :type metadata_identifier: str - :param data: Required. Array of operations - :type data: - list[~azure.mgmt.alertsmanagement.models.MonitorServiceDetails] + :param metadata_identifier: Required. Identification of the information to be retrieved by API + call.Constant filled by server. Possible values include: "MonitorServiceList". + :type metadata_identifier: str or ~azure.mgmt.alertsmanagement.models.MetadataIdentifier + :param data: Required. Array of operations. + :type data: list[~azure.mgmt.alertsmanagement.models.MonitorServiceDetails] """ _validation = { @@ -1225,18 +939,58 @@ class MonitorServiceList(AlertsMetaDataProperties): 'data': {'key': 'data', 'type': '[MonitorServiceDetails]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(MonitorServiceList, self).__init__(**kwargs) - self.data = kwargs.get('data', None) - self.metadata_identifier = 'MonitorServiceList' + self.metadata_identifier = 'MonitorServiceList' # type: str + self.data = kwargs['data'] + + +class MonthlyRecurrence(Recurrence): + """Monthly recurrence object. + All required parameters must be populated in order to send to Azure. -class Operation(Model): + :param recurrence_type: Required. Specifies when the recurrence should be applied.Constant + filled by server. Possible values include: "Daily", "Weekly", "Monthly". + :type recurrence_type: str or ~azure.mgmt.alertsmanagement.models.RecurrenceType + :param start_time: Start time for recurrence. + :type start_time: str + :param end_time: End time for recurrence. + :type end_time: str + :param days_of_month: Required. Specifies the values for monthly recurrence pattern. + :type days_of_month: list[int] + """ + + _validation = { + 'recurrence_type': {'required': True}, + 'days_of_month': {'required': True}, + } + + _attribute_map = { + 'recurrence_type': {'key': 'recurrenceType', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, + 'days_of_month': {'key': 'daysOfMonth', 'type': '[int]'}, + } + + def __init__( + self, + **kwargs + ): + super(MonthlyRecurrence, self).__init__(**kwargs) + self.recurrence_type = 'Monthly' # type: str + self.days_of_month = kwargs['days_of_month'] + + +class Operation(msrest.serialization.Model): """Operation provided by provider. - :param name: Name of the operation + :param name: Name of the operation. :type name: str - :param display: Properties of the operation + :param display: Properties of the operation. :type display: ~azure.mgmt.alertsmanagement.models.OperationDisplay """ @@ -1245,22 +999,25 @@ class Operation(Model): 'display': {'key': 'display', 'type': 'OperationDisplay'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.display = kwargs.get('display', None) -class OperationDisplay(Model): +class OperationDisplay(msrest.serialization.Model): """Properties of the operation. - :param provider: Provider name + :param provider: Provider name. :type provider: str - :param resource: Resource name + :param resource: Resource name. :type resource: str - :param operation: Operation name + :param operation: Operation name. :type operation: str - :param description: Description of the operation + :param description: Description of the operation. :type description: str """ @@ -1271,7 +1028,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) @@ -1279,105 +1039,164 @@ def __init__(self, **kwargs): self.description = kwargs.get('description', None) -class PatchObject(Model): +class OperationsList(msrest.serialization.Model): + """Lists the operations available in the AlertsManagement RP. + + All required parameters must be populated in order to send to Azure. + + :param next_link: URL to fetch the next set of alerts. + :type next_link: str + :param value: Required. Array of operations. + :type value: list[~azure.mgmt.alertsmanagement.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 PatchObject(msrest.serialization.Model): """Data contract for patch. - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param tags: tags to be updated - :type tags: object + :param tags: A set of tags. Tags to be updated. + :type tags: dict[str, str] + :param enabled: Indicates if the given alert processing rule is enabled or disabled. + :type enabled: bool """ _attribute_map = { - 'status': {'key': 'properties.status', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': 'object'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PatchObject, self).__init__(**kwargs) - self.status = kwargs.get('status', None) self.tags = kwargs.get('tags', None) + self.enabled = kwargs.get('enabled', None) -class Scope(Model): - """Target scope for a given action rule. By default scope will be the - subscription. User can also provide list of resource groups or list of - resources from the scope subscription as well. +class RemoveAllActionGroups(Action): + """Indicates if all action groups should be removed. - :param scope_type: type of target scope. Possible values include: - 'ResourceGroup', 'Resource' - :type scope_type: str or ~azure.mgmt.alertsmanagement.models.ScopeType - :param values: list of ARM IDs of the given scope type which will be the - target of the given action rule. - :type values: list[str] + All required parameters must be populated in order to send to Azure. + + :param action_type: Required. Action that should be applied.Constant filled by server. + Possible values include: "AddActionGroups", "RemoveAllActionGroups". + :type action_type: str or ~azure.mgmt.alertsmanagement.models.ActionType + """ + + _validation = { + 'action_type': {'required': True}, + } + + _attribute_map = { + 'action_type': {'key': 'actionType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RemoveAllActionGroups, self).__init__(**kwargs) + self.action_type = 'RemoveAllActionGroups' # type: str + + +class Schedule(msrest.serialization.Model): + """Scheduling configuration for a given alert processing rule. + + :param effective_from: Scheduling effective from time. Date-Time in ISO-8601 format without + timezone suffix. + :type effective_from: str + :param effective_until: Scheduling effective until time. Date-Time in ISO-8601 format without + timezone suffix. + :type effective_until: str + :param time_zone: Scheduling time zone. + :type time_zone: str + :param recurrences: List of recurrences. + :type recurrences: list[~azure.mgmt.alertsmanagement.models.Recurrence] """ + _validation = { + 'effective_from': {'pattern': r'^(?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))$'}, + 'effective_until': {'pattern': r'^(?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))$'}, + } + _attribute_map = { - 'scope_type': {'key': 'scopeType', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[str]'}, + 'effective_from': {'key': 'effectiveFrom', 'type': 'str'}, + 'effective_until': {'key': 'effectiveUntil', 'type': 'str'}, + 'time_zone': {'key': 'timeZone', 'type': 'str'}, + 'recurrences': {'key': 'recurrences', 'type': '[Recurrence]'}, } - def __init__(self, **kwargs): - super(Scope, self).__init__(**kwargs) - self.scope_type = kwargs.get('scope_type', None) - self.values = kwargs.get('values', None) + def __init__( + self, + **kwargs + ): + super(Schedule, self).__init__(**kwargs) + self.effective_from = kwargs.get('effective_from', None) + self.effective_until = kwargs.get('effective_until', None) + self.time_zone = kwargs.get('time_zone', None) + self.recurrences = kwargs.get('recurrences', None) class SmartGroup(Resource): """Set of related alerts grouped together smartly by AMS. - 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: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param alerts_count: Total number of alerts in smart group - :type alerts_count: int - :ivar smart_group_state: Smart group state. Possible values include: - 'New', 'Acknowledged', 'Closed' - :vartype smart_group_state: str or - ~azure.mgmt.alertsmanagement.models.State - :ivar severity: Severity of smart group is the highest(Sev0 >... > Sev4) - severity of all the alerts in the group. Possible values include: 'Sev0', - 'Sev1', 'Sev2', 'Sev3', 'Sev4' + :param alerts_count: Total number of alerts in smart group. + :type alerts_count: long + :ivar smart_group_state: Smart group state. Possible values include: "New", "Acknowledged", + "Closed". + :vartype smart_group_state: str or ~azure.mgmt.alertsmanagement.models.State + :ivar severity: Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the + alerts in the group. Possible values include: "Sev0", "Sev1", "Sev2", "Sev3", "Sev4". :vartype severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :ivar start_date_time: Creation time of smart group. Date-Time in ISO-8601 - format. - :vartype start_date_time: datetime - :ivar last_modified_date_time: Last updated time of smart group. Date-Time - in ISO-8601 format. - :vartype last_modified_date_time: datetime + :ivar start_date_time: Creation time of smart group. Date-Time in ISO-8601 format. + :vartype start_date_time: ~datetime.datetime + :ivar last_modified_date_time: Last updated time of smart group. Date-Time in ISO-8601 format. + :vartype last_modified_date_time: ~datetime.datetime :ivar last_modified_user_name: Last modified by user name. :vartype last_modified_user_name: str - :param resources: Summary of target resources in the smart group - :type resources: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param resource_types: Summary of target resource types in the smart group - :type resource_types: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param resource_groups: Summary of target resource groups in the smart - group - :type resource_groups: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param monitor_services: Summary of monitorServices in the smart group - :type monitor_services: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param monitor_conditions: Summary of monitorConditions in the smart group + :param resources: Summary of target resources in the smart group. + :type resources: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param resource_types: Summary of target resource types in the smart group. + :type resource_types: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param resource_groups: Summary of target resource groups in the smart group. + :type resource_groups: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param monitor_services: Summary of monitorServices in the smart group. + :type monitor_services: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param monitor_conditions: Summary of monitorConditions in the smart group. :type monitor_conditions: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param alert_states: Summary of alertStates in the smart group - :type alert_states: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param alert_severities: Summary of alertSeverities in the smart group - :type alert_severities: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param next_link: The URI to fetch the next page of alerts. Call - ListNext() with this URI to fetch the next page alerts. + :param alert_states: Summary of alertStates in the smart group. + :type alert_states: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param alert_severities: Summary of alertSeverities in the smart group. + :type alert_severities: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param next_link: The URI to fetch the next page of alerts. Call ListNext() with this URI to + fetch the next page alerts. :type next_link: str """ @@ -1396,7 +1215,7 @@ class SmartGroup(Resource): 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, - 'alerts_count': {'key': 'properties.alertsCount', 'type': 'int'}, + 'alerts_count': {'key': 'properties.alertsCount', 'type': 'long'}, 'smart_group_state': {'key': 'properties.smartGroupState', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'str'}, 'start_date_time': {'key': 'properties.startDateTime', 'type': 'iso-8601'}, @@ -1412,7 +1231,10 @@ class SmartGroup(Resource): 'next_link': {'key': 'properties.nextLink', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SmartGroup, self).__init__(**kwargs) self.alerts_count = kwargs.get('alerts_count', None) self.smart_group_state = None @@ -1430,21 +1252,24 @@ def __init__(self, **kwargs): self.next_link = kwargs.get('next_link', None) -class SmartGroupAggregatedProperty(Model): +class SmartGroupAggregatedProperty(msrest.serialization.Model): """Aggregated property of each type. :param name: Name of the type. :type name: str :param count: Total number of items of type. - :type count: int + :type count: long """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'long'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SmartGroupAggregatedProperty, self).__init__(**kwargs) self.name = kwargs.get('name', None) self.count = kwargs.get('count', None) @@ -1453,18 +1278,16 @@ def __init__(self, **kwargs): class SmartGroupModification(Resource): """Alert Modification 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 id: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param properties: - :type properties: - ~azure.mgmt.alertsmanagement.models.SmartGroupModificationProperties + :param properties: Properties of the smartGroup modification item. + :type properties: ~azure.mgmt.alertsmanagement.models.SmartGroupModificationProperties """ _validation = { @@ -1480,34 +1303,37 @@ class SmartGroupModification(Resource): 'properties': {'key': 'properties', 'type': 'SmartGroupModificationProperties'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SmartGroupModification, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) -class SmartGroupModificationItem(Model): +class SmartGroupModificationItem(msrest.serialization.Model): """smartGroup modification item. - :param modification_event: Reason for the modification. Possible values - include: 'SmartGroupCreated', 'StateChange', 'AlertAdded', 'AlertRemoved' + :param modification_event: Reason for the modification. Possible values include: + "SmartGroupCreated", "StateChange", "AlertAdded", "AlertRemoved". :type modification_event: str or ~azure.mgmt.alertsmanagement.models.SmartGroupModificationEvent - :param old_value: Old value + :param old_value: Old value. :type old_value: str - :param new_value: New value + :param new_value: New value. :type new_value: str - :param modified_at: Modified date and time + :param modified_at: Modified date and time. :type modified_at: str - :param modified_by: Modified user details (Principal client name) + :param modified_by: Modified user details (Principal client name). :type modified_by: str - :param comments: Modification comments + :param comments: Modification comments. :type comments: str - :param description: Description of the modification + :param description: Description of the modification. :type description: str """ _attribute_map = { - 'modification_event': {'key': 'modificationEvent', 'type': 'SmartGroupModificationEvent'}, + 'modification_event': {'key': 'modificationEvent', 'type': 'str'}, 'old_value': {'key': 'oldValue', 'type': 'str'}, 'new_value': {'key': 'newValue', 'type': 'str'}, 'modified_at': {'key': 'modifiedAt', 'type': 'str'}, @@ -1516,7 +1342,10 @@ class SmartGroupModificationItem(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SmartGroupModificationItem, self).__init__(**kwargs) self.modification_event = kwargs.get('modification_event', None) self.old_value = kwargs.get('old_value', None) @@ -1527,18 +1356,15 @@ def __init__(self, **kwargs): self.description = kwargs.get('description', None) -class SmartGroupModificationProperties(Model): +class SmartGroupModificationProperties(msrest.serialization.Model): """Properties of the smartGroup modification item. - 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 smart_group_id: Unique Id of the smartGroup for which the history is - being retrieved + :ivar smart_group_id: Unique Id of the smartGroup for which the history is being retrieved. :vartype smart_group_id: str - :param modifications: Modification details - :type modifications: - list[~azure.mgmt.alertsmanagement.models.SmartGroupModificationItem] + :param modifications: Modification details. + :type modifications: list[~azure.mgmt.alertsmanagement.models.SmartGroupModificationItem] :param next_link: URL to fetch the next set of results. :type next_link: str """ @@ -1553,152 +1379,112 @@ class SmartGroupModificationProperties(Model): 'next_link': {'key': 'nextLink', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SmartGroupModificationProperties, self).__init__(**kwargs) self.smart_group_id = None self.modifications = kwargs.get('modifications', None) self.next_link = kwargs.get('next_link', None) -class Suppression(ActionRuleProperties): - """Suppression based Action Rule. +class SmartGroupsList(msrest.serialization.Model): + """List the alerts. - Action rule with suppression configuration. - - 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 scope: scope on which action rule will apply - :type scope: ~azure.mgmt.alertsmanagement.models.Scope - :param conditions: conditions on which alerts will be filtered - :type conditions: ~azure.mgmt.alertsmanagement.models.Conditions - :param description: Description of action rule - :type description: str - :ivar created_at: Creation time of action rule. Date-Time in ISO-8601 - format. - :vartype created_at: datetime - :ivar last_modified_at: Last updated time of action rule. Date-Time in - ISO-8601 format. - :vartype last_modified_at: datetime - :ivar created_by: Created by user name. - :vartype created_by: str - :ivar last_modified_by: Last modified by user name. - :vartype last_modified_by: str - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param type: Required. Constant filled by server. - :type type: str - :param suppression_config: Required. suppression configuration for the - action rule - :type suppression_config: - ~azure.mgmt.alertsmanagement.models.SuppressionConfig + :param next_link: URL to fetch the next set of alerts. + :type next_link: str + :param value: List of alerts. + :type value: list[~azure.mgmt.alertsmanagement.models.SmartGroup] """ - _validation = { - 'created_at': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - 'created_by': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'type': {'required': True}, - 'suppression_config': {'required': True}, + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SmartGroup]'}, } + def __init__( + self, + **kwargs + ): + super(SmartGroupsList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + 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 ~azure.mgmt.alertsmanagement.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.mgmt.alertsmanagement.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime + """ + _attribute_map = { - 'scope': {'key': 'scope', 'type': 'Scope'}, - 'conditions': {'key': 'conditions', 'type': 'Conditions'}, - 'description': {'key': 'description', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, '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'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'suppression_config': {'key': 'suppressionConfig', 'type': 'SuppressionConfig'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): - super(Suppression, self).__init__(**kwargs) - self.suppression_config = kwargs.get('suppression_config', None) - self.type = 'Suppression' + 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 SuppressionConfig(Model): - """Suppression logic for a given action rule. +class WeeklyRecurrence(Recurrence): + """Weekly recurrence object. All required parameters must be populated in order to send to Azure. - :param recurrence_type: Required. Specifies when the suppression should be - applied. Possible values include: 'Always', 'Once', 'Daily', 'Weekly', - 'Monthly' - :type recurrence_type: str or - ~azure.mgmt.alertsmanagement.models.SuppressionType - :param schedule: suppression schedule configuration - :type schedule: ~azure.mgmt.alertsmanagement.models.SuppressionSchedule + :param recurrence_type: Required. Specifies when the recurrence should be applied.Constant + filled by server. Possible values include: "Daily", "Weekly", "Monthly". + :type recurrence_type: str or ~azure.mgmt.alertsmanagement.models.RecurrenceType + :param start_time: Start time for recurrence. + :type start_time: str + :param end_time: End time for recurrence. + :type end_time: str + :param days_of_week: Required. Specifies the values for weekly recurrence pattern. + :type days_of_week: list[str or ~azure.mgmt.alertsmanagement.models.DaysOfWeek] """ _validation = { 'recurrence_type': {'required': True}, + 'days_of_week': {'required': True}, } _attribute_map = { 'recurrence_type': {'key': 'recurrenceType', 'type': 'str'}, - 'schedule': {'key': 'schedule', 'type': 'SuppressionSchedule'}, - } - - def __init__(self, **kwargs): - super(SuppressionConfig, self).__init__(**kwargs) - self.recurrence_type = kwargs.get('recurrence_type', None) - self.schedule = kwargs.get('schedule', None) - - -class SuppressionSchedule(Model): - """Schedule for a given suppression configuration. - - :param start_date: Start date for suppression - :type start_date: str - :param end_date: End date for suppression - :type end_date: str - :param start_time: Start time for suppression - :type start_time: str - :param end_time: End date for suppression - :type end_time: str - :param recurrence_values: Specifies the values for recurrence pattern - :type recurrence_values: list[int] - """ - - _attribute_map = { - 'start_date': {'key': 'startDate', 'type': 'str'}, - 'end_date': {'key': 'endDate', 'type': 'str'}, 'start_time': {'key': 'startTime', 'type': 'str'}, 'end_time': {'key': 'endTime', 'type': 'str'}, - 'recurrence_values': {'key': 'recurrenceValues', 'type': '[int]'}, - } - - def __init__(self, **kwargs): - super(SuppressionSchedule, self).__init__(**kwargs) - self.start_date = kwargs.get('start_date', None) - self.end_date = kwargs.get('end_date', None) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.recurrence_values = kwargs.get('recurrence_values', None) - - -class ThrottlingInformation(Model): - """Optional throttling information for the alert rule. - - :param duration: The required duration (in ISO8601 format) to wait before - notifying on the alert rule again. The time granularity must be in minutes - and minimum value is 0 minutes - :type duration: timedelta - """ - - _attribute_map = { - 'duration': {'key': 'duration', 'type': 'duration'}, + 'days_of_week': {'key': 'daysOfWeek', 'type': '[str]'}, } - def __init__(self, **kwargs): - super(ThrottlingInformation, self).__init__(**kwargs) - self.duration = kwargs.get('duration', None) + def __init__( + self, + **kwargs + ): + super(WeeklyRecurrence, self).__init__(**kwargs) + self.recurrence_type = 'Weekly' # type: str + self.days_of_week = kwargs['days_of_week'] diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_models_py3.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_models_py3.py index 635be9d76f8..cca9035d7c0 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_models_py3.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_models_py3.py @@ -1,197 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 ActionRuleProperties(Model): - """Action rule properties defining scope, conditions, suppression logic for - action rule. +from ._alerts_management_client_enums import * - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: Suppression, ActionGroup, Diagnostics - Variables are only populated by the server, and will be ignored when - sending a request. +class Action(msrest.serialization.Model): + """Action to be applied. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AddActionGroups, RemoveAllActionGroups. All required parameters must be populated in order to send to Azure. - :param scope: scope on which action rule will apply - :type scope: ~azure.mgmt.alertsmanagement.models.Scope - :param conditions: conditions on which alerts will be filtered - :type conditions: ~azure.mgmt.alertsmanagement.models.Conditions - :param description: Description of action rule - :type description: str - :ivar created_at: Creation time of action rule. Date-Time in ISO-8601 - format. - :vartype created_at: datetime - :ivar last_modified_at: Last updated time of action rule. Date-Time in - ISO-8601 format. - :vartype last_modified_at: datetime - :ivar created_by: Created by user name. - :vartype created_by: str - :ivar last_modified_by: Last modified by user name. - :vartype last_modified_by: str - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param type: Required. Constant filled by server. - :type type: str + :param action_type: Required. Action that should be applied.Constant filled by server. + Possible values include: "AddActionGroups", "RemoveAllActionGroups". + :type action_type: str or ~azure.mgmt.alertsmanagement.models.ActionType """ _validation = { - 'created_at': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - 'created_by': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'type': {'required': True}, + 'action_type': {'required': True}, } _attribute_map = { - 'scope': {'key': 'scope', 'type': 'Scope'}, - 'conditions': {'key': 'conditions', 'type': 'Conditions'}, - 'description': {'key': 'description', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, } _subtype_map = { - 'type': {'Suppression': 'Suppression', 'ActionGroup': 'ActionGroup', 'Diagnostics': 'Diagnostics'} + 'action_type': {'AddActionGroups': 'AddActionGroups', 'RemoveAllActionGroups': 'RemoveAllActionGroups'} } - def __init__(self, *, scope=None, conditions=None, description: str=None, status=None, **kwargs) -> None: - super(ActionRuleProperties, self).__init__(**kwargs) - self.scope = scope - self.conditions = conditions - self.description = description - self.created_at = None - self.last_modified_at = None - self.created_by = None - self.last_modified_by = None - self.status = status - self.type = None - - -class ActionGroup(ActionRuleProperties): - """Action Group based Action Rule. + def __init__( + self, + **kwargs + ): + super(Action, self).__init__(**kwargs) + self.action_type = None # type: Optional[str] - Action rule with action group configuration. - Variables are only populated by the server, and will be ignored when - sending a request. +class AddActionGroups(Action): + """Add action groups to alert processing rule. All required parameters must be populated in order to send to Azure. - :param scope: scope on which action rule will apply - :type scope: ~azure.mgmt.alertsmanagement.models.Scope - :param conditions: conditions on which alerts will be filtered - :type conditions: ~azure.mgmt.alertsmanagement.models.Conditions - :param description: Description of action rule - :type description: str - :ivar created_at: Creation time of action rule. Date-Time in ISO-8601 - format. - :vartype created_at: datetime - :ivar last_modified_at: Last updated time of action rule. Date-Time in - ISO-8601 format. - :vartype last_modified_at: datetime - :ivar created_by: Created by user name. - :vartype created_by: str - :ivar last_modified_by: Last modified by user name. - :vartype last_modified_by: str - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param type: Required. Constant filled by server. - :type type: str - :param action_group_id: Required. Action group to trigger if action rule - matches - :type action_group_id: str + :param action_type: Required. Action that should be applied.Constant filled by server. + Possible values include: "AddActionGroups", "RemoveAllActionGroups". + :type action_type: str or ~azure.mgmt.alertsmanagement.models.ActionType + :param action_group_ids: Required. List of action group Ids to add to alert processing rule. + :type action_group_ids: list[str] """ _validation = { - 'created_at': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - 'created_by': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'type': {'required': True}, - 'action_group_id': {'required': True}, + 'action_type': {'required': True}, + 'action_group_ids': {'required': True}, } _attribute_map = { - 'scope': {'key': 'scope', 'type': 'Scope'}, - 'conditions': {'key': 'conditions', 'type': 'Conditions'}, - 'description': {'key': 'description', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'action_group_id': {'key': 'actionGroupId', 'type': 'str'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, + 'action_group_ids': {'key': 'actionGroupIds', 'type': '[str]'}, } - def __init__(self, *, action_group_id: str, scope=None, conditions=None, description: str=None, status=None, **kwargs) -> None: - super(ActionGroup, self).__init__(scope=scope, conditions=conditions, description=description, status=status, **kwargs) - self.action_group_id = action_group_id - self.type = 'ActionGroup' - + def __init__( + self, + *, + action_group_ids: List[str], + **kwargs + ): + super(AddActionGroups, self).__init__(**kwargs) + self.action_type = 'AddActionGroups' # type: str + self.action_group_ids = action_group_ids -class ActionGroupsInformation(Model): - """The Action Groups information, used by the alert rule. - All required parameters must be populated in order to send to Azure. - - :param custom_email_subject: An optional custom email subject to use in - email notifications. - :type custom_email_subject: str - :param custom_webhook_payload: An optional custom web-hook payload to use - in web-hook notifications. - :type custom_webhook_payload: str - :param group_ids: Required. The Action Group resource IDs. - :type group_ids: list[str] - """ - - _validation = { - 'group_ids': {'required': True}, - } - - _attribute_map = { - 'custom_email_subject': {'key': 'customEmailSubject', 'type': 'str'}, - 'custom_webhook_payload': {'key': 'customWebhookPayload', 'type': 'str'}, - 'group_ids': {'key': 'groupIds', 'type': '[str]'}, - } - - def __init__(self, *, group_ids, custom_email_subject: str=None, custom_webhook_payload: str=None, **kwargs) -> None: - super(ActionGroupsInformation, self).__init__(**kwargs) - self.custom_email_subject = custom_email_subject - self.custom_webhook_payload = custom_webhook_payload - self.group_ids = group_ids - - -class Resource(Model): +class Resource(msrest.serialization.Model): """An azure resource 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 id: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str """ @@ -207,111 +106,28 @@ class Resource(Model): 'name': {'key': 'name', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.id = None self.type = None self.name = None -class ManagedResource(Resource): - """An azure managed resource object. - - 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: Azure resource Id - :vartype id: str - :ivar type: Azure resource type - :vartype type: str - :ivar name: Azure resource name - :vartype name: str - :param location: Required. Resource location - :type location: str - :param tags: Resource tags - :type tags: dict[str, str] - """ - - _validation = { - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - } - - def __init__(self, *, location: str, tags=None, **kwargs) -> None: - super(ManagedResource, self).__init__(**kwargs) - self.location = location - self.tags = tags - - -class ActionRule(ManagedResource): - """Action rule object containing target scope, conditions and suppression - logic. - - 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: Azure resource Id - :vartype id: str - :ivar type: Azure resource type - :vartype type: str - :ivar name: Azure resource name - :vartype name: str - :param location: Required. Resource location - :type location: str - :param tags: Resource tags - :type tags: dict[str, str] - :param properties: action rule properties - :type properties: ~azure.mgmt.alertsmanagement.models.ActionRuleProperties - """ - - _validation = { - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'name': {'readonly': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'properties': {'key': 'properties', 'type': 'ActionRuleProperties'}, - } - - def __init__(self, *, location: str, tags=None, properties=None, **kwargs) -> None: - super(ActionRule, self).__init__(location=location, tags=tags, **kwargs) - self.properties = properties - - class Alert(Resource): """An alert created in alert management service. - 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: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param properties: + :param properties: Alert property bag. :type properties: ~azure.mgmt.alertsmanagement.models.AlertProperties """ @@ -328,7 +144,12 @@ class Alert(Resource): 'properties': {'key': 'properties', 'type': 'AlertProperties'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__( + self, + *, + properties: Optional["AlertProperties"] = None, + **kwargs + ): super(Alert, self).__init__(**kwargs) self.properties = properties @@ -336,18 +157,16 @@ def __init__(self, *, properties=None, **kwargs) -> None: class AlertModification(Resource): """Alert Modification 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 id: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param properties: - :type properties: - ~azure.mgmt.alertsmanagement.models.AlertModificationProperties + :param properties: Properties of the alert modification item. + :type properties: ~azure.mgmt.alertsmanagement.models.AlertModificationProperties """ _validation = { @@ -363,34 +182,40 @@ class AlertModification(Resource): 'properties': {'key': 'properties', 'type': 'AlertModificationProperties'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__( + self, + *, + properties: Optional["AlertModificationProperties"] = None, + **kwargs + ): super(AlertModification, self).__init__(**kwargs) self.properties = properties -class AlertModificationItem(Model): +class AlertModificationItem(msrest.serialization.Model): """Alert modification item. - :param modification_event: Reason for the modification. Possible values - include: 'AlertCreated', 'StateChange', 'MonitorConditionChange' - :type modification_event: str or - ~azure.mgmt.alertsmanagement.models.AlertModificationEvent - :param old_value: Old value + :param modification_event: Reason for the modification. Possible values include: + "AlertCreated", "StateChange", "MonitorConditionChange", "SeverityChange", + "ActionRuleTriggered", "ActionRuleSuppressed", "ActionsTriggered", "ActionsSuppressed", + "ActionsFailed". + :type modification_event: str or ~azure.mgmt.alertsmanagement.models.AlertModificationEvent + :param old_value: Old value. :type old_value: str - :param new_value: New value + :param new_value: New value. :type new_value: str - :param modified_at: Modified date and time + :param modified_at: Modified date and time. :type modified_at: str - :param modified_by: Modified user details (Principal client name) + :param modified_by: Modified user details (Principal client name). :type modified_by: str - :param comments: Modification comments + :param comments: Modification comments. :type comments: str - :param description: Description of the modification + :param description: Description of the modification. :type description: str """ _attribute_map = { - 'modification_event': {'key': 'modificationEvent', 'type': 'AlertModificationEvent'}, + 'modification_event': {'key': 'modificationEvent', 'type': 'str'}, 'old_value': {'key': 'oldValue', 'type': 'str'}, 'new_value': {'key': 'newValue', 'type': 'str'}, 'modified_at': {'key': 'modifiedAt', 'type': 'str'}, @@ -399,7 +224,18 @@ class AlertModificationItem(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, *, modification_event=None, old_value: str=None, new_value: str=None, modified_at: str=None, modified_by: str=None, comments: str=None, description: str=None, **kwargs) -> None: + def __init__( + self, + *, + modification_event: Optional[Union[str, "AlertModificationEvent"]] = None, + old_value: Optional[str] = None, + new_value: Optional[str] = None, + modified_at: Optional[str] = None, + modified_by: Optional[str] = None, + comments: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): super(AlertModificationItem, self).__init__(**kwargs) self.modification_event = modification_event self.old_value = old_value @@ -410,18 +246,15 @@ def __init__(self, *, modification_event=None, old_value: str=None, new_value: s self.description = description -class AlertModificationProperties(Model): +class AlertModificationProperties(msrest.serialization.Model): """Properties of the alert modification item. - 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 alert_id: Unique Id of the alert for which the history is being - retrieved + :ivar alert_id: Unique Id of the alert for which the history is being retrieved. :vartype alert_id: str - :param modifications: Modification details - :type modifications: - list[~azure.mgmt.alertsmanagement.models.AlertModificationItem] + :param modifications: Modification details. + :type modifications: list[~azure.mgmt.alertsmanagement.models.AlertModificationItem] """ _validation = { @@ -433,58 +266,41 @@ class AlertModificationProperties(Model): 'modifications': {'key': 'modifications', 'type': '[AlertModificationItem]'}, } - def __init__(self, *, modifications=None, **kwargs) -> None: + def __init__( + self, + *, + modifications: Optional[List["AlertModificationItem"]] = None, + **kwargs + ): super(AlertModificationProperties, self).__init__(**kwargs) self.alert_id = None self.modifications = modifications -class AlertProperties(Model): - """Alert property bag. - - :param essentials: - :type essentials: ~azure.mgmt.alertsmanagement.models.Essentials - :param context: - :type context: object - :param egress_config: - :type egress_config: object - """ - - _attribute_map = { - 'essentials': {'key': 'essentials', 'type': 'Essentials'}, - 'context': {'key': 'context', 'type': 'object'}, - 'egress_config': {'key': 'egressConfig', 'type': 'object'}, - } - - def __init__(self, *, essentials=None, context=None, egress_config=None, **kwargs) -> None: - super(AlertProperties, self).__init__(**kwargs) - self.essentials = essentials - self.context = context - self.egress_config = egress_config - +class ManagedResource(Resource): + """An azure managed resource object. -class AzureResource(Model): - """An Azure resource 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. + All required parameters must be populated in order to send to Azure. - :ivar id: The resource ID. + :ivar id: Azure resource Id. :vartype id: str - :ivar type: The resource type. + :ivar type: Azure resource type. :vartype type: str - :ivar name: The resource name. + :ivar name: Azure resource name. :vartype name: str - :param location: The resource location. Default value: "global" . + :param location: Required. Resource location. :type location: str - :param tags: The resource tags. - :type tags: object + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] """ _validation = { 'id': {'readonly': True}, 'type': {'readonly': True}, 'name': {'readonly': True}, + 'location': {'required': True}, } _attribute_map = { @@ -492,69 +308,50 @@ class AzureResource(Model): 'type': {'key': 'type', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': 'object'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, location: str="global", tags=None, **kwargs) -> None: - super(AzureResource, self).__init__(**kwargs) - self.id = None - self.type = None - self.name = None + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(ManagedResource, self).__init__(**kwargs) self.location = location self.tags = tags -class AlertRule(AzureResource): - """The alert rule information. +class AlertProcessingRule(ManagedResource): + """Alert processing rule object containing target scopes, conditions and scheduling logic. - 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: The resource ID. + :ivar id: Azure resource Id. :vartype id: str - :ivar type: The resource type. + :ivar type: Azure resource type. :vartype type: str - :ivar name: The resource name. + :ivar name: Azure resource name. :vartype name: str - :param location: The resource location. Default value: "global" . + :param location: Required. Resource location. :type location: str - :param tags: The resource tags. - :type tags: object - :param description: The alert rule description. - :type description: str - :param state: Required. The alert rule state. Possible values include: - 'Enabled', 'Disabled' - :type state: str or ~azure.mgmt.alertsmanagement.models.AlertRuleState - :param severity: Required. The alert rule severity. Possible values - include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' - :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param frequency: Required. The alert rule frequency in ISO8601 format. - The time granularity must be in minutes and minimum value is 5 minutes. - :type frequency: timedelta - :param detector: Required. The alert rule's detector. - :type detector: ~azure.mgmt.alertsmanagement.models.Detector - :param scope: Required. The alert rule resources scope. - :type scope: list[str] - :param action_groups: Required. The alert rule actions. - :type action_groups: - ~azure.mgmt.alertsmanagement.models.ActionGroupsInformation - :param throttling: The alert rule throttling information. - :type throttling: - ~azure.mgmt.alertsmanagement.models.ThrottlingInformation + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param properties: Alert processing rule properties. + :type properties: ~azure.mgmt.alertsmanagement.models.AlertProcessingRuleProperties + :ivar system_data: Alert processing rule system data. + :vartype system_data: ~azure.mgmt.alertsmanagement.models.SystemData """ _validation = { 'id': {'readonly': True}, 'type': {'readonly': True}, 'name': {'readonly': True}, - 'state': {'required': True}, - 'severity': {'required': True}, - 'frequency': {'required': True}, - 'detector': {'required': True}, - 'scope': {'required': True}, - 'action_groups': {'required': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, } _attribute_map = { @@ -562,122 +359,197 @@ class AlertRule(AzureResource): 'type': {'key': 'type', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': 'object'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'severity': {'key': 'properties.severity', 'type': 'str'}, - 'frequency': {'key': 'properties.frequency', 'type': 'duration'}, - 'detector': {'key': 'properties.detector', 'type': 'Detector'}, - 'scope': {'key': 'properties.scope', 'type': '[str]'}, - 'action_groups': {'key': 'properties.actionGroups', 'type': 'ActionGroupsInformation'}, - 'throttling': {'key': 'properties.throttling', 'type': 'ThrottlingInformation'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'AlertProcessingRuleProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + properties: Optional["AlertProcessingRuleProperties"] = None, + **kwargs + ): + super(AlertProcessingRule, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + self.system_data = None + + +class AlertProcessingRuleProperties(msrest.serialization.Model): + """Alert processing rule properties defining scopes, conditions and scheduling logic for alert processing rule. + + All required parameters must be populated in order to send to Azure. + + :param scopes: Required. Scopes on which alert processing rule will apply. + :type scopes: list[str] + :param conditions: Conditions on which alerts will be filtered. + :type conditions: list[~azure.mgmt.alertsmanagement.models.Condition] + :param schedule: Scheduling for alert processing rule. + :type schedule: ~azure.mgmt.alertsmanagement.models.Schedule + :param actions: Required. Actions to be applied. + :type actions: list[~azure.mgmt.alertsmanagement.models.Action] + :param description: Description of alert processing rule. + :type description: str + :param enabled: Indicates if the given alert processing rule is enabled or disabled. + :type enabled: bool + """ + + _validation = { + 'scopes': {'required': True}, + 'actions': {'required': True}, } - def __init__(self, *, state, severity, frequency, detector, scope, action_groups, location: str="global", tags=None, description: str=None, throttling=None, **kwargs) -> None: - super(AlertRule, self).__init__(location=location, tags=tags, **kwargs) + _attribute_map = { + 'scopes': {'key': 'scopes', 'type': '[str]'}, + 'conditions': {'key': 'conditions', 'type': '[Condition]'}, + 'schedule': {'key': 'schedule', 'type': 'Schedule'}, + 'actions': {'key': 'actions', 'type': '[Action]'}, + 'description': {'key': 'description', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__( + self, + *, + scopes: List[str], + actions: List["Action"], + conditions: Optional[List["Condition"]] = None, + schedule: Optional["Schedule"] = None, + description: Optional[str] = None, + enabled: Optional[bool] = True, + **kwargs + ): + super(AlertProcessingRuleProperties, self).__init__(**kwargs) + self.scopes = scopes + self.conditions = conditions + self.schedule = schedule + self.actions = actions self.description = description - self.state = state - self.severity = severity - self.frequency = frequency - self.detector = detector - self.scope = scope - self.action_groups = action_groups - self.throttling = throttling + self.enabled = enabled -class AlertRulePatchObject(Model): - """The alert rule patch information. +class AlertProcessingRulesList(msrest.serialization.Model): + """List of alert processing rules. - Variables are only populated by the server, and will be ignored when - sending a request. + :param next_link: URL to fetch the next set of alert processing rules. + :type next_link: str + :param value: List of alert processing rules. + :type value: list[~azure.mgmt.alertsmanagement.models.AlertProcessingRule] + """ - :ivar id: The resource ID. - :vartype id: str - :ivar type: The resource type. - :vartype type: str - :ivar name: The resource name. - :vartype name: str - :param tags: The resource tags. - :type tags: object - :param description: The alert rule description. - :type description: str - :param state: The alert rule state. Possible values include: 'Enabled', - 'Disabled' - :type state: str or ~azure.mgmt.alertsmanagement.models.AlertRuleState - :param severity: The alert rule severity. Possible values include: 'Sev0', - 'Sev1', 'Sev2', 'Sev3', 'Sev4' - :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param frequency: The alert rule frequency in ISO8601 format. The time - granularity must be in minutes and minimum value is 5 minutes. - :type frequency: timedelta - :param action_groups: The alert rule actions. - :type action_groups: - ~azure.mgmt.alertsmanagement.models.ActionGroupsInformation - :param throttling: The alert rule throttling information. - :type throttling: - ~azure.mgmt.alertsmanagement.models.ThrottlingInformation + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[AlertProcessingRule]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["AlertProcessingRule"]] = None, + **kwargs + ): + super(AlertProcessingRulesList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class AlertProperties(msrest.serialization.Model): + """Alert property bag. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param essentials: This object contains consistent fields across different monitor services. + :type essentials: ~azure.mgmt.alertsmanagement.models.Essentials + :ivar context: Any object. + :vartype context: object + :ivar egress_config: Any object. + :vartype egress_config: object """ _validation = { - 'id': {'readonly': True}, - 'type': {'readonly': True}, - 'name': {'readonly': True}, + 'context': {'readonly': True}, + 'egress_config': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': 'object'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'severity': {'key': 'properties.severity', 'type': 'str'}, - 'frequency': {'key': 'properties.frequency', 'type': 'duration'}, - 'action_groups': {'key': 'properties.actionGroups', 'type': 'ActionGroupsInformation'}, - 'throttling': {'key': 'properties.throttling', 'type': 'ThrottlingInformation'}, + 'essentials': {'key': 'essentials', 'type': 'Essentials'}, + 'context': {'key': 'context', 'type': 'object'}, + 'egress_config': {'key': 'egressConfig', 'type': 'object'}, } - def __init__(self, *, tags=None, description: str=None, state=None, severity=None, frequency=None, action_groups=None, throttling=None, **kwargs) -> None: - super(AlertRulePatchObject, self).__init__(**kwargs) - self.id = None - self.type = None - self.name = None - self.tags = tags - self.description = description - self.state = state - self.severity = severity - self.frequency = frequency - self.action_groups = action_groups - self.throttling = throttling + def __init__( + self, + *, + essentials: Optional["Essentials"] = None, + **kwargs + ): + super(AlertProperties, self).__init__(**kwargs) + self.essentials = essentials + self.context = None + self.egress_config = None + + +class AlertsList(msrest.serialization.Model): + """List the alerts. + :param next_link: URL to fetch the next set of alerts. + :type next_link: str + :param value: List of alerts. + :type value: list[~azure.mgmt.alertsmanagement.models.Alert] + """ -class AlertsMetaData(Model): + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Alert]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["Alert"]] = None, + **kwargs + ): + super(AlertsList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class AlertsMetaData(msrest.serialization.Model): """alert meta data information. - :param properties: - :type properties: - ~azure.mgmt.alertsmanagement.models.AlertsMetaDataProperties + :param properties: alert meta data property bag. + :type properties: ~azure.mgmt.alertsmanagement.models.AlertsMetaDataProperties """ _attribute_map = { 'properties': {'key': 'properties', 'type': 'AlertsMetaDataProperties'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__( + self, + *, + properties: Optional["AlertsMetaDataProperties"] = None, + **kwargs + ): super(AlertsMetaData, self).__init__(**kwargs) self.properties = properties -class AlertsMetaDataProperties(Model): +class AlertsMetaDataProperties(msrest.serialization.Model): """alert meta data property bag. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: MonitorServiceList + sub-classes are: MonitorServiceList. All required parameters must be populated in order to send to Azure. - :param metadata_identifier: Required. Constant filled by server. - :type metadata_identifier: str + :param metadata_identifier: Required. Identification of the information to be retrieved by API + call.Constant filled by server. Possible values include: "MonitorServiceList". + :type metadata_identifier: str or ~azure.mgmt.alertsmanagement.models.MetadataIdentifier """ _validation = { @@ -692,24 +564,26 @@ class AlertsMetaDataProperties(Model): 'metadata_identifier': {'MonitorServiceList': 'MonitorServiceList'} } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(AlertsMetaDataProperties, self).__init__(**kwargs) - self.metadata_identifier = None + self.metadata_identifier = None # type: Optional[str] class AlertsSummary(Resource): """Summary of alerts based on the input filters and 'groupby' parameters. - 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: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param properties: + :param properties: Group the result set. :type properties: ~azure.mgmt.alertsmanagement.models.AlertsSummaryGroup """ @@ -726,33 +600,45 @@ class AlertsSummary(Resource): 'properties': {'key': 'properties', 'type': 'AlertsSummaryGroup'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__( + self, + *, + properties: Optional["AlertsSummaryGroup"] = None, + **kwargs + ): super(AlertsSummary, self).__init__(**kwargs) self.properties = properties -class AlertsSummaryGroup(Model): +class AlertsSummaryGroup(msrest.serialization.Model): """Group the result set. :param total: Total count of the result set. - :type total: int + :type total: long :param smart_groups_count: Total count of the smart groups. - :type smart_groups_count: int - :param groupedby: Name of the field aggregated + :type smart_groups_count: long + :param groupedby: Name of the field aggregated. :type groupedby: str - :param values: List of the items - :type values: - list[~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupItem] + :param values: List of the items. + :type values: list[~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupItem] """ _attribute_map = { - 'total': {'key': 'total', 'type': 'int'}, - 'smart_groups_count': {'key': 'smartGroupsCount', 'type': 'int'}, + 'total': {'key': 'total', 'type': 'long'}, + 'smart_groups_count': {'key': 'smartGroupsCount', 'type': 'long'}, 'groupedby': {'key': 'groupedby', 'type': 'str'}, 'values': {'key': 'values', 'type': '[AlertsSummaryGroupItem]'}, } - def __init__(self, *, total: int=None, smart_groups_count: int=None, groupedby: str=None, values=None, **kwargs) -> None: + def __init__( + self, + *, + total: Optional[int] = None, + smart_groups_count: Optional[int] = None, + groupedby: Optional[str] = None, + values: Optional[List["AlertsSummaryGroupItem"]] = None, + **kwargs + ): super(AlertsSummaryGroup, self).__init__(**kwargs) self.total = total self.smart_groups_count = smart_groups_count @@ -760,28 +646,35 @@ def __init__(self, *, total: int=None, smart_groups_count: int=None, groupedby: self.values = values -class AlertsSummaryGroupItem(Model): +class AlertsSummaryGroupItem(msrest.serialization.Model): """Alerts summary group item. - :param name: Value of the aggregated field + :param name: Value of the aggregated field. :type name: str - :param count: Count of the aggregated field - :type count: int - :param groupedby: Name of the field aggregated + :param count: Count of the aggregated field. + :type count: long + :param groupedby: Name of the field aggregated. :type groupedby: str - :param values: List of the items - :type values: - list[~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupItem] + :param values: List of the items. + :type values: list[~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupItem] """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'long'}, 'groupedby': {'key': 'groupedby', 'type': 'str'}, 'values': {'key': 'values', 'type': '[AlertsSummaryGroupItem]'}, } - def __init__(self, *, name: str=None, count: int=None, groupedby: str=None, values=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + count: Optional[int] = None, + groupedby: Optional[str] = None, + values: Optional[List["AlertsSummaryGroupItem"]] = None, + **kwargs + ): super(AlertsSummaryGroupItem, self).__init__(**kwargs) self.name = name self.count = count @@ -789,186 +682,123 @@ def __init__(self, *, name: str=None, count: int=None, groupedby: str=None, valu self.values = values -class CloudError(Model): - """CloudError. - """ - - _attribute_map = { - } - +class Condition(msrest.serialization.Model): + """Condition to trigger an alert processing rule. -class Condition(Model): - """condition to trigger an action rule. - - :param operator: operator for a given condition. Possible values include: - 'Equals', 'NotEquals', 'Contains', 'DoesNotContain' + :param field: Field for a given condition. Possible values include: "Severity", + "MonitorService", "MonitorCondition", "SignalType", "TargetResourceType", "TargetResource", + "TargetResourceGroup", "AlertRuleId", "AlertRuleName", "Description", "AlertContext". + :type field: str or ~azure.mgmt.alertsmanagement.models.Field + :param operator: Operator for a given condition. Possible values include: "Equals", + "NotEquals", "Contains", "DoesNotContain". :type operator: str or ~azure.mgmt.alertsmanagement.models.Operator - :param values: list of values to match for a given condition. + :param values: List of values to match for a given condition. :type values: list[str] """ _attribute_map = { + 'field': {'key': 'field', 'type': 'str'}, 'operator': {'key': 'operator', 'type': 'str'}, 'values': {'key': 'values', 'type': '[str]'}, } - def __init__(self, *, operator=None, values=None, **kwargs) -> None: + def __init__( + self, + *, + field: Optional[Union[str, "Field"]] = None, + operator: Optional[Union[str, "Operator"]] = None, + values: Optional[List[str]] = None, + **kwargs + ): super(Condition, self).__init__(**kwargs) + self.field = field self.operator = operator self.values = values -class Conditions(Model): - """Conditions in alert instance to be matched for a given action rule. Default - value is all. Multiple values could be provided with comma separation. - - :param severity: filter alerts by severity - :type severity: ~azure.mgmt.alertsmanagement.models.Condition - :param monitor_service: filter alerts by monitor service - :type monitor_service: ~azure.mgmt.alertsmanagement.models.Condition - :param monitor_condition: filter alerts by monitor condition - :type monitor_condition: ~azure.mgmt.alertsmanagement.models.Condition - :param target_resource_type: filter alerts by target resource type - :type target_resource_type: ~azure.mgmt.alertsmanagement.models.Condition - :param alert_rule_id: filter alerts by alert rule id - :type alert_rule_id: ~azure.mgmt.alertsmanagement.models.Condition - :param description: filter alerts by alert rule description - :type description: ~azure.mgmt.alertsmanagement.models.Condition - :param alert_context: filter alerts by alert context (payload) - :type alert_context: ~azure.mgmt.alertsmanagement.models.Condition - """ - - _attribute_map = { - 'severity': {'key': 'severity', 'type': 'Condition'}, - 'monitor_service': {'key': 'monitorService', 'type': 'Condition'}, - 'monitor_condition': {'key': 'monitorCondition', 'type': 'Condition'}, - 'target_resource_type': {'key': 'targetResourceType', 'type': 'Condition'}, - 'alert_rule_id': {'key': 'alertRuleId', 'type': 'Condition'}, - 'description': {'key': 'description', 'type': 'Condition'}, - 'alert_context': {'key': 'alertContext', 'type': 'Condition'}, - } - - def __init__(self, *, severity=None, monitor_service=None, monitor_condition=None, target_resource_type=None, alert_rule_id=None, description=None, alert_context=None, **kwargs) -> None: - super(Conditions, self).__init__(**kwargs) - self.severity = severity - self.monitor_service = monitor_service - self.monitor_condition = monitor_condition - self.target_resource_type = target_resource_type - self.alert_rule_id = alert_rule_id - self.description = description - self.alert_context = alert_context +class Recurrence(msrest.serialization.Model): + """Recurrence object. - -class Detector(Model): - """The detector information. By default this is not populated, unless it's - specified in expandDetector. + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DailyRecurrence, MonthlyRecurrence, WeeklyRecurrence. All required parameters must be populated in order to send to Azure. - :param id: Required. The detector id. - :type id: str - :param parameters: The detector's parameters.' - :type parameters: dict[str, object] - :param name: The Smart Detector name. By default this is not populated, - unless it's specified in expandDetector - :type name: str - :param description: The Smart Detector description. By default this is not - populated, unless it's specified in expandDetector - :type description: str - :param supported_resource_types: The Smart Detector supported resource - types. By default this is not populated, unless it's specified in - expandDetector - :type supported_resource_types: list[str] - :param image_paths: The Smart Detector image path. By default this is not - populated, unless it's specified in expandDetector - :type image_paths: list[str] + :param recurrence_type: Required. Specifies when the recurrence should be applied.Constant + filled by server. Possible values include: "Daily", "Weekly", "Monthly". + :type recurrence_type: str or ~azure.mgmt.alertsmanagement.models.RecurrenceType + :param start_time: Start time for recurrence. + :type start_time: str + :param end_time: End time for recurrence. + :type end_time: str """ _validation = { - 'id': {'required': True}, + 'recurrence_type': {'required': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'parameters': {'key': 'parameters', 'type': '{object}'}, - 'name': {'key': 'name', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'supported_resource_types': {'key': 'supportedResourceTypes', 'type': '[str]'}, - 'image_paths': {'key': 'imagePaths', 'type': '[str]'}, + 'recurrence_type': {'key': 'recurrenceType', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, } - def __init__(self, *, id: str, parameters=None, name: str=None, description: str=None, supported_resource_types=None, image_paths=None, **kwargs) -> None: - super(Detector, self).__init__(**kwargs) - self.id = id - self.parameters = parameters - self.name = name - self.description = description - self.supported_resource_types = supported_resource_types - self.image_paths = image_paths - - -class Diagnostics(ActionRuleProperties): - """Diagnostics based Action Rule. + _subtype_map = { + 'recurrence_type': {'Daily': 'DailyRecurrence', 'Monthly': 'MonthlyRecurrence', 'Weekly': 'WeeklyRecurrence'} + } + + def __init__( + self, + *, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs + ): + super(Recurrence, self).__init__(**kwargs) + self.recurrence_type = None # type: Optional[str] + self.start_time = start_time + self.end_time = end_time - Action rule with diagnostics configuration. - Variables are only populated by the server, and will be ignored when - sending a request. +class DailyRecurrence(Recurrence): + """Daily recurrence object. All required parameters must be populated in order to send to Azure. - :param scope: scope on which action rule will apply - :type scope: ~azure.mgmt.alertsmanagement.models.Scope - :param conditions: conditions on which alerts will be filtered - :type conditions: ~azure.mgmt.alertsmanagement.models.Conditions - :param description: Description of action rule - :type description: str - :ivar created_at: Creation time of action rule. Date-Time in ISO-8601 - format. - :vartype created_at: datetime - :ivar last_modified_at: Last updated time of action rule. Date-Time in - ISO-8601 format. - :vartype last_modified_at: datetime - :ivar created_by: Created by user name. - :vartype created_by: str - :ivar last_modified_by: Last modified by user name. - :vartype last_modified_by: str - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param type: Required. Constant filled by server. - :type type: str + :param recurrence_type: Required. Specifies when the recurrence should be applied.Constant + filled by server. Possible values include: "Daily", "Weekly", "Monthly". + :type recurrence_type: str or ~azure.mgmt.alertsmanagement.models.RecurrenceType + :param start_time: Start time for recurrence. + :type start_time: str + :param end_time: End time for recurrence. + :type end_time: str """ _validation = { - 'created_at': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - 'created_by': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'type': {'required': True}, + 'recurrence_type': {'required': True}, } _attribute_map = { - 'scope': {'key': 'scope', 'type': 'Scope'}, - 'conditions': {'key': 'conditions', 'type': 'Conditions'}, - 'description': {'key': 'description', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - 'created_by': {'key': 'createdBy', 'type': 'str'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, + 'recurrence_type': {'key': 'recurrenceType', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, } - def __init__(self, *, scope=None, conditions=None, description: str=None, status=None, **kwargs) -> None: - super(Diagnostics, self).__init__(scope=scope, conditions=conditions, description=description, status=status, **kwargs) - self.type = 'Diagnostics' + def __init__( + self, + *, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs + ): + super(DailyRecurrence, self).__init__(start_time=start_time, end_time=end_time, **kwargs) + self.recurrence_type = 'Daily' # type: str -class ErrorResponse(Model): +class ErrorResponse(msrest.serialization.Model): """An error response from the service. - :param error: + :param error: Details of error response. :type error: ~azure.mgmt.alertsmanagement.models.ErrorResponseBody """ @@ -976,65 +806,24 @@ class ErrorResponse(Model): 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, } - def __init__(self, *, error=None, **kwargs) -> None: + def __init__( + self, + *, + error: Optional["ErrorResponseBody"] = None, + **kwargs + ): 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) - - -class ErrorResponse1(Model): - """Describe the format of an Error response. - - :param code: Error code - :type code: str - :param message: Error message indicating why the operation failed. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: - super(ErrorResponse1, self).__init__(**kwargs) - self.code = code - self.message = message - - -class ErrorResponse1Exception(HttpOperationError): - """Server responsed with exception of type: 'ErrorResponse1'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorResponse1Exception, self).__init__(deserialize, response, 'ErrorResponse1', *args) - - -class ErrorResponseBody(Model): +class ErrorResponseBody(msrest.serialization.Model): """Details of error response. :param code: Error code, intended to be consumed programmatically. :type code: str - :param message: Description of the error, intended for display in user - interface. + :param message: Description of the error, intended for display in user interface. :type message: str - :param target: Target of the particular error, for example name of the - property. + :param target: Target of the particular error, for example name of the property. :type target: str :param details: A list of additional details about the error. :type details: list[~azure.mgmt.alertsmanagement.models.ErrorResponseBody] @@ -1047,7 +836,15 @@ class ErrorResponseBody(Model): 'details': {'key': 'details', 'type': '[ErrorResponseBody]'}, } - def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["ErrorResponseBody"]] = None, + **kwargs + ): super(ErrorResponseBody, self).__init__(**kwargs) self.code = code self.message = message @@ -1055,72 +852,59 @@ def __init__(self, *, code: str=None, message: str=None, target: str=None, detai self.details = details -class Essentials(Model): +class Essentials(msrest.serialization.Model): """This object contains consistent fields across different monitor services. - 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 severity: Severity of alert Sev0 being highest and Sev4 being - lowest. Possible values include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' + :ivar severity: Severity of alert Sev0 being highest and Sev4 being lowest. Possible values + include: "Sev0", "Sev1", "Sev2", "Sev3", "Sev4". :vartype severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :ivar signal_type: The type of signal the alert is based on, which could - be metrics, logs or activity logs. Possible values include: 'Metric', - 'Log', 'Unknown' - :vartype signal_type: str or - ~azure.mgmt.alertsmanagement.models.SignalType - :ivar alert_state: Alert object state, which can be modified by the user. - Possible values include: 'New', 'Acknowledged', 'Closed' - :vartype alert_state: str or - ~azure.mgmt.alertsmanagement.models.AlertState - :ivar monitor_condition: Condition of the rule at the monitor service. It - represents whether the underlying conditions have crossed the defined - alert rule thresholds. Possible values include: 'Fired', 'Resolved' - :vartype monitor_condition: str or - ~azure.mgmt.alertsmanagement.models.MonitorCondition + :ivar signal_type: The type of signal the alert is based on, which could be metrics, logs or + activity logs. Possible values include: "Metric", "Log", "Unknown". + :vartype signal_type: str or ~azure.mgmt.alertsmanagement.models.SignalType + :ivar alert_state: Alert object state, which can be modified by the user. Possible values + include: "New", "Acknowledged", "Closed". + :vartype alert_state: str or ~azure.mgmt.alertsmanagement.models.AlertState + :ivar monitor_condition: Condition of the rule at the monitor service. It represents whether + the underlying conditions have crossed the defined alert rule thresholds. Possible values + include: "Fired", "Resolved". + :vartype monitor_condition: str or ~azure.mgmt.alertsmanagement.models.MonitorCondition :param target_resource: Target ARM resource, on which alert got created. :type target_resource: str - :param target_resource_name: Name of the target ARM resource name, on - which alert got created. + :param target_resource_name: Name of the target ARM resource name, on which alert got created. :type target_resource_name: str - :param target_resource_group: Resource group of target ARM resource, on - which alert got created. + :param target_resource_group: Resource group of target ARM resource, on which alert got + created. :type target_resource_group: str - :param target_resource_type: Resource type of target ARM resource, on - which alert got created. + :param target_resource_type: Resource type of target ARM resource, on which alert got created. :type target_resource_type: str - :ivar monitor_service: Monitor service on which the rule(monitor) is set. - Possible values include: 'Application Insights', 'ActivityLog - Administrative', 'ActivityLog Security', 'ActivityLog Recommendation', - 'ActivityLog Policy', 'ActivityLog Autoscale', 'Log Analytics', 'Nagios', - 'Platform', 'SCOM', 'ServiceHealth', 'SmartDetector', 'VM Insights', - 'Zabbix' - :vartype monitor_service: str or - ~azure.mgmt.alertsmanagement.models.MonitorService - :ivar alert_rule: Rule(monitor) which fired alert instance. Depending on - the monitor service, this would be ARM id or name of the rule. + :ivar monitor_service: Monitor service on which the rule(monitor) is set. Possible values + include: "Application Insights", "ActivityLog Administrative", "ActivityLog Security", + "ActivityLog Recommendation", "ActivityLog Policy", "ActivityLog Autoscale", "Log Analytics", + "Nagios", "Platform", "SCOM", "ServiceHealth", "SmartDetector", "VM Insights", "Zabbix". + :vartype monitor_service: str or ~azure.mgmt.alertsmanagement.models.MonitorService + :ivar alert_rule: Rule(monitor) which fired alert instance. Depending on the monitor service, + this would be ARM id or name of the rule. :vartype alert_rule: str - :ivar source_created_id: Unique Id created by monitor service for each - alert instance. This could be used to track the issue at the monitor - service, in case of Nagios, Zabbix, SCOM etc. + :ivar source_created_id: Unique Id created by monitor service for each alert instance. This + could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc. :vartype source_created_id: str - :ivar smart_group_id: Unique Id of the smart group + :ivar smart_group_id: Unique Id of the smart group. :vartype smart_group_id: str - :ivar smart_grouping_reason: Verbose reason describing the reason why this - alert instance is added to a smart group + :ivar smart_grouping_reason: Verbose reason describing the reason why this alert instance is + added to a smart group. :vartype smart_grouping_reason: str :ivar start_date_time: Creation time(ISO-8601 format) of alert instance. - :vartype start_date_time: datetime - :ivar last_modified_date_time: Last modification time(ISO-8601 format) of - alert instance. - :vartype last_modified_date_time: datetime - :ivar monitor_condition_resolved_date_time: Resolved time(ISO-8601 format) - of alert instance. This will be updated when monitor service resolves the - alert instance because the rule condition is no longer met. - :vartype monitor_condition_resolved_date_time: datetime - :ivar last_modified_user_name: User who last modified the alert, in case - of monitor service updates user would be 'system', otherwise name of the - user. + :vartype start_date_time: ~datetime.datetime + :ivar last_modified_date_time: Last modification time(ISO-8601 format) of alert instance. + :vartype last_modified_date_time: ~datetime.datetime + :ivar monitor_condition_resolved_date_time: Resolved time(ISO-8601 format) of alert instance. + This will be updated when monitor service resolves the alert instance because the rule + condition is no longer met. + :vartype monitor_condition_resolved_date_time: ~datetime.datetime + :ivar last_modified_user_name: User who last modified the alert, in case of monitor service + updates user would be 'system', otherwise name of the user. :vartype last_modified_user_name: str """ @@ -1160,7 +944,15 @@ class Essentials(Model): 'last_modified_user_name': {'key': 'lastModifiedUserName', 'type': 'str'}, } - def __init__(self, *, target_resource: str=None, target_resource_name: str=None, target_resource_group: str=None, target_resource_type: str=None, **kwargs) -> None: + def __init__( + self, + *, + target_resource: Optional[str] = None, + target_resource_name: Optional[str] = None, + target_resource_group: Optional[str] = None, + target_resource_type: Optional[str] = None, + **kwargs + ): super(Essentials, self).__init__(**kwargs) self.severity = None self.signal_type = None @@ -1181,12 +973,12 @@ def __init__(self, *, target_resource: str=None, target_resource_name: str=None, self.last_modified_user_name = None -class MonitorServiceDetails(Model): +class MonitorServiceDetails(msrest.serialization.Model): """Details of a monitor service. - :param name: Monitor service name + :param name: Monitor service name. :type name: str - :param display_name: Monitor service display name + :param display_name: Monitor service display name. :type display_name: str """ @@ -1195,7 +987,13 @@ class MonitorServiceDetails(Model): 'display_name': {'key': 'displayName', 'type': 'str'}, } - def __init__(self, *, name: str=None, display_name: str=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + **kwargs + ): super(MonitorServiceDetails, self).__init__(**kwargs) self.name = name self.display_name = display_name @@ -1204,15 +1002,13 @@ def __init__(self, *, name: str=None, display_name: str=None, **kwargs) -> None: class MonitorServiceList(AlertsMetaDataProperties): """Monitor service details. - Monitor service details. - All required parameters must be populated in order to send to Azure. - :param metadata_identifier: Required. Constant filled by server. - :type metadata_identifier: str - :param data: Required. Array of operations - :type data: - list[~azure.mgmt.alertsmanagement.models.MonitorServiceDetails] + :param metadata_identifier: Required. Identification of the information to be retrieved by API + call.Constant filled by server. Possible values include: "MonitorServiceList". + :type metadata_identifier: str or ~azure.mgmt.alertsmanagement.models.MetadataIdentifier + :param data: Required. Array of operations. + :type data: list[~azure.mgmt.alertsmanagement.models.MonitorServiceDetails] """ _validation = { @@ -1225,18 +1021,64 @@ class MonitorServiceList(AlertsMetaDataProperties): 'data': {'key': 'data', 'type': '[MonitorServiceDetails]'}, } - def __init__(self, *, data, **kwargs) -> None: + def __init__( + self, + *, + data: List["MonitorServiceDetails"], + **kwargs + ): super(MonitorServiceList, self).__init__(**kwargs) + self.metadata_identifier = 'MonitorServiceList' # type: str self.data = data - self.metadata_identifier = 'MonitorServiceList' -class Operation(Model): +class MonthlyRecurrence(Recurrence): + """Monthly recurrence object. + + All required parameters must be populated in order to send to Azure. + + :param recurrence_type: Required. Specifies when the recurrence should be applied.Constant + filled by server. Possible values include: "Daily", "Weekly", "Monthly". + :type recurrence_type: str or ~azure.mgmt.alertsmanagement.models.RecurrenceType + :param start_time: Start time for recurrence. + :type start_time: str + :param end_time: End time for recurrence. + :type end_time: str + :param days_of_month: Required. Specifies the values for monthly recurrence pattern. + :type days_of_month: list[int] + """ + + _validation = { + 'recurrence_type': {'required': True}, + 'days_of_month': {'required': True}, + } + + _attribute_map = { + 'recurrence_type': {'key': 'recurrenceType', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'end_time': {'key': 'endTime', 'type': 'str'}, + 'days_of_month': {'key': 'daysOfMonth', 'type': '[int]'}, + } + + def __init__( + self, + *, + days_of_month: List[int], + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs + ): + super(MonthlyRecurrence, self).__init__(start_time=start_time, end_time=end_time, **kwargs) + self.recurrence_type = 'Monthly' # type: str + self.days_of_month = days_of_month + + +class Operation(msrest.serialization.Model): """Operation provided by provider. - :param name: Name of the operation + :param name: Name of the operation. :type name: str - :param display: Properties of the operation + :param display: Properties of the operation. :type display: ~azure.mgmt.alertsmanagement.models.OperationDisplay """ @@ -1245,22 +1087,28 @@ class Operation(Model): 'display': {'key': 'display', 'type': 'OperationDisplay'}, } - def __init__(self, *, name: str=None, display=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["OperationDisplay"] = None, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = name self.display = display -class OperationDisplay(Model): +class OperationDisplay(msrest.serialization.Model): """Properties of the operation. - :param provider: Provider name + :param provider: Provider name. :type provider: str - :param resource: Resource name + :param resource: Resource name. :type resource: str - :param operation: Operation name + :param operation: Operation name. :type operation: str - :param description: Description of the operation + :param description: Description of the operation. :type description: str """ @@ -1271,7 +1119,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 @@ -1279,105 +1135,175 @@ def __init__(self, *, provider: str=None, resource: str=None, operation: str=Non self.description = description -class PatchObject(Model): +class OperationsList(msrest.serialization.Model): + """Lists the operations available in the AlertsManagement RP. + + All required parameters must be populated in order to send to Azure. + + :param next_link: URL to fetch the next set of alerts. + :type next_link: str + :param value: Required. Array of operations. + :type value: list[~azure.mgmt.alertsmanagement.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 PatchObject(msrest.serialization.Model): """Data contract for patch. - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param tags: tags to be updated - :type tags: object + :param tags: A set of tags. Tags to be updated. + :type tags: dict[str, str] + :param enabled: Indicates if the given alert processing rule is enabled or disabled. + :type enabled: bool """ _attribute_map = { - 'status': {'key': 'properties.status', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': 'object'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, } - def __init__(self, *, status=None, tags=None, **kwargs) -> None: + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + enabled: Optional[bool] = None, + **kwargs + ): super(PatchObject, self).__init__(**kwargs) - self.status = status self.tags = tags + self.enabled = enabled -class Scope(Model): - """Target scope for a given action rule. By default scope will be the - subscription. User can also provide list of resource groups or list of - resources from the scope subscription as well. +class RemoveAllActionGroups(Action): + """Indicates if all action groups should be removed. - :param scope_type: type of target scope. Possible values include: - 'ResourceGroup', 'Resource' - :type scope_type: str or ~azure.mgmt.alertsmanagement.models.ScopeType - :param values: list of ARM IDs of the given scope type which will be the - target of the given action rule. - :type values: list[str] + All required parameters must be populated in order to send to Azure. + + :param action_type: Required. Action that should be applied.Constant filled by server. + Possible values include: "AddActionGroups", "RemoveAllActionGroups". + :type action_type: str or ~azure.mgmt.alertsmanagement.models.ActionType """ + _validation = { + 'action_type': {'required': True}, + } + _attribute_map = { - 'scope_type': {'key': 'scopeType', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[str]'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RemoveAllActionGroups, self).__init__(**kwargs) + self.action_type = 'RemoveAllActionGroups' # type: str + + +class Schedule(msrest.serialization.Model): + """Scheduling configuration for a given alert processing rule. + + :param effective_from: Scheduling effective from time. Date-Time in ISO-8601 format without + timezone suffix. + :type effective_from: str + :param effective_until: Scheduling effective until time. Date-Time in ISO-8601 format without + timezone suffix. + :type effective_until: str + :param time_zone: Scheduling time zone. + :type time_zone: str + :param recurrences: List of recurrences. + :type recurrences: list[~azure.mgmt.alertsmanagement.models.Recurrence] + """ + + _validation = { + 'effective_from': {'pattern': r'^(?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))$'}, + 'effective_until': {'pattern': r'^(?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))$'}, } - def __init__(self, *, scope_type=None, values=None, **kwargs) -> None: - super(Scope, self).__init__(**kwargs) - self.scope_type = scope_type - self.values = values + _attribute_map = { + 'effective_from': {'key': 'effectiveFrom', 'type': 'str'}, + 'effective_until': {'key': 'effectiveUntil', 'type': 'str'}, + 'time_zone': {'key': 'timeZone', 'type': 'str'}, + 'recurrences': {'key': 'recurrences', 'type': '[Recurrence]'}, + } + + def __init__( + self, + *, + effective_from: Optional[str] = None, + effective_until: Optional[str] = None, + time_zone: Optional[str] = None, + recurrences: Optional[List["Recurrence"]] = None, + **kwargs + ): + super(Schedule, self).__init__(**kwargs) + self.effective_from = effective_from + self.effective_until = effective_until + self.time_zone = time_zone + self.recurrences = recurrences class SmartGroup(Resource): """Set of related alerts grouped together smartly by AMS. - 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: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param alerts_count: Total number of alerts in smart group - :type alerts_count: int - :ivar smart_group_state: Smart group state. Possible values include: - 'New', 'Acknowledged', 'Closed' - :vartype smart_group_state: str or - ~azure.mgmt.alertsmanagement.models.State - :ivar severity: Severity of smart group is the highest(Sev0 >... > Sev4) - severity of all the alerts in the group. Possible values include: 'Sev0', - 'Sev1', 'Sev2', 'Sev3', 'Sev4' + :param alerts_count: Total number of alerts in smart group. + :type alerts_count: long + :ivar smart_group_state: Smart group state. Possible values include: "New", "Acknowledged", + "Closed". + :vartype smart_group_state: str or ~azure.mgmt.alertsmanagement.models.State + :ivar severity: Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the + alerts in the group. Possible values include: "Sev0", "Sev1", "Sev2", "Sev3", "Sev4". :vartype severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :ivar start_date_time: Creation time of smart group. Date-Time in ISO-8601 - format. - :vartype start_date_time: datetime - :ivar last_modified_date_time: Last updated time of smart group. Date-Time - in ISO-8601 format. - :vartype last_modified_date_time: datetime + :ivar start_date_time: Creation time of smart group. Date-Time in ISO-8601 format. + :vartype start_date_time: ~datetime.datetime + :ivar last_modified_date_time: Last updated time of smart group. Date-Time in ISO-8601 format. + :vartype last_modified_date_time: ~datetime.datetime :ivar last_modified_user_name: Last modified by user name. :vartype last_modified_user_name: str - :param resources: Summary of target resources in the smart group - :type resources: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param resource_types: Summary of target resource types in the smart group - :type resource_types: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param resource_groups: Summary of target resource groups in the smart - group - :type resource_groups: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param monitor_services: Summary of monitorServices in the smart group - :type monitor_services: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param monitor_conditions: Summary of monitorConditions in the smart group + :param resources: Summary of target resources in the smart group. + :type resources: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param resource_types: Summary of target resource types in the smart group. + :type resource_types: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param resource_groups: Summary of target resource groups in the smart group. + :type resource_groups: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param monitor_services: Summary of monitorServices in the smart group. + :type monitor_services: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param monitor_conditions: Summary of monitorConditions in the smart group. :type monitor_conditions: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param alert_states: Summary of alertStates in the smart group - :type alert_states: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param alert_severities: Summary of alertSeverities in the smart group - :type alert_severities: - list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] - :param next_link: The URI to fetch the next page of alerts. Call - ListNext() with this URI to fetch the next page alerts. + :param alert_states: Summary of alertStates in the smart group. + :type alert_states: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param alert_severities: Summary of alertSeverities in the smart group. + :type alert_severities: list[~azure.mgmt.alertsmanagement.models.SmartGroupAggregatedProperty] + :param next_link: The URI to fetch the next page of alerts. Call ListNext() with this URI to + fetch the next page alerts. :type next_link: str """ @@ -1396,7 +1322,7 @@ class SmartGroup(Resource): 'id': {'key': 'id', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, - 'alerts_count': {'key': 'properties.alertsCount', 'type': 'int'}, + 'alerts_count': {'key': 'properties.alertsCount', 'type': 'long'}, 'smart_group_state': {'key': 'properties.smartGroupState', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'str'}, 'start_date_time': {'key': 'properties.startDateTime', 'type': 'iso-8601'}, @@ -1412,7 +1338,20 @@ class SmartGroup(Resource): 'next_link': {'key': 'properties.nextLink', 'type': 'str'}, } - def __init__(self, *, alerts_count: int=None, resources=None, resource_types=None, resource_groups=None, monitor_services=None, monitor_conditions=None, alert_states=None, alert_severities=None, next_link: str=None, **kwargs) -> None: + def __init__( + self, + *, + alerts_count: Optional[int] = None, + resources: Optional[List["SmartGroupAggregatedProperty"]] = None, + resource_types: Optional[List["SmartGroupAggregatedProperty"]] = None, + resource_groups: Optional[List["SmartGroupAggregatedProperty"]] = None, + monitor_services: Optional[List["SmartGroupAggregatedProperty"]] = None, + monitor_conditions: Optional[List["SmartGroupAggregatedProperty"]] = None, + alert_states: Optional[List["SmartGroupAggregatedProperty"]] = None, + alert_severities: Optional[List["SmartGroupAggregatedProperty"]] = None, + next_link: Optional[str] = None, + **kwargs + ): super(SmartGroup, self).__init__(**kwargs) self.alerts_count = alerts_count self.smart_group_state = None @@ -1430,21 +1369,27 @@ def __init__(self, *, alerts_count: int=None, resources=None, resource_types=Non self.next_link = next_link -class SmartGroupAggregatedProperty(Model): +class SmartGroupAggregatedProperty(msrest.serialization.Model): """Aggregated property of each type. :param name: Name of the type. :type name: str :param count: Total number of items of type. - :type count: int + :type count: long """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, - 'count': {'key': 'count', 'type': 'int'}, + 'count': {'key': 'count', 'type': 'long'}, } - def __init__(self, *, name: str=None, count: int=None, **kwargs) -> None: + def __init__( + self, + *, + name: Optional[str] = None, + count: Optional[int] = None, + **kwargs + ): super(SmartGroupAggregatedProperty, self).__init__(**kwargs) self.name = name self.count = count @@ -1453,18 +1398,16 @@ def __init__(self, *, name: str=None, count: int=None, **kwargs) -> None: class SmartGroupModification(Resource): """Alert Modification 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 id: Azure resource Id + :ivar id: Azure resource Id. :vartype id: str - :ivar type: Azure resource type + :ivar type: Azure resource type. :vartype type: str - :ivar name: Azure resource name + :ivar name: Azure resource name. :vartype name: str - :param properties: - :type properties: - ~azure.mgmt.alertsmanagement.models.SmartGroupModificationProperties + :param properties: Properties of the smartGroup modification item. + :type properties: ~azure.mgmt.alertsmanagement.models.SmartGroupModificationProperties """ _validation = { @@ -1480,34 +1423,39 @@ class SmartGroupModification(Resource): 'properties': {'key': 'properties', 'type': 'SmartGroupModificationProperties'}, } - def __init__(self, *, properties=None, **kwargs) -> None: + def __init__( + self, + *, + properties: Optional["SmartGroupModificationProperties"] = None, + **kwargs + ): super(SmartGroupModification, self).__init__(**kwargs) self.properties = properties -class SmartGroupModificationItem(Model): +class SmartGroupModificationItem(msrest.serialization.Model): """smartGroup modification item. - :param modification_event: Reason for the modification. Possible values - include: 'SmartGroupCreated', 'StateChange', 'AlertAdded', 'AlertRemoved' + :param modification_event: Reason for the modification. Possible values include: + "SmartGroupCreated", "StateChange", "AlertAdded", "AlertRemoved". :type modification_event: str or ~azure.mgmt.alertsmanagement.models.SmartGroupModificationEvent - :param old_value: Old value + :param old_value: Old value. :type old_value: str - :param new_value: New value + :param new_value: New value. :type new_value: str - :param modified_at: Modified date and time + :param modified_at: Modified date and time. :type modified_at: str - :param modified_by: Modified user details (Principal client name) + :param modified_by: Modified user details (Principal client name). :type modified_by: str - :param comments: Modification comments + :param comments: Modification comments. :type comments: str - :param description: Description of the modification + :param description: Description of the modification. :type description: str """ _attribute_map = { - 'modification_event': {'key': 'modificationEvent', 'type': 'SmartGroupModificationEvent'}, + 'modification_event': {'key': 'modificationEvent', 'type': 'str'}, 'old_value': {'key': 'oldValue', 'type': 'str'}, 'new_value': {'key': 'newValue', 'type': 'str'}, 'modified_at': {'key': 'modifiedAt', 'type': 'str'}, @@ -1516,7 +1464,18 @@ class SmartGroupModificationItem(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, *, modification_event=None, old_value: str=None, new_value: str=None, modified_at: str=None, modified_by: str=None, comments: str=None, description: str=None, **kwargs) -> None: + def __init__( + self, + *, + modification_event: Optional[Union[str, "SmartGroupModificationEvent"]] = None, + old_value: Optional[str] = None, + new_value: Optional[str] = None, + modified_at: Optional[str] = None, + modified_by: Optional[str] = None, + comments: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): super(SmartGroupModificationItem, self).__init__(**kwargs) self.modification_event = modification_event self.old_value = old_value @@ -1527,18 +1486,15 @@ def __init__(self, *, modification_event=None, old_value: str=None, new_value: s self.description = description -class SmartGroupModificationProperties(Model): +class SmartGroupModificationProperties(msrest.serialization.Model): """Properties of the smartGroup modification item. - 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 smart_group_id: Unique Id of the smartGroup for which the history is - being retrieved + :ivar smart_group_id: Unique Id of the smartGroup for which the history is being retrieved. :vartype smart_group_id: str - :param modifications: Modification details - :type modifications: - list[~azure.mgmt.alertsmanagement.models.SmartGroupModificationItem] + :param modifications: Modification details. + :type modifications: list[~azure.mgmt.alertsmanagement.models.SmartGroupModificationItem] :param next_link: URL to fetch the next set of results. :type next_link: str """ @@ -1553,152 +1509,129 @@ class SmartGroupModificationProperties(Model): 'next_link': {'key': 'nextLink', 'type': 'str'}, } - def __init__(self, *, modifications=None, next_link: str=None, **kwargs) -> None: + def __init__( + self, + *, + modifications: Optional[List["SmartGroupModificationItem"]] = None, + next_link: Optional[str] = None, + **kwargs + ): super(SmartGroupModificationProperties, self).__init__(**kwargs) self.smart_group_id = None self.modifications = modifications self.next_link = next_link -class Suppression(ActionRuleProperties): - """Suppression based Action Rule. - - Action rule with suppression configuration. +class SmartGroupsList(msrest.serialization.Model): + """List the alerts. - 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 scope: scope on which action rule will apply - :type scope: ~azure.mgmt.alertsmanagement.models.Scope - :param conditions: conditions on which alerts will be filtered - :type conditions: ~azure.mgmt.alertsmanagement.models.Conditions - :param description: Description of action rule - :type description: str - :ivar created_at: Creation time of action rule. Date-Time in ISO-8601 - format. - :vartype created_at: datetime - :ivar last_modified_at: Last updated time of action rule. Date-Time in - ISO-8601 format. - :vartype last_modified_at: datetime - :ivar created_by: Created by user name. - :vartype created_by: str - :ivar last_modified_by: Last modified by user name. - :vartype last_modified_by: str - :param status: Indicates if the given action rule is enabled or disabled. - Possible values include: 'Enabled', 'Disabled' - :type status: str or ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param type: Required. Constant filled by server. - :type type: str - :param suppression_config: Required. suppression configuration for the - action rule - :type suppression_config: - ~azure.mgmt.alertsmanagement.models.SuppressionConfig + :param next_link: URL to fetch the next set of alerts. + :type next_link: str + :param value: List of alerts. + :type value: list[~azure.mgmt.alertsmanagement.models.SmartGroup] """ - _validation = { - 'created_at': {'readonly': True}, - 'last_modified_at': {'readonly': True}, - 'created_by': {'readonly': True}, - 'last_modified_by': {'readonly': True}, - 'type': {'required': True}, - 'suppression_config': {'required': True}, + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[SmartGroup]'}, } + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["SmartGroup"]] = None, + **kwargs + ): + super(SmartGroupsList, self).__init__(**kwargs) + self.next_link = next_link + 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 ~azure.mgmt.alertsmanagement.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.mgmt.alertsmanagement.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime + """ + _attribute_map = { - 'scope': {'key': 'scope', 'type': 'Scope'}, - 'conditions': {'key': 'conditions', 'type': 'Conditions'}, - 'description': {'key': 'description', 'type': 'str'}, - 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, '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'}, - 'status': {'key': 'status', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'suppression_config': {'key': 'suppressionConfig', 'type': 'SuppressionConfig'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } - def __init__(self, *, suppression_config, scope=None, conditions=None, description: str=None, status=None, **kwargs) -> None: - super(Suppression, self).__init__(scope=scope, conditions=conditions, description=description, status=status, **kwargs) - self.suppression_config = suppression_config - self.type = 'Suppression' - - -class SuppressionConfig(Model): - """Suppression logic for a given action rule. + 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 WeeklyRecurrence(Recurrence): + """Weekly recurrence object. All required parameters must be populated in order to send to Azure. - :param recurrence_type: Required. Specifies when the suppression should be - applied. Possible values include: 'Always', 'Once', 'Daily', 'Weekly', - 'Monthly' - :type recurrence_type: str or - ~azure.mgmt.alertsmanagement.models.SuppressionType - :param schedule: suppression schedule configuration - :type schedule: ~azure.mgmt.alertsmanagement.models.SuppressionSchedule + :param recurrence_type: Required. Specifies when the recurrence should be applied.Constant + filled by server. Possible values include: "Daily", "Weekly", "Monthly". + :type recurrence_type: str or ~azure.mgmt.alertsmanagement.models.RecurrenceType + :param start_time: Start time for recurrence. + :type start_time: str + :param end_time: End time for recurrence. + :type end_time: str + :param days_of_week: Required. Specifies the values for weekly recurrence pattern. + :type days_of_week: list[str or ~azure.mgmt.alertsmanagement.models.DaysOfWeek] """ _validation = { 'recurrence_type': {'required': True}, + 'days_of_week': {'required': True}, } _attribute_map = { 'recurrence_type': {'key': 'recurrenceType', 'type': 'str'}, - 'schedule': {'key': 'schedule', 'type': 'SuppressionSchedule'}, - } - - def __init__(self, *, recurrence_type, schedule=None, **kwargs) -> None: - super(SuppressionConfig, self).__init__(**kwargs) - self.recurrence_type = recurrence_type - self.schedule = schedule - - -class SuppressionSchedule(Model): - """Schedule for a given suppression configuration. - - :param start_date: Start date for suppression - :type start_date: str - :param end_date: End date for suppression - :type end_date: str - :param start_time: Start time for suppression - :type start_time: str - :param end_time: End date for suppression - :type end_time: str - :param recurrence_values: Specifies the values for recurrence pattern - :type recurrence_values: list[int] - """ - - _attribute_map = { - 'start_date': {'key': 'startDate', 'type': 'str'}, - 'end_date': {'key': 'endDate', 'type': 'str'}, 'start_time': {'key': 'startTime', 'type': 'str'}, 'end_time': {'key': 'endTime', 'type': 'str'}, - 'recurrence_values': {'key': 'recurrenceValues', 'type': '[int]'}, - } - - def __init__(self, *, start_date: str=None, end_date: str=None, start_time: str=None, end_time: str=None, recurrence_values=None, **kwargs) -> None: - super(SuppressionSchedule, self).__init__(**kwargs) - self.start_date = start_date - self.end_date = end_date - self.start_time = start_time - self.end_time = end_time - self.recurrence_values = recurrence_values - - -class ThrottlingInformation(Model): - """Optional throttling information for the alert rule. - - :param duration: The required duration (in ISO8601 format) to wait before - notifying on the alert rule again. The time granularity must be in minutes - and minimum value is 0 minutes - :type duration: timedelta - """ - - _attribute_map = { - 'duration': {'key': 'duration', 'type': 'duration'}, - } - - def __init__(self, *, duration=None, **kwargs) -> None: - super(ThrottlingInformation, self).__init__(**kwargs) - self.duration = duration + 'days_of_week': {'key': 'daysOfWeek', 'type': '[str]'}, + } + + def __init__( + self, + *, + days_of_week: List[Union[str, "DaysOfWeek"]], + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs + ): + super(WeeklyRecurrence, self).__init__(start_time=start_time, end_time=end_time, **kwargs) + self.recurrence_type = 'Weekly' # type: str + self.days_of_week = days_of_week diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_paged_models.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/models/_paged_models.py deleted file mode 100644 index aece7093df7..00000000000 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/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 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 AlertPaged(Paged): - """ - A paging container for iterating over a list of :class:`Alert ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Alert]'} - } - - def __init__(self, *args, **kwargs): - - super(AlertPaged, self).__init__(*args, **kwargs) -class SmartGroupPaged(Paged): - """ - A paging container for iterating over a list of :class:`SmartGroup ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SmartGroup]'} - } - - def __init__(self, *args, **kwargs): - - super(SmartGroupPaged, self).__init__(*args, **kwargs) -class ActionRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`ActionRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ActionRule]'} - } - - def __init__(self, *args, **kwargs): - - super(ActionRulePaged, self).__init__(*args, **kwargs) -class AlertRulePaged(Paged): - """ - A paging container for iterating over a list of :class:`AlertRule ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[AlertRule]'} - } - - def __init__(self, *args, **kwargs): - - super(AlertRulePaged, self).__init__(*args, **kwargs) diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/__init__.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/__init__.py index 946b389ce5f..7eb08619044 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/__init__.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/__init__.py @@ -1,24 +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 ._alert_processing_rules_operations import AlertProcessingRulesOperations from ._operations import Operations from ._alerts_operations import AlertsOperations from ._smart_groups_operations import SmartGroupsOperations -from ._action_rules_operations import ActionRulesOperations -from ._smart_detector_alert_rules_operations import SmartDetectorAlertRulesOperations __all__ = [ + 'AlertProcessingRulesOperations', 'Operations', 'AlertsOperations', 'SmartGroupsOperations', - 'ActionRulesOperations', - 'SmartDetectorAlertRulesOperations', ] diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_action_rules_operations.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_action_rules_operations.py deleted file mode 100644 index d07e0fd19b7..00000000000 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_action_rules_operations.py +++ /dev/null @@ -1,575 +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 .. import models - - -class ActionRulesOperations(object): - """ActionRulesOperations 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-05-05-preview". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-05-05-preview" - - self.config = config - - def list_by_subscription( - self, target_resource_group=None, target_resource_type=None, target_resource=None, severity=None, monitor_service=None, impacted_scope=None, description=None, alert_rule_id=None, action_group=None, name=None, custom_headers=None, raw=False, **operation_config): - """Get all action rule in a given subscription. - - List all action rules of the subscription and given input filters. - - :param target_resource_group: Filter by target resource group name. - Default value is select all. - :type target_resource_group: str - :param target_resource_type: Filter by target resource type. Default - value is select all. - :type target_resource_type: str - :param target_resource: Filter by target resource( which is full ARM - ID) Default value is select all. - :type target_resource: str - :param severity: Filter by severity. Default value is select all. - Possible values include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' - :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param monitor_service: Filter by monitor service which generates the - alert instance. Default value is select all. Possible values include: - 'Application Insights', 'ActivityLog Administrative', 'ActivityLog - Security', 'ActivityLog Recommendation', 'ActivityLog Policy', - 'ActivityLog Autoscale', 'Log Analytics', 'Nagios', 'Platform', - 'SCOM', 'ServiceHealth', 'SmartDetector', 'VM Insights', 'Zabbix' - :type monitor_service: str or - ~azure.mgmt.alertsmanagement.models.MonitorService - :param impacted_scope: filter by impacted/target scope (provide comma - separated list for multiple scopes). The value should be an well - constructed ARM id of the scope. - :type impacted_scope: str - :param description: filter by alert rule description - :type description: str - :param alert_rule_id: filter by alert rule id - :type alert_rule_id: str - :param action_group: filter by action group configured as part of - action rule - :type action_group: str - :param name: filter by action rule name - :type name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ActionRule - :rtype: - ~azure.mgmt.alertsmanagement.models.ActionRulePaged[~azure.mgmt.alertsmanagement.models.ActionRule] - :raises: - :class:`ErrorResponseException` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - if target_resource_group is not None: - query_parameters['targetResourceGroup'] = self._serialize.query("target_resource_group", target_resource_group, 'str') - if target_resource_type is not None: - query_parameters['targetResourceType'] = self._serialize.query("target_resource_type", target_resource_type, 'str') - if target_resource is not None: - query_parameters['targetResource'] = self._serialize.query("target_resource", target_resource, 'str') - if severity is not None: - query_parameters['severity'] = self._serialize.query("severity", severity, 'str') - if monitor_service is not None: - query_parameters['monitorService'] = self._serialize.query("monitor_service", monitor_service, 'str') - if impacted_scope is not None: - query_parameters['impactedScope'] = self._serialize.query("impacted_scope", impacted_scope, 'str') - if description is not None: - query_parameters['description'] = self._serialize.query("description", description, 'str') - if alert_rule_id is not None: - query_parameters['alertRuleId'] = self._serialize.query("alert_rule_id", alert_rule_id, 'str') - if action_group is not None: - query_parameters['actionGroup'] = self._serialize.query("action_group", action_group, 'str') - if name is not None: - query_parameters['name'] = self._serialize.query("name", name, 'str') - 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]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ActionRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules'} - - def list_by_resource_group( - self, resource_group_name, target_resource_group=None, target_resource_type=None, target_resource=None, severity=None, monitor_service=None, impacted_scope=None, description=None, alert_rule_id=None, action_group=None, name=None, custom_headers=None, raw=False, **operation_config): - """Get all action rules created in a resource group. - - List all action rules of the subscription, created in given resource - group and given input filters. - - :param resource_group_name: Resource group name where the resource is - created. - :type resource_group_name: str - :param target_resource_group: Filter by target resource group name. - Default value is select all. - :type target_resource_group: str - :param target_resource_type: Filter by target resource type. Default - value is select all. - :type target_resource_type: str - :param target_resource: Filter by target resource( which is full ARM - ID) Default value is select all. - :type target_resource: str - :param severity: Filter by severity. Default value is select all. - Possible values include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' - :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param monitor_service: Filter by monitor service which generates the - alert instance. Default value is select all. Possible values include: - 'Application Insights', 'ActivityLog Administrative', 'ActivityLog - Security', 'ActivityLog Recommendation', 'ActivityLog Policy', - 'ActivityLog Autoscale', 'Log Analytics', 'Nagios', 'Platform', - 'SCOM', 'ServiceHealth', 'SmartDetector', 'VM Insights', 'Zabbix' - :type monitor_service: str or - ~azure.mgmt.alertsmanagement.models.MonitorService - :param impacted_scope: filter by impacted/target scope (provide comma - separated list for multiple scopes). The value should be an well - constructed ARM id of the scope. - :type impacted_scope: str - :param description: filter by alert rule description - :type description: str - :param alert_rule_id: filter by alert rule id - :type alert_rule_id: str - :param action_group: filter by action group configured as part of - action rule - :type action_group: str - :param name: filter by action rule name - :type name: str - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of ActionRule - :rtype: - ~azure.mgmt.alertsmanagement.models.ActionRulePaged[~azure.mgmt.alertsmanagement.models.ActionRule] - :raises: - :class:`ErrorResponseException` - """ - 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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - if target_resource_group is not None: - query_parameters['targetResourceGroup'] = self._serialize.query("target_resource_group", target_resource_group, 'str') - if target_resource_type is not None: - query_parameters['targetResourceType'] = self._serialize.query("target_resource_type", target_resource_type, 'str') - if target_resource is not None: - query_parameters['targetResource'] = self._serialize.query("target_resource", target_resource, 'str') - if severity is not None: - query_parameters['severity'] = self._serialize.query("severity", severity, 'str') - if monitor_service is not None: - query_parameters['monitorService'] = self._serialize.query("monitor_service", monitor_service, 'str') - if impacted_scope is not None: - query_parameters['impactedScope'] = self._serialize.query("impacted_scope", impacted_scope, 'str') - if description is not None: - query_parameters['description'] = self._serialize.query("description", description, 'str') - if alert_rule_id is not None: - query_parameters['alertRuleId'] = self._serialize.query("alert_rule_id", alert_rule_id, 'str') - if action_group is not None: - query_parameters['actionGroup'] = self._serialize.query("action_group", action_group, 'str') - if name is not None: - query_parameters['name'] = self._serialize.query("name", name, 'str') - 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]: - raise models.ErrorResponseException(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ActionRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules'} - - def get_by_name( - self, resource_group_name, action_rule_name, custom_headers=None, raw=False, **operation_config): - """Get action rule by name. - - Get a specific action rule. - - :param resource_group_name: Resource group name where the resource is - created. - :type resource_group_name: str - :param action_rule_name: The name of action rule that needs to be - fetched - :type action_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: ActionRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.ActionRule or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.get_by_name.metadata['url'] - 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'), - 'actionRuleName': self._serialize.url("action_rule_name", action_rule_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['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) - - header_dict = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ActionRule', response) - header_dict = { - 'x-ms-request-id': 'str', - } - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - client_raw_response.add_headers(header_dict) - return client_raw_response - - return deserialized - get_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}'} - - def create_update( - self, resource_group_name, action_rule_name, action_rule, custom_headers=None, raw=False, **operation_config): - """Create/update an action rule. - - Creates/Updates a specific action rule. - - :param resource_group_name: Resource group name where the resource is - created. - :type resource_group_name: str - :param action_rule_name: The name of action rule that needs to be - created/updated - :type action_rule_name: str - :param action_rule: action rule to be created/updated - :type action_rule: ~azure.mgmt.alertsmanagement.models.ActionRule - :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: ActionRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.ActionRule or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - # Construct URL - url = self.create_update.metadata['url'] - 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'), - 'actionRuleName': self._serialize.url("action_rule_name", action_rule_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['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(action_rule, 'ActionRule') - - # 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) - - header_dict = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ActionRule', response) - header_dict = { - 'x-ms-request-id': 'str', - } - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - client_raw_response.add_headers(header_dict) - return client_raw_response - - return deserialized - create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}'} - - def delete( - self, resource_group_name, action_rule_name, custom_headers=None, raw=False, **operation_config): - """Delete action rule. - - Deletes a given action rule. - - :param resource_group_name: Resource group name where the resource is - created. - :type resource_group_name: str - :param action_rule_name: The name that needs to be deleted - :type action_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: bool or ClientRawResponse if raw=true - :rtype: bool 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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'actionRuleName': self._serialize.url("action_rule_name", action_rule_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['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]: - raise models.ErrorResponseException(self._deserialize, response) - - header_dict = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('bool', response) - header_dict = { - 'x-ms-request-id': 'str', - } - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - client_raw_response.add_headers(header_dict) - return client_raw_response - - return deserialized - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}'} - - def update( - self, resource_group_name, action_rule_name, status=None, tags=None, custom_headers=None, raw=False, **operation_config): - """Patch action rule. - - Update enabled flag and/or tags for the given action rule. - - :param resource_group_name: Resource group name where the resource is - created. - :type resource_group_name: str - :param action_rule_name: The name that needs to be updated - :type action_rule_name: str - :param status: Indicates if the given action rule is enabled or - disabled. Possible values include: 'Enabled', 'Disabled' - :type status: str or - ~azure.mgmt.alertsmanagement.models.ActionRuleStatus - :param tags: tags to be updated - :type tags: object - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: ActionRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.ActionRule or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` - """ - action_rule_patch = models.PatchObject(status=status, tags=tags) - - # Construct URL - url = self.update.metadata['url'] - 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'), - 'actionRuleName': self._serialize.url("action_rule_name", action_rule_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['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(action_rule_patch, 'PatchObject') - - # 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) - - header_dict = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ActionRule', response) - header_dict = { - 'x-ms-request-id': 'str', - } - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - client_raw_response.add_headers(header_dict) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}'} diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_security_perimeters_operations.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_alert_processing_rules_operations.py similarity index 53% rename from src/network-manager/azext_network_manager/vendored_sdks/operations/_network_security_perimeters_operations.py rename to src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_alert_processing_rules_operations.py index 5a3be1c8dea..7eb5a4ab314 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_security_perimeters_operations.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_alert_processing_rules_operations.py @@ -14,7 +14,7 @@ from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from .. import models as _models +from .. import models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports @@ -23,21 +23,21 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class NetworkSecurityPerimetersOperations(object): - """NetworkSecurityPerimetersOperations operations. +class AlertProcessingRulesOperations(object): + """AlertProcessingRulesOperations 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.alertsmanagement.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 + models = models def __init__(self, client, config, serializer, deserializer): self._client = client @@ -45,38 +45,179 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def get( + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.AlertProcessingRulesList"] + """List all alert processing rules 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 AlertProcessingRulesList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.alertsmanagement.models.AlertProcessingRulesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertProcessingRulesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-08" + 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('AlertProcessingRulesList', 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.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_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.AlertProcessingRulesList"] + """List all alert processing rules in a resource group. + + :param resource_group_name: Resource group name where the resource is created. + :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 AlertProcessingRulesList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.alertsmanagement.models.AlertProcessingRulesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertProcessingRulesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-08" + 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'), + } + url = self._client.format_url(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('AlertProcessingRulesList', 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.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.AlertsManagement/actionRules'} # type: ignore + + def get_by_name( self, resource_group_name, # type: str - network_security_perimeter_name, # type: str + processing_rule_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.NetworkSecurityPerimeter" - """Gets the specified network security perimeter by the name. + # type: (...) -> "models.AlertProcessingRule" + """Get an alert processing rule by name. - :param resource_group_name: The name of the resource group. + :param resource_group_name: Resource group name where the resource is created. :type resource_group_name: str - :param network_security_perimeter_name: The name of the network security perimeter. - :type network_security_perimeter_name: str + :param processing_rule_name: The name of the alert processing rule that needs to be + fetched. + :type processing_rule_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: NetworkSecurityPerimeter, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeter + :return: AlertProcessingRule, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.AlertProcessingRule :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkSecurityPerimeter"] + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertProcessingRule"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-08-08" accept = "application/json" # Construct URL - url = self.get.metadata['url'] # type: ignore + url = self.get_by_name.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), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkSecurityPerimeterName': self._serialize.url("network_security_perimeter_name", network_security_perimeter_name, 'str'), + 'alertProcessingRuleName': self._serialize.url("alert_processing_rule_name", processing_rule_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -94,52 +235,56 @@ 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('NetworkSecurityPerimeter', pipeline_response) + response_headers = {} + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + deserialized = self._deserialize('AlertProcessingRule', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}'} # type: ignore + get_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{alertProcessingRuleName}'} # type: ignore def create_or_update( self, resource_group_name, # type: str - network_security_perimeter_name, # type: str - parameters, # type: "_models.NetworkSecurityPerimeter" + processing_rule_name, # type: str + alert_processing_rule, # type: "models.AlertProcessingRule" **kwargs # type: Any ): - # type: (...) -> "_models.NetworkSecurityPerimeter" - """Creates or updates a Network Security Perimeter. + # type: (...) -> "models.AlertProcessingRule" + """Create or update an alert processing rule. - :param resource_group_name: The name of the resource group. + :param resource_group_name: Resource group name where the resource is created. :type resource_group_name: str - :param network_security_perimeter_name: The name of the network security perimeter. - :type network_security_perimeter_name: str - :param parameters: Parameter supplied to create or update the network security perimeter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeter + :param processing_rule_name: The name of the alert processing rule that needs to be + created/updated. + :type processing_rule_name: str + :param alert_processing_rule: Alert processing rule to be created/updated. + :type alert_processing_rule: ~azure.mgmt.alertsmanagement.models.AlertProcessingRule :keyword callable cls: A custom type or function that will be passed the direct response - :return: NetworkSecurityPerimeter, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeter + :return: AlertProcessingRule, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.AlertProcessingRule :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkSecurityPerimeter"] + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertProcessingRule"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-08-08" 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'), + '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'), - 'networkSecurityPerimeterName': self._serialize.url("network_security_perimeter_name", network_security_perimeter_name, 'str'), + 'alertProcessingRuleName': self._serialize.url("alert_processing_rule_name", processing_rule_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -153,7 +298,7 @@ def create_or_update( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'NetworkSecurityPerimeter') + body_content = self._serialize.body(alert_processing_rule, 'AlertProcessingRule') 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) @@ -161,33 +306,38 @@ def create_or_update( 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) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + response_headers = {} if response.status_code == 200: - deserialized = self._deserialize('NetworkSecurityPerimeter', pipeline_response) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + deserialized = self._deserialize('AlertProcessingRule', pipeline_response) if response.status_code == 201: - deserialized = self._deserialize('NetworkSecurityPerimeter', pipeline_response) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + deserialized = self._deserialize('AlertProcessingRule', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, response_headers) return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{alertProcessingRuleName}'} # type: ignore def delete( self, resource_group_name, # type: str - network_security_perimeter_name, # type: str + alert_processing_rule_name, # type: str **kwargs # type: Any ): # type: (...) -> None - """Deletes a network security perimeter. + """Delete an alert processing rule. - :param resource_group_name: The name of the resource group. + :param resource_group_name: Resource group name where the resource is created. :type resource_group_name: str - :param network_security_perimeter_name: The name of the network security perimeter. - :type network_security_perimeter_name: str + :param alert_processing_rule_name: The name of the alert processing rule that needs to be + deleted. + :type alert_processing_rule_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 @@ -198,15 +348,15 @@ def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-08-08" 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'), + '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'), - 'networkSecurityPerimeterName': self._serialize.url("network_security_perimeter_name", network_security_perimeter_name, 'str'), + 'alertProcessingRuleName': self._serialize.url("alert_processing_rule_name", alert_processing_rule_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -224,173 +374,87 @@ def delete( 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.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}'} # type: ignore + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - def list_by_subscription( - self, - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.NetworkSecurityPerimeterListResult"] - """List all network security perimeters in a subscription. - - :param top: An optional query parameter which specifies the maximum number of records to be - returned by the server. - :type top: int - :param skip_token: SkipToken is only used if a previous operation returned a partial result. If - a previous response contains a nextLink element, the value of the nextLink element will include - a skipToken parameter that specifies a starting point to use for subsequent calls. - :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 NetworkSecurityPerimeterListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeterListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkSecurityPerimeterListResult"] - 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'] # 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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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('NetworkSecurityPerimeterListResult', 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 + response_headers = {} + if response.status_code == 200: + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) - 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 response.status_code == 204: + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) - return pipeline_response + if cls: + return cls(pipeline_response, None, response_headers) - return ItemPaged( - get_next, extract_data - ) - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{alertProcessingRuleName}'} # type: ignore - def list( + def update( self, resource_group_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] + alert_processing_rule_name, # type: str + alert_processing_rule_patch, # type: "models.PatchObject" **kwargs # type: Any ): - # type: (...) -> Iterable["_models.NetworkSecurityPerimeterListResult"] - """List network security perimeters in a resource group. + # type: (...) -> "models.AlertProcessingRule" + """Enable, disable, or update tags for an alert processing rule. - :param resource_group_name: The name of the resource group. + :param resource_group_name: Resource group name where the resource is created. :type resource_group_name: str - :param top: An optional query parameter which specifies the maximum number of records to be - returned by the server. - :type top: int - :param skip_token: SkipToken is only used if a previous operation returned a partial result. If - a previous response contains a nextLink element, the value of the nextLink element will include - a skipToken parameter that specifies a starting point to use for subsequent calls. - :type skip_token: str + :param alert_processing_rule_name: The name that needs to be updated. + :type alert_processing_rule_name: str + :param alert_processing_rule_patch: Parameters supplied to the operation. + :type alert_processing_rule_patch: ~azure.mgmt.alertsmanagement.models.PatchObject :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either NetworkSecurityPerimeterListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeterListResult] + :return: AlertProcessingRule, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.AlertProcessingRule :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkSecurityPerimeterListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertProcessingRule"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-08-08" + content_type = kwargs.pop("content_type", "application/json") 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') - if top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - if skip_token is not None: - query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + # 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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'alertProcessingRuleName': self._serialize.url("alert_processing_rule_name", alert_processing_rule_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) - 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 + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkSecurityPerimeterListResult', 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) + # 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') - def get_next(next_link=None): - request = prepare_request(next_link) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(alert_processing_rule_patch, 'PatchObject') + 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 - 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - 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) + response_headers = {} + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + deserialized = self._deserialize('AlertProcessingRule', pipeline_response) - return pipeline_response + if cls: + return cls(pipeline_response, deserialized, response_headers) - return ItemPaged( - get_next, extract_data - ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters'} # type: ignore + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{alertProcessingRuleName}'} # type: ignore diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_alerts_operations.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_alerts_operations.py index da6c76c07ff..8b18419885e 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_alerts_operations.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_alerts_operations.py @@ -1,202 +1,204 @@ # coding=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 msrestazure.azure_exceptions import CloudError +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, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] class AlertsOperations(object): """AlertsOperations 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: ~azure.mgmt.alertsmanagement.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: "2019-05-05-preview". - :ivar identifier: Identification of the information to be retrieved by API call. Constant value: "MonitorServiceList". """ models = models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-05-05-preview" - self.identifier = "MonitorServiceList" - - self.config = config + self._config = config def meta_data( - self, custom_headers=None, raw=False, **operation_config): - """List alerts meta data information based on value of identifier - parameter. - - :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: AlertsMetaData or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.AlertsMetaData or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` + self, + identifier, # type: Union[str, "models.Identifier"] + **kwargs # type: Any + ): + # type: (...) -> "models.AlertsMetaData" + """List alerts meta data information based on value of identifier parameter. + + :param identifier: Identification of the information to be retrieved by API call. + :type identifier: str or ~azure.mgmt.alertsmanagement.models.Identifier + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AlertsMetaData, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.AlertsMetaData + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertsMetaData"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-preview" + accept = "application/json" + # Construct URL - url = self.meta_data.metadata['url'] + url = self.meta_data.metadata['url'] # type: ignore # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - query_parameters['identifier'] = self._serialize.query("self.identifier", self.identifier, 'str') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + query_parameters['identifier'] = self._serialize.query("identifier", identifier, '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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp + 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 = None - if response.status_code == 200: - deserialized = self._deserialize('AlertsMetaData', response) + deserialized = self._deserialize('AlertsMetaData', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - meta_data.metadata = {'url': '/providers/Microsoft.AlertsManagement/alertsMetaData'} + meta_data.metadata = {'url': '/providers/Microsoft.AlertsManagement/alertsMetaData'} # type: ignore def get_all( - self, target_resource=None, target_resource_type=None, target_resource_group=None, monitor_service=None, monitor_condition=None, severity=None, alert_state=None, alert_rule=None, smart_group_id=None, include_context=None, include_egress_config=None, page_count=None, sort_by=None, sort_order=None, select=None, time_range=None, custom_time_range=None, custom_headers=None, raw=False, **operation_config): - """List all existing alerts, where the results can be filtered on the - basis of multiple parameters (e.g. time range). The results can then be - sorted on the basis specific fields, with the default being - lastModifiedDateTime. . - - :param target_resource: Filter by target resource( which is full ARM - ID) Default value is select all. + self, + target_resource=None, # type: Optional[str] + target_resource_type=None, # type: Optional[str] + target_resource_group=None, # type: Optional[str] + monitor_service=None, # type: Optional[Union[str, "models.MonitorService"]] + monitor_condition=None, # type: Optional[Union[str, "models.MonitorCondition"]] + severity=None, # type: Optional[Union[str, "models.Severity"]] + alert_state=None, # type: Optional[Union[str, "models.AlertState"]] + alert_rule=None, # type: Optional[str] + smart_group_id=None, # type: Optional[str] + include_context=None, # type: Optional[bool] + include_egress_config=None, # type: Optional[bool] + page_count=None, # type: Optional[int] + sort_by=None, # type: Optional[Union[str, "models.AlertsSortByFields"]] + sort_order=None, # type: Optional[Union[str, "models.SortOrder"]] + select=None, # type: Optional[str] + time_range=None, # type: Optional[Union[str, "models.TimeRange"]] + custom_time_range=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.AlertsList"] + """List all existing alerts, where the results can be filtered on the basis of multiple parameters + (e.g. time range). The results can then be sorted on the basis specific fields, with the + default being lastModifiedDateTime. + + :param target_resource: Filter by target resource( which is full ARM ID) Default value is + select all. :type target_resource: str - :param target_resource_type: Filter by target resource type. Default - value is select all. + :param target_resource_type: Filter by target resource type. Default value is select all. :type target_resource_type: str - :param target_resource_group: Filter by target resource group name. - Default value is select all. + :param target_resource_group: Filter by target resource group name. Default value is select + all. :type target_resource_group: str - :param monitor_service: Filter by monitor service which generates the - alert instance. Default value is select all. Possible values include: - 'Application Insights', 'ActivityLog Administrative', 'ActivityLog - Security', 'ActivityLog Recommendation', 'ActivityLog Policy', - 'ActivityLog Autoscale', 'Log Analytics', 'Nagios', 'Platform', - 'SCOM', 'ServiceHealth', 'SmartDetector', 'VM Insights', 'Zabbix' - :type monitor_service: str or - ~azure.mgmt.alertsmanagement.models.MonitorService - :param monitor_condition: Filter by monitor condition which is either - 'Fired' or 'Resolved'. Default value is to select all. Possible values - include: 'Fired', 'Resolved' - :type monitor_condition: str or - ~azure.mgmt.alertsmanagement.models.MonitorCondition + :param monitor_service: Filter by monitor service which generates the alert instance. Default + value is select all. + :type monitor_service: str or ~azure.mgmt.alertsmanagement.models.MonitorService + :param monitor_condition: Filter by monitor condition which is either 'Fired' or 'Resolved'. + Default value is to select all. + :type monitor_condition: str or ~azure.mgmt.alertsmanagement.models.MonitorCondition :param severity: Filter by severity. Default value is select all. - Possible values include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param alert_state: Filter by state of the alert instance. Default - value is to select all. Possible values include: 'New', - 'Acknowledged', 'Closed' - :type alert_state: str or - ~azure.mgmt.alertsmanagement.models.AlertState - :param alert_rule: Filter by specific alert rule. Default value is to - select all. + :param alert_state: Filter by state of the alert instance. Default value is to select all. + :type alert_state: str or ~azure.mgmt.alertsmanagement.models.AlertState + :param alert_rule: Filter by specific alert rule. Default value is to select all. :type alert_rule: str - :param smart_group_id: Filter the alerts list by the Smart Group Id. - Default value is none. + :param smart_group_id: Filter the alerts list by the Smart Group Id. Default value is none. :type smart_group_id: str - :param include_context: Include context which has contextual data - specific to the monitor service. Default value is false' + :param include_context: Include context which has contextual data specific to the monitor + service. Default value is false'. :type include_context: bool - :param include_egress_config: Include egress config which would be - used for displaying the content in portal. Default value is 'false'. + :param include_egress_config: Include egress config which would be used for displaying the + content in portal. Default value is 'false'. :type include_egress_config: bool - :param page_count: Determines number of alerts returned per page in - response. Permissible value is between 1 to 250. When the - "includeContent" filter is selected, maximum value allowed is 25. - Default value is 25. - :type page_count: int - :param sort_by: Sort the query results by input field, Default value - is 'lastModifiedDateTime'. Possible values include: 'name', - 'severity', 'alertState', 'monitorCondition', 'targetResource', - 'targetResourceName', 'targetResourceGroup', 'targetResourceType', - 'startDateTime', 'lastModifiedDateTime' - :type sort_by: str or - ~azure.mgmt.alertsmanagement.models.AlertsSortByFields - :param sort_order: Sort the query results order in either ascending or - descending. Default value is 'desc' for time fields and 'asc' for - others. Possible values include: 'asc', 'desc' - :type sort_order: str - :param select: This filter allows to selection of the fields(comma - separated) which would be part of the essential section. This would - allow to project only the required fields rather than getting entire - content. Default is to fetch all the fields in the essentials - section. + :param page_count: Determines number of alerts returned per page in response. Permissible value + is between 1 to 250. When the "includeContent" filter is selected, maximum value allowed is + 25. Default value is 25. + :type page_count: long + :param sort_by: Sort the query results by input field, Default value is + 'lastModifiedDateTime'. + :type sort_by: str or ~azure.mgmt.alertsmanagement.models.AlertsSortByFields + :param sort_order: Sort the query results order in either ascending or descending. Default + value is 'desc' for time fields and 'asc' for others. + :type sort_order: str or ~azure.mgmt.alertsmanagement.models.SortOrder + :param select: This filter allows to selection of the fields(comma separated) which would be + part of the essential section. This would allow to project only the required fields rather + than getting entire content. Default is to fetch all the fields in the essentials section. :type select: str - :param time_range: Filter by time range by below listed values. - Default value is 1 day. Possible values include: '1h', '1d', '7d', - '30d' + :param time_range: Filter by time range by below listed values. Default value is 1 day. :type time_range: str or ~azure.mgmt.alertsmanagement.models.TimeRange - :param custom_time_range: Filter by custom time range in the format - / where time is in (ISO-8601 format)'. - Permissible values is within 30 days from query time. Either - timeRange or customTimeRange could be used but not both. Default is - none. + :param custom_time_range: Filter by custom time range in the format :code:``/:code:`` where time is in (ISO-8601 format)'. Permissible values is within 30 + days from query time. Either timeRange or customTimeRange could be used but not both. Default + is none. :type custom_time_range: 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 Alert - :rtype: - ~azure.mgmt.alertsmanagement.models.AlertPaged[~azure.mgmt.alertsmanagement.models.Alert] - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AlertsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.alertsmanagement.models.AlertsList] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-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.get_all.metadata['url'] + url = self.get_all.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + '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 = {} # type: Dict[str, Any] if target_resource is not None: query_parameters['targetResource'] = self._serialize.query("target_resource", target_resource, 'str') if target_resource_type is not None: @@ -220,314 +222,302 @@ def prepare_request(next_link=None): if include_egress_config is not None: query_parameters['includeEgressConfig'] = self._serialize.query("include_egress_config", include_egress_config, 'bool') if page_count is not None: - query_parameters['pageCount'] = self._serialize.query("page_count", page_count, 'int') + query_parameters['pageCount'] = self._serialize.query("page_count", page_count, 'long') if sort_by is not None: query_parameters['sortBy'] = self._serialize.query("sort_by", sort_by, 'str') if sort_order is not None: - query_parameters['sortOrder'] = self._serialize.query("sort_order", sort_order, 'str') + query_parameters['SortOrder'] = self._serialize.query("sort_order", sort_order, 'str') if select is not None: query_parameters['select'] = self._serialize.query("select", select, 'str') if time_range is not None: query_parameters['timeRange'] = self._serialize.query("time_range", time_range, 'str') if custom_time_range is not None: query_parameters['customTimeRange'] = self._serialize.query("custom_time_range", custom_time_range, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + 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('AlertsList', 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) - 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.ErrorResponseException(self._deserialize, response) + error = self._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 response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AlertPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - get_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts'} + return ItemPaged( + get_next, extract_data + ) + get_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts'} # type: ignore def get_by_id( - self, alert_id, custom_headers=None, raw=False, **operation_config): + self, + alert_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Alert" """Get a specific alert. Get information related to a specific alert. :param alert_id: Unique ID of an alert instance. :type alert_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: Alert or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.Alert or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Alert, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.Alert + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Alert"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-preview" + accept = "application/json" + # Construct URL - url = self.get_by_id.metadata['url'] + url = self.get_by_id.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), - 'alertId': self._serialize.url("alert_id", alert_id, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'alertId': self._serialize.url("alert_id", alert_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') + 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.ErrorResponseException(self._deserialize, response) + 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 = None - if response.status_code == 200: - deserialized = self._deserialize('Alert', response) + deserialized = self._deserialize('Alert', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_by_id.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}'} + get_by_id.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}'} # type: ignore def change_state( - self, alert_id, new_state, custom_headers=None, raw=False, **operation_config): + self, + alert_id, # type: str + new_state, # type: Union[str, "models.AlertState"] + **kwargs # type: Any + ): + # type: (...) -> "models.Alert" """Change the state of an alert. :param alert_id: Unique ID of an alert instance. :type alert_id: str - :param new_state: New state of the alert. Possible values include: - 'New', 'Acknowledged', 'Closed' + :param new_state: New state of the alert. :type new_state: str or ~azure.mgmt.alertsmanagement.models.AlertState - :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: Alert or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.Alert or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Alert, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.Alert + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Alert"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-preview" + accept = "application/json" + # Construct URL - url = self.change_state.metadata['url'] + url = self.change_state.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), - 'alertId': self._serialize.url("alert_id", alert_id, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'alertId': self._serialize.url("alert_id", alert_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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['newState'] = self._serialize.query("new_state", new_state, '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.post(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.ErrorResponseException(self._deserialize, response) + 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 = None - if response.status_code == 200: - deserialized = self._deserialize('Alert', response) + deserialized = self._deserialize('Alert', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - change_state.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}/changestate'} + change_state.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}/changestate'} # type: ignore def get_history( - self, alert_id, custom_headers=None, raw=False, **operation_config): - """Get the history of an alert, which captures any monitor condition - changes (Fired/Resolved) and alert state changes - (New/Acknowledged/Closed). + self, + alert_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AlertModification" + """Get the history of an alert, which captures any monitor condition changes (Fired/Resolved) and + alert state changes (New/Acknowledged/Closed). :param alert_id: Unique ID of an alert instance. :type alert_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: AlertModification or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.AlertModification or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AlertModification, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.AlertModification + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertModification"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-preview" + accept = "application/json" + # Construct URL - url = self.get_history.metadata['url'] + url = self.get_history.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), - 'alertId': self._serialize.url("alert_id", alert_id, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'alertId': self._serialize.url("alert_id", alert_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') + 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.ErrorResponseException(self._deserialize, response) + 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 = None - if response.status_code == 200: - deserialized = self._deserialize('AlertModification', response) + deserialized = self._deserialize('AlertModification', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_history.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}/history'} + get_history.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}/history'} # type: ignore def get_summary( - self, groupby, include_smart_groups_count=None, target_resource=None, target_resource_type=None, target_resource_group=None, monitor_service=None, monitor_condition=None, severity=None, alert_state=None, alert_rule=None, time_range=None, custom_time_range=None, custom_headers=None, raw=False, **operation_config): - """Get a summarized count of your alerts grouped by various parameters - (e.g. grouping by 'Severity' returns the count of alerts for each - severity). - - :param groupby: This parameter allows the result set to be grouped by - input fields (Maximum 2 comma separated fields supported). For - example, groupby=severity or groupby=severity,alertstate. Possible - values include: 'severity', 'alertState', 'monitorCondition', - 'monitorService', 'signalType', 'alertRule' - :type groupby: str or - ~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupByFields - :param include_smart_groups_count: Include count of the SmartGroups as - part of the summary. Default value is 'false'. + self, + groupby, # type: Union[str, "models.AlertsSummaryGroupByFields"] + include_smart_groups_count=None, # type: Optional[bool] + target_resource=None, # type: Optional[str] + target_resource_type=None, # type: Optional[str] + target_resource_group=None, # type: Optional[str] + monitor_service=None, # type: Optional[Union[str, "models.MonitorService"]] + monitor_condition=None, # type: Optional[Union[str, "models.MonitorCondition"]] + severity=None, # type: Optional[Union[str, "models.Severity"]] + alert_state=None, # type: Optional[Union[str, "models.AlertState"]] + alert_rule=None, # type: Optional[str] + time_range=None, # type: Optional[Union[str, "models.TimeRange"]] + custom_time_range=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.AlertsSummary" + """Get a summarized count of your alerts grouped by various parameters (e.g. grouping by + 'Severity' returns the count of alerts for each severity). + + :param groupby: This parameter allows the result set to be grouped by input fields (Maximum 2 + comma separated fields supported). For example, groupby=severity or + groupby=severity,alertstate. + :type groupby: str or ~azure.mgmt.alertsmanagement.models.AlertsSummaryGroupByFields + :param include_smart_groups_count: Include count of the SmartGroups as part of the summary. + Default value is 'false'. :type include_smart_groups_count: bool - :param target_resource: Filter by target resource( which is full ARM - ID) Default value is select all. + :param target_resource: Filter by target resource( which is full ARM ID) Default value is + select all. :type target_resource: str - :param target_resource_type: Filter by target resource type. Default - value is select all. + :param target_resource_type: Filter by target resource type. Default value is select all. :type target_resource_type: str - :param target_resource_group: Filter by target resource group name. - Default value is select all. + :param target_resource_group: Filter by target resource group name. Default value is select + all. :type target_resource_group: str - :param monitor_service: Filter by monitor service which generates the - alert instance. Default value is select all. Possible values include: - 'Application Insights', 'ActivityLog Administrative', 'ActivityLog - Security', 'ActivityLog Recommendation', 'ActivityLog Policy', - 'ActivityLog Autoscale', 'Log Analytics', 'Nagios', 'Platform', - 'SCOM', 'ServiceHealth', 'SmartDetector', 'VM Insights', 'Zabbix' - :type monitor_service: str or - ~azure.mgmt.alertsmanagement.models.MonitorService - :param monitor_condition: Filter by monitor condition which is either - 'Fired' or 'Resolved'. Default value is to select all. Possible values - include: 'Fired', 'Resolved' - :type monitor_condition: str or - ~azure.mgmt.alertsmanagement.models.MonitorCondition + :param monitor_service: Filter by monitor service which generates the alert instance. Default + value is select all. + :type monitor_service: str or ~azure.mgmt.alertsmanagement.models.MonitorService + :param monitor_condition: Filter by monitor condition which is either 'Fired' or 'Resolved'. + Default value is to select all. + :type monitor_condition: str or ~azure.mgmt.alertsmanagement.models.MonitorCondition :param severity: Filter by severity. Default value is select all. - Possible values include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param alert_state: Filter by state of the alert instance. Default - value is to select all. Possible values include: 'New', - 'Acknowledged', 'Closed' - :type alert_state: str or - ~azure.mgmt.alertsmanagement.models.AlertState - :param alert_rule: Filter by specific alert rule. Default value is to - select all. + :param alert_state: Filter by state of the alert instance. Default value is to select all. + :type alert_state: str or ~azure.mgmt.alertsmanagement.models.AlertState + :param alert_rule: Filter by specific alert rule. Default value is to select all. :type alert_rule: str - :param time_range: Filter by time range by below listed values. - Default value is 1 day. Possible values include: '1h', '1d', '7d', - '30d' + :param time_range: Filter by time range by below listed values. Default value is 1 day. :type time_range: str or ~azure.mgmt.alertsmanagement.models.TimeRange - :param custom_time_range: Filter by custom time range in the format - / where time is in (ISO-8601 format)'. - Permissible values is within 30 days from query time. Either - timeRange or customTimeRange could be used but not both. Default is - none. + :param custom_time_range: Filter by custom time range in the format :code:``/:code:`` where time is in (ISO-8601 format)'. Permissible values is within 30 + days from query time. Either timeRange or customTimeRange could be used but not both. Default + is none. :type custom_time_range: 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: AlertsSummary or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.AlertsSummary or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AlertsSummary, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.AlertsSummary + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AlertsSummary"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-preview" + accept = "application/json" + # Construct URL - url = self.get_summary.metadata['url'] + url = self.get_summary.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + '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 = {} # type: Dict[str, Any] query_parameters['groupby'] = self._serialize.query("groupby", groupby, 'str') if include_smart_groups_count is not None: query_parameters['includeSmartGroupsCount'] = self._serialize.query("include_smart_groups_count", include_smart_groups_count, 'bool') @@ -551,32 +541,25 @@ def get_summary( query_parameters['timeRange'] = self._serialize.query("time_range", time_range, 'str') if custom_time_range is not None: query_parameters['customTimeRange'] = self._serialize.query("custom_time_range", custom_time_range, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + 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.ErrorResponseException(self._deserialize, response) + 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 = None - if response.status_code == 200: - deserialized = self._deserialize('AlertsSummary', response) + deserialized = self._deserialize('AlertsSummary', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_summary.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alertsSummary'} + get_summary.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alertsSummary'} # type: ignore diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_operations.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_operations.py index 057900f678f..6b4cc91b1b2 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_operations.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_operations.py @@ -1,103 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 msrestazure.azure_exceptions import CloudError +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 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: ~azure.mgmt.alertsmanagement.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: "2019-05-05-preview". """ models = models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-05-05-preview" - - self.config = config + self._config = config def list( - self, custom_headers=None, raw=False, **operation_config): - """List all operations available through Azure Alerts Management Resource - Provider. - - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of Operation - :rtype: - ~azure.mgmt.alertsmanagement.models.OperationPaged[~azure.mgmt.alertsmanagement.models.Operation] - :raises: :class:`CloudError` + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.OperationsList"] + """List all operations available through Azure Alerts Management Resource Provider. + + :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.mgmt.alertsmanagement.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 = "2019-05-05-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'] - + url = self.list.metadata['url'] # type: ignore # 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('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) - 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]: - exp = CloudError(response) - exp.request_id = response.headers.get('x-ms-request-id') - raise exp - - return response + error = self._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) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - list.metadata = {'url': '/providers/Microsoft.AlertsManagement/operations'} + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.AlertsManagement/operations'} # type: ignore diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_smart_detector_alert_rules_operations.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_smart_detector_alert_rules_operations.py deleted file mode 100644 index 8119e32986f..00000000000 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_smart_detector_alert_rules_operations.py +++ /dev/null @@ -1,436 +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 .. import models - - -class SmartDetectorAlertRulesOperations(object): - """SmartDetectorAlertRulesOperations 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-06-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-06-01" - - self.config = config - - def list( - self, expand_detector=None, custom_headers=None, raw=False, **operation_config): - """List all the existing Smart Detector alert rules within the - subscription. - - :param expand_detector: Indicates if Smart Detector should be - expanded. - :type expand_detector: bool - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AlertRule - :rtype: - ~azure.mgmt.alertsmanagement.models.AlertRulePaged[~azure.mgmt.alertsmanagement.models.AlertRule] - :raises: - :class:`ErrorResponse1Exception` - """ - 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', 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') - if expand_detector is not None: - query_parameters['expandDetector'] = self._serialize.query("expand_detector", expand_detector, 'bool') - - 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]: - raise models.ErrorResponse1Exception(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AlertRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/microsoft.alertsManagement/smartDetectorAlertRules'} - - def list_by_resource_group( - self, resource_group_name, expand_detector=None, custom_headers=None, raw=False, **operation_config): - """List all the existing Smart Detector alert rules within the - subscription and resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param expand_detector: Indicates if Smart Detector should be - expanded. - :type expand_detector: bool - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: An iterator like instance of AlertRule - :rtype: - ~azure.mgmt.alertsmanagement.models.AlertRulePaged[~azure.mgmt.alertsmanagement.models.AlertRule] - :raises: - :class:`ErrorResponse1Exception` - """ - 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', min_length=1), - '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 expand_detector is not None: - query_parameters['expandDetector'] = self._serialize.query("expand_detector", expand_detector, 'bool') - - 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]: - raise models.ErrorResponse1Exception(self._deserialize, response) - - return response - - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.AlertRulePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules'} - - def get( - self, resource_group_name, alert_rule_name, expand_detector=None, custom_headers=None, raw=False, **operation_config): - """Get a specific Smart Detector alert rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param alert_rule_name: The name of the alert rule. - :type alert_rule_name: str - :param expand_detector: Indicates if Smart Detector should be - expanded. - :type expand_detector: bool - :param dict custom_headers: headers that will be added to the request - :param bool raw: returns the direct response alongside the - deserialized response - :param operation_config: :ref:`Operation configuration - overrides`. - :return: AlertRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.AlertRule or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponse1Exception` - """ - # Construct URL - url = self.get.metadata['url'] - 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'), - 'alertRuleName': self._serialize.url("alert_rule_name", alert_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') - if expand_detector is not None: - query_parameters['expandDetector'] = self._serialize.query("expand_detector", expand_detector, 'bool') - - # 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.ErrorResponse1Exception(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('AlertRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName}'} - - def create_or_update( - self, resource_group_name, alert_rule_name, parameters, custom_headers=None, raw=False, **operation_config): - """Create or update a Smart Detector alert rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param alert_rule_name: The name of the alert rule. - :type alert_rule_name: str - :param parameters: Parameters supplied to the operation. - :type parameters: ~azure.mgmt.alertsmanagement.models.AlertRule - :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: AlertRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.AlertRule or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponse1Exception` - """ - # 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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'alertRuleName': self._serialize.url("alert_rule_name", alert_rule_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['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, 'AlertRule') - - # 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.ErrorResponse1Exception(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('AlertRule', response) - if response.status_code == 201: - deserialized = self._deserialize('AlertRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName}'} - - def patch( - self, resource_group_name, alert_rule_name, parameters, custom_headers=None, raw=False, **operation_config): - """Patch a specific Smart Detector alert rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param alert_rule_name: The name of the alert rule. - :type alert_rule_name: str - :param parameters: Parameters supplied to the operation. - :type parameters: - ~azure.mgmt.alertsmanagement.models.AlertRulePatchObject - :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: AlertRule or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.AlertRule or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponse1Exception` - """ - # Construct URL - url = self.patch.metadata['url'] - 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'), - 'alertRuleName': self._serialize.url("alert_rule_name", alert_rule_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - header_parameters['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, 'AlertRulePatchObject') - - # 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.ErrorResponse1Exception(self._deserialize, response) - - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('AlertRule', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName}'} - - def delete( - self, resource_group_name, alert_rule_name, custom_headers=None, raw=False, **operation_config): - """Delete an existing Smart Detector alert rule. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param alert_rule_name: The name of the alert rule. - :type alert_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:`ErrorResponse1Exception` - """ - # Construct URL - url = self.delete.metadata['url'] - 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'), - 'alertRuleName': self._serialize.url("alert_rule_name", alert_rule_name, 'str') - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') - - # Construct headers - header_parameters = {} - 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.ErrorResponse1Exception(self._deserialize, response) - - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName}'} diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_smart_groups_operations.py b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_smart_groups_operations.py index c797322bad4..708a06dc32b 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_smart_groups_operations.py +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/operations/_smart_groups_operations.py @@ -1,120 +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. -# +# Licensed under the MIT License. See License.txt in the project root for 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 +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 SmartGroupsOperations(object): """SmartGroupsOperations 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: ~azure.mgmt.alertsmanagement.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: "2019-05-05-preview". """ models = models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2019-05-05-preview" - - self.config = config + self._config = config def get_all( - self, target_resource=None, target_resource_group=None, target_resource_type=None, monitor_service=None, monitor_condition=None, severity=None, smart_group_state=None, time_range=None, page_count=None, sort_by=None, sort_order=None, custom_headers=None, raw=False, **operation_config): + self, + target_resource=None, # type: Optional[str] + target_resource_group=None, # type: Optional[str] + target_resource_type=None, # type: Optional[str] + monitor_service=None, # type: Optional[Union[str, "models.MonitorService"]] + monitor_condition=None, # type: Optional[Union[str, "models.MonitorCondition"]] + severity=None, # type: Optional[Union[str, "models.Severity"]] + smart_group_state=None, # type: Optional[Union[str, "models.AlertState"]] + time_range=None, # type: Optional[Union[str, "models.TimeRange"]] + page_count=None, # type: Optional[int] + sort_by=None, # type: Optional[Union[str, "models.SmartGroupsSortByFields"]] + sort_order=None, # type: Optional[Union[str, "models.SortOrder"]] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.SmartGroupsList"] """Get all Smart Groups within a specified subscription. - List all the Smart Groups within a specified subscription. . + List all the Smart Groups within a specified subscription. - :param target_resource: Filter by target resource( which is full ARM - ID) Default value is select all. + :param target_resource: Filter by target resource( which is full ARM ID) Default value is + select all. :type target_resource: str - :param target_resource_group: Filter by target resource group name. - Default value is select all. + :param target_resource_group: Filter by target resource group name. Default value is select + all. :type target_resource_group: str - :param target_resource_type: Filter by target resource type. Default - value is select all. + :param target_resource_type: Filter by target resource type. Default value is select all. :type target_resource_type: str - :param monitor_service: Filter by monitor service which generates the - alert instance. Default value is select all. Possible values include: - 'Application Insights', 'ActivityLog Administrative', 'ActivityLog - Security', 'ActivityLog Recommendation', 'ActivityLog Policy', - 'ActivityLog Autoscale', 'Log Analytics', 'Nagios', 'Platform', - 'SCOM', 'ServiceHealth', 'SmartDetector', 'VM Insights', 'Zabbix' - :type monitor_service: str or - ~azure.mgmt.alertsmanagement.models.MonitorService - :param monitor_condition: Filter by monitor condition which is either - 'Fired' or 'Resolved'. Default value is to select all. Possible values - include: 'Fired', 'Resolved' - :type monitor_condition: str or - ~azure.mgmt.alertsmanagement.models.MonitorCondition + :param monitor_service: Filter by monitor service which generates the alert instance. Default + value is select all. + :type monitor_service: str or ~azure.mgmt.alertsmanagement.models.MonitorService + :param monitor_condition: Filter by monitor condition which is either 'Fired' or 'Resolved'. + Default value is to select all. + :type monitor_condition: str or ~azure.mgmt.alertsmanagement.models.MonitorCondition :param severity: Filter by severity. Default value is select all. - Possible values include: 'Sev0', 'Sev1', 'Sev2', 'Sev3', 'Sev4' :type severity: str or ~azure.mgmt.alertsmanagement.models.Severity - :param smart_group_state: Filter by state of the smart group. Default - value is to select all. Possible values include: 'New', - 'Acknowledged', 'Closed' - :type smart_group_state: str or - ~azure.mgmt.alertsmanagement.models.AlertState - :param time_range: Filter by time range by below listed values. - Default value is 1 day. Possible values include: '1h', '1d', '7d', - '30d' + :param smart_group_state: Filter by state of the smart group. Default value is to select all. + :type smart_group_state: str or ~azure.mgmt.alertsmanagement.models.AlertState + :param time_range: Filter by time range by below listed values. Default value is 1 day. :type time_range: str or ~azure.mgmt.alertsmanagement.models.TimeRange - :param page_count: Determines number of alerts returned per page in - response. Permissible value is between 1 to 250. When the - "includeContent" filter is selected, maximum value allowed is 25. - Default value is 25. - :type page_count: int - :param sort_by: Sort the query results by input field. Default value - is sort by 'lastModifiedDateTime'. Possible values include: - 'alertsCount', 'state', 'severity', 'startDateTime', - 'lastModifiedDateTime' - :type sort_by: str or - ~azure.mgmt.alertsmanagement.models.SmartGroupsSortByFields - :param sort_order: Sort the query results order in either ascending or - descending. Default value is 'desc' for time fields and 'asc' for - others. Possible values include: 'asc', 'desc' - :type sort_order: 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 SmartGroup - :rtype: - ~azure.mgmt.alertsmanagement.models.SmartGroupPaged[~azure.mgmt.alertsmanagement.models.SmartGroup] - :raises: - :class:`ErrorResponseException` + :param page_count: Determines number of alerts returned per page in response. Permissible value + is between 1 to 250. When the "includeContent" filter is selected, maximum value allowed is + 25. Default value is 25. + :type page_count: long + :param sort_by: Sort the query results by input field. Default value is sort by + 'lastModifiedDateTime'. + :type sort_by: str or ~azure.mgmt.alertsmanagement.models.SmartGroupsSortByFields + :param sort_order: Sort the query results order in either ascending or descending. Default + value is 'desc' for time fields and 'asc' for others. + :type sort_order: str or ~azure.mgmt.alertsmanagement.models.SortOrder + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SmartGroupsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.alertsmanagement.models.SmartGroupsList] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SmartGroupsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-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.get_all.metadata['url'] + url = self.get_all.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1) + '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 = {} # type: Dict[str, Any] if target_resource is not None: query_parameters['targetResource'] = self._serialize.query("target_resource", target_resource, 'str') if target_resource_group is not None: @@ -132,234 +139,220 @@ def prepare_request(next_link=None): if time_range is not None: query_parameters['timeRange'] = self._serialize.query("time_range", time_range, 'str') if page_count is not None: - query_parameters['pageCount'] = self._serialize.query("page_count", page_count, 'int') + query_parameters['pageCount'] = self._serialize.query("page_count", page_count, 'long') if sort_by is not None: query_parameters['sortBy'] = self._serialize.query("sort_by", sort_by, 'str') if sort_order is not None: - query_parameters['sortOrder'] = self._serialize.query("sort_order", sort_order, 'str') - query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + query_parameters['SortOrder'] = self._serialize.query("sort_order", sort_order, 'str') + 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('SmartGroupsList', 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) - 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.ErrorResponseException(self._deserialize, response) - - return response + error = self._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) - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.SmartGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return pipeline_response - return deserialized - get_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups'} + return ItemPaged( + get_next, extract_data + ) + get_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups'} # type: ignore def get_by_id( - self, smart_group_id, custom_headers=None, raw=False, **operation_config): + self, + smart_group_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SmartGroup" """Get information related to a specific Smart Group. Get information related to a specific Smart Group. :param smart_group_id: Smart group unique id. :type smart_group_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: SmartGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.SmartGroup or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SmartGroup, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.SmartGroup + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SmartGroup"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-preview" + accept = "application/json" + # Construct URL - url = self.get_by_id.metadata['url'] + url = self.get_by_id.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), - 'smartGroupId': self._serialize.url("smart_group_id", smart_group_id, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'smartGroupId': self._serialize.url("smart_group_id", smart_group_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') + 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.ErrorResponseException(self._deserialize, response) + 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) - header_dict = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('SmartGroup', response) - header_dict = { - 'x-ms-request-id': 'str', - } + response_headers = {} + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + deserialized = self._deserialize('SmartGroup', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - client_raw_response.add_headers(header_dict) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, response_headers) return deserialized - get_by_id.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}'} + get_by_id.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}'} # type: ignore def change_state( - self, smart_group_id, new_state, custom_headers=None, raw=False, **operation_config): + self, + smart_group_id, # type: str + new_state, # type: Union[str, "models.AlertState"] + **kwargs # type: Any + ): + # type: (...) -> "models.SmartGroup" """Change the state of a Smart Group. :param smart_group_id: Smart group unique id. :type smart_group_id: str - :param new_state: New state of the alert. Possible values include: - 'New', 'Acknowledged', 'Closed' + :param new_state: New state of the alert. :type new_state: str or ~azure.mgmt.alertsmanagement.models.AlertState - :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: SmartGroup or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.SmartGroup or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SmartGroup, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.SmartGroup + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SmartGroup"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-preview" + accept = "application/json" + # Construct URL - url = self.change_state.metadata['url'] + url = self.change_state.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), - 'smartGroupId': self._serialize.url("smart_group_id", smart_group_id, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'smartGroupId': self._serialize.url("smart_group_id", smart_group_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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') query_parameters['newState'] = self._serialize.query("new_state", new_state, '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.post(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.ErrorResponseException(self._deserialize, response) + 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) - header_dict = {} - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('SmartGroup', response) - header_dict = { - 'x-ms-request-id': 'str', - } + response_headers = {} + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + deserialized = self._deserialize('SmartGroup', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - client_raw_response.add_headers(header_dict) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, response_headers) return deserialized - change_state.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState'} + change_state.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState'} # type: ignore def get_history( - self, smart_group_id, custom_headers=None, raw=False, **operation_config): - """Get the history a smart group, which captures any Smart Group state - changes (New/Acknowledged/Closed) . + self, + smart_group_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SmartGroupModification" + """Get the history a smart group, which captures any Smart Group state changes + (New/Acknowledged/Closed) . :param smart_group_id: Smart group unique id. :type smart_group_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: SmartGroupModification or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.alertsmanagement.models.SmartGroupModification or - ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorResponseException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SmartGroupModification, or the result of cls(response) + :rtype: ~azure.mgmt.alertsmanagement.models.SmartGroupModification + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SmartGroupModification"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-05-05-preview" + accept = "application/json" + # Construct URL - url = self.get_history.metadata['url'] + url = self.get_history.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', min_length=1), - 'smartGroupId': self._serialize.url("smart_group_id", smart_group_id, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'smartGroupId': self._serialize.url("smart_group_id", smart_group_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') + 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.ErrorResponseException(self._deserialize, response) + 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 = None - if response.status_code == 200: - deserialized = self._deserialize('SmartGroupModification', response) + deserialized = self._deserialize('SmartGroupModification', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get_history.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history'} + get_history.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history'} # type: ignore diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/py.typed b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/py.typed new file mode 100644 index 00000000000..1242d432770 --- /dev/null +++ b/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. diff --git a/src/alertsmanagement/linter_exclusions.yml b/src/alertsmanagement/linter_exclusions.yml new file mode 100644 index 00000000000..610140ffca8 --- /dev/null +++ b/src/alertsmanagement/linter_exclusions.yml @@ -0,0 +1,29 @@ +monitor alert-processing-rule create: + parameters: + filter_alert_rule_description: + rule_exclusions: + - option_length_too_long + filter_monitor_condition: + rule_exclusions: + - option_length_too_long + schedule_recurrence_2_end_time: + rule_exclusions: + - option_length_too_long + schedule_recurrence_2_start_time: + rule_exclusions: + - option_length_too_long + schedule_recurrence_2_type: + rule_exclusions: + - option_length_too_long + schedule_recurrence_end_time: + rule_exclusions: + - option_length_too_long + schedule_recurrence_start_time: + rule_exclusions: + - option_length_too_long + schedule_recurrence_type: + rule_exclusions: + - option_length_too_long + schedule_start_datetime: + rule_exclusions: + - option_length_too_long \ No newline at end of file diff --git a/src/alertsmanagement/report.md b/src/alertsmanagement/report.md new file mode 100644 index 00000000000..4a96ed730ee --- /dev/null +++ b/src/alertsmanagement/report.md @@ -0,0 +1,310 @@ +# Azure CLI Module Creation Report + +## EXTENSION +|CLI Extension|Command Groups| +|---------|------------| +|az alertsmanagement|[groups](#CommandGroups) + +## GROUPS +### Command groups in `az alertsmanagement` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az alertsmanagement alert|Alerts|[commands](#CommandsInAlerts)| +|az alertsmanagement alert-processing-rule|AlertProcessingRules|[commands](#CommandsInAlertProcessingRules)| +|az alertsmanagement smart-group|SmartGroups|[commands](#CommandsInSmartGroups)| + +## COMMANDS +### Commands in `az alertsmanagement alert` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az alertsmanagement alert show](#AlertsGetById)|GetById|[Parameters](#ParametersAlertsGetById)|[Example](#ExamplesAlertsGetById)| +|[az alertsmanagement alert change-state](#AlertsChangeState)|ChangeState|[Parameters](#ParametersAlertsChangeState)|[Example](#ExamplesAlertsChangeState)| +|[az alertsmanagement alert meta-data](#AlertsMetaData)|MetaData|[Parameters](#ParametersAlertsMetaData)|[Example](#ExamplesAlertsMetaData)| +|[az alertsmanagement alert show-all](#AlertsGetAll)|GetAll|[Parameters](#ParametersAlertsGetAll)|[Example](#ExamplesAlertsGetAll)| +|[az alertsmanagement alert show-history](#AlertsGetHistory)|GetHistory|[Parameters](#ParametersAlertsGetHistory)|[Example](#ExamplesAlertsGetHistory)| +|[az alertsmanagement alert show-summary](#AlertsGetSummary)|GetSummary|[Parameters](#ParametersAlertsGetSummary)|[Example](#ExamplesAlertsGetSummary)| + +### Commands in `az alertsmanagement alert-processing-rule` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az alertsmanagement alert-processing-rule list](#AlertProcessingRulesListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersAlertProcessingRulesListByResourceGroup)|[Example](#ExamplesAlertProcessingRulesListByResourceGroup)| +|[az alertsmanagement alert-processing-rule list](#AlertProcessingRulesListBySubscription)|ListBySubscription|[Parameters](#ParametersAlertProcessingRulesListBySubscription)|[Example](#ExamplesAlertProcessingRulesListBySubscription)| +|[az alertsmanagement alert-processing-rule show](#AlertProcessingRulesGetByName)|GetByName|[Parameters](#ParametersAlertProcessingRulesGetByName)|[Example](#ExamplesAlertProcessingRulesGetByName)| +|[az alertsmanagement alert-processing-rule create](#AlertProcessingRulesCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersAlertProcessingRulesCreateOrUpdate#Create)|[Example](#ExamplesAlertProcessingRulesCreateOrUpdate#Create)| +|[az alertsmanagement alert-processing-rule update](#AlertProcessingRulesUpdate)|Update|[Parameters](#ParametersAlertProcessingRulesUpdate)|[Example](#ExamplesAlertProcessingRulesUpdate)| +|[az alertsmanagement alert-processing-rule delete](#AlertProcessingRulesDelete)|Delete|[Parameters](#ParametersAlertProcessingRulesDelete)|[Example](#ExamplesAlertProcessingRulesDelete)| + +### Commands in `az alertsmanagement smart-group` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az alertsmanagement smart-group show](#SmartGroupsGetById)|GetById|[Parameters](#ParametersSmartGroupsGetById)|[Example](#ExamplesSmartGroupsGetById)| +|[az alertsmanagement smart-group change-state](#SmartGroupsChangeState)|ChangeState|[Parameters](#ParametersSmartGroupsChangeState)|[Example](#ExamplesSmartGroupsChangeState)| +|[az alertsmanagement smart-group show-all](#SmartGroupsGetAll)|GetAll|[Parameters](#ParametersSmartGroupsGetAll)|[Example](#ExamplesSmartGroupsGetAll)| +|[az alertsmanagement smart-group show-history](#SmartGroupsGetHistory)|GetHistory|[Parameters](#ParametersSmartGroupsGetHistory)|[Example](#ExamplesSmartGroupsGetHistory)| + + +## COMMAND DETAILS +### group `az alertsmanagement alert` +#### Command `az alertsmanagement alert show` + +##### Example +``` +az alertsmanagement alert show --alert-id "66114d64-d9d9-478b-95c9-b789d6502100" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--alert-id**|string|Unique ID of an alert instance.|alert_id|alertId| + +#### Command `az alertsmanagement alert change-state` + +##### Example +``` +az alertsmanagement alert change-state --alert-id "66114d64-d9d9-478b-95c9-b789d6502100" --new-state "Acknowledged" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--alert-id**|string|Unique ID of an alert instance.|alert_id|alertId| +|**--new-state**|choice|New state of the alert.|new_state|newState| + +#### Command `az alertsmanagement alert meta-data` + +##### Example +``` +az alertsmanagement alert meta-data +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| + +#### Command `az alertsmanagement alert show-all` + +##### Example +``` +az alertsmanagement alert show-all +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--target-resource**|string|Filter by target resource( which is full ARM ID) Default value is select all.|target_resource|targetResource| +|**--target-resource-type**|string|Filter by target resource type. Default value is select all.|target_resource_type|targetResourceType| +|**--target-resource-group**|string|Filter by target resource group name. Default value is select all.|target_resource_group|targetResourceGroup| +|**--monitor-service**|choice|Filter by monitor service which generates the alert instance. Default value is select all.|monitor_service|monitorService| +|**--monitor-condition**|choice|Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.|monitor_condition|monitorCondition| +|**--severity**|choice|Filter by severity. Default value is select all.|severity|severity| +|**--alert-state**|choice|Filter by state of the alert instance. Default value is to select all.|alert_state|alertState| +|**--alert-rule**|string|Filter by specific alert rule. Default value is to select all.|alert_rule|alertRule| +|**--smart-group-id**|string|Filter the alerts list by the Smart Group Id. Default value is none.|smart_group_id|smartGroupId| +|**--include-context**|boolean|Include context which has contextual data specific to the monitor service. Default value is false'|include_context|includeContext| +|**--include-egress-config**|boolean|Include egress config which would be used for displaying the content in portal. Default value is 'false'.|include_egress_config|includeEgressConfig| +|**--page-count**|integer|Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the "includeContent" filter is selected, maximum value allowed is 25. Default value is 25.|page_count|pageCount| +|**--sort-by**|choice|Sort the query results by input field, Default value is 'lastModifiedDateTime'.|sort_by|sortBy| +|**--sort-order**|choice|Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.|sort_order|SortOrder| +|**--select**|string|This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.|select|select| +|**--time-range**|choice|Filter by time range by below listed values. Default value is 1 day.|time_range|timeRange| +|**--custom-time-range**|string|Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.|custom_time_range|customTimeRange| + +#### Command `az alertsmanagement alert show-history` + +##### Example +``` +az alertsmanagement alert show-history --alert-id "66114d64-d9d9-478b-95c9-b789d6502100" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--alert-id**|string|Unique ID of an alert instance.|alert_id|alertId| + +#### Command `az alertsmanagement alert show-summary` + +##### Example +``` +az alertsmanagement alert show-summary --groupby "severity,alertState" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--groupby**|choice|This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.|groupby|groupby| +|**--include-smart-groups-count**|boolean|Include count of the SmartGroups as part of the summary. Default value is 'false'.|include_smart_groups_count|includeSmartGroupsCount| +|**--target-resource**|string|Filter by target resource( which is full ARM ID) Default value is select all.|target_resource|targetResource| +|**--target-resource-type**|string|Filter by target resource type. Default value is select all.|target_resource_type|targetResourceType| +|**--target-resource-group**|string|Filter by target resource group name. Default value is select all.|target_resource_group|targetResourceGroup| +|**--monitor-service**|choice|Filter by monitor service which generates the alert instance. Default value is select all.|monitor_service|monitorService| +|**--monitor-condition**|choice|Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.|monitor_condition|monitorCondition| +|**--severity**|choice|Filter by severity. Default value is select all.|severity|severity| +|**--alert-state**|choice|Filter by state of the alert instance. Default value is to select all.|alert_state|alertState| +|**--alert-rule**|string|Filter by specific alert rule. Default value is to select all.|alert_rule|alertRule| +|**--time-range**|choice|Filter by time range by below listed values. Default value is 1 day.|time_range|timeRange| +|**--custom-time-range**|string|Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.|custom_time_range|customTimeRange| + +### group `az alertsmanagement alert-processing-rule` +#### Command `az alertsmanagement alert-processing-rule list` + +##### Example +``` +az alertsmanagement alert-processing-rule list --resource-group "alertscorrelationrg" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Resource group name where the resource is created.|resource_group_name|resourceGroupName| + +#### Command `az alertsmanagement alert-processing-rule list` + +##### Example +``` +az alertsmanagement alert-processing-rule list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| + +#### Command `az alertsmanagement alert-processing-rule show` + +##### Example +``` +az alertsmanagement alert-processing-rule show --name "DailySuppression" --resource-group "alertscorrelationrg" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Resource group name where the resource is created.|resource_group_name|resourceGroupName| +|**--alert-processing-rule-name**|string|The name of the alert processing rule that needs to be fetched.|alert_processing_rule_name|alertProcessingRuleName| + +#### Command `az alertsmanagement alert-processing-rule create` + +##### Example +``` +az alertsmanagement alert-processing-rule create --location "Global" --description "Add ActionGroup1 to all alerts in \ +the subscription" --actions actionGroupIds="/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/act\ +iongroups/ActionGroup1" action-type="AddActionGroups" --enabled true --scopes "/subscriptions/subId1" --name \ +"AddActionGroupToSubscription" --resource-group "alertscorrelationrg" +az alertsmanagement alert-processing-rule create --location "Global" --description "Add AGId1 and AGId2 to all Sev0 \ +and Sev1 alerts in these resourceGroups" --actions actionGroupIds="/subscriptions/subId1/resourcegroups/RGId1/providers\ +/microsoft.insights/actiongroups/AGId1" actionGroupIds="/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.\ +insights/actiongroups/AGId2" action-type="AddActionGroups" --conditions field="Severity" operator="Equals" \ +values="sev0" values="sev1" --enabled true --scopes "/subscriptions/subId1/resourceGroups/RGId1" \ +"/subscriptions/subId1/resourceGroups/RGId2" --name "AddActionGroupsBySeverity" --resource-group "alertscorrelationrg" +az alertsmanagement alert-processing-rule create --location "Global" --description "Removes all ActionGroups from all \ +Alerts on VMName during the maintenance window" --actions action-type="RemoveAllActionGroups" --enabled true \ +--effective-from "2021-04-15T18:00:00" --effective-until "2021-04-15T20:00:00" --time-zone "Pacific Standard Time" \ +--scopes "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName" --name \ +"RemoveActionGroupsMaintenanceWindow" --resource-group "alertscorrelationrg" +az alertsmanagement alert-processing-rule create --location "Global" --description "Removes all ActionGroups from all \ +Alerts that fire on above AlertRule" --actions action-type="RemoveAllActionGroups" --conditions field="AlertRuleId" \ +operator="Equals" values="/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/Ru\ +leName" --enabled true --scopes "/subscriptions/subId1" --name "RemoveActionGroupsSpecificAlertRule" --resource-group \ +"alertscorrelationrg" +az alertsmanagement alert-processing-rule create --location "Global" --description "Remove all ActionGroups from all \ +Vitual machine Alerts during the recurring maintenance" --actions action-type="RemoveAllActionGroups" --conditions \ +field="TargetResourceType" operator="Equals" values="microsoft.compute/virtualmachines" --enabled true --recurrences \ +daysOfWeek="Saturday" daysOfWeek="Sunday" end-time="04:00:00" recurrence-type="Weekly" start-time="22:00:00" \ +--time-zone "India Standard Time" --scopes "/subscriptions/subId1/resourceGroups/RGId1" "/subscriptions/subId1/resource\ +Groups/RGId2" --name "RemoveActionGroupsRecurringMaintenance" --resource-group "alertscorrelationrg" +az alertsmanagement alert-processing-rule create --location "Global" --description "Remove all ActionGroups outside \ +business hours" --actions action-type="RemoveAllActionGroups" --enabled true --recurrences end-time="09:00:00" \ +recurrence-type="Daily" start-time="17:00:00" --recurrences daysOfWeek="Saturday" daysOfWeek="Sunday" \ +recurrence-type="Weekly" --time-zone "Eastern Standard Time" --scopes "/subscriptions/subId1" --name \ +"RemoveActionGroupsOutsideBusinessHours" --resource-group "alertscorrelationrg" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Resource group name where the resource is created.|resource_group_name|resourceGroupName| +|**--alert-processing-rule-name**|string|The name of the alert processing rule that needs to be created/updated.|alert_processing_rule_name|alertProcessingRuleName| +|**--location**|string|Resource location|location|location| +|**--tags**|dictionary|Resource tags|tags|tags| +|**--scopes**|array|Scopes on which alert processing rule will apply.|scopes|scopes| +|**--conditions**|array|Conditions on which alerts will be filtered.|conditions|conditions| +|**--actions**|array|Actions to be applied.|actions|actions| +|**--description**|string|Description of alert processing rule.|description|description| +|**--enabled**|boolean|Indicates if the given alert processing rule is enabled or disabled.|enabled|enabled| +|**--effective-from**|string|Scheduling effective from time. Date-Time in ISO-8601 format without timezone suffix.|effective_from|effectiveFrom| +|**--effective-until**|string|Scheduling effective until time. Date-Time in ISO-8601 format without timezone suffix.|effective_until|effectiveUntil| +|**--time-zone**|string|Scheduling time zone.|time_zone|timeZone| +|**--recurrences**|array|List of recurrences.|recurrences|recurrences| + +#### Command `az alertsmanagement alert-processing-rule update` + +##### Example +``` +az alertsmanagement alert-processing-rule update --name "WeeklySuppression" --enabled false --tags key1="value1" \ +key2="value2" --resource-group "alertscorrelationrg" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Resource group name where the resource is created.|resource_group_name|resourceGroupName| +|**--alert-processing-rule-name**|string|The name that needs to be updated.|alert_processing_rule_name|alertProcessingRuleName| +|**--tags**|dictionary|Tags to be updated.|tags|tags| +|**--enabled**|boolean|Indicates if the given alert processing rule is enabled or disabled.|enabled|enabled| + +#### Command `az alertsmanagement alert-processing-rule delete` + +##### Example +``` +az alertsmanagement alert-processing-rule delete --name "DailySuppression" --resource-group "alertscorrelationrg" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Resource group name where the resource is created.|resource_group_name|resourceGroupName| +|**--alert-processing-rule-name**|string|The name of the alert processing rule that needs to be deleted.|alert_processing_rule_name|alertProcessingRuleName| + +### group `az alertsmanagement smart-group` +#### Command `az alertsmanagement smart-group show` + +##### Example +``` +az alertsmanagement smart-group show --smart-group-id "603675da-9851-4b26-854a-49fc53d32715" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--smart-group-id**|string|Smart group unique id. |smart_group_id|smartGroupId| + +#### Command `az alertsmanagement smart-group change-state` + +##### Example +``` +az alertsmanagement smart-group change-state --new-state "Acknowledged" --smart-group-id \ +"a808445e-bb38-4751-85c2-1b109ccc1059" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--smart-group-id**|string|Smart group unique id. |smart_group_id|smartGroupId| +|**--new-state**|choice|New state of the alert.|new_state|newState| + +#### Command `az alertsmanagement smart-group show-all` + +##### Example +``` +az alertsmanagement smart-group show-all +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--target-resource**|string|Filter by target resource( which is full ARM ID) Default value is select all.|target_resource|targetResource| +|**--target-resource-group**|string|Filter by target resource group name. Default value is select all.|target_resource_group|targetResourceGroup| +|**--target-resource-type**|string|Filter by target resource type. Default value is select all.|target_resource_type|targetResourceType| +|**--monitor-service**|choice|Filter by monitor service which generates the alert instance. Default value is select all.|monitor_service|monitorService| +|**--monitor-condition**|choice|Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.|monitor_condition|monitorCondition| +|**--severity**|choice|Filter by severity. Default value is select all.|severity|severity| +|**--smart-group-state**|choice|Filter by state of the smart group. Default value is to select all.|smart_group_state|smartGroupState| +|**--time-range**|choice|Filter by time range by below listed values. Default value is 1 day.|time_range|timeRange| +|**--page-count**|integer|Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the "includeContent" filter is selected, maximum value allowed is 25. Default value is 25.|page_count|pageCount| +|**--sort-by**|choice|Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.|sort_by|sortBy| +|**--sort-order**|choice|Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.|sort_order|SortOrder| + +#### Command `az alertsmanagement smart-group show-history` + +##### Example +``` +az alertsmanagement smart-group show-history --smart-group-id "a808445e-bb38-4751-85c2-1b109ccc1059" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--smart-group-id**|string|Smart group unique id. |smart_group_id|smartGroupId| diff --git a/src/alertsmanagement/setup.cfg b/src/alertsmanagement/setup.cfg index 3c6e79cf31d..e4f123c7b9a 100644 --- a/src/alertsmanagement/setup.cfg +++ b/src/alertsmanagement/setup.cfg @@ -1,2 +1 @@ -[bdist_wheel] -universal=1 +#setup.cfg diff --git a/src/alertsmanagement/setup.py b/src/alertsmanagement/setup.py index 5ede698d18d..bbd136698af 100644 --- a/src/alertsmanagement/setup.py +++ b/src/alertsmanagement/setup.py @@ -14,9 +14,8 @@ 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.1' +VERSION = '0.2.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -32,7 +31,6 @@ 'License :: OSI Approved :: MIT License', ] -# TODO: Add any additional SDK dependencies here DEPENDENCIES = [] with open('README.md', 'r', encoding='utf-8') as f: @@ -43,11 +41,10 @@ setup( name='alertsmanagement', version=VERSION, - description='Microsoft Azure Command-Line Tools Alerts Extension', - # TODO: Update author and email, if applicable - author='Github:qwordy', - author_email='fey@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/alertsmanagement', + description='Microsoft Azure Command-Line Tools AlertsManagementClient Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/alertsmanagement', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/alias/setup.py b/src/alias/setup.py index 0dbd26dcf90..44edd7d5c38 100644 --- a/src/alias/setup.py +++ b/src/alias/setup.py @@ -41,7 +41,7 @@ license='MIT', author='Ernest Wong', author_email='t-chwong@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/alias', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/alias', classifiers=CLASSIFIERS, package_data={'azext_alias': ['azext_metadata.json']}, packages=find_packages(exclude=["azext_alias.tests"]), diff --git a/src/application-insights/HISTORY.rst b/src/application-insights/HISTORY.rst index c95960a2a9f..6c73a68b126 100644 --- a/src/application-insights/HISTORY.rst +++ b/src/application-insights/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +0.1.15 +++++++++++++++++++ +* `az monitor app-insights web-test`: Create/list/update/show/delete Application Insights Web Test. + 0.1.14 ++++++++++++++++++ diff --git a/src/application-insights/azext_applicationinsights/__init__.py b/src/application-insights/azext_applicationinsights/__init__.py index a61f9cee2f9..a1266a5b5d1 100644 --- a/src/application-insights/azext_applicationinsights/__init__.py +++ b/src/application-insights/azext_applicationinsights/__init__.py @@ -18,7 +18,7 @@ def __init__(self, cli_ctx=None): client_factory=applicationinsights_data_plane_client ) - super(ApplicationInsightsCommandsLoader, self).__init__( + super().__init__( cli_ctx=cli_ctx, custom_command_type=applicationinsights_custom ) diff --git a/src/application-insights/azext_applicationinsights/_client_factory.py b/src/application-insights/azext_applicationinsights/_client_factory.py index 2cf84bf479b..47686973b2c 100644 --- a/src/application-insights/azext_applicationinsights/_client_factory.py +++ b/src/application-insights/azext_applicationinsights/_client_factory.py @@ -53,3 +53,7 @@ def cf_component_linked_storage_accounts(cli_ctx, _): def cf_export_configuration(cli_ctx, _): return applicationinsights_mgmt_plane_client(cli_ctx).export_configurations + + +def cf_web_test(cli_ctx, _): + return applicationinsights_mgmt_plane_client(cli_ctx, api_version='2018-05-01-preview').web_tests diff --git a/src/application-insights/azext_applicationinsights/_help.py b/src/application-insights/azext_applicationinsights/_help.py index 0abfef6d370..b52f32a67b1 100644 --- a/src/application-insights/azext_applicationinsights/_help.py +++ b/src/application-insights/azext_applicationinsights/_help.py @@ -363,3 +363,151 @@ --app 578f0e27-12e9-4631-bc02-50b965da2633 \\ --id exportid """ + +helps['monitor app-insights web-test'] = """ + type: group + short-summary: Manage web test with application insights +""" + +helps['monitor app-insights web-test list'] = """ + type: command + short-summary: "Get all Application Insights web tests defined for the specified component. And Get all \ +Application Insights web tests defined within a specified resource group. And Get all Application Insights web test \ +alerts definitions within a subscription." + examples: + - name: webTestListByComponent + text: |- + az monitor app-insights web-test list --component-name "my-component" --resource-group \ +"my-resource-group" + - name: webTestListByResourceGroup + text: |- + az monitor app-insights web-test list --resource-group "my-resource-group" + - name: webTestList + text: |- + az monitor app-insights web-test list +""" + +helps['monitor app-insights web-test show'] = """ + type: command + short-summary: "Get a specific Application Insights web test definition." + examples: + - name: webTestGet + text: |- + az monitor app-insights web-test show --resource-group "my-resource-group" --name \ +"my-webtest-01-mywebservice" +""" + +helps['monitor app-insights web-test create'] = """ + type: command + short-summary: "Create an Application Insights web test definition." + parameters: + - name: --locations + short-summary: "A list of where to physically run the tests from to give global coverage for accessibility of \ +your application." + long-summary: | + Usage: --locations Id=XX + + Id: Location ID for the WebTest to run from. + + Multiple actions can be specified by using more than one --locations argument. + - name: --content-validation + short-summary: "The collection of content validation properties" + long-summary: | + Usage: --content-validation content-match=XX ignore-case=XX pass-if-text-found=XX + + content-match: Content to look for in the return of the WebTest. Must not be null or empty. + ignore-case: When set, this value makes the ContentMatch validation case insensitive. + pass-if-text-found: When true, validation will pass if there is a match for the ContentMatch string. If \ +false, validation will fail if there is a match + - name: --headers + short-summary: "List of headers and their values to add to the WebTest call." + long-summary: | + Usage: --headers key=XX value=XX + + key: The name of the header. + value: The value of the header. + + Multiple actions can be specified by using more than one --headers argument. + examples: + - name: webTestCreate + text: |- + az monitor app-insights web-test create --kind "ping" --location "South Central US" --web-test \ +"" --description "Ping web test alert for mytestwebapp" --enabled true --frequency 900 \ +--web-test-kind "ping" --locations Id="us-fl-mia-edge" --defined-web-test-name \ +"my-webtest-my-component" --retry-enabled true --synthetic-monitor-id "my-webtest-my-component" --timeout 120 \ +--resource-group "my-resource-group" --name "my-webtest-my-component" --tags hidden-link:XX=XX + - name: webTestCreateStandard + text: |- + az monitor app-insights web-test create --location "South Central US" --description "Ping web test \ +alert for mytestwebapp" --enabled true --frequency 900 --web-test-kind "standard" --locations Id="us-fl-mia-edge" \ +--defined-web-test-name "my-webtest-my-component" --http-verb "POST" --request-body "SGVsbG8gd29ybGQ=" --request-url \ +"https://bing.com" --retry-enabled true --synthetic-monitor-id "my-webtest-my-component" --timeout 120 \ +--ssl-lifetime-check 100 --ssl-check true --resource-group "my-resource-group" --name \ +"my-webtest-my-component" --tags hidden-link:XX=XX +""" + +helps['monitor app-insights web-test update'] = """ + type: command + short-summary: "Update an Application Insights web test definition." + parameters: + - name: --locations + short-summary: "A list of where to physically run the tests from to give global coverage for accessibility of \ +your application." + long-summary: | + Usage: --locations Id=XX + + Id: Location ID for the WebTest to run from. + + Multiple actions can be specified by using more than one --locations argument. + - name: --content-validation + short-summary: "The collection of content validation properties" + long-summary: | + Usage: --content-validation content-match=XX ignore-case=XX pass-if-text-found=XX + + content-match: Content to look for in the return of the WebTest. Must not be null or empty. + ignore-case: When set, this value makes the ContentMatch validation case insensitive. + pass-if-text-found: When true, validation will pass if there is a match for the ContentMatch string. If \ +false, validation will fail if there is a match + - name: --headers + short-summary: "List of headers and their values to add to the WebTest call." + long-summary: | + Usage: --headers key=XX value=XX + + key: The name of the header. + value: The value of the header. + + Multiple actions can be specified by using more than one --headers argument. + examples: + - name: webTestUpdate + text: |- + az monitor app-insights web-test update --kind "ping" --location "South Central US" --web-test \ +"" --frequency 600 --web-test-kind "ping" --locations Id="us-fl-mia-edge" --locations \ +Id="apac-hk-hkn-azr" --defined-web-test-name "my-webtest-my-component" --synthetic-monitor-id \ +"my-webtest-my-component" --timeout 30 --resource-group "my-resource-group" --name "my-webtest-my-component" +""" + +helps['monitor app-insights web-test delete'] = """ + type: command + short-summary: "Delete an Application Insights web test." + examples: + - name: webTestDelete + text: |- + az monitor app-insights web-test delete --resource-group "my-resource-group" --name \ +"my-webtest-01-mywebservice" +""" diff --git a/src/application-insights/azext_applicationinsights/_params.py b/src/application-insights/azext_applicationinsights/_params.py index 22ec67034b5..751c16060f0 100644 --- a/src/application-insights/azext_applicationinsights/_params.py +++ b/src/application-insights/azext_applicationinsights/_params.py @@ -4,7 +4,13 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long, too-many-statements +from azext_applicationinsights.action import ( + AddLocations, + AddContentValidation, + AddHeaders +) from azure.cli.core.commands.parameters import get_datetime_type, get_location_type, tags_type, get_three_state_flag, get_enum_type +from azure.cli.core.commands.validators import get_default_location_from_resource_group from azure.cli.command_modules.monitor.actions import get_period_type from ._validators import validate_applications, validate_storage_account_name_or_id, validate_log_analytic_workspace_name_or_id, validate_dest_account, validate_app_service @@ -111,6 +117,42 @@ def load_arguments(self, _): help='Set to \'true\' to create a Continuous Export configuration as enabled, otherwise set it to \'false\'.') for scope in ['update', 'show', 'delete']: - with self.argument_context('monitor app-insights component continues-export {}'.format(scope)) as c: + with self.argument_context(f'monitor app-insights component continues-export {scope}') as c: c.argument('export_id', options_list=['--id'], help='The Continuous Export configuration ID. This is unique within a Application Insights component.') + + with self.argument_context('monitor app-insights web-test') as c: + c.argument('web_test_name', options_list=['--name', '-n', '--web-test-name'], help='The name of the Application Insights WebTest resource.') + 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('kind', arg_type=get_enum_type(['ping', 'multistep']), help='The kind of WebTest that this web test watches. Choices are ping and multistep.') + c.argument('synthetic_monitor_id', help='Unique ID of this WebTest. This is typically the same value as the Name field.') + c.argument('web_test_properties_name_web_test_name', options_list=['--defined-web-test-name'], help='User defined name if this WebTest.') + c.argument('description', help='User defined description for this WebTest.') + c.argument('enabled', arg_type=get_three_state_flag(), help='Is the test actively being monitored.') + c.argument('frequency', type=int, help='Interval in seconds between test runs for this WebTest. Default value is 300.') + c.argument('timeout', type=int, help='Seconds until this WebTest will timeout and fail. Default value is 30.') + c.argument('web_test_kind', arg_type=get_enum_type(['ping', 'multistep', 'standard']), help='The kind of web test this is, valid choices are ping, multistep and standard.') + c.argument('retry_enabled', arg_type=get_three_state_flag(), help='Allow for retries should this WebTest fail.') + c.argument('locations', action=AddLocations, nargs='+', help='A list of where to physically run the tests from to give global coverage for accessibility of your application.') + + with self.argument_context('monitor app-insights web-test', arg_group="Request") as c: + c.argument('request_url', help='Url location to test.') + c.argument('headers', action=AddHeaders, nargs='+', help='List of headers and their values to add to the WebTest call.') + c.argument('http_verb', help='Http verb to use for this web test.') + c.argument('request_body', help='Base64 encoded string body to send with this web test.') + c.argument('parse_dependent_requests', options_list=['--parse-requests'], arg_type=get_three_state_flag(), help='Parse Dependent request for this WebTest.') + c.argument('follow_redirects', arg_type=get_three_state_flag(), help='Follow redirects for this web test.') + + with self.argument_context('monitor app-insights web-test', arg_group="Validation Rules") as c: + c.argument('content_validation', action=AddContentValidation, nargs='+', help='The collection of content validation properties') + c.argument('ssl_check', arg_type=get_three_state_flag(), help='Checks to see if the SSL cert is still valid.') + c.argument('ssl_cert_remaining_lifetime_check', options_list=['--ssl-lifetime-check'], type=int, help='A number of days to check still remain before the the existing SSL cert expires. Value must be positive and the SSLCheck must be set to true.') + c.argument('expected_http_status_code', options_list=['--expected-status-code'], type=int, help='Validate that the WebTest returns the http status code provided.') + c.argument('ignore_https_status_code', options_list=['--ignore-status-code'], arg_type=get_three_state_flag(), help='When set, validation will ignore the status code.') + + with self.argument_context('monitor app-insights web-test', arg_group="Configuration") as c: + c.argument('web_test', help='The XML specification of a WebTest to run against an application.') + + with self.argument_context('monitor app-insights web-test list') as c: + c.argument('component_name', help='The name of the Application Insights component resource.') diff --git a/src/application-insights/azext_applicationinsights/action.py b/src/application-insights/azext_applicationinsights/action.py new file mode 100644 index 00000000000..a1f9fdd8068 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/action.py @@ -0,0 +1,109 @@ +# -------------------------------------------------------------------------------------------- +# 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 +# pylint: disable=no-self-use +# pylint: disable=raise-missing-from +# pylint: disable=line-too-long +import argparse +from collections import defaultdict + +from azure.cli.core.azclierror import ArgumentUsageError + + +class AddLocations(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super().__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: + err_msg = f'usage error: {option_string} [KEY=VALUE ...]' + raise ArgumentUsageError(err_msg) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'id': + d['location'] = v[0] + + else: + err_msg = f'Unsupported Key {k} is provided for parameter locations. All possible keys are: Id' + raise ArgumentUsageError(err_msg) + + return d + + +class AddContentValidation(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.content_validation = 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: + err_msg = f'usage error: {option_string} [KEY=VALUE ...]' + raise ArgumentUsageError(err_msg) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'content-match': + d['content_match'] = v[0] + + elif kl == 'ignore-case': + d['ignore_case'] = v[0] + + elif kl == 'pass-if-text-found': + d['pass_if_text_found'] = v[0] + + else: + err_msg = f'Unsupported Key {k} is provided for parameter content-validation. All possible keys are: content-match, ignore-case, pass-if-text-found' + raise ArgumentUsageError(err_msg) + + return d + + +class AddHeaders(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super().__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: + err_msg = f'usage error: {option_string} [KEY=VALUE ...]' + raise ArgumentUsageError(err_msg) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'key': + d['header_field_name'] = v[0] + + elif kl == 'value': + d['header_field_value'] = v[0] + + else: + err_msg = f'Unsupported Key {k} is provided for parameter headers. All possible keys are: key, value' + raise ArgumentUsageError(err_msg) + + return d diff --git a/src/application-insights/azext_applicationinsights/commands.py b/src/application-insights/azext_applicationinsights/commands.py index f247fb5622c..b4a8a090178 100644 --- a/src/application-insights/azext_applicationinsights/commands.py +++ b/src/application-insights/azext_applicationinsights/commands.py @@ -4,6 +4,7 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long +# pylint: disable=too-many-statements from azure.cli.core.commands import CliCommandType @@ -15,7 +16,8 @@ cf_api_key, cf_component_billing, cf_component_linked_storage_accounts, - cf_export_configuration + cf_export_configuration, + cf_web_test ) @@ -80,6 +82,16 @@ def load_command_table(self, _): client_factory=cf_export_configuration ) + web_test_sdk = CliCommandType( + operations_tmpl='azext_applicationinsights.vendored_sdks.mgmt_applicationinsights.v2018_05_01_preview.operations#WebTestsOperations.{}', + client_factory=cf_web_test + ) + + web_test_custom_sdk = CliCommandType( + operations_tmpl='azext_applicationinsights.custom#{}', + client_factory=cf_web_test + ) + with self.command_group('monitor app-insights component', command_type=components_sdk, custom_command_type=components_custom_sdk) as g: g.custom_command('create', 'create_or_update_component') g.custom_command('update', 'update_component') @@ -120,3 +132,10 @@ def load_command_table(self, _): g.custom_command('create', 'create_export_configuration') g.custom_command('update', 'update_export_configuration') g.custom_command('delete', 'delete_export_configuration', confirmation=True) + + with self.command_group('monitor app-insights web-test', command_type=web_test_sdk, custom_command_type=web_test_custom_sdk) as g: + g.custom_command('list', 'list_web_tests') + g.custom_show_command('show', 'get_web_test') + g.custom_command('create', 'create_web_test') + g.generic_update_command('update', custom_func_name='update_web_test', setter_arg_name='web_test_definition') + g.custom_command('delete', 'delete_web_test', confirmation=True) diff --git a/src/application-insights/azext_applicationinsights/custom.py b/src/application-insights/azext_applicationinsights/custom.py index b541453331f..377418fac04 100644 --- a/src/application-insights/azext_applicationinsights/custom.py +++ b/src/application-insights/azext_applicationinsights/custom.py @@ -4,6 +4,8 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long, protected-access +# pylint: disable=raise-missing-from +# pylint: disable=too-many-statements, too-many-locals, too-many-branches import datetime import isodate @@ -152,9 +154,9 @@ def connect_webapp(cmd, client, resource_group_name, application, app_service, e app_insights = client.get(resource_group_name, application) if app_insights is None or app_insights.instrumentation_key is None: - raise InvalidArgumentValueError("App Insights {} under resource group {} was not found.".format(application, resource_group_name)) + raise InvalidArgumentValueError(f"App Insights {application} under resource group {resource_group_name} was not found.") - settings = ["APPINSIGHTS_INSTRUMENTATIONKEY={}".format(app_insights.instrumentation_key)] + settings = [f"APPINSIGHTS_INSTRUMENTATIONKEY={app_insights.instrumentation_key}"] if enable_profiler is True: settings.append("APPINSIGHTS_PROFILERFEATURE_VERSION=1.0.0") elif enable_profiler is False: @@ -171,9 +173,9 @@ def connect_function(cmd, client, resource_group_name, application, app_service) from azure.cli.command_modules.appservice.custom import update_app_settings app_insights = client.get(resource_group_name, application) if app_insights is None or app_insights.instrumentation_key is None: - raise InvalidArgumentValueError("App Insights {} under resource group {} was not found.".format(application, resource_group_name)) + raise InvalidArgumentValueError(f"App Insights {application} under resource group {resource_group_name} was not found.") - settings = ["APPINSIGHTS_INSTRUMENTATIONKEY={}".format(app_insights.instrumentation_key)] + settings = [f"APPINSIGHTS_INSTRUMENTATIONKEY={app_insights.instrumentation_key}"] return update_app_settings(cmd, resource_group_name, app_service, settings) @@ -299,8 +301,8 @@ def create_export_configuration(cmd, client, application, resource_group_name, r break if not storage_account: - raise CLIError("Destination storage account {} does not exist, " - "use 'az storage account list' to get storage account list".format(dest_account)) + raise CLIError(f"Destination storage account {dest_account} does not exist, " + "use 'az storage account list' to get storage account list") dest_address = getattr(storage_account.primary_endpoints, dest_type.lower(), '') dest_address += dest_container + '?' + dest_sas @@ -352,8 +354,8 @@ def update_export_configuration(cmd, client, application, resource_group_name, e break if not storage_account: - raise CLIError("Destination storage account {} does not exist, " - "use 'az storage account list' to get storage account list".format(dest_account)) + raise CLIError(f"Destination storage account {dest_account} does not exist, " + "use 'az storage account list' to get storage account list") dest_address = getattr(storage_account.primary_endpoints, dest_type.lower(), '') dest_address += dest_container + '?' + dest_sas @@ -372,3 +374,194 @@ def get_export_configuration(client, application, resource_group_name, export_id def delete_export_configuration(client, application, resource_group_name, export_id): return client.delete(resource_group_name, application, export_id) + + +def list_web_tests(client, component_name=None, resource_group_name=None): + if component_name is not None and resource_group_name: + return client.list_by_component(component_name=component_name, resource_group_name=resource_group_name) + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list() + + +def get_web_test(client, resource_group_name, web_test_name): + return client.get(resource_group_name=resource_group_name, web_test_name=web_test_name) + + +def create_web_test(client, + resource_group_name, + web_test_name, + location, + tags=None, + kind=None, + synthetic_monitor_id=None, + web_test_properties_name_web_test_name=None, + description=None, + enabled=None, + frequency=None, + timeout=None, + web_test_kind=None, + retry_enabled=None, + locations=None, + content_validation=None, + ssl_check=None, + ssl_cert_remaining_lifetime_check=None, + expected_http_status_code=None, + ignore_https_status_code=None, + request_url=None, + headers=None, + http_verb=None, + request_body=None, + parse_dependent_requests=None, + follow_redirects=None, + web_test=None): + web_test_definition = {} + web_test_definition['location'] = location + if tags is not None: + web_test_definition['tags'] = tags + if kind is not None: + web_test_definition['kind'] = kind + else: + web_test_definition['kind'] = "ping" + if synthetic_monitor_id is not None: + web_test_definition['synthetic_monitor_id'] = synthetic_monitor_id + if web_test_properties_name_web_test_name is not None: + web_test_definition['web_test_name'] = web_test_properties_name_web_test_name + if description is not None: + web_test_definition['description'] = description + if enabled is not None: + web_test_definition['enabled'] = enabled + if frequency is not None: + web_test_definition['frequency'] = frequency + else: + web_test_definition['frequency'] = 300 + if timeout is not None: + web_test_definition['timeout'] = timeout + else: + web_test_definition['timeout'] = 30 + if web_test_kind is not None: + web_test_definition['web_test_kind'] = web_test_kind + else: + web_test_definition['web_test_kind'] = "ping" + if retry_enabled is not None: + web_test_definition['retry_enabled'] = retry_enabled + if locations is not None: + web_test_definition['locations'] = locations + web_test_definition['validation_rules'] = {} + if content_validation is not None: + web_test_definition['validation_rules']['content_validation'] = content_validation + if ssl_check is not None: + web_test_definition['validation_rules']['ssl_check'] = ssl_check + if ssl_cert_remaining_lifetime_check is not None: + web_test_definition['validation_rules']['ssl_cert_remaining_lifetime_check'] = ssl_cert_remaining_lifetime_check + if expected_http_status_code is not None: + web_test_definition['validation_rules']['expected_http_status_code'] = expected_http_status_code + if ignore_https_status_code is not None: + web_test_definition['validation_rules']['ignore_https_status_code'] = ignore_https_status_code + if len(web_test_definition['validation_rules']) == 0: + del web_test_definition['validation_rules'] + web_test_definition['request'] = {} + if request_url is not None: + web_test_definition['request']['request_url'] = request_url + if headers is not None: + web_test_definition['request']['headers'] = headers + if http_verb is not None: + web_test_definition['request']['http_verb'] = http_verb + if request_body is not None: + web_test_definition['request']['request_body'] = request_body + if parse_dependent_requests is not None: + web_test_definition['request']['parse_dependent_requests'] = parse_dependent_requests + if follow_redirects is not None: + web_test_definition['request']['follow_redirects'] = follow_redirects + if len(web_test_definition['request']) == 0: + del web_test_definition['request'] + web_test_definition['configuration'] = {} + if web_test is not None: + web_test_definition['configuration']['web_test'] = web_test + if len(web_test_definition['configuration']) == 0: + del web_test_definition['configuration'] + return client.create_or_update(resource_group_name=resource_group_name, + web_test_name=web_test_name, + web_test_definition=web_test_definition) + + +# pylint: disable=unused-argument +def update_web_test(instance, + resource_group_name, + web_test_name, + location, + tags=None, + kind=None, + synthetic_monitor_id=None, + web_test_properties_name_web_test_name=None, + description=None, + enabled=None, + frequency=None, + timeout=None, + web_test_kind=None, + retry_enabled=None, + locations=None, + content_validation=None, + ssl_check=None, + ssl_cert_remaining_lifetime_check=None, + expected_http_status_code=None, + ignore_https_status_code=None, + request_url=None, + headers=None, + http_verb=None, + request_body=None, + parse_dependent_requests=None, + follow_redirects=None, + web_test=None): + instance.location = location + if tags is not None: + instance.tags = tags + if kind is not None: + instance.kind = kind + if synthetic_monitor_id is not None: + instance.synthetic_monitor_id = synthetic_monitor_id + if web_test_properties_name_web_test_name is not None: + instance.web_test_name = web_test_properties_name_web_test_name + if description is not None: + instance.description = description + if enabled is not None: + instance.enabled = enabled + if frequency is not None: + instance.frequency = frequency + if timeout is not None: + instance.timeout = timeout + if web_test_kind is not None: + instance.web_test_kind = web_test_kind + if retry_enabled is not None: + instance.retry_enabled = retry_enabled + if locations is not None: + instance.locations = locations + if content_validation is not None: + instance.validation_rules.content_validation = content_validation + if ssl_check is not None: + instance.validation_rules.ssl_check = ssl_check + if ssl_cert_remaining_lifetime_check is not None: + instance.validation_rules.ssl_cert_remaining_lifetime_check = ssl_cert_remaining_lifetime_check + if expected_http_status_code is not None: + instance.validation_rules.expected_http_status_code = expected_http_status_code + if ignore_https_status_code is not None: + instance.validation_rules.ignore_https_status_code = ignore_https_status_code + if request_url is not None: + instance.request.request_url = request_url + if headers is not None: + instance.request.headers = headers + if http_verb is not None: + instance.request.http_verb = http_verb + if request_body is not None: + instance.request.request_body = request_body + if parse_dependent_requests is not None: + instance.request.parse_dependent_requests = parse_dependent_requests + if follow_redirects is not None: + instance.request.follow_redirects = follow_redirects + if web_test is not None: + instance.configuration.web_test = web_test + return instance + + +def delete_web_test(client, resource_group_name, web_test_name): + return client.delete(resource_group_name=resource_group_name, web_test_name=web_test_name) diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recording_processors.py b/src/application-insights/azext_applicationinsights/tests/latest/recording_processors.py index 0af62fa9a92..e5e5f3bc0d6 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recording_processors.py +++ b/src/application-insights/azext_applicationinsights/tests/latest/recording_processors.py @@ -3,7 +3,7 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure_devtools.scenario_tests import RecordingProcessor +from azure.cli.testsdk.scenario_tests import RecordingProcessor def _py3_byte_to_str(byte_or_str): diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_appinsights_webtest_crud.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_appinsights_webtest_crud.yaml new file mode 100644 index 00000000000..8f29d61d4c1 --- /dev/null +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_appinsights_webtest_crud.yaml @@ -0,0 +1,404 @@ +interactions: +- request: + body: '{"location": "westus", "kind": "web", "properties": {"Application_Type": + "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "IngestionMode": + "ApplicationInsights"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights component create + Connection: + - keep-alive + Content-Length: + - '172' + Content-Type: + - application/json + ParameterSetName: + - -a -l -g --kind --application-type + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/Microsoft.Insights/components/test-app?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/components/test-app","name":"test-app","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"2d009f1d-0000-0200-0000-620f10290000\"","properties":{"Ver":"v2","ApplicationId":"test-app","AppId":"53447ca9-6571-461d-ade8-aed18e245412","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"0946128b-612f-4a8d-af29-31bcbb20af7b","ConnectionString":"InstrumentationKey=0946128b-612f-4a8d-af29-31bcbb20af7b;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"test-app","CreationDate":"2022-02-18T03:19:05.484466+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: + - '1000' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 18 Feb 2022 03:19:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + 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: '{"location": "westus", "tags": {"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/components/test-app": + "Resource"}, "kind": "ping", "properties": {"SyntheticMonitorId": "test-webtest", + "Name": "test-webtest", "Enabled": true, "Frequency": 900, "Timeout": 120, "Kind": + "standard", "RetryEnabled": true, "Locations": [{"Id": "us-fl-mia-edge"}], "Request": + {"RequestUrl": "https://www.bing.com", "HttpVerb": "POST", "RequestBody": "SGVsbG8gd29ybGQ="}, + "ValidationRules": {"SSLCheck": true, "SSLCertRemainingLifetimeCheck": 100}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights web-test create + Connection: + - keep-alive + Content-Length: + - '614' + Content-Type: + - application/json + ParameterSetName: + - -n -l -g --enabled --frequency --web-test-kind --locations --defined-web-test-name + --http-verb --request-body --request-url --retry-enabled --synthetic-monitor-id + --timeout --ssl-lifetime-check --ssl-check --tags + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/Microsoft.Insights/webtests/test-webtest?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/webtests/test-webtest","name":"test-webtest","type":"microsoft.insights/webtests","location":"westus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/components/test-app":"Resource"},"kind":"ping","etag":"\"2d00f81d-0000-0200-0000-620f10340000\"","properties":{"SyntheticMonitorId":"test-webtest","Name":"test-webtest","Description":null,"Enabled":true,"Frequency":900,"Timeout":120,"Kind":"standard","RetryEnabled":true,"Locations":[{"Id":"us-fl-mia-edge"}],"Configuration":null,"Request":{"RequestUrl":"https://www.bing.com","Headers":null,"HttpVerb":"POST","RequestBody":"SGVsbG8gd29ybGQ=","ParseDependentRequests":null,"FollowRedirects":null},"ValidationRules":{"ExpectedHttpStatusCode":null,"IgnoreHttpStatusCode":null,"ContentValidation":null,"SSLCheck":true,"SSLCertRemainingLifetimeCheck":100},"provisioningState":"Succeeded"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1063' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 18 Feb 2022 03:19:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + 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: + - monitor app-insights web-test list + Connection: + - keep-alive + ParameterSetName: + - -g --component-name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/Microsoft.Insights/components/test-app/webtests?api-version=2018-05-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/webtests/test-webtest","name":"test-webtest","type":"microsoft.insights/webtests","location":"westus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/components/test-app":"Resource"},"kind":"ping","etag":"\"2d00f81d-0000-0200-0000-620f10340000\"","properties":{"SyntheticMonitorId":"test-webtest","Name":"test-webtest","Description":null,"Enabled":true,"Frequency":900,"Timeout":120,"Kind":"standard","RetryEnabled":true,"Locations":[{"Id":"us-fl-mia-edge"}],"Configuration":null,"Request":{"RequestUrl":"https://www.bing.com","Headers":null,"HttpVerb":"POST","RequestBody":"SGVsbG8gd29ybGQ=","ParseDependentRequests":null,"FollowRedirects":null},"ValidationRules":{"ExpectedHttpStatusCode":null,"IgnoreHttpStatusCode":null,"ContentValidation":null,"SSLCheck":true,"SSLCertRemainingLifetimeCheck":100},"provisioningState":"Succeeded"}}],"nextLink":null}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1091' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 18 Feb 2022 03:19:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + 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: + - monitor app-insights web-test update + Connection: + - keep-alive + ParameterSetName: + - -n -l -g --locations + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/Microsoft.Insights/webtests/test-webtest?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/webtests/test-webtest","name":"test-webtest","type":"microsoft.insights/webtests","location":"westus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/components/test-app":"Resource"},"kind":"ping","etag":"\"2d00f81d-0000-0200-0000-620f10340000\"","properties":{"SyntheticMonitorId":"test-webtest","Name":"test-webtest","Description":null,"Enabled":true,"Frequency":900,"Timeout":120,"Kind":"standard","RetryEnabled":true,"Locations":[{"Id":"us-fl-mia-edge"}],"Configuration":null,"Request":{"RequestUrl":"https://www.bing.com","Headers":null,"HttpVerb":"POST","RequestBody":"SGVsbG8gd29ybGQ=","ParseDependentRequests":null,"FollowRedirects":null},"ValidationRules":{"ExpectedHttpStatusCode":null,"IgnoreHttpStatusCode":null,"ContentValidation":null,"SSLCheck":true,"SSLCertRemainingLifetimeCheck":100},"provisioningState":"Succeeded"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1063' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 18 Feb 2022 03:19:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + 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: '{"location": "westus", "tags": {"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/components/test-app": + "Resource"}, "kind": "ping", "properties": {"SyntheticMonitorId": "test-webtest", + "Name": "test-webtest", "Enabled": true, "Frequency": 900, "Timeout": 120, "Kind": + "standard", "RetryEnabled": true, "Locations": [{"Id": "apac-hk-hkn-azr"}], + "Request": {"RequestUrl": "https://www.bing.com", "HttpVerb": "POST", "RequestBody": + "SGVsbG8gd29ybGQ="}, "ValidationRules": {"SSLCheck": true, "SSLCertRemainingLifetimeCheck": + 100}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - monitor app-insights web-test update + Connection: + - keep-alive + Content-Length: + - '615' + Content-Type: + - application/json + ParameterSetName: + - -n -l -g --locations + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/Microsoft.Insights/webtests/test-webtest?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/webtests/test-webtest","name":"test-webtest","type":"microsoft.insights/webtests","location":"westus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/components/test-app":"Resource"},"kind":"ping","etag":"\"2d00161e-0000-0200-0000-620f103a0000\"","properties":{"SyntheticMonitorId":"test-webtest","Name":"test-webtest","Description":null,"Enabled":true,"Frequency":900,"Timeout":120,"Kind":"standard","RetryEnabled":true,"Locations":[{"Id":"apac-hk-hkn-azr"}],"Configuration":null,"Request":{"RequestUrl":"https://www.bing.com","Headers":null,"HttpVerb":"POST","RequestBody":"SGVsbG8gd29ybGQ=","ParseDependentRequests":null,"FollowRedirects":null},"ValidationRules":{"ExpectedHttpStatusCode":null,"IgnoreHttpStatusCode":null,"ContentValidation":null,"SSLCheck":true,"SSLCertRemainingLifetimeCheck":100},"provisioningState":"Succeeded"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1064' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 18 Feb 2022 03:19:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + 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: + - monitor app-insights web-test show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/Microsoft.Insights/webtests/test-webtest?api-version=2018-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/webtests/test-webtest","name":"test-webtest","type":"microsoft.insights/webtests","location":"westus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/microsoft.insights/components/test-app":"Resource"},"kind":"ping","etag":"\"2d00161e-0000-0200-0000-620f103a0000\"","properties":{"SyntheticMonitorId":"test-webtest","Name":"test-webtest","Description":null,"Enabled":true,"Frequency":900,"Timeout":120,"Kind":"standard","RetryEnabled":true,"Locations":[{"Id":"apac-hk-hkn-azr"}],"Configuration":null,"Request":{"RequestUrl":"https://www.bing.com","Headers":null,"HttpVerb":"POST","RequestBody":"SGVsbG8gd29ybGQ=","ParseDependentRequests":null,"FollowRedirects":null},"ValidationRules":{"ExpectedHttpStatusCode":null,"IgnoreHttpStatusCode":null,"ContentValidation":null,"SSLCheck":true,"SSLCertRemainingLifetimeCheck":100},"provisioningState":"Succeeded"}}' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1064' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 18 Feb 2022 03:19:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + 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: + - monitor app-insights web-test delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_appinsights_000001/providers/Microsoft.Insights/webtests/test-webtest?api-version=2018-05-01-preview + response: + body: + string: '' + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 18 Feb 2022 03:19:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 + 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/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 5e257cbe0d5..5f68a0c0435 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,21 +13,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-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-07-28T03:41:46Z"},"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":"2022-02-18T08:44:47Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '310' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:42:43 GMT + - Fri, 18 Feb 2022 08:45:43 GMT expires: - '-1' pragma: @@ -60,39 +60,42 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000004?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"727055c9-a320-423b-a7f6-54f833f05d8e\",\r\n \"provisioningState\": \"Creating\",\r\n + \"d0b48208-91b8-4bc8-9ba4-fab2615f59b8\",\r\n \"provisioningState\": \"Creating\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:42:50 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:45: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\": - \"Wed, 28 Jul 2021 16:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:42:50 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:42:50 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:45:50 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:45: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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1133' + - '1060' content-type: - application/json date: - - Wed, 28 Jul 2021 03:42:51 GMT + - Fri, 18 Feb 2022 08:45:51 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: @@ -119,45 +122,48 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000004?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"727055c9-a320-423b-a7f6-54f833f05d8e\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"d0b48208-91b8-4bc8-9ba4-fab2615f59b8\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:42:50 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:45: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\": - \"Wed, 28 Jul 2021 16:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:42:50 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:42:50 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:45:50 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:45: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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:43:21 GMT + - Fri, 18 Feb 2022 08:46:21 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -181,30 +187,30 @@ interactions: Connection: - keep-alive Content-Length: - - '406' + - '340' Content-Type: - application/json ParameterSetName: - --app --location --kind -g --workspace --application-type User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"0200ea46-0000-0200-0000-6100d2600000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"def714b9-3e3a-412c-8384-0fb2cab3776f","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c241aee9-27a7-4f52-b073-83f873c73d3f","ConnectionString":"InstrumentationKey=c241aee9-27a7-4f52-b073-83f873c73d3f","Name":"demoApp","CreationDate":"2021-07-28T03:43:26.9622973+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"}}' + 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":"\"3000f9c5-0000-0200-0000-620f5ce30000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"38b27790-f193-4bf2-88ab-efadf8631d93","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"9c468a06-49af-45d2-a088-986a7486bdf6","ConnectionString":"InstrumentationKey=9c468a06-49af-45d2-a088-986a7486bdf6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:26.929576+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 cache-control: - no-cache content-length: - - '1208' + - '1151' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:30 GMT + - Fri, 18 Feb 2022 08:46:29 GMT expires: - '-1' pragma: @@ -222,7 +228,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -240,14 +246,14 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '187' Content-Type: - application/json ParameterSetName: - --app -g -s User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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: @@ -262,11 +268,11 @@ interactions: cache-control: - no-cache content-length: - - '608' + - '481' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:43 GMT + - Fri, 18 Feb 2022 08:46:35 GMT expires: - '-1' pragma: @@ -304,8 +310,8 @@ interactions: ParameterSetName: - --app -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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: @@ -320,11 +326,11 @@ interactions: cache-control: - no-cache content-length: - - '608' + - '481' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:45 GMT + - Fri, 18 Feb 2022 08:46:36 GMT expires: - '-1' pragma: @@ -358,14 +364,14 @@ interactions: Connection: - keep-alive Content-Length: - - '255' + - '187' Content-Type: - application/json ParameterSetName: - --app -g -s User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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: @@ -380,11 +386,11 @@ interactions: cache-control: - no-cache content-length: - - '608' + - '481' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:55 GMT + - Fri, 18 Feb 2022 08:46:43 GMT expires: - '-1' pragma: @@ -402,7 +408,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -424,8 +430,8 @@ interactions: ParameterSetName: - --app -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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: @@ -439,7 +445,7 @@ interactions: content-length: - '0' date: - - Wed, 28 Jul 2021 03:44:01 GMT + - Fri, 18 Feb 2022 08:46:48 GMT expires: - '-1' pragma: @@ -473,8 +479,8 @@ interactions: ParameterSetName: - --app -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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: @@ -490,7 +496,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:44:02 GMT + - Fri, 18 Feb 2022 08:46:49 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 3c05a1de1ba..904cb468af3 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,21 +13,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-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-07-28T03:41:46Z"},"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":"2022-02-18T08:44:47Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '310' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:41:50 GMT + - Fri, 18 Feb 2022 08:44:49 GMT expires: - '-1' pragma: @@ -60,39 +60,42 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"4c6c2603-422f-4175-9fbe-236c49dd3df5\",\r\n \"provisioningState\": \"Creating\",\r\n + \"b38a8bec-8cc1-4d9a-bb14-1732b2bfed7f\",\r\n \"provisioningState\": \"Creating\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:41:56 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:44:55 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, 28 Jul 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:41:56 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:41:56 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:44:55 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:44:55 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1133' + - '1060' content-type: - application/json date: - - Wed, 28 Jul 2021 03:41:58 GMT + - Fri, 18 Feb 2022 08:44:56 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: @@ -119,45 +122,48 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"4c6c2603-422f-4175-9fbe-236c49dd3df5\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"b38a8bec-8cc1-4d9a-bb14-1732b2bfed7f\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:41:56 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:44:55 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, 28 Jul 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:41:56 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:41:58 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:44:55 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:44:56 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:42:28 GMT + - Fri, 18 Feb 2022 08:45:26 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -180,21 +186,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-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-07-28T03:41:46Z"},"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":"2022-02-18T08:44:47Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '310' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:42:28 GMT + - Fri, 18 Feb 2022 08:45:27 GMT expires: - '-1' pragma: @@ -227,45 +233,48 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"27d19b42-6c31-4837-994d-9a54f70b590e\",\r\n \"provisioningState\": \"Creating\",\r\n + \"410076ff-1faa-425a-8ef6-b37b3a0be66b\",\r\n \"provisioningState\": \"Creating\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:42:35 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:45:35 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, 28 Jul 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 08:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:42:35 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:42:35 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:45:35 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:45:35 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1133' + - '1060' content-type: - application/json date: - - Wed, 28 Jul 2021 03:42:37 GMT + - Fri, 18 Feb 2022 08:45:36 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 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' + - '1198' x-powered-by: - ASP.NET - ASP.NET @@ -286,45 +295,48 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"27d19b42-6c31-4837-994d-9a54f70b590e\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"410076ff-1faa-425a-8ef6-b37b3a0be66b\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:42:35 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:45:35 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, 28 Jul 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 08:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:42:35 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:42:37 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:45:35 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:45: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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:43:07 GMT + - Fri, 18 Feb 2022 08:46:07 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -353,24 +365,24 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02000d46-0000-0200-0000-6100d2520000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"0517eb94-8917-42fa-b7de-909b644ebd05","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5133aeac-d86e-43b9-b2fa-39de8afeb1ba","ConnectionString":"InstrumentationKey=5133aeac-d86e-43b9-b2fa-39de8afeb1ba","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.1710351+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30004fc5-0000-0200-0000-620f5cd90000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"d1f8a70a-e129-49dd-a939-6381fd5a6ce7","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"78c160de-10c6-4886-a0d6-b124ad3ceeb6","ConnectionString":"InstrumentationKey=78c160de-10c6-4886-a0d6-b124ad3ceeb6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:16.576403+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: - - '976' + - '985' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:16 GMT + - Fri, 18 Feb 2022 08:46:23 GMT expires: - '-1' pragma: @@ -388,7 +400,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -408,24 +420,24 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02000d46-0000-0200-0000-6100d2520000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"0517eb94-8917-42fa-b7de-909b644ebd05","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5133aeac-d86e-43b9-b2fa-39de8afeb1ba","ConnectionString":"InstrumentationKey=5133aeac-d86e-43b9-b2fa-39de8afeb1ba","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.1710351+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30004fc5-0000-0200-0000-620f5cd90000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"d1f8a70a-e129-49dd-a939-6381fd5a6ce7","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"78c160de-10c6-4886-a0d6-b124ad3ceeb6","ConnectionString":"InstrumentationKey=78c160de-10c6-4886-a0d6-b124ad3ceeb6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:16.576403+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: - - '976' + - '985' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:17 GMT + - Fri, 18 Feb 2022 08:46:24 GMT expires: - '-1' pragma: @@ -461,7 +473,7 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.OperationalInsights?api-version=2021-04-01 response: @@ -473,7 +485,9 @@ 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","Norway West","France South","South India"],"apiVersions":["2021-06-01","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, + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["2021-12-01-preview","2021-06-01","2021-03-01-privatepreview","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 @@ -481,7 +495,8 @@ interactions: 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, + Central","France South","South India","Korea South","Jio India Central","Jio + India West","Canada East","West US 3","Sweden Central"],"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 @@ -489,49 +504,63 @@ 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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central","East US 2 EUAP","Sweden South"],"apiVersions":["2021-07-01-privatepreview","2021-03-01-privatepreview","2020-10-01"],"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 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","Norway West","France South","South India"],"apiVersions":["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":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-08-01","2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","locations":["East + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["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":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-08-01","2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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 @@ -539,30 +568,37 @@ 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","Norway West","France South","South India"],"apiVersions":["2020-10-01","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","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["2021-12-01-preview","2020-10-01","2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2021-12-01-preview","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","Norway West","France South","South India"],"apiVersions":["2021-06-01","2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2021-06-01","capabilities":"CrossResourceGroupResourceMove, + East","Norway West","France South","South India","Korea South","Jio India + Central","Jio India West","Canada East","West US 3","Sweden Central"],"apiVersions":["2021-06-01","2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2021-06-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"],"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","Switzerland North","Switzerland West","Germany West + Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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: - - '10694' + - '12158' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:18 GMT + - Fri, 18 Feb 2022 08:46:24 GMT expires: - '-1' pragma: @@ -590,45 +626,48 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-06-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"4c6c2603-422f-4175-9fbe-236c49dd3df5\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"b38a8bec-8cc1-4d9a-bb14-1732b2bfed7f\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:41:56 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:44:55 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, 28 Jul 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:41:56 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:41:58 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:44:55 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:44:56 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:43:19 GMT + - Fri, 18 Feb 2022 08:46:24 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -638,7 +677,7 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"02000d46-0000-0200-0000-6100d2520000\"", + body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"30004fc5-0000-0200-0000-620f5cd90000\"", "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": @@ -653,30 +692,30 @@ interactions: Connection: - keep-alive Content-Length: - - '558' + - '492' Content-Type: - application/json ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02009146-0000-0200-0000-6100d25a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"0517eb94-8917-42fa-b7de-909b644ebd05","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5133aeac-d86e-43b9-b2fa-39de8afeb1ba","ConnectionString":"InstrumentationKey=5133aeac-d86e-43b9-b2fa-39de8afeb1ba","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.1710351+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-07-28T03:43:21.016243+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":"\"3000f2c5-0000-0200-0000-620f5ce30000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"d1f8a70a-e129-49dd-a939-6381fd5a6ce7","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"78c160de-10c6-4886-a0d6-b124ad3ceeb6","ConnectionString":"InstrumentationKey=78c160de-10c6-4886-a0d6-b124ad3ceeb6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:16.576403+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":"2022-02-18T08:46:26.496106+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1261' + - '1204' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:26 GMT + - Fri, 18 Feb 2022 08:46:30 GMT expires: - '-1' pragma: @@ -694,7 +733,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' x-powered-by: - ASP.NET status: @@ -714,24 +753,24 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02009146-0000-0200-0000-6100d25a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"0517eb94-8917-42fa-b7de-909b644ebd05","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5133aeac-d86e-43b9-b2fa-39de8afeb1ba","ConnectionString":"InstrumentationKey=5133aeac-d86e-43b9-b2fa-39de8afeb1ba","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.1710351+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-07-28T03:43:21.016243+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":"\"3000f2c5-0000-0200-0000-620f5ce30000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"d1f8a70a-e129-49dd-a939-6381fd5a6ce7","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"78c160de-10c6-4886-a0d6-b124ad3ceeb6","ConnectionString":"InstrumentationKey=78c160de-10c6-4886-a0d6-b124ad3ceeb6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:16.576403+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":"2022-02-18T08:46:26.496106+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1261' + - '1204' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:27 GMT + - Fri, 18 Feb 2022 08:46:32 GMT expires: - '-1' pragma: @@ -767,7 +806,7 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.OperationalInsights?api-version=2021-04-01 response: @@ -779,7 +818,9 @@ 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","Norway West","France South","South India"],"apiVersions":["2021-06-01","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, + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["2021-12-01-preview","2021-06-01","2021-03-01-privatepreview","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 @@ -787,7 +828,8 @@ interactions: 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, + Central","France South","South India","Korea South","Jio India Central","Jio + India West","Canada East","West US 3","Sweden Central"],"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 @@ -795,49 +837,63 @@ 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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central","East US 2 EUAP","Sweden South"],"apiVersions":["2021-07-01-privatepreview","2021-03-01-privatepreview","2020-10-01"],"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 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","Norway West","France South","South India"],"apiVersions":["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":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-08-01","2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","locations":["East + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["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":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-08-01","2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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 @@ -845,30 +901,37 @@ 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","Norway West","France South","South India"],"apiVersions":["2020-10-01","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","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["2021-12-01-preview","2020-10-01","2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2021-12-01-preview","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","Norway West","France South","South India"],"apiVersions":["2021-06-01","2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2021-06-01","capabilities":"CrossResourceGroupResourceMove, + East","Norway West","France South","South India","Korea South","Jio India + Central","Jio India West","Canada East","West US 3","Sweden Central"],"apiVersions":["2021-06-01","2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2021-06-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"],"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","Switzerland North","Switzerland West","Germany West + Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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: - - '10694' + - '12158' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:27 GMT + - Fri, 18 Feb 2022 08:46:33 GMT expires: - '-1' pragma: @@ -896,45 +959,48 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003?api-version=2021-06-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"27d19b42-6c31-4837-994d-9a54f70b590e\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"410076ff-1faa-425a-8ef6-b37b3a0be66b\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:42:35 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:45:35 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, 28 Jul 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 08:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:42:35 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:42:37 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:45:35 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:45: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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:43:29 GMT + - Fri, 18 Feb 2022 08:46:34 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -944,7 +1010,7 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"02009146-0000-0200-0000-6100d25a0000\"", + body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"3000f2c5-0000-0200-0000-620f5ce30000\"", "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": @@ -959,30 +1025,30 @@ interactions: Connection: - keep-alive Content-Length: - - '558' + - '492' Content-Type: - application/json ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02000e47-0000-0200-0000-6100d2620000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"0517eb94-8917-42fa-b7de-909b644ebd05","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5133aeac-d86e-43b9-b2fa-39de8afeb1ba","ConnectionString":"InstrumentationKey=5133aeac-d86e-43b9-b2fa-39de8afeb1ba","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.1710351+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-07-28T03:43:21.016243+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":"\"3000cac6-0000-0200-0000-620f5cec0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"d1f8a70a-e129-49dd-a939-6381fd5a6ce7","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"78c160de-10c6-4886-a0d6-b124ad3ceeb6","ConnectionString":"InstrumentationKey=78c160de-10c6-4886-a0d6-b124ad3ceeb6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:16.576403+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":"2022-02-18T08:46:26.496106+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1261' + - '1204' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:34 GMT + - Fri, 18 Feb 2022 08:46:41 GMT expires: - '-1' pragma: @@ -1000,7 +1066,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' x-powered-by: - ASP.NET status: @@ -1020,24 +1086,24 @@ interactions: ParameterSetName: - --app --workspace --kind -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02000e47-0000-0200-0000-6100d2620000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"0517eb94-8917-42fa-b7de-909b644ebd05","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5133aeac-d86e-43b9-b2fa-39de8afeb1ba","ConnectionString":"InstrumentationKey=5133aeac-d86e-43b9-b2fa-39de8afeb1ba","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.1710351+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-07-28T03:43:21.016243+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":"\"3000cac6-0000-0200-0000-620f5cec0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"d1f8a70a-e129-49dd-a939-6381fd5a6ce7","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"78c160de-10c6-4886-a0d6-b124ad3ceeb6","ConnectionString":"InstrumentationKey=78c160de-10c6-4886-a0d6-b124ad3ceeb6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:16.576403+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":"2022-02-18T08:46:26.496106+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1261' + - '1204' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:35 GMT + - Fri, 18 Feb 2022 08:46:41 GMT expires: - '-1' pragma: @@ -1073,7 +1139,7 @@ interactions: ParameterSetName: - --app --workspace --kind -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.OperationalInsights?api-version=2021-04-01 response: @@ -1085,7 +1151,9 @@ 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","Norway West","France South","South India"],"apiVersions":["2021-06-01","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, + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["2021-12-01-preview","2021-06-01","2021-03-01-privatepreview","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 @@ -1093,7 +1161,8 @@ interactions: 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, + Central","France South","South India","Korea South","Jio India Central","Jio + India West","Canada East","West US 3","Sweden Central"],"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 @@ -1101,49 +1170,63 @@ 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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central","East US 2 EUAP","Sweden South"],"apiVersions":["2021-07-01-privatepreview","2021-03-01-privatepreview","2020-10-01"],"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 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","Norway West","France South","South India"],"apiVersions":["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":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-08-01","2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","locations":["East + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["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":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-08-01","2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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 @@ -1151,30 +1234,37 @@ 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","Norway West","France South","South India"],"apiVersions":["2020-10-01","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","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["2021-12-01-preview","2020-10-01","2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2021-12-01-preview","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","Norway West","France South","South India"],"apiVersions":["2021-06-01","2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2021-06-01","capabilities":"CrossResourceGroupResourceMove, + East","Norway West","France South","South India","Korea South","Jio India + Central","Jio India West","Canada East","West US 3","Sweden Central"],"apiVersions":["2021-06-01","2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2021-06-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"],"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","Switzerland North","Switzerland West","Germany West + Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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: - - '10694' + - '12158' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:35 GMT + - Fri, 18 Feb 2022 08:46:41 GMT expires: - '-1' pragma: @@ -1202,45 +1292,48 @@ interactions: ParameterSetName: - --app --workspace --kind -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-06-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"4c6c2603-422f-4175-9fbe-236c49dd3df5\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"b38a8bec-8cc1-4d9a-bb14-1732b2bfed7f\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:41:56 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:44:55 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, 28 Jul 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Sat, 19 Feb 2022 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:41:56 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:41:58 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:44:55 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:44:56 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:43:35 GMT + - Fri, 18 Feb 2022 08:46:42 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -1250,7 +1343,7 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "kind": "ios", "etag": "\"02000e47-0000-0200-0000-6100d2620000\"", + body: '{"location": "westus", "tags": {}, "kind": "ios", "etag": "\"3000cac6-0000-0200-0000-620f5cec0000\"", "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": @@ -1265,30 +1358,30 @@ interactions: Connection: - keep-alive Content-Length: - - '558' + - '492' Content-Type: - application/json ParameterSetName: - --app --workspace --kind -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02008b47-0000-0200-0000-6100d26b0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"0517eb94-8917-42fa-b7de-909b644ebd05","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5133aeac-d86e-43b9-b2fa-39de8afeb1ba","ConnectionString":"InstrumentationKey=5133aeac-d86e-43b9-b2fa-39de8afeb1ba","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.1710351+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-07-28T03:43:21.016243+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":"\"3000a4c7-0000-0200-0000-620f5cf50000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"d1f8a70a-e129-49dd-a939-6381fd5a6ce7","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"78c160de-10c6-4886-a0d6-b124ad3ceeb6","ConnectionString":"InstrumentationKey=78c160de-10c6-4886-a0d6-b124ad3ceeb6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:16.576403+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":"2022-02-18T08:46:26.496106+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1261' + - '1204' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:47 GMT + - Fri, 18 Feb 2022 08:46:47 GMT expires: - '-1' pragma: @@ -1306,7 +1399,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -1327,30 +1420,30 @@ interactions: Connection: - keep-alive Content-Length: - - '406' + - '340' Content-Type: - application/json ParameterSetName: - --app --workspace --location --kind -g --application-type User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02007348-0000-0200-0000-6100d27c0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"69140681-2806-4b15-8741-1348047cb387","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"fb7d0d27-62c3-43c3-a6d5-30cccf595b59","ConnectionString":"InstrumentationKey=fb7d0d27-62c3-43c3-a6d5-30cccf595b59","Name":"testApp","CreationDate":"2021-07-28T03:43:54.1105231+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"}}' + 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":"\"300027c8-0000-0200-0000-620f5cfc0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"7461cc2b-d49e-4eff-8660-8d6d1370d6bc","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"0e61964b-2894-493f-888a-1a463ac2cf64","ConnectionString":"InstrumentationKey=0e61964b-2894-493f-888a-1a463ac2cf64;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2022-02-18T08:46:52.4782809+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 cache-control: - no-cache content-length: - - '1208' + - '1152' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:57 GMT + - Fri, 18 Feb 2022 08:46:54 GMT expires: - '-1' pragma: @@ -1368,7 +1461,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' x-powered-by: - ASP.NET status: @@ -1388,24 +1481,24 @@ interactions: ParameterSetName: - --app --kind -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02007348-0000-0200-0000-6100d27c0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"69140681-2806-4b15-8741-1348047cb387","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"fb7d0d27-62c3-43c3-a6d5-30cccf595b59","ConnectionString":"InstrumentationKey=fb7d0d27-62c3-43c3-a6d5-30cccf595b59","Name":"testApp","CreationDate":"2021-07-28T03:43:54.1105231+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"}}' + 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":"\"300027c8-0000-0200-0000-620f5cfc0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"7461cc2b-d49e-4eff-8660-8d6d1370d6bc","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"0e61964b-2894-493f-888a-1a463ac2cf64","ConnectionString":"InstrumentationKey=0e61964b-2894-493f-888a-1a463ac2cf64;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2022-02-18T08:46:52.4782809+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 cache-control: - no-cache content-length: - - '1208' + - '1152' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:58 GMT + - Fri, 18 Feb 2022 08:46:55 GMT expires: - '-1' pragma: @@ -1448,24 +1541,24 @@ interactions: ParameterSetName: - --app --kind -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"0200bf48-0000-0200-0000-6100d2810000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"69140681-2806-4b15-8741-1348047cb387","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"fb7d0d27-62c3-43c3-a6d5-30cccf595b59","ConnectionString":"InstrumentationKey=fb7d0d27-62c3-43c3-a6d5-30cccf595b59","Name":"testApp","CreationDate":"2021-07-28T03:43:54.1105231+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"}}' + 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":"\"300098c8-0000-0200-0000-620f5d010000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"7461cc2b-d49e-4eff-8660-8d6d1370d6bc","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"0e61964b-2894-493f-888a-1a463ac2cf64","ConnectionString":"InstrumentationKey=0e61964b-2894-493f-888a-1a463ac2cf64;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2022-02-18T08:46:52.4782809+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 cache-control: - no-cache content-length: - - '1227' + - '1171' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:44:05 GMT + - Fri, 18 Feb 2022 08:47:00 GMT expires: - '-1' pragma: @@ -1483,7 +1576,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' 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 385c1dc390f..03f9bf332f7 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,21 +13,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-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-07-28T03:41:46Z"},"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":"2022-02-18T08:44:47Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '310' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:41:51 GMT + - Fri, 18 Feb 2022 08:44:50 GMT expires: - '-1' pragma: @@ -60,45 +60,48 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"ef137374-28cb-4d10-a927-da6aadfbdfd1\",\r\n \"provisioningState\": \"Creating\",\r\n + \"3b3a6c18-bc69-4207-a80c-d1a1e7664337\",\r\n \"provisioningState\": \"Creating\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:41:58 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:44:55 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, 29 Jul 2021 03:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Fri, 18 Feb 2022 18:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:41:58 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:41:58 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:44:55 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:44:55 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1133' + - '1060' content-type: - application/json date: - - Wed, 28 Jul 2021 03:41:59 GMT + - Fri, 18 Feb 2022 08:44:55 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 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' + - '1196' x-powered-by: - ASP.NET - ASP.NET @@ -119,45 +122,48 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"ef137374-28cb-4d10-a927-da6aadfbdfd1\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"3b3a6c18-bc69-4207-a80c-d1a1e7664337\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:41:58 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:44:55 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, 29 Jul 2021 03:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Fri, 18 Feb 2022 18:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:41:58 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:41:59 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:44:55 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:44:55 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:42:30 GMT + - Fri, 18 Feb 2022 08:45:25 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -180,21 +186,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-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-07-28T03:41:46Z"},"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":"2022-02-18T08:44:47Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '310' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:42:31 GMT + - Fri, 18 Feb 2022 08:45:26 GMT expires: - '-1' pragma: @@ -227,45 +233,48 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"8f5b57a1-6b1b-41e6-9fc4-4b3ac21b5de2\",\r\n \"provisioningState\": \"Creating\",\r\n + \"88a2e616-98f2-478e-a2c9-424322ab5533\",\r\n \"provisioningState\": \"Creating\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:42:37 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:45:32 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, 29 Jul 2021 03:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Fri, 18 Feb 2022 10:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:42:37 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:42:37 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:45:32 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:45:32 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1133' + - '1060' content-type: - application/json date: - - Wed, 28 Jul 2021 03:42:39 GMT + - Fri, 18 Feb 2022 08:45:32 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 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' + - '1198' x-powered-by: - ASP.NET - ASP.NET @@ -286,45 +295,48 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.26.1 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-mgmt-loganalytics/13.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2021-12-01-preview response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"8f5b57a1-6b1b-41e6-9fc4-4b3ac21b5de2\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"88a2e616-98f2-478e-a2c9-424322ab5533\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:42:37 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:45:32 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, 29 Jul 2021 03:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Fri, 18 Feb 2022 10:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:42:37 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:42:38 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:45:32 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:45:33 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:43:09 GMT + - Fri, 18 Feb 2022 08:46:03 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -353,24 +365,24 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02001346-0000-0200-0000-6100d2520000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"53ee966d-afb2-4284-94f8-dcb07a56d3f5","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"296c863f-d53b-4a2d-a958-1e891eec3b1b","ConnectionString":"InstrumentationKey=296c863f-d53b-4a2d-a958-1e891eec3b1b","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.3591925+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"300091c4-0000-0200-0000-620f5cd00000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"1d95554d-3755-44ee-9fa5-583825bc9eff","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"74b03c07-0300-4b47-8d45-cc1cf96a1f59","ConnectionString":"InstrumentationKey=74b03c07-0300-4b47-8d45-cc1cf96a1f59;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:08.3402631+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: - - '976' + - '986' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:16 GMT + - Fri, 18 Feb 2022 08:46:10 GMT expires: - '-1' pragma: @@ -388,7 +400,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -408,24 +420,24 @@ interactions: ParameterSetName: - --app --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02001346-0000-0200-0000-6100d2520000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"53ee966d-afb2-4284-94f8-dcb07a56d3f5","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"296c863f-d53b-4a2d-a958-1e891eec3b1b","ConnectionString":"InstrumentationKey=296c863f-d53b-4a2d-a958-1e891eec3b1b","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.3591925+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"300091c4-0000-0200-0000-620f5cd00000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"1d95554d-3755-44ee-9fa5-583825bc9eff","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"74b03c07-0300-4b47-8d45-cc1cf96a1f59","ConnectionString":"InstrumentationKey=74b03c07-0300-4b47-8d45-cc1cf96a1f59;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:08.3402631+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: - - '976' + - '986' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:17 GMT + - Fri, 18 Feb 2022 08:46:11 GMT expires: - '-1' pragma: @@ -468,24 +480,24 @@ interactions: ParameterSetName: - --app --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02006346-0000-0200-0000-6100d2570000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"53ee966d-afb2-4284-94f8-dcb07a56d3f5","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"296c863f-d53b-4a2d-a958-1e891eec3b1b","ConnectionString":"InstrumentationKey=296c863f-d53b-4a2d-a958-1e891eec3b1b","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.3591925+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"3000f2c4-0000-0200-0000-620f5cd40000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"1d95554d-3755-44ee-9fa5-583825bc9eff","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"74b03c07-0300-4b47-8d45-cc1cf96a1f59","ConnectionString":"InstrumentationKey=74b03c07-0300-4b47-8d45-cc1cf96a1f59;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:08.3402631+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 cache-control: - no-cache content-length: - - '995' + - '1005' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:23 GMT + - Fri, 18 Feb 2022 08:46:16 GMT expires: - '-1' pragma: @@ -503,7 +515,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -523,24 +535,24 @@ interactions: ParameterSetName: - --app --workspace --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02006346-0000-0200-0000-6100d2570000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"53ee966d-afb2-4284-94f8-dcb07a56d3f5","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"296c863f-d53b-4a2d-a958-1e891eec3b1b","ConnectionString":"InstrumentationKey=296c863f-d53b-4a2d-a958-1e891eec3b1b","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.3591925+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"3000f2c4-0000-0200-0000-620f5cd40000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"1d95554d-3755-44ee-9fa5-583825bc9eff","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"74b03c07-0300-4b47-8d45-cc1cf96a1f59","ConnectionString":"InstrumentationKey=74b03c07-0300-4b47-8d45-cc1cf96a1f59;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:08.3402631+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 cache-control: - no-cache content-length: - - '995' + - '1005' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:23 GMT + - Fri, 18 Feb 2022 08:46:17 GMT expires: - '-1' pragma: @@ -576,7 +588,7 @@ interactions: ParameterSetName: - --app --workspace --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.OperationalInsights?api-version=2021-04-01 response: @@ -588,7 +600,9 @@ 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","Norway West","France South","South India"],"apiVersions":["2021-06-01","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, + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["2021-12-01-preview","2021-06-01","2021-03-01-privatepreview","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 @@ -596,7 +610,8 @@ interactions: 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, + Central","France South","South India","Korea South","Jio India Central","Jio + India West","Canada East","West US 3","Sweden Central"],"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 @@ -604,49 +619,63 @@ 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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central","East US 2 EUAP","Sweden South"],"apiVersions":["2021-07-01-privatepreview","2021-03-01-privatepreview","2020-10-01"],"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 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","Norway West","France South","South India"],"apiVersions":["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":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-08-01","2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","locations":["East + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["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":"None"},{"resourceType":"storageInsightConfigs","locations":[],"apiVersions":["2020-08-01","2020-03-01-preview","2014-10-10"],"capabilities":"SupportsExtension"},{"resourceType":"workspaces/linkedServices","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","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 + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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 @@ -654,30 +683,37 @@ 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","Norway West","France South","South India"],"apiVersions":["2020-10-01","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","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"apiVersions":["2021-12-01-preview","2020-10-01","2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2021-12-01-preview","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","Norway West","France South","South India"],"apiVersions":["2021-06-01","2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2021-06-01","capabilities":"CrossResourceGroupResourceMove, + East","Norway West","France South","South India","Korea South","Jio India + Central","Jio India West","Canada East","West US 3","Sweden Central"],"apiVersions":["2021-06-01","2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2021-06-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"],"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","Switzerland North","Switzerland West","Germany West + Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil + Southeast","Norway East","Norway West","France South","South India","Korea + South","Jio India Central","Jio India West","Canada East","West US 3","Sweden + Central"],"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: - - '10694' + - '12158' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:23 GMT + - Fri, 18 Feb 2022 08:46:18 GMT expires: - '-1' pragma: @@ -705,45 +741,48 @@ interactions: ParameterSetName: - --app --workspace --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-06-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"ef137374-28cb-4d10-a927-da6aadfbdfd1\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"3b3a6c18-bc69-4207-a80c-d1a1e7664337\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Wed, 28 Jul 2021 03:41:58 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 18 Feb 2022 08:44:55 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, 29 Jul 2021 03:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Fri, 18 Feb 2022 18:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Wed, 28 Jul 2021 03:41:58 GMT\",\r\n - \ \"modifiedDate\": \"Wed, 28 Jul 2021 03:41:59 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 18 Feb 2022 08:44:55 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 18 Feb 2022 08:44:55 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: + access-control-allow-origin: + - '*' cache-control: - no-cache content-length: - - '1134' + - '1061' content-type: - application/json date: - - Wed, 28 Jul 2021 03:43:25 GMT + - Fri, 18 Feb 2022 08:46:19 GMT pragma: - no-cache + request-context: + - appId=cid-v1:e6336c63-aab2-45f0-996a-e5dbab2a1508 server: - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-powered-by: @@ -753,7 +792,7 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"02006346-0000-0200-0000-6100d2570000\"", + body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"3000f2c4-0000-0200-0000-620f5cd40000\"", "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": @@ -768,30 +807,30 @@ interactions: Connection: - keep-alive Content-Length: - - '560' + - '494' Content-Type: - application/json ParameterSetName: - --app --workspace --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"0200e746-0000-0200-0000-6100d2600000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"53ee966d-afb2-4284-94f8-dcb07a56d3f5","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"296c863f-d53b-4a2d-a958-1e891eec3b1b","ConnectionString":"InstrumentationKey=296c863f-d53b-4a2d-a958-1e891eec3b1b","Name":"demoApp","CreationDate":"2021-07-28T03:43:13.3591925+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-07-28T03:43:27.2741358+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":"\"30008cc5-0000-0200-0000-620f5cde0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"1d95554d-3755-44ee-9fa5-583825bc9eff","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"74b03c07-0300-4b47-8d45-cc1cf96a1f59","ConnectionString":"InstrumentationKey=74b03c07-0300-4b47-8d45-cc1cf96a1f59;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2022-02-18T08:46:08.3402631+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":"2022-02-18T08:46:21.1459141+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Disabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1283' + - '1227' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:32 GMT + - Fri, 18 Feb 2022 08:46:27 GMT expires: - '-1' pragma: @@ -831,30 +870,30 @@ interactions: Connection: - keep-alive Content-Length: - - '495' + - '429' Content-Type: - application/json ParameterSetName: - --app --workspace --location --query-access --ingestion-access -g --application-type User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02007a47-0000-0200-0000-6100d2690000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"607f93f8-8a3c-4fa5-8922-373ba5527739","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5a4f12f4-8949-41e2-a295-f671587ff2a3","ConnectionString":"InstrumentationKey=5a4f12f4-8949-41e2-a295-f671587ff2a3","Name":"testApp","CreationDate":"2021-07-28T03:43:36.4349076+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"}}' + 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":"\"300089c6-0000-0200-0000-620f5cea0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"146a9203-4287-435c-b98b-11860de35a77","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2dfa35b5-e6cd-433d-9f16-5e982bcbf885","ConnectionString":"InstrumentationKey=2dfa35b5-e6cd-433d-9f16-5e982bcbf885;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2022-02-18T08:46:33.5700766+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 cache-control: - no-cache content-length: - - '1209' + - '1153' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:44 GMT + - Fri, 18 Feb 2022 08:46:35 GMT expires: - '-1' pragma: @@ -872,7 +911,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' x-powered-by: - ASP.NET status: @@ -892,24 +931,24 @@ interactions: ParameterSetName: - --app --kind -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02007a47-0000-0200-0000-6100d2690000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"607f93f8-8a3c-4fa5-8922-373ba5527739","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5a4f12f4-8949-41e2-a295-f671587ff2a3","ConnectionString":"InstrumentationKey=5a4f12f4-8949-41e2-a295-f671587ff2a3","Name":"testApp","CreationDate":"2021-07-28T03:43:36.4349076+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"}}' + 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":"\"300089c6-0000-0200-0000-620f5cea0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"146a9203-4287-435c-b98b-11860de35a77","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2dfa35b5-e6cd-433d-9f16-5e982bcbf885","ConnectionString":"InstrumentationKey=2dfa35b5-e6cd-433d-9f16-5e982bcbf885;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2022-02-18T08:46:33.5700766+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 cache-control: - no-cache content-length: - - '1209' + - '1153' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:45 GMT + - Fri, 18 Feb 2022 08:46:37 GMT expires: - '-1' pragma: @@ -952,24 +991,24 @@ interactions: ParameterSetName: - --app --kind -g User-Agent: - - AZURECLI/2.26.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (Windows-10-10.0.19043-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"02000448-0000-0200-0000-6100d2740000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"607f93f8-8a3c-4fa5-8922-373ba5527739","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"5a4f12f4-8949-41e2-a295-f671587ff2a3","ConnectionString":"InstrumentationKey=5a4f12f4-8949-41e2-a295-f671587ff2a3","Name":"testApp","CreationDate":"2021-07-28T03:43:36.4349076+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"}}' + 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":"\"300034c7-0000-0200-0000-620f5cf00000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"146a9203-4287-435c-b98b-11860de35a77","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2dfa35b5-e6cd-433d-9f16-5e982bcbf885","ConnectionString":"InstrumentationKey=2dfa35b5-e6cd-433d-9f16-5e982bcbf885;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2022-02-18T08:46:33.5700766+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 cache-control: - no-cache content-length: - - '1228' + - '1172' content-type: - application/json; charset=utf-8 date: - - Wed, 28 Jul 2021 03:43:51 GMT + - Fri, 18 Feb 2022 08:46:42 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 748a2729f46..4cd3a70cadf 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,24 +19,24 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"7b00f0e5-0000-0200-0000-617a5ac10000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"6d170ad3-77bd-4f86-afdc-5bb655ea7f5f","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"f69a9134-8600-4a3e-a663-8e80433fc725","ConnectionString":"InstrumentationKey=f69a9134-8600-4a3e-a663-8e80433fc725;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-10-28T08:09:37.636208+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30008c9a-0000-0200-0000-620f5ab60000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"bce37ba0-42fb-4003-880b-46207cd72458","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"7aec20c2-f2ed-4ff7-8e0d-1d427efa6180","ConnectionString":"InstrumentationKey=7aec20c2-f2ed-4ff7-8e0d-1d427efa6180;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2022-02-18T08:37:10.1345426+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: - - '1112' + - '1018' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:09:40 GMT + - Fri, 18 Feb 2022 08:37:12 GMT expires: - '-1' pragma: @@ -54,7 +54,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -74,24 +74,24 @@ interactions: ParameterSetName: - -g --app User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"7b00f0e5-0000-0200-0000-617a5ac10000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"6d170ad3-77bd-4f86-afdc-5bb655ea7f5f","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"f69a9134-8600-4a3e-a663-8e80433fc725","ConnectionString":"InstrumentationKey=f69a9134-8600-4a3e-a663-8e80433fc725;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-10-28T08:09:37.636208+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30008c9a-0000-0200-0000-620f5ab60000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"bce37ba0-42fb-4003-880b-46207cd72458","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"7aec20c2-f2ed-4ff7-8e0d-1d427efa6180","ConnectionString":"InstrumentationKey=7aec20c2-f2ed-4ff7-8e0d-1d427efa6180;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2022-02-18T08:37:10.1345426+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: - - '1112' + - '1018' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:09:42 GMT + - Fri, 18 Feb 2022 08:37:13 GMT expires: - '-1' pragma: @@ -127,21 +127,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-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-10-28T08:07: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":"2022-02-18T08:36:35Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '310' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:09:46 GMT + - Fri, 18 Feb 2022 08:37:14 GMT expires: - '-1' pragma: @@ -156,8 +156,8 @@ interactions: code: 200 message: OK - request: - body: '{"name": "clitestplan000005", "type": "Microsoft.Web/serverfarms", "location": - "westus", "properties": {"skuName": "B1", "capacity": 1}}' + body: '{"location": "westus", "sku": {"name": "B1", "tier": "BASIC", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false}}' headers: Accept: - application/json @@ -168,27 +168,30 @@ interactions: Connection: - keep-alive Content-Length: - - '143' + - '136' Content-Type: - application/json ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2020-09-01 + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PUT + 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: '{"status":"Success","error":null}' + 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":9765,"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-183_9765","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '33' + - '1476' content-type: - application/json date: - - Thu, 28 Oct 2021 08:09:47 GMT + - Fri, 18 Feb 2022 08:37:22 GMT + etag: + - '"1D824A2BEA02DA0"' expires: - '-1' pragma: @@ -220,77 +223,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - appservice plan create + - functionapp create Connection: - keep-alive ParameterSetName: - - -g -n + - -g -n --plan -s User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-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-10-28T08:07:02Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '428' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 28 Oct 2021 08:09: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: '{"location": "westus", "sku": {"name": "B1", "tier": "BASIC", "capacity": - 1}, "properties": {"perSiteScaling": false, "isXenon": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - appservice plan create - Connection: - - keep-alive - Content-Length: - - '136' - Content-Type: - - application/json - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.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/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":16689,"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-173_16689","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":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":"West + US","properties":{"serverFarmId":9765,"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-183_9765","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '1676' + - '1404' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:03 GMT - etag: - - '"1D7CBD3355D578B"' + - Fri, 18 Feb 2022 08:37:22 GMT expires: - '-1' pragma: @@ -307,8 +262,6 @@ interactions: - 4.0.30319 x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' x-powered-by: - ASP.NET status: @@ -328,23 +281,53 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005?api-version=2020-09-01 + uri: https://management.azure.com/providers/Microsoft.Web/functionAppStacks?api-version=2021-01-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":16689,"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-173_16689","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/functionAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET + 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","isDefault":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"netFrameworkVersion":"v6.0"},"supportedFunctionsExtensionVersions":["~4"]},"linuxRuntimeSettings":{"runtimeVersion":"DOTNET|6.0","isDefault":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"linuxFxVersion":"DOTNET|6.0"},"supportedFunctionsExtensionVersions":["~4"]}}}]},{"displayText":".NET + 6 Isolated","value":"dotnet6isolated","minorVersions":[{"displayText":".NET + 6 Isolated","value":"6 Isolated","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet-isolated"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"netFrameworkVersion":"v6.0"},"supportedFunctionsExtensionVersions":["~4"]},"linuxRuntimeSettings":{"runtimeVersion":"DOTNET-ISOLATED|6.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet-isolated"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"linuxFxVersion":"DOTNET-ISOLATED|6.0"},"supportedFunctionsExtensionVersions":["~4"]}}}]},{"displayText":".NET + 5 (non-LTS)","value":"dotnet5","minorVersions":[{"displayText":".NET 5 (non-LTS)","value":"5 + (non-LTS)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet-isolated"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true},"supportedFunctionsExtensionVersions":["~3"]},"linuxRuntimeSettings":{"runtimeVersion":"DOTNET-ISOLATED|5.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet-isolated"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"linuxFxVersion":"DOTNET-ISOLATED|5.0"},"supportedFunctionsExtensionVersions":["~3"]}}}]},{"displayText":".NET + Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","appInsightsSettings":{"isSupported":true},"remoteDebuggingSupported":false,"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true},"supportedFunctionsExtensionVersions":["~3"]},"linuxRuntimeSettings":{"runtimeVersion":"dotnet|3.1","appInsightsSettings":{"isSupported":true},"remoteDebuggingSupported":false,"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"dotnet|3.1"},"supportedFunctionsExtensionVersions":["~3"]}}}]},{"displayText":".NET + Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","appInsightsSettings":{"isSupported":true},"remoteDebuggingSupported":false,"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true},"supportedFunctionsExtensionVersions":["~2"]},"linuxRuntimeSettings":{"runtimeVersion":"dotnet|2.2","appInsightsSettings":{"isSupported":true},"remoteDebuggingSupported":false,"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"dotnet"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"dotnet|2.2"},"supportedFunctionsExtensionVersions":["~2"]}}}]},{"displayText":".NET + Framework 4","value":"dotnetframework4","minorVersions":[{"displayText":".NET + Framework 4.7","value":"4.7","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"4.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true},"supportedFunctionsExtensionVersions":["~1"]}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/functionAppStacks?stackOsType=All","properties":{"displayText":"Node.js","value":"node","preferredOs":"windows","majorVersions":[{"displayText":"Node.js + 16","value":"16","minorVersions":[{"displayText":"Node.js 16","value":"16 + LTS","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"~16","isPreview":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node","WEBSITE_NODE_DEFAULT_VERSION":"~16"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"netFrameworkVersion":"v6.0"},"supportedFunctionsExtensionVersions":["~4"]},"linuxRuntimeSettings":{"runtimeVersion":"Node|16","isPreview":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Node|16"},"supportedFunctionsExtensionVersions":["~4"]}}}]},{"displayText":"Node.js + 14","value":"14","minorVersions":[{"displayText":"Node.js 14 LTS","value":"14 + LTS","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"~14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node","WEBSITE_NODE_DEFAULT_VERSION":"~14"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"netFrameworkVersion":"v6.0"},"supportedFunctionsExtensionVersions":["~4","~3"]},"linuxRuntimeSettings":{"runtimeVersion":"Node|14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Node|14"},"supportedFunctionsExtensionVersions":["~4","~3"]}}}]},{"displayText":"Node.js + 12","value":"12","minorVersions":[{"displayText":"Node.js 12 LTS","value":"12 + LTS","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"~12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node","WEBSITE_NODE_DEFAULT_VERSION":"~12"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true},"supportedFunctionsExtensionVersions":["~3"]},"linuxRuntimeSettings":{"runtimeVersion":"Node|12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Node|12"},"supportedFunctionsExtensionVersions":["~3"]}}}]},{"displayText":"Node.js + 10","value":"10","minorVersions":[{"displayText":"Node.js 10 LTS","value":"10 + LTS","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"~10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node","WEBSITE_NODE_DEFAULT_VERSION":"~10"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true},"supportedFunctionsExtensionVersions":["~2","~3"]},"linuxRuntimeSettings":{"runtimeVersion":"Node|10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Node|10"},"supportedFunctionsExtensionVersions":["~2","~3"]}}}]},{"displayText":"Node.js + 8","value":"8","minorVersions":[{"displayText":"Node.js 8 LTS","value":"8 + LTS","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"~8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.x"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"node","WEBSITE_NODE_DEFAULT_VERSION":"~8"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true},"supportedFunctionsExtensionVersions":["~2"]}}}]},{"displayText":"Node.js + 6","value":"6","minorVersions":[{"displayText":"Node.js 6 LTS","value":"6 + LTS","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"~6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"WEBSITE_NODE_DEFAULT_VERSION":"~6"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true},"supportedFunctionsExtensionVersions":["~1"]}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/functionAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python + 3","value":"3","minorVersions":[{"displayText":"Python 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"Python|3.9","remoteDebuggingSupported":false,"isPreview":false,"isDefault":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"python"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Python|3.9"},"supportedFunctionsExtensionVersions":["~4","~3"]}}},{"displayText":"Python + 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"Python|3.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"python"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Python|3.8"},"supportedFunctionsExtensionVersions":["~4","~3"]}}},{"displayText":"Python + 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"Python|3.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"python"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Python|3.7"},"supportedFunctionsExtensionVersions":["~4","~3","~2"]}}},{"displayText":"Python + 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"Python|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"python"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Python|3.6"},"supportedFunctionsExtensionVersions":["~2","~3"]}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/functionAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"windows","majorVersions":[{"displayText":"Java + 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"java"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"javaVersion":"11","netFrameworkVersion":"v6.0"},"supportedFunctionsExtensionVersions":["~4","~3"]},"linuxRuntimeSettings":{"runtimeVersion":"Java|11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"java"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Java|11"},"supportedFunctionsExtensionVersions":["~4","~3"]}}}]},{"displayText":"Java + 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"isDefault":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"java"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"javaVersion":"1.8","netFrameworkVersion":"v6.0"},"supportedFunctionsExtensionVersions":["~4","~3","~2"]},"linuxRuntimeSettings":{"runtimeVersion":"Java|8","isAutoUpdate":true,"isDefault":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"java"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"Java|8"},"supportedFunctionsExtensionVersions":["~4","~3"]}}}]}]}},{"id":null,"name":"powershell","type":"Microsoft.Web/functionAppStacks?stackOsType=All","properties":{"displayText":"PowerShell + Core","value":"powershell","preferredOs":"windows","majorVersions":[{"displayText":"PowerShell + 7","value":"7","minorVersions":[{"displayText":"PowerShell 7.0","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"~7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"powershell"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"powerShellVersion":"~7","netFrameworkVersion":"v6.0"},"supportedFunctionsExtensionVersions":["~4","~3"]},"linuxRuntimeSettings":{"runtimeVersion":"PowerShell|7","isAutoUpdate":true,"isPreview":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"powershell"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":"PowerShell|7"},"supportedFunctionsExtensionVersions":["~4"]}}}]},{"displayText":"PowerShell + Core 6","value":"6","minorVersions":[{"displayText":"PowerShell Core 6.2","value":"6.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"~6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"powershell"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"powerShellVersion":"~6"},"isDeprecated":true,"supportedFunctionsExtensionVersions":["~2","~3"],"endOfLifeDate":"2020-10-04T00:00:00Z"}}}]}]}},{"id":null,"name":"custom","type":"Microsoft.Web/functionAppStacks?stackOsType=All","properties":{"displayText":"Custom + Handler","value":"custom","preferredOs":"windows","majorVersions":[{"displayText":"Custom + Handler","value":"custom","minorVersions":[{"displayText":"Custom Handler","value":"custom","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"custom","appInsightsSettings":{"isSupported":true},"remoteDebuggingSupported":false,"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"custom"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":true,"netFrameworkVersion":"v6.0"},"supportedFunctionsExtensionVersions":["~4","~3","~2"]},"linuxRuntimeSettings":{"runtimeVersion":"","isPreview":false,"appInsightsSettings":{"isSupported":true},"remoteDebuggingSupported":false,"gitHubActionSettings":{"isSupported":false},"appSettingsDictionary":{"FUNCTIONS_WORKER_RUNTIME":"custom"},"siteConfigPropertiesDictionary":{"use32BitWorkerProcess":false,"linuxFxVersion":""},"supportedFunctionsExtensionVersions":["~4","~3","~2"]}}}]}]}}],"nextLink":null,"id":null}' headers: cache-control: - no-cache content-length: - - '1604' + - '17598' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:06 GMT + - Fri, 18 Feb 2022 08:37:24 GMT expires: - '-1' pragma: @@ -380,21 +363,21 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.8.10 (Windows-10-10.0.19044-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-06-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":{"keyCreationTime":{"key1":"2021-10-28T08:09:05.9197867Z","key2":"2021-10-28T08:09:05.9197867Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T08:09:05.9197867Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T08:09:05.9197867Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-10-28T08:09:05.8259979Z","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":"2022-02-18T08:36:44.2828107Z","key2":"2022-02-18T08:36:44.2828107Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-18T08:36:44.2828107Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-18T08:36:44.2828107Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2022-02-18T08:36:44.1734629Z","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: - - '1394' + - '1269' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:08 GMT + - Fri, 18 Feb 2022 08:37:24 GMT expires: - '-1' pragma: @@ -428,21 +411,21 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.8.10 (Windows-10-10.0.19044-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-06-01&$expand=kerb response: body: - string: '{"keys":[{"creationTime":"2021-10-28T08:09:05.9197867Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-10-28T08:09:05.9197867Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2022-02-18T08:36:44.2828107Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2022-02-18T08:36:44.2828107Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '380' + - '260' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:08 GMT + - Fri, 18 Feb 2022 08:37:25 GMT expires: - '-1' pragma: @@ -466,7 +449,7 @@ interactions: body: '{"kind": "functionapp", "location": "West US", "properties": {"serverFarmId": "clitestplan000005", "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": "v4.6", "appSettings": [{"name": "FUNCTIONS_WORKER_RUNTIME", - "value": "dotnet"}, {"name": "FUNCTIONS_EXTENSION_VERSION", "value": "~2"}, + "value": "dotnet"}, {"name": "FUNCTIONS_EXTENSION_VERSION", "value": "~3"}, {"name": "AzureWebJobsStorage", "value": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey=="}], "use32BitWorkerProcess": true, "alwaysOn": true, "localMySqlEnabled": false, "http20Enabled": true}, "scmSiteAlsoStopped": false}}' @@ -480,32 +463,32 @@ interactions: Connection: - keep-alive Content-Length: - - '711' + - '633' Content-Type: - application/json ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT 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-173.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-10-28T08:10:16.7066667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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 + US","properties":{"name":"clitestfunction000004","state":"Running","hostNames":["clitestfunction000004.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUSwebspace","selfLink":"https://waws-prod-bay-183.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":"2022-02-18T08:37:33.6333333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"sitePort":null},"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.54","possibleInboundIpAddresses":"40.112.243.54","ftpUsername":"clitestfunction000004\\$clitestfunction000004","ftpsHostName":"ftps://waws-prod-bay-173.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"104.45.231.244,23.99.66.110,137.117.16.198,104.40.59.38,23.100.34.88,104.40.81.14,40.112.243.54","possibleOutboundIpAddresses":"104.45.231.244,23.99.66.110,137.117.16.198,104.40.59.38,23.100.34.88,104.40.81.14,104.40.48.42,104.40.63.71,104.40.92.138,104.40.53.9,23.101.205.4,104.40.89.194,23.100.44.42,104.40.77.1,23.101.202.141,23.99.69.83,104.40.84.253,104.40.82.141,23.100.36.113,23.101.203.68,137.117.13.177,104.40.57.193,104.40.49.42,23.100.42.180,104.40.49.141,104.40.49.176,104.45.232.236,137.117.21.10,104.40.48.210,104.40.48.219,40.112.243.54","containerSize":1536,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-bay-173","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"clitestfunction000004.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"FunctionAppLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + all","description":"Allow all access"}],"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"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.59","possibleInboundIpAddresses":"40.112.243.59","ftpUsername":"clitestfunction000004\\$clitestfunction000004","ftpsHostName":"ftps://waws-prod-bay-183.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"138.91.247.218,23.99.91.136,104.209.35.1,104.40.24.117,104.40.31.43,104.40.28.13,40.112.243.59","possibleOutboundIpAddresses":"138.91.247.218,23.99.91.136,104.209.35.1,104.40.24.117,104.40.31.43,104.40.28.13,104.209.35.73,23.99.94.29,104.209.39.62,104.209.32.196,104.209.32.219,104.209.33.74,104.209.42.243,104.209.43.117,40.112.190.217,40.112.185.192,40.118.212.2,40.118.134.196,40.118.131.102,40.118.131.255,40.118.129.38,40.118.212.93,104.40.19.83,40.112.190.96,40.83.184.22,104.40.18.82,40.83.188.42,40.83.189.34,138.91.158.176,104.40.24.239,40.112.243.59","containerSize":1536,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-bay-183","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"clitestfunction000004.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"FunctionAppLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' headers: cache-control: - no-cache content-length: - - '6486' + - '6201' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:34 GMT + - Fri, 18 Feb 2022 08:37:50 GMT etag: - - '"1D7CBD33F07CF15"' + - '"1D824A2C6A4FE75"' expires: - '-1' pragma: @@ -548,24 +531,24 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-SP0) 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":"\"7b00c5fb-0000-0200-0000-617a5b030000\"","properties":{"Ver":"v2","ApplicationId":"clitestfunction000004","AppId":"d2871472-b5a1-4b51-a786-ad6b5e40685b","Application_Type":"web","Flow_Type":null,"Request_Source":null,"InstrumentationKey":"e9433ad5-a2e2-485f-8aaf-abcf769e9344","ConnectionString":"InstrumentationKey=e9433ad5-a2e2-485f-8aaf-abcf769e9344;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestfunction000004","CreationDate":"2021-10-28T08:10:43.3724479+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30007f9e-0000-0200-0000-620f5ae80000\"","properties":{"Ver":"v2","ApplicationId":"clitestfunction000004","AppId":"0841cc51-4c48-4452-9337-5e19cab80051","Application_Type":"web","Flow_Type":null,"Request_Source":null,"InstrumentationKey":"1bfab1a0-dedf-4654-b97b-4bc0796fc242","ConnectionString":"InstrumentationKey=1bfab1a0-dedf-4654-b97b-4bc0796fc242;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestfunction000004","CreationDate":"2022-02-18T08:37:59.0757901+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: - - '1104' + - '1033' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:10:45 GMT + - Fri, 18 Feb 2022 08:38:05 GMT expires: - '-1' pragma: @@ -583,7 +566,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -605,22 +588,22 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=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=="}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~3","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey=="}}' headers: cache-control: - no-cache content-length: - - '613' + - '480' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:47 GMT + - Fri, 18 Feb 2022 08:38:06 GMT expires: - '-1' pragma: @@ -646,8 +629,8 @@ interactions: message: OK - request: body: '{"properties": {"FUNCTIONS_WORKER_RUNTIME": "dotnet", "FUNCTIONS_EXTENSION_VERSION": - "~2", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", - "APPINSIGHTS_INSTRUMENTATIONKEY": "e9433ad5-a2e2-485f-8aaf-abcf769e9344"}}' + "~3", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", + "APPINSIGHTS_INSTRUMENTATIONKEY": "1bfab1a0-dedf-4654-b97b-4bc0796fc242"}}' headers: Accept: - application/json @@ -658,30 +641,30 @@ interactions: Connection: - keep-alive Content-Length: - - '391' + - '320' Content-Type: - application/json ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=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":"e9433ad5-a2e2-485f-8aaf-abcf769e9344"}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~3","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"1bfab1a0-dedf-4654-b97b-4bc0796fc242"}}' headers: cache-control: - no-cache content-length: - - '685' + - '552' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:50 GMT + - Fri, 18 Feb 2022 08:38:07 GMT etag: - - '"1D7CBD3518BB28B"' + - '"1D824A2DA8A60B5"' expires: - '-1' pragma: @@ -699,7 +682,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -719,24 +702,24 @@ interactions: ParameterSetName: - -g --app --function User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"7b00f0e5-0000-0200-0000-617a5ac10000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"6d170ad3-77bd-4f86-afdc-5bb655ea7f5f","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"f69a9134-8600-4a3e-a663-8e80433fc725","ConnectionString":"InstrumentationKey=f69a9134-8600-4a3e-a663-8e80433fc725;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-10-28T08:09:37.636208+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30008c9a-0000-0200-0000-620f5ab60000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"bce37ba0-42fb-4003-880b-46207cd72458","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"7aec20c2-f2ed-4ff7-8e0d-1d427efa6180","ConnectionString":"InstrumentationKey=7aec20c2-f2ed-4ff7-8e0d-1d427efa6180;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2022-02-18T08:37:10.1345426+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: - - '1112' + - '1018' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:10:51 GMT + - Fri, 18 Feb 2022 08:38:08 GMT expires: - '-1' pragma: @@ -774,22 +757,22 @@ interactions: ParameterSetName: - -g --app --function User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=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":"e9433ad5-a2e2-485f-8aaf-abcf769e9344"}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~3","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"1bfab1a0-dedf-4654-b97b-4bc0796fc242"}}' headers: cache-control: - no-cache content-length: - - '685' + - '552' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:53 GMT + - Fri, 18 Feb 2022 08:38:09 GMT expires: - '-1' pragma: @@ -815,8 +798,8 @@ interactions: message: OK - request: body: '{"properties": {"FUNCTIONS_WORKER_RUNTIME": "dotnet", "FUNCTIONS_EXTENSION_VERSION": - "~2", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", - "APPINSIGHTS_INSTRUMENTATIONKEY": "f69a9134-8600-4a3e-a663-8e80433fc725"}}' + "~3", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", + "APPINSIGHTS_INSTRUMENTATIONKEY": "7aec20c2-f2ed-4ff7-8e0d-1d427efa6180"}}' headers: Accept: - application/json @@ -827,30 +810,30 @@ interactions: Connection: - keep-alive Content-Length: - - '391' + - '320' Content-Type: - application/json ParameterSetName: - -g --app --function User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=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":"f69a9134-8600-4a3e-a663-8e80433fc725"}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~3","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"7aec20c2-f2ed-4ff7-8e0d-1d427efa6180"}}' headers: cache-control: - no-cache content-length: - - '685' + - '552' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:57 GMT + - Fri, 18 Feb 2022 08:38:11 GMT etag: - - '"1D7CBD3561D0780"' + - '"1D824A2DC65F180"' expires: - '-1' pragma: @@ -868,7 +851,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -890,22 +873,22 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=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":"f69a9134-8600-4a3e-a663-8e80433fc725"}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~3","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"7aec20c2-f2ed-4ff7-8e0d-1d427efa6180"}}' headers: cache-control: - no-cache content-length: - - '685' + - '552' content-type: - application/json date: - - Thu, 28 Oct 2021 08:11:00 GMT + - Fri, 18 Feb 2022 08:38:12 GMT expires: - '-1' pragma: @@ -943,7 +926,7 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=2020-09-01 response: @@ -954,11 +937,11 @@ interactions: cache-control: - no-cache content-length: - - '193' + - '190' content-type: - application/json date: - - Thu, 28 Oct 2021 08:11:02 GMT + - Fri, 18 Feb 2022 08:38:13 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 ff288af688a..5e9efbdfbb7 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,24 +19,24 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"7b0092d6-0000-0200-0000-617a5a910000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"83c7be6a-a2d5-4a4d-9e4d-0d14c305983c","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"18b3c58e-ea09-4cad-a3bb-820dbcb2fda9","ConnectionString":"InstrumentationKey=18b3c58e-ea09-4cad-a3bb-820dbcb2fda9;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-10-28T08:08:49.5584376+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30005e9d-0000-0200-0000-620f5ad90000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"900bbf17-f684-4777-8064-f68bec511a36","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"cc853e0d-ab9a-471a-84a4-9f033bb4cd0d","ConnectionString":"InstrumentationKey=cc853e0d-ab9a-471a-84a4-9f033bb4cd0d;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2022-02-18T08:37:45.8950465+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: - - '1113' + - '1018' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:08:51 GMT + - Fri, 18 Feb 2022 08:37:47 GMT expires: - '-1' pragma: @@ -54,7 +54,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -74,24 +74,24 @@ interactions: ParameterSetName: - -g --app User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"7b0092d6-0000-0200-0000-617a5a910000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"83c7be6a-a2d5-4a4d-9e4d-0d14c305983c","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"18b3c58e-ea09-4cad-a3bb-820dbcb2fda9","ConnectionString":"InstrumentationKey=18b3c58e-ea09-4cad-a3bb-820dbcb2fda9;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-10-28T08:08:49.5584376+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30005e9d-0000-0200-0000-620f5ad90000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"900bbf17-f684-4777-8064-f68bec511a36","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"cc853e0d-ab9a-471a-84a4-9f033bb4cd0d","ConnectionString":"InstrumentationKey=cc853e0d-ab9a-471a-84a4-9f033bb4cd0d;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2022-02-18T08:37:45.8950465+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: - - '1113' + - '1018' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:08:54 GMT + - Fri, 18 Feb 2022 08:37:48 GMT expires: - '-1' pragma: @@ -127,120 +127,21 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-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-10-28T08:06:48Z"},"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":"2022-02-18T08:37:35Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '310' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:08: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: '{"name": "clitestplan000004", "type": "Microsoft.Web/serverfarms", "location": - "westus", "properties": {"skuName": "B1", "capacity": 1}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - appservice plan create - Connection: - - keep-alive - Content-Length: - - '143' - Content-Type: - - application/json - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) - method: POST - 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}' - headers: - cache-control: - - no-cache - content-length: - - '33' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 08:09: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-aspnet-version: - - 4.0.30319 - 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: - - appservice plan create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-resource/19.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/clitest.rg000001?api-version=2021-04-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-10-28T08:06:48Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '428' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 28 Oct 2021 08:09:06 GMT + - Fri, 18 Feb 2022 08:37:49 GMT expires: - '-1' pragma: @@ -273,24 +174,24 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT 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":16688,"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-173_16688","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":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":5912,"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-197_5912","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '1676' + - '1476' content-type: - application/json date: - - Thu, 28 Oct 2021 08:09:18 GMT + - Fri, 18 Feb 2022 08:38:01 GMT etag: - - '"1D7CBD31A16EB8B"' + - '"1D824A2D69C50A0"' expires: - '-1' pragma: @@ -308,7 +209,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -328,23 +229,23 @@ interactions: ParameterSetName: - -g -n --plan User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET 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":16688,"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-173_16688","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + US","properties":{"serverFarmId":5912,"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-197_5912","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '1604' + - '1404' content-type: - application/json date: - - Thu, 28 Oct 2021 08:09:20 GMT + - Fri, 18 Feb 2022 08:38:03 GMT expires: - '-1' pragma: @@ -367,8 +268,7 @@ interactions: code: 200 message: OK - request: - body: '{"name": "clitestwebapp000003", "type": "Microsoft.Web/sites", "location": - "West US", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004"}}' + body: '{"name": "clitestwebapp000003", "type": "Site"}' headers: Accept: - application/json @@ -379,27 +279,27 @@ interactions: Connection: - keep-alive Content-Length: - - '329' + - '47' Content-Type: - application/json ParameterSetName: - -g -n --plan User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2020-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2021-01-15 response: body: - string: '{"status":"Success","error":null}' + string: '{"nameAvailable":true,"reason":"","message":""}' headers: cache-control: - no-cache content-length: - - '33' + - '47' content-type: - application/json date: - - Thu, 28 Oct 2021 08:09:20 GMT + - Fri, 18 Feb 2022 08:38:05 GMT expires: - '-1' pragma: @@ -416,8 +316,6 @@ interactions: - 4.0.30319 x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' x-powered-by: - ASP.NET status: @@ -437,77 +335,205 @@ interactions: ParameterSetName: - -g -n --plan User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - 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":16688,"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-173_16688","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' - headers: - cache-control: - - no-cache - content-length: - - '1604' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 08:09:22 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-aspnet-version: - - 4.0.30319 - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"name": "clitestwebapp000003", "type": "Site"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - webapp create - Connection: - - keep-alive - Content-Length: - - '52' - Content-Type: - - application/json - ParameterSetName: - - -g -n --plan - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2021-01-15 + uri: https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2021-01-01 response: body: - string: '{"nameAvailable":true,"reason":"","message":""}' + string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET + 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6 (LTS)","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}}}}]},{"displayText":".NET + 5","value":"dotnet5","minorVersions":[{"displayText":".NET 5","value":"5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}}}}]},{"displayText":".NET + Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1 + (LTS)","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}}}},{"displayText":".NET + Core 3.0","value":"3.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"}}}]},{"displayText":".NET + Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"}}},{"displayText":".NET + Core 2.1 (LTS)","value":"2.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"}}},{"displayText":".NET + Core 2.0","value":"2.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"}}}]},{"displayText":".NET + Core 1","value":"dotnetcore1","minorVersions":[{"displayText":".NET Core 1.1","value":"1.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}},{"displayText":".NET + Core 1.0","value":"1.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}}]},{"displayText":"ASP.NET + V4","value":"aspdotnetv4","minorVersions":[{"displayText":"ASP.NET V4.8","value":"v4.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v4.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1"}}}}]},{"displayText":"ASP.NET + V3","value":"aspdotnetv3","minorVersions":[{"displayText":"ASP.NET V3.5","value":"v3.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v2.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1"}}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Node","value":"node","preferredOs":"linux","majorVersions":[{"displayText":"Node + LTS","value":"lts","minorVersions":[{"displayText":"Node LTS","value":"lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true}}}}]},{"displayText":"Node + 16","value":"16","minorVersions":[{"displayText":"Node 16 LTS","value":"16-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|16-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~16","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"}}}]},{"displayText":"Node + 14","value":"14","minorVersions":[{"displayText":"Node 14 LTS","value":"14-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|14-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"}}}]},{"displayText":"Node + 12","value":"12","minorVersions":[{"displayText":"Node 12 LTS","value":"12-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"12.13.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Node + 12.9","value":"12.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12.9","isDeprecated":true,"remoteDebuggingSupported":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"}}}]},{"displayText":"Node + 10","value":"10","minorVersions":[{"displayText":"Node 10 LTS","value":"10-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.16","value":"10.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.15","value":"10.15","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"10.15.2","isDeprecated":true,"isPreview":true,"isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.14","value":"10.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.14.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.12","value":"10.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.10","value":"10.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.0.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.6","value":"10.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.1","value":"10.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}}]},{"displayText":"Node + 9","value":"9","minorVersions":[{"displayText":"Node 9.4","value":"9.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|9.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-07-30T00:00:00Z"}}}]},{"displayText":"Node + 8","value":"8","minorVersions":[{"displayText":"Node 8 LTS","value":"8-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.12","value":"8.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.11","value":"8.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.10","value":"8.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.9","value":"8.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.8","value":"8.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.5","value":"8.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.4","value":"8.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.1.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}}]},{"displayText":"Node + 7","value":"7","minorVersions":[{"displayText":"Node 7.10","value":"7.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2017-07-30T00:00:00Z"}}}]},{"displayText":"Node + 6","value":"6","minorVersions":[{"displayText":"Node 6 LTS","value":"6-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.12","value":"6.12","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.11","value":"6.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.10","value":"6.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.9","value":"6.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"6.9.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.6","value":"6.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.5","value":"6.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.2","value":"6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}}]},{"displayText":"Node + 4","value":"4","minorVersions":[{"displayText":"Node 4.8","value":"4.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.5","value":"4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.4","value":"4.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python + 3","value":"3","minorVersions":[{"displayText":"Python 3.10","value":"3.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.10","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.10"},"isHidden":true,"isEarlyAccess":true}}},{"displayText":"Python + 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"isHidden":false}}},{"displayText":"Python + 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"}}}},{"displayText":"Python + 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"}}}},{"displayText":"Python + 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}},"windowsRuntimeSettings":{"runtimeVersion":"3.4.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}}}}]},{"displayText":"Python + 2","value":"2","minorVersions":[{"displayText":"Python 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"php","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"PHP","value":"php","preferredOs":"linux","majorVersions":[{"displayText":"PHP + 8","value":"8","minorVersions":[{"displayText":"PHP 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.0","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.0","notSupportedInCreates":true},"endOfLifeDate":"2023-12-26T00:00:00Z"}}}]},{"displayText":"PHP + 7","value":"7","minorVersions":[{"displayText":"PHP 7.4","value":"7.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"}}},{"displayText":"PHP + 7.3","value":"7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"}}},{"displayText":"PHP + 7.2","value":"7.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-12-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-12-30T00:00:00Z"}}},{"displayText":"PHP + 7.1","value":"7.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}},{"displayText":"7.0","value":"7.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}}]},{"displayText":"PHP + 5","value":"5","minorVersions":[{"displayText":"PHP 5.6","value":"5.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"}}}]}]}},{"id":null,"name":"ruby","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Ruby","value":"ruby","preferredOs":"linux","majorVersions":[{"displayText":"Ruby + 2","value":"2","minorVersions":[{"displayText":"Ruby 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.7.3","value":"2.7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6","value":"2.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6.2","value":"2.6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5","value":"2.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5.5","value":"2.5.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4","value":"2.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4.5","value":"2.4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3","value":"2.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.8","value":"2.3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.3","value":"2.3.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.3","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"linux","majorVersions":[{"displayText":"Java + 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.12","value":"11.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.11","value":"11.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.9","value":"11.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.8","value":"11.0.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.7","value":"11.0.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.6","value":"11.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.5","value":"11.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.5_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.3","value":"11.0.3","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.3_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.2","value":"11.0.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.2_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}}]},{"displayText":"Java + 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_302","value":"8.0.302","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_302","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_292","value":"8.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_292","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_282","value":"8.0.282","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_282","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_275","value":"8.0.275","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_265","value":"8.0.265","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_265","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_252","value":"8.0.252","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_252","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_242","value":"8.0.242","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_242","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_232","value":"8.0.232","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_232_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_212","value":"8.0.212","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_212_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202","value":"8.0.202","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202 (Oracle)","value":"8.0.202 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_181","value":"8.0.181","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_181 (Oracle)","value":"8.0.181 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_172","value":"8.0.172","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_172 (Oracle)","value":"8.0.172 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_144","value":"8.0.144","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_144","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_111 (Oracle)","value":"8.0.111 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_111","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_102","value":"8.0.102","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_102","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_92","value":"8.0.92","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_92","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_73 (Oracle)","value":"8.0.73 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_73","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_60 (Oracle)","value":"8.0.60 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_60","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_25 (Oracle)","value":"8.0.25 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_25","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}}]},{"displayText":"Java + 7","value":"7","minorVersions":[{"displayText":"Java 7","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7","isAutoUpdate":true,"isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_292","value":"7.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_292","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_272","value":"7.0.272","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_272","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_262","value":"7.0.262","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_262","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_242","value":"7.0.242","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_242_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_222","value":"7.0.222","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_222_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_191","value":"7.0.191","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_191_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_80 (Oracle)","value":"7.0.80 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_80","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_71 (Oracle)","value":"7.0.71 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_71","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_51 (Oracle)","value":"7.0.51 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_51","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}}]}]}},{"id":null,"name":"javacontainers","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java + Containers","value":"javacontainers","majorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"javase","minorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"SE","stackSettings":{"windowsContainerSettings":{"javaContainer":"JAVA","javaContainerVersion":"SE","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"JAVA|11-java11","java8Runtime":"JAVA|8-jre8","isAutoUpdate":true}}},{"displayText":"Java + SE 11.0.12","value":"11.0.12","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.12"}}},{"displayText":"Java + SE 11.0.11","value":"11.0.11","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.11"}}},{"displayText":"Java + SE 11.0.9","value":"11.0.9","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.9"}}},{"displayText":"Java + SE 11.0.7","value":"11.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.7"}}},{"displayText":"Java + SE 11.0.6","value":"11.0.6","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.6"}}},{"displayText":"Java + SE 11.0.5","value":"11.0.5","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.5"}}},{"displayText":"Java + SE 8u302","value":"1.8.302","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u302"}}},{"displayText":"Java + SE 8u292","value":"1.8.292","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u292"}}},{"displayText":"Java + SE 8u275","value":"1.8.275","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u275"}}},{"displayText":"Java + SE 8u252","value":"1.8.252","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u252"}}},{"displayText":"Java + SE 8u242","value":"1.8.242","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u242"}}},{"displayText":"Java + SE 8u232","value":"1.8.232","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u232"}}}]},{"displayText":"Red + Hat JBoss EAP","value":"jbosseap","minorVersions":[{"displayText":"JBoss EAP + 7","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8","java11Runtime":"JBOSSEAP|7-java11","isAutoUpdate":true}}},{"displayText":"JBoss + EAP 7.3","value":"7.3.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3-java8","java11Runtime":"JBOSSEAP|7.3-java11"}}},{"displayText":"JBoss + EAP 7.2","value":"7.2.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.2-java8","isDeprecated":true}}}]},{"displayText":"Apache + Tomcat 9.0","value":"tomcat9.0","minorVersions":[{"displayText":"Tomcat 9.0","value":"9.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0-java11","java8Runtime":"TOMCAT|9.0-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 9.0.52","value":"9.0.52","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.52"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.52-java8","java11Runtime":"TOMCAT|9.0.52-java11"}}},{"displayText":"Tomcat + 9.0.46","value":"9.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.46"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.46-java8","java11Runtime":"TOMCAT|9.0.46-java11"}}},{"displayText":"Tomcat + 9.0.41","value":"9.0.41","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.41-java8","java11Runtime":"TOMCAT|9.0.41-java11"}}},{"displayText":"Tomcat + 9.0.38","value":"9.0.38","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.38"}}},{"displayText":"Tomcat + 9.0.37","value":"9.0.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.37"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.37-java11","java8Runtime":"TOMCAT|9.0.37-java8"}}},{"displayText":"Tomcat + 9.0.33","value":"9.0.33","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.33-java11","java8Runtime":"TOMCAT|9.0.33-java8"}}},{"displayText":"Tomcat + 9.0.31","value":"9.0.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.31"}}},{"displayText":"Tomcat + 9.0.27","value":"9.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.27"}}},{"displayText":"Tomcat + 9.0.21","value":"9.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.21"}}},{"displayText":"Tomcat + 9.0.20","value":"9.0.20","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.20-java11","java8Runtime":"TOMCAT|9.0.20-java8"}}},{"displayText":"Tomcat + 9.0.14","value":"9.0.14","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.14"}}},{"displayText":"Tomcat + 9.0.12","value":"9.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.12"}}},{"displayText":"Tomcat + 9.0.8","value":"9.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.8"}}},{"displayText":"Tomcat + 9.0.0","value":"9.0.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.0"}}}]},{"displayText":"Apache + Tomcat 8.5","value":"tomcat8.5","minorVersions":[{"displayText":"Tomcat 8.5","value":"8.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5-java11","java8Runtime":"TOMCAT|8.5-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 8.5.69","value":"8.5.69","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.69-java8","java11Runtime":"TOMCAT|8.5.69-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.69"}}},{"displayText":"Tomcat + 8.5.66","value":"8.5.66","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.66-java8","java11Runtime":"TOMCAT|8.5.66-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.66"}}},{"displayText":"Tomcat + 8.5.61","value":"8.5.61","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.61-java8","java11Runtime":"TOMCAT|8.5.61-java11"}}},{"displayText":"Tomcat + 8.5.58","value":"8.5.58","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.58"}}},{"displayText":"Tomcat + 8.5.57","value":"8.5.57","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.57"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.57-java11","java8Runtime":"TOMCAT|8.5.57-java8"}}},{"displayText":"Tomcat + 8.5.53","value":"8.5.53","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.53-java11","java8Runtime":"TOMCAT|8.5.53-java8"}}},{"displayText":"Tomcat + 8.5.51","value":"8.5.51","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.51"}}},{"displayText":"Tomcat + 8.5.47","value":"8.5.47","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.47"}}},{"displayText":"Tomcat + 8.5.42","value":"8.5.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.42"}}},{"displayText":"Tomcat + 8.5.41","value":"8.5.41","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.41-java11","java8Runtime":"TOMCAT|8.5.41-java8"}}},{"displayText":"Tomcat + 8.5.37","value":"8.5.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.37"}}},{"displayText":"Tomcat + 8.5.34","value":"8.5.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.34"}}},{"displayText":"Tomcat + 8.5.31","value":"8.5.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.31"}}},{"displayText":"Tomcat + 8.5.20","value":"8.5.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.20"}}},{"displayText":"Tomcat + 8.5.6","value":"8.5.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.6"}}}]},{"displayText":"Apache + Tomcat 8.0","value":"tomcat8.0","minorVersions":[{"displayText":"Tomcat 8.0","value":"8.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 8.0.53","value":"8.0.53","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.53","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.46","value":"8.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.46","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.23","value":"8.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.23","isDeprecated":true}}}]},{"displayText":"Tomcat + 7.0","value":"tomcat7.0","minorVersions":[{"displayText":"Tomcat 7.0","value":"7.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 7.0.94","value":"7.0.94","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.94","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.81","value":"7.0.81","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.81","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.62","value":"7.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.62","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.50","value":"7.0.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.50","isDeprecated":true}}}]},{"displayText":"Jetty + 9.3","value":"jetty9.3","minorVersions":[{"displayText":"Jetty 9.3","value":"9.3","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.3.25","value":"9.3.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.25","isDeprecated":true}}},{"displayText":"Jetty + 9.3.13","value":"9.3.13","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.13","isDeprecated":true}}}]},{"displayText":"Jetty + 9.1","value":"jetty9.1","minorVersions":[{"displayText":"Jetty 9.1","value":"9.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.1.0","value":"9.1.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1.0","isDeprecated":true}}}]},{"displayText":"WildFly + 14","value":"wildfly14","minorVersions":[{"displayText":"WildFly 14","value":"14","stackSettings":{"linuxContainerSettings":{"java8Runtime":"WILDFLY|14-jre8","isDeprecated":true,"isAutoUpdate":true}}},{"displayText":"WildFly + 14.0.1","value":"14.0.1","stackSettings":{"linuxContainerSettings":{"isDeprecated":true,"java8Runtime":"WILDFLY|14.0.1-java8"}}}]}]}},{"id":null,"name":"staticsite","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"HTML + (Static Content)","value":"staticsite","preferredOs":"linux","majorVersions":[{"displayText":"HTML + (Static Content)","value":"1","minorVersions":[{"displayText":"HTML (Static + Content)","value":"1.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"STATICSITE|1.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false}}}}]}]}}],"nextLink":null,"id":null}' headers: cache-control: - no-cache content-length: - - '47' + - '59426' content-type: - application/json date: - - Thu, 28 Oct 2021 08:09:26 GMT + - Fri, 18 Feb 2022 08:38:08 GMT expires: - '-1' pragma: @@ -532,7 +558,7 @@ interactions: - request: body: '{"location": "West US", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004", "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": - "v4.6", "appSettings": [{"name": "WEBSITE_NODE_DEFAULT_VERSION", "value": "10.14.1"}], + "v4.6", "appSettings": [{"name": "WEBSITE_NODE_DEFAULT_VERSION", "value": "12.13.0"}], "localMySqlEnabled": false, "http20Enabled": true}, "scmSiteAlsoStopped": false, "httpsOnly": false}}' headers: @@ -545,32 +571,32 @@ interactions: Connection: - keep-alive Content-Length: - - '542' + - '476' Content-Type: - application/json ParameterSetName: - -g -n --plan User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT 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-173.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-10-28T08:09:35.3933333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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 + US","properties":{"name":"clitestwebapp000003","state":"Running","hostNames":["clitestwebapp000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUSwebspace","selfLink":"https://waws-prod-bay-197.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":"2022-02-18T08:38:16.5066667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"sitePort":null},"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.54","possibleInboundIpAddresses":"40.112.243.54","ftpUsername":"clitestwebapp000003\\$clitestwebapp000003","ftpsHostName":"ftps://waws-prod-bay-173.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"104.45.231.244,23.99.66.110,137.117.16.198,104.40.59.38,23.100.34.88,104.40.81.14,40.112.243.54","possibleOutboundIpAddresses":"104.45.231.244,23.99.66.110,137.117.16.198,104.40.59.38,23.100.34.88,104.40.81.14,104.40.48.42,104.40.63.71,104.40.92.138,104.40.53.9,23.101.205.4,104.40.89.194,23.100.44.42,104.40.77.1,23.101.202.141,23.99.69.83,104.40.84.253,104.40.82.141,23.100.36.113,23.101.203.68,137.117.13.177,104.40.57.193,104.40.49.42,23.100.42.180,104.40.49.141,104.40.49.176,104.45.232.236,137.117.21.10,104.40.48.210,104.40.48.219,40.112.243.54","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-bay-173","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"clitestwebapp000003.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + all","description":"Allow all access"}],"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"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.66","possibleInboundIpAddresses":"40.112.243.66","ftpUsername":"clitestwebapp000003\\$clitestwebapp000003","ftpsHostName":"ftps://waws-prod-bay-197.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"138.91.244.219,138.91.245.98,138.91.240.141,138.91.246.37,138.91.241.29,138.91.162.240,40.112.243.66","possibleOutboundIpAddresses":"138.91.244.219,138.91.245.98,138.91.240.141,138.91.246.37,138.91.241.29,138.91.162.240,138.91.243.158,138.91.251.247,138.91.249.225,138.91.248.210,138.91.248.20,23.99.86.21,138.91.248.132,23.99.86.61,23.99.86.122,138.91.251.255,23.99.86.230,23.99.86.48,23.99.84.6,157.56.167.194,23.99.84.65,23.99.84.85,23.99.84.112,23.99.84.237,104.40.26.248,137.135.49.75,138.91.246.140,138.91.245.60,23.99.84.253,23.99.85.58,40.112.243.66","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-bay-197","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"clitestwebapp000003.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' headers: cache-control: - no-cache content-length: - - '6586' + - '6271' content-type: - application/json date: - - Thu, 28 Oct 2021 08:09:52 GMT + - Fri, 18 Feb 2022 08:38:33 GMT etag: - - '"1D7CBD325879720"' + - '"1D824A2E01C0EAB"' expires: - '-1' pragma: @@ -612,25 +638,25 @@ interactions: ParameterSetName: - -g -n --plan User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=2020-09-01 response: body: string: @@ -638,11 +664,11 @@ interactions: cache-control: - no-cache content-length: - - '1667' + - '1602' content-type: - application/xml date: - - Thu, 28 Oct 2021 08:09:54 GMT + - Fri, 18 Feb 2022 08:38:34 GMT expires: - '-1' pragma: @@ -676,24 +702,24 @@ interactions: ParameterSetName: - -g --app --web-app --enable-profiler --enable-snapshot-debugger User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19044-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":"\"7b0092d6-0000-0200-0000-617a5a910000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"83c7be6a-a2d5-4a4d-9e4d-0d14c305983c","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"18b3c58e-ea09-4cad-a3bb-820dbcb2fda9","ConnectionString":"InstrumentationKey=18b3c58e-ea09-4cad-a3bb-820dbcb2fda9;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-10-28T08:08:49.5584376+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","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":"\"30005e9d-0000-0200-0000-620f5ad90000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"900bbf17-f684-4777-8064-f68bec511a36","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"cc853e0d-ab9a-471a-84a4-9f033bb4cd0d","ConnectionString":"InstrumentationKey=cc853e0d-ab9a-471a-84a4-9f033bb4cd0d;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2022-02-18T08:37:45.8950465+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: - - '1113' + - '1018' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 08:09:57 GMT + - Fri, 18 Feb 2022 08:38:35 GMT expires: - '-1' pragma: @@ -731,22 +757,22 @@ interactions: ParameterSetName: - -g --app --web-app --enable-profiler --enable-snapshot-debugger User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=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"}}' + US","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"12.13.0"}}' headers: cache-control: - no-cache content-length: - - '359' + - '295' content-type: - application/json date: - - Thu, 28 Oct 2021 08:09:58 GMT + - Fri, 18 Feb 2022 08:38:36 GMT expires: - '-1' pragma: @@ -771,8 +797,8 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"WEBSITE_NODE_DEFAULT_VERSION": "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY": - "18b3c58e-ea09-4cad-a3bb-820dbcb2fda9", "APPINSIGHTS_PROFILERFEATURE_VERSION": + body: '{"properties": {"WEBSITE_NODE_DEFAULT_VERSION": "12.13.0", "APPINSIGHTS_INSTRUMENTATIONKEY": + "cc853e0d-ab9a-471a-84a4-9f033bb4cd0d", "APPINSIGHTS_PROFILERFEATURE_VERSION": "1.0.0", "APPINSIGHTS_SNAPSHOTFEATURE_VERSION": "1.0.0"}}' headers: Accept: @@ -790,24 +816,24 @@ interactions: ParameterSetName: - -g --app --web-app --enable-profiler --enable-snapshot-debugger User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=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":"18b3c58e-ea09-4cad-a3bb-820dbcb2fda9","APPINSIGHTS_PROFILERFEATURE_VERSION":"1.0.0","APPINSIGHTS_SNAPSHOTFEATURE_VERSION":"1.0.0"}}' + US","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"12.13.0","APPINSIGHTS_INSTRUMENTATIONKEY":"cc853e0d-ab9a-471a-84a4-9f033bb4cd0d","APPINSIGHTS_PROFILERFEATURE_VERSION":"1.0.0","APPINSIGHTS_SNAPSHOTFEATURE_VERSION":"1.0.0"}}' headers: cache-control: - no-cache content-length: - - '523' + - '459' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:03 GMT + - Fri, 18 Feb 2022 08:38:38 GMT etag: - - '"1D7CBD3358E2B8B"' + - '"1D824A2ED2D4AE0"' expires: - '-1' pragma: @@ -825,7 +851,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -847,22 +873,22 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=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":"18b3c58e-ea09-4cad-a3bb-820dbcb2fda9","APPINSIGHTS_PROFILERFEATURE_VERSION":"1.0.0","APPINSIGHTS_SNAPSHOTFEATURE_VERSION":"1.0.0"}}' + US","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"12.13.0","APPINSIGHTS_INSTRUMENTATIONKEY":"cc853e0d-ab9a-471a-84a4-9f033bb4cd0d","APPINSIGHTS_PROFILERFEATURE_VERSION":"1.0.0","APPINSIGHTS_SNAPSHOTFEATURE_VERSION":"1.0.0"}}' headers: cache-control: - no-cache content-length: - - '523' + - '459' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:05 GMT + - Fri, 18 Feb 2022 08:38:39 GMT expires: - '-1' pragma: @@ -900,7 +926,7 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-web/4.0.0 Python/3.8.10 (Windows-10-10.0.19044-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=2020-09-01 response: @@ -911,11 +937,11 @@ interactions: cache-control: - no-cache content-length: - - '193' + - '188' content-type: - application/json date: - - Thu, 28 Oct 2021 08:10:06 GMT + - Fri, 18 Feb 2022 08:38:41 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 271b120a80e..f630f126e22 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,7 +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 +from azure.cli.testsdk.scenario_tests import AllowLargeResponse class ApplicationInsightsManagementClientTests(ScenarioTest): @@ -387,3 +387,48 @@ def test_component_with_public_network_access(self, resource_group, location): self.cmd('az monitor app-insights component update --app {name_b} --kind {kind} -g {resource_group}', checks=[ self.check('kind', '{kind}') ]) + + @ResourceGroupPreparer(name_prefix="cli_test_appinsights_", location="westus") + def test_appinsights_webtest_crud(self, resource_group_location): + self.kwargs.update({ + "loc": resource_group_location, + "app_name": "test-app", + "name": "test-webtest", + "kind": "standard", + "location_id1": "us-fl-mia-edge", + "location_id2": "apac-hk-hkn-azr", + "http_verb": "POST", + "request_body": "SGVsbG8gd29ybGQ=", + "request_url": "https://www.bing.com" + }) + + # prepare hidden-link + app_id = self.cmd("monitor app-insights component create -a {app_name} -l {loc} -g {rg} --kind web --application-type web").get_output_in_json()["id"] + self.kwargs["tag"] = f"hidden-link:{app_id}" + + self.cmd( + "monitor app-insights web-test create -n {name} -l {loc} -g {rg} " + "--enabled true --frequency 900 --web-test-kind {kind} --locations Id={location_id1} --defined-web-test-name {name} " + "--http-verb {http_verb} --request-body {request_body} --request-url {request_url} --retry-enabled true --synthetic-monitor-id {name} --timeout 120 " + "--ssl-lifetime-check 100 --ssl-check true --tags {tag}=Resource", + checks=[ + self.check("webTestName", "{name}"), + self.check("type", "microsoft.insights/webtests") + ] + ) + self.cmd( + "monitor app-insights web-test list -g {rg} --component-name {app_name}", + checks=[ + self.check("length(@)", 1), + self.check("@[0].webTestName", "{name}") + ] + ) + self.cmd("monitor app-insights web-test update -n {name} -l {loc} -g {rg} --locations Id={location_id2}") + self.cmd( + "monitor app-insights web-test show -n {name} -g {rg}", + checks=[ + self.check("locations[0].location", "{location_id2}"), + self.check("webTestName", "{name}") + ] + ) + self.cmd("monitor app-insights web-test delete -n {name} -g {rg} --yes") diff --git a/src/application-insights/azext_applicationinsights/util.py b/src/application-insights/azext_applicationinsights/util.py index ad4ecb0c045..1daeaf78602 100644 --- a/src/application-insights/azext_applicationinsights/util.py +++ b/src/application-insights/azext_applicationinsights/util.py @@ -43,7 +43,7 @@ def get_timespan(_, start_time=None, end_time=None, offset=None): elif not end_time: # if no end_time, apply offset fowards from start_time end_time = (dateutil.parser.parse(start_time) + offset).isoformat() - timespan = '{}/{}'.format(start_time, end_time) + timespan = f'{start_time}/{end_time}' return timespan @@ -56,23 +56,19 @@ def get_linked_properties(cli_ctx, app, resource_group, read_properties=None, wr } sub_id = get_subscription_id(cli_ctx) - tmpl = '/subscriptions/{}/resourceGroups/{}/providers/microsoft.insights/components/{}'.format( - sub_id, - resource_group, - app - ) + tmpl = f'/subscriptions/{sub_id}/resourceGroups/{resource_group}/providers/microsoft.insights/components/{app}' linked_read_properties, linked_write_properties = [], [] if isinstance(read_properties, list): propLen = len(read_properties) - linked_read_properties = ['{}/{}'.format(tmpl, roles[read_properties[i]]) for i in range(propLen) if read_properties[i]] # pylint: disable=line-too-long + linked_read_properties = [f'{tmpl}/{roles[read_properties[i]]}' for i in range(propLen) if read_properties[i]] # pylint: disable=line-too-long else: - linked_read_properties = ['{}/{}'.format(tmpl, roles[read_properties])] + linked_read_properties = [f'{tmpl}/{roles[read_properties]}'] if isinstance(write_properties, list): propLen = len(write_properties) - linked_write_properties = ['{}/{}'.format(tmpl, roles[write_properties[i]]) for i in range(propLen) if write_properties[i]] # pylint: disable=line-too-long + linked_write_properties = [f'{tmpl}/{roles[write_properties[i]]}' for i in range(propLen) if write_properties[i]] # pylint: disable=line-too-long else: - linked_write_properties = ['{}/{}'.format(tmpl, roles[write_properties])] + linked_write_properties = [f'{tmpl}/{roles[write_properties]}'] return linked_read_properties, linked_write_properties diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_application_insights_management_client.py index a22a82a43b8..6fd640326a6 100644 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_application_insights_management_client.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/_application_insights_management_client.py @@ -424,10 +424,13 @@ def web_tests(self): """Instance depends on the API version: * 2015-05-01: :class:`WebTestsOperations` + * 2018-05-01-preview: :class:`WebTestsOperations` """ api_version = self._get_api_version('web_tests') if api_version == '2015-05-01': from .v2015_05_01.operations import WebTestsOperations as OperationClass + elif api_version == '2018-05-01-preview': + from .v2018_05_01_preview.operations import WebTestsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'web_tests'".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/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_application_insights_management_client.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_application_insights_management_client.py index db949143069..cd7efd9aa09 100644 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_application_insights_management_client.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/_application_insights_management_client.py @@ -18,7 +18,7 @@ from azure.core.credentials import TokenCredential from ._configuration import ApplicationInsightsManagementClientConfiguration -from .operations import ProactiveDetectionConfigurationsOperations +from .operations import ProactiveDetectionConfigurationsOperations, WebTestsOperations from .operations import ComponentsOperations from . import models @@ -30,6 +30,8 @@ class ApplicationInsightsManagementClient(object): :vartype proactive_detection_configurations: azure.mgmt.applicationinsights.v2018_05_01_preview.operations.ProactiveDetectionConfigurationsOperations :ivar components: ComponentsOperations operations :vartype components: azure.mgmt.applicationinsights.v2018_05_01_preview.operations.ComponentsOperations + :ivar web_tests: WebTestsOperations operations + :vartype web_tests: azure.mgmt.applicationinsights.v2018_05_01_preview.operations.WebTestsOperations :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. @@ -58,6 +60,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize) self.components = ComponentsOperations( self._client, self._config, self._serialize, self._deserialize) + self.web_tests = WebTestsOperations(self._client, self._config, self._serialize, self._deserialize) def close(self): # type: () -> None diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/__init__.py index 9551155d6e7..5413abf8666 100644 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/__init__.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/__init__.py @@ -18,6 +18,14 @@ from ._models_py3 import ComponentsResource from ._models_py3 import PrivateLinkScopedResource from ._models_py3 import TagsResource + from ._models_py3 import WebTest + from ._models_py3 import WebTestGeolocation + from ._models_py3 import WebTestListResult + from ._models_py3 import WebTestPropertiesConfiguration + from ._models_py3 import WebTestPropertiesRequest + from ._models_py3 import WebTestPropertiesValidationRules + from ._models_py3 import WebTestPropertiesValidationRulesContentValidation + from ._models_py3 import WebTestsResource except (SyntaxError, ImportError): from ._models import ApplicationInsightsComponent # type: ignore from ._models import ApplicationInsightsComponentListResult # type: ignore @@ -38,6 +46,8 @@ PublicNetworkAccessType, PurgeState, RequestSource, + WebTestKind, + WebTestKindEnum, ) __all__ = [ @@ -52,10 +62,20 @@ 'ComponentsResource', 'PrivateLinkScopedResource', 'TagsResource', + 'WebTest', + 'WebTestGeolocation', + 'WebTestListResult', + 'WebTestPropertiesConfiguration', + 'WebTestPropertiesRequest', + 'WebTestPropertiesValidationRules', + 'WebTestPropertiesValidationRulesContentValidation', + 'WebTestsResource', 'ApplicationType', 'FlowType', 'IngestionMode', 'PublicNetworkAccessType', 'PurgeState', 'RequestSource', + 'WebTestKind', + 'WebTestKindEnum', ] diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_application_insights_management_client_enums.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_application_insights_management_client_enums.py index 520c2acfc82..a71373b140f 100644 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_application_insights_management_client_enums.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_application_insights_management_client_enums.py @@ -72,3 +72,19 @@ class RequestSource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """ REST = "rest" + +class WebTestKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The kind of WebTest that this web test watches. Choices are ping and multistep. + """ + + PING = "ping" + MULTISTEP = "multistep" + +class WebTestKindEnum(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The kind of web test this is, valid choices are ping, multistep, basic, and standard. + """ + + PING = "ping" + MULTISTEP = "multistep" + BASIC = "basic" + STANDARD = "standard" diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models_py3.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models_py3.py index 8fb7efc6378..c08959b3a22 100644 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models_py3.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/models/_models_py3.py @@ -579,3 +579,402 @@ def __init__( ): super(TagsResource, self).__init__(**kwargs) self.tags = tags + + +class HeaderField(msrest.serialization.Model): + """A header to add to the WebTest. + + :param header_field_name: The name of the header. + :type header_field_name: str + :param header_field_value: The value of the header. + :type header_field_value: str + """ + + _attribute_map = { + 'header_field_name': {'key': 'key', 'type': 'str'}, + 'header_field_value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + header_field_name: Optional[str] = None, + header_field_value: Optional[str] = None, + **kwargs + ): + super(HeaderField, self).__init__(**kwargs) + self.header_field_name = header_field_name + self.header_field_value = header_field_value + + +class WebTestsResource(msrest.serialization.Model): + """An azure resource object. + + 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: Azure resource Id. + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type. + :vartype type: str + :param location: Required. Resource location. + :type location: str + :param tags: A set of 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: Optional[Dict[str, str]] = None, + **kwargs + ): + super(WebTestsResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class WebTest(WebTestsResource): + """An Application Insights WebTest 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: Azure resource Id. + :vartype id: str + :ivar name: Azure resource name. + :vartype name: str + :ivar type: Azure resource type. + :vartype type: str + :param location: Required. Resource location. + :type location: str + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param kind: The kind of WebTest that this web test watches. Choices are ping and multistep. + Possible values include: "ping", "multistep". Default value: "ping". + :type kind: str or ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestKind + :param synthetic_monitor_id: Unique ID of this WebTest. This is typically the same value as the + Name field. + :type synthetic_monitor_id: str + :param web_test_name: User defined name if this WebTest. + :type web_test_name: str + :param description: User defined description for this WebTest. + :type description: str + :param enabled: Is the test actively being monitored. + :type enabled: bool + :param frequency: Interval in seconds between test runs for this WebTest. Default value is 300. + :type frequency: int + :param timeout: Seconds until this WebTest will timeout and fail. Default value is 30. + :type timeout: int + :param web_test_kind: The kind of web test this is, valid choices are ping, multistep, basic, + and standard. Possible values include: "ping", "multistep", "basic", "standard". Default value: + "ping". + :type web_test_kind: str or + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestKindEnum + :param retry_enabled: Allow for retries should this WebTest fail. + :type retry_enabled: bool + :param locations: A list of where to physically run the tests from to give global coverage for + accessibility of your application. + :type locations: + list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestGeolocation] + :param configuration: An XML configuration specification for a WebTest. + :type configuration: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestPropertiesConfiguration + :ivar provisioning_state: Current state of this component, whether or not is has been + provisioned within the resource group it is defined. Users cannot change this value but are + able to read from it. Values will include Succeeded, Deploying, Canceled, and Failed. + :vartype provisioning_state: str + :param request: The collection of request properties. + :type request: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestPropertiesRequest + :param validation_rules: The collection of validation rule properties. + :type validation_rules: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestPropertiesValidationRules + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'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}'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'synthetic_monitor_id': {'key': 'properties.SyntheticMonitorId', 'type': 'str'}, + 'web_test_name': {'key': 'properties.Name', 'type': 'str'}, + 'description': {'key': 'properties.Description', 'type': 'str'}, + 'enabled': {'key': 'properties.Enabled', 'type': 'bool'}, + 'frequency': {'key': 'properties.Frequency', 'type': 'int'}, + 'timeout': {'key': 'properties.Timeout', 'type': 'int'}, + 'web_test_kind': {'key': 'properties.Kind', 'type': 'str'}, + 'retry_enabled': {'key': 'properties.RetryEnabled', 'type': 'bool'}, + 'locations': {'key': 'properties.Locations', 'type': '[WebTestGeolocation]'}, + 'configuration': {'key': 'properties.Configuration', 'type': 'WebTestPropertiesConfiguration'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'request': {'key': 'properties.Request', 'type': 'WebTestPropertiesRequest'}, + 'validation_rules': {'key': 'properties.ValidationRules', 'type': 'WebTestPropertiesValidationRules'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + kind: Optional[Union[str, "WebTestKind"]] = "ping", + synthetic_monitor_id: Optional[str] = None, + web_test_name: Optional[str] = None, + description: Optional[str] = None, + enabled: Optional[bool] = None, + frequency: Optional[int] = 300, + timeout: Optional[int] = 30, + web_test_kind: Optional[Union[str, "WebTestKindEnum"]] = "ping", + retry_enabled: Optional[bool] = None, + locations: Optional[List["WebTestGeolocation"]] = None, + configuration: Optional["WebTestPropertiesConfiguration"] = None, + request: Optional["WebTestPropertiesRequest"] = None, + validation_rules: Optional["WebTestPropertiesValidationRules"] = None, + **kwargs + ): + super(WebTest, self).__init__(location=location, tags=tags, **kwargs) + self.kind = kind + self.synthetic_monitor_id = synthetic_monitor_id + self.web_test_name = web_test_name + self.description = description + self.enabled = enabled + self.frequency = frequency + self.timeout = timeout + self.web_test_kind = web_test_kind + self.retry_enabled = retry_enabled + self.locations = locations + self.configuration = configuration + self.provisioning_state = None + self.request = request + self.validation_rules = validation_rules + + +class WebTestGeolocation(msrest.serialization.Model): + """Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + + :param location: Location ID for the WebTest to run from. + :type location: str + """ + + _attribute_map = { + 'location': {'key': 'Id', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + **kwargs + ): + super(WebTestGeolocation, self).__init__(**kwargs) + self.location = location + + +class WebTestListResult(msrest.serialization.Model): + """A list of 0 or more Application Insights WebTest definitions. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. Set of Application Insights WebTest definitions. + :type value: list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTest] + :param next_link: The link to get the next part of the returned list of WebTest, should the + return set be too large for a single request. May be null. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[WebTest]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["WebTest"], + next_link: Optional[str] = None, + **kwargs + ): + super(WebTestListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class WebTestPropertiesConfiguration(msrest.serialization.Model): + """An XML configuration specification for a WebTest. + + :param web_test: The XML specification of a WebTest to run against an application. + :type web_test: str + """ + + _attribute_map = { + 'web_test': {'key': 'WebTest', 'type': 'str'}, + } + + def __init__( + self, + *, + web_test: Optional[str] = None, + **kwargs + ): + super(WebTestPropertiesConfiguration, self).__init__(**kwargs) + self.web_test = web_test + + +class WebTestPropertiesRequest(msrest.serialization.Model): + """The collection of request properties. + + :param request_url: Url location to test. + :type request_url: str + :param headers: List of headers and their values to add to the WebTest call. + :type headers: list[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.HeaderField] + :param http_verb: Http verb to use for this web test. + :type http_verb: str + :param request_body: Base64 encoded string body to send with this web test. + :type request_body: str + :param parse_dependent_requests: Parse Dependent request for this WebTest. + :type parse_dependent_requests: bool + :param follow_redirects: Follow redirects for this web test. + :type follow_redirects: bool + """ + + _attribute_map = { + 'request_url': {'key': 'RequestUrl', 'type': 'str'}, + 'headers': {'key': 'Headers', 'type': '[HeaderField]'}, + 'http_verb': {'key': 'HttpVerb', 'type': 'str'}, + 'request_body': {'key': 'RequestBody', 'type': 'str'}, + 'parse_dependent_requests': {'key': 'ParseDependentRequests', 'type': 'bool'}, + 'follow_redirects': {'key': 'FollowRedirects', 'type': 'bool'}, + } + + def __init__( + self, + *, + request_url: Optional[str] = None, + headers: Optional[List["HeaderField"]] = None, + http_verb: Optional[str] = None, + request_body: Optional[str] = None, + parse_dependent_requests: Optional[bool] = None, + follow_redirects: Optional[bool] = None, + **kwargs + ): + super(WebTestPropertiesRequest, self).__init__(**kwargs) + self.request_url = request_url + self.headers = headers + self.http_verb = http_verb + self.request_body = request_body + self.parse_dependent_requests = parse_dependent_requests + self.follow_redirects = follow_redirects + + +class WebTestPropertiesValidationRules(msrest.serialization.Model): + """The collection of validation rule properties. + + :param content_validation: The collection of content validation properties. + :type content_validation: + ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestPropertiesValidationRulesContentValidation + :param ssl_check: Checks to see if the SSL cert is still valid. + :type ssl_check: bool + :param ssl_cert_remaining_lifetime_check: A number of days to check still remain before the the + existing SSL cert expires. Value must be positive and the SSLCheck must be set to true. + :type ssl_cert_remaining_lifetime_check: int + :param expected_http_status_code: Validate that the WebTest returns the http status code + provided. + :type expected_http_status_code: int + :param ignore_https_status_code: When set, validation will ignore the status code. + :type ignore_https_status_code: bool + """ + + _attribute_map = { + 'content_validation': {'key': 'ContentValidation', 'type': 'WebTestPropertiesValidationRulesContentValidation'}, + 'ssl_check': {'key': 'SSLCheck', 'type': 'bool'}, + 'ssl_cert_remaining_lifetime_check': {'key': 'SSLCertRemainingLifetimeCheck', 'type': 'int'}, + 'expected_http_status_code': {'key': 'ExpectedHttpStatusCode', 'type': 'int'}, + 'ignore_https_status_code': {'key': 'IgnoreHttpsStatusCode', 'type': 'bool'}, + } + + def __init__( + self, + *, + content_validation: Optional["WebTestPropertiesValidationRulesContentValidation"] = None, + ssl_check: Optional[bool] = None, + ssl_cert_remaining_lifetime_check: Optional[int] = None, + expected_http_status_code: Optional[int] = None, + ignore_https_status_code: Optional[bool] = None, + **kwargs + ): + super(WebTestPropertiesValidationRules, self).__init__(**kwargs) + self.content_validation = content_validation + self.ssl_check = ssl_check + self.ssl_cert_remaining_lifetime_check = ssl_cert_remaining_lifetime_check + self.expected_http_status_code = expected_http_status_code + self.ignore_https_status_code = ignore_https_status_code + + +class WebTestPropertiesValidationRulesContentValidation(msrest.serialization.Model): + """The collection of content validation properties. + + :param content_match: Content to look for in the return of the WebTest. Must not be null or + empty. + :type content_match: str + :param ignore_case: When set, this value makes the ContentMatch validation case insensitive. + :type ignore_case: bool + :param pass_if_text_found: When true, validation will pass if there is a match for the + ContentMatch string. If false, validation will fail if there is a match. + :type pass_if_text_found: bool + """ + + _attribute_map = { + 'content_match': {'key': 'ContentMatch', 'type': 'str'}, + 'ignore_case': {'key': 'IgnoreCase', 'type': 'bool'}, + 'pass_if_text_found': {'key': 'PassIfTextFound', 'type': 'bool'}, + } + + def __init__( + self, + *, + content_match: Optional[str] = None, + ignore_case: Optional[bool] = None, + pass_if_text_found: Optional[bool] = None, + **kwargs + ): + super(WebTestPropertiesValidationRulesContentValidation, self).__init__(**kwargs) + self.content_match = content_match + self.ignore_case = ignore_case + self.pass_if_text_found = pass_if_text_found diff --git a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/__init__.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/__init__.py index 3f58d6dbbd8..da4b8f61b81 100644 --- a/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/__init__.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/__init__.py @@ -7,9 +7,11 @@ # -------------------------------------------------------------------------- from ._proactive_detection_configurations_operations import ProactiveDetectionConfigurationsOperations +from ._web_tests_operations import WebTestsOperations from ._components_operations import ComponentsOperations __all__ = [ 'ProactiveDetectionConfigurationsOperations', + 'WebTestsOperations', 'ComponentsOperations', ] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_snapshots_operations.py b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_web_tests_operations.py old mode 100755 new mode 100644 similarity index 62% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_snapshots_operations.py rename to src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_web_tests_operations.py index a3a75a2347d..0950843234b --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_snapshots_operations.py +++ b/src/application-insights/azext_applicationinsights/vendored_sdks/mgmt_applicationinsights/v2018_05_01_preview/operations/_web_tests_operations.py @@ -18,19 +18,19 @@ 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 SnapshotsOperations(object): - """SnapshotsOperations operations. +class WebTestsOperations(object): + """WebTestsOperations 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.applicationinsights.v2018_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,98 +45,27 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def list( - self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SnapshotListResult"] - """Gets a list of snapshots in the specified subscription. - - Gets a list of snapshots in 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 SnapshotListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.SnapshotListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.SnapshotListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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') - - 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('SnapshotListResult', 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.ContainerService/snapshots'} # type: ignore - def list_by_resource_group( self, resource_group_name, # type: str **kwargs # type: Any ): - # type: (...) -> Iterable["_models.SnapshotListResult"] - """Lists snapshots in the specified subscription and resource group. - - Lists snapshots in the specified subscription and resource group. + # type: (...) -> Iterable["_models.WebTestListResult"] + """Get all Application Insights web tests defined within a specified 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 :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SnapshotListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.SnapshotListResult] + :return: An iterator like instance of either WebTestListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestListResult] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.SnapshotListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.WebTestListResult"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2018-05-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -148,8 +77,8 @@ def prepare_request(next_link=None): # 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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + '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 @@ -164,7 +93,7 @@ def prepare_request(next_link=None): return request def extract_data(pipeline_response): - deserialized = self._deserialize('SnapshotListResult', pipeline_response) + deserialized = self._deserialize('WebTestListResult', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -185,42 +114,40 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots'} # type: ignore + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests'} # type: ignore def get( self, resource_group_name, # type: str - resource_name, # type: str + web_test_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.Snapshot" - """Gets a snapshot. - - Gets a snapshot. + # type: (...) -> "_models.WebTest" + """Get a specific Application Insights web test 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 resource_name: The name of the managed cluster resource. - :type resource_name: str + :param web_test_name: The name of the Application Insights WebTest resource. + :type web_test_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Snapshot, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.Snapshot + :return: WebTest, or the result of cls(response) + :rtype: ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTest :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.WebTest"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2018-05-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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -240,52 +167,51 @@ def get( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('Snapshot', pipeline_response) + deserialized = self._deserialize('WebTest', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}'} # type: ignore def create_or_update( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.Snapshot" + web_test_name, # type: str + web_test_definition, # type: "_models.WebTest" **kwargs # type: Any ): - # type: (...) -> "_models.Snapshot" - """Creates or updates a snapshot. + # type: (...) -> "_models.WebTest" + """Creates or updates an Application Insights web test definition. - Creates or updates a snapshot. - - :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 resource_name: The name of the managed cluster resource. - :type resource_name: str - :param parameters: The snapshot to create or update. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.Snapshot + :param web_test_name: The name of the Application Insights WebTest resource. + :type web_test_name: str + :param web_test_definition: Properties that need to be specified to create or update an + Application Insights web test definition. + :type web_test_definition: ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTest :keyword callable cls: A custom type or function that will be passed the direct response - :return: Snapshot, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.Snapshot + :return: WebTest, or the result of cls(response) + :rtype: ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTest :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.WebTest"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2018-05-01-preview" 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -299,66 +225,60 @@ def create_or_update( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'Snapshot') + body_content = self._serialize.body(web_test_definition, 'WebTest') 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]: + 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 response.status_code == 200: - deserialized = self._deserialize('Snapshot', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('Snapshot', pipeline_response) + deserialized = self._deserialize('WebTest', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}'} # type: ignore def update_tags( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.TagsObject" + web_test_name, # type: str + web_test_tags, # type: "_models.TagsResource" **kwargs # type: Any ): - # type: (...) -> "_models.Snapshot" - """Updates tags on a snapshot. + # type: (...) -> "_models.WebTest" + """Creates or updates an Application Insights web test definition. - Updates tags on a snapshot. - - :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 resource_name: The name of the managed cluster resource. - :type resource_name: str - :param parameters: Parameters supplied to the Update snapshot Tags operation. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.TagsObject + :param web_test_name: The name of the Application Insights WebTest resource. + :type web_test_name: str + :param web_test_tags: Updated tag information to set into the web test instance. + :type web_test_tags: ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.TagsResource :keyword callable cls: A custom type or function that will be passed the direct response - :return: Snapshot, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.Snapshot + :return: WebTest, or the result of cls(response) + :rtype: ~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTest :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.Snapshot"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.WebTest"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2018-05-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL url = self.update_tags.metadata['url'] # type: ignore path_format_arguments = { - '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -372,7 +292,7 @@ def update_tags( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TagsObject') + body_content = self._serialize.body(web_test_tags, 'TagsResource') 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) @@ -382,29 +302,27 @@ def update_tags( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('Snapshot', pipeline_response) + deserialized = self._deserialize('WebTest', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}'} # type: ignore def delete( self, resource_group_name, # type: str - resource_name, # type: str + web_test_name, # type: str **kwargs # type: Any ): # type: (...) -> None - """Deletes a snapshot. - - Deletes a snapshot. + """Deletes an Application Insights web test. - :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 resource_name: The name of the managed cluster resource. - :type resource_name: str + :param web_test_name: The name of the Application Insights WebTest resource. + :type web_test_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 @@ -415,15 +333,14 @@ def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" + api_version = "2018-05-01-preview" # 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', 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]$'), + '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), + 'webTestName': self._serialize.url("web_test_name", web_test_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -433,7 +350,6 @@ def delete( # 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) @@ -446,4 +362,146 @@ def delete( if cls: return cls(pipeline_response, None, {}) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.WebTestListResult"] + """Get all Application Insights web test alerts definitions 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 WebTestListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.WebTestListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-05-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), + } + url = self._client.format_url(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('WebTestListResult', 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.Insights/webtests'} # type: ignore + + def list_by_component( + self, + component_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.WebTestListResult"] + """Get all Application Insights web tests defined for the specified component. + + :param component_name: The name of the Application Insights component resource. + :type component_name: str + :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 WebTestListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.applicationinsights.v2018_05_01_preview.models.WebTestListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.WebTestListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-05-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_component.metadata['url'] # type: ignore + path_format_arguments = { + 'componentName': self._serialize.url("component_name", component_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + '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('WebTestListResult', 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_component.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests'} # type: ignore \ No newline at end of file diff --git a/src/application-insights/setup.py b/src/application-insights/setup.py index da5049271b6..a3aa5e87e1c 100644 --- a/src/application-insights/setup.py +++ b/src/application-insights/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.1.14" +VERSION = "0.1.15" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -41,7 +41,7 @@ license='MIT', author='Ace Eldeib', author_email='aleldeib@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/application-insights', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), package_data={'azext_applicationinsights': ['azext_metadata.json']}, diff --git a/src/appservice-kube/HISTORY.rst b/src/appservice-kube/HISTORY.rst index 3b56fc6da4d..b5576a1b248 100644 --- a/src/appservice-kube/HISTORY.rst +++ b/src/appservice-kube/HISTORY.rst @@ -3,6 +3,28 @@ Release History =============== +0.1.5 + ++++++ + * SSL bind bug fix + * Fix compatibility issue with CLI version 2.34.1 + +0.1.4 +++++++ +* Ensure compatibility of 'az webapp create' and 'az functionapp create' with CLI version 2.34.0 + +0.1.3 +++++++ +* Update functionapp runtimes and support v4 functionapps + +0.1.2 +++++++ +* Allow passing custom locations by name if in the same resource group as the app/plan +* Add App Service Environment V3 SKUs to 'az appservice plan create' help text +* Fix bug causing App Service Kube Environment "resourceGroup" value to be null in command responses + +0.1.1 +++++++ +* Fix ssl binding for web apps in kubernetes environments 0.1.0 ++++++ diff --git a/src/appservice-kube/azext_appservice_kube/_constants.py b/src/appservice-kube/azext_appservice_kube/_constants.py index 6bfabf7ca0c..749ba74934f 100644 --- a/src/appservice-kube/azext_appservice_kube/_constants.py +++ b/src/appservice-kube/azext_appservice_kube/_constants.py @@ -3,7 +3,6 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- - KUBE_DEFAULT_SKU = "K1" KUBE_ASP_KIND = "linux,kubernetes" KUBE_APP_KIND = "linux,kubernetes,app" @@ -11,74 +10,6 @@ KUBE_FUNCTION_APP_KIND = 'linux,kubernetes,functionapp' KUBE_FUNCTION_CONTAINER_APP_KIND = 'linux,kubernetes,functionapp,container' -LINUX_RUNTIMES = ['dotnet', 'node', 'python', 'java'] -WINDOWS_RUNTIMES = ['dotnet', 'node', 'java', 'powershell'] - -NODE_VERSION_DEFAULT = "10.14" -NODE_VERSION_NEWER = "12-lts" -NODE_EXACT_VERSION_DEFAULT = "10.14.1" -NETCORE_VERSION_DEFAULT = "2.2" -DOTNET_VERSION_DEFAULT = "4.7" -PYTHON_VERSION_DEFAULT = "3.7" -NETCORE_RUNTIME_NAME = "dotnetcore" -DOTNET_RUNTIME_NAME = "aspnet" -NODE_RUNTIME_NAME = "node" -PYTHON_RUNTIME_NAME = "python" -OS_DEFAULT = "Windows" -STATIC_RUNTIME_NAME = "static" # not an official supported runtime but used for CLI logic -NODE_VERSIONS = ['4.4', '4.5', '6.2', '6.6', '6.9', '6.11', '8.0', '8.1', '8.9', '8.11', '10.1', '10.10', '10.14'] -PYTHON_VERSIONS = ['3.7', '3.6', '2.7'] -NETCORE_VERSIONS = ['1.0', '1.1', '2.1', '2.2'] -DOTNET_VERSIONS = ['3.5', '4.7'] - -LINUX_SKU_DEFAULT = "P1V2" -FUNCTIONS_VERSIONS = ['2', '3'] - -# functions version : default node version -FUNCTIONS_VERSION_TO_DEFAULT_NODE_VERSION = { - '2': '~10', - '3': '~12' -} -# functions version -> runtime : default runtime version -FUNCTIONS_VERSION_TO_DEFAULT_RUNTIME_VERSION = { - '2': { - 'node': '8', - 'dotnet': '2', - 'python': '3.7', - 'java': '8' - }, - '3': { - 'node': '12', - 'dotnet': '3', - 'python': '3.7', - 'java': '8' - } -} -# functions version -> runtime : runtime versions -FUNCTIONS_VERSION_TO_SUPPORTED_RUNTIME_VERSIONS = { - '2': { - 'node': ['8', '10'], - 'python': ['3.6', '3.7'], - 'dotnet': ['2'], - 'java': ['8'] - }, - '3': { - 'node': ['10', '12'], - 'python': ['3.6', '3.7', '3.8'], - 'dotnet': ['3'], - 'java': ['8'] - } -} -# dotnet runtime version : dotnet linuxFxVersion -DOTNET_RUNTIME_VERSION_TO_DOTNET_LINUX_FX_VERSION = { - '2': '2.2', - '3': '3.1' -} - MULTI_CONTAINER_TYPES = ['COMPOSE', 'KUBE'] OS_TYPES = ['Windows', 'Linux'] - -CONTAINER_APPSETTING_NAMES = ['DOCKER_REGISTRY_SERVER_URL', 'DOCKER_REGISTRY_SERVER_USERNAME', - 'DOCKER_REGISTRY_SERVER_PASSWORD', "WEBSITES_ENABLE_APP_SERVICE_STORAGE"] -APPSETTINGS_TO_MASK = ['DOCKER_REGISTRY_SERVER_PASSWORD'] diff --git a/src/appservice-kube/azext_appservice_kube/_create_util.py b/src/appservice-kube/azext_appservice_kube/_create_util.py index 740512fd9fa..7edb648c2dd 100644 --- a/src/appservice-kube/azext_appservice_kube/_create_util.py +++ b/src/appservice-kube/azext_appservice_kube/_create_util.py @@ -3,291 +3,13 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -import os -import zipfile -from knack.log import get_logger -from azure.mgmt.web.models import SkuDescription -from azure.cli.core.azclierror import ValidationError, ArgumentUsageError +from knack.log import get_logger -from ._constants import (NETCORE_VERSION_DEFAULT, NETCORE_VERSIONS, NODE_VERSION_DEFAULT, - NODE_VERSIONS, NETCORE_RUNTIME_NAME, NODE_RUNTIME_NAME, DOTNET_RUNTIME_NAME, - DOTNET_VERSION_DEFAULT, DOTNET_VERSIONS, STATIC_RUNTIME_NAME, - PYTHON_RUNTIME_NAME, PYTHON_VERSION_DEFAULT, LINUX_SKU_DEFAULT, OS_DEFAULT) -from ._client_factory import web_client_factory, resource_client_factory +from ._client_factory import web_client_factory logger = get_logger(__name__) -def get_runtime_version_details(file_path, lang_name, is_kube=False): - version_detected = None - version_to_create = None - if lang_name.lower() == NETCORE_RUNTIME_NAME: - # method returns list in DESC, pick the first - version_detected = parse_netcore_version(file_path)[0] - version_to_create = detect_netcore_version_tocreate(version_detected) - elif lang_name.lower() == DOTNET_RUNTIME_NAME: - # method returns list in DESC, pick the first - version_detected = parse_dotnet_version(file_path) - version_to_create = detect_dotnet_version_tocreate(version_detected) - if is_kube: - raise ValidationError("Dotnet runtime is not supported for Kube Environments") - elif lang_name.lower() == NODE_RUNTIME_NAME: - if file_path == '': - version_detected = "-" - version_to_create = NODE_VERSION_DEFAULT - else: - version_detected = parse_node_version(file_path)[0] - version_to_create = detect_node_version_tocreate(version_detected) - elif lang_name.lower() == PYTHON_RUNTIME_NAME: - version_detected = "-" - version_to_create = PYTHON_VERSION_DEFAULT - elif lang_name.lower() == STATIC_RUNTIME_NAME: - version_detected = "-" - version_to_create = "-" - return {'detected': version_detected, 'to_create': version_to_create} - - -def zip_contents_from_dir(dirPath, lang, is_kube=None): - relroot = os.path.abspath(os.path.join(dirPath, os.pardir)) - - path_and_file = os.path.splitdrive(dirPath)[1] - file_val = os.path.split(path_and_file)[1] - zip_file_path = relroot + os.path.sep + file_val + ".zip" - abs_src = os.path.abspath(dirPath) - with zipfile.ZipFile("{}".format(zip_file_path), "w", zipfile.ZIP_DEFLATED) as zf: - for dirname, subdirs, files in os.walk(dirPath): - # skip node_modules folder for Node apps, - # since zip_deployment will perform the build operation - # TODO: Add .deployment support in Kube BuildSVC and remove this check - if not is_kube: - if lang.lower() == NODE_RUNTIME_NAME: - subdirs[:] = [d for d in subdirs if 'node_modules' not in d] - elif lang.lower() == NETCORE_RUNTIME_NAME: - subdirs[:] = [d for d in subdirs if d not in ['obj', 'bin']] - elif lang.lower() == PYTHON_RUNTIME_NAME: - subdirs[:] = [d for d in subdirs if 'env' not in d] # Ignores dir that contain env - for filename in files: - absname = os.path.abspath(os.path.join(dirname, filename)) - arcname = absname[len(abs_src) + 1:] - zf.write(absname, arcname) - return zip_file_path - - -def create_resource_group(cmd, rg_name, location): - from azure.cli.core.profiles import ResourceType, get_sdk - rcf = resource_client_factory(cmd.cli_ctx) - resource_group = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, 'ResourceGroup', mod='models') - rg_params = resource_group(location=location) - return rcf.resource_groups.create_or_update(rg_name, rg_params) - - -def _check_resource_group_exists(cmd, rg_name): - rcf = resource_client_factory(cmd.cli_ctx) - return rcf.resource_groups.check_existence(rg_name) - - -def _check_resource_group_supports_os(cmd, rg_name, is_linux): - # get all appservice plans from RG - client = web_client_factory(cmd.cli_ctx) - plans = list(client.app_service_plans.list_by_resource_group(rg_name)) - for item in plans: - # for Linux if an app with reserved==False exists, ASP doesn't support Linux - if is_linux and not item.reserved: - return False - if not is_linux and item.reserved: - return False - return True - - -def get_num_apps_in_asp(cmd, rg_name, asp_name): - client = web_client_factory(cmd.cli_ctx) - return len(list(client.app_service_plans.list_web_apps(rg_name, asp_name))) - - -# pylint:disable=unexpected-keyword-arg -def get_lang_from_content(src_path, html=False): - # NODE: package.json should exist in the application root dir - # NETCORE & DOTNET: *.csproj should exist in the application dir - # NETCORE: netcoreapp2.0 - # DOTNET: v4.5.2 - runtime_details_dict = dict.fromkeys(['language', 'file_loc', 'default_sku']) - package_json_file = os.path.join(src_path, 'package.json') - package_python_file = os.path.join(src_path, 'requirements.txt') - static_html_file = "" - package_netcore_file = "" - runtime_details_dict['language'] = '' - runtime_details_dict['file_loc'] = '' - runtime_details_dict['default_sku'] = 'F1' - import fnmatch - for _dirpath, _dirnames, files in os.walk(src_path): - for file in files: - if html and (fnmatch.fnmatch(file, "*.html") or fnmatch.fnmatch(file, "*.htm") or - fnmatch.fnmatch(file, "*shtml.")): - static_html_file = os.path.join(src_path, file) - break - if fnmatch.fnmatch(file, "*.csproj"): - package_netcore_file = os.path.join(src_path, file) - break - - if html: - if static_html_file: - runtime_details_dict['language'] = STATIC_RUNTIME_NAME - runtime_details_dict['file_loc'] = static_html_file - runtime_details_dict['default_sku'] = 'F1' - else: - raise ArgumentUsageError("The html flag was passed, but could not find HTML files, " - "see 'https://go.microsoft.com/fwlink/?linkid=2109470' for more information") - elif os.path.isfile(package_python_file): - runtime_details_dict['language'] = PYTHON_RUNTIME_NAME - runtime_details_dict['file_loc'] = package_python_file - runtime_details_dict['default_sku'] = LINUX_SKU_DEFAULT - elif os.path.isfile(package_json_file) or os.path.isfile('server.js') or os.path.isfile('index.js'): - runtime_details_dict['language'] = NODE_RUNTIME_NAME - runtime_details_dict['file_loc'] = package_json_file if os.path.isfile(package_json_file) else '' - runtime_details_dict['default_sku'] = LINUX_SKU_DEFAULT - elif package_netcore_file: - runtime_lang = detect_dotnet_lang(package_netcore_file) - runtime_details_dict['language'] = runtime_lang - runtime_details_dict['file_loc'] = package_netcore_file - runtime_details_dict['default_sku'] = 'F1' - else: # TODO: Update the doc when the detection logic gets updated - raise ValidationError("Could not auto-detect the runtime stack of your app, " - "see 'https://go.microsoft.com/fwlink/?linkid=2109470' for more information") - return runtime_details_dict - - -def detect_dotnet_lang(csproj_path): - import xml.etree.ElementTree as ET - import re - parsed_file = ET.parse(csproj_path) - root = parsed_file.getroot() - version_lang = '' - for target_ver in root.iter('TargetFramework'): - version_lang = re.sub(r'([^a-zA-Z\s]+?)', '', target_ver.text) - if 'netcore' in version_lang.lower(): - return NETCORE_RUNTIME_NAME - return DOTNET_RUNTIME_NAME - - -def parse_dotnet_version(file_path): - version_detected = ['4.7'] - try: - from xml.dom import minidom - import re - xmldoc = minidom.parse(file_path) - framework_ver = xmldoc.getElementsByTagName('TargetFrameworkVersion') - target_ver = framework_ver[0].firstChild.data - non_decimal = re.compile(r'[^\d.]+') - # reduce the version to '5.7.4' from '5.7' - if target_ver is not None: - # remove the string from the beginning of the version value - c = non_decimal.sub('', target_ver) - version_detected = c[:3] - except: # pylint: disable=bare-except - version_detected = version_detected[0] - return version_detected - - -def parse_netcore_version(file_path): - import xml.etree.ElementTree as ET - import re - version_detected = ['0.0'] - parsed_file = ET.parse(file_path) - root = parsed_file.getroot() - for target_ver in root.iter('TargetFramework'): - version_detected = re.findall(r"\d+\.\d+", target_ver.text) - # incase of multiple versions detected, return list in descending order - version_detected = sorted(version_detected, key=float, reverse=True) - return version_detected - - -def parse_node_version(file_path): - # from node experts the node value in package.json can be found here "engines": { "node": ">=10.6.0"} - import json - import re - version_detected = [] - with open(file_path) as data_file: - data = json.load(data_file) - for key, value in data.items(): - if key == 'engines' and 'node' in value: - value_detected = value['node'] - non_decimal = re.compile(r'[^\d.]+') - # remove the string ~ or > that sometimes exists in version value - c = non_decimal.sub('', value_detected) - # reduce the version to '6.0' from '6.0.0' - if '.' in c: # handle version set as 4 instead of 4.0 - num_array = c.split('.') - num = num_array[0] + "." + num_array[1] - else: - num = c + ".0" - version_detected.append(num) - return version_detected or ['0.0'] - - -def detect_netcore_version_tocreate(detected_ver): - if detected_ver in NETCORE_VERSIONS: - return detected_ver - return NETCORE_VERSION_DEFAULT - - -def detect_dotnet_version_tocreate(detected_ver): - min_ver = DOTNET_VERSIONS[0] - if detected_ver in DOTNET_VERSIONS: - return detected_ver - if detected_ver < min_ver: - return min_ver - return DOTNET_VERSION_DEFAULT - - -def detect_node_version_tocreate(detected_ver): - if detected_ver in NODE_VERSIONS: - return detected_ver - # get major version & get the closest version from supported list - major_ver = int(detected_ver.split('.')[0]) - node_ver = NODE_VERSION_DEFAULT - if major_ver < 4: - node_ver = NODE_VERSION_DEFAULT - elif 4 <= major_ver < 6: - node_ver = '4.5' - elif 6 <= major_ver < 8: - node_ver = '6.9' - elif 8 <= major_ver < 10: - node_ver = NODE_VERSION_DEFAULT - elif major_ver >= 10: - node_ver = '10.14' - return node_ver - - -def find_key_in_json(json_data, key): - for k, v in json_data.items(): - if key in k: - yield v - elif isinstance(v, dict): - for id_val in find_key_in_json(v, key): - yield id_val - - -def set_location(cmd, sku, location): - client = web_client_factory(cmd.cli_ctx) - if location is None: - locs = client.list_geo_regions(sku, True) - available_locs = [] - for loc in locs: - available_locs.append(loc.name) - loc = available_locs[0] - else: - loc = location - return loc.replace(" ", "").lower() - - -# check if the RG value to use already exists and follows the OS requirements or new RG to be created -def should_create_new_rg(cmd, rg_name, is_linux): - if (_check_resource_group_exists(cmd, rg_name) and - _check_resource_group_supports_os(cmd, rg_name, is_linux)): - return False - return True - - def get_site_availability(cmd, name): """ This is used by az webapp up to verify if a site needs to be created or should just be deployed""" client = web_client_factory(cmd.cli_ctx) @@ -302,82 +24,13 @@ def get_site_availability(cmd, name): return availability -def does_app_already_exist(cmd, name): - """ This is used by az webapp up to verify if a site needs to be created or should just be deployed""" - client = web_client_factory(cmd.cli_ctx) - site_availability = client.check_name_availability(name, 'Microsoft.Web/sites') - # check availability returns true to name_available == site does not exist - return site_availability.name_available - - def get_app_details(cmd, name, resource_group): + from azure.core.exceptions import ResourceNotFoundError as E client = web_client_factory(cmd.cli_ctx) - return client.web_apps.get(resource_group, name) - # ''' - # data = (list(filter(lambda x: name.lower() in x.name.lower(), client.web_apps.list()))) - # _num_items = len(data) - # if _num_items > 0: - # return data[0] - # return None - # ''' - - -def get_rg_to_use(cmd, user, loc, os_name, rg_name=None): - default_rg = "{}_rg_{}_{}".format(user, os_name, loc.replace(" ", "").lower()) - # check if RG exists & can be used - if rg_name is not None and _check_resource_group_exists(cmd, rg_name): - if _check_resource_group_supports_os(cmd, rg_name, os_name.lower() == 'linux'): - return rg_name - raise ArgumentUsageError("The ResourceGroup '{}' cannot be used with the os '{}'. " - "Use a different RG".format(rg_name, os_name)) - if rg_name is None: - rg_name = default_rg - return rg_name - - -def get_profile_username(): - from azure.cli.core._profile import Profile - user = Profile().get_current_account_user() - user = user.split('@', 1)[0] - if len(user.split('#', 1)) > 1: # on cloudShell user is in format live.com#user@domain.com - user = user.split('#', 1)[1] - return user - - -def get_sku_to_use(src_dir, html=False, sku=None): - if sku is None: - lang_details = get_lang_from_content(src_dir, html) - return lang_details.get("default_sku") - logger.info("Found sku argument, skipping use default sku") - return sku - - -def set_language(src_dir, html=False): - lang_details = get_lang_from_content(src_dir, html) - return lang_details.get('language') - - -def detect_os_form_src(src_dir, html=False): - lang_details = get_lang_from_content(src_dir, html) - language = lang_details.get('language') - return "Linux" if language is not None and language.lower() == NODE_RUNTIME_NAME \ - or language.lower() == PYTHON_RUNTIME_NAME else OS_DEFAULT - - -def get_plan_to_use(cmd, user, os_name, loc, sku, create_rg, resource_group_name, plan=None): - _default_asp = "{}_asp_{}_{}_0".format(user, os_name, loc) - if plan is None: # --plan not provided by user - # get the plan name to use - return _determine_if_default_plan_to_use(cmd, _default_asp, resource_group_name, loc, sku, create_rg) - return plan - - -def get_kube_plan_to_use(cmd, kube_environment, loc, sku, create_rg, resource_group_name, plan=None): - _default_asp = "{}_asp_{}_{}_0".format(kube_environment, sku, resource_group_name) - if plan is None: # --plan not provided by user - # get the plan name to use - return _determine_if_default_plan_to_use(cmd, _default_asp, resource_group_name, loc, sku, create_rg) - return plan + try: + return client.web_apps.get(resource_group, name) + except E: + return None # Portal uses the current_stack property in the app metadata to display the correct stack @@ -389,40 +42,6 @@ def get_current_stack_from_runtime(runtime): return language -# if plan name not provided we need to get a plan name based on the OS, location & SKU -def _determine_if_default_plan_to_use(cmd, plan_name, resource_group_name, loc, sku, create_rg): - client = web_client_factory(cmd.cli_ctx) - if create_rg: # if new RG needs to be created use the default name - return plan_name - # get all ASPs in the RG & filter to the ones that contain the plan_name - _asp_generic = plan_name[:-len(plan_name.split("_")[4])] - _asp_list = (list(filter(lambda x: _asp_generic in x.name, - client.app_service_plans.list_by_resource_group(resource_group_name)))) - _num_asp = len(_asp_list) - if _num_asp: - # check if we have at least one app that can be used with the combination of loc, sku & os - selected_asp = next((a for a in _asp_list if isinstance(a.sku, SkuDescription) and - a.sku.name.lower() == sku.lower() and - (a.location.replace(" ", "").lower() == loc.lower())), None) - if selected_asp is not None: - return selected_asp.name - # from the sorted data pick the last one & check if a new ASP needs to be created - # based on SKU or not - data_sorted = sorted(_asp_list, key=lambda x: x.name) - _plan_info = data_sorted[_num_asp - 1] - _asp_num = int(_plan_info.name.split('_')[4]) + 1 # default asp created by CLI can be of type plan_num - return '{}_{}'.format(_asp_generic, _asp_num) - return plan_name - - -def should_create_new_app(cmd, rg_name, app_name): # this is currently referenced by an extension command - client = web_client_factory(cmd.cli_ctx) - for item in list(client.web_apps.list_by_resource_group(rg_name)): - if item.name.lower() == app_name.lower(): - return False - return True - - def generate_default_app_service_plan_name(webapp_name): import uuid random_uuid = str(uuid.uuid4().hex) diff --git a/src/appservice-kube/azext_appservice_kube/_help.py b/src/appservice-kube/azext_appservice_kube/_help.py index 3fa301c209d..b63ecbac9d8 100644 --- a/src/appservice-kube/azext_appservice_kube/_help.py +++ b/src/appservice-kube/azext_appservice_kube/_help.py @@ -34,7 +34,12 @@ - name: Create an app service plan for a kubernetes environment. text: > az appservice plan create -g MyResourceGroup -n MyPlan \\ - --custom-location /subscriptions//resourceGroups//providers/Microsoft.ExtendedLocation/customLocations/ \\ + --custom-location /subscriptions/sub_id/resourcegroups/group_name/providers/microsoft.extendedlocation/customlocations/custom_location_name \\ + --per-site-scaling --is-linux --sku K1 + - name: Create a kubernetes environment app service plan in the same resource group as the custom location + text: > + az appservice plan create -g MyResourceGroup -n MyPlan \\ + --custom-location custom_location_name \\ --per-site-scaling --is-linux --sku K1 """ @@ -60,9 +65,12 @@ type: command short-summary: Create a Kubernetes Environment. examples: + - name: Create Kubernetes Environment with a custom location in the same resource group + text: | + az appservice kube create -n MyKubeEnvironment -g MyResourceGroup --static-ip 0.0.0.0 --custom-location custom_location_name - name: Create Kubernetes Environment text: | - az appservice kube create -n MyKubeEnvironment -g MyResourceGroup --static-ip 0.0.0.0 --custom-location custom_location_id + az appservice kube create -n MyKubeEnvironment -g MyResourceGroup --static-ip 0.0.0.0 --custom-location /subscriptions/sub_id/resourcegroups/group_name/providers/microsoft.extendedlocation/customlocations/custom_location_name """ helps['appservice kube update'] = """ @@ -112,3 +120,89 @@ az appservice kube wait -g MyResourceGroup -n MyKubeEnvironment \\ --created --interval 60 """ + +helps['webapp config ssl bind'] = """ +type: command +short-summary: Bind an SSL certificate to a web app. +examples: + - name: Bind an SSL certificate to a web app. (autogenerated) + text: az webapp config ssl bind --certificate-thumbprint {certificate-thumbprint} --name MyWebapp --resource-group MyResourceGroup --ssl-type SNI + crafted: true +""" + +helps['webapp config ssl unbind'] = """ +type: command +short-summary: Unbind an SSL certificate from a web app. +""" + +helps['functionapp create'] = """ +type: command +short-summary: Create a function app. +long-summary: The function app's name must be able to produce a unique FQDN as AppName.azurewebsites.net. +examples: + - name: Create a basic function app. + text: > + az functionapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -s MyStorageAccount + - name: Create a function app. (autogenerated) + text: az functionapp create --consumption-plan-location westus --name MyUniqueAppName --os-type Windows --resource-group MyResourceGroup --runtime dotnet --storage-account MyStorageAccount + crafted: true + - name: Create a function app using a private ACR image. + text: > + az functionapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName --runtime node --storage-account MyStorageAccount --deployment-container-image-name myacr.azurecr.io/myimage:tag --docker-registry-server-password passw0rd --docker-registry-server-user MyUser + - name: Create a function app in an app service kubernetes environment + text: > + az functionapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -s MyStorageAccount --custom-location /subscriptions/sub_id/resourcegroups/group_name/providers/microsoft.extendedlocation/customlocations/custom_location_name + - name: Create a function app in an app service kubernetes environment and in the same resource group as the custom location + text: > + az functionapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -s MyStorageAccount --custom-location custom_location_name +""" + +helps['webapp create'] = """ +type: command +short-summary: Create a web app. +long-summary: The web app's name must be able to produce a unique FQDN as AppName.azurewebsites.net. +examples: + - name: Create a web app with the default configuration. + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName + - name: Create a web app with a Java 11 runtime using '|' delimiter. + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName --runtime "java|11|Java SE|11" + - name: Create a web app with a Java 11 runtime using ':' delimiter. + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName --runtime "java:11:Java SE:11" + - name: Create a web app with a NodeJS 10.14 runtime and deployed from a local git repository. + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName --runtime "node|10.14" --deployment-local-git + - name: Create a web app with an image from DockerHub. + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i nginx + - name: Create a web app with an image from a private DockerHub registry. + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i MyImageName -s username -w password + - name: Create a web app with an image from a private Azure Container Registry. + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName -i myregistry.azurecr.io/docker-image:tag + - name: create a WebApp using shared App Service Plan that is in a different resource group. + text: > + AppServicePlanID=$(az appservice plan show -n SharedAppServicePlan -g MyASPRG --query "id" --out tsv) + az webapp create -g MyResourceGroup -p "$AppServicePlanID" -n MyUniqueAppName + - name: create a WebApp in an appservice kubernetes environment + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName --custom-location /subscriptions/sub_id/resourcegroups/group_name/providers/microsoft.extendedlocation/customlocations/custom_location_name + - name: create a WebApp in an appservice kubernetes environment and in the same resource group as the custom location + text: > + az webapp create -g MyResourceGroup -p MyPlan -n MyUniqueAppName --custom-location custom_location_name +""" + +helps['webapp update'] = """ +type: command +short-summary: Update an existing web app. +examples: + - name: Update the tags of a web app. + text: > + az webapp update -g MyResourceGroup -n MyAppName --set tags.tagName=tagValue + - name: Update a web app. (autogenerated) + text: az webapp update --https-only true --name MyAppName --resource-group MyResourceGroup + crafted: true +""" diff --git a/src/appservice-kube/azext_appservice_kube/_params.py b/src/appservice-kube/azext_appservice_kube/_params.py index 072c46d9dea..fc1ecf8368b 100644 --- a/src/appservice-kube/azext_appservice_kube/_params.py +++ b/src/appservice-kube/azext_appservice_kube/_params.py @@ -10,9 +10,9 @@ from azure.cli.core.commands.parameters import (resource_group_name_type, get_location_type, get_resource_name_completion_list, get_three_state_flag, get_enum_type, tags_type) +from azure.cli.command_modules.appservice._constants import FUNCTIONS_VERSIONS -from ._constants import (FUNCTIONS_VERSIONS, FUNCTIONS_VERSION_TO_SUPPORTED_RUNTIME_VERSIONS, - LINUX_RUNTIMES, WINDOWS_RUNTIMES, MULTI_CONTAINER_TYPES, OS_TYPES) +from ._constants import MULTI_CONTAINER_TYPES, OS_TYPES from ._validators import validate_asp_create, validate_timeout_value @@ -28,20 +28,6 @@ def load_arguments(self, _): self.get_models('K8SENetworkPlugin') - # combine all runtime versions for all functions versions - functionapp_runtime_to_version = {} - for functions_version in FUNCTIONS_VERSION_TO_SUPPORTED_RUNTIME_VERSIONS.values(): - for runtime, val in functions_version.items(): - # dotnet version is not configurable, so leave out of help menu - if runtime != 'dotnet': - functionapp_runtime_to_version[runtime] = functionapp_runtime_to_version.get(runtime, set()).union(val) - - functionapp_runtime_to_version_texts = [] - for runtime, runtime_versions in functionapp_runtime_to_version.items(): - runtime_versions_list = list(runtime_versions) - runtime_versions_list.sort(key=float) - functionapp_runtime_to_version_texts.append(runtime + ' -> [' + ', '.join(runtime_versions_list) + ']') - with self.argument_context('webapp') as c: c.ignore('app_instance') c.argument('resource_group_name', arg_type=resource_group_name_type) @@ -51,9 +37,17 @@ def load_arguments(self, _): completer=get_resource_name_completion_list('Microsoft.Web/sites'), id_part='name', help="name of the web app. You can configure the default using `az configure --defaults web=`") + with self.argument_context('webapp update') as c: + c.argument('client_affinity_enabled', help="Enables sending session affinity cookies.", + arg_type=get_three_state_flag(return_label=True)) + c.argument('https_only', help="Redirect all traffic made to an app using HTTP to HTTPS.", + arg_type=get_three_state_flag(return_label=True)) + c.argument('minimum_elastic_instance_count', options_list=["--minimum-elastic-instance-count", "-i"], type=int, is_preview=True, help="Minimum number of instances. App must be in an elastic scale App Service Plan.") + c.argument('prewarmed_instance_count', options_list=["--prewarmed-instance-count", "-w"], type=int, is_preview=True, help="Number of preWarmed instances. App must be in an elastic scale App Service Plan.") + with self.argument_context('webapp create') as c: c.argument('name', options_list=['--name', '-n'], help='name of the new web app', validator=validate_site_create) - c.argument('custom_location', help="Name or ID of the custom location") + c.argument('custom_location', help="Name or ID of the custom location. Use an ID for a custom location in a different resource group from the app") c.argument('startup_file', help="Linux only. The web's startup file") c.argument('docker_registry_server_user', options_list=['--docker-registry-server-user', '-s'], help='the container registry server username') c.argument('docker_registry_server_password', options_list=['--docker-registry-server-password', '-w'], help='The container registry server password. Required for private registries.') @@ -93,15 +87,14 @@ def load_arguments(self, _): completer=get_resource_name_completion_list('Microsoft.Web/serverFarms'), help="name or resource id of the function app service plan. Use 'appservice plan create' to get one") c.argument('new_app_name', options_list=['--name', '-n'], help='name of the new function app') - c.argument('custom_location', help="Name or ID of the custom location") + c.argument('custom_location', help="Name or ID of the custom location. Use an ID for a custom location in a different resource group from the app") c.argument('storage_account', options_list=['--storage-account', '-s'], help='Provide a string value of a Storage Account in the provided Resource Group. Or Resource ID of a Storage Account in a different Resource Group') c.argument('consumption_plan_location', options_list=['--consumption-plan-location', '-c'], help="Geographic location where Function App will be hosted. Use `az functionapp list-consumption-locations` to view available locations.") - c.argument('functions_version', help='The functions app version.', arg_type=get_enum_type(FUNCTIONS_VERSIONS)) - c.argument('runtime', help='The functions runtime stack.', arg_type=get_enum_type(set(LINUX_RUNTIMES).union(set(WINDOWS_RUNTIMES)))) - c.argument('runtime_version', help='The version of the functions runtime stack. ' - 'Allowed values for each --runtime are: ' + ', '.join(functionapp_runtime_to_version_texts)) + c.argument('functions_version', help='The functions app version. Use "az functionapp list-runtimes" to check compatibility with runtimes and runtime versions', arg_type=get_enum_type(FUNCTIONS_VERSIONS)) + c.argument('runtime', help='The functions runtime stack. Use "az functionapp list-runtimes" to check supported runtimes and versions') + c.argument('runtime_version', help='The version of the functions runtime stack. Use "az functionapp list-runtimes" to check supported runtimes and versions') c.argument('os_type', arg_type=get_enum_type(OS_TYPES), help="Set the OS type for the app to be created.") c.argument('app_insights_key', help="Instrumentation key of App Insights to be added.") c.argument('app_insights', help="Name of the existing App Insights project to be added to the Function app. Must be in the same resource group.") @@ -134,6 +127,13 @@ def load_arguments(self, _): validator=validate_timeout_value) c.argument('is_kube', help='the app is a kubernetes app') + with self.argument_context(scope + ' config ssl bind') as c: + c.argument('ssl_type', help='The ssl cert type', arg_type=get_enum_type(['SNI', 'IP'])) + c.argument('certificate_thumbprint', help='The ssl cert thumbprint') + + with self.argument_context(scope + ' config ssl unbind') as c: + c.argument('certificate_thumbprint', help='The ssl cert thumbprint') + with self.argument_context('appservice') as c: c.argument('resource_group_name', arg_type=resource_group_name_type) c.argument('location', arg_type=get_location_type(self.cli_ctx)) @@ -151,9 +151,9 @@ def load_arguments(self, _): validator=validate_asp_create) c.argument('app_service_environment', options_list=['--app-service-environment', '-e'], help="Name or ID of the app service environment") - c.argument('custom_location', options_list=['--custom-location', '-c'], help="Name or ID of the custom location") + c.argument('custom_location', options_list=['--custom-location', '-c'], help="Name or ID of the custom location. Use an ID for a custom location in a different resource group from the plan") c.argument('sku', - help='The pricing tiers, e.g., F1(Free), D1(Shared), B1(Basic Small), B2(Basic Medium), B3(Basic Large), S1(Standard Small), P1V2(Premium V2 Small), PC2 (Premium Container Small), PC3 (Premium Container Medium), PC4 (Premium Container Large), I1 (Isolated Small), I2 (Isolated Medium), I3 (Isolated Large), K1 (Kubernetes)') + help='The pricing tiers, e.g., F1(Free), D1(Shared), B1(Basic Small), B2(Basic Medium), B3(Basic Large), S1(Standard Small), P1V2(Premium V2 Small), PC2 (Premium Container Small), PC3 (Premium Container Medium), PC4 (Premium Container Large), I1 (Isolated Small), I2 (Isolated Medium), I3 (Isolated Large), I1v2 (Isolated V2 Small), I2v2 (Isolated V2 Medium), I3v2(Isolated V2 Large) K1 (Kubernetes)') c.argument('is_linux', action='store_true', required=False, help='host web app on Linux worker') c.argument('hyper_v', action='store_true', required=False, help='Host web app on Windows container', is_preview=True) c.argument('per_site_scaling', action='store_true', required=False, help='Enable per-app scaling at the ' diff --git a/src/appservice-kube/azext_appservice_kube/azext_metadata.json b/src/appservice-kube/azext_appservice_kube/azext_metadata.json index 0ef8a520954..080a775ed67 100644 --- a/src/appservice-kube/azext_appservice_kube/azext_metadata.json +++ b/src/appservice-kube/azext_appservice_kube/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.26.0" + "azext.minCliCoreVersion": "2.34.1" } diff --git a/src/appservice-kube/azext_appservice_kube/commands.py b/src/appservice-kube/azext_appservice_kube/commands.py index cc5b065a754..52698b6dbbb 100644 --- a/src/appservice-kube/azext_appservice_kube/commands.py +++ b/src/appservice-kube/azext_appservice_kube/commands.py @@ -48,6 +48,8 @@ def load_command_table(self, _): client_factory=cf_plans ) + appservice_kube_custom = CliCommandType(operations_tmpl='azext_appservice_kube.custom#{}') + with self.command_group('appservice kube', is_preview=True) as g: g.custom_show_command('show', 'show_kube_environments') g.custom_wait_command('wait', 'show_kube_environments') @@ -70,12 +72,18 @@ def load_command_table(self, _): g.custom_show_command('show', 'show_webapp', table_transformer=transform_web_output) g.custom_command('scale', 'scale_webapp') g.custom_command('restart', 'restart_webapp') + g.generic_update_command('update', getter_name='get_webapp', setter_name='set_webapp', + custom_func_name='update_webapp', command_type=appservice_kube_custom) + + with self.command_group('webapp config ssl') as g: + g.custom_command('bind', 'bind_ssl_cert') + g.custom_command('unbind', 'unbind_ssl_cert') with self.command_group('webapp deployment source') as g: g.custom_command('config-zip', 'enable_zip_deploy_webapp') with self.command_group('functionapp') as g: - g.custom_command('create', 'create_function', exception_handler=ex_handler_factory()) + g.custom_command('create', 'create_functionapp', exception_handler=ex_handler_factory()) g.custom_show_command('show', 'show_webapp', table_transformer=transform_web_output) g.custom_command('restart', 'restart_webapp') diff --git a/src/appservice-kube/azext_appservice_kube/custom.py b/src/appservice-kube/azext_appservice_kube/custom.py index 41d9d165441..150210ee020 100644 --- a/src/appservice-kube/azext_appservice_kube/custom.py +++ b/src/appservice-kube/azext_appservice_kube/custom.py @@ -18,7 +18,6 @@ update_container_settings, _rename_server_farm_props, get_site_configs, - get_webapp, _get_site_credential, _format_fx_version, _get_extension_version_functionapp, @@ -37,13 +36,19 @@ _validate_and_get_connection_string, _get_linux_multicontainer_encoded_config_from_file, _StackRuntimeHelper, + _FunctionAppStackRuntimeHelper, upload_zip_to_storage, is_plan_consumption, _configure_default_logging, assign_identity, delete_app_settings, - update_app_settings) -from azure.cli.command_modules.appservice.utils import retryable_method + update_app_settings, + list_hostnames, + _convert_camel_to_snake_case, + _get_content_share_name, + get_app_service_plan_from_webapp) +from azure.cli.command_modules.appservice._constants import LINUX_OS_NAME, FUNCTIONS_NO_V2_REGIONS +from azure.cli.command_modules.appservice.utils import retryable_method, get_sku_tier from azure.cli.core.commands.client_factory import get_mgmt_service_client from azure.cli.core.commands import LongRunningOperation from azure.mgmt.applicationinsights import ApplicationInsightsManagementClient @@ -53,11 +58,8 @@ from msrestazure.tools import is_valid_resource_id, parse_resource_id -from ._constants import (FUNCTIONS_VERSION_TO_DEFAULT_RUNTIME_VERSION, FUNCTIONS_VERSION_TO_DEFAULT_NODE_VERSION, - FUNCTIONS_VERSION_TO_SUPPORTED_RUNTIME_VERSIONS, NODE_EXACT_VERSION_DEFAULT, - DOTNET_RUNTIME_VERSION_TO_DOTNET_LINUX_FX_VERSION, KUBE_DEFAULT_SKU, - KUBE_ASP_KIND, KUBE_APP_KIND, KUBE_FUNCTION_APP_KIND, KUBE_FUNCTION_CONTAINER_APP_KIND, - KUBE_CONTAINER_APP_KIND, LINUX_RUNTIMES, WINDOWS_RUNTIMES) +from ._constants import (KUBE_DEFAULT_SKU, KUBE_ASP_KIND, KUBE_APP_KIND, KUBE_FUNCTION_APP_KIND, + KUBE_FUNCTION_CONTAINER_APP_KIND, KUBE_CONTAINER_APP_KIND) from ._utils import (_normalize_sku, get_sku_name, _generic_site_operation, _get_location_from_resource_group, _validate_asp_sku) @@ -68,7 +70,7 @@ logger = get_logger(__name__) -# pylint: disable=too-many-locals,too-many-lines +# pylint: disable=too-many-locals,too-many-lines,consider-using-f-string # TODO remove and replace with calls to KubeEnvironmentsOperations once the SDK gets updated @@ -294,24 +296,14 @@ def restart(cls, cmd, resource_group_name, name, slot=None): send_raw_request(cmd.cli_ctx, "POST", request_url) -# rectify the format of the kube env json returned from API to comply with older version of `az appservice kube show` -def format_kube_environment_json(kube_info_raw): - kube_info = kube_info_raw["properties"] - if kube_info.get("aksResourceID"): - kube_info["aksResourceId"] = kube_info["aksResourceID"] - del kube_info["aksResourceID"] - - other_properties = ['id', 'kind', 'kubeEnvironmentType', 'location', 'name', - 'resourceGroup', 'tags', 'type', 'extendedLocation'] - for k in other_properties: - kube_info[k] = kube_info_raw.get(k) - - return kube_info +def _get_kube_client(cmd): + client = web_client_factory(cmd.cli_ctx, api_version="2021-01-01") + return client.kube_environments def show_kube_environments(cmd, name, resource_group_name): - return format_kube_environment_json(KubeEnvironmentClient.show(cmd=cmd, - name=name, resource_group_name=resource_group_name)) + client = _get_kube_client(cmd) + return client.get(name=name, resource_group_name=resource_group_name) def delete_kube_environment(cmd, name, resource_group_name): @@ -331,7 +323,7 @@ def create_kube_environment(cmd, name, resource_group_name, custom_location, sta if is_valid_resource_id(custom_location): parsed_custom_location = parse_resource_id(custom_location) if parsed_custom_location['resource_type'].lower() != 'customlocations': - raise CLIError('Invalid custom location') + raise ValidationError('Invalid custom location') custom_location_object = custom_location_client.custom_locations.get( parsed_custom_location['resource_group'], parsed_custom_location['name']) @@ -376,11 +368,10 @@ def create_kube_environment(cmd, name, resource_group_name, custom_location, sta def list_kube_environments(cmd, resource_group_name=None): + client = _get_kube_client(cmd) if resource_group_name is None: - return KubeEnvironmentClient.list_by_subscription(cmd, formatter=format_kube_environment_json) - return KubeEnvironmentClient.list_by_resource_group(cmd, - resource_group_name, - formatter=format_kube_environment_json) + return client.list_by_subscription() + return client.list_by_resource_group(resource_group_name) # TODO should be able to update staticIp and tags -- remove exception once API fixed @@ -435,6 +426,8 @@ def create_app_service_plan(cmd, resource_group_name, name, is_linux, hyper_v, p custom_location=None, app_service_environment=None, sku=None, number_of_workers=None, location=None, tags=None, no_wait=False): + custom_location = _get_custom_location_id(cmd, custom_location, resource_group_name) + if not sku: sku = 'B1' if not custom_location else KUBE_DEFAULT_SKU @@ -470,20 +463,19 @@ def _get_kube_env_from_custom_location(cmd, custom_location, resource_group): custom_location_name = parsed_custom_location.get("name") resource_group = parsed_custom_location.get("resource_group") - kube_envs = KubeEnvironmentClient.list_by_subscription(cmd=cmd) + client = _get_kube_client(cmd) + kube_envs = client.list_by_subscription() for kube in kube_envs: parsed_custom_location_2 = None - if kube.get("properties") and kube["properties"].get('extendedLocation'): - parsed_custom_location_2 = parse_resource_id(kube["properties"]['extendedLocation']['customLocation']) - elif kube.get("extendedLocation") and kube.get("extendedLocation").get("type") == "CustomLocation": - parsed_custom_location_2 = parse_resource_id(kube["extendedLocation"]["name"]) + if kube.extended_location and kube.extended_location.type == "CustomLocation": + parsed_custom_location_2 = parse_resource_id(kube.extended_location.name) - if parsed_custom_location_2 and ( - parsed_custom_location_2.get("name").lower() == custom_location_name.lower()) and ( - parsed_custom_location_2.get("resource_group").lower() == resource_group.lower()): - kube_environment_id = kube.get("id") + matched_name = parsed_custom_location_2["name"].lower() == custom_location_name.lower() + matched_rg = parsed_custom_location_2.get("resource_group").lower() == resource_group.lower() + if matched_name and matched_rg: + kube_environment_id = kube.id break if not kube_environment_id: @@ -519,23 +511,26 @@ def _get_custom_location_id_from_kube_env(kube): return kube["properties"]['extendedLocation'].get('customLocation') if kube.get("extendedLocation") and kube["extendedLocation"].get("type") == "CustomLocation": return kube["extendedLocation"]["name"] - raise CLIError("Could not get custom location from kube environment") + raise ResourceNotFoundError("Could not get custom location from kube environment") def _ensure_kube_settings_in_json(appservice_plan_json, extended_location=None, kube_env=None): if appservice_plan_json.get("properties") and (appservice_plan_json["properties"].get("kubeEnvironmentProfile") is None and kube_env is not None): - appservice_plan_json["properties"]["kubeEnvironmentProfile"] = kube_env + appservice_plan_json["properties"]["kubeEnvironmentProfile"] = kube_env.serialize() if appservice_plan_json.get("extendedLocation") is None and extended_location is not None: - appservice_plan_json["extendedLocation"] = extended_location + appservice_plan_json["extendedLocation"] = extended_location.serialize() + + appservice_plan_json['type'] = 'Microsoft.Web/serverfarms' + if appservice_plan_json.get("extendedLocation") is not None: + appservice_plan_json["extendedLocation"]["type"] = "CustomLocation" def create_app_service_plan_inner(cmd, resource_group_name, name, is_linux, hyper_v, per_site_scaling=False, custom_location=None, app_service_environment=None, sku=None, number_of_workers=None, location=None, tags=None, no_wait=False): - HostingEnvironmentProfile, SkuDescription, AppServicePlan = cmd.get_models( - 'HostingEnvironmentProfile', 'SkuDescription', 'AppServicePlan') + HostingEnvironmentProfile, SkuDescription, AppServicePlan, ExtendedLocation, KubeEnvironmentProfile = cmd.get_models('HostingEnvironmentProfile', 'SkuDescription', 'AppServicePlan', 'ExtendedLocation', 'KubeEnvironmentProfile') # pylint: disable=line-too-long sku = _normalize_sku(sku) _validate_asp_sku(app_service_environment, custom_location, sku) @@ -564,28 +559,27 @@ def create_app_service_plan_inner(cmd, resource_group_name, name, is_linux, hype ase_found = True break if not ase_found: - raise CLIError("App service environment '{}' not found in subscription.".format(ase_id)) + raise ResourceNotFoundError("App service environment '{}' not found in subscription.".format(ase_id)) else: # Non-ASE ase_def = None extended_location_envelope = None if kube_environment and (ase_def is None): kube_id = _resolve_kube_environment_id(cmd.cli_ctx, kube_environment, resource_group_name) - # kube_def = KubeEnvironmentProfile(id=kube_id) - kube_def = {"id": kube_id} + kube_def = KubeEnvironmentProfile(id=kube_id) kind = KUBE_ASP_KIND parsed_id = parse_resource_id(kube_id) kube_name = parsed_id.get("name") kube_rg = parsed_id.get("resource_group") if kube_name is not None and kube_rg is not None: kube_env = KubeEnvironmentClient.show(cmd=cmd, resource_group_name=kube_rg, name=kube_name) - extended_location_envelope = {"name": _get_custom_location_id_from_kube_env(kube_env), - "type": "CustomLocation"} + extended_location_envelope = ExtendedLocation(name=_get_custom_location_id_from_kube_env(kube_env), + type="CustomLocation") if kube_env is not None: location = kube_env["location"] else: - raise CLIError("Kube Environment '{}' not found in subscription.".format(kube_id)) + raise ResourceNotFoundError("Kube Environment '{}' not found in subscription.".format(kube_id)) else: kube_def = None @@ -670,6 +664,22 @@ def _is_webapp_kube(custom_location, plan_info, SkuDescription): isinstance(plan_info.sku, SkuDescription) and plan_info.sku.name.upper() == KUBE_DEFAULT_SKU) +def _get_custom_location_id(cmd, custom_location, resource_group_name): + from msrestazure.tools import resource_id + + if custom_location is None: + return None + if is_valid_resource_id(custom_location): + return custom_location + + return resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=resource_group_name, + namespace='microsoft.extendedlocation', + type='customlocations', + name=custom_location) + + def create_webapp(cmd, resource_group_name, name, plan=None, runtime=None, custom_location=None, startup_file=None, # pylint: disable=too-many-statements,too-many-branches deployment_container_image_name=None, deployment_source_url=None, deployment_source_branch='master', deployment_local_git=None, docker_registry_server_password=None, docker_registry_server_user=None, @@ -681,6 +691,8 @@ def create_webapp(cmd, resource_group_name, name, plan=None, runtime=None, custo if deployment_source_url and deployment_local_git: raise CLIError('usage error: --deployment-source-url | --deployment-local-git') + custom_location = _get_custom_location_id(cmd, custom_location, resource_group_name) + if not plan and not custom_location: raise RequiredArgumentMissingError("Either Plan or Custom Location must be specified") @@ -744,7 +756,6 @@ def create_webapp(cmd, resource_group_name, name, plan=None, runtime=None, custo _validate_asp_sku(app_service_environment=None, custom_location=custom_location, sku=plan_info.sku.name) is_linux = plan_info.reserved - node_default_version = NODE_EXACT_VERSION_DEFAULT location = plan_info.location if isinstance(plan_info.sku, SkuDescription) and plan_info.sku.name.upper() not in ['F1', 'FREE', 'SHARED', 'D1', @@ -788,7 +799,7 @@ def create_webapp(cmd, resource_group_name, name, plan=None, runtime=None, custo site_config.app_settings.append(NameValuePair(name='DOCKER_REGISTRY_SERVER_PASSWORD', value=docker_registry_server_password)) - helper = _StackRuntimeHelper(cmd, client, linux=(is_linux or is_kube)) + helper = _StackRuntimeHelper(cmd, linux=bool(is_linux or is_kube), windows=not bool(is_linux or is_kube)) if runtime: runtime = helper.remove_delimiters(runtime) @@ -803,11 +814,11 @@ def create_webapp(cmd, resource_group_name, name, plan=None, runtime=None, custo if runtime: site_config.linux_fx_version = runtime - match = helper.resolve(runtime) + match = helper.resolve(runtime, linux=True) if not match: raise CLIError("Linux Runtime '{}' is not supported." "Please invoke 'list-runtimes' to cross check".format(runtime)) - match['setter'](cmd=cmd, stack=match, site_config=site_config) + helper.get_site_config_setter(match, linux=True)(cmd=cmd, stack=match, site_config=site_config) elif deployment_container_image_name: site_config.linux_fx_version = _format_fx_version(deployment_container_image_name) if name_validation.name_available: @@ -834,17 +845,18 @@ def create_webapp(cmd, resource_group_name, name, plan=None, runtime=None, custo raise CLIError("usage error: --startup-file or --deployment-container-image-name or " "--multicontainer-config-type and --multicontainer-config-file is " "only appliable on linux webapp") - match = helper.resolve(runtime) + match = helper.resolve(runtime, linux=False) if not match: raise CLIError("Windows runtime '{}' is not supported. " "Please invoke 'az webapp list-runtimes' to cross check".format(runtime)) - match['setter'](cmd=cmd, stack=match, site_config=site_config) + helper.get_site_config_setter(match, linux=is_linux)(cmd=cmd, stack=match, site_config=site_config) # portal uses the current_stack propety in metadata to display stack for windows apps current_stack = get_current_stack_from_runtime(runtime) else: # windows webapp without runtime specified if name_validation.name_available: # If creating new webapp + node_default_version = helper.get_default_version("node", is_linux, get_windows_config_version=True) site_config.app_settings.append(NameValuePair(name="WEBSITE_NODE_DEFAULT_VERSION", value=node_default_version)) @@ -889,6 +901,74 @@ def create_webapp(cmd, resource_group_name, name, plan=None, runtime=None, custo return webapp +def update_webapp(cmd, instance, client_affinity_enabled=None, https_only=None, minimum_elastic_instance_count=None, + prewarmed_instance_count=None): + if 'function' in instance.kind: + raise ValidationError("please use 'az functionapp update' to update this function app") + if minimum_elastic_instance_count or prewarmed_instance_count: + args = ["--minimum-elastic-instance-count", "--prewarmed-instance-count"] + plan = get_app_service_plan_from_webapp(cmd, instance) + sku = _normalize_sku(plan.sku.name) + if get_sku_tier(sku) not in ["PREMIUMV2", "PREMIUMV3"]: + raise ValidationError("{} are only supported for elastic premium V2/V3 SKUs".format(str(args))) + if not plan.elastic_scale_enabled: + raise ValidationError("Elastic scale is not enabled on the App Service Plan. Please update the plan ") + if (minimum_elastic_instance_count or 0) > plan.maximum_elastic_worker_count: + raise ValidationError("--minimum-elastic-instance-count: Minimum elastic instance count is greater than " + "the app service plan's maximum Elastic worker count. " + "Please choose a lower count or update the plan's maximum ") + if (prewarmed_instance_count or 0) > plan.maximum_elastic_worker_count: + raise ValidationError("--prewarmed-instance-count: Prewarmed instance count is greater than " + "the app service plan's maximum Elastic worker count. " + "Please choose a lower count or update the plan's maximum ") + from azure.mgmt.web.models import SkuDescription + + if client_affinity_enabled is not None: + instance.client_affinity_enabled = client_affinity_enabled == 'true' + if https_only is not None: + instance.https_only = https_only == 'true' + + if minimum_elastic_instance_count is not None: + from azure.mgmt.web.models import SiteConfig + # Need to create a new SiteConfig object to ensure that the new property is included in request body + conf = SiteConfig(**instance.site_config.as_dict()) + conf.minimum_elastic_instance_count = minimum_elastic_instance_count + instance.site_config = conf + + if prewarmed_instance_count is not None: + instance.site_config.pre_warmed_instance_count = prewarmed_instance_count + + client = web_client_factory(cmd.cli_ctx) + plan_parsed = parse_resource_id(instance.server_farm_id) + plan_info = client.app_service_plans.get(plan_parsed['resource_group'], plan_parsed['name']) + + is_kube = _is_webapp_kube(instance.extended_location, plan_info, SkuDescription) + has_custom_location_id = instance.extended_location and is_valid_resource_id(instance.extended_location.name) + if is_kube and has_custom_location_id: + custom_location_id = instance.extended_location.name + instance.enable_additional_properties_sending() + extended_loc = {'name': custom_location_id, 'type': 'CustomLocation'} + instance.additional_properties["extendedLocation"] = extended_loc + + return instance + + +# for generic updater +def get_webapp(cmd, resource_group_name, name, slot=None): + return _generic_site_operation(cmd.cli_ctx, resource_group_name, name, 'get', slot) + + +def set_webapp(cmd, resource_group_name, name, slot=None, **kwargs): # pylint: disable=unused-argument + instance = kwargs['parameters'] + client = web_client_factory(cmd.cli_ctx) + updater = client.web_apps.begin_create_or_update_slot if slot else client.web_apps.begin_create_or_update + kwargs = dict(resource_group_name=resource_group_name, name=name, site_envelope=instance) + if slot: + kwargs['slot'] = slot + + return updater(**kwargs) + + def scale_webapp(cmd, resource_group_name, name, instance_count, slot=None): return update_site_configs(cmd, resource_group_name, name, number_of_workers=instance_count, slot=slot) @@ -916,38 +996,42 @@ def _is_function_kube(custom_location, plan_info, SkuDescription): isinstance(plan_info.sku, SkuDescription) and plan_info.sku.name.upper() == KUBE_DEFAULT_SKU)) -def create_function(cmd, resource_group_name, name, storage_account, plan=None, custom_location=None, - os_type=None, functions_version=None, runtime=None, runtime_version=None, - consumption_plan_location=None, app_insights=None, app_insights_key=None, - disable_app_insights=None, deployment_source_url=None, - deployment_source_branch='master', deployment_local_git=None, - docker_registry_server_password=None, docker_registry_server_user=None, - deployment_container_image_name=None, tags=None, - min_worker_count=None, max_worker_count=None): +def create_functionapp(cmd, resource_group_name, name, storage_account, plan=None, + os_type=None, functions_version=None, runtime=None, runtime_version=None, + consumption_plan_location=None, app_insights=None, app_insights_key=None, + disable_app_insights=None, deployment_source_url=None, + deployment_source_branch='master', deployment_local_git=None, + docker_registry_server_password=None, docker_registry_server_user=None, + deployment_container_image_name=None, tags=None, assign_identities=None, + role='Contributor', scope=None, + custom_location=None, min_worker_count=None, max_worker_count=None): # pylint: disable=too-many-statements, too-many-branches - SkuDescription = cmd.get_models('SkuDescription') if functions_version is None: - logger.warning("No functions version specified so defaulting to 2. In the future, specifying a version will " - "be required. To create a 2.x function you would pass in the flag `--functions-version 2`") - functions_version = '2' - if deployment_source_url and deployment_local_git: - raise CLIError('usage error: --deployment-source-url | --deployment-local-git') + logger.warning("No functions version specified so defaulting to 3. In the future, specifying a version will " + "be required. To create a 3.x function you would pass in the flag `--functions-version 3`") + functions_version = '3' + if deployment_source_url and deployment_local_git: + raise MutuallyExclusiveArgumentError('usage error: --deployment-source-url | --deployment-local-git') if not plan and not consumption_plan_location and not custom_location: raise RequiredArgumentMissingError("Either Plan, Consumption Plan or Custom Location must be specified") - if consumption_plan_location and custom_location: raise MutuallyExclusiveArgumentError("Consumption Plan and Custom Location cannot be used together") - if consumption_plan_location and plan: raise MutuallyExclusiveArgumentError("Consumption Plan and Plan cannot be used together") - SiteConfig, Site, NameValuePair = cmd.get_models('SiteConfig', 'Site', 'NameValuePair') + from azure.mgmt.web.models import Site + SiteConfig, NameValuePair, SkuDescription = cmd.get_models('SiteConfig', 'NameValuePair', 'SkuDescription') docker_registry_server_url = parse_docker_image_name(deployment_container_image_name) + disable_app_insights = (disable_app_insights == "true") + + custom_location = _get_custom_location_id(cmd, custom_location, resource_group_name) site_config = SiteConfig(app_settings=[]) - functionapp_def = Site(location=None, site_config=site_config, tags=tags) client = web_client_factory(cmd.cli_ctx) + + functionapp_def = Site(location=None, site_config=site_config, tags=tags) + plan_info = None if runtime is not None: runtime = runtime.lower() @@ -956,11 +1040,11 @@ def create_function(cmd, resource_group_name, name, storage_account, plan=None, locations = list_consumption_locations(cmd) location = next((loc for loc in locations if loc['name'].lower() == consumption_plan_location.lower()), None) if location is None: - raise CLIError("Location is invalid. Use: az functionapp list-consumption-locations") + raise ValidationError("Location is invalid. Use: az functionapp list-consumption-locations") functionapp_def.location = consumption_plan_location functionapp_def.kind = 'functionapp' # if os_type is None, the os type is windows - is_linux = os_type and os_type.lower() == 'linux' + is_linux = bool(os_type and os_type.lower() == LINUX_OS_NAME) else: # apps with SKU based plan _should_create_new_plan = _should_create_new_appservice_plan_for_k8se(cmd, @@ -972,7 +1056,6 @@ def create_function(cmd, resource_group_name, name, storage_account, plan=None, create_app_service_plan(cmd=cmd, resource_group_name=resource_group_name, name=plan, is_linux=True, hyper_v=False, custom_location=custom_location, per_site_scaling=True, number_of_workers=1) - if custom_location and plan: if not _validate_asp_and_custom_location_kube_envs_match(cmd, resource_group_name, custom_location, plan): raise ValidationError("Custom location's kube environment " @@ -988,14 +1071,30 @@ def create_function(cmd, resource_group_name, name, storage_account, plan=None, else: plan_info = client.app_service_plans.get(resource_group_name, plan) if not plan_info: - raise CLIError("The plan '{}' doesn't exist".format(plan)) + raise ResourceNotFoundError("The plan '{}' doesn't exist".format(plan)) + location = plan_info.location - is_linux = plan_info.reserved - functionapp_def.server_farm_id = plan_info.id + is_linux = bool(plan_info.reserved) + functionapp_def.server_farm_id = plan functionapp_def.location = location + if functions_version == '2' and functionapp_def.location in FUNCTIONS_NO_V2_REGIONS: + raise ValidationError("2.x functions are not supported in this region. To create a 3.x function, " + "pass in the flag '--functions-version 3'") + + if is_linux and not runtime and (consumption_plan_location or not deployment_container_image_name): + raise ArgumentUsageError( + "usage error: --runtime RUNTIME required for linux functions apps without custom image.") + + if runtime is None and runtime_version is not None: + raise ArgumentUsageError('Must specify --runtime to use --runtime-version') + is_kube = _is_function_kube(custom_location, plan_info, SkuDescription) + runtime_helper = _FunctionAppStackRuntimeHelper(cmd, linux=is_linux, windows=(not is_linux)) + matched_runtime = runtime_helper.resolve("dotnet" if not runtime else runtime, + runtime_version, functions_version, is_linux) + if is_kube: if min_worker_count is not None: site_config.number_of_workers = min_worker_count @@ -1003,35 +1102,8 @@ def create_function(cmd, resource_group_name, name, storage_account, plan=None, if max_worker_count is not None: site_config.app_settings.append(NameValuePair(name='K8SE_APP_MAX_INSTANCE_COUNT', value=max_worker_count)) - if is_linux and not runtime and (consumption_plan_location or not deployment_container_image_name): - raise CLIError( - "usage error: --runtime RUNTIME required for linux functions apps without custom image.") - - if runtime: - if is_linux and runtime not in LINUX_RUNTIMES: - raise CLIError("usage error: Currently supported runtimes (--runtime) in linux function apps are: {}." - .format(', '.join(LINUX_RUNTIMES))) - if not is_linux and runtime not in WINDOWS_RUNTIMES: - raise CLIError("usage error: Currently supported runtimes (--runtime) in windows function apps are: {}." - .format(', '.join(WINDOWS_RUNTIMES))) - site_config.app_settings.append(NameValuePair(name='FUNCTIONS_WORKER_RUNTIME', value=runtime)) - - if runtime_version is not None: - if runtime is None: - raise CLIError('Must specify --runtime to use --runtime-version') - allowed_versions = FUNCTIONS_VERSION_TO_SUPPORTED_RUNTIME_VERSIONS[functions_version][runtime] - if runtime_version not in allowed_versions: - if runtime == 'dotnet': - raise CLIError('--runtime-version is not supported for --runtime dotnet. Dotnet version is determined ' - 'by --functions-version. Dotnet version {} is not supported by Functions version {}.' - .format(runtime_version, functions_version)) - raise CLIError('--runtime-version {} is not supported for the selected --runtime {} and ' - '--functions-version {}. Supported versions are: {}.' - .format(runtime_version, runtime, functions_version, ', '.join(allowed_versions))) - if runtime == 'dotnet': - logger.warning('--runtime-version is not supported for --runtime dotnet. Dotnet version is determined by ' - '--functions-version. Dotnet version will be %s for this function app.', - FUNCTIONS_VERSION_TO_DEFAULT_RUNTIME_VERSION[functions_version][runtime]) + site_config_dict = matched_runtime.site_config_dict + app_settings_dict = matched_runtime.app_settings_dict con_string = _validate_and_get_connection_string(cmd.cli_ctx, resource_group_name, storage_account) @@ -1083,39 +1155,45 @@ def create_function(cmd, resource_group_name, name, storage_account, plan=None, site_config.app_settings.append(NameValuePair(name='WEBSITES_ENABLE_APP_SERVICE_STORAGE', value='false')) site_config.linux_fx_version = _format_fx_version(deployment_container_image_name) + + # clear all runtime specific configs and settings + site_config_dict.use32_bit_worker_process = False + app_settings_dict = {} + + # ensure that app insights is created if not disabled + matched_runtime.app_insights = True else: site_config.app_settings.append(NameValuePair(name='WEBSITES_ENABLE_APP_SERVICE_STORAGE', value='true')) - if runtime not in FUNCTIONS_VERSION_TO_SUPPORTED_RUNTIME_VERSIONS[functions_version]: - raise CLIError("An appropriate linux image for runtime:'{}', " - "functions_version: '{}' was not found".format(runtime, functions_version)) - if deployment_container_image_name is None: - site_config.linux_fx_version = _get_linux_fx_functionapp(functions_version, runtime, runtime_version) else: functionapp_def.kind = 'functionapp' - if runtime == "java": - site_config.java_version = _get_java_version_functionapp(functions_version, runtime_version) - # adding appsetting to site to make it a function + # set site configs + for prop, value in site_config_dict.as_dict().items(): + snake_case_prop = _convert_camel_to_snake_case(prop) + setattr(site_config, snake_case_prop, value) + + # temporary workaround for dotnet-isolated linux consumption apps + if is_linux and consumption_plan_location is not None and runtime == 'dotnet-isolated': + site_config.linux_fx_version = '' + + # adding app settings + for app_setting, value in app_settings_dict.items(): + site_config.app_settings.append(NameValuePair(name=app_setting, value=value)) + site_config.app_settings.append(NameValuePair(name='FUNCTIONS_EXTENSION_VERSION', value=_get_extension_version_functionapp(functions_version))) site_config.app_settings.append(NameValuePair(name='AzureWebJobsStorage', value=con_string)) - site_config.app_settings.append(NameValuePair(name='AzureWebJobsDashboard', value=con_string)) - site_config.app_settings.append(NameValuePair(name='WEBSITE_NODE_DEFAULT_VERSION', - value=_get_website_node_version_functionapp(functions_version, - runtime, - runtime_version))) # If plan is not consumption or elastic premium, we need to set always on if consumption_plan_location is None and not is_plan_elastic_premium(cmd, plan_info): site_config.always_on = True - # If plan is elastic premium or windows consumption, we need these app settings - is_windows_consumption = consumption_plan_location is not None and not is_linux - if is_plan_elastic_premium(cmd, plan_info) or is_windows_consumption: + # If plan is elastic premium or consumption, we need these app settings + if is_plan_elastic_premium(cmd, plan_info) or consumption_plan_location is not None: site_config.app_settings.append(NameValuePair(name='WEBSITE_CONTENTAZUREFILECONNECTIONSTRING', value=con_string)) - site_config.app_settings.append(NameValuePair(name='WEBSITE_CONTENTSHARE', value=name.lower())) + site_config.app_settings.append(NameValuePair(name='WEBSITE_CONTENTSHARE', value=_get_content_share_name(name))) create_app_insights = False @@ -1126,7 +1204,10 @@ def create_function(cmd, resource_group_name, name, storage_account, plan=None, instrumentation_key = get_app_insights_key(cmd.cli_ctx, resource_group_name, app_insights) site_config.app_settings.append(NameValuePair(name='APPINSIGHTS_INSTRUMENTATIONKEY', value=instrumentation_key)) - elif not disable_app_insights: + elif disable_app_insights or not matched_runtime.app_insights: + # set up dashboard if no app insights + site_config.app_settings.append(NameValuePair(name='AzureWebJobsDashboard', value=con_string)) + elif not disable_app_insights and matched_runtime.app_insights: create_app_insights = True poller = client.web_apps.begin_create_or_update(resource_group_name, name, functionapp_def) @@ -1146,12 +1227,19 @@ def create_function(cmd, resource_group_name, name, storage_account, plan=None, except Exception: # pylint: disable=broad-except logger.warning('Error while trying to create and configure an Application Insights for the Function App. ' 'Please use the Azure Portal to create and configure the Application Insights, if needed.') + update_app_settings(cmd, functionapp.resource_group, functionapp.name, + ['AzureWebJobsDashboard={}'.format(con_string)]) if deployment_container_image_name: update_container_settings_functionapp(cmd, resource_group_name, name, docker_registry_server_url, deployment_container_image_name, docker_registry_server_user, docker_registry_server_password) + if assign_identities is not None: + identity = assign_identity(cmd, resource_group_name, name, assign_identities, + role, None, scope) + functionapp.identity = identity + return functionapp @@ -1340,38 +1428,12 @@ def _resolve_kube_environment_id(cli_ctx, kube_environment, resource_group_name) name=kube_environment) -def _get_linux_fx_functionapp(functions_version, runtime, runtime_version): - if runtime_version is None: - runtime_version = FUNCTIONS_VERSION_TO_DEFAULT_RUNTIME_VERSION[functions_version][runtime] - if runtime == 'dotnet': - runtime_version = DOTNET_RUNTIME_VERSION_TO_DOTNET_LINUX_FX_VERSION[runtime_version] - else: - runtime = runtime.upper() - return '{}|{}'.format(runtime, runtime_version) - - def _get_linux_fx_kube_functionapp(runtime, runtime_version): if runtime.upper() == "DOTNET": runtime = "DOTNETCORE" return '{}|{}'.format(runtime.upper(), runtime_version) -def _get_website_node_version_functionapp(functions_version, runtime, runtime_version): - if runtime is None or runtime != 'node': - return FUNCTIONS_VERSION_TO_DEFAULT_NODE_VERSION[functions_version] - if runtime_version is not None: - return '~{}'.format(runtime_version) - return FUNCTIONS_VERSION_TO_DEFAULT_NODE_VERSION[functions_version] - - -def _get_java_version_functionapp(functions_version, runtime_version): - if runtime_version is None: - runtime_version = FUNCTIONS_VERSION_TO_DEFAULT_RUNTIME_VERSION[functions_version]['java'] - if runtime_version == '8': - return '1.8' - return runtime_version - - def _set_remote_or_local_git(cmd, webapp, resource_group_name, name, deployment_source_url=None, deployment_source_branch='master', deployment_local_git=None): if deployment_source_url: @@ -1389,17 +1451,6 @@ def _set_remote_or_local_git(cmd, webapp, resource_group_name, name, deployment_ setattr(webapp, 'deploymentLocalGitUrl', local_git_info['url']) -def _add_fx_version(cmd, resource_group_name, name, custom_image_name, slot=None): - fx_version = _format_fx_version(custom_image_name) - web_app = get_webapp(cmd, resource_group_name, name, slot) - if not web_app: - raise CLIError("'{}' app doesn't exist in resource group {}".format(name, resource_group_name)) - linux_fx = fx_version if (web_app.reserved or not web_app.is_xenon) else None - windows_fx = fx_version if web_app.is_xenon else None - return update_site_configs(cmd, resource_group_name, name, - linux_fx_version=linux_fx, windows_fx_version=windows_fx, slot=slot) - - @retryable_method(3, 5) def _get_app_settings_from_scm(cmd, resource_group_name, name, slot=None): scm_url = _get_scm_url(cmd, resource_group_name, name, slot) @@ -1535,8 +1586,8 @@ def enable_zip_deploy_functionapp(cmd, resource_group_name, name, src, build_rem client = web_client_factory(cmd.cli_ctx) app = client.web_apps.get(resource_group_name, name) if app is None: - raise CLIError('The function app \'{}\' was not found in resource group \'{}\'. ' - 'Please make sure these values are correct.'.format(name, resource_group_name)) + raise ResourceNotFoundError('The function app \'{}\' was not found in resource group \'{}\'. ' + 'Please make sure these values are correct.'.format(name, resource_group_name)) parse_plan_id = parse_resource_id(app.server_farm_id) plan_info = None retry_delay = 10 # seconds @@ -1550,7 +1601,7 @@ def enable_zip_deploy_functionapp(cmd, resource_group_name, name, src, build_rem time.sleep(retry_delay) if build_remote and not app.reserved: - raise CLIError('Remote build is only available on Linux function apps') + raise ValidationError('Remote build is only available on Linux function apps') is_consumption = is_plan_consumption(cmd, plan_info) if (not build_remote) and is_consumption and app.reserved: @@ -1675,3 +1726,103 @@ def _fill_ftp_publishing_url(cmd, webapp, resource_group_name, name, slot=None): pass return webapp + + +def _update_host_name_ssl_state(cmd, resource_group_name, webapp_name, webapp, + host_name, ssl_state, thumbprint, slot=None): + from azure.mgmt.web.models import HostNameSslState + + webapp.host_name_ssl_states = [HostNameSslState(name=host_name, + ssl_state=ssl_state, + thumbprint=thumbprint, + to_update=True)] + + webapp_dict = webapp.serialize() + + if webapp.extended_location is not None: + webapp_dict["extendedLocation"]["type"] = "customLocation" + + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = "2020-12-01" + sub_id = get_subscription_id(cmd.cli_ctx) + if slot is None: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Web/sites/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + webapp_name, + api_version) + else: + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Web/sites/{}/slots/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group_name, + webapp_name, + slot, + api_version) + + return send_raw_request(cmd.cli_ctx, "PUT", request_url, body=json.dumps(webapp_dict)) + + +def _match_host_names_from_cert(hostnames_from_cert, hostnames_in_webapp): + # the goal is to match '*.foo.com' with host name like 'admin.foo.com', 'logs.foo.com', etc + matched = set() + for hostname in hostnames_from_cert: + if hostname.startswith('*'): + for h in hostnames_in_webapp: + if hostname[hostname.find('.'):] == h[h.find('.'):]: + matched.add(h) + elif hostname in hostnames_in_webapp: + matched.add(hostname) + return matched + + +def _update_ssl_binding(cmd, resource_group_name, name, certificate_thumbprint, ssl_type, slot=None): + client = web_client_factory(cmd.cli_ctx, api_version="2021-01-01") + webapp = client.web_apps.get(resource_group_name, name) + if not webapp: + raise ResourceNotFoundError("'{}' app doesn't exist".format(name)) + + cert_resource_group_name = parse_resource_id(webapp.server_farm_id)['resource_group'] + webapp_certs = client.certificates.list_by_resource_group(cert_resource_group_name) + + found_cert = None + for webapp_cert in webapp_certs: + if webapp_cert.thumbprint == certificate_thumbprint: + found_cert = webapp_cert + if not found_cert: + webapp_certs = client.certificates.list_by_resource_group(resource_group_name) + for webapp_cert in webapp_certs: + if webapp_cert.thumbprint == certificate_thumbprint: + found_cert = webapp_cert + if found_cert: + if len(found_cert.host_names) == 1 and not found_cert.host_names[0].startswith('*'): + _update_host_name_ssl_state(cmd, resource_group_name, name, webapp, + found_cert.host_names[0], ssl_type, + certificate_thumbprint, slot) + return show_webapp(cmd, resource_group_name, name, slot) + + query_result = list_hostnames(cmd, resource_group_name, name, slot) + hostnames_in_webapp = [x.name.split('/')[-1] for x in query_result] + to_update = _match_host_names_from_cert(found_cert.host_names, hostnames_in_webapp) + for h in to_update: + _update_host_name_ssl_state(cmd, resource_group_name, name, webapp, + h, ssl_type, certificate_thumbprint, slot) + + return show_webapp(cmd, resource_group_name, name, slot) + + raise ResourceNotFoundError("Certificate for thumbprint '{}' not found.".format(certificate_thumbprint)) + + +def bind_ssl_cert(cmd, resource_group_name, name, certificate_thumbprint, ssl_type, slot=None): + SslState = cmd.get_models('SslState') + return _update_ssl_binding(cmd, resource_group_name, name, certificate_thumbprint, + SslState.sni_enabled if ssl_type == 'SNI' else SslState.ip_based_enabled, slot) + + +def unbind_ssl_cert(cmd, resource_group_name, name, certificate_thumbprint, slot=None): + SslState = cmd.get_models('SslState') + return _update_ssl_binding(cmd, resource_group_name, name, + certificate_thumbprint, SslState.disabled, slot) diff --git a/src/appservice-kube/azext_appservice_kube/resources/LinuxFunctionsStacks.json b/src/appservice-kube/azext_appservice_kube/resources/LinuxFunctionsStacks.json new file mode 100644 index 00000000000..3876f31fe25 --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/resources/LinuxFunctionsStacks.json @@ -0,0 +1,432 @@ +{ + "value": [ + { + "id": null, + "name": "dotnet-isolated", + "type": "Microsoft.Web/availableStacks?osTypeSelected=LinuxFunctions", + "properties": { + "name": "dotnet-isolated", + "display": ".NET Core Isolated", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "6.0", + "runtimeVersion": "6.0", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "dotnet-isolated|6.0" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "5.0", + "runtimeVersion": "5.0", + "supportedFunctionsExtensionVersions": [ + "~3" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "dotnet-isolated|5.0" + }, + "isPreview": true, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "dotnet", + "type": "Microsoft.Web/availableStacks?osTypeSelected=LinuxFunctions", + "properties": { + "name": "dotnet", + "display": ".NET Core", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "6", + "runtimeVersion": "dotnet|6", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "DOTNET|6.0" + }, + "isPreview": true, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "3.1", + "runtimeVersion": "dotnet|3.1", + "supportedFunctionsExtensionVersions": [ + "~3" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "dotnet|3.1" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "2.2", + "runtimeVersion": "dotnet|2.2", + "supportedFunctionsExtensionVersions": [ + "~2" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "dotnet|2.2" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "node", + "type": "Microsoft.Web/availableStacks?osTypeSelected=LinuxFunctions", + "properties": { + "name": "node", + "display": "Node.js", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "16", + "runtimeVersion": "Node|16", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "node" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "Node|16" + }, + "isPreview": true, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "14", + "runtimeVersion": "Node|14", + "supportedFunctionsExtensionVersions": [ + "~3", + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "node" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "Node|14" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "12", + "runtimeVersion": "Node|12", + "supportedFunctionsExtensionVersions": [ + "~3" + ], + "isDefault": false, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "node" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "Node|12" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "python", + "type": "Microsoft.Web/availableStacks?osTypeSelected=LinuxFunctions", + "properties": { + "name": "python", + "display": "Python", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "3.7", + "runtimeVersion": "Python|3.7", + "supportedFunctionsExtensionVersions": [ + "~2", + "~3", + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "python" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "Python|3.7" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "3.8", + "runtimeVersion": "Python|3.8", + "supportedFunctionsExtensionVersions": [ + "~3", + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "python" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "Python|3.8" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "3.9", + "runtimeVersion": "Python|3.9", + "supportedFunctionsExtensionVersions": [ + "~3", + "~4" + ], + "isDefault": false, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "python" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "Python|3.9" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "powershell", + "type": "Microsoft.Web/availableStacks?osTypeSelected=LinuxFunctions", + "properties": { + "name": "powershell", + "display": "PowerShell Core", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "7.0", + "runtimeVersion": "PowerShell|7", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "powershell" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "PowerShell|7" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "7.2", + "runtimeVersion": "PowerShell|7.2", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "powershell" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "PowerShell|7.2" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": true + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "custom", + "type": "Microsoft.Web/availableStacks?osTypeSelected=LinuxFunctions", + "properties": { + "name": "custom", + "display": "Custom", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "Custom Handler", + "runtimeVersion": "", + "supportedFunctionsExtensionVersions": [ + "~2", + "~3" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "custom" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "java", + "type": "Microsoft.Web/availableStacks?osTypeSelected=LinuxFunctions", + "properties": { + "name": "java", + "display": "Java", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "8", + "runtimeVersion": "Java|8", + "supportedFunctionsExtensionVersions": [ + "~3", + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "java" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "Java|8" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "11", + "runtimeVersion": "Java|11", + "supportedFunctionsExtensionVersions": [ + "~3", + "~4" + ], + "isDefault": false, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "java" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": false, + "linuxFxVersion": "Java|11" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + } + ], + "nextLink": null, + "id": null +} \ No newline at end of file diff --git a/src/appservice-kube/azext_appservice_kube/resources/WindowsFunctionsStacks.json b/src/appservice-kube/azext_appservice_kube/resources/WindowsFunctionsStacks.json new file mode 100644 index 00000000000..eb8148d28e4 --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/resources/WindowsFunctionsStacks.json @@ -0,0 +1,375 @@ +{ + "value": [ + { + "id": null, + "name": "dotnet-isolated", + "type": "Microsoft.Web/availableStacks?osTypeSelected=WindowsFunctions", + "properties": { + "name": "dotnet-isolated", + "display": ".NET Core Isolated", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "6.0", + "runtimeVersion": "6.0", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true, + "netFrameworkVersion": "v6.0" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "5.0", + "runtimeVersion": "5.0", + "supportedFunctionsExtensionVersions": [ + "~3" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true, + "netFrameworkVersion": "v4.0" + }, + "isPreview": true, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "dotnet", + "type": "Microsoft.Web/availableStacks?osTypeSelected=WindowsFunctions", + "properties": { + "name": "dotnet", + "display": ".NET Core", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "6.0", + "runtimeVersion": "6.0", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true, + "netFrameworkVersion": "v6.0" + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "3.1", + "runtimeVersion": "3.1", + "supportedFunctionsExtensionVersions": [ + "~3" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "2.2", + "runtimeVersion": "2.2", + "supportedFunctionsExtensionVersions": [ + "~2" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "dotnet" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "node", + "type": "Microsoft.Web/availableStacks?osTypeSelected=WindowsFunctions", + "properties": { + "name": "node", + "display": "Node.js", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "16", + "runtimeVersion": "~16", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "node", + "WEBSITE_NODE_DEFAULT_VERSION": "~16" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true, + "netFrameworkVersion": "v6.0" + }, + "isPreview": true, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "14", + "runtimeVersion": "~14", + "supportedFunctionsExtensionVersions": [ + "~3", + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "node", + "WEBSITE_NODE_DEFAULT_VERSION": "~14" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "12", + "runtimeVersion": "~12", + "supportedFunctionsExtensionVersions": [ + "~3" + ], + "isDefault": false, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "node", + "WEBSITE_NODE_DEFAULT_VERSION": "~12" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "custom", + "type": "Microsoft.Web/availableStacks?osTypeSelected=WindowsFunctions", + "properties": { + "name": "custom", + "display": "Custom", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "Custom Handler", + "runtimeVersion": "Custom", + "supportedFunctionsExtensionVersions": [ + "~2", + "~3" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "custom" + }, + "siteConfigPropertiesDictionary": { + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "java", + "type": "Microsoft.Web/availableStacks?osTypeSelected=WindowsFunctions", + "properties": { + "name": "java", + "display": "Java", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "8", + "runtimeVersion": "1.8", + "supportedFunctionsExtensionVersions": [ + "~2", + "~3", + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "java" + }, + "siteConfigPropertiesDictionary": { + "javaVersion": "1.8", + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "11", + "runtimeVersion": "11", + "supportedFunctionsExtensionVersions": [ + "~3" + ], + "isDefault": false, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "java" + }, + "siteConfigPropertiesDictionary": { + "javaVersion": "11", + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + }, + { + "id": null, + "name": "powershell", + "type": "Microsoft.Web/availableStacks?osTypeSelected=WindowsFunctions", + "properties": { + "name": "powershell", + "display": "PowerShell Core", + "dependency": null, + "majorVersions": [ + { + "displayVersion": "7.2", + "runtimeVersion": "7.2", + "supportedFunctionsExtensionVersions": [ + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "powershell" + }, + "siteConfigPropertiesDictionary": { + "powerShellVersion": "7.2", + "use32BitWorkerProcess": true, + "netFrameworkVersion": "v6.0" + }, + "isPreview": true, + "isDeprecated": false, + "isHidden": true + }, + { + "displayVersion": "7.0", + "runtimeVersion": "~7", + "supportedFunctionsExtensionVersions": [ + "~3", + "~4" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "powershell" + }, + "siteConfigPropertiesDictionary": { + "powerShellVersion": "~7", + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": false, + "isHidden": false + }, + { + "displayVersion": "6.2", + "runtimeVersion": "~6", + "supportedFunctionsExtensionVersions": [ + "~2", + "~3" + ], + "isDefault": true, + "minorVersions": [], + "applicationInsights": true, + "appSettingsDictionary": { + "FUNCTIONS_WORKER_RUNTIME": "powershell" + }, + "siteConfigPropertiesDictionary": { + "powerShellVersion": "~6", + "use32BitWorkerProcess": true + }, + "isPreview": false, + "isDeprecated": true, + "isHidden": false + } + ], + "frameworks": [], + "isDeprecated": null + } + } + ], + "nextLink": null, + "id": null +} \ No newline at end of file diff --git a/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_linux_webapp_quick_create_kube.yaml b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_linux_webapp_quick_create_kube.yaml new file mode 100644 index 00000000000..d47cd4688c2 --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_linux_webapp_quick_create_kube.yaml @@ -0,0 +1,1498 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --is-linux + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"canadacentral","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:51:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '317' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:51:39 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: '{"name": "plan-quick-linux000003", "type": "Microsoft.Web/serverfarms", + "location": "canadacentral", "properties": {"skuName": "B1", "needLinuxWorkers": + true, "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '174' + Content-Type: + - application/json + ParameterSetName: + - -g -n --is-linux + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --is-linux + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"canadacentral","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:51:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '317' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:51: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": "canadacentral", "sku": {"name": "B1", "tier": "BASIC", "capacity": + 1}, "properties": {"perSiteScaling": false, "reserved": true, "isXenon": false, + "zoneRedundant": false}, "type": "Microsoft.Web/serverfarms"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '222' + Content-Type: + - application/json + ParameterSetName: + - -g -n --is-linux + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003","name":"plan-quick-linux000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"canadacentral","properties":{"serverFarmId":36801,"name":"plan-quick-linux000003","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-CanadaCentralwebspace-Linux","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"Canada + Central","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":"2022-04-06T19:51:44.1333333","tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-yt1-035_36801","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1548' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:54 GMT + etag: + - '"1D8325CCB732F95"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003","name":"plan-quick-linux000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"Canada + Central","properties":{"serverFarmId":36801,"name":"plan-quick-linux000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"Canada + Central","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":"2022-04-06T19:51:44.1333333","tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-yt1-035_36801","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1476' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-quick-linux000002", "type": "Microsoft.Web/sites", "location": + "Canada Central", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '275' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-quick-linux000002", "type": "Site"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '52' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2021-03-01 + response: + body: + string: '{"nameAvailable":true,"reason":"","message":""}' + headers: + cache-control: + - no-cache + content-length: + - '47' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan -i + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003","name":"plan-quick-linux000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"Canada + Central","properties":{"serverFarmId":36801,"name":"plan-quick-linux000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"Canada + Central","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":"2022-04-06T19:51:44.1333333","tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-yt1-035_36801","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1476' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "Canada Central", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "linuxFxVersion": "DOCKER|patle/ruby-hello", "appSettings": [{"name": + "WEBSITES_ENABLE_APP_SERVICE_STORAGE", "value": "false"}], "localMySqlEnabled": + false, "http20Enabled": true}, "scmSiteAlsoStopped": false, "httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '538' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","kind":"app,linux,container","location":"Canada + Central","properties":{"name":"webapp-quick-linux000002","state":"Running","hostNames":["webapp-quick-linux000002.azurewebsites.net"],"webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","selfLink":"https://waws-prod-yt1-035.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-CanadaCentralwebspace-Linux/sites/webapp-quick-linux000002","repositorySiteName":"webapp-quick-linux000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick-linux000002.azurewebsites.net","webapp-quick-linux000002.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":"DOCKER|patle/ruby-hello"},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"webapp-quick-linux000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick-linux000002.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/plan-quick-linux000003","reserved":true,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:04.0233333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick-linux000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app,linux,container","inboundIpAddress":"52.228.84.37","possibleInboundIpAddresses":"52.228.84.37","ftpUsername":"webapp-quick-linux000002\\$webapp-quick-linux000002","ftpsHostName":"ftps://waws-prod-yt1-035.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,52.228.84.37","possibleOutboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,20.200.64.60,20.200.64.61,20.200.64.62,20.200.64.63,20.200.64.92,20.200.64.93,20.200.64.94,20.200.64.95,20.200.64.200,20.200.64.201,20.200.64.202,20.200.64.203,20.48.129.103,20.48.134.116,20.48.134.153,20.48.134.171,20.48.134.172,20.48.135.82,52.228.84.37","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-yt1-035","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick-linux000002.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6338' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:20 GMT + etag: + - '"1D8325CD2337F80"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/appsettings/list?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"Canada + Central","properties":{"WEBSITES_ENABLE_APP_SERVICE_STORAGE":"false"}}' + headers: + cache-control: + - no-cache + content-length: + - '312' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/slotConfigNames?api-version=2021-03-01 + response: + body: + string: '{"id":null,"name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","location":"Canada + Central","properties":{"connectionStringNames":null,"appSettingNames":null,"azureStorageConfigNames":null}}' + headers: + cache-control: + - no-cache + content-length: + - '200' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","kind":"app,linux,container","location":"Canada + Central","properties":{"name":"webapp-quick-linux000002","state":"Running","hostNames":["webapp-quick-linux000002.azurewebsites.net"],"webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","selfLink":"https://waws-prod-yt1-035.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-CanadaCentralwebspace-Linux/sites/webapp-quick-linux000002","repositorySiteName":"webapp-quick-linux000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick-linux000002.azurewebsites.net","webapp-quick-linux000002.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":"DOCKER|patle/ruby-hello"},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"webapp-quick-linux000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick-linux000002.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/plan-quick-linux000003","reserved":true,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:05.24","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"DOCKER|patle/ruby-hello","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick-linux000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app,linux,container","inboundIpAddress":"52.228.84.37","possibleInboundIpAddresses":"52.228.84.37","ftpUsername":"webapp-quick-linux000002\\$webapp-quick-linux000002","ftpsHostName":"ftps://waws-prod-yt1-035.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,52.228.84.37","possibleOutboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,20.200.64.60,20.200.64.61,20.200.64.62,20.200.64.63,20.200.64.92,20.200.64.93,20.200.64.94,20.200.64.95,20.200.64.200,20.200.64.201,20.200.64.202,20.200.64.203,20.48.129.103,20.48.134.116,20.48.134.153,20.48.134.171,20.48.134.172,20.48.135.82,52.228.84.37","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-yt1-035","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick-linux000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6155' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:22 GMT + etag: + - '"1D8325CD2337F80"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/web","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites/config","location":"Canada + Central","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"DOCKER|patle/ruby-hello","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":null,"httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick-linux000002","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"None","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3784' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/appsettings/list?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"Canada + Central","properties":{"WEBSITES_ENABLE_APP_SERVICE_STORAGE":"false"}}' + headers: + cache-control: + - no-cache + content-length: + - '312' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"WEBSITES_ENABLE_APP_SERVICE_STORAGE": "false"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/appsettings?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"Canada + Central","properties":{"WEBSITES_ENABLE_APP_SERVICE_STORAGE":"false"}}' + headers: + cache-control: + - no-cache + content-length: + - '312' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:26 GMT + etag: + - '"1D8325CDED8E78B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"numberOfWorkers": 1, "defaultDocuments": ["Default.htm", + "Default.html", "Default.asp", "index.htm", "index.html", "iisstart.htm", "default.aspx", + "index.php", "hostingstart.html"], "netFrameworkVersion": "v4.0", "phpVersion": + "", "pythonVersion": "", "nodeVersion": "", "powerShellVersion": "", "linuxFxVersion": + "DOCKER|patle/ruby-hello", "requestTracingEnabled": false, "remoteDebuggingEnabled": + false, "httpLoggingEnabled": false, "acrUseManagedIdentityCreds": false, "logsDirectorySizeLimit": + 35, "detailedErrorLoggingEnabled": false, "publishingUsername": "$webapp-quick-linux000002", + "scmType": "None", "use32BitWorkerProcess": true, "webSocketsEnabled": false, + "alwaysOn": false, "appCommandLine": "", "managedPipelineMode": "Integrated", + "virtualApplications": [{"virtualPath": "/", "physicalPath": "site\\wwwroot", + "preloadEnabled": false}], "loadBalancing": "LeastRequests", "experiments": + {"rampUpRules": []}, "autoHealEnabled": false, "vnetName": "", "vnetRouteAllEnabled": + false, "vnetPrivatePortsCount": 0, "localMySqlEnabled": false, "scmIpSecurityRestrictionsUseMain": + false, "http20Enabled": true, "minTlsVersion": "1.2", "scmMinTlsVersion": "1.0", + "ftpsState": "AllAllowed", "preWarmedInstanceCount": 0, "functionAppScaleLimit": + 0, "functionsRuntimeScaleMonitoringEnabled": false, "minimumElasticInstanceCount": + 0, "azureStorageAccounts": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '1379' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","location":"Canada + Central","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"DOCKER|patle/ruby-hello","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":"VS2019","httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick-linux000002","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"None","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3770' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:29 GMT + etag: + - '"1D8325CDED8E78B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/web","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites/config","location":"Canada + Central","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"DOCKER|patle/ruby-hello","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":"VS2019","httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick-linux000002","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"None","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3788' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"format": "WebDeploy"}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan -i + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/publishxml?api-version=2021-03-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1667' + content-type: + - application/xml + date: + - Mon, 07 Mar 2022 19:52:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.26.0 + method: GET + uri: http://webapp-quick-linux000002.azurewebsites.net/ + response: + body: + string: Ruby on Rails in Web Apps on Linux + headers: + content-length: + - '34' + content-type: + - text/html + date: + - Mon, 07 Mar 2022 19:54:20 GMT + set-cookie: + - ARRAffinity=9f31c9c5bee5168e5eb7bf80d32ece8094d4003d3670d16b35539c64104ecd98;Path=/;HttpOnly;Domain=webapp-quick-linuxmgbywy.azurewebsites.net + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config appsettings list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/appsettings/list?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"Canada + Central","properties":{"WEBSITES_ENABLE_APP_SERVICE_STORAGE":"false"}}' + headers: + cache-control: + - no-cache + content-length: + - '312' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:54: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config appsettings list + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002/config/slotConfigNames?api-version=2021-03-01 + response: + body: + string: '{"id":null,"name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","location":"Canada + Central","properties":{"connectionStringNames":null,"appSettingNames":null,"azureStorageConfigNames":null}}' + headers: + cache-control: + - no-cache + content-length: + - '200' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:54:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","kind":"app,linux,container","location":"Canada + Central","properties":{"name":"webapp-quick-linux000002","state":"Running","hostNames":["webapp-quick-linux000002.azurewebsites.net"],"webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","selfLink":"https://waws-prod-yt1-035.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-CanadaCentralwebspace-Linux/sites/webapp-quick-linux000002","repositorySiteName":"webapp-quick-linux000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick-linux000002.azurewebsites.net","webapp-quick-linux000002.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":"DOCKER|patle/ruby-hello"},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"webapp-quick-linux000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick-linux000002.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/plan-quick-linux000003","reserved":true,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:28.86","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"DOCKER|patle/ruby-hello","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick-linux000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app,linux,container","inboundIpAddress":"52.228.84.37","possibleInboundIpAddresses":"52.228.84.37","ftpUsername":"webapp-quick-linux000002\\$webapp-quick-linux000002","ftpsHostName":"ftps://waws-prod-yt1-035.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,52.228.84.37","possibleOutboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,20.200.64.60,20.200.64.61,20.200.64.62,20.200.64.63,20.200.64.92,20.200.64.93,20.200.64.94,20.200.64.95,20.200.64.200,20.200.64.201,20.200.64.202,20.200.64.203,20.48.129.103,20.48.134.116,20.48.134.153,20.48.134.171,20.48.134.172,20.48.135.82,52.228.84.37","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-yt1-035","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick-linux000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6155' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:54:23 GMT + etag: + - '"1D8325CE0479FC0"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003","name":"plan-quick-linux000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"Canada + Central","properties":{"serverFarmId":36801,"name":"plan-quick-linux000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"Canada + Central","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":1,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":"2022-04-06T19:51:44.1333333","tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-yt1-035_36801","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1476' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:54: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kind": "app,linux,container", "location": "Canada Central", "properties": + {"enabled": true, "hostNameSslStates": [{"name": "webapp-quick-linux000002.azurewebsites.net", + "sslState": "Disabled", "hostType": "Standard"}, {"name": "webapp-quick-linux000002.scm.azurewebsites.net", + "sslState": "Disabled", "hostType": "Repository"}], "serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003", + "reserved": true, "isXenon": false, "hyperV": false, "siteConfig": {"numberOfWorkers": + 1, "linuxFxVersion": "DOCKER|patle/ruby-hello", "acrUseManagedIdentityCreds": + false, "alwaysOn": false, "http20Enabled": true, "functionAppScaleLimit": 0, + "minimumElasticInstanceCount": 0}, "scmSiteAlsoStopped": false, "clientAffinityEnabled": + true, "clientCertEnabled": false, "clientCertMode": "Required", "hostNamesDisabled": + false, "customDomainVerificationId": "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", + "containerSize": 0, "dailyMemoryTimeQuota": 0, "httpsOnly": true, "redundancyMode": + "None", "storageAccountRequired": false, "keyVaultReferenceIdentity": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + Content-Length: + - '1186' + Content-Type: + - application/json + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","kind":"app,linux,container","location":"Canada + Central","properties":{"name":"webapp-quick-linux000002","state":"Running","hostNames":["webapp-quick-linux000002.azurewebsites.net"],"webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","selfLink":"https://waws-prod-yt1-035.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-CanadaCentralwebspace-Linux/sites/webapp-quick-linux000002","repositorySiteName":"webapp-quick-linux000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick-linux000002.azurewebsites.net","webapp-quick-linux000002.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":"DOCKER|patle/ruby-hello"},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"webapp-quick-linux000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick-linux000002.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/plan-quick-linux000003","reserved":true,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:54:27.3133333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"DOCKER|patle/ruby-hello","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick-linux000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app,linux,container","inboundIpAddress":"52.228.84.37","possibleInboundIpAddresses":"52.228.84.37","ftpUsername":"webapp-quick-linux000002\\$webapp-quick-linux000002","ftpsHostName":"ftps://waws-prod-yt1-035.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,52.228.84.37","possibleOutboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,20.200.64.60,20.200.64.61,20.200.64.62,20.200.64.63,20.200.64.92,20.200.64.93,20.200.64.94,20.200.64.95,20.200.64.200,20.200.64.201,20.200.64.202,20.200.64.203,20.48.129.103,20.48.134.116,20.48.134.153,20.48.134.171,20.48.134.172,20.48.135.82,52.228.84.37","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-yt1-035","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick-linux000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":true,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6359' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:54:30 GMT + etag: + - '"1D8325CE0479FC0"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","kind":"app,linux,container","location":"Canada + Central","properties":{"name":"webapp-quick-linux000002","state":"Running","hostNames":["webapp-quick-linux000002.azurewebsites.net"],"webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","selfLink":"https://waws-prod-yt1-035.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-CanadaCentralwebspace-Linux/sites/webapp-quick-linux000002","repositorySiteName":"webapp-quick-linux000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick-linux000002.azurewebsites.net","webapp-quick-linux000002.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":"DOCKER|patle/ruby-hello"},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"webapp-quick-linux000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick-linux000002.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/plan-quick-linux000003","reserved":true,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:54:27.3133333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"DOCKER|patle/ruby-hello","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick-linux000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app,linux,container","inboundIpAddress":"52.228.84.37","possibleInboundIpAddresses":"52.228.84.37","ftpUsername":"webapp-quick-linux000002\\$webapp-quick-linux000002","ftpsHostName":"ftps://waws-prod-yt1-035.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,52.228.84.37","possibleOutboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,20.200.64.60,20.200.64.61,20.200.64.62,20.200.64.63,20.200.64.92,20.200.64.93,20.200.64.94,20.200.64.95,20.200.64.200,20.200.64.201,20.200.64.202,20.200.64.203,20.48.129.103,20.48.134.116,20.48.134.153,20.48.134.171,20.48.134.172,20.48.135.82,52.228.84.37","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-yt1-035","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick-linux000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":true,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6159' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:54:32 GMT + etag: + - '"1D8325D26E22B15"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003","name":"plan-quick-linux000003","type":"Microsoft.Web/serverfarms","kind":"linux","location":"Canada + Central","properties":{"serverFarmId":36801,"name":"plan-quick-linux000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"Canada + Central","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":1,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":"2022-04-06T19:51:44.1333333","tags":null,"kind":"linux","resourceGroup":"clitest.rg000001","reserved":true,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-yt1-035_36801","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1476' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:54: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kind": "app,linux,container", "location": "Canada Central", "properties": + {"enabled": true, "hostNameSslStates": [{"name": "webapp-quick-linux000002.azurewebsites.net", + "sslState": "Disabled", "hostType": "Standard"}, {"name": "webapp-quick-linux000002.scm.azurewebsites.net", + "sslState": "Disabled", "hostType": "Repository"}], "serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick-linux000003", + "reserved": true, "isXenon": false, "hyperV": false, "siteConfig": {"numberOfWorkers": + 1, "linuxFxVersion": "DOCKER|patle/ruby-hello", "acrUseManagedIdentityCreds": + false, "alwaysOn": false, "http20Enabled": true, "functionAppScaleLimit": 0, + "minimumElasticInstanceCount": 0}, "scmSiteAlsoStopped": false, "clientAffinityEnabled": + true, "clientCertEnabled": false, "clientCertMode": "Required", "hostNamesDisabled": + false, "customDomainVerificationId": "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", + "containerSize": 0, "dailyMemoryTimeQuota": 0, "httpsOnly": false, "redundancyMode": + "None", "storageAccountRequired": false, "keyVaultReferenceIdentity": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + Content-Length: + - '1187' + Content-Type: + - application/json + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick-linux000002","name":"webapp-quick-linux000002","type":"Microsoft.Web/sites","kind":"app,linux,container","location":"Canada + Central","properties":{"name":"webapp-quick-linux000002","state":"Running","hostNames":["webapp-quick-linux000002.azurewebsites.net"],"webSpace":"clitest.rg000001-CanadaCentralwebspace-Linux","selfLink":"https://waws-prod-yt1-035.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-CanadaCentralwebspace-Linux/sites/webapp-quick-linux000002","repositorySiteName":"webapp-quick-linux000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick-linux000002.azurewebsites.net","webapp-quick-linux000002.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":"DOCKER|patle/ruby-hello"},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"webapp-quick-linux000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick-linux000002.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/plan-quick-linux000003","reserved":true,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:54:35.48","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"DOCKER|patle/ruby-hello","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick-linux000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app,linux,container","inboundIpAddress":"52.228.84.37","possibleInboundIpAddresses":"52.228.84.37","ftpUsername":"webapp-quick-linux000002\\$webapp-quick-linux000002","ftpsHostName":"ftps://waws-prod-yt1-035.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,52.228.84.37","possibleOutboundIpAddresses":"20.200.64.88,20.200.64.89,20.200.64.193,20.200.64.210,20.200.64.214,20.200.64.226,20.200.64.60,20.200.64.61,20.200.64.62,20.200.64.63,20.200.64.92,20.200.64.93,20.200.64.94,20.200.64.95,20.200.64.200,20.200.64.201,20.200.64.202,20.200.64.203,20.48.129.103,20.48.134.116,20.48.134.153,20.48.134.171,20.48.134.172,20.48.135.82,52.228.84.37","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-yt1-035","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick-linux000002.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6355' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:54:39 GMT + etag: + - '"1D8325D26E22B15"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_e2e_kube.yaml b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_e2e_kube.yaml new file mode 100644 index 00000000000..05a1f2d1a3d --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_e2e_kube.yaml @@ -0,0 +1,612 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T18:45:07Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 18:45:09 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: '{"name": "webapp-e2e-plan000003", "type": "Microsoft.Web/serverfarms", + "location": "westus2", "properties": {"skuName": "B1", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '141' + Content-Type: + - application/json + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 18:45: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T18:45:07Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 18:45:10 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", "sku": {"name": "B1", "tier": "BASIC", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false, "zoneRedundant": + false}, "type": "Microsoft.Web/serverfarms"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '198' + Content-Type: + - application/json + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003","name":"webapp-e2e-plan000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus2","properties":{"serverFarmId":8025,"name":"webapp-e2e-plan000003","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-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8025","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1492' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 18:45:16 GMT + etag: + - '"1D832537CEFE300"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - appservice plan list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms?api-version=2021-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003","name":"webapp-e2e-plan000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8025,"name":"webapp-e2e-plan000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8025","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '1459' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 18:45: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --per-site-scaling + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T18:45:07Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 18:45: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: '{"name": "webapp-e2e-plan000003", "type": "Microsoft.Web/serverfarms", + "location": "westus2", "properties": {"skuName": "B1", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '141' + Content-Type: + - application/json + ParameterSetName: + - -g -n --per-site-scaling + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 18:45: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --per-site-scaling + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T18:45:07Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 18:45: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: '{"location": "westus2", "sku": {"name": "B1", "tier": "BASIC", "capacity": + 1}, "properties": {"perSiteScaling": true, "isXenon": false, "zoneRedundant": + false}, "type": "Microsoft.Web/serverfarms"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '197' + Content-Type: + - application/json + ParameterSetName: + - -g -n --per-site-scaling + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003","name":"webapp-e2e-plan000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus2","properties":{"serverFarmId":8025,"name":"webapp-e2e-plan000003","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-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":true,"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-mwh-093_8025","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1491' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 18:45: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms?api-version=2021-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003","name":"webapp-e2e-plan000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8025,"name":"webapp-e2e-plan000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":true,"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-mwh-093_8025","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '1458' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 18:45: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms?api-version=2021-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003","name":"webapp-e2e-plan000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8025,"name":"webapp-e2e-plan000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":true,"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-mwh-093_8025","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '1458' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 18:45:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/webapp-e2e-plan000003","name":"webapp-e2e-plan000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8025,"name":"webapp-e2e-plan000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":true,"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-mwh-093_8025","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1420' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 18:45: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_kube.yaml b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_kube.yaml new file mode 100644 index 00000000000..803c375f44e --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_kube.yaml @@ -0,0 +1,256 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:24:11Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:24:13 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: '{"name": "plan000002", "type": "Microsoft.Web/serverfarms", "location": + "westus2", "properties": {"skuName": "P1V2", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '132' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:24:11Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:24:14 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", "sku": {"name": "P1V2", "tier": "PREMIUMV2", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false, "zoneRedundant": + false}, "type": "Microsoft.Web/serverfarms"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '204' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus2","properties":{"serverFarmId":8032,"name":"plan000002","sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1},"workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8032","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1469' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:19 GMT + etag: + - '"1D83258F0EDF36B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - appservice plan show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8032,"name":"plan000002","workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":30,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8032","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1389' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_min_elastic_instance_count_kube.yaml b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_min_elastic_instance_count_kube.yaml new file mode 100644 index 00000000000..df2761a8e92 --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_min_elastic_instance_count_kube.yaml @@ -0,0 +1,890 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:24:11Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:24:13 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: '{"name": "plan000002", "type": "Microsoft.Web/serverfarms", "location": + "westus2", "properties": {"skuName": "P1V2", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '132' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:24:11Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:24:13 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", "sku": {"name": "P1V2", "tier": "PREMIUMV2", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false, "zoneRedundant": + false}, "type": "Microsoft.Web/serverfarms"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '204' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus2","properties":{"serverFarmId":8031,"name":"plan000002","sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1},"workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8031","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1469' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:19 GMT + etag: + - '"1D83258F0BA122B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8031,"name":"plan000002","workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":30,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8031","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1389' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "app000003", "type": "Microsoft.Web/sites", "location": "West + US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '243' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "app000003", "type": "Site"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '37' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2021-03-01 + response: + body: + string: '{"nameAvailable":true,"reason":"","message":""}' + headers: + cache-control: + - no-cache + content-length: + - '47' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8031,"name":"plan000002","workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":30,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8031","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1389' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2021-01-01 + response: + body: + string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET + 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6 (LTS)","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}}}}]},{"displayText":".NET + 5","value":"dotnet5","minorVersions":[{"displayText":".NET 5","value":"5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}}}}]},{"displayText":".NET + Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1 + (LTS)","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}}}},{"displayText":".NET + Core 3.0","value":"3.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"}}}]},{"displayText":".NET + Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"}}},{"displayText":".NET + Core 2.1 (LTS)","value":"2.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"}}},{"displayText":".NET + Core 2.0","value":"2.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"}}}]},{"displayText":".NET + Core 1","value":"dotnetcore1","minorVersions":[{"displayText":".NET Core 1.1","value":"1.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}},{"displayText":".NET + Core 1.0","value":"1.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}}]},{"displayText":"ASP.NET + V4","value":"aspdotnetv4","minorVersions":[{"displayText":"ASP.NET V4.8","value":"v4.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v4.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1"}}}}]},{"displayText":"ASP.NET + V3","value":"aspdotnetv3","minorVersions":[{"displayText":"ASP.NET V3.5","value":"v3.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v2.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1"}}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Node","value":"node","preferredOs":"linux","majorVersions":[{"displayText":"Node + LTS","value":"lts","minorVersions":[{"displayText":"Node LTS","value":"lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true}}}}]},{"displayText":"Node + 16","value":"16","minorVersions":[{"displayText":"Node 16 LTS","value":"16-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|16-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~16","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"}}}]},{"displayText":"Node + 14","value":"14","minorVersions":[{"displayText":"Node 14 LTS","value":"14-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|14-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"}}}]},{"displayText":"Node + 12","value":"12","minorVersions":[{"displayText":"Node 12 LTS","value":"12-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"12.13.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Node + 12.9","value":"12.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12.9","isDeprecated":true,"remoteDebuggingSupported":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"}}}]},{"displayText":"Node + 10","value":"10","minorVersions":[{"displayText":"Node 10 LTS","value":"10-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.16","value":"10.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.15","value":"10.15","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"10.15.2","isDeprecated":true,"isPreview":true,"isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.14","value":"10.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.14.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.12","value":"10.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.10","value":"10.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.0.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.6","value":"10.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.1","value":"10.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}}]},{"displayText":"Node + 9","value":"9","minorVersions":[{"displayText":"Node 9.4","value":"9.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|9.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-07-30T00:00:00Z"}}}]},{"displayText":"Node + 8","value":"8","minorVersions":[{"displayText":"Node 8 LTS","value":"8-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.12","value":"8.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.11","value":"8.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.10","value":"8.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.9","value":"8.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.8","value":"8.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.5","value":"8.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.4","value":"8.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.1.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}}]},{"displayText":"Node + 7","value":"7","minorVersions":[{"displayText":"Node 7.10","value":"7.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2017-07-30T00:00:00Z"}}}]},{"displayText":"Node + 6","value":"6","minorVersions":[{"displayText":"Node 6 LTS","value":"6-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.12","value":"6.12","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.11","value":"6.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.10","value":"6.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.9","value":"6.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"6.9.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.6","value":"6.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.5","value":"6.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.2","value":"6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}}]},{"displayText":"Node + 4","value":"4","minorVersions":[{"displayText":"Node 4.8","value":"4.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.5","value":"4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.4","value":"4.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python + 3","value":"3","minorVersions":[{"displayText":"Python 3.10","value":"3.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.10","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.10"},"isHidden":true,"isEarlyAccess":true}}},{"displayText":"Python + 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"isHidden":false}}},{"displayText":"Python + 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"}}}},{"displayText":"Python + 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"}}}},{"displayText":"Python + 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}},"windowsRuntimeSettings":{"runtimeVersion":"3.4.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}}}}]},{"displayText":"Python + 2","value":"2","minorVersions":[{"displayText":"Python 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"php","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"PHP","value":"php","preferredOs":"linux","majorVersions":[{"displayText":"PHP + 8","value":"8","minorVersions":[{"displayText":"PHP 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.0","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.0","notSupportedInCreates":true},"endOfLifeDate":"2023-12-26T00:00:00Z"}}}]},{"displayText":"PHP + 7","value":"7","minorVersions":[{"displayText":"PHP 7.4","value":"7.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"}}},{"displayText":"PHP + 7.3","value":"7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"}}},{"displayText":"PHP + 7.2","value":"7.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-12-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-12-30T00:00:00Z"}}},{"displayText":"PHP + 7.1","value":"7.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}},{"displayText":"7.0","value":"7.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}}]},{"displayText":"PHP + 5","value":"5","minorVersions":[{"displayText":"PHP 5.6","value":"5.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"}}}]}]}},{"id":null,"name":"ruby","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Ruby","value":"ruby","preferredOs":"linux","majorVersions":[{"displayText":"Ruby + 2","value":"2","minorVersions":[{"displayText":"Ruby 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.7.3","value":"2.7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6","value":"2.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6.2","value":"2.6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5","value":"2.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5.5","value":"2.5.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4","value":"2.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4.5","value":"2.4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3","value":"2.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.8","value":"2.3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.3","value":"2.3.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.3","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"linux","majorVersions":[{"displayText":"Java + 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.12","value":"11.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.11","value":"11.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.9","value":"11.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.8","value":"11.0.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.7","value":"11.0.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.6","value":"11.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.5","value":"11.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.5_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.3","value":"11.0.3","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.3_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.2","value":"11.0.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.2_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}}]},{"displayText":"Java + 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_302","value":"8.0.302","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_302","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_292","value":"8.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_292","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_282","value":"8.0.282","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_282","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_275","value":"8.0.275","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_265","value":"8.0.265","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_265","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_252","value":"8.0.252","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_252","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_242","value":"8.0.242","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_242","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_232","value":"8.0.232","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_232_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_212","value":"8.0.212","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_212_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202","value":"8.0.202","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202 (Oracle)","value":"8.0.202 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_181","value":"8.0.181","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_181 (Oracle)","value":"8.0.181 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_172","value":"8.0.172","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_172 (Oracle)","value":"8.0.172 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_144","value":"8.0.144","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_144","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_111 (Oracle)","value":"8.0.111 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_111","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_102","value":"8.0.102","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_102","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_92","value":"8.0.92","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_92","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_73 (Oracle)","value":"8.0.73 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_73","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_60 (Oracle)","value":"8.0.60 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_60","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_25 (Oracle)","value":"8.0.25 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_25","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}}]},{"displayText":"Java + 7","value":"7","minorVersions":[{"displayText":"Java 7","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7","isAutoUpdate":true,"isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_292","value":"7.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_292","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_272","value":"7.0.272","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_272","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_262","value":"7.0.262","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_262","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_242","value":"7.0.242","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_242_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_222","value":"7.0.222","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_222_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_191","value":"7.0.191","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_191_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_80 (Oracle)","value":"7.0.80 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_80","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_71 (Oracle)","value":"7.0.71 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_71","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_51 (Oracle)","value":"7.0.51 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_51","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}}]}]}},{"id":null,"name":"javacontainers","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java + Containers","value":"javacontainers","majorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"javase","minorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"SE","stackSettings":{"windowsContainerSettings":{"javaContainer":"JAVA","javaContainerVersion":"SE","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"JAVA|11-java11","java8Runtime":"JAVA|8-jre8","isAutoUpdate":true}}},{"displayText":"Java + SE 11.0.12","value":"11.0.12","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.12"}}},{"displayText":"Java + SE 11.0.11","value":"11.0.11","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.11"}}},{"displayText":"Java + SE 11.0.9","value":"11.0.9","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.9"}}},{"displayText":"Java + SE 11.0.7","value":"11.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.7"}}},{"displayText":"Java + SE 11.0.6","value":"11.0.6","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.6"}}},{"displayText":"Java + SE 11.0.5","value":"11.0.5","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.5"}}},{"displayText":"Java + SE 8u302","value":"1.8.302","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u302"}}},{"displayText":"Java + SE 8u292","value":"1.8.292","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u292"}}},{"displayText":"Java + SE 8u275","value":"1.8.275","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u275"}}},{"displayText":"Java + SE 8u252","value":"1.8.252","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u252"}}},{"displayText":"Java + SE 8u242","value":"1.8.242","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u242"}}},{"displayText":"Java + SE 8u232","value":"1.8.232","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u232"}}}]},{"displayText":"Red + Hat JBoss EAP","value":"jbosseap","minorVersions":[{"displayText":"JBoss EAP + 7","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8","java11Runtime":"JBOSSEAP|7-java11","isAutoUpdate":true}}},{"displayText":"JBoss + EAP 7.3","value":"7.3.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3-java8","java11Runtime":"JBOSSEAP|7.3-java11"}}},{"displayText":"JBoss + EAP 7.2","value":"7.2.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.2-java8","isDeprecated":true}}}]},{"displayText":"Apache + Tomcat 9.0","value":"tomcat9.0","minorVersions":[{"displayText":"Tomcat 9.0","value":"9.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0-java11","java8Runtime":"TOMCAT|9.0-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 9.0.52","value":"9.0.52","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.52"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.52-java8","java11Runtime":"TOMCAT|9.0.52-java11"}}},{"displayText":"Tomcat + 9.0.46","value":"9.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.46"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.46-java8","java11Runtime":"TOMCAT|9.0.46-java11"}}},{"displayText":"Tomcat + 9.0.41","value":"9.0.41","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.41-java8","java11Runtime":"TOMCAT|9.0.41-java11"}}},{"displayText":"Tomcat + 9.0.38","value":"9.0.38","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.38"}}},{"displayText":"Tomcat + 9.0.37","value":"9.0.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.37"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.37-java11","java8Runtime":"TOMCAT|9.0.37-java8"}}},{"displayText":"Tomcat + 9.0.33","value":"9.0.33","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.33-java11","java8Runtime":"TOMCAT|9.0.33-java8"}}},{"displayText":"Tomcat + 9.0.31","value":"9.0.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.31"}}},{"displayText":"Tomcat + 9.0.27","value":"9.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.27"}}},{"displayText":"Tomcat + 9.0.21","value":"9.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.21"}}},{"displayText":"Tomcat + 9.0.20","value":"9.0.20","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.20-java11","java8Runtime":"TOMCAT|9.0.20-java8"}}},{"displayText":"Tomcat + 9.0.14","value":"9.0.14","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.14"}}},{"displayText":"Tomcat + 9.0.12","value":"9.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.12"}}},{"displayText":"Tomcat + 9.0.8","value":"9.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.8"}}},{"displayText":"Tomcat + 9.0.0","value":"9.0.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.0"}}}]},{"displayText":"Apache + Tomcat 8.5","value":"tomcat8.5","minorVersions":[{"displayText":"Tomcat 8.5","value":"8.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5-java11","java8Runtime":"TOMCAT|8.5-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 8.5.69","value":"8.5.69","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.69-java8","java11Runtime":"TOMCAT|8.5.69-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.69"}}},{"displayText":"Tomcat + 8.5.66","value":"8.5.66","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.66-java8","java11Runtime":"TOMCAT|8.5.66-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.66"}}},{"displayText":"Tomcat + 8.5.61","value":"8.5.61","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.61-java8","java11Runtime":"TOMCAT|8.5.61-java11"}}},{"displayText":"Tomcat + 8.5.58","value":"8.5.58","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.58"}}},{"displayText":"Tomcat + 8.5.57","value":"8.5.57","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.57"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.57-java11","java8Runtime":"TOMCAT|8.5.57-java8"}}},{"displayText":"Tomcat + 8.5.53","value":"8.5.53","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.53-java11","java8Runtime":"TOMCAT|8.5.53-java8"}}},{"displayText":"Tomcat + 8.5.51","value":"8.5.51","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.51"}}},{"displayText":"Tomcat + 8.5.47","value":"8.5.47","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.47"}}},{"displayText":"Tomcat + 8.5.42","value":"8.5.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.42"}}},{"displayText":"Tomcat + 8.5.41","value":"8.5.41","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.41-java11","java8Runtime":"TOMCAT|8.5.41-java8"}}},{"displayText":"Tomcat + 8.5.37","value":"8.5.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.37"}}},{"displayText":"Tomcat + 8.5.34","value":"8.5.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.34"}}},{"displayText":"Tomcat + 8.5.31","value":"8.5.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.31"}}},{"displayText":"Tomcat + 8.5.20","value":"8.5.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.20"}}},{"displayText":"Tomcat + 8.5.6","value":"8.5.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.6"}}}]},{"displayText":"Apache + Tomcat 8.0","value":"tomcat8.0","minorVersions":[{"displayText":"Tomcat 8.0","value":"8.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 8.0.53","value":"8.0.53","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.53","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.46","value":"8.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.46","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.23","value":"8.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.23","isDeprecated":true}}}]},{"displayText":"Tomcat + 7.0","value":"tomcat7.0","minorVersions":[{"displayText":"Tomcat 7.0","value":"7.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 7.0.94","value":"7.0.94","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.94","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.81","value":"7.0.81","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.81","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.62","value":"7.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.62","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.50","value":"7.0.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.50","isDeprecated":true}}}]},{"displayText":"Jetty + 9.3","value":"jetty9.3","minorVersions":[{"displayText":"Jetty 9.3","value":"9.3","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.3.25","value":"9.3.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.25","isDeprecated":true}}},{"displayText":"Jetty + 9.3.13","value":"9.3.13","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.13","isDeprecated":true}}}]},{"displayText":"Jetty + 9.1","value":"jetty9.1","minorVersions":[{"displayText":"Jetty 9.1","value":"9.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.1.0","value":"9.1.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1.0","isDeprecated":true}}}]},{"displayText":"WildFly + 14","value":"wildfly14","minorVersions":[{"displayText":"WildFly 14","value":"14","stackSettings":{"linuxContainerSettings":{"java8Runtime":"WILDFLY|14-jre8","isDeprecated":true,"isAutoUpdate":true}}},{"displayText":"WildFly + 14.0.1","value":"14.0.1","stackSettings":{"linuxContainerSettings":{"isDeprecated":true,"java8Runtime":"WILDFLY|14.0.1-java8"}}}]}]}},{"id":null,"name":"staticsite","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"HTML + (Static Content)","value":"staticsite","preferredOs":"linux","majorVersions":[{"displayText":"HTML + (Static Content)","value":"1","minorVersions":[{"displayText":"HTML (Static + Content)","value":"1.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"STATICSITE|1.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false}}}}]}]}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '59424' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "West US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "appSettings": [{"name": "WEBSITE_NODE_DEFAULT_VERSION", "value": "12.13.0"}], + "alwaysOn": true, "localMySqlEnabled": false, "http20Enabled": true}, "scmSiteAlsoStopped": + false, "httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '489' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003","name":"app000003","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"app000003","state":"Running","hostNames":["app000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/app000003","repositorySiteName":"app000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["app000003.azurewebsites.net","app000003.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":"app000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"app000003.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/plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:24:26.4166667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"app000003","slotName":null,"trafficManagerHostNames":null,"sku":"PremiumV2","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"app000003\\$app000003","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"app000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs,AppServiceFileAuditLogs,AppServiceAntivirusScanAuditLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6175' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:42 GMT + etag: + - '"1D83258F5CC980B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"format": "WebDeploy"}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003/publishxml?api-version=2021-03-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1472' + content-type: + - application/xml + date: + - Mon, 07 Mar 2022 19:24:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --minimum-elastic-instance-count + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003","name":"app000003","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"app000003","state":"Running","hostNames":["app000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/app000003","repositorySiteName":"app000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["app000003.azurewebsites.net","app000003.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":"app000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"app000003.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/plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:24:26.9766667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":true,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"app000003","slotName":null,"trafficManagerHostNames":null,"sku":"PremiumV2","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"app000003\\$app000003","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"app000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs,AppServiceFileAuditLogs,AppServiceAntivirusScanAuditLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '5973' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:44 GMT + etag: + - '"1D83258F5CC980B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --minimum-elastic-instance-count + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8031,"name":"plan000002","workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":30,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":1,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8031","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1389' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_prewarmed_instance_count_kube.yaml b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_prewarmed_instance_count_kube.yaml new file mode 100644 index 00000000000..974266b8645 --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_webapp_elastic_scale_prewarmed_instance_count_kube.yaml @@ -0,0 +1,890 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:24:11Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:24:13 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: '{"name": "plan000002", "type": "Microsoft.Web/serverfarms", "location": + "westus2", "properties": {"skuName": "P1V2", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '132' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:24:11Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:24:13 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", "sku": {"name": "P1V2", "tier": "PREMIUMV2", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false, "zoneRedundant": + false}, "type": "Microsoft.Web/serverfarms"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '204' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus2","properties":{"serverFarmId":8033,"name":"plan000002","sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1},"workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8033","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1469' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:20 GMT + etag: + - '"1D83258F1DC7F20"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8033,"name":"plan000002","workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":30,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8033","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1389' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "app000003", "type": "Microsoft.Web/sites", "location": "West + US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '243' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "app000003", "type": "Site"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '37' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2021-03-01 + response: + body: + string: '{"nameAvailable":true,"reason":"","message":""}' + headers: + cache-control: + - no-cache + content-length: + - '47' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8033,"name":"plan000002","workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":30,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-093_8033","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1389' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2021-01-01 + response: + body: + string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET + 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6 (LTS)","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}}}}]},{"displayText":".NET + 5","value":"dotnet5","minorVersions":[{"displayText":".NET 5","value":"5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}}}}]},{"displayText":".NET + Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1 + (LTS)","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}}}},{"displayText":".NET + Core 3.0","value":"3.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"}}}]},{"displayText":".NET + Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"}}},{"displayText":".NET + Core 2.1 (LTS)","value":"2.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"}}},{"displayText":".NET + Core 2.0","value":"2.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"}}}]},{"displayText":".NET + Core 1","value":"dotnetcore1","minorVersions":[{"displayText":".NET Core 1.1","value":"1.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}},{"displayText":".NET + Core 1.0","value":"1.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}}]},{"displayText":"ASP.NET + V4","value":"aspdotnetv4","minorVersions":[{"displayText":"ASP.NET V4.8","value":"v4.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v4.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1"}}}}]},{"displayText":"ASP.NET + V3","value":"aspdotnetv3","minorVersions":[{"displayText":"ASP.NET V3.5","value":"v3.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v2.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1"}}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Node","value":"node","preferredOs":"linux","majorVersions":[{"displayText":"Node + LTS","value":"lts","minorVersions":[{"displayText":"Node LTS","value":"lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true}}}}]},{"displayText":"Node + 16","value":"16","minorVersions":[{"displayText":"Node 16 LTS","value":"16-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|16-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~16","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"}}}]},{"displayText":"Node + 14","value":"14","minorVersions":[{"displayText":"Node 14 LTS","value":"14-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|14-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"}}}]},{"displayText":"Node + 12","value":"12","minorVersions":[{"displayText":"Node 12 LTS","value":"12-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"12.13.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Node + 12.9","value":"12.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12.9","isDeprecated":true,"remoteDebuggingSupported":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"}}}]},{"displayText":"Node + 10","value":"10","minorVersions":[{"displayText":"Node 10 LTS","value":"10-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.16","value":"10.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.15","value":"10.15","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"10.15.2","isDeprecated":true,"isPreview":true,"isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.14","value":"10.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.14.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.12","value":"10.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.10","value":"10.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.0.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.6","value":"10.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.1","value":"10.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}}]},{"displayText":"Node + 9","value":"9","minorVersions":[{"displayText":"Node 9.4","value":"9.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|9.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-07-30T00:00:00Z"}}}]},{"displayText":"Node + 8","value":"8","minorVersions":[{"displayText":"Node 8 LTS","value":"8-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.12","value":"8.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.11","value":"8.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.10","value":"8.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.9","value":"8.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.8","value":"8.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.5","value":"8.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.4","value":"8.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.1.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}}]},{"displayText":"Node + 7","value":"7","minorVersions":[{"displayText":"Node 7.10","value":"7.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2017-07-30T00:00:00Z"}}}]},{"displayText":"Node + 6","value":"6","minorVersions":[{"displayText":"Node 6 LTS","value":"6-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.12","value":"6.12","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.11","value":"6.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.10","value":"6.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.9","value":"6.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"6.9.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.6","value":"6.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.5","value":"6.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.2","value":"6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}}]},{"displayText":"Node + 4","value":"4","minorVersions":[{"displayText":"Node 4.8","value":"4.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.5","value":"4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.4","value":"4.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python + 3","value":"3","minorVersions":[{"displayText":"Python 3.10","value":"3.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.10","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.10"},"isHidden":true,"isEarlyAccess":true}}},{"displayText":"Python + 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"isHidden":false}}},{"displayText":"Python + 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"}}}},{"displayText":"Python + 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"}}}},{"displayText":"Python + 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}},"windowsRuntimeSettings":{"runtimeVersion":"3.4.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}}}}]},{"displayText":"Python + 2","value":"2","minorVersions":[{"displayText":"Python 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"php","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"PHP","value":"php","preferredOs":"linux","majorVersions":[{"displayText":"PHP + 8","value":"8","minorVersions":[{"displayText":"PHP 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.0","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.0","notSupportedInCreates":true},"endOfLifeDate":"2023-12-26T00:00:00Z"}}}]},{"displayText":"PHP + 7","value":"7","minorVersions":[{"displayText":"PHP 7.4","value":"7.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"}}},{"displayText":"PHP + 7.3","value":"7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"}}},{"displayText":"PHP + 7.2","value":"7.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-12-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-12-30T00:00:00Z"}}},{"displayText":"PHP + 7.1","value":"7.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}},{"displayText":"7.0","value":"7.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}}]},{"displayText":"PHP + 5","value":"5","minorVersions":[{"displayText":"PHP 5.6","value":"5.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"}}}]}]}},{"id":null,"name":"ruby","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Ruby","value":"ruby","preferredOs":"linux","majorVersions":[{"displayText":"Ruby + 2","value":"2","minorVersions":[{"displayText":"Ruby 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.7.3","value":"2.7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6","value":"2.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6.2","value":"2.6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5","value":"2.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5.5","value":"2.5.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4","value":"2.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4.5","value":"2.4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3","value":"2.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.8","value":"2.3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.3","value":"2.3.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.3","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"linux","majorVersions":[{"displayText":"Java + 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.12","value":"11.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.11","value":"11.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.9","value":"11.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.8","value":"11.0.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.7","value":"11.0.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.6","value":"11.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.5","value":"11.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.5_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.3","value":"11.0.3","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.3_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.2","value":"11.0.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.2_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}}]},{"displayText":"Java + 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_302","value":"8.0.302","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_302","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_292","value":"8.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_292","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_282","value":"8.0.282","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_282","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_275","value":"8.0.275","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_265","value":"8.0.265","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_265","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_252","value":"8.0.252","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_252","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_242","value":"8.0.242","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_242","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_232","value":"8.0.232","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_232_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_212","value":"8.0.212","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_212_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202","value":"8.0.202","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202 (Oracle)","value":"8.0.202 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_181","value":"8.0.181","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_181 (Oracle)","value":"8.0.181 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_172","value":"8.0.172","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_172 (Oracle)","value":"8.0.172 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_144","value":"8.0.144","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_144","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_111 (Oracle)","value":"8.0.111 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_111","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_102","value":"8.0.102","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_102","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_92","value":"8.0.92","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_92","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_73 (Oracle)","value":"8.0.73 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_73","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_60 (Oracle)","value":"8.0.60 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_60","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_25 (Oracle)","value":"8.0.25 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_25","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}}]},{"displayText":"Java + 7","value":"7","minorVersions":[{"displayText":"Java 7","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7","isAutoUpdate":true,"isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_292","value":"7.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_292","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_272","value":"7.0.272","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_272","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_262","value":"7.0.262","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_262","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_242","value":"7.0.242","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_242_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_222","value":"7.0.222","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_222_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_191","value":"7.0.191","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_191_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_80 (Oracle)","value":"7.0.80 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_80","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_71 (Oracle)","value":"7.0.71 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_71","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_51 (Oracle)","value":"7.0.51 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_51","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}}]}]}},{"id":null,"name":"javacontainers","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java + Containers","value":"javacontainers","majorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"javase","minorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"SE","stackSettings":{"windowsContainerSettings":{"javaContainer":"JAVA","javaContainerVersion":"SE","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"JAVA|11-java11","java8Runtime":"JAVA|8-jre8","isAutoUpdate":true}}},{"displayText":"Java + SE 11.0.12","value":"11.0.12","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.12"}}},{"displayText":"Java + SE 11.0.11","value":"11.0.11","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.11"}}},{"displayText":"Java + SE 11.0.9","value":"11.0.9","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.9"}}},{"displayText":"Java + SE 11.0.7","value":"11.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.7"}}},{"displayText":"Java + SE 11.0.6","value":"11.0.6","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.6"}}},{"displayText":"Java + SE 11.0.5","value":"11.0.5","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.5"}}},{"displayText":"Java + SE 8u302","value":"1.8.302","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u302"}}},{"displayText":"Java + SE 8u292","value":"1.8.292","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u292"}}},{"displayText":"Java + SE 8u275","value":"1.8.275","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u275"}}},{"displayText":"Java + SE 8u252","value":"1.8.252","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u252"}}},{"displayText":"Java + SE 8u242","value":"1.8.242","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u242"}}},{"displayText":"Java + SE 8u232","value":"1.8.232","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u232"}}}]},{"displayText":"Red + Hat JBoss EAP","value":"jbosseap","minorVersions":[{"displayText":"JBoss EAP + 7","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8","java11Runtime":"JBOSSEAP|7-java11","isAutoUpdate":true}}},{"displayText":"JBoss + EAP 7.3","value":"7.3.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3-java8","java11Runtime":"JBOSSEAP|7.3-java11"}}},{"displayText":"JBoss + EAP 7.2","value":"7.2.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.2-java8","isDeprecated":true}}}]},{"displayText":"Apache + Tomcat 9.0","value":"tomcat9.0","minorVersions":[{"displayText":"Tomcat 9.0","value":"9.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0-java11","java8Runtime":"TOMCAT|9.0-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 9.0.52","value":"9.0.52","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.52"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.52-java8","java11Runtime":"TOMCAT|9.0.52-java11"}}},{"displayText":"Tomcat + 9.0.46","value":"9.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.46"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.46-java8","java11Runtime":"TOMCAT|9.0.46-java11"}}},{"displayText":"Tomcat + 9.0.41","value":"9.0.41","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.41-java8","java11Runtime":"TOMCAT|9.0.41-java11"}}},{"displayText":"Tomcat + 9.0.38","value":"9.0.38","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.38"}}},{"displayText":"Tomcat + 9.0.37","value":"9.0.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.37"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.37-java11","java8Runtime":"TOMCAT|9.0.37-java8"}}},{"displayText":"Tomcat + 9.0.33","value":"9.0.33","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.33-java11","java8Runtime":"TOMCAT|9.0.33-java8"}}},{"displayText":"Tomcat + 9.0.31","value":"9.0.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.31"}}},{"displayText":"Tomcat + 9.0.27","value":"9.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.27"}}},{"displayText":"Tomcat + 9.0.21","value":"9.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.21"}}},{"displayText":"Tomcat + 9.0.20","value":"9.0.20","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.20-java11","java8Runtime":"TOMCAT|9.0.20-java8"}}},{"displayText":"Tomcat + 9.0.14","value":"9.0.14","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.14"}}},{"displayText":"Tomcat + 9.0.12","value":"9.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.12"}}},{"displayText":"Tomcat + 9.0.8","value":"9.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.8"}}},{"displayText":"Tomcat + 9.0.0","value":"9.0.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.0"}}}]},{"displayText":"Apache + Tomcat 8.5","value":"tomcat8.5","minorVersions":[{"displayText":"Tomcat 8.5","value":"8.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5-java11","java8Runtime":"TOMCAT|8.5-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 8.5.69","value":"8.5.69","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.69-java8","java11Runtime":"TOMCAT|8.5.69-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.69"}}},{"displayText":"Tomcat + 8.5.66","value":"8.5.66","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.66-java8","java11Runtime":"TOMCAT|8.5.66-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.66"}}},{"displayText":"Tomcat + 8.5.61","value":"8.5.61","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.61-java8","java11Runtime":"TOMCAT|8.5.61-java11"}}},{"displayText":"Tomcat + 8.5.58","value":"8.5.58","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.58"}}},{"displayText":"Tomcat + 8.5.57","value":"8.5.57","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.57"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.57-java11","java8Runtime":"TOMCAT|8.5.57-java8"}}},{"displayText":"Tomcat + 8.5.53","value":"8.5.53","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.53-java11","java8Runtime":"TOMCAT|8.5.53-java8"}}},{"displayText":"Tomcat + 8.5.51","value":"8.5.51","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.51"}}},{"displayText":"Tomcat + 8.5.47","value":"8.5.47","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.47"}}},{"displayText":"Tomcat + 8.5.42","value":"8.5.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.42"}}},{"displayText":"Tomcat + 8.5.41","value":"8.5.41","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.41-java11","java8Runtime":"TOMCAT|8.5.41-java8"}}},{"displayText":"Tomcat + 8.5.37","value":"8.5.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.37"}}},{"displayText":"Tomcat + 8.5.34","value":"8.5.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.34"}}},{"displayText":"Tomcat + 8.5.31","value":"8.5.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.31"}}},{"displayText":"Tomcat + 8.5.20","value":"8.5.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.20"}}},{"displayText":"Tomcat + 8.5.6","value":"8.5.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.6"}}}]},{"displayText":"Apache + Tomcat 8.0","value":"tomcat8.0","minorVersions":[{"displayText":"Tomcat 8.0","value":"8.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 8.0.53","value":"8.0.53","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.53","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.46","value":"8.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.46","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.23","value":"8.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.23","isDeprecated":true}}}]},{"displayText":"Tomcat + 7.0","value":"tomcat7.0","minorVersions":[{"displayText":"Tomcat 7.0","value":"7.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 7.0.94","value":"7.0.94","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.94","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.81","value":"7.0.81","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.81","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.62","value":"7.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.62","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.50","value":"7.0.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.50","isDeprecated":true}}}]},{"displayText":"Jetty + 9.3","value":"jetty9.3","minorVersions":[{"displayText":"Jetty 9.3","value":"9.3","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.3.25","value":"9.3.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.25","isDeprecated":true}}},{"displayText":"Jetty + 9.3.13","value":"9.3.13","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.13","isDeprecated":true}}}]},{"displayText":"Jetty + 9.1","value":"jetty9.1","minorVersions":[{"displayText":"Jetty 9.1","value":"9.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.1.0","value":"9.1.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1.0","isDeprecated":true}}}]},{"displayText":"WildFly + 14","value":"wildfly14","minorVersions":[{"displayText":"WildFly 14","value":"14","stackSettings":{"linuxContainerSettings":{"java8Runtime":"WILDFLY|14-jre8","isDeprecated":true,"isAutoUpdate":true}}},{"displayText":"WildFly + 14.0.1","value":"14.0.1","stackSettings":{"linuxContainerSettings":{"isDeprecated":true,"java8Runtime":"WILDFLY|14.0.1-java8"}}}]}]}},{"id":null,"name":"staticsite","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"HTML + (Static Content)","value":"staticsite","preferredOs":"linux","majorVersions":[{"displayText":"HTML + (Static Content)","value":"1","minorVersions":[{"displayText":"HTML (Static + Content)","value":"1.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"STATICSITE|1.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false}}}}]}]}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '59424' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "West US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "appSettings": [{"name": "WEBSITE_NODE_DEFAULT_VERSION", "value": "12.13.0"}], + "alwaysOn": true, "localMySqlEnabled": false, "http20Enabled": true}, "scmSiteAlsoStopped": + false, "httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '489' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003","name":"app000003","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"app000003","state":"Running","hostNames":["app000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/app000003","repositorySiteName":"app000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["app000003.azurewebsites.net","app000003.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":"app000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"app000003.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/plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:24:26.9333333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"app000003","slotName":null,"trafficManagerHostNames":null,"sku":"PremiumV2","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"app000003\\$app000003","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"app000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs,AppServiceFileAuditLogs,AppServiceAntivirusScanAuditLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6175' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:43 GMT + etag: + - '"1D83258F61A69EB"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"format": "WebDeploy"}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003/publishxml?api-version=2021-03-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1472' + content-type: + - application/xml + date: + - Mon, 07 Mar 2022 19:24:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --prewarmed-instance-count + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/app000003","name":"app000003","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"app000003","state":"Running","hostNames":["app000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/app000003","repositorySiteName":"app000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["app000003.azurewebsites.net","app000003.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":"app000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"app000003.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/plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:24:27.4866667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":true,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"app000003","slotName":null,"trafficManagerHostNames":null,"sku":"PremiumV2","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"app000003\\$app000003","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"app000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs,AppServiceFileAuditLogs,AppServiceAntivirusScanAuditLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '5973' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:45 GMT + etag: + - '"1D83258F61A69EB"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --prewarmed-instance-count + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan000002","name":"plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8033,"name":"plan000002","workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":30,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":1,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8033","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"P1v2","tier":"PremiumV2","size":"P1v2","family":"Pv2","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1389' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:24:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_win_webapp_quick_create_kube.yaml b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_win_webapp_quick_create_kube.yaml new file mode 100644 index 00000000000..84fe86b9c83 --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_win_webapp_quick_create_kube.yaml @@ -0,0 +1,1480 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:51:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:51:39 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: '{"name": "plan-quick000003", "type": "Microsoft.Web/serverfarms", "location": + "westus2", "properties": {"skuName": "B1", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '136' + Content-Type: + - application/json + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2022-03-07T19:51:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:51:39 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", "sku": {"name": "B1", "tier": "BASIC", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false, "zoneRedundant": + false}, "type": "Microsoft.Web/serverfarms"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '198' + Content-Type: + - application/json + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003","name":"plan-quick000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus2","properties":{"serverFarmId":13426,"name":"plan-quick000003","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-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-091_13426","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1479' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:47 GMT + etag: + - '"1D8325CC6FD51E0"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003","name":"plan-quick000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":13426,"name":"plan-quick000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-091_13426","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1408' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-quick000002", "type": "Microsoft.Web/sites", "location": + "West US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '258' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-quick000002", "type": "Site"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '46' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2021-03-01 + response: + body: + string: '{"nameAvailable":true,"reason":"","message":""}' + headers: + cache-control: + - no-cache + content-length: + - '47' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003","name":"plan-quick000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":13426,"name":"plan-quick000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","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-mwh-091_13426","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1408' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2021-01-01 + response: + body: + string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET + 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6 (LTS)","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}}}}]},{"displayText":".NET + 5","value":"dotnet5","minorVersions":[{"displayText":".NET 5","value":"5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}}}}]},{"displayText":".NET + Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1 + (LTS)","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}}}},{"displayText":".NET + Core 3.0","value":"3.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"}}}]},{"displayText":".NET + Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"}}},{"displayText":".NET + Core 2.1 (LTS)","value":"2.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"}}},{"displayText":".NET + Core 2.0","value":"2.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"}}}]},{"displayText":".NET + Core 1","value":"dotnetcore1","minorVersions":[{"displayText":".NET Core 1.1","value":"1.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}},{"displayText":".NET + Core 1.0","value":"1.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}}]},{"displayText":"ASP.NET + V4","value":"aspdotnetv4","minorVersions":[{"displayText":"ASP.NET V4.8","value":"v4.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v4.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1"}}}}]},{"displayText":"ASP.NET + V3","value":"aspdotnetv3","minorVersions":[{"displayText":"ASP.NET V3.5","value":"v3.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v2.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1"}}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Node","value":"node","preferredOs":"linux","majorVersions":[{"displayText":"Node + LTS","value":"lts","minorVersions":[{"displayText":"Node LTS","value":"lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true}}}}]},{"displayText":"Node + 16","value":"16","minorVersions":[{"displayText":"Node 16 LTS","value":"16-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|16-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~16","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"}}}]},{"displayText":"Node + 14","value":"14","minorVersions":[{"displayText":"Node 14 LTS","value":"14-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|14-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"}}}]},{"displayText":"Node + 12","value":"12","minorVersions":[{"displayText":"Node 12 LTS","value":"12-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"12.13.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Node + 12.9","value":"12.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12.9","isDeprecated":true,"remoteDebuggingSupported":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"}}}]},{"displayText":"Node + 10","value":"10","minorVersions":[{"displayText":"Node 10 LTS","value":"10-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.16","value":"10.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.15","value":"10.15","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"10.15.2","isDeprecated":true,"isPreview":true,"isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.14","value":"10.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.14.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.12","value":"10.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.10","value":"10.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.0.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.6","value":"10.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.1","value":"10.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}}]},{"displayText":"Node + 9","value":"9","minorVersions":[{"displayText":"Node 9.4","value":"9.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|9.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-07-30T00:00:00Z"}}}]},{"displayText":"Node + 8","value":"8","minorVersions":[{"displayText":"Node 8 LTS","value":"8-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.12","value":"8.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.11","value":"8.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.10","value":"8.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.9","value":"8.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.8","value":"8.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.5","value":"8.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.4","value":"8.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.1.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}}]},{"displayText":"Node + 7","value":"7","minorVersions":[{"displayText":"Node 7.10","value":"7.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2017-07-30T00:00:00Z"}}}]},{"displayText":"Node + 6","value":"6","minorVersions":[{"displayText":"Node 6 LTS","value":"6-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.12","value":"6.12","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.11","value":"6.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.10","value":"6.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.9","value":"6.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"6.9.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.6","value":"6.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.5","value":"6.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.2","value":"6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}}]},{"displayText":"Node + 4","value":"4","minorVersions":[{"displayText":"Node 4.8","value":"4.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.5","value":"4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.4","value":"4.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python + 3","value":"3","minorVersions":[{"displayText":"Python 3.10","value":"3.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.10","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.10"},"isHidden":true,"isEarlyAccess":true}}},{"displayText":"Python + 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"isHidden":false}}},{"displayText":"Python + 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"}}}},{"displayText":"Python + 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"}}}},{"displayText":"Python + 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}},"windowsRuntimeSettings":{"runtimeVersion":"3.4.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}}}}]},{"displayText":"Python + 2","value":"2","minorVersions":[{"displayText":"Python 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"php","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"PHP","value":"php","preferredOs":"linux","majorVersions":[{"displayText":"PHP + 8","value":"8","minorVersions":[{"displayText":"PHP 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.0","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.0","notSupportedInCreates":true},"endOfLifeDate":"2023-12-26T00:00:00Z"}}}]},{"displayText":"PHP + 7","value":"7","minorVersions":[{"displayText":"PHP 7.4","value":"7.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"}}},{"displayText":"PHP + 7.3","value":"7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"}}},{"displayText":"PHP + 7.2","value":"7.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-12-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-12-30T00:00:00Z"}}},{"displayText":"PHP + 7.1","value":"7.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}},{"displayText":"7.0","value":"7.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}}]},{"displayText":"PHP + 5","value":"5","minorVersions":[{"displayText":"PHP 5.6","value":"5.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"}}}]}]}},{"id":null,"name":"ruby","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Ruby","value":"ruby","preferredOs":"linux","majorVersions":[{"displayText":"Ruby + 2","value":"2","minorVersions":[{"displayText":"Ruby 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.7.3","value":"2.7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6","value":"2.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6.2","value":"2.6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5","value":"2.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5.5","value":"2.5.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4","value":"2.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4.5","value":"2.4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3","value":"2.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.8","value":"2.3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.3","value":"2.3.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.3","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"linux","majorVersions":[{"displayText":"Java + 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.12","value":"11.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.11","value":"11.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.9","value":"11.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.8","value":"11.0.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.7","value":"11.0.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.6","value":"11.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.5","value":"11.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.5_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.3","value":"11.0.3","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.3_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.2","value":"11.0.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.2_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}}]},{"displayText":"Java + 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_302","value":"8.0.302","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_302","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_292","value":"8.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_292","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_282","value":"8.0.282","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_282","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_275","value":"8.0.275","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_265","value":"8.0.265","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_265","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_252","value":"8.0.252","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_252","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_242","value":"8.0.242","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_242","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_232","value":"8.0.232","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_232_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_212","value":"8.0.212","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_212_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202","value":"8.0.202","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202 (Oracle)","value":"8.0.202 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_181","value":"8.0.181","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_181 (Oracle)","value":"8.0.181 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_172","value":"8.0.172","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_172 (Oracle)","value":"8.0.172 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_144","value":"8.0.144","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_144","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_111 (Oracle)","value":"8.0.111 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_111","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_102","value":"8.0.102","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_102","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_92","value":"8.0.92","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_92","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_73 (Oracle)","value":"8.0.73 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_73","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_60 (Oracle)","value":"8.0.60 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_60","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_25 (Oracle)","value":"8.0.25 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_25","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}}]},{"displayText":"Java + 7","value":"7","minorVersions":[{"displayText":"Java 7","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7","isAutoUpdate":true,"isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_292","value":"7.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_292","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_272","value":"7.0.272","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_272","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_262","value":"7.0.262","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_262","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_242","value":"7.0.242","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_242_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_222","value":"7.0.222","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_222_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_191","value":"7.0.191","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_191_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_80 (Oracle)","value":"7.0.80 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_80","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_71 (Oracle)","value":"7.0.71 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_71","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_51 (Oracle)","value":"7.0.51 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_51","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}}]}]}},{"id":null,"name":"javacontainers","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java + Containers","value":"javacontainers","majorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"javase","minorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"SE","stackSettings":{"windowsContainerSettings":{"javaContainer":"JAVA","javaContainerVersion":"SE","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"JAVA|11-java11","java8Runtime":"JAVA|8-jre8","isAutoUpdate":true}}},{"displayText":"Java + SE 11.0.12","value":"11.0.12","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.12"}}},{"displayText":"Java + SE 11.0.11","value":"11.0.11","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.11"}}},{"displayText":"Java + SE 11.0.9","value":"11.0.9","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.9"}}},{"displayText":"Java + SE 11.0.7","value":"11.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.7"}}},{"displayText":"Java + SE 11.0.6","value":"11.0.6","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.6"}}},{"displayText":"Java + SE 11.0.5","value":"11.0.5","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.5"}}},{"displayText":"Java + SE 8u302","value":"1.8.302","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u302"}}},{"displayText":"Java + SE 8u292","value":"1.8.292","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u292"}}},{"displayText":"Java + SE 8u275","value":"1.8.275","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u275"}}},{"displayText":"Java + SE 8u252","value":"1.8.252","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u252"}}},{"displayText":"Java + SE 8u242","value":"1.8.242","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u242"}}},{"displayText":"Java + SE 8u232","value":"1.8.232","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u232"}}}]},{"displayText":"Red + Hat JBoss EAP","value":"jbosseap","minorVersions":[{"displayText":"JBoss EAP + 7","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8","java11Runtime":"JBOSSEAP|7-java11","isAutoUpdate":true}}},{"displayText":"JBoss + EAP 7.3","value":"7.3.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3-java8","java11Runtime":"JBOSSEAP|7.3-java11"}}},{"displayText":"JBoss + EAP 7.2","value":"7.2.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.2-java8","isDeprecated":true}}}]},{"displayText":"Apache + Tomcat 9.0","value":"tomcat9.0","minorVersions":[{"displayText":"Tomcat 9.0","value":"9.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0-java11","java8Runtime":"TOMCAT|9.0-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 9.0.52","value":"9.0.52","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.52"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.52-java8","java11Runtime":"TOMCAT|9.0.52-java11"}}},{"displayText":"Tomcat + 9.0.46","value":"9.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.46"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.46-java8","java11Runtime":"TOMCAT|9.0.46-java11"}}},{"displayText":"Tomcat + 9.0.41","value":"9.0.41","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.41-java8","java11Runtime":"TOMCAT|9.0.41-java11"}}},{"displayText":"Tomcat + 9.0.38","value":"9.0.38","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.38"}}},{"displayText":"Tomcat + 9.0.37","value":"9.0.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.37"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.37-java11","java8Runtime":"TOMCAT|9.0.37-java8"}}},{"displayText":"Tomcat + 9.0.33","value":"9.0.33","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.33-java11","java8Runtime":"TOMCAT|9.0.33-java8"}}},{"displayText":"Tomcat + 9.0.31","value":"9.0.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.31"}}},{"displayText":"Tomcat + 9.0.27","value":"9.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.27"}}},{"displayText":"Tomcat + 9.0.21","value":"9.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.21"}}},{"displayText":"Tomcat + 9.0.20","value":"9.0.20","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.20-java11","java8Runtime":"TOMCAT|9.0.20-java8"}}},{"displayText":"Tomcat + 9.0.14","value":"9.0.14","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.14"}}},{"displayText":"Tomcat + 9.0.12","value":"9.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.12"}}},{"displayText":"Tomcat + 9.0.8","value":"9.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.8"}}},{"displayText":"Tomcat + 9.0.0","value":"9.0.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.0"}}}]},{"displayText":"Apache + Tomcat 8.5","value":"tomcat8.5","minorVersions":[{"displayText":"Tomcat 8.5","value":"8.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5-java11","java8Runtime":"TOMCAT|8.5-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 8.5.69","value":"8.5.69","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.69-java8","java11Runtime":"TOMCAT|8.5.69-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.69"}}},{"displayText":"Tomcat + 8.5.66","value":"8.5.66","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.66-java8","java11Runtime":"TOMCAT|8.5.66-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.66"}}},{"displayText":"Tomcat + 8.5.61","value":"8.5.61","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.61-java8","java11Runtime":"TOMCAT|8.5.61-java11"}}},{"displayText":"Tomcat + 8.5.58","value":"8.5.58","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.58"}}},{"displayText":"Tomcat + 8.5.57","value":"8.5.57","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.57"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.57-java11","java8Runtime":"TOMCAT|8.5.57-java8"}}},{"displayText":"Tomcat + 8.5.53","value":"8.5.53","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.53-java11","java8Runtime":"TOMCAT|8.5.53-java8"}}},{"displayText":"Tomcat + 8.5.51","value":"8.5.51","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.51"}}},{"displayText":"Tomcat + 8.5.47","value":"8.5.47","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.47"}}},{"displayText":"Tomcat + 8.5.42","value":"8.5.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.42"}}},{"displayText":"Tomcat + 8.5.41","value":"8.5.41","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.41-java11","java8Runtime":"TOMCAT|8.5.41-java8"}}},{"displayText":"Tomcat + 8.5.37","value":"8.5.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.37"}}},{"displayText":"Tomcat + 8.5.34","value":"8.5.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.34"}}},{"displayText":"Tomcat + 8.5.31","value":"8.5.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.31"}}},{"displayText":"Tomcat + 8.5.20","value":"8.5.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.20"}}},{"displayText":"Tomcat + 8.5.6","value":"8.5.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.6"}}}]},{"displayText":"Apache + Tomcat 8.0","value":"tomcat8.0","minorVersions":[{"displayText":"Tomcat 8.0","value":"8.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 8.0.53","value":"8.0.53","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.53","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.46","value":"8.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.46","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.23","value":"8.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.23","isDeprecated":true}}}]},{"displayText":"Tomcat + 7.0","value":"tomcat7.0","minorVersions":[{"displayText":"Tomcat 7.0","value":"7.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 7.0.94","value":"7.0.94","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.94","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.81","value":"7.0.81","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.81","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.62","value":"7.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.62","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.50","value":"7.0.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.50","isDeprecated":true}}}]},{"displayText":"Jetty + 9.3","value":"jetty9.3","minorVersions":[{"displayText":"Jetty 9.3","value":"9.3","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.3.25","value":"9.3.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.25","isDeprecated":true}}},{"displayText":"Jetty + 9.3.13","value":"9.3.13","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.13","isDeprecated":true}}}]},{"displayText":"Jetty + 9.1","value":"jetty9.1","minorVersions":[{"displayText":"Jetty 9.1","value":"9.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.1.0","value":"9.1.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1.0","isDeprecated":true}}}]},{"displayText":"WildFly + 14","value":"wildfly14","minorVersions":[{"displayText":"WildFly 14","value":"14","stackSettings":{"linuxContainerSettings":{"java8Runtime":"WILDFLY|14-jre8","isDeprecated":true,"isAutoUpdate":true}}},{"displayText":"WildFly + 14.0.1","value":"14.0.1","stackSettings":{"linuxContainerSettings":{"isDeprecated":true,"java8Runtime":"WILDFLY|14.0.1-java8"}}}]}]}},{"id":null,"name":"staticsite","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"HTML + (Static Content)","value":"staticsite","preferredOs":"linux","majorVersions":[{"displayText":"HTML + (Static Content)","value":"1","minorVersions":[{"displayText":"HTML (Static + Content)","value":"1.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"STATICSITE|1.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false}}}}]}]}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '59424' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "West US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "appSettings": [{"name": "WEBSITE_NODE_DEFAULT_VERSION", "value": "12.13.0"}], + "localMySqlEnabled": false, "http20Enabled": true}, "scmSiteAlsoStopped": false, + "httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '477' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-091.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/plan-quick000003","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:51:51.9466667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.42.128.107","possibleInboundIpAddresses":"20.42.128.107","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-091.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.42.128.107","possibleOutboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.109.128.104,20.109.128.45,20.109.131.24,20.109.128.48,20.109.131.64,20.69.86.5,20.109.131.122,20.109.131.144,20.109.131.149,20.109.131.191,20.109.131.209,20.109.132.1,20.109.132.39,20.109.132.50,20.109.132.53,20.69.84.60,20.109.128.176,20.109.132.86,20.109.132.133,20.109.132.153,20.109.132.161,20.109.132.164,20.109.132.177,20.109.132.229,20.42.128.107","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-091","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6267' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:08 GMT + etag: + - '"1D8325CCA8F5240"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/config/web","name":"webapp-quick000002","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"5.6","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":null,"httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick000002","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"None","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3741' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"numberOfWorkers": 1, "defaultDocuments": ["Default.htm", + "Default.html", "Default.asp", "index.htm", "index.html", "iisstart.htm", "default.aspx", + "index.php", "hostingstart.html"], "netFrameworkVersion": "v4.0", "phpVersion": + "5.6", "pythonVersion": "", "nodeVersion": "", "powerShellVersion": "", "linuxFxVersion": + "", "requestTracingEnabled": false, "remoteDebuggingEnabled": false, "httpLoggingEnabled": + false, "acrUseManagedIdentityCreds": false, "logsDirectorySizeLimit": 35, "detailedErrorLoggingEnabled": + false, "publishingUsername": "$webapp-quick000002", "scmType": "LocalGit", "use32BitWorkerProcess": + true, "webSocketsEnabled": false, "alwaysOn": false, "appCommandLine": "", "managedPipelineMode": + "Integrated", "virtualApplications": [{"virtualPath": "/", "physicalPath": "site\\wwwroot", + "preloadEnabled": false}], "loadBalancing": "LeastRequests", "experiments": + {"rampUpRules": []}, "autoHealEnabled": false, "vnetName": "", "vnetRouteAllEnabled": + false, "vnetPrivatePortsCount": 0, "localMySqlEnabled": false, "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": false, "http20Enabled": + true, "minTlsVersion": "1.2", "scmMinTlsVersion": "1.0", "ftpsState": "AllAllowed", + "preWarmedInstanceCount": 0, "functionAppScaleLimit": 0, "functionsRuntimeScaleMonitoringEnabled": + false, "minimumElasticInstanceCount": 0, "azureStorageAccounts": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '1640' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","location":"West + US 2","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"5.6","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":"VS2019","httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick000002","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"LocalGit","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3731' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:10 GMT + etag: + - '"1D8325CCA8F5240"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/publishingUsers/web?api-version=2021-03-01 + response: + body: + string: '{"id":null,"name":"web","type":"Microsoft.Web/publishingUsers/web","properties":{"name":null,"publishingUserName":null,"publishingPassword":null,"publishingPasswordHash":null,"publishingPasswordHashSalt":null,"metadata":null,"isDeleted":false,"scmUri":null}}' + headers: + cache-control: + - no-cache + content-length: + - '258' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/sourcecontrols/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/sourcecontrols/web","name":"webapp-quick000002","type":"Microsoft.Web/sites/sourcecontrols","location":"West + US 2","properties":{"repoUrl":"https://webapp-quick000002.scm.azurewebsites.net","branch":null,"isManualIntegration":false,"isGitHubAction":false,"deploymentRollbackEnabled":false,"isMercurial":false,"provisioningState":"Succeeded","gitHubActionConfiguration":null}}' + headers: + cache-control: + - no-cache + content-length: + - '515' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:11 GMT + etag: + - '"1D8325CD5BBD5EB"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"format": "WebDeploy"}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/publishxml?api-version=2021-03-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1589' + content-type: + - application/xml + date: + - Mon, 07 Mar 2022 19:52:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config appsettings list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/config/appsettings/list?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"12.13.0"}}' + headers: + cache-control: + - no-cache + content-length: + - '296' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config appsettings list + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002/config/slotConfigNames?api-version=2021-03-01 + response: + body: + string: '{"id":null,"name":"webapp-quick000002","type":"Microsoft.Web/sites","location":"West + US 2","properties":{"connectionStringNames":null,"appSettingNames":null,"azureStorageConfigNames":null}}' + headers: + cache-control: + - no-cache + content-length: + - '189' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-091.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/plan-quick000003","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:11.1666667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.42.128.107","possibleInboundIpAddresses":"20.42.128.107","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-091.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.42.128.107","possibleOutboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.109.128.104,20.109.128.45,20.109.131.24,20.109.128.48,20.109.131.64,20.69.86.5,20.109.131.122,20.109.131.144,20.109.131.149,20.109.131.191,20.109.131.209,20.109.132.1,20.109.132.39,20.109.132.50,20.109.132.53,20.69.84.60,20.109.128.176,20.109.132.86,20.109.132.133,20.109.132.153,20.109.132.161,20.109.132.164,20.109.132.177,20.109.132.229,20.42.128.107","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-091","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6066' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:13 GMT + etag: + - '"1D8325CD5BBD5EB"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003","name":"plan-quick000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":13426,"name":"plan-quick000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":1,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-091_13426","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1408' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kind": "app", "location": "West US 2", "properties": {"enabled": true, + "hostNameSslStates": [{"name": "webapp-quick000002.azurewebsites.net", "sslState": + "Disabled", "hostType": "Standard"}, {"name": "webapp-quick000002.scm.azurewebsites.net", + "sslState": "Disabled", "hostType": "Repository"}], "serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"numberOfWorkers": + 1, "linuxFxVersion": "", "acrUseManagedIdentityCreds": false, "alwaysOn": false, + "http20Enabled": true, "functionAppScaleLimit": 0, "minimumElasticInstanceCount": + 0}, "scmSiteAlsoStopped": false, "clientAffinityEnabled": true, "clientCertEnabled": + false, "clientCertMode": "Required", "hostNamesDisabled": false, "customDomainVerificationId": + "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", "containerSize": + 0, "dailyMemoryTimeQuota": 0, "httpsOnly": true, "redundancyMode": "None", "storageAccountRequired": + false, "keyVaultReferenceIdentity": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + Content-Length: + - '1125' + Content-Type: + - application/json + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-091.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/plan-quick000003","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:16.53","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.42.128.107","possibleInboundIpAddresses":"20.42.128.107","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-091.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.42.128.107","possibleOutboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.109.128.104,20.109.128.45,20.109.131.24,20.109.128.48,20.109.131.64,20.69.86.5,20.109.131.122,20.109.131.144,20.109.131.149,20.109.131.191,20.109.131.209,20.109.132.1,20.109.132.39,20.109.132.50,20.109.132.53,20.69.84.60,20.109.128.176,20.109.132.86,20.109.132.133,20.109.132.153,20.109.132.161,20.109.132.164,20.109.132.177,20.109.132.229,20.42.128.107","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-091","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":true,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6260' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:18 GMT + etag: + - '"1D8325CD5BBD5EB"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-091.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/plan-quick000003","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:16.53","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.42.128.107","possibleInboundIpAddresses":"20.42.128.107","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-091.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.42.128.107","possibleOutboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.109.128.104,20.109.128.45,20.109.131.24,20.109.128.48,20.109.131.64,20.69.86.5,20.109.131.122,20.109.131.144,20.109.131.149,20.109.131.191,20.109.131.209,20.109.132.1,20.109.132.39,20.109.132.50,20.109.132.53,20.69.84.60,20.109.128.176,20.109.132.86,20.109.132.133,20.109.132.153,20.109.132.161,20.109.132.164,20.109.132.177,20.109.132.229,20.42.128.107","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-091","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":true,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6060' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:19 GMT + etag: + - '"1D8325CD8EE3720"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003","name":"plan-quick000003","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":13426,"name":"plan-quick000003","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":1,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-091_13426","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1408' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kind": "app", "location": "West US 2", "properties": {"enabled": true, + "hostNameSslStates": [{"name": "webapp-quick000002.azurewebsites.net", "sslState": + "Disabled", "hostType": "Standard"}, {"name": "webapp-quick000002.scm.azurewebsites.net", + "sslState": "Disabled", "hostType": "Repository"}], "serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/plan-quick000003", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"numberOfWorkers": + 1, "linuxFxVersion": "", "acrUseManagedIdentityCreds": false, "alwaysOn": false, + "http20Enabled": true, "functionAppScaleLimit": 0, "minimumElasticInstanceCount": + 0}, "scmSiteAlsoStopped": false, "clientAffinityEnabled": true, "clientCertEnabled": + false, "clientCertMode": "Required", "hostNamesDisabled": false, "customDomainVerificationId": + "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", "containerSize": + 0, "dailyMemoryTimeQuota": 0, "httpsOnly": false, "redundancyMode": "None", + "storageAccountRequired": false, "keyVaultReferenceIdentity": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + Content-Length: + - '1126' + Content-Type: + - application/json + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-091.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/plan-quick000003","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:21.3","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.42.128.107","possibleInboundIpAddresses":"20.42.128.107","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-091.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.42.128.107","possibleOutboundIpAddresses":"20.109.130.97,20.109.131.8,20.109.131.13,20.109.131.20,20.69.83.178,20.69.84.215,20.109.128.104,20.109.128.45,20.109.131.24,20.109.128.48,20.109.131.64,20.69.86.5,20.109.131.122,20.109.131.144,20.109.131.149,20.109.131.191,20.109.131.209,20.109.132.1,20.109.132.39,20.109.132.50,20.109.132.53,20.69.84.60,20.109.128.176,20.109.132.86,20.109.132.133,20.109.132.153,20.109.132.161,20.109.132.164,20.109.132.177,20.109.132.229,20.42.128.107","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-091","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6260' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:22 GMT + etag: + - '"1D8325CD8EE3720"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_win_webapp_quick_create_runtime_kube.yaml b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_win_webapp_quick_create_runtime_kube.yaml new file mode 100644 index 00000000000..00ee4cf9aa0 --- /dev/null +++ b/src/appservice-kube/azext_appservice_kube/tests/latest/recordings/test_win_webapp_quick_create_runtime_kube.yaml @@ -0,0 +1,2523 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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":"2022-03-07T19:51:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '305' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:51:39 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: '{"name": "plan-quick000004", "type": "Microsoft.Web/serverfarms", "location": + "westus2", "properties": {"skuName": "B1", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '136' + Content-Type: + - application/json + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + 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: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2021-04-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":"2022-03-07T19:51:32Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '305' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 19:51:39 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", "sku": {"name": "B1", "tier": "BASIC", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false, "zoneRedundant": + false}, "type": "Microsoft.Web/serverfarms"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '198' + Content-Type: + - application/json + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","name":"plan-quick000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus2","properties":{"serverFarmId":8039,"name":"plan-quick000004","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":"clitest000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8039","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1468' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:45 GMT + etag: + - '"1D8325CC6526BE0"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","name":"plan-quick000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8039,"name":"plan-quick000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8039","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1397' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-quick000002", "type": "Microsoft.Web/sites", "location": + "West US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '255' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-quick000002", "type": "Site"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '46' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2021-03-01 + response: + body: + string: '{"nameAvailable":true,"reason":"","message":""}' + headers: + cache-control: + - no-cache + content-length: + - '47' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","name":"plan-quick000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8039,"name":"plan-quick000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8039","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1397' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2021-01-01 + response: + body: + string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET + 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6 (LTS)","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}}}}]},{"displayText":".NET + 5","value":"dotnet5","minorVersions":[{"displayText":".NET 5","value":"5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}}}}]},{"displayText":".NET + Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1 + (LTS)","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}}}},{"displayText":".NET + Core 3.0","value":"3.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"}}}]},{"displayText":".NET + Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"}}},{"displayText":".NET + Core 2.1 (LTS)","value":"2.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"}}},{"displayText":".NET + Core 2.0","value":"2.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"}}}]},{"displayText":".NET + Core 1","value":"dotnetcore1","minorVersions":[{"displayText":".NET Core 1.1","value":"1.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}},{"displayText":".NET + Core 1.0","value":"1.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}}]},{"displayText":"ASP.NET + V4","value":"aspdotnetv4","minorVersions":[{"displayText":"ASP.NET V4.8","value":"v4.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v4.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1"}}}}]},{"displayText":"ASP.NET + V3","value":"aspdotnetv3","minorVersions":[{"displayText":"ASP.NET V3.5","value":"v3.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v2.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1"}}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Node","value":"node","preferredOs":"linux","majorVersions":[{"displayText":"Node + LTS","value":"lts","minorVersions":[{"displayText":"Node LTS","value":"lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true}}}}]},{"displayText":"Node + 16","value":"16","minorVersions":[{"displayText":"Node 16 LTS","value":"16-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|16-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~16","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"}}}]},{"displayText":"Node + 14","value":"14","minorVersions":[{"displayText":"Node 14 LTS","value":"14-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|14-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"}}}]},{"displayText":"Node + 12","value":"12","minorVersions":[{"displayText":"Node 12 LTS","value":"12-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"12.13.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Node + 12.9","value":"12.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12.9","isDeprecated":true,"remoteDebuggingSupported":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"}}}]},{"displayText":"Node + 10","value":"10","minorVersions":[{"displayText":"Node 10 LTS","value":"10-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.16","value":"10.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.15","value":"10.15","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"10.15.2","isDeprecated":true,"isPreview":true,"isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.14","value":"10.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.14.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.12","value":"10.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.10","value":"10.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.0.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.6","value":"10.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.1","value":"10.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}}]},{"displayText":"Node + 9","value":"9","minorVersions":[{"displayText":"Node 9.4","value":"9.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|9.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-07-30T00:00:00Z"}}}]},{"displayText":"Node + 8","value":"8","minorVersions":[{"displayText":"Node 8 LTS","value":"8-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.12","value":"8.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.11","value":"8.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.10","value":"8.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.9","value":"8.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.8","value":"8.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.5","value":"8.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.4","value":"8.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.1.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}}]},{"displayText":"Node + 7","value":"7","minorVersions":[{"displayText":"Node 7.10","value":"7.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2017-07-30T00:00:00Z"}}}]},{"displayText":"Node + 6","value":"6","minorVersions":[{"displayText":"Node 6 LTS","value":"6-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.12","value":"6.12","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.11","value":"6.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.10","value":"6.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.9","value":"6.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"6.9.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.6","value":"6.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.5","value":"6.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.2","value":"6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}}]},{"displayText":"Node + 4","value":"4","minorVersions":[{"displayText":"Node 4.8","value":"4.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.5","value":"4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.4","value":"4.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python + 3","value":"3","minorVersions":[{"displayText":"Python 3.10","value":"3.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.10","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.10"},"isHidden":true,"isEarlyAccess":true}}},{"displayText":"Python + 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"isHidden":false}}},{"displayText":"Python + 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"}}}},{"displayText":"Python + 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"}}}},{"displayText":"Python + 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}},"windowsRuntimeSettings":{"runtimeVersion":"3.4.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}}}}]},{"displayText":"Python + 2","value":"2","minorVersions":[{"displayText":"Python 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"php","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"PHP","value":"php","preferredOs":"linux","majorVersions":[{"displayText":"PHP + 8","value":"8","minorVersions":[{"displayText":"PHP 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.0","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.0","notSupportedInCreates":true},"endOfLifeDate":"2023-12-26T00:00:00Z"}}}]},{"displayText":"PHP + 7","value":"7","minorVersions":[{"displayText":"PHP 7.4","value":"7.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"}}},{"displayText":"PHP + 7.3","value":"7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"}}},{"displayText":"PHP + 7.2","value":"7.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-12-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-12-30T00:00:00Z"}}},{"displayText":"PHP + 7.1","value":"7.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}},{"displayText":"7.0","value":"7.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}}]},{"displayText":"PHP + 5","value":"5","minorVersions":[{"displayText":"PHP 5.6","value":"5.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"}}}]}]}},{"id":null,"name":"ruby","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Ruby","value":"ruby","preferredOs":"linux","majorVersions":[{"displayText":"Ruby + 2","value":"2","minorVersions":[{"displayText":"Ruby 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.7.3","value":"2.7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6","value":"2.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6.2","value":"2.6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5","value":"2.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5.5","value":"2.5.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4","value":"2.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4.5","value":"2.4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3","value":"2.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.8","value":"2.3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.3","value":"2.3.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.3","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"linux","majorVersions":[{"displayText":"Java + 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.12","value":"11.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.11","value":"11.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.9","value":"11.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.8","value":"11.0.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.7","value":"11.0.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.6","value":"11.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.5","value":"11.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.5_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.3","value":"11.0.3","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.3_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.2","value":"11.0.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.2_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}}]},{"displayText":"Java + 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_302","value":"8.0.302","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_302","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_292","value":"8.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_292","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_282","value":"8.0.282","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_282","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_275","value":"8.0.275","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_265","value":"8.0.265","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_265","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_252","value":"8.0.252","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_252","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_242","value":"8.0.242","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_242","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_232","value":"8.0.232","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_232_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_212","value":"8.0.212","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_212_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202","value":"8.0.202","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202 (Oracle)","value":"8.0.202 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_181","value":"8.0.181","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_181 (Oracle)","value":"8.0.181 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_172","value":"8.0.172","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_172 (Oracle)","value":"8.0.172 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_144","value":"8.0.144","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_144","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_111 (Oracle)","value":"8.0.111 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_111","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_102","value":"8.0.102","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_102","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_92","value":"8.0.92","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_92","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_73 (Oracle)","value":"8.0.73 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_73","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_60 (Oracle)","value":"8.0.60 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_60","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_25 (Oracle)","value":"8.0.25 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_25","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}}]},{"displayText":"Java + 7","value":"7","minorVersions":[{"displayText":"Java 7","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7","isAutoUpdate":true,"isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_292","value":"7.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_292","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_272","value":"7.0.272","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_272","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_262","value":"7.0.262","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_262","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_242","value":"7.0.242","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_242_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_222","value":"7.0.222","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_222_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_191","value":"7.0.191","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_191_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_80 (Oracle)","value":"7.0.80 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_80","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_71 (Oracle)","value":"7.0.71 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_71","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_51 (Oracle)","value":"7.0.51 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_51","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}}]}]}},{"id":null,"name":"javacontainers","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java + Containers","value":"javacontainers","majorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"javase","minorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"SE","stackSettings":{"windowsContainerSettings":{"javaContainer":"JAVA","javaContainerVersion":"SE","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"JAVA|11-java11","java8Runtime":"JAVA|8-jre8","isAutoUpdate":true}}},{"displayText":"Java + SE 11.0.12","value":"11.0.12","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.12"}}},{"displayText":"Java + SE 11.0.11","value":"11.0.11","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.11"}}},{"displayText":"Java + SE 11.0.9","value":"11.0.9","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.9"}}},{"displayText":"Java + SE 11.0.7","value":"11.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.7"}}},{"displayText":"Java + SE 11.0.6","value":"11.0.6","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.6"}}},{"displayText":"Java + SE 11.0.5","value":"11.0.5","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.5"}}},{"displayText":"Java + SE 8u302","value":"1.8.302","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u302"}}},{"displayText":"Java + SE 8u292","value":"1.8.292","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u292"}}},{"displayText":"Java + SE 8u275","value":"1.8.275","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u275"}}},{"displayText":"Java + SE 8u252","value":"1.8.252","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u252"}}},{"displayText":"Java + SE 8u242","value":"1.8.242","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u242"}}},{"displayText":"Java + SE 8u232","value":"1.8.232","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u232"}}}]},{"displayText":"Red + Hat JBoss EAP","value":"jbosseap","minorVersions":[{"displayText":"JBoss EAP + 7","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8","java11Runtime":"JBOSSEAP|7-java11","isAutoUpdate":true}}},{"displayText":"JBoss + EAP 7.3","value":"7.3.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3-java8","java11Runtime":"JBOSSEAP|7.3-java11"}}},{"displayText":"JBoss + EAP 7.2","value":"7.2.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.2-java8","isDeprecated":true}}}]},{"displayText":"Apache + Tomcat 9.0","value":"tomcat9.0","minorVersions":[{"displayText":"Tomcat 9.0","value":"9.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0-java11","java8Runtime":"TOMCAT|9.0-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 9.0.52","value":"9.0.52","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.52"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.52-java8","java11Runtime":"TOMCAT|9.0.52-java11"}}},{"displayText":"Tomcat + 9.0.46","value":"9.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.46"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.46-java8","java11Runtime":"TOMCAT|9.0.46-java11"}}},{"displayText":"Tomcat + 9.0.41","value":"9.0.41","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.41-java8","java11Runtime":"TOMCAT|9.0.41-java11"}}},{"displayText":"Tomcat + 9.0.38","value":"9.0.38","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.38"}}},{"displayText":"Tomcat + 9.0.37","value":"9.0.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.37"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.37-java11","java8Runtime":"TOMCAT|9.0.37-java8"}}},{"displayText":"Tomcat + 9.0.33","value":"9.0.33","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.33-java11","java8Runtime":"TOMCAT|9.0.33-java8"}}},{"displayText":"Tomcat + 9.0.31","value":"9.0.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.31"}}},{"displayText":"Tomcat + 9.0.27","value":"9.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.27"}}},{"displayText":"Tomcat + 9.0.21","value":"9.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.21"}}},{"displayText":"Tomcat + 9.0.20","value":"9.0.20","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.20-java11","java8Runtime":"TOMCAT|9.0.20-java8"}}},{"displayText":"Tomcat + 9.0.14","value":"9.0.14","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.14"}}},{"displayText":"Tomcat + 9.0.12","value":"9.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.12"}}},{"displayText":"Tomcat + 9.0.8","value":"9.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.8"}}},{"displayText":"Tomcat + 9.0.0","value":"9.0.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.0"}}}]},{"displayText":"Apache + Tomcat 8.5","value":"tomcat8.5","minorVersions":[{"displayText":"Tomcat 8.5","value":"8.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5-java11","java8Runtime":"TOMCAT|8.5-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 8.5.69","value":"8.5.69","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.69-java8","java11Runtime":"TOMCAT|8.5.69-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.69"}}},{"displayText":"Tomcat + 8.5.66","value":"8.5.66","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.66-java8","java11Runtime":"TOMCAT|8.5.66-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.66"}}},{"displayText":"Tomcat + 8.5.61","value":"8.5.61","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.61-java8","java11Runtime":"TOMCAT|8.5.61-java11"}}},{"displayText":"Tomcat + 8.5.58","value":"8.5.58","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.58"}}},{"displayText":"Tomcat + 8.5.57","value":"8.5.57","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.57"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.57-java11","java8Runtime":"TOMCAT|8.5.57-java8"}}},{"displayText":"Tomcat + 8.5.53","value":"8.5.53","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.53-java11","java8Runtime":"TOMCAT|8.5.53-java8"}}},{"displayText":"Tomcat + 8.5.51","value":"8.5.51","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.51"}}},{"displayText":"Tomcat + 8.5.47","value":"8.5.47","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.47"}}},{"displayText":"Tomcat + 8.5.42","value":"8.5.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.42"}}},{"displayText":"Tomcat + 8.5.41","value":"8.5.41","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.41-java11","java8Runtime":"TOMCAT|8.5.41-java8"}}},{"displayText":"Tomcat + 8.5.37","value":"8.5.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.37"}}},{"displayText":"Tomcat + 8.5.34","value":"8.5.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.34"}}},{"displayText":"Tomcat + 8.5.31","value":"8.5.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.31"}}},{"displayText":"Tomcat + 8.5.20","value":"8.5.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.20"}}},{"displayText":"Tomcat + 8.5.6","value":"8.5.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.6"}}}]},{"displayText":"Apache + Tomcat 8.0","value":"tomcat8.0","minorVersions":[{"displayText":"Tomcat 8.0","value":"8.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 8.0.53","value":"8.0.53","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.53","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.46","value":"8.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.46","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.23","value":"8.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.23","isDeprecated":true}}}]},{"displayText":"Tomcat + 7.0","value":"tomcat7.0","minorVersions":[{"displayText":"Tomcat 7.0","value":"7.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 7.0.94","value":"7.0.94","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.94","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.81","value":"7.0.81","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.81","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.62","value":"7.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.62","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.50","value":"7.0.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.50","isDeprecated":true}}}]},{"displayText":"Jetty + 9.3","value":"jetty9.3","minorVersions":[{"displayText":"Jetty 9.3","value":"9.3","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.3.25","value":"9.3.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.25","isDeprecated":true}}},{"displayText":"Jetty + 9.3.13","value":"9.3.13","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.13","isDeprecated":true}}}]},{"displayText":"Jetty + 9.1","value":"jetty9.1","minorVersions":[{"displayText":"Jetty 9.1","value":"9.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.1.0","value":"9.1.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1.0","isDeprecated":true}}}]},{"displayText":"WildFly + 14","value":"wildfly14","minorVersions":[{"displayText":"WildFly 14","value":"14","stackSettings":{"linuxContainerSettings":{"java8Runtime":"WILDFLY|14-jre8","isDeprecated":true,"isAutoUpdate":true}}},{"displayText":"WildFly + 14.0.1","value":"14.0.1","stackSettings":{"linuxContainerSettings":{"isDeprecated":true,"java8Runtime":"WILDFLY|14.0.1-java8"}}}]}]}},{"id":null,"name":"staticsite","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"HTML + (Static Content)","value":"staticsite","preferredOs":"linux","majorVersions":[{"displayText":"HTML + (Static Content)","value":"1","minorVersions":[{"displayText":"HTML (Static + Content)","value":"1.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"STATICSITE|1.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false}}}}]}]}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '59424' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:51: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "West US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "appSettings": [{"name": "WEBSITE_NODE_DEFAULT_VERSION", "value": "~14"}], + "localMySqlEnabled": false, "http20Enabled": true}, "scmSiteAlsoStopped": false, + "httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '470' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:51:52.2","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6223' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:08 GMT + etag: + - '"1D8325CCAB9898B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/metadata/list?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/metadata","name":"metadata","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '247' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"CURRENT_STACK": "node"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '41' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/metadata?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/metadata","name":"metadata","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{"CURRENT_STACK":"node"}}' + headers: + cache-control: + - no-cache + content-length: + - '269' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:09 GMT + etag: + - '"1D8325CD4A005AB"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/web","name":"webapp-quick000002","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"5.6","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":null,"httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick000002","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"None","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3738' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"numberOfWorkers": 1, "defaultDocuments": ["Default.htm", + "Default.html", "Default.asp", "index.htm", "index.html", "iisstart.htm", "default.aspx", + "index.php", "hostingstart.html"], "netFrameworkVersion": "v4.0", "phpVersion": + "5.6", "pythonVersion": "", "nodeVersion": "", "powerShellVersion": "", "linuxFxVersion": + "", "requestTracingEnabled": false, "remoteDebuggingEnabled": false, "httpLoggingEnabled": + false, "acrUseManagedIdentityCreds": false, "logsDirectorySizeLimit": 35, "detailedErrorLoggingEnabled": + false, "publishingUsername": "$webapp-quick000002", "scmType": "LocalGit", "use32BitWorkerProcess": + true, "webSocketsEnabled": false, "alwaysOn": false, "appCommandLine": "", "managedPipelineMode": + "Integrated", "virtualApplications": [{"virtualPath": "/", "physicalPath": "site\\wwwroot", + "preloadEnabled": false}], "loadBalancing": "LeastRequests", "experiments": + {"rampUpRules": []}, "autoHealEnabled": false, "vnetName": "", "vnetRouteAllEnabled": + false, "vnetPrivatePortsCount": 0, "localMySqlEnabled": false, "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": false, "http20Enabled": + true, "minTlsVersion": "1.2", "scmMinTlsVersion": "1.0", "ftpsState": "AllAllowed", + "preWarmedInstanceCount": 0, "functionAppScaleLimit": 0, "functionsRuntimeScaleMonitoringEnabled": + false, "minimumElasticInstanceCount": 0, "azureStorageAccounts": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '1640' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","location":"West + US 2","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"5.6","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":"VS2019","httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick000002","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"LocalGit","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3728' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:10 GMT + etag: + - '"1D8325CD4A005AB"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/publishingUsers/web?api-version=2021-03-01 + response: + body: + string: '{"id":null,"name":"web","type":"Microsoft.Web/publishingUsers/web","properties":{"name":null,"publishingUserName":null,"publishingPassword":null,"publishingPasswordHash":null,"publishingPasswordHashSalt":null,"metadata":null,"isDeleted":false,"scmUri":null}}' + headers: + cache-control: + - no-cache + content-length: + - '258' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/sourcecontrols/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/sourcecontrols/web","name":"webapp-quick000002","type":"Microsoft.Web/sites/sourcecontrols","location":"West + US 2","properties":{"repoUrl":"https://webapp-quick000002.scm.azurewebsites.net","branch":null,"isManualIntegration":false,"isGitHubAction":false,"deploymentRollbackEnabled":false,"isMercurial":false,"provisioningState":"Succeeded","gitHubActionConfiguration":null}}' + headers: + cache-control: + - no-cache + content-length: + - '512' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:11 GMT + etag: + - '"1D8325CD58876E0"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"format": "WebDeploy"}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/publishxml?api-version=2021-03-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1589' + content-type: + - application/xml + date: + - Mon, 07 Mar 2022 19:52:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config appsettings list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/appsettings/list?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"~14"}}' + headers: + cache-control: + - no-cache + content-length: + - '289' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config appsettings list + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002/config/slotConfigNames?api-version=2021-03-01 + response: + body: + string: '{"id":null,"name":"webapp-quick000002","type":"Microsoft.Web/sites","location":"West + US 2","properties":{"connectionStringNames":null,"appSettingNames":null,"azureStorageConfigNames":null}}' + headers: + cache-control: + - no-cache + content-length: + - '189' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","name":"plan-quick000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8039,"name":"plan-quick000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":1,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8039","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1397' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-quick000003", "type": "Microsoft.Web/sites", "location": + "West US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '255' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/validate?api-version=2021-03-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"name": "webapp-quick000003", "type": "Site"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '46' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2021-03-01 + response: + body: + string: '{"nameAvailable":true,"reason":"","message":""}' + headers: + cache-control: + - no-cache + content-length: + - '47' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) AZURECLI/2.34.1 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004?api-version=2020-12-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","name":"plan-quick000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8039,"name":"plan-quick000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":1,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8039","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1397' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2021-01-01 + response: + body: + string: '{"value":[{"id":null,"name":"dotnet","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":".NET","value":"dotnet","preferredOs":"windows","majorVersions":[{"displayText":".NET + 6","value":"dotnet6","minorVersions":[{"displayText":".NET 6 (LTS)","value":"6","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|6.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"6.0.x"}}}}]},{"displayText":".NET + 5","value":"dotnet5","minorVersions":[{"displayText":".NET 5","value":"5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|5.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"5.0.x"}}}}]},{"displayText":".NET + Core 3","value":"dotnetcore3","minorVersions":[{"displayText":".NET Core 3.1 + (LTS)","value":"3.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.1","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1.301"}}}},{"displayText":".NET + Core 3.0","value":"3.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|3.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.0.103"},"endOfLifeDate":"2020-04-03T00:00:00Z"}}}]},{"displayText":".NET + Core 2","value":"dotnetcore2","minorVersions":[{"displayText":".NET Core 2.2","value":"2.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.2.207"},"endOfLifeDate":"2020-01-23T00:00:00Z"}}},{"displayText":".NET + Core 2.1 (LTS)","value":"2.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.1","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.807"},"endOfLifeDate":"2021-08-21T00:00:00Z"}}},{"displayText":".NET + Core 2.0","value":"2.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|2.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1.202"},"endOfLifeDate":"2018-11-01T00:00:00Z"}}}]},{"displayText":".NET + Core 1","value":"dotnetcore1","minorVersions":[{"displayText":".NET Core 1.1","value":"1.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}},{"displayText":".NET + Core 1.0","value":"1.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"DOTNETCORE|1.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"1.1.14"},"endOfLifeDate":"2019-07-27T00:00:00Z"}}}]},{"displayText":"ASP.NET + V4","value":"aspdotnetv4","minorVersions":[{"displayText":"ASP.NET V4.8","value":"v4.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v4.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.1"}}}}]},{"displayText":"ASP.NET + V3","value":"aspdotnetv3","minorVersions":[{"displayText":"ASP.NET V3.5","value":"v3.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"v2.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.1"}}}}]}]}},{"id":null,"name":"node","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Node","value":"node","preferredOs":"linux","majorVersions":[{"displayText":"Node + LTS","value":"lts","minorVersions":[{"displayText":"Node LTS","value":"lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true}}}}]},{"displayText":"Node + 16","value":"16","minorVersions":[{"displayText":"Node 16 LTS","value":"16-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|16-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~16","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"16.x"},"endOfLifeDate":"2024-05-30T00:00:00Z"}}}]},{"displayText":"Node + 14","value":"14","minorVersions":[{"displayText":"Node 14 LTS","value":"14-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|14-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"~14","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"14.x"},"endOfLifeDate":"2023-05-30T00:00:00Z"}}}]},{"displayText":"Node + 12","value":"12","minorVersions":[{"displayText":"Node 12 LTS","value":"12-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12-lts","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"12.13.0","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Node + 12.9","value":"12.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|12.9","isDeprecated":true,"remoteDebuggingSupported":true,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"12.x"},"endOfLifeDate":"2022-05-01T00:00:00Z"}}}]},{"displayText":"Node + 10","value":"10","minorVersions":[{"displayText":"Node 10 LTS","value":"10-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.16","value":"10.16","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.16","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.15","value":"10.15","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"10.15.2","isDeprecated":true,"isPreview":true,"isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.14","value":"10.14","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.14","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.14.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.12","value":"10.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.10","value":"10.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.0.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.6","value":"10.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"10.6.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Node + 10.1","value":"10.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"10.x"},"endOfLifeDate":"2021-05-01T00:00:00Z"}}}]},{"displayText":"Node + 9","value":"9","minorVersions":[{"displayText":"Node 9.4","value":"9.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|9.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-07-30T00:00:00Z"}}}]},{"displayText":"Node + 8","value":"8","minorVersions":[{"displayText":"Node 8 LTS","value":"8-lts","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.12","value":"8.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.11","value":"8.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.10","value":"8.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.9","value":"8.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.8","value":"8.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.5","value":"8.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.4","value":"8.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"8.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.2","value":"8.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.1","value":"8.1","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"8.1.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}},{"displayText":"Node + 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|8.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-01-31T00:00:00Z"}}}]},{"displayText":"Node + 7","value":"7","minorVersions":[{"displayText":"Node 7.10","value":"7.10","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.10.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2017-07-30T00:00:00Z"}}}]},{"displayText":"Node + 6","value":"6","minorVersions":[{"displayText":"Node 6 LTS","value":"6-LTS","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6-lts","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.12","value":"6.12","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.12","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.11","value":"6.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.11","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.10","value":"6.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.10","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.9","value":"6.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.9","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"6.9.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.6","value":"6.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.5","value":"6.5","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"6.5.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-30T00:00:00Z"}}},{"displayText":"Node + 6.2","value":"6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|6.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2019-05-30T00:00:00Z"}}}]},{"displayText":"Node + 4","value":"4","minorVersions":[{"displayText":"Node 4.8","value":"4.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"4.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.5","value":"4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}},{"displayText":"Node + 4.4","value":"4.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"NODE|4.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2018-05-30T00:00:00Z"}}}]}]}},{"id":null,"name":"python","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Python","value":"python","preferredOs":"linux","majorVersions":[{"displayText":"Python + 3","value":"3","minorVersions":[{"displayText":"Python 3.10","value":"3.10","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.10","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.10"},"isHidden":true,"isEarlyAccess":true}}},{"displayText":"Python + 3.9","value":"3.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.9"},"isHidden":false}}},{"displayText":"Python + 3.8","value":"3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.8"}}}},{"displayText":"Python + 3.7","value":"3.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.7"}}}},{"displayText":"Python + 3.6","value":"3.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|3.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}},"windowsRuntimeSettings":{"runtimeVersion":"3.4.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"3.6"}}}}]},{"displayText":"Python + 2","value":"2","minorVersions":[{"displayText":"Python 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PYTHON|2.7","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"2.7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"2.7"},"endOfLifeDate":"2020-02-01T00:00:00Z"}}}]}]}},{"id":null,"name":"php","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"PHP","value":"php","preferredOs":"linux","majorVersions":[{"displayText":"PHP + 8","value":"8","minorVersions":[{"displayText":"PHP 8.0","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|8.0","isHidden":false,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8.0","notSupportedInCreates":true},"endOfLifeDate":"2023-12-26T00:00:00Z"}}}]},{"displayText":"PHP + 7","value":"7","minorVersions":[{"displayText":"PHP 7.4","value":"7.4","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"},"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.4","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.4","notSupportedInCreates":true},"endOfLifeDate":"2022-12-28T00:00:00Z"}}},{"displayText":"PHP + 7.3","value":"7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"7.3","notSupportedInCreates":true},"endOfLifeDate":"2022-01-06T00:00:00Z"}}},{"displayText":"PHP + 7.2","value":"7.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-12-30T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.2","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":true},"endOfLifeDate":"2020-12-30T00:00:00Z"}}},{"displayText":"PHP + 7.1","value":"7.1","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"7.1","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}},{"displayText":"7.0","value":"7.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"7.0","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-03-01T00:00:00Z"}}}]},{"displayText":"PHP + 5","value":"5","minorVersions":[{"displayText":"PHP 5.6","value":"5.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"PHP|5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"5.6","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-03-01T00:00:00Z"}}}]}]}},{"id":null,"name":"ruby","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Ruby","value":"ruby","preferredOs":"linux","majorVersions":[{"displayText":"Ruby + 2","value":"2","minorVersions":[{"displayText":"Ruby 2.7","value":"2.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.7.3","value":"2.7.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.7.3","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6","value":"2.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.6.2","value":"2.6.2","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.6.2","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2022-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5","value":"2.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.5.5","value":"2.5.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.5.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2021-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4","value":"2.4","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.4.5","value":"2.4.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.4.5","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2020-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3","value":"2.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.8","value":"2.3.8","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.8","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}},{"displayText":"Ruby + 2.3.3","value":"2.3.3","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"RUBY|2.3.3","remoteDebuggingSupported":false,"isDeprecated":true,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2019-05-01T00:00:00Z"}}}]}]}},{"id":null,"name":"java","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java","value":"java","preferredOs":"linux","majorVersions":[{"displayText":"Java + 11","value":"11","minorVersions":[{"displayText":"Java 11","value":"11.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.12","value":"11.0.12","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.12","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.11","value":"11.0.11","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.11","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.9","value":"11.0.9","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.9","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.8","value":"11.0.8","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.8","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.7","value":"11.0.7","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.7","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.6","value":"11.0.6","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.6","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.5","value":"11.0.5","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"11.0.5_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.3","value":"11.0.3","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.3_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}},{"displayText":"Java + 11.0.2","value":"11.0.2","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"11.0.2_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"11"},"endOfLifeDate":"2026-10-01T00:00:00Z"}}}]},{"displayText":"Java + 8","value":"8","minorVersions":[{"displayText":"Java 8","value":"8.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8","isAutoUpdate":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_302","value":"8.0.302","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_302","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_292","value":"8.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_292","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_282","value":"8.0.282","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_282","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_275","value":"8.0.275","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_265","value":"8.0.265","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_265","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_252","value":"8.0.252","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_252","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_242","value":"8.0.242","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_242","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_232","value":"8.0.232","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"},"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_232_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_212","value":"8.0.212","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_212_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202","value":"8.0.202","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_202 (Oracle)","value":"8.0.202 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_202","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_181","value":"8.0.181","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_181 (Oracle)","value":"8.0.181 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_181","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_172","value":"8.0.172","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172_ZULU","remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_172 (Oracle)","value":"8.0.172 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_172","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_144","value":"8.0.144","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_144","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_111 (Oracle)","value":"8.0.111 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_111","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_102","value":"8.0.102","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_102","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_92","value":"8.0.92","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_92","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"},"endOfLifeDate":"2025-04-01T00:00:00Z"}}},{"displayText":"Java + 1.8.0_73 (Oracle)","value":"8.0.73 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_73","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_60 (Oracle)","value":"8.0.60 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_60","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}},{"displayText":"Java + 1.8.0_25 (Oracle)","value":"8.0.25 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.8.0_25","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":true,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":true,"supportedVersion":"8"}}}}]},{"displayText":"Java + 7","value":"7","minorVersions":[{"displayText":"Java 7","value":"7.0","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7","isAutoUpdate":true,"isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_292","value":"7.0.292","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_292","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_272","value":"7.0.272","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_272","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_262","value":"7.0.262","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_262","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_242","value":"7.0.242","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_242_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_222","value":"7.0.222","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_222_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_191","value":"7.0.191","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_191_ZULU","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false},"endOfLifeDate":"2023-08-01T00:00:00Z"}}},{"displayText":"Java + 1.7.0_80 (Oracle)","value":"7.0.80 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_80","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_71 (Oracle)","value":"7.0.71 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_71","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}},{"displayText":"Java + 1.7.0_51 (Oracle)","value":"7.0.51 (Oracle)","stackSettings":{"windowsRuntimeSettings":{"runtimeVersion":"1.7.0_51","isDeprecated":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false,"isDefaultOff":true},"gitHubActionSettings":{"isSupported":false}}}}]}]}},{"id":null,"name":"javacontainers","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"Java + Containers","value":"javacontainers","majorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"javase","minorVersions":[{"displayText":"Java + SE (Embedded Web Server)","value":"SE","stackSettings":{"windowsContainerSettings":{"javaContainer":"JAVA","javaContainerVersion":"SE","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"JAVA|11-java11","java8Runtime":"JAVA|8-jre8","isAutoUpdate":true}}},{"displayText":"Java + SE 11.0.12","value":"11.0.12","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.12"}}},{"displayText":"Java + SE 11.0.11","value":"11.0.11","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.11"}}},{"displayText":"Java + SE 11.0.9","value":"11.0.9","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.9"}}},{"displayText":"Java + SE 11.0.7","value":"11.0.7","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.7"}}},{"displayText":"Java + SE 11.0.6","value":"11.0.6","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.6"}}},{"displayText":"Java + SE 11.0.5","value":"11.0.5","stackSettings":{"linuxContainerSettings":{"java11Runtime":"JAVA|11.0.5"}}},{"displayText":"Java + SE 8u302","value":"1.8.302","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u302"}}},{"displayText":"Java + SE 8u292","value":"1.8.292","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u292"}}},{"displayText":"Java + SE 8u275","value":"1.8.275","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u275"}}},{"displayText":"Java + SE 8u252","value":"1.8.252","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u252"}}},{"displayText":"Java + SE 8u242","value":"1.8.242","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u242"}}},{"displayText":"Java + SE 8u232","value":"1.8.232","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JAVA|8u232"}}}]},{"displayText":"Red + Hat JBoss EAP","value":"jbosseap","minorVersions":[{"displayText":"JBoss EAP + 7","value":"7","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7-java8","java11Runtime":"JBOSSEAP|7-java11","isAutoUpdate":true}}},{"displayText":"JBoss + EAP 7.3","value":"7.3.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.3-java8","java11Runtime":"JBOSSEAP|7.3-java11"}}},{"displayText":"JBoss + EAP 7.2","value":"7.2.0","stackSettings":{"linuxContainerSettings":{"java8Runtime":"JBOSSEAP|7.2-java8","isDeprecated":true}}}]},{"displayText":"Apache + Tomcat 9.0","value":"tomcat9.0","minorVersions":[{"displayText":"Tomcat 9.0","value":"9.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0-java11","java8Runtime":"TOMCAT|9.0-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 9.0.52","value":"9.0.52","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.52"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.52-java8","java11Runtime":"TOMCAT|9.0.52-java11"}}},{"displayText":"Tomcat + 9.0.46","value":"9.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.46"},"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.46-java8","java11Runtime":"TOMCAT|9.0.46-java11"}}},{"displayText":"Tomcat + 9.0.41","value":"9.0.41","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|9.0.41-java8","java11Runtime":"TOMCAT|9.0.41-java11"}}},{"displayText":"Tomcat + 9.0.38","value":"9.0.38","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.38"}}},{"displayText":"Tomcat + 9.0.37","value":"9.0.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.37"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.37-java11","java8Runtime":"TOMCAT|9.0.37-java8"}}},{"displayText":"Tomcat + 9.0.33","value":"9.0.33","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.33-java11","java8Runtime":"TOMCAT|9.0.33-java8"}}},{"displayText":"Tomcat + 9.0.31","value":"9.0.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.31"}}},{"displayText":"Tomcat + 9.0.27","value":"9.0.27","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.27"}}},{"displayText":"Tomcat + 9.0.21","value":"9.0.21","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.21"}}},{"displayText":"Tomcat + 9.0.20","value":"9.0.20","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|9.0.20-java11","java8Runtime":"TOMCAT|9.0.20-java8"}}},{"displayText":"Tomcat + 9.0.14","value":"9.0.14","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.14"}}},{"displayText":"Tomcat + 9.0.12","value":"9.0.12","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.12"}}},{"displayText":"Tomcat + 9.0.8","value":"9.0.8","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.8"}}},{"displayText":"Tomcat + 9.0.0","value":"9.0.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"9.0.0"}}}]},{"displayText":"Apache + Tomcat 8.5","value":"tomcat8.5","minorVersions":[{"displayText":"Tomcat 8.5","value":"8.5","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5","isAutoUpdate":true},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5-java11","java8Runtime":"TOMCAT|8.5-jre8","isAutoUpdate":true}}},{"displayText":"Tomcat + 8.5.69","value":"8.5.69","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.69-java8","java11Runtime":"TOMCAT|8.5.69-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.69"}}},{"displayText":"Tomcat + 8.5.66","value":"8.5.66","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.66-java8","java11Runtime":"TOMCAT|8.5.66-java11"},"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.66"}}},{"displayText":"Tomcat + 8.5.61","value":"8.5.61","stackSettings":{"linuxContainerSettings":{"java8Runtime":"TOMCAT|8.5.61-java8","java11Runtime":"TOMCAT|8.5.61-java11"}}},{"displayText":"Tomcat + 8.5.58","value":"8.5.58","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.58"}}},{"displayText":"Tomcat + 8.5.57","value":"8.5.57","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.57"},"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.57-java11","java8Runtime":"TOMCAT|8.5.57-java8"}}},{"displayText":"Tomcat + 8.5.53","value":"8.5.53","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.53-java11","java8Runtime":"TOMCAT|8.5.53-java8"}}},{"displayText":"Tomcat + 8.5.51","value":"8.5.51","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.51"}}},{"displayText":"Tomcat + 8.5.47","value":"8.5.47","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.47"}}},{"displayText":"Tomcat + 8.5.42","value":"8.5.42","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.42"}}},{"displayText":"Tomcat + 8.5.41","value":"8.5.41","stackSettings":{"linuxContainerSettings":{"java11Runtime":"TOMCAT|8.5.41-java11","java8Runtime":"TOMCAT|8.5.41-java8"}}},{"displayText":"Tomcat + 8.5.37","value":"8.5.37","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.37"}}},{"displayText":"Tomcat + 8.5.34","value":"8.5.34","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.34"}}},{"displayText":"Tomcat + 8.5.31","value":"8.5.31","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.31"}}},{"displayText":"Tomcat + 8.5.20","value":"8.5.20","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.20"}}},{"displayText":"Tomcat + 8.5.6","value":"8.5.6","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.5.6"}}}]},{"displayText":"Apache + Tomcat 8.0","value":"tomcat8.0","minorVersions":[{"displayText":"Tomcat 8.0","value":"8.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 8.0.53","value":"8.0.53","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.53","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.46","value":"8.0.46","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.46","isDeprecated":true}}},{"displayText":"Tomcat + 8.0.23","value":"8.0.23","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"8.0.23","isDeprecated":true}}}]},{"displayText":"Tomcat + 7.0","value":"tomcat7.0","minorVersions":[{"displayText":"Tomcat 7.0","value":"7.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Tomcat + 7.0.94","value":"7.0.94","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.94","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.81","value":"7.0.81","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.81","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.62","value":"7.0.62","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.62","isDeprecated":true}}},{"displayText":"Tomcat + 7.0.50","value":"7.0.50","stackSettings":{"windowsContainerSettings":{"javaContainer":"TOMCAT","javaContainerVersion":"7.0.50","isDeprecated":true}}}]},{"displayText":"Jetty + 9.3","value":"jetty9.3","minorVersions":[{"displayText":"Jetty 9.3","value":"9.3","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.3.25","value":"9.3.25","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.25","isDeprecated":true}}},{"displayText":"Jetty + 9.3.13","value":"9.3.13","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.3.13","isDeprecated":true}}}]},{"displayText":"Jetty + 9.1","value":"jetty9.1","minorVersions":[{"displayText":"Jetty 9.1","value":"9.1","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1","isAutoUpdate":true,"isDeprecated":true}}},{"displayText":"Jetty + 9.1.0","value":"9.1.0","stackSettings":{"windowsContainerSettings":{"javaContainer":"JETTY","javaContainerVersion":"9.1.0","isDeprecated":true}}}]},{"displayText":"WildFly + 14","value":"wildfly14","minorVersions":[{"displayText":"WildFly 14","value":"14","stackSettings":{"linuxContainerSettings":{"java8Runtime":"WILDFLY|14-jre8","isDeprecated":true,"isAutoUpdate":true}}},{"displayText":"WildFly + 14.0.1","value":"14.0.1","stackSettings":{"linuxContainerSettings":{"isDeprecated":true,"java8Runtime":"WILDFLY|14.0.1-java8"}}}]}]}},{"id":null,"name":"staticsite","type":"Microsoft.Web/webAppStacks?stackOsType=All","properties":{"displayText":"HTML + (Static Content)","value":"staticsite","preferredOs":"linux","majorVersions":[{"displayText":"HTML + (Static Content)","value":"1","minorVersions":[{"displayText":"HTML (Static + Content)","value":"1.0","stackSettings":{"linuxRuntimeSettings":{"runtimeVersion":"STATICSITE|1.0","isHidden":true,"remoteDebuggingSupported":false,"appInsightsSettings":{"isSupported":false},"gitHubActionSettings":{"isSupported":false}}}}]}]}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '59424' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "West US 2", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "appSettings": [], "localMySqlEnabled": false, "http20Enabled": true}, + "scmSiteAlsoStopped": false, "httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '414' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003","name":"webapp-quick000003","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000003","state":"Running","hostNames":["webapp-quick000003.azurewebsites.net"],"webSpace":"clitest000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest000001-WestUS2webspace/sites/webapp-quick000003","repositorySiteName":"webapp-quick000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000003.azurewebsites.net","webapp-quick000003.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":"webapp-quick000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000003.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/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:18.9533333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":false,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000003","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"webapp-quick000003\\$webapp-quick000003","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest000001","defaultHostName":"webapp-quick000003.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6229' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:34 GMT + etag: + - '"1D8325CDA9F0E6B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/config/metadata/list?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/config/metadata","name":"metadata","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{}}' + headers: + cache-control: + - no-cache + content-length: + - '247' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"CURRENT_STACK": "dotnetcore"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/config/metadata?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/config/metadata","name":"metadata","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{"CURRENT_STACK":"dotnetcore"}}' + headers: + cache-control: + - no-cache + content-length: + - '275' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:36 GMT + etag: + - '"1D8325CE4A18400"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/config/web","name":"webapp-quick000003","type":"Microsoft.Web/sites/config","location":"West + US 2","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"5.6","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":null,"httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick000003","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"None","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3738' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"numberOfWorkers": 1, "defaultDocuments": ["Default.htm", + "Default.html", "Default.asp", "index.htm", "index.html", "iisstart.htm", "default.aspx", + "index.php", "hostingstart.html"], "netFrameworkVersion": "v4.0", "phpVersion": + "5.6", "pythonVersion": "", "nodeVersion": "", "powerShellVersion": "", "linuxFxVersion": + "", "requestTracingEnabled": false, "remoteDebuggingEnabled": false, "httpLoggingEnabled": + false, "acrUseManagedIdentityCreds": false, "logsDirectorySizeLimit": 35, "detailedErrorLoggingEnabled": + false, "publishingUsername": "$webapp-quick000003", "scmType": "LocalGit", "use32BitWorkerProcess": + true, "webSocketsEnabled": false, "alwaysOn": false, "appCommandLine": "", "managedPipelineMode": + "Integrated", "virtualApplications": [{"virtualPath": "/", "physicalPath": "site\\wwwroot", + "preloadEnabled": false}], "loadBalancing": "LeastRequests", "experiments": + {"rampUpRules": []}, "autoHealEnabled": false, "vnetName": "", "vnetRouteAllEnabled": + false, "vnetPrivatePortsCount": 0, "localMySqlEnabled": false, "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": false, "http20Enabled": + true, "minTlsVersion": "1.2", "scmMinTlsVersion": "1.0", "ftpsState": "AllAllowed", + "preWarmedInstanceCount": 0, "functionAppScaleLimit": 0, "functionsRuntimeScaleMonitoringEnabled": + false, "minimumElasticInstanceCount": 0, "azureStorageAccounts": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '1640' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/config/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003","name":"webapp-quick000003","type":"Microsoft.Web/sites","location":"West + US 2","properties":{"numberOfWorkers":1,"defaultDocuments":["Default.htm","Default.html","Default.asp","index.htm","index.html","iisstart.htm","default.aspx","index.php","hostingstart.html"],"netFrameworkVersion":"v4.0","phpVersion":"5.6","pythonVersion":"","nodeVersion":"","powerShellVersion":"","linuxFxVersion":"","windowsFxVersion":null,"requestTracingEnabled":false,"remoteDebuggingEnabled":false,"remoteDebuggingVersion":"VS2019","httpLoggingEnabled":false,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":35,"detailedErrorLoggingEnabled":false,"publishingUsername":"$webapp-quick000003","publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":"LocalGit","use32BitWorkerProcess":true,"webSocketsEnabled":false,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":"","managedPipelineMode":"Integrated","virtualApplications":[{"virtualPath":"/","physicalPath":"site\\wwwroot","preloadEnabled":false,"virtualDirectories":null}],"winAuthAdminState":0,"winAuthTenantState":0,"customAppPoolIdentityAdminState":false,"customAppPoolIdentityTenantState":false,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":"LeastRequests","routingRules":[],"experiments":{"rampUpRules":[]},"limits":null,"autoHealEnabled":false,"autoHealRules":null,"tracingOptions":null,"vnetName":"","vnetRouteAllEnabled":false,"vnetPrivatePortsCount":0,"publicNetworkAccess":null,"siteAuthEnabled":false,"siteAuthSettings":{"enabled":null,"unauthenticatedClientAction":null,"tokenStoreEnabled":null,"allowedExternalRedirectUrls":null,"defaultProvider":null,"clientId":null,"clientSecret":null,"clientSecretSettingName":null,"clientSecretCertificateThumbprint":null,"issuer":null,"allowedAudiences":null,"additionalLoginParams":null,"isAadAutoProvisioned":false,"aadClaimsAuthorization":null,"googleClientId":null,"googleClientSecret":null,"googleClientSecretSettingName":null,"googleOAuthScopes":null,"facebookAppId":null,"facebookAppSecret":null,"facebookAppSecretSettingName":null,"facebookOAuthScopes":null,"gitHubClientId":null,"gitHubClientSecret":null,"gitHubClientSecretSettingName":null,"gitHubOAuthScopes":null,"twitterConsumerKey":null,"twitterConsumerSecret":null,"twitterConsumerSecretSettingName":null,"microsoftAccountClientId":null,"microsoftAccountClientSecret":null,"microsoftAccountClientSecretSettingName":null,"microsoftAccountOAuthScopes":null,"configVersion":null},"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":false,"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":false,"http20Enabled":true,"minTlsVersion":"1.2","scmMinTlsVersion":"1.0","ftpsState":"AllAllowed","preWarmedInstanceCount":0,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":false,"functionsRuntimeScaleMonitoringEnabled":false,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":{},"http20ProxyFlag":0,"sitePort":null,"antivirusScanEnabled":false}}' + headers: + cache-control: + - no-cache + content-length: + - '3728' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:37 GMT + etag: + - '"1D8325CE4A18400"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/providers/Microsoft.Web/publishingUsers/web?api-version=2021-03-01 + response: + body: + string: '{"id":null,"name":"web","type":"Microsoft.Web/publishingUsers/web","properties":{"name":null,"publishingUserName":null,"publishingPassword":null,"publishingPasswordHash":null,"publishingPasswordHashSalt":null,"metadata":null,"isDeleted":false,"scmUri":null}}' + headers: + cache-control: + - no-cache + content-length: + - '258' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + 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: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/sourcecontrols/web?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/sourcecontrols/web","name":"webapp-quick000003","type":"Microsoft.Web/sites/sourcecontrols","location":"West + US 2","properties":{"repoUrl":"https://webapp-quick000003.scm.azurewebsites.net","branch":null,"isManualIntegration":false,"isGitHubAction":false,"deploymentRollbackEnabled":false,"isMercurial":false,"provisioningState":"Succeeded","gitHubActionConfiguration":null}}' + headers: + cache-control: + - no-cache + content-length: + - '512' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:39 GMT + etag: + - '"1D8325CE5A363A0"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"format": "WebDeploy"}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -n --plan --deployment-local-git -r + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000003/publishxml?api-version=2021-03-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1589' + content-type: + - application/xml + date: + - Mon, 07 Mar 2022 19:52:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:10.83","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6023' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:40 GMT + etag: + - '"1D8325CD58876E0"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","name":"plan-quick000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8039,"name":"plan-quick000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":2,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8039","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1397' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kind": "app", "location": "West US 2", "properties": {"enabled": true, + "hostNameSslStates": [{"name": "webapp-quick000002.azurewebsites.net", "sslState": + "Disabled", "hostType": "Standard"}, {"name": "webapp-quick000002.scm.azurewebsites.net", + "sslState": "Disabled", "hostType": "Repository"}], "serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"numberOfWorkers": + 1, "linuxFxVersion": "", "acrUseManagedIdentityCreds": false, "alwaysOn": false, + "http20Enabled": true, "functionAppScaleLimit": 0, "minimumElasticInstanceCount": + 0}, "scmSiteAlsoStopped": false, "clientAffinityEnabled": true, "clientCertEnabled": + false, "clientCertMode": "Required", "hostNamesDisabled": false, "customDomainVerificationId": + "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", "containerSize": + 0, "dailyMemoryTimeQuota": 0, "httpsOnly": true, "redundancyMode": "None", "storageAccountRequired": + false, "keyVaultReferenceIdentity": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + Content-Length: + - '1122' + Content-Type: + - application/json + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:42.71","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":true,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6222' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:44 GMT + etag: + - '"1D8325CD58876E0"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:42.71","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"httpsOnly":true,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6022' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:44 GMT + etag: + - '"1D8325CE888F760"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","name":"plan-quick000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + US 2","properties":{"serverFarmId":8039,"name":"plan-quick000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest000001-WestUS2webspace","subscription":"2edc29f4-b81f-494b-a624-cc619903b837","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US 2","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":2,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-mwh-093_8039","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1397' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52: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-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"kind": "app", "location": "West US 2", "properties": {"enabled": true, + "hostNameSslStates": [{"name": "webapp-quick000002.azurewebsites.net", "sslState": + "Disabled", "hostType": "Standard"}, {"name": "webapp-quick000002.scm.azurewebsites.net", + "sslState": "Disabled", "hostType": "Repository"}], "serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"numberOfWorkers": + 1, "linuxFxVersion": "", "acrUseManagedIdentityCreds": false, "alwaysOn": false, + "http20Enabled": true, "functionAppScaleLimit": 0, "minimumElasticInstanceCount": + 0}, "scmSiteAlsoStopped": false, "clientAffinityEnabled": true, "clientCertEnabled": + false, "clientCertMode": "Required", "hostNamesDisabled": false, "customDomainVerificationId": + "333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7", "containerSize": + 0, "dailyMemoryTimeQuota": 0, "httpsOnly": false, "redundancyMode": "None", + "storageAccountRequired": false, "keyVaultReferenceIdentity": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp update + Connection: + - keep-alive + Content-Length: + - '1123' + Content-Type: + - application/json + ParameterSetName: + - -g -n --https-only + User-Agent: + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-web/6.1.0 Python/3.8.6 (macOS-10.15.7-x86_64-i386-64bit) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002?api-version=2021-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Web/sites/webapp-quick000002","name":"webapp-quick000002","type":"Microsoft.Web/sites","kind":"app","location":"West + US 2","properties":{"name":"webapp-quick000002","state":"Running","hostNames":["webapp-quick000002.azurewebsites.net"],"webSpace":"clitest000001-WestUS2webspace","selfLink":"https://waws-prod-mwh-093.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest000001-WestUS2webspace/sites/webapp-quick000002","repositorySiteName":"webapp-quick000002","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["webapp-quick000002.azurewebsites.net","webapp-quick000002.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":"webapp-quick000002.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"webapp-quick000002.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/clitest000001/providers/Microsoft.Web/serverfarms/plan-quick000004","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2022-03-07T19:52:46.92","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","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,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"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":true,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null},"deploymentId":"webapp-quick000002","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":"333646C25EDA7C903C86F0F0D0193C412978B2E48FA0B4F1461D339FBBAE3EB7","kind":"app","inboundIpAddress":"20.115.232.1","possibleInboundIpAddresses":"20.115.232.1","ftpUsername":"webapp-quick000002\\$webapp-quick000002","ftpsHostName":"ftps://waws-prod-mwh-093.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.115.232.1","possibleOutboundIpAddresses":"20.99.146.173,20.99.146.200,20.99.146.211,20.99.147.0,20.99.147.25,20.99.147.141,20.99.148.92,20.99.148.156,20.99.148.186,20.99.148.189,20.99.147.222,20.98.122.211,20.99.148.55,20.99.147.100,20.99.148.212,20.99.148.224,20.99.148.234,20.99.147.16,20.98.125.32,20.99.149.9,20.99.149.35,20.99.149.51,20.99.149.58,20.99.149.60,20.99.149.83,20.99.149.99,20.99.149.130,20.99.149.133,20.99.149.139,20.99.149.160,20.115.232.1","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-mwh-093","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest000001","defaultHostName":"webapp-quick000002.azurewebsites.net","slotSwapStatus":null,"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,"keyVaultReferenceIdentity":"SystemAssigned"}}' + headers: + cache-control: + - no-cache + content-length: + - '6223' + content-type: + - application/json + date: + - Mon, 07 Mar 2022 19:52:48 GMT + etag: + - '"1D8325CE888F760"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '498' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/appservice-kube/azext_appservice_kube/tests/latest/test_appservice_kube_scenario.py b/src/appservice-kube/azext_appservice_kube/tests/latest/test_appservice_kube_scenario.py index 98fd540dfd0..cc29724919d 100644 --- a/src/appservice-kube/azext_appservice_kube/tests/latest/test_appservice_kube_scenario.py +++ b/src/appservice-kube/azext_appservice_kube/tests/latest/test_appservice_kube_scenario.py @@ -4,14 +4,75 @@ # -------------------------------------------------------------------------------------------- import os -import unittest -import base64 +import requests -from azure_devtools.scenario_tests import AllowLargeResponse -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, RoleBasedServicePrincipalPreparer, live_only) +from azure.cli.testsdk.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, JMESPathCheck) TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) # TODO class AppserviceKubernetesScenarioTest(ScenarioTest): - pass \ No newline at end of file + pass + + +# not lima-specific +class WebappBasicE2EKubeTest(ScenarioTest): + @ResourceGroupPreparer(location='canadacentral') + def test_linux_webapp_quick_create_kube(self, resource_group): + webapp_name = self.create_random_name( + prefix='webapp-quick-linux', length=24) + plan = self.create_random_name(prefix='plan-quick-linux', length=24) + + self.cmd( + 'appservice plan create -g {} -n {} --is-linux'.format(resource_group, plan)) + self.cmd('webapp create -g {} -n {} --plan {} -i patle/ruby-hello'.format( + resource_group, webapp_name, plan)) + r = requests.get( + 'http://{}.azurewebsites.net'.format(webapp_name), timeout=240) + # verify the web page + self.assertTrue('Ruby on Rails in Web Apps on Linux' in str(r.content)) + # verify app settings + self.cmd('webapp config appsettings list -g {} -n {}'.format(resource_group, webapp_name), checks=[ + JMESPathCheck('[0].name', 'WEBSITES_ENABLE_APP_SERVICE_STORAGE'), + JMESPathCheck('[0].value', 'false'), + ]) + + self.cmd('webapp update -g {} -n {} --https-only true'.format(resource_group, webapp_name), checks=[JMESPathCheck("httpsOnly", True)]) + self.cmd('webapp update -g {} -n {} --https-only false'.format(resource_group, webapp_name), checks=[JMESPathCheck("httpsOnly", False)]) + + @ResourceGroupPreparer(location="westus2") + def test_win_webapp_quick_create_kube(self, resource_group): + webapp_name = self.create_random_name(prefix='webapp-quick', length=24) + plan = self.create_random_name(prefix='plan-quick', length=24) + self.cmd('appservice plan create -g {} -n {}'.format(resource_group, plan)) + r = self.cmd('webapp create -g {} -n {} --plan {} --deployment-local-git'.format( + resource_group, webapp_name, plan)).get_output_in_json() + self.assertTrue(r['ftpPublishingUrl'].startswith('ftp://')) + self.cmd('webapp config appsettings list -g {} -n {}'.format(resource_group, webapp_name), checks=[ + JMESPathCheck('[0].name', 'WEBSITE_NODE_DEFAULT_VERSION'), + JMESPathCheck('[0].value', '12.13.0'), + ]) + + self.cmd('webapp update -g {} -n {} --https-only true'.format(resource_group, webapp_name), checks=[JMESPathCheck("httpsOnly", True)]) + self.cmd('webapp update -g {} -n {} --https-only false'.format(resource_group, webapp_name), checks=[JMESPathCheck("httpsOnly", False)]) + + @ResourceGroupPreparer(name_prefix="clitest", random_name_length=24, location="westus2") + def test_win_webapp_quick_create_runtime_kube(self, resource_group): + webapp_name = self.create_random_name(prefix='webapp-quick', length=24) + webapp_name_2 = self.create_random_name(prefix='webapp-quick', length=24) + plan = self.create_random_name(prefix='plan-quick', length=24) + self.cmd('appservice plan create -g {} -n {}'.format(resource_group, plan)) + r = self.cmd('webapp create -g {} -n {} --plan {} --deployment-local-git -r "node|14LTS"'.format( + resource_group, webapp_name, plan)).get_output_in_json() + self.assertTrue(r['ftpPublishingUrl'].startswith('ftp://')) + self.cmd('webapp config appsettings list -g {} -n {}'.format(resource_group, webapp_name), checks=[ + JMESPathCheck('[0].name', 'WEBSITE_NODE_DEFAULT_VERSION'), + JMESPathCheck('[0].value', '~14'), + ]) + r = self.cmd('webapp create -g {} -n {} --plan {} --deployment-local-git -r "DOTNETCORE|3.1"'.format( + resource_group, webapp_name_2, plan)).get_output_in_json() + self.assertTrue(r['ftpPublishingUrl'].startswith('ftp://')) + + self.cmd('webapp update -g {} -n {} --https-only true'.format(resource_group, webapp_name), checks=[JMESPathCheck("httpsOnly", True)]) + self.cmd('webapp update -g {} -n {} --https-only false'.format(resource_group, webapp_name), checks=[JMESPathCheck("httpsOnly", False)]) diff --git a/src/appservice-kube/setup.py b/src/appservice-kube/setup.py index b857d57665d..54b1183843c 100644 --- a/src/appservice-kube/setup.py +++ b/src/appservice-kube/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.1.5' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -50,12 +50,14 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/appservice-kube', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, scripts=['azext_appservice_kube/getfunctionsjson.sh'], - package_data={'azext_appservice_kube': ['azext_metadata.json']}, + package_data={'azext_appservice_kube': ['azext_metadata.json', + 'resources/LinuxFunctionsStacks.json', + 'resources/WindowsFunctionsStacks.json']}, ) diff --git a/src/attestation/azext_attestation/tests/latest/preparers.py b/src/attestation/azext_attestation/tests/latest/preparers.py index 49a511fc5f5..dceeb57c3cb 100644 --- a/src/attestation/azext_attestation/tests/latest/preparers.py +++ b/src/attestation/azext_attestation/tests/latest/preparers.py @@ -10,7 +10,7 @@ import os from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.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 diff --git a/src/attestation/setup.py b/src/attestation/setup.py index 4f7dc77a6f9..492aa6866af 100644 --- a/src/attestation/setup.py +++ b/src/attestation/setup.py @@ -50,7 +50,7 @@ description='Microsoft Azure Command-Line Tools AttestationManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/attestation', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/attestation', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/authV2/azext_authV2/tests/latest/test_authV2_scenario.py b/src/authV2/azext_authV2/tests/latest/test_authV2_scenario.py index 0f3432b2195..b0f43525d50 100644 --- a/src/authV2/azext_authV2/tests/latest/test_authV2_scenario.py +++ b/src/authV2/azext_authV2/tests/latest/test_authV2_scenario.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, JMESPathCheck) TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) diff --git a/src/authV2/setup.py b/src/authV2/setup.py index d30971e145c..b90f9be18c8 100644 --- a/src/authV2/setup.py +++ b/src/authV2/setup.py @@ -43,7 +43,7 @@ description='Microsoft Azure Command-Line Tools Authv2 Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/authV2', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/authV2', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/automation/setup.py b/src/automation/setup.py index 7940b5d4b06..068bf4a9f9a 100644 --- a/src/automation/setup.py +++ b/src/automation/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools AutomationClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/automation', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/automation', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/azure-firewall/setup.py b/src/azure-firewall/setup.py index d4f2c9ba0d3..672cb496da7 100644 --- a/src/azure-firewall/setup.py +++ b/src/azure-firewall/setup.py @@ -33,7 +33,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/azure-firewall', classifiers=CLASSIFIERS, package_data={'azext_firewall': ['azext_metadata.json']}, packages=find_packages(), diff --git a/src/blockchain/azext_blockchain/tests/latest/preparers.py b/src/blockchain/azext_blockchain/tests/latest/preparers.py index 580507395b5..448b0fad934 100644 --- a/src/blockchain/azext_blockchain/tests/latest/preparers.py +++ b/src/blockchain/azext_blockchain/tests/latest/preparers.py @@ -10,7 +10,7 @@ import os from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.scenario_tests import SingleValueReplacer from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer from azure.cli.testsdk.exceptions import CliTestError diff --git a/src/blockchain/azext_blockchain/tests/latest/test_blockchain_scenario.py b/src/blockchain/azext_blockchain/tests/latest/test_blockchain_scenario.py index 8bf09776ab4..48181a55a79 100644 --- a/src/blockchain/azext_blockchain/tests/latest/test_blockchain_scenario.py +++ b/src/blockchain/azext_blockchain/tests/latest/test_blockchain_scenario.py @@ -11,7 +11,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import ScenarioTest from .. import try_manual from azure.cli.testsdk import ResourceGroupPreparer diff --git a/src/blockchain/setup.py b/src/blockchain/setup.py index 98efd847178..96a301612c0 100644 --- a/src/blockchain/setup.py +++ b/src/blockchain/setup.py @@ -42,7 +42,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/blockchain', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/blockchain', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/blueprint/azext_blueprint/tests/latest/test_blueprint_scenario.py b/src/blueprint/azext_blueprint/tests/latest/test_blueprint_scenario.py index 73b95142b11..eb722dad287 100644 --- a/src/blueprint/azext_blueprint/tests/latest/test_blueprint_scenario.py +++ b/src/blueprint/azext_blueprint/tests/latest/test_blueprint_scenario.py @@ -10,7 +10,7 @@ from pathlib import Path import shutil -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, JMESPathCheck, JMESPathCheckExists, NoneCheck) diff --git a/src/blueprint/setup.py b/src/blueprint/setup.py index 49fb1320220..dacc87904ee 100644 --- a/src/blueprint/setup.py +++ b/src/blueprint/setup.py @@ -48,7 +48,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/blueprint', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/blueprint', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/cli-translator/setup.py b/src/cli-translator/setup.py index 29e2285336f..86da6739075 100644 --- a/src/cli-translator/setup.py +++ b/src/cli-translator/setup.py @@ -37,7 +37,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/cli-translator', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/cli-translator', classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, diff --git a/src/cloudservice/setup.py b/src/cloudservice/setup.py index 7b6c2efd8ee..34cc61cb410 100644 --- a/src/cloudservice/setup.py +++ b/src/cloudservice/setup.py @@ -50,7 +50,7 @@ description='Microsoft Azure Command-Line Tools ComputeManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/cloudservice', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/cloudservice', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py b/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py index 2ed144885d7..440ab4e0dd6 100644 --- a/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py +++ b/src/codespaces/azext_codespaces/tests/latest/test_codespaces_scenario.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, live_only) diff --git a/src/codespaces/setup.py b/src/codespaces/setup.py index eb99a7807c1..bf0cacbd686 100644 --- a/src/codespaces/setup.py +++ b/src/codespaces/setup.py @@ -49,7 +49,7 @@ description='The Azure CLI Codespaces extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/codespaces', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/codespaces', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/communication/HISTORY.rst b/src/communication/HISTORY.rst index 4338ead44df..fba9fafbe16 100644 --- a/src/communication/HISTORY.rst +++ b/src/communication/HISTORY.rst @@ -3,6 +3,13 @@ Release History =============== +1.1.0 +++++++ +* Add communication identity command group. +* Add communication sms command group. +* Add communication phonenumbers command group. + + 1.0.0 ++++++ * GA release. diff --git a/src/communication/README.md b/src/communication/README.md index cd4b143a40b..a4f8b82b116 100644 --- a/src/communication/README.md +++ b/src/communication/README.md @@ -49,3 +49,22 @@ az communication regenerate-key --name "MyCommunicationResource" --key-type "Pri ``` az communication delete --name "MyCommunicationResource" --resource-group "MyResourceGroup" ``` +##### Issue-Access-Token ##### +``` +az communication identity issue-access-token --scope chat + +az communication identity issue-access-token --scope chat voip --userid "8:acs:xxxxxx" +``` +##### Send-SMS ##### +``` +az communication sms send-sms --sender "+1833xxxxxxx" \ + --recipient "+1425xxxxxxx" --message "Hello there!!" +``` +##### List-Phonenumbers ##### +``` +az communication phonenumbers list-phonenumbers +``` +##### Show-Phonenumber ##### +``` +az communication phonenumbers show-phonenumber --phonenumber "+1833xxxxxxx" +``` diff --git a/src/communication/azext_communication/__init__.py b/src/communication/azext_communication/__init__.py index 5cbd33f6790..cc078cff820 100644 --- a/src/communication/azext_communication/__init__.py +++ b/src/communication/azext_communication/__init__.py @@ -9,6 +9,7 @@ # -------------------------------------------------------------------------- from azure.cli.core import AzCommandsLoader +from azure.cli.core.commands import AzCommandGroup from azext_communication.generated._help import helps # pylint: disable=unused-import try: from azext_communication.manual._help import helps # pylint: disable=reimported @@ -24,8 +25,9 @@ def __init__(self, cli_ctx=None): communication_custom = CliCommandType( operations_tmpl='azext_communication.custom#{}', client_factory=cf_communication_cl) - parent = super(CommunicationServiceManagementClientCommandsLoader, self) - parent.__init__(cli_ctx=cli_ctx, custom_command_type=communication_custom) + parent = super() + parent.__init__(cli_ctx=cli_ctx, custom_command_type=communication_custom, + command_group_cls=CommunicationCommandGroup) def load_command_table(self, args): from azext_communication.generated.commands import load_command_table @@ -47,4 +49,26 @@ def load_arguments(self, command): pass +class CommunicationCommandGroup(AzCommandGroup): + + def communication_custom_command(self, name, method_name, **kwargs): + command_name = self.custom_command(name, method_name, **kwargs) + self._register_data_plane_account_arguments(command_name) + + def _register_data_plane_account_arguments(self, command_name): + """ Add parameters required to create a communication client """ + from .manual._validators import validate_client_parameters + + command = self.command_loader.command_table.get(command_name, None) + + if not command: + return + + group_name = 'communication' + command.add_argument('connection_string', '--connection-string', required=False, default=None, + validator=validate_client_parameters, arg_group=group_name, + help='Communication connection string. Environment variable: ' + 'AZURE_COMMUNICATION_CONNECTION_STRING') + + COMMAND_LOADER_CLS = CommunicationServiceManagementClientCommandsLoader diff --git a/src/communication/azext_communication/manual/_client_factory.py b/src/communication/azext_communication/manual/_client_factory.py new file mode 100644 index 00000000000..ca095c3502f --- /dev/null +++ b/src/communication/azext_communication/manual/_client_factory.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. +# -------------------------------------------------------------------------------------------- + + +# pylint: disable=unused-argument +def cf_communication_identity(cli_ctx, kwargs): + from azure.communication.identity import CommunicationIdentityClient + connection_string = kwargs.pop('connection_string', None) + client = CommunicationIdentityClient.from_connection_string(connection_string) + return client + + +def cf_communication_sms(cli_ctx, kwargs): + from azure.communication.sms import SmsClient + connection_string = kwargs.pop('connection_string', None) + client = SmsClient.from_connection_string(connection_string) + return client + + +def cf_communication_phonenumbers(cli_ctx, kwargs): + from azure.communication.phonenumbers import PhoneNumbersClient + connection_string = kwargs.pop('connection_string', None) + client = PhoneNumbersClient.from_connection_string(connection_string) + return client diff --git a/src/communication/azext_communication/manual/_help.py b/src/communication/azext_communication/manual/_help.py index 2952f316776..985dc43c74d 100644 --- a/src/communication/azext_communication/manual/_help.py +++ b/src/communication/azext_communication/manual/_help.py @@ -111,3 +111,58 @@ text: |- az communication wait --name "MyCommunicationResource" --resource-group "MyResourceGroup" --deleted """ + +helps['communication identity'] = """ + type: group + short-summary: Commands to manage User Identity for a CommunicationService resource. +""" + +helps['communication identity issue-access-token'] = """ + type: command + short-summary: "Issues a new access token with the specified scopes for a given User Identity. If no User Identity is specified, creates a new User Identity as well." + examples: + - name: issue-access-token + text: |- + az communication identity issue-access-token --scope chat + - name: issue-access-token with multiple scopes and userid + text: |- + az communication identity issue-access-token --scope chat voip --userid "8:acs:xxxxxx" +""" + +helps['communication sms'] = """ + type: group + short-summary: Commands to manage SMS for a CommunicationService resource. +""" + +helps['communication sms send-sms'] = """ + type: command + short-summary: "Sends an SMS from the sender phone number to the recipient phone number." + examples: + - name: send sms + text: |- + az communication sms send-sms --sender "+1833xxxxxxx" \ +--recipient "+1425xxxxxxx" --message "Hello there!!" +""" + +helps['communication phonenumbers'] = """ + type: group + short-summary: Commands to manage phone numbers for a CommunicationService resource. +""" + +helps['communication phonenumbers list-phonenumbers'] = """ + type: command + short-summary: "Lists all phone numbers associated with the CommunicationService resource." + examples: + - name: list phonenumbers + text: |- + az communication phonenumbers list-phonenumbers +""" + +helps['communication phonenumbers show-phonenumber'] = """ + type: command + short-summary: "Shows the details for a phone number associated with the CommunicationService resource." + examples: + - name: show phonenumber + text: |- + az communication phonenumbers show-phonenumber --phonenumber "+1833xxxxxxx" +""" diff --git a/src/communication/azext_communication/manual/_params.py b/src/communication/azext_communication/manual/_params.py index 0cd6a145d7a..c9f8ce567c9 100644 --- a/src/communication/azext_communication/manual/_params.py +++ b/src/communication/azext_communication/manual/_params.py @@ -7,3 +7,17 @@ def load_arguments(self, _): with self.argument_context('communication update') as c: c.argument('location', validator=None) + + with self.argument_context('communication identity issue-access-token') as c: + c.argument('userid', options_list=['--userid', '-u'], type=str, help='ACS identifier') + c.argument('scopes', options_list=[ + '--scope', '-s'], nargs='+', help='list of scopes for an access token ex: chat/voip') + + with self.argument_context('communication sms send-sms') as c: + c.argument('sender', options_list=['--sender', '-s'], type=str, help='The sender of the SMS') + c.argument('recipient', options_list=['--recipient', '-r'], type=str, help='The recipient of the SMS') + c.argument('message', options_list=['--message', '-m'], type=str, help='The message in the SMS') + + with self.argument_context('communication phonenumbers show-phonenumber') as c: + c.argument('phonenumber', options_list=[ + '--phonenumber', '-p'], type=str, help='Phone number to get information about') diff --git a/src/communication/azext_communication/manual/_validators.py b/src/communication/azext_communication/manual/_validators.py new file mode 100644 index 00000000000..b277561b571 --- /dev/null +++ b/src/communication/azext_communication/manual/_validators.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. +# -------------------------------------------------------------------------------------------- + + +def get_config_value(cmd, section, key, default): + return cmd.cli_ctx.config.get(section, key, default) + + +def validate_client_parameters(cmd, namespace): + """ Retrieves communication connection parameters from environment variables + and parses out connection string into account name and key """ + n = namespace + + if not n.connection_string: + n.connection_string = get_config_value(cmd, 'communication', 'connection_string', None) diff --git a/src/communication/azext_communication/manual/commands.py b/src/communication/azext_communication/manual/commands.py new file mode 100644 index 00000000000..063ddaadfb6 --- /dev/null +++ b/src/communication/azext_communication/manual/commands.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=line-too-long +from azext_communication.manual._client_factory import cf_communication_identity +from azext_communication.manual._client_factory import cf_communication_sms +from azext_communication.manual._client_factory import cf_communication_phonenumbers + + +def load_command_table(self, _): + + with self.command_group('communication identity', client_factory=cf_communication_identity) as g: + g.communication_custom_command('issue-access-token', "issue_access_token", client_factory=cf_communication_identity) + + with self.command_group('communication sms', client_factory=cf_communication_sms) as g: + g.communication_custom_command('send-sms', 'communication_send_sms') + + with self.command_group('communication phonenumbers', client_factory=cf_communication_phonenumbers) as g: + g.communication_custom_command('list-phonenumbers', 'communication_list_phonenumbers') + g.communication_custom_command('show-phonenumber', 'communication_show_phonenumber') diff --git a/src/communication/azext_communication/manual/custom.py b/src/communication/azext_communication/manual/custom.py new file mode 100644 index 00000000000..d801925a668 --- /dev/null +++ b/src/communication/azext_communication/manual/custom.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. +# -------------------------------------------------------------------------------------------- + + +from azure.communication.identity import CommunicationUserIdentifier + + +def issue_access_token(client, scopes, userid=None): + user_token_data = {"user_id": userid, "token": "", "expires_on": ""} + if userid is not None: + user = CommunicationUserIdentifier(userid) + token_data = client.get_token(user, scopes) + user_token_data["token"] = token_data.token + user_token_data["expires_on"] = str(token_data.expires_on) + else: + identity_token_result = client.create_user_and_token(scopes) + if len(identity_token_result) >= 2: + user_token_data["user_id"] = identity_token_result[0].properties['id'] + user_token_data["token"] = identity_token_result[1].token + user_token_data["expires_on"] = str(identity_token_result[1].expires_on) + + return user_token_data + + +def communication_send_sms(client, sender, recipient, message): + return client.send(from_=sender, to=recipient, message=message) + + +def communication_list_phonenumbers(client): + return client.list_purchased_phone_numbers() + + +def communication_show_phonenumber(client, phonenumber): + return client.get_purchased_phone_number(phonenumber) diff --git a/src/communication/azext_communication/tests/latest/preparers.py b/src/communication/azext_communication/tests/latest/preparers.py new file mode 100644 index 00000000000..e41da6543ac --- /dev/null +++ b/src/communication/azext_communication/tests/latest/preparers.py @@ -0,0 +1,66 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.testsdk.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer, ResourceGroupPreparer +from azure.cli.testsdk.exceptions import CliTestError +from azure.cli.testsdk.reverse_dependency import get_dummy_cli +import os + +# Communication resource Preparer and its shorthand decorator +# pylint: disable=too-many-instance-attributes +class CommunicationResourcePreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest', location='Global', data_location='United States', length=24, + parameter_name='communication_resource', resource_group_parameter_name='resource_group', skip_delete=True, + dev_setting_name='AZURE_CLI_TEST_DEV_COMMUNICATION_RESOURCE_NAME', key='cr'): + super(CommunicationResourcePreparer, self).__init__(name_prefix, length) + self.cli_ctx = get_dummy_cli() + self.location = location + self.data_location = data_location + self.resource_group_parameter_name = resource_group_parameter_name + self.skip_delete = skip_delete + self.parameter_name = parameter_name + self.key = key + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + group = self._get_resource_group(**kwargs) + + if not self.dev_setting_name: + + template = 'az communication create --name {} --location {} --data-location "{}" --resource-group {} ' + self.live_only_execute(self.cli_ctx, template.format( + name, self.location, self.data_location, group)) + else: + name = self.dev_setting_name + + try: + account_key = self.live_only_execute(self.cli_ctx, + 'az communication list-key --name {} --resource-group {} --query "primaryConnectionString" -otsv' + .format(name, group)).output.strip() + except AttributeError: # live only execute returns None if playing from record + account_key = None + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name, + self.parameter_name + '_info': (name, account_key or 'endpoint=https://sanitized.communication.azure.com/;accesskey=fake===')} + + def remove_resource(self, name, **kwargs): + if not self.skip_delete and not self.dev_setting_name: + group = self._get_resource_group(**kwargs) + self.live_only_execute(self.cli_ctx, 'az communication delete --name {} --resource-group {} --yes'.format(name, group)) + + def _get_resource_group(self, **kwargs): + try: + return kwargs.get(self.resource_group_parameter_name) + except KeyError: + template = 'To create a communication resource a resource group is required. Please add ' \ + 'decorator @{} in front of this communication resource preparer.' + raise CliTestError(template.format(ResourceGroupPreparer.__name__)) diff --git a/src/communication/azext_communication/tests/latest/recording_processors.py b/src/communication/azext_communication/tests/latest/recording_processors.py new file mode 100644 index 00000000000..49c274d7f8d --- /dev/null +++ b/src/communication/azext_communication/tests/latest/recording_processors.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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import re +from azure.cli.testsdk.scenario_tests import RecordingProcessor +from .utils import is_text_payload +try: + from urllib.parse import urlparse +except ImportError: + from urlparse import urlparse + + +class URIIdentityReplacer(RecordingProcessor): + """Replace the identity in request uri""" + + def process_request(self, request): + resource = (urlparse(request.uri).netloc).split('.')[0] + request.uri = re.sub('phoneNumbers/[%2B\d]+', 'phoneNumbers/sanitized', request.uri) + request.uri = re.sub('/identities/([^/?]+)', '/identities/sanitized', request.uri) + request.uri = re.sub(resource, 'sanitized', request.uri) + return request + + def process_response(self, response): + if 'url' in response: + response['url'] = re.sub('phoneNumbers/[%2B\d]+', 'phoneNumbers/sanitized', response['url']) + response['url'] = re.sub('/identities/([^/?]+)', '/identities/sanitized', response['url']) + return response + + +class PhoneNumberResponseReplacerProcessor(RecordingProcessor): + + def __init__(self, keys=None, replacement="sanitized"): + self._keys = keys if keys else [] + self._replacement = replacement + + def process_response(self, response): + import json + try: + body = json.loads(response['body']['string']) + if 'phoneNumbers' in body: + for item in body["phoneNumbers"]: + if isinstance(item, str): + body["phoneNumbers"] = [self._replacement] + break + if "phoneNumber" in item: + item['phoneNumber'] = self._replacement + if "id" in item: + item['id'] = self._replacement + response['body']['string'] = json.dumps(body) + response['url'] = self._replacement + return response + except (KeyError, ValueError, TypeError): + return response + + +class SMSResponseReplacerProcessor(RecordingProcessor): + + def __init__(self, keys=None, replacement="sanitized"): + self._keys = keys if keys else [] + self._replacement = replacement + + def process_request(self, request): + import json + try: + body = json.loads(request.body.decode()) + if 'smsRecipients' in body: + for item in body["smsRecipients"]: + if isinstance(item, str): + body["smsRecipients"] = [self._replacement] + break + if "to" in item: + item['to'] = self._replacement + if "repeatabilityRequestId" in item: + item['repeatabilityRequestId'] = self._replacement + if "repeatabilityFirstSent" in item: + item['repeatabilityFirstSent'] = self._replacement + + request.body = (json.dumps(body)).encode() + except (KeyError, ValueError, TypeError): + return request + + return request + + def process_response(self, response): + import json + try: + body = json.loads(response['body']['string']) + if 'value' in body: + for item in body["value"]: + if isinstance(item, str): + body["value"] = [self._replacement] + break + if "to" in item: + item['to'] = self._replacement + if "messageId" in item: + item['messageId'] = self._replacement + response['body']['string'] = json.dumps(body) + response['url'] = self._replacement + return response + except (KeyError, ValueError, TypeError): + return response + + +class BodyReplacerProcessor(RecordingProcessor): + """Sanitize the sensitive info inside request or response bodies""" + + def __init__(self, keys=None, replacement="sanitized"): + self._replacement = replacement + self._keys = keys if keys else [] + + def process_request(self, request): + if is_text_payload(request) and request.body: + request.body = self._replace_keys(request.body.decode()).encode() + + return request + + def process_response(self, response): + if is_text_payload(response) and response['body']['string']: + response['body']['string'] = self._replace_keys(response['body']['string']) + + return response + + def _replace_keys(self, body): + def _replace_recursively(dictionary): + for key in dictionary: + value = dictionary[key] + if key in self._keys: + dictionary[key] = self._replacement + elif isinstance(value, dict): + _replace_recursively(value) + + import json + try: + body = json.loads(body) + _replace_recursively(body) + + except (KeyError, ValueError): + return body + + return json.dumps(body) \ No newline at end of file diff --git a/src/communication/azext_communication/tests/latest/recordings/test_issue_access_token.yaml b/src/communication/azext_communication/tests/latest/recordings/test_issue_access_token.yaml new file mode 100644 index 00000000000..a2b2a920eaf --- /dev/null +++ b/src/communication/azext_communication/tests/latest/recordings/test_issue_access_token.yaml @@ -0,0 +1,54 @@ +interactions: +- request: + body: '{"createTokenWithScopes": ["chat"]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '35' + Content-Type: + - application/json + Date: + - Mon, 06 Dec 2021 14:07:12 GMT + User-Agent: + - azsdk-python-communication-identity/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - kWpGozyV35fifbpKdY8mbdG64VG0Pdq5upzo7YKAFM0= + x-ms-return-client-request-id: + - 'true' + method: POST + uri: https://sanitized.communication.azure.com/identities?api-version=2021-03-07 + response: + body: + string: '{"identity": {"id": "sanitized"}, "accessToken": {"token": "sanitized", + "expiresOn": "2021-12-07T14:07:13.468764+00:00"}}' + headers: + api-supported-versions: + - 2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1, + 2021-10-31-preview, 2021-11-01 + content-length: + - '919' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 06 Dec 2021 14:07:12 GMT + ms-cv: + - lVPrNvJU5EaYuMAuqOGE7g.2.0 + request-context: + - appId= + strict-transport-security: + - max-age=2592000 + x-azure-ref: + - 0EBmuYQAAAAB2qxxHbORwTbng1P82bMArREVMMDFFREdFMDYxNgA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 53ms + status: + code: 201 + message: Created +version: 1 diff --git a/src/communication/azext_communication/tests/latest/recordings/test_issue_access_token_with_id.yaml b/src/communication/azext_communication/tests/latest/recordings/test_issue_access_token_with_id.yaml new file mode 100644 index 00000000000..2dc0b23389a --- /dev/null +++ b/src/communication/azext_communication/tests/latest/recordings/test_issue_access_token_with_id.yaml @@ -0,0 +1,104 @@ +interactions: +- request: + body: '{}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json + Date: + - Mon, 06 Dec 2021 14:07:15 GMT + User-Agent: + - azsdk-python-communication-identity/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - RBNvo1WzZ4oRRq0W9+hknpT7T8If536DEMBg9hyq/4o= + x-ms-return-client-request-id: + - 'true' + method: POST + uri: https://sanitized.communication.azure.com/identities?api-version=2021-03-07 + response: + body: + string: '{"identity": {"id": "sanitized"}}' + headers: + api-supported-versions: + - 2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1, + 2021-10-31-preview, 2021-11-01 + content-length: + - '101' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 06 Dec 2021 14:07:17 GMT + ms-cv: + - db5x9gldH0Oox282mizq9A.2.0 + request-context: + - appId= + strict-transport-security: + - max-age=2592000 + x-azure-ref: + - 0ExmuYQAAAAD3Vfx251tyRo6XckH+lfvVREVMMDFFREdFMDUwNgA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 42ms + status: + code: 201 + message: Created +- request: + body: '{"scopes": ["chat"]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '20' + Content-Type: + - application/json + Date: + - Mon, 06 Dec 2021 14:07:17 GMT + User-Agent: + - azsdk-python-communication-identity/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - sZHRO4JkAmw3HcI1PyxrC5twHvkHIWjyMLVIkauXKRA= + x-ms-return-client-request-id: + - 'true' + method: POST + uri: https://sanitized.communication.azure.com/identities/sanitized/:issueAccessToken?api-version=2021-03-07 + response: + body: + string: '{"token": "sanitized", "expiresOn": "2021-12-07T14:07:19.6772889+00:00"}' + headers: + api-supported-versions: + - 2020-07-20-preview2, 2021-02-22-preview1, 2021-03-07, 2021-03-31-preview1, + 2021-10-31-preview, 2021-11-01 + content-length: + - '804' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 06 Dec 2021 14:07:18 GMT + ms-cv: + - ZeXdP0jb4kO0WUp2B31C7g.2.0 + request-context: + - appId= + strict-transport-security: + - max-age=2592000 + x-azure-ref: + - 0FhmuYQAAAAC/PBbMDZ7pSZFPgP+KVjugREVMMDFFREdFMDYyMQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 47ms + status: + code: 200 + message: OK +version: 1 diff --git a/src/communication/azext_communication/tests/latest/recordings/test_list_phonenumbers.yaml b/src/communication/azext_communication/tests/latest/recordings/test_list_phonenumbers.yaml new file mode 100644 index 00000000000..535c4011638 --- /dev/null +++ b/src/communication/azext_communication/tests/latest/recordings/test_list_phonenumbers.yaml @@ -0,0 +1,373 @@ +interactions: +- request: + body: '{"phoneNumberType": "tollFree", "assignmentType": "application", "capabilities": + {"calling": "inbound", "sms": "inbound+outbound"}, "areaCode": "833"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '150' + Content-Type: + - application/json + Date: + - Mon, 06 Dec 2021 14:58:52 GMT + User-Agent: + - azsdk-python-communication-phonenumbers/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - k+8I+2XWVv8hfjOcXxUS3pkWDzlyAVYSAkE9keeVQKQ= + x-ms-return-client-request-id: + - 'true' + method: POST + uri: https://sanitized.communication.azure.com/availablePhoneNumbers/countries/US/:search?api-version=2021-03-07 + response: + body: + string: '' + headers: + access-control-expose-headers: + - Location,Operation-Location,operation-id,search-id + api-supported-versions: + - '2021-03-07' + content-length: + - '0' + date: + - Mon, 06 Dec 2021 14:58:55 GMT + location: + - /availablePhoneNumbers/searchResults/5198a1ca-73d6-4fc9-a435-2d6fab200026?api-version=2021-03-07 + ms-cv: + - TphBgYsAx0mhayt5jm5ydg.0 + operation-id: + - search_5198a1ca-73d6-4fc9-a435-2d6fab200026 + operation-location: + - /phoneNumbers/operations/search_5198a1ca-73d6-4fc9-a435-2d6fab200026?api-version=2021-03-07 + request-context: + - appId= + search-id: + - 5198a1ca-73d6-4fc9-a435-2d6fab200026 + x-azure-ref: + - 0LSWuYQAAAACXHITBS5tiQrnS4SHxO5R+REVMMDFFREdFMDYyMQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 2154ms + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Date: + - Mon, 06 Dec 2021 14:59:26 GMT + User-Agent: + - azsdk-python-communication-phonenumbers/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + x-ms-return-client-request-id: + - 'true' + method: GET + uri: https://sanitized.communication.azure.com/phoneNumbers/operations/search_5198a1ca-73d6-4fc9-a435-2d6fab200026?api-version=2021-03-07 + response: + body: + string: '{"operationType": "search", "status": "succeeded", "resourceLocation": + "/availablePhoneNumbers/searchResults/5198a1ca-73d6-4fc9-a435-2d6fab200026?api-version=2021-03-07", + "createdDateTime": "2021-12-06T14:58:55.7391553+00:00", "id": "sanitized", + "lastActionDateTime": "0001-01-01T00:00:00+00:00"}' + headers: + access-control-expose-headers: + - Location + api-supported-versions: + - '2021-03-07' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 06 Dec 2021 14:59:26 GMT + location: + - /availablePhoneNumbers/searchResults/5198a1ca-73d6-4fc9-a435-2d6fab200026?api-version=2021-03-07 + ms-cv: + - ueyyTekDV0q7YM6o4Wk8dg.0 + request-context: + - appId= + transfer-encoding: + - chunked + x-azure-ref: + - 0TiWuYQAAAAAEK1xXX1leSL0ZN+EYgzEKREVMMDFFREdFMDYyMQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 247ms + status: + code: 200 + message: OK + url: sanitized +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Date: + - Mon, 06 Dec 2021 14:59:26 GMT + User-Agent: + - azsdk-python-communication-phonenumbers/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + x-ms-return-client-request-id: + - 'true' + method: GET + uri: https://sanitized.communication.azure.com/availablePhoneNumbers/searchResults/5198a1ca-73d6-4fc9-a435-2d6fab200026?api-version=2021-03-07 + response: + body: + string: '{"searchId": "5198a1ca-73d6-4fc9-a435-2d6fab200026", "phoneNumbers": + ["sanitized"], "phoneNumberType": "tollFree", "assignmentType": "application", + "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, "cost": + {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}, "searchExpiresBy": + "2021-12-06T15:14:58.1021432+00:00"}' + headers: + api-supported-versions: + - '2021-03-07' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 06 Dec 2021 14:59:27 GMT + ms-cv: + - Qkkas7hLjUyZ2Jn2Eyz/8w.0 + request-context: + - appId= + transfer-encoding: + - chunked + x-azure-ref: + - 0TiWuYQAAAADGQyi9ZfamToBHfKhv/uwdREVMMDFFREdFMDYyMQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 843ms + status: + code: 200 + message: OK + url: sanitized +- request: + body: '{"searchId": "5198a1ca-73d6-4fc9-a435-2d6fab200026"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '52' + Content-Type: + - application/json + Date: + - Mon, 06 Dec 2021 14:59:27 GMT + User-Agent: + - azsdk-python-communication-phonenumbers/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - q7k7dQmReElvco5HyMOMKjtmo0X24DIPCWqYL6+MTkY= + x-ms-return-client-request-id: + - 'true' + method: POST + uri: https://sanitized.communication.azure.com/availablePhoneNumbers/:purchase?api-version=2021-03-07 + response: + body: + string: '' + headers: + access-control-expose-headers: + - Operation-Location,operation-id,purchase-id + api-supported-versions: + - '2021-03-07' + content-length: + - '0' + date: + - Mon, 06 Dec 2021 14:59:29 GMT + ms-cv: + - KkJTT8iP0UmCc629ExcpNA.0 + operation-id: + - purchase_5198a1ca-73d6-4fc9-a435-2d6fab200026 + operation-location: + - /phoneNumbers/operations/purchase_5198a1ca-73d6-4fc9-a435-2d6fab200026?api-version=2021-03-07 + purchase-id: + - 5198a1ca-73d6-4fc9-a435-2d6fab200026 + request-context: + - appId= + x-azure-ref: + - 0TyWuYQAAAAA5ywhIx0IDRoxWDL+wDJJWREVMMDFFREdFMDYyMQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 1808ms + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Date: + - Mon, 06 Dec 2021 14:59:59 GMT + User-Agent: + - azsdk-python-communication-phonenumbers/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + x-ms-return-client-request-id: + - 'true' + method: GET + uri: https://sanitized.communication.azure.com/phoneNumbers/operations/purchase_5198a1ca-73d6-4fc9-a435-2d6fab200026?api-version=2021-03-07 + response: + body: + string: '{"operationType": "purchase", "status": "succeeded", "resourceLocation": + null, "createdDateTime": "2021-12-06T14:58:55.7391553+00:00", "id": "sanitized", + "lastActionDateTime": "0001-01-01T00:00:00+00:00"}' + headers: + api-supported-versions: + - '2021-03-07' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 06 Dec 2021 14:59:59 GMT + ms-cv: + - 1e34DE/Vck60Ag439mDuGg.0 + request-context: + - appId= + transfer-encoding: + - chunked + x-azure-ref: + - 0cCWuYQAAAAA28NbjrOS4QJ2nZdv5YJOuREVMMDFFREdFMDYyMQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 308ms + status: + code: 200 + message: OK + url: sanitized +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Date: + - Mon, 06 Dec 2021 15:00:00 GMT + User-Agent: + - azsdk-python-communication-phonenumbers/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + x-ms-return-client-request-id: + - 'true' + method: GET + uri: https://sanitized.communication.azure.com/phoneNumbers?skip=0&top=100&api-version=2021-03-07 + response: + body: + string: '{"phoneNumbers": [{"id": "sanitized", "phoneNumber": "sanitized", "countryCode": + "US", "phoneNumberType": "geographic", "capabilities": {"calling": "inbound+outbound", + "sms": "none"}, "assignmentType": "application", "purchaseDate": "2021-04-08T17:35:37.4352574+00:00", + "cost": {"amount": 1.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-11-17T11:47:47.2286877+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-12-06T14:48:37.2341582+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-12-06T14:59:45.3037046+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-12-06T14:38:13.1987611+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-08-04T09:49:45.3765116+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound+outbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-04-06T23:29:30.1082746+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound+outbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-04-08T19:23:21.6246128+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound+outbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-04-08T19:23:49.1286852+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "none", "sms": "outbound"}, "assignmentType": + "application", "purchaseDate": "2021-04-12T08:20:46.6769231+00:00", "cost": + {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, {"id": + "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "none", "sms": "outbound"}, "assignmentType": + "application", "purchaseDate": "2021-04-12T13:14:11.6087977+00:00", "cost": + {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, {"id": + "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "outbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-04-12T13:18:16.5746747+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "none", "sms": "outbound"}, "assignmentType": + "application", "purchaseDate": "2021-04-12T15:41:20.7171509+00:00", "cost": + {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, {"id": + "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-04-13T12:13:04.2873741+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-04-13T12:15:50.8017707+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-12-06T14:42:54.2122448+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}, + {"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", "phoneNumberType": + "tollFree", "capabilities": {"calling": "inbound", "sms": "inbound+outbound"}, + "assignmentType": "application", "purchaseDate": "2021-12-06T14:54:33.3820288+00:00", + "cost": {"amount": 2.0, "currencyCode": "USD", "billingFrequency": "monthly"}}]}' + headers: + api-supported-versions: + - '2021-03-07' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 06 Dec 2021 15:00:05 GMT + ms-cv: + - /ussJzn8ckSzlBOSdDRu5g.0 + request-context: + - appId= + transfer-encoding: + - chunked + x-azure-ref: + - 0cCWuYQAAAABQVtDD6YS/T7TMIoPNqdu9REVMMDFFREdFMDYxNgA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 4648ms + status: + code: 200 + message: OK + url: sanitized +version: 1 diff --git a/src/communication/azext_communication/tests/latest/recordings/test_send_sms.yaml b/src/communication/azext_communication/tests/latest/recordings/test_send_sms.yaml new file mode 100644 index 00000000000..d51f151c947 --- /dev/null +++ b/src/communication/azext_communication/tests/latest/recordings/test_send_sms.yaml @@ -0,0 +1,54 @@ +interactions: +- request: + body: '{"from": "sanitized", "smsRecipients": [{"to": "sanitized", "repeatabilityRequestId": + "sanitized", "repeatabilityFirstSent": "sanitized"}], "message": "Hello there!!", + "smsSendOptions": {"enableDeliveryReport": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '272' + Content-Type: + - application/json + Date: + - Mon, 06 Dec 2021 15:36:19 GMT + User-Agent: + - azsdk-python-communication-sms/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - sbLx+oenggMafURnlxO00AGzgCK+WSJHuexmoPo3DyA= + x-ms-return-client-request-id: + - 'true' + method: POST + uri: https://sanitized.communication.azure.com/sms?api-version=2021-03-07 + response: + body: + string: '{"value": [{"to": "sanitized", "messageId": "sanitized", "httpStatusCode": + 202, "repeatabilityResult": "accepted", "successful": true}]}' + headers: + api-supported-versions: + - 2020-07-20-preview1, 2020-08-20-preview, 2021-03-07 + content-type: + - application/json; charset=utf-8 + date: + - Mon, 06 Dec 2021 15:36:20 GMT + ms-cv: + - Ughjm5n6kEilMk/999Ucjg.0 + request-context: + - appId= + transfer-encoding: + - chunked + x-azure-ref: + - 08y2uYQAAAAAV31ZEY/dhTpUOlNFrXq3mREVMMDFFREdFMDYxNwA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 442ms + status: + code: 202 + message: Accepted + url: sanitized +version: 1 diff --git a/src/communication/azext_communication/tests/latest/recordings/test_show_phonenumbers.yaml b/src/communication/azext_communication/tests/latest/recordings/test_show_phonenumbers.yaml new file mode 100644 index 00000000000..7604e85beb3 --- /dev/null +++ b/src/communication/azext_communication/tests/latest/recordings/test_show_phonenumbers.yaml @@ -0,0 +1,51 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Date: + - Fri, 10 Dec 2021 13:47:18 GMT + User-Agent: + - azsdk-python-communication-phonenumbers/1.0.1 Python/3.8.10 (Windows-10-10.0.22000-SP0) + x-ms-content-sha256: + - 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + x-ms-return-client-request-id: + - 'true' + method: GET + uri: https://sanitized.communication.azure.com/phoneNumbers/sanitized?api-version=2021-03-07 + response: + body: + string: '{"id": "sanitized", "phoneNumber": "sanitized", "countryCode": "US", + "phoneNumberType": "tollFree", "capabilities": {"calling": "inbound+outbound", + "sms": "inbound+outbound"}, "assignmentType": "application", "purchaseDate": + "2021-04-06T23:29:30.1082746+00:00", "cost": {"amount": 2.0, "currencyCode": + "USD", "billingFrequency": "monthly"}}' + headers: + api-supported-versions: + - 2021-03-07, 2022-01-11-preview + content-type: + - application/json; charset=utf-8 + date: + - Fri, 10 Dec 2021 13:47:20 GMT + ms-cv: + - t1sLcRKtiEafCidj5PG1hQ.0 + request-context: + - appId= + transfer-encoding: + - chunked + x-azure-ref: + - 0ZlqzYQAAAADKZ2o7XZjuRb2RbOfSdZtpREVMMDFFREdFMDUyMQA5ZmM3YjUxOS1hOGNjLTRmODktOTM1ZS1jOTE0OGFlMDllODE= + x-cache: + - CONFIG_NOCACHE + x-processing-time: + - 1311ms + status: + code: 200 + message: OK + url: sanitized +version: 1 \ No newline at end of file diff --git a/src/communication/azext_communication/tests/latest/test_communication_identity_scenario.py b/src/communication/azext_communication/tests/latest/test_communication_identity_scenario.py new file mode 100644 index 00000000000..0ca773a7741 --- /dev/null +++ b/src/communication/azext_communication/tests/latest/test_communication_identity_scenario.py @@ -0,0 +1,47 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.testsdk import ScenarioTest, ResourceGroupPreparer +from .utils import get_test_identity_id +import os +from .recording_processors import BodyReplacerProcessor, URIIdentityReplacer +from .preparers import CommunicationResourcePreparer + + +class CommunicationIdentityScenarios(ScenarioTest): + + def __init__(self, method_name): + super().__init__(method_name, recording_processors=[ + URIIdentityReplacer(), + BodyReplacerProcessor(keys=["id", "token"]) + ]) + + @ResourceGroupPreparer(name_prefix='clitestcommunication_MyResourceGroup'[:7], key='rg', parameter_name='rg') + @CommunicationResourcePreparer(resource_group_parameter_name='rg') + def test_issue_access_token(self, communication_resource_info): + + os.environ['AZURE_COMMUNICATION_CONNECTION_STRING'] = communication_resource_info[1] + + val = self.cmd( + 'az communication identity issue-access-token --scope chat').get_output_in_json() + self.assertIsNotNone(val['token']) + + @ResourceGroupPreparer(name_prefix='clitestcommunication_MyResourceGroup'[:7], key='rg', parameter_name='rg') + @CommunicationResourcePreparer(resource_group_parameter_name='rg') + def test_issue_access_token_with_id(self, communication_resource_info): + + os.environ['AZURE_COMMUNICATION_CONNECTION_STRING'] = communication_resource_info[1] + + id = get_test_identity_id(self.is_live, self.in_recording, communication_resource_info[1]) + self.kwargs.update({'id': id}) + + val = self.cmd( + 'az communication identity issue-access-token --scope chat --userid {id}').get_output_in_json() + self.assertIsNotNone(val['token']) diff --git a/src/communication/azext_communication/tests/latest/test_communication_phonenumber_scenario.py b/src/communication/azext_communication/tests/latest/test_communication_phonenumber_scenario.py new file mode 100644 index 00000000000..83159e7a019 --- /dev/null +++ b/src/communication/azext_communication/tests/latest/test_communication_phonenumber_scenario.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. +# -------------------------------------------------------------------------- + +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from .utils import get_test_source_phonenumber, get_new_phonenumber +from .recording_processors import BodyReplacerProcessor, URIIdentityReplacer, PhoneNumberResponseReplacerProcessor +from .preparers import CommunicationResourcePreparer +import os + + +class CommunicationPhonenumberScenarios(ScenarioTest): + + def __init__(self, method_name): + super().__init__(method_name, recording_processors=[ + URIIdentityReplacer(), + PhoneNumberResponseReplacerProcessor(), + BodyReplacerProcessor(keys=["id", "token", "phoneNumber"]) + ]) + + @ResourceGroupPreparer(name_prefix='clitestcommunication_MyResourceGroup'[:7], key='rg', parameter_name='rg') + @CommunicationResourcePreparer(resource_group_parameter_name='rg') + def test_list_phonenumbers(self, communication_resource_info): + if self.is_live or self.in_recording: + get_new_phonenumber(communication_resource_info[1]) + + os.environ['AZURE_COMMUNICATION_CONNECTION_STRING'] = communication_resource_info[1] + + phonenumber_list = self.cmd( + 'az communication phonenumbers list-phonenumbers').get_output_in_json() + assert len(phonenumber_list) > 0 + + @ResourceGroupPreparer(name_prefix='clitestcommunication_MyResourceGroup'[:7], key='rg', parameter_name='rg') + @CommunicationResourcePreparer(resource_group_parameter_name='rg') + def test_show_phonenumbers(self, communication_resource_info): + phonenumber = get_test_source_phonenumber(self.is_live, self.in_recording) + if phonenumber is None: + phonenumber = get_new_phonenumber(communication_resource_info[1]) + + self.kwargs.update({'phonenumber': phonenumber}) + os.environ['AZURE_COMMUNICATION_CONNECTION_STRING'] = communication_resource_info[1] + + phonenumber_info = self.cmd( + 'az communication phonenumbers show-phonenumber --phonenumber \"{phonenumber}\"').get_output_in_json() + self.assertIsNotNone(phonenumber_info['id']) + self.assertIsNotNone(phonenumber_info['assignmentType']) + self.assertIsNotNone(phonenumber_info['capabilities']) + self.assertIsNotNone(phonenumber_info['cost']) + self.check(phonenumber_info['phoneNumber'], phonenumber) diff --git a/src/communication/azext_communication/tests/latest/test_communication_sms_scenarios.py b/src/communication/azext_communication/tests/latest/test_communication_sms_scenarios.py new file mode 100644 index 00000000000..c73087b5875 --- /dev/null +++ b/src/communication/azext_communication/tests/latest/test_communication_sms_scenarios.py @@ -0,0 +1,50 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.testsdk import ScenarioTest, ResourceGroupPreparer +from .utils import get_new_phonenumber, get_test_recipient_phonenumber, get_test_source_phonenumber +import os +from .recording_processors import BodyReplacerProcessor, URIIdentityReplacer, SMSResponseReplacerProcessor +from .preparers import CommunicationResourcePreparer + +class CommunicationSmsScenarios(ScenarioTest): + + def __init__(self, method_name): + super().__init__(method_name, recording_processors=[ + URIIdentityReplacer(), + SMSResponseReplacerProcessor(), + BodyReplacerProcessor(keys=["from"]) + ]) + + @ResourceGroupPreparer(name_prefix='clitestcommunication_MyResourceGroup'[:7], key='rg', parameter_name='rg') + @CommunicationResourcePreparer(resource_group_parameter_name='rg') + def test_send_sms(self, communication_resource_info): + + os.environ['AZURE_COMMUNICATION_CONNECTION_STRING'] = communication_resource_info[1] + + sender = get_test_source_phonenumber(self.is_live, self.in_recording) + recipient = get_test_recipient_phonenumber(self.is_live, self.in_recording) + + if sender is None: + sender = get_new_phonenumber(communication_resource_info[1]) + + if recipient is None: + recipient = sender + + self.kwargs.update({ + 'sender': sender, + 'recipient': recipient}) + + self.cmd('az communication sms send-sms --sender \"{sender}\" \ + --recipient \"{recipient}\" --message "Hello there!!"', checks=[ + self.check("[0].errorMessage", None), + self.check("[0].httpStatusCode", "202"), + self.check("[0].successful", "True") + ]) diff --git a/src/communication/azext_communication/tests/latest/utils.py b/src/communication/azext_communication/tests/latest/utils.py new file mode 100644 index 00000000000..73edf756d13 --- /dev/null +++ b/src/communication/azext_communication/tests/latest/utils.py @@ -0,0 +1,106 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.communication.phonenumbers import ( + PhoneNumbersClient, + PhoneNumberCapabilityType, + PhoneNumberAssignmentType, + PhoneNumberType, + PhoneNumberCapabilities +) +from azure.communication.identity import CommunicationIdentityClient +import uuid, os + +TEST_RESOURCE_IDENTIFIER = "sanitized" +TEST_SOURCE_PHONENUMBER_DEFAULT = "sanitized" +TEST_RECIPIENT_PHONENUMBER_DEFAULT = "sanitized" + + +def get_from_os_environment(env_name, default): + import os + return os.environ[env_name] if env_name in os.environ and os.environ[env_name] != "" else default + + +def get_test_identity_id(is_live, in_recording, connection_str): + if not is_live and not in_recording: + return TEST_RESOURCE_IDENTIFIER + else: + identity_client = CommunicationIdentityClient.from_connection_string(connection_str) + user = identity_client.create_user() + return user.properties['id'] + + +def get_test_source_phonenumber(is_live, in_recording): + if not is_live and not in_recording: + return TEST_SOURCE_PHONENUMBER_DEFAULT + else: + return get_from_os_environment("AZURE_COMMUNICATION_SOURCE_PHONENUMBER", None) + + +def get_test_recipient_phonenumber(is_live, in_recording): + if not is_live and not in_recording: + return TEST_RECIPIENT_PHONENUMBER_DEFAULT + else: + return get_from_os_environment("AZURE_COMMUNICATION_RECIPIENT_PHONENUMBER", None) + + +def get_new_phonenumber(connection_string): + try: + phone_numbers_client = PhoneNumbersClient.from_connection_string( + connection_string) + capabilities = PhoneNumberCapabilities( + calling=PhoneNumberCapabilityType.INBOUND, + sms=PhoneNumberCapabilityType.INBOUND_OUTBOUND + ) + search_poller = phone_numbers_client.begin_search_available_phone_numbers( + "US", + PhoneNumberType.TOLL_FREE, + PhoneNumberAssignmentType.APPLICATION, + capabilities, + area_code="833", + polling=True + ) + search_result = search_poller.result() + + purchase_poller = phone_numbers_client.begin_purchase_phone_numbers( + search_result.search_id, polling=True) + purchase_poller.result() + if(purchase_poller.status() == 'succeeded'): + phone_number_list = search_result.phone_numbers + for phone_number in phone_number_list: + return phone_number + + except Exception as ex: + return TEST_RECIPIENT_PHONENUMBER_DEFAULT + + +def _get_content_type(entity): + # 'headers' is a field of 'request', but it is a dict-key in 'response' + headers = getattr(entity, 'headers', None) + if headers is None: + headers = entity.get('headers') + + content_type = None + if headers: + content_type = headers.get('content-type', None) + if content_type: + # content-type could an array from response, let us extract it out + content_type = content_type[0] if isinstance(content_type, list) else content_type + content_type = content_type.split(";")[0].lower() + return content_type + + +def is_text_payload(entity): + text_content_list = ['application/json', 'application/xml', 'text/', 'application/test-content'] + + content_type = _get_content_type(entity) + if content_type: + return any(content_type.startswith(x) for x in text_content_list) + return True diff --git a/src/communication/setup.py b/src/communication/setup.py index 7e24df948cb..772b8164543 100644 --- a/src/communication/setup.py +++ b/src/communication/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '1.0.0' +VERSION = '1.1.0' try: from azext_communication.manual.version import VERSION except ImportError: @@ -30,7 +30,8 @@ 'License :: OSI Approved :: MIT License', ] -DEPENDENCIES = [] +DEPENDENCIES = ['azure-core', 'azure-communication-identity', + 'azure-communication-phonenumbers', 'azure-communication-sms'] try: from azext_communication.manual.dependency import DEPENDENCIES @@ -48,7 +49,7 @@ description='Microsoft Azure Command-Line Tools CommunicationServiceManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/communication', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/communication', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/confidentialledger/HISTORY.rst b/src/confidentialledger/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/confidentialledger/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/confidentialledger/README.md b/src/confidentialledger/README.md new file mode 100644 index 00000000000..01d66c8c236 --- /dev/null +++ b/src/confidentialledger/README.md @@ -0,0 +1,39 @@ +# Azure CLI confidentialledger Extension # +This is the extension for confidentialledger + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name confidentialledger +``` + +### Included Features ### +#### confidentialledger #### +##### Create ##### +``` +az confidentialledger create --location "EastUS" \ + --aad-based-security-principals ledger-role-name="Administrator" principal-id="34621747-6fc8-4771-a2eb-72f31c461f2e" tenant-id="bce123b9-2b7b-4975-8360-5ca0b9b1cd08" \ + --cert-based-security-principals cert="MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd" ledger-role-name="Reader" \ + --ledger-type "Public" --tags additionalProps1="additional properties" --name "DummyLedgerName" \ + --resource-group "DummyResourceGroupName" + +az confidentialledger wait --created --name "{myLedger}" --resource-group "{rg}" +``` +##### Show ##### +``` +az confidentialledger show --name "DummyLedgerName" --resource-group "DummyResourceGroupName" +``` +##### List ##### +``` +az confidentialledger list --resource-group "DummyResourceGroupName" +``` +##### Update ##### +``` +az confidentialledger update --location "EastUS" \ + --tags additionProps2="additional property value" additionalProps1="additional properties" \ + --name "DummyLedgerName" --resource-group "DummyResourceGroupName" +``` +##### Delete ##### +``` +az confidentialledger delete --name "DummyLedgerName" --resource-group "DummyResourceGroupName" +``` \ No newline at end of file diff --git a/src/confidentialledger/azext_confidentialledger/__init__.py b/src/confidentialledger/azext_confidentialledger/__init__.py new file mode 100644 index 00000000000..4209c72426c --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/__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 + +from azure.cli.core import AzCommandsLoader + +import azext_confidentialledger._help + + +class ConfidentialLedgerCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_confidentialledger.generated._client_factory import cf_confidentialledger_cl + confidentialledger_custom = CliCommandType( + operations_tmpl='azext_confidentialledger.custom#{}', + client_factory=cf_confidentialledger_cl) + super().__init__(cli_ctx=cli_ctx, custom_command_type=confidentialledger_custom) + + def load_command_table(self, args): + from azext_confidentialledger.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_confidentialledger.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_confidentialledger.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_confidentialledger.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 = ConfidentialLedgerCommandsLoader diff --git a/src/confidentialledger/azext_confidentialledger/_help.py b/src/confidentialledger/azext_confidentialledger/_help.py new file mode 100644 index 00000000000..9b93f87a6e9 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/_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/confidentialledger/azext_confidentialledger/action.py b/src/confidentialledger/azext_confidentialledger/action.py new file mode 100644 index 00000000000..9b3d0a8a78c --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/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/confidentialledger/azext_confidentialledger/azext_metadata.json b/src/confidentialledger/azext_confidentialledger/azext_metadata.json new file mode 100644 index 00000000000..cfc30c747c7 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/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/confidentialledger/azext_confidentialledger/custom.py b/src/confidentialledger/azext_confidentialledger/custom.py new file mode 100644 index 00000000000..885447229d6 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/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/confidentialledger/azext_confidentialledger/generated/__init__.py b/src/confidentialledger/azext_confidentialledger/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/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/confidentialledger/azext_confidentialledger/generated/_client_factory.py b/src/confidentialledger/azext_confidentialledger/generated/_client_factory.py new file mode 100644 index 00000000000..3cb34383e90 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/generated/_client_factory.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. +# -------------------------------------------------------------------------- + + +def cf_confidentialledger_cl(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_confidentialledger.vendored_sdks.confidentialledger import ConfidentialLedger + return get_mgmt_service_client(cli_ctx, + ConfidentialLedger) + + +def cf_ledger(cli_ctx, *_): + return cf_confidentialledger_cl(cli_ctx).ledger diff --git a/src/confidentialledger/azext_confidentialledger/generated/_help.py b/src/confidentialledger/azext_confidentialledger/generated/_help.py new file mode 100644 index 00000000000..b69eb6a0f9f --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/generated/_help.py @@ -0,0 +1,145 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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['confidentialledger'] = ''' + type: group + short-summary: Manage Confidential Ledger +''' + +helps['confidentialledger list'] = """ + type: command + short-summary: "Retrieves the properties of all Confidential Ledgers. And Retrieves the properties of all \ +Confidential Ledgers." + examples: + - name: ConfidentialLedgerList + text: |- + az confidentialledger list --resource-group "DummyResourceGroupName" + - name: ConfidentialLedgerListBySub + text: |- + az confidentialledger list +""" + +helps['confidentialledger show'] = """ + type: command + short-summary: "Retrieves the properties of a Confidential Ledger." + examples: + - name: ConfidentialLedgerGet + text: |- + az confidentialledger show --name "DummyLedgerName" --resource-group "DummyResourceGroupName" +""" + +helps['confidentialledger create'] = """ + type: command + short-summary: "Creates a Confidential Ledger with the specified ledger parameters." + parameters: + - name: --aad-based-security-principals --aad-based-users + short-summary: "Array of all AAD based Security Principals." + long-summary: | + Usage: --aad-based-security-principals principal-id=XX tenant-id=XX ledger-role-name=XX + + principal-id: UUID/GUID based Principal Id of the Security Principal + tenant-id: UUID/GUID based Tenant Id of the Security Principal + ledger-role-name: LedgerRole associated with the Security Principal of Ledger + + Multiple actions can be specified by using more than one --aad-based-security-principals argument. + - name: --cert-based-security-principals --cert-based-users + short-summary: "Array of all cert based Security Principals." + long-summary: | + Usage: --cert-based-security-principals cert=XX ledger-role-name=XX + + cert: Public key of the user cert (.pem or .cer) + ledger-role-name: LedgerRole associated with the Security Principal of Ledger + + Multiple actions can be specified by using more than one --cert-based-security-principals argument. + examples: + - name: ConfidentialLedgerCreate + text: |- + az confidentialledger create --location "EastUS" --aad-based-security-principals \ +ledger-role-name="Administrator" principal-id="34621747-6fc8-4771-a2eb-72f31c461f2e" tenant-id="bce123b9-2b7b-4975-8360\ +-5ca0b9b1cd08" --cert-based-security-principals cert="-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJ\ +uU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2M\ +BAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcou\ +Uk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4n\ +GsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+\ +HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----" \ +ledger-role-name="Reader" --ledger-type "Public" --tags additionalProps1="additional properties" --name \ +"DummyLedgerName" --resource-group "DummyResourceGroupName" +""" + +helps['confidentialledger update'] = """ + type: command + short-summary: "Updates properties of Confidential Ledger." + parameters: + - name: --aad-based-security-principals --aad-based-users + short-summary: "Array of all AAD based Security Principals." + long-summary: | + Usage: --aad-based-security-principals principal-id=XX tenant-id=XX ledger-role-name=XX + + principal-id: UUID/GUID based Principal Id of the Security Principal + tenant-id: UUID/GUID based Tenant Id of the Security Principal + ledger-role-name: LedgerRole associated with the Security Principal of Ledger + + Multiple actions can be specified by using more than one --aad-based-security-principals argument. + - name: --cert-based-security-principals --cert-based-users + short-summary: "Array of all cert based Security Principals." + long-summary: | + Usage: --cert-based-security-principals cert=XX ledger-role-name=XX + + cert: Public key of the user cert (.pem or .cer) + ledger-role-name: LedgerRole associated with the Security Principal of Ledger + + Multiple actions can be specified by using more than one --cert-based-security-principals argument. + examples: + - name: ConfidentialLedgerUpdate + text: |- + az confidentialledger update --location "EastUS" --aad-based-security-principals \ +ledger-role-name="Administrator" principal-id="34621747-6fc8-4771-a2eb-72f31c461f2e" tenant-id="bce123b9-2b7b-4975-8360\ +-5ca0b9b1cd08" --cert-based-security-principals cert="-----BEGIN CERTIFICATE-----\\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkB\ +YmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyOD\ +Q2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Uge\ +g5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSL\ +yEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4\ +B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoD\ +AJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1\ +PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yN\ +k7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzA\ +IR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5\ +mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\\n-----END CERTIFICATE-----" ledger-role-name="Reader" --ledger-type "Public" \ +--tags additionProps2="additional property value" additionalProps1="additional properties" --name "DummyLedgerName" \ +--resource-group "DummyResourceGroupName" +""" + +helps['confidentialledger delete'] = """ + type: command + short-summary: "Deletes an existing Confidential Ledger." + examples: + - name: ConfidentialLedgerDelete + text: |- + az confidentialledger delete --name "DummyLedgerName" --resource-group "DummyResourceGroupName" +""" + +helps['confidentialledger wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the confidentialledger is met. + examples: + - name: Pause executing next line of CLI script until the confidentialledger is successfully created. + text: |- + az confidentialledger wait --name "DummyLedgerName" --resource-group "DummyResourceGroupName" --created + - name: Pause executing next line of CLI script until the confidentialledger is successfully updated. + text: |- + az confidentialledger wait --name "DummyLedgerName" --resource-group "DummyResourceGroupName" --updated + - name: Pause executing next line of CLI script until the confidentialledger is successfully deleted. + text: |- + az confidentialledger wait --name "DummyLedgerName" --resource-group "DummyResourceGroupName" --deleted +""" diff --git a/src/confidentialledger/azext_confidentialledger/generated/_params.py b/src/confidentialledger/azext_confidentialledger/generated/_params.py new file mode 100644 index 00000000000..6523c0c243a --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/generated/_params.py @@ -0,0 +1,74 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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_confidentialledger.action import ( + AddAadBasedSecurityPrincipals, + AddCertBasedSecurityPrincipals +) + + +def load_arguments(self, _): + + with self.argument_context('confidentialledger list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('filter_', options_list=['--filter'], type=str, help='The filter to apply on the list operation. ' + 'eg. $filter=ledgerType eq \'Public\'') + + with self.argument_context('confidentialledger show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('ledger_name', options_list=['--name', '-n', '--ledger-name'], type=str, help='Name of the ' + 'Confidential Ledger', id_part='name') + + with self.argument_context('confidentialledger create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('ledger_name', options_list=['--name', '-n', '--ledger-name'], type=str, help='Name of the ' + 'Confidential Ledger') + 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('ledger_type', arg_type=get_enum_type(['Unknown', 'Public', 'Private']), help='Type of Confidential ' + 'Ledger') + c.argument('aad_based_security_principals', options_list=['--aad-based-security-principals', '--aad-based-users'], action=AddAadBasedSecurityPrincipals, nargs='+', help='Array of ' + 'all AAD-based Security Principals.') + c.argument('cert_based_security_principals', options_list=['--cert-based-security-principals', '--cert-based-users'], action=AddCertBasedSecurityPrincipals, nargs='+', help='Array of ' + 'all certificate-based Security Principals.') + + with self.argument_context('confidentialledger update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('ledger_name', options_list=['--name', '-n', '--ledger-name'], type=str, help='Name of the ' + 'Confidential Ledger', id_part='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('ledger_type', arg_type=get_enum_type(['Unknown', 'Public', 'Private']), help='Type of Confidential ' + 'Ledger') + c.argument('aad_based_security_principals', options_list=['--aad-based-security-principals', '--aad-based-users'], action=AddAadBasedSecurityPrincipals, nargs='+', help='Array of ' + 'all AAD-based Security Principals.') + c.argument('cert_based_security_principals', options_list=['--cert-based-security-principals', '--cert-based-users'], action=AddCertBasedSecurityPrincipals, nargs='+', help='Array of ' + 'all certificate-based Security Principals.') + + with self.argument_context('confidentialledger delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('ledger_name', options_list=['--name', '-n', '--ledger-name'], type=str, help='Name of the ' + 'Confidential Ledger', id_part='name') + + with self.argument_context('confidentialledger wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('ledger_name', options_list=['--name', '-n', '--ledger-name'], type=str, help='Name of the ' + 'Confidential Ledger', id_part='name') diff --git a/src/account/azext_account/vendored_sdks/subscription/version.py b/src/confidentialledger/azext_confidentialledger/generated/_validators.py similarity index 92% rename from src/account/azext_account/vendored_sdks/subscription/version.py rename to src/confidentialledger/azext_confidentialledger/generated/_validators.py index 266f5a486d7..b33a44c1ebf 100644 --- a/src/account/azext_account/vendored_sdks/subscription/version.py +++ b/src/confidentialledger/azext_confidentialledger/generated/_validators.py @@ -1,4 +1,3 @@ -# coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for @@ -8,6 +7,3 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- - -VERSION = "0.5.0" - diff --git a/src/confidentialledger/azext_confidentialledger/generated/action.py b/src/confidentialledger/azext_confidentialledger/generated/action.py new file mode 100644 index 00000000000..b5802315214 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/generated/action.py @@ -0,0 +1,88 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 AddAadBasedSecurityPrincipals(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddAadBasedSecurityPrincipals, 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 == 'principal-id': + d['principal_id'] = v[0] + + elif kl == 'tenant-id': + d['tenant_id'] = v[0] + + elif kl == 'ledger-role-name': + d['ledger_role_name'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter aad-based-security-principals. All possible keys are:' + ' principal-id, tenant-id, ledger-role-name'.format(k) + ) + + return d + + +class AddCertBasedSecurityPrincipals(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddCertBasedSecurityPrincipals, 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 == 'cert': + d['cert'] = v[0] + + elif kl == 'ledger-role-name': + d['ledger_role_name'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter cert-based-security-principals. All possible keys' + ' are: cert, ledger-role-name'.format(k) + ) + + return d diff --git a/src/confidentialledger/azext_confidentialledger/generated/commands.py b/src/confidentialledger/azext_confidentialledger/generated/commands.py new file mode 100644 index 00000000000..d79d6ab6357 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/generated/commands.py @@ -0,0 +1,37 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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_confidentialledger.generated._client_factory import cf_ledger + + +confidentialledger_ledger = CliCommandType( + operations_tmpl=( + 'azext_confidentialledger.vendored_sdks.confidentialledger.operations._ledger_operations#LedgerOperations.{}' + ), + client_factory=cf_ledger, +) + + +def load_command_table(self, _): + + with self.command_group( + 'confidentialledger', confidentialledger_ledger, client_factory=cf_ledger, is_experimental=True + ) as g: + g.custom_command('list', 'confidentialledger_list') + g.custom_show_command('show', 'confidentialledger_show') + g.custom_command('create', 'confidentialledger_create', supports_no_wait=True) + g.custom_command('update', 'confidentialledger_update', supports_no_wait=True) + g.custom_command('delete', 'confidentialledger_delete', supports_no_wait=True, confirmation=True) + g.custom_wait_command('wait', 'confidentialledger_show') diff --git a/src/confidentialledger/azext_confidentialledger/generated/custom.py b/src/confidentialledger/azext_confidentialledger/generated/custom.py new file mode 100644 index 00000000000..900f7708d79 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/generated/custom.py @@ -0,0 +1,98 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 confidentialledger_list(client, + resource_group_name=None, + filter_=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name, + filter=filter_) + return client.list_by_subscription(filter=filter_) + + +def confidentialledger_show(client, + resource_group_name, + ledger_name): + return client.get(resource_group_name=resource_group_name, + ledger_name=ledger_name) + + +def confidentialledger_create(client, + resource_group_name, + ledger_name, + location=None, + tags=None, + ledger_type=None, + aad_based_security_principals=None, + cert_based_security_principals=None, + no_wait=False): + confidential_ledger = {} + if location is not None: + confidential_ledger['location'] = location + if tags is not None: + confidential_ledger['tags'] = tags + confidential_ledger['properties'] = {} + if ledger_type is not None: + confidential_ledger['properties']['ledger_type'] = ledger_type + if aad_based_security_principals is not None: + confidential_ledger['properties']['aad_based_security_principals'] = aad_based_security_principals + if cert_based_security_principals is not None: + confidential_ledger['properties']['cert_based_security_principals'] = cert_based_security_principals + if len(confidential_ledger['properties']) == 0: + del confidential_ledger['properties'] + return sdk_no_wait(no_wait, + client.begin_create, + resource_group_name=resource_group_name, + ledger_name=ledger_name, + confidential_ledger=confidential_ledger) + + +def confidentialledger_update(client, + resource_group_name, + ledger_name, + location=None, + tags=None, + ledger_type=None, + aad_based_security_principals=None, + cert_based_security_principals=None, + no_wait=False): + confidential_ledger = {} + if location is not None: + confidential_ledger['location'] = location + if tags is not None: + confidential_ledger['tags'] = tags + confidential_ledger['properties'] = {} + if ledger_type is not None: + confidential_ledger['properties']['ledger_type'] = ledger_type + if aad_based_security_principals is not None: + confidential_ledger['properties']['aad_based_security_principals'] = aad_based_security_principals + if cert_based_security_principals is not None: + confidential_ledger['properties']['cert_based_security_principals'] = cert_based_security_principals + if len(confidential_ledger['properties']) == 0: + del confidential_ledger['properties'] + return sdk_no_wait(no_wait, + client.begin_update, + resource_group_name=resource_group_name, + ledger_name=ledger_name, + confidential_ledger=confidential_ledger) + + +def confidentialledger_delete(client, + resource_group_name, + ledger_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + ledger_name=ledger_name) diff --git a/src/confidentialledger/azext_confidentialledger/manual/__init__.py b/src/confidentialledger/azext_confidentialledger/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/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/confidentialledger/azext_confidentialledger/tests/__init__.py b/src/confidentialledger/azext_confidentialledger/tests/__init__.py new file mode 100644 index 00000000000..70488e93851 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/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/confidentialledger/azext_confidentialledger/tests/latest/__init__.py b/src/confidentialledger/azext_confidentialledger/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/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/confidentialledger/azext_confidentialledger/tests/latest/example_steps.py b/src/confidentialledger/azext_confidentialledger/tests/latest/example_steps.py new file mode 100644 index 00000000000..1dd006a0e88 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/tests/latest/example_steps.py @@ -0,0 +1,128 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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: /Ledger/put/ConfidentialLedgerCreate +@try_manual +def step_create(test, checks=None): + if checks is None: + checks = [] + + return test.cmd('az confidentialledger create ' + '--location "EastUS" ' + '--aad-based-security-principals ledger-role-name="Administrator" principal-id="34621747-6fc8-4771-a2eb-72' + 'f31c461f2e" tenant-id="bce123b9-2b7b-4975-8360-5ca0b9b1cd08" ' + '--cert-based-security-principals cert="-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJu' + 'U74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQD' + 'DAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnO' + 'DtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsX' + 'aZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2' + 'CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBG' + 'aHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----" ledger-role-name="Reader" ' + '--ledger-type "Public" ' + '--tags additionalProps1="additional properties" ' + '--name "{myLedger}" ' + '--resource-group "{rg}"', + checks=[]) + + # The `create` command already waits for resource creation. Testing the `wait` command + # results in an infinite loop of GET resource -> 200 OK. + + +# EXAMPLE: /Ledger/get/ConfidentialLedgerGet +@try_manual +def step_show(test, checks=None): + if checks is None: + checks = [] + return test.cmd('az confidentialledger show ' + '--name "{myLedger}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Ledger/get/ConfidentialLedgerList +@try_manual +def step_list_by_resource_group(test, checks=None): + if checks is None: + checks = [] + test.cmd('az confidentialledger list ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Ledger/get/ConfidentialLedgerListBySub +@try_manual +def step_list_by_subscription(test, checks=None): + if checks is None: + checks = [] + test.cmd('az confidentialledger list ' + '-g ""', + checks=checks) + + +# EXAMPLE: /Ledger/patch/ConfidentialLedgerUpdate +@try_manual +def step_update(test, create_output_json, checks=None): + if checks is None: + checks = [] + + aad_based_principals = "" + for aad_principal in create_output_json["properties"]["aadBasedSecurityPrincipals"]: + if len(aad_based_principals) == 0: + aad_based_principals = "--aad-based-security-principals" + + role_name = aad_principal["ledgerRoleName"] + principal_id = aad_principal["principalId"] + tenant_id = aad_principal["tenantId"] + aad_based_principals += ( + f' ledger-role-name="{role_name}" principal-id="{principal_id}" tenant-id="{tenant_id}"' + ) + + cert_based_principals = "" + for cert_based_principal in create_output_json["properties"]["certBasedSecurityPrincipals"]: + if len(cert_based_principals) == 0: + cert_based_principals = "--cert-based-security-principals" + + cert = cert_based_principal["cert"] + role_name = cert_based_principal["ledgerRoleName"] + cert_based_principals += ( + f' cert="{cert}" ledger-role-name="{role_name}"' + ) + + location = create_output_json["location"] + ledger_type = create_output_json["properties"]["ledgerType"] + + tags = 'additionProps2="additional property value"' + for key, value in create_output_json["tags"].items(): + tags += f' {key}="{value}"' + + test.cmd('az confidentialledger update ' + f'--location "{location}" ' + f'{aad_based_principals} ' + f'{cert_based_principals} ' + f'--ledger-type "{ledger_type}" ' + f'--tags {tags} ' + '--location "EastUS" ' + '--name "{myLedger}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Ledger/delete/ConfidentialLedgerDelete +@try_manual +def step_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az confidentialledger delete -y ' + '--name "{myLedger}" ' + '--resource-group "{rg}"', + checks=checks) diff --git a/src/confidentialledger/azext_confidentialledger/tests/latest/recordings/test_confidentialledger_Scenario.yaml b/src/confidentialledger/azext_confidentialledger/tests/latest/recordings/test_confidentialledger_Scenario.yaml new file mode 100644 index 00000000000..7d1442e2916 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/tests/latest/recordings/test_confidentialledger_Scenario.yaml @@ -0,0 +1,1168 @@ +interactions: +- request: + body: '{"tags": {"additionalProps1": "additional properties"}, "location": "EastUS", + "properties": {"ledgerType": "Public", "aadBasedSecurityPrincipals": [{"principalId": + "34621747-6fc8-4771-a2eb-72f31c461f2e", "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator"}], "certBasedSecurityPrincipals": [{"cert": + "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----", "ledgerRoleName": "Reader"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + Content-Length: + - '1004' + Content-Type: + - application/json + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","name":"DummyLedgerName","type":"microsoft.confidentialledger/ledgers","location":"EastUS","tags":{"additionalProps1":"additional + properties"},"systemData":{"createdBy":"user_admin@billtest856236hotmail.ccsctp.net","createdByType":"User","createdAt":"2022-02-10T02:08:30.7408311Z","lastModifiedBy":"user_admin@billtest856236hotmail.ccsctp.net","lastModifiedByType":"User","lastModifiedAt":"2022-02-10T02:08:30.7408311Z"},"properties":{"ledgerName":"DummyLedgerName","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","tenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","ledgerRoleName":"Administrator"},{"principalId":"85324509-c073-4379-9ddc-e6fde4b4d291","tenantId":"58b662f8-7af2-4f4b-b1e0-8ba0d1c70c00","ledgerRoleName":"Administrator"}],"certBasedSecurityPrincipals":[{"cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","ledgerRoleName":"Reader"}],"ledgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc","provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + cache-control: + - no-cache + content-length: + - '1750' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:08:41 GMT + etag: + - '"61019ee7-0000-0700-0000-620473a90000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT10M + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-fgvmr + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-msedge-ref: + - 'Ref A: F896C030EF3D4FD1B18945459C231AA6 Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:08:29Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: 'AzureResourceManager

Our services aren''t available right now

We''re + working to restore all services as soon as possible. Please check back soon.

Ref A: DF1F4353661E4492BB27039DBF84CC20 Ref B: WSTEDGE0908 + Ref C: 2022-02-10T02:09:11Z
' + headers: + cache-control: + - no-store + content-length: + - '984' + content-type: + - text/html + date: + - Thu, 10 Feb 2022 02:09:42 GMT + x-azure-externalerror: + - 0x80072ee2,OriginTimeout + x-msedge-ref: + - 'Ref A: DF1F4353661E4492BB27039DBF84CC20 Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:09:11Z' + status: + code: 503 + message: Service Unavailable +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Accepted","startTime":"2022-02-10T02:08:35.5416742Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:09:42 GMT + etag: + - '"e70013f8-0000-0700-0000-620473a40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 77288BE4146843758C8D2DB4D582F3BB Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:09:43Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Accepted","startTime":"2022-02-10T02:08:35.5416742Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:10:13 GMT + etag: + - '"e70013f8-0000-0700-0000-620473a40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 2200D3A47A0347508F8E6C4DD5B1716A Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:10:13Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Accepted","startTime":"2022-02-10T02:08:35.5416742Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:10:43 GMT + etag: + - '"e70013f8-0000-0700-0000-620473a40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 2A563DEE82064353892CF848EF4F8667 Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:10:43Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Accepted","startTime":"2022-02-10T02:08:35.5416742Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:11:13 GMT + etag: + - '"e70013f8-0000-0700-0000-620473a40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: B2FDB85F74454FD8B066E70A18B548B7 Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:11:14Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Accepted","startTime":"2022-02-10T02:08:35.5416742Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:11:43 GMT + etag: + - '"e70013f8-0000-0700-0000-620473a40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: C9E15F68265449DBA552978279D7D4C3 Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:11:44Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Accepted","startTime":"2022-02-10T02:08:35.5416742Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:12:13 GMT + etag: + - '"e70013f8-0000-0700-0000-620473a40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: B122C10A34D94A2E8530D8C0C4E24AD7 Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:12:14Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"de427e1f-7541-4915-8e4a-3b8dac6580a5*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Succeeded","startTime":"2022-02-10T02:08:35.5416742Z","endTime":"2022-02-10T02:12:32.5809731Z","properties":{"LedgerName":"DummyLedgerName","LedgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","IdentityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","LedgerStorageAccount":null,"LedgerType":"Public","AadBasedSecurityPrincipals":[{"PrincipalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","TenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","LedgerRoleName":"Administrator"},{"PrincipalId":"85324509-c073-4379-9ddc-e6fde4b4d291","TenantId":"58b662f8-7af2-4f4b-b1e0-8ba0d1c70c00","LedgerRoleName":"Administrator"}],"CertBasedSecurityPrincipals":[{"Cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","LedgerRoleName":"Reader"}],"LedgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}' + headers: + cache-control: + - no-cache + content-length: + - '1916' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:12:44 GMT + etag: + - '"e8009b05-0000-0700-0000-620474910000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: A35B99CDC75741B29185CA71AF790BE8 Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:12:44Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger create + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/Ledgers/DummyLedgerName","name":"DummyLedgerName","type":"Microsoft.ConfidentialLedger/Ledgers","location":"EastUS","tags":{"additionalProps1":"additional + properties"},"properties":{"ledgerName":"DummyLedgerName","ledgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","identityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","tenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","ledgerRoleName":"Administrator"},{"principalId":"85324509-c073-4379-9ddc-e6fde4b4d291","tenantId":"58b662f8-7af2-4f4b-b1e0-8ba0d1c70c00","ledgerRoleName":"Administrator"}],"certBasedSecurityPrincipals":[{"cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","ledgerRoleName":"Reader"}],"ledgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}' + headers: + cache-control: + - no-cache + content-length: + - '1623' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:12:44 GMT + etag: + - '"6201590d-0000-0700-0000-620474910000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-v75pt + x-ms-providerhub-traffic: + - 'True' + x-msedge-ref: + - 'Ref A: 2DA39057DA2642158691DF8A0A59DCDB Ref B: WSTEDGE0908 Ref C: 2022-02-10T02:12:44Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/Ledgers/DummyLedgerName","name":"DummyLedgerName","type":"Microsoft.ConfidentialLedger/Ledgers","location":"EastUS","tags":{"additionalProps1":"additional + properties"},"properties":{"ledgerName":"DummyLedgerName","ledgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","identityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","tenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","ledgerRoleName":"Administrator"},{"principalId":"85324509-c073-4379-9ddc-e6fde4b4d291","tenantId":"58b662f8-7af2-4f4b-b1e0-8ba0d1c70c00","ledgerRoleName":"Administrator"}],"certBasedSecurityPrincipals":[{"cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","ledgerRoleName":"Reader"}],"ledgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}' + headers: + cache-control: + - no-cache + content-length: + - '1623' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:12:46 GMT + etag: + - '"6201590d-0000-0700-0000-620474910000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-v75pt + x-ms-providerhub-traffic: + - 'True' + x-msedge-ref: + - 'Ref A: 8D38B4B5F06A4159AB799873971E53BD Ref B: WSTEDGE0904 Ref C: 2022-02-10T02:12:46Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers?api-version=2021-05-13-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/Ledgers/DummyLedgerName","name":"DummyLedgerName","type":"Microsoft.ConfidentialLedger/Ledgers","location":"EastUS","tags":{"additionalProps1":"additional + properties"},"properties":{"ledgerName":"DummyLedgerName","ledgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","identityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","tenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","ledgerRoleName":"Administrator"},{"principalId":"85324509-c073-4379-9ddc-e6fde4b4d291","tenantId":"58b662f8-7af2-4f4b-b1e0-8ba0d1c70c00","ledgerRoleName":"Administrator"}],"certBasedSecurityPrincipals":[{"cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","ledgerRoleName":"Reader"}],"ledgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1635' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:12:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-v75pt + x-ms-providerhub-traffic: + - 'True' + x-msedge-ref: + - 'Ref A: FD2C96CDCFC54ECFA0B0A1E8A8D41411 Ref B: WSTEDGE0621 Ref C: 2022-02-10T02:12:46Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ConfidentialLedger/ledgers/?api-version=2021-05-13-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestRG2/providers/Microsoft.ConfidentialLedger/Ledgers/testing-new-ledger-92","name":"testing-new-ledger-92","type":"Microsoft.ConfidentialLedger/Ledgers","location":"East + US","properties":{"ledgerName":"testing-new-ledger-92","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"85324509-c073-4379-9ddc-e6fde4b4d291","tenantId":"58b662f8-7af2-4f4b-b1e0-8ba0d1c70c00","ledgerRoleName":"Administrator"}],"ledgerInternalNamespace":"4ed0cc8d-80f4-4da4-a4bb-4ad4f08bd5fe"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TestRG2/providers/Microsoft.ConfidentialLedger/Ledgers/testing-new-ledger-95","name":"testing-new-ledger-95","type":"Microsoft.ConfidentialLedger/Ledgers","location":"East + US","properties":{"ledgerName":"testing-new-ledger-95","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"85324509-c073-4379-9ddc-e6fde4b4d291","tenantId":"58b662f8-7af2-4f4b-b1e0-8ba0d1c70c00","ledgerRoleName":"Administrator"}],"ledgerInternalNamespace":"77dc2e31-1309-44be-b2f4-5592f28f2737"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/Ledgers/DummyLedgerName","name":"DummyLedgerName","type":"Microsoft.ConfidentialLedger/Ledgers","location":"EastUS","tags":{"additionalProps1":"additional + properties"},"properties":{"ledgerName":"DummyLedgerName","ledgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","identityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","tenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","ledgerRoleName":"Administrator"},{"principalId":"85324509-c073-4379-9ddc-e6fde4b4d291","tenantId":"58b662f8-7af2-4f4b-b1e0-8ba0d1c70c00","ledgerRoleName":"Administrator"}],"certBasedSecurityPrincipals":[{"cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","ledgerRoleName":"Reader"}],"ledgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2753' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:12:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-v75pt + x-ms-providerhub-traffic: + - 'True' + x-msedge-ref: + - 'Ref A: 2EF71E9AA9B74C0F842CCD542B012DB0 Ref B: WSTEDGE1103 Ref C: 2022-02-10T02:12:48Z' + status: + code: 200 + message: OK +- request: + body: '{"tags": {"additionProps2": "additional property value", "additionalProps1": + "additional properties"}, "location": "EastUS", "properties": {"ledgerType": + "Public", "aadBasedSecurityPrincipals": [{"principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", "ledgerRoleName": "Administrator"}], + "certBasedSecurityPrincipals": [{"cert": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----", "ledgerRoleName": "Reader"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger update + Connection: + - keep-alive + Content-Length: + - '1051' + Content-Type: + - application/json + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --location --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","name":"DummyLedgerName","type":"microsoft.confidentialledger/ledgers","location":"EastUS","etag":"\"6201590d-0000-0700-0000-620474910000\"","tags":{"additionProps2":"additional + property value","additionalProps1":"additional properties"},"systemData":{"createdBy":"user_admin@billtest856236hotmail.ccsctp.net","createdByType":"User","createdAt":"2022-02-10T02:08:30.7408311Z","lastModifiedBy":"user_admin@billtest856236hotmail.ccsctp.net","lastModifiedByType":"User","lastModifiedAt":"2022-02-10T02:13:14.9480778Z"},"properties":{"ledgerName":"DummyLedgerName","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","tenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","ledgerRoleName":"Administrator"}],"certBasedSecurityPrincipals":[{"cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","ledgerRoleName":"Reader"}],"ledgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc","provisioningState":"Accepted"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/131d4998-13d3-4d67-8159-aaf5a76c0fae*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + cache-control: + - no-cache + content-length: + - '1707' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:13:17 GMT + etag: + - '"62013f16-0000-0700-0000-620474bc0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT10M + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-xp4f6 + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-msedge-ref: + - 'Ref A: 1D1A50825628434DA7D9160FCFDBECCC Ref B: WSTEDGE1018 Ref C: 2022-02-10T02:12:48Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger update + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --location --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/131d4998-13d3-4d67-8159-aaf5a76c0fae*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/131d4998-13d3-4d67-8159-aaf5a76c0fae*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"131d4998-13d3-4d67-8159-aaf5a76c0fae*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Succeeded","startTime":"2022-02-10T02:13:15.7213598Z","endTime":"2022-02-10T02:13:17.3642035Z","properties":{"LedgerName":"DummyLedgerName","LedgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","IdentityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","LedgerStorageAccount":null,"LedgerType":"Public","AadBasedSecurityPrincipals":[{"PrincipalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","TenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","LedgerRoleName":"Administrator"}],"CertBasedSecurityPrincipals":[{"Cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","LedgerRoleName":"Reader"}],"LedgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}' + headers: + cache-control: + - no-cache + content-length: + - '1778' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:13:47 GMT + etag: + - '"e800a207-0000-0700-0000-620474bd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: D1EB972A04934E058101B35FCD6DA47F Ref B: WSTEDGE1018 Ref C: 2022-02-10T02:13:47Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger update + Connection: + - keep-alive + ParameterSetName: + - --location --aad-based-security-principals --cert-based-security-principals + --ledger-type --tags --location --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/Ledgers/DummyLedgerName","name":"DummyLedgerName","type":"Microsoft.ConfidentialLedger/Ledgers","location":"EastUS","tags":{"additionProps2":"additional + property value","additionalProps1":"additional properties"},"properties":{"ledgerName":"DummyLedgerName","ledgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","identityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","tenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","ledgerRoleName":"Administrator"}],"certBasedSecurityPrincipals":[{"cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","ledgerRoleName":"Reader"}],"ledgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}' + headers: + cache-control: + - no-cache + content-length: + - '1530' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:13:48 GMT + etag: + - '"62018216-0000-0700-0000-620474bd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-xp4f6 + x-ms-providerhub-traffic: + - 'True' + x-msedge-ref: + - 'Ref A: CA51FC98EEE141EDBAC6EF71D50EEAFC Ref B: WSTEDGE1018 Ref C: 2022-02-10T02:13:47Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/Ledgers/DummyLedgerName","name":"DummyLedgerName","type":"Microsoft.ConfidentialLedger/Ledgers","location":"EastUS","tags":{"additionProps2":"additional + property value","additionalProps1":"additional properties"},"properties":{"ledgerName":"DummyLedgerName","ledgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","identityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","ledgerType":"Public","aadBasedSecurityPrincipals":[{"principalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","tenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","ledgerRoleName":"Administrator"}],"certBasedSecurityPrincipals":[{"cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","ledgerRoleName":"Reader"}],"ledgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}' + headers: + cache-control: + - no-cache + content-length: + - '1530' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:13:49 GMT + etag: + - '"62018216-0000-0700-0000-620474bd0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-xp4f6 + x-ms-providerhub-traffic: + - 'True' + x-msedge-ref: + - 'Ref A: 28174DBDF51B4174B99FF36035FABB81 Ref B: WSTEDGE1010 Ref C: 2022-02-10T02:13:48Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName?api-version=2021-05-13-preview + response: + body: + string: 'null' + headers: + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:13:50 GMT + etag: + - '"6201231e-0000-0700-0000-620474de0000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT5M + x-ms-image-digest: + - sha256:d715f4c065804796689f817945cb668bf8fcc1a7158af6d9f5df0338eafa33ce + x-ms-image-tag: + - 1.0.01864.310-211739af0af6fbf98fa6c16d2c26020986b619a6 + x-ms-machinename: + - controlplane-5d7dd7b6-xp4f6 + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-msedge-ref: + - 'Ref A: 5C5742F20E4D4BB5A29C93E3056E8898 Ref B: WSTEDGE1118 Ref C: 2022-02-10T02:13:49Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger delete + Connection: + - keep-alive + ParameterSetName: + - -y --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Deleting","startTime":"2022-02-10T02:13:50.2461695Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:14:20 GMT + etag: + - '"e8000c09-0000-0700-0000-620474de0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: F3DD2EB613C546CA9D60E43C4A0D61A9 Ref B: WSTEDGE1118 Ref C: 2022-02-10T02:14:20Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger delete + Connection: + - keep-alive + ParameterSetName: + - -y --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Deleting","startTime":"2022-02-10T02:13:50.2461695Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:14:50 GMT + etag: + - '"e8000c09-0000-0700-0000-620474de0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 5B0EC07F59494913884A3FCECCC8DB29 Ref B: WSTEDGE1118 Ref C: 2022-02-10T02:14:50Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger delete + Connection: + - keep-alive + ParameterSetName: + - -y --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Deleting","startTime":"2022-02-10T02:13:50.2461695Z"}' + headers: + cache-control: + - no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:15:20 GMT + etag: + - '"e8000c09-0000-0700-0000-620474de0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 0A162AB1361549119835EB6F23D70737 Ref B: WSTEDGE1118 Ref C: 2022-02-10T02:15:20Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - confidentialledger delete + Connection: + - keep-alive + ParameterSetName: + - -y --name --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-confidentialledger/unknown Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981?api-version=2021-05-13-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConfidentialLedger/locations/EASTUS/operationStatuses/e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","name":"e9acd7b0-d4b1-4fa6-a2a8-18bd438cd3a3*3E131FC5ECF663123D682641AB5024E5085A7FC61D58ED76A6D9C8425B3D1981","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ConfidentialLedger/ledgers/DummyLedgerName","status":"Succeeded","startTime":"2022-02-10T02:13:50.2461695Z","endTime":"2022-02-10T02:15:30.3200445Z","properties":{"LedgerName":"DummyLedgerName","LedgerUri":"https://dummyledgername.confidential-ledger-ppe.azure.com","IdentityServiceUri":"https://identity.confidential-ledger-ppe.core.azure.com/ledgerIdentity/dummyledgername","LedgerStorageAccount":null,"LedgerType":"Public","AadBasedSecurityPrincipals":[{"PrincipalId":"34621747-6fc8-4771-a2eb-72f31c461f2e","TenantId":"bce123b9-2b7b-4975-8360-5ca0b9b1cd08","LedgerRoleName":"Administrator"}],"CertBasedSecurityPrincipals":[{"Cert":"-----BEGIN + CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END + CERTIFICATE-----","LedgerRoleName":"Reader"}],"LedgerInternalNamespace":"84616cc8-8f78-45a8-a4de-f49625aaa5cc"}}' + headers: + cache-control: + - no-cache + content-length: + - '1778' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 10 Feb 2022 02:15:50 GMT + etag: + - '"e800180d-0000-0700-0000-620475420000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-msedge-ref: + - 'Ref A: 02BF130E95BE4806824ADA31CAE609F8 Ref B: WSTEDGE1118 Ref C: 2022-02-10T02:15:51Z' + status: + code: 200 + message: OK +version: 1 diff --git a/src/confidentialledger/azext_confidentialledger/tests/latest/test_confidentialledger_scenario.py b/src/confidentialledger/azext_confidentialledger/tests/latest/test_confidentialledger_scenario.py new file mode 100644 index 00000000000..191f10171b3 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/tests/latest/test_confidentialledger_scenario.py @@ -0,0 +1,93 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer +from .example_steps import step_create +from .example_steps import step_show +from .example_steps import step_list_by_resource_group +from .example_steps import step_list_by_subscription +from .example_steps import step_update +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_scenario(test): + pass + + +# Env cleanup_scenario +@try_manual +def cleanup_scenario(test): + pass + + +# Testcase: Scenario +@try_manual +def call_scenario(test): + setup_scenario(test) + step_create(test, checks=[ + test.check("location", "EastUS", case_sensitive=False), + test.check("name", "{myLedger}", case_sensitive=False), + test.check("properties.ledgerName", "{myLedger}", case_sensitive=False), + test.check("properties.ledgerType", "Public", case_sensitive=False), + test.check("tags.additionalProps1", "additional properties", case_sensitive=False), + ]) + create_result = step_show(test, checks=[ + test.check("location", "EastUS", case_sensitive=False), + test.check("name", "{myLedger}", case_sensitive=False), + test.check("properties.ledgerName", "{myLedger}", case_sensitive=False), + test.check("properties.ledgerType", "Public", case_sensitive=False), + test.check("tags.additionalProps1", "additional properties", case_sensitive=False), + ]) + step_list_by_resource_group(test, checks=[ + test.check('length(@)', 1), + ]) + step_list_by_subscription(test, checks=[ + test.check('length(@)', 3), + ]) + step_update(test, create_result.get_output_in_json(), checks=[]) + step_show(test, checks=[ + test.check("location", "EastUS", case_sensitive=False), + test.check("name", "{myLedger}", case_sensitive=False), + test.check("properties.ledgerName", "{myLedger}", case_sensitive=False), + test.check("properties.ledgerType", "Public", case_sensitive=False), + test.check("tags.additionProps2", "additional property value", case_sensitive=False), + test.check("tags.additionalProps1", "additional properties", case_sensitive=False), + ]) + step_delete(test, checks=[]) + cleanup_scenario(test) + + +# Test class for Scenario +@try_manual +class ConfidentialledgerScenarioTest(ScenarioTest): + def __init__(self, *args, **kwargs): + super(ConfidentialledgerScenarioTest, self).__init__(*args, **kwargs) + self.kwargs.update({ + 'myLedger': 'DummyLedgerName', + }) + + @ResourceGroupPreparer(name_prefix='clitestconfidentialledger_DummyResourceGroupName'[:7], key='rg', + parameter_name='rg') + def test_confidentialledger_Scenario(self, rg): + call_scenario(self) + calc_coverage(__file__) + raise_if() diff --git a/src/confidentialledger/azext_confidentialledger/tests/latest/test_confidentialledger_scenario_coverage.md b/src/confidentialledger/azext_confidentialledger/tests/latest/test_confidentialledger_scenario_coverage.md new file mode 100644 index 00000000000..66521acd045 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/tests/latest/test_confidentialledger_scenario_coverage.md @@ -0,0 +1,8 @@ +|Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| +|step_create|successed||||2022-02-10 02:36:14.756512|2022-02-10 02:36:14.870864| +|step_show|successed||||2022-02-10 02:36:15.192655|2022-02-10 02:36:15.272642| +|step_list_by_resource_group|successed||||2022-02-10 02:36:14.951880|2022-02-10 02:36:15.023371| +|step_list_by_subscription|successed||||2022-02-10 02:36:15.023585|2022-02-10 02:36:15.093723| +|step_update|successed||||2022-02-10 02:36:15.093928|2022-02-10 02:36:15.192393| +|step_delete|successed||||2022-02-10 02:36:15.272862|2022-02-10 02:36:15.376221| +Coverage: 6/6 diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/__init__.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/__init__.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/__init__.py old mode 100755 new mode 100644 similarity index 85% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/__init__.py rename to src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/__init__.py index eb3d7ba7a26..16965b409ec --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/__init__.py +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/__init__.py @@ -6,8 +6,8 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._container_service_client import ContainerServiceClient -__all__ = ['ContainerServiceClient'] +from ._confidential_ledger import ConfidentialLedger +__all__ = ['ConfidentialLedger'] try: from ._patch import patch_sdk # type: ignore diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/_databricks_client.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/_confidential_ledger.py similarity index 71% rename from src/databricks/azext_databricks/vendored_sdks/databricks/_databricks_client.py rename to src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/_confidential_ledger.py index 0c18f909b85..f3bff0d28b9 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/_databricks_client.py +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/_confidential_ledger.py @@ -17,25 +17,23 @@ from azure.core.credentials import TokenCredential -from ._configuration import DatabricksClientConfiguration -from .operations import WorkspacesOperations -from .operations import VNetPeeringOperations +from ._configuration import ConfidentialLedgerConfiguration from .operations import Operations +from .operations import ConfidentialLedgerOperationsMixin +from .operations import LedgerOperations from . import models -class DatabricksClient(object): - """ARM Databricks. +class ConfidentialLedger(ConfidentialLedgerOperationsMixin): + """Microsoft Azure Confidential Compute Ledger Control Plane REST API version 2020-12-01-preview. - :ivar workspaces: WorkspacesOperations operations - :vartype workspaces: azure.mgmt.databricks.operations.WorkspacesOperations - :ivar vnet_peering: VNetPeeringOperations operations - :vartype vnet_peering: azure.mgmt.databricks.operations.VNetPeeringOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.databricks.operations.Operations + :vartype operations: confidential_ledger.operations.Operations + :ivar ledger: LedgerOperations operations + :vartype ledger: confidential_ledger.operations.LedgerOperations :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. + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). :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. @@ -51,7 +49,7 @@ def __init__( # type: (...) -> None if not base_url: base_url = 'https://management.azure.com' - self._config = DatabricksClientConfiguration(credential, subscription_id, **kwargs) + self._config = ConfidentialLedgerConfiguration(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)} @@ -59,19 +57,17 @@ def __init__( self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - self.workspaces = WorkspacesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.vnet_peering = VNetPeeringOperations( - self._client, self._config, self._serialize, self._deserialize) self.operations = Operations( self._client, self._config, self._serialize, self._deserialize) + self.ledger = LedgerOperations( + self._client, self._config, self._serialize, self._deserialize) def close(self): # type: () -> None self._client.close() def __enter__(self): - # type: () -> DatabricksClient + # type: () -> ConfidentialLedger self._client.__enter__() return self diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/_configuration.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/_configuration.py new file mode 100644 index 00000000000..89156203680 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/_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 ConfidentialLedgerConfiguration(Configuration): + """Configuration for ConfidentialLedger. + + 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 Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(ConfidentialLedgerConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-05-13-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'confidentialledger/{}'.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/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/__init__.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/__init__.py old mode 100755 new mode 100644 similarity index 82% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/__init__.py rename to src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/__init__.py index 4ad2bb20096..5dac9fbd6c0 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/__init__.py +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._container_service_client import ContainerServiceClient -__all__ = ['ContainerServiceClient'] +from ._confidential_ledger import ConfidentialLedger +__all__ = ['ConfidentialLedger'] diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/_databricks_client.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/_confidential_ledger.py similarity index 70% rename from src/databricks/azext_databricks/vendored_sdks/databricks/aio/_databricks_client.py rename to src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/_confidential_ledger.py index 1802066b532..6f195a5d3ab 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/_databricks_client.py +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/_confidential_ledger.py @@ -15,25 +15,23 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import DatabricksClientConfiguration -from .operations import WorkspacesOperations -from .operations import VNetPeeringOperations +from ._configuration import ConfidentialLedgerConfiguration from .operations import Operations +from .operations import ConfidentialLedgerOperationsMixin +from .operations import LedgerOperations from .. import models -class DatabricksClient(object): - """ARM Databricks. +class ConfidentialLedger(ConfidentialLedgerOperationsMixin): + """Microsoft Azure Confidential Compute Ledger Control Plane REST API version 2020-12-01-preview. - :ivar workspaces: WorkspacesOperations operations - :vartype workspaces: azure.mgmt.databricks.aio.operations.WorkspacesOperations - :ivar vnet_peering: VNetPeeringOperations operations - :vartype vnet_peering: azure.mgmt.databricks.aio.operations.VNetPeeringOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.databricks.aio.operations.Operations + :vartype operations: confidential_ledger.aio.operations.Operations + :ivar ledger: LedgerOperations operations + :vartype ledger: confidential_ledger.aio.operations.LedgerOperations :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. + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). :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. @@ -48,7 +46,7 @@ def __init__( ) -> None: if not base_url: base_url = 'https://management.azure.com' - self._config = DatabricksClientConfiguration(credential, subscription_id, **kwargs) + self._config = ConfidentialLedgerConfiguration(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)} @@ -56,17 +54,15 @@ def __init__( self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - self.workspaces = WorkspacesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.vnet_peering = VNetPeeringOperations( - self._client, self._config, self._serialize, self._deserialize) self.operations = Operations( self._client, self._config, self._serialize, self._deserialize) + self.ledger = LedgerOperations( + self._client, self._config, self._serialize, self._deserialize) async def close(self) -> None: await self._client.close() - async def __aenter__(self) -> "DatabricksClient": + async def __aenter__(self) -> "ConfidentialLedger": await self._client.__aenter__() return self diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/_configuration.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/_configuration.py new file mode 100644 index 00000000000..f2b7d190452 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/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 ConfidentialLedgerConfiguration(Configuration): + """Configuration for ConfidentialLedger. + + 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 Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :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(ConfidentialLedgerConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-05-13-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'confidentialledger/{}'.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/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/__init__.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/__init__.py new file mode 100644 index 00000000000..16166aae041 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/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 ._operations import Operations +from ._confidential_ledger_operations import ConfidentialLedgerOperationsMixin +from ._ledger_operations import LedgerOperations + +__all__ = [ + 'Operations', + 'ConfidentialLedgerOperationsMixin', + 'LedgerOperations', +] diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_security_user_rules_operations.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_confidential_ledger_operations.py similarity index 51% rename from src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_security_user_rules_operations.py rename to src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_confidential_ledger_operations.py index 8cef3bdce40..cb500c29979 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_security_user_rules_operations.py +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_confidential_ledger_operations.py @@ -13,68 +13,40 @@ from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat -from ... import models as _models +from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ActiveSecurityUserRulesOperations: - """ActiveSecurityUserRulesOperations async operations. +class ConfidentialLedgerOperationsMixin: - 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.network.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. - """ - - models = _models - - def __init__(self, client, config, serializer, deserializer) -> None: - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - async def list( + async def check_name_availability( self, - resource_group_name: str, - network_manager_name: str, - parameters: "_models.ActiveConfigurationParameter", - **kwargs: Any - ) -> "_models.ActiveSecurityUserRulesListResult": - """Lists Active Security User Rules in a network manager. + name_availability_request: "models.CheckNameAvailabilityRequest", + **kwargs + ) -> "models.CheckNameAvailabilityResponse": + """To check whether a resource name is available. - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_manager_name: The name of the network manager. - :type network_manager_name: str - :param parameters: Active Configuration Parameter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveConfigurationParameter + :param name_availability_request: Name availability request payload. + :type name_availability_request: ~confidential_ledger.models.CheckNameAvailabilityRequest :keyword callable cls: A custom type or function that will be passed the direct response - :return: ActiveSecurityUserRulesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveSecurityUserRulesListResult + :return: CheckNameAvailabilityResponse, or the result of cls(response) + :rtype: ~confidential_ledger.models.CheckNameAvailabilityResponse :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveSecurityUserRulesListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameAvailabilityResponse"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-05-13-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.list.metadata['url'] # type: ignore + url = self.check_name_availability.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -88,7 +60,7 @@ async def list( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ActiveConfigurationParameter') + body_content = self._serialize.body(name_availability_request, 'CheckNameAvailabilityRequest') 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) @@ -96,12 +68,13 @@ async def list( 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ActiveSecurityUserRulesListResult', pipeline_response) + deserialized = self._deserialize('CheckNameAvailabilityResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityUserRules'} # type: ignore + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/checkNameAvailability'} # type: ignore diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_ledger_operations.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_ledger_operations.py new file mode 100644 index 00000000000..aec4c6e32dd --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_ledger_operations.py @@ -0,0 +1,626 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 LedgerOperations: + """LedgerOperations 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: ~confidential_ledger.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, + ledger_name: str, + **kwargs + ) -> "models.ConfidentialLedger": + """Retrieves information about a Confidential Ledger resource. + + Retrieves the properties of a Confidential Ledger. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ledger_name: Name of the Confidential Ledger. + :type ledger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConfidentialLedger, or the result of cls(response) + :rtype: ~confidential_ledger.models.ConfidentialLedger + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedger"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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', max_length=90, min_length=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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.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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ConfidentialLedger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + ledger_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-05-13-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', max_length=90, min_length=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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, 202, 204]: + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + ledger_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes a Confidential Ledger resource. + + Deletes an existing Confidential Ledger. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ledger_name: Name of the Confidential Ledger. + :type ledger_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, + ledger_name=ledger_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=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + ledger_name: str, + confidential_ledger: "models.ConfidentialLedger", + **kwargs + ) -> Optional["models.ConfidentialLedger"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ConfidentialLedger"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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', max_length=90, min_length=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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['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(confidential_ledger, 'ConfidentialLedger') + 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConfidentialLedger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + ledger_name: str, + confidential_ledger: "models.ConfidentialLedger", + **kwargs + ) -> AsyncLROPoller["models.ConfidentialLedger"]: + """Creates a Confidential Ledger. + + Creates a Confidential Ledger with the specified ledger parameters. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ledger_name: Name of the Confidential Ledger. + :type ledger_name: str + :param confidential_ledger: Confidential Ledger Create Request Body. + :type confidential_ledger: ~confidential_ledger.models.ConfidentialLedger + :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 ConfidentialLedger or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~confidential_ledger.models.ConfidentialLedger] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedger"] + 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, + ledger_name=ledger_name, + confidential_ledger=confidential_ledger, + 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('ConfidentialLedger', 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=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', pattern=r'^[a-zA-Z0-9]'), + } + + 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.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + ledger_name: str, + confidential_ledger: "models.ConfidentialLedger", + **kwargs + ) -> Optional["models.ConfidentialLedger"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ConfidentialLedger"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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', max_length=90, min_length=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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['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(confidential_ledger, 'ConfidentialLedger') + 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(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConfidentialLedger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + ledger_name: str, + confidential_ledger: "models.ConfidentialLedger", + **kwargs + ) -> AsyncLROPoller["models.ConfidentialLedger"]: + """Update Confidential Ledger properties. + + Updates properties of Confidential Ledger. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ledger_name: Name of the Confidential Ledger. + :type ledger_name: str + :param confidential_ledger: Confidential Ledger request body for Updating Ledger. + :type confidential_ledger: ~confidential_ledger.models.ConfidentialLedger + :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 ConfidentialLedger or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~confidential_ledger.models.ConfidentialLedger] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedger"] + 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, + ledger_name=ledger_name, + confidential_ledger=confidential_ledger, + 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('ConfidentialLedger', 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=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ConfidentialLedgerList"]: + """Retrieves information about all Confidential Ledger resources under the given subscription and resource group. + + Retrieves the properties of all Confidential Ledgers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param filter: The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ConfidentialLedgerList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~confidential_ledger.models.ConfidentialLedgerList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedgerList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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', max_length=90, min_length=3), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, '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('ConfidentialLedgerList', 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.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.ConfidentialLedger/ledgers'} # type: ignore + + def list_by_subscription( + self, + filter: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ConfidentialLedgerList"]: + """Retrieves information about all Confidential Ledger resources under the given subscription. + + Retrieves the properties of all Confidential Ledgers. + + :param filter: The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ConfidentialLedgerList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~confidential_ledger.models.ConfidentialLedgerList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedgerList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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'), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, '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('ConfidentialLedgerList', 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.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_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/ledgers/'} # type: ignore diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_operations.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_operations.py new file mode 100644 index 00000000000..7e6e5af0a8a --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/aio/operations/_operations.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +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: ~confidential_ledger.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.ResourceProviderOperationList"]: + """Retrieves a list of available API operations under this Resource Provider. + + Retrieves a list of available API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~confidential_ledger.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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('ResourceProviderOperationList', 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.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.ConfidentialLedger/operations'} # type: ignore diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/__init__.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/__init__.py new file mode 100644 index 00000000000..8b451d3b67c --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/__init__.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. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AadBasedSecurityPrincipal + from ._models_py3 import CertBasedSecurityPrincipal + from ._models_py3 import CheckNameAvailabilityRequest + from ._models_py3 import CheckNameAvailabilityResponse + from ._models_py3 import ConfidentialLedger + from ._models_py3 import ConfidentialLedgerList + from ._models_py3 import ErrorAdditionalInfo + from ._models_py3 import ErrorDetail + from ._models_py3 import ErrorResponse + from ._models_py3 import LedgerProperties + from ._models_py3 import Resource + from ._models_py3 import ResourceLocation + from ._models_py3 import ResourceProviderOperationDefinition + from ._models_py3 import ResourceProviderOperationDisplay + from ._models_py3 import ResourceProviderOperationList + from ._models_py3 import SystemData + from ._models_py3 import Tags +except (SyntaxError, ImportError): + from ._models import AadBasedSecurityPrincipal # type: ignore + from ._models import CertBasedSecurityPrincipal # type: ignore + from ._models import CheckNameAvailabilityRequest # type: ignore + from ._models import CheckNameAvailabilityResponse # type: ignore + from ._models import ConfidentialLedger # type: ignore + from ._models import ConfidentialLedgerList # type: ignore + from ._models import ErrorAdditionalInfo # type: ignore + from ._models import ErrorDetail # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import LedgerProperties # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceLocation # type: ignore + from ._models import ResourceProviderOperationDefinition # type: ignore + from ._models import ResourceProviderOperationDisplay # type: ignore + from ._models import ResourceProviderOperationList # type: ignore + from ._models import SystemData # type: ignore + from ._models import Tags # type: ignore + +from ._confidential_ledger_enums import ( + CheckNameAvailabilityReason, + CreatedByType, + LedgerRoleName, + LedgerType, + ProvisioningState, +) + +__all__ = [ + 'AadBasedSecurityPrincipal', + 'CertBasedSecurityPrincipal', + 'CheckNameAvailabilityRequest', + 'CheckNameAvailabilityResponse', + 'ConfidentialLedger', + 'ConfidentialLedgerList', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'LedgerProperties', + 'Resource', + 'ResourceLocation', + 'ResourceProviderOperationDefinition', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'SystemData', + 'Tags', + 'CheckNameAvailabilityReason', + 'CreatedByType', + 'LedgerRoleName', + 'LedgerType', + 'ProvisioningState', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_source_control_configuration_client_enums.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_confidential_ledger_enums.py similarity index 68% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_source_control_configuration_client_enums.py rename to src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_confidential_ledger_enums.py index 19b127e8cd4..5f35846b403 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_source_control_configuration_client_enums.py +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_confidential_ledger_enums.py @@ -26,6 +26,13 @@ def __getattr__(cls, name): raise AttributeError(name) +class CheckNameAvailabilityReason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The reason why the given name is not available. + """ + + INVALID = "Invalid" + ALREADY_EXISTS = "AlreadyExists" + class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -35,31 +42,30 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - - MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" - MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" - -class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LedgerRoleName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """LedgerRole associated with the Security Principal of Ledger + """ - MANAGED_CLUSTERS = "managedClusters" - CONNECTED_CLUSTERS = "connectedClusters" + READER = "Reader" + CONTRIBUTOR = "Contributor" + ADMINISTRATOR = "Administrator" -class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Level of the status. +class LedgerType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the ledger. Private means transaction data is encrypted. """ - ERROR = "Error" - WARNING = "Warning" - INFORMATION = "Information" + UNKNOWN = "Unknown" + PUBLIC = "Public" + PRIVATE = "Private" class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The provisioning state of the extension resource. + """Object representing ProvisioningState for Confidential Ledger. """ + UNKNOWN = "Unknown" SUCCEEDED = "Succeeded" FAILED = "Failed" CANCELED = "Canceled" CREATING = "Creating" - UPDATING = "Updating" DELETING = "Deleting" + UPDATING = "Updating" diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_models.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_models.py new file mode 100644 index 00000000000..8665ef26138 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_models.py @@ -0,0 +1,560 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 AadBasedSecurityPrincipal(msrest.serialization.Model): + """AAD based security principal with associated Ledger RoleName. + + :param principal_id: UUID/GUID based Principal Id of the Security Principal. + :type principal_id: str + :param tenant_id: UUID/GUID based Tenant Id of the Security Principal. + :type tenant_id: str + :param ledger_role_name: LedgerRole associated with the Security Principal of Ledger. Possible + values include: "Reader", "Contributor", "Administrator". + :type ledger_role_name: str or ~confidential_ledger.models.LedgerRoleName + """ + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'ledger_role_name': {'key': 'ledgerRoleName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AadBasedSecurityPrincipal, self).__init__(**kwargs) + self.principal_id = kwargs.get('principal_id', None) + self.tenant_id = kwargs.get('tenant_id', None) + self.ledger_role_name = kwargs.get('ledger_role_name', None) + + +class CertBasedSecurityPrincipal(msrest.serialization.Model): + """Cert based security principal with Ledger RoleName. + + :param cert: Public key of the user cert (.pem or .cer). + :type cert: str + :param ledger_role_name: LedgerRole associated with the Security Principal of Ledger. Possible + values include: "Reader", "Contributor", "Administrator". + :type ledger_role_name: str or ~confidential_ledger.models.LedgerRoleName + """ + + _attribute_map = { + 'cert': {'key': 'cert', 'type': 'str'}, + 'ledger_role_name': {'key': 'ledgerRoleName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CertBasedSecurityPrincipal, self).__init__(**kwargs) + self.cert = kwargs.get('cert', None) + self.ledger_role_name = kwargs.get('ledger_role_name', None) + + +class CheckNameAvailabilityRequest(msrest.serialization.Model): + """The check availability request body. + + :param name: The name of the resource for which availability needs to be checked. + :type name: str + :param type: The resource type. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckNameAvailabilityRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + + +class CheckNameAvailabilityResponse(msrest.serialization.Model): + """The check availability result. + + :param name_available: Indicates if the resource name is available. + :type name_available: bool + :param reason: The reason why the given name is not available. Possible values include: + "Invalid", "AlreadyExists". + :type reason: str or ~confidential_ledger.models.CheckNameAvailabilityReason + :param message: Detailed reason why the given name is available. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckNameAvailabilityResponse, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.reason = kwargs.get('reason', None) + self.message = kwargs.get('message', None) + + +class Tags(msrest.serialization.Model): + """Tags for Confidential Ledger Resource. + + :param tags: A set of tags. Additional tags for Confidential Ledger. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(Tags, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class ResourceLocation(msrest.serialization.Model): + """Location of the ARM Resource. + + :param location: The Azure location where the Confidential Ledger is running. + :type location: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceLocation, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + + +class Resource(msrest.serialization.Model): + """An Azure resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Resource. + :vartype name: str + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~confidential_ledger.models.SystemData + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.system_data = None + + +class ConfidentialLedger(Resource, ResourceLocation, Tags): + """Confidential Ledger. Contains the properties of Confidential Ledger Resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param tags: A set of tags. Additional tags for Confidential Ledger. + :type tags: dict[str, str] + :param location: The Azure location where the Confidential Ledger is running. + :type location: str + :ivar name: Name of the Resource. + :vartype name: str + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~confidential_ledger.models.SystemData + :param properties: Properties of Confidential Ledger Resource. + :type properties: ~confidential_ledger.models.LedgerProperties + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'properties': {'key': 'properties', 'type': 'LedgerProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfidentialLedger, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) + self.properties = kwargs.get('properties', None) + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.system_data = None + self.properties = kwargs.get('properties', None) + self.location = kwargs.get('location', None) + self.name = None + self.id = None + self.type = None + self.system_data = None + self.properties = kwargs.get('properties', None) + + +class ConfidentialLedgerList(msrest.serialization.Model): + """Object that includes an array of Confidential Ledgers and a possible link for next set. + + :param value: List of Confidential Ledgers. + :type value: list[~confidential_ledger.models.ConfidentialLedger] + :param next_link: The URL the client should use to fetch the next page (per server side + paging). + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ConfidentialLedger]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfidentialLedgerList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', 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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~confidential_ledger.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~confidential_ledger.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :param error: The error object. + :type error: ~confidential_ledger.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class LedgerProperties(msrest.serialization.Model): + """Additional Confidential Ledger properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ledger_name: Unique name for the Confidential Ledger. + :vartype ledger_name: str + :ivar ledger_uri: Endpoint for calling Ledger Service. + :vartype ledger_uri: str + :ivar identity_service_uri: Endpoint for accessing network identity. + :vartype identity_service_uri: str + :ivar ledger_internal_namespace: Internal namespace for the Ledger. + :vartype ledger_internal_namespace: str + :param ledger_type: Type of Confidential Ledger. Possible values include: "Unknown", "Public", + "Private". + :type ledger_type: str or ~confidential_ledger.models.LedgerType + :ivar provisioning_state: Provisioning state of Ledger Resource. Possible values include: + "Unknown", "Succeeded", "Failed", "Canceled", "Creating", "Deleting", "Updating". + :vartype provisioning_state: str or ~confidential_ledger.models.ProvisioningState + :param aad_based_security_principals: Array of all AAD based Security Principals. + :type aad_based_security_principals: + list[~confidential_ledger.models.AadBasedSecurityPrincipal] + :param cert_based_security_principals: Array of all cert based Security Principals. + :type cert_based_security_principals: + list[~confidential_ledger.models.CertBasedSecurityPrincipal] + """ + + _validation = { + 'ledger_name': {'readonly': True}, + 'ledger_uri': {'readonly': True}, + 'identity_service_uri': {'readonly': True}, + 'ledger_internal_namespace': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'ledger_name': {'key': 'ledgerName', 'type': 'str'}, + 'ledger_uri': {'key': 'ledgerUri', 'type': 'str'}, + 'identity_service_uri': {'key': 'identityServiceUri', 'type': 'str'}, + 'ledger_internal_namespace': {'key': 'ledgerInternalNamespace', 'type': 'str'}, + 'ledger_type': {'key': 'ledgerType', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'aad_based_security_principals': {'key': 'aadBasedSecurityPrincipals', 'type': '[AadBasedSecurityPrincipal]'}, + 'cert_based_security_principals': {'key': 'certBasedSecurityPrincipals', 'type': '[CertBasedSecurityPrincipal]'}, + } + + def __init__( + self, + **kwargs + ): + super(LedgerProperties, self).__init__(**kwargs) + self.ledger_name = None + self.ledger_uri = None + self.identity_service_uri = None + self.ledger_internal_namespace = None + self.ledger_type = kwargs.get('ledger_type', None) + self.provisioning_state = None + self.aad_based_security_principals = kwargs.get('aad_based_security_principals', None) + self.cert_based_security_principals = kwargs.get('cert_based_security_principals', None) + + +class ResourceProviderOperationDefinition(msrest.serialization.Model): + """Describes the Resource Provider Operation. + + :param name: Resource provider operation name. + :type name: str + :param is_data_action: Indicates whether the operation is data action or not. + :type is_data_action: bool + :param display: Details about the operations. + :type display: ~confidential_ledger.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationDefinition, 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 ResourceProviderOperationDisplay(msrest.serialization.Model): + """Describes the properties of the Operation. + + :param provider: Name of the resource provider. + :type provider: str + :param resource: Name of the resource type. + :type resource: str + :param operation: Name of the resource provider operation. + :type operation: str + :param description: Description of the resource provider 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(ResourceProviderOperationDisplay, 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 ResourceProviderOperationList(msrest.serialization.Model): + """List containing this Resource Provider's available operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Resource provider operations list. + :vartype value: list[~confidential_ledger.models.ResourceProviderOperationDefinition] + :ivar next_link: The URI that can be used to request the next page for list of Azure + operations. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperationDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = None + self.next_link = 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 ~confidential_ledger.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 ~confidential_ledger.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/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_models_py3.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_models_py3.py new file mode 100644 index 00000000000..36c854c6cdc --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/models/_models_py3.py @@ -0,0 +1,612 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._confidential_ledger_enums import * + + +class AadBasedSecurityPrincipal(msrest.serialization.Model): + """AAD based security principal with associated Ledger RoleName. + + :param principal_id: UUID/GUID based Principal Id of the Security Principal. + :type principal_id: str + :param tenant_id: UUID/GUID based Tenant Id of the Security Principal. + :type tenant_id: str + :param ledger_role_name: LedgerRole associated with the Security Principal of Ledger. Possible + values include: "Reader", "Contributor", "Administrator". + :type ledger_role_name: str or ~confidential_ledger.models.LedgerRoleName + """ + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'ledger_role_name': {'key': 'ledgerRoleName', 'type': 'str'}, + } + + def __init__( + self, + *, + principal_id: Optional[str] = None, + tenant_id: Optional[str] = None, + ledger_role_name: Optional[Union[str, "LedgerRoleName"]] = None, + **kwargs + ): + super(AadBasedSecurityPrincipal, self).__init__(**kwargs) + self.principal_id = principal_id + self.tenant_id = tenant_id + self.ledger_role_name = ledger_role_name + + +class CertBasedSecurityPrincipal(msrest.serialization.Model): + """Cert based security principal with Ledger RoleName. + + :param cert: Public key of the user cert (.pem or .cer). + :type cert: str + :param ledger_role_name: LedgerRole associated with the Security Principal of Ledger. Possible + values include: "Reader", "Contributor", "Administrator". + :type ledger_role_name: str or ~confidential_ledger.models.LedgerRoleName + """ + + _attribute_map = { + 'cert': {'key': 'cert', 'type': 'str'}, + 'ledger_role_name': {'key': 'ledgerRoleName', 'type': 'str'}, + } + + def __init__( + self, + *, + cert: Optional[str] = None, + ledger_role_name: Optional[Union[str, "LedgerRoleName"]] = None, + **kwargs + ): + super(CertBasedSecurityPrincipal, self).__init__(**kwargs) + self.cert = cert + self.ledger_role_name = ledger_role_name + + +class CheckNameAvailabilityRequest(msrest.serialization.Model): + """The check availability request body. + + :param name: The name of the resource for which availability needs to be checked. + :type name: str + :param type: The resource type. + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + super(CheckNameAvailabilityRequest, self).__init__(**kwargs) + self.name = name + self.type = type + + +class CheckNameAvailabilityResponse(msrest.serialization.Model): + """The check availability result. + + :param name_available: Indicates if the resource name is available. + :type name_available: bool + :param reason: The reason why the given name is not available. Possible values include: + "Invalid", "AlreadyExists". + :type reason: str or ~confidential_ledger.models.CheckNameAvailabilityReason + :param message: Detailed reason why the given name is available. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + name_available: Optional[bool] = None, + reason: Optional[Union[str, "CheckNameAvailabilityReason"]] = None, + message: Optional[str] = None, + **kwargs + ): + super(CheckNameAvailabilityResponse, self).__init__(**kwargs) + self.name_available = name_available + self.reason = reason + self.message = message + + +class Tags(msrest.serialization.Model): + """Tags for Confidential Ledger Resource. + + :param tags: A set of tags. Additional tags for Confidential Ledger. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(Tags, self).__init__(**kwargs) + self.tags = tags + + +class ResourceLocation(msrest.serialization.Model): + """Location of the ARM Resource. + + :param location: The Azure location where the Confidential Ledger is running. + :type location: str + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + **kwargs + ): + super(ResourceLocation, self).__init__(**kwargs) + self.location = location + + +class Resource(msrest.serialization.Model): + """An Azure resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Resource. + :vartype name: str + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~confidential_ledger.models.SystemData + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.system_data = None + + +class ConfidentialLedger(Resource, ResourceLocation, Tags): + """Confidential Ledger. Contains the properties of Confidential Ledger Resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param tags: A set of tags. Additional tags for Confidential Ledger. + :type tags: dict[str, str] + :param location: The Azure location where the Confidential Ledger is running. + :type location: str + :ivar name: Name of the Resource. + :vartype name: str + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~confidential_ledger.models.SystemData + :param properties: Properties of Confidential Ledger Resource. + :type properties: ~confidential_ledger.models.LedgerProperties + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'properties': {'key': 'properties', 'type': 'LedgerProperties'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + location: Optional[str] = None, + properties: Optional["LedgerProperties"] = None, + **kwargs + ): + super(ConfidentialLedger, self).__init__(location=location, tags=tags, **kwargs) + self.tags = tags + self.location = location + self.properties = properties + self.tags = tags + self.name = None + self.id = None + self.type = None + self.system_data = None + self.properties = properties + self.location = location + self.name = None + self.id = None + self.type = None + self.system_data = None + self.properties = properties + + +class ConfidentialLedgerList(msrest.serialization.Model): + """Object that includes an array of Confidential Ledgers and a possible link for next set. + + :param value: List of Confidential Ledgers. + :type value: list[~confidential_ledger.models.ConfidentialLedger] + :param next_link: The URL the client should use to fetch the next page (per server side + paging). + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ConfidentialLedger]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ConfidentialLedger"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ConfidentialLedgerList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~confidential_ledger.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~confidential_ledger.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :param error: The error object. + :type error: ~confidential_ledger.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class LedgerProperties(msrest.serialization.Model): + """Additional Confidential Ledger properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ledger_name: Unique name for the Confidential Ledger. + :vartype ledger_name: str + :ivar ledger_uri: Endpoint for calling Ledger Service. + :vartype ledger_uri: str + :ivar identity_service_uri: Endpoint for accessing network identity. + :vartype identity_service_uri: str + :ivar ledger_internal_namespace: Internal namespace for the Ledger. + :vartype ledger_internal_namespace: str + :param ledger_type: Type of Confidential Ledger. Possible values include: "Unknown", "Public", + "Private". + :type ledger_type: str or ~confidential_ledger.models.LedgerType + :ivar provisioning_state: Provisioning state of Ledger Resource. Possible values include: + "Unknown", "Succeeded", "Failed", "Canceled", "Creating", "Deleting", "Updating". + :vartype provisioning_state: str or ~confidential_ledger.models.ProvisioningState + :param aad_based_security_principals: Array of all AAD based Security Principals. + :type aad_based_security_principals: + list[~confidential_ledger.models.AadBasedSecurityPrincipal] + :param cert_based_security_principals: Array of all cert based Security Principals. + :type cert_based_security_principals: + list[~confidential_ledger.models.CertBasedSecurityPrincipal] + """ + + _validation = { + 'ledger_name': {'readonly': True}, + 'ledger_uri': {'readonly': True}, + 'identity_service_uri': {'readonly': True}, + 'ledger_internal_namespace': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'ledger_name': {'key': 'ledgerName', 'type': 'str'}, + 'ledger_uri': {'key': 'ledgerUri', 'type': 'str'}, + 'identity_service_uri': {'key': 'identityServiceUri', 'type': 'str'}, + 'ledger_internal_namespace': {'key': 'ledgerInternalNamespace', 'type': 'str'}, + 'ledger_type': {'key': 'ledgerType', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'aad_based_security_principals': {'key': 'aadBasedSecurityPrincipals', 'type': '[AadBasedSecurityPrincipal]'}, + 'cert_based_security_principals': {'key': 'certBasedSecurityPrincipals', 'type': '[CertBasedSecurityPrincipal]'}, + } + + def __init__( + self, + *, + ledger_type: Optional[Union[str, "LedgerType"]] = None, + aad_based_security_principals: Optional[List["AadBasedSecurityPrincipal"]] = None, + cert_based_security_principals: Optional[List["CertBasedSecurityPrincipal"]] = None, + **kwargs + ): + super(LedgerProperties, self).__init__(**kwargs) + self.ledger_name = None + self.ledger_uri = None + self.identity_service_uri = None + self.ledger_internal_namespace = None + self.ledger_type = ledger_type + self.provisioning_state = None + self.aad_based_security_principals = aad_based_security_principals + self.cert_based_security_principals = cert_based_security_principals + + +class ResourceProviderOperationDefinition(msrest.serialization.Model): + """Describes the Resource Provider Operation. + + :param name: Resource provider operation name. + :type name: str + :param is_data_action: Indicates whether the operation is data action or not. + :type is_data_action: bool + :param display: Details about the operations. + :type display: ~confidential_ledger.models.ResourceProviderOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + is_data_action: Optional[bool] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + super(ResourceProviderOperationDefinition, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.display = display + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Describes the properties of the Operation. + + :param provider: Name of the resource provider. + :type provider: str + :param resource: Name of the resource type. + :type resource: str + :param operation: Name of the resource provider operation. + :type operation: str + :param description: Description of the resource provider 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(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """List containing this Resource Provider's available operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Resource provider operations list. + :vartype value: list[~confidential_ledger.models.ResourceProviderOperationDefinition] + :ivar next_link: The URI that can be used to request the next page for list of Azure + operations. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperationDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = None + self.next_link = 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 ~confidential_ledger.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 ~confidential_ledger.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/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/__init__.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/__init__.py new file mode 100644 index 00000000000..16166aae041 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/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 ._confidential_ledger_operations import ConfidentialLedgerOperationsMixin +from ._ledger_operations import LedgerOperations + +__all__ = [ + 'Operations', + 'ConfidentialLedgerOperationsMixin', + 'LedgerOperations', +] diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_active_security_user_rules_operations.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_confidential_ledger_operations.py similarity index 52% rename from src/network-manager/azext_network_manager/vendored_sdks/operations/_active_security_user_rules_operations.py rename to src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_confidential_ledger_operations.py index c50c995dd9f..4d8b80bcdf4 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_active_security_user_rules_operations.py +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_confidential_ledger_operations.py @@ -13,7 +13,7 @@ from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from .. import models as _models +from .. import models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports @@ -22,64 +22,36 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class ActiveSecurityUserRulesOperations(object): - """ActiveSecurityUserRulesOperations operations. +class ConfidentialLedgerOperationsMixin(object): - 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.network.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. - """ - - models = _models - - def __init__(self, client, config, serializer, deserializer): - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def list( + def check_name_availability( self, - resource_group_name, # type: str - network_manager_name, # type: str - parameters, # type: "_models.ActiveConfigurationParameter" + name_availability_request, # type: "models.CheckNameAvailabilityRequest" **kwargs # type: Any ): - # type: (...) -> "_models.ActiveSecurityUserRulesListResult" - """Lists Active Security User Rules in a network manager. + # type: (...) -> "models.CheckNameAvailabilityResponse" + """To check whether a resource name is available. - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_manager_name: The name of the network manager. - :type network_manager_name: str - :param parameters: Active Configuration Parameter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveConfigurationParameter + :param name_availability_request: Name availability request payload. + :type name_availability_request: ~confidential_ledger.models.CheckNameAvailabilityRequest :keyword callable cls: A custom type or function that will be passed the direct response - :return: ActiveSecurityUserRulesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveSecurityUserRulesListResult + :return: CheckNameAvailabilityResponse, or the result of cls(response) + :rtype: ~confidential_ledger.models.CheckNameAvailabilityResponse :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveSecurityUserRulesListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["models.CheckNameAvailabilityResponse"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-05-13-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.list.metadata['url'] # type: ignore + url = self.check_name_availability.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -93,7 +65,7 @@ def list( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ActiveConfigurationParameter') + body_content = self._serialize.body(name_availability_request, 'CheckNameAvailabilityRequest') 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) @@ -101,12 +73,13 @@ def list( 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ActiveSecurityUserRulesListResult', pipeline_response) + deserialized = self._deserialize('CheckNameAvailabilityResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityUserRules'} # type: ignore + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/checkNameAvailability'} # type: ignore diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_ledger_operations.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_ledger_operations.py new file mode 100644 index 00000000000..ffec5176377 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_ledger_operations.py @@ -0,0 +1,639 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 LedgerOperations(object): + """LedgerOperations 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: ~confidential_ledger.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 + ledger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ConfidentialLedger" + """Retrieves information about a Confidential Ledger resource. + + Retrieves the properties of a Confidential Ledger. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ledger_name: Name of the Confidential Ledger. + :type ledger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConfidentialLedger, or the result of cls(response) + :rtype: ~confidential_ledger.models.ConfidentialLedger + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedger"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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', max_length=90, min_length=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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.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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ConfidentialLedger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + ledger_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-05-13-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', max_length=90, min_length=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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, 202, 204]: + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + ledger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes a Confidential Ledger resource. + + Deletes an existing Confidential Ledger. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ledger_name: Name of the Confidential Ledger. + :type ledger_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, + ledger_name=ledger_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=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + def _create_initial( + self, + resource_group_name, # type: str + ledger_name, # type: str + confidential_ledger, # type: "models.ConfidentialLedger" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.ConfidentialLedger"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ConfidentialLedger"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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', max_length=90, min_length=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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['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(confidential_ledger, 'ConfidentialLedger') + 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConfidentialLedger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + ledger_name, # type: str + confidential_ledger, # type: "models.ConfidentialLedger" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.ConfidentialLedger"] + """Creates a Confidential Ledger. + + Creates a Confidential Ledger with the specified ledger parameters. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ledger_name: Name of the Confidential Ledger. + :type ledger_name: str + :param confidential_ledger: Confidential Ledger Create Request Body. + :type confidential_ledger: ~confidential_ledger.models.ConfidentialLedger + :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 ConfidentialLedger or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~confidential_ledger.models.ConfidentialLedger] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedger"] + 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, + ledger_name=ledger_name, + confidential_ledger=confidential_ledger, + 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('ConfidentialLedger', 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=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', pattern=r'^[a-zA-Z0-9]'), + } + + 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.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + ledger_name, # type: str + confidential_ledger, # type: "models.ConfidentialLedger" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.ConfidentialLedger"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ConfidentialLedger"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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', max_length=90, min_length=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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['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(confidential_ledger, 'ConfidentialLedger') + 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(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConfidentialLedger', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + ledger_name, # type: str + confidential_ledger, # type: "models.ConfidentialLedger" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.ConfidentialLedger"] + """Update Confidential Ledger properties. + + Updates properties of Confidential Ledger. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ledger_name: Name of the Confidential Ledger. + :type ledger_name: str + :param confidential_ledger: Confidential Ledger request body for Updating Ledger. + :type confidential_ledger: ~confidential_ledger.models.ConfidentialLedger + :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 ConfidentialLedger or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~confidential_ledger.models.ConfidentialLedger] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedger"] + 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, + ledger_name=ledger_name, + confidential_ledger=confidential_ledger, + 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('ConfidentialLedger', 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=3), + 'ledgerName': self._serialize.url("ledger_name", ledger_name, 'str', 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_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConfidentialLedger/ledgers/{ledgerName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ConfidentialLedgerList"] + """Retrieves information about all Confidential Ledger resources under the given subscription and resource group. + + Retrieves the properties of all Confidential Ledgers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param filter: The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ConfidentialLedgerList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~confidential_ledger.models.ConfidentialLedgerList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedgerList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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', max_length=90, min_length=3), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, '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('ConfidentialLedgerList', 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.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.ConfidentialLedger/ledgers'} # type: ignore + + def list_by_subscription( + self, + filter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ConfidentialLedgerList"] + """Retrieves information about all Confidential Ledger resources under the given subscription. + + Retrieves the properties of all Confidential Ledgers. + + :param filter: The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ConfidentialLedgerList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~confidential_ledger.models.ConfidentialLedgerList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConfidentialLedgerList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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'), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, '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('ConfidentialLedgerList', 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.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_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConfidentialLedger/ledgers/'} # type: ignore diff --git a/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_operations.py b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_operations.py new file mode 100644 index 00000000000..2b34beb50d4 --- /dev/null +++ b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/operations/_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. +# -------------------------------------------------------------------------- +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: ~confidential_ledger.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.ResourceProviderOperationList"] + """Retrieves a list of available API operations under this Resource Provider. + + Retrieves a list of available API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~confidential_ledger.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-13-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('ResourceProviderOperationList', 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.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.ConfidentialLedger/operations'} # type: ignore diff --git a/src/account/azext_account/vendored_sdks/subscription/py.typed b/src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/py.typed similarity index 100% rename from src/account/azext_account/vendored_sdks/subscription/py.typed rename to src/confidentialledger/azext_confidentialledger/vendored_sdks/confidentialledger/py.typed diff --git a/src/confidentialledger/gen.zip b/src/confidentialledger/gen.zip new file mode 100644 index 0000000000000000000000000000000000000000..34e22c819c27b5b1f4ff5a536446a922a5d11e17 GIT binary patch literal 9212 zcmeHNOK7uK$zC~?ES5NDC0RtI|6h%ptL{gM2-2?(fjwniei4RfI z#a(w<^f$EVGV7w7t_t)YblFAM{Q=!|NXoJ-)Ar3pauXDxK~tPLbI#0}Gc(_O!*26O zKR!JPF7Vgi^Wl%(zh9!KxP@zXESbhsm7(FPqNYJvfp)t4Xt7^CRm_Es>pW5Tx6c>W z#6Zb`4(boT>HX{9Uw!rF)030nF21u4xE6IwgJZ{qmXoqJFR6JDnY}6GUgdFv@v%EF^2Bl zCZ{kS!u^Z8b}`imWh~pAL&?Q#({!<^X(LTqqzOr&cRjLt`Xa2J3^4^75LE>knrsfL zc)?v_z;jIwxf<0M2~v@uX$Q5d&O}3j4yKD6OcFf@BJGlC+kxo`oQW&dv@y|;F<(W^ zn?Ou6ksfs#)=>)7sSZ+O!@c=H>o?~6_W~nt z0Ml)eudsA0if7An)7678kCLl4M7}xw{GhZ9r&tg#V=2tL2!in?Ce5IH44zhOX*VyYXL(xD*O48+vb8(A39BWu)2|Evk0|nuAo=j?{6!s@} zMv9Ir@MkeHq9`XPB8sG>10~N^-A&T6QE#c1s5w|Pnv=Gv!K5MT@cInMx@xG7i-N+m z&#=90QkAdIuJXlPwv;a=i&Lqb%$G{pq?m(~WGQ!Cx#?9_$``ZK96ZBZXo!XzDws$x zo4cA+lDSD~lFV01g=G1vm`N5SF*B)5vXY!B$F)L&w);dgg6!+FFn(~7qT5)N{Hijfo92k# z&NC$N8J{G`4g-7&WCir@*W{bFCe49gpGj?IPWsH2%rQO1Z_ml~AWWn0r_BM&uz8;V zL!!^J#Ia!l^s`c~zhMYG$KZg%H%p3V@)e+v6wZ4%4uA@BG{A9nz?Y21 z*6Ol_&7>}wp0LO)Hd9c#VIXe`Ag|%u;?-a#mVN!kOtfX3Gp{Pkc8{r%ew{__;xZi^ zACk4M>&5w9gJ1TmDDh60>rOgzA6Lmd ziBk_+Tqm5?d&+byt@HZ_qwp8fEl@DeN?Cg!ciDt{UaWZI8Gd){^NyRoj z3rX9`+q3hR_vfM>E)Mc$QG~K2|a+LSZ{!sG04o(`sZpQ_dL5 zSx6bRK4Xyuu|HS&GFy=K9w}_(LYAa0nQI0^HZ0U|pTTiO zv2lg0;jBcUveQrx&yW-W1`5un#Zp(OsGVu2Np40}E1T^=qtNF)j{tHg%jU_N!V0UL zw?$n#H@51G(b=Ue_Y5o17i{}MaQOr~Yy?}7*-B~ymTciHAW)3rpjKGsri72!f-+QY zW>c|IT`rkQu|if9UX+$K9q^V(G!PmkZ%WG2?37kn-!BQ2viO{+$tviGjeIePcDw!v4hL+0ctzNmO7YeOLV_DEMrDMZ#pHQ}d=CZByOedvD zGh-PoWh<$S%e2;1C+Eq=W-~|&gUVoS%vZKetn-Ly_Q4ibq=57jJq5X!>dg}#}i_E-h$d{V8Q+* zqvym9-@n-ycFS*9K_7hU_&h}Cxj1yb!B(Q?p^f$(aR1Js{F9JDh8lEX3}zt0jCgny z75WgEA+m%eH!-l`+uB*&@u>lwSzP_;AOHN>$w_e2?@VU~JW>o-J9ZG2DB7y|1H<|M z#BlD2P1A{}PI2qmFePbfDhLBdUfeRD{I2(VDES#t#P)`Jbt>4ZcWr2iHnew4>OHRf zR`&rB`m9*6AAMFR*qFVOQ0`f&2>CxN77g~D*q$!FhemF7S%MRzp9sO*HjuX)pNQw!epXu|UI)8T(oq0?sUTywC>9?$Qofv#+H)qV3vWFiuL2U1`P#`?$0mJUt-x^%pLYepy!Cwc|S#Qj7hAf@7oZG zU~BvUxdpCIhIeq-bvT5--vclXrQXuo@w03=O9yi+nx@gD9h}<6Pq0z;;UQ%-U);{d zfsTvAm)%kjoLG*>=upock1rgkO=Y17Np zUg@#A{nQ=Er6L=tT?D_`X9niZZ_f_SUt#Bjr{BH?bKt=t!CSN<2I8N`B9w~&l#eYN zPSy4GIf6hzxI8>Z9f$hwX$Z}{epUMNCANT@>vOd2zFRi}gGUzvM97p2?Qvi-l#fm< z0v`ufCommand groups in `az confidentialledger` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az confidentialledger|Ledger|[commands](#CommandsInLedger)| + +## COMMANDS +### Commands in `az confidentialledger` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az confidentialledger list](#LedgerListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersLedgerListByResourceGroup)|[Example](#ExamplesLedgerListByResourceGroup)| +|[az confidentialledger list](#LedgerListBySubscription)|ListBySubscription|[Parameters](#ParametersLedgerListBySubscription)|[Example](#ExamplesLedgerListBySubscription)| +|[az confidentialledger show](#LedgerGet)|Get|[Parameters](#ParametersLedgerGet)|[Example](#ExamplesLedgerGet)| +|[az confidentialledger create](#LedgerCreate)|Create|[Parameters](#ParametersLedgerCreate)|[Example](#ExamplesLedgerCreate)| +|[az confidentialledger update](#LedgerUpdate)|Update|[Parameters](#ParametersLedgerUpdate)|[Example](#ExamplesLedgerUpdate)| +|[az confidentialledger delete](#LedgerDelete)|Delete|[Parameters](#ParametersLedgerDelete)|[Example](#ExamplesLedgerDelete)| + + +## COMMAND DETAILS +### group `az confidentialledger` +#### Command `az confidentialledger list` + +##### Example +``` +az confidentialledger list --resource-group "DummyResourceGroupName" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name|resourceGroupName| +|**--filter**|string|The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'|filter|$filter| + +#### Command `az confidentialledger list` + +##### Example +``` +az confidentialledger list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--filter**|string|The filter to apply on the list operation. eg. $filter=ledgerType eq 'Public'|filter|$filter| + +#### Command `az confidentialledger show` + +##### Example +``` +az confidentialledger show --name "DummyLedgerName" --resource-group "DummyResourceGroupName" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name|resourceGroupName| +|**--ledger-name**|string|Name of the Confidential Ledger|ledger_name|ledgerName| + +#### Command `az confidentialledger create` + +##### Example +``` +az confidentialledger create --location "EastUS" --aad-based-security-principals ledger-role-name="Administrator" \ +principal-id="34621747-6fc8-4771-a2eb-72f31c461f2e" tenant-id="bce123b9-2b7b-4975-8360-5ca0b9b1cd08" \ +--cert-based-security-principals cert="-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIK\ +oZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEG\ +BSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA\ +4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1\ +UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD\ +3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----" ledger-role-name="Reader" \ +--ledger-type "Public" --tags additionalProps1="additional properties" --name "DummyLedgerName" --resource-group \ +"DummyResourceGroupName" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name|resourceGroupName| +|**--ledger-name**|string|Name of the Confidential Ledger|ledger_name|ledgerName| +|**--location**|string|The Azure location where the Confidential Ledger is running.|location|location| +|**--tags**|dictionary|Additional tags for Confidential Ledger|tags|tags| +|**--ledger-type**|choice|Type of Confidential Ledger|ledger_type|ledgerType| +|**--aad-based-security-principals**|array|Array of all AAD based Security Principals.|aad_based_security_principals|aadBasedSecurityPrincipals| +|**--cert-based-security-principals**|array|Array of all cert based Security Principals.|cert_based_security_principals|certBasedSecurityPrincipals| + +#### Command `az confidentialledger update` + +##### Example +``` +az confidentialledger update --location "EastUS" --aad-based-security-principals ledger-role-name="Administrator" \ +principal-id="34621747-6fc8-4771-a2eb-72f31c461f2e" tenant-id="bce123b9-2b7b-4975-8360-5ca0b9b1cd08" \ +--cert-based-security-principals cert="-----BEGIN CERTIFICATE-----\\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhk\ +iG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDV\ +QQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr4\ +1c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1\ +OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZ\ +e6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAM\ +B0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTn\ +p+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZ\ +LZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnL\ +gzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb\ +0m2aOSVXynrLwNCAVA=\\n-----END CERTIFICATE-----" ledger-role-name="Reader" --ledger-type "Public" --tags \ +additionProps2="additional property value" additionalProps1="additional properties" --name "DummyLedgerName" \ +--resource-group "DummyResourceGroupName" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name|resourceGroupName| +|**--ledger-name**|string|Name of the Confidential Ledger|ledger_name|ledgerName| +|**--location**|string|The Azure location where the Confidential Ledger is running.|location|location| +|**--tags**|dictionary|Additional tags for Confidential Ledger|tags|tags| +|**--ledger-type**|choice|Type of Confidential Ledger|ledger_type|ledgerType| +|**--aad-based-security-principals**|array|Array of all AAD based Security Principals.|aad_based_security_principals|aadBasedSecurityPrincipals| +|**--cert-based-security-principals**|array|Array of all cert based Security Principals.|cert_based_security_principals|certBasedSecurityPrincipals| + +#### Command `az confidentialledger delete` + +##### Example +``` +az confidentialledger delete --name "DummyLedgerName" --resource-group "DummyResourceGroupName" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group.|resource_group_name|resourceGroupName| +|**--ledger-name**|string|Name of the Confidential Ledger|ledger_name|ledgerName| diff --git a/src/confidentialledger/setup.cfg b/src/confidentialledger/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/confidentialledger/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/confidentialledger/setup.py b/src/confidentialledger/setup.py new file mode 100644 index 00000000000..ef077ba89f6 --- /dev/null +++ b/src/confidentialledger/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_confidentialledger.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_confidentialledger.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='confidentialledger', + version=VERSION, + description='Microsoft Azure Command-Line Tools ConfidentialLedger Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/confidentialledger', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_confidentialledger': ['azext_metadata.json']}, +) diff --git a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py index 214ac8db81f..6687b1b4783 100644 --- a/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py +++ b/src/confluent/azext_confluent/tests/latest/test_confluent_scenario.py @@ -20,7 +20,7 @@ from .example_steps import step_organization_list2 from .example_steps import step_organization_update from .example_steps import step_organization_delete -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from .. import ( try_manual, raise_if, diff --git a/src/confluent/azext_confluent/tests/latest/test_confluent_term_accept_flow.py b/src/confluent/azext_confluent/tests/latest/test_confluent_term_accept_flow.py index 93d14aa06a9..1057f02c3e4 100644 --- a/src/confluent/azext_confluent/tests/latest/test_confluent_term_accept_flow.py +++ b/src/confluent/azext_confluent/tests/latest/test_confluent_term_accept_flow.py @@ -12,7 +12,7 @@ import time from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from .test_confluent_scenario import mock_jwt_decode, mock_list_role_assignments diff --git a/src/confluent/setup.py b/src/confluent/setup.py index ccd85a192c4..6dbc37aff61 100644 --- a/src/confluent/setup.py +++ b/src/confluent/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools ConfluentManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/confluent', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/connectedk8s/HISTORY.rst b/src/connectedk8s/HISTORY.rst index f4e4636f31f..69a6c7c3e6b 100644 --- a/src/connectedk8s/HISTORY.rst +++ b/src/connectedk8s/HISTORY.rst @@ -2,6 +2,26 @@ Release History =============== +1.2.4 +++++++ + +* Custom cert changes, using "userValues.txt" for existing values in update command instead of --reuse-values, fix to wait for LRO to complete before starting agent installation/deletion + +1.2.3 +++++++ + +* Fetching the tenantID from subscription object instead of graphclient + +1.2.2 +++++++ + +* Updated connectedk8s proxy to support mooncake + +1.2.1 +++++++ + +* Add maxCliCoreVersion as 2.29.0 + 1.2.0 ++++++ diff --git a/src/connectedk8s/azext_connectedk8s/_constants.py b/src/connectedk8s/azext_connectedk8s/_constants.py index 2e8791c17c8..be63dbf5d73 100644 --- a/src/connectedk8s/azext_connectedk8s/_constants.py +++ b/src/connectedk8s/azext_connectedk8s/_constants.py @@ -16,6 +16,7 @@ Azure_PublicCloudName = 'AZUREPUBLICCLOUD' Azure_USGovCloudName = 'AZUREUSGOVERNMENTCLOUD' +Azure_ChinaCloudName = 'AZURECHINACLOUD' Azure_DogfoodCloudName = 'AZUREDOGFOOD' PublicCloud_OriginalName = 'AZURECLOUD' USGovCloud_OriginalName = 'AZUREUSGOVERNMENT' @@ -112,16 +113,17 @@ CC_Provider_Namespace_Not_Registered_Fault_Type = "Connected Cluster Provider MS.K8 namespace not registered" Default_Namespace_Does_Not_Exist_Fault_Type = "The default namespace defined in the kubeconfig doesn't exist on the kubernetes cluster." ClusterConnect_Not_Present_Fault_Type = "cluster-connect-feature-unavailable" -CLIENT_PROXY_VERSION = '1.3.017131' +CLIENT_PROXY_VERSION = '1.3.018101' API_SERVER_PORT = 47011 CLIENT_PROXY_PORT = 47010 CLIENTPROXY_CLIENT_ID = '04b07795-8ddb-461a-bbee-02f9e1bf7b46' -API_CALL_RETRIES = 200 +API_CALL_RETRIES = 12 DEFAULT_REQUEST_TIMEOUT = 10 # seconds -RELEASE_DATE_WINDOWS = 'release13-09-21' -RELEASE_DATE_LINUX = 'release13-09-21' +RELEASE_DATE_WINDOWS = 'release16-12-21' +RELEASE_DATE_LINUX = 'release16-12-21' CSP_REFRESH_TIME = 300 # URL constants CSP_Storage_Url = "https://k8sconnectcsp.azureedge.net" +CSP_Storage_Url_Mooncake = "https://k8sconnectcsp.blob.core.chinacloudapi.cn" HELM_STORAGE_URL = "https://k8connecthelm.azureedge.net" HELM_VERSION = 'v3.6.3' diff --git a/src/connectedk8s/azext_connectedk8s/_params.py b/src/connectedk8s/azext_connectedk8s/_params.py index 77223211f31..2621410e70e 100644 --- a/src/connectedk8s/azext_connectedk8s/_params.py +++ b/src/connectedk8s/azext_connectedk8s/_params.py @@ -44,7 +44,7 @@ def load_arguments(self, _): c.argument('https_proxy', options_list=['--proxy-https'], arg_group='Proxy', help='Https proxy URL to be used.') c.argument('http_proxy', options_list=['--proxy-http'], arg_group='Proxy', help='Http proxy URL to be used.') c.argument('no_proxy', options_list=['--proxy-skip-range'], arg_group='Proxy', help='List of URLs/CIDRs for which proxy should not to be used.') - c.argument('proxy_cert', options_list=['--proxy-cert'], arg_group='Proxy', type=file_type, completer=FilesCompleter(), help='Path to the certificate file for proxy') + c.argument('proxy_cert', options_list=['--proxy-cert'], arg_group='Proxy', type=file_type, completer=FilesCompleter(), help='Path to the any additional certificate file (for proxy as well)') c.argument('disable_proxy', options_list=['--disable-proxy'], arg_group='Proxy', action='store_true', help='Disables proxy settings for agents') c.argument('auto_upgrade', options_list=['--auto-upgrade'], help='Flag to enable/disable auto upgrade of arc agents. By default, auto upgrade of agents is enabled.', arg_type=get_enum_type(["true", "false"])) diff --git a/src/connectedk8s/azext_connectedk8s/_utils.py b/src/connectedk8s/azext_connectedk8s/_utils.py index 3ec025c2d76..4c87a356f03 100644 --- a/src/connectedk8s/azext_connectedk8s/_utils.py +++ b/src/connectedk8s/azext_connectedk8s/_utils.py @@ -322,6 +322,7 @@ def helm_install_release(chart_path, subscription_id, kubernetes_distro, kuberne cmd_helm_install.extend(["--set", "global.noProxy={}".format(no_proxy)]) if proxy_cert: cmd_helm_install.extend(["--set-file", "global.proxyCert={}".format(proxy_cert)]) + cmd_helm_install.extend(["--set", "global.isCustomCert={}".format(True)]) if https_proxy or http_proxy or no_proxy: cmd_helm_install.extend(["--set", "global.isProxyEnabled={}".format(True)]) if kube_config: diff --git a/src/connectedk8s/azext_connectedk8s/azext_metadata.json b/src/connectedk8s/azext_connectedk8s/azext_metadata.json index f3541f0d286..09bc07d3377 100644 --- a/src/connectedk8s/azext_connectedk8s/azext_metadata.json +++ b/src/connectedk8s/azext_connectedk8s/azext_metadata.json @@ -1,3 +1,6 @@ { - "azext.minCliCoreVersion": "2.16.0" + "name": "connectedk8s", + "version": "1.2.1", + "azext.minCliCoreVersion": "2.16.0", + "azext.maxCliCoreVersion": "2.29.0" } \ No newline at end of file diff --git a/src/connectedk8s/azext_connectedk8s/custom.py b/src/connectedk8s/azext_connectedk8s/custom.py index 6cc93b252d9..4fde18967f2 100644 --- a/src/connectedk8s/azext_connectedk8s/custom.py +++ b/src/connectedk8s/azext_connectedk8s/custom.py @@ -59,16 +59,14 @@ def create_connectedk8s(cmd, client, resource_group_name, cluster_name, https_pr disable_auto_upgrade=False, cl_oid=None, onboarding_timeout="600"): logger.warning("This operation might take a while...\n") - # Setting subscription id + # Setting subscription id and tenant Id subscription_id = get_subscription_id(cmd.cli_ctx) + account = Profile().get_subscription(subscription_id) + onboarding_tenant_id = account['homeTenantId'] # Send cloud information to telemetry azure_cloud = send_cloud_telemetry(cmd) - # Fetching Tenant Id - graph_client = _graph_client_factory(cmd.cli_ctx) - onboarding_tenant_id = graph_client.config.tenant_id - # Checking provider registration status utils.check_provider_registrations(cmd.cli_ctx) @@ -183,7 +181,8 @@ def create_connectedk8s(cmd, client, resource_group_name, cluster_name, https_pr except Exception as e: # pylint: disable=broad-except utils.arm_exception_handler(e, consts.Get_ConnectedCluster_Fault_Type, 'Failed to check if connected cluster resource already exists.') cc = generate_request_payload(configuration, location, public_key, tags, kubernetes_distro, kubernetes_infra) - create_cc_resource(client, resource_group_name, cluster_name, cc, no_wait) + cc_response = create_cc_resource(client, resource_group_name, cluster_name, cc, no_wait).result() + return cc_response else: telemetry.set_exception(exception='The kubernetes cluster is already onboarded', fault_type=consts.Cluster_Already_Onboarded_Fault_Type, summary='Kubernetes cluster already onboarded') @@ -283,7 +282,7 @@ def create_connectedk8s(cmd, client, resource_group_name, cluster_name, https_pr cc = generate_request_payload(configuration, location, public_key, tags, kubernetes_distro, kubernetes_infra) # Create connected cluster resource - put_cc_response = create_cc_resource(client, resource_group_name, cluster_name, cc, no_wait) + put_cc_response = create_cc_resource(client, resource_group_name, cluster_name, cc, no_wait).result() # 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, cl_oid) @@ -681,7 +680,7 @@ def delete_connectedk8s(cmd, client, resource_group_name, cluster_name, release_namespace = get_release_namespace(kube_config, kube_context, helm_client_location) if not release_namespace: - delete_cc_resource(client, resource_group_name, cluster_name, no_wait) + delete_cc_resource(client, resource_group_name, cluster_name, no_wait).result() return # Loading config map @@ -706,7 +705,7 @@ def delete_connectedk8s(cmd, client, resource_group_name, cluster_name, summary='The resource cannot be deleted as user is using proxy kubeconfig.') raise ClientRequestError("az connectedk8s delete is not supported when using the Cluster Connect kubeconfig.", recommendation="Run the az connectedk8s delete command with your kubeconfig file pointing to the actual Kubernetes cluster to ensure that the agents are cleaned up successfully as part of the delete command.") - delete_cc_resource(client, resource_group_name, cluster_name, no_wait) + delete_cc_resource(client, resource_group_name, cluster_name, no_wait).result() else: telemetry.set_exception(exception='Unable to delete connected cluster', fault_type=consts.Bad_DeleteRequest_Fault_Type, summary='The resource cannot be deleted as kubernetes cluster is onboarded with some other resource id') @@ -754,9 +753,9 @@ def create_cc_resource(client, resource_group_name, cluster_name, cc, no_wait): def delete_cc_resource(client, resource_group_name, cluster_name, no_wait): try: - sdk_no_wait(no_wait, client.begin_delete, - resource_group_name=resource_group_name, - cluster_name=cluster_name) + return sdk_no_wait(no_wait, client.begin_delete, + resource_group_name=resource_group_name, + cluster_name=cluster_name) except Exception as e: utils.arm_exception_handler(e, consts.Delete_ConnectedCluster_Fault_Type, 'Unable to delete connected cluster resource') @@ -803,7 +802,7 @@ def update_agents(cmd, client, resource_group_name, cluster_name, https_proxy="" if https_proxy == "" and http_proxy == "" and no_proxy == "" and proxy_cert == "" and not disable_proxy and not auto_upgrade: raise RequiredArgumentMissingError(consts.No_Param_Error) - if (https_proxy or http_proxy or no_proxy or proxy_cert) and disable_proxy: + if (https_proxy or http_proxy or no_proxy) and disable_proxy: raise MutuallyExclusiveArgumentError(consts.EnableProxy_Conflict_Error) # Checking whether optional extra values file has been provided. @@ -881,9 +880,26 @@ def update_agents(cmd, client, resource_group_name, cluster_name, https_proxy="" # Get Helm chart path chart_path = utils.get_chart_path(registry_path, kube_config, kube_context, helm_client_location) + cmd_helm_values = [helm_client_location, "get", "values", "azure-arc", "--namespace", release_namespace] + if kube_config: + cmd_helm_values.extend(["--kubeconfig", kube_config]) + if kube_context: + cmd_helm_values.extend(["--kube-context", kube_context]) + + user_values_location = os.path.join(os.path.expanduser('~'), '.azure', 'userValues.txt') + existing_user_values = open(user_values_location, 'w+') + response_helm_values_get = Popen(cmd_helm_values, stdout=existing_user_values, stderr=PIPE) + _, error_helm_get_values = response_helm_values_get.communicate() + if response_helm_values_get.returncode != 0: + if ('forbidden' in error_helm_get_values.decode("ascii") or 'timed out waiting for the condition' in error_helm_get_values.decode("ascii")): + telemetry.set_user_fault() + telemetry.set_exception(exception=error_helm_get_values.decode("ascii"), fault_type=consts.Get_Helm_Values_Failed, + summary='Error while doing helm get values azure-arc') + raise CLIInternalError(str.format(consts.Update_Agent_Failure, error_helm_get_values.decode("ascii"))) + cmd_helm_upgrade = [helm_client_location, "upgrade", "azure-arc", chart_path, "--namespace", release_namespace, - "--reuse-values", - "--wait", "--output", "json"] + "-f", + user_values_location, "--wait", "--output", "json"] if values_file_provided: cmd_helm_upgrade.extend(["-f", values_file]) if auto_upgrade is not None: @@ -900,6 +916,7 @@ def update_agents(cmd, client, resource_group_name, cluster_name, https_proxy="" cmd_helm_upgrade.extend(["--set", "global.isProxyEnabled={}".format(False)]) if proxy_cert: cmd_helm_upgrade.extend(["--set-file", "global.proxyCert={}".format(proxy_cert)]) + cmd_helm_upgrade.extend(["--set", "global.isCustomCert={}".format(True)]) if kube_config: cmd_helm_upgrade.extend(["--kubeconfig", kube_config]) if kube_context: @@ -911,8 +928,15 @@ def update_agents(cmd, client, resource_group_name, cluster_name, https_proxy="" telemetry.set_user_fault() telemetry.set_exception(exception=error_helm_upgrade.decode("ascii"), fault_type=consts.Install_HelmRelease_Fault_Type, summary='Unable to install helm release') + try: + os.remove(user_values_location) + except OSError: + pass raise CLIInternalError(str.format(consts.Update_Agent_Failure, error_helm_upgrade.decode("ascii"))) - + try: + os.remove(user_values_location) + except OSError: + pass return str.format(consts.Update_Agent_Success, connected_cluster.name) @@ -1629,16 +1653,21 @@ def client_side_proxy_wrapper(cmd, if port_error_string != "": raise ClientRequestError(port_error_string) + # Set csp url based on cloud + CSP_Url = consts.CSP_Storage_Url + if cloud == consts.Azure_ChinaCloudName: + CSP_Url = consts.CSP_Storage_Url_Mooncake + # Creating installation location, request uri and older version exe location depending on OS if(operating_system == 'Windows'): install_location_string = f'.clientproxy\\arcProxy{operating_system}{consts.CLIENT_PROXY_VERSION}.exe' - requestUri = f'{consts.CSP_Storage_Url}/{consts.RELEASE_DATE_WINDOWS}/arcProxy{operating_system}{consts.CLIENT_PROXY_VERSION}.exe' + requestUri = f'{CSP_Url}/{consts.RELEASE_DATE_WINDOWS}/arcProxy{operating_system}{consts.CLIENT_PROXY_VERSION}.exe' older_version_string = f'.clientproxy\\arcProxy{operating_system}*.exe' creds_string = r'.azure\accessTokens.json' elif(operating_system == 'Linux' or operating_system == 'Darwin'): install_location_string = f'.clientproxy/arcProxy{operating_system}{consts.CLIENT_PROXY_VERSION}' - requestUri = f'{consts.CSP_Storage_Url}/{consts.RELEASE_DATE_LINUX}/arcProxy{operating_system}{consts.CLIENT_PROXY_VERSION}' + requestUri = f'{CSP_Url}/{consts.RELEASE_DATE_LINUX}/arcProxy{operating_system}{consts.CLIENT_PROXY_VERSION}' older_version_string = f'.clientproxy/arcProxy{operating_system}*' creds_string = r'.azure/accessTokens.json' @@ -1713,10 +1742,9 @@ def client_side_proxy_wrapper(cmd, # if service account token is not passed if token is None: # Identifying type of logged in entity - account = get_subscription_id(cmd.cli_ctx) - account = Profile().get_subscription(account) + subscription_id = get_subscription_id(cmd.cli_ctx) + account = Profile().get_subscription(subscription_id) user_type = account['user']['type'] - tenantId = _graph_client_factory(cmd.cli_ctx).config.tenant_id if user_type == 'user': @@ -1727,6 +1755,9 @@ def client_side_proxy_wrapper(cmd, if cloud == 'DOGFOOD': dict_file['cloud'] = 'AzureDogFood' + if cloud == consts.Azure_ChinaCloudName: + dict_file['cloud'] = 'AzureChinaCloud' + # Fetching creds creds_location = os.path.expanduser(os.path.join('~', creds_string)) try: @@ -1762,6 +1793,8 @@ def client_side_proxy_wrapper(cmd, dict_file['identity']['clientSecret'] = creds else: dict_file = {'server': {'httpPort': int(client_proxy_port), 'httpsPort': int(api_server_port)}} + if cloud == consts.Azure_ChinaCloudName: + dict_file['cloud'] = 'AzureChinaCloud' telemetry.set_debug_info('User type is ', user_type) @@ -1948,6 +1981,7 @@ def make_api_call_with_retries(uri, data, tls_verify, fault_type, summary, cli_e response = requests.post(uri, json=data, verify=tls_verify) return response except Exception as e: + time.sleep(5) if i != consts.API_CALL_RETRIES - 1: pass else: diff --git a/src/connectedk8s/azext_connectedk8s/tests/latest/test_connectedk8s_scenario.py b/src/connectedk8s/azext_connectedk8s/tests/latest/test_connectedk8s_scenario.py index cd81443b27c..203c7877efb 100644 --- a/src/connectedk8s/azext_connectedk8s/tests/latest/test_connectedk8s_scenario.py +++ b/src/connectedk8s/azext_connectedk8s/tests/latest/test_connectedk8s_scenario.py @@ -7,7 +7,7 @@ import unittest from azure.cli.testsdk import (LiveScenarioTest, ResourceGroupPreparer) # pylint: disable=import-error -from azure_devtools.scenario_tests import AllowLargeResponse # pylint: disable=import-error +from azure.cli.testsdk.scenario_tests import AllowLargeResponse # pylint: disable=import-error TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) diff --git a/src/connectedk8s/setup.py b/src/connectedk8s/setup.py index 6223f2dd686..df92c4d6167 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.2.0' +VERSION = '1.2.4' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -51,7 +51,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='k8connect@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/connectedk8s', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/connectedk8s', long_description=README + '\n\n' + HISTORY, long_description_content_type="text/markdown", license='MIT', diff --git a/src/connectedmachine/setup.py b/src/connectedmachine/setup.py index ad51b0cc1a4..2248468b82f 100644 --- a/src/connectedmachine/setup.py +++ b/src/connectedmachine/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools ConnectedMachine Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/connectedmachine', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/connectedmachine', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/connectedvmware/HISTORY.rst b/src/connectedvmware/HISTORY.rst index 6702c59d8e3..5aa5fddcd11 100644 --- a/src/connectedvmware/HISTORY.rst +++ b/src/connectedvmware/HISTORY.rst @@ -3,6 +3,12 @@ Release History =============== +0.1.6 +++++++ +* Fix vm update +* Fix inventory item show +* Add support for tagging + 0.1.5 ++++++ * Fixed inventory item id issue. diff --git a/src/connectedvmware/azext_connectedvmware/custom.py b/src/connectedvmware/azext_connectedvmware/custom.py index 4e99aba1b83..465eec0b8c8 100644 --- a/src/connectedvmware/azext_connectedvmware/custom.py +++ b/src/connectedvmware/azext_connectedvmware/custom.py @@ -162,6 +162,7 @@ def connect_vcenter( port=port, extended_location=extended_location, credentials=username_creds, + tags=tags ) return sdk_no_wait( @@ -206,14 +207,14 @@ def show_inventory_item( inventory_item ): - return client.get(resource_group_name, vcenter, inventory_item) + return client.get(resource_group_name, vcenter.split('/')[-1], inventory_item.split('/')[-1]) def list_inventory_item( client: InventoryItemsOperations, resource_group_name, vcenter ): - return client.list_by_v_center(resource_group_name, vcenter) + return client.list_by_v_center(resource_group_name, vcenter.split('/')[-1]) # endregion @@ -283,6 +284,7 @@ def create_resource_pool( location=location, extended_location=extended_location, inventory_item_id=inventory_item_id, + tags=tags ) else: resource_pool = ResourcePool( @@ -290,6 +292,7 @@ def create_resource_pool( extended_location=extended_location, v_center_id=vcenter_id, mo_ref_id=mo_ref_id, + tags=tags ) return sdk_no_wait( @@ -391,6 +394,7 @@ def create_cluster( location=location, extended_location=extended_location, inventory_item_id=inventory_item_id, + tags=tags ) else: cluster = Cluster( @@ -398,6 +402,7 @@ def create_cluster( extended_location=extended_location, v_center_id=vcenter_id, mo_ref_id=mo_ref_id, + tags=tags ) return sdk_no_wait( @@ -499,6 +504,7 @@ def create_datastore( location=location, extended_location=extended_location, inventory_item_id=inventory_item_id, + tags=tags ) else: datastore = Datastore( @@ -506,6 +512,7 @@ def create_datastore( extended_location=extended_location, v_center_id=vcenter_id, mo_ref_id=mo_ref_id, + tags=tags ) return sdk_no_wait( @@ -607,6 +614,7 @@ def create_host( location=location, extended_location=extended_location, inventory_item_id=inventory_item_id, + tags=tags ) else: host = Host( @@ -614,6 +622,7 @@ def create_host( extended_location=extended_location, v_center_id=vcenter_id, mo_ref_id=mo_ref_id, + tags=tags ) return sdk_no_wait( @@ -715,6 +724,7 @@ def create_virtual_network( location=location, extended_location=extended_location, inventory_item_id=inventory_item_id, + tags=tags ) else: virtual_network = VirtualNetwork( @@ -722,6 +732,7 @@ def create_virtual_network( extended_location=extended_location, v_center_id=vcenter_id, mo_ref_id=mo_ref_id, + tags=tags ) return sdk_no_wait( @@ -829,6 +840,7 @@ def create_vm_template( location=location, extended_location=extended_location, inventory_item_id=inventory_item_id, + tags=tags ) else: vm_template = VirtualMachineTemplate( @@ -836,6 +848,7 @@ def create_vm_template( extended_location=extended_location, v_center_id=vcenter_id, mo_ref_id=mo_ref_id, + tags=tags ) return sdk_no_wait( @@ -1071,6 +1084,7 @@ def create_vm( os_profile=os_profile, network_profile=network_profile, storage_profile=storage_profile, + tags=tags ) else: vm = VirtualMachine( @@ -1082,6 +1096,7 @@ def create_vm( os_profile=os_profile, network_profile=network_profile, storage_profile=storage_profile, + tags=tags ) return sdk_no_wait( @@ -1121,14 +1136,17 @@ def update_vm( num_cores_per_socket=num_cores_per_socket, ) - vm_update = VirtualMachineUpdate(hardware_profile=hardware_profile) + vm_update = VirtualMachineUpdate( + hardware_profile=hardware_profile, + tags=tags + ) + return sdk_no_wait( no_wait, client.begin_update, resource_group_name, resource_name, - vm_update, - tags, + vm_update ) diff --git a/src/connectedvmware/azext_connectedvmware/tests/latest/recordings/test_connectedvmware.yaml b/src/connectedvmware/azext_connectedvmware/tests/latest/recordings/test_connectedvmware.yaml index 5464a5c0047..351dfda9806 100644 --- a/src/connectedvmware/azext_connectedvmware/tests/latest/recordings/test_connectedvmware.yaml +++ b/src/connectedvmware/azext_connectedvmware/tests/latest/recordings/test_connectedvmware.yaml @@ -13,23 +13,23 @@ interactions: ParameterSetName: - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/vcenters/azcli-test-vcenter-avs?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/vcenters/service-sdk-test-vcenter?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/microsoft.extendedlocation/customlocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-09-26T12:00:13.8227026Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-07T06:19:35.5120885Z"},"properties":{"credentials":{"username":"cloudadmin@vsphere.local"},"fqdn":"10.220.0.2","port":443,"provisioningState":"Succeeded","uuid":"7a64e201-f0a9-4ff6-a854-60800edee66a","customResourceName":"7a64e201-f0a9-4ff6-a854-60800edee66a","statuses":[{"status":"True","type":"Connected","lastUpdatedAt":"2021-10-07T06:19:09Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-09-26T12:00:29.3289417Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-09-26T12:00:29.3289417Z"}],"version":"6.7.0","instanceUuid":"90dc6a44-9d08-4c0f-942d-4968dea5c526","connectionStatus":"Connected"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/vcenters/service-sdk-test-vcenter","name":"service-sdk-test-vcenter","type":"microsoft.connectedvmwarevsphere/vcenters","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/service-sdk-test/providers/microsoft.extendedlocation/customlocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-12-30T10:11:24.3603755Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-12-30T10:21:46.9516433Z"},"properties":{"credentials":{"username":"cloudadmin@vsphere.local"},"fqdn":"10.220.0.2","port":443,"provisioningState":"Succeeded","uuid":"49817607-e8d8-4a33-a716-856879e54696","customResourceName":"49817607-e8d8-4a33-a716-856879e54696","statuses":[{"status":"True","type":"Connected","lastUpdatedAt":"2021-12-30T10:11:42Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-12-30T10:21:46.8792234Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-12-30T10:21:46.8792234Z"}],"version":"6.7.0","instanceUuid":"90dc6a44-9d08-4c0f-942d-4968dea5c526","connectionStatus":"Connected"}}' headers: cache-control: - no-cache content-length: - - '1339' + - '1353' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:38:56 GMT + - Sun, 02 Jan 2022 16:30:38 GMT etag: - - '"00004cec-0000-3400-0000-615e91770000"' + - '"3b00d1c3-0000-3400-0000-61cd883b0000"' expires: - '-1' pragma: @@ -61,21 +61,21 @@ interactions: ParameterSetName: - -g User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/vcenters?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/vcenters?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/microsoft.extendedlocation/customlocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-09-26T12:00:13.8227026Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-07T06:19:35.5120885Z"},"properties":{"credentials":{"username":"cloudadmin@vsphere.local"},"fqdn":"10.220.0.2","port":443,"provisioningState":"Succeeded","uuid":"7a64e201-f0a9-4ff6-a854-60800edee66a","customResourceName":"7a64e201-f0a9-4ff6-a854-60800edee66a","statuses":[{"status":"True","type":"Connected","lastUpdatedAt":"2021-10-07T06:19:09Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-09-26T12:00:29.3289417Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-09-26T12:00:29.3289417Z"}],"version":"6.7.0","instanceUuid":"90dc6a44-9d08-4c0f-942d-4968dea5c526","connectionStatus":"Connected"}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/vcenters/service-sdk-test-vcenter","name":"service-sdk-test-vcenter","type":"microsoft.connectedvmwarevsphere/vcenters","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/service-sdk-test/providers/microsoft.extendedlocation/customlocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-12-30T10:11:24.3603755Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-12-30T10:21:46.9516433Z"},"properties":{"credentials":{"username":"cloudadmin@vsphere.local"},"fqdn":"10.220.0.2","port":443,"provisioningState":"Succeeded","uuid":"49817607-e8d8-4a33-a716-856879e54696","customResourceName":"49817607-e8d8-4a33-a716-856879e54696","statuses":[{"status":"True","type":"Connected","lastUpdatedAt":"2021-12-30T10:11:42Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-12-30T10:21:46.8792234Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-12-30T10:21:46.8792234Z"}],"version":"6.7.0","instanceUuid":"90dc6a44-9d08-4c0f-942d-4968dea5c526","connectionStatus":"Connected"}}]}' headers: cache-control: - no-cache content-length: - - '1351' + - '1365' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:38:58 GMT + - Sun, 02 Jan 2022 16:30:40 GMT expires: - '-1' pragma: @@ -87,17 +87,17 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - f1920e97-15a2-4013-8b8e-a88995b6b49a - - a8fc31a4-0553-4cb7-bffd-8a131eadd661 - - b492cf0b-53f7-4704-a6b6-ccc40c08084a + - 397724f9-4953-48e4-880b-177bf716c28e + - 3e51dcc5-d798-48c0-bcd5-2a6b8ed6d882 + - 50c2f517-64a6-4409-845f-c5572691b770 status: code: 200 message: OK - request: body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, - "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs", - "moRefId": "resgroup-74941"}}' + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter", + "moRefId": "resgroup-87723"}}' headers: Accept: - application/json @@ -108,37 +108,37 @@ interactions: Connection: - keep-alive Content-Length: - - '453' + - '465' Content-Type: - application/json ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:39:12.7474817Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-10-14T11:39:12.7474817Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"resgroup-74941","provisioningState":"Accepted"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:30:47.9084269Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T16:30:47.9084269Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"resgroup-87723","provisioningState":"Accepted"}}' headers: api-supported-versions: - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/28acca8e-cc33-4c11-8049-d7b4a1d9e8f0*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview cache-control: - no-cache content-length: - - '970' + - '986' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:39:15 GMT + - Sun, 02 Jan 2022 16:30:51 GMT etag: - - '"0200967a-0000-3400-0000-616816e20000"' + - '"21001c0a-0000-3400-0000-61d1d33a0000"' expires: - '-1' location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/azcli-test-resource-pool + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/azcli-test-resource-pool pragma: - no-cache strict-transport-security: @@ -166,23 +166,23 @@ interactions: ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/28acca8e-cc33-4c11-8049-d7b4a1d9e8f0*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/28acca8e-cc33-4c11-8049-d7b4a1d9e8f0*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3","name":"28acca8e-cc33-4c11-8049-d7b4a1d9e8f0*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Succeeded","startTime":"2021-10-14T11:39:14.336166Z","endTime":"2021-10-14T11:39:23.3998618Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '604' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:39:46 GMT + - Sun, 02 Jan 2022 16:31:21 GMT etag: - - '"0300ca92-0000-3400-0000-616816eb0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -212,23 +212,23 @@ interactions: ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:39:12.7474817Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:39:23.2209664Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"resgroup-74941","provisioningState":"Succeeded","uuid":"0a3f5e0e-13ed-4e43-93fe-a40b4a03ece6","customResourceName":"0a3f5e0e-13ed-4e43-93fe-a40b4a03ece6","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:39:23.1780815Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:39:23.1780815Z"}],"moName":"azclitest-rp","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1378' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:39:46 GMT + - Sun, 02 Jan 2022 16:31:52 GMT etag: - - '"02009d7a-0000-3400-0000-616816eb0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -241,8 +241,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -250,33 +248,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware resource-pool show + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - - -g --name + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:39:12.7474817Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:39:23.2209664Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"resgroup-74941","provisioningState":"Succeeded","uuid":"0a3f5e0e-13ed-4e43-93fe-a40b4a03ece6","customResourceName":"0a3f5e0e-13ed-4e43-93fe-a40b4a03ece6","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:39:23.1780815Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:39:23.1780815Z"}],"moName":"azclitest-rp","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1378' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:39:49 GMT + - Sun, 02 Jan 2022 16:32:23 GMT etag: - - '"02009d7a-0000-3400-0000-616816eb0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -289,8 +287,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -298,107 +294,48 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware resource-pool list + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - - -g + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/resourcePools?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:39:12.7474817Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:39:23.2209664Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"resgroup-74941","provisioningState":"Succeeded","uuid":"0a3f5e0e-13ed-4e43-93fe-a40b4a03ece6","customResourceName":"0a3f5e0e-13ed-4e43-93fe-a40b4a03ece6","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:39:23.1780815Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:39:23.1780815Z"}],"moName":"azclitest-rp","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}]}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1390' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:39:51 GMT + - Sun, 02 Jan 2022 16:32:53 GMT + etag: + - '"070021fc-0000-3400-0000-61d1d3390000"' 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-original-request-ids: - - 6e3f8ebd-3dd7-4e3d-afa1-c3c2209d9cfc - - 9dd5fbb9-c547-446c-906f-1fd1a4a11107 - - 311b9d6e-0283-4938-8d81-7aef6f0a40a8 status: code: 200 message: OK -- request: - body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, - "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs", - "moRefId": "domain-c7"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - connectedvmware cluster create - Connection: - - keep-alive - Content-Length: - - '448' - Content-Type: - - application/json - ParameterSetName: - - -g -l --custom-location --vcenter --mo-ref-id --name - User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","name":"azcli-test-cluster","type":"microsoft.connectedvmwarevsphere/clusters","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:40:00.3694462Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-10-14T11:40:00.3694462Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"domain-c7","provisioningState":"Accepted"}}' - headers: - api-supported-versions: - - 2020-10-01-preview - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/baa08fda-d70a-4f31-ba89-ff10e0090d04*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359?api-version=2020-10-01-preview - cache-control: - - no-cache - content-length: - - '943' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 14 Oct 2021 11:40:03 GMT - etag: - - '"0d00f6a9-0000-3400-0000-616817120000"' - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/Clusters/azcli-test-cluster - 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: @@ -407,29 +344,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware cluster create + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/baa08fda-d70a-4f31-ba89-ff10e0090d04*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/baa08fda-d70a-4f31-ba89-ff10e0090d04*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359","name":"baa08fda-d70a-4f31-ba89-ff10e0090d04*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Succeeded","startTime":"2021-10-14T11:40:02.4707196Z","endTime":"2021-10-14T11:40:10.1999248Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '594' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:40:34 GMT + - Sun, 02 Jan 2022 16:33:24 GMT etag: - - '"0300e692-0000-3400-0000-6168171a0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -453,29 +390,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware cluster create + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","name":"azcli-test-cluster","type":"microsoft.connectedvmwarevsphere/clusters","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:40:00.3694462Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:40:10.0041655Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"domain-c7","provisioningState":"Succeeded","uuid":"06ab6c87-f953-4171-8e00-83cdb210aaa9","customResourceName":"06ab6c87-f953-4171-8e00-83cdb210aaa9","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:40:09.9540129Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:40:09.9540129Z"}],"datastoreIds":[],"networkIds":[],"moName":"Cluster-1"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1297' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:40:35 GMT + - Sun, 02 Jan 2022 16:33:54 GMT etag: - - '"0d0004aa-0000-3400-0000-6168171a0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -488,8 +425,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -497,33 +432,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware cluster show + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - - -g --name + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","name":"azcli-test-cluster","type":"microsoft.connectedvmwarevsphere/clusters","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:40:00.3694462Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:40:10.0041655Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"domain-c7","provisioningState":"Succeeded","uuid":"06ab6c87-f953-4171-8e00-83cdb210aaa9","customResourceName":"06ab6c87-f953-4171-8e00-83cdb210aaa9","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:40:09.9540129Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:40:09.9540129Z"}],"datastoreIds":[],"networkIds":[],"moName":"Cluster-1"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1297' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:40:38 GMT + - Sun, 02 Jan 2022 16:34:24 GMT etag: - - '"0d0004aa-0000-3400-0000-6168171a0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -536,8 +471,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -545,107 +478,94 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware cluster list + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - - -g + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","name":"azcli-test-cluster","type":"microsoft.connectedvmwarevsphere/clusters","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:40:00.3694462Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:40:10.0041655Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"domain-c7","provisioningState":"Succeeded","uuid":"06ab6c87-f953-4171-8e00-83cdb210aaa9","customResourceName":"06ab6c87-f953-4171-8e00-83cdb210aaa9","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:40:09.9540129Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:40:09.9540129Z"}],"datastoreIds":[],"networkIds":[],"moName":"Cluster-1"}}]}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1309' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:40:41 GMT + - Sun, 02 Jan 2022 16:34:55 GMT + etag: + - '"070021fc-0000-3400-0000-61d1d3390000"' 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-original-request-ids: - - 773477a6-d433-4961-8473-e8db070c69dc - - b0fd37f5-9645-4491-b1da-3cb2735927ed - - a3a282a0-cbe1-48d4-840d-3436c36c62a2 status: code: 200 message: OK - request: - body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, - "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs", - "moRefId": "datastore-11"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware datastore create + - connectedvmware resource-pool create Connection: - keep-alive - Content-Length: - - '451' - Content-Type: - - application/json ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore?api-version=2020-10-01-preview + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","name":"azcli-test-datastore","type":"microsoft.connectedvmwarevsphere/datastores","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:40:49.4124212Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-10-14T11:40:49.4124212Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"datastore-11","provisioningState":"Accepted"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: - api-supported-versions: - - 2020-10-01-preview - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e14998cf-2771-4079-a992-5ea51ad139fb*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3?api-version=2020-10-01-preview cache-control: - no-cache content-length: - - '954' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:40:51 GMT + - Sun, 02 Jan 2022 16:35:26 GMT etag: - - '"0000ac5e-0000-3400-0000-616817430000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/Datastores/azcli-test-datastore 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' - x-ms-ratelimit-remaining-subscription-writes: - - '1199' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -654,29 +574,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware datastore create + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e14998cf-2771-4079-a992-5ea51ad139fb*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e14998cf-2771-4079-a992-5ea51ad139fb*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3","name":"e14998cf-2771-4079-a992-5ea51ad139fb*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Succeeded","startTime":"2021-10-14T11:40:50.9485439Z","endTime":"2021-10-14T11:40:57.8867201Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '598' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:41:22 GMT + - Sun, 02 Jan 2022 16:35:56 GMT etag: - - '"0300f592-0000-3400-0000-616817490000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -700,29 +620,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware datastore create + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","name":"azcli-test-datastore","type":"microsoft.connectedvmwarevsphere/datastores","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:40:49.4124212Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:40:57.6845531Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"datastore-11","provisioningState":"Succeeded","uuid":"e1d41ff5-b573-45e9-b52d-362b2b8583fb","customResourceName":"e1d41ff5-b573-45e9-b52d-362b2b8583fb","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:40:57.6383934Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:40:57.6383934Z"}],"moName":"vsanDatastore"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1278' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:41:23 GMT + - Sun, 02 Jan 2022 16:36:27 GMT etag: - - '"0000b35e-0000-3400-0000-616817490000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -735,8 +655,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -744,33 +662,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware datastore show + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - - -g --name + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","name":"azcli-test-datastore","type":"microsoft.connectedvmwarevsphere/datastores","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:40:49.4124212Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:40:57.6845531Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"datastore-11","provisioningState":"Succeeded","uuid":"e1d41ff5-b573-45e9-b52d-362b2b8583fb","customResourceName":"e1d41ff5-b573-45e9-b52d-362b2b8583fb","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:40:57.6383934Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:40:57.6383934Z"}],"moName":"vsanDatastore"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1278' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:41:25 GMT + - Sun, 02 Jan 2022 16:36:58 GMT etag: - - '"0000b35e-0000-3400-0000-616817490000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -783,8 +701,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -792,107 +708,94 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware datastore list + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - - -g + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","name":"azcli-test-datastore","type":"microsoft.connectedvmwarevsphere/datastores","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:40:49.4124212Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:40:57.6845531Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"datastore-11","provisioningState":"Succeeded","uuid":"e1d41ff5-b573-45e9-b52d-362b2b8583fb","customResourceName":"e1d41ff5-b573-45e9-b52d-362b2b8583fb","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:40:57.6383934Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:40:57.6383934Z"}],"moName":"vsanDatastore"}}]}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1290' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:41:27 GMT + - Sun, 02 Jan 2022 16:37:28 GMT + etag: + - '"070021fc-0000-3400-0000-61d1d3390000"' 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-original-request-ids: - - 5f0829da-4788-46f0-9c2c-ee3ab0105877 - - d596361f-9f45-4403-8868-402e7a46f5f6 - - c3f084dd-3780-4060-a56f-f059fbee2e33 status: code: 200 message: OK - request: - body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, - "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs", - "moRefId": "host-10"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware host create + - connectedvmware resource-pool 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.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host?api-version=2020-10-01-preview + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","name":"azcli-test-host","type":"microsoft.connectedvmwarevsphere/hosts","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:41:37.6315237Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-10-14T11:41:37.6315237Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"host-10","provisioningState":"Accepted"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: - api-supported-versions: - - 2020-10-01-preview - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6494bfe7-90f4-4039-827d-38aea3d157fd*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309?api-version=2020-10-01-preview cache-control: - no-cache content-length: - - '929' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:41:40 GMT + - Sun, 02 Jan 2022 16:37:59 GMT etag: - - '"06005e18-0000-3400-0000-616817730000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/Hosts/azcli-test-host 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' - x-ms-ratelimit-remaining-subscription-writes: - - '1198' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -901,29 +804,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware host create + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6494bfe7-90f4-4039-827d-38aea3d157fd*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6494bfe7-90f4-4039-827d-38aea3d157fd*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309","name":"6494bfe7-90f4-4039-827d-38aea3d157fd*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Succeeded","startTime":"2021-10-14T11:41:39.2843702Z","endTime":"2021-10-14T11:41:46.8968715Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '588' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:42:11 GMT + - Sun, 02 Jan 2022 16:38:29 GMT etag: - - '"03002893-0000-3400-0000-6168177a0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -947,29 +850,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware host create + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","name":"azcli-test-host","type":"microsoft.connectedvmwarevsphere/hosts","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:41:37.6315237Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:41:46.6522526Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"host-10","provisioningState":"Succeeded","uuid":"c91cab96-c61d-44f8-8d60-a73316022420","customResourceName":"c91cab96-c61d-44f8-8d60-a73316022420","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:41:46.5929697Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:41:46.5929697Z"}],"moName":"esx04-r03.p01.f71506e8bc3e432e9ec20.southcentralus.avs.azure.com"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1304' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:42:12 GMT + - Sun, 02 Jan 2022 16:38:59 GMT etag: - - '"06006618-0000-3400-0000-6168177a0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -982,8 +885,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -991,33 +892,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware host show + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - - -g --name + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","name":"azcli-test-host","type":"microsoft.connectedvmwarevsphere/hosts","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:41:37.6315237Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:41:46.6522526Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"host-10","provisioningState":"Succeeded","uuid":"c91cab96-c61d-44f8-8d60-a73316022420","customResourceName":"c91cab96-c61d-44f8-8d60-a73316022420","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:41:46.5929697Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:41:46.5929697Z"}],"moName":"esx04-r03.p01.f71506e8bc3e432e9ec20.southcentralus.avs.azure.com"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1304' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:42:15 GMT + - Sun, 02 Jan 2022 16:39:30 GMT etag: - - '"06006618-0000-3400-0000-6168177a0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' pragma: @@ -1030,8 +931,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -1039,107 +938,94 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware host list + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - - -g + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","name":"azcli-test-host","type":"microsoft.connectedvmwarevsphere/hosts","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:41:37.6315237Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:41:46.6522526Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"host-10","provisioningState":"Succeeded","uuid":"c91cab96-c61d-44f8-8d60-a73316022420","customResourceName":"c91cab96-c61d-44f8-8d60-a73316022420","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:41:46.5929697Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:41:46.5929697Z"}],"moName":"esx04-r03.p01.f71506e8bc3e432e9ec20.southcentralus.avs.azure.com"}}]}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: cache-control: - no-cache content-length: - - '1316' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:42:17 GMT + - Sun, 02 Jan 2022 16:40:00 GMT + etag: + - '"070021fc-0000-3400-0000-61d1d3390000"' 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-original-request-ids: - - 38364614-2033-4f18-aca1-6562911748e8 - - e760b63d-714d-4279-a335-e3b3ab622847 - - 4bcb52c1-f3b4-42db-92f8-d6e706677505 status: code: 200 message: OK - request: - body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, - "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs", - "moRefId": "network-o61"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware virtual-network create + - connectedvmware resource-pool create Connection: - keep-alive - Content-Length: - - '450' - Content-Type: - - application/json ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:42:23.0165103Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-10-14T11:42:23.0165103Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"network-o61","provisioningState":"Accepted"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Accepted","startTime":"2022-01-02T16:30:49.9915234Z"}' headers: - api-supported-versions: - - 2020-10-01-preview - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/fa95f995-53c8-4bb9-b0de-0577d9beceb7*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D?api-version=2020-10-01-preview cache-control: - no-cache content-length: - - '975' + - '549' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:42:24 GMT + - Sun, 02 Jan 2022 16:40:30 GMT etag: - - '"40007211-0000-3400-0000-6168179f0000"' + - '"070021fc-0000-3400-0000-61d1d3390000"' expires: - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network 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' - x-ms-ratelimit-remaining-subscription-writes: - - '1197' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -1148,29 +1034,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware virtual-network create + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/fa95f995-53c8-4bb9-b0de-0577d9beceb7*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/fa95f995-53c8-4bb9-b0de-0577d9beceb7*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D","name":"fa95f995-53c8-4bb9-b0de-0577d9beceb7*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Succeeded","startTime":"2021-10-14T11:42:23.546952Z","endTime":"2021-10-14T11:42:31.8446109Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"ed4cb8fa-27d2-4405-a309-9bcd6493b747*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Succeeded","startTime":"2022-01-02T16:30:49.9915234Z","endTime":"2022-01-02T16:41:00.4000294Z","properties":null}' headers: cache-control: - no-cache content-length: - - '608' + - '609' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:42:55 GMT + - Sun, 02 Jan 2022 16:41:02 GMT etag: - - '"03006593-0000-3400-0000-616817a70000"' + - '"070077fc-0000-3400-0000-61d1d59c0000"' expires: - '-1' pragma: @@ -1194,29 +1080,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware virtual-network create + - connectedvmware resource-pool create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:42:23.0165103Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:42:31.5955954Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"network-o61","provisioningState":"Succeeded","uuid":"670c6561-7e7f-4b53-af63-139467beccfb","customResourceName":"670c6561-7e7f-4b53-af63-139467beccfb","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:42:31.560628Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:42:31.560628Z"}],"moName":"Segment-1"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:30:47.9084269Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T16:41:00.1880021Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"resgroup-87723","provisioningState":"Succeeded","uuid":"21b3e03e-988f-4016-84d6-b09a433f197e","customResourceName":"21b3e03e-988f-4016-84d6-b09a433f197e","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T16:41:00.1465266Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T16:41:00.1465266Z"}],"moName":"dogfood-respool","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}' headers: cache-control: - no-cache content-length: - - '1293' + - '1397' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:42:57 GMT + - Sun, 02 Jan 2022 16:41:03 GMT etag: - - '"40008a11-0000-3400-0000-616817a70000"' + - '"21005e0a-0000-3400-0000-61d1d59c0000"' expires: - '-1' pragma: @@ -1242,29 +1128,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware virtual-network show + - connectedvmware resource-pool show Connection: - keep-alive ParameterSetName: - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:42:23.0165103Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:42:31.5955954Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"network-o61","provisioningState":"Succeeded","uuid":"670c6561-7e7f-4b53-af63-139467beccfb","customResourceName":"670c6561-7e7f-4b53-af63-139467beccfb","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:42:31.560628Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:42:31.560628Z"}],"moName":"Segment-1"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:30:47.9084269Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T16:41:00.1880021Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"resgroup-87723","provisioningState":"Succeeded","uuid":"21b3e03e-988f-4016-84d6-b09a433f197e","customResourceName":"21b3e03e-988f-4016-84d6-b09a433f197e","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T16:41:00.1465266Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T16:41:00.1465266Z"}],"moName":"dogfood-respool","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}' headers: cache-control: - no-cache content-length: - - '1293' + - '1397' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:43:01 GMT + - Sun, 02 Jan 2022 16:41:05 GMT etag: - - '"40008a11-0000-3400-0000-616817a70000"' + - '"21005e0a-0000-3400-0000-61d1d59c0000"' expires: - '-1' pragma: @@ -1290,27 +1176,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware virtual-network list + - connectedvmware resource-pool list Connection: - keep-alive ParameterSetName: - -g User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:42:23.0165103Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:42:31.5955954Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"network-o61","provisioningState":"Succeeded","uuid":"670c6561-7e7f-4b53-af63-139467beccfb","customResourceName":"670c6561-7e7f-4b53-af63-139467beccfb","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:42:31.560628Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:42:31.560628Z"}],"moName":"Segment-1"}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:30:47.9084269Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T16:41:00.1880021Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"resgroup-87723","provisioningState":"Succeeded","uuid":"21b3e03e-988f-4016-84d6-b09a433f197e","customResourceName":"21b3e03e-988f-4016-84d6-b09a433f197e","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T16:41:00.1465266Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T16:41:00.1465266Z"}],"moName":"dogfood-respool","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}]}' headers: cache-control: - no-cache content-length: - - '1305' + - '1409' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:43:03 GMT + - Sun, 02 Jan 2022 16:41:07 GMT expires: - '-1' pragma: @@ -1322,58 +1208,58 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - b1f613db-69ef-404f-b732-71cf42d5c77e - - 70fa56a4-592b-4150-a8d5-8e057b0d5b38 - - 364f1a46-86c0-41a4-9e77-1f69c0f3490c + - 9f65e734-00e5-412e-89b6-985872fbb0db + - 355c4175-9ac4-4f77-b306-b798848b9f2a + - f561afab-31e5-47d6-9a95-fbabd183e3c4 status: code: 200 message: OK - request: body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, - "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs", - "moRefId": "vm-141"}}' + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter", + "moRefId": "domain-c7"}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm-template create + - connectedvmware cluster create Connection: - keep-alive Content-Length: - - '445' + - '460' Content-Type: - application/json ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:43:13.4383402Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-10-14T11:43:13.4383402Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"vm-141","provisioningState":"Accepted"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","name":"azcli-test-cluster","type":"microsoft.connectedvmwarevsphere/clusters","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:41:18.1642292Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T16:41:18.1642292Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"domain-c7","provisioningState":"Accepted"}}' headers: api-supported-versions: - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/0b0e5e9f-0d86-4fb1-8b3f-56dbda92b3b5*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview cache-control: - no-cache content-length: - - '978' + - '959' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:43:16 GMT + - Sun, 02 Jan 2022 16:41:21 GMT etag: - - '"0f00b52f-0000-3400-0000-616817d30000"' + - '"12000a82-0000-3400-0000-61d1d5b00000"' expires: - '-1' location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/azcli-test-vm-template + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/Clusters/azcli-test-cluster pragma: - no-cache strict-transport-security: @@ -1383,7 +1269,7 @@ interactions: x-ms-providerhub-traffic: - 'True' x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -1395,29 +1281,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm-template create + - connectedvmware cluster create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/0b0e5e9f-0d86-4fb1-8b3f-56dbda92b3b5*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/0b0e5e9f-0d86-4fb1-8b3f-56dbda92b3b5*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB","name":"0b0e5e9f-0d86-4fb1-8b3f-56dbda92b3b5*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Succeeded","startTime":"2021-10-14T11:43:14.9450301Z","endTime":"2021-10-14T11:43:21.7730905Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' headers: cache-control: - no-cache content-length: - - '613' + - '538' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:43:47 GMT + - Sun, 02 Jan 2022 16:41:51 GMT etag: - - '"03008193-0000-3400-0000-616817d90000"' + - '"070078fc-0000-3400-0000-61d1d5af0000"' expires: - '-1' pragma: @@ -1441,32 +1327,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm-template create + - connectedvmware cluster create Connection: - keep-alive ParameterSetName: - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:43:13.4383402Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:43:21.5682446Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"vm-141","provisioningState":"Succeeded","uuid":"00c6d7d1-74b6-4118-8ee4-b25704cab7da","customResourceName":"00c6d7d1-74b6-4118-8ee4-b25704cab7da","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:43:21.5325573Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:43:21.5325573Z"}],"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","macAddress":"00:50:56:a9:7d:06","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","ipAddress":"172.16.0.31","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.31","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:7d06","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}],"disks":[{"diskObjectId":"6307-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu - Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' headers: cache-control: - no-cache content-length: - - '2382' + - '538' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:43:48 GMT + - Sun, 02 Jan 2022 16:42:22 GMT etag: - - '"0f00c42f-0000-3400-0000-616817d90000"' + - '"070078fc-0000-3400-0000-61d1d5af0000"' expires: - '-1' pragma: @@ -1479,8 +1362,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -1488,36 +1369,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm-template show + - connectedvmware cluster create Connection: - keep-alive ParameterSetName: - - -g --name + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:43:13.4383402Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:43:21.5682446Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"vm-141","provisioningState":"Succeeded","uuid":"00c6d7d1-74b6-4118-8ee4-b25704cab7da","customResourceName":"00c6d7d1-74b6-4118-8ee4-b25704cab7da","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:43:21.5325573Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:43:21.5325573Z"}],"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","macAddress":"00:50:56:a9:7d:06","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","ipAddress":"172.16.0.31","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.31","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:7d06","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}],"disks":[{"diskObjectId":"6307-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu - Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' headers: cache-control: - no-cache content-length: - - '2382' + - '538' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:43:50 GMT + - Sun, 02 Jan 2022 16:42:52 GMT etag: - - '"0f00c42f-0000-3400-0000-616817d90000"' + - '"070078fc-0000-3400-0000-61d1d5af0000"' expires: - '-1' pragma: @@ -1530,8 +1408,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-providerhub-traffic: - - 'True' status: code: 200 message: OK @@ -1539,48 +1415,45 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm-template list + - connectedvmware cluster create Connection: - keep-alive ParameterSetName: - - -g + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:43:13.4383402Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:43:21.5682446Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","moRefId":"vm-141","provisioningState":"Succeeded","uuid":"00c6d7d1-74b6-4118-8ee4-b25704cab7da","customResourceName":"00c6d7d1-74b6-4118-8ee4-b25704cab7da","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:43:21.5325573Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:43:21.5325573Z"}],"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","macAddress":"00:50:56:a9:7d:06","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","ipAddress":"172.16.0.31","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.31","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:7d06","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}],"disks":[{"diskObjectId":"6307-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu - Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"}}]}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' headers: cache-control: - no-cache content-length: - - '2394' + - '538' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:43:54 GMT + - Sun, 02 Jan 2022 16:43:22 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' 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-original-request-ids: - - 7a20b6a1-b465-4e22-ae30-658fb1416e59 - - c4a8dec6-26c9-415e-90fb-5c4f23f31394 - - fc2a0925-ec18-4a5a-b4fe-63a912fbb15c status: code: 200 message: OK @@ -1588,33 +1461,33 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vcenter inventory-item show + - connectedvmware cluster create Connection: - keep-alive ParameterSetName: - - -g --vcenter --inventory-item + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/vcenters/azcli-test-vcenter-avs/inventoryItems/resgroup-74941?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VCenters/azcli-test-vcenter-avs/InventoryItems/resgroup-74941","name":"resgroup-74941","type":"microsoft.connectedvmwarevsphere/vcenters/inventoryitems","kind":"ResourcePool","systemData":{"createdBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","createdByType":"Application","createdAt":"2021-10-05T16:03:08.7600239Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:39:22.4092019Z"},"properties":{"parent":{"moName":"Resources","inventoryItemId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VCenters/azcli-test-vcenter-avs/InventoryItems/resgroup-8"},"inventoryType":"ResourcePool","managedResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/azcli-test-resource-pool","moRefId":"resgroup-74941","provisioningState":"Succeeded","moName":"azclitest-rp"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' headers: cache-control: - no-cache content-length: - - '1129' + - '538' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:43:55 GMT + - Sun, 02 Jan 2022 16:43:53 GMT etag: - - '"cd004da9-0000-3400-0000-616816ea0000"' + - '"070078fc-0000-3400-0000-61d1d5af0000"' expires: - '-1' pragma: @@ -1627,73 +1500,55 @@ interactions: - 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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, - "properties": {"templateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template", - "vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs", - "placementProfile": {"resourcePoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm create + - connectedvmware cluster create Connection: - keep-alive - Content-Length: - - '816' - Content-Type: - - application/json ParameterSetName: - - -g -l --custom-location --vcenter --resource-pool --vm-template --name + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:44:01.5120446Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-10-14T11:44:01.5120446Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","provisioningState":"Accepted","statuses":[{"status":"False","type":"Ready","reason":"Provisioning","message":"The - resource is being provisioned.","severity":"Info","lastUpdatedAt":"2021-10-14T11:44:03.9251339Z"},{"status":"False","type":"Idle","reason":"Provisioning","message":"The - resource is being provisioned.","severity":"Info","lastUpdatedAt":"2021-10-14T11:44:03.9251339Z"}]}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' headers: - api-supported-versions: - - 2020-10-01-preview - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview cache-control: - no-cache content-length: - - '1887' + - '538' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:44:04 GMT + - Sun, 02 Jan 2022 16:44:24 GMT etag: - - '"0200037d-0000-3400-0000-616818040000"' + - '"070078fc-0000-3400-0000-61d1d5af0000"' expires: - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/azcli-test-virtual-machine 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' - x-ms-ratelimit-remaining-subscription-writes: - - '1197' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -1702,29 +1557,29 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm create + - connectedvmware cluster create Connection: - keep-alive ParameterSetName: - - -g -l --custom-location --vcenter --resource-pool --vm-template --name + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Accepted","startTime":"2021-10-14T11:44:03.6650052Z"}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' headers: cache-control: - no-cache content-length: - - '549' + - '538' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:44:35 GMT + - Sun, 02 Jan 2022 16:44:53 GMT etag: - - '"03009193-0000-3400-0000-616818030000"' + - '"070078fc-0000-3400-0000-61d1d5af0000"' expires: - '-1' pragma: @@ -1748,29 +1603,213 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm create + - connectedvmware cluster create Connection: - keep-alive ParameterSetName: - - -g -l --custom-location --vcenter --resource-pool --vm-template --name + - -g -l --custom-location --vcenter --mo-ref-id --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Accepted","startTime":"2021-10-14T11:44:03.6650052Z"}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' headers: cache-control: - no-cache content-length: - - '549' + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:45:24 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:45:55 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:46:25 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:46:56 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:45:06 GMT + - Sun, 02 Jan 2022 16:47:27 GMT etag: - - '"03009193-0000-3400-0000-616818030000"' + - '"070078fc-0000-3400-0000-61d1d5af0000"' expires: - '-1' pragma: @@ -1794,44 +1833,8888 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm create + - connectedvmware cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:47:58 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:48:28 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:48:58 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:49:28 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:49:59 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:50:30 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Accepted","startTime":"2022-01-02T16:41:19.8310131Z"}' + headers: + cache-control: + - no-cache + content-length: + - '538' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:51:00 GMT + etag: + - '"070078fc-0000-3400-0000-61d1d5af0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"9ed79623-22e1-4089-9671-77647d0e2f17*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Succeeded","startTime":"2022-01-02T16:41:19.8310131Z","endTime":"2022-01-02T16:51:26.4055638Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '598' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:51:30 GMT + etag: + - '"0700c5fc-0000-3400-0000-61d1d80e0000"' + 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 cluster create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","name":"azcli-test-cluster","type":"microsoft.connectedvmwarevsphere/clusters","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:41:18.1642292Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T16:51:26.1839135Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"domain-c7","provisioningState":"Succeeded","uuid":"2e2a6eb8-8709-41a2-b6ca-cd19ba3b034d","customResourceName":"2e2a6eb8-8709-41a2-b6ca-cd19ba3b034d","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T16:51:26.1343017Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T16:51:26.1343017Z"}],"datastoreIds":[],"networkIds":[],"moName":"Cluster-1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1313' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:51:30 GMT + etag: + - '"12001782-0000-3400-0000-61d1d80e0000"' + 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 cluster show + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","name":"azcli-test-cluster","type":"microsoft.connectedvmwarevsphere/clusters","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:41:18.1642292Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T16:51:26.1839135Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"domain-c7","provisioningState":"Succeeded","uuid":"2e2a6eb8-8709-41a2-b6ca-cd19ba3b034d","customResourceName":"2e2a6eb8-8709-41a2-b6ca-cd19ba3b034d","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T16:51:26.1343017Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T16:51:26.1343017Z"}],"datastoreIds":[],"networkIds":[],"moName":"Cluster-1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1313' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:51:32 GMT + etag: + - '"12001782-0000-3400-0000-61d1d80e0000"' + 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 cluster list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","name":"azcli-test-cluster","type":"microsoft.connectedvmwarevsphere/clusters","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:41:18.1642292Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T16:51:26.1839135Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"domain-c7","provisioningState":"Succeeded","uuid":"2e2a6eb8-8709-41a2-b6ca-cd19ba3b034d","customResourceName":"2e2a6eb8-8709-41a2-b6ca-cd19ba3b034d","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T16:51:26.1343017Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T16:51:26.1343017Z"}],"datastoreIds":[],"networkIds":[],"moName":"Cluster-1"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1325' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:51:35 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: + - 922f6b8a-546c-4393-9500-4ac09957cb27 + - aad74182-8864-4f11-ade3-6506ded55c37 + - b0a01465-d20d-403d-aaa6-07b3ab5b3a32 + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter", + "moRefId": "datastore-11"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware datastore create + Connection: + - keep-alive + Content-Length: + - '463' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","name":"azcli-test-datastore","type":"microsoft.connectedvmwarevsphere/datastores","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:51:44.3132077Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T16:51:44.3132077Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"datastore-11","provisioningState":"Accepted"}}' + headers: + api-supported-versions: + - 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '970' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:51:46 GMT + etag: + - '"12001982-0000-3400-0000-61d1d8210000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/Datastores/azcli-test-datastore + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:52:16 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:52:47 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:53:17 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:53:48 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:54:18 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:54:49 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:55:20 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:55:50 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:56:21 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:56:51 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:57:22 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:57:52 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:58:23 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:58:54 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:59:24 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 16:59:55 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:00:25 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:00:56 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:01:27 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Accepted","startTime":"2022-01-02T16:51:45.1186786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '542' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:01:57 GMT + etag: + - '"0700c6fc-0000-3400-0000-61d1d8210000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"027cf371-2d6f-4ec6-bc32-fdb728275821*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Succeeded","startTime":"2022-01-02T16:51:45.1186786Z","endTime":"2022-01-02T17:02:00.8214898Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '602' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:02:28 GMT + etag: + - '"0700e6fc-0000-3400-0000-61d1da880000"' + 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 datastore create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","name":"azcli-test-datastore","type":"microsoft.connectedvmwarevsphere/datastores","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:51:44.3132077Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:02:00.6237799Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"datastore-11","provisioningState":"Succeeded","uuid":"c609d5f5-eda6-41d6-b35c-bf9024dd7be0","customResourceName":"c609d5f5-eda6-41d6-b35c-bf9024dd7be0","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:02:00.5849966Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:02:00.5849966Z"}],"moName":"vsanDatastore"}}' + headers: + cache-control: + - no-cache + content-length: + - '1294' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:02:28 GMT + etag: + - '"12004982-0000-3400-0000-61d1da880000"' + 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 datastore show + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","name":"azcli-test-datastore","type":"microsoft.connectedvmwarevsphere/datastores","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:51:44.3132077Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:02:00.6237799Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"datastore-11","provisioningState":"Succeeded","uuid":"c609d5f5-eda6-41d6-b35c-bf9024dd7be0","customResourceName":"c609d5f5-eda6-41d6-b35c-bf9024dd7be0","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:02:00.5849966Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:02:00.5849966Z"}],"moName":"vsanDatastore"}}' + headers: + cache-control: + - no-cache + content-length: + - '1294' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:02:30 GMT + etag: + - '"12004982-0000-3400-0000-61d1da880000"' + 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 datastore list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","name":"azcli-test-datastore","type":"microsoft.connectedvmwarevsphere/datastores","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T16:51:44.3132077Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:02:00.6237799Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"datastore-11","provisioningState":"Succeeded","uuid":"c609d5f5-eda6-41d6-b35c-bf9024dd7be0","customResourceName":"c609d5f5-eda6-41d6-b35c-bf9024dd7be0","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:02:00.5849966Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:02:00.5849966Z"}],"moName":"vsanDatastore"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1306' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:02:32 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: + - dff6fb32-9332-490d-bdda-bc2de0fc5411 + - a7b8244f-bd61-40d2-a53a-4534e943c733 + - 2749d8fa-65eb-4f2e-bae4-37b15745e9f9 + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter", + "moRefId": "host-33"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware host create + Connection: + - keep-alive + Content-Length: + - '458' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","name":"azcli-test-host","type":"microsoft.connectedvmwarevsphere/hosts","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:02:42.4209654Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T17:02:42.4209654Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"host-33","provisioningState":"Accepted"}}' + headers: + api-supported-versions: + - 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '945' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:02:45 GMT + etag: + - '"4200d43a-0000-3400-0000-61d1dab40000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/Hosts/azcli-test-host + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:03:16 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:03:46 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:04:16 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:04:48 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:05:18 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:05:48 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:06:19 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:06:50 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:07:20 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:07:51 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:08:21 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:08:52 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:09:23 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:09:53 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:10:23 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:10:54 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:11:25 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:11:54 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:12:25 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Accepted","startTime":"2022-01-02T17:02:44.0536242Z"}' + headers: + cache-control: + - no-cache + content-length: + - '532' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:12:56 GMT + etag: + - '"0700eafc-0000-3400-0000-61d1dab40000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"23ca106b-7f20-4b2f-8161-862d9de0aaf5*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Succeeded","startTime":"2022-01-02T17:02:44.0536242Z","endTime":"2022-01-02T17:12:56.7257852Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '592' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:13:26 GMT + etag: + - '"070014fd-0000-3400-0000-61d1dd180000"' + 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 host create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","name":"azcli-test-host","type":"microsoft.connectedvmwarevsphere/hosts","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:02:42.4209654Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:12:56.4928438Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"host-33","provisioningState":"Succeeded","uuid":"f0689bf8-c94b-4464-87ee-8794ba9003ee","customResourceName":"f0689bf8-c94b-4464-87ee-8794ba9003ee","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:12:56.4526849Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:12:56.4526849Z"}],"moName":"esx19-r06.p01.f71506e8bc3e432e9ec20.southcentralus.avs.azure.com"}}' + headers: + cache-control: + - no-cache + content-length: + - '1320' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:13:26 GMT + etag: + - '"4200433e-0000-3400-0000-61d1dd180000"' + 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 host show + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","name":"azcli-test-host","type":"microsoft.connectedvmwarevsphere/hosts","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:02:42.4209654Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:12:56.4928438Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"host-33","provisioningState":"Succeeded","uuid":"f0689bf8-c94b-4464-87ee-8794ba9003ee","customResourceName":"f0689bf8-c94b-4464-87ee-8794ba9003ee","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:12:56.4526849Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:12:56.4526849Z"}],"moName":"esx19-r06.p01.f71506e8bc3e432e9ec20.southcentralus.avs.azure.com"}}' + headers: + cache-control: + - no-cache + content-length: + - '1320' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:13:28 GMT + etag: + - '"4200433e-0000-3400-0000-61d1dd180000"' + 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 host list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","name":"azcli-test-host","type":"microsoft.connectedvmwarevsphere/hosts","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:02:42.4209654Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:12:56.4928438Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"host-33","provisioningState":"Succeeded","uuid":"f0689bf8-c94b-4464-87ee-8794ba9003ee","customResourceName":"f0689bf8-c94b-4464-87ee-8794ba9003ee","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:12:56.4526849Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:12:56.4526849Z"}],"moName":"esx19-r06.p01.f71506e8bc3e432e9ec20.southcentralus.avs.azure.com"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1332' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:13:30 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: + - 90788ae0-3e4b-4f33-abf6-d8b352b5550f + - 49eccb27-c85f-4447-9211-a2387492fc4b + - 64a6de28-148e-4ec6-b45f-eec025942e81 + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter", + "moRefId": "network-o61"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware virtual-network create + Connection: + - keep-alive + Content-Length: + - '462' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:13:44.7780039Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T17:13:44.7780039Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"network-o61","provisioningState":"Accepted"}}' + headers: + api-supported-versions: + - 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '991' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:13:46 GMT + etag: + - '"3f00b5d9-0000-3400-0000-61d1dd490000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:14:17 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:14:47 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:15:18 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:15:49 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:16:19 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:16:49 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:17:20 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:17:50 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:18:21 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:18:51 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:19:22 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:19:54 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:20:24 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:20:54 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:21:26 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:21:56 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:22:27 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:22:58 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Accepted","startTime":"2022-01-02T17:13:45.6622688Z"}' + headers: + cache-control: + - no-cache + content-length: + - '553' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:23:28 GMT + etag: + - '"07001dfd-0000-3400-0000-61d1dd490000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"05d3d30f-5630-41d5-949e-de8151fdcfce*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Succeeded","startTime":"2022-01-02T17:13:45.6622688Z","endTime":"2022-01-02T17:23:58.3243288Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '613' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:23:59 GMT + etag: + - '"07003efd-0000-3400-0000-61d1dfae0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:13:44.7780039Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:23:58.1145418Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"network-o61","provisioningState":"Succeeded","uuid":"a1d42c85-73d8-43d0-8de1-bf88a09397ce","customResourceName":"a1d42c85-73d8-43d0-8de1-bf88a09397ce","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:23:58.0801255Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:23:58.0801255Z"}],"moName":"Segment-1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1311' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:23:59 GMT + etag: + - '"3f0027db-0000-3400-0000-61d1dfae0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:13:44.7780039Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:23:58.1145418Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"network-o61","provisioningState":"Succeeded","uuid":"a1d42c85-73d8-43d0-8de1-bf88a09397ce","customResourceName":"a1d42c85-73d8-43d0-8de1-bf88a09397ce","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:23:58.0801255Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:23:58.0801255Z"}],"moName":"Segment-1"}}' + headers: + cache-control: + - no-cache + content-length: + - '1311' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:24:01 GMT + etag: + - '"3f0027db-0000-3400-0000-61d1dfae0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:13:44.7780039Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:23:58.1145418Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"network-o61","provisioningState":"Succeeded","uuid":"a1d42c85-73d8-43d0-8de1-bf88a09397ce","customResourceName":"a1d42c85-73d8-43d0-8de1-bf88a09397ce","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:23:58.0801255Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:23:58.0801255Z"}],"moName":"Segment-1"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1323' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:24:02 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: + - f6f3cffc-9956-4718-a9f3-357896b9135e + - 98bf275e-fa77-4298-96bf-79c29ec3c3ba + - 8a207ea3-1daf-4095-8db4-11533b64aeea + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter", + "moRefId": "vm-141"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm-template create + Connection: + - keep-alive + Content-Length: + - '457' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:24:10.7396585Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T17:24:10.7396585Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"vm-141","provisioningState":"Accepted"}}' + headers: + api-supported-versions: + - 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '994' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:24:13 GMT + etag: + - '"0c008d3f-0000-3400-0000-61d1dfbc0000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:24:43 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:25:14 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:25:45 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:26:15 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:26:45 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:27:16 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:27:47 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:28:17 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:28:47 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:29:18 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:29:49 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:30:19 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:30:52 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:31:22 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:31:52 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:32:23 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:32:53 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:33:23 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Accepted","startTime":"2022-01-02T17:24:12.1217125Z"}' + headers: + cache-control: + - no-cache + content-length: + - '557' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:33:54 GMT + etag: + - '"07003ffd-0000-3400-0000-61d1dfbc0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"7b623ef6-3109-41b7-9bee-268c13117bb6*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Succeeded","startTime":"2022-01-02T17:24:12.1217125Z","endTime":"2022-01-02T17:34:25.5660609Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '617' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:34:25 GMT + etag: + - '"07009dfd-0000-3400-0000-61d1e2210000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:24:10.7396585Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:34:25.333521Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"vm-141","provisioningState":"Succeeded","uuid":"e07241c5-0aa4-4b2c-ae9d-531207a1751d","customResourceName":"e07241c5-0aa4-4b2c-ae9d-531207a1751d","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:34:25.2909876Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:34:25.2909876Z"}],"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:a9:7d:06","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","ipAddress":"172.16.0.31","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.31","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:7d06","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}],"disks":[{"diskObjectId":"6307-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu + Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"}}' + headers: + cache-control: + - no-cache + content-length: + - '2401' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:34:26 GMT + etag: + - '"0c00d43f-0000-3400-0000-61d1e2210000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:24:10.7396585Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:34:25.333521Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"vm-141","provisioningState":"Succeeded","uuid":"e07241c5-0aa4-4b2c-ae9d-531207a1751d","customResourceName":"e07241c5-0aa4-4b2c-ae9d-531207a1751d","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:34:25.2909876Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:34:25.2909876Z"}],"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:a9:7d:06","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","ipAddress":"172.16.0.31","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.31","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:7d06","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}],"disks":[{"diskObjectId":"6307-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu + Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"}}' + headers: + cache-control: + - no-cache + content-length: + - '2401' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:34:28 GMT + etag: + - '"0c00d43f-0000-3400-0000-61d1e2210000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:24:10.7396585Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:34:25.333521Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","moRefId":"vm-141","provisioningState":"Succeeded","uuid":"e07241c5-0aa4-4b2c-ae9d-531207a1751d","customResourceName":"e07241c5-0aa4-4b2c-ae9d-531207a1751d","statuses":[{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:34:25.2909876Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:34:25.2909876Z"}],"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:a9:7d:06","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","ipAddress":"172.16.0.31","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.31","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:7d06","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}],"disks":[{"diskObjectId":"6307-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu + Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2413' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:34:30 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: + - 2843645c-5579-4b0f-aff6-afc9366007f6 + - a8afc42d-c9f1-4756-a66c-e4c2ad7ad0df + - dd5e629e-c7db-40b7-a1d8-fe2a945bd310 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vcenter inventory-item show + Connection: + - keep-alive + ParameterSetName: + - -g --vcenter --inventory-item + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/vcenters/service-sdk-test-vcenter/inventoryItems/resgroup-87723?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VCenters/service-sdk-test-vcenter/InventoryItems/resgroup-87723","name":"resgroup-87723","type":"microsoft.connectedvmwarevsphere/vcenters/inventoryitems","kind":"ResourcePool","systemData":{"createdBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","createdByType":"Application","createdAt":"2022-01-01T10:22:02.8771079Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-01T10:24:33.0646518Z"},"properties":{"parent":{"moName":"Resources","inventoryItemId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VCenters/service-sdk-test-vcenter/InventoryItems/resgroup-8"},"inventoryType":"ResourcePool","managedResourceId":"","moRefId":"resgroup-87723","moName":"dogfood-respool","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '983' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:34:31 GMT + etag: + - '"2d008e90-0000-3400-0000-61d02be10000"' + 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/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"}, + "properties": {"templateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template", + "vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter", + "placementProfile": {"resourcePoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm create + Connection: + - keep-alive + Content-Length: + - '836' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --resource-pool --vm-template --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T17:34:41.1713312Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Accepted","statuses":[{"status":"False","type":"Ready","reason":"Provisioning","message":"The + resource is being provisioned.","severity":"Info","lastUpdatedAt":"2022-01-02T17:34:43.0906678Z"},{"status":"False","type":"Idle","reason":"Provisioning","message":"The + resource is being provisioned.","severity":"Info","lastUpdatedAt":"2022-01-02T17:34:43.0906678Z"}]}}' + headers: + api-supported-versions: + - 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '1889' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:34:44 GMT + etag: + - '"df015781-0000-3400-0000-61d1e2330000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/azcli-test-vm + 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 create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --resource-pool --vm-template --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:35:14 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:35:45 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:36:15 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:36:46 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:37:16 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:37:46 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:38:17 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:38:47 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:39:18 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:39:48 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:40:18 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:40:49 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:41:20 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:41:50 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:42:20 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:42:51 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:43:22 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:43:52 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:34:42.8787968Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:44:23 GMT + etag: + - '"07009efd-0000-3400-0000-61d1e2320000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"c1daf164-e695-45ad-91e7-3cc1d1a44a0b*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Succeeded","startTime":"2022-01-02T17:34:42.8787968Z","endTime":"2022-01-02T17:44:51.095067Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '599' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:44:54 GMT + etag: + - '"0700befd-0000-3400-0000-61d1e4930000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:44:50.8990446Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","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},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '3600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:44:54 GMT + etag: + - '"df01e694-0000-3400-0000-61d1e4930000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:44:50.8990446Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","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},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '3600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:44:56 GMT + etag: + - '"df01e694-0000-3400-0000-61d1e4930000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:44:50.8990446Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","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},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '3612' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:44: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: + - fce1489a-b517-4834-988b-15ed43254e93 + - 18a746a0-7c9f-4fd3-8eee-90f8b316bbd1 + - 7249f72e-4b81-48cf-9e23-426d7f11c406 + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:44:50.8990446Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","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},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '3600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:44:59 GMT + etag: + - '"df01e694-0000-3400-0000-61d1e4930000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:44:50.8990446Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","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},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '3600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:45:01 GMT + etag: + - '"df01e694-0000-3400-0000-61d1e4930000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:44:50.8990446Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","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},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '3600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:45:02 GMT + etag: + - '"df01e694-0000-3400-0000-61d1e4930000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:44:50.8990446Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:44:50.8638113Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","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},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '3600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:45:04 GMT + etag: + - '"df01e694-0000-3400-0000-61d1e4930000"' + 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: '{"properties": {"hardwareProfile": {"memorySizeMB": 2048, "numCPUs": 2}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm update + Connection: + - keep-alive + Content-Length: + - '73' + Content-Type: + - application/json + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T17:45:05.2476844Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Accepted","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"False","type":"Ready","reason":"Provisioning","message":"The + resource is being provisioned.","severity":"Info","lastUpdatedAt":"2022-01-02T17:45:05.8602678Z"},{"status":"False","type":"Idle","reason":"Provisioning","message":"The + resource is being provisioned.","severity":"Info","lastUpdatedAt":"2022-01-02T17:45:05.8602678Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":2048,"numCPUs":2,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}' + headers: + api-supported-versions: + - 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '3759' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:45:05 GMT + etag: + - '"df014c95-0000-3400-0000-61d1e4a10000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/azcli-test-vm + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:45:35 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:46:06 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:46:37 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:47:08 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:47:38 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:48:08 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:48:39 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:49:10 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:49:40 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:50:11 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:50:42 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:51:12 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:51:42 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:52:13 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:52:44 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:53:14 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:53:44 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:54:15 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:54:46 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:45:05.6966924Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:55:17 GMT + etag: + - '"0700c4fd-0000-3400-0000-61d1e4a10000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"36934090-5e9e-4cf3-a65d-660cb89ceb9c*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Succeeded","startTime":"2022-01-02T17:45:05.6966924Z","endTime":"2022-01-02T17:55:18.8698709Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:55:47 GMT + etag: + - '"0700e8fd-0000-3400-0000-61d1e7060000"' + 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 update + Connection: + - keep-alive + ParameterSetName: + - -g --name --memory-size --num-CPUs + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","name":"azcli-test-vm","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ExtendedLocation/CustomLocations/service-sdk-test-cl"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2022-01-02T17:34:41.1713312Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2022-01-02T17:55:18.6614679Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVmwarevSphere/vcenters/service-sdk-test-vcenter","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2022-01-02T17:35:39Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2022-01-02T17:55:18.6200944Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2022-01-02T17:55:18.6200944Z"}],"customResourceName":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","vmId":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","ipAddresses":["172.16.0.154","fe80::250:56ff:fea9:cdb9"],"macAddress":"00:50:56:a9:cd:b9","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.154","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:cdb9","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"4982-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":2048,"numCPUs":2,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"moRefId":"vm-132813","moName":"azcli-test-vm","folderPath":"SDDC-Datacenter","instanceUuid":"bb01a5da-5999-41c1-a5c0-4f002e5cf746","smbiosUuid":"4229b8dd-e98c-f2e6-2cdc-d92f67ad51d4","firmwareType":"bios","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '3600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:55:47 GMT + etag: + - '"df0125a5-0000-3400-0000-61d1e7060000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm/stop?api-version=2020-10-01-preview + response: + body: + string: 'null' + headers: + api-supported-versions: + - 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:55:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:56:20 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:56:51 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:57:21 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:57:51 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:58:22 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:58:53 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:59:23 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 17:59:53 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:00:24 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:00:54 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:01:25 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:01:56 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:02:26 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:02:57 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:03:27 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:03:58 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:04:28 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:04:59 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:05:29 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T17:55:50.1431065Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:05:59 GMT + etag: + - '"0700eefd-0000-3400-0000-61d1e7260000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Succeeded","startTime":"2022-01-02T17:55:50.1431065Z","endTime":"2022-01-02T18:06:05.7355824Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:06:30 GMT + etag: + - '"070030fe-0000-3400-0000-61d1e98d0000"' + 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 stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"de8af121-cb02-4be0-aa4b-1a1e380819a0*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Succeeded","startTime":"2022-01-02T17:55:50.1431065Z","endTime":"2022-01-02T18:06:05.7355824Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '600' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:06:31 GMT + etag: + - '"070030fe-0000-3400-0000-61d1e98d0000"' + 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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm/start?api-version=2020-10-01-preview + response: + body: + string: 'null' + headers: + api-supported-versions: + - 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:06:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?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.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:07:03 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm start + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:07:34 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm start + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:08:04 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm start + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:08:35 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm start + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:09:05 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm start + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' + headers: + cache-control: + - no-cache + content-length: + - '540' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 18:09:36 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' + expires: + - '-1' + pragma: + - no-cache + 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: + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - - -g -l --custom-location --vcenter --resource-pool --vm-template --name + - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Accepted","startTime":"2021-10-14T11:44:03.6650052Z"}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '549' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:45:38 GMT + - Sun, 02 Jan 2022 18:10:06 GMT etag: - - '"03009193-0000-3400-0000-616818030000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: body: null headers: @@ -1840,44 +10723,40 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm create + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - - -g -l --custom-location --vcenter --resource-pool --vm-template --name + - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"780a895b-03d8-4975-90cb-4f7acd8755cb*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-10-14T11:44:03.6650052Z","endTime":"2021-10-14T11:45:59.2624632Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '609' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:09 GMT + - Sun, 02 Jan 2022 18:10:37 GMT etag: - - '"0300c293-0000-3400-0000-616818770000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: body: null headers: @@ -1886,404 +10765,331 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm create + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - - -g -l --custom-location --vcenter --resource-pool --vm-template --name + - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:44:01.5120446Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:45:59.014777Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2021-10-14T11:45:56Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"}],"customResourceName":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","vmId":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","macAddress":"00:50:56:a9:31:8d","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"7979-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"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":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","moRefId":"vm-81249","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","smbiosUuid":"4229758f-18bb-33e5-6149-5a934d07f6f1","firmwareType":"bios","powerState":"poweredOn"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '3281' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:11 GMT + - Sun, 02 Jan 2022 18:11:08 GMT etag: - - '"0200127d-0000-3400-0000-616818770000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm show + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:44:01.5120446Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:45:59.014777Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2021-10-14T11:45:56Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"}],"customResourceName":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","vmId":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","macAddress":"00:50:56:a9:31:8d","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"7979-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"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":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","moRefId":"vm-81249","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","smbiosUuid":"4229758f-18bb-33e5-6149-5a934d07f6f1","firmwareType":"bios","powerState":"poweredOn"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '3281' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:15 GMT + - Sun, 02 Jan 2022 18:11:39 GMT etag: - - '"0200127d-0000-3400-0000-616818770000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm list + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - - -g + - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:44:01.5120446Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:45:59.014777Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2021-10-14T11:45:56Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"}],"customResourceName":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","vmId":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","macAddress":"00:50:56:a9:31:8d","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"7979-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"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":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","moRefId":"vm-81249","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","smbiosUuid":"4229758f-18bb-33e5-6149-5a934d07f6f1","firmwareType":"bios","powerState":"poweredOn"}}]}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '3293' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:23 GMT + - Sun, 02 Jan 2022 18:12:10 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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: - - bc206a0b-218b-4b3a-94eb-420ffd0f5f79 - - ea4f8d14-42ab-4711-ae10-a78c7851fb14 - - 008532c8-7f69-44ec-b94f-4026d386646d status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm nic show + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - - -g --vm-name --name + - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:44:01.5120446Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:45:59.014777Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2021-10-14T11:45:56Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"}],"customResourceName":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","vmId":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","macAddress":"00:50:56:a9:31:8d","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"7979-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"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":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","moRefId":"vm-81249","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","smbiosUuid":"4229758f-18bb-33e5-6149-5a934d07f6f1","firmwareType":"bios","powerState":"poweredOn"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '3281' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:26 GMT + - Sun, 02 Jan 2022 18:12:41 GMT etag: - - '"0200127d-0000-3400-0000-616818770000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm nic list + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - - -g --vm-name + - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:44:01.5120446Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:46:29.483235Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2021-10-14T11:45:56Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"}],"customResourceName":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","vmId":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","ipAddresses":["172.16.0.44","fe80::250:56ff:fea9:318d"],"macAddress":"00:50:56:a9:31:8d","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.44","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.44","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:318d","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"7979-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-virtual-machine","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":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","moRefId":"vm-81249","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","smbiosUuid":"4229758f-18bb-33e5-6149-5a934d07f6f1","firmwareType":"bios","powerState":"poweredOn"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '3615' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:30 GMT + - Sun, 02 Jan 2022 18:13:10 GMT etag: - - '"0200137d-0000-3400-0000-616818950000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm disk show + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - - -g --vm-name --name + - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:44:01.5120446Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:46:29.483235Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2021-10-14T11:45:56Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"}],"customResourceName":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","vmId":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","ipAddresses":["172.16.0.44","fe80::250:56ff:fea9:318d"],"macAddress":"00:50:56:a9:31:8d","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.44","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.44","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:318d","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"7979-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-virtual-machine","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":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","moRefId":"vm-81249","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","smbiosUuid":"4229758f-18bb-33e5-6149-5a934d07f6f1","firmwareType":"bios","powerState":"poweredOn"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '3615' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:34 GMT + - Sun, 02 Jan 2022 18:13:41 GMT etag: - - '"0200137d-0000-3400-0000-616818950000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm disk list + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - - -g --vm-name + - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/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/az-cli-test2/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-10-14T11:44:01.5120446Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-10-14T11:46:29.483235Z"},"properties":{"placementProfile":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool"},"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/resourcePools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/virtualmachineTemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVmwarevSphere/vcenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","statuses":[{"status":"True","type":"CustomizationCompleted","lastUpdatedAt":"2021-10-14T11:45:56Z"},{"status":"True","type":"Ready","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"},{"status":"True","type":"Idle","lastUpdatedAt":"2021-10-14T11:45:58.9572448Z"}],"customResourceName":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","vmId":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network - adapter 1","ipAddresses":["172.16.0.44","fe80::250:56ff:fea9:318d"],"macAddress":"00:50:56:a9:31:8d","networkId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network","networkMoRefId":"network-o61","networkMoName":"Segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset","gateway":["172.16.0.1"],"ipAddress":"172.16.0.44","subnetMask":"255.255.252.0","ipAddressInfo":[{"ipAddress":"172.16.0.44","subnetMask":"255.255.252.0"},{"ipAddress":"fe80::250:56ff:fea9:318d","subnetMask":"ffff:ffff:ffff:ffff:0000:0000:0000:0000"}]}}]},"storageProfile":{"disks":[{"diskObjectId":"7979-2000","name":"disk_1","label":"Hard - disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0,"diskType":"flat"}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-virtual-machine","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":"d80b7c4a-ab6a-467b-a5c3-6cf8bed245cc","moRefId":"vm-81249","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","smbiosUuid":"4229758f-18bb-33e5-6149-5a934d07f6f1","firmwareType":"bios","powerState":"poweredOn"}}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '3615' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:36 GMT + - Sun, 02 Jan 2022 18:14:11 GMT etag: - - '"0200137d-0000-3400-0000-616818950000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: - body: '{"skipShutdown": false}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm stop + - connectedvmware vm start Connection: - keep-alive - Content-Length: - - '23' - Content-Type: - - application/json ParameterSetName: - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine/stop?api-version=2020-10-01-preview + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: 'null' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: - api-supported-versions: - - 2020-10-01-preview - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/edac6ba9-5d83-4b7e-95e4-87aaa5cf7389*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview cache-control: - no-cache content-length: - - '4' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:46:39 GMT + - Sun, 02 Jan 2022 18:14:42 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' expires: - '-1' - location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/edac6ba9-5d83-4b7e-95e4-87aaa5cf7389*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?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 @@ -2295,44 +11101,40 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm stop + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/edac6ba9-5d83-4b7e-95e4-87aaa5cf7389*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/edac6ba9-5d83-4b7e-95e4-87aaa5cf7389*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"edac6ba9-5d83-4b7e-95e4-87aaa5cf7389*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-10-14T11:46:39.409Z","endTime":"2021-10-14T11:46:56.6995408Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '605' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:47:12 GMT + - Sun, 02 Jan 2022 18:15:12 GMT etag: - - '"0300e993-0000-3400-0000-616818b00000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - request: body: null headers: @@ -2341,93 +11143,79 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - connectedvmware vm stop + - connectedvmware vm start Connection: - keep-alive ParameterSetName: - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/edac6ba9-5d83-4b7e-95e4-87aaa5cf7389*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/edac6ba9-5d83-4b7e-95e4-87aaa5cf7389*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"edac6ba9-5d83-4b7e-95e4-87aaa5cf7389*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-10-14T11:46:39.409Z","endTime":"2021-10-14T11:46:56.6995408Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: cache-control: - no-cache content-length: - - '605' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:47:13 GMT + - Sun, 02 Jan 2022 18:15:43 GMT etag: - - '"0300e993-0000-3400-0000-616818b00000"' + - '"070031fe-0000-3400-0000-61d1e9a90000"' 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 + code: 202 + message: Accepted - 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.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine/start?api-version=2020-10-01-preview + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: 'null' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Accepted","startTime":"2022-01-02T18:06:33.2563136Z"}' headers: - api-supported-versions: - - 2020-10-01-preview - azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/214a1be1-5584-458f-a689-7ce9b0ce40b5*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview cache-control: - no-cache content-length: - - '4' + - '540' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:47:19 GMT + - Sun, 02 Jan 2022 18:16:13 GMT + etag: + - '"070031fe-0000-3400-0000-61d1e9a90000"' expires: - '-1' - location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/214a1be1-5584-458f-a689-7ce9b0ce40b5*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?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 @@ -2445,23 +11233,23 @@ interactions: ParameterSetName: - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/214a1be1-5584-458f-a689-7ce9b0ce40b5*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/214a1be1-5584-458f-a689-7ce9b0ce40b5*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"214a1be1-5584-458f-a689-7ce9b0ce40b5*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-10-14T11:47:19.3263546Z","endTime":"2021-10-14T11:47:31.2512514Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Succeeded","startTime":"2022-01-02T18:06:33.2563136Z","endTime":"2022-01-02T18:16:41.9662291Z","properties":null}' headers: cache-control: - no-cache content-length: - - '609' + - '600' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:47:52 GMT + - Sun, 02 Jan 2022 18:16:45 GMT etag: - - '"03003d94-0000-3400-0000-616818d30000"' + - '"070065fe-0000-3400-0000-61d1ec090000"' expires: - '-1' pragma: @@ -2491,23 +11279,23 @@ interactions: ParameterSetName: - -g --name User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/214a1be1-5584-458f-a689-7ce9b0ce40b5*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/214a1be1-5584-458f-a689-7ce9b0ce40b5*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"214a1be1-5584-458f-a689-7ce9b0ce40b5*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-10-14T11:47:19.3263546Z","endTime":"2021-10-14T11:47:31.2512514Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"160369ad-9467-4add-b8c8-1762594b64f1*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Succeeded","startTime":"2022-01-02T18:06:33.2563136Z","endTime":"2022-01-02T18:16:41.9662291Z","properties":null}' headers: cache-control: - no-cache content-length: - - '609' + - '600' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:47:54 GMT + - Sun, 02 Jan 2022 18:16:45 GMT etag: - - '"03003d94-0000-3400-0000-616818d30000"' + - '"070065fe-0000-3400-0000-61d1ec090000"' expires: - '-1' pragma: @@ -2537,17 +11325,19 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm?api-version=2020-10-01-preview&force=false response: body: string: 'null' headers: + api-supported-versions: + - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e9bfb50e-2b5b-435b-8dac-c21572ad5e08*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview cache-control: - no-cache content-length: @@ -2555,13 +11345,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:48:05 GMT + - Sun, 02 Jan 2022 18:16:50 GMT etag: - - '"0200287d-0000-3400-0000-616818f50000"' + - '"df0169c9-0000-3400-0000-61d1ec120000"' expires: - '-1' location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e9bfb50e-2b5b-435b-8dac-c21572ad5e08*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview pragma: - no-cache strict-transport-security: @@ -2587,67 +11377,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g --name - User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) - method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview - response: - body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Deleting","startTime":"2021-10-14T11:48:04.5065608Z"}' - headers: - cache-control: - - no-cache - content-length: - - '549' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 14 Oct 2021 11:48:35 GMT - etag: - - '"03009894-0000-3400-0000-616818f40000"' - expires: - - '-1' - pragma: - - no-cache - 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: - - connectedvmware vm delete - Connection: - - keep-alive - ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e9bfb50e-2b5b-435b-8dac-c21572ad5e08*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Deleting","startTime":"2021-10-14T11:48:04.5065608Z"}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e9bfb50e-2b5b-435b-8dac-c21572ad5e08*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"e9bfb50e-2b5b-435b-8dac-c21572ad5e08*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Deleting","startTime":"2022-01-02T18:16:49.899107Z"}' headers: cache-control: - no-cache content-length: - - '549' + - '539' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:49:06 GMT + - Sun, 02 Jan 2022 18:17:21 GMT etag: - - '"03009894-0000-3400-0000-616818f40000"' + - '"070066fe-0000-3400-0000-61d1ec110000"' expires: - '-1' pragma: @@ -2671,25 +11419,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e9bfb50e-2b5b-435b-8dac-c21572ad5e08*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","name":"618588ad-aebe-4ffd-a8f8-f18411d2bf41*9CBF8C2888CFDB78A64F8045EFBBAE67E54148A949858EDDF9E054D0E7647091","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-10-14T11:48:04.5065608Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e9bfb50e-2b5b-435b-8dac-c21572ad5e08*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","name":"e9bfb50e-2b5b-435b-8dac-c21572ad5e08*27A4663327F16509580BE98C70A84C1007619D69DE80D444A54FD4B62742CBCA","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm","status":"Succeeded","startTime":"2022-01-02T18:16:49.899107Z","properties":null}' headers: cache-control: - no-cache content-length: - - '568' + - '558' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:49:36 GMT + - Sun, 02 Jan 2022 18:17:50 GMT etag: - - '"03001795-0000-3400-0000-616819360000"' + - '"07006afe-0000-3400-0000-61d1ec360000"' expires: - '-1' pragma: @@ -2719,11 +11467,11 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview&force=false response: body: string: 'null' @@ -2731,7 +11479,7 @@ interactions: api-supported-versions: - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/30080479-e35e-45d6-b6a6-d4b72576eca4*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/2b0ccb88-5834-4f82-969a-d63aea6c968e*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview cache-control: - no-cache content-length: @@ -2739,13 +11487,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:49:42 GMT + - Sun, 02 Jan 2022 18:17:55 GMT etag: - - '"0200317b-0000-3400-0000-616819560000"' + - '"21008f0f-0000-3400-0000-61d1ec530000"' expires: - '-1' location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/30080479-e35e-45d6-b6a6-d4b72576eca4*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/2b0ccb88-5834-4f82-969a-d63aea6c968e*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview pragma: - no-cache strict-transport-security: @@ -2771,25 +11519,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/30080479-e35e-45d6-b6a6-d4b72576eca4*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/2b0ccb88-5834-4f82-969a-d63aea6c968e*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/30080479-e35e-45d6-b6a6-d4b72576eca4*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3","name":"30080479-e35e-45d6-b6a6-d4b72576eca4*F74FB8E8D5ACE8462137370B4094655F6ACA11599FD41ABE067321E2CD9379A3","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Succeeded","startTime":"2021-10-14T11:49:42.2419659Z","endTime":"2021-10-14T11:49:43.465969Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/2b0ccb88-5834-4f82-969a-d63aea6c968e*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","name":"2b0ccb88-5834-4f82-969a-d63aea6c968e*B6DC13EC3C7F224A64B53890CAA2EC53DEAFAFDB3B381AEB58C5521D8EC954E0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Succeeded","startTime":"2022-01-02T18:17:55.5766938Z","endTime":"2022-01-02T18:17:56.8559109Z","properties":null}' headers: cache-control: - no-cache content-length: - - '604' + - '609' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:50:12 GMT + - Sun, 02 Jan 2022 18:18:25 GMT etag: - - '"03004395-0000-3400-0000-616819570000"' + - '"07006ffe-0000-3400-0000-61d1ec540000"' expires: - '-1' pragma: @@ -2819,11 +11567,11 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster?api-version=2020-10-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster?api-version=2020-10-01-preview&force=false response: body: string: 'null' @@ -2831,7 +11579,7 @@ interactions: api-supported-versions: - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6f2c5b8e-0b06-4e0a-b9f9-61f11fd8e32d*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/24f55528-84c6-4c5b-93de-e87f0d66a86e*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview cache-control: - no-cache content-length: @@ -2839,13 +11587,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:50:16 GMT + - Sun, 02 Jan 2022 18:18:28 GMT etag: - - '"0d0099ac-0000-3400-0000-616819780000"' + - '"12009283-0000-3400-0000-61d1ec750000"' expires: - '-1' location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6f2c5b8e-0b06-4e0a-b9f9-61f11fd8e32d*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/24f55528-84c6-4c5b-93de-e87f0d66a86e*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview pragma: - no-cache strict-transport-security: @@ -2871,25 +11619,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6f2c5b8e-0b06-4e0a-b9f9-61f11fd8e32d*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/24f55528-84c6-4c5b-93de-e87f0d66a86e*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6f2c5b8e-0b06-4e0a-b9f9-61f11fd8e32d*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359","name":"6f2c5b8e-0b06-4e0a-b9f9-61f11fd8e32d*7E3402A3D560B71714CB10DE7D20A637F63719BF4A36BD182218E7887CA8C359","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Succeeded","startTime":"2021-10-14T11:50:16.8121049Z","endTime":"2021-10-14T11:50:18.4154298Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/24f55528-84c6-4c5b-93de-e87f0d66a86e*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","name":"24f55528-84c6-4c5b-93de-e87f0d66a86e*2DE4E76FA24305843212B71FEC56B7EAF28C6FE6E4BD29D47462C1D65F5DF845","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/clusters/azcli-test-cluster","status":"Succeeded","startTime":"2022-01-02T18:18:29.0260112Z","endTime":"2022-01-02T18:18:30.571773Z","properties":null}' headers: cache-control: - no-cache content-length: - - '594' + - '597' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:50:47 GMT + - Sun, 02 Jan 2022 18:18:59 GMT etag: - - '"03005395-0000-3400-0000-6168197a0000"' + - '"070072fe-0000-3400-0000-61d1ec760000"' expires: - '-1' pragma: @@ -2919,11 +11667,11 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore?api-version=2020-10-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore?api-version=2020-10-01-preview&force=false response: body: string: 'null' @@ -2931,7 +11679,7 @@ interactions: api-supported-versions: - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e524ffec-3dd5-492f-beed-ea0473b36105*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/51102dd4-1e56-41b3-82ea-3a3ca06a5df3*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview cache-control: - no-cache content-length: @@ -2939,13 +11687,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:50:51 GMT + - Sun, 02 Jan 2022 18:19:03 GMT etag: - - '"0000c75e-0000-3400-0000-6168199b0000"' + - '"12009483-0000-3400-0000-61d1ec970000"' expires: - '-1' location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e524ffec-3dd5-492f-beed-ea0473b36105*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/51102dd4-1e56-41b3-82ea-3a3ca06a5df3*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview pragma: - no-cache strict-transport-security: @@ -2971,25 +11719,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e524ffec-3dd5-492f-beed-ea0473b36105*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/51102dd4-1e56-41b3-82ea-3a3ca06a5df3*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/e524ffec-3dd5-492f-beed-ea0473b36105*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3","name":"e524ffec-3dd5-492f-beed-ea0473b36105*3FB3EFBB90995B10712C33D83D0AA785C0894818377DDCA49EB2500901C7D1E3","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Succeeded","startTime":"2021-10-14T11:50:51.6954749Z","endTime":"2021-10-14T11:50:52.982163Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/51102dd4-1e56-41b3-82ea-3a3ca06a5df3*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","name":"51102dd4-1e56-41b3-82ea-3a3ca06a5df3*E82D9FE75A9EC419A32A447F28124AD9B2D5E9C40EE854CDDD75E8B3042E87B4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/datastores/azcli-test-datastore","status":"Succeeded","startTime":"2022-01-02T18:19:03.4624486Z","endTime":"2022-01-02T18:19:05.3830233Z","properties":null}' headers: cache-control: - no-cache content-length: - - '597' + - '602' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:51:21 GMT + - Sun, 02 Jan 2022 18:19:34 GMT etag: - - '"03006995-0000-3400-0000-6168199c0000"' + - '"070074fe-0000-3400-0000-61d1ec990000"' expires: - '-1' pragma: @@ -3019,11 +11767,11 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host?api-version=2020-10-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host?api-version=2020-10-01-preview&force=false response: body: string: 'null' @@ -3031,7 +11779,7 @@ interactions: api-supported-versions: - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/64359e9a-aeed-4682-95db-cbc135712965*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/5eeec913-0e80-4ee4-aecc-6c80211a65a6*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview cache-control: - no-cache content-length: @@ -3039,13 +11787,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:51:27 GMT + - Sun, 02 Jan 2022 18:19:37 GMT etag: - - '"0600da18-0000-3400-0000-616819bf0000"' + - '"42003951-0000-3400-0000-61d1ecb90000"' expires: - '-1' location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/64359e9a-aeed-4682-95db-cbc135712965*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/5eeec913-0e80-4ee4-aecc-6c80211a65a6*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview pragma: - no-cache strict-transport-security: @@ -3071,25 +11819,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/64359e9a-aeed-4682-95db-cbc135712965*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/5eeec913-0e80-4ee4-aecc-6c80211a65a6*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/64359e9a-aeed-4682-95db-cbc135712965*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309","name":"64359e9a-aeed-4682-95db-cbc135712965*B606F95858137F7537B56A1887E1F6AE9152C4B01A6618F5BF2320014B671309","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Succeeded","startTime":"2021-10-14T11:51:27.6139478Z","endTime":"2021-10-14T11:51:28.9164867Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/5eeec913-0e80-4ee4-aecc-6c80211a65a6*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","name":"5eeec913-0e80-4ee4-aecc-6c80211a65a6*ACFF0FD476EBE47F6C4C5D448D8ECCF8C651264ABA7F43BC6F829750A9C1615A","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/hosts/azcli-test-host","status":"Succeeded","startTime":"2022-01-02T18:19:37.6768389Z","endTime":"2022-01-02T18:19:38.6593367Z","properties":null}' headers: cache-control: - no-cache content-length: - - '588' + - '592' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:51:58 GMT + - Sun, 02 Jan 2022 18:20:07 GMT etag: - - '"03007a95-0000-3400-0000-616819c00000"' + - '"070077fe-0000-3400-0000-61d1ecba0000"' expires: - '-1' pragma: @@ -3119,11 +11867,11 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview&force=false response: body: string: 'null' @@ -3131,7 +11879,7 @@ interactions: api-supported-versions: - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/178528e2-ed76-407b-9052-d150f1c88aa5*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/b6aa51fc-03ed-4446-bd13-05c509d32f73*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview cache-control: - no-cache content-length: @@ -3139,13 +11887,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:52:01 GMT + - Sun, 02 Jan 2022 18:20:16 GMT etag: - - '"40003818-0000-3400-0000-616819e10000"' + - '"3f009be2-0000-3400-0000-61d1ece00000"' expires: - '-1' location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/178528e2-ed76-407b-9052-d150f1c88aa5*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/b6aa51fc-03ed-4446-bd13-05c509d32f73*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview pragma: - no-cache strict-transport-security: @@ -3171,25 +11919,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/178528e2-ed76-407b-9052-d150f1c88aa5*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/b6aa51fc-03ed-4446-bd13-05c509d32f73*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/178528e2-ed76-407b-9052-d150f1c88aa5*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D","name":"178528e2-ed76-407b-9052-d150f1c88aa5*F3D669D4A4408B8365FC43D695FED29AD980D9C1D76A5B7C059FEE017F81A77D","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Succeeded","startTime":"2021-10-14T11:52:01.8711456Z","endTime":"2021-10-14T11:52:03.8821708Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/b6aa51fc-03ed-4446-bd13-05c509d32f73*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","name":"b6aa51fc-03ed-4446-bd13-05c509d32f73*70D74FF2085582ECAD0A36284BA981A52D437766A94B293686286A8ABC8563F4","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Succeeded","startTime":"2022-01-02T18:20:16.7063355Z","endTime":"2022-01-02T18:20:18.1944828Z","properties":null}' headers: cache-control: - no-cache content-length: - - '609' + - '613' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:52:32 GMT + - Sun, 02 Jan 2022 18:20:47 GMT etag: - - '"03008795-0000-3400-0000-616819e30000"' + - '"07007efe-0000-3400-0000-61d1ece20000"' expires: - '-1' pragma: @@ -3219,11 +11967,11 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview&force=false + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview&force=false response: body: string: 'null' @@ -3231,7 +11979,7 @@ interactions: api-supported-versions: - 2020-10-01-preview azure-asyncoperation: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/278addc7-0779-47ab-bd0c-21994447ed58*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/2370b2b0-2815-4d56-9bbe-b4b3c77dc40f*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview cache-control: - no-cache content-length: @@ -3239,13 +11987,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:52:34 GMT + - Sun, 02 Jan 2022 18:20:49 GMT etag: - - '"0f001131-0000-3400-0000-61681a030000"' + - '"0c004b42-0000-3400-0000-61d1ed010000"' expires: - '-1' location: - - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/278addc7-0779-47ab-bd0c-21994447ed58*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB?api-version=2020-10-01-preview + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/2370b2b0-2815-4d56-9bbe-b4b3c77dc40f*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview pragma: - no-cache strict-transport-security: @@ -3271,25 +12019,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g --name + - -g --name -y User-Agent: - - AZURECLI/2.29.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.31.0 azsdk-python-mgmt-connectedvmware/0.1.1 Python/3.8.6 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) method: GET - uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/278addc7-0779-47ab-bd0c-21994447ed58*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB?api-version=2020-10-01-preview + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/2370b2b0-2815-4d56-9bbe-b4b3c77dc40f*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072?api-version=2020-10-01-preview response: body: - string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/278addc7-0779-47ab-bd0c-21994447ed58*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB","name":"278addc7-0779-47ab-bd0c-21994447ed58*739A8DB20DE35FA614E0C5541FE2518D9E76FFE650E5EA3FC26BA40B95F1E8FB","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/az-cli-test2/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Succeeded","startTime":"2021-10-14T11:52:35.3139894Z","endTime":"2021-10-14T11:52:36.6248037Z","properties":null}' + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/2370b2b0-2815-4d56-9bbe-b4b3c77dc40f*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","name":"2370b2b0-2815-4d56-9bbe-b4b3c77dc40f*6768394BC7536EAEE7A6C955E1E9DF9FA3FD70EDE83866BEA0C66F0E2B360072","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/service-sdk-test/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Succeeded","startTime":"2022-01-02T18:20:49.8460913Z","endTime":"2022-01-02T18:20:51.1265358Z","properties":null}' headers: cache-control: - no-cache content-length: - - '613' + - '617' content-type: - application/json; charset=utf-8 date: - - Thu, 14 Oct 2021 11:53:06 GMT + - Sun, 02 Jan 2022 18:21:20 GMT etag: - - '"03008f95-0000-3400-0000-61681a040000"' + - '"070087fe-0000-3400-0000-61d1ed030000"' expires: - '-1' pragma: diff --git a/src/connectedvmware/azext_connectedvmware/tests/latest/test_connectedvmware_scenario.py b/src/connectedvmware/azext_connectedvmware/tests/latest/test_connectedvmware_scenario.py index 4baf7fc857b..7cf7757dcdf 100644 --- a/src/connectedvmware/azext_connectedvmware/tests/latest/test_connectedvmware_scenario.py +++ b/src/connectedvmware/azext_connectedvmware/tests/latest/test_connectedvmware_scenario.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer from knack.util import CLIError from azure.cli.testsdk import ScenarioTest @@ -15,156 +15,232 @@ class ConnectedvmwareScenarioTest(ScenarioTest): - def test_connectedvmware(self): - self.kwargs.update({ - 'rg': 'az-cli-test2', - 'loc': 'eastus2euap', - 'cus_loc': 'azcli-test-cl-avs', - 'vc_name': 'azcli-test-vcenter-avs', - 'rp_morefid': 'resgroup-74941', - 'rp_name': 'azcli-test-resource-pool', - 'cluster_morefid': 'domain-c7', - 'cluster_name': 'azcli-test-cluster', - 'datastore_morefid': 'datastore-11', - 'datastore_name': 'azcli-test-datastore', - 'host_morefid': 'host-10', - 'host_name': 'azcli-test-host', - 'vnet_morefid': 'network-o61', - 'vnet_name': 'azcli-test-virtual-network', - 'vmtpl_morefid': 'vm-141', - 'vmtpl_name': 'azcli-test-vm-template', - 'vm_name': 'azcli-test-virtual-machine', - 'nic_name': 'nic_1', - 'disk_name': 'disk_1' - }) + self.kwargs.update( + { + 'rg': 'service-sdk-test', + 'loc': 'eastus2euap', + 'cus_loc': 'service-sdk-test-cl', + 'vc_name': 'service-sdk-test-vcenter', + 'rp_morefid': 'resgroup-87723', + 'rp_name': 'azcli-test-resource-pool', + 'cluster_morefid': 'domain-c7', + 'cluster_name': 'azcli-test-cluster', + 'datastore_morefid': 'datastore-11', + 'datastore_name': 'azcli-test-datastore', + 'host_morefid': 'host-33', + 'host_name': 'azcli-test-host', + 'vnet_morefid': 'network-o61', + 'vnet_name': 'azcli-test-virtual-network', + 'vmtpl_morefid': 'vm-141', + 'vmtpl_name': 'azcli-test-vm-template', + 'vm_name': 'azcli-test-vm', + '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}'), - ]) + 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()) + 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}') + 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}'), - ]) + 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() + 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 cluster resource. - self.cmd('az connectedvmware cluster create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {cluster_morefid} --name {cluster_name}') + self.cmd( + 'az connectedvmware cluster create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {cluster_morefid} --name {cluster_name}' + ) # Validate the show command output with cluster name. - self.cmd('az connectedvmware cluster show -g {rg} --name {cluster_name}', checks=[ - self.check('name', '{cluster_name}'), - ]) + self.cmd( + 'az connectedvmware cluster show -g {rg} --name {cluster_name}', + checks=[ + self.check('name', '{cluster_name}'), + ], + ) # List the cluster resources in this resource group. - resource_list = self.cmd('az connectedvmware cluster list -g {rg}').get_output_in_json() + resource_list = self.cmd( + 'az connectedvmware cluster list -g {rg}' + ).get_output_in_json() # At this point there should be 1 cluster resource. assert len(resource_list) >= 1 # Create datastore resource. - self.cmd('az connectedvmware datastore create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {datastore_morefid} --name {datastore_name}') + self.cmd( + 'az connectedvmware datastore create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {datastore_morefid} --name {datastore_name}' + ) # Validate the show command output with datastore name. - self.cmd('az connectedvmware datastore show -g {rg} --name {datastore_name}', checks=[ - self.check('name', '{datastore_name}'), - ]) + self.cmd( + 'az connectedvmware datastore show -g {rg} --name {datastore_name}', + checks=[ + self.check('name', '{datastore_name}'), + ], + ) # List the datastore resources in this resource group. - resource_list = self.cmd('az connectedvmware datastore list -g {rg}').get_output_in_json() + resource_list = self.cmd( + 'az connectedvmware datastore list -g {rg}' + ).get_output_in_json() # At this point there should be 1 datastore resource. assert len(resource_list) >= 1 # Create host resource. - self.cmd('az connectedvmware host create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {host_morefid} --name {host_name}') + self.cmd( + 'az connectedvmware host create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {host_morefid} --name {host_name}' + ) # Validate the show command output with host name. - self.cmd('az connectedvmware host show -g {rg} --name {host_name}', checks=[ - self.check('name', '{host_name}'), - ]) + self.cmd( + 'az connectedvmware host show -g {rg} --name {host_name}', + checks=[ + self.check('name', '{host_name}'), + ], + ) # List the host resources in this resource group. - resource_list = self.cmd('az connectedvmware host list -g {rg}').get_output_in_json() + resource_list = self.cmd( + 'az connectedvmware host list -g {rg}' + ).get_output_in_json() # At this point there should be 1 host 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}') + 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}'), - ]) + 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() + 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}') + 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}'), - ]) + 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() + 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 vcenter inventory-item show -g {rg} --vcenter {vc_name} --inventory-item {rp_morefid}', checks=[ - self.check('name', '{rp_morefid}'), - ]) + self.cmd( + 'az connectedvmware vcenter inventory-item show -g {rg} --vcenter {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}') + 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}'), - ]) + 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() + 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}'), - ]) + 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() + 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}'), - ]) + 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() + 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 + # Update VM. + self.cmd( + 'az connectedvmware vm update -g {rg} --name {vm_name} --memory-size 2048 --num-CPUs 2', + checks=[ + self.check('hardwareProfile.memorySizeMb', '2048'), + ], + ) + # Stop VM. self.cmd('az connectedvmware vm stop -g {rg} --name {vm_name}') @@ -181,13 +257,17 @@ def test_connectedvmware(self): self.cmd('az connectedvmware cluster delete -g {rg} --name {cluster_name} -y') # Delete the created datastore. - self.cmd('az connectedvmware datastore delete -g {rg} --name {datastore_name} -y') + self.cmd( + 'az connectedvmware datastore delete -g {rg} --name {datastore_name} -y' + ) # Delete the created host. self.cmd('az connectedvmware host delete -g {rg} --name {host_name} -y') # Delete the created virtual-network. - self.cmd('az connectedvmware virtual-network delete -g {rg} --name {vnet_name} -y') + self.cmd( + 'az connectedvmware virtual-network delete -g {rg} --name {vnet_name} -y' + ) # Delete the created vm-template. - self.cmd('az connectedvmware vm-template delete -g {rg} --name {vmtpl_name} -y') \ No newline at end of file + self.cmd('az connectedvmware vm-template delete -g {rg} --name {vmtpl_name} -y') diff --git a/src/connectedvmware/setup.py b/src/connectedvmware/setup.py index 20ab120d362..9710d7c12c6 100644 --- a/src/connectedvmware/setup.py +++ b/src/connectedvmware/setup.py @@ -19,7 +19,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.5' +VERSION = '0.1.6' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -51,7 +51,7 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/connectedvmware', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/connection-monitor-preview/azext_connection_monitor_preview/tests/latest/test_connection_monitor_preview.py b/src/connection-monitor-preview/azext_connection_monitor_preview/tests/latest/test_connection_monitor_preview.py index c72c18950f8..702e98601a1 100644 --- a/src/connection-monitor-preview/azext_connection_monitor_preview/tests/latest/test_connection_monitor_preview.py +++ b/src/connection-monitor-preview/azext_connection_monitor_preview/tests/latest/test_connection_monitor_preview.py @@ -5,7 +5,7 @@ from knack.util import CLIError -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) diff --git a/src/connection-monitor-preview/setup.py b/src/connection-monitor-preview/setup.py index 790faddd26b..b15c3e54737 100644 --- a/src/connection-monitor-preview/setup.py +++ b/src/connection-monitor-preview/setup.py @@ -46,7 +46,7 @@ description='Microsoft Azure Command-Line Connection Monitor V2 Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/connection-monitor-preview', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/connection-monitor-preview', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/cosmosdb-preview/HISTORY.rst b/src/cosmosdb-preview/HISTORY.rst index c97fa6774f4..61595bdc928 100644 --- a/src/cosmosdb-preview/HISTORY.rst +++ b/src/cosmosdb-preview/HISTORY.rst @@ -2,6 +2,30 @@ Release History =============== +0.15.0 +++++++ +* Add `--enable-materialized-views` parameter for create/update database account. + +0.14.0 +++++++ +* List the different versions of databases and graphs that were modified for a gremlin database account. +* List the different versions of tables that were modified for a table database account. +* Trigger a point in time restore on the Azure CosmosDB continuous mode backup accounts for gremlin and table database account. +* Retrieve latest restorable timestamp for graphs and tables in gremlin and table database account respectively. +* Filter restorable collections, graphs and tables event feed by start and end time. + +0.13.0 +++++++ +* Create and manage Role Definitions and User Definitions for enforcing data plane RBAC on Cosmos DB MongoDB accounts + +0.12.0 +++++++ +* Modify parameter names for Ldap support in Managed Instance for Apache Cassandra. + +0.11.0 +++++++ +* Add Ldap support for Managed Instance for Apache Cassandra. + 0.10.0 ++++++ * Adding support for Services APIs and Graph Resources. diff --git a/src/cosmosdb-preview/README.md b/src/cosmosdb-preview/README.md index f81aa322012..62149431459 100644 --- a/src/cosmosdb-preview/README.md +++ b/src/cosmosdb-preview/README.md @@ -7,6 +7,9 @@ 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 a new Azure Cosmos DB database account with materialized views +- Update an Azure Cosmos DB database account to enable materialized views +- Create/Delete a cosmosdb materialized views builder service resource ## How to use ## @@ -52,7 +55,7 @@ This command returns all the continuous mode backup accounts with the given name az cosmosdb restorable-database-account list --name "account-name" ``` -#### Restore from an existing(live or deleted) database account to a new account #### +#### Restore from an existing(live or deleted) Sql/MongoDB database account to a new account #### ```sh az cosmosdb restore --resource-group "my-rg" \ @@ -64,6 +67,30 @@ az cosmosdb restore --resource-group "my-rg" \ --databases-to-restore name="MyDB2" collections="collection3" "collection4" ``` +#### Restore from an existing(live or deleted) Gremlin database account to a new account #### + +```sh +az cosmosdb restore --resource-group "my-rg" \ + --target-database-account-name "restored-account" \ + --source-database-account-name "mysourceaccount" \ + --restore-timestamp "2020-07-20T16:09:53+0000" \ + --location "westus" \ + --gremlin-databases-to-restore name="MyDB1" graphs="collection1" "collection2" \ + --gremlin-databases-to-restore name="MyDB2" graphs="collection3" "collection4" +``` + +#### Restore from an existing(live or deleted) Table database account to a new account #### + +```sh +az cosmosdb restore --resource-group "my-rg" \ + --target-database-account-name "restored-account" \ + --source-database-account-name "mysourceaccount" \ + --restore-timestamp "2020-07-20T16:09:53+0000" \ + --location "westus" \ + --tables-to-restore "table1" "table2" \ + --tables-to-restore "table3" "table4" +``` + #### List all the versions of sql databases in a live database account #### ```sh @@ -81,7 +108,7 @@ az cosmosdb sql restorable-container list \ --location "westus" ``` -#### List all the resources of a database account that are avaiable to restore at a given timestamp and region #### +#### List all the resources of a sql database account that are available to restore at a given timestamp and region #### ```sh az cosmosdb sql restorable-resource list \ @@ -108,7 +135,7 @@ az cosmosdb mongodb restorable-collection list \ --location "westus" ``` -#### List all the resources of a mongodb database account that are avaiable to restore at a given timestamp and region #### +#### List all the resources of a mongodb database account that are available to restore at a given timestamp and region #### ```sh az cosmosdb mongodb restorable-resource list \ @@ -117,3 +144,99 @@ az cosmosdb mongodb restorable-resource list \ --restore-location "westus" \ --restore-timestamp "2020-07-20T16:09:53+0000" ``` + +#### List all the versions of Gremlin databases in a live database account #### + +```sh +az cosmosdb gremlin restorable-database list \ + --instance-id "d056a4f8-044a-436f-80c8-cd3edbc94c68" \ + --location "westus" +``` + +#### List all the versions of Gremlin graphs of a database in a live database account #### + +```sh +az cosmosdb gremlin restorable-graph list \ + --instance-id "d056a4f8-044a-436f-80c8-cd3edbc94c68" \ + --database-rid "AoQ13r==" + --location "westus" +``` + +#### List all the resources of a Gremlin database account that are available to restore at a given timestamp and region #### + +```sh +az cosmosdb gremlin restorable-resource list \ + --instance-id "d056a4f8-044a-436f-80c8-cd3edbc94c68" \ + --location "westus" \ + --restore-location "eastus" \ + --restore-timestamp "2020-07-20T16:09:53+0000" +``` + +#### List all the versions of tables in a live database account #### + +```sh +az cosmosdb table restorable-table list \ + --instance-id "d056a4f8-044a-436f-80c8-cd3edbc94c68" \ + --location "westus" +``` + +#### List all the resources of a table database account that are available to restore at a given timestamp and region #### + +```sh +az cosmosdb table restorable-resource list \ + --instance-id "d056a4f8-044a-436f-80c8-cd3edbc94c68" \ + --location "westus" \ + --restore-location "eastus" \ + --restore-timestamp "2020-07-20T16:09:53+0000" +``` + +#### Create a new CosmosDB materialized views enabled Account #### + +```sh +az cosmosdb create \ + --resource-group "my-rg" \ + --name "my-db-account" \ + --enable-materialized-views true \ + --capabilities "EnableCassandra" "CassandraEnableMaterializedViews" +``` + +#### Enable materialized views on a existing CosmosDB Account #### + +```sh +az cosmosdb update \ + --resource-group "my-rg" \ + --name "my-db-account" \ + --enable-materialized-views true +``` + +#### Create a cosmosdb materialized views builder service resource #### + +```sh +az cosmosdb service create \ + --resource-group "MyResourceGroup" \ + --account-name "MyAccount" \ + --name "MaterializedViewsBuilder" \ + --kind "MaterializedViewsBuilder" \ + --count 3 \ + --size "Cosmos.D4s" +``` + +#### Update a cosmosdb materialized views builder service resource #### + +```sh +az cosmosdb service update \ + --resource-group "MyResourceGroup" \ + --account-name "MyAccount" \ + --name "MaterializedViewsBuilder" \ + --kind "MaterializedViewsBuilder" \ + --count 3 +``` + +#### Delete the cosmosdb materialized views builder service resource #### + +```sh +az cosmosdb service delete \ + --resource-group "MyResourceGroup" \ + --account-name "MyAccount" + --name "MaterializedViewsBuilder" \ +``` diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_client_factory.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_client_factory.py index bef48c97c14..5d1d7bc427b 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_client_factory.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_client_factory.py @@ -10,10 +10,6 @@ def cf_cosmosdb_preview(cli_ctx, *_): return get_mgmt_service_client(cli_ctx, CosmosDBManagementClient) -def cf_graph_resources(cli_ctx, _): - return cf_cosmosdb_preview(cli_ctx).graph_resources - - def cf_service(cli_ctx, _): return cf_cosmosdb_preview(cli_ctx).service @@ -24,3 +20,51 @@ def cf_cassandra_cluster(cli_ctx, _): def cf_cassandra_data_center(cli_ctx, _): return cf_cosmosdb_preview(cli_ctx).cassandra_data_centers + + +def cf_mongo_db_resources(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).mongo_db_resources + + +def cf_gremlin_resources(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).gremlin_resources + + +def cf_table_resources(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).table_resources + + +# cosmosdb account +def cf_db_accounts(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).database_accounts + + +# restorable sql and mongodb collections +def cf_restorable_sql_containers(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).restorable_sql_containers + + +def cf_restorable_mongodb_collections(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).restorable_mongodb_collections + + +# restorable gremlin databases/graphs +def cf_restorable_gremlin_databases(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).restorable_gremlin_databases + + +def cf_restorable_gremlin_graphs(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).restorable_gremlin_graphs + + +def cf_restorable_gremlin_resources(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).restorable_gremlin_resources + + +# restorable tables +def cf_restorable_tables(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).restorable_tables + + +def cf_restorable_table_resources(cli_ctx, _): + return cf_cosmosdb_preview(cli_ctx).restorable_table_resources diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py index b656d4d79a6..f097ba5327c 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py @@ -3,6 +3,7 @@ # 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, missing-function-docstring from knack.help_files import helps # pylint: disable=unused-import @@ -72,16 +73,36 @@ az managed-cassandra cluster list """ -helps['managed-cassandra cluster node-status'] = """ +helps['managed-cassandra cluster backup list'] = """ type: command -short-summary: Gets Status of all the nodes in all the datacenters in a given Cluster. +short-summary: List the backups of this cluster that are available to restore. examples: - - name: This command gets the status of all the nodes in this cluster. By default a json is returned. + - name: This command lists the backups of this cluster that are available to restore. text: | - az managed-cassandra cluster node-status --resource-group MyResourceGroup --cluster-name MyCluster - - name: This command gets the status of all the nodes in this cluster. When a table output is specified only one token is displayed. Use json output to get all the tokens. + az managed-cassandra cluster backup list --resource-group MyResourceGroup --cluster-name MyCluster +""" + +helps['managed-cassandra cluster backup show'] = """ +type: command +short-summary: Get a managed cassandra backup resource of this cluster +examples: + - name: Gets a managed cassandra backup resource. text: | - az managed-cassandra cluster node-status --resource-group MyResourceGroup --cluster-name MyCluster --output table + az managed-cassandra cluster backup show --resource-group MyResourceGroup --cluster-name MyCluster --backup-id BackUpId +""" + +helps['managed-cassandra cluster backup'] = """ +type: group +short-summary: Azure Managed Cassandra cluster Backup. +""" + +helps['managed-cassandra cluster invoke-command'] = """ +type: command +short-summary: Invoke a command like nodetool for cassandra maintenance. +examples: + - name: This command runs nodetool with these arguments in a host node of the cluster. + text: | + az managed-cassandra cluster invoke-command --resource-group MyResourceGroup --cluster-name MyCluster --host "10.0.1.12" --command-name "nodetool" --arguments arg1="value1" arg2="value2" arg3="value3" """ helps['managed-cassandra datacenter'] = """ @@ -157,8 +178,10 @@ examples: - name: Create a cosmosdb service resource. text: | - az cosmosdb service create --resource-group MyResourceGroup --account-name MyAccount --name "graphApiCompute" --kind "GraphApiCompute" --count 1 --size "Cosmos.D4s" az cosmosdb service create --resource-group MyResourceGroup --account-name MyAccount --name "sqlDedicatedGateway" --kind "SqlDedicatedGateway" --count 3 --size "Cosmos.D4s" + - name: Create a cosmosdb materialized views builder service resource. + text: | + az cosmosdb service create --resource-group MyResourceGroup --account-name MyAccount --name "MaterializedViewsBuilder" --kind "MaterializedViewsBuilder" --count 3 --size "Cosmos.D4s" """ helps['cosmosdb service update'] = """ @@ -167,8 +190,10 @@ examples: - name: Update a cosmosdb service resource. text: | - az cosmosdb service update --resource-group MyResourceGroup --account-name MyAccount --name "graphApiCompute" --kind "GraphApiCompute" --count 1 az cosmosdb service update --resource-group MyResourceGroup --account-name MyAccount --name "sqlDedicatedGateway" --kind "SqlDedicatedGateway" --count 3 + - name: Update a cosmosdb materialized views builder service resource. + text: | + az cosmosdb service update --resource-group MyResourceGroup --account-name MyAccount --name "MaterializedViewsBuilder" --kind "MaterializedViewsBuilder" --count 3 """ helps['cosmosdb service list'] = """ @@ -187,29 +212,327 @@ - name: Delete the given cosmosdb service resource. text: | az cosmosdb service delete --resource-group MyResourceGroup --account-name MyAccount --name "sqlDedicatedGateway" + - name: Delete the cosmosdb materialized views builder service resource. + text: | + az cosmosdb service delete --resource-group MyResourceGroup --account-name MyAccount --name "MaterializedViewsBuilder" """ -helps['cosmosdb graph'] = """ +helps['cosmosdb mongodb role'] = """ type: group -short-summary: Commands to perform operations on Graph resources. +short-summary: Manage Azure Cosmos DB Mongo role resources. """ -helps['cosmosdb graph create'] = """ +helps['cosmosdb mongodb role definition'] = """ +type: group +short-summary: Manage Azure Cosmos DB Mongo role definitions. +""" + +helps['cosmosdb mongodb role definition create'] = """ +type: command +short-summary: Create a Mongo DB role definition under an Azure Cosmos DB account. +examples: + - name: Create a Mongo DB role definition under an Azure Cosmos DB account using a JSON string. + text: | + az cosmosdb mongodb role definition create --account-name MyAccount --resource-group MyResourceGroup --body '{ + "Id": "MyDB.My_Read_Only_Role", + "RoleName": "My_Read_Only_Role", + "Type": "CustomRole", + "DatabaseName": "MyDB", + "Privileges": [{ + "Resource": { + "Db": "MyDB", + "Collection": "MyCol" + }, + "Actions": [ + "insert", + "find" + ] + }], + "Roles": [ + { + "Role": "myInheritedRole", + "Db": "MyTestDb" + } + ] + }' + - name: Create a Mongo DB role definition under an Azure Cosmos DB account using a JSON file. + text: az cosmosdb mongodb role definition create --account-name MyAccount --resource-group MyResourceGroup --body @mongo-role-definition.json +""" + +helps['cosmosdb mongodb role definition delete'] = """ type: command -short-summary: Create a cosmosdb graph resource. +short-summary: Delete a CosmosDb MongoDb role definition under an Azure Cosmos DB account. +examples: + - name: Delete a Mongo role definition under an Azure Cosmos DB account. + text: az cosmosdb mongodb role definition delete --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 +""" + +helps['cosmosdb mongodb role definition exists'] = """ +type: command +short-summary: Check if an Azure Cosmos DB MongoDb role definition exists. +examples: + - name: Check if an Azure Cosmos DB MongoDb role definition exists. + text: az cosmosdb mongodb role definition exists --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 +""" + +helps['cosmosdb mongodb role definition list'] = """ +type: command +short-summary: List all MongoDb role definitions under an Azure Cosmos DB account. +examples: + - name: List all Mongodb role definitions under an Azure Cosmos DB account. + text: az cosmosdb mongodb role definition list --account-name MyAccount --resource-group MyResourceGroup +""" + +helps['cosmosdb mongodb role definition show'] = """ +type: command +short-summary: Show the properties of a MongoDb role definition under an Azure Cosmos DB account. +examples: + - name: Show the properties of a MongoDb role definition under an Azure Cosmos DB account. + text: az cosmosdb mongodb role definition show --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 +""" + +helps['cosmosdb mongodb role definition update'] = """ +type: command +short-summary: Update a MongoDb role definition under an Azure Cosmos DB account. +examples: + - name: Update a MongoDb role definition under an Azure Cosmos DB account. + text: az cosmosdb mongodb role definition update --account-name MyAccount --resource-group MyResourceGroup --body @mongo-role-definition.json +""" + +helps['cosmosdb mongodb user'] = """ +type: group +short-summary: Manage Azure Cosmos DB Mongo user resources. +""" + +helps['cosmosdb mongodb user definition'] = """ +type: group +short-summary: Manage Azure Cosmos DB Mongo user definitions. +""" + +helps['cosmosdb mongodb user definition create'] = """ +type: command +short-summary: Create a Mongo DB user definition under an Azure Cosmos DB account. +examples: + - name: Create a Mongo DB user definition under an Azure Cosmos DB account using a JSON string. + text: | + az cosmosdb mongodb user definition create --account-name MyAccount --resource-group MyResourceGroup --body '{ + "Id": "MyDB.MyUName", + "UserName": "MyUName", + "Password": "MyPass", + "DatabaseName": "MyDB", + "CustomData": "TestCustomData", + "Mechanisms": "SCRAM-SHA-256", + "Roles": [ + { + "Role": "myReadRole", + "Db": "MyDB" + } + ] + }' + - name: Create a Mongo DB user definition under an Azure Cosmos DB account using a JSON file. + text: az cosmosdb mongodb user definition create --account-name MyAccount --resource-group MyResourceGroup --body @mongo-user-definition.json +""" + +helps['cosmosdb mongodb user definition delete'] = """ +type: command +short-summary: Delete a CosmosDb MongoDb user definition under an Azure Cosmos DB account. +examples: + - name: Delete a Mongo user definition under an Azure Cosmos DB account. + text: az cosmosdb mongodb user definition delete --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 +""" + +helps['cosmosdb mongodb user definition exists'] = """ +type: command +short-summary: Check if an Azure Cosmos DB MongoDb user definition exists. +examples: + - name: Check if an Azure Cosmos DB MongoDb user definition exists. + text: az cosmosdb mongodb user definition exists --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 +""" + +helps['cosmosdb mongodb user definition list'] = """ +type: command +short-summary: List all MongoDb user definitions under an Azure Cosmos DB account. +examples: + - name: List all Mongodb user definitions under an Azure Cosmos DB account. + text: az cosmosdb mongodb user definition list --account-name MyAccount --resource-group MyResourceGroup +""" + +helps['cosmosdb mongodb user definition show'] = """ +type: command +short-summary: Show the properties of a MongoDb user definition under an Azure Cosmos DB account. +examples: + - name: Show the properties of a MongoDb user definition under an Azure Cosmos DB account. + text: az cosmosdb mongodb user definition show --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 +""" + +helps['cosmosdb mongodb user definition update'] = """ +type: command +short-summary: Update a MongoDb user definition under an Azure Cosmos DB account. +examples: + - name: Update a MongoDb user definition under an Azure Cosmos DB account. + text: az cosmosdb mongodb user definition update --account-name MyAccount --resource-group MyResourceGroup --body @mongo-user-definition.json +""" + + +# create new account by restoring from a different account +helps['cosmosdb create'] = """ +type: command +short-summary: Creates a new Azure Cosmos DB database account. +parameters: + - name: --locations + short-summary: Add a location to the Cosmos DB database account + long-summary: | + Usage: --locations KEY=VALUE [KEY=VALUE ...] + Required Keys: regionName, failoverPriority + Optional Key: isZoneRedundant + Default: single region account in the location of the specified resource group. + Failover priority values are 0 for write regions and greater than 0 for read regions. A failover priority value must be unique and less than the total number of regions. + Multiple locations can be specified by using more than one `--locations` argument. + - name: --databases-to-restore + short-summary: Add a database and its collection names to restore + long-summary: | + Usage: --databases-to-restore name=DatabaseName collections=collection1 [collection2 ...] + - name: --gremlin-databases-to-restore + short-summary: Add a gremlin database and its graph names to restore + long-summary: | + Usage: --gremlin-databases-to-restore name=DatabaseName graphs=graph1 [graph2 ...] + - name: --tables-to-restore + short-summary: Add table names to restore + long-summary: | + Usage: --tables-to-restore tables=table1 [table2 ...] +examples: + - name: DB database account. (autogenerated) + text: az cosmosdb create --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup --subscription MySubscription + crafted: true + - name: Creates a new Azure Cosmos DB database account with two regions. UK South is zone redundant. + text: az cosmosdb create -n myaccount -g mygroup --locations regionName=eastus failoverPriority=0 isZoneRedundant=False --locations regionName=uksouth failoverPriority=1 isZoneRedundant=True --enable-multiple-write-locations --network-acl-bypass AzureServices --network-acl-bypass-resource-ids /subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName + - name: Create a new Azure Cosmos DB database account by restoring from an existing account in the given location + text: az cosmosdb create -n restoredaccount -g mygroup --is-restore-request true --restore-source /subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d056a4f8-044a-436f-80c8-cd3edbc94c68 --restore-timestamp 2020-07-13T16:03:41+0000 --locations regionName=westus failoverPriority=0 isZoneRedundant=False + - name: Creates a new Azure Cosmos DB database account with materialized views and cassandra capability enabled. + text: az cosmosdb create --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup --enable-materialized-views true --capabilities EnableCassandra CassandraEnableMaterializedViews +""" + +helps['cosmosdb update'] = """ +type: command +short-summary: Update an Azure Cosmos DB database account. +parameters: + - name: --locations + short-summary: Add a location to the Cosmos DB database account + long-summary: | + Usage: --locations KEY=VALUE [KEY=VALUE ...] + Required Keys: regionName, failoverPriority + Optional Key: isZoneRedundant + Default: single region account in the location of the specified resource group. + Failover priority values are 0 for write regions and greater than 0 for read regions. A failover priority value must be unique and less than the total number of regions. + Multiple locations can be specified by using more than one `--locations` argument. +examples: + - name: Update an Azure Cosmos DB database account. (autogenerated) + text: az cosmosdb update --capabilities EnableGremlin --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup + - name: Update an Azure Cosmos DB database account to enable materialized views. + text: az cosmosdb update --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup --enable-materialized-views true +""" + +# restore account +helps['cosmosdb restore'] = """ +type: command +short-summary: Create a new Azure Cosmos DB database account by restoring from an existing database account. +parameters: + - name: --databases-to-restore + short-summary: Add a database and its collection names to restore + long-summary: | + Usage: --databases-to-restore name=DatabaseName collections=collection1 [collection2 ...] + Multiple databases can be specified by using more than one `--databases-to-restore` argument. + - name: --gremlin-databases-to-restore + short-summary: Add a gremlin database and its graph names to restore + long-summary: | + Usage: --gremlin-databases-to-restore name=DatabaseName graphs=graph1 [graph2 ...] + - name: --tables-to-restore + short-summary: Add table names to restore + long-summary: | + Usage: --tables-to-restore table1 [table2 ...] +examples: + - name: Create a new Azure Cosmos DB database account by restoring from an existing database account. + text: az cosmosdb restore --target-database-account-name MyRestoredCosmosDBDatabaseAccount --account-name MySourceAccount --restore-timestamp 2020-07-13T16:03:41+0000 -g MyResourceGroup --location westus + - name: Create a new Azure Cosmos DB Sql or MongoDB database account by restoring only the selected databases and collections from an existing database account. + text: az cosmosdb restore -g MyResourceGroup --target-database-account-name MyRestoredCosmosDBDatabaseAccount --account-name MySourceAccount --restore-timestamp 2020-07-13T16:03:41+0000 --location westus --databases-to-restore name=MyDB1 collections=collection1 collection2 --databases-to-restore name=MyDB2 collections=collection3 collection4 + - name: Create a new Azure Cosmos DB Gremlin database account by restoring only the selected databases or graphs from an existing database account. + text: az cosmosdb restore -g MyResourceGroup --target-database-account-name MyRestoredCosmosDBDatabaseAccount --account-name MySourceAccount --restore-timestamp 2020-07-13T16:03:41+0000 --location westus --gremlin-databases-to-restore name=graphdb1 graphs=graph1 graph2 + - name: Create a new Azure Cosmos DB Table database account by restoring only the selected tables from an existing database account. + text: az cosmosdb restore -g MyResourceGroup --target-database-account-name MyRestoredCosmosDBDatabaseAccount --account-name MySourceAccount --restore-timestamp 2020-07-13T16:03:41+0000 --location westus --tables-to-restore table1,table2 +""" + +# sql restorable containers +helps['cosmosdb sql restorable-container list'] = """ +type: command +short-summary: List all the versions of all the sql containers that were created / modified / deleted in the given database and restorable account. +""" + +# mongodb restorable collections +helps['cosmosdb mongodb restorable-collection list'] = """ +type: command +short-summary: List all the versions of all the mongodb collections that were created / modified / deleted in the given database and restorable account. +""" + +# gremlin restorable resources +helps['cosmosdb gremlin restorable-database'] = """ +type: group +short-summary: Manage different versions of gremlin databases that are restorable in a Azure Cosmos DB account. +""" + +helps['cosmosdb gremlin restorable-database list'] = """ +type: command +short-summary: List all the versions of all the gremlin databases that were created / modified / deleted in the given restorable account. +""" + +helps['cosmosdb gremlin restorable-graph'] = """ +type: group +short-summary: Manage different versions of gremlin graphs that are restorable in a database of a Azure Cosmos DB account. +""" + +helps['cosmosdb gremlin restorable-graph list'] = """ +type: command +short-summary: List all the versions of all the gremlin graphs that were created / modified / deleted in the given database and restorable account. +""" + +helps['cosmosdb gremlin restorable-resource'] = """ +type: group +short-summary: Manage the databases and its graphs that can be restored in the given account at the given timestamp and region. +""" + +helps['cosmosdb gremlin restorable-resource list'] = """ +type: command +short-summary: List all the databases and its graphs that can be restored in the given account at the given timestamp and region. +""" + +# table restorable resources +helps['cosmosdb table restorable-table'] = """ +type: group +short-summary: Manage different versions of tables that are restorable in Azure Cosmos DB account. +""" + +helps['cosmosdb table restorable-table list'] = """ +type: command +short-summary: List all the versions of all the tables that were created / modified / deleted in the given restorable account. +""" + +helps['cosmosdb table restorable-resource'] = """ +type: group +short-summary: Manage the tables that can be restored in the given account at the given timestamp and region. """ -helps['cosmosdb graph list'] = """ +helps['cosmosdb table restorable-resource list'] = """ type: command -short-summary: List all cosmosdb graph resource under an account. +short-summary: List all the tables that can be restored in the given account at the given timestamp and region. """ -helps['cosmosdb graph delete'] = """ +# gremlin graph latest backup time. +helps['cosmosdb gremlin retrieve-latest-backup-time'] = """ type: command -short-summary: Delete the given cosmosdb graph resource. +short-summary: Retrieves latest restorable timestamp for the given gremlin graph in given region. """ -helps['cosmosdb graph exists'] = """ +# table latest backup time. +helps['cosmosdb table retrieve-latest-backup-time'] = """ type: command -short-summary: Return if the given cosmosdb graph resource exist. +short-summary: Retrieves latest restorable timestamp for the given table in given region. """ diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py index fd031571481..6f129686d8d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py @@ -4,16 +4,60 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long, too-many-statements +from argcomplete.completers import FilesCompleter from azext_cosmosdb_preview._validators import ( validate_gossip_certificates, validate_client_certificates, + validate_server_certificates, validate_seednodes, - validate_node_count) + validate_node_count, + validate_mongo_role_definition_body, + validate_mongo_role_definition_id, + validate_mongo_user_definition_body, + validate_mongo_user_definition_id) + +from azext_cosmosdb_preview.actions import ( + CreateGremlinDatabaseRestoreResource, CreateTableRestoreResource) + +from azure.cli.core.commands.parameters import ( + tags_type, get_resource_name_completion_list, name_type, get_enum_type, get_three_state_flag, get_location_type) + +from azure.mgmt.cosmosdb.models import ( + DefaultConsistencyLevel, DatabaseAccountKind, ServerVersion, NetworkAclBypass, BackupPolicyType, AnalyticalStorageSchemaType, BackupStorageRedundancy) + +from azure.cli.command_modules.cosmosdb.actions import ( + CreateLocation, CreateDatabaseRestoreResource, UtcDatetimeAction) + +from azure.cli.command_modules.cosmosdb._validators import ( + validate_capabilities, validate_virtual_network_rules, validate_ip_range_filter) + + +MONGO_ROLE_DEFINITION_EXAMPLE = """--body "{ +\\"Id\\": \\"be79875a-2cc4-40d5-8958-566017875b39\\", +\\"RoleName\\": \\"MyRWRole\\", +\\"Type\\": \\"CustomRole\\" +\\"DatabaseName\\": \\"MyDb\\", +\\"Privileges\\": [ {\\"Resource\\": {\\"Db\\": \\"MyDB\\",\\"Collection\\": \\"MyCol\\"},\\"Actions\\": [\\"insert\\",\\"find\\"]}], +\\"Roles\\": [ {\\"Role\\": \\"myInheritedRole\\",\\"Db\\": \\"MyTestDb\\"}] +}" +""" + +MONGO_USER_DEFINITION_EXAMPLE = """--body "{ +\\"Id\\": \\"be79875a-2cc4-40d5-8958-566017875b39\\", +\\"UserName\\": \\"MyUserName\\", +\\"Password\\": \\"MyPass\\", +\\"CustomData\\": \\"MyCustomData\\", +\\"Mechanisms\\": \\"SCRAM-SHA-256\\" +\\"DatabaseName\\": \\"MyDb\\", +\\"Roles\\": [ {\\"Role\\": \\"myReadRole\\",\\"Db\\": \\"MyDb\\"}] +}" +""" def load_arguments(self, _): - from azure.cli.core.commands.parameters import tags_type + from knack.arguments import CLIArgumentType + account_name_type = CLIArgumentType(options_list=['--account-name', '-a'], help="Cosmosdb account name.") # Managed Cassandra Cluster for scope in [ @@ -21,7 +65,8 @@ def load_arguments(self, _): 'managed-cassandra cluster update', 'managed-cassandra cluster show', 'managed-cassandra cluster delete', - 'managed-cassandra cluster node-status']: + 'managed-cassandra cluster backup list', + 'managed-cassandra cluster backup show']: with self.argument_context(scope) as c: c.argument('cluster_name', options_list=['--cluster-name', '-c'], help="Cluster Name", required=True) @@ -33,13 +78,13 @@ def load_arguments(self, _): c.argument('tags', arg_type=tags_type) c.argument('external_gossip_certificates', nargs='+', validator=validate_gossip_certificates, options_list=['--external-gossip-certificates', '-e'], help="A list of certificates that the managed cassandra data center's should accept.") c.argument('cassandra_version', help="The version of Cassandra chosen.") - c.argument('authentication_method', help="Authentication mode can be None or Cassandra. If None, no authentication will be required to connect to the Cassandra API. If Cassandra, then passwords will be used.") + c.argument('authentication_method', arg_type=get_enum_type(['None', 'Cassandra', 'Ldap']), help="Authentication mode can be None, Cassandra or Ldap. If None, no authentication will be required to connect to the Cassandra API. If Cassandra, then passwords will be used. Ldap is in preview") c.argument('hours_between_backups', help="The number of hours between backup attempts.") c.argument('repair_enabled', help="Enables automatic repair.") c.argument('client_certificates', nargs='+', validator=validate_client_certificates, help="If specified, enables client certificate authentication to the Cassandra API.") c.argument('gossip_certificates', help="A list of certificates that should be accepted by on-premise data centers.") c.argument('external_seed_nodes', nargs='+', validator=validate_seednodes, help="A list of ip addresses of the seed nodes of on-premise data centers.") - c.argument('identity', help="Identity used to authenticate.") + c.argument('identity_type', options_list=['--identity-type'], arg_type=get_enum_type(['None', 'SystemAssigned']), help="Type of identity used for Customer Managed Disk Key.") # Managed Cassandra Cluster with self.argument_context('managed-cassandra cluster create') as c: @@ -49,6 +94,11 @@ def load_arguments(self, _): c.argument('restore_from_backup_id', help="The resource id of a backup. If provided on create, the backup will be used to prepopulate the cluster. The cluster data center count and node counts must match the backup.") c.argument('cluster_name_override', help="If a cluster must have a name that is not a valid azure resource name, this field can be specified to choose the Cassandra cluster name. Otherwise, the resource name will be used as the cluster name.") + # Managed Cassandra Cluster + for scope in ['managed-cassandra cluster backup show']: + with self.argument_context(scope) as c: + c.argument('backup_id', options_list=['--backup-id'], help="The resource id of the backup", required=True) + # Managed Cassandra Datacenter for scope in [ 'managed-cassandra datacenter create', @@ -68,28 +118,169 @@ def load_arguments(self, _): c.argument('base64_encoded_cassandra_yaml_fragment', options_list=['--base64-encoded-cassandra-yaml-fragment', '-b'], help="This is a Base64 encoded yaml file that is a subset of cassandra.yaml. Supported fields will be honored and others will be ignored.") c.argument('data_center_location', options_list=['--data-center-location', '-l'], help="The region where the virtual machine for this data center will be located.") c.argument('delegated_subnet_id', options_list=['--delegated-subnet-id', '-s'], help="The resource id of a subnet where ip addresses of the Cassandra virtual machines will be allocated. This must be in the same region as data_center_location.") + c.argument('managed_disk_customer_key_uri', options_list=['--managed-disk-customer-key-uri', '-k'], help="Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key.") + c.argument('backup_storage_customer_key_uri', options_list=['--backup-storage-customer-key-uri', '-p'], help="Indicates the Key Uri of the customer key to use for encryption of the backup storage account.") + c.argument('server_hostname', options_list=['--ldap-server-hostname'], help="Hostname of the LDAP server.") + c.argument('server_port', options_list=['--ldap-server-port'], help="Port of the LDAP server. Defaults to 636") + c.argument('service_user_distinguished_name', options_list=['--ldap-service-user-dn'], help="Distinguished name of the look up user account, who can look up user details on authentication.") + c.argument('service_user_password', options_list=['--ldap-svc-user-pwd'], help="Password of the look up user.") + c.argument('search_base_distinguished_name', options_list=['--ldap-search-base-dn'], help="Distinguished name of the object to start the recursive search of users from.") + c.argument('search_filter_template', options_list=['--ldap-search-filter'], help="Template to use for searching. Defaults to (cn=%s) where %s will be replaced by the username used to login. While using this parameter from Windows Powershell (not Windows CommandPrompt or Linux) there is a known issue with escaping special characters, so pass as \"\"\"(cn=%s)\"\"\" instead.") + c.argument('server_certificates', nargs='+', validator=validate_server_certificates, options_list=['--ldap-server-certs'], help="LDAP server certificate. It should have subject alternative name(SAN) DNS Name entry matching the hostname of the LDAP server.") # Managed Cassandra Datacenter with self.argument_context('managed-cassandra datacenter create') as c: c.argument('data_center_location', options_list=['--data-center-location', '-l'], help="Azure Location of the Datacenter", required=True) c.argument('delegated_subnet_id', options_list=['--delegated-subnet-id', '-s'], help="The resource id of a subnet where ip addresses of the Cassandra virtual machines will be allocated. This must be in the same region as data_center_location.", required=True) c.argument('node_count', options_list=['--node-count', '-n'], validator=validate_node_count, help="The number of Cassandra virtual machines in this data center. The minimum value is 3.", required=True) + c.argument('sku', options_list=['--sku'], help="Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2") + c.argument('disk_sku', options_list=['--disk-sku'], help="Disk SKU used for data centers. Default value is P30.") + c.argument('disk_capacity', options_list=['--disk-capacity'], help="Number of disk used for data centers. Default value is 4.") + c.argument('availability_zone', options_list=['--availability-zone', '-z'], arg_type=get_three_state_flag(), help="If the data center haves Availability Zone feature, apply it to the Virtual Machine ScaleSet that host the data center virtual machines.") # Managed Cassandra Datacenter with self.argument_context('managed-cassandra datacenter list') as c: c.argument('cluster_name', options_list=['--cluster-name', '-c'], help="Cluster Name", required=True) - # Graph - with self.argument_context('cosmosdb graph') as c: + # Services + with self.argument_context('cosmosdb service') as c: c.argument('account_name', completer=None, options_list=['--account-name', '-a'], help='Name of the Cosmos DB database account.', id_part=None) c.argument('resource_group_name', completer=None, options_list=['--resource-group-name', '-g'], help='Name of the resource group of the database account.', id_part=None) - c.argument('graph_name', options_list=['--name', '-n'], help="Graph name") + c.argument('service_kind', options_list=['--kind', '-k'], help="Service kind") + c.argument('service_name', options_list=['--name', '-n'], help="Service Name.") + c.argument('instance_count', options_list=['--count', '-c'], help="Instance Count.") + c.argument('instance_size', options_list=['--size'], help="Instance Size. Possible values are: Cosmos.D4s, Cosmos.D8s, Cosmos.D16s etc") - # Services - with self.argument_context('cosmosdb service') as c: - c.argument('account_name', completer=None, options_list=['--account-name', '-a'], help='Name of the Cosmos DB database account.', id_part=None) - c.argument('resource_group_name', completer=None, options_list=['--resource-group-name', '-g'], help='Name of the resource group of the database account.', id_part=None) - c.argument('service_kind', options_list=['--kind', '-k'], help="Service kind") - c.argument('service_name', options_list=['--name', '-n'], help="Service Name.") - c.argument('instance_count', options_list=['--count', '-c'], help="Instance Count.") - c.argument('instance_size', options_list=['--size'], help="Instance Size. Possible values are: Cosmos.D4s, Cosmos.D8s, Cosmos.D16s etc") + with self.argument_context('cosmosdb service create') as c: + c.argument('instance_size', options_list=['--size'], help="Instance Size. Possible values are: Cosmos.D4s, Cosmos.D8s, Cosmos.D16s etc") + + # Mongo role definition + with self.argument_context('cosmosdb mongodb role definition') as c: + c.argument('account_name', account_name_type, id_part=None) + c.argument('mongo_role_definition_id', options_list=['--id', '-i'], validator=validate_mongo_role_definition_id, help="Unique ID for the Mongo Role Definition.") + c.argument('mongo_role_definition_body', options_list=['--body', '-b'], validator=validate_mongo_role_definition_body, completer=FilesCompleter(), help="Role Definition body with Id (Optional for create), Type (Default is CustomRole), DatabaseName, Privileges, Roles. You can enter it as a string or as a file, e.g., --body @mongo-role_definition-body-file.json or " + MONGO_ROLE_DEFINITION_EXAMPLE) + + # Mongo user definition + with self.argument_context('cosmosdb mongodb user definition') as c: + c.argument('account_name', account_name_type, id_part=None) + c.argument('mongo_user_definition_id', options_list=['--id', '-i'], validator=validate_mongo_user_definition_id, help="Unique ID for the Mongo User Definition.") + c.argument('mongo_user_definition_body', options_list=['--body', '-b'], validator=validate_mongo_user_definition_body, completer=FilesCompleter(), help="User Definition body with Id (Optional for create), UserName, Password, DatabaseName, CustomData, Mechanisms, Roles. You can enter it as a string or as a file, e.g., --body @mongo-user_definition-body-file.json or " + MONGO_USER_DEFINITION_EXAMPLE) + + with self.argument_context('cosmosdb') as c: + c.argument('account_name', arg_type=name_type, help='Name of the Cosmos DB database account', completer=get_resource_name_completion_list('Microsoft.DocumentDb/databaseAccounts'), id_part='name') + c.argument('database_id', options_list=['--db-name', '-d'], help='Database Name') + + # CosmosDB account create with gremlin and tables to restore + with self.argument_context('cosmosdb create') as c: + c.argument('account_name', completer=None) + c.argument('key_uri', help="The URI of the key vault", is_preview=True) + c.argument('enable_free_tier', arg_type=get_three_state_flag(), help="If enabled the account is free-tier.", is_preview=True) + c.argument('assign_identity', nargs='*', help="Assign system or user assigned identities separated by spaces. Use '[system]' to refer system assigned identity.", is_preview=True) + c.argument('is_restore_request', options_list=['--is-restore-request', '-r'], arg_type=get_three_state_flag(), help="Restore from an existing/deleted account.", is_preview=True, arg_group='Restore') + c.argument('restore_source', help="The restorable-database-account Id of the source account from which the account has to be restored. Required if --is-restore-request is set to true.", is_preview=True, arg_group='Restore') + c.argument('restore_timestamp', action=UtcDatetimeAction, help="The timestamp to which the account has to be restored to. Required if --is-restore-request is set to true.", is_preview=True, arg_group='Restore') + c.argument('databases_to_restore', nargs='+', action=CreateDatabaseRestoreResource, is_preview=True, arg_group='Restore') + c.argument('gremlin_databases_to_restore', nargs='+', action=CreateGremlinDatabaseRestoreResource, is_preview=True, arg_group='Restore') + c.argument('tables_to_restore', nargs='+', action=CreateTableRestoreResource, is_preview=True, arg_group='Restore') + + for scope in ['cosmosdb create', 'cosmosdb update']: + with self.argument_context(scope) as c: + c.ignore('resource_group_location') + c.argument('locations', nargs='+', action=CreateLocation) + c.argument('tags', arg_type=tags_type) + c.argument('default_consistency_level', arg_type=get_enum_type(DefaultConsistencyLevel), help="default consistency level of the Cosmos DB database account") + c.argument('max_staleness_prefix', type=int, help="when used with Bounded Staleness consistency, this value represents the number of stale requests tolerated. Accepted range for this value is 1 - 2,147,483,647") + c.argument('max_interval', type=int, help="when used with Bounded Staleness consistency, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 1 - 100") + c.argument('ip_range_filter', nargs='+', options_list=['--ip-range-filter'], validator=validate_ip_range_filter, help="firewall support. Specifies the set of IP addresses or IP address ranges in CIDR form to be included as the allowed list of client IPs for a given database account. IP addresses/ranges must be comma-separated and must not contain any spaces") + c.argument('kind', arg_type=get_enum_type(DatabaseAccountKind), help='The type of Cosmos DB database account to create') + c.argument('enable_automatic_failover', arg_type=get_three_state_flag(), help='Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.') + c.argument('capabilities', nargs='+', validator=validate_capabilities, help='set custom capabilities on the Cosmos DB database account.') + c.argument('enable_virtual_network', arg_type=get_three_state_flag(), help='Enables virtual network on the Cosmos DB database account') + c.argument('virtual_network_rules', nargs='+', validator=validate_virtual_network_rules, help='ACL\'s for virtual network') + c.argument('enable_multiple_write_locations', arg_type=get_three_state_flag(), help="Enable Multiple Write Locations") + c.argument('disable_key_based_metadata_write_access', arg_type=get_three_state_flag(), help="Disable write operations on metadata resources (databases, containers, throughput) via account keys") + c.argument('enable_public_network', options_list=['--enable-public-network', '-e'], arg_type=get_three_state_flag(), help="Enable or disable public network access to server.") + c.argument('enable_analytical_storage', arg_type=get_three_state_flag(), help="Flag to enable log storage on the account.") + c.argument('network_acl_bypass', arg_type=get_enum_type(NetworkAclBypass), options_list=['--network-acl-bypass'], help="Flag to enable or disable Network Acl Bypass.") + c.argument('network_acl_bypass_resource_ids', nargs='+', options_list=['--network-acl-bypass-resource-ids', '-i'], help="List of Resource Ids to allow Network Acl Bypass.") + c.argument('backup_interval', type=int, help="the frequency(in minutes) with which backups are taken (only for accounts with periodic mode backups)", arg_group='Backup Policy') + c.argument('backup_retention', type=int, help="the time(in hours) for which each backup is retained (only for accounts with periodic mode backups)", arg_group='Backup Policy') + c.argument('backup_redundancy', arg_type=get_enum_type(BackupStorageRedundancy), help="The redundancy type of the backup Storage account", arg_group='Backup Policy') + c.argument('server_version', arg_type=get_enum_type(ServerVersion), help="Valid only for MongoDB accounts.", is_preview=True) + c.argument('default_identity', help="The primary identity to access key vault in CMK related features. e.g. 'FirstPartyIdentity', 'SystemAssignedIdentity' and more.", is_preview=True) + c.argument('analytical_storage_schema_type', options_list=['--analytical-storage-schema-type', '--as-schema'], arg_type=get_enum_type(AnalyticalStorageSchemaType), help="Schema type for analytical storage.", arg_group='Analytical Storage Configuration') + c.argument('backup_policy_type', arg_type=get_enum_type(BackupPolicyType), help="The type of backup policy of the account to create", arg_group='Backup Policy') + c.argument('enable_materialized_views', options_list=['--enable-materialized-views', '--enable-mv'], arg_type=get_three_state_flag(), help="Flag to enable MaterializedViews on the account.", is_preview=True) + + with self.argument_context('cosmosdb restore') as c: + c.argument('target_database_account_name', options_list=['--target-database-account-name', '-n'], help='Name of the new target Cosmos DB database account after the restore') + c.argument('account_name', completer=None, options_list=['--account-name', '-a'], help='Name of the source Cosmos DB database account for the restore', id_part=None) + c.argument('restore_timestamp', options_list=['--restore-timestamp', '-t'], action=UtcDatetimeAction, help="The timestamp to which the account has to be restored to.") + c.argument('location', arg_type=get_location_type(self.cli_ctx), help="The location of the source account from which restore is triggered. This will also be the write region of the restored account") + c.argument('databases_to_restore', nargs='+', action=CreateDatabaseRestoreResource) + c.argument('gremlin_databases_to_restore', nargs='+', action=CreateGremlinDatabaseRestoreResource, is_preview=True) + c.argument('tables_to_restore', nargs='+', action=CreateTableRestoreResource, is_preview=True) + + # Restorable Sql Containers + with self.argument_context('cosmosdb sql restorable-container') as c: + c.argument('location', options_list=['--location', '-l'], help="Location", required=True) + c.argument('instance_id', options_list=['--instance-id', '-i'], help="InstanceId of the Account", required=True) + c.argument('restorable_sql_database_rid', options_list=['--database-rid', '-d'], help="Rid of the database", required=True) + c.argument('start_time', options_list=['--start-time', '-s'], help="Start time of restorable Sql container event feed", required=False) + c.argument('end_time', options_list=['--end-time', '-e'], help="End time of restorable Sql container event feed", required=False) + + # Restorable Mongodb Collections + with self.argument_context('cosmosdb mongodb restorable-collection') as c: + c.argument('location', options_list=['--location', '-l'], help="Location", required=True) + c.argument('instance_id', options_list=['--instance-id', '-i'], help="InstanceId of the Account", required=True) + c.argument('restorable_mongodb_database_rid', options_list=['--database-rid', '-d'], help="Rid of the database", required=True) + c.argument('start_time', options_list=['--start-time', '-s'], help="Start time of restorable MongoDB collections event feed", required=False) + c.argument('end_time', options_list=['--end-time', '-e'], help="End time of restorable MongoDB collections event feed", required=False) + + # Restorable Gremlin Databases + with self.argument_context('cosmosdb gremlin restorable-database') as c: + c.argument('location', options_list=['--location', '-l'], help="Location", required=True) + c.argument('instance_id', options_list=['--instance-id', '-i'], help="InstanceId of the Account", required=True) + + # Restorable Gremlin Graphs + with self.argument_context('cosmosdb gremlin restorable-graph') as c: + c.argument('location', options_list=['--location', '-l'], help="Location", required=True) + c.argument('instance_id', options_list=['--instance-id', '-i'], help="InstanceId of the Account", required=True) + c.argument('restorable_gremlin_database_rid', options_list=['--database-rid', '-d'], help="Rid of the gremlin database", required=True) + c.argument('start_time', options_list=['--start-time', '-s'], help="Start time of restorable Gremlin graph event feed", required=False) + c.argument('end_time', options_list=['--end-time', '-e'], help="End time of restorable Gremlin graph event feed", required=False) + + # Restorable Gremlin Resources + with self.argument_context('cosmosdb gremlin restorable-resource') as c: + c.argument('location', options_list=['--location', '-l'], help="Azure Location of the account", required=True) + c.argument('instance_id', options_list=['--instance-id', '-i'], help="InstanceId of the Account", required=True) + 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) + + # Restorable Tables + with self.argument_context('cosmosdb table restorable-table') as c: + c.argument('location', options_list=['--location', '-l'], help="Location", required=True) + c.argument('instance_id', options_list=['--instance-id', '-i'], help="InstanceId of the Account", required=True) + c.argument('start_time', options_list=['--start-time', '-s'], help="Start time of restorable tables event feed", required=False) + c.argument('end_time', options_list=['--end-time', '-e'], help="End time of restorable tables event feed", required=False) + + # Restorable table Resources + with self.argument_context('cosmosdb table restorable-resource') as c: + c.argument('location', options_list=['--location', '-l'], help="Azure Location of the account", required=True) + c.argument('instance_id', options_list=['--instance-id', '-i'], help="InstanceId of the Account", required=True) + 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) + + # Retrive Gremlin Graph Backup Info + database_name_type = CLIArgumentType(options_list=['--database-name', '-d'], help='Database name.') + with self.argument_context('cosmosdb gremlin retrieve-latest-backup-time') as c: + c.argument('account_name', account_name_type, id_part=None, required=True, help='Name of the CosmosDB database account') + c.argument('database_name', database_name_type, required=True, help='Name of the CosmosDB Gremlin database name') + c.argument('graph_name', options_list=['--graph-name', '-n'], required=True, help='Name of the CosmosDB Gremlin graph name') + c.argument('location', options_list=['--location', '-l'], help="Location of the account", required=True) + + # Retrive Table Backup Info + with self.argument_context('cosmosdb table retrieve-latest-backup-time') as c: + c.argument('account_name', account_name_type, id_part=None, required=True, help='Name of the CosmosDB database account') + c.argument('table_name', options_list=['--table-name', '-n'], required=True, help='Name of the CosmosDB Table name') + c.argument('location', options_list=['--location', '-l'], help="Location of the account", required=True) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_validators.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_validators.py index 3c87e9c19fc..ad5599e2b3d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_validators.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_validators.py @@ -2,6 +2,7 @@ # 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, too-many-statements, no-else-raise, unused-argument, too-many-branches import ipaddress from azure.cli.core.azclierror import InvalidArgumentValueError @@ -19,6 +20,12 @@ def validate_client_certificates(ns): ns.client_certificates = get_certificates(ns.client_certificates) +def validate_server_certificates(ns): + """ Extracts multiple comma-separated certificates """ + if ns.server_certificates is not None: + ns.server_certificates = get_certificates(ns.server_certificates) + + def get_certificates(input_certificates): from azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.models import Certificate certificates = [] @@ -69,3 +76,172 @@ def validate_node_count(ns): def _gen_guid(): import uuid return uuid.uuid4() + + +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 mongo role definition or user definition id.""" + 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_mongo_role_definition_body(cmd, ns): + """ Extracts role definition body """ + from azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.models import RoleDefinitionType + from azure.cli.core.util import get_file_json, shell_safe_json_parse + import os + + if ns.mongo_role_definition_body is not None: + if os.path.exists(ns.mongo_role_definition_body): + mongo_role_definition = get_file_json(ns.mongo_role_definition_body) + else: + mongo_role_definition = shell_safe_json_parse(ns.mongo_role_definition_body) + + if not isinstance(mongo_role_definition, dict): + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo role definition. A valid dictionary JSON representation is expected.') + + if 'Id' not in mongo_role_definition or not isinstance(mongo_role_definition['Id'], str) or len(mongo_role_definition['Id']) == 0: + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo role id. A valid string . is expected.') + + mongo_role_definition['Id'] = _parse_resource_path(mongo_role_definition['Id'], False, "mongodbRoleDefinitions") + + if 'RoleName' not in mongo_role_definition or not isinstance(mongo_role_definition['RoleName'], str) or len(mongo_role_definition['RoleName']) == 0: + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo role name. A valid string role name is expected.') + + if 'DatabaseName' not in mongo_role_definition or not isinstance(mongo_role_definition['DatabaseName'], str) or len(mongo_role_definition['DatabaseName']) == 0: + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo database name. A valid string database name is expected.') + + if 'Privileges' not in mongo_role_definition or not isinstance(mongo_role_definition['Privileges'], list) or len(mongo_role_definition['Privileges']) == 0: + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo role Privileges. A valid List JSON representation is expected.') + else: + + for privilege in mongo_role_definition['Privileges']: + if 'Resource' not in privilege or not isinstance(privilege['Resource'], dict): + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo role Resources for Privileges. A valid dictionary JSON representation is expected.') + else: + if 'Db' not in privilege['Resource'] or not isinstance(privilege['Resource']['Db'], str): + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo database name under Privileges->Resoures. A valid string database name is expected.') + + if 'Collection' in privilege['Resource'] and not isinstance(privilege['Resource']['Collection'], str): + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo database Collection name under Privileges->Resoures. A valid string database name is expected.') + + if 'Actions' not in privilege or not isinstance(privilege['Actions'], list) or len(privilege['Actions']) == 0: + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo role Actions for Privileges. A valid list of strings is expected.') + + if 'Roles' in mongo_role_definition: + if not isinstance(mongo_role_definition['Roles'], list): + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo Roles. A valid dictionary JSON representation is expected') + else: + for Role in mongo_role_definition['Roles']: + if 'Role' not in Role or not isinstance(Role['Role'], str) or len(Role['Role']) == 0: + raise InvalidArgumentValueError( + 'Role creation failed. Invalid Mongo Role. A valid string Role is expected.') + + if 'Type' not in mongo_role_definition: + mongo_role_definition['Type'] = RoleDefinitionType.custom_role + + ns.mongo_role_definition_body = mongo_role_definition + + +def validate_mongo_role_definition_id(ns): + """ Extracts Guid role definition Id """ + if ns.mongo_role_definition_id is not None: + ns.mongo_role_definition_id = _parse_resource_path(ns.mongo_role_definition_id, False, "mongodbRoleDefinitions") + + +def validate_mongo_user_definition_body(cmd, ns): + """ Extracts user definition body """ + from azure.cli.core.util import get_file_json, shell_safe_json_parse + import os + + if ns.mongo_user_definition_body is not None: + if os.path.exists(ns.mongo_user_definition_body): + mongo_user_definition = get_file_json(ns.mongo_user_definition_body) + else: + mongo_user_definition = shell_safe_json_parse(ns.mongo_user_definition_body) + + if not isinstance(mongo_user_definition, dict): + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo user definition. A valid dictionary JSON representation is expected.') + + if 'Id' not in mongo_user_definition or not isinstance(mongo_user_definition['Id'], str) or len(mongo_user_definition['Id']) == 0: + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo User ID. A valid string of . is expected.') + + mongo_user_definition['Id'] = _parse_resource_path(mongo_user_definition['Id'], False, "mongodbUserDefinitions") + + if 'UserName' not in mongo_user_definition or not isinstance(mongo_user_definition['UserName'], str) or len(mongo_user_definition['UserName']) == 0: + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo User definition user name. A valid string user name is expected.') + + if 'Password' not in mongo_user_definition or not isinstance(mongo_user_definition['Password'], str) or len(mongo_user_definition['Password']) == 0: + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo User definition password. A valid string password is expected.') + + if 'DatabaseName' not in mongo_user_definition or not isinstance(mongo_user_definition['DatabaseName'], str) or len(mongo_user_definition['DatabaseName']) == 0: + raise InvalidArgumentValueError( + 'User creation failed. User creation failed. Invalid Mongo database name. A valid string database name is expected.') + + if 'CustomData' in mongo_user_definition and not isinstance(mongo_user_definition['CustomData'], str): + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo Custom Data parameter. A valid string custom data is expected.') + + if 'Mechanisms' in mongo_user_definition and not isinstance(mongo_user_definition['Mechanisms'], str) or len(mongo_user_definition['Mechanisms']) == 0: + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo Mechanisms parameter. A valid string Mechanisms is expected.') + + if 'Roles' in mongo_user_definition: + if not isinstance(mongo_user_definition['Roles'], list) or len(mongo_user_definition['Roles']) == 0: + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo Roles. A valid dictionary JSON representation is expected') + else: + for Role in mongo_user_definition['Roles']: + if 'Role' not in Role or not isinstance(Role['Role'], str) or len(Role['Role']) == 0: + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo Role. A valid string Role is expected.') + if 'Db' in Role and not isinstance(Role['Db'], str): + raise InvalidArgumentValueError( + 'User creation failed. Invalid Mongo Db. A valid string database name is expected.') + + ns.mongo_user_definition_body = mongo_user_definition + + +def validate_mongo_user_definition_id(ns): + """ Extracts Guid user definition Id """ + if ns.mongo_user_definition_id is not None: + ns.mongo_user_definition_id = _parse_resource_path(ns.mongo_user_definition_id, False, "mongodbUserDefinitions") diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/actions.py b/src/cosmosdb-preview/azext_cosmosdb_preview/actions.py index 27a92aec927..84d5bd63b4c 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/actions.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/actions.py @@ -2,6 +2,7 @@ # 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, too-many-statements import argparse @@ -9,57 +10,14 @@ from knack.util import CLIError from azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.models import ( - Location, - DatabaseRestoreResource + DatabaseRestoreResource, + GremlinDatabaseRestoreResource ) logger = get_logger(__name__) # pylint: disable=protected-access, too-few-public-methods -class CreateLocation(argparse._AppendAction): - def __call__(self, parser, namespace, values, option_string=None): - if namespace.locations is None: - namespace._deprecated_location_format = False - namespace.locations = [] - - if any("regionname" in s.lower() for s in values): - keys_found = set() - _name = "" - _failover = 0 - _is_zr = False - for item in values: - kvp = item.split('=', 1) - _key = kvp[0].lower() - if _key in keys_found: - raise CLIError('usage error: --locations [KEY=VALUE ...]') - keys_found.add(_key) - if _key == "regionname": - _name = kvp[1] - elif _key == "failoverpriority": - _failover = int(kvp[1]) - elif _key == "iszoneredundant": - _is_zr = kvp[1].lower() == "true" - else: - raise CLIError('usage error: --locations [KEY=VALUE ...]') - namespace.locations.append( - Location(location_name=_name, - failover_priority=_failover, - is_zone_redundant=_is_zr)) - else: - # pylint: disable=line-too-long - if not namespace._deprecated_location_format: - logger.warning('The regionName=failoverPriority method of specifying locations is deprecated. Use --locations KEY=VALUE [KEY=VALUE ...] to specify the regionName, failoverPriority, and isZoneRedundant properties of the location. Multiple locations can be specified by including more than one --locations argument.') - namespace._deprecated_location_format = True - - for item in values: - comps = item.split('=', 1) - namespace.locations.append( - Location(location_name=comps[0], - failover_priority=int(comps[1]), - is_zone_redundant=False)) - - class CreateDatabaseRestoreResource(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): if namespace.databases_to_restore is None: @@ -93,30 +51,45 @@ def __call__(self, parser, namespace, values, option_string=None): namespace.databases_to_restore.append(database_restore_resource) -class UtcDatetimeAction(argparse.Action): +# pylint: disable=protected-access, too-few-public-methods +class CreateGremlinDatabaseRestoreResource(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): - """ Parse a date value and return the ISO8601 string. """ - import dateutil.parser - import dateutil.tz - - accepted_formats = [] - accepted_formats.append('date (yyyy-mm-dd)') - accepted_formats.append('time (hh:mm:ss.xxxxx)') - accepted_formats.append('timezone (+/-hh:mm)') - help_string = 'Format: ' + ' '.join(accepted_formats) - value_string = ''.join(values) - dt_val = None - try: - # attempt to parse ISO 8601 - dt_val = dateutil.parser.parse(value_string) - except ValueError: - pass + if namespace.gremlin_databases_to_restore is None: + namespace.gremlin_databases_to_restore = [] + if not values: + # pylint: disable=line-too-long + raise CLIError('usage error: --gremlin-databases-to-restore [name=DatabaseName graphs=Graph1 Graph2 ...]') + gremlin_database_restore_resource = GremlinDatabaseRestoreResource() + i = 0 + for item in values: + if i == 0: + kvp = item.split('=', 1) + if len(kvp) != 2 or kvp[0].lower() != 'name': + # pylint: disable=line-too-long + raise CLIError('usage error: --gremlin-databases-to-restore [name=DatabaseName graphs=Graph1 Graph2 ...]') + database_name = kvp[1] + gremlin_database_restore_resource.database_name = database_name + elif i == 1: + kvp = item.split('=', 1) + if len(kvp) != 2 or kvp[0].lower() != 'graphs': + # pylint: disable=line-too-long + raise CLIError('usage error: --databases-to-restore [name=DatabaseName graphs=Graph1 Graph2 ...]') + gremlin_database_restore_resource.graph_names = [] + graph_name = kvp[1] + gremlin_database_restore_resource.graph_names.append(graph_name) + else: + if gremlin_database_restore_resource.graph_names is None: + gremlin_database_restore_resource.graph_names = [] + gremlin_database_restore_resource.graph_names.append(item) + i += 1 + namespace.gremlin_databases_to_restore.append(gremlin_database_restore_resource) - if not dt_val: - raise CLIError("Unable to parse: '{}'. Expected format: {}".format(value_string, help_string)) - if not dt_val.tzinfo: - dt_val = dt_val.replace(tzinfo=dateutil.tz.tzutc()) +# pylint: disable=protected-access, too-few-public-methods +class CreateTableRestoreResource(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + if namespace.tables_to_restore is None: + namespace.tables_to_restore = [] - iso_string = dt_val.isoformat() - setattr(namespace, self.dest, iso_string) + for item in values: + namespace.tables_to_restore.append(item) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py b/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py index 5aef8206d16..4bacabd88ab 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py @@ -9,19 +9,22 @@ from azext_cosmosdb_preview._client_factory import ( cf_cassandra_cluster, cf_cassandra_data_center, - cf_graph_resources, - cf_service -) -from azext_cosmosdb_preview._format import ( - amc_node_status_table_format + cf_service, + cf_mongo_db_resources, + cf_db_accounts, + cf_gremlin_resources, + cf_table_resources, + cf_restorable_sql_containers, + cf_restorable_mongodb_collections, + cf_restorable_gremlin_databases, + cf_restorable_gremlin_graphs, + cf_restorable_gremlin_resources, + cf_restorable_tables, + cf_restorable_table_resources ) def load_command_table(self, _): - cosmosdb_graph_resources_sdk = CliCommandType( - operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#GraphResourcesOperations.{}', - client_factory=cf_graph_resources) - cosmosdb_service_sdk = CliCommandType( operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#ServiceOperations.{}', client_factory=cf_service) @@ -34,31 +37,127 @@ def load_command_table(self, _): operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#CassandraDataCentersOperations.{}', client_factory=cf_cassandra_data_center) - with self.command_group('managed-cassandra cluster', cosmosdb_managed_cassandra_cluster_sdk, client_factory=cf_cassandra_cluster, is_preview=True) as g: + cosmosdb_rbac_mongo_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#MongoDBResourcesOperations.{}', + client_factory=cf_mongo_db_resources) + + with self.command_group('managed-cassandra cluster', cosmosdb_managed_cassandra_cluster_sdk, client_factory=cf_cassandra_cluster) 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) - g.custom_command('node-status', 'cli_cosmosdb_managed_cassandra_fetch_node_status', table_transformer=amc_node_status_table_format, supports_no_wait=True) + g.custom_command('backup list', 'cli_cosmosdb_managed_cassandra_cluster_list_backup', is_preview=True) + g.custom_command('backup show', 'cli_cosmosdb_managed_cassandra_cluster_show_backup', is_preview=True) g.custom_command('list', 'cli_cosmosdb_managed_cassandra_cluster_list') g.show_command('show', 'get') g.command('delete', 'begin_delete', confirmation=True, supports_no_wait=True) - with self.command_group('managed-cassandra datacenter', cosmosdb_managed_cassandra_datacenter_sdk, client_factory=cf_cassandra_data_center, is_preview=True) as g: + with self.command_group('managed-cassandra datacenter', cosmosdb_managed_cassandra_datacenter_sdk, client_factory=cf_cassandra_data_center) as g: g.custom_command('create', 'cli_cosmosdb_managed_cassandra_datacenter_create', supports_no_wait=True) g.custom_command('update', 'cli_cosmosdb_managed_cassandra_datacenter_update', supports_no_wait=True) g.command('list', 'list') g.show_command('show', 'get') g.command('delete', 'begin_delete', confirmation=True, supports_no_wait=True) - with self.command_group('cosmosdb graph', cosmosdb_graph_resources_sdk, client_factory=cf_graph_resources, is_preview=True) as g: - g.custom_command('create', 'cli_cosmosdb_graph_create', supports_no_wait=True) - g.custom_command('exists', 'cli_cosmosdb_graph_exists') - g.command('list', 'list_graphs') - g.show_command('show', 'get_graph') - g.command('delete', 'begin_delete_graph_resource', confirmation=True, supports_no_wait=True) - with self.command_group('cosmosdb service', cosmosdb_service_sdk, client_factory=cf_service, is_preview=True) as g: g.custom_command('create', 'cli_cosmosdb_service_create', supports_no_wait=True) g.custom_command('update', 'cli_cosmosdb_service_update', supports_no_wait=True) g.command('list', 'list') g.show_command('show', 'get') g.command('delete', 'begin_delete', confirmation=True, supports_no_wait=True) + + with self.command_group('cosmosdb mongodb role definition', cosmosdb_rbac_mongo_sdk, client_factory=cf_mongo_db_resources) as g: + g.custom_command('create', 'cli_cosmosdb_mongo_role_definition_create') + g.custom_command('update', 'cli_cosmosdb_mongo_role_definition_update') + g.custom_command('exists', 'cli_cosmosdb_mongo_role_definition_exists') + g.command('list', 'list_mongo_role_definitions') + g.show_command('show', 'get_mongo_role_definition') + g.command('delete', 'begin_delete_mongo_role_definition', confirmation=True) + + with self.command_group('cosmosdb mongodb user definition', cosmosdb_rbac_mongo_sdk, client_factory=cf_mongo_db_resources) as g: + g.custom_command('create', 'cli_cosmosdb_mongo_user_definition_create') + g.custom_command('update', 'cli_cosmosdb_mongo_user_definition_update') + g.custom_command('exists', 'cli_cosmosdb_mongo_user_definition_exists') + g.command('list', 'list_mongo_user_definitions') + g.show_command('show', 'get_mongo_user_definition') + g.command('delete', 'begin_delete_mongo_user_definition', confirmation=True) + + # restorable accounts api sdk + cosmosdb_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#DatabaseAccountsOperations.{}', + client_factory=cf_db_accounts) + + # restorable sql/mongodb apis sdk + cosmosdb_restorable_sql_containers_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#RestorableSqlContainersOperations.{}', + client_factory=cf_restorable_sql_containers) + + cosmosdb_restorable_mongodb_collections_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#RestorableMongodbCollectionsOperations.{}', + client_factory=cf_restorable_mongodb_collections) + + # restorable gremlin apis sdk + cosmosdb_restorable_gremlin_databases_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#RestorableGremlinDatabasesOperations.{}', + client_factory=cf_restorable_gremlin_databases) + + cosmosdb_restorable_gremlin_graphs_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#RestorableGremlinGraphsOperations.{}', + client_factory=cf_restorable_gremlin_graphs) + + cosmosdb_restorable_gremlin_resources_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#RestorableGremlinResourcesOperations.{}', + client_factory=cf_restorable_gremlin_resources) + + # restorable table apis sdk + cosmosdb_restorable_tables_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#RestorableTablesOperations.{}', + client_factory=cf_restorable_tables) + + cosmosdb_restorable_table_resources_sdk = CliCommandType( + operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#RestorableTableResourcesOperations.{}', + client_factory=cf_restorable_table_resources) + + # define commands + # Restorable apis for sql,mongodb,gremlin and table + with self.command_group('cosmosdb', cosmosdb_sdk, client_factory=cf_db_accounts) as g: + g.custom_command('restore', 'cli_cosmosdb_restore', is_preview=True) + g.custom_command('create', 'cli_cosmosdb_create', is_preview=True) + g.custom_command('update', 'cli_cosmosdb_update') + g.custom_command('list', 'cli_cosmosdb_list') + g.show_command('show', 'get') + + with self.command_group('cosmosdb sql restorable-container', cosmosdb_restorable_sql_containers_sdk, client_factory=cf_restorable_sql_containers, is_preview=True) as g: + g.command('list', 'list') + + with self.command_group('cosmosdb mongodb restorable-collection', cosmosdb_restorable_mongodb_collections_sdk, client_factory=cf_restorable_mongodb_collections, is_preview=True) as g: + g.command('list', 'list') + + with self.command_group('cosmosdb gremlin restorable-database', cosmosdb_restorable_gremlin_databases_sdk, client_factory=cf_restorable_gremlin_databases, is_preview=True) as g: + g.command('list', 'list') + + with self.command_group('cosmosdb gremlin restorable-graph', cosmosdb_restorable_gremlin_graphs_sdk, client_factory=cf_restorable_gremlin_graphs, is_preview=True) as g: + g.command('list', 'list') + + with self.command_group('cosmosdb gremlin restorable-resource', cosmosdb_restorable_gremlin_resources_sdk, client_factory=cf_restorable_gremlin_resources, is_preview=True) as g: + g.command('list', 'list') + + with self.command_group('cosmosdb table restorable-table', cosmosdb_restorable_tables_sdk, client_factory=cf_restorable_tables, is_preview=True) as g: + g.command('list', 'list') + + with self.command_group('cosmosdb table restorable-resource', cosmosdb_restorable_table_resources_sdk, client_factory=cf_restorable_table_resources, is_preview=True) as g: + g.command('list', 'list') + + # Retrieve backup info for gremlin + cosmosdb_gremlin_sdk = CliCommandType( + operations_tmpl='azure.mgmt.cosmosdb.operations#GremlinResourcesOperations.{}', + client_factory=cf_gremlin_resources) + + with self.command_group('cosmosdb gremlin', cosmosdb_gremlin_sdk, client_factory=cf_gremlin_resources) as g: + g.custom_command('retrieve-latest-backup-time', 'cli_gremlin_retrieve_latest_backup_time', is_preview=True) + + # Retrieve backup info for table + cosmosdb_table_sdk = CliCommandType( + operations_tmpl='azure.mgmt.cosmosdb.operations#TableResourcesOperations.{}', + client_factory=cf_table_resources) + + with self.command_group('cosmosdb table', cosmosdb_table_sdk, client_factory=cf_table_resources) as g: + g.custom_command('retrieve-latest-backup-time', 'cli_table_retrieve_latest_backup_time', is_preview=True) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py b/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py index d5f673934f5..d581328e884 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py @@ -2,20 +2,56 @@ # 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, too-many-statements, consider-using-f-string, broad-except, no-member, raise-missing-from from knack.util import CLIError from knack.log import get_logger -from azure.core.exceptions import HttpResponseError from azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.models import ( ClusterResource, ClusterResourceProperties, DataCenterResource, DataCenterResourceProperties, - GraphResource, - GraphResourceCreateUpdateParameters, - ServiceResourceCreateUpdateParameters + ManagedCassandraManagedServiceIdentity, + AuthenticationMethodLdapProperties, + ServiceResourceCreateUpdateParameters, + MongoRoleDefinitionCreateUpdateParameters, + MongoUserDefinitionCreateUpdateParameters, + DatabaseAccountKind, + ContinuousBackupRestoreLocation, + DatabaseAccountCreateUpdateParameters, + DatabaseAccountUpdateParameters, + RestoreParameters ) +from azext_cosmosdb_preview._client_factory import ( + cf_restorable_gremlin_resources, + cf_restorable_table_resources +) + +from azure.cli.core.azclierror import InvalidArgumentValueError +from azure.core.exceptions import ResourceNotFoundError + +from azure.mgmt.cosmosdb.models import ( + Location, + CreateMode, + ConsistencyPolicy, + ResourceIdentityType, + ManagedServiceIdentity, + PeriodicModeBackupPolicy, + PeriodicModeProperties, + AnalyticalStorageConfiguration, + ContinuousModeBackupPolicy, + Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties +) + +from azure.cli.command_modules.cosmosdb.custom import _convert_to_utc_timestamp + +from azure.cli.command_modules.cosmosdb._client_factory import ( + cf_restorable_sql_resources, + cf_restorable_mongodb_resources +) + + logger = get_logger(__name__) @@ -31,7 +67,7 @@ def cli_cosmosdb_managed_cassandra_cluster_create(client, location, delegated_management_subnet_id, tags=None, - identity=None, + identity_type='None', cluster_name_override=None, initial_cassandra_admin_password=None, client_certificates=None, @@ -64,10 +100,14 @@ def cli_cosmosdb_managed_cassandra_cluster_create(client, hours_between_backups=hours_between_backups, repair_enabled=repair_enabled) + managed_service_identity_parameter = ManagedCassandraManagedServiceIdentity( + type=identity_type + ) + cluster_resource_create_update_parameters = ClusterResource( location=location, tags=tags, - identity=identity, + identity=managed_service_identity_parameter, properties=cluster_properties) return client.begin_create_update(resource_group_name, cluster_name, cluster_resource_create_update_parameters) @@ -77,7 +117,7 @@ def cli_cosmosdb_managed_cassandra_cluster_update(client, resource_group_name, cluster_name, tags=None, - identity=None, + identity_type=None, client_certificates=None, external_gossip_certificates=None, external_seed_nodes=None, @@ -114,8 +154,10 @@ def cli_cosmosdb_managed_cassandra_cluster_update(client, if tags is None: tags = cluster_resource.tags - if identity is None: - identity = cluster_resource.identity + identity = cluster_resource.identity + + if identity_type is not None: + identity = ManagedCassandraManagedServiceIdentity(type=identity_type) cluster_properties = ClusterResourceProperties( provisioning_state=cluster_resource.properties.provisioning_state, @@ -154,13 +196,19 @@ def cli_cosmosdb_managed_cassandra_cluster_list(client, return client.list_by_resource_group(resource_group_name) -def cli_cosmosdb_managed_cassandra_fetch_node_status(client, - resource_group_name, - cluster_name): +def cli_cosmosdb_managed_cassandra_cluster_list_backup(client, + resource_group_name, + cluster_name): + """List Azure Managed Cassandra Backup""" + return client.list_backups(resource_group_name, cluster_name) - """Get Azure Managed Cassandra Cluster Node Status""" - return client.begin_fetch_node_status(resource_group_name, cluster_name) +def cli_cosmosdb_managed_cassandra_cluster_show_backup(client, + resource_group_name, + cluster_name, + backup_id): + """Get Azure Managed Cassandra Backup""" + return client.get_backup(resource_group_name, cluster_name, backup_id) def cli_cosmosdb_managed_cassandra_datacenter_create(client, @@ -170,15 +218,45 @@ def cli_cosmosdb_managed_cassandra_datacenter_create(client, data_center_location, delegated_subnet_id, node_count, - base64_encoded_cassandra_yaml_fragment=None): + base64_encoded_cassandra_yaml_fragment=None, + managed_disk_customer_key_uri=None, + backup_storage_customer_key_uri=None, + sku=None, + disk_sku=None, + disk_capacity=None, + availability_zone=None, + server_hostname=None, + server_port=None, + service_user_distinguished_name=None, + service_user_password=None, + search_base_distinguished_name=None, + search_filter_template=None, + server_certificates=None): """Creates an Azure Managed Cassandra Datacenter""" + authentication_method_ldap_properties = AuthenticationMethodLdapProperties( + server_hostname=server_hostname, + server_port=server_port, + service_user_distinguished_name=service_user_distinguished_name, + service_user_password=service_user_password, + search_base_distinguished_name=search_base_distinguished_name, + search_filter_template=search_filter_template, + server_certificates=server_certificates + ) + data_center_properties = DataCenterResourceProperties( data_center_location=data_center_location, delegated_subnet_id=delegated_subnet_id, node_count=node_count, - base64_encoded_cassandra_yaml_fragment=base64_encoded_cassandra_yaml_fragment + base64_encoded_cassandra_yaml_fragment=base64_encoded_cassandra_yaml_fragment, + sku=sku, + disk_sku=disk_sku, + disk_capacity=disk_capacity, + availability_zone=availability_zone, + managed_disk_customer_key_uri=managed_disk_customer_key_uri, + backup_storage_customer_key_uri=backup_storage_customer_key_uri, + authentication_method_ldap_properties=authentication_method_ldap_properties ) data_center_resource = DataCenterResource( @@ -188,11 +266,21 @@ def cli_cosmosdb_managed_cassandra_datacenter_create(client, return client.begin_create_update(resource_group_name, cluster_name, data_center_name, data_center_resource) -def cli_cosmosdb_managed_cassandra_datacenter_update(client, resource_group_name, +def cli_cosmosdb_managed_cassandra_datacenter_update(client, + resource_group_name, cluster_name, data_center_name, node_count=None, - base64_encoded_cassandra_yaml_fragment=None): + base64_encoded_cassandra_yaml_fragment=None, + managed_disk_customer_key_uri=None, + backup_storage_customer_key_uri=None, + server_hostname=None, + server_port=None, + service_user_distinguished_name=None, + service_user_password=None, + search_base_distinguished_name=None, + search_filter_template=None, + server_certificates=None): """Updates an Azure Managed Cassandra Datacenter""" @@ -204,12 +292,57 @@ def cli_cosmosdb_managed_cassandra_datacenter_update(client, resource_group_name if base64_encoded_cassandra_yaml_fragment is None: base64_encoded_cassandra_yaml_fragment = data_center_resource.properties.base64_encoded_cassandra_yaml_fragment + if managed_disk_customer_key_uri is None: + managed_disk_customer_key_uri = data_center_resource.properties.managed_disk_customer_key_uri + + if backup_storage_customer_key_uri is None: + backup_storage_customer_key_uri = data_center_resource.properties.backup_storage_customer_key_uri + + is_ldap_properties_none = False + if data_center_resource.properties.authentication_method_ldap_properties is None: + is_ldap_properties_none = True + + if server_hostname is None and is_ldap_properties_none is False: + server_hostname = data_center_resource.properties.authentication_method_ldap_properties.server_hostname + + if server_port is None and is_ldap_properties_none is False: + server_port = data_center_resource.properties.authentication_method_ldap_properties.server_port + + if service_user_password is None and is_ldap_properties_none is False: + service_user_password = data_center_resource.properties.authentication_method_ldap_properties.service_user_password + + if service_user_distinguished_name is None and is_ldap_properties_none is False: + service_user_distinguished_name = data_center_resource.properties.authentication_method_ldap_properties.service_user_distinguished_name + + if search_base_distinguished_name is None and is_ldap_properties_none is False: + search_base_distinguished_name = data_center_resource.properties.authentication_method_ldap_properties.search_base_distinguished_name + + if search_filter_template is None and is_ldap_properties_none is False: + search_filter_template = data_center_resource.properties.authentication_method_ldap_properties.search_filter_template + + if server_certificates is None and is_ldap_properties_none is False: + server_certificates = data_center_resource.properties.authentication_method_ldap_properties.server_certificates + + authentication_method_ldap_properties = AuthenticationMethodLdapProperties( + server_hostname=server_hostname, + server_port=server_port, + service_user_distinguished_name=service_user_distinguished_name, + service_user_password=service_user_password, + search_base_distinguished_name=search_base_distinguished_name, + search_filter_template=search_filter_template, + server_certificates=server_certificates + ) + data_center_properties = DataCenterResourceProperties( data_center_location=data_center_resource.properties.data_center_location, delegated_subnet_id=data_center_resource.properties.delegated_subnet_id, node_count=node_count, seed_nodes=data_center_resource.properties.seed_nodes, - base64_encoded_cassandra_yaml_fragment=base64_encoded_cassandra_yaml_fragment) + base64_encoded_cassandra_yaml_fragment=base64_encoded_cassandra_yaml_fragment, + managed_disk_customer_key_uri=managed_disk_customer_key_uri, + backup_storage_customer_key_uri=backup_storage_customer_key_uri, + authentication_method_ldap_properties=authentication_method_ldap_properties + ) data_center_resource = DataCenterResource( properties=data_center_properties @@ -224,20 +357,6 @@ def _handle_exists_exception(http_response_error): raise http_response_error -def cli_cosmosdb_graph_create(client, account_name, resource_group_name, graph_name): - graph = GraphResourceCreateUpdateParameters(resource=GraphResource(id=graph_name)) - return client.begin_create_update_graph(resource_group_name, account_name, graph_name, graph) - - -def cli_cosmosdb_graph_exists(client, account_name, resource_group_name, graph_name): - try: - client.get_graph(resource_group_name, account_name, graph_name) - except HttpResponseError as ex: - return _handle_exists_exception(ex) - - return True - - def cli_cosmosdb_service_create(client, account_name, resource_group_name, @@ -266,6 +385,656 @@ def cli_cosmosdb_service_update(client, return client.begin_create(resource_group_name, account_name, service_name, create_update_parameters=params) +def cli_cosmosdb_mongo_role_definition_create(client, + resource_group_name, + account_name, + mongo_role_definition_body): + '''Creates an Azure Cosmos DB Mongo Role Definition ''' + mongo_role_definition_create_resource = MongoRoleDefinitionCreateUpdateParameters( + role_name=mongo_role_definition_body['RoleName'], + type=mongo_role_definition_body['Type'], + database_name=mongo_role_definition_body['DatabaseName'], + privileges=mongo_role_definition_body['Privileges'], + roles=mongo_role_definition_body['Roles']) + + return client.begin_create_update_mongo_role_definition(mongo_role_definition_body['Id'], resource_group_name, account_name, mongo_role_definition_create_resource) + + +def cli_cosmosdb_mongo_role_definition_update(client, + resource_group_name, + account_name, + mongo_role_definition_body): + '''Update an existing Azure Cosmos DB Mongo Role Definition''' + logger.debug('reading Mongo role definition') + mongo_role_definition = client.get_mongo_role_definition(mongo_role_definition_body['Id'], resource_group_name, account_name) + + if mongo_role_definition_body['RoleName'] != mongo_role_definition.role_name: + raise InvalidArgumentValueError('Cannot update Mongo Role Definition Name.') + + mongo_role_definition_update_resource = MongoRoleDefinitionCreateUpdateParameters( + role_name=mongo_role_definition.role_name, + type=mongo_role_definition_body['Type'], + database_name=mongo_role_definition_body['DatabaseName'], + privileges=mongo_role_definition_body['Privileges'], + roles=mongo_role_definition_body['Roles']) + + return client.begin_create_update_mongo_role_definition(mongo_role_definition_body['Id'], resource_group_name, account_name, mongo_role_definition_update_resource) + + +def cli_cosmosdb_mongo_role_definition_exists(client, + resource_group_name, + account_name, + mongo_role_definition_id): + """Checks if an Azure Cosmos DB Mongo Role Definition exists""" + try: + client.get_mongo_role_definition(mongo_role_definition_id, resource_group_name, account_name) + except Exception as ex: + return _handle_exists_exception(ex.response) + + return True + + +def cli_cosmosdb_mongo_user_definition_create(client, + resource_group_name, + account_name, + mongo_user_definition_body): + '''Creates an Azure Cosmos DB Mongo User Definition ''' + mongo_user_definition_create_resource = MongoUserDefinitionCreateUpdateParameters( + user_name=mongo_user_definition_body['UserName'], + password=mongo_user_definition_body['Password'], + database_name=mongo_user_definition_body['DatabaseName'], + custom_data=mongo_user_definition_body['CustomData'], + mechanisms=mongo_user_definition_body['Mechanisms'], + roles=mongo_user_definition_body['Roles']) + + return client.begin_create_update_mongo_user_definition(mongo_user_definition_body['Id'], resource_group_name, account_name, mongo_user_definition_create_resource) + + +def cli_cosmosdb_mongo_user_definition_update(client, + resource_group_name, + account_name, + mongo_user_definition_body): + '''Update an existing Azure Cosmos DB Mongo User Definition''' + logger.debug('reading Mongo user definition') + try: + mongo_user_definition = client.get_mongo_user_definition(mongo_user_definition_body['Id'], resource_group_name, account_name) + + mongo_user_definition_update_resource = MongoUserDefinitionCreateUpdateParameters( + user_name=mongo_user_definition.user_name, + password=mongo_user_definition_body['Password'], + database_name=mongo_user_definition_body['DatabaseName'], + custom_data=mongo_user_definition_body['CustomData'], + mechanisms=mongo_user_definition_body['Mechanisms'], + roles=mongo_user_definition_body['Roles']) + + return client.begin_create_update_mongo_user_definition(mongo_user_definition_body['Id'], resource_group_name, account_name, mongo_user_definition_update_resource) + except Exception as ex: + return _handle_exists_exception(ex.response) + + +def cli_cosmosdb_mongo_user_definition_exists(client, + resource_group_name, + account_name, + mongo_user_definition_id): + """Checks if an Azure Cosmos DB Mongo User Definition exists""" + try: + client.get_mongo_user_definition(mongo_user_definition_id, resource_group_name, account_name) + except Exception as ex: + return _handle_exists_exception(ex.response) + + return True + + def _gen_guid(): import uuid return uuid.uuid4() + + +# create cosmosdb account with gremlin databases and tables to restore +# pylint: disable=too-many-locals +def cli_cosmosdb_create(cmd, + client, + resource_group_name, + account_name, + locations=None, + tags=None, + kind=DatabaseAccountKind.global_document_db.value, + default_consistency_level=None, + max_staleness_prefix=100, + max_interval=5, + ip_range_filter=None, + enable_automatic_failover=None, + capabilities=None, + enable_virtual_network=None, + virtual_network_rules=None, + enable_multiple_write_locations=None, + disable_key_based_metadata_write_access=None, + key_uri=None, + enable_public_network=None, + enable_analytical_storage=None, + enable_free_tier=None, + server_version=None, + network_acl_bypass=None, + network_acl_bypass_resource_ids=None, + backup_interval=None, + backup_retention=None, + backup_redundancy=None, + assign_identity=None, + default_identity=None, + analytical_storage_schema_type=None, + backup_policy_type=None, + databases_to_restore=None, + gremlin_databases_to_restore=None, + tables_to_restore=None, + is_restore_request=None, + restore_source=None, + restore_timestamp=None, + enable_materialized_views=None): + """Create a new Azure Cosmos DB database account.""" + + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azure.cli.core.profiles import ResourceType + resource_client = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) + + rg = resource_client.resource_groups.get(resource_group_name) + resource_group_location = rg.location # pylint: disable=no-member + + restore_timestamp_utc = None + if restore_timestamp is not None: + restore_timestamp_utc = _convert_to_utc_timestamp( + restore_timestamp).isoformat() + + return _create_database_account(client=client, + resource_group_name=resource_group_name, + account_name=account_name, + locations=locations, + tags=tags, + kind=kind, + default_consistency_level=default_consistency_level, + max_staleness_prefix=max_staleness_prefix, + max_interval=max_interval, + ip_range_filter=ip_range_filter, + enable_automatic_failover=enable_automatic_failover, + capabilities=capabilities, + enable_virtual_network=enable_virtual_network, + virtual_network_rules=virtual_network_rules, + enable_multiple_write_locations=enable_multiple_write_locations, + disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, + key_uri=key_uri, + enable_public_network=enable_public_network, + enable_analytical_storage=enable_analytical_storage, + enable_free_tier=enable_free_tier, + server_version=server_version, + network_acl_bypass=network_acl_bypass, + network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, + is_restore_request=is_restore_request, + restore_source=restore_source, + restore_timestamp=restore_timestamp_utc, + analytical_storage_schema_type=analytical_storage_schema_type, + backup_policy_type=backup_policy_type, + backup_interval=backup_interval, + backup_redundancy=backup_redundancy, + assign_identity=assign_identity, + default_identity=default_identity, + backup_retention=backup_retention, + databases_to_restore=databases_to_restore, + gremlin_databases_to_restore=gremlin_databases_to_restore, + tables_to_restore=tables_to_restore, + arm_location=resource_group_location, + enable_materialized_views=enable_materialized_views) + + +# pylint: disable=too-many-branches +def cli_cosmosdb_update(client, + resource_group_name, + account_name, + locations=None, + tags=None, + default_consistency_level=None, + max_staleness_prefix=None, + max_interval=None, + ip_range_filter=None, + enable_automatic_failover=None, + capabilities=None, + enable_virtual_network=None, + virtual_network_rules=None, + enable_multiple_write_locations=None, + disable_key_based_metadata_write_access=None, + enable_public_network=None, + enable_analytical_storage=None, + network_acl_bypass=None, + network_acl_bypass_resource_ids=None, + server_version=None, + backup_interval=None, + backup_retention=None, + backup_redundancy=None, + default_identity=None, + analytical_storage_schema_type=None, + backup_policy_type=None, + enable_materialized_views=None): + """Update an existing Azure Cosmos DB database account. """ + existing = client.get(resource_group_name, account_name) + + update_consistency_policy = False + if max_interval is not None or \ + max_staleness_prefix is not None or \ + default_consistency_level is not None: + update_consistency_policy = True + + if max_staleness_prefix is None: + max_staleness_prefix = existing.consistency_policy.max_staleness_prefix + + if max_interval is None: + max_interval = existing.consistency_policy.max_interval_in_seconds + + if default_consistency_level is None: + default_consistency_level = existing.consistency_policy.default_consistency_level + + consistency_policy = None + if update_consistency_policy: + consistency_policy = ConsistencyPolicy(default_consistency_level=default_consistency_level, + max_staleness_prefix=max_staleness_prefix, + max_interval_in_seconds=max_interval) + + public_network_access = None + if enable_public_network is not None: + public_network_access = 'Enabled' if enable_public_network else 'Disabled' + + api_properties = {'ServerVersion': server_version} + + backup_policy = None + if backup_interval is not None or backup_retention is not None or backup_redundancy is not None: + if isinstance(existing.backup_policy, PeriodicModeBackupPolicy): + if backup_policy_type is not None and backup_policy_type.lower() == 'continuous': + raise CLIError('backup-interval and backup-retention can only be set with periodic backup policy.') + periodic_mode_properties = PeriodicModeProperties( + backup_interval_in_minutes=backup_interval, + backup_retention_interval_in_hours=backup_retention, + backup_storage_redundancy=backup_redundancy + ) + backup_policy = existing.backup_policy + backup_policy.periodic_mode_properties = periodic_mode_properties + else: + raise CLIError( + 'backup-interval, backup-retention and backup_redundancy can only be set for accounts with periodic backup policy.') # pylint: disable=line-too-long + elif backup_policy_type is not None and backup_policy_type.lower() == 'continuous': + if isinstance(existing.backup_policy, PeriodicModeBackupPolicy): + backup_policy = ContinuousModeBackupPolicy() + + analytical_storage_configuration = None + if analytical_storage_schema_type is not None: + analytical_storage_configuration = AnalyticalStorageConfiguration() + analytical_storage_configuration.schema_type = analytical_storage_schema_type + + params = DatabaseAccountUpdateParameters( + locations=locations, + tags=tags, + consistency_policy=consistency_policy, + ip_rules=ip_range_filter, + is_virtual_network_filter_enabled=enable_virtual_network, + enable_automatic_failover=enable_automatic_failover, + capabilities=capabilities, + virtual_network_rules=virtual_network_rules, + enable_multiple_write_locations=enable_multiple_write_locations, + disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, + public_network_access=public_network_access, + enable_analytical_storage=enable_analytical_storage, + network_acl_bypass=network_acl_bypass, + network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, + api_properties=api_properties, + backup_policy=backup_policy, + default_identity=default_identity, + analytical_storage_configuration=analytical_storage_configuration, + enable_materialized_views=enable_materialized_views) + + async_docdb_update = client.begin_update(resource_group_name, account_name, params) + docdb_account = async_docdb_update.result() + docdb_account = client.get(resource_group_name, account_name) # Workaround + return docdb_account + + +# restore cosmosdb account with gremlin databases and tables to restore +# pylint: disable=too-many-statements +def cli_cosmosdb_restore(cmd, + client, + resource_group_name, + account_name, + target_database_account_name, + restore_timestamp, + location, + databases_to_restore=None, + gremlin_databases_to_restore=None, + tables_to_restore=None): + from azure.cli.command_modules.cosmosdb._client_factory import cf_restorable_database_accounts + restorable_database_accounts_client = cf_restorable_database_accounts(cmd.cli_ctx, []) + restorable_database_accounts = restorable_database_accounts_client.list() + restorable_database_accounts_list = list(restorable_database_accounts) + target_restorable_account = None + restore_timestamp_datetime_utc = _convert_to_utc_timestamp(restore_timestamp) + + # If restore timestamp is timezone aware, get the utcnow as timezone aware as well + from datetime import datetime, timezone + current_dateTime = datetime.utcnow() + if restore_timestamp_datetime_utc.tzinfo is not None and restore_timestamp_datetime_utc.tzinfo.utcoffset(restore_timestamp_datetime_utc) is not None: + current_dateTime = datetime.now(timezone.utc) + + # Fail if provided restoretimesamp is greater than current timestamp + if restore_timestamp_datetime_utc > current_dateTime: + raise CLIError("Restore timestamp {} should be less than current timestamp {}".format(restore_timestamp_datetime_utc, current_dateTime)) + + is_source_restorable_account_deleted = False + for account in restorable_database_accounts_list: + if account.account_name == account_name: + if account.deletion_time is not None: + if account.deletion_time >= restore_timestamp_datetime_utc >= account.creation_time: + target_restorable_account = account + is_source_restorable_account_deleted = True + break + else: + if restore_timestamp_datetime_utc >= account.creation_time: + target_restorable_account = account + break + + if target_restorable_account is None: + raise CLIError("Cannot find a database account with name {} that is online at {}".format(account_name, restore_timestamp)) + + # Validate if source account is empty only for live account restores. For deleted account restores the api will not work + if not is_source_restorable_account_deleted: + restorable_resources = None + api_type = target_restorable_account.api_type.lower() + if api_type == "sql": + try: + restorable_sql_resources_client = cf_restorable_sql_resources(cmd.cli_ctx, []) + restorable_resources = restorable_sql_resources_client.list( + target_restorable_account.location, + target_restorable_account.name, + location, + restore_timestamp_datetime_utc) + except ResourceNotFoundError: + raise CLIError("Cannot find a database account with name {} that is online at {} in location {}".format(account_name, restore_timestamp, location)) + elif api_type == "mongodb": + try: + restorable_mongodb_resources_client = cf_restorable_mongodb_resources(cmd.cli_ctx, []) + restorable_resources = restorable_mongodb_resources_client.list( + target_restorable_account.location, + target_restorable_account.name, + location, + restore_timestamp_datetime_utc) + except ResourceNotFoundError: + raise CLIError("Cannot find a database account with name {} that is online at {} in location {}".format(account_name, restore_timestamp, location)) + elif "sql" in api_type and "gremlin" in api_type: + try: + restorable_gremlin_resources_client = cf_restorable_gremlin_resources(cmd.cli_ctx, []) + restorable_resources = restorable_gremlin_resources_client.list( + target_restorable_account.location, + target_restorable_account.name, + location, + restore_timestamp_datetime_utc) + except ResourceNotFoundError: + raise CLIError("Cannot find a database account with name {} that is online at {} in location {}".format(account_name, restore_timestamp, location)) + elif "sql" in api_type and "table" in api_type: + try: + restorable_table_resources_client = cf_restorable_table_resources(cmd.cli_ctx, []) + restorable_resources = restorable_table_resources_client.list( + target_restorable_account.location, + target_restorable_account.name, + location, + restore_timestamp_datetime_utc) + except ResourceNotFoundError: + raise CLIError("Cannot find a database account with name {} that is online at {} in location {}".format(account_name, restore_timestamp, location)) + else: + raise CLIError("Provided API Type {} is not supported for account {}".format(target_restorable_account.api_type, account_name)) + + if restorable_resources is None or not any(restorable_resources): + raise CLIError("Database account {} contains no restorable resources in location {} at given restore timestamp {}".format(target_restorable_account, location, restore_timestamp_datetime_utc)) + + # Trigger restore + locations = [] + locations.append(Location(location_name=location, failover_priority=0)) + + return _create_database_account(client, + resource_group_name=resource_group_name, + account_name=target_database_account_name, + locations=locations, + is_restore_request=True, + restore_source=target_restorable_account.id, + restore_timestamp=restore_timestamp_datetime_utc.isoformat(), + databases_to_restore=databases_to_restore, + gremlin_databases_to_restore=gremlin_databases_to_restore, + tables_to_restore=tables_to_restore, + arm_location=target_restorable_account.location) + + +# pylint: disable=too-many-statements +# pylint: disable=too-many-branches +def _create_database_account(client, + resource_group_name, + account_name, + locations=None, + tags=None, + kind=DatabaseAccountKind.global_document_db.value, + default_consistency_level=None, + max_staleness_prefix=100, + max_interval=5, + ip_range_filter=None, + enable_automatic_failover=None, + capabilities=None, + enable_virtual_network=None, + virtual_network_rules=None, + enable_multiple_write_locations=None, + disable_key_based_metadata_write_access=None, + key_uri=None, + enable_public_network=None, + enable_analytical_storage=None, + enable_free_tier=None, + server_version=None, + network_acl_bypass=None, + network_acl_bypass_resource_ids=None, + backup_interval=None, + backup_retention=None, + backup_redundancy=None, + assign_identity=None, + default_identity=None, + backup_policy_type=None, + analytical_storage_schema_type=None, + databases_to_restore=None, + gremlin_databases_to_restore=None, + tables_to_restore=None, + is_restore_request=None, + restore_source=None, + restore_timestamp=None, + arm_location=None, + enable_materialized_views=None): + + consistency_policy = None + if default_consistency_level is not None: + consistency_policy = ConsistencyPolicy(default_consistency_level=default_consistency_level, + max_staleness_prefix=max_staleness_prefix, + max_interval_in_seconds=max_interval) + + if not locations: + locations = [] + locations.append(Location(location_name=arm_location, failover_priority=0, is_zone_redundant=False)) + + public_network_access = None + if enable_public_network is not None: + public_network_access = 'Enabled' if enable_public_network else 'Disabled' + + managed_service_identity = None + SYSTEM_ID = '[system]' + enable_system = False + if assign_identity is not None: + if assign_identity == [] or (len(assign_identity) == 1 and assign_identity[0] == '[system]'): + enable_system = True + managed_service_identity = ManagedServiceIdentity(type=ResourceIdentityType.system_assigned.value) + else: + user_identities = {} + for x in assign_identity: + if x != SYSTEM_ID: + user_identities[x] = Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties() # pylint: disable=line-too-long + else: + enable_system = True + if enable_system: + managed_service_identity = ManagedServiceIdentity( + type=ResourceIdentityType.system_assigned_user_assigned.value, + user_assigned_identities=user_identities + ) + else: + managed_service_identity = ManagedServiceIdentity( + type=ResourceIdentityType.user_assigned.value, + user_assigned_identities=user_identities + ) + + api_properties = {} + if kind == DatabaseAccountKind.mongo_db.value: + api_properties['ServerVersion'] = server_version + elif server_version is not None: + raise CLIError('server-version is a valid argument only when kind is MongoDB.') + + backup_policy = None + if backup_policy_type is not None: + if backup_policy_type.lower() == 'periodic': + backup_policy = PeriodicModeBackupPolicy() + if backup_interval is not None or backup_retention is not None or backup_redundancy is not None: + periodic_mode_properties = PeriodicModeProperties( + backup_interval_in_minutes=backup_interval, + backup_retention_interval_in_hours=backup_retention, + backup_storage_redundancy=backup_redundancy + ) + backup_policy.periodic_mode_properties = periodic_mode_properties + elif backup_policy_type.lower() == 'continuous': + backup_policy = ContinuousModeBackupPolicy() + else: + raise CLIError('backup-policy-type argument is invalid.') + elif backup_interval is not None or backup_retention is not None: + backup_policy = PeriodicModeBackupPolicy() + periodic_mode_properties = PeriodicModeProperties( + backup_interval_in_minutes=backup_interval, + backup_retention_interval_in_hours=backup_retention + ) + backup_policy.periodic_mode_properties = periodic_mode_properties + + analytical_storage_configuration = None + if analytical_storage_schema_type is not None: + analytical_storage_configuration = AnalyticalStorageConfiguration() + analytical_storage_configuration.schema_type = analytical_storage_schema_type + + create_mode = CreateMode.restore.value if is_restore_request else CreateMode.default.value + params = None + restore_parameters = None + if create_mode == 'Restore': + if restore_source is None or restore_timestamp is None: + raise CLIError('restore-source and restore-timestamp should be provided for a restore request.') + + restore_parameters = RestoreParameters( + restore_mode='PointInTime', + restore_source=restore_source, + restore_timestamp_in_utc=restore_timestamp + ) + + if databases_to_restore is not None: + restore_parameters.databases_to_restore = databases_to_restore + + if gremlin_databases_to_restore is not None: + restore_parameters.gremlin_databases_to_restore = gremlin_databases_to_restore + + if tables_to_restore is not None: + restore_parameters.tables_to_restore = tables_to_restore + + params = DatabaseAccountCreateUpdateParameters( + location=arm_location, + locations=locations, + tags=tags, + kind=kind, + consistency_policy=consistency_policy, + ip_rules=ip_range_filter, + is_virtual_network_filter_enabled=enable_virtual_network, + enable_automatic_failover=enable_automatic_failover, + capabilities=capabilities, + virtual_network_rules=virtual_network_rules, + enable_multiple_write_locations=enable_multiple_write_locations, + disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, + key_vault_key_uri=key_uri, + public_network_access=public_network_access, + api_properties=api_properties, + enable_analytical_storage=enable_analytical_storage, + enable_free_tier=enable_free_tier, + network_acl_bypass=network_acl_bypass, + network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, + backup_policy=backup_policy, + identity=managed_service_identity, + default_identity=default_identity, + analytical_storage_configuration=analytical_storage_configuration, + create_mode=create_mode, + restore_parameters=restore_parameters, + enable_materialized_views=enable_materialized_views + ) + + async_docdb_create = client.begin_create_or_update(resource_group_name, account_name, params) + docdb_account = async_docdb_create.result() + docdb_account = client.get(resource_group_name, account_name) # Workaround + return docdb_account + + +def cli_cosmosdb_list(client, resource_group_name=None): + """ Lists all Azure Cosmos DB database accounts within a given resource group or subscription. """ + if resource_group_name: + return client.list_by_resource_group(resource_group_name) + + return client.list() + + +# latest restorable timestamp for gremlin graph and table +def cli_gremlin_retrieve_latest_backup_time(client, + resource_group_name, + account_name, + database_name, + graph_name, + location): + try: + client.get_gremlin_database(resource_group_name, account_name, database_name) + except Exception as ex: + if ex.error.code == "NotFound": + raise CLIError("(NotFound) Database with name '{}' could not be found.".format(database_name)) + raise CLIError("{}".format(str(ex))) + + try: + client.get_gremlin_graph(resource_group_name, account_name, database_name, graph_name) + except Exception as ex: + if ex.error.code == "NotFound": + raise CLIError("(NotFound) Graph with name '{}' under database '{}' could not be found.".format(graph_name, database_name)) + raise CLIError("{}".format(str(ex))) + + restoreLocation = ContinuousBackupRestoreLocation( + location=location + ) + + asyc_backupInfo = client.begin_retrieve_continuous_backup_information(resource_group_name, + account_name, + database_name, + graph_name, + restoreLocation) + return asyc_backupInfo.result() + + +def cli_table_retrieve_latest_backup_time(client, + resource_group_name, + account_name, + table_name, + location): + try: + client.get_table(resource_group_name, account_name, table_name) + except Exception as ex: + if ex.error.code == "NotFound": + raise CLIError("(NotFound) Table with name '{}' could not be found.".format(table_name)) + raise CLIError("{}".format(str(ex))) + + restoreLocation = ContinuousBackupRestoreLocation( + location=location + ) + + asyc_backupInfo = client.begin_retrieve_continuous_backup_information(resource_group_name, + account_name, + table_name, + restoreLocation) + return asyc_backupInfo.result() diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_account_restore_command.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_account_restore_command.yaml new file mode 100644 index 00000000000..93f7a444b70 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_account_restore_command.yaml @@ -0,0 +1,3508 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_gremlin_account_restore_command000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001","name":"cli_test_cosmosdb_gremlin_account_restore_command000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T04:38:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '389' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38: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": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableGremlin"}], + "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '331' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:38:48.4747408Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2006' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:38:50 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/27c79460-1cc7-48c7-9132-9948c0d8791f?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:45:04.3554753Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2438' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.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 --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:45:04.3554753Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2438' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:45:04.3554753Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2438' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000005"}, "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/35b24732-2a64-432f-9937-85becf5eaec6?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:27 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/operationResults/35b24732-2a64-432f-9937-85becf5eaec6?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/35b24732-2a64-432f-9937-85becf5eaec6?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:57 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"Fx1KAA==","_self":"dbs/Fx1KAA==/","_etag":"\"00002400-0000-0200-0000-621075f20000\"","_colls":"colls/","_users":"users/","_ts":1645245938}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '490' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:57 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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000002", "indexingPolicy": {"automatic": + true, "indexingMode": "consistent", "includedPaths": [{"path": "/*"}], "excludedPaths": + [{"path": "/\"_etag\"/?"}]}, "partitionKey": {"paths": ["/pk"], "kind": "Hash"}}, + "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + Content-Length: + - '265' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/graphs/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/002d5c3c-788f-4864-a6ae-49b0d76f8872?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46:00 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/graphs/cli000002/operationResults/002d5c3c-788f-4864-a6ae-49b0d76f8872?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/002d5c3c-788f-4864-a6ae-49b0d76f8872?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/graphs/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs","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},"geospatialConfig":{"type":"Geography"},"_rid":"Fx1KAPKiFqU=","_ts":1645245968,"_self":"dbs/Fx1KAA==/colls/Fx1KAPKiFqU=/","_etag":"\"00002f00-0000-0200-0000-621076100000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1121' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restorable-database-account show + Connection: + - keep-alive + ParameterSetName: + - --location --instance-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc?api-version=2021-10-15 + response: + body: + string: '{"name":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","location":"East US + 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","properties":{"accountName":"cli000003","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"18b09ea3-f6e1-4671-b2fe-8f4d0148c12d","creationTime":"2022-02-19T04:45:06Z"}]}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '579' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-10-15 + response: + body: + string: '{"value":[{"name":"2b5e6412-19dc-4d79-88ae-178f5e30dd78","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2b5e6412-19dc-4d79-88ae-178f5e30dd78","properties":{"accountName":"test-virangai-vinhstagemongopitr-del-res1","apiType":"MongoDB","creationTime":"2020-11-30T23:17:02Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a35683c3-cf9b-4378-a290-fb3ab8e741f9","creationTime":"2020-11-30T23:17:02Z"}]}},{"name":"9a4b63c3-49d1-4c87-b28e-92e92aeaa0ea","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/9a4b63c3-49d1-4c87-b28e-92e92aeaa0ea","properties":{"accountName":"pitr-sql-stage-source","apiType":"Sql","creationTime":"2020-12-08T18:18:47Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f61a9ed3-fcda-4603-b1e2-2baadbb6122b","creationTime":"2020-12-08T18:18:47Z"},{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"cdd116b8-a956-43d5-b461-248f837099f4","creationTime":"2020-12-14T21:35:14Z"}]}},{"name":"08155af7-e63f-4db1-82ed-c99b8a08e541","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/08155af7-e63f-4db1-82ed-c99b8a08e541","properties":{"accountName":"test-virangai-vinhstagemongopitr-1","apiType":"MongoDB","creationTime":"2020-12-09T10:37:08Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8c045a40-c3b5-4025-a270-156b748fd08b","creationTime":"2020-12-09T10:37:08Z"}]}},{"name":"530b269d-274b-4987-94e1-f54b09abecff","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/530b269d-274b-4987-94e1-f54b09abecff","properties":{"accountName":"restoredaccountname637435832535194992","apiType":"Sql","creationTime":"2020-12-15T23:04:01Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"257c2c07-efcb-47b2-b696-6ba5ca9785b0","creationTime":"2020-12-15T23:04:01Z"}]}},{"name":"4993c7e8-c48b-4e45-9353-9baea1ce9e2a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/4993c7e8-c48b-4e45-9353-9baea1ce9e2a","properties":{"accountName":"restoredaccountname359","apiType":"Sql","creationTime":"2020-12-16T00:51:06Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f964f331-3322-4719-946a-a8f4e406ca14","creationTime":"2020-12-16T00:51:06Z"}]}},{"name":"d673eaa8-f7fa-421f-9d61-ba314864a431","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d673eaa8-f7fa-421f-9d61-ba314864a431","properties":{"accountName":"pitr-sql-stage-restored-from-new-portal","apiType":"Sql","creationTime":"2021-01-05T00:28:34Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a09d2f05-b90f-4a76-96c5-ef49edadbbae","creationTime":"2021-01-05T00:28:34Z"}]}},{"name":"2ab6f2d2-ce7e-439b-90b3-5505c8f9ff76","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2ab6f2d2-ce7e-439b-90b3-5505c8f9ff76","properties":{"accountName":"pitr-sql-stage-source-personalrestore-greeen","apiType":"Sql","creationTime":"2021-01-15T22:51:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8b3376be-21d5-43db-ad08-7fa9e3f3ad5b","creationTime":"2021-01-15T22:51:59Z"}]}},{"name":"24f3f6b6-9d96-4dc2-84b9-ae1c0cba8d4e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/24f3f6b6-9d96-4dc2-84b9-ae1c0cba8d4e","properties":{"accountName":"restoredaccountname8240","apiType":"Sql","creationTime":"2021-03-02T23:44:13Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c2df5fa4-a593-48f2-8417-9f5f4bb9ef56","creationTime":"2021-03-02T23:44:13Z"}]}},{"name":"f319c2f4-7e68-48c0-9eac-94e12fb51179","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/f319c2f4-7e68-48c0-9eac-94e12fb51179","properties":{"accountName":"restoredaccountname320","apiType":"Sql","creationTime":"2021-03-03T00:59:34Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"005c7a8b-fffd-4106-a2f5-0b4f58b1942a","creationTime":"2021-03-03T00:59:34Z"}]}},{"name":"672e89ce-0096-4a87-8131-3d2d5d483a3a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/672e89ce-0096-4a87-8131-3d2d5d483a3a","properties":{"accountName":"restoredaccountname6982","apiType":"Sql","creationTime":"2021-03-03T02:34:06Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f30afdfa-9473-4658-83c4-5067be2232db","creationTime":"2021-03-03T02:34:06Z"}]}},{"name":"1a937e8e-1a33-4fd1-9349-34ede3dd02f2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/1a937e8e-1a33-4fd1-9349-34ede3dd02f2","properties":{"accountName":"restoredaccountname8295","apiType":"Sql","creationTime":"2021-03-03T17:48:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"0057f632-aaa2-44a6-92bf-c2e623403f52","creationTime":"2021-03-03T17:48:45Z"}]}},{"name":"43e2088d-9b57-4449-8b37-c9bd4d8e785e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/43e2088d-9b57-4449-8b37-c9bd4d8e785e","properties":{"accountName":"restore-test1-target","apiType":"Sql","creationTime":"2021-09-13T19:43:37Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8bba2f54-c670-4d46-8727-6e51034b62f4","creationTime":"2021-09-13T19:43:37Z"}]}},{"name":"5e0567da-281a-4168-877c-0a90e72090c7","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/5e0567da-281a-4168-877c-0a90e72090c7","properties":{"accountName":"vinhstageagain-restoreaemorepro","apiType":"Sql","creationTime":"2021-09-21T19:35:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e61bfea4-b119-406d-8724-eaa901348452","creationTime":"2021-09-21T19:35:04Z"}]}},{"name":"a2976d7e-28ae-4ded-9960-afd43a0878ca","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/a2976d7e-28ae-4ded-9960-afd43a0878ca","properties":{"accountName":"partitioneddnstest","apiType":"Sql","creationTime":"2021-11-04T21:16:17Z","restorableLocations":[]}},{"name":"297b6e89-0d56-4af0-8c6a-906a2f019ac2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/297b6e89-0d56-4af0-8c6a-906a2f019ac2","properties":{"accountName":"table-stage-pitr-validation-source","apiType":"Table, + Sql","creationTime":"2022-01-31T22:41:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"44f78833-f48d-41f5-a111-c354817fb43b","creationTime":"2022-01-31T22:42:00Z"}]}},{"name":"fcf60c23-a586-409a-82ef-e88cd3c18440","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/fcf60c23-a586-409a-82ef-e88cd3c18440","properties":{"accountName":"gremlin-stage-pitr-validation-source","apiType":"Gremlin, + Sql","creationTime":"2022-01-31T22:44:23Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"68aa7c6d-0ec5-4463-a566-5a32020e0677","creationTime":"2022-01-31T22:44:38Z"}]}},{"name":"3782d27f-a2b8-4842-a669-f4a00e49504d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/3782d27f-a2b8-4842-a669-f4a00e49504d","properties":{"accountName":"table-stage-pitr-validation-res-dw","apiType":"Table, + Sql","creationTime":"2021-12-03T19:14:38Z","deletionTime":"2022-01-31T21:22:52Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"49860c7a-db7a-4197-81d8-eaefb219c7c8","creationTime":"2021-12-03T19:14:38Z","deletionTime":"2022-01-31T21:22:52Z"}]}},{"name":"72c73c6e-9e86-48c0-81d2-462eb06fd032","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/72c73c6e-9e86-48c0-81d2-462eb06fd032","properties":{"accountName":"gremlin-stage-pitr-validation-res-lw","apiType":"Gremlin, + Sql","creationTime":"2022-01-31T23:42:50Z","deletionTime":"2022-01-31T23:43:44Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"d36b4fc4-e4b0-4cb6-870c-f03ecbee2a1d","creationTime":"2022-01-31T23:42:50Z","deletionTime":"2022-01-31T23:43:44Z"}]}},{"name":"97e481aa-5e0a-4c9b-8f62-e162e026b6c5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/97e481aa-5e0a-4c9b-8f62-e162e026b6c5","properties":{"accountName":"gremlin-stage-pitr-validation-res-dw","apiType":"Gremlin, + Sql","creationTime":"2022-02-01T00:30:29Z","deletionTime":"2022-02-01T01:03:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"4e72051e-b6d5-4125-91ab-63d7cfaec96a","creationTime":"2022-02-01T00:30:29Z","deletionTime":"2022-02-01T01:03:59Z"}]}},{"name":"d94dd8cb-6d56-47bb-8904-780267e5c97e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d94dd8cb-6d56-47bb-8904-780267e5c97e","properties":{"accountName":"gremlin-stage-pitr-validation-res-rorw","apiType":"Gremlin, + Sql","creationTime":"2022-02-01T01:02:54Z","deletionTime":"2022-02-01T01:18:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c67b9a27-53d9-46fa-84c1-1e000bd3a3b1","creationTime":"2022-02-01T01:02:54Z","deletionTime":"2022-02-01T01:18:04Z"}]}},{"name":"8c5596d1-333d-4571-8b6b-eef8aa4ae2e5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/8c5596d1-333d-4571-8b6b-eef8aa4ae2e5","properties":{"accountName":"table-stage-pitr-validation-res-lw","apiType":"Table, + Sql","creationTime":"2022-02-01T02:01:40Z","deletionTime":"2022-02-01T02:02:38Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b785b343-5493-45e5-b1f4-72247648c972","creationTime":"2022-02-01T02:01:40Z","deletionTime":"2022-02-01T02:02:38Z"}]}},{"name":"d3c0ff35-893b-4a5f-8f78-690c9f19c3af","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d3c0ff35-893b-4a5f-8f78-690c9f19c3af","properties":{"accountName":"table-stage-pitr-validation-res-dw","apiType":"Table, + Sql","creationTime":"2022-02-01T02:43:19Z","deletionTime":"2022-02-01T03:34:53Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"22d43a0f-0cc8-4544-a0ed-c9d038569a12","creationTime":"2022-02-01T02:43:19Z","deletionTime":"2022-02-01T03:34:53Z"}]}},{"name":"cef64542-9495-407a-806b-77e4211bd50c","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/cef64542-9495-407a-806b-77e4211bd50c","properties":{"accountName":"table-stage-pitr-validation-res-rorw","apiType":"Table, + Sql","creationTime":"2022-02-01T03:33:06Z","deletionTime":"2022-02-01T03:48:03Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6798791a-8c99-4081-a39e-dc90ea0b982c","creationTime":"2022-02-01T03:33:06Z","deletionTime":"2022-02-01T03:48:03Z"}]}},{"name":"748cf537-cfcc-4f42-be74-32848a8440b4","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/748cf537-cfcc-4f42-be74-32848a8440b4","properties":{"accountName":"databaseaccount1980","apiType":"Sql","creationTime":"2022-02-09T14:03:28Z","deletionTime":"2022-02-09T15:25:12Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3b63300f-d7f7-4f58-8265-6c299a5a0c22","creationTime":"2022-02-09T14:03:29Z","deletionTime":"2022-02-09T15:25:12Z"}]}},{"name":"c8e03dee-216d-4c60-b4a2-6eed24e5d1d2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c8e03dee-216d-4c60-b4a2-6eed24e5d1d2","properties":{"accountName":"databaseaccount1919","apiType":"MongoDB","creationTime":"2022-02-09T15:00:32Z","deletionTime":"2022-02-09T15:25:14Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6f94ff28-a1b8-42b6-9deb-7f5f3dd8731c","creationTime":"2022-02-09T15:00:34Z","deletionTime":"2022-02-09T15:25:14Z"}]}},{"name":"c0dd8c1f-74d8-4e16-8208-6577fe4c00dd","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c0dd8c1f-74d8-4e16-8208-6577fe4c00dd","properties":{"accountName":"databaseaccount3043","apiType":"Sql","creationTime":"2022-02-09T15:31:12Z","deletionTime":"2022-02-09T15:33:13Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"80bc77f3-2e2e-41fe-a2da-0c0d5f6cb6fb","creationTime":"2022-02-09T15:31:13Z","deletionTime":"2022-02-09T15:33:13Z"}]}},{"name":"5b5f7008-94c8-40ad-8b63-0884d86415c8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/5b5f7008-94c8-40ad-8b63-0884d86415c8","properties":{"accountName":"databaseaccount7607","apiType":"Sql","creationTime":"2022-02-09T16:07:22Z","deletionTime":"2022-02-09T16:36:43Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"350e06c3-22c5-4bbd-89fc-bcae73b36f93","creationTime":"2022-02-09T16:07:24Z","deletionTime":"2022-02-09T16:36:43Z"}]}},{"name":"a0e83650-6c8a-4c63-8273-30caffb893aa","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/a0e83650-6c8a-4c63-8273-30caffb893aa","properties":{"accountName":"databaseaccount4693","apiType":"Sql","creationTime":"2022-02-09T17:14:12Z","deletionTime":"2022-02-09T17:35:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"9ca4336d-ed88-4827-8f0a-abcb2f1366f8","creationTime":"2022-02-09T17:07:26Z","deletionTime":"2022-02-09T17:35:59Z"}]}},{"name":"db3e3d8d-2aaf-4711-bd9f-65521d8a2032","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/db3e3d8d-2aaf-4711-bd9f-65521d8a2032","properties":{"accountName":"databaseaccount7593","apiType":"Sql","creationTime":"2022-02-09T17:41:00Z","deletionTime":"2022-02-09T17:56:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c75a4690-2710-4a94-b844-173f84852d18","creationTime":"2022-02-09T17:41:02Z","deletionTime":"2022-02-09T17:56:45Z"}]}},{"name":"c8f59612-6031-4458-870f-103c12cd862e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c8f59612-6031-4458-870f-103c12cd862e","properties":{"accountName":"databaseaccount3777","apiType":"MongoDB","creationTime":"2022-02-09T17:48:13Z","deletionTime":"2022-02-09T17:56:51Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"cb6d73e4-a841-4825-a0ab-31201b4219ba","creationTime":"2022-02-09T17:48:16Z","deletionTime":"2022-02-09T17:56:51Z"}]}},{"name":"678abcf3-55c2-4375-8c16-cd0fb3d70002","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/678abcf3-55c2-4375-8c16-cd0fb3d70002","properties":{"accountName":"databaseaccount1779","apiType":"Sql","creationTime":"2022-02-09T18:01:36Z","deletionTime":"2022-02-09T19:15:46Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"721d6392-194e-4fff-ae91-e8ed89a4e054","creationTime":"2022-02-09T18:01:38Z","deletionTime":"2022-02-09T19:15:46Z"}]}},{"name":"aeaabb8b-5bb9-48ea-ad9f-3e9834562153","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/aeaabb8b-5bb9-48ea-ad9f-3e9834562153","properties":{"accountName":"restoredaccount1046","apiType":"Sql","creationTime":"2022-02-09T19:03:05Z","deletionTime":"2022-02-09T19:15:49Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3ac91fdc-03d3-4f4e-b0ef-a2d0179829c5","creationTime":"2022-02-09T19:03:05Z","deletionTime":"2022-02-09T19:15:49Z"}]}},{"name":"e59866a8-49e0-45c8-a4dd-302cadd7db2d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/e59866a8-49e0-45c8-a4dd-302cadd7db2d","properties":{"accountName":"databaseaccount4076","apiType":"MongoDB","creationTime":"2022-02-10T07:32:15Z","deletionTime":"2022-02-10T07:52:12Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"455254d4-436e-4642-8667-84f4b55f5b71","creationTime":"2022-02-10T07:32:17Z","deletionTime":"2022-02-10T07:52:12Z"}]}},{"name":"ae724202-d824-4d5f-a417-11ff6bb95786","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ae724202-d824-4d5f-a417-11ff6bb95786","properties":{"accountName":"databaseaccount2978","apiType":"Sql","creationTime":"2022-02-10T07:25:31Z","deletionTime":"2022-02-10T07:52:20Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"5b6aa28f-dbd0-4778-8d5c-7aa98380fbce","creationTime":"2022-02-10T07:25:32Z","deletionTime":"2022-02-10T07:52:20Z"}]}},{"name":"990ca06d-89a7-4dad-9953-71d4cd71caae","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/990ca06d-89a7-4dad-9953-71d4cd71caae","properties":{"accountName":"databaseaccount608","apiType":"Sql","creationTime":"2022-02-10T15:41:48Z","deletionTime":"2022-02-10T15:47:15Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8327f6f4-f6a6-4728-a7b7-17bb4957382c","creationTime":"2022-02-10T15:41:50Z","deletionTime":"2022-02-10T15:47:15Z"}]}},{"name":"2d12b285-fefa-4698-9c96-f9f55f37ff58","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2d12b285-fefa-4698-9c96-f9f55f37ff58","properties":{"accountName":"databaseaccount4967","apiType":"Sql","creationTime":"2022-02-10T16:40:35Z","deletionTime":"2022-02-10T16:44:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"dfbdd87c-1a48-40df-9f20-304755c7591e","creationTime":"2022-02-10T16:40:49Z","deletionTime":"2022-02-10T16:44:31Z"}]}},{"name":"ef07dbad-d602-4a8c-b4f8-5d6c81d736e5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ef07dbad-d602-4a8c-b4f8-5d6c81d736e5","properties":{"accountName":"databaseaccount5882","apiType":"MongoDB","creationTime":"2022-02-10T17:21:02Z","deletionTime":"2022-02-10T17:36:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"73256eee-4a28-4e1a-844e-e072b8205151","creationTime":"2022-02-10T17:21:17Z","deletionTime":"2022-02-10T17:36:31Z"}]}},{"name":"b6b4680d-7fa3-40f6-88b0-d70d1fd6f023","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/b6b4680d-7fa3-40f6-88b0-d70d1fd6f023","properties":{"accountName":"databaseaccount5260","apiType":"Sql","creationTime":"2022-02-16T06:54:18Z","deletionTime":"2022-02-16T07:23:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"5cd1f1fe-5829-4a44-89b5-ed71fe873248","creationTime":"2022-02-16T06:54:24Z","deletionTime":"2022-02-16T07:23:59Z"}]}},{"name":"839538a9-df9f-4f8f-a153-6d90a0290144","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/839538a9-df9f-4f8f-a153-6d90a0290144","properties":{"accountName":"databaseaccount2681","apiType":"MongoDB","creationTime":"2022-02-16T07:22:01Z","deletionTime":"2022-02-16T07:23:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c4b14107-3e05-4f25-b47e-d85dba265a34","creationTime":"2022-02-16T07:22:02Z","deletionTime":"2022-02-16T07:23:59Z"}]}},{"name":"96d081d7-5811-4e21-a2be-6974e6c66104","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/96d081d7-5811-4e21-a2be-6974e6c66104","properties":{"accountName":"databaseaccount1739","apiType":"MongoDB","creationTime":"2022-02-16T07:02:08Z","deletionTime":"2022-02-16T07:24:00Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e2fb5176-594a-41ae-a336-abfe941b13d4","creationTime":"2022-02-16T07:02:56Z","deletionTime":"2022-02-16T07:24:00Z"}]}},{"name":"024834ca-2a51-465b-a8ef-3fa03f2886a5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/024834ca-2a51-465b-a8ef-3fa03f2886a5","properties":{"accountName":"databaseaccount4279","apiType":"Sql","creationTime":"2022-02-16T17:58:45Z","deletionTime":"2022-02-16T18:02:17Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"721d34ae-9bcb-4a2b-abf3-6f7b0cfa2d15","creationTime":"2022-02-16T17:58:49Z","deletionTime":"2022-02-16T18:02:17Z"}]}},{"name":"b12b11d5-38c7-4a12-a545-e748a29efde8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/b12b11d5-38c7-4a12-a545-e748a29efde8","properties":{"accountName":"databaseaccount4890","apiType":"Sql","creationTime":"2022-02-16T18:57:33Z","deletionTime":"2022-02-16T19:03:07Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e80b0ed8-07a8-46f2-a7e1-e2bb11fdd9ff","creationTime":"2022-02-16T18:57:35Z","deletionTime":"2022-02-16T19:03:07Z"}]}},{"name":"c26d3f43-7363-4c54-940a-bde0e96bda72","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c26d3f43-7363-4c54-940a-bde0e96bda72","properties":{"accountName":"db1024-restored","apiType":"Sql","creationTime":"2020-08-14T01:17:36Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eca195d4-fcaa-4d5f-b01b-20f61f01319f","creationTime":"2020-08-14T01:17:36Z"}]}},{"name":"d8974ca8-8f69-4924-9040-c10b7f30524b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d8974ca8-8f69-4924-9040-c10b7f30524b","properties":{"accountName":"restoredaccountname9746","apiType":"Sql","creationTime":"2020-07-21T18:55:14Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"775c4324-cba7-4eb3-a8ee-5e1921f7f57b","creationTime":"2020-07-21T18:55:14Z"}]}},{"name":"aca7d453-88a9-4bf2-8abc-46d21553638f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/aca7d453-88a9-4bf2-8abc-46d21553638f","properties":{"accountName":"db1024","apiType":"Sql","creationTime":"2020-07-21T18:19:37Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a926c9e8-3179-4774-bc1e-fb866407b7db","creationTime":"2020-07-21T18:19:38Z"}]}},{"name":"a54115d5-4356-4771-b7b0-20f475ce5a38","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/a54115d5-4356-4771-b7b0-20f475ce5a38","properties":{"accountName":"stage-pitr-validation-source","apiType":"Sql","creationTime":"2020-08-13T23:51:16Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d9b09727-2a45-4760-a837-3366c1187358","creationTime":"2020-08-13T23:51:17Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"72ee099a-9209-4fe4-aeb2-8f4954f25eba","creationTime":"2020-08-28T18:50:30Z"},{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"e5abbaa4-031a-451a-b041-76c6bcd93fa9","creationTime":"2021-02-08T19:29:22Z"}]}},{"name":"bb3e3c48-18d8-46e8-b294-41d9406885c5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bb3e3c48-18d8-46e8-b294-41d9406885c5","properties":{"accountName":"test-virangai-cont123","apiType":"Sql","creationTime":"2020-08-05T20:32:27Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2355946d-5d79-4cc4-a521-3a302a9bff85","creationTime":"2020-08-05T20:32:27Z"}]}},{"name":"55083b96-b985-4dec-92df-fa0ac98443f1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/55083b96-b985-4dec-92df-fa0ac98443f1","properties":{"accountName":"selvitest-account","apiType":"Sql","creationTime":"2020-07-23T16:18:43Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"787a81fe-fb41-40da-8b69-a9e18966b4e3","creationTime":"2020-07-23T16:18:43Z"}]}},{"name":"ec72f021-4974-405a-8c78-f74207ff0e12","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ec72f021-4974-405a-8c78-f74207ff0e12","properties":{"accountName":"selvitest-account-destinationforrestore","apiType":"Sql","creationTime":"2020-07-23T17:39:58Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"11f925e4-b48d-4d16-9ad2-209d1056ec9c","creationTime":"2020-07-23T17:39:58Z"}]}},{"name":"17783e6d-0e28-41e2-b086-9d17763f1d51","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/17783e6d-0e28-41e2-b086-9d17763f1d51","properties":{"accountName":"virangai-test-bk-cont","apiType":"Sql","creationTime":"2020-07-28T22:09:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"f74e094e-9b1d-4e16-82b6-a57782f1d187","creationTime":"2020-07-28T22:09:24Z"}]}},{"name":"2d90bc37-cd54-4352-9e57-e6aa3f22d494","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2d90bc37-cd54-4352-9e57-e6aa3f22d494","properties":{"accountName":"selvitest-account-destinationforrestorev2","apiType":"Sql","creationTime":"2020-07-23T17:41:22Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e1dfecef-45cb-4c70-bbd5-393eb3774821","creationTime":"2020-07-23T17:41:22Z"}]}},{"name":"b0c8684b-7f9c-45fe-8ab9-2a74b656867e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b0c8684b-7f9c-45fe-8ab9-2a74b656867e","properties":{"accountName":"restoredaccountname637428812785768088","apiType":"Sql","creationTime":"2020-12-07T20:03:41Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"59294929-189f-4f8b-af35-740fc0fba9f0","creationTime":"2020-12-07T20:03:41Z"}]}},{"name":"eadac7e2-61f0-4e07-aaa1-9dbb495ec5a8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/eadac7e2-61f0-4e07-aaa1-9dbb495ec5a8","properties":{"accountName":"pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2020-12-07T21:23:56Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"49174788-8512-4a01-a3ca-38c7857a2635","creationTime":"2020-12-07T21:23:56Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"921dbaed-a5bd-462d-8351-d0eda5e592c0","creationTime":"2020-12-08T23:28:45Z"}]}},{"name":"25a04cf0-89d4-4546-9c30-14d1dc8899df","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/25a04cf0-89d4-4546-9c30-14d1dc8899df","properties":{"accountName":"pitr-mongo36-stage-source","apiType":"MongoDB","creationTime":"2020-12-07T21:35:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b52d5178-bc7b-4b2b-a05e-9d3dba85e7fd","creationTime":"2020-12-07T21:35:24Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b0f33c79-f7b2-421f-9e94-699b0f8c840a","creationTime":"2020-12-08T22:02:23Z"}]}},{"name":"0d00d699-017a-4a76-8639-ab4bec82c5f2","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0d00d699-017a-4a76-8639-ab4bec82c5f2","properties":{"accountName":"restoredaccountname637428989095532319","apiType":"Sql","creationTime":"2020-12-08T00:57:52Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"7c0454e1-f718-48fe-894a-35182a8440d2","creationTime":"2020-12-08T00:57:52Z"}]}},{"name":"d1535f84-06b5-497b-8768-962ece984001","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d1535f84-06b5-497b-8768-962ece984001","properties":{"accountName":"kal-restore-test","apiType":"Sql","creationTime":"2021-01-15T21:58:32Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f4b8377d-89b3-41dd-9892-79bfbc4d523c","creationTime":"2021-01-15T21:58:32Z"}]}},{"name":"9351dd2e-d901-465b-98cb-a74a3aabd49f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/9351dd2e-d901-465b-98cb-a74a3aabd49f","properties":{"accountName":"pitr-unique-mode-source","apiType":"Sql","creationTime":"2021-02-03T19:53:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b5ee0cb6-20df-4132-8378-3d2b2bb477f8","creationTime":"2021-02-03T19:53:26Z"}]}},{"name":"222da8e2-da07-46db-9cd2-51a2efb84b9f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/222da8e2-da07-46db-9cd2-51a2efb84b9f","properties":{"accountName":"pitr-unique-mode-restored","apiType":"Sql","creationTime":"2021-02-03T20:07:50Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"094b572d-52f6-47bc-92c3-a692588ef6d6","creationTime":"2021-02-03T20:07:50Z"}]}},{"name":"19e4130a-cb83-4a34-85c2-e35dcda149f8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/19e4130a-cb83-4a34-85c2-e35dcda149f8","properties":{"accountName":"stage-validation-m","apiType":"MongoDB","creationTime":"2021-02-05T04:08:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"3f97305a-6a6b-4b38-b200-bea92d78f64a","creationTime":"2021-02-05T04:08:11Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"7cf7aaa4-fe00-48fa-820b-cc632feaa9d7","creationTime":"2021-02-05T04:29:43Z"}]}},{"name":"5939cc7f-0bdd-4790-9ac6-a3b281c64f97","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/5939cc7f-0bdd-4790-9ac6-a3b281c64f97","properties":{"accountName":"multiregion-pitr-billing-test","apiType":"Sql","creationTime":"2021-02-19T00:20:18Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"0018e6e6-170f-4e25-b1a5-97e718138e0c","creationTime":"2021-02-19T00:20:18Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e235a61e-abf7-4e95-bfc2-0e4aa649b874","creationTime":"2021-02-19T00:33:52Z"}]}},{"name":"96aa7f5a-5292-44f3-9d3e-bec163b0de1a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/96aa7f5a-5292-44f3-9d3e-bec163b0de1a","properties":{"accountName":"restore-pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2021-02-26T18:11:04Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8c350d54-e45d-4ef7-af55-9f07dc4fe594","creationTime":"2021-02-26T18:11:04Z"}]}},{"name":"06da6f05-e2dc-42ad-b5c1-eb3cb8b2384e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/06da6f05-e2dc-42ad-b5c1-eb3cb8b2384e","properties":{"accountName":"pitr-serverless-test","apiType":"Sql","creationTime":"2021-03-08T22:40:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b0a102a5-1c5e-4208-9834-52871094fe95","creationTime":"2021-03-08T22:40:06Z"}]}},{"name":"1c4db817-dc87-4715-84d5-3b5c44da3cc1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1c4db817-dc87-4715-84d5-3b5c44da3cc1","properties":{"accountName":"pitr-serverless-test-restored","apiType":"Sql","creationTime":"2021-03-08T23:36:49Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"19615e70-1a4a-44ac-904e-8a48b86ff4bb","creationTime":"2021-03-08T23:36:49Z"}]}},{"name":"f297a3ff-0d28-4b55-9886-aab70c231eb9","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/f297a3ff-0d28-4b55-9886-aab70c231eb9","properties":{"accountName":"pitr-as-stage-validation-source","apiType":"Sql","creationTime":"2021-04-16T17:45:41Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"54aa18d1-2c21-4a39-8197-2c59a65594f7","creationTime":"2021-04-16T17:45:43Z"}]}},{"name":"d7f028d4-f830-42e1-b048-1f1bb9b4f8b1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d7f028d4-f830-42e1-b048-1f1bb9b4f8b1","properties":{"accountName":"pitr-as-stage-validation-source-r0416","apiType":"Sql","creationTime":"2021-04-16T18:24:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"9da4166b-2f5b-4c68-82c6-a185af87ad54","creationTime":"2021-04-16T18:24:15Z"}]}},{"name":"fd18a869-1ff1-42b8-9c4d-73adc1dadb94","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fd18a869-1ff1-42b8-9c4d-73adc1dadb94","properties":{"accountName":"shtan-stage-aspitr","apiType":"Sql","creationTime":"2021-05-05T18:13:12Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"114b03f5-830f-46a7-b346-1624e5df1d4b","creationTime":"2021-05-05T18:13:14Z"}]}},{"name":"2a76c5ee-4f83-438a-a8ac-f9428f308d42","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2a76c5ee-4f83-438a-a8ac-f9428f308d42","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210520","apiType":"Sql","creationTime":"2021-05-20T23:55:03Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3e3c1712-1fca-4cec-a003-4e44a4dc92f1","creationTime":"2021-05-20T23:55:03Z"}]}},{"name":"6c410eae-7555-4d5c-9adb-989133eb75da","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6c410eae-7555-4d5c-9adb-989133eb75da","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210520","apiType":"Sql","creationTime":"2021-05-21T01:09:18Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e7e0f640-7daa-44a8-87f1-be75c4b0aa95","creationTime":"2021-05-21T01:09:18Z"}]}},{"name":"c71aa302-8fa9-47f6-9f8e-ad9e89168157","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c71aa302-8fa9-47f6-9f8e-ad9e89168157","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210520","apiType":"Sql","creationTime":"2021-05-21T01:43:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f756bdd5-40e0-4024-a2a5-d5c5bd575346","creationTime":"2021-05-21T01:43:58Z"}]}},{"name":"c30b8b81-056d-4f2f-9ed8-42554b3224b9","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c30b8b81-056d-4f2f-9ed8-42554b3224b9","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210719","apiType":"Sql","creationTime":"2021-07-19T18:40:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3f7abb13-db71-4ff5-8cd2-e53dbf67d138","creationTime":"2021-07-19T18:40:31Z"}]}},{"name":"969959c5-ee44-4560-a055-a0fbdd138546","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/969959c5-ee44-4560-a055-a0fbdd138546","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210719","apiType":"Sql","creationTime":"2021-07-19T22:34:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e5381839-747f-4262-a789-58258955b87f","creationTime":"2021-07-19T22:34:01Z"}]}},{"name":"101802fb-8fb7-4e85-baa8-775c8fbcd371","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/101802fb-8fb7-4e85-baa8-775c8fbcd371","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210719","apiType":"Sql","creationTime":"2021-07-19T23:01:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"77342fa8-9e80-48cd-8203-94b97acec289","creationTime":"2021-07-19T23:01:45Z"}]}},{"name":"16815eb9-377d-453a-9f39-831fd97016f5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/16815eb9-377d-453a-9f39-831fd97016f5","properties":{"accountName":"antoshni-cosmosdb-sql-stage","apiType":"Sql","creationTime":"2021-08-04T10:20:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dca2aa8b-6bf1-4a0b-b17f-eab3220eb7f1","creationTime":"2021-08-04T10:20:44Z"}]}},{"name":"40f603a6-d723-412b-985a-3611e3f34573","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/40f603a6-d723-412b-985a-3611e3f34573","properties":{"accountName":"antoshni-cosmosdb-sql-eastus2","apiType":"Sql","creationTime":"2021-08-04T11:48:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d0ad30c9-8208-45cf-8bb6-b44776bf5fb5","creationTime":"2021-08-04T11:48:27Z"}]}},{"name":"04ee5600-3554-43b6-b544-16ef5e921bea","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/04ee5600-3554-43b6-b544-16ef5e921bea","properties":{"accountName":"sqltestaccount125","apiType":"Sql","creationTime":"2021-08-04T23:30:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e5fb6433-f0a2-403e-a81e-d12f43058085","creationTime":"2021-08-04T23:30:56Z"}]}},{"name":"2ea253f0-313b-43c6-a4be-1fcb54437be7","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2ea253f0-313b-43c6-a4be-1fcb54437be7","properties":{"accountName":"sqltestaccount126","apiType":"MongoDB","creationTime":"2021-08-04T23:49:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"5a178e16-080c-4be3-917d-0c241156a941","creationTime":"2021-08-04T23:49:44Z"}]}},{"name":"4c010b75-7b1a-4019-a71c-6abca880fe95","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/4c010b75-7b1a-4019-a71c-6abca880fe95","properties":{"accountName":"pitr-hotfix-stage-restored-wrr-20210910","apiType":"Sql","creationTime":"2021-09-10T23:14:26Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"92b99b94-fe96-45f3-8051-d1c258fd0b68","creationTime":"2021-09-10T23:14:26Z"}]}},{"name":"0aa11051-69c7-4a19-a281-a3a3526d8570","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0aa11051-69c7-4a19-a281-a3a3526d8570","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210913","apiType":"Sql","creationTime":"2021-09-13T17:25:43Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f1475bf0-87cc-43fb-92c0-88cdc89e4ba1","creationTime":"2021-09-13T17:25:43Z"}]}},{"name":"c6e1b941-6e45-4a29-b752-c6f3017a71f0","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c6e1b941-6e45-4a29-b752-c6f3017a71f0","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210913","apiType":"Sql","creationTime":"2021-09-13T18:05:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"026c42c6-f18b-4e06-aa55-10febe98c9ff","creationTime":"2021-09-13T18:05:25Z"}]}},{"name":"78b4f7b9-49ee-46ec-b03c-b2307922ab64","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/78b4f7b9-49ee-46ec-b03c-b2307922ab64","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210913","apiType":"Sql","creationTime":"2021-09-13T18:42:18Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3e6f077b-bd7c-4006-97e1-c48b8232780b","creationTime":"2021-09-13T18:42:18Z"}]}},{"name":"1923c87c-afe7-49de-a6ce-e0dc93ffd3ad","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1923c87c-afe7-49de-a6ce-e0dc93ffd3ad","properties":{"accountName":"antoshni-cosmosdb-sql-eastus2-restored0914-1","apiType":"Sql","creationTime":"2021-09-14T06:34:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e0703e55-02ad-4ea9-988a-46ba3641b256","creationTime":"2021-09-14T06:34:15Z"}]}},{"name":"b268e20e-77e0-42d9-918c-d171463b43a3","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b268e20e-77e0-42d9-918c-d171463b43a3","properties":{"accountName":"ankistest2restore","apiType":"Sql","creationTime":"2021-09-17T16:36:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"42570ee8-220a-47d9-9a44-14f22b616942","creationTime":"2021-09-17T16:36:01Z"}]}},{"name":"fb0c8a9d-34b2-4852-9afc-fbd0bd6fc759","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fb0c8a9d-34b2-4852-9afc-fbd0bd6fc759","properties":{"accountName":"antoshni-cosmosdb-stage-eastus2-res-0915-db","apiType":"Sql","creationTime":"2021-09-17T11:33:16Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"044f44cc-54dd-4a2a-bbb8-6a532a580e96","creationTime":"2021-09-17T11:33:16Z"}]}},{"name":"3658b33a-6724-42f6-942c-1ad9325e4ad6","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/3658b33a-6724-42f6-942c-1ad9325e4ad6","properties":{"accountName":"antoshni-cosmosdb-stage-eastus2-restored","apiType":"Sql","creationTime":"2021-09-23T05:58:11Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dc107ed4-d943-4d38-9d5f-08ed784bb09a","creationTime":"2021-09-23T05:58:11Z"}]}},{"name":"527bead4-ed63-4f8e-a89c-6b63103dfb4c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/527bead4-ed63-4f8e-a89c-6b63103dfb4c","properties":{"accountName":"pitr-hotfix-stage-restored-wrr-20211118","apiType":"Sql","creationTime":"2021-11-18T16:37:57Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8fbca9a0-bd1f-456d-bdc6-8ac0b7f296a8","creationTime":"2021-11-18T16:37:57Z"}]}},{"name":"c44a0a02-2095-45ad-a386-c31f881b247e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c44a0a02-2095-45ad-a386-c31f881b247e","properties":{"accountName":"read-region-restore-11182021","apiType":"Sql","creationTime":"2021-11-19T00:27:54Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"fd6a6588-bc72-43a8-8467-f7a730d9742e","creationTime":"2021-11-19T00:27:54Z"}]}},{"name":"7ce10e5c-6bc8-49d1-9d65-9097bceb606a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7ce10e5c-6bc8-49d1-9d65-9097bceb606a","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20211118","apiType":"Sql","creationTime":"2021-11-19T00:25:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2f33bc5e-daf1-4701-8978-d8b493853378","creationTime":"2021-11-19T00:25:10Z"}]}},{"name":"2e234f3c-2536-486f-8951-7d5a14df807c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2e234f3c-2536-486f-8951-7d5a14df807c","properties":{"accountName":"stage-pitr-validation-restored-rrr-20220201","apiType":"Sql","creationTime":"2022-02-01T18:23:22Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"07d2032c-2b48-4bf8-88c3-43c60eba695a","creationTime":"2022-02-01T18:23:22Z"}]}},{"name":"b22a3c38-6b35-4c5b-aea2-c9cfe47c9130","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b22a3c38-6b35-4c5b-aea2-c9cfe47c9130","properties":{"accountName":"stage-pitr-validation-restored-dr-20220201","apiType":"Sql","creationTime":"2022-02-01T19:28:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1fd04eae-7c63-4512-9287-18b95bbda23c","creationTime":"2022-02-01T19:28:05Z"}]}},{"name":"2f5f6a6f-9d84-432e-869a-752a4e1f0401","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2f5f6a6f-9d84-432e-869a-752a4e1f0401","properties":{"accountName":"stage-pitr-validation-restored-ror-20220201","apiType":"Sql","creationTime":"2022-02-02T00:09:53Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6a6ac299-b728-4a15-b5c2-bd0144cb4e8f","creationTime":"2022-02-02T00:09:53Z"}]}},{"name":"50c5386f-aef1-4cef-b086-e8a6c55c6bcf","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/50c5386f-aef1-4cef-b086-e8a6c55c6bcf","properties":{"accountName":"amisitablepitracc1","apiType":"Table, + Sql","creationTime":"2022-02-19T03:40:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"6ddc4880-b187-4626-8490-984bf2e2360e","creationTime":"2022-02-19T03:40:57Z"}]}},{"name":"5480b2a8-4904-424d-8f92-9a582eb38a73","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/5480b2a8-4904-424d-8f92-9a582eb38a73","properties":{"accountName":"amisigremlinpitracc1","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T03:49:56Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eec8e06e-d458-413e-9fd1-664bab3faffd","creationTime":"2022-02-19T03:49:58Z"}]}},{"name":"8700672c-14d0-446f-a3f0-c718410cb943","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/8700672c-14d0-446f-a3f0-c718410cb943","properties":{"accountName":"cliv4kymjnh5pkm","apiType":"Table, + Sql","creationTime":"2022-02-19T04:42:54Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"4d6149a0-5d56-401e-8060-aac3817fb617","creationTime":"2022-02-19T04:42:58Z"}]}},{"name":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","properties":{"accountName":"cli000003","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"18b09ea3-f6e1-4671-b2fe-8f4d0148c12d","creationTime":"2022-02-19T04:45:06Z"}]}},{"name":"161ca050-3724-46fb-9dd8-74c944592e3e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e","properties":{"accountName":"clizwxv7lzjr2qo","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:36Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"51e479cc-0349-445a-ab46-b47b4375d0aa","creationTime":"2022-02-19T04:44:37Z"}]}},{"name":"964ecd3a-b01b-4ab5-9dd6-8e75ca850690","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/964ecd3a-b01b-4ab5-9dd6-8e75ca850690","properties":{"accountName":"clilhyklhnhq5hs","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:20Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"7a255ec4-8740-4d69-9d94-b13e64e51d35","creationTime":"2022-02-19T04:45:45Z"}]}},{"name":"a2417c5a-ca0b-44d4-ab1c-73f9c09e179c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/a2417c5a-ca0b-44d4-ab1c-73f9c09e179c","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T17:45:22Z","deletionTime":"2022-02-01T18:24:48Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0d98cf10-bf71-4283-96b6-23603ea8ec40","creationTime":"2022-02-01T17:45:22Z","deletionTime":"2022-02-01T18:24:48Z"}]}},{"name":"ee720c80-37e5-4392-a084-b100c34cef79","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ee720c80-37e5-4392-a084-b100c34cef79","properties":{"accountName":"barstagerestored-20220201t0941580221","apiType":"Sql","creationTime":"2022-02-01T18:54:52Z","deletionTime":"2022-02-01T18:59:18Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"35cbc1d7-c448-44bc-b1cf-442aef4d55a9","creationTime":"2022-02-01T18:54:52Z","deletionTime":"2022-02-01T18:59:18Z"}]}},{"name":"1cfed635-c5aa-4bc2-a1ac-635183ed1422","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1cfed635-c5aa-4bc2-a1ac-635183ed1422","properties":{"accountName":"barstagesignoff-20220201t0941580221","apiType":"Sql","creationTime":"2022-02-01T17:46:03Z","deletionTime":"2022-02-01T18:59:31Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"61f6d58f-7e35-4b2a-8e35-606cce2aeef2","creationTime":"2022-02-01T17:46:04Z","deletionTime":"2022-02-01T18:59:31Z"}]}},{"name":"7a9ed68e-cdb6-43ca-851f-ad2ab5cdd5c8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7a9ed68e-cdb6-43ca-851f-ad2ab5cdd5c8","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T21:43:35Z","deletionTime":"2022-02-01T21:47:34Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"44920652-bff7-493f-a96c-d37f64761a9f","creationTime":"2022-02-01T21:43:35Z","deletionTime":"2022-02-01T21:47:34Z"}]}},{"name":"07763830-6c62-4336-b6df-a27a198ed17b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/07763830-6c62-4336-b6df-a27a198ed17b","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T23:15:26Z","deletionTime":"2022-02-01T23:18:38Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b5889a31-caa1-4acc-9b3e-b760a7143dcc","creationTime":"2022-02-01T23:15:26Z","deletionTime":"2022-02-01T23:18:38Z"}]}},{"name":"f3ee9a38-64f1-42f6-bd59-1856196c2674","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/f3ee9a38-64f1-42f6-bd59-1856196c2674","properties":{"accountName":"clipvj73tia6lak","apiType":"Table, + Sql","creationTime":"2022-02-19T04:06:01Z","deletionTime":"2022-02-19T04:11:28Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"229dab99-8f8f-438e-84d9-d42946179dc3","creationTime":"2022-02-19T04:06:09Z","deletionTime":"2022-02-19T04:11:28Z"}]}},{"name":"bf6372cf-6f14-4863-b701-7c59f5656a93","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bf6372cf-6f14-4863-b701-7c59f5656a93","properties":{"accountName":"cliv45ugld4sgeu","apiType":"MongoDB","creationTime":"2022-02-19T04:44:36Z","deletionTime":"2022-02-19T04:49:07Z","restorableLocations":[]}},{"name":"22cfbbb4-aea1-48db-a12e-64d909e2a2f4","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22cfbbb4-aea1-48db-a12e-64d909e2a2f4","properties":{"accountName":"cli7522jsqmlarh","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:30Z","deletionTime":"2022-02-19T04:49:59Z","restorableLocations":[]}},{"name":"6fcea3d8-5bd0-46cd-9008-c17fda19010e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6fcea3d8-5bd0-46cd-9008-c17fda19010e","properties":{"accountName":"cliyu3fcweytsmt","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:36Z","deletionTime":"2022-02-19T04:50:23Z","restorableLocations":[]}},{"name":"94263074-5df7-404d-996a-ae94319f3eba","location":"Southeast + Asia","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southeastasia/restorableDatabaseAccounts/94263074-5df7-404d-996a-ae94319f3eba","properties":{"accountName":"ankisco","apiType":"Sql","creationTime":"2021-12-16T07:37:22Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"a2eeaa83-15fb-4b34-a33c-6fc3bbf528b3","creationTime":"2021-12-16T07:37:25Z"}]}},{"name":"4b576c74-3062-48c8-a18a-620b5d691c53","location":"Southeast + Asia","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southeastasia/restorableDatabaseAccounts/4b576c74-3062-48c8-a18a-620b5d691c53","properties":{"accountName":"ankisco2","apiType":"Sql","creationTime":"2022-01-28T18:50:22Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"2d3c8857-b1d2-4b50-9b5d-525f03a70d2b","creationTime":"2022-01-28T18:50:22Z"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '66282' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:51:00 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: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/East%20US%202/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc/restorableGremlinResources?api-version=2021-11-15-preview&restoreLocation=eastus2&restoreTimestampInUtc=2022-02-19%2004%3A49%3A05%2B00%3A00 + response: + body: + string: '{"value":[{"databaseName":"cli000005","graphNames":["cli000002"]}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '67' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "East US 2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0}], "databaseAccountOfferType": + "Standard", "apiProperties": {}, "createMode": "Restore", "restoreParameters": + {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc", + "restoreTimestampInUtc": "2022-02-19T04:49:05.000Z"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + Content-Length: + - '513' + Content-Type: + - application/json + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:51:14.3182729Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"6b54c737-ed48-44c2-8b35-4a81b06c5375","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","restoreTimestampInUtc":"2022-02-19T04:49:05Z","gremlinDatabasesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2586' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51:16 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:01: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:01: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:02:21 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:02: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:03:21 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:03: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:05:21 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:05: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:06:21 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:06: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:07:22 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:07: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:09:22 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:09: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f023773-e52a-4aba-8dc8-f8ad513f2fe7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:09:21.6924102Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"6b54c737-ed48-44c2-8b35-4a81b06c5375","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","restoreTimestampInUtc":"2022-02-19T04:49:05Z","gremlinDatabasesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2742' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10:24 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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:09:21.6924102Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"6b54c737-ed48-44c2-8b35-4a81b06c5375","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","restoreTimestampInUtc":"2022-02-19T04:49:05Z","gremlinDatabasesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2742' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:09:21.6924102Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"6b54c737-ed48-44c2-8b35-4a81b06c5375","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","restoreTimestampInUtc":"2022-02-19T04:49:05Z","gremlinDatabasesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2742' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10:24 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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_account_restore_using_create.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_account_restore_using_create.yaml new file mode 100644 index 00000000000..d2b9b4f5bc7 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_account_restore_using_create.yaml @@ -0,0 +1,3318 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001","name":"cli_test_cosmosdb_gremlin_account_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T04:38:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38: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": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableGremlin"}], + "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '331' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:38:48.7586182Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"161ca050-3724-46fb-9dd8-74c944592e3e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2011' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:38:51 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/46481bd9-e1ef-4c52-b1d3-933c577f12e0?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:35.0692374Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"161ca050-3724-46fb-9dd8-74c944592e3e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2443' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:55 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.14.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 --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:35.0692374Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"161ca050-3724-46fb-9dd8-74c944592e3e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2443' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:35.0692374Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"161ca050-3724-46fb-9dd8-74c944592e3e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2443' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:56 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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000005"}, "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e038b65f-0e6c-4012-9cd8-2dfeb8724a83?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:58 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/operationResults/e038b65f-0e6c-4012-9cd8-2dfeb8724a83?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e038b65f-0e6c-4012-9cd8-2dfeb8724a83?api-version=2021-10-15 + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e038b65f-0e6c-4012-9cd8-2dfeb8724a83?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"+K8PAA==","_self":"dbs/+K8PAA==/","_etag":"\"00001d00-0000-0200-0000-621075d30000\"","_colls":"colls/","_users":"users/","_ts":1645245907}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '495' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000002", "indexingPolicy": {"automatic": + true, "indexingMode": "consistent", "includedPaths": [{"path": "/*"}], "excludedPaths": + [{"path": "/\"_etag\"/?"}]}, "partitionKey": {"paths": ["/pk"], "kind": "Hash"}}, + "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + Content-Length: + - '265' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/graphs/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/57d59b63-f7aa-4dfb-b09f-a08fb338467b?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46:01 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/graphs/cli000002/operationResults/57d59b63-f7aa-4dfb-b09f-a08fb338467b?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/57d59b63-f7aa-4dfb-b09f-a08fb338467b?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46:31 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/graphs/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/gremlinDatabases/cli000005/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs","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},"geospatialConfig":{"type":"Geography"},"_rid":"+K8PAKUWan8=","_ts":1645245968,"_self":"dbs/+K8PAA==/colls/+K8PAKUWan8=/","_etag":"\"00002000-0000-0200-0000-621076100000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1126' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restorable-database-account list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-10-15 + response: + body: + string: '{"value":[{"name":"2b5e6412-19dc-4d79-88ae-178f5e30dd78","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2b5e6412-19dc-4d79-88ae-178f5e30dd78","properties":{"accountName":"test-virangai-vinhstagemongopitr-del-res1","apiType":"MongoDB","creationTime":"2020-11-30T23:17:02Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a35683c3-cf9b-4378-a290-fb3ab8e741f9","creationTime":"2020-11-30T23:17:02Z"}]}},{"name":"9a4b63c3-49d1-4c87-b28e-92e92aeaa0ea","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/9a4b63c3-49d1-4c87-b28e-92e92aeaa0ea","properties":{"accountName":"pitr-sql-stage-source","apiType":"Sql","creationTime":"2020-12-08T18:18:47Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f61a9ed3-fcda-4603-b1e2-2baadbb6122b","creationTime":"2020-12-08T18:18:47Z"},{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"cdd116b8-a956-43d5-b461-248f837099f4","creationTime":"2020-12-14T21:35:14Z"}]}},{"name":"08155af7-e63f-4db1-82ed-c99b8a08e541","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/08155af7-e63f-4db1-82ed-c99b8a08e541","properties":{"accountName":"test-virangai-vinhstagemongopitr-1","apiType":"MongoDB","creationTime":"2020-12-09T10:37:08Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8c045a40-c3b5-4025-a270-156b748fd08b","creationTime":"2020-12-09T10:37:08Z"}]}},{"name":"530b269d-274b-4987-94e1-f54b09abecff","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/530b269d-274b-4987-94e1-f54b09abecff","properties":{"accountName":"restoredaccountname637435832535194992","apiType":"Sql","creationTime":"2020-12-15T23:04:01Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"257c2c07-efcb-47b2-b696-6ba5ca9785b0","creationTime":"2020-12-15T23:04:01Z"}]}},{"name":"4993c7e8-c48b-4e45-9353-9baea1ce9e2a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/4993c7e8-c48b-4e45-9353-9baea1ce9e2a","properties":{"accountName":"restoredaccountname359","apiType":"Sql","creationTime":"2020-12-16T00:51:06Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f964f331-3322-4719-946a-a8f4e406ca14","creationTime":"2020-12-16T00:51:06Z"}]}},{"name":"d673eaa8-f7fa-421f-9d61-ba314864a431","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d673eaa8-f7fa-421f-9d61-ba314864a431","properties":{"accountName":"pitr-sql-stage-restored-from-new-portal","apiType":"Sql","creationTime":"2021-01-05T00:28:34Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a09d2f05-b90f-4a76-96c5-ef49edadbbae","creationTime":"2021-01-05T00:28:34Z"}]}},{"name":"2ab6f2d2-ce7e-439b-90b3-5505c8f9ff76","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2ab6f2d2-ce7e-439b-90b3-5505c8f9ff76","properties":{"accountName":"pitr-sql-stage-source-personalrestore-greeen","apiType":"Sql","creationTime":"2021-01-15T22:51:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8b3376be-21d5-43db-ad08-7fa9e3f3ad5b","creationTime":"2021-01-15T22:51:59Z"}]}},{"name":"24f3f6b6-9d96-4dc2-84b9-ae1c0cba8d4e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/24f3f6b6-9d96-4dc2-84b9-ae1c0cba8d4e","properties":{"accountName":"restoredaccountname8240","apiType":"Sql","creationTime":"2021-03-02T23:44:13Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c2df5fa4-a593-48f2-8417-9f5f4bb9ef56","creationTime":"2021-03-02T23:44:13Z"}]}},{"name":"f319c2f4-7e68-48c0-9eac-94e12fb51179","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/f319c2f4-7e68-48c0-9eac-94e12fb51179","properties":{"accountName":"restoredaccountname320","apiType":"Sql","creationTime":"2021-03-03T00:59:34Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"005c7a8b-fffd-4106-a2f5-0b4f58b1942a","creationTime":"2021-03-03T00:59:34Z"}]}},{"name":"672e89ce-0096-4a87-8131-3d2d5d483a3a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/672e89ce-0096-4a87-8131-3d2d5d483a3a","properties":{"accountName":"restoredaccountname6982","apiType":"Sql","creationTime":"2021-03-03T02:34:06Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f30afdfa-9473-4658-83c4-5067be2232db","creationTime":"2021-03-03T02:34:06Z"}]}},{"name":"1a937e8e-1a33-4fd1-9349-34ede3dd02f2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/1a937e8e-1a33-4fd1-9349-34ede3dd02f2","properties":{"accountName":"restoredaccountname8295","apiType":"Sql","creationTime":"2021-03-03T17:48:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"0057f632-aaa2-44a6-92bf-c2e623403f52","creationTime":"2021-03-03T17:48:45Z"}]}},{"name":"43e2088d-9b57-4449-8b37-c9bd4d8e785e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/43e2088d-9b57-4449-8b37-c9bd4d8e785e","properties":{"accountName":"restore-test1-target","apiType":"Sql","creationTime":"2021-09-13T19:43:37Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8bba2f54-c670-4d46-8727-6e51034b62f4","creationTime":"2021-09-13T19:43:37Z"}]}},{"name":"5e0567da-281a-4168-877c-0a90e72090c7","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/5e0567da-281a-4168-877c-0a90e72090c7","properties":{"accountName":"vinhstageagain-restoreaemorepro","apiType":"Sql","creationTime":"2021-09-21T19:35:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e61bfea4-b119-406d-8724-eaa901348452","creationTime":"2021-09-21T19:35:04Z"}]}},{"name":"a2976d7e-28ae-4ded-9960-afd43a0878ca","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/a2976d7e-28ae-4ded-9960-afd43a0878ca","properties":{"accountName":"partitioneddnstest","apiType":"Sql","creationTime":"2021-11-04T21:16:17Z","restorableLocations":[]}},{"name":"297b6e89-0d56-4af0-8c6a-906a2f019ac2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/297b6e89-0d56-4af0-8c6a-906a2f019ac2","properties":{"accountName":"table-stage-pitr-validation-source","apiType":"Table, + Sql","creationTime":"2022-01-31T22:41:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"44f78833-f48d-41f5-a111-c354817fb43b","creationTime":"2022-01-31T22:42:00Z"}]}},{"name":"fcf60c23-a586-409a-82ef-e88cd3c18440","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/fcf60c23-a586-409a-82ef-e88cd3c18440","properties":{"accountName":"gremlin-stage-pitr-validation-source","apiType":"Gremlin, + Sql","creationTime":"2022-01-31T22:44:23Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"68aa7c6d-0ec5-4463-a566-5a32020e0677","creationTime":"2022-01-31T22:44:38Z"}]}},{"name":"3782d27f-a2b8-4842-a669-f4a00e49504d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/3782d27f-a2b8-4842-a669-f4a00e49504d","properties":{"accountName":"table-stage-pitr-validation-res-dw","apiType":"Table, + Sql","creationTime":"2021-12-03T19:14:38Z","deletionTime":"2022-01-31T21:22:52Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"49860c7a-db7a-4197-81d8-eaefb219c7c8","creationTime":"2021-12-03T19:14:38Z","deletionTime":"2022-01-31T21:22:52Z"}]}},{"name":"72c73c6e-9e86-48c0-81d2-462eb06fd032","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/72c73c6e-9e86-48c0-81d2-462eb06fd032","properties":{"accountName":"gremlin-stage-pitr-validation-res-lw","apiType":"Gremlin, + Sql","creationTime":"2022-01-31T23:42:50Z","deletionTime":"2022-01-31T23:43:44Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"d36b4fc4-e4b0-4cb6-870c-f03ecbee2a1d","creationTime":"2022-01-31T23:42:50Z","deletionTime":"2022-01-31T23:43:44Z"}]}},{"name":"97e481aa-5e0a-4c9b-8f62-e162e026b6c5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/97e481aa-5e0a-4c9b-8f62-e162e026b6c5","properties":{"accountName":"gremlin-stage-pitr-validation-res-dw","apiType":"Gremlin, + Sql","creationTime":"2022-02-01T00:30:29Z","deletionTime":"2022-02-01T01:03:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"4e72051e-b6d5-4125-91ab-63d7cfaec96a","creationTime":"2022-02-01T00:30:29Z","deletionTime":"2022-02-01T01:03:59Z"}]}},{"name":"d94dd8cb-6d56-47bb-8904-780267e5c97e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d94dd8cb-6d56-47bb-8904-780267e5c97e","properties":{"accountName":"gremlin-stage-pitr-validation-res-rorw","apiType":"Gremlin, + Sql","creationTime":"2022-02-01T01:02:54Z","deletionTime":"2022-02-01T01:18:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c67b9a27-53d9-46fa-84c1-1e000bd3a3b1","creationTime":"2022-02-01T01:02:54Z","deletionTime":"2022-02-01T01:18:04Z"}]}},{"name":"8c5596d1-333d-4571-8b6b-eef8aa4ae2e5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/8c5596d1-333d-4571-8b6b-eef8aa4ae2e5","properties":{"accountName":"table-stage-pitr-validation-res-lw","apiType":"Table, + Sql","creationTime":"2022-02-01T02:01:40Z","deletionTime":"2022-02-01T02:02:38Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b785b343-5493-45e5-b1f4-72247648c972","creationTime":"2022-02-01T02:01:40Z","deletionTime":"2022-02-01T02:02:38Z"}]}},{"name":"d3c0ff35-893b-4a5f-8f78-690c9f19c3af","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d3c0ff35-893b-4a5f-8f78-690c9f19c3af","properties":{"accountName":"table-stage-pitr-validation-res-dw","apiType":"Table, + Sql","creationTime":"2022-02-01T02:43:19Z","deletionTime":"2022-02-01T03:34:53Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"22d43a0f-0cc8-4544-a0ed-c9d038569a12","creationTime":"2022-02-01T02:43:19Z","deletionTime":"2022-02-01T03:34:53Z"}]}},{"name":"cef64542-9495-407a-806b-77e4211bd50c","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/cef64542-9495-407a-806b-77e4211bd50c","properties":{"accountName":"table-stage-pitr-validation-res-rorw","apiType":"Table, + Sql","creationTime":"2022-02-01T03:33:06Z","deletionTime":"2022-02-01T03:48:03Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6798791a-8c99-4081-a39e-dc90ea0b982c","creationTime":"2022-02-01T03:33:06Z","deletionTime":"2022-02-01T03:48:03Z"}]}},{"name":"748cf537-cfcc-4f42-be74-32848a8440b4","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/748cf537-cfcc-4f42-be74-32848a8440b4","properties":{"accountName":"databaseaccount1980","apiType":"Sql","creationTime":"2022-02-09T14:03:28Z","deletionTime":"2022-02-09T15:25:12Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3b63300f-d7f7-4f58-8265-6c299a5a0c22","creationTime":"2022-02-09T14:03:29Z","deletionTime":"2022-02-09T15:25:12Z"}]}},{"name":"c8e03dee-216d-4c60-b4a2-6eed24e5d1d2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c8e03dee-216d-4c60-b4a2-6eed24e5d1d2","properties":{"accountName":"databaseaccount1919","apiType":"MongoDB","creationTime":"2022-02-09T15:00:32Z","deletionTime":"2022-02-09T15:25:14Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6f94ff28-a1b8-42b6-9deb-7f5f3dd8731c","creationTime":"2022-02-09T15:00:34Z","deletionTime":"2022-02-09T15:25:14Z"}]}},{"name":"c0dd8c1f-74d8-4e16-8208-6577fe4c00dd","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c0dd8c1f-74d8-4e16-8208-6577fe4c00dd","properties":{"accountName":"databaseaccount3043","apiType":"Sql","creationTime":"2022-02-09T15:31:12Z","deletionTime":"2022-02-09T15:33:13Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"80bc77f3-2e2e-41fe-a2da-0c0d5f6cb6fb","creationTime":"2022-02-09T15:31:13Z","deletionTime":"2022-02-09T15:33:13Z"}]}},{"name":"5b5f7008-94c8-40ad-8b63-0884d86415c8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/5b5f7008-94c8-40ad-8b63-0884d86415c8","properties":{"accountName":"databaseaccount7607","apiType":"Sql","creationTime":"2022-02-09T16:07:22Z","deletionTime":"2022-02-09T16:36:43Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"350e06c3-22c5-4bbd-89fc-bcae73b36f93","creationTime":"2022-02-09T16:07:24Z","deletionTime":"2022-02-09T16:36:43Z"}]}},{"name":"a0e83650-6c8a-4c63-8273-30caffb893aa","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/a0e83650-6c8a-4c63-8273-30caffb893aa","properties":{"accountName":"databaseaccount4693","apiType":"Sql","creationTime":"2022-02-09T17:14:12Z","deletionTime":"2022-02-09T17:35:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"9ca4336d-ed88-4827-8f0a-abcb2f1366f8","creationTime":"2022-02-09T17:07:26Z","deletionTime":"2022-02-09T17:35:59Z"}]}},{"name":"db3e3d8d-2aaf-4711-bd9f-65521d8a2032","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/db3e3d8d-2aaf-4711-bd9f-65521d8a2032","properties":{"accountName":"databaseaccount7593","apiType":"Sql","creationTime":"2022-02-09T17:41:00Z","deletionTime":"2022-02-09T17:56:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c75a4690-2710-4a94-b844-173f84852d18","creationTime":"2022-02-09T17:41:02Z","deletionTime":"2022-02-09T17:56:45Z"}]}},{"name":"c8f59612-6031-4458-870f-103c12cd862e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c8f59612-6031-4458-870f-103c12cd862e","properties":{"accountName":"databaseaccount3777","apiType":"MongoDB","creationTime":"2022-02-09T17:48:13Z","deletionTime":"2022-02-09T17:56:51Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"cb6d73e4-a841-4825-a0ab-31201b4219ba","creationTime":"2022-02-09T17:48:16Z","deletionTime":"2022-02-09T17:56:51Z"}]}},{"name":"678abcf3-55c2-4375-8c16-cd0fb3d70002","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/678abcf3-55c2-4375-8c16-cd0fb3d70002","properties":{"accountName":"databaseaccount1779","apiType":"Sql","creationTime":"2022-02-09T18:01:36Z","deletionTime":"2022-02-09T19:15:46Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"721d6392-194e-4fff-ae91-e8ed89a4e054","creationTime":"2022-02-09T18:01:38Z","deletionTime":"2022-02-09T19:15:46Z"}]}},{"name":"aeaabb8b-5bb9-48ea-ad9f-3e9834562153","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/aeaabb8b-5bb9-48ea-ad9f-3e9834562153","properties":{"accountName":"restoredaccount1046","apiType":"Sql","creationTime":"2022-02-09T19:03:05Z","deletionTime":"2022-02-09T19:15:49Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3ac91fdc-03d3-4f4e-b0ef-a2d0179829c5","creationTime":"2022-02-09T19:03:05Z","deletionTime":"2022-02-09T19:15:49Z"}]}},{"name":"e59866a8-49e0-45c8-a4dd-302cadd7db2d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/e59866a8-49e0-45c8-a4dd-302cadd7db2d","properties":{"accountName":"databaseaccount4076","apiType":"MongoDB","creationTime":"2022-02-10T07:32:15Z","deletionTime":"2022-02-10T07:52:12Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"455254d4-436e-4642-8667-84f4b55f5b71","creationTime":"2022-02-10T07:32:17Z","deletionTime":"2022-02-10T07:52:12Z"}]}},{"name":"ae724202-d824-4d5f-a417-11ff6bb95786","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ae724202-d824-4d5f-a417-11ff6bb95786","properties":{"accountName":"databaseaccount2978","apiType":"Sql","creationTime":"2022-02-10T07:25:31Z","deletionTime":"2022-02-10T07:52:20Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"5b6aa28f-dbd0-4778-8d5c-7aa98380fbce","creationTime":"2022-02-10T07:25:32Z","deletionTime":"2022-02-10T07:52:20Z"}]}},{"name":"990ca06d-89a7-4dad-9953-71d4cd71caae","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/990ca06d-89a7-4dad-9953-71d4cd71caae","properties":{"accountName":"databaseaccount608","apiType":"Sql","creationTime":"2022-02-10T15:41:48Z","deletionTime":"2022-02-10T15:47:15Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8327f6f4-f6a6-4728-a7b7-17bb4957382c","creationTime":"2022-02-10T15:41:50Z","deletionTime":"2022-02-10T15:47:15Z"}]}},{"name":"2d12b285-fefa-4698-9c96-f9f55f37ff58","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2d12b285-fefa-4698-9c96-f9f55f37ff58","properties":{"accountName":"databaseaccount4967","apiType":"Sql","creationTime":"2022-02-10T16:40:35Z","deletionTime":"2022-02-10T16:44:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"dfbdd87c-1a48-40df-9f20-304755c7591e","creationTime":"2022-02-10T16:40:49Z","deletionTime":"2022-02-10T16:44:31Z"}]}},{"name":"ef07dbad-d602-4a8c-b4f8-5d6c81d736e5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ef07dbad-d602-4a8c-b4f8-5d6c81d736e5","properties":{"accountName":"databaseaccount5882","apiType":"MongoDB","creationTime":"2022-02-10T17:21:02Z","deletionTime":"2022-02-10T17:36:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"73256eee-4a28-4e1a-844e-e072b8205151","creationTime":"2022-02-10T17:21:17Z","deletionTime":"2022-02-10T17:36:31Z"}]}},{"name":"b6b4680d-7fa3-40f6-88b0-d70d1fd6f023","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/b6b4680d-7fa3-40f6-88b0-d70d1fd6f023","properties":{"accountName":"databaseaccount5260","apiType":"Sql","creationTime":"2022-02-16T06:54:18Z","deletionTime":"2022-02-16T07:23:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"5cd1f1fe-5829-4a44-89b5-ed71fe873248","creationTime":"2022-02-16T06:54:24Z","deletionTime":"2022-02-16T07:23:59Z"}]}},{"name":"839538a9-df9f-4f8f-a153-6d90a0290144","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/839538a9-df9f-4f8f-a153-6d90a0290144","properties":{"accountName":"databaseaccount2681","apiType":"MongoDB","creationTime":"2022-02-16T07:22:01Z","deletionTime":"2022-02-16T07:23:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c4b14107-3e05-4f25-b47e-d85dba265a34","creationTime":"2022-02-16T07:22:02Z","deletionTime":"2022-02-16T07:23:59Z"}]}},{"name":"96d081d7-5811-4e21-a2be-6974e6c66104","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/96d081d7-5811-4e21-a2be-6974e6c66104","properties":{"accountName":"databaseaccount1739","apiType":"MongoDB","creationTime":"2022-02-16T07:02:08Z","deletionTime":"2022-02-16T07:24:00Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e2fb5176-594a-41ae-a336-abfe941b13d4","creationTime":"2022-02-16T07:02:56Z","deletionTime":"2022-02-16T07:24:00Z"}]}},{"name":"024834ca-2a51-465b-a8ef-3fa03f2886a5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/024834ca-2a51-465b-a8ef-3fa03f2886a5","properties":{"accountName":"databaseaccount4279","apiType":"Sql","creationTime":"2022-02-16T17:58:45Z","deletionTime":"2022-02-16T18:02:17Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"721d34ae-9bcb-4a2b-abf3-6f7b0cfa2d15","creationTime":"2022-02-16T17:58:49Z","deletionTime":"2022-02-16T18:02:17Z"}]}},{"name":"b12b11d5-38c7-4a12-a545-e748a29efde8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/b12b11d5-38c7-4a12-a545-e748a29efde8","properties":{"accountName":"databaseaccount4890","apiType":"Sql","creationTime":"2022-02-16T18:57:33Z","deletionTime":"2022-02-16T19:03:07Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e80b0ed8-07a8-46f2-a7e1-e2bb11fdd9ff","creationTime":"2022-02-16T18:57:35Z","deletionTime":"2022-02-16T19:03:07Z"}]}},{"name":"c26d3f43-7363-4c54-940a-bde0e96bda72","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c26d3f43-7363-4c54-940a-bde0e96bda72","properties":{"accountName":"db1024-restored","apiType":"Sql","creationTime":"2020-08-14T01:17:36Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eca195d4-fcaa-4d5f-b01b-20f61f01319f","creationTime":"2020-08-14T01:17:36Z"}]}},{"name":"d8974ca8-8f69-4924-9040-c10b7f30524b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d8974ca8-8f69-4924-9040-c10b7f30524b","properties":{"accountName":"restoredaccountname9746","apiType":"Sql","creationTime":"2020-07-21T18:55:14Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"775c4324-cba7-4eb3-a8ee-5e1921f7f57b","creationTime":"2020-07-21T18:55:14Z"}]}},{"name":"aca7d453-88a9-4bf2-8abc-46d21553638f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/aca7d453-88a9-4bf2-8abc-46d21553638f","properties":{"accountName":"db1024","apiType":"Sql","creationTime":"2020-07-21T18:19:37Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a926c9e8-3179-4774-bc1e-fb866407b7db","creationTime":"2020-07-21T18:19:38Z"}]}},{"name":"a54115d5-4356-4771-b7b0-20f475ce5a38","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/a54115d5-4356-4771-b7b0-20f475ce5a38","properties":{"accountName":"stage-pitr-validation-source","apiType":"Sql","creationTime":"2020-08-13T23:51:16Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d9b09727-2a45-4760-a837-3366c1187358","creationTime":"2020-08-13T23:51:17Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"72ee099a-9209-4fe4-aeb2-8f4954f25eba","creationTime":"2020-08-28T18:50:30Z"},{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"e5abbaa4-031a-451a-b041-76c6bcd93fa9","creationTime":"2021-02-08T19:29:22Z"}]}},{"name":"bb3e3c48-18d8-46e8-b294-41d9406885c5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bb3e3c48-18d8-46e8-b294-41d9406885c5","properties":{"accountName":"test-virangai-cont123","apiType":"Sql","creationTime":"2020-08-05T20:32:27Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2355946d-5d79-4cc4-a521-3a302a9bff85","creationTime":"2020-08-05T20:32:27Z"}]}},{"name":"55083b96-b985-4dec-92df-fa0ac98443f1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/55083b96-b985-4dec-92df-fa0ac98443f1","properties":{"accountName":"selvitest-account","apiType":"Sql","creationTime":"2020-07-23T16:18:43Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"787a81fe-fb41-40da-8b69-a9e18966b4e3","creationTime":"2020-07-23T16:18:43Z"}]}},{"name":"ec72f021-4974-405a-8c78-f74207ff0e12","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ec72f021-4974-405a-8c78-f74207ff0e12","properties":{"accountName":"selvitest-account-destinationforrestore","apiType":"Sql","creationTime":"2020-07-23T17:39:58Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"11f925e4-b48d-4d16-9ad2-209d1056ec9c","creationTime":"2020-07-23T17:39:58Z"}]}},{"name":"17783e6d-0e28-41e2-b086-9d17763f1d51","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/17783e6d-0e28-41e2-b086-9d17763f1d51","properties":{"accountName":"virangai-test-bk-cont","apiType":"Sql","creationTime":"2020-07-28T22:09:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"f74e094e-9b1d-4e16-82b6-a57782f1d187","creationTime":"2020-07-28T22:09:24Z"}]}},{"name":"2d90bc37-cd54-4352-9e57-e6aa3f22d494","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2d90bc37-cd54-4352-9e57-e6aa3f22d494","properties":{"accountName":"selvitest-account-destinationforrestorev2","apiType":"Sql","creationTime":"2020-07-23T17:41:22Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e1dfecef-45cb-4c70-bbd5-393eb3774821","creationTime":"2020-07-23T17:41:22Z"}]}},{"name":"b0c8684b-7f9c-45fe-8ab9-2a74b656867e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b0c8684b-7f9c-45fe-8ab9-2a74b656867e","properties":{"accountName":"restoredaccountname637428812785768088","apiType":"Sql","creationTime":"2020-12-07T20:03:41Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"59294929-189f-4f8b-af35-740fc0fba9f0","creationTime":"2020-12-07T20:03:41Z"}]}},{"name":"eadac7e2-61f0-4e07-aaa1-9dbb495ec5a8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/eadac7e2-61f0-4e07-aaa1-9dbb495ec5a8","properties":{"accountName":"pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2020-12-07T21:23:56Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"49174788-8512-4a01-a3ca-38c7857a2635","creationTime":"2020-12-07T21:23:56Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"921dbaed-a5bd-462d-8351-d0eda5e592c0","creationTime":"2020-12-08T23:28:45Z"}]}},{"name":"25a04cf0-89d4-4546-9c30-14d1dc8899df","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/25a04cf0-89d4-4546-9c30-14d1dc8899df","properties":{"accountName":"pitr-mongo36-stage-source","apiType":"MongoDB","creationTime":"2020-12-07T21:35:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b52d5178-bc7b-4b2b-a05e-9d3dba85e7fd","creationTime":"2020-12-07T21:35:24Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b0f33c79-f7b2-421f-9e94-699b0f8c840a","creationTime":"2020-12-08T22:02:23Z"}]}},{"name":"0d00d699-017a-4a76-8639-ab4bec82c5f2","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0d00d699-017a-4a76-8639-ab4bec82c5f2","properties":{"accountName":"restoredaccountname637428989095532319","apiType":"Sql","creationTime":"2020-12-08T00:57:52Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"7c0454e1-f718-48fe-894a-35182a8440d2","creationTime":"2020-12-08T00:57:52Z"}]}},{"name":"d1535f84-06b5-497b-8768-962ece984001","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d1535f84-06b5-497b-8768-962ece984001","properties":{"accountName":"kal-restore-test","apiType":"Sql","creationTime":"2021-01-15T21:58:32Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f4b8377d-89b3-41dd-9892-79bfbc4d523c","creationTime":"2021-01-15T21:58:32Z"}]}},{"name":"9351dd2e-d901-465b-98cb-a74a3aabd49f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/9351dd2e-d901-465b-98cb-a74a3aabd49f","properties":{"accountName":"pitr-unique-mode-source","apiType":"Sql","creationTime":"2021-02-03T19:53:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b5ee0cb6-20df-4132-8378-3d2b2bb477f8","creationTime":"2021-02-03T19:53:26Z"}]}},{"name":"222da8e2-da07-46db-9cd2-51a2efb84b9f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/222da8e2-da07-46db-9cd2-51a2efb84b9f","properties":{"accountName":"pitr-unique-mode-restored","apiType":"Sql","creationTime":"2021-02-03T20:07:50Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"094b572d-52f6-47bc-92c3-a692588ef6d6","creationTime":"2021-02-03T20:07:50Z"}]}},{"name":"19e4130a-cb83-4a34-85c2-e35dcda149f8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/19e4130a-cb83-4a34-85c2-e35dcda149f8","properties":{"accountName":"stage-validation-m","apiType":"MongoDB","creationTime":"2021-02-05T04:08:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"3f97305a-6a6b-4b38-b200-bea92d78f64a","creationTime":"2021-02-05T04:08:11Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"7cf7aaa4-fe00-48fa-820b-cc632feaa9d7","creationTime":"2021-02-05T04:29:43Z"}]}},{"name":"5939cc7f-0bdd-4790-9ac6-a3b281c64f97","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/5939cc7f-0bdd-4790-9ac6-a3b281c64f97","properties":{"accountName":"multiregion-pitr-billing-test","apiType":"Sql","creationTime":"2021-02-19T00:20:18Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"0018e6e6-170f-4e25-b1a5-97e718138e0c","creationTime":"2021-02-19T00:20:18Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e235a61e-abf7-4e95-bfc2-0e4aa649b874","creationTime":"2021-02-19T00:33:52Z"}]}},{"name":"96aa7f5a-5292-44f3-9d3e-bec163b0de1a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/96aa7f5a-5292-44f3-9d3e-bec163b0de1a","properties":{"accountName":"restore-pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2021-02-26T18:11:04Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8c350d54-e45d-4ef7-af55-9f07dc4fe594","creationTime":"2021-02-26T18:11:04Z"}]}},{"name":"06da6f05-e2dc-42ad-b5c1-eb3cb8b2384e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/06da6f05-e2dc-42ad-b5c1-eb3cb8b2384e","properties":{"accountName":"pitr-serverless-test","apiType":"Sql","creationTime":"2021-03-08T22:40:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b0a102a5-1c5e-4208-9834-52871094fe95","creationTime":"2021-03-08T22:40:06Z"}]}},{"name":"1c4db817-dc87-4715-84d5-3b5c44da3cc1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1c4db817-dc87-4715-84d5-3b5c44da3cc1","properties":{"accountName":"pitr-serverless-test-restored","apiType":"Sql","creationTime":"2021-03-08T23:36:49Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"19615e70-1a4a-44ac-904e-8a48b86ff4bb","creationTime":"2021-03-08T23:36:49Z"}]}},{"name":"f297a3ff-0d28-4b55-9886-aab70c231eb9","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/f297a3ff-0d28-4b55-9886-aab70c231eb9","properties":{"accountName":"pitr-as-stage-validation-source","apiType":"Sql","creationTime":"2021-04-16T17:45:41Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"54aa18d1-2c21-4a39-8197-2c59a65594f7","creationTime":"2021-04-16T17:45:43Z"}]}},{"name":"d7f028d4-f830-42e1-b048-1f1bb9b4f8b1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d7f028d4-f830-42e1-b048-1f1bb9b4f8b1","properties":{"accountName":"pitr-as-stage-validation-source-r0416","apiType":"Sql","creationTime":"2021-04-16T18:24:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"9da4166b-2f5b-4c68-82c6-a185af87ad54","creationTime":"2021-04-16T18:24:15Z"}]}},{"name":"fd18a869-1ff1-42b8-9c4d-73adc1dadb94","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fd18a869-1ff1-42b8-9c4d-73adc1dadb94","properties":{"accountName":"shtan-stage-aspitr","apiType":"Sql","creationTime":"2021-05-05T18:13:12Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"114b03f5-830f-46a7-b346-1624e5df1d4b","creationTime":"2021-05-05T18:13:14Z"}]}},{"name":"2a76c5ee-4f83-438a-a8ac-f9428f308d42","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2a76c5ee-4f83-438a-a8ac-f9428f308d42","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210520","apiType":"Sql","creationTime":"2021-05-20T23:55:03Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3e3c1712-1fca-4cec-a003-4e44a4dc92f1","creationTime":"2021-05-20T23:55:03Z"}]}},{"name":"6c410eae-7555-4d5c-9adb-989133eb75da","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6c410eae-7555-4d5c-9adb-989133eb75da","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210520","apiType":"Sql","creationTime":"2021-05-21T01:09:18Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e7e0f640-7daa-44a8-87f1-be75c4b0aa95","creationTime":"2021-05-21T01:09:18Z"}]}},{"name":"c71aa302-8fa9-47f6-9f8e-ad9e89168157","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c71aa302-8fa9-47f6-9f8e-ad9e89168157","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210520","apiType":"Sql","creationTime":"2021-05-21T01:43:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f756bdd5-40e0-4024-a2a5-d5c5bd575346","creationTime":"2021-05-21T01:43:58Z"}]}},{"name":"c30b8b81-056d-4f2f-9ed8-42554b3224b9","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c30b8b81-056d-4f2f-9ed8-42554b3224b9","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210719","apiType":"Sql","creationTime":"2021-07-19T18:40:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3f7abb13-db71-4ff5-8cd2-e53dbf67d138","creationTime":"2021-07-19T18:40:31Z"}]}},{"name":"969959c5-ee44-4560-a055-a0fbdd138546","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/969959c5-ee44-4560-a055-a0fbdd138546","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210719","apiType":"Sql","creationTime":"2021-07-19T22:34:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e5381839-747f-4262-a789-58258955b87f","creationTime":"2021-07-19T22:34:01Z"}]}},{"name":"101802fb-8fb7-4e85-baa8-775c8fbcd371","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/101802fb-8fb7-4e85-baa8-775c8fbcd371","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210719","apiType":"Sql","creationTime":"2021-07-19T23:01:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"77342fa8-9e80-48cd-8203-94b97acec289","creationTime":"2021-07-19T23:01:45Z"}]}},{"name":"16815eb9-377d-453a-9f39-831fd97016f5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/16815eb9-377d-453a-9f39-831fd97016f5","properties":{"accountName":"antoshni-cosmosdb-sql-stage","apiType":"Sql","creationTime":"2021-08-04T10:20:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dca2aa8b-6bf1-4a0b-b17f-eab3220eb7f1","creationTime":"2021-08-04T10:20:44Z"}]}},{"name":"40f603a6-d723-412b-985a-3611e3f34573","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/40f603a6-d723-412b-985a-3611e3f34573","properties":{"accountName":"antoshni-cosmosdb-sql-eastus2","apiType":"Sql","creationTime":"2021-08-04T11:48:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d0ad30c9-8208-45cf-8bb6-b44776bf5fb5","creationTime":"2021-08-04T11:48:27Z"}]}},{"name":"04ee5600-3554-43b6-b544-16ef5e921bea","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/04ee5600-3554-43b6-b544-16ef5e921bea","properties":{"accountName":"sqltestaccount125","apiType":"Sql","creationTime":"2021-08-04T23:30:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e5fb6433-f0a2-403e-a81e-d12f43058085","creationTime":"2021-08-04T23:30:56Z"}]}},{"name":"2ea253f0-313b-43c6-a4be-1fcb54437be7","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2ea253f0-313b-43c6-a4be-1fcb54437be7","properties":{"accountName":"sqltestaccount126","apiType":"MongoDB","creationTime":"2021-08-04T23:49:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"5a178e16-080c-4be3-917d-0c241156a941","creationTime":"2021-08-04T23:49:44Z"}]}},{"name":"4c010b75-7b1a-4019-a71c-6abca880fe95","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/4c010b75-7b1a-4019-a71c-6abca880fe95","properties":{"accountName":"pitr-hotfix-stage-restored-wrr-20210910","apiType":"Sql","creationTime":"2021-09-10T23:14:26Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"92b99b94-fe96-45f3-8051-d1c258fd0b68","creationTime":"2021-09-10T23:14:26Z"}]}},{"name":"0aa11051-69c7-4a19-a281-a3a3526d8570","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0aa11051-69c7-4a19-a281-a3a3526d8570","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210913","apiType":"Sql","creationTime":"2021-09-13T17:25:43Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f1475bf0-87cc-43fb-92c0-88cdc89e4ba1","creationTime":"2021-09-13T17:25:43Z"}]}},{"name":"c6e1b941-6e45-4a29-b752-c6f3017a71f0","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c6e1b941-6e45-4a29-b752-c6f3017a71f0","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210913","apiType":"Sql","creationTime":"2021-09-13T18:05:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"026c42c6-f18b-4e06-aa55-10febe98c9ff","creationTime":"2021-09-13T18:05:25Z"}]}},{"name":"78b4f7b9-49ee-46ec-b03c-b2307922ab64","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/78b4f7b9-49ee-46ec-b03c-b2307922ab64","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210913","apiType":"Sql","creationTime":"2021-09-13T18:42:18Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3e6f077b-bd7c-4006-97e1-c48b8232780b","creationTime":"2021-09-13T18:42:18Z"}]}},{"name":"1923c87c-afe7-49de-a6ce-e0dc93ffd3ad","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1923c87c-afe7-49de-a6ce-e0dc93ffd3ad","properties":{"accountName":"antoshni-cosmosdb-sql-eastus2-restored0914-1","apiType":"Sql","creationTime":"2021-09-14T06:34:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e0703e55-02ad-4ea9-988a-46ba3641b256","creationTime":"2021-09-14T06:34:15Z"}]}},{"name":"b268e20e-77e0-42d9-918c-d171463b43a3","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b268e20e-77e0-42d9-918c-d171463b43a3","properties":{"accountName":"ankistest2restore","apiType":"Sql","creationTime":"2021-09-17T16:36:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"42570ee8-220a-47d9-9a44-14f22b616942","creationTime":"2021-09-17T16:36:01Z"}]}},{"name":"fb0c8a9d-34b2-4852-9afc-fbd0bd6fc759","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fb0c8a9d-34b2-4852-9afc-fbd0bd6fc759","properties":{"accountName":"antoshni-cosmosdb-stage-eastus2-res-0915-db","apiType":"Sql","creationTime":"2021-09-17T11:33:16Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"044f44cc-54dd-4a2a-bbb8-6a532a580e96","creationTime":"2021-09-17T11:33:16Z"}]}},{"name":"3658b33a-6724-42f6-942c-1ad9325e4ad6","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/3658b33a-6724-42f6-942c-1ad9325e4ad6","properties":{"accountName":"antoshni-cosmosdb-stage-eastus2-restored","apiType":"Sql","creationTime":"2021-09-23T05:58:11Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dc107ed4-d943-4d38-9d5f-08ed784bb09a","creationTime":"2021-09-23T05:58:11Z"}]}},{"name":"527bead4-ed63-4f8e-a89c-6b63103dfb4c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/527bead4-ed63-4f8e-a89c-6b63103dfb4c","properties":{"accountName":"pitr-hotfix-stage-restored-wrr-20211118","apiType":"Sql","creationTime":"2021-11-18T16:37:57Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8fbca9a0-bd1f-456d-bdc6-8ac0b7f296a8","creationTime":"2021-11-18T16:37:57Z"}]}},{"name":"c44a0a02-2095-45ad-a386-c31f881b247e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c44a0a02-2095-45ad-a386-c31f881b247e","properties":{"accountName":"read-region-restore-11182021","apiType":"Sql","creationTime":"2021-11-19T00:27:54Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"fd6a6588-bc72-43a8-8467-f7a730d9742e","creationTime":"2021-11-19T00:27:54Z"}]}},{"name":"7ce10e5c-6bc8-49d1-9d65-9097bceb606a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7ce10e5c-6bc8-49d1-9d65-9097bceb606a","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20211118","apiType":"Sql","creationTime":"2021-11-19T00:25:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2f33bc5e-daf1-4701-8978-d8b493853378","creationTime":"2021-11-19T00:25:10Z"}]}},{"name":"2e234f3c-2536-486f-8951-7d5a14df807c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2e234f3c-2536-486f-8951-7d5a14df807c","properties":{"accountName":"stage-pitr-validation-restored-rrr-20220201","apiType":"Sql","creationTime":"2022-02-01T18:23:22Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"07d2032c-2b48-4bf8-88c3-43c60eba695a","creationTime":"2022-02-01T18:23:22Z"}]}},{"name":"b22a3c38-6b35-4c5b-aea2-c9cfe47c9130","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b22a3c38-6b35-4c5b-aea2-c9cfe47c9130","properties":{"accountName":"stage-pitr-validation-restored-dr-20220201","apiType":"Sql","creationTime":"2022-02-01T19:28:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1fd04eae-7c63-4512-9287-18b95bbda23c","creationTime":"2022-02-01T19:28:05Z"}]}},{"name":"2f5f6a6f-9d84-432e-869a-752a4e1f0401","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2f5f6a6f-9d84-432e-869a-752a4e1f0401","properties":{"accountName":"stage-pitr-validation-restored-ror-20220201","apiType":"Sql","creationTime":"2022-02-02T00:09:53Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6a6ac299-b728-4a15-b5c2-bd0144cb4e8f","creationTime":"2022-02-02T00:09:53Z"}]}},{"name":"50c5386f-aef1-4cef-b086-e8a6c55c6bcf","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/50c5386f-aef1-4cef-b086-e8a6c55c6bcf","properties":{"accountName":"amisitablepitracc1","apiType":"Table, + Sql","creationTime":"2022-02-19T03:40:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"6ddc4880-b187-4626-8490-984bf2e2360e","creationTime":"2022-02-19T03:40:57Z"}]}},{"name":"5480b2a8-4904-424d-8f92-9a582eb38a73","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/5480b2a8-4904-424d-8f92-9a582eb38a73","properties":{"accountName":"amisigremlinpitracc1","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T03:49:56Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eec8e06e-d458-413e-9fd1-664bab3faffd","creationTime":"2022-02-19T03:49:58Z"}]}},{"name":"8700672c-14d0-446f-a3f0-c718410cb943","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/8700672c-14d0-446f-a3f0-c718410cb943","properties":{"accountName":"cliv4kymjnh5pkm","apiType":"Table, + Sql","creationTime":"2022-02-19T04:42:54Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"4d6149a0-5d56-401e-8060-aac3817fb617","creationTime":"2022-02-19T04:42:58Z"}]}},{"name":"6fcea3d8-5bd0-46cd-9008-c17fda19010e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6fcea3d8-5bd0-46cd-9008-c17fda19010e","properties":{"accountName":"cliyu3fcweytsmt","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:36Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0cfc4324-5042-42a4-96dc-c558a8ad45f8","creationTime":"2022-02-19T04:44:38Z"}]}},{"name":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","properties":{"accountName":"clixnseixqr3245","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"18b09ea3-f6e1-4671-b2fe-8f4d0148c12d","creationTime":"2022-02-19T04:45:06Z"}]}},{"name":"161ca050-3724-46fb-9dd8-74c944592e3e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e","properties":{"accountName":"cli000003","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:36Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"51e479cc-0349-445a-ab46-b47b4375d0aa","creationTime":"2022-02-19T04:44:37Z"}]}},{"name":"964ecd3a-b01b-4ab5-9dd6-8e75ca850690","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/964ecd3a-b01b-4ab5-9dd6-8e75ca850690","properties":{"accountName":"clilhyklhnhq5hs","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:20Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"7a255ec4-8740-4d69-9d94-b13e64e51d35","creationTime":"2022-02-19T04:45:45Z"}]}},{"name":"22cfbbb4-aea1-48db-a12e-64d909e2a2f4","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22cfbbb4-aea1-48db-a12e-64d909e2a2f4","properties":{"accountName":"cli7522jsqmlarh","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:30Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0f728419-07de-42cc-a254-c892cf98126a","creationTime":"2022-02-19T04:44:31Z"}]}},{"name":"bf6372cf-6f14-4863-b701-7c59f5656a93","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bf6372cf-6f14-4863-b701-7c59f5656a93","properties":{"accountName":"cliv45ugld4sgeu","apiType":"MongoDB","creationTime":"2022-02-19T04:44:36Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b71e9f3e-ad5a-408b-9b64-6c7d084cb63a","creationTime":"2022-02-19T04:44:37Z"}]}},{"name":"a2417c5a-ca0b-44d4-ab1c-73f9c09e179c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/a2417c5a-ca0b-44d4-ab1c-73f9c09e179c","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T17:45:22Z","deletionTime":"2022-02-01T18:24:48Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0d98cf10-bf71-4283-96b6-23603ea8ec40","creationTime":"2022-02-01T17:45:22Z","deletionTime":"2022-02-01T18:24:48Z"}]}},{"name":"ee720c80-37e5-4392-a084-b100c34cef79","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ee720c80-37e5-4392-a084-b100c34cef79","properties":{"accountName":"barstagerestored-20220201t0941580221","apiType":"Sql","creationTime":"2022-02-01T18:54:52Z","deletionTime":"2022-02-01T18:59:18Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"35cbc1d7-c448-44bc-b1cf-442aef4d55a9","creationTime":"2022-02-01T18:54:52Z","deletionTime":"2022-02-01T18:59:18Z"}]}},{"name":"1cfed635-c5aa-4bc2-a1ac-635183ed1422","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1cfed635-c5aa-4bc2-a1ac-635183ed1422","properties":{"accountName":"barstagesignoff-20220201t0941580221","apiType":"Sql","creationTime":"2022-02-01T17:46:03Z","deletionTime":"2022-02-01T18:59:31Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"61f6d58f-7e35-4b2a-8e35-606cce2aeef2","creationTime":"2022-02-01T17:46:04Z","deletionTime":"2022-02-01T18:59:31Z"}]}},{"name":"7a9ed68e-cdb6-43ca-851f-ad2ab5cdd5c8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7a9ed68e-cdb6-43ca-851f-ad2ab5cdd5c8","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T21:43:35Z","deletionTime":"2022-02-01T21:47:34Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"44920652-bff7-493f-a96c-d37f64761a9f","creationTime":"2022-02-01T21:43:35Z","deletionTime":"2022-02-01T21:47:34Z"}]}},{"name":"07763830-6c62-4336-b6df-a27a198ed17b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/07763830-6c62-4336-b6df-a27a198ed17b","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T23:15:26Z","deletionTime":"2022-02-01T23:18:38Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b5889a31-caa1-4acc-9b3e-b760a7143dcc","creationTime":"2022-02-01T23:15:26Z","deletionTime":"2022-02-01T23:18:38Z"}]}},{"name":"f3ee9a38-64f1-42f6-bd59-1856196c2674","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/f3ee9a38-64f1-42f6-bd59-1856196c2674","properties":{"accountName":"clipvj73tia6lak","apiType":"Table, + Sql","creationTime":"2022-02-19T04:06:01Z","deletionTime":"2022-02-19T04:11:28Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"229dab99-8f8f-438e-84d9-d42946179dc3","creationTime":"2022-02-19T04:06:09Z","deletionTime":"2022-02-19T04:11:28Z"}]}},{"name":"94263074-5df7-404d-996a-ae94319f3eba","location":"Southeast + Asia","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southeastasia/restorableDatabaseAccounts/94263074-5df7-404d-996a-ae94319f3eba","properties":{"accountName":"ankisco","apiType":"Sql","creationTime":"2021-12-16T07:37:22Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"a2eeaa83-15fb-4b34-a33c-6fc3bbf528b3","creationTime":"2021-12-16T07:37:25Z"}]}},{"name":"4b576c74-3062-48c8-a18a-620b5d691c53","location":"Southeast + Asia","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southeastasia/restorableDatabaseAccounts/4b576c74-3062-48c8-a18a-620b5d691c53","properties":{"accountName":"ankisco2","apiType":"Sql","creationTime":"2022-01-28T18:50:22Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"2d3c8857-b1d2-4b50-9b5d-525f03a70d2b","creationTime":"2022-01-28T18:50:22Z"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '66591' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:47:04 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: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001","name":"cli_test_cosmosdb_gremlin_account_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T04:38:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '399' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:51: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: '{"location": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Restore", + "restoreParameters": {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e", + "restoreTimestampInUtc": "2022-02-19T04:48:36.000Z"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '537' + Content-Type: + - application/json + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:51:16.909812Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"25d4bda3-9f50-4e1e-906d-0582fbd4b594","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e","restoreTimestampInUtc":"2022-02-19T04:48:36Z","gremlinDatabasesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2590' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51:19 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56:21 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57:21 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58:22 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59:21 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00:22 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:01:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:01: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:02:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:02: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:03:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:03: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:04:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:05:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:05: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:06:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:06:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:07: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:07:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bbf783dd-db78-4275-87c4-fd9a4cfe3886?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:07:54.4341654Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"25d4bda3-9f50-4e1e-906d-0582fbd4b594","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e","restoreTimestampInUtc":"2022-02-19T04:48:36Z","gremlinDatabasesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2747' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08:55 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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:07:54.4341654Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"25d4bda3-9f50-4e1e-906d-0582fbd4b594","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e","restoreTimestampInUtc":"2022-02-19T04:48:36Z","gremlinDatabasesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2747' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:07:54.4341654Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"25d4bda3-9f50-4e1e-906d-0582fbd4b594","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e","restoreTimestampInUtc":"2022-02-19T04:48:36Z","gremlinDatabasesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2747' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08:56 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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_graph_backupinfo.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_graph_backupinfo.yaml new file mode 100644 index 00000000000..f43dafd4ebd --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_graph_backupinfo.yaml @@ -0,0 +1,1973 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DocumentDB/databaseAccounts/cli000004'' + under resource group ''cli_test_cosmosdb_gremlin_graph_backupinfo000001'' + was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '267' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38:44 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: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001","name":"cli_test_cosmosdb_gremlin_graph_backupinfo000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T04:38:39Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '375' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38: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: '{"location": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableGremlin"}], + "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '331' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:38:50.3809934Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"22cfbbb4-aea1-48db-a12e-64d909e2a2f4","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '1999' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:38:52 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8673e855-fb42-42fc-99f5-ccb3060cd6a4?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:29.428769Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"22cfbbb4-aea1-48db-a12e-64d909e2a2f4","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2430' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.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 --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:29.428769Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"22cfbbb4-aea1-48db-a12e-64d909e2a2f4","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2430' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:29.428769Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"22cfbbb4-aea1-48db-a12e-64d909e2a2f4","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2430' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"code":"NotFound","message":"Message: {\"code\":\"NotFound\",\"message\":\"Message: + {\\\"Errors\\\":[\\\"Resource Not Found. Learn more: https:\\\\/\\\\/aka.ms\\\\/cosmosdb-tsg-not-found\\\"]}\\r\\nActivityId: + c05a2ac8-913e-11ec-8170-9c7bef4baa38, Request URI: /apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/6c1132e0-ac57-4c8d-8a80-77efc07c2956/partitions/327b83cc-dc8e-40f3-99ea-0e2abe4b9639/replicas/132816966912893870s, + RequestStats: \\r\\nRequestStartTime: 2022-02-19T04:45:27.3480854Z, RequestEndTime: + 2022-02-19T04:45:27.3580862Z, Number of regions attempted:1\\r\\n{\\\"systemHistory\\\":[{\\\"dateUtc\\\":\\\"2022-02-19T04:44:36.7185892Z\\\",\\\"cpu\\\":0.276,\\\"memory\\\":661691988.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0878,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:44:46.7284954Z\\\",\\\"cpu\\\":0.288,\\\"memory\\\":661694896.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0751,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:44:56.7383802Z\\\",\\\"cpu\\\":0.229,\\\"memory\\\":661743492.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0725,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:45:06.7482644Z\\\",\\\"cpu\\\":0.163,\\\"memory\\\":661727424.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0256,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:45:16.7581782Z\\\",\\\"cpu\\\":0.107,\\\"memory\\\":661737268.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.1066,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:45:26.7680976Z\\\",\\\"cpu\\\":0.098,\\\"memory\\\":661735100.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0555,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}}]}\\r\\nRequestStart: + 2022-02-19T04:45:27.3480854Z; ResponseTime: 2022-02-19T04:45:27.3580862Z; + StoreResult: StorePhysicalAddress: rntbd://10.0.0.28:11000/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/6c1132e0-ac57-4c8d-8a80-77efc07c2956/partitions/327b83cc-dc8e-40f3-99ea-0e2abe4b9639/replicas/132816966912893870s, + LSN: 9, GlobalCommittedLsn: 9, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 0, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#9, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 1.021, ActivityId: + c05a2ac8-913e-11ec-8170-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:45:27.3480854Z\\\", \\\"durationInMs\\\": 0.006},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:45:27.3480914Z\\\", + \\\"durationInMs\\\": 0.0019},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:45:27.3480933Z\\\", \\\"durationInMs\\\": 0.2076},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:45:27.3483009Z\\\", + \\\"durationInMs\\\": 1.1686},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:45:27.3494695Z\\\", \\\"durationInMs\\\": 0.0171},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:45:27.3494866Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":462,\\\"responseMetadataSizeInBytes\\\":134,\\\"responseBodySizeInBytes\\\":87};\\r\\n + ResourceType: Database, OperationType: Read\\r\\nRequestStart: 2022-02-19T04:45:27.3480854Z; + ResponseTime: 2022-02-19T04:45:27.3580862Z; StoreResult: StorePhysicalAddress: + rntbd://10.0.0.24:11000/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/6c1132e0-ac57-4c8d-8a80-77efc07c2956/partitions/327b83cc-dc8e-40f3-99ea-0e2abe4b9639/replicas/132816966912893871s, + LSN: 9, GlobalCommittedLsn: 9, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 0, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#9, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 0.821, ActivityId: + c05a2ac8-913e-11ec-8170-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:45:27.3480854Z\\\", \\\"durationInMs\\\": 0.0025},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:45:27.3480879Z\\\", + \\\"durationInMs\\\": 0.001},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:45:27.3480889Z\\\", \\\"durationInMs\\\": 0.1835},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:45:27.3482724Z\\\", + \\\"durationInMs\\\": 0.8831},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:45:27.3491555Z\\\", \\\"durationInMs\\\": 0.0614},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:45:27.3492169Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":462,\\\"responseMetadataSizeInBytes\\\":134,\\\"responseBodySizeInBytes\\\":87};\\r\\n + ResourceType: Database, OperationType: Read\\r\\n, SDK: Microsoft.Azure.Documents.Common/2.14.0\"}, + Request URI: /dbs/cli000003, RequestStats: , SDK: Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '5580' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:26 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.14.0 + status: + code: 404 + message: NotFound +- request: + body: '{"properties": {"resource": {"id": "cli000003"}, "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c52cc2b6-bd37-415e-923d-d6bf83895b37?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:28 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/operationResults/c52cc2b6-bd37-415e-923d-d6bf83895b37?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c52cc2b6-bd37-415e-923d-d6bf83895b37?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"xUJBAA==","_self":"dbs/xUJBAA==/","_etag":"\"00007200-0000-0200-0000-621075f10000\"","_colls":"colls/","_users":"users/","_ts":1645245937}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '483' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"xUJBAA==","_self":"dbs/xUJBAA==/","_etag":"\"00007200-0000-0200-0000-621075f10000\"","_colls":"colls/","_users":"users/","_ts":1645245937}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '483' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"code":"NotFound","message":"Message: {\"code\":\"NotFound\",\"message\":\"Message: + {\\\"Errors\\\":[\\\"Resource Not Found. Learn more: https:\\\\/\\\\/aka.ms\\\\/cosmosdb-tsg-not-found\\\"]}\\r\\nActivityId: + d5ed2811-913e-11ec-8c17-9c7bef4baa38, Request URI: /apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/6c1132e0-ac57-4c8d-8a80-77efc07c2956/partitions/327b83cc-dc8e-40f3-99ea-0e2abe4b9639/replicas/132816966912893869s, + RequestStats: \\r\\nRequestStartTime: 2022-02-19T04:46:01.4817718Z, RequestEndTime: + 2022-02-19T04:46:01.4817718Z, Number of regions attempted:1\\r\\n{\\\"systemHistory\\\":[{\\\"dateUtc\\\":\\\"2022-02-19T04:45:06.9018977Z\\\",\\\"cpu\\\":0.493,\\\"memory\\\":669009328.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0164,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:45:16.9118707Z\\\",\\\"cpu\\\":0.200,\\\"memory\\\":669015320.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0313,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:45:26.9218592Z\\\",\\\"cpu\\\":0.268,\\\"memory\\\":669006156.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0249,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:45:36.9318370Z\\\",\\\"cpu\\\":0.597,\\\"memory\\\":669017716.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0291,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:45:46.9418145Z\\\",\\\"cpu\\\":0.088,\\\"memory\\\":669018616.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0215,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:45:56.9517823Z\\\",\\\"cpu\\\":0.093,\\\"memory\\\":669015344.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0139,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}}]}\\r\\nRequestStart: + 2022-02-19T04:46:01.4817718Z; ResponseTime: 2022-02-19T04:46:01.4817718Z; + StoreResult: StorePhysicalAddress: rntbd://10.0.0.25:11300/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/6c1132e0-ac57-4c8d-8a80-77efc07c2956/partitions/327b83cc-dc8e-40f3-99ea-0e2abe4b9639/replicas/132816966912893869s, + LSN: 10, GlobalCommittedLsn: 10, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 0, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#10, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 1.469, ActivityId: + d5ed2811-913e-11ec-8c17-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:46:01.4817718Z\\\", \\\"durationInMs\\\": 0.0137},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:46:01.4817855Z\\\", + \\\"durationInMs\\\": 0.0027},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:46:01.4817882Z\\\", \\\"durationInMs\\\": 0.1659},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:46:01.4819541Z\\\", + \\\"durationInMs\\\": 1.7314},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:46:01.4836855Z\\\", \\\"durationInMs\\\": 0.0414},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:46:01.4837269Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":494,\\\"responseMetadataSizeInBytes\\\":135,\\\"responseBodySizeInBytes\\\":87};\\r\\n + ResourceType: Collection, OperationType: Read\\r\\nRequestStart: 2022-02-19T04:46:01.4817718Z; + ResponseTime: 2022-02-19T04:46:01.4817718Z; StoreResult: StorePhysicalAddress: + rntbd://10.0.0.28:11000/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/6c1132e0-ac57-4c8d-8a80-77efc07c2956/partitions/327b83cc-dc8e-40f3-99ea-0e2abe4b9639/replicas/132816966912893870s, + LSN: 10, GlobalCommittedLsn: 10, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 0, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#10, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 1.011, ActivityId: + d5ed2811-913e-11ec-8c17-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:46:01.4817718Z\\\", \\\"durationInMs\\\": 0.003},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:46:01.4817748Z\\\", + \\\"durationInMs\\\": 0.001},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:46:01.4817758Z\\\", \\\"durationInMs\\\": 0.1225},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:46:01.4818983Z\\\", + \\\"durationInMs\\\": 1.4982},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:46:01.4833965Z\\\", \\\"durationInMs\\\": 0.1476},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:46:01.4835441Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":494,\\\"responseMetadataSizeInBytes\\\":135,\\\"responseBodySizeInBytes\\\":87};\\r\\n + ResourceType: Collection, OperationType: Read\\r\\n, SDK: Microsoft.Azure.Documents.Common/2.14.0\"}, + Request URI: /dbs/cli000003/colls/cli000002, RequestStats: , SDK: Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '5606' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46:00 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.14.0 + status: + code: 404 + message: NotFound +- request: + body: '{"properties": {"resource": {"id": "cli000002", "indexingPolicy": {"automatic": + true, "indexingMode": "consistent", "includedPaths": [{"path": "/*"}], "excludedPaths": + [{"path": "/\"_etag\"/?"}]}, "partitionKey": {"paths": ["/pk"], "kind": "Hash"}}, + "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + Content-Length: + - '265' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/2edbc10e-f2e9-49ef-8a7a-03d197c29d1d?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46:02 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/operationResults/2edbc10e-f2e9-49ef-8a7a-03d197c29d1d?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/2edbc10e-f2e9-49ef-8a7a-03d197c29d1d?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs","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},"geospatialConfig":{"type":"Geography"},"_rid":"xUJBAKR3GFQ=","_ts":1645245973,"_self":"dbs/xUJBAA==/colls/xUJBAKR3GFQ=/","_etag":"\"00007500-0000-0200-0000-621076150000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"xUJBAA==","_self":"dbs/xUJBAA==/","_etag":"\"00007200-0000-0200-0000-621075f10000\"","_colls":"colls/","_users":"users/","_ts":1645245937}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '483' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs","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},"geospatialConfig":{"type":"Geography"},"_rid":"xUJBAKR3GFQ=","_ts":1645245973,"_self":"dbs/xUJBAA==/colls/xUJBAKR3GFQ=/","_etag":"\"00007500-0000-0200-0000-621076150000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46:35 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation/operationResults/ea8194dd-ca8e-4266-a9fc-c67545e3af10?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation/operationResults/ea8194dd-ca8e-4266-a9fc-c67545e3af10?api-version=2021-11-15-preview + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:46:44 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"xUJBAA==","_self":"dbs/xUJBAA==/","_etag":"\"00007200-0000-0200-0000-621075f10000\"","_colls":"colls/","_users":"users/","_ts":1645245937}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '483' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs","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},"geospatialConfig":{"type":"Geography"},"_rid":"xUJBAKR3GFQ=","_ts":1645245973,"_self":"dbs/xUJBAA==/colls/xUJBAKR3GFQ=/","_etag":"\"00007500-0000-0200-0000-621076150000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47:07 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation/operationResults/b27d8899-d564-40a0-8831-dc4197245b23?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation/operationResults/b27d8899-d564-40a0-8831-dc4197245b23?api-version=2021-11-15-preview + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:47:18 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"xUJBAA==","_self":"dbs/xUJBAA==/","_etag":"\"00007200-0000-0200-0000-621075f10000\"","_colls":"colls/","_users":"users/","_ts":1645245937}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '483' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs","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},"geospatialConfig":{"type":"Geography"},"_rid":"xUJBAKR3GFQ=","_ts":1645245973,"_self":"dbs/xUJBAA==/colls/xUJBAKR3GFQ=/","_etag":"\"00007500-0000-0200-0000-621076150000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47:39 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation/operationResults/4fb54a50-3916-4f0a-8ebd-adb16d456eee?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_graph_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/retrieveContinuousBackupInformation/operationResults/4fb54a50-3916-4f0a-8ebd-adb16d456eee?api-version=2021-11-15-preview + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:47:49 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:48: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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_restorable_commands.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_restorable_commands.yaml new file mode 100644 index 00000000000..7762bf8cab6 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_gremlin_restorable_commands.yaml @@ -0,0 +1,1387 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_gremlin_restorable_commands000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001","name":"cli_test_cosmosdb_gremlin_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T05:48:52Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '381' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:48: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": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableGremlin"}], + "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '331' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:49:03.2533653Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"933e9a3e-13d2-4d73-a1ad-6ffdf338b3af","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2002' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:49:05 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:49: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:50: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:50: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e846478d-8c72-40af-97ed-35ae3de2a438?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:55:19.9621953Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"933e9a3e-13d2-4d73-a1ad-6ffdf338b3af","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2434' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:56: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.14.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 --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:55:19.9621953Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"933e9a3e-13d2-4d73-a1ad-6ffdf338b3af","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2434' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:55:19.9621953Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","gremlinEndpoint":"https://cli000004.gremlin.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Gremlin, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"933e9a3e-13d2-4d73-a1ad-6ffdf338b3af","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlin"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2434' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000003"}, "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d061ad0e-c943-49e9-ab96-acd527e8d09b?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:56:11 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/operationResults/d061ad0e-c943-49e9-ab96-acd527e8d09b?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d061ad0e-c943-49e9-ab96-acd527e8d09b?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"mbxLAA==","_self":"dbs/mbxLAA==/","_etag":"\"00005f00-0000-0200-0000-621086830000\"","_colls":"colls/","_users":"users/","_ts":1645250179}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '486' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000002", "indexingPolicy": {"automatic": + true, "indexingMode": "consistent", "includedPaths": [{"path": "/*"}], "excludedPaths": + [{"path": "/\"_etag\"/?"}]}, "partitionKey": {"paths": ["/pk"], "kind": "Hash"}}, + "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + Content-Length: + - '265' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/07fb835b-26ac-43ee-b0a4-2a78709634e9?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:56:44 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002/operationResults/07fb835b-26ac-43ee-b0a4-2a78709634e9?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/07fb835b-26ac-43ee-b0a4-2a78709634e9?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin graph create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_gremlin_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/gremlinDatabases/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs","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},"geospatialConfig":{"type":"Geography"},"_rid":"mbxLAJDBqBY=","_ts":1645250212,"_self":"dbs/mbxLAA==/colls/mbxLAJDBqBY=/","_etag":"\"00006200-0000-0200-0000-621086a40000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1117' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restorable-database-account show + Connection: + - keep-alive + ParameterSetName: + - --location --instance-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/933e9a3e-13d2-4d73-a1ad-6ffdf338b3af?api-version=2021-10-15 + response: + body: + string: '{"name":"933e9a3e-13d2-4d73-a1ad-6ffdf338b3af","location":"East US + 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/933e9a3e-13d2-4d73-a1ad-6ffdf338b3af","properties":{"accountName":"cli000004","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T05:55:20Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8d82c31a-fb9a-46cf-9a42-e4d46841b448","creationTime":"2022-02-19T05:55:22Z"}]}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '579' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin restorable-database list + Connection: + - keep-alive + ParameterSetName: + - --location --instance-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/933e9a3e-13d2-4d73-a1ad-6ffdf338b3af/restorableGremlinDatabases?api-version=2021-11-15-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/933e9a3e-13d2-4d73-a1ad-6ffdf338b3af/restorableGremlinDatabases/e04e40cd-b236-4bdf-b563-bd0f6720d6aa","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinDatabases","name":"e04e40cd-b236-4bdf-b563-bd0f6720d6aa","properties":{"resource":{"_rid":"nbNHAwAAAA==","eventTimestamp":"2022-02-19T05:56:19Z","ownerId":"cli000003","ownerResourceId":"mbxLAA==","operationType":"Create"}}}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '555' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:57:22 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin restorable-graph list + Connection: + - keep-alive + ParameterSetName: + - --location --instance-id --database-rid + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/933e9a3e-13d2-4d73-a1ad-6ffdf338b3af/restorableGraphs?api-version=2021-11-15-preview&restorableGremlinDatabaseRid=mbxLAA%3D%3D + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/933e9a3e-13d2-4d73-a1ad-6ffdf338b3af/restorableGraphs/a25063ad-637e-4137-9cbc-b23ea186dcff","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGraphs","name":"a25063ad-637e-4137-9cbc-b23ea186dcff","properties":{"resource":{"_rid":"0IJnvwAAAA==","eventTimestamp":"2022-02-19T05:56:52Z","ownerId":"cli000002","ownerResourceId":"mbxLAJDBqBY=","operationType":"Create"}}}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '539' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb gremlin restorable-resource list + Connection: + - keep-alive + ParameterSetName: + - --restore-location -l --instance-id --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/933e9a3e-13d2-4d73-a1ad-6ffdf338b3af/restorableGremlinResources?api-version=2021-11-15-preview&restoreLocation=eastus2&restoreTimestampInUtc=2022-02-19T05%3A57%3A20%2B00%3A00 + response: + body: + string: '{"value":[{"databaseName":"cli000003","graphNames":["cli000002"]}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '67' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:59: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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongo_role.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongo_role.yaml new file mode 100644 index 00000000000..049b2827431 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongo_role.yaml @@ -0,0 +1,2846 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_mongodb_role000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001","name":"cli_test_cosmosdb_mongodb_role000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T04:48:31Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:48:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "kind": "MongoDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableMongoRoleBasedAccessControl"}], + "apiProperties": {}, "createMode": "Default"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '302' + Content-Type: + - application/json + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:48:39.0574699Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"FullFidelity"},"instanceId":"61f32aec-4746-4e13-9dfb-e098b8bacc46","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"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":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Invalid"}},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2115' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:48:41 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:49: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:49: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:50: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9d43cdc-b15d-45bf-b06d-291e155b7cf1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:53:53.7717296Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents-staging.windows-ppe.net:443/","mongoEndpoint":"https://cli000002.mongo.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"FullFidelity"},"instanceId":"61f32aec-4746-4e13-9dfb-e098b8bacc46","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000002-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000002-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000002-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000002-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2564' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.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 --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:53:53.7717296Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents-staging.windows-ppe.net:443/","mongoEndpoint":"https://cli000002.mongo.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"FullFidelity"},"instanceId":"61f32aec-4746-4e13-9dfb-e098b8bacc46","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000002-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000002-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000002-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000002-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2564' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000003"}, "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb database create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbDatabases/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c1e1d393-bfb4-4836-974e-34d490dd6f58?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54:46 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbDatabases/cli000003/operationResults/c1e1d393-bfb4-4836-974e-34d490dd6f58?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c1e1d393-bfb4-4836-974e-34d490dd6f58?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbDatabases/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003"}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '325' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"roleName": "my_role_def1", "type": "CustomRole", "databaseName": + "cli000003", "privileges": [{"resource": {"db": "cli000003", "collection": "test"}, + "actions": ["insert", "find"]}], "roles": []}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition create + Connection: + - keep-alive + Content-Length: + - '212' + Content-Type: + - application/json + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/randomid?api-version=2021-11-15-preview + response: + body: + string: '{"code":"BadRequest","message":"A Mongo Role Definition with given + ID [randomid] id not valid. The Mongo role definition should follow the format + dbName.roleName for database '''' and roleName ''''\r\nActivityId: 223cef31-9140-11ec-adf8-9c7bef4baa38, + Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '288' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55:19 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 400 + message: BadRequest +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + date: + - Sat, 19 Feb 2022 04:55:21 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-activity-id: + - 235abcca-9140-11ec-81ca-9c7bef4baa38 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition list + Connection: + - keep-alive + ParameterSetName: + - -g -a + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions?api-version=2021-11-15-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '12' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55:22 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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"roleName": "my_role_def1", "type": "CustomRole", "databaseName": + "cli000003", "privileges": [{"resource": {"db": "cli000003", "collection": "test"}, + "actions": ["insert", "find"]}], "roles": []}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition create + Connection: + - keep-alive + Content-Length: + - '212' + Content-Type: + - application/json + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f1b0511-2d81-4f74-9922-7631b6a53931?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55:25 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1/operationResults/6f1b0511-2d81-4f74-9922-7631b6a53931?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition create + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6f1b0511-2d81-4f74-9922-7631b6a53931?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition create + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1","name":"my_role_def1","properties":{"roleName":"my_role_def1","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["insert","find"]}],"roles":[]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '491' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition exists + Connection: + - keep-alive + ParameterSetName: + - -g -a -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1","name":"my_role_def1","properties":{"roleName":"my_role_def1","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["insert","find"]}],"roles":[]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '491' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55:56 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition show + Connection: + - keep-alive + ParameterSetName: + - -g -a -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1","name":"my_role_def1","properties":{"roleName":"my_role_def1","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["insert","find"]}],"roles":[]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '491' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55:57 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition update + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1","name":"my_role_def1","properties":{"roleName":"my_role_def1","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["insert","find"]}],"roles":[]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '491' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"roleName": "my_role_def1", "type": "CustomRole", "databaseName": + "cli000003", "privileges": [{"resource": {"db": "cli000003", "collection": "test"}, + "actions": ["find"]}], "roles": []}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition update + Connection: + - keep-alive + Content-Length: + - '202' + Content-Type: + - application/json + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0687cc4f-6aa4-4ce8-ae6d-e2a7ea3cad86?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56:01 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1/operationResults/0687cc4f-6aa4-4ce8-ae6d-e2a7ea3cad86?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition update + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0687cc4f-6aa4-4ce8-ae6d-e2a7ea3cad86?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition update + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1","name":"my_role_def1","properties":{"roleName":"my_role_def1","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["find"]}],"roles":[]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '482' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2?api-version=2021-11-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + date: + - Sat, 19 Feb 2022 04:56:40 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-activity-id: + - 53166946-9140-11ec-8fff-9c7bef4baa38 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition list + Connection: + - keep-alive + ParameterSetName: + - -g -a + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions?api-version=2021-11-15-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1","name":"my_role_def1","properties":{"roleName":"my_role_def1","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["find"]}],"roles":[]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '494' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"roleName": "my_role_def2", "type": "CustomRole", "databaseName": + "cli000003", "privileges": [{"resource": {"db": "cli000003", "collection": "test"}, + "actions": ["insert"]}], "roles": [{"db": "cli000003", "role": "my_role_def1"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition create + Connection: + - keep-alive + Content-Length: + - '247' + Content-Type: + - application/json + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/f4c74d99-528e-43c5-b710-14b298150528?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56:44 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2/operationResults/f4c74d99-528e-43c5-b710-14b298150528?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition create + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/f4c74d99-528e-43c5-b710-14b298150528?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition create + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2","name":"my_role_def2","properties":{"roleName":"my_role_def2","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["insert"]}],"roles":[{"db":"cli000003","role":"my_role_def1"}]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '524' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition list + Connection: + - keep-alive + ParameterSetName: + - -g -a + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions?api-version=2021-11-15-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2","name":"my_role_def2","properties":{"roleName":"my_role_def2","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["insert"]}],"roles":[{"db":"cli000003","role":"my_role_def1"}]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1","name":"my_role_def1","properties":{"roleName":"my_role_def1","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["find"]}],"roles":[]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1019' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"userName": "testUser", "password": "MyPass", "databaseName": + "cli000003", "customData": "MyCustomData", "roles": [{"db": "cli000003", "role": + "my_role_def1"}], "mechanisms": "SCRAM-SHA-256"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition create + Connection: + - keep-alive + Content-Length: + - '208' + Content-Type: + - application/json + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/randomuserid?api-version=2021-11-15-preview + response: + body: + string: '{"code":"BadRequest","message":"A Mongo User Definition with given + ID [randomuserid] id not valid. The Mongo User Definition should follow the + format dbName.userName for database '''' and userName ''''\r\nActivityId: + 692915ff-9140-11ec-a7b5-9c7bef4baa38, Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '292' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57:17 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 400 + message: BadRequest +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + date: + - Sat, 19 Feb 2022 04:57:20 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-activity-id: + - 69ee3321-9140-11ec-8853-9c7bef4baa38 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition list + Connection: + - keep-alive + ParameterSetName: + - -g -a + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions?api-version=2021-11-15-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '12' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"userName": "testUser", "password": "MyPass", "databaseName": + "cli000003", "customData": "MyCustomData", "roles": [{"db": "cli000003", "role": + "my_role_def1"}], "mechanisms": "SCRAM-SHA-256"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition create + Connection: + - keep-alive + Content-Length: + - '208' + Content-Type: + - application/json + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e9559cdf-d48e-4a1f-9c6a-3298ac781e81?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57:44 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser/operationResults/e9559cdf-d48e-4a1f-9c6a-3298ac781e81?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition create + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e9559cdf-d48e-4a1f-9c6a-3298ac781e81?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition create + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser","name":"testUser","properties":{"userName":"testUser","password":"","databaseName":"cli000003","customData":"","mechanisms":"SCRAM-SHA-256","roles":[{"db":"cli000003","role":"my_role_def1"}]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '474' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58:15 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition exists + Connection: + - keep-alive + ParameterSetName: + - -g -a -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser","name":"testUser","properties":{"userName":"testUser","password":"","databaseName":"cli000003","customData":"","mechanisms":"SCRAM-SHA-256","roles":[{"db":"cli000003","role":"my_role_def1"}]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '474' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition show + Connection: + - keep-alive + ParameterSetName: + - -g -a -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser","name":"testUser","properties":{"userName":"testUser","password":"","databaseName":"cli000003","customData":"","mechanisms":"SCRAM-SHA-256","roles":[{"db":"cli000003","role":"my_role_def1"}]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '474' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition update + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser","name":"testUser","properties":{"userName":"testUser","password":"","databaseName":"cli000003","customData":"","mechanisms":"SCRAM-SHA-256","roles":[{"db":"cli000003","role":"my_role_def1"}]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '474' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"userName": "testUser", "password": "MyPass", "databaseName": + "cli000003", "customData": "MyCustomData", "roles": [{"db": "cli000003", "role": + "my_role_def2"}], "mechanisms": "SCRAM-SHA-256"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition update + Connection: + - keep-alive + Content-Length: + - '208' + Content-Type: + - application/json + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fb1ffef4-4e52-4d45-92ed-71deec93594b?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58:20 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser/operationResults/fb1ffef4-4e52-4d45-92ed-71deec93594b?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition update + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/fb1ffef4-4e52-4d45-92ed-71deec93594b?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition update + Connection: + - keep-alive + ParameterSetName: + - -g -a -b + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser","name":"testUser","properties":{"userName":"testUser","password":"","databaseName":"cli000003","customData":"","mechanisms":"SCRAM-SHA-256","roles":[{"db":"cli000003","role":"my_role_def2"}]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '474' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition list + Connection: + - keep-alive + ParameterSetName: + - -g -a + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions?api-version=2021-11-15-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser","name":"testUser","properties":{"userName":"testUser","password":"","databaseName":"cli000003","customData":"","mechanisms":"SCRAM-SHA-256","roles":[{"db":"cli000003","role":"my_role_def2"}]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions"}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '486' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/93ba70d6-0a9d-4b0e-b69c-38eaf94c49f6?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58:54 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions/cli000003.testUser/operationResults/93ba70d6-0a9d-4b0e-b69c-38eaf94c49f6?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/93ba70d6-0a9d-4b0e-b69c-38eaf94c49f6?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/93ba70d6-0a9d-4b0e-b69c-38eaf94c49f6?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb user definition list + Connection: + - keep-alive + ParameterSetName: + - -g -a + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbUserDefinitions?api-version=2021-11-15-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '12' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59:56 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/3b22730c-92b2-44c0-84ba-7dcb1e98e42d?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59:58 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def1/operationResults/3b22730c-92b2-44c0-84ba-7dcb1e98e42d?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/3b22730c-92b2-44c0-84ba-7dcb1e98e42d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition list + Connection: + - keep-alive + ParameterSetName: + - -g -a + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions?api-version=2021-11-15-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2","name":"my_role_def2","properties":{"roleName":"my_role_def2","type":1,"databaseName":"cli000003","privileges":[{"resource":{"db":"cli000003","collection":"test"},"actions":["insert"]}],"roles":[]},"type":"Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions"}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '496' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/2e56de91-318c-4e9f-b86f-b3d51053f8df?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00:32 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions/cli000003.my_role_def2/operationResults/2e56de91-318c-4e9f-b86f-b3d51053f8df?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition delete + Connection: + - keep-alive + ParameterSetName: + - -g -a -i --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/2e56de91-318c-4e9f-b86f-b3d51053f8df?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:01: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb role definition list + Connection: + - keep-alive + ParameterSetName: + - -g -a + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/mongodbRoleDefinitions?api-version=2021-11-15-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '12' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:01: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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_graph.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_collection_backupinfo.yaml similarity index 52% rename from src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_graph.yaml rename to src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_collection_backupinfo.yaml index 52d0d735ea6..90cd5aa469f 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_graph.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_collection_backupinfo.yaml @@ -1,2125 +1,1845 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_graph000001?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001","name":"cli_test_cosmosdb_graph000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2021-09-09T23:15:36Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '429' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 09 Sep 2021 23:15:37 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": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": - [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], - "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableGremlinV2"}], - "apiProperties": {}, "createMode": "Default"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - Content-Length: - - '293' - Content-Type: - - application/json - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-06-15 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East - US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-09-09T23:15:43.5316344Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"GremlinV2","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"7a5e3159-de70-4629-afd3-3bb2403325dd","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East - US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East - US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East - US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East - US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlinV2"}],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Invalid"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - cache-control: - - no-store, no-cache - content-length: - - '2077' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:15:45 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - pragma: - - no-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.14.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:16: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:16: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:17:15 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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:17: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:18:15 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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:18: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:19: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:19: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:20: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:20: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:21: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:21: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:22: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:22: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:23: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:23: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1c98da73-a65b-4a8f-a063-abdde18892b6?api-version=2021-06-15 - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:24: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-06-15 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East - US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-09-09T23:23:14.9632622Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"GremlinV2","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"7a5e3159-de70-4629-afd3-3bb2403325dd","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East - US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlinV2"}],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '2455' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:24: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.14.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 --capabilities - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/6.4.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-06-15 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East - US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-09-09T23:23:14.9632622Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"GremlinV2","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"7a5e3159-de70-4629-afd3-3bb2403325dd","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East - US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableGremlinV2"}],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '2455' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:24: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.14.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"instanceSize": "Cosmos.D4s", "instanceCount": 1, "serviceType": - "GraphAPICompute"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service create - Connection: - - keep-alive - Content-Length: - - '100' - Content-Type: - - application/json - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/422d4252-dc33-419c-acf5-cab6c22d559c?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:24:21 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute/operationResults/422d4252-dc33-419c-acf5-cab6c22d559c?api-version=2021-07-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.14.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service create - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/422d4252-dc33-419c-acf5-cab6c22d559c?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:24: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service create - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/422d4252-dc33-419c-acf5-cab6c22d559c?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:25: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service create - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/422d4252-dc33-419c-acf5-cab6c22d559c?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:25: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service create - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute?api-version=2021-07-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute","name":"graphApiCompute","type":"Microsoft.DocumentDB/databaseAccounts/services","properties":{"status":"Running","creationTime":"2021-09-09T23:24:20.8958796Z","instanceSize":"Cosmos.D4s","instanceCount":1,"graphAPIComputeEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net/","serviceType":"GraphAPICompute","locations":[{"name":"graphApiCompute-eastus2","location":"East - US 2","status":"Running","graphAPIComputeEndpoint":"https://cli000003-eastus2.gremlin.cosmos.windows-ppe.net/"}]}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '746' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:25: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.14.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"instanceSize": "Cosmos.D4s", "instanceCount": 2, "serviceType": - "GraphAPICompute"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service update - Connection: - - keep-alive - Content-Length: - - '100' - Content-Type: - - application/json - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/4adaf313-7113-42d2-8361-d7b14aaae6d3?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:25:54 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute/operationResults/4adaf313-7113-42d2-8361-d7b14aaae6d3?api-version=2021-07-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.14.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service update - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/4adaf313-7113-42d2-8361-d7b14aaae6d3?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:26:24 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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service update - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/4adaf313-7113-42d2-8361-d7b14aaae6d3?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:26: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service update - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/4adaf313-7113-42d2-8361-d7b14aaae6d3?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:27:24 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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service update - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/4adaf313-7113-42d2-8361-d7b14aaae6d3?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:27: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service update - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/4adaf313-7113-42d2-8361-d7b14aaae6d3?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:28:24 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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service update - Connection: - - keep-alive - ParameterSetName: - - -a -g --name --kind --count --size - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute?api-version=2021-07-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute","name":"graphApiCompute","type":"Microsoft.DocumentDB/databaseAccounts/services","properties":{"status":"Running","creationTime":"2021-09-09T23:24:20.8958796Z","instanceSize":"Cosmos.D4s","instanceCount":2,"graphAPIComputeEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net/","serviceType":"GraphAPICompute","locations":[{"name":"graphApiCompute-eastus2","location":"East - US 2","status":"Running","graphAPIComputeEndpoint":"https://cli000003-eastus2.gremlin.cosmos.windows-ppe.net/"}]}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '746' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:28:24 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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service show - Connection: - - keep-alive - ParameterSetName: - - -a -g -n - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute?api-version=2021-07-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute","name":"graphApiCompute","type":"Microsoft.DocumentDB/databaseAccounts/services","properties":{"status":"Running","creationTime":"2021-09-09T23:24:20.8958796Z","instanceSize":"Cosmos.D4s","instanceCount":2,"graphAPIComputeEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net/","serviceType":"GraphAPICompute","locations":[{"name":"graphApiCompute-eastus2","location":"East - US 2","status":"Running","graphAPIComputeEndpoint":"https://cli000003-eastus2.gremlin.cosmos.windows-ppe.net/"}]}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '746' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:28: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service list - Connection: - - keep-alive - ParameterSetName: - - -a -g - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services?api-version=2021-07-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute","name":"graphApiCompute","type":"Microsoft.DocumentDB/databaseAccounts/services","properties":{"status":"Running","creationTime":"2021-09-09T23:24:20.8958796Z","instanceSize":"Cosmos.D4s","instanceCount":2,"graphAPIComputeEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net/","serviceType":"GraphAPICompute","locations":[{"name":"graphApiCompute-eastus2","location":"East - US 2","status":"Running","graphAPIComputeEndpoint":"https://cli000003-eastus2.gremlin.cosmos.windows-ppe.net/"}]}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '758' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:28: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb service exists - Connection: - - keep-alive - ParameterSetName: - - -a -g -n - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute?api-version=2021-07-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/services/graphApiCompute","name":"graphApiCompute","type":"Microsoft.DocumentDB/databaseAccounts/services","properties":{"status":"Running","creationTime":"2021-09-09T23:24:20.8958796Z","instanceSize":"Cosmos.D4s","instanceCount":2,"graphAPIComputeEndpoint":"https://cli000003.gremlin.cosmos.windows-ppe.net/","serviceType":"GraphAPICompute","locations":[{"name":"graphApiCompute-eastus2","location":"East - US 2","status":"Running","graphAPIComputeEndpoint":"https://cli000003-eastus2.gremlin.cosmos.windows-ppe.net/"}]}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '746' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:28:27 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.14.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"resource": {"id": "cli000002"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph create - Connection: - - keep-alive - Content-Length: - - '55' - Content-Type: - - application/json - ParameterSetName: - - -a -g -n - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e64e5bb5-b831-4f6c-be4d-e4dac8d2aa15?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:28:29 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002/operationResults/e64e5bb5-b831-4f6c-be4d-e4dac8d2aa15?api-version=2021-07-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.14.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph create - Connection: - - keep-alive - ParameterSetName: - - -a -g -n - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e64e5bb5-b831-4f6c-be4d-e4dac8d2aa15?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:28: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph create - Connection: - - keep-alive - ParameterSetName: - - -a -g -n - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002?api-version=2021-07-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/graphs","name":"cli000002","properties":{"resource":{"id":"cli000002"}}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '368' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:28: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph show - Connection: - - keep-alive - ParameterSetName: - - -a -g -n - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002?api-version=2021-07-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/graphs","name":"cli000002","properties":{"resource":{"id":"cli000002"}}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '368' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:29: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph list - Connection: - - keep-alive - ParameterSetName: - - -a -g - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs?api-version=2021-07-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/ConfigurationManagementGraph","type":"Microsoft.DocumentDB/databaseAccounts/graphs","name":"ConfigurationManagementGraph","properties":{"resource":{"id":"ConfigurationManagementGraph"}}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/graphs","name":"cli000002","properties":{"resource":{"id":"cli000002"}}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '788' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:29: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph exists - Connection: - - keep-alive - ParameterSetName: - - -a -g -n - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002?api-version=2021-07-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/graphs","name":"cli000002","properties":{"resource":{"id":"cli000002"}}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '368' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:29: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -a -g -n --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8df72ee8-caea-4773-982c-7d2d0962b368?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:29:04 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/cli000002/operationResults/8df72ee8-caea-4773-982c-7d2d0962b368?api-version=2021-07-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.14.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph delete - Connection: - - keep-alive - ParameterSetName: - - -a -g -n --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/8df72ee8-caea-4773-982c-7d2d0962b368?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:29: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb graph list - Connection: - - keep-alive - ParameterSetName: - - -a -g - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs?api-version=2021-07-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_graph000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/graphs/ConfigurationManagementGraph","type":"Microsoft.DocumentDB/databaseAccounts/graphs","name":"ConfigurationManagementGraph","properties":{"resource":{"id":"ConfigurationManagementGraph"}}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '419' - content-type: - - application/json - date: - - Thu, 09 Sep 2021 23:29: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.14.0 - status: - code: 200 - message: Ok -version: 1 +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DocumentDB/databaseAccounts/cli000004'' + under resource group ''cli_test_cosmosdb_mongodb_collection_backupinfo000001'' + was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '272' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:39:01 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: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001","name":"cli_test_cosmosdb_mongodb_collection_backupinfo000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T04:38:58Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:39:02 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": "eastus2", "kind": "MongoDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Default", + "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '277' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:39:08.4177463Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"FullFidelity"},"instanceId":"bf6372cf-6f14-4863-b701-7c59f5656a93","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2029' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39:10 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9715468c-0ff9-47fe-89d9-75cb8a9a707a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:35.3356874Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"FullFidelity"},"instanceId":"bf6372cf-6f14-4863-b701-7c59f5656a93","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2482' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.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 --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:35.3356874Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"FullFidelity"},"instanceId":"bf6372cf-6f14-4863-b701-7c59f5656a93","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2482' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:44:35.3356874Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"FullFidelity"},"instanceId":"bf6372cf-6f14-4863-b701-7c59f5656a93","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2482' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"code":"NotFound","message":"the database cli000003 doesn''t exist.\r\nActivityId: + b958f72e-913e-11ec-aacf-9c7bef4baa38, Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '162' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:15 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.14.0 + status: + code: 404 + message: NotFound +- request: + body: '{"properties": {"resource": {"id": "cli000003"}, "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb database create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/34f4900d-360c-4ed0-8fb5-462c39d4079b?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:17 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/operationResults/34f4900d-360c-4ed0-8fb5-462c39d4079b?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/34f4900d-360c-4ed0-8fb5-462c39d4079b?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003"}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '342' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003"}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '342' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-10-15 + response: + body: + string: '{"code":"NotFound","message":"The collection ''cli000003''.''cli000002'' + doesn''t exist.\r\nActivityId: cdbe6f90-913e-11ec-a067-9c7bef4baa38, Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '178' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:52 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.14.0 + status: + code: 404 + message: NotFound +- request: + body: '{"properties": {"resource": {"id": "cli000002", "shardKey": {"theShardKey": + "Hash"}}, "options": {"throughput": 1000}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb collection create + Connection: + - keep-alive + Content-Length: + - '119' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n --shard --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c8a90733-7844-4795-acde-e5dd77aac85c?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45:54 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/operationResults/c8a90733-7844-4795-acde-e5dd77aac85c?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb collection create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n --shard --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c8a90733-7844-4795-acde-e5dd77aac85c?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb collection create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n --shard --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/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"]}}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '447' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003"}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '342' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/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"]}}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '447' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46:27 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation/operationResults/fdcf50c7-4ee7-412c-a049-8151e01390cb?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation/operationResults/fdcf50c7-4ee7-412c-a049-8151e01390cb?api-version=2021-10-15 + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:46:34 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003"}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '342' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/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"]}}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '447' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47:05 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation/operationResults/31b41cab-9fc6-4c0d-a957-bf8cf2129654?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation/operationResults/31b41cab-9fc6-4c0d-a957-bf8cf2129654?api-version=2021-10-15 + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:47:18 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003"}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '342' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/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"]}}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '447' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47:58 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation/operationResults/3f96e32a-6aed-4e1d-a26b-bdf8f3f5c2af?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb mongodb retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_collection_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/retrieveContinuousBackupInformation/operationResults/3f96e32a-6aed-4e1d-a26b-bdf8f3f5c2af?api-version=2021-10-15 + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:48:05 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04: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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_container_backupinfo.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_container_backupinfo.yaml new file mode 100644 index 00000000000..e2228bbbc3c --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_container_backupinfo.yaml @@ -0,0 +1,1831 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DocumentDB/databaseAccounts/cli000004'' + under resource group ''cli_test_cosmosdb_sql_container_backupinfo000001'' + was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '267' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:27:33 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: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_sql_container_backupinfo000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001","name":"cli_test_cosmosdb_sql_container_backupinfo000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T05:27:30Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '375' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:27: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": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Default", + "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '286' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:27:40.211329Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"edf07045-1ffa-4ece-886a-baa22552a661","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '1965' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:27:43 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:28: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:28: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:29: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:29: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:30: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:30: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:31: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:31: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a61841b4-ce9f-48fd-a8a6-eabd3153ea4c?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:31:39.9531201Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"edf07045-1ffa-4ece-886a-baa22552a661","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2324' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32: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.14.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 --kind + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:31:39.9531201Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"edf07045-1ffa-4ece-886a-baa22552a661","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2324' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32:15 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:31:39.9531201Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"edf07045-1ffa-4ece-886a-baa22552a661","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2324' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32:15 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"code":"NotFound","message":"Message: {\"code\":\"NotFound\",\"message\":\"Message: + {\\\"Errors\\\":[\\\"Resource Not Found. Learn more: https:\\\\/\\\\/aka.ms\\\\/cosmosdb-tsg-not-found\\\"]}\\r\\nActivityId: + 4c53ee47-9145-11ec-80fb-9c7bef4baa38, Request URI: /apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/82d0fd8c-daca-4ff5-8b67-a0ee30745e6f/partitions/ef80ae97-e4d8-4786-a122-bd1de1ba0324/replicas/132894831360291854s, + RequestStats: \\r\\nRequestStartTime: 2022-02-19T05:32:16.8979259Z, RequestEndTime: + 2022-02-19T05:32:16.9079148Z, Number of regions attempted:1\\r\\n{\\\"systemHistory\\\":[{\\\"dateUtc\\\":\\\"2022-02-19T05:31:22.0777069Z\\\",\\\"cpu\\\":0.063,\\\"memory\\\":676559160.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0161,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:31:32.0877483Z\\\",\\\"cpu\\\":0.073,\\\"memory\\\":676539860.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0229,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:31:42.0977515Z\\\",\\\"cpu\\\":0.186,\\\"memory\\\":676551208.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0206,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:31:52.1077431Z\\\",\\\"cpu\\\":0.095,\\\"memory\\\":676568112.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0573,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:32:02.1179041Z\\\",\\\"cpu\\\":0.066,\\\"memory\\\":676545620.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0536,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:32:12.1279151Z\\\",\\\"cpu\\\":0.083,\\\"memory\\\":676547452.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0574,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}}]}\\r\\nRequestStart: + 2022-02-19T05:32:16.8979259Z; ResponseTime: 2022-02-19T05:32:16.9079148Z; + StoreResult: StorePhysicalAddress: rntbd://10.0.0.28:11000/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/82d0fd8c-daca-4ff5-8b67-a0ee30745e6f/partitions/ef80ae97-e4d8-4786-a122-bd1de1ba0324/replicas/132894831360291854s, + LSN: 9, GlobalCommittedLsn: 9, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 0, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#9, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 0.892, ActivityId: + 4c53ee47-9145-11ec-80fb-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:16.8979259Z\\\", \\\"durationInMs\\\": 0.0072},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:16.8979331Z\\\", + \\\"durationInMs\\\": 0.0024},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:16.8979355Z\\\", \\\"durationInMs\\\": 0.1988},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:16.8981343Z\\\", + \\\"durationInMs\\\": 1.4476},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:16.8995819Z\\\", \\\"durationInMs\\\": 0.1225},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:16.8997044Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":466,\\\"responseMetadataSizeInBytes\\\":134,\\\"responseBodySizeInBytes\\\":87};\\r\\n + ResourceType: Database, OperationType: Read\\r\\nRequestStart: 2022-02-19T05:32:16.8979259Z; + ResponseTime: 2022-02-19T05:32:16.9079148Z; StoreResult: StorePhysicalAddress: + rntbd://10.0.0.22:11000/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/82d0fd8c-daca-4ff5-8b67-a0ee30745e6f/partitions/ef80ae97-e4d8-4786-a122-bd1de1ba0324/replicas/132889479049026273s, + LSN: 9, GlobalCommittedLsn: 9, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 0, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#9, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 0.765, ActivityId: + 4c53ee47-9145-11ec-80fb-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:16.8979259Z\\\", \\\"durationInMs\\\": 0.0025},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:16.8979284Z\\\", + \\\"durationInMs\\\": 0.0009},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:16.8979293Z\\\", \\\"durationInMs\\\": 0.1731},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:16.8981024Z\\\", + \\\"durationInMs\\\": 1.0953},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:16.8991977Z\\\", \\\"durationInMs\\\": 0.2088},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:16.8994065Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":466,\\\"responseMetadataSizeInBytes\\\":134,\\\"responseBodySizeInBytes\\\":87};\\r\\n + ResourceType: Database, OperationType: Read\\r\\n, SDK: Microsoft.Azure.Documents.Common/2.14.0\"}, + Request URI: /dbs/cli000003, RequestStats: , SDK: Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '5582' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32:16 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.14.0 + status: + code: 404 + message: NotFound +- 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: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6396d020-c24d-494b-870c-7b93603d2c5d?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32:18 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/operationResults/6396d020-c24d-494b-870c-7b93603d2c5d?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/6396d020-c24d-494b-870c-7b93603d2c5d?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql database create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"P+UkAA==","_self":"dbs/P+UkAA==/","_etag":"\"00004d00-0000-0200-0000-621080e90000\"","_colls":"colls/","_users":"users/","_ts":1645248745}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '475' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"P+UkAA==","_self":"dbs/P+UkAA==/","_etag":"\"00004d00-0000-0200-0000-621080e90000\"","_colls":"colls/","_users":"users/","_ts":1645248745}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '475' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-10-15 + response: + body: + string: '{"code":"NotFound","message":"Message: {\"code\":\"NotFound\",\"message\":\"Message: + {\\\"Errors\\\":[\\\"Resource Not Found. Learn more: https:\\\\/\\\\/aka.ms\\\\/cosmosdb-tsg-not-found\\\"]}\\r\\nActivityId: + 6068c4e8-9145-11ec-a141-9c7bef4baa38, Request URI: /apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/82d0fd8c-daca-4ff5-8b67-a0ee30745e6f/partitions/ef80ae97-e4d8-4786-a122-bd1de1ba0324/replicas/132894831360291854s, + RequestStats: \\r\\nRequestStartTime: 2022-02-19T05:32:50.7520378Z, RequestEndTime: + 2022-02-19T05:32:50.7520378Z, Number of regions attempted:1\\r\\n{\\\"systemHistory\\\":[{\\\"dateUtc\\\":\\\"2022-02-19T05:31:55.1822349Z\\\",\\\"cpu\\\":0.366,\\\"memory\\\":661639892.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0288,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:32:05.1922210Z\\\",\\\"cpu\\\":0.381,\\\"memory\\\":661648492.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0188,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:32:15.2021749Z\\\",\\\"cpu\\\":0.507,\\\"memory\\\":661657868.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0765,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:32:25.2121258Z\\\",\\\"cpu\\\":0.185,\\\"memory\\\":661658564.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.078,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:32:35.2220884Z\\\",\\\"cpu\\\":0.412,\\\"memory\\\":661589796.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0675,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T05:32:45.2320550Z\\\",\\\"cpu\\\":0.237,\\\"memory\\\":661591864.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0368,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}}]}\\r\\nRequestStart: + 2022-02-19T05:32:50.7520378Z; ResponseTime: 2022-02-19T05:32:50.7520378Z; + StoreResult: StorePhysicalAddress: rntbd://10.0.0.28:11000/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/82d0fd8c-daca-4ff5-8b67-a0ee30745e6f/partitions/ef80ae97-e4d8-4786-a122-bd1de1ba0324/replicas/132894831360291854s, + LSN: 10, GlobalCommittedLsn: 10, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 0, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#10, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 0.673, ActivityId: + 6068c4e8-9145-11ec-a141-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:50.7520378Z\\\", \\\"durationInMs\\\": 0.0135},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:50.7520513Z\\\", + \\\"durationInMs\\\": 0.0025},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:50.7520538Z\\\", \\\"durationInMs\\\": 0.1626},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:50.7522164Z\\\", + \\\"durationInMs\\\": 1.0617},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:50.7532781Z\\\", \\\"durationInMs\\\": 0.1819},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:50.7534600Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":496,\\\"responseMetadataSizeInBytes\\\":135,\\\"responseBodySizeInBytes\\\":87};\\r\\n + ResourceType: Collection, OperationType: Read\\r\\nRequestStart: 2022-02-19T05:32:50.7520378Z; + ResponseTime: 2022-02-19T05:32:50.7520378Z; StoreResult: StorePhysicalAddress: + rntbd://10.0.0.19:11300/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/82d0fd8c-daca-4ff5-8b67-a0ee30745e6f/partitions/ef80ae97-e4d8-4786-a122-bd1de1ba0324/replicas/132889479049026271s, + LSN: 10, GlobalCommittedLsn: 10, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 0, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#10, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 0.737, ActivityId: + 6068c4e8-9145-11ec-a141-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:50.7520378Z\\\", \\\"durationInMs\\\": 0.0032},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:50.7520410Z\\\", + \\\"durationInMs\\\": 0.0011},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:50.7520421Z\\\", \\\"durationInMs\\\": 0.1192},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:50.7521613Z\\\", + \\\"durationInMs\\\": 1.2316},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T05:32:50.7533929Z\\\", \\\"durationInMs\\\": 0.1334},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T05:32:50.7535263Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":496,\\\"responseMetadataSizeInBytes\\\":135,\\\"responseBodySizeInBytes\\\":87};\\r\\n + ResourceType: Collection, OperationType: Read\\r\\n, SDK: Microsoft.Azure.Documents.Common/2.14.0\"}, + Request URI: /dbs/cli000003/colls/cli000002, RequestStats: , SDK: Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '5607' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32:49 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.14.0 + status: + code: 404 + message: NotFound +- request: + body: '{"properties": {"resource": {"id": "cli000002", "indexingPolicy": {"automatic": + true, "indexingMode": "consistent", "includedPaths": [{"path": "/*"}], "excludedPaths": + [{"path": "/\"_etag\"/?"}]}, "partitionKey": {"paths": ["/pk"], "kind": "Hash"}}, + "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql container create + Connection: + - keep-alive + Content-Length: + - '265' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/2db92844-26c3-4883-8470-e676927068c5?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32:52 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/operationResults/2db92844-26c3-4883-8470-e676927068c5?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql container create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/2db92844-26c3-4883-8470-e676927068c5?api-version=2021-10-15 + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33:22 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql container create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/2db92844-26c3-4883-8470-e676927068c5?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql container create + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -n -p + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/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},"geospatialConfig":{"type":"Geography"},"_rid":"P+UkAMR1JoU=","_ts":1645248780,"_self":"dbs/P+UkAA==/colls/P+UkAMR1JoU=/","_etag":"\"00005000-0000-0200-0000-6210810c0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"P+UkAA==","_self":"dbs/P+UkAA==/","_etag":"\"00004d00-0000-0200-0000-621080e90000\"","_colls":"colls/","_users":"users/","_ts":1645248745}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '475' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/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},"geospatialConfig":{"type":"Geography"},"_rid":"P+UkAMR1JoU=","_ts":1645248780,"_self":"dbs/P+UkAA==/colls/P+UkAMR1JoU=/","_etag":"\"00005000-0000-0200-0000-6210810c0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34:01 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation/operationResults/59f57266-7bbb-4261-a18e-8e7906f82a3a?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation/operationResults/59f57266-7bbb-4261-a18e-8e7906f82a3a?api-version=2021-10-15 + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 5:34:09 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34:31 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"P+UkAA==","_self":"dbs/P+UkAA==/","_etag":"\"00004d00-0000-0200-0000-621080e90000\"","_colls":"colls/","_users":"users/","_ts":1645248745}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '475' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/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},"geospatialConfig":{"type":"Geography"},"_rid":"P+UkAMR1JoU=","_ts":1645248780,"_self":"dbs/P+UkAA==/colls/P+UkAMR1JoU=/","_etag":"\"00005000-0000-0200-0000-6210810c0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34:33 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation/operationResults/9b767329-0f82-441d-b126-8d9dd0a16b02?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation/operationResults/9b767329-0f82-441d-b126-8d9dd0a16b02?api-version=2021-10-15 + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 5:34:42 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"P+UkAA==","_self":"dbs/P+UkAA==/","_etag":"\"00004d00-0000-0200-0000-621080e90000\"","_colls":"colls/","_users":"users/","_ts":1645248745}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '475' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/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},"geospatialConfig":{"type":"Geography"},"_rid":"P+UkAMR1JoU=","_ts":1645248780,"_self":"dbs/P+UkAA==/colls/P+UkAMR1JoU=/","_etag":"\"00005000-0000-0200-0000-6210810c0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"sampledDistinctPartitionKeyCount":0,"partitionKeys":[]}]}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35:06 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation/operationResults/0f024fec-21f3-4f57-9933-462732412e00?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb sql retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -d -c -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_container_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/retrieveContinuousBackupInformation/operationResults/0f024fec-21f3-4f57-9933-462732412e00?api-version=2021-10-15 + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 5:35:13 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35: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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_account_restore_command.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_account_restore_command.yaml new file mode 100644 index 00000000000..857dff6e6fd --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_account_restore_command.yaml @@ -0,0 +1,3290 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_table_account_restore_command000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001","name":"cli_test_cosmosdb_table_account_restore_command000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T05:10:28Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '385' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:10:29 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": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableTable"}], + "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '329' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:10:35.5202638Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"02a2ead7-44fa-487b-973f-17a93c0073c8","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2017' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10:37 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:11: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:11: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:12: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:13: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:13: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:14: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:14: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:15: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:15: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:17: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0702ef1c-8a3a-426e-9491-928bc504fd06?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:17: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:16:58.3840177Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"02a2ead7-44fa-487b-973f-17a93c0073c8","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2445' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:17: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.14.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 --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:16:58.3840177Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"02a2ead7-44fa-487b-973f-17a93c0073c8","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2445' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:17: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:16:58.3840177Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"02a2ead7-44fa-487b-973f-17a93c0073c8","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2445' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:17: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000002"}, "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bdc98e67-9469-443e-b446-df6688242bfc?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:17:43 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/operationResults/bdc98e67-9469-443e-b446-df6688242bfc?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/bdc98e67-9469-443e-b446-df6688242bfc?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:18: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/tables","name":"cli000002","properties":{"resource":{"id":"cli000002","_rid":"KTJSAJ8vE-Q=","_etag":"\"00000000-0000-0000-2550-0d389c0201d8\"","_ts":1645247875}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '412' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:18: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restorable-database-account show + Connection: + - keep-alive + ParameterSetName: + - --location --instance-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8?api-version=2021-10-15 + response: + body: + string: '{"name":"02a2ead7-44fa-487b-973f-17a93c0073c8","location":"East US + 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8","properties":{"accountName":"cli000003","apiType":"Table, + Sql","creationTime":"2022-02-19T05:16:59Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"ea4c7c39-b3a4-4e7e-9c77-038f5e790616","creationTime":"2022-02-19T05:17:01Z"}]}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '577' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:18: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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-10-15 + response: + body: + string: '{"value":[{"name":"2b5e6412-19dc-4d79-88ae-178f5e30dd78","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2b5e6412-19dc-4d79-88ae-178f5e30dd78","properties":{"accountName":"test-virangai-vinhstagemongopitr-del-res1","apiType":"MongoDB","creationTime":"2020-11-30T23:17:02Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a35683c3-cf9b-4378-a290-fb3ab8e741f9","creationTime":"2020-11-30T23:17:02Z"}]}},{"name":"9a4b63c3-49d1-4c87-b28e-92e92aeaa0ea","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/9a4b63c3-49d1-4c87-b28e-92e92aeaa0ea","properties":{"accountName":"pitr-sql-stage-source","apiType":"Sql","creationTime":"2020-12-08T18:18:47Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f61a9ed3-fcda-4603-b1e2-2baadbb6122b","creationTime":"2020-12-08T18:18:47Z"},{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"cdd116b8-a956-43d5-b461-248f837099f4","creationTime":"2020-12-14T21:35:14Z"}]}},{"name":"08155af7-e63f-4db1-82ed-c99b8a08e541","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/08155af7-e63f-4db1-82ed-c99b8a08e541","properties":{"accountName":"test-virangai-vinhstagemongopitr-1","apiType":"MongoDB","creationTime":"2020-12-09T10:37:08Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8c045a40-c3b5-4025-a270-156b748fd08b","creationTime":"2020-12-09T10:37:08Z"}]}},{"name":"530b269d-274b-4987-94e1-f54b09abecff","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/530b269d-274b-4987-94e1-f54b09abecff","properties":{"accountName":"restoredaccountname637435832535194992","apiType":"Sql","creationTime":"2020-12-15T23:04:01Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"257c2c07-efcb-47b2-b696-6ba5ca9785b0","creationTime":"2020-12-15T23:04:01Z"}]}},{"name":"4993c7e8-c48b-4e45-9353-9baea1ce9e2a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/4993c7e8-c48b-4e45-9353-9baea1ce9e2a","properties":{"accountName":"restoredaccountname359","apiType":"Sql","creationTime":"2020-12-16T00:51:06Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f964f331-3322-4719-946a-a8f4e406ca14","creationTime":"2020-12-16T00:51:06Z"}]}},{"name":"d673eaa8-f7fa-421f-9d61-ba314864a431","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d673eaa8-f7fa-421f-9d61-ba314864a431","properties":{"accountName":"pitr-sql-stage-restored-from-new-portal","apiType":"Sql","creationTime":"2021-01-05T00:28:34Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a09d2f05-b90f-4a76-96c5-ef49edadbbae","creationTime":"2021-01-05T00:28:34Z"}]}},{"name":"2ab6f2d2-ce7e-439b-90b3-5505c8f9ff76","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2ab6f2d2-ce7e-439b-90b3-5505c8f9ff76","properties":{"accountName":"pitr-sql-stage-source-personalrestore-greeen","apiType":"Sql","creationTime":"2021-01-15T22:51:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8b3376be-21d5-43db-ad08-7fa9e3f3ad5b","creationTime":"2021-01-15T22:51:59Z"}]}},{"name":"24f3f6b6-9d96-4dc2-84b9-ae1c0cba8d4e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/24f3f6b6-9d96-4dc2-84b9-ae1c0cba8d4e","properties":{"accountName":"restoredaccountname8240","apiType":"Sql","creationTime":"2021-03-02T23:44:13Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c2df5fa4-a593-48f2-8417-9f5f4bb9ef56","creationTime":"2021-03-02T23:44:13Z"}]}},{"name":"f319c2f4-7e68-48c0-9eac-94e12fb51179","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/f319c2f4-7e68-48c0-9eac-94e12fb51179","properties":{"accountName":"restoredaccountname320","apiType":"Sql","creationTime":"2021-03-03T00:59:34Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"005c7a8b-fffd-4106-a2f5-0b4f58b1942a","creationTime":"2021-03-03T00:59:34Z"}]}},{"name":"672e89ce-0096-4a87-8131-3d2d5d483a3a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/672e89ce-0096-4a87-8131-3d2d5d483a3a","properties":{"accountName":"restoredaccountname6982","apiType":"Sql","creationTime":"2021-03-03T02:34:06Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f30afdfa-9473-4658-83c4-5067be2232db","creationTime":"2021-03-03T02:34:06Z"}]}},{"name":"1a937e8e-1a33-4fd1-9349-34ede3dd02f2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/1a937e8e-1a33-4fd1-9349-34ede3dd02f2","properties":{"accountName":"restoredaccountname8295","apiType":"Sql","creationTime":"2021-03-03T17:48:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"0057f632-aaa2-44a6-92bf-c2e623403f52","creationTime":"2021-03-03T17:48:45Z"}]}},{"name":"43e2088d-9b57-4449-8b37-c9bd4d8e785e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/43e2088d-9b57-4449-8b37-c9bd4d8e785e","properties":{"accountName":"restore-test1-target","apiType":"Sql","creationTime":"2021-09-13T19:43:37Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8bba2f54-c670-4d46-8727-6e51034b62f4","creationTime":"2021-09-13T19:43:37Z"}]}},{"name":"5e0567da-281a-4168-877c-0a90e72090c7","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/5e0567da-281a-4168-877c-0a90e72090c7","properties":{"accountName":"vinhstageagain-restoreaemorepro","apiType":"Sql","creationTime":"2021-09-21T19:35:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e61bfea4-b119-406d-8724-eaa901348452","creationTime":"2021-09-21T19:35:04Z"}]}},{"name":"a2976d7e-28ae-4ded-9960-afd43a0878ca","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/a2976d7e-28ae-4ded-9960-afd43a0878ca","properties":{"accountName":"partitioneddnstest","apiType":"Sql","creationTime":"2021-11-04T21:16:17Z","restorableLocations":[]}},{"name":"297b6e89-0d56-4af0-8c6a-906a2f019ac2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/297b6e89-0d56-4af0-8c6a-906a2f019ac2","properties":{"accountName":"table-stage-pitr-validation-source","apiType":"Table, + Sql","creationTime":"2022-01-31T22:41:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"44f78833-f48d-41f5-a111-c354817fb43b","creationTime":"2022-01-31T22:42:00Z"}]}},{"name":"fcf60c23-a586-409a-82ef-e88cd3c18440","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/fcf60c23-a586-409a-82ef-e88cd3c18440","properties":{"accountName":"gremlin-stage-pitr-validation-source","apiType":"Gremlin, + Sql","creationTime":"2022-01-31T22:44:23Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"68aa7c6d-0ec5-4463-a566-5a32020e0677","creationTime":"2022-01-31T22:44:38Z"}]}},{"name":"3782d27f-a2b8-4842-a669-f4a00e49504d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/3782d27f-a2b8-4842-a669-f4a00e49504d","properties":{"accountName":"table-stage-pitr-validation-res-dw","apiType":"Table, + Sql","creationTime":"2021-12-03T19:14:38Z","deletionTime":"2022-01-31T21:22:52Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"49860c7a-db7a-4197-81d8-eaefb219c7c8","creationTime":"2021-12-03T19:14:38Z","deletionTime":"2022-01-31T21:22:52Z"}]}},{"name":"72c73c6e-9e86-48c0-81d2-462eb06fd032","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/72c73c6e-9e86-48c0-81d2-462eb06fd032","properties":{"accountName":"gremlin-stage-pitr-validation-res-lw","apiType":"Gremlin, + Sql","creationTime":"2022-01-31T23:42:50Z","deletionTime":"2022-01-31T23:43:44Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"d36b4fc4-e4b0-4cb6-870c-f03ecbee2a1d","creationTime":"2022-01-31T23:42:50Z","deletionTime":"2022-01-31T23:43:44Z"}]}},{"name":"97e481aa-5e0a-4c9b-8f62-e162e026b6c5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/97e481aa-5e0a-4c9b-8f62-e162e026b6c5","properties":{"accountName":"gremlin-stage-pitr-validation-res-dw","apiType":"Gremlin, + Sql","creationTime":"2022-02-01T00:30:29Z","deletionTime":"2022-02-01T01:03:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"4e72051e-b6d5-4125-91ab-63d7cfaec96a","creationTime":"2022-02-01T00:30:29Z","deletionTime":"2022-02-01T01:03:59Z"}]}},{"name":"d94dd8cb-6d56-47bb-8904-780267e5c97e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d94dd8cb-6d56-47bb-8904-780267e5c97e","properties":{"accountName":"gremlin-stage-pitr-validation-res-rorw","apiType":"Gremlin, + Sql","creationTime":"2022-02-01T01:02:54Z","deletionTime":"2022-02-01T01:18:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c67b9a27-53d9-46fa-84c1-1e000bd3a3b1","creationTime":"2022-02-01T01:02:54Z","deletionTime":"2022-02-01T01:18:04Z"}]}},{"name":"8c5596d1-333d-4571-8b6b-eef8aa4ae2e5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/8c5596d1-333d-4571-8b6b-eef8aa4ae2e5","properties":{"accountName":"table-stage-pitr-validation-res-lw","apiType":"Table, + Sql","creationTime":"2022-02-01T02:01:40Z","deletionTime":"2022-02-01T02:02:38Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b785b343-5493-45e5-b1f4-72247648c972","creationTime":"2022-02-01T02:01:40Z","deletionTime":"2022-02-01T02:02:38Z"}]}},{"name":"d3c0ff35-893b-4a5f-8f78-690c9f19c3af","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d3c0ff35-893b-4a5f-8f78-690c9f19c3af","properties":{"accountName":"table-stage-pitr-validation-res-dw","apiType":"Table, + Sql","creationTime":"2022-02-01T02:43:19Z","deletionTime":"2022-02-01T03:34:53Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"22d43a0f-0cc8-4544-a0ed-c9d038569a12","creationTime":"2022-02-01T02:43:19Z","deletionTime":"2022-02-01T03:34:53Z"}]}},{"name":"cef64542-9495-407a-806b-77e4211bd50c","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/cef64542-9495-407a-806b-77e4211bd50c","properties":{"accountName":"table-stage-pitr-validation-res-rorw","apiType":"Table, + Sql","creationTime":"2022-02-01T03:33:06Z","deletionTime":"2022-02-01T03:48:03Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6798791a-8c99-4081-a39e-dc90ea0b982c","creationTime":"2022-02-01T03:33:06Z","deletionTime":"2022-02-01T03:48:03Z"}]}},{"name":"748cf537-cfcc-4f42-be74-32848a8440b4","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/748cf537-cfcc-4f42-be74-32848a8440b4","properties":{"accountName":"databaseaccount1980","apiType":"Sql","creationTime":"2022-02-09T14:03:28Z","deletionTime":"2022-02-09T15:25:12Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3b63300f-d7f7-4f58-8265-6c299a5a0c22","creationTime":"2022-02-09T14:03:29Z","deletionTime":"2022-02-09T15:25:12Z"}]}},{"name":"c8e03dee-216d-4c60-b4a2-6eed24e5d1d2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c8e03dee-216d-4c60-b4a2-6eed24e5d1d2","properties":{"accountName":"databaseaccount1919","apiType":"MongoDB","creationTime":"2022-02-09T15:00:32Z","deletionTime":"2022-02-09T15:25:14Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6f94ff28-a1b8-42b6-9deb-7f5f3dd8731c","creationTime":"2022-02-09T15:00:34Z","deletionTime":"2022-02-09T15:25:14Z"}]}},{"name":"c0dd8c1f-74d8-4e16-8208-6577fe4c00dd","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c0dd8c1f-74d8-4e16-8208-6577fe4c00dd","properties":{"accountName":"databaseaccount3043","apiType":"Sql","creationTime":"2022-02-09T15:31:12Z","deletionTime":"2022-02-09T15:33:13Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"80bc77f3-2e2e-41fe-a2da-0c0d5f6cb6fb","creationTime":"2022-02-09T15:31:13Z","deletionTime":"2022-02-09T15:33:13Z"}]}},{"name":"5b5f7008-94c8-40ad-8b63-0884d86415c8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/5b5f7008-94c8-40ad-8b63-0884d86415c8","properties":{"accountName":"databaseaccount7607","apiType":"Sql","creationTime":"2022-02-09T16:07:22Z","deletionTime":"2022-02-09T16:36:43Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"350e06c3-22c5-4bbd-89fc-bcae73b36f93","creationTime":"2022-02-09T16:07:24Z","deletionTime":"2022-02-09T16:36:43Z"}]}},{"name":"a0e83650-6c8a-4c63-8273-30caffb893aa","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/a0e83650-6c8a-4c63-8273-30caffb893aa","properties":{"accountName":"databaseaccount4693","apiType":"Sql","creationTime":"2022-02-09T17:14:12Z","deletionTime":"2022-02-09T17:35:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"9ca4336d-ed88-4827-8f0a-abcb2f1366f8","creationTime":"2022-02-09T17:07:26Z","deletionTime":"2022-02-09T17:35:59Z"}]}},{"name":"db3e3d8d-2aaf-4711-bd9f-65521d8a2032","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/db3e3d8d-2aaf-4711-bd9f-65521d8a2032","properties":{"accountName":"databaseaccount7593","apiType":"Sql","creationTime":"2022-02-09T17:41:00Z","deletionTime":"2022-02-09T17:56:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c75a4690-2710-4a94-b844-173f84852d18","creationTime":"2022-02-09T17:41:02Z","deletionTime":"2022-02-09T17:56:45Z"}]}},{"name":"c8f59612-6031-4458-870f-103c12cd862e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c8f59612-6031-4458-870f-103c12cd862e","properties":{"accountName":"databaseaccount3777","apiType":"MongoDB","creationTime":"2022-02-09T17:48:13Z","deletionTime":"2022-02-09T17:56:51Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"cb6d73e4-a841-4825-a0ab-31201b4219ba","creationTime":"2022-02-09T17:48:16Z","deletionTime":"2022-02-09T17:56:51Z"}]}},{"name":"678abcf3-55c2-4375-8c16-cd0fb3d70002","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/678abcf3-55c2-4375-8c16-cd0fb3d70002","properties":{"accountName":"databaseaccount1779","apiType":"Sql","creationTime":"2022-02-09T18:01:36Z","deletionTime":"2022-02-09T19:15:46Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"721d6392-194e-4fff-ae91-e8ed89a4e054","creationTime":"2022-02-09T18:01:38Z","deletionTime":"2022-02-09T19:15:46Z"}]}},{"name":"aeaabb8b-5bb9-48ea-ad9f-3e9834562153","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/aeaabb8b-5bb9-48ea-ad9f-3e9834562153","properties":{"accountName":"restoredaccount1046","apiType":"Sql","creationTime":"2022-02-09T19:03:05Z","deletionTime":"2022-02-09T19:15:49Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3ac91fdc-03d3-4f4e-b0ef-a2d0179829c5","creationTime":"2022-02-09T19:03:05Z","deletionTime":"2022-02-09T19:15:49Z"}]}},{"name":"e59866a8-49e0-45c8-a4dd-302cadd7db2d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/e59866a8-49e0-45c8-a4dd-302cadd7db2d","properties":{"accountName":"databaseaccount4076","apiType":"MongoDB","creationTime":"2022-02-10T07:32:15Z","deletionTime":"2022-02-10T07:52:12Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"455254d4-436e-4642-8667-84f4b55f5b71","creationTime":"2022-02-10T07:32:17Z","deletionTime":"2022-02-10T07:52:12Z"}]}},{"name":"ae724202-d824-4d5f-a417-11ff6bb95786","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ae724202-d824-4d5f-a417-11ff6bb95786","properties":{"accountName":"databaseaccount2978","apiType":"Sql","creationTime":"2022-02-10T07:25:31Z","deletionTime":"2022-02-10T07:52:20Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"5b6aa28f-dbd0-4778-8d5c-7aa98380fbce","creationTime":"2022-02-10T07:25:32Z","deletionTime":"2022-02-10T07:52:20Z"}]}},{"name":"990ca06d-89a7-4dad-9953-71d4cd71caae","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/990ca06d-89a7-4dad-9953-71d4cd71caae","properties":{"accountName":"databaseaccount608","apiType":"Sql","creationTime":"2022-02-10T15:41:48Z","deletionTime":"2022-02-10T15:47:15Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8327f6f4-f6a6-4728-a7b7-17bb4957382c","creationTime":"2022-02-10T15:41:50Z","deletionTime":"2022-02-10T15:47:15Z"}]}},{"name":"2d12b285-fefa-4698-9c96-f9f55f37ff58","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2d12b285-fefa-4698-9c96-f9f55f37ff58","properties":{"accountName":"databaseaccount4967","apiType":"Sql","creationTime":"2022-02-10T16:40:35Z","deletionTime":"2022-02-10T16:44:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"dfbdd87c-1a48-40df-9f20-304755c7591e","creationTime":"2022-02-10T16:40:49Z","deletionTime":"2022-02-10T16:44:31Z"}]}},{"name":"ef07dbad-d602-4a8c-b4f8-5d6c81d736e5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ef07dbad-d602-4a8c-b4f8-5d6c81d736e5","properties":{"accountName":"databaseaccount5882","apiType":"MongoDB","creationTime":"2022-02-10T17:21:02Z","deletionTime":"2022-02-10T17:36:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"73256eee-4a28-4e1a-844e-e072b8205151","creationTime":"2022-02-10T17:21:17Z","deletionTime":"2022-02-10T17:36:31Z"}]}},{"name":"b6b4680d-7fa3-40f6-88b0-d70d1fd6f023","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/b6b4680d-7fa3-40f6-88b0-d70d1fd6f023","properties":{"accountName":"databaseaccount5260","apiType":"Sql","creationTime":"2022-02-16T06:54:18Z","deletionTime":"2022-02-16T07:23:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"5cd1f1fe-5829-4a44-89b5-ed71fe873248","creationTime":"2022-02-16T06:54:24Z","deletionTime":"2022-02-16T07:23:59Z"}]}},{"name":"839538a9-df9f-4f8f-a153-6d90a0290144","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/839538a9-df9f-4f8f-a153-6d90a0290144","properties":{"accountName":"databaseaccount2681","apiType":"MongoDB","creationTime":"2022-02-16T07:22:01Z","deletionTime":"2022-02-16T07:23:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c4b14107-3e05-4f25-b47e-d85dba265a34","creationTime":"2022-02-16T07:22:02Z","deletionTime":"2022-02-16T07:23:59Z"}]}},{"name":"96d081d7-5811-4e21-a2be-6974e6c66104","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/96d081d7-5811-4e21-a2be-6974e6c66104","properties":{"accountName":"databaseaccount1739","apiType":"MongoDB","creationTime":"2022-02-16T07:02:08Z","deletionTime":"2022-02-16T07:24:00Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e2fb5176-594a-41ae-a336-abfe941b13d4","creationTime":"2022-02-16T07:02:56Z","deletionTime":"2022-02-16T07:24:00Z"}]}},{"name":"024834ca-2a51-465b-a8ef-3fa03f2886a5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/024834ca-2a51-465b-a8ef-3fa03f2886a5","properties":{"accountName":"databaseaccount4279","apiType":"Sql","creationTime":"2022-02-16T17:58:45Z","deletionTime":"2022-02-16T18:02:17Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"721d34ae-9bcb-4a2b-abf3-6f7b0cfa2d15","creationTime":"2022-02-16T17:58:49Z","deletionTime":"2022-02-16T18:02:17Z"}]}},{"name":"b12b11d5-38c7-4a12-a545-e748a29efde8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/b12b11d5-38c7-4a12-a545-e748a29efde8","properties":{"accountName":"databaseaccount4890","apiType":"Sql","creationTime":"2022-02-16T18:57:33Z","deletionTime":"2022-02-16T19:03:07Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e80b0ed8-07a8-46f2-a7e1-e2bb11fdd9ff","creationTime":"2022-02-16T18:57:35Z","deletionTime":"2022-02-16T19:03:07Z"}]}},{"name":"c26d3f43-7363-4c54-940a-bde0e96bda72","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c26d3f43-7363-4c54-940a-bde0e96bda72","properties":{"accountName":"db1024-restored","apiType":"Sql","creationTime":"2020-08-14T01:17:36Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eca195d4-fcaa-4d5f-b01b-20f61f01319f","creationTime":"2020-08-14T01:17:36Z"}]}},{"name":"d8974ca8-8f69-4924-9040-c10b7f30524b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d8974ca8-8f69-4924-9040-c10b7f30524b","properties":{"accountName":"restoredaccountname9746","apiType":"Sql","creationTime":"2020-07-21T18:55:14Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"775c4324-cba7-4eb3-a8ee-5e1921f7f57b","creationTime":"2020-07-21T18:55:14Z"}]}},{"name":"aca7d453-88a9-4bf2-8abc-46d21553638f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/aca7d453-88a9-4bf2-8abc-46d21553638f","properties":{"accountName":"db1024","apiType":"Sql","creationTime":"2020-07-21T18:19:37Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a926c9e8-3179-4774-bc1e-fb866407b7db","creationTime":"2020-07-21T18:19:38Z"}]}},{"name":"a54115d5-4356-4771-b7b0-20f475ce5a38","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/a54115d5-4356-4771-b7b0-20f475ce5a38","properties":{"accountName":"stage-pitr-validation-source","apiType":"Sql","creationTime":"2020-08-13T23:51:16Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d9b09727-2a45-4760-a837-3366c1187358","creationTime":"2020-08-13T23:51:17Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"72ee099a-9209-4fe4-aeb2-8f4954f25eba","creationTime":"2020-08-28T18:50:30Z"},{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"e5abbaa4-031a-451a-b041-76c6bcd93fa9","creationTime":"2021-02-08T19:29:22Z"}]}},{"name":"bb3e3c48-18d8-46e8-b294-41d9406885c5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bb3e3c48-18d8-46e8-b294-41d9406885c5","properties":{"accountName":"test-virangai-cont123","apiType":"Sql","creationTime":"2020-08-05T20:32:27Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2355946d-5d79-4cc4-a521-3a302a9bff85","creationTime":"2020-08-05T20:32:27Z"}]}},{"name":"55083b96-b985-4dec-92df-fa0ac98443f1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/55083b96-b985-4dec-92df-fa0ac98443f1","properties":{"accountName":"selvitest-account","apiType":"Sql","creationTime":"2020-07-23T16:18:43Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"787a81fe-fb41-40da-8b69-a9e18966b4e3","creationTime":"2020-07-23T16:18:43Z"}]}},{"name":"ec72f021-4974-405a-8c78-f74207ff0e12","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ec72f021-4974-405a-8c78-f74207ff0e12","properties":{"accountName":"selvitest-account-destinationforrestore","apiType":"Sql","creationTime":"2020-07-23T17:39:58Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"11f925e4-b48d-4d16-9ad2-209d1056ec9c","creationTime":"2020-07-23T17:39:58Z"}]}},{"name":"17783e6d-0e28-41e2-b086-9d17763f1d51","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/17783e6d-0e28-41e2-b086-9d17763f1d51","properties":{"accountName":"virangai-test-bk-cont","apiType":"Sql","creationTime":"2020-07-28T22:09:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"f74e094e-9b1d-4e16-82b6-a57782f1d187","creationTime":"2020-07-28T22:09:24Z"}]}},{"name":"2d90bc37-cd54-4352-9e57-e6aa3f22d494","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2d90bc37-cd54-4352-9e57-e6aa3f22d494","properties":{"accountName":"selvitest-account-destinationforrestorev2","apiType":"Sql","creationTime":"2020-07-23T17:41:22Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e1dfecef-45cb-4c70-bbd5-393eb3774821","creationTime":"2020-07-23T17:41:22Z"}]}},{"name":"b0c8684b-7f9c-45fe-8ab9-2a74b656867e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b0c8684b-7f9c-45fe-8ab9-2a74b656867e","properties":{"accountName":"restoredaccountname637428812785768088","apiType":"Sql","creationTime":"2020-12-07T20:03:41Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"59294929-189f-4f8b-af35-740fc0fba9f0","creationTime":"2020-12-07T20:03:41Z"}]}},{"name":"eadac7e2-61f0-4e07-aaa1-9dbb495ec5a8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/eadac7e2-61f0-4e07-aaa1-9dbb495ec5a8","properties":{"accountName":"pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2020-12-07T21:23:56Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"49174788-8512-4a01-a3ca-38c7857a2635","creationTime":"2020-12-07T21:23:56Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"921dbaed-a5bd-462d-8351-d0eda5e592c0","creationTime":"2020-12-08T23:28:45Z"}]}},{"name":"25a04cf0-89d4-4546-9c30-14d1dc8899df","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/25a04cf0-89d4-4546-9c30-14d1dc8899df","properties":{"accountName":"pitr-mongo36-stage-source","apiType":"MongoDB","creationTime":"2020-12-07T21:35:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b52d5178-bc7b-4b2b-a05e-9d3dba85e7fd","creationTime":"2020-12-07T21:35:24Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b0f33c79-f7b2-421f-9e94-699b0f8c840a","creationTime":"2020-12-08T22:02:23Z"}]}},{"name":"0d00d699-017a-4a76-8639-ab4bec82c5f2","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0d00d699-017a-4a76-8639-ab4bec82c5f2","properties":{"accountName":"restoredaccountname637428989095532319","apiType":"Sql","creationTime":"2020-12-08T00:57:52Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"7c0454e1-f718-48fe-894a-35182a8440d2","creationTime":"2020-12-08T00:57:52Z"}]}},{"name":"d1535f84-06b5-497b-8768-962ece984001","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d1535f84-06b5-497b-8768-962ece984001","properties":{"accountName":"kal-restore-test","apiType":"Sql","creationTime":"2021-01-15T21:58:32Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f4b8377d-89b3-41dd-9892-79bfbc4d523c","creationTime":"2021-01-15T21:58:32Z"}]}},{"name":"9351dd2e-d901-465b-98cb-a74a3aabd49f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/9351dd2e-d901-465b-98cb-a74a3aabd49f","properties":{"accountName":"pitr-unique-mode-source","apiType":"Sql","creationTime":"2021-02-03T19:53:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b5ee0cb6-20df-4132-8378-3d2b2bb477f8","creationTime":"2021-02-03T19:53:26Z"}]}},{"name":"222da8e2-da07-46db-9cd2-51a2efb84b9f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/222da8e2-da07-46db-9cd2-51a2efb84b9f","properties":{"accountName":"pitr-unique-mode-restored","apiType":"Sql","creationTime":"2021-02-03T20:07:50Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"094b572d-52f6-47bc-92c3-a692588ef6d6","creationTime":"2021-02-03T20:07:50Z"}]}},{"name":"19e4130a-cb83-4a34-85c2-e35dcda149f8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/19e4130a-cb83-4a34-85c2-e35dcda149f8","properties":{"accountName":"stage-validation-m","apiType":"MongoDB","creationTime":"2021-02-05T04:08:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"3f97305a-6a6b-4b38-b200-bea92d78f64a","creationTime":"2021-02-05T04:08:11Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"7cf7aaa4-fe00-48fa-820b-cc632feaa9d7","creationTime":"2021-02-05T04:29:43Z"}]}},{"name":"5939cc7f-0bdd-4790-9ac6-a3b281c64f97","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/5939cc7f-0bdd-4790-9ac6-a3b281c64f97","properties":{"accountName":"multiregion-pitr-billing-test","apiType":"Sql","creationTime":"2021-02-19T00:20:18Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"0018e6e6-170f-4e25-b1a5-97e718138e0c","creationTime":"2021-02-19T00:20:18Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e235a61e-abf7-4e95-bfc2-0e4aa649b874","creationTime":"2021-02-19T00:33:52Z"}]}},{"name":"96aa7f5a-5292-44f3-9d3e-bec163b0de1a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/96aa7f5a-5292-44f3-9d3e-bec163b0de1a","properties":{"accountName":"restore-pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2021-02-26T18:11:04Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8c350d54-e45d-4ef7-af55-9f07dc4fe594","creationTime":"2021-02-26T18:11:04Z"}]}},{"name":"06da6f05-e2dc-42ad-b5c1-eb3cb8b2384e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/06da6f05-e2dc-42ad-b5c1-eb3cb8b2384e","properties":{"accountName":"pitr-serverless-test","apiType":"Sql","creationTime":"2021-03-08T22:40:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b0a102a5-1c5e-4208-9834-52871094fe95","creationTime":"2021-03-08T22:40:06Z"}]}},{"name":"1c4db817-dc87-4715-84d5-3b5c44da3cc1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1c4db817-dc87-4715-84d5-3b5c44da3cc1","properties":{"accountName":"pitr-serverless-test-restored","apiType":"Sql","creationTime":"2021-03-08T23:36:49Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"19615e70-1a4a-44ac-904e-8a48b86ff4bb","creationTime":"2021-03-08T23:36:49Z"}]}},{"name":"f297a3ff-0d28-4b55-9886-aab70c231eb9","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/f297a3ff-0d28-4b55-9886-aab70c231eb9","properties":{"accountName":"pitr-as-stage-validation-source","apiType":"Sql","creationTime":"2021-04-16T17:45:41Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"54aa18d1-2c21-4a39-8197-2c59a65594f7","creationTime":"2021-04-16T17:45:43Z"}]}},{"name":"d7f028d4-f830-42e1-b048-1f1bb9b4f8b1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d7f028d4-f830-42e1-b048-1f1bb9b4f8b1","properties":{"accountName":"pitr-as-stage-validation-source-r0416","apiType":"Sql","creationTime":"2021-04-16T18:24:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"9da4166b-2f5b-4c68-82c6-a185af87ad54","creationTime":"2021-04-16T18:24:15Z"}]}},{"name":"fd18a869-1ff1-42b8-9c4d-73adc1dadb94","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fd18a869-1ff1-42b8-9c4d-73adc1dadb94","properties":{"accountName":"shtan-stage-aspitr","apiType":"Sql","creationTime":"2021-05-05T18:13:12Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"114b03f5-830f-46a7-b346-1624e5df1d4b","creationTime":"2021-05-05T18:13:14Z"}]}},{"name":"2a76c5ee-4f83-438a-a8ac-f9428f308d42","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2a76c5ee-4f83-438a-a8ac-f9428f308d42","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210520","apiType":"Sql","creationTime":"2021-05-20T23:55:03Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3e3c1712-1fca-4cec-a003-4e44a4dc92f1","creationTime":"2021-05-20T23:55:03Z"}]}},{"name":"6c410eae-7555-4d5c-9adb-989133eb75da","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6c410eae-7555-4d5c-9adb-989133eb75da","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210520","apiType":"Sql","creationTime":"2021-05-21T01:09:18Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e7e0f640-7daa-44a8-87f1-be75c4b0aa95","creationTime":"2021-05-21T01:09:18Z"}]}},{"name":"c71aa302-8fa9-47f6-9f8e-ad9e89168157","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c71aa302-8fa9-47f6-9f8e-ad9e89168157","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210520","apiType":"Sql","creationTime":"2021-05-21T01:43:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f756bdd5-40e0-4024-a2a5-d5c5bd575346","creationTime":"2021-05-21T01:43:58Z"}]}},{"name":"c30b8b81-056d-4f2f-9ed8-42554b3224b9","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c30b8b81-056d-4f2f-9ed8-42554b3224b9","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210719","apiType":"Sql","creationTime":"2021-07-19T18:40:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3f7abb13-db71-4ff5-8cd2-e53dbf67d138","creationTime":"2021-07-19T18:40:31Z"}]}},{"name":"969959c5-ee44-4560-a055-a0fbdd138546","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/969959c5-ee44-4560-a055-a0fbdd138546","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210719","apiType":"Sql","creationTime":"2021-07-19T22:34:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e5381839-747f-4262-a789-58258955b87f","creationTime":"2021-07-19T22:34:01Z"}]}},{"name":"101802fb-8fb7-4e85-baa8-775c8fbcd371","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/101802fb-8fb7-4e85-baa8-775c8fbcd371","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210719","apiType":"Sql","creationTime":"2021-07-19T23:01:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"77342fa8-9e80-48cd-8203-94b97acec289","creationTime":"2021-07-19T23:01:45Z"}]}},{"name":"16815eb9-377d-453a-9f39-831fd97016f5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/16815eb9-377d-453a-9f39-831fd97016f5","properties":{"accountName":"antoshni-cosmosdb-sql-stage","apiType":"Sql","creationTime":"2021-08-04T10:20:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dca2aa8b-6bf1-4a0b-b17f-eab3220eb7f1","creationTime":"2021-08-04T10:20:44Z"}]}},{"name":"40f603a6-d723-412b-985a-3611e3f34573","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/40f603a6-d723-412b-985a-3611e3f34573","properties":{"accountName":"antoshni-cosmosdb-sql-eastus2","apiType":"Sql","creationTime":"2021-08-04T11:48:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d0ad30c9-8208-45cf-8bb6-b44776bf5fb5","creationTime":"2021-08-04T11:48:27Z"}]}},{"name":"04ee5600-3554-43b6-b544-16ef5e921bea","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/04ee5600-3554-43b6-b544-16ef5e921bea","properties":{"accountName":"sqltestaccount125","apiType":"Sql","creationTime":"2021-08-04T23:30:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e5fb6433-f0a2-403e-a81e-d12f43058085","creationTime":"2021-08-04T23:30:56Z"}]}},{"name":"2ea253f0-313b-43c6-a4be-1fcb54437be7","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2ea253f0-313b-43c6-a4be-1fcb54437be7","properties":{"accountName":"sqltestaccount126","apiType":"MongoDB","creationTime":"2021-08-04T23:49:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"5a178e16-080c-4be3-917d-0c241156a941","creationTime":"2021-08-04T23:49:44Z"}]}},{"name":"4c010b75-7b1a-4019-a71c-6abca880fe95","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/4c010b75-7b1a-4019-a71c-6abca880fe95","properties":{"accountName":"pitr-hotfix-stage-restored-wrr-20210910","apiType":"Sql","creationTime":"2021-09-10T23:14:26Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"92b99b94-fe96-45f3-8051-d1c258fd0b68","creationTime":"2021-09-10T23:14:26Z"}]}},{"name":"0aa11051-69c7-4a19-a281-a3a3526d8570","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0aa11051-69c7-4a19-a281-a3a3526d8570","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210913","apiType":"Sql","creationTime":"2021-09-13T17:25:43Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f1475bf0-87cc-43fb-92c0-88cdc89e4ba1","creationTime":"2021-09-13T17:25:43Z"}]}},{"name":"c6e1b941-6e45-4a29-b752-c6f3017a71f0","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c6e1b941-6e45-4a29-b752-c6f3017a71f0","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210913","apiType":"Sql","creationTime":"2021-09-13T18:05:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"026c42c6-f18b-4e06-aa55-10febe98c9ff","creationTime":"2021-09-13T18:05:25Z"}]}},{"name":"78b4f7b9-49ee-46ec-b03c-b2307922ab64","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/78b4f7b9-49ee-46ec-b03c-b2307922ab64","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210913","apiType":"Sql","creationTime":"2021-09-13T18:42:18Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3e6f077b-bd7c-4006-97e1-c48b8232780b","creationTime":"2021-09-13T18:42:18Z"}]}},{"name":"1923c87c-afe7-49de-a6ce-e0dc93ffd3ad","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1923c87c-afe7-49de-a6ce-e0dc93ffd3ad","properties":{"accountName":"antoshni-cosmosdb-sql-eastus2-restored0914-1","apiType":"Sql","creationTime":"2021-09-14T06:34:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e0703e55-02ad-4ea9-988a-46ba3641b256","creationTime":"2021-09-14T06:34:15Z"}]}},{"name":"b268e20e-77e0-42d9-918c-d171463b43a3","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b268e20e-77e0-42d9-918c-d171463b43a3","properties":{"accountName":"ankistest2restore","apiType":"Sql","creationTime":"2021-09-17T16:36:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"42570ee8-220a-47d9-9a44-14f22b616942","creationTime":"2021-09-17T16:36:01Z"}]}},{"name":"fb0c8a9d-34b2-4852-9afc-fbd0bd6fc759","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fb0c8a9d-34b2-4852-9afc-fbd0bd6fc759","properties":{"accountName":"antoshni-cosmosdb-stage-eastus2-res-0915-db","apiType":"Sql","creationTime":"2021-09-17T11:33:16Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"044f44cc-54dd-4a2a-bbb8-6a532a580e96","creationTime":"2021-09-17T11:33:16Z"}]}},{"name":"3658b33a-6724-42f6-942c-1ad9325e4ad6","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/3658b33a-6724-42f6-942c-1ad9325e4ad6","properties":{"accountName":"antoshni-cosmosdb-stage-eastus2-restored","apiType":"Sql","creationTime":"2021-09-23T05:58:11Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dc107ed4-d943-4d38-9d5f-08ed784bb09a","creationTime":"2021-09-23T05:58:11Z"}]}},{"name":"527bead4-ed63-4f8e-a89c-6b63103dfb4c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/527bead4-ed63-4f8e-a89c-6b63103dfb4c","properties":{"accountName":"pitr-hotfix-stage-restored-wrr-20211118","apiType":"Sql","creationTime":"2021-11-18T16:37:57Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8fbca9a0-bd1f-456d-bdc6-8ac0b7f296a8","creationTime":"2021-11-18T16:37:57Z"}]}},{"name":"c44a0a02-2095-45ad-a386-c31f881b247e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c44a0a02-2095-45ad-a386-c31f881b247e","properties":{"accountName":"read-region-restore-11182021","apiType":"Sql","creationTime":"2021-11-19T00:27:54Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"fd6a6588-bc72-43a8-8467-f7a730d9742e","creationTime":"2021-11-19T00:27:54Z"}]}},{"name":"7ce10e5c-6bc8-49d1-9d65-9097bceb606a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7ce10e5c-6bc8-49d1-9d65-9097bceb606a","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20211118","apiType":"Sql","creationTime":"2021-11-19T00:25:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2f33bc5e-daf1-4701-8978-d8b493853378","creationTime":"2021-11-19T00:25:10Z"}]}},{"name":"2e234f3c-2536-486f-8951-7d5a14df807c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2e234f3c-2536-486f-8951-7d5a14df807c","properties":{"accountName":"stage-pitr-validation-restored-rrr-20220201","apiType":"Sql","creationTime":"2022-02-01T18:23:22Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"07d2032c-2b48-4bf8-88c3-43c60eba695a","creationTime":"2022-02-01T18:23:22Z"}]}},{"name":"b22a3c38-6b35-4c5b-aea2-c9cfe47c9130","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b22a3c38-6b35-4c5b-aea2-c9cfe47c9130","properties":{"accountName":"stage-pitr-validation-restored-dr-20220201","apiType":"Sql","creationTime":"2022-02-01T19:28:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1fd04eae-7c63-4512-9287-18b95bbda23c","creationTime":"2022-02-01T19:28:05Z"}]}},{"name":"2f5f6a6f-9d84-432e-869a-752a4e1f0401","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2f5f6a6f-9d84-432e-869a-752a4e1f0401","properties":{"accountName":"stage-pitr-validation-restored-ror-20220201","apiType":"Sql","creationTime":"2022-02-02T00:09:53Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6a6ac299-b728-4a15-b5c2-bd0144cb4e8f","creationTime":"2022-02-02T00:09:53Z"}]}},{"name":"50c5386f-aef1-4cef-b086-e8a6c55c6bcf","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/50c5386f-aef1-4cef-b086-e8a6c55c6bcf","properties":{"accountName":"amisitablepitracc1","apiType":"Table, + Sql","creationTime":"2022-02-19T03:40:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"6ddc4880-b187-4626-8490-984bf2e2360e","creationTime":"2022-02-19T03:40:57Z"}]}},{"name":"5480b2a8-4904-424d-8f92-9a582eb38a73","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/5480b2a8-4904-424d-8f92-9a582eb38a73","properties":{"accountName":"amisigremlinpitracc1","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T03:49:56Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eec8e06e-d458-413e-9fd1-664bab3faffd","creationTime":"2022-02-19T03:49:58Z"}]}},{"name":"8700672c-14d0-446f-a3f0-c718410cb943","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/8700672c-14d0-446f-a3f0-c718410cb943","properties":{"accountName":"cliv4kymjnh5pkm","apiType":"Table, + Sql","creationTime":"2022-02-19T04:42:54Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"4d6149a0-5d56-401e-8060-aac3817fb617","creationTime":"2022-02-19T04:42:58Z"}]}},{"name":"7e305a45-fdd6-48f1-abb9-eb88a2e6d535","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7e305a45-fdd6-48f1-abb9-eb88a2e6d535","properties":{"accountName":"cli5omlnjsynzrv","apiType":"Table, + Sql","creationTime":"2022-02-19T05:15:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"60080102-fdfa-458e-9740-f2c931de2b55","creationTime":"2022-02-19T05:15:12Z"}]}},{"name":"02a2ead7-44fa-487b-973f-17a93c0073c8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8","properties":{"accountName":"cli000003","apiType":"Table, + Sql","creationTime":"2022-02-19T05:16:59Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"ea4c7c39-b3a4-4e7e-9c77-038f5e790616","creationTime":"2022-02-19T05:17:01Z"}]}},{"name":"a2417c5a-ca0b-44d4-ab1c-73f9c09e179c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/a2417c5a-ca0b-44d4-ab1c-73f9c09e179c","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T17:45:22Z","deletionTime":"2022-02-01T18:24:48Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0d98cf10-bf71-4283-96b6-23603ea8ec40","creationTime":"2022-02-01T17:45:22Z","deletionTime":"2022-02-01T18:24:48Z"}]}},{"name":"ee720c80-37e5-4392-a084-b100c34cef79","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ee720c80-37e5-4392-a084-b100c34cef79","properties":{"accountName":"barstagerestored-20220201t0941580221","apiType":"Sql","creationTime":"2022-02-01T18:54:52Z","deletionTime":"2022-02-01T18:59:18Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"35cbc1d7-c448-44bc-b1cf-442aef4d55a9","creationTime":"2022-02-01T18:54:52Z","deletionTime":"2022-02-01T18:59:18Z"}]}},{"name":"1cfed635-c5aa-4bc2-a1ac-635183ed1422","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1cfed635-c5aa-4bc2-a1ac-635183ed1422","properties":{"accountName":"barstagesignoff-20220201t0941580221","apiType":"Sql","creationTime":"2022-02-01T17:46:03Z","deletionTime":"2022-02-01T18:59:31Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"61f6d58f-7e35-4b2a-8e35-606cce2aeef2","creationTime":"2022-02-01T17:46:04Z","deletionTime":"2022-02-01T18:59:31Z"}]}},{"name":"7a9ed68e-cdb6-43ca-851f-ad2ab5cdd5c8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7a9ed68e-cdb6-43ca-851f-ad2ab5cdd5c8","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T21:43:35Z","deletionTime":"2022-02-01T21:47:34Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"44920652-bff7-493f-a96c-d37f64761a9f","creationTime":"2022-02-01T21:43:35Z","deletionTime":"2022-02-01T21:47:34Z"}]}},{"name":"07763830-6c62-4336-b6df-a27a198ed17b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/07763830-6c62-4336-b6df-a27a198ed17b","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T23:15:26Z","deletionTime":"2022-02-01T23:18:38Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b5889a31-caa1-4acc-9b3e-b760a7143dcc","creationTime":"2022-02-01T23:15:26Z","deletionTime":"2022-02-01T23:18:38Z"}]}},{"name":"f3ee9a38-64f1-42f6-bd59-1856196c2674","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/f3ee9a38-64f1-42f6-bd59-1856196c2674","properties":{"accountName":"clipvj73tia6lak","apiType":"Table, + Sql","creationTime":"2022-02-19T04:06:01Z","deletionTime":"2022-02-19T04:11:28Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"229dab99-8f8f-438e-84d9-d42946179dc3","creationTime":"2022-02-19T04:06:09Z","deletionTime":"2022-02-19T04:11:28Z"}]}},{"name":"bf6372cf-6f14-4863-b701-7c59f5656a93","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bf6372cf-6f14-4863-b701-7c59f5656a93","properties":{"accountName":"cliv45ugld4sgeu","apiType":"MongoDB","creationTime":"2022-02-19T04:44:36Z","deletionTime":"2022-02-19T04:49:07Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b71e9f3e-ad5a-408b-9b64-6c7d084cb63a","creationTime":"2022-02-19T04:44:37Z","deletionTime":"2022-02-19T04:49:07Z"}]}},{"name":"22cfbbb4-aea1-48db-a12e-64d909e2a2f4","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22cfbbb4-aea1-48db-a12e-64d909e2a2f4","properties":{"accountName":"cli7522jsqmlarh","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:30Z","deletionTime":"2022-02-19T04:49:59Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0f728419-07de-42cc-a254-c892cf98126a","creationTime":"2022-02-19T04:44:31Z","deletionTime":"2022-02-19T04:49:59Z"}]}},{"name":"6fcea3d8-5bd0-46cd-9008-c17fda19010e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6fcea3d8-5bd0-46cd-9008-c17fda19010e","properties":{"accountName":"cliyu3fcweytsmt","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:36Z","deletionTime":"2022-02-19T04:50:23Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0cfc4324-5042-42a4-96dc-c558a8ad45f8","creationTime":"2022-02-19T04:44:38Z","deletionTime":"2022-02-19T04:50:23Z"}]}},{"name":"964ecd3a-b01b-4ab5-9dd6-8e75ca850690","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/964ecd3a-b01b-4ab5-9dd6-8e75ca850690","properties":{"accountName":"clilhyklhnhq5hs","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:20Z","deletionTime":"2022-02-19T04:52:02Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"7a255ec4-8740-4d69-9d94-b13e64e51d35","creationTime":"2022-02-19T04:45:45Z","deletionTime":"2022-02-19T04:52:02Z"}]}},{"name":"84df4ae2-a65a-4ba5-88c4-86552ea43a92","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/84df4ae2-a65a-4ba5-88c4-86552ea43a92","properties":{"accountName":"climdriygfzad4d","apiType":"Table, + Sql","creationTime":"2022-02-19T04:54:40Z","deletionTime":"2022-02-19T04:58:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"63a2aad7-c088-4e5b-b50a-db0747f60a49","creationTime":"2022-02-19T04:54:41Z","deletionTime":"2022-02-19T04:58:24Z"}]}},{"name":"22152a17-dc1d-4bc3-8dbc-d5fc3c741090","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22152a17-dc1d-4bc3-8dbc-d5fc3c741090","properties":{"accountName":"cliikvm37muookv","apiType":"Table, + Sql","creationTime":"2022-02-19T04:56:33Z","deletionTime":"2022-02-19T05:01:59Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d21a7e92-23eb-49e6-b616-d2acfb9706ef","creationTime":"2022-02-19T04:56:34Z","deletionTime":"2022-02-19T05:01:59Z"}]}},{"name":"25d4bda3-9f50-4e1e-906d-0582fbd4b594","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/25d4bda3-9f50-4e1e-906d-0582fbd4b594","properties":{"accountName":"clit5tvktfh7e6s","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T05:07:55Z","deletionTime":"2022-02-19T05:10:31Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b712c41a-a87f-4d82-a40b-58d5922793b8","creationTime":"2022-02-19T05:07:55Z","deletionTime":"2022-02-19T05:10:31Z"}]}},{"name":"161ca050-3724-46fb-9dd8-74c944592e3e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e","properties":{"accountName":"clizwxv7lzjr2qo","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:36Z","deletionTime":"2022-02-19T05:10:31Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"51e479cc-0349-445a-ab46-b47b4375d0aa","creationTime":"2022-02-19T04:44:37Z","deletionTime":"2022-02-19T05:10:31Z"}]}},{"name":"6b54c737-ed48-44c2-8b35-4a81b06c5375","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6b54c737-ed48-44c2-8b35-4a81b06c5375","properties":{"accountName":"clihuloxomvldl4","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T05:09:22Z","deletionTime":"2022-02-19T05:12:00Z","restorableLocations":[]}},{"name":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","properties":{"accountName":"clixnseixqr3245","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:05Z","deletionTime":"2022-02-19T05:12:21Z","restorableLocations":[]}},{"name":"0826e235-7472-4daf-a21e-3d8b4b8920a1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0826e235-7472-4daf-a21e-3d8b4b8920a1","properties":{"accountName":"clircsbnds6jg5h","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T05:13:13Z","deletionTime":"2022-02-19T05:18:34Z","restorableLocations":[]}},{"name":"94263074-5df7-404d-996a-ae94319f3eba","location":"Southeast + Asia","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southeastasia/restorableDatabaseAccounts/94263074-5df7-404d-996a-ae94319f3eba","properties":{"accountName":"ankisco","apiType":"Sql","creationTime":"2021-12-16T07:37:22Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"a2eeaa83-15fb-4b34-a33c-6fc3bbf528b3","creationTime":"2021-12-16T07:37:25Z"}]}},{"name":"4b576c74-3062-48c8-a18a-620b5d691c53","location":"Southeast + Asia","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southeastasia/restorableDatabaseAccounts/4b576c74-3062-48c8-a18a-620b5d691c53","properties":{"accountName":"ankisco2","apiType":"Sql","creationTime":"2022-01-28T18:50:22Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"2d3c8857-b1d2-4b50-9b5d-525f03a70d2b","creationTime":"2022-01-28T18:50:22Z"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '70984' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:22:46 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: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/East%20US%202/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8/restorableTableResources?api-version=2021-11-15-preview&restoreLocation=eastus2&restoreTimestampInUtc=2022-02-19%2005%3A20%3A59%2B00%3A00 + response: + body: + string: '{"value":["cli000002"]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '23' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:22: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "East US 2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0}], "databaseAccountOfferType": + "Standard", "apiProperties": {}, "createMode": "Restore", "restoreParameters": + {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8", + "restoreTimestampInUtc": "2022-02-19T05:20:59.000Z"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + Content-Length: + - '513' + Content-Type: + - application/json + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:23:00.9174039Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"bd3b522c-6107-429f-98d2-902f25cbca3e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8","restoreTimestampInUtc":"2022-02-19T05:20:59Z","tablesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2570' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:23:04 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:23: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:24: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:24: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:25: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:25: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:26: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:26: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:27: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:27: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:28: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:28: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:29: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:29: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:30: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:30: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:31: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:31: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:36: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:36: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:37: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:37: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:38: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:38: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/9672777f-bb18-4118-90fb-8b4e15bc9eae?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:40:14.9038691Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000004.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"bd3b522c-6107-429f-98d2-902f25cbca3e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8","restoreTimestampInUtc":"2022-02-19T05:20:59Z","tablesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2722' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:40: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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:40:14.9038691Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000004.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"bd3b522c-6107-429f-98d2-902f25cbca3e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8","restoreTimestampInUtc":"2022-02-19T05:20:59Z","tablesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2722' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:40:14.9038691Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000004.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"bd3b522c-6107-429f-98d2-902f25cbca3e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/02a2ead7-44fa-487b-973f-17a93c0073c8","restoreTimestampInUtc":"2022-02-19T05:20:59Z","tablesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2722' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:40: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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_account_restore_using_create.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_account_restore_using_create.yaml new file mode 100644 index 00000000000..7fb13c0b6b1 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_account_restore_using_create.yaml @@ -0,0 +1,3415 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_table_account_restore_using_create000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001","name":"cli_test_cosmosdb_table_account_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T05:09:00Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '395' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:09:02 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": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableTable"}], + "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '329' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:09:09.336855Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"7e305a45-fdd6-48f1-abb9-eb88a2e6d535","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2021' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:09:11 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:09: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:11: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:11: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:12: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:12: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:13: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:13: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:14: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:14: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:15: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:15: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/a4ad9582-8364-4317-9c71-21835f4d4235?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:15:09.1246073Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"7e305a45-fdd6-48f1-abb9-eb88a2e6d535","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2450' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16: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.14.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 --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:15:09.1246073Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"7e305a45-fdd6-48f1-abb9-eb88a2e6d535","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2450' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:15:09.1246073Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"7e305a45-fdd6-48f1-abb9-eb88a2e6d535","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2450' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16:15 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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000002"}, "options": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c4abe5dd-9fed-4516-a78d-2680dc0556dd?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16:17 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/operationResults/c4abe5dd-9fed-4516-a78d-2680dc0556dd?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c4abe5dd-9fed-4516-a78d-2680dc0556dd?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/tables","name":"cli000002","properties":{"resource":{"id":"cli000002","_rid":"enk5ALtyM9c=","_etag":"\"00000000-0000-0000-254f-da24b80201d8\"","_ts":1645247789}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '417' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restorable-database-account list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-10-15 + response: + body: + string: '{"value":[{"name":"2b5e6412-19dc-4d79-88ae-178f5e30dd78","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2b5e6412-19dc-4d79-88ae-178f5e30dd78","properties":{"accountName":"test-virangai-vinhstagemongopitr-del-res1","apiType":"MongoDB","creationTime":"2020-11-30T23:17:02Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a35683c3-cf9b-4378-a290-fb3ab8e741f9","creationTime":"2020-11-30T23:17:02Z"}]}},{"name":"9a4b63c3-49d1-4c87-b28e-92e92aeaa0ea","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/9a4b63c3-49d1-4c87-b28e-92e92aeaa0ea","properties":{"accountName":"pitr-sql-stage-source","apiType":"Sql","creationTime":"2020-12-08T18:18:47Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f61a9ed3-fcda-4603-b1e2-2baadbb6122b","creationTime":"2020-12-08T18:18:47Z"},{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"cdd116b8-a956-43d5-b461-248f837099f4","creationTime":"2020-12-14T21:35:14Z"}]}},{"name":"08155af7-e63f-4db1-82ed-c99b8a08e541","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/08155af7-e63f-4db1-82ed-c99b8a08e541","properties":{"accountName":"test-virangai-vinhstagemongopitr-1","apiType":"MongoDB","creationTime":"2020-12-09T10:37:08Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8c045a40-c3b5-4025-a270-156b748fd08b","creationTime":"2020-12-09T10:37:08Z"}]}},{"name":"530b269d-274b-4987-94e1-f54b09abecff","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/530b269d-274b-4987-94e1-f54b09abecff","properties":{"accountName":"restoredaccountname637435832535194992","apiType":"Sql","creationTime":"2020-12-15T23:04:01Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"257c2c07-efcb-47b2-b696-6ba5ca9785b0","creationTime":"2020-12-15T23:04:01Z"}]}},{"name":"4993c7e8-c48b-4e45-9353-9baea1ce9e2a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/4993c7e8-c48b-4e45-9353-9baea1ce9e2a","properties":{"accountName":"restoredaccountname359","apiType":"Sql","creationTime":"2020-12-16T00:51:06Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f964f331-3322-4719-946a-a8f4e406ca14","creationTime":"2020-12-16T00:51:06Z"}]}},{"name":"d673eaa8-f7fa-421f-9d61-ba314864a431","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d673eaa8-f7fa-421f-9d61-ba314864a431","properties":{"accountName":"pitr-sql-stage-restored-from-new-portal","apiType":"Sql","creationTime":"2021-01-05T00:28:34Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"a09d2f05-b90f-4a76-96c5-ef49edadbbae","creationTime":"2021-01-05T00:28:34Z"}]}},{"name":"2ab6f2d2-ce7e-439b-90b3-5505c8f9ff76","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2ab6f2d2-ce7e-439b-90b3-5505c8f9ff76","properties":{"accountName":"pitr-sql-stage-source-personalrestore-greeen","apiType":"Sql","creationTime":"2021-01-15T22:51:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8b3376be-21d5-43db-ad08-7fa9e3f3ad5b","creationTime":"2021-01-15T22:51:59Z"}]}},{"name":"24f3f6b6-9d96-4dc2-84b9-ae1c0cba8d4e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/24f3f6b6-9d96-4dc2-84b9-ae1c0cba8d4e","properties":{"accountName":"restoredaccountname8240","apiType":"Sql","creationTime":"2021-03-02T23:44:13Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c2df5fa4-a593-48f2-8417-9f5f4bb9ef56","creationTime":"2021-03-02T23:44:13Z"}]}},{"name":"f319c2f4-7e68-48c0-9eac-94e12fb51179","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/f319c2f4-7e68-48c0-9eac-94e12fb51179","properties":{"accountName":"restoredaccountname320","apiType":"Sql","creationTime":"2021-03-03T00:59:34Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"005c7a8b-fffd-4106-a2f5-0b4f58b1942a","creationTime":"2021-03-03T00:59:34Z"}]}},{"name":"672e89ce-0096-4a87-8131-3d2d5d483a3a","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/672e89ce-0096-4a87-8131-3d2d5d483a3a","properties":{"accountName":"restoredaccountname6982","apiType":"Sql","creationTime":"2021-03-03T02:34:06Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f30afdfa-9473-4658-83c4-5067be2232db","creationTime":"2021-03-03T02:34:06Z"}]}},{"name":"1a937e8e-1a33-4fd1-9349-34ede3dd02f2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/1a937e8e-1a33-4fd1-9349-34ede3dd02f2","properties":{"accountName":"restoredaccountname8295","apiType":"Sql","creationTime":"2021-03-03T17:48:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"0057f632-aaa2-44a6-92bf-c2e623403f52","creationTime":"2021-03-03T17:48:45Z"}]}},{"name":"43e2088d-9b57-4449-8b37-c9bd4d8e785e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/43e2088d-9b57-4449-8b37-c9bd4d8e785e","properties":{"accountName":"restore-test1-target","apiType":"Sql","creationTime":"2021-09-13T19:43:37Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8bba2f54-c670-4d46-8727-6e51034b62f4","creationTime":"2021-09-13T19:43:37Z"}]}},{"name":"5e0567da-281a-4168-877c-0a90e72090c7","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/5e0567da-281a-4168-877c-0a90e72090c7","properties":{"accountName":"vinhstageagain-restoreaemorepro","apiType":"Sql","creationTime":"2021-09-21T19:35:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e61bfea4-b119-406d-8724-eaa901348452","creationTime":"2021-09-21T19:35:04Z"}]}},{"name":"a2976d7e-28ae-4ded-9960-afd43a0878ca","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/a2976d7e-28ae-4ded-9960-afd43a0878ca","properties":{"accountName":"partitioneddnstest","apiType":"Sql","creationTime":"2021-11-04T21:16:17Z","restorableLocations":[]}},{"name":"297b6e89-0d56-4af0-8c6a-906a2f019ac2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/297b6e89-0d56-4af0-8c6a-906a2f019ac2","properties":{"accountName":"table-stage-pitr-validation-source","apiType":"Table, + Sql","creationTime":"2022-01-31T22:41:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"44f78833-f48d-41f5-a111-c354817fb43b","creationTime":"2022-01-31T22:42:00Z"}]}},{"name":"fcf60c23-a586-409a-82ef-e88cd3c18440","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/fcf60c23-a586-409a-82ef-e88cd3c18440","properties":{"accountName":"gremlin-stage-pitr-validation-source","apiType":"Gremlin, + Sql","creationTime":"2022-01-31T22:44:23Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"68aa7c6d-0ec5-4463-a566-5a32020e0677","creationTime":"2022-01-31T22:44:38Z"}]}},{"name":"3782d27f-a2b8-4842-a669-f4a00e49504d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/3782d27f-a2b8-4842-a669-f4a00e49504d","properties":{"accountName":"table-stage-pitr-validation-res-dw","apiType":"Table, + Sql","creationTime":"2021-12-03T19:14:38Z","deletionTime":"2022-01-31T21:22:52Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"49860c7a-db7a-4197-81d8-eaefb219c7c8","creationTime":"2021-12-03T19:14:38Z","deletionTime":"2022-01-31T21:22:52Z"}]}},{"name":"72c73c6e-9e86-48c0-81d2-462eb06fd032","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/72c73c6e-9e86-48c0-81d2-462eb06fd032","properties":{"accountName":"gremlin-stage-pitr-validation-res-lw","apiType":"Gremlin, + Sql","creationTime":"2022-01-31T23:42:50Z","deletionTime":"2022-01-31T23:43:44Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"d36b4fc4-e4b0-4cb6-870c-f03ecbee2a1d","creationTime":"2022-01-31T23:42:50Z","deletionTime":"2022-01-31T23:43:44Z"}]}},{"name":"97e481aa-5e0a-4c9b-8f62-e162e026b6c5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/97e481aa-5e0a-4c9b-8f62-e162e026b6c5","properties":{"accountName":"gremlin-stage-pitr-validation-res-dw","apiType":"Gremlin, + Sql","creationTime":"2022-02-01T00:30:29Z","deletionTime":"2022-02-01T01:03:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"4e72051e-b6d5-4125-91ab-63d7cfaec96a","creationTime":"2022-02-01T00:30:29Z","deletionTime":"2022-02-01T01:03:59Z"}]}},{"name":"d94dd8cb-6d56-47bb-8904-780267e5c97e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d94dd8cb-6d56-47bb-8904-780267e5c97e","properties":{"accountName":"gremlin-stage-pitr-validation-res-rorw","apiType":"Gremlin, + Sql","creationTime":"2022-02-01T01:02:54Z","deletionTime":"2022-02-01T01:18:04Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c67b9a27-53d9-46fa-84c1-1e000bd3a3b1","creationTime":"2022-02-01T01:02:54Z","deletionTime":"2022-02-01T01:18:04Z"}]}},{"name":"8c5596d1-333d-4571-8b6b-eef8aa4ae2e5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/8c5596d1-333d-4571-8b6b-eef8aa4ae2e5","properties":{"accountName":"table-stage-pitr-validation-res-lw","apiType":"Table, + Sql","creationTime":"2022-02-01T02:01:40Z","deletionTime":"2022-02-01T02:02:38Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b785b343-5493-45e5-b1f4-72247648c972","creationTime":"2022-02-01T02:01:40Z","deletionTime":"2022-02-01T02:02:38Z"}]}},{"name":"d3c0ff35-893b-4a5f-8f78-690c9f19c3af","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/d3c0ff35-893b-4a5f-8f78-690c9f19c3af","properties":{"accountName":"table-stage-pitr-validation-res-dw","apiType":"Table, + Sql","creationTime":"2022-02-01T02:43:19Z","deletionTime":"2022-02-01T03:34:53Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"22d43a0f-0cc8-4544-a0ed-c9d038569a12","creationTime":"2022-02-01T02:43:19Z","deletionTime":"2022-02-01T03:34:53Z"}]}},{"name":"cef64542-9495-407a-806b-77e4211bd50c","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/cef64542-9495-407a-806b-77e4211bd50c","properties":{"accountName":"table-stage-pitr-validation-res-rorw","apiType":"Table, + Sql","creationTime":"2022-02-01T03:33:06Z","deletionTime":"2022-02-01T03:48:03Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6798791a-8c99-4081-a39e-dc90ea0b982c","creationTime":"2022-02-01T03:33:06Z","deletionTime":"2022-02-01T03:48:03Z"}]}},{"name":"748cf537-cfcc-4f42-be74-32848a8440b4","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/748cf537-cfcc-4f42-be74-32848a8440b4","properties":{"accountName":"databaseaccount1980","apiType":"Sql","creationTime":"2022-02-09T14:03:28Z","deletionTime":"2022-02-09T15:25:12Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3b63300f-d7f7-4f58-8265-6c299a5a0c22","creationTime":"2022-02-09T14:03:29Z","deletionTime":"2022-02-09T15:25:12Z"}]}},{"name":"c8e03dee-216d-4c60-b4a2-6eed24e5d1d2","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c8e03dee-216d-4c60-b4a2-6eed24e5d1d2","properties":{"accountName":"databaseaccount1919","apiType":"MongoDB","creationTime":"2022-02-09T15:00:32Z","deletionTime":"2022-02-09T15:25:14Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6f94ff28-a1b8-42b6-9deb-7f5f3dd8731c","creationTime":"2022-02-09T15:00:34Z","deletionTime":"2022-02-09T15:25:14Z"}]}},{"name":"c0dd8c1f-74d8-4e16-8208-6577fe4c00dd","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c0dd8c1f-74d8-4e16-8208-6577fe4c00dd","properties":{"accountName":"databaseaccount3043","apiType":"Sql","creationTime":"2022-02-09T15:31:12Z","deletionTime":"2022-02-09T15:33:13Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"80bc77f3-2e2e-41fe-a2da-0c0d5f6cb6fb","creationTime":"2022-02-09T15:31:13Z","deletionTime":"2022-02-09T15:33:13Z"}]}},{"name":"5b5f7008-94c8-40ad-8b63-0884d86415c8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/5b5f7008-94c8-40ad-8b63-0884d86415c8","properties":{"accountName":"databaseaccount7607","apiType":"Sql","creationTime":"2022-02-09T16:07:22Z","deletionTime":"2022-02-09T16:36:43Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"350e06c3-22c5-4bbd-89fc-bcae73b36f93","creationTime":"2022-02-09T16:07:24Z","deletionTime":"2022-02-09T16:36:43Z"}]}},{"name":"a0e83650-6c8a-4c63-8273-30caffb893aa","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/a0e83650-6c8a-4c63-8273-30caffb893aa","properties":{"accountName":"databaseaccount4693","apiType":"Sql","creationTime":"2022-02-09T17:14:12Z","deletionTime":"2022-02-09T17:35:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"9ca4336d-ed88-4827-8f0a-abcb2f1366f8","creationTime":"2022-02-09T17:07:26Z","deletionTime":"2022-02-09T17:35:59Z"}]}},{"name":"db3e3d8d-2aaf-4711-bd9f-65521d8a2032","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/db3e3d8d-2aaf-4711-bd9f-65521d8a2032","properties":{"accountName":"databaseaccount7593","apiType":"Sql","creationTime":"2022-02-09T17:41:00Z","deletionTime":"2022-02-09T17:56:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c75a4690-2710-4a94-b844-173f84852d18","creationTime":"2022-02-09T17:41:02Z","deletionTime":"2022-02-09T17:56:45Z"}]}},{"name":"c8f59612-6031-4458-870f-103c12cd862e","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c8f59612-6031-4458-870f-103c12cd862e","properties":{"accountName":"databaseaccount3777","apiType":"MongoDB","creationTime":"2022-02-09T17:48:13Z","deletionTime":"2022-02-09T17:56:51Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"cb6d73e4-a841-4825-a0ab-31201b4219ba","creationTime":"2022-02-09T17:48:16Z","deletionTime":"2022-02-09T17:56:51Z"}]}},{"name":"678abcf3-55c2-4375-8c16-cd0fb3d70002","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/678abcf3-55c2-4375-8c16-cd0fb3d70002","properties":{"accountName":"databaseaccount1779","apiType":"Sql","creationTime":"2022-02-09T18:01:36Z","deletionTime":"2022-02-09T19:15:46Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"721d6392-194e-4fff-ae91-e8ed89a4e054","creationTime":"2022-02-09T18:01:38Z","deletionTime":"2022-02-09T19:15:46Z"}]}},{"name":"aeaabb8b-5bb9-48ea-ad9f-3e9834562153","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/aeaabb8b-5bb9-48ea-ad9f-3e9834562153","properties":{"accountName":"restoredaccount1046","apiType":"Sql","creationTime":"2022-02-09T19:03:05Z","deletionTime":"2022-02-09T19:15:49Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3ac91fdc-03d3-4f4e-b0ef-a2d0179829c5","creationTime":"2022-02-09T19:03:05Z","deletionTime":"2022-02-09T19:15:49Z"}]}},{"name":"e59866a8-49e0-45c8-a4dd-302cadd7db2d","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/e59866a8-49e0-45c8-a4dd-302cadd7db2d","properties":{"accountName":"databaseaccount4076","apiType":"MongoDB","creationTime":"2022-02-10T07:32:15Z","deletionTime":"2022-02-10T07:52:12Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"455254d4-436e-4642-8667-84f4b55f5b71","creationTime":"2022-02-10T07:32:17Z","deletionTime":"2022-02-10T07:52:12Z"}]}},{"name":"ae724202-d824-4d5f-a417-11ff6bb95786","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ae724202-d824-4d5f-a417-11ff6bb95786","properties":{"accountName":"databaseaccount2978","apiType":"Sql","creationTime":"2022-02-10T07:25:31Z","deletionTime":"2022-02-10T07:52:20Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"5b6aa28f-dbd0-4778-8d5c-7aa98380fbce","creationTime":"2022-02-10T07:25:32Z","deletionTime":"2022-02-10T07:52:20Z"}]}},{"name":"990ca06d-89a7-4dad-9953-71d4cd71caae","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/990ca06d-89a7-4dad-9953-71d4cd71caae","properties":{"accountName":"databaseaccount608","apiType":"Sql","creationTime":"2022-02-10T15:41:48Z","deletionTime":"2022-02-10T15:47:15Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"8327f6f4-f6a6-4728-a7b7-17bb4957382c","creationTime":"2022-02-10T15:41:50Z","deletionTime":"2022-02-10T15:47:15Z"}]}},{"name":"2d12b285-fefa-4698-9c96-f9f55f37ff58","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/2d12b285-fefa-4698-9c96-f9f55f37ff58","properties":{"accountName":"databaseaccount4967","apiType":"Sql","creationTime":"2022-02-10T16:40:35Z","deletionTime":"2022-02-10T16:44:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"dfbdd87c-1a48-40df-9f20-304755c7591e","creationTime":"2022-02-10T16:40:49Z","deletionTime":"2022-02-10T16:44:31Z"}]}},{"name":"ef07dbad-d602-4a8c-b4f8-5d6c81d736e5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/ef07dbad-d602-4a8c-b4f8-5d6c81d736e5","properties":{"accountName":"databaseaccount5882","apiType":"MongoDB","creationTime":"2022-02-10T17:21:02Z","deletionTime":"2022-02-10T17:36:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"73256eee-4a28-4e1a-844e-e072b8205151","creationTime":"2022-02-10T17:21:17Z","deletionTime":"2022-02-10T17:36:31Z"}]}},{"name":"b6b4680d-7fa3-40f6-88b0-d70d1fd6f023","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/b6b4680d-7fa3-40f6-88b0-d70d1fd6f023","properties":{"accountName":"databaseaccount5260","apiType":"Sql","creationTime":"2022-02-16T06:54:18Z","deletionTime":"2022-02-16T07:23:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"5cd1f1fe-5829-4a44-89b5-ed71fe873248","creationTime":"2022-02-16T06:54:24Z","deletionTime":"2022-02-16T07:23:59Z"}]}},{"name":"839538a9-df9f-4f8f-a153-6d90a0290144","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/839538a9-df9f-4f8f-a153-6d90a0290144","properties":{"accountName":"databaseaccount2681","apiType":"MongoDB","creationTime":"2022-02-16T07:22:01Z","deletionTime":"2022-02-16T07:23:59Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"c4b14107-3e05-4f25-b47e-d85dba265a34","creationTime":"2022-02-16T07:22:02Z","deletionTime":"2022-02-16T07:23:59Z"}]}},{"name":"96d081d7-5811-4e21-a2be-6974e6c66104","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/96d081d7-5811-4e21-a2be-6974e6c66104","properties":{"accountName":"databaseaccount1739","apiType":"MongoDB","creationTime":"2022-02-16T07:02:08Z","deletionTime":"2022-02-16T07:24:00Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e2fb5176-594a-41ae-a336-abfe941b13d4","creationTime":"2022-02-16T07:02:56Z","deletionTime":"2022-02-16T07:24:00Z"}]}},{"name":"024834ca-2a51-465b-a8ef-3fa03f2886a5","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/024834ca-2a51-465b-a8ef-3fa03f2886a5","properties":{"accountName":"databaseaccount4279","apiType":"Sql","creationTime":"2022-02-16T17:58:45Z","deletionTime":"2022-02-16T18:02:17Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"721d34ae-9bcb-4a2b-abf3-6f7b0cfa2d15","creationTime":"2022-02-16T17:58:49Z","deletionTime":"2022-02-16T18:02:17Z"}]}},{"name":"b12b11d5-38c7-4a12-a545-e748a29efde8","location":"West + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/b12b11d5-38c7-4a12-a545-e748a29efde8","properties":{"accountName":"databaseaccount4890","apiType":"Sql","creationTime":"2022-02-16T18:57:33Z","deletionTime":"2022-02-16T19:03:07Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e80b0ed8-07a8-46f2-a7e1-e2bb11fdd9ff","creationTime":"2022-02-16T18:57:35Z","deletionTime":"2022-02-16T19:03:07Z"}]}},{"name":"c26d3f43-7363-4c54-940a-bde0e96bda72","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c26d3f43-7363-4c54-940a-bde0e96bda72","properties":{"accountName":"db1024-restored","apiType":"Sql","creationTime":"2020-08-14T01:17:36Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eca195d4-fcaa-4d5f-b01b-20f61f01319f","creationTime":"2020-08-14T01:17:36Z"}]}},{"name":"d8974ca8-8f69-4924-9040-c10b7f30524b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d8974ca8-8f69-4924-9040-c10b7f30524b","properties":{"accountName":"restoredaccountname9746","apiType":"Sql","creationTime":"2020-07-21T18:55:14Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"775c4324-cba7-4eb3-a8ee-5e1921f7f57b","creationTime":"2020-07-21T18:55:14Z"}]}},{"name":"aca7d453-88a9-4bf2-8abc-46d21553638f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/aca7d453-88a9-4bf2-8abc-46d21553638f","properties":{"accountName":"db1024","apiType":"Sql","creationTime":"2020-07-21T18:19:37Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"a926c9e8-3179-4774-bc1e-fb866407b7db","creationTime":"2020-07-21T18:19:38Z"}]}},{"name":"a54115d5-4356-4771-b7b0-20f475ce5a38","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/a54115d5-4356-4771-b7b0-20f475ce5a38","properties":{"accountName":"stage-pitr-validation-source","apiType":"Sql","creationTime":"2020-08-13T23:51:16Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d9b09727-2a45-4760-a837-3366c1187358","creationTime":"2020-08-13T23:51:17Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"72ee099a-9209-4fe4-aeb2-8f4954f25eba","creationTime":"2020-08-28T18:50:30Z"},{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"e5abbaa4-031a-451a-b041-76c6bcd93fa9","creationTime":"2021-02-08T19:29:22Z"}]}},{"name":"bb3e3c48-18d8-46e8-b294-41d9406885c5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bb3e3c48-18d8-46e8-b294-41d9406885c5","properties":{"accountName":"test-virangai-cont123","apiType":"Sql","creationTime":"2020-08-05T20:32:27Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2355946d-5d79-4cc4-a521-3a302a9bff85","creationTime":"2020-08-05T20:32:27Z"}]}},{"name":"55083b96-b985-4dec-92df-fa0ac98443f1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/55083b96-b985-4dec-92df-fa0ac98443f1","properties":{"accountName":"selvitest-account","apiType":"Sql","creationTime":"2020-07-23T16:18:43Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"787a81fe-fb41-40da-8b69-a9e18966b4e3","creationTime":"2020-07-23T16:18:43Z"}]}},{"name":"ec72f021-4974-405a-8c78-f74207ff0e12","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ec72f021-4974-405a-8c78-f74207ff0e12","properties":{"accountName":"selvitest-account-destinationforrestore","apiType":"Sql","creationTime":"2020-07-23T17:39:58Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"11f925e4-b48d-4d16-9ad2-209d1056ec9c","creationTime":"2020-07-23T17:39:58Z"}]}},{"name":"17783e6d-0e28-41e2-b086-9d17763f1d51","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/17783e6d-0e28-41e2-b086-9d17763f1d51","properties":{"accountName":"virangai-test-bk-cont","apiType":"Sql","creationTime":"2020-07-28T22:09:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"f74e094e-9b1d-4e16-82b6-a57782f1d187","creationTime":"2020-07-28T22:09:24Z"}]}},{"name":"2d90bc37-cd54-4352-9e57-e6aa3f22d494","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2d90bc37-cd54-4352-9e57-e6aa3f22d494","properties":{"accountName":"selvitest-account-destinationforrestorev2","apiType":"Sql","creationTime":"2020-07-23T17:41:22Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e1dfecef-45cb-4c70-bbd5-393eb3774821","creationTime":"2020-07-23T17:41:22Z"}]}},{"name":"b0c8684b-7f9c-45fe-8ab9-2a74b656867e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b0c8684b-7f9c-45fe-8ab9-2a74b656867e","properties":{"accountName":"restoredaccountname637428812785768088","apiType":"Sql","creationTime":"2020-12-07T20:03:41Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"59294929-189f-4f8b-af35-740fc0fba9f0","creationTime":"2020-12-07T20:03:41Z"}]}},{"name":"eadac7e2-61f0-4e07-aaa1-9dbb495ec5a8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/eadac7e2-61f0-4e07-aaa1-9dbb495ec5a8","properties":{"accountName":"pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2020-12-07T21:23:56Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"49174788-8512-4a01-a3ca-38c7857a2635","creationTime":"2020-12-07T21:23:56Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"921dbaed-a5bd-462d-8351-d0eda5e592c0","creationTime":"2020-12-08T23:28:45Z"}]}},{"name":"25a04cf0-89d4-4546-9c30-14d1dc8899df","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/25a04cf0-89d4-4546-9c30-14d1dc8899df","properties":{"accountName":"pitr-mongo36-stage-source","apiType":"MongoDB","creationTime":"2020-12-07T21:35:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b52d5178-bc7b-4b2b-a05e-9d3dba85e7fd","creationTime":"2020-12-07T21:35:24Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"b0f33c79-f7b2-421f-9e94-699b0f8c840a","creationTime":"2020-12-08T22:02:23Z"}]}},{"name":"0d00d699-017a-4a76-8639-ab4bec82c5f2","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0d00d699-017a-4a76-8639-ab4bec82c5f2","properties":{"accountName":"restoredaccountname637428989095532319","apiType":"Sql","creationTime":"2020-12-08T00:57:52Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"7c0454e1-f718-48fe-894a-35182a8440d2","creationTime":"2020-12-08T00:57:52Z"}]}},{"name":"d1535f84-06b5-497b-8768-962ece984001","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d1535f84-06b5-497b-8768-962ece984001","properties":{"accountName":"kal-restore-test","apiType":"Sql","creationTime":"2021-01-15T21:58:32Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f4b8377d-89b3-41dd-9892-79bfbc4d523c","creationTime":"2021-01-15T21:58:32Z"}]}},{"name":"9351dd2e-d901-465b-98cb-a74a3aabd49f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/9351dd2e-d901-465b-98cb-a74a3aabd49f","properties":{"accountName":"pitr-unique-mode-source","apiType":"Sql","creationTime":"2021-02-03T19:53:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b5ee0cb6-20df-4132-8378-3d2b2bb477f8","creationTime":"2021-02-03T19:53:26Z"}]}},{"name":"222da8e2-da07-46db-9cd2-51a2efb84b9f","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/222da8e2-da07-46db-9cd2-51a2efb84b9f","properties":{"accountName":"pitr-unique-mode-restored","apiType":"Sql","creationTime":"2021-02-03T20:07:50Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"094b572d-52f6-47bc-92c3-a692588ef6d6","creationTime":"2021-02-03T20:07:50Z"}]}},{"name":"19e4130a-cb83-4a34-85c2-e35dcda149f8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/19e4130a-cb83-4a34-85c2-e35dcda149f8","properties":{"accountName":"stage-validation-m","apiType":"MongoDB","creationTime":"2021-02-05T04:08:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"3f97305a-6a6b-4b38-b200-bea92d78f64a","creationTime":"2021-02-05T04:08:11Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"7cf7aaa4-fe00-48fa-820b-cc632feaa9d7","creationTime":"2021-02-05T04:29:43Z"}]}},{"name":"5939cc7f-0bdd-4790-9ac6-a3b281c64f97","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/5939cc7f-0bdd-4790-9ac6-a3b281c64f97","properties":{"accountName":"multiregion-pitr-billing-test","apiType":"Sql","creationTime":"2021-02-19T00:20:18Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"0018e6e6-170f-4e25-b1a5-97e718138e0c","creationTime":"2021-02-19T00:20:18Z"},{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"e235a61e-abf7-4e95-bfc2-0e4aa649b874","creationTime":"2021-02-19T00:33:52Z"}]}},{"name":"96aa7f5a-5292-44f3-9d3e-bec163b0de1a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/96aa7f5a-5292-44f3-9d3e-bec163b0de1a","properties":{"accountName":"restore-pitr-mongo32-stage-source","apiType":"MongoDB","creationTime":"2021-02-26T18:11:04Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8c350d54-e45d-4ef7-af55-9f07dc4fe594","creationTime":"2021-02-26T18:11:04Z"}]}},{"name":"06da6f05-e2dc-42ad-b5c1-eb3cb8b2384e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/06da6f05-e2dc-42ad-b5c1-eb3cb8b2384e","properties":{"accountName":"pitr-serverless-test","apiType":"Sql","creationTime":"2021-03-08T22:40:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b0a102a5-1c5e-4208-9834-52871094fe95","creationTime":"2021-03-08T22:40:06Z"}]}},{"name":"1c4db817-dc87-4715-84d5-3b5c44da3cc1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1c4db817-dc87-4715-84d5-3b5c44da3cc1","properties":{"accountName":"pitr-serverless-test-restored","apiType":"Sql","creationTime":"2021-03-08T23:36:49Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"19615e70-1a4a-44ac-904e-8a48b86ff4bb","creationTime":"2021-03-08T23:36:49Z"}]}},{"name":"f297a3ff-0d28-4b55-9886-aab70c231eb9","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/f297a3ff-0d28-4b55-9886-aab70c231eb9","properties":{"accountName":"pitr-as-stage-validation-source","apiType":"Sql","creationTime":"2021-04-16T17:45:41Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"54aa18d1-2c21-4a39-8197-2c59a65594f7","creationTime":"2021-04-16T17:45:43Z"}]}},{"name":"d7f028d4-f830-42e1-b048-1f1bb9b4f8b1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/d7f028d4-f830-42e1-b048-1f1bb9b4f8b1","properties":{"accountName":"pitr-as-stage-validation-source-r0416","apiType":"Sql","creationTime":"2021-04-16T18:24:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"9da4166b-2f5b-4c68-82c6-a185af87ad54","creationTime":"2021-04-16T18:24:15Z"}]}},{"name":"fd18a869-1ff1-42b8-9c4d-73adc1dadb94","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fd18a869-1ff1-42b8-9c4d-73adc1dadb94","properties":{"accountName":"shtan-stage-aspitr","apiType":"Sql","creationTime":"2021-05-05T18:13:12Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"114b03f5-830f-46a7-b346-1624e5df1d4b","creationTime":"2021-05-05T18:13:14Z"}]}},{"name":"2a76c5ee-4f83-438a-a8ac-f9428f308d42","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2a76c5ee-4f83-438a-a8ac-f9428f308d42","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210520","apiType":"Sql","creationTime":"2021-05-20T23:55:03Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3e3c1712-1fca-4cec-a003-4e44a4dc92f1","creationTime":"2021-05-20T23:55:03Z"}]}},{"name":"6c410eae-7555-4d5c-9adb-989133eb75da","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6c410eae-7555-4d5c-9adb-989133eb75da","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210520","apiType":"Sql","creationTime":"2021-05-21T01:09:18Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e7e0f640-7daa-44a8-87f1-be75c4b0aa95","creationTime":"2021-05-21T01:09:18Z"}]}},{"name":"c71aa302-8fa9-47f6-9f8e-ad9e89168157","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c71aa302-8fa9-47f6-9f8e-ad9e89168157","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210520","apiType":"Sql","creationTime":"2021-05-21T01:43:58Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f756bdd5-40e0-4024-a2a5-d5c5bd575346","creationTime":"2021-05-21T01:43:58Z"}]}},{"name":"c30b8b81-056d-4f2f-9ed8-42554b3224b9","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c30b8b81-056d-4f2f-9ed8-42554b3224b9","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210719","apiType":"Sql","creationTime":"2021-07-19T18:40:31Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3f7abb13-db71-4ff5-8cd2-e53dbf67d138","creationTime":"2021-07-19T18:40:31Z"}]}},{"name":"969959c5-ee44-4560-a055-a0fbdd138546","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/969959c5-ee44-4560-a055-a0fbdd138546","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210719","apiType":"Sql","creationTime":"2021-07-19T22:34:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e5381839-747f-4262-a789-58258955b87f","creationTime":"2021-07-19T22:34:01Z"}]}},{"name":"101802fb-8fb7-4e85-baa8-775c8fbcd371","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/101802fb-8fb7-4e85-baa8-775c8fbcd371","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210719","apiType":"Sql","creationTime":"2021-07-19T23:01:45Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"77342fa8-9e80-48cd-8203-94b97acec289","creationTime":"2021-07-19T23:01:45Z"}]}},{"name":"16815eb9-377d-453a-9f39-831fd97016f5","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/16815eb9-377d-453a-9f39-831fd97016f5","properties":{"accountName":"antoshni-cosmosdb-sql-stage","apiType":"Sql","creationTime":"2021-08-04T10:20:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dca2aa8b-6bf1-4a0b-b17f-eab3220eb7f1","creationTime":"2021-08-04T10:20:44Z"}]}},{"name":"40f603a6-d723-412b-985a-3611e3f34573","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/40f603a6-d723-412b-985a-3611e3f34573","properties":{"accountName":"antoshni-cosmosdb-sql-eastus2","apiType":"Sql","creationTime":"2021-08-04T11:48:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d0ad30c9-8208-45cf-8bb6-b44776bf5fb5","creationTime":"2021-08-04T11:48:27Z"}]}},{"name":"04ee5600-3554-43b6-b544-16ef5e921bea","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/04ee5600-3554-43b6-b544-16ef5e921bea","properties":{"accountName":"sqltestaccount125","apiType":"Sql","creationTime":"2021-08-04T23:30:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e5fb6433-f0a2-403e-a81e-d12f43058085","creationTime":"2021-08-04T23:30:56Z"}]}},{"name":"2ea253f0-313b-43c6-a4be-1fcb54437be7","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2ea253f0-313b-43c6-a4be-1fcb54437be7","properties":{"accountName":"sqltestaccount126","apiType":"MongoDB","creationTime":"2021-08-04T23:49:42Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"5a178e16-080c-4be3-917d-0c241156a941","creationTime":"2021-08-04T23:49:44Z"}]}},{"name":"4c010b75-7b1a-4019-a71c-6abca880fe95","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/4c010b75-7b1a-4019-a71c-6abca880fe95","properties":{"accountName":"pitr-hotfix-stage-restored-wrr-20210910","apiType":"Sql","creationTime":"2021-09-10T23:14:26Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"92b99b94-fe96-45f3-8051-d1c258fd0b68","creationTime":"2021-09-10T23:14:26Z"}]}},{"name":"0aa11051-69c7-4a19-a281-a3a3526d8570","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0aa11051-69c7-4a19-a281-a3a3526d8570","properties":{"accountName":"pitr-hotfix-stage-restored-rrr-20210913","apiType":"Sql","creationTime":"2021-09-13T17:25:43Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"f1475bf0-87cc-43fb-92c0-88cdc89e4ba1","creationTime":"2021-09-13T17:25:43Z"}]}},{"name":"c6e1b941-6e45-4a29-b752-c6f3017a71f0","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c6e1b941-6e45-4a29-b752-c6f3017a71f0","properties":{"accountName":"pitr-hotfix-stage-restored-dr-20210913","apiType":"Sql","creationTime":"2021-09-13T18:05:25Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"026c42c6-f18b-4e06-aa55-10febe98c9ff","creationTime":"2021-09-13T18:05:25Z"}]}},{"name":"78b4f7b9-49ee-46ec-b03c-b2307922ab64","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/78b4f7b9-49ee-46ec-b03c-b2307922ab64","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20210913","apiType":"Sql","creationTime":"2021-09-13T18:42:18Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"3e6f077b-bd7c-4006-97e1-c48b8232780b","creationTime":"2021-09-13T18:42:18Z"}]}},{"name":"1923c87c-afe7-49de-a6ce-e0dc93ffd3ad","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1923c87c-afe7-49de-a6ce-e0dc93ffd3ad","properties":{"accountName":"antoshni-cosmosdb-sql-eastus2-restored0914-1","apiType":"Sql","creationTime":"2021-09-14T06:34:15Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"e0703e55-02ad-4ea9-988a-46ba3641b256","creationTime":"2021-09-14T06:34:15Z"}]}},{"name":"b268e20e-77e0-42d9-918c-d171463b43a3","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b268e20e-77e0-42d9-918c-d171463b43a3","properties":{"accountName":"ankistest2restore","apiType":"Sql","creationTime":"2021-09-17T16:36:01Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"42570ee8-220a-47d9-9a44-14f22b616942","creationTime":"2021-09-17T16:36:01Z"}]}},{"name":"fb0c8a9d-34b2-4852-9afc-fbd0bd6fc759","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/fb0c8a9d-34b2-4852-9afc-fbd0bd6fc759","properties":{"accountName":"antoshni-cosmosdb-stage-eastus2-res-0915-db","apiType":"Sql","creationTime":"2021-09-17T11:33:16Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"044f44cc-54dd-4a2a-bbb8-6a532a580e96","creationTime":"2021-09-17T11:33:16Z"}]}},{"name":"3658b33a-6724-42f6-942c-1ad9325e4ad6","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/3658b33a-6724-42f6-942c-1ad9325e4ad6","properties":{"accountName":"antoshni-cosmosdb-stage-eastus2-restored","apiType":"Sql","creationTime":"2021-09-23T05:58:11Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"dc107ed4-d943-4d38-9d5f-08ed784bb09a","creationTime":"2021-09-23T05:58:11Z"}]}},{"name":"527bead4-ed63-4f8e-a89c-6b63103dfb4c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/527bead4-ed63-4f8e-a89c-6b63103dfb4c","properties":{"accountName":"pitr-hotfix-stage-restored-wrr-20211118","apiType":"Sql","creationTime":"2021-11-18T16:37:57Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"8fbca9a0-bd1f-456d-bdc6-8ac0b7f296a8","creationTime":"2021-11-18T16:37:57Z"}]}},{"name":"c44a0a02-2095-45ad-a386-c31f881b247e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/c44a0a02-2095-45ad-a386-c31f881b247e","properties":{"accountName":"read-region-restore-11182021","apiType":"Sql","creationTime":"2021-11-19T00:27:54Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"fd6a6588-bc72-43a8-8467-f7a730d9742e","creationTime":"2021-11-19T00:27:54Z"}]}},{"name":"7ce10e5c-6bc8-49d1-9d65-9097bceb606a","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7ce10e5c-6bc8-49d1-9d65-9097bceb606a","properties":{"accountName":"pitr-hotfix-stage-restored-ror-20211118","apiType":"Sql","creationTime":"2021-11-19T00:25:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"2f33bc5e-daf1-4701-8978-d8b493853378","creationTime":"2021-11-19T00:25:10Z"}]}},{"name":"2e234f3c-2536-486f-8951-7d5a14df807c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2e234f3c-2536-486f-8951-7d5a14df807c","properties":{"accountName":"stage-pitr-validation-restored-rrr-20220201","apiType":"Sql","creationTime":"2022-02-01T18:23:22Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"07d2032c-2b48-4bf8-88c3-43c60eba695a","creationTime":"2022-02-01T18:23:22Z"}]}},{"name":"b22a3c38-6b35-4c5b-aea2-c9cfe47c9130","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/b22a3c38-6b35-4c5b-aea2-c9cfe47c9130","properties":{"accountName":"stage-pitr-validation-restored-dr-20220201","apiType":"Sql","creationTime":"2022-02-01T19:28:05Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"1fd04eae-7c63-4512-9287-18b95bbda23c","creationTime":"2022-02-01T19:28:05Z"}]}},{"name":"2f5f6a6f-9d84-432e-869a-752a4e1f0401","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/2f5f6a6f-9d84-432e-869a-752a4e1f0401","properties":{"accountName":"stage-pitr-validation-restored-ror-20220201","apiType":"Sql","creationTime":"2022-02-02T00:09:53Z","restorableLocations":[{"locationName":"West + US 2","regionalDatabaseAccountInstanceId":"6a6ac299-b728-4a15-b5c2-bd0144cb4e8f","creationTime":"2022-02-02T00:09:53Z"}]}},{"name":"50c5386f-aef1-4cef-b086-e8a6c55c6bcf","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/50c5386f-aef1-4cef-b086-e8a6c55c6bcf","properties":{"accountName":"amisitablepitracc1","apiType":"Table, + Sql","creationTime":"2022-02-19T03:40:55Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"6ddc4880-b187-4626-8490-984bf2e2360e","creationTime":"2022-02-19T03:40:57Z"}]}},{"name":"5480b2a8-4904-424d-8f92-9a582eb38a73","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/5480b2a8-4904-424d-8f92-9a582eb38a73","properties":{"accountName":"amisigremlinpitracc1","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T03:49:56Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"eec8e06e-d458-413e-9fd1-664bab3faffd","creationTime":"2022-02-19T03:49:58Z"}]}},{"name":"8700672c-14d0-446f-a3f0-c718410cb943","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/8700672c-14d0-446f-a3f0-c718410cb943","properties":{"accountName":"cliv4kymjnh5pkm","apiType":"Table, + Sql","creationTime":"2022-02-19T04:42:54Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"4d6149a0-5d56-401e-8060-aac3817fb617","creationTime":"2022-02-19T04:42:58Z"}]}},{"name":"0826e235-7472-4daf-a21e-3d8b4b8920a1","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/0826e235-7472-4daf-a21e-3d8b4b8920a1","properties":{"accountName":"clircsbnds6jg5h","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T05:13:13Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"3b424ad0-16bc-4530-8442-f42760bef598","creationTime":"2022-02-19T05:13:37Z"}]}},{"name":"7e305a45-fdd6-48f1-abb9-eb88a2e6d535","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7e305a45-fdd6-48f1-abb9-eb88a2e6d535","properties":{"accountName":"cli000003","apiType":"Table, + Sql","creationTime":"2022-02-19T05:15:10Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"60080102-fdfa-458e-9740-f2c931de2b55","creationTime":"2022-02-19T05:15:12Z"}]}},{"name":"a2417c5a-ca0b-44d4-ab1c-73f9c09e179c","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/a2417c5a-ca0b-44d4-ab1c-73f9c09e179c","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T17:45:22Z","deletionTime":"2022-02-01T18:24:48Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0d98cf10-bf71-4283-96b6-23603ea8ec40","creationTime":"2022-02-01T17:45:22Z","deletionTime":"2022-02-01T18:24:48Z"}]}},{"name":"ee720c80-37e5-4392-a084-b100c34cef79","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/ee720c80-37e5-4392-a084-b100c34cef79","properties":{"accountName":"barstagerestored-20220201t0941580221","apiType":"Sql","creationTime":"2022-02-01T18:54:52Z","deletionTime":"2022-02-01T18:59:18Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"35cbc1d7-c448-44bc-b1cf-442aef4d55a9","creationTime":"2022-02-01T18:54:52Z","deletionTime":"2022-02-01T18:59:18Z"}]}},{"name":"1cfed635-c5aa-4bc2-a1ac-635183ed1422","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/1cfed635-c5aa-4bc2-a1ac-635183ed1422","properties":{"accountName":"barstagesignoff-20220201t0941580221","apiType":"Sql","creationTime":"2022-02-01T17:46:03Z","deletionTime":"2022-02-01T18:59:31Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"61f6d58f-7e35-4b2a-8e35-606cce2aeef2","creationTime":"2022-02-01T17:46:04Z","deletionTime":"2022-02-01T18:59:31Z"}]}},{"name":"7a9ed68e-cdb6-43ca-851f-ad2ab5cdd5c8","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7a9ed68e-cdb6-43ca-851f-ad2ab5cdd5c8","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T21:43:35Z","deletionTime":"2022-02-01T21:47:34Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"44920652-bff7-493f-a96c-d37f64761a9f","creationTime":"2022-02-01T21:43:35Z","deletionTime":"2022-02-01T21:47:34Z"}]}},{"name":"07763830-6c62-4336-b6df-a27a198ed17b","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/07763830-6c62-4336-b6df-a27a198ed17b","properties":{"accountName":"stage-pitr-validation-restored-wrr-20220201","apiType":"Sql","creationTime":"2022-02-01T23:15:26Z","deletionTime":"2022-02-01T23:18:38Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b5889a31-caa1-4acc-9b3e-b760a7143dcc","creationTime":"2022-02-01T23:15:26Z","deletionTime":"2022-02-01T23:18:38Z"}]}},{"name":"f3ee9a38-64f1-42f6-bd59-1856196c2674","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/f3ee9a38-64f1-42f6-bd59-1856196c2674","properties":{"accountName":"clipvj73tia6lak","apiType":"Table, + Sql","creationTime":"2022-02-19T04:06:01Z","deletionTime":"2022-02-19T04:11:28Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"229dab99-8f8f-438e-84d9-d42946179dc3","creationTime":"2022-02-19T04:06:09Z","deletionTime":"2022-02-19T04:11:28Z"}]}},{"name":"bf6372cf-6f14-4863-b701-7c59f5656a93","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/bf6372cf-6f14-4863-b701-7c59f5656a93","properties":{"accountName":"cliv45ugld4sgeu","apiType":"MongoDB","creationTime":"2022-02-19T04:44:36Z","deletionTime":"2022-02-19T04:49:07Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"b71e9f3e-ad5a-408b-9b64-6c7d084cb63a","creationTime":"2022-02-19T04:44:37Z","deletionTime":"2022-02-19T04:49:07Z"}]}},{"name":"22cfbbb4-aea1-48db-a12e-64d909e2a2f4","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22cfbbb4-aea1-48db-a12e-64d909e2a2f4","properties":{"accountName":"cli7522jsqmlarh","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:30Z","deletionTime":"2022-02-19T04:49:59Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0f728419-07de-42cc-a254-c892cf98126a","creationTime":"2022-02-19T04:44:31Z","deletionTime":"2022-02-19T04:49:59Z"}]}},{"name":"6fcea3d8-5bd0-46cd-9008-c17fda19010e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6fcea3d8-5bd0-46cd-9008-c17fda19010e","properties":{"accountName":"cliyu3fcweytsmt","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:36Z","deletionTime":"2022-02-19T04:50:23Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"0cfc4324-5042-42a4-96dc-c558a8ad45f8","creationTime":"2022-02-19T04:44:38Z","deletionTime":"2022-02-19T04:50:23Z"}]}},{"name":"964ecd3a-b01b-4ab5-9dd6-8e75ca850690","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/964ecd3a-b01b-4ab5-9dd6-8e75ca850690","properties":{"accountName":"clilhyklhnhq5hs","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:20Z","deletionTime":"2022-02-19T04:52:02Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"7a255ec4-8740-4d69-9d94-b13e64e51d35","creationTime":"2022-02-19T04:45:45Z","deletionTime":"2022-02-19T04:52:02Z"}]}},{"name":"84df4ae2-a65a-4ba5-88c4-86552ea43a92","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/84df4ae2-a65a-4ba5-88c4-86552ea43a92","properties":{"accountName":"climdriygfzad4d","apiType":"Table, + Sql","creationTime":"2022-02-19T04:54:40Z","deletionTime":"2022-02-19T04:58:24Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"63a2aad7-c088-4e5b-b50a-db0747f60a49","creationTime":"2022-02-19T04:54:41Z","deletionTime":"2022-02-19T04:58:24Z"}]}},{"name":"22152a17-dc1d-4bc3-8dbc-d5fc3c741090","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22152a17-dc1d-4bc3-8dbc-d5fc3c741090","properties":{"accountName":"cliikvm37muookv","apiType":"Table, + Sql","creationTime":"2022-02-19T04:56:33Z","deletionTime":"2022-02-19T05:01:59Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d21a7e92-23eb-49e6-b616-d2acfb9706ef","creationTime":"2022-02-19T04:56:34Z","deletionTime":"2022-02-19T05:01:59Z"}]}},{"name":"25d4bda3-9f50-4e1e-906d-0582fbd4b594","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/25d4bda3-9f50-4e1e-906d-0582fbd4b594","properties":{"accountName":"clit5tvktfh7e6s","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T05:07:55Z","deletionTime":"2022-02-19T05:10:31Z","restorableLocations":[]}},{"name":"161ca050-3724-46fb-9dd8-74c944592e3e","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/161ca050-3724-46fb-9dd8-74c944592e3e","properties":{"accountName":"clizwxv7lzjr2qo","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:44:36Z","deletionTime":"2022-02-19T05:10:31Z","restorableLocations":[]}},{"name":"6b54c737-ed48-44c2-8b35-4a81b06c5375","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/6b54c737-ed48-44c2-8b35-4a81b06c5375","properties":{"accountName":"clihuloxomvldl4","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T05:09:22Z","deletionTime":"2022-02-19T05:12:00Z","restorableLocations":[]}},{"name":"69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","location":"East + US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/69bf9f40-f3d6-4551-8f84-0bc5fe553fbc","properties":{"accountName":"clixnseixqr3245","apiType":"Gremlin, + Sql","creationTime":"2022-02-19T04:45:05Z","deletionTime":"2022-02-19T05:12:21Z","restorableLocations":[]}},{"name":"94263074-5df7-404d-996a-ae94319f3eba","location":"Southeast + Asia","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southeastasia/restorableDatabaseAccounts/94263074-5df7-404d-996a-ae94319f3eba","properties":{"accountName":"ankisco","apiType":"Sql","creationTime":"2021-12-16T07:37:22Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"a2eeaa83-15fb-4b34-a33c-6fc3bbf528b3","creationTime":"2021-12-16T07:37:25Z"}]}},{"name":"4b576c74-3062-48c8-a18a-620b5d691c53","location":"Southeast + Asia","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southeastasia/restorableDatabaseAccounts/4b576c74-3062-48c8-a18a-620b5d691c53","properties":{"accountName":"ankisco2","apiType":"Sql","creationTime":"2022-01-28T18:50:22Z","restorableLocations":[{"locationName":"Southeast + Asia","regionalDatabaseAccountInstanceId":"2d3c8857-b1d2-4b50-9b5d-525f03a70d2b","creationTime":"2022-01-28T18:50:22Z"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '70145' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:17:19 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: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_table_account_restore_using_create000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001","name":"cli_test_cosmosdb_table_account_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T05:09:00Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '395' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:21: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: '{"location": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Restore", + "restoreParameters": {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7e305a45-fdd6-48f1-abb9-eb88a2e6d535", + "restoreTimestampInUtc": "2022-02-19T05:19:10.000Z"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '537' + Content-Type: + - application/json + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:21:29.8956928Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"b5fc6acf-0052-4fb5-ac10-25459bfbdbfe","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7e305a45-fdd6-48f1-abb9-eb88a2e6d535","restoreTimestampInUtc":"2022-02-19T05:19:10Z","tablesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2575' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:21:32 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:22: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:22: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:23: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:23: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:24: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:24: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:25: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:25: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:26: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:26: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:27: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:27: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:28: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:28: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:29: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:29: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:30: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:30: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:31: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:31: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:32: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:33: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:34: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:35: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:36: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:36: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:37: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:37: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:38: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:38: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/55f5c30a-839e-4c05-972c-21c3d021b3c7?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:41: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:40:48.4834165Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000004.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"b5fc6acf-0052-4fb5-ac10-25459bfbdbfe","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7e305a45-fdd6-48f1-abb9-eb88a2e6d535","restoreTimestampInUtc":"2022-02-19T05:19:10Z","tablesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2727' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:41: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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:40:48.4834165Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000004.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"b5fc6acf-0052-4fb5-ac10-25459bfbdbfe","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7e305a45-fdd6-48f1-abb9-eb88a2e6d535","restoreTimestampInUtc":"2022-02-19T05:19:10Z","tablesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2727' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:41: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_account_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T05:40:48.4834165Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000004.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{},"instanceId":"b5fc6acf-0052-4fb5-ac10-25459bfbdbfe","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000004-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/7e305a45-fdd6-48f1-abb9-eb88a2e6d535","restoreTimestampInUtc":"2022-02-19T05:19:10Z","tablesToRestore":[]},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"},"capacity":{"totalThroughputLimit":-1}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2727' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:41: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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_backupinfo.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_backupinfo.yaml new file mode 100644 index 00000000000..334bf93dce8 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_backupinfo.yaml @@ -0,0 +1,1608 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DocumentDB/databaseAccounts/cli000003'' + under resource group ''cli_test_cosmosdb_table_backupinfo000001'' was not + found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '259' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:48:15 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: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_table_backupinfo000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001","name":"cli_test_cosmosdb_table_backupinfo000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T04:48:13Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '359' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:48:14 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": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableTable"}], + "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '329' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:48:20.7499721Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"84df4ae2-a65a-4ba5-88c4-86552ea43a92","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2004' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:48:23 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:48: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:49:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:49: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:50:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:50: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51:23 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53:24 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/33be6a51-4db3-463b-b97c-b481ff01b6a8?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:54:39.3354667Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"84df4ae2-a65a-4ba5-88c4-86552ea43a92","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2432' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.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 --kind --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:54:39.3354667Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"84df4ae2-a65a-4ba5-88c4-86552ea43a92","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2432' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:54:39.3354667Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"84df4ae2-a65a-4ba5-88c4-86552ea43a92","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2432' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"code":"NotFound","message":"Message: {\"code\":\"NotFound\",\"message\":\"Message: + {\\\"Errors\\\":[\\\"Owner resource does not exist\\\"]}\\r\\nActivityId: + 27977913-9140-11ec-bf67-9c7bef4baa38, Request URI: /apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/e930792e-0fde-4741-b3fe-d064b9737d5b/partitions/33ddff59-75da-4ecc-a410-dacbbbb027e8/replicas/132888267043006338s, + RequestStats: \\r\\nRequestStartTime: 2022-02-19T04:55:27.9402110Z, RequestEndTime: + 2022-02-19T04:55:27.9502602Z, Number of regions attempted:1\\r\\n{\\\"systemHistory\\\":[{\\\"dateUtc\\\":\\\"2022-02-19T04:54:37.5004331Z\\\",\\\"cpu\\\":1.095,\\\"memory\\\":668902040.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0457,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:54:47.5104035Z\\\",\\\"cpu\\\":0.090,\\\"memory\\\":668900116.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.018,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:54:57.5203552Z\\\",\\\"cpu\\\":0.134,\\\"memory\\\":668887508.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.035,\\\"availableThreads\\\":32765,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:55:07.5403155Z\\\",\\\"cpu\\\":0.236,\\\"memory\\\":668913016.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0225,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:55:17.5502517Z\\\",\\\"cpu\\\":0.239,\\\"memory\\\":668903412.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0204,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}},{\\\"dateUtc\\\":\\\"2022-02-19T04:55:27.5602112Z\\\",\\\"cpu\\\":0.107,\\\"memory\\\":668986500.000,\\\"threadInfo\\\":{\\\"isThreadStarving\\\":\\\"False\\\",\\\"threadWaitIntervalInMs\\\":0.0217,\\\"availableThreads\\\":32764,\\\"minThreads\\\":64,\\\"maxThreads\\\":32767}}]}\\r\\nRequestStart: + 2022-02-19T04:55:27.9402110Z; ResponseTime: 2022-02-19T04:55:27.9502602Z; + StoreResult: StorePhysicalAddress: rntbd://10.0.0.25:11300/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/e930792e-0fde-4741-b3fe-d064b9737d5b/partitions/33ddff59-75da-4ecc-a410-dacbbbb027e8/replicas/132888267043006338s, + LSN: 9, GlobalCommittedLsn: 9, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 1003, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#9, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 1.91, ActivityId: + 27977913-9140-11ec-bf67-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:55:27.9402110Z\\\", \\\"durationInMs\\\": 0.0079},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:55:27.9402189Z\\\", + \\\"durationInMs\\\": 0.0019},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:55:27.9402208Z\\\", \\\"durationInMs\\\": 0.2414},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:55:27.9404622Z\\\", + \\\"durationInMs\\\": 2.3156},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:55:27.9427778Z\\\", \\\"durationInMs\\\": 0.0642},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:55:27.9428420Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":487,\\\"responseMetadataSizeInBytes\\\":141,\\\"responseBodySizeInBytes\\\":44};\\r\\n + ResourceType: Collection, OperationType: Read\\r\\nRequestStart: 2022-02-19T04:55:27.9402110Z; + ResponseTime: 2022-02-19T04:55:27.9502602Z; StoreResult: StorePhysicalAddress: + rntbd://10.0.0.19:11300/apps/ba370174-2c9e-42c2-901f-a05e1bc962f1/services/e930792e-0fde-4741-b3fe-d064b9737d5b/partitions/33ddff59-75da-4ecc-a410-dacbbbb027e8/replicas/132888267043006337s, + LSN: 9, GlobalCommittedLsn: 9, PartitionKeyRangeId: , IsValid: True, StatusCode: + 404, SubStatusCode: 1003, RequestCharge: 1, ItemLSN: -1, SessionToken: -1#9, + UsingLocalLSN: False, TransportException: null, BELatencyMs: 2.01, ActivityId: + 27977913-9140-11ec-bf67-9c7bef4baa38, RetryAfterInMs: , TransportRequestTimeline: + {\\\"requestTimeline\\\":[{\\\"event\\\": \\\"Created\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:55:27.9402110Z\\\", \\\"durationInMs\\\": 0.0026},{\\\"event\\\": + \\\"ChannelAcquisitionStarted\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:55:27.9402136Z\\\", + \\\"durationInMs\\\": 0.0007},{\\\"event\\\": \\\"Pipelined\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:55:27.9402143Z\\\", \\\"durationInMs\\\": 0.119},{\\\"event\\\": + \\\"Transit Time\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:55:27.9403333Z\\\", + \\\"durationInMs\\\": 2.5324},{\\\"event\\\": \\\"Received\\\", \\\"startTimeUtc\\\": + \\\"2022-02-19T04:55:27.9428657Z\\\", \\\"durationInMs\\\": 0.0175},{\\\"event\\\": + \\\"Completed\\\", \\\"startTimeUtc\\\": \\\"2022-02-19T04:55:27.9428832Z\\\", + \\\"durationInMs\\\": 0}],\\\"requestSizeInBytes\\\":487,\\\"responseMetadataSizeInBytes\\\":141,\\\"responseBodySizeInBytes\\\":44};\\r\\n + ResourceType: Collection, OperationType: Read\\r\\n, SDK: Microsoft.Azure.Documents.Common/2.14.0\"}, + Request URI: /dbs/TablesDB/colls/cli000002, RequestStats: , SDK: Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '5550' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 404 + message: NotFound +- request: + body: '{"properties": {"resource": {"id": "cli000002"}, "options": {"throughput": + 1000}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + Content-Length: + - '82' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/f032973b-881a-4a18-9edd-dc4768e6a93f?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55:29 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/operationResults/f032973b-881a-4a18-9edd-dc4768e6a93f?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/f032973b-881a-4a18-9edd-dc4768e6a93f?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/tables","name":"cli000002","properties":{"resource":{"id":"cli000002","_rid":"gmZkALV++cg=","_etag":"\"00000000-0000-0000-254c-f690840201d8\"","_ts":1645246549}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '399' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/tables","name":"cli000002","properties":{"resource":{"id":"cli000002","_rid":"gmZkALV++cg=","_etag":"\"00000000-0000-0000-254c-f690840201d8\"","_ts":1645246549}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '399' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56:02 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation/operationResults/c4582c80-72d0-45d6-a669-5513ff2e7e88?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation/operationResults/c4582c80-72d0-45d6-a669-5513ff2e7e88?api-version=2021-11-15-preview + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:56:09 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/tables","name":"cli000002","properties":{"resource":{"id":"cli000002","_rid":"gmZkALV++cg=","_etag":"\"00000000-0000-0000-254c-f690840201d8\"","_ts":1645246549}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '399' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56:33 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation/operationResults/90eef145-f528-458a-8069-f97c039a839b?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation/operationResults/90eef145-f528-458a-8069-f97c039a839b?api-version=2021-11-15-preview + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:56:45 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/tables","name":"cli000002","properties":{"resource":{"id":"cli000002","_rid":"gmZkALV++cg=","_etag":"\"00000000-0000-0000-254c-f690840201d8\"","_ts":1645246549}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '399' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"location": "eastus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57:06 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation/operationResults/41f2c94d-43ee-452f-9d3f-fad71e8cec33?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table retrieve-latest-backup-time + Connection: + - keep-alive + ParameterSetName: + - -g -a -n -l + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_backupinfo000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/retrieveContinuousBackupInformation/operationResults/41f2c94d-43ee-452f-9d3f-fad71e8cec33?api-version=2021-11-15-preview + response: + body: + string: '{"continuousBackupInformation":{"latestRestorableTimestamp":"2/19/2022 + 4:57:15 AM"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '84' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04: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.14.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_restorable_commands.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_restorable_commands.yaml new file mode 100644 index 00000000000..b3309d44fab --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_table_restorable_commands.yaml @@ -0,0 +1,1195 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_table_restorable_commands000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001","name":"cli_test_cosmosdb_table_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2","tags":{"product":"azurecli","cause":"automation","date":"2022-02-19T04:50:26Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '377' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:50: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: '{"location": "eastus2", "kind": "GlobalDocumentDB", "properties": {"locations": + [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], + "databaseAccountOfferType": "Standard", "capabilities": [{"name": "EnableTable"}], + "apiProperties": {}, "createMode": "Default", "backupPolicy": {"type": "Continuous"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + Content-Length: + - '329' + Content-Type: + - application/json + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:50:34.2784247Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"22152a17-dc1d-4bc3-8dbc-d5fc3c741090","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '2013' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:50:36 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/97e5f39d-691b-4a23-b64d-3b5c518db92a?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:56:32.0111906Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"22152a17-dc1d-4bc3-8dbc-d5fc3c741090","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2441' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.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 --capabilities + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:56:32.0111906Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"22152a17-dc1d-4bc3-8dbc-d5fc3c741090","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2441' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-11-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"East + US 2","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2022-02-19T04:56:32.0111906Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents-staging.windows-ppe.net:443/","tableEndpoint":"https://cli000003.table.cosmos.windows-ppe.net:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Table, + Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":{"schemaType":"WellDefined"},"instanceId":"22152a17-dc1d-4bc3-8dbc-d5fc3c741090","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","enableMaterializedViews":false,"enableFullFidelityChangeFeed":false,"defaultIdentity":"FirstPartyIdentity","networkAclBypass":"None","disableLocalAuth":false,"consistencyPolicy":{"defaultConsistencyLevel":"BoundedStaleness","maxIntervalInSeconds":86400,"maxStalenessPrefix":1000000},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-eastus2","locationName":"East + US 2","documentEndpoint":"https://cli000003-eastus2.documents-staging.windows-ppe.net:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-eastus2","locationName":"East + US 2","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableTable"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[],"diagnosticLogSettings":{"enableFullTextQuery":"None"}},"identity":{"type":"None"}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '2441' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"resource": {"id": "cli000002"}, "options": {"throughput": + 1000}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + Content-Length: + - '82' + Content-Type: + - application/json + ParameterSetName: + - -g -a -n --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-10-15 + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9625506-6498-4588-a4e4-c0332c0e19ba?api-version=2021-10-15 + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57:12 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002/operationResults/d9625506-6498-4588-a4e4-c0332c0e19ba?api-version=2021-10-15 + 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9625506-6498-4588-a4e4-c0332c0e19ba?api-version=2021-10-15 + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/d9625506-6498-4588-a4e4-c0332c0e19ba?api-version=2021-10-15 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table create + Connection: + - keep-alive + ParameterSetName: + - -g -a -n --throughput + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002?api-version=2021-10-15 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_table_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/tables/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/tables","name":"cli000002","properties":{"resource":{"id":"cli000002","_rid":"E5lJAMpsnBw=","_etag":"\"00000000-0000-0000-254d-3f697c0201d8\"","_ts":1645246671}}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '408' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restorable-database-account show + Connection: + - keep-alive + ParameterSetName: + - --location --instance-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/7.0.0b2 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22152a17-dc1d-4bc3-8dbc-d5fc3c741090?api-version=2021-10-15 + response: + body: + string: '{"name":"22152a17-dc1d-4bc3-8dbc-d5fc3c741090","location":"East US + 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22152a17-dc1d-4bc3-8dbc-d5fc3c741090","properties":{"accountName":"cli000003","apiType":"Table, + Sql","creationTime":"2022-02-19T04:56:33Z","restorableLocations":[{"locationName":"East + US 2","regionalDatabaseAccountInstanceId":"d21a7e92-23eb-49e6-b616-d2acfb9706ef","creationTime":"2022-02-19T04:56:34Z"}]}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '577' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table restorable-table list + Connection: + - keep-alive + ParameterSetName: + - --location --instance-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22152a17-dc1d-4bc3-8dbc-d5fc3c741090/restorableTables?api-version=2021-11-15-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22152a17-dc1d-4bc3-8dbc-d5fc3c741090/restorableTables/3e751cf1-f4dc-451b-954c-159211f37b1f","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables","name":"3e751cf1-f4dc-451b-954c-159211f37b1f","properties":{"resource":{"_rid":"cyd8twAAAA==","eventTimestamp":"2022-02-19T04:57:51Z","ownerId":"cli000002","ownerResourceId":"E5lJAMpsnBw=","operationType":"Create"}}}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '539' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58:21 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb table restorable-resource list + Connection: + - keep-alive + ParameterSetName: + - --restore-location -l --instance-id --restore-timestamp + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/restorableDatabaseAccounts/22152a17-dc1d-4bc3-8dbc-d5fc3c741090/restorableTableResources?api-version=2021-11-15-preview&restoreLocation=eastus2&restoreTimestampInUtc=2022-02-19T04%3A58%3A33%2B00%3A00 + response: + body: + string: '{"value":["cli000002"]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '23' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00:24 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.14.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 a2fd4668fe9..3e1def91fbd 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,1394 +1,552 @@ -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", "privateEndpointNetworkPolicies": "Enabled", - "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - Content-Length: - - '302' - Content-Type: - - application/json - ParameterSetName: - - -g -l -n --subnet-name - User-Agent: - - AZURECLI/2.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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=2021-02-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/\\\"23ba051b-94b4-44d0-b55d-db81e625ab2f\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"8bea8b75-6cd9-4fe7-8e57-a8f666eb6c17\",\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/\\\"23ba051b-94b4-44d0-b55d-db81e625ab2f\\\"\",\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/6d80df50-e85d-48cb-be21-75a8672e3301?api-version=2021-02-01 - cache-control: - - no-cache - content-length: - - '1425' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 22 Sep 2021 21:27:54 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: - - d52c3553-a102-4bb4-af73-d4c3240bf9d6 - 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.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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/6d80df50-e85d-48cb-be21-75a8672e3301?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: - - Wed, 22 Sep 2021 21:27: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 - x-ms-arm-service-request-id: - - 98f257a0-6e53-4dfd-81b2-de3b367a9862 - 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.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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=2021-02-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/\\\"8171d9ca-00d6-491c-8562-2aff54f28914\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"8bea8b75-6cd9-4fe7-8e57-a8f666eb6c17\",\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/\\\"8171d9ca-00d6-491c-8562-2aff54f28914\\\"\",\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, 22 Sep 2021 21:27:57 GMT - etag: - - W/"8171d9ca-00d6-491c-8562-2aff54f28914" - 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: - - 4a0601c4-0e13-422d-9f5b-25e39dcca5c6 - 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.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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=2021-02-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/\\\"8171d9ca-00d6-491c-8562-2aff54f28914\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"8bea8b75-6cd9-4fe7-8e57-a8f666eb6c17\",\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/\\\"8171d9ca-00d6-491c-8562-2aff54f28914\\\"\",\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, 22 Sep 2021 21:27:59 GMT - etag: - - W/"8171d9ca-00d6-491c-8562-2aff54f28914" - 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: - - 9d0a7204-3fc9-4676-b2ea-5d815a6ec11f - 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.2 (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.28.1 - 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, 22 Sep 2021 21:28:00 GMT - duration: - - '1225211' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - ojoQ7b/HGtwmX7ucuAkGaZy/aZCmLYz2rY4AxK4k0Pg= - ocp-aad-session-key: - - -__tGIrprSEcTjxMuU_G0pReT7TynQDEYAqgT8Mr0UEJgF8eekINzNGWZrypqhOkQUweveI5CNkBc9qCU5mDOGpk45hP6r-e8hu-zQ5Vj0BBllY8NsjocIGS9pG-6554.eAsoIPcXdLDURHta2EXa7QUu_LmCLAKNu0Sjw6vYVOU - pragma: - - no-cache - request-id: - - ce244446-2ee4-46cc-b9ce-193b73958973 - 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.2 (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.28.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":"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, 22 Sep 2021 21:27:59 GMT - duration: - - '915092' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - MYEuq6VC19ZDUndvD07AhUS/maJ+uZPnQqDgHVxi9Ow= - ocp-aad-session-key: - - RqmeuwFeCJExGEycZpsaoZJeaKWhYj3VWksz3cTI3qtmcQj9maZCaW9QMyQqYSvIan7TNJgDPr5qEluwZOCH2WqXRujyxLoxjllVX_PZ1LNp32jrvfrNcnii0fRCF_vn.hM8UQOe55m733hF-_DRho9poftmWUWXRERZ7syDjF84 - pragma: - - no-cache - request-id: - - c2c4bf95-9ee8-4a6f-94f7-59a106ab1895 - 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.2 (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.28.1 - 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-09-22T21:28:01.3631362Z","updatedOn":"2021-09-22T21:28:01.7065439Z","createdBy":null,"updatedBy":"02bf3cc6-8649-4605-ad56-ed19c5a1c247","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: - - Wed, 22 Sep 2021 21:28:03 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.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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=2021-02-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/\\\"8171d9ca-00d6-491c-8562-2aff54f28914\\\"\",\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, 22 Sep 2021 21:28:03 GMT - etag: - - W/"8171d9ca-00d6-491c-8562-2aff54f28914" - 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: - - 8918dcb9-0f86-45da-86ea-f4e13d893e07 - 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 - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002?api-version=2021-07-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":{},"systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:28:05.4194342Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:28:05.4194342Z"},"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/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '1185' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:28:06 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.14.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:28: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:29: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:29: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:30: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:30: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:31: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:31: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:32: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/15fc783b-c074-44ea-89fe-5eee9d68b1f0?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:32: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002?api-version=2021-07-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":{},"systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:28:05.4194342Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:28:05.4194342Z"},"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: - - '11539' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:32: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.14.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: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002?api-version=2021-07-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":{},"systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:28:05.4194342Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:28:05.4194342Z"},"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: - - '11539' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:32: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.14.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: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - 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-07-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/96e8b3ac-fac4-4646-96b2-be2bd92537e9?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:32:39 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationResults/96e8b3ac-fac4-4646-96b2-be2bd92537e9?api-version=2021-07-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.14.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/96e8b3ac-fac4-4646-96b2-be2bd92537e9?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:33: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/96e8b3ac-fac4-4646-96b2-be2bd92537e9?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:33: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/96e8b3ac-fac4-4646-96b2-be2bd92537e9?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:34: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/96e8b3ac-fac4-4646-96b2-be2bd92537e9?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:34: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/96e8b3ac-fac4-4646-96b2-be2bd92537e9?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:35: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/96e8b3ac-fac4-4646-96b2-be2bd92537e9?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:35: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.14.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", "privateEndpointNetworkPolicies": "Enabled", + "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '301' + Content-Type: + - application/json + ParameterSetName: + - -g -l -n --subnet-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-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=2021-05-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/\\\"0bc34a54-27ba-46d0-9f1f-372a32d22a6a\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"79db4fee-8498-477b-be08-c4be1ab83834\",\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/\\\"0bc34a54-27ba-46d0-9f1f-372a32d22a6a\\\"\",\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/dffc9143-0eb2-457d-b060-f7ef3fb166b2?api-version=2021-05-01 + cache-control: + - no-cache + content-length: + - '1324' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:48:58 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: + - 8157fc9e-c42b-46ee-b669-d17b4cd0d9a5 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + 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.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/dffc9143-0eb2-457d-b060-f7ef3fb166b2?api-version=2021-05-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: + - Sat, 19 Feb 2022 05:49: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 + x-ms-arm-service-request-id: + - f0d7a733-ecd9-47bb-acca-0f05c31e6e26 + 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.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-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=2021-05-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/\\\"c5e69b3a-cbe7-43fe-97eb-f24c3fe1a44a\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"79db4fee-8498-477b-be08-c4be1ab83834\",\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/\\\"c5e69b3a-cbe7-43fe-97eb-f24c3fe1a44a\\\"\",\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: + - '1326' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:49:01 GMT + etag: + - W/"c5e69b3a-cbe7-43fe-97eb-f24c3fe1a44a" + 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: + - 0a8d4c2b-ecfa-49e7-91e7-a109f2811ac8 + 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.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-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=2021-05-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/\\\"c5e69b3a-cbe7-43fe-97eb-f24c3fe1a44a\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"79db4fee-8498-477b-be08-c4be1ab83834\",\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/\\\"c5e69b3a-cbe7-43fe-97eb-f24c3fe1a44a\\\"\",\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: + - '1326' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:49:02 GMT + etag: + - W/"c5e69b3a-cbe7-43fe-97eb-f24c3fe1a44a" + 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: + - 66edfee9-8a97-4836-aec3-ee06ab262ad3 + 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.10.1 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.32.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: + - Sat, 19 Feb 2022 05:49:04 GMT + duration: + - '1105444' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - HeAFbIus4/0e7EGEYFAT+vg0zNTU0pLKrYLHSQDoejI= + ocp-aad-session-key: + - kIxtQnofibIATT3UxrP97mrRI1sbj-BP_iLu3Hp5aiVFxiLFLwTFui0XafgdkAtu6h3AZiNdU-cesRnoENlsUECK98oI1QDPsPKcJyc1vU79J82qj0Q4aqLECxeaD1Jz.F-sYq7K-oKtE249wW4JtIY8xI_O4pf4EmV1b1GTYi8E + pragma: + - no-cache + request-id: + - 9188a439-ac8a-47b1-b243-e7045d0f9949 + 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.10.1 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.32.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: + - Sat, 19 Feb 2022 05:49:05 GMT + duration: + - '750547' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - eXea6VZBPAzDA8oBiQ9KQsUVPKOJddcvR5hYkqBnv0g= + ocp-aad-session-key: + - rL-0sFLIyY4iDKPjaUiURbb5ROM5Agx7tUyUR6xfwDbCpyQcd5JyAfbW--eb_uOOjRxmJLzOF-CJLfvpkrCX2k4O5pA8K-tT1Tah4QjeRDs8yEh4pKARcnlKm7aLysjw.emSJRM1uc3wPxB1qL08ukwc_0PTk7e2bTZ5kx8jctIU + pragma: + - no-cache + request-id: + - 41f5fca0-8a76-49fe-bef7-4ecb0da3eb79 + 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.10.1 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.32.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":"2022-02-19T05:49:06.7436305Z","updatedOn":"2022-02-19T05:49:07.3061353Z","createdBy":null,"updatedBy":"27f82b5d-ce19-4257-a337-dabea1926ae2","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: + - '1017' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:49:08 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.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-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=2021-05-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/\\\"c5e69b3a-cbe7-43fe-97eb-f24c3fe1a44a\\\"\",\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: + - '546' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:49:09 GMT + etag: + - W/"c5e69b3a-cbe7-43fe-97eb-f24c3fe1a44a" + 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: + - 15daa94f-a410-4e6b-aae5-18308231e315 + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "identity": {"type": "None"}, "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: + - '404' + Content-Type: + - application/json + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-preview + response: + body: + string: '{"code":"BadRequest","message":"\r\nCode: \r\nDetail message: The certificates + submitted in externalGossipCertificates cannot be parsed: Cannot find the + requested object.\r\n Certificate: ./test.pem\r\nDetail code: BadRequest\r\nTarget: + \r\nActivityId: a86e367c-9147-11ec-86ca-9c7bef4baa38, Microsoft.Azure.Documents.Common/2.14.0"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '332' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:49:13 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 400 + message: BadRequest +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 314424ca631..e85c3543994 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,2696 +1,5649 @@ -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", "privateEndpointNetworkPolicies": "Enabled", - "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - Content-Length: - - '302' - Content-Type: - - application/json - ParameterSetName: - - -g -l -n --subnet-name - User-Agent: - - AZURECLI/2.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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=2021-02-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/\\\"60bf8ef0-0835-4c30-9d75-107fa627b967\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"e64bb910-d37d-4b25-ae41-bec810eb6214\",\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/\\\"60bf8ef0-0835-4c30-9d75-107fa627b967\\\"\",\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/9db7845b-a47d-494d-af7c-4764073dbb5a?api-version=2021-02-01 - cache-control: - - no-cache - content-length: - - '1425' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 22 Sep 2021 21:36:32 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: - - 38dbd3c8-01c4-4018-8b81-a7aa3f30bb47 - 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.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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/9db7845b-a47d-494d-af7c-4764073dbb5a?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: - - Wed, 22 Sep 2021 21:36: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 - x-ms-arm-service-request-id: - - ec5224cd-f1a6-4a27-8baf-dd280a10a417 - 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.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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=2021-02-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/\\\"c623d7d1-f915-4b1d-8dd1-08b6a0c8d0d4\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"e64bb910-d37d-4b25-ae41-bec810eb6214\",\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/\\\"c623d7d1-f915-4b1d-8dd1-08b6a0c8d0d4\\\"\",\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, 22 Sep 2021 21:36:35 GMT - etag: - - W/"c623d7d1-f915-4b1d-8dd1-08b6a0c8d0d4" - 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: - - 160287a8-497f-47c8-9f29-45d01ec10c34 - 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.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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=2021-02-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/\\\"c623d7d1-f915-4b1d-8dd1-08b6a0c8d0d4\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"e64bb910-d37d-4b25-ae41-bec810eb6214\",\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/\\\"c623d7d1-f915-4b1d-8dd1-08b6a0c8d0d4\\\"\",\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, 22 Sep 2021 21:36:36 GMT - etag: - - W/"c623d7d1-f915-4b1d-8dd1-08b6a0c8d0d4" - 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: - - 45e4c6a7-e2a2-4d37-a3bc-cc3a0500e771 - 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.2 (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.28.1 - 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, 22 Sep 2021 21:36:37 GMT - duration: - - '295179' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - UqYckHfyOJEXhQr4m+UU5jXmi7d/RuALt+it75Bveio= - ocp-aad-session-key: - - mE1QG2yuBdu6b9hI8WHawWi8peyjXjfOp8W9Tu6tZqAk5m29peH9aSO0ZaBLRLX1An2Rn2XNTb07NcQ8-osLK5kHIk2gnnTcnhUmOQ3pgM2krNczQpf0cUlK_TSq0Ug-.tjnFAWeCBC9ZFGfRyqtwW0ElzLn_4YmhYczQ0KsPJgE - pragma: - - no-cache - request-id: - - 835e9a02-5448-4655-9161-04d35337a241 - 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.2 (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.28.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":"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, 22 Sep 2021 21:36:37 GMT - duration: - - '691384' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - HdjxWx3kM6y80mOyosdvQGivt5htdpWqqqQk81CEhvk= - ocp-aad-session-key: - - Xzyc-S5xmHxfs1NIp5_PPz8vs_aJWlrMA5c9sbr4rhjtaUwZx_AH3CDUtnkcsxo9_JEYXCk7pM_Co5P4oFl3bOu8mM_UBgKJey9VtF4ra67TkYouffclAZqjY2xe5Fsz.BeeIjwCuoT0WZCWV_1Z7EfZMoLcXE_hQhvauO0-t_bc - pragma: - - no-cache - request-id: - - 0ccaaf68-39bb-4180-ae0c-74aa37126e02 - 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.2 (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.28.1 - 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-09-22T21:36:38.6562777Z","updatedOn":"2021-09-22T21:36:39.0625591Z","createdBy":null,"updatedBy":"02bf3cc6-8649-4605-ad56-ed19c5a1c247","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: - - Wed, 22 Sep 2021 21:36: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 - 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.28.1 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.2 (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=2021-02-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/\\\"c623d7d1-f915-4b1d-8dd1-08b6a0c8d0d4\\\"\",\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, 22 Sep 2021 21:36:40 GMT - etag: - - W/"c623d7d1-f915-4b1d-8dd1-08b6a0c8d0d4" - 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: - - 00f21f2d-e292-425a-9d59-73e46c78becd - 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 - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002?api-version=2021-07-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":{},"systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:36:42.2632788Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:36:42.2632788Z"},"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/c920c634-9782-46c2-9d88-ad45339fccfa?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '1091' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:36:41 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.14.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c920c634-9782-46c2-9d88-ad45339fccfa?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:37: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c920c634-9782-46c2-9d88-ad45339fccfa?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:37: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c920c634-9782-46c2-9d88-ad45339fccfa?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:38: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c920c634-9782-46c2-9d88-ad45339fccfa?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:38: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c920c634-9782-46c2-9d88-ad45339fccfa?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:39: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c920c634-9782-46c2-9d88-ad45339fccfa?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:39: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c920c634-9782-46c2-9d88-ad45339fccfa?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:40: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002?api-version=2021-07-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":{},"systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:36:42.2632788Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:36:42.2632788Z"},"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: - - '11445' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:40: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.14.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: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002?api-version=2021-07-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":{},"systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:36:42.2632788Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:36:42.2632788Z"},"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: - - '11445' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:40: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.14.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 - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-07-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","systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:40:15.9639593Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:40:15.9639593Z"},"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/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '935' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:40:16 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.14.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:40: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:41: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:41: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:42: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:42: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:43: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:43: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:44: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:44: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:45: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:45: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:46: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:46: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:47: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:48: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:48:31 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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:49: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:49:31 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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/e2300036-7760-45c6-8995-d26c46bcb249?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-07-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","systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:40:15.9639593Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:40:15.9639593Z"},"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.7"},{"ipAddress":"10.0.0.8"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1010' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21: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.14.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: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-07-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","systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:40:15.9639593Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:40:15.9639593Z"},"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.7"},{"ipAddress":"10.0.0.8"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1010' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:51: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.14.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: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters/cli000002/dataCenters?api-version=2021-07-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","systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:40:15.9639593Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:40:15.9639593Z"},"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.7"},{"ipAddress":"10.0.0.8"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1022' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:51: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.14.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: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (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.DocumentDB/cassandraClusters?api-version=2021-07-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":{},"systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:36:42.2632788Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:36:42.2632788Z"},"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: - - '11457' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:51: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.14.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: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-07-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":{},"systemData":{"createdBy":"mekaushi@microsoft.com","createdByType":"User","createdAt":"2021-09-22T21:36:42.2632788Z","lastModifiedBy":"mekaushi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-09-22T21:36:42.2632788Z"},"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: - - '11457' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:51: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.14.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: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - 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-07-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:51:36 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationResults/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-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.14.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:52: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:52: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:53: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:53: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:54: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:54: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:55: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.14.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - AZURECLI/2.28.1 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.8.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/1f522125-96d6-4301-a427-9cc33685910f?api-version=2021-07-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 22 Sep 2021 21:55: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.14.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", "privateEndpointNetworkPolicies": "Enabled", + "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '301' + Content-Type: + - application/json + ParameterSetName: + - -g -l -n --subnet-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-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=2021-05-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/\\\"66d21ca5-0a78-4056-b890-0dc3a65f2b73\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"709576bd-3f2d-4446-a0e0-e6c7e199cf07\",\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/\\\"66d21ca5-0a78-4056-b890-0dc3a65f2b73\\\"\",\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/1a45d1a7-df42-4941-b2e9-b370b209e303?api-version=2021-05-01 + cache-control: + - no-cache + content-length: + - '1324' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38:46 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: + - 83cbdeb4-e4f6-4ad7-98b1-4ec68ee8134e + 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.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/1a45d1a7-df42-4941-b2e9-b370b209e303?api-version=2021-05-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: + - Sat, 19 Feb 2022 04:38: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-arm-service-request-id: + - 8bd67494-1c0a-4c47-bdc3-a74cca7ad652 + 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.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-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=2021-05-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/\\\"42b4eb34-add3-4143-a32b-44295fe6a826\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"709576bd-3f2d-4446-a0e0-e6c7e199cf07\",\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/\\\"42b4eb34-add3-4143-a32b-44295fe6a826\\\"\",\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: + - '1326' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38:49 GMT + etag: + - W/"42b4eb34-add3-4143-a32b-44295fe6a826" + 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: + - 8aa82223-607e-4cb2-8ef7-b8a8d5e2c0fe + 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.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-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=2021-05-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/\\\"42b4eb34-add3-4143-a32b-44295fe6a826\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"709576bd-3f2d-4446-a0e0-e6c7e199cf07\",\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/\\\"42b4eb34-add3-4143-a32b-44295fe6a826\\\"\",\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: + - '1326' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38:49 GMT + etag: + - W/"42b4eb34-add3-4143-a32b-44295fe6a826" + 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: + - c7624b3b-0d35-4c4c-8c31-94b421cbbe30 + 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.10.1 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.32.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: + - Sat, 19 Feb 2022 04:38:49 GMT + duration: + - '573679' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - Hx85SaX1sWHtYubRLUoRrUoUnA/bUXhgZScvUL9qQBY= + ocp-aad-session-key: + - LXSax-KldsuJMeUfcxYrkSBaRxiBrpAtjXdBeA9e4ptOSFljoZk-xjher51e-VtRnMt4gNhYAP_ib9AdfEI2EXc39CJ8Cr32DlFAL5-nU_UqG6Yuzd7YAyCjtfQQEie6.aPu9lbi_ovZWLifILf3JK5a70iBggqu6aRGI5PH2laQ + pragma: + - no-cache + request-id: + - 11b3c0a8-ea9f-4c37-b393-72c1d9997d10 + 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.10.1 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.32.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: + - Sat, 19 Feb 2022 04:38:50 GMT + duration: + - '762076' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - 6IC1oH3kzGh1yvmxmFxx/qxQ4orBeGaoyIVQZbaFLzI= + ocp-aad-session-key: + - vjf5FVLRKAHrrn6OsKs75QTGwi0RAaCrMWVqzix01IZSoLmg-UBfInSZ-29C3EVkQXw7KeUfdOeUsUPVhqjnGZYBku5Omg2UIXNP0HD9_57kNanVT-KP5Wp0u9Hsz9VW.rtGFpnv_0i9-omSr63Yao3iaNcVZDVch0eB51GsCzzI + pragma: + - no-cache + request-id: + - 78409e91-bfe3-4457-9f20-e595b9473d9f + 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.10.1 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.32.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":"2022-02-19T04:38:52.0315125Z","updatedOn":"2022-02-19T04:38:52.4065196Z","createdBy":null,"updatedBy":"27f82b5d-ce19-4257-a337-dabea1926ae2","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: + - '1017' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38:53 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.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.10.1 (Windows-10-10.0.19044-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=2021-05-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/\\\"42b4eb34-add3-4143-a32b-44295fe6a826\\\"\",\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: + - '546' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 04:38:54 GMT + etag: + - W/"42b4eb34-add3-4143-a32b-44295fe6a826" + 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: + - 42f01b22-8300-4b43-91d7-3262c6a2df10 + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "identity": {"type": "None"}, "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: + - '315' + Content-Type: + - application/json + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-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":"East + US 2","tags":{},"systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:38:57.4726572Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:38:57.4726572Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"cli000002","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[],"hoursBetweenBackups":24,"prometheusEndpoint":{},"provisioningState":"Creating","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '1104' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:38:58 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:39: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:40: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:41: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:42: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:43: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0eb61bcd-7248-4705-9c8c-0ad30330f030?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:31 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-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":"East + US 2","tags":{},"systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:38:57.4726572Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:38:57.4726572Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"cli000002","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '50672' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:31 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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-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":"East + US 2","tags":{},"systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:38:57.4726572Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:38:57.4726572Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"cli000002","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '50672' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44: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.14.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, "authenticationMethodLdapProperties": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + Content-Length: + - '298' + Content-Type: + - application/json + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-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","systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:44:34.8299102Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:44:34.8299102Z"},"properties":{"provisioningState":"Creating","dataCenterLocation":"East + US 2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[],"base64EncodedCassandraYamlFragment":"","availabilityZone":false,"authenticationMethodLdapProperties":null}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '903' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:44:35 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.14.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:45: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:46: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:47: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:48: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:48: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:49: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:49: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:50: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:50: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:51: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:52: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:53: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:54: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:55: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:56: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:57: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:58: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04:59: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:00: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:01: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:01: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:02: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:02: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:03: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:03: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:04: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:05: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:05: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:06: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:06: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:07: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:07: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:08: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:09: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:09: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:10: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:11: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:11: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:12:15 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:12: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:13: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:13: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:14:15 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:14: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:15:15 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:15: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16:15 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:16: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:17: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:17: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:18: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:18: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:19: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:19: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/17ad6bf7-4aa2-4004-aa60-e81f9ffab194?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:20: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-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","systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:44:34.8299102Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:44:34.8299102Z"},"properties":{"provisioningState":"Succeeded","dataCenterLocation":"East + US 2","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.7"},{"ipAddress":"10.0.0.8"},{"ipAddress":"10.0.0.10"}],"base64EncodedCassandraYamlFragment":"","availabilityZone":false,"authenticationMethodLdapProperties":null,"sku":"Standard_E8s_v4","diskSku":"P30","diskCapacity":4}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1036' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:20: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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-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","systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:44:34.8299102Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:44:34.8299102Z"},"properties":{"provisioningState":"Succeeded","dataCenterLocation":"East + US 2","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.7"},{"ipAddress":"10.0.0.8"},{"ipAddress":"10.0.0.10"}],"base64EncodedCassandraYamlFragment":"","availabilityZone":false,"authenticationMethodLdapProperties":null,"sku":"Standard_E8s_v4","diskSku":"P30","diskCapacity":4}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1036' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:20: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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-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","systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:44:34.8299102Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:44:34.8299102Z"},"properties":{"provisioningState":"Succeeded","dataCenterLocation":"East + US 2","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.7"},{"ipAddress":"10.0.0.8"},{"ipAddress":"10.0.0.10"}],"base64EncodedCassandraYamlFragment":"","availabilityZone":false,"authenticationMethodLdapProperties":null,"sku":"Standard_E8s_v4","diskSku":"P30","diskCapacity":4}}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '1048' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:20: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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-11-15-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":"East + US 2","tags":{},"systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:38:57.4726572Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:38:57.4726572Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"cli000002","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '50684' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:20: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.14.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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-11-15-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wenting-stage-rg/providers/Microsoft.DocumentDB/cassandraClusters/wenting-stage-cluster","name":"wenting-stage-cluster","type":"Microsoft.DocumentDB/cassandraClusters","location":"West + US","tags":{},"systemData":{"createdBy":"wentingwu@microsoft.com","createdByType":"User","createdAt":"2022-02-10T20:36:40.5264155Z","lastModifiedBy":"wentingwu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-10T20:36:40.5264155Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"wenting-stage-cluster","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wenting-stage-rg/providers/Microsoft.Network/virtualNetworks/wenting-stage-vn/subnets/default","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/visunda-cli/providers/Microsoft.DocumentDB/cassandraClusters/with-space","name":"with-space","type":"Microsoft.DocumentDB/cassandraClusters","location":"West + US 2","tags":{},"systemData":{"createdBy":"visunda@microsoft.com","createdByType":"User","createdAt":"2022-01-19T07:17:02.3546821Z","lastModifiedBy":"visunda@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-19T07:17:02.3546821Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"with-space","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/visunda-1/providers/Microsoft.Network/virtualNetworks/visunda-vnet/subnets/nova-subnet","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/visunda-cli/providers/Microsoft.DocumentDB/cassandraClusters/with-real-space","name":"with-real-space","type":"Microsoft.DocumentDB/cassandraClusters","location":"West + US 2","tags":{},"systemData":{"createdBy":"visunda@microsoft.com","createdByType":"User","createdAt":"2022-01-19T07:24:13.2639472Z","lastModifiedBy":"visunda@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-19T07:24:13.2639472Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"with-real-space","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/visunda-1/providers/Microsoft.Network/virtualNetworks/visunda-vnet/subnets/nova-subnet","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/StageRunner-4-rg/providers/Microsoft.DocumentDB/cassandraClusters/StageRunner-4","name":"StageRunner-4","type":"Microsoft.DocumentDB/cassandraClusters","location":"West + US 2","tags":{},"systemData":{"createdBy":"86170464-1ef9-4876-812e-1f5eab2b591d","createdByType":"Application","createdAt":"2022-01-21T19:10:22.0375928Z","lastModifiedBy":"86170464-1ef9-4876-812e-1f5eab2b591d","lastModifiedByType":"Application","lastModifiedAt":"2022-01-21T19:10:22.0375928Z"},"identity":null,"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"StageRunner-4","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nova-test-vnet-rg/providers/Microsoft.Network/virtualNetworks/westus2-vnet/subnets/default","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Deleting","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pi-stage-rg/providers/Microsoft.DocumentDB/cassandraClusters/pi-stage-cluster","name":"pi-stage-cluster","type":"Microsoft.DocumentDB/cassandraClusters","location":"West + US 2","tags":{},"systemData":{"createdBy":"piyengar@microsoft.com","createdByType":"User","createdAt":"2022-02-03T03:30:41.0312162Z","lastModifiedBy":"piyengar@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-03T03:30:41.0312162Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Ldap","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"pi-stage-cluster","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nova-test-vnet-rg/providers/Microsoft.Network/virtualNetworks/westus2-vnet/subnets/default","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pi-stage-rg-Feb4/providers/Microsoft.DocumentDB/cassandraClusters/pi-stage-cluster-Feb4","name":"pi-stage-cluster-Feb4","type":"Microsoft.DocumentDB/cassandraClusters","location":"West + US 2","tags":{},"systemData":{"createdBy":"piyengar@microsoft.com","createdByType":"User","createdAt":"2022-02-05T00:49:11.4206111Z","lastModifiedBy":"piyengar@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-05T00:49:11.4206111Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"pi-stage-cluster-Feb4","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nova-test-vnet-rg/providers/Microsoft.Network/virtualNetworks/westus2-vnet/subnets/default","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pi-stage-rg-Feb4/providers/Microsoft.DocumentDB/cassandraClusters/pi-stage-cluster-Feb4-ldap","name":"pi-stage-cluster-Feb4-ldap","type":"Microsoft.DocumentDB/cassandraClusters","location":"West + US 2","tags":{},"systemData":{"createdBy":"piyengar@microsoft.com","createdByType":"User","createdAt":"2022-02-05T01:39:13.4850171Z","lastModifiedBy":"piyengar@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-05T01:39:13.4850171Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Ldap","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"pi-stage-cluster-Feb4-ldap","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nova-test-vnet-rg/providers/Microsoft.Network/virtualNetworks/westus2-vnet/subnets/default","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/visunda-1/providers/Microsoft.DocumentDB/cassandraClusters/visunda-1","name":"visunda-1","type":"Microsoft.DocumentDB/cassandraClusters","location":"West + US 2","tags":{},"systemData":{"createdBy":"visunda@microsoft.com","createdByType":"User","createdAt":"2022-02-07T23:08:44.5266396Z","lastModifiedBy":"visunda@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-07T23:08:44.5266396Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"visunda-1","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/visunda-1/providers/Microsoft.Network/virtualNetworks/visunda-vnet/subnets/nova-subnet","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandrahkmdymyfxkpeqlynu4ywee55b7l5ev3eb4v5nwl5bwzgwlpjtzhar7/providers/Microsoft.DocumentDB/cassandraClusters/clis6hgimn","name":"clis6hgimn","type":"Microsoft.DocumentDB/cassandraClusters","location":"East + US 2","tags":{},"systemData":{"createdBy":"visunda@microsoft.com","createdByType":"User","createdAt":"2021-10-26T04:43:41.6152958Z","lastModifiedBy":"visunda@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-10-26T04:43:41.6152958Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"clis6hgimn","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandrahkmdymyfxkpeqlynu4ywee55b7l5ev3eb4v5nwl5bwzgwlpjtzhar7/providers/Microsoft.Network/virtualNetworks/cli6eqvxew/subnets/cli5bfjh7d","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandrap5hcdrscryq26xljtcewddvayalw627atz42h7lr4unwl7xmoho6kl/providers/Microsoft.DocumentDB/cassandraClusters/clivmv5vyb","name":"clivmv5vyb","type":"Microsoft.DocumentDB/cassandraClusters","location":"East + US 2","tags":{},"systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-17T08:27:34.3228035Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-17T08:27:34.3228035Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"clivmv5vyb","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandrap5hcdrscryq26xljtcewddvayalw627atz42h7lr4unwl7xmoho6kl/providers/Microsoft.Network/virtualNetworks/clihxoj5f6/subnets/clinlhk6fa","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandrasshkajqdjbragmbticgnynuik2wp7klat4wjfajqvgsccogthgksv6/providers/Microsoft.DocumentDB/cassandraClusters/clia32n7yt","name":"clia32n7yt","type":"Microsoft.DocumentDB/cassandraClusters","location":"East + US 2","tags":{},"systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:31:52.763063Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:31:52.763063Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"clia32n7yt","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandrasshkajqdjbragmbticgnynuik2wp7klat4wjfajqvgsccogthgksv6/providers/Microsoft.Network/virtualNetworks/cliilyciy4/subnets/cli3j73acd","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"East + US 2","tags":{},"systemData":{"createdBy":"amisi@microsoft.com","createdByType":"User","createdAt":"2022-02-19T04:38:57.4726572Z","lastModifiedBy":"amisi@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-19T04:38:57.4726572Z"},"identity":{"type":"None"},"properties":{"authenticationMethod":"Cassandra","cassandraVersion":"3.11","clientCertificates":[],"clusterNameOverride":"cli000002","deallocated":false,"delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"externalSeedNodes":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABdSYeX7sQBCUwAAAAAAFzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMloXDTIyMDMyMDE3NDcxMlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAs/sujUqYPkRKZeaOyIl9pn0D3BpvZ6V0711WlDN2pc8OBPHiG8POqq8+\r\n0/Dr7uZFYxGKJhGX8KO7zsIAaC6NPw2s9Xy2BudkMa1m37W4TUbnxFwwXn5NALAp\r\n9tvUbC6wmYAhlT66OJm18niw+JAxEe12+abvtiSRBQ4O//rWiBndzN//Ypftk3VN\r\n4Zw4JPQ0gzDrD3wRhuwSgAMmdXvbs++KF0cch1mXXQNRWm/9ppsKSjYghHJ15uIO\r\naNH3z2oqogk4o+FpWqrckVmRPdT+eSL8C4+1+BTBjSat7zA3d/m6I2IMB9maTfqU\r\naKy97PMH0ABF366uL+bDVc2BJGi2qQIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFKD2eMrr4bYjijHEbpM3VCzyi+jMMB0GA1Ud\r\nDgQWBBTSHNLxjYDGS1U4HbKOhJb7PCB+yTCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAETivlnWMRsdpFNRwBzzzGco/JjCcnpxhi3CauWZHh++/A5TbFZB\r\nXtEXbm+AEN6Kd7+h05Ptdm2GW7SCvy77Y0+0ND/djiLV71heeBMM5x6TwpZrCrWo\r\nkuacsuax0Kg2rTLyNZytkiFXZrJLk2SFTpFenX3EOskJILgtOPEX/ZTv7/wzL++Z\r\n+LT9j9xYVnUvwLqB/4sdQNwRYKBCui9sBH8Y3hCE3g+dXAPS/kn+cRnRgqeCnTTQ\r\nvxhJPR1LOfTBXyco+NQ+dA8ZwmVojNkkBabEYc/aF70aTI1K8tyP1ptJVs1sdgwR\r\nsoyQ8tDBpj8sSxtWjKnVoOLeYp3o3C6eoSvFMpzaj5BFTY4NIIp56kAeXfB+E24D\r\ngQbhuMJxRPXMo34npwjM5GGAdZBi9KVTpASY0wknAL+jrVCqG6Ax4V+ELi9Dk6Hb\r\nA9+Qucd1ykdL+W8jDxyw+JrQaxi7+Gv8GPh+o7IudTXvlQNo6XENS6kHoA+JxmI+\r\nxY5o4GomKx1xo00VxVuwtDubLph+FScgWE/zuvu3ZldC/7/MB/Y0CtQaVT5Wo5NF\r\noosuIkAc4Y2f2gdGQoJtiENqb0GayfgwJJMmMpp9ar8yKXrE4jTG53a8+abXWDKS\r\nstv9KvSwb9ihY8cSz5yR4kDWTNOL3U9KIWLyITyIF0fbafdXCeiKBLUm\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIljCCBn6gAwIBAgITHwAAABVaV8yWAc0NPQAAAAAAFTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDMyMDE3MzcxMVoXDTIyMDMyMDE3NDcxMVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApAQZTI26Rg4HnWX8jy/vY26Y4fTLjb9jWemYlRaM4zhUjj4GN97uR2zg\r\nw517b3WUzWT7M2ADJ9gAJprnp5F6zx3dICmU1m44cgaJN8lASiLhUEJGNTqY+o5j\r\nchaCGSi+rBlY6JS+lzY0AfHkNcgt/LjWFjNP8P0Q6NVS3/kDuo8aq7Wc3TZowX0Y\r\nHVbcCsa7YC3ZatP+8D3DAYl6R3I6E6PjEOvdUCunOrjX0p7xrY5aNPFJHxcQO6za\r\npFKJScK6m17KX46tFoA1pPAhXWPot9CP2IPhXoCRrLLqmE+Kf5F+pIW5TeTqxKeA\r\n/+OYjI28jFKosBF1icOUcvcfHQP7+wIDAQABo4IEhzCCBIMwEAYJKwYBBAGCNxUB\r\nBAMCAQIwIwYJKwYBBAGCNxUCBBYEFNgnvX2JlUJ8CL+jG4wlvbEPmqNAMB0GA1Ud\r\nDgQWBBTPhFh+dv51gY7bMGt+Rl7ukpSXNjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMF\r\nBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYB\r\nBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdA\r\nAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcU\r\nAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P\r\nBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnr\r\nrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDov\r\nL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9h\r\nbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNE\r\nUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m\r\naWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlz\r\ndD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYB\r\nBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQu\r\nY29tL3BraWluZnJhL2NlcnRzL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUH\r\nMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQw\r\nNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVy\r\nb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNl\r\ncyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9i\r\nYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcN\r\nAQELBQADggIBAIp/445MHh9JPotcAV35MMD743LgowsZo16lizEEFLYgHoNlTPni\r\nvPc1STpxl24CP0kzb/FWfBwKfrnRtZODTSwdEnU5gyz2WUWP97Qsigj8WjsXDbp3\r\nVJjdc/nnLJ3bhN5stvpZ83Z3YPoWx2GS5GYVOz8mLIxqZSH9783a3ovWpjugqIOM\r\nCdgccpdVyS5oHenfmC9TW6TGvmpWCMel2F2lpHay2QElcJQX4UCijQ8lEYHXiecH\r\nr9/blghkDGYCHeCjMKWQpwSRNQPQyBt3vzwi8/e0B9lLx6S2dGV2nX7c/eKsbcwW\r\nVcpUNDnLLHKLM0hVLVVZxpF93jinOLsLZti+JzcmLpvOlBKUeywfGLJD1wYTWywm\r\nxkZfuxTewFnIU0Rq32DSWcsKqnjLkyP+SDJxnlKaujPxSq7o903OcrwLTv+/3mI3\r\nRyo8mg3PbFsNI+RYMX36uYAWXsgfm2Y1kJd6ycQdJcfNc8ZyWP6oB+p9eRpcmKqQ\r\nIjCcXtr0HrE5t8fpAQCGBGT8+Hm5Ns+3k/nkdNMo77l5wBNuWzGuInYbn/sEZ7FI\r\n+/Lw/GpOOKT8V34yuWfW/FanefuG6a9PcNK/ldNPb4yHiF8dt3YgR7hPPXF5bDdX\r\nkftTGF6DHddMs7HECICC+dQ9BfdjZCNWEeV7zWvgGIuQY29ObaYhW+yS\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAABre8vFiwgugAQAAAAAAGjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE3MDYyMjE2MDg1MloXDTIyMDYyMjE2MTg1Mlow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAsJjqenLdUDi/kglkC//iGuHJRiBIM8TYPvvWiP+HKZU/KAbLcxFcvQkk\r\nH3TQnF4g7I898SN4W/l8H2OnAcE/MTcVBQ6lwVQ2WIVOZZCn+DNUBLOrGaOYuqLm\r\n0f8vWYCLwk36e56PK5h1a6cDaMXJ07J1gSaYwAgy8mHbCGhrUxLuvPXjgznpOXl3\r\nqLbnxW+3N/ZMpPSpnVNvwI0knkjKuCnSE+z63QdbfT0iJBtbPHmfwaYuLOCQHBq4\r\nyheqpYjFSpb1vpgNQm3ByW1zEdLa1+t11t63iRv/7k74fM5Riy6ouToo03biMuKo\r\nHbLIw6PKXp0TnZTT8XMS9KpgipCdTlw0SBxxlgUCX/idiQm1cfb6Z3GwSJTNbyVB\r\nIKi+iE0XUDrxhkYNGbwX0RSjzvBgjMC45ek3cwKUSS7/pQ54OXx6UdYfJOD0+vQJ\r\nz9NujIlN6RxaZ9y/XIj18zgr4EfcPb3rXX0jJwxnWpFe+BXnLK666oK0I9MYKCNF\r\nOt26QTWp1kPWA8xVCybWdrbF3fp+qWwmA8QGgzBYOol3q+AaxJH19RLbhKRrOkHx\r\n9rXckhevXAGuQOvdR9tU1XsO/kl/dRxyv2pR0/MQLFCzbyXIh/9G/0St9VGqKxRq\r\n1IYTpzF5/mCYh5mjCjPEaQKwNlxS4s3upsa7203bAKjqwYFozy8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRQMfDvQi7A/72kCQvKxMKG\r\nfdQ/MjCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAFh3zTh6hfG/zoMx\r\nmQdummULCEZJtMrIAcOZ0wPJDaFIzuithuIGkA1i0cHWluUe5ad1t4e73Z/ZL4lJ\r\nn6rxhPGv5OHUVd+D/e8VK8+o+egj66AIubP5gwRsSkpYjfmpjVC4co/ZgtxvrhtQ\r\nOhWQ2lpqqXrN+UnDT6NWigAa/DzLT1GbiczKlUDnFNAqgUZoclJHvXSxIwqq+EtZ\r\nOEzmjf1u13riyWbLyvkCKgsJwpyfxZScVlcHwHnDQCNn2+G/jWN676lNGW7IQRbs\r\nxtm/Y8m5n93qFWJNBngVoaj+Zq0dJFNGtk/qdAEMob1g98H58BOBh4k6F1CSTQQx\r\nOPxQp8ylU37VjPa+4gPwIdLQAtISFXixU3wyy2nhdWzqBBAAnEYwdyuaQVcFuUuE\r\nNQBjNKv8D9t8k5BEFh9fgjFiDyHGzlbpXEuLxESusAZNfVoh10FsxXorrIFwcgCY\r\nq1cZotKwfwQ9un3oJDZYsaJ9mqrs872R7pmDJ3ys/H44Ps5gUj5cnBEU77vnrzoC\r\nd07Z30/ZwSNZ5HzaV13zEKtbitg5XAb36IpqrD9mZsiIs4YVh9lztNVVVMkdieZ7\r\nzg2KunhqwKZtqixW9hZ6vg8ME1BNJJ6Gz0cL+2F+r3g4CJWQUOw7+rpVNYoFCd/Q\r\nIZ8ZA+FGiS1PzSDaylCTd5Ce9+d1\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAE5Hd9yskSH1BgAAAAAATjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDU1OVoXDTI1MDkxNTAzMTU1OVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA5UFGOQgmohqJHkbMMcN4cnK+mAoScYUAR/njrD0x/GyFeTko+QXMU1JJ\r\nIePmVcugmyO4xX5ITShZWy+/qPAWy3vwT6HzBdFq5eTGbkbFCrQdh5w1+jwOApMe\r\n9ZDlMDO+RUtJe1XxWqi3KRY0e/pJmpOk4IUEjx6wxvv5MnSWhMa7aepnkuCS8lvF\r\nNl9D5oUGIYvoDUgVMQSBazQP2zjRunMT9JOopFKnZE+L7NY+XDtla3I1uZeMeakA\r\nfqkNjx6lkUIgcHPhSMy5XHBpOeFdSDjBA8dNk6E3VSlLzvPcHdaHI7QrmK/43wzf\r\n+kHpDdTXx8EdOqm+pLHoKLWcjw/P8O9RAMiXefxGnQKNuP8T+/prskR5esucJQkj\r\nrWSu7W7YycmIg1rPCd7Qw005/sc58eLPN+Xrj/Aw7RSR0A719CPZMjoSfKTphSEK\r\np+ZB+5j/V3VEzjGbL6XFUezFfaIZ+A7ZtkaEQYDH0fVVziPnhQhJB+Uym7a5arB3\r\nqiMMw7Yjos6iWkkOaqhaCHuN1zC374xsBec9mrJ7bfuLTNtBEKC1PhdZrJM3UDCo\r\n76v+3mnKouN/7vyVkbiLNb27MXRigXFbO02opR8prTkvv3af+iq6+xjmVWZhsILI\r\n0HIBk9/HoMZCCb9e95RQVmVwVNrwa24neVWl+JEw50sqLMapsGkCAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUOsfDysjeDdOSwCeJyL6X\r\nR09FaWAwHQYDVR0OBBYEFEKY1e9GMTrmL0fNVVel5jUfu/yRMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAuaX699r+ayL7JphKgdiDuy4iPTwf7fTkUsLx\r\n7ixBzvnUrUASdS9GJEkpsewdipRfMycn3UXatnQ6rudCqBgsExJzHBGlokhvVaZK\r\nue0oIlJstnKQDOJCpJem9NkvwALP5z3WZoqYf4EaaQXUkMAJJ2qxw+mksSBEu+MJ\r\noxgbStKv98q28ypOVLjaFNH/VbtAG/rIcqNyOdjAPcgMcohe7lGO1WQtFxPxtzvS\r\nZfgao/ZjWeNDFzy8FSInim1q69Syl3Y4dzeAlG6PiC8t7upDQzo2AJxI1tW0AkKV\r\naJIS9rGZquLN5MTbYozjEyzMvSEYFEpx+7YKQGayHz3eCGH4BzD43YPt20Cm4BMN\r\neyV64+d9PufCA2tzrIQ+VJhsZKb6qRgV+Bp6AfpgeyU6oRkqsWKJyKyzp6o0D+Si\r\nq3gYJdD3W0+X1jUJcQuywYLRg78rVE3A6VJ7RIEjXARQV19hJvxchCoqfbny/0bX\r\n9Bb3Rtr1OAYhUml6Z6JdfnH33KfEJvFa4wlKRBxpuw9gMG5ydOsbZ3YIJDWccTLH\r\nQZWJk/Lakd/+uLPWOzzWQCf7nPapwSRjtfRRLZoX49PIQkrGM3dpLLGktC+sg8bc\r\nvQ2bO79bKJazcsKuNK0dOpepIBA1mMD81DphYmc/RMF9KXKdKz4Ugh4HNqkltIsG\r\nEtaYPCM=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAE2e+Zx9LtWjEwAAAAAATTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDUwOFoXDTI1MDkxNTAzMTUwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1RZFKUUXNWXgbh7dm52Irso1hGPDEL9ZZXYz0civ0AAlDu9P/1okXVpc\r\nOPQnRxE7e7O8roTSctA4MTBGFIjrCythVzk6MJC1bgGv7qwCV6o5P4zVSxQrHPx+\r\n2DPDIZlt3UV4RNLuKVvSZdzQt1UsxUOxvTZ/0mO22d6mcspf3I5Xt5h+7WlTgHAy\r\nWvvlpuX7LR8yTK/um4526bdhUG98I2nEURH2vnNSt3/Dbt1R6qoPMja0HhghuOtY\r\nt7Z77nyI2gOY2fRu3oM15Xqe8b3Qwx5IsSV/pTWJ34VPz24TfUmCQOVtu/m84ayA\r\nwSZ754d+JvkyPSdINV3tuLtbo/QVewIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBQbRewlXgZoN1BD7V/nign/FlWETTAdBgNVHQ4EFgQU\r\nvZx3N/n1PWYwyjVonISvG5ZVEL4wgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQBFtFQSE7TjElKEmwHyydrA/UEAzho7rEMy2lvNr2tgX/7WVWDqmDrTK4La\r\nm6/MGOUBYbF334Ywvprij/UoSpyMEq5HgXiCBxOgyUPSZx8x+XyINgCujVXRk9za\r\nPh1lXpYCV2qhIYAhazeprDYzX2im0Jwe8X/Xsl0kzgs3TE7medDW9CVEYS+T7SqG\r\ntmXhOg1FW04yUM0+Z73ZQGF5oqnE76kzpLvfn+YWA6KbLfH84yTpqylAD5UFvfeW\r\nMRoNUUckpsteddNba90soUzxeRwU0Loxj5Qsds2gB0tSIpVh330BxEDTIJ73FZIv\r\nvURqyoDor+Eu1NOVk3sdCM5nXuN38dc0a9fsSRoJkbQYTP9UNJPcUDO3kZoYWNxD\r\nWrn5J/ltaxPc1o7+USSm02C023HIrWBJkfnepIZKV8m7wkddcygJ6FQkxFU+NQUW\r\n+a91tIw3HTEHvmNlJddPmjgnE3k6GS1NLOC5IV/s1s4sSME3QYQAt+zr5TKRdZ06\r\ndBOSXrz66pVpkR2wuAvlCEuFk7gaBrKz4j+3wJ9CPhETezARvgpzQCw9es9y2qde\r\nO1rHPYa6IRtmjcVDvxfmjei66bQwoapDH/OMS6sPqqqn53l9g4HDDgWywWn9ad51\r\nL5NAvQYhHwSCG0E2Os5mUFYM56ZVA4WHVUn7NZsAXGnDtIwlPw==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJcTCCB1mgAwIBAgITHwAAACbGTID3uXpE1wAAAAAAJjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTE4MDMxOTE4MjcwOFoXDTIzMDMxOTE4MzcwOFow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAvBsRcCD4Z38LQPG73ci9jIpQv5tVQh8lLrcQ9lO2lH6pUVWi7T7jCyX/\r\naCSmit7fT6seN/kf6LP0hpgsU/wxMMv4c4+w1M16EiRc6GPJtSPNszl8ZNAzZj39\r\nxeJnAMhPzeABRLgzYgLH+9R3k8sIJMhSjcUfp63GAhKtdqhQeTOs7m87REtmAdo7\r\neZh/Ubn4HR1ZxAswmoWmMxMZw1KZj87395IxE3Ybj0m/V8dyskpxWdAzkvGeO//l\r\nb4FfAHVCCix9wsijqomj+jeJPHR/AF/5+MZXjoNDs6/+UMdSrEqa2fi8910J6ogL\r\nSMdL7NdV77U5551wZxeUwSEHUc4qkQr9cFAdHcdYiMnIrU28zk7O3yQdsyWdrTqx\r\nTbkoYn36Ji+aSyzs/u/Zh3pAWw9IvLaoq254Rpf1SWsvufE2YXaP6kUmvOE9Qrnt\r\nQ138fwe9CmPUT9I/cM0v16BDvELEH3KGsWez8WRFA5RAB5pPDKjMyZ7mNl+0+EDv\r\nMq+KYjtc9uWJoRsRe8mDnVt2JGRBazTCFd/m5HGywdUvg/fZyVfBrvsRhcahMXn+\r\nb+a6kw+gMY29dcNutHNl1ZuKbwUuvp0ShWnauFVqMSRP6kSgXjzM0Oez2CHEtnX7\r\nNTKy9+eXsqxkzVXop81HCR7QCDlKPkc78IRETKfQA/nHdu2iOd8CAwEAAaOCBGIw\r\nggReMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBQonG1RafqmxKhDxP+NNvoz\r\n3/1FMDCBsgYDVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIG\r\nCisGAQQBgjcUAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggr\r\nBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEE\r\nAYI3CgMEBgkrBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYB\r\nBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYB\r\nAf8CAQAwHwYDVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8E\r\nggFfMIIBWzCCAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br\r\naWluZnJhL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwv\r\nYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3Js\r\nhiNodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8v\r\nQ049YW1lcm9vdCxDTj1BTUVST09ULENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNS\r\nTERpc3RyaWJ1dGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEF\r\nBQcwAoY7aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FN\r\nRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5n\r\nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwzLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKG\r\nK2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0FNRVJPT1RfYW1lcm9vdC5jcnQwgaIG\r\nCCsGAQUFBzAChoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMl\r\nMjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERD\r\nPUFNRSxEQz1HQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp\r\nZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAJFaZ9bHSEXBMKUi\r\nxLJgRr0yPOBbkZAHGsXGsAAdXnsAcmRZnoMsJZwHJY9qa2SDdjWzCnEuk50KJ0Rm\r\nvePgWmDtQWwyfFT//JIccaFgxYsU2SjdHEi0DmRElJtLkYQorDjkqn8s2T8y95f0\r\nmdcNme7cQ8PsjawgV1hb7r1I0bRh93M4pDzRt0g08RoFtMGuqRdU3roMDbuid5Hj\r\nBnoT5MdJlYzklABw+JPOIFeqZ0LMq/RPyk8Dpzo7m2dSc78GitdNnWxj4Ku6l8lb\r\n0OHX3BL1eVKyKi8Vta3BjpzWuMQompgdzp1Eh+mDyfKV/+dlfIEPJI1stEHIEKWR\r\nR5yt35+RGXrmsmAwTZT5mcJk4JdAMhVnRnyWvxPzieYCR9DcIaT6+NBBYzQegOG+\r\nIMnLpnZp6qhbG7Nq9MXCqRY2ooojLCTLTCx8R2cqdYonJpB4lSkYMFYbuV7HoiNr\r\nXdZm0gMRi2DmIaZ7cxXUn0BmZd/lXSXNKdxwHKecu0F8ByT1Zlg3NgIhCb+6SDYB\r\nlOv5YhnwSd00aUaSSYc2dKJmR2yfCKT5Li9wdtjlB6rYIb7vHRl3x98OIVE+O20S\r\n1jQEqRLzkaDIWOA8D9VeuuIW05tahms61dDi5gx7M/ALhFa/QsbkCJXRf07Pe4ki\r\nHE/1Nk3cohSibWYZqHssdutHBd+Q\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIKITCCCAmgAwIBAgITHwAAAEnEBGqOfE69FwAAAAAASTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDA1MVoXDTI1MDkxNTAzMTA1MVow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAw9b7oiITgLVh8Yry44fRHl/xMuYtsI0Cg944jlh0S5ljKgUEMvt8/S63\r\nRH9+9eXvbFN4L9EL2+RDhWd5hGyg4gQeKtxO7D/+JUoTIamIl4pXTxhO5oORnS9k\r\ntWp6lc1OfpYnkgzrkFHICKggDtCpQxp7cMtM8evEvY/7WvmJDbAsgSRlBIeyVZqU\r\ndfw4ahzvsNmMfDGx2JBKgB5mndVGyg96yCHy5+7XKOkkcr+NKHdnBM3k546rGlCV\r\nErgPVuUkRxrwIa3xD9BRewoihWG7sbuxny49CrdbDi3WqK0VPSJGZ2y5ipUTwndi\r\n/+QhiK5expoHO0hl20DwRgq74qB5zSs379PcTQz59OvUDMi2fiErDYnCT75X3w1b\r\nh2uGBFIwonYXGHU1s/SaxQlXErGplgkLv/tBPAXu8sk+qANHaY1EfPwpPfOXjIxl\r\nRT95moW0IP+CPmhV0g2ZPKNn0mIRPpf8IzI5O4pLe6xfXDekQnNcGaBY9nN9LBO3\r\noi7pBBNObi17J/ebVg2rScg+KAWVVf09iLF2inpoFxKOJQz//poXo2fAvYVXnXJm\r\n99qJvY8gFyOyg2Cr2x/Wp8yw/u7H4DztXuFMYuPEVpR9/EeLP2bzrpdbJpj+SPT4\r\nU0OmtjVtKNR4aOBNBVWmzxV+WKRBfpkq+pjpRMkgFapXWtjlXV0CAwEAAaOCBRIw\r\nggUOMIGGBgNVHR4BAf8EfDB6oXgwH6AdBgorBgEEAYI3FAIDoA8MDUBzYXcubXNm\r\ndC5uZXQwD4INLnNhdy5tc2Z0Lm5ldDBEpEIwQDETMBEGCgmSJomT8ixkARkWA25l\r\ndDEUMBIGCgmSJomT8ixkARkWBG1zZnQxEzARBgoJkiaJk/IsZAEZFgNzYXcwEgYJ\r\nKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUluoFkm4uQswgfjWGaL4s\r\nMWhX+14wHQYDVR0OBBYEFBxS0IHKkOkG4KzpGA07z01trd55MIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAa08V3/BsJsIOjn2Qu6zUb0GosfdvggVX36PY\r\n9OZyOn5d2+tPPjG2re+uovdpuLKx1YH0iBX4kIL05yObqKMAv+YO3Ihj4MkcYy6A\r\nk9DbHyQTYoeSfaryn6yo7kLYCz6E+li6HJ4FVx13PxpwqDXWUu+Yf5Kszj56IqHx\r\nTI9LV1ZbqmZYk7fQIPETYENkE23ypgh5snRtqSZYTw6HASkHI4E7NgFkOATnIcs2\r\npLGzcc9vc/QYlj3PT3ciGdpGkz8l/A2MMqC4eleYFTBSX9rNNG0tf0M+5fVF417D\r\nmtqDlglm9bWpgrdLpmcj28f3766EBJBq9zza4M9dAGBWBQx0c8BR9saGATd/U8lY\r\nmlTDhnRdqJvvTbtPzFFmTF5jrANky12jKlaHHTyLETDu6OeDbVEyJNuhj0a+cQ6r\r\nZwYCG/k0WCzUx3MMq1A11uxvseoOmpIqLOGfkEdmBPQXkKC02vyjZkxF0pGPNNcy\r\nBSCIlZ11UtC5ghcZ2Wg/U4bAogTv/XAnjwzLpp5V7mcepzcBagiFlQkdnvUKNI/I\r\nLkerOmrgKe0rgT+ICALZiq7hIyeuM2uthyD3FaBFf62WOtDD6Jfwkg/3LI7of+HC\r\nGZ99J/xaocq6NFYqzD/9H6n0+biogXUJtm7mKhQO3PeLz/1aDIwLfKqZFr3PCStN\r\nvTWqAdQ=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFYLVFiDd8BlgAAAAAAAVjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4Mzg0OFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIElORlJBIENBIDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEAxIoR15PqTSSMns55DdeR97gCwVWRoA6zCYbU66RoYrXuHSpcJM+1tnHN\r\n6B2gITXD0iDoTLpuOvRlM+12v0c8cWdzVoHuRuG0k1ViNgSELeNw8SXSQ6jmvgPy\r\nH6fg+NiKLkjYrJuIp5me3/asqMTeO6MOkeimS67PYerzkMYoC7BUEUacludZswsM\r\nFZnsM/vHCjIpzQMGWyUzju2ANT+J41Wz9AmukpPQFNzyq9566BEU/4MJh9Yg5aSR\r\npzI1gU8r4Y9ABdOgjsFnEm8BSSdlWLgalKevYPMLX/FO2rFufFgcNJq3Y8rnAtJD\r\n0k9jt7isXmJgS+JNfANvY7+jXQaCkwIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUOLjGDtr98qbFC/XuACeceItvo7EwHQYD\r\nVR0OBBYEFOXZm2f8+Oy6u/DAqJ2KV4i53z5jMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAYI9s0aXNjS8k6w/pyYwcd8HBPAjpWHJp7vBNsa9rDbau6raD\r\n+QWjj+hO5OKUkNchKIkK3xUc/iDAMNALDLFqUOaVTeMh5fu/e8Pr1AX1R1c5U1Yd\r\nxExItrFARqTCCIQpLz3cTu/9KA5QgUQlnFlrxA9IHq9G6k3TvTB2AngUzXBhNhl5\r\nb8ya7LK3dhfqf2BQHJ7k1XReCJLYMxI6PaG0F6mWTCFNBbBxgjsXeXfjYv2li33v\r\n48ALT/NXFoOTbAOP4EFfLhMDnx2O6cFOKrYT9O+EU64oJ/0MQDQSq9PVos5J+RW8\r\nvD/h2ycPqMnmsjvpJ4pWJZP+YSxy/HWMwbZt/Dv/UobeQqLCIXGnODv87K+1JVo0\r\nO3c1NtGJu61JyXwW8id8VSQuc2NzEr58rOOGMfU3gHZMSNY2gsFs1gqXC6MjtX9O\r\nipJ+dqr7lgRvpDN9bD2kd9CdOWsxz6PRPxOmbUittmpHdABMZuaeKB/5MnxVrpNw\r\nlYtJYXvKRY1V30kjFSsyLv02YYKb8MI/NfWcjMLw4eaEn//ST+sf+LjB9KF8TxBX\r\nxuBUpQVA/TJX9GEqYMZt557A5u5odSVcac+w0/Nn4E6WzFLfxMr1O8OOOQjzlG3u\r\n5BPqprm+utwEHBCU4iVcZOdnSgk1dm7C5xmmTylFRYOlwVrFSPcyKy0+6H8=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJITCCBwmgAwIBAgITHwAAAEso8JmcB0l1ZwAAAAAASzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIwMDkxNTAzMDMxN1oXDTI1MDkxNTAzMTMxN1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA1FFhjk/dgVlthN00OKObtbEisXfH40OyapM9KcVlUPnMElPROdKi7XPQ\r\nagq+Ry3QLSSZgNWnkahCSxE81oyudrvlhpR7NpcDPZHsYFw6qsEiirml0hc5awSq\r\n+MtFo9pfnr/zQstb7xg8wjduWjANvO3E34jZbfmCyw4gU4TRPIa9rpaV0N14hQTk\r\nKcBv+S12udS181oWcTc66zxVXUHNK15PRv31jElEYQKX8EJWCe6ccJA/cJD282sR\r\noEhfuUvzXHOeWD1jXH+Eh+mKuhLqiQHPJH7TJRMsN77ndtHH9us3Ak4l9AmGNZZf\r\nwNquVrHAiTw9Ai90btckoeMRn8eogQIDAQABo4IFEjCCBQ4wgYYGA1UdHgEB/wR8\r\nMHqheDAfoB0GCisGAQQBgjcUAgOgDwwNQHNhdy5tc2Z0Lm5ldDAPgg0uc2F3Lm1z\r\nZnQubmV0MESkQjBAMRMwEQYKCZImiZPyLGQBGRYDbmV0MRQwEgYKCZImiZPyLGQB\r\nGRYEbXNmdDETMBEGCgmSJomT8ixkARkWA3NhdzASBgkrBgEEAYI3FQEEBQIDAwAD\r\nMCMGCSsGAQQBgjcVAgQWBBTX/nF7X/NZN2T02QZU2G6DYuwmyDAdBgNVHQ4EFgQU\r\nlUWMsJMswORfcQ0UpecnwcNjm/cwgbIGA1UdJQSBqjCBpwYHKwYBBQIDBQYIKwYB\r\nBQUHAwEGCCsGAQUFBwMCBgorBgEEAYI3FAIBBgkrBgEEAYI3FQYGCisGAQQBgjcK\r\nAwwGCSsGAQQBgjcVBgYIKwYBBQUHAwkGCCsGAQUFCAICBgorBgEEAYI3QAEBBgsr\r\nBgEEAYI3CgMEAQYKKwYBBAGCNwoDBAYJKwYBBAGCNxUFBgorBgEEAYI3FAICBgor\r\nBgEEAYI3FAIDMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeM\r\ndQHRCQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+GMWh0dHA6Ly9jcmwu\r\nbWljcm9zb2Z0LmNvbS9wa2lpbmZyYS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9j\r\ncmwyLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3JsMy5hbWUuZ2Js\r\nL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDEuYW1lLmdibC9jcmwvYW1lcm9v\r\ndC5jcmyGgapsZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1DRFAsQ049\r\nUHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh\r\ndGlvbixEQz1BTUUsREM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/YmFz\r\nZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludDCCAasGCCsGAQUFBwEB\r\nBIIBnTCCAZkwRwYIKwYBBQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w\r\na2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChito\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsG\r\nAQUFBzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJvb3Qu\r\nY3J0MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290\r\nX2FtZXJvb3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049YW1lcm9vdCxD\r\nTj1BSUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049\r\nQ29uZmlndXJhdGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/YmFzZT9v\r\nYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBCwUA\r\nA4ICAQCb7VpPdQaBSKQdwDpgFquVkVtcKzEAwsVlzIENIrlRsOcBgvZlW9QKwgCd\r\n6xvrF9smidaMzlYuxYQypQ0RQEHDKJ1SJQLc1ZtR7fWf0xHqU0cgX3hktDNyN5t4\r\n7rMtYOUhygcZIxVQ2cpkyLoilwnb/q0Y0jOnA7eo0r9K67TJ9CP2m3ZUApzRaCwv\r\nqQE8eNZvngy+613PU11A2EFuTPXoVNb7S3w8amz+mYYnJCBhxf4PdYA/3DZ0q3FP\r\nfFxqKAbuNtXXHFmYn3BBMGSn082Uq8RsAvj5XEkI/xylDlwG3zT+QaIOrJ/06Toz\r\ncT0ewSlyNAB6LzGp/HLTIffhSNBVX8ILs558r6VcnTE21awdkWqnd3PiPkWADD78\r\nDVSb/7QOsBdZp6BKkcDzTc/uaDGahR55UcapkOMBSbngkomK986ITx3yUITn0aV4\r\nBEVbYQQ6b9l/eNHRosiwL52QPnYl6fJRsl0JuUzy9T5DrwGGnRgKQAOmSWPRTdt2\r\n14MWrxbLFRRwvqt2COK82jPTAiZ3XqYSZzZce9bSDsGSm5VpwWz5+xyBYc3djzKR\r\nThctXJrwftNyZD+LBc/4oLOTYLpDB23eI8rvb6Xfm3A8ANucIq2muavxi1A+eyYM\r\nQXwyB2foIV9yhDIA5I1psyJo+CwM9CcibRTjjNL5ghEkoSDjyA==\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIImDCCBoCgAwIBAgITHwAAAFSoP4knG2YAHAAAAAAAVDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzczNFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEApuAstd+jxOmcAhw1KNXa7fDE4SFe/7SdG4avz6VQqep4ofwJwZTxQJNQ\r\nBC7dybKZO2RBiDzzayV9PCxmK9HPRMRmuj68x9BRyoEbVU1tX4HtiBK+hAGiRNQu\r\nPRTYcSs24CgjI3JrxOjNesp8iE8HUVntN8ueXnpTQLSYOR2TmTGM835tkTplflX/\r\n/zPtZvsXSZz+JssQ9SRcXS2t/fPDpKfNVatOmq4iwtX7Q6IO/WCzAyEzacjAFqml\r\n0/PRYT5O+jiRO+TImZ2RD0CB9rP5CYwN2T504drkKteNaT+FT/teBLC+JraDjh27\r\nv24yknl1t8dXCSS6l/UBGBGVk+gr0wIDAQABo4IEiTCCBIUwEgYJKwYBBAGCNxUB\r\nBAUCAwQABDAjBgkrBgEEAYI3FQIEFgQUVSrR7NlDI9ZN5GcKVaV9JEKwIbEwHQYD\r\nVR0OBBYEFK55wmtdJYgTBvYHCcOXfHuXjx1VMIGyBgNVHSUEgaowgacGBysGAQUC\r\nAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYBBAGCNxUGBgor\r\nBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgCAgYKKwYBBAGC\r\nN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcVBQYKKwYBBAGC\r\nNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV\r\nHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAWgBQpXlFeZK40\r\nueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOgggFPhjFodHRw\r\nOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJvb3QuY3JshiNo\r\ndHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDovL2NybDMu\r\nYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFtZS5nYmwvY3Js\r\nL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFNRVJvb3QsQ049\r\nQ0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNv\r\nbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25M\r\naXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwggGrBggr\r\nBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3JsLm1pY3Jvc29m\r\ndC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEF\r\nBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFwOi8vL0NOPWFt\r\nZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmljYXRl\r\nP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG\r\n9w0BAQsFAAOCAgEAbgp2LNvP1OVFkH9JTg9rTMksjvLIpzaqJehSp5+3YNzGl/TH\r\ni3Kg/rbtQaKErwipeLMhmqWFuT9kB22eeyoBSxx3JTzRmKtcJO47IX0qymW04v2i\r\nI2tVWQigwJWtE08Z16Q3NVdgAox6DDnAvmV8QDlPhWdW0gGcszZqFD47SJltU8JJ\r\n6D+xuDl+xUIA5wQ0987HRo4dSx3Vny1cd98GdMepsOnCpfm7ZQDWJUggp8m8T/jv\r\ngj28G4JNV9nsx3TT5D4xFZ0rXUlQNmhJFesprLt8NqOoKqmP40WdqrpVIxlu5pdH\r\naf/uT89gHO3Zy+iqNbCDRB7zSBtaalaqLvGpE0xV3p+xpjY1CujjvKp+rUrGwA1t\r\n7aNRowd45Dn+kESi95bE16V2k54YbRvgkwQgqyFUiissogOtaOwQIjuv5NUMkKnj\r\nWz1S1nsMTwZWQ20pT+SG9IMWxAP+63fLIMxWXSbwkTo1Q7JVbr7ZnbNjPrzwerrq\r\nTx+CgfCjU2TZ2WaqYnKoGlgjiZkVraQ1JYJkEr5N5+12CnAuVNzn7pMs6HUSxc8Y\r\numBjy+KA0I1XMvFerh+fhEVad7kOgOxqE1uLdXZxkOXHC1N4FQlkI65Padcd8dyM\r\n3g+er8suC1gf9/fWU0AlgIqls48Wis2JISOeSsMAi3BDvCIpp5PHbuNfj7A=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFr7ZWQR1r6OSQAAAAAAWjANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzN1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEArMu8k7Kq5y6uDXZk0QxV9Ya5K3Mb0/sCyV4fs48XfAgL3YOHYTZ5o1uB\r\n97VZ/oXuenXaDcoDE18WhOavpqjWHc4eb1QeGGCaB0MoijTLGPzqwWRdByW6l2U2\r\ngFzjKWKtFncIj/VW5S98uCDD8b0SX278XKubkKv0Zn3m1E2wVrTvG8Jc/MuXF0WX\r\ntjFRRJPY3keED1zFNEKjckE4ywTV1atTqnKbmj2rcQucHJ4ufZ89Hel/xLL0bFxc\r\nJnW4Ky8lZ4Q+G9brYexh/iEBcSpNQlfLVJrKZMlAwGPcp1SBGxU9GlSV7kE1LLCS\r\njpS5d6/qw4VA+z5y9HsHN225oBhpAQIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFHrWGYUoeWxxdh5g+PNL76IFQhYdMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAU2IUk2qTwWTtRBKzMTaRxYKvTyvU1nyQLxko\r\nA3304lciVsdA86+jhEkvnCwZeAHoOtYuPeQJdeyhYUhVRDAhhJauvE87FB69gM6h\r\nYUnRqiy+vekLrHB/1x8njoLHmcppjOvBzziOPSqvf8s6O8tJ5AjY3398sm5ckH37\r\nVYHa/+bAYCvEsYmgDGN8L25QvXScTmTthSXHlzsCItPpKFs385dsGJnFD0KcQ5c1\r\ngLmV1bdHnrWyy2mqB819CFWtzhnojtzXxZLuEfTBS18u0qoLdN8KvgB2BvfgZtY7\r\nx+fbkiyoZfnZak0Oj45Z9Z/6AQ1uHGSRadAh19mkcrkPwHktc/3M1PJ69dwZn8Ez\r\nASzYFf8QH58i5uxdou73v+5Bd1m5nmtFCyLC6QDtFYH0pkvmafBx7PwyrgTjq2Xv\r\n7eWL0wXESxzY4HpjMDO36ncsLvzI6j4CyG4cpA8F8+9jwizWqmKMQUWt+VMICsP7\r\nRrzCJ35ogFGWF/dC2hjdjBXjcyLaliR5nE+sDx1PVDdIu7y8oBi60+Vzl0+BSf8P\r\nOdssgwciUpWVP+9xf6SZ7D9BPmLwgIJZ4oPc5K7cTOR6ksQQg8fO44fmOCRfVD/T\r\nDj1e39ijjkmcXUvrcu1sh93vbupLKp4Guruj3Le6iQ4Hla6Pr4znFKCzKk1+RrcQ\r\nVnsaqio=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFOufo2CImJDvAAAAAAAUzANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4MzYxMFoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDAzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEAz2IfhGnsNWpW1cYZrm7f0KG7FjkmtAufsz6xSPNM86b5+jPDUpkOb7U7\r\nj4cWGBVdrYYqWUkziZmWPyl9WLw43KGzaMT3xTnm1xWyok8Z1D/ytHfxFI5t+Xzk\r\n+pcWwIZzuElzEzAQYnVMyfdxD6sM2winZ1ehDpvJeLTPcuTPf5fDYpcrnebODQ+r\r\nnsvq7oU7bHp/jTkGP/2hNzNLR7QJq+rOaHTHDky5yWrsMdgGj0dJXmId6RIfgbeq\r\nJyz7pK0OnoqopPXzZcEQJGNdh9tTh0DWpPGkCWvp4yC2Sd6VSDIApnIpXRn5WNGc\r\n79eeuL9eKvQ5W1zq3/j5HlmwZvPOE+3kPe9r1+WMazNqbhmVk0gUfZX+cnJcy8ZH\r\nqZhjCnW1ihCHzNxMQypQLrnOgVCBkkkRj466iLGDMGL5IyTji2AAp50wMiZuVQX6\r\nwY4kcKqLsjSPpDpHGIie+58/dh9xFgqJzV0kNbAvehRlbwzQnRJWzr1UgZJgjluN\r\nlLpJwTmUIe3I4FzbwrzGMOltYu8XbdFAfyPM4fcfqJwFTF2xI5OYNC3Rcou9OSQT\r\no+ce9/rON//vZNZmQ+TPQ3nkPoKus+JX3EFJbevLeG0IvvC8c2ABwv6cNcvbSSoV\r\nXP+XaBLuXe5A3G+Tdr33bVhKKnbKiravs7sEeKvXVrpDgilOuG8CAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFJbqBZJuLkLM\r\nIH41hmi+LDFoV/teMB0GA1UdDgQWBBRIo61gdWpv7GDzaVXRALEyV/xs5DCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAArPH6tJjsM3VsG3zdh/1Rh3LDz4\r\nDqyUEJEXiM+Sa1kCncVvIqI5GkFKGM3Ur3hdx6xxe5F9gPvUdL22Qf0DLaOclksk\r\nO2FABXqDRv0P7k5yyryzTM/RmLhleut3Fc8BUdfrkmif8Znyxp12sRxK0UgEf6iI\r\n+dEZugVpwAl8IRUk9O201Q87q3zI30NgPT2BJiDycKaKQJF634qatubvL28JaiOd\r\nk3uxWfcqKjO0oeSJ7pxgAiH1rCah7UN5T2d3V4AmDQGLPo7lwX1SKZewa10PnF0X\r\npjE+8welxOK+4pEPl2kRdMDpr9/XPXWpAPt2h67Z0j7x5c7nDU/eZ3UjRkJePoIQ\r\n5aGZuxZ2diziI4JWhbW+kF9M8T0CM1EUIcQV+8wvvualM1q0IN+SJ1X49tt8n3y5\r\nfEAur2599a16z7zg4uF1xI/SafWXMjC8MObCHjR5xodSQ7IxvGyl+6uIkENsiQBF\r\ncuM55MMUELl0VM0+n7Kv5K2Ur+heLzNlTTy2eoiU048g8iQmZzP5C9y4hUE3rYgJ\r\nRxP9ovHl2km91RDTei9aANUGIB8U2uFA7pxe0G8Kp8WSF0a2DtZu7sf2lGjKvP+7\r\nJGaMrJn2bJW6cDEPgfyKCio8kCVtFg7QTtkaZjF5J6AIB0B7aHNPKlAE2T8O2/Z7\r\nJIvM+ijPG5W96tZP\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIJmDCCB4CgAwIBAgITHwAAAFjSjQKPPAEB6wAAAAAAWDANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMjE4NDAwOVoXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\r\nCgKCAgEA3Pi3nd+o2ItxXWvhyaIDXRbrxgB1wqI0wK/wgC3vs2vSbIHdSuOrtac+\r\nmR6Ag8rE69QQOykN2KJIQI53O0egLWUqjDMa43Fkh1EWTAD0B6snyV91Lt24YPPq\r\nOyJZLhGCtYJoQfPQxZjgW0PknDvWCGIBPFacj86c84QzQdmNBMPrObC21S/ilK+H\r\nGjwcYx9Z3dSeK2CPLLkb3C0HzWWLBL5lFHrdM7qphSAJ07g8/ggis/b4aHdWOlN3\r\nfyySWbuTLQnX8J1XZdWGc+7Z60gzt2jwUc2kgpjcpHvV7QYmy141rjiQyFDNUf7x\r\nFBeFIpLDPoxcfAsOo/dtVfxp/dNMqfAEC27QrUogtIUOcCaSZ5r09ECOuBW6Mood\r\nDIx4bUEhXOJmZBtpzRXhVVKTC7Aqs3PTrPehspCxOclx7c8aESASwj6SSWpDQi+x\r\nrKm2DgTIgvVIdyBNdKhxhGNyl1t9jTEMAdwDmY6pN0kMLCEdM6v9fG0nvtFFLU/m\r\nj9Ojh8Rtf3YWiUPd2cI62tVoXckaP3TbdCNmGysT8ShFNEypEINWIl49U7V00Iec\r\nOveCbkfsnKnT/o69znrWUH+Pt65GxrqO5A+To6WU83OqLxljS/cyBTQmrDh70Dgz\r\nKXDXN3JVW93RLoXuNyAhd1nUOjKOI2tmPhEC4Cz7lqmVxDsQaZMCAwEAAaOCBIkw\r\nggSFMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFDrHw8rI3g3T\r\nksAnici+l0dPRWlgMB0GA1UdDgQWBBQ5cV2pFRAtxN9+L1luQE3A3+82mjCBsgYD\r\nVR0lBIGqMIGnBgcrBgEFAgMFBggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcU\r\nAgEGCSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUGBggrBgEFBQcDCQYI\r\nKwYBBQUIAgIGCisGAQQBgjdAAQEGCysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkr\r\nBgEEAYI3FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMwGQYJKwYBBAGCNxQCBAwe\r\nCgBTAHUAYgBDAEEwCwYDVR0PBAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD\r\nVR0jBBgwFoAUKV5RXmSuNLnrrJwNp4x1AdEJCygwggFoBgNVHR8EggFfMIIBWzCC\r\nAVegggFToIIBT4YxaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2Ny\r\nbC9hbWVyb290LmNybIYjaHR0cDovL2NybDIuYW1lLmdibC9jcmwvYW1lcm9vdC5j\r\ncmyGI2h0dHA6Ly9jcmwzLmFtZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8v\r\nY3JsMS5hbWUuZ2JsL2NybC9hbWVyb290LmNybIaBqmxkYXA6Ly8vQ049YW1lcm9v\r\ndCxDTj1BTUVSb290LENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNlcyxD\r\nTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm\r\naWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1\r\ndGlvblBvaW50MIIBqwYIKwYBBQUHAQEEggGdMIIBmTBHBggrBgEFBQcwAoY7aHR0\r\ncDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL2NlcnRzL0FNRVJvb3RfYW1l\r\ncm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwyLmFtZS5nYmwvYWlhL0FN\r\nRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9jcmwzLmFtZS5n\r\nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwNwYIKwYBBQUHMAKGK2h0dHA6Ly9j\r\ncmwxLmFtZS5nYmwvYWlhL0FNRVJvb3RfYW1lcm9vdC5jcnQwgaIGCCsGAQUFBzAC\r\nhoGVbGRhcDovLy9DTj1hbWVyb290LENOPUFJQSxDTj1QdWJsaWMlMjBLZXklMjBT\r\nZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUFNRSxEQz1H\r\nQkw/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRpZmljYXRpb25B\r\ndXRob3JpdHkwDQYJKoZIhvcNAQELBQADggIBAI68ze1N9ZqKBI7Q7BXGlc0k99wW\r\nCoCZu0m02crvYeITKUC/eizH7s6Sx2Kk5Hnzz0Rzc8G8NpiWEfp7ppKeP1jOMv11\r\n7P1KB6IHyRLdW7vAIBiJy1qhbLAxseR7xkvDKv9yjZYL9Q7XtlSgrd9NuEiuFsfj\r\n0ANzVf/Ea4br00gGc8ALfnvgGE7eUdBNqWKTzHcQREdjJPRMUqTYqcvd4qQbRXZt\r\ncXLt4Fr3pXcwG1UExrz3TP4ueyrqGot/OFDvMihs6Tak0qjYygT2dC3bEOBg3GSQ\r\nDdQVzBFO98f62/l51TBlWizuw3D4/dKIPfQU1Qt7sr9e7CLbecoO8EVtyt/yGRr1\r\nD4BPBGyEzC6QoqCo5Nh27yG+DxFtAGdm/vLaFeJOVM3q2d6nL1FvNzlHTHfOYPJ3\r\nNwHB30X9TpdRqoBLM5UC0m/ybKj4ygXAZBlkJXMO/bjtpqyidJ0SaFuE8EdV9YoJ\r\nKUmBw1ZuZd5GHbc+Ilz82WX+JWZ0efU/f+75Ywvntu/3s0OsnpVoqrqM7TDdzE0d\r\nwRiZ+mvtgIwp85+et1iEdaWPj+d6LfJxpDDCPhaqh9hnNIkZFptndwDwRE2MV9Wr\r\nlUCSA96/2ubHsKt4E2D96KvNog6MKdyEGz1sZep1yZKqE4cnNzGNBGRel0BRa2MK\r\nyTOQsCbnpQGhEz0m\r\n-----END + CERTIFICATE-----"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIIcTCCBlmgAwIBAgITHwAAAFlFSsCTnaMEFgAAAAAAWTANBgkqhkiG9w0BAQsF\r\nADA8MRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw\r\nDgYDVQQDEwdhbWVyb290MB4XDTIxMDkwMTIxNDMzM1oXDTI2MDUyNDIyNTcwM1ow\r\nRDETMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEYMBYG\r\nA1UEAxMPQU1FIEluZnJhIENBIDA2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\nCgKCAQEA0E8VPmTCi+s/ukALr8kiz9n0QMveOlaFztd/3QikdEPvOujCuE/CXDKt\r\n0KhyGBUshmHGEC580aoe2Ze2gBJ/Dhs8FjdCjH4IyWU22QOervNkIc2Xd3EMxVZL\r\nYmWmDp5yfa0DwHqsqLq1PLwyk9BfYhh2gp9Dp+vECu4FzvVoZd73UaTpvcQKDsXA\r\nTVR43QC8AiL2AiHgOB3xE75MR/kI1OA7mTaOK8uZbQZCtyG1VMtNL+Q4Di0nB9cD\r\ntqfQj1/UCA76Nr9a7p/TUnck94zlsHE5RVGvDy3GKpa4cmCb+nRpF+ybZjuw8fPT\r\nCY5JGTLZreJMgk+Tej7iN+BYyn4Q2QIDAQABo4IEYjCCBF4wEAYJKwYBBAGCNxUB\r\nBAMCAQAwHQYDVR0OBBYEFPFGaMbxw/ArLX2LauGy+b41/NFBMIGyBgNVHSUEgaow\r\ngacGBysGAQUCAwUGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNxQCAQYJKwYB\r\nBAGCNxUGBgorBgEEAYI3CgMMBgkrBgEEAYI3FQYGCCsGAQUFBwMJBggrBgEFBQgC\r\nAgYKKwYBBAGCN0ABAQYLKwYBBAGCNwoDBAEGCisGAQQBgjcKAwQGCSsGAQQBgjcV\r\nBQYKKwYBBAGCNxQCAgYKKwYBBAGCNxQCAzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\r\nAEMAQTALBgNVHQ8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAfBgNVHSMEGDAW\r\ngBQpXlFeZK40ueusnA2njHUB0QkLKDCCAWgGA1UdHwSCAV8wggFbMIIBV6CCAVOg\r\nggFPhjFodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY3JsL2FtZXJv\r\nb3QuY3JshiNodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0\r\ncDovL2NybDMuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwxLmFt\r\nZS5nYmwvY3JsL2FtZXJvb3QuY3JshoGqbGRhcDovLy9DTj1hbWVyb290LENOPUFN\r\nRVJvb3QsQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp\r\nY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jZXJ0aWZpY2F0ZVJl\r\ndm9jYXRpb25MaXN0P2Jhc2U/b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p\r\nbnQwggGrBggrBgEFBQcBAQSCAZ0wggGZMEcGCCsGAQUFBzAChjtodHRwOi8vY3Js\r\nLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvY2VydHMvQU1FUm9vdF9hbWVyb290LmNy\r\ndDA3BggrBgEFBQcwAoYraHR0cDovL2NybDIuYW1lLmdibC9haWEvQU1FUm9vdF9h\r\nbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDMuYW1lLmdibC9haWEv\r\nQU1FUm9vdF9hbWVyb290LmNydDA3BggrBgEFBQcwAoYraHR0cDovL2NybDEuYW1l\r\nLmdibC9haWEvQU1FUm9vdF9hbWVyb290LmNydDCBogYIKwYBBQUHMAKGgZVsZGFw\r\nOi8vL0NOPWFtZXJvb3QsQ049QUlBLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2Vz\r\nLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNl\r\ncnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlvbkF1dGhvcml0\r\neTANBgkqhkiG9w0BAQsFAAOCAgEAD6YslCi5IxgKWQYVzHClxGTpTXEarOPDACuQ\r\nnZIgM4hbk0rMqW4aHFd+paZmMUvNU0HWtIq7aAbNZGCdTrb6g9xjQKrdivWr24BZ\r\nBDxlYkU1tNvdQmafd/RESZ+TpElbuBw2EW0qtK2K+BfL1fTcwpIWRoqWcZUc/CzX\r\n43yuA3vE9sw7/HCDOEQF+QW12B6LDt2Y6DR2y8ZjYsIM0X99mgCE8/HYL4AR3+mA\r\nHjlncC3qlXWRUk46kz2yU4gu0k4P5vexNuGvU9uHvmqQERhhHYkAiW5pwCNFdZDw\r\n95vcnWocRk5TaOPp74v06msx58qS9Re9Fz5xwp6dGGqvWgcF9UJtVVyXMGYB1/1+\r\nyd5n8VpvHVWlrPNpcT0p9YLeou/HKZIiekolUKL6SqCbDFwSUMPM1xWSK6RbphmT\r\nJZdAoKKLq7c/4bFPOxeKvBjT6PrWP64ktWN1Z+AYQlBp1rK7A/ZkAOh8l+17K4VJ\r\neb1whd4SmNSnZbv9jhOeWhrbRsxmFJ1SFHhoBhS3Q/WZWMJtLu2Hv1RHnqRgLD3y\r\nlaC9qyj44pXka/MiLauGl0qjRsO6i0ZV/nU43/eZt4EhWewfmXRnfNlXA/u6abVS\r\n3lkNTlQaJAmTijbKk4JI0qQl4e+xZloOXJVNiqKgYSh3N93Bi+8ROZCLqqpwrO+C\r\n8C5Y9Bk=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIFVjCCAz6gAwIBAgIQJdrLVcnGd4FAnlaUgt5N/jANBgkqhkiG9w0BAQsFADA8\r\nMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAwDgYD\r\nVQQDEwdhbWVyb290MB4XDTE2MDUyNDIyNTI1NFoXDTI2MDUyNDIyNTcwM1owPDET\r\nMBEGCgmSJomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEQMA4GA1UE\r\nAxMHYW1lcm9vdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALv4uChY\r\noVuO+bxBOcn8v4FajoGkxo0YgVwEqEPDVPI6vzmnEqHVhQ1GMVeDyiRrgQT1vCk1\r\nHMMzo9LlWowPrzbXOwjOTFbXc36+UU41yNN2GeNa49RXbAkfbzKE/SYLfbqOD0dN\r\nZLwvOhgIb25oA1eAxW/DI/hvJLLKh2SscvkIyd3o2BUeFm7NtyYG/buCKJh8lOq8\r\n0iBwRoEoInb0vhorHaswSMmqY1g+AJndY/M7uGUqkhDGBhLu53bU9wbUPHsEI+wa\r\nq6WypCijZYT+C4BS5GJrEPZ2O92pztd+ULqhzNRoPj5RuElUww7+z5RnbCaupyBY\r\nOmmJMH30EiRSq8dK/irixXXwJraSywR5kyfmAkv6GYWlRlxFUiK3/co47JLA3TDK\r\nN0wfutbpqxdZQYyGfO2nZrr5JbKfSU0sMtOZDkK6hlafV++hfkVSvFfNHE5B5uN1\r\nMK6agl1dzi28HfJT9aO7cmjGxl1SJ5qoCvcwZNQ2SPHFdrslcwXEFOMDaEzVOA3V\r\n7j3+6lrT8sHXg0sErkcd8lrBImfzhLxM/Wh8CgOUNeUu3flUoxmFv3el+QWalSNy\r\n2SXs2NgWuYE5Iog7CHD/xCnoEnZwwjqLkrro4hYWE4Xj3VlA2Eq+VxqJOgdyFl3m\r\nckSZ08OcwLeprY4+2GEvCXNGNdXUmNNgk2PvAgMBAAGjVDBSMAsGA1UdDwQEAwIB\r\nhjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQpXlFeZK40ueusnA2njHUB\r\n0QkLKDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQsFAAOCAgEAcznFDnJx\r\nsXaazFY1DuIPvUaiWS7ELxAVXMGZ7ROjLrDq1FNYVewL4emDqyEIEMFncec8rqyk\r\nVBvLQA5YqMCxQWJpL0SlgRSknzLh9ZVcQw1TshC49/XV2N/CLOuyInEQwS//46so\r\nT20Cf8UGUiOK472LZlvM4KchyDR3FTNtmMg0B/LKVjevpX9sk5MiyjjLUj3jtPIP\r\n7jpsfZDd/BNsg/89kpsIF5O64I7iYFj3MHu9o4UJcEX0hRt7OzUxqa9THTssvzE5\r\nVkWo8Rtou2T5TobKV6Rr5Ob9wchLXqVtCyZF16voEKheBnalhGUvErI/6VtBwLb7\r\n13C0JkKLBNMen+HClNliicVIaubnpY2g+AqxOgKBHiZnzq2HhE1qqEUf4VfqahNU\r\niaXtbtyo54f2dCf9UL9uG9dllN3nxBE/Y/aWF6E1M8Bslj1aYAtfUQ/xlhEXCly6\r\nzohw697i3XFUt76RwvfW8quvqdH9Mx0PBpYo4wJJRwAecSJQNy6wIJhAuDgOemXJ\r\nYViBi/bDnhPcFEVQxsypQSw91BUw7Mxh+W59H5MC25SAIw9fLMT9LRqSYpPyasNp\r\n4nACjR+bv/6cI+ICOrGmD2mrk2c4dNnYpDx96FfX/Y158RV0wotqIglACk6m1qyo\r\nyTra6P0Kvo6xz4KaVm8F7VDzUP+heAAhPAs=\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":24,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[],"cassandraAuditLoggingEnabled":false}}]}' + headers: + cache-control: + - no-cache + content-length: + - '608429' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 19 Feb 2022 05:20:23 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-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: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + 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-11-15-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:20:25 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationResults/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-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.14.0 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:20:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:21: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:21:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:22: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:22:55 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:23: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:23:56 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:24: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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:24:56 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:25:27 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:25:57 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:26:27 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:26:57 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.14.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-cosmosdb/0.7.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/0c93b8d4-2372-4a1a-8bd3-d9ef9b79628d?api-version=2021-11-15-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Sat, 19 Feb 2022 05:27:27 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.14.0 + status: + code: 200 + message: Ok +version: 1 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 e84ec37cb6e..d8a55420e37 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 @@ -7,7 +7,7 @@ from unittest import mock from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-graph_scenario.py b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-graph_scenario.py deleted file mode 100644 index 8da23f1c900..00000000000 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-graph_scenario.py +++ /dev/null @@ -1,53 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -import os - -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) - - -TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) - - -class Cosmosdb_previewScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_graph', location='eastus2') - def test_cosmosdb_graph(self, resource_group): - graph_name = self.create_random_name(prefix='cli', length=15) - - self.kwargs.update({ - 'acc': self.create_random_name(prefix='cli', length=15), - 'graph_name': graph_name, - }) - - self.cmd('az cosmosdb create -n {acc} -g {rg} --locations regionName=eastus2 failoverPriority=0 isZoneRedundant=False --capabilities EnableGremlinV2') - - service_create = self.cmd('az cosmosdb service create -a {acc} -g {rg} --name "graphApiCompute" --kind "GraphAPICompute" --count 1 --size "Cosmos.D4s" ').get_output_in_json() - assert service_create["name"] == "graphApiCompute" - - service_update = self.cmd('az cosmosdb service update -a {acc} -g {rg} --name "graphApiCompute" --kind "GraphAPICompute" --count 2 --size "Cosmos.D4s" ').get_output_in_json() - assert service_update["name"] == "graphApiCompute" - - self.cmd('az cosmosdb service show -a {acc} -g {rg} -n "graphApiCompute"') - - service_list = self.cmd('az cosmosdb service list -a {acc} -g {rg}').get_output_in_json() - assert len(service_list) == 1 - - assert self.cmd('az cosmosdb service exists -a {acc} -g {rg} -n "graphApiCompute"').get_output_in_json() - - graph_create = self.cmd('az cosmosdb graph create -a {acc} -g {rg} -n {graph_name}').get_output_in_json() - assert graph_create["name"] == graph_name - - graph_show = self.cmd('az cosmosdb graph show -a {acc} -g {rg} -n {graph_name}').get_output_in_json() - assert graph_show["name"] == graph_name - - graph_list = self.cmd('az cosmosdb graph list -a {acc} -g {rg}').get_output_in_json() - assert len(graph_list) == 2 - - assert self.cmd('az cosmosdb graph exists -a {acc} -g {rg} -n {graph_name}').get_output_in_json() - - self.cmd('az cosmosdb graph delete -a {acc} -g {rg} -n {graph_name} --yes') - graph_list = self.cmd('az cosmosdb graph list -a {acc} -g {rg}').get_output_in_json() - assert len(graph_list) == 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-pitr_scenario.py b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-pitr_scenario.py new file mode 100644 index 00000000000..433c9882937 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-pitr_scenario.py @@ -0,0 +1,528 @@ +# -------------------------------------------------------------------------------------------- +# 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 knack.util import CLIError +from azure.cli.testsdk.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) +from datetime import datetime, timedelta, timezone +from dateutil import parser + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class Cosmosdb_previewPitrScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_gremlin_account_restore_using_create', location='eastus2') + @AllowLargeResponse(size_kb=9999) + def test_cosmosdb_gremlin_account_restore_using_create(self, resource_group): + graph = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'db_name': self.create_random_name(prefix='cli', length=15), + 'graph': graph, + 'loc': 'eastus2' + }) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --capabilities EnableGremlin') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + self.cmd('az cosmosdb gremlin database create -g {rg} -a {acc} -n {db_name}') + self.cmd('az cosmosdb gremlin graph create -g {rg} -a {acc} -d {db_name} -n {graph} -p /pk ').get_output_in_json() + + restorable_accounts_list = self.cmd('az cosmosdb restorable-database-account list').get_output_in_json() + restorable_database_account = next(acc for acc in restorable_accounts_list if acc['name'] == account['instanceId']) + + account_creation_time = restorable_database_account['creationTime'] + creation_timestamp_datetime = parser.parse(account_creation_time) + restore_ts = creation_timestamp_datetime + timedelta(minutes=4) + restore_ts_string = restore_ts.isoformat() + import time + time.sleep(240) + self.kwargs.update({ + 'db_id': restorable_database_account['id'], + 'rts': restore_ts_string + }) + + self.cmd('az cosmosdb create -n {restored_acc} -g {rg} --is-restore-request true --restore-source {db_id} --restore-timestamp {rts}') + restored_account = self.cmd('az cosmosdb show -n {restored_acc} -g {rg}', checks=[ + self.check('restoreParameters.restoreMode', 'PointInTime') + ]).get_output_in_json() + + assert restored_account['restoreParameters']['restoreSource'] == restorable_database_account['id'] + assert restored_account['restoreParameters']['restoreTimestampInUtc'] == restore_ts_string + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_gremlin_account_restore_command', location='eastus2') + @AllowLargeResponse(size_kb=9999) + def test_cosmosdb_gremlin_account_restore_command(self, resource_group): + graph = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'db_name': self.create_random_name(prefix='cli', length=15), + 'graph': graph, + 'loc': 'eastus2' + }) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --capabilities EnableGremlin') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + self.kwargs.update({ + 'ins_id': account['instanceId'] + }) + + self.cmd('az cosmosdb gremlin database create -g {rg} -a {acc} -n {db_name}') + self.cmd('az cosmosdb gremlin graph create -g {rg} -a {acc} -d {db_name} -n {graph} -p /pk ').get_output_in_json() + restorable_database_account = self.cmd('az cosmosdb restorable-database-account show --location {loc} --instance-id {ins_id}').get_output_in_json() + + account_creation_time = restorable_database_account['creationTime'] + creation_timestamp_datetime = parser.parse(account_creation_time) + restore_ts = creation_timestamp_datetime + timedelta(minutes=4) + import time + time.sleep(240) + restore_ts_string = restore_ts.isoformat() + self.kwargs.update({ + 'rts': restore_ts_string + }) + + self.cmd('az cosmosdb restore -n {restored_acc} -g {rg} -a {acc} --restore-timestamp {rts} --location {loc}') + restored_account = self.cmd('az cosmosdb show -n {restored_acc} -g {rg}', checks=[ + self.check('restoreParameters.restoreMode', 'PointInTime') + ]).get_output_in_json() + + assert restored_account['restoreParameters']['restoreSource'] == restorable_database_account['id'] + assert restored_account['restoreParameters']['restoreTimestampInUtc'] == restore_ts_string + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_gremlin_restorable_commands', location='eastus2') + @AllowLargeResponse(size_kb=9999) + def test_cosmosdb_gremlin_restorable_commands(self, resource_group): + graph = self.create_random_name(prefix='cli', length=15) + db_name = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'db_name': db_name, + 'graph': graph, + 'loc': 'eastus2' + }) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --capabilities EnableGremlin') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + self.kwargs.update({ + 'ins_id': account['instanceId'] + }) + + self.cmd('az cosmosdb gremlin database create -g {rg} -a {acc} -n {db_name}') + self.cmd('az cosmosdb gremlin graph create -g {rg} -a {acc} -d {db_name} -n {graph} -p /pk ').get_output_in_json() + restorable_database_account = self.cmd('az cosmosdb restorable-database-account show --location {loc} --instance-id {ins_id}').get_output_in_json() + + restorable_databases = self.cmd('az cosmosdb gremlin restorable-database list --location {loc} --instance-id {ins_id}').get_output_in_json() + assert len(restorable_databases) == 1 + restorable_databases[0]['resource']['ownerId'] == db_name + + self.kwargs.update({ + 'db_rid': restorable_databases[0]['resource']['ownerResourceId'] + }) + + restorable_containers = self.cmd('az cosmosdb gremlin restorable-graph list --location {loc} --instance-id {ins_id} --database-rid {db_rid}').get_output_in_json() + assert len(restorable_containers) == 1 + assert restorable_containers[0]['resource']['ownerId'] == graph + + account_creation_time = restorable_database_account['creationTime'] + creation_timestamp_datetime = parser.parse(account_creation_time) + restore_ts = creation_timestamp_datetime + timedelta(minutes=2) + import time + time.sleep(120) + restore_ts_string = restore_ts.isoformat() + self.kwargs.update({ + 'rts': restore_ts_string + }) + + restorable_resources = self.cmd('az cosmosdb gremlin restorable-resource list --restore-location {loc} -l {loc} --instance-id {ins_id} --restore-timestamp {rts}').get_output_in_json() + assert len(restorable_resources) == 1 + assert restorable_resources[0]['databaseName'] == db_name + assert len(restorable_resources[0]['graphNames']) == 1 + assert restorable_resources[0]['graphNames'][0] == graph + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_table_account_restore_using_create', location='eastus2') + @AllowLargeResponse(size_kb=9999) + def test_cosmosdb_table_account_restore_using_create(self, resource_group): + table = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'table': table, + 'loc': 'eastus2' + }) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --capabilities EnableTable') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + self.cmd('az cosmosdb table create -g {rg} -a {acc} -n {table}').get_output_in_json() + + restorable_accounts_list = self.cmd('az cosmosdb restorable-database-account list').get_output_in_json() + restorable_database_account = next(acc for acc in restorable_accounts_list if acc['name'] == account['instanceId']) + + account_creation_time = restorable_database_account['creationTime'] + creation_timestamp_datetime = parser.parse(account_creation_time) + restore_ts = creation_timestamp_datetime + timedelta(minutes=4) + restore_ts_string = restore_ts.isoformat() + import time + time.sleep(240) + self.kwargs.update({ + 'db_id': restorable_database_account['id'], + 'rts': restore_ts_string + }) + + self.cmd('az cosmosdb create -n {restored_acc} -g {rg} --is-restore-request true --restore-source {db_id} --restore-timestamp {rts}') + restored_account = self.cmd('az cosmosdb show -n {restored_acc} -g {rg}', checks=[ + self.check('restoreParameters.restoreMode', 'PointInTime') + ]).get_output_in_json() + + assert restored_account['restoreParameters']['restoreSource'] == restorable_database_account['id'] + assert restored_account['restoreParameters']['restoreTimestampInUtc'] == restore_ts_string + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_table_account_restore_command', location='eastus2') + @AllowLargeResponse(size_kb=9999) + def test_cosmosdb_table_account_restore_command(self, resource_group): + table = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'table': table, + 'loc': 'eastus2' + }) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --capabilities EnableTable') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + self.kwargs.update({ + 'ins_id': account['instanceId'] + }) + + self.cmd('az cosmosdb table create -g {rg} -a {acc} -n {table}').get_output_in_json() + restorable_database_account = self.cmd('az cosmosdb restorable-database-account show --location {loc} --instance-id {ins_id}').get_output_in_json() + + account_creation_time = restorable_database_account['creationTime'] + creation_timestamp_datetime = parser.parse(account_creation_time) + restore_ts = creation_timestamp_datetime + timedelta(minutes=4) + import time + time.sleep(240) + restore_ts_string = restore_ts.isoformat() + self.kwargs.update({ + 'rts': restore_ts_string + }) + + self.cmd('az cosmosdb restore -n {restored_acc} -g {rg} -a {acc} --restore-timestamp {rts} --location {loc}') + restored_account = self.cmd('az cosmosdb show -n {restored_acc} -g {rg}', checks=[ + self.check('restoreParameters.restoreMode', 'PointInTime') + ]).get_output_in_json() + + assert restored_account['restoreParameters']['restoreSource'] == restorable_database_account['id'] + assert restored_account['restoreParameters']['restoreTimestampInUtc'] == restore_ts_string + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_table_restorable_commands', location='eastus2') + @AllowLargeResponse(size_kb=9999) + def test_cosmosdb_table_restorable_commands(self, resource_group): + table = self.create_random_name(prefix='cli', length=15) + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'table': table, + 'loc': 'eastus2' + }) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --capabilities EnableTable') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + print(account) + self.kwargs.update({ + 'ins_id': account['instanceId'], + 'throughput': "1000", + }) + + self.cmd('az cosmosdb table create -g {rg} -a {acc} -n {table} --throughput {throughput}').get_output_in_json() + + restorable_database_account = self.cmd('az cosmosdb restorable-database-account show --location {loc} --instance-id {ins_id}').get_output_in_json() + + restorable_containers = self.cmd('az cosmosdb table restorable-table list --location {loc} --instance-id {ins_id}').get_output_in_json() + assert len(restorable_containers) == 1 + assert restorable_containers[0]['resource']['ownerId'] == table + + account_creation_time = restorable_database_account['creationTime'] + creation_timestamp_datetime = parser.parse(account_creation_time) + restore_ts = creation_timestamp_datetime + timedelta(minutes=2) + import time + time.sleep(120) + restore_ts_string = restore_ts.isoformat() + self.kwargs.update({ + 'rts': restore_ts_string + }) + + restorable_resources = self.cmd('az cosmosdb table restorable-resource list --restore-location {loc} -l {loc} --instance-id {ins_id} --restore-timestamp {rts}').get_output_in_json() + assert len(restorable_resources) == 1 + assert len(restorable_resources) == 1 + assert restorable_resources[0] == table + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_sql_container_backupinfo', location='eastus2') + def test_cosmosdb_sql_container_backupinfo(self, resource_group): + col = self.create_random_name(prefix='cli', length=15) + db_name = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'db_name': db_name, + 'col': col, + 'loc': 'eastus2' + }) + + # This should fail as account doesn't exist + self.assertRaises(Exception, lambda: self.cmd('az cosmosdb sql retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}')) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --kind GlobalDocumentDB') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + + # This should fail as database doesn't exist + self.assertRaises(CLIError, lambda: self.cmd('az cosmosdb sql retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}')) + + # Create database + self.cmd('az cosmosdb sql database create -g {rg} -a {acc} -n {db_name}') + + # This should fail as container doesn't exist + self.assertRaises(CLIError, lambda: self.cmd('az cosmosdb sql retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}')) + + # Create container + self.cmd('az cosmosdb sql container create -g {rg} -a {acc} -d {db_name} -n {col} -p /pk ').get_output_in_json() + + backup_info = self.cmd('az cosmosdb sql retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + backup_time = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + + # Update container + # container_update = self.cmd('az cosmosdb sql container update -g {rg} -a {acc} -d {db_name} -n {col} --ttl {nttl1}').get_output_in_json() + # assert container_update["resource"]["defaultTtl"] == 2000 + + backup_info = self.cmd('az cosmosdb sql retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + new_backup_time = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + assert new_backup_time >= backup_time + + # Update container again + # container_update = self.cmd('az cosmosdb sql container update -g {rg} -a {acc} -d {db_name} -n {col} --ttl {nttl2}').get_output_in_json() + # assert container_update["resource"]["defaultTtl"] == 3000 + + backup_info = self.cmd('az cosmosdb sql retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + new_backup_time2 = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + assert new_backup_time2 >= backup_time + assert new_backup_time2 >= new_backup_time + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_mongodb_collection_backupinfo', location='eastus2') + def test_cosmosdb_mongodb_collection_backupinfo(self, resource_group): + col = self.create_random_name(prefix='cli', length=15) + db_name = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'db_name': db_name, + 'col': col, + 'loc': 'eastus2', + 'shard_key': "theShardKey", + 'throughput': "1000" + }) + + # This should fail as account doesn't exist + self.assertRaises(Exception, lambda: self.cmd('az cosmosdb mongodb retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}')) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --kind MongoDB') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + + # This should fail as database doesn't exist + self.assertRaises(CLIError, lambda: self.cmd('az cosmosdb mongodb retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}')) + + # Create database + self.cmd('az cosmosdb mongodb database create -g {rg} -a {acc} -n {db_name}') + + # This should fail as collection doesn't exist + self.assertRaises(CLIError, lambda: self.cmd('az cosmosdb mongodb retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}')) + + # Create collection + self.cmd('az cosmosdb mongodb collection create -g {rg} -a {acc} -d {db_name} -n {col} --shard {shard_key} --throughput {throughput}').get_output_in_json() + + backup_info = self.cmd('az cosmosdb mongodb retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + backup_time = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + + # Update collection + # collection_update = self.cmd('az cosmosdb mongodb collection update -g {rg} -a {acc} -d {db_name} -n {col} --ttl {nttl1}').get_output_in_json() + # assert collection_update["resource"]["defaultTtl"] == 2000 + + backup_info = self.cmd('az cosmosdb mongodb retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + new_backup_time = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + assert new_backup_time >= backup_time + + # Update collection again + # collection_update = self.cmd('az cosmosdb mongodb collection update -g {rg} -a {acc} -d {db_name} -n {col} --ttl {nttl2}').get_output_in_json() + # assert collection_update["resource"]["defaultTtl"] == 3000 + + backup_info = self.cmd('az cosmosdb mongodb retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -c {col} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + new_backup_time2 = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + assert new_backup_time2 >= backup_time + assert new_backup_time2 >= new_backup_time + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_gremlin_graph_backupinfo', location='eastus2') + def test_cosmosdb_gremlin_graph_backupinfo(self, resource_group): + graph = self.create_random_name(prefix='cli', length=15) + db_name = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'db_name': db_name, + 'graph': graph, + 'loc': 'eastus2' + }) + + # This should fail as account doesn't exist + self.assertRaises(Exception, lambda: self.cmd('az cosmosdb gremlin retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -n {graph} -l {loc}')) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --kind GlobalDocumentDB --capabilities EnableGremlin') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + + # This should fail as database doesn't exist + self.assertRaises(CLIError, lambda: self.cmd('az cosmosdb gremlin retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -n {graph} -l {loc}')) + + # Create database + self.cmd('az cosmosdb gremlin database create -g {rg} -a {acc} -n {db_name}') + + # This should fail as container doesn't exist + self.assertRaises(CLIError, lambda: self.cmd('az cosmosdb gremlin retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -n {graph} -l {loc}')) + + # Create container + self.cmd('az cosmosdb gremlin graph create -g {rg} -a {acc} -d {db_name} -n {graph} -p /pk ').get_output_in_json() + + backup_info = self.cmd('az cosmosdb gremlin retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -n {graph} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + backup_time = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + + # Update container + # container_update = self.cmd('az cosmosdb gremlin graph update -g {rg} -a {acc} -d {db_name} -n {graph} --ttl {nttl1}').get_output_in_json() + # assert container_update["resource"]["defaultTtl"] == 2000 + + backup_info = self.cmd('az cosmosdb gremlin retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -n {graph} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + new_backup_time = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + assert new_backup_time >= backup_time + + # Update container again + # container_update = self.cmd('az cosmosdb gremlin graph update -g {rg} -a {acc} -d {db_name} -n {graph} --ttl {nttl2}').get_output_in_json() + # assert container_update["resource"]["defaultTtl"] == 3000 + + backup_info = self.cmd('az cosmosdb gremlin retrieve-latest-backup-time -g {rg} -a {acc} -d {db_name} -n {graph} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + new_backup_time2 = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + assert new_backup_time2 >= backup_time + assert new_backup_time2 >= new_backup_time + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_table_backupinfo', location='eastus2') + def test_cosmosdb_table_backupinfo(self, resource_group): + table = self.create_random_name(prefix='cli', length=15) + + self.kwargs.update({ + 'acc': self.create_random_name(prefix='cli', length=15), + 'restored_acc': self.create_random_name(prefix='cli', length=15), + 'table': table, + 'loc': 'eastus2', + 'throughput': "1000" + }) + + # This should fail as account doesn't exist + self.assertRaises(Exception, lambda: self.cmd('az cosmosdb table retrieve-latest-backup-time -g {rg} -a {acc} -n {table} -l {loc}')) + + self.cmd('az cosmosdb create -n {acc} -g {rg} --backup-policy-type Continuous --locations regionName={loc} --kind GlobalDocumentDB --capabilities EnableTable') + account = self.cmd('az cosmosdb show -n {acc} -g {rg}').get_output_in_json() + + # This should fail as collection doesn't exist + self.assertRaises(CLIError, lambda: self.cmd('az cosmosdb table retrieve-latest-backup-time -g {rg} -a {acc} -n {table} -l {loc}')) + + # Create collection + self.cmd('az cosmosdb table create -g {rg} -a {acc} -n {table} --throughput {throughput}').get_output_in_json() + + backup_info = self.cmd('az cosmosdb table retrieve-latest-backup-time -g {rg} -a {acc} -n {table} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + backup_time = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + + # Update collection + # collection_update = self.cmd('az cosmosdb table update -g {rg} -a {acc} -n {table} --ttl {nttl1}').get_output_in_json() + # assert collection_update["resource"]["defaultTtl"] == 2000 + + backup_info = self.cmd('az cosmosdb table retrieve-latest-backup-time -g {rg} -a {acc} -n {table} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + new_backup_time = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + assert new_backup_time >= backup_time + + # Update collection again + # collection_update = self.cmd('az cosmosdb table update -g {rg} -a {acc} -n {table} --ttl {nttl2}').get_output_in_json() + # assert collection_update["resource"]["defaultTtl"] == 3000 + + backup_info = self.cmd('az cosmosdb table retrieve-latest-backup-time -g {rg} -a {acc} -n {table} -l {loc}').get_output_in_json() + print(backup_info) + + assert backup_info is not None + assert backup_info['continuousBackupInformation'] is not None + + new_backup_time2 = parser.parse(backup_info['continuousBackupInformation']['latestRestorableTimestamp']) + assert new_backup_time2 >= backup_time + assert new_backup_time2 >= new_backup_time diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb_mogodb_rbac_scenario.py b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb_mogodb_rbac_scenario.py new file mode 100644 index 00000000000..943c48382be --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb_mogodb_rbac_scenario.py @@ -0,0 +1,208 @@ +# -------------------------------------------------------------------------------------------- +# 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_previewMongodbRbacScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_mongodb_role', location='eastus2') + def test_cosmosdb_mongo_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_name1 = 'my_role_def1' + role_def_name2 = 'my_role_def2' + role_def_id1 = db_name+'.my_role_def1' + role_def_id2 = db_name+'.my_role_def2' + user_definition_id = db_name+'.testUser' + user_name = 'testUser' + role_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"{2}\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Privileges\\":[{{\\"Resource\\":{{\\"Db\\":\\"{1}\\",\\"Collection\\":\\"test\\"}},\\"Actions\\":[\\"insert\\",\\"find\\"]}}],\\"Roles\\":[]}} '.format( + role_def_id1, db_name, role_def_name1) + role_definition_update_body = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"{2}\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Privileges\\":[{{\\"Resource\\":{{\\"Db\\":\\"{1}\\",\\"Collection\\":\\"test\\"}},\\"Actions\\":[\\"find\\"]}}],\\"Roles\\":[]}} '.format( + role_def_id1, db_name, role_def_name1) + role_definition_create_body2 = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"{2}\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Privileges\\":[{{\\"Resource\\":{{\\"Db\\":\\"{1}\\",\\"Collection\\":\\"test\\"}},\\"Actions\\":[\\"insert\\"]}}],\\"Roles\\":[{{\\"Role\\": \\"{3}\\",\\"Db\\": \\"{1}\\"}}]}} '.format( + role_def_id2, db_name, role_def_name2, role_def_name1) + user_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"UserName\\": \\"{2}\\", \\"Password\\": \\"MyPass\\", \\"CustomData\\": \\"MyCustomData\\", \\"DatabaseName\\":\\"{1}\\",\\"Mechanisms\\": \\"SCRAM-SHA-256\\",\\"Roles\\": [ {{\\"Role\\": \\"{3}\\",\\"Db\\": \\"{1}\\"}}]}} '.format( + user_definition_id, db_name, user_name, role_def_name1) + user_definition_update_body = ' {{ \\"Id\\": \\"{0}\\", \\"UserName\\": \\"{2}\\", \\"Password\\": \\"MyPass\\", \\"CustomData\\": \\"MyCustomData\\", \\"DatabaseName\\":\\"{1}\\",\\"Mechanisms\\": \\"SCRAM-SHA-256\\",\\"Roles\\": [ {{\\"Role\\": \\"{3}\\",\\"Db\\": \\"{1}\\"}}]}} '.format( + user_definition_id, db_name, user_name, role_def_name2) + fully_qualified_role_def_id1 = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/mongodbRoleDefinitions/{3}'.format( + subscription, resource_group, acc_name, role_def_id1) + fully_qualified_role_def_id2 = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/mongodbRoleDefinitions/{3}'.format( + subscription, resource_group, acc_name, role_def_id2) + fully_qualified_user_definition_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/mongodbUserDefinitions/{3}'.format( + subscription, resource_group, acc_name, user_definition_id) + + # Contract violation request body + empty_id_role_definition_create_body = ' {{ \\"RoleName\\": \\"{2}\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Privileges\\":[{{\\"Resource\\":{{\\"Db\\":\\"{1}\\",\\"Collection\\":\\"test\\"}},\\"Actions\\":[\\"insert\\",\\"find\\"]}}],\\"Roles\\":[]}} '.format( + role_def_id1, db_name, role_def_name1) + invalid_role_id_role_definition_create_body = ' {{ \\"Id\\": \\"randomid\\", \\"RoleName\\": \\"{2}\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Privileges\\":[{{\\"Resource\\":{{\\"Db\\":\\"{1}\\",\\"Collection\\":\\"test\\"}},\\"Actions\\":[\\"insert\\",\\"find\\"]}}],\\"Roles\\":[]}} '.format( + role_def_id1, db_name, role_def_name1) + empty_name_role_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Privileges\\":[{{\\"Resource\\":{{\\"Db\\":\\"{1}\\",\\"Collection\\":\\"test\\"}},\\"Actions\\":[\\"insert\\",\\"find\\"]}}],\\"Roles\\":[]}} '.format( + role_def_id1, db_name, role_def_name1) + no_privilege_role_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"{2}\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Roles\\":[]}} '.format( + role_def_id1, db_name, role_def_name1) + no_resource_role_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"{2}\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Privileges\\":[{{\\"Actions\\":[\\"insert\\",\\"find\\"]}}],\\"Roles\\":[]}} '.format( + role_def_id1, db_name, role_def_name1) + no_actions_role_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"{2}\\", \\"Type\\": \\"CustomRole\\", \\"DatabaseName\\":\\"{1}\\",\\"Privileges\\":[{{\\"Resource\\":{{\\"Db\\":\\"{1}\\",\\"Collection\\":\\"test\\"}}}}],\\"Roles\\":[]}} '.format( + role_def_id1, db_name, role_def_name1) + empty_id_user_definition_create_body = ' {{ \\"Id\\": \\"\\", \\"UserName\\": \\"{2}\\", \\"Password\\": \\"MyPass\\", \\"CustomData\\": \\"MyCustomData\\", \\"DatabaseName\\":\\"{1}\\",\\"Mechanisms\\": \\"SCRAM-SHA-256\\",\\"Roles\\": [ {{\\"Role\\": \\"{3}\\",\\"Db\\": \\"{1}\\"}}]}} '.format( + user_definition_id, db_name, user_name, role_def_name1) + invalid_id_user_definition_create_body = ' {{ \\"Id\\": \\"randomuserid\\", \\"UserName\\": \\"{2}\\", \\"Password\\": \\"MyPass\\", \\"CustomData\\": \\"MyCustomData\\", \\"DatabaseName\\":\\"{1}\\",\\"Mechanisms\\": \\"SCRAM-SHA-256\\",\\"Roles\\": [ {{\\"Role\\": \\"{3}\\",\\"Db\\": \\"{1}\\"}}]}} '.format( + user_definition_id, db_name, user_name, role_def_name1) + empty_username_user_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"UserName\\": \\"\\", \\"Password\\": \\"MyPass\\", \\"CustomData\\": \\"MyCustomData\\", \\"DatabaseName\\":\\"{1}\\",\\"Mechanisms\\": \\"SCRAM-SHA-256\\",\\"Roles\\": [ {{\\"Role\\": \\"{3}\\",\\"Db\\": \\"{1}\\"}}]}} '.format( + user_definition_id, db_name, user_name, role_def_name1) + empty_password_user_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"UserName\\": \\"{2}\\", \\"Password\\": \\"\\", \\"CustomData\\": \\"MyCustomData\\", \\"DatabaseName\\":\\"{1}\\",\\"Mechanisms\\": \\"SCRAM-SHA-256\\",\\"Roles\\": [ {{\\"Role\\": \\"{3}\\",\\"Db\\": \\"{1}\\"}}]}} '.format( + user_definition_id, db_name, user_name, role_def_name1) + empty_db_user_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"UserName\\": \\"{2}\\", \\"Password\\": \\"MyPass\\", \\"CustomData\\": \\"MyCustomData\\", \\"DatabaseName\\":\\"\\",\\"Mechanisms\\": \\"SCRAM-SHA-256\\",\\"Roles\\": [ {{\\"Role\\": \\"{3}\\",\\"Db\\": \\"{1}\\"}}]}} '.format( + user_definition_id, db_name, user_name, role_def_name1) + no_roles_user_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"UserName\\": \\"{2}\\", \\"Password\\": \\"MyPass\\", \\"CustomData\\": \\"MyCustomData\\", \\"DatabaseName\\":\\"{1}\\",\\"Mechanisms\\": \\"SCRAM-SHA-256\\"}} '.format( + user_definition_id, db_name, user_name, role_def_name1) + + + 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, + 'user_def_create_body': user_definition_create_body, + 'role_def_id1': role_def_id1, + 'fully_qualified_role_def_id1': fully_qualified_role_def_id1, + 'role_def_id2': role_def_id2, + 'user_name': user_name, + 'role_def_name1': role_def_name1, + 'role_def_name2': role_def_name2, + 'fully_qualified_role_def_id2': fully_qualified_role_def_id2, + 'user_definition_id': user_definition_id, + 'fully_qualified_user_definition_id': fully_qualified_user_definition_id, + 'user_definition_update_body': user_definition_update_body, + 'empty_role_def_id_body' : empty_id_role_definition_create_body, + 'inalid_id_role_def_create_body' : invalid_role_id_role_definition_create_body, + 'empty_role_name_create_body' : empty_name_role_definition_create_body, + 'no_privilege_role_def_body': no_privilege_role_definition_create_body, + 'no_resource_role_def_body': no_resource_role_definition_create_body, + 'no_actions_role_def_body' : no_actions_role_definition_create_body, + 'empty_id_user_def_create_body' : empty_id_user_definition_create_body, + 'invalid_id_user_def_create_body' : invalid_id_user_definition_create_body, + 'empty_username_user_def_create_body' : empty_username_user_definition_create_body, + 'empty_password_user_def_create_body' : empty_password_user_definition_create_body, + 'empty_db_user_def_create_body' : empty_db_user_definition_create_body, + 'no_roles_user_def_create_body' : no_roles_user_definition_create_body + + }) + + self.cmd( + 'az cosmosdb create -n {acc} -g {rg} --kind MongoDB --capabilities EnableMongoRoleBasedAccessControl') + self.cmd( + 'az cosmosdb mongodb database create -g {rg} -a {acc} -n {db_name}') + + # Contract Violation for Role Definition. Failure tests + msg = self.cmd('az cosmosdb mongodb role definition create -g {rg} -a {acc} -b "{empty_role_def_id_body}"', expect_failure=True) + msg = self.cmd('az cosmosdb mongodb role definition create -g {rg} -a {acc} -b "{inalid_id_role_def_create_body}"', expect_failure=True) + msg = self.cmd('az cosmosdb mongodb role definition create -g {rg} -a {acc} -b "{empty_role_name_create_body}"', expect_failure=True) + msg = self.cmd('az cosmosdb mongodb role definition create -g {rg} -a {acc} -b "{no_privilege_role_def_body}"', expect_failure=True) + msg = self.cmd('az cosmosdb mongodb role definition create -g {rg} -a {acc} -b "{no_resource_role_def_body}"', expect_failure=True) + msg = self.cmd('az cosmosdb mongodb role definition create -g {rg} -a {acc} -b "{no_actions_role_def_body}"', expect_failure=True) + + # Make sure same role def does not exist + self.cmd( + 'az cosmosdb mongodb role definition delete -g {rg} -a {acc} -i {role_def_id1} --yes') + role_definition_list = self.cmd( + 'az cosmosdb mongodb role definition list -g {rg} -a {acc}').get_output_in_json() + assert len(role_definition_list) == 0 + + # Success Tests + self.cmd('az cosmosdb mongodb role definition create -g {rg} -a {acc} -b "{create_body}"', checks=[ + self.check('id', fully_qualified_role_def_id1), + self.check('roleName', role_def_name1) + ]) + + assert self.cmd( + 'az cosmosdb mongodb role definition exists -g {rg} -a {acc} -i {role_def_id1}').get_output_in_json() + + self.cmd('az cosmosdb mongodb role definition show -g {rg} -a {acc} -i {role_def_id1}', checks=[ + self.check('roleName', role_def_name1) + ]) + + self.cmd('az cosmosdb mongodb role definition update -g {rg} -a {acc} -b "{update_body}"', checks=[ + self.check('id', fully_qualified_role_def_id1), + self.check('length(privileges[0].actions)', 1), + self.check('privileges[0].actions[0]', 'find') + ]) + + # Make sure same role def does not exist + self.cmd( + 'az cosmosdb mongodb role definition delete -g {rg} -a {acc} -i {role_def_id2} --yes') + role_definition_list = self.cmd( + 'az cosmosdb mongodb role definition list -g {rg} -a {acc}').get_output_in_json() + assert len(role_definition_list) == 1 + + self.cmd('az cosmosdb mongodb role definition create -g {rg} -a {acc} -b "{create_body2}"', checks=[ + self.check('id', fully_qualified_role_def_id2), + self.check('roleName', role_def_name2), + ]) + + role_definition_list = self.cmd( + 'az cosmosdb mongodb role definition list -g {rg} -a {acc}').get_output_in_json() + assert len(role_definition_list) == 2 + + # User definition contract violations. + self.cmd('az cosmosdb mongodb user definition create -g {rg} -a {acc} -b "{empty_id_user_def_create_body}"', expect_failure=True) + self.cmd('az cosmosdb mongodb user definition create -g {rg} -a {acc} -b "{invalid_id_user_def_create_body}"', expect_failure=True) + self.cmd('az cosmosdb mongodb user definition create -g {rg} -a {acc} -b "{empty_username_user_def_create_body}"', expect_failure=True) + self.cmd('az cosmosdb mongodb user definition create -g {rg} -a {acc} -b "{empty_password_user_def_create_body}"', expect_failure=True) + self.cmd('az cosmosdb mongodb user definition create -g {rg} -a {acc} -b "{empty_db_user_def_create_body}"', expect_failure=True) + self.cmd('az cosmosdb mongodb user definition create -g {rg} -a {acc} -b "{no_roles_user_def_create_body}"', expect_failure=True) + + # Make sure same user def does not exist + self.cmd( + 'az cosmosdb mongodb user definition delete -g {rg} -a {acc} -i {user_definition_id} --yes') + user_def_list = self.cmd( + 'az cosmosdb mongodb user definition list -g {rg} -a {acc}').get_output_in_json() + + self.cmd('az cosmosdb mongodb user definition create -g {rg} -a {acc} -b "{user_def_create_body}"', checks=[ + self.check('id', fully_qualified_user_definition_id), + self.check('userName', user_name), + self.check('length(roles)', 1), + self.check('roles[0].role', role_def_name1) + ]) + + assert self.cmd( + 'az cosmosdb mongodb user definition exists -g {rg} -a {acc} -i {user_definition_id}').get_output_in_json() + + self.cmd('az cosmosdb mongodb user definition show -g {rg} -a {acc} -i {user_definition_id}', checks=[ + self.check('id', fully_qualified_user_definition_id) + ]) + + self.cmd('az cosmosdb mongodb user definition update -g {rg} -a {acc} -b "{user_definition_update_body}"', checks=[ + self.check('id', fully_qualified_user_definition_id), + self.check('length(roles)', 1), + self.check('roles[0].role', 'my_role_def2') + ]) + + user_def_list = self.cmd( + 'az cosmosdb mongodb user definition list -g {rg} -a {acc}').get_output_in_json() + assert len(user_def_list) == 1 + + self.cmd( + 'az cosmosdb mongodb user definition delete -g {rg} -a {acc} -i {user_definition_id} --yes') + user_def_list = self.cmd( + 'az cosmosdb mongodb user definition list -g {rg} -a {acc}').get_output_in_json() + assert len(user_def_list) == 0 + + self.cmd( + 'az cosmosdb mongodb role definition delete -g {rg} -a {acc} -i {role_def_id1} --yes') + role_definition_list = self.cmd( + 'az cosmosdb mongodb role definition list -g {rg} -a {acc}').get_output_in_json() + assert len(role_definition_list) == 1 + + self.cmd( + 'az cosmosdb mongodb role definition delete -g {rg} -a {acc} -i {role_def_id2} --yes') + role_definition_list = self.cmd( + 'az cosmosdb mongodb role definition list -g {rg} -a {acc}').get_output_in_json() + assert len(role_definition_list) == 0 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/__init__.py index 92d9f4bce48..12e3ce0a66c 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['CosmosDBManagementClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_configuration.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_configuration.py index 6ff3e742876..6864edcac3c 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_configuration.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +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 azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,20 +33,19 @@ class CosmosDBManagementClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(CosmosDBManagementClientConfiguration, self).__init__(**kwargs) 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(CosmosDBManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-07-01-preview" + self.api_version = "2021-11-15-preview" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-cosmosdb/{}'.format(VERSION)) self._configure(**kwargs) @@ -68,4 +65,4 @@ def _configure( 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) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_cosmos_db_management_client.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_cosmos_db_management_client.py index c5abb79574e..b64d1bbfc95 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_cosmos_db_management_client.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_cosmos_db_management_client.py @@ -6,56 +6,22 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import CosmosDBManagementClientConfiguration +from .operations import CassandraClustersOperations, CassandraDataCentersOperations, CassandraResourcesOperations, CollectionOperations, CollectionPartitionOperations, CollectionPartitionRegionOperations, CollectionRegionOperations, DataTransferJobsOperations, DatabaseAccountRegionOperations, DatabaseAccountsOperations, DatabaseOperations, GraphResourcesOperations, GremlinResourcesOperations, LocationsOperations, MongoDBResourcesOperations, NotebookWorkspacesOperations, Operations, PartitionKeyRangeIdOperations, PartitionKeyRangeIdRegionOperations, PercentileOperations, PercentileSourceTargetOperations, PercentileTargetOperations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, RestorableDatabaseAccountsOperations, RestorableGremlinDatabasesOperations, RestorableGremlinGraphsOperations, RestorableGremlinResourcesOperations, RestorableMongodbCollectionsOperations, RestorableMongodbDatabasesOperations, RestorableMongodbResourcesOperations, RestorableSqlContainersOperations, RestorableSqlDatabasesOperations, RestorableSqlResourcesOperations, RestorableTableResourcesOperations, RestorableTablesOperations, ServiceOperations, SqlResourcesOperations, TableResourcesOperations + 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 CosmosDBManagementClientConfiguration -from .operations import DatabaseAccountsOperations -from .operations import Operations -from .operations import DatabaseOperations -from .operations import CollectionOperations -from .operations import CollectionRegionOperations -from .operations import DatabaseAccountRegionOperations -from .operations import PercentileSourceTargetOperations -from .operations import PercentileTargetOperations -from .operations import PercentileOperations -from .operations import CollectionPartitionRegionOperations -from .operations import CollectionPartitionOperations -from .operations import PartitionKeyRangeIdOperations -from .operations import PartitionKeyRangeIdRegionOperations -from .operations import GraphResourcesOperations -from .operations import SqlResourcesOperations -from .operations import MongoDBResourcesOperations -from .operations import TableResourcesOperations -from .operations import CassandraResourcesOperations -from .operations import GremlinResourcesOperations -from .operations import CosmosDBManagementClientOperationsMixin -from .operations import NotebookWorkspacesOperations -from .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import RestorableDatabaseAccountsOperations -from .operations import RestorableSqlDatabasesOperations -from .operations import RestorableSqlContainersOperations -from .operations import RestorableSqlResourcesOperations -from .operations import RestorableMongodbDatabasesOperations -from .operations import RestorableMongodbCollectionsOperations -from .operations import RestorableMongodbResourcesOperations -from .operations import CassandraClustersOperations -from .operations import CassandraDataCentersOperations -from .operations import ServiceOperations -from . import models - -class CosmosDBManagementClient(CosmosDBManagementClientOperationsMixin): +class CosmosDBManagementClient: """Azure Cosmos DB Database Service Resource Provider REST API. :ivar database_accounts: DatabaseAccountsOperations operations @@ -69,21 +35,25 @@ class CosmosDBManagementClient(CosmosDBManagementClientOperationsMixin): :ivar collection_region: CollectionRegionOperations operations :vartype collection_region: azure.mgmt.cosmosdb.operations.CollectionRegionOperations :ivar database_account_region: DatabaseAccountRegionOperations operations - :vartype database_account_region: azure.mgmt.cosmosdb.operations.DatabaseAccountRegionOperations + :vartype database_account_region: + azure.mgmt.cosmosdb.operations.DatabaseAccountRegionOperations :ivar percentile_source_target: PercentileSourceTargetOperations operations - :vartype percentile_source_target: azure.mgmt.cosmosdb.operations.PercentileSourceTargetOperations + :vartype percentile_source_target: + azure.mgmt.cosmosdb.operations.PercentileSourceTargetOperations :ivar percentile_target: PercentileTargetOperations operations :vartype percentile_target: azure.mgmt.cosmosdb.operations.PercentileTargetOperations :ivar percentile: PercentileOperations operations :vartype percentile: azure.mgmt.cosmosdb.operations.PercentileOperations :ivar collection_partition_region: CollectionPartitionRegionOperations operations - :vartype collection_partition_region: azure.mgmt.cosmosdb.operations.CollectionPartitionRegionOperations + :vartype collection_partition_region: + azure.mgmt.cosmosdb.operations.CollectionPartitionRegionOperations :ivar collection_partition: CollectionPartitionOperations operations :vartype collection_partition: azure.mgmt.cosmosdb.operations.CollectionPartitionOperations :ivar partition_key_range_id: PartitionKeyRangeIdOperations operations :vartype partition_key_range_id: azure.mgmt.cosmosdb.operations.PartitionKeyRangeIdOperations :ivar partition_key_range_id_region: PartitionKeyRangeIdRegionOperations operations - :vartype partition_key_range_id_region: azure.mgmt.cosmosdb.operations.PartitionKeyRangeIdRegionOperations + :vartype partition_key_range_id_region: + azure.mgmt.cosmosdb.operations.PartitionKeyRangeIdRegionOperations :ivar graph_resources: GraphResourcesOperations operations :vartype graph_resources: azure.mgmt.cosmosdb.operations.GraphResourcesOperations :ivar sql_resources: SqlResourcesOperations operations @@ -96,140 +66,148 @@ class CosmosDBManagementClient(CosmosDBManagementClientOperationsMixin): :vartype cassandra_resources: azure.mgmt.cosmosdb.operations.CassandraResourcesOperations :ivar gremlin_resources: GremlinResourcesOperations operations :vartype gremlin_resources: azure.mgmt.cosmosdb.operations.GremlinResourcesOperations + :ivar locations: LocationsOperations operations + :vartype locations: azure.mgmt.cosmosdb.operations.LocationsOperations + :ivar data_transfer_jobs: DataTransferJobsOperations operations + :vartype data_transfer_jobs: azure.mgmt.cosmosdb.operations.DataTransferJobsOperations + :ivar cassandra_clusters: CassandraClustersOperations operations + :vartype cassandra_clusters: azure.mgmt.cosmosdb.operations.CassandraClustersOperations + :ivar cassandra_data_centers: CassandraDataCentersOperations operations + :vartype cassandra_data_centers: azure.mgmt.cosmosdb.operations.CassandraDataCentersOperations :ivar notebook_workspaces: NotebookWorkspacesOperations operations :vartype notebook_workspaces: azure.mgmt.cosmosdb.operations.NotebookWorkspacesOperations :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.cosmosdb.operations.PrivateEndpointConnectionsOperations + :vartype private_endpoint_connections: + azure.mgmt.cosmosdb.operations.PrivateEndpointConnectionsOperations :ivar private_link_resources: PrivateLinkResourcesOperations operations :vartype private_link_resources: azure.mgmt.cosmosdb.operations.PrivateLinkResourcesOperations :ivar restorable_database_accounts: RestorableDatabaseAccountsOperations operations - :vartype restorable_database_accounts: azure.mgmt.cosmosdb.operations.RestorableDatabaseAccountsOperations + :vartype restorable_database_accounts: + azure.mgmt.cosmosdb.operations.RestorableDatabaseAccountsOperations :ivar restorable_sql_databases: RestorableSqlDatabasesOperations operations - :vartype restorable_sql_databases: azure.mgmt.cosmosdb.operations.RestorableSqlDatabasesOperations + :vartype restorable_sql_databases: + azure.mgmt.cosmosdb.operations.RestorableSqlDatabasesOperations :ivar restorable_sql_containers: RestorableSqlContainersOperations operations - :vartype restorable_sql_containers: azure.mgmt.cosmosdb.operations.RestorableSqlContainersOperations + :vartype restorable_sql_containers: + azure.mgmt.cosmosdb.operations.RestorableSqlContainersOperations :ivar restorable_sql_resources: RestorableSqlResourcesOperations operations - :vartype restorable_sql_resources: azure.mgmt.cosmosdb.operations.RestorableSqlResourcesOperations + :vartype restorable_sql_resources: + azure.mgmt.cosmosdb.operations.RestorableSqlResourcesOperations :ivar restorable_mongodb_databases: RestorableMongodbDatabasesOperations operations - :vartype restorable_mongodb_databases: azure.mgmt.cosmosdb.operations.RestorableMongodbDatabasesOperations + :vartype restorable_mongodb_databases: + azure.mgmt.cosmosdb.operations.RestorableMongodbDatabasesOperations :ivar restorable_mongodb_collections: RestorableMongodbCollectionsOperations operations - :vartype restorable_mongodb_collections: azure.mgmt.cosmosdb.operations.RestorableMongodbCollectionsOperations + :vartype restorable_mongodb_collections: + azure.mgmt.cosmosdb.operations.RestorableMongodbCollectionsOperations :ivar restorable_mongodb_resources: RestorableMongodbResourcesOperations operations - :vartype restorable_mongodb_resources: azure.mgmt.cosmosdb.operations.RestorableMongodbResourcesOperations - :ivar cassandra_clusters: CassandraClustersOperations operations - :vartype cassandra_clusters: azure.mgmt.cosmosdb.operations.CassandraClustersOperations - :ivar cassandra_data_centers: CassandraDataCentersOperations operations - :vartype cassandra_data_centers: azure.mgmt.cosmosdb.operations.CassandraDataCentersOperations + :vartype restorable_mongodb_resources: + azure.mgmt.cosmosdb.operations.RestorableMongodbResourcesOperations + :ivar restorable_gremlin_databases: RestorableGremlinDatabasesOperations operations + :vartype restorable_gremlin_databases: + azure.mgmt.cosmosdb.operations.RestorableGremlinDatabasesOperations + :ivar restorable_gremlin_graphs: RestorableGremlinGraphsOperations operations + :vartype restorable_gremlin_graphs: + azure.mgmt.cosmosdb.operations.RestorableGremlinGraphsOperations + :ivar restorable_gremlin_resources: RestorableGremlinResourcesOperations operations + :vartype restorable_gremlin_resources: + azure.mgmt.cosmosdb.operations.RestorableGremlinResourcesOperations + :ivar restorable_tables: RestorableTablesOperations operations + :vartype restorable_tables: azure.mgmt.cosmosdb.operations.RestorableTablesOperations + :ivar restorable_table_resources: RestorableTableResourcesOperations operations + :vartype restorable_table_resources: + azure.mgmt.cosmosdb.operations.RestorableTableResourcesOperations :ivar service: ServiceOperations operations :vartype service: azure.mgmt.cosmosdb.operations.ServiceOperations :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. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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 = CosmosDBManagementClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = CosmosDBManagementClientConfiguration(credential=credential, subscription_id=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.database_accounts = DatabaseAccountsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.database = DatabaseOperations( - self._client, self._config, self._serialize, self._deserialize) - self.collection = CollectionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.collection_region = CollectionRegionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.database_account_region = DatabaseAccountRegionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.percentile_source_target = PercentileSourceTargetOperations( - self._client, self._config, self._serialize, self._deserialize) - self.percentile_target = PercentileTargetOperations( - self._client, self._config, self._serialize, self._deserialize) - self.percentile = PercentileOperations( - self._client, self._config, self._serialize, self._deserialize) - self.collection_partition_region = CollectionPartitionRegionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.collection_partition = CollectionPartitionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.partition_key_range_id = PartitionKeyRangeIdOperations( - self._client, self._config, self._serialize, self._deserialize) - self.partition_key_range_id_region = PartitionKeyRangeIdRegionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.graph_resources = GraphResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.sql_resources = SqlResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.mongo_db_resources = MongoDBResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.table_resources = TableResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cassandra_resources = CassandraResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.gremlin_resources = GremlinResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.notebook_workspaces = NotebookWorkspacesOperations( - 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.restorable_database_accounts = RestorableDatabaseAccountsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_sql_databases = RestorableSqlDatabasesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_sql_containers = RestorableSqlContainersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_sql_resources = RestorableSqlResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_mongodb_databases = RestorableMongodbDatabasesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_mongodb_collections = RestorableMongodbCollectionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_mongodb_resources = RestorableMongodbResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cassandra_clusters = CassandraClustersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cassandra_data_centers = CassandraDataCentersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.service = ServiceOperations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + self._serialize.client_side_validation = False + self.database_accounts = DatabaseAccountsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.database = DatabaseOperations(self._client, self._config, self._serialize, self._deserialize) + self.collection = CollectionOperations(self._client, self._config, self._serialize, self._deserialize) + self.collection_region = CollectionRegionOperations(self._client, self._config, self._serialize, self._deserialize) + self.database_account_region = DatabaseAccountRegionOperations(self._client, self._config, self._serialize, self._deserialize) + self.percentile_source_target = PercentileSourceTargetOperations(self._client, self._config, self._serialize, self._deserialize) + self.percentile_target = PercentileTargetOperations(self._client, self._config, self._serialize, self._deserialize) + self.percentile = PercentileOperations(self._client, self._config, self._serialize, self._deserialize) + self.collection_partition_region = CollectionPartitionRegionOperations(self._client, self._config, self._serialize, self._deserialize) + self.collection_partition = CollectionPartitionOperations(self._client, self._config, self._serialize, self._deserialize) + self.partition_key_range_id = PartitionKeyRangeIdOperations(self._client, self._config, self._serialize, self._deserialize) + self.partition_key_range_id_region = PartitionKeyRangeIdRegionOperations(self._client, self._config, self._serialize, self._deserialize) + self.graph_resources = GraphResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.sql_resources = SqlResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.mongo_db_resources = MongoDBResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.table_resources = TableResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.cassandra_resources = CassandraResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.gremlin_resources = GremlinResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.locations = LocationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.data_transfer_jobs = DataTransferJobsOperations(self._client, self._config, self._serialize, self._deserialize) + self.cassandra_clusters = CassandraClustersOperations(self._client, self._config, self._serialize, self._deserialize) + self.cassandra_data_centers = CassandraDataCentersOperations(self._client, self._config, self._serialize, self._deserialize) + self.notebook_workspaces = NotebookWorkspacesOperations(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.restorable_database_accounts = RestorableDatabaseAccountsOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_databases = RestorableSqlDatabasesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_containers = RestorableSqlContainersOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_resources = RestorableSqlResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_databases = RestorableMongodbDatabasesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_collections = RestorableMongodbCollectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_resources = RestorableMongodbResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_gremlin_databases = RestorableGremlinDatabasesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_gremlin_graphs = RestorableGremlinGraphsOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_gremlin_resources = RestorableGremlinResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_tables = RestorableTablesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_table_resources = RestorableTableResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.service = ServiceOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: 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. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.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 + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_metadata.json b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_metadata.json new file mode 100644 index 00000000000..f2a4eed5b3d --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_metadata.json @@ -0,0 +1,140 @@ +{ + "chosen_version": "2021-11-15-preview", + "total_api_version_list": ["2021-11-15-preview"], + "client": { + "name": "CosmosDBManagementClient", + "filename": "_cosmos_db_management_client", + "description": "Azure Cosmos DB Database Service Resource Provider REST API.", + "host_value": "\"https://management.azure.com\"", + "parameterized_host_template": null, + "azure_arm": true, + "has_lro_operations": true, + "client_side_validation": false, + "sync_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"ARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"CosmosDBManagementClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}}}", + "async_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"], \"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"AsyncARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"CosmosDBManagementClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}}}" + }, + "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 ID of the target subscription.", + "docstring_type": "str", + "required": true + } + }, + "async": { + "credential": { + "signature": "credential: \"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: str,", + "description": "The ID of the target subscription.", + "docstring_type": "str", + "required": true + } + }, + "constant": { + }, + "call": "credential, subscription_id", + "service_client_specific": { + "sync": { + "api_version": { + "signature": "api_version=None, # type: Optional[str]", + "description": "API version to use if no profile is provided, or if missing in profile.", + "docstring_type": "str", + "required": false + }, + "base_url": { + "signature": "base_url=\"https://management.azure.com\", # type: str", + "description": "Service URL", + "docstring_type": "str", + "required": false + }, + "profile": { + "signature": "profile=KnownProfiles.default, # type: KnownProfiles", + "description": "A profile definition, from KnownProfiles to dict.", + "docstring_type": "azure.profiles.KnownProfiles", + "required": false + } + }, + "async": { + "api_version": { + "signature": "api_version: Optional[str] = None,", + "description": "API version to use if no profile is provided, or if missing in profile.", + "docstring_type": "str", + "required": false + }, + "base_url": { + "signature": "base_url: str = \"https://management.azure.com\",", + "description": "Service URL", + "docstring_type": "str", + "required": false + }, + "profile": { + "signature": "profile: KnownProfiles = KnownProfiles.default,", + "description": "A profile definition, from KnownProfiles to dict.", + "docstring_type": "azure.profiles.KnownProfiles", + "required": false + } + } + } + }, + "config": { + "credential": true, + "credential_scopes": ["https://management.azure.com/.default"], + "credential_call_sync": "ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)", + "credential_call_async": "AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs)", + "sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"], \"azure.mgmt.core.policies\": [\"ARMChallengeAuthenticationPolicy\", \"ARMHttpLoggingPolicy\"]}, \"local\": {\"._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}}", + "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"], \"azure.mgmt.core.policies\": [\"ARMHttpLoggingPolicy\", \"AsyncARMChallengeAuthenticationPolicy\"]}, \"local\": {\".._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}}" + }, + "operation_groups": { + "database_accounts": "DatabaseAccountsOperations", + "operations": "Operations", + "database": "DatabaseOperations", + "collection": "CollectionOperations", + "collection_region": "CollectionRegionOperations", + "database_account_region": "DatabaseAccountRegionOperations", + "percentile_source_target": "PercentileSourceTargetOperations", + "percentile_target": "PercentileTargetOperations", + "percentile": "PercentileOperations", + "collection_partition_region": "CollectionPartitionRegionOperations", + "collection_partition": "CollectionPartitionOperations", + "partition_key_range_id": "PartitionKeyRangeIdOperations", + "partition_key_range_id_region": "PartitionKeyRangeIdRegionOperations", + "graph_resources": "GraphResourcesOperations", + "sql_resources": "SqlResourcesOperations", + "mongo_db_resources": "MongoDBResourcesOperations", + "table_resources": "TableResourcesOperations", + "cassandra_resources": "CassandraResourcesOperations", + "gremlin_resources": "GremlinResourcesOperations", + "locations": "LocationsOperations", + "data_transfer_jobs": "DataTransferJobsOperations", + "cassandra_clusters": "CassandraClustersOperations", + "cassandra_data_centers": "CassandraDataCentersOperations", + "notebook_workspaces": "NotebookWorkspacesOperations", + "private_endpoint_connections": "PrivateEndpointConnectionsOperations", + "private_link_resources": "PrivateLinkResourcesOperations", + "restorable_database_accounts": "RestorableDatabaseAccountsOperations", + "restorable_sql_databases": "RestorableSqlDatabasesOperations", + "restorable_sql_containers": "RestorableSqlContainersOperations", + "restorable_sql_resources": "RestorableSqlResourcesOperations", + "restorable_mongodb_databases": "RestorableMongodbDatabasesOperations", + "restorable_mongodb_collections": "RestorableMongodbCollectionsOperations", + "restorable_mongodb_resources": "RestorableMongodbResourcesOperations", + "restorable_gremlin_databases": "RestorableGremlinDatabasesOperations", + "restorable_gremlin_graphs": "RestorableGremlinGraphsOperations", + "restorable_gremlin_resources": "RestorableGremlinResourcesOperations", + "restorable_tables": "RestorableTablesOperations", + "restorable_table_resources": "RestorableTableResourcesOperations", + "service": "ServiceOperations" + } +} \ No newline at end of file diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_patch.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_vendor.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_version.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_version.py index a712687790e..e5366921ebb 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_version.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "0.7.0" +VERSION = "7.0.0b3" diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/__init__.py index f232822d48f..84d58edd389 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/__init__.py @@ -8,3 +8,8 @@ from ._cosmos_db_management_client import CosmosDBManagementClient __all__ = ['CosmosDBManagementClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_configuration.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_configuration.py index 60bb9254b97..f660b7e44d5 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_configuration.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,15 +37,15 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(CosmosDBManagementClientConfiguration, self).__init__(**kwargs) 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(CosmosDBManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-07-01-preview" + self.api_version = "2021-11-15-preview" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-cosmosdb/{}'.format(VERSION)) self._configure(**kwargs) @@ -64,4 +64,4 @@ def _configure( 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) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_cosmos_db_management_client.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_cosmos_db_management_client.py index 4de01d4be8a..7ae51568da3 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_cosmos_db_management_client.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_cosmos_db_management_client.py @@ -6,54 +6,22 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import CosmosDBManagementClientConfiguration +from .operations import CassandraClustersOperations, CassandraDataCentersOperations, CassandraResourcesOperations, CollectionOperations, CollectionPartitionOperations, CollectionPartitionRegionOperations, CollectionRegionOperations, DataTransferJobsOperations, DatabaseAccountRegionOperations, DatabaseAccountsOperations, DatabaseOperations, GraphResourcesOperations, GremlinResourcesOperations, LocationsOperations, MongoDBResourcesOperations, NotebookWorkspacesOperations, Operations, PartitionKeyRangeIdOperations, PartitionKeyRangeIdRegionOperations, PercentileOperations, PercentileSourceTargetOperations, PercentileTargetOperations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, RestorableDatabaseAccountsOperations, RestorableGremlinDatabasesOperations, RestorableGremlinGraphsOperations, RestorableGremlinResourcesOperations, RestorableMongodbCollectionsOperations, RestorableMongodbDatabasesOperations, RestorableMongodbResourcesOperations, RestorableSqlContainersOperations, RestorableSqlDatabasesOperations, RestorableSqlResourcesOperations, RestorableTableResourcesOperations, RestorableTablesOperations, ServiceOperations, SqlResourcesOperations, TableResourcesOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import CosmosDBManagementClientConfiguration -from .operations import DatabaseAccountsOperations -from .operations import Operations -from .operations import DatabaseOperations -from .operations import CollectionOperations -from .operations import CollectionRegionOperations -from .operations import DatabaseAccountRegionOperations -from .operations import PercentileSourceTargetOperations -from .operations import PercentileTargetOperations -from .operations import PercentileOperations -from .operations import CollectionPartitionRegionOperations -from .operations import CollectionPartitionOperations -from .operations import PartitionKeyRangeIdOperations -from .operations import PartitionKeyRangeIdRegionOperations -from .operations import GraphResourcesOperations -from .operations import SqlResourcesOperations -from .operations import MongoDBResourcesOperations -from .operations import TableResourcesOperations -from .operations import CassandraResourcesOperations -from .operations import GremlinResourcesOperations -from .operations import CosmosDBManagementClientOperationsMixin -from .operations import NotebookWorkspacesOperations -from .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import RestorableDatabaseAccountsOperations -from .operations import RestorableSqlDatabasesOperations -from .operations import RestorableSqlContainersOperations -from .operations import RestorableSqlResourcesOperations -from .operations import RestorableMongodbDatabasesOperations -from .operations import RestorableMongodbCollectionsOperations -from .operations import RestorableMongodbResourcesOperations -from .operations import CassandraClustersOperations -from .operations import CassandraDataCentersOperations -from .operations import ServiceOperations -from .. import models - - -class CosmosDBManagementClient(CosmosDBManagementClientOperationsMixin): +class CosmosDBManagementClient: """Azure Cosmos DB Database Service Resource Provider REST API. :ivar database_accounts: DatabaseAccountsOperations operations @@ -67,21 +35,26 @@ class CosmosDBManagementClient(CosmosDBManagementClientOperationsMixin): :ivar collection_region: CollectionRegionOperations operations :vartype collection_region: azure.mgmt.cosmosdb.aio.operations.CollectionRegionOperations :ivar database_account_region: DatabaseAccountRegionOperations operations - :vartype database_account_region: azure.mgmt.cosmosdb.aio.operations.DatabaseAccountRegionOperations + :vartype database_account_region: + azure.mgmt.cosmosdb.aio.operations.DatabaseAccountRegionOperations :ivar percentile_source_target: PercentileSourceTargetOperations operations - :vartype percentile_source_target: azure.mgmt.cosmosdb.aio.operations.PercentileSourceTargetOperations + :vartype percentile_source_target: + azure.mgmt.cosmosdb.aio.operations.PercentileSourceTargetOperations :ivar percentile_target: PercentileTargetOperations operations :vartype percentile_target: azure.mgmt.cosmosdb.aio.operations.PercentileTargetOperations :ivar percentile: PercentileOperations operations :vartype percentile: azure.mgmt.cosmosdb.aio.operations.PercentileOperations :ivar collection_partition_region: CollectionPartitionRegionOperations operations - :vartype collection_partition_region: azure.mgmt.cosmosdb.aio.operations.CollectionPartitionRegionOperations + :vartype collection_partition_region: + azure.mgmt.cosmosdb.aio.operations.CollectionPartitionRegionOperations :ivar collection_partition: CollectionPartitionOperations operations :vartype collection_partition: azure.mgmt.cosmosdb.aio.operations.CollectionPartitionOperations :ivar partition_key_range_id: PartitionKeyRangeIdOperations operations - :vartype partition_key_range_id: azure.mgmt.cosmosdb.aio.operations.PartitionKeyRangeIdOperations + :vartype partition_key_range_id: + azure.mgmt.cosmosdb.aio.operations.PartitionKeyRangeIdOperations :ivar partition_key_range_id_region: PartitionKeyRangeIdRegionOperations operations - :vartype partition_key_range_id_region: azure.mgmt.cosmosdb.aio.operations.PartitionKeyRangeIdRegionOperations + :vartype partition_key_range_id_region: + azure.mgmt.cosmosdb.aio.operations.PartitionKeyRangeIdRegionOperations :ivar graph_resources: GraphResourcesOperations operations :vartype graph_resources: azure.mgmt.cosmosdb.aio.operations.GraphResourcesOperations :ivar sql_resources: SqlResourcesOperations operations @@ -94,138 +67,150 @@ class CosmosDBManagementClient(CosmosDBManagementClientOperationsMixin): :vartype cassandra_resources: azure.mgmt.cosmosdb.aio.operations.CassandraResourcesOperations :ivar gremlin_resources: GremlinResourcesOperations operations :vartype gremlin_resources: azure.mgmt.cosmosdb.aio.operations.GremlinResourcesOperations + :ivar locations: LocationsOperations operations + :vartype locations: azure.mgmt.cosmosdb.aio.operations.LocationsOperations + :ivar data_transfer_jobs: DataTransferJobsOperations operations + :vartype data_transfer_jobs: azure.mgmt.cosmosdb.aio.operations.DataTransferJobsOperations + :ivar cassandra_clusters: CassandraClustersOperations operations + :vartype cassandra_clusters: azure.mgmt.cosmosdb.aio.operations.CassandraClustersOperations + :ivar cassandra_data_centers: CassandraDataCentersOperations operations + :vartype cassandra_data_centers: + azure.mgmt.cosmosdb.aio.operations.CassandraDataCentersOperations :ivar notebook_workspaces: NotebookWorkspacesOperations operations :vartype notebook_workspaces: azure.mgmt.cosmosdb.aio.operations.NotebookWorkspacesOperations :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.cosmosdb.aio.operations.PrivateEndpointConnectionsOperations + :vartype private_endpoint_connections: + azure.mgmt.cosmosdb.aio.operations.PrivateEndpointConnectionsOperations :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.cosmosdb.aio.operations.PrivateLinkResourcesOperations + :vartype private_link_resources: + azure.mgmt.cosmosdb.aio.operations.PrivateLinkResourcesOperations :ivar restorable_database_accounts: RestorableDatabaseAccountsOperations operations - :vartype restorable_database_accounts: azure.mgmt.cosmosdb.aio.operations.RestorableDatabaseAccountsOperations + :vartype restorable_database_accounts: + azure.mgmt.cosmosdb.aio.operations.RestorableDatabaseAccountsOperations :ivar restorable_sql_databases: RestorableSqlDatabasesOperations operations - :vartype restorable_sql_databases: azure.mgmt.cosmosdb.aio.operations.RestorableSqlDatabasesOperations + :vartype restorable_sql_databases: + azure.mgmt.cosmosdb.aio.operations.RestorableSqlDatabasesOperations :ivar restorable_sql_containers: RestorableSqlContainersOperations operations - :vartype restorable_sql_containers: azure.mgmt.cosmosdb.aio.operations.RestorableSqlContainersOperations + :vartype restorable_sql_containers: + azure.mgmt.cosmosdb.aio.operations.RestorableSqlContainersOperations :ivar restorable_sql_resources: RestorableSqlResourcesOperations operations - :vartype restorable_sql_resources: azure.mgmt.cosmosdb.aio.operations.RestorableSqlResourcesOperations + :vartype restorable_sql_resources: + azure.mgmt.cosmosdb.aio.operations.RestorableSqlResourcesOperations :ivar restorable_mongodb_databases: RestorableMongodbDatabasesOperations operations - :vartype restorable_mongodb_databases: azure.mgmt.cosmosdb.aio.operations.RestorableMongodbDatabasesOperations + :vartype restorable_mongodb_databases: + azure.mgmt.cosmosdb.aio.operations.RestorableMongodbDatabasesOperations :ivar restorable_mongodb_collections: RestorableMongodbCollectionsOperations operations - :vartype restorable_mongodb_collections: azure.mgmt.cosmosdb.aio.operations.RestorableMongodbCollectionsOperations + :vartype restorable_mongodb_collections: + azure.mgmt.cosmosdb.aio.operations.RestorableMongodbCollectionsOperations :ivar restorable_mongodb_resources: RestorableMongodbResourcesOperations operations - :vartype restorable_mongodb_resources: azure.mgmt.cosmosdb.aio.operations.RestorableMongodbResourcesOperations - :ivar cassandra_clusters: CassandraClustersOperations operations - :vartype cassandra_clusters: azure.mgmt.cosmosdb.aio.operations.CassandraClustersOperations - :ivar cassandra_data_centers: CassandraDataCentersOperations operations - :vartype cassandra_data_centers: azure.mgmt.cosmosdb.aio.operations.CassandraDataCentersOperations + :vartype restorable_mongodb_resources: + azure.mgmt.cosmosdb.aio.operations.RestorableMongodbResourcesOperations + :ivar restorable_gremlin_databases: RestorableGremlinDatabasesOperations operations + :vartype restorable_gremlin_databases: + azure.mgmt.cosmosdb.aio.operations.RestorableGremlinDatabasesOperations + :ivar restorable_gremlin_graphs: RestorableGremlinGraphsOperations operations + :vartype restorable_gremlin_graphs: + azure.mgmt.cosmosdb.aio.operations.RestorableGremlinGraphsOperations + :ivar restorable_gremlin_resources: RestorableGremlinResourcesOperations operations + :vartype restorable_gremlin_resources: + azure.mgmt.cosmosdb.aio.operations.RestorableGremlinResourcesOperations + :ivar restorable_tables: RestorableTablesOperations operations + :vartype restorable_tables: azure.mgmt.cosmosdb.aio.operations.RestorableTablesOperations + :ivar restorable_table_resources: RestorableTableResourcesOperations operations + :vartype restorable_table_resources: + azure.mgmt.cosmosdb.aio.operations.RestorableTableResourcesOperations :ivar service: ServiceOperations operations :vartype service: azure.mgmt.cosmosdb.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 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. + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = CosmosDBManagementClientConfiguration(credential, subscription_id, **kwargs) + self._config = CosmosDBManagementClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.database_accounts = DatabaseAccountsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.database = DatabaseOperations(self._client, self._config, self._serialize, self._deserialize) + self.collection = CollectionOperations(self._client, self._config, self._serialize, self._deserialize) + self.collection_region = CollectionRegionOperations(self._client, self._config, self._serialize, self._deserialize) + self.database_account_region = DatabaseAccountRegionOperations(self._client, self._config, self._serialize, self._deserialize) + self.percentile_source_target = PercentileSourceTargetOperations(self._client, self._config, self._serialize, self._deserialize) + self.percentile_target = PercentileTargetOperations(self._client, self._config, self._serialize, self._deserialize) + self.percentile = PercentileOperations(self._client, self._config, self._serialize, self._deserialize) + self.collection_partition_region = CollectionPartitionRegionOperations(self._client, self._config, self._serialize, self._deserialize) + self.collection_partition = CollectionPartitionOperations(self._client, self._config, self._serialize, self._deserialize) + self.partition_key_range_id = PartitionKeyRangeIdOperations(self._client, self._config, self._serialize, self._deserialize) + self.partition_key_range_id_region = PartitionKeyRangeIdRegionOperations(self._client, self._config, self._serialize, self._deserialize) + self.graph_resources = GraphResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.sql_resources = SqlResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.mongo_db_resources = MongoDBResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.table_resources = TableResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.cassandra_resources = CassandraResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.gremlin_resources = GremlinResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.locations = LocationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.data_transfer_jobs = DataTransferJobsOperations(self._client, self._config, self._serialize, self._deserialize) + self.cassandra_clusters = CassandraClustersOperations(self._client, self._config, self._serialize, self._deserialize) + self.cassandra_data_centers = CassandraDataCentersOperations(self._client, self._config, self._serialize, self._deserialize) + self.notebook_workspaces = NotebookWorkspacesOperations(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.restorable_database_accounts = RestorableDatabaseAccountsOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_databases = RestorableSqlDatabasesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_containers = RestorableSqlContainersOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_sql_resources = RestorableSqlResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_databases = RestorableMongodbDatabasesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_collections = RestorableMongodbCollectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_mongodb_resources = RestorableMongodbResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_gremlin_databases = RestorableGremlinDatabasesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_gremlin_graphs = RestorableGremlinGraphsOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_gremlin_resources = RestorableGremlinResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_tables = RestorableTablesOperations(self._client, self._config, self._serialize, self._deserialize) + self.restorable_table_resources = RestorableTableResourcesOperations(self._client, self._config, self._serialize, self._deserialize) + self.service = ServiceOperations(self._client, self._config, self._serialize, self._deserialize) + - self.database_accounts = DatabaseAccountsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.database = DatabaseOperations( - self._client, self._config, self._serialize, self._deserialize) - self.collection = CollectionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.collection_region = CollectionRegionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.database_account_region = DatabaseAccountRegionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.percentile_source_target = PercentileSourceTargetOperations( - self._client, self._config, self._serialize, self._deserialize) - self.percentile_target = PercentileTargetOperations( - self._client, self._config, self._serialize, self._deserialize) - self.percentile = PercentileOperations( - self._client, self._config, self._serialize, self._deserialize) - self.collection_partition_region = CollectionPartitionRegionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.collection_partition = CollectionPartitionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.partition_key_range_id = PartitionKeyRangeIdOperations( - self._client, self._config, self._serialize, self._deserialize) - self.partition_key_range_id_region = PartitionKeyRangeIdRegionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.graph_resources = GraphResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.sql_resources = SqlResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.mongo_db_resources = MongoDBResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.table_resources = TableResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cassandra_resources = CassandraResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.gremlin_resources = GremlinResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.notebook_workspaces = NotebookWorkspacesOperations( - 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.restorable_database_accounts = RestorableDatabaseAccountsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_sql_databases = RestorableSqlDatabasesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_sql_containers = RestorableSqlContainersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_sql_resources = RestorableSqlResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_mongodb_databases = RestorableMongodbDatabasesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_mongodb_collections = RestorableMongodbCollectionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.restorable_mongodb_resources = RestorableMongodbResourcesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cassandra_clusters = CassandraClustersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.cassandra_data_centers = CassandraDataCentersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.service = ServiceOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[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. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - 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 = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_patch.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/__init__.py index a7c7808a801..5839e943283 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/__init__.py @@ -25,7 +25,10 @@ from ._table_resources_operations import TableResourcesOperations from ._cassandra_resources_operations import CassandraResourcesOperations from ._gremlin_resources_operations import GremlinResourcesOperations -from ._cosmos_db_management_client_operations import CosmosDBManagementClientOperationsMixin +from ._locations_operations import LocationsOperations +from ._data_transfer_jobs_operations import DataTransferJobsOperations +from ._cassandra_clusters_operations import CassandraClustersOperations +from ._cassandra_data_centers_operations import CassandraDataCentersOperations from ._notebook_workspaces_operations import NotebookWorkspacesOperations from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations from ._private_link_resources_operations import PrivateLinkResourcesOperations @@ -36,8 +39,11 @@ from ._restorable_mongodb_databases_operations import RestorableMongodbDatabasesOperations from ._restorable_mongodb_collections_operations import RestorableMongodbCollectionsOperations from ._restorable_mongodb_resources_operations import RestorableMongodbResourcesOperations -from ._cassandra_clusters_operations import CassandraClustersOperations -from ._cassandra_data_centers_operations import CassandraDataCentersOperations +from ._restorable_gremlin_databases_operations import RestorableGremlinDatabasesOperations +from ._restorable_gremlin_graphs_operations import RestorableGremlinGraphsOperations +from ._restorable_gremlin_resources_operations import RestorableGremlinResourcesOperations +from ._restorable_tables_operations import RestorableTablesOperations +from ._restorable_table_resources_operations import RestorableTableResourcesOperations from ._service_operations import ServiceOperations __all__ = [ @@ -60,7 +66,10 @@ 'TableResourcesOperations', 'CassandraResourcesOperations', 'GremlinResourcesOperations', - 'CosmosDBManagementClientOperationsMixin', + 'LocationsOperations', + 'DataTransferJobsOperations', + 'CassandraClustersOperations', + 'CassandraDataCentersOperations', 'NotebookWorkspacesOperations', 'PrivateEndpointConnectionsOperations', 'PrivateLinkResourcesOperations', @@ -71,7 +80,10 @@ 'RestorableMongodbDatabasesOperations', 'RestorableMongodbCollectionsOperations', 'RestorableMongodbResourcesOperations', - 'CassandraClustersOperations', - 'CassandraDataCentersOperations', + 'RestorableGremlinDatabasesOperations', + 'RestorableGremlinGraphsOperations', + 'RestorableGremlinResourcesOperations', + 'RestorableTablesOperations', + 'RestorableTableResourcesOperations', 'ServiceOperations', ] diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_clusters_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_clusters_operations.py index 1d4def89693..084e5f0b8db 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_clusters_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_clusters_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cassandra_clusters_operations import build_create_update_request_initial, build_deallocate_request_initial, build_delete_request_initial, build_get_backup_request, build_get_request, build_invoke_command_request_initial, build_list_backups_request, build_list_by_resource_group_request, build_list_by_subscription_request, build_start_request_initial, build_status_request, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_by_subscription( self, **kwargs: Any @@ -59,34 +65,29 @@ def list_by_subscription( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + template_url=self.list_by_subscription.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ListClusters', pipeline_response) + deserialized = self._deserialize("ListClusters", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -104,11 +105,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/cassandraClusters'} # type: ignore + @distributed_trace def list_by_resource_group( self, resource_group_name: str, @@ -128,35 +131,31 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - } - url = self._client.format_url(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) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ListClusters', pipeline_response) + deserialized = self._deserialize("ListClusters", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -174,11 +173,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -201,27 +202,17 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -235,8 +226,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -248,27 +241,17 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -281,6 +264,8 @@ async def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -295,15 +280,17 @@ async def begin_delete( :type cluster_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -317,21 +304,14 @@ async def begin_delete( 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -343,6 +323,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore async def _create_update_initial( @@ -357,32 +338,22 @@ async def _create_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(body, 'ClusterResource') + + request = build_create_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + content_type=content_type, + json=_json, + template_url=self._create_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'ClusterResource') - 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 @@ -400,8 +371,11 @@ async def _create_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + @distributed_trace_async async def begin_create_update( self, resource_group_name: str, @@ -420,15 +394,19 @@ async def begin_create_update( :type body: ~azure.mgmt.cosmosdb.models.ClusterResource :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ClusterResource or the result of cls(response) + :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 ClusterResource or the result of + cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ClusterResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -440,27 +418,21 @@ async def begin_create_update( resource_group_name=resource_group_name, cluster_name=cluster_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ClusterResource', 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -472,6 +444,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore async def _update_initial( @@ -486,32 +459,22 @@ async def _update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(body, 'ClusterResource') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'ClusterResource') - 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 @@ -529,8 +492,11 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, @@ -548,15 +514,19 @@ async def begin_update( :type body: ~azure.mgmt.cosmosdb.models.ClusterResource :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ClusterResource or the result of cls(response) + :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 ClusterResource or the result of + cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ClusterResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -568,27 +538,21 @@ async def begin_update( resource_group_name=resource_group_name, cluster_name=cluster_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ClusterResource', 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -600,113 +564,111 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore - async def _request_repair_initial( + async def _invoke_command_initial( self, resource_group_name: str, cluster_name: str, - body: "_models.RepairPostBody", + body: "_models.CommandPostBody", **kwargs: Any - ) -> None: - cls = kwargs.pop('cls', None) # type: ClsType[None] + ) -> "_models.CommandOutput": + cls = kwargs.pop('cls', None) # type: ClsType["_models.CommandOutput"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._request_repair_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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(body, 'CommandPostBody') + + request = build_invoke_command_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + content_type=content_type, + json=_json, + template_url=self._invoke_command_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'RepairPostBody') - 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]: + if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = self._deserialize('CommandOutput', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _invoke_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand'} # type: ignore - _request_repair_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} # type: ignore - async def begin_request_repair( + @distributed_trace_async + async def begin_invoke_command( self, resource_group_name: str, cluster_name: str, - body: "_models.RepairPostBody", + body: "_models.CommandPostBody", **kwargs: Any - ) -> AsyncLROPoller[None]: - """Request that repair begin on this cluster as soon as possible. + ) -> AsyncLROPoller["_models.CommandOutput"]: + """Invoke a command like nodetool for cassandra maintenance. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param body: Specification of what keyspaces and tables to run repair on. - :type body: ~azure.mgmt.cosmosdb.models.RepairPostBody + :param body: Specification which command to run where. + :type body: ~azure.mgmt.cosmosdb.models.CommandPostBody :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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: + :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 CommandOutput or the result of + cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.CommandOutput] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CommandOutput"] 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._request_repair_initial( + raw_result = await self._invoke_command_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('CommandOutput', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -718,64 +680,182 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_request_repair.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} # type: ignore - async def _fetch_node_status_initial( + begin_invoke_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand'} # type: ignore + + @distributed_trace + def list_backups( self, resource_group_name: str, cluster_name: str, **kwargs: Any - ) -> Optional["_models.ClusterNodeStatus"]: - cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ClusterNodeStatus"]] + ) -> AsyncIterable["_models.ListBackups"]: + """List the backups of this cluster that are available to restore. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListBackups or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ListBackups] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBackups"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._fetch_node_status_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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_backups_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self.list_backups.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_backups_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ListBackups", 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 - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + 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) - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list_backups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups'} # type: ignore + + @distributed_trace_async + async def get_backup( + self, + resource_group_name: str, + cluster_name: str, + backup_id: str, + **kwargs: Any + ) -> "_models.BackupResource": + """Get the properties of an individual backup of this cluster that is available to restore. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param backup_id: Id of a restorable backup of a Cassandra cluster. + :type backup_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BackupResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.BackupResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_backup_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + backup_id=backup_id, + template_url=self.get_backup.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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]: + 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 = None - if response.status_code == 200: - deserialized = self._deserialize('ClusterNodeStatus', pipeline_response) + deserialized = self._deserialize('BackupResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _fetch_node_status_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} # type: ignore - async def begin_fetch_node_status( + get_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}'} # type: ignore + + + async def _deallocate_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_deallocate_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self._deallocate_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _deallocate_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate'} # type: ignore + + + @distributed_trace_async + async def begin_deallocate( self, resource_group_name: str, cluster_name: str, **kwargs: Any - ) -> AsyncLROPoller["_models.ClusterNodeStatus"]: - """Request the status of all nodes in the cluster (as returned by 'nodetool status'). + ) -> AsyncLROPoller[None]: + """Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will + deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do + anything on an already deallocated cluster. Use Start to restart the cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str @@ -783,46 +863,38 @@ async def begin_fetch_node_status( :type cluster_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ClusterNodeStatus or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ClusterNodeStatus] - :raises ~azure.core.exceptions.HttpResponseError: + :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["_models.ClusterNodeStatus"] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.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._fetch_node_status_initial( + raw_result = await self._deallocate_initial( resource_group_name=resource_group_name, cluster_name=cluster_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('ClusterNodeStatus', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized + 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -834,129 +906,141 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_fetch_node_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} # type: ignore - def list_backups( + begin_deallocate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate'} # type: ignore + + async def _start_initial( self, resource_group_name: str, cluster_name: str, **kwargs: Any - ) -> AsyncIterable["_models.ListBackups"]: - """List the backups of this cluster that are available to restore. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_name: Managed Cassandra cluster name. - :type cluster_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ListBackups or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ListBackups] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBackups"] + ) -> 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-07-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') + + request = build_start_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self._start_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - if not next_link: - # Construct URL - url = self.list_backups.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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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 + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response - async def extract_data(pipeline_response): - deserialized = self._deserialize('ListBackups', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return None, AsyncList(list_of_elem) + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - async def get_next(next_link=None): - request = prepare_request(next_link) + if cls: + return cls(pipeline_response, None, {}) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/start'} # type: ignore - 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 + @distributed_trace_async + async def begin_start( + self, + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host + virtual machine of this cluster with reserved data disk. This won't do anything on an already + running cluster. Use Deallocate to deallocate the cluster. - return AsyncItemPaged( - get_next, extract_data + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - list_backups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups'} # type: ignore + 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, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) - async def get_backup( + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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.DocumentDB/cassandraClusters/{clusterName}/start'} # type: ignore + + @distributed_trace_async + async def status( self, resource_group_name: str, cluster_name: str, - backup_id: str, **kwargs: Any - ) -> "_models.BackupResource": - """Get the properties of an individual backup of this cluster that is available to restore. + ) -> "_models.CassandraClusterPublicStatus": + """Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param backup_id: Id of a restorable backup of a Cassandra cluster. - :type backup_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: BackupResource, or the result of cls(response) - :rtype: ~azure.mgmt.cosmosdb.models.BackupResource + :return: CassandraClusterPublicStatus, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.CassandraClusterPublicStatus :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupResource"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraClusterPublicStatus"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_backup.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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'backupId': self._serialize.url("backup_id", backup_id, 'str', max_length=15, min_length=1, pattern=r'^[0-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 = build_status_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self.status.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -964,10 +1048,12 @@ async def get_backup( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('BackupResource', pipeline_response) + deserialized = self._deserialize('CassandraClusterPublicStatus', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}'} # type: ignore + + status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/status'} # type: ignore + diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_data_centers_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_data_centers_operations.py index 0e07a7e4289..c4cb7d83584 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_data_centers_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_data_centers_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cassandra_data_centers_operations import build_create_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -65,36 +71,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ListDataCenters', pipeline_response) + deserialized = self._deserialize("ListDataCenters", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +115,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -142,28 +147,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -177,8 +172,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -191,28 +188,18 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -225,6 +212,8 @@ async def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -242,15 +231,17 @@ async def begin_delete( :type data_center_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -265,22 +256,14 @@ async def begin_delete( 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -292,6 +275,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore async def _create_update_initial( @@ -307,33 +291,23 @@ async def _create_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(body, 'DataCenterResource') - # 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') + request = build_create_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + content_type=content_type, + json=_json, + template_url=self._create_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'DataCenterResource') - 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 @@ -351,8 +325,11 @@ async def _create_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + @distributed_trace_async async def begin_create_update( self, resource_group_name: str, @@ -374,15 +351,19 @@ async def begin_create_update( :type body: ~azure.mgmt.cosmosdb.models.DataCenterResource :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 DataCenterResource or the result of cls(response) + :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 DataCenterResource or the result of + cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -395,28 +376,21 @@ async def begin_create_update( cluster_name=cluster_name, data_center_name=data_center_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('DataCenterResource', 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -428,6 +402,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore async def _update_initial( @@ -443,33 +418,23 @@ async def _update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(body, 'DataCenterResource') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'DataCenterResource') - 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 @@ -487,8 +452,11 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, @@ -509,15 +477,19 @@ async def begin_update( :type body: ~azure.mgmt.cosmosdb.models.DataCenterResource :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 DataCenterResource or the result of cls(response) + :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 DataCenterResource or the result of + cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -530,28 +502,21 @@ async def begin_update( cluster_name=cluster_name, data_center_name=data_center_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('DataCenterResource', 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -563,4 +528,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_resources_operations.py index 058af5373e5..5cb3276e139 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_cassandra_resources_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._cassandra_resources_operations import build_create_update_cassandra_keyspace_request_initial, build_create_update_cassandra_table_request_initial, build_create_update_cassandra_view_request_initial, build_delete_cassandra_keyspace_request_initial, build_delete_cassandra_table_request_initial, build_delete_cassandra_view_request_initial, build_get_cassandra_keyspace_request, build_get_cassandra_keyspace_throughput_request, build_get_cassandra_table_request, build_get_cassandra_table_throughput_request, build_get_cassandra_view_request, build_get_cassandra_view_throughput_request, build_list_cassandra_keyspaces_request, build_list_cassandra_tables_request, build_list_cassandra_views_request, build_migrate_cassandra_keyspace_to_autoscale_request_initial, build_migrate_cassandra_keyspace_to_manual_throughput_request_initial, build_migrate_cassandra_table_to_autoscale_request_initial, build_migrate_cassandra_table_to_manual_throughput_request_initial, build_migrate_cassandra_view_to_autoscale_request_initial, build_migrate_cassandra_view_to_manual_throughput_request_initial, build_update_cassandra_keyspace_throughput_request_initial, build_update_cassandra_table_throughput_request_initial, build_update_cassandra_view_throughput_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_cassandra_keyspaces( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list_cassandra_keyspaces( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either CassandraKeyspaceListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.CassandraKeyspaceListResult] + :return: An iterator like instance of either CassandraKeyspaceListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.CassandraKeyspaceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceListResult"] @@ -65,36 +73,33 @@ def list_cassandra_keyspaces( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_cassandra_keyspaces.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_cassandra_keyspaces_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_cassandra_keyspaces.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_cassandra_keyspaces_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('CassandraKeyspaceListResult', pipeline_response) + deserialized = self._deserialize("CassandraKeyspaceListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +117,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_cassandra_keyspaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces'} # type: ignore + @distributed_trace_async async def get_cassandra_keyspace( self, resource_group_name: str, @@ -143,28 +150,18 @@ async def get_cassandra_keyspace( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_keyspace.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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 = build_get_cassandra_keyspace_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self.get_cassandra_keyspace.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -178,8 +175,10 @@ async def get_cassandra_keyspace( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + async def _create_update_cassandra_keyspace_initial( self, resource_group_name: str, @@ -193,33 +192,23 @@ async def _create_update_cassandra_keyspace_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_cassandra_keyspace_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_cassandra_keyspace_parameters, 'CassandraKeyspaceCreateUpdateParameters') - # 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') + request = build_create_update_cassandra_keyspace_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + content_type=content_type, + json=_json, + template_url=self._create_update_cassandra_keyspace_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_cassandra_keyspace_parameters, 'CassandraKeyspaceCreateUpdateParameters') - 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 @@ -235,8 +224,11 @@ async def _create_update_cassandra_keyspace_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_cassandra_keyspace_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_cassandra_keyspace( self, resource_group_name: str, @@ -255,18 +247,24 @@ async def begin_create_update_cassandra_keyspace( :type keyspace_name: str :param create_update_cassandra_keyspace_parameters: The parameters to provide for the current Cassandra keyspace. - :type create_update_cassandra_keyspace_parameters: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceCreateUpdateParameters + :type create_update_cassandra_keyspace_parameters: + ~azure.mgmt.cosmosdb.models.CassandraKeyspaceCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 CassandraKeyspaceGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 CassandraKeyspaceGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -279,28 +277,21 @@ async def begin_create_update_cassandra_keyspace( account_name=account_name, keyspace_name=keyspace_name, create_update_cassandra_keyspace_parameters=create_update_cassandra_keyspace_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('CassandraKeyspaceGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -312,6 +303,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore async def _delete_cassandra_keyspace_initial( @@ -326,26 +318,18 @@ async def _delete_cassandra_keyspace_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_cassandra_keyspace_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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] + + request = build_delete_cassandra_keyspace_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self._delete_cassandra_keyspace_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -358,6 +342,8 @@ async def _delete_cassandra_keyspace_initial( _delete_cassandra_keyspace_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + @distributed_trace_async async def begin_delete_cassandra_keyspace( self, resource_group_name: str, @@ -375,15 +361,17 @@ async def begin_delete_cassandra_keyspace( :type keyspace_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -398,22 +386,14 @@ async def begin_delete_cassandra_keyspace( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -425,8 +405,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + @distributed_trace_async async def get_cassandra_keyspace_throughput( self, resource_group_name: str, @@ -453,28 +435,18 @@ async def get_cassandra_keyspace_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_keyspace_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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 = build_get_cassandra_keyspace_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self.get_cassandra_keyspace_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -488,8 +460,10 @@ async def get_cassandra_keyspace_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore + async def _update_cassandra_keyspace_throughput_initial( self, resource_group_name: str, @@ -503,33 +477,23 @@ async def _update_cassandra_keyspace_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_cassandra_keyspace_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + + request = build_update_cassandra_keyspace_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + content_type=content_type, + json=_json, + template_url=self._update_cassandra_keyspace_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -545,8 +509,11 @@ async def _update_cassandra_keyspace_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_cassandra_keyspace_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_cassandra_keyspace_throughput( self, resource_group_name: str, @@ -565,18 +532,24 @@ async def begin_update_cassandra_keyspace_throughput( :type keyspace_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Cassandra Keyspace. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -589,28 +562,21 @@ async def begin_update_cassandra_keyspace_throughput( account_name=account_name, keyspace_name=keyspace_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -622,6 +588,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore async def _migrate_cassandra_keyspace_to_autoscale_initial( @@ -636,28 +603,18 @@ async def _migrate_cassandra_keyspace_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_keyspace_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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 = build_migrate_cassandra_keyspace_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self._migrate_cassandra_keyspace_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -673,8 +630,11 @@ async def _migrate_cassandra_keyspace_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_keyspace_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_cassandra_keyspace_to_autoscale( self, resource_group_name: str, @@ -692,15 +652,19 @@ async def begin_migrate_cassandra_keyspace_to_autoscale( :type keyspace_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -715,25 +679,17 @@ async def begin_migrate_cassandra_keyspace_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -745,6 +701,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_keyspace_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_cassandra_keyspace_to_manual_throughput_initial( @@ -759,28 +716,18 @@ async def _migrate_cassandra_keyspace_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_keyspace_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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 = build_migrate_cassandra_keyspace_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self._migrate_cassandra_keyspace_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -796,8 +743,11 @@ async def _migrate_cassandra_keyspace_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_keyspace_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_cassandra_keyspace_to_manual_throughput( self, resource_group_name: str, @@ -815,15 +765,19 @@ async def begin_migrate_cassandra_keyspace_to_manual_throughput( :type keyspace_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -838,25 +792,17 @@ async def begin_migrate_cassandra_keyspace_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -868,8 +814,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_keyspace_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_cassandra_tables( self, resource_group_name: str, @@ -886,8 +834,10 @@ def list_cassandra_tables( :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either CassandraTableListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.CassandraTableListResult] + :return: An iterator like instance of either CassandraTableListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.CassandraTableListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableListResult"] @@ -895,37 +845,35 @@ def list_cassandra_tables( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_cassandra_tables.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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) + + request = build_list_cassandra_tables_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self.list_cassandra_tables.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_cassandra_tables_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('CassandraTableListResult', pipeline_response) + deserialized = self._deserialize("CassandraTableListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -943,11 +891,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_cassandra_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables'} # type: ignore + @distributed_trace_async async def get_cassandra_table( self, resource_group_name: str, @@ -976,29 +926,19 @@ async def get_cassandra_table( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_table.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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 = build_get_cassandra_table_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self.get_cassandra_table.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1012,8 +952,10 @@ async def get_cassandra_table( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + async def _create_update_cassandra_table_initial( self, resource_group_name: str, @@ -1028,34 +970,24 @@ async def _create_update_cassandra_table_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_cassandra_table_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_cassandra_table_parameters, 'CassandraTableCreateUpdateParameters') + + request = build_create_update_cassandra_table_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._create_update_cassandra_table_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_cassandra_table_parameters, 'CassandraTableCreateUpdateParameters') - 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 @@ -1071,8 +1003,11 @@ async def _create_update_cassandra_table_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_cassandra_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_cassandra_table( self, resource_group_name: str, @@ -1094,18 +1029,24 @@ async def begin_create_update_cassandra_table( :type table_name: str :param create_update_cassandra_table_parameters: The parameters to provide for the current Cassandra Table. - :type create_update_cassandra_table_parameters: ~azure.mgmt.cosmosdb.models.CassandraTableCreateUpdateParameters + :type create_update_cassandra_table_parameters: + ~azure.mgmt.cosmosdb.models.CassandraTableCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 CassandraTableGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 CassandraTableGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1119,29 +1060,21 @@ async def begin_create_update_cassandra_table( keyspace_name=keyspace_name, table_name=table_name, create_update_cassandra_table_parameters=create_update_cassandra_table_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('CassandraTableGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1153,6 +1086,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore async def _delete_cassandra_table_initial( @@ -1168,27 +1102,19 @@ async def _delete_cassandra_table_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_cassandra_table_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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] + + request = build_delete_cassandra_table_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self._delete_cassandra_table_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1201,6 +1127,8 @@ async def _delete_cassandra_table_initial( _delete_cassandra_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + @distributed_trace_async async def begin_delete_cassandra_table( self, resource_group_name: str, @@ -1221,15 +1149,17 @@ async def begin_delete_cassandra_table( :type table_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1245,23 +1175,14 @@ async def begin_delete_cassandra_table( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1273,8 +1194,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + @distributed_trace_async async def get_cassandra_table_throughput( self, resource_group_name: str, @@ -1304,29 +1227,19 @@ async def get_cassandra_table_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_table_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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 = build_get_cassandra_table_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self.get_cassandra_table_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1340,8 +1253,10 @@ async def get_cassandra_table_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore + async def _update_cassandra_table_throughput_initial( self, resource_group_name: str, @@ -1356,34 +1271,24 @@ async def _update_cassandra_table_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_cassandra_table_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_cassandra_table_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._update_cassandra_table_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -1399,8 +1304,11 @@ async def _update_cassandra_table_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_cassandra_table_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_cassandra_table_throughput( self, resource_group_name: str, @@ -1422,18 +1330,24 @@ async def begin_update_cassandra_table_throughput( :type table_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Cassandra table. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1447,29 +1361,21 @@ async def begin_update_cassandra_table_throughput( keyspace_name=keyspace_name, table_name=table_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1481,6 +1387,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore async def _migrate_cassandra_table_to_autoscale_initial( @@ -1496,29 +1403,19 @@ async def _migrate_cassandra_table_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_table_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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 = build_migrate_cassandra_table_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self._migrate_cassandra_table_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1534,8 +1431,11 @@ async def _migrate_cassandra_table_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_table_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_cassandra_table_to_autoscale( self, resource_group_name: str, @@ -1556,15 +1456,19 @@ async def begin_migrate_cassandra_table_to_autoscale( :type table_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1580,26 +1484,17 @@ async def begin_migrate_cassandra_table_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1611,6 +1506,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_cassandra_table_to_manual_throughput_initial( @@ -1626,29 +1522,19 @@ async def _migrate_cassandra_table_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_table_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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 = build_migrate_cassandra_table_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self._migrate_cassandra_table_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1664,8 +1550,11 @@ async def _migrate_cassandra_table_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_table_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_cassandra_table_to_manual_throughput( self, resource_group_name: str, @@ -1686,15 +1575,19 @@ async def begin_migrate_cassandra_table_to_manual_throughput( :type table_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1710,26 +1603,17 @@ async def begin_migrate_cassandra_table_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1741,8 +1625,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_cassandra_views( self, resource_group_name: str, @@ -1759,8 +1645,10 @@ def list_cassandra_views( :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either CassandraViewListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.CassandraViewListResult] + :return: An iterator like instance of either CassandraViewListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.CassandraViewListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraViewListResult"] @@ -1768,37 +1656,35 @@ def list_cassandra_views( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_cassandra_views.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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) + + request = build_list_cassandra_views_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self.list_cassandra_views.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_cassandra_views_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('CassandraViewListResult', pipeline_response) + deserialized = self._deserialize("CassandraViewListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1816,11 +1702,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_cassandra_views.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views'} # type: ignore + @distributed_trace_async async def get_cassandra_view( self, resource_group_name: str, @@ -1849,29 +1737,19 @@ async def get_cassandra_view( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_view.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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 = build_get_cassandra_view_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self.get_cassandra_view.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1885,8 +1763,10 @@ async def get_cassandra_view( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_view.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore + async def _create_update_cassandra_view_initial( self, resource_group_name: str, @@ -1901,34 +1781,24 @@ async def _create_update_cassandra_view_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_cassandra_view_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_cassandra_view_parameters, 'CassandraViewCreateUpdateParameters') - # 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') + request = build_create_update_cassandra_view_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + content_type=content_type, + json=_json, + template_url=self._create_update_cassandra_view_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_cassandra_view_parameters, 'CassandraViewCreateUpdateParameters') - 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 @@ -1944,8 +1814,11 @@ async def _create_update_cassandra_view_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_cassandra_view_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_cassandra_view( self, resource_group_name: str, @@ -1967,18 +1840,23 @@ async def begin_create_update_cassandra_view( :type view_name: str :param create_update_cassandra_view_parameters: The parameters to provide for the current Cassandra View. - :type create_update_cassandra_view_parameters: ~azure.mgmt.cosmosdb.models.CassandraViewCreateUpdateParameters + :type create_update_cassandra_view_parameters: + ~azure.mgmt.cosmosdb.models.CassandraViewCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 CassandraViewGetResults or the result of cls(response) + :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 CassandraViewGetResults or the + result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.CassandraViewGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraViewGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1992,29 +1870,21 @@ async def begin_create_update_cassandra_view( keyspace_name=keyspace_name, view_name=view_name, create_update_cassandra_view_parameters=create_update_cassandra_view_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('CassandraViewGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2026,6 +1896,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_view.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore async def _delete_cassandra_view_initial( @@ -2041,27 +1912,19 @@ async def _delete_cassandra_view_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_cassandra_view_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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] + + request = build_delete_cassandra_view_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self._delete_cassandra_view_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2074,6 +1937,8 @@ async def _delete_cassandra_view_initial( _delete_cassandra_view_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore + + @distributed_trace_async async def begin_delete_cassandra_view( self, resource_group_name: str, @@ -2094,15 +1959,17 @@ async def begin_delete_cassandra_view( :type view_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -2118,23 +1985,14 @@ async def begin_delete_cassandra_view( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2146,8 +2004,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_view.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore + @distributed_trace_async async def get_cassandra_view_throughput( self, resource_group_name: str, @@ -2177,29 +2037,19 @@ async def get_cassandra_view_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_view_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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 = build_get_cassandra_view_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self.get_cassandra_view_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2213,8 +2063,10 @@ async def get_cassandra_view_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_view_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default'} # type: ignore + async def _update_cassandra_view_throughput_initial( self, resource_group_name: str, @@ -2229,34 +2081,24 @@ async def _update_cassandra_view_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_cassandra_view_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_cassandra_view_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + content_type=content_type, + json=_json, + template_url=self._update_cassandra_view_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -2272,8 +2114,11 @@ async def _update_cassandra_view_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_cassandra_view_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_cassandra_view_throughput( self, resource_group_name: str, @@ -2295,18 +2140,24 @@ async def begin_update_cassandra_view_throughput( :type view_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Cassandra view. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2320,29 +2171,21 @@ async def begin_update_cassandra_view_throughput( keyspace_name=keyspace_name, view_name=view_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2354,6 +2197,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_view_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default'} # type: ignore async def _migrate_cassandra_view_to_autoscale_initial( @@ -2369,29 +2213,19 @@ async def _migrate_cassandra_view_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_view_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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 = build_migrate_cassandra_view_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self._migrate_cassandra_view_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2407,8 +2241,11 @@ async def _migrate_cassandra_view_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_view_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_cassandra_view_to_autoscale( self, resource_group_name: str, @@ -2429,15 +2266,19 @@ async def begin_migrate_cassandra_view_to_autoscale( :type view_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2453,26 +2294,17 @@ async def begin_migrate_cassandra_view_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2484,6 +2316,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_view_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_cassandra_view_to_manual_throughput_initial( @@ -2499,29 +2332,19 @@ async def _migrate_cassandra_view_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_view_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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 = build_migrate_cassandra_view_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self._migrate_cassandra_view_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2537,8 +2360,11 @@ async def _migrate_cassandra_view_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_view_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_cassandra_view_to_manual_throughput( self, resource_group_name: str, @@ -2559,15 +2385,19 @@ async def begin_migrate_cassandra_view_to_manual_throughput( :type view_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2583,26 +2413,17 @@ async def begin_migrate_cassandra_view_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2614,4 +2435,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_view_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_operations.py index d6e7d2667ae..0587d4f8461 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._collection_operations import build_list_metric_definitions_request, build_list_metrics_request, build_list_usages_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -75,39 +81,39 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -125,11 +131,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics'} # type: ignore + @distributed_trace def list_usages( self, resource_group_name: str, @@ -162,40 +170,39 @@ def list_usages( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_usages.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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 filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_usages.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('UsagesResult', pipeline_response) + deserialized = self._deserialize("UsagesResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -213,11 +220,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages'} # type: ignore + @distributed_trace def list_metric_definitions( self, resource_group_name: str, @@ -237,8 +246,10 @@ def list_metric_definitions( :param collection_rid: Cosmos DB collection rid. :type collection_rid: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :return: An iterator like instance of either MetricDefinitionsListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] @@ -246,38 +257,37 @@ def list_metric_definitions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metric_definitions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + template_url=self.list_metric_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MetricDefinitionsListResult', pipeline_response) + deserialized = self._deserialize("MetricDefinitionsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -295,6 +305,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_operations.py index c8346c18f1a..6625c68020f 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._collection_partition_operations import build_list_metrics_request, build_list_usages_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -66,8 +72,10 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :return: An iterator like instance of either PartitionMetricListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] @@ -75,39 +83,39 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionMetricListResult', pipeline_response) + deserialized = self._deserialize("PartitionMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -125,11 +133,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics'} # type: ignore + @distributed_trace def list_usages( self, resource_group_name: str, @@ -153,8 +163,10 @@ def list_usages( supported parameter is name.value (name of the metric, can have an or of multiple names). :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionUsagesResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionUsagesResult] + :return: An iterator like instance of either PartitionUsagesResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionUsagesResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionUsagesResult"] @@ -162,40 +174,39 @@ def list_usages( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_usages.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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 filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_usages.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionUsagesResult', pipeline_response) + deserialized = self._deserialize("PartitionUsagesResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -213,6 +224,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_region_operations.py index 8e255eec67d..3e00d229454 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_partition_region_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._collection_partition_region_operations import build_list_metrics_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -69,8 +75,10 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :return: An iterator like instance of either PartitionMetricListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] @@ -78,40 +86,41 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, 'str'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionMetricListResult', pipeline_response) + deserialized = self._deserialize("PartitionMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -129,6 +138,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_region_operations.py index 3f5b718e1a3..2ae679ecd24 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_collection_region_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._collection_region_operations import build_list_metrics_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -78,40 +84,41 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, 'str'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -129,6 +136,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_data_transfer_jobs_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_data_transfer_jobs_operations.py new file mode 100644 index 00000000000..302b4b1378b --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_data_transfer_jobs_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._data_transfer_jobs_operations import build_create_request, build_get_request, build_list_by_database_account_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DataTransferJobsOperations: + """DataTransferJobsOperations 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.cosmosdb.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 + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + account_name: str, + job_name: str, + job_create_parameters: "_models.CreateJobRequest", + **kwargs: Any + ) -> "_models.DataTransferJobGetResults": + """Creates a Data Transfer Job. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param job_name: Name of the Data Transfer Job. + :type job_name: str + :param job_create_parameters: + :type job_create_parameters: ~azure.mgmt.cosmosdb.models.CreateJobRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataTransferJobGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DataTransferJobGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataTransferJobGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(job_create_parameters, 'CreateJobRequest') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + job_name=job_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataTransferJobGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}'} # type: ignore + + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + account_name: str, + job_name: str, + **kwargs: Any + ) -> "_models.DataTransferJobGetResults": + """Get a Data Transfer Job. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param job_name: Name of the Data Transfer Job. + :type job_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataTransferJobGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DataTransferJobGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataTransferJobGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + job_name=job_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('DataTransferJobGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}'} # type: ignore + + + @distributed_trace + def list_by_database_account( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.DataTransferJobFeedResults"]: + """Get a list of Data Transfer jobs. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DataTransferJobFeedResults or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.DataTransferJobFeedResults] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataTransferJobFeedResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_by_database_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("DataTransferJobFeedResults", 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_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_account_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_account_region_operations.py index 16cef787b1d..eabc0b676ba 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_account_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_account_region_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._database_account_region_operations import build_list_metrics_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -71,38 +77,37 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -120,6 +125,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_accounts_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_accounts_operations.py index be33c45d936..f790fcfbf59 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_accounts_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_accounts_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._database_accounts_operations import build_check_name_exists_request, build_create_or_update_request_initial, build_delete_request_initial, build_failover_priority_change_request_initial, build_get_read_only_keys_request, build_get_request, build_list_by_resource_group_request, build_list_connection_strings_request, build_list_keys_request, build_list_metric_definitions_request, build_list_metrics_request, build_list_read_only_keys_request, build_list_request, build_list_usages_request, build_offline_region_request_initial, build_online_region_request_initial, build_regenerate_key_request_initial, build_update_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -65,27 +71,17 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -99,8 +95,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + async def _update_initial( self, resource_group_name: str, @@ -113,32 +111,22 @@ async def _update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_parameters, 'DatabaseAccountUpdateParameters') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_parameters, 'DatabaseAccountUpdateParameters') - 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 @@ -152,8 +140,11 @@ async def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + @distributed_trace_async async def begin_update( self, resource_group_name: str, @@ -171,15 +162,20 @@ async def begin_update( :type update_parameters: ~azure.mgmt.cosmosdb.models.DatabaseAccountUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 DatabaseAccountGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 DatabaseAccountGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -191,27 +187,21 @@ async def begin_update( resource_group_name=resource_group_name, account_name=account_name, update_parameters=update_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('DatabaseAccountGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -223,6 +213,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore async def _create_or_update_initial( @@ -237,32 +228,22 @@ async def _create_or_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_parameters, 'DatabaseAccountCreateUpdateParameters') - # 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') + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_parameters, 'DatabaseAccountCreateUpdateParameters') - 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 @@ -276,8 +257,11 @@ async def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + @distributed_trace_async async def begin_create_or_update( self, resource_group_name: str, @@ -293,18 +277,24 @@ async def begin_create_or_update( :param account_name: Cosmos DB database account name. :type account_name: str :param create_update_parameters: The parameters to provide for the current database account. - :type create_update_parameters: ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateParameters + :type create_update_parameters: + ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 DatabaseAccountGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 DatabaseAccountGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -316,27 +306,21 @@ async def begin_create_or_update( resource_group_name=resource_group_name, account_name=account_name, create_update_parameters=create_update_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('DatabaseAccountGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -348,6 +332,7 @@ def get_long_running_output(pipeline_response): ) 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.DocumentDB/databaseAccounts/{accountName}'} # type: ignore async def _delete_initial( @@ -361,25 +346,17 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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] + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -392,6 +369,8 @@ async def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -406,15 +385,17 @@ async def begin_delete( :type account_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -428,21 +409,14 @@ async def begin_delete( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -454,6 +428,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore async def _failover_priority_change_initial( @@ -468,30 +443,22 @@ async def _failover_priority_change_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self._failover_priority_change_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + _json = self._serialize.body(failover_parameters, 'FailoverPolicies') + + request = build_failover_priority_change_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._failover_priority_change_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(failover_parameters, 'FailoverPolicies') - 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 @@ -504,6 +471,8 @@ async def _failover_priority_change_initial( _failover_priority_change_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} # type: ignore + + @distributed_trace_async async def begin_failover_priority_change( self, resource_group_name: str, @@ -524,15 +493,18 @@ async def begin_failover_priority_change( :type failover_parameters: ~azure.mgmt.cosmosdb.models.FailoverPolicies :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -544,24 +516,18 @@ async def begin_failover_priority_change( resource_group_name=resource_group_name, account_name=account_name, failover_parameters=failover_parameters, + content_type=content_type, 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -573,8 +539,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_failover_priority_change.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} # type: ignore + @distributed_trace def list( self, **kwargs: Any @@ -582,8 +550,10 @@ def list( """Lists all the Azure Cosmos DB database accounts available under the subscription. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DatabaseAccountsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] + :return: An iterator like instance of either DatabaseAccountsListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountsListResult"] @@ -591,34 +561,29 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - } - url = self._client.format_url(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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('DatabaseAccountsListResult', pipeline_response) + deserialized = self._deserialize("DatabaseAccountsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -636,11 +601,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts'} # type: ignore + @distributed_trace def list_by_resource_group( self, resource_group_name: str, @@ -651,8 +618,10 @@ def list_by_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 DatabaseAccountsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] + :return: An iterator like instance of either DatabaseAccountsListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountsListResult"] @@ -660,35 +629,31 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - '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) + + request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('DatabaseAccountsListResult', pipeline_response) + deserialized = self._deserialize("DatabaseAccountsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -706,11 +671,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts'} # type: ignore + @distributed_trace_async async def list_keys( self, resource_group_name: str, @@ -733,27 +700,17 @@ async def list_keys( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_keys.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_list_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -767,8 +724,11 @@ async def list_keys( return cls(pipeline_response, deserialized, {}) return deserialized + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys'} # type: ignore + + @distributed_trace_async async def list_connection_strings( self, resource_group_name: str, @@ -791,27 +751,17 @@ async def list_connection_strings( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_connection_strings.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_list_connection_strings_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_connection_strings.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -825,8 +775,10 @@ async def list_connection_strings( return cls(pipeline_response, deserialized, {}) return deserialized + list_connection_strings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings'} # type: ignore + async def _offline_region_initial( self, resource_group_name: str, @@ -839,45 +791,36 @@ async def _offline_region_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._offline_region_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(region_parameter_for_offline, 'RegionForOnlineOffline') + + request = build_offline_region_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._offline_region_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(region_parameter_for_offline, 'RegionForOnlineOffline') - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _offline_region_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} # type: ignore + + @distributed_trace_async async def begin_offline_region( self, resource_group_name: str, @@ -895,15 +838,18 @@ async def begin_offline_region( :type region_parameter_for_offline: ~azure.mgmt.cosmosdb.models.RegionForOnlineOffline :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -915,24 +861,18 @@ async def begin_offline_region( resource_group_name=resource_group_name, account_name=account_name, region_parameter_for_offline=region_parameter_for_offline, + content_type=content_type, 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -944,6 +884,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_offline_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} # type: ignore async def _online_region_initial( @@ -958,45 +899,36 @@ async def _online_region_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._online_region_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(region_parameter_for_online, 'RegionForOnlineOffline') - # 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') + request = build_online_region_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._online_region_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(region_parameter_for_online, 'RegionForOnlineOffline') - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _online_region_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} # type: ignore + + @distributed_trace_async async def begin_online_region( self, resource_group_name: str, @@ -1014,15 +946,18 @@ async def begin_online_region( :type region_parameter_for_online: ~azure.mgmt.cosmosdb.models.RegionForOnlineOffline :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1034,24 +969,18 @@ async def begin_online_region( resource_group_name=resource_group_name, account_name=account_name, region_parameter_for_online=region_parameter_for_online, + content_type=content_type, 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1063,8 +992,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_online_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} # type: ignore + @distributed_trace_async async def get_read_only_keys( self, resource_group_name: str, @@ -1087,27 +1018,17 @@ async def get_read_only_keys( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_read_only_keys.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_read_only_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_read_only_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1121,8 +1042,11 @@ async def get_read_only_keys( return cls(pipeline_response, deserialized, {}) return deserialized + get_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} # type: ignore + + @distributed_trace_async async def list_read_only_keys( self, resource_group_name: str, @@ -1145,27 +1069,17 @@ async def list_read_only_keys( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_read_only_keys.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_list_read_only_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_read_only_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1179,8 +1093,10 @@ async def list_read_only_keys( return cls(pipeline_response, deserialized, {}) return deserialized + list_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} # type: ignore + async def _regenerate_key_initial( self, resource_group_name: str, @@ -1193,30 +1109,22 @@ async def _regenerate_key_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self._regenerate_key_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(key_to_regenerate, 'DatabaseAccountRegenerateKeyParameters') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + request = build_regenerate_key_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._regenerate_key_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(key_to_regenerate, 'DatabaseAccountRegenerateKeyParameters') - 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 @@ -1229,6 +1137,8 @@ async def _regenerate_key_initial( _regenerate_key_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} # type: ignore + + @distributed_trace_async async def begin_regenerate_key( self, resource_group_name: str, @@ -1246,15 +1156,18 @@ async def begin_regenerate_key( :type key_to_regenerate: ~azure.mgmt.cosmosdb.models.DatabaseAccountRegenerateKeyParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1266,24 +1179,18 @@ async def begin_regenerate_key( resource_group_name=resource_group_name, account_name=account_name, key_to_regenerate=key_to_regenerate, + content_type=content_type, 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1295,8 +1202,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} # type: ignore + @distributed_trace_async async def check_name_exists( self, account_name: str, @@ -1318,23 +1227,15 @@ async def check_name_exists( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self.check_name_exists.metadata['url'] # type: ignore - path_format_arguments = { - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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] + + request = build_check_name_exists_request( + account_name=account_name, + template_url=self.check_name_exists.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1344,10 +1245,12 @@ async def check_name_exists( if cls: return cls(pipeline_response, None, {}) - return 200 <= response.status_code <= 299 + check_name_exists.metadata = {'url': '/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}'} # type: ignore + + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -1375,37 +1278,35 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1423,11 +1324,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics'} # type: ignore + @distributed_trace def list_usages( self, resource_group_name: str, @@ -1454,38 +1357,35 @@ def list_usages( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_usages.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=self.list_usages.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('UsagesResult', pipeline_response) + deserialized = self._deserialize("UsagesResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1503,11 +1403,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages'} # type: ignore + @distributed_trace def list_metric_definitions( self, resource_group_name: str, @@ -1521,8 +1423,10 @@ def list_metric_definitions( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :return: An iterator like instance of either MetricDefinitionsListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] @@ -1530,36 +1434,33 @@ def list_metric_definitions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metric_definitions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_metric_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MetricDefinitionsListResult', pipeline_response) + deserialized = self._deserialize("MetricDefinitionsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1577,6 +1478,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_operations.py index d9ae67a8275..9d040c0507a 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_database_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._database_operations import build_list_metric_definitions_request, build_list_metrics_request, build_list_usages_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -72,38 +78,37 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -121,11 +126,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics'} # type: ignore + @distributed_trace def list_usages( self, resource_group_name: str, @@ -155,39 +162,37 @@ def list_usages( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_usages.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, '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 filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + filter=filter, + template_url=self.list_usages.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('UsagesResult', pipeline_response) + deserialized = self._deserialize("UsagesResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -205,11 +210,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages'} # type: ignore + @distributed_trace def list_metric_definitions( self, resource_group_name: str, @@ -226,8 +233,10 @@ def list_metric_definitions( :param database_rid: Cosmos DB database rid. :type database_rid: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] + :return: An iterator like instance of either MetricDefinitionsListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.MetricDefinitionsListResult"] @@ -235,37 +244,35 @@ def list_metric_definitions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metric_definitions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, '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) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + template_url=self.list_metric_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MetricDefinitionsListResult', pipeline_response) + deserialized = self._deserialize("MetricDefinitionsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -283,6 +290,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_graph_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_graph_resources_operations.py index f65ec3e0bee..0462efbc4fc 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_graph_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_graph_resources_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._graph_resources_operations import build_create_update_graph_request_initial, build_delete_graph_resource_request_initial, build_get_graph_request, build_list_graphs_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_graphs( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list_graphs( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either GraphResourcesListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.GraphResourcesListResult] + :return: An iterator like instance of either GraphResourcesListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.GraphResourcesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.GraphResourcesListResult"] @@ -65,36 +73,33 @@ def list_graphs( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_graphs.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_graphs_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_graphs.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_graphs_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('GraphResourcesListResult', pipeline_response) + deserialized = self._deserialize("GraphResourcesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +117,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_graphs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs'} # type: ignore + @distributed_trace_async async def get_graph( self, resource_group_name: str, @@ -143,28 +150,18 @@ async def get_graph( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_graph.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_get_graph_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + graph_name=graph_name, + template_url=self.get_graph.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -178,8 +175,10 @@ async def get_graph( return cls(pipeline_response, deserialized, {}) return deserialized + get_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore + async def _create_update_graph_initial( self, resource_group_name: str, @@ -193,33 +192,23 @@ async def _create_update_graph_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_graph_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_graph_parameters, 'GraphResourceCreateUpdateParameters') + + request = build_create_update_graph_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + graph_name=graph_name, + content_type=content_type, + json=_json, + template_url=self._create_update_graph_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_graph_parameters, 'GraphResourceCreateUpdateParameters') - 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 @@ -235,8 +224,11 @@ async def _create_update_graph_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_graph( self, resource_group_name: str, @@ -254,18 +246,23 @@ async def begin_create_update_graph( :param graph_name: Cosmos DB graph resource name. :type graph_name: str :param create_update_graph_parameters: The parameters to provide for the current graph. - :type create_update_graph_parameters: ~azure.mgmt.cosmosdb.models.GraphResourceCreateUpdateParameters + :type create_update_graph_parameters: + ~azure.mgmt.cosmosdb.models.GraphResourceCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 GraphResourceGetResults or the result of cls(response) + :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 GraphResourceGetResults or the + result of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.GraphResourceGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.GraphResourceGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -278,28 +275,21 @@ async def begin_create_update_graph( account_name=account_name, graph_name=graph_name, create_update_graph_parameters=create_update_graph_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('GraphResourceGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -311,6 +301,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore async def _delete_graph_resource_initial( @@ -325,26 +316,18 @@ async def _delete_graph_resource_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_graph_resource_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_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] + + request = build_delete_graph_resource_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + graph_name=graph_name, + template_url=self._delete_graph_resource_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -357,6 +340,8 @@ async def _delete_graph_resource_initial( _delete_graph_resource_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore + + @distributed_trace_async async def begin_delete_graph_resource( self, resource_group_name: str, @@ -374,15 +359,17 @@ async def begin_delete_graph_resource( :type graph_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -397,22 +384,14 @@ async def begin_delete_graph_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): 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -424,4 +403,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_graph_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_gremlin_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_gremlin_resources_operations.py index 0b2dbd84500..45178f12a95 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_gremlin_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_gremlin_resources_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._gremlin_resources_operations import build_create_update_gremlin_database_request_initial, build_create_update_gremlin_graph_request_initial, build_delete_gremlin_database_request_initial, build_delete_gremlin_graph_request_initial, build_get_gremlin_database_request, build_get_gremlin_database_throughput_request, build_get_gremlin_graph_request, build_get_gremlin_graph_throughput_request, build_list_gremlin_databases_request, build_list_gremlin_graphs_request, build_migrate_gremlin_database_to_autoscale_request_initial, build_migrate_gremlin_database_to_manual_throughput_request_initial, build_migrate_gremlin_graph_to_autoscale_request_initial, build_migrate_gremlin_graph_to_manual_throughput_request_initial, build_retrieve_continuous_backup_information_request_initial, build_update_gremlin_database_throughput_request_initial, build_update_gremlin_graph_throughput_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_gremlin_databases( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list_gremlin_databases( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either GremlinDatabaseListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.GremlinDatabaseListResult] + :return: An iterator like instance of either GremlinDatabaseListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.GremlinDatabaseListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseListResult"] @@ -65,36 +73,33 @@ def list_gremlin_databases( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_gremlin_databases.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_gremlin_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_gremlin_databases.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_gremlin_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('GremlinDatabaseListResult', pipeline_response) + deserialized = self._deserialize("GremlinDatabaseListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +117,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_gremlin_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases'} # type: ignore + @distributed_trace_async async def get_gremlin_database( self, resource_group_name: str, @@ -143,28 +150,18 @@ async def get_gremlin_database( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_gremlin_database.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_gremlin_database_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_gremlin_database.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -178,8 +175,10 @@ async def get_gremlin_database( return cls(pipeline_response, deserialized, {}) return deserialized + get_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + async def _create_update_gremlin_database_initial( self, resource_group_name: str, @@ -193,33 +192,23 @@ async def _create_update_gremlin_database_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_gremlin_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_gremlin_database_parameters, 'GremlinDatabaseCreateUpdateParameters') + + request = build_create_update_gremlin_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._create_update_gremlin_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_gremlin_database_parameters, 'GremlinDatabaseCreateUpdateParameters') - 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 @@ -235,8 +224,11 @@ async def _create_update_gremlin_database_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_gremlin_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_gremlin_database( self, resource_group_name: str, @@ -255,18 +247,24 @@ async def begin_create_update_gremlin_database( :type database_name: str :param create_update_gremlin_database_parameters: The parameters to provide for the current Gremlin database. - :type create_update_gremlin_database_parameters: ~azure.mgmt.cosmosdb.models.GremlinDatabaseCreateUpdateParameters + :type create_update_gremlin_database_parameters: + ~azure.mgmt.cosmosdb.models.GremlinDatabaseCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 GremlinDatabaseGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 GremlinDatabaseGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -279,28 +277,21 @@ async def begin_create_update_gremlin_database( account_name=account_name, database_name=database_name, create_update_gremlin_database_parameters=create_update_gremlin_database_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('GremlinDatabaseGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -312,6 +303,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore async def _delete_gremlin_database_initial( @@ -326,26 +318,18 @@ async def _delete_gremlin_database_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_gremlin_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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] + + request = build_delete_gremlin_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._delete_gremlin_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -358,6 +342,8 @@ async def _delete_gremlin_database_initial( _delete_gremlin_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + @distributed_trace_async async def begin_delete_gremlin_database( self, resource_group_name: str, @@ -375,15 +361,17 @@ async def begin_delete_gremlin_database( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -398,22 +386,14 @@ async def begin_delete_gremlin_database( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -425,8 +405,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + @distributed_trace_async async def get_gremlin_database_throughput( self, resource_group_name: str, @@ -453,28 +435,18 @@ async def get_gremlin_database_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_gremlin_database_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_gremlin_database_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_gremlin_database_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -488,8 +460,10 @@ async def get_gremlin_database_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore + async def _update_gremlin_database_throughput_initial( self, resource_group_name: str, @@ -503,33 +477,23 @@ async def _update_gremlin_database_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_gremlin_database_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + + request = build_update_gremlin_database_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._update_gremlin_database_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -545,8 +509,11 @@ async def _update_gremlin_database_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_gremlin_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_gremlin_database_throughput( self, resource_group_name: str, @@ -565,18 +532,24 @@ async def begin_update_gremlin_database_throughput( :type database_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Gremlin database. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -589,28 +562,21 @@ async def begin_update_gremlin_database_throughput( account_name=account_name, database_name=database_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -622,6 +588,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore async def _migrate_gremlin_database_to_autoscale_initial( @@ -636,28 +603,18 @@ async def _migrate_gremlin_database_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_gremlin_database_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_gremlin_database_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_gremlin_database_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -673,8 +630,11 @@ async def _migrate_gremlin_database_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_gremlin_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_gremlin_database_to_autoscale( self, resource_group_name: str, @@ -692,15 +652,19 @@ async def begin_migrate_gremlin_database_to_autoscale( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -715,25 +679,17 @@ async def begin_migrate_gremlin_database_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -745,6 +701,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_gremlin_database_to_manual_throughput_initial( @@ -759,28 +716,18 @@ async def _migrate_gremlin_database_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_gremlin_database_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_gremlin_database_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_gremlin_database_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -796,8 +743,11 @@ async def _migrate_gremlin_database_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_gremlin_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_gremlin_database_to_manual_throughput( self, resource_group_name: str, @@ -815,15 +765,19 @@ async def begin_migrate_gremlin_database_to_manual_throughput( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -838,25 +792,17 @@ async def begin_migrate_gremlin_database_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -868,8 +814,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_gremlin_graphs( self, resource_group_name: str, @@ -886,8 +834,10 @@ def list_gremlin_graphs( :param database_name: Cosmos DB database name. :type database_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either GremlinGraphListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.GremlinGraphListResult] + :return: An iterator like instance of either GremlinGraphListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.GremlinGraphListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphListResult"] @@ -895,37 +845,35 @@ def list_gremlin_graphs( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_gremlin_graphs.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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) + + request = build_list_gremlin_graphs_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.list_gremlin_graphs.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_gremlin_graphs_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('GremlinGraphListResult', pipeline_response) + deserialized = self._deserialize("GremlinGraphListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -943,11 +891,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_gremlin_graphs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs'} # type: ignore + @distributed_trace_async async def get_gremlin_graph( self, resource_group_name: str, @@ -976,29 +926,19 @@ async def get_gremlin_graph( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_gremlin_graph.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_get_gremlin_graph_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self.get_gremlin_graph.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1012,8 +952,10 @@ async def get_gremlin_graph( return cls(pipeline_response, deserialized, {}) return deserialized + get_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + async def _create_update_gremlin_graph_initial( self, resource_group_name: str, @@ -1028,34 +970,24 @@ async def _create_update_gremlin_graph_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_gremlin_graph_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_gremlin_graph_parameters, 'GremlinGraphCreateUpdateParameters') - # 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') + request = build_create_update_gremlin_graph_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + content_type=content_type, + json=_json, + template_url=self._create_update_gremlin_graph_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_gremlin_graph_parameters, 'GremlinGraphCreateUpdateParameters') - 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 @@ -1071,8 +1003,11 @@ async def _create_update_gremlin_graph_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_gremlin_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_gremlin_graph( self, resource_group_name: str, @@ -1094,18 +1029,23 @@ async def begin_create_update_gremlin_graph( :type graph_name: str :param create_update_gremlin_graph_parameters: The parameters to provide for the current Gremlin graph. - :type create_update_gremlin_graph_parameters: ~azure.mgmt.cosmosdb.models.GremlinGraphCreateUpdateParameters + :type create_update_gremlin_graph_parameters: + ~azure.mgmt.cosmosdb.models.GremlinGraphCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 GremlinGraphGetResults or the result of cls(response) + :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 GremlinGraphGetResults or the result + of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1119,29 +1059,21 @@ async def begin_create_update_gremlin_graph( database_name=database_name, graph_name=graph_name, create_update_gremlin_graph_parameters=create_update_gremlin_graph_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('GremlinGraphGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1153,6 +1085,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore async def _delete_gremlin_graph_initial( @@ -1168,27 +1101,19 @@ async def _delete_gremlin_graph_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_gremlin_graph_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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] + + request = build_delete_gremlin_graph_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self._delete_gremlin_graph_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1201,6 +1126,8 @@ async def _delete_gremlin_graph_initial( _delete_gremlin_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + @distributed_trace_async async def begin_delete_gremlin_graph( self, resource_group_name: str, @@ -1221,15 +1148,17 @@ async def begin_delete_gremlin_graph( :type graph_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1245,23 +1174,14 @@ async def begin_delete_gremlin_graph( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1273,8 +1193,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + @distributed_trace_async async def get_gremlin_graph_throughput( self, resource_group_name: str, @@ -1304,29 +1226,19 @@ async def get_gremlin_graph_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_gremlin_graph_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_get_gremlin_graph_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self.get_gremlin_graph_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1340,8 +1252,10 @@ async def get_gremlin_graph_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore + async def _update_gremlin_graph_throughput_initial( self, resource_group_name: str, @@ -1356,34 +1270,24 @@ async def _update_gremlin_graph_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_gremlin_graph_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + + request = build_update_gremlin_graph_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + content_type=content_type, + json=_json, + template_url=self._update_gremlin_graph_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -1399,8 +1303,11 @@ async def _update_gremlin_graph_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_gremlin_graph_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_gremlin_graph_throughput( self, resource_group_name: str, @@ -1422,18 +1329,24 @@ async def begin_update_gremlin_graph_throughput( :type graph_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Gremlin graph. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1447,29 +1360,21 @@ async def begin_update_gremlin_graph_throughput( database_name=database_name, graph_name=graph_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1481,6 +1386,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore async def _migrate_gremlin_graph_to_autoscale_initial( @@ -1496,29 +1402,19 @@ async def _migrate_gremlin_graph_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_gremlin_graph_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_migrate_gremlin_graph_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self._migrate_gremlin_graph_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1534,8 +1430,11 @@ async def _migrate_gremlin_graph_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_gremlin_graph_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_gremlin_graph_to_autoscale( self, resource_group_name: str, @@ -1556,15 +1455,19 @@ async def begin_migrate_gremlin_graph_to_autoscale( :type graph_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1580,26 +1483,17 @@ async def begin_migrate_gremlin_graph_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1611,6 +1505,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_graph_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_gremlin_graph_to_manual_throughput_initial( @@ -1626,29 +1521,19 @@ async def _migrate_gremlin_graph_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_gremlin_graph_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_migrate_gremlin_graph_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self._migrate_gremlin_graph_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1664,8 +1549,11 @@ async def _migrate_gremlin_graph_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_gremlin_graph_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_gremlin_graph_to_manual_throughput( self, resource_group_name: str, @@ -1686,15 +1574,19 @@ async def begin_migrate_gremlin_graph_to_manual_throughput( :type graph_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1710,26 +1602,17 @@ async def begin_migrate_gremlin_graph_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1741,4 +1624,135 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_graph_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def _retrieve_continuous_backup_information_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> Optional["_models.BackupInformation"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + + request = build_retrieve_continuous_backup_information_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + content_type=content_type, + json=_json, + template_url=self._retrieve_continuous_backup_information_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/retrieveContinuousBackupInformation'} # type: ignore + + + @distributed_trace_async + async def begin_retrieve_continuous_backup_information( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> AsyncLROPoller["_models.BackupInformation"]: + """Retrieves continuous backup information for a gremlin graph. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :param location: The name of the continuous backup restore location. + :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 BackupInformation or the result of + cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] + 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._retrieve_continuous_backup_information_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + location=location, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('BackupInformation', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/retrieveContinuousBackupInformation'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_locations_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_locations_operations.py new file mode 100644 index 00000000000..cd74ef49eb9 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_locations_operations.py @@ -0,0 +1,157 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._locations_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocationsOperations: + """LocationsOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.LocationListResult"]: + """List Cosmos DB locations and their properties. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either LocationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.LocationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("LocationListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations'} # type: ignore + + @distributed_trace_async + async def get( + self, + location: str, + **kwargs: Any + ) -> "_models.LocationGetResult": + """Get the properties of an existing Cosmos DB location. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocationGetResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.LocationGetResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationGetResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('LocationGetResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}'} # type: ignore + diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_mongo_db_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_mongo_db_resources_operations.py index 8e75deeb311..44c2df8afff 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_mongo_db_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_mongo_db_resources_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._mongo_db_resources_operations import build_create_update_mongo_db_collection_request_initial, build_create_update_mongo_db_database_request_initial, build_create_update_mongo_role_definition_request_initial, build_create_update_mongo_user_definition_request_initial, build_delete_mongo_db_collection_request_initial, build_delete_mongo_db_database_request_initial, build_delete_mongo_role_definition_request_initial, build_delete_mongo_user_definition_request_initial, build_get_mongo_db_collection_request, build_get_mongo_db_collection_throughput_request, build_get_mongo_db_database_request, build_get_mongo_db_database_throughput_request, build_get_mongo_role_definition_request, build_get_mongo_user_definition_request, build_list_mongo_db_collections_request, build_list_mongo_db_databases_request, build_list_mongo_role_definitions_request, build_list_mongo_user_definitions_request, build_migrate_mongo_db_collection_to_autoscale_request_initial, build_migrate_mongo_db_collection_to_manual_throughput_request_initial, build_migrate_mongo_db_database_to_autoscale_request_initial, build_migrate_mongo_db_database_to_manual_throughput_request_initial, build_retrieve_continuous_backup_information_request_initial, build_update_mongo_db_collection_throughput_request_initial, build_update_mongo_db_database_throughput_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_mongo_db_databases( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list_mongo_db_databases( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MongoDBDatabaseListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MongoDBDatabaseListResult] + :return: An iterator like instance of either MongoDBDatabaseListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MongoDBDatabaseListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseListResult"] @@ -65,36 +73,33 @@ def list_mongo_db_databases( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_mongo_db_databases.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_mongo_db_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_mongo_db_databases.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_mongo_db_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MongoDBDatabaseListResult', pipeline_response) + deserialized = self._deserialize("MongoDBDatabaseListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +117,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_mongo_db_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases'} # type: ignore + @distributed_trace_async async def get_mongo_db_database( self, resource_group_name: str, @@ -143,28 +150,18 @@ async def get_mongo_db_database( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_mongo_db_database.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_mongo_db_database_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_mongo_db_database.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -178,8 +175,10 @@ async def get_mongo_db_database( return cls(pipeline_response, deserialized, {}) return deserialized + get_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + async def _create_update_mongo_db_database_initial( self, resource_group_name: str, @@ -193,33 +192,23 @@ async def _create_update_mongo_db_database_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_mongo_db_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_mongo_db_database_parameters, 'MongoDBDatabaseCreateUpdateParameters') - # 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') + request = build_create_update_mongo_db_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._create_update_mongo_db_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_mongo_db_database_parameters, 'MongoDBDatabaseCreateUpdateParameters') - 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 @@ -235,8 +224,11 @@ async def _create_update_mongo_db_database_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_mongo_db_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_mongo_db_database( self, resource_group_name: str, @@ -255,18 +247,24 @@ async def begin_create_update_mongo_db_database( :type database_name: str :param create_update_mongo_db_database_parameters: The parameters to provide for the current MongoDB database. - :type create_update_mongo_db_database_parameters: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseCreateUpdateParameters + :type create_update_mongo_db_database_parameters: + ~azure.mgmt.cosmosdb.models.MongoDBDatabaseCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 MongoDBDatabaseGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 MongoDBDatabaseGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -279,28 +277,21 @@ async def begin_create_update_mongo_db_database( account_name=account_name, database_name=database_name, create_update_mongo_db_database_parameters=create_update_mongo_db_database_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('MongoDBDatabaseGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -312,6 +303,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore async def _delete_mongo_db_database_initial( @@ -326,26 +318,18 @@ async def _delete_mongo_db_database_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_mongo_db_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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] + + request = build_delete_mongo_db_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._delete_mongo_db_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -358,6 +342,8 @@ async def _delete_mongo_db_database_initial( _delete_mongo_db_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + @distributed_trace_async async def begin_delete_mongo_db_database( self, resource_group_name: str, @@ -375,15 +361,17 @@ async def begin_delete_mongo_db_database( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -398,22 +386,14 @@ async def begin_delete_mongo_db_database( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -425,8 +405,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + @distributed_trace_async async def get_mongo_db_database_throughput( self, resource_group_name: str, @@ -453,28 +435,18 @@ async def get_mongo_db_database_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_mongo_db_database_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_mongo_db_database_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_mongo_db_database_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -488,8 +460,10 @@ async def get_mongo_db_database_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore + async def _update_mongo_db_database_throughput_initial( self, resource_group_name: str, @@ -503,33 +477,23 @@ async def _update_mongo_db_database_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_mongo_db_database_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_mongo_db_database_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._update_mongo_db_database_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -545,8 +509,11 @@ async def _update_mongo_db_database_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_mongo_db_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_mongo_db_database_throughput( self, resource_group_name: str, @@ -565,18 +532,24 @@ async def begin_update_mongo_db_database_throughput( :type database_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current MongoDB database. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -589,28 +562,21 @@ async def begin_update_mongo_db_database_throughput( account_name=account_name, database_name=database_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -622,6 +588,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore async def _migrate_mongo_db_database_to_autoscale_initial( @@ -636,28 +603,18 @@ async def _migrate_mongo_db_database_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_mongo_db_database_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_mongo_db_database_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_mongo_db_database_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -673,8 +630,11 @@ async def _migrate_mongo_db_database_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_mongo_db_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_mongo_db_database_to_autoscale( self, resource_group_name: str, @@ -692,15 +652,19 @@ async def begin_migrate_mongo_db_database_to_autoscale( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -715,25 +679,17 @@ async def begin_migrate_mongo_db_database_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -745,6 +701,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_mongo_db_database_to_manual_throughput_initial( @@ -759,28 +716,18 @@ async def _migrate_mongo_db_database_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_mongo_db_database_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_mongo_db_database_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_mongo_db_database_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -796,8 +743,11 @@ async def _migrate_mongo_db_database_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_mongo_db_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_mongo_db_database_to_manual_throughput( self, resource_group_name: str, @@ -815,15 +765,19 @@ async def begin_migrate_mongo_db_database_to_manual_throughput( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -838,25 +792,17 @@ async def begin_migrate_mongo_db_database_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -868,8 +814,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_mongo_db_collections( self, resource_group_name: str, @@ -886,8 +834,10 @@ def list_mongo_db_collections( :param database_name: Cosmos DB database name. :type database_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MongoDBCollectionListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MongoDBCollectionListResult] + :return: An iterator like instance of either MongoDBCollectionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MongoDBCollectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionListResult"] @@ -895,37 +845,35 @@ def list_mongo_db_collections( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_mongo_db_collections.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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) + + request = build_list_mongo_db_collections_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.list_mongo_db_collections.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_mongo_db_collections_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('MongoDBCollectionListResult', pipeline_response) + deserialized = self._deserialize("MongoDBCollectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -943,11 +891,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_mongo_db_collections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections'} # type: ignore + @distributed_trace_async async def get_mongo_db_collection( self, resource_group_name: str, @@ -976,29 +926,19 @@ async def get_mongo_db_collection( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_mongo_db_collection.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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 = build_get_mongo_db_collection_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self.get_mongo_db_collection.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1012,8 +952,10 @@ async def get_mongo_db_collection( return cls(pipeline_response, deserialized, {}) return deserialized + get_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + async def _create_update_mongo_db_collection_initial( self, resource_group_name: str, @@ -1028,34 +970,24 @@ async def _create_update_mongo_db_collection_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_mongo_db_collection_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_mongo_db_collection_parameters, 'MongoDBCollectionCreateUpdateParameters') - # 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') + request = build_create_update_mongo_db_collection_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + content_type=content_type, + json=_json, + template_url=self._create_update_mongo_db_collection_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_mongo_db_collection_parameters, 'MongoDBCollectionCreateUpdateParameters') - 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 @@ -1071,8 +1003,11 @@ async def _create_update_mongo_db_collection_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_mongo_db_collection_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_mongo_db_collection( self, resource_group_name: str, @@ -1094,18 +1029,24 @@ async def begin_create_update_mongo_db_collection( :type collection_name: str :param create_update_mongo_db_collection_parameters: The parameters to provide for the current MongoDB Collection. - :type create_update_mongo_db_collection_parameters: ~azure.mgmt.cosmosdb.models.MongoDBCollectionCreateUpdateParameters + :type create_update_mongo_db_collection_parameters: + ~azure.mgmt.cosmosdb.models.MongoDBCollectionCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 MongoDBCollectionGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 MongoDBCollectionGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1119,29 +1060,21 @@ async def begin_create_update_mongo_db_collection( database_name=database_name, collection_name=collection_name, create_update_mongo_db_collection_parameters=create_update_mongo_db_collection_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('MongoDBCollectionGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1153,6 +1086,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore async def _delete_mongo_db_collection_initial( @@ -1168,27 +1102,19 @@ async def _delete_mongo_db_collection_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_mongo_db_collection_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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] + + request = build_delete_mongo_db_collection_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self._delete_mongo_db_collection_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1201,6 +1127,8 @@ async def _delete_mongo_db_collection_initial( _delete_mongo_db_collection_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + @distributed_trace_async async def begin_delete_mongo_db_collection( self, resource_group_name: str, @@ -1221,15 +1149,17 @@ async def begin_delete_mongo_db_collection( :type collection_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1245,23 +1175,14 @@ async def begin_delete_mongo_db_collection( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1273,8 +1194,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + @distributed_trace_async async def get_mongo_db_collection_throughput( self, resource_group_name: str, @@ -1304,29 +1227,19 @@ async def get_mongo_db_collection_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_mongo_db_collection_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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 = build_get_mongo_db_collection_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self.get_mongo_db_collection_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1340,8 +1253,10 @@ async def get_mongo_db_collection_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore + async def _update_mongo_db_collection_throughput_initial( self, resource_group_name: str, @@ -1356,34 +1271,24 @@ async def _update_mongo_db_collection_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_mongo_db_collection_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_mongo_db_collection_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + content_type=content_type, + json=_json, + template_url=self._update_mongo_db_collection_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -1399,8 +1304,11 @@ async def _update_mongo_db_collection_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_mongo_db_collection_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_mongo_db_collection_throughput( self, resource_group_name: str, @@ -1422,18 +1330,24 @@ async def begin_update_mongo_db_collection_throughput( :type collection_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current MongoDB collection. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1447,29 +1361,21 @@ async def begin_update_mongo_db_collection_throughput( database_name=database_name, collection_name=collection_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1481,6 +1387,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore async def _migrate_mongo_db_collection_to_autoscale_initial( @@ -1496,29 +1403,19 @@ async def _migrate_mongo_db_collection_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_mongo_db_collection_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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 = build_migrate_mongo_db_collection_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self._migrate_mongo_db_collection_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1534,8 +1431,11 @@ async def _migrate_mongo_db_collection_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_mongo_db_collection_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_mongo_db_collection_to_autoscale( self, resource_group_name: str, @@ -1556,15 +1456,19 @@ async def begin_migrate_mongo_db_collection_to_autoscale( :type collection_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1580,26 +1484,17 @@ async def begin_migrate_mongo_db_collection_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1611,6 +1506,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_collection_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_mongo_db_collection_to_manual_throughput_initial( @@ -1626,29 +1522,19 @@ async def _migrate_mongo_db_collection_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_mongo_db_collection_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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 = build_migrate_mongo_db_collection_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self._migrate_mongo_db_collection_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1664,8 +1550,11 @@ async def _migrate_mongo_db_collection_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_mongo_db_collection_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_mongo_db_collection_to_manual_throughput( self, resource_group_name: str, @@ -1686,15 +1575,19 @@ async def begin_migrate_mongo_db_collection_to_manual_throughput( :type collection_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1710,26 +1603,17 @@ async def begin_migrate_mongo_db_collection_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1741,4 +1625,855 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_collection_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async + async def get_mongo_role_definition( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.MongoRoleDefinitionGetResults": + """Retrieves the properties of an existing Azure Cosmos DB Mongo Role Definition with the given + Id. + + :param mongo_role_definition_id: The ID for the Role Definition {dbName.roleName}. + :type mongo_role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MongoRoleDefinitionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.MongoRoleDefinitionGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoRoleDefinitionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_mongo_role_definition_request( + mongo_role_definition_id=mongo_role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_mongo_role_definition.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MongoRoleDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_mongo_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + + async def _create_update_mongo_role_definition_initial( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_mongo_role_definition_parameters: "_models.MongoRoleDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.MongoRoleDefinitionGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoRoleDefinitionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_mongo_role_definition_parameters, 'MongoRoleDefinitionCreateUpdateParameters') + + request = build_create_update_mongo_role_definition_request_initial( + mongo_role_definition_id=mongo_role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_update_mongo_role_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MongoRoleDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_update_mongo_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + + @distributed_trace_async + async def begin_create_update_mongo_role_definition( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_mongo_role_definition_parameters: "_models.MongoRoleDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> AsyncLROPoller["_models.MongoRoleDefinitionGetResults"]: + """Creates or updates an Azure Cosmos DB Mongo Role Definition. + + :param mongo_role_definition_id: The ID for the Role Definition {dbName.roleName}. + :type mongo_role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param create_update_mongo_role_definition_parameters: The properties required to create or + update a Role Definition. + :type create_update_mongo_role_definition_parameters: + ~azure.mgmt.cosmosdb.models.MongoRoleDefinitionCreateUpdateParameters + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 MongoRoleDefinitionGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.MongoRoleDefinitionGetResults] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoRoleDefinitionGetResults"] + 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_update_mongo_role_definition_initial( + mongo_role_definition_id=mongo_role_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + create_update_mongo_role_definition_parameters=create_update_mongo_role_definition_parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('MongoRoleDefinitionGetResults', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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_update_mongo_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + async def _delete_mongo_role_definition_initial( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_mongo_role_definition_request_initial( + mongo_role_definition_id=mongo_role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_mongo_role_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_mongo_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + + @distributed_trace_async + async def begin_delete_mongo_role_definition( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB Mongo Role Definition. + + :param mongo_role_definition_id: The ID for the Role Definition {dbName.roleName}. + :type mongo_role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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_mongo_role_definition_initial( + mongo_role_definition_id=mongo_role_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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_mongo_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + @distributed_trace + def list_mongo_role_definitions( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.MongoRoleDefinitionListResult"]: + """Retrieves the list of all Azure Cosmos DB Mongo Role Definitions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MongoRoleDefinitionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MongoRoleDefinitionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoRoleDefinitionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_mongo_role_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_mongo_role_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_mongo_role_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("MongoRoleDefinitionListResult", 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_mongo_role_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions'} # type: ignore + + @distributed_trace_async + async def get_mongo_user_definition( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.MongoUserDefinitionGetResults": + """Retrieves the properties of an existing Azure Cosmos DB Mongo User Definition with the given + Id. + + :param mongo_user_definition_id: The ID for the User Definition {dbName.userName}. + :type mongo_user_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MongoUserDefinitionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.MongoUserDefinitionGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoUserDefinitionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_mongo_user_definition_request( + mongo_user_definition_id=mongo_user_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_mongo_user_definition.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MongoUserDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_mongo_user_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + + async def _create_update_mongo_user_definition_initial( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_mongo_user_definition_parameters: "_models.MongoUserDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.MongoUserDefinitionGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoUserDefinitionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_mongo_user_definition_parameters, 'MongoUserDefinitionCreateUpdateParameters') + + request = build_create_update_mongo_user_definition_request_initial( + mongo_user_definition_id=mongo_user_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_update_mongo_user_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MongoUserDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_update_mongo_user_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + + @distributed_trace_async + async def begin_create_update_mongo_user_definition( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_mongo_user_definition_parameters: "_models.MongoUserDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> AsyncLROPoller["_models.MongoUserDefinitionGetResults"]: + """Creates or updates an Azure Cosmos DB Mongo User Definition. + + :param mongo_user_definition_id: The ID for the User Definition {dbName.userName}. + :type mongo_user_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param create_update_mongo_user_definition_parameters: The properties required to create or + update a User Definition. + :type create_update_mongo_user_definition_parameters: + ~azure.mgmt.cosmosdb.models.MongoUserDefinitionCreateUpdateParameters + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 MongoUserDefinitionGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.MongoUserDefinitionGetResults] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoUserDefinitionGetResults"] + 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_update_mongo_user_definition_initial( + mongo_user_definition_id=mongo_user_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + create_update_mongo_user_definition_parameters=create_update_mongo_user_definition_parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('MongoUserDefinitionGetResults', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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_update_mongo_user_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + async def _delete_mongo_user_definition_initial( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_mongo_user_definition_request_initial( + mongo_user_definition_id=mongo_user_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_mongo_user_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_mongo_user_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + + @distributed_trace_async + async def begin_delete_mongo_user_definition( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Deletes an existing Azure Cosmos DB Mongo User Definition. + + :param mongo_user_definition_id: The ID for the User Definition {dbName.userName}. + :type mongo_user_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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_mongo_user_definition_initial( + mongo_user_definition_id=mongo_user_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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_mongo_user_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + @distributed_trace + def list_mongo_user_definitions( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.MongoUserDefinitionListResult"]: + """Retrieves the list of all Azure Cosmos DB Mongo User Definition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MongoUserDefinitionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.MongoUserDefinitionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoUserDefinitionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_mongo_user_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_mongo_user_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_mongo_user_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("MongoUserDefinitionListResult", 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_mongo_user_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions'} # type: ignore + + async def _retrieve_continuous_backup_information_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> Optional["_models.BackupInformation"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + + request = build_retrieve_continuous_backup_information_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + content_type=content_type, + json=_json, + template_url=self._retrieve_continuous_backup_information_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation'} # type: ignore + + + @distributed_trace_async + async def begin_retrieve_continuous_backup_information( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> AsyncLROPoller["_models.BackupInformation"]: + """Retrieves continuous backup information for a Mongodb collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :param location: The name of the continuous backup restore location. + :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 BackupInformation or the result of + cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] + 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._retrieve_continuous_backup_information_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + location=location, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('BackupInformation', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_notebook_workspaces_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_notebook_workspaces_operations.py index 5488f88866d..c123b64906f 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_notebook_workspaces_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_notebook_workspaces_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._notebook_workspaces_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_by_database_account_request, build_list_connection_info_request, build_regenerate_auth_token_request_initial, build_start_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_by_database_account( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list_by_database_account( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either NotebookWorkspaceListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.NotebookWorkspaceListResult] + :return: An iterator like instance of either NotebookWorkspaceListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.NotebookWorkspaceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspaceListResult"] @@ -65,36 +73,33 @@ def list_by_database_account( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_database_account.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_by_database_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('NotebookWorkspaceListResult', pipeline_response) + deserialized = self._deserialize("NotebookWorkspaceListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -107,17 +112,19 @@ async def get_next(next_link=None): 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -143,34 +150,24 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('NotebookWorkspace', pipeline_response) @@ -179,8 +176,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + async def _create_or_update_initial( self, resource_group_name: str, @@ -194,40 +193,29 @@ async def _create_or_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(notebook_create_update_parameters, 'NotebookWorkspaceCreateUpdateParameters') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(notebook_create_update_parameters, 'NotebookWorkspaceCreateUpdateParameters') - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('NotebookWorkspace', pipeline_response) @@ -235,8 +223,11 @@ async def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + @distributed_trace_async async def begin_create_or_update( self, resource_group_name: str, @@ -255,18 +246,23 @@ async def begin_create_or_update( :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName :param notebook_create_update_parameters: The notebook workspace to create for the current database account. - :type notebook_create_update_parameters: ~azure.mgmt.cosmosdb.models.NotebookWorkspaceCreateUpdateParameters + :type notebook_create_update_parameters: + ~azure.mgmt.cosmosdb.models.NotebookWorkspaceCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 NotebookWorkspace or the result of cls(response) + :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 NotebookWorkspace or the result of + cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.NotebookWorkspace] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] lro_delay = kwargs.pop( 'polling_interval', @@ -279,28 +275,21 @@ async def begin_create_or_update( account_name=account_name, notebook_workspace_name=notebook_workspace_name, notebook_create_update_parameters=notebook_create_update_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('NotebookWorkspace', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -312,6 +301,7 @@ def get_long_running_output(pipeline_response): ) 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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore async def _delete_initial( @@ -326,41 +316,32 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -378,15 +359,17 @@ async def begin_delete( :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -401,22 +384,14 @@ async def begin_delete( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -428,8 +403,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + @distributed_trace_async async def list_connection_info( self, resource_group_name: str, @@ -455,34 +432,24 @@ async def list_connection_info( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_connection_info.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_list_connection_info_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self.list_connection_info.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('NotebookWorkspaceConnectionInfoResult', pipeline_response) @@ -491,8 +458,10 @@ async def list_connection_info( return cls(pipeline_response, deserialized, {}) return deserialized + list_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo'} # type: ignore + async def _regenerate_auth_token_initial( self, resource_group_name: str, @@ -505,41 +474,32 @@ async def _regenerate_auth_token_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._regenerate_auth_token_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_regenerate_auth_token_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self._regenerate_auth_token_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _regenerate_auth_token_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} # type: ignore + + @distributed_trace_async async def begin_regenerate_auth_token( self, resource_group_name: str, @@ -557,15 +517,17 @@ async def begin_regenerate_auth_token( :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -580,22 +542,14 @@ async def begin_regenerate_auth_token( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -607,6 +561,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_regenerate_auth_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} # type: ignore async def _start_initial( @@ -621,41 +576,32 @@ async def _start_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_start_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self._start_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} # type: ignore + + @distributed_trace_async async def begin_start( self, resource_group_name: str, @@ -673,15 +619,17 @@ async def begin_start( :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -696,22 +644,14 @@ async def begin_start( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -723,4 +663,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_operations.py index bfeb2f139a3..5c0f0a2a4ba 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -49,7 +55,8 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.OperationListResult] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.OperationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] @@ -57,30 +64,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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 = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('OperationListResult', pipeline_response) + deserialized = self._deserialize("OperationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -98,6 +102,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_operations.py index af7028cef78..cd92d9e3d63 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._partition_key_range_id_operations import build_list_metrics_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -68,8 +74,10 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :return: An iterator like instance of either PartitionMetricListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] @@ -77,40 +85,41 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), - 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + partition_key_range_id=partition_key_range_id, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + partition_key_range_id=partition_key_range_id, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionMetricListResult', pipeline_response) + deserialized = self._deserialize("PartitionMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -128,6 +137,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_region_operations.py index 1b0d6bcfcdc..aa7a6a2ae40 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_partition_key_range_id_region_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._partition_key_range_id_region_operations import build_list_metrics_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -72,8 +78,10 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] + :return: An iterator like instance of either PartitionMetricListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PartitionMetricListResult"] @@ -81,41 +89,43 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, 'str'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), - 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + partition_key_range_id=partition_key_range_id, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + partition_key_range_id=partition_key_range_id, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionMetricListResult', pipeline_response) + deserialized = self._deserialize("PartitionMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -133,6 +143,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_operations.py index 2507cadc3b2..2fb502ac054 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._percentile_operations import build_list_metrics_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -60,8 +66,10 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :return: An iterator like instance of either PercentileMetricListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] @@ -69,37 +77,35 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PercentileMetricListResult', pipeline_response) + deserialized = self._deserialize("PercentileMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,6 +123,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_source_target_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_source_target_operations.py index c7befa09b34..d88922fbe9a 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_source_target_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_source_target_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._percentile_source_target_operations import build_list_metrics_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -68,8 +74,10 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :return: An iterator like instance of either PercentileMetricListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] @@ -77,39 +85,39 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'sourceRegion': self._serialize.url("source_region", source_region, 'str'), - 'targetRegion': self._serialize.url("target_region", target_region, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + source_region=source_region, + target_region=target_region, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + source_region=source_region, + target_region=target_region, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PercentileMetricListResult', pipeline_response) + deserialized = self._deserialize("PercentileMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -127,6 +135,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_target_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_target_operations.py index 58c388ca36e..8c5d0ca6beb 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_target_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_percentile_target_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._percentile_target_operations import build_list_metrics_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, resource_group_name: str, @@ -64,8 +70,10 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] + :return: An iterator like instance of either PercentileMetricListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PercentileMetricListResult"] @@ -73,38 +81,37 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'targetRegion': self._serialize.url("target_region", target_region, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + target_region=target_region, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + target_region=target_region, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PercentileMetricListResult', pipeline_response) + deserialized = self._deserialize("PercentileMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -122,6 +129,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_endpoint_connections_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_endpoint_connections_operations.py index 62954af56d4..ffecdd4a859 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_endpoint_connections_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_endpoint_connections_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._private_endpoint_connections_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_by_database_account_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_by_database_account( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list_by_database_account( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PrivateEndpointConnectionListResult] + :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PrivateEndpointConnectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] @@ -65,36 +73,33 @@ def list_by_database_account( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_database_account.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_by_database_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PrivateEndpointConnectionListResult', pipeline_response) + deserialized = self._deserialize("PrivateEndpointConnectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +117,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -142,28 +149,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -177,8 +174,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + async def _create_or_update_initial( self, resource_group_name: str, @@ -192,40 +191,29 @@ async def _create_or_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'PrivateEndpointConnection') - # 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') + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') - 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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: @@ -235,8 +223,11 @@ async def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + @distributed_trace_async async def begin_create_or_update( self, resource_group_name: str, @@ -257,15 +248,20 @@ async def begin_create_or_update( :type parameters: ~azure.mgmt.cosmosdb.models.PrivateEndpointConnection :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 PrivateEndpointConnection or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] - :raises ~azure.core.exceptions.HttpResponseError: + :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 PrivateEndpointConnection or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] lro_delay = kwargs.pop( 'polling_interval', @@ -278,28 +274,21 @@ async def begin_create_or_update( account_name=account_name, private_endpoint_connection_name=private_endpoint_connection_name, parameters=parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('PrivateEndpointConnection', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -311,6 +300,7 @@ def get_long_running_output(pipeline_response): ) 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.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore async def _delete_initial( @@ -325,41 +315,32 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -377,15 +358,17 @@ async def begin_delete( :type private_endpoint_connection_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -400,22 +383,14 @@ async def begin_delete( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -427,4 +402,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_link_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_link_resources_operations.py index 816102320c2..9617454ef4e 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_link_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_private_link_resources_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._private_link_resources_operations import build_get_request, build_list_by_database_account_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_by_database_account( self, resource_group_name: str, @@ -54,8 +60,10 @@ def list_by_database_account( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PrivateLinkResourceListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PrivateLinkResourceListResult] + :return: An iterator like instance of either PrivateLinkResourceListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.PrivateLinkResourceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourceListResult"] @@ -63,36 +71,33 @@ def list_by_database_account( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_database_account.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_by_database_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PrivateLinkResourceListResult', pipeline_response) + deserialized = self._deserialize("PrivateLinkResourceListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -110,11 +115,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -140,28 +147,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'groupName': self._serialize.url("group_name", 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') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + group_name=group_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -175,4 +172,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}'} # type: ignore + diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_database_accounts_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_database_accounts_operations.py index fde3489c5f5..b7af1e5dd8f 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_database_accounts_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_database_accounts_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._restorable_database_accounts_operations import build_get_by_location_request, build_list_by_location_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_by_location( self, location: str, @@ -53,8 +59,10 @@ def list_by_location( :param location: Cosmos DB region, with spaces between words and each word capitalized. :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 RestorableDatabaseAccountsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] + :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountsListResult"] @@ -62,35 +70,31 @@ def list_by_location( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_location.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) + + request = build_list_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list_by_location.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableDatabaseAccountsListResult', pipeline_response) + deserialized = self._deserialize("RestorableDatabaseAccountsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -108,11 +112,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts'} # type: ignore + @distributed_trace def list( self, **kwargs: Any @@ -121,8 +127,10 @@ def list( This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] + :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountsListResult"] @@ -130,34 +138,29 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - } - url = self._client.format_url(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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableDatabaseAccountsListResult', pipeline_response) + deserialized = self._deserialize("RestorableDatabaseAccountsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -175,11 +178,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts'} # type: ignore + @distributed_trace_async async def get_by_location( self, location: str, @@ -203,27 +208,17 @@ async def get_by_location( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_by_location.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'), - 'instanceId': self._serialize.url("instance_id", instance_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 = build_get_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=self.get_by_location.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -237,4 +232,6 @@ async def get_by_location( return cls(pipeline_response, deserialized, {}) return deserialized + get_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}'} # type: ignore + diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_databases_operations.py new file mode 100644 index 00000000000..4e80569ebc8 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_databases_operations.py @@ -0,0 +1,125 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._restorable_gremlin_databases_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableGremlinDatabasesOperations: + """RestorableGremlinDatabasesOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + **kwargs: Any + ) -> AsyncIterable["_models.RestorableGremlinDatabasesListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB Gremlin databases under + the restorable account. This helps in scenario where database was accidentally deleted to get + the deletion time. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableGremlinDatabasesListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableGremlinDatabasesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableGremlinDatabasesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableGremlinDatabasesListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinDatabases'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_graphs_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_graphs_operations.py new file mode 100644 index 00000000000..0e4229f708d --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_graphs_operations.py @@ -0,0 +1,139 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._restorable_gremlin_graphs_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableGremlinGraphsOperations: + """RestorableGremlinGraphsOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + restorable_gremlin_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterable["_models.RestorableGremlinGraphsListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB Gremlin graphs under a + specific database. This helps in scenario where container was accidentally deleted. This API + requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restorable_gremlin_database_rid: The resource ID of the Gremlin database. + :type restorable_gremlin_database_rid: str + :param start_time: Restorable Gremlin graphs event feed start time. + :type start_time: str + :param end_time: Restorable Gremlin graphs event feed end time. + :type end_time: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableGremlinGraphsListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableGremlinGraphsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableGremlinGraphsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_gremlin_database_rid=restorable_gremlin_database_rid, + start_time=start_time, + end_time=end_time, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_gremlin_database_rid=restorable_gremlin_database_rid, + start_time=start_time, + end_time=end_time, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableGremlinGraphsListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGraphs'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_resources_operations.py new file mode 100644 index 00000000000..8d4b53f87b8 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_gremlin_resources_operations.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._restorable_gremlin_resources_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableGremlinResourcesOperations: + """RestorableGremlinResourcesOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterable["_models.RestorableGremlinResourcesListResult"]: + """Return a list of gremlin database and graphs combo that exist on the account at the given + timestamp and location. This helps in scenarios to validate what resources exist at given + timestamp and location. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restore_location: The location where the restorable resources are located. + :type restore_location: str + :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. + :type restore_timestamp_in_utc: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableGremlinResourcesListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableGremlinResourcesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableGremlinResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableGremlinResourcesListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinResources'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_collections_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_collections_operations.py index 6a33eadd6b0..1146fa7449d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_collections_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_collections_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._restorable_mongodb_collections_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,11 +46,14 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, instance_id: str, restorable_mongodb_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, **kwargs: Any ) -> AsyncIterable["_models.RestorableMongodbCollectionsListResult"]: """Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under @@ -58,9 +66,15 @@ def list( :type instance_id: str :param restorable_mongodb_database_rid: The resource ID of the MongoDB database. :type restorable_mongodb_database_rid: str + :param start_time: Restorable MongoDB collections event feed start time. + :type start_time: str + :param end_time: Restorable MongoDB collections event feed end time. + :type end_time: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableMongodbCollectionsListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionsListResult] + :return: An iterator like instance of either RestorableMongodbCollectionsListResult or the + result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbCollectionsListResult"] @@ -68,38 +82,39 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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 restorable_mongodb_database_rid is not None: - query_parameters['restorableMongodbDatabaseRid'] = self._serialize.query("restorable_mongodb_database_rid", restorable_mongodb_database_rid, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_mongodb_database_rid=restorable_mongodb_database_rid, + start_time=start_time, + end_time=end_time, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_mongodb_database_rid=restorable_mongodb_database_rid, + start_time=start_time, + end_time=end_time, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableMongodbCollectionsListResult', pipeline_response) + deserialized = self._deserialize("RestorableMongodbCollectionsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,6 +132,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_databases_operations.py index 7ae4d775bcd..d8140473df8 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_databases_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_databases_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._restorable_mongodb_databases_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -57,8 +63,10 @@ def list( :param instance_id: The instanceId GUID of a restorable database account. :type instance_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableMongodbDatabasesListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasesListResult] + :return: An iterator like instance of either RestorableMongodbDatabasesListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbDatabasesListResult"] @@ -66,36 +74,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableMongodbDatabasesListResult', pipeline_response) + deserialized = self._deserialize("RestorableMongodbDatabasesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -113,6 +118,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_resources_operations.py index 7d252b39ff8..b0d5c7c4af4 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_mongodb_resources_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._restorable_mongodb_resources_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -63,8 +69,10 @@ def list( :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. :type restore_timestamp_in_utc: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableMongodbResourcesListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbResourcesListResult] + :return: An iterator like instance of either RestorableMongodbResourcesListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbResourcesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbResourcesListResult"] @@ -72,40 +80,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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 restore_location is not None: - query_parameters['restoreLocation'] = self._serialize.query("restore_location", restore_location, 'str') - if restore_timestamp_in_utc is not None: - query_parameters['restoreTimestampInUtc'] = self._serialize.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableMongodbResourcesListResult', pipeline_response) + deserialized = self._deserialize("RestorableMongodbResourcesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -123,6 +128,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_containers_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_containers_operations.py index 6a7094a952e..7d0222b1e04 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_containers_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_containers_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._restorable_sql_containers_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -60,13 +66,15 @@ def list( :type instance_id: str :param restorable_sql_database_rid: The resource ID of the SQL database. :type restorable_sql_database_rid: str - :param start_time: The snapshot create timestamp after which snapshots need to be listed. + :param start_time: Restorable Sql containers event feed start time. :type start_time: str - :param end_time: The snapshot create timestamp before which snapshots need to be listed. + :param end_time: Restorable Sql containers event feed end time. :type end_time: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableSqlContainersListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlContainersListResult] + :return: An iterator like instance of either RestorableSqlContainersListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlContainersListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlContainersListResult"] @@ -74,42 +82,39 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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 restorable_sql_database_rid is not None: - query_parameters['restorableSqlDatabaseRid'] = self._serialize.query("restorable_sql_database_rid", restorable_sql_database_rid, 'str') - if start_time is not None: - query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'str') - if end_time is not None: - query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_sql_database_rid=restorable_sql_database_rid, + start_time=start_time, + end_time=end_time, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_sql_database_rid=restorable_sql_database_rid, + start_time=start_time, + end_time=end_time, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableSqlContainersListResult', pipeline_response) + deserialized = self._deserialize("RestorableSqlContainersListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -127,6 +132,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_databases_operations.py index d38d7ac721c..7929c58d814 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_databases_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_databases_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._restorable_sql_databases_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -57,8 +63,10 @@ def list( :param instance_id: The instanceId GUID of a restorable database account. :type instance_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableSqlDatabasesListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlDatabasesListResult] + :return: An iterator like instance of either RestorableSqlDatabasesListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlDatabasesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlDatabasesListResult"] @@ -66,36 +74,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableSqlDatabasesListResult', pipeline_response) + deserialized = self._deserialize("RestorableSqlDatabasesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -113,6 +118,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_resources_operations.py index 437c5c96c68..86755646c35 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_sql_resources_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._restorable_sql_resources_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, location: str, @@ -63,8 +69,10 @@ def list( :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. :type restore_timestamp_in_utc: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableSqlResourcesListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlResourcesListResult] + :return: An iterator like instance of either RestorableSqlResourcesListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlResourcesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlResourcesListResult"] @@ -72,40 +80,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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 restore_location is not None: - query_parameters['restoreLocation'] = self._serialize.query("restore_location", restore_location, 'str') - if restore_timestamp_in_utc is not None: - query_parameters['restoreTimestampInUtc'] = self._serialize.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableSqlResourcesListResult', pipeline_response) + deserialized = self._deserialize("RestorableSqlResourcesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -123,6 +128,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_table_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_table_resources_operations.py new file mode 100644 index 00000000000..72d88980aab --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_table_resources_operations.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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._restorable_table_resources_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableTableResourcesOperations: + """RestorableTableResourcesOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterable["_models.RestorableTableResourcesListResult"]: + """Return a list of tables that exist on the account at the given timestamp and location. This + helps in scenarios to validate what resources exist at given timestamp and location. This API + requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restore_location: The location where the restorable resources are located. + :type restore_location: str + :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. + :type restore_timestamp_in_utc: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableTableResourcesListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableTableResourcesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableTableResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableTableResourcesListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTableResources'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_tables_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_tables_operations.py new file mode 100644 index 00000000000..4c03287059b --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_restorable_tables_operations.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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._restorable_tables_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class RestorableTablesOperations: + """RestorableTablesOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterable["_models.RestorableTablesListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB Tables. This helps in + scenario where table was accidentally deleted. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param start_time: Restorable Tables event feed start time. + :type start_time: str + :param end_time: Restorable Tables event feed end time. + :type end_time: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableTablesListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.RestorableTablesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableTablesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + start_time=start_time, + end_time=end_time, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + start_time=start_time, + end_time=end_time, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableTablesListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTables'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_service_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_service_operations.py index d046ec679f4..8b9e655de39 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_service_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_service_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._service_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ServiceResourceListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ServiceResourceListResult] + :return: An iterator like instance of either ServiceResourceListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ServiceResourceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResourceListResult"] @@ -65,36 +73,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ServiceResourceListResult', pipeline_response) + deserialized = self._deserialize("ServiceResourceListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,6 +117,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) @@ -130,33 +136,23 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_parameters, 'ServiceResourceCreateUpdateParameters') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_parameters, 'ServiceResourceCreateUpdateParameters') - 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 @@ -172,8 +168,11 @@ async def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + @distributed_trace_async async def begin_create( self, resource_group_name: str, @@ -191,18 +190,23 @@ async def begin_create( :param service_name: Cosmos DB service name. :type service_name: str :param create_update_parameters: The Service resource parameters. - :type create_update_parameters: ~azure.mgmt.cosmosdb.models.ServiceResourceCreateUpdateParameters + :type create_update_parameters: + ~azure.mgmt.cosmosdb.models.ServiceResourceCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ServiceResource or the result of cls(response) + :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 ServiceResource or the result of + cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ServiceResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -215,28 +219,21 @@ async def begin_create( account_name=account_name, service_name=service_name, create_update_parameters=create_update_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ServiceResource', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -248,8 +245,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -275,28 +274,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - url = self._client.format_url(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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -310,8 +299,10 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + async def _delete_initial( self, resource_group_name: str, @@ -324,28 +315,18 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - url = self._client.format_url(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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -358,6 +339,8 @@ async def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + @distributed_trace_async async def begin_delete( self, resource_group_name: str, @@ -375,15 +358,17 @@ async def begin_delete( :type service_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -398,22 +383,14 @@ async def begin_delete( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -425,4 +402,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_sql_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_sql_resources_operations.py index aa7430cf409..7feb41389d4 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_sql_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_sql_resources_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._sql_resources_operations import build_create_update_client_encryption_key_request_initial, build_create_update_sql_container_request_initial, build_create_update_sql_database_request_initial, build_create_update_sql_role_assignment_request_initial, build_create_update_sql_role_definition_request_initial, build_create_update_sql_stored_procedure_request_initial, build_create_update_sql_trigger_request_initial, build_create_update_sql_user_defined_function_request_initial, build_delete_sql_container_request_initial, build_delete_sql_database_request_initial, build_delete_sql_role_assignment_request_initial, build_delete_sql_role_definition_request_initial, build_delete_sql_stored_procedure_request_initial, build_delete_sql_trigger_request_initial, build_delete_sql_user_defined_function_request_initial, build_get_client_encryption_key_request, build_get_sql_container_request, build_get_sql_container_throughput_request, build_get_sql_database_request, build_get_sql_database_throughput_request, build_get_sql_role_assignment_request, build_get_sql_role_definition_request, build_get_sql_stored_procedure_request, build_get_sql_trigger_request, build_get_sql_user_defined_function_request, build_list_client_encryption_keys_request, build_list_sql_containers_request, build_list_sql_databases_request, build_list_sql_role_assignments_request, build_list_sql_role_definitions_request, build_list_sql_stored_procedures_request, build_list_sql_triggers_request, build_list_sql_user_defined_functions_request, build_migrate_sql_container_to_autoscale_request_initial, build_migrate_sql_container_to_manual_throughput_request_initial, build_migrate_sql_database_to_autoscale_request_initial, build_migrate_sql_database_to_manual_throughput_request_initial, build_retrieve_continuous_backup_information_request_initial, build_update_sql_container_throughput_request_initial, build_update_sql_database_throughput_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_sql_databases( self, resource_group_name: str, @@ -56,8 +62,10 @@ def list_sql_databases( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlDatabaseListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlDatabaseListResult] + :return: An iterator like instance of either SqlDatabaseListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlDatabaseListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseListResult"] @@ -65,36 +73,33 @@ def list_sql_databases( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_databases.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_sql_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_sql_databases.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SqlDatabaseListResult', pipeline_response) + deserialized = self._deserialize("SqlDatabaseListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +117,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_sql_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases'} # type: ignore + @distributed_trace_async async def get_sql_database( self, resource_group_name: str, @@ -143,28 +150,18 @@ async def get_sql_database( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_database.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_sql_database_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_sql_database.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -178,8 +175,10 @@ async def get_sql_database( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + async def _create_update_sql_database_initial( self, resource_group_name: str, @@ -193,33 +192,23 @@ async def _create_update_sql_database_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_database_parameters, 'SqlDatabaseCreateUpdateParameters') + + request = build_create_update_sql_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_database_parameters, 'SqlDatabaseCreateUpdateParameters') - 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 @@ -235,8 +224,11 @@ async def _create_update_sql_database_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_sql_database( self, resource_group_name: str, @@ -255,18 +247,23 @@ async def begin_create_update_sql_database( :type database_name: str :param create_update_sql_database_parameters: The parameters to provide for the current SQL database. - :type create_update_sql_database_parameters: ~azure.mgmt.cosmosdb.models.SqlDatabaseCreateUpdateParameters + :type create_update_sql_database_parameters: + ~azure.mgmt.cosmosdb.models.SqlDatabaseCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 SqlDatabaseGetResults or the result of cls(response) + :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 SqlDatabaseGetResults or the result + of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -279,28 +276,21 @@ async def begin_create_update_sql_database( account_name=account_name, database_name=database_name, create_update_sql_database_parameters=create_update_sql_database_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlDatabaseGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -312,6 +302,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore async def _delete_sql_database_initial( @@ -326,26 +317,18 @@ async def _delete_sql_database_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_sql_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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] + + request = build_delete_sql_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._delete_sql_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -358,6 +341,8 @@ async def _delete_sql_database_initial( _delete_sql_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + @distributed_trace_async async def begin_delete_sql_database( self, resource_group_name: str, @@ -375,15 +360,17 @@ async def begin_delete_sql_database( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -398,22 +385,14 @@ async def begin_delete_sql_database( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -425,8 +404,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + @distributed_trace_async async def get_sql_database_throughput( self, resource_group_name: str, @@ -453,28 +434,18 @@ async def get_sql_database_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_database_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_sql_database_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_sql_database_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -488,8 +459,10 @@ async def get_sql_database_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore + async def _update_sql_database_throughput_initial( self, resource_group_name: str, @@ -503,33 +476,23 @@ async def _update_sql_database_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_sql_database_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_sql_database_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._update_sql_database_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -545,8 +508,11 @@ async def _update_sql_database_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_sql_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_sql_database_throughput( self, resource_group_name: str, @@ -565,18 +531,24 @@ async def begin_update_sql_database_throughput( :type database_name: str :param update_throughput_parameters: The parameters to provide for the RUs per second of the current SQL database. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -589,28 +561,21 @@ async def begin_update_sql_database_throughput( account_name=account_name, database_name=database_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -622,6 +587,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore async def _migrate_sql_database_to_autoscale_initial( @@ -636,28 +602,18 @@ async def _migrate_sql_database_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_sql_database_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_sql_database_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_sql_database_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -673,8 +629,11 @@ async def _migrate_sql_database_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_sql_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_sql_database_to_autoscale( self, resource_group_name: str, @@ -692,15 +651,19 @@ async def begin_migrate_sql_database_to_autoscale( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -715,25 +678,17 @@ async def begin_migrate_sql_database_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -745,6 +700,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_sql_database_to_manual_throughput_initial( @@ -759,28 +715,18 @@ async def _migrate_sql_database_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_sql_database_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_sql_database_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_sql_database_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -796,8 +742,11 @@ async def _migrate_sql_database_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_sql_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_sql_database_to_manual_throughput( self, resource_group_name: str, @@ -815,15 +764,19 @@ async def begin_migrate_sql_database_to_manual_throughput( :type database_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -838,25 +791,17 @@ async def begin_migrate_sql_database_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -868,8 +813,283 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace + def list_client_encryption_keys( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ClientEncryptionKeysListResult"]: + """Lists the ClientEncryptionKeys under an existing Azure Cosmos DB SQL database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ClientEncryptionKeysListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.ClientEncryptionKeysListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClientEncryptionKeysListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_client_encryption_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.list_client_encryption_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_client_encryption_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ClientEncryptionKeysListResult", 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_client_encryption_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys'} # type: ignore + + @distributed_trace_async + async def get_client_encryption_key( + self, + resource_group_name: str, + account_name: str, + database_name: str, + client_encryption_key_name: str, + **kwargs: Any + ) -> "_models.ClientEncryptionKeyGetResults": + """Gets the ClientEncryptionKey under an existing Azure Cosmos DB SQL database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param client_encryption_key_name: Cosmos DB ClientEncryptionKey name. + :type client_encryption_key_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClientEncryptionKeyGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ClientEncryptionKeyGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClientEncryptionKeyGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_client_encryption_key_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + client_encryption_key_name=client_encryption_key_name, + template_url=self.get_client_encryption_key.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ClientEncryptionKeyGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_client_encryption_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}'} # type: ignore + + + async def _create_update_client_encryption_key_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + client_encryption_key_name: str, + create_update_client_encryption_key_parameters: "_models.ClientEncryptionKeyCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ClientEncryptionKeyGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ClientEncryptionKeyGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_client_encryption_key_parameters, 'ClientEncryptionKeyCreateUpdateParameters') + + request = build_create_update_client_encryption_key_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + client_encryption_key_name=client_encryption_key_name, + content_type=content_type, + json=_json, + template_url=self._create_update_client_encryption_key_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ClientEncryptionKeyGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_update_client_encryption_key_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}'} # type: ignore + + + @distributed_trace_async + async def begin_create_update_client_encryption_key( + self, + resource_group_name: str, + account_name: str, + database_name: str, + client_encryption_key_name: str, + create_update_client_encryption_key_parameters: "_models.ClientEncryptionKeyCreateUpdateParameters", + **kwargs: Any + ) -> AsyncLROPoller["_models.ClientEncryptionKeyGetResults"]: + """Create or update a ClientEncryptionKey. This API is meant to be invoked via tools such as the + Azure Powershell (instead of directly). + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param client_encryption_key_name: Cosmos DB ClientEncryptionKey name. + :type client_encryption_key_name: str + :param create_update_client_encryption_key_parameters: The parameters to provide for the client + encryption key. + :type create_update_client_encryption_key_parameters: + ~azure.mgmt.cosmosdb.models.ClientEncryptionKeyCreateUpdateParameters + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ClientEncryptionKeyGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ClientEncryptionKeyGetResults] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClientEncryptionKeyGetResults"] + 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_update_client_encryption_key_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + client_encryption_key_name=client_encryption_key_name, + create_update_client_encryption_key_parameters=create_update_client_encryption_key_parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('ClientEncryptionKeyGetResults', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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_update_client_encryption_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}'} # type: ignore + + @distributed_trace def list_sql_containers( self, resource_group_name: str, @@ -886,8 +1106,10 @@ def list_sql_containers( :param database_name: Cosmos DB database name. :type database_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlContainerListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlContainerListResult] + :return: An iterator like instance of either SqlContainerListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlContainerListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerListResult"] @@ -895,37 +1117,35 @@ def list_sql_containers( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_containers.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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) + + request = build_list_sql_containers_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.list_sql_containers.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_containers_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SqlContainerListResult', pipeline_response) + deserialized = self._deserialize("SqlContainerListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -943,11 +1163,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_sql_containers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers'} # type: ignore + @distributed_trace_async async def get_sql_container( self, resource_group_name: str, @@ -976,29 +1198,19 @@ async def get_sql_container( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_container.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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 = build_get_sql_container_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.get_sql_container.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1012,8 +1224,10 @@ async def get_sql_container( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + async def _create_update_sql_container_initial( self, resource_group_name: str, @@ -1028,34 +1242,24 @@ async def _create_update_sql_container_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_container_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_container_parameters, 'SqlContainerCreateUpdateParameters') + + request = build_create_update_sql_container_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_container_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_container_parameters, 'SqlContainerCreateUpdateParameters') - 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 @@ -1071,8 +1275,11 @@ async def _create_update_sql_container_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_container_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_sql_container( self, resource_group_name: str, @@ -1094,18 +1301,23 @@ async def begin_create_update_sql_container( :type container_name: str :param create_update_sql_container_parameters: The parameters to provide for the current SQL container. - :type create_update_sql_container_parameters: ~azure.mgmt.cosmosdb.models.SqlContainerCreateUpdateParameters + :type create_update_sql_container_parameters: + ~azure.mgmt.cosmosdb.models.SqlContainerCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 SqlContainerGetResults or the result of cls(response) + :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 SqlContainerGetResults or the result + of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1119,29 +1331,21 @@ async def begin_create_update_sql_container( database_name=database_name, container_name=container_name, create_update_sql_container_parameters=create_update_sql_container_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlContainerGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1153,6 +1357,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore async def _delete_sql_container_initial( @@ -1168,27 +1373,19 @@ async def _delete_sql_container_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_sql_container_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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] + + request = build_delete_sql_container_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self._delete_sql_container_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1201,6 +1398,8 @@ async def _delete_sql_container_initial( _delete_sql_container_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + @distributed_trace_async async def begin_delete_sql_container( self, resource_group_name: str, @@ -1221,15 +1420,17 @@ async def begin_delete_sql_container( :type container_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1245,23 +1446,14 @@ async def begin_delete_sql_container( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1273,8 +1465,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + @distributed_trace_async async def get_sql_container_throughput( self, resource_group_name: str, @@ -1304,29 +1498,19 @@ async def get_sql_container_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_container_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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 = build_get_sql_container_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.get_sql_container_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1340,8 +1524,10 @@ async def get_sql_container_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore + async def _update_sql_container_throughput_initial( self, resource_group_name: str, @@ -1356,34 +1542,24 @@ async def _update_sql_container_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_sql_container_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_sql_container_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + content_type=content_type, + json=_json, + template_url=self._update_sql_container_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -1399,8 +1575,11 @@ async def _update_sql_container_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_sql_container_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_sql_container_throughput( self, resource_group_name: str, @@ -1422,18 +1601,24 @@ async def begin_update_sql_container_throughput( :type container_name: str :param update_throughput_parameters: The parameters to provide for the RUs per second of the current SQL container. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1447,29 +1632,21 @@ async def begin_update_sql_container_throughput( database_name=database_name, container_name=container_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1481,6 +1658,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore async def _migrate_sql_container_to_autoscale_initial( @@ -1496,29 +1674,19 @@ async def _migrate_sql_container_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_sql_container_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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 = build_migrate_sql_container_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self._migrate_sql_container_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1534,8 +1702,11 @@ async def _migrate_sql_container_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_sql_container_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_sql_container_to_autoscale( self, resource_group_name: str, @@ -1556,15 +1727,19 @@ async def begin_migrate_sql_container_to_autoscale( :type container_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1580,26 +1755,17 @@ async def begin_migrate_sql_container_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1611,6 +1777,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_container_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_sql_container_to_manual_throughput_initial( @@ -1626,29 +1793,19 @@ async def _migrate_sql_container_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_sql_container_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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 = build_migrate_sql_container_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self._migrate_sql_container_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1664,8 +1821,11 @@ async def _migrate_sql_container_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_sql_container_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_sql_container_to_manual_throughput( self, resource_group_name: str, @@ -1686,15 +1846,19 @@ async def begin_migrate_sql_container_to_manual_throughput( :type container_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1710,26 +1874,17 @@ async def begin_migrate_sql_container_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1741,8 +1896,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_container_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_sql_stored_procedures( self, resource_group_name: str, @@ -1762,8 +1919,10 @@ def list_sql_stored_procedures( :param container_name: Cosmos DB container name. :type container_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlStoredProcedureListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlStoredProcedureListResult] + :return: An iterator like instance of either SqlStoredProcedureListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlStoredProcedureListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureListResult"] @@ -1771,38 +1930,37 @@ def list_sql_stored_procedures( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_stored_procedures.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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) + + request = build_list_sql_stored_procedures_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.list_sql_stored_procedures.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_stored_procedures_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SqlStoredProcedureListResult', pipeline_response) + deserialized = self._deserialize("SqlStoredProcedureListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1820,11 +1978,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_sql_stored_procedures.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures'} # type: ignore + @distributed_trace_async async def get_sql_stored_procedure( self, resource_group_name: str, @@ -1856,30 +2016,20 @@ async def get_sql_stored_procedure( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_stored_procedure.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_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 = build_get_sql_stored_procedure_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + template_url=self.get_sql_stored_procedure.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1893,8 +2043,10 @@ async def get_sql_stored_procedure( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + async def _create_update_sql_stored_procedure_initial( self, resource_group_name: str, @@ -1910,35 +2062,25 @@ async def _create_update_sql_stored_procedure_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_stored_procedure_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_sql_stored_procedure_parameters, 'SqlStoredProcedureCreateUpdateParameters') - # 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') + request = build_create_update_sql_stored_procedure_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_stored_procedure_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_stored_procedure_parameters, 'SqlStoredProcedureCreateUpdateParameters') - 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 @@ -1954,8 +2096,11 @@ async def _create_update_sql_stored_procedure_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_stored_procedure_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_sql_stored_procedure( self, resource_group_name: str, @@ -1980,18 +2125,24 @@ async def begin_create_update_sql_stored_procedure( :type stored_procedure_name: str :param create_update_sql_stored_procedure_parameters: The parameters to provide for the current SQL storedProcedure. - :type create_update_sql_stored_procedure_parameters: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureCreateUpdateParameters + :type create_update_sql_stored_procedure_parameters: + ~azure.mgmt.cosmosdb.models.SqlStoredProcedureCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 SqlStoredProcedureGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 SqlStoredProcedureGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2006,30 +2157,21 @@ async def begin_create_update_sql_stored_procedure( container_name=container_name, stored_procedure_name=stored_procedure_name, create_update_sql_stored_procedure_parameters=create_update_sql_stored_procedure_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlStoredProcedureGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2041,6 +2183,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore async def _delete_sql_stored_procedure_initial( @@ -2057,28 +2200,20 @@ async def _delete_sql_stored_procedure_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_sql_stored_procedure_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_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] + + request = build_delete_sql_stored_procedure_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + template_url=self._delete_sql_stored_procedure_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2091,6 +2226,8 @@ async def _delete_sql_stored_procedure_initial( _delete_sql_stored_procedure_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + @distributed_trace_async async def begin_delete_sql_stored_procedure( self, resource_group_name: str, @@ -2114,15 +2251,17 @@ async def begin_delete_sql_stored_procedure( :type stored_procedure_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -2139,24 +2278,14 @@ async def begin_delete_sql_stored_procedure( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2168,8 +2297,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + @distributed_trace def list_sql_user_defined_functions( self, resource_group_name: str, @@ -2189,8 +2320,10 @@ def list_sql_user_defined_functions( :param container_name: Cosmos DB container name. :type container_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlUserDefinedFunctionListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionListResult] + :return: An iterator like instance of either SqlUserDefinedFunctionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionListResult"] @@ -2198,38 +2331,37 @@ def list_sql_user_defined_functions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_user_defined_functions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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) + + request = build_list_sql_user_defined_functions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.list_sql_user_defined_functions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_user_defined_functions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SqlUserDefinedFunctionListResult', pipeline_response) + deserialized = self._deserialize("SqlUserDefinedFunctionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -2247,11 +2379,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_sql_user_defined_functions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions'} # type: ignore + @distributed_trace_async async def get_sql_user_defined_function( self, resource_group_name: str, @@ -2283,30 +2417,20 @@ async def get_sql_user_defined_function( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_user_defined_function.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_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 = build_get_sql_user_defined_function_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + template_url=self.get_sql_user_defined_function.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2320,8 +2444,10 @@ async def get_sql_user_defined_function( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + async def _create_update_sql_user_defined_function_initial( self, resource_group_name: str, @@ -2337,35 +2463,25 @@ async def _create_update_sql_user_defined_function_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_user_defined_function_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_user_defined_function_parameters, 'SqlUserDefinedFunctionCreateUpdateParameters') + + request = build_create_update_sql_user_defined_function_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_user_defined_function_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_user_defined_function_parameters, 'SqlUserDefinedFunctionCreateUpdateParameters') - 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 @@ -2381,8 +2497,11 @@ async def _create_update_sql_user_defined_function_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_user_defined_function_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_sql_user_defined_function( self, resource_group_name: str, @@ -2407,18 +2526,24 @@ async def begin_create_update_sql_user_defined_function( :type user_defined_function_name: str :param create_update_sql_user_defined_function_parameters: The parameters to provide for the current SQL userDefinedFunction. - :type create_update_sql_user_defined_function_parameters: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionCreateUpdateParameters + :type create_update_sql_user_defined_function_parameters: + ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 SqlUserDefinedFunctionGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 SqlUserDefinedFunctionGetResults or + the result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2433,30 +2558,21 @@ async def begin_create_update_sql_user_defined_function( container_name=container_name, user_defined_function_name=user_defined_function_name, create_update_sql_user_defined_function_parameters=create_update_sql_user_defined_function_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlUserDefinedFunctionGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2468,6 +2584,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore async def _delete_sql_user_defined_function_initial( @@ -2484,28 +2601,20 @@ async def _delete_sql_user_defined_function_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_sql_user_defined_function_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_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] + + request = build_delete_sql_user_defined_function_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + template_url=self._delete_sql_user_defined_function_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2518,6 +2627,8 @@ async def _delete_sql_user_defined_function_initial( _delete_sql_user_defined_function_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + @distributed_trace_async async def begin_delete_sql_user_defined_function( self, resource_group_name: str, @@ -2541,15 +2652,17 @@ async def begin_delete_sql_user_defined_function( :type user_defined_function_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -2566,24 +2679,14 @@ async def begin_delete_sql_user_defined_function( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2595,8 +2698,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + @distributed_trace def list_sql_triggers( self, resource_group_name: str, @@ -2616,8 +2721,10 @@ def list_sql_triggers( :param container_name: Cosmos DB container name. :type container_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlTriggerListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlTriggerListResult] + :return: An iterator like instance of either SqlTriggerListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlTriggerListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerListResult"] @@ -2625,38 +2732,37 @@ def list_sql_triggers( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_triggers.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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) + + request = build_list_sql_triggers_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.list_sql_triggers.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_triggers_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SqlTriggerListResult', pipeline_response) + deserialized = self._deserialize("SqlTriggerListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -2674,11 +2780,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_sql_triggers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers'} # type: ignore + @distributed_trace_async async def get_sql_trigger( self, resource_group_name: str, @@ -2710,30 +2818,20 @@ async def get_sql_trigger( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_trigger.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_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 = build_get_sql_trigger_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + template_url=self.get_sql_trigger.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2747,8 +2845,10 @@ async def get_sql_trigger( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + async def _create_update_sql_trigger_initial( self, resource_group_name: str, @@ -2764,35 +2864,25 @@ async def _create_update_sql_trigger_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_trigger_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_sql_trigger_parameters, 'SqlTriggerCreateUpdateParameters') - # 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') + request = build_create_update_sql_trigger_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_trigger_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_trigger_parameters, 'SqlTriggerCreateUpdateParameters') - 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 @@ -2808,8 +2898,11 @@ async def _create_update_sql_trigger_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_trigger_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_sql_trigger( self, resource_group_name: str, @@ -2834,18 +2927,23 @@ async def begin_create_update_sql_trigger( :type trigger_name: str :param create_update_sql_trigger_parameters: The parameters to provide for the current SQL trigger. - :type create_update_sql_trigger_parameters: ~azure.mgmt.cosmosdb.models.SqlTriggerCreateUpdateParameters + :type create_update_sql_trigger_parameters: + ~azure.mgmt.cosmosdb.models.SqlTriggerCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 SqlTriggerGetResults or the result of cls(response) + :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 SqlTriggerGetResults or the result + of cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2860,30 +2958,21 @@ async def begin_create_update_sql_trigger( container_name=container_name, trigger_name=trigger_name, create_update_sql_trigger_parameters=create_update_sql_trigger_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlTriggerGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -2895,6 +2984,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore async def _delete_sql_trigger_initial( @@ -2911,28 +3001,20 @@ async def _delete_sql_trigger_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_sql_trigger_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_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] + + request = build_delete_sql_trigger_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + template_url=self._delete_sql_trigger_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -2945,6 +3027,8 @@ async def _delete_sql_trigger_initial( _delete_sql_trigger_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + @distributed_trace_async async def begin_delete_sql_trigger( self, resource_group_name: str, @@ -2968,15 +3052,17 @@ async def begin_delete_sql_trigger( :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -2993,24 +3079,14 @@ async def begin_delete_sql_trigger( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -3022,8 +3098,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + @distributed_trace_async async def get_sql_role_definition( self, role_definition_id: str, @@ -3049,28 +3127,18 @@ async def get_sql_role_definition( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_role_definition.metadata['url'] # type: ignore - path_format_arguments = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_sql_role_definition_request( + role_definition_id=role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_sql_role_definition.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -3084,8 +3152,10 @@ async def get_sql_role_definition( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + async def _create_update_sql_role_definition_initial( self, role_definition_id: str, @@ -3099,33 +3169,23 @@ async def _create_update_sql_role_definition_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_role_definition_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_role_definition_parameters, 'SqlRoleDefinitionCreateUpdateParameters') + + request = build_create_update_sql_role_definition_request_initial( + role_definition_id=role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_role_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_role_definition_parameters, 'SqlRoleDefinitionCreateUpdateParameters') - 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 @@ -3141,8 +3201,11 @@ async def _create_update_sql_role_definition_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + @distributed_trace_async async def begin_create_update_sql_role_definition( self, role_definition_id: str, @@ -3161,18 +3224,24 @@ async def begin_create_update_sql_role_definition( :type account_name: str :param create_update_sql_role_definition_parameters: The properties required to create or update a Role Definition. - :type create_update_sql_role_definition_parameters: ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionCreateUpdateParameters + :type create_update_sql_role_definition_parameters: + ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 SqlRoleDefinitionGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 SqlRoleDefinitionGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -3185,28 +3254,21 @@ async def begin_create_update_sql_role_definition( resource_group_name=resource_group_name, account_name=account_name, create_update_sql_role_definition_parameters=create_update_sql_role_definition_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlRoleDefinitionGetResults', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -3218,6 +3280,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore async def _delete_sql_role_definition_initial( @@ -3232,28 +3295,18 @@ async def _delete_sql_role_definition_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_sql_role_definition_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_delete_sql_role_definition_request_initial( + role_definition_id=role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_sql_role_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -3266,6 +3319,8 @@ async def _delete_sql_role_definition_initial( _delete_sql_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + @distributed_trace_async async def begin_delete_sql_role_definition( self, role_definition_id: str, @@ -3283,15 +3338,17 @@ async def begin_delete_sql_role_definition( :type account_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -3306,22 +3363,14 @@ async def begin_delete_sql_role_definition( 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 = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -3333,8 +3382,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + @distributed_trace def list_sql_role_definitions( self, resource_group_name: str, @@ -3348,8 +3399,10 @@ def list_sql_role_definitions( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlRoleDefinitionListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionListResult] + :return: An iterator like instance of either SqlRoleDefinitionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionListResult"] @@ -3357,36 +3410,33 @@ def list_sql_role_definitions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_role_definitions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_sql_role_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_sql_role_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_role_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SqlRoleDefinitionListResult', pipeline_response) + deserialized = self._deserialize("SqlRoleDefinitionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -3404,11 +3454,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_sql_role_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions'} # type: ignore + @distributed_trace_async async def get_sql_role_assignment( self, role_assignment_id: str, @@ -3434,28 +3486,18 @@ async def get_sql_role_assignment( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_role_assignment.metadata['url'] # type: ignore - path_format_arguments = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_sql_role_assignment_request( + role_assignment_id=role_assignment_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_sql_role_assignment.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -3469,8 +3511,10 @@ async def get_sql_role_assignment( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + async def _create_update_sql_role_assignment_initial( self, role_assignment_id: str, @@ -3484,33 +3528,23 @@ async def _create_update_sql_role_assignment_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_role_assignment_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_role_assignment_parameters, 'SqlRoleAssignmentCreateUpdateParameters') + + request = build_create_update_sql_role_assignment_request_initial( + role_assignment_id=role_assignment_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_role_assignment_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_role_assignment_parameters, 'SqlRoleAssignmentCreateUpdateParameters') - 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 @@ -3526,8 +3560,11 @@ async def _create_update_sql_role_assignment_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_role_assignment_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + @distributed_trace_async async def begin_create_update_sql_role_assignment( self, role_assignment_id: str, @@ -3546,18 +3583,24 @@ async def begin_create_update_sql_role_assignment( :type account_name: str :param create_update_sql_role_assignment_parameters: The properties required to create or update a Role Assignment. - :type create_update_sql_role_assignment_parameters: ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentCreateUpdateParameters + :type create_update_sql_role_assignment_parameters: + ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 SqlRoleAssignmentGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 SqlRoleAssignmentGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -3570,28 +3613,21 @@ async def begin_create_update_sql_role_assignment( resource_group_name=resource_group_name, account_name=account_name, create_update_sql_role_assignment_parameters=create_update_sql_role_assignment_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlRoleAssignmentGetResults', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -3603,6 +3639,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore async def _delete_sql_role_assignment_initial( @@ -3617,28 +3654,18 @@ async def _delete_sql_role_assignment_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_sql_role_assignment_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_delete_sql_role_assignment_request_initial( + role_assignment_id=role_assignment_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_sql_role_assignment_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -3651,6 +3678,8 @@ async def _delete_sql_role_assignment_initial( _delete_sql_role_assignment_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + @distributed_trace_async async def begin_delete_sql_role_assignment( self, role_assignment_id: str, @@ -3668,15 +3697,17 @@ async def begin_delete_sql_role_assignment( :type account_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -3691,22 +3722,14 @@ async def begin_delete_sql_role_assignment( 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 = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -3718,8 +3741,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + @distributed_trace def list_sql_role_assignments( self, resource_group_name: str, @@ -3733,8 +3758,10 @@ def list_sql_role_assignments( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlRoleAssignmentListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentListResult] + :return: An iterator like instance of either SqlRoleAssignmentListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentListResult"] @@ -3742,36 +3769,33 @@ def list_sql_role_assignments( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_role_assignments.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_sql_role_assignments_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_sql_role_assignments.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_role_assignments_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SqlRoleAssignmentListResult', pipeline_response) + deserialized = self._deserialize("SqlRoleAssignmentListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -3789,6 +3813,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) @@ -3808,34 +3833,24 @@ async def _retrieve_continuous_backup_information_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._retrieve_continuous_backup_information_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + + request = build_retrieve_continuous_backup_information_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + content_type=content_type, + json=_json, + template_url=self._retrieve_continuous_backup_information_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(location, 'ContinuousBackupRestoreLocation') - 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 @@ -3851,8 +3866,11 @@ async def _retrieve_continuous_backup_information_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation'} # type: ignore + + @distributed_trace_async async def begin_retrieve_continuous_backup_information( self, resource_group_name: str, @@ -3876,15 +3894,19 @@ async def begin_retrieve_continuous_backup_information( :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 BackupInformation or the result of cls(response) + :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 BackupInformation or the result of + cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] lro_delay = kwargs.pop( 'polling_interval', @@ -3898,29 +3920,21 @@ async def begin_retrieve_continuous_backup_information( database_name=database_name, container_name=container_name, location=location, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('BackupInformation', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -3932,4 +3946,5 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_table_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_table_resources_operations.py index 2e1b0d56c97..c0aaacbaf36 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_table_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/aio/operations/_table_resources_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._table_resources_operations import build_create_update_table_request_initial, build_delete_table_request_initial, build_get_table_request, build_get_table_throughput_request, build_list_tables_request, build_migrate_table_to_autoscale_request_initial, build_migrate_table_to_manual_throughput_request_initial, build_retrieve_continuous_backup_information_request_initial, build_update_table_throughput_request_initial T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -43,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_tables( self, resource_group_name: str, @@ -65,36 +71,33 @@ def list_tables( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_tables.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_tables_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_tables.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_tables_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('TableListResult', pipeline_response) + deserialized = self._deserialize("TableListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,11 +115,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables'} # type: ignore + @distributed_trace_async async def get_table( self, resource_group_name: str, @@ -142,28 +147,18 @@ async def get_table( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_table.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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 = build_get_table_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self.get_table.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -177,8 +172,10 @@ async def get_table( return cls(pipeline_response, deserialized, {}) return deserialized + get_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + async def _create_update_table_initial( self, resource_group_name: str, @@ -192,33 +189,23 @@ async def _create_update_table_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_table_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_table_parameters, 'TableCreateUpdateParameters') - # 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') + request = build_create_update_table_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._create_update_table_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_table_parameters, 'TableCreateUpdateParameters') - 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 @@ -234,8 +221,11 @@ async def _create_update_table_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + @distributed_trace_async async def begin_create_update_table( self, resource_group_name: str, @@ -256,15 +246,19 @@ async def begin_create_update_table( :type create_update_table_parameters: ~azure.mgmt.cosmosdb.models.TableCreateUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 TableGetResults or the result of cls(response) + :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 TableGetResults or the result of + cls(response) :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.TableGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.TableGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -277,28 +271,21 @@ async def begin_create_update_table( account_name=account_name, table_name=table_name, create_update_table_parameters=create_update_table_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('TableGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -310,6 +297,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore async def _delete_table_initial( @@ -324,26 +312,18 @@ async def _delete_table_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self._delete_table_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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] + + request = build_delete_table_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self._delete_table_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -356,6 +336,8 @@ async def _delete_table_initial( _delete_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + @distributed_trace_async async def begin_delete_table( self, resource_group_name: str, @@ -373,15 +355,17 @@ async def begin_delete_table( :type table_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -396,22 +380,14 @@ async def begin_delete_table( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -423,8 +399,10 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + @distributed_trace_async async def get_table_throughput( self, resource_group_name: str, @@ -451,28 +429,18 @@ async def get_table_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_table_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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 = build_get_table_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self.get_table_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -486,8 +454,10 @@ async def get_table_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore + async def _update_table_throughput_initial( self, resource_group_name: str, @@ -501,33 +471,23 @@ async def _update_table_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_table_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_table_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._update_table_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -543,8 +503,11 @@ async def _update_table_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_table_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + @distributed_trace_async async def begin_update_table_throughput( self, resource_group_name: str, @@ -563,18 +526,24 @@ async def begin_update_table_throughput( :type table_name: str :param update_throughput_parameters: The parameters to provide for the RUs per second of the current Table. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -587,28 +556,21 @@ async def begin_update_table_throughput( account_name=account_name, table_name=table_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -620,6 +582,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore async def _migrate_table_to_autoscale_initial( @@ -634,28 +597,18 @@ async def _migrate_table_to_autoscale_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_table_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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 = build_migrate_table_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self._migrate_table_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -671,8 +624,11 @@ async def _migrate_table_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_table_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace_async async def begin_migrate_table_to_autoscale( self, resource_group_name: str, @@ -690,15 +646,19 @@ async def begin_migrate_table_to_autoscale( :type table_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -713,25 +673,17 @@ async def begin_migrate_table_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -743,6 +695,7 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore async def _migrate_table_to_manual_throughput_initial( @@ -757,28 +710,18 @@ async def _migrate_table_to_manual_throughput_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_table_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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 = build_migrate_table_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self._migrate_table_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -794,8 +737,11 @@ async def _migrate_table_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_table_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace_async async def begin_migrate_table_to_manual_throughput( self, resource_group_name: str, @@ -813,15 +759,19 @@ async def begin_migrate_table_to_manual_throughput( :type table_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 ThroughputSettingsGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -836,25 +786,17 @@ async def begin_migrate_table_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -866,4 +808,129 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + async def _retrieve_continuous_backup_information_initial( + self, + resource_group_name: str, + account_name: str, + table_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> Optional["_models.BackupInformation"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + + request = build_retrieve_continuous_backup_information_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._retrieve_continuous_backup_information_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/retrieveContinuousBackupInformation'} # type: ignore + + + @distributed_trace_async + async def begin_retrieve_continuous_backup_information( + self, + resource_group_name: str, + account_name: str, + table_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> AsyncLROPoller["_models.BackupInformation"]: + """Retrieves continuous backup information for a table. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :param location: The name of the continuous backup restore location. + :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 BackupInformation or the result of + cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] + 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._retrieve_continuous_backup_information_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + location=location, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('BackupInformation', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/retrieveContinuousBackupInformation'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/__init__.py index d64473d6369..d6f56c6b157 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/__init__.py @@ -6,480 +6,287 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import ARMProxyResource - from ._models_py3 import ARMResourceProperties - from ._models_py3 import AnalyticalStorageConfiguration - from ._models_py3 import ApiProperties - from ._models_py3 import AutoUpgradePolicyResource - from ._models_py3 import AutoscaleSettings - from ._models_py3 import AutoscaleSettingsResource - from ._models_py3 import BackupInformation - from ._models_py3 import BackupPolicy - from ._models_py3 import BackupPolicyMigrationState - from ._models_py3 import BackupResource - from ._models_py3 import BackupResourceProperties - from ._models_py3 import Capability - from ._models_py3 import CassandraKeyspaceCreateUpdateParameters - from ._models_py3 import CassandraKeyspaceGetPropertiesOptions - from ._models_py3 import CassandraKeyspaceGetPropertiesResource - from ._models_py3 import CassandraKeyspaceGetResults - from ._models_py3 import CassandraKeyspaceListResult - from ._models_py3 import CassandraKeyspaceResource - from ._models_py3 import CassandraPartitionKey - from ._models_py3 import CassandraSchema - from ._models_py3 import CassandraTableCreateUpdateParameters - from ._models_py3 import CassandraTableGetPropertiesOptions - from ._models_py3 import CassandraTableGetPropertiesResource - from ._models_py3 import CassandraTableGetResults - from ._models_py3 import CassandraTableListResult - from ._models_py3 import CassandraTableResource - from ._models_py3 import CassandraViewCreateUpdateParameters - from ._models_py3 import CassandraViewGetPropertiesOptions - from ._models_py3 import CassandraViewGetPropertiesResource - from ._models_py3 import CassandraViewGetResults - from ._models_py3 import CassandraViewListResult - from ._models_py3 import CassandraViewResource - from ._models_py3 import Certificate - from ._models_py3 import ClusterKey - from ._models_py3 import ClusterNodeStatus - from ._models_py3 import ClusterNodeStatusNodesItem - from ._models_py3 import ClusterResource - from ._models_py3 import ClusterResourceProperties - from ._models_py3 import Column - from ._models_py3 import Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties - from ._models_py3 import CompositePath - from ._models_py3 import ConflictResolutionPolicy - from ._models_py3 import ConsistencyPolicy - from ._models_py3 import ContainerPartitionKey - from ._models_py3 import ContinuousBackupInformation - from ._models_py3 import ContinuousBackupRestoreLocation - from ._models_py3 import ContinuousModeBackupPolicy - from ._models_py3 import CorsPolicy - from ._models_py3 import CreateUpdateOptions - from ._models_py3 import DataCenterResource - from ._models_py3 import DataCenterResourceProperties - from ._models_py3 import DataTransferRegionalServiceResource - from ._models_py3 import DataTransferServiceResource - from ._models_py3 import DataTransferServiceResourceProperties - from ._models_py3 import DatabaseAccountConnectionString - from ._models_py3 import DatabaseAccountCreateUpdateParameters - from ._models_py3 import DatabaseAccountCreateUpdateProperties - from ._models_py3 import DatabaseAccountGetResults - from ._models_py3 import DatabaseAccountListConnectionStringsResult - from ._models_py3 import DatabaseAccountListKeysResult - from ._models_py3 import DatabaseAccountListReadOnlyKeysResult - from ._models_py3 import DatabaseAccountRegenerateKeyParameters - from ._models_py3 import DatabaseAccountUpdateParameters - from ._models_py3 import DatabaseAccountsListResult - from ._models_py3 import DatabaseRestoreResource - from ._models_py3 import DefaultRequestDatabaseAccountCreateUpdateProperties - from ._models_py3 import DiagnosticLogSettings - from ._models_py3 import ErrorResponse - from ._models_py3 import ExcludedPath - from ._models_py3 import ExtendedResourceProperties - from ._models_py3 import FailoverPolicies - from ._models_py3 import FailoverPolicy - from ._models_py3 import GraphAPIComputeRegionalServiceResource - from ._models_py3 import GraphAPIComputeServiceResource - from ._models_py3 import GraphAPIComputeServiceResourceProperties - from ._models_py3 import GraphResource - from ._models_py3 import GraphResourceCreateUpdateParameters - from ._models_py3 import GraphResourceGetPropertiesOptions - from ._models_py3 import GraphResourceGetPropertiesResource - from ._models_py3 import GraphResourceGetResults - from ._models_py3 import GraphResourcesListResult - from ._models_py3 import GremlinDatabaseCreateUpdateParameters - from ._models_py3 import GremlinDatabaseGetPropertiesOptions - from ._models_py3 import GremlinDatabaseGetPropertiesResource - from ._models_py3 import GremlinDatabaseGetResults - from ._models_py3 import GremlinDatabaseListResult - from ._models_py3 import GremlinDatabaseResource - from ._models_py3 import GremlinGraphCreateUpdateParameters - from ._models_py3 import GremlinGraphGetPropertiesOptions - from ._models_py3 import GremlinGraphGetPropertiesResource - from ._models_py3 import GremlinGraphGetResults - from ._models_py3 import GremlinGraphListResult - from ._models_py3 import GremlinGraphResource - from ._models_py3 import IncludedPath - from ._models_py3 import Indexes - from ._models_py3 import IndexingPolicy - from ._models_py3 import IpAddressOrRange - from ._models_py3 import ListBackups - from ._models_py3 import ListClusters - from ._models_py3 import ListDataCenters - from ._models_py3 import Location - from ._models_py3 import LocationGetResult - from ._models_py3 import LocationListResult - from ._models_py3 import LocationProperties - from ._models_py3 import ManagedServiceIdentity - from ._models_py3 import Metric - from ._models_py3 import MetricAvailability - from ._models_py3 import MetricDefinition - from ._models_py3 import MetricDefinitionsListResult - from ._models_py3 import MetricListResult - from ._models_py3 import MetricName - from ._models_py3 import MetricValue - from ._models_py3 import MongoDBCollectionCreateUpdateParameters - from ._models_py3 import MongoDBCollectionGetPropertiesOptions - from ._models_py3 import MongoDBCollectionGetPropertiesResource - from ._models_py3 import MongoDBCollectionGetResults - from ._models_py3 import MongoDBCollectionListResult - from ._models_py3 import MongoDBCollectionResource - from ._models_py3 import MongoDBDatabaseCreateUpdateParameters - from ._models_py3 import MongoDBDatabaseGetPropertiesOptions - from ._models_py3 import MongoDBDatabaseGetPropertiesResource - from ._models_py3 import MongoDBDatabaseGetResults - from ._models_py3 import MongoDBDatabaseListResult - from ._models_py3 import MongoDBDatabaseResource - from ._models_py3 import MongoIndex - from ._models_py3 import MongoIndexKeys - from ._models_py3 import MongoIndexOptions - from ._models_py3 import NotebookWorkspace - from ._models_py3 import NotebookWorkspaceConnectionInfoResult - from ._models_py3 import NotebookWorkspaceCreateUpdateParameters - from ._models_py3 import NotebookWorkspaceListResult - from ._models_py3 import Operation - from ._models_py3 import OperationDisplay - from ._models_py3 import OperationListResult - from ._models_py3 import OptionsResource - from ._models_py3 import PartitionMetric - from ._models_py3 import PartitionMetricListResult - from ._models_py3 import PartitionUsage - from ._models_py3 import PartitionUsagesResult - from ._models_py3 import PercentileMetric - from ._models_py3 import PercentileMetricListResult - from ._models_py3 import PercentileMetricValue - from ._models_py3 import PeriodicModeBackupPolicy - from ._models_py3 import PeriodicModeProperties - from ._models_py3 import Permission - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateEndpointProperty - from ._models_py3 import PrivateLinkResource - from ._models_py3 import PrivateLinkResourceListResult - from ._models_py3 import PrivateLinkServiceConnectionStateProperty - from ._models_py3 import ProxyResource - from ._models_py3 import RegionForOnlineOffline - from ._models_py3 import RegionalServiceResource - from ._models_py3 import RepairPostBody - from ._models_py3 import Resource - from ._models_py3 import RestorableDatabaseAccountGetResult - from ._models_py3 import RestorableDatabaseAccountsListResult - from ._models_py3 import RestorableLocationResource - from ._models_py3 import RestorableMongodbCollectionGetResult - from ._models_py3 import RestorableMongodbCollectionPropertiesResource - from ._models_py3 import RestorableMongodbCollectionsListResult - from ._models_py3 import RestorableMongodbDatabaseGetResult - from ._models_py3 import RestorableMongodbDatabasePropertiesResource - from ._models_py3 import RestorableMongodbDatabasesListResult - from ._models_py3 import RestorableMongodbResourcesListResult - from ._models_py3 import RestorableSqlContainerGetResult - from ._models_py3 import RestorableSqlContainerPropertiesResource - from ._models_py3 import RestorableSqlContainerPropertiesResourceContainer - from ._models_py3 import RestorableSqlContainersListResult - from ._models_py3 import RestorableSqlDatabaseGetResult - from ._models_py3 import RestorableSqlDatabasePropertiesResource - from ._models_py3 import RestorableSqlDatabasePropertiesResourceDatabase - from ._models_py3 import RestorableSqlDatabasesListResult - from ._models_py3 import RestorableSqlResourcesListResult - from ._models_py3 import RestoreParameters - from ._models_py3 import SeedNode - from ._models_py3 import ServiceResource - from ._models_py3 import ServiceResourceCreateUpdateParameters - from ._models_py3 import ServiceResourceListResult - from ._models_py3 import ServiceResourceProperties - from ._models_py3 import SpatialSpec - from ._models_py3 import SqlContainerCreateUpdateParameters - from ._models_py3 import SqlContainerGetPropertiesOptions - from ._models_py3 import SqlContainerGetPropertiesResource - from ._models_py3 import SqlContainerGetResults - from ._models_py3 import SqlContainerListResult - from ._models_py3 import SqlContainerResource - from ._models_py3 import SqlDatabaseCreateUpdateParameters - from ._models_py3 import SqlDatabaseGetPropertiesOptions - from ._models_py3 import SqlDatabaseGetPropertiesResource - from ._models_py3 import SqlDatabaseGetResults - from ._models_py3 import SqlDatabaseListResult - from ._models_py3 import SqlDatabaseResource - from ._models_py3 import SqlDedicatedGatewayRegionalServiceResource - from ._models_py3 import SqlDedicatedGatewayServiceResource - from ._models_py3 import SqlDedicatedGatewayServiceResourceProperties - from ._models_py3 import SqlRoleAssignmentCreateUpdateParameters - from ._models_py3 import SqlRoleAssignmentGetResults - from ._models_py3 import SqlRoleAssignmentListResult - from ._models_py3 import SqlRoleDefinitionCreateUpdateParameters - from ._models_py3 import SqlRoleDefinitionGetResults - from ._models_py3 import SqlRoleDefinitionListResult - from ._models_py3 import SqlStoredProcedureCreateUpdateParameters - from ._models_py3 import SqlStoredProcedureGetPropertiesResource - from ._models_py3 import SqlStoredProcedureGetResults - from ._models_py3 import SqlStoredProcedureListResult - from ._models_py3 import SqlStoredProcedureResource - from ._models_py3 import SqlTriggerCreateUpdateParameters - from ._models_py3 import SqlTriggerGetPropertiesResource - from ._models_py3 import SqlTriggerGetResults - from ._models_py3 import SqlTriggerListResult - from ._models_py3 import SqlTriggerResource - from ._models_py3 import SqlUserDefinedFunctionCreateUpdateParameters - from ._models_py3 import SqlUserDefinedFunctionGetPropertiesResource - from ._models_py3 import SqlUserDefinedFunctionGetResults - from ._models_py3 import SqlUserDefinedFunctionListResult - from ._models_py3 import SqlUserDefinedFunctionResource - from ._models_py3 import SystemData - from ._models_py3 import TableCreateUpdateParameters - from ._models_py3 import TableGetPropertiesOptions - from ._models_py3 import TableGetPropertiesResource - from ._models_py3 import TableGetResults - from ._models_py3 import TableListResult - from ._models_py3 import TableResource - from ._models_py3 import ThroughputPolicyResource - from ._models_py3 import ThroughputSettingsGetPropertiesResource - from ._models_py3 import ThroughputSettingsGetResults - from ._models_py3 import ThroughputSettingsResource - from ._models_py3 import ThroughputSettingsUpdateParameters - from ._models_py3 import UniqueKey - from ._models_py3 import UniqueKeyPolicy - from ._models_py3 import Usage - from ._models_py3 import UsagesResult - from ._models_py3 import VirtualNetworkRule -except (SyntaxError, ImportError): - from ._models import ARMProxyResource # type: ignore - from ._models import ARMResourceProperties # type: ignore - from ._models import AnalyticalStorageConfiguration # type: ignore - from ._models import ApiProperties # type: ignore - from ._models import AutoUpgradePolicyResource # type: ignore - from ._models import AutoscaleSettings # type: ignore - from ._models import AutoscaleSettingsResource # type: ignore - from ._models import BackupInformation # type: ignore - from ._models import BackupPolicy # type: ignore - from ._models import BackupPolicyMigrationState # type: ignore - from ._models import BackupResource # type: ignore - from ._models import BackupResourceProperties # type: ignore - from ._models import Capability # type: ignore - from ._models import CassandraKeyspaceCreateUpdateParameters # type: ignore - from ._models import CassandraKeyspaceGetPropertiesOptions # type: ignore - from ._models import CassandraKeyspaceGetPropertiesResource # type: ignore - from ._models import CassandraKeyspaceGetResults # type: ignore - from ._models import CassandraKeyspaceListResult # type: ignore - from ._models import CassandraKeyspaceResource # type: ignore - from ._models import CassandraPartitionKey # type: ignore - from ._models import CassandraSchema # type: ignore - from ._models import CassandraTableCreateUpdateParameters # type: ignore - from ._models import CassandraTableGetPropertiesOptions # type: ignore - from ._models import CassandraTableGetPropertiesResource # type: ignore - from ._models import CassandraTableGetResults # type: ignore - from ._models import CassandraTableListResult # type: ignore - from ._models import CassandraTableResource # type: ignore - from ._models import CassandraViewCreateUpdateParameters # type: ignore - from ._models import CassandraViewGetPropertiesOptions # type: ignore - from ._models import CassandraViewGetPropertiesResource # type: ignore - from ._models import CassandraViewGetResults # type: ignore - from ._models import CassandraViewListResult # type: ignore - from ._models import CassandraViewResource # type: ignore - from ._models import Certificate # type: ignore - from ._models import ClusterKey # type: ignore - from ._models import ClusterNodeStatus # type: ignore - from ._models import ClusterNodeStatusNodesItem # type: ignore - from ._models import ClusterResource # type: ignore - from ._models import ClusterResourceProperties # type: ignore - from ._models import Column # type: ignore - from ._models import Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties # type: ignore - from ._models import CompositePath # type: ignore - from ._models import ConflictResolutionPolicy # type: ignore - from ._models import ConsistencyPolicy # type: ignore - from ._models import ContainerPartitionKey # type: ignore - from ._models import ContinuousBackupInformation # type: ignore - from ._models import ContinuousBackupRestoreLocation # type: ignore - from ._models import ContinuousModeBackupPolicy # type: ignore - from ._models import CorsPolicy # type: ignore - from ._models import CreateUpdateOptions # type: ignore - from ._models import DataCenterResource # type: ignore - from ._models import DataCenterResourceProperties # type: ignore - from ._models import DataTransferRegionalServiceResource # type: ignore - from ._models import DataTransferServiceResource # type: ignore - from ._models import DataTransferServiceResourceProperties # type: ignore - from ._models import DatabaseAccountConnectionString # type: ignore - from ._models import DatabaseAccountCreateUpdateParameters # type: ignore - from ._models import DatabaseAccountCreateUpdateProperties # type: ignore - from ._models import DatabaseAccountGetResults # type: ignore - from ._models import DatabaseAccountListConnectionStringsResult # type: ignore - from ._models import DatabaseAccountListKeysResult # type: ignore - from ._models import DatabaseAccountListReadOnlyKeysResult # type: ignore - from ._models import DatabaseAccountRegenerateKeyParameters # type: ignore - from ._models import DatabaseAccountUpdateParameters # type: ignore - from ._models import DatabaseAccountsListResult # type: ignore - from ._models import DatabaseRestoreResource # type: ignore - from ._models import DefaultRequestDatabaseAccountCreateUpdateProperties # type: ignore - from ._models import DiagnosticLogSettings # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import ExcludedPath # type: ignore - from ._models import ExtendedResourceProperties # type: ignore - from ._models import FailoverPolicies # type: ignore - from ._models import FailoverPolicy # type: ignore - from ._models import GraphAPIComputeRegionalServiceResource # type: ignore - from ._models import GraphAPIComputeServiceResource # type: ignore - from ._models import GraphAPIComputeServiceResourceProperties # type: ignore - from ._models import GraphResource # type: ignore - from ._models import GraphResourceCreateUpdateParameters # type: ignore - from ._models import GraphResourceGetPropertiesOptions # type: ignore - from ._models import GraphResourceGetPropertiesResource # type: ignore - from ._models import GraphResourceGetResults # type: ignore - from ._models import GraphResourcesListResult # type: ignore - from ._models import GremlinDatabaseCreateUpdateParameters # type: ignore - from ._models import GremlinDatabaseGetPropertiesOptions # type: ignore - from ._models import GremlinDatabaseGetPropertiesResource # type: ignore - from ._models import GremlinDatabaseGetResults # type: ignore - from ._models import GremlinDatabaseListResult # type: ignore - from ._models import GremlinDatabaseResource # type: ignore - from ._models import GremlinGraphCreateUpdateParameters # type: ignore - from ._models import GremlinGraphGetPropertiesOptions # type: ignore - from ._models import GremlinGraphGetPropertiesResource # type: ignore - from ._models import GremlinGraphGetResults # type: ignore - from ._models import GremlinGraphListResult # type: ignore - from ._models import GremlinGraphResource # type: ignore - from ._models import IncludedPath # type: ignore - from ._models import Indexes # type: ignore - from ._models import IndexingPolicy # type: ignore - from ._models import IpAddressOrRange # type: ignore - from ._models import ListBackups # type: ignore - from ._models import ListClusters # type: ignore - from ._models import ListDataCenters # type: ignore - from ._models import Location # type: ignore - from ._models import LocationGetResult # type: ignore - from ._models import LocationListResult # type: ignore - from ._models import LocationProperties # type: ignore - from ._models import ManagedServiceIdentity # type: ignore - from ._models import Metric # type: ignore - from ._models import MetricAvailability # type: ignore - from ._models import MetricDefinition # type: ignore - from ._models import MetricDefinitionsListResult # type: ignore - from ._models import MetricListResult # type: ignore - from ._models import MetricName # type: ignore - from ._models import MetricValue # type: ignore - from ._models import MongoDBCollectionCreateUpdateParameters # type: ignore - from ._models import MongoDBCollectionGetPropertiesOptions # type: ignore - from ._models import MongoDBCollectionGetPropertiesResource # type: ignore - from ._models import MongoDBCollectionGetResults # type: ignore - from ._models import MongoDBCollectionListResult # type: ignore - from ._models import MongoDBCollectionResource # type: ignore - from ._models import MongoDBDatabaseCreateUpdateParameters # type: ignore - from ._models import MongoDBDatabaseGetPropertiesOptions # type: ignore - from ._models import MongoDBDatabaseGetPropertiesResource # type: ignore - from ._models import MongoDBDatabaseGetResults # type: ignore - from ._models import MongoDBDatabaseListResult # type: ignore - from ._models import MongoDBDatabaseResource # type: ignore - from ._models import MongoIndex # type: ignore - from ._models import MongoIndexKeys # type: ignore - from ._models import MongoIndexOptions # type: ignore - from ._models import NotebookWorkspace # type: ignore - from ._models import NotebookWorkspaceConnectionInfoResult # type: ignore - from ._models import NotebookWorkspaceCreateUpdateParameters # type: ignore - from ._models import NotebookWorkspaceListResult # type: ignore - from ._models import Operation # type: ignore - from ._models import OperationDisplay # type: ignore - from ._models import OperationListResult # type: ignore - from ._models import OptionsResource # type: ignore - from ._models import PartitionMetric # type: ignore - from ._models import PartitionMetricListResult # type: ignore - from ._models import PartitionUsage # type: ignore - from ._models import PartitionUsagesResult # type: ignore - from ._models import PercentileMetric # type: ignore - from ._models import PercentileMetricListResult # type: ignore - from ._models import PercentileMetricValue # type: ignore - from ._models import PeriodicModeBackupPolicy # type: ignore - from ._models import PeriodicModeProperties # type: ignore - from ._models import Permission # type: ignore - from ._models import PrivateEndpointConnection # type: ignore - from ._models import PrivateEndpointConnectionListResult # type: ignore - from ._models import PrivateEndpointProperty # type: ignore - from ._models import PrivateLinkResource # type: ignore - from ._models import PrivateLinkResourceListResult # type: ignore - from ._models import PrivateLinkServiceConnectionStateProperty # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import RegionForOnlineOffline # type: ignore - from ._models import RegionalServiceResource # type: ignore - from ._models import RepairPostBody # type: ignore - from ._models import Resource # type: ignore - from ._models import RestorableDatabaseAccountGetResult # type: ignore - from ._models import RestorableDatabaseAccountsListResult # type: ignore - from ._models import RestorableLocationResource # type: ignore - from ._models import RestorableMongodbCollectionGetResult # type: ignore - from ._models import RestorableMongodbCollectionPropertiesResource # type: ignore - from ._models import RestorableMongodbCollectionsListResult # type: ignore - from ._models import RestorableMongodbDatabaseGetResult # type: ignore - from ._models import RestorableMongodbDatabasePropertiesResource # type: ignore - from ._models import RestorableMongodbDatabasesListResult # type: ignore - from ._models import RestorableMongodbResourcesListResult # type: ignore - from ._models import RestorableSqlContainerGetResult # type: ignore - from ._models import RestorableSqlContainerPropertiesResource # type: ignore - from ._models import RestorableSqlContainerPropertiesResourceContainer # type: ignore - from ._models import RestorableSqlContainersListResult # type: ignore - from ._models import RestorableSqlDatabaseGetResult # type: ignore - from ._models import RestorableSqlDatabasePropertiesResource # type: ignore - from ._models import RestorableSqlDatabasePropertiesResourceDatabase # type: ignore - from ._models import RestorableSqlDatabasesListResult # type: ignore - from ._models import RestorableSqlResourcesListResult # type: ignore - from ._models import RestoreParameters # type: ignore - from ._models import SeedNode # type: ignore - from ._models import ServiceResource # type: ignore - from ._models import ServiceResourceCreateUpdateParameters # type: ignore - from ._models import ServiceResourceListResult # type: ignore - from ._models import ServiceResourceProperties # type: ignore - from ._models import SpatialSpec # type: ignore - from ._models import SqlContainerCreateUpdateParameters # type: ignore - from ._models import SqlContainerGetPropertiesOptions # type: ignore - from ._models import SqlContainerGetPropertiesResource # type: ignore - from ._models import SqlContainerGetResults # type: ignore - from ._models import SqlContainerListResult # type: ignore - from ._models import SqlContainerResource # type: ignore - from ._models import SqlDatabaseCreateUpdateParameters # type: ignore - from ._models import SqlDatabaseGetPropertiesOptions # type: ignore - from ._models import SqlDatabaseGetPropertiesResource # type: ignore - from ._models import SqlDatabaseGetResults # type: ignore - from ._models import SqlDatabaseListResult # type: ignore - from ._models import SqlDatabaseResource # type: ignore - from ._models import SqlDedicatedGatewayRegionalServiceResource # type: ignore - from ._models import SqlDedicatedGatewayServiceResource # type: ignore - from ._models import SqlDedicatedGatewayServiceResourceProperties # type: ignore - from ._models import SqlRoleAssignmentCreateUpdateParameters # type: ignore - from ._models import SqlRoleAssignmentGetResults # type: ignore - from ._models import SqlRoleAssignmentListResult # type: ignore - from ._models import SqlRoleDefinitionCreateUpdateParameters # type: ignore - from ._models import SqlRoleDefinitionGetResults # type: ignore - from ._models import SqlRoleDefinitionListResult # type: ignore - from ._models import SqlStoredProcedureCreateUpdateParameters # type: ignore - from ._models import SqlStoredProcedureGetPropertiesResource # type: ignore - from ._models import SqlStoredProcedureGetResults # type: ignore - from ._models import SqlStoredProcedureListResult # type: ignore - from ._models import SqlStoredProcedureResource # type: ignore - from ._models import SqlTriggerCreateUpdateParameters # type: ignore - from ._models import SqlTriggerGetPropertiesResource # type: ignore - from ._models import SqlTriggerGetResults # type: ignore - from ._models import SqlTriggerListResult # type: ignore - from ._models import SqlTriggerResource # type: ignore - from ._models import SqlUserDefinedFunctionCreateUpdateParameters # type: ignore - from ._models import SqlUserDefinedFunctionGetPropertiesResource # type: ignore - from ._models import SqlUserDefinedFunctionGetResults # type: ignore - from ._models import SqlUserDefinedFunctionListResult # type: ignore - from ._models import SqlUserDefinedFunctionResource # type: ignore - from ._models import SystemData # type: ignore - from ._models import TableCreateUpdateParameters # type: ignore - from ._models import TableGetPropertiesOptions # type: ignore - from ._models import TableGetPropertiesResource # type: ignore - from ._models import TableGetResults # type: ignore - from ._models import TableListResult # type: ignore - from ._models import TableResource # type: ignore - from ._models import ThroughputPolicyResource # type: ignore - from ._models import ThroughputSettingsGetPropertiesResource # type: ignore - from ._models import ThroughputSettingsGetResults # type: ignore - from ._models import ThroughputSettingsResource # type: ignore - from ._models import ThroughputSettingsUpdateParameters # type: ignore - from ._models import UniqueKey # type: ignore - from ._models import UniqueKeyPolicy # type: ignore - from ._models import Usage # type: ignore - from ._models import UsagesResult # type: ignore - from ._models import VirtualNetworkRule # type: ignore +from ._models_py3 import ARMProxyResource +from ._models_py3 import ARMResourceProperties +from ._models_py3 import AnalyticalStorageConfiguration +from ._models_py3 import ApiProperties +from ._models_py3 import AuthenticationMethodLdapProperties +from ._models_py3 import AutoUpgradePolicyResource +from ._models_py3 import AutoscaleSettings +from ._models_py3 import AutoscaleSettingsResource +from ._models_py3 import AzureBlobDataTransferDataSourceSink +from ._models_py3 import BackupInformation +from ._models_py3 import BackupPolicy +from ._models_py3 import BackupPolicyMigrationState +from ._models_py3 import BackupResource +from ._models_py3 import BackupResourceProperties +from ._models_py3 import Capability +from ._models_py3 import Capacity +from ._models_py3 import CassandraClusterPublicStatus +from ._models_py3 import CassandraClusterPublicStatusDataCentersItem +from ._models_py3 import CassandraKeyspaceCreateUpdateParameters +from ._models_py3 import CassandraKeyspaceGetPropertiesOptions +from ._models_py3 import CassandraKeyspaceGetPropertiesResource +from ._models_py3 import CassandraKeyspaceGetResults +from ._models_py3 import CassandraKeyspaceListResult +from ._models_py3 import CassandraKeyspaceResource +from ._models_py3 import CassandraPartitionKey +from ._models_py3 import CassandraSchema +from ._models_py3 import CassandraTableCreateUpdateParameters +from ._models_py3 import CassandraTableGetPropertiesOptions +from ._models_py3 import CassandraTableGetPropertiesResource +from ._models_py3 import CassandraTableGetResults +from ._models_py3 import CassandraTableListResult +from ._models_py3 import CassandraTableResource +from ._models_py3 import CassandraViewCreateUpdateParameters +from ._models_py3 import CassandraViewGetPropertiesOptions +from ._models_py3 import CassandraViewGetPropertiesResource +from ._models_py3 import CassandraViewGetResults +from ._models_py3 import CassandraViewListResult +from ._models_py3 import CassandraViewResource +from ._models_py3 import Certificate +from ._models_py3 import ClientEncryptionKeyCreateUpdateParameters +from ._models_py3 import ClientEncryptionKeyGetPropertiesResource +from ._models_py3 import ClientEncryptionKeyGetResults +from ._models_py3 import ClientEncryptionKeyResource +from ._models_py3 import ClientEncryptionKeysListResult +from ._models_py3 import ClusterKey +from ._models_py3 import ClusterResource +from ._models_py3 import ClusterResourceProperties +from ._models_py3 import Column +from ._models_py3 import CommandOutput +from ._models_py3 import CommandPostBody +from ._models_py3 import Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties +from ._models_py3 import ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems +from ._models_py3 import CompositePath +from ._models_py3 import ConflictResolutionPolicy +from ._models_py3 import ConnectionError +from ._models_py3 import ConsistencyPolicy +from ._models_py3 import ContainerPartitionKey +from ._models_py3 import ContinuousBackupInformation +from ._models_py3 import ContinuousBackupRestoreLocation +from ._models_py3 import ContinuousModeBackupPolicy +from ._models_py3 import CorsPolicy +from ._models_py3 import CosmosCassandraDataTransferDataSourceSink +from ._models_py3 import CosmosSqlDataTransferDataSourceSink +from ._models_py3 import CreateJobRequest +from ._models_py3 import CreateUpdateOptions +from ._models_py3 import DataCenterResource +from ._models_py3 import DataCenterResourceProperties +from ._models_py3 import DataTransferDataSourceSink +from ._models_py3 import DataTransferJobFeedResults +from ._models_py3 import DataTransferJobGetResults +from ._models_py3 import DataTransferJobProperties +from ._models_py3 import DataTransferRegionalServiceResource +from ._models_py3 import DataTransferServiceResource +from ._models_py3 import DataTransferServiceResourceProperties +from ._models_py3 import DatabaseAccountConnectionString +from ._models_py3 import DatabaseAccountCreateUpdateParameters +from ._models_py3 import DatabaseAccountGetResults +from ._models_py3 import DatabaseAccountListConnectionStringsResult +from ._models_py3 import DatabaseAccountListKeysResult +from ._models_py3 import DatabaseAccountListReadOnlyKeysResult +from ._models_py3 import DatabaseAccountRegenerateKeyParameters +from ._models_py3 import DatabaseAccountUpdateParameters +from ._models_py3 import DatabaseAccountsListResult +from ._models_py3 import DatabaseRestoreResource +from ._models_py3 import DiagnosticLogSettings +from ._models_py3 import ErrorResponse +from ._models_py3 import ExcludedPath +from ._models_py3 import ExtendedResourceProperties +from ._models_py3 import FailoverPolicies +from ._models_py3 import FailoverPolicy +from ._models_py3 import GraphAPIComputeRegionalServiceResource +from ._models_py3 import GraphAPIComputeServiceResource +from ._models_py3 import GraphAPIComputeServiceResourceProperties +from ._models_py3 import GraphResource +from ._models_py3 import GraphResourceCreateUpdateParameters +from ._models_py3 import GraphResourceGetPropertiesOptions +from ._models_py3 import GraphResourceGetPropertiesResource +from ._models_py3 import GraphResourceGetResults +from ._models_py3 import GraphResourcesListResult +from ._models_py3 import GremlinDatabaseCreateUpdateParameters +from ._models_py3 import GremlinDatabaseGetPropertiesOptions +from ._models_py3 import GremlinDatabaseGetPropertiesResource +from ._models_py3 import GremlinDatabaseGetResults +from ._models_py3 import GremlinDatabaseListResult +from ._models_py3 import GremlinDatabaseResource +from ._models_py3 import GremlinDatabaseRestoreResource +from ._models_py3 import GremlinGraphCreateUpdateParameters +from ._models_py3 import GremlinGraphGetPropertiesOptions +from ._models_py3 import GremlinGraphGetPropertiesResource +from ._models_py3 import GremlinGraphGetResults +from ._models_py3 import GremlinGraphListResult +from ._models_py3 import GremlinGraphResource +from ._models_py3 import IncludedPath +from ._models_py3 import Indexes +from ._models_py3 import IndexingPolicy +from ._models_py3 import IpAddressOrRange +from ._models_py3 import KeyWrapMetadata +from ._models_py3 import ListBackups +from ._models_py3 import ListClusters +from ._models_py3 import ListDataCenters +from ._models_py3 import Location +from ._models_py3 import LocationGetResult +from ._models_py3 import LocationListResult +from ._models_py3 import LocationProperties +from ._models_py3 import ManagedCassandraARMResourceProperties +from ._models_py3 import ManagedCassandraManagedServiceIdentity +from ._models_py3 import ManagedCassandraReaperStatus +from ._models_py3 import ManagedServiceIdentity +from ._models_py3 import MaterializedViewsBuilderRegionalServiceResource +from ._models_py3 import MaterializedViewsBuilderServiceResource +from ._models_py3 import MaterializedViewsBuilderServiceResourceProperties +from ._models_py3 import Metric +from ._models_py3 import MetricAvailability +from ._models_py3 import MetricDefinition +from ._models_py3 import MetricDefinitionsListResult +from ._models_py3 import MetricListResult +from ._models_py3 import MetricName +from ._models_py3 import MetricValue +from ._models_py3 import MongoDBCollectionCreateUpdateParameters +from ._models_py3 import MongoDBCollectionGetPropertiesOptions +from ._models_py3 import MongoDBCollectionGetPropertiesResource +from ._models_py3 import MongoDBCollectionGetResults +from ._models_py3 import MongoDBCollectionListResult +from ._models_py3 import MongoDBCollectionResource +from ._models_py3 import MongoDBDatabaseCreateUpdateParameters +from ._models_py3 import MongoDBDatabaseGetPropertiesOptions +from ._models_py3 import MongoDBDatabaseGetPropertiesResource +from ._models_py3 import MongoDBDatabaseGetResults +from ._models_py3 import MongoDBDatabaseListResult +from ._models_py3 import MongoDBDatabaseResource +from ._models_py3 import MongoIndex +from ._models_py3 import MongoIndexKeys +from ._models_py3 import MongoIndexOptions +from ._models_py3 import MongoRoleDefinitionCreateUpdateParameters +from ._models_py3 import MongoRoleDefinitionGetResults +from ._models_py3 import MongoRoleDefinitionListResult +from ._models_py3 import MongoUserDefinitionCreateUpdateParameters +from ._models_py3 import MongoUserDefinitionGetResults +from ._models_py3 import MongoUserDefinitionListResult +from ._models_py3 import NotebookWorkspace +from ._models_py3 import NotebookWorkspaceConnectionInfoResult +from ._models_py3 import NotebookWorkspaceCreateUpdateParameters +from ._models_py3 import NotebookWorkspaceListResult +from ._models_py3 import Operation +from ._models_py3 import OperationDisplay +from ._models_py3 import OperationListResult +from ._models_py3 import OptionsResource +from ._models_py3 import PartitionMetric +from ._models_py3 import PartitionMetricListResult +from ._models_py3 import PartitionUsage +from ._models_py3 import PartitionUsagesResult +from ._models_py3 import PercentileMetric +from ._models_py3 import PercentileMetricListResult +from ._models_py3 import PercentileMetricValue +from ._models_py3 import PeriodicModeBackupPolicy +from ._models_py3 import PeriodicModeProperties +from ._models_py3 import Permission +from ._models_py3 import PrivateEndpointConnection +from ._models_py3 import PrivateEndpointConnectionListResult +from ._models_py3 import PrivateEndpointProperty +from ._models_py3 import PrivateLinkResource +from ._models_py3 import PrivateLinkResourceListResult +from ._models_py3 import PrivateLinkServiceConnectionStateProperty +from ._models_py3 import Privilege +from ._models_py3 import PrivilegeResource +from ._models_py3 import ProxyResource +from ._models_py3 import RegionForOnlineOffline +from ._models_py3 import RegionalServiceResource +from ._models_py3 import Resource +from ._models_py3 import RestorableDatabaseAccountGetResult +from ._models_py3 import RestorableDatabaseAccountsListResult +from ._models_py3 import RestorableGremlinDatabaseGetResult +from ._models_py3 import RestorableGremlinDatabasePropertiesResource +from ._models_py3 import RestorableGremlinDatabasesListResult +from ._models_py3 import RestorableGremlinGraphGetResult +from ._models_py3 import RestorableGremlinGraphPropertiesResource +from ._models_py3 import RestorableGremlinGraphsListResult +from ._models_py3 import RestorableGremlinResourcesListResult +from ._models_py3 import RestorableLocationResource +from ._models_py3 import RestorableMongodbCollectionGetResult +from ._models_py3 import RestorableMongodbCollectionPropertiesResource +from ._models_py3 import RestorableMongodbCollectionsListResult +from ._models_py3 import RestorableMongodbDatabaseGetResult +from ._models_py3 import RestorableMongodbDatabasePropertiesResource +from ._models_py3 import RestorableMongodbDatabasesListResult +from ._models_py3 import RestorableMongodbResourcesListResult +from ._models_py3 import RestorableSqlContainerGetResult +from ._models_py3 import RestorableSqlContainerPropertiesResource +from ._models_py3 import RestorableSqlContainerPropertiesResourceContainer +from ._models_py3 import RestorableSqlContainersListResult +from ._models_py3 import RestorableSqlDatabaseGetResult +from ._models_py3 import RestorableSqlDatabasePropertiesResource +from ._models_py3 import RestorableSqlDatabasePropertiesResourceDatabase +from ._models_py3 import RestorableSqlDatabasesListResult +from ._models_py3 import RestorableSqlResourcesListResult +from ._models_py3 import RestorableTableGetResult +from ._models_py3 import RestorableTablePropertiesResource +from ._models_py3 import RestorableTableResourcesListResult +from ._models_py3 import RestorableTablesListResult +from ._models_py3 import RestoreParameters +from ._models_py3 import Role +from ._models_py3 import SeedNode +from ._models_py3 import ServiceResource +from ._models_py3 import ServiceResourceCreateUpdateParameters +from ._models_py3 import ServiceResourceListResult +from ._models_py3 import ServiceResourceProperties +from ._models_py3 import SpatialSpec +from ._models_py3 import SqlContainerCreateUpdateParameters +from ._models_py3 import SqlContainerGetPropertiesOptions +from ._models_py3 import SqlContainerGetPropertiesResource +from ._models_py3 import SqlContainerGetResults +from ._models_py3 import SqlContainerListResult +from ._models_py3 import SqlContainerResource +from ._models_py3 import SqlDatabaseCreateUpdateParameters +from ._models_py3 import SqlDatabaseGetPropertiesOptions +from ._models_py3 import SqlDatabaseGetPropertiesResource +from ._models_py3 import SqlDatabaseGetResults +from ._models_py3 import SqlDatabaseListResult +from ._models_py3 import SqlDatabaseResource +from ._models_py3 import SqlDedicatedGatewayRegionalServiceResource +from ._models_py3 import SqlDedicatedGatewayServiceResource +from ._models_py3 import SqlDedicatedGatewayServiceResourceProperties +from ._models_py3 import SqlRoleAssignmentCreateUpdateParameters +from ._models_py3 import SqlRoleAssignmentGetResults +from ._models_py3 import SqlRoleAssignmentListResult +from ._models_py3 import SqlRoleDefinitionCreateUpdateParameters +from ._models_py3 import SqlRoleDefinitionGetResults +from ._models_py3 import SqlRoleDefinitionListResult +from ._models_py3 import SqlStoredProcedureCreateUpdateParameters +from ._models_py3 import SqlStoredProcedureGetPropertiesResource +from ._models_py3 import SqlStoredProcedureGetResults +from ._models_py3 import SqlStoredProcedureListResult +from ._models_py3 import SqlStoredProcedureResource +from ._models_py3 import SqlTriggerCreateUpdateParameters +from ._models_py3 import SqlTriggerGetPropertiesResource +from ._models_py3 import SqlTriggerGetResults +from ._models_py3 import SqlTriggerListResult +from ._models_py3 import SqlTriggerResource +from ._models_py3 import SqlUserDefinedFunctionCreateUpdateParameters +from ._models_py3 import SqlUserDefinedFunctionGetPropertiesResource +from ._models_py3 import SqlUserDefinedFunctionGetResults +from ._models_py3 import SqlUserDefinedFunctionListResult +from ._models_py3 import SqlUserDefinedFunctionResource +from ._models_py3 import SystemData +from ._models_py3 import TableCreateUpdateParameters +from ._models_py3 import TableGetPropertiesOptions +from ._models_py3 import TableGetPropertiesResource +from ._models_py3 import TableGetResults +from ._models_py3 import TableListResult +from ._models_py3 import TableResource +from ._models_py3 import ThroughputPolicyResource +from ._models_py3 import ThroughputSettingsGetPropertiesResource +from ._models_py3 import ThroughputSettingsGetResults +from ._models_py3 import ThroughputSettingsResource +from ._models_py3 import ThroughputSettingsUpdateParameters +from ._models_py3 import UniqueKey +from ._models_py3 import UniqueKeyPolicy +from ._models_py3 import Usage +from ._models_py3 import UsagesResult +from ._models_py3 import VirtualNetworkRule + from ._cosmos_db_management_client_enums import ( AnalyticalStorageSchemaType, @@ -490,9 +297,11 @@ BackupStorageRedundancy, CompositePathSortOrder, ConflictResolutionMode, + ConnectionState, ConnectorOffer, CreateMode, CreatedByType, + DataTransferComponent, DataType, DatabaseAccountKind, DefaultConsistencyLevel, @@ -501,6 +310,8 @@ IndexingMode, KeyKind, ManagedCassandraProvisioningState, + ManagedCassandraResourceIdentityType, + MongoRoleDefinitionType, NetworkAclBypass, NodeState, NodeStatus, @@ -527,15 +338,20 @@ 'ARMResourceProperties', 'AnalyticalStorageConfiguration', 'ApiProperties', + 'AuthenticationMethodLdapProperties', 'AutoUpgradePolicyResource', 'AutoscaleSettings', 'AutoscaleSettingsResource', + 'AzureBlobDataTransferDataSourceSink', 'BackupInformation', 'BackupPolicy', 'BackupPolicyMigrationState', 'BackupResource', 'BackupResourceProperties', 'Capability', + 'Capacity', + 'CassandraClusterPublicStatus', + 'CassandraClusterPublicStatusDataCentersItem', 'CassandraKeyspaceCreateUpdateParameters', 'CassandraKeyspaceGetPropertiesOptions', 'CassandraKeyspaceGetPropertiesResource', @@ -557,30 +373,43 @@ 'CassandraViewListResult', 'CassandraViewResource', 'Certificate', + 'ClientEncryptionKeyCreateUpdateParameters', + 'ClientEncryptionKeyGetPropertiesResource', + 'ClientEncryptionKeyGetResults', + 'ClientEncryptionKeyResource', + 'ClientEncryptionKeysListResult', 'ClusterKey', - 'ClusterNodeStatus', - 'ClusterNodeStatusNodesItem', 'ClusterResource', 'ClusterResourceProperties', 'Column', + 'CommandOutput', + 'CommandPostBody', 'Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties', + 'ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems', 'CompositePath', 'ConflictResolutionPolicy', + 'ConnectionError', 'ConsistencyPolicy', 'ContainerPartitionKey', 'ContinuousBackupInformation', 'ContinuousBackupRestoreLocation', 'ContinuousModeBackupPolicy', 'CorsPolicy', + 'CosmosCassandraDataTransferDataSourceSink', + 'CosmosSqlDataTransferDataSourceSink', + 'CreateJobRequest', 'CreateUpdateOptions', 'DataCenterResource', 'DataCenterResourceProperties', + 'DataTransferDataSourceSink', + 'DataTransferJobFeedResults', + 'DataTransferJobGetResults', + 'DataTransferJobProperties', 'DataTransferRegionalServiceResource', 'DataTransferServiceResource', 'DataTransferServiceResourceProperties', 'DatabaseAccountConnectionString', 'DatabaseAccountCreateUpdateParameters', - 'DatabaseAccountCreateUpdateProperties', 'DatabaseAccountGetResults', 'DatabaseAccountListConnectionStringsResult', 'DatabaseAccountListKeysResult', @@ -589,7 +418,6 @@ 'DatabaseAccountUpdateParameters', 'DatabaseAccountsListResult', 'DatabaseRestoreResource', - 'DefaultRequestDatabaseAccountCreateUpdateProperties', 'DiagnosticLogSettings', 'ErrorResponse', 'ExcludedPath', @@ -611,6 +439,7 @@ 'GremlinDatabaseGetResults', 'GremlinDatabaseListResult', 'GremlinDatabaseResource', + 'GremlinDatabaseRestoreResource', 'GremlinGraphCreateUpdateParameters', 'GremlinGraphGetPropertiesOptions', 'GremlinGraphGetPropertiesResource', @@ -621,6 +450,7 @@ 'Indexes', 'IndexingPolicy', 'IpAddressOrRange', + 'KeyWrapMetadata', 'ListBackups', 'ListClusters', 'ListDataCenters', @@ -628,7 +458,13 @@ 'LocationGetResult', 'LocationListResult', 'LocationProperties', + 'ManagedCassandraARMResourceProperties', + 'ManagedCassandraManagedServiceIdentity', + 'ManagedCassandraReaperStatus', 'ManagedServiceIdentity', + 'MaterializedViewsBuilderRegionalServiceResource', + 'MaterializedViewsBuilderServiceResource', + 'MaterializedViewsBuilderServiceResourceProperties', 'Metric', 'MetricAvailability', 'MetricDefinition', @@ -651,6 +487,12 @@ 'MongoIndex', 'MongoIndexKeys', 'MongoIndexOptions', + 'MongoRoleDefinitionCreateUpdateParameters', + 'MongoRoleDefinitionGetResults', + 'MongoRoleDefinitionListResult', + 'MongoUserDefinitionCreateUpdateParameters', + 'MongoUserDefinitionGetResults', + 'MongoUserDefinitionListResult', 'NotebookWorkspace', 'NotebookWorkspaceConnectionInfoResult', 'NotebookWorkspaceCreateUpdateParameters', @@ -675,13 +517,21 @@ 'PrivateLinkResource', 'PrivateLinkResourceListResult', 'PrivateLinkServiceConnectionStateProperty', + 'Privilege', + 'PrivilegeResource', 'ProxyResource', 'RegionForOnlineOffline', 'RegionalServiceResource', - 'RepairPostBody', 'Resource', 'RestorableDatabaseAccountGetResult', 'RestorableDatabaseAccountsListResult', + 'RestorableGremlinDatabaseGetResult', + 'RestorableGremlinDatabasePropertiesResource', + 'RestorableGremlinDatabasesListResult', + 'RestorableGremlinGraphGetResult', + 'RestorableGremlinGraphPropertiesResource', + 'RestorableGremlinGraphsListResult', + 'RestorableGremlinResourcesListResult', 'RestorableLocationResource', 'RestorableMongodbCollectionGetResult', 'RestorableMongodbCollectionPropertiesResource', @@ -699,7 +549,12 @@ 'RestorableSqlDatabasePropertiesResourceDatabase', 'RestorableSqlDatabasesListResult', 'RestorableSqlResourcesListResult', + 'RestorableTableGetResult', + 'RestorableTablePropertiesResource', + 'RestorableTableResourcesListResult', + 'RestorableTablesListResult', 'RestoreParameters', + 'Role', 'SeedNode', 'ServiceResource', 'ServiceResourceCreateUpdateParameters', @@ -767,9 +622,11 @@ 'BackupStorageRedundancy', 'CompositePathSortOrder', 'ConflictResolutionMode', + 'ConnectionState', 'ConnectorOffer', 'CreateMode', 'CreatedByType', + 'DataTransferComponent', 'DataType', 'DatabaseAccountKind', 'DefaultConsistencyLevel', @@ -778,6 +635,8 @@ 'IndexingMode', 'KeyKind', 'ManagedCassandraProvisioningState', + 'ManagedCassandraResourceIdentityType', + 'MongoRoleDefinitionType', 'NetworkAclBypass', 'NodeState', 'NodeStatus', diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_cosmos_db_management_client_enums.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_cosmos_db_management_client_enums.py index ec0159dc473..75925850a54 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_cosmos_db_management_client_enums.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_cosmos_db_management_client_enums.py @@ -6,34 +6,19 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -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 AnalyticalStorageSchemaType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class AnalyticalStorageSchemaType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Describes the types of schema for analytical storage. """ WELL_DEFINED = "WellDefined" FULL_FIDELITY = "FullFidelity" -class ApiType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ApiType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Enum to indicate the API type of the restorable database account. """ @@ -44,16 +29,17 @@ class ApiType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): SQL = "Sql" GREMLIN_V2 = "GremlinV2" -class AuthenticationMethod(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class AuthenticationMethod(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default - password based authentication. The default is 'Cassandra'. + password based authentication. The default is 'Cassandra'. 'Ldap' is in preview. """ NONE = "None" CASSANDRA = "Cassandra" + LDAP = "Ldap" -class BackupPolicyMigrationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class BackupPolicyMigrationStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Describes the status of migration between backup policy types. """ @@ -62,14 +48,14 @@ class BackupPolicyMigrationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, COMPLETED = "Completed" FAILED = "Failed" -class BackupPolicyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class BackupPolicyType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Describes the mode of backups. """ PERIODIC = "Periodic" CONTINUOUS = "Continuous" -class BackupStorageRedundancy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class BackupStorageRedundancy(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Enum to indicate type of backup storage redundancy. """ @@ -77,27 +63,38 @@ class BackupStorageRedundancy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum LOCAL = "Local" ZONE = "Zone" -class CompositePathSortOrder(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CompositePathSortOrder(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Sort order for composite paths. """ ASCENDING = "ascending" DESCENDING = "descending" -class ConflictResolutionMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ConflictResolutionMode(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates the conflict resolution mode. """ LAST_WRITER_WINS = "LastWriterWins" CUSTOM = "Custom" -class ConnectorOffer(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ConnectionState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The kind of connection error that occurred. + """ + + UNKNOWN = "Unknown" + OK = "OK" + OPERATOR_TO_DATA_CENTER_NETWORK_ERROR = "OperatorToDataCenterNetworkError" + DATACENTER_TO_DATACENTER_NETWORK_ERROR = "DatacenterToDatacenterNetworkError" + INTERNAL_OPERATOR_TO_DATA_CENTER_CERTIFICATE_ERROR = "InternalOperatorToDataCenterCertificateError" + INTERNAL_ERROR = "InternalError" + +class ConnectorOffer(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The cassandra connector offer type for the Cosmos DB C* database account. """ SMALL = "Small" -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -106,14 +103,14 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class CreateMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreateMode(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Enum to indicate the mode of account creation. """ DEFAULT = "Default" RESTORE = "Restore" -class DatabaseAccountKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DatabaseAccountKind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates the type of database account. This can only be set at database account creation. """ @@ -121,7 +118,13 @@ class DatabaseAccountKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MONGO_DB = "MongoDB" PARSE = "Parse" -class DataType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DataTransferComponent(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + COSMOS_DB_CASSANDRA = "CosmosDBCassandra" + COSMOS_DB_SQL = "CosmosDBSql" + AZURE_BLOB_STORAGE = "AzureBlobStorage" + +class DataType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The datatype for which the indexing behavior is applied to. """ @@ -132,7 +135,7 @@ class DataType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): LINE_STRING = "LineString" MULTI_POLYGON = "MultiPolygon" -class DefaultConsistencyLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DefaultConsistencyLevel(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The default consistency level and configuration settings of the Cosmos DB account. """ @@ -142,7 +145,7 @@ class DefaultConsistencyLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum STRONG = "Strong" CONSISTENT_PREFIX = "ConsistentPrefix" -class EnableFullTextQuery(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class EnableFullTextQuery(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Describe the level of detail with which queries are to be logged. """ @@ -150,7 +153,7 @@ class EnableFullTextQuery(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): TRUE = "True" FALSE = "False" -class IndexingMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class IndexingMode(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates the indexing mode. """ @@ -158,7 +161,7 @@ class IndexingMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): LAZY = "lazy" NONE = "none" -class IndexKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class IndexKind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates the type of index. """ @@ -166,7 +169,7 @@ class IndexKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): RANGE = "Range" SPATIAL = "Spatial" -class KeyKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class KeyKind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The access key to regenerate. """ @@ -175,7 +178,7 @@ class KeyKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): PRIMARY_READONLY = "primaryReadonly" SECONDARY_READONLY = "secondaryReadonly" -class ManagedCassandraProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ManagedCassandraProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The status of the resource at the time the operation was called. """ @@ -186,15 +189,29 @@ class ManagedCassandraProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, FAILED = "Failed" CANCELED = "Canceled" -class NetworkAclBypass(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ManagedCassandraResourceIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of the resource. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + NONE = "None" + +class MongoRoleDefinitionType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Indicates whether the Role Definition was built-in or user created. + """ + + BUILT_IN_ROLE = "BuiltInRole" + CUSTOM_ROLE = "CustomRole" + +class NetworkAclBypass(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates what services are allowed to bypass firewall checks. """ NONE = "None" AZURE_SERVICES = "AzureServices" -class NodeState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The state of the node in relation to the cluster. +class NodeState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The state of the node in Cassandra ring. """ NORMAL = "Normal" @@ -203,18 +220,18 @@ class NodeState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MOVING = "Moving" STOPPED = "Stopped" -class NodeStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class NodeStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates whether the node is functioning or not. """ UP = "Up" DOWN = "Down" -class NotebookWorkspaceName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class NotebookWorkspaceName(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): DEFAULT = "default" -class OperationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class OperationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Enum to indicate the operation type of the event. """ @@ -223,7 +240,7 @@ class OperationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): DELETE = "Delete" SYSTEM_OPERATION = "SystemOperation" -class PartitionKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class PartitionKind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create """ @@ -232,7 +249,7 @@ class PartitionKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): RANGE = "Range" MULTI_HASH = "MultiHash" -class PrimaryAggregationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class PrimaryAggregationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The primary aggregation type of the metric. """ @@ -243,14 +260,14 @@ class PrimaryAggregationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum) MAXIMUM = "Maximum" LAST = "Last" -class PublicNetworkAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class PublicNetworkAccess(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Whether requests from Public Network are allowed """ ENABLED = "Enabled" DISABLED = "Disabled" -class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ResourceIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. @@ -261,20 +278,20 @@ class ResourceIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" NONE = "None" -class RestoreMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class RestoreMode(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Describes the mode of the restore. """ POINT_IN_TIME = "PointInTime" -class RoleDefinitionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class RoleDefinitionType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates whether the Role Definition was built-in or user created. """ BUILT_IN_ROLE = "BuiltInRole" CUSTOM_ROLE = "CustomRole" -class ServerVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ServerVersion(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Describes the ServerVersion of an a MongoDB account. """ @@ -282,7 +299,7 @@ class ServerVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): THREE6 = "3.6" FOUR0 = "4.0" -class ServiceSize(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ServiceSize(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Instance type for the service. """ @@ -290,7 +307,7 @@ class ServiceSize(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): COSMOS_D8_S = "Cosmos.D8s" COSMOS_D16_S = "Cosmos.D16s" -class ServiceStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ServiceStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Describes the status of a service. """ @@ -301,15 +318,16 @@ class ServiceStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): ERROR = "Error" STOPPED = "Stopped" -class ServiceType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ServiceType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """ServiceType for the service. """ SQL_DEDICATED_GATEWAY = "SqlDedicatedGateway" DATA_TRANSFER = "DataTransfer" GRAPH_API_COMPUTE = "GraphAPICompute" + MATERIALIZED_VIEWS_BUILDER = "MaterializedViewsBuilder" -class SpatialType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SpatialType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates the spatial type of index. """ @@ -318,7 +336,7 @@ class SpatialType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): POLYGON = "Polygon" MULTI_POLYGON = "MultiPolygon" -class TriggerOperation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class TriggerOperation(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The operation the trigger is associated with """ @@ -328,14 +346,14 @@ class TriggerOperation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): DELETE = "Delete" REPLACE = "Replace" -class TriggerType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class TriggerType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Type of the Trigger """ PRE = "Pre" POST = "Post" -class UnitType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class UnitType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The unit of the metric. """ diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models.py index 5570f3633e7..c3732ba50ee 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models.py @@ -105,8 +105,6 @@ class ARMResourceProperties(msrest.serialization.Model): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity """ _validation = { @@ -121,7 +119,6 @@ class ARMResourceProperties(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, } def __init__( @@ -134,7 +131,6 @@ def __init__( self.type = None self.location = kwargs.get('location', None) self.tags = kwargs.get('tags', None) - self.identity = kwargs.get('identity', None) class AutoscaleSettings(msrest.serialization.Model): @@ -305,79 +301,111 @@ def __init__( self.start_time = kwargs.get('start_time', None) -class BackupResource(ARMProxyResource): - """A restorable backup of a Cassandra cluster. +class Capability(msrest.serialization.Model): + """Cosmos DB capability object. - Variables are only populated by the server, and will be ignored when sending a request. + :param name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current + values also include "EnableTable" and "EnableGremlin". + :type name: str + """ - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param properties: - :type properties: ~azure.mgmt.cosmosdb.models.BackupResourceProperties + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Capability, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class Capacity(msrest.serialization.Model): + """The object that represents all properties related to capacity enforcement on an account. + + :param total_throughput_limit: The total throughput limit imposed on the account. A + totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned + on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of + throughput. + :type total_throughput_limit: int """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, + 'total_throughput_limit': {'minimum': -1}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'BackupResourceProperties'}, + 'total_throughput_limit': {'key': 'totalThroughputLimit', 'type': 'int'}, } def __init__( self, **kwargs ): - super(BackupResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) + super(Capacity, self).__init__(**kwargs) + self.total_throughput_limit = kwargs.get('total_throughput_limit', None) -class BackupResourceProperties(msrest.serialization.Model): - """BackupResourceProperties. +class CassandraClusterPublicStatus(msrest.serialization.Model): + """Properties of a managed Cassandra cluster public status. - :param timestamp: The time this backup was taken, formatted like 2021-01-21T17:35:21. - :type timestamp: ~datetime.datetime + :param e_tag: + :type e_tag: str + :param reaper_status: + :type reaper_status: ~azure.mgmt.cosmosdb.models.ManagedCassandraReaperStatus + :param connection_errors: List relevant information about any connection errors to the + Datacenters. + :type connection_errors: list[~azure.mgmt.cosmosdb.models.ConnectionError] + :param data_centers: List of the status of each datacenter in this cluster. + :type data_centers: + list[~azure.mgmt.cosmosdb.models.CassandraClusterPublicStatusDataCentersItem] """ _attribute_map = { - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'reaper_status': {'key': 'reaperStatus', 'type': 'ManagedCassandraReaperStatus'}, + 'connection_errors': {'key': 'connectionErrors', 'type': '[ConnectionError]'}, + 'data_centers': {'key': 'dataCenters', 'type': '[CassandraClusterPublicStatusDataCentersItem]'}, } def __init__( self, **kwargs ): - super(BackupResourceProperties, self).__init__(**kwargs) - self.timestamp = kwargs.get('timestamp', None) + super(CassandraClusterPublicStatus, self).__init__(**kwargs) + self.e_tag = kwargs.get('e_tag', None) + self.reaper_status = kwargs.get('reaper_status', None) + self.connection_errors = kwargs.get('connection_errors', None) + self.data_centers = kwargs.get('data_centers', None) -class Capability(msrest.serialization.Model): - """Cosmos DB capability object. +class CassandraClusterPublicStatusDataCentersItem(msrest.serialization.Model): + """CassandraClusterPublicStatusDataCentersItem. - :param name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current - values also include "EnableTable" and "EnableGremlin". + :param name: The name of this Datacenter. :type name: str + :param seed_nodes: A list of all seed nodes in the cluster, managed and unmanaged. + :type seed_nodes: list[str] + :param nodes: + :type nodes: + list[~azure.mgmt.cosmosdb.models.ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems] """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, + 'seed_nodes': {'key': 'seedNodes', 'type': '[str]'}, + 'nodes': {'key': 'nodes', 'type': '[ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems]'}, } def __init__( self, **kwargs ): - super(Capability, self).__init__(**kwargs) + super(CassandraClusterPublicStatusDataCentersItem, self).__init__(**kwargs) self.name = kwargs.get('name', None) + self.seed_nodes = kwargs.get('seed_nodes', None) + self.nodes = kwargs.get('nodes', None) class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): @@ -402,8 +430,6 @@ class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a Cassandra keyspace. :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -424,7 +450,6 @@ class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'CassandraKeyspaceResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -608,8 +633,6 @@ class CassandraKeyspaceGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource :param options: @@ -628,7 +651,6 @@ class CassandraKeyspaceGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'CassandraKeyspaceGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'CassandraKeyspaceGetPropertiesOptions'}, } @@ -735,8 +757,6 @@ class CassandraTableCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a Cassandra table. :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -757,7 +777,6 @@ class CassandraTableCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'CassandraTableResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -905,8 +924,6 @@ class CassandraTableGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource :param options: @@ -925,7 +942,6 @@ class CassandraTableGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'CassandraTableGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'CassandraTableGetPropertiesOptions'}, } @@ -964,164 +980,103 @@ def __init__( self.value = None -class CassandraViewCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB Cassandra view. - - 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 unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Cassandra view. - :type resource: ~azure.mgmt.cosmosdb.models.CassandraViewResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'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}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'resource': {'key': 'properties.resource', 'type': 'CassandraViewResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraViewCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) - - -class CassandraViewGetPropertiesOptions(OptionsResource): - """CassandraViewGetPropertiesOptions. +class Certificate(msrest.serialization.Model): + """Certificate. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the - ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :param pem: PEM formatted public key. + :type pem: str """ _attribute_map = { - 'throughput': {'key': 'throughput', 'type': 'int'}, - 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, + 'pem': {'key': 'pem', 'type': 'str'}, } def __init__( self, **kwargs ): - super(CassandraViewGetPropertiesOptions, self).__init__(**kwargs) - + super(Certificate, self).__init__(**kwargs) + self.pem = kwargs.get('pem', None) -class CassandraViewResource(msrest.serialization.Model): - """Cosmos DB Cassandra view resource object. - All required parameters must be populated in order to send to Azure. +class ClusterKey(msrest.serialization.Model): + """Cosmos DB Cassandra table cluster key. - :param id: Required. Name of the Cosmos DB Cassandra view. - :type id: str - :param view_definition: View Definition of the Cosmos DB Cassandra view. - :type view_definition: str + :param name: Name of the Cosmos DB Cassandra table cluster key. + :type name: str + :param order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and + "Desc". + :type order_by: str """ - _validation = { - 'id': {'required': True}, - } - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'view_definition': {'key': 'viewDefinition', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'order_by': {'key': 'orderBy', 'type': 'str'}, } def __init__( self, **kwargs ): - super(CassandraViewResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.view_definition = kwargs.get('view_definition', None) + super(ClusterKey, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.order_by = kwargs.get('order_by', None) -class CassandraViewGetPropertiesResource(ExtendedResourceProperties, CassandraViewResource): - """CassandraViewGetPropertiesResource. +class ManagedCassandraARMResourceProperties(msrest.serialization.Model): + """The core properties of ARM resources. 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 id: Required. Name of the Cosmos DB Cassandra view. - :type id: str - :param view_definition: View Definition of the Cosmos DB Cassandra view. - :type view_definition: str - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str + :ivar id: The unique resource identifier of the ARM resource. + :vartype id: str + :ivar name: The name of the ARM resource. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :param location: The location of the resource group to which the resource belongs. + :type location: str + :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :type tags: dict[str, str] + :param identity: Identity for the resource. + :type identity: ~azure.mgmt.cosmosdb.models.ManagedCassandraManagedServiceIdentity """ _validation = { - 'id': {'required': True}, - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - 'view_definition': {'key': 'viewDefinition', 'type': 'str'}, - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedCassandraManagedServiceIdentity'}, } def __init__( self, **kwargs ): - super(CassandraViewGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.view_definition = kwargs.get('view_definition', None) - self.rid = None - self.ts = None - self.etag = None + super(ManagedCassandraARMResourceProperties, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.identity = kwargs.get('identity', None) -class CassandraViewGetResults(ARMResourceProperties): - """An Azure Cosmos DB Cassandra view. +class ClusterResource(ManagedCassandraARMResourceProperties): + """Representation of a managed Cassandra cluster. Variables are only populated by the server, and will be ignored when sending a request. @@ -1141,11 +1096,9 @@ class CassandraViewGetResults(ARMResourceProperties): also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesOptions + :type identity: ~azure.mgmt.cosmosdb.models.ManagedCassandraManagedServiceIdentity + :param properties: Properties of a managed Cassandra cluster. + :type properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties """ _validation = { @@ -1160,218 +1113,20 @@ class CassandraViewGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'resource': {'key': 'properties.resource', 'type': 'CassandraViewGetPropertiesResource'}, - 'options': {'key': 'properties.options', 'type': 'CassandraViewGetPropertiesOptions'}, + 'identity': {'key': 'identity', 'type': 'ManagedCassandraManagedServiceIdentity'}, + 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, } def __init__( self, **kwargs ): - super(CassandraViewGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) + super(ClusterResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) -class CassandraViewListResult(msrest.serialization.Model): - """The List operation response, that contains the Cassandra views and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Cassandra views and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.CassandraViewGetResults] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[CassandraViewGetResults]'}, - } - - def __init__( - self, - **kwargs - ): - super(CassandraViewListResult, self).__init__(**kwargs) - self.value = None - - -class Certificate(msrest.serialization.Model): - """Certificate. - - :param pem: PEM formatted public key. - :type pem: str - """ - - _attribute_map = { - 'pem': {'key': 'pem', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Certificate, self).__init__(**kwargs) - self.pem = kwargs.get('pem', None) - - -class ClusterKey(msrest.serialization.Model): - """Cosmos DB Cassandra table cluster key. - - :param name: Name of the Cosmos DB Cassandra table cluster key. - :type name: str - :param order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and - "Desc". - :type order_by: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'order_by': {'key': 'orderBy', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterKey, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.order_by = kwargs.get('order_by', None) - - -class ClusterNodeStatus(msrest.serialization.Model): - """The status of all nodes in the cluster (as returned by 'nodetool status'). - - :param nodes: Information about nodes in the cluster (corresponds to what is returned from - nodetool info). - :type nodes: list[~azure.mgmt.cosmosdb.models.ClusterNodeStatusNodesItem] - """ - - _attribute_map = { - 'nodes': {'key': 'nodes', 'type': '[ClusterNodeStatusNodesItem]'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterNodeStatus, self).__init__(**kwargs) - self.nodes = kwargs.get('nodes', None) - - -class ClusterNodeStatusNodesItem(msrest.serialization.Model): - """ClusterNodeStatusNodesItem. - - :param datacenter: The Cassandra data center this node resides in. - :type datacenter: str - :param status: Indicates whether the node is functioning or not. Possible values include: "Up", - "Down". - :type status: str or ~azure.mgmt.cosmosdb.models.NodeStatus - :param state: The state of the node in relation to the cluster. Possible values include: - "Normal", "Leaving", "Joining", "Moving", "Stopped". - :type state: str or ~azure.mgmt.cosmosdb.models.NodeState - :param address: The node's URL. - :type address: str - :param load: The amount of file system data in the data directory (e.g., 47.66 KB), excluding - all content in the snapshots subdirectories. Because all SSTable data files are included, any - data that is not cleaned up (such as TTL-expired cell or tombstoned data) is counted. - :type load: str - :param tokens: List of tokens. - :type tokens: list[str] - :param owns: The percentage of the data owned by the node per datacenter times the replication - factor (e.g., 33.3, or null if the data is not available). For example, a node can own 33% of - the ring, but shows 100% if the replication factor is 3. For non-system keyspaces, the endpoint - percentage ownership information is shown. - :type owns: float - :param host_id: The network ID of the node. - :type host_id: str - :param rack: The rack this node is part of. - :type rack: str - """ - - _attribute_map = { - 'datacenter': {'key': 'datacenter', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'load': {'key': 'load', 'type': 'str'}, - 'tokens': {'key': 'tokens', 'type': '[str]'}, - 'owns': {'key': 'owns', 'type': 'float'}, - 'host_id': {'key': 'hostId', 'type': 'str'}, - 'rack': {'key': 'rack', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterNodeStatusNodesItem, self).__init__(**kwargs) - self.datacenter = kwargs.get('datacenter', None) - self.status = kwargs.get('status', None) - self.state = kwargs.get('state', None) - self.address = kwargs.get('address', None) - self.load = kwargs.get('load', None) - self.tokens = kwargs.get('tokens', None) - self.owns = kwargs.get('owns', None) - self.host_id = kwargs.get('host_id', None) - self.rack = kwargs.get('rack', None) - - -class ClusterResource(ARMResourceProperties): - """Representation of a managed Cassandra cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param properties: Properties of a managed Cassandra cluster. - :type properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties - """ - - _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'}, - 'location': {'key': 'location', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(ClusterResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class ClusterResourceProperties(msrest.serialization.Model): - """Properties of a managed Cassandra cluster. +class ClusterResourceProperties(msrest.serialization.Model): + """Properties of a managed Cassandra cluster. Variables are only populated by the server, and will be ignored when sending a request. @@ -1403,9 +1158,6 @@ class ClusterResourceProperties(msrest.serialization.Model): the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'. :type initial_cassandra_admin_password: str - :param hours_between_backups: Number of hours to wait between taking a backup of the cluster. - To disable backups, set this property to 0. - :type hours_between_backups: int :param prometheus_endpoint: Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached. :type prometheus_endpoint: ~azure.mgmt.cosmosdb.models.SeedNode @@ -1433,6 +1185,13 @@ class ClusterResourceProperties(msrest.serialization.Model): :ivar seed_nodes: List of IP addresses of seed nodes in the managed data centers. These should be added to the seed node lists of all unmanaged nodes. :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] + :param hours_between_backups: Number of hours to wait between taking a backup of the cluster. + To disable backups, set this property to 0. + :type hours_between_backups: int + :param deallocated: Whether the cluster and associated data centers has been deallocated. + :type deallocated: bool + :param cassandra_audit_logging_enabled: Whether Cassandra audit logging is enabled. + :type cassandra_audit_logging_enabled: bool """ _validation = { @@ -1448,7 +1207,6 @@ class ClusterResourceProperties(msrest.serialization.Model): 'cluster_name_override': {'key': 'clusterNameOverride', 'type': 'str'}, 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 'initial_cassandra_admin_password': {'key': 'initialCassandraAdminPassword', 'type': 'str'}, - 'hours_between_backups': {'key': 'hoursBetweenBackups', 'type': 'int'}, 'prometheus_endpoint': {'key': 'prometheusEndpoint', 'type': 'SeedNode'}, 'repair_enabled': {'key': 'repairEnabled', 'type': 'bool'}, 'client_certificates': {'key': 'clientCertificates', 'type': '[Certificate]'}, @@ -1456,6 +1214,9 @@ class ClusterResourceProperties(msrest.serialization.Model): 'gossip_certificates': {'key': 'gossipCertificates', 'type': '[Certificate]'}, 'external_seed_nodes': {'key': 'externalSeedNodes', 'type': '[SeedNode]'}, 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, + 'hours_between_backups': {'key': 'hoursBetweenBackups', 'type': 'int'}, + 'deallocated': {'key': 'deallocated', 'type': 'bool'}, + 'cassandra_audit_logging_enabled': {'key': 'cassandraAuditLoggingEnabled', 'type': 'bool'}, } def __init__( @@ -1470,7 +1231,6 @@ def __init__( self.cluster_name_override = kwargs.get('cluster_name_override', None) self.authentication_method = kwargs.get('authentication_method', None) self.initial_cassandra_admin_password = kwargs.get('initial_cassandra_admin_password', None) - self.hours_between_backups = kwargs.get('hours_between_backups', None) self.prometheus_endpoint = kwargs.get('prometheus_endpoint', None) self.repair_enabled = kwargs.get('repair_enabled', None) self.client_certificates = kwargs.get('client_certificates', None) @@ -1478,6 +1238,9 @@ def __init__( self.gossip_certificates = None self.external_seed_nodes = kwargs.get('external_seed_nodes', None) self.seed_nodes = None + self.hours_between_backups = kwargs.get('hours_between_backups', None) + self.deallocated = kwargs.get('deallocated', None) + self.cassandra_audit_logging_enabled = kwargs.get('cassandra_audit_logging_enabled', None) class Column(msrest.serialization.Model): @@ -1503,6 +1266,69 @@ def __init__( self.type = kwargs.get('type', None) +class CommandOutput(msrest.serialization.Model): + """Response of /command api. + + :param command_output: Output of the command. + :type command_output: str + """ + + _attribute_map = { + 'command_output': {'key': 'commandOutput', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CommandOutput, self).__init__(**kwargs) + self.command_output = kwargs.get('command_output', None) + + +class CommandPostBody(msrest.serialization.Model): + """Specification of which command to run where. + + All required parameters must be populated in order to send to Azure. + + :param command: Required. The command which should be run. + :type command: str + :param arguments: The arguments for the command to be run. + :type arguments: dict[str, str] + :param host: Required. IP address of the cassandra host to run the command on. + :type host: str + :param cassandra_stop_start: If true, stops cassandra before executing the command and then + start it again. + :type cassandra_stop_start: bool + :param readwrite: If true, allows the command to *write* to the cassandra directory, otherwise + read-only. + :type readwrite: bool + """ + + _validation = { + 'command': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'command': {'key': 'command', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': '{str}'}, + 'host': {'key': 'host', 'type': 'str'}, + 'cassandra_stop_start': {'key': 'cassandra-stop-start', 'type': 'bool'}, + 'readwrite': {'key': 'readwrite', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(CommandPostBody, self).__init__(**kwargs) + self.command = kwargs['command'] + self.arguments = kwargs.get('arguments', None) + self.host = kwargs['host'] + self.cassandra_stop_start = kwargs.get('cassandra_stop_start', None) + self.readwrite = kwargs.get('readwrite', None) + + class Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): """Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. @@ -1533,6 +1359,90 @@ def __init__( self.client_id = None +class ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems(msrest.serialization.Model): + """ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems. + + :param address: The node's IP address. + :type address: str + :param state: The state of the node in Cassandra ring. Possible values include: "Normal", + "Leaving", "Joining", "Moving", "Stopped". + :type state: str or ~azure.mgmt.cosmosdb.models.NodeState + :param status: + :type status: str + :param load: The amount of file system data in the data directory (e.g., 47.66 kB), excluding + all content in the snapshots subdirectories. Because all SSTable data files are included, any + data that is not cleaned up (such as TTL-expired cells or tombstones) is counted. + :type load: str + :param tokens: List of tokens this node covers. + :type tokens: list[str] + :param size: + :type size: int + :param host_id: The network ID of the node. + :type host_id: str + :param rack: The rack this node is part of. + :type rack: str + :param timestamp: The timestamp when these statistics were captured. + :type timestamp: str + :param disk_used_kb: The amount of disk used, in kB, of the directory /var/lib/cassandra. + :type disk_used_kb: long + :param disk_free_kb: The amount of disk free, in kB, of the directory /var/lib/cassandra. + :type disk_free_kb: long + :param memory_used_kb: Used memory (calculated as total - free - buffers - cache), in kB. + :type memory_used_kb: long + :param memory_buffers_and_cached_kb: Memory used by kernel buffers (Buffers in /proc/meminfo) + and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB. + :type memory_buffers_and_cached_kb: long + :param memory_free_kb: Unused memory (MemFree and SwapFree in /proc/meminfo), in kB. + :type memory_free_kb: long + :param memory_total_kb: Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in + kB. + :type memory_total_kb: long + :param cpu_usage: A float representing the current system-wide CPU utilization as a percentage. + :type cpu_usage: float + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'load': {'key': 'load', 'type': 'str'}, + 'tokens': {'key': 'tokens', 'type': '[str]'}, + 'size': {'key': 'size', 'type': 'int'}, + 'host_id': {'key': 'hostID', 'type': 'str'}, + 'rack': {'key': 'rack', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'disk_used_kb': {'key': 'diskUsedKB', 'type': 'long'}, + 'disk_free_kb': {'key': 'diskFreeKB', 'type': 'long'}, + 'memory_used_kb': {'key': 'memoryUsedKB', 'type': 'long'}, + 'memory_buffers_and_cached_kb': {'key': 'memoryBuffersAndCachedKB', 'type': 'long'}, + 'memory_free_kb': {'key': 'memoryFreeKB', 'type': 'long'}, + 'memory_total_kb': {'key': 'memoryTotalKB', 'type': 'long'}, + 'cpu_usage': {'key': 'cpuUsage', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + self.state = kwargs.get('state', None) + self.status = kwargs.get('status', None) + self.load = kwargs.get('load', None) + self.tokens = kwargs.get('tokens', None) + self.size = kwargs.get('size', None) + self.host_id = kwargs.get('host_id', None) + self.rack = kwargs.get('rack', None) + self.timestamp = kwargs.get('timestamp', None) + self.disk_used_kb = kwargs.get('disk_used_kb', None) + self.disk_free_kb = kwargs.get('disk_free_kb', None) + self.memory_used_kb = kwargs.get('memory_used_kb', None) + self.memory_buffers_and_cached_kb = kwargs.get('memory_buffers_and_cached_kb', None) + self.memory_free_kb = kwargs.get('memory_free_kb', None) + self.memory_total_kb = kwargs.get('memory_total_kb', None) + self.cpu_usage = kwargs.get('cpu_usage', None) + + class CompositePath(msrest.serialization.Model): """CompositePath. @@ -1588,6 +1498,43 @@ def __init__( self.conflict_resolution_procedure = kwargs.get('conflict_resolution_procedure', None) +class ConnectionError(msrest.serialization.Model): + """ConnectionError. + + :param connection_state: The kind of connection error that occurred. Possible values include: + "Unknown", "OK", "OperatorToDataCenterNetworkError", "DatacenterToDatacenterNetworkError", + "InternalOperatorToDataCenterCertificateError", "InternalError". + :type connection_state: str or ~azure.mgmt.cosmosdb.models.ConnectionState + :param i_p_from: The IP of host that originated the failed connection. + :type i_p_from: str + :param i_p_to: The IP that the connection attempted to reach. + :type i_p_to: str + :param port: The TCP port the connection was attempted on. + :type port: int + :param exception: Detailed error message about the failed connection. + :type exception: str + """ + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'i_p_from': {'key': 'iPFrom', 'type': 'str'}, + 'i_p_to': {'key': 'iPTo', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'exception': {'key': 'exception', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectionError, self).__init__(**kwargs) + self.connection_state = kwargs.get('connection_state', None) + self.i_p_from = kwargs.get('i_p_from', None) + self.i_p_to = kwargs.get('i_p_to', None) + self.port = kwargs.get('port', None) + self.exception = kwargs.get('exception', None) + + class ConsistencyPolicy(msrest.serialization.Model): """The consistency policy for the Cosmos DB database account. @@ -1859,11 +1806,11 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param kind: Indicates the type of database account. This can only be set at database account creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind + :param identity: Identity for the resource. + :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param consistency_policy: The consistency policy for the Cosmos DB account. :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy :param locations: Required. An array that contains the georeplication locations enabled for the @@ -1915,8 +1862,8 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): :param analytical_storage_configuration: Analytical storage specific properties. :type analytical_storage_configuration: ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by - server. Possible values include: "Default", "Restore". Default value: "Default". + :param create_mode: Enum to indicate the mode of account creation. Possible values include: + "Default", "Restore". Default value: "Default". :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode :param backup_policy: The object representing the policy for taking backups on an account. :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy @@ -1928,14 +1875,14 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings - for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. :type disable_local_auth: bool :param restore_parameters: Parameters to indicate the information about the restore. :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters + :param capacity: The object that represents all properties related to capacity enforcement on + an account. + :type capacity: ~azure.mgmt.cosmosdb.models.Capacity """ _validation = { @@ -1944,7 +1891,6 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): 'type': {'readonly': True}, 'locations': {'required': True}, 'database_account_offer_type': {'required': True, 'constant': True}, - 'create_mode': {'required': True}, } _attribute_map = { @@ -1953,8 +1899,8 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'kind': {'key': 'kind', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'consistency_policy': {'key': 'properties.consistencyPolicy', 'type': 'ConsistencyPolicy'}, 'locations': {'key': 'properties.locations', 'type': '[Location]'}, 'database_account_offer_type': {'key': 'properties.databaseAccountOfferType', 'type': 'str'}, @@ -1979,9 +1925,9 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, 'restore_parameters': {'key': 'properties.restoreParameters', 'type': 'RestoreParameters'}, + 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, } database_account_offer_type = "Standard" @@ -1992,6 +1938,7 @@ def __init__( ): super(DatabaseAccountCreateUpdateParameters, self).__init__(**kwargs) self.kind = kwargs.get('kind', None) + self.identity = kwargs.get('identity', None) self.consistency_policy = kwargs.get('consistency_policy', None) self.locations = kwargs['locations'] self.ip_rules = kwargs.get('ip_rules', None) @@ -2010,177 +1957,18 @@ def __init__( self.api_properties = kwargs.get('api_properties', None) self.enable_analytical_storage = kwargs.get('enable_analytical_storage', None) self.analytical_storage_configuration = kwargs.get('analytical_storage_configuration', None) - self.create_mode = None # type: Optional[str] + self.create_mode = kwargs.get('create_mode', "Default") self.backup_policy = kwargs.get('backup_policy', None) self.cors = kwargs.get('cors', None) self.network_acl_bypass = kwargs.get('network_acl_bypass', None) self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.diagnostic_log_settings = kwargs.get('diagnostic_log_settings', None) self.disable_local_auth = kwargs.get('disable_local_auth', None) self.restore_parameters = kwargs.get('restore_parameters', None) + self.capacity = kwargs.get('capacity', None) -class DatabaseAccountCreateUpdateProperties(msrest.serialization.Model): - """Properties to create and update Azure Cosmos DB database accounts. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DefaultRequestDatabaseAccountCreateUpdateProperties. - - 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 consistency_policy: The consistency policy for the Cosmos DB account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication locations enabled for the - Cosmos DB account. - :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: The offer type for the database. Has constant value: - "Standard". - :vartype database_account_offer_type: str - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual - Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare - event that the region is unavailable due to an outage. Automatic failover will result in a new - write region for the account and is chosen based on the failover priorities configured for the - account. - :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB - account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* - account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources - (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like - customer managed keys. The default identity needs to be explicitly set by the users. It can be - "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values - include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only for MongoDB API. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: - ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by - server. Possible values include: "Default", "Restore". Default value: "Default". - :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. - Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl - Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings - for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be - used exclusively for authentication. - :type disable_local_auth: bool - :param restore_parameters: Parameters to indicate the information about the restore. - :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - """ - - _validation = { - 'locations': {'required': True}, - 'database_account_offer_type': {'required': True, 'constant': True}, - 'create_mode': {'required': True}, - } - - _attribute_map = { - 'consistency_policy': {'key': 'consistencyPolicy', 'type': 'ConsistencyPolicy'}, - 'locations': {'key': 'locations', 'type': '[Location]'}, - 'database_account_offer_type': {'key': 'databaseAccountOfferType', 'type': 'str'}, - 'ip_rules': {'key': 'ipRules', 'type': '[IpAddressOrRange]'}, - 'is_virtual_network_filter_enabled': {'key': 'isVirtualNetworkFilterEnabled', 'type': 'bool'}, - 'enable_automatic_failover': {'key': 'enableAutomaticFailover', 'type': 'bool'}, - 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, - 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, - 'enable_multiple_write_locations': {'key': 'enableMultipleWriteLocations', 'type': 'bool'}, - 'enable_cassandra_connector': {'key': 'enableCassandraConnector', 'type': 'bool'}, - 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, - 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, - 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, - 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, - 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, - 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, - 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, - 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, - 'analytical_storage_configuration': {'key': 'analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, - 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, - 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'diagnostic_log_settings': {'key': 'diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, - 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'}, - 'restore_parameters': {'key': 'restoreParameters', 'type': 'RestoreParameters'}, - } - - _subtype_map = { - 'create_mode': {'Default': 'DefaultRequestDatabaseAccountCreateUpdateProperties'} - } - - database_account_offer_type = "Standard" - - def __init__( - self, - **kwargs - ): - super(DatabaseAccountCreateUpdateProperties, self).__init__(**kwargs) - self.consistency_policy = kwargs.get('consistency_policy', None) - self.locations = kwargs['locations'] - self.ip_rules = kwargs.get('ip_rules', None) - self.is_virtual_network_filter_enabled = kwargs.get('is_virtual_network_filter_enabled', None) - self.enable_automatic_failover = kwargs.get('enable_automatic_failover', None) - self.capabilities = kwargs.get('capabilities', None) - self.virtual_network_rules = kwargs.get('virtual_network_rules', None) - self.enable_multiple_write_locations = kwargs.get('enable_multiple_write_locations', None) - self.enable_cassandra_connector = kwargs.get('enable_cassandra_connector', None) - self.connector_offer = kwargs.get('connector_offer', None) - self.disable_key_based_metadata_write_access = kwargs.get('disable_key_based_metadata_write_access', None) - self.key_vault_key_uri = kwargs.get('key_vault_key_uri', None) - self.default_identity = kwargs.get('default_identity', None) - self.public_network_access = kwargs.get('public_network_access', None) - self.enable_free_tier = kwargs.get('enable_free_tier', None) - self.api_properties = kwargs.get('api_properties', None) - self.enable_analytical_storage = kwargs.get('enable_analytical_storage', None) - self.analytical_storage_configuration = kwargs.get('analytical_storage_configuration', None) - self.create_mode = None # type: Optional[str] - self.backup_policy = kwargs.get('backup_policy', None) - self.cors = kwargs.get('cors', None) - self.network_acl_bypass = kwargs.get('network_acl_bypass', None) - self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.diagnostic_log_settings = kwargs.get('diagnostic_log_settings', None) - self.disable_local_auth = kwargs.get('disable_local_auth', None) - self.restore_parameters = kwargs.get('restore_parameters', None) - - -class DatabaseAccountGetResults(ARMResourceProperties): - """An Azure Cosmos DB database account. +class DatabaseAccountGetResults(ARMResourceProperties): + """An Azure Cosmos DB database account. Variables are only populated by the server, and will be ignored when sending a request. @@ -2199,11 +1987,11 @@ class DatabaseAccountGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param kind: Indicates the type of database account. This can only be set at database account creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind + :param identity: Identity for the resource. + :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :ivar system_data: The system meta data relating to this resource. :vartype system_data: ~azure.mgmt.cosmosdb.models.SystemData :ivar provisioning_state: The status of the Cosmos DB account at the time the operation was @@ -2296,12 +2084,12 @@ class DatabaseAccountGetResults(ARMResourceProperties): :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings - for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. :type disable_local_auth: bool + :param capacity: The object that represents all properties related to capacity enforcement on + an account. + :type capacity: ~azure.mgmt.cosmosdb.models.Capacity """ _validation = { @@ -2326,8 +2114,8 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'kind': {'key': 'kind', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'document_endpoint': {'key': 'properties.documentEndpoint', 'type': 'str'}, @@ -2361,8 +2149,8 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, + 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, } def __init__( @@ -2371,6 +2159,7 @@ def __init__( ): super(DatabaseAccountGetResults, self).__init__(**kwargs) self.kind = kwargs.get('kind', None) + self.identity = kwargs.get('identity', None) self.system_data = None self.provisioning_state = None self.document_endpoint = None @@ -2404,8 +2193,8 @@ def __init__( self.cors = kwargs.get('cors', None) self.network_acl_bypass = kwargs.get('network_acl_bypass', None) self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.diagnostic_log_settings = kwargs.get('diagnostic_log_settings', None) self.disable_local_auth = kwargs.get('disable_local_auth', None) + self.capacity = kwargs.get('capacity', None) class DatabaseAccountListConnectionStringsResult(msrest.serialization.Model): @@ -2619,12 +2408,12 @@ class DatabaseAccountUpdateParameters(msrest.serialization.Model): :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings - for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. :type disable_local_auth: bool + :param capacity: The object that represents all properties related to capacity enforcement on + an account. + :type capacity: ~azure.mgmt.cosmosdb.models.Capacity """ _attribute_map = { @@ -2653,8 +2442,8 @@ class DatabaseAccountUpdateParameters(msrest.serialization.Model): 'cors': {'key': 'properties.cors', 'type': '[CorsPolicy]'}, 'network_acl_bypass': {'key': 'properties.networkAclBypass', 'type': 'str'}, 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, - 'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, + 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, } def __init__( @@ -2687,8 +2476,8 @@ def __init__( self.cors = kwargs.get('cors', None) self.network_acl_bypass = kwargs.get('network_acl_bypass', None) self.network_acl_bypass_resource_ids = kwargs.get('network_acl_bypass_resource_ids', None) - self.diagnostic_log_settings = kwargs.get('diagnostic_log_settings', None) self.disable_local_auth = kwargs.get('disable_local_auth', None) + self.capacity = kwargs.get('capacity', None) class DatabaseRestoreResource(msrest.serialization.Model): @@ -2761,840 +2550,185 @@ class DataCenterResourceProperties(msrest.serialization.Model): :param data_center_location: The region this data center should be created in. :type data_center_location: str :param delegated_subnet_id: Resource id of a subnet the nodes in this data center should have - their network interfaces connected to. The subnet must be in the same region specified in - 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's - 'delegatedManagementSubnetId' property. This resource id will be of the form - '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. - :type delegated_subnet_id: str - :param node_count: The number of nodes the data center should have. This is the desired number. - After it is set, it may take some time for the data center to be scaled to match. To monitor - the number of nodes and their status, use the fetchNodeStatus method on the cluster. - :type node_count: int - :ivar seed_nodes: IP addresses for seed nodes in this data center. This is for reference. - Generally you will want to use the seedNodes property on the cluster, which aggregates the seed - nodes from all data centers in the cluster. - :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :param base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration - file to be included in the cassandra.yaml for all nodes in this data center. The fragment - should be Base64 encoded, and only a subset of keys are allowed. - :type base64_encoded_cassandra_yaml_fragment: str - """ - - _validation = { - 'seed_nodes': {'readonly': True}, - } - - _attribute_map = { - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'data_center_location': {'key': 'dataCenterLocation', 'type': 'str'}, - 'delegated_subnet_id': {'key': 'delegatedSubnetId', 'type': 'str'}, - 'node_count': {'key': 'nodeCount', 'type': 'int'}, - 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, - 'base64_encoded_cassandra_yaml_fragment': {'key': 'base64EncodedCassandraYamlFragment', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DataCenterResourceProperties, self).__init__(**kwargs) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.data_center_location = kwargs.get('data_center_location', None) - self.delegated_subnet_id = kwargs.get('delegated_subnet_id', None) - self.node_count = kwargs.get('node_count', None) - self.seed_nodes = None - self.base64_encoded_cassandra_yaml_fragment = kwargs.get('base64_encoded_cassandra_yaml_fragment', None) - - -class RegionalServiceResource(msrest.serialization.Model): - """Resource for a regional service location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: The regional service name. - :vartype name: str - :ivar location: The location name. - :vartype location: str - :ivar status: Describes the status of a service. Possible values include: "Creating", - "Running", "Updating", "Deleting", "Error", "Stopped". - :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - """ - - _validation = { - 'name': {'readonly': True}, - 'location': {'readonly': True}, - 'status': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RegionalServiceResource, self).__init__(**kwargs) - self.name = None - self.location = None - self.status = None - - -class DataTransferRegionalServiceResource(RegionalServiceResource): - """Resource for a regional service location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: The regional service name. - :vartype name: str - :ivar location: The location name. - :vartype location: str - :ivar status: Describes the status of a service. Possible values include: "Creating", - "Running", "Updating", "Deleting", "Error", "Stopped". - :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - """ - - _validation = { - 'name': {'readonly': True}, - 'location': {'readonly': True}, - 'status': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DataTransferRegionalServiceResource, self).__init__(**kwargs) - - -class DataTransferServiceResource(msrest.serialization.Model): - """Describes the service response property. - - :param properties: Properties for DataTransferServiceResource. - :type properties: ~azure.mgmt.cosmosdb.models.DataTransferServiceResourceProperties - """ - - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'DataTransferServiceResourceProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(DataTransferServiceResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class ServiceResourceProperties(msrest.serialization.Model): - """Services response 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. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, any] - :ivar creation_time: Time of the last state change (ISO-8601 format). - :vartype creation_time: ~datetime.datetime - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", - "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: Required. ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType - :ivar status: Describes the status of a service. Possible values include: "Creating", - "Running", "Updating", "Deleting", "Error", "Stopped". - :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - """ - - _validation = { - 'creation_time': {'readonly': True}, - 'instance_count': {'minimum': 0}, - 'service_type': {'required': True}, - 'status': {'readonly': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, - 'instance_size': {'key': 'instanceSize', 'type': 'str'}, - 'instance_count': {'key': 'instanceCount', 'type': 'int'}, - 'service_type': {'key': 'serviceType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ServiceResourceProperties, self).__init__(**kwargs) - self.additional_properties = kwargs.get('additional_properties', None) - self.creation_time = None - self.instance_size = kwargs.get('instance_size', None) - self.instance_count = kwargs.get('instance_count', None) - self.service_type = kwargs['service_type'] - self.status = None - - -class DataTransferServiceResourceProperties(ServiceResourceProperties): - """Properties for DataTransferServiceResource. - - 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, any] - :ivar creation_time: Time of the last state change (ISO-8601 format). - :vartype creation_time: ~datetime.datetime - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", - "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: Required. ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType - :ivar status: Describes the status of a service. Possible values include: "Creating", - "Running", "Updating", "Deleting", "Error", "Stopped". - :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - :ivar locations: An array that contains all of the locations for the service. - :vartype locations: list[~azure.mgmt.cosmosdb.models.DataTransferRegionalServiceResource] - """ - - _validation = { - 'creation_time': {'readonly': True}, - 'instance_count': {'minimum': 0}, - 'service_type': {'required': True}, - 'status': {'readonly': True}, - 'locations': {'readonly': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, - 'instance_size': {'key': 'instanceSize', 'type': 'str'}, - 'instance_count': {'key': 'instanceCount', 'type': 'int'}, - 'service_type': {'key': 'serviceType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[DataTransferRegionalServiceResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(DataTransferServiceResourceProperties, self).__init__(**kwargs) - self.locations = None - - -class DefaultRequestDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateUpdateProperties): - """Properties for non-restore Azure Cosmos DB database account 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. - - :param consistency_policy: The consistency policy for the Cosmos DB account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication locations enabled for the - Cosmos DB account. - :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: The offer type for the database. Has constant value: - "Standard". - :vartype database_account_offer_type: str - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual - Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare - event that the region is unavailable due to an outage. Automatic failover will result in a new - write region for the account and is chosen based on the failover priorities configured for the - account. - :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB - account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* - account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources - (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like - customer managed keys. The default identity needs to be explicitly set by the users. It can be - "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values - include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only for MongoDB API. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: - ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by - server. Possible values include: "Default", "Restore". Default value: "Default". - :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. - Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl - Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings - for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be - used exclusively for authentication. - :type disable_local_auth: bool - :param restore_parameters: Parameters to indicate the information about the restore. - :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - """ - - _validation = { - 'locations': {'required': True}, - 'database_account_offer_type': {'required': True, 'constant': True}, - 'create_mode': {'required': True}, - } - - _attribute_map = { - 'consistency_policy': {'key': 'consistencyPolicy', 'type': 'ConsistencyPolicy'}, - 'locations': {'key': 'locations', 'type': '[Location]'}, - 'database_account_offer_type': {'key': 'databaseAccountOfferType', 'type': 'str'}, - 'ip_rules': {'key': 'ipRules', 'type': '[IpAddressOrRange]'}, - 'is_virtual_network_filter_enabled': {'key': 'isVirtualNetworkFilterEnabled', 'type': 'bool'}, - 'enable_automatic_failover': {'key': 'enableAutomaticFailover', 'type': 'bool'}, - 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, - 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, - 'enable_multiple_write_locations': {'key': 'enableMultipleWriteLocations', 'type': 'bool'}, - 'enable_cassandra_connector': {'key': 'enableCassandraConnector', 'type': 'bool'}, - 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, - 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, - 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, - 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, - 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, - 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, - 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, - 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, - 'analytical_storage_configuration': {'key': 'analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, - 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, - 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'diagnostic_log_settings': {'key': 'diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, - 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'}, - 'restore_parameters': {'key': 'restoreParameters', 'type': 'RestoreParameters'}, - } - - database_account_offer_type = "Standard" - - def __init__( - self, - **kwargs - ): - super(DefaultRequestDatabaseAccountCreateUpdateProperties, self).__init__(**kwargs) - self.create_mode = 'Default' # type: str - - -class DiagnosticLogSettings(msrest.serialization.Model): - """Indicates what diagnostic log settings are to be enabled. - - :param enable_full_text_query: Describe the level of detail with which queries are to be - logged. Possible values include: "None", "True", "False". - :type enable_full_text_query: str or ~azure.mgmt.cosmosdb.models.EnableFullTextQuery - """ - - _attribute_map = { - 'enable_full_text_query': {'key': 'enableFullTextQuery', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DiagnosticLogSettings, self).__init__(**kwargs) - self.enable_full_text_query = kwargs.get('enable_full_text_query', None) - - -class ErrorResponse(msrest.serialization.Model): - """Error Response. - - :param code: Error code. - :type code: str - :param message: Error message indicating why the operation failed. - :type message: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.message = kwargs.get('message', None) - - -class ExcludedPath(msrest.serialization.Model): - """ExcludedPath. - - :param path: The path for which the indexing behavior applies to. Index paths typically start - with root and end with wildcard (/path/*). - :type path: str - """ - - _attribute_map = { - 'path': {'key': 'path', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExcludedPath, self).__init__(**kwargs) - self.path = kwargs.get('path', None) - - -class FailoverPolicies(msrest.serialization.Model): - """The list of new failover policies for the failover priority change. - - All required parameters must be populated in order to send to Azure. - - :param failover_policies: Required. List of failover policies. - :type failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] - """ - - _validation = { - 'failover_policies': {'required': True}, - } - - _attribute_map = { - 'failover_policies': {'key': 'failoverPolicies', 'type': '[FailoverPolicy]'}, - } - - def __init__( - self, - **kwargs - ): - super(FailoverPolicies, self).__init__(**kwargs) - self.failover_policies = kwargs['failover_policies'] - - -class FailoverPolicy(msrest.serialization.Model): - """The failover policy for a given region of a database account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique identifier of the region in which the database account replicates to. - Example: <accountName>-<locationName>. - :vartype id: str - :param location_name: The name of the region in which the database account exists. - :type location_name: str - :param failover_priority: The failover priority of the region. A failover priority of 0 - indicates a write region. The maximum value for a failover priority = (total number of regions - - 1). Failover priority values must be unique for each of the regions in which the database - account exists. - :type failover_priority: int - """ - - _validation = { - 'id': {'readonly': True}, - 'failover_priority': {'minimum': 0}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'location_name': {'key': 'locationName', 'type': 'str'}, - 'failover_priority': {'key': 'failoverPriority', 'type': 'int'}, - } - - def __init__( - self, - **kwargs - ): - super(FailoverPolicy, self).__init__(**kwargs) - self.id = None - self.location_name = kwargs.get('location_name', None) - self.failover_priority = kwargs.get('failover_priority', None) - - -class GraphAPIComputeRegionalServiceResource(RegionalServiceResource): - """Resource for a regional service location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: The regional service name. - :vartype name: str - :ivar location: The location name. - :vartype location: str - :ivar status: Describes the status of a service. Possible values include: "Creating", - "Running", "Updating", "Deleting", "Error", "Stopped". - :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - :ivar graph_api_compute_endpoint: The regional endpoint for GraphAPICompute. - :vartype graph_api_compute_endpoint: str - """ - - _validation = { - 'name': {'readonly': True}, - 'location': {'readonly': True}, - 'status': {'readonly': True}, - 'graph_api_compute_endpoint': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'graph_api_compute_endpoint': {'key': 'graphApiComputeEndpoint', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GraphAPIComputeRegionalServiceResource, self).__init__(**kwargs) - self.graph_api_compute_endpoint = None - - -class GraphAPIComputeServiceResource(msrest.serialization.Model): - """Describes the service response property for GraphAPICompute. - - :param properties: Properties for GraphAPIComputeServiceResource. - :type properties: ~azure.mgmt.cosmosdb.models.GraphAPIComputeServiceResourceProperties - """ - - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'GraphAPIComputeServiceResourceProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(GraphAPIComputeServiceResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class GraphAPIComputeServiceResourceProperties(ServiceResourceProperties): - """Properties for GraphAPIComputeServiceResource. - - 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, any] - :ivar creation_time: Time of the last state change (ISO-8601 format). - :vartype creation_time: ~datetime.datetime - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", - "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: Required. ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType - :ivar status: Describes the status of a service. Possible values include: "Creating", - "Running", "Updating", "Deleting", "Error", "Stopped". - :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - :param graph_api_compute_endpoint: GraphAPICompute endpoint for the service. - :type graph_api_compute_endpoint: str - :ivar locations: An array that contains all of the locations for the service. - :vartype locations: list[~azure.mgmt.cosmosdb.models.GraphAPIComputeRegionalServiceResource] - """ - - _validation = { - 'creation_time': {'readonly': True}, - 'instance_count': {'minimum': 0}, - 'service_type': {'required': True}, - 'status': {'readonly': True}, - 'locations': {'readonly': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, - 'instance_size': {'key': 'instanceSize', 'type': 'str'}, - 'instance_count': {'key': 'instanceCount', 'type': 'int'}, - 'service_type': {'key': 'serviceType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'graph_api_compute_endpoint': {'key': 'graphApiComputeEndpoint', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[GraphAPIComputeRegionalServiceResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(GraphAPIComputeServiceResourceProperties, self).__init__(**kwargs) - self.graph_api_compute_endpoint = kwargs.get('graph_api_compute_endpoint', None) - self.locations = None - - -class GraphResource(msrest.serialization.Model): - """Cosmos DB Graph resource object. - - All required parameters must be populated in order to send to Azure. - - :param id: Required. Name of the Cosmos DB Graph. - :type id: str - """ - - _validation = { - 'id': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GraphResource, self).__init__(**kwargs) - self.id = kwargs['id'] - - -class GraphResourceCreateUpdateParameters(ARMResourceProperties): - """Parameters to create and update Cosmos DB Graph 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: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Graph resource. - :type resource: ~azure.mgmt.cosmosdb.models.GraphResource - :param options: A key-value pair of options to be applied for the request. This corresponds to - the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + their network interfaces connected to. The subnet must be in the same region specified in + 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's + 'delegatedManagementSubnetId' property. This resource id will be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. + :type delegated_subnet_id: str + :param node_count: The number of nodes the data center should have. This is the desired number. + After it is set, it may take some time for the data center to be scaled to match. To monitor + the number of nodes and their status, use the fetchNodeStatus method on the cluster. + :type node_count: int + :ivar seed_nodes: IP addresses for seed nodes in this data center. This is for reference. + Generally you will want to use the seedNodes property on the cluster, which aggregates the seed + nodes from all data centers in the cluster. + :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] + :param base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration + file to be included in the cassandra.yaml for all nodes in this data center. The fragment + should be Base64 encoded, and only a subset of keys are allowed. + :type base64_encoded_cassandra_yaml_fragment: str + :param managed_disk_customer_key_uri: Key uri to use for encryption of managed disks. Ensure + the system assigned identity of the cluster has been assigned appropriate permissions(key + get/wrap/unwrap permissions) on the key. + :type managed_disk_customer_key_uri: str + :param backup_storage_customer_key_uri: Indicates the Key Uri of the customer key to use for + encryption of the backup storage account. + :type backup_storage_customer_key_uri: str + :param sku: Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2. + :type sku: str + :param disk_sku: Disk SKU used for data centers. Default value is P30. + :type disk_sku: str + :param disk_capacity: Number of disk used for data centers. Default value is 4. + :type disk_capacity: int + :param availability_zone: If the azure data center has Availability Zone support, apply it to + the Virtual Machine ScaleSet that host the cassandra data center virtual machines. + :type availability_zone: bool """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'resource': {'required': True}, + 'seed_nodes': {'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}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'resource': {'key': 'properties.resource', 'type': 'GraphResource'}, - 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'data_center_location': {'key': 'dataCenterLocation', 'type': 'str'}, + 'delegated_subnet_id': {'key': 'delegatedSubnetId', 'type': 'str'}, + 'node_count': {'key': 'nodeCount', 'type': 'int'}, + 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, + 'base64_encoded_cassandra_yaml_fragment': {'key': 'base64EncodedCassandraYamlFragment', 'type': 'str'}, + 'managed_disk_customer_key_uri': {'key': 'managedDiskCustomerKeyUri', 'type': 'str'}, + 'backup_storage_customer_key_uri': {'key': 'backupStorageCustomerKeyUri', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'str'}, + 'disk_sku': {'key': 'diskSku', 'type': 'str'}, + 'disk_capacity': {'key': 'diskCapacity', 'type': 'int'}, + 'availability_zone': {'key': 'availabilityZone', 'type': 'bool'}, } def __init__( self, **kwargs ): - super(GraphResourceCreateUpdateParameters, self).__init__(**kwargs) - self.resource = kwargs['resource'] - self.options = kwargs.get('options', None) + super(DataCenterResourceProperties, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.data_center_location = kwargs.get('data_center_location', None) + self.delegated_subnet_id = kwargs.get('delegated_subnet_id', None) + self.node_count = kwargs.get('node_count', None) + self.seed_nodes = None + self.base64_encoded_cassandra_yaml_fragment = kwargs.get('base64_encoded_cassandra_yaml_fragment', None) + self.managed_disk_customer_key_uri = kwargs.get('managed_disk_customer_key_uri', None) + self.backup_storage_customer_key_uri = kwargs.get('backup_storage_customer_key_uri', None) + self.sku = kwargs.get('sku', None) + self.disk_sku = kwargs.get('disk_sku', None) + self.disk_capacity = kwargs.get('disk_capacity', None) + self.availability_zone = kwargs.get('availability_zone', None) -class GraphResourceGetPropertiesOptions(OptionsResource): - """GraphResourceGetPropertiesOptions. +class ErrorResponse(msrest.serialization.Model): + """Error Response. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the - ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :param code: Error code. + :type code: str + :param message: Error message indicating why the operation failed. + :type message: str """ _attribute_map = { - 'throughput': {'key': 'throughput', 'type': 'int'}, - 'autoscale_settings': {'key': 'autoscaleSettings', 'type': 'AutoscaleSettings'}, + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, } def __init__( self, **kwargs ): - super(GraphResourceGetPropertiesOptions, self).__init__(**kwargs) - - -class GraphResourceGetPropertiesResource(GraphResource, ExtendedResourceProperties): - """GraphResourceGetPropertiesResource. + super(ErrorResponse, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) - 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. +class ExcludedPath(msrest.serialization.Model): + """ExcludedPath. - :ivar rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - :param id: Required. Name of the Cosmos DB Graph. - :type id: str + :param path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). + :type path: str """ - _validation = { - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, - 'id': {'required': True}, - } - _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, } def __init__( self, **kwargs ): - super(GraphResourceGetPropertiesResource, self).__init__(**kwargs) - self.rid = None - self.ts = None - self.etag = None - self.id = kwargs['id'] + super(ExcludedPath, self).__init__(**kwargs) + self.path = kwargs.get('path', None) -class GraphResourceGetResults(ARMResourceProperties): - """An Azure Cosmos DB Graph resource. +class FailoverPolicies(msrest.serialization.Model): + """The list of new failover policies for the failover priority change. - 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 unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesOptions + :param failover_policies: Required. List of failover policies. + :type failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, + 'failover_policies': {'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}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'resource': {'key': 'properties.resource', 'type': 'GraphResourceGetPropertiesResource'}, - 'options': {'key': 'properties.options', 'type': 'GraphResourceGetPropertiesOptions'}, + 'failover_policies': {'key': 'failoverPolicies', 'type': '[FailoverPolicy]'}, } def __init__( self, **kwargs ): - super(GraphResourceGetResults, self).__init__(**kwargs) - self.resource = kwargs.get('resource', None) - self.options = kwargs.get('options', None) + super(FailoverPolicies, self).__init__(**kwargs) + self.failover_policies = kwargs['failover_policies'] -class GraphResourcesListResult(msrest.serialization.Model): - """The List operation response, that contains the Graph resource and their properties. +class FailoverPolicy(msrest.serialization.Model): + """The failover policy for a given region of a database account. Variables are only populated by the server, and will be ignored when sending a request. - :ivar value: List of Graph resource and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.GraphResourceGetResults] + :ivar id: The unique identifier of the region in which the database account replicates to. + Example: <accountName>-<locationName>. + :vartype id: str + :param location_name: The name of the region in which the database account exists. + :type location_name: str + :param failover_priority: The failover priority of the region. A failover priority of 0 + indicates a write region. The maximum value for a failover priority = (total number of regions + - 1). Failover priority values must be unique for each of the regions in which the database + account exists. + :type failover_priority: int """ _validation = { - 'value': {'readonly': True}, + 'id': {'readonly': True}, + 'failover_priority': {'minimum': 0}, } _attribute_map = { - 'value': {'key': 'value', 'type': '[GraphResourceGetResults]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location_name': {'key': 'locationName', 'type': 'str'}, + 'failover_priority': {'key': 'failoverPriority', 'type': 'int'}, } def __init__( self, **kwargs ): - super(GraphResourcesListResult, self).__init__(**kwargs) - self.value = None + super(FailoverPolicy, self).__init__(**kwargs) + self.id = None + self.location_name = kwargs.get('location_name', None) + self.failover_priority = kwargs.get('failover_priority', None) class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): @@ -3619,8 +2753,6 @@ class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a Gremlin database. :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -3641,7 +2773,6 @@ class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'GremlinDatabaseResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -3765,8 +2896,6 @@ class GremlinDatabaseGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource :param options: @@ -3785,7 +2914,6 @@ class GremlinDatabaseGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'GremlinDatabaseGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'GremlinDatabaseGetPropertiesOptions'}, } @@ -3846,8 +2974,6 @@ class GremlinGraphCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a Gremlin graph. :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -3868,7 +2994,6 @@ class GremlinGraphCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'GremlinGraphResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -4038,8 +3163,6 @@ class GremlinGraphGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource :param options: @@ -4058,7 +3181,6 @@ class GremlinGraphGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'GremlinGraphGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'GremlinGraphGetPropertiesOptions'}, } @@ -4214,31 +3336,6 @@ def __init__( self.ip_address_or_range = kwargs.get('ip_address_or_range', None) -class ListBackups(msrest.serialization.Model): - """List of restorable backups for a Cassandra cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Container for array of backups. - :vartype value: list[~azure.mgmt.cosmosdb.models.BackupResource] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BackupResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(ListBackups, self).__init__(**kwargs) - self.value = None - - class ListClusters(msrest.serialization.Model): """List of managed Cassandra clusters. @@ -4404,46 +3501,102 @@ def __init__( self.value = None -class LocationProperties(msrest.serialization.Model): - """Cosmos DB location metadata. +class LocationProperties(msrest.serialization.Model): + """Cosmos DB location metadata. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar supports_availability_zone: Flag indicating whether the location supports availability + zones or not. + :vartype supports_availability_zone: bool + :ivar is_residency_restricted: Flag indicating whether the location is residency sensitive. + :vartype is_residency_restricted: bool + :ivar backup_storage_redundancies: The properties of available backup storage redundancies. + :vartype backup_storage_redundancies: list[str or + ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy] + """ + + _validation = { + 'supports_availability_zone': {'readonly': True}, + 'is_residency_restricted': {'readonly': True}, + 'backup_storage_redundancies': {'readonly': True}, + } + + _attribute_map = { + 'supports_availability_zone': {'key': 'supportsAvailabilityZone', 'type': 'bool'}, + 'is_residency_restricted': {'key': 'isResidencyRestricted', 'type': 'bool'}, + 'backup_storage_redundancies': {'key': 'backupStorageRedundancies', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(LocationProperties, self).__init__(**kwargs) + self.supports_availability_zone = None + self.is_residency_restricted = None + self.backup_storage_redundancies = None + + +class ManagedCassandraManagedServiceIdentity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The object id of the identity resource. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the resource. + :vartype tenant_id: str + :param type: The type of the resource. Possible values include: "SystemAssigned", "None". + :type type: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraResourceIdentityType + """ + + _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': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedCassandraManagedServiceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + - Variables are only populated by the server, and will be ignored when sending a request. +class ManagedCassandraReaperStatus(msrest.serialization.Model): + """ManagedCassandraReaperStatus. - :ivar status: The current status of location in Azure. - :vartype status: str - :ivar supports_availability_zone: Flag indicating whether the location supports availability - zones or not. - :vartype supports_availability_zone: bool - :ivar is_residency_restricted: Flag indicating whether the location is residency sensitive. - :vartype is_residency_restricted: bool - :ivar backup_storage_redundancies: The properties of available backup storage redundancies. - :vartype backup_storage_redundancies: list[str or - ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy] + :param healthy: + :type healthy: bool + :param repair_run_ids: Dictionary of :code:``. + :type repair_run_ids: dict[str, str] + :param repair_schedules: Dictionary of :code:``. + :type repair_schedules: dict[str, str] """ - _validation = { - 'status': {'readonly': True}, - 'supports_availability_zone': {'readonly': True}, - 'is_residency_restricted': {'readonly': True}, - 'backup_storage_redundancies': {'readonly': True}, - } - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'supports_availability_zone': {'key': 'supportsAvailabilityZone', 'type': 'bool'}, - 'is_residency_restricted': {'key': 'isResidencyRestricted', 'type': 'bool'}, - 'backup_storage_redundancies': {'key': 'backupStorageRedundancies', 'type': '[str]'}, + 'healthy': {'key': 'healthy', 'type': 'bool'}, + 'repair_run_ids': {'key': 'repairRunIds', 'type': '{str}'}, + 'repair_schedules': {'key': 'repairSchedules', 'type': '{str}'}, } def __init__( self, **kwargs ): - super(LocationProperties, self).__init__(**kwargs) - self.status = None - self.supports_availability_zone = None - self.is_residency_restricted = None - self.backup_storage_redundancies = None + super(ManagedCassandraReaperStatus, self).__init__(**kwargs) + self.healthy = kwargs.get('healthy', None) + self.repair_run_ids = kwargs.get('repair_run_ids', None) + self.repair_schedules = kwargs.get('repair_schedules', None) class ManagedServiceIdentity(msrest.serialization.Model): @@ -4772,8 +3925,6 @@ class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a MongoDB collection. :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -4794,7 +3945,6 @@ class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'MongoDBCollectionResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -4942,8 +4092,6 @@ class MongoDBCollectionGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource :param options: @@ -4962,7 +4110,6 @@ class MongoDBCollectionGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'MongoDBCollectionGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'MongoDBCollectionGetPropertiesOptions'}, } @@ -5023,8 +4170,6 @@ class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a MongoDB database. :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -5045,7 +4190,6 @@ class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'MongoDBDatabaseResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -5169,8 +4313,6 @@ class MongoDBDatabaseGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource :param options: @@ -5189,7 +4331,6 @@ class MongoDBDatabaseGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'MongoDBDatabaseGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'MongoDBDatabaseGetPropertiesOptions'}, } @@ -6232,36 +5373,6 @@ def __init__( self.region = kwargs['region'] -class RepairPostBody(msrest.serialization.Model): - """Specification of the keyspaces and tables to run repair on. - - All required parameters must be populated in order to send to Azure. - - :param keyspace: Required. The name of the keyspace that repair should be run on. - :type keyspace: str - :param tables: List of tables in the keyspace to repair. If omitted, repair all tables in the - keyspace. - :type tables: list[str] - """ - - _validation = { - 'keyspace': {'required': True}, - } - - _attribute_map = { - 'keyspace': {'key': 'keyspace', 'type': 'str'}, - 'tables': {'key': 'tables', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(RepairPostBody, self).__init__(**kwargs) - self.keyspace = kwargs['keyspace'] - self.tables = kwargs.get('tables', None) - - class RestorableDatabaseAccountGetResult(msrest.serialization.Model): """A Azure Cosmos DB restorable database account. @@ -6996,15 +6107,13 @@ def __init__( self.id = kwargs['id'] -class RestorableSqlDatabasePropertiesResourceDatabase(ExtendedResourceProperties, SqlDatabaseResource): +class RestorableSqlDatabasePropertiesResourceDatabase(SqlDatabaseResource, ExtendedResourceProperties): """Cosmos DB SQL database resource object. 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 id: Required. Name of the Cosmos DB SQL database. - :type id: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -7012,6 +6121,8 @@ class RestorableSqlDatabasePropertiesResourceDatabase(ExtendedResourceProperties :ivar etag: A system generated property representing the resource etag required for optimistic concurrency control. :vartype etag: str + :param id: Required. Name of the Cosmos DB SQL database. + :type id: str :ivar colls: A system generated property that specified the addressable path of the collections resource. :vartype colls: str @@ -7024,20 +6135,20 @@ class RestorableSqlDatabasePropertiesResourceDatabase(ExtendedResourceProperties """ _validation = { - 'id': {'required': True}, 'rid': {'readonly': True}, 'ts': {'readonly': True}, 'etag': {'readonly': True}, + 'id': {'required': True}, 'colls': {'readonly': True}, 'users': {'readonly': True}, 'self_property': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, 'rid': {'key': '_rid', 'type': 'str'}, 'ts': {'key': '_ts', 'type': 'float'}, 'etag': {'key': '_etag', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, 'colls': {'key': '_colls', 'type': 'str'}, 'users': {'key': '_users', 'type': 'str'}, 'self_property': {'key': '_self', 'type': 'str'}, @@ -7048,16 +6159,16 @@ def __init__( **kwargs ): super(RestorableSqlDatabasePropertiesResourceDatabase, self).__init__(**kwargs) - self.id = kwargs['id'] - self.colls = None - self.users = None - self.self_property = None self.rid = None self.ts = None self.etag = None self.colls = None self.users = None self.self_property = None + self.id = kwargs['id'] + self.colls = None + self.users = None + self.self_property = None class RestorableSqlDatabasesListResult(msrest.serialization.Model): @@ -7163,100 +6274,6 @@ def __init__( self.ip_address = kwargs.get('ip_address', None) -class ServiceResource(ARMProxyResource): - """Properties for the database account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The unique resource identifier of the database account. - :vartype id: str - :ivar name: The name of the database account. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param properties: Services response resource. - :type properties: ~azure.mgmt.cosmosdb.models.ServiceResourceProperties - """ - - _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'}, - 'properties': {'key': 'properties', 'type': 'ServiceResourceProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(ServiceResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class ServiceResourceCreateUpdateParameters(msrest.serialization.Model): - """ServiceResourceCreateUpdateParameters. - - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", - "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType - """ - - _validation = { - 'instance_count': {'minimum': 0}, - } - - _attribute_map = { - 'instance_size': {'key': 'properties.instanceSize', 'type': 'str'}, - 'instance_count': {'key': 'properties.instanceCount', 'type': 'int'}, - 'service_type': {'key': 'properties.serviceType', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ServiceResourceCreateUpdateParameters, self).__init__(**kwargs) - self.instance_size = kwargs.get('instance_size', None) - self.instance_count = kwargs.get('instance_count', None) - self.service_type = kwargs.get('service_type', None) - - -class ServiceResourceListResult(msrest.serialization.Model): - """The List operation response, that contains the Service Resource and their properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Service Resource and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.ServiceResource] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ServiceResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(ServiceResourceListResult, self).__init__(**kwargs) - self.value = None - - class SpatialSpec(msrest.serialization.Model): """SpatialSpec. @@ -7303,8 +6320,6 @@ class SqlContainerCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a container. :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -7325,7 +6340,6 @@ class SqlContainerCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlContainerResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -7451,8 +6465,6 @@ class SqlContainerGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource :param options: @@ -7471,7 +6483,6 @@ class SqlContainerGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlContainerGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'SqlContainerGetPropertiesOptions'}, } @@ -7532,8 +6543,6 @@ class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a SQL database. :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -7554,7 +6563,6 @@ class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlDatabaseResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -7590,15 +6598,13 @@ def __init__( super(SqlDatabaseGetPropertiesOptions, self).__init__(**kwargs) -class SqlDatabaseGetPropertiesResource(ExtendedResourceProperties, SqlDatabaseResource): +class SqlDatabaseGetPropertiesResource(SqlDatabaseResource, ExtendedResourceProperties): """SqlDatabaseGetPropertiesResource. 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 id: Required. Name of the Cosmos DB SQL database. - :type id: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -7606,6 +6612,8 @@ class SqlDatabaseGetPropertiesResource(ExtendedResourceProperties, SqlDatabaseRe :ivar etag: A system generated property representing the resource etag required for optimistic concurrency control. :vartype etag: str + :param id: Required. Name of the Cosmos DB SQL database. + :type id: str :param colls: A system generated property that specified the addressable path of the collections resource. :type colls: str @@ -7615,17 +6623,17 @@ class SqlDatabaseGetPropertiesResource(ExtendedResourceProperties, SqlDatabaseRe """ _validation = { - 'id': {'required': True}, 'rid': {'readonly': True}, 'ts': {'readonly': True}, 'etag': {'readonly': True}, + 'id': {'required': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, 'rid': {'key': '_rid', 'type': 'str'}, 'ts': {'key': '_ts', 'type': 'float'}, 'etag': {'key': '_etag', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, 'colls': {'key': '_colls', 'type': 'str'}, 'users': {'key': '_users', 'type': 'str'}, } @@ -7635,14 +6643,14 @@ def __init__( **kwargs ): super(SqlDatabaseGetPropertiesResource, self).__init__(**kwargs) - self.id = kwargs['id'] - self.colls = kwargs.get('colls', None) - self.users = kwargs.get('users', None) self.rid = None self.ts = None self.etag = None self.colls = kwargs.get('colls', None) self.users = kwargs.get('users', None) + self.id = kwargs['id'] + self.colls = kwargs.get('colls', None) + self.users = kwargs.get('users', None) class SqlDatabaseGetResults(ARMResourceProperties): @@ -7665,8 +6673,6 @@ class SqlDatabaseGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource :param options: @@ -7685,7 +6691,6 @@ class SqlDatabaseGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlDatabaseGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'SqlDatabaseGetPropertiesOptions'}, } @@ -7724,121 +6729,6 @@ def __init__( self.value = None -class SqlDedicatedGatewayRegionalServiceResource(RegionalServiceResource): - """Resource for a regional service location. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: The regional service name. - :vartype name: str - :ivar location: The location name. - :vartype location: str - :ivar status: Describes the status of a service. Possible values include: "Creating", - "Running", "Updating", "Deleting", "Error", "Stopped". - :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - :ivar sql_dedicated_gateway_endpoint: The regional endpoint for SqlDedicatedGateway. - :vartype sql_dedicated_gateway_endpoint: str - """ - - _validation = { - 'name': {'readonly': True}, - 'location': {'readonly': True}, - 'status': {'readonly': True}, - 'sql_dedicated_gateway_endpoint': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'sql_dedicated_gateway_endpoint': {'key': 'sqlDedicatedGatewayEndpoint', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlDedicatedGatewayRegionalServiceResource, self).__init__(**kwargs) - self.sql_dedicated_gateway_endpoint = None - - -class SqlDedicatedGatewayServiceResource(msrest.serialization.Model): - """Describes the service response property for SqlDedicatedGateway. - - :param properties: Properties for SqlDedicatedGatewayServiceResource. - :type properties: ~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayServiceResourceProperties - """ - - _attribute_map = { - 'properties': {'key': 'properties', 'type': 'SqlDedicatedGatewayServiceResourceProperties'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlDedicatedGatewayServiceResource, self).__init__(**kwargs) - self.properties = kwargs.get('properties', None) - - -class SqlDedicatedGatewayServiceResourceProperties(ServiceResourceProperties): - """Properties for SqlDedicatedGatewayServiceResource. - - 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, any] - :ivar creation_time: Time of the last state change (ISO-8601 format). - :vartype creation_time: ~datetime.datetime - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", - "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: Required. ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType - :ivar status: Describes the status of a service. Possible values include: "Creating", - "Running", "Updating", "Deleting", "Error", "Stopped". - :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - :param sql_dedicated_gateway_endpoint: SqlDedicatedGateway endpoint for the service. - :type sql_dedicated_gateway_endpoint: str - :ivar locations: An array that contains all of the locations for the service. - :vartype locations: - list[~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayRegionalServiceResource] - """ - - _validation = { - 'creation_time': {'readonly': True}, - 'instance_count': {'minimum': 0}, - 'service_type': {'required': True}, - 'status': {'readonly': True}, - 'locations': {'readonly': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, - 'instance_size': {'key': 'instanceSize', 'type': 'str'}, - 'instance_count': {'key': 'instanceCount', 'type': 'int'}, - 'service_type': {'key': 'serviceType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'sql_dedicated_gateway_endpoint': {'key': 'sqlDedicatedGatewayEndpoint', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[SqlDedicatedGatewayRegionalServiceResource]'}, - } - - def __init__( - self, - **kwargs - ): - super(SqlDedicatedGatewayServiceResourceProperties, self).__init__(**kwargs) - self.sql_dedicated_gateway_endpoint = kwargs.get('sql_dedicated_gateway_endpoint', None) - self.locations = None - - class SqlRoleAssignmentCreateUpdateParameters(msrest.serialization.Model): """Parameters to create and update an Azure Cosmos DB SQL Role Assignment. @@ -8079,8 +6969,6 @@ class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a storedProcedure. :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -8101,7 +6989,6 @@ class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -8211,8 +7098,6 @@ class SqlStoredProcedureGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource """ @@ -8229,7 +7114,6 @@ class SqlStoredProcedureGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlStoredProcedureGetPropertiesResource'}, } @@ -8288,8 +7172,6 @@ class SqlTriggerCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a trigger. :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -8310,7 +7192,6 @@ class SqlTriggerCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlTriggerResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -8438,8 +7319,6 @@ class SqlTriggerGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource """ @@ -8456,7 +7335,6 @@ class SqlTriggerGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlTriggerGetPropertiesResource'}, } @@ -8515,8 +7393,6 @@ class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a userDefinedFunction. :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -8537,7 +7413,6 @@ class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -8647,8 +7522,6 @@ class SqlUserDefinedFunctionGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource """ @@ -8665,7 +7538,6 @@ class SqlUserDefinedFunctionGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'SqlUserDefinedFunctionGetPropertiesResource'}, } @@ -8765,8 +7637,6 @@ class TableCreateUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a Table. :type resource: ~azure.mgmt.cosmosdb.models.TableResource :param options: A key-value pair of options to be applied for the request. This corresponds to @@ -8787,7 +7657,6 @@ class TableCreateUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'TableResource'}, 'options': {'key': 'properties.options', 'type': 'CreateUpdateOptions'}, } @@ -8911,8 +7780,6 @@ class TableGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.TableGetPropertiesResource :param options: @@ -8931,7 +7798,6 @@ class TableGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'TableGetPropertiesResource'}, 'options': {'key': 'properties.options', 'type': 'TableGetPropertiesOptions'}, } @@ -9110,8 +7976,6 @@ class ThroughputSettingsGetResults(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource """ @@ -9128,7 +7992,6 @@ class ThroughputSettingsGetResults(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsGetPropertiesResource'}, } @@ -9162,8 +8025,6 @@ class ThroughputSettingsUpdateParameters(ARMResourceProperties): template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB". :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity :param resource: Required. The standard JSON format of a resource throughput. :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource """ @@ -9181,7 +8042,6 @@ class ThroughputSettingsUpdateParameters(ARMResourceProperties): 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 'resource': {'key': 'properties.resource', 'type': 'ThroughputSettingsResource'}, } diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models_py3.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models_py3.py index baa69049e97..77f25720a47 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models_py3.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/models/_models_py3.py @@ -18,9 +18,9 @@ class AnalyticalStorageConfiguration(msrest.serialization.Model): """Analytical storage specific properties. - :param schema_type: Describes the types of schema for analytical storage. Possible values + :ivar schema_type: Describes the types of schema for analytical storage. Possible values include: "WellDefined", "FullFidelity". - :type schema_type: str or ~azure.mgmt.cosmosdb.models.AnalyticalStorageSchemaType + :vartype schema_type: str or ~azure.mgmt.cosmosdb.models.AnalyticalStorageSchemaType """ _attribute_map = { @@ -33,6 +33,11 @@ def __init__( schema_type: Optional[Union[str, "AnalyticalStorageSchemaType"]] = None, **kwargs ): + """ + :keyword schema_type: Describes the types of schema for analytical storage. Possible values + include: "WellDefined", "FullFidelity". + :paramtype schema_type: str or ~azure.mgmt.cosmosdb.models.AnalyticalStorageSchemaType + """ super(AnalyticalStorageConfiguration, self).__init__(**kwargs) self.schema_type = schema_type @@ -40,9 +45,9 @@ def __init__( class ApiProperties(msrest.serialization.Model): """ApiProperties. - :param server_version: Describes the ServerVersion of an a MongoDB account. Possible values + :ivar server_version: Describes the ServerVersion of an a MongoDB account. Possible values include: "3.2", "3.6", "4.0". - :type server_version: str or ~azure.mgmt.cosmosdb.models.ServerVersion + :vartype server_version: str or ~azure.mgmt.cosmosdb.models.ServerVersion """ _attribute_map = { @@ -55,6 +60,11 @@ def __init__( server_version: Optional[Union[str, "ServerVersion"]] = None, **kwargs ): + """ + :keyword server_version: Describes the ServerVersion of an a MongoDB account. Possible values + include: "3.2", "3.6", "4.0". + :paramtype server_version: str or ~azure.mgmt.cosmosdb.models.ServerVersion + """ super(ApiProperties, self).__init__(**kwargs) self.server_version = server_version @@ -88,6 +98,8 @@ def __init__( self, **kwargs ): + """ + """ super(ARMProxyResource, self).__init__(**kwargs) self.id = None self.name = None @@ -105,17 +117,17 @@ class ARMResourceProperties(msrest.serialization.Model): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity """ _validation = { @@ -141,6 +153,19 @@ def __init__( identity: Optional["ManagedServiceIdentity"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + """ super(ARMResourceProperties, self).__init__(**kwargs) self.id = None self.name = None @@ -150,11 +175,84 @@ def __init__( self.identity = identity +class AuthenticationMethodLdapProperties(msrest.serialization.Model): + """Ldap authentication method properties. This feature is in preview. + + :ivar server_hostname: Hostname of the LDAP server. + :vartype server_hostname: str + :ivar server_port: Port of the LDAP server. + :vartype server_port: int + :ivar service_user_distinguished_name: Distinguished name of the look up user account, who can + look up user details on authentication. + :vartype service_user_distinguished_name: str + :ivar service_user_password: Password of the look up user. + :vartype service_user_password: str + :ivar search_base_distinguished_name: Distinguished name of the object to start the recursive + search of users from. + :vartype search_base_distinguished_name: str + :ivar search_filter_template: Template to use for searching. Defaults to (cn=%s) where %s will + be replaced by the username used to login. + :vartype search_filter_template: str + :ivar server_certificates: + :vartype server_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + """ + + _attribute_map = { + 'server_hostname': {'key': 'serverHostname', 'type': 'str'}, + 'server_port': {'key': 'serverPort', 'type': 'int'}, + 'service_user_distinguished_name': {'key': 'serviceUserDistinguishedName', 'type': 'str'}, + 'service_user_password': {'key': 'serviceUserPassword', 'type': 'str'}, + 'search_base_distinguished_name': {'key': 'searchBaseDistinguishedName', 'type': 'str'}, + 'search_filter_template': {'key': 'searchFilterTemplate', 'type': 'str'}, + 'server_certificates': {'key': 'serverCertificates', 'type': '[Certificate]'}, + } + + def __init__( + self, + *, + server_hostname: Optional[str] = None, + server_port: Optional[int] = None, + service_user_distinguished_name: Optional[str] = None, + service_user_password: Optional[str] = None, + search_base_distinguished_name: Optional[str] = None, + search_filter_template: Optional[str] = None, + server_certificates: Optional[List["Certificate"]] = None, + **kwargs + ): + """ + :keyword server_hostname: Hostname of the LDAP server. + :paramtype server_hostname: str + :keyword server_port: Port of the LDAP server. + :paramtype server_port: int + :keyword service_user_distinguished_name: Distinguished name of the look up user account, who + can look up user details on authentication. + :paramtype service_user_distinguished_name: str + :keyword service_user_password: Password of the look up user. + :paramtype service_user_password: str + :keyword search_base_distinguished_name: Distinguished name of the object to start the + recursive search of users from. + :paramtype search_base_distinguished_name: str + :keyword search_filter_template: Template to use for searching. Defaults to (cn=%s) where %s + will be replaced by the username used to login. + :paramtype search_filter_template: str + :keyword server_certificates: + :paramtype server_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + """ + super(AuthenticationMethodLdapProperties, self).__init__(**kwargs) + self.server_hostname = server_hostname + self.server_port = server_port + self.service_user_distinguished_name = service_user_distinguished_name + self.service_user_password = service_user_password + self.search_base_distinguished_name = search_base_distinguished_name + self.search_filter_template = search_filter_template + self.server_certificates = server_certificates + + class AutoscaleSettings(msrest.serialization.Model): """AutoscaleSettings. - :param max_throughput: Represents maximum throughput, the resource can scale up to. - :type max_throughput: int + :ivar max_throughput: Represents maximum throughput, the resource can scale up to. + :vartype max_throughput: int """ _attribute_map = { @@ -167,6 +265,10 @@ def __init__( max_throughput: Optional[int] = None, **kwargs ): + """ + :keyword max_throughput: Represents maximum throughput, the resource can scale up to. + :paramtype max_throughput: int + """ super(AutoscaleSettings, self).__init__(**kwargs) self.max_throughput = max_throughput @@ -178,10 +280,10 @@ class AutoscaleSettingsResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param max_throughput: Required. Represents maximum throughput container can scale up to. - :type max_throughput: int - :param auto_upgrade_policy: Cosmos DB resource auto-upgrade policy. - :type auto_upgrade_policy: ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource + :ivar max_throughput: Required. Represents maximum throughput container can scale up to. + :vartype max_throughput: int + :ivar auto_upgrade_policy: Cosmos DB resource auto-upgrade policy. + :vartype auto_upgrade_policy: ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource :ivar target_max_throughput: Represents target maximum throughput container can scale up to once offer is no longer in pending state. :vartype target_max_throughput: int @@ -205,6 +307,12 @@ def __init__( auto_upgrade_policy: Optional["AutoUpgradePolicyResource"] = None, **kwargs ): + """ + :keyword max_throughput: Required. Represents maximum throughput container can scale up to. + :paramtype max_throughput: int + :keyword auto_upgrade_policy: Cosmos DB resource auto-upgrade policy. + :paramtype auto_upgrade_policy: ~azure.mgmt.cosmosdb.models.AutoUpgradePolicyResource + """ super(AutoscaleSettingsResource, self).__init__(**kwargs) self.max_throughput = max_throughput self.auto_upgrade_policy = auto_upgrade_policy @@ -214,9 +322,9 @@ def __init__( class AutoUpgradePolicyResource(msrest.serialization.Model): """Cosmos DB resource auto-upgrade policy. - :param throughput_policy: Represents throughput policy which service must adhere to for + :ivar throughput_policy: Represents throughput policy which service must adhere to for auto-upgrade. - :type throughput_policy: ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource + :vartype throughput_policy: ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource """ _attribute_map = { @@ -229,10 +337,94 @@ def __init__( throughput_policy: Optional["ThroughputPolicyResource"] = None, **kwargs ): + """ + :keyword throughput_policy: Represents throughput policy which service must adhere to for + auto-upgrade. + :paramtype throughput_policy: ~azure.mgmt.cosmosdb.models.ThroughputPolicyResource + """ super(AutoUpgradePolicyResource, self).__init__(**kwargs) self.throughput_policy = throughput_policy +class DataTransferDataSourceSink(msrest.serialization.Model): + """Base class for all DataTransfer source/sink. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureBlobDataTransferDataSourceSink, CosmosCassandraDataTransferDataSourceSink, CosmosSqlDataTransferDataSourceSink. + + All required parameters must be populated in order to send to Azure. + + :ivar component: Required. Constant filled by server. Possible values include: + "CosmosDBCassandra", "CosmosDBSql", "AzureBlobStorage". Default value: "CosmosDBCassandra". + :vartype component: str or ~azure.mgmt.cosmosdb.models.DataTransferComponent + """ + + _validation = { + 'component': {'required': True}, + } + + _attribute_map = { + 'component': {'key': 'component', 'type': 'str'}, + } + + _subtype_map = { + 'component': {'AzureBlobStorage': 'AzureBlobDataTransferDataSourceSink', 'CosmosDBCassandra': 'CosmosCassandraDataTransferDataSourceSink', 'CosmosDBSql': 'CosmosSqlDataTransferDataSourceSink'} + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(DataTransferDataSourceSink, self).__init__(**kwargs) + self.component = None # type: Optional[str] + + +class AzureBlobDataTransferDataSourceSink(DataTransferDataSourceSink): + """An Azure Blob Storage data source/sink. + + All required parameters must be populated in order to send to Azure. + + :ivar component: Required. Constant filled by server. Possible values include: + "CosmosDBCassandra", "CosmosDBSql", "AzureBlobStorage". Default value: "CosmosDBCassandra". + :vartype component: str or ~azure.mgmt.cosmosdb.models.DataTransferComponent + :ivar container_name: Required. + :vartype container_name: str + :ivar endpoint_url: + :vartype endpoint_url: str + """ + + _validation = { + 'component': {'required': True}, + 'container_name': {'required': True}, + } + + _attribute_map = { + 'component': {'key': 'component', 'type': 'str'}, + 'container_name': {'key': 'containerName', 'type': 'str'}, + 'endpoint_url': {'key': 'endpointUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + container_name: str, + endpoint_url: Optional[str] = None, + **kwargs + ): + """ + :keyword container_name: Required. + :paramtype container_name: str + :keyword endpoint_url: + :paramtype endpoint_url: str + """ + super(AzureBlobDataTransferDataSourceSink, self).__init__(**kwargs) + self.component = 'AzureBlobStorage' # type: str + self.container_name = container_name + self.endpoint_url = endpoint_url + + class BackupInformation(msrest.serialization.Model): """Backup information of a resource. @@ -254,6 +446,8 @@ def __init__( self, **kwargs ): + """ + """ super(BackupInformation, self).__init__(**kwargs) self.continuous_backup_information = None @@ -266,12 +460,12 @@ class BackupPolicy(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param type: Required. Describes the mode of backups.Constant filled by server. Possible - values include: "Periodic", "Continuous". - :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType - :param migration_state: The object representing the state of the migration between the backup + :ivar type: Required. Describes the mode of backups.Constant filled by server. Possible values + include: "Periodic", "Continuous". + :vartype type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType + :ivar migration_state: The object representing the state of the migration between the backup policies. - :type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState + :vartype migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState """ _validation = { @@ -293,6 +487,11 @@ def __init__( migration_state: Optional["BackupPolicyMigrationState"] = None, **kwargs ): + """ + :keyword migration_state: The object representing the state of the migration between the backup + policies. + :paramtype migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState + """ super(BackupPolicy, self).__init__(**kwargs) self.type = None # type: Optional[str] self.migration_state = migration_state @@ -301,14 +500,14 @@ def __init__( class BackupPolicyMigrationState(msrest.serialization.Model): """The object representing the state of the migration between the backup policies. - :param status: Describes the status of migration between backup policy types. Possible values + :ivar status: Describes the status of migration between backup policy types. Possible values include: "Invalid", "InProgress", "Completed", "Failed". - :type status: str or ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationStatus - :param target_type: Describes the target backup policy type of the backup policy migration. + :vartype status: str or ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationStatus + :ivar target_type: Describes the target backup policy type of the backup policy migration. Possible values include: "Periodic", "Continuous". - :type target_type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType - :param start_time: Time at which the backup policy migration started (ISO-8601 format). - :type start_time: ~datetime.datetime + :vartype target_type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType + :ivar start_time: Time at which the backup policy migration started (ISO-8601 format). + :vartype start_time: ~datetime.datetime """ _attribute_map = { @@ -325,6 +524,16 @@ def __init__( start_time: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword status: Describes the status of migration between backup policy types. Possible values + include: "Invalid", "InProgress", "Completed", "Failed". + :paramtype status: str or ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationStatus + :keyword target_type: Describes the target backup policy type of the backup policy migration. + Possible values include: "Periodic", "Continuous". + :paramtype target_type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType + :keyword start_time: Time at which the backup policy migration started (ISO-8601 format). + :paramtype start_time: ~datetime.datetime + """ super(BackupPolicyMigrationState, self).__init__(**kwargs) self.status = status self.target_type = target_type @@ -342,8 +551,8 @@ class BackupResource(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param properties: - :type properties: ~azure.mgmt.cosmosdb.models.BackupResourceProperties + :ivar properties: + :vartype properties: ~azure.mgmt.cosmosdb.models.BackupResourceProperties """ _validation = { @@ -365,6 +574,10 @@ def __init__( properties: Optional["BackupResourceProperties"] = None, **kwargs ): + """ + :keyword properties: + :paramtype properties: ~azure.mgmt.cosmosdb.models.BackupResourceProperties + """ super(BackupResource, self).__init__(**kwargs) self.properties = properties @@ -372,8 +585,8 @@ def __init__( class BackupResourceProperties(msrest.serialization.Model): """BackupResourceProperties. - :param timestamp: The time this backup was taken, formatted like 2021-01-21T17:35:21. - :type timestamp: ~datetime.datetime + :ivar timestamp: The time this backup was taken, formatted like 2021-01-21T17:35:21. + :vartype timestamp: ~datetime.datetime """ _attribute_map = { @@ -386,6 +599,10 @@ def __init__( timestamp: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword timestamp: The time this backup was taken, formatted like 2021-01-21T17:35:21. + :paramtype timestamp: ~datetime.datetime + """ super(BackupResourceProperties, self).__init__(**kwargs) self.timestamp = timestamp @@ -393,9 +610,9 @@ def __init__( class Capability(msrest.serialization.Model): """Cosmos DB capability object. - :param name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current + :ivar name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include "EnableTable" and "EnableGremlin". - :type name: str + :vartype name: str """ _attribute_map = { @@ -408,10 +625,141 @@ def __init__( name: Optional[str] = None, **kwargs ): + """ + :keyword name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". + Current values also include "EnableTable" and "EnableGremlin". + :paramtype name: str + """ super(Capability, self).__init__(**kwargs) self.name = name +class Capacity(msrest.serialization.Model): + """The object that represents all properties related to capacity enforcement on an account. + + :ivar total_throughput_limit: The total throughput limit imposed on the account. A + totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned + on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of + throughput. + :vartype total_throughput_limit: int + """ + + _validation = { + 'total_throughput_limit': {'minimum': -1}, + } + + _attribute_map = { + 'total_throughput_limit': {'key': 'totalThroughputLimit', 'type': 'int'}, + } + + def __init__( + self, + *, + total_throughput_limit: Optional[int] = None, + **kwargs + ): + """ + :keyword total_throughput_limit: The total throughput limit imposed on the account. A + totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned + on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of + throughput. + :paramtype total_throughput_limit: int + """ + super(Capacity, self).__init__(**kwargs) + self.total_throughput_limit = total_throughput_limit + + +class CassandraClusterPublicStatus(msrest.serialization.Model): + """Properties of a managed Cassandra cluster public status. + + :ivar e_tag: + :vartype e_tag: str + :ivar reaper_status: + :vartype reaper_status: ~azure.mgmt.cosmosdb.models.ManagedCassandraReaperStatus + :ivar connection_errors: List relevant information about any connection errors to the + Datacenters. + :vartype connection_errors: list[~azure.mgmt.cosmosdb.models.ConnectionError] + :ivar data_centers: List of the status of each datacenter in this cluster. + :vartype data_centers: + list[~azure.mgmt.cosmosdb.models.CassandraClusterPublicStatusDataCentersItem] + """ + + _attribute_map = { + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'reaper_status': {'key': 'reaperStatus', 'type': 'ManagedCassandraReaperStatus'}, + 'connection_errors': {'key': 'connectionErrors', 'type': '[ConnectionError]'}, + 'data_centers': {'key': 'dataCenters', 'type': '[CassandraClusterPublicStatusDataCentersItem]'}, + } + + def __init__( + self, + *, + e_tag: Optional[str] = None, + reaper_status: Optional["ManagedCassandraReaperStatus"] = None, + connection_errors: Optional[List["ConnectionError"]] = None, + data_centers: Optional[List["CassandraClusterPublicStatusDataCentersItem"]] = None, + **kwargs + ): + """ + :keyword e_tag: + :paramtype e_tag: str + :keyword reaper_status: + :paramtype reaper_status: ~azure.mgmt.cosmosdb.models.ManagedCassandraReaperStatus + :keyword connection_errors: List relevant information about any connection errors to the + Datacenters. + :paramtype connection_errors: list[~azure.mgmt.cosmosdb.models.ConnectionError] + :keyword data_centers: List of the status of each datacenter in this cluster. + :paramtype data_centers: + list[~azure.mgmt.cosmosdb.models.CassandraClusterPublicStatusDataCentersItem] + """ + super(CassandraClusterPublicStatus, self).__init__(**kwargs) + self.e_tag = e_tag + self.reaper_status = reaper_status + self.connection_errors = connection_errors + self.data_centers = data_centers + + +class CassandraClusterPublicStatusDataCentersItem(msrest.serialization.Model): + """CassandraClusterPublicStatusDataCentersItem. + + :ivar name: The name of this Datacenter. + :vartype name: str + :ivar seed_nodes: A list of all seed nodes in the cluster, managed and unmanaged. + :vartype seed_nodes: list[str] + :ivar nodes: + :vartype nodes: + list[~azure.mgmt.cosmosdb.models.ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'seed_nodes': {'key': 'seedNodes', 'type': '[str]'}, + 'nodes': {'key': 'nodes', 'type': '[ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + seed_nodes: Optional[List[str]] = None, + nodes: Optional[List["ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems"]] = None, + **kwargs + ): + """ + :keyword name: The name of this Datacenter. + :paramtype name: str + :keyword seed_nodes: A list of all seed nodes in the cluster, managed and unmanaged. + :paramtype seed_nodes: list[str] + :keyword nodes: + :paramtype nodes: + list[~azure.mgmt.cosmosdb.models.ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems] + """ + super(CassandraClusterPublicStatusDataCentersItem, self).__init__(**kwargs) + self.name = name + self.seed_nodes = seed_nodes + self.nodes = nodes + + class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Cassandra keyspace. @@ -425,22 +773,22 @@ class CassandraKeyspaceCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Cassandra keyspace. - :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a Cassandra keyspace. + :vartype resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -471,6 +819,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a Cassandra keyspace. + :paramtype resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(CassandraKeyspaceCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -479,11 +845,11 @@ def __init__( class OptionsResource(msrest.serialization.Model): """Cosmos DB options resource object. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -498,6 +864,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(OptionsResource, self).__init__(**kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings @@ -506,11 +879,11 @@ def __init__( class CassandraKeyspaceGetPropertiesOptions(OptionsResource): """CassandraKeyspaceGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -525,6 +898,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(CassandraKeyspaceGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -533,8 +913,8 @@ class CassandraKeyspaceResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Cassandra keyspace. - :type id: str + :ivar id: Required. Name of the Cosmos DB Cassandra keyspace. + :vartype id: str """ _validation = { @@ -551,6 +931,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Cassandra keyspace. + :paramtype id: str + """ super(CassandraKeyspaceResource, self).__init__(**kwargs) self.id = id @@ -585,6 +969,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtendedResourceProperties, self).__init__(**kwargs) self.rid = None self.ts = None @@ -598,8 +984,8 @@ class CassandraKeyspaceGetPropertiesResource(ExtendedResourceProperties, Cassand All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Cassandra keyspace. - :type id: str + :ivar id: Required. Name of the Cosmos DB Cassandra keyspace. + :vartype id: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -629,6 +1015,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Cassandra keyspace. + :paramtype id: str + """ super(CassandraKeyspaceGetPropertiesResource, self).__init__(id=id, **kwargs) self.id = id self.rid = None @@ -647,21 +1037,21 @@ class CassandraKeyspaceGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesOptions """ _validation = { @@ -691,6 +1081,23 @@ def __init__( options: Optional["CassandraKeyspaceGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetPropertiesOptions + """ super(CassandraKeyspaceGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -717,6 +1124,8 @@ def __init__( self, **kwargs ): + """ + """ super(CassandraKeyspaceListResult, self).__init__(**kwargs) self.value = None @@ -724,8 +1133,8 @@ def __init__( class CassandraPartitionKey(msrest.serialization.Model): """Cosmos DB Cassandra table partition key. - :param name: Name of the Cosmos DB Cassandra table partition key. - :type name: str + :ivar name: Name of the Cosmos DB Cassandra table partition key. + :vartype name: str """ _attribute_map = { @@ -738,6 +1147,10 @@ def __init__( name: Optional[str] = None, **kwargs ): + """ + :keyword name: Name of the Cosmos DB Cassandra table partition key. + :paramtype name: str + """ super(CassandraPartitionKey, self).__init__(**kwargs) self.name = name @@ -745,12 +1158,12 @@ def __init__( class CassandraSchema(msrest.serialization.Model): """Cosmos DB Cassandra table schema. - :param columns: List of Cassandra table columns. - :type columns: list[~azure.mgmt.cosmosdb.models.Column] - :param partition_keys: List of partition key. - :type partition_keys: list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey] - :param cluster_keys: List of cluster key. - :type cluster_keys: list[~azure.mgmt.cosmosdb.models.ClusterKey] + :ivar columns: List of Cassandra table columns. + :vartype columns: list[~azure.mgmt.cosmosdb.models.Column] + :ivar partition_keys: List of partition key. + :vartype partition_keys: list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey] + :ivar cluster_keys: List of cluster key. + :vartype cluster_keys: list[~azure.mgmt.cosmosdb.models.ClusterKey] """ _attribute_map = { @@ -767,6 +1180,14 @@ def __init__( cluster_keys: Optional[List["ClusterKey"]] = None, **kwargs ): + """ + :keyword columns: List of Cassandra table columns. + :paramtype columns: list[~azure.mgmt.cosmosdb.models.Column] + :keyword partition_keys: List of partition key. + :paramtype partition_keys: list[~azure.mgmt.cosmosdb.models.CassandraPartitionKey] + :keyword cluster_keys: List of cluster key. + :paramtype cluster_keys: list[~azure.mgmt.cosmosdb.models.ClusterKey] + """ super(CassandraSchema, self).__init__(**kwargs) self.columns = columns self.partition_keys = partition_keys @@ -786,22 +1207,22 @@ class CassandraTableCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Cassandra table. - :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a Cassandra table. + :vartype resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -832,6 +1253,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a Cassandra table. + :paramtype resource: ~azure.mgmt.cosmosdb.models.CassandraTableResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(CassandraTableCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -840,11 +1279,11 @@ def __init__( class CassandraTableGetPropertiesOptions(OptionsResource): """CassandraTableGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -859,6 +1298,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(CassandraTableGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -867,14 +1313,14 @@ class CassandraTableResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Cassandra table. - :type id: str - :param default_ttl: Time to live of the Cosmos DB Cassandra table. - :type default_ttl: int - :param schema: Schema of the Cosmos DB Cassandra table. - :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int + :ivar id: Required. Name of the Cosmos DB Cassandra table. + :vartype id: str + :ivar default_ttl: Time to live of the Cosmos DB Cassandra table. + :vartype default_ttl: int + :ivar schema: Schema of the Cosmos DB Cassandra table. + :vartype schema: ~azure.mgmt.cosmosdb.models.CassandraSchema + :ivar analytical_storage_ttl: Analytical TTL. + :vartype analytical_storage_ttl: int """ _validation = { @@ -897,6 +1343,16 @@ def __init__( analytical_storage_ttl: Optional[int] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Cassandra table. + :paramtype id: str + :keyword default_ttl: Time to live of the Cosmos DB Cassandra table. + :paramtype default_ttl: int + :keyword schema: Schema of the Cosmos DB Cassandra table. + :paramtype schema: ~azure.mgmt.cosmosdb.models.CassandraSchema + :keyword analytical_storage_ttl: Analytical TTL. + :paramtype analytical_storage_ttl: int + """ super(CassandraTableResource, self).__init__(**kwargs) self.id = id self.default_ttl = default_ttl @@ -911,14 +1367,14 @@ class CassandraTableGetPropertiesResource(ExtendedResourceProperties, CassandraT All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Cassandra table. - :type id: str - :param default_ttl: Time to live of the Cosmos DB Cassandra table. - :type default_ttl: int - :param schema: Schema of the Cosmos DB Cassandra table. - :type schema: ~azure.mgmt.cosmosdb.models.CassandraSchema - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int + :ivar id: Required. Name of the Cosmos DB Cassandra table. + :vartype id: str + :ivar default_ttl: Time to live of the Cosmos DB Cassandra table. + :vartype default_ttl: int + :ivar schema: Schema of the Cosmos DB Cassandra table. + :vartype schema: ~azure.mgmt.cosmosdb.models.CassandraSchema + :ivar analytical_storage_ttl: Analytical TTL. + :vartype analytical_storage_ttl: int :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -954,6 +1410,16 @@ def __init__( analytical_storage_ttl: Optional[int] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Cassandra table. + :paramtype id: str + :keyword default_ttl: Time to live of the Cosmos DB Cassandra table. + :paramtype default_ttl: int + :keyword schema: Schema of the Cosmos DB Cassandra table. + :paramtype schema: ~azure.mgmt.cosmosdb.models.CassandraSchema + :keyword analytical_storage_ttl: Analytical TTL. + :paramtype analytical_storage_ttl: int + """ super(CassandraTableGetPropertiesResource, self).__init__(id=id, default_ttl=default_ttl, schema=schema, analytical_storage_ttl=analytical_storage_ttl, **kwargs) self.id = id self.default_ttl = default_ttl @@ -975,21 +1441,21 @@ class CassandraTableGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesOptions """ _validation = { @@ -1019,6 +1485,23 @@ def __init__( options: Optional["CassandraTableGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.CassandraTableGetPropertiesOptions + """ super(CassandraTableGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -1045,6 +1528,8 @@ def __init__( self, **kwargs ): + """ + """ super(CassandraTableListResult, self).__init__(**kwargs) self.value = None @@ -1062,22 +1547,22 @@ class CassandraViewCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Cassandra view. - :type resource: ~azure.mgmt.cosmosdb.models.CassandraViewResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a Cassandra view. + :vartype resource: ~azure.mgmt.cosmosdb.models.CassandraViewResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -1108,6 +1593,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a Cassandra view. + :paramtype resource: ~azure.mgmt.cosmosdb.models.CassandraViewResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(CassandraViewCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -1116,11 +1619,11 @@ def __init__( class CassandraViewGetPropertiesOptions(OptionsResource): """CassandraViewGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -1135,6 +1638,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(CassandraViewGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -1143,14 +1653,15 @@ class CassandraViewResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Cassandra view. - :type id: str - :param view_definition: View Definition of the Cosmos DB Cassandra view. - :type view_definition: str + :ivar id: Required. Name of the Cosmos DB Cassandra view. + :vartype id: str + :ivar view_definition: Required. View Definition of the Cosmos DB Cassandra view. + :vartype view_definition: str """ _validation = { 'id': {'required': True}, + 'view_definition': {'required': True}, } _attribute_map = { @@ -1162,9 +1673,15 @@ def __init__( self, *, id: str, - view_definition: Optional[str] = None, + view_definition: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Cassandra view. + :paramtype id: str + :keyword view_definition: Required. View Definition of the Cosmos DB Cassandra view. + :paramtype view_definition: str + """ super(CassandraViewResource, self).__init__(**kwargs) self.id = id self.view_definition = view_definition @@ -1177,10 +1694,10 @@ class CassandraViewGetPropertiesResource(ExtendedResourceProperties, CassandraVi All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Cassandra view. - :type id: str - :param view_definition: View Definition of the Cosmos DB Cassandra view. - :type view_definition: str + :ivar id: Required. Name of the Cosmos DB Cassandra view. + :vartype id: str + :ivar view_definition: Required. View Definition of the Cosmos DB Cassandra view. + :vartype view_definition: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -1192,6 +1709,7 @@ class CassandraViewGetPropertiesResource(ExtendedResourceProperties, CassandraVi _validation = { 'id': {'required': True}, + 'view_definition': {'required': True}, 'rid': {'readonly': True}, 'ts': {'readonly': True}, 'etag': {'readonly': True}, @@ -1209,9 +1727,15 @@ def __init__( self, *, id: str, - view_definition: Optional[str] = None, + view_definition: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Cassandra view. + :paramtype id: str + :keyword view_definition: Required. View Definition of the Cosmos DB Cassandra view. + :paramtype view_definition: str + """ super(CassandraViewGetPropertiesResource, self).__init__(id=id, view_definition=view_definition, **kwargs) self.id = id self.view_definition = view_definition @@ -1231,21 +1755,21 @@ class CassandraViewGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesOptions """ _validation = { @@ -1275,6 +1799,23 @@ def __init__( options: Optional["CassandraViewGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.CassandraViewGetPropertiesOptions + """ super(CassandraViewGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -1301,6 +1842,8 @@ def __init__( self, **kwargs ): + """ + """ super(CassandraViewListResult, self).__init__(**kwargs) self.value = None @@ -1308,8 +1851,8 @@ def __init__( class Certificate(msrest.serialization.Model): """Certificate. - :param pem: PEM formatted public key. - :type pem: str + :ivar pem: PEM formatted public key. + :vartype pem: str """ _attribute_map = { @@ -1322,151 +1865,183 @@ def __init__( pem: Optional[str] = None, **kwargs ): + """ + :keyword pem: PEM formatted public key. + :paramtype pem: str + """ super(Certificate, self).__init__(**kwargs) self.pem = pem -class ClusterKey(msrest.serialization.Model): - """Cosmos DB Cassandra table cluster key. +class ClientEncryptionKeyCreateUpdateParameters(msrest.serialization.Model): + """Parameters to create and update ClientEncryptionKey. - :param name: Name of the Cosmos DB Cassandra table cluster key. - :type name: str - :param order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and - "Desc". - :type order_by: str + All required parameters must be populated in order to send to Azure. + + :ivar resource: Required. The standard JSON format of a ClientEncryptionKey. + :vartype resource: ~azure.mgmt.cosmosdb.models.ClientEncryptionKeyResource """ + _validation = { + 'resource': {'required': True}, + } + _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'order_by': {'key': 'orderBy', 'type': 'str'}, + 'resource': {'key': 'properties.resource', 'type': 'ClientEncryptionKeyResource'}, } def __init__( self, *, - name: Optional[str] = None, - order_by: Optional[str] = None, + resource: "ClientEncryptionKeyResource", **kwargs ): - super(ClusterKey, self).__init__(**kwargs) - self.name = name - self.order_by = order_by + """ + :keyword resource: Required. The standard JSON format of a ClientEncryptionKey. + :paramtype resource: ~azure.mgmt.cosmosdb.models.ClientEncryptionKeyResource + """ + super(ClientEncryptionKeyCreateUpdateParameters, self).__init__(**kwargs) + self.resource = resource -class ClusterNodeStatus(msrest.serialization.Model): - """The status of all nodes in the cluster (as returned by 'nodetool status'). +class ClientEncryptionKeyResource(msrest.serialization.Model): + """Cosmos DB client encryption key resource object. - :param nodes: Information about nodes in the cluster (corresponds to what is returned from - nodetool info). - :type nodes: list[~azure.mgmt.cosmosdb.models.ClusterNodeStatusNodesItem] + :ivar id: Name of the ClientEncryptionKey. + :vartype id: str + :ivar encryption_algorithm: Encryption algorithm that will be used along with this client + encryption key to encrypt/decrypt data. + :vartype encryption_algorithm: str + :ivar wrapped_data_encryption_key: Wrapped (encrypted) form of the key represented as a byte + array. + :vartype wrapped_data_encryption_key: bytearray + :ivar key_wrap_metadata: Metadata for the wrapping provider that can be used to unwrap the + wrapped client encryption key. + :vartype key_wrap_metadata: ~azure.mgmt.cosmosdb.models.KeyWrapMetadata """ _attribute_map = { - 'nodes': {'key': 'nodes', 'type': '[ClusterNodeStatusNodesItem]'}, + 'id': {'key': 'id', 'type': 'str'}, + 'encryption_algorithm': {'key': 'encryptionAlgorithm', 'type': 'str'}, + 'wrapped_data_encryption_key': {'key': 'wrappedDataEncryptionKey', 'type': 'bytearray'}, + 'key_wrap_metadata': {'key': 'keyWrapMetadata', 'type': 'KeyWrapMetadata'}, } def __init__( self, *, - nodes: Optional[List["ClusterNodeStatusNodesItem"]] = None, - **kwargs - ): - super(ClusterNodeStatus, self).__init__(**kwargs) - self.nodes = nodes + id: Optional[str] = None, + encryption_algorithm: Optional[str] = None, + wrapped_data_encryption_key: Optional[bytearray] = None, + key_wrap_metadata: Optional["KeyWrapMetadata"] = None, + **kwargs + ): + """ + :keyword id: Name of the ClientEncryptionKey. + :paramtype id: str + :keyword encryption_algorithm: Encryption algorithm that will be used along with this client + encryption key to encrypt/decrypt data. + :paramtype encryption_algorithm: str + :keyword wrapped_data_encryption_key: Wrapped (encrypted) form of the key represented as a byte + array. + :paramtype wrapped_data_encryption_key: bytearray + :keyword key_wrap_metadata: Metadata for the wrapping provider that can be used to unwrap the + wrapped client encryption key. + :paramtype key_wrap_metadata: ~azure.mgmt.cosmosdb.models.KeyWrapMetadata + """ + super(ClientEncryptionKeyResource, self).__init__(**kwargs) + self.id = id + self.encryption_algorithm = encryption_algorithm + self.wrapped_data_encryption_key = wrapped_data_encryption_key + self.key_wrap_metadata = key_wrap_metadata -class ClusterNodeStatusNodesItem(msrest.serialization.Model): - """ClusterNodeStatusNodesItem. - - :param datacenter: The Cassandra data center this node resides in. - :type datacenter: str - :param status: Indicates whether the node is functioning or not. Possible values include: "Up", - "Down". - :type status: str or ~azure.mgmt.cosmosdb.models.NodeStatus - :param state: The state of the node in relation to the cluster. Possible values include: - "Normal", "Leaving", "Joining", "Moving", "Stopped". - :type state: str or ~azure.mgmt.cosmosdb.models.NodeState - :param address: The node's URL. - :type address: str - :param load: The amount of file system data in the data directory (e.g., 47.66 KB), excluding - all content in the snapshots subdirectories. Because all SSTable data files are included, any - data that is not cleaned up (such as TTL-expired cell or tombstoned data) is counted. - :type load: str - :param tokens: List of tokens. - :type tokens: list[str] - :param owns: The percentage of the data owned by the node per datacenter times the replication - factor (e.g., 33.3, or null if the data is not available). For example, a node can own 33% of - the ring, but shows 100% if the replication factor is 3. For non-system keyspaces, the endpoint - percentage ownership information is shown. - :type owns: float - :param host_id: The network ID of the node. - :type host_id: str - :param rack: The rack this node is part of. - :type rack: str - """ - - _attribute_map = { - 'datacenter': {'key': 'datacenter', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - 'address': {'key': 'address', 'type': 'str'}, - 'load': {'key': 'load', 'type': 'str'}, - 'tokens': {'key': 'tokens', 'type': '[str]'}, - 'owns': {'key': 'owns', 'type': 'float'}, - 'host_id': {'key': 'hostId', 'type': 'str'}, - 'rack': {'key': 'rack', 'type': 'str'}, +class ClientEncryptionKeyGetPropertiesResource(ExtendedResourceProperties, ClientEncryptionKeyResource): + """ClientEncryptionKeyGetPropertiesResource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Name of the ClientEncryptionKey. + :vartype id: str + :ivar encryption_algorithm: Encryption algorithm that will be used along with this client + encryption key to encrypt/decrypt data. + :vartype encryption_algorithm: str + :ivar wrapped_data_encryption_key: Wrapped (encrypted) form of the key represented as a byte + array. + :vartype wrapped_data_encryption_key: bytearray + :ivar key_wrap_metadata: Metadata for the wrapping provider that can be used to unwrap the + wrapped client encryption key. + :vartype key_wrap_metadata: ~azure.mgmt.cosmosdb.models.KeyWrapMetadata + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar ts: A system generated property that denotes the last updated timestamp of the resource. + :vartype ts: float + :ivar etag: A system generated property representing the resource etag required for optimistic + concurrency control. + :vartype etag: str + """ + + _validation = { + 'rid': {'readonly': True}, + 'ts': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'encryption_algorithm': {'key': 'encryptionAlgorithm', 'type': 'str'}, + 'wrapped_data_encryption_key': {'key': 'wrappedDataEncryptionKey', 'type': 'bytearray'}, + 'key_wrap_metadata': {'key': 'keyWrapMetadata', 'type': 'KeyWrapMetadata'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'ts': {'key': '_ts', 'type': 'float'}, + 'etag': {'key': '_etag', 'type': 'str'}, } def __init__( self, *, - datacenter: Optional[str] = None, - status: Optional[Union[str, "NodeStatus"]] = None, - state: Optional[Union[str, "NodeState"]] = None, - address: Optional[str] = None, - load: Optional[str] = None, - tokens: Optional[List[str]] = None, - owns: Optional[float] = None, - host_id: Optional[str] = None, - rack: Optional[str] = None, - **kwargs - ): - super(ClusterNodeStatusNodesItem, self).__init__(**kwargs) - self.datacenter = datacenter - self.status = status - self.state = state - self.address = address - self.load = load - self.tokens = tokens - self.owns = owns - self.host_id = host_id - self.rack = rack + id: Optional[str] = None, + encryption_algorithm: Optional[str] = None, + wrapped_data_encryption_key: Optional[bytearray] = None, + key_wrap_metadata: Optional["KeyWrapMetadata"] = None, + **kwargs + ): + """ + :keyword id: Name of the ClientEncryptionKey. + :paramtype id: str + :keyword encryption_algorithm: Encryption algorithm that will be used along with this client + encryption key to encrypt/decrypt data. + :paramtype encryption_algorithm: str + :keyword wrapped_data_encryption_key: Wrapped (encrypted) form of the key represented as a byte + array. + :paramtype wrapped_data_encryption_key: bytearray + :keyword key_wrap_metadata: Metadata for the wrapping provider that can be used to unwrap the + wrapped client encryption key. + :paramtype key_wrap_metadata: ~azure.mgmt.cosmosdb.models.KeyWrapMetadata + """ + super(ClientEncryptionKeyGetPropertiesResource, self).__init__(id=id, encryption_algorithm=encryption_algorithm, wrapped_data_encryption_key=wrapped_data_encryption_key, key_wrap_metadata=key_wrap_metadata, **kwargs) + self.id = id + self.encryption_algorithm = encryption_algorithm + self.wrapped_data_encryption_key = wrapped_data_encryption_key + self.key_wrap_metadata = key_wrap_metadata + self.rid = None + self.ts = None + self.etag = None -class ClusterResource(ARMResourceProperties): - """Representation of a managed Cassandra cluster. +class ClientEncryptionKeyGetResults(ARMProxyResource): + """Client Encryption Key. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: The unique resource identifier of the ARM resource. + :ivar id: The unique resource identifier of the database account. :vartype id: str - :ivar name: The name of the ARM resource. + :ivar name: The name of the database account. :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param properties: Properties of a managed Cassandra cluster. - :type properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.ClientEncryptionKeyGetPropertiesResource """ _validation = { @@ -1479,140 +2054,402 @@ class ClusterResource(ARMResourceProperties): '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}'}, - 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, - 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, + 'resource': {'key': 'properties.resource', 'type': 'ClientEncryptionKeyGetPropertiesResource'}, } def __init__( self, *, - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, - identity: Optional["ManagedServiceIdentity"] = None, - properties: Optional["ClusterResourceProperties"] = None, + resource: Optional["ClientEncryptionKeyGetPropertiesResource"] = None, **kwargs ): - super(ClusterResource, self).__init__(location=location, tags=tags, identity=identity, **kwargs) - self.properties = properties + """ + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.ClientEncryptionKeyGetPropertiesResource + """ + super(ClientEncryptionKeyGetResults, self).__init__(**kwargs) + self.resource = resource -class ClusterResourceProperties(msrest.serialization.Model): - """Properties of a managed Cassandra cluster. +class ClientEncryptionKeysListResult(msrest.serialization.Model): + """The List operation response, that contains the client encryption keys and their properties. Variables are only populated by the server, and will be ignored when sending a request. - :param provisioning_state: The status of the resource at the time the operation was called. - Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". - :type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState - :param restore_from_backup_id: To create an empty cluster, omit this field or set it to null. - To restore a backup into a new cluster, set this field to the resource id of the backup. - :type restore_from_backup_id: str - :param delegated_management_subnet_id: Resource id of a subnet that this cluster's management - service should have its network interface attached to. The subnet must be routable to all - subnets that will be delegated to data centers. The resource id must be of the form - '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. - :type delegated_management_subnet_id: str - :param cassandra_version: Which version of Cassandra should this cluster converge to running - (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. - :type cassandra_version: str - :param cluster_name_override: If you need to set the clusterName property in cassandra.yaml to - something besides the resource name of the cluster, set the value to use on this property. - :type cluster_name_override: str - :param authentication_method: Which authentication method Cassandra should use to authenticate - clients. 'None' turns off authentication, so should not be used except in emergencies. - 'Cassandra' is the default password based authentication. The default is 'Cassandra'. Possible - values include: "None", "Cassandra". - :type authentication_method: str or ~azure.mgmt.cosmosdb.models.AuthenticationMethod - :param initial_cassandra_admin_password: Initial password for clients connecting as admin to - the cluster. Should be changed after cluster creation. Returns null on GET. This field only - applies when the authenticationMethod field is 'Cassandra'. - :type initial_cassandra_admin_password: str - :param hours_between_backups: Number of hours to wait between taking a backup of the cluster. - To disable backups, set this property to 0. - :type hours_between_backups: int - :param prometheus_endpoint: Hostname or IP address where the Prometheus endpoint containing - data about the managed Cassandra nodes can be reached. - :type prometheus_endpoint: ~azure.mgmt.cosmosdb.models.SeedNode - :param repair_enabled: Should automatic repairs run on this cluster? If omitted, this is true, - and should stay true unless you are running a hybrid cluster where you are already doing your - own repairs. - :type repair_enabled: bool - :param client_certificates: List of TLS certificates used to authorize clients connecting to - the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if - clientCertificates is set, the managed Cassandra cluster will reject all connections not - bearing a TLS client certificate that can be validated from one or more of the public - certificates in this property. - :type client_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] - :param external_gossip_certificates: List of TLS certificates used to authorize gossip from - unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be - verifiable using one of the certificates provided in this property. - :type external_gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] - :ivar gossip_certificates: List of TLS certificates that unmanaged nodes must trust for gossip - with managed nodes. All managed nodes will present TLS client certificates that are verifiable - using one of the certificates provided in this property. - :vartype gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] - :param external_seed_nodes: List of IP addresses of seed nodes in unmanaged data centers. These - will be added to the seed node lists of all managed nodes. - :type external_seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :ivar seed_nodes: List of IP addresses of seed nodes in the managed data centers. These should - be added to the seed node lists of all unmanaged nodes. - :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] + :ivar value: List of client encryption keys and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.ClientEncryptionKeyGetResults] """ _validation = { - 'gossip_certificates': {'readonly': True}, - 'seed_nodes': {'readonly': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'restore_from_backup_id': {'key': 'restoreFromBackupId', 'type': 'str'}, - 'delegated_management_subnet_id': {'key': 'delegatedManagementSubnetId', 'type': 'str'}, - 'cassandra_version': {'key': 'cassandraVersion', 'type': 'str'}, - 'cluster_name_override': {'key': 'clusterNameOverride', 'type': 'str'}, - 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, - 'initial_cassandra_admin_password': {'key': 'initialCassandraAdminPassword', 'type': 'str'}, - 'hours_between_backups': {'key': 'hoursBetweenBackups', 'type': 'int'}, - 'prometheus_endpoint': {'key': 'prometheusEndpoint', 'type': 'SeedNode'}, - 'repair_enabled': {'key': 'repairEnabled', 'type': 'bool'}, - 'client_certificates': {'key': 'clientCertificates', 'type': '[Certificate]'}, - 'external_gossip_certificates': {'key': 'externalGossipCertificates', 'type': '[Certificate]'}, - 'gossip_certificates': {'key': 'gossipCertificates', 'type': '[Certificate]'}, - 'external_seed_nodes': {'key': 'externalSeedNodes', 'type': '[SeedNode]'}, - 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, + 'value': {'key': 'value', 'type': '[ClientEncryptionKeyGetResults]'}, } def __init__( self, - *, - provisioning_state: Optional[Union[str, "ManagedCassandraProvisioningState"]] = None, - restore_from_backup_id: Optional[str] = None, - delegated_management_subnet_id: Optional[str] = None, - cassandra_version: Optional[str] = None, - cluster_name_override: Optional[str] = None, - authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, - initial_cassandra_admin_password: Optional[str] = None, - hours_between_backups: Optional[int] = None, - prometheus_endpoint: Optional["SeedNode"] = None, - repair_enabled: Optional[bool] = None, - client_certificates: Optional[List["Certificate"]] = None, - external_gossip_certificates: Optional[List["Certificate"]] = None, - external_seed_nodes: Optional[List["SeedNode"]] = None, **kwargs ): - super(ClusterResourceProperties, self).__init__(**kwargs) - self.provisioning_state = provisioning_state - self.restore_from_backup_id = restore_from_backup_id + """ + """ + super(ClientEncryptionKeysListResult, self).__init__(**kwargs) + self.value = None + + +class ClusterKey(msrest.serialization.Model): + """Cosmos DB Cassandra table cluster key. + + :ivar name: Name of the Cosmos DB Cassandra table cluster key. + :vartype name: str + :ivar order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and + "Desc". + :vartype order_by: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'order_by': {'key': 'orderBy', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + order_by: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of the Cosmos DB Cassandra table cluster key. + :paramtype name: str + :keyword order_by: Order of the Cosmos DB Cassandra table cluster key, only support "Asc" and + "Desc". + :paramtype order_by: str + """ + super(ClusterKey, self).__init__(**kwargs) + self.name = name + self.order_by = order_by + + +class ManagedCassandraARMResourceProperties(msrest.serialization.Model): + """The core properties of ARM resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource identifier of the ARM resource. + :vartype id: str + :ivar name: The name of the ARM resource. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedCassandraManagedServiceIdentity + """ + + _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'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedCassandraManagedServiceIdentity'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedCassandraManagedServiceIdentity"] = None, + **kwargs + ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedCassandraManagedServiceIdentity + """ + super(ManagedCassandraARMResourceProperties, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.identity = identity + + +class ClusterResource(ManagedCassandraARMResourceProperties): + """Representation of a managed Cassandra cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource identifier of the ARM resource. + :vartype id: str + :ivar name: The name of the ARM resource. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedCassandraManagedServiceIdentity + :ivar properties: Properties of a managed Cassandra cluster. + :vartype properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties + """ + + _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'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedCassandraManagedServiceIdentity'}, + 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["ManagedCassandraManagedServiceIdentity"] = None, + properties: Optional["ClusterResourceProperties"] = None, + **kwargs + ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedCassandraManagedServiceIdentity + :keyword properties: Properties of a managed Cassandra cluster. + :paramtype properties: ~azure.mgmt.cosmosdb.models.ClusterResourceProperties + """ + super(ClusterResource, self).__init__(location=location, tags=tags, identity=identity, **kwargs) + self.properties = properties + + +class ClusterResourceProperties(msrest.serialization.Model): + """Properties of a managed Cassandra cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: The status of the resource at the time the operation was called. + Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". + :vartype provisioning_state: str or + ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState + :ivar restore_from_backup_id: To create an empty cluster, omit this field or set it to null. To + restore a backup into a new cluster, set this field to the resource id of the backup. + :vartype restore_from_backup_id: str + :ivar delegated_management_subnet_id: Resource id of a subnet that this cluster's management + service should have its network interface attached to. The subnet must be routable to all + subnets that will be delegated to data centers. The resource id must be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. + :vartype delegated_management_subnet_id: str + :ivar cassandra_version: Which version of Cassandra should this cluster converge to running + (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. + :vartype cassandra_version: str + :ivar cluster_name_override: If you need to set the clusterName property in cassandra.yaml to + something besides the resource name of the cluster, set the value to use on this property. + :vartype cluster_name_override: str + :ivar authentication_method: Which authentication method Cassandra should use to authenticate + clients. 'None' turns off authentication, so should not be used except in emergencies. + 'Cassandra' is the default password based authentication. The default is 'Cassandra'. 'Ldap' is + in preview. Possible values include: "None", "Cassandra", "Ldap". + :vartype authentication_method: str or ~azure.mgmt.cosmosdb.models.AuthenticationMethod + :ivar initial_cassandra_admin_password: Initial password for clients connecting as admin to the + cluster. Should be changed after cluster creation. Returns null on GET. This field only applies + when the authenticationMethod field is 'Cassandra'. + :vartype initial_cassandra_admin_password: str + :ivar prometheus_endpoint: Hostname or IP address where the Prometheus endpoint containing data + about the managed Cassandra nodes can be reached. + :vartype prometheus_endpoint: ~azure.mgmt.cosmosdb.models.SeedNode + :ivar repair_enabled: Should automatic repairs run on this cluster? If omitted, this is true, + and should stay true unless you are running a hybrid cluster where you are already doing your + own repairs. + :vartype repair_enabled: bool + :ivar client_certificates: List of TLS certificates used to authorize clients connecting to the + cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if + clientCertificates is set, the managed Cassandra cluster will reject all connections not + bearing a TLS client certificate that can be validated from one or more of the public + certificates in this property. + :vartype client_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :ivar external_gossip_certificates: List of TLS certificates used to authorize gossip from + unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be + verifiable using one of the certificates provided in this property. + :vartype external_gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :ivar gossip_certificates: List of TLS certificates that unmanaged nodes must trust for gossip + with managed nodes. All managed nodes will present TLS client certificates that are verifiable + using one of the certificates provided in this property. + :vartype gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :ivar external_seed_nodes: List of IP addresses of seed nodes in unmanaged data centers. These + will be added to the seed node lists of all managed nodes. + :vartype external_seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] + :ivar seed_nodes: List of IP addresses of seed nodes in the managed data centers. These should + be added to the seed node lists of all unmanaged nodes. + :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] + :ivar hours_between_backups: Number of hours to wait between taking a backup of the cluster. + :vartype hours_between_backups: int + :ivar deallocated: Whether the cluster and associated data centers has been deallocated. + :vartype deallocated: bool + :ivar cassandra_audit_logging_enabled: Whether Cassandra audit logging is enabled. + :vartype cassandra_audit_logging_enabled: bool + """ + + _validation = { + 'gossip_certificates': {'readonly': True}, + 'seed_nodes': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'restore_from_backup_id': {'key': 'restoreFromBackupId', 'type': 'str'}, + 'delegated_management_subnet_id': {'key': 'delegatedManagementSubnetId', 'type': 'str'}, + 'cassandra_version': {'key': 'cassandraVersion', 'type': 'str'}, + 'cluster_name_override': {'key': 'clusterNameOverride', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'initial_cassandra_admin_password': {'key': 'initialCassandraAdminPassword', 'type': 'str'}, + 'prometheus_endpoint': {'key': 'prometheusEndpoint', 'type': 'SeedNode'}, + 'repair_enabled': {'key': 'repairEnabled', 'type': 'bool'}, + 'client_certificates': {'key': 'clientCertificates', 'type': '[Certificate]'}, + 'external_gossip_certificates': {'key': 'externalGossipCertificates', 'type': '[Certificate]'}, + 'gossip_certificates': {'key': 'gossipCertificates', 'type': '[Certificate]'}, + 'external_seed_nodes': {'key': 'externalSeedNodes', 'type': '[SeedNode]'}, + 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, + 'hours_between_backups': {'key': 'hoursBetweenBackups', 'type': 'int'}, + 'deallocated': {'key': 'deallocated', 'type': 'bool'}, + 'cassandra_audit_logging_enabled': {'key': 'cassandraAuditLoggingEnabled', 'type': 'bool'}, + } + + def __init__( + self, + *, + provisioning_state: Optional[Union[str, "ManagedCassandraProvisioningState"]] = None, + restore_from_backup_id: Optional[str] = None, + delegated_management_subnet_id: Optional[str] = None, + cassandra_version: Optional[str] = None, + cluster_name_override: Optional[str] = None, + authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, + initial_cassandra_admin_password: Optional[str] = None, + prometheus_endpoint: Optional["SeedNode"] = None, + repair_enabled: Optional[bool] = None, + client_certificates: Optional[List["Certificate"]] = None, + external_gossip_certificates: Optional[List["Certificate"]] = None, + external_seed_nodes: Optional[List["SeedNode"]] = None, + hours_between_backups: Optional[int] = None, + deallocated: Optional[bool] = None, + cassandra_audit_logging_enabled: Optional[bool] = None, + **kwargs + ): + """ + :keyword provisioning_state: The status of the resource at the time the operation was called. + Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". + :paramtype provisioning_state: str or + ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState + :keyword restore_from_backup_id: To create an empty cluster, omit this field or set it to null. + To restore a backup into a new cluster, set this field to the resource id of the backup. + :paramtype restore_from_backup_id: str + :keyword delegated_management_subnet_id: Resource id of a subnet that this cluster's management + service should have its network interface attached to. The subnet must be routable to all + subnets that will be delegated to data centers. The resource id must be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. + :paramtype delegated_management_subnet_id: str + :keyword cassandra_version: Which version of Cassandra should this cluster converge to running + (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version. + :paramtype cassandra_version: str + :keyword cluster_name_override: If you need to set the clusterName property in cassandra.yaml + to something besides the resource name of the cluster, set the value to use on this property. + :paramtype cluster_name_override: str + :keyword authentication_method: Which authentication method Cassandra should use to + authenticate clients. 'None' turns off authentication, so should not be used except in + emergencies. 'Cassandra' is the default password based authentication. The default is + 'Cassandra'. 'Ldap' is in preview. Possible values include: "None", "Cassandra", "Ldap". + :paramtype authentication_method: str or ~azure.mgmt.cosmosdb.models.AuthenticationMethod + :keyword initial_cassandra_admin_password: Initial password for clients connecting as admin to + the cluster. Should be changed after cluster creation. Returns null on GET. This field only + applies when the authenticationMethod field is 'Cassandra'. + :paramtype initial_cassandra_admin_password: str + :keyword prometheus_endpoint: Hostname or IP address where the Prometheus endpoint containing + data about the managed Cassandra nodes can be reached. + :paramtype prometheus_endpoint: ~azure.mgmt.cosmosdb.models.SeedNode + :keyword repair_enabled: Should automatic repairs run on this cluster? If omitted, this is + true, and should stay true unless you are running a hybrid cluster where you are already doing + your own repairs. + :paramtype repair_enabled: bool + :keyword client_certificates: List of TLS certificates used to authorize clients connecting to + the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if + clientCertificates is set, the managed Cassandra cluster will reject all connections not + bearing a TLS client certificate that can be validated from one or more of the public + certificates in this property. + :paramtype client_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :keyword external_gossip_certificates: List of TLS certificates used to authorize gossip from + unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be + verifiable using one of the certificates provided in this property. + :paramtype external_gossip_certificates: list[~azure.mgmt.cosmosdb.models.Certificate] + :keyword external_seed_nodes: List of IP addresses of seed nodes in unmanaged data centers. + These will be added to the seed node lists of all managed nodes. + :paramtype external_seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] + :keyword hours_between_backups: Number of hours to wait between taking a backup of the cluster. + :paramtype hours_between_backups: int + :keyword deallocated: Whether the cluster and associated data centers has been deallocated. + :paramtype deallocated: bool + :keyword cassandra_audit_logging_enabled: Whether Cassandra audit logging is enabled. + :paramtype cassandra_audit_logging_enabled: bool + """ + super(ClusterResourceProperties, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + self.restore_from_backup_id = restore_from_backup_id self.delegated_management_subnet_id = delegated_management_subnet_id self.cassandra_version = cassandra_version self.cluster_name_override = cluster_name_override self.authentication_method = authentication_method self.initial_cassandra_admin_password = initial_cassandra_admin_password - self.hours_between_backups = hours_between_backups self.prometheus_endpoint = prometheus_endpoint self.repair_enabled = repair_enabled self.client_certificates = client_certificates @@ -1620,15 +2457,18 @@ def __init__( self.gossip_certificates = None self.external_seed_nodes = external_seed_nodes self.seed_nodes = None + self.hours_between_backups = hours_between_backups + self.deallocated = deallocated + self.cassandra_audit_logging_enabled = cassandra_audit_logging_enabled class Column(msrest.serialization.Model): """Cosmos DB Cassandra table column. - :param name: Name of the Cosmos DB Cassandra table column. - :type name: str - :param type: Type of the Cosmos DB Cassandra table column. - :type type: str + :ivar name: Name of the Cosmos DB Cassandra table column. + :vartype name: str + :ivar type: Type of the Cosmos DB Cassandra table column. + :vartype type: str """ _attribute_map = { @@ -1643,11 +2483,106 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword name: Name of the Cosmos DB Cassandra table column. + :paramtype name: str + :keyword type: Type of the Cosmos DB Cassandra table column. + :paramtype type: str + """ super(Column, self).__init__(**kwargs) self.name = name self.type = type +class CommandOutput(msrest.serialization.Model): + """Response of /command api. + + :ivar command_output: Output of the command. + :vartype command_output: str + """ + + _attribute_map = { + 'command_output': {'key': 'commandOutput', 'type': 'str'}, + } + + def __init__( + self, + *, + command_output: Optional[str] = None, + **kwargs + ): + """ + :keyword command_output: Output of the command. + :paramtype command_output: str + """ + super(CommandOutput, self).__init__(**kwargs) + self.command_output = command_output + + +class CommandPostBody(msrest.serialization.Model): + """Specification of which command to run where. + + All required parameters must be populated in order to send to Azure. + + :ivar command: Required. The command which should be run. + :vartype command: str + :ivar arguments: The arguments for the command to be run. + :vartype arguments: dict[str, str] + :ivar host: Required. IP address of the cassandra host to run the command on. + :vartype host: str + :ivar cassandra_stop_start: If true, stops cassandra before executing the command and then + start it again. + :vartype cassandra_stop_start: bool + :ivar readwrite: If true, allows the command to *write* to the cassandra directory, otherwise + read-only. + :vartype readwrite: bool + """ + + _validation = { + 'command': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'command': {'key': 'command', 'type': 'str'}, + 'arguments': {'key': 'arguments', 'type': '{str}'}, + 'host': {'key': 'host', 'type': 'str'}, + 'cassandra_stop_start': {'key': 'cassandra-stop-start', 'type': 'bool'}, + 'readwrite': {'key': 'readwrite', 'type': 'bool'}, + } + + def __init__( + self, + *, + command: str, + host: str, + arguments: Optional[Dict[str, str]] = None, + cassandra_stop_start: Optional[bool] = None, + readwrite: Optional[bool] = None, + **kwargs + ): + """ + :keyword command: Required. The command which should be run. + :paramtype command: str + :keyword arguments: The arguments for the command to be run. + :paramtype arguments: dict[str, str] + :keyword host: Required. IP address of the cassandra host to run the command on. + :paramtype host: str + :keyword cassandra_stop_start: If true, stops cassandra before executing the command and then + start it again. + :paramtype cassandra_stop_start: bool + :keyword readwrite: If true, allows the command to *write* to the cassandra directory, + otherwise read-only. + :paramtype readwrite: bool + """ + super(CommandPostBody, self).__init__(**kwargs) + self.command = command + self.arguments = arguments + self.host = host + self.cassandra_stop_start = cassandra_stop_start + self.readwrite = readwrite + + class Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): """Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. @@ -1673,20 +2608,162 @@ def __init__( self, **kwargs ): + """ + """ super(Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) self.principal_id = None self.client_id = None +class ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems(msrest.serialization.Model): + """ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems. + + :ivar address: The node's IP address. + :vartype address: str + :ivar state: The state of the node in Cassandra ring. Possible values include: "Normal", + "Leaving", "Joining", "Moving", "Stopped". + :vartype state: str or ~azure.mgmt.cosmosdb.models.NodeState + :ivar status: + :vartype status: str + :ivar load: The amount of file system data in the data directory (e.g., 47.66 kB), excluding + all content in the snapshots subdirectories. Because all SSTable data files are included, any + data that is not cleaned up (such as TTL-expired cells or tombstones) is counted. + :vartype load: str + :ivar tokens: List of tokens this node covers. + :vartype tokens: list[str] + :ivar size: + :vartype size: int + :ivar host_id: The network ID of the node. + :vartype host_id: str + :ivar rack: The rack this node is part of. + :vartype rack: str + :ivar timestamp: The timestamp at which that snapshot of these usage statistics were taken. + :vartype timestamp: str + :ivar disk_used_kb: The amount of disk used, in kB, of the directory /var/lib/cassandra. + :vartype disk_used_kb: long + :ivar disk_free_kb: The amount of disk free, in kB, of the directory /var/lib/cassandra. + :vartype disk_free_kb: long + :ivar memory_used_kb: Used memory (calculated as total - free - buffers - cache), in kB. + :vartype memory_used_kb: long + :ivar memory_buffers_and_cached_kb: Memory used by kernel buffers (Buffers in /proc/meminfo) + and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB. + :vartype memory_buffers_and_cached_kb: long + :ivar memory_free_kb: Unused memory (MemFree and SwapFree in /proc/meminfo), in kB. + :vartype memory_free_kb: long + :ivar memory_total_kb: Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in kB. + :vartype memory_total_kb: long + :ivar cpu_usage: A float representing the current system-wide CPU utilization as a percentage. + :vartype cpu_usage: float + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'load': {'key': 'load', 'type': 'str'}, + 'tokens': {'key': 'tokens', 'type': '[str]'}, + 'size': {'key': 'size', 'type': 'int'}, + 'host_id': {'key': 'hostID', 'type': 'str'}, + 'rack': {'key': 'rack', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'str'}, + 'disk_used_kb': {'key': 'diskUsedKB', 'type': 'long'}, + 'disk_free_kb': {'key': 'diskFreeKB', 'type': 'long'}, + 'memory_used_kb': {'key': 'memoryUsedKB', 'type': 'long'}, + 'memory_buffers_and_cached_kb': {'key': 'memoryBuffersAndCachedKB', 'type': 'long'}, + 'memory_free_kb': {'key': 'memoryFreeKB', 'type': 'long'}, + 'memory_total_kb': {'key': 'memoryTotalKB', 'type': 'long'}, + 'cpu_usage': {'key': 'cpuUsage', 'type': 'float'}, + } + + def __init__( + self, + *, + address: Optional[str] = None, + state: Optional[Union[str, "NodeState"]] = None, + status: Optional[str] = None, + load: Optional[str] = None, + tokens: Optional[List[str]] = None, + size: Optional[int] = None, + host_id: Optional[str] = None, + rack: Optional[str] = None, + timestamp: Optional[str] = None, + disk_used_kb: Optional[int] = None, + disk_free_kb: Optional[int] = None, + memory_used_kb: Optional[int] = None, + memory_buffers_and_cached_kb: Optional[int] = None, + memory_free_kb: Optional[int] = None, + memory_total_kb: Optional[int] = None, + cpu_usage: Optional[float] = None, + **kwargs + ): + """ + :keyword address: The node's IP address. + :paramtype address: str + :keyword state: The state of the node in Cassandra ring. Possible values include: "Normal", + "Leaving", "Joining", "Moving", "Stopped". + :paramtype state: str or ~azure.mgmt.cosmosdb.models.NodeState + :keyword status: + :paramtype status: str + :keyword load: The amount of file system data in the data directory (e.g., 47.66 kB), excluding + all content in the snapshots subdirectories. Because all SSTable data files are included, any + data that is not cleaned up (such as TTL-expired cells or tombstones) is counted. + :paramtype load: str + :keyword tokens: List of tokens this node covers. + :paramtype tokens: list[str] + :keyword size: + :paramtype size: int + :keyword host_id: The network ID of the node. + :paramtype host_id: str + :keyword rack: The rack this node is part of. + :paramtype rack: str + :keyword timestamp: The timestamp at which that snapshot of these usage statistics were taken. + :paramtype timestamp: str + :keyword disk_used_kb: The amount of disk used, in kB, of the directory /var/lib/cassandra. + :paramtype disk_used_kb: long + :keyword disk_free_kb: The amount of disk free, in kB, of the directory /var/lib/cassandra. + :paramtype disk_free_kb: long + :keyword memory_used_kb: Used memory (calculated as total - free - buffers - cache), in kB. + :paramtype memory_used_kb: long + :keyword memory_buffers_and_cached_kb: Memory used by kernel buffers (Buffers in /proc/meminfo) + and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB. + :paramtype memory_buffers_and_cached_kb: long + :keyword memory_free_kb: Unused memory (MemFree and SwapFree in /proc/meminfo), in kB. + :paramtype memory_free_kb: long + :keyword memory_total_kb: Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in + kB. + :paramtype memory_total_kb: long + :keyword cpu_usage: A float representing the current system-wide CPU utilization as a + percentage. + :paramtype cpu_usage: float + """ + super(ComponentsM9L909SchemasCassandraclusterpublicstatusPropertiesDatacentersItemsPropertiesNodesItems, self).__init__(**kwargs) + self.address = address + self.state = state + self.status = status + self.load = load + self.tokens = tokens + self.size = size + self.host_id = host_id + self.rack = rack + self.timestamp = timestamp + self.disk_used_kb = disk_used_kb + self.disk_free_kb = disk_free_kb + self.memory_used_kb = memory_used_kb + self.memory_buffers_and_cached_kb = memory_buffers_and_cached_kb + self.memory_free_kb = memory_free_kb + self.memory_total_kb = memory_total_kb + self.cpu_usage = cpu_usage + + class CompositePath(msrest.serialization.Model): """CompositePath. - :param path: The path for which the indexing behavior applies to. Index paths typically start + :ivar path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*). - :type path: str - :param order: Sort order for composite paths. Possible values include: "ascending", + :vartype path: str + :ivar order: Sort order for composite paths. Possible values include: "ascending", "descending". - :type order: str or ~azure.mgmt.cosmosdb.models.CompositePathSortOrder + :vartype order: str or ~azure.mgmt.cosmosdb.models.CompositePathSortOrder """ _attribute_map = { @@ -1701,6 +2778,14 @@ def __init__( order: Optional[Union[str, "CompositePathSortOrder"]] = None, **kwargs ): + """ + :keyword path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). + :paramtype path: str + :keyword order: Sort order for composite paths. Possible values include: "ascending", + "descending". + :paramtype order: str or ~azure.mgmt.cosmosdb.models.CompositePathSortOrder + """ super(CompositePath, self).__init__(**kwargs) self.path = path self.order = order @@ -1709,15 +2794,15 @@ def __init__( class ConflictResolutionPolicy(msrest.serialization.Model): """The conflict resolution policy for the container. - :param mode: Indicates the conflict resolution mode. Possible values include: "LastWriterWins", + :ivar mode: Indicates the conflict resolution mode. Possible values include: "LastWriterWins", "Custom". Default value: "LastWriterWins". - :type mode: str or ~azure.mgmt.cosmosdb.models.ConflictResolutionMode - :param conflict_resolution_path: The conflict resolution path in the case of LastWriterWins + :vartype mode: str or ~azure.mgmt.cosmosdb.models.ConflictResolutionMode + :ivar conflict_resolution_path: The conflict resolution path in the case of LastWriterWins mode. - :type conflict_resolution_path: str - :param conflict_resolution_procedure: The procedure to resolve conflicts in the case of custom + :vartype conflict_resolution_path: str + :ivar conflict_resolution_procedure: The procedure to resolve conflicts in the case of custom mode. - :type conflict_resolution_procedure: str + :vartype conflict_resolution_procedure: str """ _attribute_map = { @@ -1734,29 +2819,97 @@ def __init__( conflict_resolution_procedure: Optional[str] = None, **kwargs ): + """ + :keyword mode: Indicates the conflict resolution mode. Possible values include: + "LastWriterWins", "Custom". Default value: "LastWriterWins". + :paramtype mode: str or ~azure.mgmt.cosmosdb.models.ConflictResolutionMode + :keyword conflict_resolution_path: The conflict resolution path in the case of LastWriterWins + mode. + :paramtype conflict_resolution_path: str + :keyword conflict_resolution_procedure: The procedure to resolve conflicts in the case of + custom mode. + :paramtype conflict_resolution_procedure: str + """ super(ConflictResolutionPolicy, self).__init__(**kwargs) self.mode = mode self.conflict_resolution_path = conflict_resolution_path self.conflict_resolution_procedure = conflict_resolution_procedure +class ConnectionError(msrest.serialization.Model): + """ConnectionError. + + :ivar connection_state: The kind of connection error that occurred. Possible values include: + "Unknown", "OK", "OperatorToDataCenterNetworkError", "DatacenterToDatacenterNetworkError", + "InternalOperatorToDataCenterCertificateError", "InternalError". + :vartype connection_state: str or ~azure.mgmt.cosmosdb.models.ConnectionState + :ivar i_p_from: The IP of host that originated the failed connection. + :vartype i_p_from: str + :ivar i_p_to: The IP that the connection attempted to reach. + :vartype i_p_to: str + :ivar port: The TCP port the connection was attempted on. + :vartype port: int + :ivar exception: Detailed error message about the failed connection. + :vartype exception: str + """ + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'i_p_from': {'key': 'iPFrom', 'type': 'str'}, + 'i_p_to': {'key': 'iPTo', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'exception': {'key': 'exception', 'type': 'str'}, + } + + def __init__( + self, + *, + connection_state: Optional[Union[str, "ConnectionState"]] = None, + i_p_from: Optional[str] = None, + i_p_to: Optional[str] = None, + port: Optional[int] = None, + exception: Optional[str] = None, + **kwargs + ): + """ + :keyword connection_state: The kind of connection error that occurred. Possible values include: + "Unknown", "OK", "OperatorToDataCenterNetworkError", "DatacenterToDatacenterNetworkError", + "InternalOperatorToDataCenterCertificateError", "InternalError". + :paramtype connection_state: str or ~azure.mgmt.cosmosdb.models.ConnectionState + :keyword i_p_from: The IP of host that originated the failed connection. + :paramtype i_p_from: str + :keyword i_p_to: The IP that the connection attempted to reach. + :paramtype i_p_to: str + :keyword port: The TCP port the connection was attempted on. + :paramtype port: int + :keyword exception: Detailed error message about the failed connection. + :paramtype exception: str + """ + super(ConnectionError, self).__init__(**kwargs) + self.connection_state = connection_state + self.i_p_from = i_p_from + self.i_p_to = i_p_to + self.port = port + self.exception = exception + + class ConsistencyPolicy(msrest.serialization.Model): """The consistency policy for the Cosmos DB database account. All required parameters must be populated in order to send to Azure. - :param default_consistency_level: Required. The default consistency level and configuration + :ivar default_consistency_level: Required. The default consistency level and configuration settings of the Cosmos DB account. Possible values include: "Eventual", "Session", "BoundedStaleness", "Strong", "ConsistentPrefix". - :type default_consistency_level: str or ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel - :param max_staleness_prefix: When used with the Bounded Staleness consistency level, this value + :vartype default_consistency_level: str or ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel + :ivar max_staleness_prefix: When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. - :type max_staleness_prefix: long - :param max_interval_in_seconds: When used with the Bounded Staleness consistency level, this + :vartype max_staleness_prefix: long + :ivar max_interval_in_seconds: When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. - :type max_interval_in_seconds: int + :vartype max_interval_in_seconds: int """ _validation = { @@ -1779,6 +2932,21 @@ def __init__( max_interval_in_seconds: Optional[int] = None, **kwargs ): + """ + :keyword default_consistency_level: Required. The default consistency level and configuration + settings of the Cosmos DB account. Possible values include: "Eventual", "Session", + "BoundedStaleness", "Strong", "ConsistentPrefix". + :paramtype default_consistency_level: str or + ~azure.mgmt.cosmosdb.models.DefaultConsistencyLevel + :keyword max_staleness_prefix: When used with the Bounded Staleness consistency level, this + value represents the number of stale requests tolerated. Accepted range for this value is 1 – + 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. + :paramtype max_staleness_prefix: long + :keyword max_interval_in_seconds: When used with the Bounded Staleness consistency level, this + value represents the time amount of staleness (in seconds) tolerated. Accepted range for this + value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'. + :paramtype max_interval_in_seconds: int + """ super(ConsistencyPolicy, self).__init__(**kwargs) self.default_consistency_level = default_consistency_level self.max_staleness_prefix = max_staleness_prefix @@ -1790,14 +2958,14 @@ class ContainerPartitionKey(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param paths: List of paths using which data within the container can be partitioned. - :type paths: list[str] - :param kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple + :ivar paths: List of paths using which data within the container can be partitioned. + :vartype paths: list[str] + :ivar kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create. Possible values include: "Hash", "Range", "MultiHash". Default value: "Hash". - :type kind: str or ~azure.mgmt.cosmosdb.models.PartitionKind - :param version: Indicates the version of the partition key definition. - :type version: int + :vartype kind: str or ~azure.mgmt.cosmosdb.models.PartitionKind + :ivar version: Indicates the version of the partition key definition. + :vartype version: int :ivar system_key: Indicates if the container is using a system generated partition key. :vartype system_key: bool """ @@ -1822,6 +2990,16 @@ def __init__( version: Optional[int] = None, **kwargs ): + """ + :keyword paths: List of paths using which data within the container can be partitioned. + :paramtype paths: list[str] + :keyword kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple + partition keys (upto three maximum) are supported for container create. Possible values + include: "Hash", "Range", "MultiHash". Default value: "Hash". + :paramtype kind: str or ~azure.mgmt.cosmosdb.models.PartitionKind + :keyword version: Indicates the version of the partition key definition. + :paramtype version: int + """ super(ContainerPartitionKey, self).__init__(**kwargs) self.paths = paths self.kind = kind @@ -1832,8 +3010,8 @@ def __init__( class ContinuousBackupInformation(msrest.serialization.Model): """Information about the status of continuous backups. - :param latest_restorable_timestamp: The latest restorable timestamp for a resource. - :type latest_restorable_timestamp: str + :ivar latest_restorable_timestamp: The latest restorable timestamp for a resource. + :vartype latest_restorable_timestamp: str """ _attribute_map = { @@ -1846,6 +3024,10 @@ def __init__( latest_restorable_timestamp: Optional[str] = None, **kwargs ): + """ + :keyword latest_restorable_timestamp: The latest restorable timestamp for a resource. + :paramtype latest_restorable_timestamp: str + """ super(ContinuousBackupInformation, self).__init__(**kwargs) self.latest_restorable_timestamp = latest_restorable_timestamp @@ -1853,8 +3035,8 @@ def __init__( class ContinuousBackupRestoreLocation(msrest.serialization.Model): """Properties of the regional restorable account. - :param location: The name of the continuous backup restore location. - :type location: str + :ivar location: The name of the continuous backup restore location. + :vartype location: str """ _attribute_map = { @@ -1867,6 +3049,10 @@ def __init__( location: Optional[str] = None, **kwargs ): + """ + :keyword location: The name of the continuous backup restore location. + :paramtype location: str + """ super(ContinuousBackupRestoreLocation, self).__init__(**kwargs) self.location = location @@ -1876,12 +3062,12 @@ class ContinuousModeBackupPolicy(BackupPolicy): All required parameters must be populated in order to send to Azure. - :param type: Required. Describes the mode of backups.Constant filled by server. Possible - values include: "Periodic", "Continuous". - :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType - :param migration_state: The object representing the state of the migration between the backup + :ivar type: Required. Describes the mode of backups.Constant filled by server. Possible values + include: "Periodic", "Continuous". + :vartype type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType + :ivar migration_state: The object representing the state of the migration between the backup policies. - :type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState + :vartype migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState """ _validation = { @@ -1899,6 +3085,11 @@ def __init__( migration_state: Optional["BackupPolicyMigrationState"] = None, **kwargs ): + """ + :keyword migration_state: The object representing the state of the migration between the backup + policies. + :paramtype migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState + """ super(ContinuousModeBackupPolicy, self).__init__(migration_state=migration_state, **kwargs) self.type = 'Continuous' # type: str @@ -1908,61 +3099,213 @@ class CorsPolicy(msrest.serialization.Model): 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 + :ivar allowed_origins: Required. The origin domains that are permitted to make a request against the service via CORS. - :type allowed_origins: str - :param allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a + :vartype allowed_origins: str + :ivar allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a CORS request. - :type allowed_methods: str - :param allowed_headers: The request headers that the origin domain may specify on the CORS + :vartype allowed_methods: str + :ivar allowed_headers: The request headers that the origin domain may specify on the CORS request. - :type allowed_headers: str - :param exposed_headers: The response headers that may be sent in the response to the CORS + :vartype allowed_headers: str + :ivar exposed_headers: 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: The maximum amount time that a browser should cache the preflight + :vartype exposed_headers: str + :ivar max_age_in_seconds: The maximum amount time that a browser should cache the preflight OPTIONS request. - :type max_age_in_seconds: long + :vartype max_age_in_seconds: long + """ + + _validation = { + 'allowed_origins': {'required': True}, + 'max_age_in_seconds': {'maximum': 2147483647, 'minimum': 1}, + } + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': 'str'}, + 'allowed_methods': {'key': 'allowedMethods', 'type': 'str'}, + 'allowed_headers': {'key': 'allowedHeaders', 'type': 'str'}, + 'exposed_headers': {'key': 'exposedHeaders', 'type': 'str'}, + 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'long'}, + } + + def __init__( + self, + *, + allowed_origins: str, + allowed_methods: Optional[str] = None, + allowed_headers: Optional[str] = None, + exposed_headers: Optional[str] = None, + max_age_in_seconds: Optional[int] = None, + **kwargs + ): + """ + :keyword allowed_origins: Required. The origin domains that are permitted to make a request + against the service via CORS. + :paramtype allowed_origins: str + :keyword allowed_methods: The methods (HTTP request verbs) that the origin domain may use for a + CORS request. + :paramtype allowed_methods: str + :keyword allowed_headers: The request headers that the origin domain may specify on the CORS + request. + :paramtype allowed_headers: str + :keyword exposed_headers: The response headers that may be sent in the response to the CORS + request and exposed by the browser to the request issuer. + :paramtype exposed_headers: str + :keyword max_age_in_seconds: The maximum amount time that a browser should cache the preflight + OPTIONS request. + :paramtype max_age_in_seconds: long + """ + super(CorsPolicy, 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 CosmosCassandraDataTransferDataSourceSink(DataTransferDataSourceSink): + """A CosmosDB Cassandra API data source/sink. + + All required parameters must be populated in order to send to Azure. + + :ivar component: Required. Constant filled by server. Possible values include: + "CosmosDBCassandra", "CosmosDBSql", "AzureBlobStorage". Default value: "CosmosDBCassandra". + :vartype component: str or ~azure.mgmt.cosmosdb.models.DataTransferComponent + :ivar keyspace_name: Required. + :vartype keyspace_name: str + :ivar table_name: Required. + :vartype table_name: str + """ + + _validation = { + 'component': {'required': True}, + 'keyspace_name': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'component': {'key': 'component', 'type': 'str'}, + 'keyspace_name': {'key': 'keyspaceName', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + } + + def __init__( + self, + *, + keyspace_name: str, + table_name: str, + **kwargs + ): + """ + :keyword keyspace_name: Required. + :paramtype keyspace_name: str + :keyword table_name: Required. + :paramtype table_name: str + """ + super(CosmosCassandraDataTransferDataSourceSink, self).__init__(**kwargs) + self.component = 'CosmosDBCassandra' # type: str + self.keyspace_name = keyspace_name + self.table_name = table_name + + +class CosmosSqlDataTransferDataSourceSink(DataTransferDataSourceSink): + """A CosmosDB Cassandra API data source/sink. + + All required parameters must be populated in order to send to Azure. + + :ivar component: Required. Constant filled by server. Possible values include: + "CosmosDBCassandra", "CosmosDBSql", "AzureBlobStorage". Default value: "CosmosDBCassandra". + :vartype component: str or ~azure.mgmt.cosmosdb.models.DataTransferComponent + :ivar database_name: Required. + :vartype database_name: str + :ivar container_name: Required. + :vartype container_name: str + """ + + _validation = { + 'component': {'required': True}, + 'database_name': {'required': True}, + 'container_name': {'required': True}, + } + + _attribute_map = { + 'component': {'key': 'component', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'container_name': {'key': 'containerName', 'type': 'str'}, + } + + def __init__( + self, + *, + database_name: str, + container_name: str, + **kwargs + ): + """ + :keyword database_name: Required. + :paramtype database_name: str + :keyword container_name: Required. + :paramtype container_name: str + """ + super(CosmosSqlDataTransferDataSourceSink, self).__init__(**kwargs) + self.component = 'CosmosDBSql' # type: str + self.database_name = database_name + self.container_name = container_name + + +class CreateJobRequest(ARMProxyResource): + """Parameters to create Data Transfer Job. + + 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 unique resource identifier of the database account. + :vartype id: str + :ivar name: The name of the database account. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar properties: Required. Data Transfer Create Job Properties. + :vartype properties: ~azure.mgmt.cosmosdb.models.DataTransferJobProperties """ _validation = { - 'allowed_origins': {'required': True}, - 'max_age_in_seconds': {'maximum': 2147483647, 'minimum': 1}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'required': True}, } _attribute_map = { - 'allowed_origins': {'key': 'allowedOrigins', 'type': 'str'}, - 'allowed_methods': {'key': 'allowedMethods', 'type': 'str'}, - 'allowed_headers': {'key': 'allowedHeaders', 'type': 'str'}, - 'exposed_headers': {'key': 'exposedHeaders', 'type': 'str'}, - 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'long'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DataTransferJobProperties'}, } def __init__( self, *, - allowed_origins: str, - allowed_methods: Optional[str] = None, - allowed_headers: Optional[str] = None, - exposed_headers: Optional[str] = None, - max_age_in_seconds: Optional[int] = None, + properties: "DataTransferJobProperties", **kwargs ): - super(CorsPolicy, 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 + """ + :keyword properties: Required. Data Transfer Create Job Properties. + :paramtype properties: ~azure.mgmt.cosmosdb.models.DataTransferJobProperties + """ + super(CreateJobRequest, self).__init__(**kwargs) + self.properties = properties class CreateUpdateOptions(msrest.serialization.Model): """CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput". - :param throughput: Request Units per second. For example, "throughput": 10000. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :ivar throughput: Request Units per second. For example, "throughput": 10000. + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -1977,6 +3320,12 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Request Units per second. For example, "throughput": 10000. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(CreateUpdateOptions, self).__init__(**kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings @@ -2007,6 +3356,8 @@ def __init__( self, **kwargs ): + """ + """ super(DatabaseAccountConnectionString, self).__init__(**kwargs) self.connection_string = None self.description = None @@ -2025,92 +3376,98 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param kind: Indicates the type of database account. This can only be set at database account + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar kind: Indicates the type of database account. This can only be set at database account creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". - :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind - :param consistency_policy: The consistency policy for the Cosmos DB account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication locations enabled for the + :vartype kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind + :ivar consistency_policy: The consistency policy for the Cosmos DB account. + :vartype consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy + :ivar locations: Required. An array that contains the georeplication locations enabled for the Cosmos DB account. - :type locations: list[~azure.mgmt.cosmosdb.models.Location] + :vartype locations: list[~azure.mgmt.cosmosdb.models.Location] :ivar database_account_offer_type: The offer type for the database. Has constant value: "Standard". :vartype database_account_offer_type: str - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + :ivar ip_rules: List of IpRules. + :vartype ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] + :ivar is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare + :vartype is_virtual_network_filter_enabled: bool + :ivar enable_automatic_failover: Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account. - :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + :vartype enable_automatic_failover: bool + :ivar capabilities: List of Cosmos DB capabilities for the account. + :vartype capabilities: list[~azure.mgmt.cosmosdb.models.Capability] + :ivar virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + :vartype virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :ivar enable_multiple_write_locations: Enables the account to write in multiple locations. + :vartype enable_multiple_write_locations: bool + :ivar enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. + :vartype enable_cassandra_connector: bool + :ivar connector_offer: The cassandra connector offer type for the Cosmos DB database C* account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + :vartype connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer + :ivar disable_key_based_metadata_write_access: Disable write operations on metadata resources (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like + :vartype disable_key_based_metadata_write_access: bool + :ivar key_vault_key_uri: The URI of the key vault. + :vartype key_vault_key_uri: str + :ivar default_identity: The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values + :vartype default_identity: str + :ivar public_network_access: Whether requests from Public Network are allowed. Possible values include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only for MongoDB API. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: + :vartype public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :ivar enable_free_tier: Flag to indicate whether Free Tier is enabled. + :vartype enable_free_tier: bool + :ivar api_properties: API specific properties. Currently, supported only for MongoDB API. + :vartype api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties + :ivar enable_analytical_storage: Flag to indicate whether to enable storage analytics. + :vartype enable_analytical_storage: bool + :ivar analytical_storage_configuration: Analytical storage specific properties. + :vartype analytical_storage_configuration: ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by - server. Possible values include: "Default", "Restore". Default value: "Default". - :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + :ivar create_mode: Enum to indicate the mode of account creation. Possible values include: + "Default", "Restore". Default value: "Default". + :vartype create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :ivar backup_policy: The object representing the policy for taking backups on an account. + :vartype backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy + :ivar cors: The CORS policy for the Cosmos DB database account. + :vartype cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] + :ivar network_acl_bypass: Indicates what services are allowed to bypass firewall checks. Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + :vartype network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :ivar network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings + :vartype network_acl_bypass_resource_ids: list[str] + :ivar diagnostic_log_settings: The Object representing the different Diagnostic log settings for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be + :vartype diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings + :ivar disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. - :type disable_local_auth: bool - :param restore_parameters: Parameters to indicate the information about the restore. - :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters + :vartype disable_local_auth: bool + :ivar restore_parameters: Parameters to indicate the information about the restore. + :vartype restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters + :ivar capacity: The object that represents all properties related to capacity enforcement on an + account. + :vartype capacity: ~azure.mgmt.cosmosdb.models.Capacity + :ivar enable_materialized_views: Flag to indicate whether to enable MaterializedViews on the + Cosmos DB account. + :vartype enable_materialized_views: bool """ _validation = { @@ -2119,7 +3476,6 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): 'type': {'readonly': True}, 'locations': {'required': True}, 'database_account_offer_type': {'required': True, 'constant': True}, - 'create_mode': {'required': True}, } _attribute_map = { @@ -2157,6 +3513,8 @@ class DatabaseAccountCreateUpdateParameters(ARMResourceProperties): 'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, 'restore_parameters': {'key': 'properties.restoreParameters', 'type': 'RestoreParameters'}, + 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, + 'enable_materialized_views': {'key': 'properties.enableMaterializedViews', 'type': 'bool'}, } database_account_offer_type = "Standard" @@ -2186,6 +3544,7 @@ def __init__( api_properties: Optional["ApiProperties"] = None, enable_analytical_storage: Optional[bool] = None, analytical_storage_configuration: Optional["AnalyticalStorageConfiguration"] = None, + create_mode: Optional[Union[str, "CreateMode"]] = "Default", backup_policy: Optional["BackupPolicy"] = None, cors: Optional[List["CorsPolicy"]] = None, network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None, @@ -2193,8 +3552,102 @@ def __init__( diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None, disable_local_auth: Optional[bool] = None, restore_parameters: Optional["RestoreParameters"] = None, - **kwargs - ): + capacity: Optional["Capacity"] = None, + enable_materialized_views: Optional[bool] = None, + **kwargs + ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword kind: Indicates the type of database account. This can only be set at database account + creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". + :paramtype kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind + :keyword consistency_policy: The consistency policy for the Cosmos DB account. + :paramtype consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy + :keyword locations: Required. An array that contains the georeplication locations enabled for + the Cosmos DB account. + :paramtype locations: list[~azure.mgmt.cosmosdb.models.Location] + :keyword ip_rules: List of IpRules. + :paramtype ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] + :keyword is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. + :paramtype is_virtual_network_filter_enabled: bool + :keyword enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. + :paramtype enable_automatic_failover: bool + :keyword capabilities: List of Cosmos DB capabilities for the account. + :paramtype capabilities: list[~azure.mgmt.cosmosdb.models.Capability] + :keyword virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :paramtype virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :keyword enable_multiple_write_locations: Enables the account to write in multiple locations. + :paramtype enable_multiple_write_locations: bool + :keyword enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* + account. + :paramtype enable_cassandra_connector: bool + :keyword connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". + :paramtype connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer + :keyword disable_key_based_metadata_write_access: Disable write operations on metadata + resources (databases, containers, throughput) via account keys. + :paramtype disable_key_based_metadata_write_access: bool + :keyword key_vault_key_uri: The URI of the key vault. + :paramtype key_vault_key_uri: str + :keyword default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :paramtype default_identity: str + :keyword public_network_access: Whether requests from Public Network are allowed. Possible + values include: "Enabled", "Disabled". + :paramtype public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :keyword enable_free_tier: Flag to indicate whether Free Tier is enabled. + :paramtype enable_free_tier: bool + :keyword api_properties: API specific properties. Currently, supported only for MongoDB API. + :paramtype api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties + :keyword enable_analytical_storage: Flag to indicate whether to enable storage analytics. + :paramtype enable_analytical_storage: bool + :keyword analytical_storage_configuration: Analytical storage specific properties. + :paramtype analytical_storage_configuration: + ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration + :keyword create_mode: Enum to indicate the mode of account creation. Possible values include: + "Default", "Restore". Default value: "Default". + :paramtype create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :keyword backup_policy: The object representing the policy for taking backups on an account. + :paramtype backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy + :keyword cors: The CORS policy for the Cosmos DB database account. + :paramtype cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] + :keyword network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :paramtype network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :keyword network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network + Acl Bypass for the Cosmos DB account. + :paramtype network_acl_bypass_resource_ids: list[str] + :keyword diagnostic_log_settings: The Object representing the different Diagnostic log settings + for the Cosmos DB Account. + :paramtype diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings + :keyword disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be + used exclusively for authentication. + :paramtype disable_local_auth: bool + :keyword restore_parameters: Parameters to indicate the information about the restore. + :paramtype restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters + :keyword capacity: The object that represents all properties related to capacity enforcement on + an account. + :paramtype capacity: ~azure.mgmt.cosmosdb.models.Capacity + :keyword enable_materialized_views: Flag to indicate whether to enable MaterializedViews on the + Cosmos DB account. + :paramtype enable_materialized_views: bool + """ super(DatabaseAccountCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.kind = kind self.consistency_policy = consistency_policy @@ -2215,192 +3668,7 @@ def __init__( self.api_properties = api_properties self.enable_analytical_storage = enable_analytical_storage self.analytical_storage_configuration = analytical_storage_configuration - self.create_mode = None # type: Optional[str] - self.backup_policy = backup_policy - self.cors = cors - self.network_acl_bypass = network_acl_bypass - self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids - self.diagnostic_log_settings = diagnostic_log_settings - self.disable_local_auth = disable_local_auth - self.restore_parameters = restore_parameters - - -class DatabaseAccountCreateUpdateProperties(msrest.serialization.Model): - """Properties to create and update Azure Cosmos DB database accounts. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DefaultRequestDatabaseAccountCreateUpdateProperties. - - 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 consistency_policy: The consistency policy for the Cosmos DB account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication locations enabled for the - Cosmos DB account. - :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: The offer type for the database. Has constant value: - "Standard". - :vartype database_account_offer_type: str - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual - Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare - event that the region is unavailable due to an outage. Automatic failover will result in a new - write region for the account and is chosen based on the failover priorities configured for the - account. - :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB - account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* - account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources - (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like - customer managed keys. The default identity needs to be explicitly set by the users. It can be - "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values - include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only for MongoDB API. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: - ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by - server. Possible values include: "Default", "Restore". Default value: "Default". - :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. - Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl - Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings - for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be - used exclusively for authentication. - :type disable_local_auth: bool - :param restore_parameters: Parameters to indicate the information about the restore. - :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - """ - - _validation = { - 'locations': {'required': True}, - 'database_account_offer_type': {'required': True, 'constant': True}, - 'create_mode': {'required': True}, - } - - _attribute_map = { - 'consistency_policy': {'key': 'consistencyPolicy', 'type': 'ConsistencyPolicy'}, - 'locations': {'key': 'locations', 'type': '[Location]'}, - 'database_account_offer_type': {'key': 'databaseAccountOfferType', 'type': 'str'}, - 'ip_rules': {'key': 'ipRules', 'type': '[IpAddressOrRange]'}, - 'is_virtual_network_filter_enabled': {'key': 'isVirtualNetworkFilterEnabled', 'type': 'bool'}, - 'enable_automatic_failover': {'key': 'enableAutomaticFailover', 'type': 'bool'}, - 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, - 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, - 'enable_multiple_write_locations': {'key': 'enableMultipleWriteLocations', 'type': 'bool'}, - 'enable_cassandra_connector': {'key': 'enableCassandraConnector', 'type': 'bool'}, - 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, - 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, - 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, - 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, - 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, - 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, - 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, - 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, - 'analytical_storage_configuration': {'key': 'analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, - 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, - 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'diagnostic_log_settings': {'key': 'diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, - 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'}, - 'restore_parameters': {'key': 'restoreParameters', 'type': 'RestoreParameters'}, - } - - _subtype_map = { - 'create_mode': {'Default': 'DefaultRequestDatabaseAccountCreateUpdateProperties'} - } - - database_account_offer_type = "Standard" - - def __init__( - self, - *, - locations: List["Location"], - consistency_policy: Optional["ConsistencyPolicy"] = None, - ip_rules: Optional[List["IpAddressOrRange"]] = None, - is_virtual_network_filter_enabled: Optional[bool] = None, - enable_automatic_failover: Optional[bool] = None, - capabilities: Optional[List["Capability"]] = None, - virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, - enable_multiple_write_locations: Optional[bool] = None, - enable_cassandra_connector: Optional[bool] = None, - connector_offer: Optional[Union[str, "ConnectorOffer"]] = None, - disable_key_based_metadata_write_access: Optional[bool] = None, - key_vault_key_uri: Optional[str] = None, - default_identity: Optional[str] = None, - public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, - enable_free_tier: Optional[bool] = None, - api_properties: Optional["ApiProperties"] = None, - enable_analytical_storage: Optional[bool] = None, - analytical_storage_configuration: Optional["AnalyticalStorageConfiguration"] = None, - backup_policy: Optional["BackupPolicy"] = None, - cors: Optional[List["CorsPolicy"]] = None, - network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None, - network_acl_bypass_resource_ids: Optional[List[str]] = None, - diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None, - disable_local_auth: Optional[bool] = None, - restore_parameters: Optional["RestoreParameters"] = None, - **kwargs - ): - super(DatabaseAccountCreateUpdateProperties, self).__init__(**kwargs) - self.consistency_policy = consistency_policy - self.locations = locations - self.ip_rules = ip_rules - self.is_virtual_network_filter_enabled = is_virtual_network_filter_enabled - self.enable_automatic_failover = enable_automatic_failover - self.capabilities = capabilities - self.virtual_network_rules = virtual_network_rules - self.enable_multiple_write_locations = enable_multiple_write_locations - self.enable_cassandra_connector = enable_cassandra_connector - self.connector_offer = connector_offer - self.disable_key_based_metadata_write_access = disable_key_based_metadata_write_access - self.key_vault_key_uri = key_vault_key_uri - self.default_identity = default_identity - self.public_network_access = public_network_access - self.enable_free_tier = enable_free_tier - self.api_properties = api_properties - self.enable_analytical_storage = enable_analytical_storage - self.analytical_storage_configuration = analytical_storage_configuration - self.create_mode = None # type: Optional[str] + self.create_mode = create_mode self.backup_policy = backup_policy self.cors = cors self.network_acl_bypass = network_acl_bypass @@ -2408,6 +3676,8 @@ def __init__( self.diagnostic_log_settings = diagnostic_log_settings self.disable_local_auth = disable_local_auth self.restore_parameters = restore_parameters + self.capacity = capacity + self.enable_materialized_views = enable_materialized_views class DatabaseAccountGetResults(ARMResourceProperties): @@ -2421,20 +3691,20 @@ class DatabaseAccountGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param kind: Indicates the type of database account. This can only be set at database account + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar kind: Indicates the type of database account. This can only be set at database account creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". - :type kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind + :vartype kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind :ivar system_data: The system meta data relating to this resource. :vartype system_data: ~azure.mgmt.cosmosdb.models.SystemData :ivar provisioning_state: The status of the Cosmos DB account at the time the operation was @@ -2451,20 +3721,20 @@ class DatabaseAccountGetResults(ARMResourceProperties): value: Standard. The only acceptable values to pass in are None and "Standard". The default value is None. :vartype database_account_offer_type: str - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + :ivar ip_rules: List of IpRules. + :vartype ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] + :ivar is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare + :vartype is_virtual_network_filter_enabled: bool + :ivar enable_automatic_failover: Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account. - :type enable_automatic_failover: bool - :param consistency_policy: The consistency policy for the Cosmos DB database account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] + :vartype enable_automatic_failover: bool + :ivar consistency_policy: The consistency policy for the Cosmos DB database account. + :vartype consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy + :ivar capabilities: List of Cosmos DB capabilities for the account. + :vartype capabilities: list[~azure.mgmt.cosmosdb.models.Capability] :ivar write_locations: An array that contains the write location for the Cosmos DB account. :vartype write_locations: list[~azure.mgmt.cosmosdb.models.Location] :ivar read_locations: An array that contains of the read locations enabled for the Cosmos DB @@ -2475,64 +3745,70 @@ class DatabaseAccountGetResults(ARMResourceProperties): :ivar failover_policies: An array that contains the regions ordered by their failover priorities. :vartype failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + :ivar virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :vartype virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] :ivar private_endpoint_connections: List of Private Endpoint Connections configured for the Cosmos DB account. :vartype private_endpoint_connections: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + :ivar enable_multiple_write_locations: Enables the account to write in multiple locations. + :vartype enable_multiple_write_locations: bool + :ivar enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. + :vartype enable_cassandra_connector: bool + :ivar connector_offer: The cassandra connector offer type for the Cosmos DB database C* account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + :vartype connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer + :ivar disable_key_based_metadata_write_access: Disable write operations on metadata resources (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like + :vartype disable_key_based_metadata_write_access: bool + :ivar key_vault_key_uri: The URI of the key vault. + :vartype key_vault_key_uri: str + :ivar default_identity: The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values + :vartype default_identity: str + :ivar public_network_access: Whether requests from Public Network are allowed. Possible values include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: + :vartype public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :ivar enable_free_tier: Flag to indicate whether Free Tier is enabled. + :vartype enable_free_tier: bool + :ivar api_properties: API specific properties. + :vartype api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties + :ivar enable_analytical_storage: Flag to indicate whether to enable storage analytics. + :vartype enable_analytical_storage: bool + :ivar analytical_storage_configuration: Analytical storage specific properties. + :vartype analytical_storage_configuration: ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration :ivar instance_id: A unique identifier assigned to the database account. :vartype instance_id: str - :param create_mode: Enum to indicate the mode of account creation. Possible values include: + :ivar create_mode: Enum to indicate the mode of account creation. Possible values include: "Default", "Restore". Default value: "Default". - :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param restore_parameters: Parameters to indicate the information about the restore. - :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + :vartype create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :ivar restore_parameters: Parameters to indicate the information about the restore. + :vartype restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters + :ivar backup_policy: The object representing the policy for taking backups on an account. + :vartype backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy + :ivar cors: The CORS policy for the Cosmos DB database account. + :vartype cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] + :ivar network_acl_bypass: Indicates what services are allowed to bypass firewall checks. Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + :vartype network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :ivar network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings + :vartype network_acl_bypass_resource_ids: list[str] + :ivar diagnostic_log_settings: The Object representing the different Diagnostic log settings for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be + :vartype diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings + :ivar disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. - :type disable_local_auth: bool + :vartype disable_local_auth: bool + :ivar capacity: The object that represents all properties related to capacity enforcement on an + account. + :vartype capacity: ~azure.mgmt.cosmosdb.models.Capacity + :ivar enable_materialized_views: Flag to indicate whether to enable MaterializedViews on the + Cosmos DB account. + :vartype enable_materialized_views: bool """ _validation = { @@ -2594,6 +3870,8 @@ class DatabaseAccountGetResults(ARMResourceProperties): 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, 'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, + 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, + 'enable_materialized_views': {'key': 'properties.enableMaterializedViews', 'type': 'bool'}, } def __init__( @@ -2628,8 +3906,99 @@ def __init__( network_acl_bypass_resource_ids: Optional[List[str]] = None, diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None, disable_local_auth: Optional[bool] = None, - **kwargs - ): + capacity: Optional["Capacity"] = None, + enable_materialized_views: Optional[bool] = None, + **kwargs + ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword kind: Indicates the type of database account. This can only be set at database account + creation. Possible values include: "GlobalDocumentDB", "MongoDB", "Parse". + :paramtype kind: str or ~azure.mgmt.cosmosdb.models.DatabaseAccountKind + :keyword ip_rules: List of IpRules. + :paramtype ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] + :keyword is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. + :paramtype is_virtual_network_filter_enabled: bool + :keyword enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. + :paramtype enable_automatic_failover: bool + :keyword consistency_policy: The consistency policy for the Cosmos DB database account. + :paramtype consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy + :keyword capabilities: List of Cosmos DB capabilities for the account. + :paramtype capabilities: list[~azure.mgmt.cosmosdb.models.Capability] + :keyword virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :paramtype virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :keyword enable_multiple_write_locations: Enables the account to write in multiple locations. + :paramtype enable_multiple_write_locations: bool + :keyword enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* + account. + :paramtype enable_cassandra_connector: bool + :keyword connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". + :paramtype connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer + :keyword disable_key_based_metadata_write_access: Disable write operations on metadata + resources (databases, containers, throughput) via account keys. + :paramtype disable_key_based_metadata_write_access: bool + :keyword key_vault_key_uri: The URI of the key vault. + :paramtype key_vault_key_uri: str + :keyword default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :paramtype default_identity: str + :keyword public_network_access: Whether requests from Public Network are allowed. Possible + values include: "Enabled", "Disabled". + :paramtype public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :keyword enable_free_tier: Flag to indicate whether Free Tier is enabled. + :paramtype enable_free_tier: bool + :keyword api_properties: API specific properties. + :paramtype api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties + :keyword enable_analytical_storage: Flag to indicate whether to enable storage analytics. + :paramtype enable_analytical_storage: bool + :keyword analytical_storage_configuration: Analytical storage specific properties. + :paramtype analytical_storage_configuration: + ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration + :keyword create_mode: Enum to indicate the mode of account creation. Possible values include: + "Default", "Restore". Default value: "Default". + :paramtype create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode + :keyword restore_parameters: Parameters to indicate the information about the restore. + :paramtype restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters + :keyword backup_policy: The object representing the policy for taking backups on an account. + :paramtype backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy + :keyword cors: The CORS policy for the Cosmos DB database account. + :paramtype cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] + :keyword network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :paramtype network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :keyword network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network + Acl Bypass for the Cosmos DB account. + :paramtype network_acl_bypass_resource_ids: list[str] + :keyword diagnostic_log_settings: The Object representing the different Diagnostic log settings + for the Cosmos DB Account. + :paramtype diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings + :keyword disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be + used exclusively for authentication. + :paramtype disable_local_auth: bool + :keyword capacity: The object that represents all properties related to capacity enforcement on + an account. + :paramtype capacity: ~azure.mgmt.cosmosdb.models.Capacity + :keyword enable_materialized_views: Flag to indicate whether to enable MaterializedViews on the + Cosmos DB account. + :paramtype enable_materialized_views: bool + """ super(DatabaseAccountGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.kind = kind self.system_data = None @@ -2667,14 +4036,16 @@ def __init__( self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids self.diagnostic_log_settings = diagnostic_log_settings self.disable_local_auth = disable_local_auth + self.capacity = capacity + self.enable_materialized_views = enable_materialized_views class DatabaseAccountListConnectionStringsResult(msrest.serialization.Model): """The connection strings for the given database account. - :param connection_strings: An array that contains the connection strings for the Cosmos DB + :ivar connection_strings: An array that contains the connection strings for the Cosmos DB account. - :type connection_strings: list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString] + :vartype connection_strings: list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString] """ _attribute_map = { @@ -2687,6 +4058,12 @@ def __init__( connection_strings: Optional[List["DatabaseAccountConnectionString"]] = None, **kwargs ): + """ + :keyword connection_strings: An array that contains the connection strings for the Cosmos DB + account. + :paramtype connection_strings: + list[~azure.mgmt.cosmosdb.models.DatabaseAccountConnectionString] + """ super(DatabaseAccountListConnectionStringsResult, self).__init__(**kwargs) self.connection_strings = connection_strings @@ -2716,6 +4093,8 @@ def __init__( self, **kwargs ): + """ + """ super(DatabaseAccountListReadOnlyKeysResult, self).__init__(**kwargs) self.primary_readonly_master_key = None self.secondary_readonly_master_key = None @@ -2754,6 +4133,8 @@ def __init__( self, **kwargs ): + """ + """ super(DatabaseAccountListKeysResult, self).__init__(**kwargs) self.primary_master_key = None self.secondary_master_key = None @@ -2764,9 +4145,9 @@ class DatabaseAccountRegenerateKeyParameters(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param key_kind: Required. The access key to regenerate. Possible values include: "primary", + :ivar key_kind: Required. The access key to regenerate. Possible values include: "primary", "secondary", "primaryReadonly", "secondaryReadonly". - :type key_kind: str or ~azure.mgmt.cosmosdb.models.KeyKind + :vartype key_kind: str or ~azure.mgmt.cosmosdb.models.KeyKind """ _validation = { @@ -2783,6 +4164,11 @@ def __init__( key_kind: Union[str, "KeyKind"], **kwargs ): + """ + :keyword key_kind: Required. The access key to regenerate. Possible values include: "primary", + "secondary", "primaryReadonly", "secondaryReadonly". + :paramtype key_kind: str or ~azure.mgmt.cosmosdb.models.KeyKind + """ super(DatabaseAccountRegenerateKeyParameters, self).__init__(**kwargs) self.key_kind = key_kind @@ -2808,6 +4194,8 @@ def __init__( self, **kwargs ): + """ + """ super(DatabaseAccountsListResult, self).__init__(**kwargs) self.value = None @@ -2815,81 +4203,87 @@ def __init__( class DatabaseAccountUpdateParameters(msrest.serialization.Model): """Parameters for patching Azure Cosmos DB database account properties. - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param consistency_policy: The consistency policy for the Cosmos DB account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: An array that contains the georeplication locations enabled for the Cosmos DB + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar consistency_policy: The consistency policy for the Cosmos DB account. + :vartype consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy + :ivar locations: An array that contains the georeplication locations enabled for the Cosmos DB account. - :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + :vartype locations: list[~azure.mgmt.cosmosdb.models.Location] + :ivar ip_rules: List of IpRules. + :vartype ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] + :ivar is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare + :vartype is_virtual_network_filter_enabled: bool + :ivar enable_automatic_failover: Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account. - :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + :vartype enable_automatic_failover: bool + :ivar capabilities: List of Cosmos DB capabilities for the account. + :vartype capabilities: list[~azure.mgmt.cosmosdb.models.Capability] + :ivar virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* + :vartype virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :ivar enable_multiple_write_locations: Enables the account to write in multiple locations. + :vartype enable_multiple_write_locations: bool + :ivar enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. + :vartype enable_cassandra_connector: bool + :ivar connector_offer: The cassandra connector offer type for the Cosmos DB database C* account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources + :vartype connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer + :ivar disable_key_based_metadata_write_access: Disable write operations on metadata resources (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like + :vartype disable_key_based_metadata_write_access: bool + :ivar key_vault_key_uri: The URI of the key vault. + :vartype key_vault_key_uri: str + :ivar default_identity: The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values + :vartype default_identity: str + :ivar public_network_access: Whether requests from Public Network are allowed. Possible values include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only for MongoDB API. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: + :vartype public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :ivar enable_free_tier: Flag to indicate whether Free Tier is enabled. + :vartype enable_free_tier: bool + :ivar api_properties: API specific properties. Currently, supported only for MongoDB API. + :vartype api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties + :ivar enable_analytical_storage: Flag to indicate whether to enable storage analytics. + :vartype enable_analytical_storage: bool + :ivar analytical_storage_configuration: Analytical storage specific properties. + :vartype analytical_storage_configuration: ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + :ivar backup_policy: The object representing the policy for taking backups on an account. + :vartype backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy + :ivar cors: The CORS policy for the Cosmos DB database account. + :vartype cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] + :ivar network_acl_bypass: Indicates what services are allowed to bypass firewall checks. Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl + :vartype network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :ivar network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings + :vartype network_acl_bypass_resource_ids: list[str] + :ivar diagnostic_log_settings: The Object representing the different Diagnostic log settings for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be + :vartype diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings + :ivar disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication. - :type disable_local_auth: bool + :vartype disable_local_auth: bool + :ivar capacity: The object that represents all properties related to capacity enforcement on an + account. + :vartype capacity: ~azure.mgmt.cosmosdb.models.Capacity + :ivar enable_materialized_views: Flag to indicate whether to enable MaterializedViews on the + Cosmos DB account. + :vartype enable_materialized_views: bool """ _attribute_map = { @@ -2920,6 +4314,8 @@ class DatabaseAccountUpdateParameters(msrest.serialization.Model): 'network_acl_bypass_resource_ids': {'key': 'properties.networkAclBypassResourceIds', 'type': '[str]'}, 'diagnostic_log_settings': {'key': 'properties.diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, 'disable_local_auth': {'key': 'properties.disableLocalAuth', 'type': 'bool'}, + 'capacity': {'key': 'properties.capacity', 'type': 'Capacity'}, + 'enable_materialized_views': {'key': 'properties.enableMaterializedViews', 'type': 'bool'}, } def __init__( @@ -2952,8 +4348,94 @@ def __init__( network_acl_bypass_resource_ids: Optional[List[str]] = None, diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None, disable_local_auth: Optional[bool] = None, - **kwargs - ): + capacity: Optional["Capacity"] = None, + enable_materialized_views: Optional[bool] = None, + **kwargs + ): + """ + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword consistency_policy: The consistency policy for the Cosmos DB account. + :paramtype consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy + :keyword locations: An array that contains the georeplication locations enabled for the Cosmos + DB account. + :paramtype locations: list[~azure.mgmt.cosmosdb.models.Location] + :keyword ip_rules: List of IpRules. + :paramtype ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] + :keyword is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual + Network ACL rules. + :paramtype is_virtual_network_filter_enabled: bool + :keyword enable_automatic_failover: Enables automatic failover of the write region in the rare + event that the region is unavailable due to an outage. Automatic failover will result in a new + write region for the account and is chosen based on the failover priorities configured for the + account. + :paramtype enable_automatic_failover: bool + :keyword capabilities: List of Cosmos DB capabilities for the account. + :paramtype capabilities: list[~azure.mgmt.cosmosdb.models.Capability] + :keyword virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB + account. + :paramtype virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] + :keyword enable_multiple_write_locations: Enables the account to write in multiple locations. + :paramtype enable_multiple_write_locations: bool + :keyword enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* + account. + :paramtype enable_cassandra_connector: bool + :keyword connector_offer: The cassandra connector offer type for the Cosmos DB database C* + account. Possible values include: "Small". + :paramtype connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer + :keyword disable_key_based_metadata_write_access: Disable write operations on metadata + resources (databases, containers, throughput) via account keys. + :paramtype disable_key_based_metadata_write_access: bool + :keyword key_vault_key_uri: The URI of the key vault. + :paramtype key_vault_key_uri: str + :keyword default_identity: The default identity for accessing key vault used in features like + customer managed keys. The default identity needs to be explicitly set by the users. It can be + "FirstPartyIdentity", "SystemAssignedIdentity" and more. + :paramtype default_identity: str + :keyword public_network_access: Whether requests from Public Network are allowed. Possible + values include: "Enabled", "Disabled". + :paramtype public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess + :keyword enable_free_tier: Flag to indicate whether Free Tier is enabled. + :paramtype enable_free_tier: bool + :keyword api_properties: API specific properties. Currently, supported only for MongoDB API. + :paramtype api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties + :keyword enable_analytical_storage: Flag to indicate whether to enable storage analytics. + :paramtype enable_analytical_storage: bool + :keyword analytical_storage_configuration: Analytical storage specific properties. + :paramtype analytical_storage_configuration: + ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration + :keyword backup_policy: The object representing the policy for taking backups on an account. + :paramtype backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy + :keyword cors: The CORS policy for the Cosmos DB database account. + :paramtype cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] + :keyword network_acl_bypass: Indicates what services are allowed to bypass firewall checks. + Possible values include: "None", "AzureServices". + :paramtype network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass + :keyword network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network + Acl Bypass for the Cosmos DB account. + :paramtype network_acl_bypass_resource_ids: list[str] + :keyword diagnostic_log_settings: The Object representing the different Diagnostic log settings + for the Cosmos DB Account. + :paramtype diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings + :keyword disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be + used exclusively for authentication. + :paramtype disable_local_auth: bool + :keyword capacity: The object that represents all properties related to capacity enforcement on + an account. + :paramtype capacity: ~azure.mgmt.cosmosdb.models.Capacity + :keyword enable_materialized_views: Flag to indicate whether to enable MaterializedViews on the + Cosmos DB account. + :paramtype enable_materialized_views: bool + """ super(DatabaseAccountUpdateParameters, self).__init__(**kwargs) self.tags = tags self.location = location @@ -2982,36 +4464,268 @@ def __init__( self.network_acl_bypass_resource_ids = network_acl_bypass_resource_ids self.diagnostic_log_settings = diagnostic_log_settings self.disable_local_auth = disable_local_auth + self.capacity = capacity + self.enable_materialized_views = enable_materialized_views class DatabaseRestoreResource(msrest.serialization.Model): """Specific Databases to restore. - :param database_name: The name of the database available for restore. - :type database_name: str - :param collection_names: The names of the collections available for restore. - :type collection_names: list[str] + :ivar database_name: The name of the database available for restore. + :vartype database_name: str + :ivar collection_names: The names of the collections available for restore. + :vartype collection_names: list[str] + """ + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'collection_names': {'key': 'collectionNames', 'type': '[str]'}, + } + + def __init__( + self, + *, + database_name: Optional[str] = None, + collection_names: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword database_name: The name of the database available for restore. + :paramtype database_name: str + :keyword collection_names: The names of the collections available for restore. + :paramtype collection_names: list[str] + """ + super(DatabaseRestoreResource, self).__init__(**kwargs) + self.database_name = database_name + self.collection_names = collection_names + + +class DataCenterResource(ARMProxyResource): + """A managed Cassandra data center. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource identifier of the database account. + :vartype id: str + :ivar name: The name of the database account. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar properties: Properties of a managed Cassandra data center. + :vartype properties: ~azure.mgmt.cosmosdb.models.DataCenterResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DataCenterResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["DataCenterResourceProperties"] = None, + **kwargs + ): + """ + :keyword properties: Properties of a managed Cassandra data center. + :paramtype properties: ~azure.mgmt.cosmosdb.models.DataCenterResourceProperties + """ + super(DataCenterResource, self).__init__(**kwargs) + self.properties = properties + + +class DataCenterResourceProperties(msrest.serialization.Model): + """Properties of a managed Cassandra data center. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: The status of the resource at the time the operation was called. + Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". + :vartype provisioning_state: str or + ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState + :ivar data_center_location: The region this data center should be created in. + :vartype data_center_location: str + :ivar delegated_subnet_id: Resource id of a subnet the nodes in this data center should have + their network interfaces connected to. The subnet must be in the same region specified in + 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's + 'delegatedManagementSubnetId' property. This resource id will be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. + :vartype delegated_subnet_id: str + :ivar node_count: The number of nodes the data center should have. This is the desired number. + After it is set, it may take some time for the data center to be scaled to match. To monitor + the number of nodes and their status, use the fetchNodeStatus method on the cluster. + :vartype node_count: int + :ivar seed_nodes: IP addresses for seed nodes in this data center. This is for reference. + Generally you will want to use the seedNodes property on the cluster, which aggregates the seed + nodes from all data centers in the cluster. + :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] + :ivar base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration file + to be included in the cassandra.yaml for all nodes in this data center. The fragment should be + Base64 encoded, and only a subset of keys are allowed. + :vartype base64_encoded_cassandra_yaml_fragment: str + :ivar managed_disk_customer_key_uri: Key uri to use for encryption of managed disks. Ensure the + system assigned identity of the cluster has been assigned appropriate permissions(key + get/wrap/unwrap permissions) on the key. + :vartype managed_disk_customer_key_uri: str + :ivar backup_storage_customer_key_uri: Indicates the Key Uri of the customer key to use for + encryption of the backup storage account. + :vartype backup_storage_customer_key_uri: str + :ivar sku: Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2. + :vartype sku: str + :ivar disk_sku: Disk SKU used for data centers. Default value is P30. + :vartype disk_sku: str + :ivar disk_capacity: Number of disk used for data centers. Default value is 4. + :vartype disk_capacity: int + :ivar availability_zone: If the data center has Availability Zone feature, apply it to the + Virtual Machine ScaleSet that host the cassandra data center virtual machines. + :vartype availability_zone: bool + :ivar authentication_method_ldap_properties: Ldap authentication method properties. This + feature is in preview. + :vartype authentication_method_ldap_properties: + ~azure.mgmt.cosmosdb.models.AuthenticationMethodLdapProperties + """ + + _validation = { + 'seed_nodes': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'data_center_location': {'key': 'dataCenterLocation', 'type': 'str'}, + 'delegated_subnet_id': {'key': 'delegatedSubnetId', 'type': 'str'}, + 'node_count': {'key': 'nodeCount', 'type': 'int'}, + 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, + 'base64_encoded_cassandra_yaml_fragment': {'key': 'base64EncodedCassandraYamlFragment', 'type': 'str'}, + 'managed_disk_customer_key_uri': {'key': 'managedDiskCustomerKeyUri', 'type': 'str'}, + 'backup_storage_customer_key_uri': {'key': 'backupStorageCustomerKeyUri', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'str'}, + 'disk_sku': {'key': 'diskSku', 'type': 'str'}, + 'disk_capacity': {'key': 'diskCapacity', 'type': 'int'}, + 'availability_zone': {'key': 'availabilityZone', 'type': 'bool'}, + 'authentication_method_ldap_properties': {'key': 'authenticationMethodLdapProperties', 'type': 'AuthenticationMethodLdapProperties'}, + } + + def __init__( + self, + *, + provisioning_state: Optional[Union[str, "ManagedCassandraProvisioningState"]] = None, + data_center_location: Optional[str] = None, + delegated_subnet_id: Optional[str] = None, + node_count: Optional[int] = None, + base64_encoded_cassandra_yaml_fragment: Optional[str] = None, + managed_disk_customer_key_uri: Optional[str] = None, + backup_storage_customer_key_uri: Optional[str] = None, + sku: Optional[str] = None, + disk_sku: Optional[str] = None, + disk_capacity: Optional[int] = None, + availability_zone: Optional[bool] = None, + authentication_method_ldap_properties: Optional["AuthenticationMethodLdapProperties"] = None, + **kwargs + ): + """ + :keyword provisioning_state: The status of the resource at the time the operation was called. + Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". + :paramtype provisioning_state: str or + ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState + :keyword data_center_location: The region this data center should be created in. + :paramtype data_center_location: str + :keyword delegated_subnet_id: Resource id of a subnet the nodes in this data center should have + their network interfaces connected to. The subnet must be in the same region specified in + 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's + 'delegatedManagementSubnetId' property. This resource id will be of the form + '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. + :paramtype delegated_subnet_id: str + :keyword node_count: The number of nodes the data center should have. This is the desired + number. After it is set, it may take some time for the data center to be scaled to match. To + monitor the number of nodes and their status, use the fetchNodeStatus method on the cluster. + :paramtype node_count: int + :keyword base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration + file to be included in the cassandra.yaml for all nodes in this data center. The fragment + should be Base64 encoded, and only a subset of keys are allowed. + :paramtype base64_encoded_cassandra_yaml_fragment: str + :keyword managed_disk_customer_key_uri: Key uri to use for encryption of managed disks. Ensure + the system assigned identity of the cluster has been assigned appropriate permissions(key + get/wrap/unwrap permissions) on the key. + :paramtype managed_disk_customer_key_uri: str + :keyword backup_storage_customer_key_uri: Indicates the Key Uri of the customer key to use for + encryption of the backup storage account. + :paramtype backup_storage_customer_key_uri: str + :keyword sku: Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2. + :paramtype sku: str + :keyword disk_sku: Disk SKU used for data centers. Default value is P30. + :paramtype disk_sku: str + :keyword disk_capacity: Number of disk used for data centers. Default value is 4. + :paramtype disk_capacity: int + :keyword availability_zone: If the data center has Availability Zone feature, apply it to the + Virtual Machine ScaleSet that host the cassandra data center virtual machines. + :paramtype availability_zone: bool + :keyword authentication_method_ldap_properties: Ldap authentication method properties. This + feature is in preview. + :paramtype authentication_method_ldap_properties: + ~azure.mgmt.cosmosdb.models.AuthenticationMethodLdapProperties + """ + super(DataCenterResourceProperties, self).__init__(**kwargs) + self.provisioning_state = provisioning_state + self.data_center_location = data_center_location + self.delegated_subnet_id = delegated_subnet_id + self.node_count = node_count + self.seed_nodes = None + self.base64_encoded_cassandra_yaml_fragment = base64_encoded_cassandra_yaml_fragment + self.managed_disk_customer_key_uri = managed_disk_customer_key_uri + self.backup_storage_customer_key_uri = backup_storage_customer_key_uri + self.sku = sku + self.disk_sku = disk_sku + self.disk_capacity = disk_capacity + self.availability_zone = availability_zone + self.authentication_method_ldap_properties = authentication_method_ldap_properties + + +class DataTransferJobFeedResults(msrest.serialization.Model): + """The List operation response, that contains the Data Transfer jobs and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Data Transfer jobs and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.DataTransferJobGetResults] + :ivar next_link: URL to get the next set of Data Transfer job list results if there are any. + :vartype next_link: str """ + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + _attribute_map = { - 'database_name': {'key': 'databaseName', 'type': 'str'}, - 'collection_names': {'key': 'collectionNames', 'type': '[str]'}, + 'value': {'key': 'value', 'type': '[DataTransferJobGetResults]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( self, - *, - database_name: Optional[str] = None, - collection_names: Optional[List[str]] = None, **kwargs ): - super(DatabaseRestoreResource, self).__init__(**kwargs) - self.database_name = database_name - self.collection_names = collection_names + """ + """ + super(DataTransferJobFeedResults, self).__init__(**kwargs) + self.value = None + self.next_link = None -class DataCenterResource(ARMProxyResource): - """A managed Cassandra data center. +class DataTransferJobGetResults(ARMProxyResource): + """A Cosmos DB Data Transfer Job. Variables are only populated by the server, and will be ignored when sending a request. @@ -3021,95 +4735,149 @@ class DataCenterResource(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param properties: Properties of a managed Cassandra data center. - :type properties: ~azure.mgmt.cosmosdb.models.DataCenterResourceProperties + :ivar job_name: Job Name. + :vartype job_name: str + :ivar source: Source DataStore details. + :vartype source: ~azure.mgmt.cosmosdb.models.DataTransferDataSourceSink + :ivar destination: Destination DataStore details. + :vartype destination: ~azure.mgmt.cosmosdb.models.DataTransferDataSourceSink + :ivar status: Job Status. + :vartype status: str + :ivar percentage_complete: Percentage of completion. + :vartype percentage_complete: float + :ivar last_updated_utc_time: Last Updated Time (ISO-8601 format). + :vartype last_updated_utc_time: ~datetime.datetime + :ivar worker_count: Worker count. + :vartype worker_count: int + :ivar error: Error response for Faulted job. + :vartype error: ~azure.mgmt.cosmosdb.models.ErrorResponse """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'job_name': {'readonly': True}, + 'status': {'readonly': True}, + 'percentage_complete': {'readonly': True}, + 'last_updated_utc_time': {'readonly': True}, + 'worker_count': {'minimum': 0}, + 'error': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': 'DataCenterResourceProperties'}, + 'job_name': {'key': 'properties.jobName', 'type': 'str'}, + 'source': {'key': 'properties.source', 'type': 'DataTransferDataSourceSink'}, + 'destination': {'key': 'properties.destination', 'type': 'DataTransferDataSourceSink'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'percentage_complete': {'key': 'properties.percentageComplete', 'type': 'float'}, + 'last_updated_utc_time': {'key': 'properties.lastUpdatedUtcTime', 'type': 'iso-8601'}, + 'worker_count': {'key': 'properties.workerCount', 'type': 'int'}, + 'error': {'key': 'properties.error', 'type': 'ErrorResponse'}, } def __init__( self, *, - properties: Optional["DataCenterResourceProperties"] = None, + source: Optional["DataTransferDataSourceSink"] = None, + destination: Optional["DataTransferDataSourceSink"] = None, + worker_count: Optional[int] = None, **kwargs ): - super(DataCenterResource, self).__init__(**kwargs) - self.properties = properties + """ + :keyword source: Source DataStore details. + :paramtype source: ~azure.mgmt.cosmosdb.models.DataTransferDataSourceSink + :keyword destination: Destination DataStore details. + :paramtype destination: ~azure.mgmt.cosmosdb.models.DataTransferDataSourceSink + :keyword worker_count: Worker count. + :paramtype worker_count: int + """ + super(DataTransferJobGetResults, self).__init__(**kwargs) + self.job_name = None + self.source = source + self.destination = destination + self.status = None + self.percentage_complete = None + self.last_updated_utc_time = None + self.worker_count = worker_count + self.error = None -class DataCenterResourceProperties(msrest.serialization.Model): - """Properties of a managed Cassandra data center. +class DataTransferJobProperties(msrest.serialization.Model): + """The properties of a DataTransfer Job. Variables are only populated by the server, and will be ignored when sending a request. - :param provisioning_state: The status of the resource at the time the operation was called. - Possible values include: "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled". - :type provisioning_state: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraProvisioningState - :param data_center_location: The region this data center should be created in. - :type data_center_location: str - :param delegated_subnet_id: Resource id of a subnet the nodes in this data center should have - their network interfaces connected to. The subnet must be in the same region specified in - 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's - 'delegatedManagementSubnetId' property. This resource id will be of the form - '/subscriptions/:code:``/resourceGroups/:code:``/providers/Microsoft.Network/virtualNetworks/:code:``/subnets/:code:``'. - :type delegated_subnet_id: str - :param node_count: The number of nodes the data center should have. This is the desired number. - After it is set, it may take some time for the data center to be scaled to match. To monitor - the number of nodes and their status, use the fetchNodeStatus method on the cluster. - :type node_count: int - :ivar seed_nodes: IP addresses for seed nodes in this data center. This is for reference. - Generally you will want to use the seedNodes property on the cluster, which aggregates the seed - nodes from all data centers in the cluster. - :vartype seed_nodes: list[~azure.mgmt.cosmosdb.models.SeedNode] - :param base64_encoded_cassandra_yaml_fragment: A fragment of a cassandra.yaml configuration - file to be included in the cassandra.yaml for all nodes in this data center. The fragment - should be Base64 encoded, and only a subset of keys are allowed. - :type base64_encoded_cassandra_yaml_fragment: str + All required parameters must be populated in order to send to Azure. + + :ivar job_name: Job Name. + :vartype job_name: str + :ivar source: Required. Source DataStore details. + :vartype source: ~azure.mgmt.cosmosdb.models.DataTransferDataSourceSink + :ivar destination: Required. Destination DataStore details. + :vartype destination: ~azure.mgmt.cosmosdb.models.DataTransferDataSourceSink + :ivar status: Job Status. + :vartype status: str + :ivar percentage_complete: Percentage of completion. + :vartype percentage_complete: float + :ivar last_updated_utc_time: Last Updated Time (ISO-8601 format). + :vartype last_updated_utc_time: ~datetime.datetime + :ivar worker_count: Worker count. + :vartype worker_count: int + :ivar error: Error response for Faulted job. + :vartype error: ~azure.mgmt.cosmosdb.models.ErrorResponse """ _validation = { - 'seed_nodes': {'readonly': True}, + 'job_name': {'readonly': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + 'status': {'readonly': True}, + 'percentage_complete': {'readonly': True}, + 'last_updated_utc_time': {'readonly': True}, + 'worker_count': {'minimum': 0}, + 'error': {'readonly': True}, } _attribute_map = { - 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, - 'data_center_location': {'key': 'dataCenterLocation', 'type': 'str'}, - 'delegated_subnet_id': {'key': 'delegatedSubnetId', 'type': 'str'}, - 'node_count': {'key': 'nodeCount', 'type': 'int'}, - 'seed_nodes': {'key': 'seedNodes', 'type': '[SeedNode]'}, - 'base64_encoded_cassandra_yaml_fragment': {'key': 'base64EncodedCassandraYamlFragment', 'type': 'str'}, + 'job_name': {'key': 'jobName', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'DataTransferDataSourceSink'}, + 'destination': {'key': 'destination', 'type': 'DataTransferDataSourceSink'}, + 'status': {'key': 'status', 'type': 'str'}, + 'percentage_complete': {'key': 'percentageComplete', 'type': 'float'}, + 'last_updated_utc_time': {'key': 'lastUpdatedUtcTime', 'type': 'iso-8601'}, + 'worker_count': {'key': 'workerCount', 'type': 'int'}, + 'error': {'key': 'error', 'type': 'ErrorResponse'}, } def __init__( self, *, - provisioning_state: Optional[Union[str, "ManagedCassandraProvisioningState"]] = None, - data_center_location: Optional[str] = None, - delegated_subnet_id: Optional[str] = None, - node_count: Optional[int] = None, - base64_encoded_cassandra_yaml_fragment: Optional[str] = None, + source: "DataTransferDataSourceSink", + destination: "DataTransferDataSourceSink", + worker_count: Optional[int] = None, **kwargs ): - super(DataCenterResourceProperties, self).__init__(**kwargs) - self.provisioning_state = provisioning_state - self.data_center_location = data_center_location - self.delegated_subnet_id = delegated_subnet_id - self.node_count = node_count - self.seed_nodes = None - self.base64_encoded_cassandra_yaml_fragment = base64_encoded_cassandra_yaml_fragment + """ + :keyword source: Required. Source DataStore details. + :paramtype source: ~azure.mgmt.cosmosdb.models.DataTransferDataSourceSink + :keyword destination: Required. Destination DataStore details. + :paramtype destination: ~azure.mgmt.cosmosdb.models.DataTransferDataSourceSink + :keyword worker_count: Worker count. + :paramtype worker_count: int + """ + super(DataTransferJobProperties, self).__init__(**kwargs) + self.job_name = None + self.source = source + self.destination = destination + self.status = None + self.percentage_complete = None + self.last_updated_utc_time = None + self.worker_count = worker_count + self.error = None class RegionalServiceResource(msrest.serialization.Model): @@ -3142,6 +4910,8 @@ def __init__( self, **kwargs ): + """ + """ super(RegionalServiceResource, self).__init__(**kwargs) self.name = None self.location = None @@ -3178,14 +4948,16 @@ def __init__( self, **kwargs ): + """ + """ super(DataTransferRegionalServiceResource, self).__init__(**kwargs) class DataTransferServiceResource(msrest.serialization.Model): """Describes the service response property. - :param properties: Properties for DataTransferServiceResource. - :type properties: ~azure.mgmt.cosmosdb.models.DataTransferServiceResourceProperties + :ivar properties: Properties for DataTransferServiceResource. + :vartype properties: ~azure.mgmt.cosmosdb.models.DataTransferServiceResourceProperties """ _attribute_map = { @@ -3198,6 +4970,10 @@ def __init__( properties: Optional["DataTransferServiceResourceProperties"] = None, **kwargs ): + """ + :keyword properties: Properties for DataTransferServiceResource. + :paramtype properties: ~azure.mgmt.cosmosdb.models.DataTransferServiceResourceProperties + """ super(DataTransferServiceResource, self).__init__(**kwargs) self.properties = properties @@ -3205,23 +4981,27 @@ def __init__( class ServiceResourceProperties(msrest.serialization.Model): """Services response resource. + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DataTransferServiceResourceProperties, GraphAPIComputeServiceResourceProperties, MaterializedViewsBuilderServiceResourceProperties, SqlDedicatedGatewayServiceResourceProperties. + 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 + :ivar additional_properties: Unmatched properties from the message are deserialized to this collection. - :type additional_properties: dict[str, any] + :vartype additional_properties: dict[str, any] :ivar creation_time: Time of the last state change (ISO-8601 format). :vartype creation_time: ~datetime.datetime - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + :ivar instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: Required. ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :vartype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :ivar instance_count: Instance count for the service. + :vartype instance_count: int + :ivar service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute", + "MaterializedViewsBuilder". + :vartype service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType :ivar status: Describes the status of a service. Possible values include: "Creating", "Running", "Updating", "Deleting", "Error", "Stopped". :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus @@ -3243,21 +5023,34 @@ class ServiceResourceProperties(msrest.serialization.Model): 'status': {'key': 'status', 'type': 'str'}, } + _subtype_map = { + 'service_type': {'DataTransfer': 'DataTransferServiceResourceProperties', 'GraphAPICompute': 'GraphAPIComputeServiceResourceProperties', 'MaterializedViewsBuilder': 'MaterializedViewsBuilderServiceResourceProperties', 'SqlDedicatedGateway': 'SqlDedicatedGatewayServiceResourceProperties'} + } + def __init__( self, *, - service_type: Union[str, "ServiceType"], additional_properties: Optional[Dict[str, Any]] = None, instance_size: Optional[Union[str, "ServiceSize"]] = None, instance_count: Optional[int] = None, **kwargs ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :paramtype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :keyword instance_count: Instance count for the service. + :paramtype instance_count: int + """ super(ServiceResourceProperties, self).__init__(**kwargs) self.additional_properties = additional_properties self.creation_time = None self.instance_size = instance_size self.instance_count = instance_count - self.service_type = service_type + self.service_type = 'ServiceResourceProperties' # type: str self.status = None @@ -3268,19 +5061,20 @@ class DataTransferServiceResourceProperties(ServiceResourceProperties): All required parameters must be populated in order to send to Azure. - :param additional_properties: Unmatched properties from the message are deserialized to this + :ivar additional_properties: Unmatched properties from the message are deserialized to this collection. - :type additional_properties: dict[str, any] + :vartype additional_properties: dict[str, any] :ivar creation_time: Time of the last state change (ISO-8601 format). :vartype creation_time: ~datetime.datetime - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + :ivar instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: Required. ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :vartype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :ivar instance_count: Instance count for the service. + :vartype instance_count: int + :ivar service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute", + "MaterializedViewsBuilder". + :vartype service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType :ivar status: Describes the status of a service. Possible values include: "Creating", "Running", "Updating", "Deleting", "Error", "Stopped". :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus @@ -3309,175 +5103,32 @@ class DataTransferServiceResourceProperties(ServiceResourceProperties): def __init__( self, *, - service_type: Union[str, "ServiceType"], additional_properties: Optional[Dict[str, Any]] = None, instance_size: Optional[Union[str, "ServiceSize"]] = None, instance_count: Optional[int] = None, **kwargs ): - super(DataTransferServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, service_type=service_type, **kwargs) + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :paramtype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :keyword instance_count: Instance count for the service. + :paramtype instance_count: int + """ + super(DataTransferServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs) + self.service_type = 'DataTransfer' # type: str self.locations = None -class DefaultRequestDatabaseAccountCreateUpdateProperties(DatabaseAccountCreateUpdateProperties): - """Properties for non-restore Azure Cosmos DB database account 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. - - :param consistency_policy: The consistency policy for the Cosmos DB account. - :type consistency_policy: ~azure.mgmt.cosmosdb.models.ConsistencyPolicy - :param locations: Required. An array that contains the georeplication locations enabled for the - Cosmos DB account. - :type locations: list[~azure.mgmt.cosmosdb.models.Location] - :ivar database_account_offer_type: The offer type for the database. Has constant value: - "Standard". - :vartype database_account_offer_type: str - :param ip_rules: List of IpRules. - :type ip_rules: list[~azure.mgmt.cosmosdb.models.IpAddressOrRange] - :param is_virtual_network_filter_enabled: Flag to indicate whether to enable/disable Virtual - Network ACL rules. - :type is_virtual_network_filter_enabled: bool - :param enable_automatic_failover: Enables automatic failover of the write region in the rare - event that the region is unavailable due to an outage. Automatic failover will result in a new - write region for the account and is chosen based on the failover priorities configured for the - account. - :type enable_automatic_failover: bool - :param capabilities: List of Cosmos DB capabilities for the account. - :type capabilities: list[~azure.mgmt.cosmosdb.models.Capability] - :param virtual_network_rules: List of Virtual Network ACL rules configured for the Cosmos DB - account. - :type virtual_network_rules: list[~azure.mgmt.cosmosdb.models.VirtualNetworkRule] - :param enable_multiple_write_locations: Enables the account to write in multiple locations. - :type enable_multiple_write_locations: bool - :param enable_cassandra_connector: Enables the cassandra connector on the Cosmos DB C* account. - :type enable_cassandra_connector: bool - :param connector_offer: The cassandra connector offer type for the Cosmos DB database C* - account. Possible values include: "Small". - :type connector_offer: str or ~azure.mgmt.cosmosdb.models.ConnectorOffer - :param disable_key_based_metadata_write_access: Disable write operations on metadata resources - (databases, containers, throughput) via account keys. - :type disable_key_based_metadata_write_access: bool - :param key_vault_key_uri: The URI of the key vault. - :type key_vault_key_uri: str - :param default_identity: The default identity for accessing key vault used in features like - customer managed keys. The default identity needs to be explicitly set by the users. It can be - "FirstPartyIdentity", "SystemAssignedIdentity" and more. - :type default_identity: str - :param public_network_access: Whether requests from Public Network are allowed. Possible values - include: "Enabled", "Disabled". - :type public_network_access: str or ~azure.mgmt.cosmosdb.models.PublicNetworkAccess - :param enable_free_tier: Flag to indicate whether Free Tier is enabled. - :type enable_free_tier: bool - :param api_properties: API specific properties. Currently, supported only for MongoDB API. - :type api_properties: ~azure.mgmt.cosmosdb.models.ApiProperties - :param enable_analytical_storage: Flag to indicate whether to enable storage analytics. - :type enable_analytical_storage: bool - :param analytical_storage_configuration: Analytical storage specific properties. - :type analytical_storage_configuration: - ~azure.mgmt.cosmosdb.models.AnalyticalStorageConfiguration - :param create_mode: Required. Enum to indicate the mode of account creation.Constant filled by - server. Possible values include: "Default", "Restore". Default value: "Default". - :type create_mode: str or ~azure.mgmt.cosmosdb.models.CreateMode - :param backup_policy: The object representing the policy for taking backups on an account. - :type backup_policy: ~azure.mgmt.cosmosdb.models.BackupPolicy - :param cors: The CORS policy for the Cosmos DB database account. - :type cors: list[~azure.mgmt.cosmosdb.models.CorsPolicy] - :param network_acl_bypass: Indicates what services are allowed to bypass firewall checks. - Possible values include: "None", "AzureServices". - :type network_acl_bypass: str or ~azure.mgmt.cosmosdb.models.NetworkAclBypass - :param network_acl_bypass_resource_ids: An array that contains the Resource Ids for Network Acl - Bypass for the Cosmos DB account. - :type network_acl_bypass_resource_ids: list[str] - :param diagnostic_log_settings: The Object representing the different Diagnostic log settings - for the Cosmos DB Account. - :type diagnostic_log_settings: ~azure.mgmt.cosmosdb.models.DiagnosticLogSettings - :param disable_local_auth: Opt-out of local authentication and ensure only MSI and AAD can be - used exclusively for authentication. - :type disable_local_auth: bool - :param restore_parameters: Parameters to indicate the information about the restore. - :type restore_parameters: ~azure.mgmt.cosmosdb.models.RestoreParameters - """ - - _validation = { - 'locations': {'required': True}, - 'database_account_offer_type': {'required': True, 'constant': True}, - 'create_mode': {'required': True}, - } - - _attribute_map = { - 'consistency_policy': {'key': 'consistencyPolicy', 'type': 'ConsistencyPolicy'}, - 'locations': {'key': 'locations', 'type': '[Location]'}, - 'database_account_offer_type': {'key': 'databaseAccountOfferType', 'type': 'str'}, - 'ip_rules': {'key': 'ipRules', 'type': '[IpAddressOrRange]'}, - 'is_virtual_network_filter_enabled': {'key': 'isVirtualNetworkFilterEnabled', 'type': 'bool'}, - 'enable_automatic_failover': {'key': 'enableAutomaticFailover', 'type': 'bool'}, - 'capabilities': {'key': 'capabilities', 'type': '[Capability]'}, - 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, - 'enable_multiple_write_locations': {'key': 'enableMultipleWriteLocations', 'type': 'bool'}, - 'enable_cassandra_connector': {'key': 'enableCassandraConnector', 'type': 'bool'}, - 'connector_offer': {'key': 'connectorOffer', 'type': 'str'}, - 'disable_key_based_metadata_write_access': {'key': 'disableKeyBasedMetadataWriteAccess', 'type': 'bool'}, - 'key_vault_key_uri': {'key': 'keyVaultKeyUri', 'type': 'str'}, - 'default_identity': {'key': 'defaultIdentity', 'type': 'str'}, - 'public_network_access': {'key': 'publicNetworkAccess', 'type': 'str'}, - 'enable_free_tier': {'key': 'enableFreeTier', 'type': 'bool'}, - 'api_properties': {'key': 'apiProperties', 'type': 'ApiProperties'}, - 'enable_analytical_storage': {'key': 'enableAnalyticalStorage', 'type': 'bool'}, - 'analytical_storage_configuration': {'key': 'analyticalStorageConfiguration', 'type': 'AnalyticalStorageConfiguration'}, - 'create_mode': {'key': 'createMode', 'type': 'str'}, - 'backup_policy': {'key': 'backupPolicy', 'type': 'BackupPolicy'}, - 'cors': {'key': 'cors', 'type': '[CorsPolicy]'}, - 'network_acl_bypass': {'key': 'networkAclBypass', 'type': 'str'}, - 'network_acl_bypass_resource_ids': {'key': 'networkAclBypassResourceIds', 'type': '[str]'}, - 'diagnostic_log_settings': {'key': 'diagnosticLogSettings', 'type': 'DiagnosticLogSettings'}, - 'disable_local_auth': {'key': 'disableLocalAuth', 'type': 'bool'}, - 'restore_parameters': {'key': 'restoreParameters', 'type': 'RestoreParameters'}, - } - - database_account_offer_type = "Standard" - - def __init__( - self, - *, - locations: List["Location"], - consistency_policy: Optional["ConsistencyPolicy"] = None, - ip_rules: Optional[List["IpAddressOrRange"]] = None, - is_virtual_network_filter_enabled: Optional[bool] = None, - enable_automatic_failover: Optional[bool] = None, - capabilities: Optional[List["Capability"]] = None, - virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, - enable_multiple_write_locations: Optional[bool] = None, - enable_cassandra_connector: Optional[bool] = None, - connector_offer: Optional[Union[str, "ConnectorOffer"]] = None, - disable_key_based_metadata_write_access: Optional[bool] = None, - key_vault_key_uri: Optional[str] = None, - default_identity: Optional[str] = None, - public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, - enable_free_tier: Optional[bool] = None, - api_properties: Optional["ApiProperties"] = None, - enable_analytical_storage: Optional[bool] = None, - analytical_storage_configuration: Optional["AnalyticalStorageConfiguration"] = None, - backup_policy: Optional["BackupPolicy"] = None, - cors: Optional[List["CorsPolicy"]] = None, - network_acl_bypass: Optional[Union[str, "NetworkAclBypass"]] = None, - network_acl_bypass_resource_ids: Optional[List[str]] = None, - diagnostic_log_settings: Optional["DiagnosticLogSettings"] = None, - disable_local_auth: Optional[bool] = None, - restore_parameters: Optional["RestoreParameters"] = None, - **kwargs - ): - super(DefaultRequestDatabaseAccountCreateUpdateProperties, self).__init__(consistency_policy=consistency_policy, locations=locations, ip_rules=ip_rules, is_virtual_network_filter_enabled=is_virtual_network_filter_enabled, enable_automatic_failover=enable_automatic_failover, capabilities=capabilities, virtual_network_rules=virtual_network_rules, enable_multiple_write_locations=enable_multiple_write_locations, enable_cassandra_connector=enable_cassandra_connector, connector_offer=connector_offer, disable_key_based_metadata_write_access=disable_key_based_metadata_write_access, key_vault_key_uri=key_vault_key_uri, default_identity=default_identity, public_network_access=public_network_access, enable_free_tier=enable_free_tier, api_properties=api_properties, enable_analytical_storage=enable_analytical_storage, analytical_storage_configuration=analytical_storage_configuration, backup_policy=backup_policy, cors=cors, network_acl_bypass=network_acl_bypass, network_acl_bypass_resource_ids=network_acl_bypass_resource_ids, diagnostic_log_settings=diagnostic_log_settings, disable_local_auth=disable_local_auth, restore_parameters=restore_parameters, **kwargs) - self.create_mode = 'Default' # type: str - - class DiagnosticLogSettings(msrest.serialization.Model): """Indicates what diagnostic log settings are to be enabled. - :param enable_full_text_query: Describe the level of detail with which queries are to be - logged. Possible values include: "None", "True", "False". - :type enable_full_text_query: str or ~azure.mgmt.cosmosdb.models.EnableFullTextQuery + :ivar enable_full_text_query: Describe the level of detail with which queries are to be logged. + Possible values include: "None", "True", "False". + :vartype enable_full_text_query: str or ~azure.mgmt.cosmosdb.models.EnableFullTextQuery """ _attribute_map = { @@ -3490,6 +5141,11 @@ def __init__( enable_full_text_query: Optional[Union[str, "EnableFullTextQuery"]] = None, **kwargs ): + """ + :keyword enable_full_text_query: Describe the level of detail with which queries are to be + logged. Possible values include: "None", "True", "False". + :paramtype enable_full_text_query: str or ~azure.mgmt.cosmosdb.models.EnableFullTextQuery + """ super(DiagnosticLogSettings, self).__init__(**kwargs) self.enable_full_text_query = enable_full_text_query @@ -3497,10 +5153,10 @@ def __init__( class ErrorResponse(msrest.serialization.Model): """Error Response. - :param code: Error code. - :type code: str - :param message: Error message indicating why the operation failed. - :type message: str + :ivar code: Error code. + :vartype code: str + :ivar message: Error message indicating why the operation failed. + :vartype message: str """ _attribute_map = { @@ -3515,6 +5171,12 @@ def __init__( message: Optional[str] = None, **kwargs ): + """ + :keyword code: Error code. + :paramtype code: str + :keyword message: Error message indicating why the operation failed. + :paramtype message: str + """ super(ErrorResponse, self).__init__(**kwargs) self.code = code self.message = message @@ -3523,9 +5185,9 @@ def __init__( class ExcludedPath(msrest.serialization.Model): """ExcludedPath. - :param path: The path for which the indexing behavior applies to. Index paths typically start + :ivar path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*). - :type path: str + :vartype path: str """ _attribute_map = { @@ -3538,6 +5200,11 @@ def __init__( path: Optional[str] = None, **kwargs ): + """ + :keyword path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). + :paramtype path: str + """ super(ExcludedPath, self).__init__(**kwargs) self.path = path @@ -3547,8 +5214,8 @@ class FailoverPolicies(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param failover_policies: Required. List of failover policies. - :type failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] + :ivar failover_policies: Required. List of failover policies. + :vartype failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] """ _validation = { @@ -3565,6 +5232,10 @@ def __init__( failover_policies: List["FailoverPolicy"], **kwargs ): + """ + :keyword failover_policies: Required. List of failover policies. + :paramtype failover_policies: list[~azure.mgmt.cosmosdb.models.FailoverPolicy] + """ super(FailoverPolicies, self).__init__(**kwargs) self.failover_policies = failover_policies @@ -3577,13 +5248,13 @@ class FailoverPolicy(msrest.serialization.Model): :ivar id: The unique identifier of the region in which the database account replicates to. Example: <accountName>-<locationName>. :vartype id: str - :param location_name: The name of the region in which the database account exists. - :type location_name: str - :param failover_priority: The failover priority of the region. A failover priority of 0 + :ivar location_name: The name of the region in which the database account exists. + :vartype location_name: str + :ivar failover_priority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. - :type failover_priority: int + :vartype failover_priority: int """ _validation = { @@ -3604,6 +5275,15 @@ def __init__( failover_priority: Optional[int] = None, **kwargs ): + """ + :keyword location_name: The name of the region in which the database account exists. + :paramtype location_name: str + :keyword failover_priority: The failover priority of the region. A failover priority of 0 + indicates a write region. The maximum value for a failover priority = (total number of regions + - 1). Failover priority values must be unique for each of the regions in which the database + account exists. + :paramtype failover_priority: int + """ super(FailoverPolicy, self).__init__(**kwargs) self.id = None self.location_name = location_name @@ -3644,6 +5324,8 @@ def __init__( self, **kwargs ): + """ + """ super(GraphAPIComputeRegionalServiceResource, self).__init__(**kwargs) self.graph_api_compute_endpoint = None @@ -3651,8 +5333,8 @@ def __init__( class GraphAPIComputeServiceResource(msrest.serialization.Model): """Describes the service response property for GraphAPICompute. - :param properties: Properties for GraphAPIComputeServiceResource. - :type properties: ~azure.mgmt.cosmosdb.models.GraphAPIComputeServiceResourceProperties + :ivar properties: Properties for GraphAPIComputeServiceResource. + :vartype properties: ~azure.mgmt.cosmosdb.models.GraphAPIComputeServiceResourceProperties """ _attribute_map = { @@ -3665,6 +5347,10 @@ def __init__( properties: Optional["GraphAPIComputeServiceResourceProperties"] = None, **kwargs ): + """ + :keyword properties: Properties for GraphAPIComputeServiceResource. + :paramtype properties: ~azure.mgmt.cosmosdb.models.GraphAPIComputeServiceResourceProperties + """ super(GraphAPIComputeServiceResource, self).__init__(**kwargs) self.properties = properties @@ -3676,24 +5362,25 @@ class GraphAPIComputeServiceResourceProperties(ServiceResourceProperties): All required parameters must be populated in order to send to Azure. - :param additional_properties: Unmatched properties from the message are deserialized to this + :ivar additional_properties: Unmatched properties from the message are deserialized to this collection. - :type additional_properties: dict[str, any] + :vartype additional_properties: dict[str, any] :ivar creation_time: Time of the last state change (ISO-8601 format). :vartype creation_time: ~datetime.datetime - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + :ivar instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: Required. ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :vartype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :ivar instance_count: Instance count for the service. + :vartype instance_count: int + :ivar service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute", + "MaterializedViewsBuilder". + :vartype service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType :ivar status: Describes the status of a service. Possible values include: "Creating", "Running", "Updating", "Deleting", "Error", "Stopped". :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - :param graph_api_compute_endpoint: GraphAPICompute endpoint for the service. - :type graph_api_compute_endpoint: str + :ivar graph_api_compute_endpoint: GraphAPICompute endpoint for the service. + :vartype graph_api_compute_endpoint: str :ivar locations: An array that contains all of the locations for the service. :vartype locations: list[~azure.mgmt.cosmosdb.models.GraphAPIComputeRegionalServiceResource] """ @@ -3720,14 +5407,26 @@ class GraphAPIComputeServiceResourceProperties(ServiceResourceProperties): def __init__( self, *, - service_type: Union[str, "ServiceType"], additional_properties: Optional[Dict[str, Any]] = None, instance_size: Optional[Union[str, "ServiceSize"]] = None, instance_count: Optional[int] = None, graph_api_compute_endpoint: Optional[str] = None, **kwargs ): - super(GraphAPIComputeServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, service_type=service_type, **kwargs) + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :paramtype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :keyword instance_count: Instance count for the service. + :paramtype instance_count: int + :keyword graph_api_compute_endpoint: GraphAPICompute endpoint for the service. + :paramtype graph_api_compute_endpoint: str + """ + super(GraphAPIComputeServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs) + self.service_type = 'GraphAPICompute' # type: str self.graph_api_compute_endpoint = graph_api_compute_endpoint self.locations = None @@ -3737,8 +5436,8 @@ class GraphResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Graph. - :type id: str + :ivar id: Required. Name of the Cosmos DB Graph. + :vartype id: str """ _validation = { @@ -3755,6 +5454,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Graph. + :paramtype id: str + """ super(GraphResource, self).__init__(**kwargs) self.id = id @@ -3772,22 +5475,22 @@ class GraphResourceCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Graph resource. - :type resource: ~azure.mgmt.cosmosdb.models.GraphResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a Graph resource. + :vartype resource: ~azure.mgmt.cosmosdb.models.GraphResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -3818,6 +5521,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a Graph resource. + :paramtype resource: ~azure.mgmt.cosmosdb.models.GraphResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(GraphResourceCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -3826,11 +5547,11 @@ def __init__( class GraphResourceGetPropertiesOptions(OptionsResource): """GraphResourceGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -3845,38 +5566,30 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(GraphResourceGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class GraphResourceGetPropertiesResource(GraphResource, ExtendedResourceProperties): +class GraphResourceGetPropertiesResource(GraphResource): """GraphResourceGetPropertiesResource. - 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 rid: A system generated property. A unique identifier. - :vartype rid: str - :ivar ts: A system generated property that denotes the last updated timestamp of the resource. - :vartype ts: float - :ivar etag: A system generated property representing the resource etag required for optimistic - concurrency control. - :vartype etag: str - :param id: Required. Name of the Cosmos DB Graph. - :type id: str + :ivar id: Required. Name of the Cosmos DB Graph. + :vartype id: str """ _validation = { - 'rid': {'readonly': True}, - 'ts': {'readonly': True}, - 'etag': {'readonly': True}, 'id': {'required': True}, } _attribute_map = { - 'rid': {'key': '_rid', 'type': 'str'}, - 'ts': {'key': '_ts', 'type': 'float'}, - 'etag': {'key': '_etag', 'type': 'str'}, 'id': {'key': 'id', 'type': 'str'}, } @@ -3886,11 +5599,11 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Graph. + :paramtype id: str + """ super(GraphResourceGetPropertiesResource, self).__init__(id=id, **kwargs) - self.rid = None - self.ts = None - self.etag = None - self.id = id class GraphResourceGetResults(ARMResourceProperties): @@ -3904,21 +5617,21 @@ class GraphResourceGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesOptions """ _validation = { @@ -3948,6 +5661,23 @@ def __init__( options: Optional["GraphResourceGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.GraphResourceGetPropertiesOptions + """ super(GraphResourceGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -3974,6 +5704,8 @@ def __init__( self, **kwargs ): + """ + """ super(GraphResourcesListResult, self).__init__(**kwargs) self.value = None @@ -3991,22 +5723,22 @@ class GremlinDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Gremlin database. - :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a Gremlin database. + :vartype resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -4037,6 +5769,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a Gremlin database. + :paramtype resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(GremlinDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -4045,11 +5795,11 @@ def __init__( class GremlinDatabaseGetPropertiesOptions(OptionsResource): """GremlinDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -4064,6 +5814,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(GremlinDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -4072,8 +5829,8 @@ class GremlinDatabaseResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Gremlin database. - :type id: str + :ivar id: Required. Name of the Cosmos DB Gremlin database. + :vartype id: str """ _validation = { @@ -4090,6 +5847,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Gremlin database. + :paramtype id: str + """ super(GremlinDatabaseResource, self).__init__(**kwargs) self.id = id @@ -4101,8 +5862,8 @@ class GremlinDatabaseGetPropertiesResource(ExtendedResourceProperties, GremlinDa All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Gremlin database. - :type id: str + :ivar id: Required. Name of the Cosmos DB Gremlin database. + :vartype id: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -4132,6 +5893,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Gremlin database. + :paramtype id: str + """ super(GremlinDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs) self.id = id self.rid = None @@ -4150,21 +5915,21 @@ class GremlinDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesOptions """ _validation = { @@ -4194,6 +5959,23 @@ def __init__( options: Optional["GremlinDatabaseGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.GremlinDatabaseGetPropertiesOptions + """ super(GremlinDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -4220,10 +6002,44 @@ def __init__( self, **kwargs ): + """ + """ super(GremlinDatabaseListResult, self).__init__(**kwargs) self.value = None +class GremlinDatabaseRestoreResource(msrest.serialization.Model): + """Specific Gremlin Databases to restore. + + :ivar database_name: The name of the gremlin database available for restore. + :vartype database_name: str + :ivar graph_names: The names of the graphs available for restore. + :vartype graph_names: list[str] + """ + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'graph_names': {'key': 'graphNames', 'type': '[str]'}, + } + + def __init__( + self, + *, + database_name: Optional[str] = None, + graph_names: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword database_name: The name of the gremlin database available for restore. + :paramtype database_name: str + :keyword graph_names: The names of the graphs available for restore. + :paramtype graph_names: list[str] + """ + super(GremlinDatabaseRestoreResource, self).__init__(**kwargs) + self.database_name = database_name + self.graph_names = graph_names + + class GremlinGraphCreateUpdateParameters(ARMResourceProperties): """Parameters to create and update Cosmos DB Gremlin graph. @@ -4237,22 +6053,22 @@ class GremlinGraphCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Gremlin graph. - :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a Gremlin graph. + :vartype resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -4283,6 +6099,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a Gremlin graph. + :paramtype resource: ~azure.mgmt.cosmosdb.models.GremlinGraphResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(GremlinGraphCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -4291,11 +6125,11 @@ def __init__( class GremlinGraphGetPropertiesOptions(OptionsResource): """GremlinGraphGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -4310,6 +6144,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(GremlinGraphGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -4318,21 +6159,21 @@ class GremlinGraphResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Gremlin graph. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + :ivar id: Required. Name of the Cosmos DB Gremlin graph. + :vartype id: str + :ivar indexing_policy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data + :vartype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :ivar partition_key: The configuration of the partition key to be used for partitioning data into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness + :vartype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :ivar default_ttl: Default time to live. + :vartype default_ttl: int + :ivar unique_key_policy: The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the graph. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :vartype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :ivar conflict_resolution_policy: The conflict resolution policy for the graph. + :vartype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy """ _validation = { @@ -4359,6 +6200,23 @@ def __init__( conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Gremlin graph. + :paramtype id: str + :keyword indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the graph. + :paramtype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :keyword partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :paramtype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :keyword default_ttl: Default time to live. + :paramtype default_ttl: int + :keyword unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :paramtype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :keyword conflict_resolution_policy: The conflict resolution policy for the graph. + :paramtype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + """ super(GremlinGraphResource, self).__init__(**kwargs) self.id = id self.indexing_policy = indexing_policy @@ -4375,21 +6233,21 @@ class GremlinGraphGetPropertiesResource(ExtendedResourceProperties, GremlinGraph All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB Gremlin graph. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + :ivar id: Required. Name of the Cosmos DB Gremlin graph. + :vartype id: str + :ivar indexing_policy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the graph. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data + :vartype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :ivar partition_key: The configuration of the partition key to be used for partitioning data into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness + :vartype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :ivar default_ttl: Default time to live. + :vartype default_ttl: int + :ivar unique_key_policy: The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the graph. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :vartype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :ivar conflict_resolution_policy: The conflict resolution policy for the graph. + :vartype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -4429,6 +6287,23 @@ def __init__( conflict_resolution_policy: Optional["ConflictResolutionPolicy"] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB Gremlin graph. + :paramtype id: str + :keyword indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the graph. + :paramtype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :keyword partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :paramtype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :keyword default_ttl: Default time to live. + :paramtype default_ttl: int + :keyword unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :paramtype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :keyword conflict_resolution_policy: The conflict resolution policy for the graph. + :paramtype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + """ super(GremlinGraphGetPropertiesResource, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, **kwargs) self.id = id self.indexing_policy = indexing_policy @@ -4452,21 +6327,21 @@ class GremlinGraphGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesOptions """ _validation = { @@ -4496,6 +6371,23 @@ def __init__( options: Optional["GremlinGraphGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.GremlinGraphGetPropertiesOptions + """ super(GremlinGraphGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -4522,6 +6414,8 @@ def __init__( self, **kwargs ): + """ + """ super(GremlinGraphListResult, self).__init__(**kwargs) self.value = None @@ -4529,11 +6423,11 @@ def __init__( class IncludedPath(msrest.serialization.Model): """The paths that are included in indexing. - :param path: The path for which the indexing behavior applies to. Index paths typically start + :ivar path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*). - :type path: str - :param indexes: List of indexes for this path. - :type indexes: list[~azure.mgmt.cosmosdb.models.Indexes] + :vartype path: str + :ivar indexes: List of indexes for this path. + :vartype indexes: list[~azure.mgmt.cosmosdb.models.Indexes] """ _attribute_map = { @@ -4548,6 +6442,13 @@ def __init__( indexes: Optional[List["Indexes"]] = None, **kwargs ): + """ + :keyword path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). + :paramtype path: str + :keyword indexes: List of indexes for this path. + :paramtype indexes: list[~azure.mgmt.cosmosdb.models.Indexes] + """ super(IncludedPath, self).__init__(**kwargs) self.path = path self.indexes = indexes @@ -4556,15 +6457,15 @@ def __init__( class Indexes(msrest.serialization.Model): """The indexes for the path. - :param data_type: The datatype for which the indexing behavior is applied to. Possible values + :ivar data_type: The datatype for which the indexing behavior is applied to. Possible values include: "String", "Number", "Point", "Polygon", "LineString", "MultiPolygon". Default value: "String". - :type data_type: str or ~azure.mgmt.cosmosdb.models.DataType - :param precision: The precision of the index. -1 is maximum precision. - :type precision: int - :param kind: Indicates the type of index. Possible values include: "Hash", "Range", "Spatial". + :vartype data_type: str or ~azure.mgmt.cosmosdb.models.DataType + :ivar precision: The precision of the index. -1 is maximum precision. + :vartype precision: int + :ivar kind: Indicates the type of index. Possible values include: "Hash", "Range", "Spatial". Default value: "Hash". - :type kind: str or ~azure.mgmt.cosmosdb.models.IndexKind + :vartype kind: str or ~azure.mgmt.cosmosdb.models.IndexKind """ _attribute_map = { @@ -4581,6 +6482,17 @@ def __init__( kind: Optional[Union[str, "IndexKind"]] = "Hash", **kwargs ): + """ + :keyword data_type: The datatype for which the indexing behavior is applied to. Possible values + include: "String", "Number", "Point", "Polygon", "LineString", "MultiPolygon". Default value: + "String". + :paramtype data_type: str or ~azure.mgmt.cosmosdb.models.DataType + :keyword precision: The precision of the index. -1 is maximum precision. + :paramtype precision: int + :keyword kind: Indicates the type of index. Possible values include: "Hash", "Range", + "Spatial". Default value: "Hash". + :paramtype kind: str or ~azure.mgmt.cosmosdb.models.IndexKind + """ super(Indexes, self).__init__(**kwargs) self.data_type = data_type self.precision = precision @@ -4590,19 +6502,19 @@ def __init__( class IndexingPolicy(msrest.serialization.Model): """Cosmos DB indexing policy. - :param automatic: Indicates if the indexing policy is automatic. - :type automatic: bool - :param indexing_mode: Indicates the indexing mode. Possible values include: "consistent", + :ivar automatic: Indicates if the indexing policy is automatic. + :vartype automatic: bool + :ivar indexing_mode: Indicates the indexing mode. Possible values include: "consistent", "lazy", "none". Default value: "consistent". - :type indexing_mode: str or ~azure.mgmt.cosmosdb.models.IndexingMode - :param included_paths: List of paths to include in the indexing. - :type included_paths: list[~azure.mgmt.cosmosdb.models.IncludedPath] - :param excluded_paths: List of paths to exclude from indexing. - :type excluded_paths: list[~azure.mgmt.cosmosdb.models.ExcludedPath] - :param composite_indexes: List of composite path list. - :type composite_indexes: list[list[~azure.mgmt.cosmosdb.models.CompositePath]] - :param spatial_indexes: List of spatial specifics. - :type spatial_indexes: list[~azure.mgmt.cosmosdb.models.SpatialSpec] + :vartype indexing_mode: str or ~azure.mgmt.cosmosdb.models.IndexingMode + :ivar included_paths: List of paths to include in the indexing. + :vartype included_paths: list[~azure.mgmt.cosmosdb.models.IncludedPath] + :ivar excluded_paths: List of paths to exclude from indexing. + :vartype excluded_paths: list[~azure.mgmt.cosmosdb.models.ExcludedPath] + :ivar composite_indexes: List of composite path list. + :vartype composite_indexes: list[list[~azure.mgmt.cosmosdb.models.CompositePath]] + :ivar spatial_indexes: List of spatial specifics. + :vartype spatial_indexes: list[~azure.mgmt.cosmosdb.models.SpatialSpec] """ _attribute_map = { @@ -4625,6 +6537,21 @@ def __init__( spatial_indexes: Optional[List["SpatialSpec"]] = None, **kwargs ): + """ + :keyword automatic: Indicates if the indexing policy is automatic. + :paramtype automatic: bool + :keyword indexing_mode: Indicates the indexing mode. Possible values include: "consistent", + "lazy", "none". Default value: "consistent". + :paramtype indexing_mode: str or ~azure.mgmt.cosmosdb.models.IndexingMode + :keyword included_paths: List of paths to include in the indexing. + :paramtype included_paths: list[~azure.mgmt.cosmosdb.models.IncludedPath] + :keyword excluded_paths: List of paths to exclude from indexing. + :paramtype excluded_paths: list[~azure.mgmt.cosmosdb.models.ExcludedPath] + :keyword composite_indexes: List of composite path list. + :paramtype composite_indexes: list[list[~azure.mgmt.cosmosdb.models.CompositePath]] + :keyword spatial_indexes: List of spatial specifics. + :paramtype spatial_indexes: list[~azure.mgmt.cosmosdb.models.SpatialSpec] + """ super(IndexingPolicy, self).__init__(**kwargs) self.automatic = automatic self.indexing_mode = indexing_mode @@ -4637,12 +6564,11 @@ def __init__( class IpAddressOrRange(msrest.serialization.Model): """IpAddressOrRange object. - :param ip_address_or_range: A single IPv4 address or a single IPv4 address range in CIDR - format. Provided IPs must be well-formatted and cannot be contained in one of the following - ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not - enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or - “23.40.210.0/8”. - :type ip_address_or_range: str + :ivar ip_address_or_range: A single IPv4 address or a single IPv4 address range in CIDR format. + Provided IPs must be well-formatted and cannot be contained in one of the following ranges: + 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by + the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”. + :vartype ip_address_or_range: str """ _attribute_map = { @@ -4655,10 +6581,57 @@ def __init__( ip_address_or_range: Optional[str] = None, **kwargs ): + """ + :keyword ip_address_or_range: A single IPv4 address or a single IPv4 address range in CIDR + format. Provided IPs must be well-formatted and cannot be contained in one of the following + ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not + enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or + “23.40.210.0/8”. + :paramtype ip_address_or_range: str + """ super(IpAddressOrRange, self).__init__(**kwargs) self.ip_address_or_range = ip_address_or_range +class KeyWrapMetadata(msrest.serialization.Model): + """Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key. + + :ivar name: The name of associated KeyEncryptionKey (aka CustomerManagedKey). + :vartype name: str + :ivar type: ProviderName of KeyStoreProvider. + :vartype type: str + :ivar value: Reference / link to the KeyEncryptionKey. + :vartype value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ): + """ + :keyword name: The name of associated KeyEncryptionKey (aka CustomerManagedKey). + :paramtype name: str + :keyword type: ProviderName of KeyStoreProvider. + :paramtype type: str + :keyword value: Reference / link to the KeyEncryptionKey. + :paramtype value: str + """ + super(KeyWrapMetadata, self).__init__(**kwargs) + self.name = name + self.type = type + self.value = value + + class ListBackups(msrest.serialization.Model): """List of restorable backups for a Cassandra cluster. @@ -4680,6 +6653,8 @@ def __init__( self, **kwargs ): + """ + """ super(ListBackups, self).__init__(**kwargs) self.value = None @@ -4687,8 +6662,8 @@ def __init__( class ListClusters(msrest.serialization.Model): """List of managed Cassandra clusters. - :param value: Container for the array of clusters. - :type value: list[~azure.mgmt.cosmosdb.models.ClusterResource] + :ivar value: Container for the array of clusters. + :vartype value: list[~azure.mgmt.cosmosdb.models.ClusterResource] """ _attribute_map = { @@ -4701,6 +6676,10 @@ def __init__( value: Optional[List["ClusterResource"]] = None, **kwargs ): + """ + :keyword value: Container for the array of clusters. + :paramtype value: list[~azure.mgmt.cosmosdb.models.ClusterResource] + """ super(ListClusters, self).__init__(**kwargs) self.value = value @@ -4726,6 +6705,8 @@ def __init__( self, **kwargs ): + """ + """ super(ListDataCenters, self).__init__(**kwargs) self.value = None @@ -4738,8 +6719,8 @@ class Location(msrest.serialization.Model): :ivar id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>. :vartype id: str - :param location_name: The name of the region. - :type location_name: str + :ivar location_name: The name of the region. + :vartype location_name: str :ivar document_endpoint: The connection endpoint for the specific region. Example: https://<accountName>-<locationName>.documents.azure.com:443/. :vartype document_endpoint: str @@ -4751,14 +6732,14 @@ class Location(msrest.serialization.Model): account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed. :vartype provisioning_state: str - :param failover_priority: The failover priority of the region. A failover priority of 0 + :ivar failover_priority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists. - :type failover_priority: int - :param is_zone_redundant: Flag to indicate whether or not this region is an AvailabilityZone + :vartype failover_priority: int + :ivar is_zone_redundant: Flag to indicate whether or not this region is an AvailabilityZone region. - :type is_zone_redundant: bool + :vartype is_zone_redundant: bool """ _validation = { @@ -4785,6 +6766,18 @@ def __init__( is_zone_redundant: Optional[bool] = None, **kwargs ): + """ + :keyword location_name: The name of the region. + :paramtype location_name: str + :keyword failover_priority: The failover priority of the region. A failover priority of 0 + indicates a write region. The maximum value for a failover priority = (total number of regions + - 1). Failover priority values must be unique for each of the regions in which the database + account exists. + :paramtype failover_priority: int + :keyword is_zone_redundant: Flag to indicate whether or not this region is an AvailabilityZone + region. + :paramtype is_zone_redundant: bool + """ super(Location, self).__init__(**kwargs) self.id = None self.location_name = location_name @@ -4805,8 +6798,8 @@ class LocationGetResult(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param properties: Cosmos DB location metadata. - :type properties: ~azure.mgmt.cosmosdb.models.LocationProperties + :ivar properties: Cosmos DB location metadata. + :vartype properties: ~azure.mgmt.cosmosdb.models.LocationProperties """ _validation = { @@ -4828,6 +6821,10 @@ def __init__( properties: Optional["LocationProperties"] = None, **kwargs ): + """ + :keyword properties: Cosmos DB location metadata. + :paramtype properties: ~azure.mgmt.cosmosdb.models.LocationProperties + """ super(LocationGetResult, self).__init__(**kwargs) self.properties = properties @@ -4853,6 +6850,8 @@ def __init__( self, **kwargs ): + """ + """ super(LocationListResult, self).__init__(**kwargs) self.value = None @@ -4874,29 +6873,110 @@ class LocationProperties(msrest.serialization.Model): ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy] """ - _validation = { - 'status': {'readonly': True}, - 'supports_availability_zone': {'readonly': True}, - 'is_residency_restricted': {'readonly': True}, - 'backup_storage_redundancies': {'readonly': True}, - } + _validation = { + 'status': {'readonly': True}, + 'supports_availability_zone': {'readonly': True}, + 'is_residency_restricted': {'readonly': True}, + 'backup_storage_redundancies': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'supports_availability_zone': {'key': 'supportsAvailabilityZone', 'type': 'bool'}, + 'is_residency_restricted': {'key': 'isResidencyRestricted', 'type': 'bool'}, + 'backup_storage_redundancies': {'key': 'backupStorageRedundancies', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(LocationProperties, self).__init__(**kwargs) + self.status = None + self.supports_availability_zone = None + self.is_residency_restricted = None + self.backup_storage_redundancies = None + + +class ManagedCassandraManagedServiceIdentity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The object id of the identity resource. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the resource. + :vartype tenant_id: str + :ivar type: The type of the resource. Possible values include: "SystemAssigned", "None". + :vartype type: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraResourceIdentityType + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ManagedCassandraResourceIdentityType"]] = None, + **kwargs + ): + """ + :keyword type: The type of the resource. Possible values include: "SystemAssigned", "None". + :paramtype type: str or ~azure.mgmt.cosmosdb.models.ManagedCassandraResourceIdentityType + """ + super(ManagedCassandraManagedServiceIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ManagedCassandraReaperStatus(msrest.serialization.Model): + """ManagedCassandraReaperStatus. + + :ivar healthy: + :vartype healthy: bool + :ivar repair_run_ids: Dictionary of :code:``. + :vartype repair_run_ids: dict[str, str] + :ivar repair_schedules: Dictionary of :code:``. + :vartype repair_schedules: dict[str, str] + """ _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'supports_availability_zone': {'key': 'supportsAvailabilityZone', 'type': 'bool'}, - 'is_residency_restricted': {'key': 'isResidencyRestricted', 'type': 'bool'}, - 'backup_storage_redundancies': {'key': 'backupStorageRedundancies', 'type': '[str]'}, + 'healthy': {'key': 'healthy', 'type': 'bool'}, + 'repair_run_ids': {'key': 'repairRunIds', 'type': '{str}'}, + 'repair_schedules': {'key': 'repairSchedules', 'type': '{str}'}, } def __init__( self, + *, + healthy: Optional[bool] = None, + repair_run_ids: Optional[Dict[str, str]] = None, + repair_schedules: Optional[Dict[str, str]] = None, **kwargs ): - super(LocationProperties, self).__init__(**kwargs) - self.status = None - self.supports_availability_zone = None - self.is_residency_restricted = None - self.backup_storage_redundancies = None + """ + :keyword healthy: + :paramtype healthy: bool + :keyword repair_run_ids: Dictionary of :code:``. + :paramtype repair_run_ids: dict[str, str] + :keyword repair_schedules: Dictionary of :code:``. + :paramtype repair_schedules: dict[str, str] + """ + super(ManagedCassandraReaperStatus, self).__init__(**kwargs) + self.healthy = healthy + self.repair_run_ids = repair_run_ids + self.repair_schedules = repair_schedules class ManagedServiceIdentity(msrest.serialization.Model): @@ -4910,15 +6990,15 @@ class ManagedServiceIdentity(msrest.serialization.Model): :ivar tenant_id: The tenant id of the system assigned identity. This property will only be provided for a system assigned identity. :vartype tenant_id: str - :param type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' + :ivar type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. Possible values include: "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned", "None". - :type type: str or ~azure.mgmt.cosmosdb.models.ResourceIdentityType - :param user_assigned_identities: The list of user identities associated with resource. The user + :vartype type: str or ~azure.mgmt.cosmosdb.models.ResourceIdentityType + :ivar user_assigned_identities: The list of user identities associated with resource. 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, + :vartype user_assigned_identities: dict[str, ~azure.mgmt.cosmosdb.models.Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties] """ @@ -4941,6 +7021,18 @@ def __init__( user_assigned_identities: Optional[Dict[str, "Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, **kwargs ): + """ + :keyword type: The type of identity used for the resource. The type + 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user + assigned identities. The type 'None' will remove any identities from the service. Possible + values include: "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned", "None". + :paramtype type: str or ~azure.mgmt.cosmosdb.models.ResourceIdentityType + :keyword user_assigned_identities: The list of user identities associated with resource. The + user identity dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :paramtype user_assigned_identities: dict[str, + ~azure.mgmt.cosmosdb.models.Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties] + """ super(ManagedServiceIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -4948,6 +7040,138 @@ def __init__( self.user_assigned_identities = user_assigned_identities +class MaterializedViewsBuilderRegionalServiceResource(RegionalServiceResource): + """Resource for a regional service location. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The regional service name. + :vartype name: str + :ivar location: The location name. + :vartype location: str + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'location': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(MaterializedViewsBuilderRegionalServiceResource, self).__init__(**kwargs) + + +class MaterializedViewsBuilderServiceResource(msrest.serialization.Model): + """Describes the service response property for MaterializedViewsBuilder. + + :ivar properties: Properties for MaterializedViewsBuilderServiceResource. + :vartype properties: + ~azure.mgmt.cosmosdb.models.MaterializedViewsBuilderServiceResourceProperties + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': 'MaterializedViewsBuilderServiceResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["MaterializedViewsBuilderServiceResourceProperties"] = None, + **kwargs + ): + """ + :keyword properties: Properties for MaterializedViewsBuilderServiceResource. + :paramtype properties: + ~azure.mgmt.cosmosdb.models.MaterializedViewsBuilderServiceResourceProperties + """ + super(MaterializedViewsBuilderServiceResource, self).__init__(**kwargs) + self.properties = properties + + +class MaterializedViewsBuilderServiceResourceProperties(ServiceResourceProperties): + """Properties for MaterializedViewsBuilderServiceResource. + + 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 additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar creation_time: Time of the last state change (ISO-8601 format). + :vartype creation_time: ~datetime.datetime + :ivar instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :vartype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :ivar instance_count: Instance count for the service. + :vartype instance_count: int + :ivar service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute", + "MaterializedViewsBuilder". + :vartype service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :ivar status: Describes the status of a service. Possible values include: "Creating", + "Running", "Updating", "Deleting", "Error", "Stopped". + :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus + :ivar locations: An array that contains all of the locations for the service. + :vartype locations: + list[~azure.mgmt.cosmosdb.models.MaterializedViewsBuilderRegionalServiceResource] + """ + + _validation = { + 'creation_time': {'readonly': True}, + 'instance_count': {'minimum': 0}, + 'service_type': {'required': True}, + 'status': {'readonly': True}, + 'locations': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + 'instance_size': {'key': 'instanceSize', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + 'service_type': {'key': 'serviceType', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[MaterializedViewsBuilderRegionalServiceResource]'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, Any]] = None, + instance_size: Optional[Union[str, "ServiceSize"]] = None, + instance_count: Optional[int] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :paramtype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :keyword instance_count: Instance count for the service. + :paramtype instance_count: int + """ + super(MaterializedViewsBuilderServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs) + self.service_type = 'MaterializedViewsBuilder' # type: str + self.locations = None + + class Metric(msrest.serialization.Model): """Metric data. @@ -4990,6 +7214,8 @@ def __init__( self, **kwargs ): + """ + """ super(Metric, self).__init__(**kwargs) self.start_time = None self.end_time = None @@ -5024,6 +7250,8 @@ def __init__( self, **kwargs ): + """ + """ super(MetricAvailability, self).__init__(**kwargs) self.time_grain = None self.retention = None @@ -5068,6 +7296,8 @@ def __init__( self, **kwargs ): + """ + """ super(MetricDefinition, self).__init__(**kwargs) self.metric_availabilities = None self.primary_aggregation_type = None @@ -5097,6 +7327,8 @@ def __init__( self, **kwargs ): + """ + """ super(MetricDefinitionsListResult, self).__init__(**kwargs) self.value = None @@ -5122,6 +7354,8 @@ def __init__( self, **kwargs ): + """ + """ super(MetricListResult, self).__init__(**kwargs) self.value = None @@ -5151,6 +7385,8 @@ def __init__( self, **kwargs ): + """ + """ super(MetricName, self).__init__(**kwargs) self.value = None self.localized_value = None @@ -5197,6 +7433,8 @@ def __init__( self, **kwargs ): + """ + """ super(MetricValue, self).__init__(**kwargs) self.count = None self.average = None @@ -5219,22 +7457,22 @@ class MongoDBCollectionCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a MongoDB collection. - :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a MongoDB collection. + :vartype resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -5265,6 +7503,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a MongoDB collection. + :paramtype resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(MongoDBCollectionCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -5273,11 +7529,11 @@ def __init__( class MongoDBCollectionGetPropertiesOptions(OptionsResource): """MongoDBCollectionGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -5292,6 +7548,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(MongoDBCollectionGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -5300,14 +7563,14 @@ class MongoDBCollectionResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB MongoDB collection. - :type id: str - :param shard_key: A key-value pair of shard keys to be applied for the request. - :type shard_key: dict[str, str] - :param indexes: List of index keys. - :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int + :ivar id: Required. Name of the Cosmos DB MongoDB collection. + :vartype id: str + :ivar shard_key: A key-value pair of shard keys to be applied for the request. + :vartype shard_key: dict[str, str] + :ivar indexes: List of index keys. + :vartype indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] + :ivar analytical_storage_ttl: Analytical TTL. + :vartype analytical_storage_ttl: int """ _validation = { @@ -5330,6 +7593,16 @@ def __init__( analytical_storage_ttl: Optional[int] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB MongoDB collection. + :paramtype id: str + :keyword shard_key: A key-value pair of shard keys to be applied for the request. + :paramtype shard_key: dict[str, str] + :keyword indexes: List of index keys. + :paramtype indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] + :keyword analytical_storage_ttl: Analytical TTL. + :paramtype analytical_storage_ttl: int + """ super(MongoDBCollectionResource, self).__init__(**kwargs) self.id = id self.shard_key = shard_key @@ -5344,14 +7617,14 @@ class MongoDBCollectionGetPropertiesResource(ExtendedResourceProperties, MongoDB All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB MongoDB collection. - :type id: str - :param shard_key: A key-value pair of shard keys to be applied for the request. - :type shard_key: dict[str, str] - :param indexes: List of index keys. - :type indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: int + :ivar id: Required. Name of the Cosmos DB MongoDB collection. + :vartype id: str + :ivar shard_key: A key-value pair of shard keys to be applied for the request. + :vartype shard_key: dict[str, str] + :ivar indexes: List of index keys. + :vartype indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] + :ivar analytical_storage_ttl: Analytical TTL. + :vartype analytical_storage_ttl: int :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -5387,6 +7660,16 @@ def __init__( analytical_storage_ttl: Optional[int] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB MongoDB collection. + :paramtype id: str + :keyword shard_key: A key-value pair of shard keys to be applied for the request. + :paramtype shard_key: dict[str, str] + :keyword indexes: List of index keys. + :paramtype indexes: list[~azure.mgmt.cosmosdb.models.MongoIndex] + :keyword analytical_storage_ttl: Analytical TTL. + :paramtype analytical_storage_ttl: int + """ super(MongoDBCollectionGetPropertiesResource, self).__init__(id=id, shard_key=shard_key, indexes=indexes, analytical_storage_ttl=analytical_storage_ttl, **kwargs) self.id = id self.shard_key = shard_key @@ -5408,21 +7691,21 @@ class MongoDBCollectionGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesOptions """ _validation = { @@ -5452,6 +7735,23 @@ def __init__( options: Optional["MongoDBCollectionGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.MongoDBCollectionGetPropertiesOptions + """ super(MongoDBCollectionGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -5478,6 +7778,8 @@ def __init__( self, **kwargs ): + """ + """ super(MongoDBCollectionListResult, self).__init__(**kwargs) self.value = None @@ -5495,22 +7797,22 @@ class MongoDBDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a MongoDB database. - :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a MongoDB database. + :vartype resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -5541,6 +7843,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a MongoDB database. + :paramtype resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(MongoDBDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -5549,11 +7869,11 @@ def __init__( class MongoDBDatabaseGetPropertiesOptions(OptionsResource): """MongoDBDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -5568,6 +7888,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(MongoDBDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -5576,8 +7903,8 @@ class MongoDBDatabaseResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB MongoDB database. - :type id: str + :ivar id: Required. Name of the Cosmos DB MongoDB database. + :vartype id: str """ _validation = { @@ -5594,6 +7921,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB MongoDB database. + :paramtype id: str + """ super(MongoDBDatabaseResource, self).__init__(**kwargs) self.id = id @@ -5605,8 +7936,8 @@ class MongoDBDatabaseGetPropertiesResource(ExtendedResourceProperties, MongoDBDa All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB MongoDB database. - :type id: str + :ivar id: Required. Name of the Cosmos DB MongoDB database. + :vartype id: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -5636,6 +7967,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB MongoDB database. + :paramtype id: str + """ super(MongoDBDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs) self.id = id self.rid = None @@ -5654,21 +7989,21 @@ class MongoDBDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesOptions """ _validation = { @@ -5698,6 +8033,23 @@ def __init__( options: Optional["MongoDBDatabaseGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetPropertiesOptions + """ super(MongoDBDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -5724,6 +8076,8 @@ def __init__( self, **kwargs ): + """ + """ super(MongoDBDatabaseListResult, self).__init__(**kwargs) self.value = None @@ -5731,10 +8085,10 @@ def __init__( class MongoIndex(msrest.serialization.Model): """Cosmos DB MongoDB collection index key. - :param key: Cosmos DB MongoDB collection index keys. - :type key: ~azure.mgmt.cosmosdb.models.MongoIndexKeys - :param options: Cosmos DB MongoDB collection index key options. - :type options: ~azure.mgmt.cosmosdb.models.MongoIndexOptions + :ivar key: Cosmos DB MongoDB collection index keys. + :vartype key: ~azure.mgmt.cosmosdb.models.MongoIndexKeys + :ivar options: Cosmos DB MongoDB collection index key options. + :vartype options: ~azure.mgmt.cosmosdb.models.MongoIndexOptions """ _attribute_map = { @@ -5749,6 +8103,12 @@ def __init__( options: Optional["MongoIndexOptions"] = None, **kwargs ): + """ + :keyword key: Cosmos DB MongoDB collection index keys. + :paramtype key: ~azure.mgmt.cosmosdb.models.MongoIndexKeys + :keyword options: Cosmos DB MongoDB collection index key options. + :paramtype options: ~azure.mgmt.cosmosdb.models.MongoIndexOptions + """ super(MongoIndex, self).__init__(**kwargs) self.key = key self.options = options @@ -5757,8 +8117,8 @@ def __init__( class MongoIndexKeys(msrest.serialization.Model): """Cosmos DB MongoDB collection resource object. - :param keys: List of keys for each MongoDB collection in the Azure Cosmos DB service. - :type keys: list[str] + :ivar keys: List of keys for each MongoDB collection in the Azure Cosmos DB service. + :vartype keys: list[str] """ _attribute_map = { @@ -5771,6 +8131,10 @@ def __init__( keys: Optional[List[str]] = None, **kwargs ): + """ + :keyword keys: List of keys for each MongoDB collection in the Azure Cosmos DB service. + :paramtype keys: list[str] + """ super(MongoIndexKeys, self).__init__(**kwargs) self.keys = keys @@ -5778,10 +8142,10 @@ def __init__( class MongoIndexOptions(msrest.serialization.Model): """Cosmos DB MongoDB collection index options. - :param expire_after_seconds: Expire after seconds. - :type expire_after_seconds: int - :param unique: Is unique or not. - :type unique: bool + :ivar expire_after_seconds: Expire after seconds. + :vartype expire_after_seconds: int + :ivar unique: Is unique or not. + :vartype unique: bool """ _attribute_map = { @@ -5796,11 +8160,359 @@ def __init__( unique: Optional[bool] = None, **kwargs ): + """ + :keyword expire_after_seconds: Expire after seconds. + :paramtype expire_after_seconds: int + :keyword unique: Is unique or not. + :paramtype unique: bool + """ super(MongoIndexOptions, self).__init__(**kwargs) self.expire_after_seconds = expire_after_seconds self.unique = unique +class MongoRoleDefinitionCreateUpdateParameters(msrest.serialization.Model): + """Parameters to create and update an Azure Cosmos DB Mongo Role Definition. + + :ivar role_name: A user-friendly name for the Role Definition. Must be unique for the database + account. + :vartype role_name: str + :ivar type: Indicates whether the Role Definition was built-in or user created. Possible values + include: "BuiltInRole", "CustomRole". + :vartype type: str or ~azure.mgmt.cosmosdb.models.MongoRoleDefinitionType + :ivar database_name: The database name for which access is being granted for this Role + Definition. + :vartype database_name: str + :ivar privileges: A set of privileges contained by the Role Definition. This will allow + application of this Role Definition on the entire database account or any underlying Database / + Collection. Scopes higher than Database are not enforceable as privilege. + :vartype privileges: list[~azure.mgmt.cosmosdb.models.Privilege] + :ivar roles: The set of roles inherited by this Role Definition. + :vartype roles: list[~azure.mgmt.cosmosdb.models.Role] + """ + + _attribute_map = { + 'role_name': {'key': 'properties.roleName', 'type': 'str'}, + 'type': {'key': 'properties.type', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'privileges': {'key': 'properties.privileges', 'type': '[Privilege]'}, + 'roles': {'key': 'properties.roles', 'type': '[Role]'}, + } + + def __init__( + self, + *, + role_name: Optional[str] = None, + type: Optional[Union[str, "MongoRoleDefinitionType"]] = None, + database_name: Optional[str] = None, + privileges: Optional[List["Privilege"]] = None, + roles: Optional[List["Role"]] = None, + **kwargs + ): + """ + :keyword role_name: A user-friendly name for the Role Definition. Must be unique for the + database account. + :paramtype role_name: str + :keyword type: Indicates whether the Role Definition was built-in or user created. Possible + values include: "BuiltInRole", "CustomRole". + :paramtype type: str or ~azure.mgmt.cosmosdb.models.MongoRoleDefinitionType + :keyword database_name: The database name for which access is being granted for this Role + Definition. + :paramtype database_name: str + :keyword privileges: A set of privileges contained by the Role Definition. This will allow + application of this Role Definition on the entire database account or any underlying Database / + Collection. Scopes higher than Database are not enforceable as privilege. + :paramtype privileges: list[~azure.mgmt.cosmosdb.models.Privilege] + :keyword roles: The set of roles inherited by this Role Definition. + :paramtype roles: list[~azure.mgmt.cosmosdb.models.Role] + """ + super(MongoRoleDefinitionCreateUpdateParameters, self).__init__(**kwargs) + self.role_name = role_name + self.type = type + self.database_name = database_name + self.privileges = privileges + self.roles = roles + + +class MongoRoleDefinitionGetResults(ARMProxyResource): + """An Azure Cosmos DB Mongo Role Definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource identifier of the database account. + :vartype id: str + :ivar name: The name of the database account. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar role_name: A user-friendly name for the Role Definition. Must be unique for the database + account. + :vartype role_name: str + :ivar type_properties_type: Indicates whether the Role Definition was built-in or user created. + Possible values include: "BuiltInRole", "CustomRole". + :vartype type_properties_type: str or ~azure.mgmt.cosmosdb.models.MongoRoleDefinitionType + :ivar database_name: The database name for which access is being granted for this Role + Definition. + :vartype database_name: str + :ivar privileges: A set of privileges contained by the Role Definition. This will allow + application of this Role Definition on the entire database account or any underlying Database / + Collection. Scopes higher than Database are not enforceable as privilege. + :vartype privileges: list[~azure.mgmt.cosmosdb.models.Privilege] + :ivar roles: The set of roles inherited by this Role Definition. + :vartype roles: list[~azure.mgmt.cosmosdb.models.Role] + """ + + _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'}, + 'role_name': {'key': 'properties.roleName', 'type': 'str'}, + 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'privileges': {'key': 'properties.privileges', 'type': '[Privilege]'}, + 'roles': {'key': 'properties.roles', 'type': '[Role]'}, + } + + def __init__( + self, + *, + role_name: Optional[str] = None, + type_properties_type: Optional[Union[str, "MongoRoleDefinitionType"]] = None, + database_name: Optional[str] = None, + privileges: Optional[List["Privilege"]] = None, + roles: Optional[List["Role"]] = None, + **kwargs + ): + """ + :keyword role_name: A user-friendly name for the Role Definition. Must be unique for the + database account. + :paramtype role_name: str + :keyword type_properties_type: Indicates whether the Role Definition was built-in or user + created. Possible values include: "BuiltInRole", "CustomRole". + :paramtype type_properties_type: str or ~azure.mgmt.cosmosdb.models.MongoRoleDefinitionType + :keyword database_name: The database name for which access is being granted for this Role + Definition. + :paramtype database_name: str + :keyword privileges: A set of privileges contained by the Role Definition. This will allow + application of this Role Definition on the entire database account or any underlying Database / + Collection. Scopes higher than Database are not enforceable as privilege. + :paramtype privileges: list[~azure.mgmt.cosmosdb.models.Privilege] + :keyword roles: The set of roles inherited by this Role Definition. + :paramtype roles: list[~azure.mgmt.cosmosdb.models.Role] + """ + super(MongoRoleDefinitionGetResults, self).__init__(**kwargs) + self.role_name = role_name + self.type_properties_type = type_properties_type + self.database_name = database_name + self.privileges = privileges + self.roles = roles + + +class MongoRoleDefinitionListResult(msrest.serialization.Model): + """The relevant Mongo Role Definitions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Mongo Role Definitions and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.MongoRoleDefinitionGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MongoRoleDefinitionGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(MongoRoleDefinitionListResult, self).__init__(**kwargs) + self.value = None + + +class MongoUserDefinitionCreateUpdateParameters(msrest.serialization.Model): + """Parameters to create and update an Azure Cosmos DB Mongo User Definition. + + :ivar user_name: The user name for User Definition. + :vartype user_name: str + :ivar password: The password for User Definition. Response does not contain user password. + :vartype password: str + :ivar database_name: The database name for which access is being granted for this User + Definition. + :vartype database_name: str + :ivar custom_data: A custom definition for the USer Definition. + :vartype custom_data: str + :ivar roles: The set of roles inherited by the User Definition. + :vartype roles: list[~azure.mgmt.cosmosdb.models.Role] + :ivar mechanisms: The Mongo Auth mechanism. For now, we only support auth mechanism + SCRAM-SHA-256. + :vartype mechanisms: str + """ + + _attribute_map = { + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'custom_data': {'key': 'properties.customData', 'type': 'str'}, + 'roles': {'key': 'properties.roles', 'type': '[Role]'}, + 'mechanisms': {'key': 'properties.mechanisms', 'type': 'str'}, + } + + def __init__( + self, + *, + user_name: Optional[str] = None, + password: Optional[str] = None, + database_name: Optional[str] = None, + custom_data: Optional[str] = None, + roles: Optional[List["Role"]] = None, + mechanisms: Optional[str] = None, + **kwargs + ): + """ + :keyword user_name: The user name for User Definition. + :paramtype user_name: str + :keyword password: The password for User Definition. Response does not contain user password. + :paramtype password: str + :keyword database_name: The database name for which access is being granted for this User + Definition. + :paramtype database_name: str + :keyword custom_data: A custom definition for the USer Definition. + :paramtype custom_data: str + :keyword roles: The set of roles inherited by the User Definition. + :paramtype roles: list[~azure.mgmt.cosmosdb.models.Role] + :keyword mechanisms: The Mongo Auth mechanism. For now, we only support auth mechanism + SCRAM-SHA-256. + :paramtype mechanisms: str + """ + super(MongoUserDefinitionCreateUpdateParameters, self).__init__(**kwargs) + self.user_name = user_name + self.password = password + self.database_name = database_name + self.custom_data = custom_data + self.roles = roles + self.mechanisms = mechanisms + + +class MongoUserDefinitionGetResults(ARMProxyResource): + """An Azure Cosmos DB User Definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource identifier of the database account. + :vartype id: str + :ivar name: The name of the database account. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar user_name: The user name for User Definition. + :vartype user_name: str + :ivar password: The password for User Definition. Response does not contain user password. + :vartype password: str + :ivar database_name: The database name for which access is being granted for this User + Definition. + :vartype database_name: str + :ivar custom_data: A custom definition for the USer Definition. + :vartype custom_data: str + :ivar roles: The set of roles inherited by the User Definition. + :vartype roles: list[~azure.mgmt.cosmosdb.models.Role] + :ivar mechanisms: The Mongo Auth mechanism. For now, we only support auth mechanism + SCRAM-SHA-256. + :vartype mechanisms: 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'}, + 'user_name': {'key': 'properties.userName', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, + 'custom_data': {'key': 'properties.customData', 'type': 'str'}, + 'roles': {'key': 'properties.roles', 'type': '[Role]'}, + 'mechanisms': {'key': 'properties.mechanisms', 'type': 'str'}, + } + + def __init__( + self, + *, + user_name: Optional[str] = None, + password: Optional[str] = None, + database_name: Optional[str] = None, + custom_data: Optional[str] = None, + roles: Optional[List["Role"]] = None, + mechanisms: Optional[str] = None, + **kwargs + ): + """ + :keyword user_name: The user name for User Definition. + :paramtype user_name: str + :keyword password: The password for User Definition. Response does not contain user password. + :paramtype password: str + :keyword database_name: The database name for which access is being granted for this User + Definition. + :paramtype database_name: str + :keyword custom_data: A custom definition for the USer Definition. + :paramtype custom_data: str + :keyword roles: The set of roles inherited by the User Definition. + :paramtype roles: list[~azure.mgmt.cosmosdb.models.Role] + :keyword mechanisms: The Mongo Auth mechanism. For now, we only support auth mechanism + SCRAM-SHA-256. + :paramtype mechanisms: str + """ + super(MongoUserDefinitionGetResults, self).__init__(**kwargs) + self.user_name = user_name + self.password = password + self.database_name = database_name + self.custom_data = custom_data + self.roles = roles + self.mechanisms = mechanisms + + +class MongoUserDefinitionListResult(msrest.serialization.Model): + """The relevant User Definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of User Definition and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.MongoUserDefinitionGetResults] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MongoUserDefinitionGetResults]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(MongoUserDefinitionListResult, self).__init__(**kwargs) + self.value = None + + class NotebookWorkspace(ARMProxyResource): """A notebook workspace resource. @@ -5839,6 +8551,8 @@ def __init__( self, **kwargs ): + """ + """ super(NotebookWorkspace, self).__init__(**kwargs) self.notebook_server_endpoint = None self.status = None @@ -5870,6 +8584,8 @@ def __init__( self, **kwargs ): + """ + """ super(NotebookWorkspaceConnectionInfoResult, self).__init__(**kwargs) self.auth_token = None self.notebook_server_endpoint = None @@ -5904,14 +8620,16 @@ def __init__( self, **kwargs ): + """ + """ super(NotebookWorkspaceCreateUpdateParameters, self).__init__(**kwargs) class NotebookWorkspaceListResult(msrest.serialization.Model): """A list of notebook workspace resources. - :param value: Array of notebook workspace resources. - :type value: list[~azure.mgmt.cosmosdb.models.NotebookWorkspace] + :ivar value: Array of notebook workspace resources. + :vartype value: list[~azure.mgmt.cosmosdb.models.NotebookWorkspace] """ _attribute_map = { @@ -5924,6 +8642,10 @@ def __init__( value: Optional[List["NotebookWorkspace"]] = None, **kwargs ): + """ + :keyword value: Array of notebook workspace resources. + :paramtype value: list[~azure.mgmt.cosmosdb.models.NotebookWorkspace] + """ super(NotebookWorkspaceListResult, self).__init__(**kwargs) self.value = value @@ -5931,10 +8653,10 @@ def __init__( class Operation(msrest.serialization.Model): """REST API operation. - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: The object that represents the operation. - :type display: ~azure.mgmt.cosmosdb.models.OperationDisplay + :ivar name: Operation name: {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: The object that represents the operation. + :vartype display: ~azure.mgmt.cosmosdb.models.OperationDisplay """ _attribute_map = { @@ -5949,6 +8671,12 @@ def __init__( display: Optional["OperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name: {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: The object that represents the operation. + :paramtype display: ~azure.mgmt.cosmosdb.models.OperationDisplay + """ super(Operation, self).__init__(**kwargs) self.name = name self.display = display @@ -5957,14 +8685,14 @@ def __init__( class OperationDisplay(msrest.serialization.Model): """The object that represents the operation. - :param provider: Service provider: Microsoft.ResourceProvider. - :type provider: str - :param resource: Resource on which the operation is performed: Profile, endpoint, etc. - :type resource: str - :param operation: Operation type: Read, write, delete, etc. - :type operation: str - :param description: Description of operation. - :type description: str + :ivar provider: Service provider: Microsoft.ResourceProvider. + :vartype provider: str + :ivar resource: Resource on which the operation is performed: Profile, endpoint, etc. + :vartype resource: str + :ivar operation: Operation type: Read, write, delete, etc. + :vartype operation: str + :ivar description: Description of operation. + :vartype description: str """ _attribute_map = { @@ -5983,6 +8711,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Service provider: Microsoft.ResourceProvider. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed: Profile, endpoint, etc. + :paramtype resource: str + :keyword operation: Operation type: Read, write, delete, etc. + :paramtype operation: str + :keyword description: Description of operation. + :paramtype description: str + """ super(OperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -5993,10 +8731,10 @@ def __init__( class OperationListResult(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 value: List of operations supported by the Resource Provider. - :type value: list[~azure.mgmt.cosmosdb.models.Operation] - :param next_link: URL to get the next set of operation list results if there are any. - :type next_link: str + :ivar value: List of operations supported by the Resource Provider. + :vartype value: list[~azure.mgmt.cosmosdb.models.Operation] + :ivar next_link: URL to get the next set of operation list results if there are any. + :vartype next_link: str """ _attribute_map = { @@ -6011,6 +8749,12 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: List of operations supported by the Resource Provider. + :paramtype value: list[~azure.mgmt.cosmosdb.models.Operation] + :keyword next_link: URL to get the next set of operation list results if there are any. + :paramtype next_link: str + """ super(OperationListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -6067,6 +8811,8 @@ def __init__( self, **kwargs ): + """ + """ super(PartitionMetric, self).__init__(**kwargs) self.partition_id = None self.partition_key_range_id = None @@ -6093,6 +8839,8 @@ def __init__( self, **kwargs ): + """ + """ super(PartitionMetricListResult, self).__init__(**kwargs) self.value = None @@ -6135,6 +8883,8 @@ def __init__( self, **kwargs ): + """ + """ super(Usage, self).__init__(**kwargs) self.unit = None self.name = None @@ -6189,6 +8939,8 @@ def __init__( self, **kwargs ): + """ + """ super(PartitionUsage, self).__init__(**kwargs) self.partition_id = None self.partition_key_range_id = None @@ -6216,6 +8968,8 @@ def __init__( self, **kwargs ): + """ + """ super(PartitionUsagesResult, self).__init__(**kwargs) self.value = None @@ -6262,6 +9016,8 @@ def __init__( self, **kwargs ): + """ + """ super(PercentileMetric, self).__init__(**kwargs) self.start_time = None self.end_time = None @@ -6292,6 +9048,8 @@ def __init__( self, **kwargs ): + """ + """ super(PercentileMetricListResult, self).__init__(**kwargs) self.value = None @@ -6365,6 +9123,8 @@ def __init__( self, **kwargs ): + """ + """ super(PercentileMetricValue, self).__init__(**kwargs) self.p10 = None self.p25 = None @@ -6380,14 +9140,14 @@ class PeriodicModeBackupPolicy(BackupPolicy): All required parameters must be populated in order to send to Azure. - :param type: Required. Describes the mode of backups.Constant filled by server. Possible - values include: "Periodic", "Continuous". - :type type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType - :param migration_state: The object representing the state of the migration between the backup + :ivar type: Required. Describes the mode of backups.Constant filled by server. Possible values + include: "Periodic", "Continuous". + :vartype type: str or ~azure.mgmt.cosmosdb.models.BackupPolicyType + :ivar migration_state: The object representing the state of the migration between the backup policies. - :type migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState - :param periodic_mode_properties: Configuration values for periodic mode backup. - :type periodic_mode_properties: ~azure.mgmt.cosmosdb.models.PeriodicModeProperties + :vartype migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState + :ivar periodic_mode_properties: Configuration values for periodic mode backup. + :vartype periodic_mode_properties: ~azure.mgmt.cosmosdb.models.PeriodicModeProperties """ _validation = { @@ -6407,6 +9167,13 @@ def __init__( periodic_mode_properties: Optional["PeriodicModeProperties"] = None, **kwargs ): + """ + :keyword migration_state: The object representing the state of the migration between the backup + policies. + :paramtype migration_state: ~azure.mgmt.cosmosdb.models.BackupPolicyMigrationState + :keyword periodic_mode_properties: Configuration values for periodic mode backup. + :paramtype periodic_mode_properties: ~azure.mgmt.cosmosdb.models.PeriodicModeProperties + """ super(PeriodicModeBackupPolicy, self).__init__(migration_state=migration_state, **kwargs) self.type = 'Periodic' # type: str self.periodic_mode_properties = periodic_mode_properties @@ -6415,15 +9182,15 @@ def __init__( class PeriodicModeProperties(msrest.serialization.Model): """Configuration values for periodic mode backup. - :param backup_interval_in_minutes: An integer representing the interval in minutes between two + :ivar backup_interval_in_minutes: An integer representing the interval in minutes between two backups. - :type backup_interval_in_minutes: int - :param backup_retention_interval_in_hours: An integer representing the time (in hours) that - each backup is retained. - :type backup_retention_interval_in_hours: int - :param backup_storage_redundancy: Enum to indicate type of backup residency. Possible values + :vartype backup_interval_in_minutes: int + :ivar backup_retention_interval_in_hours: An integer representing the time (in hours) that each + backup is retained. + :vartype backup_retention_interval_in_hours: int + :ivar backup_storage_redundancy: Enum to indicate type of backup residency. Possible values include: "Geo", "Local", "Zone". - :type backup_storage_redundancy: str or ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy + :vartype backup_storage_redundancy: str or ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy """ _validation = { @@ -6445,6 +9212,18 @@ def __init__( backup_storage_redundancy: Optional[Union[str, "BackupStorageRedundancy"]] = None, **kwargs ): + """ + :keyword backup_interval_in_minutes: An integer representing the interval in minutes between + two backups. + :paramtype backup_interval_in_minutes: int + :keyword backup_retention_interval_in_hours: An integer representing the time (in hours) that + each backup is retained. + :paramtype backup_retention_interval_in_hours: int + :keyword backup_storage_redundancy: Enum to indicate type of backup residency. Possible values + include: "Geo", "Local", "Zone". + :paramtype backup_storage_redundancy: str or + ~azure.mgmt.cosmosdb.models.BackupStorageRedundancy + """ super(PeriodicModeProperties, self).__init__(**kwargs) self.backup_interval_in_minutes = backup_interval_in_minutes self.backup_retention_interval_in_hours = backup_retention_interval_in_hours @@ -6454,10 +9233,10 @@ def __init__( class Permission(msrest.serialization.Model): """The set of data plane operations permitted through this Role Definition. - :param data_actions: An array of data actions that are allowed. - :type data_actions: list[str] - :param not_data_actions: An array of data actions that are denied. - :type not_data_actions: list[str] + :ivar data_actions: An array of data actions that are allowed. + :vartype data_actions: list[str] + :ivar not_data_actions: An array of data actions that are denied. + :vartype not_data_actions: list[str] """ _attribute_map = { @@ -6472,6 +9251,12 @@ def __init__( not_data_actions: Optional[List[str]] = None, **kwargs ): + """ + :keyword data_actions: An array of data actions that are allowed. + :paramtype data_actions: list[str] + :keyword not_data_actions: An array of data actions that are denied. + :paramtype not_data_actions: list[str] + """ super(Permission, self).__init__(**kwargs) self.data_actions = data_actions self.not_data_actions = not_data_actions @@ -6508,6 +9293,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -6545,6 +9332,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) @@ -6561,16 +9350,16 @@ class PrivateEndpointConnection(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param private_endpoint: Private endpoint which the connection belongs to. - :type private_endpoint: ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty - :param private_link_service_connection_state: Connection State of the Private Endpoint + :ivar private_endpoint: Private endpoint which the connection belongs to. + :vartype private_endpoint: ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty + :ivar private_link_service_connection_state: Connection State of the Private Endpoint Connection. - :type private_link_service_connection_state: + :vartype private_link_service_connection_state: ~azure.mgmt.cosmosdb.models.PrivateLinkServiceConnectionStateProperty - :param group_id: Group id of the private endpoint. - :type group_id: str - :param provisioning_state: Provisioning state of the private endpoint. - :type provisioning_state: str + :ivar group_id: Group id of the private endpoint. + :vartype group_id: str + :ivar provisioning_state: Provisioning state of the private endpoint. + :vartype provisioning_state: str """ _validation = { @@ -6598,6 +9387,18 @@ def __init__( provisioning_state: Optional[str] = None, **kwargs ): + """ + :keyword private_endpoint: Private endpoint which the connection belongs to. + :paramtype private_endpoint: ~azure.mgmt.cosmosdb.models.PrivateEndpointProperty + :keyword private_link_service_connection_state: Connection State of the Private Endpoint + Connection. + :paramtype private_link_service_connection_state: + ~azure.mgmt.cosmosdb.models.PrivateLinkServiceConnectionStateProperty + :keyword group_id: Group id of the private endpoint. + :paramtype group_id: str + :keyword provisioning_state: Provisioning state of the private endpoint. + :paramtype provisioning_state: str + """ super(PrivateEndpointConnection, self).__init__(**kwargs) self.private_endpoint = private_endpoint self.private_link_service_connection_state = private_link_service_connection_state @@ -6608,8 +9409,8 @@ def __init__( class PrivateEndpointConnectionListResult(msrest.serialization.Model): """A list of private endpoint connections. - :param value: Array of private endpoint connections. - :type value: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] + :ivar value: Array of private endpoint connections. + :vartype value: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] """ _attribute_map = { @@ -6622,6 +9423,10 @@ def __init__( value: Optional[List["PrivateEndpointConnection"]] = None, **kwargs ): + """ + :keyword value: Array of private endpoint connections. + :paramtype value: list[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] + """ super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) self.value = value @@ -6629,8 +9434,8 @@ def __init__( class PrivateEndpointProperty(msrest.serialization.Model): """Private endpoint which the connection belongs to. - :param id: Resource id of the private endpoint. - :type id: str + :ivar id: Resource id of the private endpoint. + :vartype id: str """ _attribute_map = { @@ -6643,6 +9448,10 @@ def __init__( id: Optional[str] = None, **kwargs ): + """ + :keyword id: Resource id of the private endpoint. + :paramtype id: str + """ super(PrivateEndpointProperty, self).__init__(**kwargs) self.id = id @@ -6688,6 +9497,8 @@ def __init__( self, **kwargs ): + """ + """ super(PrivateLinkResource, self).__init__(**kwargs) self.group_id = None self.required_members = None @@ -6697,8 +9508,8 @@ def __init__( class PrivateLinkResourceListResult(msrest.serialization.Model): """A list of private link resources. - :param value: Array of private link resources. - :type value: list[~azure.mgmt.cosmosdb.models.PrivateLinkResource] + :ivar value: Array of private link resources. + :vartype value: list[~azure.mgmt.cosmosdb.models.PrivateLinkResource] """ _attribute_map = { @@ -6711,6 +9522,10 @@ def __init__( value: Optional[List["PrivateLinkResource"]] = None, **kwargs ): + """ + :keyword value: Array of private link resources. + :paramtype value: list[~azure.mgmt.cosmosdb.models.PrivateLinkResource] + """ super(PrivateLinkResourceListResult, self).__init__(**kwargs) self.value = value @@ -6720,10 +9535,10 @@ class PrivateLinkServiceConnectionStateProperty(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param status: The private link service connection status. - :type status: str - :param description: The private link service connection description. - :type description: str + :ivar status: The private link service connection status. + :vartype status: str + :ivar description: The private link service connection description. + :vartype description: str :ivar actions_required: Any action that is required beyond basic workflow (approve/ reject/ disconnect). :vartype actions_required: str @@ -6746,19 +9561,89 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword status: The private link service connection status. + :paramtype status: str + :keyword description: The private link service connection description. + :paramtype description: str + """ super(PrivateLinkServiceConnectionStateProperty, self).__init__(**kwargs) self.status = status self.description = description self.actions_required = None +class Privilege(msrest.serialization.Model): + """The set of data plane operations permitted through this Role Definition. + + :ivar resource: An Azure Cosmos DB Mongo DB Resource. + :vartype resource: ~azure.mgmt.cosmosdb.models.PrivilegeResource + :ivar actions: An array of actions that are allowed. + :vartype actions: list[str] + """ + + _attribute_map = { + 'resource': {'key': 'resource', 'type': 'PrivilegeResource'}, + 'actions': {'key': 'actions', 'type': '[str]'}, + } + + def __init__( + self, + *, + resource: Optional["PrivilegeResource"] = None, + actions: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword resource: An Azure Cosmos DB Mongo DB Resource. + :paramtype resource: ~azure.mgmt.cosmosdb.models.PrivilegeResource + :keyword actions: An array of actions that are allowed. + :paramtype actions: list[str] + """ + super(Privilege, self).__init__(**kwargs) + self.resource = resource + self.actions = actions + + +class PrivilegeResource(msrest.serialization.Model): + """An Azure Cosmos DB Mongo DB Resource. + + :ivar db: The database name the role is applied. + :vartype db: str + :ivar collection: The collection name the role is applied. + :vartype collection: str + """ + + _attribute_map = { + 'db': {'key': 'db', 'type': 'str'}, + 'collection': {'key': 'collection', 'type': 'str'}, + } + + def __init__( + self, + *, + db: Optional[str] = None, + collection: Optional[str] = None, + **kwargs + ): + """ + :keyword db: The database name the role is applied. + :paramtype db: str + :keyword collection: The collection name the role is applied. + :paramtype collection: str + """ + super(PrivilegeResource, self).__init__(**kwargs) + self.db = db + self.collection = collection + + class RegionForOnlineOffline(msrest.serialization.Model): """Cosmos DB region to online or offline. All required parameters must be populated in order to send to Azure. - :param region: Required. Cosmos DB region, with spaces between words and each word capitalized. - :type region: str + :ivar region: Required. Cosmos DB region, with spaces between words and each word capitalized. + :vartype region: str """ _validation = { @@ -6775,119 +9660,370 @@ def __init__( region: str, **kwargs ): + """ + :keyword region: Required. Cosmos DB region, with spaces between words and each word + capitalized. + :paramtype region: str + """ super(RegionForOnlineOffline, self).__init__(**kwargs) self.region = region -class RepairPostBody(msrest.serialization.Model): - """Specification of the keyspaces and tables to run repair on. +class RestorableDatabaseAccountGetResult(msrest.serialization.Model): + """A Azure Cosmos DB restorable database account. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource identifier of the ARM resource. + :vartype id: str + :ivar name: The name of the ARM resource. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar account_name: The name of the global database account. + :vartype account_name: str + :ivar creation_time: The creation time of the restorable database account (ISO-8601 format). + :vartype creation_time: ~datetime.datetime + :ivar deletion_time: The time at which the restorable database account has been deleted + (ISO-8601 format). + :vartype deletion_time: ~datetime.datetime + :ivar api_type: The API type of the restorable database account. Possible values include: + "MongoDB", "Gremlin", "Cassandra", "Table", "Sql", "GremlinV2". + :vartype api_type: str or ~azure.mgmt.cosmosdb.models.ApiType + :ivar restorable_locations: List of regions where the of the database account can be restored + from. + :vartype restorable_locations: list[~azure.mgmt.cosmosdb.models.RestorableLocationResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'api_type': {'readonly': True}, + 'restorable_locations': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'account_name': {'key': 'properties.accountName', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'deletion_time': {'key': 'properties.deletionTime', 'type': 'iso-8601'}, + 'api_type': {'key': 'properties.apiType', 'type': 'str'}, + 'restorable_locations': {'key': 'properties.restorableLocations', 'type': '[RestorableLocationResource]'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + account_name: Optional[str] = None, + creation_time: Optional[datetime.datetime] = None, + deletion_time: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword account_name: The name of the global database account. + :paramtype account_name: str + :keyword creation_time: The creation time of the restorable database account (ISO-8601 format). + :paramtype creation_time: ~datetime.datetime + :keyword deletion_time: The time at which the restorable database account has been deleted + (ISO-8601 format). + :paramtype deletion_time: ~datetime.datetime + """ + super(RestorableDatabaseAccountGetResult, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.account_name = account_name + self.creation_time = creation_time + self.deletion_time = deletion_time + self.api_type = None + self.restorable_locations = None + + +class RestorableDatabaseAccountsListResult(msrest.serialization.Model): + """The List operation response, that contains the restorable database accounts and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of restorable database accounts and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableDatabaseAccountGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(RestorableDatabaseAccountsListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableGremlinDatabaseGetResult(msrest.serialization.Model): + """An Azure Cosmos DB Gremlin database event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource Identifier of the ARM resource. + :vartype id: str + :ivar name: The name of the ARM resource. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar resource: The resource of an Azure Cosmos DB Gremlin database event. + :vartype resource: ~azure.mgmt.cosmosdb.models.RestorableGremlinDatabasePropertiesResource + """ + + _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'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableGremlinDatabasePropertiesResource'}, + } + + def __init__( + self, + *, + resource: Optional["RestorableGremlinDatabasePropertiesResource"] = None, + **kwargs + ): + """ + :keyword resource: The resource of an Azure Cosmos DB Gremlin database event. + :paramtype resource: ~azure.mgmt.cosmosdb.models.RestorableGremlinDatabasePropertiesResource + """ + super(RestorableGremlinDatabaseGetResult, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.resource = resource + + +class RestorableGremlinDatabasePropertiesResource(msrest.serialization.Model): + """The resource of an Azure Cosmos DB Gremlin database event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this database event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". + :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType + :ivar event_timestamp: The time when this database event happened. + :vartype event_timestamp: str + :ivar owner_id: The name of this Gremlin database. + :vartype owner_id: str + :ivar owner_resource_id: The resource ID of this Gremlin database. + :vartype owner_resource_id: str + """ + + _validation = { + 'rid': {'readonly': True}, + 'operation_type': {'readonly': True}, + 'event_timestamp': {'readonly': True}, + 'owner_id': {'readonly': True}, + 'owner_resource_id': {'readonly': True}, + } + + _attribute_map = { + 'rid': {'key': '_rid', 'type': 'str'}, + 'operation_type': {'key': 'operationType', 'type': 'str'}, + 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, + 'owner_id': {'key': 'ownerId', 'type': 'str'}, + 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(RestorableGremlinDatabasePropertiesResource, self).__init__(**kwargs) + self.rid = None + self.operation_type = None + self.event_timestamp = None + self.owner_id = None + self.owner_resource_id = None + + +class RestorableGremlinDatabasesListResult(msrest.serialization.Model): + """The List operation response, that contains the Gremlin database events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Gremlin database events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableGremlinDatabaseGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableGremlinDatabaseGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(RestorableGremlinDatabasesListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableGremlinGraphGetResult(msrest.serialization.Model): + """An Azure Cosmos DB Gremlin graph event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource Identifier of the ARM resource. + :vartype id: str + :ivar name: The name of the ARM resource. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar resource: The resource of an Azure Cosmos DB Gremlin graph event. + :vartype resource: ~azure.mgmt.cosmosdb.models.RestorableGremlinGraphPropertiesResource + """ + + _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'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableGremlinGraphPropertiesResource'}, + } + + def __init__( + self, + *, + resource: Optional["RestorableGremlinGraphPropertiesResource"] = None, + **kwargs + ): + """ + :keyword resource: The resource of an Azure Cosmos DB Gremlin graph event. + :paramtype resource: ~azure.mgmt.cosmosdb.models.RestorableGremlinGraphPropertiesResource + """ + super(RestorableGremlinGraphGetResult, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.resource = resource - All required parameters must be populated in order to send to Azure. - :param keyspace: Required. The name of the keyspace that repair should be run on. - :type keyspace: str - :param tables: List of tables in the keyspace to repair. If omitted, repair all tables in the - keyspace. - :type tables: list[str] +class RestorableGremlinGraphPropertiesResource(msrest.serialization.Model): + """The resource of an Azure Cosmos DB Gremlin graph event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this graph event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". + :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType + :ivar event_timestamp: The time when this graph event happened. + :vartype event_timestamp: str + :ivar owner_id: The name of this Gremlin graph. + :vartype owner_id: str + :ivar owner_resource_id: The resource ID of this Gremlin graph. + :vartype owner_resource_id: str """ _validation = { - 'keyspace': {'required': True}, + 'rid': {'readonly': True}, + 'operation_type': {'readonly': True}, + 'event_timestamp': {'readonly': True}, + 'owner_id': {'readonly': True}, + 'owner_resource_id': {'readonly': True}, } _attribute_map = { - 'keyspace': {'key': 'keyspace', 'type': 'str'}, - 'tables': {'key': 'tables', 'type': '[str]'}, + 'rid': {'key': '_rid', 'type': 'str'}, + 'operation_type': {'key': 'operationType', 'type': 'str'}, + 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, + 'owner_id': {'key': 'ownerId', 'type': 'str'}, + 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, } def __init__( self, - *, - keyspace: str, - tables: Optional[List[str]] = None, **kwargs ): - super(RepairPostBody, self).__init__(**kwargs) - self.keyspace = keyspace - self.tables = tables + """ + """ + super(RestorableGremlinGraphPropertiesResource, self).__init__(**kwargs) + self.rid = None + self.operation_type = None + self.event_timestamp = None + self.owner_id = None + self.owner_resource_id = None -class RestorableDatabaseAccountGetResult(msrest.serialization.Model): - """A Azure Cosmos DB restorable database account. +class RestorableGremlinGraphsListResult(msrest.serialization.Model): + """The List operation response, that contains the Gremlin graph events and their properties. Variables are only populated by the server, and will be ignored when sending a request. - :ivar id: The unique resource identifier of the ARM resource. - :vartype id: str - :ivar name: The name of the ARM resource. - :vartype name: str - :ivar type: The type of Azure resource. - :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param account_name: The name of the global database account. - :type account_name: str - :param creation_time: The creation time of the restorable database account (ISO-8601 format). - :type creation_time: ~datetime.datetime - :param deletion_time: The time at which the restorable database account has been deleted - (ISO-8601 format). - :type deletion_time: ~datetime.datetime - :ivar api_type: The API type of the restorable database account. Possible values include: - "MongoDB", "Gremlin", "Cassandra", "Table", "Sql", "GremlinV2". - :vartype api_type: str or ~azure.mgmt.cosmosdb.models.ApiType - :ivar restorable_locations: List of regions where the of the database account can be restored - from. - :vartype restorable_locations: list[~azure.mgmt.cosmosdb.models.RestorableLocationResource] + :ivar value: List of Gremlin graph events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableGremlinGraphGetResult] """ _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'api_type': {'readonly': True}, - 'restorable_locations': {'readonly': True}, + 'value': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'account_name': {'key': 'properties.accountName', 'type': 'str'}, - 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, - 'deletion_time': {'key': 'properties.deletionTime', 'type': 'iso-8601'}, - 'api_type': {'key': 'properties.apiType', 'type': 'str'}, - 'restorable_locations': {'key': 'properties.restorableLocations', 'type': '[RestorableLocationResource]'}, + 'value': {'key': 'value', 'type': '[RestorableGremlinGraphGetResult]'}, } def __init__( self, - *, - location: Optional[str] = None, - account_name: Optional[str] = None, - creation_time: Optional[datetime.datetime] = None, - deletion_time: Optional[datetime.datetime] = None, **kwargs ): - super(RestorableDatabaseAccountGetResult, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.location = location - self.account_name = account_name - self.creation_time = creation_time - self.deletion_time = deletion_time - self.api_type = None - self.restorable_locations = None + """ + """ + super(RestorableGremlinGraphsListResult, self).__init__(**kwargs) + self.value = None -class RestorableDatabaseAccountsListResult(msrest.serialization.Model): - """The List operation response, that contains the restorable database accounts and their properties. +class RestorableGremlinResourcesListResult(msrest.serialization.Model): + """The List operation response, that contains the restorable Gremlin resources. Variables are only populated by the server, and will be ignored when sending a request. - :ivar value: List of restorable database accounts and their properties. - :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountGetResult] + :ivar value: List of restorable Gremlin resources, including the gremlin database and graph + names. + :vartype value: list[~azure.mgmt.cosmosdb.models.GremlinDatabaseRestoreResource] """ _validation = { @@ -6895,14 +10031,16 @@ class RestorableDatabaseAccountsListResult(msrest.serialization.Model): } _attribute_map = { - 'value': {'key': 'value', 'type': '[RestorableDatabaseAccountGetResult]'}, + 'value': {'key': 'value', 'type': '[GremlinDatabaseRestoreResource]'}, } def __init__( self, **kwargs ): - super(RestorableDatabaseAccountsListResult, self).__init__(**kwargs) + """ + """ + super(RestorableGremlinResourcesListResult, self).__init__(**kwargs) self.value = None @@ -6942,6 +10080,8 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableLocationResource, self).__init__(**kwargs) self.location_name = None self.regional_database_account_instance_id = None @@ -6960,8 +10100,8 @@ class RestorableMongodbCollectionGetResult(msrest.serialization.Model): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param resource: The resource of an Azure Cosmos DB MongoDB collection event. - :type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource + :ivar resource: The resource of an Azure Cosmos DB MongoDB collection event. + :vartype resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource """ _validation = { @@ -6983,6 +10123,10 @@ def __init__( resource: Optional["RestorableMongodbCollectionPropertiesResource"] = None, **kwargs ): + """ + :keyword resource: The resource of an Azure Cosmos DB MongoDB collection event. + :paramtype resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionPropertiesResource + """ super(RestorableMongodbCollectionGetResult, self).__init__(**kwargs) self.id = None self.name = None @@ -7028,6 +10172,8 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableMongodbCollectionPropertiesResource, self).__init__(**kwargs) self.rid = None self.operation_type = None @@ -7057,6 +10203,8 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableMongodbCollectionsListResult, self).__init__(**kwargs) self.value = None @@ -7072,8 +10220,8 @@ class RestorableMongodbDatabaseGetResult(msrest.serialization.Model): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param resource: The resource of an Azure Cosmos DB MongoDB database event. - :type resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource + :ivar resource: The resource of an Azure Cosmos DB MongoDB database event. + :vartype resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource """ _validation = { @@ -7095,6 +10243,10 @@ def __init__( resource: Optional["RestorableMongodbDatabasePropertiesResource"] = None, **kwargs ): + """ + :keyword resource: The resource of an Azure Cosmos DB MongoDB database event. + :paramtype resource: ~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasePropertiesResource + """ super(RestorableMongodbDatabaseGetResult, self).__init__(**kwargs) self.id = None self.name = None @@ -7140,6 +10292,8 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableMongodbDatabasePropertiesResource, self).__init__(**kwargs) self.rid = None self.operation_type = None @@ -7169,6 +10323,8 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableMongodbDatabasesListResult, self).__init__(**kwargs) self.value = None @@ -7194,6 +10350,8 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableMongodbResourcesListResult, self).__init__(**kwargs) self.value = None @@ -7209,8 +10367,8 @@ class RestorableSqlContainerGetResult(msrest.serialization.Model): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param resource: The resource of an Azure Cosmos DB SQL container event. - :type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource + :ivar resource: The resource of an Azure Cosmos DB SQL container event. + :vartype resource: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource """ _validation = { @@ -7232,6 +10390,10 @@ def __init__( resource: Optional["RestorableSqlContainerPropertiesResource"] = None, **kwargs ): + """ + :keyword resource: The resource of an Azure Cosmos DB SQL container event. + :paramtype resource: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResource + """ super(RestorableSqlContainerGetResult, self).__init__(**kwargs) self.id = None self.name = None @@ -7255,8 +10417,9 @@ class RestorableSqlContainerPropertiesResource(msrest.serialization.Model): :vartype owner_id: str :ivar owner_resource_id: The resource ID of this SQL container. :vartype owner_resource_id: str - :param container: Cosmos DB SQL container resource object. - :type container: ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer + :ivar container: Cosmos DB SQL container resource object. + :vartype container: + ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer """ _validation = { @@ -7282,6 +10445,11 @@ def __init__( container: Optional["RestorableSqlContainerPropertiesResourceContainer"] = None, **kwargs ): + """ + :keyword container: Cosmos DB SQL container resource object. + :paramtype container: + ~azure.mgmt.cosmosdb.models.RestorableSqlContainerPropertiesResourceContainer + """ super(RestorableSqlContainerPropertiesResource, self).__init__(**kwargs) self.rid = None self.operation_type = None @@ -7296,23 +10464,23 @@ class SqlContainerResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL container. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + :ivar id: Required. Name of the Cosmos DB SQL container. + :vartype id: str + :ivar indexing_policy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data + :vartype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :ivar partition_key: The configuration of the partition key to be used for partitioning data into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness + :vartype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :ivar default_ttl: Default time to live. + :vartype default_ttl: int + :ivar unique_key_policy: The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the container. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: long + :vartype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :ivar conflict_resolution_policy: The conflict resolution policy for the container. + :vartype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :ivar analytical_storage_ttl: Analytical TTL. + :vartype analytical_storage_ttl: long """ _validation = { @@ -7341,6 +10509,25 @@ def __init__( analytical_storage_ttl: Optional[int] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL container. + :paramtype id: str + :keyword indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. + :paramtype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :keyword partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :paramtype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :keyword default_ttl: Default time to live. + :paramtype default_ttl: int + :keyword unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :paramtype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :keyword conflict_resolution_policy: The conflict resolution policy for the container. + :paramtype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :keyword analytical_storage_ttl: Analytical TTL. + :paramtype analytical_storage_ttl: long + """ super(SqlContainerResource, self).__init__(**kwargs) self.id = id self.indexing_policy = indexing_policy @@ -7358,23 +10545,23 @@ class RestorableSqlContainerPropertiesResourceContainer(ExtendedResourceProperti All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL container. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + :ivar id: Required. Name of the Cosmos DB SQL container. + :vartype id: str + :ivar indexing_policy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data + :vartype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :ivar partition_key: The configuration of the partition key to be used for partitioning data into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness + :vartype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :ivar default_ttl: Default time to live. + :vartype default_ttl: int + :ivar unique_key_policy: The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the container. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: long + :vartype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :ivar conflict_resolution_policy: The conflict resolution policy for the container. + :vartype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :ivar analytical_storage_ttl: Analytical TTL. + :vartype analytical_storage_ttl: long :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -7421,6 +10608,25 @@ def __init__( analytical_storage_ttl: Optional[int] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL container. + :paramtype id: str + :keyword indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. + :paramtype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :keyword partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :paramtype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :keyword default_ttl: Default time to live. + :paramtype default_ttl: int + :keyword unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :paramtype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :keyword conflict_resolution_policy: The conflict resolution policy for the container. + :paramtype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :keyword analytical_storage_ttl: Analytical TTL. + :paramtype analytical_storage_ttl: long + """ super(RestorableSqlContainerPropertiesResourceContainer, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, analytical_storage_ttl=analytical_storage_ttl, **kwargs) self.id = id self.indexing_policy = indexing_policy @@ -7457,6 +10663,8 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableSqlContainersListResult, self).__init__(**kwargs) self.value = None @@ -7472,8 +10680,8 @@ class RestorableSqlDatabaseGetResult(msrest.serialization.Model): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param resource: The resource of an Azure Cosmos DB SQL database event. - :type resource: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource + :ivar resource: The resource of an Azure Cosmos DB SQL database event. + :vartype resource: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource """ _validation = { @@ -7495,6 +10703,10 @@ def __init__( resource: Optional["RestorableSqlDatabasePropertiesResource"] = None, **kwargs ): + """ + :keyword resource: The resource of an Azure Cosmos DB SQL database event. + :paramtype resource: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResource + """ super(RestorableSqlDatabaseGetResult, self).__init__(**kwargs) self.id = None self.name = None @@ -7518,8 +10730,8 @@ class RestorableSqlDatabasePropertiesResource(msrest.serialization.Model): :vartype owner_id: str :ivar owner_resource_id: The resource ID of the SQL database. :vartype owner_resource_id: str - :param database: Cosmos DB SQL database resource object. - :type database: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase + :ivar database: Cosmos DB SQL database resource object. + :vartype database: ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase """ _validation = { @@ -7545,6 +10757,11 @@ def __init__( database: Optional["RestorableSqlDatabasePropertiesResourceDatabase"] = None, **kwargs ): + """ + :keyword database: Cosmos DB SQL database resource object. + :paramtype database: + ~azure.mgmt.cosmosdb.models.RestorableSqlDatabasePropertiesResourceDatabase + """ super(RestorableSqlDatabasePropertiesResource, self).__init__(**kwargs) self.rid = None self.operation_type = None @@ -7559,8 +10776,8 @@ class SqlDatabaseResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL database. - :type id: str + :ivar id: Required. Name of the Cosmos DB SQL database. + :vartype id: str """ _validation = { @@ -7577,19 +10794,21 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL database. + :paramtype id: str + """ super(SqlDatabaseResource, self).__init__(**kwargs) self.id = id -class RestorableSqlDatabasePropertiesResourceDatabase(ExtendedResourceProperties, SqlDatabaseResource): +class RestorableSqlDatabasePropertiesResourceDatabase(SqlDatabaseResource, ExtendedResourceProperties): """Cosmos DB SQL database resource object. 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 id: Required. Name of the Cosmos DB SQL database. - :type id: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -7597,6 +10816,8 @@ class RestorableSqlDatabasePropertiesResourceDatabase(ExtendedResourceProperties :ivar etag: A system generated property representing the resource etag required for optimistic concurrency control. :vartype etag: str + :ivar id: Required. Name of the Cosmos DB SQL database. + :vartype id: str :ivar colls: A system generated property that specified the addressable path of the collections resource. :vartype colls: str @@ -7609,20 +10830,20 @@ class RestorableSqlDatabasePropertiesResourceDatabase(ExtendedResourceProperties """ _validation = { - 'id': {'required': True}, 'rid': {'readonly': True}, 'ts': {'readonly': True}, 'etag': {'readonly': True}, + 'id': {'required': True}, 'colls': {'readonly': True}, 'users': {'readonly': True}, 'self_property': {'readonly': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, 'rid': {'key': '_rid', 'type': 'str'}, 'ts': {'key': '_ts', 'type': 'float'}, 'etag': {'key': '_etag', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, 'colls': {'key': '_colls', 'type': 'str'}, 'users': {'key': '_users', 'type': 'str'}, 'self_property': {'key': '_self', 'type': 'str'}, @@ -7634,17 +10855,21 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL database. + :paramtype id: str + """ super(RestorableSqlDatabasePropertiesResourceDatabase, self).__init__(id=id, **kwargs) - self.id = id - self.colls = None - self.users = None - self.self_property = None self.rid = None self.ts = None self.etag = None self.colls = None self.users = None self.self_property = None + self.id = id + self.colls = None + self.users = None + self.self_property = None class RestorableSqlDatabasesListResult(msrest.serialization.Model): @@ -7668,6 +10893,8 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableSqlDatabasesListResult, self).__init__(**kwargs) self.value = None @@ -7693,24 +10920,177 @@ def __init__( self, **kwargs ): + """ + """ super(RestorableSqlResourcesListResult, self).__init__(**kwargs) self.value = None +class RestorableTableGetResult(msrest.serialization.Model): + """An Azure Cosmos DB Table event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The unique resource Identifier of the ARM resource. + :vartype id: str + :ivar name: The name of the ARM resource. + :vartype name: str + :ivar type: The type of Azure resource. + :vartype type: str + :ivar resource: The resource of an Azure Cosmos DB Table event. + :vartype resource: ~azure.mgmt.cosmosdb.models.RestorableTablePropertiesResource + """ + + _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'}, + 'resource': {'key': 'properties.resource', 'type': 'RestorableTablePropertiesResource'}, + } + + def __init__( + self, + *, + resource: Optional["RestorableTablePropertiesResource"] = None, + **kwargs + ): + """ + :keyword resource: The resource of an Azure Cosmos DB Table event. + :paramtype resource: ~azure.mgmt.cosmosdb.models.RestorableTablePropertiesResource + """ + super(RestorableTableGetResult, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.resource = resource + + +class RestorableTablePropertiesResource(msrest.serialization.Model): + """The resource of an Azure Cosmos DB Table event. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar rid: A system generated property. A unique identifier. + :vartype rid: str + :ivar operation_type: The operation type of this table event. Possible values include: + "Create", "Replace", "Delete", "SystemOperation". + :vartype operation_type: str or ~azure.mgmt.cosmosdb.models.OperationType + :ivar event_timestamp: The time when this table event happened. + :vartype event_timestamp: str + :ivar owner_id: The name of this Table. + :vartype owner_id: str + :ivar owner_resource_id: The resource ID of this Table. + :vartype owner_resource_id: str + """ + + _validation = { + 'rid': {'readonly': True}, + 'operation_type': {'readonly': True}, + 'event_timestamp': {'readonly': True}, + 'owner_id': {'readonly': True}, + 'owner_resource_id': {'readonly': True}, + } + + _attribute_map = { + 'rid': {'key': '_rid', 'type': 'str'}, + 'operation_type': {'key': 'operationType', 'type': 'str'}, + 'event_timestamp': {'key': 'eventTimestamp', 'type': 'str'}, + 'owner_id': {'key': 'ownerId', 'type': 'str'}, + 'owner_resource_id': {'key': 'ownerResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(RestorableTablePropertiesResource, self).__init__(**kwargs) + self.rid = None + self.operation_type = None + self.event_timestamp = None + self.owner_id = None + self.owner_resource_id = None + + +class RestorableTableResourcesListResult(msrest.serialization.Model): + """List of restorable table names. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of restorable table names. + :vartype value: list[str] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(RestorableTableResourcesListResult, self).__init__(**kwargs) + self.value = None + + +class RestorableTablesListResult(msrest.serialization.Model): + """The List operation response, that contains the Table events and their properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Table events and their properties. + :vartype value: list[~azure.mgmt.cosmosdb.models.RestorableTableGetResult] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[RestorableTableGetResult]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(RestorableTablesListResult, self).__init__(**kwargs) + self.value = None + + class RestoreParameters(msrest.serialization.Model): """Parameters to indicate the information about the restore. - :param restore_mode: Describes the mode of the restore. Possible values include: "PointInTime". - :type restore_mode: str or ~azure.mgmt.cosmosdb.models.RestoreMode - :param restore_source: The id of the restorable database account from which the restore has to + :ivar restore_mode: Describes the mode of the restore. Possible values include: "PointInTime". + :vartype restore_mode: str or ~azure.mgmt.cosmosdb.models.RestoreMode + :ivar restore_source: The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}. - :type restore_source: str - :param restore_timestamp_in_utc: Time to which the account has to be restored (ISO-8601 - format). - :type restore_timestamp_in_utc: ~datetime.datetime - :param databases_to_restore: List of specific databases available for restore. - :type databases_to_restore: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + :vartype restore_source: str + :ivar restore_timestamp_in_utc: Time to which the account has to be restored (ISO-8601 format). + :vartype restore_timestamp_in_utc: ~datetime.datetime + :ivar databases_to_restore: List of specific databases available for restore. + :vartype databases_to_restore: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + :ivar gremlin_databases_to_restore: List of specific gremlin databases available for restore. + :vartype gremlin_databases_to_restore: + list[~azure.mgmt.cosmosdb.models.GremlinDatabaseRestoreResource] + :ivar tables_to_restore: List of specific tables available for restore. + :vartype tables_to_restore: list[str] """ _attribute_map = { @@ -7718,6 +11098,8 @@ class RestoreParameters(msrest.serialization.Model): 'restore_source': {'key': 'restoreSource', 'type': 'str'}, 'restore_timestamp_in_utc': {'key': 'restoreTimestampInUtc', 'type': 'iso-8601'}, 'databases_to_restore': {'key': 'databasesToRestore', 'type': '[DatabaseRestoreResource]'}, + 'gremlin_databases_to_restore': {'key': 'gremlinDatabasesToRestore', 'type': '[GremlinDatabaseRestoreResource]'}, + 'tables_to_restore': {'key': 'tablesToRestore', 'type': '[str]'}, } def __init__( @@ -7727,20 +11109,76 @@ def __init__( restore_source: Optional[str] = None, restore_timestamp_in_utc: Optional[datetime.datetime] = None, databases_to_restore: Optional[List["DatabaseRestoreResource"]] = None, - **kwargs - ): + gremlin_databases_to_restore: Optional[List["GremlinDatabaseRestoreResource"]] = None, + tables_to_restore: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword restore_mode: Describes the mode of the restore. Possible values include: + "PointInTime". + :paramtype restore_mode: str or ~azure.mgmt.cosmosdb.models.RestoreMode + :keyword restore_source: The id of the restorable database account from which the restore has + to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}. + :paramtype restore_source: str + :keyword restore_timestamp_in_utc: Time to which the account has to be restored (ISO-8601 + format). + :paramtype restore_timestamp_in_utc: ~datetime.datetime + :keyword databases_to_restore: List of specific databases available for restore. + :paramtype databases_to_restore: list[~azure.mgmt.cosmosdb.models.DatabaseRestoreResource] + :keyword gremlin_databases_to_restore: List of specific gremlin databases available for + restore. + :paramtype gremlin_databases_to_restore: + list[~azure.mgmt.cosmosdb.models.GremlinDatabaseRestoreResource] + :keyword tables_to_restore: List of specific tables available for restore. + :paramtype tables_to_restore: list[str] + """ super(RestoreParameters, self).__init__(**kwargs) self.restore_mode = restore_mode self.restore_source = restore_source self.restore_timestamp_in_utc = restore_timestamp_in_utc self.databases_to_restore = databases_to_restore + self.gremlin_databases_to_restore = gremlin_databases_to_restore + self.tables_to_restore = tables_to_restore + + +class Role(msrest.serialization.Model): + """The set of roles permitted through this Role Definition. + + :ivar db: The database name the role is applied. + :vartype db: str + :ivar role: The role name. + :vartype role: str + """ + + _attribute_map = { + 'db': {'key': 'db', 'type': 'str'}, + 'role': {'key': 'role', 'type': 'str'}, + } + + def __init__( + self, + *, + db: Optional[str] = None, + role: Optional[str] = None, + **kwargs + ): + """ + :keyword db: The database name the role is applied. + :paramtype db: str + :keyword role: The role name. + :paramtype role: str + """ + super(Role, self).__init__(**kwargs) + self.db = db + self.role = role class SeedNode(msrest.serialization.Model): """SeedNode. - :param ip_address: IP address of this seed node. - :type ip_address: str + :ivar ip_address: IP address of this seed node. + :vartype ip_address: str """ _attribute_map = { @@ -7753,6 +11191,10 @@ def __init__( ip_address: Optional[str] = None, **kwargs ): + """ + :keyword ip_address: IP address of this seed node. + :paramtype ip_address: str + """ super(SeedNode, self).__init__(**kwargs) self.ip_address = ip_address @@ -7768,8 +11210,8 @@ class ServiceResource(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param properties: Services response resource. - :type properties: ~azure.mgmt.cosmosdb.models.ServiceResourceProperties + :ivar properties: Services response resource. + :vartype properties: ~azure.mgmt.cosmosdb.models.ServiceResourceProperties """ _validation = { @@ -7791,21 +11233,25 @@ def __init__( properties: Optional["ServiceResourceProperties"] = None, **kwargs ): + """ + :keyword properties: Services response resource. + :paramtype properties: ~azure.mgmt.cosmosdb.models.ServiceResourceProperties + """ super(ServiceResource, self).__init__(**kwargs) self.properties = properties class ServiceResourceCreateUpdateParameters(msrest.serialization.Model): - """ServiceResourceCreateUpdateParameters. + """Parameters for Create or Update Request for ServiceResource. - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + :ivar instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :vartype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :ivar instance_count: Instance count for the service. + :vartype instance_count: int + :ivar service_type: ServiceType for the service. Possible values include: + "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute", "MaterializedViewsBuilder". + :vartype service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType """ _validation = { @@ -7826,6 +11272,16 @@ def __init__( service_type: Optional[Union[str, "ServiceType"]] = None, **kwargs ): + """ + :keyword instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :paramtype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :keyword instance_count: Instance count for the service. + :paramtype instance_count: int + :keyword service_type: ServiceType for the service. Possible values include: + "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute", "MaterializedViewsBuilder". + :paramtype service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + """ super(ServiceResourceCreateUpdateParameters, self).__init__(**kwargs) self.instance_size = instance_size self.instance_count = instance_count @@ -7853,6 +11309,8 @@ def __init__( self, **kwargs ): + """ + """ super(ServiceResourceListResult, self).__init__(**kwargs) self.value = None @@ -7860,11 +11318,11 @@ def __init__( class SpatialSpec(msrest.serialization.Model): """SpatialSpec. - :param path: The path for which the indexing behavior applies to. Index paths typically start + :ivar path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*). - :type path: str - :param types: List of path's spatial type. - :type types: list[str or ~azure.mgmt.cosmosdb.models.SpatialType] + :vartype path: str + :ivar types: List of path's spatial type. + :vartype types: list[str or ~azure.mgmt.cosmosdb.models.SpatialType] """ _attribute_map = { @@ -7879,6 +11337,13 @@ def __init__( types: Optional[List[Union[str, "SpatialType"]]] = None, **kwargs ): + """ + :keyword path: The path for which the indexing behavior applies to. Index paths typically start + with root and end with wildcard (/path/*). + :paramtype path: str + :keyword types: List of path's spatial type. + :paramtype types: list[str or ~azure.mgmt.cosmosdb.models.SpatialType] + """ super(SpatialSpec, self).__init__(**kwargs) self.path = path self.types = types @@ -7897,22 +11362,22 @@ class SqlContainerCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a container. - :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a container. + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -7943,6 +11408,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a container. + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlContainerResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(SqlContainerCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -7951,11 +11434,11 @@ def __init__( class SqlContainerGetPropertiesOptions(OptionsResource): """SqlContainerGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -7970,6 +11453,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(SqlContainerGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -7980,23 +11470,23 @@ class SqlContainerGetPropertiesResource(ExtendedResourceProperties, SqlContainer All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL container. - :type id: str - :param indexing_policy: The configuration of the indexing policy. By default, the indexing is + :ivar id: Required. Name of the Cosmos DB SQL container. + :vartype id: str + :ivar indexing_policy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container. - :type indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy - :param partition_key: The configuration of the partition key to be used for partitioning data + :vartype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :ivar partition_key: The configuration of the partition key to be used for partitioning data into multiple partitions. - :type partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey - :param default_ttl: Default time to live. - :type default_ttl: int - :param unique_key_policy: The unique key policy configuration for specifying uniqueness + :vartype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :ivar default_ttl: Default time to live. + :vartype default_ttl: int + :ivar unique_key_policy: The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - :type unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy - :param conflict_resolution_policy: The conflict resolution policy for the container. - :type conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy - :param analytical_storage_ttl: Analytical TTL. - :type analytical_storage_ttl: long + :vartype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :ivar conflict_resolution_policy: The conflict resolution policy for the container. + :vartype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :ivar analytical_storage_ttl: Analytical TTL. + :vartype analytical_storage_ttl: long :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -8038,6 +11528,25 @@ def __init__( analytical_storage_ttl: Optional[int] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL container. + :paramtype id: str + :keyword indexing_policy: The configuration of the indexing policy. By default, the indexing is + automatic for all document paths within the container. + :paramtype indexing_policy: ~azure.mgmt.cosmosdb.models.IndexingPolicy + :keyword partition_key: The configuration of the partition key to be used for partitioning data + into multiple partitions. + :paramtype partition_key: ~azure.mgmt.cosmosdb.models.ContainerPartitionKey + :keyword default_ttl: Default time to live. + :paramtype default_ttl: int + :keyword unique_key_policy: The unique key policy configuration for specifying uniqueness + constraints on documents in the collection in the Azure Cosmos DB service. + :paramtype unique_key_policy: ~azure.mgmt.cosmosdb.models.UniqueKeyPolicy + :keyword conflict_resolution_policy: The conflict resolution policy for the container. + :paramtype conflict_resolution_policy: ~azure.mgmt.cosmosdb.models.ConflictResolutionPolicy + :keyword analytical_storage_ttl: Analytical TTL. + :paramtype analytical_storage_ttl: long + """ super(SqlContainerGetPropertiesResource, self).__init__(id=id, indexing_policy=indexing_policy, partition_key=partition_key, default_ttl=default_ttl, unique_key_policy=unique_key_policy, conflict_resolution_policy=conflict_resolution_policy, analytical_storage_ttl=analytical_storage_ttl, **kwargs) self.id = id self.indexing_policy = indexing_policy @@ -8062,21 +11571,21 @@ class SqlContainerGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesOptions """ _validation = { @@ -8106,6 +11615,23 @@ def __init__( options: Optional["SqlContainerGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.SqlContainerGetPropertiesOptions + """ super(SqlContainerGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -8132,6 +11658,8 @@ def __init__( self, **kwargs ): + """ + """ super(SqlContainerListResult, self).__init__(**kwargs) self.value = None @@ -8149,22 +11677,22 @@ class SqlDatabaseCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a SQL database. - :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a SQL database. + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -8195,6 +11723,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a SQL database. + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(SqlDatabaseCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -8203,11 +11749,11 @@ def __init__( class SqlDatabaseGetPropertiesOptions(OptionsResource): """SqlDatabaseGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -8222,18 +11768,23 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(SqlDatabaseGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) -class SqlDatabaseGetPropertiesResource(ExtendedResourceProperties, SqlDatabaseResource): +class SqlDatabaseGetPropertiesResource(SqlDatabaseResource, ExtendedResourceProperties): """SqlDatabaseGetPropertiesResource. 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 id: Required. Name of the Cosmos DB SQL database. - :type id: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -8241,26 +11792,28 @@ class SqlDatabaseGetPropertiesResource(ExtendedResourceProperties, SqlDatabaseRe :ivar etag: A system generated property representing the resource etag required for optimistic concurrency control. :vartype etag: str - :param colls: A system generated property that specified the addressable path of the - collections resource. - :type colls: str - :param users: A system generated property that specifies the addressable path of the users + :ivar id: Required. Name of the Cosmos DB SQL database. + :vartype id: str + :ivar colls: A system generated property that specified the addressable path of the collections + resource. + :vartype colls: str + :ivar users: A system generated property that specifies the addressable path of the users resource. - :type users: str + :vartype users: str """ _validation = { - 'id': {'required': True}, 'rid': {'readonly': True}, 'ts': {'readonly': True}, 'etag': {'readonly': True}, + 'id': {'required': True}, } _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, 'rid': {'key': '_rid', 'type': 'str'}, 'ts': {'key': '_ts', 'type': 'float'}, 'etag': {'key': '_etag', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, 'colls': {'key': '_colls', 'type': 'str'}, 'users': {'key': '_users', 'type': 'str'}, } @@ -8273,15 +11826,25 @@ def __init__( users: Optional[str] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL database. + :paramtype id: str + :keyword colls: A system generated property that specified the addressable path of the + collections resource. + :paramtype colls: str + :keyword users: A system generated property that specifies the addressable path of the users + resource. + :paramtype users: str + """ super(SqlDatabaseGetPropertiesResource, self).__init__(id=id, **kwargs) - self.id = id - self.colls = colls - self.users = users self.rid = None self.ts = None self.etag = None self.colls = colls self.users = users + self.id = id + self.colls = colls + self.users = users class SqlDatabaseGetResults(ARMResourceProperties): @@ -8295,21 +11858,21 @@ class SqlDatabaseGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesOptions """ _validation = { @@ -8339,6 +11902,23 @@ def __init__( options: Optional["SqlDatabaseGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.SqlDatabaseGetPropertiesOptions + """ super(SqlDatabaseGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -8365,6 +11945,8 @@ def __init__( self, **kwargs ): + """ + """ super(SqlDatabaseListResult, self).__init__(**kwargs) self.value = None @@ -8403,6 +11985,8 @@ def __init__( self, **kwargs ): + """ + """ super(SqlDedicatedGatewayRegionalServiceResource, self).__init__(**kwargs) self.sql_dedicated_gateway_endpoint = None @@ -8410,8 +11994,8 @@ def __init__( class SqlDedicatedGatewayServiceResource(msrest.serialization.Model): """Describes the service response property for SqlDedicatedGateway. - :param properties: Properties for SqlDedicatedGatewayServiceResource. - :type properties: ~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayServiceResourceProperties + :ivar properties: Properties for SqlDedicatedGatewayServiceResource. + :vartype properties: ~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayServiceResourceProperties """ _attribute_map = { @@ -8424,6 +12008,10 @@ def __init__( properties: Optional["SqlDedicatedGatewayServiceResourceProperties"] = None, **kwargs ): + """ + :keyword properties: Properties for SqlDedicatedGatewayServiceResource. + :paramtype properties: ~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayServiceResourceProperties + """ super(SqlDedicatedGatewayServiceResource, self).__init__(**kwargs) self.properties = properties @@ -8435,24 +12023,25 @@ class SqlDedicatedGatewayServiceResourceProperties(ServiceResourceProperties): All required parameters must be populated in order to send to Azure. - :param additional_properties: Unmatched properties from the message are deserialized to this + :ivar additional_properties: Unmatched properties from the message are deserialized to this collection. - :type additional_properties: dict[str, any] + :vartype additional_properties: dict[str, any] :ivar creation_time: Time of the last state change (ISO-8601 format). :vartype creation_time: ~datetime.datetime - :param instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + :ivar instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", "Cosmos.D8s", "Cosmos.D16s". - :type instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize - :param instance_count: Instance count for the service. - :type instance_count: int - :param service_type: Required. ServiceType for the service. Possible values include: - "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute". - :type service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType + :vartype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :ivar instance_count: Instance count for the service. + :vartype instance_count: int + :ivar service_type: Required. ServiceType for the service.Constant filled by server. Possible + values include: "SqlDedicatedGateway", "DataTransfer", "GraphAPICompute", + "MaterializedViewsBuilder". + :vartype service_type: str or ~azure.mgmt.cosmosdb.models.ServiceType :ivar status: Describes the status of a service. Possible values include: "Creating", "Running", "Updating", "Deleting", "Error", "Stopped". :vartype status: str or ~azure.mgmt.cosmosdb.models.ServiceStatus - :param sql_dedicated_gateway_endpoint: SqlDedicatedGateway endpoint for the service. - :type sql_dedicated_gateway_endpoint: str + :ivar sql_dedicated_gateway_endpoint: SqlDedicatedGateway endpoint for the service. + :vartype sql_dedicated_gateway_endpoint: str :ivar locations: An array that contains all of the locations for the service. :vartype locations: list[~azure.mgmt.cosmosdb.models.SqlDedicatedGatewayRegionalServiceResource] @@ -8480,14 +12069,26 @@ class SqlDedicatedGatewayServiceResourceProperties(ServiceResourceProperties): def __init__( self, *, - service_type: Union[str, "ServiceType"], additional_properties: Optional[Dict[str, Any]] = None, instance_size: Optional[Union[str, "ServiceSize"]] = None, instance_count: Optional[int] = None, sql_dedicated_gateway_endpoint: Optional[str] = None, **kwargs ): - super(SqlDedicatedGatewayServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, service_type=service_type, **kwargs) + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword instance_size: Instance type for the service. Possible values include: "Cosmos.D4s", + "Cosmos.D8s", "Cosmos.D16s". + :paramtype instance_size: str or ~azure.mgmt.cosmosdb.models.ServiceSize + :keyword instance_count: Instance count for the service. + :paramtype instance_count: int + :keyword sql_dedicated_gateway_endpoint: SqlDedicatedGateway endpoint for the service. + :paramtype sql_dedicated_gateway_endpoint: str + """ + super(SqlDedicatedGatewayServiceResourceProperties, self).__init__(additional_properties=additional_properties, instance_size=instance_size, instance_count=instance_count, **kwargs) + self.service_type = 'SqlDedicatedGateway' # type: str self.sql_dedicated_gateway_endpoint = sql_dedicated_gateway_endpoint self.locations = None @@ -8495,15 +12096,15 @@ def __init__( class SqlRoleAssignmentCreateUpdateParameters(msrest.serialization.Model): """Parameters to create and update an Azure Cosmos DB SQL Role Assignment. - :param role_definition_id: The unique identifier for the associated Role Definition. - :type role_definition_id: str - :param scope: The data plane resource path for which access is being granted through this Role + :ivar role_definition_id: The unique identifier for the associated Role Definition. + :vartype role_definition_id: str + :ivar scope: The data plane resource path for which access is being granted through this Role Assignment. - :type scope: str - :param principal_id: The unique identifier for the associated AAD principal in the AAD graph to + :vartype scope: str + :ivar principal_id: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. - :type principal_id: str + :vartype principal_id: str """ _attribute_map = { @@ -8520,6 +12121,17 @@ def __init__( principal_id: Optional[str] = None, **kwargs ): + """ + :keyword role_definition_id: The unique identifier for the associated Role Definition. + :paramtype role_definition_id: str + :keyword scope: The data plane resource path for which access is being granted through this + Role Assignment. + :paramtype scope: str + :keyword principal_id: The unique identifier for the associated AAD principal in the AAD graph + to which access is being granted through this Role Assignment. Tenant ID for the principal is + inferred using the tenant associated with the subscription. + :paramtype principal_id: str + """ super(SqlRoleAssignmentCreateUpdateParameters, self).__init__(**kwargs) self.role_definition_id = role_definition_id self.scope = scope @@ -8537,15 +12149,15 @@ class SqlRoleAssignmentGetResults(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param role_definition_id: The unique identifier for the associated Role Definition. - :type role_definition_id: str - :param scope: The data plane resource path for which access is being granted through this Role + :ivar role_definition_id: The unique identifier for the associated Role Definition. + :vartype role_definition_id: str + :ivar scope: The data plane resource path for which access is being granted through this Role Assignment. - :type scope: str - :param principal_id: The unique identifier for the associated AAD principal in the AAD graph to + :vartype scope: str + :ivar principal_id: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. - :type principal_id: str + :vartype principal_id: str """ _validation = { @@ -8571,6 +12183,17 @@ def __init__( principal_id: Optional[str] = None, **kwargs ): + """ + :keyword role_definition_id: The unique identifier for the associated Role Definition. + :paramtype role_definition_id: str + :keyword scope: The data plane resource path for which access is being granted through this + Role Assignment. + :paramtype scope: str + :keyword principal_id: The unique identifier for the associated AAD principal in the AAD graph + to which access is being granted through this Role Assignment. Tenant ID for the principal is + inferred using the tenant associated with the subscription. + :paramtype principal_id: str + """ super(SqlRoleAssignmentGetResults, self).__init__(**kwargs) self.role_definition_id = role_definition_id self.scope = scope @@ -8598,6 +12221,8 @@ def __init__( self, **kwargs ): + """ + """ super(SqlRoleAssignmentListResult, self).__init__(**kwargs) self.value = None @@ -8605,20 +12230,20 @@ def __init__( class SqlRoleDefinitionCreateUpdateParameters(msrest.serialization.Model): """Parameters to create and update an Azure Cosmos DB SQL Role Definition. - :param role_name: A user-friendly name for the Role Definition. Must be unique for the database + :ivar role_name: A user-friendly name for the Role Definition. Must be unique for the database account. - :type role_name: str - :param type: Indicates whether the Role Definition was built-in or user created. Possible - values include: "BuiltInRole", "CustomRole". - :type type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType - :param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments - may be created using this Role Definition. This will allow application of this Role Definition - on the entire database account or any underlying Database / Collection. Must have at least one + :vartype role_name: str + :ivar type: Indicates whether the Role Definition was built-in or user created. Possible values + include: "BuiltInRole", "CustomRole". + :vartype type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType + :ivar assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments may + be created using this Role Definition. This will allow application of this Role Definition on + the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist. - :type assignable_scopes: list[str] - :param permissions: The set of operations allowed through this Role Definition. - :type permissions: list[~azure.mgmt.cosmosdb.models.Permission] + :vartype assignable_scopes: list[str] + :ivar permissions: The set of operations allowed through this Role Definition. + :vartype permissions: list[~azure.mgmt.cosmosdb.models.Permission] """ _attribute_map = { @@ -8637,6 +12262,22 @@ def __init__( permissions: Optional[List["Permission"]] = None, **kwargs ): + """ + :keyword role_name: A user-friendly name for the Role Definition. Must be unique for the + database account. + :paramtype role_name: str + :keyword type: Indicates whether the Role Definition was built-in or user created. Possible + values include: "BuiltInRole", "CustomRole". + :paramtype type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType + :keyword assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments + may be created using this Role Definition. This will allow application of this Role Definition + on the entire database account or any underlying Database / Collection. Must have at least one + element. Scopes higher than Database account are not enforceable as assignable Scopes. Note + that resources referenced in assignable Scopes need not exist. + :paramtype assignable_scopes: list[str] + :keyword permissions: The set of operations allowed through this Role Definition. + :paramtype permissions: list[~azure.mgmt.cosmosdb.models.Permission] + """ super(SqlRoleDefinitionCreateUpdateParameters, self).__init__(**kwargs) self.role_name = role_name self.type = type @@ -8655,20 +12296,20 @@ class SqlRoleDefinitionGetResults(ARMProxyResource): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param role_name: A user-friendly name for the Role Definition. Must be unique for the database + :ivar role_name: A user-friendly name for the Role Definition. Must be unique for the database account. - :type role_name: str - :param type_properties_type: Indicates whether the Role Definition was built-in or user - created. Possible values include: "BuiltInRole", "CustomRole". - :type type_properties_type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType - :param assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments - may be created using this Role Definition. This will allow application of this Role Definition - on the entire database account or any underlying Database / Collection. Must have at least one + :vartype role_name: str + :ivar type_properties_type: Indicates whether the Role Definition was built-in or user created. + Possible values include: "BuiltInRole", "CustomRole". + :vartype type_properties_type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType + :ivar assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments may + be created using this Role Definition. This will allow application of this Role Definition on + the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist. - :type assignable_scopes: list[str] - :param permissions: The set of operations allowed through this Role Definition. - :type permissions: list[~azure.mgmt.cosmosdb.models.Permission] + :vartype assignable_scopes: list[str] + :ivar permissions: The set of operations allowed through this Role Definition. + :vartype permissions: list[~azure.mgmt.cosmosdb.models.Permission] """ _validation = { @@ -8696,6 +12337,22 @@ def __init__( permissions: Optional[List["Permission"]] = None, **kwargs ): + """ + :keyword role_name: A user-friendly name for the Role Definition. Must be unique for the + database account. + :paramtype role_name: str + :keyword type_properties_type: Indicates whether the Role Definition was built-in or user + created. Possible values include: "BuiltInRole", "CustomRole". + :paramtype type_properties_type: str or ~azure.mgmt.cosmosdb.models.RoleDefinitionType + :keyword assignable_scopes: A set of fully qualified Scopes at or below which Role Assignments + may be created using this Role Definition. This will allow application of this Role Definition + on the entire database account or any underlying Database / Collection. Must have at least one + element. Scopes higher than Database account are not enforceable as assignable Scopes. Note + that resources referenced in assignable Scopes need not exist. + :paramtype assignable_scopes: list[str] + :keyword permissions: The set of operations allowed through this Role Definition. + :paramtype permissions: list[~azure.mgmt.cosmosdb.models.Permission] + """ super(SqlRoleDefinitionGetResults, self).__init__(**kwargs) self.role_name = role_name self.type_properties_type = type_properties_type @@ -8724,6 +12381,8 @@ def __init__( self, **kwargs ): + """ + """ super(SqlRoleDefinitionListResult, self).__init__(**kwargs) self.value = None @@ -8741,22 +12400,22 @@ class SqlStoredProcedureCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a storedProcedure. - :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a storedProcedure. + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -8787,6 +12446,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a storedProcedure. + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(SqlStoredProcedureCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -8797,10 +12474,10 @@ class SqlStoredProcedureResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL storedProcedure. - :type id: str - :param body: Body of the Stored Procedure. - :type body: str + :ivar id: Required. Name of the Cosmos DB SQL storedProcedure. + :vartype id: str + :ivar body: Body of the Stored Procedure. + :vartype body: str """ _validation = { @@ -8819,6 +12496,12 @@ def __init__( body: Optional[str] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL storedProcedure. + :paramtype id: str + :keyword body: Body of the Stored Procedure. + :paramtype body: str + """ super(SqlStoredProcedureResource, self).__init__(**kwargs) self.id = id self.body = body @@ -8831,10 +12514,10 @@ class SqlStoredProcedureGetPropertiesResource(ExtendedResourceProperties, SqlSto All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL storedProcedure. - :type id: str - :param body: Body of the Stored Procedure. - :type body: str + :ivar id: Required. Name of the Cosmos DB SQL storedProcedure. + :vartype id: str + :ivar body: Body of the Stored Procedure. + :vartype body: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -8866,6 +12549,12 @@ def __init__( body: Optional[str] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL storedProcedure. + :paramtype id: str + :keyword body: Body of the Stored Procedure. + :paramtype body: str + """ super(SqlStoredProcedureGetPropertiesResource, self).__init__(id=id, body=body, **kwargs) self.id = id self.body = body @@ -8885,19 +12574,19 @@ class SqlStoredProcedureGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource """ _validation = { @@ -8925,6 +12614,21 @@ def __init__( resource: Optional["SqlStoredProcedureGetPropertiesResource"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetPropertiesResource + """ super(SqlStoredProcedureGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource @@ -8950,6 +12654,8 @@ def __init__( self, **kwargs ): + """ + """ super(SqlStoredProcedureListResult, self).__init__(**kwargs) self.value = None @@ -8967,22 +12673,22 @@ class SqlTriggerCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a trigger. - :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a trigger. + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -9013,6 +12719,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a trigger. + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlTriggerResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(SqlTriggerCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -9023,15 +12747,15 @@ class SqlTriggerResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL trigger. - :type id: str - :param body: Body of the Trigger. - :type body: str - :param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". - :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType - :param trigger_operation: The operation the trigger is associated with. Possible values - include: "All", "Create", "Update", "Delete", "Replace". - :type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation + :ivar id: Required. Name of the Cosmos DB SQL trigger. + :vartype id: str + :ivar body: Body of the Trigger. + :vartype body: str + :ivar trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". + :vartype trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType + :ivar trigger_operation: The operation the trigger is associated with. Possible values include: + "All", "Create", "Update", "Delete", "Replace". + :vartype trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation """ _validation = { @@ -9054,6 +12778,17 @@ def __init__( trigger_operation: Optional[Union[str, "TriggerOperation"]] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL trigger. + :paramtype id: str + :keyword body: Body of the Trigger. + :paramtype body: str + :keyword trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". + :paramtype trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType + :keyword trigger_operation: The operation the trigger is associated with. Possible values + include: "All", "Create", "Update", "Delete", "Replace". + :paramtype trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation + """ super(SqlTriggerResource, self).__init__(**kwargs) self.id = id self.body = body @@ -9068,15 +12803,15 @@ class SqlTriggerGetPropertiesResource(ExtendedResourceProperties, SqlTriggerReso All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL trigger. - :type id: str - :param body: Body of the Trigger. - :type body: str - :param trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". - :type trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType - :param trigger_operation: The operation the trigger is associated with. Possible values - include: "All", "Create", "Update", "Delete", "Replace". - :type trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation + :ivar id: Required. Name of the Cosmos DB SQL trigger. + :vartype id: str + :ivar body: Body of the Trigger. + :vartype body: str + :ivar trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". + :vartype trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType + :ivar trigger_operation: The operation the trigger is associated with. Possible values include: + "All", "Create", "Update", "Delete", "Replace". + :vartype trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -9112,6 +12847,17 @@ def __init__( trigger_operation: Optional[Union[str, "TriggerOperation"]] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL trigger. + :paramtype id: str + :keyword body: Body of the Trigger. + :paramtype body: str + :keyword trigger_type: Type of the Trigger. Possible values include: "Pre", "Post". + :paramtype trigger_type: str or ~azure.mgmt.cosmosdb.models.TriggerType + :keyword trigger_operation: The operation the trigger is associated with. Possible values + include: "All", "Create", "Update", "Delete", "Replace". + :paramtype trigger_operation: str or ~azure.mgmt.cosmosdb.models.TriggerOperation + """ super(SqlTriggerGetPropertiesResource, self).__init__(id=id, body=body, trigger_type=trigger_type, trigger_operation=trigger_operation, **kwargs) self.id = id self.body = body @@ -9133,19 +12879,19 @@ class SqlTriggerGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource """ _validation = { @@ -9173,6 +12919,21 @@ def __init__( resource: Optional["SqlTriggerGetPropertiesResource"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlTriggerGetPropertiesResource + """ super(SqlTriggerGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource @@ -9198,6 +12959,8 @@ def __init__( self, **kwargs ): + """ + """ super(SqlTriggerListResult, self).__init__(**kwargs) self.value = None @@ -9215,22 +12978,22 @@ class SqlUserDefinedFunctionCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a userDefinedFunction. - :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a userDefinedFunction. + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -9261,6 +13024,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a userDefinedFunction. + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(SqlUserDefinedFunctionCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -9271,10 +13052,10 @@ class SqlUserDefinedFunctionResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL userDefinedFunction. - :type id: str - :param body: Body of the User Defined Function. - :type body: str + :ivar id: Required. Name of the Cosmos DB SQL userDefinedFunction. + :vartype id: str + :ivar body: Body of the User Defined Function. + :vartype body: str """ _validation = { @@ -9293,6 +13074,12 @@ def __init__( body: Optional[str] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL userDefinedFunction. + :paramtype id: str + :keyword body: Body of the User Defined Function. + :paramtype body: str + """ super(SqlUserDefinedFunctionResource, self).__init__(**kwargs) self.id = id self.body = body @@ -9305,10 +13092,10 @@ class SqlUserDefinedFunctionGetPropertiesResource(ExtendedResourceProperties, Sq All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB SQL userDefinedFunction. - :type id: str - :param body: Body of the User Defined Function. - :type body: str + :ivar id: Required. Name of the Cosmos DB SQL userDefinedFunction. + :vartype id: str + :ivar body: Body of the User Defined Function. + :vartype body: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -9340,6 +13127,12 @@ def __init__( body: Optional[str] = None, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB SQL userDefinedFunction. + :paramtype id: str + :keyword body: Body of the User Defined Function. + :paramtype body: str + """ super(SqlUserDefinedFunctionGetPropertiesResource, self).__init__(id=id, body=body, **kwargs) self.id = id self.body = body @@ -9359,19 +13152,19 @@ class SqlUserDefinedFunctionGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource """ _validation = { @@ -9399,6 +13192,21 @@ def __init__( resource: Optional["SqlUserDefinedFunctionGetPropertiesResource"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetPropertiesResource + """ super(SqlUserDefinedFunctionGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource @@ -9424,6 +13232,8 @@ def __init__( self, **kwargs ): + """ + """ super(SqlUserDefinedFunctionListResult, self).__init__(**kwargs) self.value = None @@ -9431,20 +13241,20 @@ def __init__( 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.mgmt.cosmosdb.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 + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar 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.cosmosdb.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :vartype last_modified_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -9467,6 +13277,22 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or ~azure.mgmt.cosmosdb.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type @@ -9489,22 +13315,22 @@ class TableCreateUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a Table. - :type resource: ~azure.mgmt.cosmosdb.models.TableResource - :param options: A key-value pair of options to be applied for the request. This corresponds to + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a Table. + :vartype resource: ~azure.mgmt.cosmosdb.models.TableResource + :ivar options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. - :type options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + :vartype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions """ _validation = { @@ -9535,6 +13361,24 @@ def __init__( options: Optional["CreateUpdateOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a Table. + :paramtype resource: ~azure.mgmt.cosmosdb.models.TableResource + :keyword options: A key-value pair of options to be applied for the request. This corresponds + to the headers sent with the request. + :paramtype options: ~azure.mgmt.cosmosdb.models.CreateUpdateOptions + """ super(TableCreateUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -9543,11 +13387,11 @@ def __init__( class TableGetPropertiesOptions(OptionsResource): """TableGetPropertiesOptions. - :param throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + :ivar throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details. - :type throughput: int - :param autoscale_settings: Specifies the Autoscale settings. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + :vartype throughput: int + :ivar autoscale_settings: Specifies the Autoscale settings. + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings """ _attribute_map = { @@ -9562,6 +13406,13 @@ def __init__( autoscale_settings: Optional["AutoscaleSettings"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the + ThroughputSetting resource when retrieving offer details. + :paramtype throughput: int + :keyword autoscale_settings: Specifies the Autoscale settings. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettings + """ super(TableGetPropertiesOptions, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) @@ -9570,8 +13421,8 @@ class TableResource(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB table. - :type id: str + :ivar id: Required. Name of the Cosmos DB table. + :vartype id: str """ _validation = { @@ -9588,6 +13439,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB table. + :paramtype id: str + """ super(TableResource, self).__init__(**kwargs) self.id = id @@ -9599,8 +13454,8 @@ class TableGetPropertiesResource(ExtendedResourceProperties, TableResource): All required parameters must be populated in order to send to Azure. - :param id: Required. Name of the Cosmos DB table. - :type id: str + :ivar id: Required. Name of the Cosmos DB table. + :vartype id: str :ivar rid: A system generated property. A unique identifier. :vartype rid: str :ivar ts: A system generated property that denotes the last updated timestamp of the resource. @@ -9630,6 +13485,10 @@ def __init__( id: str, **kwargs ): + """ + :keyword id: Required. Name of the Cosmos DB table. + :paramtype id: str + """ super(TableGetPropertiesResource, self).__init__(id=id, **kwargs) self.id = id self.rid = None @@ -9648,21 +13507,21 @@ class TableGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.TableGetPropertiesResource - :param options: - :type options: ~azure.mgmt.cosmosdb.models.TableGetPropertiesOptions + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.TableGetPropertiesResource + :ivar options: + :vartype options: ~azure.mgmt.cosmosdb.models.TableGetPropertiesOptions """ _validation = { @@ -9692,6 +13551,23 @@ def __init__( options: Optional["TableGetPropertiesOptions"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.TableGetPropertiesResource + :keyword options: + :paramtype options: ~azure.mgmt.cosmosdb.models.TableGetPropertiesOptions + """ super(TableGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource self.options = options @@ -9718,6 +13594,8 @@ def __init__( self, **kwargs ): + """ + """ super(TableListResult, self).__init__(**kwargs) self.value = None @@ -9725,11 +13603,11 @@ def __init__( class ThroughputPolicyResource(msrest.serialization.Model): """Cosmos DB resource throughput policy. - :param is_enabled: Determines whether the ThroughputPolicy is active or not. - :type is_enabled: bool - :param increment_percent: Represents the percentage by which throughput can increase every time + :ivar is_enabled: Determines whether the ThroughputPolicy is active or not. + :vartype is_enabled: bool + :ivar increment_percent: Represents the percentage by which throughput can increase every time throughput policy kicks in. - :type increment_percent: int + :vartype increment_percent: int """ _attribute_map = { @@ -9744,6 +13622,13 @@ def __init__( increment_percent: Optional[int] = None, **kwargs ): + """ + :keyword is_enabled: Determines whether the ThroughputPolicy is active or not. + :paramtype is_enabled: bool + :keyword increment_percent: Represents the percentage by which throughput can increase every + time throughput policy kicks in. + :paramtype increment_percent: int + """ super(ThroughputPolicyResource, self).__init__(**kwargs) self.is_enabled = is_enabled self.increment_percent = increment_percent @@ -9754,12 +13639,12 @@ class ThroughputSettingsResource(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or + :ivar throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both. - :type throughput: int - :param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is + :vartype throughput: int + :ivar autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource :ivar minimum_throughput: The minimum throughput of the resource. :vartype minimum_throughput: str :ivar offer_replace_pending: The throughput replace is pending. @@ -9785,6 +13670,14 @@ def __init__( autoscale_settings: Optional["AutoscaleSettingsResource"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput. Either throughput is required + or autoscaleSettings is required, but not both. + :paramtype throughput: int + :keyword autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is + required or autoscaleSettings is required, but not both. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource + """ super(ThroughputSettingsResource, self).__init__(**kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings @@ -9797,12 +13690,12 @@ class ThroughputSettingsGetPropertiesResource(ExtendedResourceProperties, Throug Variables are only populated by the server, and will be ignored when sending a request. - :param throughput: Value of the Cosmos DB resource throughput. Either throughput is required or + :ivar throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both. - :type throughput: int - :param autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is + :vartype throughput: int + :ivar autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both. - :type autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource + :vartype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource :ivar minimum_throughput: The minimum throughput of the resource. :vartype minimum_throughput: str :ivar offer_replace_pending: The throughput replace is pending. @@ -9841,6 +13734,14 @@ def __init__( autoscale_settings: Optional["AutoscaleSettingsResource"] = None, **kwargs ): + """ + :keyword throughput: Value of the Cosmos DB resource throughput. Either throughput is required + or autoscaleSettings is required, but not both. + :paramtype throughput: int + :keyword autoscale_settings: Cosmos DB resource for autoscale settings. Either throughput is + required or autoscaleSettings is required, but not both. + :paramtype autoscale_settings: ~azure.mgmt.cosmosdb.models.AutoscaleSettingsResource + """ super(ThroughputSettingsGetPropertiesResource, self).__init__(throughput=throughput, autoscale_settings=autoscale_settings, **kwargs) self.throughput = throughput self.autoscale_settings = autoscale_settings @@ -9862,19 +13763,19 @@ class ThroughputSettingsGetResults(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: - :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: + :vartype resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource """ _validation = { @@ -9902,6 +13803,21 @@ def __init__( resource: Optional["ThroughputSettingsGetPropertiesResource"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: + :paramtype resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsGetPropertiesResource + """ super(ThroughputSettingsGetResults, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource @@ -9919,19 +13835,19 @@ class ThroughputSettingsUpdateParameters(ARMResourceProperties): :vartype name: str :ivar type: The type of Azure resource. :vartype type: str - :param location: The location of the resource group to which the resource belongs. - :type location: str - :param tags: A set of tags. Tags are a list of key-value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 - characters and value no greater than 256 characters. For example, the default experience for a - template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values - also include "Table", "Graph", "DocumentDB", and "MongoDB". - :type tags: dict[str, str] - :param identity: Identity for the resource. - :type identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity - :param resource: Required. The standard JSON format of a resource throughput. - :type resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource + :ivar location: The location of the resource group to which the resource belongs. + :vartype location: str + :ivar tags: A set of tags. Tags are a list of key-value pairs that describe the resource. These + tags can be used in viewing and grouping this resource (across resource groups). A maximum of + 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters + and value no greater than 256 characters. For example, the default experience for a template + type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also + include "Table", "Graph", "DocumentDB", and "MongoDB". + :vartype tags: dict[str, str] + :ivar identity: Identity for the resource. + :vartype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :ivar resource: Required. The standard JSON format of a resource throughput. + :vartype resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource """ _validation = { @@ -9960,6 +13876,21 @@ def __init__( identity: Optional["ManagedServiceIdentity"] = None, **kwargs ): + """ + :keyword location: The location of the resource group to which the resource belongs. + :paramtype location: str + :keyword tags: A set of tags. Tags are a list of key-value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 + characters and value no greater than 256 characters. For example, the default experience for a + template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values + also include "Table", "Graph", "DocumentDB", and "MongoDB". + :paramtype tags: dict[str, str] + :keyword identity: Identity for the resource. + :paramtype identity: ~azure.mgmt.cosmosdb.models.ManagedServiceIdentity + :keyword resource: Required. The standard JSON format of a resource throughput. + :paramtype resource: ~azure.mgmt.cosmosdb.models.ThroughputSettingsResource + """ super(ThroughputSettingsUpdateParameters, self).__init__(location=location, tags=tags, identity=identity, **kwargs) self.resource = resource @@ -9967,8 +13898,8 @@ def __init__( class UniqueKey(msrest.serialization.Model): """The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - :param paths: List of paths must be unique for each document in the Azure Cosmos DB service. - :type paths: list[str] + :ivar paths: List of paths must be unique for each document in the Azure Cosmos DB service. + :vartype paths: list[str] """ _attribute_map = { @@ -9981,6 +13912,10 @@ def __init__( paths: Optional[List[str]] = None, **kwargs ): + """ + :keyword paths: List of paths must be unique for each document in the Azure Cosmos DB service. + :paramtype paths: list[str] + """ super(UniqueKey, self).__init__(**kwargs) self.paths = paths @@ -9988,9 +13923,9 @@ def __init__( class UniqueKeyPolicy(msrest.serialization.Model): """The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. - :param unique_keys: List of unique keys on that enforces uniqueness constraint on documents in + :ivar unique_keys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - :type unique_keys: list[~azure.mgmt.cosmosdb.models.UniqueKey] + :vartype unique_keys: list[~azure.mgmt.cosmosdb.models.UniqueKey] """ _attribute_map = { @@ -10003,6 +13938,11 @@ def __init__( unique_keys: Optional[List["UniqueKey"]] = None, **kwargs ): + """ + :keyword unique_keys: List of unique keys on that enforces uniqueness constraint on documents + in the collection in the Azure Cosmos DB service. + :paramtype unique_keys: list[~azure.mgmt.cosmosdb.models.UniqueKey] + """ super(UniqueKeyPolicy, self).__init__(**kwargs) self.unique_keys = unique_keys @@ -10028,6 +13968,8 @@ def __init__( self, **kwargs ): + """ + """ super(UsagesResult, self).__init__(**kwargs) self.value = None @@ -10035,12 +13977,12 @@ def __init__( class VirtualNetworkRule(msrest.serialization.Model): """Virtual Network ACL Rule object. - :param id: Resource ID of a subnet, for example: + :ivar id: Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - :type id: str - :param ignore_missing_v_net_service_endpoint: Create firewall rule before the virtual network + :vartype id: str + :ivar ignore_missing_v_net_service_endpoint: Create firewall rule before the virtual network has vnet service endpoint enabled. - :type ignore_missing_v_net_service_endpoint: bool + :vartype ignore_missing_v_net_service_endpoint: bool """ _attribute_map = { @@ -10055,6 +13997,14 @@ def __init__( ignore_missing_v_net_service_endpoint: Optional[bool] = None, **kwargs ): + """ + :keyword id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + :paramtype id: str + :keyword ignore_missing_v_net_service_endpoint: Create firewall rule before the virtual network + has vnet service endpoint enabled. + :paramtype ignore_missing_v_net_service_endpoint: bool + """ super(VirtualNetworkRule, self).__init__(**kwargs) self.id = id self.ignore_missing_v_net_service_endpoint = ignore_missing_v_net_service_endpoint diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/__init__.py index a7c7808a801..5839e943283 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/__init__.py @@ -25,7 +25,10 @@ from ._table_resources_operations import TableResourcesOperations from ._cassandra_resources_operations import CassandraResourcesOperations from ._gremlin_resources_operations import GremlinResourcesOperations -from ._cosmos_db_management_client_operations import CosmosDBManagementClientOperationsMixin +from ._locations_operations import LocationsOperations +from ._data_transfer_jobs_operations import DataTransferJobsOperations +from ._cassandra_clusters_operations import CassandraClustersOperations +from ._cassandra_data_centers_operations import CassandraDataCentersOperations from ._notebook_workspaces_operations import NotebookWorkspacesOperations from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations from ._private_link_resources_operations import PrivateLinkResourcesOperations @@ -36,8 +39,11 @@ from ._restorable_mongodb_databases_operations import RestorableMongodbDatabasesOperations from ._restorable_mongodb_collections_operations import RestorableMongodbCollectionsOperations from ._restorable_mongodb_resources_operations import RestorableMongodbResourcesOperations -from ._cassandra_clusters_operations import CassandraClustersOperations -from ._cassandra_data_centers_operations import CassandraDataCentersOperations +from ._restorable_gremlin_databases_operations import RestorableGremlinDatabasesOperations +from ._restorable_gremlin_graphs_operations import RestorableGremlinGraphsOperations +from ._restorable_gremlin_resources_operations import RestorableGremlinResourcesOperations +from ._restorable_tables_operations import RestorableTablesOperations +from ._restorable_table_resources_operations import RestorableTableResourcesOperations from ._service_operations import ServiceOperations __all__ = [ @@ -60,7 +66,10 @@ 'TableResourcesOperations', 'CassandraResourcesOperations', 'GremlinResourcesOperations', - 'CosmosDBManagementClientOperationsMixin', + 'LocationsOperations', + 'DataTransferJobsOperations', + 'CassandraClustersOperations', + 'CassandraDataCentersOperations', 'NotebookWorkspacesOperations', 'PrivateEndpointConnectionsOperations', 'PrivateLinkResourcesOperations', @@ -71,7 +80,10 @@ 'RestorableMongodbDatabasesOperations', 'RestorableMongodbCollectionsOperations', 'RestorableMongodbResourcesOperations', - 'CassandraClustersOperations', - 'CassandraDataCentersOperations', + 'RestorableGremlinDatabasesOperations', + 'RestorableGremlinGraphsOperations', + 'RestorableGremlinResourcesOperations', + 'RestorableTablesOperations', + 'RestorableTableResourcesOperations', 'ServiceOperations', ] diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_clusters_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_clusters_operations.py index a0e0f51b58d..1c937bfc8d3 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_clusters_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_clusters_operations.py @@ -5,25 +5,471 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_subscription_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/cassandraClusters') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_by_resource_group_request( + subscription_id: str, + resource_group_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_invoke_command_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_backups_request( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_backup_request( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + backup_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + "backupId": _SERIALIZER.url("backup_id", backup_id, 'str', max_length=15, min_length=1, pattern=r'^[0-9]+$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_deallocate_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_start_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/start') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_status_request( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/status') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class CassandraClustersOperations(object): """CassandraClustersOperations operations. @@ -47,11 +493,11 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_by_subscription( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ListClusters"] + **kwargs: Any + ) -> Iterable["_models.ListClusters"]: """List all managed Cassandra clusters in this subscription. :keyword callable cls: A custom type or function that will be passed the direct response @@ -64,34 +510,29 @@ def list_by_subscription( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + template_url=self.list_by_subscription.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ListClusters', pipeline_response) + deserialized = self._deserialize("ListClusters", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -109,17 +550,18 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/cassandraClusters'} # type: ignore + @distributed_trace def list_by_resource_group( self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ListClusters"] + resource_group_name: str, + **kwargs: Any + ) -> Iterable["_models.ListClusters"]: """List all managed Cassandra clusters in this resource group. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -134,35 +576,31 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - } - url = self._client.format_url(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) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ListClusters', pipeline_response) + deserialized = self._deserialize("ListClusters", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -180,18 +618,19 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ClusterResource" + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> "_models.ClusterResource": """Get the properties of a managed Cassandra cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -208,27 +647,17 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -242,41 +671,32 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> 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-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -289,13 +709,14 @@ def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes a managed Cassandra cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -304,15 +725,17 @@ def begin_delete( :type cluster_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -326,21 +749,14 @@ def begin_delete( 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -352,47 +768,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore def _create_update_initial( self, - resource_group_name, # type: str - cluster_name, # type: str - body, # type: "_models.ClusterResource" - **kwargs # type: Any - ): - # type: (...) -> "_models.ClusterResource" + resource_group_name: str, + cluster_name: str, + body: "_models.ClusterResource", + **kwargs: Any + ) -> "_models.ClusterResource": cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(body, 'ClusterResource') + + request = build_create_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + content_type=content_type, + json=_json, + template_url=self._create_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'ClusterResource') - 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 @@ -410,16 +816,18 @@ def _create_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + @distributed_trace def begin_create_update( self, - resource_group_name, # type: str - cluster_name, # type: str - body, # type: "_models.ClusterResource" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ClusterResource"] + resource_group_name: str, + cluster_name: str, + body: "_models.ClusterResource", + **kwargs: Any + ) -> LROPoller["_models.ClusterResource"]: """Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update only some properties, use PATCH. @@ -431,15 +839,19 @@ def begin_create_update( :type body: ~azure.mgmt.cosmosdb.models.ClusterResource :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ClusterResource or the result of cls(response) + :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 ClusterResource or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ClusterResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -451,27 +863,21 @@ def begin_create_update( resource_group_name=resource_group_name, cluster_name=cluster_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ClusterResource', 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -483,47 +889,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore def _update_initial( self, - resource_group_name, # type: str - cluster_name, # type: str - body, # type: "_models.ClusterResource" - **kwargs # type: Any - ): - # type: (...) -> "_models.ClusterResource" + resource_group_name: str, + cluster_name: str, + body: "_models.ClusterResource", + **kwargs: Any + ) -> "_models.ClusterResource": cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(body, 'ClusterResource') - # 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') + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'ClusterResource') - 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 @@ -541,16 +937,18 @@ def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore + + @distributed_trace def begin_update( self, - resource_group_name, # type: str - cluster_name, # type: str - body, # type: "_models.ClusterResource" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ClusterResource"] + resource_group_name: str, + cluster_name: str, + body: "_models.ClusterResource", + **kwargs: Any + ) -> LROPoller["_models.ClusterResource"]: """Updates some of the properties of a managed Cassandra cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -561,15 +959,19 @@ def begin_update( :type body: ~azure.mgmt.cosmosdb.models.ClusterResource :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ClusterResource or the result of cls(response) + :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 ClusterResource or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ClusterResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ClusterResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -581,27 +983,21 @@ def begin_update( resource_group_name=resource_group_name, cluster_name=cluster_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ClusterResource', 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -613,115 +1009,111 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}'} # type: ignore - def _request_repair_initial( + def _invoke_command_initial( self, - resource_group_name, # type: str - cluster_name, # type: str - body, # type: "_models.RepairPostBody" - **kwargs # type: Any - ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] + resource_group_name: str, + cluster_name: str, + body: "_models.CommandPostBody", + **kwargs: Any + ) -> "_models.CommandOutput": + cls = kwargs.pop('cls', None) # type: ClsType["_models.CommandOutput"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._request_repair_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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(body, 'CommandPostBody') + + request = build_invoke_command_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + content_type=content_type, + json=_json, + template_url=self._invoke_command_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'RepairPostBody') - 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]: + if response.status_code not in [202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = self._deserialize('CommandOutput', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized - _request_repair_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} # type: ignore + _invoke_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand'} # type: ignore - def begin_request_repair( + + @distributed_trace + def begin_invoke_command( self, - resource_group_name, # type: str - cluster_name, # type: str - body, # type: "_models.RepairPostBody" - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Request that repair begin on this cluster as soon as possible. + resource_group_name: str, + cluster_name: str, + body: "_models.CommandPostBody", + **kwargs: Any + ) -> LROPoller["_models.CommandOutput"]: + """Invoke a command like nodetool for cassandra maintenance. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param body: Specification of what keyspaces and tables to run repair on. - :type body: ~azure.mgmt.cosmosdb.models.RepairPostBody + :param body: Specification which command to run where. + :type body: ~azure.mgmt.cosmosdb.models.CommandPostBody :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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: + :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 CommandOutput or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.CommandOutput] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType[None] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CommandOutput"] 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._request_repair_initial( + raw_result = self._invoke_command_initial( resource_group_name=resource_group_name, cluster_name=cluster_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('CommandOutput', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -733,66 +1125,182 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_request_repair.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/repair'} # type: ignore - def _fetch_node_status_initial( + begin_invoke_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand'} # type: ignore + + @distributed_trace + def list_backups( self, - resource_group_name, # type: str - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ClusterNodeStatus"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ClusterNodeStatus"]] + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ListBackups"]: + """List the backups of this cluster that are available to restore. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListBackups or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ListBackups] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBackups"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._fetch_node_status_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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - } - url = self._client.format_url(url, **path_format_arguments) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_backups_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self.list_backups.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_backups_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ListBackups", 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) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + return pipeline_response - # 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) + return ItemPaged( + get_next, extract_data + ) + list_backups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups'} # type: ignore + + @distributed_trace + def get_backup( + self, + resource_group_name: str, + cluster_name: str, + backup_id: str, + **kwargs: Any + ) -> "_models.BackupResource": + """Get the properties of an individual backup of this cluster that is available to restore. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_name: str + :param backup_id: Id of a restorable backup of a Cassandra cluster. + :type backup_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BackupResource, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.BackupResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_backup_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + backup_id=backup_id, + template_url=self.get_backup.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200, 202]: + 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 = None - if response.status_code == 200: - deserialized = self._deserialize('ClusterNodeStatus', pipeline_response) + deserialized = self._deserialize('BackupResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _fetch_node_status_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} # type: ignore - def begin_fetch_node_status( + get_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}'} # type: ignore + + + def _deallocate_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_deallocate_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self._deallocate_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _deallocate_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate'} # type: ignore + + + @distributed_trace + def begin_deallocate( self, - resource_group_name, # type: str - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ClusterNodeStatus"] - """Request the status of all nodes in the cluster (as returned by 'nodetool status'). + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will + deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do + anything on an already deallocated cluster. Use Start to restart the cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str @@ -800,46 +1308,38 @@ def begin_fetch_node_status( :type cluster_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ClusterNodeStatus or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ClusterNodeStatus] - :raises ~azure.core.exceptions.HttpResponseError: + :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["_models.ClusterNodeStatus"] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.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._fetch_node_status_initial( + raw_result = self._deallocate_initial( resource_group_name=resource_group_name, cluster_name=cluster_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('ClusterNodeStatus', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized + 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -851,131 +1351,141 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_fetch_node_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/fetchNodeStatus'} # type: ignore - def list_backups( - self, - resource_group_name, # type: str - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ListBackups"] - """List the backups of this cluster that are available to restore. + begin_deallocate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate'} # type: ignore - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_name: Managed Cassandra cluster name. - :type cluster_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ListBackups or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ListBackups] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBackups"] + def _start_initial( + self, + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> 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-07-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') + + request = build_start_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self._start_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - if not next_link: - # Construct URL - url = self.list_backups.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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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 + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response - def extract_data(pipeline_response): - deserialized = self._deserialize('ListBackups', pipeline_response) - list_of_elem = deserialized.value - if cls: - list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) - def get_next(next_link=None): - request = prepare_request(next_link) + if cls: + return cls(pipeline_response, None, {}) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/start'} # type: ignore - 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 + @distributed_trace + def begin_start( + self, + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host + virtual machine of this cluster with reserved data disk. This won't do anything on an already + running cluster. Use Deallocate to deallocate the cluster. - return ItemPaged( - get_next, extract_data + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: Managed Cassandra cluster name. + :type cluster_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval ) - list_backups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups'} # type: ignore + 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, + cluster_name=cluster_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) - def get_backup( + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.DocumentDB/cassandraClusters/{clusterName}/start'} # type: ignore + + @distributed_trace + def status( self, - resource_group_name, # type: str - cluster_name, # type: str - backup_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.BackupResource" - """Get the properties of an individual backup of this cluster that is available to restore. + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> "_models.CassandraClusterPublicStatus": + """Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param cluster_name: Managed Cassandra cluster name. :type cluster_name: str - :param backup_id: Id of a restorable backup of a Cassandra cluster. - :type backup_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: BackupResource, or the result of cls(response) - :rtype: ~azure.mgmt.cosmosdb.models.BackupResource + :return: CassandraClusterPublicStatus, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.CassandraClusterPublicStatus :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupResource"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraClusterPublicStatus"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_backup.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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'backupId': self._serialize.url("backup_id", backup_id, 'str', max_length=15, min_length=1, pattern=r'^[0-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 = build_status_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self.status.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -983,10 +1493,12 @@ def get_backup( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('BackupResource', pipeline_response) + deserialized = self._deserialize('CassandraClusterPublicStatus', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get_backup.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}'} # type: ignore + + status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/status'} # type: ignore + diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_data_centers_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_data_centers_operations.py index 2de44375e68..6861e867c49 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_data_centers_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_data_centers_operations.py @@ -5,25 +5,229 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + "dataCenterName": _SERIALIZER.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + "dataCenterName": _SERIALIZER.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + "dataCenterName": _SERIALIZER.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_name: str, + data_center_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + "dataCenterName": _SERIALIZER.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) class CassandraDataCentersOperations(object): """CassandraDataCentersOperations operations. @@ -47,13 +251,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - cluster_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ListDataCenters"] + resource_group_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ListDataCenters"]: """List all data centers in a particular managed Cassandra cluster. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -70,36 +274,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ListDataCenters', pipeline_response) + deserialized = self._deserialize("ListDataCenters", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,19 +318,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - cluster_name, # type: str - data_center_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.DataCenterResource" + resource_group_name: str, + cluster_name: str, + data_center_name: str, + **kwargs: Any + ) -> "_models.DataCenterResource": """Get the properties of a managed Cassandra data center. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -148,28 +350,18 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -183,43 +375,34 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - cluster_name, # type: str - data_center_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + cluster_name: str, + data_center_name: str, + **kwargs: Any + ) -> 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-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -232,14 +415,15 @@ def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - cluster_name, # type: str - data_center_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + cluster_name: str, + data_center_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Delete a managed Cassandra data center. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -250,15 +434,17 @@ def begin_delete( :type data_center_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -273,22 +459,14 @@ def begin_delete( 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -300,49 +478,39 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore def _create_update_initial( self, - resource_group_name, # type: str - cluster_name, # type: str - data_center_name, # type: str - body, # type: "_models.DataCenterResource" - **kwargs # type: Any - ): - # type: (...) -> "_models.DataCenterResource" + resource_group_name: str, + cluster_name: str, + data_center_name: str, + body: "_models.DataCenterResource", + **kwargs: Any + ) -> "_models.DataCenterResource": cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(body, 'DataCenterResource') + + request = build_create_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + content_type=content_type, + json=_json, + template_url=self._create_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'DataCenterResource') - 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 @@ -360,17 +528,19 @@ def _create_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + @distributed_trace def begin_create_update( self, - resource_group_name, # type: str - cluster_name, # type: str - data_center_name, # type: str - body, # type: "_models.DataCenterResource" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.DataCenterResource"] + resource_group_name: str, + cluster_name: str, + data_center_name: str, + body: "_models.DataCenterResource", + **kwargs: Any + ) -> LROPoller["_models.DataCenterResource"]: """Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some properties, use PATCH. @@ -384,15 +554,19 @@ def begin_create_update( :type body: ~azure.mgmt.cosmosdb.models.DataCenterResource :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 DataCenterResource or the result of cls(response) + :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 DataCenterResource or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -405,28 +579,21 @@ def begin_create_update( cluster_name=cluster_name, data_center_name=data_center_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('DataCenterResource', 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -438,49 +605,39 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore def _update_initial( self, - resource_group_name, # type: str - cluster_name, # type: str - data_center_name, # type: str - body, # type: "_models.DataCenterResource" - **kwargs # type: Any - ): - # type: (...) -> "_models.DataCenterResource" + resource_group_name: str, + cluster_name: str, + data_center_name: str, + body: "_models.DataCenterResource", + **kwargs: Any + ) -> "_models.DataCenterResource": cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(body, 'DataCenterResource') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + data_center_name=data_center_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(body, 'DataCenterResource') - 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 @@ -498,17 +655,19 @@ def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore + + @distributed_trace def begin_update( self, - resource_group_name, # type: str - cluster_name, # type: str - data_center_name, # type: str - body, # type: "_models.DataCenterResource" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.DataCenterResource"] + resource_group_name: str, + cluster_name: str, + data_center_name: str, + body: "_models.DataCenterResource", + **kwargs: Any + ) -> LROPoller["_models.DataCenterResource"]: """Update some of the properties of a managed Cassandra data center. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -521,15 +680,19 @@ def begin_update( :type body: ~azure.mgmt.cosmosdb.models.DataCenterResource :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 DataCenterResource or the result of cls(response) + :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 DataCenterResource or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.DataCenterResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.DataCenterResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -542,28 +705,21 @@ def begin_update( cluster_name=cluster_name, data_center_name=data_center_name, body=body, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('DataCenterResource', 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), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str', max_length=100, min_length=1, pattern=r'^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$'), - 'dataCenterName': self._serialize.url("data_center_name", data_center_name, 'str', max_length=100, min_length=1, 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) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -575,4 +731,5 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_resources_operations.py index 55ec864e163..10ac49cf777 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_cassandra_resources_operations.py @@ -5,25 +5,978 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_cassandra_keyspaces_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_cassandra_keyspace_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_cassandra_keyspace_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_cassandra_keyspace_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_cassandra_keyspace_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_cassandra_keyspace_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_cassandra_keyspace_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_cassandra_keyspace_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_cassandra_tables_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_cassandra_table_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_cassandra_table_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_cassandra_table_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_cassandra_table_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_cassandra_table_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_cassandra_table_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_cassandra_table_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_cassandra_views_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_cassandra_view_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "viewName": _SERIALIZER.url("view_name", view_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_cassandra_view_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "viewName": _SERIALIZER.url("view_name", view_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_cassandra_view_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "viewName": _SERIALIZER.url("view_name", view_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_cassandra_view_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "viewName": _SERIALIZER.url("view_name", view_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_cassandra_view_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "viewName": _SERIALIZER.url("view_name", view_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_cassandra_view_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "viewName": _SERIALIZER.url("view_name", view_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_cassandra_view_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "keyspaceName": _SERIALIZER.url("keyspace_name", keyspace_name, 'str'), + "viewName": _SERIALIZER.url("view_name", view_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class CassandraResourcesOperations(object): """CassandraResourcesOperations operations. @@ -47,13 +1000,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_cassandra_keyspaces( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.CassandraKeyspaceListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.CassandraKeyspaceListResult"]: """Lists the Cassandra keyspaces under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -61,7 +1014,8 @@ def list_cassandra_keyspaces( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either CassandraKeyspaceListResult or the result of cls(response) + :return: An iterator like instance of either CassandraKeyspaceListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.CassandraKeyspaceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -70,36 +1024,33 @@ def list_cassandra_keyspaces( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_cassandra_keyspaces.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_cassandra_keyspaces_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_cassandra_keyspaces.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_cassandra_keyspaces_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('CassandraKeyspaceListResult', pipeline_response) + deserialized = self._deserialize("CassandraKeyspaceListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,19 +1068,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_cassandra_keyspaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces'} # type: ignore + @distributed_trace def get_cassandra_keyspace( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.CassandraKeyspaceGetResults" + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> "_models.CassandraKeyspaceGetResults": """Gets the Cassandra keyspaces under an existing Azure Cosmos DB database account with the provided name. @@ -149,28 +1101,18 @@ def get_cassandra_keyspace( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_keyspace.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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 = build_get_cassandra_keyspace_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self.get_cassandra_keyspace.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -184,49 +1126,40 @@ def get_cassandra_keyspace( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + def _create_update_cassandra_keyspace_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - create_update_cassandra_keyspace_parameters, # type: "_models.CassandraKeyspaceCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.CassandraKeyspaceGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + create_update_cassandra_keyspace_parameters: "_models.CassandraKeyspaceCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.CassandraKeyspaceGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.CassandraKeyspaceGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_cassandra_keyspace_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_cassandra_keyspace_parameters, 'CassandraKeyspaceCreateUpdateParameters') + + request = build_create_update_cassandra_keyspace_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + content_type=content_type, + json=_json, + template_url=self._create_update_cassandra_keyspace_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_cassandra_keyspace_parameters, 'CassandraKeyspaceCreateUpdateParameters') - 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 @@ -242,17 +1175,19 @@ def _create_update_cassandra_keyspace_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_cassandra_keyspace_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + @distributed_trace def begin_create_update_cassandra_keyspace( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - create_update_cassandra_keyspace_parameters, # type: "_models.CassandraKeyspaceCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.CassandraKeyspaceGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + create_update_cassandra_keyspace_parameters: "_models.CassandraKeyspaceCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.CassandraKeyspaceGetResults"]: """Create or update an Azure Cosmos DB Cassandra keyspace. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -263,18 +1198,23 @@ def begin_create_update_cassandra_keyspace( :type keyspace_name: str :param create_update_cassandra_keyspace_parameters: The parameters to provide for the current Cassandra keyspace. - :type create_update_cassandra_keyspace_parameters: ~azure.mgmt.cosmosdb.models.CassandraKeyspaceCreateUpdateParameters + :type create_update_cassandra_keyspace_parameters: + ~azure.mgmt.cosmosdb.models.CassandraKeyspaceCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 CassandraKeyspaceGetResults or the result of cls(response) + :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 CassandraKeyspaceGetResults or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.CassandraKeyspaceGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraKeyspaceGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -287,28 +1227,21 @@ def begin_create_update_cassandra_keyspace( account_name=account_name, keyspace_name=keyspace_name, create_update_cassandra_keyspace_parameters=create_update_cassandra_keyspace_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('CassandraKeyspaceGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -320,41 +1253,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore def _delete_cassandra_keyspace_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_cassandra_keyspace_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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] + + request = build_delete_cassandra_keyspace_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self._delete_cassandra_keyspace_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -367,14 +1292,15 @@ def _delete_cassandra_keyspace_initial( _delete_cassandra_keyspace_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + + @distributed_trace def begin_delete_cassandra_keyspace( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB Cassandra keyspace. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -385,15 +1311,17 @@ def begin_delete_cassandra_keyspace( :type keyspace_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -408,22 +1336,14 @@ def begin_delete_cassandra_keyspace( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -435,16 +1355,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_keyspace.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}'} # type: ignore + @distributed_trace def get_cassandra_keyspace_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the Cassandra Keyspace under an existing Azure Cosmos DB database account with the provided name. @@ -464,28 +1385,18 @@ def get_cassandra_keyspace_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_keyspace_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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 = build_get_cassandra_keyspace_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self.get_cassandra_keyspace_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -499,49 +1410,40 @@ def get_cassandra_keyspace_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore + def _update_cassandra_keyspace_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_cassandra_keyspace_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_cassandra_keyspace_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + content_type=content_type, + json=_json, + template_url=self._update_cassandra_keyspace_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -557,17 +1459,19 @@ def _update_cassandra_keyspace_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_cassandra_keyspace_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_cassandra_keyspace_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of an Azure Cosmos DB Cassandra Keyspace. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -578,18 +1482,23 @@ def begin_update_cassandra_keyspace_throughput( :type keyspace_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Cassandra Keyspace. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -602,28 +1511,21 @@ def begin_update_cassandra_keyspace_throughput( account_name=account_name, keyspace_name=keyspace_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -635,43 +1537,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_keyspace_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default'} # type: ignore def _migrate_cassandra_keyspace_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_keyspace_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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 = build_migrate_cassandra_keyspace_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self._migrate_cassandra_keyspace_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -687,16 +1579,18 @@ def _migrate_cassandra_keyspace_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_keyspace_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_cassandra_keyspace_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -707,15 +1601,18 @@ def begin_migrate_cassandra_keyspace_to_autoscale( :type keyspace_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -730,25 +1627,17 @@ def begin_migrate_cassandra_keyspace_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -760,43 +1649,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_keyspace_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_cassandra_keyspace_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_keyspace_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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 = build_migrate_cassandra_keyspace_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self._migrate_cassandra_keyspace_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -812,16 +1691,18 @@ def _migrate_cassandra_keyspace_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_keyspace_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_cassandra_keyspace_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -832,15 +1713,18 @@ def begin_migrate_cassandra_keyspace_to_manual_throughput( :type keyspace_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -855,25 +1739,17 @@ def begin_migrate_cassandra_keyspace_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -885,16 +1761,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_keyspace_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_cassandra_tables( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.CassandraTableListResult"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> Iterable["_models.CassandraTableListResult"]: """Lists the Cassandra table under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -904,7 +1781,8 @@ def list_cassandra_tables( :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either CassandraTableListResult or the result of cls(response) + :return: An iterator like instance of either CassandraTableListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.CassandraTableListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -913,37 +1791,35 @@ def list_cassandra_tables( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_cassandra_tables.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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) + + request = build_list_cassandra_tables_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self.list_cassandra_tables.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_cassandra_tables_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('CassandraTableListResult', pipeline_response) + deserialized = self._deserialize("CassandraTableListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -961,20 +1837,21 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_cassandra_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables'} # type: ignore + @distributed_trace def get_cassandra_table( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.CassandraTableGetResults" + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any + ) -> "_models.CassandraTableGetResults": """Gets the Cassandra table under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -995,29 +1872,19 @@ def get_cassandra_table( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_table.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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 = build_get_cassandra_table_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self.get_cassandra_table.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1031,51 +1898,42 @@ def get_cassandra_table( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + def _create_update_cassandra_table_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - create_update_cassandra_table_parameters, # type: "_models.CassandraTableCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.CassandraTableGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + create_update_cassandra_table_parameters: "_models.CassandraTableCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.CassandraTableGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.CassandraTableGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_cassandra_table_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_cassandra_table_parameters, 'CassandraTableCreateUpdateParameters') + + request = build_create_update_cassandra_table_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._create_update_cassandra_table_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_cassandra_table_parameters, 'CassandraTableCreateUpdateParameters') - 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 @@ -1091,18 +1949,20 @@ def _create_update_cassandra_table_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_cassandra_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + @distributed_trace def begin_create_update_cassandra_table( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - create_update_cassandra_table_parameters, # type: "_models.CassandraTableCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.CassandraTableGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + create_update_cassandra_table_parameters: "_models.CassandraTableCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.CassandraTableGetResults"]: """Create or update an Azure Cosmos DB Cassandra Table. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1115,18 +1975,23 @@ def begin_create_update_cassandra_table( :type table_name: str :param create_update_cassandra_table_parameters: The parameters to provide for the current Cassandra Table. - :type create_update_cassandra_table_parameters: ~azure.mgmt.cosmosdb.models.CassandraTableCreateUpdateParameters + :type create_update_cassandra_table_parameters: + ~azure.mgmt.cosmosdb.models.CassandraTableCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 CassandraTableGetResults or the result of cls(response) + :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 CassandraTableGetResults or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.CassandraTableGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraTableGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1140,29 +2005,21 @@ def begin_create_update_cassandra_table( keyspace_name=keyspace_name, table_name=table_name, create_update_cassandra_table_parameters=create_update_cassandra_table_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('CassandraTableGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1174,43 +2031,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore def _delete_cassandra_table_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_cassandra_table_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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] + + request = build_delete_cassandra_table_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self._delete_cassandra_table_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1223,15 +2072,16 @@ def _delete_cassandra_table_initial( _delete_cassandra_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + + @distributed_trace def begin_delete_cassandra_table( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB Cassandra table. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1244,15 +2094,17 @@ def begin_delete_cassandra_table( :type table_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1268,23 +2120,14 @@ def begin_delete_cassandra_table( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1296,17 +2139,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}'} # type: ignore + @distributed_trace def get_cassandra_table_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the Cassandra table under an existing Azure Cosmos DB database account with the provided name. @@ -1328,29 +2172,19 @@ def get_cassandra_table_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_table_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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 = build_get_cassandra_table_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self.get_cassandra_table_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1364,51 +2198,42 @@ def get_cassandra_table_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore + def _update_cassandra_table_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_cassandra_table_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + + request = build_update_cassandra_table_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._update_cassandra_table_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -1424,18 +2249,20 @@ def _update_cassandra_table_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_cassandra_table_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_cassandra_table_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of an Azure Cosmos DB Cassandra table. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1448,18 +2275,23 @@ def begin_update_cassandra_table_throughput( :type table_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Cassandra table. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1473,29 +2305,21 @@ def begin_update_cassandra_table_throughput( keyspace_name=keyspace_name, table_name=table_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1507,45 +2331,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default'} # type: ignore def _migrate_cassandra_table_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_table_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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 = build_migrate_cassandra_table_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self._migrate_cassandra_table_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1561,17 +2375,19 @@ def _migrate_cassandra_table_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_table_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_cassandra_table_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1584,15 +2400,18 @@ def begin_migrate_cassandra_table_to_autoscale( :type table_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1608,26 +2427,17 @@ def begin_migrate_cassandra_table_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1639,45 +2449,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_cassandra_table_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_table_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_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 = build_migrate_cassandra_table_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + table_name=table_name, + template_url=self._migrate_cassandra_table_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1693,17 +2493,19 @@ def _migrate_cassandra_table_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_table_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_cassandra_table_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + table_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1716,15 +2518,18 @@ def begin_migrate_cassandra_table_to_manual_throughput( :type table_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1740,26 +2545,17 @@ def begin_migrate_cassandra_table_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1771,16 +2567,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_cassandra_views( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.CassandraViewListResult"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + **kwargs: Any + ) -> Iterable["_models.CassandraViewListResult"]: """Lists the Cassandra materialized views under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1790,7 +2587,8 @@ def list_cassandra_views( :param keyspace_name: Cosmos DB keyspace name. :type keyspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either CassandraViewListResult or the result of cls(response) + :return: An iterator like instance of either CassandraViewListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.CassandraViewListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -1799,37 +2597,35 @@ def list_cassandra_views( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_cassandra_views.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_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) + + request = build_list_cassandra_views_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=self.list_cassandra_views.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_cassandra_views_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('CassandraViewListResult', pipeline_response) + deserialized = self._deserialize("CassandraViewListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1847,20 +2643,21 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_cassandra_views.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views'} # type: ignore + @distributed_trace def get_cassandra_view( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.CassandraViewGetResults" + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any + ) -> "_models.CassandraViewGetResults": """Gets the Cassandra view under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1881,29 +2678,19 @@ def get_cassandra_view( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_view.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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 = build_get_cassandra_view_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self.get_cassandra_view.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1917,51 +2704,42 @@ def get_cassandra_view( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_view.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore + def _create_update_cassandra_view_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - create_update_cassandra_view_parameters, # type: "_models.CassandraViewCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.CassandraViewGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + create_update_cassandra_view_parameters: "_models.CassandraViewCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.CassandraViewGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.CassandraViewGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_cassandra_view_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_cassandra_view_parameters, 'CassandraViewCreateUpdateParameters') + + request = build_create_update_cassandra_view_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + content_type=content_type, + json=_json, + template_url=self._create_update_cassandra_view_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_cassandra_view_parameters, 'CassandraViewCreateUpdateParameters') - 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 @@ -1977,18 +2755,20 @@ def _create_update_cassandra_view_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_cassandra_view_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore + + @distributed_trace def begin_create_update_cassandra_view( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - create_update_cassandra_view_parameters, # type: "_models.CassandraViewCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.CassandraViewGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + create_update_cassandra_view_parameters: "_models.CassandraViewCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.CassandraViewGetResults"]: """Create or update an Azure Cosmos DB Cassandra View. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2001,18 +2781,23 @@ def begin_create_update_cassandra_view( :type view_name: str :param create_update_cassandra_view_parameters: The parameters to provide for the current Cassandra View. - :type create_update_cassandra_view_parameters: ~azure.mgmt.cosmosdb.models.CassandraViewCreateUpdateParameters + :type create_update_cassandra_view_parameters: + ~azure.mgmt.cosmosdb.models.CassandraViewCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 CassandraViewGetResults or the result of cls(response) + :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 CassandraViewGetResults or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.CassandraViewGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.CassandraViewGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2026,29 +2811,21 @@ def begin_create_update_cassandra_view( keyspace_name=keyspace_name, view_name=view_name, create_update_cassandra_view_parameters=create_update_cassandra_view_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('CassandraViewGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2060,43 +2837,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_cassandra_view.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore def _delete_cassandra_view_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_cassandra_view_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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] + + request = build_delete_cassandra_view_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self._delete_cassandra_view_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2109,15 +2878,16 @@ def _delete_cassandra_view_initial( _delete_cassandra_view_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore + + @distributed_trace def begin_delete_cassandra_view( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB Cassandra view. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2130,15 +2900,17 @@ def begin_delete_cassandra_view( :type view_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -2154,23 +2926,14 @@ def begin_delete_cassandra_view( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2182,17 +2945,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_cassandra_view.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}'} # type: ignore + @distributed_trace def get_cassandra_view_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the Cassandra view under an existing Azure Cosmos DB database account with the provided name. @@ -2214,29 +2978,19 @@ def get_cassandra_view_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_cassandra_view_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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 = build_get_cassandra_view_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self.get_cassandra_view_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2250,51 +3004,42 @@ def get_cassandra_view_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_cassandra_view_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default'} # type: ignore + def _update_cassandra_view_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_cassandra_view_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_cassandra_view_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + content_type=content_type, + json=_json, + template_url=self._update_cassandra_view_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -2310,18 +3055,20 @@ def _update_cassandra_view_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_cassandra_view_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_cassandra_view_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of an Azure Cosmos DB Cassandra view. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2334,18 +3081,23 @@ def begin_update_cassandra_view_throughput( :type view_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Cassandra view. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2359,29 +3111,21 @@ def begin_update_cassandra_view_throughput( keyspace_name=keyspace_name, view_name=view_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2393,45 +3137,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_cassandra_view_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default'} # type: ignore def _migrate_cassandra_view_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_view_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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 = build_migrate_cassandra_view_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self._migrate_cassandra_view_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2447,17 +3181,19 @@ def _migrate_cassandra_view_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_view_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_cassandra_view_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Cassandra view from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2470,15 +3206,18 @@ def begin_migrate_cassandra_view_to_autoscale( :type view_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2494,26 +3233,17 @@ def begin_migrate_cassandra_view_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2525,45 +3255,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_view_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_cassandra_view_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_cassandra_view_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_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 = build_migrate_cassandra_view_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + keyspace_name=keyspace_name, + view_name=view_name, + template_url=self._migrate_cassandra_view_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2579,17 +3299,19 @@ def _migrate_cassandra_view_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_cassandra_view_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_cassandra_view_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - keyspace_name, # type: str - view_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + keyspace_name: str, + view_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Cassandra view from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2602,15 +3324,18 @@ def begin_migrate_cassandra_view_to_manual_throughput( :type view_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2626,26 +3351,17 @@ def begin_migrate_cassandra_view_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'keyspaceName': self._serialize.url("keyspace_name", keyspace_name, 'str'), - 'viewName': self._serialize.url("view_name", view_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2657,4 +3373,5 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_cassandra_view_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_operations.py index 5ae1c322421..4f47f2af9a5 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_operations.py @@ -5,23 +5,149 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_usages_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + *, + filter: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_metric_definitions_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metricDefinitions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class CollectionOperations(object): """CollectionOperations operations. @@ -45,16 +171,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - collection_rid, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MetricListResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.MetricListResult"]: """Retrieves the metrics determined by the given filter for the given database account and collection. @@ -80,39 +206,39 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -130,21 +256,22 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/metrics'} # type: ignore + @distributed_trace def list_usages( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - collection_rid, # type: str - filter=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.UsagesResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + filter: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.UsagesResult"]: """Retrieves the usages (most recent storage data) for the given collection. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -168,40 +295,39 @@ def list_usages( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_usages.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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 filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_usages.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('UsagesResult', pipeline_response) + deserialized = self._deserialize("UsagesResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -219,20 +345,21 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/usages'} # type: ignore + @distributed_trace def list_metric_definitions( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - collection_rid, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MetricDefinitionsListResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + **kwargs: Any + ) -> Iterable["_models.MetricDefinitionsListResult"]: """Retrieves metric definitions for the given collection. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -244,7 +371,8 @@ def list_metric_definitions( :param collection_rid: Cosmos DB collection rid. :type collection_rid: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :return: An iterator like instance of either MetricDefinitionsListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -253,38 +381,37 @@ def list_metric_definitions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metric_definitions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + template_url=self.list_metric_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MetricDefinitionsListResult', pipeline_response) + deserialized = self._deserialize("MetricDefinitionsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -302,6 +429,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_operations.py index c63a2588d1d..89d92fbbd48 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_operations.py @@ -5,23 +5,110 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_usages_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + *, + filter: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/usages') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class CollectionPartitionOperations(object): """CollectionPartitionOperations operations. @@ -45,16 +132,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - collection_rid, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PartitionMetricListResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.PartitionMetricListResult"]: """Retrieves the metrics determined by the given filter for the given collection, split by partition. @@ -71,7 +158,8 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) + :return: An iterator like instance of either PartitionMetricListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -80,39 +168,39 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionMetricListResult', pipeline_response) + deserialized = self._deserialize("PartitionMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -130,21 +218,22 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics'} # type: ignore + @distributed_trace def list_usages( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - collection_rid, # type: str - filter=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PartitionUsagesResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + filter: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.PartitionUsagesResult"]: """Retrieves the usages (most recent storage data) for the given collection, split by partition. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -159,7 +248,8 @@ def list_usages( supported parameter is name.value (name of the metric, can have an or of multiple names). :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionUsagesResult or the result of cls(response) + :return: An iterator like instance of either PartitionUsagesResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionUsagesResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -168,40 +258,39 @@ def list_usages( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_usages.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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 filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_usages.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionUsagesResult', pipeline_response) + deserialized = self._deserialize("PartitionUsagesResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -219,6 +308,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_region_operations.py index 33d2f61a1c3..9c5bc246196 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_partition_region_operations.py @@ -5,23 +5,69 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitions/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "region": _SERIALIZER.url("region", region, 'str'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class CollectionPartitionRegionOperations(object): """CollectionPartitionRegionOperations operations. @@ -45,17 +91,17 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - region, # type: str - database_rid, # type: str - collection_rid, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PartitionMetricListResult"] + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.PartitionMetricListResult"]: """Retrieves the metrics determined by the given filter for the given collection and region, split by partition. @@ -74,7 +120,8 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) + :return: An iterator like instance of either PartitionMetricListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -83,40 +130,41 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, 'str'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionMetricListResult', pipeline_response) + deserialized = self._deserialize("PartitionMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -134,6 +182,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_region_operations.py index a9adf327fec..4b655183a4b 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_collection_region_operations.py @@ -5,23 +5,69 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "region": _SERIALIZER.url("region", region, 'str'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class CollectionRegionOperations(object): """CollectionRegionOperations operations. @@ -45,17 +91,17 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - region, # type: str - database_rid, # type: str - collection_rid, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MetricListResult"] + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.MetricListResult"]: """Retrieves the metrics determined by the given filter for the given database account, collection and region. @@ -83,40 +129,41 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, 'str'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -134,6 +181,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_data_transfer_jobs_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_data_transfer_jobs_operations.py new file mode 100644 index 00000000000..eb3957ce61f --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_data_transfer_jobs_operations.py @@ -0,0 +1,359 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + job_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "jobName": _SERIALIZER.url("job_name", job_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + job_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "jobName": _SERIALIZER.url("job_name", job_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_by_database_account_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class DataTransferJobsOperations(object): + """DataTransferJobsOperations 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.cosmosdb.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 + + @distributed_trace + def create( + self, + resource_group_name: str, + account_name: str, + job_name: str, + job_create_parameters: "_models.CreateJobRequest", + **kwargs: Any + ) -> "_models.DataTransferJobGetResults": + """Creates a Data Transfer Job. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param job_name: Name of the Data Transfer Job. + :type job_name: str + :param job_create_parameters: + :type job_create_parameters: ~azure.mgmt.cosmosdb.models.CreateJobRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataTransferJobGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DataTransferJobGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataTransferJobGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(job_create_parameters, 'CreateJobRequest') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + job_name=job_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataTransferJobGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + job_name: str, + **kwargs: Any + ) -> "_models.DataTransferJobGetResults": + """Get a Data Transfer Job. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param job_name: Name of the Data Transfer Job. + :type job_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataTransferJobGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.DataTransferJobGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataTransferJobGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + job_name=job_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('DataTransferJobGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}'} # type: ignore + + + @distributed_trace + def list_by_database_account( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.DataTransferJobFeedResults"]: + """Get a list of Data Transfer jobs. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DataTransferJobFeedResults or the result of + cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.DataTransferJobFeedResults] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DataTransferJobFeedResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_by_database_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("DataTransferJobFeedResults", 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_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_account_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_account_region_operations.py index 5a70940cff0..657799df4e6 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_account_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_account_region_operations.py @@ -5,23 +5,65 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + region: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "region": _SERIALIZER.url("region", region, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class DatabaseAccountRegionOperations(object): """DatabaseAccountRegionOperations operations. @@ -45,15 +87,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - region, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MetricListResult"] + resource_group_name: str, + account_name: str, + region: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.MetricListResult"]: """Retrieves the metrics determined by the given filter for the given database account and region. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -76,38 +118,37 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -125,6 +166,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_accounts_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_accounts_operations.py index 1d5e50ab25e..88b30d9beec 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_accounts_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_accounts_operations.py @@ -5,25 +5,693 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_failover_priority_change_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_by_resource_group_request( + resource_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_keys_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_connection_strings_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_offline_region_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_online_region_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_read_only_keys_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_read_only_keys_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_regenerate_key_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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, + json=json, + content=content, + **kwargs + ) + + +def build_check_name_exists_request( + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}') + path_format_arguments = { + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="HEAD", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_usages_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + filter: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_metric_definitions_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metricDefinitions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class DatabaseAccountsOperations(object): """DatabaseAccountsOperations operations. @@ -47,13 +715,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.DatabaseAccountGetResults" + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.DatabaseAccountGetResults": """Retrieves the properties of an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -70,27 +738,17 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -104,47 +762,38 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + def _update_initial( self, - resource_group_name, # type: str - account_name, # type: str - update_parameters, # type: "_models.DatabaseAccountUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> "_models.DatabaseAccountGetResults" + resource_group_name: str, + account_name: str, + update_parameters: "_models.DatabaseAccountUpdateParameters", + **kwargs: Any + ) -> "_models.DatabaseAccountGetResults": cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_parameters, 'DatabaseAccountUpdateParameters') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_parameters, 'DatabaseAccountUpdateParameters') - 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 @@ -158,16 +807,18 @@ def _update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + @distributed_trace def begin_update( self, - resource_group_name, # type: str - account_name, # type: str - update_parameters, # type: "_models.DatabaseAccountUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.DatabaseAccountGetResults"] + resource_group_name: str, + account_name: str, + update_parameters: "_models.DatabaseAccountUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.DatabaseAccountGetResults"]: """Updates the properties of an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -178,15 +829,19 @@ def begin_update( :type update_parameters: ~azure.mgmt.cosmosdb.models.DatabaseAccountUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 DatabaseAccountGetResults or the result of cls(response) + :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 DatabaseAccountGetResults or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -198,27 +853,21 @@ def begin_update( resource_group_name=resource_group_name, account_name=account_name, update_parameters=update_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('DatabaseAccountGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -230,47 +879,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore def _create_or_update_initial( self, - resource_group_name, # type: str - account_name, # type: str - create_update_parameters, # type: "_models.DatabaseAccountCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> "_models.DatabaseAccountGetResults" + resource_group_name: str, + account_name: str, + create_update_parameters: "_models.DatabaseAccountCreateUpdateParameters", + **kwargs: Any + ) -> "_models.DatabaseAccountGetResults": cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_parameters, 'DatabaseAccountCreateUpdateParameters') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_parameters, 'DatabaseAccountCreateUpdateParameters') - 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 @@ -284,16 +923,18 @@ def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + @distributed_trace def begin_create_or_update( self, - resource_group_name, # type: str - account_name, # type: str - create_update_parameters, # type: "_models.DatabaseAccountCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.DatabaseAccountGetResults"] + resource_group_name: str, + account_name: str, + create_update_parameters: "_models.DatabaseAccountCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.DatabaseAccountGetResults"]: """Creates or updates an Azure Cosmos DB database account. The "Update" method is preferred when performing updates on an account. @@ -302,18 +943,23 @@ def begin_create_or_update( :param account_name: Cosmos DB database account name. :type account_name: str :param create_update_parameters: The parameters to provide for the current database account. - :type create_update_parameters: ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateParameters + :type create_update_parameters: + ~azure.mgmt.cosmosdb.models.DatabaseAccountCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 DatabaseAccountGetResults or the result of cls(response) + :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 DatabaseAccountGetResults or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.DatabaseAccountGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.DatabaseAccountGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -325,27 +971,21 @@ def begin_create_or_update( resource_group_name=resource_group_name, account_name=account_name, create_update_parameters=create_update_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('DatabaseAccountGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -357,39 +997,31 @@ def get_long_running_output(pipeline_response): ) 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.DocumentDB/databaseAccounts/{accountName}'} # type: ignore def _delete_initial( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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] + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -402,13 +1034,14 @@ def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -417,15 +1050,17 @@ def begin_delete( :type account_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -439,21 +1074,14 @@ def begin_delete( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -465,45 +1093,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}'} # type: ignore def _failover_priority_change_initial( self, - resource_group_name, # type: str - account_name, # type: str - failover_parameters, # type: "_models.FailoverPolicies" - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + failover_parameters: "_models.FailoverPolicies", + **kwargs: Any + ) -> 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-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self._failover_priority_change_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + _json = self._serialize.body(failover_parameters, 'FailoverPolicies') + + request = build_failover_priority_change_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._failover_priority_change_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(failover_parameters, 'FailoverPolicies') - 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 @@ -516,14 +1136,15 @@ def _failover_priority_change_initial( _failover_priority_change_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} # type: ignore + + @distributed_trace def begin_failover_priority_change( self, - resource_group_name, # type: str - account_name, # type: str - failover_parameters, # type: "_models.FailoverPolicies" - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + failover_parameters: "_models.FailoverPolicies", + **kwargs: Any + ) -> LROPoller[None]: """Changes the failover priority for the Azure Cosmos DB database account. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the @@ -537,15 +1158,18 @@ def begin_failover_priority_change( :type failover_parameters: ~azure.mgmt.cosmosdb.models.FailoverPolicies :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -557,24 +1181,18 @@ def begin_failover_priority_change( resource_group_name=resource_group_name, account_name=account_name, failover_parameters=failover_parameters, + content_type=content_type, 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -586,17 +1204,19 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_failover_priority_change.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/failoverPriorityChange'} # type: ignore + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.DatabaseAccountsListResult"] + **kwargs: Any + ) -> Iterable["_models.DatabaseAccountsListResult"]: """Lists all the Azure Cosmos DB database accounts available under the subscription. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DatabaseAccountsListResult or the result of cls(response) + :return: An iterator like instance of either DatabaseAccountsListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -605,34 +1225,29 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - } - url = self._client.format_url(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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('DatabaseAccountsListResult', pipeline_response) + deserialized = self._deserialize("DatabaseAccountsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -650,23 +1265,25 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/databaseAccounts'} # type: ignore + @distributed_trace def list_by_resource_group( self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.DatabaseAccountsListResult"] + resource_group_name: str, + **kwargs: Any + ) -> Iterable["_models.DatabaseAccountsListResult"]: """Lists all the Azure Cosmos DB database accounts available under the given 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 DatabaseAccountsListResult or the result of cls(response) + :return: An iterator like instance of either DatabaseAccountsListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.DatabaseAccountsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -675,35 +1292,31 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - '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) + + request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('DatabaseAccountsListResult', pipeline_response) + deserialized = self._deserialize("DatabaseAccountsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -721,18 +1334,19 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts'} # type: ignore + @distributed_trace def list_keys( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.DatabaseAccountListKeysResult" + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.DatabaseAccountListKeysResult": """Lists the access keys for the specified Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -749,27 +1363,17 @@ def list_keys( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_keys.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_list_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -783,15 +1387,17 @@ def list_keys( return cls(pipeline_response, deserialized, {}) return deserialized + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listKeys'} # type: ignore + + @distributed_trace def list_connection_strings( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.DatabaseAccountListConnectionStringsResult" + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.DatabaseAccountListConnectionStringsResult": """Lists the connection strings for the specified Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -808,27 +1414,17 @@ def list_connection_strings( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_connection_strings.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_list_connection_strings_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_connection_strings.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -842,68 +1438,59 @@ def list_connection_strings( return cls(pipeline_response, deserialized, {}) return deserialized + list_connection_strings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/listConnectionStrings'} # type: ignore + def _offline_region_initial( self, - resource_group_name, # type: str - account_name, # type: str - region_parameter_for_offline, # type: "_models.RegionForOnlineOffline" - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + region_parameter_for_offline: "_models.RegionForOnlineOffline", + **kwargs: Any + ) -> 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-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._offline_region_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(region_parameter_for_offline, 'RegionForOnlineOffline') - # 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') + request = build_offline_region_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._offline_region_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(region_parameter_for_offline, 'RegionForOnlineOffline') - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _offline_region_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} # type: ignore + + @distributed_trace def begin_offline_region( self, - resource_group_name, # type: str - account_name, # type: str - region_parameter_for_offline, # type: "_models.RegionForOnlineOffline" - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + region_parameter_for_offline: "_models.RegionForOnlineOffline", + **kwargs: Any + ) -> LROPoller[None]: """Offline the specified region for the specified Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -914,15 +1501,18 @@ def begin_offline_region( :type region_parameter_for_offline: ~azure.mgmt.cosmosdb.models.RegionForOnlineOffline :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -934,24 +1524,18 @@ def begin_offline_region( resource_group_name=resource_group_name, account_name=account_name, region_parameter_for_offline=region_parameter_for_offline, + content_type=content_type, 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -963,68 +1547,58 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_offline_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/offlineRegion'} # type: ignore def _online_region_initial( self, - resource_group_name, # type: str - account_name, # type: str - region_parameter_for_online, # type: "_models.RegionForOnlineOffline" - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + region_parameter_for_online: "_models.RegionForOnlineOffline", + **kwargs: Any + ) -> 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-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._online_region_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(region_parameter_for_online, 'RegionForOnlineOffline') - # 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') + request = build_online_region_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._online_region_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(region_parameter_for_online, 'RegionForOnlineOffline') - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _online_region_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} # type: ignore + + @distributed_trace def begin_online_region( self, - resource_group_name, # type: str - account_name, # type: str - region_parameter_for_online, # type: "_models.RegionForOnlineOffline" - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + region_parameter_for_online: "_models.RegionForOnlineOffline", + **kwargs: Any + ) -> LROPoller[None]: """Online the specified region for the specified Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1035,15 +1609,18 @@ def begin_online_region( :type region_parameter_for_online: ~azure.mgmt.cosmosdb.models.RegionForOnlineOffline :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1055,24 +1632,18 @@ def begin_online_region( resource_group_name=resource_group_name, account_name=account_name, region_parameter_for_online=region_parameter_for_online, + content_type=content_type, 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1084,15 +1655,16 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_online_region.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/onlineRegion'} # type: ignore + @distributed_trace def get_read_only_keys( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.DatabaseAccountListReadOnlyKeysResult" + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.DatabaseAccountListReadOnlyKeysResult": """Lists the read-only access keys for the specified Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1109,27 +1681,17 @@ def get_read_only_keys( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_read_only_keys.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_read_only_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_read_only_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1143,15 +1705,17 @@ def get_read_only_keys( return cls(pipeline_response, deserialized, {}) return deserialized + get_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} # type: ignore + + @distributed_trace def list_read_only_keys( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.DatabaseAccountListReadOnlyKeysResult" + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.DatabaseAccountListReadOnlyKeysResult": """Lists the read-only access keys for the specified Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1168,27 +1732,17 @@ def list_read_only_keys( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_read_only_keys.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_list_read_only_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_read_only_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1202,45 +1756,38 @@ def list_read_only_keys( return cls(pipeline_response, deserialized, {}) return deserialized + list_read_only_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/readonlykeys'} # type: ignore + def _regenerate_key_initial( self, - resource_group_name, # type: str - account_name, # type: str - key_to_regenerate, # type: "_models.DatabaseAccountRegenerateKeyParameters" - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + key_to_regenerate: "_models.DatabaseAccountRegenerateKeyParameters", + **kwargs: Any + ) -> 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-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - - # Construct URL - url = self._regenerate_key_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(key_to_regenerate, 'DatabaseAccountRegenerateKeyParameters') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + request = build_regenerate_key_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._regenerate_key_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(key_to_regenerate, 'DatabaseAccountRegenerateKeyParameters') - 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 @@ -1253,14 +1800,15 @@ def _regenerate_key_initial( _regenerate_key_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} # type: ignore + + @distributed_trace def begin_regenerate_key( self, - resource_group_name, # type: str - account_name, # type: str - key_to_regenerate, # type: "_models.DatabaseAccountRegenerateKeyParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + key_to_regenerate: "_models.DatabaseAccountRegenerateKeyParameters", + **kwargs: Any + ) -> LROPoller[None]: """Regenerates an access key for the specified Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1271,15 +1819,18 @@ def begin_regenerate_key( :type key_to_regenerate: ~azure.mgmt.cosmosdb.models.DatabaseAccountRegenerateKeyParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1291,24 +1842,18 @@ def begin_regenerate_key( resource_group_name=resource_group_name, account_name=account_name, key_to_regenerate=key_to_regenerate, + content_type=content_type, 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1320,14 +1865,15 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/regenerateKey'} # type: ignore + @distributed_trace def check_name_exists( self, - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> bool + account_name: str, + **kwargs: Any + ) -> bool: """Checks that the Azure Cosmos DB account name already exists. A valid account name may contain only lowercase letters, numbers, and the '-' character, and must be between 3 and 50 characters. @@ -1344,23 +1890,15 @@ def check_name_exists( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - - # Construct URL - url = self.check_name_exists.metadata['url'] # type: ignore - path_format_arguments = { - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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] + + request = build_check_name_exists_request( + account_name=account_name, + template_url=self.check_name_exists.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.head(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1370,18 +1908,19 @@ def check_name_exists( if cls: return cls(pipeline_response, None, {}) - return 200 <= response.status_code <= 299 + check_name_exists.metadata = {'url': '/providers/Microsoft.DocumentDB/databaseAccountNames/{accountName}'} # type: ignore + + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MetricListResult"] + resource_group_name: str, + account_name: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.MetricListResult"]: """Retrieves the metrics determined by the given filter for the given database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1402,37 +1941,35 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1450,19 +1987,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/metrics'} # type: ignore + @distributed_trace def list_usages( self, - resource_group_name, # type: str - account_name, # type: str - filter=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.UsagesResult"] + resource_group_name: str, + account_name: str, + filter: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.UsagesResult"]: """Retrieves the usages (most recent data) for the given database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1482,38 +2020,35 @@ def list_usages( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_usages.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=self.list_usages.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('UsagesResult', pipeline_response) + deserialized = self._deserialize("UsagesResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1531,18 +2066,19 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/usages'} # type: ignore + @distributed_trace def list_metric_definitions( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MetricDefinitionsListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.MetricDefinitionsListResult"]: """Retrieves metric definitions for the given database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1550,7 +2086,8 @@ def list_metric_definitions( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :return: An iterator like instance of either MetricDefinitionsListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -1559,36 +2096,33 @@ def list_metric_definitions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metric_definitions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_metric_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MetricDefinitionsListResult', pipeline_response) + deserialized = self._deserialize("MetricDefinitionsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1606,6 +2140,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_operations.py index 6551e716d1c..428109f1b7c 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_database_operations.py @@ -5,23 +5,143 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_usages_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + *, + filter: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if filter is not None: + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_metric_definitions_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metricDefinitions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class DatabaseOperations(object): """DatabaseOperations operations. @@ -45,15 +165,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MetricListResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.MetricListResult"]: """Retrieves the metrics determined by the given filter for the given database account and database. @@ -77,38 +197,37 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MetricListResult', pipeline_response) + deserialized = self._deserialize("MetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -126,20 +245,21 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_metrics.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/metrics'} # type: ignore + @distributed_trace def list_usages( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - filter=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.UsagesResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + filter: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.UsagesResult"]: """Retrieves the usages (most recent data) for the given database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -161,39 +281,37 @@ def list_usages( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_usages.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, '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 filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + filter=filter, + template_url=self.list_usages.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_usages_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('UsagesResult', pipeline_response) + deserialized = self._deserialize("UsagesResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -211,19 +329,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_usages.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/usages'} # type: ignore + @distributed_trace def list_metric_definitions( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MetricDefinitionsListResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + **kwargs: Any + ) -> Iterable["_models.MetricDefinitionsListResult"]: """Retrieves metric definitions for the given database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -233,7 +352,8 @@ def list_metric_definitions( :param database_rid: Cosmos DB database rid. :type database_rid: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MetricDefinitionsListResult or the result of cls(response) + :return: An iterator like instance of either MetricDefinitionsListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MetricDefinitionsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -242,37 +362,35 @@ def list_metric_definitions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metric_definitions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, '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) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + template_url=self.list_metric_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metric_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MetricDefinitionsListResult', pipeline_response) + deserialized = self._deserialize("MetricDefinitionsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -290,6 +408,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_graph_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_graph_resources_operations.py index f682ecb4c21..f3fce4728d1 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_graph_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_graph_resources_operations.py @@ -5,25 +5,177 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_graphs_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_graph_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + graph_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_graph_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + graph_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_graph_resource_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + graph_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) class GraphResourcesOperations(object): """GraphResourcesOperations operations. @@ -47,13 +199,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_graphs( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.GraphResourcesListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.GraphResourcesListResult"]: """Lists the graphs under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -61,7 +213,8 @@ def list_graphs( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either GraphResourcesListResult or the result of cls(response) + :return: An iterator like instance of either GraphResourcesListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.GraphResourcesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -70,36 +223,33 @@ def list_graphs( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_graphs.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_graphs_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_graphs.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_graphs_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('GraphResourcesListResult', pipeline_response) + deserialized = self._deserialize("GraphResourcesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,19 +267,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_graphs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs'} # type: ignore + @distributed_trace def get_graph( self, - resource_group_name, # type: str - account_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.GraphResourceGetResults" + resource_group_name: str, + account_name: str, + graph_name: str, + **kwargs: Any + ) -> "_models.GraphResourceGetResults": """Gets the Graph resource under an existing Azure Cosmos DB database account with the provided name. @@ -149,28 +300,18 @@ def get_graph( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_graph.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_get_graph_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + graph_name=graph_name, + template_url=self.get_graph.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -184,49 +325,40 @@ def get_graph( return cls(pipeline_response, deserialized, {}) return deserialized + get_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore + def _create_update_graph_initial( self, - resource_group_name, # type: str - account_name, # type: str - graph_name, # type: str - create_update_graph_parameters, # type: "_models.GraphResourceCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.GraphResourceGetResults"] + resource_group_name: str, + account_name: str, + graph_name: str, + create_update_graph_parameters: "_models.GraphResourceCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.GraphResourceGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.GraphResourceGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_graph_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_graph_parameters, 'GraphResourceCreateUpdateParameters') + + request = build_create_update_graph_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + graph_name=graph_name, + content_type=content_type, + json=_json, + template_url=self._create_update_graph_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_graph_parameters, 'GraphResourceCreateUpdateParameters') - 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 @@ -242,17 +374,19 @@ def _create_update_graph_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore + + @distributed_trace def begin_create_update_graph( self, - resource_group_name, # type: str - account_name, # type: str - graph_name, # type: str - create_update_graph_parameters, # type: "_models.GraphResourceCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.GraphResourceGetResults"] + resource_group_name: str, + account_name: str, + graph_name: str, + create_update_graph_parameters: "_models.GraphResourceCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.GraphResourceGetResults"]: """Create or update an Azure Cosmos DB Graph. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -262,18 +396,23 @@ def begin_create_update_graph( :param graph_name: Cosmos DB graph resource name. :type graph_name: str :param create_update_graph_parameters: The parameters to provide for the current graph. - :type create_update_graph_parameters: ~azure.mgmt.cosmosdb.models.GraphResourceCreateUpdateParameters + :type create_update_graph_parameters: + ~azure.mgmt.cosmosdb.models.GraphResourceCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 GraphResourceGetResults or the result of cls(response) + :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 GraphResourceGetResults or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.GraphResourceGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.GraphResourceGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -286,28 +425,21 @@ def begin_create_update_graph( account_name=account_name, graph_name=graph_name, create_update_graph_parameters=create_update_graph_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('GraphResourceGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -319,41 +451,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore def _delete_graph_resource_initial( self, - resource_group_name, # type: str - account_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + graph_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_graph_resource_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_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] + + request = build_delete_graph_resource_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + graph_name=graph_name, + template_url=self._delete_graph_resource_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -366,14 +490,15 @@ def _delete_graph_resource_initial( _delete_graph_resource_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore + + @distributed_trace def begin_delete_graph_resource( self, - resource_group_name, # type: str - account_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + graph_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB Graph Resource. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -384,15 +509,17 @@ def begin_delete_graph_resource( :type graph_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -407,22 +534,14 @@ def begin_delete_graph_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): 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -434,4 +553,5 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_graph_resource.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_gremlin_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_gremlin_resources_operations.py index b125f94738b..45122a22f9e 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_gremlin_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_gremlin_resources_operations.py @@ -5,25 +5,704 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_gremlin_databases_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_gremlin_database_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_gremlin_database_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_gremlin_database_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_gremlin_database_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_gremlin_database_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_gremlin_database_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_gremlin_database_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_gremlin_graphs_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_gremlin_graph_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_gremlin_graph_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_gremlin_graph_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_gremlin_graph_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_gremlin_graph_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_gremlin_graph_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_gremlin_graph_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_retrieve_continuous_backup_information_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/retrieveContinuousBackupInformation') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "graphName": _SERIALIZER.url("graph_name", graph_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) class GremlinResourcesOperations(object): """GremlinResourcesOperations operations. @@ -47,13 +726,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_gremlin_databases( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.GremlinDatabaseListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.GremlinDatabaseListResult"]: """Lists the Gremlin databases under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -61,7 +740,8 @@ def list_gremlin_databases( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either GremlinDatabaseListResult or the result of cls(response) + :return: An iterator like instance of either GremlinDatabaseListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.GremlinDatabaseListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -70,36 +750,33 @@ def list_gremlin_databases( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_gremlin_databases.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_gremlin_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_gremlin_databases.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_gremlin_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('GremlinDatabaseListResult', pipeline_response) + deserialized = self._deserialize("GremlinDatabaseListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,19 +794,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_gremlin_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases'} # type: ignore + @distributed_trace def get_gremlin_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.GremlinDatabaseGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> "_models.GremlinDatabaseGetResults": """Gets the Gremlin databases under an existing Azure Cosmos DB database account with the provided name. @@ -149,28 +827,18 @@ def get_gremlin_database( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_gremlin_database.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_gremlin_database_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_gremlin_database.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -184,49 +852,40 @@ def get_gremlin_database( return cls(pipeline_response, deserialized, {}) return deserialized + get_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + def _create_update_gremlin_database_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - create_update_gremlin_database_parameters, # type: "_models.GremlinDatabaseCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.GremlinDatabaseGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + create_update_gremlin_database_parameters: "_models.GremlinDatabaseCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.GremlinDatabaseGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.GremlinDatabaseGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_gremlin_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_gremlin_database_parameters, 'GremlinDatabaseCreateUpdateParameters') - # 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') + request = build_create_update_gremlin_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._create_update_gremlin_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_gremlin_database_parameters, 'GremlinDatabaseCreateUpdateParameters') - 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 @@ -242,17 +901,19 @@ def _create_update_gremlin_database_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_gremlin_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + @distributed_trace def begin_create_update_gremlin_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - create_update_gremlin_database_parameters, # type: "_models.GremlinDatabaseCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.GremlinDatabaseGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + create_update_gremlin_database_parameters: "_models.GremlinDatabaseCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.GremlinDatabaseGetResults"]: """Create or update an Azure Cosmos DB Gremlin database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -263,18 +924,23 @@ def begin_create_update_gremlin_database( :type database_name: str :param create_update_gremlin_database_parameters: The parameters to provide for the current Gremlin database. - :type create_update_gremlin_database_parameters: ~azure.mgmt.cosmosdb.models.GremlinDatabaseCreateUpdateParameters + :type create_update_gremlin_database_parameters: + ~azure.mgmt.cosmosdb.models.GremlinDatabaseCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 GremlinDatabaseGetResults or the result of cls(response) + :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 GremlinDatabaseGetResults or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.GremlinDatabaseGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinDatabaseGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -287,28 +953,21 @@ def begin_create_update_gremlin_database( account_name=account_name, database_name=database_name, create_update_gremlin_database_parameters=create_update_gremlin_database_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('GremlinDatabaseGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -320,41 +979,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore def _delete_gremlin_database_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_gremlin_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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] + + request = build_delete_gremlin_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._delete_gremlin_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -367,14 +1018,15 @@ def _delete_gremlin_database_initial( _delete_gremlin_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + + @distributed_trace def begin_delete_gremlin_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB Gremlin database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -385,15 +1037,17 @@ def begin_delete_gremlin_database( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -408,22 +1062,14 @@ def begin_delete_gremlin_database( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -435,16 +1081,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_gremlin_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}'} # type: ignore + @distributed_trace def get_gremlin_database_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the Gremlin database under an existing Azure Cosmos DB database account with the provided name. @@ -464,28 +1111,18 @@ def get_gremlin_database_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_gremlin_database_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_gremlin_database_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_gremlin_database_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -499,49 +1136,40 @@ def get_gremlin_database_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore + def _update_gremlin_database_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_gremlin_database_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_gremlin_database_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._update_gremlin_database_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -557,17 +1185,19 @@ def _update_gremlin_database_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_gremlin_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_gremlin_database_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of an Azure Cosmos DB Gremlin database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -578,18 +1208,23 @@ def begin_update_gremlin_database_throughput( :type database_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Gremlin database. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -602,28 +1237,21 @@ def begin_update_gremlin_database_throughput( account_name=account_name, database_name=database_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -635,43 +1263,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_gremlin_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _migrate_gremlin_database_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_gremlin_database_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_gremlin_database_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_gremlin_database_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -687,16 +1305,18 @@ def _migrate_gremlin_database_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_gremlin_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_gremlin_database_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -707,15 +1327,18 @@ def begin_migrate_gremlin_database_to_autoscale( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -730,25 +1353,17 @@ def begin_migrate_gremlin_database_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -760,43 +1375,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_gremlin_database_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_gremlin_database_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_gremlin_database_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_gremlin_database_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -812,16 +1417,18 @@ def _migrate_gremlin_database_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_gremlin_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_gremlin_database_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -832,15 +1439,18 @@ def begin_migrate_gremlin_database_to_manual_throughput( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -855,25 +1465,17 @@ def begin_migrate_gremlin_database_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -885,16 +1487,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_gremlin_graphs( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.GremlinGraphListResult"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Iterable["_models.GremlinGraphListResult"]: """Lists the Gremlin graph under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -904,7 +1507,8 @@ def list_gremlin_graphs( :param database_name: Cosmos DB database name. :type database_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either GremlinGraphListResult or the result of cls(response) + :return: An iterator like instance of either GremlinGraphListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.GremlinGraphListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -913,37 +1517,35 @@ def list_gremlin_graphs( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_gremlin_graphs.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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) + + request = build_list_gremlin_graphs_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.list_gremlin_graphs.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_gremlin_graphs_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('GremlinGraphListResult', pipeline_response) + deserialized = self._deserialize("GremlinGraphListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -961,20 +1563,21 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_gremlin_graphs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs'} # type: ignore + @distributed_trace def get_gremlin_graph( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.GremlinGraphGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any + ) -> "_models.GremlinGraphGetResults": """Gets the Gremlin graph under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -995,29 +1598,19 @@ def get_gremlin_graph( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_gremlin_graph.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_get_gremlin_graph_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self.get_gremlin_graph.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1031,51 +1624,42 @@ def get_gremlin_graph( return cls(pipeline_response, deserialized, {}) return deserialized + get_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + def _create_update_gremlin_graph_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - create_update_gremlin_graph_parameters, # type: "_models.GremlinGraphCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.GremlinGraphGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + create_update_gremlin_graph_parameters: "_models.GremlinGraphCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.GremlinGraphGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.GremlinGraphGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_gremlin_graph_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_gremlin_graph_parameters, 'GremlinGraphCreateUpdateParameters') - # 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') + request = build_create_update_gremlin_graph_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + content_type=content_type, + json=_json, + template_url=self._create_update_gremlin_graph_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_gremlin_graph_parameters, 'GremlinGraphCreateUpdateParameters') - 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 @@ -1091,18 +1675,20 @@ def _create_update_gremlin_graph_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_gremlin_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + @distributed_trace def begin_create_update_gremlin_graph( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - create_update_gremlin_graph_parameters, # type: "_models.GremlinGraphCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.GremlinGraphGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + create_update_gremlin_graph_parameters: "_models.GremlinGraphCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.GremlinGraphGetResults"]: """Create or update an Azure Cosmos DB Gremlin graph. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1115,18 +1701,23 @@ def begin_create_update_gremlin_graph( :type graph_name: str :param create_update_gremlin_graph_parameters: The parameters to provide for the current Gremlin graph. - :type create_update_gremlin_graph_parameters: ~azure.mgmt.cosmosdb.models.GremlinGraphCreateUpdateParameters + :type create_update_gremlin_graph_parameters: + ~azure.mgmt.cosmosdb.models.GremlinGraphCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 GremlinGraphGetResults or the result of cls(response) + :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 GremlinGraphGetResults or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.GremlinGraphGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.GremlinGraphGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1140,29 +1731,21 @@ def begin_create_update_gremlin_graph( database_name=database_name, graph_name=graph_name, create_update_gremlin_graph_parameters=create_update_gremlin_graph_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('GremlinGraphGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1174,43 +1757,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore def _delete_gremlin_graph_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_gremlin_graph_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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] + + request = build_delete_gremlin_graph_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self._delete_gremlin_graph_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1223,15 +1798,16 @@ def _delete_gremlin_graph_initial( _delete_gremlin_graph_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + + @distributed_trace def begin_delete_gremlin_graph( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB Gremlin graph. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1244,15 +1820,17 @@ def begin_delete_gremlin_graph( :type graph_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1268,23 +1846,14 @@ def begin_delete_gremlin_graph( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1296,17 +1865,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_gremlin_graph.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}'} # type: ignore + @distributed_trace def get_gremlin_graph_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the Gremlin graph throughput under an existing Azure Cosmos DB database account with the provided name. @@ -1328,29 +1898,19 @@ def get_gremlin_graph_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_gremlin_graph_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_get_gremlin_graph_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self.get_gremlin_graph_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1364,51 +1924,42 @@ def get_gremlin_graph_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore + def _update_gremlin_graph_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_gremlin_graph_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_gremlin_graph_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + content_type=content_type, + json=_json, + template_url=self._update_gremlin_graph_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -1424,18 +1975,20 @@ def _update_gremlin_graph_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_gremlin_graph_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_gremlin_graph_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of an Azure Cosmos DB Gremlin graph. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1448,18 +2001,23 @@ def begin_update_gremlin_graph_throughput( :type graph_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current Gremlin graph. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1473,29 +2031,21 @@ def begin_update_gremlin_graph_throughput( database_name=database_name, graph_name=graph_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1507,45 +2057,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_gremlin_graph_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default'} # type: ignore def _migrate_gremlin_graph_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_gremlin_graph_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_migrate_gremlin_graph_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self._migrate_gremlin_graph_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1561,17 +2101,19 @@ def _migrate_gremlin_graph_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_gremlin_graph_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_gremlin_graph_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1584,15 +2126,18 @@ def begin_migrate_gremlin_graph_to_autoscale( :type graph_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1608,26 +2153,17 @@ def begin_migrate_gremlin_graph_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1639,45 +2175,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_graph_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_gremlin_graph_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_gremlin_graph_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_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 = build_migrate_gremlin_graph_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + template_url=self._migrate_gremlin_graph_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1693,17 +2219,19 @@ def _migrate_gremlin_graph_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_gremlin_graph_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_gremlin_graph_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - graph_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1716,15 +2244,18 @@ def begin_migrate_gremlin_graph_to_manual_throughput( :type graph_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1740,26 +2271,17 @@ def begin_migrate_gremlin_graph_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'graphName': self._serialize.url("graph_name", graph_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1771,4 +2293,135 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_gremlin_graph_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def _retrieve_continuous_backup_information_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> Optional["_models.BackupInformation"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + + request = build_retrieve_continuous_backup_information_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + content_type=content_type, + json=_json, + template_url=self._retrieve_continuous_backup_information_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/retrieveContinuousBackupInformation'} # type: ignore + + + @distributed_trace + def begin_retrieve_continuous_backup_information( + self, + resource_group_name: str, + account_name: str, + database_name: str, + graph_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> LROPoller["_models.BackupInformation"]: + """Retrieves continuous backup information for a gremlin graph. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param graph_name: Cosmos DB graph name. + :type graph_name: str + :param location: The name of the continuous backup restore location. + :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 BackupInformation or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] + 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._retrieve_continuous_backup_information_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + graph_name=graph_name, + location=location, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('BackupInformation', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/retrieveContinuousBackupInformation'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_locations_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_locations_operations.py new file mode 100644 index 00000000000..08d4924ef66 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_locations_operations.py @@ -0,0 +1,222 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class LocationsOperations(object): + """LocationsOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.LocationListResult"]: + """List Cosmos DB locations and their properties. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either LocationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.LocationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("LocationListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations'} # type: ignore + + @distributed_trace + def get( + self, + location: str, + **kwargs: Any + ) -> "_models.LocationGetResult": + """Get the properties of an existing Cosmos DB location. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocationGetResult, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.LocationGetResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocationGetResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('LocationGetResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}'} # type: ignore + diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_mongo_db_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_mongo_db_resources_operations.py index a465650c737..9d95da1670d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_mongo_db_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_mongo_db_resources_operations.py @@ -5,25 +5,1014 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_mongo_db_databases_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_mongo_db_database_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_mongo_db_database_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_mongo_db_database_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_mongo_db_database_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_mongo_db_database_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_mongo_db_database_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_mongo_db_database_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_mongo_db_collections_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_mongo_db_collection_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "collectionName": _SERIALIZER.url("collection_name", collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_mongo_db_collection_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "collectionName": _SERIALIZER.url("collection_name", collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_mongo_db_collection_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "collectionName": _SERIALIZER.url("collection_name", collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_mongo_db_collection_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "collectionName": _SERIALIZER.url("collection_name", collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_mongo_db_collection_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "collectionName": _SERIALIZER.url("collection_name", collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_mongo_db_collection_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "collectionName": _SERIALIZER.url("collection_name", collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_mongo_db_collection_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "collectionName": _SERIALIZER.url("collection_name", collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_mongo_role_definition_request( + mongo_role_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}') + path_format_arguments = { + "mongoRoleDefinitionId": _SERIALIZER.url("mongo_role_definition_id", mongo_role_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_mongo_role_definition_request_initial( + mongo_role_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}') + path_format_arguments = { + "mongoRoleDefinitionId": _SERIALIZER.url("mongo_role_definition_id", mongo_role_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_mongo_role_definition_request_initial( + mongo_role_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}') + path_format_arguments = { + "mongoRoleDefinitionId": _SERIALIZER.url("mongo_role_definition_id", mongo_role_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_mongo_role_definitions_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_mongo_user_definition_request( + mongo_user_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}') + path_format_arguments = { + "mongoUserDefinitionId": _SERIALIZER.url("mongo_user_definition_id", mongo_user_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_mongo_user_definition_request_initial( + mongo_user_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}') + path_format_arguments = { + "mongoUserDefinitionId": _SERIALIZER.url("mongo_user_definition_id", mongo_user_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_mongo_user_definition_request_initial( + mongo_user_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}') + path_format_arguments = { + "mongoUserDefinitionId": _SERIALIZER.url("mongo_user_definition_id", mongo_user_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_mongo_user_definitions_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_retrieve_continuous_backup_information_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "collectionName": _SERIALIZER.url("collection_name", collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) class MongoDBResourcesOperations(object): """MongoDBResourcesOperations operations. @@ -47,13 +1036,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_mongo_db_databases( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MongoDBDatabaseListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.MongoDBDatabaseListResult"]: """Lists the MongoDB databases under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -61,7 +1050,8 @@ def list_mongo_db_databases( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MongoDBDatabaseListResult or the result of cls(response) + :return: An iterator like instance of either MongoDBDatabaseListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MongoDBDatabaseListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -70,36 +1060,33 @@ def list_mongo_db_databases( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_mongo_db_databases.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_mongo_db_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_mongo_db_databases.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_mongo_db_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MongoDBDatabaseListResult', pipeline_response) + deserialized = self._deserialize("MongoDBDatabaseListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,19 +1104,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_mongo_db_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases'} # type: ignore + @distributed_trace def get_mongo_db_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.MongoDBDatabaseGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> "_models.MongoDBDatabaseGetResults": """Gets the MongoDB databases under an existing Azure Cosmos DB database account with the provided name. @@ -149,28 +1137,18 @@ def get_mongo_db_database( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_mongo_db_database.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_mongo_db_database_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_mongo_db_database.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -184,49 +1162,40 @@ def get_mongo_db_database( return cls(pipeline_response, deserialized, {}) return deserialized + get_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + def _create_update_mongo_db_database_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - create_update_mongo_db_database_parameters, # type: "_models.MongoDBDatabaseCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.MongoDBDatabaseGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + create_update_mongo_db_database_parameters: "_models.MongoDBDatabaseCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.MongoDBDatabaseGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoDBDatabaseGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_mongo_db_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_mongo_db_database_parameters, 'MongoDBDatabaseCreateUpdateParameters') + + request = build_create_update_mongo_db_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._create_update_mongo_db_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_mongo_db_database_parameters, 'MongoDBDatabaseCreateUpdateParameters') - 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 @@ -242,17 +1211,19 @@ def _create_update_mongo_db_database_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_mongo_db_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + @distributed_trace def begin_create_update_mongo_db_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - create_update_mongo_db_database_parameters, # type: "_models.MongoDBDatabaseCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.MongoDBDatabaseGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + create_update_mongo_db_database_parameters: "_models.MongoDBDatabaseCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.MongoDBDatabaseGetResults"]: """Create or updates Azure Cosmos DB MongoDB database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -263,18 +1234,23 @@ def begin_create_update_mongo_db_database( :type database_name: str :param create_update_mongo_db_database_parameters: The parameters to provide for the current MongoDB database. - :type create_update_mongo_db_database_parameters: ~azure.mgmt.cosmosdb.models.MongoDBDatabaseCreateUpdateParameters + :type create_update_mongo_db_database_parameters: + ~azure.mgmt.cosmosdb.models.MongoDBDatabaseCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 MongoDBDatabaseGetResults or the result of cls(response) + :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 MongoDBDatabaseGetResults or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.MongoDBDatabaseGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBDatabaseGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -287,28 +1263,21 @@ def begin_create_update_mongo_db_database( account_name=account_name, database_name=database_name, create_update_mongo_db_database_parameters=create_update_mongo_db_database_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('MongoDBDatabaseGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -320,41 +1289,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore def _delete_mongo_db_database_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_mongo_db_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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] + + request = build_delete_mongo_db_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._delete_mongo_db_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -367,14 +1328,15 @@ def _delete_mongo_db_database_initial( _delete_mongo_db_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + + @distributed_trace def begin_delete_mongo_db_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB MongoDB database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -385,15 +1347,17 @@ def begin_delete_mongo_db_database( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -408,22 +1372,14 @@ def begin_delete_mongo_db_database( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -435,16 +1391,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_mongo_db_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}'} # type: ignore + @distributed_trace def get_mongo_db_database_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the MongoDB database under an existing Azure Cosmos DB database account with the provided name. @@ -464,28 +1421,18 @@ def get_mongo_db_database_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_mongo_db_database_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_mongo_db_database_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_mongo_db_database_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -499,49 +1446,40 @@ def get_mongo_db_database_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore + def _update_mongo_db_database_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_mongo_db_database_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + + request = build_update_mongo_db_database_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._update_mongo_db_database_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -557,17 +1495,19 @@ def _update_mongo_db_database_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_mongo_db_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_mongo_db_database_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of the an Azure Cosmos DB MongoDB database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -578,18 +1518,23 @@ def begin_update_mongo_db_database_throughput( :type database_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current MongoDB database. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -602,28 +1547,21 @@ def begin_update_mongo_db_database_throughput( account_name=account_name, database_name=database_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -635,43 +1573,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_mongo_db_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _migrate_mongo_db_database_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_mongo_db_database_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_mongo_db_database_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_mongo_db_database_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -687,16 +1615,18 @@ def _migrate_mongo_db_database_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_mongo_db_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_mongo_db_database_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -707,15 +1637,18 @@ def begin_migrate_mongo_db_database_to_autoscale( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -730,25 +1663,17 @@ def begin_migrate_mongo_db_database_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -760,43 +1685,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_mongo_db_database_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_mongo_db_database_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_mongo_db_database_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_mongo_db_database_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -812,16 +1727,18 @@ def _migrate_mongo_db_database_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_mongo_db_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_mongo_db_database_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -832,15 +1749,18 @@ def begin_migrate_mongo_db_database_to_manual_throughput( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -855,25 +1775,17 @@ def begin_migrate_mongo_db_database_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -885,16 +1797,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_mongo_db_collections( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.MongoDBCollectionListResult"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Iterable["_models.MongoDBCollectionListResult"]: """Lists the MongoDB collection under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -904,7 +1817,8 @@ def list_mongo_db_collections( :param database_name: Cosmos DB database name. :type database_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MongoDBCollectionListResult or the result of cls(response) + :return: An iterator like instance of either MongoDBCollectionListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MongoDBCollectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -913,37 +1827,35 @@ def list_mongo_db_collections( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_mongo_db_collections.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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) + + request = build_list_mongo_db_collections_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.list_mongo_db_collections.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_mongo_db_collections_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('MongoDBCollectionListResult', pipeline_response) + deserialized = self._deserialize("MongoDBCollectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -961,20 +1873,21 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_mongo_db_collections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections'} # type: ignore + @distributed_trace def get_mongo_db_collection( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.MongoDBCollectionGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any + ) -> "_models.MongoDBCollectionGetResults": """Gets the MongoDB collection under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -995,29 +1908,19 @@ def get_mongo_db_collection( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_mongo_db_collection.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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 = build_get_mongo_db_collection_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self.get_mongo_db_collection.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1031,51 +1934,42 @@ def get_mongo_db_collection( return cls(pipeline_response, deserialized, {}) return deserialized + get_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + def _create_update_mongo_db_collection_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - create_update_mongo_db_collection_parameters, # type: "_models.MongoDBCollectionCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.MongoDBCollectionGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + create_update_mongo_db_collection_parameters: "_models.MongoDBCollectionCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.MongoDBCollectionGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoDBCollectionGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_mongo_db_collection_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_mongo_db_collection_parameters, 'MongoDBCollectionCreateUpdateParameters') + + request = build_create_update_mongo_db_collection_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + content_type=content_type, + json=_json, + template_url=self._create_update_mongo_db_collection_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_mongo_db_collection_parameters, 'MongoDBCollectionCreateUpdateParameters') - 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 @@ -1091,18 +1985,20 @@ def _create_update_mongo_db_collection_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_mongo_db_collection_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + @distributed_trace def begin_create_update_mongo_db_collection( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - create_update_mongo_db_collection_parameters, # type: "_models.MongoDBCollectionCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.MongoDBCollectionGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + create_update_mongo_db_collection_parameters: "_models.MongoDBCollectionCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.MongoDBCollectionGetResults"]: """Create or update an Azure Cosmos DB MongoDB Collection. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1115,18 +2011,23 @@ def begin_create_update_mongo_db_collection( :type collection_name: str :param create_update_mongo_db_collection_parameters: The parameters to provide for the current MongoDB Collection. - :type create_update_mongo_db_collection_parameters: ~azure.mgmt.cosmosdb.models.MongoDBCollectionCreateUpdateParameters + :type create_update_mongo_db_collection_parameters: + ~azure.mgmt.cosmosdb.models.MongoDBCollectionCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 MongoDBCollectionGetResults or the result of cls(response) + :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 MongoDBCollectionGetResults or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.MongoDBCollectionGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoDBCollectionGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1140,29 +2041,21 @@ def begin_create_update_mongo_db_collection( database_name=database_name, collection_name=collection_name, create_update_mongo_db_collection_parameters=create_update_mongo_db_collection_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('MongoDBCollectionGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1174,43 +2067,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore def _delete_mongo_db_collection_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_mongo_db_collection_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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] + + request = build_delete_mongo_db_collection_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self._delete_mongo_db_collection_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1223,15 +2108,16 @@ def _delete_mongo_db_collection_initial( _delete_mongo_db_collection_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + + @distributed_trace def begin_delete_mongo_db_collection( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB MongoDB Collection. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1244,15 +2130,17 @@ def begin_delete_mongo_db_collection( :type collection_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1268,23 +2156,14 @@ def begin_delete_mongo_db_collection( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1296,17 +2175,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_mongo_db_collection.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}'} # type: ignore + @distributed_trace def get_mongo_db_collection_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the MongoDB collection under an existing Azure Cosmos DB database account with the provided name. @@ -1328,29 +2208,19 @@ def get_mongo_db_collection_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_mongo_db_collection_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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 = build_get_mongo_db_collection_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self.get_mongo_db_collection_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1364,51 +2234,42 @@ def get_mongo_db_collection_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore + def _update_mongo_db_collection_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_mongo_db_collection_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + + request = build_update_mongo_db_collection_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + content_type=content_type, + json=_json, + template_url=self._update_mongo_db_collection_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -1424,18 +2285,20 @@ def _update_mongo_db_collection_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_mongo_db_collection_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_mongo_db_collection_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update the RUs per second of an Azure Cosmos DB MongoDB collection. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1448,18 +2311,23 @@ def begin_update_mongo_db_collection_throughput( :type collection_name: str :param update_throughput_parameters: The RUs per second of the parameters to provide for the current MongoDB collection. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1473,29 +2341,21 @@ def begin_update_mongo_db_collection_throughput( database_name=database_name, collection_name=collection_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1507,45 +2367,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_mongo_db_collection_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default'} # type: ignore def _migrate_mongo_db_collection_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_mongo_db_collection_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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 = build_migrate_mongo_db_collection_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self._migrate_mongo_db_collection_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1561,17 +2411,19 @@ def _migrate_mongo_db_collection_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_mongo_db_collection_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_mongo_db_collection_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1584,15 +2436,18 @@ def begin_migrate_mongo_db_collection_to_autoscale( :type collection_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1608,26 +2463,17 @@ def begin_migrate_mongo_db_collection_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1639,45 +2485,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_collection_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_mongo_db_collection_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_mongo_db_collection_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_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 = build_migrate_mongo_db_collection_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + template_url=self._migrate_mongo_db_collection_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1693,17 +2529,19 @@ def _migrate_mongo_db_collection_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_mongo_db_collection_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_mongo_db_collection_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1716,15 +2554,18 @@ def begin_migrate_mongo_db_collection_to_manual_throughput( :type collection_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1740,26 +2581,17 @@ def begin_migrate_mongo_db_collection_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'collectionName': self._serialize.url("collection_name", collection_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1771,4 +2603,853 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_mongo_db_collection_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace + def get_mongo_role_definition( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.MongoRoleDefinitionGetResults": + """Retrieves the properties of an existing Azure Cosmos DB Mongo Role Definition with the given + Id. + + :param mongo_role_definition_id: The ID for the Role Definition {dbName.roleName}. + :type mongo_role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MongoRoleDefinitionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.MongoRoleDefinitionGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoRoleDefinitionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_mongo_role_definition_request( + mongo_role_definition_id=mongo_role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_mongo_role_definition.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MongoRoleDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_mongo_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + + def _create_update_mongo_role_definition_initial( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_mongo_role_definition_parameters: "_models.MongoRoleDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.MongoRoleDefinitionGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoRoleDefinitionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_mongo_role_definition_parameters, 'MongoRoleDefinitionCreateUpdateParameters') + + request = build_create_update_mongo_role_definition_request_initial( + mongo_role_definition_id=mongo_role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_update_mongo_role_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MongoRoleDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_update_mongo_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + + @distributed_trace + def begin_create_update_mongo_role_definition( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_mongo_role_definition_parameters: "_models.MongoRoleDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.MongoRoleDefinitionGetResults"]: + """Creates or updates an Azure Cosmos DB Mongo Role Definition. + + :param mongo_role_definition_id: The ID for the Role Definition {dbName.roleName}. + :type mongo_role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param create_update_mongo_role_definition_parameters: The properties required to create or + update a Role Definition. + :type create_update_mongo_role_definition_parameters: + ~azure.mgmt.cosmosdb.models.MongoRoleDefinitionCreateUpdateParameters + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 MongoRoleDefinitionGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.MongoRoleDefinitionGetResults] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoRoleDefinitionGetResults"] + 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_update_mongo_role_definition_initial( + mongo_role_definition_id=mongo_role_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + create_update_mongo_role_definition_parameters=create_update_mongo_role_definition_parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('MongoRoleDefinitionGetResults', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_update_mongo_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + def _delete_mongo_role_definition_initial( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_mongo_role_definition_request_initial( + mongo_role_definition_id=mongo_role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_mongo_role_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_mongo_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + + @distributed_trace + def begin_delete_mongo_role_definition( + self, + mongo_role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Deletes an existing Azure Cosmos DB Mongo Role Definition. + + :param mongo_role_definition_id: The ID for the Role Definition {dbName.roleName}. + :type mongo_role_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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_mongo_role_definition_initial( + mongo_role_definition_id=mongo_role_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_mongo_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}'} # type: ignore + + @distributed_trace + def list_mongo_role_definitions( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.MongoRoleDefinitionListResult"]: + """Retrieves the list of all Azure Cosmos DB Mongo Role Definitions. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MongoRoleDefinitionListResult or the result of + cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MongoRoleDefinitionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoRoleDefinitionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_mongo_role_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_mongo_role_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_mongo_role_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("MongoRoleDefinitionListResult", 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_mongo_role_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions'} # type: ignore + + @distributed_trace + def get_mongo_user_definition( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.MongoUserDefinitionGetResults": + """Retrieves the properties of an existing Azure Cosmos DB Mongo User Definition with the given + Id. + + :param mongo_user_definition_id: The ID for the User Definition {dbName.userName}. + :type mongo_user_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MongoUserDefinitionGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.MongoUserDefinitionGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoUserDefinitionGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_mongo_user_definition_request( + mongo_user_definition_id=mongo_user_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_mongo_user_definition.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MongoUserDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_mongo_user_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + + def _create_update_mongo_user_definition_initial( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_mongo_user_definition_parameters: "_models.MongoUserDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.MongoUserDefinitionGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MongoUserDefinitionGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_mongo_user_definition_parameters, 'MongoUserDefinitionCreateUpdateParameters') + + request = build_create_update_mongo_user_definition_request_initial( + mongo_user_definition_id=mongo_user_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_update_mongo_user_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('MongoUserDefinitionGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_update_mongo_user_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + + @distributed_trace + def begin_create_update_mongo_user_definition( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_mongo_user_definition_parameters: "_models.MongoUserDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.MongoUserDefinitionGetResults"]: + """Creates or updates an Azure Cosmos DB Mongo User Definition. + + :param mongo_user_definition_id: The ID for the User Definition {dbName.userName}. + :type mongo_user_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param create_update_mongo_user_definition_parameters: The properties required to create or + update a User Definition. + :type create_update_mongo_user_definition_parameters: + ~azure.mgmt.cosmosdb.models.MongoUserDefinitionCreateUpdateParameters + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 MongoUserDefinitionGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.MongoUserDefinitionGetResults] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoUserDefinitionGetResults"] + 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_update_mongo_user_definition_initial( + mongo_user_definition_id=mongo_user_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + create_update_mongo_user_definition_parameters=create_update_mongo_user_definition_parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('MongoUserDefinitionGetResults', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_update_mongo_user_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + def _delete_mongo_user_definition_initial( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_mongo_user_definition_request_initial( + mongo_user_definition_id=mongo_user_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_mongo_user_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_mongo_user_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + + @distributed_trace + def begin_delete_mongo_user_definition( + self, + mongo_user_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Deletes an existing Azure Cosmos DB Mongo User Definition. + + :param mongo_user_definition_id: The ID for the User Definition {dbName.userName}. + :type mongo_user_definition_id: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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_mongo_user_definition_initial( + mongo_user_definition_id=mongo_user_definition_id, + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_mongo_user_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}'} # type: ignore + + @distributed_trace + def list_mongo_user_definitions( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.MongoUserDefinitionListResult"]: + """Retrieves the list of all Azure Cosmos DB Mongo User Definition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MongoUserDefinitionListResult or the result of + cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.MongoUserDefinitionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MongoUserDefinitionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_mongo_user_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_mongo_user_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_mongo_user_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("MongoUserDefinitionListResult", 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_mongo_user_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions'} # type: ignore + + def _retrieve_continuous_backup_information_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> Optional["_models.BackupInformation"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + + request = build_retrieve_continuous_backup_information_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + content_type=content_type, + json=_json, + template_url=self._retrieve_continuous_backup_information_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation'} # type: ignore + + + @distributed_trace + def begin_retrieve_continuous_backup_information( + self, + resource_group_name: str, + account_name: str, + database_name: str, + collection_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> LROPoller["_models.BackupInformation"]: + """Retrieves continuous backup information for a Mongodb collection. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param collection_name: Cosmos DB collection name. + :type collection_name: str + :param location: The name of the continuous backup restore location. + :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 BackupInformation or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] + 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._retrieve_continuous_backup_information_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + collection_name=collection_name, + location=location, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('BackupInformation', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_notebook_workspaces_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_notebook_workspaces_operations.py index bfb8a73234e..da0e8eabdf3 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_notebook_workspaces_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_notebook_workspaces_operations.py @@ -5,25 +5,294 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_database_account_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "notebookWorkspaceName": _SERIALIZER.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "notebookWorkspaceName": _SERIALIZER.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "notebookWorkspaceName": _SERIALIZER.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_connection_info_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "notebookWorkspaceName": _SERIALIZER.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_regenerate_auth_token_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "notebookWorkspaceName": _SERIALIZER.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_start_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "notebookWorkspaceName": _SERIALIZER.url("notebook_workspace_name", notebook_workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class NotebookWorkspacesOperations(object): """NotebookWorkspacesOperations operations. @@ -47,13 +316,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_by_database_account( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.NotebookWorkspaceListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.NotebookWorkspaceListResult"]: """Gets the notebook workspace resources of an existing Cosmos DB account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -61,7 +330,8 @@ def list_by_database_account( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either NotebookWorkspaceListResult or the result of cls(response) + :return: An iterator like instance of either NotebookWorkspaceListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.NotebookWorkspaceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -70,36 +340,33 @@ def list_by_database_account( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_database_account.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_by_database_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('NotebookWorkspaceListResult', pipeline_response) + deserialized = self._deserialize("NotebookWorkspaceListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -112,25 +379,26 @@ def get_next(next_link=None): 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return ItemPaged( get_next, extract_data ) list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - **kwargs # type: Any - ): - # type: (...) -> "_models.NotebookWorkspace" + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any + ) -> "_models.NotebookWorkspace": """Gets the notebook workspace for a Cosmos DB account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -149,34 +417,24 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('NotebookWorkspace', pipeline_response) @@ -185,56 +443,46 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + def _create_or_update_initial( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - notebook_create_update_parameters, # type: "_models.NotebookWorkspaceCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> "_models.NotebookWorkspace" + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + notebook_create_update_parameters: "_models.NotebookWorkspaceCreateUpdateParameters", + **kwargs: Any + ) -> "_models.NotebookWorkspace": cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(notebook_create_update_parameters, 'NotebookWorkspaceCreateUpdateParameters') - # 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') + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(notebook_create_update_parameters, 'NotebookWorkspaceCreateUpdateParameters') - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = self._deserialize('NotebookWorkspace', pipeline_response) @@ -242,17 +490,19 @@ def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + @distributed_trace def begin_create_or_update( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - notebook_create_update_parameters, # type: "_models.NotebookWorkspaceCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.NotebookWorkspace"] + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + notebook_create_update_parameters: "_models.NotebookWorkspaceCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.NotebookWorkspace"]: """Creates the notebook workspace for a Cosmos DB account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -263,18 +513,23 @@ def begin_create_or_update( :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName :param notebook_create_update_parameters: The notebook workspace to create for the current database account. - :type notebook_create_update_parameters: ~azure.mgmt.cosmosdb.models.NotebookWorkspaceCreateUpdateParameters + :type notebook_create_update_parameters: + ~azure.mgmt.cosmosdb.models.NotebookWorkspaceCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 NotebookWorkspace or the result of cls(response) + :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 NotebookWorkspace or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.NotebookWorkspace] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.NotebookWorkspace"] lro_delay = kwargs.pop( 'polling_interval', @@ -287,28 +542,21 @@ def begin_create_or_update( account_name=account_name, notebook_workspace_name=notebook_workspace_name, notebook_create_update_parameters=notebook_create_update_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('NotebookWorkspace', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -320,64 +568,54 @@ def get_long_running_output(pipeline_response): ) 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.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore def _delete_initial( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any + ) -> 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-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any + ) -> LROPoller[None]: """Deletes the notebook workspace for a Cosmos DB account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -388,15 +626,17 @@ def begin_delete( :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -411,22 +651,14 @@ def begin_delete( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -438,16 +670,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}'} # type: ignore + @distributed_trace def list_connection_info( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - **kwargs # type: Any - ): - # type: (...) -> "_models.NotebookWorkspaceConnectionInfoResult" + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any + ) -> "_models.NotebookWorkspaceConnectionInfoResult": """Retrieves the connection info for the notebook workspace. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -466,34 +699,24 @@ def list_connection_info( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_connection_info.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_list_connection_info_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self.list_connection_info.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('NotebookWorkspaceConnectionInfoResult', pipeline_response) @@ -502,64 +725,55 @@ def list_connection_info( return cls(pipeline_response, deserialized, {}) return deserialized + list_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo'} # type: ignore + def _regenerate_auth_token_initial( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any + ) -> 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-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._regenerate_auth_token_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_regenerate_auth_token_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self._regenerate_auth_token_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _regenerate_auth_token_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} # type: ignore + + @distributed_trace def begin_regenerate_auth_token( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any + ) -> LROPoller[None]: """Regenerates the auth token for the notebook workspace. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -570,15 +784,17 @@ def begin_regenerate_auth_token( :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -593,22 +809,14 @@ def begin_regenerate_auth_token( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -620,64 +828,54 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_regenerate_auth_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken'} # type: ignore def _start_initial( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any + ) -> 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-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_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 = build_start_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + notebook_workspace_name=notebook_workspace_name, + template_url=self._start_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} # type: ignore + + @distributed_trace def begin_start( self, - resource_group_name, # type: str - account_name, # type: str - notebook_workspace_name, # type: Union[str, "_models.NotebookWorkspaceName"] - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + notebook_workspace_name: Union[str, "_models.NotebookWorkspaceName"], + **kwargs: Any + ) -> LROPoller[None]: """Starts the notebook workspace. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -688,15 +886,17 @@ def begin_start( :type notebook_workspace_name: str or ~azure.mgmt.cosmosdb.models.NotebookWorkspaceName :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -711,22 +911,14 @@ def begin_start( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'notebookWorkspaceName': self._serialize.url("notebook_workspace_name", notebook_workspace_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -738,4 +930,5 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_operations.py index 78de171309d..8988e9d53e6 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_operations.py @@ -5,23 +5,50 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.DocumentDB/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class Operations(object): """Operations operations. @@ -45,11 +72,11 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.OperationListResult"] + **kwargs: Any + ) -> Iterable["_models.OperationListResult"]: """Lists all of the available Cosmos DB Resource Provider operations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -62,30 +89,27 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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 = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('OperationListResult', pipeline_response) + deserialized = self._deserialize("OperationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -103,6 +127,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_operations.py index 549d6e3e572..a033222df0d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_operations.py @@ -5,23 +5,69 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + partition_key_range_id: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + "partitionKeyRangeId": _SERIALIZER.url("partition_key_range_id", partition_key_range_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class PartitionKeyRangeIdOperations(object): """PartitionKeyRangeIdOperations operations. @@ -45,17 +91,17 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - database_rid, # type: str - collection_rid, # type: str - partition_key_range_id, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PartitionMetricListResult"] + resource_group_name: str, + account_name: str, + database_rid: str, + collection_rid: str, + partition_key_range_id: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.PartitionMetricListResult"]: """Retrieves the metrics determined by the given filter for the given partition key range id. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -73,7 +119,8 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) + :return: An iterator like instance of either PartitionMetricListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -82,40 +129,41 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), - 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + partition_key_range_id=partition_key_range_id, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_rid=database_rid, + collection_rid=collection_rid, + partition_key_range_id=partition_key_range_id, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionMetricListResult', pipeline_response) + deserialized = self._deserialize("PartitionMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -133,6 +181,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_region_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_region_operations.py index 8e68bea8329..7e7d30e2e16 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_region_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_partition_key_range_id_region_operations.py @@ -5,23 +5,71 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + partition_key_range_id: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/region/{region}/databases/{databaseRid}/collections/{collectionRid}/partitionKeyRangeId/{partitionKeyRangeId}/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "region": _SERIALIZER.url("region", region, 'str'), + "databaseRid": _SERIALIZER.url("database_rid", database_rid, 'str'), + "collectionRid": _SERIALIZER.url("collection_rid", collection_rid, 'str'), + "partitionKeyRangeId": _SERIALIZER.url("partition_key_range_id", partition_key_range_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class PartitionKeyRangeIdRegionOperations(object): """PartitionKeyRangeIdRegionOperations operations. @@ -45,18 +93,18 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - region, # type: str - database_rid, # type: str - collection_rid, # type: str - partition_key_range_id, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PartitionMetricListResult"] + resource_group_name: str, + account_name: str, + region: str, + database_rid: str, + collection_rid: str, + partition_key_range_id: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.PartitionMetricListResult"]: """Retrieves the metrics determined by the given filter for the given partition key range id and region. @@ -77,7 +125,8 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PartitionMetricListResult or the result of cls(response) + :return: An iterator like instance of either PartitionMetricListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PartitionMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -86,41 +135,43 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'region': self._serialize.url("region", region, 'str'), - 'databaseRid': self._serialize.url("database_rid", database_rid, 'str'), - 'collectionRid': self._serialize.url("collection_rid", collection_rid, 'str'), - 'partitionKeyRangeId': self._serialize.url("partition_key_range_id", partition_key_range_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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + partition_key_range_id=partition_key_range_id, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + region=region, + database_rid=database_rid, + collection_rid=collection_rid, + partition_key_range_id=partition_key_range_id, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PartitionMetricListResult', pipeline_response) + deserialized = self._deserialize("PartitionMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -138,6 +189,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_operations.py index 263110f8bf1..d23c336d5a2 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_operations.py @@ -5,23 +5,63 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/percentile/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class PercentileOperations(object): """PercentileOperations operations. @@ -45,14 +85,14 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PercentileMetricListResult"] + resource_group_name: str, + account_name: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.PercentileMetricListResult"]: """Retrieves the metrics determined by the given filter for the given database account. This url is only for PBS and Replication Latency data. @@ -65,7 +105,8 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) + :return: An iterator like instance of either PercentileMetricListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -74,37 +115,35 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PercentileMetricListResult', pipeline_response) + deserialized = self._deserialize("PercentileMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -122,6 +161,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_source_target_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_source_target_operations.py index 8ab15c2a94d..909200a5399 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_source_target_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_source_target_operations.py @@ -5,23 +5,67 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + source_region: str, + target_region: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sourceRegion/{sourceRegion}/targetRegion/{targetRegion}/percentile/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "sourceRegion": _SERIALIZER.url("source_region", source_region, 'str'), + "targetRegion": _SERIALIZER.url("target_region", target_region, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class PercentileSourceTargetOperations(object): """PercentileSourceTargetOperations operations. @@ -45,16 +89,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - source_region, # type: str - target_region, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PercentileMetricListResult"] + resource_group_name: str, + account_name: str, + source_region: str, + target_region: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.PercentileMetricListResult"]: """Retrieves the metrics determined by the given filter for the given account, source and target region. This url is only for PBS and Replication Latency data. @@ -73,7 +117,8 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) + :return: An iterator like instance of either PercentileMetricListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -82,39 +127,39 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'sourceRegion': self._serialize.url("source_region", source_region, 'str'), - 'targetRegion': self._serialize.url("target_region", target_region, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + source_region=source_region, + target_region=target_region, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + source_region=source_region, + target_region=target_region, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PercentileMetricListResult', pipeline_response) + deserialized = self._deserialize("PercentileMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -132,6 +177,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_target_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_target_operations.py index c4518020387..8453af895a3 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_target_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_percentile_target_operations.py @@ -5,23 +5,65 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_metrics_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + target_region: str, + *, + filter: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/targetRegion/{targetRegion}/percentile/metrics') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "targetRegion": _SERIALIZER.url("target_region", target_region, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class PercentileTargetOperations(object): """PercentileTargetOperations operations. @@ -45,15 +87,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_metrics( self, - resource_group_name, # type: str - account_name, # type: str - target_region, # type: str - filter, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PercentileMetricListResult"] + resource_group_name: str, + account_name: str, + target_region: str, + filter: str, + **kwargs: Any + ) -> Iterable["_models.PercentileMetricListResult"]: """Retrieves the metrics determined by the given filter for the given account target region. This url is only for PBS and Replication Latency data. @@ -69,7 +111,8 @@ def list_metrics( names), startTime, endTime, and timeGrain. The supported operator is eq. :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PercentileMetricListResult or the result of cls(response) + :return: An iterator like instance of either PercentileMetricListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PercentileMetricListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -78,38 +121,37 @@ def list_metrics( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_metrics.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'targetRegion': self._serialize.url("target_region", target_region, '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') - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + target_region=target_region, + filter=filter, + template_url=self.list_metrics.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_metrics_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + target_region=target_region, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PercentileMetricListResult', pipeline_response) + deserialized = self._deserialize("PercentileMetricListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -127,6 +169,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_endpoint_connections_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_endpoint_connections_operations.py index c63412113ba..3d98a845951 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_endpoint_connections_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_endpoint_connections_operations.py @@ -5,25 +5,183 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_database_account_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class PrivateEndpointConnectionsOperations(object): """PrivateEndpointConnectionsOperations operations. @@ -47,13 +205,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_by_database_account( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PrivateEndpointConnectionListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.PrivateEndpointConnectionListResult"]: """List all private endpoint connections on a Cosmos DB account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -61,8 +219,10 @@ def list_by_database_account( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PrivateEndpointConnectionListResult] + :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PrivateEndpointConnectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] @@ -70,36 +230,33 @@ def list_by_database_account( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_database_account.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_by_database_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PrivateEndpointConnectionListResult', pipeline_response) + deserialized = self._deserialize("PrivateEndpointConnectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,19 +274,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - account_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateEndpointConnection" + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": """Gets a private endpoint connection. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -148,28 +306,18 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -183,56 +331,46 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + def _create_or_update_initial( self, - resource_group_name, # type: str - account_name, # type: str - private_endpoint_connection_name, # type: str - parameters, # type: "_models.PrivateEndpointConnection" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.PrivateEndpointConnection"] + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + parameters: "_models.PrivateEndpointConnection", + **kwargs: Any + ) -> Optional["_models.PrivateEndpointConnection"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.PrivateEndpointConnection"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'PrivateEndpointConnection') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') - 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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: @@ -242,17 +380,19 @@ def _create_or_update_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + @distributed_trace def begin_create_or_update( self, - resource_group_name, # type: str - account_name, # type: str - private_endpoint_connection_name, # type: str - parameters, # type: "_models.PrivateEndpointConnection" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.PrivateEndpointConnection"] + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + parameters: "_models.PrivateEndpointConnection", + **kwargs: Any + ) -> LROPoller["_models.PrivateEndpointConnection"]: """Approve or reject a private endpoint connection with a given name. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -265,15 +405,19 @@ def begin_create_or_update( :type parameters: ~azure.mgmt.cosmosdb.models.PrivateEndpointConnection :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 PrivateEndpointConnection or the result of cls(response) + :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 PrivateEndpointConnection or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.PrivateEndpointConnection] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] lro_delay = kwargs.pop( 'polling_interval', @@ -286,28 +430,21 @@ def begin_create_or_update( account_name=account_name, private_endpoint_connection_name=private_endpoint_connection_name, parameters=parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('PrivateEndpointConnection', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -319,64 +456,54 @@ def get_long_running_output(pipeline_response): ) 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.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def _delete_initial( self, - resource_group_name, # type: str - account_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> 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-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - account_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes a private endpoint connection with a given name. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -387,15 +514,17 @@ def begin_delete( :type private_endpoint_connection_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -410,22 +539,14 @@ def begin_delete( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -437,4 +558,5 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_link_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_link_resources_operations.py index 1fae2104d1d..60e82b2363a 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_link_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_private_link_resources_operations.py @@ -5,23 +5,97 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_database_account_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + group_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "groupName": _SERIALIZER.url("group_name", group_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class PrivateLinkResourcesOperations(object): """PrivateLinkResourcesOperations operations. @@ -45,13 +119,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_by_database_account( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PrivateLinkResourceListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.PrivateLinkResourceListResult"]: """Gets the private link resources that need to be created for a Cosmos DB account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -59,7 +133,8 @@ def list_by_database_account( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PrivateLinkResourceListResult or the result of cls(response) + :return: An iterator like instance of either PrivateLinkResourceListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.PrivateLinkResourceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -68,36 +143,33 @@ def list_by_database_account( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_database_account.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_by_database_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_database_account_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('PrivateLinkResourceListResult', pipeline_response) + deserialized = self._deserialize("PrivateLinkResourceListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -115,19 +187,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_by_database_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - account_name, # type: str - group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateLinkResource" + resource_group_name: str, + account_name: str, + group_name: str, + **kwargs: Any + ) -> "_models.PrivateLinkResource": """Gets the private link resources that need to be created for a Cosmos DB account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -146,28 +219,18 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'groupName': self._serialize.url("group_name", 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') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + group_name=group_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -181,4 +244,6 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}'} # type: ignore + diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_database_accounts_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_database_accounts_operations.py index b6183ae2e72..0bb616b0c26 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_database_accounts_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_database_accounts_operations.py @@ -5,23 +5,124 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_location_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_by_location_request( + subscription_id: str, + location: str, + instance_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class RestorableDatabaseAccountsOperations(object): """RestorableDatabaseAccountsOperations operations. @@ -45,12 +146,12 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_by_location( self, - location, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RestorableDatabaseAccountsListResult"] + location: str, + **kwargs: Any + ) -> Iterable["_models.RestorableDatabaseAccountsListResult"]: """Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission. @@ -58,8 +159,10 @@ def list_by_location( :param location: Cosmos DB region, with spaces between words and each word capitalized. :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 RestorableDatabaseAccountsListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] + :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountsListResult"] @@ -67,35 +170,31 @@ def list_by_location( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_location.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) + + request = build_list_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list_by_location.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableDatabaseAccountsListResult', pipeline_response) + deserialized = self._deserialize("RestorableDatabaseAccountsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -113,22 +212,25 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts'} # type: ignore + @distributed_trace def list( self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RestorableDatabaseAccountsListResult"] + **kwargs: Any + ) -> Iterable["_models.RestorableDatabaseAccountsListResult"]: """Lists all the restorable Azure Cosmos DB database accounts available under the subscription. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] + :return: An iterator like instance of either RestorableDatabaseAccountsListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableDatabaseAccountsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableDatabaseAccountsListResult"] @@ -136,34 +238,29 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - } - url = self._client.format_url(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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableDatabaseAccountsListResult', pipeline_response) + deserialized = self._deserialize("RestorableDatabaseAccountsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -181,18 +278,19 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts'} # type: ignore + @distributed_trace def get_by_location( self, - location, # type: str - instance_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.RestorableDatabaseAccountGetResult" + location: str, + instance_id: str, + **kwargs: Any + ) -> "_models.RestorableDatabaseAccountGetResult": """Retrieves the properties of an existing Azure Cosmos DB restorable database account. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' permission. @@ -210,27 +308,17 @@ def get_by_location( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_by_location.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'), - 'instanceId': self._serialize.url("instance_id", instance_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 = build_get_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=self.get_by_location.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -244,4 +332,6 @@ def get_by_location( return cls(pipeline_response, deserialized, {}) return deserialized + get_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}'} # type: ignore + diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_databases_operations.py new file mode 100644 index 00000000000..3692465b86a --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_databases_operations.py @@ -0,0 +1,161 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinDatabases') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class RestorableGremlinDatabasesOperations(object): + """RestorableGremlinDatabasesOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + **kwargs: Any + ) -> Iterable["_models.RestorableGremlinDatabasesListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB Gremlin databases under + the restorable account. This helps in scenario where database was accidentally deleted to get + the deletion time. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableGremlinDatabasesListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableGremlinDatabasesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableGremlinDatabasesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableGremlinDatabasesListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinDatabases'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_graphs_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_graphs_operations.py new file mode 100644 index 00000000000..b90c8a5fbad --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_graphs_operations.py @@ -0,0 +1,185 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + *, + restorable_gremlin_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGraphs') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if restorable_gremlin_database_rid is not None: + query_parameters['restorableGremlinDatabaseRid'] = _SERIALIZER.query("restorable_gremlin_database_rid", restorable_gremlin_database_rid, 'str') + if start_time is not None: + query_parameters['startTime'] = _SERIALIZER.query("start_time", start_time, 'str') + if end_time is not None: + query_parameters['endTime'] = _SERIALIZER.query("end_time", end_time, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class RestorableGremlinGraphsOperations(object): + """RestorableGremlinGraphsOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + restorable_gremlin_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RestorableGremlinGraphsListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB Gremlin graphs under a + specific database. This helps in scenario where container was accidentally deleted. This API + requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restorable_gremlin_database_rid: The resource ID of the Gremlin database. + :type restorable_gremlin_database_rid: str + :param start_time: Restorable Gremlin graphs event feed start time. + :type start_time: str + :param end_time: Restorable Gremlin graphs event feed end time. + :type end_time: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableGremlinGraphsListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableGremlinGraphsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableGremlinGraphsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_gremlin_database_rid=restorable_gremlin_database_rid, + start_time=start_time, + end_time=end_time, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_gremlin_database_rid=restorable_gremlin_database_rid, + start_time=start_time, + end_time=end_time, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableGremlinGraphsListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGraphs'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_resources_operations.py new file mode 100644 index 00000000000..22470d062dd --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_gremlin_resources_operations.py @@ -0,0 +1,178 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + *, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinResources') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if restore_location is not None: + query_parameters['restoreLocation'] = _SERIALIZER.query("restore_location", restore_location, 'str') + if restore_timestamp_in_utc is not None: + query_parameters['restoreTimestampInUtc'] = _SERIALIZER.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class RestorableGremlinResourcesOperations(object): + """RestorableGremlinResourcesOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RestorableGremlinResourcesListResult"]: + """Return a list of gremlin database and graphs combo that exist on the account at the given + timestamp and location. This helps in scenarios to validate what resources exist at given + timestamp and location. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restore_location: The location where the restorable resources are located. + :type restore_location: str + :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. + :type restore_timestamp_in_utc: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableGremlinResourcesListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableGremlinResourcesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableGremlinResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableGremlinResourcesListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinResources'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_collections_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_collections_operations.py index cd45b4c6d99..2f251c47a55 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_collections_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_collections_operations.py @@ -5,23 +5,70 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + *, + restorable_mongodb_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if restorable_mongodb_database_rid is not None: + query_parameters['restorableMongodbDatabaseRid'] = _SERIALIZER.query("restorable_mongodb_database_rid", restorable_mongodb_database_rid, 'str') + if start_time is not None: + query_parameters['startTime'] = _SERIALIZER.query("start_time", start_time, 'str') + if end_time is not None: + query_parameters['endTime'] = _SERIALIZER.query("end_time", end_time, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class RestorableMongodbCollectionsOperations(object): """RestorableMongodbCollectionsOperations operations. @@ -45,14 +92,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - instance_id, # type: str - restorable_mongodb_database_rid=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RestorableMongodbCollectionsListResult"] + location: str, + instance_id: str, + restorable_mongodb_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RestorableMongodbCollectionsListResult"]: """Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. @@ -63,9 +112,15 @@ def list( :type instance_id: str :param restorable_mongodb_database_rid: The resource ID of the MongoDB database. :type restorable_mongodb_database_rid: str + :param start_time: Restorable MongoDB collections event feed start time. + :type start_time: str + :param end_time: Restorable MongoDB collections event feed end time. + :type end_time: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableMongodbCollectionsListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionsListResult] + :return: An iterator like instance of either RestorableMongodbCollectionsListResult or the + result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbCollectionsListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbCollectionsListResult"] @@ -73,38 +128,39 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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 restorable_mongodb_database_rid is not None: - query_parameters['restorableMongodbDatabaseRid'] = self._serialize.query("restorable_mongodb_database_rid", restorable_mongodb_database_rid, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_mongodb_database_rid=restorable_mongodb_database_rid, + start_time=start_time, + end_time=end_time, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_mongodb_database_rid=restorable_mongodb_database_rid, + start_time=start_time, + end_time=end_time, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableMongodbCollectionsListResult', pipeline_response) + deserialized = self._deserialize("RestorableMongodbCollectionsListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -122,6 +178,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_databases_operations.py index d3d5ff7c831..fdd9e164373 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_databases_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_databases_operations.py @@ -5,23 +5,60 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class RestorableMongodbDatabasesOperations(object): """RestorableMongodbDatabasesOperations operations. @@ -45,13 +82,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - instance_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RestorableMongodbDatabasesListResult"] + location: str, + instance_id: str, + **kwargs: Any + ) -> Iterable["_models.RestorableMongodbDatabasesListResult"]: """Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires @@ -62,8 +99,10 @@ def list( :param instance_id: The instanceId GUID of a restorable database account. :type instance_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableMongodbDatabasesListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasesListResult] + :return: An iterator like instance of either RestorableMongodbDatabasesListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbDatabasesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbDatabasesListResult"] @@ -71,36 +110,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableMongodbDatabasesListResult', pipeline_response) + deserialized = self._deserialize("RestorableMongodbDatabasesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -118,6 +154,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_resources_operations.py index 5ffec558d4b..863c4935f54 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_mongodb_resources_operations.py @@ -5,23 +5,67 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + *, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if restore_location is not None: + query_parameters['restoreLocation'] = _SERIALIZER.query("restore_location", restore_location, 'str') + if restore_timestamp_in_utc is not None: + query_parameters['restoreTimestampInUtc'] = _SERIALIZER.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class RestorableMongodbResourcesOperations(object): """RestorableMongodbResourcesOperations operations. @@ -45,15 +89,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - instance_id, # type: str - restore_location=None, # type: Optional[str] - restore_timestamp_in_utc=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RestorableMongodbResourcesListResult"] + location: str, + instance_id: str, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RestorableMongodbResourcesListResult"]: """Return a list of database and collection combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires @@ -68,8 +112,10 @@ def list( :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. :type restore_timestamp_in_utc: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableMongodbResourcesListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbResourcesListResult] + :return: An iterator like instance of either RestorableMongodbResourcesListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableMongodbResourcesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableMongodbResourcesListResult"] @@ -77,40 +123,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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 restore_location is not None: - query_parameters['restoreLocation'] = self._serialize.query("restore_location", restore_location, 'str') - if restore_timestamp_in_utc is not None: - query_parameters['restoreTimestampInUtc'] = self._serialize.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableMongodbResourcesListResult', pipeline_response) + deserialized = self._deserialize("RestorableMongodbResourcesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -128,6 +171,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_containers_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_containers_operations.py index 3ea7156988e..0878d31ef08 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_containers_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_containers_operations.py @@ -5,23 +5,70 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + *, + restorable_sql_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if restorable_sql_database_rid is not None: + query_parameters['restorableSqlDatabaseRid'] = _SERIALIZER.query("restorable_sql_database_rid", restorable_sql_database_rid, 'str') + if start_time is not None: + query_parameters['startTime'] = _SERIALIZER.query("start_time", start_time, 'str') + if end_time is not None: + query_parameters['endTime'] = _SERIALIZER.query("end_time", end_time, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class RestorableSqlContainersOperations(object): """RestorableSqlContainersOperations operations. @@ -45,16 +92,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - instance_id, # type: str - restorable_sql_database_rid=None, # type: Optional[str] - start_time=None, # type: Optional[str] - end_time=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RestorableSqlContainersListResult"] + location: str, + instance_id: str, + restorable_sql_database_rid: Optional[str] = None, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RestorableSqlContainersListResult"]: """Show the event feed of all mutations done on all the Azure Cosmos DB SQL containers under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. @@ -65,13 +112,15 @@ def list( :type instance_id: str :param restorable_sql_database_rid: The resource ID of the SQL database. :type restorable_sql_database_rid: str - :param start_time: The snapshot create timestamp after which snapshots need to be listed. + :param start_time: Restorable Sql containers event feed start time. :type start_time: str - :param end_time: The snapshot create timestamp before which snapshots need to be listed. + :param end_time: Restorable Sql containers event feed end time. :type end_time: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableSqlContainersListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlContainersListResult] + :return: An iterator like instance of either RestorableSqlContainersListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlContainersListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlContainersListResult"] @@ -79,42 +128,39 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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 restorable_sql_database_rid is not None: - query_parameters['restorableSqlDatabaseRid'] = self._serialize.query("restorable_sql_database_rid", restorable_sql_database_rid, 'str') - if start_time is not None: - query_parameters['startTime'] = self._serialize.query("start_time", start_time, 'str') - if end_time is not None: - query_parameters['endTime'] = self._serialize.query("end_time", end_time, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_sql_database_rid=restorable_sql_database_rid, + start_time=start_time, + end_time=end_time, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restorable_sql_database_rid=restorable_sql_database_rid, + start_time=start_time, + end_time=end_time, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableSqlContainersListResult', pipeline_response) + deserialized = self._deserialize("RestorableSqlContainersListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -132,6 +178,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_databases_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_databases_operations.py index 3985c7192cd..288c447d919 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_databases_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_databases_operations.py @@ -5,23 +5,60 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class RestorableSqlDatabasesOperations(object): """RestorableSqlDatabasesOperations operations. @@ -45,13 +82,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - instance_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RestorableSqlDatabasesListResult"] + location: str, + instance_id: str, + **kwargs: Any + ) -> Iterable["_models.RestorableSqlDatabasesListResult"]: """Show the event feed of all mutations done on all the Azure Cosmos DB SQL databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires @@ -62,8 +99,10 @@ def list( :param instance_id: The instanceId GUID of a restorable database account. :type instance_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableSqlDatabasesListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlDatabasesListResult] + :return: An iterator like instance of either RestorableSqlDatabasesListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlDatabasesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlDatabasesListResult"] @@ -71,36 +110,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableSqlDatabasesListResult', pipeline_response) + deserialized = self._deserialize("RestorableSqlDatabasesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -118,6 +154,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_resources_operations.py index c2ba469ba3e..97ec200d11d 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_sql_resources_operations.py @@ -5,23 +5,67 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + *, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if restore_location is not None: + query_parameters['restoreLocation'] = _SERIALIZER.query("restore_location", restore_location, 'str') + if restore_timestamp_in_utc is not None: + query_parameters['restoreTimestampInUtc'] = _SERIALIZER.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class RestorableSqlResourcesOperations(object): """RestorableSqlResourcesOperations operations. @@ -45,15 +89,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - location, # type: str - instance_id, # type: str - restore_location=None, # type: Optional[str] - restore_timestamp_in_utc=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RestorableSqlResourcesListResult"] + location: str, + instance_id: str, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RestorableSqlResourcesListResult"]: """Return a list of database and container combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires @@ -68,8 +112,10 @@ def list( :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. :type restore_timestamp_in_utc: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either RestorableSqlResourcesListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlResourcesListResult] + :return: An iterator like instance of either RestorableSqlResourcesListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableSqlResourcesListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableSqlResourcesListResult"] @@ -77,40 +123,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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'), - 'instanceId': self._serialize.url("instance_id", instance_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 restore_location is not None: - query_parameters['restoreLocation'] = self._serialize.query("restore_location", restore_location, 'str') - if restore_timestamp_in_utc is not None: - query_parameters['restoreTimestampInUtc'] = self._serialize.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RestorableSqlResourcesListResult', pipeline_response) + deserialized = self._deserialize("RestorableSqlResourcesListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -128,6 +171,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_table_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_table_resources_operations.py new file mode 100644 index 00000000000..60038728aad --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_table_resources_operations.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + *, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTableResources') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if restore_location is not None: + query_parameters['restoreLocation'] = _SERIALIZER.query("restore_location", restore_location, 'str') + if restore_timestamp_in_utc is not None: + query_parameters['restoreTimestampInUtc'] = _SERIALIZER.query("restore_timestamp_in_utc", restore_timestamp_in_utc, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class RestorableTableResourcesOperations(object): + """RestorableTableResourcesOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + restore_location: Optional[str] = None, + restore_timestamp_in_utc: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RestorableTableResourcesListResult"]: + """Return a list of tables that exist on the account at the given timestamp and location. This + helps in scenarios to validate what resources exist at given timestamp and location. This API + requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param restore_location: The location where the restorable resources are located. + :type restore_location: str + :param restore_timestamp_in_utc: The timestamp when the restorable resources existed. + :type restore_timestamp_in_utc: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableTableResourcesListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableTableResourcesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableTableResourcesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + restore_location=restore_location, + restore_timestamp_in_utc=restore_timestamp_in_utc, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableTableResourcesListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTableResources'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_tables_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_tables_operations.py new file mode 100644 index 00000000000..6d75c424730 --- /dev/null +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_restorable_tables_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + instance_id: str, + *, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTables') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "instanceId": _SERIALIZER.url("instance_id", instance_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if start_time is not None: + query_parameters['startTime'] = _SERIALIZER.query("start_time", start_time, 'str') + if end_time is not None: + query_parameters['endTime'] = _SERIALIZER.query("end_time", end_time, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class RestorableTablesOperations(object): + """RestorableTablesOperations 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.cosmosdb.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 + + @distributed_trace + def list( + self, + location: str, + instance_id: str, + start_time: Optional[str] = None, + end_time: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RestorableTablesListResult"]: + """Show the event feed of all mutations done on all the Azure Cosmos DB Tables. This helps in + scenario where table was accidentally deleted. This API requires + 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission. + + :param location: Cosmos DB region, with spaces between words and each word capitalized. + :type location: str + :param instance_id: The instanceId GUID of a restorable database account. + :type instance_id: str + :param start_time: Restorable Tables event feed start time. + :type start_time: str + :param end_time: Restorable Tables event feed end time. + :type end_time: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either RestorableTablesListResult or the result of + cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.RestorableTablesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RestorableTablesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + start_time=start_time, + end_time=end_time, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + instance_id=instance_id, + start_time=start_time, + end_time=end_time, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("RestorableTablesListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTables'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_service_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_service_operations.py index 075ad4a32ac..53e4c0d68eb 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_service_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_service_operations.py @@ -5,25 +5,183 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + service_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "serviceName": _SERIALIZER.url("service_name", service_name, 'str', max_length=50, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + service_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "serviceName": _SERIALIZER.url("service_name", service_name, 'str', max_length=50, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + service_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "serviceName": _SERIALIZER.url("service_name", service_name, 'str', max_length=50, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ServiceOperations(object): """ServiceOperations operations. @@ -47,13 +205,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ServiceResourceListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.ServiceResourceListResult"]: """Gets the status of service. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -61,7 +219,8 @@ def list( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ServiceResourceListResult or the result of cls(response) + :return: An iterator like instance of either ServiceResourceListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ServiceResourceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -70,36 +229,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ServiceResourceListResult', pipeline_response) + deserialized = self._deserialize("ServiceResourceListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,6 +273,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) @@ -124,45 +281,34 @@ def get_next(next_link=None): def _create_initial( self, - resource_group_name, # type: str - account_name, # type: str - service_name, # type: str - create_update_parameters, # type: "_models.ServiceResourceCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ServiceResource"] + resource_group_name: str, + account_name: str, + service_name: str, + create_update_parameters: "_models.ServiceResourceCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ServiceResource"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ServiceResource"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_parameters, 'ServiceResourceCreateUpdateParameters') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_parameters, 'ServiceResourceCreateUpdateParameters') - 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 @@ -178,17 +324,19 @@ def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + @distributed_trace def begin_create( self, - resource_group_name, # type: str - account_name, # type: str - service_name, # type: str - create_update_parameters, # type: "_models.ServiceResourceCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ServiceResource"] + resource_group_name: str, + account_name: str, + service_name: str, + create_update_parameters: "_models.ServiceResourceCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ServiceResource"]: """Creates a service. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -198,18 +346,23 @@ def begin_create( :param service_name: Cosmos DB service name. :type service_name: str :param create_update_parameters: The Service resource parameters. - :type create_update_parameters: ~azure.mgmt.cosmosdb.models.ServiceResourceCreateUpdateParameters + :type create_update_parameters: + ~azure.mgmt.cosmosdb.models.ServiceResourceCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ServiceResource or the result of cls(response) + :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 ServiceResource or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ServiceResource] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] lro_delay = kwargs.pop( 'polling_interval', @@ -222,28 +375,21 @@ def begin_create( account_name=account_name, service_name=service_name, create_update_parameters=create_update_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ServiceResource', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -255,16 +401,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - account_name, # type: str - service_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ServiceResource" + resource_group_name: str, + account_name: str, + service_name: str, + **kwargs: Any + ) -> "_models.ServiceResource": """Gets the status of service. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -283,28 +430,18 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - url = self._client.format_url(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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -318,43 +455,34 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + def _delete_initial( self, - resource_group_name, # type: str - account_name, # type: str - service_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + service_name: str, + **kwargs: Any + ) -> 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-07-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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - url = self._client.format_url(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 = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + service_name=service_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -367,14 +495,15 @@ def _delete_initial( _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore + + @distributed_trace def begin_delete( self, - resource_group_name, # type: str - account_name, # type: str - service_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + service_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes service with the given serviceName. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -385,15 +514,17 @@ def begin_delete( :type service_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -408,22 +539,14 @@ def begin_delete( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'serviceName': self._serialize.url("service_name", service_name, 'str', max_length=50, min_length=3), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -435,4 +558,5 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_sql_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_sql_resources_operations.py index b8bd592dbeb..136d7008759 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_sql_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_sql_resources_operations.py @@ -5,25 +5,1633 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_sql_databases_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_sql_database_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_sql_database_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_sql_database_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_sql_database_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_sql_database_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_sql_database_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_sql_database_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_client_encryption_keys_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_client_encryption_key_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + client_encryption_key_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "clientEncryptionKeyName": _SERIALIZER.url("client_encryption_key_name", client_encryption_key_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_client_encryption_key_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + client_encryption_key_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "clientEncryptionKeyName": _SERIALIZER.url("client_encryption_key_name", client_encryption_key_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_sql_containers_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_sql_container_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_sql_container_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_sql_container_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_sql_container_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_sql_container_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_sql_container_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_sql_container_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_sql_stored_procedures_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_sql_stored_procedure_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "storedProcedureName": _SERIALIZER.url("stored_procedure_name", stored_procedure_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_sql_stored_procedure_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "storedProcedureName": _SERIALIZER.url("stored_procedure_name", stored_procedure_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_sql_stored_procedure_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "storedProcedureName": _SERIALIZER.url("stored_procedure_name", stored_procedure_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_list_sql_user_defined_functions_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_sql_user_defined_function_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "userDefinedFunctionName": _SERIALIZER.url("user_defined_function_name", user_defined_function_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_sql_user_defined_function_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "userDefinedFunctionName": _SERIALIZER.url("user_defined_function_name", user_defined_function_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_sql_user_defined_function_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "userDefinedFunctionName": _SERIALIZER.url("user_defined_function_name", user_defined_function_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_list_sql_triggers_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_sql_trigger_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "triggerName": _SERIALIZER.url("trigger_name", trigger_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_sql_trigger_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "triggerName": _SERIALIZER.url("trigger_name", trigger_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_sql_trigger_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + "triggerName": _SERIALIZER.url("trigger_name", trigger_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_sql_role_definition_request( + role_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}') + path_format_arguments = { + "roleDefinitionId": _SERIALIZER.url("role_definition_id", role_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_sql_role_definition_request_initial( + role_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}') + path_format_arguments = { + "roleDefinitionId": _SERIALIZER.url("role_definition_id", role_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_sql_role_definition_request_initial( + role_definition_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}') + path_format_arguments = { + "roleDefinitionId": _SERIALIZER.url("role_definition_id", role_definition_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_sql_role_definitions_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_sql_role_assignment_request( + role_assignment_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}') + path_format_arguments = { + "roleAssignmentId": _SERIALIZER.url("role_assignment_id", role_assignment_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_sql_role_assignment_request_initial( + role_assignment_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}') + path_format_arguments = { + "roleAssignmentId": _SERIALIZER.url("role_assignment_id", role_assignment_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_sql_role_assignment_request_initial( + role_assignment_id: str, + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}') + path_format_arguments = { + "roleAssignmentId": _SERIALIZER.url("role_assignment_id", role_assignment_id, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_sql_role_assignments_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_retrieve_continuous_backup_information_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "databaseName": _SERIALIZER.url("database_name", database_name, 'str'), + "containerName": _SERIALIZER.url("container_name", container_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) class SqlResourcesOperations(object): """SqlResourcesOperations operations. @@ -47,13 +1655,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_sql_databases( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SqlDatabaseListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.SqlDatabaseListResult"]: """Lists the SQL databases under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -61,7 +1669,8 @@ def list_sql_databases( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlDatabaseListResult or the result of cls(response) + :return: An iterator like instance of either SqlDatabaseListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlDatabaseListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -70,36 +1679,33 @@ def list_sql_databases( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_databases.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_sql_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_sql_databases.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_databases_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SqlDatabaseListResult', pipeline_response) + deserialized = self._deserialize("SqlDatabaseListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,19 +1723,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_sql_databases.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases'} # type: ignore + @distributed_trace def get_sql_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SqlDatabaseGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> "_models.SqlDatabaseGetResults": """Gets the SQL database under an existing Azure Cosmos DB database account with the provided name. @@ -149,28 +1756,18 @@ def get_sql_database( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_database.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_sql_database_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_sql_database.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -184,49 +1781,40 @@ def get_sql_database( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + def _create_update_sql_database_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - create_update_sql_database_parameters, # type: "_models.SqlDatabaseCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.SqlDatabaseGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + create_update_sql_database_parameters: "_models.SqlDatabaseCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.SqlDatabaseGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlDatabaseGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_sql_database_parameters, 'SqlDatabaseCreateUpdateParameters') - # 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') + request = build_create_update_sql_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_database_parameters, 'SqlDatabaseCreateUpdateParameters') - 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 @@ -242,17 +1830,19 @@ def _create_update_sql_database_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + @distributed_trace def begin_create_update_sql_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - create_update_sql_database_parameters, # type: "_models.SqlDatabaseCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.SqlDatabaseGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + create_update_sql_database_parameters: "_models.SqlDatabaseCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.SqlDatabaseGetResults"]: """Create or update an Azure Cosmos DB SQL database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -263,18 +1853,23 @@ def begin_create_update_sql_database( :type database_name: str :param create_update_sql_database_parameters: The parameters to provide for the current SQL database. - :type create_update_sql_database_parameters: ~azure.mgmt.cosmosdb.models.SqlDatabaseCreateUpdateParameters + :type create_update_sql_database_parameters: + ~azure.mgmt.cosmosdb.models.SqlDatabaseCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 SqlDatabaseGetResults or the result of cls(response) + :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 SqlDatabaseGetResults or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlDatabaseGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlDatabaseGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -287,28 +1882,21 @@ def begin_create_update_sql_database( account_name=account_name, database_name=database_name, create_update_sql_database_parameters=create_update_sql_database_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlDatabaseGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -320,41 +1908,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore def _delete_sql_database_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_sql_database_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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] + + request = build_delete_sql_database_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._delete_sql_database_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -367,14 +1947,15 @@ def _delete_sql_database_initial( _delete_sql_database_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + + @distributed_trace def begin_delete_sql_database( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB SQL database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -385,15 +1966,17 @@ def begin_delete_sql_database( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -408,22 +1991,14 @@ def begin_delete_sql_database( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -435,16 +2010,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_database.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}'} # type: ignore + @distributed_trace def get_sql_database_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the SQL database under an existing Azure Cosmos DB database account with the provided name. @@ -464,28 +2040,18 @@ def get_sql_database_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_database_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_get_sql_database_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.get_sql_database_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -499,49 +2065,40 @@ def get_sql_database_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore + def _update_sql_database_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_sql_database_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - # 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') + request = build_update_sql_database_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + content_type=content_type, + json=_json, + template_url=self._update_sql_database_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -557,17 +2114,19 @@ def _update_sql_database_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_sql_database_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_sql_database_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of an Azure Cosmos DB SQL database. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -578,18 +2137,23 @@ def begin_update_sql_database_throughput( :type database_name: str :param update_throughput_parameters: The parameters to provide for the RUs per second of the current SQL database. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -602,28 +2166,21 @@ def begin_update_sql_database_throughput( account_name=account_name, database_name=database_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -635,43 +2192,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_sql_database_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default'} # type: ignore def _migrate_sql_database_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_sql_database_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_sql_database_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_sql_database_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -687,16 +2234,18 @@ def _migrate_sql_database_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_sql_database_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_sql_database_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -707,15 +2256,18 @@ def begin_migrate_sql_database_to_autoscale( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -730,25 +2282,17 @@ def begin_migrate_sql_database_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -760,43 +2304,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_database_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_sql_database_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_sql_database_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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 = build_migrate_sql_database_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self._migrate_sql_database_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -812,16 +2346,18 @@ def _migrate_sql_database_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_sql_database_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_sql_database_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -832,15 +2368,18 @@ def begin_migrate_sql_database_to_manual_throughput( :type database_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -855,25 +2394,17 @@ def begin_migrate_sql_database_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -885,16 +2416,290 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_database_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace + def list_client_encryption_keys( + self, + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Iterable["_models.ClientEncryptionKeysListResult"]: + """Lists the ClientEncryptionKeys under an existing Azure Cosmos DB SQL database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ClientEncryptionKeysListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.ClientEncryptionKeysListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClientEncryptionKeysListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_client_encryption_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.list_client_encryption_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_client_encryption_keys_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ClientEncryptionKeysListResult", 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_client_encryption_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys'} # type: ignore + + @distributed_trace + def get_client_encryption_key( + self, + resource_group_name: str, + account_name: str, + database_name: str, + client_encryption_key_name: str, + **kwargs: Any + ) -> "_models.ClientEncryptionKeyGetResults": + """Gets the ClientEncryptionKey under an existing Azure Cosmos DB SQL database. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param client_encryption_key_name: Cosmos DB ClientEncryptionKey name. + :type client_encryption_key_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ClientEncryptionKeyGetResults, or the result of cls(response) + :rtype: ~azure.mgmt.cosmosdb.models.ClientEncryptionKeyGetResults + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClientEncryptionKeyGetResults"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_client_encryption_key_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + client_encryption_key_name=client_encryption_key_name, + template_url=self.get_client_encryption_key.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ClientEncryptionKeyGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_client_encryption_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}'} # type: ignore + + + def _create_update_client_encryption_key_initial( + self, + resource_group_name: str, + account_name: str, + database_name: str, + client_encryption_key_name: str, + create_update_client_encryption_key_parameters: "_models.ClientEncryptionKeyCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ClientEncryptionKeyGetResults"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ClientEncryptionKeyGetResults"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_client_encryption_key_parameters, 'ClientEncryptionKeyCreateUpdateParameters') + + request = build_create_update_client_encryption_key_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + client_encryption_key_name=client_encryption_key_name, + content_type=content_type, + json=_json, + template_url=self._create_update_client_encryption_key_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ClientEncryptionKeyGetResults', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_update_client_encryption_key_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}'} # type: ignore + + + @distributed_trace + def begin_create_update_client_encryption_key( + self, + resource_group_name: str, + account_name: str, + database_name: str, + client_encryption_key_name: str, + create_update_client_encryption_key_parameters: "_models.ClientEncryptionKeyCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ClientEncryptionKeyGetResults"]: + """Create or update a ClientEncryptionKey. This API is meant to be invoked via tools such as the + Azure Powershell (instead of directly). + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param database_name: Cosmos DB database name. + :type database_name: str + :param client_encryption_key_name: Cosmos DB ClientEncryptionKey name. + :type client_encryption_key_name: str + :param create_update_client_encryption_key_parameters: The parameters to provide for the client + encryption key. + :type create_update_client_encryption_key_parameters: + ~azure.mgmt.cosmosdb.models.ClientEncryptionKeyCreateUpdateParameters + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ClientEncryptionKeyGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ClientEncryptionKeyGetResults] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ClientEncryptionKeyGetResults"] + 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_update_client_encryption_key_initial( + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + client_encryption_key_name=client_encryption_key_name, + create_update_client_encryption_key_parameters=create_update_client_encryption_key_parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('ClientEncryptionKeyGetResults', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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_update_client_encryption_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}'} # type: ignore + + @distributed_trace def list_sql_containers( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SqlContainerListResult"] + resource_group_name: str, + account_name: str, + database_name: str, + **kwargs: Any + ) -> Iterable["_models.SqlContainerListResult"]: """Lists the SQL container under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -904,7 +2709,8 @@ def list_sql_containers( :param database_name: Cosmos DB database name. :type database_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlContainerListResult or the result of cls(response) + :return: An iterator like instance of either SqlContainerListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlContainerListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -913,37 +2719,35 @@ def list_sql_containers( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_containers.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_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) + + request = build_list_sql_containers_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=self.list_sql_containers.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_containers_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SqlContainerListResult', pipeline_response) + deserialized = self._deserialize("SqlContainerListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -961,20 +2765,21 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_sql_containers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers'} # type: ignore + @distributed_trace def get_sql_container( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SqlContainerGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> "_models.SqlContainerGetResults": """Gets the SQL container under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -995,29 +2800,19 @@ def get_sql_container( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_container.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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 = build_get_sql_container_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.get_sql_container.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1031,51 +2826,42 @@ def get_sql_container( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + def _create_update_sql_container_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - create_update_sql_container_parameters, # type: "_models.SqlContainerCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.SqlContainerGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + create_update_sql_container_parameters: "_models.SqlContainerCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.SqlContainerGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlContainerGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_container_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_container_parameters, 'SqlContainerCreateUpdateParameters') + + request = build_create_update_sql_container_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_container_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_container_parameters, 'SqlContainerCreateUpdateParameters') - 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 @@ -1091,18 +2877,20 @@ def _create_update_sql_container_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_container_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + @distributed_trace def begin_create_update_sql_container( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - create_update_sql_container_parameters, # type: "_models.SqlContainerCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.SqlContainerGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + create_update_sql_container_parameters: "_models.SqlContainerCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.SqlContainerGetResults"]: """Create or update an Azure Cosmos DB SQL container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1115,18 +2903,23 @@ def begin_create_update_sql_container( :type container_name: str :param create_update_sql_container_parameters: The parameters to provide for the current SQL container. - :type create_update_sql_container_parameters: ~azure.mgmt.cosmosdb.models.SqlContainerCreateUpdateParameters + :type create_update_sql_container_parameters: + ~azure.mgmt.cosmosdb.models.SqlContainerCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 SqlContainerGetResults or the result of cls(response) + :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 SqlContainerGetResults or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlContainerGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlContainerGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1140,29 +2933,21 @@ def begin_create_update_sql_container( database_name=database_name, container_name=container_name, create_update_sql_container_parameters=create_update_sql_container_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlContainerGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1174,43 +2959,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore def _delete_sql_container_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_sql_container_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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] + + request = build_delete_sql_container_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self._delete_sql_container_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1223,15 +3000,16 @@ def _delete_sql_container_initial( _delete_sql_container_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + + @distributed_trace def begin_delete_sql_container( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB SQL container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1244,15 +3022,17 @@ def begin_delete_sql_container( :type container_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -1268,23 +3048,14 @@ def begin_delete_sql_container( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1296,17 +3067,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_container.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}'} # type: ignore + @distributed_trace def get_sql_container_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the SQL container under an existing Azure Cosmos DB database account. @@ -1328,29 +3100,19 @@ def get_sql_container_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_container_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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 = build_get_sql_container_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.get_sql_container_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1364,51 +3126,42 @@ def get_sql_container_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore + def _update_sql_container_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_sql_container_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + + request = build_update_sql_container_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + content_type=content_type, + json=_json, + template_url=self._update_sql_container_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -1424,18 +3177,20 @@ def _update_sql_container_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_sql_container_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_sql_container_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of an Azure Cosmos DB SQL container. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1448,18 +3203,23 @@ def begin_update_sql_container_throughput( :type container_name: str :param update_throughput_parameters: The parameters to provide for the RUs per second of the current SQL container. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1473,29 +3233,21 @@ def begin_update_sql_container_throughput( database_name=database_name, container_name=container_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1507,45 +3259,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_sql_container_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default'} # type: ignore def _migrate_sql_container_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_sql_container_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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 = build_migrate_sql_container_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self._migrate_sql_container_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1561,17 +3303,19 @@ def _migrate_sql_container_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_sql_container_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_sql_container_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1584,15 +3328,18 @@ def begin_migrate_sql_container_to_autoscale( :type container_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1608,26 +3355,17 @@ def begin_migrate_sql_container_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1639,45 +3377,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_container_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_sql_container_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_sql_container_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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 = build_migrate_sql_container_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self._migrate_sql_container_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1693,17 +3421,19 @@ def _migrate_sql_container_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_sql_container_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_sql_container_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1716,15 +3446,18 @@ def begin_migrate_sql_container_to_manual_throughput( :type container_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -1740,26 +3473,17 @@ def begin_migrate_sql_container_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -1771,17 +3495,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_sql_container_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + @distributed_trace def list_sql_stored_procedures( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SqlStoredProcedureListResult"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> Iterable["_models.SqlStoredProcedureListResult"]: """Lists the SQL storedProcedure under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1793,7 +3518,8 @@ def list_sql_stored_procedures( :param container_name: Cosmos DB container name. :type container_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlStoredProcedureListResult or the result of cls(response) + :return: An iterator like instance of either SqlStoredProcedureListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlStoredProcedureListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -1802,38 +3528,37 @@ def list_sql_stored_procedures( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_stored_procedures.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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) + + request = build_list_sql_stored_procedures_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.list_sql_stored_procedures.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_stored_procedures_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SqlStoredProcedureListResult', pipeline_response) + deserialized = self._deserialize("SqlStoredProcedureListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -1851,21 +3576,22 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_sql_stored_procedures.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures'} # type: ignore + @distributed_trace def get_sql_stored_procedure( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - stored_procedure_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SqlStoredProcedureGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + **kwargs: Any + ) -> "_models.SqlStoredProcedureGetResults": """Gets the SQL storedProcedure under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -1888,30 +3614,20 @@ def get_sql_stored_procedure( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_stored_procedure.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_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 = build_get_sql_stored_procedure_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + template_url=self.get_sql_stored_procedure.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1925,53 +3641,44 @@ def get_sql_stored_procedure( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + def _create_update_sql_stored_procedure_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - stored_procedure_name, # type: str - create_update_sql_stored_procedure_parameters, # type: "_models.SqlStoredProcedureCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.SqlStoredProcedureGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + create_update_sql_stored_procedure_parameters: "_models.SqlStoredProcedureCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.SqlStoredProcedureGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlStoredProcedureGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_stored_procedure_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_sql_stored_procedure_parameters, 'SqlStoredProcedureCreateUpdateParameters') - # 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') + request = build_create_update_sql_stored_procedure_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_stored_procedure_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_stored_procedure_parameters, 'SqlStoredProcedureCreateUpdateParameters') - 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 @@ -1987,19 +3694,21 @@ def _create_update_sql_stored_procedure_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_stored_procedure_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + @distributed_trace def begin_create_update_sql_stored_procedure( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - stored_procedure_name, # type: str - create_update_sql_stored_procedure_parameters, # type: "_models.SqlStoredProcedureCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.SqlStoredProcedureGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + create_update_sql_stored_procedure_parameters: "_models.SqlStoredProcedureCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.SqlStoredProcedureGetResults"]: """Create or update an Azure Cosmos DB SQL storedProcedure. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2014,18 +3723,23 @@ def begin_create_update_sql_stored_procedure( :type stored_procedure_name: str :param create_update_sql_stored_procedure_parameters: The parameters to provide for the current SQL storedProcedure. - :type create_update_sql_stored_procedure_parameters: ~azure.mgmt.cosmosdb.models.SqlStoredProcedureCreateUpdateParameters + :type create_update_sql_stored_procedure_parameters: + ~azure.mgmt.cosmosdb.models.SqlStoredProcedureCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 SqlStoredProcedureGetResults or the result of cls(response) + :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 SqlStoredProcedureGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlStoredProcedureGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlStoredProcedureGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2040,30 +3754,21 @@ def begin_create_update_sql_stored_procedure( container_name=container_name, stored_procedure_name=stored_procedure_name, create_update_sql_stored_procedure_parameters=create_update_sql_stored_procedure_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlStoredProcedureGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2075,45 +3780,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore def _delete_sql_stored_procedure_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - stored_procedure_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_sql_stored_procedure_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_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] + + request = build_delete_sql_stored_procedure_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + stored_procedure_name=stored_procedure_name, + template_url=self._delete_sql_stored_procedure_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2126,16 +3823,17 @@ def _delete_sql_stored_procedure_initial( _delete_sql_stored_procedure_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + + @distributed_trace def begin_delete_sql_stored_procedure( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - stored_procedure_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + stored_procedure_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB SQL storedProcedure. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2150,15 +3848,17 @@ def begin_delete_sql_stored_procedure( :type stored_procedure_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -2175,24 +3875,14 @@ def begin_delete_sql_stored_procedure( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'storedProcedureName': self._serialize.url("stored_procedure_name", stored_procedure_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2204,17 +3894,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_stored_procedure.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName}'} # type: ignore + @distributed_trace def list_sql_user_defined_functions( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SqlUserDefinedFunctionListResult"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> Iterable["_models.SqlUserDefinedFunctionListResult"]: """Lists the SQL userDefinedFunction under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2226,8 +3917,10 @@ def list_sql_user_defined_functions( :param container_name: Cosmos DB container name. :type container_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlUserDefinedFunctionListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionListResult] + :return: An iterator like instance of either SqlUserDefinedFunctionListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionListResult"] @@ -2235,38 +3928,37 @@ def list_sql_user_defined_functions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_user_defined_functions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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) + + request = build_list_sql_user_defined_functions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.list_sql_user_defined_functions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_user_defined_functions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SqlUserDefinedFunctionListResult', pipeline_response) + deserialized = self._deserialize("SqlUserDefinedFunctionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -2284,21 +3976,22 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_sql_user_defined_functions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions'} # type: ignore + @distributed_trace def get_sql_user_defined_function( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - user_defined_function_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SqlUserDefinedFunctionGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + **kwargs: Any + ) -> "_models.SqlUserDefinedFunctionGetResults": """Gets the SQL userDefinedFunction under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2321,30 +4014,20 @@ def get_sql_user_defined_function( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_user_defined_function.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_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 = build_get_sql_user_defined_function_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + template_url=self.get_sql_user_defined_function.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2358,53 +4041,44 @@ def get_sql_user_defined_function( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + def _create_update_sql_user_defined_function_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - user_defined_function_name, # type: str - create_update_sql_user_defined_function_parameters, # type: "_models.SqlUserDefinedFunctionCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.SqlUserDefinedFunctionGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + create_update_sql_user_defined_function_parameters: "_models.SqlUserDefinedFunctionCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.SqlUserDefinedFunctionGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlUserDefinedFunctionGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_user_defined_function_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(create_update_sql_user_defined_function_parameters, 'SqlUserDefinedFunctionCreateUpdateParameters') - # 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') + request = build_create_update_sql_user_defined_function_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_user_defined_function_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_user_defined_function_parameters, 'SqlUserDefinedFunctionCreateUpdateParameters') - 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 @@ -2420,19 +4094,21 @@ def _create_update_sql_user_defined_function_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_user_defined_function_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + @distributed_trace def begin_create_update_sql_user_defined_function( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - user_defined_function_name, # type: str - create_update_sql_user_defined_function_parameters, # type: "_models.SqlUserDefinedFunctionCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.SqlUserDefinedFunctionGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + create_update_sql_user_defined_function_parameters: "_models.SqlUserDefinedFunctionCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.SqlUserDefinedFunctionGetResults"]: """Create or update an Azure Cosmos DB SQL userDefinedFunction. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2447,18 +4123,24 @@ def begin_create_update_sql_user_defined_function( :type user_defined_function_name: str :param create_update_sql_user_defined_function_parameters: The parameters to provide for the current SQL userDefinedFunction. - :type create_update_sql_user_defined_function_parameters: ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionCreateUpdateParameters + :type create_update_sql_user_defined_function_parameters: + ~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 SqlUserDefinedFunctionGetResults or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :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 SqlUserDefinedFunctionGetResults or the + result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlUserDefinedFunctionGetResults] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlUserDefinedFunctionGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2473,30 +4155,21 @@ def begin_create_update_sql_user_defined_function( container_name=container_name, user_defined_function_name=user_defined_function_name, create_update_sql_user_defined_function_parameters=create_update_sql_user_defined_function_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlUserDefinedFunctionGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2508,45 +4181,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore def _delete_sql_user_defined_function_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - user_defined_function_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_sql_user_defined_function_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_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] + + request = build_delete_sql_user_defined_function_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + user_defined_function_name=user_defined_function_name, + template_url=self._delete_sql_user_defined_function_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2559,16 +4224,17 @@ def _delete_sql_user_defined_function_initial( _delete_sql_user_defined_function_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + + @distributed_trace def begin_delete_sql_user_defined_function( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - user_defined_function_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + user_defined_function_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB SQL userDefinedFunction. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2583,15 +4249,17 @@ def begin_delete_sql_user_defined_function( :type user_defined_function_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -2608,24 +4276,14 @@ def begin_delete_sql_user_defined_function( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'userDefinedFunctionName': self._serialize.url("user_defined_function_name", user_defined_function_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2637,17 +4295,18 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_user_defined_function.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName}'} # type: ignore + @distributed_trace def list_sql_triggers( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SqlTriggerListResult"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + **kwargs: Any + ) -> Iterable["_models.SqlTriggerListResult"]: """Lists the SQL trigger under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2659,7 +4318,8 @@ def list_sql_triggers( :param container_name: Cosmos DB container name. :type container_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlTriggerListResult or the result of cls(response) + :return: An iterator like instance of either SqlTriggerListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlTriggerListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -2668,38 +4328,37 @@ def list_sql_triggers( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_triggers.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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) + + request = build_list_sql_triggers_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=self.list_sql_triggers.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_triggers_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SqlTriggerListResult', pipeline_response) + deserialized = self._deserialize("SqlTriggerListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -2717,21 +4376,22 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_sql_triggers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers'} # type: ignore + @distributed_trace def get_sql_trigger( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SqlTriggerGetResults" + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + **kwargs: Any + ) -> "_models.SqlTriggerGetResults": """Gets the SQL trigger under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2754,30 +4414,20 @@ def get_sql_trigger( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_trigger.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_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 = build_get_sql_trigger_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + template_url=self.get_sql_trigger.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2791,53 +4441,44 @@ def get_sql_trigger( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + def _create_update_sql_trigger_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - trigger_name, # type: str - create_update_sql_trigger_parameters, # type: "_models.SqlTriggerCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.SqlTriggerGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + create_update_sql_trigger_parameters: "_models.SqlTriggerCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.SqlTriggerGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlTriggerGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_trigger_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_trigger_parameters, 'SqlTriggerCreateUpdateParameters') + + request = build_create_update_sql_trigger_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_trigger_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_trigger_parameters, 'SqlTriggerCreateUpdateParameters') - 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 @@ -2853,19 +4494,21 @@ def _create_update_sql_trigger_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_trigger_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + @distributed_trace def begin_create_update_sql_trigger( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - trigger_name, # type: str - create_update_sql_trigger_parameters, # type: "_models.SqlTriggerCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.SqlTriggerGetResults"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + create_update_sql_trigger_parameters: "_models.SqlTriggerCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.SqlTriggerGetResults"]: """Create or update an Azure Cosmos DB SQL trigger. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -2880,18 +4523,23 @@ def begin_create_update_sql_trigger( :type trigger_name: str :param create_update_sql_trigger_parameters: The parameters to provide for the current SQL trigger. - :type create_update_sql_trigger_parameters: ~azure.mgmt.cosmosdb.models.SqlTriggerCreateUpdateParameters + :type create_update_sql_trigger_parameters: + ~azure.mgmt.cosmosdb.models.SqlTriggerCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 SqlTriggerGetResults or the result of cls(response) + :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 SqlTriggerGetResults or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlTriggerGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlTriggerGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -2906,30 +4554,21 @@ def begin_create_update_sql_trigger( container_name=container_name, trigger_name=trigger_name, create_update_sql_trigger_parameters=create_update_sql_trigger_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlTriggerGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -2941,45 +4580,37 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore def _delete_sql_trigger_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_sql_trigger_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_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] + + request = build_delete_sql_trigger_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + trigger_name=trigger_name, + template_url=self._delete_sql_trigger_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -2992,16 +4623,17 @@ def _delete_sql_trigger_initial( _delete_sql_trigger_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + + @distributed_trace def begin_delete_sql_trigger( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - trigger_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + trigger_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB SQL trigger. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3016,15 +4648,17 @@ def begin_delete_sql_trigger( :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -3041,24 +4675,14 @@ def begin_delete_sql_trigger( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -3070,16 +4694,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_trigger.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName}'} # type: ignore + @distributed_trace def get_sql_role_definition( self, - role_definition_id, # type: str - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SqlRoleDefinitionGetResults" + role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.SqlRoleDefinitionGetResults": """Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id. :param role_definition_id: The GUID for the Role Definition. @@ -3098,28 +4723,18 @@ def get_sql_role_definition( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_role_definition.metadata['url'] # type: ignore - path_format_arguments = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_sql_role_definition_request( + role_definition_id=role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_sql_role_definition.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -3133,49 +4748,40 @@ def get_sql_role_definition( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + def _create_update_sql_role_definition_initial( self, - role_definition_id, # type: str - resource_group_name, # type: str - account_name, # type: str - create_update_sql_role_definition_parameters, # type: "_models.SqlRoleDefinitionCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.SqlRoleDefinitionGetResults"] + role_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_sql_role_definition_parameters: "_models.SqlRoleDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.SqlRoleDefinitionGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlRoleDefinitionGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_role_definition_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_role_definition_parameters, 'SqlRoleDefinitionCreateUpdateParameters') + + request = build_create_update_sql_role_definition_request_initial( + role_definition_id=role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_role_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_role_definition_parameters, 'SqlRoleDefinitionCreateUpdateParameters') - 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 @@ -3191,17 +4797,19 @@ def _create_update_sql_role_definition_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + @distributed_trace def begin_create_update_sql_role_definition( self, - role_definition_id, # type: str - resource_group_name, # type: str - account_name, # type: str - create_update_sql_role_definition_parameters, # type: "_models.SqlRoleDefinitionCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.SqlRoleDefinitionGetResults"] + role_definition_id: str, + resource_group_name: str, + account_name: str, + create_update_sql_role_definition_parameters: "_models.SqlRoleDefinitionCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.SqlRoleDefinitionGetResults"]: """Creates or updates an Azure Cosmos DB SQL Role Definition. :param role_definition_id: The GUID for the Role Definition. @@ -3212,18 +4820,23 @@ def begin_create_update_sql_role_definition( :type account_name: str :param create_update_sql_role_definition_parameters: The properties required to create or update a Role Definition. - :type create_update_sql_role_definition_parameters: ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionCreateUpdateParameters + :type create_update_sql_role_definition_parameters: + ~azure.mgmt.cosmosdb.models.SqlRoleDefinitionCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 SqlRoleDefinitionGetResults or the result of cls(response) + :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 SqlRoleDefinitionGetResults or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleDefinitionGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -3236,28 +4849,21 @@ def begin_create_update_sql_role_definition( resource_group_name=resource_group_name, account_name=account_name, create_update_sql_role_definition_parameters=create_update_sql_role_definition_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlRoleDefinitionGetResults', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -3269,43 +4875,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore def _delete_sql_role_definition_initial( self, - role_definition_id, # type: str - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_sql_role_definition_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_delete_sql_role_definition_request_initial( + role_definition_id=role_definition_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_sql_role_definition_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -3318,14 +4914,15 @@ def _delete_sql_role_definition_initial( _delete_sql_role_definition_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + + @distributed_trace def begin_delete_sql_role_definition( self, - role_definition_id, # type: str - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + role_definition_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB SQL Role Definition. :param role_definition_id: The GUID for the Role Definition. @@ -3336,15 +4933,17 @@ def begin_delete_sql_role_definition( :type account_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -3359,22 +4958,14 @@ def begin_delete_sql_role_definition( 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 = { - 'roleDefinitionId': self._serialize.url("role_definition_id", role_definition_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -3386,15 +4977,16 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_role_definition.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}'} # type: ignore + @distributed_trace def list_sql_role_definitions( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SqlRoleDefinitionListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.SqlRoleDefinitionListResult"]: """Retrieves the list of all Azure Cosmos DB SQL Role Definitions. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3402,7 +4994,8 @@ def list_sql_role_definitions( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlRoleDefinitionListResult or the result of cls(response) + :return: An iterator like instance of either SqlRoleDefinitionListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleDefinitionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -3411,36 +5004,33 @@ def list_sql_role_definitions( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_role_definitions.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_sql_role_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_sql_role_definitions.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_role_definitions_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SqlRoleDefinitionListResult', pipeline_response) + deserialized = self._deserialize("SqlRoleDefinitionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -3458,19 +5048,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_sql_role_definitions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions'} # type: ignore + @distributed_trace def get_sql_role_assignment( self, - role_assignment_id, # type: str - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SqlRoleAssignmentGetResults" + role_assignment_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.SqlRoleAssignmentGetResults": """Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id. :param role_assignment_id: The GUID for the Role Assignment. @@ -3489,28 +5080,18 @@ def get_sql_role_assignment( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_sql_role_assignment.metadata['url'] # type: ignore - path_format_arguments = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_get_sql_role_assignment_request( + role_assignment_id=role_assignment_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.get_sql_role_assignment.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -3524,49 +5105,40 @@ def get_sql_role_assignment( return cls(pipeline_response, deserialized, {}) return deserialized + get_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + def _create_update_sql_role_assignment_initial( self, - role_assignment_id, # type: str - resource_group_name, # type: str - account_name, # type: str - create_update_sql_role_assignment_parameters, # type: "_models.SqlRoleAssignmentCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.SqlRoleAssignmentGetResults"] + role_assignment_id: str, + resource_group_name: str, + account_name: str, + create_update_sql_role_assignment_parameters: "_models.SqlRoleAssignmentCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.SqlRoleAssignmentGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SqlRoleAssignmentGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_sql_role_assignment_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_sql_role_assignment_parameters, 'SqlRoleAssignmentCreateUpdateParameters') + + request = build_create_update_sql_role_assignment_request_initial( + role_assignment_id=role_assignment_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + content_type=content_type, + json=_json, + template_url=self._create_update_sql_role_assignment_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_sql_role_assignment_parameters, 'SqlRoleAssignmentCreateUpdateParameters') - 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 @@ -3582,17 +5154,19 @@ def _create_update_sql_role_assignment_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_sql_role_assignment_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + @distributed_trace def begin_create_update_sql_role_assignment( self, - role_assignment_id, # type: str - resource_group_name, # type: str - account_name, # type: str - create_update_sql_role_assignment_parameters, # type: "_models.SqlRoleAssignmentCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.SqlRoleAssignmentGetResults"] + role_assignment_id: str, + resource_group_name: str, + account_name: str, + create_update_sql_role_assignment_parameters: "_models.SqlRoleAssignmentCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.SqlRoleAssignmentGetResults"]: """Creates or updates an Azure Cosmos DB SQL Role Assignment. :param role_assignment_id: The GUID for the Role Assignment. @@ -3603,18 +5177,23 @@ def begin_create_update_sql_role_assignment( :type account_name: str :param create_update_sql_role_assignment_parameters: The properties required to create or update a Role Assignment. - :type create_update_sql_role_assignment_parameters: ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentCreateUpdateParameters + :type create_update_sql_role_assignment_parameters: + ~azure.mgmt.cosmosdb.models.SqlRoleAssignmentCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 SqlRoleAssignmentGetResults or the result of cls(response) + :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 SqlRoleAssignmentGetResults or the result + of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.SqlRoleAssignmentGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -3627,28 +5206,21 @@ def begin_create_update_sql_role_assignment( resource_group_name=resource_group_name, account_name=account_name, create_update_sql_role_assignment_parameters=create_update_sql_role_assignment_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('SqlRoleAssignmentGetResults', pipeline_response) - if cls: return cls(pipeline_response, deserialized, {}) return deserialized - path_format_arguments = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -3660,43 +5232,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore def _delete_sql_role_assignment_initial( self, - role_assignment_id, # type: str - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + role_assignment_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._delete_sql_role_assignment_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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 = build_delete_sql_role_assignment_request_initial( + role_assignment_id=role_assignment_id, + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self._delete_sql_role_assignment_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -3709,14 +5271,15 @@ def _delete_sql_role_assignment_initial( _delete_sql_role_assignment_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + + @distributed_trace def begin_delete_sql_role_assignment( self, - role_assignment_id, # type: str - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + role_assignment_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB SQL Role Assignment. :param role_assignment_id: The GUID for the Role Assignment. @@ -3727,15 +5290,17 @@ def begin_delete_sql_role_assignment( :type account_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -3750,22 +5315,14 @@ def begin_delete_sql_role_assignment( 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 = { - 'roleAssignmentId': self._serialize.url("role_assignment_id", role_assignment_id, '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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -3777,15 +5334,16 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_sql_role_assignment.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}'} # type: ignore + @distributed_trace def list_sql_role_assignments( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SqlRoleAssignmentListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.SqlRoleAssignmentListResult"]: """Retrieves the list of all Azure Cosmos DB SQL Role Assignments. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3793,7 +5351,8 @@ def list_sql_role_assignments( :param account_name: Cosmos DB database account name. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either SqlRoleAssignmentListResult or the result of cls(response) + :return: An iterator like instance of either SqlRoleAssignmentListResult or the result of + cls(response) :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.cosmosdb.models.SqlRoleAssignmentListResult] :raises: ~azure.core.exceptions.HttpResponseError """ @@ -3802,36 +5361,33 @@ def list_sql_role_assignments( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_sql_role_assignments.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_sql_role_assignments_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_sql_role_assignments.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_sql_role_assignments_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SqlRoleAssignmentListResult', pipeline_response) + deserialized = self._deserialize("SqlRoleAssignmentListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -3849,6 +5405,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) @@ -3856,47 +5413,36 @@ def get_next(next_link=None): def _retrieve_continuous_backup_information_initial( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - location, # type: "_models.ContinuousBackupRestoreLocation" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.BackupInformation"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> Optional["_models.BackupInformation"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._retrieve_continuous_backup_information_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + + request = build_retrieve_continuous_backup_information_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + database_name=database_name, + container_name=container_name, + content_type=content_type, + json=_json, + template_url=self._retrieve_continuous_backup_information_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(location, 'ContinuousBackupRestoreLocation') - 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 @@ -3912,18 +5458,20 @@ def _retrieve_continuous_backup_information_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation'} # type: ignore + + @distributed_trace def begin_retrieve_continuous_backup_information( self, - resource_group_name, # type: str - account_name, # type: str - database_name, # type: str - container_name, # type: str - location, # type: "_models.ContinuousBackupRestoreLocation" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.BackupInformation"] + resource_group_name: str, + account_name: str, + database_name: str, + container_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> LROPoller["_models.BackupInformation"]: """Retrieves continuous backup information for a container resource. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -3938,15 +5486,19 @@ def begin_retrieve_continuous_backup_information( :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 BackupInformation or the result of cls(response) + :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 BackupInformation or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] lro_delay = kwargs.pop( 'polling_interval', @@ -3960,29 +5512,21 @@ def begin_retrieve_continuous_backup_information( database_name=database_name, container_name=container_name, location=location, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('BackupInformation', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'databaseName': self._serialize.url("database_name", database_name, 'str'), - 'containerName': self._serialize.url("container_name", container_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -3994,4 +5538,5 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation'} # type: ignore diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_table_resources_operations.py b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_table_resources_operations.py index 062611e12a0..333eb2f4237 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_table_resources_operations.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/operations/_table_resources_operations.py @@ -5,25 +5,380 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_tables_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_table_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_update_table_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + table_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_table_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_table_throughput_request( + subscription_id: str, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_table_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + table_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_migrate_table_to_autoscale_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_migrate_table_to_manual_throughput_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_retrieve_continuous_backup_information_request_initial( + subscription_id: str, + resource_group_name: str, + account_name: str, + table_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-15-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/retrieveContinuousBackupInformation') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), + "tableName": _SERIALIZER.url("table_name", table_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) class TableResourcesOperations(object): """TableResourcesOperations operations. @@ -47,13 +402,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_tables( self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.TableListResult"] + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.TableListResult"]: """Lists the Tables under an existing Azure Cosmos DB database account. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -70,36 +425,33 @@ def list_tables( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-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_tables.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-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) + + request = build_list_tables_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=self.list_tables.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_tables_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('TableListResult', pipeline_response) + deserialized = self._deserialize("TableListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -117,19 +469,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_tables.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables'} # type: ignore + @distributed_trace def get_table( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.TableGetResults" + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> "_models.TableGetResults": """Gets the Tables under an existing Azure Cosmos DB database account with the provided name. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -148,28 +501,18 @@ def get_table( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_table.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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 = build_get_table_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self.get_table.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -183,49 +526,40 @@ def get_table( return cls(pipeline_response, deserialized, {}) return deserialized + get_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + def _create_update_table_initial( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - create_update_table_parameters, # type: "_models.TableCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.TableGetResults"] + resource_group_name: str, + account_name: str, + table_name: str, + create_update_table_parameters: "_models.TableCreateUpdateParameters", + **kwargs: Any + ) -> Optional["_models.TableGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.TableGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._create_update_table_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(create_update_table_parameters, 'TableCreateUpdateParameters') + + request = build_create_update_table_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._create_update_table_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(create_update_table_parameters, 'TableCreateUpdateParameters') - 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 @@ -241,17 +575,19 @@ def _create_update_table_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_update_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + @distributed_trace def begin_create_update_table( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - create_update_table_parameters, # type: "_models.TableCreateUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.TableGetResults"] + resource_group_name: str, + account_name: str, + table_name: str, + create_update_table_parameters: "_models.TableCreateUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.TableGetResults"]: """Create or update an Azure Cosmos DB Table. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -264,15 +600,19 @@ def begin_create_update_table( :type create_update_table_parameters: ~azure.mgmt.cosmosdb.models.TableCreateUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 TableGetResults or the result of cls(response) + :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 TableGetResults or the result of + cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.TableGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.TableGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -285,28 +625,21 @@ def begin_create_update_table( account_name=account_name, table_name=table_name, create_update_table_parameters=create_update_table_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('TableGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -318,41 +651,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_update_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore def _delete_table_initial( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> 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-07-01-preview" - - # Construct URL - url = self._delete_table_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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] + + request = build_delete_table_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self._delete_table_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -365,14 +690,15 @@ def _delete_table_initial( _delete_table_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + + @distributed_trace def begin_delete_table( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> LROPoller[None]: """Deletes an existing Azure Cosmos DB Table. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -383,15 +709,17 @@ def begin_delete_table( :type table_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -406,22 +734,14 @@ def begin_delete_table( 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -433,16 +753,17 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}'} # type: ignore + @distributed_trace def get_table_throughput( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ThroughputSettingsGetResults" + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> "_models.ThroughputSettingsGetResults": """Gets the RUs per second of the Table under an existing Azure Cosmos DB database account with the provided name. @@ -462,28 +783,18 @@ def get_table_throughput( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_table_throughput.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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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 = build_get_table_throughput_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self.get_table_throughput.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -497,49 +808,40 @@ def get_table_throughput( return cls(pipeline_response, deserialized, {}) return deserialized + get_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore + def _update_table_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + table_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._update_table_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') + + request = build_update_table_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._update_table_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(update_throughput_parameters, 'ThroughputSettingsUpdateParameters') - 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 @@ -555,17 +857,19 @@ def _update_table_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _update_table_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore + + @distributed_trace def begin_update_table_throughput( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - update_throughput_parameters, # type: "_models.ThroughputSettingsUpdateParameters" - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + table_name: str, + update_throughput_parameters: "_models.ThroughputSettingsUpdateParameters", + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Update RUs per second of an Azure Cosmos DB Table. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -576,18 +880,23 @@ def begin_update_table_throughput( :type table_name: str :param update_throughput_parameters: The parameters to provide for the RUs per second of the current Table. - :type update_throughput_parameters: ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters + :type update_throughput_parameters: + ~azure.mgmt.cosmosdb.models.ThroughputSettingsUpdateParameters :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -600,28 +909,21 @@ def begin_update_table_throughput( account_name=account_name, table_name=table_name, update_throughput_parameters=update_throughput_parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -633,43 +935,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update_table_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default'} # type: ignore def _migrate_table_to_autoscale_initial( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_table_to_autoscale_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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 = build_migrate_table_to_autoscale_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self._migrate_table_to_autoscale_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -685,16 +977,18 @@ def _migrate_table_to_autoscale_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_table_to_autoscale_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore + + @distributed_trace def begin_migrate_table_to_autoscale( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Table from manual throughput to autoscale. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -705,15 +999,18 @@ def begin_migrate_table_to_autoscale( :type table_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -728,25 +1025,17 @@ def begin_migrate_table_to_autoscale( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -758,43 +1047,33 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_table_to_autoscale.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale'} # type: ignore def _migrate_table_to_manual_throughput_initial( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> Optional["_models.ThroughputSettingsGetResults"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.ThroughputSettingsGetResults"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-07-01-preview" - accept = "application/json" - - # Construct URL - url = self._migrate_table_to_manual_throughput_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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_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 = build_migrate_table_to_manual_throughput_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + template_url=self._migrate_table_to_manual_throughput_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -810,16 +1089,18 @@ def _migrate_table_to_manual_throughput_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _migrate_table_to_manual_throughput_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + @distributed_trace def begin_migrate_table_to_manual_throughput( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller["_models.ThroughputSettingsGetResults"] + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> LROPoller["_models.ThroughputSettingsGetResults"]: """Migrate an Azure Cosmos DB Table from autoscale to manual throughput. :param resource_group_name: The name of the resource group. The name is case insensitive. @@ -830,15 +1111,18 @@ def begin_migrate_table_to_manual_throughput( :type table_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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :keyword polling: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 ThroughputSettingsGetResults or the result of cls(response) + :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 ThroughputSettingsGetResults or the + result of cls(response) :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.ThroughputSettingsGetResults] - :raises ~azure.core.exceptions.HttpResponseError: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.ThroughputSettingsGetResults"] lro_delay = kwargs.pop( 'polling_interval', @@ -853,25 +1137,17 @@ def begin_migrate_table_to_manual_throughput( cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('ThroughputSettingsGetResults', 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), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=50, min_length=3, pattern=r'^[a-z0-9]+(-[a-z0-9]+)*'), - 'tableName': self._serialize.url("table_name", table_name, 'str'), - } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -883,4 +1159,129 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_migrate_table_to_manual_throughput.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput'} # type: ignore + + def _retrieve_continuous_backup_information_initial( + self, + resource_group_name: str, + account_name: str, + table_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> Optional["_models.BackupInformation"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.BackupInformation"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(location, 'ContinuousBackupRestoreLocation') + + request = build_retrieve_continuous_backup_information_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + content_type=content_type, + json=_json, + template_url=self._retrieve_continuous_backup_information_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BackupInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _retrieve_continuous_backup_information_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/retrieveContinuousBackupInformation'} # type: ignore + + + @distributed_trace + def begin_retrieve_continuous_backup_information( + self, + resource_group_name: str, + account_name: str, + table_name: str, + location: "_models.ContinuousBackupRestoreLocation", + **kwargs: Any + ) -> LROPoller["_models.BackupInformation"]: + """Retrieves continuous backup information for a table. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param account_name: Cosmos DB database account name. + :type account_name: str + :param table_name: Cosmos DB table name. + :type table_name: str + :param location: The name of the continuous backup restore location. + :type location: ~azure.mgmt.cosmosdb.models.ContinuousBackupRestoreLocation + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 BackupInformation or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.cosmosdb.models.BackupInformation] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BackupInformation"] + 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._retrieve_continuous_backup_information_initial( + resource_group_name=resource_group_name, + account_name=account_name, + table_name=table_name, + location=location, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('BackupInformation', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_retrieve_continuous_backup_information.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/retrieveContinuousBackupInformation'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/py.typed b/src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/py.typed similarity index 100% rename from src/network-manager/azext_network_manager/vendored_sdks/py.typed rename to src/cosmosdb-preview/azext_cosmosdb_preview/vendored_sdks/azure_mgmt_cosmosdb/py.typed diff --git a/src/cosmosdb-preview/linter_exclusions.yml b/src/cosmosdb-preview/linter_exclusions.yml index 3f9e40acd71..7fa1e6d43ce 100644 --- a/src/cosmosdb-preview/linter_exclusions.yml +++ b/src/cosmosdb-preview/linter_exclusions.yml @@ -21,6 +21,14 @@ cosmosdb create: virtual_network_rules: rule_exclusions: - option_length_too_long + gremlin_databases_to_restore: + rule_exclusions: + - option_length_too_long +cosmosdb restore: + parameters: + gremlin_databases_to_restore: + rule_exclusions: + - option_length_too_long cosmosdb update: parameters: default_consistency_level: diff --git a/src/cosmosdb-preview/setup.py b/src/cosmosdb-preview/setup.py index 9ffdda9ef03..6b7ce5bd8da 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.10.0' +VERSION = '0.15.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -46,7 +46,7 @@ description='Microsoft Azure Command-Line Tools Cosmosdb-preview Extension', author='Kalyan khandrika', author_email='kakhandr@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/cosmosdb-preview', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/costmanagement/azext_costmanagement/tests/latest/preparers.py b/src/costmanagement/azext_costmanagement/tests/latest/preparers.py index 3d6672de64f..3abbc4945c0 100644 --- a/src/costmanagement/azext_costmanagement/tests/latest/preparers.py +++ b/src/costmanagement/azext_costmanagement/tests/latest/preparers.py @@ -11,7 +11,7 @@ import os from datetime import datetime from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.scenario_tests import SingleValueReplacer from azure.cli.testsdk.exceptions import CliTestError from azure.cli.testsdk.reverse_dependency import get_dummy_cli diff --git a/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_scenario.py b/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_scenario.py index cb6650d6d38..424289772a5 100644 --- a/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_scenario.py +++ b/src/costmanagement/azext_costmanagement/tests/latest/test_costmanagement_scenario.py @@ -11,7 +11,7 @@ # import os # import unittest -# from azure_devtools.scenario_tests import AllowLargeResponse +# from azure.cli.testsdk.scenario_tests import AllowLargeResponse # from azure.cli.testsdk import ScenarioTest # from .. import try_manual # from azure.cli.testsdk import ResourceGroupPreparer diff --git a/src/costmanagement/setup.py b/src/costmanagement/setup.py index 2a2f3f7c5f7..7404a2acfca 100644 --- a/src/costmanagement/setup.py +++ b/src/costmanagement/setup.py @@ -42,7 +42,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/costmanagement', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/costmanagement', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/custom-providers/setup.py b/src/custom-providers/setup.py index 62002b23f54..7dcb2e3f7d6 100644 --- a/src/custom-providers/setup.py +++ b/src/custom-providers/setup.py @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/custom-providers', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/custom-providers', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/databox/setup.py b/src/databox/setup.py index 065d917f533..e8659a34d4d 100644 --- a/src/databox/setup.py +++ b/src/databox/setup.py @@ -49,7 +49,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/databox', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/databox', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/databricks/HISTORY.rst b/src/databricks/HISTORY.rst index d26fe7c861c..2c7c38ef5f9 100644 --- a/src/databricks/HISTORY.rst +++ b/src/databricks/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +0.8.0 ++++++ +* az databricks workspace create: Add --public-network-access to allow creating workspace with network access from public internet +* az databricks workspace create: Add --required-nsg-rules to allow creating workspace with nsg rule for internal 0.7.3 +++++ diff --git a/src/databricks/azext_databricks/_client_factory.py b/src/databricks/azext_databricks/_client_factory.py index ac437293559..ebaf5d74a52 100644 --- a/src/databricks/azext_databricks/_client_factory.py +++ b/src/databricks/azext_databricks/_client_factory.py @@ -6,8 +6,8 @@ def cf_databricks(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client - from .vendored_sdks.databricks import DatabricksClient - return get_mgmt_service_client(cli_ctx, DatabricksClient) + from .vendored_sdks.databricks import AzureDatabricksManagementClient + return get_mgmt_service_client(cli_ctx, AzureDatabricksManagementClient) def cf_workspaces(cli_ctx, *_): diff --git a/src/databricks/azext_databricks/_params.py b/src/databricks/azext_databricks/_params.py index 1a22d9bcac8..6251988fe42 100644 --- a/src/databricks/azext_databricks/_params.py +++ b/src/databricks/azext_databricks/_params.py @@ -18,6 +18,7 @@ def load_arguments(self, _): + from .vendored_sdks.databricks.models import PublicNetworkAccess, RequiredNsgRules with self.argument_context('databricks workspace create') as c: c.argument('workspace_name', options_list=['--name', '-n'], help='The name of the workspace.') @@ -31,6 +32,9 @@ def load_arguments(self, _): c.argument('prepare_encryption', action='store_true', help='Flag to enable the Managed Identity for managed storage account to prepare for CMK encryption.') c.argument('require_infrastructure_encryption', action='store_true', help='Flag to enable the DBFS root file system with secondary layer of encryption with platform managed keys for data at rest.') c.argument('enable_no_public_ip', action='store_true', help='Flag to enable the no public ip feature.') + c.argument('public_network_access', arg_type=get_enum_type(PublicNetworkAccess), help='The configuration to set whether network access from public internet to the endpoints are allowed.') + c.argument('required_nsg_rules', options_list='--required-nsg-rules', arg_type=get_enum_type(RequiredNsgRules), + help='The type of Nsg rule for internal use only.') with self.argument_context('databricks workspace update') as c: c.argument('workspace_name', options_list=['--name', '-n'], id_part='name', help='The name of the workspace.') diff --git a/src/databricks/azext_databricks/custom.py b/src/databricks/azext_databricks/custom.py index f071b6f49f3..230c70e0883 100644 --- a/src/databricks/azext_databricks/custom.py +++ b/src/databricks/azext_databricks/custom.py @@ -25,12 +25,16 @@ def create_databricks_workspace(cmd, client, prepare_encryption=None, require_infrastructure_encryption=None, enable_no_public_ip=None, + public_network_access=None, + required_nsg_rules=None, no_wait=False): body = {} body['tags'] = tags # dictionary body['location'] = location # str body['managed_resource_group_id'] = managed_resource_group # str body.setdefault('sku', {})['name'] = sku_name # str + body['public_network_access'] = public_network_access + body['required_nsg_rules'] = required_nsg_rules parameters = {} _set_parameter_value(parameters, 'custom_virtual_network_id', custom_virtual_network_id) # str diff --git a/src/databricks/azext_databricks/tests/latest/recordings/test_databricks.yaml b/src/databricks/azext_databricks/tests/latest/recordings/test_databricks.yaml index 07b89abf810..ad1a0deb710 100644 --- a/src/databricks/azext_databricks/tests/latest/recordings/test_databricks.yaml +++ b/src/databricks/azext_databricks/tests/latest/recordings/test_databricks.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"location": "eastus", "sku": {"name": "premium"}, "properties": {"managedResourceGroupId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i", "parameters": {"enableNoPublicIp": {"value": true}}}}' headers: Accept: @@ -19,23 +19,23 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2021-07-23T08:20:24.0250594Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2022-01-17T08:35:55.8421093Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '971' + - '921' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:20:25 GMT + - Mon, 17 Jan 2022 08:36:20 GMT expires: - '-1' pragma: @@ -44,8 +44,8 @@ interactions: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + x-ms-ratelimit-remaining-subscription-resource-requests: + - '149' status: code: 201 message: Created @@ -63,135 +63,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:20:40 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --sku --enable-no-public-ip - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:20:55 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --sku --enable-no-public-ip - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:21:10 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --sku --enable-no-public-ip - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -203,11 +77,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:21:26 GMT + - Mon, 17 Jan 2022 08:36:36 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -231,9 +105,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -245,11 +119,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:21:41 GMT + - Mon, 17 Jan 2022 08:36:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -273,9 +147,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -287,11 +161,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:21:57 GMT + - Mon, 17 Jan 2022 08:37:07 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -315,9 +189,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -329,11 +203,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:22:12 GMT + - Mon, 17 Jan 2022 08:37:22 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -357,9 +231,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -371,11 +245,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:22:27 GMT + - Mon, 17 Jan 2022 08:37:37 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -399,9 +273,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -413,11 +287,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:22:42 GMT + - Mon, 17 Jan 2022 08:37:53 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -441,9 +315,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -455,11 +329,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:22:57 GMT + - Mon, 17 Jan 2022 08:38:08 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -483,9 +357,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTVzVDS1dYRDJER0NZS0xXSEVRM0hPU09IOjdDNDRENjUyMUVFNDEzQUQwOToyRE1ZOjNBfEQwODdBODMzNEEyNDYzRUMifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTTUNMSlFOVlBSTktSU1NZU1VMVVNWQlQ2OjdDNjgxQzExM0JGNDQ2QUU5OToyRE1ZOjNBfDdFN0I3RkYyQTY3NzM3QjcifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -497,7 +371,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:23:12 GMT + - Mon, 17 Jan 2022 08:38:23 GMT expires: - '-1' pragma: @@ -527,21 +401,21 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --enable-no-public-ip User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus"}' headers: cache-control: - no-cache content-length: - - '1782' + - '1733' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:23:13 GMT + - Mon, 17 Jan 2022 08:38:24 GMT expires: - '-1' pragma: @@ -554,6 +428,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' status: code: 200 message: OK @@ -577,23 +453,23 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2021-07-23T08:23:18.7089038Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2022-01-17T08:38:29.9961397Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"env":"dev"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '969' + - '919' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:23:19 GMT + - Mon, 17 Jan 2022 08:38:30 GMT expires: - '-1' pragma: @@ -602,8 +478,8 @@ interactions: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + x-ms-ratelimit-remaining-subscription-resource-requests: + - '149' status: code: 201 message: Created @@ -621,51 +497,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:23:34 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --sku --managed-resource-group --tags - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -677,11 +511,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:23:49 GMT + - Mon, 17 Jan 2022 08:38:46 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -705,9 +539,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -719,11 +553,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:24:05 GMT + - Mon, 17 Jan 2022 08:39:02 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -747,9 +581,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -761,11 +595,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:24:20 GMT + - Mon, 17 Jan 2022 08:39:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -789,9 +623,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -803,11 +637,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:24:36 GMT + - Mon, 17 Jan 2022 08:39:32 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -831,9 +665,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -845,11 +679,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:24:51 GMT + - Mon, 17 Jan 2022 08:39:47 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -873,9 +707,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -887,11 +721,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:25:06 GMT + - Mon, 17 Jan 2022 08:40:02 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -915,9 +749,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -929,11 +763,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:25:21 GMT + - Mon, 17 Jan 2022 08:40:18 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -957,9 +791,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -971,11 +805,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:25:37 GMT + - Mon, 17 Jan 2022 08:40:33 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -999,9 +833,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -1013,11 +847,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:25:52 GMT + - Mon, 17 Jan 2022 08:40:48 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -1041,9 +875,9 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6M0F8ODQ3Nzc3NThCMTlFNzE4MCJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VQcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6M0F8Q0MwMTg2RTk1NTVCQ0U2MyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -1055,7 +889,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:07 GMT + - Mon, 17 Jan 2022 08:41:03 GMT expires: - '-1' pragma: @@ -1085,21 +919,21 @@ interactions: ParameterSetName: - --resource-group --name --location --sku --managed-resource-group --tags User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaykdp7jidvgdcuc"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","env":"dev"}},"storageAccountName":{"type":"String","value":"dbstoragekdp7jidvgdcuc"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"1404065755443389","workspaceUrl":"adb-1404065755443389.9.azuredatabricks.net","createdDateTime":"2021-07-23T08:23:18.7089038Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaykdp7jidvgdcuc"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","env":"dev"}},"storageAccountName":{"type":"String","value":"dbstoragekdp7jidvgdcuc"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"7952933269326351","workspaceUrl":"adb-7952933269326351.11.azuredatabricks.net","createdDateTime":"2022-01-17T08:38:29.9961397Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"env":"dev"}}' headers: cache-control: - no-cache content-length: - - '1793' + - '1744' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:08 GMT + - Mon, 17 Jan 2022 08:41:05 GMT expires: - '-1' pragma: @@ -1112,6 +946,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' status: code: 200 message: OK @@ -1129,21 +965,21 @@ interactions: ParameterSetName: - --resource-group --name --tags --prepare-encryption User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus"}' headers: cache-control: - no-cache content-length: - - '1782' + - '1733' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:09 GMT + - Mon, 17 Jan 2022 08:41:07 GMT expires: - '-1' pragma: @@ -1156,16 +992,21 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' status: code: 200 message: OK - request: body: '{"tags": {"type": "test", "env": "dev"}, "location": "eastus", "sku": {"name": - "premium"}, "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6", - "parameters": {"enableNoPublicIp": {"value": true}, "prepareEncryption": {"value": - true}, "requireInfrastructureEncryption": {"value": false}}, "authorizations": - [{"principalId": "9a74af6f-d153-4348-988a-e2672920bee9", "roleDefinitionId": - "8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}], "createdBy": {}, "updatedBy": {}}}' + "premium"}, "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i", + "parameters": {"enableNoPublicIp": {"value": true}, "natGatewayName": {"value": + "nat-gateway"}, "publicIpName": {"value": "nat-gw-public-ip"}, "prepareEncryption": + {"value": true}, "requireInfrastructureEncryption": {"value": false}, "storageAccountName": + {"value": "dbstoragepovkkzoqvkvrg"}, "storageAccountSkuName": {"value": "Standard_GRS"}, + "vnetAddressPrefix": {"value": "10.139"}}, "authorizations": [{"principalId": + "9a74af6f-d153-4348-988a-e2672920bee9", "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}], + "createdBy": {}, "updatedBy": {}}}' headers: Accept: - application/json @@ -1176,27 +1017,27 @@ interactions: Connection: - keep-alive Content-Length: - - '563' + - '807' Content-Type: - application/json ParameterSetName: - --resource-group --name --tags --prepare-encryption User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z","storageAccountIdentity":{"principalId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z","storageAccountIdentity":{"principalId":"a4af5211-042b-40ae-90b7-97fbb32b4853","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' headers: cache-control: - no-cache content-length: - - '1970' + - '1921' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:25 GMT + - Mon, 17 Jan 2022 08:41:15 GMT expires: - '-1' pragma: @@ -1209,8 +1050,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' + x-ms-ratelimit-remaining-subscription-resource-requests: + - '149' status: code: 200 message: OK @@ -1228,21 +1069,21 @@ interactions: ParameterSetName: - -n --object-id -g --key-permissions User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-keyvault/9.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-keyvault/9.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"1970-01-19T19:57:08.385Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"1970-01-19T19:57:08.385Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-01-17T08:35:13.983Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-17T08:35:13.983Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"674368bb-7eaa-4100-aef7-138f65f50648","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":7,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded","publicNetworkAccess":"Enabled"}}' headers: cache-control: - no-cache content-length: - - '1393' + - '1339' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:26 GMT + - Mon, 17 Jan 2022 08:41:17 GMT expires: - '-1' pragma: @@ -1260,7 +1101,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-service-version: - - 1.5.61.0 + - 1.5.252.0 x-powered-by: - ASP.NET status: @@ -1269,17 +1110,18 @@ interactions: - request: body: '{"location": "eastus", "tags": {}, "properties": {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "sku": {"family": "A", "name": "standard"}, "accessPolicies": [{"tenantId": - "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "d44a2991-98c6-47c3-b59b-2b30d72cfcc2", + "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "674368bb-7eaa-4100-aef7-138f65f50648", "permissions": {"keys": ["get", "create", "delete", "list", "update", "import", "backup", "restore", "recover"], "secrets": ["get", "list", "set", "delete", "backup", "restore", "recover"], "certificates": ["get", "list", "delete", "create", "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, - {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "55c8edc9-2cef-4656-bc2e-ba613e3808cc", - "permissions": {"keys": ["wrapKey", "unwrapKey", "get", "recover"]}}], "vaultUri": + {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "a4af5211-042b-40ae-90b7-97fbb32b4853", + "permissions": {"keys": ["get", "wrapKey", "recover", "unwrapKey"]}}], "vaultUri": "https://clitest000002.vault.azure.net/", "enabledForDeployment": false, "enableSoftDelete": - true, "softDeleteRetentionInDays": 90, "provisioningState": "Succeeded"}}' + true, "softDeleteRetentionInDays": 7, "provisioningState": "Succeeded", "publicNetworkAccess": + "Enabled"}}' headers: Accept: - application/json @@ -1290,27 +1132,27 @@ interactions: Connection: - keep-alive Content-Length: - - '1122' + - '1144' Content-Type: - application/json ParameterSetName: - -n --object-id -g --key-permissions User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-keyvault/9.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-keyvault/9.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"1970-01-19T19:57:08.385Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"1970-01-19T19:57:08.787Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","permissions":{"keys":["wrapKey","unwrapKey","get","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-01-17T08:35:13.983Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-17T08:41:17.515Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"674368bb-7eaa-4100-aef7-138f65f50648","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"a4af5211-042b-40ae-90b7-97fbb32b4853","permissions":{"keys":["get","wrapKey","recover","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":7,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded","publicNetworkAccess":"Enabled"}}' headers: cache-control: - no-cache content-length: - - '1558' + - '1504' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:27 GMT + - Mon, 17 Jan 2022 08:41:17 GMT expires: - '-1' pragma: @@ -1328,9 +1170,9 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-service-version: - - 1.5.61.0 + - 1.5.252.0 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -1350,21 +1192,21 @@ interactions: ParameterSetName: - -n -g --set User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-keyvault/9.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-keyvault/9.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"1970-01-19T19:57:08.385Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"1970-01-19T19:57:08.787Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","permissions":{"keys":["wrapKey","unwrapKey","get","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-01-17T08:35:13.983Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-17T08:41:17.515Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"674368bb-7eaa-4100-aef7-138f65f50648","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"a4af5211-042b-40ae-90b7-97fbb32b4853","permissions":{"keys":["get","wrapKey","recover","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":7,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded","publicNetworkAccess":"Enabled"}}' headers: cache-control: - no-cache content-length: - - '1558' + - '1504' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:28 GMT + - Mon, 17 Jan 2022 08:41:19 GMT expires: - '-1' pragma: @@ -1382,7 +1224,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-service-version: - - 1.5.61.0 + - 1.5.252.0 x-powered-by: - ASP.NET status: @@ -1391,17 +1233,18 @@ interactions: - request: body: '{"location": "eastus", "properties": {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "sku": {"family": "A", "name": "standard"}, "accessPolicies": [{"tenantId": - "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "d44a2991-98c6-47c3-b59b-2b30d72cfcc2", + "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "674368bb-7eaa-4100-aef7-138f65f50648", "permissions": {"keys": ["get", "create", "delete", "list", "update", "import", "backup", "restore", "recover"], "secrets": ["get", "list", "set", "delete", "backup", "restore", "recover"], "certificates": ["get", "list", "delete", "create", "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, - {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "55c8edc9-2cef-4656-bc2e-ba613e3808cc", - "permissions": {"keys": ["wrapKey", "unwrapKey", "get", "recover"]}}], "vaultUri": + {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "a4af5211-042b-40ae-90b7-97fbb32b4853", + "permissions": {"keys": ["get", "wrapKey", "recover", "unwrapKey"]}}], "vaultUri": "https://clitest000002.vault.azure.net/", "enabledForDeployment": false, "enableSoftDelete": - true, "softDeleteRetentionInDays": 90, "provisioningState": "Succeeded"}}' + true, "softDeleteRetentionInDays": 7, "provisioningState": "Succeeded", "publicNetworkAccess": + "Enabled"}}' headers: Accept: - application/json @@ -1412,27 +1255,27 @@ interactions: Connection: - keep-alive Content-Length: - - '1110' + - '1132' Content-Type: - application/json ParameterSetName: - -n -g --set User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-keyvault/9.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-keyvault/9.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"1970-01-19T19:57:08.385Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"1970-01-19T19:57:08.79Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","permissions":{"keys":["wrapKey","unwrapKey","get","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-01-17T08:35:13.983Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-17T08:41:20.436Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"674368bb-7eaa-4100-aef7-138f65f50648","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"a4af5211-042b-40ae-90b7-97fbb32b4853","permissions":{"keys":["get","wrapKey","recover","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":7,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded","publicNetworkAccess":"Enabled"}}' headers: cache-control: - no-cache content-length: - - '1557' + - '1504' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:30 GMT + - Mon, 17 Jan 2022 08:41:21 GMT expires: - '-1' pragma: @@ -1450,7 +1293,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-service-version: - - 1.5.61.0 + - 1.5.252.0 x-ms-ratelimit-remaining-subscription-writes: - '1198' x-powered-by: @@ -1472,21 +1315,21 @@ interactions: ParameterSetName: - -n -g --set User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-keyvault/9.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-keyvault/9.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"1970-01-19T19:57:08.385Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"1970-01-19T19:57:08.79Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","permissions":{"keys":["wrapKey","unwrapKey","get","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-01-17T08:35:13.983Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-17T08:41:20.436Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"674368bb-7eaa-4100-aef7-138f65f50648","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"a4af5211-042b-40ae-90b7-97fbb32b4853","permissions":{"keys":["get","wrapKey","recover","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":7,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded","publicNetworkAccess":"Enabled"}}' headers: cache-control: - no-cache content-length: - - '1557' + - '1504' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:32 GMT + - Mon, 17 Jan 2022 08:41:23 GMT expires: - '-1' pragma: @@ -1504,7 +1347,7 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-service-version: - - 1.5.61.0 + - 1.5.252.0 x-powered-by: - ASP.NET status: @@ -1513,18 +1356,18 @@ interactions: - request: body: '{"location": "eastus", "properties": {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "sku": {"family": "A", "name": "standard"}, "accessPolicies": [{"tenantId": - "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "d44a2991-98c6-47c3-b59b-2b30d72cfcc2", + "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "674368bb-7eaa-4100-aef7-138f65f50648", "permissions": {"keys": ["get", "create", "delete", "list", "update", "import", "backup", "restore", "recover"], "secrets": ["get", "list", "set", "delete", "backup", "restore", "recover"], "certificates": ["get", "list", "delete", "create", "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, - {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "55c8edc9-2cef-4656-bc2e-ba613e3808cc", - "permissions": {"keys": ["wrapKey", "unwrapKey", "get", "recover"]}}], "vaultUri": + {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "objectId": "a4af5211-042b-40ae-90b7-97fbb32b4853", + "permissions": {"keys": ["get", "wrapKey", "recover", "unwrapKey"]}}], "vaultUri": "https://clitest000002.vault.azure.net/", "enabledForDeployment": false, "enableSoftDelete": - true, "softDeleteRetentionInDays": 90, "enablePurgeProtection": true, "provisioningState": - "Succeeded"}}' + true, "softDeleteRetentionInDays": 7, "enablePurgeProtection": true, "provisioningState": + "Succeeded", "publicNetworkAccess": "Enabled"}}' headers: Accept: - application/json @@ -1535,27 +1378,27 @@ interactions: Connection: - keep-alive Content-Length: - - '1141' + - '1163' Content-Type: - application/json ParameterSetName: - -n -g --set User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-keyvault/9.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-keyvault/9.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002?api-version=2021-06-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"1970-01-19T19:57:08.385Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"1970-01-19T19:57:08.794Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","permissions":{"keys":["wrapKey","unwrapKey","get","recover"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":90,"enablePurgeProtection":true,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.KeyVault/vaults/clitest000002","name":"clitest000002","type":"Microsoft.KeyVault/vaults","location":"eastus","tags":{},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-01-17T08:35:13.983Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-17T08:41:24.453Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","accessPolicies":[{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"674368bb-7eaa-4100-aef7-138f65f50648","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","objectId":"a4af5211-042b-40ae-90b7-97fbb32b4853","permissions":{"keys":["get","wrapKey","recover","unwrapKey"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"softDeleteRetentionInDays":7,"enablePurgeProtection":true,"vaultUri":"https://clitest000002.vault.azure.net/","provisioningState":"Succeeded","publicNetworkAccess":"Enabled"}}' headers: cache-control: - no-cache content-length: - - '1587' + - '1533' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:33 GMT + - Mon, 17 Jan 2022 08:41:25 GMT expires: - '-1' pragma: @@ -1573,16 +1416,16 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-service-version: - - 1.5.61.0 + - 1.5.252.0 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: code: 200 message: OK - request: - body: '' + body: null headers: Accept: - application/json @@ -1591,16 +1434,13 @@ interactions: Connection: - keep-alive Content-Length: - - 0 + - '0' Content-Type: - - application/json; charset=utf-8 + - application/json User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-keyvault/7.0 Azure-SDK-For-Python - accept-language: - - en-US + - azsdk-python-keyvault-keys/4.5.0b4 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: POST - uri: https://clitest000002.vault.azure.net/keys/testkey/create?api-version=7.0 + uri: https://clitest000002.vault.azure.net/keys/testkey/create?api-version=7.3-preview response: body: string: '{"error":{"code":"Unauthorized","message":"AKV10000: Request is missing @@ -1613,7 +1453,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:35 GMT + - Mon, 17 Jan 2022 08:41:27 GMT expires: - '-1' pragma: @@ -1626,11 +1466,11 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - conn_type=Ipv4;addr=167.220.232.244;act_addr_fam=InterNetwork; + - conn_type=Ipv4;addr=167.220.255.85;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus x-ms-keyvault-service-version: - - 1.9.48.0 + - 1.9.264.1 x-powered-by: - ASP.NET status: @@ -1648,26 +1488,23 @@ interactions: Content-Length: - '47' Content-Type: - - application/json; charset=utf-8 + - application/json User-Agent: - - python/3.8.9 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-keyvault/7.0 Azure-SDK-For-Python - accept-language: - - en-US + - azsdk-python-keyvault-keys/4.5.0b4 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: POST - uri: https://clitest000002.vault.azure.net/keys/testkey/create?api-version=7.0 + uri: https://clitest000002.vault.azure.net/keys/testkey/create?api-version=7.3-preview response: body: - string: '{"key":{"kid":"https://clitest000002.vault.azure.net/keys/testkey/6dea3de0027d4503961c906d509b60f7","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"1KniYR8fgEFwPEF_u1-MUVWMiSM0kEXAgBJgTi1EcdKBVpOndt0yv8guljKFChWW_je-pv5QySI8Yueba-ROVoD0TOeIa4a2xySGu_w013TSakBzP5dVUBfloPl2DGkYa7Sd4DVsr9R6npPwGY7AMB2QBoLorlg4335DLW67pfVYQqzLgSSfWyGIvQONOyEmbB0ppbAW-kN17v_WEXqP2fOzYNCpUflrH3k5RgkxezxuQ1QYIMEaNWgqIfRSjnuTGkZ-djTZQtPyeAnYQ8sz_JK10biHAStM6sJKv9T5a_AJibx6VAzNFq5WcLkI7OcIngt1pbCKd9cTj2-1-Pov1Q","e":"AQAB"},"attributes":{"enabled":true,"created":1627028798,"updated":1627028798,"recoveryLevel":"Recoverable"}}' + string: '{"key":{"kid":"https://clitest000002.vault.azure.net/keys/testkey/eb54ac0b87c24f2abdfa76f18ccb538c","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"yaSTurxvOAzLIhGXcH_eB77a5YchzwIZmA73QcNnmsXDg8NZ3szWLvEnnIZJj4YZF_1mu4qi1ueCeV-cPyuqFYVYUs0RO_7zxJ1aeHf95R55xrFLfxDBSJXvU-gZl-kLHZ8atgdb9KGDq7mZM9ekyYf2RIb0Dszk-NAfDmnKzxL_pPuYt0aBz29TqTva7vuXeNjsHCpBx265ajeZAOXPXli_0ZRU3U-_DiPBItBIbbllNemp56FWXxg3_vzHlQU8IBuaOQpIEdjlgeRnUaSjYu5HSZ_AbnycMYPVbfQLQhQ36dDcmCjgsTrjq8Eq1-zmWlyJYUmBsJraG2Jndsq9eQ","e":"AQAB"},"attributes":{"enabled":true,"created":1642408888,"updated":1642408888,"recoveryLevel":"CustomizedRecoverable","recoverableDays":7}}' headers: cache-control: - no-cache content-length: - - '656' + - '675' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:38 GMT + - Mon, 17 Jan 2022 08:41:28 GMT expires: - '-1' pragma: @@ -1677,11 +1514,11 @@ interactions: x-content-type-options: - nosniff x-ms-keyvault-network-info: - - conn_type=Ipv4;addr=167.220.232.244;act_addr_fam=InterNetwork; + - conn_type=Ipv4;addr=167.220.255.85;act_addr_fam=InterNetwork; x-ms-keyvault-region: - eastus x-ms-keyvault-service-version: - - 1.9.48.0 + - 1.9.264.1 x-powered-by: - ASP.NET status: @@ -1701,21 +1538,21 @@ interactions: ParameterSetName: - --resource-group --name --key-source --key-name --key-version --key-vault User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z","storageAccountIdentity":{"principalId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z","storageAccountIdentity":{"principalId":"a4af5211-042b-40ae-90b7-97fbb32b4853","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' headers: cache-control: - no-cache content-length: - - '1970' + - '1921' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:40 GMT + - Mon, 17 Jan 2022 08:41:30 GMT expires: - '-1' pragma: @@ -1728,17 +1565,22 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' status: code: 200 message: OK - request: body: '{"tags": {"type": "test", "env": "dev"}, "location": "eastus", "sku": {"name": - "premium"}, "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6", - "parameters": {"enableNoPublicIp": {"value": true}, "prepareEncryption": {"value": - true}, "encryption": {"value": {"keySource": "Microsoft.Keyvault", "KeyName": - "testkey", "keyversion": "6dea3de0027d4503961c906d509b60f7", "keyvaulturi": + "premium"}, "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i", + "parameters": {"enableNoPublicIp": {"value": true}, "natGatewayName": {"value": + "nat-gateway"}, "publicIpName": {"value": "nat-gw-public-ip"}, "prepareEncryption": + {"value": true}, "encryption": {"value": {"keySource": "Microsoft.Keyvault", + "KeyName": "testkey", "keyversion": "eb54ac0b87c24f2abdfa76f18ccb538c", "keyvaulturi": "https://clitest000002.vault.azure.net/"}}, "requireInfrastructureEncryption": - {"value": false}}, "authorizations": [{"principalId": "9a74af6f-d153-4348-988a-e2672920bee9", + {"value": false}, "storageAccountName": {"value": "dbstoragepovkkzoqvkvrg"}, + "storageAccountSkuName": {"value": "Standard_GRS"}, "vnetAddressPrefix": {"value": + "10.139"}}, "authorizations": [{"principalId": "9a74af6f-d153-4348-988a-e2672920bee9", "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}], "createdBy": {}, "updatedBy": {}, "storageAccountIdentity": {}}}' headers: @@ -1751,27 +1593,27 @@ interactions: Connection: - keep-alive Content-Length: - - '795' + - '1028' Content-Type: - application/json ParameterSetName: - --resource-group --name --key-source --key-name --key-version --key-vault User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Microsoft.Keyvault","keyvaulturi":"https://clitest000002.vault.azure.net/","KeyName":"testkey","keyversion":"6dea3de0027d4503961c906d509b60f7"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z","storageAccountIdentity":{"principalId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Microsoft.Keyvault","keyvaulturi":"https://clitest000002.vault.azure.net/","KeyName":"testkey","keyversion":"eb54ac0b87c24f2abdfa76f18ccb538c"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z","storageAccountIdentity":{"principalId":"a4af5211-042b-40ae-90b7-97fbb32b4853","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' headers: cache-control: - no-cache content-length: - - '2178' + - '2118' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:45 GMT + - Mon, 17 Jan 2022 08:41:36 GMT expires: - '-1' pragma: @@ -1784,8 +1626,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1197' + x-ms-ratelimit-remaining-subscription-resource-requests: + - '149' status: code: 200 message: OK @@ -1803,21 +1645,21 @@ interactions: ParameterSetName: - --resource-group --name --key-source User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Microsoft.Keyvault","keyvaulturi":"https://clitest000002.vault.azure.net/","KeyName":"testkey","keyversion":"6dea3de0027d4503961c906d509b60f7"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z","storageAccountIdentity":{"principalId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Microsoft.Keyvault","keyvaulturi":"https://clitest000002.vault.azure.net/","KeyName":"testkey","keyversion":"eb54ac0b87c24f2abdfa76f18ccb538c"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z","storageAccountIdentity":{"principalId":"a4af5211-042b-40ae-90b7-97fbb32b4853","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' headers: cache-control: - no-cache content-length: - - '2178' + - '2118' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:46 GMT + - Mon, 17 Jan 2022 08:41:38 GMT expires: - '-1' pragma: @@ -1830,15 +1672,20 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' status: code: 200 message: OK - request: body: '{"tags": {"type": "test", "env": "dev"}, "location": "eastus", "sku": {"name": - "premium"}, "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6", - "parameters": {"enableNoPublicIp": {"value": true}, "prepareEncryption": {"value": - true}, "encryption": {"value": {"keySource": "Default"}}, "requireInfrastructureEncryption": - {"value": false}}, "authorizations": [{"principalId": "9a74af6f-d153-4348-988a-e2672920bee9", + "premium"}, "properties": {"managedResourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i", + "parameters": {"enableNoPublicIp": {"value": true}, "natGatewayName": {"value": + "nat-gateway"}, "publicIpName": {"value": "nat-gw-public-ip"}, "prepareEncryption": + {"value": true}, "encryption": {"value": {"keySource": "Default"}}, "requireInfrastructureEncryption": + {"value": false}, "storageAccountName": {"value": "dbstoragepovkkzoqvkvrg"}, + "storageAccountSkuName": {"value": "Standard_GRS"}, "vnetAddressPrefix": {"value": + "10.139"}}, "authorizations": [{"principalId": "9a74af6f-d153-4348-988a-e2672920bee9", "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}], "createdBy": {}, "updatedBy": {}, "storageAccountIdentity": {}}}' headers: @@ -1851,27 +1698,27 @@ interactions: Connection: - keep-alive Content-Length: - - '644' + - '888' Content-Type: - application/json ParameterSetName: - --resource-group --name --key-source User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z","storageAccountIdentity":{"principalId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z","storageAccountIdentity":{"principalId":"a4af5211-042b-40ae-90b7-97fbb32b4853","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' headers: cache-control: - no-cache content-length: - - '2033' + - '1984' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:49 GMT + - Mon, 17 Jan 2022 08:41:43 GMT expires: - '-1' pragma: @@ -1884,8 +1731,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1197' + x-ms-ratelimit-remaining-subscription-resource-requests: + - '149' status: code: 200 message: OK @@ -1903,21 +1750,21 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z","storageAccountIdentity":{"principalId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z","storageAccountIdentity":{"principalId":"a4af5211-042b-40ae-90b7-97fbb32b4853","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' headers: cache-control: - no-cache content-length: - - '2033' + - '1984' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:51 GMT + - Mon, 17 Jan 2022 08:41:45 GMT expires: - '-1' pragma: @@ -1930,6 +1777,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' status: code: 200 message: OK @@ -1947,21 +1796,21 @@ interactions: ParameterSetName: - --ids User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z","storageAccountIdentity":{"principalId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z","storageAccountIdentity":{"principalId":"a4af5211-042b-40ae-90b7-97fbb32b4853","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}' headers: cache-control: - no-cache content-length: - - '2033' + - '1984' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:52 GMT + - Mon, 17 Jan 2022 08:41:46 GMT expires: - '-1' pragma: @@ -1974,6 +1823,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1798' status: code: 200 message: OK @@ -1991,21 +1842,21 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces?api-version=2021-04-01-preview response: body: - string: '{"value":[{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaykdp7jidvgdcuc"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","env":"dev"}},"storageAccountName":{"type":"String","value":"dbstoragekdp7jidvgdcuc"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"1404065755443389","workspaceUrl":"adb-1404065755443389.9.azuredatabricks.net","createdDateTime":"2021-07-23T08:23:18.7089038Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"env":"dev"}},{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-9le81w89pzuv6","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaysnixdg453ib7m"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragesnixdg453ib7m"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2840749693136527","workspaceUrl":"adb-2840749693136527.7.azuredatabricks.net","createdDateTime":"2021-07-23T08:20:24.0250594Z","storageAccountIdentity":{"principalId":"55c8edc9-2cef-4656-bc2e-ba613e3808cc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}]}' + string: '{"value":[{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/custom-managed-rg","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaykdp7jidvgdcuc"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true","env":"dev"}},"storageAccountName":{"type":"String","value":"dbstoragekdp7jidvgdcuc"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"7952933269326351","workspaceUrl":"adb-7952933269326351.11.azuredatabricks.net","createdDateTime":"2022-01-17T08:38:29.9961397Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace","name":"my-custom-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus","tags":{"env":"dev"}},{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-r3j9c6u8ixn8i","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":true},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":true},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelaypovkkzoqvkvrg"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragepovkkzoqvkvrg"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"},"encryption":{"type":"Object","value":{"keySource":"Default"}}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"4120860532304675","workspaceUrl":"adb-4120860532304675.15.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:55.8421093Z","storageAccountIdentity":{"principalId":"a4af5211-042b-40ae-90b7-97fbb32b4853","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"eastus","tags":{"type":"test","env":"dev"}}]}' headers: cache-control: - no-cache content-length: - - '3839' + - '3741' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:26:54 GMT + - Mon, 17 Jan 2022 08:41:47 GMT expires: - '-1' pragma: @@ -2017,8 +1868,10 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - westus:53c2c5e4-cb81-4dbb-80db-a0d44085fc4f - - eastus:b20fc45b-8a2a-4e43-a3b9-ab5ef210c322 + - westus:fab8449d-5848-4c90-b713-371f4f970ca3 + - eastus:18ae4b65-14d9-4c4d-9dba-b5d59ce834cb + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' status: code: 200 message: OK @@ -2038,9 +1891,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview response: body: string: '' @@ -2050,11 +1903,11 @@ interactions: content-length: - '0' date: - - Fri, 23 Jul 2021 08:26:56 GMT + - Mon, 17 Jan 2022 08:41:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2080,51 +1933,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:27:12 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2136,11 +1947,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:27:28 GMT + - Mon, 17 Jan 2022 08:42:06 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2164,9 +1975,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2178,11 +1989,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:27:43 GMT + - Mon, 17 Jan 2022 08:42:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2206,9 +2017,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2220,11 +2031,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:27:58 GMT + - Mon, 17 Jan 2022 08:42:36 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2248,9 +2059,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2262,11 +2073,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:28:13 GMT + - Mon, 17 Jan 2022 08:42:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2290,9 +2101,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2304,11 +2115,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:28:28 GMT + - Mon, 17 Jan 2022 08:43:07 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2332,9 +2143,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2346,11 +2157,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:28:43 GMT + - Mon, 17 Jan 2022 08:43:22 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2374,9 +2185,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2388,11 +2199,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:28:59 GMT + - Mon, 17 Jan 2022 08:43:37 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2416,9 +2227,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2430,11 +2241,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:29:15 GMT + - Mon, 17 Jan 2022 08:43:54 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2458,9 +2269,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2472,11 +2283,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:29:30 GMT + - Mon, 17 Jan 2022 08:44:09 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2500,9 +2311,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2514,11 +2325,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:29:45 GMT + - Mon, 17 Jan 2022 08:44:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2542,9 +2353,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2556,11 +2367,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:30:00 GMT + - Mon, 17 Jan 2022 08:44:39 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2584,9 +2395,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2598,11 +2409,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:30:15 GMT + - Mon, 17 Jan 2022 08:44:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2626,9 +2437,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2640,11 +2451,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:30:31 GMT + - Mon, 17 Jan 2022 08:45:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2668,9 +2479,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -2682,11 +2493,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:30:46 GMT + - Mon, 17 Jan 2022 08:45:25 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2710,363 +2521,69 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NNQ0xKUU5WUFJOS1JTU1lTVUxVU1ZCVDY6N0M2ODFDMTEzQkY0NDZBRTk5OjJETVk6fDYyRTMxMjk5M0I5RkMxNDkifQ?api-version=2021-04-01-preview response: body: - string: '{"status":"Accepted"}' + string: '{"status":"Succeeded"}' headers: cache-control: - no-cache content-length: - - '21' + - '22' content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:31:01 GMT + - Mon, 17 Jan 2022 08:45:41 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - databricks workspace delete Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2021-04-01-preview response: body: - string: '{"status":"Accepted"}' + string: '' headers: cache-control: - no-cache content-length: - - '21' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Fri, 23 Jul 2021 08:31:17 GMT + - Mon, 17 Jan 2022 08:45:44 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:31:32 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:31:48 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:32:04 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:32:19 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:32:34 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/eastus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1NXNUNLV1hEMkRHQ1lLTFdIRVEzSE9TT0g6N0M0NEQ2NTIxRUU0MTNBRDA5OjJETVk6fDBGNkZFRTQ2NzRFRDg2NDEifQ?api-version=2018-04-01 - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-cache - content-length: - - '22' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:32:49 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/workspaces/my-custom-workspace?api-version=2018-04-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 23 Jul 2021 08:32:52 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3074,175 +2591,7 @@ interactions: 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:33:07 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:33:22 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:33:37 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace delete - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name -y - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 23 Jul 2021 08:33:53 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff + - '14998' status: code: 202 message: Accepted @@ -3260,9 +2609,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3274,11 +2623,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:34:08 GMT + - Mon, 17 Jan 2022 08:45:59 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3302,9 +2651,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3316,11 +2665,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:34:23 GMT + - Mon, 17 Jan 2022 08:46:14 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3344,9 +2693,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3358,11 +2707,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:34:38 GMT + - Mon, 17 Jan 2022 08:46:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3386,9 +2735,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3400,11 +2749,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:34:53 GMT + - Mon, 17 Jan 2022 08:46:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3428,9 +2777,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3442,11 +2791,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:35:08 GMT + - Mon, 17 Jan 2022 08:47:00 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3470,9 +2819,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3484,11 +2833,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:35:24 GMT + - Mon, 17 Jan 2022 08:47:16 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3512,9 +2861,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3526,11 +2875,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:35:39 GMT + - Mon, 17 Jan 2022 08:47:31 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3554,9 +2903,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3568,11 +2917,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:35:54 GMT + - Mon, 17 Jan 2022 08:47:49 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3596,9 +2945,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3610,11 +2959,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:36:10 GMT + - Mon, 17 Jan 2022 08:48:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3638,9 +2987,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -3652,11 +3001,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:36:25 GMT + - Mon, 17 Jan 2022 08:48:19 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3680,9 +3029,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3N3NWNrd3hkMmRnY3lrbHdoZXEzaG9zb2h5b2kybml4Z3I0cXczcjIyNXgzd28zcjI2eWN0Z2twYy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU1c1Q0tXWEQyREdDWUtMV0hFUTNIT1NPSDo3QzQ0RDY1MjFFRTQxM0FEMDk6MkRNWTp8NzU5MzUyN0YyNjk0RkMxOSJ9?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NtY2xqcW52cHJua3Jzc3lzdWx1c3ZidDZ0aWtvemV2bXVmYWp2ZXg0Mnh0cGlucXJ4emVuaGpjeC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS1jdXN0b20td29ya3NwYWNlIiwiam9iSWQiOiJBcHBsaWFuY2VEZXByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLU01DTEpRTlZQUk5LUlNTWVNVTFVTVkJUNjo3QzY4MUMxMTNCRjQ0NkFFOTk6MkRNWTp8NURGRDVCMzJEMUNDMTc0QyJ9?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -3694,7 +3043,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 23 Jul 2021 08:36:40 GMT + - Mon, 17 Jan 2022 08:48:34 GMT expires: - '-1' pragma: diff --git a/src/databricks/azext_databricks/tests/latest/recordings/test_databricks_v1.yaml b/src/databricks/azext_databricks/tests/latest/recordings/test_databricks_v1.yaml new file mode 100644 index 00000000000..08e9a3d7f26 --- /dev/null +++ b/src/databricks/azext_databricks/tests/latest/recordings/test_databricks_v1.yaml @@ -0,0 +1,986 @@ +interactions: +- request: + body: '{"location": "westus", "sku": {"name": "premium"}, "properties": {"managedResourceGroupId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-vmaujr6rstqh5", + "parameters": {}, "publicNetworkAccess": "Enabled", "requiredNsgRules": "AllRules"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databricks workspace create + Connection: + - keep-alive + Content-Length: + - '292' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview + response: + body: + string: '{"properties":{"publicNetworkAccess":"Enabled","requiredNsgRules":"AllRules","managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-vmaujr6rstqh5","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2022-01-18T06:15:52.5437527Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"westus"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '986' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:15:53 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '149' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:16:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:16:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:16:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:16:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:17:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:17:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:17:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:17:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlUHJvdmlzaW9uaW5nSm9iOjJEUkdBOjJEQ0xJOjNBNUZURVNUOjNBNUZEQVRBQlJJQ0tTOjNBNUZWMTdCRVU0RUFXSVc1Uk5NS01FWjQ6N0M4NTNDQUU5ODY3RkREQ0RBOjJETVk6fEE4Qzc5QTA3NkI0MEQ4RUEifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:18:11 GMT + expires: + - '-1' + pragma: + - no-cache + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databricks workspace create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --sku --public-network-access --required-nsg-rules + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview + response: + body: + string: '{"properties":{"publicNetworkAccess":"Enabled","requiredNsgRules":"AllRules","managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-my-test-workspace-vmaujr6rstqh5","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelayod5mios4mc5ck"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstorageod5mios4mc5ck"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"2141211410994591","workspaceUrl":"adb-2141211410994591.11.azuredatabricks.net","createdDateTime":"2022-01-18T06:15:52.5437527Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/workspaces/my-test-workspace","name":"my-test-workspace","type":"Microsoft.Databricks/workspaces","sku":{"name":"premium"},"location":"westus"}' + headers: + cache-control: + - no-cache + content-length: + - '1799' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:18:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databricks workspace delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/workspaces/my-test-workspace?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 18 Jan 2022 06:18:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?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-deletes: + - '14998' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:18:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:18:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:19:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:19:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:19:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:19:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:20:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:20:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:20:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Accepted"}' + headers: + cache-control: + - no-cache + content-length: + - '21' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:20:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + pragma: + - no-cache + 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: + - databricks workspace delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_v1000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3NfdjE3YmV1NGVhd2l3NXJubWttZXo0a215Z3NiZ2UyeTdzdTNrM21vanpjdzd5ZHF5Mm03YXJzdC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9teS10ZXN0LXdvcmtzcGFjZSIsImpvYklkIjoiQXBwbGlhbmNlRGVwcm92aXNpb25pbmdKb2I6MkRSR0E6MkRDTEk6M0E1RlRFU1Q6M0E1RkRBVEFCUklDS1M6M0E1RlYxN0JFVTRFQVdJVzVSTk1LTUVaNDo3Qzg1M0NBRTk4NjdGRERDREE6MkRNfDRFQ0QxQkVCNDhGNDRGMjMifQ?api-version=2021-04-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 06:21:03 GMT + expires: + - '-1' + pragma: + - no-cache + 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 +version: 1 diff --git a/src/databricks/azext_databricks/tests/latest/recordings/test_databricks_vnet_peering.yaml b/src/databricks/azext_databricks/tests/latest/recordings/test_databricks_vnet_peering.yaml index 0142330c7bf..569fd7c7f6f 100644 --- a/src/databricks/azext_databricks/tests/latest/recordings/test_databricks_vnet_peering.yaml +++ b/src/databricks/azext_databricks/tests/latest/recordings/test_databricks_vnet_peering.yaml @@ -18,16 +18,16 @@ interactions: ParameterSetName: - -g -n -l User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"vnet000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005\",\r\n - \ \"etag\": \"W/\\\"01cd005a-b468-4d27-b8f9-90efed9a5fdd\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"0553b0d7-86b8-488d-98c6-95b02d685f29\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"b16fc0b0-2efc-4c37-b42c-a228e7f5fcea\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"2e00bf6e-e38b-434c-b361-9f07fc012ed2\",\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\": @@ -36,15 +36,15 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6f0e5e79-691d-4620-8f61-68b7e1e23532?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/09dfe1b3-213b-4d62-9163-9903f01f60a5?api-version=2021-05-01 cache-control: - no-cache content-length: - - '770' + - '697' content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:20:54 GMT + - Mon, 17 Jan 2022 08:35:13 GMT expires: - '-1' pragma: @@ -57,7 +57,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7c3cd02b-7ad7-442f-a27d-63bddf72a0ff + - 3fba7104-2f46-4c5f-ab29-37fd44d10f70 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -77,9 +77,9 @@ interactions: ParameterSetName: - -g -n -l User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6f0e5e79-691d-4620-8f61-68b7e1e23532?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/09dfe1b3-213b-4d62-9163-9903f01f60a5?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -91,7 +91,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:20:58 GMT + - Mon, 17 Jan 2022 08:35:16 GMT expires: - '-1' pragma: @@ -108,7 +108,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a0956af8-f8ef-469f-bb27-4c48b6874eee + - de4ee6af-669a-4bdd-b8e5-9c453808624d status: code: 200 message: OK @@ -126,16 +126,16 @@ interactions: ParameterSetName: - -g -n -l User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"vnet000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005\",\r\n - \ \"etag\": \"W/\\\"107a603f-fd48-4da8-9249-628aee5069dd\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"65d0e78e-3807-4bf1-8ee2-881e7ae0556d\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"b16fc0b0-2efc-4c37-b42c-a228e7f5fcea\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"2e00bf6e-e38b-434c-b361-9f07fc012ed2\",\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\": @@ -144,13 +144,13 @@ interactions: cache-control: - no-cache content-length: - - '771' + - '698' content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:20:58 GMT + - Mon, 17 Jan 2022 08:35:16 GMT etag: - - W/"107a603f-fd48-4da8-9249-628aee5069dd" + - W/"65d0e78e-3807-4bf1-8ee2-881e7ae0556d" expires: - '-1' pragma: @@ -167,13 +167,13 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d9f44cb2-567b-49d2-80a1-fb26c90bc226 + - 21a39bd2-2161-49f5-9cc0-38555832ddc2 status: code: 200 message: OK - request: body: '{"location": "westus", "sku": {"name": "standard"}, "properties": {"managedResourceGroupId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4", "parameters": {}}}' headers: Accept: @@ -185,29 +185,29 @@ interactions: Connection: - keep-alive Content-Length: - - '234' + - '226' Content-Type: - application/json ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2021-07-27T04:21:04.5043124Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002","name":"databricks000002","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4","provisioningState":"Accepted","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"createdDateTime":"2022-01-17T08:35:21.8009293Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002","name":"databricks000002","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '993' + - '924' content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:21:05 GMT + - Mon, 17 Jan 2022 08:35:22 GMT expires: - '-1' pragma: @@ -216,8 +216,8 @@ interactions: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' + x-ms-ratelimit-remaining-subscription-resource-requests: + - '149' status: code: 201 message: Created @@ -235,9 +235,9 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -249,11 +249,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:21:21 GMT + - Mon, 17 Jan 2022 08:35:38 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -277,9 +277,9 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -291,11 +291,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:21:36 GMT + - Mon, 17 Jan 2022 08:35:53 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -319,9 +319,9 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -333,11 +333,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:21:51 GMT + - Mon, 17 Jan 2022 08:36:09 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -361,9 +361,9 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -375,11 +375,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:22:07 GMT + - Mon, 17 Jan 2022 08:36:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -403,9 +403,9 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -417,11 +417,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:22:22 GMT + - Mon, 17 Jan 2022 08:36:39 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -445,9 +445,9 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -459,11 +459,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:22:37 GMT + - Mon, 17 Jan 2022 08:36:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -487,9 +487,9 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview response: body: string: '{"status":"Accepted"}' @@ -501,11 +501,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:22:52 GMT + - Mon, 17 Jan 2022 08:37:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -529,51 +529,9 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 - response: - body: - string: '{"status":"Accepted"}' - headers: - cache-control: - - no-cache - content-length: - - '21' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:23:07 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 - pragma: - - no-cache - 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: - - databricks workspace create - Connection: - - keep-alive - ParameterSetName: - - -l -n -g --sku - User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldDYybzVvdXMyaTc2N3dnZmVzbDV0dmRodmxhN2pnajI2bDVsdWY0Z2dmZmc3dXFkaGVnbC9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzaW9pbXpmaDVxeDdmdzMiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVDYyTzVPVVMySTc2N1dHRkVTOjdDMjU1MTg0NkY1Qjg3OEQ5NToyRERBVHxFRTZENTMyMzYwQTMyQjNDIn0?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/locations/westus/operationStatuses/eyJmdWxseVF1YWxpZmllZEFwcGxpYW5jZUlkIjoiL3N1YnNjcmlwdGlvbnMvMGIxZjY0NzEtMWJmMC00ZGRhLWFlYzMtY2I5MjcyZjA5NTkwL3Jlc291cmNlR3JvdXBzL2NsaV90ZXN0X2RhdGFicmlja3Nfdm5ldGtzaW55N2Y1dGV1N3k2aHMydHk2aGQ2c2Fjd25rM3p4Z2lpcXVraXdvdXg1aGVxdmQ3cy9wcm92aWRlcnMvTWljcm9zb2Z0LkRhdGFicmlja3Mvd29ya3NwYWNlcy9kYXRhYnJpY2tzcXRnbHN4eXFqcG1nY3oiLCJqb2JJZCI6IkFwcGxpYW5jZVByb3Zpc2lvbmluZ0pvYjoyRFJHQToyRENMSTozQTVGVEVTVDozQTVGREFUQUJSSUNLUzozQTVGVk5FVEtTSU5ZN0Y1VEVVN1k2SFMyOjdDNzA0RUZCMzQ4OTZEODNFRDoyRERBVHxDMTIyMEQzMEFCRkY4NDI2In0?api-version=2021-04-01-preview response: body: string: '{"status":"Succeeded"}' @@ -585,7 +543,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:23:23 GMT + - Mon, 17 Jan 2022 08:37:25 GMT expires: - '-1' pragma: @@ -615,21 +573,21 @@ interactions: ParameterSetName: - -l -n -g --sku User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002?api-version=2018-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002?api-version=2021-04-01-preview response: body: - string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelayhksj2cvwo5jnu"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstoragehksj2cvwo5jnu"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"d44a2991-98c6-47c3-b59b-2b30d72cfcc2","puid":"100320012A38E944","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"3001778378097780","workspaceUrl":"adb-3001778378097780.0.azuredatabricks.net","createdDateTime":"2021-07-27T04:21:04.5043124Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002","name":"databricks000002","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"}' + string: '{"properties":{"managedResourceGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4","parameters":{"enableFedRampCertification":{"type":"Bool","value":false},"enableNoPublicIp":{"type":"Bool","value":false},"natGatewayName":{"type":"String","value":"nat-gateway"},"prepareEncryption":{"type":"Bool","value":false},"publicIpName":{"type":"String","value":"nat-gw-public-ip"},"relayNamespaceName":{"type":"String","value":"dbrelayoyqv3vsaeswyq"},"requireInfrastructureEncryption":{"type":"Bool","value":false},"resourceTags":{"type":"Object","value":{"application":"databricks","databricks-environment":"true"}},"storageAccountName":{"type":"String","value":"dbstorageoyqv3vsaeswyq"},"storageAccountSkuName":{"type":"String","value":"Standard_GRS"},"vnetAddressPrefix":{"type":"String","value":"10.139"}},"provisioningState":"Succeeded","authorizations":[{"principalId":"9a74af6f-d153-4348-988a-e2672920bee9","roleDefinitionId":"8e3af657-a8ff-443c-a75c-2fe8c4bcb635"}],"createdBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"updatedBy":{"oid":"674368bb-7eaa-4100-aef7-138f65f50648","puid":"10032001C021F1B6","applicationId":"04b07795-8ddb-461a-bbee-02f9e1bf7b46"},"workspaceId":"475405769689176","workspaceUrl":"adb-475405769689176.16.azuredatabricks.net","createdDateTime":"2022-01-17T08:35:21.8009293Z"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002","name":"databricks000002","type":"Microsoft.Databricks/workspaces","sku":{"name":"standard"},"location":"westus"}' headers: cache-control: - no-cache content-length: - - '1805' + - '1735' content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:23:23 GMT + - Mon, 17 Jan 2022 08:37:25 GMT expires: - '-1' pragma: @@ -642,6 +600,8 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1799' status: code: 200 message: OK @@ -658,29 +618,29 @@ interactions: Connection: - keep-alive Content-Length: - - '298' + - '239' Content-Type: - application/json ParameterSetName: - -n --workspace-name -g --remote-vnet User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Updating"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Updating"}} ' headers: cache-control: - no-cache content-length: - - '1068' + - '926' content-type: - application/json date: - - Tue, 27 Jul 2021 04:23:26 GMT + - Mon, 17 Jan 2022 08:37:29 GMT expires: - '-1' pragma: @@ -696,7 +656,7 @@ interactions: x-frame-options: - SAMEORIGIN x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' x-xss-protection: - 1; mode=block status: @@ -716,23 +676,23 @@ interactions: ParameterSetName: - -n --workspace-name -g --remote-vnet User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1069' + - '927' content-type: - application/json date: - - Tue, 27 Jul 2021 04:23:57 GMT + - Mon, 17 Jan 2022 08:38:00 GMT expires: - '-1' pragma: @@ -768,7 +728,7 @@ interactions: ParameterSetName: - -n --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: @@ -784,11 +744,11 @@ interactions: content-type: - application/json date: - - Tue, 27 Jul 2021 04:23:59 GMT + - Mon, 17 Jan 2022 08:38:02 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/6a8f26f2-0b6d-4903-9d94-3e89f77e02d9?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/f65aee82-3cfe-4e4a-985d-5dd3302fc907?api-version=2018-08-01 pragma: - no-cache strict-transport-security: @@ -798,7 +758,7 @@ interactions: x-frame-options: - SAMEORIGIN x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14997' x-xss-protection: - 1; mode=block status: @@ -818,25 +778,25 @@ interactions: ParameterSetName: - -n --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/6a8f26f2-0b6d-4903-9d94-3e89f77e02d9?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/f65aee82-3cfe-4e4a-985d-5dd3302fc907?api-version=2018-08-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6a8f26f2-0b6d-4903-9d94-3e89f77e02d9?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f65aee82-3cfe-4e4a-985d-5dd3302fc907?api-version=2018-08-01 cache-control: - no-cache content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:24:30 GMT + - Mon, 17 Jan 2022 08:38:32 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/6a8f26f2-0b6d-4903-9d94-3e89f77e02d9?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/f65aee82-3cfe-4e4a-985d-5dd3302fc907?api-version=2018-08-01 pragma: - no-cache server: @@ -847,7 +807,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a518d9a2-816c-49b3-98d6-ea0124d57fc6 + - f2f3a902-4445-40b1-bb56-a66f4e83eee4 status: code: 204 message: No Content @@ -864,29 +824,29 @@ interactions: Connection: - keep-alive Content-Length: - - '298' + - '239' Content-Type: - application/json ParameterSetName: - -n --workspace-name -g --remote-vnet User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Updating"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Updating"}} ' headers: cache-control: - no-cache content-length: - - '1068' + - '926' content-type: - application/json date: - - Tue, 27 Jul 2021 04:24:33 GMT + - Mon, 17 Jan 2022 08:38:35 GMT expires: - '-1' pragma: @@ -922,23 +882,23 @@ interactions: ParameterSetName: - -n --workspace-name -g --remote-vnet User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1069' + - '927' content-type: - application/json date: - - Tue, 27 Jul 2021 04:25:03 GMT + - Mon, 17 Jan 2022 08:39:06 GMT expires: - '-1' pragma: @@ -972,23 +932,23 @@ interactions: ParameterSetName: - --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings?api-version=2018-04-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}}]} + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}}]} ' headers: cache-control: - no-cache content-length: - - '1081' + - '939' content-type: - application/json date: - - Tue, 27 Jul 2021 04:25:05 GMT + - Mon, 17 Jan 2022 08:39:08 GMT expires: - '-1' pragma: @@ -1022,23 +982,23 @@ interactions: ParameterSetName: - -n --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1069' + - '927' content-type: - application/json date: - - Tue, 27 Jul 2021 04:25:06 GMT + - Mon, 17 Jan 2022 08:39:10 GMT expires: - '-1' pragma: @@ -1072,23 +1032,23 @@ interactions: ParameterSetName: - -n --workspace-name -g --allow-gateway-transit --allow-virtual-network-access User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":true,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1069' + - '927' content-type: - application/json date: - - Tue, 27 Jul 2021 04:25:08 GMT + - Mon, 17 Jan 2022 08:39:13 GMT expires: - '-1' pragma: @@ -1111,7 +1071,7 @@ interactions: - request: body: '{"properties": {"allowVirtualNetworkAccess": false, "allowForwardedTraffic": false, "allowGatewayTransit": true, "useRemoteGateways": false, "databricksVirtualNetwork": - {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"}, "databricksAddressSpace": {"addressPrefixes": ["10.139.0.0/16"]}, "remoteVirtualNetwork": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"}, "remoteAddressSpace": {"addressPrefixes": ["10.0.0.0/16"]}}}' @@ -1125,29 +1085,29 @@ interactions: Connection: - keep-alive Content-Length: - - '730' + - '663' Content-Type: - application/json ParameterSetName: - -n --workspace-name -g --allow-gateway-transit --allow-virtual-network-access User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":true,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Updating"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":true,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Updating"}} ' headers: cache-control: - no-cache content-length: - - '1068' + - '926' content-type: - application/json date: - - Tue, 27 Jul 2021 04:25:10 GMT + - Mon, 17 Jan 2022 08:39:14 GMT expires: - '-1' pragma: @@ -1163,7 +1123,7 @@ interactions: x-frame-options: - SAMEORIGIN x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-xss-protection: - 1; mode=block status: @@ -1183,23 +1143,23 @@ interactions: ParameterSetName: - -n --workspace-name -g --allow-gateway-transit --allow-virtual-network-access User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":true,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":true,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1069' + - '927' content-type: - application/json date: - - Tue, 27 Jul 2021 04:25:41 GMT + - Mon, 17 Jan 2022 08:39:45 GMT expires: - '-1' pragma: @@ -1233,23 +1193,23 @@ interactions: ParameterSetName: - -n --workspace-name -g --allow-gateway-transit User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":true,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":true,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1069' + - '927' content-type: - application/json date: - - Tue, 27 Jul 2021 04:25:42 GMT + - Mon, 17 Jan 2022 08:39:47 GMT expires: - '-1' pragma: @@ -1272,7 +1232,7 @@ interactions: - request: body: '{"properties": {"allowVirtualNetworkAccess": false, "allowForwardedTraffic": false, "allowGatewayTransit": false, "useRemoteGateways": false, "databricksVirtualNetwork": - {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"}, "databricksAddressSpace": {"addressPrefixes": ["10.139.0.0/16"]}, "remoteVirtualNetwork": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"}, "remoteAddressSpace": {"addressPrefixes": ["10.0.0.0/16"]}}}' @@ -1286,29 +1246,29 @@ interactions: Connection: - keep-alive Content-Length: - - '731' + - '664' Content-Type: - application/json ParameterSetName: - -n --workspace-name -g --allow-gateway-transit User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Updating"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Updating"}} ' headers: cache-control: - no-cache content-length: - - '1069' + - '927' content-type: - application/json date: - - Tue, 27 Jul 2021 04:25:44 GMT + - Mon, 17 Jan 2022 08:39:49 GMT expires: - '-1' pragma: @@ -1344,23 +1304,23 @@ interactions: ParameterSetName: - -n --workspace-name -g --allow-gateway-transit User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Initiated","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1070' + - '928' content-type: - application/json date: - - Tue, 27 Jul 2021 04:26:15 GMT + - Mon, 17 Jan 2022 08:40:19 GMT expires: - '-1' pragma: @@ -1384,7 +1344,7 @@ interactions: body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005", "name": "peering_n000004", "properties": {"allowVirtualNetworkAccess": false, "allowForwardedTraffic": false, "allowGatewayTransit": false, "useRemoteGateways": - false, "remoteVirtualNetwork": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"}}}' + false, "remoteVirtualNetwork": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"}}}' headers: Accept: - application/json @@ -1395,40 +1355,40 @@ interactions: Connection: - keep-alive Content-Length: - - '611' + - '535' Content-Type: - application/json ParameterSetName: - -g -n --vnet-name --remote-vnet User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005/virtualNetworkPeerings/peering_n000004?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005/virtualNetworkPeerings/peering_n000004?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"peering_n000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005/virtualNetworkPeerings/peering_n000004\",\r\n - \ \"etag\": \"W/\\\"ea72792a-ddb7-4c84-9808-577829a7f3ee\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"81ae77e1-8311-0490-3c26-16715d75d2a5\",\r\n + \ \"etag\": \"W/\\\"92e0964a-112f-47a6-aa37-44a5745aa799\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"eb619089-1e53-024e-0efa-4d2f756744f0\",\r\n \ \"peeringState\": \"Connected\",\r\n \"peeringSyncLevel\": \"FullyInSync\",\r\n - \ \"remoteVirtualNetwork\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet\"\r\n + \ \"remoteVirtualNetwork\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet\"\r\n \ },\r\n \"allowVirtualNetworkAccess\": false,\r\n \"allowForwardedTraffic\": false,\r\n \"allowGatewayTransit\": false,\r\n \"useRemoteGateways\": - false,\r\n \"doNotVerifyRemoteGateways\": false,\r\n \"remoteAddressSpace\": + false,\r\n \"doNotVerifyRemoteGateways\": false,\r\n \"peerCompleteVnets\": + true,\r\n \"remoteAddressSpace\": {\r\n \"addressPrefixes\": [\r\n + \ \"10.139.0.0/16\"\r\n ]\r\n },\r\n \"remoteVirtualNetworkAddressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.139.0.0/16\"\r\n ]\r\n - \ },\r\n \"remoteVirtualNetworkAddressSpace\": {\r\n \"addressPrefixes\": - [\r\n \"10.139.0.0/16\"\r\n ]\r\n },\r\n \"routeServiceVips\": - {}\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/virtualNetworkPeerings\"\r\n}" + \ },\r\n \"routeServiceVips\": {}\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/virtualNetworkPeerings\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/776c8435-3fda-4ec6-9816-52799134b22c?api-version=2021-05-01 cache-control: - no-cache content-length: - - '1298' + - '1245' content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:26:16 GMT + - Mon, 17 Jan 2022 08:40:20 GMT expires: - '-1' pragma: @@ -1441,9 +1401,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 94a3cdca-d6b4-4c3c-a6f7-f1b0f4e0a0c2 + - 509ba83a-56cb-407a-9b44-10d212a1938f x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -1461,156 +1421,9 @@ interactions: ParameterSetName: - -g -n --vnet-name --remote-vnet User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (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/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:26: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-arm-service-request-id: - - 36013313-8d3d-42cc-954d-7ce9d835e1fa - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet peering create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vnet-name --remote-vnet - User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (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/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:26: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-arm-service-request-id: - - 3a4e2fd9-665f-42fe-abeb-52d023a40c99 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet peering create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vnet-name --remote-vnet - User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (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/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:26: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 - x-ms-arm-service-request-id: - - e40fc70e-d8b2-4c26-8c14-a0641d7be0f0 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet peering create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vnet-name --remote-vnet - User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/776c8435-3fda-4ec6-9816-52799134b22c?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1622,7 +1435,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:27:37 GMT + - Mon, 17 Jan 2022 08:40:30 GMT expires: - '-1' pragma: @@ -1639,7 +1452,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b5d88d1c-8094-48c7-b700-6379ac4eac2c + - a88bb0b0-4dd4-440a-842d-21e0752ccdcb status: code: 200 message: OK @@ -1657,254 +1470,9 @@ interactions: ParameterSetName: - -g -n --vnet-name --remote-vnet User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:28: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 - x-ms-arm-service-request-id: - - 9c22b979-45ad-44fd-a120-9947609640e4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet peering create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vnet-name --remote-vnet - User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (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/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:31: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-arm-service-request-id: - - 9b6e87f1-96ad-45b4-9ec7-7396721d6729 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet peering create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vnet-name --remote-vnet - User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (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/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:33: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: - - ffc0caa0-c595-418f-8d4f-10b7bc77dd2b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet peering create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vnet-name --remote-vnet - User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (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/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:34:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-arm-service-request-id: - - 8698c2c8-295f-4a3e-873a-f89764cb2dc0 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet peering create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vnet-name --remote-vnet - User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (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/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 - response: - body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '30' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 27 Jul 2021 04:36:39 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: - - 5f11831b-42c1-4d3e-9d77-985ca8622f62 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet peering create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vnet-name --remote-vnet - User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (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/4a850633-8650-4fec-8a76-7b8e2508c7fa?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/776c8435-3fda-4ec6-9816-52799134b22c?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1916,7 +1484,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:38:20 GMT + - Mon, 17 Jan 2022 08:40:41 GMT expires: - '-1' pragma: @@ -1933,7 +1501,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0c495423-8a13-4212-b766-408c807b6723 + - 02bb66b6-f97b-4220-9067-21c819020bdb status: code: 200 message: OK @@ -1951,34 +1519,34 @@ interactions: ParameterSetName: - -g -n --vnet-name --remote-vnet User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005/virtualNetworkPeerings/peering_n000004?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005/virtualNetworkPeerings/peering_n000004?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"peering_n000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005/virtualNetworkPeerings/peering_n000004\",\r\n - \ \"etag\": \"W/\\\"0c4e965e-c2e1-430d-ad84-b89ac84ade2c\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"81ae77e1-8311-0490-3c26-16715d75d2a5\",\r\n + \ \"etag\": \"W/\\\"bbe525cd-0c29-4036-9930-ba767cdd8664\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"eb619089-1e53-024e-0efa-4d2f756744f0\",\r\n \ \"peeringState\": \"Connected\",\r\n \"peeringSyncLevel\": \"FullyInSync\",\r\n - \ \"remoteVirtualNetwork\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet\"\r\n + \ \"remoteVirtualNetwork\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet\"\r\n \ },\r\n \"allowVirtualNetworkAccess\": false,\r\n \"allowForwardedTraffic\": false,\r\n \"allowGatewayTransit\": false,\r\n \"useRemoteGateways\": - false,\r\n \"doNotVerifyRemoteGateways\": false,\r\n \"remoteAddressSpace\": + false,\r\n \"doNotVerifyRemoteGateways\": false,\r\n \"peerCompleteVnets\": + true,\r\n \"remoteAddressSpace\": {\r\n \"addressPrefixes\": [\r\n + \ \"10.139.0.0/16\"\r\n ]\r\n },\r\n \"remoteVirtualNetworkAddressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.139.0.0/16\"\r\n ]\r\n - \ },\r\n \"remoteVirtualNetworkAddressSpace\": {\r\n \"addressPrefixes\": - [\r\n \"10.139.0.0/16\"\r\n ]\r\n },\r\n \"routeServiceVips\": - {}\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/virtualNetworkPeerings\"\r\n}" + \ },\r\n \"routeServiceVips\": {}\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/virtualNetworkPeerings\"\r\n}" headers: cache-control: - no-cache content-length: - - '1299' + - '1246' content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:38:20 GMT + - Mon, 17 Jan 2022 08:40:41 GMT etag: - - W/"0c4e965e-c2e1-430d-ad84-b89ac84ade2c" + - W/"bbe525cd-0c29-4036-9930-ba767cdd8664" expires: - '-1' pragma: @@ -1995,7 +1563,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 920f6e98-8f30-48a2-aaca-a210636ee7c9 + - b776c930-ca65-4213-820e-3ea19195a89e status: code: 200 message: OK @@ -2013,23 +1581,23 @@ interactions: ParameterSetName: - -n --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Connected","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Connected","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1070' + - '928' content-type: - application/json date: - - Tue, 27 Jul 2021 04:38:21 GMT + - Mon, 17 Jan 2022 08:40:43 GMT expires: - '-1' pragma: @@ -2065,25 +1633,25 @@ interactions: ParameterSetName: - -g -n --vnet-name User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005/virtualNetworkPeerings/peering_n000004?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005/virtualNetworkPeerings/peering_n000004?api-version=2021-05-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b56342f7-598c-4d32-a84d-6751be4c1ec6?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4a869007-59a1-469f-95a6-8dbaa64a1385?api-version=2021-05-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 27 Jul 2021 04:38:23 GMT + - Mon, 17 Jan 2022 08:40:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/b56342f7-598c-4d32-a84d-6751be4c1ec6?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/4a869007-59a1-469f-95a6-8dbaa64a1385?api-version=2021-05-01 pragma: - no-cache server: @@ -2094,7 +1662,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3bc28eaf-2c19-4ad9-8969-ebca559f4ca8 + - 2973886d-d424-47df-a988-99b656fbfe0b x-ms-ratelimit-remaining-subscription-deletes: - '14999' status: @@ -2114,9 +1682,9 @@ interactions: ParameterSetName: - -g -n --vnet-name User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b56342f7-598c-4d32-a84d-6751be4c1ec6?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4a869007-59a1-469f-95a6-8dbaa64a1385?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2128,7 +1696,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:38:34 GMT + - Mon, 17 Jan 2022 08:40:56 GMT expires: - '-1' pragma: @@ -2145,7 +1713,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dce99797-14e1-4ac3-956f-872c7d153227 + - 607a688e-20ee-4d7f-aab5-4cfeeede3fc6 status: code: 200 message: OK @@ -2163,9 +1731,9 @@ interactions: ParameterSetName: - -g -n --vnet-name User-Agent: - - AZURECLI/2.26.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b56342f7-598c-4d32-a84d-6751be4c1ec6?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4a869007-59a1-469f-95a6-8dbaa64a1385?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2177,7 +1745,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:38:44 GMT + - Mon, 17 Jan 2022 08:41:06 GMT expires: - '-1' pragma: @@ -2194,7 +1762,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3b445fd1-c954-40f9-95fd-ac576cfc77c1 + - 6ad67dee-831b-404c-936b-71816f29ac39 status: code: 200 message: OK @@ -2212,23 +1780,23 @@ interactions: ParameterSetName: - -n --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-t1ibhols52zv2/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Disconnected","provisioningState":"Succeeded"}} + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003","name":"peering000003","properties":{"allowVirtualNetworkAccess":false,"allowForwardedTraffic":false,"allowGatewayTransit":false,"useRemoteGateways":false,"remoteVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Network/virtualNetworks/vnet000005"},"remoteAddressSpace":{"addressPrefixes":["10.0.0.0/16"]},"databricksVirtualNetwork":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-databricks000002-lllbtiee4dia4/providers/Microsoft.Network/virtualNetworks/workers-vnet"},"databricksAddressSpace":{"addressPrefixes":["10.139.0.0/16"]},"peeringState":"Disconnected","provisioningState":"Succeeded"}} ' headers: cache-control: - no-cache content-length: - - '1073' + - '931' content-type: - application/json date: - - Tue, 27 Jul 2021 04:38:46 GMT + - Mon, 17 Jan 2022 08:41:09 GMT expires: - '-1' pragma: @@ -2264,7 +1832,7 @@ interactions: ParameterSetName: - -n --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings/peering000003?api-version=2018-04-01 response: @@ -2280,11 +1848,11 @@ interactions: content-type: - application/json date: - - Tue, 27 Jul 2021 04:38:48 GMT + - Mon, 17 Jan 2022 08:41:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/a6fc2a16-2c08-48fa-bdef-88ac74772d8b?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/8d49add1-a745-42ec-be4e-2ba83511b119?api-version=2018-08-01 pragma: - no-cache strict-transport-security: @@ -2314,25 +1882,25 @@ interactions: ParameterSetName: - -n --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/a6fc2a16-2c08-48fa-bdef-88ac74772d8b?api-version=2018-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/8d49add1-a745-42ec-be4e-2ba83511b119?api-version=2018-08-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a6fc2a16-2c08-48fa-bdef-88ac74772d8b?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8d49add1-a745-42ec-be4e-2ba83511b119?api-version=2018-08-01 cache-control: - no-cache content-type: - application/json; charset=utf-8 date: - - Tue, 27 Jul 2021 04:39:18 GMT + - Mon, 17 Jan 2022 08:41:41 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/a6fc2a16-2c08-48fa-bdef-88ac74772d8b?api-version=2018-08-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/8d49add1-a745-42ec-be4e-2ba83511b119?api-version=2018-08-01 pragma: - no-cache server: @@ -2343,7 +1911,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4a7e57f3-273b-4e28-8433-3a6e22babf71 + - 184894ef-7cbf-4ecb-9161-902764efc846 status: code: 204 message: No Content @@ -2361,23 +1929,23 @@ interactions: ParameterSetName: - --workspace-name -g User-Agent: - - AZURECLI/2.26.0 azsdk-python-mgmt-databricks/1.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-databricks/1.1.0b1 Python/3.8.1 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databricks_vnet000001/providers/Microsoft.Databricks/workspaces/databricks000002/virtualNetworkPeerings?api-version=2018-04-01 response: body: - string: '{} + string: '{"value":[]} ' headers: cache-control: - no-cache content-length: - - '3' + - '13' content-type: - application/json date: - - Tue, 27 Jul 2021 04:39:21 GMT + - Mon, 17 Jan 2022 08:41:43 GMT expires: - '-1' pragma: diff --git a/src/databricks/azext_databricks/tests/latest/test_databricks_scenario.py b/src/databricks/azext_databricks/tests/latest/test_databricks_scenario.py index b82dff07728..783c2eda7af 100644 --- a/src/databricks/azext_databricks/tests/latest/test_databricks_scenario.py +++ b/src/databricks/azext_databricks/tests/latest/test_databricks_scenario.py @@ -7,7 +7,7 @@ import time import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, KeyVaultPreparer) from msrestazure.tools import resource_id @@ -126,6 +126,30 @@ def test_databricks(self, resource_group, key_vault): '-y', checks=[]) + @ResourceGroupPreparer(name_prefix='cli_test_databricks_v1', location="westus") + def test_databricks_v1(self, resource_group): + self.kwargs.update({ + 'workspace_name': 'my-test-workspace' + }) + + self.cmd('az databricks workspace create ' + '--resource-group {rg} ' + '--name {workspace_name} ' + '--location westus ' + '--sku premium ' + '--public-network-access Enabled ' + '--required-nsg-rules AllRules', + checks=[self.check('name', '{workspace_name}'), + self.check('sku.name', 'premium'), + self.check('publicNetworkAccess', 'Enabled'), + self.check('requiredNsgRules', 'AllRules')]) + + self.cmd('az databricks workspace delete ' + '--resource-group {rg} ' + '--name {workspace_name} ' + '-y', + checks=[]) + class DatabricksVNetPeeringScenarioTest(ScenarioTest): diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/__init__.py b/src/databricks/azext_databricks/vendored_sdks/databricks/__init__.py index 809e7a34ce7..00df8e78c17 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/__init__.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/__init__.py @@ -6,11 +6,11 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._databricks_client import DatabricksClient +from ._azure_databricks_management_client import AzureDatabricksManagementClient from ._version import VERSION __version__ = VERSION -__all__ = ['DatabricksClient'] +__all__ = ['AzureDatabricksManagementClient'] try: from ._patch import patch_sdk # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/_container_service_client.py b/src/databricks/azext_databricks/vendored_sdks/databricks/_azure_databricks_management_client.py old mode 100755 new mode 100644 similarity index 61% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/_container_service_client.py rename to src/databricks/azext_databricks/vendored_sdks/databricks/_azure_databricks_management_client.py index 96f3c54e0be..d0ddf4a60c7 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/_container_service_client.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/_azure_databricks_management_client.py @@ -18,40 +18,31 @@ from azure.core.credentials import TokenCredential from azure.core.pipeline.transport import HttpRequest, HttpResponse -from ._configuration import ContainerServiceClientConfiguration +from ._configuration import AzureDatabricksManagementClientConfiguration +from .operations import WorkspacesOperations 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 .operations import SnapshotsOperations +from .operations import PrivateEndpointConnectionsOperations +from .operations import VNetPeeringOperations from . import models -class ContainerServiceClient(object): - """The Container Service Client. +class AzureDatabricksManagementClient(object): + """The Microsoft Azure management APIs allow end users to operate on Azure Databricks Workspace resources. + :ivar workspaces: WorkspacesOperations operations + :vartype workspaces: azure_databricks_management_client.operations.WorkspacesOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.containerservice.v2021_09_01.operations.Operations - :ivar managed_clusters: ManagedClustersOperations operations - :vartype managed_clusters: azure.mgmt.containerservice.v2021_09_01.operations.ManagedClustersOperations - :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations - :vartype maintenance_configurations: azure.mgmt.containerservice.v2021_09_01.operations.MaintenanceConfigurationsOperations - :ivar agent_pools: AgentPoolsOperations operations - :vartype agent_pools: azure.mgmt.containerservice.v2021_09_01.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2021_09_01.operations.PrivateEndpointConnectionsOperations + :vartype operations: azure_databricks_management_client.operations.Operations :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.containerservice.v2021_09_01.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations - :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2021_09_01.operations.ResolvePrivateLinkServiceIdOperations - :ivar snapshots: SnapshotsOperations operations - :vartype snapshots: azure.mgmt.containerservice.v2021_09_01.operations.SnapshotsOperations + :vartype private_link_resources: azure_databricks_management_client.operations.PrivateLinkResourcesOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: azure_databricks_management_client.operations.PrivateEndpointConnectionsOperations + :ivar vnet_peering: VNetPeeringOperations operations + :vartype vnet_peering: azure_databricks_management_client.operations.VNetPeeringOperations :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. + :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. @@ -67,7 +58,7 @@ def __init__( # type: (...) -> None if not base_url: base_url = 'https://management.azure.com' - self._config = ContainerServiceClientConfiguration(credential, subscription_id, **kwargs) + self._config = AzureDatabricksManagementClientConfiguration(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)} @@ -75,21 +66,15 @@ def __init__( self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.managed_clusters = ManagedClustersOperations( + self.workspaces = WorkspacesOperations( 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.operations = Operations( 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.private_endpoint_connections = PrivateEndpointConnectionsOperations( self._client, self._config, self._serialize, self._deserialize) - self.snapshots = SnapshotsOperations( + self.vnet_peering = VNetPeeringOperations( self._client, self._config, self._serialize, self._deserialize) def _send_request(self, http_request, **kwargs): @@ -115,7 +100,7 @@ def close(self): self._client.close() def __enter__(self): - # type: () -> ContainerServiceClient + # type: () -> AzureDatabricksManagementClient self._client.__enter__() return self diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/_configuration.py b/src/databricks/azext_databricks/vendored_sdks/databricks/_configuration.py index 6ecb0775935..37c43da379a 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/_configuration.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/_configuration.py @@ -21,8 +21,8 @@ from azure.core.credentials import TokenCredential -class DatabricksClientConfiguration(Configuration): - """Configuration for DatabricksClient. +class AzureDatabricksManagementClientConfiguration(Configuration): + """Configuration for AzureDatabricksManagementClient. Note that all parameters used to create this instance are saved as instance attributes. @@ -44,11 +44,10 @@ def __init__( raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(DatabricksClientConfiguration, self).__init__(**kwargs) + super(AzureDatabricksManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2018-04-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-databricks/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_metadata.json b/src/databricks/azext_databricks/vendored_sdks/databricks/_metadata.json similarity index 83% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/_metadata.json rename to src/databricks/azext_databricks/vendored_sdks/databricks/_metadata.json index 01a86003f7e..4f32e60012d 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_metadata.json +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/_metadata.json @@ -1,17 +1,17 @@ { - "chosen_version": "2021-09-01", - "total_api_version_list": ["2021-09-01"], + "chosen_version": "", + "total_api_version_list": ["2018-04-01", "2021-04-01-preview"], "client": { - "name": "SourceControlConfigurationClient", - "filename": "_source_control_configuration_client", - "description": "KubernetesConfiguration Client.", + "name": "AzureDatabricksManagementClient", + "filename": "_azure_databricks_management_client", + "description": "The Microsoft Azure management APIs allow end users to operate on Azure Databricks Workspace resources.", "base_url": "\u0027https://management.azure.com\u0027", "custom_base_url": null, "azure_arm": true, "has_lro_operations": true, "client_side_validation": false, - "sync_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"ARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"SourceControlConfigurationClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}}}", - "async_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"AsyncARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"SourceControlConfigurationClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}}}" + "sync_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"ARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"AzureDatabricksManagementClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}}}", + "async_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"AsyncARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"AzureDatabricksManagementClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}}}" }, "global_parameters": { "sync": { @@ -98,8 +98,10 @@ "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"], \"azure.mgmt.core.policies\": [\"ARMHttpLoggingPolicy\"]}, \"local\": {\".._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}}" }, "operation_groups": { - "extensions": "ExtensionsOperations", - "operation_status": "OperationStatusOperations", - "operations": "Operations" + "workspaces": "WorkspacesOperations", + "operations": "Operations", + "private_link_resources": "PrivateLinkResourcesOperations", + "private_endpoint_connections": "PrivateEndpointConnectionsOperations", + "vnet_peering": "VNetPeeringOperations" } } \ No newline at end of file diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/_version.py b/src/databricks/azext_databricks/vendored_sdks/databricks/_version.py index c47f66669f1..653b73a4a19 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/_version.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.0.0" +VERSION = "1.1.0b1" diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/__init__.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/__init__.py index d97b828777b..4d341ec3f5c 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/__init__.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._databricks_client import DatabricksClient -__all__ = ['DatabricksClient'] +from ._azure_databricks_management_client import AzureDatabricksManagementClient +__all__ = ['AzureDatabricksManagementClient'] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/_container_service_client.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/_azure_databricks_management_client.py old mode 100755 new mode 100644 similarity index 61% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/_container_service_client.py rename to src/databricks/azext_databricks/vendored_sdks/databricks/aio/_azure_databricks_management_client.py index 43a61934ffb..8376d40c3e1 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/_container_service_client.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/_azure_databricks_management_client.py @@ -16,40 +16,31 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import ContainerServiceClientConfiguration +from ._configuration import AzureDatabricksManagementClientConfiguration +from .operations import WorkspacesOperations 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 .operations import SnapshotsOperations +from .operations import PrivateEndpointConnectionsOperations +from .operations import VNetPeeringOperations from .. import models -class ContainerServiceClient(object): - """The Container Service Client. +class AzureDatabricksManagementClient(object): + """The Microsoft Azure management APIs allow end users to operate on Azure Databricks Workspace resources. + :ivar workspaces: WorkspacesOperations operations + :vartype workspaces: azure_databricks_management_client.aio.operations.WorkspacesOperations :ivar operations: Operations operations - :vartype operations: azure.mgmt.containerservice.v2021_09_01.aio.operations.Operations - :ivar managed_clusters: ManagedClustersOperations operations - :vartype managed_clusters: azure.mgmt.containerservice.v2021_09_01.aio.operations.ManagedClustersOperations - :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations - :vartype maintenance_configurations: azure.mgmt.containerservice.v2021_09_01.aio.operations.MaintenanceConfigurationsOperations - :ivar agent_pools: AgentPoolsOperations operations - :vartype agent_pools: azure.mgmt.containerservice.v2021_09_01.aio.operations.AgentPoolsOperations - :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.containerservice.v2021_09_01.aio.operations.PrivateEndpointConnectionsOperations + :vartype operations: azure_databricks_management_client.aio.operations.Operations :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.containerservice.v2021_09_01.aio.operations.PrivateLinkResourcesOperations - :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceIdOperations operations - :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2021_09_01.aio.operations.ResolvePrivateLinkServiceIdOperations - :ivar snapshots: SnapshotsOperations operations - :vartype snapshots: azure.mgmt.containerservice.v2021_09_01.aio.operations.SnapshotsOperations + :vartype private_link_resources: azure_databricks_management_client.aio.operations.PrivateLinkResourcesOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: azure_databricks_management_client.aio.operations.PrivateEndpointConnectionsOperations + :ivar vnet_peering: VNetPeeringOperations operations + :vartype vnet_peering: azure_databricks_management_client.aio.operations.VNetPeeringOperations :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. + :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. @@ -64,7 +55,7 @@ def __init__( ) -> None: if not base_url: base_url = 'https://management.azure.com' - self._config = ContainerServiceClientConfiguration(credential, subscription_id, **kwargs) + self._config = AzureDatabricksManagementClientConfiguration(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)} @@ -72,21 +63,15 @@ def __init__( self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.managed_clusters = ManagedClustersOperations( + self.workspaces = WorkspacesOperations( 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.operations = Operations( 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.private_endpoint_connections = PrivateEndpointConnectionsOperations( self._client, self._config, self._serialize, self._deserialize) - self.snapshots = SnapshotsOperations( + self.vnet_peering = VNetPeeringOperations( self._client, self._config, self._serialize, self._deserialize) async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: @@ -109,7 +94,7 @@ async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> Async async def close(self) -> None: await self._client.close() - async def __aenter__(self) -> "ContainerServiceClient": + async def __aenter__(self) -> "AzureDatabricksManagementClient": await self._client.__aenter__() return self diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/_configuration.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/_configuration.py index 4be80d9ec7c..a06bbe6c18f 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/_configuration.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/_configuration.py @@ -19,8 +19,8 @@ from azure.core.credentials_async import AsyncTokenCredential -class DatabricksClientConfiguration(Configuration): - """Configuration for DatabricksClient. +class AzureDatabricksManagementClientConfiguration(Configuration): + """Configuration for AzureDatabricksManagementClient. Note that all parameters used to create this instance are saved as instance attributes. @@ -41,11 +41,10 @@ def __init__( raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(DatabricksClientConfiguration, self).__init__(**kwargs) + super(AzureDatabricksManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2018-04-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-databricks/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/__init__.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/__init__.py index 7688e37c638..6fc97620650 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/__init__.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/__init__.py @@ -7,11 +7,15 @@ # -------------------------------------------------------------------------- from ._workspaces_operations import WorkspacesOperations -from ._vnet_peering_operations import VNetPeeringOperations from ._operations import Operations +from ._private_link_resources_operations import PrivateLinkResourcesOperations +from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations +from ._vnet_peering_operations import VNetPeeringOperations __all__ = [ 'WorkspacesOperations', - 'VNetPeeringOperations', 'Operations', + 'PrivateLinkResourcesOperations', + 'PrivateEndpointConnectionsOperations', + 'VNetPeeringOperations', ] diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_operations.py index 2f053998c66..9a3c8f88155 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_operations.py @@ -26,7 +26,7 @@ class Operations: 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.databricks.models + :type models: ~azure_databricks_management_client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -43,13 +43,13 @@ def __init__(self, client, config, serializer, deserializer) -> None: def list( self, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.OperationListResult"]: """Lists all of the available RP operations. :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databricks.models.OperationListResult] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_databricks_management_client.models.OperationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] @@ -57,7 +57,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -93,7 +93,7 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_private_endpoint_connections_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_private_endpoint_connections_operations.py new file mode 100644 index 00000000000..291c6ec83a0 --- /dev/null +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,442 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 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: ~azure_databricks_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, + resource_group_name: str, + workspace_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.PrivateEndpointConnectionsList"]: + """List private endpoint connections. + + List private endpoint connections of the workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateEndpointConnectionsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_databricks_management_client.models.PrivateEndpointConnectionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionsList"] + 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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + '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('PrivateEndpointConnectionsList', 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.Databricks/workspaces/{workspaceName}/privateEndpointConnections'} # type: ignore + + async def get( + self, + resource_group_name: str, + workspace_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Get private endpoint connection. + + Get a private endpoint connection properties for a workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure_databricks_management_client.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + 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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + '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.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('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + workspace_name: str, + private_endpoint_connection_name: str, + private_endpoint_connection: "_models.PrivateEndpointConnection", + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + 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_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + '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['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_connection, 'PrivateEndpointConnection') + 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) + 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('PrivateEndpointConnection', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + workspace_name: str, + private_endpoint_connection_name: str, + private_endpoint_connection: "_models.PrivateEndpointConnection", + **kwargs: Any + ) -> AsyncLROPoller["_models.PrivateEndpointConnection"]: + """Update private endpoint connection status. + + Update the status of a private endpoint connection with the specified name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :param private_endpoint_connection: The private endpoint connection with updated properties. + :type private_endpoint_connection: ~azure_databricks_management_client.models.PrivateEndpointConnection + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 PrivateEndpointConnection or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_databricks_management_client.models.PrivateEndpointConnection] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + 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, + workspace_name=workspace_name, + private_endpoint_connection_name=private_endpoint_connection_name, + private_endpoint_connection=private_endpoint_connection, + 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('PrivateEndpointConnection', 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + workspace_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> 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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + '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, 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.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + workspace_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Remove private endpoint connection. + + Remove private endpoint connection with the specified name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + workspace_name=workspace_name, + private_endpoint_connection_name=private_endpoint_connection_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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_private_link_resources_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_private_link_resources_operations.py new file mode 100644 index 00000000000..d8d70c948f4 --- /dev/null +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_private_link_resources_operations.py @@ -0,0 +1,184 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 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: ~azure_databricks_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, + resource_group_name: str, + workspace_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.PrivateLinkResourcesList"]: + """List private link resources. + + List private link resources for a given workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateLinkResourcesList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_databricks_management_client.models.PrivateLinkResourcesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesList"] + 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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + '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('PrivateLinkResourcesList', 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.Databricks/workspaces/{workspaceName}/privateLinkResources'} # type: ignore + + async def get( + self, + resource_group_name: str, + workspace_name: str, + group_id: str, + **kwargs: Any + ) -> "_models.GroupIdInformation": + """Get the specified private link resource. + + Get the specified private link resource for the given group id (sub-resource). + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param group_id: The name of the private link resource. + :type group_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GroupIdInformation, or the result of cls(response) + :rtype: ~azure_databricks_management_client.models.GroupIdInformation + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GroupIdInformation"] + 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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupId': self._serialize.url("group_id", group_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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GroupIdInformation', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources/{groupId}'} # type: ignore diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_vnet_peering_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_vnet_peering_operations.py index 4b3ca5d6bc5..277be524587 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_vnet_peering_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_vnet_peering_operations.py @@ -28,7 +28,7 @@ class VNetPeeringOperations: 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.databricks.models + :type models: ~azure_databricks_management_client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -48,7 +48,7 @@ async def get( resource_group_name: str, workspace_name: str, peering_name: str, - **kwargs + **kwargs: Any ) -> Optional["_models.VirtualNetworkPeering"]: """Gets the workspace vNet Peering. @@ -60,7 +60,7 @@ async def get( :type peering_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: VirtualNetworkPeering, or the result of cls(response) - :rtype: ~azure.mgmt.databricks.models.VirtualNetworkPeering or None + :rtype: ~azure_databricks_management_client.models.VirtualNetworkPeering or None :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.VirtualNetworkPeering"]] @@ -95,7 +95,7 @@ async def get( 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None @@ -113,7 +113,7 @@ async def _delete_initial( resource_group_name: str, workspace_name: str, peering_name: str, - **kwargs + **kwargs: Any ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] error_map = { @@ -147,7 +147,7 @@ async def _delete_initial( 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -160,7 +160,7 @@ async def begin_delete( resource_group_name: str, workspace_name: str, peering_name: str, - **kwargs + **kwargs: Any ) -> AsyncLROPoller[None]: """Deletes the workspace vNetPeering. @@ -172,8 +172,8 @@ async def begin_delete( :type peering_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 + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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) @@ -230,7 +230,7 @@ async def _create_or_update_initial( workspace_name: str, peering_name: str, virtual_network_peering_parameters: "_models.VirtualNetworkPeering", - **kwargs + **kwargs: Any ) -> "_models.VirtualNetworkPeering": cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetworkPeering"] error_map = { @@ -269,7 +269,7 @@ async def _create_or_update_initial( 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -290,7 +290,7 @@ async def begin_create_or_update( workspace_name: str, peering_name: str, virtual_network_peering_parameters: "_models.VirtualNetworkPeering", - **kwargs + **kwargs: Any ) -> AsyncLROPoller["_models.VirtualNetworkPeering"]: """Creates vNet Peering for workspace. @@ -302,15 +302,15 @@ async def begin_create_or_update( :type peering_name: str :param virtual_network_peering_parameters: Parameters supplied to the create workspace vNet Peering. - :type virtual_network_peering_parameters: ~azure.mgmt.databricks.models.VirtualNetworkPeering + :type virtual_network_peering_parameters: ~azure_databricks_management_client.models.VirtualNetworkPeering :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 + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 VirtualNetworkPeering or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.databricks.models.VirtualNetworkPeering] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_databricks_management_client.models.VirtualNetworkPeering] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] @@ -365,7 +365,7 @@ def list_by_workspace( self, resource_group_name: str, workspace_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.VirtualNetworkPeeringList"]: """Lists the workspace vNet Peerings. @@ -375,7 +375,7 @@ def list_by_workspace( :type workspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either VirtualNetworkPeeringList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databricks.models.VirtualNetworkPeeringList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_databricks_management_client.models.VirtualNetworkPeeringList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetworkPeeringList"] @@ -425,7 +425,7 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_workspaces_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_workspaces_operations.py index b9e02fa3ae0..a95a73ba1a3 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_workspaces_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/aio/operations/_workspaces_operations.py @@ -28,7 +28,7 @@ class WorkspacesOperations: 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.databricks.models + :type models: ~azure_databricks_management_client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -47,7 +47,7 @@ async def get( self, resource_group_name: str, workspace_name: str, - **kwargs + **kwargs: Any ) -> "_models.Workspace": """Gets the workspace. @@ -57,7 +57,7 @@ async def get( :type workspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Workspace, or the result of cls(response) - :rtype: ~azure.mgmt.databricks.models.Workspace + :rtype: ~azure_databricks_management_client.models.Workspace :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"] @@ -65,7 +65,7 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" # Construct URL @@ -91,7 +91,7 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Workspace', pipeline_response) @@ -106,14 +106,14 @@ async def _delete_initial( self, resource_group_name: str, workspace_name: str, - **kwargs + **kwargs: Any ) -> 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-04-01" + api_version = "2021-04-01-preview" accept = "application/json" # Construct URL @@ -139,7 +139,7 @@ async def _delete_initial( 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -151,7 +151,7 @@ async def begin_delete( self, resource_group_name: str, workspace_name: str, - **kwargs + **kwargs: Any ) -> AsyncLROPoller[None]: """Deletes the workspace. @@ -161,8 +161,8 @@ async def begin_delete( :type workspace_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 + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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) @@ -216,14 +216,14 @@ async def _create_or_update_initial( resource_group_name: str, workspace_name: str, parameters: "_models.Workspace", - **kwargs + **kwargs: Any ) -> "_models.Workspace": cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -254,7 +254,7 @@ async def _create_or_update_initial( 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -274,7 +274,7 @@ async def begin_create_or_update( resource_group_name: str, workspace_name: str, parameters: "_models.Workspace", - **kwargs + **kwargs: Any ) -> AsyncLROPoller["_models.Workspace"]: """Creates a new workspace. @@ -283,15 +283,15 @@ async def begin_create_or_update( :param workspace_name: The name of the workspace. :type workspace_name: str :param parameters: Parameters supplied to the create or update a workspace. - :type parameters: ~azure.mgmt.databricks.models.Workspace + :type parameters: ~azure_databricks_management_client.models.Workspace :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 + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 Workspace or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.databricks.models.Workspace] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_databricks_management_client.models.Workspace] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] @@ -345,14 +345,14 @@ async def _update_initial( resource_group_name: str, workspace_name: str, parameters: "_models.WorkspaceUpdate", - **kwargs + **kwargs: Any ) -> Optional["_models.Workspace"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.Workspace"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -383,7 +383,7 @@ async def _update_initial( 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None @@ -401,7 +401,7 @@ async def begin_update( resource_group_name: str, workspace_name: str, parameters: "_models.WorkspaceUpdate", - **kwargs + **kwargs: Any ) -> AsyncLROPoller["_models.Workspace"]: """Updates a workspace. @@ -410,15 +410,15 @@ async def begin_update( :param workspace_name: The name of the workspace. :type workspace_name: str :param parameters: The update to the workspace. - :type parameters: ~azure.mgmt.databricks.models.WorkspaceUpdate + :type parameters: ~azure_databricks_management_client.models.WorkspaceUpdate :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 + :keyword polling: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 Workspace or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.databricks.models.Workspace] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_databricks_management_client.models.Workspace] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] @@ -470,7 +470,7 @@ def get_long_running_output(pipeline_response): def list_by_resource_group( self, resource_group_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.WorkspaceListResult"]: """Gets all the workspaces within a resource group. @@ -478,7 +478,7 @@ def list_by_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 WorkspaceListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databricks.models.WorkspaceListResult] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_databricks_management_client.models.WorkspaceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"] @@ -486,7 +486,7 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -527,7 +527,7 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) @@ -540,13 +540,13 @@ async def get_next(next_link=None): def list_by_subscription( self, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.WorkspaceListResult"]: """Gets all the workspaces 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 WorkspaceListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databricks.models.WorkspaceListResult] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_databricks_management_client.models.WorkspaceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"] @@ -554,7 +554,7 @@ def list_by_subscription( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -594,7 +594,7 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/__init__.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/__init__.py index 4804c264bf7..4645c40c923 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/__init__.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/models/__init__.py @@ -10,15 +10,27 @@ from ._models_py3 import AddressSpace from ._models_py3 import CreatedBy from ._models_py3 import Encryption + from ._models_py3 import EncryptionEntitiesDefinition + from ._models_py3 import EncryptionV2 + from ._models_py3 import EncryptionV2KeyVaultProperties from ._models_py3 import ErrorDetail from ._models_py3 import ErrorInfo from ._models_py3 import ErrorResponse + from ._models_py3 import GroupIdInformation + from ._models_py3 import GroupIdInformationProperties from ._models_py3 import ManagedIdentityConfiguration from ._models_py3 import Operation from ._models_py3 import OperationDisplay from ._models_py3 import OperationListResult + from ._models_py3 import PrivateEndpoint + from ._models_py3 import PrivateEndpointConnection + from ._models_py3 import PrivateEndpointConnectionProperties + from ._models_py3 import PrivateEndpointConnectionsList + from ._models_py3 import PrivateLinkResourcesList + from ._models_py3 import PrivateLinkServiceConnectionState from ._models_py3 import Resource from ._models_py3 import Sku + from ._models_py3 import SystemData from ._models_py3 import TrackedResource from ._models_py3 import VirtualNetworkPeering from ._models_py3 import VirtualNetworkPeeringList @@ -31,21 +43,34 @@ from ._models_py3 import WorkspaceCustomStringParameter from ._models_py3 import WorkspaceEncryptionParameter from ._models_py3 import WorkspaceListResult + from ._models_py3 import WorkspacePropertiesEncryption from ._models_py3 import WorkspaceProviderAuthorization from ._models_py3 import WorkspaceUpdate except (SyntaxError, ImportError): from ._models import AddressSpace # type: ignore from ._models import CreatedBy # type: ignore from ._models import Encryption # type: ignore + from ._models import EncryptionEntitiesDefinition # type: ignore + from ._models import EncryptionV2 # type: ignore + from ._models import EncryptionV2KeyVaultProperties # type: ignore from ._models import ErrorDetail # type: ignore from ._models import ErrorInfo # type: ignore from ._models import ErrorResponse # type: ignore + from ._models import GroupIdInformation # type: ignore + from ._models import GroupIdInformationProperties # type: ignore from ._models import ManagedIdentityConfiguration # type: ignore from ._models import Operation # type: ignore from ._models import OperationDisplay # type: ignore from ._models import OperationListResult # type: ignore + from ._models import PrivateEndpoint # type: ignore + from ._models import PrivateEndpointConnection # type: ignore + from ._models import PrivateEndpointConnectionProperties # type: ignore + from ._models import PrivateEndpointConnectionsList # type: ignore + from ._models import PrivateLinkResourcesList # type: ignore + from ._models import PrivateLinkServiceConnectionState # type: ignore from ._models import Resource # type: ignore from ._models import Sku # type: ignore + from ._models import SystemData # type: ignore from ._models import TrackedResource # type: ignore from ._models import VirtualNetworkPeering # type: ignore from ._models import VirtualNetworkPeeringList # type: ignore @@ -58,30 +83,49 @@ from ._models import WorkspaceCustomStringParameter # type: ignore from ._models import WorkspaceEncryptionParameter # type: ignore from ._models import WorkspaceListResult # type: ignore + from ._models import WorkspacePropertiesEncryption # type: ignore from ._models import WorkspaceProviderAuthorization # type: ignore from ._models import WorkspaceUpdate # type: ignore -from ._databricks_client_enums import ( +from ._azure_databricks_management_client_enums import ( + CreatedByType, CustomParameterType, + EncryptionKeySource, KeySource, PeeringProvisioningState, PeeringState, + PrivateEndpointConnectionProvisioningState, + PrivateLinkServiceConnectionStatus, ProvisioningState, + PublicNetworkAccess, + RequiredNsgRules, ) __all__ = [ 'AddressSpace', 'CreatedBy', 'Encryption', + 'EncryptionEntitiesDefinition', + 'EncryptionV2', + 'EncryptionV2KeyVaultProperties', 'ErrorDetail', 'ErrorInfo', 'ErrorResponse', + 'GroupIdInformation', + 'GroupIdInformationProperties', 'ManagedIdentityConfiguration', 'Operation', 'OperationDisplay', 'OperationListResult', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateEndpointConnectionProperties', + 'PrivateEndpointConnectionsList', + 'PrivateLinkResourcesList', + 'PrivateLinkServiceConnectionState', 'Resource', 'Sku', + 'SystemData', 'TrackedResource', 'VirtualNetworkPeering', 'VirtualNetworkPeeringList', @@ -94,11 +138,18 @@ 'WorkspaceCustomStringParameter', 'WorkspaceEncryptionParameter', 'WorkspaceListResult', + 'WorkspacePropertiesEncryption', 'WorkspaceProviderAuthorization', 'WorkspaceUpdate', + 'CreatedByType', 'CustomParameterType', + 'EncryptionKeySource', 'KeySource', 'PeeringProvisioningState', 'PeeringState', + 'PrivateEndpointConnectionProvisioningState', + 'PrivateLinkServiceConnectionStatus', 'ProvisioningState', + 'PublicNetworkAccess', + 'RequiredNsgRules', ] diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_databricks_client_enums.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_azure_databricks_management_client_enums.py similarity index 58% rename from src/databricks/azext_databricks/vendored_sdks/databricks/models/_databricks_client_enums.py rename to src/databricks/azext_databricks/vendored_sdks/databricks/models/_azure_databricks_management_client_enums.py index 763ebf60815..a0ccab790f4 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_databricks_client_enums.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_azure_databricks_management_client_enums.py @@ -26,6 +26,15 @@ 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 CustomParameterType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Provisioning status of the workspace. """ @@ -34,6 +43,12 @@ class CustomParameterType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): OBJECT = "Object" STRING = "String" +class EncryptionKeySource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Keyvault + """ + + MICROSOFT_KEYVAULT = "Microsoft.Keyvault" + class KeySource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The encryption keySource (provider). Possible values (case-insensitive): Default, Microsoft.Keyvault @@ -59,6 +74,25 @@ class PeeringState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): CONNECTED = "Connected" DISCONNECTED = "Disconnected" +class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The current provisioning state. + """ + + SUCCEEDED = "Succeeded" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + FAILED = "Failed" + +class PrivateLinkServiceConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The status of a private endpoint connection + """ + + PENDING = "Pending" + APPROVED = "Approved" + REJECTED = "Rejected" + DISCONNECTED = "Disconnected" + class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Provisioning status of the workspace. """ @@ -74,3 +108,21 @@ class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): FAILED = "Failed" SUCCEEDED = "Succeeded" UPDATING = "Updating" + +class PublicNetworkAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The network access type for accessing workspace. Set value to disabled to access workspace only + via private link. + """ + + ENABLED = "Enabled" + DISABLED = "Disabled" + +class RequiredNsgRules(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Gets or sets a value indicating whether data plane (clusters) to control plane communication + happen over private endpoint. Supported values are 'AllRules' and 'NoAzureDatabricksRules'. + 'NoAzureServiceRules' value is for internal use only. + """ + + ALL_RULES = "AllRules" + NO_AZURE_DATABRICKS_RULES = "NoAzureDatabricksRules" + NO_AZURE_SERVICE_RULES = "NoAzureServiceRules" diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models.py index 218574a66c4..30cd1f13f34 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models.py @@ -72,7 +72,7 @@ class Encryption(msrest.serialization.Model): :param key_source: The encryption keySource (provider). Possible values (case-insensitive): Default, Microsoft.Keyvault. Possible values include: "Default", "Microsoft.Keyvault". Default value: "Default". - :type key_source: str or ~azure.mgmt.databricks.models.KeySource + :type key_source: str or ~azure_databricks_management_client.models.KeySource :param key_name: The name of KeyVault key. :type key_name: str :param key_version: The version of KeyVault key. @@ -99,6 +99,91 @@ def __init__( self.key_vault_uri = kwargs.get('key_vault_uri', None) +class EncryptionEntitiesDefinition(msrest.serialization.Model): + """Encryption entities for databricks workspace resource. + + :param managed_services: Encryption properties for the databricks managed services. + :type managed_services: ~azure_databricks_management_client.models.EncryptionV2 + """ + + _attribute_map = { + 'managed_services': {'key': 'managedServices', 'type': 'EncryptionV2'}, + } + + def __init__( + self, + **kwargs + ): + super(EncryptionEntitiesDefinition, self).__init__(**kwargs) + self.managed_services = kwargs.get('managed_services', None) + + +class EncryptionV2(msrest.serialization.Model): + """The object that contains details of encryption used on the workspace. + + All required parameters must be populated in order to send to Azure. + + :param key_source: Required. The encryption keySource (provider). Possible values + (case-insensitive): Microsoft.Keyvault. Possible values include: "Microsoft.Keyvault". + :type key_source: str or ~azure_databricks_management_client.models.EncryptionKeySource + :param key_vault_properties: Key Vault input properties for encryption. + :type key_vault_properties: + ~azure_databricks_management_client.models.EncryptionV2KeyVaultProperties + """ + + _validation = { + 'key_source': {'required': True}, + } + + _attribute_map = { + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'key_vault_properties': {'key': 'keyVaultProperties', 'type': 'EncryptionV2KeyVaultProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(EncryptionV2, self).__init__(**kwargs) + self.key_source = kwargs['key_source'] + self.key_vault_properties = kwargs.get('key_vault_properties', None) + + +class EncryptionV2KeyVaultProperties(msrest.serialization.Model): + """Key Vault input properties for encryption. + + All required parameters must be populated in order to send to Azure. + + :param key_vault_uri: Required. The Uri of KeyVault. + :type key_vault_uri: str + :param key_name: Required. The name of KeyVault key. + :type key_name: str + :param key_version: Required. The version of KeyVault key. + :type key_version: str + """ + + _validation = { + 'key_vault_uri': {'required': True}, + 'key_name': {'required': True}, + 'key_version': {'required': True}, + } + + _attribute_map = { + 'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'}, + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'key_version': {'key': 'keyVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EncryptionV2KeyVaultProperties, self).__init__(**kwargs) + self.key_vault_uri = kwargs['key_vault_uri'] + self.key_name = kwargs['key_name'] + self.key_version = kwargs['key_version'] + + class ErrorDetail(msrest.serialization.Model): """Error details. @@ -143,7 +228,7 @@ class ErrorInfo(msrest.serialization.Model): :param message: Required. A human readable error message. :type message: str :param details: error details. - :type details: list[~azure.mgmt.databricks.models.ErrorDetail] + :type details: list[~azure_databricks_management_client.models.ErrorDetail] :param innererror: Inner error details if they exist. :type innererror: str """ @@ -177,7 +262,7 @@ class ErrorResponse(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param error: Required. The error details. - :type error: ~azure.mgmt.databricks.models.ErrorInfo + :type error: ~azure_databricks_management_client.models.ErrorInfo """ _validation = { @@ -196,6 +281,111 @@ def __init__( self.error = kwargs['error'] +class Resource(msrest.serialization.Model): + """The core properties of ARM 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. 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 GroupIdInformation(Resource): + """The group information for creating a private endpoint on a workspace. + + 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 properties: Required. The group id properties. + :type properties: ~azure_databricks_management_client.models.GroupIdInformationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'GroupIdInformationProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(GroupIdInformation, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class GroupIdInformationProperties(msrest.serialization.Model): + """The properties for a group information object. + + :param group_id: The group id. + :type group_id: str + :param required_members: The required members for a specific group id. + :type required_members: list[str] + :param required_zone_names: The required DNS zones for a specific group id. + :type required_zone_names: list[str] + """ + + _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(GroupIdInformationProperties, self).__init__(**kwargs) + self.group_id = kwargs.get('group_id', None) + self.required_members = kwargs.get('required_members', None) + self.required_zone_names = kwargs.get('required_zone_names', None) + + class ManagedIdentityConfiguration(msrest.serialization.Model): """The Managed Identity details for storage account. @@ -238,7 +428,7 @@ class Operation(msrest.serialization.Model): :param name: Operation name: {provider}/{resource}/{operation}. :type name: str :param display: The object that represents the operation. - :type display: ~azure.mgmt.databricks.models.OperationDisplay + :type display: ~azure_databricks_management_client.models.OperationDisplay """ _attribute_map = { @@ -287,7 +477,7 @@ class OperationListResult(msrest.serialization.Model): :param value: List of Resource Provider operations supported by the Resource Provider resource provider. - :type value: list[~azure.mgmt.databricks.models.Operation] + :type value: list[~azure_databricks_management_client.models.Operation] :param next_link: URL to get the next set of operation list results if there are any. :type next_link: str """ @@ -306,41 +496,192 @@ def __init__( self.next_link = kwargs.get('next_link', None) -class Resource(msrest.serialization.Model): - """The core properties of ARM resources. +class PrivateEndpoint(msrest.serialization.Model): + """The private endpoint property of a private endpoint connection. 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: The resource identifier. :vartype id: str - :ivar name: The name of the resource. + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(msrest.serialization.Model): + """The private endpoint connection of a workspace. + + 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. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The resource type. :vartype type: str + :param properties: Required. The private endpoint connection properties. + :type properties: + ~azure_databricks_management_client.models.PrivateEndpointConnectionProperties """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'properties': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'PrivateEndpointConnectionProperties'}, } def __init__( self, **kwargs ): - super(Resource, self).__init__(**kwargs) + super(PrivateEndpointConnection, self).__init__(**kwargs) self.id = None self.name = None self.type = None + self.properties = kwargs['properties'] + + +class PrivateEndpointConnectionProperties(msrest.serialization.Model): + """The properties of 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. + + :param private_endpoint: Private endpoint. + :type private_endpoint: ~azure_databricks_management_client.models.PrivateEndpoint + :param private_link_service_connection_state: Required. Private endpoint connection state. + :type private_link_service_connection_state: + ~azure_databricks_management_client.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: Provisioning state of the private endpoint connection. Possible + values include: "Succeeded", "Creating", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or + ~azure_databricks_management_client.models.PrivateEndpointConnectionProvisioningState + """ + + _validation = { + 'private_link_service_connection_state': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpointConnectionProperties, self).__init__(**kwargs) + self.private_endpoint = kwargs.get('private_endpoint', None) + self.private_link_service_connection_state = kwargs['private_link_service_connection_state'] + self.provisioning_state = None + + +class PrivateEndpointConnectionsList(msrest.serialization.Model): + """List of private link connections. + + :param value: The list of returned private endpoint connection. + :type value: list[~azure_databricks_management_client.models.PrivateEndpointConnection] + :param next_link: The URL to get the next set of endpoint connections. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpointConnectionsList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class PrivateLinkResourcesList(msrest.serialization.Model): + """The available private link resources for a workspace. + + :param value: The list of available private link resources for a workspace. + :type value: list[~azure_databricks_management_client.models.GroupIdInformation] + :param next_link: The URL to get the next set of private link resources. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GroupIdInformation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkResourcesList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class PrivateLinkServiceConnectionState(msrest.serialization.Model): + """The current state of a private endpoint connection. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. The status of a private endpoint connection. Possible values include: + "Pending", "Approved", "Rejected", "Disconnected". + :type status: str or + ~azure_databricks_management_client.models.PrivateLinkServiceConnectionStatus + :param description: The description for the current state of a private endpoint connection. + :type description: str + :param action_required: Actions required for a private endpoint connection. + :type action_required: str + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'action_required': {'key': 'actionRequired', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = kwargs['status'] + self.description = kwargs.get('description', None) + self.action_required = kwargs.get('action_required', None) class Sku(msrest.serialization.Model): @@ -372,6 +713,47 @@ def __init__( self.tier = kwargs.get('tier', 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_databricks_management_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 ~azure_databricks_management_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 TrackedResource(Resource): """The resource model definition for a ARM tracked top level resource. @@ -445,25 +827,26 @@ class VirtualNetworkPeering(msrest.serialization.Model): true. This flag cannot be set if virtual network already has a gateway. :type use_remote_gateways: bool :param databricks_virtual_network: The remote virtual network should be in the same region. See - here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration- - guide/cloud-configurations/azure/vnet-peering). + here to learn more + (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering). :type databricks_virtual_network: - ~azure.mgmt.databricks.models.VirtualNetworkPeeringPropertiesFormatDatabricksVirtualNetwork + ~azure_databricks_management_client.models.VirtualNetworkPeeringPropertiesFormatDatabricksVirtualNetwork :param databricks_address_space: The reference to the databricks virtual network address space. - :type databricks_address_space: ~azure.mgmt.databricks.models.AddressSpace + :type databricks_address_space: ~azure_databricks_management_client.models.AddressSpace :param remote_virtual_network: Required. The remote virtual network should be in the same - region. See here to learn more (https://docs.microsoft.com/en- - us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering). + region. See here to learn more + (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering). :type remote_virtual_network: - ~azure.mgmt.databricks.models.VirtualNetworkPeeringPropertiesFormatRemoteVirtualNetwork + ~azure_databricks_management_client.models.VirtualNetworkPeeringPropertiesFormatRemoteVirtualNetwork :param remote_address_space: The reference to the remote virtual network address space. - :type remote_address_space: ~azure.mgmt.databricks.models.AddressSpace + :type remote_address_space: ~azure_databricks_management_client.models.AddressSpace :ivar peering_state: The status of the virtual network peering. Possible values include: "Initiated", "Connected", "Disconnected". - :vartype peering_state: str or ~azure.mgmt.databricks.models.PeeringState + :vartype peering_state: str or ~azure_databricks_management_client.models.PeeringState :ivar provisioning_state: The provisioning state of the virtual network peering resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or ~azure.mgmt.databricks.models.PeeringProvisioningState + :vartype provisioning_state: str or + ~azure_databricks_management_client.models.PeeringProvisioningState """ _validation = { @@ -515,7 +898,7 @@ class VirtualNetworkPeeringList(msrest.serialization.Model): """Gets all virtual network peerings under a workspace. :param value: List of virtual network peerings on workspace. - :type value: list[~azure.mgmt.databricks.models.VirtualNetworkPeering] + :type value: list[~azure_databricks_management_client.models.VirtualNetworkPeering] :param next_link: URL to get the next set of virtual network peering list results if there are any. :type next_link: str @@ -593,25 +976,29 @@ class Workspace(TrackedResource): :param location: Required. The geo-location where the resource lives. :type location: str :param sku: The SKU of the resource. - :type sku: ~azure.mgmt.databricks.models.Sku + :type sku: ~azure_databricks_management_client.models.Sku + :ivar system_data: The system metadata relating to this resource. + :vartype system_data: ~azure_databricks_management_client.models.SystemData :param managed_resource_group_id: Required. The managed resource group Id. :type managed_resource_group_id: str :param parameters: The workspace's custom parameters. - :type parameters: ~azure.mgmt.databricks.models.WorkspaceCustomParameters + :type parameters: ~azure_databricks_management_client.models.WorkspaceCustomParameters :ivar provisioning_state: The workspace provisioning state. Possible values include: "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "Updating". - :vartype provisioning_state: str or ~azure.mgmt.databricks.models.ProvisioningState + :vartype provisioning_state: str or + ~azure_databricks_management_client.models.ProvisioningState :param ui_definition_uri: The blob URI where the UI definition file is located. :type ui_definition_uri: str :param authorizations: The workspace provider authorizations. - :type authorizations: list[~azure.mgmt.databricks.models.WorkspaceProviderAuthorization] + :type authorizations: + list[~azure_databricks_management_client.models.WorkspaceProviderAuthorization] :param created_by: Indicates the Object ID, PUID and Application ID of entity that created the workspace. - :type created_by: ~azure.mgmt.databricks.models.CreatedBy + :type created_by: ~azure_databricks_management_client.models.CreatedBy :param updated_by: Indicates the Object ID, PUID and Application ID of entity that last updated the workspace. - :type updated_by: ~azure.mgmt.databricks.models.CreatedBy + :type updated_by: ~azure_databricks_management_client.models.CreatedBy :ivar created_date_time: Specifies the date and time when the workspace is created. :vartype created_date_time: ~datetime.datetime :ivar workspace_id: The unique identifier of the databricks workspace in databricks control @@ -621,7 +1008,23 @@ class Workspace(TrackedResource): 'adb-{workspaceId}.{random}.azuredatabricks.net'. :vartype workspace_url: str :param storage_account_identity: The details of Managed Identity of Storage Account. - :type storage_account_identity: ~azure.mgmt.databricks.models.ManagedIdentityConfiguration + :type storage_account_identity: + ~azure_databricks_management_client.models.ManagedIdentityConfiguration + :param encryption: Encryption properties for databricks workspace. + :type encryption: ~azure_databricks_management_client.models.WorkspacePropertiesEncryption + :ivar private_endpoint_connections: Private endpoint connections created on the workspace. + :vartype private_endpoint_connections: + list[~azure_databricks_management_client.models.PrivateEndpointConnection] + :param public_network_access: The network access type for accessing workspace. Set value to + disabled to access workspace only via private link. Possible values include: "Enabled", + "Disabled". + :type public_network_access: str or + ~azure_databricks_management_client.models.PublicNetworkAccess + :param required_nsg_rules: Gets or sets a value indicating whether data plane (clusters) to + control plane communication happen over private endpoint. Supported values are 'AllRules' and + 'NoAzureDatabricksRules'. 'NoAzureServiceRules' value is for internal use only. Possible values + include: "AllRules", "NoAzureDatabricksRules", "NoAzureServiceRules". + :type required_nsg_rules: str or ~azure_databricks_management_client.models.RequiredNsgRules """ _validation = { @@ -629,11 +1032,13 @@ class Workspace(TrackedResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, + 'system_data': {'readonly': True}, 'managed_resource_group_id': {'required': True}, 'provisioning_state': {'readonly': True}, 'created_date_time': {'readonly': True}, 'workspace_id': {'readonly': True}, 'workspace_url': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, } _attribute_map = { @@ -643,6 +1048,7 @@ class Workspace(TrackedResource): 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'Sku'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'managed_resource_group_id': {'key': 'properties.managedResourceGroupId', 'type': 'str'}, 'parameters': {'key': 'properties.parameters', 'type': 'WorkspaceCustomParameters'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, @@ -654,6 +1060,10 @@ class Workspace(TrackedResource): 'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'}, 'workspace_url': {'key': 'properties.workspaceUrl', 'type': 'str'}, 'storage_account_identity': {'key': 'properties.storageAccountIdentity', 'type': 'ManagedIdentityConfiguration'}, + 'encryption': {'key': 'properties.encryption', 'type': 'WorkspacePropertiesEncryption'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + 'required_nsg_rules': {'key': 'properties.requiredNsgRules', 'type': 'str'}, } def __init__( @@ -662,6 +1072,7 @@ def __init__( ): super(Workspace, self).__init__(**kwargs) self.sku = kwargs.get('sku', None) + self.system_data = None self.managed_resource_group_id = kwargs['managed_resource_group_id'] self.parameters = kwargs.get('parameters', None) self.provisioning_state = None @@ -673,6 +1084,10 @@ def __init__( self.workspace_id = None self.workspace_url = None self.storage_account_identity = kwargs.get('storage_account_identity', None) + self.encryption = kwargs.get('encryption', None) + self.private_endpoint_connections = None + self.public_network_access = kwargs.get('public_network_access', None) + self.required_nsg_rules = kwargs.get('required_nsg_rules', None) class WorkspaceCustomBooleanParameter(msrest.serialization.Model): @@ -684,7 +1099,7 @@ class WorkspaceCustomBooleanParameter(msrest.serialization.Model): :ivar type: The type of variable that this is. Possible values include: "Bool", "Object", "String". - :vartype type: str or ~azure.mgmt.databricks.models.CustomParameterType + :vartype type: str or ~azure_databricks_management_client.models.CustomParameterType :param value: Required. The value which should be used for this field. :type value: bool """ @@ -717,9 +1132,9 @@ class WorkspaceCustomObjectParameter(msrest.serialization.Model): :ivar type: The type of variable that this is. Possible values include: "Bool", "Object", "String". - :vartype type: str or ~azure.mgmt.databricks.models.CustomParameterType + :vartype type: str or ~azure_databricks_management_client.models.CustomParameterType :param value: Required. The value which should be used for this field. - :type value: object + :type value: any """ _validation = { @@ -744,40 +1159,89 @@ def __init__( class WorkspaceCustomParameters(msrest.serialization.Model): """Custom Parameters used for Cluster Creation. + Variables are only populated by the server, and will be ignored when sending a request. + :param aml_workspace_id: The ID of a Azure Machine Learning workspace to link with Databricks workspace. - :type aml_workspace_id: ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :type aml_workspace_id: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param custom_virtual_network_id: The ID of a Virtual Network where this Databricks Cluster should be created. - :type custom_virtual_network_id: ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :type custom_virtual_network_id: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param custom_public_subnet_name: The name of a Public Subnet within the Virtual Network. - :type custom_public_subnet_name: ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :type custom_public_subnet_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param custom_private_subnet_name: The name of the Private Subnet within the Virtual Network. - :type custom_private_subnet_name: ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :type custom_private_subnet_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param enable_no_public_ip: Should the Public IP be Disabled?. - :type enable_no_public_ip: ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter + :type enable_no_public_ip: + ~azure_databricks_management_client.models.WorkspaceCustomBooleanParameter + :param load_balancer_backend_pool_name: Name of the outbound Load Balancer Backend Pool for + Secure Cluster Connectivity (No Public IP). + :type load_balancer_backend_pool_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param load_balancer_id: Resource URI of Outbound Load balancer for Secure Cluster Connectivity + (No Public IP) workspace. + :type load_balancer_id: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param nat_gateway_name: Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) + workspace subnets. + :type nat_gateway_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param public_ip_name: Name of the Public IP for No Public IP workspace with managed vNet. + :type public_ip_name: ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param prepare_encryption: Prepare the workspace for encryption. Enables the Managed Identity for managed storage account. - :type prepare_encryption: ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter + :type prepare_encryption: + ~azure_databricks_management_client.models.WorkspaceCustomBooleanParameter :param encryption: Contains the encryption details for Customer-Managed Key (CMK) enabled workspace. - :type encryption: ~azure.mgmt.databricks.models.WorkspaceEncryptionParameter + :type encryption: ~azure_databricks_management_client.models.WorkspaceEncryptionParameter :param require_infrastructure_encryption: A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest. :type require_infrastructure_encryption: - ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter + ~azure_databricks_management_client.models.WorkspaceCustomBooleanParameter + :param storage_account_name: Default DBFS storage account name. + :type storage_account_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param storage_account_sku_name: Storage account SKU name, ex: Standard_GRS, Standard_LRS. + Refer https://aka.ms/storageskus for valid inputs. + :type storage_account_sku_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param vnet_address_prefix: Address prefix for Managed virtual network. Default value for this + input is 10.139. + :type vnet_address_prefix: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :ivar resource_tags: Tags applied to resources under Managed resource group. These can be + updated by updating tags at workspace level. + :vartype resource_tags: + ~azure_databricks_management_client.models.WorkspaceCustomObjectParameter """ + _validation = { + 'resource_tags': {'readonly': True}, + } + _attribute_map = { 'aml_workspace_id': {'key': 'amlWorkspaceId', 'type': 'WorkspaceCustomStringParameter'}, 'custom_virtual_network_id': {'key': 'customVirtualNetworkId', 'type': 'WorkspaceCustomStringParameter'}, 'custom_public_subnet_name': {'key': 'customPublicSubnetName', 'type': 'WorkspaceCustomStringParameter'}, 'custom_private_subnet_name': {'key': 'customPrivateSubnetName', 'type': 'WorkspaceCustomStringParameter'}, 'enable_no_public_ip': {'key': 'enableNoPublicIp', 'type': 'WorkspaceCustomBooleanParameter'}, + 'load_balancer_backend_pool_name': {'key': 'loadBalancerBackendPoolName', 'type': 'WorkspaceCustomStringParameter'}, + 'load_balancer_id': {'key': 'loadBalancerId', 'type': 'WorkspaceCustomStringParameter'}, + 'nat_gateway_name': {'key': 'natGatewayName', 'type': 'WorkspaceCustomStringParameter'}, + 'public_ip_name': {'key': 'publicIpName', 'type': 'WorkspaceCustomStringParameter'}, 'prepare_encryption': {'key': 'prepareEncryption', 'type': 'WorkspaceCustomBooleanParameter'}, 'encryption': {'key': 'encryption', 'type': 'WorkspaceEncryptionParameter'}, 'require_infrastructure_encryption': {'key': 'requireInfrastructureEncryption', 'type': 'WorkspaceCustomBooleanParameter'}, + 'storage_account_name': {'key': 'storageAccountName', 'type': 'WorkspaceCustomStringParameter'}, + 'storage_account_sku_name': {'key': 'storageAccountSkuName', 'type': 'WorkspaceCustomStringParameter'}, + 'vnet_address_prefix': {'key': 'vnetAddressPrefix', 'type': 'WorkspaceCustomStringParameter'}, + 'resource_tags': {'key': 'resourceTags', 'type': 'WorkspaceCustomObjectParameter'}, } def __init__( @@ -790,9 +1254,17 @@ def __init__( self.custom_public_subnet_name = kwargs.get('custom_public_subnet_name', None) self.custom_private_subnet_name = kwargs.get('custom_private_subnet_name', None) self.enable_no_public_ip = kwargs.get('enable_no_public_ip', None) + self.load_balancer_backend_pool_name = kwargs.get('load_balancer_backend_pool_name', None) + self.load_balancer_id = kwargs.get('load_balancer_id', None) + self.nat_gateway_name = kwargs.get('nat_gateway_name', None) + self.public_ip_name = kwargs.get('public_ip_name', None) self.prepare_encryption = kwargs.get('prepare_encryption', None) self.encryption = kwargs.get('encryption', None) self.require_infrastructure_encryption = kwargs.get('require_infrastructure_encryption', None) + self.storage_account_name = kwargs.get('storage_account_name', None) + self.storage_account_sku_name = kwargs.get('storage_account_sku_name', None) + self.vnet_address_prefix = kwargs.get('vnet_address_prefix', None) + self.resource_tags = None class WorkspaceCustomStringParameter(msrest.serialization.Model): @@ -804,7 +1276,7 @@ class WorkspaceCustomStringParameter(msrest.serialization.Model): :ivar type: The type of variable that this is. Possible values include: "Bool", "Object", "String". - :vartype type: str or ~azure.mgmt.databricks.models.CustomParameterType + :vartype type: str or ~azure_databricks_management_client.models.CustomParameterType :param value: Required. The value which should be used for this field. :type value: str """ @@ -835,9 +1307,9 @@ class WorkspaceEncryptionParameter(msrest.serialization.Model): :ivar type: The type of variable that this is. Possible values include: "Bool", "Object", "String". - :vartype type: str or ~azure.mgmt.databricks.models.CustomParameterType + :vartype type: str or ~azure_databricks_management_client.models.CustomParameterType :param value: The value which should be used for this field. - :type value: ~azure.mgmt.databricks.models.Encryption + :type value: ~azure_databricks_management_client.models.Encryption """ _validation = { @@ -862,7 +1334,7 @@ class WorkspaceListResult(msrest.serialization.Model): """List of workspaces. :param value: The array of workspaces. - :type value: list[~azure.mgmt.databricks.models.Workspace] + :type value: list[~azure_databricks_management_client.models.Workspace] :param next_link: The URL to use for getting the next set of results. :type next_link: str """ @@ -881,6 +1353,31 @@ def __init__( self.next_link = kwargs.get('next_link', None) +class WorkspacePropertiesEncryption(msrest.serialization.Model): + """Encryption properties for databricks workspace. + + All required parameters must be populated in order to send to Azure. + + :param entities: Required. Encryption entities definition for the workspace. + :type entities: ~azure_databricks_management_client.models.EncryptionEntitiesDefinition + """ + + _validation = { + 'entities': {'required': True}, + } + + _attribute_map = { + 'entities': {'key': 'entities', 'type': 'EncryptionEntitiesDefinition'}, + } + + def __init__( + self, + **kwargs + ): + super(WorkspacePropertiesEncryption, self).__init__(**kwargs) + self.entities = kwargs['entities'] + + class WorkspaceProviderAuthorization(msrest.serialization.Model): """The workspace provider authorization. diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models_py3.py b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models_py3.py index 95b0b518d8c..e8e7c355d59 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models_py3.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/models/_models_py3.py @@ -6,12 +6,13 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Dict, List, Optional, Union +import datetime +from typing import Any, Dict, List, Optional, Union from azure.core.exceptions import HttpResponseError import msrest.serialization -from ._databricks_client_enums import * +from ._azure_databricks_management_client_enums import * class AddressSpace(msrest.serialization.Model): @@ -78,7 +79,7 @@ class Encryption(msrest.serialization.Model): :param key_source: The encryption keySource (provider). Possible values (case-insensitive): Default, Microsoft.Keyvault. Possible values include: "Default", "Microsoft.Keyvault". Default value: "Default". - :type key_source: str or ~azure.mgmt.databricks.models.KeySource + :type key_source: str or ~azure_databricks_management_client.models.KeySource :param key_name: The name of KeyVault key. :type key_name: str :param key_version: The version of KeyVault key. @@ -110,6 +111,100 @@ def __init__( self.key_vault_uri = key_vault_uri +class EncryptionEntitiesDefinition(msrest.serialization.Model): + """Encryption entities for databricks workspace resource. + + :param managed_services: Encryption properties for the databricks managed services. + :type managed_services: ~azure_databricks_management_client.models.EncryptionV2 + """ + + _attribute_map = { + 'managed_services': {'key': 'managedServices', 'type': 'EncryptionV2'}, + } + + def __init__( + self, + *, + managed_services: Optional["EncryptionV2"] = None, + **kwargs + ): + super(EncryptionEntitiesDefinition, self).__init__(**kwargs) + self.managed_services = managed_services + + +class EncryptionV2(msrest.serialization.Model): + """The object that contains details of encryption used on the workspace. + + All required parameters must be populated in order to send to Azure. + + :param key_source: Required. The encryption keySource (provider). Possible values + (case-insensitive): Microsoft.Keyvault. Possible values include: "Microsoft.Keyvault". + :type key_source: str or ~azure_databricks_management_client.models.EncryptionKeySource + :param key_vault_properties: Key Vault input properties for encryption. + :type key_vault_properties: + ~azure_databricks_management_client.models.EncryptionV2KeyVaultProperties + """ + + _validation = { + 'key_source': {'required': True}, + } + + _attribute_map = { + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'key_vault_properties': {'key': 'keyVaultProperties', 'type': 'EncryptionV2KeyVaultProperties'}, + } + + def __init__( + self, + *, + key_source: Union[str, "EncryptionKeySource"], + key_vault_properties: Optional["EncryptionV2KeyVaultProperties"] = None, + **kwargs + ): + super(EncryptionV2, self).__init__(**kwargs) + self.key_source = key_source + self.key_vault_properties = key_vault_properties + + +class EncryptionV2KeyVaultProperties(msrest.serialization.Model): + """Key Vault input properties for encryption. + + All required parameters must be populated in order to send to Azure. + + :param key_vault_uri: Required. The Uri of KeyVault. + :type key_vault_uri: str + :param key_name: Required. The name of KeyVault key. + :type key_name: str + :param key_version: Required. The version of KeyVault key. + :type key_version: str + """ + + _validation = { + 'key_vault_uri': {'required': True}, + 'key_name': {'required': True}, + 'key_version': {'required': True}, + } + + _attribute_map = { + 'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'}, + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'key_version': {'key': 'keyVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + key_vault_uri: str, + key_name: str, + key_version: str, + **kwargs + ): + super(EncryptionV2KeyVaultProperties, self).__init__(**kwargs) + self.key_vault_uri = key_vault_uri + self.key_name = key_name + self.key_version = key_version + + class ErrorDetail(msrest.serialization.Model): """Error details. @@ -158,7 +253,7 @@ class ErrorInfo(msrest.serialization.Model): :param message: Required. A human readable error message. :type message: str :param details: error details. - :type details: list[~azure.mgmt.databricks.models.ErrorDetail] + :type details: list[~azure_databricks_management_client.models.ErrorDetail] :param innererror: Inner error details if they exist. :type innererror: str """ @@ -197,7 +292,7 @@ class ErrorResponse(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param error: Required. The error details. - :type error: ~azure.mgmt.databricks.models.ErrorInfo + :type error: ~azure_databricks_management_client.models.ErrorInfo """ _validation = { @@ -218,6 +313,117 @@ def __init__( self.error = error +class Resource(msrest.serialization.Model): + """The core properties of ARM 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. 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 GroupIdInformation(Resource): + """The group information for creating a private endpoint on a workspace. + + 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 properties: Required. The group id properties. + :type properties: ~azure_databricks_management_client.models.GroupIdInformationProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'GroupIdInformationProperties'}, + } + + def __init__( + self, + *, + properties: "GroupIdInformationProperties", + **kwargs + ): + super(GroupIdInformation, self).__init__(**kwargs) + self.properties = properties + + +class GroupIdInformationProperties(msrest.serialization.Model): + """The properties for a group information object. + + :param group_id: The group id. + :type group_id: str + :param required_members: The required members for a specific group id. + :type required_members: list[str] + :param required_zone_names: The required DNS zones for a specific group id. + :type required_zone_names: list[str] + """ + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'requiredZoneNames', 'type': '[str]'}, + } + + def __init__( + self, + *, + group_id: Optional[str] = None, + required_members: Optional[List[str]] = None, + required_zone_names: Optional[List[str]] = None, + **kwargs + ): + super(GroupIdInformationProperties, self).__init__(**kwargs) + self.group_id = group_id + self.required_members = required_members + self.required_zone_names = required_zone_names + + class ManagedIdentityConfiguration(msrest.serialization.Model): """The Managed Identity details for storage account. @@ -260,7 +466,7 @@ class Operation(msrest.serialization.Model): :param name: Operation name: {provider}/{resource}/{operation}. :type name: str :param display: The object that represents the operation. - :type display: ~azure.mgmt.databricks.models.OperationDisplay + :type display: ~azure_databricks_management_client.models.OperationDisplay """ _attribute_map = { @@ -316,7 +522,7 @@ class OperationListResult(msrest.serialization.Model): :param value: List of Resource Provider operations supported by the Resource Provider resource provider. - :type value: list[~azure.mgmt.databricks.models.Operation] + :type value: list[~azure_databricks_management_client.models.Operation] :param next_link: URL to get the next set of operation list results if there are any. :type next_link: str """ @@ -338,41 +544,207 @@ def __init__( self.next_link = next_link -class Resource(msrest.serialization.Model): - """The core properties of ARM resources. +class PrivateEndpoint(msrest.serialization.Model): + """The private endpoint property of a private endpoint connection. 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: The resource identifier. :vartype id: str - :ivar name: The name of the resource. + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(msrest.serialization.Model): + """The private endpoint connection of a workspace. + + 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. :vartype name: str - :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or - Microsoft.Storage/storageAccounts. + :ivar type: The resource type. :vartype type: str + :param properties: Required. The private endpoint connection properties. + :type properties: + ~azure_databricks_management_client.models.PrivateEndpointConnectionProperties """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'properties': {'required': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'PrivateEndpointConnectionProperties'}, } def __init__( self, + *, + properties: "PrivateEndpointConnectionProperties", **kwargs ): - super(Resource, self).__init__(**kwargs) + super(PrivateEndpointConnection, self).__init__(**kwargs) self.id = None self.name = None self.type = None + self.properties = properties + + +class PrivateEndpointConnectionProperties(msrest.serialization.Model): + """The properties of 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. + + :param private_endpoint: Private endpoint. + :type private_endpoint: ~azure_databricks_management_client.models.PrivateEndpoint + :param private_link_service_connection_state: Required. Private endpoint connection state. + :type private_link_service_connection_state: + ~azure_databricks_management_client.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: Provisioning state of the private endpoint connection. Possible + values include: "Succeeded", "Creating", "Updating", "Deleting", "Failed". + :vartype provisioning_state: str or + ~azure_databricks_management_client.models.PrivateEndpointConnectionProvisioningState + """ + + _validation = { + 'private_link_service_connection_state': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'private_endpoint': {'key': 'privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + private_link_service_connection_state: "PrivateLinkServiceConnectionState", + private_endpoint: Optional["PrivateEndpoint"] = None, + **kwargs + ): + super(PrivateEndpointConnectionProperties, self).__init__(**kwargs) + self.private_endpoint = private_endpoint + self.private_link_service_connection_state = private_link_service_connection_state + self.provisioning_state = None + + +class PrivateEndpointConnectionsList(msrest.serialization.Model): + """List of private link connections. + + :param value: The list of returned private endpoint connection. + :type value: list[~azure_databricks_management_client.models.PrivateEndpointConnection] + :param next_link: The URL to get the next set of endpoint connections. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["PrivateEndpointConnection"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PrivateEndpointConnectionsList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PrivateLinkResourcesList(msrest.serialization.Model): + """The available private link resources for a workspace. + + :param value: The list of available private link resources for a workspace. + :type value: list[~azure_databricks_management_client.models.GroupIdInformation] + :param next_link: The URL to get the next set of private link resources. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GroupIdInformation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["GroupIdInformation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(PrivateLinkResourcesList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PrivateLinkServiceConnectionState(msrest.serialization.Model): + """The current state of a private endpoint connection. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. The status of a private endpoint connection. Possible values include: + "Pending", "Approved", "Rejected", "Disconnected". + :type status: str or + ~azure_databricks_management_client.models.PrivateLinkServiceConnectionStatus + :param description: The description for the current state of a private endpoint connection. + :type description: str + :param action_required: Actions required for a private endpoint connection. + :type action_required: str + """ + + _validation = { + 'status': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'action_required': {'key': 'actionRequired', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Union[str, "PrivateLinkServiceConnectionStatus"], + description: Optional[str] = None, + action_required: Optional[str] = None, + **kwargs + ): + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + self.action_required = action_required class Sku(msrest.serialization.Model): @@ -407,6 +779,54 @@ def __init__( self.tier = tier +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_databricks_management_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 ~azure_databricks_management_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 TrackedResource(Resource): """The resource model definition for a ARM tracked top level resource. @@ -483,25 +903,26 @@ class VirtualNetworkPeering(msrest.serialization.Model): true. This flag cannot be set if virtual network already has a gateway. :type use_remote_gateways: bool :param databricks_virtual_network: The remote virtual network should be in the same region. See - here to learn more (https://docs.microsoft.com/en-us/azure/databricks/administration- - guide/cloud-configurations/azure/vnet-peering). + here to learn more + (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering). :type databricks_virtual_network: - ~azure.mgmt.databricks.models.VirtualNetworkPeeringPropertiesFormatDatabricksVirtualNetwork + ~azure_databricks_management_client.models.VirtualNetworkPeeringPropertiesFormatDatabricksVirtualNetwork :param databricks_address_space: The reference to the databricks virtual network address space. - :type databricks_address_space: ~azure.mgmt.databricks.models.AddressSpace + :type databricks_address_space: ~azure_databricks_management_client.models.AddressSpace :param remote_virtual_network: Required. The remote virtual network should be in the same - region. See here to learn more (https://docs.microsoft.com/en- - us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering). + region. See here to learn more + (https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/vnet-peering). :type remote_virtual_network: - ~azure.mgmt.databricks.models.VirtualNetworkPeeringPropertiesFormatRemoteVirtualNetwork + ~azure_databricks_management_client.models.VirtualNetworkPeeringPropertiesFormatRemoteVirtualNetwork :param remote_address_space: The reference to the remote virtual network address space. - :type remote_address_space: ~azure.mgmt.databricks.models.AddressSpace + :type remote_address_space: ~azure_databricks_management_client.models.AddressSpace :ivar peering_state: The status of the virtual network peering. Possible values include: "Initiated", "Connected", "Disconnected". - :vartype peering_state: str or ~azure.mgmt.databricks.models.PeeringState + :vartype peering_state: str or ~azure_databricks_management_client.models.PeeringState :ivar provisioning_state: The provisioning state of the virtual network peering resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or ~azure.mgmt.databricks.models.PeeringProvisioningState + :vartype provisioning_state: str or + ~azure_databricks_management_client.models.PeeringProvisioningState """ _validation = { @@ -562,7 +983,7 @@ class VirtualNetworkPeeringList(msrest.serialization.Model): """Gets all virtual network peerings under a workspace. :param value: List of virtual network peerings on workspace. - :type value: list[~azure.mgmt.databricks.models.VirtualNetworkPeering] + :type value: list[~azure_databricks_management_client.models.VirtualNetworkPeering] :param next_link: URL to get the next set of virtual network peering list results if there are any. :type next_link: str @@ -647,25 +1068,29 @@ class Workspace(TrackedResource): :param location: Required. The geo-location where the resource lives. :type location: str :param sku: The SKU of the resource. - :type sku: ~azure.mgmt.databricks.models.Sku + :type sku: ~azure_databricks_management_client.models.Sku + :ivar system_data: The system metadata relating to this resource. + :vartype system_data: ~azure_databricks_management_client.models.SystemData :param managed_resource_group_id: Required. The managed resource group Id. :type managed_resource_group_id: str :param parameters: The workspace's custom parameters. - :type parameters: ~azure.mgmt.databricks.models.WorkspaceCustomParameters + :type parameters: ~azure_databricks_management_client.models.WorkspaceCustomParameters :ivar provisioning_state: The workspace provisioning state. Possible values include: "Accepted", "Running", "Ready", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "Updating". - :vartype provisioning_state: str or ~azure.mgmt.databricks.models.ProvisioningState + :vartype provisioning_state: str or + ~azure_databricks_management_client.models.ProvisioningState :param ui_definition_uri: The blob URI where the UI definition file is located. :type ui_definition_uri: str :param authorizations: The workspace provider authorizations. - :type authorizations: list[~azure.mgmt.databricks.models.WorkspaceProviderAuthorization] + :type authorizations: + list[~azure_databricks_management_client.models.WorkspaceProviderAuthorization] :param created_by: Indicates the Object ID, PUID and Application ID of entity that created the workspace. - :type created_by: ~azure.mgmt.databricks.models.CreatedBy + :type created_by: ~azure_databricks_management_client.models.CreatedBy :param updated_by: Indicates the Object ID, PUID and Application ID of entity that last updated the workspace. - :type updated_by: ~azure.mgmt.databricks.models.CreatedBy + :type updated_by: ~azure_databricks_management_client.models.CreatedBy :ivar created_date_time: Specifies the date and time when the workspace is created. :vartype created_date_time: ~datetime.datetime :ivar workspace_id: The unique identifier of the databricks workspace in databricks control @@ -675,7 +1100,23 @@ class Workspace(TrackedResource): 'adb-{workspaceId}.{random}.azuredatabricks.net'. :vartype workspace_url: str :param storage_account_identity: The details of Managed Identity of Storage Account. - :type storage_account_identity: ~azure.mgmt.databricks.models.ManagedIdentityConfiguration + :type storage_account_identity: + ~azure_databricks_management_client.models.ManagedIdentityConfiguration + :param encryption: Encryption properties for databricks workspace. + :type encryption: ~azure_databricks_management_client.models.WorkspacePropertiesEncryption + :ivar private_endpoint_connections: Private endpoint connections created on the workspace. + :vartype private_endpoint_connections: + list[~azure_databricks_management_client.models.PrivateEndpointConnection] + :param public_network_access: The network access type for accessing workspace. Set value to + disabled to access workspace only via private link. Possible values include: "Enabled", + "Disabled". + :type public_network_access: str or + ~azure_databricks_management_client.models.PublicNetworkAccess + :param required_nsg_rules: Gets or sets a value indicating whether data plane (clusters) to + control plane communication happen over private endpoint. Supported values are 'AllRules' and + 'NoAzureDatabricksRules'. 'NoAzureServiceRules' value is for internal use only. Possible values + include: "AllRules", "NoAzureDatabricksRules", "NoAzureServiceRules". + :type required_nsg_rules: str or ~azure_databricks_management_client.models.RequiredNsgRules """ _validation = { @@ -683,11 +1124,13 @@ class Workspace(TrackedResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, + 'system_data': {'readonly': True}, 'managed_resource_group_id': {'required': True}, 'provisioning_state': {'readonly': True}, 'created_date_time': {'readonly': True}, 'workspace_id': {'readonly': True}, 'workspace_url': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, } _attribute_map = { @@ -697,6 +1140,7 @@ class Workspace(TrackedResource): 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'Sku'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'managed_resource_group_id': {'key': 'properties.managedResourceGroupId', 'type': 'str'}, 'parameters': {'key': 'properties.parameters', 'type': 'WorkspaceCustomParameters'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, @@ -708,6 +1152,10 @@ class Workspace(TrackedResource): 'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'}, 'workspace_url': {'key': 'properties.workspaceUrl', 'type': 'str'}, 'storage_account_identity': {'key': 'properties.storageAccountIdentity', 'type': 'ManagedIdentityConfiguration'}, + 'encryption': {'key': 'properties.encryption', 'type': 'WorkspacePropertiesEncryption'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + 'required_nsg_rules': {'key': 'properties.requiredNsgRules', 'type': 'str'}, } def __init__( @@ -723,10 +1171,14 @@ def __init__( created_by: Optional["CreatedBy"] = None, updated_by: Optional["CreatedBy"] = None, storage_account_identity: Optional["ManagedIdentityConfiguration"] = None, + encryption: Optional["WorkspacePropertiesEncryption"] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + required_nsg_rules: Optional[Union[str, "RequiredNsgRules"]] = None, **kwargs ): super(Workspace, self).__init__(tags=tags, location=location, **kwargs) self.sku = sku + self.system_data = None self.managed_resource_group_id = managed_resource_group_id self.parameters = parameters self.provisioning_state = None @@ -738,6 +1190,10 @@ def __init__( self.workspace_id = None self.workspace_url = None self.storage_account_identity = storage_account_identity + self.encryption = encryption + self.private_endpoint_connections = None + self.public_network_access = public_network_access + self.required_nsg_rules = required_nsg_rules class WorkspaceCustomBooleanParameter(msrest.serialization.Model): @@ -749,7 +1205,7 @@ class WorkspaceCustomBooleanParameter(msrest.serialization.Model): :ivar type: The type of variable that this is. Possible values include: "Bool", "Object", "String". - :vartype type: str or ~azure.mgmt.databricks.models.CustomParameterType + :vartype type: str or ~azure_databricks_management_client.models.CustomParameterType :param value: Required. The value which should be used for this field. :type value: bool """ @@ -784,9 +1240,9 @@ class WorkspaceCustomObjectParameter(msrest.serialization.Model): :ivar type: The type of variable that this is. Possible values include: "Bool", "Object", "String". - :vartype type: str or ~azure.mgmt.databricks.models.CustomParameterType + :vartype type: str or ~azure_databricks_management_client.models.CustomParameterType :param value: Required. The value which should be used for this field. - :type value: object + :type value: any """ _validation = { @@ -802,7 +1258,7 @@ class WorkspaceCustomObjectParameter(msrest.serialization.Model): def __init__( self, *, - value: object, + value: Any, **kwargs ): super(WorkspaceCustomObjectParameter, self).__init__(**kwargs) @@ -813,40 +1269,89 @@ def __init__( class WorkspaceCustomParameters(msrest.serialization.Model): """Custom Parameters used for Cluster Creation. + Variables are only populated by the server, and will be ignored when sending a request. + :param aml_workspace_id: The ID of a Azure Machine Learning workspace to link with Databricks workspace. - :type aml_workspace_id: ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :type aml_workspace_id: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param custom_virtual_network_id: The ID of a Virtual Network where this Databricks Cluster should be created. - :type custom_virtual_network_id: ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :type custom_virtual_network_id: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param custom_public_subnet_name: The name of a Public Subnet within the Virtual Network. - :type custom_public_subnet_name: ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :type custom_public_subnet_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param custom_private_subnet_name: The name of the Private Subnet within the Virtual Network. - :type custom_private_subnet_name: ~azure.mgmt.databricks.models.WorkspaceCustomStringParameter + :type custom_private_subnet_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param enable_no_public_ip: Should the Public IP be Disabled?. - :type enable_no_public_ip: ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter + :type enable_no_public_ip: + ~azure_databricks_management_client.models.WorkspaceCustomBooleanParameter + :param load_balancer_backend_pool_name: Name of the outbound Load Balancer Backend Pool for + Secure Cluster Connectivity (No Public IP). + :type load_balancer_backend_pool_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param load_balancer_id: Resource URI of Outbound Load balancer for Secure Cluster Connectivity + (No Public IP) workspace. + :type load_balancer_id: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param nat_gateway_name: Name of the NAT gateway for Secure Cluster Connectivity (No Public IP) + workspace subnets. + :type nat_gateway_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param public_ip_name: Name of the Public IP for No Public IP workspace with managed vNet. + :type public_ip_name: ~azure_databricks_management_client.models.WorkspaceCustomStringParameter :param prepare_encryption: Prepare the workspace for encryption. Enables the Managed Identity for managed storage account. - :type prepare_encryption: ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter + :type prepare_encryption: + ~azure_databricks_management_client.models.WorkspaceCustomBooleanParameter :param encryption: Contains the encryption details for Customer-Managed Key (CMK) enabled workspace. - :type encryption: ~azure.mgmt.databricks.models.WorkspaceEncryptionParameter + :type encryption: ~azure_databricks_management_client.models.WorkspaceEncryptionParameter :param require_infrastructure_encryption: A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest. :type require_infrastructure_encryption: - ~azure.mgmt.databricks.models.WorkspaceCustomBooleanParameter + ~azure_databricks_management_client.models.WorkspaceCustomBooleanParameter + :param storage_account_name: Default DBFS storage account name. + :type storage_account_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param storage_account_sku_name: Storage account SKU name, ex: Standard_GRS, Standard_LRS. + Refer https://aka.ms/storageskus for valid inputs. + :type storage_account_sku_name: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :param vnet_address_prefix: Address prefix for Managed virtual network. Default value for this + input is 10.139. + :type vnet_address_prefix: + ~azure_databricks_management_client.models.WorkspaceCustomStringParameter + :ivar resource_tags: Tags applied to resources under Managed resource group. These can be + updated by updating tags at workspace level. + :vartype resource_tags: + ~azure_databricks_management_client.models.WorkspaceCustomObjectParameter """ + _validation = { + 'resource_tags': {'readonly': True}, + } + _attribute_map = { 'aml_workspace_id': {'key': 'amlWorkspaceId', 'type': 'WorkspaceCustomStringParameter'}, 'custom_virtual_network_id': {'key': 'customVirtualNetworkId', 'type': 'WorkspaceCustomStringParameter'}, 'custom_public_subnet_name': {'key': 'customPublicSubnetName', 'type': 'WorkspaceCustomStringParameter'}, 'custom_private_subnet_name': {'key': 'customPrivateSubnetName', 'type': 'WorkspaceCustomStringParameter'}, 'enable_no_public_ip': {'key': 'enableNoPublicIp', 'type': 'WorkspaceCustomBooleanParameter'}, + 'load_balancer_backend_pool_name': {'key': 'loadBalancerBackendPoolName', 'type': 'WorkspaceCustomStringParameter'}, + 'load_balancer_id': {'key': 'loadBalancerId', 'type': 'WorkspaceCustomStringParameter'}, + 'nat_gateway_name': {'key': 'natGatewayName', 'type': 'WorkspaceCustomStringParameter'}, + 'public_ip_name': {'key': 'publicIpName', 'type': 'WorkspaceCustomStringParameter'}, 'prepare_encryption': {'key': 'prepareEncryption', 'type': 'WorkspaceCustomBooleanParameter'}, 'encryption': {'key': 'encryption', 'type': 'WorkspaceEncryptionParameter'}, 'require_infrastructure_encryption': {'key': 'requireInfrastructureEncryption', 'type': 'WorkspaceCustomBooleanParameter'}, + 'storage_account_name': {'key': 'storageAccountName', 'type': 'WorkspaceCustomStringParameter'}, + 'storage_account_sku_name': {'key': 'storageAccountSkuName', 'type': 'WorkspaceCustomStringParameter'}, + 'vnet_address_prefix': {'key': 'vnetAddressPrefix', 'type': 'WorkspaceCustomStringParameter'}, + 'resource_tags': {'key': 'resourceTags', 'type': 'WorkspaceCustomObjectParameter'}, } def __init__( @@ -857,9 +1362,16 @@ def __init__( custom_public_subnet_name: Optional["WorkspaceCustomStringParameter"] = None, custom_private_subnet_name: Optional["WorkspaceCustomStringParameter"] = None, enable_no_public_ip: Optional["WorkspaceCustomBooleanParameter"] = None, + load_balancer_backend_pool_name: Optional["WorkspaceCustomStringParameter"] = None, + load_balancer_id: Optional["WorkspaceCustomStringParameter"] = None, + nat_gateway_name: Optional["WorkspaceCustomStringParameter"] = None, + public_ip_name: Optional["WorkspaceCustomStringParameter"] = None, prepare_encryption: Optional["WorkspaceCustomBooleanParameter"] = None, encryption: Optional["WorkspaceEncryptionParameter"] = None, require_infrastructure_encryption: Optional["WorkspaceCustomBooleanParameter"] = None, + storage_account_name: Optional["WorkspaceCustomStringParameter"] = None, + storage_account_sku_name: Optional["WorkspaceCustomStringParameter"] = None, + vnet_address_prefix: Optional["WorkspaceCustomStringParameter"] = None, **kwargs ): super(WorkspaceCustomParameters, self).__init__(**kwargs) @@ -868,9 +1380,17 @@ def __init__( self.custom_public_subnet_name = custom_public_subnet_name self.custom_private_subnet_name = custom_private_subnet_name self.enable_no_public_ip = enable_no_public_ip + self.load_balancer_backend_pool_name = load_balancer_backend_pool_name + self.load_balancer_id = load_balancer_id + self.nat_gateway_name = nat_gateway_name + self.public_ip_name = public_ip_name self.prepare_encryption = prepare_encryption self.encryption = encryption self.require_infrastructure_encryption = require_infrastructure_encryption + self.storage_account_name = storage_account_name + self.storage_account_sku_name = storage_account_sku_name + self.vnet_address_prefix = vnet_address_prefix + self.resource_tags = None class WorkspaceCustomStringParameter(msrest.serialization.Model): @@ -882,7 +1402,7 @@ class WorkspaceCustomStringParameter(msrest.serialization.Model): :ivar type: The type of variable that this is. Possible values include: "Bool", "Object", "String". - :vartype type: str or ~azure.mgmt.databricks.models.CustomParameterType + :vartype type: str or ~azure_databricks_management_client.models.CustomParameterType :param value: Required. The value which should be used for this field. :type value: str """ @@ -915,9 +1435,9 @@ class WorkspaceEncryptionParameter(msrest.serialization.Model): :ivar type: The type of variable that this is. Possible values include: "Bool", "Object", "String". - :vartype type: str or ~azure.mgmt.databricks.models.CustomParameterType + :vartype type: str or ~azure_databricks_management_client.models.CustomParameterType :param value: The value which should be used for this field. - :type value: ~azure.mgmt.databricks.models.Encryption + :type value: ~azure_databricks_management_client.models.Encryption """ _validation = { @@ -944,7 +1464,7 @@ class WorkspaceListResult(msrest.serialization.Model): """List of workspaces. :param value: The array of workspaces. - :type value: list[~azure.mgmt.databricks.models.Workspace] + :type value: list[~azure_databricks_management_client.models.Workspace] :param next_link: The URL to use for getting the next set of results. :type next_link: str """ @@ -966,6 +1486,33 @@ def __init__( self.next_link = next_link +class WorkspacePropertiesEncryption(msrest.serialization.Model): + """Encryption properties for databricks workspace. + + All required parameters must be populated in order to send to Azure. + + :param entities: Required. Encryption entities definition for the workspace. + :type entities: ~azure_databricks_management_client.models.EncryptionEntitiesDefinition + """ + + _validation = { + 'entities': {'required': True}, + } + + _attribute_map = { + 'entities': {'key': 'entities', 'type': 'EncryptionEntitiesDefinition'}, + } + + def __init__( + self, + *, + entities: "EncryptionEntitiesDefinition", + **kwargs + ): + super(WorkspacePropertiesEncryption, self).__init__(**kwargs) + self.entities = entities + + class WorkspaceProviderAuthorization(msrest.serialization.Model): """The workspace provider authorization. diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/__init__.py b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/__init__.py index 7688e37c638..6fc97620650 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/__init__.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/__init__.py @@ -7,11 +7,15 @@ # -------------------------------------------------------------------------- from ._workspaces_operations import WorkspacesOperations -from ._vnet_peering_operations import VNetPeeringOperations from ._operations import Operations +from ._private_link_resources_operations import PrivateLinkResourcesOperations +from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations +from ._vnet_peering_operations import VNetPeeringOperations __all__ = [ 'WorkspacesOperations', - 'VNetPeeringOperations', 'Operations', + 'PrivateLinkResourcesOperations', + 'PrivateEndpointConnectionsOperations', + 'VNetPeeringOperations', ] diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_operations.py index 19aa0562dc1..311dc36ebf0 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_operations.py @@ -30,7 +30,7 @@ class Operations(object): 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.databricks.models + :type models: ~azure_databricks_management_client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -54,7 +54,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databricks.models.OperationListResult] + :rtype: ~azure.core.paging.ItemPaged[~azure_databricks_management_client.models.OperationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] @@ -62,7 +62,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -98,7 +98,7 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_private_endpoint_connections_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_private_endpoint_connections_operations.py old mode 100755 new mode 100644 similarity index 53% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_private_endpoint_connections_operations.py rename to src/databricks/azext_databricks/vendored_sdks/databricks/operations/_private_endpoint_connections_operations.py index 95e3d4391c3..9d91ad76eb5 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_private_endpoint_connections_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_private_endpoint_connections_operations.py @@ -9,6 +9,7 @@ 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 @@ -19,7 +20,7 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, 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]] @@ -31,7 +32,7 @@ class PrivateEndpointConnectionsOperations(object): 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.containerservice.v2021_09_01.models + :type models: ~azure_databricks_management_client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,87 +50,102 @@ def __init__(self, client, config, serializer, deserializer): def list( self, resource_group_name, # type: str - resource_name, # type: str + workspace_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.PrivateEndpointConnectionListResult" - """Gets a list of private endpoint connections in the specified managed cluster. + # type: (...) -> Iterable["_models.PrivateEndpointConnectionsList"] + """List private endpoint connections. - To learn more about private clusters, see: - https://docs.microsoft.com/azure/aks/private-clusters. + List private endpoint connections of the workspace. - :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 resource_name: The name of the managed cluster resource. - :type resource_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnectionListResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnectionListResult + :return: An iterator like instance of either PrivateEndpointConnectionsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_databricks_management_client.models.PrivateEndpointConnectionsList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionsList"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2021-04-01-preview" accept = "application/json" - # 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', 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 = {} # 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') + 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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + '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('PrivateEndpointConnectionsList', 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) - request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + def get_next(next_link=None): + request = prepare_request(next_link) - 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) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response - deserialized = self._deserialize('PrivateEndpointConnectionListResult', pipeline_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) - if cls: - return cls(pipeline_response, deserialized, {}) + return pipeline_response - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} # type: ignore + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections'} # type: ignore def get( self, resource_group_name, # type: str - resource_name, # type: str + workspace_name, # type: str private_endpoint_connection_name, # type: str **kwargs # type: Any ): # type: (...) -> "_models.PrivateEndpointConnection" - """Gets the specified private endpoint connection. + """Get private endpoint connection. - To learn more about private clusters, see: - https://docs.microsoft.com/azure/aks/private-clusters. + Get a private endpoint connection properties for a workspace. - :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 resource_name: The name of the managed cluster resource. - :type resource_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str :param private_endpoint_connection_name: The name of the private endpoint connection. :type private_endpoint_connection_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnection + :rtype: ~azure_databricks_management_client.models.PrivateEndpointConnection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] @@ -137,15 +153,15 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2021-04-01-preview" 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), '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) @@ -164,7 +180,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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) @@ -172,49 +189,32 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - def update( + def _create_initial( self, resource_group_name, # type: str - resource_name, # type: str + workspace_name, # type: str private_endpoint_connection_name, # type: str - parameters, # type: "_models.PrivateEndpointConnection" + private_endpoint_connection, # type: "_models.PrivateEndpointConnection" **kwargs # type: Any ): # type: (...) -> "_models.PrivateEndpointConnection" - """Updates a private endpoint connection. - - Updates a 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 private_endpoint_connection_name: The name of the private endpoint connection. - :type private_endpoint_connection_name: str - :param parameters: The updated private endpoint connection. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnection - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.PrivateEndpointConnection - :raises: ~azure.core.exceptions.HttpResponseError - """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2021-04-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.update.metadata['url'] # type: ignore + url = self._create_initial.metadata['url'] # type: ignore path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), '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) @@ -229,28 +229,112 @@ def update( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'PrivateEndpointConnection') + body_content = self._serialize.body(private_endpoint_connection, 'PrivateEndpointConnection') 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]: + 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + workspace_name, # type: str + private_endpoint_connection_name, # type: str + private_endpoint_connection, # type: "_models.PrivateEndpointConnection" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.PrivateEndpointConnection"] + """Update private endpoint connection status. + + Update the status of a private endpoint connection with the specified name. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection. + :type private_endpoint_connection_name: str + :param private_endpoint_connection: The private endpoint connection with updated properties. + :type private_endpoint_connection: ~azure_databricks_management_client.models.PrivateEndpointConnection + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 PrivateEndpointConnection or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_databricks_management_client.models.PrivateEndpointConnection] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + 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, + workspace_name=workspace_name, + private_endpoint_connection_name=private_endpoint_connection_name, + private_endpoint_connection=private_endpoint_connection, + 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('PrivateEndpointConnection', 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def _delete_initial( self, resource_group_name, # type: str - resource_name, # type: str + workspace_name, # type: str private_endpoint_connection_name, # type: str **kwargs # type: Any ): @@ -260,15 +344,15 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2021-04-01-preview" 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), '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) @@ -285,31 +369,32 @@ def _delete_initial( pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200, 204]: + 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) + 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.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore def begin_delete( self, resource_group_name, # type: str - resource_name, # type: str + workspace_name, # type: str private_endpoint_connection_name, # type: str **kwargs # type: Any ): # type: (...) -> LROPoller[None] - """Deletes a private endpoint connection. + """Remove private endpoint connection. - Deletes a private endpoint connection. + Remove private endpoint connection with the specified name. - :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 resource_name: The name of the managed cluster resource. - :type resource_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str :param private_endpoint_connection_name: The name of the private endpoint connection. :type private_endpoint_connection_name: str :keyword callable cls: A custom type or function that will be passed the direct response @@ -332,7 +417,7 @@ def begin_delete( if cont_token is None: raw_result = self._delete_initial( resource_group_name=resource_group_name, - resource_name=resource_name, + workspace_name=workspace_name, private_endpoint_connection_name=private_endpoint_connection_name, cls=lambda x,y,z: x, **kwargs @@ -346,9 +431,9 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, None, {}) path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), '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'), } @@ -364,4 +449,4 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_deleted_accounts_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_private_link_resources_operations.py similarity index 64% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_deleted_accounts_operations.py rename to src/databricks/azext_databricks/vendored_sdks/databricks/operations/_private_link_resources_operations.py index 8f6ea04475a..15d24280083 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_deleted_accounts_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_private_link_resources_operations.py @@ -23,14 +23,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class DeletedAccountsOperations(object): - """DeletedAccountsOperations operations. +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: ~azure.mgmt.storage.v2020_08_01_preview.models + :type models: ~azure_databricks_management_client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -47,22 +47,30 @@ def __init__(self, client, config, serializer, deserializer): def list( self, + resource_group_name, # type: str + workspace_name, # type: str **kwargs # type: Any ): - # type: (...) -> Iterable["_models.DeletedAccountListResult"] - """Lists deleted accounts under the subscription. + # type: (...) -> Iterable["_models.PrivateLinkResourcesList"] + """List private link resources. + List private link resources for a given workspace. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DeletedAccountListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.DeletedAccountListResult] + :return: An iterator like instance of either PrivateLinkResourcesList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_databricks_management_client.models.PrivateLinkResourcesList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.DeletedAccountListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourcesList"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-04-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -74,7 +82,9 @@ def prepare_request(next_link=None): # 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), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters @@ -89,7 +99,7 @@ def prepare_request(next_link=None): return request def extract_data(pipeline_response): - deserialized = self._deserialize('DeletedAccountListResult', pipeline_response) + deserialized = self._deserialize('PrivateLinkResourcesList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -102,7 +112,7 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) @@ -111,40 +121,46 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/deletedAccounts'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources'} # type: ignore def get( self, - deleted_account_name, # type: str - location, # type: str + resource_group_name, # type: str + workspace_name, # type: str + group_id, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.DeletedAccount" - """Get properties of specified deleted account resource. + # type: (...) -> "_models.GroupIdInformation" + """Get the specified private link resource. + + Get the specified private link resource for the given group id (sub-resource). - :param deleted_account_name: Name of the deleted storage account. - :type deleted_account_name: str - :param location: The location of the deleted storage account. - :type location: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param workspace_name: The name of the workspace. + :type workspace_name: str + :param group_id: The name of the private link resource. + :type group_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DeletedAccount, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.DeletedAccount + :return: GroupIdInformation, or the result of cls(response) + :rtype: ~azure_databricks_management_client.models.GroupIdInformation :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.DeletedAccount"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GroupIdInformation"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-04-01-preview" accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore path_format_arguments = { - 'deletedAccountName': self._serialize.url("deleted_account_name", deleted_account_name, 'str', max_length=24, min_length=3), - 'location': self._serialize.url("location", location, '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\._\(\)]+$'), + 'workspaceName': self._serialize.url("workspace_name", workspace_name, 'str', max_length=64, min_length=3), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupId': self._serialize.url("group_id", group_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -162,13 +178,13 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('DeletedAccount', pipeline_response) + deserialized = self._deserialize('GroupIdInformation', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources/{groupId}'} # type: ignore diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_vnet_peering_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_vnet_peering_operations.py index 4076112130c..ec4fb642db5 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_vnet_peering_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_vnet_peering_operations.py @@ -32,7 +32,7 @@ class VNetPeeringOperations(object): 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.databricks.models + :type models: ~azure_databricks_management_client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -65,7 +65,7 @@ def get( :type peering_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: VirtualNetworkPeering, or the result of cls(response) - :rtype: ~azure.mgmt.databricks.models.VirtualNetworkPeering or None + :rtype: ~azure_databricks_management_client.models.VirtualNetworkPeering or None :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.VirtualNetworkPeering"]] @@ -100,7 +100,7 @@ def get( 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None @@ -153,7 +153,7 @@ def _delete_initial( 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -179,8 +179,8 @@ def begin_delete( :type peering_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 + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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) @@ -277,7 +277,7 @@ def _create_or_update_initial( 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -311,15 +311,15 @@ def begin_create_or_update( :type peering_name: str :param virtual_network_peering_parameters: Parameters supplied to the create workspace vNet Peering. - :type virtual_network_peering_parameters: ~azure.mgmt.databricks.models.VirtualNetworkPeering + :type virtual_network_peering_parameters: ~azure_databricks_management_client.models.VirtualNetworkPeering :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 + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 VirtualNetworkPeering or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.databricks.models.VirtualNetworkPeering] + :rtype: ~azure.core.polling.LROPoller[~azure_databricks_management_client.models.VirtualNetworkPeering] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] @@ -385,7 +385,7 @@ def list_by_workspace( :type workspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either VirtualNetworkPeeringList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databricks.models.VirtualNetworkPeeringList] + :rtype: ~azure.core.paging.ItemPaged[~azure_databricks_management_client.models.VirtualNetworkPeeringList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetworkPeeringList"] @@ -426,21 +426,16 @@ def extract_data(pipeline_response): list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - # service error,temporary modification,issue:https://github.com/Azure/azure-rest-api-specs/issues/15301 - if list_of_elem is None: - return deserialized.next_link or None, [] - else: - return deserialized.next_link or None, iter(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 - print(response) if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_workspaces_operations.py b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_workspaces_operations.py index bcfd38c1fff..dbfe20ee9e9 100644 --- a/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_workspaces_operations.py +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/operations/_workspaces_operations.py @@ -32,7 +32,7 @@ class WorkspacesOperations(object): 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.databricks.models + :type models: ~azure_databricks_management_client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -62,7 +62,7 @@ def get( :type workspace_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Workspace, or the result of cls(response) - :rtype: ~azure.mgmt.databricks.models.Workspace + :rtype: ~azure_databricks_management_client.models.Workspace :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Workspace"] @@ -70,7 +70,7 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" # Construct URL @@ -96,7 +96,7 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Workspace', pipeline_response) @@ -119,7 +119,7 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" # Construct URL @@ -145,7 +145,7 @@ def _delete_initial( 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -168,8 +168,8 @@ def begin_delete( :type workspace_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 + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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) @@ -231,7 +231,7 @@ def _create_or_update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -262,7 +262,7 @@ def _create_or_update_initial( 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -292,15 +292,15 @@ def begin_create_or_update( :param workspace_name: The name of the workspace. :type workspace_name: str :param parameters: Parameters supplied to the create or update a workspace. - :type parameters: ~azure.mgmt.databricks.models.Workspace + :type parameters: ~azure_databricks_management_client.models.Workspace :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 + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 Workspace or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.databricks.models.Workspace] + :rtype: ~azure.core.polling.LROPoller[~azure_databricks_management_client.models.Workspace] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] @@ -362,7 +362,7 @@ def _update_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -393,7 +393,7 @@ def _update_initial( 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None @@ -421,15 +421,15 @@ def begin_update( :param workspace_name: The name of the workspace. :type workspace_name: str :param parameters: The update to the workspace. - :type parameters: ~azure.mgmt.databricks.models.WorkspaceUpdate + :type parameters: ~azure_databricks_management_client.models.WorkspaceUpdate :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 + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 Workspace or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.databricks.models.Workspace] + :rtype: ~azure.core.polling.LROPoller[~azure_databricks_management_client.models.Workspace] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] @@ -490,7 +490,7 @@ def list_by_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 WorkspaceListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databricks.models.WorkspaceListResult] + :rtype: ~azure.core.paging.ItemPaged[~azure_databricks_management_client.models.WorkspaceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"] @@ -498,7 +498,7 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -539,7 +539,7 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) @@ -559,7 +559,7 @@ def list_by_subscription( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either WorkspaceListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databricks.models.WorkspaceListResult] + :rtype: ~azure.core.paging.ItemPaged[~azure_databricks_management_client.models.WorkspaceListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.WorkspaceListResult"] @@ -567,7 +567,7 @@ def list_by_subscription( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2018-04-01" + api_version = "2021-04-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -607,7 +607,7 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) diff --git a/src/databricks/azext_databricks/vendored_sdks/databricks/py.typed b/src/databricks/azext_databricks/vendored_sdks/databricks/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/databricks/azext_databricks/vendored_sdks/databricks/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/databricks/setup.py b/src/databricks/setup.py index 9f9f96ec7c1..a6d524c456c 100644 --- a/src/databricks/setup.py +++ b/src/databricks/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.7.3' +VERSION = '0.8.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/databricks', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/databricks', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, 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 a305510bfc2..cd578e0ee8e 100644 --- a/src/datadog/azext_datadog/tests/latest/test_datadog_scenario.py +++ b/src/datadog/azext_datadog/tests/latest/test_datadog_scenario.py @@ -12,7 +12,7 @@ from unittest import mock from azure.cli.testsdk import ScenarioTest from azure.cli.testsdk import ResourceGroupPreparer -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from .. import try_manual, raise_if, calc_coverage diff --git a/src/datadog/setup.py b/src/datadog/setup.py index f97db8e8399..098ecf0a3f1 100644 --- a/src/datadog/setup.py +++ b/src/datadog/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools MicrosoftDatadogClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/datadog', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/datadog', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/datafactory/setup.py b/src/datafactory/setup.py index a26a3db9b84..bb56e22a214 100644 --- a/src/datafactory/setup.py +++ b/src/datafactory/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools DataFactoryManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/datafactory', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/datafactory', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/datamigration/HISTORY.rst b/src/datamigration/HISTORY.rst new file mode 100644 index 00000000000..fc54d120109 --- /dev/null +++ b/src/datamigration/HISTORY.rst @@ -0,0 +1,14 @@ +.. :changelog: + +Release History +=============== + +0.2.0 +++++++ +* Bug fix for Multiple connection strings in az datamigration get-assessment command. +* [NEW COMMAND] az datamigration performance-data-collection - Collect performance data for given SQL Server instance(s). +* [NEW COMMAND] az datamigration get-sku-recommendation - Give SKU recommendations for Azure SQL offerings. + +0.1.0 +++++++ +* Initial release. diff --git a/src/datamigration/README.md b/src/datamigration/README.md new file mode 100644 index 00000000000..13e2e50cc74 --- /dev/null +++ b/src/datamigration/README.md @@ -0,0 +1,152 @@ +# Azure CLI datamigration Extension # +This is the extension for datamigration + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name datamigration +``` + +### Included Features ### + +##### Get-assessment ##### +``` +az datamigration get-assessment --connection-string "Data Source=LabServer.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\AssessmentOutput" --overwrite +``` + +##### Register-integration-runtime ##### +``` +az datamigration register-integration-runtime --auth-key "IR@00000-0000000-000000-aaaaa-bbbb-cccc" +``` + +##### Performance-data-collection ##### +``` +az datamigration performance-data-collection --connection-string "Data Source=LabServer.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\\PerfCollectionOutput" --number-of-interation 5 --perf-query-interval 10 --static-query-interval 60 +``` + +##### Get-sku-recommendation ##### +``` +az datamigration get-sku-recommendation --output-folder "C:\\PerfCollectionOutput" --database-allow-list AdventureWorks, AdventureWorks2 --display-result --overwrite +``` + +#### datamigration sql-managed-instance #### +##### Create (Backup source Fileshare) ##### +``` +az datamigration sql-managed-instance create --managed-instance-name "managedInstance1" \ + --source-location '{\"fileShare\":{\"path\":\"\\\\SharedBackup\\user\",\"password\":\"placeholder\",\"username\":\"Server\\name\"}}' \ + --target-location account-key="abcd" storage-account-resource-id="account.database.windows.net" \ + --migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ + --offline-configuration last-backup-name="last_backup_file_name" offline=true \ + --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/instance" \ + --source-database-name "aaa" \ + --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ + --resource-group "testrg" --target-db-name "db1" +``` +##### Create (Backup source Azure Blob) ##### +``` +az datamigration sql-managed-instance create --managed-instance-name "managedInstance1" \ + --source-location '{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/1111-2222-3333-4444/resourceGroups/RG/prooviders/Microsoft.Storage/storageAccounts/MyStorage\",\"accountKey\":\"======AccountKey====\",\"blobContainerName\":\"ContainerName-X\"}}' \ + --migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ + --offline-configuration last-backup-name="last_backup_file_name" offline=true \ + --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/instance" \ + --source-database-name "aaa" \ + --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ + --resource-group "testrg" --target-db-name "db1" +``` +##### Show ##### +``` +az datamigration sql-managed-instance show --managed-instance-name "managedInstance1" --resource-group "testrg" \ + --target-db-name "db1" +``` +##### Cancel ##### +``` +az datamigration sql-managed-instance cancel --managed-instance-name "managedInstance1" \ + --migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" --resource-group "testrg" --target-db-name "db1" +``` +##### Cutover ##### +``` +az datamigration sql-managed-instance cutover --managed-instance-name "managedInstance1" \ + --migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" --resource-group "testrg" --target-db-name "db1" +``` +#### datamigration sql-vm #### +##### Create (Backup source Fileshare) ##### +``` +az datamigration sql-vm create \ + --source-location '{\"fileShare\":{\"path\":\"\\\\SharedBackup\\user\",\"password\":\"placeholder\",\"username\":\"Server\\name\"}}' \ + --migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ + --offline-configuration last-backup-name="last_backup_file_name" offline=true \ + --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm" \ + --source-database-name "aaa" \ + --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ + --resource-group "testrg" --sql-virtual-machine-name "testvm" --target-db-name "db1" +``` +##### Create (Backup source Azure Blob) ##### +``` +az datamigration sql-vm create \ + --source-location '{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/1111-2222-3333-4444/resourceGroups/RG/prooviders/Microsoft.Storage/storageAccounts/MyStorage\",\"accountKey\":\"======AccountKey====\",\"blobContainerName\":\"ContainerName-X\"}}' \ + --target-location account-key="abcd" storage-account-resource-id="account.database.windows.net" \ + --migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ + --offline-configuration last-backup-name="last_backup_file_name" offline=true \ + --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm" \ + --source-database-name "aaa" \ + --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ + --resource-group "testrg" --sql-virtual-machine-name "testvm" --target-db-name "db1" +``` +##### Show ##### +``` +az datamigration sql-vm show --resource-group "testrg" --sql-virtual-machine-name "testvm" --target-db-name "db1" +``` +##### Cancel ##### +``` +az datamigration sql-vm cancel --migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" \ + --resource-group "testrg" --sql-virtual-machine-name "testvm" --target-db-name "db1" +``` +##### Cutover ##### +``` +az datamigration sql-vm cutover --migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" \ + --resource-group "testrg" --sql-virtual-machine-name "testvm" --target-db-name "db1" +``` +#### datamigration sql-service #### +##### Create ##### +``` +az datamigration sql-service create --location "northeurope" --resource-group "testrg" --name "testagent" + +az datamigration sql-service wait --created --resource-group "{rg}" --name "{mySqlMigrationService}" +``` +##### List ##### +``` +az datamigration sql-service list --resource-group "testrg" +``` +##### Show ##### +``` +az datamigration sql-service show --resource-group "testrg" --name "service1" +``` +##### Update ##### +``` +az datamigration sql-service update --tags mytag="myval" --resource-group "testrg" --name "testagent" +``` +##### Delete-node ##### +``` +az datamigration sql-service delete-node --integration-runtime-name "IRName" --node-name "nodeName" \ + --resource-group "testrg" --name "service1" +``` +##### List-auth-key ##### +``` +az datamigration sql-service list-auth-key --resource-group "testrg" --name "service1" +``` +##### List-integration-runtime-metric ##### +``` +az datamigration sql-service list-integration-runtime-metric --resource-group "testrg" --name "service1" +``` +##### List-migration ##### +``` +az datamigration sql-service list-migration --resource-group "testrg" --name "service1" +``` +##### Regenerate-auth-key ##### +``` +az datamigration sql-service regenerate-auth-key --key-name "authKey1" --resource-group "testrg" --name "service1" +``` +##### Delete ##### +``` +az datamigration sql-service delete --resource-group "testrg" --name "service1" +``` \ No newline at end of file diff --git a/src/datamigration/azext_datamigration/__init__.py b/src/datamigration/azext_datamigration/__init__.py new file mode 100644 index 00000000000..1ca255c4cba --- /dev/null +++ b/src/datamigration/azext_datamigration/__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_datamigration._help +from azure.cli.core import AzCommandsLoader + + +class DataMigrationManagementClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_datamigration.generated._client_factory import cf_datamigration_cl + datamigration_custom = CliCommandType( + operations_tmpl='azext_datamigration.custom#{}', + client_factory=cf_datamigration_cl) + parent = super(DataMigrationManagementClientCommandsLoader, self) + parent.__init__(cli_ctx=cli_ctx, custom_command_type=datamigration_custom) + + def load_command_table(self, args): + from azext_datamigration.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_datamigration.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_datamigration.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_datamigration.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 = DataMigrationManagementClientCommandsLoader diff --git a/src/datamigration/azext_datamigration/_help.py b/src/datamigration/azext_datamigration/_help.py new file mode 100644 index 00000000000..9b93f87a6e9 --- /dev/null +++ b/src/datamigration/azext_datamigration/_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/datamigration/azext_datamigration/action.py b/src/datamigration/azext_datamigration/action.py new file mode 100644 index 00000000000..9b3d0a8a78c --- /dev/null +++ b/src/datamigration/azext_datamigration/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/datamigration/azext_datamigration/azext_metadata.json b/src/datamigration/azext_datamigration/azext_metadata.json new file mode 100644 index 00000000000..cfc30c747c7 --- /dev/null +++ b/src/datamigration/azext_datamigration/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/datamigration/azext_datamigration/custom.py b/src/datamigration/azext_datamigration/custom.py new file mode 100644 index 00000000000..885447229d6 --- /dev/null +++ b/src/datamigration/azext_datamigration/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/datamigration/azext_datamigration/generated/__init__.py b/src/datamigration/azext_datamigration/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/datamigration/azext_datamigration/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/datamigration/azext_datamigration/generated/_client_factory.py b/src/datamigration/azext_datamigration/generated/_client_factory.py new file mode 100644 index 00000000000..0d4518aa8a6 --- /dev/null +++ b/src/datamigration/azext_datamigration/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_datamigration_cl(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_datamigration.vendored_sdks.datamigration import DataMigrationManagementClient + return get_mgmt_service_client(cli_ctx, + DataMigrationManagementClient) + + +def cf_database_migration_sqlmi(cli_ctx, *_): + return cf_datamigration_cl(cli_ctx).database_migrations_sql_mi + + +def cf_database_migration_sqlvm(cli_ctx, *_): + return cf_datamigration_cl(cli_ctx).database_migrations_sql_vm + + +def cf_sqlmigration_service(cli_ctx, *_): + return cf_datamigration_cl(cli_ctx).sql_migration_services diff --git a/src/datamigration/azext_datamigration/generated/_help.py b/src/datamigration/azext_datamigration/generated/_help.py new file mode 100644 index 00000000000..07a8b5e3c83 --- /dev/null +++ b/src/datamigration/azext_datamigration/generated/_help.py @@ -0,0 +1,346 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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['datamigration'] = ''' + type: group + short-summary: Manage Data Migration +''' + +helps['datamigration sql-managed-instance'] = """ + type: group + short-summary: Manage database migrations to SQL Managed Instance. +""" + +helps['datamigration sql-managed-instance show'] = """ + type: command + short-summary: "Retrieve the specified database migration for a given SQL Managed Instance." + examples: + - name: Get Database Migration resource. + text: |- + az datamigration sql-managed-instance show --managed-instance-name "managedInstance1" --resource-group \ +"testrg" --target-db-name "db1" +""" + +helps['datamigration sql-managed-instance create'] = """ + type: command + short-summary: "Create a new database migration to a given SQL Managed Instance." + parameters: + - name: --source-sql-connection + short-summary: "Source SQL Server connection details." + long-summary: | + Usage: --source-sql-connection data-source=XX authentication=XX user-name=XX password=XX \ +encrypt-connection=XX trust-server-certificate=XX + + data-source: Data source. + authentication: Authentication type. + user-name: User name to connect to source SQL. + password: Password to connect to source SQL. + encrypt-connection: Whether to encrypt connection or not. + trust-server-certificate: Whether to trust server certificate or not. + - name: --offline-configuration + short-summary: "Offline configuration." + long-summary: | + Usage: --offline-configuration offline=XX last-backup-name=XX + + offline: Offline migration + last-backup-name: Last backup name for offline migration. This is optional for migrations from file share. \ +If it is not provided, then the service will determine the last backup file name based on latest backup files present \ +in file share. + - name: --target-location + short-summary: "Target location for copying backups." + long-summary: | + Usage: --target-location storage-account-resource-id=XX account-key=XX + + storage-account-resource-id: Resource Id of the storage account copying backups. + account-key: Storage Account Key. + examples: + - name: Create or Update Database Migration resource with Maximum parameters. + text: |- + az datamigration sql-managed-instance create --managed-instance-name "managedInstance1" \ +--source-location "{\\"fileShare\\":{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\bbb\\\\\\\\ccc\\",\\"password\\":\\"placeholder\ +\\",\\"username\\":\\"name\\"}}" --target-location account-key="abcd" storage-account-resource-id="account.database.win\ +dows.net" --migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Micr\ +osoft.DataMigration/sqlMigrationServices/testagent" --offline-configuration last-backup-name="last_backup_file_name" \ +offline=true --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql\ +/managedInstances/instance" --source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication"\ + data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ +--resource-group "testrg" --target-db-name "db1" + - name: Create or Update Database Migration resource with Minimum parameters. + text: |- + az datamigration sql-managed-instance create --managed-instance-name "managedInstance1" \ +--source-location "{\\"fileShare\\":{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\bbb\\\\\\\\ccc\\",\\"password\\":\\"placeholder\ +\\",\\"username\\":\\"name\\"}}" --target-location account-key="abcd" storage-account-resource-id="account.database.win\ +dows.net" --migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Micr\ +osoft.DataMigration/sqlMigrationServices/testagent" --offline-configuration last-backup-name="last_backup_file_name" \ +offline=true --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql\ +/managedInstances/instance" --source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication"\ + data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ +--resource-group "testrg" --target-db-name "db1" +""" + +helps['datamigration sql-managed-instance cancel'] = """ + type: command + short-summary: "Stop in-progress database migration to SQL Managed Instance." + examples: + - name: Stop ongoing migration for the database. + text: |- + az datamigration sql-managed-instance cancel --managed-instance-name "managedInstance1" \ +--migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" --resource-group "testrg" --target-db-name "db1" +""" + +helps['datamigration sql-managed-instance cutover'] = """ + type: command + short-summary: "Initiate cutover for in-progress online database migration to SQL Managed Instance." + examples: + - name: Cutover online migration operation for the database. + text: |- + az datamigration sql-managed-instance cutover --managed-instance-name "managedInstance1" \ +--migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" --resource-group "testrg" --target-db-name "db1" +""" + +helps['datamigration sql-managed-instance wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datamigration sql-managed-instance is \ +met. + examples: + - name: Pause executing next line of CLI script until the datamigration sql-managed-instance is successfully \ +created. + text: |- + az datamigration sql-managed-instance wait --managed-instance-name "managedInstance1" --resource-group \ +"testrg" --target-db-name "db1" --created +""" + +helps['datamigration sql-vm'] = """ + type: group + short-summary: Manage database migrations to SQL VM. +""" + +helps['datamigration sql-vm show'] = """ + type: command + short-summary: "Retrieve the specified database migration for a given SQL VM." + examples: + - name: Get Database Migration resource. + text: |- + az datamigration sql-vm show --resource-group "testrg" --sql-vm-name "testvm" --target-db-name "db1" +""" + +helps['datamigration sql-vm create'] = """ + type: command + short-summary: "Create a new database migration to a given SQL VM." + parameters: + - name: --source-sql-connection + short-summary: "Source SQL Server connection details." + long-summary: | + Usage: --source-sql-connection data-source=XX authentication=XX user-name=XX password=XX \ +encrypt-connection=XX trust-server-certificate=XX + + data-source: Data source. + authentication: Authentication type. + user-name: User name to connect to source SQL. + password: Password to connect to source SQL. + encrypt-connection: Whether to encrypt connection or not. + trust-server-certificate: Whether to trust server certificate or not. + - name: --offline-configuration + short-summary: "Offline configuration." + long-summary: | + Usage: --offline-configuration offline=XX last-backup-name=XX + + offline: Offline migration + last-backup-name: Last backup name for offline migration. This is optional for migrations from file share. \ +If it is not provided, then the service will determine the last backup file name based on latest backup files present \ +in file share. + - name: --target-location + short-summary: "Target location for copying backups." + long-summary: | + Usage: --target-location storage-account-resource-id=XX account-key=XX + + storage-account-resource-id: Resource Id of the storage account copying backups. + account-key: Storage Account Key. + examples: + - name: Create or Update Database Migration resource with Maximum parameters. + text: |- + az datamigration sql-vm create --source-location "{\\"fileShare\\":{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\b\ +bb\\\\\\\\ccc\\",\\"password\\":\\"placeholder\\",\\"username\\":\\"name\\"}}" --target-location account-key="abcd" \ +storage-account-resource-id="account.database.windows.net" --migration-service "/subscriptions/00000000-1111-2222-3333-\ +444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ +--offline-configuration last-backup-name="last_backup_file_name" offline=true --scope "/subscriptions/00000000-1111-222\ +2-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm" \ +--source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" \ +encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" --resource-group "testrg" \ +--sql-vm-name "testvm" --target-db-name "db1" + - name: Create or Update Database Migration resource with Minimum parameters. + text: |- + az datamigration sql-vm create --source-location "{\\"fileShare\\":{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\b\ +bb\\\\\\\\ccc\\",\\"password\\":\\"placeholder\\",\\"username\\":\\"name\\"}}" --target-location account-key="abcd" \ +storage-account-resource-id="account.database.windows.net" --migration-service "/subscriptions/00000000-1111-2222-3333-\ +444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ +--offline-configuration last-backup-name="last_backup_file_name" offline=true --scope "/subscriptions/00000000-1111-222\ +2-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm" \ +--source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" \ +encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" --resource-group "testrg" \ +--sql-vm-name "testvm" --target-db-name "db1" +""" + +helps['datamigration sql-vm cancel'] = """ + type: command + short-summary: "Stop in-progress database migration to SQL VM." + examples: + - name: Stop ongoing migration for the database. + text: |- + az datamigration sql-vm cancel --migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" \ +--resource-group "testrg" --sql-vm-name "testvm" --target-db-name "db1" +""" + +helps['datamigration sql-vm cutover'] = """ + type: command + short-summary: "Initiate cutover for in-progress online database migration to SQL VM." + examples: + - name: Cutover online migration operation for the database. + text: |- + az datamigration sql-vm cutover --migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" \ +--resource-group "testrg" --sql-vm-name "testvm" --target-db-name "db1" +""" + +helps['datamigration sql-vm wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datamigration sql-vm is met. + examples: + - name: Pause executing next line of CLI script until the datamigration sql-vm is successfully created. + text: |- + az datamigration sql-vm wait --resource-group "testrg" --sql-vm-name "testvm" --target-db-name "db1" \ +--created +""" + +helps['datamigration sql-service'] = """ + type: group + short-summary: Manage Database Migration Service. +""" + +helps['datamigration sql-service list'] = """ + type: command + short-summary: "Retrieve all Database Migration Services in the resource group. And Retrieve all Database \ +Migration Services in the subscription." + examples: + - name: Get Migration Services in the Resource Group. + text: |- + az datamigration sql-service list --resource-group "testrg" + - name: Get Services in the Subscriptions. + text: |- + az datamigration sql-service list +""" + +helps['datamigration sql-service show'] = """ + type: command + short-summary: "Retrieve the Database Migration Service." + examples: + - name: Get Migration Service. + text: |- + az datamigration sql-service show --resource-group "testrg" --name "service1" +""" + +helps['datamigration sql-service create'] = """ + type: command + short-summary: "Create Database Migration Service." + examples: + - name: Create or Update SQL Migration Service with maximum parameters. + text: |- + az datamigration sql-service create --location "northeurope" --resource-group "testrg" --name \ +"testagent" + - name: Create or Update SQL Migration Service with minimum parameters. + text: |- + az datamigration sql-service create --location "northeurope" --resource-group "testrg" --name \ +"testagent" +""" + +helps['datamigration sql-service update'] = """ + type: command + short-summary: "Update Database Migration Service." + examples: + - name: Update SQL Migration Service. + text: |- + az datamigration sql-service update --tags mytag="myval" --resource-group "testrg" --name "testagent" +""" + +helps['datamigration sql-service delete'] = """ + type: command + short-summary: "Delete Database Migration Service." + examples: + - name: Delete SQL Migration Service. + text: |- + az datamigration sql-service delete --resource-group "testrg" --name "service1" +""" + +helps['datamigration sql-service delete-node'] = """ + type: command + short-summary: "Delete the integration runtime node." + examples: + - name: Delete the integration runtime node. + text: |- + az datamigration sql-service delete-node --ir-name "IRName" --node-name "nodeName" --resource-group \ +"testrg" --name "service1" +""" + +helps['datamigration sql-service list-auth-key'] = """ + type: command + short-summary: "Retrieve the List of Authentication Keys for Self Hosted Integration Runtime." + examples: + - name: Retrieve the List of Authentication Keys. + text: |- + az datamigration sql-service list-auth-key --resource-group "testrg" --name "service1" +""" + +helps['datamigration sql-service list-integration-runtime-metric'] = """ + type: command + short-summary: "Retrieve the registered Integration Runtine nodes and their monitoring data for a given Database \ +Migration Service." + examples: + - name: Retrieve the Monitoring Data. + text: |- + az datamigration sql-service list-integration-runtime-metric --resource-group "testrg" --name \ +"service1" +""" + +helps['datamigration sql-service list-migration'] = """ + type: command + short-summary: "Retrieve the List of database migrations attached to the service." + examples: + - name: List database migrations attached to the service. + text: |- + az datamigration sql-service list-migration --resource-group "testrg" --name "service1" +""" + +helps['datamigration sql-service regenerate-auth-key'] = """ + type: command + short-summary: "Regenerate a new set of Authentication Keys for Self Hosted Integration Runtime." + examples: + - name: Regenerate the of Authentication Keys. + text: |- + az datamigration sql-service regenerate-auth-key --key-name "authKey1" --resource-group "testrg" --name \ +"service1" +""" + +helps['datamigration sql-service wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datamigration sql-service is met. + examples: + - name: Pause executing next line of CLI script until the datamigration sql-service is successfully created. + text: |- + az datamigration sql-service wait --resource-group "testrg" --name "service1" --created + - name: Pause executing next line of CLI script until the datamigration sql-service is successfully updated. + text: |- + az datamigration sql-service wait --resource-group "testrg" --name "service1" --updated + - name: Pause executing next line of CLI script until the datamigration sql-service is successfully deleted. + text: |- + az datamigration sql-service wait --resource-group "testrg" --name "service1" --deleted +""" diff --git a/src/datamigration/azext_datamigration/generated/_params.py b/src/datamigration/azext_datamigration/generated/_params.py new file mode 100644 index 00000000000..3dff1c4e27b --- /dev/null +++ b/src/datamigration/azext_datamigration/generated/_params.py @@ -0,0 +1,188 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import ( + get_default_location_from_resource_group, + validate_file_or_dict +) +from azext_datamigration.action import ( + AddSourceSqlConnection, + AddOfflineConfiguration, + AddTargetLocation +) + + +def load_arguments(self, _): + + with self.argument_context('datamigration sql-managed-instance show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('managed_instance_name', type=str, help='Name of the target SQL Managed Instance.', id_part='name') + c.argument('target_db_name', type=str, help='The name of the target database.', id_part='child_name_1') + c.argument('migration_operation_id', help='Optional migration operation ID. If this is provided, then details ' + 'of migration operation for that ID are retrieved. If not provided (default), then details related ' + 'to most recent or current operation are retrieved.') + c.argument('expand', type=str, help='The child resources to include in the response.') + + with self.argument_context('datamigration sql-managed-instance create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('managed_instance_name', type=str, help='Name of the target SQL Managed Instance.') + c.argument('target_db_name', type=str, help='The name of the target database.') + c.argument('scope', type=str, help='Resource Id of the target resource (SQL VM or SQL Managed Instance)') + c.argument('source_sql_connection', action=AddSourceSqlConnection, nargs='+', help='Source SQL Server ' + 'connection details.') + c.argument('source_database_name', type=str, help='Name of the source database.') + c.argument('migration_service', type=str, help='Resource Id of the Migration Service.') + c.argument('migration_operation_id', type=str, help='ID tracking current migration operation.') + c.argument('target_db_collation', type=str, help='Database collation to be used for the target database.') + c.argument('provisioning_error', type=str, help='Error message for migration provisioning failure, if any.') + c.argument('offline_configuration', action=AddOfflineConfiguration, nargs='+', help='Offline configuration.') + c.argument('source_location', type=validate_file_or_dict, help='Source location of backups. Expected value: ' + 'json-string/json-file/@json-file.', arg_group='Backup Configuration') + c.argument('target_location', action=AddTargetLocation, nargs='+', help='Target location for copying backups.', + arg_group='Backup Configuration') + + with self.argument_context('datamigration sql-managed-instance cancel') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('managed_instance_name', type=str, help='Name of the target SQL Managed Instance.', id_part='name') + c.argument('target_db_name', type=str, help='The name of the target database.', id_part='child_name_1') + c.argument('migration_operation_id', help='ID tracking migration operation.') + + with self.argument_context('datamigration sql-managed-instance cutover') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('managed_instance_name', type=str, help='Name of the target SQL Managed Instance.', id_part='name') + c.argument('target_db_name', type=str, help='The name of the target database.', id_part='child_name_1') + c.argument('migration_operation_id', help='ID tracking migration operation.') + + with self.argument_context('datamigration sql-managed-instance wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('managed_instance_name', type=str, help='Name of the target SQL Managed Instance.', id_part='name') + c.argument('target_db_name', type=str, help='The name of the target database.', id_part='child_name_1') + c.argument('migration_operation_id', help='Optional migration operation ID. If this is provided, then details ' + 'of migration operation for that ID are retrieved. If not provided (default), then details related ' + 'to most recent or current operation are retrieved.') + c.argument('expand', type=str, help='The child resources to include in the response.') + + with self.argument_context('datamigration sql-vm show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_vm_name', type=str, help='Name of the target SQL Virtual Machine.', id_part='name') + c.argument('target_db_name', type=str, help='The name of the target database.', id_part='child_name_1') + c.argument('migration_operation_id', help='Optional migration operation ID. If this is provided, then details ' + 'of migration operation for that ID are retrieved. If not provided (default), then details related ' + 'to most recent or current operation are retrieved.') + c.argument('expand', type=str, help='The child resources to include in the response.') + + with self.argument_context('datamigration sql-vm create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_vm_name', type=str, help='Name of the target SQL Virtual Machine.') + c.argument('target_db_name', type=str, help='The name of the target database.') + c.argument('scope', type=str, help='Resource Id of the target resource (SQL VM or SQL Managed Instance)') + c.argument('source_sql_connection', action=AddSourceSqlConnection, nargs='+', help='Source SQL Server ' + 'connection details.') + c.argument('source_database_name', type=str, help='Name of the source database.') + c.argument('migration_service', type=str, help='Resource Id of the Migration Service.') + c.argument('migration_operation_id', type=str, help='ID tracking current migration operation.') + c.argument('target_db_collation', type=str, help='Database collation to be used for the target database.') + c.argument('provisioning_error', type=str, help='Error message for migration provisioning failure, if any.') + c.argument('offline_configuration', action=AddOfflineConfiguration, nargs='+', help='Offline configuration.') + c.argument('source_location', type=validate_file_or_dict, help='Source location of backups. Expected value: ' + 'json-string/json-file/@json-file.', arg_group='Backup Configuration') + c.argument('target_location', action=AddTargetLocation, nargs='+', help='Target location for copying backups.', + arg_group='Backup Configuration') + + with self.argument_context('datamigration sql-vm cancel') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_vm_name', type=str, help='Name of the target SQL Virtual Machine.', id_part='name') + c.argument('target_db_name', type=str, help='The name of the target database.', id_part='child_name_1') + c.argument('migration_operation_id', help='ID tracking migration operation.') + + with self.argument_context('datamigration sql-vm cutover') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_vm_name', type=str, help='Name of the target SQL Virtual Machine.', id_part='name') + c.argument('target_db_name', type=str, help='The name of the target database.', id_part='child_name_1') + c.argument('migration_operation_id', help='ID tracking migration operation.') + + with self.argument_context('datamigration sql-vm wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_vm_name', type=str, help='Name of the target SQL Virtual Machine.', id_part='name') + c.argument('target_db_name', type=str, help='The name of the target database.', id_part='child_name_1') + c.argument('migration_operation_id', help='Optional migration operation ID. If this is provided, then details ' + 'of migration operation for that ID are retrieved. If not provided (default), then details related ' + 'to most recent or current operation are retrieved.') + c.argument('expand', type=str, help='The child resources to include in the response.') + + with self.argument_context('datamigration sql-service list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('datamigration sql-service show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.', id_part='name') + + with self.argument_context('datamigration sql-service create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.') + 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) + + with self.argument_context('datamigration sql-service update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.', id_part='name') + c.argument('tags', tags_type) + + with self.argument_context('datamigration sql-service delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.', id_part='name') + + with self.argument_context('datamigration sql-service delete-node') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.', id_part='name') + c.argument('node_name', type=str, help='The name of node to delete.') + c.argument('integration_runtime_name', options_list=['--ir-name'], type=str, help='The name of integration ' + 'runtime.') + + with self.argument_context('datamigration sql-service list-auth-key') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.') + + with self.argument_context('datamigration sql-service list-integration-runtime-metric') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.') + + with self.argument_context('datamigration sql-service list-migration') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.') + + with self.argument_context('datamigration sql-service regenerate-auth-key') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.', id_part='name') + c.argument('key_name', type=str, help='The name of authentication key to generate.') + c.argument('auth_key1', type=str, help='The first authentication key.') + c.argument('auth_key2', type=str, help='The second authentication key.') + + with self.argument_context('datamigration sql-service wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('sql_migration_service_name', options_list=['--name', '-n', '--sql-migration-service-name'], + type=str, help='Name of the SQL Migration Service.', id_part='name') diff --git a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/version.py b/src/datamigration/azext_datamigration/generated/_validators.py similarity index 92% rename from src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/version.py rename to src/datamigration/azext_datamigration/generated/_validators.py index ab536c887f8..b33a44c1ebf 100644 --- a/src/alertsmanagement/azext_alertsmanagement/vendored_sdks/alertsmanagement/version.py +++ b/src/datamigration/azext_datamigration/generated/_validators.py @@ -1,4 +1,3 @@ -# coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for @@ -8,6 +7,3 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- - -VERSION = "0.2.0rc2" - diff --git a/src/datamigration/azext_datamigration/generated/action.py b/src/datamigration/azext_datamigration/generated/action.py new file mode 100644 index 00000000000..11e788343a3 --- /dev/null +++ b/src/datamigration/azext_datamigration/generated/action.py @@ -0,0 +1,131 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 AddSourceSqlConnection(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.source_sql_connection = 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 == 'data-source': + d['data_source'] = v[0] + + elif kl == 'authentication': + d['authentication'] = v[0] + + elif kl == 'user-name': + d['user_name'] = v[0] + + elif kl == 'password': + d['password'] = v[0] + + elif kl == 'encrypt-connection': + d['encrypt_connection'] = v[0] + + elif kl == 'trust-server-certificate': + d['trust_server_certificate'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter source-sql-connection. All possible keys are:' + ' data-source, authentication, user-name, password, encrypt-connection, trust-server-certificate' + .format(k) + ) + + return d + + +class AddOfflineConfiguration(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.offline_configuration = 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 == 'offline': + d['offline'] = v[0] + + elif kl == 'last-backup-name': + d['last_backup_name'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter offline-configuration. All possible keys are:' + ' offline, last-backup-name'.format(k) + ) + + return d + + +class AddTargetLocation(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.target_location = 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 == 'storage-account-resource-id': + d['storage_account_resource_id'] = v[0] + + elif kl == 'account-key': + d['account_key'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter target-location. All possible keys are:' + ' storage-account-resource-id, account-key'.format(k) + ) + + return d diff --git a/src/datamigration/azext_datamigration/generated/commands.py b/src/datamigration/azext_datamigration/generated/commands.py new file mode 100644 index 00000000000..10575799f99 --- /dev/null +++ b/src/datamigration/azext_datamigration/generated/commands.py @@ -0,0 +1,79 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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_datamigration.generated._client_factory import ( + cf_database_migration_sqlmi, + cf_database_migration_sqlvm, + cf_sqlmigration_service, +) + + +datamigration_database_migration_sqlmi = CliCommandType( + operations_tmpl='azext_datamigration.vendored_sdks.datamigration.operations._database_migrations_sql_mi_operations#DatabaseMigrationsSqlMiOperations.{}', + client_factory=cf_database_migration_sqlmi, +) + + +datamigration_sqlmigration_service = CliCommandType( + operations_tmpl='azext_datamigration.vendored_sdks.datamigration.operations._sql_migration_services_operations#SqlMigrationServicesOperations.{}', + client_factory=cf_sqlmigration_service, +) + + +datamigration_database_migration_sqlvm = CliCommandType( + operations_tmpl='azext_datamigration.vendored_sdks.datamigration.operations._database_migrations_sql_vm_operations#DatabaseMigrationsSqlVmOperations.{}', + client_factory=cf_database_migration_sqlvm, +) + + +def load_command_table(self, _): + + with self.command_group( + 'datamigration sql-managed-instance', + datamigration_database_migration_sqlmi, + client_factory=cf_database_migration_sqlmi, + ) as g: + g.custom_show_command('show', 'datamigration_sql_managed_instance_show') + g.custom_command('create', 'datamigration_sql_managed_instance_create', supports_no_wait=True) + g.custom_command('cancel', 'datamigration_sql_managed_instance_cancel', supports_no_wait=True) + g.custom_command('cutover', 'datamigration_sql_managed_instance_cutover', supports_no_wait=True) + g.custom_wait_command('wait', 'datamigration_sql_managed_instance_show') + + with self.command_group( + 'datamigration sql-service', datamigration_sqlmigration_service, client_factory=cf_sqlmigration_service + ) as g: + g.custom_command('list', 'datamigration_sql_service_list') + g.custom_show_command('show', 'datamigration_sql_service_show') + g.custom_command('create', 'datamigration_sql_service_create', supports_no_wait=True) + g.custom_command('update', 'datamigration_sql_service_update', supports_no_wait=True) + g.custom_command('delete', 'datamigration_sql_service_delete', supports_no_wait=True, confirmation=True) + g.custom_command('delete-node', 'datamigration_sql_service_delete_node') + g.custom_command('list-auth-key', 'datamigration_sql_service_list_auth_key') + g.custom_command('list-integration-runtime-metric', 'datamigration_sql_service_list_integration_runtime_metric') + g.custom_command('list-migration', 'datamigration_sql_service_list_migration') + g.custom_command('regenerate-auth-key', 'datamigration_sql_service_regenerate_auth_key') + g.custom_wait_command('wait', 'datamigration_sql_service_show') + + with self.command_group( + 'datamigration sql-vm', datamigration_database_migration_sqlvm, client_factory=cf_database_migration_sqlvm + ) as g: + g.custom_show_command('show', 'datamigration_sql_vm_show') + g.custom_command('create', 'datamigration_sql_vm_create', supports_no_wait=True) + g.custom_command('cancel', 'datamigration_sql_vm_cancel', supports_no_wait=True) + g.custom_command('cutover', 'datamigration_sql_vm_cutover', supports_no_wait=True) + g.custom_wait_command('wait', 'datamigration_sql_vm_show') + + with self.command_group('datamigration', is_experimental=True): + pass diff --git a/src/datamigration/azext_datamigration/generated/custom.py b/src/datamigration/azext_datamigration/generated/custom.py new file mode 100644 index 00000000000..cb6a1336727 --- /dev/null +++ b/src/datamigration/azext_datamigration/generated/custom.py @@ -0,0 +1,313 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 datamigration_sql_managed_instance_show(client, + resource_group_name, + managed_instance_name, + target_db_name, + migration_operation_id=None, + expand=None): + return client.get(resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + migration_operation_id=migration_operation_id, + expand=expand) + + +def datamigration_sql_managed_instance_create(client, + resource_group_name, + managed_instance_name, + target_db_name, + scope=None, + source_sql_connection=None, + source_database_name=None, + migration_service=None, + migration_operation_id=None, + target_db_collation=None, + provisioning_error=None, + offline_configuration=None, + source_location=None, + target_location=None, + no_wait=False): + parameters = {} + parameters['properties'] = {} + if scope is not None: + parameters['properties']['scope'] = scope + if source_sql_connection is not None: + parameters['properties']['source_sql_connection'] = source_sql_connection + if source_database_name is not None: + parameters['properties']['source_database_name'] = source_database_name + if migration_service is not None: + parameters['properties']['migration_service'] = migration_service + if migration_operation_id is not None: + parameters['properties']['migration_operation_id'] = migration_operation_id + if target_db_collation is not None: + parameters['properties']['target_database_collation'] = target_db_collation + if provisioning_error is not None: + parameters['properties']['provisioning_error'] = provisioning_error + if offline_configuration is not None: + parameters['properties']['offline_configuration'] = offline_configuration + parameters['properties']['backup_configuration'] = {} + if source_location is not None: + parameters['properties']['backup_configuration']['source_location'] = source_location + if target_location is not None: + parameters['properties']['backup_configuration']['target_location'] = target_location + if len(parameters['properties']['backup_configuration']) == 0: + del parameters['properties']['backup_configuration'] + return sdk_no_wait(no_wait, + client.begin_create_or_update, + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=parameters) + + +def datamigration_sql_managed_instance_cancel(client, + resource_group_name, + managed_instance_name, + target_db_name, + migration_operation_id=None, + no_wait=False): + parameters = {} + if migration_operation_id is not None: + parameters['migration_operation_id'] = migration_operation_id + return sdk_no_wait(no_wait, + client.begin_cancel, + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=parameters) + + +def datamigration_sql_managed_instance_cutover(client, + resource_group_name, + managed_instance_name, + target_db_name, + migration_operation_id=None, + no_wait=False): + parameters = {} + if migration_operation_id is not None: + parameters['migration_operation_id'] = migration_operation_id + return sdk_no_wait(no_wait, + client.begin_cutover, + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=parameters) + + +def datamigration_sql_vm_show(client, + resource_group_name, + sql_vm_name, + target_db_name, + migration_operation_id=None, + expand=None): + return client.get(resource_group_name=resource_group_name, + sql_virtual_machine_name=sql_vm_name, + target_db_name=target_db_name, + migration_operation_id=migration_operation_id, + expand=expand) + + +def datamigration_sql_vm_create(client, + resource_group_name, + sql_vm_name, + target_db_name, + scope=None, + source_sql_connection=None, + source_database_name=None, + migration_service=None, + migration_operation_id=None, + target_db_collation=None, + provisioning_error=None, + offline_configuration=None, + source_location=None, + target_location=None, + no_wait=False): + parameters = {} + parameters['properties'] = {} + if scope is not None: + parameters['properties']['scope'] = scope + if source_sql_connection is not None: + parameters['properties']['source_sql_connection'] = source_sql_connection + if source_database_name is not None: + parameters['properties']['source_database_name'] = source_database_name + if migration_service is not None: + parameters['properties']['migration_service'] = migration_service + if migration_operation_id is not None: + parameters['properties']['migration_operation_id'] = migration_operation_id + if target_db_collation is not None: + parameters['properties']['target_database_collation'] = target_db_collation + if provisioning_error is not None: + parameters['properties']['provisioning_error'] = provisioning_error + if offline_configuration is not None: + parameters['properties']['offline_configuration'] = offline_configuration + parameters['properties']['backup_configuration'] = {} + if source_location is not None: + parameters['properties']['backup_configuration']['source_location'] = source_location + if target_location is not None: + parameters['properties']['backup_configuration']['target_location'] = target_location + if len(parameters['properties']['backup_configuration']) == 0: + del parameters['properties']['backup_configuration'] + return sdk_no_wait(no_wait, + client.begin_create_or_update, + resource_group_name=resource_group_name, + sql_virtual_machine_name=sql_vm_name, + target_db_name=target_db_name, + parameters=parameters) + + +def datamigration_sql_vm_cancel(client, + resource_group_name, + sql_vm_name, + target_db_name, + migration_operation_id=None, + no_wait=False): + parameters = {} + if migration_operation_id is not None: + parameters['migration_operation_id'] = migration_operation_id + return sdk_no_wait(no_wait, + client.begin_cancel, + resource_group_name=resource_group_name, + sql_virtual_machine_name=sql_vm_name, + target_db_name=target_db_name, + parameters=parameters) + + +def datamigration_sql_vm_cutover(client, + resource_group_name, + sql_vm_name, + target_db_name, + migration_operation_id=None, + no_wait=False): + parameters = {} + if migration_operation_id is not None: + parameters['migration_operation_id'] = migration_operation_id + return sdk_no_wait(no_wait, + client.begin_cutover, + resource_group_name=resource_group_name, + sql_virtual_machine_name=sql_vm_name, + target_db_name=target_db_name, + parameters=parameters) + + +def datamigration_sql_service_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 datamigration_sql_service_show(client, + resource_group_name, + sql_migration_service_name): + return client.get(resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name) + + +def datamigration_sql_service_create(client, + resource_group_name, + sql_migration_service_name, + location=None, + tags=None, + no_wait=False): + parameters = {} + if location is not None: + parameters['location'] = location + if tags is not None: + parameters['tags'] = tags + return sdk_no_wait(no_wait, + client.begin_create_or_update, + resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name, + parameters=parameters) + + +def datamigration_sql_service_update(client, + resource_group_name, + sql_migration_service_name, + tags=None, + no_wait=False): + parameters = {} + if tags is not None: + parameters['tags'] = tags + return sdk_no_wait(no_wait, + client.begin_update, + resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name, + parameters=parameters) + + +def datamigration_sql_service_delete(client, + resource_group_name, + sql_migration_service_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name) + + +def datamigration_sql_service_delete_node(client, + resource_group_name, + sql_migration_service_name, + node_name=None, + integration_runtime_name=None): + parameters = {} + if node_name is not None: + parameters['node_name'] = node_name + if integration_runtime_name is not None: + parameters['integration_runtime_name'] = integration_runtime_name + return client.delete_node(resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name, + parameters=parameters) + + +def datamigration_sql_service_list_auth_key(client, + resource_group_name, + sql_migration_service_name): + return client.list_auth_keys(resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name) + + +def datamigration_sql_service_list_integration_runtime_metric(client, + resource_group_name, + sql_migration_service_name): + return client.list_monitoring_data(resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name) + + +def datamigration_sql_service_list_migration(client, + resource_group_name, + sql_migration_service_name): + return client.list_migrations(resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name) + + +def datamigration_sql_service_regenerate_auth_key(client, + resource_group_name, + sql_migration_service_name, + key_name=None, + auth_key1=None, + auth_key2=None): + parameters = {} + if key_name is not None: + parameters['key_name'] = key_name + if auth_key1 is not None: + parameters['auth_key1'] = auth_key1 + if auth_key2 is not None: + parameters['auth_key2'] = auth_key2 + return client.regenerate_auth_keys(resource_group_name=resource_group_name, + sql_migration_service_name=sql_migration_service_name, + parameters=parameters) diff --git a/src/datamigration/azext_datamigration/manual/__init__.py b/src/datamigration/azext_datamigration/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/datamigration/azext_datamigration/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/datamigration/azext_datamigration/manual/_help.py b/src/datamigration/azext_datamigration/manual/_help.py new file mode 100644 index 00000000000..16f677597ff --- /dev/null +++ b/src/datamigration/azext_datamigration/manual/_help.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. +# +# 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['datamigration get-assessment'] = """ + type: command + short-summary: Start assessment on SQL Server instance(s). + examples: + - name: Run SQL Assessment on given SQL Server using connection string. + text: |- + az datamigration get-assessment --connection-string "Data Source=LabServer.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\\AssessmentOutput" --overwrite + - name: Run SQL Assessment on given SQL Server using assessment config file. + text: |- + az datamigration get-assessment --config-file-path "C:\\Users\\user\\document\\config.json" +""" + +helps['datamigration performance-data-collection'] = """ + type: command + short-summary: Collect performance data for given SQL Server instance(s). + examples: + - name: Collect performance data of a given SQL Server using connection string. + text: |- + az datamigration performance-data-collection --connection-string "Data Source=LabServer.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\\PerfCollectionOutput" --number-of-interation 5 --perf-query-interval 10 --static-query-interval 60 + - name: Collect performance data of a given SQL Server using assessment config file. + text: |- + az datamigration performance-data-collection --config-file-path "C:\\Users\\user\\document\\config.json" +""" + +helps['datamigration get-sku-recommendation'] = """ + type: command + short-summary: Give SKU recommendations for Azure SQL offerings. + examples: + - name: Get SKU recommendation for given SQL Server using command line. + text: |- + az datamigration get-sku-recommendation --output-folder "C:\\PerfCollectionOutput" --database-allow-list AdventureWorks, AdventureWorks2 --display-result --overwrite + - name: Get SKU recommendation for given SQL Server using assessment config file. + text: |- + az datamigration get-sku-recommendation --config-file-path "C:\\Users\\user\\document\\config.json" +""" + +helps['datamigration register-integration-runtime'] = """ + type: command + short-summary: Register Database Migration Service on Integration Runtime + examples: + - name: Register Sql Migration Service on Self Hosted Integration Runtime. + text: |- + az datamigration register-integration-runtime --auth-key "IR@00000-0000000-000000-aaaaa-bbbb-cccc" + - name: Install Integration Runtime and register a Sql Migration Service on it. + text: |- + az datamigration register-integration-runtime --auth-key "IR@00000-0000000-000000-aaaaa-bbbb-cccc" --ir-path "C:\\Users\\user\\Downloads\\IntegrationRuntime.msi" +""" + +helps['datamigration sql-managed-instance create'] = """ + type: command + short-summary: "Create a new database migration to a given SQL Managed Instance." + parameters: + - name: --source-sql-connection + short-summary: "Source SQL Server connection details." + long-summary: | + Usage: --source-sql-connection data-source=XX authentication=XX user-name=XX password=XX \ +encrypt-connection=XX trust-server-certificate=XX + + data-source: Data source. + authentication: Authentication type. + user-name: User name to connect to source SQL. + password: Password to connect to source SQL. + encrypt-connection: Whether to encrypt connection or not. + trust-server-certificate: Whether to trust server certificate or not. + - name: --offline-configuration + short-summary: "Offline configuration." + long-summary: | + Usage: --offline-configuration offline=XX last-backup-name=XX + + offline: Offline migration + last-backup-name: Last backup name for offline migration. This is optional for migrations from file share. \ +If it is not provided, then the service will determine the last backup file name based on latest backup files present \ +in file share. + - name: --target-location + short-summary: "Target location for copying backups." + long-summary: | + Usage: --target-location storage-account-resource-id=XX account-key=XX + + storage-account-resource-id: Resource Id of the storage account copying backups. + account-key: Storage Account Key. + examples: + - name: Create or Update Database Migration resource with fileshare as source for backup files. + text: |- + az datamigration sql-managed-instance create --managed-instance-name "managedInstance1" \ +--source-location '{\\"fileShare\\":{\\"path\\":\\"\\\\\\\\SharedBackup\\\\user\\",\\"password\\":\\"placeholder\\",\ +\\"username\\":\\"Server\\\\name\\"}}' --target-location account-key="abcd" storage-account-resource-id="account.database.win\ +dows.net" --migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Micr\ +osoft.DataMigration/sqlMigrationServices/testagent" --offline-configuration last-backup-name="last_backup_file_name" \ +offline=true --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql\ +/managedInstances/instance" --source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication"\ + data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ +--resource-group "testrg" --target-db-name "db1" + - name: Create or Update Database Migration resource with Azure Blob storage as source for backup files. + text: |- + az datamigration sql-managed-instance create --managed-instance-name "managedInstance1" \ +--source-location '{\\"AzureBlob\\":{\\"storageAccountResourceId\\":\\"/subscriptions/1111-2222-3333-4444/resourceGroups/RG/prooviders\ +/Microsoft.Storage/storageAccounts/MyStorage\\",\\"accountKey\\":\\"======AccountKey====\\",\\"blobContainerName\\":\\"ContainerName\ +-X\\"}}' --migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Micr\ +osoft.DataMigration/sqlMigrationServices/testagent" --offline-configuration last-backup-name="last_backup_file_name" \ +offline=true --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql\ +/managedInstances/instance" --source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication"\ + data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ +--resource-group "testrg" --target-db-name "db1" +""" + +helps['datamigration sql-vm create'] = """ + type: command + short-summary: "Create a new database migration to a given SQL VM." + parameters: + - name: --source-sql-connection + short-summary: "Source SQL Server connection details." + long-summary: | + Usage: --source-sql-connection data-source=XX authentication=XX user-name=XX password=XX \ +encrypt-connection=XX trust-server-certificate=XX + + data-source: Data source. + authentication: Authentication type. + user-name: User name to connect to source SQL. + password: Password to connect to source SQL. + encrypt-connection: Whether to encrypt connection or not. + trust-server-certificate: Whether to trust server certificate or not. + - name: --offline-configuration + short-summary: "Offline configuration." + long-summary: | + Usage: --offline-configuration offline=XX last-backup-name=XX + + offline: Offline migration + last-backup-name: Last backup name for offline migration. This is optional for migrations from file share. \ +If it is not provided, then the service will determine the last backup file name based on latest backup files present \ +in file share. + - name: --target-location + short-summary: "Target location for copying backups." + long-summary: | + Usage: --target-location storage-account-resource-id=XX account-key=XX + + storage-account-resource-id: Resource Id of the storage account copying backups. + account-key: Storage Account Key. + examples: + - name: Create or Update Database Migration resource with fileshare as source for backup files. + text: |- + az datamigration sql-vm create --source-location '{\\"fileShare\\":{\\"path\\":\\"\\\\\\\\SharedBackup\ +\\\\user\\",\\"password\\":\\"placeholder\\",\\"username\\":\\"Server\\\\name\\"}}' --target-location account-key="abcd" \ +storage-account-resource-id="account.database.windows.net" --migration-service "/subscriptions/00000000-1111-2222-3333-\ +444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ +--offline-configuration last-backup-name="last_backup_file_name" offline=true --scope "/subscriptions/00000000-1111-222\ +2-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm" \ +--source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" \ +encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" --resource-group "testrg" \ +--sql-vm-name "testvm" --target-db-name "db1" + - name: Create or Update Database Migration resource with Azure Blob storage as source for backup files. + text: |- + az datamigration sql-vm create --source-location '{\\"AzureBlob\\":{\\"storageAccountResourceId\\"\ +:\\"/subscriptions/1111-2222-3333-4444/resourceGroups/RG/prooviders/Microsoft.Storage/storageAccounts/MyStorage\\",\ +\\"accountKey\\":\\"======AccountKey====\\",\\"blobContainerName\\":\\"ContainerName-X\\"}}' --migration-service "/subscriptions\ +/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ +--offline-configuration last-backup-name="last_backup_file_name" offline=true --scope "/subscriptions/00000000-1111-222\ +2-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm" \ +--source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" \ +encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" --resource-group "testrg" \ +--sql-vm-name "testvm" --target-db-name "db1" +""" + +helps['datamigration sql-service create'] = """ + type: command + short-summary: "Create Database Migration Service." + examples: + - name: Create or Update SQL Migration Service. + text: |- + az datamigration sql-service create --location "northeurope" --resource-group "testrg" --name \ +"testagent" +""" diff --git a/src/datamigration/azext_datamigration/manual/_params.py b/src/datamigration/azext_datamigration/manual/_params.py new file mode 100644 index 00000000000..622b3cb75aa --- /dev/null +++ b/src/datamigration/azext_datamigration/manual/_params.py @@ -0,0 +1,48 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# 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 +# pylint: disable=line-too-long + + +def load_arguments(self, _): + + with self.argument_context('datamigration get-assessment') as c: + c.argument('connection_string', nargs='+', help='SQL Server Connection Strings') + c.argument('output_folder', type=str, help='Output folder to store assessment report') + c.argument('config_file_path', type=str, help='Path of the ConfigFile') + c.argument('overwrite', help='Enable this parameter to overwrite the existing assessment report') + + with self.argument_context('datamigration performance-data-collection') as c: + c.argument('connection_string', nargs='+', help='SQL Server Connection Strings') + c.argument('output_folder', type=str, help='Output folder to store performance data') + c.argument('perf_query_interval', type=int, help='Interval at which to query performance data, in seconds.') + c.argument('static_query_interval', type=int, help='Interval at which to query and persist static configuration data, in seconds.') + c.argument('number_of_interation', type=int, help='Number of iterations of performance data collection to perform before persisting to file. For example, with default values, performance data will be persisted every 30 seconds * 20 iterations = 10 minutes. Minimum: 2.') + c.argument('config_file_path', type=str, help='Path of the ConfigFile') + + with self.argument_context('datamigration get-sku-recommendation') as c: + c.argument('output_folder', type=str, help='Output folder where performance data of the SQL Server is stored. The value here must be the same as the one used in PerfDataCollection') + c.argument('target_platform', type=str, help='Target platform for SKU recommendation: either AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachine, or Any. If Any is selected, then SKU recommendations for all three target platforms will be evaluated, and the best fit will be returned.') + c.argument('target_sql_instance', type=str, help='Name of the SQL instance for which SKU should be recommendeded. Default: outputFolder will be scanned for files created by the PerfDataCollection action, and recommendations will be provided for every instance found.') + c.argument('target_percentile', type=int, help='Percentile of data points to be used during aggregation of the performance data. Only used for baseline (non-elastic) strategy.') + c.argument('scaling_factor', type=int, help='Scaling (comfort) factor used during SKU recommendation. For example, if it is determined that there is a 4 vCore CPU requirement with a scaling factor of 150%, then the true CPU requirement will be 6 vCores.') + c.argument('start_time', type=str, help='UTC start time of performance data points to consider during aggregation, in YYYY-MM-DD HH:MM format. Only used for baseline (non-elastic) strategy. Default: all data points collected will be considered.') + c.argument('end_time', type=str, help='UTC end time of performance data points to consider during aggregation, in YYYY-MM-DD HH:MM format. Only used for baseline (non-elastic) strategy. Default: all data points collected will be considered.') + c.argument('overwrite', help='Whether or not to overwrite any existing SKU recommendation reports. Enable this paramater to overwrite.') + c.argument('display_result', help='Whether or not to print the SKU recommendation results to the console. Enable this parameter to display result.') + c.argument('elastic_strategy', help='Whether or not to use the elastic strategy for SKU recommendations based on resource usage profiling. Enable this parameter to use elastic strategy.') + c.argument('database_allow_list', nargs='+', help='Space separated list of names of databases to be allowed for SKU recommendation consideration while excluding all others. Only set one of the following or neither: databaseAllowList, databaseDenyList. Default: null.') + c.argument('database_deny_list', nargs='+', help='Space separated list of names of databases to not be considered for SKU recommendation. Only set one of the following or neither: databaseAllowList, databaseDenyList. Default: null.') + c.argument('config_file_path', type=str, help='Path of the ConfigFile') + + with self.argument_context('datamigration register-integration-runtime') as c: + c.argument('auth_key', type=str, help='AuthKey of SQL Migration Service') + c.argument('ir_path', type=str, help='Path of Integration Runtime MSI') diff --git a/src/datamigration/azext_datamigration/manual/commands.py b/src/datamigration/azext_datamigration/manual/commands.py new file mode 100644 index 00000000000..97218d5eeaa --- /dev/null +++ b/src/datamigration/azext_datamigration/manual/commands.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. +# +# 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=line-too-long + + +def load_command_table(self, _): + + with self.command_group('datamigration') as g: + g.custom_command('get-assessment', 'datamigration_assessment') + g.custom_command('performance-data-collection', 'datamigration_performance_data_collection') + g.custom_command('get-sku-recommendation', 'datamigration_get_sku_recommendation') + g.custom_command('register-integration-runtime', 'datamigration_register_ir') diff --git a/src/datamigration/azext_datamigration/manual/custom.py b/src/datamigration/azext_datamigration/manual/custom.py new file mode 100644 index 00000000000..e92532f18b9 --- /dev/null +++ b/src/datamigration/azext_datamigration/manual/custom.py @@ -0,0 +1,175 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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=unused-argument +# pylint: disable=line-too-long + +import os +import subprocess +from azure.cli.core.azclierror import MutuallyExclusiveArgumentError +from azure.cli.core.azclierror import RequiredArgumentMissingError +from azure.cli.core.azclierror import UnclassifiedUserFault +from azext_datamigration.manual import helper + + +# ----------------------------------------------------------------------------------------------------------------- +# Assessment Command Implementation. +# ----------------------------------------------------------------------------------------------------------------- +def datamigration_assessment(connection_string=None, + output_folder=None, + overwrite=False, + config_file_path=None): + + try: + + defaultOutputFolder, exePath = helper.console_app_setup() + + if connection_string is not None and config_file_path is not None: + raise MutuallyExclusiveArgumentError("Both connection_string and config_file_path are mutually exclusive arguments. Please provide only one of these arguments.") + + if connection_string is not None: + connection_string = " ".join(f"\"{i}\"" for i in connection_string) + cmd = f'{exePath} Assess --sqlConnectionStrings {connection_string} ' if output_folder is None else f'{exePath} Assess --sqlConnectionStrings {connection_string} --outputFolder "{output_folder}" ' + cmd += '--overwrite False' if overwrite is False else '' + subprocess.call(cmd, shell=False) + elif config_file_path is not None: + helper.validate_config_file_path(config_file_path, "assess") + cmd = f'{exePath} --configFile "{config_file_path}"' + subprocess.call(cmd, shell=False) + else: + raise RequiredArgumentMissingError('No valid parameter set used. Please provide any one of the these prameters: connection_string, config_file_path') + + # Printing log file path + logFilePath = os.path.join(defaultOutputFolder, "Logs") + print(f"Event and Error Logs Folder Path: {logFilePath}") + + except Exception as e: + raise e + + +# ----------------------------------------------------------------------------------------------------------------- +# Performance Data Collection Command Implementation. +# ----------------------------------------------------------------------------------------------------------------- +def datamigration_performance_data_collection(connection_string=None, + output_folder=None, + perf_query_interval=30, + static_query_interval=3600, + number_of_interation=20, + config_file_path=None): + + try: + + defaultOutputFolder, exePath = helper.console_app_setup() + + if connection_string is not None and config_file_path is not None: + raise MutuallyExclusiveArgumentError("Both sql_connection_string and config_file_path are mutually exclusive arguments. Please provide only one of these arguments.") + + if connection_string is not None: + connection_string = " ".join(f"\"{i}\"" for i in connection_string) + parameterList = { + "--outputFolder": output_folder, + "--perfQueryIntervalInSec": perf_query_interval, + "--staticQueryIntervalInSec": static_query_interval, + "--numberOfIterations": number_of_interation + } + cmd = f'{exePath} PerfDataCollection --sqlConnectionStrings {connection_string}' + for param in parameterList: + if parameterList[param] is not None: + cmd += f' {param} "{parameterList[param]}"' + subprocess.call(cmd, shell=False) + elif config_file_path is not None: + helper.validate_config_file_path(config_file_path, "perfdatacollection") + cmd = f'{exePath} --configFile "{config_file_path}"' + subprocess.call(cmd, shell=False) + else: + raise RequiredArgumentMissingError('No valid parameter set used. Please provide any one of the these prameters: sql_connection_string, config_file_path') + + # Printing log file path + logFilePath = os.path.join(defaultOutputFolder, "Logs") + print(f"Event and Error Logs Folder Path: {logFilePath}") + + except Exception as e: + raise e + + +# ----------------------------------------------------------------------------------------------------------------- +# Get SKU Recommendation Command Implementation. +# ----------------------------------------------------------------------------------------------------------------- +def datamigration_get_sku_recommendation(output_folder=None, + target_platform="Any", + target_sql_instance=None, + target_percentile=95, + scaling_factor=100, + start_time=None, + end_time=None, + overwrite=False, + display_result=False, + elastic_strategy=False, + database_allow_list=None, + database_deny_list=None, + config_file_path=None): + + try: + defaultOutputFolder, exePath = helper.console_app_setup() + + if output_folder is not None and config_file_path is not None: + raise MutuallyExclusiveArgumentError("Both output_folder and config_file_path are mutually exclusive arguments. Please provide only one of these arguments.") + + if config_file_path is not None: + helper.validate_config_file_path(config_file_path, "getskurecommendation") + cmd = f'{exePath} --configFile "{config_file_path}"' + subprocess.call(cmd, shell=False) + else: + parameterList = { + "--outputFolder": output_folder, + "--targetPlatform": target_platform, + "--targetSqlInstance": target_sql_instance, + "--scalingFactor": scaling_factor, + "--targetPercentile": target_percentile, + "--startTime": start_time, + "--endTime": end_time, + "--overwrite": overwrite, + "--displayResult": display_result, + "--elasticStrategy": elastic_strategy, + "--databaseAllowList": database_allow_list, + "--databaseDenyList": database_deny_list + } + cmd = f'{exePath} GetSkuRecommendation' + for param in parameterList: + if parameterList[param] is not None and not param.__contains__("List"): + cmd += f' {param} "{parameterList[param]}"' + elif param.__contains__("List") and parameterList[param] is not None: + parameterList[param] = " ".join(f"\"{i}\"" for i in parameterList[param]) + cmd += f' {param} {parameterList[param]}' + subprocess.call(cmd, shell=False) + + # Printing log file path + logFilePath = os.path.join(defaultOutputFolder, "Logs") + print(f"Event and Error Logs Folder Path: {logFilePath}") + + except Exception as e: + raise e + + +# ----------------------------------------------------------------------------------------------------------------- +# Register Sql Migration Service on IR command Implementation. +# ----------------------------------------------------------------------------------------------------------------- +def datamigration_register_ir(auth_key, + ir_path=None): + + helper.validate_os_env() + + if not helper.is_user_admin(): + raise UnclassifiedUserFault("Failed: You do not have Administrator rights to run this command. Please re-run this command as an Administrator!") + helper.validate_input(auth_key) + if ir_path is not None: + helper.install_gateway(ir_path) + + helper.register_ir(auth_key) diff --git a/src/datamigration/azext_datamigration/manual/helper.py b/src/datamigration/azext_datamigration/manual/helper.py new file mode 100644 index 00000000000..ba953b9343b --- /dev/null +++ b/src/datamigration/azext_datamigration/manual/helper.py @@ -0,0 +1,276 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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=unused-argument +# pylint: disable=line-too-long + +import ctypes +import json +import os +import platform +import subprocess +import time +import urllib.request +from zipfile import ZipFile +from azure.cli.core.azclierror import CLIInternalError +from azure.cli.core.azclierror import FileOperationError +from azure.cli.core.azclierror import InvalidArgumentValueError + + +# ----------------------------------------------------------------------------------------------------------------- +# Common helper function to validate if the commands are running on Windows. +# ----------------------------------------------------------------------------------------------------------------- +def validate_os_env(): + + if not platform.system().__contains__('Windows'): + raise CLIInternalError("This command cannot be run in non-windows environment. Please run this command in Windows environment") + + +# ----------------------------------------------------------------------------------------------------------------- +# Assessment helper function to test whether the given config_file_path is valid and has valid action specified. +# ----------------------------------------------------------------------------------------------------------------- +def validate_config_file_path(path, action): + + if not os.path.exists(path): + raise InvalidArgumentValueError(f'Invalid config file path: {path}. Please provide a valid config file path.') + + # JSON file + with open(path, "r", encoding=None) as f: + configJson = json.loads(f.read()) + try: + if not configJson['action'].strip().lower() == action: + raise FileOperationError(f"The desired action in config file was invalid. Please use \"{action}\" for action property in config file") + except KeyError as e: + raise FileOperationError("Invalid schema of config file. Please ensure that this is a properly formatted config file.") from e + + +# ----------------------------------------------------------------------------------------------------------------- +# Assessment helper function to do console app setup (mkdir, download and extract) +# ----------------------------------------------------------------------------------------------------------------- +def console_app_setup(): + + validate_os_env() + + defaultOutputFolder = get_default_output_folder() + + # Assigning base folder path + baseFolder = os.path.join(defaultOutputFolder, "Downloads") + exePath = os.path.join(baseFolder, "SqlAssessment.Console.csproj", "SqlAssessment.exe") + + # Creating base folder structure + create_dir_path(baseFolder) + # check and download console app + check_and_download_console_app(exePath, baseFolder) + + return defaultOutputFolder, exePath + + +# ----------------------------------------------------------------------------------------------------------------- +# Assessment helper function to return the default output folder path depending on OS environment. +# ----------------------------------------------------------------------------------------------------------------- +def get_default_output_folder(): + + osPlatform = platform.system() + + if osPlatform.__contains__('Linux'): + defaultOutputPath = os.path.join(os.getenv('USERPROFILE'), ".config", "Microsoft", "SqlAssessment") + elif osPlatform.__contains__('Darwin'): + defaultOutputPath = os.path.join(os.getenv('USERPROFILE'), "Library", "Application Support", "Microsoft", "SqlAssessment") + else: + defaultOutputPath = os.path.join(os.getenv('LOCALAPPDATA'), "Microsoft", "SqlAssessment") + + return defaultOutputPath + + +# ----------------------------------------------------------------------------------------------------------------- +# Assessment helper function to check if console app exists, if not download it. +# ----------------------------------------------------------------------------------------------------------------- +def check_and_download_console_app(exePath, baseFolder): + + testPath = os.path.exists(exePath) + + # Downloading console app zip and extracting it + if not testPath: + zipSource = "https://sqlassess.blob.core.windows.net/app/SqlAssessment.zip" + zipDestination = os.path.join(baseFolder, "SqlAssessment.zip") + + urllib.request.urlretrieve(zipSource, filename=zipDestination) + with ZipFile(zipDestination, 'r') as zipFile: + zipFile.extractall(path=baseFolder) + + +# ----------------------------------------------------------------------------------------------------------------- +# Assessment helper function to check if baseFolder exists, if not create it. +# ----------------------------------------------------------------------------------------------------------------- +def create_dir_path(baseFolder): + + if not os.path.exists(baseFolder): + os.makedirs(baseFolder) + + +# ----------------------------------------------------------------------------------------------------------------- +# Helper function to check IR path Extension +# ----------------------------------------------------------------------------------------------------------------- +def validate_ir_extension(ir_path): + + if ir_path is not None: + ir_extension = os.path.splitext(ir_path)[1] + if ir_extension != ".msi": + raise InvalidArgumentValueError("Invalid Integration Runtime Extension. Please provide a valid Integration Runtime MSI path.") + + +# ----------------------------------------------------------------------------------------------------------------- +# Helper function to check whether the command is run as admin. +# ----------------------------------------------------------------------------------------------------------------- +def is_user_admin(): + + try: + isAdmin = os.getuid() == 0 + except AttributeError: + isAdmin = ctypes.windll.shell32.IsUserAnAdmin() != 0 + + return isAdmin + + +# ----------------------------------------------------------------------------------------------------------------- +# Helper function to validate key input. +# ----------------------------------------------------------------------------------------------------------------- +def validate_input(key): + if key == "": + raise InvalidArgumentValueError("Failed: IR Auth key is empty. Please provide a valid auth key.") + + +# ----------------------------------------------------------------------------------------------------------------- +# Helper function to check whether SHIR is installed or not. +# ----------------------------------------------------------------------------------------------------------------- +def check_whether_gateway_installed(name): + + import winreg + # Connecting to key in registry + accessRegistry = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) + + # Get the path of Installed softwares + accessKey = winreg.OpenKey(accessRegistry, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") + + for i in range(0, winreg.QueryInfoKey(accessKey)[0]): + installedSoftware = winreg.EnumKey(accessKey, i) + installedSoftwareKey = winreg.OpenKey(accessKey, installedSoftware) + try: + displayName = winreg.QueryValueEx(installedSoftwareKey, r"DisplayName")[0] + if name in displayName: + return True + except FileNotFoundError: + pass + + # Adding this try to look for Installed IR in Program files (Assumes the IR is always installed there) + try: + diaCmdPath = get_cmd_file_path_static() + if os.path.exists(diaCmdPath): + return True + else: + return False + except (FileNotFoundError, IndexError): + return False + + +# ----------------------------------------------------------------------------------------------------------------- +# Helper function to install SHIR +# ----------------------------------------------------------------------------------------------------------------- +def install_gateway(path): + + if check_whether_gateway_installed("Microsoft Integration Runtime"): + print("Microsoft Integration Runtime is already installed") + return + + validate_ir_extension(path) + + if not os.path.exists(path): + raise InvalidArgumentValueError(f"Invalid Integration Runtime MSI path : {path}. Please provide a valid Integration Runtime MSI path") + + print("Start Integration Runtime installation") + + installCmd = f'msiexec.exe /i "{path}" /quiet /passive' + subprocess.call(installCmd, shell=False) + time.sleep(30) + + print("Integration Runtime installation is complete") + + +# ----------------------------------------------------------------------------------------------------------------- +# Helper function to register Sql Migration Service on IR +# ----------------------------------------------------------------------------------------------------------------- +def register_ir(key): + print(f"Start to register IR with key: {key}") + + cmdFilePath = get_cmd_file_path() + + directoryPath = os.path.dirname(cmdFilePath) + parentDirPath = os.path.dirname(directoryPath) + + dmgCmdPath = os.path.join(directoryPath, "dmgcmd.exe") + regIRScriptPath = os.path.join(parentDirPath, "PowerShellScript", "RegisterIntegrationRuntime.ps1") + + portCmd = f'{dmgCmdPath} -EnableRemoteAccess 8060' + irCmd = f'powershell -command "& \'{regIRScriptPath}\' -gatewayKey {key}"' + + subprocess.call(portCmd, shell=False) + subprocess.call(irCmd, shell=False) + + +# ----------------------------------------------------------------------------------------------------------------- +# Helper function to get SHIR script path +# ----------------------------------------------------------------------------------------------------------------- +def get_cmd_file_path(): + + import winreg + try: + # Connecting to key in registry + accessRegistry = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) + + # Get the path of Integration Runtime + accessKey = winreg.OpenKey(accessRegistry, r"SOFTWARE\Microsoft\DataTransfer\DataManagementGateway\ConfigurationManager") + accessValue = winreg.QueryValueEx(accessKey, r"DiacmdPath")[0] + + return accessValue + except FileNotFoundError: + try: + diaCmdPath = get_cmd_file_path_static() + return diaCmdPath + except FileNotFoundError as e: + raise FileOperationError("Failed: No installed IR found or installed IR is not present in Program Files. Please install Integration Runtime in default location and re-run this command") from e + except IndexError as e: + raise FileOperationError("IR is not properly installed. Please re-install it and re-run this command") from e + + +# ----------------------------------------------------------------------------------------------------------------- +# Helper function to get DiaCmdPath with Static Paths. This function assumes that IR is always installed in program files +# ----------------------------------------------------------------------------------------------------------------- +def get_cmd_file_path_static(): + + # Base folder is taken as Program files or Program files (x86). + baseFolderX64 = os.path.join(r"C:\Program Files", "Microsoft Integration Runtime") + baseFolderX86 = os.path.join(r"C:\Program Files (x86)", "Microsoft Integration Runtime") + if os.path.exists(baseFolderX86): + baseFolder = baseFolderX86 + else: + baseFolder = baseFolderX64 + + # Add the latest version to baseFolder path. + listDir = os.listdir(baseFolder) + listDir.sort(reverse=True) + versionFolder = os.path.join(baseFolder, listDir[0]) + + # Create diaCmd default path and check if it is valid or not. + diaCmdPath = os.path.join(versionFolder, "Shared", "diacmd.exe") + + if not os.path.exists(diaCmdPath): + raise FileNotFoundError(f"The system cannot find the path specified: {diaCmdPath}") + + return diaCmdPath diff --git a/src/datamigration/azext_datamigration/manual/tests/__init__.py b/src/datamigration/azext_datamigration/manual/tests/__init__.py new file mode 100644 index 00000000000..be1a152630c --- /dev/null +++ b/src/datamigration/azext_datamigration/manual/tests/__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__) \ No newline at end of file diff --git a/src/datamigration/azext_datamigration/manual/tests/latest/__init__.py b/src/datamigration/azext_datamigration/manual/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/datamigration/azext_datamigration/manual/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/datamigration/azext_datamigration/manual/tests/latest/test_datamigration_scenario.py b/src/datamigration/azext_datamigration/manual/tests/latest/test_datamigration_scenario.py new file mode 100644 index 00000000000..8ae85a6b8d1 --- /dev/null +++ b/src/datamigration/azext_datamigration/manual/tests/latest/test_datamigration_scenario.py @@ -0,0 +1,652 @@ +# -------------------------------------------------------------------------------------------- +# 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 +# pylint: disable=unused-import + +import time + +# Env setup_scenario +def setup_scenario(test): + test.kwargs.update({ + "serviceRG": "CLIUnitTest", + "sqlMigrationService": "dmsCliUnitTest", + "location": "eastus2euap", + "createSqlMigrationService": "sqlServiceUnitTest-Pipeline2" + }), + test.kwargs.update({ + "miRG": "migrationTesting", + "managedInstance": "migrationtestmi", + "miTargetDb": "tsum-CLI-MIOnline" + }), + test.kwargs.update({ + "vmRG": "tsum38RG", + "virtualMachine": "DMSCmdletTest-SqlVM", + "vmTargetDb": "tsum-Db-VM" + }),#12. Create Common Params + test.kwargs.update({ + "migrationService": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/SqlMigrationServices/sqlServiceUnitTest-Pipeline", + "miScope": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi", + "vmScope": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachines/DMSCmdletTest-SqlVM", + "sourceDBName": "AdventureWorks", + "miRG": "MigrationTesting", + "authentication": "SqlAuthentication", + "dataSource":"AALAB03-2K8.REDMOND.CORP.MICROSOFT.COM", + "password": "XXXXXXXXXXXX", + "userName": "hijavatestuser1", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX", + "storageAccountId": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/aaskhan/providers/Microsoft.Storage/storageAccounts/aasimmigrationtest" + }), # MI Online FileShare + test.kwargs.update({ + "miOnlineFsTargetDb": "tsum-Db-mi-online-fs9", + "fsSourceLocation":"'{\"fileShare\":{\"path\":\"\\\\\\\\aalab03-2k8.redmond.corp.microsoft.com\\\\SharedBackup\\\\tsuman\",\"password\":\"XXXXXXXXXXXX\",\"username\":\"AALAB03-2K8\\hijavatestlocaluser\"}}'" + }), #Blob + test.kwargs.update({ + "blobSourceLocation": "'{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/tzppesignoff1211/providers/Microsoft.Storage/storageAccounts/hijavateststorage\",\"accountKey\":\"XXXXXXXXXXXX/XXXXXXXXXXXX\",\"blobContainerName\":\"tsum38-adventureworks\"}}'", + "miOnlineBlobTargetDb":"tsum-Db-mi-online-blob9" + }), # VM DBs + test.kwargs.update({ + "vmOnlineFsTargetDb":"tsum-Db-vm-online-fs9", + "vmOnlineBlobTargetDb": "tsum-Db-vm-online-blob9" + })# Offline + test.kwargs.update({ + "lastBackupName":"AdventureWorksTransactionLog2.trn", + "miOfflineFsTargetDb":"tsum-Db-mi-offline-fs", + "miOfflineBlobTargetDb": "tsum-Db-mi-offline-blob", + "vmOfflineFsTargetDb":"tsum-Db-vm-offline-fs", + "vmOfflineBlobTargetDb": "tsum-Db-vm-offline-blob9" + }) + + +#Test Cases +#1. SQL Service Create +def step_sql_service_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service create ' + '--location "{location}" ' + '--resource-group "{serviceRG}" ' + '--name "{createSqlMigrationService}"', + checks=checks) + +#2. SQL Service Show +def step_sql_service_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service show ' + '--resource-group "{serviceRG}" ' + '--name "{sqlMigrationService}"', + checks=checks) +#3. SQL Service List RG +def step_sql_service_list_rg(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list ' + '--resource-group "{serviceRG}"', + checks=checks) + +#4. SQL Service List Sub +def step_sql_service_list_sub(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list ', + checks=checks) + +#5. SQL Service List Migration +def step_sql_service_list_migration(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list-migration ' + '--resource-group "{serviceRG}" ' + '--name "{sqlMigrationService}"', + checks=checks) + +#6. SQL Service List Auth Keys +def step_sql_service_list_auth_key(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list-auth-key ' + '--resource-group "{serviceRG}" ' + '--name "{sqlMigrationService}"', + checks=checks) + +#7. SQL Service Regererate Auth Keys +def step_sql_service_regenerate_auth_key(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service regenerate-auth-key ' + '--key-name "authKey1" ' + '--resource-group "{serviceRG}" ' + '--name "{sqlMigrationService}"', + checks=checks) + +#8. SQL Service Regererate Auth Keys +def step_sql_service_list_integration_runtime_metric(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list-integration-runtime-metric ' + '--resource-group "{serviceRG}" ' + '--name "{sqlMigrationService}"', + checks=checks) + +#9. SQL Service Delete +def step_sql_service_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service delete -y ' + '--resource-group "{serviceRG}" ' + '--name "{createSqlMigrationService}"', + checks=checks) + +#10. MI Show +def step_sql_managed_instance_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance show ' + '--managed-instance-name "{managedInstance}" ' + '--resource-group "{miRG}" ' + '--target-db-name "{miTargetDb}"', + checks=checks) + +#11. VM Show +def step_sql_vm_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm show ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}" ' + '--target-db-name "{vmTargetDb}"', + checks=checks) + + +#12. MI Online FileShare Create +def step_sql_managed_instance_online_fileshare_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance create ' + '--source-location {fsSourceLocation} ' + '--target-location account-key="{accountKey}" storage-account-resource-id="{storageAccountId}" ' + '--migration-service "{migrationService}" ' + '--scope "{miScope}" ' + '--source-database-name "{sourceDBName}" ' + '--source-sql-connection authentication="{authentication}" data-source="{dataSource}" password="{password}" user-name="{userName}" ' + '--target-db-name "{miOnlineFsTargetDb}" ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}"', + checks=checks) + + #13.1 MI Online FileShare Cutover +def step_sql_managed_instance_online_fileshare_cutover(test, checks=None): + if checks is None: + checks = [] + + miOnlinefileShareMigrationStats = test.cmd('az datamigration sql-managed-instance show ' + '--managed-instance-name "{managedInstance}" ' + '--resource-group "{miRG}" ' + '--target-db-name "{miOnlineFsTargetDb}" ' + '--expand=MigrationStatusDetails').get_output_in_json() + miOnlineFsIsfullBackupRestore = miOnlinefileShareMigrationStats["properties"]["migrationStatusDetails"]["isFullBackupRestored"] + migrationStatus = miOnlinefileShareMigrationStats["properties"]["migrationStatus"] + test.kwargs.update({ + "miOnlineFsMigrationId": miOnlinefileShareMigrationStats["properties"]["migrationOperationId"]}) + + while miOnlineFsIsfullBackupRestore != True and migrationStatus != "Failed": + time.sleep(10) + miOnlinefileShareMigrationStats = test.cmd('az datamigration sql-managed-instance show ' + '--managed-instance-name "{managedInstance}" ' + '--resource-group "{miRG}" ' + '--target-db-name "{miOnlineFsTargetDb}" ' + '--expand=MigrationStatusDetails').get_output_in_json() + miOnlineFsIsfullBackupRestore = miOnlinefileShareMigrationStats["properties"]["migrationStatusDetails"]["isFullBackupRestored"] + migrationStatus = miOnlinefileShareMigrationStats["properties"]["migrationStatus"] + + test.cmd('az datamigration sql-managed-instance cutover ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}" ' + '--target-db-name "{miOnlineFsTargetDb}" ' + '--migration-operation-id "{miOnlineFsMigrationId}"', + checks=checks) + +#13.2 MI Online FileShare Cutover +def step_sql_managed_instance_online_fileshare_cutover_Confirm(test, checks=None): + if checks is None: + checks = [] + + miOnlinefileShareMigrationStats = test.cmd('az datamigration sql-managed-instance show ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}" ' + '--target-db-name "{miOnlineFsTargetDb}"', + checks=checks).get_output_in_json() + + migrationStatus = miOnlinefileShareMigrationStats["properties"]["migrationStatus"] + + while migrationStatus != "Succeeded" and migrationStatus != "Failed": + time.sleep(10) + + miOnlinefileShareMigrationStats = test.cmd('az datamigration sql-vm show ' + '--resource-group "{miRG}" ' + '--sql-vm-name "{managedInstance}" ' + '--target-db-name "{miOnlineFsTargetDb}"', + checks=checks).get_output_in_json() + + migrationStatus = miOnlinefileShareMigrationStats["properties"]["migrationStatus"] + +#14. MI Online Blob Create +def step_sql_managed_instance_online_blob_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance create ' + '--source-location {blobSourceLocation} ' + '--target-location account-key="{accountKey}" storage-account-resource-id="{storageAccountId}" ' + '--migration-service "{migrationService}" ' + '--scope "{miScope}" ' + '--source-database-name "{sourceDBName}" ' + '--source-sql-connection authentication="{authentication}" data-source="{dataSource}" password="{password}" user-name="{userName}" ' + '--target-db-name "{miOnlineBlobTargetDb}" ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}"', + checks=checks) + + + +#15.1 MI Online Blob Cancel +def step_sql_managed_instance_online_blob_cancel(test, checks=None): + if checks is None: + checks = [] + + miOnlineBlobMigrationStats = test.cmd('az datamigration sql-managed-instance show ' + '--managed-instance-name "{managedInstance}" ' + '--resource-group "{miRG}" ' + '--target-db-name "{miOnlineBlobTargetDb}" ' + '--expand=MigrationStatusDetails').get_output_in_json() + test.kwargs.update({ + "miOnlineBlobMigrationId": miOnlineBlobMigrationStats["properties"]["migrationOperationId"]}) + + test.cmd('az datamigration sql-managed-instance cancel ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}" ' + '--target-db-name "{miOnlineBlobTargetDb}" ' + '--migration-operation-id "{miOnlineBlobMigrationId}"', + checks=checks) + +#15.2 MI Online Blob Cancel Confirm +def step_sql_managed_instance_online_blob_cancel_Confirm(test, checks=None): + if checks is None: + checks = [] + + miOnlineBlobStats = test.cmd('az datamigration sql-managed-instance show ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}" ' + '--target-db-name "{miOnlineBlobTargetDb}"', + checks=checks).get_output_in_json() + + miiOnlineBlobStatus = miOnlineBlobStats["properties"]["migrationStatus"] + + while miiOnlineBlobStatus != "Canceled" and miiOnlineBlobStatus != "Failed": + + time.sleep(10) + miOnlineBlobStats = test.cmd('az datamigration sql-managed-instance show ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}" ' + '--target-db-name "{miOnlineBlobTargetDb}"', + checks=checks).get_output_in_json() + + miiOnlineBlobStatus = miOnlineBlobStats["properties"]["migrationStatus"] + +#16. VM Online FileShare Create +def step_sql_vm_online_fileshare_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm create ' + '--source-location {fsSourceLocation} ' + '--target-location account-key="{accountKey}" storage-account-resource-id="{storageAccountId}" ' + '--migration-service "{migrationService}" ' + '--scope "{vmScope}" ' + '--source-database-name "{sourceDBName}" ' + '--source-sql-connection authentication="{authentication}" data-source="{dataSource}" password="{password}" user-name="{userName}" ' + '--target-db-name "{vmOnlineFsTargetDb}" ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}"', + checks=checks) + +#17.1 VM Online FileShare Cutover +def step_sql_vm_online_fileshare_cutover(test, checks=None): + if checks is None: + checks = [] + vmOnlinefileShareMigrationStats = test.cmd('az datamigration sql-vm show ' + '--sql-vm-name "{virtualMachine}" ' + '--resource-group "{vmRG}" ' + '--target-db-name "{vmOnlineFsTargetDb}" ' + '--expand=MigrationStatusDetails').get_output_in_json() + vmOnlineFsIsfullBackupRestore = vmOnlinefileShareMigrationStats["properties"]["migrationStatusDetails"]["isFullBackupRestored"] + migrationStatus = vmOnlinefileShareMigrationStats["properties"]["migrationStatus"] + test.kwargs.update({ + "vmOnlineFsMigrationId": vmOnlinefileShareMigrationStats["properties"]["migrationOperationId"]}) + + while vmOnlineFsIsfullBackupRestore != True and migrationStatus != "Failed": + + time.sleep(10) + vmOnlinefileShareMigrationStats = test.cmd('az datamigration sql-vm show ' + '--sql-vm-name "{virtualMachine}" ' + '--resource-group "{vmRG}" ' + '--target-db-name "{vmOnlineFsTargetDb}" ' + '--expand=MigrationStatusDetails').get_output_in_json() + migrationStatus = vmOnlinefileShareMigrationStats["properties"]["migrationStatus"] + vmOnlineFsIsfullBackupRestore = vmOnlinefileShareMigrationStats["properties"]["migrationStatusDetails"]["isFullBackupRestored"] + + test.cmd('az datamigration sql-vm cutover ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}" ' + '--target-db-name "{vmOnlineFsTargetDb}" ' + '--migration-operation-id "{vmOnlineFsMigrationId}"', + checks=checks) + +#17.2 VM Online FileShare Cutover Confirm +def step_sql_vm_online_fileshare_cutover_Confirm(test, checks=None): + if checks is None: + checks = [] + vmOnlinefileShareMigrationStats = test.cmd('az datamigration sql-vm show ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}" ' + '--target-db-name "{vmOnlineFsTargetDb}"', + checks=checks).get_output_in_json() + + migrationStatus = vmOnlinefileShareMigrationStats["properties"]["migrationStatus"] + + while migrationStatus != "Succeeded" and migrationStatus != "Failed": + time.sleep(10) + + vmOnlinefileShareMigrationStats = test.cmd('az datamigration sql-vm show ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}" ' + '--target-db-name "{vmOnlineFsTargetDb}"', + checks=checks).get_output_in_json() + + migrationStatus = vmOnlinefileShareMigrationStats["properties"]["migrationStatus"] + +#18. VM Online Blob Create +def step_sql_vm_online_blob_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm create ' + '--source-location {blobSourceLocation} ' + '--target-location account-key="{accountKey}" storage-account-resource-id="{storageAccountId}" ' + '--migration-service "{migrationService}" ' + '--scope "{vmScope}" ' + '--source-database-name "{sourceDBName}" ' + '--source-sql-connection authentication="{authentication}" data-source="{dataSource}" password="{password}" user-name="{userName}" ' + '--target-db-name "{vmOnlineBlobTargetDb}" ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}"', + checks=checks) + +#19.1 VM Online Blob Cancel +def step_sql_vm_online_blob_cancel(test, checks=None): + if checks is None: + checks = [] + vmOnlineBlobMigrationStats = test.cmd('az datamigration sql-vm show ' + '--sql-vm-name "{virtualMachine}" ' + '--resource-group "{vmRG}" ' + '--target-db-name "{vmOnlineBlobTargetDb}" ' + '--expand=MigrationStatusDetails').get_output_in_json() + test.kwargs.update({ + "vmOnlineBlobMigrationId": vmOnlineBlobMigrationStats["properties"]["migrationOperationId"] + }) + + test.cmd('az datamigration sql-vm cancel ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}" ' + '--target-db-name "{vmOnlineBlobTargetDb}" ' + '--migration-operation-id "{vmOnlineBlobMigrationId}"', + checks=checks) + +#19.2 VM Online Blob Cancel +def step_sql_vm_online_blob_cancel_Confirm(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm show ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}" ' + '--target-db-name "{vmOnlineBlobTargetDb}"', + checks=checks) +''' + #20. MI Offline FS Create +def step_sql_managed_instance_offline_fileshare_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance create ' + '--source-location {fsSourceLocation} ' + '--target-location account-key="{accountKey}" storage-account-resource-id="{storageAccountId}" ' + '--migration-service "{migrationService}" ' + '--scope "{miScope}" ' + '--source-database-name "{sourceDBName}" ' + '--source-sql-connection authentication="{authentication}" data-source="{dataSource}" password="{password}" user-name="{userName}" ' + '--target-db-name "{miOfflineFsTargetDb}" ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}" ' + '--offline-configuration offline=true last-backup-name="{lastBackupName}"', + checks=checks) + + #21. MI Offline Blob Create +def step_sql_managed_instance_offline_blob_create (test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance create ' + '--source-location {blobSourceLocation} ' + '--target-location account-key="{accountKey}" storage-account-resource-id="{storageAccountId}" ' + '--migration-service "{migrationService}" ' + '--scope "{miScope}" ' + '--source-database-name "{sourceDBName}" ' + '--source-sql-connection authentication="{authentication}" data-source="{dataSource}" password="{password}" user-name="{userName}" ' + '--target-db-name "{miOfflineBlobTargetDb}" ' + '--resource-group "{miRG}" ' + '--managed-instance-name "{managedInstance}" ' + '--offline-configuration offline=true last-backup-name="{lastBackupName}"', + checks=checks) + +#22. VM Offline FS Create +def step_sql_vm_offline_fileshare_create (test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm create ' + '--source-location {fsSourceLocation} ' + '--target-location account-key="{accountKey}" storage-account-resource-id="{storageAccountId}" ' + '--migration-service "{migrationService}" ' + '--scope "{vmScope}" ' + '--source-database-name "{sourceDBName}" ' + '--source-sql-connection authentication="{authentication}" data-source="{dataSource}" password="{password}" user-name="{userName}" ' + '--target-db-name "{vmOfflineFsTargetDb}" ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}" ' + '--offline-configuration offline=true last-backup-name="{lastBackupName}"', + checks=checks) +''' +#23. VM Offline Blob Create +def step_sql_vm_offline_blob_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm create ' + '--source-location {blobSourceLocation} ' + '--target-location account-key="{accountKey}" storage-account-resource-id="{storageAccountId}" ' + '--migration-service "{migrationService}" ' + '--scope "{vmScope}" ' + '--source-database-name "{sourceDBName}" ' + '--source-sql-connection authentication="{authentication}" data-source="{dataSource}" password="{password}" user-name="{userName}" ' + '--target-db-name "{vmOfflineBlobTargetDb}" ' + '--resource-group "{vmRG}" ' + '--sql-vm-name "{virtualMachine}" ' + '--offline-configuration offline=true last-backup-name="{lastBackupName}"', + checks=checks) + + +# Env cleanup_scenario +def cleanup_scenario(test): + pass + + +# Testcase: Scenario +def call_scenario(test): + setup_scenario(test) + try: + + #1. SQL Service Create + step_sql_service_create(test, checks=[ + test.check("location", "{location}", case_sensitive=False), + test.check("name", "{createSqlMigrationService}", case_sensitive=False), + test.check("provisioningState", "Succeeded", case_sensitive=False) + ]) + + #2. SQL Service Show + step_sql_service_show(test, checks=[ + test.check("location", "{location}", case_sensitive=False), + test.check("name", "{sqlMigrationService}", case_sensitive=False) + ]) + #3. SQL Service List RG + step_sql_service_list_rg(test) + + #4. SQL Service List Sub + step_sql_service_list_sub(test) + + #5. SQL Service List Migration + step_sql_service_list_migration(test) + + #6. SQL Service List Auth Keys + step_sql_service_list_auth_key(test) + + #7. SQL Service Regererate Auth Keys + step_sql_service_regenerate_auth_key(test) + + #8. SQL Service Regererate Auth Keys + step_sql_service_list_integration_runtime_metric(test, checks=[ + test.check("name", "default-ir", case_sensitive=False) + ]) + + #9. SQL Service Delete + step_sql_service_delete(test) + + #10. MI Show + step_sql_managed_instance_show(test, checks=[ + test.check("name", "{miTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlMi", case_sensitive=False) + ]) + + #11. VM Show + step_sql_vm_show(test, checks=[ + test.check("name", "{vmTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlVm", case_sensitive=False) + ]) + + #12. MI Online FileShare Create + step_sql_managed_instance_online_fileshare_create(test, checks=[ + test.check("name", "{miOnlineFsTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlMi", case_sensitive=False), + test.check("properties.provisioningState", "Succeeded", case_sensitive=False), + test.check("properties.migrationStatus", "InProgress", case_sensitive=False) + ]) + + #13.1 MI Online FileShare Cutover + step_sql_managed_instance_online_fileshare_cutover(test) + + #13.2 MI Online FileShare Cutover Confirm + step_sql_managed_instance_online_fileshare_cutover_Confirm(test, checks=[ + test.check("name", "{miOnlineFsTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlMi", case_sensitive=False), + test.check("properties.migrationStatus", "Succeeded", case_sensitive=False) + ]) + + #14. MI Online Blob Create + step_sql_managed_instance_online_blob_create(test, checks=[ + test.check("name", "{miOnlineBlobTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlMi", case_sensitive=False), + test.check("properties.provisioningState", "Succeeded", case_sensitive=False), + test.check("properties.migrationStatus", "InProgress", case_sensitive=False) + ]) + + #15.1 MI Online Blob Cancel + step_sql_managed_instance_online_blob_cancel(test) + + #15.2 MI Online Blob Cancel Confirm + step_sql_managed_instance_online_blob_cancel_Confirm(test, checks=[ + test.check("name", "{miOnlineBlobTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlMi", case_sensitive=False), + test.check("properties.migrationStatus", "Canceled", case_sensitive=False) + ]) + + #16. VM Online FileShare Create + step_sql_vm_online_fileshare_create(test, checks=[ + test.check("name", "{vmOnlineFsTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlVm", case_sensitive=False), + test.check("properties.provisioningState", "Succeeded", case_sensitive=False), + test.check("properties.migrationStatus", "InProgress", case_sensitive=False) + ]) + + #17.1 VM Online FileShare Cutover + step_sql_vm_online_fileshare_cutover(test) + + #17.2 VM Online FileShare Cutover + step_sql_vm_online_fileshare_cutover_Confirm(test, checks=[ + test.check("name", "{vmOnlineFsTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlVm", case_sensitive=False), + test.check("properties.migrationStatus", "Succeeded", case_sensitive=False) + ]) + + + #18. VM Online Blob Create + step_sql_vm_online_blob_create(test, checks=[ + test.check("name", "{vmOnlineBlobTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlVm", case_sensitive=False), + test.check("properties.provisioningState", "Succeeded", case_sensitive=False), + test.check("properties.migrationStatus", "InProgress", case_sensitive=False) + ]) + ''' + #19. VM Online Blob Cancel + step_sql_vm_online_blob_cancel(test) + + #20. MI Offline FS Create + step_sql_managed_instance_offline_fileshare_create(test, checks=[ + test.check("name", "{miOfflineFsTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlMi", case_sensitive=False), + test.check("properties.provisioningState", "Succeeded", case_sensitive=False), + test.check("properties.migrationStatus", "InProgress", case_sensitive=False) + ]) + #21. MI Offline Blob Create + step_sql_managed_instance_offline_blob_create(test, checks=[ + test.check("name", "{miOfflineBlobTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlMi", case_sensitive=False), + test.check("properties.provisioningState", "Succeeded", case_sensitive=False), + test.check("properties.migrationStatus", "InProgress", case_sensitive=False) + ]) + #22. VM Offline FS Create + step_sql_vm_offline_fileshare_create(test, checks=[ + test.check("name", "{vmOfflineFsTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlVm", case_sensitive=False), + test.check("properties.provisioningState", "Succeeded", case_sensitive=False), + test.check("properties.migrationStatus", "InProgress", case_sensitive=False) + ]) + ''' + #23. VM Offline Blob Create + step_sql_vm_offline_blob_create(test, checks=[ + test.check("name", "{vmOfflineBlobTargetDb}", case_sensitive=False), + test.check("type", "Microsoft.DataMigration/databaseMigrations", case_sensitive=False), + test.check("properties.kind", "SqlVm", case_sensitive=False), + test.check("properties.provisioningState", "Succeeded", case_sensitive=False), + test.check("properties.migrationStatus", "InProgress", case_sensitive=False) + ]) + + except Exception as e: + raise e + finally: + cleanup_scenario(test) \ No newline at end of file diff --git a/src/datamigration/azext_datamigration/tests/__init__.py b/src/datamigration/azext_datamigration/tests/__init__.py new file mode 100644 index 00000000000..70488e93851 --- /dev/null +++ b/src/datamigration/azext_datamigration/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/datamigration/azext_datamigration/tests/latest/__init__.py b/src/datamigration/azext_datamigration/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/datamigration/azext_datamigration/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/datamigration/azext_datamigration/tests/latest/example_steps.py b/src/datamigration/azext_datamigration/tests/latest/example_steps.py new file mode 100644 index 00000000000..741c8b377b9 --- /dev/null +++ b/src/datamigration/azext_datamigration/tests/latest/example_steps.py @@ -0,0 +1,284 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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: /SqlMigrationServices/put/Create or Update SQL Migration Service with maximum parameters. +@try_manual +def step_sql_service_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service create ' + '--location "northeurope" ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService}"', + checks=[]) + test.cmd('az datamigration sql-service wait --created ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/put/Create or Update SQL Migration Service with minimum parameters. +@try_manual +def step_sql_service_create2(test, checks=None): + return step_sql_service_create(test, checks) + test.cmd('az datamigration sql-service wait --created ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/get/Get Migration Service. +@try_manual +def step_sql_service_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service show ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService2}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/get/Get Migration Services in the Resource Group. +@try_manual +def step_sql_service_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/get/Get Services in the Subscriptions. +@try_manual +def step_sql_service_list2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list ' + '-g ""', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/get/List database migrations attached to the service. +@try_manual +def step_sql_service_list_migration(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list-migration ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService2}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/patch/Update SQL Migration Service. +@try_manual +def step_sql_service_update(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service update ' + '--tags mytag="myval" ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/post/Delete the integration runtime node. +@try_manual +def step_sql_service_delete_node(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service delete-node ' + '--ir-name "IRName" ' + '--node-name "nodeName" ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService2}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/post/Regenerate the of Authentication Keys. +@try_manual +def step_sql_service_regenerate_auth_key(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service regenerate-auth-key ' + '--key-name "authKey1" ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService2}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/post/Retrieve the List of Authentication Keys. +@try_manual +def step_sql_service_list_auth_key(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list-auth-key ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService2}"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/post/Retrieve the Monitoring Data. +@try_manual +def step_sql_service_list_integration_runtime_metric(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service list-integration-runtime-metric ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService2}"', + checks=checks) + + +# EXAMPLE: /DatabaseMigrationsSqlMi/put/Create or Update Database Migration resource with Maximum parameters. +@try_manual +def step_sql_managed_instance_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance create ' + '--managed-instance-name "managedInstance1" ' + '--source-location "{{\\"fileShare\\":{{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\bbb\\\\\\\\ccc\\",\\"password\\' + '":\\"placeholder\\",\\"username\\":\\"name\\"}}}}" ' + '--target-location account-key="abcd" storage-account-resource-id="account.database.windows.net" ' + '--migration-service "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.DataMigrati' + 'on/sqlMigrationServices/{mySqlMigrationService}" ' + '--offline-configuration last-backup-name="last_backup_file_name" offline=true ' + '--scope "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Sql/managedInstances/in' + 'stance" ' + '--source-database-name "aaa" ' + '--source-sql-connection authentication="WindowsAuthentication" data-source="aaa" encrypt-connection=true ' + 'password="placeholder" trust-server-certificate=true user-name="bbb" ' + '--resource-group "{rg}" ' + '--target-db-name "db1"', + checks=checks) + + +# EXAMPLE: /DatabaseMigrationsSqlMi/put/Create or Update Database Migration resource with Minimum parameters. +@try_manual +def step_sql_managed_instance_create2(test, checks=None): + return step_sql_managed_instance_create(test, checks) + + +# EXAMPLE: /DatabaseMigrationsSqlMi/get/Get Database Migration resource. +@try_manual +def step_sql_managed_instance_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance show ' + '--managed-instance-name "managedInstance1" ' + '--resource-group "{rg}" ' + '--target-db-name "db1"', + checks=checks) + + +# EXAMPLE: /DatabaseMigrationsSqlMi/post/Cutover online migration operation for the database. +@try_manual +def step_sql_managed_instance_cutover(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance cutover ' + '--managed-instance-name "managedInstance1" ' + '--migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" ' + '--resource-group "{rg}" ' + '--target-db-name "db1"', + checks=checks) + + +# EXAMPLE: /DatabaseMigrationsSqlMi/post/Stop ongoing migration for the database. +@try_manual +def step_sql_managed_instance_cancel(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-managed-instance cancel ' + '--managed-instance-name "managedInstance1" ' + '--migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" ' + '--resource-group "{rg}" ' + '--target-db-name "db1"', + checks=checks) + + +# EXAMPLE: /DatabaseMigrationsSqlVm/put/Create or Update Database Migration resource with Maximum parameters. +@try_manual +def step_sql_vm_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm create ' + '--source-location "{{\\"fileShare\\":{{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\bbb\\\\\\\\ccc\\",\\"password\\' + '":\\"placeholder\\",\\"username\\":\\"name\\"}}}}" ' + '--target-location account-key="abcd" storage-account-resource-id="account.database.windows.net" ' + '--migration-service "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.DataMigrati' + 'on/sqlMigrationServices/{mySqlMigrationService}" ' + '--offline-configuration last-backup-name="last_backup_file_name" offline=true ' + '--scope "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.SqlVirtualMachine/sqlVi' + 'rtualMachines/testvm" ' + '--source-database-name "aaa" ' + '--source-sql-connection authentication="WindowsAuthentication" data-source="aaa" encrypt-connection=true ' + 'password="placeholder" trust-server-certificate=true user-name="bbb" ' + '--resource-group "{rg}" ' + '--sql-vm-name "testvm" ' + '--target-db-name "db1"', + checks=checks) + + +# EXAMPLE: /DatabaseMigrationsSqlVm/put/Create or Update Database Migration resource with Minimum parameters. +@try_manual +def step_sql_vm_create2(test, checks=None): + return step_sql_vm_create(test, checks) + + +# EXAMPLE: /DatabaseMigrationsSqlVm/get/Get Database Migration resource. +@try_manual +def step_sql_vm_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm show ' + '--resource-group "{rg}" ' + '--sql-vm-name "testvm" ' + '--target-db-name "db1"', + checks=checks) + + +# EXAMPLE: /DatabaseMigrationsSqlVm/post/Cutover online migration operation for the database. +@try_manual +def step_sql_vm_cutover(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm cutover ' + '--migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" ' + '--resource-group "{rg}" ' + '--sql-vm-name "testvm" ' + '--target-db-name "db1"', + checks=checks) + + +# EXAMPLE: /DatabaseMigrationsSqlVm/post/Stop ongoing migration for the database. +@try_manual +def step_sql_vm_cancel(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-vm cancel ' + '--migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" ' + '--resource-group "{rg}" ' + '--sql-vm-name "testvm" ' + '--target-db-name "db1"', + checks=checks) + + +# EXAMPLE: /SqlMigrationServices/delete/Delete SQL Migration Service. +@try_manual +def step_sql_service_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datamigration sql-service delete -y ' + '--resource-group "{rg}" ' + '--name "{mySqlMigrationService2}"', + checks=checks) diff --git a/src/datamigration/azext_datamigration/tests/latest/recordings/test_datamigration_Scenario.yaml b/src/datamigration/azext_datamigration/tests/latest/recordings/test_datamigration_Scenario.yaml new file mode 100644 index 00000000000..5e9e0cc2e34 --- /dev/null +++ b/src/datamigration/azext_datamigration/tests/latest/recordings/test_datamigration_Scenario.yaml @@ -0,0 +1,7474 @@ +interactions: +- request: + body: '{"location": "eastus2euap"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service create + Connection: + - keep-alive + Content-Length: + - '27' + Content-Type: + - application/json + ParameterSetName: + - --location --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline2?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"provisioningState":"Provisioning"},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline2","name":"sqlServiceUnitTest-Pipeline2","type":"Microsoft.DataMigration/sqlMigrationServices"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlmigrationservice/operationResults/cb8821cc-6cba-447e-afc8-dca6dc902f55?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '338' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:21:42 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: + - datamigration sql-service create + Connection: + - keep-alive + ParameterSetName: + - --location --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlmigrationservice/operationResults/cb8821cc-6cba-447e-afc8-dca6dc902f55?api-version=2021-10-30-preview + response: + body: + string: '{"name":"cb8821cc-6cba-447e-afc8-dca6dc902f55","status":"Succeeded","startTime":"2022-01-18T12:21:40.867Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:21: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service create + Connection: + - keep-alive + ParameterSetName: + - --location --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline2?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":"NeedRegistration"},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline2","name":"sqlServiceUnitTest-Pipeline2","type":"Microsoft.DataMigration/sqlMigrationServices"}' + headers: + cache-control: + - no-cache + content-length: + - '380' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:21: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: + - datamigration sql-service show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsCliUnitTest?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":"NeedRegistration"},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsCliUnitTest","name":"dmsCliUnitTest","type":"Microsoft.DataMigration/sqlMigrationServices"}' + headers: + cache-control: + - no-cache + content-length: + - '352' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices?api-version=2021-10-30-preview + response: + body: + string: '{"value":[{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","name":"sqlServiceUnitTest-Pipeline","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsCliUnitTest","name":"dmsCliUnitTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest7SBLE","name":"sqlServiceUnitTest7SBLE","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline1","name":"sqlServiceUnitTest-Pipeline1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline2","name":"sqlServiceUnitTest-Pipeline2","type":"Microsoft.DataMigration/sqlMigrationServices"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1792' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22:01 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: + - af2d6aec-ed0e-4d41-8e1f-fc8b1cc90afe + - eadd36a8-7b13-429e-ab3c-66893fddec73 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/sqlMigrationServices?api-version=2021-10-30-preview + response: + body: + string: '{"value":[{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimtest10/providers/Microsoft.DataMigration/sqlMigrationServices/aasimdms944","name":"aasimdms944","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtestdmseastus2","name":"aasimtestdmseastus2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/anjalitest","name":"anjalitest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/anjali/providers/Microsoft.DataMigration/sqlMigrationServices/anjali-dms-v2","name":"anjali-dms-v2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","name":"sqlServiceUnitTest-Pipeline","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavaeastus2/providers/Microsoft.DataMigration/sqlMigrationServices/hijavasvcapril23","name":"hijavasvcapril23","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavaservice123","name":"hijavaservice123","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lonwrg/providers/Microsoft.DataMigration/sqlMigrationServices/lonwdmseus2","name":"lonwdmseus2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/aasim0509test","name":"aasim0509test","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/madhurirg/providers/Microsoft.DataMigration/sqlMigrationServices/hijavaservice9","name":"hijavaservice9","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRGEastUS2/providers/Microsoft.DataMigration/sqlMigrationServices/myservice1","name":"myservice1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRGEastUS2/providers/Microsoft.DataMigration/sqlMigrationServices/myservice-eastus2","name":"myservice-eastus2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/mscmdlet","name":"mscmdlet","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/MyCLISqlMigrationService","name":"MyCLISqlMigrationService","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/MyCLISqlMigrationService1","name":"MyCLISqlMigrationService1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/vasuMService","name":"vasuMService","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsAuth","name":"dmsAuth","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmscheck","name":"dmscheck","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsMigration","name":"dmsMigration","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMS","name":"psDMS","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStest267abchywo","name":"psDMStest267abchywo","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStest3rbnp5yalc","name":"psDMStest3rbnp5yalc","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStest49jxbqeuta","name":"psDMStest49jxbqeuta","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStest6xzdi2cqjy","name":"psDMStest6xzdi2cqjy","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStest7b5m0vptuw","name":"psDMStest7b5m0vptuw","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStest9gezsb4x5o","name":"psDMStest9gezsb4x5o","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestbxyther6fp","name":"psDMStestbxyther6fp","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestdn2lcrmj6o","name":"psDMStestdn2lcrmj6o","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestjtpgsridov","name":"psDMStestjtpgsridov","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestkgy63ticsz","name":"psDMStestkgy63ticsz","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestlfo728yn3g","name":"psDMStestlfo728yn3g","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestmw4tqh6vok","name":"psDMStestmw4tqh6vok","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStesto2sjnmaq6y","name":"psDMStesto2sjnmaq6y","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestpjvnwf04q7","name":"psDMStestpjvnwf04q7","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestxftmn20j81","name":"psDMStestxftmn20j81","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStestxnjlyh5gmp","name":"psDMStestxnjlyh5gmp","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/psTest/providers/Microsoft.DataMigration/sqlMigrationServices/psDMStesty6i3w7zmbf","name":"psDMStesty6i3w7zmbf","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rackimtest2/providers/Microsoft.DataMigration/sqlMigrationServices/test0903","name":"test0903","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/dmsscript1","name":"dmsscript1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/dmsUnit","name":"dmsUnit","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/dmsUnitTest","name":"dmsUnitTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/scriptdms19","name":"scriptdms19","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/scriptdms23","name":"scriptdms23","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/scriptdms29","name":"scriptdms29","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/scripty1","name":"scripty1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yaly/providers/Microsoft.DataMigration/sqlMigrationServices/myservice2","name":"myservice2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yaly/providers/Microsoft.DataMigration/sqlMigrationServices/myservice3","name":"myservice3","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yaly/providers/Microsoft.DataMigration/sqlMigrationServices/yalyservice2","name":"yalyservice2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/eastustest/providers/Microsoft.DataMigration/sqlMigrationServices/EastUSTestService","name":"EastUSTestService","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/KMVsRG/providers/Microsoft.DataMigration/sqlMigrationServices/kmvadms","name":"kmvadms","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/madhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/ms123","name":"ms123","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/madhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/vms1","name":"vms1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/SaGangwarSqlMigrationService","name":"SaGangwarSqlMigrationService","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SaGangwarGroup/providers/Microsoft.DataMigration/sqlMigrationServices/SaGangwarSqlMigrationService","name":"SaGangwarSqlMigrationService","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/MySqlMigrationService","name":"MySqlMigrationService","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/SaGangwarSqlMigrationService","name":"SaGangwarSqlMigrationService","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/vasundhra/providers/Microsoft.DataMigration/sqlMigrationServices/trial","name":"trial","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"canadacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/canadacentraltest/providers/Microsoft.DataMigration/sqlMigrationServices/CanadaCentralTest","name":"CanadaCentralTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CentralUsTest/providers/Microsoft.DataMigration/sqlMigrationServices/CentralUsTest","name":"CentralUsTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"canadaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CanadaEastTest/providers/Microsoft.DataMigration/sqlMigrationServices/CanadaEastTest","name":"CanadaEastTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"westeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalywesteurope/providers/Microsoft.DataMigration/sqlMigrationServices/failovertest","name":"failovertest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"australiaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicergaustraliaeast/providers/Microsoft.DataMigration/sqlMigrationServices/serviceaustraliaeast","name":"serviceaustraliaeast","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"australiasoutheast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicergaustraliasoutheast/providers/Microsoft.DataMigration/sqlMigrationServices/serviceaustraliasoutheast","name":"serviceaustraliasoutheast","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"francecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicergfrancec/providers/Microsoft.DataMigration/sqlMigrationServices/servicefrancec","name":"servicefrancec","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"centralindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicergindiacentral/providers/Microsoft.DataMigration/sqlMigrationServices/serviceindiacentral","name":"serviceindiacentral","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicergindiasouth/providers/Microsoft.DataMigration/sqlMigrationServices/serviceindiasouth","name":"serviceindiasouth","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicergjapaneast/providers/Microsoft.DataMigration/sqlMigrationServices/servicejapaneast","name":"servicejapaneast","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicergussouth/providers/Microsoft.DataMigration/sqlMigrationServices/serviceussouth","name":"serviceussouth","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicergasiasoutheast/providers/Microsoft.DataMigration/sqlMigrationServices/serviceasiasoutheast","name":"serviceasiasoutheast","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testyaly/providers/Microsoft.DataMigration/sqlMigrationServices/testyaly","name":"testyaly","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/MadhuriBB","name":"MadhuriBB","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/MadhuriServiceBugBash","name":"MadhuriServiceBugBash","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/kamurugatest1","name":"kamurugatest1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicerguksouth/providers/Microsoft.DataMigration/sqlMigrationServices/serviceuksouth","name":"serviceuksouth","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/rohitdhtest","name":"rohitdhtest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg/providers/Microsoft.DataMigration/sqlMigrationServices/hijavaDmsUkSouth1","name":"hijavaDmsUkSouth1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicerguswest/providers/Microsoft.DataMigration/sqlMigrationServices/serviceuswest","name":"serviceuswest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicerguswest2/providers/Microsoft.DataMigration/sqlMigrationServices/serviceuswest2","name":"serviceuswest2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalyeastasia/providers/Microsoft.DataMigration/sqlMigrationServices/CRUDTest","name":"CRUDTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"northeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalyNorthEurope/providers/Microsoft.DataMigration/sqlMigrationServices/DMSTest","name":"DMSTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"ukwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalyukwest/providers/Microsoft.DataMigration/sqlMigrationServices/DMSFailoverTest","name":"DMSFailoverTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"westcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalywestcentralus/providers/Microsoft.DataMigration/sqlMigrationServices/FailoverTest","name":"FailoverTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azrRG/providers/Microsoft.DataMigration/sqlMigrationServices/azrTest2","name":"azrTest2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/asdfsadfsadfasd","name":"asdfsadfsadfasd","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/test6","name":"test6","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/test1","name":"test1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","name":"sqlServiceUnitTest-Pipeline","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/test0608202122","name":"test0608202122","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/myservice1","name":"myservice1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/vmsf","name":"vmsf","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/datamigration-test-ads","name":"datamigration-test-ads","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/alias","name":"alias","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/alias-dms","name":"alias-dms","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/sqltoolsdemo331","name":"sqltoolsdemo331","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/tsum38-td","name":"tsum38-td","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/061020211057","name":"061020211057","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtestdms0504","name":"aasimtestdms0504","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline1","name":"sqlServiceUnitTest-Pipeline1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/listdmscanary","name":"listdmscanary","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RSETLEM-RG-DMS/providers/Microsoft.DataMigration/sqlMigrationServices/RSETLEM-DMS-Service20","name":"RSETLEM-DMS-Service20","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg/providers/Microsoft.DataMigration/sqlMigrationServices/hijava_canary_controller","name":"hijava_canary_controller","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/new-testing-sqlmigrationservice-cd5j6m1bh8","name":"new-testing-sqlmigrationservice-cd5j6m1bh8","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline2","name":"sqlServiceUnitTest-Pipeline2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavaservicesep01","name":"hijavaservicesep01","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasim-test-dms-330","name":"aasim-test-dms-330","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasim-dms-test-330-2","name":"aasim-dms-test-330-2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijava_canary_controller","name":"hijava_canary_controller","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/test060821","name":"test060821","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.DataMigration/sqlMigrationServices/vasumsFiddler","name":"vasumsFiddler","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtestbutton","name":"aasimtestbutton","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/vmTest0611256","name":"vmTest0611256","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/at0608t","name":"at0608t","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtest1","name":"aasimtest1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimtest10/providers/Microsoft.DataMigration/sqlMigrationServices/aasim728157","name":"aasim728157","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/test","name":"test","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/test123","name":"test123","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasim-dms-330-test-2","name":"aasim-dms-330-test-2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/test1234","name":"test1234","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtest0505","name":"aasimtest0505","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavaservice3","name":"hijavaservice3","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yaly/providers/Microsoft.DataMigration/sqlMigrationServices/hijavaservice3","name":"hijavaservice3","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rohitdhmi/providers/Microsoft.DataMigration/sqlMigrationServices/rohitdhbugbush1021","name":"rohitdhbugbush1021","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/TestFactory0505","name":"TestFactory0505","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yaly/providers/Microsoft.DataMigration/sqlMigrationServices/yalyservice4","name":"yalyservice4","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/test5","name":"test5","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aaskhan060821trial24","name":"aaskhan060821trial24","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/servicerguseast2euap/providers/Microsoft.DataMigration/sqlMigrationServices/serviceuseast2euap","name":"serviceuseast2euap","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavaservice2","name":"hijavaservice2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/MadhuriTestFactory1","name":"MadhuriTestFactory1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/smartura/providers/Microsoft.DataMigration/sqlMigrationServices/smarturatest","name":"smarturatest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/trailTD-delete","name":"trailTD-delete","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RSETLEM-DMS-RG/providers/Microsoft.DataMigration/sqlMigrationServices/DMS-05192021","name":"DMS-05192021","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/MadhuriTestFactory","name":"MadhuriTestFactory","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavasvc25may","name":"hijavasvc25may","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yaly/providers/Microsoft.DataMigration/sqlMigrationServices/yalytest","name":"yalytest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimTestDms060821trial1","name":"aasimTestDms060821trial1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavasep22-3","name":"hijavasep22-3","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimTest","name":"aasimTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rackimtest2/providers/Microsoft.DataMigration/sqlMigrationServices/0910DMS","name":"0910DMS","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RSETLEM-RG-MC41/providers/Microsoft.DataMigration/sqlMigrationServices/RSETLEM-MC41","name":"RSETLEM-MC41","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtestirdms419","name":"aasimtestirdms419","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/vasu","name":"vasu","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/MadhuriTestFactory2","name":"MadhuriTestFactory2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aaskhan060821trial23","name":"aaskhan060821trial23","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimtest10/providers/Microsoft.DataMigration/sqlMigrationServices/test2","name":"test2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest7SBLE","name":"sqlServiceUnitTest7SBLE","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rackimtest/providers/Microsoft.DataMigration/sqlMigrationServices/test1","name":"test1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rackimtest2/providers/Microsoft.DataMigration/sqlMigrationServices/test1","name":"test1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aaskhan","name":"aaskhan","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.DataMigration/sqlMigrationServices/brih-ADMS-v2","name":"brih-ADMS-v2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/vmanhasADSMS","name":"vmanhasADSMS","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtest412","name":"aasimtest412","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/migrationdemoads/providers/Microsoft.DataMigration/sqlMigrationServices/migrationdemodms2021","name":"migrationdemodms2021","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rohitdhmi/providers/Microsoft.DataMigration/sqlMigrationServices/testservicecreation","name":"testservicecreation","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/dms20211030","name":"dms20211030","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/vMS07","name":"vMS07","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/at0608","name":"at0608","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mohamedrg/providers/Microsoft.DataMigration/sqlMigrationServices/mohamedservice001","name":"mohamedservice001","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/madhurirg/providers/Microsoft.DataMigration/sqlMigrationServices/hijavaservice1","name":"hijavaservice1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/06101046","name":"06101046","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/test123ggjugu","name":"test123ggjugu","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/brih-dms-v2/providers/Microsoft.DataMigration/sqlMigrationServices/brih-dms-v2-2","name":"brih-dms-v2-2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtestdms0505","name":"aasimtestdms0505","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtestdms","name":"aasimtestdms","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/myservice","name":"myservice","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rackimtest2/providers/Microsoft.DataMigration/sqlMigrationServices/0901dms","name":"0901dms","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/myservice2","name":"myservice2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavasep22-2","name":"hijavasep22-2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavajuly28","name":"hijavajuly28","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/MySqlMigrationService1","name":"MySqlMigrationService1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/brih-dms-v2/providers/Microsoft.DataMigration/sqlMigrationServices/brih-dms-v2","name":"brih-dms-v2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsCliUnitTest","name":"dmsCliUnitTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimTest06102021","name":"aasimTest06102021","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/TestFactory0107_1","name":"TestFactory0107_1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/blakhani-ads/providers/Microsoft.DataMigration/sqlMigrationServices/blakhani-ads-ui","name":"blakhani-ads-ui","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/at0608tt","name":"at0608tt","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasim-dms-330-3","name":"aasim-dms-330-3","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/madhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/dms2021","name":"dms2021","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/asdfasdfasdf","name":"asdfasdfasdf","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yaly/providers/Microsoft.DataMigration/sqlMigrationServices/yalyservice1","name":"yalyservice1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/test123","name":"test123","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/trialTD","name":"trialTD","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasim0610","name":"aasim0610","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimtest10/providers/Microsoft.DataMigration/sqlMigrationServices/test454","name":"test454","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimbuttontest2","name":"aasimbuttontest2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtestbutton2","name":"aasimtestbutton2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/MyTestService","name":"MyTestService","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/trail-custom","name":"trail-custom","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavasvccanary","name":"hijavasvccanary","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/test124","name":"test124","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimtestbuttons","name":"aasimtestbuttons","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/at0608ttf","name":"at0608ttf","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aasimTestVM_group/providers/Microsoft.DataMigration/sqlMigrationServices/test123ds","name":"test123ds","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavasep22-1","name":"hijavasep22-1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hijavarg_canary/providers/Microsoft.DataMigration/sqlMigrationServices/hijavasvc25may2","name":"hijavasvc25may2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalyeastus2EUAP/providers/Microsoft.DataMigration/sqlMigrationServices/failovertest","name":"failovertest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/brih-dms-v2/providers/Microsoft.DataMigration/sqlMigrationServices/kebarlet-dms","name":"kebarlet-dms","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasim-test-06-10-2021","name":"aasim-test-06-10-2021","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MadhuriRG/providers/Microsoft.DataMigration/sqlMigrationServices/factoryeuap","name":"factoryeuap","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/IR1","name":"IR1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasimTestDms060821trial2","name":"aasimTestDms060821trial2","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aasim-test0610","name":"aasim-test0610","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.DataMigration/sqlMigrationServices/aaskhan-dms-0329","name":"aaskhan-dms-0329","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Failed","integrationRuntimeState":""},"location":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yaly/providers/Microsoft.DataMigration/sqlMigrationServices/yalyservice3","name":"yalyservice3","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"centraluseuap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/central_us_euap_testing/providers/Microsoft.DataMigration/sqlMigrationServices/hijavacanary2svc1","name":"hijavacanary2svc1","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yalyKoreaSouth/providers/Microsoft.DataMigration/sqlMigrationServices/FailoverTest","name":"FailoverTest","type":"Microsoft.DataMigration/sqlMigrationServices"},{"properties":{"provisioningState":"Succeeded","integrationRuntimeState":""},"location":"swedensouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/brih-dms-v2/providers/Microsoft.DataMigration/sqlMigrationServices/hijava-sweden-svc1","name":"hijava-sweden-svc1","type":"Microsoft.DataMigration/sqlMigrationServices"}]}' + headers: + cache-control: + - no-cache + content-length: + - '69255' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22:04 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: + - 16ece97e-6938-4260-9b80-7f13e19a924d + - 4e2482ea-da3b-4c0e-944b-5e2db041bf20 + - fd22c1c8-4bb3-489b-94a5-3104748659d5 + - 12348367-7727-45d9-8f6e-87ac62e3fc5a + - e023c2a9-13cc-4996-98d8-4ab7520a9b68 + - 01f909d4-f8fe-4428-9bd7-d012dd6f83ae + - 26f79643-e909-49fb-aa1e-e7d119cd2318 + - c590de5b-60ce-47a6-98b5-c9979afc83b6 + - 724a81b9-0d02-4e47-b144-2cd615305336 + - 7981d5a4-c384-44a8-b1eb-44ae6cc0888f + - 46122513-36c7-489c-b7ec-cd9b412a14a0 + - b0bfcc4d-5dd1-4812-8926-2fc9c338891f + - d61554c8-c3c6-4e3e-84db-6e92d9ba737e + - 6f854a8c-625e-44e3-835b-06b16b195b5b + - 649caf64-d6a4-46da-b9a8-c164e9ee4069 + - d45cb482-c95d-4b44-8bba-bed802d82b63 + - 50fb543a-4ed7-427f-aa2b-54d4f0076af6 + - ab19eb6c-49f6-4e16-aff8-e9d23bde6b6d + - a0d10b61-0e92-4e91-86ad-b8cd007f7e4f + - 4b6e0454-c5bb-477d-8961-367bc7b6133c + - 281d3f77-cd91-42dd-8cc7-647eec5d5230 + - 13b7df81-c88c-42d8-9efd-9e707bdc1364 + - 1e59bac3-61c9-49c3-90d4-e29f2dc53ee2 + - 4e02e79a-2b42-48ab-a59b-c16686ed3bb7 + - cfd60385-93df-4c0f-831e-cf93be1440e0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service list-migration + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsCliUnitTest/listMigrations?api-version=2021-10-30-preview + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service list-auth-key + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsCliUnitTest/listAuthKeys?api-version=2021-10-30-preview + response: + body: + string: '{"authKey1":"IR@XXXXXXXXXX","authKey2":"IR@XXXXXXXXXX"}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"keyName": "authKey1"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service regenerate-auth-key + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - --key-name --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsCliUnitTest/regenerateAuthKeys?api-version=2021-10-30-preview + response: + body: + string: '{"authKey1":"IR@XXXXXXXXXX"}' + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22: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: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service list-integration-runtime-metric + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/dmsCliUnitTest/listMonitoringData?api-version=2021-10-30-preview + response: + body: + string: '{"name":"default-ir","nodes":[]}' + headers: + cache-control: + - no-cache + content-length: + - '32' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLIUnitTest/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline2?api-version=2021-10-30-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/deletesqlmigrationservice/operationResults/c3d681ba-415b-41e2-a014-51cc1236d370?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 18 Jan 2022 12:22:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/sqlMigrationServiceOperationResults/c3d681ba-415b-41e2-a014-51cc1236d370?api-version=2021-10-30-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-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-service delete + Connection: + - keep-alive + ParameterSetName: + - -y --resource-group --name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/deletesqlmigrationservice/operationResults/c3d681ba-415b-41e2-a014-51cc1236d370?api-version=2021-10-30-preview + response: + body: + string: '{"name":"c3d681ba-415b-41e2-a014-51cc1236d370","status":"Succeeded","startTime":"2022-01-18T12:22:13.963Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-CLI-MIOnline?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"Succeeded","startedOn":"2021-12-30T06:16:43.983Z","endedOn":"2021-12-30T07:34:46.553Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/IR1","migrationOperationId":"c20c73a6-9cf4-488e-b458-243b9eb43e24","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-CLI-MIOnline","name":"tsum-CLI-MIOnline","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '874' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --sql-vm-name --target-db-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-VM?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"Succeeded","startedOn":"2021-12-28T17:31:36.843Z","endedOn":"2021-12-28T17:45:08.573Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/IR1","migrationOperationId":"18aff4bb-892a-4c9a-bc31-49110101255d","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-VM","name":"tsum-Db-VM","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '884' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22: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: '{"properties": {"kind": "SqlMi", "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi", + "sourceSqlConnection": {"dataSource": "AALAB03-2K8.REDMOND.CORP.MICROSOFT.COM", + "authentication": "SqlAuthentication", "userName": "hijavatestuser1", "password": + "XXXXXXXXXXXX"}, "sourceDatabaseName": "AdventureWorks", "migrationService": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/SqlMigrationServices/sqlServiceUnitTest-Pipeline", + "backupConfiguration": {"sourceLocation": {"fileShare": {"path": "\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman", + "username": "AALAB03-2K8\\hijavatestlocaluser", "password": "XXXXXXXXXXXX"}}, + "targetLocation": {"storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.Storage/storageAccounts/aasimmigrationtest", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance create + Connection: + - keep-alive + Content-Length: + - '1094' + Content-Type: + - application/json + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --managed-instance-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Creating","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlmimigration/operationResults/5b46960e-ecd2-4d4c-a45c-7358dd399d61?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '737' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22:35 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: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --managed-instance-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlmimigration/operationResults/5b46960e-ecd2-4d4c-a45c-7358dd399d61?api-version=2021-10-30-preview + response: + body: + string: '{"name":"5b46960e-ecd2-4d4c-a45c-7358dd399d61","status":"InProgress","startTime":"2022-01-18T12:22:34.747Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:22:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --managed-instance-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlmimigration/operationResults/5b46960e-ecd2-4d4c-a45c-7358dd399d61?api-version=2021-10-30-preview + response: + body: + string: '{"name":"5b46960e-ecd2-4d4c-a45c-7358dd399d61","status":"Succeeded","startTime":"2022-01-18T12:22:34.747Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:23:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --managed-instance-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '870' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:23:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"StartFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1033' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:23: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:23:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:23: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:23:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:23:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:24:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:24:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:24: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:24:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:24:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:25: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2661' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:25:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2661' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:25:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2661' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:25:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2661' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:25:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2661' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:26: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3206' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:26:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3206' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:26: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3206' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:26:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3206' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:26:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3206' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:27:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":58,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3206' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:27:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3266' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:27:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3266' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:27: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3266' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:27:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3266' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:28:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":275.36099243164062,"copyDuration":119,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3266' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:28:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"StartLogBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"fileUploadBlockingErrors":["Failure + happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net SqlClient + Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY is terminating + abnormally.,},],''","Failure happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test - + Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net + SqlClient Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY + is terminating abnormally.,},],''","Failure happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''Cannot open backup device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.,Source=.Net SqlClient Data Provider,SqlErrorNumber=3201,Class=16,ErrorCode=-2146232060,State=2,Errors=[{Class=16,Number=3201,State=2,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).,},{Class=16,Number=3013,State=1,Message=RESTORE + HEADERONLY is terminating abnormally.,},],''"],"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '6149' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:28: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"MonitorMigration","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"currentRestoringFilename":"AdventureWorksFullBackup.bak","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3308' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:28: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"MonitorMigration","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"currentRestoringFilename":"AdventureWorksFullBackup.bak","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3308' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:28:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"MonitorMigration","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"currentRestoringFilename":"AdventureWorksFullBackup.bak","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3308' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:28:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"MonitorMigration","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"currentRestoringFilename":"AdventureWorksFullBackup.bak","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3308' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:29: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"MonitorMigration","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restoring","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":false,"currentRestoringFilename":"AdventureWorksFullBackup.bak","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3308' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:29: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: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"MonitorMigration","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restored","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":true,"hasBackupChecksums":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restored","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":369.43399047851562,"copyDuration":167,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":true,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","isFullBackupRestored":true,"currentRestoringFilename":"AdventureWorksFullBackup.bak","lastRestoredFilename":"AdventureWorksFullBackup.bak","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3357' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:29: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: '{"migrationOperationId": "5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cutover + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9/cutover?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:23:00.387Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlmimigration/operationResults/6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '870' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:29:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlmimigration/operationResults/6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63?api-version=2021-10-30-preview + response: + body: + string: '{"name":"6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63","status":"InProgress","startTime":"2022-01-18T12:29:38.463Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:29:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlmimigration/operationResults/6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63?api-version=2021-10-30-preview + response: + body: + string: '{"name":"6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63","status":"InProgress","startTime":"2022-01-18T12:29:38.463Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:30:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlmimigration/operationResults/6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63?api-version=2021-10-30-preview + response: + body: + string: '{"name":"6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63","status":"InProgress","startTime":"2022-01-18T12:29:38.463Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:30: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlmimigration/operationResults/6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63?api-version=2021-10-30-preview + response: + body: + string: '{"name":"6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63","status":"InProgress","startTime":"2022-01-18T12:29:38.463Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:30:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlmimigration/operationResults/6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63?api-version=2021-10-30-preview + response: + body: + string: '{"name":"6d84ca72-f4fe-4aa1-8c6f-ff3d99351c63","status":"Succeeded","startTime":"2022-01-18T12:29:38.463Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:30:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"Succeeded","startedOn":"2022-01-18T12:23:00.387Z","endedOn":"2022-01-18T12:30:43.86Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"5b1d7d1b-0e2c-4bd1-bb47-2b209791eccd","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-fs9","name":"tsum-Db-mi-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '905' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:30:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"kind": "SqlMi", "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi", + "sourceSqlConnection": {"dataSource": "AALAB03-2K8.REDMOND.CORP.MICROSOFT.COM", + "authentication": "SqlAuthentication", "userName": "hijavatestuser1", "password": + "XXXXXXXXXXXX"}, "sourceDatabaseName": "AdventureWorks", "migrationService": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/SqlMigrationServices/sqlServiceUnitTest-Pipeline", + "backupConfiguration": {"sourceLocation": {"azureBlob": {"storageAccountResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tzppesignoff1211/providers/Microsoft.Storage/storageAccounts/hijavateststorage", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX", + "blobContainerName": "tsum38-adventureworks"}}, "targetLocation": {"storageAccountResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.Storage/storageAccounts/aasimmigrationtest", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance create + Connection: + - keep-alive + Content-Length: + - '1271' + Content-Type: + - application/json + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --managed-instance-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-blob9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Creating","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-blob9","name":"tsum-Db-mi-online-blob9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlmimigration/operationResults/3240ef81-26a4-4ed3-9945-b1bdf73559ba?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '741' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:31:00 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: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --managed-instance-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlmimigration/operationResults/3240ef81-26a4-4ed3-9945-b1bdf73559ba?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3240ef81-26a4-4ed3-9945-b1bdf73559ba","status":"Succeeded","startTime":"2022-01-18T12:31:00.173Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:31:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --managed-instance-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-blob9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:31:00.517Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"50e46d33-15df-4deb-8cbe-50a0facbe626","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-blob9","name":"tsum-Db-mi-online-blob9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '874' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:31:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance show + Connection: + - keep-alive + ParameterSetName: + - --managed-instance-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-blob9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"MonitorMigration","blobContainerName":"tsum38-adventureworks","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:31:00.517Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"50e46d33-15df-4deb-8cbe-50a0facbe626","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-blob9","name":"tsum-Db-mi-online-blob9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1008' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:31:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"migrationOperationId": "50e46d33-15df-4deb-8cbe-50a0facbe626"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-blob9/cancel?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi","provisioningState":"Canceling","sourceDatabaseName":"AdventureWorks","kind":"SqlMi"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MigrationTesting/providers/Microsoft.Sql/managedInstances/migrationtestmi/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-mi-online-blob9","name":"tsum-Db-mi-online-blob9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '562' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:31: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3fb5961a-2d4f-4c2c-823e-fae5272119cd","status":"InProgress","startTime":"2022-01-18T12:31:21.263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:31: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3fb5961a-2d4f-4c2c-823e-fae5272119cd","status":"InProgress","startTime":"2022-01-18T12:31:21.263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:31:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3fb5961a-2d4f-4c2c-823e-fae5272119cd","status":"InProgress","startTime":"2022-01-18T12:31:21.263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3fb5961a-2d4f-4c2c-823e-fae5272119cd","status":"InProgress","startTime":"2022-01-18T12:31:21.263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:32:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3fb5961a-2d4f-4c2c-823e-fae5272119cd","status":"InProgress","startTime":"2022-01-18T12:31:21.263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:32: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3fb5961a-2d4f-4c2c-823e-fae5272119cd","status":"InProgress","startTime":"2022-01-18T12:31:21.263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:32:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3fb5961a-2d4f-4c2c-823e-fae5272119cd","status":"InProgress","startTime":"2022-01-18T12:31:21.263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:33:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-managed-instance cancel + Connection: + - keep-alive + ParameterSetName: + - --resource-group --managed-instance-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cancelsqlmimigration/operationResults/3fb5961a-2d4f-4c2c-823e-fae5272119cd?api-version=2021-10-30-preview + response: + body: + string: '{"name":"3fb5961a-2d4f-4c2c-823e-fae5272119cd","status":"Succeeded","startTime":"2022-01-18T12:31:21.263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:33:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"kind": "SqlVm", "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachines/DMSCmdletTest-SqlVM", + "sourceSqlConnection": {"dataSource": "AALAB03-2K8.REDMOND.CORP.MICROSOFT.COM", + "authentication": "SqlAuthentication", "userName": "hijavatestuser1", "password": + "XXXXXXXXXXXX"}, "sourceDatabaseName": "AdventureWorks", "migrationService": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/SqlMigrationServices/sqlServiceUnitTest-Pipeline", + "backupConfiguration": {"sourceLocation": {"fileShare": {"path": "\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman", + "username": "AALAB03-2K8\\hijavatestlocaluser", "password": "XXXXXXXXXXXX"}}, + "targetLocation": {"storageAccountResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.Storage/storageAccounts/aasimmigrationtest", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + Content-Length: + - '1106' + Content-Type: + - application/json + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Creating","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:33:28 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: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:33:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:33: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:34:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:34: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:34:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:35: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: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:35:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:35:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:35: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: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:36:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:36:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"InProgress","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:36: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: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/834dc234-c23f-41bb-aa3a-e440579e2f0d?api-version=2021-10-30-preview + response: + body: + string: '{"name":"834dc234-c23f-41bb-aa3a-e440579e2f0d","status":"Succeeded","startTime":"2022-01-18T12:33:27.483Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:36:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '894' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:36:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"StartFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1057' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:36:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:37:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:37:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:37:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:37: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:37:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:38:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:38: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:38:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:38: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:38:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":0},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1059' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:38: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2685' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:39:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2685' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:39: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2685' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:39: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2685' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:39:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Arrived","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '2685' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:39:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3204' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:40:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3204' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:40:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3204' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:40:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3204' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:40:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":57,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3204' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:40:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3264' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:41: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3264' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:41:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3264' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:41: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3264' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:41:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploading","totalSize":63176192,"dataRead":33554432,"dataWritten":33554432,"copyThroughput":277.69500732421875,"copyDuration":118,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3264' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:41:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3262' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:42: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3262' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:42:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3262' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:42: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3262' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:42:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitForFullBackupUploadOperation","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3262' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:42:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"RestoreStart","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"fileUploadBlockingErrors":["Failure + happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''Cannot open backup device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.,Source=.Net SqlClient Data Provider,SqlErrorNumber=3201,Class=16,ErrorCode=-2146232060,State=2,Errors=[{Class=16,Number=3201,State=2,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).,},{Class=16,Number=3013,State=1,Message=RESTORE + HEADERONLY is terminating abnormally.,},],''","Failure happened on ''Source'' + side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net SqlClient + Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY is terminating + abnormally.,},],''","Failure happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test - + Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net + SqlClient Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY + is terminating abnormally.,},],''"],"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '6130' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:43:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitRestoreStart","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"fileUploadBlockingErrors":["Failure + happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''Cannot open backup device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.,Source=.Net SqlClient Data Provider,SqlErrorNumber=3201,Class=16,ErrorCode=-2146232060,State=2,Errors=[{Class=16,Number=3201,State=2,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).,},{Class=16,Number=3013,State=1,Message=RESTORE + HEADERONLY is terminating abnormally.,},],''","Failure happened on ''Source'' + side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net SqlClient + Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY is terminating + abnormally.,},],''","Failure happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test - + Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net + SqlClient Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY + is terminating abnormally.,},],''"],"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '6134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:43:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitRestoreStart","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"fileUploadBlockingErrors":["Failure + happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''Cannot open backup device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.,Source=.Net SqlClient Data Provider,SqlErrorNumber=3201,Class=16,ErrorCode=-2146232060,State=2,Errors=[{Class=16,Number=3201,State=2,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).,},{Class=16,Number=3013,State=1,Message=RESTORE + HEADERONLY is terminating abnormally.,},],''","Failure happened on ''Source'' + side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net SqlClient + Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY is terminating + abnormally.,},],''","Failure happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test - + Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net + SqlClient Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY + is terminating abnormally.,},],''"],"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '6134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:43:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitRestoreStart","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"fileUploadBlockingErrors":["Failure + happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''Cannot open backup device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.,Source=.Net SqlClient Data Provider,SqlErrorNumber=3201,Class=16,ErrorCode=-2146232060,State=2,Errors=[{Class=16,Number=3201,State=2,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).,},{Class=16,Number=3013,State=1,Message=RESTORE + HEADERONLY is terminating abnormally.,},],''","Failure happened on ''Source'' + side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net SqlClient + Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY is terminating + abnormally.,},],''","Failure happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test - + Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net + SqlClient Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY + is terminating abnormally.,},],''"],"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '6134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:43:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitRestoreStart","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"fileUploadBlockingErrors":["Failure + happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''Cannot open backup device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.,Source=.Net SqlClient Data Provider,SqlErrorNumber=3201,Class=16,ErrorCode=-2146232060,State=2,Errors=[{Class=16,Number=3201,State=2,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).,},{Class=16,Number=3013,State=1,Message=RESTORE + HEADERONLY is terminating abnormally.,},],''","Failure happened on ''Source'' + side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net SqlClient + Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY is terminating + abnormally.,},],''","Failure happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test - + Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net + SqlClient Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY + is terminating abnormally.,},],''"],"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '6134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:43:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"WaitRestoreStart","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Uploaded","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":false,"fileUploadBlockingErrors":["Failure + happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''Cannot open backup device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).\nRESTORE HEADERONLY is terminating + abnormally.,Source=.Net SqlClient Data Provider,SqlErrorNumber=3201,Class=16,ErrorCode=-2146232060,State=2,Errors=[{Class=16,Number=3201,State=2,Message=Cannot + open backup device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\backup''. + Operating system error 5(Access is denied.).,},{Class=16,Number=3013,State=1,Message=RESTORE + HEADERONLY is terminating abnormally.,},],''","Failure happened on ''Source'' + side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net SqlClient + Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test.json'' + is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY is terminating + abnormally.,},],''","Failure happened on ''Source'' side. ErrorCode=SqlOperationFailed,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A + database operation failed with the following error: ''The volume on device + ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test - + Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.'',Source=,''''Type=System.Data.SqlClient.SqlException,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.\nRESTORE HEADERONLY is terminating abnormally.,Source=.Net + SqlClient Data Provider,SqlErrorNumber=3254,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=3254,State=1,Message=The + volume on device ''\\\\aalab03-2k8.redmond.corp.microsoft.com\\SharedBackup\\tsuman\\test + - Copy.txt'' is empty.,},{Class=16,Number=3013,State=1,Message=RESTORE HEADERONLY + is terminating abnormally.,},],''"],"pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '6134' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:44:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --sql-vm-name --resource-group --target-db-name --expand + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?$expand=MigrationStatusDetails&api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"migrationStatusDetails":{"migrationState":"MonitorMigration","fullBackupSetInfo":{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restored","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":true,"familyCount":1},"activeBackupSets":[{"backupSetId":"e6b60e53-c7b5-48dd-8f07-95f0caa66de1","firstLSN":"486000000145100000","lastLSN":"486000000145300000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog2.trn","status":"Arrived","totalSize":259584,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:56:02Z","backupFinishDate":"2019-01-11T13:56:02Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"9fceb4b8-3864-45b6-bd35-998619297164","firstLSN":"486000000131000000","lastLSN":"486000000132600000","backupType":"Database","listOfBackupFiles":[{"fileName":"AdventureWorksFullBackup.bak","status":"Restored","totalSize":63176192,"dataRead":63176192,"dataWritten":63176192,"copyThroughput":356.62100219726562,"copyDuration":173,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:53:40Z","backupFinishDate":"2019-01-11T13:53:40Z","isBackupRestored":true,"hasBackupChecksums":true,"familyCount":1},{"backupSetId":"7bdfc66c-14d5-4acc-91d3-d9568cabc0e0","firstLSN":"486000000126400000","lastLSN":"486000000145100000","backupType":"TransactionLog","listOfBackupFiles":[{"fileName":"AdventureWorksTransactionLog1.trn","status":"Arrived","totalSize":325120,"dataRead":0,"dataWritten":0,"copyThroughput":0.0,"copyDuration":0,"familySequenceNumber":1}],"backupStartDate":"2019-01-11T13:55:21Z","backupFinishDate":"2019-01-11T13:55:21Z","isBackupRestored":false,"hasBackupChecksums":true,"familyCount":1}],"invalidFiles":["test + - Copy.txt","test.json","InvalidBackup %20+ `~1!2@3#4$5%6^7&8(9)0_-+=]}[{;'',, + ;+&[]~{}.txt"],"blobContainerName":"79b234dd-5f04-4f18-9edd-30ce333b6474","isFullBackupRestored":true,"currentRestoringFilename":"AdventureWorksFullBackup.bak","lastRestoredFilename":"AdventureWorksFullBackup.bak","pendingLogBackupsCount":2},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '3355' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:44:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"migrationOperationId": "79b234dd-5f04-4f18-9edd-30ce333b6474"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm cutover + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --sql-vm-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9/cutover?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:36:45.973Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlvmmigration/operationResults/7783038f-3286-472d-8bbb-b7ac1254d6df?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '894' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:44:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --sql-vm-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlvmmigration/operationResults/7783038f-3286-472d-8bbb-b7ac1254d6df?api-version=2021-10-30-preview + response: + body: + string: '{"name":"7783038f-3286-472d-8bbb-b7ac1254d6df","status":"InProgress","startTime":"2022-01-18T12:44:18.447Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:44: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --sql-vm-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlvmmigration/operationResults/7783038f-3286-472d-8bbb-b7ac1254d6df?api-version=2021-10-30-preview + response: + body: + string: '{"name":"7783038f-3286-472d-8bbb-b7ac1254d6df","status":"InProgress","startTime":"2022-01-18T12:44:18.447Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:44:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --sql-vm-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlvmmigration/operationResults/7783038f-3286-472d-8bbb-b7ac1254d6df?api-version=2021-10-30-preview + response: + body: + string: '{"name":"7783038f-3286-472d-8bbb-b7ac1254d6df","status":"InProgress","startTime":"2022-01-18T12:44:18.447Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:45:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --sql-vm-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlvmmigration/operationResults/7783038f-3286-472d-8bbb-b7ac1254d6df?api-version=2021-10-30-preview + response: + body: + string: '{"name":"7783038f-3286-472d-8bbb-b7ac1254d6df","status":"InProgress","startTime":"2022-01-18T12:44:18.447Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:45:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm cutover + Connection: + - keep-alive + ParameterSetName: + - --resource-group --sql-vm-name --target-db-name --migration-operation-id + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/cutoversqlvmmigration/operationResults/7783038f-3286-472d-8bbb-b7ac1254d6df?api-version=2021-10-30-preview + response: + body: + string: '{"name":"7783038f-3286-472d-8bbb-b7ac1254d6df","status":"Succeeded","startTime":"2022-01-18T12:44:18.447Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:45: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: + - datamigration sql-vm show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --sql-vm-name --target-db-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"Succeeded","startedOn":"2022-01-18T12:36:45.973Z","endedOn":"2022-01-18T12:45:20.02Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"79b234dd-5f04-4f18-9edd-30ce333b6474","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-fs9","name":"tsum-Db-vm-online-fs9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:45:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"kind": "SqlVm", "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachines/DMSCmdletTest-SqlVM", + "sourceSqlConnection": {"dataSource": "AALAB03-2K8.REDMOND.CORP.MICROSOFT.COM", + "authentication": "SqlAuthentication", "userName": "hijavatestuser1", "password": + "XXXXXXXXXXXX"}, "sourceDatabaseName": "AdventureWorks", "migrationService": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/SqlMigrationServices/sqlServiceUnitTest-Pipeline", + "backupConfiguration": {"sourceLocation": {"azureBlob": {"storageAccountResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tzppesignoff1211/providers/Microsoft.Storage/storageAccounts/hijavateststorage", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX", + "blobContainerName": "tsum38-adventureworks"}}, "targetLocation": {"storageAccountResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.Storage/storageAccounts/aasimmigrationtest", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + Content-Length: + - '1283' + Content-Type: + - application/json + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-blob9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Creating","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-blob9","name":"tsum-Db-vm-online-blob9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/403726fd-f62e-481a-932c-bbfc733f26a5?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '765' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:45:41 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: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/403726fd-f62e-481a-932c-bbfc733f26a5?api-version=2021-10-30-preview + response: + body: + string: '{"name":"403726fd-f62e-481a-932c-bbfc733f26a5","status":"InProgress","startTime":"2022-01-18T12:45:41.067Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:45:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/403726fd-f62e-481a-932c-bbfc733f26a5?api-version=2021-10-30-preview + response: + body: + string: '{"name":"403726fd-f62e-481a-932c-bbfc733f26a5","status":"InProgress","startTime":"2022-01-18T12:45:41.067Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:46:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/403726fd-f62e-481a-932c-bbfc733f26a5?api-version=2021-10-30-preview + response: + body: + string: '{"name":"403726fd-f62e-481a-932c-bbfc733f26a5","status":"InProgress","startTime":"2022-01-18T12:45:41.067Z"}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:46: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/403726fd-f62e-481a-932c-bbfc733f26a5?api-version=2021-10-30-preview + response: + body: + string: '{"name":"403726fd-f62e-481a-932c-bbfc733f26a5","status":"Succeeded","startTime":"2022-01-18T12:45:41.067Z"}' + headers: + cache-control: + - no-cache + content-length: + - '107' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:46:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-blob9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:46:42.74Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"8b776e61-572b-4365-a9ce-34a3c094b506","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-online-blob9","name":"tsum-Db-vm-online-blob9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '897' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:46:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"kind": "SqlVm", "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachines/DMSCmdletTest-SqlVM", + "sourceSqlConnection": {"dataSource": "AALAB03-2K8.REDMOND.CORP.MICROSOFT.COM", + "authentication": "SqlAuthentication", "userName": "hijavatestuser1", "password": + "XXXXXXXXXXXX"}, "sourceDatabaseName": "AdventureWorks", "migrationService": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/SqlMigrationServices/sqlServiceUnitTest-Pipeline", + "backupConfiguration": {"sourceLocation": {"azureBlob": {"storageAccountResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tzppesignoff1211/providers/Microsoft.Storage/storageAccounts/hijavateststorage", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX", + "blobContainerName": "tsum38-adventureworks"}}, "targetLocation": {"storageAccountResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aaskhan/providers/Microsoft.Storage/storageAccounts/aasimmigrationtest", + "accountKey": "XXXXXXXXXXXX/XXXXXXXXXXXX"}}, + "offlineConfiguration": {"offline": true, "lastBackupName": "AdventureWorksTransactionLog2.trn"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + Content-Length: + - '1381' + Content-Type: + - application/json + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-offline-blob9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"autoCutoverConfiguration":{"autoCutover":true,"lastBackupName":"AdventureWorksTransactionLog2.trn"},"offlineConfiguration":{"offline":true,"lastBackupName":"AdventureWorksTransactionLog2.trn"},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Creating","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-offline-blob9","name":"tsum-Db-vm-offline-blob9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + cache-control: + - no-cache + content-length: + - '961' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:46:47 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: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:47:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:47:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:47: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: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:47:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:48:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:48:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:48: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:48:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:49:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"InProgress","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:49: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: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataMigration/locations/eastus2euap/operationTypes/createsqlvmmigration/operationResults/2683bec1-0700-4514-a178-392082ba8571?api-version=2021-10-30-preview + response: + body: + string: '{"name":"2683bec1-0700-4514-a178-392082ba8571","status":"Succeeded","startTime":"2022-01-18T12:46:47.2Z"}' + headers: + cache-control: + - no-cache + content-length: + - '105' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:49: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datamigration sql-vm create + Connection: + - keep-alive + ParameterSetName: + - --source-location --target-location --migration-service --scope --source-database-name + --source-sql-connection --target-db-name --resource-group --sql-vm-name --offline-configuration + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-datamigration/1.0.0b1 Python/3.10.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-offline-blob9?api-version=2021-10-30-preview + response: + body: + string: '{"properties":{"autoCutoverConfiguration":{"autoCutover":true,"lastBackupName":"AdventureWorksTransactionLog2.trn"},"offlineConfiguration":{"offline":true,"lastBackupName":"AdventureWorksTransactionLog2.trn"},"scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM","provisioningState":"Succeeded","migrationStatus":"InProgress","startedOn":"2022-01-18T12:49:32.543Z","sourceDatabaseName":"AdventureWorks","migrationService":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.DataMigration/sqlMigrationServices/sqlServiceUnitTest-Pipeline","migrationOperationId":"ab7b603a-83b1-4741-a54c-faec6c8869be","kind":"SqlVm"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tsum38RG/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/DMSCmdletTest-SqlVM/providers/Microsoft.DataMigration/databaseMigrations/tsum-Db-vm-offline-blob9","name":"tsum-Db-vm-offline-blob9","type":"Microsoft.DataMigration/databaseMigrations"}' + headers: + cache-control: + - no-cache + content-length: + - '1094' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 18 Jan 2022 12:49: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 +version: 1 diff --git a/src/datamigration/azext_datamigration/tests/latest/test_datamigration_scenario.py b/src/datamigration/azext_datamigration/tests/latest/test_datamigration_scenario.py new file mode 100644 index 00000000000..75e273a39ea --- /dev/null +++ b/src/datamigration/azext_datamigration/tests/latest/test_datamigration_scenario.py @@ -0,0 +1,119 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer +from .example_steps import step_sql_service_create +from .example_steps import step_sql_service_create2 +from .example_steps import step_sql_service_show +from .example_steps import step_sql_service_list +from .example_steps import step_sql_service_list2 +from .example_steps import step_sql_service_list_migration +from .example_steps import step_sql_service_update +from .example_steps import step_sql_service_delete_node +from .example_steps import step_sql_service_regenerate_auth_key +from .example_steps import step_sql_service_list_auth_key +from .example_steps import step_sql_service_list_integration_runtime_metric +from .example_steps import step_sql_managed_instance_create +from .example_steps import step_sql_managed_instance_create2 +from .example_steps import step_sql_managed_instance_show +from .example_steps import step_sql_managed_instance_cutover +from .example_steps import step_sql_managed_instance_cancel +from .example_steps import step_sql_vm_create +from .example_steps import step_sql_vm_create2 +from .example_steps import step_sql_vm_show +from .example_steps import step_sql_vm_cutover +from .example_steps import step_sql_vm_cancel +from .example_steps import step_sql_service_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_scenario(test): + pass + + +# Env cleanup_scenario +@try_manual +def cleanup_scenario(test): + pass + + +# Testcase: Scenario +@try_manual +def call_scenario(test): + setup_scenario(test) + step_sql_service_create(test, checks=[ + test.check("location", "northeurope", case_sensitive=False), + test.check("name", "{mySqlMigrationService}", case_sensitive=False), + ]) + step_sql_service_create2(test, checks=[ + test.check("location", "northeurope", case_sensitive=False), + test.check("name", "{mySqlMigrationService}", case_sensitive=False), + ]) + step_sql_service_show(test, checks=[]) + step_sql_service_list(test, checks=[ + test.check('length(@)', 1), + ]) + step_sql_service_list2(test, checks=[ + test.check('length(@)', 1), + ]) + step_sql_service_list_migration(test, checks=[]) + step_sql_service_update(test, checks=[ + test.check("location", "northeurope", case_sensitive=False), + test.check("name", "{mySqlMigrationService}", case_sensitive=False), + test.check("tags.mytag", "myval", case_sensitive=False), + ]) + step_sql_service_delete_node(test, checks=[]) + step_sql_service_regenerate_auth_key(test, checks=[]) + step_sql_service_list_auth_key(test, checks=[]) + step_sql_service_list_integration_runtime_metric(test, checks=[]) + step_sql_managed_instance_create(test, checks=[]) + step_sql_managed_instance_create2(test, checks=[]) + step_sql_managed_instance_show(test, checks=[]) + step_sql_managed_instance_cutover(test, checks=[]) + step_sql_managed_instance_cancel(test, checks=[]) + step_sql_vm_create(test, checks=[]) + step_sql_vm_create2(test, checks=[]) + step_sql_vm_show(test, checks=[]) + step_sql_vm_cutover(test, checks=[]) + step_sql_vm_cancel(test, checks=[]) + step_sql_service_delete(test, checks=[]) + cleanup_scenario(test) + + +# Test class for Scenario +@try_manual +class DatamigrationScenarioTest(ScenarioTest): + def __init__(self, *args, **kwargs): + super(DatamigrationScenarioTest, self).__init__(*args, **kwargs) + self.kwargs.update({ + 'subscription_id': self.get_subscription_id() + }) + + self.kwargs.update({ + 'mySqlMigrationService': 'testagent', + 'mySqlMigrationService2': 'service1', + }) + + @ResourceGroupPreparer(name_prefix='clitestdatamigration_testrg'[:7], key='rg', parameter_name='rg') + def test_datamigration_Scenario(self, rg): + call_scenario(self) + calc_coverage(__file__) + raise_if() diff --git a/src/datamigration/azext_datamigration/tests/latest/test_datamigration_scenario_coverage.md b/src/datamigration/azext_datamigration/tests/latest/test_datamigration_scenario_coverage.md new file mode 100644 index 00000000000..cb712843009 --- /dev/null +++ b/src/datamigration/azext_datamigration/tests/latest/test_datamigration_scenario_coverage.md @@ -0,0 +1,2 @@ +|Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| +Coverage: 0/0 diff --git a/src/datamigration/azext_datamigration/vendored_sdks/__init__.py b/src/datamigration/azext_datamigration/vendored_sdks/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/datamigration/azext_datamigration/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/datamigration/azext_datamigration/vendored_sdks/datamigration/__init__.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/__init__.py new file mode 100644 index 00000000000..b82e09a5b43 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/__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_migration_management_client import DataMigrationManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['DataMigrationManagementClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/_configuration.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/_configuration.py new file mode 100644 index 00000000000..616215b8769 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/_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 DataMigrationManagementClientConfiguration(Configuration): + """Configuration for DataMigrationManagementClient. + + 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 ID that identifies an Azure 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(DataMigrationManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-10-30-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-datamigration/{}'.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/datamigration/azext_datamigration/vendored_sdks/datamigration/_data_migration_management_client.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/_data_migration_management_client.py new file mode 100644 index 00000000000..60701029ec6 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/_data_migration_management_client.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 + +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 DataMigrationManagementClientConfiguration +from .operations import DatabaseMigrationsSqlMiOperations +from .operations import DatabaseMigrationsSqlVmOperations +from .operations import Operations +from .operations import SqlMigrationServicesOperations +from .operations import ResourceSkusOperations +from .operations import ServicesOperations +from .operations import TasksOperations +from .operations import ServiceTasksOperations +from .operations import ProjectsOperations +from .operations import UsagesOperations +from .operations import FilesOperations +from . import models + + +class DataMigrationManagementClient(object): + """Data Migration Client. + + :ivar database_migrations_sql_mi: DatabaseMigrationsSqlMiOperations operations + :vartype database_migrations_sql_mi: azure.mgmt.datamigration.operations.DatabaseMigrationsSqlMiOperations + :ivar database_migrations_sql_vm: DatabaseMigrationsSqlVmOperations operations + :vartype database_migrations_sql_vm: azure.mgmt.datamigration.operations.DatabaseMigrationsSqlVmOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.datamigration.operations.Operations + :ivar sql_migration_services: SqlMigrationServicesOperations operations + :vartype sql_migration_services: azure.mgmt.datamigration.operations.SqlMigrationServicesOperations + :ivar resource_skus: ResourceSkusOperations operations + :vartype resource_skus: azure.mgmt.datamigration.operations.ResourceSkusOperations + :ivar services: ServicesOperations operations + :vartype services: azure.mgmt.datamigration.operations.ServicesOperations + :ivar tasks: TasksOperations operations + :vartype tasks: azure.mgmt.datamigration.operations.TasksOperations + :ivar service_tasks: ServiceTasksOperations operations + :vartype service_tasks: azure.mgmt.datamigration.operations.ServiceTasksOperations + :ivar projects: ProjectsOperations operations + :vartype projects: azure.mgmt.datamigration.operations.ProjectsOperations + :ivar usages: UsagesOperations operations + :vartype usages: azure.mgmt.datamigration.operations.UsagesOperations + :ivar files: FilesOperations operations + :vartype files: azure.mgmt.datamigration.operations.FilesOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: Subscription ID that identifies an Azure 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 = DataMigrationManagementClientConfiguration(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.database_migrations_sql_mi = DatabaseMigrationsSqlMiOperations( + self._client, self._config, self._serialize, self._deserialize) + self.database_migrations_sql_vm = DatabaseMigrationsSqlVmOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.sql_migration_services = SqlMigrationServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.resource_skus = ResourceSkusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.services = ServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.tasks = TasksOperations( + self._client, self._config, self._serialize, self._deserialize) + self.service_tasks = ServiceTasksOperations( + self._client, self._config, self._serialize, self._deserialize) + self.projects = ProjectsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.files = FilesOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> DataMigrationManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/_version.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/_version.py new file mode 100644 index 00000000000..e5754a47ce6 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/_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/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/__init__.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/__init__.py new file mode 100644 index 00000000000..29a86c66d2b --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/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_migration_management_client import DataMigrationManagementClient +__all__ = ['DataMigrationManagementClient'] diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/_configuration.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/_configuration.py new file mode 100644 index 00000000000..e1c37c8429a --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/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 DataMigrationManagementClientConfiguration(Configuration): + """Configuration for DataMigrationManagementClient. + + 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 ID that identifies an Azure 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(DataMigrationManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-10-30-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-datamigration/{}'.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/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/_data_migration_management_client.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/_data_migration_management_client.py new file mode 100644 index 00000000000..3d01d7064b9 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/_data_migration_management_client.py @@ -0,0 +1,114 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 DataMigrationManagementClientConfiguration +from .operations import DatabaseMigrationsSqlMiOperations +from .operations import DatabaseMigrationsSqlVmOperations +from .operations import Operations +from .operations import SqlMigrationServicesOperations +from .operations import ResourceSkusOperations +from .operations import ServicesOperations +from .operations import TasksOperations +from .operations import ServiceTasksOperations +from .operations import ProjectsOperations +from .operations import UsagesOperations +from .operations import FilesOperations +from .. import models + + +class DataMigrationManagementClient(object): + """Data Migration Client. + + :ivar database_migrations_sql_mi: DatabaseMigrationsSqlMiOperations operations + :vartype database_migrations_sql_mi: azure.mgmt.datamigration.aio.operations.DatabaseMigrationsSqlMiOperations + :ivar database_migrations_sql_vm: DatabaseMigrationsSqlVmOperations operations + :vartype database_migrations_sql_vm: azure.mgmt.datamigration.aio.operations.DatabaseMigrationsSqlVmOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.datamigration.aio.operations.Operations + :ivar sql_migration_services: SqlMigrationServicesOperations operations + :vartype sql_migration_services: azure.mgmt.datamigration.aio.operations.SqlMigrationServicesOperations + :ivar resource_skus: ResourceSkusOperations operations + :vartype resource_skus: azure.mgmt.datamigration.aio.operations.ResourceSkusOperations + :ivar services: ServicesOperations operations + :vartype services: azure.mgmt.datamigration.aio.operations.ServicesOperations + :ivar tasks: TasksOperations operations + :vartype tasks: azure.mgmt.datamigration.aio.operations.TasksOperations + :ivar service_tasks: ServiceTasksOperations operations + :vartype service_tasks: azure.mgmt.datamigration.aio.operations.ServiceTasksOperations + :ivar projects: ProjectsOperations operations + :vartype projects: azure.mgmt.datamigration.aio.operations.ProjectsOperations + :ivar usages: UsagesOperations operations + :vartype usages: azure.mgmt.datamigration.aio.operations.UsagesOperations + :ivar files: FilesOperations operations + :vartype files: azure.mgmt.datamigration.aio.operations.FilesOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: Subscription ID that identifies an Azure 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 = DataMigrationManagementClientConfiguration(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.database_migrations_sql_mi = DatabaseMigrationsSqlMiOperations( + self._client, self._config, self._serialize, self._deserialize) + self.database_migrations_sql_vm = DatabaseMigrationsSqlVmOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.sql_migration_services = SqlMigrationServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.resource_skus = ResourceSkusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.services = ServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.tasks = TasksOperations( + self._client, self._config, self._serialize, self._deserialize) + self.service_tasks = ServiceTasksOperations( + self._client, self._config, self._serialize, self._deserialize) + self.projects = ProjectsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.files = FilesOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "DataMigrationManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/__init__.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/__init__.py new file mode 100644 index 00000000000..6e3db8789ac --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/__init__.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._database_migrations_sql_mi_operations import DatabaseMigrationsSqlMiOperations +from ._database_migrations_sql_vm_operations import DatabaseMigrationsSqlVmOperations +from ._operations import Operations +from ._sql_migration_services_operations import SqlMigrationServicesOperations +from ._resource_skus_operations import ResourceSkusOperations +from ._services_operations import ServicesOperations +from ._tasks_operations import TasksOperations +from ._service_tasks_operations import ServiceTasksOperations +from ._projects_operations import ProjectsOperations +from ._usages_operations import UsagesOperations +from ._files_operations import FilesOperations + +__all__ = [ + 'DatabaseMigrationsSqlMiOperations', + 'DatabaseMigrationsSqlVmOperations', + 'Operations', + 'SqlMigrationServicesOperations', + 'ResourceSkusOperations', + 'ServicesOperations', + 'TasksOperations', + 'ServiceTasksOperations', + 'ProjectsOperations', + 'UsagesOperations', + 'FilesOperations', +] diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_database_migrations_sql_mi_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_database_migrations_sql_mi_operations.py new file mode 100644 index 00000000000..2f19c85e075 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_database_migrations_sql_mi_operations.py @@ -0,0 +1,502 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 DatabaseMigrationsSqlMiOperations: + """DatabaseMigrationsSqlMiOperations 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.datamigration.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, + managed_instance_name: str, + target_db_name: str, + migration_operation_id: Optional[str] = None, + expand: Optional[str] = None, + **kwargs + ) -> "models.DatabaseMigrationSqlMi": + """Retrieve the Database Migration resource. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: + :type managed_instance_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param migration_operation_id: Optional migration operation ID. If this is provided, then + details of migration operation for that ID are retrieved. If not provided (default), then + details related to most recent or current operation are retrieved. + :type migration_operation_id: str + :param expand: The child resources to include in the response. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseMigrationSqlMi, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DatabaseMigrationSqlMi + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlMi"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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] + if migration_operation_id is not None: + query_parameters['migrationOperationId'] = self._serialize.query("migration_operation_id", migration_operation_id, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + 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('DatabaseMigrationSqlMi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + managed_instance_name: str, + target_db_name: str, + parameters: "models.DatabaseMigrationSqlMi", + **kwargs + ) -> "models.DatabaseMigrationSqlMi": + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlMi"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # 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(parameters, 'DatabaseMigrationSqlMi') + 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('DatabaseMigrationSqlMi', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DatabaseMigrationSqlMi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + managed_instance_name: str, + target_db_name: str, + parameters: "models.DatabaseMigrationSqlMi", + **kwargs + ) -> AsyncLROPoller["models.DatabaseMigrationSqlMi"]: + """Create a new database migration to a given SQL Managed Instance. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: + :type managed_instance_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.DatabaseMigrationSqlMi + :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 DatabaseMigrationSqlMi or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datamigration.models.DatabaseMigrationSqlMi] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlMi"] + 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, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=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('DatabaseMigrationSqlMi', 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'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + async def _cancel_initial( + self, + resource_group_name: str, + managed_instance_name: str, + target_db_name: str, + parameters: "models.MigrationOperationInput", + **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-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cancel_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MigrationOperationInput') + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _cancel_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel'} # type: ignore + + async def begin_cancel( + self, + resource_group_name: str, + managed_instance_name: str, + target_db_name: str, + parameters: "models.MigrationOperationInput", + **kwargs + ) -> AsyncLROPoller[None]: + """Stop migrations in progress for the database. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: + :type managed_instance_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: Required migration operation ID for which cancel will be initiated. + :type parameters: ~azure.mgmt.datamigration.models.MigrationOperationInput + :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._cancel_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=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): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel'} # type: ignore + + async def _cutover_initial( + self, + resource_group_name: str, + managed_instance_name: str, + target_db_name: str, + parameters: "models.MigrationOperationInput", + **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-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cutover_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MigrationOperationInput') + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _cutover_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover'} # type: ignore + + async def begin_cutover( + self, + resource_group_name: str, + managed_instance_name: str, + target_db_name: str, + parameters: "models.MigrationOperationInput", + **kwargs + ) -> AsyncLROPoller[None]: + """Initiate cutover for online migration in progress for the database. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: + :type managed_instance_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: Required migration operation ID for which cutover will be initiated. + :type parameters: ~azure.mgmt.datamigration.models.MigrationOperationInput + :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._cutover_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=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): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_cutover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_database_migrations_sql_vm_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_database_migrations_sql_vm_operations.py new file mode 100644 index 00000000000..150b6486763 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_database_migrations_sql_vm_operations.py @@ -0,0 +1,502 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 DatabaseMigrationsSqlVmOperations: + """DatabaseMigrationsSqlVmOperations 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.datamigration.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, + sql_virtual_machine_name: str, + target_db_name: str, + migration_operation_id: Optional[str] = None, + expand: Optional[str] = None, + **kwargs + ) -> "models.DatabaseMigrationSqlVm": + """Retrieve the Database Migration resource. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_virtual_machine_name: + :type sql_virtual_machine_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param migration_operation_id: Optional migration operation ID. If this is provided, then + details of migration operation for that ID are retrieved. If not provided (default), then + details related to most recent or current operation are retrieved. + :type migration_operation_id: str + :param expand: The child resources to include in the response. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseMigrationSqlVm, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DatabaseMigrationSqlVm + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlVm"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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] + if migration_operation_id is not None: + query_parameters['migrationOperationId'] = self._serialize.query("migration_operation_id", migration_operation_id, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + 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('DatabaseMigrationSqlVm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + sql_virtual_machine_name: str, + target_db_name: str, + parameters: "models.DatabaseMigrationSqlVm", + **kwargs + ) -> "models.DatabaseMigrationSqlVm": + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlVm"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # 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(parameters, 'DatabaseMigrationSqlVm') + 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('DatabaseMigrationSqlVm', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DatabaseMigrationSqlVm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + sql_virtual_machine_name: str, + target_db_name: str, + parameters: "models.DatabaseMigrationSqlVm", + **kwargs + ) -> AsyncLROPoller["models.DatabaseMigrationSqlVm"]: + """Create a new database migration to a given SQL VM. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_virtual_machine_name: + :type sql_virtual_machine_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.DatabaseMigrationSqlVm + :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 DatabaseMigrationSqlVm or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datamigration.models.DatabaseMigrationSqlVm] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlVm"] + 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, + sql_virtual_machine_name=sql_virtual_machine_name, + target_db_name=target_db_name, + parameters=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('DatabaseMigrationSqlVm', 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'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + async def _cancel_initial( + self, + resource_group_name: str, + sql_virtual_machine_name: str, + target_db_name: str, + parameters: "models.MigrationOperationInput", + **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-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cancel_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MigrationOperationInput') + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _cancel_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel'} # type: ignore + + async def begin_cancel( + self, + resource_group_name: str, + sql_virtual_machine_name: str, + target_db_name: str, + parameters: "models.MigrationOperationInput", + **kwargs + ) -> AsyncLROPoller[None]: + """Stop ongoing migration for the database. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_virtual_machine_name: + :type sql_virtual_machine_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: + :type parameters: ~azure.mgmt.datamigration.models.MigrationOperationInput + :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._cancel_initial( + resource_group_name=resource_group_name, + sql_virtual_machine_name=sql_virtual_machine_name, + target_db_name=target_db_name, + parameters=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): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel'} # type: ignore + + async def _cutover_initial( + self, + resource_group_name: str, + sql_virtual_machine_name: str, + target_db_name: str, + parameters: "models.MigrationOperationInput", + **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-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cutover_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MigrationOperationInput') + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _cutover_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover'} # type: ignore + + async def begin_cutover( + self, + resource_group_name: str, + sql_virtual_machine_name: str, + target_db_name: str, + parameters: "models.MigrationOperationInput", + **kwargs + ) -> AsyncLROPoller[None]: + """Cutover online migration operation for the database. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_virtual_machine_name: + :type sql_virtual_machine_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: + :type parameters: ~azure.mgmt.datamigration.models.MigrationOperationInput + :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._cutover_initial( + resource_group_name=resource_group_name, + sql_virtual_machine_name=sql_virtual_machine_name, + target_db_name=target_db_name, + parameters=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): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_cutover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_files_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_files_operations.py new file mode 100644 index 00000000000..13085a72c06 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_files_operations.py @@ -0,0 +1,557 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FilesOperations: + """FilesOperations 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.datamigration.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, + group_name: str, + service_name: str, + project_name: str, + **kwargs + ) -> AsyncIterable["models.FileList"]: + """Get files in a project. + + The project resource is a nested resource representing a stored migration project. This method + returns a list of files owned by a project resource. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FileList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.FileList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FileList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # 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('FileList', 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.ApiError, 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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files'} # type: ignore + + async def get( + self, + group_name: str, + service_name: str, + project_name: str, + file_name: str, + **kwargs + ) -> "models.ProjectFile": + """Get file information. + + The files resource is a nested, proxy-only resource representing a file stored under the + project resource. This method retrieves information about a file. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectFile, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectFile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectFile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectFile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}'} # type: ignore + + async def create_or_update( + self, + group_name: str, + service_name: str, + project_name: str, + file_name: str, + parameters: "models.ProjectFile", + **kwargs + ) -> "models.ProjectFile": + """Create a file resource. + + The PUT method creates a new file or updates an existing one. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :param parameters: Information about the file. + :type parameters: ~azure.mgmt.datamigration.models.ProjectFile + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectFile, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectFile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectFile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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(parameters, 'ProjectFile') + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ProjectFile', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ProjectFile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}'} # type: ignore + + async def delete( + self, + group_name: str, + service_name: str, + project_name: str, + file_name: str, + **kwargs + ) -> None: + """Delete file. + + This method deletes a file. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_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 = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}'} # type: ignore + + async def update( + self, + group_name: str, + service_name: str, + project_name: str, + file_name: str, + parameters: "models.ProjectFile", + **kwargs + ) -> "models.ProjectFile": + """Update a file. + + This method updates an existing file. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :param parameters: Information about the file. + :type parameters: ~azure.mgmt.datamigration.models.ProjectFile + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectFile, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectFile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectFile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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(parameters, 'ProjectFile') + 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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectFile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}'} # type: ignore + + async def read( + self, + group_name: str, + service_name: str, + project_name: str, + file_name: str, + **kwargs + ) -> "models.FileStorageInfo": + """Request storage information for downloading the file content. + + This method is used for requesting storage information using which contents of the file can be + downloaded. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileStorageInfo, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.FileStorageInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FileStorageInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.read.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileStorageInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + read.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/read'} # type: ignore + + async def read_write( + self, + group_name: str, + service_name: str, + project_name: str, + file_name: str, + **kwargs + ) -> "models.FileStorageInfo": + """Request information for reading and writing file content. + + This method is used for requesting information for reading and writing the file content. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileStorageInfo, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.FileStorageInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FileStorageInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.read_write.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileStorageInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + read_write.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/readwrite'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_operations.py similarity index 87% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_operations.py rename to src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_operations.py index 2dc76eec21b..653286cdb65 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_operations.py +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_operations.py @@ -14,7 +14,7 @@ from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat -from ... import models as _models +from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,14 +26,14 @@ class Operations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.datamigration.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 + models = models def __init__(self, client, config, serializer, deserializer) -> None: self._client = client @@ -44,20 +44,20 @@ def __init__(self, client, config, serializer, deserializer) -> None: def list( self, **kwargs - ) -> AsyncIterable["_models.OperationListResult"]: - """Lists all of the available Storage Rest API operations. + ) -> AsyncIterable["models.OperationListResult"]: + """Lists all of the available SQL Migration REST API operations. :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.OperationListResult] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.OperationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" accept = "application/json" def prepare_request(next_link=None): @@ -84,7 +84,7 @@ async def extract_data(pipeline_response): list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, AsyncList(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) @@ -101,4 +101,4 @@ async def get_next(next_link=None): return AsyncItemPaged( get_next, extract_data ) - list.metadata = {'url': '/providers/Microsoft.Storage/operations'} # type: ignore + list.metadata = {'url': '/providers/Microsoft.DataMigration/operations'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_security_perimeters_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_projects_operations.py similarity index 50% rename from src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_security_perimeters_operations.py rename to src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_projects_operations.py index e848ca499c6..63a9dfc8d07 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_security_perimeters_operations.py +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_projects_operations.py @@ -14,26 +14,26 @@ from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat -from ... import models as _models +from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class NetworkSecurityPerimetersOperations: - """NetworkSecurityPerimetersOperations async operations. +class ProjectsOperations: + """ProjectsOperations 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.datamigration.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 + models = models def __init__(self, client, config, serializer, deserializer) -> None: self._client = client @@ -41,90 +41,116 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - async def get( + def list( self, - resource_group_name: str, - network_security_perimeter_name: str, - **kwargs: Any - ) -> "_models.NetworkSecurityPerimeter": - """Gets the specified network security perimeter by the name. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_perimeter_name: The name of the network security perimeter. - :type network_security_perimeter_name: str + group_name: str, + service_name: str, + **kwargs + ) -> AsyncIterable["models.ProjectList"]: + """Get projects in a service. + + The project resource is a nested resource representing a stored migration project. This method + returns a list of projects owned by a service resource. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: NetworkSecurityPerimeter, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeter + :return: An iterator like instance of either ProjectList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.ProjectList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkSecurityPerimeter"] + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectList"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-10-30-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'), - 'networkSecurityPerimeterName': self._serialize.url("network_security_perimeter_name", network_security_perimeter_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, '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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # 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) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return 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 + async def extract_data(pipeline_response): + deserialized = self._deserialize('ProjectList', 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) - 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) + async def get_next(next_link=None): + request = prepare_request(next_link) - deserialized = self._deserialize('NetworkSecurityPerimeter', pipeline_response) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response - if cls: - return cls(pipeline_response, deserialized, {}) + if response.status_code not in [200]: + error = self._deserialize(models.ApiError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}'} # type: ignore + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects'} # type: ignore async def create_or_update( self, - resource_group_name: str, - network_security_perimeter_name: str, - parameters: "_models.NetworkSecurityPerimeter", - **kwargs: Any - ) -> "_models.NetworkSecurityPerimeter": - """Creates or updates a Network Security Perimeter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_perimeter_name: The name of the network security perimeter. - :type network_security_perimeter_name: str - :param parameters: Parameter supplied to create or update the network security perimeter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeter + group_name: str, + service_name: str, + project_name: str, + parameters: "models.Project", + **kwargs + ) -> "models.Project": + """Create or update project. + + The project resource is a nested resource representing a stored migration project. The PUT + method creates a new project or updates an existing one. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param parameters: Information about the project. + :type parameters: ~azure.mgmt.datamigration.models.Project :keyword callable cls: A custom type or function that will be passed the direct response - :return: NetworkSecurityPerimeter, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeter + :return: Project, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.Project :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkSecurityPerimeter"] + cls = kwargs.pop('cls', None) # type: ClsType["models.Project"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-10-30-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -132,8 +158,9 @@ async def create_or_update( 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'), - 'networkSecurityPerimeterName': self._serialize.url("network_security_perimeter_name", network_security_perimeter_name, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -147,7 +174,7 @@ async def create_or_update( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'NetworkSecurityPerimeter') + body_content = self._serialize.body(parameters, 'Project') 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) @@ -155,51 +182,59 @@ async def create_or_update( 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('NetworkSecurityPerimeter', pipeline_response) + deserialized = self._deserialize('Project', pipeline_response) if response.status_code == 201: - deserialized = self._deserialize('NetworkSecurityPerimeter', pipeline_response) + deserialized = self._deserialize('Project', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} # type: ignore - async def delete( + async def get( self, - resource_group_name: str, - network_security_perimeter_name: str, - **kwargs: Any - ) -> None: - """Deletes a network security perimeter. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_security_perimeter_name: The name of the network security perimeter. - :type network_security_perimeter_name: str + group_name: str, + service_name: str, + project_name: str, + **kwargs + ) -> "models.Project": + """Get project information. + + The project resource is a nested resource representing a stored migration project. The GET + method retrieves information about a project. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str :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 + :return: Project, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.Project :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["models.Project"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-10-30-preview" accept = "application/json" # Construct URL - url = self.delete.metadata['url'] # type: ignore + 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'), - 'networkSecurityPerimeterName': self._serialize.url("network_security_perimeter_name", network_security_perimeter_name, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -211,177 +246,161 @@ async def delete( header_parameters = {} # type: Dict[str, Any] header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.delete(url, query_parameters, header_parameters) + 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, 204]: + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Project', pipeline_response) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}'} # type: ignore + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} # type: ignore - def list_by_subscription( + async def delete( self, - top: Optional[int] = None, - skip_token: Optional[str] = None, - **kwargs: Any - ) -> AsyncIterable["_models.NetworkSecurityPerimeterListResult"]: - """List all network security perimeters in a subscription. - - :param top: An optional query parameter which specifies the maximum number of records to be - returned by the server. - :type top: int - :param skip_token: SkipToken is only used if a previous operation returned a partial result. If - a previous response contains a nextLink element, the value of the nextLink element will include - a skipToken parameter that specifies a starting point to use for subsequent calls. - :type skip_token: str + group_name: str, + service_name: str, + project_name: str, + delete_running_tasks: Optional[bool] = None, + **kwargs + ) -> None: + """Delete project. + + The project resource is a nested resource representing a stored migration project. The DELETE + method deletes a project. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param delete_running_tasks: Delete the resource even if it contains running tasks. + :type delete_running_tasks: bool :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either NetworkSecurityPerimeterListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeterListResult] + :return: None, or the result of cls(response) + :rtype: None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkSecurityPerimeterListResult"] + 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" + api_version = "2021-10-30-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'), - } - url = self._client.format_url(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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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 + # 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) - async def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkSecurityPerimeterListResult', 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) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, 'bool') - async def get_next(next_link=None): - request = prepare_request(next_link) + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - return pipeline_response + if cls: + return cls(pipeline_response, None, {}) - return AsyncItemPaged( - get_next, extract_data - ) - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} # type: ignore - def list( + async def update( self, - resource_group_name: str, - top: Optional[int] = None, - skip_token: Optional[str] = None, - **kwargs: Any - ) -> AsyncIterable["_models.NetworkSecurityPerimeterListResult"]: - """List network security perimeters in a resource group. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param top: An optional query parameter which specifies the maximum number of records to be - returned by the server. - :type top: int - :param skip_token: SkipToken is only used if a previous operation returned a partial result. If - a previous response contains a nextLink element, the value of the nextLink element will include - a skipToken parameter that specifies a starting point to use for subsequent calls. - :type skip_token: str + group_name: str, + service_name: str, + project_name: str, + parameters: "models.Project", + **kwargs + ) -> "models.Project": + """Update project. + + The project resource is a nested resource representing a stored migration project. The PATCH + method updates an existing project. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param parameters: Information about the project. + :type parameters: ~azure.mgmt.datamigration.models.Project :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either NetworkSecurityPerimeterListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeterListResult] + :return: Project, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.Project :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkSecurityPerimeterListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["models.Project"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") 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') - if top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - if skip_token is not None: - query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + # 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) - 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 + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - async def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkSecurityPerimeterListResult', 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) + # 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') - async def get_next(next_link=None): - request = prepare_request(next_link) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'Project') + 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 - 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - 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('Project', pipeline_response) - return pipeline_response + if cls: + return cls(pipeline_response, deserialized, {}) - return AsyncItemPaged( - get_next, extract_data - ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters'} # type: ignore + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_resource_skus_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_resource_skus_operations.py new file mode 100644 index 00000000000..d49ddf64e07 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_resource_skus_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, 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 ResourceSkusOperations: + """ResourceSkusOperations 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.datamigration.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_skus( + self, + **kwargs + ) -> AsyncIterable["models.ResourceSkusResult"]: + """Get supported SKUs. + + The skus action returns the list of SKUs that DMS supports. + + :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.datamigration.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 = "2021-10-30-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_skus.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]: + error = self._deserialize(models.ApiError, 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_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_service_tasks_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_service_tasks_operations.py new file mode 100644 index 00000000000..0b3d4d62d63 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_service_tasks_operations.py @@ -0,0 +1,487 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ServiceTasksOperations: + """ServiceTasksOperations 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.datamigration.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, + group_name: str, + service_name: str, + task_type: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.TaskList"]: + """Get service level tasks for a service. + + The services resource is the top-level resource that represents the Database Migration Service. + This method returns a list of service level tasks owned by a service resource. Some tasks may + have a status of Unknown, which indicates that an error occurred while querying the status of + that task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_type: Filter tasks by task type. + :type task_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TaskList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.TaskList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TaskList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if task_type is not None: + query_parameters['taskType'] = self._serialize.query("task_type", task_type, '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('TaskList', 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.ApiError, 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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks'} # type: ignore + + async def create_or_update( + self, + group_name: str, + service_name: str, + task_name: str, + parameters: "models.ProjectTask", + **kwargs + ) -> "models.ProjectTask": + """Create or update service task. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. The PUT method creates a new service task or updates an existing one, although + since service tasks have no mutable custom properties, there is little reason to update an + existing one. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Information about the task. + :type parameters: ~azure.mgmt.datamigration.models.ProjectTask + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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(parameters, 'ProjectTask') + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}'} # type: ignore + + async def get( + self, + group_name: str, + service_name: str, + task_name: str, + expand: Optional[str] = None, + **kwargs + ) -> "models.ProjectTask": + """Get service task information. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. The GET method retrieves information about a service task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :param expand: Expand the response. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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') + + # 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}'} # type: ignore + + async def delete( + self, + group_name: str, + service_name: str, + task_name: str, + delete_running_tasks: Optional[bool] = None, + **kwargs + ) -> None: + """Delete service task. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. The DELETE method deletes a service task, canceling it first if it's running. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :param delete_running_tasks: Delete the resource even if it contains running tasks. + :type delete_running_tasks: bool + :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-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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 delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, '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, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}'} # type: ignore + + async def update( + self, + group_name: str, + service_name: str, + task_name: str, + parameters: "models.ProjectTask", + **kwargs + ) -> "models.ProjectTask": + """Create or update service task. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. The PATCH method updates an existing service task, but since service tasks have + no mutable custom properties, there is little reason to do so. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Information about the task. + :type parameters: ~azure.mgmt.datamigration.models.ProjectTask + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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(parameters, 'ProjectTask') + 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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}'} # type: ignore + + async def cancel( + self, + group_name: str, + service_name: str, + task_name: str, + **kwargs + ) -> "models.ProjectTask": + """Cancel a service task. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. This method cancels a service task if it's currently queued or running. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}/cancel'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_services_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_services_operations.py new file mode 100644 index 00000000000..b9f18147a19 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_services_operations.py @@ -0,0 +1,1140 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ServicesOperations: + """ServicesOperations 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.datamigration.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, + group_name: str, + service_name: str, + parameters: "models.DataMigrationService", + **kwargs + ) -> Optional["models.DataMigrationService"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DataMigrationService"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'DataMigrationService') + 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, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataMigrationService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + async def begin_create_or_update( + self, + group_name: str, + service_name: str, + parameters: "models.DataMigrationService", + **kwargs + ) -> AsyncLROPoller["models.DataMigrationService"]: + """Create or update DMS Instance. + + The services resource is the top-level resource that represents the Database Migration Service. + The PUT method creates a new service or updates an existing one. When a service is updated, + existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, + "vm", which refers to a VM-based service, although other kinds may be added in the future. This + method can change the kind, SKU, and network of the service, but if tasks are currently running + (i.e. the service is busy), this will fail with 400 Bad Request ("ServiceIsBusy"). The provider + will reply when successful with 200 OK or 201 Created. Long-running operations use the + provisioningState property. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param parameters: Information about the service. + :type parameters: ~azure.mgmt.datamigration.models.DataMigrationService + :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 DataMigrationService or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datamigration.models.DataMigrationService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationService"] + 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( + group_name=group_name, + service_name=service_name, + parameters=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('DataMigrationService', 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + async def get( + self, + group_name: str, + service_name: str, + **kwargs + ) -> "models.DataMigrationService": + """Get DMS Service Instance. + + The services resource is the top-level resource that represents the Database Migration Service. + The GET method retrieves information about a service instance. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataMigrationService, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DataMigrationService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + async def _delete_initial( + self, + group_name: str, + service_name: str, + delete_running_tasks: 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 = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, '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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + async def begin_delete( + self, + group_name: str, + service_name: str, + delete_running_tasks: Optional[bool] = None, + **kwargs + ) -> AsyncLROPoller[None]: + """Delete DMS Service Instance. + + The services resource is the top-level resource that represents the Database Migration Service. + The DELETE method deletes a service. Any running tasks will be canceled. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param delete_running_tasks: Delete the resource even if it contains running tasks. + :type delete_running_tasks: bool + :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( + group_name=group_name, + service_name=service_name, + delete_running_tasks=delete_running_tasks, + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + async def _update_initial( + self, + group_name: str, + service_name: str, + parameters: "models.DataMigrationService", + **kwargs + ) -> Optional["models.DataMigrationService"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DataMigrationService"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'DataMigrationService') + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + async def begin_update( + self, + group_name: str, + service_name: str, + parameters: "models.DataMigrationService", + **kwargs + ) -> AsyncLROPoller["models.DataMigrationService"]: + """Create or update DMS Service Instance. + + The services resource is the top-level resource that represents the Database Migration Service. + The PATCH method updates an existing service. This method can change the kind, SKU, and network + of the service, but if tasks are currently running (i.e. the service is busy), this will fail + with 400 Bad Request ("ServiceIsBusy"). + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param parameters: Information about the service. + :type parameters: ~azure.mgmt.datamigration.models.DataMigrationService + :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 DataMigrationService or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datamigration.models.DataMigrationService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationService"] + 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( + group_name=group_name, + service_name=service_name, + parameters=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('DataMigrationService', 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + async def check_status( + self, + group_name: str, + service_name: str, + **kwargs + ) -> "models.DataMigrationServiceStatusResponse": + """Check service health status. + + The services resource is the top-level resource that represents the Database Migration Service. + This action performs a health check and returns the status of the service and virtual machine + size. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataMigrationServiceStatusResponse, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DataMigrationServiceStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationServiceStatusResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.check_status.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataMigrationServiceStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus'} # type: ignore + + async def _start_initial( + self, + group_name: str, + service_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-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start'} # type: ignore + + async def begin_start( + self, + group_name: str, + service_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Start service. + + The services resource is the top-level resource that represents the Database Migration Service. + This action starts the service and the service can be used for data migration. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :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( + group_name=group_name, + service_name=service_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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start'} # type: ignore + + async def _stop_initial( + self, + group_name: str, + service_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-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop'} # type: ignore + + async def begin_stop( + self, + group_name: str, + service_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Stop service. + + The services resource is the top-level resource that represents the Database Migration Service. + This action stops the service and the service cannot be used for data migration. The service + owner won't be billed when the service is stopped. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :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( + group_name=group_name, + service_name=service_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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop'} # type: ignore + + def list_skus( + self, + group_name: str, + service_name: str, + **kwargs + ) -> AsyncIterable["models.ServiceSkuList"]: + """Get compatible SKUs. + + The services resource is the top-level resource that represents the Database Migration Service. + The skus action returns the list of SKUs that a service resource can be updated to. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ServiceSkuList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.ServiceSkuList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServiceSkuList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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_skus.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # 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('ServiceSkuList', 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.ApiError, 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_skus.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus'} # type: ignore + + async def check_children_name_availability( + self, + group_name: str, + service_name: str, + parameters: "models.NameAvailabilityRequest", + **kwargs + ) -> "models.NameAvailabilityResponse": + """Check nested resource name validity and availability. + + This method checks whether a proposed nested resource name is valid and available. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param parameters: Requested name to validate. + :type parameters: ~azure.mgmt.datamigration.models.NameAvailabilityRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NameAvailabilityResponse, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.NameAvailabilityResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.NameAvailabilityResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.check_children_name_availability.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'NameAvailabilityRequest') + 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NameAvailabilityResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_children_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability'} # type: ignore + + def list_by_resource_group( + self, + group_name: str, + **kwargs + ) -> AsyncIterable["models.DataMigrationServiceList"]: + """Get services in resource group. + + The Services resource is the top-level resource that represents the Database Migration Service. + This method returns a list of service resources in a resource group. + + :param group_name: Name of the resource group. + :type group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DataMigrationServiceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.DataMigrationServiceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationServiceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", 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('DataMigrationServiceList', 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.ApiError, 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/{groupName}/providers/Microsoft.DataMigration/services'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["models.DataMigrationServiceList"]: + """Get services in subscription. + + The services resource is the top-level resource that represents the Database Migration Service. + This method returns a list of service resources 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 DataMigrationServiceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.DataMigrationServiceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationServiceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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('DataMigrationServiceList', 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.ApiError, 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.DataMigration/services'} # type: ignore + + async def check_name_availability( + self, + location: str, + parameters: "models.NameAvailabilityRequest", + **kwargs + ) -> "models.NameAvailabilityResponse": + """Check name validity and availability. + + This method checks whether a proposed top-level resource name is valid and available. + + :param location: The Azure region of the operation. + :type location: str + :param parameters: Requested name to validate. + :type parameters: ~azure.mgmt.datamigration.models.NameAvailabilityRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NameAvailabilityResponse, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.NameAvailabilityResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.NameAvailabilityResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.check_name_availability.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(parameters, 'NameAvailabilityRequest') + 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NameAvailabilityResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_sql_migration_services_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_sql_migration_services_operations.py new file mode 100644 index 00000000000..29f3cd99705 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_sql_migration_services_operations.py @@ -0,0 +1,932 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 SqlMigrationServicesOperations: + """SqlMigrationServicesOperations 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.datamigration.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, + sql_migration_service_name: str, + **kwargs + ) -> "models.SqlMigrationService": + """Retrieve the Migration Service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlMigrationService, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.SqlMigrationService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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('SqlMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + sql_migration_service_name: str, + parameters: "models.SqlMigrationService", + **kwargs + ) -> "models.SqlMigrationService": + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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(parameters, 'SqlMigrationService') + 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('SqlMigrationService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SqlMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + sql_migration_service_name: str, + parameters: "models.SqlMigrationService", + **kwargs + ) -> AsyncLROPoller["models.SqlMigrationService"]: + """Create or Update Database Migration Service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.SqlMigrationService + :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 SqlMigrationService or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datamigration.models.SqlMigrationService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + 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, + sql_migration_service_name=sql_migration_service_name, + parameters=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('SqlMigrationService', 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'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_name, 'str'), + '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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + sql_migration_service_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-10-30-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + sql_migration_service_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Delete SQL Migration Service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_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, + sql_migration_service_name=sql_migration_service_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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_name, 'str'), + '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.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + sql_migration_service_name: str, + parameters: "models.SqlMigrationServiceUpdate", + **kwargs + ) -> "models.SqlMigrationService": + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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(parameters, 'SqlMigrationServiceUpdate') + 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SqlMigrationService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SqlMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + sql_migration_service_name: str, + parameters: "models.SqlMigrationServiceUpdate", + **kwargs + ) -> AsyncLROPoller["models.SqlMigrationService"]: + """Update SQL Migration Service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.SqlMigrationServiceUpdate + :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 SqlMigrationService or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datamigration.models.SqlMigrationService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + 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, + sql_migration_service_name=sql_migration_service_name, + parameters=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('SqlMigrationService', 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'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_name, 'str'), + '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_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.SqlMigrationListResult"]: + """Retrieve all SQL migration services in the resource group. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlMigrationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.SqlMigrationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + '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('SqlMigrationListResult', 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.DataMigration/sqlMigrationServices'} # type: ignore + + async def list_auth_keys( + self, + resource_group_name: str, + sql_migration_service_name: str, + **kwargs + ) -> "models.AuthenticationKeys": + """Retrieve the List of Authentication Keys for Self Hosted Integration Runtime. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AuthenticationKeys, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.AuthenticationKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AuthenticationKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.list_auth_keys.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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('AuthenticationKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_auth_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listAuthKeys'} # type: ignore + + async def regenerate_auth_keys( + self, + resource_group_name: str, + sql_migration_service_name: str, + parameters: "models.RegenAuthKeys", + **kwargs + ) -> "models.RegenAuthKeys": + """Regenerate a new set of Authentication Keys for Self Hosted Integration Runtime. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.RegenAuthKeys + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RegenAuthKeys, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.RegenAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RegenAuthKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.regenerate_auth_keys.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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(parameters, 'RegenAuthKeys') + 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('RegenAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_auth_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/regenerateAuthKeys'} # type: ignore + + async def delete_node( + self, + resource_group_name: str, + sql_migration_service_name: str, + parameters: "models.DeleteNode", + **kwargs + ) -> "models.DeleteNode": + """Delete the integration runtime node. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.DeleteNode + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DeleteNode, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DeleteNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DeleteNode"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.delete_node.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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(parameters, 'DeleteNode') + 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('DeleteNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + delete_node.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/deleteNode'} # type: ignore + + def list_migrations( + self, + resource_group_name: str, + sql_migration_service_name: str, + **kwargs + ) -> AsyncIterable["models.DatabaseMigrationListResult"]: + """Retrieve the List of database migrations attached to the service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DatabaseMigrationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.DatabaseMigrationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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_migrations.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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('DatabaseMigrationListResult', 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_migrations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listMigrations'} # type: ignore + + async def list_monitoring_data( + self, + resource_group_name: str, + sql_migration_service_name: str, + **kwargs + ) -> "models.IntegrationRuntimeMonitoringData": + """Retrieve the Monitoring Data. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_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: ~azure.mgmt.datamigration.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 = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.list_monitoring_data.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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 + list_monitoring_data.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listMonitoringData'} # type: ignore + + def list_by_subscription( + self, + **kwargs + ) -> AsyncIterable["models.SqlMigrationListResult"]: + """Retrieve all SQL migration services in the subscriptions. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlMigrationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.SqlMigrationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + } + url = self._client.format_url(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('SqlMigrationListResult', 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_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/sqlMigrationServices'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_tasks_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_tasks_operations.py new file mode 100644 index 00000000000..7918767b386 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_tasks_operations.py @@ -0,0 +1,587 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TasksOperations: + """TasksOperations 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.datamigration.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, + group_name: str, + service_name: str, + project_name: str, + task_type: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.TaskList"]: + """Get tasks in a service. + + The services resource is the top-level resource that represents the Database Migration Service. + This method returns a list of tasks owned by a service resource. Some tasks may have a status + of Unknown, which indicates that an error occurred while querying the status of that task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_type: Filter tasks by task type. + :type task_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TaskList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.TaskList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TaskList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if task_type is not None: + query_parameters['taskType'] = self._serialize.query("task_type", task_type, '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('TaskList', 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.ApiError, 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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks'} # type: ignore + + async def create_or_update( + self, + group_name: str, + service_name: str, + project_name: str, + task_name: str, + parameters: "models.ProjectTask", + **kwargs + ) -> "models.ProjectTask": + """Create or update task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. The PUT method creates a new task or updates an existing one, although since tasks + have no mutable custom properties, there is little reason to update an existing one. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Information about the task. + :type parameters: ~azure.mgmt.datamigration.models.ProjectTask + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'ProjectTask') + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} # type: ignore + + async def get( + self, + group_name: str, + service_name: str, + project_name: str, + task_name: str, + expand: Optional[str] = None, + **kwargs + ) -> "models.ProjectTask": + """Get task information. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. The GET method retrieves information about a task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param expand: Expand the response. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} # type: ignore + + async def delete( + self, + group_name: str, + service_name: str, + project_name: str, + task_name: str, + delete_running_tasks: Optional[bool] = None, + **kwargs + ) -> None: + """Delete task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. The DELETE method deletes a task, canceling it first if it's running. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param delete_running_tasks: Delete the resource even if it contains running tasks. + :type delete_running_tasks: bool + :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-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, '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, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} # type: ignore + + async def update( + self, + group_name: str, + service_name: str, + project_name: str, + task_name: str, + parameters: "models.ProjectTask", + **kwargs + ) -> "models.ProjectTask": + """Create or update task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. The PATCH method updates an existing task, but since tasks have no mutable custom + properties, there is little reason to do so. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Information about the task. + :type parameters: ~azure.mgmt.datamigration.models.ProjectTask + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'ProjectTask') + 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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} # type: ignore + + async def cancel( + self, + group_name: str, + service_name: str, + project_name: str, + task_name: str, + **kwargs + ) -> "models.ProjectTask": + """Cancel a task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. This method cancels a task if it's currently queued or running. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel'} # type: ignore + + async def command( + self, + group_name: str, + service_name: str, + project_name: str, + task_name: str, + parameters: "models.CommandProperties", + **kwargs + ) -> "models.CommandProperties": + """Execute a command on a task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. This method executes a command on a running task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Command to execute. + :type parameters: ~azure.mgmt.datamigration.models.CommandProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CommandProperties, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.CommandProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CommandProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.command.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'CommandProperties') + 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CommandProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_usages_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_usages_operations.py similarity index 76% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_usages_operations.py rename to src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_usages_operations.py index 21474cd2c4c..e890dfc8add 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_usages_operations.py +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/aio/operations/_usages_operations.py @@ -14,7 +14,7 @@ from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat -from ... import models as _models +from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,14 +26,14 @@ class UsagesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.datamigration.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 + models = models def __init__(self, client, config, serializer, deserializer) -> None: self._client = client @@ -41,27 +41,29 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - def list_by_location( + def list( self, location: str, **kwargs - ) -> AsyncIterable["_models.UsageListResult"]: - """Gets the current usage count and the limit for the resources of the location under the - subscription. + ) -> AsyncIterable["models.QuotaList"]: + """Get resource quotas and usage information. - :param location: The location of the Azure Storage resource. + This method returns region-specific quotas and resource usage information for the Database + Migration Service. + + :param location: The Azure region of the operation. :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 UsageListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.UsageListResult] + :return: An iterator like instance of either QuotaList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datamigration.models.QuotaList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.UsageListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["models.QuotaList"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" accept = "application/json" def prepare_request(next_link=None): @@ -71,9 +73,9 @@ def prepare_request(next_link=None): if not next_link: # Construct URL - url = self.list_by_location.metadata['url'] # type: ignore + 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), + '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) @@ -89,11 +91,11 @@ def prepare_request(next_link=None): return request async def extract_data(pipeline_response): - deserialized = self._deserialize('UsageListResult', pipeline_response) + deserialized = self._deserialize('QuotaList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, AsyncList(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) @@ -102,12 +104,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.ApiError, 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 return AsyncItemPaged( get_next, extract_data ) - list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/__init__.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/__init__.py new file mode 100644 index 00000000000..77792c9c315 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/__init__.py @@ -0,0 +1,1060 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ApiError + from ._models_py3 import AuthenticationKeys + from ._models_py3 import AvailableServiceSku + from ._models_py3 import AvailableServiceSkuCapacity + from ._models_py3 import AvailableServiceSkuautogenerated + from ._models_py3 import AzureActiveDirectoryApp + from ._models_py3 import AzureBlob + from ._models_py3 import BackupConfiguration + from ._models_py3 import BackupFileInfo + from ._models_py3 import BackupSetInfo + from ._models_py3 import BlobShare + from ._models_py3 import CheckOciDriverTaskInput + from ._models_py3 import CheckOciDriverTaskOutput + from ._models_py3 import CheckOciDriverTaskProperties + from ._models_py3 import CommandProperties + from ._models_py3 import ConnectToMongoDbTaskProperties + 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 + from ._models_py3 import ConnectToSourceSqlServerSyncTaskProperties + from ._models_py3 import ConnectToSourceSqlServerTaskInput + from ._models_py3 import ConnectToSourceSqlServerTaskOutput + from ._models_py3 import ConnectToSourceSqlServerTaskOutputAgentJobLevel + from ._models_py3 import ConnectToSourceSqlServerTaskOutputDatabaseLevel + from ._models_py3 import ConnectToSourceSqlServerTaskOutputLoginLevel + from ._models_py3 import ConnectToSourceSqlServerTaskOutputTaskLevel + from ._models_py3 import ConnectToSourceSqlServerTaskProperties + from ._models_py3 import ConnectToTargetAzureDbForMySqlTaskInput + from ._models_py3 import ConnectToTargetAzureDbForMySqlTaskOutput + from ._models_py3 import ConnectToTargetAzureDbForMySqlTaskProperties + 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 ConnectToTargetSqlDbSyncTaskInput + from ._models_py3 import ConnectToTargetSqlDbSyncTaskProperties + from ._models_py3 import ConnectToTargetSqlDbTaskInput + from ._models_py3 import ConnectToTargetSqlDbTaskOutput + from ._models_py3 import ConnectToTargetSqlDbTaskProperties + from ._models_py3 import ConnectToTargetSqlMiSyncTaskInput + from ._models_py3 import ConnectToTargetSqlMiSyncTaskOutput + from ._models_py3 import ConnectToTargetSqlMiSyncTaskProperties + from ._models_py3 import ConnectToTargetSqlMiTaskInput + from ._models_py3 import ConnectToTargetSqlMiTaskOutput + from ._models_py3 import ConnectToTargetSqlMiTaskProperties + from ._models_py3 import ConnectionInfo + from ._models_py3 import DataIntegrityValidationResult + from ._models_py3 import DataItemMigrationSummaryResult + from ._models_py3 import DataMigrationError + from ._models_py3 import DataMigrationProjectMetadata + from ._models_py3 import DataMigrationService + from ._models_py3 import DataMigrationServiceList + from ._models_py3 import DataMigrationServiceStatusResponse + from ._models_py3 import Database + from ._models_py3 import DatabaseBackupInfo + from ._models_py3 import DatabaseFileInfo + from ._models_py3 import DatabaseFileInput + from ._models_py3 import DatabaseInfo + from ._models_py3 import DatabaseMigration + from ._models_py3 import DatabaseMigrationListResult + from ._models_py3 import DatabaseMigrationProperties + from ._models_py3 import DatabaseMigrationPropertiesSqlMi + from ._models_py3 import DatabaseMigrationPropertiesSqlVm + from ._models_py3 import DatabaseMigrationSqlMi + from ._models_py3 import DatabaseMigrationSqlVm + from ._models_py3 import DatabaseObjectName + from ._models_py3 import DatabaseSummaryResult + from ._models_py3 import DatabaseTable + from ._models_py3 import DeleteNode + from ._models_py3 import ErrorInfo + from ._models_py3 import ExecutionStatistics + from ._models_py3 import FileList + from ._models_py3 import FileShare + from ._models_py3 import FileStorageInfo + from ._models_py3 import GetProjectDetailsNonSqlTaskInput + from ._models_py3 import GetTdeCertificatesSqlTaskInput + from ._models_py3 import GetTdeCertificatesSqlTaskOutput + from ._models_py3 import GetTdeCertificatesSqlTaskProperties + from ._models_py3 import GetUserTablesMySqlTaskInput + from ._models_py3 import GetUserTablesMySqlTaskOutput + from ._models_py3 import GetUserTablesMySqlTaskProperties + 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 + from ._models_py3 import GetUserTablesSqlSyncTaskInput + from ._models_py3 import GetUserTablesSqlSyncTaskOutput + from ._models_py3 import GetUserTablesSqlSyncTaskProperties + from ._models_py3 import GetUserTablesSqlTaskInput + from ._models_py3 import GetUserTablesSqlTaskOutput + from ._models_py3 import GetUserTablesSqlTaskProperties + from ._models_py3 import InstallOciDriverTaskInput + from ._models_py3 import InstallOciDriverTaskOutput + from ._models_py3 import InstallOciDriverTaskProperties + from ._models_py3 import IntegrationRuntimeMonitoringData + from ._models_py3 import MiSqlConnectionInfo + from ._models_py3 import MigrateMiSyncCompleteCommandInput + from ._models_py3 import MigrateMiSyncCompleteCommandOutput + from ._models_py3 import MigrateMiSyncCompleteCommandProperties + from ._models_py3 import MigrateMongoDbTaskProperties + from ._models_py3 import MigrateMySqlAzureDbForMySqlOfflineDatabaseInput + from ._models_py3 import MigrateMySqlAzureDbForMySqlOfflineTaskInput + from ._models_py3 import MigrateMySqlAzureDbForMySqlOfflineTaskOutput + from ._models_py3 import MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel + from ._models_py3 import MigrateMySqlAzureDbForMySqlOfflineTaskOutputError + from ._models_py3 import MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel + from ._models_py3 import MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel + from ._models_py3 import MigrateMySqlAzureDbForMySqlOfflineTaskProperties + from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncDatabaseInput + from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskInput + from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskOutput + from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError + from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel + from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskOutputError + 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 + from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput + from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError + from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel + from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError + from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel + from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel + from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties + from ._models_py3 import MigrateSchemaSqlServerSqlDbDatabaseInput + from ._models_py3 import MigrateSchemaSqlServerSqlDbTaskInput + from ._models_py3 import MigrateSchemaSqlServerSqlDbTaskOutput + from ._models_py3 import MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel + from ._models_py3 import MigrateSchemaSqlServerSqlDbTaskOutputError + from ._models_py3 import MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel + from ._models_py3 import MigrateSchemaSqlServerSqlDbTaskProperties + from ._models_py3 import MigrateSchemaSqlTaskOutputError + from ._models_py3 import MigrateSqlServerDatabaseInput + from ._models_py3 import MigrateSqlServerSqlDbDatabaseInput + from ._models_py3 import MigrateSqlServerSqlDbSyncDatabaseInput + from ._models_py3 import MigrateSqlServerSqlDbSyncTaskInput + from ._models_py3 import MigrateSqlServerSqlDbSyncTaskOutput + from ._models_py3 import MigrateSqlServerSqlDbSyncTaskOutputDatabaseError + from ._models_py3 import MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel + from ._models_py3 import MigrateSqlServerSqlDbSyncTaskOutputError + from ._models_py3 import MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel + from ._models_py3 import MigrateSqlServerSqlDbSyncTaskOutputTableLevel + from ._models_py3 import MigrateSqlServerSqlDbSyncTaskProperties + from ._models_py3 import MigrateSqlServerSqlDbTaskInput + from ._models_py3 import MigrateSqlServerSqlDbTaskOutput + from ._models_py3 import MigrateSqlServerSqlDbTaskOutputDatabaseLevel + from ._models_py3 import MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult + from ._models_py3 import MigrateSqlServerSqlDbTaskOutputError + from ._models_py3 import MigrateSqlServerSqlDbTaskOutputMigrationLevel + from ._models_py3 import MigrateSqlServerSqlDbTaskOutputTableLevel + from ._models_py3 import MigrateSqlServerSqlDbTaskOutputValidationResult + from ._models_py3 import MigrateSqlServerSqlDbTaskProperties + from ._models_py3 import MigrateSqlServerSqlMiDatabaseInput + from ._models_py3 import MigrateSqlServerSqlMiSyncTaskInput + from ._models_py3 import MigrateSqlServerSqlMiSyncTaskOutput + from ._models_py3 import MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel + from ._models_py3 import MigrateSqlServerSqlMiSyncTaskOutputError + from ._models_py3 import MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel + from ._models_py3 import MigrateSqlServerSqlMiSyncTaskProperties + from ._models_py3 import MigrateSqlServerSqlMiTaskInput + from ._models_py3 import MigrateSqlServerSqlMiTaskOutput + from ._models_py3 import MigrateSqlServerSqlMiTaskOutputAgentJobLevel + from ._models_py3 import MigrateSqlServerSqlMiTaskOutputDatabaseLevel + from ._models_py3 import MigrateSqlServerSqlMiTaskOutputError + from ._models_py3 import MigrateSqlServerSqlMiTaskOutputLoginLevel + from ._models_py3 import MigrateSqlServerSqlMiTaskOutputMigrationLevel + from ._models_py3 import MigrateSqlServerSqlMiTaskProperties + from ._models_py3 import MigrateSsisTaskInput + from ._models_py3 import MigrateSsisTaskOutput + from ._models_py3 import MigrateSsisTaskOutputMigrationLevel + from ._models_py3 import MigrateSsisTaskOutputProjectLevel + from ._models_py3 import MigrateSsisTaskProperties + from ._models_py3 import MigrateSyncCompleteCommandInput + from ._models_py3 import MigrateSyncCompleteCommandOutput + from ._models_py3 import MigrateSyncCompleteCommandProperties + from ._models_py3 import MigrationEligibilityInfo + from ._models_py3 import MigrationOperationInput + from ._models_py3 import MigrationReportResult + from ._models_py3 import MigrationStatusDetails + from ._models_py3 import MigrationTableMetadata + from ._models_py3 import MigrationValidationDatabaseLevelResult + from ._models_py3 import MigrationValidationDatabaseSummaryResult + from ._models_py3 import MigrationValidationOptions + from ._models_py3 import MigrationValidationResult + from ._models_py3 import MongoDbCancelCommand + from ._models_py3 import MongoDbClusterInfo + from ._models_py3 import MongoDbCollectionInfo + from ._models_py3 import MongoDbCollectionProgress + from ._models_py3 import MongoDbCollectionSettings + from ._models_py3 import MongoDbCommandInput + from ._models_py3 import MongoDbConnectionInfo + from ._models_py3 import MongoDbDatabaseInfo + from ._models_py3 import MongoDbDatabaseProgress + from ._models_py3 import MongoDbDatabaseSettings + from ._models_py3 import MongoDbError + from ._models_py3 import MongoDbFinishCommand + from ._models_py3 import MongoDbFinishCommandInput + from ._models_py3 import MongoDbMigrationProgress + from ._models_py3 import MongoDbMigrationSettings + from ._models_py3 import MongoDbObjectInfo + from ._models_py3 import MongoDbProgress + from ._models_py3 import MongoDbRestartCommand + from ._models_py3 import MongoDbShardKeyField + from ._models_py3 import MongoDbShardKeyInfo + from ._models_py3 import MongoDbShardKeySetting + from ._models_py3 import MongoDbThrottlingSettings + from ._models_py3 import MySqlConnectionInfo + from ._models_py3 import NameAvailabilityRequest + from ._models_py3 import NameAvailabilityResponse + from ._models_py3 import NodeMonitoringData + from ._models_py3 import NonSqlDataMigrationTable + from ._models_py3 import NonSqlDataMigrationTableResult + from ._models_py3 import NonSqlMigrationTaskInput + from ._models_py3 import NonSqlMigrationTaskOutput + from ._models_py3 import ODataError + from ._models_py3 import OfflineConfiguration + from ._models_py3 import OperationListResult + from ._models_py3 import OperationsDefinition + from ._models_py3 import OperationsDisplayDefinition + 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 + from ._models_py3 import ProjectFile + from ._models_py3 import ProjectFileProperties + from ._models_py3 import ProjectList + from ._models_py3 import ProjectTask + from ._models_py3 import ProjectTaskProperties + from ._models_py3 import ProxyResource + from ._models_py3 import QueryAnalysisValidationResult + from ._models_py3 import QueryExecutionResult + from ._models_py3 import Quota + from ._models_py3 import QuotaList + from ._models_py3 import QuotaName + from ._models_py3 import RegenAuthKeys + from ._models_py3 import ReportableException + from ._models_py3 import Resource + from ._models_py3 import ResourceSku + from ._models_py3 import ResourceSkuCapabilities + from ._models_py3 import ResourceSkuCapacity + from ._models_py3 import ResourceSkuCosts + from ._models_py3 import ResourceSkuRestrictions + from ._models_py3 import ResourceSkusResult + from ._models_py3 import SchemaComparisonValidationResult + from ._models_py3 import SchemaComparisonValidationResultType + from ._models_py3 import SchemaMigrationSetting + from ._models_py3 import SelectedCertificateInput + from ._models_py3 import ServerProperties + from ._models_py3 import ServiceOperation + from ._models_py3 import ServiceOperationDisplay + from ._models_py3 import ServiceOperationList + from ._models_py3 import ServiceSku + from ._models_py3 import ServiceSkuList + from ._models_py3 import SourceLocation + from ._models_py3 import SqlBackupFileInfo + from ._models_py3 import SqlBackupSetInfo + from ._models_py3 import SqlConnectionInfo + from ._models_py3 import SqlConnectionInformation + from ._models_py3 import SqlFileShare + from ._models_py3 import SqlMigrationListResult + from ._models_py3 import SqlMigrationService + from ._models_py3 import SqlMigrationServiceUpdate + from ._models_py3 import SqlMigrationTaskInput + from ._models_py3 import SqlServerSqlMiSyncTaskInput + from ._models_py3 import SsisMigrationInfo + from ._models_py3 import StartMigrationScenarioServerRoleResult + from ._models_py3 import SyncMigrationDatabaseErrorEvent + from ._models_py3 import SystemData + from ._models_py3 import TargetLocation + from ._models_py3 import TaskList + from ._models_py3 import TrackedResource + from ._models_py3 import UploadOciDriverTaskInput + from ._models_py3 import UploadOciDriverTaskOutput + from ._models_py3 import UploadOciDriverTaskProperties + from ._models_py3 import ValidateMigrationInputSqlServerSqlDbSyncTaskProperties + from ._models_py3 import ValidateMigrationInputSqlServerSqlMiSyncTaskInput + from ._models_py3 import ValidateMigrationInputSqlServerSqlMiSyncTaskOutput + from ._models_py3 import ValidateMigrationInputSqlServerSqlMiSyncTaskProperties + from ._models_py3 import ValidateMigrationInputSqlServerSqlMiTaskInput + 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 + from ._models_py3 import WaitStatistics +except (SyntaxError, ImportError): + from ._models import ApiError # type: ignore + from ._models import AuthenticationKeys # type: ignore + from ._models import AvailableServiceSku # type: ignore + from ._models import AvailableServiceSkuCapacity # type: ignore + from ._models import AvailableServiceSkuautogenerated # type: ignore + from ._models import AzureActiveDirectoryApp # type: ignore + from ._models import AzureBlob # type: ignore + from ._models import BackupConfiguration # type: ignore + from ._models import BackupFileInfo # type: ignore + from ._models import BackupSetInfo # type: ignore + from ._models import BlobShare # type: ignore + from ._models import CheckOciDriverTaskInput # type: ignore + from ._models import CheckOciDriverTaskOutput # type: ignore + from ._models import CheckOciDriverTaskProperties # type: ignore + from ._models import CommandProperties # type: ignore + from ._models import ConnectToMongoDbTaskProperties # type: ignore + from ._models import ConnectToSourceMySqlTaskInput # type: ignore + from ._models import ConnectToSourceMySqlTaskProperties # type: ignore + from ._models import ConnectToSourceNonSqlTaskOutput # type: ignore + from ._models import ConnectToSourceOracleSyncTaskInput # type: ignore + from ._models import ConnectToSourceOracleSyncTaskOutput # type: ignore + from ._models import ConnectToSourceOracleSyncTaskProperties # type: ignore + from ._models import ConnectToSourcePostgreSqlSyncTaskInput # type: ignore + from ._models import ConnectToSourcePostgreSqlSyncTaskOutput # type: ignore + from ._models import ConnectToSourcePostgreSqlSyncTaskProperties # type: ignore + from ._models import ConnectToSourceSqlServerSyncTaskProperties # type: ignore + from ._models import ConnectToSourceSqlServerTaskInput # type: ignore + from ._models import ConnectToSourceSqlServerTaskOutput # type: ignore + from ._models import ConnectToSourceSqlServerTaskOutputAgentJobLevel # type: ignore + from ._models import ConnectToSourceSqlServerTaskOutputDatabaseLevel # type: ignore + from ._models import ConnectToSourceSqlServerTaskOutputLoginLevel # type: ignore + from ._models import ConnectToSourceSqlServerTaskOutputTaskLevel # type: ignore + from ._models import ConnectToSourceSqlServerTaskProperties # type: ignore + from ._models import ConnectToTargetAzureDbForMySqlTaskInput # type: ignore + from ._models import ConnectToTargetAzureDbForMySqlTaskOutput # type: ignore + from ._models import ConnectToTargetAzureDbForMySqlTaskProperties # type: ignore + from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskInput # type: ignore + from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput # type: ignore + from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties # type: ignore + from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput # type: ignore + from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput # type: ignore + from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem # type: ignore + from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties # type: ignore + from ._models import ConnectToTargetSqlDbSyncTaskInput # type: ignore + from ._models import ConnectToTargetSqlDbSyncTaskProperties # type: ignore + from ._models import ConnectToTargetSqlDbTaskInput # type: ignore + from ._models import ConnectToTargetSqlDbTaskOutput # type: ignore + from ._models import ConnectToTargetSqlDbTaskProperties # type: ignore + from ._models import ConnectToTargetSqlMiSyncTaskInput # type: ignore + from ._models import ConnectToTargetSqlMiSyncTaskOutput # type: ignore + from ._models import ConnectToTargetSqlMiSyncTaskProperties # type: ignore + from ._models import ConnectToTargetSqlMiTaskInput # type: ignore + from ._models import ConnectToTargetSqlMiTaskOutput # type: ignore + from ._models import ConnectToTargetSqlMiTaskProperties # type: ignore + from ._models import ConnectionInfo # type: ignore + from ._models import DataIntegrityValidationResult # type: ignore + from ._models import DataItemMigrationSummaryResult # type: ignore + from ._models import DataMigrationError # type: ignore + from ._models import DataMigrationProjectMetadata # type: ignore + from ._models import DataMigrationService # type: ignore + from ._models import DataMigrationServiceList # type: ignore + from ._models import DataMigrationServiceStatusResponse # type: ignore + from ._models import Database # type: ignore + from ._models import DatabaseBackupInfo # type: ignore + from ._models import DatabaseFileInfo # type: ignore + from ._models import DatabaseFileInput # type: ignore + from ._models import DatabaseInfo # type: ignore + from ._models import DatabaseMigration # type: ignore + from ._models import DatabaseMigrationListResult # type: ignore + from ._models import DatabaseMigrationProperties # type: ignore + from ._models import DatabaseMigrationPropertiesSqlMi # type: ignore + from ._models import DatabaseMigrationPropertiesSqlVm # type: ignore + from ._models import DatabaseMigrationSqlMi # type: ignore + from ._models import DatabaseMigrationSqlVm # type: ignore + from ._models import DatabaseObjectName # type: ignore + from ._models import DatabaseSummaryResult # type: ignore + from ._models import DatabaseTable # type: ignore + from ._models import DeleteNode # type: ignore + from ._models import ErrorInfo # type: ignore + from ._models import ExecutionStatistics # type: ignore + from ._models import FileList # type: ignore + from ._models import FileShare # type: ignore + from ._models import FileStorageInfo # type: ignore + from ._models import GetProjectDetailsNonSqlTaskInput # type: ignore + from ._models import GetTdeCertificatesSqlTaskInput # type: ignore + from ._models import GetTdeCertificatesSqlTaskOutput # type: ignore + from ._models import GetTdeCertificatesSqlTaskProperties # type: ignore + from ._models import GetUserTablesMySqlTaskInput # type: ignore + from ._models import GetUserTablesMySqlTaskOutput # type: ignore + from ._models import GetUserTablesMySqlTaskProperties # type: ignore + from ._models import GetUserTablesOracleTaskInput # type: ignore + from ._models import GetUserTablesOracleTaskOutput # type: ignore + from ._models import GetUserTablesOracleTaskProperties # type: ignore + from ._models import GetUserTablesPostgreSqlTaskInput # type: ignore + from ._models import GetUserTablesPostgreSqlTaskOutput # type: ignore + from ._models import GetUserTablesPostgreSqlTaskProperties # type: ignore + from ._models import GetUserTablesSqlSyncTaskInput # type: ignore + from ._models import GetUserTablesSqlSyncTaskOutput # type: ignore + from ._models import GetUserTablesSqlSyncTaskProperties # type: ignore + from ._models import GetUserTablesSqlTaskInput # type: ignore + from ._models import GetUserTablesSqlTaskOutput # type: ignore + from ._models import GetUserTablesSqlTaskProperties # type: ignore + from ._models import InstallOciDriverTaskInput # type: ignore + from ._models import InstallOciDriverTaskOutput # type: ignore + from ._models import InstallOciDriverTaskProperties # type: ignore + from ._models import IntegrationRuntimeMonitoringData # type: ignore + from ._models import MiSqlConnectionInfo # type: ignore + from ._models import MigrateMiSyncCompleteCommandInput # type: ignore + from ._models import MigrateMiSyncCompleteCommandOutput # type: ignore + from ._models import MigrateMiSyncCompleteCommandProperties # type: ignore + from ._models import MigrateMongoDbTaskProperties # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlOfflineDatabaseInput # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlOfflineTaskInput # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlOfflineTaskOutput # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlOfflineTaskOutputError # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlOfflineTaskProperties # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncDatabaseInput # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncTaskInput # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutput # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputError # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel # type: ignore + from ._models import MigrateMySqlAzureDbForMySqlSyncTaskProperties # type: ignore + from ._models import MigrateOracleAzureDbForPostgreSqlSyncTaskProperties # type: ignore + from ._models import MigrateOracleAzureDbPostgreSqlSyncDatabaseInput # type: ignore + from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskInput # type: ignore + from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutput # type: ignore + from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError # type: ignore + from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel # type: ignore + from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputError # type: ignore + from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel # type: ignore + from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel # type: ignore + from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties # type: ignore + from ._models import MigrateSchemaSqlServerSqlDbDatabaseInput # type: ignore + from ._models import MigrateSchemaSqlServerSqlDbTaskInput # type: ignore + from ._models import MigrateSchemaSqlServerSqlDbTaskOutput # type: ignore + from ._models import MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel # type: ignore + from ._models import MigrateSchemaSqlServerSqlDbTaskOutputError # type: ignore + from ._models import MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel # type: ignore + from ._models import MigrateSchemaSqlServerSqlDbTaskProperties # type: ignore + from ._models import MigrateSchemaSqlTaskOutputError # type: ignore + from ._models import MigrateSqlServerDatabaseInput # type: ignore + from ._models import MigrateSqlServerSqlDbDatabaseInput # type: ignore + from ._models import MigrateSqlServerSqlDbSyncDatabaseInput # type: ignore + from ._models import MigrateSqlServerSqlDbSyncTaskInput # type: ignore + from ._models import MigrateSqlServerSqlDbSyncTaskOutput # type: ignore + from ._models import MigrateSqlServerSqlDbSyncTaskOutputDatabaseError # type: ignore + from ._models import MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel # type: ignore + from ._models import MigrateSqlServerSqlDbSyncTaskOutputError # type: ignore + from ._models import MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel # type: ignore + from ._models import MigrateSqlServerSqlDbSyncTaskOutputTableLevel # type: ignore + from ._models import MigrateSqlServerSqlDbSyncTaskProperties # type: ignore + from ._models import MigrateSqlServerSqlDbTaskInput # type: ignore + from ._models import MigrateSqlServerSqlDbTaskOutput # type: ignore + from ._models import MigrateSqlServerSqlDbTaskOutputDatabaseLevel # type: ignore + from ._models import MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult # type: ignore + from ._models import MigrateSqlServerSqlDbTaskOutputError # type: ignore + from ._models import MigrateSqlServerSqlDbTaskOutputMigrationLevel # type: ignore + from ._models import MigrateSqlServerSqlDbTaskOutputTableLevel # type: ignore + from ._models import MigrateSqlServerSqlDbTaskOutputValidationResult # type: ignore + from ._models import MigrateSqlServerSqlDbTaskProperties # type: ignore + from ._models import MigrateSqlServerSqlMiDatabaseInput # type: ignore + from ._models import MigrateSqlServerSqlMiSyncTaskInput # type: ignore + from ._models import MigrateSqlServerSqlMiSyncTaskOutput # type: ignore + from ._models import MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel # type: ignore + from ._models import MigrateSqlServerSqlMiSyncTaskOutputError # type: ignore + from ._models import MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel # type: ignore + from ._models import MigrateSqlServerSqlMiSyncTaskProperties # type: ignore + from ._models import MigrateSqlServerSqlMiTaskInput # type: ignore + from ._models import MigrateSqlServerSqlMiTaskOutput # type: ignore + from ._models import MigrateSqlServerSqlMiTaskOutputAgentJobLevel # type: ignore + from ._models import MigrateSqlServerSqlMiTaskOutputDatabaseLevel # type: ignore + from ._models import MigrateSqlServerSqlMiTaskOutputError # type: ignore + from ._models import MigrateSqlServerSqlMiTaskOutputLoginLevel # type: ignore + from ._models import MigrateSqlServerSqlMiTaskOutputMigrationLevel # type: ignore + from ._models import MigrateSqlServerSqlMiTaskProperties # type: ignore + from ._models import MigrateSsisTaskInput # type: ignore + from ._models import MigrateSsisTaskOutput # type: ignore + from ._models import MigrateSsisTaskOutputMigrationLevel # type: ignore + from ._models import MigrateSsisTaskOutputProjectLevel # type: ignore + from ._models import MigrateSsisTaskProperties # type: ignore + from ._models import MigrateSyncCompleteCommandInput # type: ignore + from ._models import MigrateSyncCompleteCommandOutput # type: ignore + from ._models import MigrateSyncCompleteCommandProperties # type: ignore + from ._models import MigrationEligibilityInfo # type: ignore + from ._models import MigrationOperationInput # type: ignore + from ._models import MigrationReportResult # type: ignore + from ._models import MigrationStatusDetails # type: ignore + from ._models import MigrationTableMetadata # type: ignore + from ._models import MigrationValidationDatabaseLevelResult # type: ignore + from ._models import MigrationValidationDatabaseSummaryResult # type: ignore + from ._models import MigrationValidationOptions # type: ignore + from ._models import MigrationValidationResult # type: ignore + from ._models import MongoDbCancelCommand # type: ignore + from ._models import MongoDbClusterInfo # type: ignore + from ._models import MongoDbCollectionInfo # type: ignore + from ._models import MongoDbCollectionProgress # type: ignore + from ._models import MongoDbCollectionSettings # type: ignore + from ._models import MongoDbCommandInput # type: ignore + from ._models import MongoDbConnectionInfo # type: ignore + from ._models import MongoDbDatabaseInfo # type: ignore + from ._models import MongoDbDatabaseProgress # type: ignore + from ._models import MongoDbDatabaseSettings # type: ignore + from ._models import MongoDbError # type: ignore + from ._models import MongoDbFinishCommand # type: ignore + from ._models import MongoDbFinishCommandInput # type: ignore + from ._models import MongoDbMigrationProgress # type: ignore + from ._models import MongoDbMigrationSettings # type: ignore + from ._models import MongoDbObjectInfo # type: ignore + from ._models import MongoDbProgress # type: ignore + from ._models import MongoDbRestartCommand # type: ignore + from ._models import MongoDbShardKeyField # type: ignore + from ._models import MongoDbShardKeyInfo # type: ignore + from ._models import MongoDbShardKeySetting # type: ignore + from ._models import MongoDbThrottlingSettings # type: ignore + from ._models import MySqlConnectionInfo # type: ignore + from ._models import NameAvailabilityRequest # type: ignore + from ._models import NameAvailabilityResponse # type: ignore + from ._models import NodeMonitoringData # type: ignore + from ._models import NonSqlDataMigrationTable # type: ignore + from ._models import NonSqlDataMigrationTableResult # type: ignore + from ._models import NonSqlMigrationTaskInput # type: ignore + from ._models import NonSqlMigrationTaskOutput # type: ignore + from ._models import ODataError # type: ignore + from ._models import OfflineConfiguration # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OperationsDefinition # type: ignore + from ._models import OperationsDisplayDefinition # type: ignore + from ._models import OracleConnectionInfo # type: ignore + from ._models import OracleOciDriverInfo # type: ignore + from ._models import OrphanedUserInfo # type: ignore + from ._models import PostgreSqlConnectionInfo # type: ignore + from ._models import Project # type: ignore + from ._models import ProjectFile # type: ignore + from ._models import ProjectFileProperties # type: ignore + from ._models import ProjectList # type: ignore + from ._models import ProjectTask # type: ignore + from ._models import ProjectTaskProperties # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import QueryAnalysisValidationResult # type: ignore + from ._models import QueryExecutionResult # type: ignore + from ._models import Quota # type: ignore + from ._models import QuotaList # type: ignore + from ._models import QuotaName # type: ignore + from ._models import RegenAuthKeys # type: ignore + from ._models import ReportableException # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceSku # type: ignore + from ._models import ResourceSkuCapabilities # type: ignore + from ._models import ResourceSkuCapacity # type: ignore + from ._models import ResourceSkuCosts # type: ignore + from ._models import ResourceSkuRestrictions # type: ignore + from ._models import ResourceSkusResult # type: ignore + from ._models import SchemaComparisonValidationResult # type: ignore + from ._models import SchemaComparisonValidationResultType # type: ignore + from ._models import SchemaMigrationSetting # type: ignore + from ._models import SelectedCertificateInput # type: ignore + from ._models import ServerProperties # type: ignore + from ._models import ServiceOperation # type: ignore + from ._models import ServiceOperationDisplay # type: ignore + from ._models import ServiceOperationList # type: ignore + from ._models import ServiceSku # type: ignore + from ._models import ServiceSkuList # type: ignore + from ._models import SourceLocation # type: ignore + from ._models import SqlBackupFileInfo # type: ignore + from ._models import SqlBackupSetInfo # type: ignore + from ._models import SqlConnectionInfo # type: ignore + from ._models import SqlConnectionInformation # type: ignore + from ._models import SqlFileShare # type: ignore + from ._models import SqlMigrationListResult # type: ignore + from ._models import SqlMigrationService # type: ignore + from ._models import SqlMigrationServiceUpdate # type: ignore + from ._models import SqlMigrationTaskInput # type: ignore + from ._models import SqlServerSqlMiSyncTaskInput # type: ignore + from ._models import SsisMigrationInfo # type: ignore + from ._models import StartMigrationScenarioServerRoleResult # type: ignore + from ._models import SyncMigrationDatabaseErrorEvent # type: ignore + from ._models import SystemData # type: ignore + from ._models import TargetLocation # type: ignore + from ._models import TaskList # type: ignore + from ._models import TrackedResource # type: ignore + from ._models import UploadOciDriverTaskInput # type: ignore + from ._models import UploadOciDriverTaskOutput # type: ignore + from ._models import UploadOciDriverTaskProperties # type: ignore + from ._models import ValidateMigrationInputSqlServerSqlDbSyncTaskProperties # type: ignore + from ._models import ValidateMigrationInputSqlServerSqlMiSyncTaskInput # type: ignore + from ._models import ValidateMigrationInputSqlServerSqlMiSyncTaskOutput # type: ignore + from ._models import ValidateMigrationInputSqlServerSqlMiSyncTaskProperties # type: ignore + from ._models import ValidateMigrationInputSqlServerSqlMiTaskInput # type: ignore + from ._models import ValidateMigrationInputSqlServerSqlMiTaskOutput # type: ignore + from ._models import ValidateMigrationInputSqlServerSqlMiTaskProperties # type: ignore + from ._models import ValidateMongoDbTaskProperties # type: ignore + from ._models import ValidateOracleAzureDbForPostgreSqlSyncTaskProperties # type: ignore + from ._models import ValidateOracleAzureDbPostgreSqlSyncTaskOutput # type: ignore + from ._models import ValidateSyncMigrationInputSqlServerTaskInput # type: ignore + from ._models import ValidateSyncMigrationInputSqlServerTaskOutput # type: ignore + from ._models import ValidationError # type: ignore + from ._models import WaitStatistics # type: ignore + +from ._data_migration_management_client_enums import ( + AuthenticationType, + BackupFileStatus, + BackupMode, + BackupType, + CommandState, + CommandType, + CreatedByType, + DataMigrationResultCode, + DatabaseCompatLevel, + DatabaseFileType, + DatabaseMigrationStage, + DatabaseMigrationState, + DatabaseState, + ErrorType, + LoginMigrationStage, + LoginType, + MigrationState, + MigrationStatus, + MongoDbClusterType, + MongoDbErrorType, + MongoDbMigrationState, + MongoDbProgressResultType, + MongoDbReplication, + MongoDbShardKeyOrder, + MySqlTargetPlatformType, + NameCheckFailureReason, + ObjectType, + OperationOrigin, + ProjectProvisioningState, + ProjectSourcePlatform, + ProjectTargetPlatform, + ReplicateMigrationState, + ResourceSkuCapacityScaleType, + ResourceSkuRestrictionsReasonCode, + ResourceSkuRestrictionsType, + ResourceType, + ScenarioSource, + ScenarioTarget, + SchemaMigrationOption, + SchemaMigrationStage, + ServerLevelPermissionsGroup, + ServiceProvisioningState, + ServiceScalability, + Severity, + SqlSourcePlatform, + SsisMigrationOverwriteOption, + SsisMigrationStage, + SsisStoreType, + SyncDatabaseMigrationReportingState, + SyncTableMigrationState, + TaskState, + TaskType, + UpdateActionType, + ValidationStatus, +) + +__all__ = [ + 'ApiError', + 'AuthenticationKeys', + 'AvailableServiceSku', + 'AvailableServiceSkuCapacity', + 'AvailableServiceSkuautogenerated', + 'AzureActiveDirectoryApp', + 'AzureBlob', + 'BackupConfiguration', + 'BackupFileInfo', + 'BackupSetInfo', + 'BlobShare', + 'CheckOciDriverTaskInput', + 'CheckOciDriverTaskOutput', + 'CheckOciDriverTaskProperties', + 'CommandProperties', + 'ConnectToMongoDbTaskProperties', + 'ConnectToSourceMySqlTaskInput', + 'ConnectToSourceMySqlTaskProperties', + 'ConnectToSourceNonSqlTaskOutput', + 'ConnectToSourceOracleSyncTaskInput', + 'ConnectToSourceOracleSyncTaskOutput', + 'ConnectToSourceOracleSyncTaskProperties', + 'ConnectToSourcePostgreSqlSyncTaskInput', + 'ConnectToSourcePostgreSqlSyncTaskOutput', + 'ConnectToSourcePostgreSqlSyncTaskProperties', + 'ConnectToSourceSqlServerSyncTaskProperties', + 'ConnectToSourceSqlServerTaskInput', + 'ConnectToSourceSqlServerTaskOutput', + 'ConnectToSourceSqlServerTaskOutputAgentJobLevel', + 'ConnectToSourceSqlServerTaskOutputDatabaseLevel', + 'ConnectToSourceSqlServerTaskOutputLoginLevel', + 'ConnectToSourceSqlServerTaskOutputTaskLevel', + 'ConnectToSourceSqlServerTaskProperties', + 'ConnectToTargetAzureDbForMySqlTaskInput', + 'ConnectToTargetAzureDbForMySqlTaskOutput', + 'ConnectToTargetAzureDbForMySqlTaskProperties', + 'ConnectToTargetAzureDbForPostgreSqlSyncTaskInput', + 'ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput', + 'ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties', + 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput', + 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput', + 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem', + 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties', + 'ConnectToTargetSqlDbSyncTaskInput', + 'ConnectToTargetSqlDbSyncTaskProperties', + 'ConnectToTargetSqlDbTaskInput', + 'ConnectToTargetSqlDbTaskOutput', + 'ConnectToTargetSqlDbTaskProperties', + 'ConnectToTargetSqlMiSyncTaskInput', + 'ConnectToTargetSqlMiSyncTaskOutput', + 'ConnectToTargetSqlMiSyncTaskProperties', + 'ConnectToTargetSqlMiTaskInput', + 'ConnectToTargetSqlMiTaskOutput', + 'ConnectToTargetSqlMiTaskProperties', + 'ConnectionInfo', + 'DataIntegrityValidationResult', + 'DataItemMigrationSummaryResult', + 'DataMigrationError', + 'DataMigrationProjectMetadata', + 'DataMigrationService', + 'DataMigrationServiceList', + 'DataMigrationServiceStatusResponse', + 'Database', + 'DatabaseBackupInfo', + 'DatabaseFileInfo', + 'DatabaseFileInput', + 'DatabaseInfo', + 'DatabaseMigration', + 'DatabaseMigrationListResult', + 'DatabaseMigrationProperties', + 'DatabaseMigrationPropertiesSqlMi', + 'DatabaseMigrationPropertiesSqlVm', + 'DatabaseMigrationSqlMi', + 'DatabaseMigrationSqlVm', + 'DatabaseObjectName', + 'DatabaseSummaryResult', + 'DatabaseTable', + 'DeleteNode', + 'ErrorInfo', + 'ExecutionStatistics', + 'FileList', + 'FileShare', + 'FileStorageInfo', + 'GetProjectDetailsNonSqlTaskInput', + 'GetTdeCertificatesSqlTaskInput', + 'GetTdeCertificatesSqlTaskOutput', + 'GetTdeCertificatesSqlTaskProperties', + 'GetUserTablesMySqlTaskInput', + 'GetUserTablesMySqlTaskOutput', + 'GetUserTablesMySqlTaskProperties', + 'GetUserTablesOracleTaskInput', + 'GetUserTablesOracleTaskOutput', + 'GetUserTablesOracleTaskProperties', + 'GetUserTablesPostgreSqlTaskInput', + 'GetUserTablesPostgreSqlTaskOutput', + 'GetUserTablesPostgreSqlTaskProperties', + 'GetUserTablesSqlSyncTaskInput', + 'GetUserTablesSqlSyncTaskOutput', + 'GetUserTablesSqlSyncTaskProperties', + 'GetUserTablesSqlTaskInput', + 'GetUserTablesSqlTaskOutput', + 'GetUserTablesSqlTaskProperties', + 'InstallOciDriverTaskInput', + 'InstallOciDriverTaskOutput', + 'InstallOciDriverTaskProperties', + 'IntegrationRuntimeMonitoringData', + 'MiSqlConnectionInfo', + 'MigrateMiSyncCompleteCommandInput', + 'MigrateMiSyncCompleteCommandOutput', + 'MigrateMiSyncCompleteCommandProperties', + 'MigrateMongoDbTaskProperties', + 'MigrateMySqlAzureDbForMySqlOfflineDatabaseInput', + 'MigrateMySqlAzureDbForMySqlOfflineTaskInput', + 'MigrateMySqlAzureDbForMySqlOfflineTaskOutput', + 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel', + 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputError', + 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel', + 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel', + 'MigrateMySqlAzureDbForMySqlOfflineTaskProperties', + 'MigrateMySqlAzureDbForMySqlSyncDatabaseInput', + 'MigrateMySqlAzureDbForMySqlSyncTaskInput', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutput', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputError', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel', + 'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel', + 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', + 'MigrateOracleAzureDbForPostgreSqlSyncTaskProperties', + 'MigrateOracleAzureDbPostgreSqlSyncDatabaseInput', + 'MigrateOracleAzureDbPostgreSqlSyncTaskInput', + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput', + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError', + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel', + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputError', + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel', + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel', + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties', + 'MigrateSchemaSqlServerSqlDbDatabaseInput', + 'MigrateSchemaSqlServerSqlDbTaskInput', + 'MigrateSchemaSqlServerSqlDbTaskOutput', + 'MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel', + 'MigrateSchemaSqlServerSqlDbTaskOutputError', + 'MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel', + 'MigrateSchemaSqlServerSqlDbTaskProperties', + 'MigrateSchemaSqlTaskOutputError', + 'MigrateSqlServerDatabaseInput', + 'MigrateSqlServerSqlDbDatabaseInput', + 'MigrateSqlServerSqlDbSyncDatabaseInput', + 'MigrateSqlServerSqlDbSyncTaskInput', + 'MigrateSqlServerSqlDbSyncTaskOutput', + 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseError', + 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel', + 'MigrateSqlServerSqlDbSyncTaskOutputError', + 'MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel', + 'MigrateSqlServerSqlDbSyncTaskOutputTableLevel', + 'MigrateSqlServerSqlDbSyncTaskProperties', + 'MigrateSqlServerSqlDbTaskInput', + 'MigrateSqlServerSqlDbTaskOutput', + 'MigrateSqlServerSqlDbTaskOutputDatabaseLevel', + 'MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult', + 'MigrateSqlServerSqlDbTaskOutputError', + 'MigrateSqlServerSqlDbTaskOutputMigrationLevel', + 'MigrateSqlServerSqlDbTaskOutputTableLevel', + 'MigrateSqlServerSqlDbTaskOutputValidationResult', + 'MigrateSqlServerSqlDbTaskProperties', + 'MigrateSqlServerSqlMiDatabaseInput', + 'MigrateSqlServerSqlMiSyncTaskInput', + 'MigrateSqlServerSqlMiSyncTaskOutput', + 'MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel', + 'MigrateSqlServerSqlMiSyncTaskOutputError', + 'MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel', + 'MigrateSqlServerSqlMiSyncTaskProperties', + 'MigrateSqlServerSqlMiTaskInput', + 'MigrateSqlServerSqlMiTaskOutput', + 'MigrateSqlServerSqlMiTaskOutputAgentJobLevel', + 'MigrateSqlServerSqlMiTaskOutputDatabaseLevel', + 'MigrateSqlServerSqlMiTaskOutputError', + 'MigrateSqlServerSqlMiTaskOutputLoginLevel', + 'MigrateSqlServerSqlMiTaskOutputMigrationLevel', + 'MigrateSqlServerSqlMiTaskProperties', + 'MigrateSsisTaskInput', + 'MigrateSsisTaskOutput', + 'MigrateSsisTaskOutputMigrationLevel', + 'MigrateSsisTaskOutputProjectLevel', + 'MigrateSsisTaskProperties', + 'MigrateSyncCompleteCommandInput', + 'MigrateSyncCompleteCommandOutput', + 'MigrateSyncCompleteCommandProperties', + 'MigrationEligibilityInfo', + 'MigrationOperationInput', + 'MigrationReportResult', + 'MigrationStatusDetails', + 'MigrationTableMetadata', + 'MigrationValidationDatabaseLevelResult', + 'MigrationValidationDatabaseSummaryResult', + 'MigrationValidationOptions', + 'MigrationValidationResult', + 'MongoDbCancelCommand', + 'MongoDbClusterInfo', + 'MongoDbCollectionInfo', + 'MongoDbCollectionProgress', + 'MongoDbCollectionSettings', + 'MongoDbCommandInput', + 'MongoDbConnectionInfo', + 'MongoDbDatabaseInfo', + 'MongoDbDatabaseProgress', + 'MongoDbDatabaseSettings', + 'MongoDbError', + 'MongoDbFinishCommand', + 'MongoDbFinishCommandInput', + 'MongoDbMigrationProgress', + 'MongoDbMigrationSettings', + 'MongoDbObjectInfo', + 'MongoDbProgress', + 'MongoDbRestartCommand', + 'MongoDbShardKeyField', + 'MongoDbShardKeyInfo', + 'MongoDbShardKeySetting', + 'MongoDbThrottlingSettings', + 'MySqlConnectionInfo', + 'NameAvailabilityRequest', + 'NameAvailabilityResponse', + 'NodeMonitoringData', + 'NonSqlDataMigrationTable', + 'NonSqlDataMigrationTableResult', + 'NonSqlMigrationTaskInput', + 'NonSqlMigrationTaskOutput', + 'ODataError', + 'OfflineConfiguration', + 'OperationListResult', + 'OperationsDefinition', + 'OperationsDisplayDefinition', + 'OracleConnectionInfo', + 'OracleOciDriverInfo', + 'OrphanedUserInfo', + 'PostgreSqlConnectionInfo', + 'Project', + 'ProjectFile', + 'ProjectFileProperties', + 'ProjectList', + 'ProjectTask', + 'ProjectTaskProperties', + 'ProxyResource', + 'QueryAnalysisValidationResult', + 'QueryExecutionResult', + 'Quota', + 'QuotaList', + 'QuotaName', + 'RegenAuthKeys', + 'ReportableException', + 'Resource', + 'ResourceSku', + 'ResourceSkuCapabilities', + 'ResourceSkuCapacity', + 'ResourceSkuCosts', + 'ResourceSkuRestrictions', + 'ResourceSkusResult', + 'SchemaComparisonValidationResult', + 'SchemaComparisonValidationResultType', + 'SchemaMigrationSetting', + 'SelectedCertificateInput', + 'ServerProperties', + 'ServiceOperation', + 'ServiceOperationDisplay', + 'ServiceOperationList', + 'ServiceSku', + 'ServiceSkuList', + 'SourceLocation', + 'SqlBackupFileInfo', + 'SqlBackupSetInfo', + 'SqlConnectionInfo', + 'SqlConnectionInformation', + 'SqlFileShare', + 'SqlMigrationListResult', + 'SqlMigrationService', + 'SqlMigrationServiceUpdate', + 'SqlMigrationTaskInput', + 'SqlServerSqlMiSyncTaskInput', + 'SsisMigrationInfo', + 'StartMigrationScenarioServerRoleResult', + 'SyncMigrationDatabaseErrorEvent', + 'SystemData', + 'TargetLocation', + 'TaskList', + 'TrackedResource', + 'UploadOciDriverTaskInput', + 'UploadOciDriverTaskOutput', + 'UploadOciDriverTaskProperties', + 'ValidateMigrationInputSqlServerSqlDbSyncTaskProperties', + 'ValidateMigrationInputSqlServerSqlMiSyncTaskInput', + 'ValidateMigrationInputSqlServerSqlMiSyncTaskOutput', + 'ValidateMigrationInputSqlServerSqlMiSyncTaskProperties', + 'ValidateMigrationInputSqlServerSqlMiTaskInput', + 'ValidateMigrationInputSqlServerSqlMiTaskOutput', + 'ValidateMigrationInputSqlServerSqlMiTaskProperties', + 'ValidateMongoDbTaskProperties', + 'ValidateOracleAzureDbForPostgreSqlSyncTaskProperties', + 'ValidateOracleAzureDbPostgreSqlSyncTaskOutput', + 'ValidateSyncMigrationInputSqlServerTaskInput', + 'ValidateSyncMigrationInputSqlServerTaskOutput', + 'ValidationError', + 'WaitStatistics', + 'AuthenticationType', + 'BackupFileStatus', + 'BackupMode', + 'BackupType', + 'CommandState', + 'CommandType', + 'CreatedByType', + 'DataMigrationResultCode', + 'DatabaseCompatLevel', + 'DatabaseFileType', + 'DatabaseMigrationStage', + 'DatabaseMigrationState', + 'DatabaseState', + 'ErrorType', + 'LoginMigrationStage', + 'LoginType', + 'MigrationState', + 'MigrationStatus', + 'MongoDbClusterType', + 'MongoDbErrorType', + 'MongoDbMigrationState', + 'MongoDbProgressResultType', + 'MongoDbReplication', + 'MongoDbShardKeyOrder', + 'MySqlTargetPlatformType', + 'NameCheckFailureReason', + 'ObjectType', + 'OperationOrigin', + 'ProjectProvisioningState', + 'ProjectSourcePlatform', + 'ProjectTargetPlatform', + 'ReplicateMigrationState', + 'ResourceSkuCapacityScaleType', + 'ResourceSkuRestrictionsReasonCode', + 'ResourceSkuRestrictionsType', + 'ResourceType', + 'ScenarioSource', + 'ScenarioTarget', + 'SchemaMigrationOption', + 'SchemaMigrationStage', + 'ServerLevelPermissionsGroup', + 'ServiceProvisioningState', + 'ServiceScalability', + 'Severity', + 'SqlSourcePlatform', + 'SsisMigrationOverwriteOption', + 'SsisMigrationStage', + 'SsisStoreType', + 'SyncDatabaseMigrationReportingState', + 'SyncTableMigrationState', + 'TaskState', + 'TaskType', + 'UpdateActionType', + 'ValidationStatus', +] diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_data_migration_management_client_enums.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_data_migration_management_client_enums.py new file mode 100644 index 00000000000..83afba661d7 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_data_migration_management_client_enums.py @@ -0,0 +1,609 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 AuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of possible authentication types when connecting + """ + + NONE = "None" + WINDOWS_AUTHENTICATION = "WindowsAuthentication" + SQL_AUTHENTICATION = "SqlAuthentication" + ACTIVE_DIRECTORY_INTEGRATED = "ActiveDirectoryIntegrated" + ACTIVE_DIRECTORY_PASSWORD = "ActiveDirectoryPassword" + +class BackupFileStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of Status of the log backup file. + """ + + ARRIVED = "Arrived" + QUEUED = "Queued" + UPLOADING = "Uploading" + UPLOADED = "Uploaded" + RESTORING = "Restoring" + RESTORED = "Restored" + CANCELLED = "Cancelled" + +class BackupMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of backup modes + """ + + CREATE_BACKUP = "CreateBackup" + EXISTING_BACKUP = "ExistingBackup" + +class BackupType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum of the different backup types. + """ + + DATABASE = "Database" + TRANSACTION_LOG = "TransactionLog" + FILE = "File" + DIFFERENTIAL_DATABASE = "DifferentialDatabase" + DIFFERENTIAL_FILE = "DifferentialFile" + PARTIAL = "Partial" + DIFFERENTIAL_PARTIAL = "DifferentialPartial" + +class CommandState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The state of the command. This is ignored if submitted. + """ + + UNKNOWN = "Unknown" + ACCEPTED = "Accepted" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class CommandType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Command type. + """ + + MIGRATE_SYNC_COMPLETE_DATABASE = "Migrate.Sync.Complete.Database" + MIGRATE_SQL_SERVER_AZURE_DB_SQL_MI_COMPLETE = "Migrate.SqlServer.AzureDbSqlMi.Complete" + CANCEL = "cancel" + FINISH = "finish" + RESTART = "restart" + +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class DatabaseCompatLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of SQL Server database compatibility levels + """ + + COMPAT_LEVEL80 = "CompatLevel80" + COMPAT_LEVEL90 = "CompatLevel90" + COMPAT_LEVEL100 = "CompatLevel100" + COMPAT_LEVEL110 = "CompatLevel110" + COMPAT_LEVEL120 = "CompatLevel120" + COMPAT_LEVEL130 = "CompatLevel130" + COMPAT_LEVEL140 = "CompatLevel140" + +class DatabaseFileType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of SQL Server database file types + """ + + ROWS = "Rows" + LOG = "Log" + FILESTREAM = "Filestream" + NOT_SUPPORTED = "NotSupported" + FULLTEXT = "Fulltext" + +class DatabaseMigrationStage(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Current stage of migration + """ + + NONE = "None" + INITIALIZE = "Initialize" + BACKUP = "Backup" + FILE_COPY = "FileCopy" + RESTORE = "Restore" + COMPLETED = "Completed" + +class DatabaseMigrationState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Database level migration state. + """ + + UNDEFINED = "UNDEFINED" + INITIAL = "INITIAL" + FULL_BACKUP_UPLOAD_START = "FULL_BACKUP_UPLOAD_START" + LOG_SHIPPING_START = "LOG_SHIPPING_START" + UPLOAD_LOG_FILES_START = "UPLOAD_LOG_FILES_START" + CUTOVER_START = "CUTOVER_START" + POST_CUTOVER_COMPLETE = "POST_CUTOVER_COMPLETE" + COMPLETED = "COMPLETED" + CANCELLED = "CANCELLED" + FAILED = "FAILED" + +class DatabaseState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of SQL Server Database states + """ + + ONLINE = "Online" + RESTORING = "Restoring" + RECOVERING = "Recovering" + RECOVERY_PENDING = "RecoveryPending" + SUSPECT = "Suspect" + EMERGENCY = "Emergency" + OFFLINE = "Offline" + COPYING = "Copying" + OFFLINE_SECONDARY = "OfflineSecondary" + +class DataMigrationResultCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Result code of the data migration + """ + + INITIAL = "Initial" + COMPLETED = "Completed" + OBJECT_NOT_EXISTS_IN_SOURCE = "ObjectNotExistsInSource" + OBJECT_NOT_EXISTS_IN_TARGET = "ObjectNotExistsInTarget" + TARGET_OBJECT_IS_INACCESSIBLE = "TargetObjectIsInaccessible" + FATAL_ERROR = "FatalError" + +class ErrorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Error type + """ + + DEFAULT = "Default" + WARNING = "Warning" + ERROR = "Error" + +class LoginMigrationStage(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum of the different stage of login migration. + """ + + NONE = "None" + INITIALIZE = "Initialize" + LOGIN_MIGRATION = "LoginMigration" + ESTABLISH_USER_MAPPING = "EstablishUserMapping" + ASSIGN_ROLE_MEMBERSHIP = "AssignRoleMembership" + ASSIGN_ROLE_OWNERSHIP = "AssignRoleOwnership" + ESTABLISH_SERVER_PERMISSIONS = "EstablishServerPermissions" + ESTABLISH_OBJECT_PERMISSIONS = "EstablishObjectPermissions" + COMPLETED = "Completed" + +class LoginType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum mapping of SMO LoginType. + """ + + WINDOWS_USER = "WindowsUser" + WINDOWS_GROUP = "WindowsGroup" + SQL_LOGIN = "SqlLogin" + CERTIFICATE = "Certificate" + ASYMMETRIC_KEY = "AsymmetricKey" + EXTERNAL_USER = "ExternalUser" + EXTERNAL_GROUP = "ExternalGroup" + +class MigrationState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Current state of migration + """ + + NONE = "None" + IN_PROGRESS = "InProgress" + FAILED = "Failed" + WARNING = "Warning" + COMPLETED = "Completed" + SKIPPED = "Skipped" + STOPPED = "Stopped" + +class MigrationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Current status of migration + """ + + DEFAULT = "Default" + CONNECTING = "Connecting" + SOURCE_AND_TARGET_SELECTED = "SourceAndTargetSelected" + SELECT_LOGINS = "SelectLogins" + CONFIGURED = "Configured" + RUNNING = "Running" + ERROR = "Error" + STOPPED = "Stopped" + COMPLETED = "Completed" + COMPLETED_WITH_WARNINGS = "CompletedWithWarnings" + +class MongoDbClusterType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of data source + """ + + BLOB_CONTAINER = "BlobContainer" + COSMOS_DB = "CosmosDb" + MONGO_DB = "MongoDb" + +class MongoDbErrorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of error or warning + """ + + ERROR = "Error" + VALIDATION_ERROR = "ValidationError" + WARNING = "Warning" + +class MongoDbMigrationState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NOT_STARTED = "NotStarted" + VALIDATING_INPUT = "ValidatingInput" + INITIALIZING = "Initializing" + RESTARTING = "Restarting" + COPYING = "Copying" + INITIAL_REPLAY = "InitialReplay" + REPLAYING = "Replaying" + FINALIZING = "Finalizing" + COMPLETE = "Complete" + CANCELED = "Canceled" + FAILED = "Failed" + +class MongoDbProgressResultType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of progress object + """ + + MIGRATION = "Migration" + DATABASE = "Database" + COLLECTION = "Collection" + +class MongoDbReplication(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Describes how changes will be replicated from the source to the target. The default is OneTime. + """ + + DISABLED = "Disabled" + ONE_TIME = "OneTime" + CONTINUOUS = "Continuous" + +class MongoDbShardKeyOrder(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The field ordering + """ + + FORWARD = "Forward" + REVERSE = "Reverse" + HASHED = "Hashed" + +class MySqlTargetPlatformType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of possible target types when migrating from MySQL + """ + + SQL_SERVER = "SqlServer" + AZURE_DB_FOR_MY_SQL = "AzureDbForMySQL" + +class NameCheckFailureReason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The reason why the name is not available, if nameAvailable is false + """ + + ALREADY_EXISTS = "AlreadyExists" + INVALID = "Invalid" + +class ObjectType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of type of objects + """ + + STORED_PROCEDURES = "StoredProcedures" + TABLE = "Table" + USER = "User" + VIEW = "View" + FUNCTION = "Function" + +class OperationOrigin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + USER = "user" + SYSTEM = "system" + +class ProjectProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The project's provisioning state + """ + + DELETING = "Deleting" + SUCCEEDED = "Succeeded" + +class ProjectSourcePlatform(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Source platform of the project + """ + + SQL = "SQL" + MY_SQL = "MySQL" + POSTGRE_SQL = "PostgreSql" + MONGO_DB = "MongoDb" + UNKNOWN = "Unknown" + +class ProjectTargetPlatform(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Target platform of the project + """ + + SQLDB = "SQLDB" + SQLMI = "SQLMI" + AZURE_DB_FOR_MY_SQL = "AzureDbForMySql" + AZURE_DB_FOR_POSTGRE_SQL = "AzureDbForPostgreSql" + MONGO_DB = "MongoDb" + UNKNOWN = "Unknown" + +class ReplicateMigrationState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Wrapper for replicate reported migration states. + """ + + UNDEFINED = "UNDEFINED" + VALIDATING = "VALIDATING" + PENDING = "PENDING" + COMPLETE = "COMPLETE" + ACTION_REQUIRED = "ACTION_REQUIRED" + FAILED = "FAILED" + +class ResourceSkuCapacityScaleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The scale type applicable to the SKU. + """ + + AUTOMATIC = "Automatic" + MANUAL = "Manual" + NONE = "None" + +class ResourceSkuRestrictionsReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The reason code for restriction. + """ + + QUOTA_ID = "QuotaId" + NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription" + +class ResourceSkuRestrictionsType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of restrictions. + """ + + LOCATION = "location" + +class ResourceType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + SQL_MI = "SqlMi" + SQL_VM = "SqlVm" + +class ScenarioSource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of source type + """ + + ACCESS = "Access" + DB2 = "DB2" + MY_SQL = "MySQL" + ORACLE = "Oracle" + SQL = "SQL" + SYBASE = "Sybase" + POSTGRE_SQL = "PostgreSQL" + MONGO_DB = "MongoDB" + SQLRDS = "SQLRDS" + MY_SQLRDS = "MySQLRDS" + POSTGRE_SQLRDS = "PostgreSQLRDS" + +class ScenarioTarget(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of target type + """ + + SQL_SERVER = "SQLServer" + SQLDB = "SQLDB" + SQLDW = "SQLDW" + SQLMI = "SQLMI" + AZURE_DB_FOR_MY_SQL = "AzureDBForMySql" + AZURE_DB_FOR_POSTGRES_SQL = "AzureDBForPostgresSQL" + MONGO_DB = "MongoDB" + +class SchemaMigrationOption(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Option for how schema is extracted and applied to target + """ + + NONE = "None" + EXTRACT_FROM_SOURCE = "ExtractFromSource" + USE_STORAGE_FILE = "UseStorageFile" + +class SchemaMigrationStage(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Current stage of schema migration + """ + + NOT_STARTED = "NotStarted" + VALIDATING_INPUTS = "ValidatingInputs" + COLLECTING_OBJECTS = "CollectingObjects" + DOWNLOADING_SCRIPT = "DownloadingScript" + GENERATING_SCRIPT = "GeneratingScript" + UPLOADING_SCRIPT = "UploadingScript" + DEPLOYING_SCHEMA = "DeployingSchema" + COMPLETED = "Completed" + COMPLETED_WITH_WARNINGS = "CompletedWithWarnings" + FAILED = "Failed" + +class ServerLevelPermissionsGroup(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Permission group for validations. These groups will run a set of permissions for validating + user activity. Select the permission group for the activity that you are performing. + """ + + DEFAULT = "Default" + MIGRATION_FROM_SQL_SERVER_TO_AZURE_DB = "MigrationFromSqlServerToAzureDB" + MIGRATION_FROM_SQL_SERVER_TO_AZURE_MI = "MigrationFromSqlServerToAzureMI" + MIGRATION_FROM_MY_SQL_TO_AZURE_DB_FOR_MY_SQL = "MigrationFromMySQLToAzureDBForMySQL" + +class ServiceProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The resource's provisioning state + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + DEPLOYING = "Deploying" + STOPPED = "Stopped" + STOPPING = "Stopping" + STARTING = "Starting" + FAILED_TO_START = "FailedToStart" + FAILED_TO_STOP = "FailedToStop" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ServiceScalability(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The scalability approach + """ + + NONE = "none" + MANUAL = "manual" + AUTOMATIC = "automatic" + +class Severity(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Severity of the validation error + """ + + MESSAGE = "Message" + WARNING = "Warning" + ERROR = "Error" + +class SqlSourcePlatform(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of source platform types + """ + + SQL_ON_PREM = "SqlOnPrem" + +class SsisMigrationOverwriteOption(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The overwrite option for SSIS object migration, only ignore and overwrite are supported in DMS + now and future may add Reuse option for container object + """ + + IGNORE = "Ignore" + OVERWRITE = "Overwrite" + +class SsisMigrationStage(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Current stage of SSIS migration + """ + + NONE = "None" + INITIALIZE = "Initialize" + IN_PROGRESS = "InProgress" + COMPLETED = "Completed" + +class SsisStoreType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """An enumeration of supported source SSIS store type in DMS + """ + + SSIS_CATALOG = "SsisCatalog" + +class SyncDatabaseMigrationReportingState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum of the different state of database level online migration. + """ + + UNDEFINED = "UNDEFINED" + CONFIGURING = "CONFIGURING" + INITIALIAZING = "INITIALIAZING" + STARTING = "STARTING" + RUNNING = "RUNNING" + READY_TO_COMPLETE = "READY_TO_COMPLETE" + COMPLETING = "COMPLETING" + COMPLETE = "COMPLETE" + CANCELLING = "CANCELLING" + CANCELLED = "CANCELLED" + FAILED = "FAILED" + VALIDATING = "VALIDATING" + VALIDATION_COMPLETE = "VALIDATION_COMPLETE" + VALIDATION_FAILED = "VALIDATION_FAILED" + RESTORE_IN_PROGRESS = "RESTORE_IN_PROGRESS" + RESTORE_COMPLETED = "RESTORE_COMPLETED" + BACKUP_IN_PROGRESS = "BACKUP_IN_PROGRESS" + BACKUP_COMPLETED = "BACKUP_COMPLETED" + +class SyncTableMigrationState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum of the different state of table level online migration. + """ + + BEFORE_LOAD = "BEFORE_LOAD" + FULL_LOAD = "FULL_LOAD" + COMPLETED = "COMPLETED" + CANCELED = "CANCELED" + ERROR = "ERROR" + FAILED = "FAILED" + +class TaskState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The state of the task. This is ignored if submitted. + """ + + UNKNOWN = "Unknown" + QUEUED = "Queued" + RUNNING = "Running" + CANCELED = "Canceled" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + FAILED_INPUT_VALIDATION = "FailedInputValidation" + FAULTED = "Faulted" + +class TaskType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Task type. + """ + + CONNECT_MONGO_DB = "Connect.MongoDb" + CONNECT_TO_SOURCE_SQL_SERVER = "ConnectToSource.SqlServer" + CONNECT_TO_SOURCE_SQL_SERVER_SYNC = "ConnectToSource.SqlServer.Sync" + CONNECT_TO_SOURCE_POSTGRE_SQL_SYNC = "ConnectToSource.PostgreSql.Sync" + CONNECT_TO_SOURCE_MY_SQL = "ConnectToSource.MySql" + CONNECT_TO_SOURCE_ORACLE_SYNC = "ConnectToSource.Oracle.Sync" + CONNECT_TO_TARGET_SQL_DB = "ConnectToTarget.SqlDb" + CONNECT_TO_TARGET_SQL_DB_SYNC = "ConnectToTarget.SqlDb.Sync" + CONNECT_TO_TARGET_AZURE_DB_FOR_POSTGRE_SQL_SYNC = "ConnectToTarget.AzureDbForPostgreSql.Sync" + CONNECT_TO_TARGET_ORACLE_AZURE_DB_FOR_POSTGRE_SQL_SYNC = "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync" + CONNECT_TO_TARGET_AZURE_SQL_DB_MI = "ConnectToTarget.AzureSqlDbMI" + CONNECT_TO_TARGET_AZURE_SQL_DB_MI_SYNC_LRS = "ConnectToTarget.AzureSqlDbMI.Sync.LRS" + CONNECT_TO_TARGET_AZURE_DB_FOR_MY_SQL = "ConnectToTarget.AzureDbForMySql" + GET_USER_TABLES_SQL = "GetUserTables.Sql" + GET_USER_TABLES_AZURE_SQL_DB_SYNC = "GetUserTables.AzureSqlDb.Sync" + GET_USER_TABLES_ORACLE = "GetUserTablesOracle" + GET_USER_TABLES_POSTGRE_SQL = "GetUserTablesPostgreSql" + GET_USER_TABLES_MY_SQL = "GetUserTablesMySql" + MIGRATE_MONGO_DB = "Migrate.MongoDb" + MIGRATE_SQL_SERVER_AZURE_SQL_DB_MI = "Migrate.SqlServer.AzureSqlDbMI" + MIGRATE_SQL_SERVER_AZURE_SQL_DB_MI_SYNC_LRS = "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS" + MIGRATE_SQL_SERVER_SQL_DB = "Migrate.SqlServer.SqlDb" + MIGRATE_SQL_SERVER_AZURE_SQL_DB_SYNC = "Migrate.SqlServer.AzureSqlDb.Sync" + MIGRATE_MY_SQL_AZURE_DB_FOR_MY_SQL_SYNC = "Migrate.MySql.AzureDbForMySql.Sync" + MIGRATE_MY_SQL_AZURE_DB_FOR_MY_SQL = "Migrate.MySql.AzureDbForMySql" + MIGRATE_POSTGRE_SQL_AZURE_DB_FOR_POSTGRE_SQL_SYNC_V2 = "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2" + MIGRATE_ORACLE_AZURE_DB_FOR_POSTGRE_SQL_SYNC = "Migrate.Oracle.AzureDbForPostgreSql.Sync" + VALIDATE_MIGRATION_INPUT_SQL_SERVER_SQL_DB_SYNC = "ValidateMigrationInput.SqlServer.SqlDb.Sync" + VALIDATE_MIGRATION_INPUT_SQL_SERVER_AZURE_SQL_DB_MI = "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + VALIDATE_MIGRATION_INPUT_SQL_SERVER_AZURE_SQL_DB_MI_SYNC_LRS = "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS" + VALIDATE_MONGO_DB = "Validate.MongoDb" + VALIDATE_ORACLE_AZURE_DB_POSTGRE_SQL_SYNC = "Validate.Oracle.AzureDbPostgreSql.Sync" + GET_TDE_CERTIFICATES_SQL = "GetTDECertificates.Sql" + MIGRATE_SSIS = "Migrate.Ssis" + SERVICE_CHECK_OCI = "Service.Check.OCI" + SERVICE_UPLOAD_OCI = "Service.Upload.OCI" + SERVICE_INSTALL_OCI = "Service.Install.OCI" + MIGRATE_SCHEMA_SQL_SERVER_SQL_DB = "MigrateSchemaSqlServerSqlDb" + +class UpdateActionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the actual difference for the compared object, while performing schema comparison + """ + + DELETED_ON_TARGET = "DeletedOnTarget" + CHANGED_ON_TARGET = "ChangedOnTarget" + ADDED_ON_TARGET = "AddedOnTarget" + +class ValidationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Current status of the validation + """ + + DEFAULT = "Default" + NOT_STARTED = "NotStarted" + INITIALIZED = "Initialized" + IN_PROGRESS = "InProgress" + COMPLETED = "Completed" + COMPLETED_WITH_ISSUES = "CompletedWithIssues" + STOPPED = "Stopped" + FAILED = "Failed" diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_models.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_models.py new file mode 100644 index 00000000000..84a3adfe020 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_models.py @@ -0,0 +1,15102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ApiError(msrest.serialization.Model): + """Error information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param error: Error information in OData format. + :type error: ~azure.mgmt.datamigration.models.ODataError + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ODataError'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + self.system_data = None + + +class AuthenticationKeys(msrest.serialization.Model): + """An authentication key. + + :param auth_key1: The first authentication key. + :type auth_key1: str + :param auth_key2: The second authentication key. + :type auth_key2: str + """ + + _attribute_map = { + 'auth_key1': {'key': 'authKey1', 'type': 'str'}, + 'auth_key2': {'key': 'authKey2', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AuthenticationKeys, self).__init__(**kwargs) + self.auth_key1 = kwargs.get('auth_key1', None) + self.auth_key2 = kwargs.get('auth_key2', None) + + +class AvailableServiceSku(msrest.serialization.Model): + """Describes the available service SKU. + + :param resource_type: The resource type, including the provider namespace. + :type resource_type: str + :param sku: SKU name, tier, etc. + :type sku: ~azure.mgmt.datamigration.models.AvailableServiceSkuautogenerated + :param capacity: A description of the scaling capacities of the SKU. + :type capacity: ~azure.mgmt.datamigration.models.AvailableServiceSkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AvailableServiceSkuautogenerated'}, + 'capacity': {'key': 'capacity', 'type': 'AvailableServiceSkuCapacity'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailableServiceSku, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.sku = kwargs.get('sku', None) + self.capacity = kwargs.get('capacity', None) + + +class AvailableServiceSkuautogenerated(msrest.serialization.Model): + """SKU name, tier, etc. + + :param name: The name of the SKU. + :type name: str + :param family: SKU family. + :type family: str + :param size: SKU size. + :type size: str + :param tier: The tier of the SKU, such as "Basic", "General Purpose", or "Business Critical". + :type tier: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailableServiceSkuautogenerated, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.family = kwargs.get('family', None) + self.size = kwargs.get('size', None) + self.tier = kwargs.get('tier', None) + + +class AvailableServiceSkuCapacity(msrest.serialization.Model): + """A description of the scaling capacities of the SKU. + + :param minimum: The minimum capacity, usually 0 or 1. + :type minimum: int + :param maximum: The maximum capacity. + :type maximum: int + :param default: The default capacity. + :type default: int + :param scale_type: The scalability approach. Possible values include: "none", "manual", + "automatic". + :type scale_type: str or ~azure.mgmt.datamigration.models.ServiceScalability + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailableServiceSkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs.get('minimum', None) + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class AzureActiveDirectoryApp(msrest.serialization.Model): + """Azure Active Directory Application. + + All required parameters must be populated in order to send to Azure. + + :param application_id: Required. Application ID of the Azure Active Directory Application. + :type application_id: str + :param app_key: Required. Key used to authenticate to the Azure Active Directory Application. + :type app_key: str + :param tenant_id: Required. Tenant id of the customer. + :type tenant_id: str + """ + + _validation = { + 'application_id': {'required': True}, + 'app_key': {'required': True}, + 'tenant_id': {'required': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + 'app_key': {'key': 'appKey', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureActiveDirectoryApp, self).__init__(**kwargs) + self.application_id = kwargs['application_id'] + self.app_key = kwargs['app_key'] + self.tenant_id = kwargs['tenant_id'] + + +class AzureBlob(msrest.serialization.Model): + """Azure Blob Details. + + :param storage_account_resource_id: Resource Id of the storage account where backups are + stored. + :type storage_account_resource_id: str + :param account_key: Storage Account Key. + :type account_key: str + :param blob_container_name: Blob container name where backups are stored. + :type blob_container_name: str + """ + + _attribute_map = { + 'storage_account_resource_id': {'key': 'storageAccountResourceId', 'type': 'str'}, + 'account_key': {'key': 'accountKey', 'type': 'str'}, + 'blob_container_name': {'key': 'blobContainerName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureBlob, self).__init__(**kwargs) + self.storage_account_resource_id = kwargs.get('storage_account_resource_id', None) + self.account_key = kwargs.get('account_key', None) + self.blob_container_name = kwargs.get('blob_container_name', None) + + +class BackupConfiguration(msrest.serialization.Model): + """Backup Configuration. + + :param source_location: Source location of backups. + :type source_location: ~azure.mgmt.datamigration.models.SourceLocation + :param target_location: Target location for copying backups. + :type target_location: ~azure.mgmt.datamigration.models.TargetLocation + """ + + _attribute_map = { + 'source_location': {'key': 'sourceLocation', 'type': 'SourceLocation'}, + 'target_location': {'key': 'targetLocation', 'type': 'TargetLocation'}, + } + + def __init__( + self, + **kwargs + ): + super(BackupConfiguration, self).__init__(**kwargs) + self.source_location = kwargs.get('source_location', None) + self.target_location = kwargs.get('target_location', None) + + +class BackupFileInfo(msrest.serialization.Model): + """Information of the backup file. + + :param file_location: Location of the backup file in shared folder. + :type file_location: str + :param family_sequence_number: Sequence number of the backup file in the backup set. + :type family_sequence_number: int + :param status: Status of the backup file during migration. Possible values include: "Arrived", + "Queued", "Uploading", "Uploaded", "Restoring", "Restored", "Cancelled". + :type status: str or ~azure.mgmt.datamigration.models.BackupFileStatus + """ + + _attribute_map = { + 'file_location': {'key': 'fileLocation', 'type': 'str'}, + 'family_sequence_number': {'key': 'familySequenceNumber', 'type': 'int'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BackupFileInfo, self).__init__(**kwargs) + self.file_location = kwargs.get('file_location', None) + self.family_sequence_number = kwargs.get('family_sequence_number', None) + self.status = kwargs.get('status', None) + + +class BackupSetInfo(msrest.serialization.Model): + """Information of backup set. + + :param backup_set_id: Id for the set of backup files. + :type backup_set_id: str + :param first_lsn: First log sequence number of the backup file. + :type first_lsn: str + :param last_lsn: Last log sequence number of the backup file. + :type last_lsn: str + :param last_modified_time: Last modified time of the backup file in share location. + :type last_modified_time: ~datetime.datetime + :param backup_type: Enum of the different backup types. Possible values include: "Database", + "TransactionLog", "File", "DifferentialDatabase", "DifferentialFile", "Partial", + "DifferentialPartial". + :type backup_type: str or ~azure.mgmt.datamigration.models.BackupType + :param list_of_backup_files: List of files in the backup set. + :type list_of_backup_files: list[~azure.mgmt.datamigration.models.BackupFileInfo] + :param database_name: Name of the database to which the backup set belongs. + :type database_name: str + :param backup_start_date: Date and time that the backup operation began. + :type backup_start_date: ~datetime.datetime + :param backup_finished_date: Date and time that the backup operation finished. + :type backup_finished_date: ~datetime.datetime + :param is_backup_restored: Whether the backup set is restored or not. + :type is_backup_restored: bool + """ + + _attribute_map = { + 'backup_set_id': {'key': 'backupSetId', 'type': 'str'}, + 'first_lsn': {'key': 'firstLsn', 'type': 'str'}, + 'last_lsn': {'key': 'lastLsn', 'type': 'str'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + 'backup_type': {'key': 'backupType', 'type': 'str'}, + 'list_of_backup_files': {'key': 'listOfBackupFiles', 'type': '[BackupFileInfo]'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'backup_start_date': {'key': 'backupStartDate', 'type': 'iso-8601'}, + 'backup_finished_date': {'key': 'backupFinishedDate', 'type': 'iso-8601'}, + 'is_backup_restored': {'key': 'isBackupRestored', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(BackupSetInfo, self).__init__(**kwargs) + self.backup_set_id = kwargs.get('backup_set_id', None) + self.first_lsn = kwargs.get('first_lsn', None) + self.last_lsn = kwargs.get('last_lsn', None) + self.last_modified_time = kwargs.get('last_modified_time', None) + self.backup_type = kwargs.get('backup_type', None) + self.list_of_backup_files = kwargs.get('list_of_backup_files', None) + self.database_name = kwargs.get('database_name', None) + self.backup_start_date = kwargs.get('backup_start_date', None) + self.backup_finished_date = kwargs.get('backup_finished_date', None) + self.is_backup_restored = kwargs.get('is_backup_restored', None) + + +class BlobShare(msrest.serialization.Model): + """Blob container storage information. + + All required parameters must be populated in order to send to Azure. + + :param sas_uri: Required. SAS URI of Azure Storage Account Container. + :type sas_uri: str + """ + + _validation = { + 'sas_uri': {'required': True}, + } + + _attribute_map = { + 'sas_uri': {'key': 'sasUri', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobShare, self).__init__(**kwargs) + self.sas_uri = kwargs['sas_uri'] + + +class CheckOciDriverTaskInput(msrest.serialization.Model): + """Input for the service task to check for OCI drivers. + + :param server_version: Version of the source server to check against. Optional. + :type server_version: str + """ + + _attribute_map = { + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckOciDriverTaskInput, self).__init__(**kwargs) + self.server_version = kwargs.get('server_version', None) + + +class CheckOciDriverTaskOutput(msrest.serialization.Model): + """Output for the service task to check for OCI drivers. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param installed_driver: Information about the installed driver if found and valid. + :type installed_driver: ~azure.mgmt.datamigration.models.OracleOciDriverInfo + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'installed_driver': {'key': 'installedDriver', 'type': 'OracleOciDriverInfo'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckOciDriverTaskOutput, self).__init__(**kwargs) + self.installed_driver = kwargs.get('installed_driver', None) + self.validation_errors = None + + +class ProjectTaskProperties(msrest.serialization.Model): + """Base class for all types of DMS task properties. If task is not supported by current client, this object is returned. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ConnectToMongoDbTaskProperties, ConnectToSourceMySqlTaskProperties, ConnectToSourceOracleSyncTaskProperties, ConnectToSourcePostgreSqlSyncTaskProperties, ConnectToSourceSqlServerTaskProperties, ConnectToSourceSqlServerSyncTaskProperties, ConnectToTargetAzureDbForMySqlTaskProperties, ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, ConnectToTargetSqlMiTaskProperties, ConnectToTargetSqlMiSyncTaskProperties, ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, ConnectToTargetSqlDbTaskProperties, ConnectToTargetSqlDbSyncTaskProperties, GetTdeCertificatesSqlTaskProperties, GetUserTablesSqlSyncTaskProperties, GetUserTablesSqlTaskProperties, GetUserTablesMySqlTaskProperties, GetUserTablesOracleTaskProperties, GetUserTablesPostgreSqlTaskProperties, MigrateMongoDbTaskProperties, MigrateMySqlAzureDbForMySqlOfflineTaskProperties, MigrateMySqlAzureDbForMySqlSyncTaskProperties, MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, MigrateSqlServerSqlDbSyncTaskProperties, MigrateSqlServerSqlMiTaskProperties, MigrateSqlServerSqlMiSyncTaskProperties, MigrateSqlServerSqlDbTaskProperties, MigrateSsisTaskProperties, MigrateSchemaSqlServerSqlDbTaskProperties, CheckOciDriverTaskProperties, InstallOciDriverTaskProperties, UploadOciDriverTaskProperties, ValidateMongoDbTaskProperties, ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, ValidateMigrationInputSqlServerSqlMiTaskProperties, ValidateMigrationInputSqlServerSqlMiSyncTaskProperties, ValidateMigrationInputSqlServerSqlDbSyncTaskProperties. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + } + + _subtype_map = { + 'task_type': {'Connect.MongoDb': 'ConnectToMongoDbTaskProperties', 'ConnectToSource.MySql': 'ConnectToSourceMySqlTaskProperties', 'ConnectToSource.Oracle.Sync': 'ConnectToSourceOracleSyncTaskProperties', 'ConnectToSource.PostgreSql.Sync': 'ConnectToSourcePostgreSqlSyncTaskProperties', 'ConnectToSource.SqlServer': 'ConnectToSourceSqlServerTaskProperties', 'ConnectToSource.SqlServer.Sync': 'ConnectToSourceSqlServerSyncTaskProperties', 'ConnectToTarget.AzureDbForMySql': 'ConnectToTargetAzureDbForMySqlTaskProperties', 'ConnectToTarget.AzureDbForPostgreSql.Sync': 'ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties', 'ConnectToTarget.AzureSqlDbMI': 'ConnectToTargetSqlMiTaskProperties', 'ConnectToTarget.AzureSqlDbMI.Sync.LRS': 'ConnectToTargetSqlMiSyncTaskProperties', 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync': 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties', 'ConnectToTarget.SqlDb': 'ConnectToTargetSqlDbTaskProperties', 'ConnectToTarget.SqlDb.Sync': 'ConnectToTargetSqlDbSyncTaskProperties', 'GetTDECertificates.Sql': 'GetTdeCertificatesSqlTaskProperties', 'GetUserTables.AzureSqlDb.Sync': 'GetUserTablesSqlSyncTaskProperties', 'GetUserTables.Sql': 'GetUserTablesSqlTaskProperties', 'GetUserTablesMySql': 'GetUserTablesMySqlTaskProperties', 'GetUserTablesOracle': 'GetUserTablesOracleTaskProperties', 'GetUserTablesPostgreSql': 'GetUserTablesPostgreSqlTaskProperties', 'Migrate.MongoDb': 'MigrateMongoDbTaskProperties', 'Migrate.MySql.AzureDbForMySql': 'MigrateMySqlAzureDbForMySqlOfflineTaskProperties', 'Migrate.MySql.AzureDbForMySql.Sync': 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', 'Migrate.Oracle.AzureDbForPostgreSql.Sync': 'MigrateOracleAzureDbForPostgreSqlSyncTaskProperties', 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties', 'Migrate.SqlServer.AzureSqlDb.Sync': 'MigrateSqlServerSqlDbSyncTaskProperties', 'Migrate.SqlServer.AzureSqlDbMI': 'MigrateSqlServerSqlMiTaskProperties', 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS': 'MigrateSqlServerSqlMiSyncTaskProperties', 'Migrate.SqlServer.SqlDb': 'MigrateSqlServerSqlDbTaskProperties', 'Migrate.Ssis': 'MigrateSsisTaskProperties', 'MigrateSchemaSqlServerSqlDb': 'MigrateSchemaSqlServerSqlDbTaskProperties', 'Service.Check.OCI': 'CheckOciDriverTaskProperties', 'Service.Install.OCI': 'InstallOciDriverTaskProperties', 'Service.Upload.OCI': 'UploadOciDriverTaskProperties', 'Validate.MongoDb': 'ValidateMongoDbTaskProperties', 'Validate.Oracle.AzureDbPostgreSql.Sync': 'ValidateOracleAzureDbForPostgreSqlSyncTaskProperties', 'ValidateMigrationInput.SqlServer.AzureSqlDbMI': 'ValidateMigrationInputSqlServerSqlMiTaskProperties', 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS': 'ValidateMigrationInputSqlServerSqlMiSyncTaskProperties', 'ValidateMigrationInput.SqlServer.SqlDb.Sync': 'ValidateMigrationInputSqlServerSqlDbSyncTaskProperties'} + } + + def __init__( + self, + **kwargs + ): + super(ProjectTaskProperties, self).__init__(**kwargs) + self.task_type = None # type: Optional[str] + self.errors = None + self.state = None + self.commands = None + self.client_data = kwargs.get('client_data', None) + + +class CheckOciDriverTaskProperties(ProjectTaskProperties): + """Properties for the task that checks for OCI drivers. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Input for the service task to check for OCI drivers. + :type input: ~azure.mgmt.datamigration.models.CheckOciDriverTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.CheckOciDriverTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'CheckOciDriverTaskInput'}, + 'output': {'key': 'output', 'type': '[CheckOciDriverTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(CheckOciDriverTaskProperties, self).__init__(**kwargs) + self.task_type = 'Service.Check.OCI' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class CommandProperties(msrest.serialization.Model): + """Base class for all types of DMS command properties. If command is not supported by current client, this object is returned. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateMiSyncCompleteCommandProperties, MigrateSyncCompleteCommandProperties, MongoDbCancelCommand, MongoDbFinishCommand, MongoDbRestartCommand. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + _subtype_map = { + 'command_type': {'Migrate.SqlServer.AzureDbSqlMi.Complete': 'MigrateMiSyncCompleteCommandProperties', 'Migrate.Sync.Complete.Database': 'MigrateSyncCompleteCommandProperties', 'cancel': 'MongoDbCancelCommand', 'finish': 'MongoDbFinishCommand', 'restart': 'MongoDbRestartCommand'} + } + + def __init__( + self, + **kwargs + ): + super(CommandProperties, self).__init__(**kwargs) + self.command_type = None # type: Optional[str] + self.errors = None + self.state = None + + +class ConnectionInfo(msrest.serialization.Model): + """Defines the connection properties of a server. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MiSqlConnectionInfo, MongoDbConnectionInfo, MySqlConnectionInfo, OracleConnectionInfo, PostgreSqlConnectionInfo, SqlConnectionInfo. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'MiSqlConnectionInfo': 'MiSqlConnectionInfo', 'MongoDbConnectionInfo': 'MongoDbConnectionInfo', 'MySqlConnectionInfo': 'MySqlConnectionInfo', 'OracleConnectionInfo': 'OracleConnectionInfo', 'PostgreSqlConnectionInfo': 'PostgreSqlConnectionInfo', 'SqlConnectionInfo': 'SqlConnectionInfo'} + } + + def __init__( + self, + **kwargs + ): + super(ConnectionInfo, self).__init__(**kwargs) + self.type = None # type: Optional[str] + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + + +class ConnectToMongoDbTaskProperties(ProjectTaskProperties): + """Properties for the task that validates the connection to and provides information about a MongoDB server. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Describes a connection to a MongoDB data source. + :type input: ~azure.mgmt.datamigration.models.MongoDbConnectionInfo + :ivar output: An array containing a single MongoDbClusterInfo object. + :vartype output: list[~azure.mgmt.datamigration.models.MongoDbClusterInfo] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MongoDbConnectionInfo'}, + 'output': {'key': 'output', 'type': '[MongoDbClusterInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToMongoDbTaskProperties, self).__init__(**kwargs) + self.task_type = 'Connect.MongoDb' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToSourceMySqlTaskInput(msrest.serialization.Model): + """Input for the task that validates MySQL database connection. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to MySQL source. + :type source_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_platform: Target Platform for the migration. Possible values include: + "SqlServer", "AzureDbForMySQL". + :type target_platform: str or ~azure.mgmt.datamigration.models.MySqlTargetPlatformType + :param check_permissions_group: Permission group for validations. Possible values include: + "Default", "MigrationFromSqlServerToAzureDB", "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL". + :type check_permissions_group: str or + ~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup + :param is_offline_migration: Flag for whether or not the migration is offline. + :type is_offline_migration: bool + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_platform': {'key': 'targetPlatform', 'type': 'str'}, + 'check_permissions_group': {'key': 'checkPermissionsGroup', 'type': 'str'}, + 'is_offline_migration': {'key': 'isOfflineMigration', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceMySqlTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_platform = kwargs.get('target_platform', None) + self.check_permissions_group = kwargs.get('check_permissions_group', None) + self.is_offline_migration = kwargs.get('is_offline_migration', False) + + +class ConnectToSourceMySqlTaskProperties(ProjectTaskProperties): + """Properties for the task that validates MySQL database connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourceMySqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourceNonSqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceMySqlTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceNonSqlTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceMySqlTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToSource.MySql' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToSourceNonSqlTaskOutput(msrest.serialization.Model): + """Output for connect to MySQL type source. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar source_server_brand_version: Server brand version. + :vartype source_server_brand_version: str + :ivar server_properties: Server properties. + :vartype server_properties: ~azure.mgmt.datamigration.models.ServerProperties + :ivar databases: List of databases on the server. + :vartype databases: list[str] + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'server_properties': {'readonly': True}, + 'databases': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'server_properties': {'key': 'serverProperties', 'type': 'ServerProperties'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceNonSqlTaskOutput, self).__init__(**kwargs) + self.id = None + self.source_server_brand_version = None + self.server_properties = None + self.databases = None + self.validation_errors = None + + +class ConnectToSourceOracleSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates Oracle database connection. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to Oracle source. + :type source_connection_info: ~azure.mgmt.datamigration.models.OracleConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'OracleConnectionInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceOracleSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + + +class ConnectToSourceOracleSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates Oracle database connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar source_server_version: Version of the source server. + :vartype source_server_version: str + :ivar databases: List of schemas on source server. + :vartype databases: list[str] + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'source_server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceOracleSyncTaskOutput, self).__init__(**kwargs) + self.source_server_version = None + self.databases = None + self.source_server_brand_version = None + self.validation_errors = None + + +class ConnectToSourceOracleSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates Oracle database connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourceOracleSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourceOracleSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceOracleSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceOracleSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceOracleSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToSource.Oracle.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToSourcePostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to PostgreSQL and source server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source PostgreSQL server. + :type source_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourcePostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + + +class ConnectToSourcePostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to PostgreSQL and source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar source_server_version: Version of the source server. + :vartype source_server_version: str + :ivar databases: List of databases on source server. + :vartype databases: list[str] + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourcePostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.source_server_version = None + self.databases = None + self.source_server_brand_version = None + self.validation_errors = None + + +class ConnectToSourcePostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourcePostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourcePostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourcePostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourcePostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourcePostgreSqlSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToSource.PostgreSql.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToSourceSqlServerSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL Server and source server requirements for online migration. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceSqlServerTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToSource.SqlServer.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToSourceSqlServerTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to SQL Server and also validates source server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for Source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param check_permissions_group: Permission group for validations. Possible values include: + "Default", "MigrationFromSqlServerToAzureDB", "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL". + :type check_permissions_group: str or + ~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup + :param collect_databases: Flag for whether to collect databases from source server. + :type collect_databases: bool + :param collect_logins: Flag for whether to collect logins from source server. + :type collect_logins: bool + :param collect_agent_jobs: Flag for whether to collect agent jobs from source server. + :type collect_agent_jobs: bool + :param collect_tde_certificate_info: Flag for whether to collect TDE Certificate names from + source server. + :type collect_tde_certificate_info: bool + :param validate_ssis_catalog_only: Flag for whether to validate SSIS catalog is reachable on + the source server. + :type validate_ssis_catalog_only: bool + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'check_permissions_group': {'key': 'checkPermissionsGroup', 'type': 'str'}, + 'collect_databases': {'key': 'collectDatabases', 'type': 'bool'}, + 'collect_logins': {'key': 'collectLogins', 'type': 'bool'}, + 'collect_agent_jobs': {'key': 'collectAgentJobs', 'type': 'bool'}, + 'collect_tde_certificate_info': {'key': 'collectTdeCertificateInfo', 'type': 'bool'}, + 'validate_ssis_catalog_only': {'key': 'validateSsisCatalogOnly', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.check_permissions_group = kwargs.get('check_permissions_group', None) + self.collect_databases = kwargs.get('collect_databases', True) + self.collect_logins = kwargs.get('collect_logins', False) + self.collect_agent_jobs = kwargs.get('collect_agent_jobs', False) + self.collect_tde_certificate_info = kwargs.get('collect_tde_certificate_info', False) + self.validate_ssis_catalog_only = kwargs.get('validate_ssis_catalog_only', False) + + +class ConnectToSourceSqlServerTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to SQL Server and also validates source server requirements. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ConnectToSourceSqlServerTaskOutputAgentJobLevel, ConnectToSourceSqlServerTaskOutputDatabaseLevel, ConnectToSourceSqlServerTaskOutputLoginLevel, ConnectToSourceSqlServerTaskOutputTaskLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'AgentJobLevelOutput': 'ConnectToSourceSqlServerTaskOutputAgentJobLevel', 'DatabaseLevelOutput': 'ConnectToSourceSqlServerTaskOutputDatabaseLevel', 'LoginLevelOutput': 'ConnectToSourceSqlServerTaskOutputLoginLevel', 'TaskLevelOutput': 'ConnectToSourceSqlServerTaskOutputTaskLevel'} + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class ConnectToSourceSqlServerTaskOutputAgentJobLevel(ConnectToSourceSqlServerTaskOutput): + """Agent Job level output for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + :ivar name: Agent Job name. + :vartype name: str + :ivar job_category: The type of Agent Job. + :vartype job_category: str + :ivar is_enabled: The state of the original Agent Job. + :vartype is_enabled: bool + :ivar job_owner: The owner of the Agent Job. + :vartype job_owner: str + :ivar last_executed_on: UTC Date and time when the Agent Job was last executed. + :vartype last_executed_on: ~datetime.datetime + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar migration_eligibility: Information about eligibility of agent job for migration. + :vartype migration_eligibility: ~azure.mgmt.datamigration.models.MigrationEligibilityInfo + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'job_category': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'job_owner': {'readonly': True}, + 'last_executed_on': {'readonly': True}, + 'validation_errors': {'readonly': True}, + 'migration_eligibility': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'job_category': {'key': 'jobCategory', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'job_owner': {'key': 'jobOwner', 'type': 'str'}, + 'last_executed_on': {'key': 'lastExecutedOn', 'type': 'iso-8601'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + 'migration_eligibility': {'key': 'migrationEligibility', 'type': 'MigrationEligibilityInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutputAgentJobLevel, self).__init__(**kwargs) + self.result_type = 'AgentJobLevelOutput' # type: str + self.name = None + self.job_category = None + self.is_enabled = None + self.job_owner = None + self.last_executed_on = None + self.validation_errors = None + self.migration_eligibility = None + + +class ConnectToSourceSqlServerTaskOutputDatabaseLevel(ConnectToSourceSqlServerTaskOutput): + """Database level output for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + :ivar name: Database name. + :vartype name: str + :ivar size_mb: Size of the file in megabytes. + :vartype size_mb: float + :ivar database_files: The list of database files. + :vartype database_files: list[~azure.mgmt.datamigration.models.DatabaseFileInfo] + :ivar compatibility_level: SQL Server compatibility level of database. Possible values include: + "CompatLevel80", "CompatLevel90", "CompatLevel100", "CompatLevel110", "CompatLevel120", + "CompatLevel130", "CompatLevel140". + :vartype compatibility_level: str or ~azure.mgmt.datamigration.models.DatabaseCompatLevel + :ivar database_state: State of the database. Possible values include: "Online", "Restoring", + "Recovering", "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", + "OfflineSecondary". + :vartype database_state: str or ~azure.mgmt.datamigration.models.DatabaseState + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'size_mb': {'readonly': True}, + 'database_files': {'readonly': True}, + 'compatibility_level': {'readonly': True}, + 'database_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + 'database_files': {'key': 'databaseFiles', 'type': '[DatabaseFileInfo]'}, + 'compatibility_level': {'key': 'compatibilityLevel', 'type': 'str'}, + 'database_state': {'key': 'databaseState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.name = None + self.size_mb = None + self.database_files = None + self.compatibility_level = None + self.database_state = None + + +class ConnectToSourceSqlServerTaskOutputLoginLevel(ConnectToSourceSqlServerTaskOutput): + """Login level output for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + :ivar name: Login name. + :vartype name: str + :ivar login_type: The type of login. Possible values include: "WindowsUser", "WindowsGroup", + "SqlLogin", "Certificate", "AsymmetricKey", "ExternalUser", "ExternalGroup". + :vartype login_type: str or ~azure.mgmt.datamigration.models.LoginType + :ivar default_database: The default database for the login. + :vartype default_database: str + :ivar is_enabled: The state of the login. + :vartype is_enabled: bool + :ivar migration_eligibility: Information about eligibility of login for migration. + :vartype migration_eligibility: ~azure.mgmt.datamigration.models.MigrationEligibilityInfo + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'login_type': {'readonly': True}, + 'default_database': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'migration_eligibility': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'login_type': {'key': 'loginType', 'type': 'str'}, + 'default_database': {'key': 'defaultDatabase', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'migration_eligibility': {'key': 'migrationEligibility', 'type': 'MigrationEligibilityInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutputLoginLevel, self).__init__(**kwargs) + self.result_type = 'LoginLevelOutput' # type: str + self.name = None + self.login_type = None + self.default_database = None + self.is_enabled = None + self.migration_eligibility = None + + +class ConnectToSourceSqlServerTaskOutputTaskLevel(ConnectToSourceSqlServerTaskOutput): + """Task level output for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + :ivar databases: Source databases as a map from database name to database id. + :vartype databases: str + :ivar logins: Source logins as a map from login name to login id. + :vartype logins: str + :ivar agent_jobs: Source agent jobs as a map from agent job name to id. + :vartype agent_jobs: str + :ivar database_tde_certificate_mapping: Mapping from database name to TDE certificate name, if + applicable. + :vartype database_tde_certificate_mapping: str + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'databases': {'readonly': True}, + 'logins': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'database_tde_certificate_mapping': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'logins': {'key': 'logins', 'type': 'str'}, + 'agent_jobs': {'key': 'agentJobs', 'type': 'str'}, + 'database_tde_certificate_mapping': {'key': 'databaseTdeCertificateMapping', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutputTaskLevel, self).__init__(**kwargs) + self.result_type = 'TaskLevelOutput' # type: str + self.databases = None + self.logins = None + self.agent_jobs = None + self.database_tde_certificate_mapping = None + self.source_server_version = None + self.source_server_brand_version = None + self.validation_errors = None + + +class ConnectToSourceSqlServerTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceSqlServerTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToSource.SqlServer' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToTargetAzureDbForMySqlTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure Database for MySQL and target server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source MySQL server. + :type source_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_connection_info: Required. Connection information for target Azure Database for + MySQL server. + :type target_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param is_offline_migration: Flag for whether or not the migration is offline. + :type is_offline_migration: bool + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'is_offline_migration': {'key': 'isOfflineMigration', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetAzureDbForMySqlTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + self.is_offline_migration = kwargs.get('is_offline_migration', False) + + +class ConnectToTargetAzureDbForMySqlTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure Database for MySQL and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar server_version: Version of the target server. + :vartype server_version: str + :ivar databases: List of databases on target server. + :vartype databases: list[str] + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetAzureDbForMySqlTaskOutput, self).__init__(**kwargs) + self.id = None + self.server_version = None + self.databases = None + self.target_server_brand_version = None + self.validation_errors = None + + +class ConnectToTargetAzureDbForMySqlTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure Database for MySQL and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForMySqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForMySqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetAzureDbForMySqlTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetAzureDbForMySqlTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetAzureDbForMySqlTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToTarget.AzureDbForMySql' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToTargetAzureDbForPostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source PostgreSQL server. + :type source_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param target_connection_info: Required. Connection information for target Azure Database for + PostgreSQL server. + :type target_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetAzureDbForPostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + + +class ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar target_server_version: Version of the target server. + :vartype target_server_version: str + :ivar databases: List of databases on target server. + :vartype databases: list[str] + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.target_server_version = None + self.databases = None + self.target_server_brand_version = None + self.validation_errors = None + + +class ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetAzureDbForPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToTarget.AzureDbForPostgreSql.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Connection information for target Azure Database for + PostgreSQL server. + :type target_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.target_connection_info = kwargs['target_connection_info'] + + +class ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar target_server_version: Version of the target server. + :vartype target_server_version: str + :ivar databases: List of databases on target server. + :vartype databases: list[str] + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + :param database_schema_map: Mapping of schemas per database. + :type database_schema_map: + list[~azure.mgmt.datamigration.models.ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem] + """ + + _validation = { + 'target_server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + 'database_schema_map': {'key': 'databaseSchemaMap', 'type': '[ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.target_server_version = None + self.databases = None + self.target_server_brand_version = None + self.validation_errors = None + self.database_schema_map = kwargs.get('database_schema_map', None) + + +class ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem(msrest.serialization.Model): + """ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem. + + :param database: + :type database: str + :param schemas: + :type schemas: list[str] + """ + + _attribute_map = { + 'database': {'key': 'database', 'type': 'str'}, + 'schemas': {'key': 'schemas', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem, self).__init__(**kwargs) + self.database = kwargs.get('database', None) + self.schemas = kwargs.get('schemas', None) + + +class ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration for Oracle source. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: + ~azure.mgmt.datamigration.models.ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToTargetSqlDbSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure SQL DB and target server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for target SQL DB. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlDbSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + + +class ConnectToTargetSqlDbSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL DB and target server requirements for online migration. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetSqlDbSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToTargetSqlDbTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlDbSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlDbTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlDbSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToTarget.SqlDb.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToTargetSqlDbTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to SQL DB and target server requirements. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Connection information for target SQL DB. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlDbTaskInput, self).__init__(**kwargs) + self.target_connection_info = kwargs['target_connection_info'] + + +class ConnectToTargetSqlDbTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to SQL DB and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar databases: Source databases as a map from database name to database id. + :vartype databases: str + :ivar target_server_version: Version of the target server. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlDbTaskOutput, self).__init__(**kwargs) + self.id = None + self.databases = None + self.target_server_version = None + self.target_server_brand_version = None + + +class ConnectToTargetSqlDbTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL DB and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetSqlDbTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToTargetSqlDbTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlDbTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlDbTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlDbTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToTarget.SqlDb' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToTargetSqlMiSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure SQL Database Managed Instance online scenario. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Connection information for Azure SQL Database Managed + Instance. + :type target_connection_info: ~azure.mgmt.datamigration.models.MiSqlConnectionInfo + :param azure_app: Required. Azure Active Directory Application the DMS instance will use to + connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage + Account. + :type azure_app: ~azure.mgmt.datamigration.models.AzureActiveDirectoryApp + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'azure_app': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MiSqlConnectionInfo'}, + 'azure_app': {'key': 'azureApp', 'type': 'AzureActiveDirectoryApp'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlMiSyncTaskInput, self).__init__(**kwargs) + self.target_connection_info = kwargs['target_connection_info'] + self.azure_app = kwargs['azure_app'] + + +class ConnectToTargetSqlMiSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlMiSyncTaskOutput, self).__init__(**kwargs) + self.target_server_version = None + self.target_server_brand_version = None + self.validation_errors = None + + +class ConnectToTargetSqlMiSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetSqlMiSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToTargetSqlMiSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlMiSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlMiSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlMiSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToTarget.AzureSqlDbMI.Sync.LRS' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ConnectToTargetSqlMiTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure SQL Database Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Connection information for target SQL Server. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param collect_logins: Flag for whether to collect logins from target SQL MI server. + :type collect_logins: bool + :param collect_agent_jobs: Flag for whether to collect agent jobs from target SQL MI server. + :type collect_agent_jobs: bool + :param validate_ssis_catalog_only: Flag for whether to validate SSIS catalog is reachable on + the target SQL MI server. + :type validate_ssis_catalog_only: bool + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'collect_logins': {'key': 'collectLogins', 'type': 'bool'}, + 'collect_agent_jobs': {'key': 'collectAgentJobs', 'type': 'bool'}, + 'validate_ssis_catalog_only': {'key': 'validateSsisCatalogOnly', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlMiTaskInput, self).__init__(**kwargs) + self.target_connection_info = kwargs['target_connection_info'] + self.collect_logins = kwargs.get('collect_logins', True) + self.collect_agent_jobs = kwargs.get('collect_agent_jobs', True) + self.validate_ssis_catalog_only = kwargs.get('validate_ssis_catalog_only', False) + + +class ConnectToTargetSqlMiTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar logins: List of logins on the target server. + :vartype logins: list[str] + :ivar agent_jobs: List of agent jobs on the target server. + :vartype agent_jobs: list[str] + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'logins': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'logins': {'key': 'logins', 'type': '[str]'}, + 'agent_jobs': {'key': 'agentJobs', 'type': '[str]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlMiTaskOutput, self).__init__(**kwargs) + self.id = None + self.target_server_version = None + self.target_server_brand_version = None + self.logins = None + self.agent_jobs = None + self.validation_errors = None + + +class ConnectToTargetSqlMiTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetSqlMiTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToTargetSqlMiTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlMiTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlMiTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlMiTaskProperties, self).__init__(**kwargs) + self.task_type = 'ConnectToTarget.AzureSqlDbMI' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class Database(msrest.serialization.Model): + """Information about a single database. + + :param id: Unique identifier for the database. + :type id: str + :param name: Name of the database. + :type name: str + :param compatibility_level: SQL Server compatibility level of database. Possible values + include: "CompatLevel80", "CompatLevel90", "CompatLevel100", "CompatLevel110", + "CompatLevel120", "CompatLevel130", "CompatLevel140". + :type compatibility_level: str or ~azure.mgmt.datamigration.models.DatabaseCompatLevel + :param collation: Collation name of the database. + :type collation: str + :param server_name: Name of the server. + :type server_name: str + :param fqdn: Fully qualified name. + :type fqdn: str + :param install_id: Install id of the database. + :type install_id: str + :param server_version: Version of the server. + :type server_version: str + :param server_edition: Edition of the server. + :type server_edition: str + :param server_level: Product level of the server (RTM, SP, CTP). + :type server_level: str + :param server_default_data_path: Default path of the data files. + :type server_default_data_path: str + :param server_default_log_path: Default path of the log files. + :type server_default_log_path: str + :param server_default_backup_path: Default path of the backup folder. + :type server_default_backup_path: str + :param server_core_count: Number of cores on the server. + :type server_core_count: int + :param server_visible_online_core_count: Number of cores on the server that have VISIBLE ONLINE + status. + :type server_visible_online_core_count: int + :param database_state: State of the database. Possible values include: "Online", "Restoring", + "Recovering", "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", + "OfflineSecondary". + :type database_state: str or ~azure.mgmt.datamigration.models.DatabaseState + :param server_id: The unique Server Id. + :type server_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'compatibility_level': {'key': 'compatibilityLevel', 'type': 'str'}, + 'collation': {'key': 'collation', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'install_id': {'key': 'installId', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'server_edition': {'key': 'serverEdition', 'type': 'str'}, + 'server_level': {'key': 'serverLevel', 'type': 'str'}, + 'server_default_data_path': {'key': 'serverDefaultDataPath', 'type': 'str'}, + 'server_default_log_path': {'key': 'serverDefaultLogPath', 'type': 'str'}, + 'server_default_backup_path': {'key': 'serverDefaultBackupPath', 'type': 'str'}, + 'server_core_count': {'key': 'serverCoreCount', 'type': 'int'}, + 'server_visible_online_core_count': {'key': 'serverVisibleOnlineCoreCount', 'type': 'int'}, + 'database_state': {'key': 'databaseState', 'type': 'str'}, + 'server_id': {'key': 'serverId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Database, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.compatibility_level = kwargs.get('compatibility_level', None) + self.collation = kwargs.get('collation', None) + self.server_name = kwargs.get('server_name', None) + self.fqdn = kwargs.get('fqdn', None) + self.install_id = kwargs.get('install_id', None) + self.server_version = kwargs.get('server_version', None) + self.server_edition = kwargs.get('server_edition', None) + self.server_level = kwargs.get('server_level', None) + self.server_default_data_path = kwargs.get('server_default_data_path', None) + self.server_default_log_path = kwargs.get('server_default_log_path', None) + self.server_default_backup_path = kwargs.get('server_default_backup_path', None) + self.server_core_count = kwargs.get('server_core_count', None) + self.server_visible_online_core_count = kwargs.get('server_visible_online_core_count', None) + self.database_state = kwargs.get('database_state', None) + self.server_id = kwargs.get('server_id', None) + + +class DatabaseBackupInfo(msrest.serialization.Model): + """Information about backup files when existing backup mode is used. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar database_name: Database name. + :vartype database_name: str + :ivar backup_type: Backup Type. Possible values include: "Database", "TransactionLog", "File", + "DifferentialDatabase", "DifferentialFile", "Partial", "DifferentialPartial". + :vartype backup_type: str or ~azure.mgmt.datamigration.models.BackupType + :ivar backup_files: The list of backup files for the current database. + :vartype backup_files: list[str] + :ivar position: Position of current database backup in the file. + :vartype position: int + :ivar is_damaged: Database was damaged when backed up, but the backup operation was requested + to continue despite errors. + :vartype is_damaged: bool + :ivar is_compressed: Whether the backup set is compressed. + :vartype is_compressed: bool + :ivar family_count: Number of files in the backup set. + :vartype family_count: int + :ivar backup_finish_date: Date and time when the backup operation finished. + :vartype backup_finish_date: ~datetime.datetime + """ + + _validation = { + 'database_name': {'readonly': True}, + 'backup_type': {'readonly': True}, + 'backup_files': {'readonly': True}, + 'position': {'readonly': True}, + 'is_damaged': {'readonly': True}, + 'is_compressed': {'readonly': True}, + 'family_count': {'readonly': True}, + 'backup_finish_date': {'readonly': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'backup_type': {'key': 'backupType', 'type': 'str'}, + 'backup_files': {'key': 'backupFiles', 'type': '[str]'}, + 'position': {'key': 'position', 'type': 'int'}, + 'is_damaged': {'key': 'isDamaged', 'type': 'bool'}, + 'is_compressed': {'key': 'isCompressed', 'type': 'bool'}, + 'family_count': {'key': 'familyCount', 'type': 'int'}, + 'backup_finish_date': {'key': 'backupFinishDate', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseBackupInfo, self).__init__(**kwargs) + self.database_name = None + self.backup_type = None + self.backup_files = None + self.position = None + self.is_damaged = None + self.is_compressed = None + self.family_count = None + self.backup_finish_date = None + + +class DatabaseFileInfo(msrest.serialization.Model): + """Database file specific information. + + :param database_name: Name of the database. + :type database_name: str + :param id: Unique identifier for database file. + :type id: str + :param logical_name: Logical name of the file. + :type logical_name: str + :param physical_full_name: Operating-system full path of the file. + :type physical_full_name: str + :param restore_full_name: Suggested full path of the file for restoring. + :type restore_full_name: str + :param file_type: Database file type. Possible values include: "Rows", "Log", "Filestream", + "NotSupported", "Fulltext". + :type file_type: str or ~azure.mgmt.datamigration.models.DatabaseFileType + :param size_mb: Size of the file in megabytes. + :type size_mb: float + """ + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'logical_name': {'key': 'logicalName', 'type': 'str'}, + 'physical_full_name': {'key': 'physicalFullName', 'type': 'str'}, + 'restore_full_name': {'key': 'restoreFullName', 'type': 'str'}, + 'file_type': {'key': 'fileType', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseFileInfo, self).__init__(**kwargs) + self.database_name = kwargs.get('database_name', None) + self.id = kwargs.get('id', None) + self.logical_name = kwargs.get('logical_name', None) + self.physical_full_name = kwargs.get('physical_full_name', None) + self.restore_full_name = kwargs.get('restore_full_name', None) + self.file_type = kwargs.get('file_type', None) + self.size_mb = kwargs.get('size_mb', None) + + +class DatabaseFileInput(msrest.serialization.Model): + """Database file specific information for input. + + :param id: Unique identifier for database file. + :type id: str + :param logical_name: Logical name of the file. + :type logical_name: str + :param physical_full_name: Operating-system full path of the file. + :type physical_full_name: str + :param restore_full_name: Suggested full path of the file for restoring. + :type restore_full_name: str + :param file_type: Database file type. Possible values include: "Rows", "Log", "Filestream", + "NotSupported", "Fulltext". + :type file_type: str or ~azure.mgmt.datamigration.models.DatabaseFileType + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'logical_name': {'key': 'logicalName', 'type': 'str'}, + 'physical_full_name': {'key': 'physicalFullName', 'type': 'str'}, + 'restore_full_name': {'key': 'restoreFullName', 'type': 'str'}, + 'file_type': {'key': 'fileType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseFileInput, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.logical_name = kwargs.get('logical_name', None) + self.physical_full_name = kwargs.get('physical_full_name', None) + self.restore_full_name = kwargs.get('restore_full_name', None) + self.file_type = kwargs.get('file_type', None) + + +class DatabaseInfo(msrest.serialization.Model): + """Project Database Details. + + All required parameters must be populated in order to send to Azure. + + :param source_database_name: Required. Name of the database. + :type source_database_name: str + """ + + _validation = { + 'source_database_name': {'required': True}, + } + + _attribute_map = { + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseInfo, self).__init__(**kwargs) + self.source_database_name = kwargs['source_database_name'] + + +class ProxyResource(msrest.serialization.Model): + """ProxyResource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar 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(ProxyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class DatabaseMigration(ProxyResource): + """Database Migration Resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param properties: Database Migration Resource properties. + :type properties: ~azure.mgmt.datamigration.models.DatabaseMigrationProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DatabaseMigrationProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseMigration, self).__init__(**kwargs) + self.system_data = None + self.properties = kwargs.get('properties', None) + + +class DatabaseMigrationListResult(msrest.serialization.Model): + """A list of Database Migrations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.mgmt.datamigration.models.DatabaseMigration] + :ivar next_link: + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabaseMigration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseMigrationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class DatabaseMigrationProperties(msrest.serialization.Model): + """Database Migration Resource properties. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DatabaseMigrationPropertiesSqlMi, DatabaseMigrationPropertiesSqlVm. + + 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 kind: Required. Constant filled by server. Possible values include: "SqlMi", "SqlVm". + :type kind: str or ~azure.mgmt.datamigration.models.ResourceType + :param scope: Resource Id of the target resource (SQL VM or SQL Managed Instance). + :type scope: str + :ivar provisioning_state: Provisioning State of migration. ProvisioningState as Succeeded + implies that validations have been performed and migration has started. + :vartype provisioning_state: str + :ivar migration_status: Migration status. + :vartype migration_status: str + :ivar started_on: Database migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Database migration end time. + :vartype ended_on: ~datetime.datetime + :param source_sql_connection: Source SQL Server connection details. + :type source_sql_connection: ~azure.mgmt.datamigration.models.SqlConnectionInformation + :param source_database_name: Name of the source database. + :type source_database_name: str + :param migration_service: Resource Id of the Migration Service. + :type migration_service: str + :param migration_operation_id: ID tracking current migration operation. + :type migration_operation_id: str + :ivar migration_failure_error: Error details in case of migration failure. + :vartype migration_failure_error: ~azure.mgmt.datamigration.models.ErrorInfo + """ + + _validation = { + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'migration_status': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_failure_error': {'readonly': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'migration_status': {'key': 'migrationStatus', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_sql_connection': {'key': 'sourceSqlConnection', 'type': 'SqlConnectionInformation'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'migration_service': {'key': 'migrationService', 'type': 'str'}, + 'migration_operation_id': {'key': 'migrationOperationId', 'type': 'str'}, + 'migration_failure_error': {'key': 'migrationFailureError', 'type': 'ErrorInfo'}, + } + + _subtype_map = { + 'kind': {'SqlMi': 'DatabaseMigrationPropertiesSqlMi', 'SqlVm': 'DatabaseMigrationPropertiesSqlVm'} + } + + def __init__( + self, + **kwargs + ): + super(DatabaseMigrationProperties, self).__init__(**kwargs) + self.kind = None # type: Optional[str] + self.scope = kwargs.get('scope', None) + self.provisioning_state = None + self.migration_status = None + self.started_on = None + self.ended_on = None + self.source_sql_connection = kwargs.get('source_sql_connection', None) + self.source_database_name = kwargs.get('source_database_name', None) + self.migration_service = kwargs.get('migration_service', None) + self.migration_operation_id = kwargs.get('migration_operation_id', None) + self.migration_failure_error = None + + +class DatabaseMigrationPropertiesSqlMi(DatabaseMigrationProperties): + """Database Migration Resource properties for SQL Managed Instance. + + 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 kind: Required. Constant filled by server. Possible values include: "SqlMi", "SqlVm". + :type kind: str or ~azure.mgmt.datamigration.models.ResourceType + :param scope: Resource Id of the target resource (SQL VM or SQL Managed Instance). + :type scope: str + :ivar provisioning_state: Provisioning State of migration. ProvisioningState as Succeeded + implies that validations have been performed and migration has started. + :vartype provisioning_state: str + :ivar migration_status: Migration status. + :vartype migration_status: str + :ivar started_on: Database migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Database migration end time. + :vartype ended_on: ~datetime.datetime + :param source_sql_connection: Source SQL Server connection details. + :type source_sql_connection: ~azure.mgmt.datamigration.models.SqlConnectionInformation + :param source_database_name: Name of the source database. + :type source_database_name: str + :param migration_service: Resource Id of the Migration Service. + :type migration_service: str + :param migration_operation_id: ID tracking current migration operation. + :type migration_operation_id: str + :ivar migration_failure_error: Error details in case of migration failure. + :vartype migration_failure_error: ~azure.mgmt.datamigration.models.ErrorInfo + :ivar migration_status_details: Detailed migration status. Not included by default. + :vartype migration_status_details: ~azure.mgmt.datamigration.models.MigrationStatusDetails + :param target_database_collation: Database collation to be used for the target database. + :type target_database_collation: str + :param provisioning_error: Error message for migration provisioning failure, if any. + :type provisioning_error: str + :param backup_configuration: Backup configuration info. + :type backup_configuration: ~azure.mgmt.datamigration.models.BackupConfiguration + :param offline_configuration: Offline configuration. + :type offline_configuration: ~azure.mgmt.datamigration.models.OfflineConfiguration + """ + + _validation = { + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'migration_status': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_failure_error': {'readonly': True}, + 'migration_status_details': {'readonly': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'migration_status': {'key': 'migrationStatus', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_sql_connection': {'key': 'sourceSqlConnection', 'type': 'SqlConnectionInformation'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'migration_service': {'key': 'migrationService', 'type': 'str'}, + 'migration_operation_id': {'key': 'migrationOperationId', 'type': 'str'}, + 'migration_failure_error': {'key': 'migrationFailureError', 'type': 'ErrorInfo'}, + 'migration_status_details': {'key': 'migrationStatusDetails', 'type': 'MigrationStatusDetails'}, + 'target_database_collation': {'key': 'targetDatabaseCollation', 'type': 'str'}, + 'provisioning_error': {'key': 'provisioningError', 'type': 'str'}, + 'backup_configuration': {'key': 'backupConfiguration', 'type': 'BackupConfiguration'}, + 'offline_configuration': {'key': 'offlineConfiguration', 'type': 'OfflineConfiguration'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseMigrationPropertiesSqlMi, self).__init__(**kwargs) + self.kind = 'SqlMi' # type: str + self.migration_status_details = None + self.target_database_collation = kwargs.get('target_database_collation', None) + self.provisioning_error = kwargs.get('provisioning_error', None) + self.backup_configuration = kwargs.get('backup_configuration', None) + self.offline_configuration = kwargs.get('offline_configuration', None) + + +class DatabaseMigrationPropertiesSqlVm(DatabaseMigrationProperties): + """Database Migration Resource properties for SQL Virtual Machine. + + 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 kind: Required. Constant filled by server. Possible values include: "SqlMi", "SqlVm". + :type kind: str or ~azure.mgmt.datamigration.models.ResourceType + :param scope: Resource Id of the target resource (SQL VM or SQL Managed Instance). + :type scope: str + :ivar provisioning_state: Provisioning State of migration. ProvisioningState as Succeeded + implies that validations have been performed and migration has started. + :vartype provisioning_state: str + :ivar migration_status: Migration status. + :vartype migration_status: str + :ivar started_on: Database migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Database migration end time. + :vartype ended_on: ~datetime.datetime + :param source_sql_connection: Source SQL Server connection details. + :type source_sql_connection: ~azure.mgmt.datamigration.models.SqlConnectionInformation + :param source_database_name: Name of the source database. + :type source_database_name: str + :param migration_service: Resource Id of the Migration Service. + :type migration_service: str + :param migration_operation_id: ID tracking current migration operation. + :type migration_operation_id: str + :ivar migration_failure_error: Error details in case of migration failure. + :vartype migration_failure_error: ~azure.mgmt.datamigration.models.ErrorInfo + :ivar migration_status_details: Detailed migration status. Not included by default. + :vartype migration_status_details: ~azure.mgmt.datamigration.models.MigrationStatusDetails + :param target_database_collation: Database collation to be used for the target database. + :type target_database_collation: str + :param provisioning_error: Error message for migration provisioning failure, if any. + :type provisioning_error: str + :param backup_configuration: Backup configuration info. + :type backup_configuration: ~azure.mgmt.datamigration.models.BackupConfiguration + :param offline_configuration: Offline configuration. + :type offline_configuration: ~azure.mgmt.datamigration.models.OfflineConfiguration + """ + + _validation = { + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'migration_status': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_failure_error': {'readonly': True}, + 'migration_status_details': {'readonly': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'migration_status': {'key': 'migrationStatus', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_sql_connection': {'key': 'sourceSqlConnection', 'type': 'SqlConnectionInformation'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'migration_service': {'key': 'migrationService', 'type': 'str'}, + 'migration_operation_id': {'key': 'migrationOperationId', 'type': 'str'}, + 'migration_failure_error': {'key': 'migrationFailureError', 'type': 'ErrorInfo'}, + 'migration_status_details': {'key': 'migrationStatusDetails', 'type': 'MigrationStatusDetails'}, + 'target_database_collation': {'key': 'targetDatabaseCollation', 'type': 'str'}, + 'provisioning_error': {'key': 'provisioningError', 'type': 'str'}, + 'backup_configuration': {'key': 'backupConfiguration', 'type': 'BackupConfiguration'}, + 'offline_configuration': {'key': 'offlineConfiguration', 'type': 'OfflineConfiguration'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseMigrationPropertiesSqlVm, self).__init__(**kwargs) + self.kind = 'SqlVm' # type: str + self.migration_status_details = None + self.target_database_collation = kwargs.get('target_database_collation', None) + self.provisioning_error = kwargs.get('provisioning_error', None) + self.backup_configuration = kwargs.get('backup_configuration', None) + self.offline_configuration = kwargs.get('offline_configuration', None) + + +class DatabaseMigrationSqlMi(ProxyResource): + """Database Migration Resource for SQL Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param properties: Database Migration Resource properties for SQL Managed Instance. + :type properties: ~azure.mgmt.datamigration.models.DatabaseMigrationPropertiesSqlMi + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DatabaseMigrationPropertiesSqlMi'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseMigrationSqlMi, self).__init__(**kwargs) + self.system_data = None + self.properties = kwargs.get('properties', None) + + +class DatabaseMigrationSqlVm(ProxyResource): + """Database Migration Resource for SQL Virtual Machine. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param properties: Database Migration Resource properties for SQL Virtual Machine. + :type properties: ~azure.mgmt.datamigration.models.DatabaseMigrationPropertiesSqlVm + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DatabaseMigrationPropertiesSqlVm'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseMigrationSqlVm, self).__init__(**kwargs) + self.system_data = None + self.properties = kwargs.get('properties', None) + + +class DatabaseObjectName(msrest.serialization.Model): + """A representation of the name of an object in a database. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar database_name: The unescaped name of the database containing the object. + :vartype database_name: str + :ivar object_name: The unescaped name of the object. + :vartype object_name: str + :ivar schema_name: The unescaped name of the schema containing the object. + :vartype schema_name: str + :param object_type: Type of the object in the database. Possible values include: + "StoredProcedures", "Table", "User", "View", "Function". + :type object_type: str or ~azure.mgmt.datamigration.models.ObjectType + """ + + _validation = { + 'database_name': {'readonly': True}, + 'object_name': {'readonly': True}, + 'schema_name': {'readonly': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseObjectName, self).__init__(**kwargs) + self.database_name = None + self.object_name = None + self.schema_name = None + self.object_type = kwargs.get('object_type', None) + + +class DataItemMigrationSummaryResult(msrest.serialization.Model): + """Basic summary of a data item migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the item. + :vartype name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message. + :vartype status_message: str + :ivar items_count: Number of items. + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items. + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + """ + + _validation = { + 'name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataItemMigrationSummaryResult, self).__init__(**kwargs) + self.name = None + self.started_on = None + self.ended_on = None + self.state = None + self.status_message = None + self.items_count = None + self.items_completed_count = None + self.error_prefix = None + self.result_prefix = None + + +class DatabaseSummaryResult(DataItemMigrationSummaryResult): + """Summary of database results in the migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the item. + :vartype name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message. + :vartype status_message: str + :ivar items_count: Number of items. + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items. + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + :ivar size_mb: Size of the database in megabytes. + :vartype size_mb: float + """ + + _validation = { + 'name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'size_mb': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseSummaryResult, self).__init__(**kwargs) + self.size_mb = None + + +class DatabaseTable(msrest.serialization.Model): + """Table properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar has_rows: Indicates whether table is empty or not. + :vartype has_rows: bool + :ivar name: Schema-qualified name of the table. + :vartype name: str + """ + + _validation = { + 'has_rows': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'has_rows': {'key': 'hasRows', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseTable, self).__init__(**kwargs) + self.has_rows = None + self.name = None + + +class DataIntegrityValidationResult(msrest.serialization.Model): + """Results for checksum based Data Integrity validation results. + + :param failed_objects: List of failed table names of source and target pair. + :type failed_objects: dict[str, str] + :param validation_errors: List of errors that happened while performing data integrity + validation. + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + """ + + _attribute_map = { + 'failed_objects': {'key': 'failedObjects', 'type': '{str}'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + } + + def __init__( + self, + **kwargs + ): + super(DataIntegrityValidationResult, self).__init__(**kwargs) + self.failed_objects = kwargs.get('failed_objects', None) + self.validation_errors = kwargs.get('validation_errors', None) + + +class DataMigrationError(msrest.serialization.Model): + """Migration Task errors. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar message: Error description. + :vartype message: str + :param type: Error type. Possible values include: "Default", "Warning", "Error". + :type type: str or ~azure.mgmt.datamigration.models.ErrorType + """ + + _validation = { + 'message': {'readonly': True}, + } + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataMigrationError, self).__init__(**kwargs) + self.message = None + self.type = kwargs.get('type', None) + + +class DataMigrationProjectMetadata(msrest.serialization.Model): + """Common metadata for migration projects. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar source_server_name: Source server name. + :vartype source_server_name: str + :ivar source_server_port: Source server port number. + :vartype source_server_port: str + :ivar source_username: Source username. + :vartype source_username: str + :ivar target_server_name: Target server name. + :vartype target_server_name: str + :ivar target_username: Target username. + :vartype target_username: str + :ivar target_db_name: Target database name. + :vartype target_db_name: str + :ivar target_using_win_auth: Whether target connection is Windows authentication. + :vartype target_using_win_auth: bool + :ivar selected_migration_tables: List of tables selected for migration. + :vartype selected_migration_tables: + list[~azure.mgmt.datamigration.models.MigrationTableMetadata] + """ + + _validation = { + 'source_server_name': {'readonly': True}, + 'source_server_port': {'readonly': True}, + 'source_username': {'readonly': True}, + 'target_server_name': {'readonly': True}, + 'target_username': {'readonly': True}, + 'target_db_name': {'readonly': True}, + 'target_using_win_auth': {'readonly': True}, + 'selected_migration_tables': {'readonly': True}, + } + + _attribute_map = { + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'source_server_port': {'key': 'sourceServerPort', 'type': 'str'}, + 'source_username': {'key': 'sourceUsername', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + 'target_username': {'key': 'targetUsername', 'type': 'str'}, + 'target_db_name': {'key': 'targetDbName', 'type': 'str'}, + 'target_using_win_auth': {'key': 'targetUsingWinAuth', 'type': 'bool'}, + 'selected_migration_tables': {'key': 'selectedMigrationTables', 'type': '[MigrationTableMetadata]'}, + } + + def __init__( + self, + **kwargs + ): + super(DataMigrationProjectMetadata, self).__init__(**kwargs) + self.source_server_name = None + self.source_server_port = None + self.source_username = None + self.target_server_name = None + self.target_username = None + self.target_db_name = None + self.target_using_win_auth = None + self.selected_migration_tables = None + + +class TrackedResource(msrest.serialization.Model): + """TrackedResource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: + :type location: str + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.id = None + self.name = None + self.type = None + self.system_data = None + + +class DataMigrationService(TrackedResource): + """A Database Migration Service resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: + :type location: str + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param etag: HTTP strong entity tag value. Ignored if submitted. + :type etag: str + :param kind: The resource kind. Only 'vm' (the default) is supported. + :type kind: str + :param sku: Service SKU. + :type sku: ~azure.mgmt.datamigration.models.ServiceSku + :ivar provisioning_state: The resource's provisioning state. Possible values include: + "Accepted", "Deleting", "Deploying", "Stopped", "Stopping", "Starting", "FailedToStart", + "FailedToStop", "Succeeded", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datamigration.models.ServiceProvisioningState + :param public_key: The public key of the service, used to encrypt secrets sent to the service. + :type public_key: str + :param virtual_subnet_id: The ID of the Microsoft.Network/virtualNetworks/subnets resource to + which the service should be joined. + :type virtual_subnet_id: str + :param virtual_nic_id: The ID of the Microsoft.Network/networkInterfaces resource which the + service have. + :type virtual_nic_id: str + :param auto_stop_delay: The time delay before the service is auto-stopped when idle. + :type auto_stop_delay: str + :param delete_resources_on_stop: Whether service resources should be deleted when stopped. + (Turned on by default). + :type delete_resources_on_stop: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'ServiceSku'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'virtual_subnet_id': {'key': 'properties.virtualSubnetId', 'type': 'str'}, + 'virtual_nic_id': {'key': 'properties.virtualNicId', 'type': 'str'}, + 'auto_stop_delay': {'key': 'properties.autoStopDelay', 'type': 'str'}, + 'delete_resources_on_stop': {'key': 'properties.deleteResourcesOnStop', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(DataMigrationService, self).__init__(**kwargs) + self.etag = kwargs.get('etag', None) + self.kind = kwargs.get('kind', None) + self.sku = kwargs.get('sku', None) + self.provisioning_state = None + self.public_key = kwargs.get('public_key', None) + self.virtual_subnet_id = kwargs.get('virtual_subnet_id', None) + self.virtual_nic_id = kwargs.get('virtual_nic_id', None) + self.auto_stop_delay = kwargs.get('auto_stop_delay', None) + self.delete_resources_on_stop = kwargs.get('delete_resources_on_stop', None) + + +class DataMigrationServiceList(msrest.serialization.Model): + """OData page of service objects. + + :param value: List of services. + :type value: list[~azure.mgmt.datamigration.models.DataMigrationService] + :param next_link: URL to load the next page of services. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataMigrationService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataMigrationServiceList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class DataMigrationServiceStatusResponse(msrest.serialization.Model): + """Service health status. + + :param agent_version: The DMS instance agent version. + :type agent_version: str + :param status: The machine-readable status, such as 'Initializing', 'Offline', 'Online', + 'Deploying', 'Deleting', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop' or + 'Failed'. + :type status: str + :param vm_size: The services virtual machine size, such as 'Standard_D2_v2'. + :type vm_size: str + :param supported_task_types: The list of supported task types. + :type supported_task_types: list[str] + """ + + _attribute_map = { + 'agent_version': {'key': 'agentVersion', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'supported_task_types': {'key': 'supportedTaskTypes', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(DataMigrationServiceStatusResponse, self).__init__(**kwargs) + self.agent_version = kwargs.get('agent_version', None) + self.status = kwargs.get('status', None) + self.vm_size = kwargs.get('vm_size', None) + self.supported_task_types = kwargs.get('supported_task_types', None) + + +class DeleteNode(msrest.serialization.Model): + """Details of node to be deleted. + + :param node_name: The name of node to delete. + :type node_name: str + :param integration_runtime_name: The name of integration runtime. + :type integration_runtime_name: str + """ + + _attribute_map = { + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'integration_runtime_name': {'key': 'integrationRuntimeName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeleteNode, self).__init__(**kwargs) + self.node_name = kwargs.get('node_name', None) + self.integration_runtime_name = kwargs.get('integration_runtime_name', None) + + +class ErrorInfo(msrest.serialization.Model): + """Error details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Error code. + :vartype code: str + :ivar message: Error message. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorInfo, self).__init__(**kwargs) + self.code = None + self.message = None + + +class ExecutionStatistics(msrest.serialization.Model): + """Description about the errors happen while performing migration validation. + + :param execution_count: No. of query executions. + :type execution_count: long + :param cpu_time_ms: CPU Time in millisecond(s) for the query execution. + :type cpu_time_ms: float + :param elapsed_time_ms: Time taken in millisecond(s) for executing the query. + :type elapsed_time_ms: float + :param wait_stats: Dictionary of sql query execution wait types and the respective statistics. + :type wait_stats: dict[str, ~azure.mgmt.datamigration.models.WaitStatistics] + :param has_errors: Indicates whether the query resulted in an error. + :type has_errors: bool + :param sql_errors: List of sql Errors. + :type sql_errors: list[str] + """ + + _attribute_map = { + 'execution_count': {'key': 'executionCount', 'type': 'long'}, + 'cpu_time_ms': {'key': 'cpuTimeMs', 'type': 'float'}, + 'elapsed_time_ms': {'key': 'elapsedTimeMs', 'type': 'float'}, + 'wait_stats': {'key': 'waitStats', 'type': '{WaitStatistics}'}, + 'has_errors': {'key': 'hasErrors', 'type': 'bool'}, + 'sql_errors': {'key': 'sqlErrors', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExecutionStatistics, self).__init__(**kwargs) + self.execution_count = kwargs.get('execution_count', None) + self.cpu_time_ms = kwargs.get('cpu_time_ms', None) + self.elapsed_time_ms = kwargs.get('elapsed_time_ms', None) + self.wait_stats = kwargs.get('wait_stats', None) + self.has_errors = kwargs.get('has_errors', None) + self.sql_errors = kwargs.get('sql_errors', None) + + +class FileList(msrest.serialization.Model): + """OData page of files. + + :param value: List of files. + :type value: list[~azure.mgmt.datamigration.models.ProjectFile] + :param next_link: URL to load the next page of files. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProjectFile]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FileList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class FileShare(msrest.serialization.Model): + """File share information with Path, Username, and Password. + + All required parameters must be populated in order to send to Azure. + + :param user_name: User name credential to connect to the share location. + :type user_name: str + :param password: Password credential used to connect to the share location. + :type password: str + :param path: Required. The folder path for this share. + :type path: str + """ + + _validation = { + 'path': {'required': True}, + } + + _attribute_map = { + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FileShare, self).__init__(**kwargs) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.path = kwargs['path'] + + +class FileStorageInfo(msrest.serialization.Model): + """File storage information. + + :param uri: A URI that can be used to access the file content. + :type uri: str + :param headers: Dictionary of :code:``. + :type headers: dict[str, str] + """ + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(FileStorageInfo, self).__init__(**kwargs) + self.uri = kwargs.get('uri', None) + self.headers = kwargs.get('headers', None) + + +class GetProjectDetailsNonSqlTaskInput(msrest.serialization.Model): + """Input for the task that reads configuration from project artifacts. + + All required parameters must be populated in order to send to Azure. + + :param project_name: Required. Name of the migration project. + :type project_name: str + :param project_location: Required. A URL that points to the location to access project + artifacts. + :type project_location: str + """ + + _validation = { + 'project_name': {'required': True}, + 'project_location': {'required': True}, + } + + _attribute_map = { + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'project_location': {'key': 'projectLocation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GetProjectDetailsNonSqlTaskInput, self).__init__(**kwargs) + self.project_name = kwargs['project_name'] + self.project_location = kwargs['project_location'] + + +class GetTdeCertificatesSqlTaskInput(msrest.serialization.Model): + """Input for the task that gets TDE certificates in Base64 encoded format. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Connection information for SQL Server. + :type connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param backup_file_share: Required. Backup file share information for file share to be used for + temporarily storing files. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param selected_certificates: Required. List containing certificate names and corresponding + password to use for encrypting the exported certificate. + :type selected_certificates: list[~azure.mgmt.datamigration.models.SelectedCertificateInput] + """ + + _validation = { + 'connection_info': {'required': True}, + 'backup_file_share': {'required': True}, + 'selected_certificates': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'SqlConnectionInfo'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'selected_certificates': {'key': 'selectedCertificates', 'type': '[SelectedCertificateInput]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetTdeCertificatesSqlTaskInput, self).__init__(**kwargs) + self.connection_info = kwargs['connection_info'] + self.backup_file_share = kwargs['backup_file_share'] + self.selected_certificates = kwargs['selected_certificates'] + + +class GetTdeCertificatesSqlTaskOutput(msrest.serialization.Model): + """Output of the task that gets TDE certificates in Base64 encoded format. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar base64_encoded_certificates: Mapping from certificate name to base 64 encoded format. + :vartype base64_encoded_certificates: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'base64_encoded_certificates': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'base64_encoded_certificates': {'key': 'base64EncodedCertificates', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetTdeCertificatesSqlTaskOutput, self).__init__(**kwargs) + self.base64_encoded_certificates = None + self.validation_errors = None + + +class GetTdeCertificatesSqlTaskProperties(ProjectTaskProperties): + """Properties for the task that gets TDE certificates in Base64 encoded format. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetTdeCertificatesSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetTdeCertificatesSqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetTdeCertificatesSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetTdeCertificatesSqlTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetTdeCertificatesSqlTaskProperties, self).__init__(**kwargs) + self.task_type = 'GetTDECertificates.Sql' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class GetUserTablesMySqlTaskInput(msrest.serialization.Model): + """Input for the task that collects user tables for the given list of databases. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Connection information for SQL Server. + :type connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param selected_databases: Required. List of database names to collect tables for. + :type selected_databases: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'MySqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesMySqlTaskInput, self).__init__(**kwargs) + self.connection_info = kwargs['connection_info'] + self.selected_databases = kwargs['selected_databases'] + + +class GetUserTablesMySqlTaskOutput(msrest.serialization.Model): + """Output of the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar databases_to_tables: Mapping from database name to list of tables. + :vartype databases_to_tables: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'databases_to_tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'databases_to_tables': {'key': 'databasesToTables', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesMySqlTaskOutput, self).__init__(**kwargs) + self.id = None + self.databases_to_tables = None + self.validation_errors = None + + +class GetUserTablesMySqlTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesMySqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesMySqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesMySqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesMySqlTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesMySqlTaskProperties, self).__init__(**kwargs) + self.task_type = 'GetUserTablesMySql' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class GetUserTablesOracleTaskInput(msrest.serialization.Model): + """Input for the task that gets the list of tables contained within a provided list of Oracle schemas. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Information for connecting to Oracle source. + :type connection_info: ~azure.mgmt.datamigration.models.OracleConnectionInfo + :param selected_schemas: Required. List of Oracle schemas for which to collect tables. + :type selected_schemas: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_schemas': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'OracleConnectionInfo'}, + 'selected_schemas': {'key': 'selectedSchemas', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesOracleTaskInput, self).__init__(**kwargs) + self.connection_info = kwargs['connection_info'] + self.selected_schemas = kwargs['selected_schemas'] + + +class GetUserTablesOracleTaskOutput(msrest.serialization.Model): + """Output for the task that gets the list of tables contained within a provided list of Oracle schemas. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar schema_name: The schema this result is for. + :vartype schema_name: str + :ivar tables: List of valid tables found for this schema. + :vartype tables: list[~azure.mgmt.datamigration.models.DatabaseTable] + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'schema_name': {'readonly': True}, + 'tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'tables': {'key': 'tables', 'type': '[DatabaseTable]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesOracleTaskOutput, self).__init__(**kwargs) + self.schema_name = None + self.tables = None + self.validation_errors = None + + +class GetUserTablesOracleTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of Oracle schemas. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesOracleTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesOracleTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesOracleTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesOracleTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesOracleTaskProperties, self).__init__(**kwargs) + self.task_type = 'GetUserTablesOracle' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class GetUserTablesPostgreSqlTaskInput(msrest.serialization.Model): + """Input for the task that gets the list of tables for a provided list of PostgreSQL databases. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Information for connecting to PostgreSQL source. + :type connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param selected_databases: Required. List of PostgreSQL databases for which to collect tables. + :type selected_databases: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesPostgreSqlTaskInput, self).__init__(**kwargs) + self.connection_info = kwargs['connection_info'] + self.selected_databases = kwargs['selected_databases'] + + +class GetUserTablesPostgreSqlTaskOutput(msrest.serialization.Model): + """Output for the task that gets the list of tables for a provided list of PostgreSQL databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar database_name: The database this result is for. + :vartype database_name: str + :ivar tables: List of valid tables found for this database. + :vartype tables: list[~azure.mgmt.datamigration.models.DatabaseTable] + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'database_name': {'readonly': True}, + 'tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'tables': {'key': 'tables', 'type': '[DatabaseTable]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesPostgreSqlTaskOutput, self).__init__(**kwargs) + self.database_name = None + self.tables = None + self.validation_errors = None + + +class GetUserTablesPostgreSqlTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesPostgreSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesPostgreSqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesPostgreSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesPostgreSqlTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesPostgreSqlTaskProperties, self).__init__(**kwargs) + self.task_type = 'GetUserTablesPostgreSql' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class GetUserTablesSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that collects user tables for the given list of databases. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for SQL DB. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_source_databases: Required. List of source database names to collect tables + for. + :type selected_source_databases: list[str] + :param selected_target_databases: Required. List of target database names to collect tables + for. + :type selected_target_databases: list[str] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_source_databases': {'required': True}, + 'selected_target_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_source_databases': {'key': 'selectedSourceDatabases', 'type': '[str]'}, + 'selected_target_databases': {'key': 'selectedTargetDatabases', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesSqlSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + self.selected_source_databases = kwargs['selected_source_databases'] + self.selected_target_databases = kwargs['selected_target_databases'] + + +class GetUserTablesSqlSyncTaskOutput(msrest.serialization.Model): + """Output of the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar databases_to_source_tables: Mapping from database name to list of source tables. + :vartype databases_to_source_tables: str + :ivar databases_to_target_tables: Mapping from database name to list of target tables. + :vartype databases_to_target_tables: str + :ivar table_validation_errors: Mapping from database name to list of validation errors. + :vartype table_validation_errors: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'databases_to_source_tables': {'readonly': True}, + 'databases_to_target_tables': {'readonly': True}, + 'table_validation_errors': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'databases_to_source_tables': {'key': 'databasesToSourceTables', 'type': 'str'}, + 'databases_to_target_tables': {'key': 'databasesToTargetTables', 'type': 'str'}, + 'table_validation_errors': {'key': 'tableValidationErrors', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesSqlSyncTaskOutput, self).__init__(**kwargs) + self.databases_to_source_tables = None + self.databases_to_target_tables = None + self.table_validation_errors = None + self.validation_errors = None + + +class GetUserTablesSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesSqlSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesSqlSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'GetUserTables.AzureSqlDb.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class GetUserTablesSqlTaskInput(msrest.serialization.Model): + """Input for the task that collects user tables for the given list of databases. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Connection information for SQL Server. + :type connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. List of database names to collect tables for. + :type selected_databases: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesSqlTaskInput, self).__init__(**kwargs) + self.connection_info = kwargs['connection_info'] + self.selected_databases = kwargs['selected_databases'] + + +class GetUserTablesSqlTaskOutput(msrest.serialization.Model): + """Output of the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar databases_to_tables: Mapping from database name to list of tables. + :vartype databases_to_tables: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'databases_to_tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'databases_to_tables': {'key': 'databasesToTables', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesSqlTaskOutput, self).__init__(**kwargs) + self.id = None + self.databases_to_tables = None + self.validation_errors = None + + +class GetUserTablesSqlTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesSqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesSqlTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesSqlTaskProperties, self).__init__(**kwargs) + self.task_type = 'GetUserTables.Sql' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class InstallOciDriverTaskInput(msrest.serialization.Model): + """Input for the service task to install an OCI driver. + + :param driver_package_name: Name of the uploaded driver package to install. + :type driver_package_name: str + """ + + _attribute_map = { + 'driver_package_name': {'key': 'driverPackageName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(InstallOciDriverTaskInput, self).__init__(**kwargs) + self.driver_package_name = kwargs.get('driver_package_name', None) + + +class InstallOciDriverTaskOutput(msrest.serialization.Model): + """Output for the service task to install an OCI driver. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(InstallOciDriverTaskOutput, self).__init__(**kwargs) + self.validation_errors = None + + +class InstallOciDriverTaskProperties(ProjectTaskProperties): + """Properties for the task that installs an OCI driver. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Input for the service task to install an OCI driver. + :type input: ~azure.mgmt.datamigration.models.InstallOciDriverTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.InstallOciDriverTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'InstallOciDriverTaskInput'}, + 'output': {'key': 'output', 'type': '[InstallOciDriverTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(InstallOciDriverTaskProperties, self).__init__(**kwargs) + self.task_type = 'Service.Install.OCI' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class IntegrationRuntimeMonitoringData(msrest.serialization.Model): + """Integration Runtime Monitoring Data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of Integration Runtime. + :vartype name: str + :ivar nodes: Integration Runtime node monitoring data. + :vartype nodes: list[~azure.mgmt.datamigration.models.NodeMonitoringData] + """ + + _validation = { + 'name': {'readonly': True}, + 'nodes': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'nodes': {'key': 'nodes', 'type': '[NodeMonitoringData]'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeMonitoringData, self).__init__(**kwargs) + self.name = None + self.nodes = None + + +class MigrateMiSyncCompleteCommandInput(msrest.serialization.Model): + """Input for command that completes online migration for an Azure SQL Database Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param source_database_name: Required. Name of managed instance database. + :type source_database_name: str + """ + + _validation = { + 'source_database_name': {'required': True}, + } + + _attribute_map = { + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMiSyncCompleteCommandInput, self).__init__(**kwargs) + self.source_database_name = kwargs['source_database_name'] + + +class MigrateMiSyncCompleteCommandOutput(msrest.serialization.Model): + """Output for command that completes online migration for an Azure SQL Database Managed Instance. + + :param errors: List of errors that happened during the command execution. + :type errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMiSyncCompleteCommandOutput, self).__init__(**kwargs) + self.errors = kwargs.get('errors', None) + + +class MigrateMiSyncCompleteCommandProperties(CommandProperties): + """Properties for the command that completes online migration for an Azure SQL Database Managed Instance. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MigrateMiSyncCompleteCommandInput + :ivar output: Command output. This is ignored if submitted. + :vartype output: ~azure.mgmt.datamigration.models.MigrateMiSyncCompleteCommandOutput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateMiSyncCompleteCommandInput'}, + 'output': {'key': 'output', 'type': 'MigrateMiSyncCompleteCommandOutput'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMiSyncCompleteCommandProperties, self).__init__(**kwargs) + self.command_type = 'Migrate.SqlServer.AzureDbSqlMi.Complete' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrateMongoDbTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates data between MongoDB data sources. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Describes how a MongoDB data migration should be performed. + :type input: ~azure.mgmt.datamigration.models.MongoDbMigrationSettings + :ivar output: + :vartype output: list[~azure.mgmt.datamigration.models.MongoDbProgress] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MongoDbMigrationSettings'}, + 'output': {'key': 'output', 'type': '[MongoDbProgress]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMongoDbTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.MongoDb' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrateMySqlAzureDbForMySqlOfflineDatabaseInput(msrest.serialization.Model): + """Database specific information for offline MySQL to Azure Database for MySQL migration task inputs. + + :param name: Name of the database. + :type name: str + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineDatabaseInput, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.target_database_name = kwargs.get('target_database_name', None) + self.table_map = kwargs.get('table_map', None) + + +class MigrateMySqlAzureDbForMySqlOfflineTaskInput(msrest.serialization.Model): + """Input for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source MySQL. + :type source_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_connection_info: Required. Connection information for target Azure Database for + MySQL. + :type target_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlOfflineDatabaseInput] + :param make_source_server_read_only: Setting to set the source server read only. + :type make_source_server_read_only: bool + :param started_on: Parameter to specify when the migration started. + :type started_on: ~datetime.datetime + :param optional_agent_settings: Optional parameters for fine tuning the data transfer rate + during migration. + :type optional_agent_settings: dict[str, str] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateMySqlAzureDbForMySqlOfflineDatabaseInput]'}, + 'make_source_server_read_only': {'key': 'makeSourceServerReadOnly', 'type': 'bool'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'optional_agent_settings': {'key': 'optionalAgentSettings', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + self.selected_databases = kwargs['selected_databases'] + self.make_source_server_read_only = kwargs.get('make_source_server_read_only', False) + self.started_on = kwargs.get('started_on', None) + self.optional_agent_settings = kwargs.get('optional_agent_settings', None) + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutput(msrest.serialization.Model): + """Output for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel, MigrateMySqlAzureDbForMySqlOfflineTaskOutputError, MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel, MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelOutput': 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputError', 'MigrationLevelOutput': 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel', 'TableLevelOutput': 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel(MigrateMySqlAzureDbForMySqlOfflineTaskOutput): + """MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Migration stage that this database is in. Possible values include: "None", + "Initialize", "Backup", "FileCopy", "Restore", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar status_message: Status message. + :vartype status_message: str + :ivar message: Migration progress message. + :vartype message: str + :ivar number_of_objects: Number of objects. + :vartype number_of_objects: long + :ivar number_of_objects_completed: Number of successfully completed objects. + :vartype number_of_objects_completed: long + :ivar error_count: Number of database/object errors. + :vartype error_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar last_storage_update: Last time the storage was updated. + :vartype last_storage_update: ~datetime.datetime + :ivar object_summary: Summary of object results in the migration. + :vartype object_summary: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'number_of_objects': {'readonly': True}, + 'number_of_objects_completed': {'readonly': True}, + 'error_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'last_storage_update': {'readonly': True}, + 'object_summary': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'number_of_objects': {'key': 'numberOfObjects', 'type': 'long'}, + 'number_of_objects_completed': {'key': 'numberOfObjectsCompleted', 'type': 'long'}, + 'error_count': {'key': 'errorCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'last_storage_update': {'key': 'lastStorageUpdate', 'type': 'iso-8601'}, + 'object_summary': {'key': 'objectSummary', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.stage = None + self.status_message = None + self.message = None + self.number_of_objects = None + self.number_of_objects_completed = None + self.error_count = None + self.error_prefix = None + self.result_prefix = None + self.exceptions_and_warnings = None + self.last_storage_update = None + self.object_summary = None + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutputError(MigrateMySqlAzureDbForMySqlOfflineTaskOutput): + """MigrateMySqlAzureDbForMySqlOfflineTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel(MigrateMySqlAzureDbForMySqlOfflineTaskOutput): + """MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar duration_in_seconds: Duration of task execution in seconds. + :vartype duration_in_seconds: long + :ivar status: Current status of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar status_message: Migration status message. + :vartype status_message: str + :ivar message: Migration progress message. + :vartype message: str + :param databases: Selected databases as a map from database name to database id. + :type databases: str + :ivar database_summary: Summary of database results in the migration. + :vartype database_summary: str + :param migration_report_result: Migration Report Result, provides unique url for downloading + your migration report. + :type migration_report_result: ~azure.mgmt.datamigration.models.MigrationReportResult + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar last_storage_update: Last time the storage was updated. + :vartype last_storage_update: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'duration_in_seconds': {'readonly': True}, + 'status': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'database_summary': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'last_storage_update': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'duration_in_seconds': {'key': 'durationInSeconds', 'type': 'long'}, + 'status': {'key': 'status', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'database_summary': {'key': 'databaseSummary', 'type': 'str'}, + 'migration_report_result': {'key': 'migrationReportResult', 'type': 'MigrationReportResult'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'last_storage_update': {'key': 'lastStorageUpdate', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.duration_in_seconds = None + self.status = None + self.status_message = None + self.message = None + self.databases = kwargs.get('databases', None) + self.database_summary = None + self.migration_report_result = kwargs.get('migration_report_result', None) + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + self.last_storage_update = None + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel(MigrateMySqlAzureDbForMySqlOfflineTaskOutput): + """MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar object_name: Name of the item. + :vartype object_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message. + :vartype status_message: str + :ivar items_count: Number of items. + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items. + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + :ivar last_storage_update: Last time the storage was updated. + :vartype last_storage_update: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'object_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'last_storage_update': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'last_storage_update': {'key': 'lastStorageUpdate', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.object_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.status_message = None + self.items_count = None + self.items_completed_count = None + self.error_prefix = None + self.result_prefix = None + self.last_storage_update = None + + +class MigrateMySqlAzureDbForMySqlOfflineTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlOfflineTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlOfflineTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateMySqlAzureDbForMySqlOfflineTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateMySqlAzureDbForMySqlOfflineTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.MySql.AzureDbForMySql' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrateMySqlAzureDbForMySqlSyncDatabaseInput(msrest.serialization.Model): + """Database specific information for MySQL to Azure Database for MySQL migration task inputs. + + :param name: Name of the database. + :type name: str + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param migration_setting: Migration settings which tune the migration behavior. + :type migration_setting: dict[str, str] + :param source_setting: Source settings to tune source endpoint migration behavior. + :type source_setting: dict[str, str] + :param target_setting: Target settings to tune target endpoint migration behavior. + :type target_setting: dict[str, str] + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'migration_setting': {'key': 'migrationSetting', 'type': '{str}'}, + 'source_setting': {'key': 'sourceSetting', 'type': '{str}'}, + 'target_setting': {'key': 'targetSetting', 'type': '{str}'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncDatabaseInput, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.target_database_name = kwargs.get('target_database_name', None) + self.migration_setting = kwargs.get('migration_setting', None) + self.source_setting = kwargs.get('source_setting', None) + self.target_setting = kwargs.get('target_setting', None) + self.table_map = kwargs.get('table_map', None) + + +class MigrateMySqlAzureDbForMySqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source MySQL. + :type source_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_connection_info: Required. Connection information for target Azure Database for + MySQL. + :type target_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncDatabaseInput] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateMySqlAzureDbForMySqlSyncDatabaseInput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + self.selected_databases = kwargs['selected_databases'] + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that migrates MySQL databases to Azure Database for MySQL for online migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, MigrateMySqlAzureDbForMySqlSyncTaskOutputError, MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError', 'DatabaseLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputError', 'MigrationLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel', 'TableLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :param error_message: Error message. + :type error_message: str + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelErrorOutput' # type: str + self.error_message = kwargs.get('error_message', None) + self.events = kwargs.get('events', None) + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar migration_state: Migration state that this database is in. Possible values include: + "UNDEFINED", "CONFIGURING", "INITIALIAZING", "STARTING", "RUNNING", "READY_TO_COMPLETE", + "COMPLETING", "COMPLETE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATING", + "VALIDATION_COMPLETE", "VALIDATION_FAILED", "RESTORE_IN_PROGRESS", "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", "BACKUP_COMPLETED". + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes. + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes. + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts. + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes. + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates. + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load. + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load. + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load. + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load. + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has been completed. + :vartype initialization_completed: bool + :ivar latency: CDC apply latency. + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputError(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server: Source server name. + :vartype source_server: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server: Target server name. + :vartype target_server: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table. + :vartype table_name: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts. + :vartype cdc_insert_counter: str + :ivar cdc_update_counter: Number of applied updates. + :vartype cdc_update_counter: str + :ivar cdc_delete_counter: Number of applied deletes. + :vartype cdc_delete_counter: str + :ivar full_load_est_finish_time: Estimate to finish full load. + :vartype full_load_est_finish_time: ~datetime.datetime + :ivar full_load_started_on: Full load start time. + :vartype full_load_started_on: ~datetime.datetime + :ivar full_load_ended_on: Full load end time. + :vartype full_load_ended_on: ~datetime.datetime + :ivar full_load_total_rows: Number of rows applied in full load. + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values include: "BEFORE_LOAD", + "FULL_LOAD", "COMPLETED", "CANCELED", "ERROR", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes. + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred. + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target. + :vartype last_modified_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'str'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'str'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'str'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + + +class MigrateMySqlAzureDbForMySqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateMySqlAzureDbForMySqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateMySqlAzureDbForMySqlSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.MySql.AzureDbForMySql.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrateOracleAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateOracleAzureDbPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateOracleAzureDbPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateOracleAzureDbPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateOracleAzureDbPostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.Oracle.AzureDbForPostgreSql.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrateOracleAzureDbPostgreSqlSyncDatabaseInput(msrest.serialization.Model): + """Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs. + + :param case_manipulation: How to handle object name casing: either Preserve or ToLower. + :type case_manipulation: str + :param name: Name of the migration pipeline. + :type name: str + :param schema_name: Name of the source schema. + :type schema_name: str + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param migration_setting: Migration settings which tune the migration behavior. + :type migration_setting: dict[str, str] + :param source_setting: Source settings to tune source endpoint migration behavior. + :type source_setting: dict[str, str] + :param target_setting: Target settings to tune target endpoint migration behavior. + :type target_setting: dict[str, str] + """ + + _attribute_map = { + 'case_manipulation': {'key': 'caseManipulation', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'migration_setting': {'key': 'migrationSetting', 'type': '{str}'}, + 'source_setting': {'key': 'sourceSetting', 'type': '{str}'}, + 'target_setting': {'key': 'targetSetting', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, self).__init__(**kwargs) + self.case_manipulation = kwargs.get('case_manipulation', None) + self.name = kwargs.get('name', None) + self.schema_name = kwargs.get('schema_name', None) + self.table_map = kwargs.get('table_map', None) + self.target_database_name = kwargs.get('target_database_name', None) + self.migration_setting = kwargs.get('migration_setting', None) + self.source_setting = kwargs.get('source_setting', None) + self.target_setting = kwargs.get('target_setting', None) + + +class MigrateOracleAzureDbPostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateOracleAzureDbPostgreSqlSyncDatabaseInput] + :param target_connection_info: Required. Connection information for target Azure Database for + PostgreSQL. + :type target_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param source_connection_info: Required. Connection information for source Oracle. + :type source_connection_info: ~azure.mgmt.datamigration.models.OracleConnectionInfo + """ + + _validation = { + 'selected_databases': {'required': True}, + 'target_connection_info': {'required': True}, + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateOracleAzureDbPostgreSqlSyncDatabaseInput]'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'OracleConnectionInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.selected_databases = kwargs['selected_databases'] + self.target_connection_info = kwargs['target_connection_info'] + self.source_connection_info = kwargs['source_connection_info'] + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError', 'DatabaseLevelOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputError', 'MigrationLevelOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel', 'TableLevelOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :param error_message: Error message. + :type error_message: str + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelErrorOutput' # type: str + self.error_message = kwargs.get('error_message', None) + self.events = kwargs.get('events', None) + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar migration_state: Migration state that this database is in. Possible values include: + "UNDEFINED", "CONFIGURING", "INITIALIAZING", "STARTING", "RUNNING", "READY_TO_COMPLETE", + "COMPLETING", "COMPLETE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATING", + "VALIDATION_COMPLETE", "VALIDATION_FAILED", "RESTORE_IN_PROGRESS", "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", "BACKUP_COMPLETED". + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes. + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes. + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts. + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes. + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates. + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load. + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load. + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load. + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load. + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has been completed. + :vartype initialization_completed: bool + :ivar latency: CDC apply latency. + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputError(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server: Source server name. + :vartype source_server: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server: Target server name. + :vartype target_server: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table. + :vartype table_name: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts. + :vartype cdc_insert_counter: long + :ivar cdc_update_counter: Number of applied updates. + :vartype cdc_update_counter: long + :ivar cdc_delete_counter: Number of applied deletes. + :vartype cdc_delete_counter: long + :ivar full_load_est_finish_time: Estimate to finish full load. + :vartype full_load_est_finish_time: ~datetime.datetime + :ivar full_load_started_on: Full load start time. + :vartype full_load_started_on: ~datetime.datetime + :ivar full_load_ended_on: Full load end time. + :vartype full_load_ended_on: ~datetime.datetime + :ivar full_load_total_rows: Number of rows applied in full load. + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values include: "BEFORE_LOAD", + "FULL_LOAD", "COMPLETED", "CANCELED", "ERROR", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes. + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred. + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target. + :vartype last_modified_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput(msrest.serialization.Model): + """Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs. + + :param name: Name of the database. + :type name: str + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param migration_setting: Migration settings which tune the migration behavior. + :type migration_setting: dict[str, str] + :param source_setting: Source settings to tune source endpoint migration behavior. + :type source_setting: dict[str, str] + :param target_setting: Target settings to tune target endpoint migration behavior. + :type target_setting: dict[str, str] + :param selected_tables: Tables selected for migration. + :type selected_tables: + list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'migration_setting': {'key': 'migrationSetting', 'type': '{str}'}, + 'source_setting': {'key': 'sourceSetting', 'type': '{str}'}, + 'target_setting': {'key': 'targetSetting', 'type': '{str}'}, + 'selected_tables': {'key': 'selectedTables', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.target_database_name = kwargs.get('target_database_name', None) + self.migration_setting = kwargs.get('migration_setting', None) + self.source_setting = kwargs.get('source_setting', None) + self.target_setting = kwargs.get('target_setting', None) + self.selected_tables = kwargs.get('selected_tables', None) + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput(msrest.serialization.Model): + """Selected tables for the migration. + + :param name: Name of the table to migrate. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput] + :param target_connection_info: Required. Connection information for target Azure Database for + PostgreSQL. + :type target_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param source_connection_info: Required. Connection information for source PostgreSQL. + :type source_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param encrypted_key_for_secure_fields: encrypted key for secure fields. + :type encrypted_key_for_secure_fields: str + """ + + _validation = { + 'selected_databases': {'required': True}, + 'target_connection_info': {'required': True}, + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput]'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'encrypted_key_for_secure_fields': {'key': 'encryptedKeyForSecureFields', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.selected_databases = kwargs['selected_databases'] + self.target_connection_info = kwargs['target_connection_info'] + self.source_connection_info = kwargs['source_connection_info'] + self.encrypted_key_for_secure_fields = kwargs.get('encrypted_key_for_secure_fields', None) + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError', 'DatabaseLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError', 'MigrationLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel', 'TableLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :param error_message: Error message. + :type error_message: str + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelErrorOutput' # type: str + self.error_message = kwargs.get('error_message', None) + self.events = kwargs.get('events', None) + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar migration_state: Migration state that this database is in. Possible values include: + "UNDEFINED", "CONFIGURING", "INITIALIAZING", "STARTING", "RUNNING", "READY_TO_COMPLETE", + "COMPLETING", "COMPLETE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATING", + "VALIDATION_COMPLETE", "VALIDATION_FAILED", "RESTORE_IN_PROGRESS", "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", "BACKUP_COMPLETED". + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes. + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes. + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts. + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes. + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates. + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load. + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load. + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load. + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load. + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has been completed. + :vartype initialization_completed: bool + :ivar latency: CDC apply latency. + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + self.events = kwargs.get('events', None) + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server: Source server name. + :vartype source_server: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server: Target server name. + :vartype target_server: str + :ivar source_server_type: Source server type. Possible values include: "Access", "DB2", + "MySQL", "Oracle", "SQL", "Sybase", "PostgreSQL", "MongoDB", "SQLRDS", "MySQLRDS", + "PostgreSQLRDS". + :vartype source_server_type: str or ~azure.mgmt.datamigration.models.ScenarioSource + :ivar target_server_type: Target server type. Possible values include: "SQLServer", "SQLDB", + "SQLDW", "SQLMI", "AzureDBForMySql", "AzureDBForPostgresSQL", "MongoDB". + :vartype target_server_type: str or ~azure.mgmt.datamigration.models.ScenarioTarget + :ivar state: Migration status. Possible values include: "UNDEFINED", "VALIDATING", "PENDING", + "COMPLETE", "ACTION_REQUIRED", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.ReplicateMigrationState + :param database_count: Number of databases to include. + :type database_count: float + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + 'source_server_type': {'readonly': True}, + 'target_server_type': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + 'source_server_type': {'key': 'sourceServerType', 'type': 'str'}, + 'target_server_type': {'key': 'targetServerType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'database_count': {'key': 'databaseCount', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + self.source_server_type = None + self.target_server_type = None + self.state = None + self.database_count = kwargs.get('database_count', None) + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table. + :vartype table_name: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts. + :vartype cdc_insert_counter: long + :ivar cdc_update_counter: Number of applied updates. + :vartype cdc_update_counter: long + :ivar cdc_delete_counter: Number of applied deletes. + :vartype cdc_delete_counter: long + :ivar full_load_est_finish_time: Estimate to finish full load. + :vartype full_load_est_finish_time: ~datetime.datetime + :ivar full_load_started_on: Full load start time. + :vartype full_load_started_on: ~datetime.datetime + :ivar full_load_ended_on: Full load end time. + :vartype full_load_ended_on: ~datetime.datetime + :ivar full_load_total_rows: Number of rows applied in full load. + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values include: "BEFORE_LOAD", + "FULL_LOAD", "COMPLETED", "CANCELED", "ERROR", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes. + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred. + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target. + :vartype last_modified_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: + ~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput] + :param task_id: task id. + :type task_id: str + :param created_on: DateTime in UTC when the task was created. + :type created_on: str + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput]'}, + 'task_id': {'key': 'taskId', 'type': 'str'}, + 'created_on': {'key': 'createdOn', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' # type: str + self.input = kwargs.get('input', None) + self.output = None + self.task_id = kwargs.get('task_id', None) + self.created_on = kwargs.get('created_on', None) + + +class MigrateSchemaSqlServerSqlDbDatabaseInput(msrest.serialization.Model): + """Database input for migrate schema Sql Server to Azure SQL Server scenario. + + :param name: Name of source database. + :type name: str + :param id: Id of the source database. + :type id: str + :param target_database_name: Name of target database. + :type target_database_name: str + :param schema_setting: Database schema migration settings. + :type schema_setting: ~azure.mgmt.datamigration.models.SchemaMigrationSetting + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'schema_setting': {'key': 'schemaSetting', 'type': 'SchemaMigrationSetting'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbDatabaseInput, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.target_database_name = kwargs.get('target_database_name', None) + self.schema_setting = kwargs.get('schema_setting', None) + + +class SqlMigrationTaskInput(msrest.serialization.Model): + """Base class for migration task input. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlMigrationTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + + +class MigrateSchemaSqlServerSqlDbTaskInput(SqlMigrationTaskInput): + """Input for task that migrates Schema for SQL Server databases to Azure SQL databases. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSchemaSqlServerSqlDbDatabaseInput] + :param encrypted_key_for_secure_fields: encrypted key for secure fields. + :type encrypted_key_for_secure_fields: str + :param started_on: Migration start time. + :type started_on: str + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSchemaSqlServerSqlDbDatabaseInput]'}, + 'encrypted_key_for_secure_fields': {'key': 'encryptedKeyForSecureFields', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskInput, self).__init__(**kwargs) + self.selected_databases = kwargs['selected_databases'] + self.encrypted_key_for_secure_fields = kwargs.get('encrypted_key_for_secure_fields', None) + self.started_on = kwargs.get('started_on', None) + + +class MigrateSchemaSqlServerSqlDbTaskOutput(msrest.serialization.Model): + """Output for the task that migrates Schema for SQL Server databases to Azure SQL databases. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, MigrateSchemaSqlTaskOutputError, MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, MigrateSchemaSqlServerSqlDbTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelOutput': 'MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSchemaSqlTaskOutputError', 'MigrationLevelOutput': 'MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel', 'SchemaErrorOutput': 'MigrateSchemaSqlServerSqlDbTaskOutputError'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel(MigrateSchemaSqlServerSqlDbTaskOutput): + """MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: The name of the database. + :vartype database_name: str + :ivar state: State of the schema migration for this database. Possible values include: "None", + "InProgress", "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Schema migration stage for this database. Possible values include: "NotStarted", + "ValidatingInputs", "CollectingObjects", "DownloadingScript", "GeneratingScript", + "UploadingScript", "DeployingSchema", "Completed", "CompletedWithWarnings", "Failed". + :vartype stage: str or ~azure.mgmt.datamigration.models.SchemaMigrationStage + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar database_error_result_prefix: Prefix string to use for querying errors for this database. + :vartype database_error_result_prefix: str + :ivar schema_error_result_prefix: Prefix string to use for querying schema errors for this + database. + :vartype schema_error_result_prefix: str + :ivar number_of_successful_operations: Number of successful operations for this database. + :vartype number_of_successful_operations: long + :ivar number_of_failed_operations: Number of failed operations for this database. + :vartype number_of_failed_operations: long + :ivar file_id: Identifier for the file resource containing the schema of this database. + :vartype file_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'database_error_result_prefix': {'readonly': True}, + 'schema_error_result_prefix': {'readonly': True}, + 'number_of_successful_operations': {'readonly': True}, + 'number_of_failed_operations': {'readonly': True}, + 'file_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'database_error_result_prefix': {'key': 'databaseErrorResultPrefix', 'type': 'str'}, + 'schema_error_result_prefix': {'key': 'schemaErrorResultPrefix', 'type': 'str'}, + 'number_of_successful_operations': {'key': 'numberOfSuccessfulOperations', 'type': 'long'}, + 'number_of_failed_operations': {'key': 'numberOfFailedOperations', 'type': 'long'}, + 'file_id': {'key': 'fileId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.database_error_result_prefix = None + self.schema_error_result_prefix = None + self.number_of_successful_operations = None + self.number_of_failed_operations = None + self.file_id = None + + +class MigrateSchemaSqlServerSqlDbTaskOutputError(MigrateSchemaSqlServerSqlDbTaskOutput): + """MigrateSchemaSqlServerSqlDbTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar command_text: Schema command which failed. + :vartype command_text: str + :ivar error_text: Reason of failure. + :vartype error_text: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'command_text': {'readonly': True}, + 'error_text': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'command_text': {'key': 'commandText', 'type': 'str'}, + 'error_text': {'key': 'errorText', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskOutputError, self).__init__(**kwargs) + self.result_type = 'SchemaErrorOutput' # type: str + self.command_text = None + self.error_text = None + + +class MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel(MigrateSchemaSqlServerSqlDbTaskOutput): + """MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar state: Overall state of the schema migration. Possible values include: "None", + "InProgress", "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.state = None + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + + +class MigrateSchemaSqlServerSqlDbTaskProperties(ProjectTaskProperties): + """Properties for task that migrates Schema for SQL Server databases to Azure SQL databases. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSchemaSqlServerSqlDbTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSchemaSqlServerSqlDbTaskOutput] + :param created_on: DateTime in UTC when the task was created. + :type created_on: str + :param task_id: Task id. + :type task_id: str + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSchemaSqlServerSqlDbTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSchemaSqlServerSqlDbTaskOutput]'}, + 'created_on': {'key': 'createdOn', 'type': 'str'}, + 'task_id': {'key': 'taskId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskProperties, self).__init__(**kwargs) + self.task_type = 'MigrateSchemaSqlServerSqlDb' # type: str + self.input = kwargs.get('input', None) + self.output = None + self.created_on = kwargs.get('created_on', None) + self.task_id = kwargs.get('task_id', None) + + +class MigrateSchemaSqlTaskOutputError(MigrateSchemaSqlServerSqlDbTaskOutput): + """MigrateSchemaSqlTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerDatabaseInput(msrest.serialization.Model): + """Database specific information for SQL to SQL migration task inputs. + + :param name: Name of the database. + :type name: str + :param restore_database_name: Name of the database at destination. + :type restore_database_name: str + :param backup_and_restore_folder: The backup and restore folder. + :type backup_and_restore_folder: str + :param database_files: The list of database files. + :type database_files: list[~azure.mgmt.datamigration.models.DatabaseFileInput] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name': {'key': 'restoreDatabaseName', 'type': 'str'}, + 'backup_and_restore_folder': {'key': 'backupAndRestoreFolder', 'type': 'str'}, + 'database_files': {'key': 'databaseFiles', 'type': '[DatabaseFileInput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerDatabaseInput, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.restore_database_name = kwargs.get('restore_database_name', None) + self.backup_and_restore_folder = kwargs.get('backup_and_restore_folder', None) + self.database_files = kwargs.get('database_files', None) + + +class MigrateSqlServerSqlDbDatabaseInput(msrest.serialization.Model): + """Database specific information for SQL to Azure SQL DB migration task inputs. + + :param name: Name of the database. + :type name: str + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param make_source_db_read_only: Whether to set database read only before migration. + :type make_source_db_read_only: bool + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + :param schema_setting: Settings selected for DB schema migration. + :type schema_setting: object + :param id: id of the database. + :type id: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'make_source_db_read_only': {'key': 'makeSourceDbReadOnly', 'type': 'bool'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + 'schema_setting': {'key': 'schemaSetting', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbDatabaseInput, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.target_database_name = kwargs.get('target_database_name', None) + self.make_source_db_read_only = kwargs.get('make_source_db_read_only', None) + self.table_map = kwargs.get('table_map', None) + self.schema_setting = kwargs.get('schema_setting', None) + self.id = kwargs.get('id', None) + + +class MigrateSqlServerSqlDbSyncDatabaseInput(msrest.serialization.Model): + """Database specific information for SQL to Azure SQL DB sync migration task inputs. + + :param id: Unique identifier for database. + :type id: str + :param name: Name of database. + :type name: str + :param target_database_name: Target database name. + :type target_database_name: str + :param schema_name: Schema name to be migrated. + :type schema_name: str + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + :param migration_setting: Migration settings which tune the migration behavior. + :type migration_setting: dict[str, str] + :param source_setting: Source settings to tune source endpoint migration behavior. + :type source_setting: dict[str, str] + :param target_setting: Target settings to tune target endpoint migration behavior. + :type target_setting: dict[str, str] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + 'migration_setting': {'key': 'migrationSetting', 'type': '{str}'}, + 'source_setting': {'key': 'sourceSetting', 'type': '{str}'}, + 'target_setting': {'key': 'targetSetting', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncDatabaseInput, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.target_database_name = kwargs.get('target_database_name', None) + self.schema_name = kwargs.get('schema_name', None) + self.table_map = kwargs.get('table_map', None) + self.migration_setting = kwargs.get('migration_setting', None) + self.source_setting = kwargs.get('source_setting', None) + self.target_setting = kwargs.get('target_setting', None) + + +class MigrateSqlServerSqlDbSyncTaskInput(SqlMigrationTaskInput): + """Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncDatabaseInput] + :param validation_options: Validation options. + :type validation_options: ~azure.mgmt.datamigration.models.MigrationValidationOptions + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlDbSyncDatabaseInput]'}, + 'validation_options': {'key': 'validationOptions', 'type': 'MigrationValidationOptions'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskInput, self).__init__(**kwargs) + self.selected_databases = kwargs['selected_databases'] + self.validation_options = kwargs.get('validation_options', None) + + +class MigrateSqlServerSqlDbSyncTaskOutput(msrest.serialization.Model): + """Output for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, MigrateSqlServerSqlDbSyncTaskOutputError, MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, MigrateSqlServerSqlDbSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseError', 'DatabaseLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSqlServerSqlDbSyncTaskOutputError', 'MigrationLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel', 'TableLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSqlServerSqlDbSyncTaskOutputDatabaseError(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputDatabaseError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :param error_message: Error message. + :type error_message: str + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelErrorOutput' # type: str + self.error_message = kwargs.get('error_message', None) + self.events = kwargs.get('events', None) + + +class MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar migration_state: Migration state that this database is in. Possible values include: + "UNDEFINED", "CONFIGURING", "INITIALIAZING", "STARTING", "RUNNING", "READY_TO_COMPLETE", + "COMPLETING", "COMPLETE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATING", + "VALIDATION_COMPLETE", "VALIDATION_FAILED", "RESTORE_IN_PROGRESS", "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", "BACKUP_COMPLETED". + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes. + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes. + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts. + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes. + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates. + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load. + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load. + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load. + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load. + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has been completed. + :vartype initialization_completed: bool + :ivar latency: CDC apply latency. + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + + +class MigrateSqlServerSqlDbSyncTaskOutputError(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server: Source server name. + :vartype source_server: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server: Target server name. + :vartype target_server: str + :ivar database_count: Count of databases. + :vartype database_count: int + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + 'database_count': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + 'database_count': {'key': 'databaseCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + self.database_count = None + + +class MigrateSqlServerSqlDbSyncTaskOutputTableLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table. + :vartype table_name: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts. + :vartype cdc_insert_counter: long + :ivar cdc_update_counter: Number of applied updates. + :vartype cdc_update_counter: long + :ivar cdc_delete_counter: Number of applied deletes. + :vartype cdc_delete_counter: long + :ivar full_load_est_finish_time: Estimate to finish full load. + :vartype full_load_est_finish_time: ~datetime.datetime + :ivar full_load_started_on: Full load start time. + :vartype full_load_started_on: ~datetime.datetime + :ivar full_load_ended_on: Full load end time. + :vartype full_load_ended_on: ~datetime.datetime + :ivar full_load_total_rows: Number of rows applied in full load. + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values include: "BEFORE_LOAD", + "FULL_LOAD", "COMPLETED", "CANCELED", "ERROR", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes. + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred. + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target. + :vartype last_modified_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + + +class MigrateSqlServerSqlDbSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlDbSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlDbSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.SqlServer.AzureSqlDb.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrateSqlServerSqlDbTaskInput(SqlMigrationTaskInput): + """Input for the task that migrates on-prem SQL Server databases to Azure SQL Database. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbDatabaseInput] + :param validation_options: Options for enabling various post migration validations. Available + options, + 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables + after the migration to ensure the correctness of the data. + 2.) Schema Validation: Performs a thorough schema comparison between the source and target + tables and provides a list of differences between the source and target database, 3.) Query + Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or + Query Store and execute them and compares the execution time between the source and target + database. + :type validation_options: ~azure.mgmt.datamigration.models.MigrationValidationOptions + :param started_on: Date and time relative to UTC when the migration was started on. + :type started_on: str + :param encrypted_key_for_secure_fields: encrypted key for secure fields. + :type encrypted_key_for_secure_fields: str + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlDbDatabaseInput]'}, + 'validation_options': {'key': 'validationOptions', 'type': 'MigrationValidationOptions'}, + 'started_on': {'key': 'startedOn', 'type': 'str'}, + 'encrypted_key_for_secure_fields': {'key': 'encryptedKeyForSecureFields', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskInput, self).__init__(**kwargs) + self.selected_databases = kwargs['selected_databases'] + self.validation_options = kwargs.get('validation_options', None) + self.started_on = kwargs.get('started_on', None) + self.encrypted_key_for_secure_fields = kwargs.get('encrypted_key_for_secure_fields', None) + + +class MigrateSqlServerSqlDbTaskOutput(msrest.serialization.Model): + """Output for the task that migrates on-prem SQL Server databases to Azure SQL Database. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlDbTaskOutputDatabaseLevel, MigrateSqlServerSqlDbTaskOutputError, MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult, MigrateSqlServerSqlDbTaskOutputMigrationLevel, MigrateSqlServerSqlDbTaskOutputValidationResult, MigrateSqlServerSqlDbTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelOutput': 'MigrateSqlServerSqlDbTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSqlServerSqlDbTaskOutputError', 'MigrationDatabaseLevelValidationOutput': 'MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult', 'MigrationLevelOutput': 'MigrateSqlServerSqlDbTaskOutputMigrationLevel', 'MigrationValidationOutput': 'MigrateSqlServerSqlDbTaskOutputValidationResult', 'TableLevelOutput': 'MigrateSqlServerSqlDbTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSqlServerSqlDbTaskOutputDatabaseLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the item. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Migration stage that this database is in. Possible values include: "None", + "Initialize", "Backup", "FileCopy", "Restore", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar status_message: Status message. + :vartype status_message: str + :ivar message: Migration progress message. + :vartype message: str + :ivar number_of_objects: Number of objects. + :vartype number_of_objects: long + :ivar number_of_objects_completed: Number of successfully completed objects. + :vartype number_of_objects_completed: long + :ivar error_count: Number of database/object errors. + :vartype error_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar object_summary: Summary of object results in the migration. + :vartype object_summary: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'number_of_objects': {'readonly': True}, + 'number_of_objects_completed': {'readonly': True}, + 'error_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'object_summary': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'number_of_objects': {'key': 'numberOfObjects', 'type': 'long'}, + 'number_of_objects_completed': {'key': 'numberOfObjectsCompleted', 'type': 'long'}, + 'error_count': {'key': 'errorCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'object_summary': {'key': 'objectSummary', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.stage = None + self.status_message = None + self.message = None + self.number_of_objects = None + self.number_of_objects_completed = None + self.error_count = None + self.error_prefix = None + self.result_prefix = None + self.exceptions_and_warnings = None + self.object_summary = None + + +class MigrationValidationDatabaseLevelResult(msrest.serialization.Model): + """Database level validation results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar migration_id: Migration Identifier. + :vartype migration_id: str + :ivar source_database_name: Name of the source database. + :vartype source_database_name: str + :ivar target_database_name: Name of the target database. + :vartype target_database_name: str + :ivar started_on: Validation start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Validation end time. + :vartype ended_on: ~datetime.datetime + :ivar data_integrity_validation_result: Provides data integrity validation result between the + source and target tables that are migrated. + :vartype data_integrity_validation_result: + ~azure.mgmt.datamigration.models.DataIntegrityValidationResult + :ivar schema_validation_result: Provides schema comparison result between source and target + database. + :vartype schema_validation_result: + ~azure.mgmt.datamigration.models.SchemaComparisonValidationResult + :ivar query_analysis_validation_result: Results of some of the query execution result between + source and target database. + :vartype query_analysis_validation_result: + ~azure.mgmt.datamigration.models.QueryAnalysisValidationResult + :ivar status: Current status of validation at the database level. Possible values include: + "Default", "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", + "Stopped", "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'source_database_name': {'readonly': True}, + 'target_database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'data_integrity_validation_result': {'readonly': True}, + 'schema_validation_result': {'readonly': True}, + 'query_analysis_validation_result': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'data_integrity_validation_result': {'key': 'dataIntegrityValidationResult', 'type': 'DataIntegrityValidationResult'}, + 'schema_validation_result': {'key': 'schemaValidationResult', 'type': 'SchemaComparisonValidationResult'}, + 'query_analysis_validation_result': {'key': 'queryAnalysisValidationResult', 'type': 'QueryAnalysisValidationResult'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationValidationDatabaseLevelResult, self).__init__(**kwargs) + self.id = None + self.migration_id = None + self.source_database_name = None + self.target_database_name = None + self.started_on = None + self.ended_on = None + self.data_integrity_validation_result = None + self.schema_validation_result = None + self.query_analysis_validation_result = None + self.status = None + + +class MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult(MigrateSqlServerSqlDbTaskOutput, MigrationValidationDatabaseLevelResult): + """MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult. + + 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 migration_id: Migration Identifier. + :vartype migration_id: str + :ivar source_database_name: Name of the source database. + :vartype source_database_name: str + :ivar target_database_name: Name of the target database. + :vartype target_database_name: str + :ivar started_on: Validation start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Validation end time. + :vartype ended_on: ~datetime.datetime + :ivar data_integrity_validation_result: Provides data integrity validation result between the + source and target tables that are migrated. + :vartype data_integrity_validation_result: + ~azure.mgmt.datamigration.models.DataIntegrityValidationResult + :ivar schema_validation_result: Provides schema comparison result between source and target + database. + :vartype schema_validation_result: + ~azure.mgmt.datamigration.models.SchemaComparisonValidationResult + :ivar query_analysis_validation_result: Results of some of the query execution result between + source and target database. + :vartype query_analysis_validation_result: + ~azure.mgmt.datamigration.models.QueryAnalysisValidationResult + :ivar status: Current status of validation at the database level. Possible values include: + "Default", "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", + "Stopped", "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'migration_id': {'readonly': True}, + 'source_database_name': {'readonly': True}, + 'target_database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'data_integrity_validation_result': {'readonly': True}, + 'schema_validation_result': {'readonly': True}, + 'query_analysis_validation_result': {'readonly': True}, + 'status': {'readonly': True}, + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'data_integrity_validation_result': {'key': 'dataIntegrityValidationResult', 'type': 'DataIntegrityValidationResult'}, + 'schema_validation_result': {'key': 'schemaValidationResult', 'type': 'SchemaComparisonValidationResult'}, + 'query_analysis_validation_result': {'key': 'queryAnalysisValidationResult', 'type': 'QueryAnalysisValidationResult'}, + 'status': {'key': 'status', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult, self).__init__(**kwargs) + self.migration_id = None + self.source_database_name = None + self.target_database_name = None + self.started_on = None + self.ended_on = None + self.data_integrity_validation_result = None + self.schema_validation_result = None + self.query_analysis_validation_result = None + self.status = None + self.result_type = 'MigrationDatabaseLevelValidationOutput' # type: str + self.id = None + self.result_type = 'MigrationDatabaseLevelValidationOutput' # type: str + + +class MigrateSqlServerSqlDbTaskOutputError(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerSqlDbTaskOutputMigrationLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar duration_in_seconds: Duration of task execution in seconds. + :vartype duration_in_seconds: long + :ivar status: Current status of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar status_message: Migration status message. + :vartype status_message: str + :ivar message: Migration progress message. + :vartype message: str + :ivar databases: Selected databases as a map from database name to database id. + :vartype databases: str + :ivar database_summary: Summary of database results in the migration. + :vartype database_summary: str + :param migration_validation_result: Migration Validation Results. + :type migration_validation_result: ~azure.mgmt.datamigration.models.MigrationValidationResult + :param migration_report_result: Migration Report Result, provides unique url for downloading + your migration report. + :type migration_report_result: ~azure.mgmt.datamigration.models.MigrationReportResult + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'duration_in_seconds': {'readonly': True}, + 'status': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'databases': {'readonly': True}, + 'database_summary': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'duration_in_seconds': {'key': 'durationInSeconds', 'type': 'long'}, + 'status': {'key': 'status', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'database_summary': {'key': 'databaseSummary', 'type': 'str'}, + 'migration_validation_result': {'key': 'migrationValidationResult', 'type': 'MigrationValidationResult'}, + 'migration_report_result': {'key': 'migrationReportResult', 'type': 'MigrationReportResult'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.duration_in_seconds = None + self.status = None + self.status_message = None + self.message = None + self.databases = None + self.database_summary = None + self.migration_validation_result = kwargs.get('migration_validation_result', None) + self.migration_report_result = kwargs.get('migration_report_result', None) + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlDbTaskOutputTableLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar object_name: Name of the item. + :vartype object_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message. + :vartype status_message: str + :ivar items_count: Number of items. + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items. + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'object_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.object_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.status_message = None + self.items_count = None + self.items_completed_count = None + self.error_prefix = None + self.result_prefix = None + + +class MigrationValidationResult(msrest.serialization.Model): + """Migration Validation Result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Migration validation result identifier. + :vartype id: str + :ivar migration_id: Migration Identifier. + :vartype migration_id: str + :param summary_results: Validation summary results for each database. + :type summary_results: dict[str, + ~azure.mgmt.datamigration.models.MigrationValidationDatabaseSummaryResult] + :ivar status: Current status of validation at the migration level. Status from the database + validation result status will be aggregated here. Possible values include: "Default", + "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", "Stopped", + "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'summary_results': {'key': 'summaryResults', 'type': '{MigrationValidationDatabaseSummaryResult}'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationValidationResult, self).__init__(**kwargs) + self.id = None + self.migration_id = None + self.summary_results = kwargs.get('summary_results', None) + self.status = None + + +class MigrateSqlServerSqlDbTaskOutputValidationResult(MigrateSqlServerSqlDbTaskOutput, MigrationValidationResult): + """MigrateSqlServerSqlDbTaskOutputValidationResult. + + 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 migration_id: Migration Identifier. + :vartype migration_id: str + :param summary_results: Validation summary results for each database. + :type summary_results: dict[str, + ~azure.mgmt.datamigration.models.MigrationValidationDatabaseSummaryResult] + :ivar status: Current status of validation at the migration level. Status from the database + validation result status will be aggregated here. Possible values include: "Default", + "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", "Stopped", + "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'migration_id': {'readonly': True}, + 'status': {'readonly': True}, + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'summary_results': {'key': 'summaryResults', 'type': '{MigrationValidationDatabaseSummaryResult}'}, + 'status': {'key': 'status', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputValidationResult, self).__init__(**kwargs) + self.migration_id = None + self.summary_results = kwargs.get('summary_results', None) + self.status = None + self.result_type = 'MigrationValidationOutput' # type: str + self.id = None + self.result_type = 'MigrationValidationOutput' # type: str + + +class MigrateSqlServerSqlDbTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbTaskOutput] + :param task_id: task id. + :type task_id: str + :param is_cloneable: whether the task can be cloned or not. + :type is_cloneable: bool + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlDbTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlDbTaskOutput]'}, + 'task_id': {'key': 'taskId', 'type': 'str'}, + 'is_cloneable': {'key': 'isCloneable', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.SqlServer.SqlDb' # type: str + self.input = kwargs.get('input', None) + self.output = None + self.task_id = kwargs.get('task_id', None) + self.is_cloneable = kwargs.get('is_cloneable', None) + + +class MigrateSqlServerSqlMiDatabaseInput(msrest.serialization.Model): + """Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the database. + :type name: str + :param restore_database_name: Required. Name of the database at destination. + :type restore_database_name: str + :param backup_file_share: Backup file share information for backing up this database. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param backup_file_paths: The list of backup files to be used in case of existing backups. + :type backup_file_paths: list[str] + :param id: id of the database. + :type id: str + """ + + _validation = { + 'name': {'required': True}, + 'restore_database_name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name': {'key': 'restoreDatabaseName', 'type': 'str'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'backup_file_paths': {'key': 'backupFilePaths', 'type': '[str]'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiDatabaseInput, self).__init__(**kwargs) + self.name = kwargs['name'] + self.restore_database_name = kwargs['restore_database_name'] + self.backup_file_share = kwargs.get('backup_file_share', None) + self.backup_file_paths = kwargs.get('backup_file_paths', None) + self.id = kwargs.get('id', None) + + +class SqlServerSqlMiSyncTaskInput(msrest.serialization.Model): + """Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param storage_resource_id: Required. Fully qualified resourceId of storage. + :type storage_resource_id: str + :param source_connection_info: Required. Connection information for source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for Azure SQL Database Managed + Instance. + :type target_connection_info: ~azure.mgmt.datamigration.models.MiSqlConnectionInfo + :param azure_app: Required. Azure Active Directory Application the DMS instance will use to + connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage + Account. + :type azure_app: ~azure.mgmt.datamigration.models.AzureActiveDirectoryApp + """ + + _validation = { + 'selected_databases': {'required': True}, + 'storage_resource_id': {'required': True}, + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'azure_app': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'storage_resource_id': {'key': 'storageResourceId', 'type': 'str'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MiSqlConnectionInfo'}, + 'azure_app': {'key': 'azureApp', 'type': 'AzureActiveDirectoryApp'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlServerSqlMiSyncTaskInput, self).__init__(**kwargs) + self.selected_databases = kwargs['selected_databases'] + self.backup_file_share = kwargs.get('backup_file_share', None) + self.storage_resource_id = kwargs['storage_resource_id'] + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + self.azure_app = kwargs['azure_app'] + + +class MigrateSqlServerSqlMiSyncTaskInput(SqlServerSqlMiSyncTaskInput): + """Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param storage_resource_id: Required. Fully qualified resourceId of storage. + :type storage_resource_id: str + :param source_connection_info: Required. Connection information for source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for Azure SQL Database Managed + Instance. + :type target_connection_info: ~azure.mgmt.datamigration.models.MiSqlConnectionInfo + :param azure_app: Required. Azure Active Directory Application the DMS instance will use to + connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage + Account. + :type azure_app: ~azure.mgmt.datamigration.models.AzureActiveDirectoryApp + """ + + _validation = { + 'selected_databases': {'required': True}, + 'storage_resource_id': {'required': True}, + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'azure_app': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'storage_resource_id': {'key': 'storageResourceId', 'type': 'str'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MiSqlConnectionInfo'}, + 'azure_app': {'key': 'azureApp', 'type': 'AzureActiveDirectoryApp'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskInput, self).__init__(**kwargs) + + +class MigrateSqlServerSqlMiSyncTaskOutput(msrest.serialization.Model): + """Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using Log Replay Service. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel, MigrateSqlServerSqlMiSyncTaskOutputError, MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelOutput': 'MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSqlServerSqlMiSyncTaskOutputError', 'MigrationLevelOutput': 'MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel(MigrateSqlServerSqlMiSyncTaskOutput): + """MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar source_database_name: Name of the database. + :vartype source_database_name: str + :ivar migration_state: Current state of database. Possible values include: "UNDEFINED", + "INITIAL", "FULL_BACKUP_UPLOAD_START", "LOG_SHIPPING_START", "UPLOAD_LOG_FILES_START", + "CUTOVER_START", "POST_CUTOVER_COMPLETE", "COMPLETED", "CANCELLED", "FAILED". + :vartype migration_state: str or ~azure.mgmt.datamigration.models.DatabaseMigrationState + :ivar started_on: Database migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Database migration end time. + :vartype ended_on: ~datetime.datetime + :ivar full_backup_set_info: Details of full backup set. + :vartype full_backup_set_info: ~azure.mgmt.datamigration.models.BackupSetInfo + :ivar last_restored_backup_set_info: Last applied backup set information. + :vartype last_restored_backup_set_info: ~azure.mgmt.datamigration.models.BackupSetInfo + :ivar active_backup_sets: Backup sets that are currently active (Either being uploaded or + getting restored). + :vartype active_backup_sets: list[~azure.mgmt.datamigration.models.BackupSetInfo] + :ivar container_name: Name of container created in the Azure Storage account where backups are + copied to. + :vartype container_name: str + :ivar error_prefix: prefix string to use for querying errors for this database. + :vartype error_prefix: str + :ivar is_full_backup_restored: Whether full backup has been applied to the target database or + not. + :vartype is_full_backup_restored: bool + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'source_database_name': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'full_backup_set_info': {'readonly': True}, + 'last_restored_backup_set_info': {'readonly': True}, + 'active_backup_sets': {'readonly': True}, + 'container_name': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'is_full_backup_restored': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'full_backup_set_info': {'key': 'fullBackupSetInfo', 'type': 'BackupSetInfo'}, + 'last_restored_backup_set_info': {'key': 'lastRestoredBackupSetInfo', 'type': 'BackupSetInfo'}, + 'active_backup_sets': {'key': 'activeBackupSets', 'type': '[BackupSetInfo]'}, + 'container_name': {'key': 'containerName', 'type': 'str'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'is_full_backup_restored': {'key': 'isFullBackupRestored', 'type': 'bool'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.source_database_name = None + self.migration_state = None + self.started_on = None + self.ended_on = None + self.full_backup_set_info = None + self.last_restored_backup_set_info = None + self.active_backup_sets = None + self.container_name = None + self.error_prefix = None + self.is_full_backup_restored = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiSyncTaskOutputError(MigrateSqlServerSqlMiSyncTaskOutput): + """MigrateSqlServerSqlMiSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel(MigrateSqlServerSqlMiSyncTaskOutput): + """MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_count: Count of databases. + :vartype database_count: int + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_name: Source server name. + :vartype source_server_name: str + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_name: Target server name. + :vartype target_server_name: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar database_error_count: Number of database level errors. + :vartype database_error_count: int + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_count': {'readonly': True}, + 'state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_name': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_name': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'database_error_count': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_count': {'key': 'databaseCount', 'type': 'int'}, + 'state': {'key': 'state', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'database_error_count': {'key': 'databaseErrorCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.database_count = None + self.state = None + self.started_on = None + self.ended_on = None + self.source_server_name = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_name = None + self.target_server_version = None + self.target_server_brand_version = None + self.database_error_count = None + + +class MigrateSqlServerSqlMiSyncTaskProperties(ProjectTaskProperties): + """Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.SqlServerSqlMiSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'SqlServerSqlMiSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlMiSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrateSqlServerSqlMiTaskInput(SqlMigrationTaskInput): + """Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param started_on: Date and time relative to UTC when the migration was started on. + :type started_on: str + :param selected_logins: Logins to migrate. + :type selected_logins: list[str] + :param selected_agent_jobs: Agent Jobs to migrate. + :type selected_agent_jobs: list[str] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param backup_blob_share: Required. SAS URI of Azure Storage Account Container to be used for + storing backup files. + :type backup_blob_share: ~azure.mgmt.datamigration.models.BlobShare + :param backup_mode: Backup Mode to specify whether to use existing backup or create new backup. + If using existing backups, backup file paths are required to be provided in selectedDatabases. + Possible values include: "CreateBackup", "ExistingBackup". + :type backup_mode: str or ~azure.mgmt.datamigration.models.BackupMode + :param aad_domain_name: Azure Active Directory domain name in the format of 'contoso.com' for + federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if + Windows logins are selected. + :type aad_domain_name: str + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + 'backup_blob_share': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'started_on': {'key': 'startedOn', 'type': 'str'}, + 'selected_logins': {'key': 'selectedLogins', 'type': '[str]'}, + 'selected_agent_jobs': {'key': 'selectedAgentJobs', 'type': '[str]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'backup_blob_share': {'key': 'backupBlobShare', 'type': 'BlobShare'}, + 'backup_mode': {'key': 'backupMode', 'type': 'str'}, + 'aad_domain_name': {'key': 'aadDomainName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskInput, self).__init__(**kwargs) + self.selected_databases = kwargs['selected_databases'] + self.started_on = kwargs.get('started_on', None) + self.selected_logins = kwargs.get('selected_logins', None) + self.selected_agent_jobs = kwargs.get('selected_agent_jobs', None) + self.backup_file_share = kwargs.get('backup_file_share', None) + self.backup_blob_share = kwargs['backup_blob_share'] + self.backup_mode = kwargs.get('backup_mode', None) + self.aad_domain_name = kwargs.get('aad_domain_name', None) + + +class MigrateSqlServerSqlMiTaskOutput(msrest.serialization.Model): + """Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlMiTaskOutputAgentJobLevel, MigrateSqlServerSqlMiTaskOutputDatabaseLevel, MigrateSqlServerSqlMiTaskOutputError, MigrateSqlServerSqlMiTaskOutputLoginLevel, MigrateSqlServerSqlMiTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'AgentJobLevelOutput': 'MigrateSqlServerSqlMiTaskOutputAgentJobLevel', 'DatabaseLevelOutput': 'MigrateSqlServerSqlMiTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSqlServerSqlMiTaskOutputError', 'LoginLevelOutput': 'MigrateSqlServerSqlMiTaskOutputLoginLevel', 'MigrationLevelOutput': 'MigrateSqlServerSqlMiTaskOutputMigrationLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSqlServerSqlMiTaskOutputAgentJobLevel(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputAgentJobLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar name: Agent Job name. + :vartype name: str + :ivar is_enabled: The state of the original Agent Job. + :vartype is_enabled: bool + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar message: Migration progress message. + :vartype message: str + :ivar exceptions_and_warnings: Migration errors and warnings per job. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputAgentJobLevel, self).__init__(**kwargs) + self.result_type = 'AgentJobLevelOutput' # type: str + self.name = None + self.is_enabled = None + self.state = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiTaskOutputDatabaseLevel(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar size_mb: Size of the database in megabytes. + :vartype size_mb: float + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Current stage of migration. Possible values include: "None", "Initialize", + "Backup", "FileCopy", "Restore", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar message: Migration progress message. + :vartype message: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'size_mb': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.size_mb = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiTaskOutputError(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerSqlMiTaskOutputLoginLevel(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputLoginLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar login_name: Login name. + :vartype login_name: str + :ivar state: Current state of login. Possible values include: "None", "InProgress", "Failed", + "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Current stage of login. Possible values include: "None", "Initialize", + "LoginMigration", "EstablishUserMapping", "AssignRoleMembership", "AssignRoleOwnership", + "EstablishServerPermissions", "EstablishObjectPermissions", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.LoginMigrationStage + :ivar started_on: Login migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Login migration end time. + :vartype ended_on: ~datetime.datetime + :ivar message: Login migration progress message. + :vartype message: str + :ivar exceptions_and_warnings: Login migration errors and warnings per login. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'login_name': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'login_name': {'key': 'loginName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputLoginLevel, self).__init__(**kwargs) + self.result_type = 'LoginLevelOutput' # type: str + self.login_name = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiTaskOutputMigrationLevel(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar status: Current status of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar agent_jobs: Selected agent jobs as a map from name to id. + :vartype agent_jobs: str + :ivar logins: Selected logins as a map from name to id. + :vartype logins: str + :ivar message: Migration progress message. + :vartype message: str + :ivar server_role_results: Map of server role migration results. + :vartype server_role_results: str + :ivar orphaned_users_info: List of orphaned users. + :vartype orphaned_users_info: list[~azure.mgmt.datamigration.models.OrphanedUserInfo] + :ivar databases: Selected databases as a map from database name to database id. + :vartype databases: str + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'state': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'logins': {'readonly': True}, + 'message': {'readonly': True}, + 'server_role_results': {'readonly': True}, + 'orphaned_users_info': {'readonly': True}, + 'databases': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'agent_jobs': {'key': 'agentJobs', 'type': 'str'}, + 'logins': {'key': 'logins', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'server_role_results': {'key': 'serverRoleResults', 'type': 'str'}, + 'orphaned_users_info': {'key': 'orphanedUsersInfo', 'type': '[OrphanedUserInfo]'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.status = None + self.state = None + self.agent_jobs = None + self.logins = None + self.message = None + self.server_role_results = None + self.orphaned_users_info = None + self.databases = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiTaskProperties(ProjectTaskProperties): + """Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiTaskOutput] + :param task_id: task id. + :type task_id: str + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlMiTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlMiTaskOutput]'}, + 'task_id': {'key': 'taskId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.SqlServer.AzureSqlDbMI' # type: str + self.input = kwargs.get('input', None) + self.output = None + self.task_id = kwargs.get('task_id', None) + + +class MigrateSsisTaskInput(SqlMigrationTaskInput): + """Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param ssis_migration_info: Required. SSIS package migration information. + :type ssis_migration_info: ~azure.mgmt.datamigration.models.SsisMigrationInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'ssis_migration_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'ssis_migration_info': {'key': 'ssisMigrationInfo', 'type': 'SsisMigrationInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSsisTaskInput, self).__init__(**kwargs) + self.ssis_migration_info = kwargs['ssis_migration_info'] + + +class MigrateSsisTaskOutput(msrest.serialization.Model): + """Output for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSsisTaskOutputMigrationLevel, MigrateSsisTaskOutputProjectLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'MigrationLevelOutput': 'MigrateSsisTaskOutputMigrationLevel', 'SsisProjectLevelOutput': 'MigrateSsisTaskOutputProjectLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSsisTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSsisTaskOutputMigrationLevel(MigrateSsisTaskOutput): + """MigrateSsisTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar status: Current status of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar message: Migration progress message. + :vartype message: str + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar stage: Stage of SSIS migration. Possible values include: "None", "Initialize", + "InProgress", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.SsisMigrationStage + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'message': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'stage': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'stage': {'key': 'stage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSsisTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.status = None + self.message = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + self.stage = None + + +class MigrateSsisTaskOutputProjectLevel(MigrateSsisTaskOutput): + """MigrateSsisTaskOutputProjectLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar folder_name: Name of the folder. + :vartype folder_name: str + :ivar project_name: Name of the project. + :vartype project_name: str + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Stage of SSIS migration. Possible values include: "None", "Initialize", + "InProgress", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.SsisMigrationStage + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar message: Migration progress message. + :vartype message: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'folder_name': {'readonly': True}, + 'project_name': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'folder_name': {'key': 'folderName', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSsisTaskOutputProjectLevel, self).__init__(**kwargs) + self.result_type = 'SsisProjectLevelOutput' # type: str + self.folder_name = None + self.project_name = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + + +class MigrateSsisTaskProperties(ProjectTaskProperties): + """Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database Managed Instance. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSsisTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSsisTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSsisTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSsisTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSsisTaskProperties, self).__init__(**kwargs) + self.task_type = 'Migrate.Ssis' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrateSyncCompleteCommandInput(msrest.serialization.Model): + """Input for command that completes sync migration for a database. + + All required parameters must be populated in order to send to Azure. + + :param database_name: Required. Name of database. + :type database_name: str + :param commit_time_stamp: Time stamp to complete. + :type commit_time_stamp: ~datetime.datetime + """ + + _validation = { + 'database_name': {'required': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'commit_time_stamp': {'key': 'commitTimeStamp', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSyncCompleteCommandInput, self).__init__(**kwargs) + self.database_name = kwargs['database_name'] + self.commit_time_stamp = kwargs.get('commit_time_stamp', None) + + +class MigrateSyncCompleteCommandOutput(msrest.serialization.Model): + """Output for command that completes sync migration for a database. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar errors: List of errors that happened during the command execution. + :vartype errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSyncCompleteCommandOutput, self).__init__(**kwargs) + self.id = None + self.errors = None + + +class MigrateSyncCompleteCommandProperties(CommandProperties): + """Properties for the command that completes sync migration for a database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MigrateSyncCompleteCommandInput + :ivar output: Command output. This is ignored if submitted. + :vartype output: ~azure.mgmt.datamigration.models.MigrateSyncCompleteCommandOutput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateSyncCompleteCommandInput'}, + 'output': {'key': 'output', 'type': 'MigrateSyncCompleteCommandOutput'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSyncCompleteCommandProperties, self).__init__(**kwargs) + self.command_type = 'Migrate.Sync.Complete.Database' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class MigrationEligibilityInfo(msrest.serialization.Model): + """Information about migration eligibility of a server object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar is_eligible_for_migration: Whether object is eligible for migration or not. + :vartype is_eligible_for_migration: bool + :ivar validation_messages: Information about eligibility failure for the server object. + :vartype validation_messages: list[str] + """ + + _validation = { + 'is_eligible_for_migration': {'readonly': True}, + 'validation_messages': {'readonly': True}, + } + + _attribute_map = { + 'is_eligible_for_migration': {'key': 'isEligibleForMigration', 'type': 'bool'}, + 'validation_messages': {'key': 'validationMessages', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationEligibilityInfo, self).__init__(**kwargs) + self.is_eligible_for_migration = None + self.validation_messages = None + + +class MigrationOperationInput(msrest.serialization.Model): + """Migration Operation Input. + + :param migration_operation_id: ID tracking migration operation. + :type migration_operation_id: str + """ + + _attribute_map = { + 'migration_operation_id': {'key': 'migrationOperationId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationOperationInput, self).__init__(**kwargs) + self.migration_operation_id = kwargs.get('migration_operation_id', None) + + +class MigrationReportResult(msrest.serialization.Model): + """Migration validation report result, contains the url for downloading the generated report. + + :param id: Migration validation result identifier. + :type id: str + :param report_url: The url of the report. + :type report_url: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'report_url': {'key': 'reportUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationReportResult, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.report_url = kwargs.get('report_url', None) + + +class MigrationStatusDetails(msrest.serialization.Model): + """Detailed status of current migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar migration_state: Current State of Migration. + :vartype migration_state: str + :ivar full_backup_set_info: Details of full backup set. + :vartype full_backup_set_info: ~azure.mgmt.datamigration.models.SqlBackupSetInfo + :ivar last_restored_backup_set_info: Last applied backup set information. + :vartype last_restored_backup_set_info: ~azure.mgmt.datamigration.models.SqlBackupSetInfo + :ivar active_backup_sets: Backup sets that are currently active. + :vartype active_backup_sets: list[~azure.mgmt.datamigration.models.SqlBackupSetInfo] + :ivar invalid_files: Files that are not valid backup files. + :vartype invalid_files: list[str] + :ivar blob_container_name: Name of blob container. + :vartype blob_container_name: str + :ivar is_full_backup_restored: Whether full backup has been applied to the target database or + not. + :vartype is_full_backup_restored: bool + :ivar restore_blocking_reason: Restore blocking reason, if any. + :vartype restore_blocking_reason: str + :ivar complete_restore_error_message: Complete restore error message, if any. + :vartype complete_restore_error_message: str + :ivar file_upload_blocking_errors: File upload blocking errors, if any. + :vartype file_upload_blocking_errors: list[str] + :ivar current_restoring_filename: File name that is currently being restored. + :vartype current_restoring_filename: str + :ivar last_restored_filename: Last restored file name. + :vartype last_restored_filename: str + :ivar pending_log_backups_count: Total pending log backups. + :vartype pending_log_backups_count: int + """ + + _validation = { + 'migration_state': {'readonly': True}, + 'full_backup_set_info': {'readonly': True}, + 'last_restored_backup_set_info': {'readonly': True}, + 'active_backup_sets': {'readonly': True}, + 'invalid_files': {'readonly': True}, + 'blob_container_name': {'readonly': True}, + 'is_full_backup_restored': {'readonly': True}, + 'restore_blocking_reason': {'readonly': True}, + 'complete_restore_error_message': {'readonly': True}, + 'file_upload_blocking_errors': {'readonly': True}, + 'current_restoring_filename': {'readonly': True}, + 'last_restored_filename': {'readonly': True}, + 'pending_log_backups_count': {'readonly': True}, + } + + _attribute_map = { + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'full_backup_set_info': {'key': 'fullBackupSetInfo', 'type': 'SqlBackupSetInfo'}, + 'last_restored_backup_set_info': {'key': 'lastRestoredBackupSetInfo', 'type': 'SqlBackupSetInfo'}, + 'active_backup_sets': {'key': 'activeBackupSets', 'type': '[SqlBackupSetInfo]'}, + 'invalid_files': {'key': 'invalidFiles', 'type': '[str]'}, + 'blob_container_name': {'key': 'blobContainerName', 'type': 'str'}, + 'is_full_backup_restored': {'key': 'isFullBackupRestored', 'type': 'bool'}, + 'restore_blocking_reason': {'key': 'restoreBlockingReason', 'type': 'str'}, + 'complete_restore_error_message': {'key': 'completeRestoreErrorMessage', 'type': 'str'}, + 'file_upload_blocking_errors': {'key': 'fileUploadBlockingErrors', 'type': '[str]'}, + 'current_restoring_filename': {'key': 'currentRestoringFilename', 'type': 'str'}, + 'last_restored_filename': {'key': 'lastRestoredFilename', 'type': 'str'}, + 'pending_log_backups_count': {'key': 'pendingLogBackupsCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationStatusDetails, self).__init__(**kwargs) + self.migration_state = None + self.full_backup_set_info = None + self.last_restored_backup_set_info = None + self.active_backup_sets = None + self.invalid_files = None + self.blob_container_name = None + self.is_full_backup_restored = None + self.restore_blocking_reason = None + self.complete_restore_error_message = None + self.file_upload_blocking_errors = None + self.current_restoring_filename = None + self.last_restored_filename = None + self.pending_log_backups_count = None + + +class MigrationTableMetadata(msrest.serialization.Model): + """Metadata for tables selected in migration project. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar source_table_name: Source table name. + :vartype source_table_name: str + :ivar target_table_name: Target table name. + :vartype target_table_name: str + """ + + _validation = { + 'source_table_name': {'readonly': True}, + 'target_table_name': {'readonly': True}, + } + + _attribute_map = { + 'source_table_name': {'key': 'sourceTableName', 'type': 'str'}, + 'target_table_name': {'key': 'targetTableName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationTableMetadata, self).__init__(**kwargs) + self.source_table_name = None + self.target_table_name = None + + +class MigrationValidationDatabaseSummaryResult(msrest.serialization.Model): + """Migration Validation Database level summary result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar migration_id: Migration Identifier. + :vartype migration_id: str + :ivar source_database_name: Name of the source database. + :vartype source_database_name: str + :ivar target_database_name: Name of the target database. + :vartype target_database_name: str + :ivar started_on: Validation start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Validation end time. + :vartype ended_on: ~datetime.datetime + :ivar status: Current status of validation at the database level. Possible values include: + "Default", "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", + "Stopped", "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'source_database_name': {'readonly': True}, + 'target_database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationValidationDatabaseSummaryResult, self).__init__(**kwargs) + self.id = None + self.migration_id = None + self.source_database_name = None + self.target_database_name = None + self.started_on = None + self.ended_on = None + self.status = None + + +class MigrationValidationOptions(msrest.serialization.Model): + """Types of validations to run after the migration. + + :param enable_schema_validation: Allows to compare the schema information between source and + target. + :type enable_schema_validation: bool + :param enable_data_integrity_validation: Allows to perform a checksum based data integrity + validation between source and target for the selected database / tables . + :type enable_data_integrity_validation: bool + :param enable_query_analysis_validation: Allows to perform a quick and intelligent query + analysis by retrieving queries from the source database and executes them in the target. The + result will have execution statistics for executions in source and target databases for the + extracted queries. + :type enable_query_analysis_validation: bool + """ + + _attribute_map = { + 'enable_schema_validation': {'key': 'enableSchemaValidation', 'type': 'bool'}, + 'enable_data_integrity_validation': {'key': 'enableDataIntegrityValidation', 'type': 'bool'}, + 'enable_query_analysis_validation': {'key': 'enableQueryAnalysisValidation', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationValidationOptions, self).__init__(**kwargs) + self.enable_schema_validation = kwargs.get('enable_schema_validation', None) + self.enable_data_integrity_validation = kwargs.get('enable_data_integrity_validation', None) + self.enable_query_analysis_validation = kwargs.get('enable_query_analysis_validation', None) + + +class MiSqlConnectionInfo(ConnectionInfo): + """Properties required to create a connection to Azure SQL database Managed instance. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param managed_instance_resource_id: Required. Resource id for Azure SQL database Managed + instance. + :type managed_instance_resource_id: str + """ + + _validation = { + 'type': {'required': True}, + 'managed_instance_resource_id': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'managed_instance_resource_id': {'key': 'managedInstanceResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MiSqlConnectionInfo, self).__init__(**kwargs) + self.type = 'MiSqlConnectionInfo' # type: str + self.managed_instance_resource_id = kwargs['managed_instance_resource_id'] + + +class MongoDbCancelCommand(CommandProperties): + """Properties for the command that cancels a migration in whole or in part. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MongoDbCommandInput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MongoDbCommandInput'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbCancelCommand, self).__init__(**kwargs) + self.command_type = 'cancel' # type: str + self.input = kwargs.get('input', None) + + +class MongoDbClusterInfo(msrest.serialization.Model): + """Describes a MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param databases: Required. A list of non-system databases in the cluster. + :type databases: list[~azure.mgmt.datamigration.models.MongoDbDatabaseInfo] + :param supports_sharding: Required. Whether the cluster supports sharded collections. + :type supports_sharding: bool + :param type: Required. The type of data source. Possible values include: "BlobContainer", + "CosmosDb", "MongoDb". + :type type: str or ~azure.mgmt.datamigration.models.MongoDbClusterType + :param version: Required. The version of the data source in the form x.y.z (e.g. 3.6.7). Not + used if Type is BlobContainer. + :type version: str + """ + + _validation = { + 'databases': {'required': True}, + 'supports_sharding': {'required': True}, + 'type': {'required': True}, + 'version': {'required': True}, + } + + _attribute_map = { + 'databases': {'key': 'databases', 'type': '[MongoDbDatabaseInfo]'}, + 'supports_sharding': {'key': 'supportsSharding', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbClusterInfo, self).__init__(**kwargs) + self.databases = kwargs['databases'] + self.supports_sharding = kwargs['supports_sharding'] + self.type = kwargs['type'] + self.version = kwargs['version'] + + +class MongoDbObjectInfo(msrest.serialization.Model): + """Describes a database or collection within a MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param average_document_size: Required. The average document size, or -1 if the average size is + unknown. + :type average_document_size: long + :param data_size: Required. The estimated total data size, in bytes, or -1 if the size is + unknown. + :type data_size: long + :param document_count: Required. The estimated total number of documents, or -1 if the document + count is unknown. + :type document_count: long + :param name: Required. The unqualified name of the database or collection. + :type name: str + :param qualified_name: Required. The qualified name of the database or collection. For a + collection, this is the database-qualified name. + :type qualified_name: str + """ + + _validation = { + 'average_document_size': {'required': True}, + 'data_size': {'required': True}, + 'document_count': {'required': True}, + 'name': {'required': True}, + 'qualified_name': {'required': True}, + } + + _attribute_map = { + 'average_document_size': {'key': 'averageDocumentSize', 'type': 'long'}, + 'data_size': {'key': 'dataSize', 'type': 'long'}, + 'document_count': {'key': 'documentCount', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbObjectInfo, self).__init__(**kwargs) + self.average_document_size = kwargs['average_document_size'] + self.data_size = kwargs['data_size'] + self.document_count = kwargs['document_count'] + self.name = kwargs['name'] + self.qualified_name = kwargs['qualified_name'] + + +class MongoDbCollectionInfo(MongoDbObjectInfo): + """Describes a supported collection within a MongoDB database. + + All required parameters must be populated in order to send to Azure. + + :param average_document_size: Required. The average document size, or -1 if the average size is + unknown. + :type average_document_size: long + :param data_size: Required. The estimated total data size, in bytes, or -1 if the size is + unknown. + :type data_size: long + :param document_count: Required. The estimated total number of documents, or -1 if the document + count is unknown. + :type document_count: long + :param name: Required. The unqualified name of the database or collection. + :type name: str + :param qualified_name: Required. The qualified name of the database or collection. For a + collection, this is the database-qualified name. + :type qualified_name: str + :param database_name: Required. The name of the database containing the collection. + :type database_name: str + :param is_capped: Required. Whether the collection is a capped collection (i.e. whether it has + a fixed size and acts like a circular buffer). + :type is_capped: bool + :param is_system_collection: Required. Whether the collection is system collection. + :type is_system_collection: bool + :param is_view: Required. Whether the collection is a view of another collection. + :type is_view: bool + :param shard_key: The shard key on the collection, or null if the collection is not sharded. + :type shard_key: ~azure.mgmt.datamigration.models.MongoDbShardKeyInfo + :param supports_sharding: Required. Whether the database has sharding enabled. Note that the + migration task will enable sharding on the target if necessary. + :type supports_sharding: bool + :param view_of: The name of the collection that this is a view of, if IsView is true. + :type view_of: str + """ + + _validation = { + 'average_document_size': {'required': True}, + 'data_size': {'required': True}, + 'document_count': {'required': True}, + 'name': {'required': True}, + 'qualified_name': {'required': True}, + 'database_name': {'required': True}, + 'is_capped': {'required': True}, + 'is_system_collection': {'required': True}, + 'is_view': {'required': True}, + 'supports_sharding': {'required': True}, + } + + _attribute_map = { + 'average_document_size': {'key': 'averageDocumentSize', 'type': 'long'}, + 'data_size': {'key': 'dataSize', 'type': 'long'}, + 'document_count': {'key': 'documentCount', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'is_capped': {'key': 'isCapped', 'type': 'bool'}, + 'is_system_collection': {'key': 'isSystemCollection', 'type': 'bool'}, + 'is_view': {'key': 'isView', 'type': 'bool'}, + 'shard_key': {'key': 'shardKey', 'type': 'MongoDbShardKeyInfo'}, + 'supports_sharding': {'key': 'supportsSharding', 'type': 'bool'}, + 'view_of': {'key': 'viewOf', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbCollectionInfo, self).__init__(**kwargs) + self.database_name = kwargs['database_name'] + self.is_capped = kwargs['is_capped'] + self.is_system_collection = kwargs['is_system_collection'] + self.is_view = kwargs['is_view'] + self.shard_key = kwargs.get('shard_key', None) + self.supports_sharding = kwargs['supports_sharding'] + self.view_of = kwargs.get('view_of', None) + + +class MongoDbProgress(msrest.serialization.Model): + """Base class for MongoDB migration outputs. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MongoDbCollectionProgress, MongoDbDatabaseProgress, MongoDbMigrationProgress. + + All required parameters must be populated in order to send to Azure. + + :param bytes_copied: Required. The number of document bytes copied during the Copying stage. + :type bytes_copied: long + :param documents_copied: Required. The number of documents copied during the Copying stage. + :type documents_copied: long + :param elapsed_time: Required. The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. + TimeSpan format). + :type elapsed_time: str + :param errors: Required. The errors and warnings that have occurred for the current object. The + keys are the error codes. + :type errors: dict[str, ~azure.mgmt.datamigration.models.MongoDbError] + :param events_pending: Required. The number of oplog events awaiting replay. + :type events_pending: long + :param events_replayed: Required. The number of oplog events replayed so far. + :type events_replayed: long + :param last_event_time: The timestamp of the last oplog event received, or null if no oplog + event has been received yet. + :type last_event_time: ~datetime.datetime + :param last_replay_time: The timestamp of the last oplog event replayed, or null if no oplog + event has been replayed yet. + :type last_replay_time: ~datetime.datetime + :param name: The name of the progress object. For a collection, this is the unqualified + collection name. For a database, this is the database name. For the overall migration, this is + null. + :type name: str + :param qualified_name: The qualified name of the progress object. For a collection, this is the + database-qualified name. For a database, this is the database name. For the overall migration, + this is null. + :type qualified_name: str + :param result_type: Required. The type of progress object.Constant filled by server. Possible + values include: "Migration", "Database", "Collection". + :type result_type: str or ~azure.mgmt.datamigration.models.MongoDbProgressResultType + :param state: Required. Possible values include: "NotStarted", "ValidatingInput", + "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", + "Complete", "Canceled", "Failed". + :type state: str or ~azure.mgmt.datamigration.models.MongoDbMigrationState + :param total_bytes: Required. The total number of document bytes on the source at the beginning + of the Copying stage, or -1 if the total size was unknown. + :type total_bytes: long + :param total_documents: Required. The total number of documents on the source at the beginning + of the Copying stage, or -1 if the total count was unknown. + :type total_documents: long + """ + + _validation = { + 'bytes_copied': {'required': True}, + 'documents_copied': {'required': True}, + 'elapsed_time': {'required': True}, + 'errors': {'required': True}, + 'events_pending': {'required': True}, + 'events_replayed': {'required': True}, + 'result_type': {'required': True}, + 'state': {'required': True}, + 'total_bytes': {'required': True}, + 'total_documents': {'required': True}, + } + + _attribute_map = { + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'documents_copied': {'key': 'documentsCopied', 'type': 'long'}, + 'elapsed_time': {'key': 'elapsedTime', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '{MongoDbError}'}, + 'events_pending': {'key': 'eventsPending', 'type': 'long'}, + 'events_replayed': {'key': 'eventsReplayed', 'type': 'long'}, + 'last_event_time': {'key': 'lastEventTime', 'type': 'iso-8601'}, + 'last_replay_time': {'key': 'lastReplayTime', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + 'total_documents': {'key': 'totalDocuments', 'type': 'long'}, + } + + _subtype_map = { + 'result_type': {'Collection': 'MongoDbCollectionProgress', 'Database': 'MongoDbDatabaseProgress', 'Migration': 'MongoDbMigrationProgress'} + } + + def __init__( + self, + **kwargs + ): + super(MongoDbProgress, self).__init__(**kwargs) + self.bytes_copied = kwargs['bytes_copied'] + self.documents_copied = kwargs['documents_copied'] + self.elapsed_time = kwargs['elapsed_time'] + self.errors = kwargs['errors'] + self.events_pending = kwargs['events_pending'] + self.events_replayed = kwargs['events_replayed'] + self.last_event_time = kwargs.get('last_event_time', None) + self.last_replay_time = kwargs.get('last_replay_time', None) + self.name = kwargs.get('name', None) + self.qualified_name = kwargs.get('qualified_name', None) + self.result_type = None # type: Optional[str] + self.state = kwargs['state'] + self.total_bytes = kwargs['total_bytes'] + self.total_documents = kwargs['total_documents'] + + +class MongoDbCollectionProgress(MongoDbProgress): + """Describes the progress of a collection. + + All required parameters must be populated in order to send to Azure. + + :param bytes_copied: Required. The number of document bytes copied during the Copying stage. + :type bytes_copied: long + :param documents_copied: Required. The number of documents copied during the Copying stage. + :type documents_copied: long + :param elapsed_time: Required. The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. + TimeSpan format). + :type elapsed_time: str + :param errors: Required. The errors and warnings that have occurred for the current object. The + keys are the error codes. + :type errors: dict[str, ~azure.mgmt.datamigration.models.MongoDbError] + :param events_pending: Required. The number of oplog events awaiting replay. + :type events_pending: long + :param events_replayed: Required. The number of oplog events replayed so far. + :type events_replayed: long + :param last_event_time: The timestamp of the last oplog event received, or null if no oplog + event has been received yet. + :type last_event_time: ~datetime.datetime + :param last_replay_time: The timestamp of the last oplog event replayed, or null if no oplog + event has been replayed yet. + :type last_replay_time: ~datetime.datetime + :param name: The name of the progress object. For a collection, this is the unqualified + collection name. For a database, this is the database name. For the overall migration, this is + null. + :type name: str + :param qualified_name: The qualified name of the progress object. For a collection, this is the + database-qualified name. For a database, this is the database name. For the overall migration, + this is null. + :type qualified_name: str + :param result_type: Required. The type of progress object.Constant filled by server. Possible + values include: "Migration", "Database", "Collection". + :type result_type: str or ~azure.mgmt.datamigration.models.MongoDbProgressResultType + :param state: Required. Possible values include: "NotStarted", "ValidatingInput", + "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", + "Complete", "Canceled", "Failed". + :type state: str or ~azure.mgmt.datamigration.models.MongoDbMigrationState + :param total_bytes: Required. The total number of document bytes on the source at the beginning + of the Copying stage, or -1 if the total size was unknown. + :type total_bytes: long + :param total_documents: Required. The total number of documents on the source at the beginning + of the Copying stage, or -1 if the total count was unknown. + :type total_documents: long + """ + + _validation = { + 'bytes_copied': {'required': True}, + 'documents_copied': {'required': True}, + 'elapsed_time': {'required': True}, + 'errors': {'required': True}, + 'events_pending': {'required': True}, + 'events_replayed': {'required': True}, + 'result_type': {'required': True}, + 'state': {'required': True}, + 'total_bytes': {'required': True}, + 'total_documents': {'required': True}, + } + + _attribute_map = { + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'documents_copied': {'key': 'documentsCopied', 'type': 'long'}, + 'elapsed_time': {'key': 'elapsedTime', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '{MongoDbError}'}, + 'events_pending': {'key': 'eventsPending', 'type': 'long'}, + 'events_replayed': {'key': 'eventsReplayed', 'type': 'long'}, + 'last_event_time': {'key': 'lastEventTime', 'type': 'iso-8601'}, + 'last_replay_time': {'key': 'lastReplayTime', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + 'total_documents': {'key': 'totalDocuments', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbCollectionProgress, self).__init__(**kwargs) + self.result_type = 'Collection' # type: str + + +class MongoDbCollectionSettings(msrest.serialization.Model): + """Describes how an individual MongoDB collection should be migrated. + + :param can_delete: Whether the migrator is allowed to drop the target collection in the course + of performing a migration. The default is true. + :type can_delete: bool + :param shard_key: Describes a MongoDB shard key. + :type shard_key: ~azure.mgmt.datamigration.models.MongoDbShardKeySetting + :param target_r_us: The RUs that should be configured on a CosmosDB target, or null to use the + default. This has no effect on non-CosmosDB targets. + :type target_r_us: int + """ + + _attribute_map = { + 'can_delete': {'key': 'canDelete', 'type': 'bool'}, + 'shard_key': {'key': 'shardKey', 'type': 'MongoDbShardKeySetting'}, + 'target_r_us': {'key': 'targetRUs', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbCollectionSettings, self).__init__(**kwargs) + self.can_delete = kwargs.get('can_delete', None) + self.shard_key = kwargs.get('shard_key', None) + self.target_r_us = kwargs.get('target_r_us', None) + + +class MongoDbCommandInput(msrest.serialization.Model): + """Describes the input to the 'cancel' and 'restart' MongoDB migration commands. + + :param object_name: The qualified name of a database or collection to act upon, or null to act + upon the entire migration. + :type object_name: str + """ + + _attribute_map = { + 'object_name': {'key': 'objectName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbCommandInput, self).__init__(**kwargs) + self.object_name = kwargs.get('object_name', None) + + +class MongoDbConnectionInfo(ConnectionInfo): + """Describes a connection to a MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param connection_string: Required. A MongoDB connection string or blob container URL. The user + name and password can be specified here or in the userName and password properties. + :type connection_string: str + :param data_source: Data source. + :type data_source: str + :param encrypt_connection: Whether to encrypt the connection. + :type encrypt_connection: bool + :param server_brand_version: server brand version. + :type server_brand_version: str + :param enforce_ssl: + :type enforce_ssl: bool + :param port: port for server. + :type port: int + :param additional_settings: Additional connection settings. + :type additional_settings: str + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'server_brand_version': {'key': 'serverBrandVersion', 'type': 'str'}, + 'enforce_ssl': {'key': 'enforceSSL', 'type': 'bool'}, + 'port': {'key': 'port', 'type': 'int'}, + 'additional_settings': {'key': 'additionalSettings', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbConnectionInfo, self).__init__(**kwargs) + self.type = 'MongoDbConnectionInfo' # type: str + self.connection_string = kwargs['connection_string'] + self.data_source = kwargs.get('data_source', None) + self.encrypt_connection = kwargs.get('encrypt_connection', None) + self.server_brand_version = kwargs.get('server_brand_version', None) + self.enforce_ssl = kwargs.get('enforce_ssl', None) + self.port = kwargs.get('port', None) + self.additional_settings = kwargs.get('additional_settings', None) + + +class MongoDbDatabaseInfo(MongoDbObjectInfo): + """Describes a database within a MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param average_document_size: Required. The average document size, or -1 if the average size is + unknown. + :type average_document_size: long + :param data_size: Required. The estimated total data size, in bytes, or -1 if the size is + unknown. + :type data_size: long + :param document_count: Required. The estimated total number of documents, or -1 if the document + count is unknown. + :type document_count: long + :param name: Required. The unqualified name of the database or collection. + :type name: str + :param qualified_name: Required. The qualified name of the database or collection. For a + collection, this is the database-qualified name. + :type qualified_name: str + :param collections: Required. A list of supported collections in a MongoDB database. + :type collections: list[~azure.mgmt.datamigration.models.MongoDbCollectionInfo] + :param supports_sharding: Required. Whether the database has sharding enabled. Note that the + migration task will enable sharding on the target if necessary. + :type supports_sharding: bool + """ + + _validation = { + 'average_document_size': {'required': True}, + 'data_size': {'required': True}, + 'document_count': {'required': True}, + 'name': {'required': True}, + 'qualified_name': {'required': True}, + 'collections': {'required': True}, + 'supports_sharding': {'required': True}, + } + + _attribute_map = { + 'average_document_size': {'key': 'averageDocumentSize', 'type': 'long'}, + 'data_size': {'key': 'dataSize', 'type': 'long'}, + 'document_count': {'key': 'documentCount', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'collections': {'key': 'collections', 'type': '[MongoDbCollectionInfo]'}, + 'supports_sharding': {'key': 'supportsSharding', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbDatabaseInfo, self).__init__(**kwargs) + self.collections = kwargs['collections'] + self.supports_sharding = kwargs['supports_sharding'] + + +class MongoDbDatabaseProgress(MongoDbProgress): + """Describes the progress of a database. + + All required parameters must be populated in order to send to Azure. + + :param bytes_copied: Required. The number of document bytes copied during the Copying stage. + :type bytes_copied: long + :param documents_copied: Required. The number of documents copied during the Copying stage. + :type documents_copied: long + :param elapsed_time: Required. The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. + TimeSpan format). + :type elapsed_time: str + :param errors: Required. The errors and warnings that have occurred for the current object. The + keys are the error codes. + :type errors: dict[str, ~azure.mgmt.datamigration.models.MongoDbError] + :param events_pending: Required. The number of oplog events awaiting replay. + :type events_pending: long + :param events_replayed: Required. The number of oplog events replayed so far. + :type events_replayed: long + :param last_event_time: The timestamp of the last oplog event received, or null if no oplog + event has been received yet. + :type last_event_time: ~datetime.datetime + :param last_replay_time: The timestamp of the last oplog event replayed, or null if no oplog + event has been replayed yet. + :type last_replay_time: ~datetime.datetime + :param name: The name of the progress object. For a collection, this is the unqualified + collection name. For a database, this is the database name. For the overall migration, this is + null. + :type name: str + :param qualified_name: The qualified name of the progress object. For a collection, this is the + database-qualified name. For a database, this is the database name. For the overall migration, + this is null. + :type qualified_name: str + :param result_type: Required. The type of progress object.Constant filled by server. Possible + values include: "Migration", "Database", "Collection". + :type result_type: str or ~azure.mgmt.datamigration.models.MongoDbProgressResultType + :param state: Required. Possible values include: "NotStarted", "ValidatingInput", + "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", + "Complete", "Canceled", "Failed". + :type state: str or ~azure.mgmt.datamigration.models.MongoDbMigrationState + :param total_bytes: Required. The total number of document bytes on the source at the beginning + of the Copying stage, or -1 if the total size was unknown. + :type total_bytes: long + :param total_documents: Required. The total number of documents on the source at the beginning + of the Copying stage, or -1 if the total count was unknown. + :type total_documents: long + :param collections: The progress of the collections in the database. The keys are the + unqualified names of the collections. + :type collections: dict[str, ~azure.mgmt.datamigration.models.MongoDbProgress] + """ + + _validation = { + 'bytes_copied': {'required': True}, + 'documents_copied': {'required': True}, + 'elapsed_time': {'required': True}, + 'errors': {'required': True}, + 'events_pending': {'required': True}, + 'events_replayed': {'required': True}, + 'result_type': {'required': True}, + 'state': {'required': True}, + 'total_bytes': {'required': True}, + 'total_documents': {'required': True}, + } + + _attribute_map = { + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'documents_copied': {'key': 'documentsCopied', 'type': 'long'}, + 'elapsed_time': {'key': 'elapsedTime', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '{MongoDbError}'}, + 'events_pending': {'key': 'eventsPending', 'type': 'long'}, + 'events_replayed': {'key': 'eventsReplayed', 'type': 'long'}, + 'last_event_time': {'key': 'lastEventTime', 'type': 'iso-8601'}, + 'last_replay_time': {'key': 'lastReplayTime', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + 'total_documents': {'key': 'totalDocuments', 'type': 'long'}, + 'collections': {'key': 'collections', 'type': '{MongoDbProgress}'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbDatabaseProgress, self).__init__(**kwargs) + self.result_type = 'Database' # type: str + self.collections = kwargs.get('collections', None) + + +class MongoDbDatabaseSettings(msrest.serialization.Model): + """Describes how an individual MongoDB database should be migrated. + + All required parameters must be populated in order to send to Azure. + + :param collections: Required. The collections on the source database to migrate to the target. + The keys are the unqualified names of the collections. + :type collections: dict[str, ~azure.mgmt.datamigration.models.MongoDbCollectionSettings] + :param target_r_us: The RUs that should be configured on a CosmosDB target, or null to use the + default, or 0 if throughput should not be provisioned for the database. This has no effect on + non-CosmosDB targets. + :type target_r_us: int + """ + + _validation = { + 'collections': {'required': True}, + } + + _attribute_map = { + 'collections': {'key': 'collections', 'type': '{MongoDbCollectionSettings}'}, + 'target_r_us': {'key': 'targetRUs', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbDatabaseSettings, self).__init__(**kwargs) + self.collections = kwargs['collections'] + self.target_r_us = kwargs.get('target_r_us', None) + + +class MongoDbError(msrest.serialization.Model): + """Describes an error or warning that occurred during a MongoDB migration. + + :param code: The non-localized, machine-readable code that describes the error or warning. + :type code: str + :param count: The number of times the error or warning has occurred. + :type count: int + :param message: The localized, human-readable message that describes the error or warning. + :type message: str + :param type: The type of error or warning. Possible values include: "Error", "ValidationError", + "Warning". + :type type: str or ~azure.mgmt.datamigration.models.MongoDbErrorType + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'message': {'key': 'message', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.count = kwargs.get('count', None) + self.message = kwargs.get('message', None) + self.type = kwargs.get('type', None) + + +class MongoDbFinishCommand(CommandProperties): + """Properties for the command that finishes a migration in whole or in part. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MongoDbFinishCommandInput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MongoDbFinishCommandInput'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbFinishCommand, self).__init__(**kwargs) + self.command_type = 'finish' # type: str + self.input = kwargs.get('input', None) + + +class MongoDbFinishCommandInput(MongoDbCommandInput): + """Describes the input to the 'finish' MongoDB migration command. + + All required parameters must be populated in order to send to Azure. + + :param object_name: The qualified name of a database or collection to act upon, or null to act + upon the entire migration. + :type object_name: str + :param immediate: Required. If true, replication for the affected objects will be stopped + immediately. If false, the migrator will finish replaying queued events before finishing the + replication. + :type immediate: bool + """ + + _validation = { + 'immediate': {'required': True}, + } + + _attribute_map = { + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'immediate': {'key': 'immediate', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbFinishCommandInput, self).__init__(**kwargs) + self.immediate = kwargs['immediate'] + + +class MongoDbMigrationProgress(MongoDbProgress): + """Describes the progress of the overall migration. + + All required parameters must be populated in order to send to Azure. + + :param bytes_copied: Required. The number of document bytes copied during the Copying stage. + :type bytes_copied: long + :param documents_copied: Required. The number of documents copied during the Copying stage. + :type documents_copied: long + :param elapsed_time: Required. The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. + TimeSpan format). + :type elapsed_time: str + :param errors: Required. The errors and warnings that have occurred for the current object. The + keys are the error codes. + :type errors: dict[str, ~azure.mgmt.datamigration.models.MongoDbError] + :param events_pending: Required. The number of oplog events awaiting replay. + :type events_pending: long + :param events_replayed: Required. The number of oplog events replayed so far. + :type events_replayed: long + :param last_event_time: The timestamp of the last oplog event received, or null if no oplog + event has been received yet. + :type last_event_time: ~datetime.datetime + :param last_replay_time: The timestamp of the last oplog event replayed, or null if no oplog + event has been replayed yet. + :type last_replay_time: ~datetime.datetime + :param name: The name of the progress object. For a collection, this is the unqualified + collection name. For a database, this is the database name. For the overall migration, this is + null. + :type name: str + :param qualified_name: The qualified name of the progress object. For a collection, this is the + database-qualified name. For a database, this is the database name. For the overall migration, + this is null. + :type qualified_name: str + :param result_type: Required. The type of progress object.Constant filled by server. Possible + values include: "Migration", "Database", "Collection". + :type result_type: str or ~azure.mgmt.datamigration.models.MongoDbProgressResultType + :param state: Required. Possible values include: "NotStarted", "ValidatingInput", + "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", + "Complete", "Canceled", "Failed". + :type state: str or ~azure.mgmt.datamigration.models.MongoDbMigrationState + :param total_bytes: Required. The total number of document bytes on the source at the beginning + of the Copying stage, or -1 if the total size was unknown. + :type total_bytes: long + :param total_documents: Required. The total number of documents on the source at the beginning + of the Copying stage, or -1 if the total count was unknown. + :type total_documents: long + :param databases: The progress of the databases in the migration. The keys are the names of the + databases. + :type databases: dict[str, ~azure.mgmt.datamigration.models.MongoDbDatabaseProgress] + """ + + _validation = { + 'bytes_copied': {'required': True}, + 'documents_copied': {'required': True}, + 'elapsed_time': {'required': True}, + 'errors': {'required': True}, + 'events_pending': {'required': True}, + 'events_replayed': {'required': True}, + 'result_type': {'required': True}, + 'state': {'required': True}, + 'total_bytes': {'required': True}, + 'total_documents': {'required': True}, + } + + _attribute_map = { + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'documents_copied': {'key': 'documentsCopied', 'type': 'long'}, + 'elapsed_time': {'key': 'elapsedTime', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '{MongoDbError}'}, + 'events_pending': {'key': 'eventsPending', 'type': 'long'}, + 'events_replayed': {'key': 'eventsReplayed', 'type': 'long'}, + 'last_event_time': {'key': 'lastEventTime', 'type': 'iso-8601'}, + 'last_replay_time': {'key': 'lastReplayTime', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + 'total_documents': {'key': 'totalDocuments', 'type': 'long'}, + 'databases': {'key': 'databases', 'type': '{MongoDbDatabaseProgress}'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbMigrationProgress, self).__init__(**kwargs) + self.result_type = 'Migration' # type: str + self.databases = kwargs.get('databases', None) + + +class MongoDbMigrationSettings(msrest.serialization.Model): + """Describes how a MongoDB data migration should be performed. + + All required parameters must be populated in order to send to Azure. + + :param boost_r_us: The RU limit on a CosmosDB target that collections will be temporarily + increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 + to use the default boost (which is generally the maximum), or null to not boost the RUs. This + setting has no effect on non-CosmosDB targets. + :type boost_r_us: int + :param databases: Required. The databases on the source cluster to migrate to the target. The + keys are the names of the databases. + :type databases: dict[str, ~azure.mgmt.datamigration.models.MongoDbDatabaseSettings] + :param replication: Describes how changes will be replicated from the source to the target. The + default is OneTime. Possible values include: "Disabled", "OneTime", "Continuous". + :type replication: str or ~azure.mgmt.datamigration.models.MongoDbReplication + :param source: Required. Settings used to connect to the source cluster. + :type source: ~azure.mgmt.datamigration.models.MongoDbConnectionInfo + :param target: Required. Settings used to connect to the target cluster. + :type target: ~azure.mgmt.datamigration.models.MongoDbConnectionInfo + :param throttling: Settings used to limit the resource usage of the migration. + :type throttling: ~azure.mgmt.datamigration.models.MongoDbThrottlingSettings + """ + + _validation = { + 'databases': {'required': True}, + 'source': {'required': True}, + 'target': {'required': True}, + } + + _attribute_map = { + 'boost_r_us': {'key': 'boostRUs', 'type': 'int'}, + 'databases': {'key': 'databases', 'type': '{MongoDbDatabaseSettings}'}, + 'replication': {'key': 'replication', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'MongoDbConnectionInfo'}, + 'target': {'key': 'target', 'type': 'MongoDbConnectionInfo'}, + 'throttling': {'key': 'throttling', 'type': 'MongoDbThrottlingSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbMigrationSettings, self).__init__(**kwargs) + self.boost_r_us = kwargs.get('boost_r_us', None) + self.databases = kwargs['databases'] + self.replication = kwargs.get('replication', None) + self.source = kwargs['source'] + self.target = kwargs['target'] + self.throttling = kwargs.get('throttling', None) + + +class MongoDbRestartCommand(CommandProperties): + """Properties for the command that restarts a migration in whole or in part. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MongoDbCommandInput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MongoDbCommandInput'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbRestartCommand, self).__init__(**kwargs) + self.command_type = 'restart' # type: str + self.input = kwargs.get('input', None) + + +class MongoDbShardKeyField(msrest.serialization.Model): + """Describes a field reference within a MongoDB shard key. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the field. + :type name: str + :param order: Required. The field ordering. Possible values include: "Forward", "Reverse", + "Hashed". + :type order: str or ~azure.mgmt.datamigration.models.MongoDbShardKeyOrder + """ + + _validation = { + 'name': {'required': True}, + 'order': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbShardKeyField, self).__init__(**kwargs) + self.name = kwargs['name'] + self.order = kwargs['order'] + + +class MongoDbShardKeyInfo(msrest.serialization.Model): + """Describes a MongoDB shard key. + + All required parameters must be populated in order to send to Azure. + + :param fields: Required. The fields within the shard key. + :type fields: list[~azure.mgmt.datamigration.models.MongoDbShardKeyField] + :param is_unique: Required. Whether the shard key is unique. + :type is_unique: bool + """ + + _validation = { + 'fields': {'required': True}, + 'is_unique': {'required': True}, + } + + _attribute_map = { + 'fields': {'key': 'fields', 'type': '[MongoDbShardKeyField]'}, + 'is_unique': {'key': 'isUnique', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbShardKeyInfo, self).__init__(**kwargs) + self.fields = kwargs['fields'] + self.is_unique = kwargs['is_unique'] + + +class MongoDbShardKeySetting(msrest.serialization.Model): + """Describes a MongoDB shard key. + + All required parameters must be populated in order to send to Azure. + + :param fields: Required. The fields within the shard key. + :type fields: list[~azure.mgmt.datamigration.models.MongoDbShardKeyField] + :param is_unique: Required. Whether the shard key is unique. + :type is_unique: bool + """ + + _validation = { + 'fields': {'required': True}, + 'is_unique': {'required': True}, + } + + _attribute_map = { + 'fields': {'key': 'fields', 'type': '[MongoDbShardKeyField]'}, + 'is_unique': {'key': 'isUnique', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbShardKeySetting, self).__init__(**kwargs) + self.fields = kwargs['fields'] + self.is_unique = kwargs['is_unique'] + + +class MongoDbThrottlingSettings(msrest.serialization.Model): + """Specifies resource limits for the migration. + + :param min_free_cpu: The percentage of CPU time that the migrator will try to avoid using, from + 0 to 100. + :type min_free_cpu: int + :param min_free_memory_mb: The number of megabytes of RAM that the migrator will try to avoid + using. + :type min_free_memory_mb: int + :param max_parallelism: The maximum number of work items (e.g. collection copies) that will be + processed in parallel. + :type max_parallelism: int + """ + + _attribute_map = { + 'min_free_cpu': {'key': 'minFreeCpu', 'type': 'int'}, + 'min_free_memory_mb': {'key': 'minFreeMemoryMb', 'type': 'int'}, + 'max_parallelism': {'key': 'maxParallelism', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbThrottlingSettings, self).__init__(**kwargs) + self.min_free_cpu = kwargs.get('min_free_cpu', None) + self.min_free_memory_mb = kwargs.get('min_free_memory_mb', None) + self.max_parallelism = kwargs.get('max_parallelism', None) + + +class MySqlConnectionInfo(ConnectionInfo): + """Information for connecting to MySQL server. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param server_name: Required. Name of the server. + :type server_name: str + :param data_source: Data source. + :type data_source: str + :param port: Required. Port for Server. + :type port: int + :param encrypt_connection: Whether to encrypt the connection. + :type encrypt_connection: bool + """ + + _validation = { + 'type': {'required': True}, + 'server_name': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MySqlConnectionInfo, self).__init__(**kwargs) + self.type = 'MySqlConnectionInfo' # type: str + self.server_name = kwargs['server_name'] + self.data_source = kwargs.get('data_source', None) + self.port = kwargs['port'] + self.encrypt_connection = kwargs.get('encrypt_connection', True) + + +class NameAvailabilityRequest(msrest.serialization.Model): + """A resource type and proposed name. + + :param name: The proposed resource name. + :type name: str + :param type: The resource type chain (e.g. virtualMachines/extensions). + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NameAvailabilityRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + + +class NameAvailabilityResponse(msrest.serialization.Model): + """Indicates whether a proposed resource name is available. + + :param name_available: If true, the name is valid and available. If false, 'reason' describes + why not. + :type name_available: bool + :param reason: The reason why the name is not available, if nameAvailable is false. Possible + values include: "AlreadyExists", "Invalid". + :type reason: str or ~azure.mgmt.datamigration.models.NameCheckFailureReason + :param message: The localized reason why the name is not available, if nameAvailable is false. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NameAvailabilityResponse, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.reason = kwargs.get('reason', None) + self.message = kwargs.get('message', None) + + +class NodeMonitoringData(msrest.serialization.Model): + """NodeMonitoringData. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar additional_properties: Unmatched properties from the message are deserialized in this + collection. + :vartype additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar available_memory_in_mb: Available memory (MB) on the integration runtime node. + :vartype available_memory_in_mb: int + :ivar cpu_utilization: CPU percentage on the integration runtime node. + :vartype cpu_utilization: int + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration runtime node. + :vartype concurrent_jobs_limit: int + :ivar concurrent_jobs_running: The number of jobs currently running on the integration runtime + node. + :vartype concurrent_jobs_running: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration runtime. + :vartype max_concurrent_jobs: int + :ivar sent_bytes: Sent bytes on the integration runtime node. + :vartype sent_bytes: float + :ivar received_bytes: Received bytes on the integration runtime node. + :vartype received_bytes: float + """ + + _validation = { + 'additional_properties': {'readonly': True}, + 'node_name': {'readonly': True}, + 'available_memory_in_mb': {'readonly': True}, + 'cpu_utilization': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'concurrent_jobs_running': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, + 'sent_bytes': {'readonly': True}, + 'received_bytes': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': 'additionalProperties', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'available_memory_in_mb': {'key': 'availableMemoryInMB', 'type': 'int'}, + 'cpu_utilization': {'key': 'cpuUtilization', 'type': 'int'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'concurrent_jobs_running': {'key': 'concurrentJobsRunning', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, + 'sent_bytes': {'key': 'sentBytes', 'type': 'float'}, + 'received_bytes': {'key': 'receivedBytes', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(NodeMonitoringData, self).__init__(**kwargs) + self.additional_properties = None + self.node_name = None + self.available_memory_in_mb = None + self.cpu_utilization = None + self.concurrent_jobs_limit = None + self.concurrent_jobs_running = None + self.max_concurrent_jobs = None + self.sent_bytes = None + self.received_bytes = None + + +class NonSqlDataMigrationTable(msrest.serialization.Model): + """Defines metadata for table to be migrated. + + :param source_name: Source table name. + :type source_name: str + """ + + _attribute_map = { + 'source_name': {'key': 'sourceName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NonSqlDataMigrationTable, self).__init__(**kwargs) + self.source_name = kwargs.get('source_name', None) + + +class NonSqlDataMigrationTableResult(msrest.serialization.Model): + """Object used to report the data migration results of a table. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar result_code: Result code of the data migration. Possible values include: "Initial", + "Completed", "ObjectNotExistsInSource", "ObjectNotExistsInTarget", + "TargetObjectIsInaccessible", "FatalError". + :vartype result_code: str or ~azure.mgmt.datamigration.models.DataMigrationResultCode + :ivar source_name: Name of the source table. + :vartype source_name: str + :ivar target_name: Name of the target table. + :vartype target_name: str + :ivar source_row_count: Number of rows in the source table. + :vartype source_row_count: long + :ivar target_row_count: Number of rows in the target table. + :vartype target_row_count: long + :ivar elapsed_time_in_miliseconds: Time taken to migrate the data. + :vartype elapsed_time_in_miliseconds: float + :ivar errors: List of errors, if any, during migration. + :vartype errors: list[~azure.mgmt.datamigration.models.DataMigrationError] + """ + + _validation = { + 'result_code': {'readonly': True}, + 'source_name': {'readonly': True}, + 'target_name': {'readonly': True}, + 'source_row_count': {'readonly': True}, + 'target_row_count': {'readonly': True}, + 'elapsed_time_in_miliseconds': {'readonly': True}, + 'errors': {'readonly': True}, + } + + _attribute_map = { + 'result_code': {'key': 'resultCode', 'type': 'str'}, + 'source_name': {'key': 'sourceName', 'type': 'str'}, + 'target_name': {'key': 'targetName', 'type': 'str'}, + 'source_row_count': {'key': 'sourceRowCount', 'type': 'long'}, + 'target_row_count': {'key': 'targetRowCount', 'type': 'long'}, + 'elapsed_time_in_miliseconds': {'key': 'elapsedTimeInMiliseconds', 'type': 'float'}, + 'errors': {'key': 'errors', 'type': '[DataMigrationError]'}, + } + + def __init__( + self, + **kwargs + ): + super(NonSqlDataMigrationTableResult, self).__init__(**kwargs) + self.result_code = None + self.source_name = None + self.target_name = None + self.source_row_count = None + self.target_row_count = None + self.elapsed_time_in_miliseconds = None + self.errors = None + + +class NonSqlMigrationTaskInput(msrest.serialization.Model): + """Base class for non sql migration task input. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_database_name: Required. Target database name. + :type target_database_name: str + :param project_name: Required. Name of the migration project. + :type project_name: str + :param project_location: Required. A URL that points to the drop location to access project + artifacts. + :type project_location: str + :param selected_tables: Required. Metadata of the tables selected for migration. + :type selected_tables: list[~azure.mgmt.datamigration.models.NonSqlDataMigrationTable] + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'target_database_name': {'required': True}, + 'project_name': {'required': True}, + 'project_location': {'required': True}, + 'selected_tables': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'project_location': {'key': 'projectLocation', 'type': 'str'}, + 'selected_tables': {'key': 'selectedTables', 'type': '[NonSqlDataMigrationTable]'}, + } + + def __init__( + self, + **kwargs + ): + super(NonSqlMigrationTaskInput, self).__init__(**kwargs) + self.target_connection_info = kwargs['target_connection_info'] + self.target_database_name = kwargs['target_database_name'] + self.project_name = kwargs['project_name'] + self.project_location = kwargs['project_location'] + self.selected_tables = kwargs['selected_tables'] + + +class NonSqlMigrationTaskOutput(msrest.serialization.Model): + """Base class for non sql migration task output. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar status: Current state of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar data_migration_table_results: Results of the migration. The key contains the table name + and the value the table result object. + :vartype data_migration_table_results: str + :ivar progress_message: Message about the progress of the migration. + :vartype progress_message: str + :ivar source_server_name: Name of source server. + :vartype source_server_name: str + :ivar target_server_name: Name of target server. + :vartype target_server_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'data_migration_table_results': {'readonly': True}, + 'progress_message': {'readonly': True}, + 'source_server_name': {'readonly': True}, + 'target_server_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'data_migration_table_results': {'key': 'dataMigrationTableResults', 'type': 'str'}, + 'progress_message': {'key': 'progressMessage', 'type': 'str'}, + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NonSqlMigrationTaskOutput, self).__init__(**kwargs) + self.id = None + self.started_on = None + self.ended_on = None + self.status = None + self.data_migration_table_results = None + self.progress_message = None + self.source_server_name = None + self.target_server_name = None + + +class ODataError(msrest.serialization.Model): + """Error information in OData format. + + :param code: The machine-readable description of the error, such as 'InvalidRequest' or + 'InternalServerError'. + :type code: str + :param message: The human-readable description of the error. + :type message: str + :param details: Inner errors that caused this error. + :type details: list[~azure.mgmt.datamigration.models.ODataError] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ODataError]'}, + } + + def __init__( + self, + **kwargs + ): + super(ODataError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.details = kwargs.get('details', None) + + +class OfflineConfiguration(msrest.serialization.Model): + """Offline configuration. + + :param offline: Offline migration. + :type offline: bool + :param last_backup_name: Last backup name for offline migration. This is optional for + migrations from file share. If it is not provided, then the service will determine the last + backup file name based on latest backup files present in file share. + :type last_backup_name: str + """ + + _attribute_map = { + 'offline': {'key': 'offline', 'type': 'bool'}, + 'last_backup_name': {'key': 'lastBackupName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OfflineConfiguration, self).__init__(**kwargs) + self.offline = kwargs.get('offline', None) + self.last_backup_name = kwargs.get('last_backup_name', None) + + +class OperationListResult(msrest.serialization.Model): + """Result of the request to list SQL operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.mgmt.datamigration.models.OperationsDefinition] + :ivar next_link: + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationsDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationsDefinition(msrest.serialization.Model): + """OperationsDefinition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: + :vartype name: str + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool + :ivar display: + :vartype display: ~azure.mgmt.datamigration.models.OperationsDisplayDefinition + :ivar origin: Possible values include: "user", "system". + :vartype origin: str or ~azure.mgmt.datamigration.models.OperationOrigin + :ivar properties: Dictionary of :code:``. + :vartype properties: dict[str, object] + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + 'origin': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationsDisplayDefinition'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationsDefinition, self).__init__(**kwargs) + self.name = None + self.is_data_action = kwargs.get('is_data_action', None) + self.display = None + self.origin = None + self.properties = None + + +class OperationsDisplayDefinition(msrest.serialization.Model): + """OperationsDisplayDefinition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provider: + :vartype provider: str + :ivar resource: + :vartype resource: str + :ivar operation: + :vartype operation: str + :ivar description: + :vartype description: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationsDisplayDefinition, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + self.description = None + + +class OracleConnectionInfo(ConnectionInfo): + """Information for connecting to Oracle server. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param data_source: Required. EZConnect or TNSName connection string. + :type data_source: str + """ + + _validation = { + 'type': {'required': True}, + 'data_source': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleConnectionInfo, self).__init__(**kwargs) + self.type = 'OracleConnectionInfo' # type: str + self.data_source = kwargs['data_source'] + + +class OracleOciDriverInfo(msrest.serialization.Model): + """Information about an Oracle OCI driver. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar driver_name: The name of the driver package. + :vartype driver_name: str + :ivar driver_size: The size in bytes of the driver package. + :vartype driver_size: str + :ivar archive_checksum: The MD5 Base64 encoded checksum for the driver package. + :vartype archive_checksum: str + :ivar oracle_checksum: The checksum for the driver package provided by Oracle. + :vartype oracle_checksum: str + :ivar assembly_version: Version listed in the OCI assembly 'oci.dll'. + :vartype assembly_version: str + :ivar supported_oracle_versions: List of Oracle database versions supported by this driver. + Only major minor of the version is listed. + :vartype supported_oracle_versions: list[str] + """ + + _validation = { + 'driver_name': {'readonly': True}, + 'driver_size': {'readonly': True}, + 'archive_checksum': {'readonly': True}, + 'oracle_checksum': {'readonly': True}, + 'assembly_version': {'readonly': True}, + 'supported_oracle_versions': {'readonly': True}, + } + + _attribute_map = { + 'driver_name': {'key': 'driverName', 'type': 'str'}, + 'driver_size': {'key': 'driverSize', 'type': 'str'}, + 'archive_checksum': {'key': 'archiveChecksum', 'type': 'str'}, + 'oracle_checksum': {'key': 'oracleChecksum', 'type': 'str'}, + 'assembly_version': {'key': 'assemblyVersion', 'type': 'str'}, + 'supported_oracle_versions': {'key': 'supportedOracleVersions', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleOciDriverInfo, self).__init__(**kwargs) + self.driver_name = None + self.driver_size = None + self.archive_checksum = None + self.oracle_checksum = None + self.assembly_version = None + self.supported_oracle_versions = None + + +class OrphanedUserInfo(msrest.serialization.Model): + """Information of orphaned users on the SQL server database. + + :param name: Name of the orphaned user. + :type name: str + :param database_name: Parent database of the user. + :type database_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OrphanedUserInfo, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.database_name = kwargs.get('database_name', None) + + +class PostgreSqlConnectionInfo(ConnectionInfo): + """Information for connecting to PostgreSQL server. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param server_name: Required. Name of the server. + :type server_name: str + :param data_source: Data source. + :type data_source: str + :param server_version: server version. + :type server_version: str + :param database_name: Name of the database. + :type database_name: str + :param port: Required. Port for Server. + :type port: int + :param encrypt_connection: Whether to encrypt the connection. + :type encrypt_connection: bool + :param trust_server_certificate: Whether to trust the server certificate. + :type trust_server_certificate: bool + """ + + _validation = { + 'type': {'required': True}, + 'server_name': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'trust_server_certificate': {'key': 'trustServerCertificate', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(PostgreSqlConnectionInfo, self).__init__(**kwargs) + self.type = 'PostgreSqlConnectionInfo' # type: str + self.server_name = kwargs['server_name'] + self.data_source = kwargs.get('data_source', None) + self.server_version = kwargs.get('server_version', None) + self.database_name = kwargs.get('database_name', None) + self.port = kwargs['port'] + self.encrypt_connection = kwargs.get('encrypt_connection', True) + self.trust_server_certificate = kwargs.get('trust_server_certificate', False) + + +class Project(TrackedResource): + """A project resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: + :type location: str + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param e_tag: HTTP strong entity tag value. This is ignored if submitted. + :type e_tag: str + :param source_platform: Source platform for the project. Possible values include: "SQL", + "MySQL", "PostgreSql", "MongoDb", "Unknown". + :type source_platform: str or ~azure.mgmt.datamigration.models.ProjectSourcePlatform + :param azure_authentication_info: Field that defines the Azure active directory application + info, used to connect to the target Azure resource. + :type azure_authentication_info: str + :param target_platform: Target platform for the project. Possible values include: "SQLDB", + "SQLMI", "AzureDbForMySql", "AzureDbForPostgreSql", "MongoDb", "Unknown". + :type target_platform: str or ~azure.mgmt.datamigration.models.ProjectTargetPlatform + :ivar creation_time: UTC Date and time when project was created. + :vartype creation_time: ~datetime.datetime + :param source_connection_info: Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.ConnectionInfo + :param target_connection_info: Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.ConnectionInfo + :param databases_info: List of DatabaseInfo. + :type databases_info: list[~azure.mgmt.datamigration.models.DatabaseInfo] + :ivar provisioning_state: The project's provisioning state. Possible values include: + "Deleting", "Succeeded". + :vartype provisioning_state: str or ~azure.mgmt.datamigration.models.ProjectProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'source_platform': {'key': 'properties.sourcePlatform', 'type': 'str'}, + 'azure_authentication_info': {'key': 'properties.azureAuthenticationInfo', 'type': 'str'}, + 'target_platform': {'key': 'properties.targetPlatform', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'source_connection_info': {'key': 'properties.sourceConnectionInfo', 'type': 'ConnectionInfo'}, + 'target_connection_info': {'key': 'properties.targetConnectionInfo', 'type': 'ConnectionInfo'}, + 'databases_info': {'key': 'properties.databasesInfo', 'type': '[DatabaseInfo]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Project, self).__init__(**kwargs) + self.e_tag = kwargs.get('e_tag', None) + self.source_platform = kwargs.get('source_platform', None) + self.azure_authentication_info = kwargs.get('azure_authentication_info', None) + self.target_platform = kwargs.get('target_platform', None) + self.creation_time = None + self.source_connection_info = kwargs.get('source_connection_info', None) + self.target_connection_info = kwargs.get('target_connection_info', None) + self.databases_info = kwargs.get('databases_info', None) + self.provisioning_state = None + + +class Resource(msrest.serialization.Model): + """ARM resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + _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 ProjectFile(Resource): + """A file resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param etag: HTTP strong entity tag value. This is ignored if submitted. + :type etag: str + :param properties: Custom file properties. + :type properties: ~azure.mgmt.datamigration.models.ProjectFileProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.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'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProjectFileProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + **kwargs + ): + super(ProjectFile, self).__init__(**kwargs) + self.etag = kwargs.get('etag', None) + self.properties = kwargs.get('properties', None) + self.system_data = None + + +class ProjectFileProperties(msrest.serialization.Model): + """Base class for file properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param extension: Optional File extension. If submitted it should not have a leading period and + must match the extension from filePath. + :type extension: str + :param file_path: Relative path of this file resource. This property can be set when creating + or updating the file resource. + :type file_path: str + :ivar last_modified: Modification DateTime. + :vartype last_modified: ~datetime.datetime + :param media_type: File content type. This property can be modified to reflect the file content + type. + :type media_type: str + :ivar size: File size. + :vartype size: long + """ + + _validation = { + 'last_modified': {'readonly': True}, + 'size': {'readonly': True}, + } + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'media_type': {'key': 'mediaType', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(ProjectFileProperties, self).__init__(**kwargs) + self.extension = kwargs.get('extension', None) + self.file_path = kwargs.get('file_path', None) + self.last_modified = None + self.media_type = kwargs.get('media_type', None) + self.size = None + + +class ProjectList(msrest.serialization.Model): + """OData page of project resources. + + :param value: List of projects. + :type value: list[~azure.mgmt.datamigration.models.Project] + :param next_link: URL to load the next page of projects. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Project]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProjectList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ProjectTask(Resource): + """A task resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param etag: HTTP strong entity tag value. This is ignored if submitted. + :type etag: str + :param properties: Custom task properties. + :type properties: ~azure.mgmt.datamigration.models.ProjectTaskProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.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'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProjectTaskProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + **kwargs + ): + super(ProjectTask, self).__init__(**kwargs) + self.etag = kwargs.get('etag', None) + self.properties = kwargs.get('properties', None) + self.system_data = None + + +class QueryAnalysisValidationResult(msrest.serialization.Model): + """Results for query analysis comparison between the source and target. + + :param query_results: List of queries executed and it's execution results in source and target. + :type query_results: ~azure.mgmt.datamigration.models.QueryExecutionResult + :param validation_errors: Errors that are part of the execution. + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + """ + + _attribute_map = { + 'query_results': {'key': 'queryResults', 'type': 'QueryExecutionResult'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryAnalysisValidationResult, self).__init__(**kwargs) + self.query_results = kwargs.get('query_results', None) + self.validation_errors = kwargs.get('validation_errors', None) + + +class QueryExecutionResult(msrest.serialization.Model): + """Describes query analysis results for execution in source and target. + + :param query_text: Query text retrieved from the source server. + :type query_text: str + :param statements_in_batch: Total no. of statements in the batch. + :type statements_in_batch: long + :param source_result: Query analysis result from the source. + :type source_result: ~azure.mgmt.datamigration.models.ExecutionStatistics + :param target_result: Query analysis result from the target. + :type target_result: ~azure.mgmt.datamigration.models.ExecutionStatistics + """ + + _attribute_map = { + 'query_text': {'key': 'queryText', 'type': 'str'}, + 'statements_in_batch': {'key': 'statementsInBatch', 'type': 'long'}, + 'source_result': {'key': 'sourceResult', 'type': 'ExecutionStatistics'}, + 'target_result': {'key': 'targetResult', 'type': 'ExecutionStatistics'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryExecutionResult, self).__init__(**kwargs) + self.query_text = kwargs.get('query_text', None) + self.statements_in_batch = kwargs.get('statements_in_batch', None) + self.source_result = kwargs.get('source_result', None) + self.target_result = kwargs.get('target_result', None) + + +class Quota(msrest.serialization.Model): + """Describes a quota for or usage details about a resource. + + :param current_value: The current value of the quota. If null or missing, the current value + cannot be determined in the context of the request. + :type current_value: float + :param id: The resource ID of the quota object. + :type id: str + :param limit: The maximum value of the quota. If null or missing, the quota has no maximum, in + which case it merely tracks usage. + :type limit: float + :param name: The name of the quota. + :type name: ~azure.mgmt.datamigration.models.QuotaName + :param unit: The unit for the quota, such as Count, Bytes, BytesPerSecond, etc. + :type unit: str + """ + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'QuotaName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Quota, self).__init__(**kwargs) + self.current_value = kwargs.get('current_value', None) + self.id = kwargs.get('id', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) + self.unit = kwargs.get('unit', None) + + +class QuotaList(msrest.serialization.Model): + """OData page of quota objects. + + :param value: List of quotas. + :type value: list[~azure.mgmt.datamigration.models.Quota] + :param next_link: URL to load the next page of quotas, or null or missing if this is the last + page. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Quota]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QuotaList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class QuotaName(msrest.serialization.Model): + """The name of the quota. + + :param localized_value: The localized name of the quota. + :type localized_value: str + :param value: The unlocalized name (or ID) of the quota. + :type value: str + """ + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QuotaName, self).__init__(**kwargs) + self.localized_value = kwargs.get('localized_value', None) + self.value = kwargs.get('value', None) + + +class RegenAuthKeys(msrest.serialization.Model): + """An authentication key to regenerate. + + :param key_name: The name of authentication key to generate. + :type key_name: str + :param auth_key1: The first authentication key. + :type auth_key1: str + :param auth_key2: The second authentication key. + :type auth_key2: str + """ + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'auth_key1': {'key': 'authKey1', 'type': 'str'}, + 'auth_key2': {'key': 'authKey2', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegenAuthKeys, self).__init__(**kwargs) + self.key_name = kwargs.get('key_name', None) + self.auth_key1 = kwargs.get('auth_key1', None) + self.auth_key2 = kwargs.get('auth_key2', None) + + +class ReportableException(msrest.serialization.Model): + """Exception object for all custom exceptions. + + :param message: Error message. + :type message: str + :param actionable_message: Actionable steps for this exception. + :type actionable_message: str + :param file_path: The path to the file where exception occurred. + :type file_path: str + :param line_number: The line number where exception occurred. + :type line_number: str + :param h_result: Coded numerical value that is assigned to a specific exception. + :type h_result: int + :param stack_trace: Stack trace. + :type stack_trace: str + """ + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'actionable_message': {'key': 'actionableMessage', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + 'line_number': {'key': 'lineNumber', 'type': 'str'}, + 'h_result': {'key': 'hResult', 'type': 'int'}, + 'stack_trace': {'key': 'stackTrace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReportableException, self).__init__(**kwargs) + self.message = kwargs.get('message', None) + self.actionable_message = kwargs.get('actionable_message', None) + self.file_path = kwargs.get('file_path', None) + self.line_number = kwargs.get('line_number', None) + self.h_result = kwargs.get('h_result', None) + self.stack_trace = kwargs.get('stack_trace', None) + + +class ResourceSku(msrest.serialization.Model): + """Describes an available DMS SKU. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_type: The type of resource the SKU applies to. + :vartype resource_type: str + :ivar name: The name of SKU. + :vartype name: str + :ivar tier: Specifies the tier of DMS in a scale set. + :vartype tier: str + :ivar size: The Size of the SKU. + :vartype size: str + :ivar family: The Family of this particular SKU. + :vartype family: str + :ivar kind: The Kind of resources that are supported in this SKU. + :vartype kind: str + :ivar capacity: Not used. + :vartype capacity: ~azure.mgmt.datamigration.models.ResourceSkuCapacity + :ivar locations: The set of locations that the SKU is available. + :vartype locations: list[str] + :ivar api_versions: The api versions that support this SKU. + :vartype api_versions: list[str] + :ivar costs: Metadata for retrieving price info. + :vartype costs: list[~azure.mgmt.datamigration.models.ResourceSkuCosts] + :ivar capabilities: A name value pair to describe the capability. + :vartype capabilities: list[~azure.mgmt.datamigration.models.ResourceSkuCapabilities] + :ivar restrictions: The restrictions because of which SKU cannot be used. This is empty if + there are no restrictions. + :vartype restrictions: list[~azure.mgmt.datamigration.models.ResourceSkuRestrictions] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'name': {'readonly': True}, + 'tier': {'readonly': True}, + 'size': {'readonly': True}, + 'family': {'readonly': True}, + 'kind': {'readonly': True}, + 'capacity': {'readonly': True}, + 'locations': {'readonly': True}, + 'api_versions': {'readonly': True}, + 'costs': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'restrictions': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'ResourceSkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'costs': {'key': 'costs', 'type': '[ResourceSkuCosts]'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + 'restrictions': {'key': 'restrictions', 'type': '[ResourceSkuRestrictions]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = None + self.name = None + self.tier = None + self.size = None + self.family = None + self.kind = None + self.capacity = None + self.locations = None + self.api_versions = None + self.costs = None + self.capabilities = None + self.restrictions = None + + +class ResourceSkuCapabilities(msrest.serialization.Model): + """Describes The SKU capabilities object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: An invariant to describe the feature. + :vartype name: str + :ivar value: An invariant if the feature is measured by quantity. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuCapabilities, self).__init__(**kwargs) + self.name = None + self.value = None + + +class ResourceSkuCapacity(msrest.serialization.Model): + """Describes scaling information of a SKU. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar minimum: The minimum capacity. + :vartype minimum: long + :ivar maximum: The maximum capacity. + :vartype maximum: long + :ivar default: The default capacity. + :vartype default: long + :ivar scale_type: The scale type applicable to the SKU. Possible values include: "Automatic", + "Manual", "None". + :vartype scale_type: str or ~azure.mgmt.datamigration.models.ResourceSkuCapacityScaleType + """ + + _validation = { + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'default': {'readonly': True}, + 'scale_type': {'readonly': True}, + } + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'long'}, + 'maximum': {'key': 'maximum', 'type': 'long'}, + 'default': {'key': 'default', 'type': 'long'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuCapacity, self).__init__(**kwargs) + self.minimum = None + self.maximum = None + self.default = None + self.scale_type = None + + +class ResourceSkuCosts(msrest.serialization.Model): + """Describes metadata for retrieving price info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar meter_id: Used for querying price from commerce. + :vartype meter_id: str + :ivar quantity: The multiplier is needed to extend the base metered cost. + :vartype quantity: long + :ivar extended_unit: An invariant to show the extended unit. + :vartype extended_unit: str + """ + + _validation = { + 'meter_id': {'readonly': True}, + 'quantity': {'readonly': True}, + 'extended_unit': {'readonly': True}, + } + + _attribute_map = { + 'meter_id': {'key': 'meterID', 'type': 'str'}, + 'quantity': {'key': 'quantity', 'type': 'long'}, + 'extended_unit': {'key': 'extendedUnit', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuCosts, self).__init__(**kwargs) + self.meter_id = None + self.quantity = None + self.extended_unit = None + + +class ResourceSkuRestrictions(msrest.serialization.Model): + """Describes scaling information of a SKU. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The type of restrictions. Possible values include: "location". + :vartype type: str or ~azure.mgmt.datamigration.models.ResourceSkuRestrictionsType + :ivar values: The value of restrictions. If the restriction type is set to location. This would + be different locations where the SKU is restricted. + :vartype values: list[str] + :ivar reason_code: The reason code for restriction. Possible values include: "QuotaId", + "NotAvailableForSubscription". + :vartype reason_code: str or ~azure.mgmt.datamigration.models.ResourceSkuRestrictionsReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + 'reason_code': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuRestrictions, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = None + + +class ResourceSkusResult(msrest.serialization.Model): + """The DMS List SKUs operation response. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. The list of SKUs available for the subscription. + :type value: list[~azure.mgmt.datamigration.models.ResourceSku] + :param next_link: The uri to fetch the next page of DMS SKUs. Call ListNext() with this to + fetch the next page of DMS SKUs. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceSku]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkusResult, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class SchemaComparisonValidationResult(msrest.serialization.Model): + """Results for schema comparison between the source and target. + + :param schema_differences: List of schema differences between the source and target databases. + :type schema_differences: ~azure.mgmt.datamigration.models.SchemaComparisonValidationResultType + :param validation_errors: List of errors that happened while performing schema compare + validation. + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + :param source_database_object_count: Count of source database objects. + :type source_database_object_count: dict[str, long] + :param target_database_object_count: Count of target database objects. + :type target_database_object_count: dict[str, long] + """ + + _attribute_map = { + 'schema_differences': {'key': 'schemaDifferences', 'type': 'SchemaComparisonValidationResultType'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + 'source_database_object_count': {'key': 'sourceDatabaseObjectCount', 'type': '{long}'}, + 'target_database_object_count': {'key': 'targetDatabaseObjectCount', 'type': '{long}'}, + } + + def __init__( + self, + **kwargs + ): + super(SchemaComparisonValidationResult, self).__init__(**kwargs) + self.schema_differences = kwargs.get('schema_differences', None) + self.validation_errors = kwargs.get('validation_errors', None) + self.source_database_object_count = kwargs.get('source_database_object_count', None) + self.target_database_object_count = kwargs.get('target_database_object_count', None) + + +class SchemaComparisonValidationResultType(msrest.serialization.Model): + """Description about the errors happen while performing migration validation. + + :param object_name: Name of the object that has the difference. + :type object_name: str + :param object_type: Type of the object that has the difference. e.g + (Table/View/StoredProcedure). Possible values include: "StoredProcedures", "Table", "User", + "View", "Function". + :type object_type: str or ~azure.mgmt.datamigration.models.ObjectType + :param update_action: Update action type with respect to target. Possible values include: + "DeletedOnTarget", "ChangedOnTarget", "AddedOnTarget". + :type update_action: str or ~azure.mgmt.datamigration.models.UpdateActionType + """ + + _attribute_map = { + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'update_action': {'key': 'updateAction', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SchemaComparisonValidationResultType, self).__init__(**kwargs) + self.object_name = kwargs.get('object_name', None) + self.object_type = kwargs.get('object_type', None) + self.update_action = kwargs.get('update_action', None) + + +class SchemaMigrationSetting(msrest.serialization.Model): + """Settings for migrating schema from source to target. + + :param schema_option: Option on how to migrate the schema. Possible values include: "None", + "ExtractFromSource", "UseStorageFile". + :type schema_option: str or ~azure.mgmt.datamigration.models.SchemaMigrationOption + :param file_id: Resource Identifier of a file resource containing the uploaded schema file. + :type file_id: str + :param file_name: Name of the file resource containing the uploaded schema file. + :type file_name: str + """ + + _attribute_map = { + 'schema_option': {'key': 'schemaOption', 'type': 'str'}, + 'file_id': {'key': 'fileId', 'type': 'str'}, + 'file_name': {'key': 'fileName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SchemaMigrationSetting, self).__init__(**kwargs) + self.schema_option = kwargs.get('schema_option', None) + self.file_id = kwargs.get('file_id', None) + self.file_name = kwargs.get('file_name', None) + + +class SelectedCertificateInput(msrest.serialization.Model): + """Info for certificate to be exported for TDE enabled databases. + + All required parameters must be populated in order to send to Azure. + + :param certificate_name: Required. Name of certificate to be exported. + :type certificate_name: str + :param password: Required. Password to use for encrypting the exported certificate. + :type password: str + """ + + _validation = { + 'certificate_name': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'certificate_name': {'key': 'certificateName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SelectedCertificateInput, self).__init__(**kwargs) + self.certificate_name = kwargs['certificate_name'] + self.password = kwargs['password'] + + +class ServerProperties(msrest.serialization.Model): + """Server properties for MySQL type source. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar server_platform: Name of the server platform. + :vartype server_platform: str + :ivar server_name: Name of the server. + :vartype server_name: str + :ivar server_version: Version of the database server. + :vartype server_version: str + :ivar server_edition: Edition of the database server. + :vartype server_edition: str + :ivar server_operating_system_version: Version of the operating system. + :vartype server_operating_system_version: str + :ivar server_database_count: Number of databases in the server. + :vartype server_database_count: int + """ + + _validation = { + 'server_platform': {'readonly': True}, + 'server_name': {'readonly': True}, + 'server_version': {'readonly': True}, + 'server_edition': {'readonly': True}, + 'server_operating_system_version': {'readonly': True}, + 'server_database_count': {'readonly': True}, + } + + _attribute_map = { + 'server_platform': {'key': 'serverPlatform', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'server_edition': {'key': 'serverEdition', 'type': 'str'}, + 'server_operating_system_version': {'key': 'serverOperatingSystemVersion', 'type': 'str'}, + 'server_database_count': {'key': 'serverDatabaseCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ServerProperties, self).__init__(**kwargs) + self.server_platform = None + self.server_name = None + self.server_version = None + self.server_edition = None + self.server_operating_system_version = None + self.server_database_count = None + + +class ServiceOperation(msrest.serialization.Model): + """Description of an action supported by the Database Migration Service. + + :param name: The fully qualified action name, e.g. Microsoft.DataMigration/services/read. + :type name: str + :param display: Localized display text. + :type display: ~azure.mgmt.datamigration.models.ServiceOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ServiceOperationDisplay'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceOperation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + + +class ServiceOperationDisplay(msrest.serialization.Model): + """Localized display text. + + :param provider: The localized resource provider name. + :type provider: str + :param resource: The localized resource type name. + :type resource: str + :param operation: The localized operation name. + :type operation: str + :param description: The localized operation description. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceOperationDisplay, 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 ServiceOperationList(msrest.serialization.Model): + """OData page of action (operation) objects. + + :param value: List of actions. + :type value: list[~azure.mgmt.datamigration.models.ServiceOperation] + :param next_link: URL to load the next page of actions. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceOperationList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ServiceSku(msrest.serialization.Model): + """An Azure SKU instance. + + :param name: The unique name of the SKU, such as 'P3'. + :type name: str + :param tier: The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical'. + :type tier: str + :param family: The SKU family, used when the service has multiple performance classes within a + tier, such as 'A', 'D', etc. for virtual machines. + :type family: str + :param size: The size of the SKU, used when the name alone does not denote a service size or + when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines. + :type size: str + :param capacity: The capacity of the SKU, if it supports scaling. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.family = kwargs.get('family', None) + self.size = kwargs.get('size', None) + self.capacity = kwargs.get('capacity', None) + + +class ServiceSkuList(msrest.serialization.Model): + """OData page of available SKUs. + + :param value: List of service SKUs. + :type value: list[~azure.mgmt.datamigration.models.AvailableServiceSku] + :param next_link: URL to load the next page of service SKUs. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AvailableServiceSku]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceSkuList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class SourceLocation(msrest.serialization.Model): + """Source Location details of backups. + + :param file_share: Source File share. + :type file_share: ~azure.mgmt.datamigration.models.SqlFileShare + :param azure_blob: Source Azure Blob. + :type azure_blob: ~azure.mgmt.datamigration.models.AzureBlob + """ + + _attribute_map = { + 'file_share': {'key': 'fileShare', 'type': 'SqlFileShare'}, + 'azure_blob': {'key': 'azureBlob', 'type': 'AzureBlob'}, + } + + def __init__( + self, + **kwargs + ): + super(SourceLocation, self).__init__(**kwargs) + self.file_share = kwargs.get('file_share', None) + self.azure_blob = kwargs.get('azure_blob', None) + + +class SqlBackupFileInfo(msrest.serialization.Model): + """Information of backup file. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar file_name: File name. + :vartype file_name: str + :ivar status: Status of the file. (Initial, Uploading, Uploaded, Restoring, Restored or + Skipped). + :vartype status: str + :ivar total_size: File size in bytes. + :vartype total_size: long + :ivar data_read: Bytes read. + :vartype data_read: long + :ivar data_written: Bytes written. + :vartype data_written: long + :ivar copy_throughput: Copy throughput in KBps. + :vartype copy_throughput: float + :ivar copy_duration: Copy Duration in seconds. + :vartype copy_duration: int + :ivar family_sequence_number: Media family sequence number. + :vartype family_sequence_number: int + """ + + _validation = { + 'file_name': {'readonly': True}, + 'status': {'readonly': True}, + 'total_size': {'readonly': True}, + 'data_read': {'readonly': True}, + 'data_written': {'readonly': True}, + 'copy_throughput': {'readonly': True}, + 'copy_duration': {'readonly': True}, + 'family_sequence_number': {'readonly': True}, + } + + _attribute_map = { + 'file_name': {'key': 'fileName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'total_size': {'key': 'totalSize', 'type': 'long'}, + 'data_read': {'key': 'dataRead', 'type': 'long'}, + 'data_written': {'key': 'dataWritten', 'type': 'long'}, + 'copy_throughput': {'key': 'copyThroughput', 'type': 'float'}, + 'copy_duration': {'key': 'copyDuration', 'type': 'int'}, + 'family_sequence_number': {'key': 'familySequenceNumber', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlBackupFileInfo, self).__init__(**kwargs) + self.file_name = None + self.status = None + self.total_size = None + self.data_read = None + self.data_written = None + self.copy_throughput = None + self.copy_duration = None + self.family_sequence_number = None + + +class SqlBackupSetInfo(msrest.serialization.Model): + """Information of backup set. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar backup_set_id: Backup set id. + :vartype backup_set_id: str + :ivar first_lsn: First LSN of the backup set. + :vartype first_lsn: str + :ivar last_lsn: Last LSN of the backup set. + :vartype last_lsn: str + :ivar backup_type: Backup type. + :vartype backup_type: str + :ivar list_of_backup_files: List of files in the backup set. + :vartype list_of_backup_files: list[~azure.mgmt.datamigration.models.SqlBackupFileInfo] + :ivar backup_start_date: Backup start date. + :vartype backup_start_date: ~datetime.datetime + :ivar backup_finish_date: Backup end time. + :vartype backup_finish_date: ~datetime.datetime + :ivar is_backup_restored: Whether this backup set has been restored or not. + :vartype is_backup_restored: bool + :ivar has_backup_checksums: Has Backup Checksums. + :vartype has_backup_checksums: bool + :ivar family_count: Media family count. + :vartype family_count: int + :ivar ignore_reasons: The reasons why the backup set is ignored. + :vartype ignore_reasons: list[str] + """ + + _validation = { + 'backup_set_id': {'readonly': True}, + 'first_lsn': {'readonly': True}, + 'last_lsn': {'readonly': True}, + 'backup_type': {'readonly': True}, + 'list_of_backup_files': {'readonly': True}, + 'backup_start_date': {'readonly': True}, + 'backup_finish_date': {'readonly': True}, + 'is_backup_restored': {'readonly': True}, + 'has_backup_checksums': {'readonly': True}, + 'family_count': {'readonly': True}, + 'ignore_reasons': {'readonly': True}, + } + + _attribute_map = { + 'backup_set_id': {'key': 'backupSetId', 'type': 'str'}, + 'first_lsn': {'key': 'firstLSN', 'type': 'str'}, + 'last_lsn': {'key': 'lastLSN', 'type': 'str'}, + 'backup_type': {'key': 'backupType', 'type': 'str'}, + 'list_of_backup_files': {'key': 'listOfBackupFiles', 'type': '[SqlBackupFileInfo]'}, + 'backup_start_date': {'key': 'backupStartDate', 'type': 'iso-8601'}, + 'backup_finish_date': {'key': 'backupFinishDate', 'type': 'iso-8601'}, + 'is_backup_restored': {'key': 'isBackupRestored', 'type': 'bool'}, + 'has_backup_checksums': {'key': 'hasBackupChecksums', 'type': 'bool'}, + 'family_count': {'key': 'familyCount', 'type': 'int'}, + 'ignore_reasons': {'key': 'ignoreReasons', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlBackupSetInfo, self).__init__(**kwargs) + self.backup_set_id = None + self.first_lsn = None + self.last_lsn = None + self.backup_type = None + self.list_of_backup_files = None + self.backup_start_date = None + self.backup_finish_date = None + self.is_backup_restored = None + self.has_backup_checksums = None + self.family_count = None + self.ignore_reasons = None + + +class SqlConnectionInfo(ConnectionInfo): + """Information for connecting to SQL database server. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param data_source: Required. Data source in the format + Protocol:MachineName\SQLServerInstanceName,PortNumber. + :type data_source: str + :param server_name: name of the server. + :type server_name: str + :param port: port for server. + :type port: str + :param resource_id: Represents the ID of an HTTP resource represented by an Azure resource + provider. + :type resource_id: str + :param authentication: Authentication type to use for connection. Possible values include: + "None", "WindowsAuthentication", "SqlAuthentication", "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword". + :type authentication: str or ~azure.mgmt.datamigration.models.AuthenticationType + :param encrypt_connection: Whether to encrypt the connection. + :type encrypt_connection: bool + :param additional_settings: Additional connection settings. + :type additional_settings: str + :param trust_server_certificate: Whether to trust the server certificate. + :type trust_server_certificate: bool + :param platform: Server platform type for connection. Possible values include: "SqlOnPrem". + :type platform: str or ~azure.mgmt.datamigration.models.SqlSourcePlatform + """ + + _validation = { + 'type': {'required': True}, + 'data_source': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'authentication': {'key': 'authentication', 'type': 'str'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'additional_settings': {'key': 'additionalSettings', 'type': 'str'}, + 'trust_server_certificate': {'key': 'trustServerCertificate', 'type': 'bool'}, + 'platform': {'key': 'platform', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlConnectionInfo, self).__init__(**kwargs) + self.type = 'SqlConnectionInfo' # type: str + self.data_source = kwargs['data_source'] + self.server_name = kwargs.get('server_name', None) + self.port = kwargs.get('port', None) + self.resource_id = kwargs.get('resource_id', None) + self.authentication = kwargs.get('authentication', None) + self.encrypt_connection = kwargs.get('encrypt_connection', True) + self.additional_settings = kwargs.get('additional_settings', None) + self.trust_server_certificate = kwargs.get('trust_server_certificate', False) + self.platform = kwargs.get('platform', None) + + +class SqlConnectionInformation(msrest.serialization.Model): + """Source SQL Connection. + + :param data_source: Data source. + :type data_source: str + :param authentication: Authentication type. + :type authentication: str + :param user_name: User name to connect to source SQL. + :type user_name: str + :param password: Password to connect to source SQL. + :type password: str + :param encrypt_connection: Whether to encrypt connection or not. + :type encrypt_connection: bool + :param trust_server_certificate: Whether to trust server certificate or not. + :type trust_server_certificate: bool + """ + + _attribute_map = { + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'authentication': {'key': 'authentication', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'trust_server_certificate': {'key': 'trustServerCertificate', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlConnectionInformation, self).__init__(**kwargs) + self.data_source = kwargs.get('data_source', None) + self.authentication = kwargs.get('authentication', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypt_connection = kwargs.get('encrypt_connection', None) + self.trust_server_certificate = kwargs.get('trust_server_certificate', None) + + +class SqlFileShare(msrest.serialization.Model): + """File share. + + :param path: Location as SMB share or local drive where backups are placed. + :type path: str + :param username: Username to access the file share location for backups. + :type username: str + :param password: Password for username to access file share location. + :type password: str + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlFileShare, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + + +class SqlMigrationListResult(msrest.serialization.Model): + """A list of SQL Migration Service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.mgmt.datamigration.models.SqlMigrationService] + :ivar next_link: + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SqlMigrationService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlMigrationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SqlMigrationService(TrackedResource): + """A SQL Migration Service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: + :type location: str + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :ivar provisioning_state: Provisioning state to track the async operation status. + :vartype provisioning_state: str + :ivar integration_runtime_state: Current state of the Integration runtime. + :vartype integration_runtime_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'integration_runtime_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'integration_runtime_state': {'key': 'properties.integrationRuntimeState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlMigrationService, self).__init__(**kwargs) + self.provisioning_state = None + self.integration_runtime_state = None + + +class SqlMigrationServiceUpdate(msrest.serialization.Model): + """An update to a SQL Migration Service. + + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlMigrationServiceUpdate, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class SsisMigrationInfo(msrest.serialization.Model): + """SSIS migration info with SSIS store type, overwrite policy. + + :param ssis_store_type: The SSIS store type of source, only SSIS catalog is supported now in + DMS. Possible values include: "SsisCatalog". + :type ssis_store_type: str or ~azure.mgmt.datamigration.models.SsisStoreType + :param project_overwrite_option: The overwrite option for the SSIS project migration. Possible + values include: "Ignore", "Overwrite". + :type project_overwrite_option: str or + ~azure.mgmt.datamigration.models.SsisMigrationOverwriteOption + :param environment_overwrite_option: The overwrite option for the SSIS environment migration. + Possible values include: "Ignore", "Overwrite". + :type environment_overwrite_option: str or + ~azure.mgmt.datamigration.models.SsisMigrationOverwriteOption + """ + + _attribute_map = { + 'ssis_store_type': {'key': 'ssisStoreType', 'type': 'str'}, + 'project_overwrite_option': {'key': 'projectOverwriteOption', 'type': 'str'}, + 'environment_overwrite_option': {'key': 'environmentOverwriteOption', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisMigrationInfo, self).__init__(**kwargs) + self.ssis_store_type = kwargs.get('ssis_store_type', None) + self.project_overwrite_option = kwargs.get('project_overwrite_option', None) + self.environment_overwrite_option = kwargs.get('environment_overwrite_option', None) + + +class StartMigrationScenarioServerRoleResult(msrest.serialization.Model): + """Server role migration result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of server role. + :vartype name: str + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'name': {'readonly': True}, + 'state': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(StartMigrationScenarioServerRoleResult, self).__init__(**kwargs) + self.name = None + self.state = None + self.exceptions_and_warnings = None + + +class SyncMigrationDatabaseErrorEvent(msrest.serialization.Model): + """Database migration errors for online migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar timestamp_string: String value of timestamp. + :vartype timestamp_string: str + :ivar event_type_string: Event type. + :vartype event_type_string: str + :ivar event_text: Event text. + :vartype event_text: str + """ + + _validation = { + 'timestamp_string': {'readonly': True}, + 'event_type_string': {'readonly': True}, + 'event_text': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_string': {'key': 'timestampString', 'type': 'str'}, + 'event_type_string': {'key': 'eventTypeString', 'type': 'str'}, + 'event_text': {'key': 'eventText', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SyncMigrationDatabaseErrorEvent, self).__init__(**kwargs) + self.timestamp_string = None + self.event_type_string = None + self.event_text = None + + +class SystemData(msrest.serialization.Model): + """SystemData. + + :param created_by: + :type created_by: str + :param created_by_type: Possible values include: "User", "Application", "ManagedIdentity", + "Key". + :type created_by_type: str or ~azure.mgmt.datamigration.models.CreatedByType + :param created_at: + :type created_at: ~datetime.datetime + :param last_modified_by: + :type last_modified_by: str + :param last_modified_by_type: Possible values include: "User", "Application", + "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~azure.mgmt.datamigration.models.CreatedByType + :param last_modified_at: + :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 TargetLocation(msrest.serialization.Model): + """Target Location details for optional copy of backups. + + :param storage_account_resource_id: Resource Id of the storage account copying backups. + :type storage_account_resource_id: str + :param account_key: Storage Account Key. + :type account_key: str + """ + + _attribute_map = { + 'storage_account_resource_id': {'key': 'storageAccountResourceId', 'type': 'str'}, + 'account_key': {'key': 'accountKey', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TargetLocation, self).__init__(**kwargs) + self.storage_account_resource_id = kwargs.get('storage_account_resource_id', None) + self.account_key = kwargs.get('account_key', None) + + +class TaskList(msrest.serialization.Model): + """OData page of tasks. + + :param value: List of tasks. + :type value: list[~azure.mgmt.datamigration.models.ProjectTask] + :param next_link: URL to load the next page of tasks. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProjectTask]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TaskList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class UploadOciDriverTaskInput(msrest.serialization.Model): + """Input for the service task to upload an OCI driver. + + :param driver_share: File share information for the OCI driver archive. + :type driver_share: ~azure.mgmt.datamigration.models.FileShare + """ + + _attribute_map = { + 'driver_share': {'key': 'driverShare', 'type': 'FileShare'}, + } + + def __init__( + self, + **kwargs + ): + super(UploadOciDriverTaskInput, self).__init__(**kwargs) + self.driver_share = kwargs.get('driver_share', None) + + +class UploadOciDriverTaskOutput(msrest.serialization.Model): + """Output for the service task to upload an OCI driver. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar driver_package_name: The name of the driver package that was validated and uploaded. + :vartype driver_package_name: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'driver_package_name': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'driver_package_name': {'key': 'driverPackageName', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(UploadOciDriverTaskOutput, self).__init__(**kwargs) + self.driver_package_name = None + self.validation_errors = None + + +class UploadOciDriverTaskProperties(ProjectTaskProperties): + """Properties for the task that uploads an OCI driver. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Input for the service task to upload an OCI driver. + :type input: ~azure.mgmt.datamigration.models.UploadOciDriverTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.UploadOciDriverTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'UploadOciDriverTaskInput'}, + 'output': {'key': 'output', 'type': '[UploadOciDriverTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(UploadOciDriverTaskProperties, self).__init__(**kwargs) + self.task_type = 'Service.Upload.OCI' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ValidateMigrationInputSqlServerSqlDbSyncTaskProperties(ProjectTaskProperties): + """Properties for task that validates migration input for SQL to Azure SQL DB sync migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ValidateSyncMigrationInputSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateSyncMigrationInputSqlServerTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ValidateSyncMigrationInputSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateSyncMigrationInputSqlServerTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlDbSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ValidateMigrationInput.SqlServer.SqlDb.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ValidateMigrationInputSqlServerSqlMiSyncTaskInput(SqlServerSqlMiSyncTaskInput): + """Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param storage_resource_id: Required. Fully qualified resourceId of storage. + :type storage_resource_id: str + :param source_connection_info: Required. Connection information for source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for Azure SQL Database Managed + Instance. + :type target_connection_info: ~azure.mgmt.datamigration.models.MiSqlConnectionInfo + :param azure_app: Required. Azure Active Directory Application the DMS instance will use to + connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage + Account. + :type azure_app: ~azure.mgmt.datamigration.models.AzureActiveDirectoryApp + """ + + _validation = { + 'selected_databases': {'required': True}, + 'storage_resource_id': {'required': True}, + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'azure_app': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'storage_resource_id': {'key': 'storageResourceId', 'type': 'str'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MiSqlConnectionInfo'}, + 'azure_app': {'key': 'azureApp', 'type': 'AzureActiveDirectoryApp'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiSyncTaskInput, self).__init__(**kwargs) + + +class ValidateMigrationInputSqlServerSqlMiSyncTaskOutput(msrest.serialization.Model): + """Output for task that validates migration input for Azure SQL Database Managed Instance online migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Database identifier. + :vartype id: str + :ivar name: Name of database. + :vartype name: str + :ivar validation_errors: Errors associated with a selected database object. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.name = None + self.validation_errors = None + + +class ValidateMigrationInputSqlServerSqlMiSyncTaskProperties(ProjectTaskProperties): + """Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.SqlServerSqlMiSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlMiSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'SqlServerSqlMiSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateMigrationInputSqlServerSqlMiSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ValidateMigrationInputSqlServerSqlMiTaskInput(msrest.serialization.Model): + """Input for task that validates migration input for SQL to Azure SQL Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param selected_logins: Logins to migrate. + :type selected_logins: list[str] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param backup_blob_share: Required. SAS URI of Azure Storage Account Container to be used for + storing backup files. + :type backup_blob_share: ~azure.mgmt.datamigration.models.BlobShare + :param backup_mode: Backup Mode to specify whether to use existing backup or create new backup. + Possible values include: "CreateBackup", "ExistingBackup". + :type backup_mode: str or ~azure.mgmt.datamigration.models.BackupMode + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + 'backup_blob_share': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'selected_logins': {'key': 'selectedLogins', 'type': '[str]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'backup_blob_share': {'key': 'backupBlobShare', 'type': 'BlobShare'}, + 'backup_mode': {'key': 'backupMode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + self.selected_databases = kwargs['selected_databases'] + self.selected_logins = kwargs.get('selected_logins', None) + self.backup_file_share = kwargs.get('backup_file_share', None) + self.backup_blob_share = kwargs['backup_blob_share'] + self.backup_mode = kwargs.get('backup_mode', None) + + +class ValidateMigrationInputSqlServerSqlMiTaskOutput(msrest.serialization.Model): + """Output for task that validates migration input for SQL to Azure SQL Managed Instance migrations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar name: Name of database. + :vartype name: str + :ivar restore_database_name_errors: Errors associated with the RestoreDatabaseName. + :vartype restore_database_name_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_folder_errors: Errors associated with the BackupFolder path. + :vartype backup_folder_errors: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_share_credentials_errors: Errors associated with backup share user name and + password credentials. + :vartype backup_share_credentials_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_storage_account_errors: Errors associated with the storage account provided. + :vartype backup_storage_account_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar existing_backup_errors: Errors associated with existing backup files. + :vartype existing_backup_errors: list[~azure.mgmt.datamigration.models.ReportableException] + :param database_backup_info: Information about backup files when existing backup mode is used. + :type database_backup_info: ~azure.mgmt.datamigration.models.DatabaseBackupInfo + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'restore_database_name_errors': {'readonly': True}, + 'backup_folder_errors': {'readonly': True}, + 'backup_share_credentials_errors': {'readonly': True}, + 'backup_storage_account_errors': {'readonly': True}, + 'existing_backup_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name_errors': {'key': 'restoreDatabaseNameErrors', 'type': '[ReportableException]'}, + 'backup_folder_errors': {'key': 'backupFolderErrors', 'type': '[ReportableException]'}, + 'backup_share_credentials_errors': {'key': 'backupShareCredentialsErrors', 'type': '[ReportableException]'}, + 'backup_storage_account_errors': {'key': 'backupStorageAccountErrors', 'type': '[ReportableException]'}, + 'existing_backup_errors': {'key': 'existingBackupErrors', 'type': '[ReportableException]'}, + 'database_backup_info': {'key': 'databaseBackupInfo', 'type': 'DatabaseBackupInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiTaskOutput, self).__init__(**kwargs) + self.id = None + self.name = None + self.restore_database_name_errors = None + self.backup_folder_errors = None + self.backup_share_credentials_errors = None + self.backup_storage_account_errors = None + self.existing_backup_errors = None + self.database_backup_info = kwargs.get('database_backup_info', None) + + +class ValidateMigrationInputSqlServerSqlMiTaskProperties(ProjectTaskProperties): + """Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlMiTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlMiTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ValidateMigrationInputSqlServerSqlMiTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateMigrationInputSqlServerSqlMiTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiTaskProperties, self).__init__(**kwargs) + self.task_type = 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ValidateMongoDbTaskProperties(ProjectTaskProperties): + """Properties for the task that validates a migration between MongoDB data sources. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Describes how a MongoDB data migration should be performed. + :type input: ~azure.mgmt.datamigration.models.MongoDbMigrationSettings + :ivar output: An array containing a single MongoDbMigrationProgress object. + :vartype output: list[~azure.mgmt.datamigration.models.MongoDbMigrationProgress] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MongoDbMigrationSettings'}, + 'output': {'key': 'output', 'type': '[MongoDbMigrationProgress]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMongoDbTaskProperties, self).__init__(**kwargs) + self.task_type = 'Validate.MongoDb' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ValidateOracleAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Input for the task that migrates Oracle databases to Azure Database for + PostgreSQL for online migrations. + :type input: ~azure.mgmt.datamigration.models.MigrateOracleAzureDbPostgreSqlSyncTaskInput + :ivar output: An array containing a single validation error response object. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateOracleAzureDbPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateOracleAzureDbPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateOracleAzureDbPostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, self).__init__(**kwargs) + self.task_type = 'Validate.Oracle.AzureDbPostgreSql.Sync' # type: str + self.input = kwargs.get('input', None) + self.output = None + + +class ValidateOracleAzureDbPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for task that validates migration input for Oracle to Azure Database for PostgreSQL for online migrations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar validation_errors: Errors associated with a selected database object. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateOracleAzureDbPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.validation_errors = None + + +class ValidateSyncMigrationInputSqlServerTaskInput(msrest.serialization.Model): + """Input for task that validates migration input for SQL sync migrations. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source SQL server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncDatabaseInput] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlDbSyncDatabaseInput]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateSyncMigrationInputSqlServerTaskInput, self).__init__(**kwargs) + self.source_connection_info = kwargs['source_connection_info'] + self.target_connection_info = kwargs['target_connection_info'] + self.selected_databases = kwargs['selected_databases'] + + +class ValidateSyncMigrationInputSqlServerTaskOutput(msrest.serialization.Model): + """Output for task that validates migration input for SQL sync migrations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Database identifier. + :vartype id: str + :ivar name: Name of database. + :vartype name: str + :ivar validation_errors: Errors associated with a selected database object. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateSyncMigrationInputSqlServerTaskOutput, self).__init__(**kwargs) + self.id = None + self.name = None + self.validation_errors = None + + +class ValidationError(msrest.serialization.Model): + """Description about the errors happen while performing migration validation. + + :param text: Error Text. + :type text: str + :param severity: Severity of the error. Possible values include: "Message", "Warning", "Error". + :type severity: str or ~azure.mgmt.datamigration.models.Severity + """ + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidationError, self).__init__(**kwargs) + self.text = kwargs.get('text', None) + self.severity = kwargs.get('severity', None) + + +class WaitStatistics(msrest.serialization.Model): + """Wait statistics gathered during query batch execution. + + :param wait_type: Type of the Wait. + :type wait_type: str + :param wait_time_ms: Total wait time in millisecond(s). + :type wait_time_ms: float + :param wait_count: Total no. of waits. + :type wait_count: long + """ + + _attribute_map = { + 'wait_type': {'key': 'waitType', 'type': 'str'}, + 'wait_time_ms': {'key': 'waitTimeMs', 'type': 'float'}, + 'wait_count': {'key': 'waitCount', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(WaitStatistics, self).__init__(**kwargs) + self.wait_type = kwargs.get('wait_type', None) + self.wait_time_ms = kwargs.get('wait_time_ms', 0) + self.wait_count = kwargs.get('wait_count', None) diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_models_py3.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_models_py3.py new file mode 100644 index 00000000000..18448edb8e1 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/models/_models_py3.py @@ -0,0 +1,16012 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._data_migration_management_client_enums import * + + +class ApiError(msrest.serialization.Model): + """Error information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param error: Error information in OData format. + :type error: ~azure.mgmt.datamigration.models.ODataError + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ODataError'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + error: Optional["ODataError"] = None, + **kwargs + ): + super(ApiError, self).__init__(**kwargs) + self.error = error + self.system_data = None + + +class AuthenticationKeys(msrest.serialization.Model): + """An authentication key. + + :param auth_key1: The first authentication key. + :type auth_key1: str + :param auth_key2: The second authentication key. + :type auth_key2: str + """ + + _attribute_map = { + 'auth_key1': {'key': 'authKey1', 'type': 'str'}, + 'auth_key2': {'key': 'authKey2', 'type': 'str'}, + } + + def __init__( + self, + *, + auth_key1: Optional[str] = None, + auth_key2: Optional[str] = None, + **kwargs + ): + super(AuthenticationKeys, self).__init__(**kwargs) + self.auth_key1 = auth_key1 + self.auth_key2 = auth_key2 + + +class AvailableServiceSku(msrest.serialization.Model): + """Describes the available service SKU. + + :param resource_type: The resource type, including the provider namespace. + :type resource_type: str + :param sku: SKU name, tier, etc. + :type sku: ~azure.mgmt.datamigration.models.AvailableServiceSkuautogenerated + :param capacity: A description of the scaling capacities of the SKU. + :type capacity: ~azure.mgmt.datamigration.models.AvailableServiceSkuCapacity + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'AvailableServiceSkuautogenerated'}, + 'capacity': {'key': 'capacity', 'type': 'AvailableServiceSkuCapacity'}, + } + + def __init__( + self, + *, + resource_type: Optional[str] = None, + sku: Optional["AvailableServiceSkuautogenerated"] = None, + capacity: Optional["AvailableServiceSkuCapacity"] = None, + **kwargs + ): + super(AvailableServiceSku, self).__init__(**kwargs) + self.resource_type = resource_type + self.sku = sku + self.capacity = capacity + + +class AvailableServiceSkuautogenerated(msrest.serialization.Model): + """SKU name, tier, etc. + + :param name: The name of the SKU. + :type name: str + :param family: SKU family. + :type family: str + :param size: SKU size. + :type size: str + :param tier: The tier of the SKU, such as "Basic", "General Purpose", or "Business Critical". + :type tier: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + family: Optional[str] = None, + size: Optional[str] = None, + tier: Optional[str] = None, + **kwargs + ): + super(AvailableServiceSkuautogenerated, self).__init__(**kwargs) + self.name = name + self.family = family + self.size = size + self.tier = tier + + +class AvailableServiceSkuCapacity(msrest.serialization.Model): + """A description of the scaling capacities of the SKU. + + :param minimum: The minimum capacity, usually 0 or 1. + :type minimum: int + :param maximum: The maximum capacity. + :type maximum: int + :param default: The default capacity. + :type default: int + :param scale_type: The scalability approach. Possible values include: "none", "manual", + "automatic". + :type scale_type: str or ~azure.mgmt.datamigration.models.ServiceScalability + """ + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__( + self, + *, + minimum: Optional[int] = None, + maximum: Optional[int] = None, + default: Optional[int] = None, + scale_type: Optional[Union[str, "ServiceScalability"]] = None, + **kwargs + ): + super(AvailableServiceSkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class AzureActiveDirectoryApp(msrest.serialization.Model): + """Azure Active Directory Application. + + All required parameters must be populated in order to send to Azure. + + :param application_id: Required. Application ID of the Azure Active Directory Application. + :type application_id: str + :param app_key: Required. Key used to authenticate to the Azure Active Directory Application. + :type app_key: str + :param tenant_id: Required. Tenant id of the customer. + :type tenant_id: str + """ + + _validation = { + 'application_id': {'required': True}, + 'app_key': {'required': True}, + 'tenant_id': {'required': True}, + } + + _attribute_map = { + 'application_id': {'key': 'applicationId', 'type': 'str'}, + 'app_key': {'key': 'appKey', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + *, + application_id: str, + app_key: str, + tenant_id: str, + **kwargs + ): + super(AzureActiveDirectoryApp, self).__init__(**kwargs) + self.application_id = application_id + self.app_key = app_key + self.tenant_id = tenant_id + + +class AzureBlob(msrest.serialization.Model): + """Azure Blob Details. + + :param storage_account_resource_id: Resource Id of the storage account where backups are + stored. + :type storage_account_resource_id: str + :param account_key: Storage Account Key. + :type account_key: str + :param blob_container_name: Blob container name where backups are stored. + :type blob_container_name: str + """ + + _attribute_map = { + 'storage_account_resource_id': {'key': 'storageAccountResourceId', 'type': 'str'}, + 'account_key': {'key': 'accountKey', 'type': 'str'}, + 'blob_container_name': {'key': 'blobContainerName', 'type': 'str'}, + } + + def __init__( + self, + *, + storage_account_resource_id: Optional[str] = None, + account_key: Optional[str] = None, + blob_container_name: Optional[str] = None, + **kwargs + ): + super(AzureBlob, self).__init__(**kwargs) + self.storage_account_resource_id = storage_account_resource_id + self.account_key = account_key + self.blob_container_name = blob_container_name + + +class BackupConfiguration(msrest.serialization.Model): + """Backup Configuration. + + :param source_location: Source location of backups. + :type source_location: ~azure.mgmt.datamigration.models.SourceLocation + :param target_location: Target location for copying backups. + :type target_location: ~azure.mgmt.datamigration.models.TargetLocation + """ + + _attribute_map = { + 'source_location': {'key': 'sourceLocation', 'type': 'SourceLocation'}, + 'target_location': {'key': 'targetLocation', 'type': 'TargetLocation'}, + } + + def __init__( + self, + *, + source_location: Optional["SourceLocation"] = None, + target_location: Optional["TargetLocation"] = None, + **kwargs + ): + super(BackupConfiguration, self).__init__(**kwargs) + self.source_location = source_location + self.target_location = target_location + + +class BackupFileInfo(msrest.serialization.Model): + """Information of the backup file. + + :param file_location: Location of the backup file in shared folder. + :type file_location: str + :param family_sequence_number: Sequence number of the backup file in the backup set. + :type family_sequence_number: int + :param status: Status of the backup file during migration. Possible values include: "Arrived", + "Queued", "Uploading", "Uploaded", "Restoring", "Restored", "Cancelled". + :type status: str or ~azure.mgmt.datamigration.models.BackupFileStatus + """ + + _attribute_map = { + 'file_location': {'key': 'fileLocation', 'type': 'str'}, + 'family_sequence_number': {'key': 'familySequenceNumber', 'type': 'int'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + file_location: Optional[str] = None, + family_sequence_number: Optional[int] = None, + status: Optional[Union[str, "BackupFileStatus"]] = None, + **kwargs + ): + super(BackupFileInfo, self).__init__(**kwargs) + self.file_location = file_location + self.family_sequence_number = family_sequence_number + self.status = status + + +class BackupSetInfo(msrest.serialization.Model): + """Information of backup set. + + :param backup_set_id: Id for the set of backup files. + :type backup_set_id: str + :param first_lsn: First log sequence number of the backup file. + :type first_lsn: str + :param last_lsn: Last log sequence number of the backup file. + :type last_lsn: str + :param last_modified_time: Last modified time of the backup file in share location. + :type last_modified_time: ~datetime.datetime + :param backup_type: Enum of the different backup types. Possible values include: "Database", + "TransactionLog", "File", "DifferentialDatabase", "DifferentialFile", "Partial", + "DifferentialPartial". + :type backup_type: str or ~azure.mgmt.datamigration.models.BackupType + :param list_of_backup_files: List of files in the backup set. + :type list_of_backup_files: list[~azure.mgmt.datamigration.models.BackupFileInfo] + :param database_name: Name of the database to which the backup set belongs. + :type database_name: str + :param backup_start_date: Date and time that the backup operation began. + :type backup_start_date: ~datetime.datetime + :param backup_finished_date: Date and time that the backup operation finished. + :type backup_finished_date: ~datetime.datetime + :param is_backup_restored: Whether the backup set is restored or not. + :type is_backup_restored: bool + """ + + _attribute_map = { + 'backup_set_id': {'key': 'backupSetId', 'type': 'str'}, + 'first_lsn': {'key': 'firstLsn', 'type': 'str'}, + 'last_lsn': {'key': 'lastLsn', 'type': 'str'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + 'backup_type': {'key': 'backupType', 'type': 'str'}, + 'list_of_backup_files': {'key': 'listOfBackupFiles', 'type': '[BackupFileInfo]'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'backup_start_date': {'key': 'backupStartDate', 'type': 'iso-8601'}, + 'backup_finished_date': {'key': 'backupFinishedDate', 'type': 'iso-8601'}, + 'is_backup_restored': {'key': 'isBackupRestored', 'type': 'bool'}, + } + + def __init__( + self, + *, + backup_set_id: Optional[str] = None, + first_lsn: Optional[str] = None, + last_lsn: Optional[str] = None, + last_modified_time: Optional[datetime.datetime] = None, + backup_type: Optional[Union[str, "BackupType"]] = None, + list_of_backup_files: Optional[List["BackupFileInfo"]] = None, + database_name: Optional[str] = None, + backup_start_date: Optional[datetime.datetime] = None, + backup_finished_date: Optional[datetime.datetime] = None, + is_backup_restored: Optional[bool] = None, + **kwargs + ): + super(BackupSetInfo, self).__init__(**kwargs) + self.backup_set_id = backup_set_id + self.first_lsn = first_lsn + self.last_lsn = last_lsn + self.last_modified_time = last_modified_time + self.backup_type = backup_type + self.list_of_backup_files = list_of_backup_files + self.database_name = database_name + self.backup_start_date = backup_start_date + self.backup_finished_date = backup_finished_date + self.is_backup_restored = is_backup_restored + + +class BlobShare(msrest.serialization.Model): + """Blob container storage information. + + All required parameters must be populated in order to send to Azure. + + :param sas_uri: Required. SAS URI of Azure Storage Account Container. + :type sas_uri: str + """ + + _validation = { + 'sas_uri': {'required': True}, + } + + _attribute_map = { + 'sas_uri': {'key': 'sasUri', 'type': 'str'}, + } + + def __init__( + self, + *, + sas_uri: str, + **kwargs + ): + super(BlobShare, self).__init__(**kwargs) + self.sas_uri = sas_uri + + +class CheckOciDriverTaskInput(msrest.serialization.Model): + """Input for the service task to check for OCI drivers. + + :param server_version: Version of the source server to check against. Optional. + :type server_version: str + """ + + _attribute_map = { + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + server_version: Optional[str] = None, + **kwargs + ): + super(CheckOciDriverTaskInput, self).__init__(**kwargs) + self.server_version = server_version + + +class CheckOciDriverTaskOutput(msrest.serialization.Model): + """Output for the service task to check for OCI drivers. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param installed_driver: Information about the installed driver if found and valid. + :type installed_driver: ~azure.mgmt.datamigration.models.OracleOciDriverInfo + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'installed_driver': {'key': 'installedDriver', 'type': 'OracleOciDriverInfo'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + *, + installed_driver: Optional["OracleOciDriverInfo"] = None, + **kwargs + ): + super(CheckOciDriverTaskOutput, self).__init__(**kwargs) + self.installed_driver = installed_driver + self.validation_errors = None + + +class ProjectTaskProperties(msrest.serialization.Model): + """Base class for all types of DMS task properties. If task is not supported by current client, this object is returned. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ConnectToMongoDbTaskProperties, ConnectToSourceMySqlTaskProperties, ConnectToSourceOracleSyncTaskProperties, ConnectToSourcePostgreSqlSyncTaskProperties, ConnectToSourceSqlServerTaskProperties, ConnectToSourceSqlServerSyncTaskProperties, ConnectToTargetAzureDbForMySqlTaskProperties, ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, ConnectToTargetSqlMiTaskProperties, ConnectToTargetSqlMiSyncTaskProperties, ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, ConnectToTargetSqlDbTaskProperties, ConnectToTargetSqlDbSyncTaskProperties, GetTdeCertificatesSqlTaskProperties, GetUserTablesSqlSyncTaskProperties, GetUserTablesSqlTaskProperties, GetUserTablesMySqlTaskProperties, GetUserTablesOracleTaskProperties, GetUserTablesPostgreSqlTaskProperties, MigrateMongoDbTaskProperties, MigrateMySqlAzureDbForMySqlOfflineTaskProperties, MigrateMySqlAzureDbForMySqlSyncTaskProperties, MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, MigrateSqlServerSqlDbSyncTaskProperties, MigrateSqlServerSqlMiTaskProperties, MigrateSqlServerSqlMiSyncTaskProperties, MigrateSqlServerSqlDbTaskProperties, MigrateSsisTaskProperties, MigrateSchemaSqlServerSqlDbTaskProperties, CheckOciDriverTaskProperties, InstallOciDriverTaskProperties, UploadOciDriverTaskProperties, ValidateMongoDbTaskProperties, ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, ValidateMigrationInputSqlServerSqlMiTaskProperties, ValidateMigrationInputSqlServerSqlMiSyncTaskProperties, ValidateMigrationInputSqlServerSqlDbSyncTaskProperties. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + } + + _subtype_map = { + 'task_type': {'Connect.MongoDb': 'ConnectToMongoDbTaskProperties', 'ConnectToSource.MySql': 'ConnectToSourceMySqlTaskProperties', 'ConnectToSource.Oracle.Sync': 'ConnectToSourceOracleSyncTaskProperties', 'ConnectToSource.PostgreSql.Sync': 'ConnectToSourcePostgreSqlSyncTaskProperties', 'ConnectToSource.SqlServer': 'ConnectToSourceSqlServerTaskProperties', 'ConnectToSource.SqlServer.Sync': 'ConnectToSourceSqlServerSyncTaskProperties', 'ConnectToTarget.AzureDbForMySql': 'ConnectToTargetAzureDbForMySqlTaskProperties', 'ConnectToTarget.AzureDbForPostgreSql.Sync': 'ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties', 'ConnectToTarget.AzureSqlDbMI': 'ConnectToTargetSqlMiTaskProperties', 'ConnectToTarget.AzureSqlDbMI.Sync.LRS': 'ConnectToTargetSqlMiSyncTaskProperties', 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync': 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties', 'ConnectToTarget.SqlDb': 'ConnectToTargetSqlDbTaskProperties', 'ConnectToTarget.SqlDb.Sync': 'ConnectToTargetSqlDbSyncTaskProperties', 'GetTDECertificates.Sql': 'GetTdeCertificatesSqlTaskProperties', 'GetUserTables.AzureSqlDb.Sync': 'GetUserTablesSqlSyncTaskProperties', 'GetUserTables.Sql': 'GetUserTablesSqlTaskProperties', 'GetUserTablesMySql': 'GetUserTablesMySqlTaskProperties', 'GetUserTablesOracle': 'GetUserTablesOracleTaskProperties', 'GetUserTablesPostgreSql': 'GetUserTablesPostgreSqlTaskProperties', 'Migrate.MongoDb': 'MigrateMongoDbTaskProperties', 'Migrate.MySql.AzureDbForMySql': 'MigrateMySqlAzureDbForMySqlOfflineTaskProperties', 'Migrate.MySql.AzureDbForMySql.Sync': 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', 'Migrate.Oracle.AzureDbForPostgreSql.Sync': 'MigrateOracleAzureDbForPostgreSqlSyncTaskProperties', 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties', 'Migrate.SqlServer.AzureSqlDb.Sync': 'MigrateSqlServerSqlDbSyncTaskProperties', 'Migrate.SqlServer.AzureSqlDbMI': 'MigrateSqlServerSqlMiTaskProperties', 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS': 'MigrateSqlServerSqlMiSyncTaskProperties', 'Migrate.SqlServer.SqlDb': 'MigrateSqlServerSqlDbTaskProperties', 'Migrate.Ssis': 'MigrateSsisTaskProperties', 'MigrateSchemaSqlServerSqlDb': 'MigrateSchemaSqlServerSqlDbTaskProperties', 'Service.Check.OCI': 'CheckOciDriverTaskProperties', 'Service.Install.OCI': 'InstallOciDriverTaskProperties', 'Service.Upload.OCI': 'UploadOciDriverTaskProperties', 'Validate.MongoDb': 'ValidateMongoDbTaskProperties', 'Validate.Oracle.AzureDbPostgreSql.Sync': 'ValidateOracleAzureDbForPostgreSqlSyncTaskProperties', 'ValidateMigrationInput.SqlServer.AzureSqlDbMI': 'ValidateMigrationInputSqlServerSqlMiTaskProperties', 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS': 'ValidateMigrationInputSqlServerSqlMiSyncTaskProperties', 'ValidateMigrationInput.SqlServer.SqlDb.Sync': 'ValidateMigrationInputSqlServerSqlDbSyncTaskProperties'} + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + **kwargs + ): + super(ProjectTaskProperties, self).__init__(**kwargs) + self.task_type = None # type: Optional[str] + self.errors = None + self.state = None + self.commands = None + self.client_data = client_data + + +class CheckOciDriverTaskProperties(ProjectTaskProperties): + """Properties for the task that checks for OCI drivers. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Input for the service task to check for OCI drivers. + :type input: ~azure.mgmt.datamigration.models.CheckOciDriverTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.CheckOciDriverTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'CheckOciDriverTaskInput'}, + 'output': {'key': 'output', 'type': '[CheckOciDriverTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["CheckOciDriverTaskInput"] = None, + **kwargs + ): + super(CheckOciDriverTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Service.Check.OCI' # type: str + self.input = input + self.output = None + + +class CommandProperties(msrest.serialization.Model): + """Base class for all types of DMS command properties. If command is not supported by current client, this object is returned. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateMiSyncCompleteCommandProperties, MigrateSyncCompleteCommandProperties, MongoDbCancelCommand, MongoDbFinishCommand, MongoDbRestartCommand. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + _subtype_map = { + 'command_type': {'Migrate.SqlServer.AzureDbSqlMi.Complete': 'MigrateMiSyncCompleteCommandProperties', 'Migrate.Sync.Complete.Database': 'MigrateSyncCompleteCommandProperties', 'cancel': 'MongoDbCancelCommand', 'finish': 'MongoDbFinishCommand', 'restart': 'MongoDbRestartCommand'} + } + + def __init__( + self, + **kwargs + ): + super(CommandProperties, self).__init__(**kwargs) + self.command_type = None # type: Optional[str] + self.errors = None + self.state = None + + +class ConnectionInfo(msrest.serialization.Model): + """Defines the connection properties of a server. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MiSqlConnectionInfo, MongoDbConnectionInfo, MySqlConnectionInfo, OracleConnectionInfo, PostgreSqlConnectionInfo, SqlConnectionInfo. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'MiSqlConnectionInfo': 'MiSqlConnectionInfo', 'MongoDbConnectionInfo': 'MongoDbConnectionInfo', 'MySqlConnectionInfo': 'MySqlConnectionInfo', 'OracleConnectionInfo': 'OracleConnectionInfo', 'PostgreSqlConnectionInfo': 'PostgreSqlConnectionInfo', 'SqlConnectionInfo': 'SqlConnectionInfo'} + } + + def __init__( + self, + *, + user_name: Optional[str] = None, + password: Optional[str] = None, + **kwargs + ): + super(ConnectionInfo, self).__init__(**kwargs) + self.type = None # type: Optional[str] + self.user_name = user_name + self.password = password + + +class ConnectToMongoDbTaskProperties(ProjectTaskProperties): + """Properties for the task that validates the connection to and provides information about a MongoDB server. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Describes a connection to a MongoDB data source. + :type input: ~azure.mgmt.datamigration.models.MongoDbConnectionInfo + :ivar output: An array containing a single MongoDbClusterInfo object. + :vartype output: list[~azure.mgmt.datamigration.models.MongoDbClusterInfo] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MongoDbConnectionInfo'}, + 'output': {'key': 'output', 'type': '[MongoDbClusterInfo]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MongoDbConnectionInfo"] = None, + **kwargs + ): + super(ConnectToMongoDbTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Connect.MongoDb' # type: str + self.input = input + self.output = None + + +class ConnectToSourceMySqlTaskInput(msrest.serialization.Model): + """Input for the task that validates MySQL database connection. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to MySQL source. + :type source_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_platform: Target Platform for the migration. Possible values include: + "SqlServer", "AzureDbForMySQL". + :type target_platform: str or ~azure.mgmt.datamigration.models.MySqlTargetPlatformType + :param check_permissions_group: Permission group for validations. Possible values include: + "Default", "MigrationFromSqlServerToAzureDB", "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL". + :type check_permissions_group: str or + ~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup + :param is_offline_migration: Flag for whether or not the migration is offline. + :type is_offline_migration: bool + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_platform': {'key': 'targetPlatform', 'type': 'str'}, + 'check_permissions_group': {'key': 'checkPermissionsGroup', 'type': 'str'}, + 'is_offline_migration': {'key': 'isOfflineMigration', 'type': 'bool'}, + } + + def __init__( + self, + *, + source_connection_info: "MySqlConnectionInfo", + target_platform: Optional[Union[str, "MySqlTargetPlatformType"]] = None, + check_permissions_group: Optional[Union[str, "ServerLevelPermissionsGroup"]] = None, + is_offline_migration: Optional[bool] = False, + **kwargs + ): + super(ConnectToSourceMySqlTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_platform = target_platform + self.check_permissions_group = check_permissions_group + self.is_offline_migration = is_offline_migration + + +class ConnectToSourceMySqlTaskProperties(ProjectTaskProperties): + """Properties for the task that validates MySQL database connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourceMySqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourceNonSqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceMySqlTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceNonSqlTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToSourceMySqlTaskInput"] = None, + **kwargs + ): + super(ConnectToSourceMySqlTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToSource.MySql' # type: str + self.input = input + self.output = None + + +class ConnectToSourceNonSqlTaskOutput(msrest.serialization.Model): + """Output for connect to MySQL type source. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar source_server_brand_version: Server brand version. + :vartype source_server_brand_version: str + :ivar server_properties: Server properties. + :vartype server_properties: ~azure.mgmt.datamigration.models.ServerProperties + :ivar databases: List of databases on the server. + :vartype databases: list[str] + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'server_properties': {'readonly': True}, + 'databases': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'server_properties': {'key': 'serverProperties', 'type': 'ServerProperties'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceNonSqlTaskOutput, self).__init__(**kwargs) + self.id = None + self.source_server_brand_version = None + self.server_properties = None + self.databases = None + self.validation_errors = None + + +class ConnectToSourceOracleSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates Oracle database connection. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to Oracle source. + :type source_connection_info: ~azure.mgmt.datamigration.models.OracleConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'OracleConnectionInfo'}, + } + + def __init__( + self, + *, + source_connection_info: "OracleConnectionInfo", + **kwargs + ): + super(ConnectToSourceOracleSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + + +class ConnectToSourceOracleSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates Oracle database connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar source_server_version: Version of the source server. + :vartype source_server_version: str + :ivar databases: List of schemas on source server. + :vartype databases: list[str] + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'source_server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceOracleSyncTaskOutput, self).__init__(**kwargs) + self.source_server_version = None + self.databases = None + self.source_server_brand_version = None + self.validation_errors = None + + +class ConnectToSourceOracleSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates Oracle database connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourceOracleSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourceOracleSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceOracleSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceOracleSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToSourceOracleSyncTaskInput"] = None, + **kwargs + ): + super(ConnectToSourceOracleSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToSource.Oracle.Sync' # type: str + self.input = input + self.output = None + + +class ConnectToSourcePostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to PostgreSQL and source server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source PostgreSQL server. + :type source_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + } + + def __init__( + self, + *, + source_connection_info: "PostgreSqlConnectionInfo", + **kwargs + ): + super(ConnectToSourcePostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + + +class ConnectToSourcePostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to PostgreSQL and source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar source_server_version: Version of the source server. + :vartype source_server_version: str + :ivar databases: List of databases on source server. + :vartype databases: list[str] + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourcePostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.source_server_version = None + self.databases = None + self.source_server_brand_version = None + self.validation_errors = None + + +class ConnectToSourcePostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourcePostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourcePostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourcePostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourcePostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToSourcePostgreSqlSyncTaskInput"] = None, + **kwargs + ): + super(ConnectToSourcePostgreSqlSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToSource.PostgreSql.Sync' # type: str + self.input = input + self.output = None + + +class ConnectToSourceSqlServerSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL Server and source server requirements for online migration. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceSqlServerTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToSourceSqlServerTaskInput"] = None, + **kwargs + ): + super(ConnectToSourceSqlServerSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToSource.SqlServer.Sync' # type: str + self.input = input + self.output = None + + +class ConnectToSourceSqlServerTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to SQL Server and also validates source server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for Source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param check_permissions_group: Permission group for validations. Possible values include: + "Default", "MigrationFromSqlServerToAzureDB", "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL". + :type check_permissions_group: str or + ~azure.mgmt.datamigration.models.ServerLevelPermissionsGroup + :param collect_databases: Flag for whether to collect databases from source server. + :type collect_databases: bool + :param collect_logins: Flag for whether to collect logins from source server. + :type collect_logins: bool + :param collect_agent_jobs: Flag for whether to collect agent jobs from source server. + :type collect_agent_jobs: bool + :param collect_tde_certificate_info: Flag for whether to collect TDE Certificate names from + source server. + :type collect_tde_certificate_info: bool + :param validate_ssis_catalog_only: Flag for whether to validate SSIS catalog is reachable on + the source server. + :type validate_ssis_catalog_only: bool + """ + + _validation = { + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'check_permissions_group': {'key': 'checkPermissionsGroup', 'type': 'str'}, + 'collect_databases': {'key': 'collectDatabases', 'type': 'bool'}, + 'collect_logins': {'key': 'collectLogins', 'type': 'bool'}, + 'collect_agent_jobs': {'key': 'collectAgentJobs', 'type': 'bool'}, + 'collect_tde_certificate_info': {'key': 'collectTdeCertificateInfo', 'type': 'bool'}, + 'validate_ssis_catalog_only': {'key': 'validateSsisCatalogOnly', 'type': 'bool'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + check_permissions_group: Optional[Union[str, "ServerLevelPermissionsGroup"]] = None, + collect_databases: Optional[bool] = True, + collect_logins: Optional[bool] = False, + collect_agent_jobs: Optional[bool] = False, + collect_tde_certificate_info: Optional[bool] = False, + validate_ssis_catalog_only: Optional[bool] = False, + **kwargs + ): + super(ConnectToSourceSqlServerTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.check_permissions_group = check_permissions_group + self.collect_databases = collect_databases + self.collect_logins = collect_logins + self.collect_agent_jobs = collect_agent_jobs + self.collect_tde_certificate_info = collect_tde_certificate_info + self.validate_ssis_catalog_only = validate_ssis_catalog_only + + +class ConnectToSourceSqlServerTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to SQL Server and also validates source server requirements. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ConnectToSourceSqlServerTaskOutputAgentJobLevel, ConnectToSourceSqlServerTaskOutputDatabaseLevel, ConnectToSourceSqlServerTaskOutputLoginLevel, ConnectToSourceSqlServerTaskOutputTaskLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'AgentJobLevelOutput': 'ConnectToSourceSqlServerTaskOutputAgentJobLevel', 'DatabaseLevelOutput': 'ConnectToSourceSqlServerTaskOutputDatabaseLevel', 'LoginLevelOutput': 'ConnectToSourceSqlServerTaskOutputLoginLevel', 'TaskLevelOutput': 'ConnectToSourceSqlServerTaskOutputTaskLevel'} + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class ConnectToSourceSqlServerTaskOutputAgentJobLevel(ConnectToSourceSqlServerTaskOutput): + """Agent Job level output for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + :ivar name: Agent Job name. + :vartype name: str + :ivar job_category: The type of Agent Job. + :vartype job_category: str + :ivar is_enabled: The state of the original Agent Job. + :vartype is_enabled: bool + :ivar job_owner: The owner of the Agent Job. + :vartype job_owner: str + :ivar last_executed_on: UTC Date and time when the Agent Job was last executed. + :vartype last_executed_on: ~datetime.datetime + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar migration_eligibility: Information about eligibility of agent job for migration. + :vartype migration_eligibility: ~azure.mgmt.datamigration.models.MigrationEligibilityInfo + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'job_category': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'job_owner': {'readonly': True}, + 'last_executed_on': {'readonly': True}, + 'validation_errors': {'readonly': True}, + 'migration_eligibility': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'job_category': {'key': 'jobCategory', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'job_owner': {'key': 'jobOwner', 'type': 'str'}, + 'last_executed_on': {'key': 'lastExecutedOn', 'type': 'iso-8601'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + 'migration_eligibility': {'key': 'migrationEligibility', 'type': 'MigrationEligibilityInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutputAgentJobLevel, self).__init__(**kwargs) + self.result_type = 'AgentJobLevelOutput' # type: str + self.name = None + self.job_category = None + self.is_enabled = None + self.job_owner = None + self.last_executed_on = None + self.validation_errors = None + self.migration_eligibility = None + + +class ConnectToSourceSqlServerTaskOutputDatabaseLevel(ConnectToSourceSqlServerTaskOutput): + """Database level output for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + :ivar name: Database name. + :vartype name: str + :ivar size_mb: Size of the file in megabytes. + :vartype size_mb: float + :ivar database_files: The list of database files. + :vartype database_files: list[~azure.mgmt.datamigration.models.DatabaseFileInfo] + :ivar compatibility_level: SQL Server compatibility level of database. Possible values include: + "CompatLevel80", "CompatLevel90", "CompatLevel100", "CompatLevel110", "CompatLevel120", + "CompatLevel130", "CompatLevel140". + :vartype compatibility_level: str or ~azure.mgmt.datamigration.models.DatabaseCompatLevel + :ivar database_state: State of the database. Possible values include: "Online", "Restoring", + "Recovering", "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", + "OfflineSecondary". + :vartype database_state: str or ~azure.mgmt.datamigration.models.DatabaseState + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'size_mb': {'readonly': True}, + 'database_files': {'readonly': True}, + 'compatibility_level': {'readonly': True}, + 'database_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + 'database_files': {'key': 'databaseFiles', 'type': '[DatabaseFileInfo]'}, + 'compatibility_level': {'key': 'compatibilityLevel', 'type': 'str'}, + 'database_state': {'key': 'databaseState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.name = None + self.size_mb = None + self.database_files = None + self.compatibility_level = None + self.database_state = None + + +class ConnectToSourceSqlServerTaskOutputLoginLevel(ConnectToSourceSqlServerTaskOutput): + """Login level output for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + :ivar name: Login name. + :vartype name: str + :ivar login_type: The type of login. Possible values include: "WindowsUser", "WindowsGroup", + "SqlLogin", "Certificate", "AsymmetricKey", "ExternalUser", "ExternalGroup". + :vartype login_type: str or ~azure.mgmt.datamigration.models.LoginType + :ivar default_database: The default database for the login. + :vartype default_database: str + :ivar is_enabled: The state of the login. + :vartype is_enabled: bool + :ivar migration_eligibility: Information about eligibility of login for migration. + :vartype migration_eligibility: ~azure.mgmt.datamigration.models.MigrationEligibilityInfo + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'login_type': {'readonly': True}, + 'default_database': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'migration_eligibility': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'login_type': {'key': 'loginType', 'type': 'str'}, + 'default_database': {'key': 'defaultDatabase', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'migration_eligibility': {'key': 'migrationEligibility', 'type': 'MigrationEligibilityInfo'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutputLoginLevel, self).__init__(**kwargs) + self.result_type = 'LoginLevelOutput' # type: str + self.name = None + self.login_type = None + self.default_database = None + self.is_enabled = None + self.migration_eligibility = None + + +class ConnectToSourceSqlServerTaskOutputTaskLevel(ConnectToSourceSqlServerTaskOutput): + """Task level output for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Type of result - database level or task level.Constant filled by + server. + :type result_type: str + :ivar databases: Source databases as a map from database name to database id. + :vartype databases: str + :ivar logins: Source logins as a map from login name to login id. + :vartype logins: str + :ivar agent_jobs: Source agent jobs as a map from agent job name to id. + :vartype agent_jobs: str + :ivar database_tde_certificate_mapping: Mapping from database name to TDE certificate name, if + applicable. + :vartype database_tde_certificate_mapping: str + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'databases': {'readonly': True}, + 'logins': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'database_tde_certificate_mapping': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'logins': {'key': 'logins', 'type': 'str'}, + 'agent_jobs': {'key': 'agentJobs', 'type': 'str'}, + 'database_tde_certificate_mapping': {'key': 'databaseTdeCertificateMapping', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToSourceSqlServerTaskOutputTaskLevel, self).__init__(**kwargs) + self.result_type = 'TaskLevelOutput' # type: str + self.databases = None + self.logins = None + self.agent_jobs = None + self.database_tde_certificate_mapping = None + self.source_server_version = None + self.source_server_brand_version = None + self.validation_errors = None + + +class ConnectToSourceSqlServerTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL Server and also validates source server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToSourceSqlServerTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToSourceSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToSourceSqlServerTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToSourceSqlServerTaskInput"] = None, + **kwargs + ): + super(ConnectToSourceSqlServerTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToSource.SqlServer' # type: str + self.input = input + self.output = None + + +class ConnectToTargetAzureDbForMySqlTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure Database for MySQL and target server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source MySQL server. + :type source_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_connection_info: Required. Connection information for target Azure Database for + MySQL server. + :type target_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param is_offline_migration: Flag for whether or not the migration is offline. + :type is_offline_migration: bool + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'is_offline_migration': {'key': 'isOfflineMigration', 'type': 'bool'}, + } + + def __init__( + self, + *, + source_connection_info: "MySqlConnectionInfo", + target_connection_info: "MySqlConnectionInfo", + is_offline_migration: Optional[bool] = False, + **kwargs + ): + super(ConnectToTargetAzureDbForMySqlTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.is_offline_migration = is_offline_migration + + +class ConnectToTargetAzureDbForMySqlTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure Database for MySQL and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar server_version: Version of the target server. + :vartype server_version: str + :ivar databases: List of databases on target server. + :vartype databases: list[str] + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetAzureDbForMySqlTaskOutput, self).__init__(**kwargs) + self.id = None + self.server_version = None + self.databases = None + self.target_server_brand_version = None + self.validation_errors = None + + +class ConnectToTargetAzureDbForMySqlTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure Database for MySQL and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForMySqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForMySqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetAzureDbForMySqlTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetAzureDbForMySqlTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToTargetAzureDbForMySqlTaskInput"] = None, + **kwargs + ): + super(ConnectToTargetAzureDbForMySqlTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToTarget.AzureDbForMySql' # type: str + self.input = input + self.output = None + + +class ConnectToTargetAzureDbForPostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source PostgreSQL server. + :type source_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param target_connection_info: Required. Connection information for target Azure Database for + PostgreSQL server. + :type target_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + } + + def __init__( + self, + *, + source_connection_info: "PostgreSqlConnectionInfo", + target_connection_info: "PostgreSqlConnectionInfo", + **kwargs + ): + super(ConnectToTargetAzureDbForPostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + + +class ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar target_server_version: Version of the target server. + :vartype target_server_version: str + :ivar databases: List of databases on target server. + :vartype databases: list[str] + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.target_server_version = None + self.databases = None + self.target_server_brand_version = None + self.validation_errors = None + + +class ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetAzureDbForPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToTargetAzureDbForPostgreSqlSyncTaskInput"] = None, + **kwargs + ): + super(ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToTarget.AzureDbForPostgreSql.Sync' # type: str + self.input = input + self.output = None + + +class ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Connection information for target Azure Database for + PostgreSQL server. + :type target_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + } + + def __init__( + self, + *, + target_connection_info: "PostgreSqlConnectionInfo", + **kwargs + ): + super(ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.target_connection_info = target_connection_info + + +class ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar target_server_version: Version of the target server. + :vartype target_server_version: str + :ivar databases: List of databases on target server. + :vartype databases: list[str] + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + :param database_schema_map: Mapping of schemas per database. + :type database_schema_map: + list[~azure.mgmt.datamigration.models.ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem] + """ + + _validation = { + 'target_server_version': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': '[str]'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + 'database_schema_map': {'key': 'databaseSchemaMap', 'type': '[ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem]'}, + } + + def __init__( + self, + *, + database_schema_map: Optional[List["ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem"]] = None, + **kwargs + ): + super(ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.target_server_version = None + self.databases = None + self.target_server_brand_version = None + self.validation_errors = None + self.database_schema_map = database_schema_map + + +class ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem(msrest.serialization.Model): + """ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem. + + :param database: + :type database: str + :param schemas: + :type schemas: list[str] + """ + + _attribute_map = { + 'database': {'key': 'database', 'type': 'str'}, + 'schemas': {'key': 'schemas', 'type': '[str]'}, + } + + def __init__( + self, + *, + database: Optional[str] = None, + schemas: Optional[List[str]] = None, + **kwargs + ): + super(ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem, self).__init__(**kwargs) + self.database = database + self.schemas = schemas + + +class ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration for Oracle source. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: + ~azure.mgmt.datamigration.models.ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput"] = None, + **kwargs + ): + super(ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' # type: str + self.input = input + self.output = None + + +class ConnectToTargetSqlDbSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure SQL DB and target server requirements. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for target SQL DB. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + **kwargs + ): + super(ConnectToTargetSqlDbSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + + +class ConnectToTargetSqlDbSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL DB and target server requirements for online migration. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetSqlDbSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToTargetSqlDbTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlDbSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlDbTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToTargetSqlDbSyncTaskInput"] = None, + **kwargs + ): + super(ConnectToTargetSqlDbSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToTarget.SqlDb.Sync' # type: str + self.input = input + self.output = None + + +class ConnectToTargetSqlDbTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to SQL DB and target server requirements. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Connection information for target SQL DB. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__( + self, + *, + target_connection_info: "SqlConnectionInfo", + **kwargs + ): + super(ConnectToTargetSqlDbTaskInput, self).__init__(**kwargs) + self.target_connection_info = target_connection_info + + +class ConnectToTargetSqlDbTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to SQL DB and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar databases: Source databases as a map from database name to database id. + :vartype databases: str + :ivar target_server_version: Version of the target server. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'databases': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlDbTaskOutput, self).__init__(**kwargs) + self.id = None + self.databases = None + self.target_server_version = None + self.target_server_brand_version = None + + +class ConnectToTargetSqlDbTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to SQL DB and target server requirements. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetSqlDbTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToTargetSqlDbTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlDbTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlDbTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToTargetSqlDbTaskInput"] = None, + **kwargs + ): + super(ConnectToTargetSqlDbTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToTarget.SqlDb' # type: str + self.input = input + self.output = None + + +class ConnectToTargetSqlMiSyncTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure SQL Database Managed Instance online scenario. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Connection information for Azure SQL Database Managed + Instance. + :type target_connection_info: ~azure.mgmt.datamigration.models.MiSqlConnectionInfo + :param azure_app: Required. Azure Active Directory Application the DMS instance will use to + connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage + Account. + :type azure_app: ~azure.mgmt.datamigration.models.AzureActiveDirectoryApp + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'azure_app': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MiSqlConnectionInfo'}, + 'azure_app': {'key': 'azureApp', 'type': 'AzureActiveDirectoryApp'}, + } + + def __init__( + self, + *, + target_connection_info: "MiSqlConnectionInfo", + azure_app: "AzureActiveDirectoryApp", + **kwargs + ): + super(ConnectToTargetSqlMiSyncTaskInput, self).__init__(**kwargs) + self.target_connection_info = target_connection_info + self.azure_app = azure_app + + +class ConnectToTargetSqlMiSyncTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlMiSyncTaskOutput, self).__init__(**kwargs) + self.target_server_version = None + self.target_server_brand_version = None + self.validation_errors = None + + +class ConnectToTargetSqlMiSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetSqlMiSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToTargetSqlMiSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlMiSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlMiSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToTargetSqlMiSyncTaskInput"] = None, + **kwargs + ): + super(ConnectToTargetSqlMiSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToTarget.AzureSqlDbMI.Sync.LRS' # type: str + self.input = input + self.output = None + + +class ConnectToTargetSqlMiTaskInput(msrest.serialization.Model): + """Input for the task that validates connection to Azure SQL Database Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Connection information for target SQL Server. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param collect_logins: Flag for whether to collect logins from target SQL MI server. + :type collect_logins: bool + :param collect_agent_jobs: Flag for whether to collect agent jobs from target SQL MI server. + :type collect_agent_jobs: bool + :param validate_ssis_catalog_only: Flag for whether to validate SSIS catalog is reachable on + the target SQL MI server. + :type validate_ssis_catalog_only: bool + """ + + _validation = { + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'collect_logins': {'key': 'collectLogins', 'type': 'bool'}, + 'collect_agent_jobs': {'key': 'collectAgentJobs', 'type': 'bool'}, + 'validate_ssis_catalog_only': {'key': 'validateSsisCatalogOnly', 'type': 'bool'}, + } + + def __init__( + self, + *, + target_connection_info: "SqlConnectionInfo", + collect_logins: Optional[bool] = True, + collect_agent_jobs: Optional[bool] = True, + validate_ssis_catalog_only: Optional[bool] = False, + **kwargs + ): + super(ConnectToTargetSqlMiTaskInput, self).__init__(**kwargs) + self.target_connection_info = target_connection_info + self.collect_logins = collect_logins + self.collect_agent_jobs = collect_agent_jobs + self.validate_ssis_catalog_only = validate_ssis_catalog_only + + +class ConnectToTargetSqlMiTaskOutput(msrest.serialization.Model): + """Output for the task that validates connection to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar logins: List of logins on the target server. + :vartype logins: list[str] + :ivar agent_jobs: List of agent jobs on the target server. + :vartype agent_jobs: list[str] + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'logins': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'logins': {'key': 'logins', 'type': '[str]'}, + 'agent_jobs': {'key': 'agentJobs', 'type': '[str]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConnectToTargetSqlMiTaskOutput, self).__init__(**kwargs) + self.id = None + self.target_server_version = None + self.target_server_brand_version = None + self.logins = None + self.agent_jobs = None + self.validation_errors = None + + +class ConnectToTargetSqlMiTaskProperties(ProjectTaskProperties): + """Properties for the task that validates connection to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ConnectToTargetSqlMiTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.ConnectToTargetSqlMiTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ConnectToTargetSqlMiTaskInput'}, + 'output': {'key': 'output', 'type': '[ConnectToTargetSqlMiTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ConnectToTargetSqlMiTaskInput"] = None, + **kwargs + ): + super(ConnectToTargetSqlMiTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ConnectToTarget.AzureSqlDbMI' # type: str + self.input = input + self.output = None + + +class Database(msrest.serialization.Model): + """Information about a single database. + + :param id: Unique identifier for the database. + :type id: str + :param name: Name of the database. + :type name: str + :param compatibility_level: SQL Server compatibility level of database. Possible values + include: "CompatLevel80", "CompatLevel90", "CompatLevel100", "CompatLevel110", + "CompatLevel120", "CompatLevel130", "CompatLevel140". + :type compatibility_level: str or ~azure.mgmt.datamigration.models.DatabaseCompatLevel + :param collation: Collation name of the database. + :type collation: str + :param server_name: Name of the server. + :type server_name: str + :param fqdn: Fully qualified name. + :type fqdn: str + :param install_id: Install id of the database. + :type install_id: str + :param server_version: Version of the server. + :type server_version: str + :param server_edition: Edition of the server. + :type server_edition: str + :param server_level: Product level of the server (RTM, SP, CTP). + :type server_level: str + :param server_default_data_path: Default path of the data files. + :type server_default_data_path: str + :param server_default_log_path: Default path of the log files. + :type server_default_log_path: str + :param server_default_backup_path: Default path of the backup folder. + :type server_default_backup_path: str + :param server_core_count: Number of cores on the server. + :type server_core_count: int + :param server_visible_online_core_count: Number of cores on the server that have VISIBLE ONLINE + status. + :type server_visible_online_core_count: int + :param database_state: State of the database. Possible values include: "Online", "Restoring", + "Recovering", "RecoveryPending", "Suspect", "Emergency", "Offline", "Copying", + "OfflineSecondary". + :type database_state: str or ~azure.mgmt.datamigration.models.DatabaseState + :param server_id: The unique Server Id. + :type server_id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'compatibility_level': {'key': 'compatibilityLevel', 'type': 'str'}, + 'collation': {'key': 'collation', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'install_id': {'key': 'installId', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'server_edition': {'key': 'serverEdition', 'type': 'str'}, + 'server_level': {'key': 'serverLevel', 'type': 'str'}, + 'server_default_data_path': {'key': 'serverDefaultDataPath', 'type': 'str'}, + 'server_default_log_path': {'key': 'serverDefaultLogPath', 'type': 'str'}, + 'server_default_backup_path': {'key': 'serverDefaultBackupPath', 'type': 'str'}, + 'server_core_count': {'key': 'serverCoreCount', 'type': 'int'}, + 'server_visible_online_core_count': {'key': 'serverVisibleOnlineCoreCount', 'type': 'int'}, + 'database_state': {'key': 'databaseState', 'type': 'str'}, + 'server_id': {'key': 'serverId', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + compatibility_level: Optional[Union[str, "DatabaseCompatLevel"]] = None, + collation: Optional[str] = None, + server_name: Optional[str] = None, + fqdn: Optional[str] = None, + install_id: Optional[str] = None, + server_version: Optional[str] = None, + server_edition: Optional[str] = None, + server_level: Optional[str] = None, + server_default_data_path: Optional[str] = None, + server_default_log_path: Optional[str] = None, + server_default_backup_path: Optional[str] = None, + server_core_count: Optional[int] = None, + server_visible_online_core_count: Optional[int] = None, + database_state: Optional[Union[str, "DatabaseState"]] = None, + server_id: Optional[str] = None, + **kwargs + ): + super(Database, self).__init__(**kwargs) + self.id = id + self.name = name + self.compatibility_level = compatibility_level + self.collation = collation + self.server_name = server_name + self.fqdn = fqdn + self.install_id = install_id + self.server_version = server_version + self.server_edition = server_edition + self.server_level = server_level + self.server_default_data_path = server_default_data_path + self.server_default_log_path = server_default_log_path + self.server_default_backup_path = server_default_backup_path + self.server_core_count = server_core_count + self.server_visible_online_core_count = server_visible_online_core_count + self.database_state = database_state + self.server_id = server_id + + +class DatabaseBackupInfo(msrest.serialization.Model): + """Information about backup files when existing backup mode is used. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar database_name: Database name. + :vartype database_name: str + :ivar backup_type: Backup Type. Possible values include: "Database", "TransactionLog", "File", + "DifferentialDatabase", "DifferentialFile", "Partial", "DifferentialPartial". + :vartype backup_type: str or ~azure.mgmt.datamigration.models.BackupType + :ivar backup_files: The list of backup files for the current database. + :vartype backup_files: list[str] + :ivar position: Position of current database backup in the file. + :vartype position: int + :ivar is_damaged: Database was damaged when backed up, but the backup operation was requested + to continue despite errors. + :vartype is_damaged: bool + :ivar is_compressed: Whether the backup set is compressed. + :vartype is_compressed: bool + :ivar family_count: Number of files in the backup set. + :vartype family_count: int + :ivar backup_finish_date: Date and time when the backup operation finished. + :vartype backup_finish_date: ~datetime.datetime + """ + + _validation = { + 'database_name': {'readonly': True}, + 'backup_type': {'readonly': True}, + 'backup_files': {'readonly': True}, + 'position': {'readonly': True}, + 'is_damaged': {'readonly': True}, + 'is_compressed': {'readonly': True}, + 'family_count': {'readonly': True}, + 'backup_finish_date': {'readonly': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'backup_type': {'key': 'backupType', 'type': 'str'}, + 'backup_files': {'key': 'backupFiles', 'type': '[str]'}, + 'position': {'key': 'position', 'type': 'int'}, + 'is_damaged': {'key': 'isDamaged', 'type': 'bool'}, + 'is_compressed': {'key': 'isCompressed', 'type': 'bool'}, + 'family_count': {'key': 'familyCount', 'type': 'int'}, + 'backup_finish_date': {'key': 'backupFinishDate', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseBackupInfo, self).__init__(**kwargs) + self.database_name = None + self.backup_type = None + self.backup_files = None + self.position = None + self.is_damaged = None + self.is_compressed = None + self.family_count = None + self.backup_finish_date = None + + +class DatabaseFileInfo(msrest.serialization.Model): + """Database file specific information. + + :param database_name: Name of the database. + :type database_name: str + :param id: Unique identifier for database file. + :type id: str + :param logical_name: Logical name of the file. + :type logical_name: str + :param physical_full_name: Operating-system full path of the file. + :type physical_full_name: str + :param restore_full_name: Suggested full path of the file for restoring. + :type restore_full_name: str + :param file_type: Database file type. Possible values include: "Rows", "Log", "Filestream", + "NotSupported", "Fulltext". + :type file_type: str or ~azure.mgmt.datamigration.models.DatabaseFileType + :param size_mb: Size of the file in megabytes. + :type size_mb: float + """ + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'logical_name': {'key': 'logicalName', 'type': 'str'}, + 'physical_full_name': {'key': 'physicalFullName', 'type': 'str'}, + 'restore_full_name': {'key': 'restoreFullName', 'type': 'str'}, + 'file_type': {'key': 'fileType', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + } + + def __init__( + self, + *, + database_name: Optional[str] = None, + id: Optional[str] = None, + logical_name: Optional[str] = None, + physical_full_name: Optional[str] = None, + restore_full_name: Optional[str] = None, + file_type: Optional[Union[str, "DatabaseFileType"]] = None, + size_mb: Optional[float] = None, + **kwargs + ): + super(DatabaseFileInfo, self).__init__(**kwargs) + self.database_name = database_name + self.id = id + self.logical_name = logical_name + self.physical_full_name = physical_full_name + self.restore_full_name = restore_full_name + self.file_type = file_type + self.size_mb = size_mb + + +class DatabaseFileInput(msrest.serialization.Model): + """Database file specific information for input. + + :param id: Unique identifier for database file. + :type id: str + :param logical_name: Logical name of the file. + :type logical_name: str + :param physical_full_name: Operating-system full path of the file. + :type physical_full_name: str + :param restore_full_name: Suggested full path of the file for restoring. + :type restore_full_name: str + :param file_type: Database file type. Possible values include: "Rows", "Log", "Filestream", + "NotSupported", "Fulltext". + :type file_type: str or ~azure.mgmt.datamigration.models.DatabaseFileType + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'logical_name': {'key': 'logicalName', 'type': 'str'}, + 'physical_full_name': {'key': 'physicalFullName', 'type': 'str'}, + 'restore_full_name': {'key': 'restoreFullName', 'type': 'str'}, + 'file_type': {'key': 'fileType', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + logical_name: Optional[str] = None, + physical_full_name: Optional[str] = None, + restore_full_name: Optional[str] = None, + file_type: Optional[Union[str, "DatabaseFileType"]] = None, + **kwargs + ): + super(DatabaseFileInput, self).__init__(**kwargs) + self.id = id + self.logical_name = logical_name + self.physical_full_name = physical_full_name + self.restore_full_name = restore_full_name + self.file_type = file_type + + +class DatabaseInfo(msrest.serialization.Model): + """Project Database Details. + + All required parameters must be populated in order to send to Azure. + + :param source_database_name: Required. Name of the database. + :type source_database_name: str + """ + + _validation = { + 'source_database_name': {'required': True}, + } + + _attribute_map = { + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + } + + def __init__( + self, + *, + source_database_name: str, + **kwargs + ): + super(DatabaseInfo, self).__init__(**kwargs) + self.source_database_name = source_database_name + + +class ProxyResource(msrest.serialization.Model): + """ProxyResource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar 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(ProxyResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class DatabaseMigration(ProxyResource): + """Database Migration Resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param properties: Database Migration Resource properties. + :type properties: ~azure.mgmt.datamigration.models.DatabaseMigrationProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DatabaseMigrationProperties'}, + } + + def __init__( + self, + *, + properties: Optional["DatabaseMigrationProperties"] = None, + **kwargs + ): + super(DatabaseMigration, self).__init__(**kwargs) + self.system_data = None + self.properties = properties + + +class DatabaseMigrationListResult(msrest.serialization.Model): + """A list of Database Migrations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.mgmt.datamigration.models.DatabaseMigration] + :ivar next_link: + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatabaseMigration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseMigrationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class DatabaseMigrationProperties(msrest.serialization.Model): + """Database Migration Resource properties. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DatabaseMigrationPropertiesSqlMi, DatabaseMigrationPropertiesSqlVm. + + 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 kind: Required. Constant filled by server. Possible values include: "SqlMi", "SqlVm". + :type kind: str or ~azure.mgmt.datamigration.models.ResourceType + :param scope: Resource Id of the target resource (SQL VM or SQL Managed Instance). + :type scope: str + :ivar provisioning_state: Provisioning State of migration. ProvisioningState as Succeeded + implies that validations have been performed and migration has started. + :vartype provisioning_state: str + :ivar migration_status: Migration status. + :vartype migration_status: str + :ivar started_on: Database migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Database migration end time. + :vartype ended_on: ~datetime.datetime + :param source_sql_connection: Source SQL Server connection details. + :type source_sql_connection: ~azure.mgmt.datamigration.models.SqlConnectionInformation + :param source_database_name: Name of the source database. + :type source_database_name: str + :param migration_service: Resource Id of the Migration Service. + :type migration_service: str + :param migration_operation_id: ID tracking current migration operation. + :type migration_operation_id: str + :ivar migration_failure_error: Error details in case of migration failure. + :vartype migration_failure_error: ~azure.mgmt.datamigration.models.ErrorInfo + """ + + _validation = { + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'migration_status': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_failure_error': {'readonly': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'migration_status': {'key': 'migrationStatus', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_sql_connection': {'key': 'sourceSqlConnection', 'type': 'SqlConnectionInformation'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'migration_service': {'key': 'migrationService', 'type': 'str'}, + 'migration_operation_id': {'key': 'migrationOperationId', 'type': 'str'}, + 'migration_failure_error': {'key': 'migrationFailureError', 'type': 'ErrorInfo'}, + } + + _subtype_map = { + 'kind': {'SqlMi': 'DatabaseMigrationPropertiesSqlMi', 'SqlVm': 'DatabaseMigrationPropertiesSqlVm'} + } + + def __init__( + self, + *, + scope: Optional[str] = None, + source_sql_connection: Optional["SqlConnectionInformation"] = None, + source_database_name: Optional[str] = None, + migration_service: Optional[str] = None, + migration_operation_id: Optional[str] = None, + **kwargs + ): + super(DatabaseMigrationProperties, self).__init__(**kwargs) + self.kind = None # type: Optional[str] + self.scope = scope + self.provisioning_state = None + self.migration_status = None + self.started_on = None + self.ended_on = None + self.source_sql_connection = source_sql_connection + self.source_database_name = source_database_name + self.migration_service = migration_service + self.migration_operation_id = migration_operation_id + self.migration_failure_error = None + + +class DatabaseMigrationPropertiesSqlMi(DatabaseMigrationProperties): + """Database Migration Resource properties for SQL Managed Instance. + + 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 kind: Required. Constant filled by server. Possible values include: "SqlMi", "SqlVm". + :type kind: str or ~azure.mgmt.datamigration.models.ResourceType + :param scope: Resource Id of the target resource (SQL VM or SQL Managed Instance). + :type scope: str + :ivar provisioning_state: Provisioning State of migration. ProvisioningState as Succeeded + implies that validations have been performed and migration has started. + :vartype provisioning_state: str + :ivar migration_status: Migration status. + :vartype migration_status: str + :ivar started_on: Database migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Database migration end time. + :vartype ended_on: ~datetime.datetime + :param source_sql_connection: Source SQL Server connection details. + :type source_sql_connection: ~azure.mgmt.datamigration.models.SqlConnectionInformation + :param source_database_name: Name of the source database. + :type source_database_name: str + :param migration_service: Resource Id of the Migration Service. + :type migration_service: str + :param migration_operation_id: ID tracking current migration operation. + :type migration_operation_id: str + :ivar migration_failure_error: Error details in case of migration failure. + :vartype migration_failure_error: ~azure.mgmt.datamigration.models.ErrorInfo + :ivar migration_status_details: Detailed migration status. Not included by default. + :vartype migration_status_details: ~azure.mgmt.datamigration.models.MigrationStatusDetails + :param target_database_collation: Database collation to be used for the target database. + :type target_database_collation: str + :param provisioning_error: Error message for migration provisioning failure, if any. + :type provisioning_error: str + :param backup_configuration: Backup configuration info. + :type backup_configuration: ~azure.mgmt.datamigration.models.BackupConfiguration + :param offline_configuration: Offline configuration. + :type offline_configuration: ~azure.mgmt.datamigration.models.OfflineConfiguration + """ + + _validation = { + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'migration_status': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_failure_error': {'readonly': True}, + 'migration_status_details': {'readonly': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'migration_status': {'key': 'migrationStatus', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_sql_connection': {'key': 'sourceSqlConnection', 'type': 'SqlConnectionInformation'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'migration_service': {'key': 'migrationService', 'type': 'str'}, + 'migration_operation_id': {'key': 'migrationOperationId', 'type': 'str'}, + 'migration_failure_error': {'key': 'migrationFailureError', 'type': 'ErrorInfo'}, + 'migration_status_details': {'key': 'migrationStatusDetails', 'type': 'MigrationStatusDetails'}, + 'target_database_collation': {'key': 'targetDatabaseCollation', 'type': 'str'}, + 'provisioning_error': {'key': 'provisioningError', 'type': 'str'}, + 'backup_configuration': {'key': 'backupConfiguration', 'type': 'BackupConfiguration'}, + 'offline_configuration': {'key': 'offlineConfiguration', 'type': 'OfflineConfiguration'}, + } + + def __init__( + self, + *, + scope: Optional[str] = None, + source_sql_connection: Optional["SqlConnectionInformation"] = None, + source_database_name: Optional[str] = None, + migration_service: Optional[str] = None, + migration_operation_id: Optional[str] = None, + target_database_collation: Optional[str] = None, + provisioning_error: Optional[str] = None, + backup_configuration: Optional["BackupConfiguration"] = None, + offline_configuration: Optional["OfflineConfiguration"] = None, + **kwargs + ): + super(DatabaseMigrationPropertiesSqlMi, self).__init__(scope=scope, source_sql_connection=source_sql_connection, source_database_name=source_database_name, migration_service=migration_service, migration_operation_id=migration_operation_id, **kwargs) + self.kind = 'SqlMi' # type: str + self.migration_status_details = None + self.target_database_collation = target_database_collation + self.provisioning_error = provisioning_error + self.backup_configuration = backup_configuration + self.offline_configuration = offline_configuration + + +class DatabaseMigrationPropertiesSqlVm(DatabaseMigrationProperties): + """Database Migration Resource properties for SQL Virtual Machine. + + 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 kind: Required. Constant filled by server. Possible values include: "SqlMi", "SqlVm". + :type kind: str or ~azure.mgmt.datamigration.models.ResourceType + :param scope: Resource Id of the target resource (SQL VM or SQL Managed Instance). + :type scope: str + :ivar provisioning_state: Provisioning State of migration. ProvisioningState as Succeeded + implies that validations have been performed and migration has started. + :vartype provisioning_state: str + :ivar migration_status: Migration status. + :vartype migration_status: str + :ivar started_on: Database migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Database migration end time. + :vartype ended_on: ~datetime.datetime + :param source_sql_connection: Source SQL Server connection details. + :type source_sql_connection: ~azure.mgmt.datamigration.models.SqlConnectionInformation + :param source_database_name: Name of the source database. + :type source_database_name: str + :param migration_service: Resource Id of the Migration Service. + :type migration_service: str + :param migration_operation_id: ID tracking current migration operation. + :type migration_operation_id: str + :ivar migration_failure_error: Error details in case of migration failure. + :vartype migration_failure_error: ~azure.mgmt.datamigration.models.ErrorInfo + :ivar migration_status_details: Detailed migration status. Not included by default. + :vartype migration_status_details: ~azure.mgmt.datamigration.models.MigrationStatusDetails + :param target_database_collation: Database collation to be used for the target database. + :type target_database_collation: str + :param provisioning_error: Error message for migration provisioning failure, if any. + :type provisioning_error: str + :param backup_configuration: Backup configuration info. + :type backup_configuration: ~azure.mgmt.datamigration.models.BackupConfiguration + :param offline_configuration: Offline configuration. + :type offline_configuration: ~azure.mgmt.datamigration.models.OfflineConfiguration + """ + + _validation = { + 'kind': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'migration_status': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_failure_error': {'readonly': True}, + 'migration_status_details': {'readonly': True}, + } + + _attribute_map = { + 'kind': {'key': 'kind', 'type': 'str'}, + 'scope': {'key': 'scope', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'migration_status': {'key': 'migrationStatus', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_sql_connection': {'key': 'sourceSqlConnection', 'type': 'SqlConnectionInformation'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'migration_service': {'key': 'migrationService', 'type': 'str'}, + 'migration_operation_id': {'key': 'migrationOperationId', 'type': 'str'}, + 'migration_failure_error': {'key': 'migrationFailureError', 'type': 'ErrorInfo'}, + 'migration_status_details': {'key': 'migrationStatusDetails', 'type': 'MigrationStatusDetails'}, + 'target_database_collation': {'key': 'targetDatabaseCollation', 'type': 'str'}, + 'provisioning_error': {'key': 'provisioningError', 'type': 'str'}, + 'backup_configuration': {'key': 'backupConfiguration', 'type': 'BackupConfiguration'}, + 'offline_configuration': {'key': 'offlineConfiguration', 'type': 'OfflineConfiguration'}, + } + + def __init__( + self, + *, + scope: Optional[str] = None, + source_sql_connection: Optional["SqlConnectionInformation"] = None, + source_database_name: Optional[str] = None, + migration_service: Optional[str] = None, + migration_operation_id: Optional[str] = None, + target_database_collation: Optional[str] = None, + provisioning_error: Optional[str] = None, + backup_configuration: Optional["BackupConfiguration"] = None, + offline_configuration: Optional["OfflineConfiguration"] = None, + **kwargs + ): + super(DatabaseMigrationPropertiesSqlVm, self).__init__(scope=scope, source_sql_connection=source_sql_connection, source_database_name=source_database_name, migration_service=migration_service, migration_operation_id=migration_operation_id, **kwargs) + self.kind = 'SqlVm' # type: str + self.migration_status_details = None + self.target_database_collation = target_database_collation + self.provisioning_error = provisioning_error + self.backup_configuration = backup_configuration + self.offline_configuration = offline_configuration + + +class DatabaseMigrationSqlMi(ProxyResource): + """Database Migration Resource for SQL Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param properties: Database Migration Resource properties for SQL Managed Instance. + :type properties: ~azure.mgmt.datamigration.models.DatabaseMigrationPropertiesSqlMi + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DatabaseMigrationPropertiesSqlMi'}, + } + + def __init__( + self, + *, + properties: Optional["DatabaseMigrationPropertiesSqlMi"] = None, + **kwargs + ): + super(DatabaseMigrationSqlMi, self).__init__(**kwargs) + self.system_data = None + self.properties = properties + + +class DatabaseMigrationSqlVm(ProxyResource): + """Database Migration Resource for SQL Virtual Machine. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param properties: Database Migration Resource properties for SQL Virtual Machine. + :type properties: ~azure.mgmt.datamigration.models.DatabaseMigrationPropertiesSqlVm + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DatabaseMigrationPropertiesSqlVm'}, + } + + def __init__( + self, + *, + properties: Optional["DatabaseMigrationPropertiesSqlVm"] = None, + **kwargs + ): + super(DatabaseMigrationSqlVm, self).__init__(**kwargs) + self.system_data = None + self.properties = properties + + +class DatabaseObjectName(msrest.serialization.Model): + """A representation of the name of an object in a database. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar database_name: The unescaped name of the database containing the object. + :vartype database_name: str + :ivar object_name: The unescaped name of the object. + :vartype object_name: str + :ivar schema_name: The unescaped name of the schema containing the object. + :vartype schema_name: str + :param object_type: Type of the object in the database. Possible values include: + "StoredProcedures", "Table", "User", "View", "Function". + :type object_type: str or ~azure.mgmt.datamigration.models.ObjectType + """ + + _validation = { + 'database_name': {'readonly': True}, + 'object_name': {'readonly': True}, + 'schema_name': {'readonly': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + } + + def __init__( + self, + *, + object_type: Optional[Union[str, "ObjectType"]] = None, + **kwargs + ): + super(DatabaseObjectName, self).__init__(**kwargs) + self.database_name = None + self.object_name = None + self.schema_name = None + self.object_type = object_type + + +class DataItemMigrationSummaryResult(msrest.serialization.Model): + """Basic summary of a data item migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the item. + :vartype name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message. + :vartype status_message: str + :ivar items_count: Number of items. + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items. + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + """ + + _validation = { + 'name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataItemMigrationSummaryResult, self).__init__(**kwargs) + self.name = None + self.started_on = None + self.ended_on = None + self.state = None + self.status_message = None + self.items_count = None + self.items_completed_count = None + self.error_prefix = None + self.result_prefix = None + + +class DatabaseSummaryResult(DataItemMigrationSummaryResult): + """Summary of database results in the migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the item. + :vartype name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message. + :vartype status_message: str + :ivar items_count: Number of items. + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items. + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + :ivar size_mb: Size of the database in megabytes. + :vartype size_mb: float + """ + + _validation = { + 'name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'size_mb': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseSummaryResult, self).__init__(**kwargs) + self.size_mb = None + + +class DatabaseTable(msrest.serialization.Model): + """Table properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar has_rows: Indicates whether table is empty or not. + :vartype has_rows: bool + :ivar name: Schema-qualified name of the table. + :vartype name: str + """ + + _validation = { + 'has_rows': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'has_rows': {'key': 'hasRows', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabaseTable, self).__init__(**kwargs) + self.has_rows = None + self.name = None + + +class DataIntegrityValidationResult(msrest.serialization.Model): + """Results for checksum based Data Integrity validation results. + + :param failed_objects: List of failed table names of source and target pair. + :type failed_objects: dict[str, str] + :param validation_errors: List of errors that happened while performing data integrity + validation. + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + """ + + _attribute_map = { + 'failed_objects': {'key': 'failedObjects', 'type': '{str}'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + } + + def __init__( + self, + *, + failed_objects: Optional[Dict[str, str]] = None, + validation_errors: Optional["ValidationError"] = None, + **kwargs + ): + super(DataIntegrityValidationResult, self).__init__(**kwargs) + self.failed_objects = failed_objects + self.validation_errors = validation_errors + + +class DataMigrationError(msrest.serialization.Model): + """Migration Task errors. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar message: Error description. + :vartype message: str + :param type: Error type. Possible values include: "Default", "Warning", "Error". + :type type: str or ~azure.mgmt.datamigration.models.ErrorType + """ + + _validation = { + 'message': {'readonly': True}, + } + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ErrorType"]] = None, + **kwargs + ): + super(DataMigrationError, self).__init__(**kwargs) + self.message = None + self.type = type + + +class DataMigrationProjectMetadata(msrest.serialization.Model): + """Common metadata for migration projects. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar source_server_name: Source server name. + :vartype source_server_name: str + :ivar source_server_port: Source server port number. + :vartype source_server_port: str + :ivar source_username: Source username. + :vartype source_username: str + :ivar target_server_name: Target server name. + :vartype target_server_name: str + :ivar target_username: Target username. + :vartype target_username: str + :ivar target_db_name: Target database name. + :vartype target_db_name: str + :ivar target_using_win_auth: Whether target connection is Windows authentication. + :vartype target_using_win_auth: bool + :ivar selected_migration_tables: List of tables selected for migration. + :vartype selected_migration_tables: + list[~azure.mgmt.datamigration.models.MigrationTableMetadata] + """ + + _validation = { + 'source_server_name': {'readonly': True}, + 'source_server_port': {'readonly': True}, + 'source_username': {'readonly': True}, + 'target_server_name': {'readonly': True}, + 'target_username': {'readonly': True}, + 'target_db_name': {'readonly': True}, + 'target_using_win_auth': {'readonly': True}, + 'selected_migration_tables': {'readonly': True}, + } + + _attribute_map = { + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'source_server_port': {'key': 'sourceServerPort', 'type': 'str'}, + 'source_username': {'key': 'sourceUsername', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + 'target_username': {'key': 'targetUsername', 'type': 'str'}, + 'target_db_name': {'key': 'targetDbName', 'type': 'str'}, + 'target_using_win_auth': {'key': 'targetUsingWinAuth', 'type': 'bool'}, + 'selected_migration_tables': {'key': 'selectedMigrationTables', 'type': '[MigrationTableMetadata]'}, + } + + def __init__( + self, + **kwargs + ): + super(DataMigrationProjectMetadata, self).__init__(**kwargs) + self.source_server_name = None + self.source_server_port = None + self.source_username = None + self.target_server_name = None + self.target_username = None + self.target_db_name = None + self.target_using_win_auth = None + self.selected_migration_tables = None + + +class TrackedResource(msrest.serialization.Model): + """TrackedResource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: + :type location: str + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.location = location + self.tags = tags + self.id = None + self.name = None + self.type = None + self.system_data = None + + +class DataMigrationService(TrackedResource): + """A Database Migration Service resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: + :type location: str + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param etag: HTTP strong entity tag value. Ignored if submitted. + :type etag: str + :param kind: The resource kind. Only 'vm' (the default) is supported. + :type kind: str + :param sku: Service SKU. + :type sku: ~azure.mgmt.datamigration.models.ServiceSku + :ivar provisioning_state: The resource's provisioning state. Possible values include: + "Accepted", "Deleting", "Deploying", "Stopped", "Stopping", "Starting", "FailedToStart", + "FailedToStop", "Succeeded", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datamigration.models.ServiceProvisioningState + :param public_key: The public key of the service, used to encrypt secrets sent to the service. + :type public_key: str + :param virtual_subnet_id: The ID of the Microsoft.Network/virtualNetworks/subnets resource to + which the service should be joined. + :type virtual_subnet_id: str + :param virtual_nic_id: The ID of the Microsoft.Network/networkInterfaces resource which the + service have. + :type virtual_nic_id: str + :param auto_stop_delay: The time delay before the service is auto-stopped when idle. + :type auto_stop_delay: str + :param delete_resources_on_stop: Whether service resources should be deleted when stopped. + (Turned on by default). + :type delete_resources_on_stop: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'ServiceSku'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'virtual_subnet_id': {'key': 'properties.virtualSubnetId', 'type': 'str'}, + 'virtual_nic_id': {'key': 'properties.virtualNicId', 'type': 'str'}, + 'auto_stop_delay': {'key': 'properties.autoStopDelay', 'type': 'str'}, + 'delete_resources_on_stop': {'key': 'properties.deleteResourcesOnStop', 'type': 'bool'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + etag: Optional[str] = None, + kind: Optional[str] = None, + sku: Optional["ServiceSku"] = None, + public_key: Optional[str] = None, + virtual_subnet_id: Optional[str] = None, + virtual_nic_id: Optional[str] = None, + auto_stop_delay: Optional[str] = None, + delete_resources_on_stop: Optional[bool] = None, + **kwargs + ): + super(DataMigrationService, self).__init__(location=location, tags=tags, **kwargs) + self.etag = etag + self.kind = kind + self.sku = sku + self.provisioning_state = None + self.public_key = public_key + self.virtual_subnet_id = virtual_subnet_id + self.virtual_nic_id = virtual_nic_id + self.auto_stop_delay = auto_stop_delay + self.delete_resources_on_stop = delete_resources_on_stop + + +class DataMigrationServiceList(msrest.serialization.Model): + """OData page of service objects. + + :param value: List of services. + :type value: list[~azure.mgmt.datamigration.models.DataMigrationService] + :param next_link: URL to load the next page of services. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataMigrationService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["DataMigrationService"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(DataMigrationServiceList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class DataMigrationServiceStatusResponse(msrest.serialization.Model): + """Service health status. + + :param agent_version: The DMS instance agent version. + :type agent_version: str + :param status: The machine-readable status, such as 'Initializing', 'Offline', 'Online', + 'Deploying', 'Deleting', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop' or + 'Failed'. + :type status: str + :param vm_size: The services virtual machine size, such as 'Standard_D2_v2'. + :type vm_size: str + :param supported_task_types: The list of supported task types. + :type supported_task_types: list[str] + """ + + _attribute_map = { + 'agent_version': {'key': 'agentVersion', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'supported_task_types': {'key': 'supportedTaskTypes', 'type': '[str]'}, + } + + def __init__( + self, + *, + agent_version: Optional[str] = None, + status: Optional[str] = None, + vm_size: Optional[str] = None, + supported_task_types: Optional[List[str]] = None, + **kwargs + ): + super(DataMigrationServiceStatusResponse, self).__init__(**kwargs) + self.agent_version = agent_version + self.status = status + self.vm_size = vm_size + self.supported_task_types = supported_task_types + + +class DeleteNode(msrest.serialization.Model): + """Details of node to be deleted. + + :param node_name: The name of node to delete. + :type node_name: str + :param integration_runtime_name: The name of integration runtime. + :type integration_runtime_name: str + """ + + _attribute_map = { + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'integration_runtime_name': {'key': 'integrationRuntimeName', 'type': 'str'}, + } + + def __init__( + self, + *, + node_name: Optional[str] = None, + integration_runtime_name: Optional[str] = None, + **kwargs + ): + super(DeleteNode, self).__init__(**kwargs) + self.node_name = node_name + self.integration_runtime_name = integration_runtime_name + + +class ErrorInfo(msrest.serialization.Model): + """Error details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Error code. + :vartype code: str + :ivar message: Error message. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorInfo, self).__init__(**kwargs) + self.code = None + self.message = None + + +class ExecutionStatistics(msrest.serialization.Model): + """Description about the errors happen while performing migration validation. + + :param execution_count: No. of query executions. + :type execution_count: long + :param cpu_time_ms: CPU Time in millisecond(s) for the query execution. + :type cpu_time_ms: float + :param elapsed_time_ms: Time taken in millisecond(s) for executing the query. + :type elapsed_time_ms: float + :param wait_stats: Dictionary of sql query execution wait types and the respective statistics. + :type wait_stats: dict[str, ~azure.mgmt.datamigration.models.WaitStatistics] + :param has_errors: Indicates whether the query resulted in an error. + :type has_errors: bool + :param sql_errors: List of sql Errors. + :type sql_errors: list[str] + """ + + _attribute_map = { + 'execution_count': {'key': 'executionCount', 'type': 'long'}, + 'cpu_time_ms': {'key': 'cpuTimeMs', 'type': 'float'}, + 'elapsed_time_ms': {'key': 'elapsedTimeMs', 'type': 'float'}, + 'wait_stats': {'key': 'waitStats', 'type': '{WaitStatistics}'}, + 'has_errors': {'key': 'hasErrors', 'type': 'bool'}, + 'sql_errors': {'key': 'sqlErrors', 'type': '[str]'}, + } + + def __init__( + self, + *, + execution_count: Optional[int] = None, + cpu_time_ms: Optional[float] = None, + elapsed_time_ms: Optional[float] = None, + wait_stats: Optional[Dict[str, "WaitStatistics"]] = None, + has_errors: Optional[bool] = None, + sql_errors: Optional[List[str]] = None, + **kwargs + ): + super(ExecutionStatistics, self).__init__(**kwargs) + self.execution_count = execution_count + self.cpu_time_ms = cpu_time_ms + self.elapsed_time_ms = elapsed_time_ms + self.wait_stats = wait_stats + self.has_errors = has_errors + self.sql_errors = sql_errors + + +class FileList(msrest.serialization.Model): + """OData page of files. + + :param value: List of files. + :type value: list[~azure.mgmt.datamigration.models.ProjectFile] + :param next_link: URL to load the next page of files. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProjectFile]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ProjectFile"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(FileList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class FileShare(msrest.serialization.Model): + """File share information with Path, Username, and Password. + + All required parameters must be populated in order to send to Azure. + + :param user_name: User name credential to connect to the share location. + :type user_name: str + :param password: Password credential used to connect to the share location. + :type password: str + :param path: Required. The folder path for this share. + :type path: str + """ + + _validation = { + 'path': {'required': True}, + } + + _attribute_map = { + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__( + self, + *, + path: str, + user_name: Optional[str] = None, + password: Optional[str] = None, + **kwargs + ): + super(FileShare, self).__init__(**kwargs) + self.user_name = user_name + self.password = password + self.path = path + + +class FileStorageInfo(msrest.serialization.Model): + """File storage information. + + :param uri: A URI that can be used to access the file content. + :type uri: str + :param headers: Dictionary of :code:``. + :type headers: dict[str, str] + """ + + _attribute_map = { + 'uri': {'key': 'uri', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '{str}'}, + } + + def __init__( + self, + *, + uri: Optional[str] = None, + headers: Optional[Dict[str, str]] = None, + **kwargs + ): + super(FileStorageInfo, self).__init__(**kwargs) + self.uri = uri + self.headers = headers + + +class GetProjectDetailsNonSqlTaskInput(msrest.serialization.Model): + """Input for the task that reads configuration from project artifacts. + + All required parameters must be populated in order to send to Azure. + + :param project_name: Required. Name of the migration project. + :type project_name: str + :param project_location: Required. A URL that points to the location to access project + artifacts. + :type project_location: str + """ + + _validation = { + 'project_name': {'required': True}, + 'project_location': {'required': True}, + } + + _attribute_map = { + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'project_location': {'key': 'projectLocation', 'type': 'str'}, + } + + def __init__( + self, + *, + project_name: str, + project_location: str, + **kwargs + ): + super(GetProjectDetailsNonSqlTaskInput, self).__init__(**kwargs) + self.project_name = project_name + self.project_location = project_location + + +class GetTdeCertificatesSqlTaskInput(msrest.serialization.Model): + """Input for the task that gets TDE certificates in Base64 encoded format. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Connection information for SQL Server. + :type connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param backup_file_share: Required. Backup file share information for file share to be used for + temporarily storing files. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param selected_certificates: Required. List containing certificate names and corresponding + password to use for encrypting the exported certificate. + :type selected_certificates: list[~azure.mgmt.datamigration.models.SelectedCertificateInput] + """ + + _validation = { + 'connection_info': {'required': True}, + 'backup_file_share': {'required': True}, + 'selected_certificates': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'SqlConnectionInfo'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'selected_certificates': {'key': 'selectedCertificates', 'type': '[SelectedCertificateInput]'}, + } + + def __init__( + self, + *, + connection_info: "SqlConnectionInfo", + backup_file_share: "FileShare", + selected_certificates: List["SelectedCertificateInput"], + **kwargs + ): + super(GetTdeCertificatesSqlTaskInput, self).__init__(**kwargs) + self.connection_info = connection_info + self.backup_file_share = backup_file_share + self.selected_certificates = selected_certificates + + +class GetTdeCertificatesSqlTaskOutput(msrest.serialization.Model): + """Output of the task that gets TDE certificates in Base64 encoded format. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar base64_encoded_certificates: Mapping from certificate name to base 64 encoded format. + :vartype base64_encoded_certificates: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'base64_encoded_certificates': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'base64_encoded_certificates': {'key': 'base64EncodedCertificates', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetTdeCertificatesSqlTaskOutput, self).__init__(**kwargs) + self.base64_encoded_certificates = None + self.validation_errors = None + + +class GetTdeCertificatesSqlTaskProperties(ProjectTaskProperties): + """Properties for the task that gets TDE certificates in Base64 encoded format. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetTdeCertificatesSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetTdeCertificatesSqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetTdeCertificatesSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetTdeCertificatesSqlTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["GetTdeCertificatesSqlTaskInput"] = None, + **kwargs + ): + super(GetTdeCertificatesSqlTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'GetTDECertificates.Sql' # type: str + self.input = input + self.output = None + + +class GetUserTablesMySqlTaskInput(msrest.serialization.Model): + """Input for the task that collects user tables for the given list of databases. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Connection information for SQL Server. + :type connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param selected_databases: Required. List of database names to collect tables for. + :type selected_databases: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'MySqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[str]'}, + } + + def __init__( + self, + *, + connection_info: "MySqlConnectionInfo", + selected_databases: List[str], + **kwargs + ): + super(GetUserTablesMySqlTaskInput, self).__init__(**kwargs) + self.connection_info = connection_info + self.selected_databases = selected_databases + + +class GetUserTablesMySqlTaskOutput(msrest.serialization.Model): + """Output of the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar databases_to_tables: Mapping from database name to list of tables. + :vartype databases_to_tables: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'databases_to_tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'databases_to_tables': {'key': 'databasesToTables', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesMySqlTaskOutput, self).__init__(**kwargs) + self.id = None + self.databases_to_tables = None + self.validation_errors = None + + +class GetUserTablesMySqlTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesMySqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesMySqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesMySqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesMySqlTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["GetUserTablesMySqlTaskInput"] = None, + **kwargs + ): + super(GetUserTablesMySqlTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'GetUserTablesMySql' # type: str + self.input = input + self.output = None + + +class GetUserTablesOracleTaskInput(msrest.serialization.Model): + """Input for the task that gets the list of tables contained within a provided list of Oracle schemas. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Information for connecting to Oracle source. + :type connection_info: ~azure.mgmt.datamigration.models.OracleConnectionInfo + :param selected_schemas: Required. List of Oracle schemas for which to collect tables. + :type selected_schemas: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_schemas': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'OracleConnectionInfo'}, + 'selected_schemas': {'key': 'selectedSchemas', 'type': '[str]'}, + } + + def __init__( + self, + *, + connection_info: "OracleConnectionInfo", + selected_schemas: List[str], + **kwargs + ): + super(GetUserTablesOracleTaskInput, self).__init__(**kwargs) + self.connection_info = connection_info + self.selected_schemas = selected_schemas + + +class GetUserTablesOracleTaskOutput(msrest.serialization.Model): + """Output for the task that gets the list of tables contained within a provided list of Oracle schemas. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar schema_name: The schema this result is for. + :vartype schema_name: str + :ivar tables: List of valid tables found for this schema. + :vartype tables: list[~azure.mgmt.datamigration.models.DatabaseTable] + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'schema_name': {'readonly': True}, + 'tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'tables': {'key': 'tables', 'type': '[DatabaseTable]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesOracleTaskOutput, self).__init__(**kwargs) + self.schema_name = None + self.tables = None + self.validation_errors = None + + +class GetUserTablesOracleTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of Oracle schemas. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesOracleTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesOracleTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesOracleTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesOracleTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["GetUserTablesOracleTaskInput"] = None, + **kwargs + ): + super(GetUserTablesOracleTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'GetUserTablesOracle' # type: str + self.input = input + self.output = None + + +class GetUserTablesPostgreSqlTaskInput(msrest.serialization.Model): + """Input for the task that gets the list of tables for a provided list of PostgreSQL databases. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Information for connecting to PostgreSQL source. + :type connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param selected_databases: Required. List of PostgreSQL databases for which to collect tables. + :type selected_databases: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[str]'}, + } + + def __init__( + self, + *, + connection_info: "PostgreSqlConnectionInfo", + selected_databases: List[str], + **kwargs + ): + super(GetUserTablesPostgreSqlTaskInput, self).__init__(**kwargs) + self.connection_info = connection_info + self.selected_databases = selected_databases + + +class GetUserTablesPostgreSqlTaskOutput(msrest.serialization.Model): + """Output for the task that gets the list of tables for a provided list of PostgreSQL databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar database_name: The database this result is for. + :vartype database_name: str + :ivar tables: List of valid tables found for this database. + :vartype tables: list[~azure.mgmt.datamigration.models.DatabaseTable] + :ivar validation_errors: Validation errors associated with the task. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'database_name': {'readonly': True}, + 'tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'tables': {'key': 'tables', 'type': '[DatabaseTable]'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesPostgreSqlTaskOutput, self).__init__(**kwargs) + self.database_name = None + self.tables = None + self.validation_errors = None + + +class GetUserTablesPostgreSqlTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesPostgreSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesPostgreSqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesPostgreSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesPostgreSqlTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["GetUserTablesPostgreSqlTaskInput"] = None, + **kwargs + ): + super(GetUserTablesPostgreSqlTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'GetUserTablesPostgreSql' # type: str + self.input = input + self.output = None + + +class GetUserTablesSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that collects user tables for the given list of databases. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for SQL DB. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_source_databases: Required. List of source database names to collect tables + for. + :type selected_source_databases: list[str] + :param selected_target_databases: Required. List of target database names to collect tables + for. + :type selected_target_databases: list[str] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_source_databases': {'required': True}, + 'selected_target_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_source_databases': {'key': 'selectedSourceDatabases', 'type': '[str]'}, + 'selected_target_databases': {'key': 'selectedTargetDatabases', 'type': '[str]'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + selected_source_databases: List[str], + selected_target_databases: List[str], + **kwargs + ): + super(GetUserTablesSqlSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.selected_source_databases = selected_source_databases + self.selected_target_databases = selected_target_databases + + +class GetUserTablesSqlSyncTaskOutput(msrest.serialization.Model): + """Output of the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar databases_to_source_tables: Mapping from database name to list of source tables. + :vartype databases_to_source_tables: str + :ivar databases_to_target_tables: Mapping from database name to list of target tables. + :vartype databases_to_target_tables: str + :ivar table_validation_errors: Mapping from database name to list of validation errors. + :vartype table_validation_errors: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'databases_to_source_tables': {'readonly': True}, + 'databases_to_target_tables': {'readonly': True}, + 'table_validation_errors': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'databases_to_source_tables': {'key': 'databasesToSourceTables', 'type': 'str'}, + 'databases_to_target_tables': {'key': 'databasesToTargetTables', 'type': 'str'}, + 'table_validation_errors': {'key': 'tableValidationErrors', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesSqlSyncTaskOutput, self).__init__(**kwargs) + self.databases_to_source_tables = None + self.databases_to_target_tables = None + self.table_validation_errors = None + self.validation_errors = None + + +class GetUserTablesSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesSqlSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["GetUserTablesSqlSyncTaskInput"] = None, + **kwargs + ): + super(GetUserTablesSqlSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'GetUserTables.AzureSqlDb.Sync' # type: str + self.input = input + self.output = None + + +class GetUserTablesSqlTaskInput(msrest.serialization.Model): + """Input for the task that collects user tables for the given list of databases. + + All required parameters must be populated in order to send to Azure. + + :param connection_info: Required. Connection information for SQL Server. + :type connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. List of database names to collect tables for. + :type selected_databases: list[str] + """ + + _validation = { + 'connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'connection_info': {'key': 'connectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[str]'}, + } + + def __init__( + self, + *, + connection_info: "SqlConnectionInfo", + selected_databases: List[str], + **kwargs + ): + super(GetUserTablesSqlTaskInput, self).__init__(**kwargs) + self.connection_info = connection_info + self.selected_databases = selected_databases + + +class GetUserTablesSqlTaskOutput(msrest.serialization.Model): + """Output of the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar databases_to_tables: Mapping from database name to list of tables. + :vartype databases_to_tables: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'databases_to_tables': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'databases_to_tables': {'key': 'databasesToTables', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetUserTablesSqlTaskOutput, self).__init__(**kwargs) + self.id = None + self.databases_to_tables = None + self.validation_errors = None + + +class GetUserTablesSqlTaskProperties(ProjectTaskProperties): + """Properties for the task that collects user tables for the given list of databases. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.GetUserTablesSqlTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.GetUserTablesSqlTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'GetUserTablesSqlTaskInput'}, + 'output': {'key': 'output', 'type': '[GetUserTablesSqlTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["GetUserTablesSqlTaskInput"] = None, + **kwargs + ): + super(GetUserTablesSqlTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'GetUserTables.Sql' # type: str + self.input = input + self.output = None + + +class InstallOciDriverTaskInput(msrest.serialization.Model): + """Input for the service task to install an OCI driver. + + :param driver_package_name: Name of the uploaded driver package to install. + :type driver_package_name: str + """ + + _attribute_map = { + 'driver_package_name': {'key': 'driverPackageName', 'type': 'str'}, + } + + def __init__( + self, + *, + driver_package_name: Optional[str] = None, + **kwargs + ): + super(InstallOciDriverTaskInput, self).__init__(**kwargs) + self.driver_package_name = driver_package_name + + +class InstallOciDriverTaskOutput(msrest.serialization.Model): + """Output for the service task to install an OCI driver. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(InstallOciDriverTaskOutput, self).__init__(**kwargs) + self.validation_errors = None + + +class InstallOciDriverTaskProperties(ProjectTaskProperties): + """Properties for the task that installs an OCI driver. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Input for the service task to install an OCI driver. + :type input: ~azure.mgmt.datamigration.models.InstallOciDriverTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.InstallOciDriverTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'InstallOciDriverTaskInput'}, + 'output': {'key': 'output', 'type': '[InstallOciDriverTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["InstallOciDriverTaskInput"] = None, + **kwargs + ): + super(InstallOciDriverTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Service.Install.OCI' # type: str + self.input = input + self.output = None + + +class IntegrationRuntimeMonitoringData(msrest.serialization.Model): + """Integration Runtime Monitoring Data. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of Integration Runtime. + :vartype name: str + :ivar nodes: Integration Runtime node monitoring data. + :vartype nodes: list[~azure.mgmt.datamigration.models.NodeMonitoringData] + """ + + _validation = { + 'name': {'readonly': True}, + 'nodes': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'nodes': {'key': 'nodes', 'type': '[NodeMonitoringData]'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeMonitoringData, self).__init__(**kwargs) + self.name = None + self.nodes = None + + +class MigrateMiSyncCompleteCommandInput(msrest.serialization.Model): + """Input for command that completes online migration for an Azure SQL Database Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param source_database_name: Required. Name of managed instance database. + :type source_database_name: str + """ + + _validation = { + 'source_database_name': {'required': True}, + } + + _attribute_map = { + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + } + + def __init__( + self, + *, + source_database_name: str, + **kwargs + ): + super(MigrateMiSyncCompleteCommandInput, self).__init__(**kwargs) + self.source_database_name = source_database_name + + +class MigrateMiSyncCompleteCommandOutput(msrest.serialization.Model): + """Output for command that completes online migration for an Azure SQL Database Managed Instance. + + :param errors: List of errors that happened during the command execution. + :type errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _attribute_map = { + 'errors': {'key': 'errors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + *, + errors: Optional[List["ReportableException"]] = None, + **kwargs + ): + super(MigrateMiSyncCompleteCommandOutput, self).__init__(**kwargs) + self.errors = errors + + +class MigrateMiSyncCompleteCommandProperties(CommandProperties): + """Properties for the command that completes online migration for an Azure SQL Database Managed Instance. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MigrateMiSyncCompleteCommandInput + :ivar output: Command output. This is ignored if submitted. + :vartype output: ~azure.mgmt.datamigration.models.MigrateMiSyncCompleteCommandOutput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateMiSyncCompleteCommandInput'}, + 'output': {'key': 'output', 'type': 'MigrateMiSyncCompleteCommandOutput'}, + } + + def __init__( + self, + *, + input: Optional["MigrateMiSyncCompleteCommandInput"] = None, + **kwargs + ): + super(MigrateMiSyncCompleteCommandProperties, self).__init__(**kwargs) + self.command_type = 'Migrate.SqlServer.AzureDbSqlMi.Complete' # type: str + self.input = input + self.output = None + + +class MigrateMongoDbTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates data between MongoDB data sources. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Describes how a MongoDB data migration should be performed. + :type input: ~azure.mgmt.datamigration.models.MongoDbMigrationSettings + :ivar output: + :vartype output: list[~azure.mgmt.datamigration.models.MongoDbProgress] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MongoDbMigrationSettings'}, + 'output': {'key': 'output', 'type': '[MongoDbProgress]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MongoDbMigrationSettings"] = None, + **kwargs + ): + super(MigrateMongoDbTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.MongoDb' # type: str + self.input = input + self.output = None + + +class MigrateMySqlAzureDbForMySqlOfflineDatabaseInput(msrest.serialization.Model): + """Database specific information for offline MySQL to Azure Database for MySQL migration task inputs. + + :param name: Name of the database. + :type name: str + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + target_database_name: Optional[str] = None, + table_map: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineDatabaseInput, self).__init__(**kwargs) + self.name = name + self.target_database_name = target_database_name + self.table_map = table_map + + +class MigrateMySqlAzureDbForMySqlOfflineTaskInput(msrest.serialization.Model): + """Input for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source MySQL. + :type source_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_connection_info: Required. Connection information for target Azure Database for + MySQL. + :type target_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlOfflineDatabaseInput] + :param make_source_server_read_only: Setting to set the source server read only. + :type make_source_server_read_only: bool + :param started_on: Parameter to specify when the migration started. + :type started_on: ~datetime.datetime + :param optional_agent_settings: Optional parameters for fine tuning the data transfer rate + during migration. + :type optional_agent_settings: dict[str, str] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateMySqlAzureDbForMySqlOfflineDatabaseInput]'}, + 'make_source_server_read_only': {'key': 'makeSourceServerReadOnly', 'type': 'bool'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'optional_agent_settings': {'key': 'optionalAgentSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_connection_info: "MySqlConnectionInfo", + target_connection_info: "MySqlConnectionInfo", + selected_databases: List["MigrateMySqlAzureDbForMySqlOfflineDatabaseInput"], + make_source_server_read_only: Optional[bool] = False, + started_on: Optional[datetime.datetime] = None, + optional_agent_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.selected_databases = selected_databases + self.make_source_server_read_only = make_source_server_read_only + self.started_on = started_on + self.optional_agent_settings = optional_agent_settings + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutput(msrest.serialization.Model): + """Output for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel, MigrateMySqlAzureDbForMySqlOfflineTaskOutputError, MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel, MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelOutput': 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputError', 'MigrationLevelOutput': 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel', 'TableLevelOutput': 'MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel(MigrateMySqlAzureDbForMySqlOfflineTaskOutput): + """MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Migration stage that this database is in. Possible values include: "None", + "Initialize", "Backup", "FileCopy", "Restore", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar status_message: Status message. + :vartype status_message: str + :ivar message: Migration progress message. + :vartype message: str + :ivar number_of_objects: Number of objects. + :vartype number_of_objects: long + :ivar number_of_objects_completed: Number of successfully completed objects. + :vartype number_of_objects_completed: long + :ivar error_count: Number of database/object errors. + :vartype error_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar last_storage_update: Last time the storage was updated. + :vartype last_storage_update: ~datetime.datetime + :ivar object_summary: Summary of object results in the migration. + :vartype object_summary: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'number_of_objects': {'readonly': True}, + 'number_of_objects_completed': {'readonly': True}, + 'error_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'last_storage_update': {'readonly': True}, + 'object_summary': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'number_of_objects': {'key': 'numberOfObjects', 'type': 'long'}, + 'number_of_objects_completed': {'key': 'numberOfObjectsCompleted', 'type': 'long'}, + 'error_count': {'key': 'errorCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'last_storage_update': {'key': 'lastStorageUpdate', 'type': 'iso-8601'}, + 'object_summary': {'key': 'objectSummary', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.stage = None + self.status_message = None + self.message = None + self.number_of_objects = None + self.number_of_objects_completed = None + self.error_count = None + self.error_prefix = None + self.result_prefix = None + self.exceptions_and_warnings = None + self.last_storage_update = None + self.object_summary = None + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutputError(MigrateMySqlAzureDbForMySqlOfflineTaskOutput): + """MigrateMySqlAzureDbForMySqlOfflineTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel(MigrateMySqlAzureDbForMySqlOfflineTaskOutput): + """MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar duration_in_seconds: Duration of task execution in seconds. + :vartype duration_in_seconds: long + :ivar status: Current status of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar status_message: Migration status message. + :vartype status_message: str + :ivar message: Migration progress message. + :vartype message: str + :param databases: Selected databases as a map from database name to database id. + :type databases: str + :ivar database_summary: Summary of database results in the migration. + :vartype database_summary: str + :param migration_report_result: Migration Report Result, provides unique url for downloading + your migration report. + :type migration_report_result: ~azure.mgmt.datamigration.models.MigrationReportResult + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar last_storage_update: Last time the storage was updated. + :vartype last_storage_update: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'duration_in_seconds': {'readonly': True}, + 'status': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'database_summary': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'last_storage_update': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'duration_in_seconds': {'key': 'durationInSeconds', 'type': 'long'}, + 'status': {'key': 'status', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'database_summary': {'key': 'databaseSummary', 'type': 'str'}, + 'migration_report_result': {'key': 'migrationReportResult', 'type': 'MigrationReportResult'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'last_storage_update': {'key': 'lastStorageUpdate', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + databases: Optional[str] = None, + migration_report_result: Optional["MigrationReportResult"] = None, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.duration_in_seconds = None + self.status = None + self.status_message = None + self.message = None + self.databases = databases + self.database_summary = None + self.migration_report_result = migration_report_result + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + self.last_storage_update = None + + +class MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel(MigrateMySqlAzureDbForMySqlOfflineTaskOutput): + """MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar object_name: Name of the item. + :vartype object_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message. + :vartype status_message: str + :ivar items_count: Number of items. + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items. + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + :ivar last_storage_update: Last time the storage was updated. + :vartype last_storage_update: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'object_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'last_storage_update': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'last_storage_update': {'key': 'lastStorageUpdate', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.object_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.status_message = None + self.items_count = None + self.items_completed_count = None + self.error_prefix = None + self.result_prefix = None + self.last_storage_update = None + + +class MigrateMySqlAzureDbForMySqlOfflineTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlOfflineTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlOfflineTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateMySqlAzureDbForMySqlOfflineTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateMySqlAzureDbForMySqlOfflineTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateMySqlAzureDbForMySqlOfflineTaskInput"] = None, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlOfflineTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.MySql.AzureDbForMySql' # type: str + self.input = input + self.output = None + + +class MigrateMySqlAzureDbForMySqlSyncDatabaseInput(msrest.serialization.Model): + """Database specific information for MySQL to Azure Database for MySQL migration task inputs. + + :param name: Name of the database. + :type name: str + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param migration_setting: Migration settings which tune the migration behavior. + :type migration_setting: dict[str, str] + :param source_setting: Source settings to tune source endpoint migration behavior. + :type source_setting: dict[str, str] + :param target_setting: Target settings to tune target endpoint migration behavior. + :type target_setting: dict[str, str] + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'migration_setting': {'key': 'migrationSetting', 'type': '{str}'}, + 'source_setting': {'key': 'sourceSetting', 'type': '{str}'}, + 'target_setting': {'key': 'targetSetting', 'type': '{str}'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + target_database_name: Optional[str] = None, + migration_setting: Optional[Dict[str, str]] = None, + source_setting: Optional[Dict[str, str]] = None, + target_setting: Optional[Dict[str, str]] = None, + table_map: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncDatabaseInput, self).__init__(**kwargs) + self.name = name + self.target_database_name = target_database_name + self.migration_setting = migration_setting + self.source_setting = source_setting + self.target_setting = target_setting + self.table_map = table_map + + +class MigrateMySqlAzureDbForMySqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Connection information for source MySQL. + :type source_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param target_connection_info: Required. Connection information for target Azure Database for + MySQL. + :type target_connection_info: ~azure.mgmt.datamigration.models.MySqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncDatabaseInput] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MySqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateMySqlAzureDbForMySqlSyncDatabaseInput]'}, + } + + def __init__( + self, + *, + source_connection_info: "MySqlConnectionInfo", + target_connection_info: "MySqlConnectionInfo", + selected_databases: List["MigrateMySqlAzureDbForMySqlSyncDatabaseInput"], + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.selected_databases = selected_databases + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that migrates MySQL databases to Azure Database for MySQL for online migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, MigrateMySqlAzureDbForMySqlSyncTaskOutputError, MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError', 'DatabaseLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputError', 'MigrationLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel', 'TableLevelOutput': 'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :param error_message: Error message. + :type error_message: str + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + *, + error_message: Optional[str] = None, + events: Optional[List["SyncMigrationDatabaseErrorEvent"]] = None, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelErrorOutput' # type: str + self.error_message = error_message + self.events = events + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar migration_state: Migration state that this database is in. Possible values include: + "UNDEFINED", "CONFIGURING", "INITIALIAZING", "STARTING", "RUNNING", "READY_TO_COMPLETE", + "COMPLETING", "COMPLETE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATING", + "VALIDATION_COMPLETE", "VALIDATION_FAILED", "RESTORE_IN_PROGRESS", "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", "BACKUP_COMPLETED". + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes. + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes. + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts. + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes. + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates. + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load. + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load. + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load. + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load. + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has been completed. + :vartype initialization_completed: bool + :ivar latency: CDC apply latency. + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputError(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server: Source server name. + :vartype source_server: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server: Target server name. + :vartype target_server: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + + +class MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel(MigrateMySqlAzureDbForMySqlSyncTaskOutput): + """MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table. + :vartype table_name: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts. + :vartype cdc_insert_counter: str + :ivar cdc_update_counter: Number of applied updates. + :vartype cdc_update_counter: str + :ivar cdc_delete_counter: Number of applied deletes. + :vartype cdc_delete_counter: str + :ivar full_load_est_finish_time: Estimate to finish full load. + :vartype full_load_est_finish_time: ~datetime.datetime + :ivar full_load_started_on: Full load start time. + :vartype full_load_started_on: ~datetime.datetime + :ivar full_load_ended_on: Full load end time. + :vartype full_load_ended_on: ~datetime.datetime + :ivar full_load_total_rows: Number of rows applied in full load. + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values include: "BEFORE_LOAD", + "FULL_LOAD", "COMPLETED", "CANCELED", "ERROR", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes. + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred. + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target. + :vartype last_modified_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'str'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'str'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'str'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + + +class MigrateMySqlAzureDbForMySqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateMySqlAzureDbForMySqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateMySqlAzureDbForMySqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateMySqlAzureDbForMySqlSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateMySqlAzureDbForMySqlSyncTaskInput"] = None, + **kwargs + ): + super(MigrateMySqlAzureDbForMySqlSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.MySql.AzureDbForMySql.Sync' # type: str + self.input = input + self.output = None + + +class MigrateOracleAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateOracleAzureDbPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigrateOracleAzureDbPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateOracleAzureDbPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateOracleAzureDbPostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateOracleAzureDbPostgreSqlSyncTaskInput"] = None, + **kwargs + ): + super(MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.Oracle.AzureDbForPostgreSql.Sync' # type: str + self.input = input + self.output = None + + +class MigrateOracleAzureDbPostgreSqlSyncDatabaseInput(msrest.serialization.Model): + """Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs. + + :param case_manipulation: How to handle object name casing: either Preserve or ToLower. + :type case_manipulation: str + :param name: Name of the migration pipeline. + :type name: str + :param schema_name: Name of the source schema. + :type schema_name: str + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param migration_setting: Migration settings which tune the migration behavior. + :type migration_setting: dict[str, str] + :param source_setting: Source settings to tune source endpoint migration behavior. + :type source_setting: dict[str, str] + :param target_setting: Target settings to tune target endpoint migration behavior. + :type target_setting: dict[str, str] + """ + + _attribute_map = { + 'case_manipulation': {'key': 'caseManipulation', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'migration_setting': {'key': 'migrationSetting', 'type': '{str}'}, + 'source_setting': {'key': 'sourceSetting', 'type': '{str}'}, + 'target_setting': {'key': 'targetSetting', 'type': '{str}'}, + } + + def __init__( + self, + *, + case_manipulation: Optional[str] = None, + name: Optional[str] = None, + schema_name: Optional[str] = None, + table_map: Optional[Dict[str, str]] = None, + target_database_name: Optional[str] = None, + migration_setting: Optional[Dict[str, str]] = None, + source_setting: Optional[Dict[str, str]] = None, + target_setting: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, self).__init__(**kwargs) + self.case_manipulation = case_manipulation + self.name = name + self.schema_name = schema_name + self.table_map = table_map + self.target_database_name = target_database_name + self.migration_setting = migration_setting + self.source_setting = source_setting + self.target_setting = target_setting + + +class MigrateOracleAzureDbPostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateOracleAzureDbPostgreSqlSyncDatabaseInput] + :param target_connection_info: Required. Connection information for target Azure Database for + PostgreSQL. + :type target_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param source_connection_info: Required. Connection information for source Oracle. + :type source_connection_info: ~azure.mgmt.datamigration.models.OracleConnectionInfo + """ + + _validation = { + 'selected_databases': {'required': True}, + 'target_connection_info': {'required': True}, + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateOracleAzureDbPostgreSqlSyncDatabaseInput]'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'OracleConnectionInfo'}, + } + + def __init__( + self, + *, + selected_databases: List["MigrateOracleAzureDbPostgreSqlSyncDatabaseInput"], + target_connection_info: "PostgreSqlConnectionInfo", + source_connection_info: "OracleConnectionInfo", + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.selected_databases = selected_databases + self.target_connection_info = target_connection_info + self.source_connection_info = source_connection_info + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError', 'DatabaseLevelOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputError', 'MigrationLevelOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel', 'TableLevelOutput': 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :param error_message: Error message. + :type error_message: str + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + *, + error_message: Optional[str] = None, + events: Optional[List["SyncMigrationDatabaseErrorEvent"]] = None, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelErrorOutput' # type: str + self.error_message = error_message + self.events = events + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar migration_state: Migration state that this database is in. Possible values include: + "UNDEFINED", "CONFIGURING", "INITIALIAZING", "STARTING", "RUNNING", "READY_TO_COMPLETE", + "COMPLETING", "COMPLETE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATING", + "VALIDATION_COMPLETE", "VALIDATION_FAILED", "RESTORE_IN_PROGRESS", "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", "BACKUP_COMPLETED". + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes. + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes. + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts. + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes. + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates. + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load. + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load. + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load. + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load. + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has been completed. + :vartype initialization_completed: bool + :ivar latency: CDC apply latency. + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputError(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server: Source server name. + :vartype source_server: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server: Target server name. + :vartype target_server: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + + +class MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel(MigrateOracleAzureDbPostgreSqlSyncTaskOutput): + """MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table. + :vartype table_name: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts. + :vartype cdc_insert_counter: long + :ivar cdc_update_counter: Number of applied updates. + :vartype cdc_update_counter: long + :ivar cdc_delete_counter: Number of applied deletes. + :vartype cdc_delete_counter: long + :ivar full_load_est_finish_time: Estimate to finish full load. + :vartype full_load_est_finish_time: ~datetime.datetime + :ivar full_load_started_on: Full load start time. + :vartype full_load_started_on: ~datetime.datetime + :ivar full_load_ended_on: Full load end time. + :vartype full_load_ended_on: ~datetime.datetime + :ivar full_load_total_rows: Number of rows applied in full load. + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values include: "BEFORE_LOAD", + "FULL_LOAD", "COMPLETED", "CANCELED", "ERROR", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes. + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred. + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target. + :vartype last_modified_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput(msrest.serialization.Model): + """Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs. + + :param name: Name of the database. + :type name: str + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param migration_setting: Migration settings which tune the migration behavior. + :type migration_setting: dict[str, str] + :param source_setting: Source settings to tune source endpoint migration behavior. + :type source_setting: dict[str, str] + :param target_setting: Target settings to tune target endpoint migration behavior. + :type target_setting: dict[str, str] + :param selected_tables: Tables selected for migration. + :type selected_tables: + list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'migration_setting': {'key': 'migrationSetting', 'type': '{str}'}, + 'source_setting': {'key': 'sourceSetting', 'type': '{str}'}, + 'target_setting': {'key': 'targetSetting', 'type': '{str}'}, + 'selected_tables': {'key': 'selectedTables', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + target_database_name: Optional[str] = None, + migration_setting: Optional[Dict[str, str]] = None, + source_setting: Optional[Dict[str, str]] = None, + target_setting: Optional[Dict[str, str]] = None, + selected_tables: Optional[List["MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput"]] = None, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, self).__init__(**kwargs) + self.name = name + self.target_database_name = target_database_name + self.migration_setting = migration_setting + self.source_setting = source_setting + self.target_setting = target_setting + self.selected_tables = selected_tables + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput(msrest.serialization.Model): + """Selected tables for the migration. + + :param name: Name of the table to migrate. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput, self).__init__(**kwargs) + self.name = name + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput(msrest.serialization.Model): + """Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput] + :param target_connection_info: Required. Connection information for target Azure Database for + PostgreSQL. + :type target_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param source_connection_info: Required. Connection information for source PostgreSQL. + :type source_connection_info: ~azure.mgmt.datamigration.models.PostgreSqlConnectionInfo + :param encrypted_key_for_secure_fields: encrypted key for secure fields. + :type encrypted_key_for_secure_fields: str + """ + + _validation = { + 'selected_databases': {'required': True}, + 'target_connection_info': {'required': True}, + 'source_connection_info': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput]'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'PostgreSqlConnectionInfo'}, + 'encrypted_key_for_secure_fields': {'key': 'encryptedKeyForSecureFields', 'type': 'str'}, + } + + def __init__( + self, + *, + selected_databases: List["MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput"], + target_connection_info: "PostgreSqlConnectionInfo", + source_connection_info: "PostgreSqlConnectionInfo", + encrypted_key_for_secure_fields: Optional[str] = None, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, self).__init__(**kwargs) + self.selected_databases = selected_databases + self.target_connection_info = target_connection_info + self.source_connection_info = source_connection_info + self.encrypted_key_for_secure_fields = encrypted_key_for_secure_fields + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError', 'DatabaseLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError', 'MigrationLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel', 'TableLevelOutput': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :param error_message: Error message. + :type error_message: str + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + *, + error_message: Optional[str] = None, + events: Optional[List["SyncMigrationDatabaseErrorEvent"]] = None, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelErrorOutput' # type: str + self.error_message = error_message + self.events = events + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar migration_state: Migration state that this database is in. Possible values include: + "UNDEFINED", "CONFIGURING", "INITIALIAZING", "STARTING", "RUNNING", "READY_TO_COMPLETE", + "COMPLETING", "COMPLETE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATING", + "VALIDATION_COMPLETE", "VALIDATION_FAILED", "RESTORE_IN_PROGRESS", "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", "BACKUP_COMPLETED". + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes. + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes. + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts. + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes. + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates. + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load. + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load. + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load. + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load. + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has been completed. + :vartype initialization_completed: bool + :ivar latency: CDC apply latency. + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + *, + events: Optional[List["SyncMigrationDatabaseErrorEvent"]] = None, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + self.events = events + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server: Source server name. + :vartype source_server: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server: Target server name. + :vartype target_server: str + :ivar source_server_type: Source server type. Possible values include: "Access", "DB2", + "MySQL", "Oracle", "SQL", "Sybase", "PostgreSQL", "MongoDB", "SQLRDS", "MySQLRDS", + "PostgreSQLRDS". + :vartype source_server_type: str or ~azure.mgmt.datamigration.models.ScenarioSource + :ivar target_server_type: Target server type. Possible values include: "SQLServer", "SQLDB", + "SQLDW", "SQLMI", "AzureDBForMySql", "AzureDBForPostgresSQL", "MongoDB". + :vartype target_server_type: str or ~azure.mgmt.datamigration.models.ScenarioTarget + :ivar state: Migration status. Possible values include: "UNDEFINED", "VALIDATING", "PENDING", + "COMPLETE", "ACTION_REQUIRED", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.ReplicateMigrationState + :param database_count: Number of databases to include. + :type database_count: float + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + 'source_server_type': {'readonly': True}, + 'target_server_type': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + 'source_server_type': {'key': 'sourceServerType', 'type': 'str'}, + 'target_server_type': {'key': 'targetServerType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'database_count': {'key': 'databaseCount', 'type': 'float'}, + } + + def __init__( + self, + *, + database_count: Optional[float] = None, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + self.source_server_type = None + self.target_server_type = None + self.state = None + self.database_count = database_count + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput): + """MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table. + :vartype table_name: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts. + :vartype cdc_insert_counter: long + :ivar cdc_update_counter: Number of applied updates. + :vartype cdc_update_counter: long + :ivar cdc_delete_counter: Number of applied deletes. + :vartype cdc_delete_counter: long + :ivar full_load_est_finish_time: Estimate to finish full load. + :vartype full_load_est_finish_time: ~datetime.datetime + :ivar full_load_started_on: Full load start time. + :vartype full_load_started_on: ~datetime.datetime + :ivar full_load_ended_on: Full load end time. + :vartype full_load_ended_on: ~datetime.datetime + :ivar full_load_total_rows: Number of rows applied in full load. + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values include: "BEFORE_LOAD", + "FULL_LOAD", "COMPLETED", "CANCELED", "ERROR", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes. + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred. + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target. + :vartype last_modified_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + + +class MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: + ~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput] + :param task_id: task id. + :type task_id: str + :param created_on: DateTime in UTC when the task was created. + :type created_on: str + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput]'}, + 'task_id': {'key': 'taskId', 'type': 'str'}, + 'created_on': {'key': 'createdOn', 'type': 'str'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput"] = None, + task_id: Optional[str] = None, + created_on: Optional[str] = None, + **kwargs + ): + super(MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' # type: str + self.input = input + self.output = None + self.task_id = task_id + self.created_on = created_on + + +class MigrateSchemaSqlServerSqlDbDatabaseInput(msrest.serialization.Model): + """Database input for migrate schema Sql Server to Azure SQL Server scenario. + + :param name: Name of source database. + :type name: str + :param id: Id of the source database. + :type id: str + :param target_database_name: Name of target database. + :type target_database_name: str + :param schema_setting: Database schema migration settings. + :type schema_setting: ~azure.mgmt.datamigration.models.SchemaMigrationSetting + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'schema_setting': {'key': 'schemaSetting', 'type': 'SchemaMigrationSetting'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + id: Optional[str] = None, + target_database_name: Optional[str] = None, + schema_setting: Optional["SchemaMigrationSetting"] = None, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbDatabaseInput, self).__init__(**kwargs) + self.name = name + self.id = id + self.target_database_name = target_database_name + self.schema_setting = schema_setting + + +class SqlMigrationTaskInput(msrest.serialization.Model): + """Base class for migration task input. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + **kwargs + ): + super(SqlMigrationTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + + +class MigrateSchemaSqlServerSqlDbTaskInput(SqlMigrationTaskInput): + """Input for task that migrates Schema for SQL Server databases to Azure SQL databases. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSchemaSqlServerSqlDbDatabaseInput] + :param encrypted_key_for_secure_fields: encrypted key for secure fields. + :type encrypted_key_for_secure_fields: str + :param started_on: Migration start time. + :type started_on: str + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSchemaSqlServerSqlDbDatabaseInput]'}, + 'encrypted_key_for_secure_fields': {'key': 'encryptedKeyForSecureFields', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'str'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + selected_databases: List["MigrateSchemaSqlServerSqlDbDatabaseInput"], + encrypted_key_for_secure_fields: Optional[str] = None, + started_on: Optional[str] = None, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info, **kwargs) + self.selected_databases = selected_databases + self.encrypted_key_for_secure_fields = encrypted_key_for_secure_fields + self.started_on = started_on + + +class MigrateSchemaSqlServerSqlDbTaskOutput(msrest.serialization.Model): + """Output for the task that migrates Schema for SQL Server databases to Azure SQL databases. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, MigrateSchemaSqlTaskOutputError, MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, MigrateSchemaSqlServerSqlDbTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelOutput': 'MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSchemaSqlTaskOutputError', 'MigrationLevelOutput': 'MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel', 'SchemaErrorOutput': 'MigrateSchemaSqlServerSqlDbTaskOutputError'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel(MigrateSchemaSqlServerSqlDbTaskOutput): + """MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: The name of the database. + :vartype database_name: str + :ivar state: State of the schema migration for this database. Possible values include: "None", + "InProgress", "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Schema migration stage for this database. Possible values include: "NotStarted", + "ValidatingInputs", "CollectingObjects", "DownloadingScript", "GeneratingScript", + "UploadingScript", "DeployingSchema", "Completed", "CompletedWithWarnings", "Failed". + :vartype stage: str or ~azure.mgmt.datamigration.models.SchemaMigrationStage + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar database_error_result_prefix: Prefix string to use for querying errors for this database. + :vartype database_error_result_prefix: str + :ivar schema_error_result_prefix: Prefix string to use for querying schema errors for this + database. + :vartype schema_error_result_prefix: str + :ivar number_of_successful_operations: Number of successful operations for this database. + :vartype number_of_successful_operations: long + :ivar number_of_failed_operations: Number of failed operations for this database. + :vartype number_of_failed_operations: long + :ivar file_id: Identifier for the file resource containing the schema of this database. + :vartype file_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'database_error_result_prefix': {'readonly': True}, + 'schema_error_result_prefix': {'readonly': True}, + 'number_of_successful_operations': {'readonly': True}, + 'number_of_failed_operations': {'readonly': True}, + 'file_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'database_error_result_prefix': {'key': 'databaseErrorResultPrefix', 'type': 'str'}, + 'schema_error_result_prefix': {'key': 'schemaErrorResultPrefix', 'type': 'str'}, + 'number_of_successful_operations': {'key': 'numberOfSuccessfulOperations', 'type': 'long'}, + 'number_of_failed_operations': {'key': 'numberOfFailedOperations', 'type': 'long'}, + 'file_id': {'key': 'fileId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.database_error_result_prefix = None + self.schema_error_result_prefix = None + self.number_of_successful_operations = None + self.number_of_failed_operations = None + self.file_id = None + + +class MigrateSchemaSqlServerSqlDbTaskOutputError(MigrateSchemaSqlServerSqlDbTaskOutput): + """MigrateSchemaSqlServerSqlDbTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar command_text: Schema command which failed. + :vartype command_text: str + :ivar error_text: Reason of failure. + :vartype error_text: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'command_text': {'readonly': True}, + 'error_text': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'command_text': {'key': 'commandText', 'type': 'str'}, + 'error_text': {'key': 'errorText', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskOutputError, self).__init__(**kwargs) + self.result_type = 'SchemaErrorOutput' # type: str + self.command_text = None + self.error_text = None + + +class MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel(MigrateSchemaSqlServerSqlDbTaskOutput): + """MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar state: Overall state of the schema migration. Possible values include: "None", + "InProgress", "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.state = None + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + + +class MigrateSchemaSqlServerSqlDbTaskProperties(ProjectTaskProperties): + """Properties for task that migrates Schema for SQL Server databases to Azure SQL databases. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSchemaSqlServerSqlDbTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSchemaSqlServerSqlDbTaskOutput] + :param created_on: DateTime in UTC when the task was created. + :type created_on: str + :param task_id: Task id. + :type task_id: str + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSchemaSqlServerSqlDbTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSchemaSqlServerSqlDbTaskOutput]'}, + 'created_on': {'key': 'createdOn', 'type': 'str'}, + 'task_id': {'key': 'taskId', 'type': 'str'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateSchemaSqlServerSqlDbTaskInput"] = None, + created_on: Optional[str] = None, + task_id: Optional[str] = None, + **kwargs + ): + super(MigrateSchemaSqlServerSqlDbTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'MigrateSchemaSqlServerSqlDb' # type: str + self.input = input + self.output = None + self.created_on = created_on + self.task_id = task_id + + +class MigrateSchemaSqlTaskOutputError(MigrateSchemaSqlServerSqlDbTaskOutput): + """MigrateSchemaSqlTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSchemaSqlTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerDatabaseInput(msrest.serialization.Model): + """Database specific information for SQL to SQL migration task inputs. + + :param name: Name of the database. + :type name: str + :param restore_database_name: Name of the database at destination. + :type restore_database_name: str + :param backup_and_restore_folder: The backup and restore folder. + :type backup_and_restore_folder: str + :param database_files: The list of database files. + :type database_files: list[~azure.mgmt.datamigration.models.DatabaseFileInput] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name': {'key': 'restoreDatabaseName', 'type': 'str'}, + 'backup_and_restore_folder': {'key': 'backupAndRestoreFolder', 'type': 'str'}, + 'database_files': {'key': 'databaseFiles', 'type': '[DatabaseFileInput]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + restore_database_name: Optional[str] = None, + backup_and_restore_folder: Optional[str] = None, + database_files: Optional[List["DatabaseFileInput"]] = None, + **kwargs + ): + super(MigrateSqlServerDatabaseInput, self).__init__(**kwargs) + self.name = name + self.restore_database_name = restore_database_name + self.backup_and_restore_folder = backup_and_restore_folder + self.database_files = database_files + + +class MigrateSqlServerSqlDbDatabaseInput(msrest.serialization.Model): + """Database specific information for SQL to Azure SQL DB migration task inputs. + + :param name: Name of the database. + :type name: str + :param target_database_name: Name of target database. Note: Target database will be truncated + before starting migration. + :type target_database_name: str + :param make_source_db_read_only: Whether to set database read only before migration. + :type make_source_db_read_only: bool + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + :param schema_setting: Settings selected for DB schema migration. + :type schema_setting: object + :param id: id of the database. + :type id: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'make_source_db_read_only': {'key': 'makeSourceDbReadOnly', 'type': 'bool'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + 'schema_setting': {'key': 'schemaSetting', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + target_database_name: Optional[str] = None, + make_source_db_read_only: Optional[bool] = None, + table_map: Optional[Dict[str, str]] = None, + schema_setting: Optional[object] = None, + id: Optional[str] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbDatabaseInput, self).__init__(**kwargs) + self.name = name + self.target_database_name = target_database_name + self.make_source_db_read_only = make_source_db_read_only + self.table_map = table_map + self.schema_setting = schema_setting + self.id = id + + +class MigrateSqlServerSqlDbSyncDatabaseInput(msrest.serialization.Model): + """Database specific information for SQL to Azure SQL DB sync migration task inputs. + + :param id: Unique identifier for database. + :type id: str + :param name: Name of database. + :type name: str + :param target_database_name: Target database name. + :type target_database_name: str + :param schema_name: Schema name to be migrated. + :type schema_name: str + :param table_map: Mapping of source to target tables. + :type table_map: dict[str, str] + :param migration_setting: Migration settings which tune the migration behavior. + :type migration_setting: dict[str, str] + :param source_setting: Source settings to tune source endpoint migration behavior. + :type source_setting: dict[str, str] + :param target_setting: Target settings to tune target endpoint migration behavior. + :type target_setting: dict[str, str] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'schema_name': {'key': 'schemaName', 'type': 'str'}, + 'table_map': {'key': 'tableMap', 'type': '{str}'}, + 'migration_setting': {'key': 'migrationSetting', 'type': '{str}'}, + 'source_setting': {'key': 'sourceSetting', 'type': '{str}'}, + 'target_setting': {'key': 'targetSetting', 'type': '{str}'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + name: Optional[str] = None, + target_database_name: Optional[str] = None, + schema_name: Optional[str] = None, + table_map: Optional[Dict[str, str]] = None, + migration_setting: Optional[Dict[str, str]] = None, + source_setting: Optional[Dict[str, str]] = None, + target_setting: Optional[Dict[str, str]] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncDatabaseInput, self).__init__(**kwargs) + self.id = id + self.name = name + self.target_database_name = target_database_name + self.schema_name = schema_name + self.table_map = table_map + self.migration_setting = migration_setting + self.source_setting = source_setting + self.target_setting = target_setting + + +class MigrateSqlServerSqlDbSyncTaskInput(SqlMigrationTaskInput): + """Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncDatabaseInput] + :param validation_options: Validation options. + :type validation_options: ~azure.mgmt.datamigration.models.MigrationValidationOptions + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlDbSyncDatabaseInput]'}, + 'validation_options': {'key': 'validationOptions', 'type': 'MigrationValidationOptions'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + selected_databases: List["MigrateSqlServerSqlDbSyncDatabaseInput"], + validation_options: Optional["MigrationValidationOptions"] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info, **kwargs) + self.selected_databases = selected_databases + self.validation_options = validation_options + + +class MigrateSqlServerSqlDbSyncTaskOutput(msrest.serialization.Model): + """Output for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, MigrateSqlServerSqlDbSyncTaskOutputError, MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, MigrateSqlServerSqlDbSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelErrorOutput': 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseError', 'DatabaseLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSqlServerSqlDbSyncTaskOutputError', 'MigrationLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel', 'TableLevelOutput': 'MigrateSqlServerSqlDbSyncTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSqlServerSqlDbSyncTaskOutputDatabaseError(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputDatabaseError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :param error_message: Error message. + :type error_message: str + :param events: List of error events. + :type events: list[~azure.mgmt.datamigration.models.SyncMigrationDatabaseErrorEvent] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[SyncMigrationDatabaseErrorEvent]'}, + } + + def __init__( + self, + *, + error_message: Optional[str] = None, + events: Optional[List["SyncMigrationDatabaseErrorEvent"]] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelErrorOutput' # type: str + self.error_message = error_message + self.events = events + + +class MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar migration_state: Migration state that this database is in. Possible values include: + "UNDEFINED", "CONFIGURING", "INITIALIAZING", "STARTING", "RUNNING", "READY_TO_COMPLETE", + "COMPLETING", "COMPLETE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATING", + "VALIDATION_COMPLETE", "VALIDATION_FAILED", "RESTORE_IN_PROGRESS", "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", "BACKUP_COMPLETED". + :vartype migration_state: str or + ~azure.mgmt.datamigration.models.SyncDatabaseMigrationReportingState + :ivar incoming_changes: Number of incoming changes. + :vartype incoming_changes: long + :ivar applied_changes: Number of applied changes. + :vartype applied_changes: long + :ivar cdc_insert_counter: Number of cdc inserts. + :vartype cdc_insert_counter: long + :ivar cdc_delete_counter: Number of cdc deletes. + :vartype cdc_delete_counter: long + :ivar cdc_update_counter: Number of cdc updates. + :vartype cdc_update_counter: long + :ivar full_load_completed_tables: Number of tables completed in full load. + :vartype full_load_completed_tables: long + :ivar full_load_loading_tables: Number of tables loading in full load. + :vartype full_load_loading_tables: long + :ivar full_load_queued_tables: Number of tables queued in full load. + :vartype full_load_queued_tables: long + :ivar full_load_errored_tables: Number of tables errored in full load. + :vartype full_load_errored_tables: long + :ivar initialization_completed: Indicates if initial load (full load) has been completed. + :vartype initialization_completed: bool + :ivar latency: CDC apply latency. + :vartype latency: long + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'incoming_changes': {'readonly': True}, + 'applied_changes': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'full_load_completed_tables': {'readonly': True}, + 'full_load_loading_tables': {'readonly': True}, + 'full_load_queued_tables': {'readonly': True}, + 'full_load_errored_tables': {'readonly': True}, + 'initialization_completed': {'readonly': True}, + 'latency': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'incoming_changes': {'key': 'incomingChanges', 'type': 'long'}, + 'applied_changes': {'key': 'appliedChanges', 'type': 'long'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'full_load_completed_tables': {'key': 'fullLoadCompletedTables', 'type': 'long'}, + 'full_load_loading_tables': {'key': 'fullLoadLoadingTables', 'type': 'long'}, + 'full_load_queued_tables': {'key': 'fullLoadQueuedTables', 'type': 'long'}, + 'full_load_errored_tables': {'key': 'fullLoadErroredTables', 'type': 'long'}, + 'initialization_completed': {'key': 'initializationCompleted', 'type': 'bool'}, + 'latency': {'key': 'latency', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.migration_state = None + self.incoming_changes = None + self.applied_changes = None + self.cdc_insert_counter = None + self.cdc_delete_counter = None + self.cdc_update_counter = None + self.full_load_completed_tables = None + self.full_load_loading_tables = None + self.full_load_queued_tables = None + self.full_load_errored_tables = None + self.initialization_completed = None + self.latency = None + + +class MigrateSqlServerSqlDbSyncTaskOutputError(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server: Source server name. + :vartype source_server: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server: Target server name. + :vartype target_server: str + :ivar database_count: Count of databases. + :vartype database_count: int + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server': {'readonly': True}, + 'database_count': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server': {'key': 'sourceServer', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server': {'key': 'targetServer', 'type': 'str'}, + 'database_count': {'key': 'databaseCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.source_server_version = None + self.source_server = None + self.target_server_version = None + self.target_server = None + self.database_count = None + + +class MigrateSqlServerSqlDbSyncTaskOutputTableLevel(MigrateSqlServerSqlDbSyncTaskOutput): + """MigrateSqlServerSqlDbSyncTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar table_name: Name of the table. + :vartype table_name: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar cdc_insert_counter: Number of applied inserts. + :vartype cdc_insert_counter: long + :ivar cdc_update_counter: Number of applied updates. + :vartype cdc_update_counter: long + :ivar cdc_delete_counter: Number of applied deletes. + :vartype cdc_delete_counter: long + :ivar full_load_est_finish_time: Estimate to finish full load. + :vartype full_load_est_finish_time: ~datetime.datetime + :ivar full_load_started_on: Full load start time. + :vartype full_load_started_on: ~datetime.datetime + :ivar full_load_ended_on: Full load end time. + :vartype full_load_ended_on: ~datetime.datetime + :ivar full_load_total_rows: Number of rows applied in full load. + :vartype full_load_total_rows: long + :ivar state: Current state of the table migration. Possible values include: "BEFORE_LOAD", + "FULL_LOAD", "COMPLETED", "CANCELED", "ERROR", "FAILED". + :vartype state: str or ~azure.mgmt.datamigration.models.SyncTableMigrationState + :ivar total_changes_applied: Total number of applied changes. + :vartype total_changes_applied: long + :ivar data_errors_counter: Number of data errors occurred. + :vartype data_errors_counter: long + :ivar last_modified_time: Last modified time on target. + :vartype last_modified_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'table_name': {'readonly': True}, + 'database_name': {'readonly': True}, + 'cdc_insert_counter': {'readonly': True}, + 'cdc_update_counter': {'readonly': True}, + 'cdc_delete_counter': {'readonly': True}, + 'full_load_est_finish_time': {'readonly': True}, + 'full_load_started_on': {'readonly': True}, + 'full_load_ended_on': {'readonly': True}, + 'full_load_total_rows': {'readonly': True}, + 'state': {'readonly': True}, + 'total_changes_applied': {'readonly': True}, + 'data_errors_counter': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'table_name': {'key': 'tableName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'cdc_insert_counter': {'key': 'cdcInsertCounter', 'type': 'long'}, + 'cdc_update_counter': {'key': 'cdcUpdateCounter', 'type': 'long'}, + 'cdc_delete_counter': {'key': 'cdcDeleteCounter', 'type': 'long'}, + 'full_load_est_finish_time': {'key': 'fullLoadEstFinishTime', 'type': 'iso-8601'}, + 'full_load_started_on': {'key': 'fullLoadStartedOn', 'type': 'iso-8601'}, + 'full_load_ended_on': {'key': 'fullLoadEndedOn', 'type': 'iso-8601'}, + 'full_load_total_rows': {'key': 'fullLoadTotalRows', 'type': 'long'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_changes_applied': {'key': 'totalChangesApplied', 'type': 'long'}, + 'data_errors_counter': {'key': 'dataErrorsCounter', 'type': 'long'}, + 'last_modified_time': {'key': 'lastModifiedTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.table_name = None + self.database_name = None + self.cdc_insert_counter = None + self.cdc_update_counter = None + self.cdc_delete_counter = None + self.full_load_est_finish_time = None + self.full_load_started_on = None + self.full_load_ended_on = None + self.full_load_total_rows = None + self.state = None + self.total_changes_applied = None + self.data_errors_counter = None + self.last_modified_time = None + + +class MigrateSqlServerSqlDbSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlDbSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlDbSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateSqlServerSqlDbSyncTaskInput"] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.SqlServer.AzureSqlDb.Sync' # type: str + self.input = input + self.output = None + + +class MigrateSqlServerSqlDbTaskInput(SqlMigrationTaskInput): + """Input for the task that migrates on-prem SQL Server databases to Azure SQL Database. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbDatabaseInput] + :param validation_options: Options for enabling various post migration validations. Available + options, + 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables + after the migration to ensure the correctness of the data. + 2.) Schema Validation: Performs a thorough schema comparison between the source and target + tables and provides a list of differences between the source and target database, 3.) Query + Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or + Query Store and execute them and compares the execution time between the source and target + database. + :type validation_options: ~azure.mgmt.datamigration.models.MigrationValidationOptions + :param started_on: Date and time relative to UTC when the migration was started on. + :type started_on: str + :param encrypted_key_for_secure_fields: encrypted key for secure fields. + :type encrypted_key_for_secure_fields: str + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlDbDatabaseInput]'}, + 'validation_options': {'key': 'validationOptions', 'type': 'MigrationValidationOptions'}, + 'started_on': {'key': 'startedOn', 'type': 'str'}, + 'encrypted_key_for_secure_fields': {'key': 'encryptedKeyForSecureFields', 'type': 'str'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + selected_databases: List["MigrateSqlServerSqlDbDatabaseInput"], + validation_options: Optional["MigrationValidationOptions"] = None, + started_on: Optional[str] = None, + encrypted_key_for_secure_fields: Optional[str] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info, **kwargs) + self.selected_databases = selected_databases + self.validation_options = validation_options + self.started_on = started_on + self.encrypted_key_for_secure_fields = encrypted_key_for_secure_fields + + +class MigrateSqlServerSqlDbTaskOutput(msrest.serialization.Model): + """Output for the task that migrates on-prem SQL Server databases to Azure SQL Database. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlDbTaskOutputDatabaseLevel, MigrateSqlServerSqlDbTaskOutputError, MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult, MigrateSqlServerSqlDbTaskOutputMigrationLevel, MigrateSqlServerSqlDbTaskOutputValidationResult, MigrateSqlServerSqlDbTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelOutput': 'MigrateSqlServerSqlDbTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSqlServerSqlDbTaskOutputError', 'MigrationDatabaseLevelValidationOutput': 'MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult', 'MigrationLevelOutput': 'MigrateSqlServerSqlDbTaskOutputMigrationLevel', 'MigrationValidationOutput': 'MigrateSqlServerSqlDbTaskOutputValidationResult', 'TableLevelOutput': 'MigrateSqlServerSqlDbTaskOutputTableLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSqlServerSqlDbTaskOutputDatabaseLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the item. + :vartype database_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Migration stage that this database is in. Possible values include: "None", + "Initialize", "Backup", "FileCopy", "Restore", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar status_message: Status message. + :vartype status_message: str + :ivar message: Migration progress message. + :vartype message: str + :ivar number_of_objects: Number of objects. + :vartype number_of_objects: long + :ivar number_of_objects_completed: Number of successfully completed objects. + :vartype number_of_objects_completed: long + :ivar error_count: Number of database/object errors. + :vartype error_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar object_summary: Summary of object results in the migration. + :vartype object_summary: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'number_of_objects': {'readonly': True}, + 'number_of_objects_completed': {'readonly': True}, + 'error_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'object_summary': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'number_of_objects': {'key': 'numberOfObjects', 'type': 'long'}, + 'number_of_objects_completed': {'key': 'numberOfObjectsCompleted', 'type': 'long'}, + 'error_count': {'key': 'errorCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'object_summary': {'key': 'objectSummary', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.stage = None + self.status_message = None + self.message = None + self.number_of_objects = None + self.number_of_objects_completed = None + self.error_count = None + self.error_prefix = None + self.result_prefix = None + self.exceptions_and_warnings = None + self.object_summary = None + + +class MigrationValidationDatabaseLevelResult(msrest.serialization.Model): + """Database level validation results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar migration_id: Migration Identifier. + :vartype migration_id: str + :ivar source_database_name: Name of the source database. + :vartype source_database_name: str + :ivar target_database_name: Name of the target database. + :vartype target_database_name: str + :ivar started_on: Validation start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Validation end time. + :vartype ended_on: ~datetime.datetime + :ivar data_integrity_validation_result: Provides data integrity validation result between the + source and target tables that are migrated. + :vartype data_integrity_validation_result: + ~azure.mgmt.datamigration.models.DataIntegrityValidationResult + :ivar schema_validation_result: Provides schema comparison result between source and target + database. + :vartype schema_validation_result: + ~azure.mgmt.datamigration.models.SchemaComparisonValidationResult + :ivar query_analysis_validation_result: Results of some of the query execution result between + source and target database. + :vartype query_analysis_validation_result: + ~azure.mgmt.datamigration.models.QueryAnalysisValidationResult + :ivar status: Current status of validation at the database level. Possible values include: + "Default", "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", + "Stopped", "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'source_database_name': {'readonly': True}, + 'target_database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'data_integrity_validation_result': {'readonly': True}, + 'schema_validation_result': {'readonly': True}, + 'query_analysis_validation_result': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'data_integrity_validation_result': {'key': 'dataIntegrityValidationResult', 'type': 'DataIntegrityValidationResult'}, + 'schema_validation_result': {'key': 'schemaValidationResult', 'type': 'SchemaComparisonValidationResult'}, + 'query_analysis_validation_result': {'key': 'queryAnalysisValidationResult', 'type': 'QueryAnalysisValidationResult'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationValidationDatabaseLevelResult, self).__init__(**kwargs) + self.id = None + self.migration_id = None + self.source_database_name = None + self.target_database_name = None + self.started_on = None + self.ended_on = None + self.data_integrity_validation_result = None + self.schema_validation_result = None + self.query_analysis_validation_result = None + self.status = None + + +class MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult(MigrateSqlServerSqlDbTaskOutput, MigrationValidationDatabaseLevelResult): + """MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult. + + 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 migration_id: Migration Identifier. + :vartype migration_id: str + :ivar source_database_name: Name of the source database. + :vartype source_database_name: str + :ivar target_database_name: Name of the target database. + :vartype target_database_name: str + :ivar started_on: Validation start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Validation end time. + :vartype ended_on: ~datetime.datetime + :ivar data_integrity_validation_result: Provides data integrity validation result between the + source and target tables that are migrated. + :vartype data_integrity_validation_result: + ~azure.mgmt.datamigration.models.DataIntegrityValidationResult + :ivar schema_validation_result: Provides schema comparison result between source and target + database. + :vartype schema_validation_result: + ~azure.mgmt.datamigration.models.SchemaComparisonValidationResult + :ivar query_analysis_validation_result: Results of some of the query execution result between + source and target database. + :vartype query_analysis_validation_result: + ~azure.mgmt.datamigration.models.QueryAnalysisValidationResult + :ivar status: Current status of validation at the database level. Possible values include: + "Default", "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", + "Stopped", "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'migration_id': {'readonly': True}, + 'source_database_name': {'readonly': True}, + 'target_database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'data_integrity_validation_result': {'readonly': True}, + 'schema_validation_result': {'readonly': True}, + 'query_analysis_validation_result': {'readonly': True}, + 'status': {'readonly': True}, + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'data_integrity_validation_result': {'key': 'dataIntegrityValidationResult', 'type': 'DataIntegrityValidationResult'}, + 'schema_validation_result': {'key': 'schemaValidationResult', 'type': 'SchemaComparisonValidationResult'}, + 'query_analysis_validation_result': {'key': 'queryAnalysisValidationResult', 'type': 'QueryAnalysisValidationResult'}, + 'status': {'key': 'status', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult, self).__init__(**kwargs) + self.migration_id = None + self.source_database_name = None + self.target_database_name = None + self.started_on = None + self.ended_on = None + self.data_integrity_validation_result = None + self.schema_validation_result = None + self.query_analysis_validation_result = None + self.status = None + self.result_type = 'MigrationDatabaseLevelValidationOutput' # type: str + self.id = None + self.result_type = 'MigrationDatabaseLevelValidationOutput' # type: str + + +class MigrateSqlServerSqlDbTaskOutputError(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerSqlDbTaskOutputMigrationLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar duration_in_seconds: Duration of task execution in seconds. + :vartype duration_in_seconds: long + :ivar status: Current status of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar status_message: Migration status message. + :vartype status_message: str + :ivar message: Migration progress message. + :vartype message: str + :ivar databases: Selected databases as a map from database name to database id. + :vartype databases: str + :ivar database_summary: Summary of database results in the migration. + :vartype database_summary: str + :param migration_validation_result: Migration Validation Results. + :type migration_validation_result: ~azure.mgmt.datamigration.models.MigrationValidationResult + :param migration_report_result: Migration Report Result, provides unique url for downloading + your migration report. + :type migration_report_result: ~azure.mgmt.datamigration.models.MigrationReportResult + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'duration_in_seconds': {'readonly': True}, + 'status': {'readonly': True}, + 'status_message': {'readonly': True}, + 'message': {'readonly': True}, + 'databases': {'readonly': True}, + 'database_summary': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'duration_in_seconds': {'key': 'durationInSeconds', 'type': 'long'}, + 'status': {'key': 'status', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'database_summary': {'key': 'databaseSummary', 'type': 'str'}, + 'migration_validation_result': {'key': 'migrationValidationResult', 'type': 'MigrationValidationResult'}, + 'migration_report_result': {'key': 'migrationReportResult', 'type': 'MigrationReportResult'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + *, + migration_validation_result: Optional["MigrationValidationResult"] = None, + migration_report_result: Optional["MigrationReportResult"] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.duration_in_seconds = None + self.status = None + self.status_message = None + self.message = None + self.databases = None + self.database_summary = None + self.migration_validation_result = migration_validation_result + self.migration_report_result = migration_report_result + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlDbTaskOutputTableLevel(MigrateSqlServerSqlDbTaskOutput): + """MigrateSqlServerSqlDbTaskOutputTableLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar object_name: Name of the item. + :vartype object_name: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar status_message: Status message. + :vartype status_message: str + :ivar items_count: Number of items. + :vartype items_count: long + :ivar items_completed_count: Number of successfully completed items. + :vartype items_completed_count: long + :ivar error_prefix: Wildcard string prefix to use for querying all errors of the item. + :vartype error_prefix: str + :ivar result_prefix: Wildcard string prefix to use for querying all sub-tem results of the + item. + :vartype result_prefix: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'object_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'state': {'readonly': True}, + 'status_message': {'readonly': True}, + 'items_count': {'readonly': True}, + 'items_completed_count': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'result_prefix': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'state': {'key': 'state', 'type': 'str'}, + 'status_message': {'key': 'statusMessage', 'type': 'str'}, + 'items_count': {'key': 'itemsCount', 'type': 'long'}, + 'items_completed_count': {'key': 'itemsCompletedCount', 'type': 'long'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'result_prefix': {'key': 'resultPrefix', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputTableLevel, self).__init__(**kwargs) + self.result_type = 'TableLevelOutput' # type: str + self.object_name = None + self.started_on = None + self.ended_on = None + self.state = None + self.status_message = None + self.items_count = None + self.items_completed_count = None + self.error_prefix = None + self.result_prefix = None + + +class MigrationValidationResult(msrest.serialization.Model): + """Migration Validation Result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Migration validation result identifier. + :vartype id: str + :ivar migration_id: Migration Identifier. + :vartype migration_id: str + :param summary_results: Validation summary results for each database. + :type summary_results: dict[str, + ~azure.mgmt.datamigration.models.MigrationValidationDatabaseSummaryResult] + :ivar status: Current status of validation at the migration level. Status from the database + validation result status will be aggregated here. Possible values include: "Default", + "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", "Stopped", + "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'summary_results': {'key': 'summaryResults', 'type': '{MigrationValidationDatabaseSummaryResult}'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + summary_results: Optional[Dict[str, "MigrationValidationDatabaseSummaryResult"]] = None, + **kwargs + ): + super(MigrationValidationResult, self).__init__(**kwargs) + self.id = None + self.migration_id = None + self.summary_results = summary_results + self.status = None + + +class MigrateSqlServerSqlDbTaskOutputValidationResult(MigrateSqlServerSqlDbTaskOutput, MigrationValidationResult): + """MigrateSqlServerSqlDbTaskOutputValidationResult. + + 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 migration_id: Migration Identifier. + :vartype migration_id: str + :param summary_results: Validation summary results for each database. + :type summary_results: dict[str, + ~azure.mgmt.datamigration.models.MigrationValidationDatabaseSummaryResult] + :ivar status: Current status of validation at the migration level. Status from the database + validation result status will be aggregated here. Possible values include: "Default", + "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", "Stopped", + "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + :ivar id: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'migration_id': {'readonly': True}, + 'status': {'readonly': True}, + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'summary_results': {'key': 'summaryResults', 'type': '{MigrationValidationDatabaseSummaryResult}'}, + 'status': {'key': 'status', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + def __init__( + self, + *, + summary_results: Optional[Dict[str, "MigrationValidationDatabaseSummaryResult"]] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskOutputValidationResult, self).__init__(summary_results=summary_results, **kwargs) + self.migration_id = None + self.summary_results = summary_results + self.status = None + self.result_type = 'MigrationValidationOutput' # type: str + self.id = None + self.result_type = 'MigrationValidationOutput' # type: str + + +class MigrateSqlServerSqlDbTaskProperties(ProjectTaskProperties): + """Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbTaskOutput] + :param task_id: task id. + :type task_id: str + :param is_cloneable: whether the task can be cloned or not. + :type is_cloneable: bool + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlDbTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlDbTaskOutput]'}, + 'task_id': {'key': 'taskId', 'type': 'str'}, + 'is_cloneable': {'key': 'isCloneable', 'type': 'bool'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateSqlServerSqlDbTaskInput"] = None, + task_id: Optional[str] = None, + is_cloneable: Optional[bool] = None, + **kwargs + ): + super(MigrateSqlServerSqlDbTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.SqlServer.SqlDb' # type: str + self.input = input + self.output = None + self.task_id = task_id + self.is_cloneable = is_cloneable + + +class MigrateSqlServerSqlMiDatabaseInput(msrest.serialization.Model): + """Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the database. + :type name: str + :param restore_database_name: Required. Name of the database at destination. + :type restore_database_name: str + :param backup_file_share: Backup file share information for backing up this database. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param backup_file_paths: The list of backup files to be used in case of existing backups. + :type backup_file_paths: list[str] + :param id: id of the database. + :type id: str + """ + + _validation = { + 'name': {'required': True}, + 'restore_database_name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name': {'key': 'restoreDatabaseName', 'type': 'str'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'backup_file_paths': {'key': 'backupFilePaths', 'type': '[str]'}, + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + restore_database_name: str, + backup_file_share: Optional["FileShare"] = None, + backup_file_paths: Optional[List[str]] = None, + id: Optional[str] = None, + **kwargs + ): + super(MigrateSqlServerSqlMiDatabaseInput, self).__init__(**kwargs) + self.name = name + self.restore_database_name = restore_database_name + self.backup_file_share = backup_file_share + self.backup_file_paths = backup_file_paths + self.id = id + + +class SqlServerSqlMiSyncTaskInput(msrest.serialization.Model): + """Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param storage_resource_id: Required. Fully qualified resourceId of storage. + :type storage_resource_id: str + :param source_connection_info: Required. Connection information for source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for Azure SQL Database Managed + Instance. + :type target_connection_info: ~azure.mgmt.datamigration.models.MiSqlConnectionInfo + :param azure_app: Required. Azure Active Directory Application the DMS instance will use to + connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage + Account. + :type azure_app: ~azure.mgmt.datamigration.models.AzureActiveDirectoryApp + """ + + _validation = { + 'selected_databases': {'required': True}, + 'storage_resource_id': {'required': True}, + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'azure_app': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'storage_resource_id': {'key': 'storageResourceId', 'type': 'str'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MiSqlConnectionInfo'}, + 'azure_app': {'key': 'azureApp', 'type': 'AzureActiveDirectoryApp'}, + } + + def __init__( + self, + *, + selected_databases: List["MigrateSqlServerSqlMiDatabaseInput"], + storage_resource_id: str, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "MiSqlConnectionInfo", + azure_app: "AzureActiveDirectoryApp", + backup_file_share: Optional["FileShare"] = None, + **kwargs + ): + super(SqlServerSqlMiSyncTaskInput, self).__init__(**kwargs) + self.selected_databases = selected_databases + self.backup_file_share = backup_file_share + self.storage_resource_id = storage_resource_id + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.azure_app = azure_app + + +class MigrateSqlServerSqlMiSyncTaskInput(SqlServerSqlMiSyncTaskInput): + """Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param storage_resource_id: Required. Fully qualified resourceId of storage. + :type storage_resource_id: str + :param source_connection_info: Required. Connection information for source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for Azure SQL Database Managed + Instance. + :type target_connection_info: ~azure.mgmt.datamigration.models.MiSqlConnectionInfo + :param azure_app: Required. Azure Active Directory Application the DMS instance will use to + connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage + Account. + :type azure_app: ~azure.mgmt.datamigration.models.AzureActiveDirectoryApp + """ + + _validation = { + 'selected_databases': {'required': True}, + 'storage_resource_id': {'required': True}, + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'azure_app': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'storage_resource_id': {'key': 'storageResourceId', 'type': 'str'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MiSqlConnectionInfo'}, + 'azure_app': {'key': 'azureApp', 'type': 'AzureActiveDirectoryApp'}, + } + + def __init__( + self, + *, + selected_databases: List["MigrateSqlServerSqlMiDatabaseInput"], + storage_resource_id: str, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "MiSqlConnectionInfo", + azure_app: "AzureActiveDirectoryApp", + backup_file_share: Optional["FileShare"] = None, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskInput, self).__init__(selected_databases=selected_databases, backup_file_share=backup_file_share, storage_resource_id=storage_resource_id, source_connection_info=source_connection_info, target_connection_info=target_connection_info, azure_app=azure_app, **kwargs) + + +class MigrateSqlServerSqlMiSyncTaskOutput(msrest.serialization.Model): + """Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using Log Replay Service. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel, MigrateSqlServerSqlMiSyncTaskOutputError, MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'DatabaseLevelOutput': 'MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSqlServerSqlMiSyncTaskOutputError', 'MigrationLevelOutput': 'MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel(MigrateSqlServerSqlMiSyncTaskOutput): + """MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar source_database_name: Name of the database. + :vartype source_database_name: str + :ivar migration_state: Current state of database. Possible values include: "UNDEFINED", + "INITIAL", "FULL_BACKUP_UPLOAD_START", "LOG_SHIPPING_START", "UPLOAD_LOG_FILES_START", + "CUTOVER_START", "POST_CUTOVER_COMPLETE", "COMPLETED", "CANCELLED", "FAILED". + :vartype migration_state: str or ~azure.mgmt.datamigration.models.DatabaseMigrationState + :ivar started_on: Database migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Database migration end time. + :vartype ended_on: ~datetime.datetime + :ivar full_backup_set_info: Details of full backup set. + :vartype full_backup_set_info: ~azure.mgmt.datamigration.models.BackupSetInfo + :ivar last_restored_backup_set_info: Last applied backup set information. + :vartype last_restored_backup_set_info: ~azure.mgmt.datamigration.models.BackupSetInfo + :ivar active_backup_sets: Backup sets that are currently active (Either being uploaded or + getting restored). + :vartype active_backup_sets: list[~azure.mgmt.datamigration.models.BackupSetInfo] + :ivar container_name: Name of container created in the Azure Storage account where backups are + copied to. + :vartype container_name: str + :ivar error_prefix: prefix string to use for querying errors for this database. + :vartype error_prefix: str + :ivar is_full_backup_restored: Whether full backup has been applied to the target database or + not. + :vartype is_full_backup_restored: bool + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'source_database_name': {'readonly': True}, + 'migration_state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'full_backup_set_info': {'readonly': True}, + 'last_restored_backup_set_info': {'readonly': True}, + 'active_backup_sets': {'readonly': True}, + 'container_name': {'readonly': True}, + 'error_prefix': {'readonly': True}, + 'is_full_backup_restored': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'full_backup_set_info': {'key': 'fullBackupSetInfo', 'type': 'BackupSetInfo'}, + 'last_restored_backup_set_info': {'key': 'lastRestoredBackupSetInfo', 'type': 'BackupSetInfo'}, + 'active_backup_sets': {'key': 'activeBackupSets', 'type': '[BackupSetInfo]'}, + 'container_name': {'key': 'containerName', 'type': 'str'}, + 'error_prefix': {'key': 'errorPrefix', 'type': 'str'}, + 'is_full_backup_restored': {'key': 'isFullBackupRestored', 'type': 'bool'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.source_database_name = None + self.migration_state = None + self.started_on = None + self.ended_on = None + self.full_backup_set_info = None + self.last_restored_backup_set_info = None + self.active_backup_sets = None + self.container_name = None + self.error_prefix = None + self.is_full_backup_restored = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiSyncTaskOutputError(MigrateSqlServerSqlMiSyncTaskOutput): + """MigrateSqlServerSqlMiSyncTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel(MigrateSqlServerSqlMiSyncTaskOutput): + """MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_count: Count of databases. + :vartype database_count: int + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar source_server_name: Source server name. + :vartype source_server_name: str + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_name: Target server name. + :vartype target_server_name: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar database_error_count: Number of database level errors. + :vartype database_error_count: int + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_count': {'readonly': True}, + 'state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'source_server_name': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_name': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'database_error_count': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_count': {'key': 'databaseCount', 'type': 'int'}, + 'state': {'key': 'state', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'database_error_count': {'key': 'databaseErrorCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.database_count = None + self.state = None + self.started_on = None + self.ended_on = None + self.source_server_name = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_name = None + self.target_server_version = None + self.target_server_brand_version = None + self.database_error_count = None + + +class MigrateSqlServerSqlMiSyncTaskProperties(ProjectTaskProperties): + """Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.SqlServerSqlMiSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'SqlServerSqlMiSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlMiSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["SqlServerSqlMiSyncTaskInput"] = None, + **kwargs + ): + super(MigrateSqlServerSqlMiSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' # type: str + self.input = input + self.output = None + + +class MigrateSqlServerSqlMiTaskInput(SqlMigrationTaskInput): + """Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param started_on: Date and time relative to UTC when the migration was started on. + :type started_on: str + :param selected_logins: Logins to migrate. + :type selected_logins: list[str] + :param selected_agent_jobs: Agent Jobs to migrate. + :type selected_agent_jobs: list[str] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param backup_blob_share: Required. SAS URI of Azure Storage Account Container to be used for + storing backup files. + :type backup_blob_share: ~azure.mgmt.datamigration.models.BlobShare + :param backup_mode: Backup Mode to specify whether to use existing backup or create new backup. + If using existing backups, backup file paths are required to be provided in selectedDatabases. + Possible values include: "CreateBackup", "ExistingBackup". + :type backup_mode: str or ~azure.mgmt.datamigration.models.BackupMode + :param aad_domain_name: Azure Active Directory domain name in the format of 'contoso.com' for + federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if + Windows logins are selected. + :type aad_domain_name: str + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + 'backup_blob_share': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'started_on': {'key': 'startedOn', 'type': 'str'}, + 'selected_logins': {'key': 'selectedLogins', 'type': '[str]'}, + 'selected_agent_jobs': {'key': 'selectedAgentJobs', 'type': '[str]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'backup_blob_share': {'key': 'backupBlobShare', 'type': 'BlobShare'}, + 'backup_mode': {'key': 'backupMode', 'type': 'str'}, + 'aad_domain_name': {'key': 'aadDomainName', 'type': 'str'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + selected_databases: List["MigrateSqlServerSqlMiDatabaseInput"], + backup_blob_share: "BlobShare", + started_on: Optional[str] = None, + selected_logins: Optional[List[str]] = None, + selected_agent_jobs: Optional[List[str]] = None, + backup_file_share: Optional["FileShare"] = None, + backup_mode: Optional[Union[str, "BackupMode"]] = None, + aad_domain_name: Optional[str] = None, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info, **kwargs) + self.selected_databases = selected_databases + self.started_on = started_on + self.selected_logins = selected_logins + self.selected_agent_jobs = selected_agent_jobs + self.backup_file_share = backup_file_share + self.backup_blob_share = backup_blob_share + self.backup_mode = backup_mode + self.aad_domain_name = aad_domain_name + + +class MigrateSqlServerSqlMiTaskOutput(msrest.serialization.Model): + """Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSqlServerSqlMiTaskOutputAgentJobLevel, MigrateSqlServerSqlMiTaskOutputDatabaseLevel, MigrateSqlServerSqlMiTaskOutputError, MigrateSqlServerSqlMiTaskOutputLoginLevel, MigrateSqlServerSqlMiTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'AgentJobLevelOutput': 'MigrateSqlServerSqlMiTaskOutputAgentJobLevel', 'DatabaseLevelOutput': 'MigrateSqlServerSqlMiTaskOutputDatabaseLevel', 'ErrorOutput': 'MigrateSqlServerSqlMiTaskOutputError', 'LoginLevelOutput': 'MigrateSqlServerSqlMiTaskOutputLoginLevel', 'MigrationLevelOutput': 'MigrateSqlServerSqlMiTaskOutputMigrationLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSqlServerSqlMiTaskOutputAgentJobLevel(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputAgentJobLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar name: Agent Job name. + :vartype name: str + :ivar is_enabled: The state of the original Agent Job. + :vartype is_enabled: bool + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar message: Migration progress message. + :vartype message: str + :ivar exceptions_and_warnings: Migration errors and warnings per job. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'name': {'readonly': True}, + 'is_enabled': {'readonly': True}, + 'state': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'is_enabled': {'key': 'isEnabled', 'type': 'bool'}, + 'state': {'key': 'state', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputAgentJobLevel, self).__init__(**kwargs) + self.result_type = 'AgentJobLevelOutput' # type: str + self.name = None + self.is_enabled = None + self.state = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiTaskOutputDatabaseLevel(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputDatabaseLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar database_name: Name of the database. + :vartype database_name: str + :ivar size_mb: Size of the database in megabytes. + :vartype size_mb: float + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Current stage of migration. Possible values include: "None", "Initialize", + "Backup", "FileCopy", "Restore", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.DatabaseMigrationStage + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar message: Migration progress message. + :vartype message: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'database_name': {'readonly': True}, + 'size_mb': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'size_mb': {'key': 'sizeMB', 'type': 'float'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputDatabaseLevel, self).__init__(**kwargs) + self.result_type = 'DatabaseLevelOutput' # type: str + self.database_name = None + self.size_mb = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiTaskOutputError(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputError. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar error: Migration error. + :vartype error: ~azure.mgmt.datamigration.models.ReportableException + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'ReportableException'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputError, self).__init__(**kwargs) + self.result_type = 'ErrorOutput' # type: str + self.error = None + + +class MigrateSqlServerSqlMiTaskOutputLoginLevel(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputLoginLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar login_name: Login name. + :vartype login_name: str + :ivar state: Current state of login. Possible values include: "None", "InProgress", "Failed", + "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Current stage of login. Possible values include: "None", "Initialize", + "LoginMigration", "EstablishUserMapping", "AssignRoleMembership", "AssignRoleOwnership", + "EstablishServerPermissions", "EstablishObjectPermissions", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.LoginMigrationStage + :ivar started_on: Login migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Login migration end time. + :vartype ended_on: ~datetime.datetime + :ivar message: Login migration progress message. + :vartype message: str + :ivar exceptions_and_warnings: Login migration errors and warnings per login. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'login_name': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'login_name': {'key': 'loginName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputLoginLevel, self).__init__(**kwargs) + self.result_type = 'LoginLevelOutput' # type: str + self.login_name = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiTaskOutputMigrationLevel(MigrateSqlServerSqlMiTaskOutput): + """MigrateSqlServerSqlMiTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar status: Current status of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar agent_jobs: Selected agent jobs as a map from name to id. + :vartype agent_jobs: str + :ivar logins: Selected logins as a map from name to id. + :vartype logins: str + :ivar message: Migration progress message. + :vartype message: str + :ivar server_role_results: Map of server role migration results. + :vartype server_role_results: str + :ivar orphaned_users_info: List of orphaned users. + :vartype orphaned_users_info: list[~azure.mgmt.datamigration.models.OrphanedUserInfo] + :ivar databases: Selected databases as a map from database name to database id. + :vartype databases: str + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'state': {'readonly': True}, + 'agent_jobs': {'readonly': True}, + 'logins': {'readonly': True}, + 'message': {'readonly': True}, + 'server_role_results': {'readonly': True}, + 'orphaned_users_info': {'readonly': True}, + 'databases': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'agent_jobs': {'key': 'agentJobs', 'type': 'str'}, + 'logins': {'key': 'logins', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'server_role_results': {'key': 'serverRoleResults', 'type': 'str'}, + 'orphaned_users_info': {'key': 'orphanedUsersInfo', 'type': '[OrphanedUserInfo]'}, + 'databases': {'key': 'databases', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.status = None + self.state = None + self.agent_jobs = None + self.logins = None + self.message = None + self.server_role_results = None + self.orphaned_users_info = None + self.databases = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + + +class MigrateSqlServerSqlMiTaskProperties(ProjectTaskProperties): + """Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiTaskOutput] + :param task_id: task id. + :type task_id: str + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSqlServerSqlMiTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSqlServerSqlMiTaskOutput]'}, + 'task_id': {'key': 'taskId', 'type': 'str'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateSqlServerSqlMiTaskInput"] = None, + task_id: Optional[str] = None, + **kwargs + ): + super(MigrateSqlServerSqlMiTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.SqlServer.AzureSqlDbMI' # type: str + self.input = input + self.output = None + self.task_id = task_id + + +class MigrateSsisTaskInput(SqlMigrationTaskInput): + """Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param ssis_migration_info: Required. SSIS package migration information. + :type ssis_migration_info: ~azure.mgmt.datamigration.models.SsisMigrationInfo + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'ssis_migration_info': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'ssis_migration_info': {'key': 'ssisMigrationInfo', 'type': 'SsisMigrationInfo'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + ssis_migration_info: "SsisMigrationInfo", + **kwargs + ): + super(MigrateSsisTaskInput, self).__init__(source_connection_info=source_connection_info, target_connection_info=target_connection_info, **kwargs) + self.ssis_migration_info = ssis_migration_info + + +class MigrateSsisTaskOutput(msrest.serialization.Model): + """Output for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MigrateSsisTaskOutputMigrationLevel, MigrateSsisTaskOutputProjectLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + } + + _subtype_map = { + 'result_type': {'MigrationLevelOutput': 'MigrateSsisTaskOutputMigrationLevel', 'SsisProjectLevelOutput': 'MigrateSsisTaskOutputProjectLevel'} + } + + def __init__( + self, + **kwargs + ): + super(MigrateSsisTaskOutput, self).__init__(**kwargs) + self.id = None + self.result_type = None # type: Optional[str] + + +class MigrateSsisTaskOutputMigrationLevel(MigrateSsisTaskOutput): + """MigrateSsisTaskOutputMigrationLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar status: Current status of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar message: Migration progress message. + :vartype message: str + :ivar source_server_version: Source server version. + :vartype source_server_version: str + :ivar source_server_brand_version: Source server brand version. + :vartype source_server_brand_version: str + :ivar target_server_version: Target server version. + :vartype target_server_version: str + :ivar target_server_brand_version: Target server brand version. + :vartype target_server_brand_version: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar stage: Stage of SSIS migration. Possible values include: "None", "Initialize", + "InProgress", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.SsisMigrationStage + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'message': {'readonly': True}, + 'source_server_version': {'readonly': True}, + 'source_server_brand_version': {'readonly': True}, + 'target_server_version': {'readonly': True}, + 'target_server_brand_version': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + 'stage': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'source_server_version': {'key': 'sourceServerVersion', 'type': 'str'}, + 'source_server_brand_version': {'key': 'sourceServerBrandVersion', 'type': 'str'}, + 'target_server_version': {'key': 'targetServerVersion', 'type': 'str'}, + 'target_server_brand_version': {'key': 'targetServerBrandVersion', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + 'stage': {'key': 'stage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSsisTaskOutputMigrationLevel, self).__init__(**kwargs) + self.result_type = 'MigrationLevelOutput' # type: str + self.started_on = None + self.ended_on = None + self.status = None + self.message = None + self.source_server_version = None + self.source_server_brand_version = None + self.target_server_version = None + self.target_server_brand_version = None + self.exceptions_and_warnings = None + self.stage = None + + +class MigrateSsisTaskOutputProjectLevel(MigrateSsisTaskOutput): + """MigrateSsisTaskOutputProjectLevel. + + 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: Result identifier. + :vartype id: str + :param result_type: Required. Result type.Constant filled by server. + :type result_type: str + :ivar folder_name: Name of the folder. + :vartype folder_name: str + :ivar project_name: Name of the project. + :vartype project_name: str + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar stage: Stage of SSIS migration. Possible values include: "None", "Initialize", + "InProgress", "Completed". + :vartype stage: str or ~azure.mgmt.datamigration.models.SsisMigrationStage + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar message: Migration progress message. + :vartype message: str + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'result_type': {'required': True}, + 'folder_name': {'readonly': True}, + 'project_name': {'readonly': True}, + 'state': {'readonly': True}, + 'stage': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'message': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'folder_name': {'key': 'folderName', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'stage': {'key': 'stage', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSsisTaskOutputProjectLevel, self).__init__(**kwargs) + self.result_type = 'SsisProjectLevelOutput' # type: str + self.folder_name = None + self.project_name = None + self.state = None + self.stage = None + self.started_on = None + self.ended_on = None + self.message = None + self.exceptions_and_warnings = None + + +class MigrateSsisTaskProperties(ProjectTaskProperties): + """Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database Managed Instance. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.MigrateSsisTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.MigrateSsisTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateSsisTaskInput'}, + 'output': {'key': 'output', 'type': '[MigrateSsisTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateSsisTaskInput"] = None, + **kwargs + ): + super(MigrateSsisTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Migrate.Ssis' # type: str + self.input = input + self.output = None + + +class MigrateSyncCompleteCommandInput(msrest.serialization.Model): + """Input for command that completes sync migration for a database. + + All required parameters must be populated in order to send to Azure. + + :param database_name: Required. Name of database. + :type database_name: str + :param commit_time_stamp: Time stamp to complete. + :type commit_time_stamp: ~datetime.datetime + """ + + _validation = { + 'database_name': {'required': True}, + } + + _attribute_map = { + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'commit_time_stamp': {'key': 'commitTimeStamp', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + database_name: str, + commit_time_stamp: Optional[datetime.datetime] = None, + **kwargs + ): + super(MigrateSyncCompleteCommandInput, self).__init__(**kwargs) + self.database_name = database_name + self.commit_time_stamp = commit_time_stamp + + +class MigrateSyncCompleteCommandOutput(msrest.serialization.Model): + """Output for command that completes sync migration for a database. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar errors: List of errors that happened during the command execution. + :vartype errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrateSyncCompleteCommandOutput, self).__init__(**kwargs) + self.id = None + self.errors = None + + +class MigrateSyncCompleteCommandProperties(CommandProperties): + """Properties for the command that completes sync migration for a database. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MigrateSyncCompleteCommandInput + :ivar output: Command output. This is ignored if submitted. + :vartype output: ~azure.mgmt.datamigration.models.MigrateSyncCompleteCommandOutput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MigrateSyncCompleteCommandInput'}, + 'output': {'key': 'output', 'type': 'MigrateSyncCompleteCommandOutput'}, + } + + def __init__( + self, + *, + input: Optional["MigrateSyncCompleteCommandInput"] = None, + **kwargs + ): + super(MigrateSyncCompleteCommandProperties, self).__init__(**kwargs) + self.command_type = 'Migrate.Sync.Complete.Database' # type: str + self.input = input + self.output = None + + +class MigrationEligibilityInfo(msrest.serialization.Model): + """Information about migration eligibility of a server object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar is_eligible_for_migration: Whether object is eligible for migration or not. + :vartype is_eligible_for_migration: bool + :ivar validation_messages: Information about eligibility failure for the server object. + :vartype validation_messages: list[str] + """ + + _validation = { + 'is_eligible_for_migration': {'readonly': True}, + 'validation_messages': {'readonly': True}, + } + + _attribute_map = { + 'is_eligible_for_migration': {'key': 'isEligibleForMigration', 'type': 'bool'}, + 'validation_messages': {'key': 'validationMessages', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationEligibilityInfo, self).__init__(**kwargs) + self.is_eligible_for_migration = None + self.validation_messages = None + + +class MigrationOperationInput(msrest.serialization.Model): + """Migration Operation Input. + + :param migration_operation_id: ID tracking migration operation. + :type migration_operation_id: str + """ + + _attribute_map = { + 'migration_operation_id': {'key': 'migrationOperationId', 'type': 'str'}, + } + + def __init__( + self, + *, + migration_operation_id: Optional[str] = None, + **kwargs + ): + super(MigrationOperationInput, self).__init__(**kwargs) + self.migration_operation_id = migration_operation_id + + +class MigrationReportResult(msrest.serialization.Model): + """Migration validation report result, contains the url for downloading the generated report. + + :param id: Migration validation result identifier. + :type id: str + :param report_url: The url of the report. + :type report_url: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'report_url': {'key': 'reportUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + report_url: Optional[str] = None, + **kwargs + ): + super(MigrationReportResult, self).__init__(**kwargs) + self.id = id + self.report_url = report_url + + +class MigrationStatusDetails(msrest.serialization.Model): + """Detailed status of current migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar migration_state: Current State of Migration. + :vartype migration_state: str + :ivar full_backup_set_info: Details of full backup set. + :vartype full_backup_set_info: ~azure.mgmt.datamigration.models.SqlBackupSetInfo + :ivar last_restored_backup_set_info: Last applied backup set information. + :vartype last_restored_backup_set_info: ~azure.mgmt.datamigration.models.SqlBackupSetInfo + :ivar active_backup_sets: Backup sets that are currently active. + :vartype active_backup_sets: list[~azure.mgmt.datamigration.models.SqlBackupSetInfo] + :ivar invalid_files: Files that are not valid backup files. + :vartype invalid_files: list[str] + :ivar blob_container_name: Name of blob container. + :vartype blob_container_name: str + :ivar is_full_backup_restored: Whether full backup has been applied to the target database or + not. + :vartype is_full_backup_restored: bool + :ivar restore_blocking_reason: Restore blocking reason, if any. + :vartype restore_blocking_reason: str + :ivar complete_restore_error_message: Complete restore error message, if any. + :vartype complete_restore_error_message: str + :ivar file_upload_blocking_errors: File upload blocking errors, if any. + :vartype file_upload_blocking_errors: list[str] + :ivar current_restoring_filename: File name that is currently being restored. + :vartype current_restoring_filename: str + :ivar last_restored_filename: Last restored file name. + :vartype last_restored_filename: str + :ivar pending_log_backups_count: Total pending log backups. + :vartype pending_log_backups_count: int + """ + + _validation = { + 'migration_state': {'readonly': True}, + 'full_backup_set_info': {'readonly': True}, + 'last_restored_backup_set_info': {'readonly': True}, + 'active_backup_sets': {'readonly': True}, + 'invalid_files': {'readonly': True}, + 'blob_container_name': {'readonly': True}, + 'is_full_backup_restored': {'readonly': True}, + 'restore_blocking_reason': {'readonly': True}, + 'complete_restore_error_message': {'readonly': True}, + 'file_upload_blocking_errors': {'readonly': True}, + 'current_restoring_filename': {'readonly': True}, + 'last_restored_filename': {'readonly': True}, + 'pending_log_backups_count': {'readonly': True}, + } + + _attribute_map = { + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + 'full_backup_set_info': {'key': 'fullBackupSetInfo', 'type': 'SqlBackupSetInfo'}, + 'last_restored_backup_set_info': {'key': 'lastRestoredBackupSetInfo', 'type': 'SqlBackupSetInfo'}, + 'active_backup_sets': {'key': 'activeBackupSets', 'type': '[SqlBackupSetInfo]'}, + 'invalid_files': {'key': 'invalidFiles', 'type': '[str]'}, + 'blob_container_name': {'key': 'blobContainerName', 'type': 'str'}, + 'is_full_backup_restored': {'key': 'isFullBackupRestored', 'type': 'bool'}, + 'restore_blocking_reason': {'key': 'restoreBlockingReason', 'type': 'str'}, + 'complete_restore_error_message': {'key': 'completeRestoreErrorMessage', 'type': 'str'}, + 'file_upload_blocking_errors': {'key': 'fileUploadBlockingErrors', 'type': '[str]'}, + 'current_restoring_filename': {'key': 'currentRestoringFilename', 'type': 'str'}, + 'last_restored_filename': {'key': 'lastRestoredFilename', 'type': 'str'}, + 'pending_log_backups_count': {'key': 'pendingLogBackupsCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationStatusDetails, self).__init__(**kwargs) + self.migration_state = None + self.full_backup_set_info = None + self.last_restored_backup_set_info = None + self.active_backup_sets = None + self.invalid_files = None + self.blob_container_name = None + self.is_full_backup_restored = None + self.restore_blocking_reason = None + self.complete_restore_error_message = None + self.file_upload_blocking_errors = None + self.current_restoring_filename = None + self.last_restored_filename = None + self.pending_log_backups_count = None + + +class MigrationTableMetadata(msrest.serialization.Model): + """Metadata for tables selected in migration project. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar source_table_name: Source table name. + :vartype source_table_name: str + :ivar target_table_name: Target table name. + :vartype target_table_name: str + """ + + _validation = { + 'source_table_name': {'readonly': True}, + 'target_table_name': {'readonly': True}, + } + + _attribute_map = { + 'source_table_name': {'key': 'sourceTableName', 'type': 'str'}, + 'target_table_name': {'key': 'targetTableName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationTableMetadata, self).__init__(**kwargs) + self.source_table_name = None + self.target_table_name = None + + +class MigrationValidationDatabaseSummaryResult(msrest.serialization.Model): + """Migration Validation Database level summary result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar migration_id: Migration Identifier. + :vartype migration_id: str + :ivar source_database_name: Name of the source database. + :vartype source_database_name: str + :ivar target_database_name: Name of the target database. + :vartype target_database_name: str + :ivar started_on: Validation start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Validation end time. + :vartype ended_on: ~datetime.datetime + :ivar status: Current status of validation at the database level. Possible values include: + "Default", "NotStarted", "Initialized", "InProgress", "Completed", "CompletedWithIssues", + "Stopped", "Failed". + :vartype status: str or ~azure.mgmt.datamigration.models.ValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'migration_id': {'readonly': True}, + 'source_database_name': {'readonly': True}, + 'target_database_name': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'migration_id': {'key': 'migrationId', 'type': 'str'}, + 'source_database_name': {'key': 'sourceDatabaseName', 'type': 'str'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MigrationValidationDatabaseSummaryResult, self).__init__(**kwargs) + self.id = None + self.migration_id = None + self.source_database_name = None + self.target_database_name = None + self.started_on = None + self.ended_on = None + self.status = None + + +class MigrationValidationOptions(msrest.serialization.Model): + """Types of validations to run after the migration. + + :param enable_schema_validation: Allows to compare the schema information between source and + target. + :type enable_schema_validation: bool + :param enable_data_integrity_validation: Allows to perform a checksum based data integrity + validation between source and target for the selected database / tables . + :type enable_data_integrity_validation: bool + :param enable_query_analysis_validation: Allows to perform a quick and intelligent query + analysis by retrieving queries from the source database and executes them in the target. The + result will have execution statistics for executions in source and target databases for the + extracted queries. + :type enable_query_analysis_validation: bool + """ + + _attribute_map = { + 'enable_schema_validation': {'key': 'enableSchemaValidation', 'type': 'bool'}, + 'enable_data_integrity_validation': {'key': 'enableDataIntegrityValidation', 'type': 'bool'}, + 'enable_query_analysis_validation': {'key': 'enableQueryAnalysisValidation', 'type': 'bool'}, + } + + def __init__( + self, + *, + enable_schema_validation: Optional[bool] = None, + enable_data_integrity_validation: Optional[bool] = None, + enable_query_analysis_validation: Optional[bool] = None, + **kwargs + ): + super(MigrationValidationOptions, self).__init__(**kwargs) + self.enable_schema_validation = enable_schema_validation + self.enable_data_integrity_validation = enable_data_integrity_validation + self.enable_query_analysis_validation = enable_query_analysis_validation + + +class MiSqlConnectionInfo(ConnectionInfo): + """Properties required to create a connection to Azure SQL database Managed instance. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param managed_instance_resource_id: Required. Resource id for Azure SQL database Managed + instance. + :type managed_instance_resource_id: str + """ + + _validation = { + 'type': {'required': True}, + 'managed_instance_resource_id': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'managed_instance_resource_id': {'key': 'managedInstanceResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + managed_instance_resource_id: str, + user_name: Optional[str] = None, + password: Optional[str] = None, + **kwargs + ): + super(MiSqlConnectionInfo, self).__init__(user_name=user_name, password=password, **kwargs) + self.type = 'MiSqlConnectionInfo' # type: str + self.managed_instance_resource_id = managed_instance_resource_id + + +class MongoDbCancelCommand(CommandProperties): + """Properties for the command that cancels a migration in whole or in part. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MongoDbCommandInput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MongoDbCommandInput'}, + } + + def __init__( + self, + *, + input: Optional["MongoDbCommandInput"] = None, + **kwargs + ): + super(MongoDbCancelCommand, self).__init__(**kwargs) + self.command_type = 'cancel' # type: str + self.input = input + + +class MongoDbClusterInfo(msrest.serialization.Model): + """Describes a MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param databases: Required. A list of non-system databases in the cluster. + :type databases: list[~azure.mgmt.datamigration.models.MongoDbDatabaseInfo] + :param supports_sharding: Required. Whether the cluster supports sharded collections. + :type supports_sharding: bool + :param type: Required. The type of data source. Possible values include: "BlobContainer", + "CosmosDb", "MongoDb". + :type type: str or ~azure.mgmt.datamigration.models.MongoDbClusterType + :param version: Required. The version of the data source in the form x.y.z (e.g. 3.6.7). Not + used if Type is BlobContainer. + :type version: str + """ + + _validation = { + 'databases': {'required': True}, + 'supports_sharding': {'required': True}, + 'type': {'required': True}, + 'version': {'required': True}, + } + + _attribute_map = { + 'databases': {'key': 'databases', 'type': '[MongoDbDatabaseInfo]'}, + 'supports_sharding': {'key': 'supportsSharding', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + *, + databases: List["MongoDbDatabaseInfo"], + supports_sharding: bool, + type: Union[str, "MongoDbClusterType"], + version: str, + **kwargs + ): + super(MongoDbClusterInfo, self).__init__(**kwargs) + self.databases = databases + self.supports_sharding = supports_sharding + self.type = type + self.version = version + + +class MongoDbObjectInfo(msrest.serialization.Model): + """Describes a database or collection within a MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param average_document_size: Required. The average document size, or -1 if the average size is + unknown. + :type average_document_size: long + :param data_size: Required. The estimated total data size, in bytes, or -1 if the size is + unknown. + :type data_size: long + :param document_count: Required. The estimated total number of documents, or -1 if the document + count is unknown. + :type document_count: long + :param name: Required. The unqualified name of the database or collection. + :type name: str + :param qualified_name: Required. The qualified name of the database or collection. For a + collection, this is the database-qualified name. + :type qualified_name: str + """ + + _validation = { + 'average_document_size': {'required': True}, + 'data_size': {'required': True}, + 'document_count': {'required': True}, + 'name': {'required': True}, + 'qualified_name': {'required': True}, + } + + _attribute_map = { + 'average_document_size': {'key': 'averageDocumentSize', 'type': 'long'}, + 'data_size': {'key': 'dataSize', 'type': 'long'}, + 'document_count': {'key': 'documentCount', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + } + + def __init__( + self, + *, + average_document_size: int, + data_size: int, + document_count: int, + name: str, + qualified_name: str, + **kwargs + ): + super(MongoDbObjectInfo, self).__init__(**kwargs) + self.average_document_size = average_document_size + self.data_size = data_size + self.document_count = document_count + self.name = name + self.qualified_name = qualified_name + + +class MongoDbCollectionInfo(MongoDbObjectInfo): + """Describes a supported collection within a MongoDB database. + + All required parameters must be populated in order to send to Azure. + + :param average_document_size: Required. The average document size, or -1 if the average size is + unknown. + :type average_document_size: long + :param data_size: Required. The estimated total data size, in bytes, or -1 if the size is + unknown. + :type data_size: long + :param document_count: Required. The estimated total number of documents, or -1 if the document + count is unknown. + :type document_count: long + :param name: Required. The unqualified name of the database or collection. + :type name: str + :param qualified_name: Required. The qualified name of the database or collection. For a + collection, this is the database-qualified name. + :type qualified_name: str + :param database_name: Required. The name of the database containing the collection. + :type database_name: str + :param is_capped: Required. Whether the collection is a capped collection (i.e. whether it has + a fixed size and acts like a circular buffer). + :type is_capped: bool + :param is_system_collection: Required. Whether the collection is system collection. + :type is_system_collection: bool + :param is_view: Required. Whether the collection is a view of another collection. + :type is_view: bool + :param shard_key: The shard key on the collection, or null if the collection is not sharded. + :type shard_key: ~azure.mgmt.datamigration.models.MongoDbShardKeyInfo + :param supports_sharding: Required. Whether the database has sharding enabled. Note that the + migration task will enable sharding on the target if necessary. + :type supports_sharding: bool + :param view_of: The name of the collection that this is a view of, if IsView is true. + :type view_of: str + """ + + _validation = { + 'average_document_size': {'required': True}, + 'data_size': {'required': True}, + 'document_count': {'required': True}, + 'name': {'required': True}, + 'qualified_name': {'required': True}, + 'database_name': {'required': True}, + 'is_capped': {'required': True}, + 'is_system_collection': {'required': True}, + 'is_view': {'required': True}, + 'supports_sharding': {'required': True}, + } + + _attribute_map = { + 'average_document_size': {'key': 'averageDocumentSize', 'type': 'long'}, + 'data_size': {'key': 'dataSize', 'type': 'long'}, + 'document_count': {'key': 'documentCount', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'is_capped': {'key': 'isCapped', 'type': 'bool'}, + 'is_system_collection': {'key': 'isSystemCollection', 'type': 'bool'}, + 'is_view': {'key': 'isView', 'type': 'bool'}, + 'shard_key': {'key': 'shardKey', 'type': 'MongoDbShardKeyInfo'}, + 'supports_sharding': {'key': 'supportsSharding', 'type': 'bool'}, + 'view_of': {'key': 'viewOf', 'type': 'str'}, + } + + def __init__( + self, + *, + average_document_size: int, + data_size: int, + document_count: int, + name: str, + qualified_name: str, + database_name: str, + is_capped: bool, + is_system_collection: bool, + is_view: bool, + supports_sharding: bool, + shard_key: Optional["MongoDbShardKeyInfo"] = None, + view_of: Optional[str] = None, + **kwargs + ): + super(MongoDbCollectionInfo, self).__init__(average_document_size=average_document_size, data_size=data_size, document_count=document_count, name=name, qualified_name=qualified_name, **kwargs) + self.database_name = database_name + self.is_capped = is_capped + self.is_system_collection = is_system_collection + self.is_view = is_view + self.shard_key = shard_key + self.supports_sharding = supports_sharding + self.view_of = view_of + + +class MongoDbProgress(msrest.serialization.Model): + """Base class for MongoDB migration outputs. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MongoDbCollectionProgress, MongoDbDatabaseProgress, MongoDbMigrationProgress. + + All required parameters must be populated in order to send to Azure. + + :param bytes_copied: Required. The number of document bytes copied during the Copying stage. + :type bytes_copied: long + :param documents_copied: Required. The number of documents copied during the Copying stage. + :type documents_copied: long + :param elapsed_time: Required. The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. + TimeSpan format). + :type elapsed_time: str + :param errors: Required. The errors and warnings that have occurred for the current object. The + keys are the error codes. + :type errors: dict[str, ~azure.mgmt.datamigration.models.MongoDbError] + :param events_pending: Required. The number of oplog events awaiting replay. + :type events_pending: long + :param events_replayed: Required. The number of oplog events replayed so far. + :type events_replayed: long + :param last_event_time: The timestamp of the last oplog event received, or null if no oplog + event has been received yet. + :type last_event_time: ~datetime.datetime + :param last_replay_time: The timestamp of the last oplog event replayed, or null if no oplog + event has been replayed yet. + :type last_replay_time: ~datetime.datetime + :param name: The name of the progress object. For a collection, this is the unqualified + collection name. For a database, this is the database name. For the overall migration, this is + null. + :type name: str + :param qualified_name: The qualified name of the progress object. For a collection, this is the + database-qualified name. For a database, this is the database name. For the overall migration, + this is null. + :type qualified_name: str + :param result_type: Required. The type of progress object.Constant filled by server. Possible + values include: "Migration", "Database", "Collection". + :type result_type: str or ~azure.mgmt.datamigration.models.MongoDbProgressResultType + :param state: Required. Possible values include: "NotStarted", "ValidatingInput", + "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", + "Complete", "Canceled", "Failed". + :type state: str or ~azure.mgmt.datamigration.models.MongoDbMigrationState + :param total_bytes: Required. The total number of document bytes on the source at the beginning + of the Copying stage, or -1 if the total size was unknown. + :type total_bytes: long + :param total_documents: Required. The total number of documents on the source at the beginning + of the Copying stage, or -1 if the total count was unknown. + :type total_documents: long + """ + + _validation = { + 'bytes_copied': {'required': True}, + 'documents_copied': {'required': True}, + 'elapsed_time': {'required': True}, + 'errors': {'required': True}, + 'events_pending': {'required': True}, + 'events_replayed': {'required': True}, + 'result_type': {'required': True}, + 'state': {'required': True}, + 'total_bytes': {'required': True}, + 'total_documents': {'required': True}, + } + + _attribute_map = { + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'documents_copied': {'key': 'documentsCopied', 'type': 'long'}, + 'elapsed_time': {'key': 'elapsedTime', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '{MongoDbError}'}, + 'events_pending': {'key': 'eventsPending', 'type': 'long'}, + 'events_replayed': {'key': 'eventsReplayed', 'type': 'long'}, + 'last_event_time': {'key': 'lastEventTime', 'type': 'iso-8601'}, + 'last_replay_time': {'key': 'lastReplayTime', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + 'total_documents': {'key': 'totalDocuments', 'type': 'long'}, + } + + _subtype_map = { + 'result_type': {'Collection': 'MongoDbCollectionProgress', 'Database': 'MongoDbDatabaseProgress', 'Migration': 'MongoDbMigrationProgress'} + } + + def __init__( + self, + *, + bytes_copied: int, + documents_copied: int, + elapsed_time: str, + errors: Dict[str, "MongoDbError"], + events_pending: int, + events_replayed: int, + state: Union[str, "MongoDbMigrationState"], + total_bytes: int, + total_documents: int, + last_event_time: Optional[datetime.datetime] = None, + last_replay_time: Optional[datetime.datetime] = None, + name: Optional[str] = None, + qualified_name: Optional[str] = None, + **kwargs + ): + super(MongoDbProgress, self).__init__(**kwargs) + self.bytes_copied = bytes_copied + self.documents_copied = documents_copied + self.elapsed_time = elapsed_time + self.errors = errors + self.events_pending = events_pending + self.events_replayed = events_replayed + self.last_event_time = last_event_time + self.last_replay_time = last_replay_time + self.name = name + self.qualified_name = qualified_name + self.result_type = None # type: Optional[str] + self.state = state + self.total_bytes = total_bytes + self.total_documents = total_documents + + +class MongoDbCollectionProgress(MongoDbProgress): + """Describes the progress of a collection. + + All required parameters must be populated in order to send to Azure. + + :param bytes_copied: Required. The number of document bytes copied during the Copying stage. + :type bytes_copied: long + :param documents_copied: Required. The number of documents copied during the Copying stage. + :type documents_copied: long + :param elapsed_time: Required. The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. + TimeSpan format). + :type elapsed_time: str + :param errors: Required. The errors and warnings that have occurred for the current object. The + keys are the error codes. + :type errors: dict[str, ~azure.mgmt.datamigration.models.MongoDbError] + :param events_pending: Required. The number of oplog events awaiting replay. + :type events_pending: long + :param events_replayed: Required. The number of oplog events replayed so far. + :type events_replayed: long + :param last_event_time: The timestamp of the last oplog event received, or null if no oplog + event has been received yet. + :type last_event_time: ~datetime.datetime + :param last_replay_time: The timestamp of the last oplog event replayed, or null if no oplog + event has been replayed yet. + :type last_replay_time: ~datetime.datetime + :param name: The name of the progress object. For a collection, this is the unqualified + collection name. For a database, this is the database name. For the overall migration, this is + null. + :type name: str + :param qualified_name: The qualified name of the progress object. For a collection, this is the + database-qualified name. For a database, this is the database name. For the overall migration, + this is null. + :type qualified_name: str + :param result_type: Required. The type of progress object.Constant filled by server. Possible + values include: "Migration", "Database", "Collection". + :type result_type: str or ~azure.mgmt.datamigration.models.MongoDbProgressResultType + :param state: Required. Possible values include: "NotStarted", "ValidatingInput", + "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", + "Complete", "Canceled", "Failed". + :type state: str or ~azure.mgmt.datamigration.models.MongoDbMigrationState + :param total_bytes: Required. The total number of document bytes on the source at the beginning + of the Copying stage, or -1 if the total size was unknown. + :type total_bytes: long + :param total_documents: Required. The total number of documents on the source at the beginning + of the Copying stage, or -1 if the total count was unknown. + :type total_documents: long + """ + + _validation = { + 'bytes_copied': {'required': True}, + 'documents_copied': {'required': True}, + 'elapsed_time': {'required': True}, + 'errors': {'required': True}, + 'events_pending': {'required': True}, + 'events_replayed': {'required': True}, + 'result_type': {'required': True}, + 'state': {'required': True}, + 'total_bytes': {'required': True}, + 'total_documents': {'required': True}, + } + + _attribute_map = { + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'documents_copied': {'key': 'documentsCopied', 'type': 'long'}, + 'elapsed_time': {'key': 'elapsedTime', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '{MongoDbError}'}, + 'events_pending': {'key': 'eventsPending', 'type': 'long'}, + 'events_replayed': {'key': 'eventsReplayed', 'type': 'long'}, + 'last_event_time': {'key': 'lastEventTime', 'type': 'iso-8601'}, + 'last_replay_time': {'key': 'lastReplayTime', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + 'total_documents': {'key': 'totalDocuments', 'type': 'long'}, + } + + def __init__( + self, + *, + bytes_copied: int, + documents_copied: int, + elapsed_time: str, + errors: Dict[str, "MongoDbError"], + events_pending: int, + events_replayed: int, + state: Union[str, "MongoDbMigrationState"], + total_bytes: int, + total_documents: int, + last_event_time: Optional[datetime.datetime] = None, + last_replay_time: Optional[datetime.datetime] = None, + name: Optional[str] = None, + qualified_name: Optional[str] = None, + **kwargs + ): + super(MongoDbCollectionProgress, self).__init__(bytes_copied=bytes_copied, documents_copied=documents_copied, elapsed_time=elapsed_time, errors=errors, events_pending=events_pending, events_replayed=events_replayed, last_event_time=last_event_time, last_replay_time=last_replay_time, name=name, qualified_name=qualified_name, state=state, total_bytes=total_bytes, total_documents=total_documents, **kwargs) + self.result_type = 'Collection' # type: str + + +class MongoDbCollectionSettings(msrest.serialization.Model): + """Describes how an individual MongoDB collection should be migrated. + + :param can_delete: Whether the migrator is allowed to drop the target collection in the course + of performing a migration. The default is true. + :type can_delete: bool + :param shard_key: Describes a MongoDB shard key. + :type shard_key: ~azure.mgmt.datamigration.models.MongoDbShardKeySetting + :param target_r_us: The RUs that should be configured on a CosmosDB target, or null to use the + default. This has no effect on non-CosmosDB targets. + :type target_r_us: int + """ + + _attribute_map = { + 'can_delete': {'key': 'canDelete', 'type': 'bool'}, + 'shard_key': {'key': 'shardKey', 'type': 'MongoDbShardKeySetting'}, + 'target_r_us': {'key': 'targetRUs', 'type': 'int'}, + } + + def __init__( + self, + *, + can_delete: Optional[bool] = None, + shard_key: Optional["MongoDbShardKeySetting"] = None, + target_r_us: Optional[int] = None, + **kwargs + ): + super(MongoDbCollectionSettings, self).__init__(**kwargs) + self.can_delete = can_delete + self.shard_key = shard_key + self.target_r_us = target_r_us + + +class MongoDbCommandInput(msrest.serialization.Model): + """Describes the input to the 'cancel' and 'restart' MongoDB migration commands. + + :param object_name: The qualified name of a database or collection to act upon, or null to act + upon the entire migration. + :type object_name: str + """ + + _attribute_map = { + 'object_name': {'key': 'objectName', 'type': 'str'}, + } + + def __init__( + self, + *, + object_name: Optional[str] = None, + **kwargs + ): + super(MongoDbCommandInput, self).__init__(**kwargs) + self.object_name = object_name + + +class MongoDbConnectionInfo(ConnectionInfo): + """Describes a connection to a MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param connection_string: Required. A MongoDB connection string or blob container URL. The user + name and password can be specified here or in the userName and password properties. + :type connection_string: str + :param data_source: Data source. + :type data_source: str + :param encrypt_connection: Whether to encrypt the connection. + :type encrypt_connection: bool + :param server_brand_version: server brand version. + :type server_brand_version: str + :param enforce_ssl: + :type enforce_ssl: bool + :param port: port for server. + :type port: int + :param additional_settings: Additional connection settings. + :type additional_settings: str + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'connection_string': {'key': 'connectionString', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'server_brand_version': {'key': 'serverBrandVersion', 'type': 'str'}, + 'enforce_ssl': {'key': 'enforceSSL', 'type': 'bool'}, + 'port': {'key': 'port', 'type': 'int'}, + 'additional_settings': {'key': 'additionalSettings', 'type': 'str'}, + } + + def __init__( + self, + *, + connection_string: str, + user_name: Optional[str] = None, + password: Optional[str] = None, + data_source: Optional[str] = None, + encrypt_connection: Optional[bool] = None, + server_brand_version: Optional[str] = None, + enforce_ssl: Optional[bool] = None, + port: Optional[int] = None, + additional_settings: Optional[str] = None, + **kwargs + ): + super(MongoDbConnectionInfo, self).__init__(user_name=user_name, password=password, **kwargs) + self.type = 'MongoDbConnectionInfo' # type: str + self.connection_string = connection_string + self.data_source = data_source + self.encrypt_connection = encrypt_connection + self.server_brand_version = server_brand_version + self.enforce_ssl = enforce_ssl + self.port = port + self.additional_settings = additional_settings + + +class MongoDbDatabaseInfo(MongoDbObjectInfo): + """Describes a database within a MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param average_document_size: Required. The average document size, or -1 if the average size is + unknown. + :type average_document_size: long + :param data_size: Required. The estimated total data size, in bytes, or -1 if the size is + unknown. + :type data_size: long + :param document_count: Required. The estimated total number of documents, or -1 if the document + count is unknown. + :type document_count: long + :param name: Required. The unqualified name of the database or collection. + :type name: str + :param qualified_name: Required. The qualified name of the database or collection. For a + collection, this is the database-qualified name. + :type qualified_name: str + :param collections: Required. A list of supported collections in a MongoDB database. + :type collections: list[~azure.mgmt.datamigration.models.MongoDbCollectionInfo] + :param supports_sharding: Required. Whether the database has sharding enabled. Note that the + migration task will enable sharding on the target if necessary. + :type supports_sharding: bool + """ + + _validation = { + 'average_document_size': {'required': True}, + 'data_size': {'required': True}, + 'document_count': {'required': True}, + 'name': {'required': True}, + 'qualified_name': {'required': True}, + 'collections': {'required': True}, + 'supports_sharding': {'required': True}, + } + + _attribute_map = { + 'average_document_size': {'key': 'averageDocumentSize', 'type': 'long'}, + 'data_size': {'key': 'dataSize', 'type': 'long'}, + 'document_count': {'key': 'documentCount', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'collections': {'key': 'collections', 'type': '[MongoDbCollectionInfo]'}, + 'supports_sharding': {'key': 'supportsSharding', 'type': 'bool'}, + } + + def __init__( + self, + *, + average_document_size: int, + data_size: int, + document_count: int, + name: str, + qualified_name: str, + collections: List["MongoDbCollectionInfo"], + supports_sharding: bool, + **kwargs + ): + super(MongoDbDatabaseInfo, self).__init__(average_document_size=average_document_size, data_size=data_size, document_count=document_count, name=name, qualified_name=qualified_name, **kwargs) + self.collections = collections + self.supports_sharding = supports_sharding + + +class MongoDbDatabaseProgress(MongoDbProgress): + """Describes the progress of a database. + + All required parameters must be populated in order to send to Azure. + + :param bytes_copied: Required. The number of document bytes copied during the Copying stage. + :type bytes_copied: long + :param documents_copied: Required. The number of documents copied during the Copying stage. + :type documents_copied: long + :param elapsed_time: Required. The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. + TimeSpan format). + :type elapsed_time: str + :param errors: Required. The errors and warnings that have occurred for the current object. The + keys are the error codes. + :type errors: dict[str, ~azure.mgmt.datamigration.models.MongoDbError] + :param events_pending: Required. The number of oplog events awaiting replay. + :type events_pending: long + :param events_replayed: Required. The number of oplog events replayed so far. + :type events_replayed: long + :param last_event_time: The timestamp of the last oplog event received, or null if no oplog + event has been received yet. + :type last_event_time: ~datetime.datetime + :param last_replay_time: The timestamp of the last oplog event replayed, or null if no oplog + event has been replayed yet. + :type last_replay_time: ~datetime.datetime + :param name: The name of the progress object. For a collection, this is the unqualified + collection name. For a database, this is the database name. For the overall migration, this is + null. + :type name: str + :param qualified_name: The qualified name of the progress object. For a collection, this is the + database-qualified name. For a database, this is the database name. For the overall migration, + this is null. + :type qualified_name: str + :param result_type: Required. The type of progress object.Constant filled by server. Possible + values include: "Migration", "Database", "Collection". + :type result_type: str or ~azure.mgmt.datamigration.models.MongoDbProgressResultType + :param state: Required. Possible values include: "NotStarted", "ValidatingInput", + "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", + "Complete", "Canceled", "Failed". + :type state: str or ~azure.mgmt.datamigration.models.MongoDbMigrationState + :param total_bytes: Required. The total number of document bytes on the source at the beginning + of the Copying stage, or -1 if the total size was unknown. + :type total_bytes: long + :param total_documents: Required. The total number of documents on the source at the beginning + of the Copying stage, or -1 if the total count was unknown. + :type total_documents: long + :param collections: The progress of the collections in the database. The keys are the + unqualified names of the collections. + :type collections: dict[str, ~azure.mgmt.datamigration.models.MongoDbProgress] + """ + + _validation = { + 'bytes_copied': {'required': True}, + 'documents_copied': {'required': True}, + 'elapsed_time': {'required': True}, + 'errors': {'required': True}, + 'events_pending': {'required': True}, + 'events_replayed': {'required': True}, + 'result_type': {'required': True}, + 'state': {'required': True}, + 'total_bytes': {'required': True}, + 'total_documents': {'required': True}, + } + + _attribute_map = { + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'documents_copied': {'key': 'documentsCopied', 'type': 'long'}, + 'elapsed_time': {'key': 'elapsedTime', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '{MongoDbError}'}, + 'events_pending': {'key': 'eventsPending', 'type': 'long'}, + 'events_replayed': {'key': 'eventsReplayed', 'type': 'long'}, + 'last_event_time': {'key': 'lastEventTime', 'type': 'iso-8601'}, + 'last_replay_time': {'key': 'lastReplayTime', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + 'total_documents': {'key': 'totalDocuments', 'type': 'long'}, + 'collections': {'key': 'collections', 'type': '{MongoDbProgress}'}, + } + + def __init__( + self, + *, + bytes_copied: int, + documents_copied: int, + elapsed_time: str, + errors: Dict[str, "MongoDbError"], + events_pending: int, + events_replayed: int, + state: Union[str, "MongoDbMigrationState"], + total_bytes: int, + total_documents: int, + last_event_time: Optional[datetime.datetime] = None, + last_replay_time: Optional[datetime.datetime] = None, + name: Optional[str] = None, + qualified_name: Optional[str] = None, + collections: Optional[Dict[str, "MongoDbProgress"]] = None, + **kwargs + ): + super(MongoDbDatabaseProgress, self).__init__(bytes_copied=bytes_copied, documents_copied=documents_copied, elapsed_time=elapsed_time, errors=errors, events_pending=events_pending, events_replayed=events_replayed, last_event_time=last_event_time, last_replay_time=last_replay_time, name=name, qualified_name=qualified_name, state=state, total_bytes=total_bytes, total_documents=total_documents, **kwargs) + self.result_type = 'Database' # type: str + self.collections = collections + + +class MongoDbDatabaseSettings(msrest.serialization.Model): + """Describes how an individual MongoDB database should be migrated. + + All required parameters must be populated in order to send to Azure. + + :param collections: Required. The collections on the source database to migrate to the target. + The keys are the unqualified names of the collections. + :type collections: dict[str, ~azure.mgmt.datamigration.models.MongoDbCollectionSettings] + :param target_r_us: The RUs that should be configured on a CosmosDB target, or null to use the + default, or 0 if throughput should not be provisioned for the database. This has no effect on + non-CosmosDB targets. + :type target_r_us: int + """ + + _validation = { + 'collections': {'required': True}, + } + + _attribute_map = { + 'collections': {'key': 'collections', 'type': '{MongoDbCollectionSettings}'}, + 'target_r_us': {'key': 'targetRUs', 'type': 'int'}, + } + + def __init__( + self, + *, + collections: Dict[str, "MongoDbCollectionSettings"], + target_r_us: Optional[int] = None, + **kwargs + ): + super(MongoDbDatabaseSettings, self).__init__(**kwargs) + self.collections = collections + self.target_r_us = target_r_us + + +class MongoDbError(msrest.serialization.Model): + """Describes an error or warning that occurred during a MongoDB migration. + + :param code: The non-localized, machine-readable code that describes the error or warning. + :type code: str + :param count: The number of times the error or warning has occurred. + :type count: int + :param message: The localized, human-readable message that describes the error or warning. + :type message: str + :param type: The type of error or warning. Possible values include: "Error", "ValidationError", + "Warning". + :type type: str or ~azure.mgmt.datamigration.models.MongoDbErrorType + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'count': {'key': 'count', 'type': 'int'}, + 'message': {'key': 'message', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + count: Optional[int] = None, + message: Optional[str] = None, + type: Optional[Union[str, "MongoDbErrorType"]] = None, + **kwargs + ): + super(MongoDbError, self).__init__(**kwargs) + self.code = code + self.count = count + self.message = message + self.type = type + + +class MongoDbFinishCommand(CommandProperties): + """Properties for the command that finishes a migration in whole or in part. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MongoDbFinishCommandInput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MongoDbFinishCommandInput'}, + } + + def __init__( + self, + *, + input: Optional["MongoDbFinishCommandInput"] = None, + **kwargs + ): + super(MongoDbFinishCommand, self).__init__(**kwargs) + self.command_type = 'finish' # type: str + self.input = input + + +class MongoDbFinishCommandInput(MongoDbCommandInput): + """Describes the input to the 'finish' MongoDB migration command. + + All required parameters must be populated in order to send to Azure. + + :param object_name: The qualified name of a database or collection to act upon, or null to act + upon the entire migration. + :type object_name: str + :param immediate: Required. If true, replication for the affected objects will be stopped + immediately. If false, the migrator will finish replaying queued events before finishing the + replication. + :type immediate: bool + """ + + _validation = { + 'immediate': {'required': True}, + } + + _attribute_map = { + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'immediate': {'key': 'immediate', 'type': 'bool'}, + } + + def __init__( + self, + *, + immediate: bool, + object_name: Optional[str] = None, + **kwargs + ): + super(MongoDbFinishCommandInput, self).__init__(object_name=object_name, **kwargs) + self.immediate = immediate + + +class MongoDbMigrationProgress(MongoDbProgress): + """Describes the progress of the overall migration. + + All required parameters must be populated in order to send to Azure. + + :param bytes_copied: Required. The number of document bytes copied during the Copying stage. + :type bytes_copied: long + :param documents_copied: Required. The number of documents copied during the Copying stage. + :type documents_copied: long + :param elapsed_time: Required. The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. + TimeSpan format). + :type elapsed_time: str + :param errors: Required. The errors and warnings that have occurred for the current object. The + keys are the error codes. + :type errors: dict[str, ~azure.mgmt.datamigration.models.MongoDbError] + :param events_pending: Required. The number of oplog events awaiting replay. + :type events_pending: long + :param events_replayed: Required. The number of oplog events replayed so far. + :type events_replayed: long + :param last_event_time: The timestamp of the last oplog event received, or null if no oplog + event has been received yet. + :type last_event_time: ~datetime.datetime + :param last_replay_time: The timestamp of the last oplog event replayed, or null if no oplog + event has been replayed yet. + :type last_replay_time: ~datetime.datetime + :param name: The name of the progress object. For a collection, this is the unqualified + collection name. For a database, this is the database name. For the overall migration, this is + null. + :type name: str + :param qualified_name: The qualified name of the progress object. For a collection, this is the + database-qualified name. For a database, this is the database name. For the overall migration, + this is null. + :type qualified_name: str + :param result_type: Required. The type of progress object.Constant filled by server. Possible + values include: "Migration", "Database", "Collection". + :type result_type: str or ~azure.mgmt.datamigration.models.MongoDbProgressResultType + :param state: Required. Possible values include: "NotStarted", "ValidatingInput", + "Initializing", "Restarting", "Copying", "InitialReplay", "Replaying", "Finalizing", + "Complete", "Canceled", "Failed". + :type state: str or ~azure.mgmt.datamigration.models.MongoDbMigrationState + :param total_bytes: Required. The total number of document bytes on the source at the beginning + of the Copying stage, or -1 if the total size was unknown. + :type total_bytes: long + :param total_documents: Required. The total number of documents on the source at the beginning + of the Copying stage, or -1 if the total count was unknown. + :type total_documents: long + :param databases: The progress of the databases in the migration. The keys are the names of the + databases. + :type databases: dict[str, ~azure.mgmt.datamigration.models.MongoDbDatabaseProgress] + """ + + _validation = { + 'bytes_copied': {'required': True}, + 'documents_copied': {'required': True}, + 'elapsed_time': {'required': True}, + 'errors': {'required': True}, + 'events_pending': {'required': True}, + 'events_replayed': {'required': True}, + 'result_type': {'required': True}, + 'state': {'required': True}, + 'total_bytes': {'required': True}, + 'total_documents': {'required': True}, + } + + _attribute_map = { + 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, + 'documents_copied': {'key': 'documentsCopied', 'type': 'long'}, + 'elapsed_time': {'key': 'elapsedTime', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '{MongoDbError}'}, + 'events_pending': {'key': 'eventsPending', 'type': 'long'}, + 'events_replayed': {'key': 'eventsReplayed', 'type': 'long'}, + 'last_event_time': {'key': 'lastEventTime', 'type': 'iso-8601'}, + 'last_replay_time': {'key': 'lastReplayTime', 'type': 'iso-8601'}, + 'name': {'key': 'name', 'type': 'str'}, + 'qualified_name': {'key': 'qualifiedName', 'type': 'str'}, + 'result_type': {'key': 'resultType', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'total_bytes': {'key': 'totalBytes', 'type': 'long'}, + 'total_documents': {'key': 'totalDocuments', 'type': 'long'}, + 'databases': {'key': 'databases', 'type': '{MongoDbDatabaseProgress}'}, + } + + def __init__( + self, + *, + bytes_copied: int, + documents_copied: int, + elapsed_time: str, + errors: Dict[str, "MongoDbError"], + events_pending: int, + events_replayed: int, + state: Union[str, "MongoDbMigrationState"], + total_bytes: int, + total_documents: int, + last_event_time: Optional[datetime.datetime] = None, + last_replay_time: Optional[datetime.datetime] = None, + name: Optional[str] = None, + qualified_name: Optional[str] = None, + databases: Optional[Dict[str, "MongoDbDatabaseProgress"]] = None, + **kwargs + ): + super(MongoDbMigrationProgress, self).__init__(bytes_copied=bytes_copied, documents_copied=documents_copied, elapsed_time=elapsed_time, errors=errors, events_pending=events_pending, events_replayed=events_replayed, last_event_time=last_event_time, last_replay_time=last_replay_time, name=name, qualified_name=qualified_name, state=state, total_bytes=total_bytes, total_documents=total_documents, **kwargs) + self.result_type = 'Migration' # type: str + self.databases = databases + + +class MongoDbMigrationSettings(msrest.serialization.Model): + """Describes how a MongoDB data migration should be performed. + + All required parameters must be populated in order to send to Azure. + + :param boost_r_us: The RU limit on a CosmosDB target that collections will be temporarily + increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 + to use the default boost (which is generally the maximum), or null to not boost the RUs. This + setting has no effect on non-CosmosDB targets. + :type boost_r_us: int + :param databases: Required. The databases on the source cluster to migrate to the target. The + keys are the names of the databases. + :type databases: dict[str, ~azure.mgmt.datamigration.models.MongoDbDatabaseSettings] + :param replication: Describes how changes will be replicated from the source to the target. The + default is OneTime. Possible values include: "Disabled", "OneTime", "Continuous". + :type replication: str or ~azure.mgmt.datamigration.models.MongoDbReplication + :param source: Required. Settings used to connect to the source cluster. + :type source: ~azure.mgmt.datamigration.models.MongoDbConnectionInfo + :param target: Required. Settings used to connect to the target cluster. + :type target: ~azure.mgmt.datamigration.models.MongoDbConnectionInfo + :param throttling: Settings used to limit the resource usage of the migration. + :type throttling: ~azure.mgmt.datamigration.models.MongoDbThrottlingSettings + """ + + _validation = { + 'databases': {'required': True}, + 'source': {'required': True}, + 'target': {'required': True}, + } + + _attribute_map = { + 'boost_r_us': {'key': 'boostRUs', 'type': 'int'}, + 'databases': {'key': 'databases', 'type': '{MongoDbDatabaseSettings}'}, + 'replication': {'key': 'replication', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'MongoDbConnectionInfo'}, + 'target': {'key': 'target', 'type': 'MongoDbConnectionInfo'}, + 'throttling': {'key': 'throttling', 'type': 'MongoDbThrottlingSettings'}, + } + + def __init__( + self, + *, + databases: Dict[str, "MongoDbDatabaseSettings"], + source: "MongoDbConnectionInfo", + target: "MongoDbConnectionInfo", + boost_r_us: Optional[int] = None, + replication: Optional[Union[str, "MongoDbReplication"]] = None, + throttling: Optional["MongoDbThrottlingSettings"] = None, + **kwargs + ): + super(MongoDbMigrationSettings, self).__init__(**kwargs) + self.boost_r_us = boost_r_us + self.databases = databases + self.replication = replication + self.source = source + self.target = target + self.throttling = throttling + + +class MongoDbRestartCommand(CommandProperties): + """Properties for the command that restarts a migration in whole or in part. + + 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 command_type: Required. Command type.Constant filled by server. Possible values + include: "Migrate.Sync.Complete.Database", "Migrate.SqlServer.AzureDbSqlMi.Complete", "cancel", + "finish", "restart". + :type command_type: str or ~azure.mgmt.datamigration.models.CommandType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the command. This is ignored if submitted. Possible values include: + "Unknown", "Accepted", "Running", "Succeeded", "Failed". + :vartype state: str or ~azure.mgmt.datamigration.models.CommandState + :param input: Command input. + :type input: ~azure.mgmt.datamigration.models.MongoDbCommandInput + """ + + _validation = { + 'command_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'command_type': {'key': 'commandType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'input': {'key': 'input', 'type': 'MongoDbCommandInput'}, + } + + def __init__( + self, + *, + input: Optional["MongoDbCommandInput"] = None, + **kwargs + ): + super(MongoDbRestartCommand, self).__init__(**kwargs) + self.command_type = 'restart' # type: str + self.input = input + + +class MongoDbShardKeyField(msrest.serialization.Model): + """Describes a field reference within a MongoDB shard key. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the field. + :type name: str + :param order: Required. The field ordering. Possible values include: "Forward", "Reverse", + "Hashed". + :type order: str or ~azure.mgmt.datamigration.models.MongoDbShardKeyOrder + """ + + _validation = { + 'name': {'required': True}, + 'order': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + order: Union[str, "MongoDbShardKeyOrder"], + **kwargs + ): + super(MongoDbShardKeyField, self).__init__(**kwargs) + self.name = name + self.order = order + + +class MongoDbShardKeyInfo(msrest.serialization.Model): + """Describes a MongoDB shard key. + + All required parameters must be populated in order to send to Azure. + + :param fields: Required. The fields within the shard key. + :type fields: list[~azure.mgmt.datamigration.models.MongoDbShardKeyField] + :param is_unique: Required. Whether the shard key is unique. + :type is_unique: bool + """ + + _validation = { + 'fields': {'required': True}, + 'is_unique': {'required': True}, + } + + _attribute_map = { + 'fields': {'key': 'fields', 'type': '[MongoDbShardKeyField]'}, + 'is_unique': {'key': 'isUnique', 'type': 'bool'}, + } + + def __init__( + self, + *, + fields: List["MongoDbShardKeyField"], + is_unique: bool, + **kwargs + ): + super(MongoDbShardKeyInfo, self).__init__(**kwargs) + self.fields = fields + self.is_unique = is_unique + + +class MongoDbShardKeySetting(msrest.serialization.Model): + """Describes a MongoDB shard key. + + All required parameters must be populated in order to send to Azure. + + :param fields: Required. The fields within the shard key. + :type fields: list[~azure.mgmt.datamigration.models.MongoDbShardKeyField] + :param is_unique: Required. Whether the shard key is unique. + :type is_unique: bool + """ + + _validation = { + 'fields': {'required': True}, + 'is_unique': {'required': True}, + } + + _attribute_map = { + 'fields': {'key': 'fields', 'type': '[MongoDbShardKeyField]'}, + 'is_unique': {'key': 'isUnique', 'type': 'bool'}, + } + + def __init__( + self, + *, + fields: List["MongoDbShardKeyField"], + is_unique: bool, + **kwargs + ): + super(MongoDbShardKeySetting, self).__init__(**kwargs) + self.fields = fields + self.is_unique = is_unique + + +class MongoDbThrottlingSettings(msrest.serialization.Model): + """Specifies resource limits for the migration. + + :param min_free_cpu: The percentage of CPU time that the migrator will try to avoid using, from + 0 to 100. + :type min_free_cpu: int + :param min_free_memory_mb: The number of megabytes of RAM that the migrator will try to avoid + using. + :type min_free_memory_mb: int + :param max_parallelism: The maximum number of work items (e.g. collection copies) that will be + processed in parallel. + :type max_parallelism: int + """ + + _attribute_map = { + 'min_free_cpu': {'key': 'minFreeCpu', 'type': 'int'}, + 'min_free_memory_mb': {'key': 'minFreeMemoryMb', 'type': 'int'}, + 'max_parallelism': {'key': 'maxParallelism', 'type': 'int'}, + } + + def __init__( + self, + *, + min_free_cpu: Optional[int] = None, + min_free_memory_mb: Optional[int] = None, + max_parallelism: Optional[int] = None, + **kwargs + ): + super(MongoDbThrottlingSettings, self).__init__(**kwargs) + self.min_free_cpu = min_free_cpu + self.min_free_memory_mb = min_free_memory_mb + self.max_parallelism = max_parallelism + + +class MySqlConnectionInfo(ConnectionInfo): + """Information for connecting to MySQL server. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param server_name: Required. Name of the server. + :type server_name: str + :param data_source: Data source. + :type data_source: str + :param port: Required. Port for Server. + :type port: int + :param encrypt_connection: Whether to encrypt the connection. + :type encrypt_connection: bool + """ + + _validation = { + 'type': {'required': True}, + 'server_name': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + } + + def __init__( + self, + *, + server_name: str, + port: int, + user_name: Optional[str] = None, + password: Optional[str] = None, + data_source: Optional[str] = None, + encrypt_connection: Optional[bool] = True, + **kwargs + ): + super(MySqlConnectionInfo, self).__init__(user_name=user_name, password=password, **kwargs) + self.type = 'MySqlConnectionInfo' # type: str + self.server_name = server_name + self.data_source = data_source + self.port = port + self.encrypt_connection = encrypt_connection + + +class NameAvailabilityRequest(msrest.serialization.Model): + """A resource type and proposed name. + + :param name: The proposed resource name. + :type name: str + :param type: The resource type chain (e.g. virtualMachines/extensions). + :type type: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + super(NameAvailabilityRequest, self).__init__(**kwargs) + self.name = name + self.type = type + + +class NameAvailabilityResponse(msrest.serialization.Model): + """Indicates whether a proposed resource name is available. + + :param name_available: If true, the name is valid and available. If false, 'reason' describes + why not. + :type name_available: bool + :param reason: The reason why the name is not available, if nameAvailable is false. Possible + values include: "AlreadyExists", "Invalid". + :type reason: str or ~azure.mgmt.datamigration.models.NameCheckFailureReason + :param message: The localized reason why the name is not available, if nameAvailable is false. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + name_available: Optional[bool] = None, + reason: Optional[Union[str, "NameCheckFailureReason"]] = None, + message: Optional[str] = None, + **kwargs + ): + super(NameAvailabilityResponse, self).__init__(**kwargs) + self.name_available = name_available + self.reason = reason + self.message = message + + +class NodeMonitoringData(msrest.serialization.Model): + """NodeMonitoringData. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar additional_properties: Unmatched properties from the message are deserialized in this + collection. + :vartype additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar available_memory_in_mb: Available memory (MB) on the integration runtime node. + :vartype available_memory_in_mb: int + :ivar cpu_utilization: CPU percentage on the integration runtime node. + :vartype cpu_utilization: int + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration runtime node. + :vartype concurrent_jobs_limit: int + :ivar concurrent_jobs_running: The number of jobs currently running on the integration runtime + node. + :vartype concurrent_jobs_running: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration runtime. + :vartype max_concurrent_jobs: int + :ivar sent_bytes: Sent bytes on the integration runtime node. + :vartype sent_bytes: float + :ivar received_bytes: Received bytes on the integration runtime node. + :vartype received_bytes: float + """ + + _validation = { + 'additional_properties': {'readonly': True}, + 'node_name': {'readonly': True}, + 'available_memory_in_mb': {'readonly': True}, + 'cpu_utilization': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'concurrent_jobs_running': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, + 'sent_bytes': {'readonly': True}, + 'received_bytes': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': 'additionalProperties', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'available_memory_in_mb': {'key': 'availableMemoryInMB', 'type': 'int'}, + 'cpu_utilization': {'key': 'cpuUtilization', 'type': 'int'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'concurrent_jobs_running': {'key': 'concurrentJobsRunning', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, + 'sent_bytes': {'key': 'sentBytes', 'type': 'float'}, + 'received_bytes': {'key': 'receivedBytes', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(NodeMonitoringData, self).__init__(**kwargs) + self.additional_properties = None + self.node_name = None + self.available_memory_in_mb = None + self.cpu_utilization = None + self.concurrent_jobs_limit = None + self.concurrent_jobs_running = None + self.max_concurrent_jobs = None + self.sent_bytes = None + self.received_bytes = None + + +class NonSqlDataMigrationTable(msrest.serialization.Model): + """Defines metadata for table to be migrated. + + :param source_name: Source table name. + :type source_name: str + """ + + _attribute_map = { + 'source_name': {'key': 'sourceName', 'type': 'str'}, + } + + def __init__( + self, + *, + source_name: Optional[str] = None, + **kwargs + ): + super(NonSqlDataMigrationTable, self).__init__(**kwargs) + self.source_name = source_name + + +class NonSqlDataMigrationTableResult(msrest.serialization.Model): + """Object used to report the data migration results of a table. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar result_code: Result code of the data migration. Possible values include: "Initial", + "Completed", "ObjectNotExistsInSource", "ObjectNotExistsInTarget", + "TargetObjectIsInaccessible", "FatalError". + :vartype result_code: str or ~azure.mgmt.datamigration.models.DataMigrationResultCode + :ivar source_name: Name of the source table. + :vartype source_name: str + :ivar target_name: Name of the target table. + :vartype target_name: str + :ivar source_row_count: Number of rows in the source table. + :vartype source_row_count: long + :ivar target_row_count: Number of rows in the target table. + :vartype target_row_count: long + :ivar elapsed_time_in_miliseconds: Time taken to migrate the data. + :vartype elapsed_time_in_miliseconds: float + :ivar errors: List of errors, if any, during migration. + :vartype errors: list[~azure.mgmt.datamigration.models.DataMigrationError] + """ + + _validation = { + 'result_code': {'readonly': True}, + 'source_name': {'readonly': True}, + 'target_name': {'readonly': True}, + 'source_row_count': {'readonly': True}, + 'target_row_count': {'readonly': True}, + 'elapsed_time_in_miliseconds': {'readonly': True}, + 'errors': {'readonly': True}, + } + + _attribute_map = { + 'result_code': {'key': 'resultCode', 'type': 'str'}, + 'source_name': {'key': 'sourceName', 'type': 'str'}, + 'target_name': {'key': 'targetName', 'type': 'str'}, + 'source_row_count': {'key': 'sourceRowCount', 'type': 'long'}, + 'target_row_count': {'key': 'targetRowCount', 'type': 'long'}, + 'elapsed_time_in_miliseconds': {'key': 'elapsedTimeInMiliseconds', 'type': 'float'}, + 'errors': {'key': 'errors', 'type': '[DataMigrationError]'}, + } + + def __init__( + self, + **kwargs + ): + super(NonSqlDataMigrationTableResult, self).__init__(**kwargs) + self.result_code = None + self.source_name = None + self.target_name = None + self.source_row_count = None + self.target_row_count = None + self.elapsed_time_in_miliseconds = None + self.errors = None + + +class NonSqlMigrationTaskInput(msrest.serialization.Model): + """Base class for non sql migration task input. + + All required parameters must be populated in order to send to Azure. + + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_database_name: Required. Target database name. + :type target_database_name: str + :param project_name: Required. Name of the migration project. + :type project_name: str + :param project_location: Required. A URL that points to the drop location to access project + artifacts. + :type project_location: str + :param selected_tables: Required. Metadata of the tables selected for migration. + :type selected_tables: list[~azure.mgmt.datamigration.models.NonSqlDataMigrationTable] + """ + + _validation = { + 'target_connection_info': {'required': True}, + 'target_database_name': {'required': True}, + 'project_name': {'required': True}, + 'project_location': {'required': True}, + 'selected_tables': {'required': True}, + } + + _attribute_map = { + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_database_name': {'key': 'targetDatabaseName', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'project_location': {'key': 'projectLocation', 'type': 'str'}, + 'selected_tables': {'key': 'selectedTables', 'type': '[NonSqlDataMigrationTable]'}, + } + + def __init__( + self, + *, + target_connection_info: "SqlConnectionInfo", + target_database_name: str, + project_name: str, + project_location: str, + selected_tables: List["NonSqlDataMigrationTable"], + **kwargs + ): + super(NonSqlMigrationTaskInput, self).__init__(**kwargs) + self.target_connection_info = target_connection_info + self.target_database_name = target_database_name + self.project_name = project_name + self.project_location = project_location + self.selected_tables = selected_tables + + +class NonSqlMigrationTaskOutput(msrest.serialization.Model): + """Base class for non sql migration task output. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar started_on: Migration start time. + :vartype started_on: ~datetime.datetime + :ivar ended_on: Migration end time. + :vartype ended_on: ~datetime.datetime + :ivar status: Current state of migration. Possible values include: "Default", "Connecting", + "SourceAndTargetSelected", "SelectLogins", "Configured", "Running", "Error", "Stopped", + "Completed", "CompletedWithWarnings". + :vartype status: str or ~azure.mgmt.datamigration.models.MigrationStatus + :ivar data_migration_table_results: Results of the migration. The key contains the table name + and the value the table result object. + :vartype data_migration_table_results: str + :ivar progress_message: Message about the progress of the migration. + :vartype progress_message: str + :ivar source_server_name: Name of source server. + :vartype source_server_name: str + :ivar target_server_name: Name of target server. + :vartype target_server_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'started_on': {'readonly': True}, + 'ended_on': {'readonly': True}, + 'status': {'readonly': True}, + 'data_migration_table_results': {'readonly': True}, + 'progress_message': {'readonly': True}, + 'source_server_name': {'readonly': True}, + 'target_server_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'started_on': {'key': 'startedOn', 'type': 'iso-8601'}, + 'ended_on': {'key': 'endedOn', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'data_migration_table_results': {'key': 'dataMigrationTableResults', 'type': 'str'}, + 'progress_message': {'key': 'progressMessage', 'type': 'str'}, + 'source_server_name': {'key': 'sourceServerName', 'type': 'str'}, + 'target_server_name': {'key': 'targetServerName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NonSqlMigrationTaskOutput, self).__init__(**kwargs) + self.id = None + self.started_on = None + self.ended_on = None + self.status = None + self.data_migration_table_results = None + self.progress_message = None + self.source_server_name = None + self.target_server_name = None + + +class ODataError(msrest.serialization.Model): + """Error information in OData format. + + :param code: The machine-readable description of the error, such as 'InvalidRequest' or + 'InternalServerError'. + :type code: str + :param message: The human-readable description of the error. + :type message: str + :param details: Inner errors that caused this error. + :type details: list[~azure.mgmt.datamigration.models.ODataError] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ODataError]'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + details: Optional[List["ODataError"]] = None, + **kwargs + ): + super(ODataError, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = details + + +class OfflineConfiguration(msrest.serialization.Model): + """Offline configuration. + + :param offline: Offline migration. + :type offline: bool + :param last_backup_name: Last backup name for offline migration. This is optional for + migrations from file share. If it is not provided, then the service will determine the last + backup file name based on latest backup files present in file share. + :type last_backup_name: str + """ + + _attribute_map = { + 'offline': {'key': 'offline', 'type': 'bool'}, + 'last_backup_name': {'key': 'lastBackupName', 'type': 'str'}, + } + + def __init__( + self, + *, + offline: Optional[bool] = None, + last_backup_name: Optional[str] = None, + **kwargs + ): + super(OfflineConfiguration, self).__init__(**kwargs) + self.offline = offline + self.last_backup_name = last_backup_name + + +class OperationListResult(msrest.serialization.Model): + """Result of the request to list SQL operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.mgmt.datamigration.models.OperationsDefinition] + :ivar next_link: + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationsDefinition]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationsDefinition(msrest.serialization.Model): + """OperationsDefinition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: + :vartype name: str + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool + :ivar display: + :vartype display: ~azure.mgmt.datamigration.models.OperationsDisplayDefinition + :ivar origin: Possible values include: "user", "system". + :vartype origin: str or ~azure.mgmt.datamigration.models.OperationOrigin + :ivar properties: Dictionary of :code:``. + :vartype properties: dict[str, object] + """ + + _validation = { + 'name': {'readonly': True}, + 'display': {'readonly': True}, + 'origin': {'readonly': True}, + 'properties': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationsDisplayDefinition'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{object}'}, + } + + def __init__( + self, + *, + is_data_action: Optional[bool] = None, + **kwargs + ): + super(OperationsDefinition, self).__init__(**kwargs) + self.name = None + self.is_data_action = is_data_action + self.display = None + self.origin = None + self.properties = None + + +class OperationsDisplayDefinition(msrest.serialization.Model): + """OperationsDisplayDefinition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provider: + :vartype provider: str + :ivar resource: + :vartype resource: str + :ivar operation: + :vartype operation: str + :ivar description: + :vartype description: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationsDisplayDefinition, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + self.description = None + + +class OracleConnectionInfo(ConnectionInfo): + """Information for connecting to Oracle server. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param data_source: Required. EZConnect or TNSName connection string. + :type data_source: str + """ + + _validation = { + 'type': {'required': True}, + 'data_source': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + } + + def __init__( + self, + *, + data_source: str, + user_name: Optional[str] = None, + password: Optional[str] = None, + **kwargs + ): + super(OracleConnectionInfo, self).__init__(user_name=user_name, password=password, **kwargs) + self.type = 'OracleConnectionInfo' # type: str + self.data_source = data_source + + +class OracleOciDriverInfo(msrest.serialization.Model): + """Information about an Oracle OCI driver. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar driver_name: The name of the driver package. + :vartype driver_name: str + :ivar driver_size: The size in bytes of the driver package. + :vartype driver_size: str + :ivar archive_checksum: The MD5 Base64 encoded checksum for the driver package. + :vartype archive_checksum: str + :ivar oracle_checksum: The checksum for the driver package provided by Oracle. + :vartype oracle_checksum: str + :ivar assembly_version: Version listed in the OCI assembly 'oci.dll'. + :vartype assembly_version: str + :ivar supported_oracle_versions: List of Oracle database versions supported by this driver. + Only major minor of the version is listed. + :vartype supported_oracle_versions: list[str] + """ + + _validation = { + 'driver_name': {'readonly': True}, + 'driver_size': {'readonly': True}, + 'archive_checksum': {'readonly': True}, + 'oracle_checksum': {'readonly': True}, + 'assembly_version': {'readonly': True}, + 'supported_oracle_versions': {'readonly': True}, + } + + _attribute_map = { + 'driver_name': {'key': 'driverName', 'type': 'str'}, + 'driver_size': {'key': 'driverSize', 'type': 'str'}, + 'archive_checksum': {'key': 'archiveChecksum', 'type': 'str'}, + 'oracle_checksum': {'key': 'oracleChecksum', 'type': 'str'}, + 'assembly_version': {'key': 'assemblyVersion', 'type': 'str'}, + 'supported_oracle_versions': {'key': 'supportedOracleVersions', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleOciDriverInfo, self).__init__(**kwargs) + self.driver_name = None + self.driver_size = None + self.archive_checksum = None + self.oracle_checksum = None + self.assembly_version = None + self.supported_oracle_versions = None + + +class OrphanedUserInfo(msrest.serialization.Model): + """Information of orphaned users on the SQL server database. + + :param name: Name of the orphaned user. + :type name: str + :param database_name: Parent database of the user. + :type database_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + database_name: Optional[str] = None, + **kwargs + ): + super(OrphanedUserInfo, self).__init__(**kwargs) + self.name = name + self.database_name = database_name + + +class PostgreSqlConnectionInfo(ConnectionInfo): + """Information for connecting to PostgreSQL server. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param server_name: Required. Name of the server. + :type server_name: str + :param data_source: Data source. + :type data_source: str + :param server_version: server version. + :type server_version: str + :param database_name: Name of the database. + :type database_name: str + :param port: Required. Port for Server. + :type port: int + :param encrypt_connection: Whether to encrypt the connection. + :type encrypt_connection: bool + :param trust_server_certificate: Whether to trust the server certificate. + :type trust_server_certificate: bool + """ + + _validation = { + 'type': {'required': True}, + 'server_name': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'database_name': {'key': 'databaseName', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'trust_server_certificate': {'key': 'trustServerCertificate', 'type': 'bool'}, + } + + def __init__( + self, + *, + server_name: str, + port: int, + user_name: Optional[str] = None, + password: Optional[str] = None, + data_source: Optional[str] = None, + server_version: Optional[str] = None, + database_name: Optional[str] = None, + encrypt_connection: Optional[bool] = True, + trust_server_certificate: Optional[bool] = False, + **kwargs + ): + super(PostgreSqlConnectionInfo, self).__init__(user_name=user_name, password=password, **kwargs) + self.type = 'PostgreSqlConnectionInfo' # type: str + self.server_name = server_name + self.data_source = data_source + self.server_version = server_version + self.database_name = database_name + self.port = port + self.encrypt_connection = encrypt_connection + self.trust_server_certificate = trust_server_certificate + + +class Project(TrackedResource): + """A project resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: + :type location: str + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :param e_tag: HTTP strong entity tag value. This is ignored if submitted. + :type e_tag: str + :param source_platform: Source platform for the project. Possible values include: "SQL", + "MySQL", "PostgreSql", "MongoDb", "Unknown". + :type source_platform: str or ~azure.mgmt.datamigration.models.ProjectSourcePlatform + :param azure_authentication_info: Field that defines the Azure active directory application + info, used to connect to the target Azure resource. + :type azure_authentication_info: str + :param target_platform: Target platform for the project. Possible values include: "SQLDB", + "SQLMI", "AzureDbForMySql", "AzureDbForPostgreSql", "MongoDb", "Unknown". + :type target_platform: str or ~azure.mgmt.datamigration.models.ProjectTargetPlatform + :ivar creation_time: UTC Date and time when project was created. + :vartype creation_time: ~datetime.datetime + :param source_connection_info: Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.ConnectionInfo + :param target_connection_info: Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.ConnectionInfo + :param databases_info: List of DatabaseInfo. + :type databases_info: list[~azure.mgmt.datamigration.models.DatabaseInfo] + :ivar provisioning_state: The project's provisioning state. Possible values include: + "Deleting", "Succeeded". + :vartype provisioning_state: str or ~azure.mgmt.datamigration.models.ProjectProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'source_platform': {'key': 'properties.sourcePlatform', 'type': 'str'}, + 'azure_authentication_info': {'key': 'properties.azureAuthenticationInfo', 'type': 'str'}, + 'target_platform': {'key': 'properties.targetPlatform', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'source_connection_info': {'key': 'properties.sourceConnectionInfo', 'type': 'ConnectionInfo'}, + 'target_connection_info': {'key': 'properties.targetConnectionInfo', 'type': 'ConnectionInfo'}, + 'databases_info': {'key': 'properties.databasesInfo', 'type': '[DatabaseInfo]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + e_tag: Optional[str] = None, + source_platform: Optional[Union[str, "ProjectSourcePlatform"]] = None, + azure_authentication_info: Optional[str] = None, + target_platform: Optional[Union[str, "ProjectTargetPlatform"]] = None, + source_connection_info: Optional["ConnectionInfo"] = None, + target_connection_info: Optional["ConnectionInfo"] = None, + databases_info: Optional[List["DatabaseInfo"]] = None, + **kwargs + ): + super(Project, self).__init__(location=location, tags=tags, **kwargs) + self.e_tag = e_tag + self.source_platform = source_platform + self.azure_authentication_info = azure_authentication_info + self.target_platform = target_platform + self.creation_time = None + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.databases_info = databases_info + self.provisioning_state = None + + +class Resource(msrest.serialization.Model): + """ARM resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + """ + + _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 ProjectFile(Resource): + """A file resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param etag: HTTP strong entity tag value. This is ignored if submitted. + :type etag: str + :param properties: Custom file properties. + :type properties: ~azure.mgmt.datamigration.models.ProjectFileProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.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'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProjectFileProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + etag: Optional[str] = None, + properties: Optional["ProjectFileProperties"] = None, + **kwargs + ): + super(ProjectFile, self).__init__(**kwargs) + self.etag = etag + self.properties = properties + self.system_data = None + + +class ProjectFileProperties(msrest.serialization.Model): + """Base class for file properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param extension: Optional File extension. If submitted it should not have a leading period and + must match the extension from filePath. + :type extension: str + :param file_path: Relative path of this file resource. This property can be set when creating + or updating the file resource. + :type file_path: str + :ivar last_modified: Modification DateTime. + :vartype last_modified: ~datetime.datetime + :param media_type: File content type. This property can be modified to reflect the file content + type. + :type media_type: str + :ivar size: File size. + :vartype size: long + """ + + _validation = { + 'last_modified': {'readonly': True}, + 'size': {'readonly': True}, + } + + _attribute_map = { + 'extension': {'key': 'extension', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'media_type': {'key': 'mediaType', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'long'}, + } + + def __init__( + self, + *, + extension: Optional[str] = None, + file_path: Optional[str] = None, + media_type: Optional[str] = None, + **kwargs + ): + super(ProjectFileProperties, self).__init__(**kwargs) + self.extension = extension + self.file_path = file_path + self.last_modified = None + self.media_type = media_type + self.size = None + + +class ProjectList(msrest.serialization.Model): + """OData page of project resources. + + :param value: List of projects. + :type value: list[~azure.mgmt.datamigration.models.Project] + :param next_link: URL to load the next page of projects. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Project]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Project"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ProjectList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ProjectTask(Resource): + """A task resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param etag: HTTP strong entity tag value. This is ignored if submitted. + :type etag: str + :param properties: Custom task properties. + :type properties: ~azure.mgmt.datamigration.models.ProjectTaskProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.datamigration.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'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ProjectTaskProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + etag: Optional[str] = None, + properties: Optional["ProjectTaskProperties"] = None, + **kwargs + ): + super(ProjectTask, self).__init__(**kwargs) + self.etag = etag + self.properties = properties + self.system_data = None + + +class QueryAnalysisValidationResult(msrest.serialization.Model): + """Results for query analysis comparison between the source and target. + + :param query_results: List of queries executed and it's execution results in source and target. + :type query_results: ~azure.mgmt.datamigration.models.QueryExecutionResult + :param validation_errors: Errors that are part of the execution. + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + """ + + _attribute_map = { + 'query_results': {'key': 'queryResults', 'type': 'QueryExecutionResult'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + } + + def __init__( + self, + *, + query_results: Optional["QueryExecutionResult"] = None, + validation_errors: Optional["ValidationError"] = None, + **kwargs + ): + super(QueryAnalysisValidationResult, self).__init__(**kwargs) + self.query_results = query_results + self.validation_errors = validation_errors + + +class QueryExecutionResult(msrest.serialization.Model): + """Describes query analysis results for execution in source and target. + + :param query_text: Query text retrieved from the source server. + :type query_text: str + :param statements_in_batch: Total no. of statements in the batch. + :type statements_in_batch: long + :param source_result: Query analysis result from the source. + :type source_result: ~azure.mgmt.datamigration.models.ExecutionStatistics + :param target_result: Query analysis result from the target. + :type target_result: ~azure.mgmt.datamigration.models.ExecutionStatistics + """ + + _attribute_map = { + 'query_text': {'key': 'queryText', 'type': 'str'}, + 'statements_in_batch': {'key': 'statementsInBatch', 'type': 'long'}, + 'source_result': {'key': 'sourceResult', 'type': 'ExecutionStatistics'}, + 'target_result': {'key': 'targetResult', 'type': 'ExecutionStatistics'}, + } + + def __init__( + self, + *, + query_text: Optional[str] = None, + statements_in_batch: Optional[int] = None, + source_result: Optional["ExecutionStatistics"] = None, + target_result: Optional["ExecutionStatistics"] = None, + **kwargs + ): + super(QueryExecutionResult, self).__init__(**kwargs) + self.query_text = query_text + self.statements_in_batch = statements_in_batch + self.source_result = source_result + self.target_result = target_result + + +class Quota(msrest.serialization.Model): + """Describes a quota for or usage details about a resource. + + :param current_value: The current value of the quota. If null or missing, the current value + cannot be determined in the context of the request. + :type current_value: float + :param id: The resource ID of the quota object. + :type id: str + :param limit: The maximum value of the quota. If null or missing, the quota has no maximum, in + which case it merely tracks usage. + :type limit: float + :param name: The name of the quota. + :type name: ~azure.mgmt.datamigration.models.QuotaName + :param unit: The unit for the quota, such as Count, Bytes, BytesPerSecond, etc. + :type unit: str + """ + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'QuotaName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__( + self, + *, + current_value: Optional[float] = None, + id: Optional[str] = None, + limit: Optional[float] = None, + name: Optional["QuotaName"] = None, + unit: Optional[str] = None, + **kwargs + ): + super(Quota, self).__init__(**kwargs) + self.current_value = current_value + self.id = id + self.limit = limit + self.name = name + self.unit = unit + + +class QuotaList(msrest.serialization.Model): + """OData page of quota objects. + + :param value: List of quotas. + :type value: list[~azure.mgmt.datamigration.models.Quota] + :param next_link: URL to load the next page of quotas, or null or missing if this is the last + page. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Quota]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Quota"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(QuotaList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class QuotaName(msrest.serialization.Model): + """The name of the quota. + + :param localized_value: The localized name of the quota. + :type localized_value: str + :param value: The unlocalized name (or ID) of the quota. + :type value: str + """ + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + localized_value: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ): + super(QuotaName, self).__init__(**kwargs) + self.localized_value = localized_value + self.value = value + + +class RegenAuthKeys(msrest.serialization.Model): + """An authentication key to regenerate. + + :param key_name: The name of authentication key to generate. + :type key_name: str + :param auth_key1: The first authentication key. + :type auth_key1: str + :param auth_key2: The second authentication key. + :type auth_key2: str + """ + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'auth_key1': {'key': 'authKey1', 'type': 'str'}, + 'auth_key2': {'key': 'authKey2', 'type': 'str'}, + } + + def __init__( + self, + *, + key_name: Optional[str] = None, + auth_key1: Optional[str] = None, + auth_key2: Optional[str] = None, + **kwargs + ): + super(RegenAuthKeys, self).__init__(**kwargs) + self.key_name = key_name + self.auth_key1 = auth_key1 + self.auth_key2 = auth_key2 + + +class ReportableException(msrest.serialization.Model): + """Exception object for all custom exceptions. + + :param message: Error message. + :type message: str + :param actionable_message: Actionable steps for this exception. + :type actionable_message: str + :param file_path: The path to the file where exception occurred. + :type file_path: str + :param line_number: The line number where exception occurred. + :type line_number: str + :param h_result: Coded numerical value that is assigned to a specific exception. + :type h_result: int + :param stack_trace: Stack trace. + :type stack_trace: str + """ + + _attribute_map = { + 'message': {'key': 'message', 'type': 'str'}, + 'actionable_message': {'key': 'actionableMessage', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + 'line_number': {'key': 'lineNumber', 'type': 'str'}, + 'h_result': {'key': 'hResult', 'type': 'int'}, + 'stack_trace': {'key': 'stackTrace', 'type': 'str'}, + } + + def __init__( + self, + *, + message: Optional[str] = None, + actionable_message: Optional[str] = None, + file_path: Optional[str] = None, + line_number: Optional[str] = None, + h_result: Optional[int] = None, + stack_trace: Optional[str] = None, + **kwargs + ): + super(ReportableException, self).__init__(**kwargs) + self.message = message + self.actionable_message = actionable_message + self.file_path = file_path + self.line_number = line_number + self.h_result = h_result + self.stack_trace = stack_trace + + +class ResourceSku(msrest.serialization.Model): + """Describes an available DMS SKU. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_type: The type of resource the SKU applies to. + :vartype resource_type: str + :ivar name: The name of SKU. + :vartype name: str + :ivar tier: Specifies the tier of DMS in a scale set. + :vartype tier: str + :ivar size: The Size of the SKU. + :vartype size: str + :ivar family: The Family of this particular SKU. + :vartype family: str + :ivar kind: The Kind of resources that are supported in this SKU. + :vartype kind: str + :ivar capacity: Not used. + :vartype capacity: ~azure.mgmt.datamigration.models.ResourceSkuCapacity + :ivar locations: The set of locations that the SKU is available. + :vartype locations: list[str] + :ivar api_versions: The api versions that support this SKU. + :vartype api_versions: list[str] + :ivar costs: Metadata for retrieving price info. + :vartype costs: list[~azure.mgmt.datamigration.models.ResourceSkuCosts] + :ivar capabilities: A name value pair to describe the capability. + :vartype capabilities: list[~azure.mgmt.datamigration.models.ResourceSkuCapabilities] + :ivar restrictions: The restrictions because of which SKU cannot be used. This is empty if + there are no restrictions. + :vartype restrictions: list[~azure.mgmt.datamigration.models.ResourceSkuRestrictions] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'name': {'readonly': True}, + 'tier': {'readonly': True}, + 'size': {'readonly': True}, + 'family': {'readonly': True}, + 'kind': {'readonly': True}, + 'capacity': {'readonly': True}, + 'locations': {'readonly': True}, + 'api_versions': {'readonly': True}, + 'costs': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'restrictions': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'ResourceSkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'api_versions': {'key': 'apiVersions', 'type': '[str]'}, + 'costs': {'key': 'costs', 'type': '[ResourceSkuCosts]'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + 'restrictions': {'key': 'restrictions', 'type': '[ResourceSkuRestrictions]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = None + self.name = None + self.tier = None + self.size = None + self.family = None + self.kind = None + self.capacity = None + self.locations = None + self.api_versions = None + self.costs = None + self.capabilities = None + self.restrictions = None + + +class ResourceSkuCapabilities(msrest.serialization.Model): + """Describes The SKU capabilities object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: An invariant to describe the feature. + :vartype name: str + :ivar value: An invariant if the feature is measured by quantity. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuCapabilities, self).__init__(**kwargs) + self.name = None + self.value = None + + +class ResourceSkuCapacity(msrest.serialization.Model): + """Describes scaling information of a SKU. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar minimum: The minimum capacity. + :vartype minimum: long + :ivar maximum: The maximum capacity. + :vartype maximum: long + :ivar default: The default capacity. + :vartype default: long + :ivar scale_type: The scale type applicable to the SKU. Possible values include: "Automatic", + "Manual", "None". + :vartype scale_type: str or ~azure.mgmt.datamigration.models.ResourceSkuCapacityScaleType + """ + + _validation = { + 'minimum': {'readonly': True}, + 'maximum': {'readonly': True}, + 'default': {'readonly': True}, + 'scale_type': {'readonly': True}, + } + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'long'}, + 'maximum': {'key': 'maximum', 'type': 'long'}, + 'default': {'key': 'default', 'type': 'long'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuCapacity, self).__init__(**kwargs) + self.minimum = None + self.maximum = None + self.default = None + self.scale_type = None + + +class ResourceSkuCosts(msrest.serialization.Model): + """Describes metadata for retrieving price info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar meter_id: Used for querying price from commerce. + :vartype meter_id: str + :ivar quantity: The multiplier is needed to extend the base metered cost. + :vartype quantity: long + :ivar extended_unit: An invariant to show the extended unit. + :vartype extended_unit: str + """ + + _validation = { + 'meter_id': {'readonly': True}, + 'quantity': {'readonly': True}, + 'extended_unit': {'readonly': True}, + } + + _attribute_map = { + 'meter_id': {'key': 'meterID', 'type': 'str'}, + 'quantity': {'key': 'quantity', 'type': 'long'}, + 'extended_unit': {'key': 'extendedUnit', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuCosts, self).__init__(**kwargs) + self.meter_id = None + self.quantity = None + self.extended_unit = None + + +class ResourceSkuRestrictions(msrest.serialization.Model): + """Describes scaling information of a SKU. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The type of restrictions. Possible values include: "location". + :vartype type: str or ~azure.mgmt.datamigration.models.ResourceSkuRestrictionsType + :ivar values: The value of restrictions. If the restriction type is set to location. This would + be different locations where the SKU is restricted. + :vartype values: list[str] + :ivar reason_code: The reason code for restriction. Possible values include: "QuotaId", + "NotAvailableForSubscription". + :vartype reason_code: str or ~azure.mgmt.datamigration.models.ResourceSkuRestrictionsReasonCode + """ + + _validation = { + 'type': {'readonly': True}, + 'values': {'readonly': True}, + 'reason_code': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuRestrictions, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = None + + +class ResourceSkusResult(msrest.serialization.Model): + """The DMS List SKUs operation response. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. The list of SKUs available for the subscription. + :type value: list[~azure.mgmt.datamigration.models.ResourceSku] + :param next_link: The uri to fetch the next page of DMS SKUs. Call ListNext() with this to + fetch the next page of DMS SKUs. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceSku]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["ResourceSku"], + next_link: Optional[str] = None, + **kwargs + ): + super(ResourceSkusResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class SchemaComparisonValidationResult(msrest.serialization.Model): + """Results for schema comparison between the source and target. + + :param schema_differences: List of schema differences between the source and target databases. + :type schema_differences: ~azure.mgmt.datamigration.models.SchemaComparisonValidationResultType + :param validation_errors: List of errors that happened while performing schema compare + validation. + :type validation_errors: ~azure.mgmt.datamigration.models.ValidationError + :param source_database_object_count: Count of source database objects. + :type source_database_object_count: dict[str, long] + :param target_database_object_count: Count of target database objects. + :type target_database_object_count: dict[str, long] + """ + + _attribute_map = { + 'schema_differences': {'key': 'schemaDifferences', 'type': 'SchemaComparisonValidationResultType'}, + 'validation_errors': {'key': 'validationErrors', 'type': 'ValidationError'}, + 'source_database_object_count': {'key': 'sourceDatabaseObjectCount', 'type': '{long}'}, + 'target_database_object_count': {'key': 'targetDatabaseObjectCount', 'type': '{long}'}, + } + + def __init__( + self, + *, + schema_differences: Optional["SchemaComparisonValidationResultType"] = None, + validation_errors: Optional["ValidationError"] = None, + source_database_object_count: Optional[Dict[str, int]] = None, + target_database_object_count: Optional[Dict[str, int]] = None, + **kwargs + ): + super(SchemaComparisonValidationResult, self).__init__(**kwargs) + self.schema_differences = schema_differences + self.validation_errors = validation_errors + self.source_database_object_count = source_database_object_count + self.target_database_object_count = target_database_object_count + + +class SchemaComparisonValidationResultType(msrest.serialization.Model): + """Description about the errors happen while performing migration validation. + + :param object_name: Name of the object that has the difference. + :type object_name: str + :param object_type: Type of the object that has the difference. e.g + (Table/View/StoredProcedure). Possible values include: "StoredProcedures", "Table", "User", + "View", "Function". + :type object_type: str or ~azure.mgmt.datamigration.models.ObjectType + :param update_action: Update action type with respect to target. Possible values include: + "DeletedOnTarget", "ChangedOnTarget", "AddedOnTarget". + :type update_action: str or ~azure.mgmt.datamigration.models.UpdateActionType + """ + + _attribute_map = { + 'object_name': {'key': 'objectName', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'update_action': {'key': 'updateAction', 'type': 'str'}, + } + + def __init__( + self, + *, + object_name: Optional[str] = None, + object_type: Optional[Union[str, "ObjectType"]] = None, + update_action: Optional[Union[str, "UpdateActionType"]] = None, + **kwargs + ): + super(SchemaComparisonValidationResultType, self).__init__(**kwargs) + self.object_name = object_name + self.object_type = object_type + self.update_action = update_action + + +class SchemaMigrationSetting(msrest.serialization.Model): + """Settings for migrating schema from source to target. + + :param schema_option: Option on how to migrate the schema. Possible values include: "None", + "ExtractFromSource", "UseStorageFile". + :type schema_option: str or ~azure.mgmt.datamigration.models.SchemaMigrationOption + :param file_id: Resource Identifier of a file resource containing the uploaded schema file. + :type file_id: str + :param file_name: Name of the file resource containing the uploaded schema file. + :type file_name: str + """ + + _attribute_map = { + 'schema_option': {'key': 'schemaOption', 'type': 'str'}, + 'file_id': {'key': 'fileId', 'type': 'str'}, + 'file_name': {'key': 'fileName', 'type': 'str'}, + } + + def __init__( + self, + *, + schema_option: Optional[Union[str, "SchemaMigrationOption"]] = None, + file_id: Optional[str] = None, + file_name: Optional[str] = None, + **kwargs + ): + super(SchemaMigrationSetting, self).__init__(**kwargs) + self.schema_option = schema_option + self.file_id = file_id + self.file_name = file_name + + +class SelectedCertificateInput(msrest.serialization.Model): + """Info for certificate to be exported for TDE enabled databases. + + All required parameters must be populated in order to send to Azure. + + :param certificate_name: Required. Name of certificate to be exported. + :type certificate_name: str + :param password: Required. Password to use for encrypting the exported certificate. + :type password: str + """ + + _validation = { + 'certificate_name': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'certificate_name': {'key': 'certificateName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + *, + certificate_name: str, + password: str, + **kwargs + ): + super(SelectedCertificateInput, self).__init__(**kwargs) + self.certificate_name = certificate_name + self.password = password + + +class ServerProperties(msrest.serialization.Model): + """Server properties for MySQL type source. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar server_platform: Name of the server platform. + :vartype server_platform: str + :ivar server_name: Name of the server. + :vartype server_name: str + :ivar server_version: Version of the database server. + :vartype server_version: str + :ivar server_edition: Edition of the database server. + :vartype server_edition: str + :ivar server_operating_system_version: Version of the operating system. + :vartype server_operating_system_version: str + :ivar server_database_count: Number of databases in the server. + :vartype server_database_count: int + """ + + _validation = { + 'server_platform': {'readonly': True}, + 'server_name': {'readonly': True}, + 'server_version': {'readonly': True}, + 'server_edition': {'readonly': True}, + 'server_operating_system_version': {'readonly': True}, + 'server_database_count': {'readonly': True}, + } + + _attribute_map = { + 'server_platform': {'key': 'serverPlatform', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'server_version': {'key': 'serverVersion', 'type': 'str'}, + 'server_edition': {'key': 'serverEdition', 'type': 'str'}, + 'server_operating_system_version': {'key': 'serverOperatingSystemVersion', 'type': 'str'}, + 'server_database_count': {'key': 'serverDatabaseCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ServerProperties, self).__init__(**kwargs) + self.server_platform = None + self.server_name = None + self.server_version = None + self.server_edition = None + self.server_operating_system_version = None + self.server_database_count = None + + +class ServiceOperation(msrest.serialization.Model): + """Description of an action supported by the Database Migration Service. + + :param name: The fully qualified action name, e.g. Microsoft.DataMigration/services/read. + :type name: str + :param display: Localized display text. + :type display: ~azure.mgmt.datamigration.models.ServiceOperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ServiceOperationDisplay'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ServiceOperationDisplay"] = None, + **kwargs + ): + super(ServiceOperation, self).__init__(**kwargs) + self.name = name + self.display = display + + +class ServiceOperationDisplay(msrest.serialization.Model): + """Localized display text. + + :param provider: The localized resource provider name. + :type provider: str + :param resource: The localized resource type name. + :type resource: str + :param operation: The localized operation name. + :type operation: str + :param description: The localized operation description. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(ServiceOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ServiceOperationList(msrest.serialization.Model): + """OData page of action (operation) objects. + + :param value: List of actions. + :type value: list[~azure.mgmt.datamigration.models.ServiceOperation] + :param next_link: URL to load the next page of actions. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ServiceOperation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ServiceOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ServiceSku(msrest.serialization.Model): + """An Azure SKU instance. + + :param name: The unique name of the SKU, such as 'P3'. + :type name: str + :param tier: The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical'. + :type tier: str + :param family: The SKU family, used when the service has multiple performance classes within a + tier, such as 'A', 'D', etc. for virtual machines. + :type family: str + :param size: The size of the SKU, used when the name alone does not denote a service size or + when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines. + :type size: str + :param capacity: The capacity of the SKU, if it supports scaling. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + 'size': {'key': 'size', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + tier: Optional[str] = None, + family: Optional[str] = None, + size: Optional[str] = None, + capacity: Optional[int] = None, + **kwargs + ): + super(ServiceSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.family = family + self.size = size + self.capacity = capacity + + +class ServiceSkuList(msrest.serialization.Model): + """OData page of available SKUs. + + :param value: List of service SKUs. + :type value: list[~azure.mgmt.datamigration.models.AvailableServiceSku] + :param next_link: URL to load the next page of service SKUs. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AvailableServiceSku]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["AvailableServiceSku"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ServiceSkuList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class SourceLocation(msrest.serialization.Model): + """Source Location details of backups. + + :param file_share: Source File share. + :type file_share: ~azure.mgmt.datamigration.models.SqlFileShare + :param azure_blob: Source Azure Blob. + :type azure_blob: ~azure.mgmt.datamigration.models.AzureBlob + """ + + _attribute_map = { + 'file_share': {'key': 'fileShare', 'type': 'SqlFileShare'}, + 'azure_blob': {'key': 'azureBlob', 'type': 'AzureBlob'}, + } + + def __init__( + self, + *, + file_share: Optional["SqlFileShare"] = None, + azure_blob: Optional["AzureBlob"] = None, + **kwargs + ): + super(SourceLocation, self).__init__(**kwargs) + self.file_share = file_share + self.azure_blob = azure_blob + + +class SqlBackupFileInfo(msrest.serialization.Model): + """Information of backup file. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar file_name: File name. + :vartype file_name: str + :ivar status: Status of the file. (Initial, Uploading, Uploaded, Restoring, Restored or + Skipped). + :vartype status: str + :ivar total_size: File size in bytes. + :vartype total_size: long + :ivar data_read: Bytes read. + :vartype data_read: long + :ivar data_written: Bytes written. + :vartype data_written: long + :ivar copy_throughput: Copy throughput in KBps. + :vartype copy_throughput: float + :ivar copy_duration: Copy Duration in seconds. + :vartype copy_duration: int + :ivar family_sequence_number: Media family sequence number. + :vartype family_sequence_number: int + """ + + _validation = { + 'file_name': {'readonly': True}, + 'status': {'readonly': True}, + 'total_size': {'readonly': True}, + 'data_read': {'readonly': True}, + 'data_written': {'readonly': True}, + 'copy_throughput': {'readonly': True}, + 'copy_duration': {'readonly': True}, + 'family_sequence_number': {'readonly': True}, + } + + _attribute_map = { + 'file_name': {'key': 'fileName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'total_size': {'key': 'totalSize', 'type': 'long'}, + 'data_read': {'key': 'dataRead', 'type': 'long'}, + 'data_written': {'key': 'dataWritten', 'type': 'long'}, + 'copy_throughput': {'key': 'copyThroughput', 'type': 'float'}, + 'copy_duration': {'key': 'copyDuration', 'type': 'int'}, + 'family_sequence_number': {'key': 'familySequenceNumber', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlBackupFileInfo, self).__init__(**kwargs) + self.file_name = None + self.status = None + self.total_size = None + self.data_read = None + self.data_written = None + self.copy_throughput = None + self.copy_duration = None + self.family_sequence_number = None + + +class SqlBackupSetInfo(msrest.serialization.Model): + """Information of backup set. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar backup_set_id: Backup set id. + :vartype backup_set_id: str + :ivar first_lsn: First LSN of the backup set. + :vartype first_lsn: str + :ivar last_lsn: Last LSN of the backup set. + :vartype last_lsn: str + :ivar backup_type: Backup type. + :vartype backup_type: str + :ivar list_of_backup_files: List of files in the backup set. + :vartype list_of_backup_files: list[~azure.mgmt.datamigration.models.SqlBackupFileInfo] + :ivar backup_start_date: Backup start date. + :vartype backup_start_date: ~datetime.datetime + :ivar backup_finish_date: Backup end time. + :vartype backup_finish_date: ~datetime.datetime + :ivar is_backup_restored: Whether this backup set has been restored or not. + :vartype is_backup_restored: bool + :ivar has_backup_checksums: Has Backup Checksums. + :vartype has_backup_checksums: bool + :ivar family_count: Media family count. + :vartype family_count: int + :ivar ignore_reasons: The reasons why the backup set is ignored. + :vartype ignore_reasons: list[str] + """ + + _validation = { + 'backup_set_id': {'readonly': True}, + 'first_lsn': {'readonly': True}, + 'last_lsn': {'readonly': True}, + 'backup_type': {'readonly': True}, + 'list_of_backup_files': {'readonly': True}, + 'backup_start_date': {'readonly': True}, + 'backup_finish_date': {'readonly': True}, + 'is_backup_restored': {'readonly': True}, + 'has_backup_checksums': {'readonly': True}, + 'family_count': {'readonly': True}, + 'ignore_reasons': {'readonly': True}, + } + + _attribute_map = { + 'backup_set_id': {'key': 'backupSetId', 'type': 'str'}, + 'first_lsn': {'key': 'firstLSN', 'type': 'str'}, + 'last_lsn': {'key': 'lastLSN', 'type': 'str'}, + 'backup_type': {'key': 'backupType', 'type': 'str'}, + 'list_of_backup_files': {'key': 'listOfBackupFiles', 'type': '[SqlBackupFileInfo]'}, + 'backup_start_date': {'key': 'backupStartDate', 'type': 'iso-8601'}, + 'backup_finish_date': {'key': 'backupFinishDate', 'type': 'iso-8601'}, + 'is_backup_restored': {'key': 'isBackupRestored', 'type': 'bool'}, + 'has_backup_checksums': {'key': 'hasBackupChecksums', 'type': 'bool'}, + 'family_count': {'key': 'familyCount', 'type': 'int'}, + 'ignore_reasons': {'key': 'ignoreReasons', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlBackupSetInfo, self).__init__(**kwargs) + self.backup_set_id = None + self.first_lsn = None + self.last_lsn = None + self.backup_type = None + self.list_of_backup_files = None + self.backup_start_date = None + self.backup_finish_date = None + self.is_backup_restored = None + self.has_backup_checksums = None + self.family_count = None + self.ignore_reasons = None + + +class SqlConnectionInfo(ConnectionInfo): + """Information for connecting to SQL database server. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of connection info.Constant filled by server. + :type type: str + :param user_name: User name. + :type user_name: str + :param password: Password credential. + :type password: str + :param data_source: Required. Data source in the format + Protocol:MachineName\SQLServerInstanceName,PortNumber. + :type data_source: str + :param server_name: name of the server. + :type server_name: str + :param port: port for server. + :type port: str + :param resource_id: Represents the ID of an HTTP resource represented by an Azure resource + provider. + :type resource_id: str + :param authentication: Authentication type to use for connection. Possible values include: + "None", "WindowsAuthentication", "SqlAuthentication", "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword". + :type authentication: str or ~azure.mgmt.datamigration.models.AuthenticationType + :param encrypt_connection: Whether to encrypt the connection. + :type encrypt_connection: bool + :param additional_settings: Additional connection settings. + :type additional_settings: str + :param trust_server_certificate: Whether to trust the server certificate. + :type trust_server_certificate: bool + :param platform: Server platform type for connection. Possible values include: "SqlOnPrem". + :type platform: str or ~azure.mgmt.datamigration.models.SqlSourcePlatform + """ + + _validation = { + 'type': {'required': True}, + 'data_source': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'server_name': {'key': 'serverName', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'authentication': {'key': 'authentication', 'type': 'str'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'additional_settings': {'key': 'additionalSettings', 'type': 'str'}, + 'trust_server_certificate': {'key': 'trustServerCertificate', 'type': 'bool'}, + 'platform': {'key': 'platform', 'type': 'str'}, + } + + def __init__( + self, + *, + data_source: str, + user_name: Optional[str] = None, + password: Optional[str] = None, + server_name: Optional[str] = None, + port: Optional[str] = None, + resource_id: Optional[str] = None, + authentication: Optional[Union[str, "AuthenticationType"]] = None, + encrypt_connection: Optional[bool] = True, + additional_settings: Optional[str] = None, + trust_server_certificate: Optional[bool] = False, + platform: Optional[Union[str, "SqlSourcePlatform"]] = None, + **kwargs + ): + super(SqlConnectionInfo, self).__init__(user_name=user_name, password=password, **kwargs) + self.type = 'SqlConnectionInfo' # type: str + self.data_source = data_source + self.server_name = server_name + self.port = port + self.resource_id = resource_id + self.authentication = authentication + self.encrypt_connection = encrypt_connection + self.additional_settings = additional_settings + self.trust_server_certificate = trust_server_certificate + self.platform = platform + + +class SqlConnectionInformation(msrest.serialization.Model): + """Source SQL Connection. + + :param data_source: Data source. + :type data_source: str + :param authentication: Authentication type. + :type authentication: str + :param user_name: User name to connect to source SQL. + :type user_name: str + :param password: Password to connect to source SQL. + :type password: str + :param encrypt_connection: Whether to encrypt connection or not. + :type encrypt_connection: bool + :param trust_server_certificate: Whether to trust server certificate or not. + :type trust_server_certificate: bool + """ + + _attribute_map = { + 'data_source': {'key': 'dataSource', 'type': 'str'}, + 'authentication': {'key': 'authentication', 'type': 'str'}, + 'user_name': {'key': 'userName', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'encrypt_connection': {'key': 'encryptConnection', 'type': 'bool'}, + 'trust_server_certificate': {'key': 'trustServerCertificate', 'type': 'bool'}, + } + + def __init__( + self, + *, + data_source: Optional[str] = None, + authentication: Optional[str] = None, + user_name: Optional[str] = None, + password: Optional[str] = None, + encrypt_connection: Optional[bool] = None, + trust_server_certificate: Optional[bool] = None, + **kwargs + ): + super(SqlConnectionInformation, self).__init__(**kwargs) + self.data_source = data_source + self.authentication = authentication + self.user_name = user_name + self.password = password + self.encrypt_connection = encrypt_connection + self.trust_server_certificate = trust_server_certificate + + +class SqlFileShare(msrest.serialization.Model): + """File share. + + :param path: Location as SMB share or local drive where backups are placed. + :type path: str + :param username: Username to access the file share location for backups. + :type username: str + :param password: Password for username to access file share location. + :type password: str + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + *, + path: Optional[str] = None, + username: Optional[str] = None, + password: Optional[str] = None, + **kwargs + ): + super(SqlFileShare, self).__init__(**kwargs) + self.path = path + self.username = username + self.password = password + + +class SqlMigrationListResult(msrest.serialization.Model): + """A list of SQL Migration Service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: + :vartype value: list[~azure.mgmt.datamigration.models.SqlMigrationService] + :ivar next_link: + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SqlMigrationService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlMigrationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SqlMigrationService(TrackedResource): + """A SQL Migration Service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: + :type location: str + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + :ivar id: + :vartype id: str + :ivar name: + :vartype name: str + :ivar type: + :vartype type: str + :ivar system_data: + :vartype system_data: ~azure.mgmt.datamigration.models.SystemData + :ivar provisioning_state: Provisioning state to track the async operation status. + :vartype provisioning_state: str + :ivar integration_runtime_state: Current state of the Integration runtime. + :vartype integration_runtime_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'integration_runtime_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'integration_runtime_state': {'key': 'properties.integrationRuntimeState', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(SqlMigrationService, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.integration_runtime_state = None + + +class SqlMigrationServiceUpdate(msrest.serialization.Model): + """An update to a SQL Migration Service. + + :param tags: A set of tags. Dictionary of :code:``. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(SqlMigrationServiceUpdate, self).__init__(**kwargs) + self.tags = tags + + +class SsisMigrationInfo(msrest.serialization.Model): + """SSIS migration info with SSIS store type, overwrite policy. + + :param ssis_store_type: The SSIS store type of source, only SSIS catalog is supported now in + DMS. Possible values include: "SsisCatalog". + :type ssis_store_type: str or ~azure.mgmt.datamigration.models.SsisStoreType + :param project_overwrite_option: The overwrite option for the SSIS project migration. Possible + values include: "Ignore", "Overwrite". + :type project_overwrite_option: str or + ~azure.mgmt.datamigration.models.SsisMigrationOverwriteOption + :param environment_overwrite_option: The overwrite option for the SSIS environment migration. + Possible values include: "Ignore", "Overwrite". + :type environment_overwrite_option: str or + ~azure.mgmt.datamigration.models.SsisMigrationOverwriteOption + """ + + _attribute_map = { + 'ssis_store_type': {'key': 'ssisStoreType', 'type': 'str'}, + 'project_overwrite_option': {'key': 'projectOverwriteOption', 'type': 'str'}, + 'environment_overwrite_option': {'key': 'environmentOverwriteOption', 'type': 'str'}, + } + + def __init__( + self, + *, + ssis_store_type: Optional[Union[str, "SsisStoreType"]] = None, + project_overwrite_option: Optional[Union[str, "SsisMigrationOverwriteOption"]] = None, + environment_overwrite_option: Optional[Union[str, "SsisMigrationOverwriteOption"]] = None, + **kwargs + ): + super(SsisMigrationInfo, self).__init__(**kwargs) + self.ssis_store_type = ssis_store_type + self.project_overwrite_option = project_overwrite_option + self.environment_overwrite_option = environment_overwrite_option + + +class StartMigrationScenarioServerRoleResult(msrest.serialization.Model): + """Server role migration result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of server role. + :vartype name: str + :ivar state: Current state of migration. Possible values include: "None", "InProgress", + "Failed", "Warning", "Completed", "Skipped", "Stopped". + :vartype state: str or ~azure.mgmt.datamigration.models.MigrationState + :ivar exceptions_and_warnings: Migration exceptions and warnings. + :vartype exceptions_and_warnings: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'name': {'readonly': True}, + 'state': {'readonly': True}, + 'exceptions_and_warnings': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'exceptions_and_warnings': {'key': 'exceptionsAndWarnings', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(StartMigrationScenarioServerRoleResult, self).__init__(**kwargs) + self.name = None + self.state = None + self.exceptions_and_warnings = None + + +class SyncMigrationDatabaseErrorEvent(msrest.serialization.Model): + """Database migration errors for online migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar timestamp_string: String value of timestamp. + :vartype timestamp_string: str + :ivar event_type_string: Event type. + :vartype event_type_string: str + :ivar event_text: Event text. + :vartype event_text: str + """ + + _validation = { + 'timestamp_string': {'readonly': True}, + 'event_type_string': {'readonly': True}, + 'event_text': {'readonly': True}, + } + + _attribute_map = { + 'timestamp_string': {'key': 'timestampString', 'type': 'str'}, + 'event_type_string': {'key': 'eventTypeString', 'type': 'str'}, + 'event_text': {'key': 'eventText', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SyncMigrationDatabaseErrorEvent, self).__init__(**kwargs) + self.timestamp_string = None + self.event_type_string = None + self.event_text = None + + +class SystemData(msrest.serialization.Model): + """SystemData. + + :param created_by: + :type created_by: str + :param created_by_type: Possible values include: "User", "Application", "ManagedIdentity", + "Key". + :type created_by_type: str or ~azure.mgmt.datamigration.models.CreatedByType + :param created_at: + :type created_at: ~datetime.datetime + :param last_modified_by: + :type last_modified_by: str + :param last_modified_by_type: Possible values include: "User", "Application", + "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~azure.mgmt.datamigration.models.CreatedByType + :param last_modified_at: + :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 TargetLocation(msrest.serialization.Model): + """Target Location details for optional copy of backups. + + :param storage_account_resource_id: Resource Id of the storage account copying backups. + :type storage_account_resource_id: str + :param account_key: Storage Account Key. + :type account_key: str + """ + + _attribute_map = { + 'storage_account_resource_id': {'key': 'storageAccountResourceId', 'type': 'str'}, + 'account_key': {'key': 'accountKey', 'type': 'str'}, + } + + def __init__( + self, + *, + storage_account_resource_id: Optional[str] = None, + account_key: Optional[str] = None, + **kwargs + ): + super(TargetLocation, self).__init__(**kwargs) + self.storage_account_resource_id = storage_account_resource_id + self.account_key = account_key + + +class TaskList(msrest.serialization.Model): + """OData page of tasks. + + :param value: List of tasks. + :type value: list[~azure.mgmt.datamigration.models.ProjectTask] + :param next_link: URL to load the next page of tasks. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProjectTask]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ProjectTask"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(TaskList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class UploadOciDriverTaskInput(msrest.serialization.Model): + """Input for the service task to upload an OCI driver. + + :param driver_share: File share information for the OCI driver archive. + :type driver_share: ~azure.mgmt.datamigration.models.FileShare + """ + + _attribute_map = { + 'driver_share': {'key': 'driverShare', 'type': 'FileShare'}, + } + + def __init__( + self, + *, + driver_share: Optional["FileShare"] = None, + **kwargs + ): + super(UploadOciDriverTaskInput, self).__init__(**kwargs) + self.driver_share = driver_share + + +class UploadOciDriverTaskOutput(msrest.serialization.Model): + """Output for the service task to upload an OCI driver. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar driver_package_name: The name of the driver package that was validated and uploaded. + :vartype driver_package_name: str + :ivar validation_errors: Validation errors. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'driver_package_name': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'driver_package_name': {'key': 'driverPackageName', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(UploadOciDriverTaskOutput, self).__init__(**kwargs) + self.driver_package_name = None + self.validation_errors = None + + +class UploadOciDriverTaskProperties(ProjectTaskProperties): + """Properties for the task that uploads an OCI driver. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Input for the service task to upload an OCI driver. + :type input: ~azure.mgmt.datamigration.models.UploadOciDriverTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: list[~azure.mgmt.datamigration.models.UploadOciDriverTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'UploadOciDriverTaskInput'}, + 'output': {'key': 'output', 'type': '[UploadOciDriverTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["UploadOciDriverTaskInput"] = None, + **kwargs + ): + super(UploadOciDriverTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Service.Upload.OCI' # type: str + self.input = input + self.output = None + + +class ValidateMigrationInputSqlServerSqlDbSyncTaskProperties(ProjectTaskProperties): + """Properties for task that validates migration input for SQL to Azure SQL DB sync migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ValidateSyncMigrationInputSqlServerTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateSyncMigrationInputSqlServerTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ValidateSyncMigrationInputSqlServerTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateSyncMigrationInputSqlServerTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ValidateSyncMigrationInputSqlServerTaskInput"] = None, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlDbSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ValidateMigrationInput.SqlServer.SqlDb.Sync' # type: str + self.input = input + self.output = None + + +class ValidateMigrationInputSqlServerSqlMiSyncTaskInput(SqlServerSqlMiSyncTaskInput): + """Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario. + + All required parameters must be populated in order to send to Azure. + + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param storage_resource_id: Required. Fully qualified resourceId of storage. + :type storage_resource_id: str + :param source_connection_info: Required. Connection information for source SQL Server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Connection information for Azure SQL Database Managed + Instance. + :type target_connection_info: ~azure.mgmt.datamigration.models.MiSqlConnectionInfo + :param azure_app: Required. Azure Active Directory Application the DMS instance will use to + connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage + Account. + :type azure_app: ~azure.mgmt.datamigration.models.AzureActiveDirectoryApp + """ + + _validation = { + 'selected_databases': {'required': True}, + 'storage_resource_id': {'required': True}, + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'azure_app': {'required': True}, + } + + _attribute_map = { + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'storage_resource_id': {'key': 'storageResourceId', 'type': 'str'}, + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'MiSqlConnectionInfo'}, + 'azure_app': {'key': 'azureApp', 'type': 'AzureActiveDirectoryApp'}, + } + + def __init__( + self, + *, + selected_databases: List["MigrateSqlServerSqlMiDatabaseInput"], + storage_resource_id: str, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "MiSqlConnectionInfo", + azure_app: "AzureActiveDirectoryApp", + backup_file_share: Optional["FileShare"] = None, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiSyncTaskInput, self).__init__(selected_databases=selected_databases, backup_file_share=backup_file_share, storage_resource_id=storage_resource_id, source_connection_info=source_connection_info, target_connection_info=target_connection_info, azure_app=azure_app, **kwargs) + + +class ValidateMigrationInputSqlServerSqlMiSyncTaskOutput(msrest.serialization.Model): + """Output for task that validates migration input for Azure SQL Database Managed Instance online migration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Database identifier. + :vartype id: str + :ivar name: Name of database. + :vartype name: str + :ivar validation_errors: Errors associated with a selected database object. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiSyncTaskOutput, self).__init__(**kwargs) + self.id = None + self.name = None + self.validation_errors = None + + +class ValidateMigrationInputSqlServerSqlMiSyncTaskProperties(ProjectTaskProperties): + """Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.SqlServerSqlMiSyncTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlMiSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'SqlServerSqlMiSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateMigrationInputSqlServerSqlMiSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["SqlServerSqlMiSyncTaskInput"] = None, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' # type: str + self.input = input + self.output = None + + +class ValidateMigrationInputSqlServerSqlMiTaskInput(msrest.serialization.Model): + """Input for task that validates migration input for SQL to Azure SQL Managed Instance. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlMiDatabaseInput] + :param selected_logins: Logins to migrate. + :type selected_logins: list[str] + :param backup_file_share: Backup file share information for all selected databases. + :type backup_file_share: ~azure.mgmt.datamigration.models.FileShare + :param backup_blob_share: Required. SAS URI of Azure Storage Account Container to be used for + storing backup files. + :type backup_blob_share: ~azure.mgmt.datamigration.models.BlobShare + :param backup_mode: Backup Mode to specify whether to use existing backup or create new backup. + Possible values include: "CreateBackup", "ExistingBackup". + :type backup_mode: str or ~azure.mgmt.datamigration.models.BackupMode + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + 'backup_blob_share': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlMiDatabaseInput]'}, + 'selected_logins': {'key': 'selectedLogins', 'type': '[str]'}, + 'backup_file_share': {'key': 'backupFileShare', 'type': 'FileShare'}, + 'backup_blob_share': {'key': 'backupBlobShare', 'type': 'BlobShare'}, + 'backup_mode': {'key': 'backupMode', 'type': 'str'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + selected_databases: List["MigrateSqlServerSqlMiDatabaseInput"], + backup_blob_share: "BlobShare", + selected_logins: Optional[List[str]] = None, + backup_file_share: Optional["FileShare"] = None, + backup_mode: Optional[Union[str, "BackupMode"]] = None, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.selected_databases = selected_databases + self.selected_logins = selected_logins + self.backup_file_share = backup_file_share + self.backup_blob_share = backup_blob_share + self.backup_mode = backup_mode + + +class ValidateMigrationInputSqlServerSqlMiTaskOutput(msrest.serialization.Model): + """Output for task that validates migration input for SQL to Azure SQL Managed Instance migrations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Result identifier. + :vartype id: str + :ivar name: Name of database. + :vartype name: str + :ivar restore_database_name_errors: Errors associated with the RestoreDatabaseName. + :vartype restore_database_name_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_folder_errors: Errors associated with the BackupFolder path. + :vartype backup_folder_errors: list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_share_credentials_errors: Errors associated with backup share user name and + password credentials. + :vartype backup_share_credentials_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar backup_storage_account_errors: Errors associated with the storage account provided. + :vartype backup_storage_account_errors: + list[~azure.mgmt.datamigration.models.ReportableException] + :ivar existing_backup_errors: Errors associated with existing backup files. + :vartype existing_backup_errors: list[~azure.mgmt.datamigration.models.ReportableException] + :param database_backup_info: Information about backup files when existing backup mode is used. + :type database_backup_info: ~azure.mgmt.datamigration.models.DatabaseBackupInfo + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'restore_database_name_errors': {'readonly': True}, + 'backup_folder_errors': {'readonly': True}, + 'backup_share_credentials_errors': {'readonly': True}, + 'backup_storage_account_errors': {'readonly': True}, + 'existing_backup_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'restore_database_name_errors': {'key': 'restoreDatabaseNameErrors', 'type': '[ReportableException]'}, + 'backup_folder_errors': {'key': 'backupFolderErrors', 'type': '[ReportableException]'}, + 'backup_share_credentials_errors': {'key': 'backupShareCredentialsErrors', 'type': '[ReportableException]'}, + 'backup_storage_account_errors': {'key': 'backupStorageAccountErrors', 'type': '[ReportableException]'}, + 'existing_backup_errors': {'key': 'existingBackupErrors', 'type': '[ReportableException]'}, + 'database_backup_info': {'key': 'databaseBackupInfo', 'type': 'DatabaseBackupInfo'}, + } + + def __init__( + self, + *, + database_backup_info: Optional["DatabaseBackupInfo"] = None, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiTaskOutput, self).__init__(**kwargs) + self.id = None + self.name = None + self.restore_database_name_errors = None + self.backup_folder_errors = None + self.backup_share_credentials_errors = None + self.backup_storage_account_errors = None + self.existing_backup_errors = None + self.database_backup_info = database_backup_info + + +class ValidateMigrationInputSqlServerSqlMiTaskProperties(ProjectTaskProperties): + """Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Task input. + :type input: ~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlMiTaskInput + :ivar output: Task output. This is ignored if submitted. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateMigrationInputSqlServerSqlMiTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'ValidateMigrationInputSqlServerSqlMiTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateMigrationInputSqlServerSqlMiTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["ValidateMigrationInputSqlServerSqlMiTaskInput"] = None, + **kwargs + ): + super(ValidateMigrationInputSqlServerSqlMiTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'ValidateMigrationInput.SqlServer.AzureSqlDbMI' # type: str + self.input = input + self.output = None + + +class ValidateMongoDbTaskProperties(ProjectTaskProperties): + """Properties for the task that validates a migration between MongoDB data sources. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Describes how a MongoDB data migration should be performed. + :type input: ~azure.mgmt.datamigration.models.MongoDbMigrationSettings + :ivar output: An array containing a single MongoDbMigrationProgress object. + :vartype output: list[~azure.mgmt.datamigration.models.MongoDbMigrationProgress] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MongoDbMigrationSettings'}, + 'output': {'key': 'output', 'type': '[MongoDbMigrationProgress]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MongoDbMigrationSettings"] = None, + **kwargs + ): + super(ValidateMongoDbTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Validate.MongoDb' # type: str + self.input = input + self.output = None + + +class ValidateOracleAzureDbForPostgreSqlSyncTaskProperties(ProjectTaskProperties): + """Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations. + + 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 task_type: Required. Task type.Constant filled by server. Possible values include: + "Connect.MongoDb", "ConnectToSource.SqlServer", "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", "ConnectToSource.MySql", "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", "GetUserTables.AzureSqlDb.Sync", "GetUserTablesOracle", + "GetUserTablesPostgreSql", "GetUserTablesMySql", "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", "GetTDECertificates.Sql", "Migrate.Ssis", + "Service.Check.OCI", "Service.Upload.OCI", "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb". + :type task_type: str or ~azure.mgmt.datamigration.models.TaskType + :ivar errors: Array of errors. This is ignored if submitted. + :vartype errors: list[~azure.mgmt.datamigration.models.ODataError] + :ivar state: The state of the task. This is ignored if submitted. Possible values include: + "Unknown", "Queued", "Running", "Canceled", "Succeeded", "Failed", "FailedInputValidation", + "Faulted". + :vartype state: str or ~azure.mgmt.datamigration.models.TaskState + :ivar commands: Array of command properties. + :vartype commands: list[~azure.mgmt.datamigration.models.CommandProperties] + :param client_data: Key value pairs of client data to attach meta data information to task. + :type client_data: dict[str, str] + :param input: Input for the task that migrates Oracle databases to Azure Database for + PostgreSQL for online migrations. + :type input: ~azure.mgmt.datamigration.models.MigrateOracleAzureDbPostgreSqlSyncTaskInput + :ivar output: An array containing a single validation error response object. + :vartype output: + list[~azure.mgmt.datamigration.models.ValidateOracleAzureDbPostgreSqlSyncTaskOutput] + """ + + _validation = { + 'task_type': {'required': True}, + 'errors': {'readonly': True}, + 'state': {'readonly': True}, + 'commands': {'readonly': True}, + 'output': {'readonly': True}, + } + + _attribute_map = { + 'task_type': {'key': 'taskType', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ODataError]'}, + 'state': {'key': 'state', 'type': 'str'}, + 'commands': {'key': 'commands', 'type': '[CommandProperties]'}, + 'client_data': {'key': 'clientData', 'type': '{str}'}, + 'input': {'key': 'input', 'type': 'MigrateOracleAzureDbPostgreSqlSyncTaskInput'}, + 'output': {'key': 'output', 'type': '[ValidateOracleAzureDbPostgreSqlSyncTaskOutput]'}, + } + + def __init__( + self, + *, + client_data: Optional[Dict[str, str]] = None, + input: Optional["MigrateOracleAzureDbPostgreSqlSyncTaskInput"] = None, + **kwargs + ): + super(ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, self).__init__(client_data=client_data, **kwargs) + self.task_type = 'Validate.Oracle.AzureDbPostgreSql.Sync' # type: str + self.input = input + self.output = None + + +class ValidateOracleAzureDbPostgreSqlSyncTaskOutput(msrest.serialization.Model): + """Output for task that validates migration input for Oracle to Azure Database for PostgreSQL for online migrations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar validation_errors: Errors associated with a selected database object. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateOracleAzureDbPostgreSqlSyncTaskOutput, self).__init__(**kwargs) + self.validation_errors = None + + +class ValidateSyncMigrationInputSqlServerTaskInput(msrest.serialization.Model): + """Input for task that validates migration input for SQL sync migrations. + + All required parameters must be populated in order to send to Azure. + + :param source_connection_info: Required. Information for connecting to source SQL server. + :type source_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param target_connection_info: Required. Information for connecting to target. + :type target_connection_info: ~azure.mgmt.datamigration.models.SqlConnectionInfo + :param selected_databases: Required. Databases to migrate. + :type selected_databases: + list[~azure.mgmt.datamigration.models.MigrateSqlServerSqlDbSyncDatabaseInput] + """ + + _validation = { + 'source_connection_info': {'required': True}, + 'target_connection_info': {'required': True}, + 'selected_databases': {'required': True}, + } + + _attribute_map = { + 'source_connection_info': {'key': 'sourceConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'target_connection_info': {'key': 'targetConnectionInfo', 'type': 'SqlConnectionInfo'}, + 'selected_databases': {'key': 'selectedDatabases', 'type': '[MigrateSqlServerSqlDbSyncDatabaseInput]'}, + } + + def __init__( + self, + *, + source_connection_info: "SqlConnectionInfo", + target_connection_info: "SqlConnectionInfo", + selected_databases: List["MigrateSqlServerSqlDbSyncDatabaseInput"], + **kwargs + ): + super(ValidateSyncMigrationInputSqlServerTaskInput, self).__init__(**kwargs) + self.source_connection_info = source_connection_info + self.target_connection_info = target_connection_info + self.selected_databases = selected_databases + + +class ValidateSyncMigrationInputSqlServerTaskOutput(msrest.serialization.Model): + """Output for task that validates migration input for SQL sync migrations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Database identifier. + :vartype id: str + :ivar name: Name of database. + :vartype name: str + :ivar validation_errors: Errors associated with a selected database object. + :vartype validation_errors: list[~azure.mgmt.datamigration.models.ReportableException] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'validation_errors': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'validation_errors': {'key': 'validationErrors', 'type': '[ReportableException]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidateSyncMigrationInputSqlServerTaskOutput, self).__init__(**kwargs) + self.id = None + self.name = None + self.validation_errors = None + + +class ValidationError(msrest.serialization.Model): + """Description about the errors happen while performing migration validation. + + :param text: Error Text. + :type text: str + :param severity: Severity of the error. Possible values include: "Message", "Warning", "Error". + :type severity: str or ~azure.mgmt.datamigration.models.Severity + """ + + _attribute_map = { + 'text': {'key': 'text', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + } + + def __init__( + self, + *, + text: Optional[str] = None, + severity: Optional[Union[str, "Severity"]] = None, + **kwargs + ): + super(ValidationError, self).__init__(**kwargs) + self.text = text + self.severity = severity + + +class WaitStatistics(msrest.serialization.Model): + """Wait statistics gathered during query batch execution. + + :param wait_type: Type of the Wait. + :type wait_type: str + :param wait_time_ms: Total wait time in millisecond(s). + :type wait_time_ms: float + :param wait_count: Total no. of waits. + :type wait_count: long + """ + + _attribute_map = { + 'wait_type': {'key': 'waitType', 'type': 'str'}, + 'wait_time_ms': {'key': 'waitTimeMs', 'type': 'float'}, + 'wait_count': {'key': 'waitCount', 'type': 'long'}, + } + + def __init__( + self, + *, + wait_type: Optional[str] = None, + wait_time_ms: Optional[float] = 0, + wait_count: Optional[int] = None, + **kwargs + ): + super(WaitStatistics, self).__init__(**kwargs) + self.wait_type = wait_type + self.wait_time_ms = wait_time_ms + self.wait_count = wait_count diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/__init__.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/__init__.py new file mode 100644 index 00000000000..6e3db8789ac --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/__init__.py @@ -0,0 +1,33 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._database_migrations_sql_mi_operations import DatabaseMigrationsSqlMiOperations +from ._database_migrations_sql_vm_operations import DatabaseMigrationsSqlVmOperations +from ._operations import Operations +from ._sql_migration_services_operations import SqlMigrationServicesOperations +from ._resource_skus_operations import ResourceSkusOperations +from ._services_operations import ServicesOperations +from ._tasks_operations import TasksOperations +from ._service_tasks_operations import ServiceTasksOperations +from ._projects_operations import ProjectsOperations +from ._usages_operations import UsagesOperations +from ._files_operations import FilesOperations + +__all__ = [ + 'DatabaseMigrationsSqlMiOperations', + 'DatabaseMigrationsSqlVmOperations', + 'Operations', + 'SqlMigrationServicesOperations', + 'ResourceSkusOperations', + 'ServicesOperations', + 'TasksOperations', + 'ServiceTasksOperations', + 'ProjectsOperations', + 'UsagesOperations', + 'FilesOperations', +] diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_database_migrations_sql_mi_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_database_migrations_sql_mi_operations.py new file mode 100644 index 00000000000..442a15827c7 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_database_migrations_sql_mi_operations.py @@ -0,0 +1,513 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.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, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DatabaseMigrationsSqlMiOperations(object): + """DatabaseMigrationsSqlMiOperations 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.datamigration.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 + managed_instance_name, # type: str + target_db_name, # type: str + migration_operation_id=None, # type: Optional[str] + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DatabaseMigrationSqlMi" + """Retrieve the Database Migration resource. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: + :type managed_instance_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param migration_operation_id: Optional migration operation ID. If this is provided, then + details of migration operation for that ID are retrieved. If not provided (default), then + details related to most recent or current operation are retrieved. + :type migration_operation_id: str + :param expand: The child resources to include in the response. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseMigrationSqlMi, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DatabaseMigrationSqlMi + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlMi"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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] + if migration_operation_id is not None: + query_parameters['migrationOperationId'] = self._serialize.query("migration_operation_id", migration_operation_id, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + 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('DatabaseMigrationSqlMi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + managed_instance_name, # type: str + target_db_name, # type: str + parameters, # type: "models.DatabaseMigrationSqlMi" + **kwargs # type: Any + ): + # type: (...) -> "models.DatabaseMigrationSqlMi" + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlMi"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # 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(parameters, 'DatabaseMigrationSqlMi') + 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('DatabaseMigrationSqlMi', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DatabaseMigrationSqlMi', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + managed_instance_name, # type: str + target_db_name, # type: str + parameters, # type: "models.DatabaseMigrationSqlMi" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.DatabaseMigrationSqlMi"] + """Create a new database migration to a given SQL Managed Instance. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: + :type managed_instance_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.DatabaseMigrationSqlMi + :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 DatabaseMigrationSqlMi or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datamigration.models.DatabaseMigrationSqlMi] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlMi"] + 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, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=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('DatabaseMigrationSqlMi', 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'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + def _cancel_initial( + self, + resource_group_name, # type: str + managed_instance_name, # type: str + target_db_name, # type: str + parameters, # type: "models.MigrationOperationInput" + **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-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cancel_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MigrationOperationInput') + 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _cancel_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel'} # type: ignore + + def begin_cancel( + self, + resource_group_name, # type: str + managed_instance_name, # type: str + target_db_name, # type: str + parameters, # type: "models.MigrationOperationInput" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Stop migrations in progress for the database. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: + :type managed_instance_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: Required migration operation ID for which cancel will be initiated. + :type parameters: ~azure.mgmt.datamigration.models.MigrationOperationInput + :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._cancel_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=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): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel'} # type: ignore + + def _cutover_initial( + self, + resource_group_name, # type: str + managed_instance_name, # type: str + target_db_name, # type: str + parameters, # type: "models.MigrationOperationInput" + **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-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cutover_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MigrationOperationInput') + 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _cutover_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover'} # type: ignore + + def begin_cutover( + self, + resource_group_name, # type: str + managed_instance_name, # type: str + target_db_name, # type: str + parameters, # type: "models.MigrationOperationInput" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Initiate cutover for online migration in progress for the database. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param managed_instance_name: + :type managed_instance_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: Required migration operation ID for which cutover will be initiated. + :type parameters: ~azure.mgmt.datamigration.models.MigrationOperationInput + :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._cutover_initial( + resource_group_name=resource_group_name, + managed_instance_name=managed_instance_name, + target_db_name=target_db_name, + parameters=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): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'managedInstanceName': self._serialize.url("managed_instance_name", managed_instance_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_cutover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_database_migrations_sql_vm_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_database_migrations_sql_vm_operations.py new file mode 100644 index 00000000000..3faec7da35c --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_database_migrations_sql_vm_operations.py @@ -0,0 +1,513 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.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, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DatabaseMigrationsSqlVmOperations(object): + """DatabaseMigrationsSqlVmOperations 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.datamigration.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 + sql_virtual_machine_name, # type: str + target_db_name, # type: str + migration_operation_id=None, # type: Optional[str] + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DatabaseMigrationSqlVm" + """Retrieve the Database Migration resource. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_virtual_machine_name: + :type sql_virtual_machine_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param migration_operation_id: Optional migration operation ID. If this is provided, then + details of migration operation for that ID are retrieved. If not provided (default), then + details related to most recent or current operation are retrieved. + :type migration_operation_id: str + :param expand: The child resources to include in the response. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatabaseMigrationSqlVm, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DatabaseMigrationSqlVm + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlVm"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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] + if migration_operation_id is not None: + query_parameters['migrationOperationId'] = self._serialize.query("migration_operation_id", migration_operation_id, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + 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('DatabaseMigrationSqlVm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + sql_virtual_machine_name, # type: str + target_db_name, # type: str + parameters, # type: "models.DatabaseMigrationSqlVm" + **kwargs # type: Any + ): + # type: (...) -> "models.DatabaseMigrationSqlVm" + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlVm"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # 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(parameters, 'DatabaseMigrationSqlVm') + 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('DatabaseMigrationSqlVm', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DatabaseMigrationSqlVm', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + sql_virtual_machine_name, # type: str + target_db_name, # type: str + parameters, # type: "models.DatabaseMigrationSqlVm" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.DatabaseMigrationSqlVm"] + """Create a new database migration to a given SQL VM. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_virtual_machine_name: + :type sql_virtual_machine_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.DatabaseMigrationSqlVm + :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 DatabaseMigrationSqlVm or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datamigration.models.DatabaseMigrationSqlVm] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationSqlVm"] + 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, + sql_virtual_machine_name=sql_virtual_machine_name, + target_db_name=target_db_name, + parameters=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('DatabaseMigrationSqlVm', 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'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}'} # type: ignore + + def _cancel_initial( + self, + resource_group_name, # type: str + sql_virtual_machine_name, # type: str + target_db_name, # type: str + parameters, # type: "models.MigrationOperationInput" + **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-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cancel_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MigrationOperationInput') + 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _cancel_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel'} # type: ignore + + def begin_cancel( + self, + resource_group_name, # type: str + sql_virtual_machine_name, # type: str + target_db_name, # type: str + parameters, # type: "models.MigrationOperationInput" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Stop ongoing migration for the database. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_virtual_machine_name: + :type sql_virtual_machine_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: + :type parameters: ~azure.mgmt.datamigration.models.MigrationOperationInput + :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._cancel_initial( + resource_group_name=resource_group_name, + sql_virtual_machine_name=sql_virtual_machine_name, + target_db_name=target_db_name, + parameters=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): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel'} # type: ignore + + def _cutover_initial( + self, + resource_group_name, # type: str + sql_virtual_machine_name, # type: str + target_db_name, # type: str + parameters, # type: "models.MigrationOperationInput" + **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-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._cutover_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'MigrationOperationInput') + 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _cutover_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover'} # type: ignore + + def begin_cutover( + self, + resource_group_name, # type: str + sql_virtual_machine_name, # type: str + target_db_name, # type: str + parameters, # type: "models.MigrationOperationInput" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Cutover online migration operation for the database. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_virtual_machine_name: + :type sql_virtual_machine_name: str + :param target_db_name: The name of the target database. + :type target_db_name: str + :param parameters: + :type parameters: ~azure.mgmt.datamigration.models.MigrationOperationInput + :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._cutover_initial( + resource_group_name=resource_group_name, + sql_virtual_machine_name=sql_virtual_machine_name, + target_db_name=target_db_name, + parameters=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): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlVirtualMachineName': self._serialize.url("sql_virtual_machine_name", sql_virtual_machine_name, 'str'), + 'targetDbName': self._serialize.url("target_db_name", target_db_name, 'str'), + '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_cutover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_files_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_files_operations.py new file mode 100644 index 00000000000..98c58323bd4 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_files_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 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, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class FilesOperations(object): + """FilesOperations 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.datamigration.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, + group_name, # type: str + service_name, # type: str + project_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.FileList"] + """Get files in a project. + + The project resource is a nested resource representing a stored migration project. This method + returns a list of files owned by a project resource. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FileList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.FileList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FileList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # 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('FileList', 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.ApiError, 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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files'} # type: ignore + + def get( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + file_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectFile" + """Get file information. + + The files resource is a nested, proxy-only resource representing a file stored under the + project resource. This method retrieves information about a file. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectFile, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectFile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectFile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectFile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}'} # type: ignore + + def create_or_update( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + file_name, # type: str + parameters, # type: "models.ProjectFile" + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectFile" + """Create a file resource. + + The PUT method creates a new file or updates an existing one. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :param parameters: Information about the file. + :type parameters: ~azure.mgmt.datamigration.models.ProjectFile + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectFile, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectFile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectFile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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(parameters, 'ProjectFile') + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ProjectFile', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ProjectFile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}'} # type: ignore + + def delete( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + file_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Delete file. + + This method deletes a file. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_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 = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}'} # type: ignore + + def update( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + file_name, # type: str + parameters, # type: "models.ProjectFile" + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectFile" + """Update a file. + + This method updates an existing file. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :param parameters: Information about the file. + :type parameters: ~azure.mgmt.datamigration.models.ProjectFile + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectFile, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectFile + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectFile"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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(parameters, 'ProjectFile') + 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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectFile', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}'} # type: ignore + + def read( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + file_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.FileStorageInfo" + """Request storage information for downloading the file content. + + This method is used for requesting storage information using which contents of the file can be + downloaded. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileStorageInfo, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.FileStorageInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FileStorageInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.read.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileStorageInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + read.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/read'} # type: ignore + + def read_write( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + file_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.FileStorageInfo" + """Request information for reading and writing file content. + + This method is used for requesting information for reading and writing the file content. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param file_name: Name of the File. + :type file_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileStorageInfo, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.FileStorageInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FileStorageInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.read_write.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'fileName': self._serialize.url("file_name", file_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileStorageInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + read_write.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/readwrite'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_operations.py similarity index 86% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_operations.py rename to src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_operations.py index 01b0b2fe613..155c79215e6 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_operations.py +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_operations.py @@ -14,7 +14,7 @@ from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from .. import models as _models +from .. import models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports @@ -30,14 +30,14 @@ class Operations(object): 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.datamigration.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 + models = models def __init__(self, client, config, serializer, deserializer): self._client = client @@ -49,20 +49,20 @@ def list( self, **kwargs # type: Any ): - # type: (...) -> Iterable["_models.OperationListResult"] - """Lists all of the available Storage Rest API operations. + # type: (...) -> Iterable["models.OperationListResult"] + """Lists all of the available SQL Migration REST API operations. :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.OperationListResult] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.OperationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" accept = "application/json" def prepare_request(next_link=None): @@ -89,7 +89,7 @@ def extract_data(pipeline_response): list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) @@ -106,4 +106,4 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list.metadata = {'url': '/providers/Microsoft.Storage/operations'} # type: ignore + list.metadata = {'url': '/providers/Microsoft.DataMigration/operations'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_table_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_projects_operations.py similarity index 51% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_table_operations.py rename to src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_projects_operations.py index 65e0966b2a4..eb7d883bfd4 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_table_operations.py +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_projects_operations.py @@ -14,30 +14,30 @@ from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from .. import models as _models +from .. import models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + 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 TableOperations(object): - """TableOperations operations. +class ProjectsOperations(object): + """ProjectsOperations 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.datamigration.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 + models = models def __init__(self, client, config, serializer, deserializer): self._client = client @@ -45,115 +45,128 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def create( + def list( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str + group_name, # type: str + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.Table" - """Creates a new table with the specified table name, under the specified account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param table_name: A table name must be unique within a storage account and must be between 3 - and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin - with a numeric character. - :type table_name: str + # type: (...) -> Iterable["models.ProjectList"] + """Get projects in a service. + + The project resource is a nested resource representing a stored migration project. This method + returns a list of projects owned by a service resource. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Table, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.Table + :return: An iterator like instance of either ProjectList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.ProjectList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectList"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" accept = "application/json" - # Construct URL - url = self.create.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableName': self._serialize.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), - } - url = self._client.format_url(url, **path_format_arguments) + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, '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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # 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) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return 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 + def extract_data(pipeline_response): + deserialized = self._deserialize('ProjectList', 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) - 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) + def get_next(next_link=None): + request = prepare_request(next_link) - deserialized = self._deserialize('Table', pipeline_response) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response - if cls: - return cls(pipeline_response, deserialized, {}) + if response.status_code not in [200]: + error = self._deserialize(models.ApiError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + return pipeline_response - def update( + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects'} # type: ignore + + def create_or_update( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str + group_name, # type: str + service_name, # type: str + project_name, # type: str + parameters, # type: "models.Project" **kwargs # type: Any ): - # type: (...) -> "_models.Table" - """Creates a new table with the specified table name, under the specified account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param table_name: A table name must be unique within a storage account and must be between 3 - and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin - with a numeric character. - :type table_name: str + # type: (...) -> "models.Project" + """Create or update project. + + The project resource is a nested resource representing a stored migration project. The PUT + method creates a new project or updates an existing one. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param parameters: Information about the project. + :type parameters: ~azure.mgmt.datamigration.models.Project :keyword callable cls: A custom type or function that will be passed the direct response - :return: Table, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.Table + :return: Project, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.Project :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] + cls = kwargs.pop('cls', None) # type: ClsType["models.Project"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.update.metadata['url'] # type: ignore + url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableName': self._serialize.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -163,65 +176,72 @@ 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'] = self._serialize.header("accept", accept, 'str') - request = self._client.patch(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'Project') + 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]: + 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Project', pipeline_response) - deserialized = self._deserialize('Table', pipeline_response) + if response.status_code == 201: + deserialized = self._deserialize('Project', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} # type: ignore def get( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str + group_name, # type: str + service_name, # type: str + project_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.Table" - """Gets the table with the specified table name, under the specified account if it exists. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param table_name: A table name must be unique within a storage account and must be between 3 - and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin - with a numeric character. - :type table_name: str + # type: (...) -> "models.Project" + """Get project information. + + The project resource is a nested resource representing a stored migration project. The GET + method retrieves information about a project. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Table, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.Table + :return: Project, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.Project :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] + cls = kwargs.pop('cls', None) # type: ClsType["models.Project"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableName': self._serialize.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -239,37 +259,39 @@ 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('Table', pipeline_response) + deserialized = self._deserialize('Project', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} # type: ignore def delete( self, - resource_group_name, # type: str - account_name, # type: str - table_name, # type: str + group_name, # type: str + service_name, # type: str + project_name, # type: str + delete_running_tasks=None, # type: Optional[bool] **kwargs # type: Any ): # type: (...) -> None - """Deletes the table with the specified table name, under the specified account if it exists. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param table_name: A table name must be unique within a storage account and must be between 3 - and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin - with a numeric character. - :type table_name: str + """Delete project. + + The project resource is a nested resource representing a stored migration project. The DELETE + method deletes a project. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param delete_running_tasks: Delete the resource even if it contains running tasks. + :type delete_running_tasks: bool :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 @@ -280,22 +302,24 @@ def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableName': self._serialize.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # type: Dict[str, Any] query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, 'bool') # Construct headers header_parameters = {} # type: Dict[str, Any] @@ -305,89 +329,87 @@ def delete( pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [204]: + 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.ApiError, 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.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} # type: ignore - def list( + def update( self, - resource_group_name, # type: str - account_name, # type: str + group_name, # type: str + service_name, # type: str + project_name, # type: str + parameters, # type: "models.Project" **kwargs # type: Any ): - # type: (...) -> Iterable["_models.ListTableResource"] - """Gets a list of all the tables under the specified storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str + # type: (...) -> "models.Project" + """Update project. + + The project resource is a nested resource representing a stored migration project. The PATCH + method updates an existing project. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param parameters: Information about the project. + :type parameters: ~azure.mgmt.datamigration.models.Project :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ListTableResource or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ListTableResource] + :return: Project, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.Project :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListTableResource"] + cls = kwargs.pop('cls', None) # type: ClsType["models.Project"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") 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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + # 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) - 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 + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - def extract_data(pipeline_response): - deserialized = self._deserialize('ListTableResource', 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) + # 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') - def get_next(next_link=None): - request = prepare_request(next_link) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'Project') + 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 - 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - 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('Project', pipeline_response) - return pipeline_response + if cls: + return cls(pipeline_response, deserialized, {}) - return ItemPaged( - get_next, extract_data - ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables'} # type: ignore + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_resource_skus_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_resource_skus_operations.py new file mode 100644 index 00000000000..427b275241a --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_resource_skus_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.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 ResourceSkusOperations(object): + """ResourceSkusOperations 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.datamigration.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_skus( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ResourceSkusResult"] + """Get supported SKUs. + + The skus action returns the list of SKUs that DMS supports. + + :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.datamigration.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 = "2021-10-30-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_skus.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]: + error = self._deserialize(models.ApiError, 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_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_service_tasks_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_service_tasks_operations.py new file mode 100644 index 00000000000..3844742d6cd --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_service_tasks_operations.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. +# 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, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ServiceTasksOperations(object): + """ServiceTasksOperations 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.datamigration.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, + group_name, # type: str + service_name, # type: str + task_type=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.TaskList"] + """Get service level tasks for a service. + + The services resource is the top-level resource that represents the Database Migration Service. + This method returns a list of service level tasks owned by a service resource. Some tasks may + have a status of Unknown, which indicates that an error occurred while querying the status of + that task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_type: Filter tasks by task type. + :type task_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TaskList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.TaskList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TaskList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if task_type is not None: + query_parameters['taskType'] = self._serialize.query("task_type", task_type, '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('TaskList', 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.ApiError, 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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks'} # type: ignore + + def create_or_update( + self, + group_name, # type: str + service_name, # type: str + task_name, # type: str + parameters, # type: "models.ProjectTask" + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectTask" + """Create or update service task. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. The PUT method creates a new service task or updates an existing one, although + since service tasks have no mutable custom properties, there is little reason to update an + existing one. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Information about the task. + :type parameters: ~azure.mgmt.datamigration.models.ProjectTask + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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(parameters, 'ProjectTask') + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}'} # type: ignore + + def get( + self, + group_name, # type: str + service_name, # type: str + task_name, # type: str + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectTask" + """Get service task information. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. The GET method retrieves information about a service task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :param expand: Expand the response. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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') + + # 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}'} # type: ignore + + def delete( + self, + group_name, # type: str + service_name, # type: str + task_name, # type: str + delete_running_tasks=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + """Delete service task. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. The DELETE method deletes a service task, canceling it first if it's running. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :param delete_running_tasks: Delete the resource even if it contains running tasks. + :type delete_running_tasks: bool + :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-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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 delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, '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, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}'} # type: ignore + + def update( + self, + group_name, # type: str + service_name, # type: str + task_name, # type: str + parameters, # type: "models.ProjectTask" + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectTask" + """Create or update service task. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. The PATCH method updates an existing service task, but since service tasks have + no mutable custom properties, there is little reason to do so. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Information about the task. + :type parameters: ~azure.mgmt.datamigration.models.ProjectTask + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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(parameters, 'ProjectTask') + 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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}'} # type: ignore + + def cancel( + self, + group_name, # type: str + service_name, # type: str + task_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectTask" + """Cancel a service task. + + The service tasks resource is a nested, proxy-only resource representing work performed by a + DMS instance. This method cancels a service task if it's currently queued or running. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param task_name: Name of the Task. + :type task_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'taskName': self._serialize.url("task_name", task_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}/cancel'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_services_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_services_operations.py new file mode 100644 index 00000000000..387c2434a44 --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_services_operations.py @@ -0,0 +1,1161 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ServicesOperations(object): + """ServicesOperations 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.datamigration.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, + group_name, # type: str + service_name, # type: str + parameters, # type: "models.DataMigrationService" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.DataMigrationService"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DataMigrationService"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'DataMigrationService') + 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, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataMigrationService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DataMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + def begin_create_or_update( + self, + group_name, # type: str + service_name, # type: str + parameters, # type: "models.DataMigrationService" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.DataMigrationService"] + """Create or update DMS Instance. + + The services resource is the top-level resource that represents the Database Migration Service. + The PUT method creates a new service or updates an existing one. When a service is updated, + existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, + "vm", which refers to a VM-based service, although other kinds may be added in the future. This + method can change the kind, SKU, and network of the service, but if tasks are currently running + (i.e. the service is busy), this will fail with 400 Bad Request ("ServiceIsBusy"). The provider + will reply when successful with 200 OK or 201 Created. Long-running operations use the + provisioningState property. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param parameters: Information about the service. + :type parameters: ~azure.mgmt.datamigration.models.DataMigrationService + :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 DataMigrationService or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datamigration.models.DataMigrationService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationService"] + 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( + group_name=group_name, + service_name=service_name, + parameters=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('DataMigrationService', 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + def get( + self, + group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DataMigrationService" + """Get DMS Service Instance. + + The services resource is the top-level resource that represents the Database Migration Service. + The GET method retrieves information about a service instance. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataMigrationService, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DataMigrationService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + def _delete_initial( + self, + group_name, # type: str + service_name, # type: str + delete_running_tasks=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 = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, '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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + def begin_delete( + self, + group_name, # type: str + service_name, # type: str + delete_running_tasks=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete DMS Service Instance. + + The services resource is the top-level resource that represents the Database Migration Service. + The DELETE method deletes a service. Any running tasks will be canceled. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param delete_running_tasks: Delete the resource even if it contains running tasks. + :type delete_running_tasks: bool + :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( + group_name=group_name, + service_name=service_name, + delete_running_tasks=delete_running_tasks, + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + def _update_initial( + self, + group_name, # type: str + service_name, # type: str + parameters, # type: "models.DataMigrationService" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.DataMigrationService"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DataMigrationService"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'DataMigrationService') + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + def begin_update( + self, + group_name, # type: str + service_name, # type: str + parameters, # type: "models.DataMigrationService" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.DataMigrationService"] + """Create or update DMS Service Instance. + + The services resource is the top-level resource that represents the Database Migration Service. + The PATCH method updates an existing service. This method can change the kind, SKU, and network + of the service, but if tasks are currently running (i.e. the service is busy), this will fail + with 400 Bad Request ("ServiceIsBusy"). + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param parameters: Information about the service. + :type parameters: ~azure.mgmt.datamigration.models.DataMigrationService + :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 DataMigrationService or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datamigration.models.DataMigrationService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationService"] + 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( + group_name=group_name, + service_name=service_name, + parameters=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('DataMigrationService', 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}'} # type: ignore + + def check_status( + self, + group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DataMigrationServiceStatusResponse" + """Check service health status. + + The services resource is the top-level resource that represents the Database Migration Service. + This action performs a health check and returns the status of the service and virtual machine + size. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataMigrationServiceStatusResponse, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DataMigrationServiceStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationServiceStatusResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.check_status.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataMigrationServiceStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus'} # type: ignore + + def _start_initial( + self, + group_name, # type: str + service_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-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start'} # type: ignore + + def begin_start( + self, + group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Start service. + + The services resource is the top-level resource that represents the Database Migration Service. + This action starts the service and the service can be used for data migration. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :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( + group_name=group_name, + service_name=service_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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start'} # type: ignore + + def _stop_initial( + self, + group_name, # type: str + service_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-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop'} # type: ignore + + def begin_stop( + self, + group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Stop service. + + The services resource is the top-level resource that represents the Database Migration Service. + This action stops the service and the service cannot be used for data migration. The service + owner won't be billed when the service is stopped. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :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( + group_name=group_name, + service_name=service_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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop'} # type: ignore + + def list_skus( + self, + group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ServiceSkuList"] + """Get compatible SKUs. + + The services resource is the top-level resource that represents the Database Migration Service. + The skus action returns the list of SKUs that a service resource can be updated to. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ServiceSkuList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.ServiceSkuList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ServiceSkuList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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_skus.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # 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('ServiceSkuList', 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.ApiError, 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_skus.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus'} # type: ignore + + def check_children_name_availability( + self, + group_name, # type: str + service_name, # type: str + parameters, # type: "models.NameAvailabilityRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.NameAvailabilityResponse" + """Check nested resource name validity and availability. + + This method checks whether a proposed nested resource name is valid and available. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param parameters: Requested name to validate. + :type parameters: ~azure.mgmt.datamigration.models.NameAvailabilityRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NameAvailabilityResponse, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.NameAvailabilityResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.NameAvailabilityResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.check_children_name_availability.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'NameAvailabilityRequest') + 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NameAvailabilityResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_children_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability'} # type: ignore + + def list_by_resource_group( + self, + group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.DataMigrationServiceList"] + """Get services in resource group. + + The Services resource is the top-level resource that represents the Database Migration Service. + This method returns a list of service resources in a resource group. + + :param group_name: Name of the resource group. + :type group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DataMigrationServiceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.DataMigrationServiceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationServiceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", 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('DataMigrationServiceList', 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.ApiError, 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/{groupName}/providers/Microsoft.DataMigration/services'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.DataMigrationServiceList"] + """Get services in subscription. + + The services resource is the top-level resource that represents the Database Migration Service. + This method returns a list of service resources 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 DataMigrationServiceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.DataMigrationServiceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataMigrationServiceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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('DataMigrationServiceList', 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.ApiError, 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.DataMigration/services'} # type: ignore + + def check_name_availability( + self, + location, # type: str + parameters, # type: "models.NameAvailabilityRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.NameAvailabilityResponse" + """Check name validity and availability. + + This method checks whether a proposed top-level resource name is valid and available. + + :param location: The Azure region of the operation. + :type location: str + :param parameters: Requested name to validate. + :type parameters: ~azure.mgmt.datamigration.models.NameAvailabilityRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NameAvailabilityResponse, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.NameAvailabilityResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.NameAvailabilityResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.check_name_availability.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(parameters, 'NameAvailabilityRequest') + 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('NameAvailabilityResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_sql_migration_services_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_sql_migration_services_operations.py new file mode 100644 index 00000000000..bb80692b83a --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_sql_migration_services_operations.py @@ -0,0 +1,950 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 SqlMigrationServicesOperations(object): + """SqlMigrationServicesOperations 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.datamigration.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 + sql_migration_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SqlMigrationService" + """Retrieve the Migration Service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SqlMigrationService, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.SqlMigrationService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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('SqlMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + parameters, # type: "models.SqlMigrationService" + **kwargs # type: Any + ): + # type: (...) -> "models.SqlMigrationService" + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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(parameters, 'SqlMigrationService') + 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('SqlMigrationService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SqlMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + parameters, # type: "models.SqlMigrationService" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.SqlMigrationService"] + """Create or Update Database Migration Service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.SqlMigrationService + :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 SqlMigrationService or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datamigration.models.SqlMigrationService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + 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, + sql_migration_service_name=sql_migration_service_name, + parameters=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('SqlMigrationService', 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'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_name, 'str'), + '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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + sql_migration_service_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-10-30-preview" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete SQL Migration Service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_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, + sql_migration_service_name=sql_migration_service_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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_name, 'str'), + '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.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + parameters, # type: "models.SqlMigrationServiceUpdate" + **kwargs # type: Any + ): + # type: (...) -> "models.SqlMigrationService" + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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(parameters, 'SqlMigrationServiceUpdate') + 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SqlMigrationService', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SqlMigrationService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + parameters, # type: "models.SqlMigrationServiceUpdate" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.SqlMigrationService"] + """Update SQL Migration Service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.SqlMigrationServiceUpdate + :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 SqlMigrationService or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datamigration.models.SqlMigrationService] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationService"] + 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, + sql_migration_service_name=sql_migration_service_name, + parameters=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('SqlMigrationService', 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'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_name, 'str'), + '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_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.SqlMigrationListResult"] + """Retrieve all SQL migration services in the resource group. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlMigrationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.SqlMigrationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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 = { + '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('SqlMigrationListResult', 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.DataMigration/sqlMigrationServices'} # type: ignore + + def list_auth_keys( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AuthenticationKeys" + """Retrieve the List of Authentication Keys for Self Hosted Integration Runtime. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AuthenticationKeys, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.AuthenticationKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AuthenticationKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.list_auth_keys.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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('AuthenticationKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_auth_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listAuthKeys'} # type: ignore + + def regenerate_auth_keys( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + parameters, # type: "models.RegenAuthKeys" + **kwargs # type: Any + ): + # type: (...) -> "models.RegenAuthKeys" + """Regenerate a new set of Authentication Keys for Self Hosted Integration Runtime. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.RegenAuthKeys + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RegenAuthKeys, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.RegenAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.RegenAuthKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.regenerate_auth_keys.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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(parameters, 'RegenAuthKeys') + 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('RegenAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_auth_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/regenerateAuthKeys'} # type: ignore + + def delete_node( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + parameters, # type: "models.DeleteNode" + **kwargs # type: Any + ): + # type: (...) -> "models.DeleteNode" + """Delete the integration runtime node. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :param parameters: Details of SqlMigrationService resource. + :type parameters: ~azure.mgmt.datamigration.models.DeleteNode + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DeleteNode, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.DeleteNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DeleteNode"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.delete_node.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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(parameters, 'DeleteNode') + 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('DeleteNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + delete_node.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/deleteNode'} # type: ignore + + def list_migrations( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.DatabaseMigrationListResult"] + """Retrieve the List of database migrations attached to the service. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DatabaseMigrationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.DatabaseMigrationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatabaseMigrationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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_migrations.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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('DatabaseMigrationListResult', 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_migrations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listMigrations'} # type: ignore + + def list_monitoring_data( + self, + resource_group_name, # type: str + sql_migration_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeMonitoringData" + """Retrieve the Monitoring Data. + + :param resource_group_name: Name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param sql_migration_service_name: Name of the SQL Migration Service. + :type sql_migration_service_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: ~azure.mgmt.datamigration.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 = "2021-10-30-preview" + accept = "application/json" + + # Construct URL + url = self.list_monitoring_data.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'sqlMigrationServiceName': self._serialize.url("sql_migration_service_name", sql_migration_service_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') + + # 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 + list_monitoring_data.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listMonitoringData'} # type: ignore + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.SqlMigrationListResult"] + """Retrieve all SQL migration services in the subscriptions. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SqlMigrationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.SqlMigrationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SqlMigrationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + } + url = self._client.format_url(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('SqlMigrationListResult', 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_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/sqlMigrationServices'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_tasks_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_tasks_operations.py new file mode 100644 index 00000000000..9c05e5f389c --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_tasks_operations.py @@ -0,0 +1,598 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class TasksOperations(object): + """TasksOperations 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.datamigration.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, + group_name, # type: str + service_name, # type: str + project_name, # type: str + task_type=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.TaskList"] + """Get tasks in a service. + + The services resource is the top-level resource that represents the Database Migration Service. + This method returns a list of tasks owned by a service resource. Some tasks may have a status + of Unknown, which indicates that an error occurred while querying the status of that task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_type: Filter tasks by task type. + :type task_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TaskList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.TaskList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TaskList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if task_type is not None: + query_parameters['taskType'] = self._serialize.query("task_type", task_type, '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('TaskList', 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.ApiError, 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/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks'} # type: ignore + + def create_or_update( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + task_name, # type: str + parameters, # type: "models.ProjectTask" + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectTask" + """Create or update task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. The PUT method creates a new task or updates an existing one, although since tasks + have no mutable custom properties, there is little reason to update an existing one. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Information about the task. + :type parameters: ~azure.mgmt.datamigration.models.ProjectTask + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'ProjectTask') + 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.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} # type: ignore + + def get( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + task_name, # type: str + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectTask" + """Get task information. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. The GET method retrieves information about a task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param expand: Expand the response. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} # type: ignore + + def delete( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + task_name, # type: str + delete_running_tasks=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + """Delete task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. The DELETE method deletes a task, canceling it first if it's running. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param delete_running_tasks: Delete the resource even if it contains running tasks. + :type delete_running_tasks: bool + :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-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if delete_running_tasks is not None: + query_parameters['deleteRunningTasks'] = self._serialize.query("delete_running_tasks", delete_running_tasks, '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, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} # type: ignore + + def update( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + task_name, # type: str + parameters, # type: "models.ProjectTask" + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectTask" + """Create or update task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. The PATCH method updates an existing task, but since tasks have no mutable custom + properties, there is little reason to do so. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Information about the task. + :type parameters: ~azure.mgmt.datamigration.models.ProjectTask + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'ProjectTask') + 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(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}'} # type: ignore + + def cancel( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + task_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.ProjectTask" + """Cancel a task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. This method cancels a task if it's currently queued or running. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ProjectTask, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.ProjectTask + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProjectTask"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + 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'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ProjectTask', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel'} # type: ignore + + def command( + self, + group_name, # type: str + service_name, # type: str + project_name, # type: str + task_name, # type: str + parameters, # type: "models.CommandProperties" + **kwargs # type: Any + ): + # type: (...) -> "models.CommandProperties" + """Execute a command on a task. + + The tasks resource is a nested, proxy-only resource representing work performed by a DMS + instance. This method executes a command on a running task. + + :param group_name: Name of the resource group. + :type group_name: str + :param service_name: Name of the service. + :type service_name: str + :param project_name: Name of the project. + :type project_name: str + :param task_name: Name of the Task. + :type task_name: str + :param parameters: Command to execute. + :type parameters: ~azure.mgmt.datamigration.models.CommandProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CommandProperties, or the result of cls(response) + :rtype: ~azure.mgmt.datamigration.models.CommandProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CommandProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-10-30-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.command.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'groupName': self._serialize.url("group_name", group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'projectName': self._serialize.url("project_name", project_name, 'str'), + 'taskName': self._serialize.url("task_name", task_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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(parameters, 'CommandProperties') + 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) + error = self._deserialize(models.ApiError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CommandProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_usages_operations.py b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_usages_operations.py similarity index 76% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_usages_operations.py rename to src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_usages_operations.py index 7e57fa403c8..bc3dbfb7de5 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_usages_operations.py +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/operations/_usages_operations.py @@ -14,7 +14,7 @@ from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat -from .. import models as _models +from .. import models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports @@ -30,14 +30,14 @@ class UsagesOperations(object): 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.datamigration.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 + models = models def __init__(self, client, config, serializer, deserializer): self._client = client @@ -45,28 +45,30 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def list_by_location( + def list( self, location, # type: str **kwargs # type: Any ): - # type: (...) -> Iterable["_models.UsageListResult"] - """Gets the current usage count and the limit for the resources of the location under the - subscription. + # type: (...) -> Iterable["models.QuotaList"] + """Get resource quotas and usage information. - :param location: The location of the Azure Storage resource. + This method returns region-specific quotas and resource usage information for the Database + Migration Service. + + :param location: The Azure region of the operation. :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 UsageListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.UsageListResult] + :return: An iterator like instance of either QuotaList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datamigration.models.QuotaList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.UsageListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["models.QuotaList"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2021-10-30-preview" accept = "application/json" def prepare_request(next_link=None): @@ -76,9 +78,9 @@ def prepare_request(next_link=None): if not next_link: # Construct URL - url = self.list_by_location.metadata['url'] # type: ignore + 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), + '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) @@ -94,11 +96,11 @@ def prepare_request(next_link=None): return request def extract_data(pipeline_response): - deserialized = self._deserialize('UsageListResult', pipeline_response) + deserialized = self._deserialize('QuotaList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) @@ -107,12 +109,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.ApiError, 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 return ItemPaged( get_next, extract_data ) - list_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages'} # type: ignore diff --git a/src/datamigration/azext_datamigration/vendored_sdks/datamigration/py.typed b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/datamigration/azext_datamigration/vendored_sdks/datamigration/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/datamigration/report.md b/src/datamigration/report.md new file mode 100644 index 00000000000..3d50950b7a7 --- /dev/null +++ b/src/datamigration/report.md @@ -0,0 +1,361 @@ +# Azure CLI Module Creation Report + +## EXTENSION +|CLI Extension|Command Groups| +|---------|------------| +|az datamigration|[groups](#CommandGroups) + +## GROUPS +### Command groups in `az datamigration` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az datamigration sql-managed-instance|DatabaseMigrationsSqlMi|[commands](#CommandsInDatabaseMigrationsSqlMi)| +|az datamigration sql-service|SqlMigrationServices|[commands](#CommandsInSqlMigrationServices)| +|az datamigration sql-vm|DatabaseMigrationsSqlVm|[commands](#CommandsInDatabaseMigrationsSqlVm)| + +## COMMANDS +### Commands in `az datamigration sql-managed-instance` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datamigration sql-managed-instance show](#DatabaseMigrationsSqlMiGet)|Get|[Parameters](#ParametersDatabaseMigrationsSqlMiGet)|[Example](#ExamplesDatabaseMigrationsSqlMiGet)| +|[az datamigration sql-managed-instance create](#DatabaseMigrationsSqlMiCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersDatabaseMigrationsSqlMiCreateOrUpdate#Create)|[Example](#ExamplesDatabaseMigrationsSqlMiCreateOrUpdate#Create)| +|[az datamigration sql-managed-instance cancel](#DatabaseMigrationsSqlMicancel)|cancel|[Parameters](#ParametersDatabaseMigrationsSqlMicancel)|[Example](#ExamplesDatabaseMigrationsSqlMicancel)| +|[az datamigration sql-managed-instance cutover](#DatabaseMigrationsSqlMicutover)|cutover|[Parameters](#ParametersDatabaseMigrationsSqlMicutover)|[Example](#ExamplesDatabaseMigrationsSqlMicutover)| + +### Commands in `az datamigration sql-service` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datamigration sql-service list](#SqlMigrationServicesListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersSqlMigrationServicesListByResourceGroup)|[Example](#ExamplesSqlMigrationServicesListByResourceGroup)| +|[az datamigration sql-service list](#SqlMigrationServicesListBySubscription)|ListBySubscription|[Parameters](#ParametersSqlMigrationServicesListBySubscription)|[Example](#ExamplesSqlMigrationServicesListBySubscription)| +|[az datamigration sql-service show](#SqlMigrationServicesGet)|Get|[Parameters](#ParametersSqlMigrationServicesGet)|[Example](#ExamplesSqlMigrationServicesGet)| +|[az datamigration sql-service create](#SqlMigrationServicesCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersSqlMigrationServicesCreateOrUpdate#Create)|[Example](#ExamplesSqlMigrationServicesCreateOrUpdate#Create)| +|[az datamigration sql-service update](#SqlMigrationServicesUpdate)|Update|[Parameters](#ParametersSqlMigrationServicesUpdate)|[Example](#ExamplesSqlMigrationServicesUpdate)| +|[az datamigration sql-service delete](#SqlMigrationServicesDelete)|Delete|[Parameters](#ParametersSqlMigrationServicesDelete)|[Example](#ExamplesSqlMigrationServicesDelete)| +|[az datamigration sql-service delete-node](#SqlMigrationServicesdeleteNode)|deleteNode|[Parameters](#ParametersSqlMigrationServicesdeleteNode)|[Example](#ExamplesSqlMigrationServicesdeleteNode)| +|[az datamigration sql-service list-auth-key](#SqlMigrationServiceslistAuthKeys)|listAuthKeys|[Parameters](#ParametersSqlMigrationServiceslistAuthKeys)|[Example](#ExamplesSqlMigrationServiceslistAuthKeys)| +|[az datamigration sql-service list-integration-runtime-metric](#SqlMigrationServiceslistMonitoringData)|listMonitoringData|[Parameters](#ParametersSqlMigrationServiceslistMonitoringData)|[Example](#ExamplesSqlMigrationServiceslistMonitoringData)| +|[az datamigration sql-service list-migration](#SqlMigrationServiceslistMigrations)|listMigrations|[Parameters](#ParametersSqlMigrationServiceslistMigrations)|[Example](#ExamplesSqlMigrationServiceslistMigrations)| +|[az datamigration sql-service regenerate-auth-key](#SqlMigrationServicesregenerateAuthKeys)|regenerateAuthKeys|[Parameters](#ParametersSqlMigrationServicesregenerateAuthKeys)|[Example](#ExamplesSqlMigrationServicesregenerateAuthKeys)| + +### Commands in `az datamigration sql-vm` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datamigration sql-vm show](#DatabaseMigrationsSqlVmGet)|Get|[Parameters](#ParametersDatabaseMigrationsSqlVmGet)|[Example](#ExamplesDatabaseMigrationsSqlVmGet)| +|[az datamigration sql-vm create](#DatabaseMigrationsSqlVmCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersDatabaseMigrationsSqlVmCreateOrUpdate#Create)|[Example](#ExamplesDatabaseMigrationsSqlVmCreateOrUpdate#Create)| +|[az datamigration sql-vm cancel](#DatabaseMigrationsSqlVmcancel)|cancel|[Parameters](#ParametersDatabaseMigrationsSqlVmcancel)|[Example](#ExamplesDatabaseMigrationsSqlVmcancel)| +|[az datamigration sql-vm cutover](#DatabaseMigrationsSqlVmcutover)|cutover|[Parameters](#ParametersDatabaseMigrationsSqlVmcutover)|[Example](#ExamplesDatabaseMigrationsSqlVmcutover)| + + +## COMMAND DETAILS +### group `az datamigration sql-managed-instance` +#### Command `az datamigration sql-managed-instance show` + +##### Example +``` +az datamigration sql-managed-instance show --managed-instance-name "managedInstance1" --resource-group "testrg" \ +--target-db-name "db1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--managed-instance-name**|string|Name of the target SQL Managed Instance.|managed_instance_name|managedInstanceName| +|**--target-db-name**|string|The name of the target database.|target_db_name|targetDbName| +|**--migration-operation-id**|uuid|Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved.|migration_operation_id|migrationOperationId| +|**--expand**|string|The child resources to include in the response.|expand|$expand| + +#### Command `az datamigration sql-managed-instance create` + +##### Example +``` +az datamigration sql-managed-instance create --managed-instance-name "managedInstance1" --source-location \ +"{\\"fileShare\\":{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\bbb\\\\\\\\ccc\\",\\"password\\":\\"placeholder\\",\\"username\\"\ +:\\"name\\"}}" --target-location account-key="abcd" storage-account-resource-id="account.database.windows.net" \ +--migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Data\ +Migration/sqlMigrationServices/testagent" --offline-configuration last-backup-name="last_backup_file_name" \ +offline=true --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql\ +/managedInstances/instance" --source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication"\ + data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ +--resource-group "testrg" --target-db-name "db1" +az datamigration sql-managed-instance create --managed-instance-name "managedInstance1" --source-location \ +"{\\"fileShare\\":{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\bbb\\\\\\\\ccc\\",\\"password\\":\\"placeholder\\",\\"username\\"\ +:\\"name\\"}}" --target-location account-key="abcd" storage-account-resource-id="account.database.windows.net" \ +--migration-service "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Data\ +Migration/sqlMigrationServices/testagent" --offline-configuration last-backup-name="last_backup_file_name" \ +offline=true --scope "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql\ +/managedInstances/instance" --source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication"\ + data-source="aaa" encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" \ +--resource-group "testrg" --target-db-name "db1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--managed-instance-name**|string|Name of the target SQL Managed Instance.|managed_instance_name|managedInstanceName| +|**--target-db-name**|string|The name of the target database.|target_db_name|targetDbName| +|**--scope**|string|Resource Id of the target resource (SQL VM or SQL Managed Instance)|scope|scope| +|**--source-sql-connection**|object|Source SQL Server connection details.|source_sql_connection|sourceSqlConnection| +|**--source-database-name**|string|Name of the source database.|source_database_name|sourceDatabaseName| +|**--migration-service**|string|Resource Id of the Migration Service.|migration_service|migrationService| +|**--migration-operation-id**|string|ID tracking current migration operation.|migration_operation_id|migrationOperationId| +|**--target-db-collation**|string|Database collation to be used for the target database.|target_db_collation|targetDatabaseCollation| +|**--provisioning-error**|string|Error message for migration provisioning failure, if any.|provisioning_error|provisioningError| +|**--offline-configuration**|object|Offline configuration.|offline_configuration|offlineConfiguration| +|**--source-location**|object|Source location of backups.|source_location|sourceLocation| +|**--target-location**|object|Target location for copying backups.|target_location|targetLocation| + +#### Command `az datamigration sql-managed-instance cancel` + +##### Example +``` +az datamigration sql-managed-instance cancel --managed-instance-name "managedInstance1" --migration-operation-id \ +"4124fe90-d1b6-4b50-b4d9-46d02381f59a" --resource-group "testrg" --target-db-name "db1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--managed-instance-name**|string|Name of the target SQL Managed Instance.|managed_instance_name|managedInstanceName| +|**--target-db-name**|string|The name of the target database.|target_db_name|targetDbName| +|**--migration-operation-id**|uuid|ID tracking migration operation.|migration_operation_id|migrationOperationId| + +#### Command `az datamigration sql-managed-instance cutover` + +##### Example +``` +az datamigration sql-managed-instance cutover --managed-instance-name "managedInstance1" --migration-operation-id \ +"4124fe90-d1b6-4b50-b4d9-46d02381f59a" --resource-group "testrg" --target-db-name "db1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--managed-instance-name**|string|Name of the target SQL Managed Instance.|managed_instance_name|managedInstanceName| +|**--target-db-name**|string|The name of the target database.|target_db_name|targetDbName| +|**--migration-operation-id**|uuid|ID tracking migration operation.|migration_operation_id|migrationOperationId| + +### group `az datamigration sql-service` +#### Command `az datamigration sql-service list` + +##### Example +``` +az datamigration sql-service list --resource-group "testrg" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| + +#### Command `az datamigration sql-service list` + +##### Example +``` +az datamigration sql-service list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| + +#### Command `az datamigration sql-service show` + +##### Example +``` +az datamigration sql-service show --resource-group "testrg" --name "service1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| + +#### Command `az datamigration sql-service create` + +##### Example +``` +az datamigration sql-service create --location "northeurope" --resource-group "testrg" --name "testagent" +az datamigration sql-service create --location "northeurope" --resource-group "testrg" --name "testagent" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| +|**--location**|string||location|location| +|**--tags**|dictionary|Dictionary of |tags|tags| + +#### Command `az datamigration sql-service update` + +##### Example +``` +az datamigration sql-service update --tags mytag="myval" --resource-group "testrg" --name "testagent" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| +|**--tags**|dictionary|Dictionary of |tags|tags| + +#### Command `az datamigration sql-service delete` + +##### Example +``` +az datamigration sql-service delete --resource-group "testrg" --name "service1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| + +#### Command `az datamigration sql-service delete-node` + +##### Example +``` +az datamigration sql-service delete-node --ir-name "IRName" --node-name "nodeName" --resource-group "testrg" --name \ +"service1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| +|**--node-name**|string|The name of node to delete.|node_name|nodeName| +|**--integration-runtime-name**|string|The name of integration runtime.|integration_runtime_name|integrationRuntimeName| + +#### Command `az datamigration sql-service list-auth-key` + +##### Example +``` +az datamigration sql-service list-auth-key --resource-group "testrg" --name "service1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| + +#### Command `az datamigration sql-service list-integration-runtime-metric` + +##### Example +``` +az datamigration sql-service list-integration-runtime-metric --resource-group "testrg" --name "service1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| + +#### Command `az datamigration sql-service list-migration` + +##### Example +``` +az datamigration sql-service list-migration --resource-group "testrg" --name "service1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| + +#### Command `az datamigration sql-service regenerate-auth-key` + +##### Example +``` +az datamigration sql-service regenerate-auth-key --key-name "authKey1" --resource-group "testrg" --name "service1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-migration-service-name**|string|Name of the SQL Migration Service.|sql_migration_service_name|sqlMigrationServiceName| +|**--key-name**|string|The name of authentication key to generate.|key_name|keyName| +|**--auth-key1**|string|The first authentication key.|auth_key1|authKey1| +|**--auth-key2**|string|The second authentication key.|auth_key2|authKey2| + +### group `az datamigration sql-vm` +#### Command `az datamigration sql-vm show` + +##### Example +``` +az datamigration sql-vm show --resource-group "testrg" --sql-vm-name "testvm" --target-db-name "db1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-vm-name**|string|Name of the target SQL Virtual Machine.|sql_vm_name|sqlVirtualMachineName| +|**--target-db-name**|string|The name of the target database.|target_db_name|targetDbName| +|**--migration-operation-id**|uuid|Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved.|migration_operation_id|migrationOperationId| +|**--expand**|string|The child resources to include in the response.|expand|$expand| + +#### Command `az datamigration sql-vm create` + +##### Example +``` +az datamigration sql-vm create --source-location "{\\"fileShare\\":{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\bbb\\\\\\\\ccc\\\ +",\\"password\\":\\"placeholder\\",\\"username\\":\\"name\\"}}" --target-location account-key="abcd" \ +storage-account-resource-id="account.database.windows.net" --migration-service "/subscriptions/00000000-1111-2222-3333-\ +444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ +--offline-configuration last-backup-name="last_backup_file_name" offline=true --scope "/subscriptions/00000000-1111-222\ +2-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm" \ +--source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" \ +encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" --resource-group "testrg" \ +--sql-vm-name "testvm" --target-db-name "db1" +az datamigration sql-vm create --source-location "{\\"fileShare\\":{\\"path\\":\\"C:\\\\\\\\aaa\\\\\\\\bbb\\\\\\\\ccc\\\ +",\\"password\\":\\"placeholder\\",\\"username\\":\\"name\\"}}" --target-location account-key="abcd" \ +storage-account-resource-id="account.database.windows.net" --migration-service "/subscriptions/00000000-1111-2222-3333-\ +444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent" \ +--offline-configuration last-backup-name="last_backup_file_name" offline=true --scope "/subscriptions/00000000-1111-222\ +2-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm" \ +--source-database-name "aaa" --source-sql-connection authentication="WindowsAuthentication" data-source="aaa" \ +encrypt-connection=true password="placeholder" trust-server-certificate=true user-name="bbb" --resource-group "testrg" \ +--sql-vm-name "testvm" --target-db-name "db1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-vm-name**|string|Name of the target SQL Virtual Machine.|sql_vm_name|sqlVirtualMachineName| +|**--target-db-name**|string|The name of the target database.|target_db_name|targetDbName| +|**--scope**|string|Resource Id of the target resource (SQL VM or SQL Managed Instance)|scope|scope| +|**--source-sql-connection**|object|Source SQL Server connection details.|source_sql_connection|sourceSqlConnection| +|**--source-database-name**|string|Name of the source database.|source_database_name|sourceDatabaseName| +|**--migration-service**|string|Resource Id of the Migration Service.|migration_service|migrationService| +|**--migration-operation-id**|string|ID tracking current migration operation.|migration_operation_id|migrationOperationId| +|**--target-db-collation**|string|Database collation to be used for the target database.|target_db_collation|targetDatabaseCollation| +|**--provisioning-error**|string|Error message for migration provisioning failure, if any.|provisioning_error|provisioningError| +|**--offline-configuration**|object|Offline configuration.|offline_configuration|offlineConfiguration| +|**--source-location**|object|Source location of backups.|source_location|sourceLocation| +|**--target-location**|object|Target location for copying backups.|target_location|targetLocation| + +#### Command `az datamigration sql-vm cancel` + +##### Example +``` +az datamigration sql-vm cancel --migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" --resource-group \ +"testrg" --sql-vm-name "testvm" --target-db-name "db1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-vm-name**|string|Name of the target SQL Virtual Machine.|sql_vm_name|sqlVirtualMachineName| +|**--target-db-name**|string|The name of the target database.|target_db_name|targetDbName| +|**--migration-operation-id**|uuid|ID tracking migration operation.|migration_operation_id|migrationOperationId| + +#### Command `az datamigration sql-vm cutover` + +##### Example +``` +az datamigration sql-vm cutover --migration-operation-id "4124fe90-d1b6-4b50-b4d9-46d02381f59a" --resource-group \ +"testrg" --sql-vm-name "testvm" --target-db-name "db1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.|resource_group_name|resourceGroupName| +|**--sql-vm-name**|string|Name of the target SQL Virtual Machine.|sql_vm_name|sqlVirtualMachineName| +|**--target-db-name**|string|The name of the target database.|target_db_name|targetDbName| +|**--migration-operation-id**|uuid|ID tracking migration operation.|migration_operation_id|migrationOperationId| diff --git a/src/datamigration/setup.cfg b/src/datamigration/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/datamigration/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/datamigration/setup.py b/src/datamigration/setup.py new file mode 100644 index 00000000000..175787154d2 --- /dev/null +++ b/src/datamigration/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.2.0' +try: + from azext_datamigration.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_datamigration.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='datamigration', + version=VERSION, + description='Microsoft Azure Command-Line Tools DataMigrationManagementClient Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/datamigration', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_datamigration': ['azext_metadata.json']}, +) diff --git a/src/dataprotection/setup.py b/src/dataprotection/setup.py index 69def2f5fda..62f94c3ca31 100644 --- a/src/dataprotection/setup.py +++ b/src/dataprotection/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools DataProtectionClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/dataprotection', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/dataprotection', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/datashare/HISTORY.rst b/src/datashare/HISTORY.rst index 2f7a7a548bf..c3b7fc49dd5 100644 --- a/src/datashare/HISTORY.rst +++ b/src/datashare/HISTORY.rst @@ -1,13 +1,18 @@ -.. :changelog: - -Release History -=============== - -0.1.1 -+++++ -* Add examples for creating a BlobFolder dataset - - -0.1.0 -++++++ -* Initial release. +.. :changelog: + +Release History +=============== + +0.2.0 ++++++ +* Adding support for Datashare API Version 2021-08-01 + + +0.1.1 ++++++ +* Add examples for creating a BlobFolder dataset + + +0.1.0 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/datashare/README.md b/src/datashare/README.md index 9b8be0ab667..09ed4a6a631 100644 --- a/src/datashare/README.md +++ b/src/datashare/README.md @@ -1,5 +1,5 @@ # Azure CLI datashare Extension # -This package is for the 'datashare' extension, i.e. 'az datashare'. More info on what is [Data Share](https://docs.microsoft.com/azure/data-share/). +This is the extension for datashare ### How to use ### Install this extension using the below CLI command @@ -7,195 +7,311 @@ Install this extension using the below CLI command az extension add --name datashare ``` -Register DataShare Resource Provider for your default susbcription. +### Included Features ### +#### datashare account #### +##### Create ##### ``` -az provider register -n "Microsoft.DataShare" -``` - -### Included Features -#### Datashare Account Management -*Examples:* - -##### Create a Datashare Account +az datashare account create --location "West US 2" --tags tag1="Red" tag2="White" --name "Account1" \ + --resource-group "SampleResourceGroup" +az datashare account wait --created --name "{myAccount}" --resource-group "{rg}" ``` -az datashare account create \ ---location "West US 2" \ ---tags tag1=Red tag2=White \ ---name "cli_test_account" \ ---resource-group "datashare_provider_rg" +##### Show ##### ``` - -##### Wait for the Datashare Account to be provisioned +az datashare account show --name "Account1" --resource-group "SampleResourceGroup" ``` -az datashare account wait \ ---name "cli_test_account" \ ---resource-group "datashare_provider_rg" \ ---created +##### List ##### ``` - -#### Datashare Resource Management for a Provider -*Examples:* - -##### Create a Datashare +az datashare account list --resource-group "SampleResourceGroup" ``` -az datashare create \ ---account-name "cli_test_account" \ ---resource-group "datashare_provider_rg" \ ---description "share description" \ ---share-kind "CopyBased" \ ---terms "Confidential" \ ---name "cli_test_share" +##### Update ##### ``` - -##### Create a Data Set +az datashare account update --name "Account1" --tags tag1="Red" tag2="White" --resource-group "SampleResourceGroup" ``` -az datashare dataset create \ ---account-name "cli_test_account" \ ---name "cli_test_data_set" \ ---resource-group "datashare_provider_rg" \ ---share-name "cli_test_share" \ ---dataset "{\"container_name\":\"mycontainer\",\"storage_account_name\":\"mysa\",\"kind\":\"Container\"}" +##### Delete ##### ``` - -Please make sure the datashare account has the right permission of the data source when creating a data set upon it. -For instance, you can use `az datashare account show` to get 'identity.principalId' of the account, then assign the right role to it. +az datashare account delete --name "Account1" --resource-group "SampleResourceGroup" ``` -az role assignment create \ ---role "Storage Blob Data Reader" \ ---assignee-object-id {DatashareAccountPrincipalId} \ ---assignee-principal-type ServicePrincipal \ ---scope {StorageAccountId} +#### datashare consumer-invitation #### +##### Show ##### ``` - -##### Create a Synchronization Setting +az datashare consumer-invitation show --invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03" --location "East US 2" ``` -az datashare synchronization-setting create \ ---account-name cli_test_account \ ---resource-group datashare_provider_rg \ ---share-name cli_test_share \ ---name cli_test_synchronization_setting \ ---recurrence-interval Day \ ---synchronization-time "2020-04-05 10:50:00 +00:00" \ ---kind ScheduleBased +##### List-invitation ##### ``` - -##### List Synchronization History +az datashare consumer-invitation list-invitation ``` -az datashare synchronization list \ ---account-name "cli_test_account" \ ---resource-group "datashare_provider_rg" \ ---share-name "cli_test_share" +##### Reject-invitation ##### ``` - -##### Create a Datashare Invitation +az datashare consumer-invitation reject-invitation --invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03" \ + --location "East US 2" ``` -az datashare invitation create \ ---account-name "cli_test_account" \ ---target-email "myname@microsoft.com" \ ---name "cli_test_invitation" \ ---resource-group "datashare_provider_rg" \ ---share-name "cli_test_share" +#### datashare data-set #### +##### Create ##### ``` - -##### List Share Subscriptions +az datashare data-set create --account-name "Account1" \ + --data-set "{\\"kind\\":\\"Blob\\",\\"properties\\":{\\"containerName\\":\\"C1\\",\\"filePath\\":\\"file21\\",\\"resourceGroup\\":\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"433a8dfd-e5d5-4e77-ad86-90acdc75eb1a\\"}}" \ + --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" ``` -az datashare provider-share-subscription list \ ---account-name "cli_test_account" \ ---resource-group "datashare_provider_rg" \ ---share-name "cli_test_share" +##### Create ##### ``` -Share subscriptions are created by Datashare consumers when they accept invitations. - -##### Revoke Datashare for a Share Subscription +az datashare data-set create --account-name "Account1" \ + --data-set "{\\"kind\\":\\"KustoCluster\\",\\"properties\\":{\\"kustoClusterResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Kusto/clusters/Cluster1\\"}}" \ + --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" ``` -az datashare provider-share-subscription revoke \ ---account-name "cli_test_account" \ ---share-subscription "{ProviderShareSubscriptionObjectId}" \ ---resource-group "datashare_provider_rg" \ ---share-name "cli_test_share" +##### Create ##### ``` - -##### Reinstate Datashare for a Share Subscription +az datashare data-set create --account-name "Account1" \ + --data-set "{\\"kind\\":\\"KustoDatabase\\",\\"properties\\":{\\"kustoDatabaseResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Kusto/clusters/Cluster1/databases/Database1\\"}}" \ + --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" ``` -az datashare provider-share-subscription reinstate \ ---account-name "cli_test_account" \ ---share-subscription "{ProviderShareSubscriptionObjectId}" \ ---resource-group "datashare_provider_rg" \ ---share-name "cli_test_share" +##### Create ##### ``` - -#### Datashare Resource Management for a Consumer -*Examples:* - -##### List received Invitations +az datashare data-set create --account-name "Account1" \ + --data-set "{\\"kind\\":\\"KustoTable\\",\\"properties\\":{\\"kustoDatabaseResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Kusto/clusters/Cluster1/databases/Database1\\",\\"tableLevelSharingProperties\\":{\\"externalTablesToExclude\\":[\\"test11\\",\\"test12\\"],\\"externalTablesToInclude\\":[\\"test9\\",\\"test10\\"],\\"materializedViewsToExclude\\":[\\"test7\\",\\"test8\\"],\\"materializedViewsToInclude\\":[\\"test5\\",\\"test6\\"],\\"tablesToExclude\\":[\\"test3\\",\\"test4\\"],\\"tablesToInclude\\":[\\"test1\\",\\"test2\\"]}}}" \ + --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" ``` -az datashare consumer invitation list +##### Create ##### ``` - -##### Create a Share Subscription from an Invitation +az datashare data-set create --account-name "Account1" \ + --data-set "{\\"kind\\":\\"SqlDBTable\\",\\"properties\\":{\\"databaseName\\":\\"SqlDB1\\",\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\\"}}" \ + --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" ``` -az datashare consumer share-subscription create \ ---account-name "cli_test_consumer_account" \ ---resource-group "datashare_consumer_rg" \ ---invitation-id "{InvitationId1}" \ ---source-share-location "sourceShareLocation" \ ---name "cli_test_share_subscription" +##### Create ##### ``` - -##### List Source Data Sets in the Share Subscription +az datashare data-set create --account-name "Account1" \ + --data-set "{\\"kind\\":\\"SqlDWTable\\",\\"properties\\":{\\"dataWarehouseName\\":\\"DataWarehouse1\\",\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\\"}}" \ + --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" ``` -az datashare consumer share-subscription list-source-dataset \ ---account-name "cli_test_consumer_account" \ ---resource-group "datashare_consumer_rg" \ ---share-subscription-name "cli_test_share_subscription" +##### Create ##### ``` - -##### Create a Data Set Mapping of the Source Data Set +az datashare data-set create --account-name "sourceAccount" \ + --data-set "{\\"kind\\":\\"SynapseWorkspaceSqlPoolTable\\",\\"properties\\":{\\"synapseWorkspaceSqlPoolTableResourceId\\":\\"/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/resourceGroups/SampleResourceGroup/providers/Microsoft.Synapse/workspaces/ExampleWorkspace/sqlPools/ExampleSqlPool/schemas/dbo/tables/table1\\"}}" \ + --name "dataset1" --resource-group "SampleResourceGroup" --share-name "share1" ``` -az datashare consumer dataset-mapping create \ ---account-name "cli_test_consumer_account" \ ---name "cli_test_data_set_mapping" \ ---resource-group "datashare_consumer_rg" \ ---share-subscription-name "cli_test_share_subscription" \ ---mapping "{\"data_set_id\":\"2036a39f-add6-4347-9c82-a424dfaf4e8d\", \ -\"container_name\":\"newcontainer\", \"storage_account_name\":\"consumersa\", \ -\"kind\":\"BlobFolder\",\"prefix\":\"myprefix\"}" +##### Show ##### ``` -Please make sure the datashare consumer account has the right permission of the data target when creating a data set mapping on it. For instance, you can use `az datashare account show` to get 'identity.principalId' of the account, then assign the right role to it. +az datashare data-set show --account-name "Account1" --name "Dataset1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" ``` -az role assignment create \ ---role "Storage Blob Data Contributor" \ ---assignee-object-id "{ConsumerDatashareAccountPrincipalId}" \ ---assignee-principal-type ServicePrincipal \ ---scope "{ConsumerStorageAccountId}" +##### List ##### ``` - -##### List the synchronization settings of the Source Datashare +az datashare data-set list --account-name "Account1" --resource-group "SampleResourceGroup" --share-name "Share1" ``` -az datashare consumer share-subscription list-source-share-synchronization-setting \ ---account-name "cli_test_consumer_account" \ ---resource-group "datashare_consumer_rg" \ ---share-subscription-name "cli_test_share_subscription" +##### Delete ##### ``` - -##### Create a trigger for the Share Subsciption +az datashare data-set delete --account-name "Account1" --name "Dataset1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" ``` -az datashare consumer trigger create \ ---account-name "cli_test_consumer_account" \ ---resource-group "datashare_consumer_rg" \ ---share-subscription-name "cli_test_share_subscription" \ ---name "cli_test_trigger" \ ---recurrence-interval Day \ ---synchronization-time "2020-04-05 10:50:00 +00:00" \ ---kind ScheduleBased +#### datashare data-set-mapping #### +##### Create ##### ``` - -##### Start a synchronization for the Share Subscription +az datashare data-set-mapping create --account-name "Account1" \ + --adls-gen2-file-data-set-mapping data-set-id="a08f184b-0567-4b11-ba22-a1199336d226" file-path="file21" file-system="fileSystem" output-type="Csv" resource-group="SampleResourceGroup" storage-account-name="storage2" subscription-id="433a8dfd-e5d5-4e77-ad86-90acdc75eb1a" \ + --name "DatasetMapping1" --resource-group "SampleResourceGroup" --share-subscription-name "ShareSubscription1" +``` +##### Show ##### +``` +az datashare data-set-mapping show --account-name "Account1" --name "DatasetMapping1" \ + --resource-group "SampleResourceGroup" --share-subscription-name "ShareSubscription1" +``` +##### List ##### +``` +az datashare data-set-mapping list --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-subscription-name "ShareSubscription1" +``` +##### Delete ##### +``` +az datashare data-set-mapping delete --account-name "Account1" --name "DatasetMapping1" \ + --resource-group "SampleResourceGroup" --share-subscription-name "ShareSubscription1" +``` +#### datashare email-registration #### +##### Activate-email ##### +``` +az datashare email-registration activate-email --activation-code "djsfhakj2lekowd3wepfklpwe9lpflcd" \ + --location "East US 2" +``` +##### Register-email ##### +``` +az datashare email-registration register-email --location "East US 2" +``` +#### datashare invitation #### +##### Create ##### +``` +az datashare invitation create --account-name "Account1" --expiration-date "2020-08-26T22:33:24.5785265Z" \ + --target-email "receiver@microsoft.com" --name "Invitation1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +##### Show ##### +``` +az datashare invitation show --account-name "Account1" --name "Invitation1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +##### List ##### +``` +az datashare invitation list --account-name "Account1" --resource-group "SampleResourceGroup" --share-name "Share1" +``` +##### Delete ##### +``` +az datashare invitation delete --account-name "Account1" --name "Invitation1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +#### datashare #### +##### Create ##### +``` +az datashare create --account-name "Account1" --resource-group "SampleResourceGroup" --description "share description" \ + --share-kind "CopyBased" --terms "Confidential" --name "Share1" +``` +##### Show ##### +``` +az datashare show --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" +``` +##### List ##### +``` +az datashare list --account-name "Account1" --resource-group "SampleResourceGroup" +``` +##### List-synchronization ##### +``` +az datashare list-synchronization --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" +``` +##### List-synchronization-detail ##### +``` +az datashare list-synchronization-detail --account-name "Account1" --resource-group "SampleResourceGroup" \ + --name "Share1" --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +``` +##### Delete ##### +``` +az datashare delete --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" +``` +#### datashare provider-share-subscription #### +##### List ##### +``` +az datashare provider-share-subscription list --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +##### Show ##### +``` +az datashare provider-share-subscription show --account-name "Account1" \ + --provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +##### Adjust ##### +``` +az datashare provider-share-subscription adjust --account-name "Account1" \ + --expiration-date "2020-12-26T22:33:24.5785265Z" \ + --provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +##### Reinstate ##### +``` +az datashare provider-share-subscription reinstate --account-name "Account1" \ + --expiration-date "2020-12-26T22:33:24.5785265Z" \ + --provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +##### Revoke ##### +``` +az datashare provider-share-subscription revoke --account-name "Account1" \ + --provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +#### datashare share-subscription #### +##### Create ##### +``` +az datashare share-subscription create --account-name "Account1" --resource-group "SampleResourceGroup" \ + --expiration-date "2020-08-26T22:33:24.5785265Z" --invitation-id "12345678-1234-1234-12345678abd" \ + --source-share-location "eastus2" --name "ShareSubscription1" +``` +##### Show ##### +``` +az datashare share-subscription show --account-name "Account1" --resource-group "SampleResourceGroup" \ + --name "ShareSubscription1" +``` +##### List ##### +``` +az datashare share-subscription list --account-name "Account1" --resource-group "SampleResourceGroup" +``` +##### Cancel-synchronization ##### +``` +az datashare share-subscription cancel-synchronization --account-name "Account1" \ + --resource-group "SampleResourceGroup" --name "ShareSubscription1" \ + --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +``` +##### List-source-share-synchronization-setting ##### +``` +az datashare share-subscription list-source-share-synchronization-setting --account-name "Account1" \ + --resource-group "SampleResourceGroup" --name "ShareSub1" +``` +##### List-synchronization ##### +``` +az datashare share-subscription list-synchronization --account-name "Account1" --resource-group "SampleResourceGroup" \ + --name "ShareSub1" +``` +##### List-synchronization-detail ##### +``` +az datashare share-subscription list-synchronization-detail --account-name "Account1" \ + --resource-group "SampleResourceGroup" --name "ShareSub1" \ + --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +``` +##### Synchronize ##### +``` +az datashare share-subscription synchronize --account-name "Account1" --resource-group "SampleResourceGroup" \ + --name "ShareSubscription1" --synchronization-mode "Incremental" +``` +##### Delete ##### +``` +az datashare share-subscription delete --account-name "Account1" --resource-group "SampleResourceGroup" \ + --name "ShareSubscription1" +``` +#### datashare consumer-source-data-set #### +##### List ##### +``` +az datashare consumer-source-data-set list --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-subscription-name "Share1" +``` +#### datashare synchronization-setting #### +##### Create ##### +``` +az datashare synchronization-setting create --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" \ + --scheduled-synchronization-setting recurrence-interval="Day" synchronization-time="2018-11-14T04:47:52.9614956Z" \ + --name "Dataset1" +``` +##### Show ##### +``` +az datashare synchronization-setting show --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" --name "SynchronizationSetting1" +``` +##### List ##### +``` +az datashare synchronization-setting list --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" +``` +##### Delete ##### +``` +az datashare synchronization-setting delete --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-name "Share1" --name "SynchronizationSetting1" +``` +#### datashare trigger #### +##### Create ##### +``` +az datashare trigger create --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-subscription-name "ShareSubscription1" \ + --scheduled-trigger recurrence-interval="Day" synchronization-mode="Incremental" synchronization-time="2018-11-14T04:47:52.9614956Z" \ + --name "Trigger1" +``` +##### Show ##### +``` +az datashare trigger show --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-subscription-name "ShareSubscription1" --name "Trigger1" +``` +##### List ##### +``` +az datashare trigger list --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-subscription-name "ShareSubscription1" ``` -az datashare consumer share-subscription synchronization start \ ---account-name "cli_test_consumer_account" \ ---resource-group "datashare_consumer_rg" \ ---share-subscription-name "cli_test_share_subscription" \ ---synchronization-mode "Incremental" +##### Delete ##### ``` +az datashare trigger delete --account-name "Account1" --resource-group "SampleResourceGroup" \ + --share-subscription-name "ShareSubscription1" --name "Trigger1" +``` \ No newline at end of file diff --git a/src/datashare/azext_datashare/__init__.py b/src/datashare/azext_datashare/__init__.py index 505737b668a..cf4fe616218 100644 --- a/src/datashare/azext_datashare/__init__.py +++ b/src/datashare/azext_datashare/__init__.py @@ -1,49 +1,53 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # 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 +# Licensed under the MIT License. See License.txt in the project root for +# 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_datashare._help from azure.cli.core import AzCommandsLoader -from azext_datashare._help import helps class DataShareManagementClientCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - from azext_datashare.generated._client_factory import cf_datashare + from azext_datashare.generated._client_factory import cf_datashare_cl datashare_custom = CliCommandType( - operations_tmpl='azext_datashare.manual.custom#{}', # modified - client_factory=cf_datashare) - super(DataShareManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=datashare_custom) + operations_tmpl='azext_datashare.custom#{}', + client_factory=cf_datashare_cl) + parent = super() + parent.__init__(cli_ctx=cli_ctx, custom_command_type=datashare_custom) def load_command_table(self, args): - try: - from azext_datashare.generated.commands import load_command_table - load_command_table(self, args) - except ImportError: - pass + from azext_datashare.generated.commands import load_command_table + load_command_table(self, args) try: from azext_datashare.manual.commands import load_command_table as load_command_table_manual load_command_table_manual(self, args) - except ImportError: - pass + except ImportError as e: + if e.name.endswith('manual.commands'): + pass + else: + raise e return self.command_table def load_arguments(self, command): - try: - from azext_datashare.generated._params import load_arguments - load_arguments(self, command) - except ImportError: - pass + from azext_datashare.generated._params import load_arguments + load_arguments(self, command) try: from azext_datashare.manual._params import load_arguments as load_arguments_manual load_arguments_manual(self, command) - except ImportError: - pass + except ImportError as e: + if e.name.endswith('manual._params'): + pass + else: + raise e COMMAND_LOADER_CLS = DataShareManagementClientCommandsLoader diff --git a/src/datashare/azext_datashare/_help.py b/src/datashare/azext_datashare/_help.py index c0b36e140d8..9b93f87a6e9 100644 --- a/src/datashare/azext_datashare/_help.py +++ b/src/datashare/azext_datashare/_help.py @@ -1,16 +1,20 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # 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. +# -------------------------------------------------------------------------- # pylint: disable=wildcard-import # pylint: disable=unused-wildcard-import - -# try: -# from .generated._help import * # noqa: F403 -# except ImportError: -# pass - +# pylint: disable=unused-import +from .generated._help import helps # pylint: disable=reimported try: - from .manual._help import * # noqa: F403 -except ImportError: - pass + 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/datashare/azext_datashare/action.py b/src/datashare/azext_datashare/action.py index 4ad472a8c52..8faf11ea049 100644 --- a/src/datashare/azext_datashare/action.py +++ b/src/datashare/azext_datashare/action.py @@ -1,16 +1,20 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # 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. +# -------------------------------------------------------------------------- # pylint: disable=wildcard-import # pylint: disable=unused-wildcard-import -try: - from .generated.action import * # noqa: F403 -except ImportError: - pass - +from .generated.action import * # noqa: F403 try: from .manual.action import * # noqa: F403 -except ImportError: - pass +except ImportError as e: + if e.name.endswith('manual.action'): + pass + else: + raise e diff --git a/src/datashare/azext_datashare/azext_metadata.json b/src/datashare/azext_datashare/azext_metadata.json index 7b56fb1e11a..cfc30c747c7 100644 --- a/src/datashare/azext_datashare/azext_metadata.json +++ b/src/datashare/azext_datashare/azext_metadata.json @@ -1,4 +1,4 @@ -{ - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.1" +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/datashare/azext_datashare/custom.py b/src/datashare/azext_datashare/custom.py new file mode 100644 index 00000000000..885447229d6 --- /dev/null +++ b/src/datashare/azext_datashare/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/datashare/azext_datashare/generated/_client_factory.py b/src/datashare/azext_datashare/generated/_client_factory.py index bba6d6bcfb5..686eec21ae1 100644 --- a/src/datashare/azext_datashare/generated/_client_factory.py +++ b/src/datashare/azext_datashare/generated/_client_factory.py @@ -1,54 +1,64 @@ -# -------------------------------------------------------------------------------------------- +# -------------------------------------------------------------------------- # 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. +# -------------------------------------------------------------------------- -def cf_datashare(cli_ctx, *_): +def cf_datashare_cl(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client - from ..vendored_sdks.datashare import DataShareManagementClient - return get_mgmt_service_client(cli_ctx, DataShareManagementClient) + from azext_datashare.vendored_sdks.datashare import DataShareManagementClient + return get_mgmt_service_client(cli_ctx, + DataShareManagementClient) def cf_account(cli_ctx, *_): - return cf_datashare(cli_ctx).account + return cf_datashare_cl(cli_ctx).accounts def cf_consumer_invitation(cli_ctx, *_): - return cf_datashare(cli_ctx).consumer_invitation + return cf_datashare_cl(cli_ctx).consumer_invitations def cf_data_set(cli_ctx, *_): - return cf_datashare(cli_ctx).data_set + return cf_datashare_cl(cli_ctx).data_sets def cf_data_set_mapping(cli_ctx, *_): - return cf_datashare(cli_ctx).data_set_mapping + return cf_datashare_cl(cli_ctx).data_set_mappings + + +def cf_email_registration(cli_ctx, *_): + return cf_datashare_cl(cli_ctx).email_registrations def cf_invitation(cli_ctx, *_): - return cf_datashare(cli_ctx).invitation + return cf_datashare_cl(cli_ctx).invitations def cf_share(cli_ctx, *_): - return cf_datashare(cli_ctx).share + return cf_datashare_cl(cli_ctx).shares def cf_provider_share_subscription(cli_ctx, *_): - return cf_datashare(cli_ctx).provider_share_subscription + return cf_datashare_cl(cli_ctx).provider_share_subscriptions def cf_share_subscription(cli_ctx, *_): - return cf_datashare(cli_ctx).share_subscription + return cf_datashare_cl(cli_ctx).share_subscriptions def cf_consumer_source_data_set(cli_ctx, *_): - return cf_datashare(cli_ctx).consumer_source_data_set + return cf_datashare_cl(cli_ctx).consumer_source_data_sets def cf_synchronization_setting(cli_ctx, *_): - return cf_datashare(cli_ctx).synchronization_setting + return cf_datashare_cl(cli_ctx).synchronization_settings def cf_trigger(cli_ctx, *_): - return cf_datashare(cli_ctx).trigger + return cf_datashare_cl(cli_ctx).triggers diff --git a/src/datashare/azext_datashare/generated/_help.py b/src/datashare/azext_datashare/generated/_help.py new file mode 100644 index 00000000000..b8e5d4b6d1e --- /dev/null +++ b/src/datashare/azext_datashare/generated/_help.py @@ -0,0 +1,867 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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['datashare'] = ''' + type: group + short-summary: Manage Data Share +''' + +helps['datashare account'] = """ + type: group + short-summary: Manage account with datashare +""" + +helps['datashare account list'] = """ + type: command + short-summary: "List Accounts in ResourceGroup And List Accounts in Subscription." + examples: + - name: Accounts_ListByResourceGroup + text: |- + az datashare account list --resource-group "SampleResourceGroup" + - name: Accounts_ListBySubscription + text: |- + az datashare account list +""" + +helps['datashare account show'] = """ + type: command + short-summary: "Get an account." + examples: + - name: Accounts_Get + text: |- + az datashare account show --name "Account1" --resource-group "SampleResourceGroup" +""" + +helps['datashare account create'] = """ + type: command + short-summary: "Create an account." + examples: + - name: Accounts_Create + text: |- + az datashare account create --location "West US 2" --tags tag1="Red" tag2="White" --name "Account1" \ +--resource-group "SampleResourceGroup" +""" + +helps['datashare account update'] = """ + type: command + short-summary: "Patch an account." + examples: + - name: Accounts_Update + text: |- + az datashare account update --name "Account1" --tags tag1="Red" tag2="White" --resource-group \ +"SampleResourceGroup" +""" + +helps['datashare account delete'] = """ + type: command + short-summary: "DeleteAccount." + examples: + - name: Accounts_Delete + text: |- + az datashare account delete --name "Account1" --resource-group "SampleResourceGroup" +""" + +helps['datashare account wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare account is met. + examples: + - name: Pause executing next line of CLI script until the datashare account is successfully created. + text: |- + az datashare account wait --name "Account1" --resource-group "SampleResourceGroup" --created + - name: Pause executing next line of CLI script until the datashare account is successfully deleted. + text: |- + az datashare account wait --name "Account1" --resource-group "SampleResourceGroup" --deleted +""" + +helps['datashare consumer-invitation'] = """ + type: group + short-summary: Manage consumer invitation with datashare +""" + +helps['datashare consumer-invitation show'] = """ + type: command + short-summary: "Get an invitation." + examples: + - name: ConsumerInvitations_Get + text: |- + az datashare consumer-invitation show --invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03" --location \ +"East US 2" +""" + +helps['datashare consumer-invitation list-invitation'] = """ + type: command + short-summary: "Lists invitations." + examples: + - name: ConsumerInvitations_ListInvitations + text: |- + az datashare consumer-invitation list-invitation +""" + +helps['datashare consumer-invitation reject-invitation'] = """ + type: command + short-summary: "Reject an invitation." + examples: + - name: ConsumerInvitations_RejectInvitation + text: |- + az datashare consumer-invitation reject-invitation --invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03\ +" --location "East US 2" +""" + +helps['datashare data-set'] = """ + type: group + short-summary: Manage data set with datashare +""" + +helps['datashare data-set list'] = """ + type: command + short-summary: "List DataSets in a share." + examples: + - name: DataSets_ListByShare + text: |- + az datashare data-set list --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +""" + +helps['datashare data-set show'] = """ + type: command + short-summary: "Get a DataSet in a share." + examples: + - name: DataSets_Get + text: |- + az datashare data-set show --account-name "Account1" --name "Dataset1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare data-set create'] = """ + type: command + short-summary: "Create a DataSet." + examples: + - name: DataSets_Create + text: |- + az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"Blob\\",\\"properties\ +\\":{\\"containerName\\":\\"C1\\",\\"filePath\\":\\"file21\\",\\"resourceGroup\\":\\"SampleResourceGroup\\",\\"storageA\ +ccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"433a8dfd-e5d5-4e77-ad86-90acdc75eb1a\\"}}" --name "Dataset1" \ +--resource-group "SampleResourceGroup" --share-name "Share1" + - name: DataSets_KustoCluster_Create + text: |- + az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"KustoCluster\\",\\"pro\ +perties\\":{\\"kustoClusterResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleRe\ +sourceGroup/providers/Microsoft.Kusto/clusters/Cluster1\\"}}" --name "Dataset1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" + - name: DataSets_KustoDatabase_Create + text: |- + az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"KustoDatabase\\",\\"pr\ +operties\\":{\\"kustoDatabaseResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/Sample\ +ResourceGroup/providers/Microsoft.Kusto/clusters/Cluster1/databases/Database1\\"}}" --name "Dataset1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" + - name: DataSets_KustoTable_Create + text: |- + az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"KustoTable\\",\\"prope\ +rties\\":{\\"kustoDatabaseResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleRes\ +ourceGroup/providers/Microsoft.Kusto/clusters/Cluster1/databases/Database1\\",\\"tableLevelSharingProperties\\":{\\"ext\ +ernalTablesToExclude\\":[\\"test11\\",\\"test12\\"],\\"externalTablesToInclude\\":[\\"test9\\",\\"test10\\"],\\"materia\ +lizedViewsToExclude\\":[\\"test7\\",\\"test8\\"],\\"materializedViewsToInclude\\":[\\"test5\\",\\"test6\\"],\\"tablesTo\ +Exclude\\":[\\"test3\\",\\"test4\\"],\\"tablesToInclude\\":[\\"test1\\",\\"test2\\"]}}}" --name "Dataset1" \ +--resource-group "SampleResourceGroup" --share-name "Share1" + - name: DataSets_SqlDBTable_Create + text: |- + az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"SqlDBTable\\",\\"prope\ +rties\\":{\\"databaseName\\":\\"SqlDB1\\",\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/433a8d\ +fd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableNa\ +me\\":\\"Table1\\"}}" --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" + - name: DataSets_SqlDWTable_Create + text: |- + az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"SqlDWTable\\",\\"prope\ +rties\\":{\\"dataWarehouseName\\":\\"DataWarehouse1\\",\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscri\ +ptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\ +\\",\\"tableName\\":\\"Table1\\"}}" --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" + - name: DataSets_SynapseWorkspaceSqlPoolTable_Create + text: |- + az datashare data-set create --account-name "sourceAccount" --data-set "{\\"kind\\":\\"SynapseWorkspaceS\ +qlPoolTable\\",\\"properties\\":{\\"synapseWorkspaceSqlPoolTableResourceId\\":\\"/subscriptions/0f3dcfc3-18f8-4099-b381\ +-8353e19d43a7/resourceGroups/SampleResourceGroup/providers/Microsoft.Synapse/workspaces/ExampleWorkspace/sqlPools/Examp\ +leSqlPool/schemas/dbo/tables/table1\\"}}" --name "dataset1" --resource-group "SampleResourceGroup" --share-name \ +"share1" +""" + +helps['datashare data-set delete'] = """ + type: command + short-summary: "Delete a DataSet in a share." + examples: + - name: DataSets_Delete + text: |- + az datashare data-set delete --account-name "Account1" --name "Dataset1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare data-set wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare data-set is met. + examples: + - name: Pause executing next line of CLI script until the datashare data-set is successfully deleted. + text: |- + az datashare data-set wait --account-name "Account1" --name "Dataset1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" --deleted +""" + +helps['datashare data-set-mapping'] = """ + type: group + short-summary: Manage data set mapping with datashare +""" + +helps['datashare data-set-mapping list'] = """ + type: command + short-summary: "List DataSetMappings in a share subscription." + examples: + - name: DataSetMappings_ListByShareSubscription + text: |- + az datashare data-set-mapping list --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "ShareSubscription1" +""" + +helps['datashare data-set-mapping show'] = """ + type: command + short-summary: "Get a DataSetMapping in a shareSubscription." + examples: + - name: DataSetMappings_Get + text: |- + az datashare data-set-mapping show --account-name "Account1" --name "DatasetMapping1" --resource-group \ +"SampleResourceGroup" --share-subscription-name "ShareSubscription1" +""" + +helps['datashare data-set-mapping create'] = """ + type: command + short-summary: "Create a DataSetMapping." + parameters: + - name: --adls-gen2-file-data-set-mapping + short-summary: "An ADLS Gen2 file data set mapping." + long-summary: | + Usage: --adls-gen2-file-data-set-mapping data-set-id=XX file-path=XX file-system=XX output-type=XX \ +resource-group=XX storage-account-name=XX subscription-id=XX kind=XX + + data-set-id: Required. The id of the source data set. + file-path: Required. File path within the file system. + file-system: Required. File system to which the file belongs. + output-type: Type of output file + resource-group: Required. Resource group of storage account. + storage-account-name: Required. Storage account name of the source data set. + subscription-id: Required. Subscription id of storage account. + kind: Required. Kind of data set mapping. + - name: --adls-gen2-file-system-data-set-mapping + short-summary: "An ADLS Gen2 file system data set mapping." + long-summary: | + Usage: --adls-gen2-file-system-data-set-mapping data-set-id=XX file-system=XX resource-group=XX \ +storage-account-name=XX subscription-id=XX kind=XX + + data-set-id: Required. The id of the source data set. + file-system: Required. The file system name. + resource-group: Required. Resource group of storage account. + storage-account-name: Required. Storage account name of the source data set. + subscription-id: Required. Subscription id of storage account. + kind: Required. Kind of data set mapping. + - name: --adls-gen2-folder-data-set-mapping + short-summary: "An ADLS Gen2 folder data set mapping." + long-summary: | + Usage: --adls-gen2-folder-data-set-mapping data-set-id=XX file-system=XX folder-path=XX resource-group=XX \ +storage-account-name=XX subscription-id=XX kind=XX + + data-set-id: Required. The id of the source data set. + file-system: Required. File system to which the folder belongs. + folder-path: Required. Folder path within the file system. + resource-group: Required. Resource group of storage account. + storage-account-name: Required. Storage account name of the source data set. + subscription-id: Required. Subscription id of storage account. + kind: Required. Kind of data set mapping. + - name: --blob-container-data-set-mapping + short-summary: "A Blob container data set mapping." + long-summary: | + Usage: --blob-container-data-set-mapping container-name=XX data-set-id=XX resource-group=XX \ +storage-account-name=XX subscription-id=XX kind=XX + + container-name: Required. BLOB Container name. + data-set-id: Required. The id of the source data set. + resource-group: Required. Resource group of storage account. + storage-account-name: Required. Storage account name of the source data set. + subscription-id: Required. Subscription id of storage account. + kind: Required. Kind of data set mapping. + - name: --blob-data-set-mapping + short-summary: "A Blob data set mapping." + long-summary: | + Usage: --blob-data-set-mapping container-name=XX data-set-id=XX file-path=XX output-type=XX \ +resource-group=XX storage-account-name=XX subscription-id=XX kind=XX + + container-name: Required. Container that has the file path. + data-set-id: Required. The id of the source data set. + file-path: Required. File path within the source data set + output-type: File output type + resource-group: Required. Resource group of storage account. + storage-account-name: Required. Storage account name of the source data set. + subscription-id: Required. Subscription id of storage account. + kind: Required. Kind of data set mapping. + - name: --blob-folder-data-set-mapping + short-summary: "A Blob folder data set mapping." + long-summary: | + Usage: --blob-folder-data-set-mapping container-name=XX data-set-id=XX prefix=XX resource-group=XX \ +storage-account-name=XX subscription-id=XX kind=XX + + container-name: Required. Container that has the file path. + data-set-id: Required. The id of the source data set. + prefix: Required. Prefix for blob folder + resource-group: Required. Resource group of storage account. + storage-account-name: Required. Storage account name of the source data set. + subscription-id: Required. Subscription id of storage account. + kind: Required. Kind of data set mapping. + - name: --kusto-cluster-data-set-mapping + short-summary: "A Kusto cluster data set mapping" + long-summary: | + Usage: --kusto-cluster-data-set-mapping data-set-id=XX kusto-cluster-resource-id=XX kind=XX + + data-set-id: Required. The id of the source data set. + kusto-cluster-resource-id: Required. Resource id of the sink kusto cluster. + kind: Required. Kind of data set mapping. + - name: --kusto-database-data-set-mapping + short-summary: "A Kusto database data set mapping" + long-summary: | + Usage: --kusto-database-data-set-mapping data-set-id=XX kusto-cluster-resource-id=XX kind=XX + + data-set-id: Required. The id of the source data set. + kusto-cluster-resource-id: Required. Resource id of the sink kusto cluster. + kind: Required. Kind of data set mapping. + - name: --kusto-table-data-set-mapping + short-summary: "A Kusto database data set mapping" + long-summary: | + Usage: --kusto-table-data-set-mapping data-set-id=XX kusto-cluster-resource-id=XX kind=XX + + data-set-id: Required. The id of the source data set. + kusto-cluster-resource-id: Required. Resource id of the sink kusto cluster. + kind: Required. Kind of data set mapping. + - name: --sqldb-table-data-set-mapping + short-summary: "A SQL DB Table data set mapping." + long-summary: | + Usage: --sqldb-table-data-set-mapping database-name=XX data-set-id=XX schema-name=XX \ +sql-server-resource-id=XX table-name=XX kind=XX + + database-name: Required. DatabaseName name of the sink data set + data-set-id: Required. The id of the source data set. + schema-name: Required. Schema of the table. Default value is dbo. + sql-server-resource-id: Required. Resource id of SQL server + table-name: Required. SQL DB table name. + kind: Required. Kind of data set mapping. + - name: --sqldw-table-data-set-mapping + short-summary: "A SQL DW Table data set mapping." + long-summary: | + Usage: --sqldw-table-data-set-mapping data-set-id=XX data-warehouse-name=XX schema-name=XX \ +sql-server-resource-id=XX table-name=XX kind=XX + + data-set-id: Required. The id of the source data set. + data-warehouse-name: Required. DataWarehouse name of the source data set + schema-name: Required. Schema of the table. Default value is dbo. + sql-server-resource-id: Required. Resource id of SQL server + table-name: Required. SQL DW table name. + kind: Required. Kind of data set mapping. + - name: --synapse-workspace-sql-pool-table-data-set-mapping + short-summary: "A Synapse Workspace Sql Pool Table data set mapping" + long-summary: | + Usage: --synapse-workspace-sql-pool-table-data-set-mapping data-set-id=XX synapse-workspace-sql-pool-table-\ +resource-id=XX kind=XX + + data-set-id: Required. The id of the source data set. + synapse-workspace-sql-pool-table-resource-id: Required. Resource id of the Synapse Workspace SQL Pool \ +Table + kind: Required. Kind of data set mapping. + examples: + - name: DataSetMappings_SqlDWDataSetToAdlsGen2File_Create + text: |- + az datashare data-set-mapping create --account-name "Account1" --adls-gen2-file-data-set-mapping \ +data-set-id="a08f184b-0567-4b11-ba22-a1199336d226" file-path="file21" file-system="fileSystem" output-type="Csv" \ +resource-group="SampleResourceGroup" storage-account-name="storage2" subscription-id="433a8dfd-e5d5-4e77-ad86-90acdc75e\ +b1a" --name "DatasetMapping1" --resource-group "SampleResourceGroup" --share-subscription-name "ShareSubscription1" +""" + +helps['datashare data-set-mapping delete'] = """ + type: command + short-summary: "Delete a DataSetMapping in a shareSubscription." + examples: + - name: DataSetMappings_Delete + text: |- + az datashare data-set-mapping delete --account-name "Account1" --name "DatasetMapping1" \ +--resource-group "SampleResourceGroup" --share-subscription-name "ShareSubscription1" +""" + +helps['datashare email-registration'] = """ + type: group + short-summary: Manage email registration with datashare +""" + +helps['datashare email-registration activate-email'] = """ + type: command + short-summary: "Activate the email registration for the current tenant." + examples: + - name: EmailRegistrations_ActivateEmail + text: |- + az datashare email-registration activate-email --activation-code "djsfhakj2lekowd3wepfklpwe9lpflcd" \ +--location "East US 2" +""" + +helps['datashare email-registration register-email'] = """ + type: command + short-summary: "Register an email for the current tenant." + examples: + - name: EmailRegistrations_RegisterEmail + text: |- + az datashare email-registration register-email --location "East US 2" +""" + +helps['datashare invitation'] = """ + type: group + short-summary: Manage invitation with datashare +""" + +helps['datashare invitation list'] = """ + type: command + short-summary: "List invitations in a share." + examples: + - name: Invitations_ListByShare + text: |- + az datashare invitation list --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +""" + +helps['datashare invitation show'] = """ + type: command + short-summary: "Get an invitation in a share." + examples: + - name: Invitations_Get + text: |- + az datashare invitation show --account-name "Account1" --name "Invitation1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare invitation create'] = """ + type: command + short-summary: "Create an invitation." + examples: + - name: Invitations_Create + text: |- + az datashare invitation create --account-name "Account1" --expiration-date \ +"2020-08-26T22:33:24.5785265Z" --target-email "receiver@microsoft.com" --name "Invitation1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare invitation delete'] = """ + type: command + short-summary: "Delete an invitation in a share." + examples: + - name: Invitations_Delete + text: |- + az datashare invitation delete --account-name "Account1" --name "Invitation1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare list'] = """ + type: command + short-summary: "List shares in an account." + examples: + - name: Shares_ListByAccount + text: |- + az datashare list --account-name "Account1" --resource-group "SampleResourceGroup" +""" + +helps['datashare show'] = """ + type: command + short-summary: "Get a share." + examples: + - name: Shares_Get + text: |- + az datashare show --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" +""" + +helps['datashare create'] = """ + type: command + short-summary: "Create a share." + examples: + - name: Shares_Create + text: |- + az datashare create --account-name "Account1" --resource-group "SampleResourceGroup" --description \ +"share description" --share-kind "CopyBased" --terms "Confidential" --name "Share1" +""" + +helps['datashare delete'] = """ + type: command + short-summary: "Delete a share." + examples: + - name: Shares_Delete + text: |- + az datashare delete --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" +""" + +helps['datashare list-synchronization'] = """ + type: command + short-summary: "List synchronizations of a share." + examples: + - name: Shares_ListSynchronizations + text: |- + az datashare list-synchronization --account-name "Account1" --resource-group "SampleResourceGroup" \ +--name "Share1" +""" + +helps['datashare list-synchronization-detail'] = """ + type: command + short-summary: "List synchronization details." + examples: + - name: Shares_ListSynchronizationDetails + text: |- + az datashare list-synchronization-detail --account-name "Account1" --resource-group \ +"SampleResourceGroup" --name "Share1" --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +""" + +helps['datashare wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare is met. + examples: + - name: Pause executing next line of CLI script until the datashare is successfully deleted. + text: |- + az datashare wait --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" \ +--deleted +""" + +helps['datashare provider-share-subscription'] = """ + type: group + short-summary: Manage provider share subscription with datashare +""" + +helps['datashare provider-share-subscription list'] = """ + type: command + short-summary: "List share subscriptions in a provider share." + examples: + - name: ProviderShareSubscriptions_ListByShare + text: |- + az datashare provider-share-subscription list --account-name "Account1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare provider-share-subscription show'] = """ + type: command + short-summary: "Get share subscription in a provider share." + examples: + - name: ProviderShareSubscriptions_GetByShare + text: |- + az datashare provider-share-subscription show --account-name "Account1" --provider-share-subscription-id\ + "4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare provider-share-subscription adjust'] = """ + type: command + short-summary: "Adjust a share subscription's expiration date in a provider share." + examples: + - name: ProviderShareSubscriptions_Adjust + text: |- + az datashare provider-share-subscription adjust --account-name "Account1" --expiration-date \ +"2020-12-26T22:33:24.5785265Z" --provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" \ +--resource-group "SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare provider-share-subscription reinstate'] = """ + type: command + short-summary: "Reinstate share subscription in a provider share." + examples: + - name: ProviderShareSubscriptions_Reinstate + text: |- + az datashare provider-share-subscription reinstate --account-name "Account1" --expiration-date \ +"2020-12-26T22:33:24.5785265Z" --provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" \ +--resource-group "SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare provider-share-subscription revoke'] = """ + type: command + short-summary: "Revoke share subscription in a provider share." + examples: + - name: ProviderShareSubscriptions_Revoke + text: |- + az datashare provider-share-subscription revoke --account-name "Account1" \ +--provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +""" + +helps['datashare provider-share-subscription wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare provider-share-subscription is \ +met. + examples: + - name: Pause executing next line of CLI script until the datashare provider-share-subscription is successfully \ +created. + text: |- + az datashare provider-share-subscription wait --account-name "Account1" --provider-share-subscription-id\ + "4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" --share-name "Share1" --created +""" + +helps['datashare share-subscription'] = """ + type: group + short-summary: Manage share subscription with datashare +""" + +helps['datashare share-subscription list'] = """ + type: command + short-summary: "List share subscriptions in an account." + examples: + - name: ShareSubscriptions_ListByAccount + text: |- + az datashare share-subscription list --account-name "Account1" --resource-group "SampleResourceGroup" +""" + +helps['datashare share-subscription show'] = """ + type: command + short-summary: "Get a shareSubscription in an account." + examples: + - name: ShareSubscriptions_Get + text: |- + az datashare share-subscription show --account-name "Account1" --resource-group "SampleResourceGroup" \ +--name "ShareSubscription1" +""" + +helps['datashare share-subscription create'] = """ + type: command + short-summary: "Create a shareSubscription in an account." + examples: + - name: ShareSubscriptions_Create + text: |- + az datashare share-subscription create --account-name "Account1" --resource-group "SampleResourceGroup" \ +--expiration-date "2020-08-26T22:33:24.5785265Z" --invitation-id "12345678-1234-1234-12345678abd" \ +--source-share-location "eastus2" --name "ShareSubscription1" +""" + +helps['datashare share-subscription delete'] = """ + type: command + short-summary: "Delete a shareSubscription in an account." + examples: + - name: ShareSubscriptions_Delete + text: |- + az datashare share-subscription delete --account-name "Account1" --resource-group "SampleResourceGroup" \ +--name "ShareSubscription1" +""" + +helps['datashare share-subscription cancel-synchronization'] = """ + type: command + short-summary: "Request to cancel a synchronization." + examples: + - name: ShareSubscriptions_CancelSynchronization + text: |- + az datashare share-subscription cancel-synchronization --account-name "Account1" --resource-group \ +"SampleResourceGroup" --name "ShareSubscription1" --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +""" + +helps['datashare share-subscription list-source-share-synchronization-setting'] = """ + type: command + short-summary: "Get synchronization settings set on a share." + examples: + - name: ShareSubscriptions_ListSourceShareSynchronizationSettings + text: |- + az datashare share-subscription list-source-share-synchronization-setting --account-name "Account1" \ +--resource-group "SampleResourceGroup" --name "ShareSub1" +""" + +helps['datashare share-subscription list-synchronization'] = """ + type: command + short-summary: "List synchronizations of a share subscription." + examples: + - name: ShareSubscriptions_ListSynchronizations + text: |- + az datashare share-subscription list-synchronization --account-name "Account1" --resource-group \ +"SampleResourceGroup" --name "ShareSub1" +""" + +helps['datashare share-subscription list-synchronization-detail'] = """ + type: command + short-summary: "List synchronization details." + examples: + - name: ShareSubscriptions_ListSynchronizationDetails + text: |- + az datashare share-subscription list-synchronization-detail --account-name "Account1" --resource-group \ +"SampleResourceGroup" --name "ShareSub1" --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +""" + +helps['datashare share-subscription synchronize'] = """ + type: command + short-summary: "Initiate a copy." + examples: + - name: ShareSubscriptions_Synchronize + text: |- + az datashare share-subscription synchronize --account-name "Account1" --resource-group \ +"SampleResourceGroup" --name "ShareSubscription1" --synchronization-mode "Incremental" +""" + +helps['datashare share-subscription wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare share-subscription is met. + examples: + - name: Pause executing next line of CLI script until the datashare share-subscription is successfully deleted. + text: |- + az datashare share-subscription wait --account-name "Account1" --resource-group "SampleResourceGroup" \ +--name "ShareSubscription1" --deleted + - name: Pause executing next line of CLI script until the datashare share-subscription is successfully created. + text: |- + az datashare share-subscription wait --account-name "Account1" --resource-group "SampleResourceGroup" \ +--name "ShareSubscription1" --created +""" + +helps['datashare consumer-source-data-set'] = """ + type: group + short-summary: Manage consumer source data set with datashare +""" + +helps['datashare consumer-source-data-set list'] = """ + type: command + short-summary: "Get source dataSets of a shareSubscription." + examples: + - name: ConsumerSourceDataSets_ListByShareSubscription + text: |- + az datashare consumer-source-data-set list --account-name "Account1" --resource-group \ +"SampleResourceGroup" --share-subscription-name "Share1" +""" + +helps['datashare synchronization-setting'] = """ + type: group + short-summary: Manage synchronization setting with datashare +""" + +helps['datashare synchronization-setting list'] = """ + type: command + short-summary: "List synchronizationSettings in a share." + examples: + - name: SynchronizationSettings_ListByShare + text: |- + az datashare synchronization-setting list --account-name "Account1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +""" + +helps['datashare synchronization-setting show'] = """ + type: command + short-summary: "Get a synchronizationSetting in a share." + examples: + - name: SynchronizationSettings_Get + text: |- + az datashare synchronization-setting show --account-name "Account1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" --name "SynchronizationSetting1" +""" + +helps['datashare synchronization-setting create'] = """ + type: command + short-summary: "Create a synchronizationSetting." + parameters: + - name: --scheduled-synchronization-setting + short-summary: "A type of synchronization setting based on schedule" + long-summary: | + Usage: --scheduled-synchronization-setting recurrence-interval=XX synchronization-time=XX kind=XX + + recurrence-interval: Required. Recurrence Interval + synchronization-time: Required. Synchronization time + kind: Required. Kind of synchronization setting. + examples: + - name: SynchronizationSettings_Create + text: |- + az datashare synchronization-setting create --account-name "Account1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" --scheduled-synchronization-setting recurrence-interval="Day" \ +synchronization-time="2018-11-14T04:47:52.9614956Z" --name "Dataset1" +""" + +helps['datashare synchronization-setting delete'] = """ + type: command + short-summary: "Delete a synchronizationSetting in a share." + examples: + - name: SynchronizationSettings_Delete + text: |- + az datashare synchronization-setting delete --account-name "Account1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" --name "SynchronizationSetting1" +""" + +helps['datashare synchronization-setting wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare synchronization-setting is met. + examples: + - name: Pause executing next line of CLI script until the datashare synchronization-setting is successfully \ +deleted. + text: |- + az datashare synchronization-setting wait --account-name "Account1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" --name "SynchronizationSetting1" --deleted +""" + +helps['datashare trigger'] = """ + type: group + short-summary: Manage trigger with datashare +""" + +helps['datashare trigger list'] = """ + type: command + short-summary: "List Triggers in a share subscription." + examples: + - name: Triggers_ListByShareSubscription + text: |- + az datashare trigger list --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "ShareSubscription1" +""" + +helps['datashare trigger show'] = """ + type: command + short-summary: "Get a Trigger in a shareSubscription." + examples: + - name: Triggers_Get + text: |- + az datashare trigger show --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "ShareSubscription1" --name "Trigger1" +""" + +helps['datashare trigger create'] = """ + type: command + short-summary: "Create a Trigger." + parameters: + - name: --scheduled-trigger + short-summary: "A type of trigger based on schedule" + long-summary: | + Usage: --scheduled-trigger recurrence-interval=XX synchronization-mode=XX synchronization-time=XX kind=XX + + recurrence-interval: Required. Recurrence Interval + synchronization-mode: Synchronization mode + synchronization-time: Required. Synchronization time + kind: Required. Kind of synchronization on trigger. + examples: + - name: Triggers_Create + text: |- + az datashare trigger create --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "ShareSubscription1" --scheduled-trigger recurrence-interval="Day" \ +synchronization-mode="Incremental" synchronization-time="2018-11-14T04:47:52.9614956Z" --name "Trigger1" +""" + +helps['datashare trigger delete'] = """ + type: command + short-summary: "Delete a Trigger in a shareSubscription." + examples: + - name: Triggers_Delete + text: |- + az datashare trigger delete --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "ShareSubscription1" --name "Trigger1" +""" + +helps['datashare trigger wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the datashare trigger is met. + examples: + - name: Pause executing next line of CLI script until the datashare trigger is successfully created. + text: |- + az datashare trigger wait --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "ShareSubscription1" --name "Trigger1" --created + - name: Pause executing next line of CLI script until the datashare trigger is successfully deleted. + text: |- + az datashare trigger wait --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "ShareSubscription1" --name "Trigger1" --deleted +""" diff --git a/src/datashare/azext_datashare/generated/_params.py b/src/datashare/azext_datashare/generated/_params.py new file mode 100644 index 00000000000..0709dd72f6f --- /dev/null +++ b/src/datashare/azext_datashare/generated/_params.py @@ -0,0 +1,485 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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, + validate_file_or_dict +) +from azext_datashare.action import ( + AddAdlsGen2FileDataSetMapping, + AddAdlsGen2FileSystemDataSetMapping, + AddAdlsGen2FolderDataSetMapping, + AddBlobContainerDataSetMapping, + AddBlobDataSetMapping, + AddBlobFolderDataSetMapping, + AddKustoClusterDataSetMapping, + AddKustoDatabaseDataSetMapping, + AddKustoTableDataSetMapping, + AddSqldbTableDataSetMapping, + AddSqldwTableDataSetMapping, + AddSynapseWorkspaceSqlPoolTableDataSetMapping, + AddScheduledSynchronizationSetting, + AddScheduledTrigger +) + + +def load_arguments(self, _): + + with self.argument_context('datashare account list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('skip_token', type=str, help='Continuation token') + + with self.argument_context('datashare account show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', options_list=['--name', '-n', '--account-name'], type=str, help='The name of the ' + 'share account.', id_part='name') + + with self.argument_context('datashare account create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', options_list=['--name', '-n', '--account-name'], type=str, help='The name of the ' + 'share account.') + 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) + + with self.argument_context('datashare account update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', options_list=['--name', '-n', '--account-name'], type=str, help='The name of the ' + 'share account.', id_part='name') + c.argument('tags', tags_type) + + with self.argument_context('datashare account delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', options_list=['--name', '-n', '--account-name'], type=str, help='The name of the ' + 'share account.', id_part='name') + + with self.argument_context('datashare account wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', options_list=['--name', '-n', '--account-name'], type=str, help='The name of the ' + 'share account.', id_part='name') + + with self.argument_context('datashare consumer-invitation show') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx)) + c.argument('invitation_id', type=str, help='An invitation id') + + with self.argument_context('datashare consumer-invitation list-invitation') as c: + c.argument('skip_token', type=str, help='The continuation token') + + with self.argument_context('datashare consumer-invitation reject-invitation') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx)) + c.argument('invitation_id', type=str, help='Unique id of the invitation.') + + with self.argument_context('datashare data-set list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', type=str, help='The name of the share.') + c.argument('skip_token', type=str, help='continuation token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + + with self.argument_context('datashare data-set show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('data_set_name', options_list=['--name', '-n', '--data-set-name'], type=str, help='The name of the ' + 'dataSet.', id_part='child_name_2') + + with self.argument_context('datashare data-set create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', type=str, help='The name of the share to add the data set to.') + c.argument('data_set_name', options_list=['--name', '-n', '--data-set-name'], type=str, help='The name of the ' + 'dataSet.') + c.argument('data_set', type=validate_file_or_dict, help='The new data set information. Expected value: ' + 'json-string/json-file/@json-file.') + + with self.argument_context('datashare data-set delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('data_set_name', options_list=['--name', '-n', '--data-set-name'], type=str, help='The name of the ' + 'dataSet.', id_part='child_name_2') + + with self.argument_context('datashare data-set wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('data_set_name', options_list=['--name', '-n', '--data-set-name'], type=str, help='The name of the ' + 'dataSet.', id_part='child_name_2') + + with self.argument_context('datashare data-set-mapping list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', type=str, help='The name of the share subscription.') + c.argument('skip_token', type=str, help='Continuation token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + + with self.argument_context('datashare data-set-mapping show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', type=str, help='The name of the shareSubscription.', + id_part='child_name_1') + c.argument('data_set_mapping_name', options_list=['--name', '-n', '--data-set-mapping-name'], type=str, + help='The name of the dataSetMapping.', id_part='child_name_2') + + with self.argument_context('datashare data-set-mapping create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', type=str, help='The name of the share subscription which will hold the ' + 'data set sink.') + c.argument('data_set_mapping_name', options_list=['--name', '-n', '--data-set-mapping-name'], type=str, + help='The name of the data set mapping to be created.') + c.argument('adls_gen2_file_data_set_mapping', action=AddAdlsGen2FileDataSetMapping, nargs='+', help='An ADLS ' + 'Gen2 file data set mapping.', arg_group='DataSetMapping') + c.argument('adls_gen2_file_system_data_set_mapping', action=AddAdlsGen2FileSystemDataSetMapping, nargs='+', + help='An ADLS Gen2 file system data set mapping.', arg_group='DataSetMapping') + c.argument('adls_gen2_folder_data_set_mapping', action=AddAdlsGen2FolderDataSetMapping, nargs='+', help='An ' + 'ADLS Gen2 folder data set mapping.', arg_group='DataSetMapping') + c.argument('blob_container_data_set_mapping', action=AddBlobContainerDataSetMapping, nargs='+', help='A Blob ' + 'container data set mapping.', arg_group='DataSetMapping') + c.argument('blob_data_set_mapping', action=AddBlobDataSetMapping, nargs='+', help='A Blob data set mapping.', + arg_group='DataSetMapping') + c.argument('blob_folder_data_set_mapping', action=AddBlobFolderDataSetMapping, nargs='+', help='A Blob folder ' + 'data set mapping.', arg_group='DataSetMapping') + c.argument('kusto_cluster_data_set_mapping', action=AddKustoClusterDataSetMapping, nargs='+', help='A Kusto ' + 'cluster data set mapping', arg_group='DataSetMapping') + c.argument('kusto_database_data_set_mapping', action=AddKustoDatabaseDataSetMapping, nargs='+', help='A Kusto ' + 'database data set mapping', arg_group='DataSetMapping') + c.argument('kusto_table_data_set_mapping', action=AddKustoTableDataSetMapping, nargs='+', help='A Kusto ' + 'database data set mapping', arg_group='DataSetMapping') + c.argument('sqldb_table_data_set_mapping', action=AddSqldbTableDataSetMapping, nargs='+', help='A SQL DB Table ' + 'data set mapping.', arg_group='DataSetMapping') + c.argument('sqldw_table_data_set_mapping', action=AddSqldwTableDataSetMapping, nargs='+', help='A SQL DW Table ' + 'data set mapping.', arg_group='DataSetMapping') + c.argument('synapse_workspace_sql_pool_table_data_set_mapping', + action=AddSynapseWorkspaceSqlPoolTableDataSetMapping, nargs='+', help='A Synapse Workspace Sql Pool ' + 'Table data set mapping', arg_group='DataSetMapping') + + with self.argument_context('datashare data-set-mapping delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', type=str, help='The name of the shareSubscription.', + id_part='child_name_1') + c.argument('data_set_mapping_name', options_list=['--name', '-n', '--data-set-mapping-name'], type=str, + help='The name of the dataSetMapping.', id_part='child_name_2') + + with self.argument_context('datashare email-registration activate-email') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx)) + c.argument('activation_code', type=str, help='Activation code for the registration') + + with self.argument_context('datashare email-registration register-email') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx)) + + with self.argument_context('datashare invitation list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', type=str, help='The name of the share.') + c.argument('skip_token', type=str, help='The continuation token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + + with self.argument_context('datashare invitation show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('invitation_name', options_list=['--name', '-n', '--invitation-name'], type=str, help='The name of ' + 'the invitation.', id_part='child_name_2') + + with self.argument_context('datashare invitation create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', type=str, help='The name of the share to send the invitation for.') + c.argument('invitation_name', options_list=['--name', '-n', '--invitation-name'], type=str, help='The name of ' + 'the invitation.') + c.argument('expiration_date', help='The expiration date for the invitation and share subscription.') + c.argument('target_active_directory_id', type=str, help='The target Azure AD Id. Can\'t be combined with ' + 'email.') + c.argument('target_email', type=str, help='The email the invitation is directed to.') + c.argument('target_object_id', type=str, help='The target user or application Id that invitation is being sent ' + 'to. Must be specified along TargetActiveDirectoryId. This enables sending invitations to specific ' + 'users or applications in an AD tenant.') + + with self.argument_context('datashare invitation delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('invitation_name', options_list=['--name', '-n', '--invitation-name'], type=str, help='The name of ' + 'the invitation.', id_part='child_name_2') + + with self.argument_context('datashare list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('skip_token', type=str, help='Continuation Token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + + with self.argument_context('datashare show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', options_list=['--name', '-n', '--share-name'], type=str, help='The name of the share ' + 'to retrieve.', id_part='child_name_1') + + with self.argument_context('datashare create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', options_list=['--name', '-n', '--share-name'], type=str, + help='The name of the share.') + c.argument('description', type=str, help='Share description.') + c.argument('share_kind', arg_type=get_enum_type(['CopyBased', 'InPlace']), help='Share kind.') + c.argument('terms', type=str, help='Share terms.') + + with self.argument_context('datashare delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', options_list=['--name', '-n', '--share-name'], type=str, + help='The name of the share.', id_part='child_name_1') + + with self.argument_context('datashare list-synchronization') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', options_list=['--name', '-n', '--share-name'], type=str, + help='The name of the share.') + c.argument('skip_token', type=str, help='Continuation token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + + with self.argument_context('datashare list-synchronization-detail') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', options_list=['--name', '-n', '--share-name'], type=str, + help='The name of the share.') + c.argument('skip_token', type=str, help='Continuation token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + c.argument('consumer_email', type=str, help='Email of the user who created the synchronization') + c.argument('consumer_name', type=str, help='Name of the user who created the synchronization') + c.argument('consumer_tenant_name', type=str, + help='Tenant name of the consumer who created the synchronization') + c.argument('duration_ms', type=int, help='synchronization duration') + c.argument('end_time', help='End time of synchronization') + c.argument('message', type=str, help='message of synchronization') + c.argument('start_time', help='start time of synchronization') + c.argument('status', type=str, help='Raw Status') + c.argument('synchronization_id', type=str, help='Synchronization id') + + with self.argument_context('datashare wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', options_list=['--name', '-n', '--share-name'], type=str, help='The name of the share ' + 'to retrieve.', id_part='child_name_1') + + with self.argument_context('datashare provider-share-subscription list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', type=str, help='The name of the share.') + c.argument('skip_token', type=str, help='Continuation Token') + + with self.argument_context('datashare provider-share-subscription show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('provider_share_subscription_id', type=str, help='To locate shareSubscription', + id_part='child_name_2') + + with self.argument_context('datashare provider-share-subscription adjust') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('provider_share_subscription_id', type=str, help='To locate shareSubscription', + id_part='child_name_2') + c.argument('expiration_date', help='Expiration date of the share subscription in UTC format') + + with self.argument_context('datashare provider-share-subscription reinstate') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('provider_share_subscription_id', type=str, help='To locate shareSubscription', + id_part='child_name_2') + c.argument('expiration_date', help='Expiration date of the share subscription in UTC format') + + with self.argument_context('datashare provider-share-subscription revoke') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('provider_share_subscription_id', type=str, help='To locate shareSubscription', + id_part='child_name_2') + + with self.argument_context('datashare provider-share-subscription wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('provider_share_subscription_id', type=str, help='To locate shareSubscription', + id_part='child_name_2') + + with self.argument_context('datashare share-subscription list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('skip_token', type=str, help='Continuation Token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + + with self.argument_context('datashare share-subscription show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of the shareSubscription.', id_part='child_name_1') + + with self.argument_context('datashare share-subscription create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of the shareSubscription.') + c.argument('expiration_date', help='The expiration date of the share subscription.') + c.argument('invitation_id', type=str, help='The invitation id.') + c.argument('source_share_location', type=str, help='Source share location.') + + with self.argument_context('datashare share-subscription delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of the shareSubscription.', id_part='child_name_1') + + with self.argument_context('datashare share-subscription cancel-synchronization') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of the shareSubscription.', id_part='child_name_1') + c.argument('synchronization_id', type=str, help='Synchronization id') + + with self.argument_context('datashare share-subscription list-source-share-synchronization-setting') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of the shareSubscription.') + c.argument('skip_token', type=str, help='Continuation token') + + with self.argument_context('datashare share-subscription list-synchronization') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of the share subscription.') + c.argument('skip_token', type=str, help='Continuation token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + + with self.argument_context('datashare share-subscription list-synchronization-detail') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of the share subscription.') + c.argument('skip_token', type=str, help='Continuation token') + c.argument('filter_', options_list=['--filter'], type=str, help='Filters the results using OData syntax.') + c.argument('orderby', type=str, help='Sorts the results using OData syntax.') + c.argument('synchronization_id', type=str, help='Synchronization id') + + with self.argument_context('datashare share-subscription synchronize') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of share subscription', id_part='child_name_1') + c.argument('synchronization_mode', arg_type=get_enum_type(['Incremental', 'FullSync']), help='Mode of ' + 'synchronization used in triggers and snapshot sync. Incremental by default') + + with self.argument_context('datashare share-subscription wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', options_list=['--name', '-n', '--share-subscription-name'], type=str, + help='The name of the shareSubscription.', id_part='child_name_1') + + with self.argument_context('datashare consumer-source-data-set list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', type=str, help='The name of the shareSubscription.') + c.argument('skip_token', type=str, help='Continuation token') + + with self.argument_context('datashare synchronization-setting list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', type=str, help='The name of the share.') + c.argument('skip_token', type=str, help='continuation token') + + with self.argument_context('datashare synchronization-setting show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('synchronization_setting_name', options_list=['--name', '-n', '--synchronization-setting-name'], + type=str, help='The name of the synchronizationSetting.', id_part='child_name_2') + + with self.argument_context('datashare synchronization-setting create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_name', type=str, help='The name of the share to add the synchronization setting to.') + c.argument('synchronization_setting_name', options_list=['--name', '-n', '--synchronization-setting-name'], + type=str, help='The name of the synchronizationSetting.') + c.argument('scheduled_synchronization_setting', action=AddScheduledSynchronizationSetting, nargs='+', help='A ' + 'type of synchronization setting based on schedule', arg_group='SynchronizationSetting') + + with self.argument_context('datashare synchronization-setting delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('synchronization_setting_name', options_list=['--name', '-n', '--synchronization-setting-name'], + type=str, help='The name of the synchronizationSetting .', id_part='child_name_2') + + with self.argument_context('datashare synchronization-setting wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_name', type=str, help='The name of the share.', id_part='child_name_1') + c.argument('synchronization_setting_name', options_list=['--name', '-n', '--synchronization-setting-name'], + type=str, help='The name of the synchronizationSetting.', id_part='child_name_2') + + with self.argument_context('datashare trigger list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', type=str, help='The name of the share subscription.') + c.argument('skip_token', type=str, help='Continuation token') + + with self.argument_context('datashare trigger show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', type=str, help='The name of the shareSubscription.', + id_part='child_name_1') + c.argument('trigger_name', options_list=['--name', '-n', '--trigger-name'], type=str, help='The name of the ' + 'trigger.', id_part='child_name_2') + + with self.argument_context('datashare trigger create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.') + c.argument('share_subscription_name', type=str, help='The name of the share subscription which will hold the ' + 'data set sink.') + c.argument('trigger_name', options_list=['--name', '-n', '--trigger-name'], type=str, help='The name of the ' + 'trigger.') + c.argument('scheduled_trigger', action=AddScheduledTrigger, nargs='+', help='A type of trigger based on ' + 'schedule', arg_group='Trigger') + + with self.argument_context('datashare trigger delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', type=str, help='The name of the shareSubscription.', + id_part='child_name_1') + c.argument('trigger_name', options_list=['--name', '-n', '--trigger-name'], type=str, help='The name of the ' + 'trigger.', id_part='child_name_2') + + with self.argument_context('datashare trigger wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('account_name', type=str, help='The name of the share account.', id_part='name') + c.argument('share_subscription_name', type=str, help='The name of the shareSubscription.', + id_part='child_name_1') + c.argument('trigger_name', options_list=['--name', '-n', '--trigger-name'], type=str, help='The name of the ' + 'trigger.', id_part='child_name_2') diff --git a/src/datashare/azext_datashare/generated/_validators.py b/src/datashare/azext_datashare/generated/_validators.py new file mode 100644 index 00000000000..b33a44c1ebf --- /dev/null +++ b/src/datashare/azext_datashare/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/datashare/azext_datashare/generated/action.py b/src/datashare/azext_datashare/generated/action.py new file mode 100644 index 00000000000..54178041930 --- /dev/null +++ b/src/datashare/azext_datashare/generated/action.py @@ -0,0 +1,608 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 AddAdlsGen2FileDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.adls_gen2_file_data_set_mapping = 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 == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'file-path': + d['file_path'] = v[0] + + elif kl == 'file-system': + d['file_system'] = v[0] + + elif kl == 'output-type': + d['output_type'] = v[0] + + elif kl == 'resource-group': + d['resource_group'] = v[0] + + elif kl == 'storage-account-name': + d['storage_account_name'] = v[0] + + elif kl == 'subscription-id': + d['subscription_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter adls-gen2-file-data-set-mapping. All possible keys' + ' are: data-set-id, file-path, file-system, output-type, resource-group, storage-account-name,' + ' subscription-id'.format(k) + ) + + d['kind'] = 'AdlsGen2File' + + return d + + +class AddAdlsGen2FileSystemDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.adls_gen2_file_system_data_set_mapping = 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 == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'file-system': + d['file_system'] = v[0] + + elif kl == 'resource-group': + d['resource_group'] = v[0] + + elif kl == 'storage-account-name': + d['storage_account_name'] = v[0] + + elif kl == 'subscription-id': + d['subscription_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter adls-gen2-file-system-data-set-mapping. All possible' + ' keys are: data-set-id, file-system, resource-group, storage-account-name, subscription-id'.format( + k + ) + ) + + d['kind'] = 'AdlsGen2FileSystem' + + return d + + +class AddAdlsGen2FolderDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.adls_gen2_folder_data_set_mapping = 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 == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'file-system': + d['file_system'] = v[0] + + elif kl == 'folder-path': + d['folder_path'] = v[0] + + elif kl == 'resource-group': + d['resource_group'] = v[0] + + elif kl == 'storage-account-name': + d['storage_account_name'] = v[0] + + elif kl == 'subscription-id': + d['subscription_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter adls-gen2-folder-data-set-mapping. All possible keys' + ' are: data-set-id, file-system, folder-path, resource-group, storage-account-name, subscription-id' + .format(k) + ) + + d['kind'] = 'AdlsGen2Folder' + + return d + + +class AddBlobContainerDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.blob_container_data_set_mapping = 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 == 'container-name': + d['container_name'] = v[0] + + elif kl == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'resource-group': + d['resource_group'] = v[0] + + elif kl == 'storage-account-name': + d['storage_account_name'] = v[0] + + elif kl == 'subscription-id': + d['subscription_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter blob-container-data-set-mapping. All possible keys' + ' are: container-name, data-set-id, resource-group, storage-account-name, subscription-id'.format(k) + ) + + d['kind'] = 'Container' + + return d + + +class AddBlobDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.blob_data_set_mapping = 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 == 'container-name': + d['container_name'] = v[0] + + elif kl == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'file-path': + d['file_path'] = v[0] + + elif kl == 'output-type': + d['output_type'] = v[0] + + elif kl == 'resource-group': + d['resource_group'] = v[0] + + elif kl == 'storage-account-name': + d['storage_account_name'] = v[0] + + elif kl == 'subscription-id': + d['subscription_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter blob-data-set-mapping. All possible keys are:' + ' container-name, data-set-id, file-path, output-type, resource-group, storage-account-name,' + ' subscription-id'.format(k) + ) + + d['kind'] = 'Blob' + + return d + + +class AddBlobFolderDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.blob_folder_data_set_mapping = 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 == 'container-name': + d['container_name'] = v[0] + + elif kl == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'prefix': + d['prefix'] = v[0] + + elif kl == 'resource-group': + d['resource_group'] = v[0] + + elif kl == 'storage-account-name': + d['storage_account_name'] = v[0] + + elif kl == 'subscription-id': + d['subscription_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter blob-folder-data-set-mapping. All possible keys are:' + ' container-name, data-set-id, prefix, resource-group, storage-account-name, subscription-id' + .format(k) + ) + + d['kind'] = 'BlobFolder' + + return d + + +class AddKustoClusterDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.kusto_cluster_data_set_mapping = 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 == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'kusto-cluster-resource-id': + d['kusto_cluster_resource_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter kusto-cluster-data-set-mapping. All possible keys' + ' are: data-set-id, kusto-cluster-resource-id'.format(k) + ) + + d['kind'] = 'KustoCluster' + + return d + + +class AddKustoDatabaseDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.kusto_database_data_set_mapping = 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 == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'kusto-cluster-resource-id': + d['kusto_cluster_resource_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter kusto-database-data-set-mapping. All possible keys' + ' are: data-set-id, kusto-cluster-resource-id'.format(k) + ) + + d['kind'] = 'KustoDatabase' + + return d + + +class AddKustoTableDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.kusto_table_data_set_mapping = 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 == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'kusto-cluster-resource-id': + d['kusto_cluster_resource_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter kusto-table-data-set-mapping. All possible keys are:' + ' data-set-id, kusto-cluster-resource-id'.format(k) + ) + + d['kind'] = 'KustoTable' + + return d + + +class AddSqldbTableDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.sqldb_table_data_set_mapping = 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 == 'database-name': + d['database_name'] = v[0] + + elif kl == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'schema-name': + d['schema_name'] = v[0] + + elif kl == 'sql-server-resource-id': + d['sql_server_resource_id'] = v[0] + + elif kl == 'table-name': + d['table_name'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter sqldb-table-data-set-mapping. All possible keys are:' + ' database-name, data-set-id, schema-name, sql-server-resource-id, table-name'.format(k) + ) + + d['kind'] = 'SqlDBTable' + + return d + + +class AddSqldwTableDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.sqldw_table_data_set_mapping = 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 == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'data-warehouse-name': + d['data_warehouse_name'] = v[0] + + elif kl == 'schema-name': + d['schema_name'] = v[0] + + elif kl == 'sql-server-resource-id': + d['sql_server_resource_id'] = v[0] + + elif kl == 'table-name': + d['table_name'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter sqldw-table-data-set-mapping. All possible keys are:' + ' data-set-id, data-warehouse-name, schema-name, sql-server-resource-id, table-name'.format(k) + ) + + d['kind'] = 'SqlDWTable' + + return d + + +class AddSynapseWorkspaceSqlPoolTableDataSetMapping(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.synapse_workspace_sql_pool_table_data_set_mapping = 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 == 'data-set-id': + d['data_set_id'] = v[0] + + elif kl == 'synapse-workspace-sql-pool-table-resource-id': + d['synapse_workspace_sql_pool_table_resource_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter synapse-workspace-sql-pool-table-data-set-mapping.' + ' All possible keys are: data-set-id, synapse-workspace-sql-pool-table-resource-id'.format(k) + ) + + d['kind'] = 'SynapseWorkspaceSqlPoolTable' + + return d + + +class AddScheduledSynchronizationSetting(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.scheduled_synchronization_setting = 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 == 'recurrence-interval': + d['recurrence_interval'] = v[0] + + elif kl == 'synchronization-time': + d['synchronization_time'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter scheduled-synchronization-setting. All possible keys' + ' are: recurrence-interval, synchronization-time'.format(k) + ) + + d['kind'] = 'ScheduleBased' + + return d + + +class AddScheduledTrigger(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.scheduled_trigger = 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 == 'recurrence-interval': + d['recurrence_interval'] = v[0] + + elif kl == 'synchronization-mode': + d['synchronization_mode'] = v[0] + + elif kl == 'synchronization-time': + d['synchronization_time'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter scheduled-trigger. All possible keys are:' + ' recurrence-interval, synchronization-mode, synchronization-time'.format(k) + ) + + d['kind'] = 'ScheduleBased' + + return d diff --git a/src/datashare/azext_datashare/generated/commands.py b/src/datashare/azext_datashare/generated/commands.py new file mode 100644 index 00000000000..7b841d035e1 --- /dev/null +++ b/src/datashare/azext_datashare/generated/commands.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. +# +# 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_datashare.generated._client_factory import ( + cf_account, + cf_consumer_invitation, + cf_data_set, + cf_data_set_mapping, + cf_email_registration, + cf_invitation, + cf_share, + cf_provider_share_subscription, + cf_share_subscription, + cf_consumer_source_data_set, + cf_synchronization_setting, + cf_trigger, +) + + +datashare_share = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._shares_operations#SharesOperations.{}', + client_factory=cf_share, +) + + +datashare_account = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._accounts_operations#AccountsOperations.{}', + client_factory=cf_account, +) + + +datashare_consumer_invitation = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._consumer_invitations_operations#ConsumerInvitationsOperations.{}', + client_factory=cf_consumer_invitation, +) + + +datashare_consumer_source_data_set = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._consumer_source_data_sets_operations#ConsumerSourceDataSetsOperations.{}', + client_factory=cf_consumer_source_data_set, +) + + +datashare_data_set = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._data_sets_operations#DataSetsOperations.{}', + client_factory=cf_data_set, +) + + +datashare_data_set_mapping = CliCommandType( + operations_tmpl=( + 'azext_datashare.vendored_sdks.datashare.operations._data_set_mappings_operations#DataSetMappingsOperations.{}' + ), + client_factory=cf_data_set_mapping, +) + + +datashare_email_registration = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._email_registrations_operations#EmailRegistrationsOperations.{}', + client_factory=cf_email_registration, +) + + +datashare_invitation = CliCommandType( + operations_tmpl=( + 'azext_datashare.vendored_sdks.datashare.operations._invitations_operations#InvitationsOperations.{}' + ), + client_factory=cf_invitation, +) + + +datashare_provider_share_subscription = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._provider_share_subscriptions_operations#ProviderShareSubscriptionsOperations.{}', + client_factory=cf_provider_share_subscription, +) + + +datashare_share_subscription = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._share_subscriptions_operations#ShareSubscriptionsOperations.{}', + client_factory=cf_share_subscription, +) + + +datashare_synchronization_setting = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._synchronization_settings_operations#SynchronizationSettingsOperations.{}', + client_factory=cf_synchronization_setting, +) + + +datashare_trigger = CliCommandType( + operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._triggers_operations#TriggersOperations.{}', + client_factory=cf_trigger, +) + + +def load_command_table(self, _): + + with self.command_group('datashare', datashare_share, client_factory=cf_share, is_experimental=True) as g: + g.custom_command('list', 'datashare_list') + g.custom_show_command('show', 'datashare_show') + g.custom_command('create', 'datashare_create') + g.custom_command('delete', 'datashare_delete', supports_no_wait=True, confirmation=True) + g.custom_command('list-synchronization', 'datashare_list_synchronization') + g.custom_command('list-synchronization-detail', 'datashare_list_synchronization_detail') + g.custom_wait_command('wait', 'datashare_show') + + with self.command_group('datashare account', datashare_account, client_factory=cf_account) as g: + g.custom_command('list', 'datashare_account_list') + g.custom_show_command('show', 'datashare_account_show') + g.custom_command('create', 'datashare_account_create', supports_no_wait=True) + g.custom_command('update', 'datashare_account_update') + g.custom_command('delete', 'datashare_account_delete', supports_no_wait=True, confirmation=True) + g.custom_wait_command('wait', 'datashare_account_show') + + with self.command_group( + 'datashare consumer-invitation', datashare_consumer_invitation, client_factory=cf_consumer_invitation + ) as g: + g.custom_show_command('show', 'datashare_consumer_invitation_show') + g.custom_command('list-invitation', 'datashare_consumer_invitation_list_invitation') + g.custom_command('reject-invitation', 'datashare_consumer_invitation_reject_invitation') + + with self.command_group( + 'datashare consumer-source-data-set', + datashare_consumer_source_data_set, + client_factory=cf_consumer_source_data_set, + ) as g: + g.custom_command('list', 'datashare_consumer_source_data_set_list') + + with self.command_group('datashare data-set', datashare_data_set, client_factory=cf_data_set) as g: + g.custom_command('list', 'datashare_data_set_list') + g.custom_show_command('show', 'datashare_data_set_show') + g.custom_command('create', 'datashare_data_set_create') + g.custom_command('delete', 'datashare_data_set_delete', supports_no_wait=True, confirmation=True) + g.custom_wait_command('wait', 'datashare_data_set_show') + + with self.command_group( + 'datashare data-set-mapping', datashare_data_set_mapping, client_factory=cf_data_set_mapping + ) as g: + g.custom_command('list', 'datashare_data_set_mapping_list') + g.custom_show_command('show', 'datashare_data_set_mapping_show') + g.custom_command('create', 'datashare_data_set_mapping_create') + g.custom_command('delete', 'datashare_data_set_mapping_delete', confirmation=True) + + with self.command_group( + 'datashare email-registration', datashare_email_registration, client_factory=cf_email_registration + ) as g: + g.custom_command('activate-email', 'datashare_email_registration_activate_email') + g.custom_command('register-email', 'datashare_email_registration_register_email') + + with self.command_group('datashare invitation', datashare_invitation, client_factory=cf_invitation) as g: + g.custom_command('list', 'datashare_invitation_list') + g.custom_show_command('show', 'datashare_invitation_show') + g.custom_command('create', 'datashare_invitation_create') + g.custom_command('delete', 'datashare_invitation_delete', confirmation=True) + + with self.command_group( + 'datashare provider-share-subscription', + datashare_provider_share_subscription, + client_factory=cf_provider_share_subscription, + ) as g: + g.custom_command('list', 'datashare_provider_share_subscription_list') + g.custom_show_command('show', 'datashare_provider_share_subscription_show') + g.custom_command('adjust', 'datashare_provider_share_subscription_adjust') + g.custom_command('reinstate', 'datashare_provider_share_subscription_reinstate') + g.custom_command('revoke', 'datashare_provider_share_subscription_revoke', supports_no_wait=True) + g.custom_wait_command('wait', 'datashare_provider_share_subscription_show') + + with self.command_group( + 'datashare share-subscription', datashare_share_subscription, client_factory=cf_share_subscription + ) as g: + g.custom_command('list', 'datashare_share_subscription_list') + g.custom_show_command('show', 'datashare_share_subscription_show') + g.custom_command('create', 'datashare_share_subscription_create') + g.custom_command('delete', 'datashare_share_subscription_delete', supports_no_wait=True, confirmation=True) + g.custom_command( + 'cancel-synchronization', 'datashare_share_subscription_cancel_synchronization', supports_no_wait=True + ) + g.custom_command( + 'list-source-share-synchronization-setting', + 'datashare_share_subscription_list_source_share_synchronization_setting', + ) + g.custom_command('list-synchronization', 'datashare_share_subscription_list_synchronization') + g.custom_command('list-synchronization-detail', 'datashare_share_subscription_list_synchronization_detail') + g.custom_command('synchronize', 'datashare_share_subscription_synchronize', supports_no_wait=True) + g.custom_wait_command('wait', 'datashare_share_subscription_show') + + with self.command_group( + 'datashare synchronization-setting', + datashare_synchronization_setting, + client_factory=cf_synchronization_setting, + ) as g: + g.custom_command('list', 'datashare_synchronization_setting_list') + g.custom_show_command('show', 'datashare_synchronization_setting_show') + g.custom_command('create', 'datashare_synchronization_setting_create') + g.custom_command('delete', 'datashare_synchronization_setting_delete', supports_no_wait=True, confirmation=True) + g.custom_wait_command('wait', 'datashare_synchronization_setting_show') + + with self.command_group('datashare trigger', datashare_trigger, client_factory=cf_trigger) as g: + g.custom_command('list', 'datashare_trigger_list') + g.custom_show_command('show', 'datashare_trigger_show') + g.custom_command('create', 'datashare_trigger_create', supports_no_wait=True) + g.custom_command('delete', 'datashare_trigger_delete', supports_no_wait=True, confirmation=True) + g.custom_wait_command('wait', 'datashare_trigger_show') diff --git a/src/datashare/azext_datashare/generated/custom.py b/src/datashare/azext_datashare/generated/custom.py new file mode 100644 index 00000000000..a44d1c57eb9 --- /dev/null +++ b/src/datashare/azext_datashare/generated/custom.py @@ -0,0 +1,764 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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.util import CLIError +from azure.cli.core.util import sdk_no_wait + + +def datashare_account_list(client, + resource_group_name=None, + skip_token=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name, + skip_token=skip_token) + return client.list_by_subscription(skip_token=skip_token) + + +def datashare_account_show(client, + resource_group_name, + account_name): + return client.get(resource_group_name=resource_group_name, + account_name=account_name) + + +def datashare_account_create(client, + resource_group_name, + account_name, + location=None, + tags=None, + no_wait=False): + account = {} + if location is not None: + account['location'] = location + if tags is not None: + account['tags'] = tags + account['identity'] = {} + account['identity']['type'] = "SystemAssigned" + if len(account['identity']) == 0: + del account['identity'] + return sdk_no_wait(no_wait, + client.begin_create, + resource_group_name=resource_group_name, + account_name=account_name, + account=account) + + +def datashare_account_update(client, + resource_group_name, + account_name, + tags=None): + account_update_parameters = {} + if tags is not None: + account_update_parameters['tags'] = tags + return client.update(resource_group_name=resource_group_name, + account_name=account_name, + account_update_parameters=account_update_parameters) + + +def datashare_account_delete(client, + resource_group_name, + account_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name) + + +def datashare_consumer_invitation_show(client, + location, + invitation_id): + return client.get(location=location, + invitation_id=invitation_id) + + +def datashare_consumer_invitation_list_invitation(client, + skip_token=None): + return client.list_invitations(skip_token=skip_token) + + +def datashare_consumer_invitation_reject_invitation(client, + location, + invitation_id): + invitation = {} + invitation['invitation_id'] = invitation_id + return client.reject_invitation(location=location, + invitation=invitation) + + +def datashare_data_set_list(client, + resource_group_name, + account_name, + share_name, + skip_token=None, + filter_=None, + orderby=None): + return client.list_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby) + + +def datashare_data_set_show(client, + resource_group_name, + account_name, + share_name, + data_set_name): + return client.get(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_name) + + +def datashare_data_set_create(client, + resource_group_name, + account_name, + share_name, + data_set_name, + data_set): + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_name, + data_set=data_set) + + +def datashare_data_set_delete(client, + resource_group_name, + account_name, + share_name, + data_set_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_name) + + +def datashare_data_set_mapping_list(client, + resource_group_name, + account_name, + share_subscription_name, + skip_token=None, + filter_=None, + orderby=None): + return client.list_by_share_subscription(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby) + + +def datashare_data_set_mapping_show(client, + resource_group_name, + account_name, + share_subscription_name, + data_set_mapping_name): + return client.get(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + data_set_mapping_name=data_set_mapping_name) + + +def datashare_data_set_mapping_create(client, + resource_group_name, + account_name, + share_subscription_name, + data_set_mapping_name, + adls_gen2_file_data_set_mapping=None, + adls_gen2_file_system_data_set_mapping=None, + adls_gen2_folder_data_set_mapping=None, + blob_container_data_set_mapping=None, + blob_data_set_mapping=None, + blob_folder_data_set_mapping=None, + kusto_cluster_data_set_mapping=None, + kusto_database_data_set_mapping=None, + kusto_table_data_set_mapping=None, + sqldb_table_data_set_mapping=None, + sqldw_table_data_set_mapping=None, + synapse_workspace_sql_pool_table_data_set_mapping=None): + all_data_set_mapping = [] + if adls_gen2_file_data_set_mapping is not None: + all_data_set_mapping.append(adls_gen2_file_data_set_mapping) + if adls_gen2_file_system_data_set_mapping is not None: + all_data_set_mapping.append(adls_gen2_file_system_data_set_mapping) + if adls_gen2_folder_data_set_mapping is not None: + all_data_set_mapping.append(adls_gen2_folder_data_set_mapping) + if blob_container_data_set_mapping is not None: + all_data_set_mapping.append(blob_container_data_set_mapping) + if blob_data_set_mapping is not None: + all_data_set_mapping.append(blob_data_set_mapping) + if blob_folder_data_set_mapping is not None: + all_data_set_mapping.append(blob_folder_data_set_mapping) + if kusto_cluster_data_set_mapping is not None: + all_data_set_mapping.append(kusto_cluster_data_set_mapping) + if kusto_database_data_set_mapping is not None: + all_data_set_mapping.append(kusto_database_data_set_mapping) + if kusto_table_data_set_mapping is not None: + all_data_set_mapping.append(kusto_table_data_set_mapping) + if sqldb_table_data_set_mapping is not None: + all_data_set_mapping.append(sqldb_table_data_set_mapping) + if sqldw_table_data_set_mapping is not None: + all_data_set_mapping.append(sqldw_table_data_set_mapping) + if synapse_workspace_sql_pool_table_data_set_mapping is not None: + all_data_set_mapping.append(synapse_workspace_sql_pool_table_data_set_mapping) + if len(all_data_set_mapping) > 1: + raise CLIError('at most one of adls_gen2_file_data_set_mapping, adls_gen2_file_system_data_set_mapping, ' + 'adls_gen2_folder_data_set_mapping, blob_container_data_set_mapping, blob_data_set_mapping, ' + 'blob_folder_data_set_mapping, kusto_cluster_data_set_mapping, kusto_database_data_set_mapping, ' + 'kusto_table_data_set_mapping, sqldb_table_data_set_mapping, sqldw_table_data_set_mapping, ' + 'synapse_workspace_sql_pool_table_data_set_mapping is needed for data_set_mapping!') + if len(all_data_set_mapping) != 1: + raise CLIError('data_set_mapping is required. but none of adls_gen2_file_data_set_mapping, ' + 'adls_gen2_file_system_data_set_mapping, adls_gen2_folder_data_set_mapping, ' + 'blob_container_data_set_mapping, blob_data_set_mapping, blob_folder_data_set_mapping, ' + 'kusto_cluster_data_set_mapping, kusto_database_data_set_mapping, kusto_table_data_set_mapping, ' + 'sqldb_table_data_set_mapping, sqldw_table_data_set_mapping, synapse_workspace_sql_pool_table_da' + 'ta_set_mapping is provided!') + data_set_mapping = all_data_set_mapping[0] if len(all_data_set_mapping) == 1 else None + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + data_set_mapping_name=data_set_mapping_name, + data_set_mapping=data_set_mapping) + + +def datashare_data_set_mapping_delete(client, + resource_group_name, + account_name, + share_subscription_name, + data_set_mapping_name): + return client.delete(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + data_set_mapping_name=data_set_mapping_name) + + +def datashare_email_registration_activate_email(client, + location, + activation_code=None): + email_registration = {} + if activation_code is not None: + email_registration['activation_code'] = activation_code + return client.activate_email(location=location, + email_registration=email_registration) + + +def datashare_email_registration_register_email(client, + location): + return client.register_email(location=location) + + +def datashare_invitation_list(client, + resource_group_name, + account_name, + share_name, + skip_token=None, + filter_=None, + orderby=None): + return client.list_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby) + + +def datashare_invitation_show(client, + resource_group_name, + account_name, + share_name, + invitation_name): + return client.get(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + invitation_name=invitation_name) + + +def datashare_invitation_create(client, + resource_group_name, + account_name, + share_name, + invitation_name, + expiration_date=None, + target_active_directory_id=None, + target_email=None, + target_object_id=None): + invitation = {} + if expiration_date is not None: + invitation['expiration_date'] = expiration_date + if target_active_directory_id is not None: + invitation['target_active_directory_id'] = target_active_directory_id + if target_email is not None: + invitation['target_email'] = target_email + if target_object_id is not None: + invitation['target_object_id'] = target_object_id + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + invitation_name=invitation_name, + invitation=invitation) + + +def datashare_invitation_delete(client, + resource_group_name, + account_name, + share_name, + invitation_name): + return client.delete(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + invitation_name=invitation_name) + + +def datashare_list(client, + resource_group_name, + account_name, + skip_token=None, + filter_=None, + orderby=None): + return client.list_by_account(resource_group_name=resource_group_name, + account_name=account_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby) + + +def datashare_show(client, + resource_group_name, + account_name, + share_name): + return client.get(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name) + + +def datashare_create(client, + resource_group_name, + account_name, + share_name, + description=None, + share_kind=None, + terms=None): + share = {} + if description is not None: + share['description'] = description + if share_kind is not None: + share['share_kind'] = share_kind + if terms is not None: + share['terms'] = terms + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + share=share) + + +def datashare_delete(client, + resource_group_name, + account_name, + share_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name) + + +def datashare_list_synchronization(client, + resource_group_name, + account_name, + share_name, + skip_token=None, + filter_=None, + orderby=None): + return client.list_synchronizations(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby) + + +def datashare_list_synchronization_detail(client, + resource_group_name, + account_name, + share_name, + skip_token=None, + filter_=None, + orderby=None, + consumer_email=None, + consumer_name=None, + consumer_tenant_name=None, + duration_ms=None, + end_time=None, + message=None, + start_time=None, + status=None, + synchronization_id=None): + share_synchronization = {} + if consumer_email is not None: + share_synchronization['consumer_email'] = consumer_email + if consumer_name is not None: + share_synchronization['consumer_name'] = consumer_name + if consumer_tenant_name is not None: + share_synchronization['consumer_tenant_name'] = consumer_tenant_name + if duration_ms is not None: + share_synchronization['duration_ms'] = duration_ms + if end_time is not None: + share_synchronization['end_time'] = end_time + if message is not None: + share_synchronization['message'] = message + if start_time is not None: + share_synchronization['start_time'] = start_time + if status is not None: + share_synchronization['status'] = status + if synchronization_id is not None: + share_synchronization['synchronization_id'] = synchronization_id + return client.list_synchronization_details(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby, + share_synchronization=share_synchronization) + + +def datashare_provider_share_subscription_list(client, + resource_group_name, + account_name, + share_name, + skip_token=None): + return client.list_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + skip_token=skip_token) + + +def datashare_provider_share_subscription_show(client, + resource_group_name, + account_name, + share_name, + provider_share_subscription_id): + return client.get_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id) + + +def datashare_provider_share_subscription_adjust(client, + resource_group_name, + account_name, + share_name, + provider_share_subscription_id, + expiration_date=None): + provider_share_subscription = {} + if expiration_date is not None: + provider_share_subscription['expiration_date'] = expiration_date + return client.adjust(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id, + provider_share_subscription=provider_share_subscription) + + +def datashare_provider_share_subscription_reinstate(client, + resource_group_name, + account_name, + share_name, + provider_share_subscription_id, + expiration_date=None): + provider_share_subscription = {} + if expiration_date is not None: + provider_share_subscription['expiration_date'] = expiration_date + return client.reinstate(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id, + provider_share_subscription=provider_share_subscription) + + +def datashare_provider_share_subscription_revoke(client, + resource_group_name, + account_name, + share_name, + provider_share_subscription_id, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_revoke, + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id) + + +def datashare_share_subscription_list(client, + resource_group_name, + account_name, + skip_token=None, + filter_=None, + orderby=None): + return client.list_by_account(resource_group_name=resource_group_name, + account_name=account_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby) + + +def datashare_share_subscription_show(client, + resource_group_name, + account_name, + share_subscription_name): + return client.get(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name) + + +def datashare_share_subscription_create(client, + resource_group_name, + account_name, + share_subscription_name, + invitation_id, + source_share_location, + expiration_date=None): + share_subscription = {} + if expiration_date is not None: + share_subscription['expiration_date'] = expiration_date + share_subscription['invitation_id'] = invitation_id + share_subscription['source_share_location'] = source_share_location + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + share_subscription=share_subscription) + + +def datashare_share_subscription_delete(client, + resource_group_name, + account_name, + share_subscription_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name) + + +def datashare_share_subscription_cancel_synchronization(client, + resource_group_name, + account_name, + share_subscription_name, + synchronization_id, + no_wait=False): + share_subscription_synchronization = {} + share_subscription_synchronization['synchronization_id'] = synchronization_id + return sdk_no_wait(no_wait, + client.begin_cancel_synchronization, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + share_subscription_synchronization=share_subscription_synchronization) + + +def datashare_share_subscription_list_source_share_synchronization_setting(client, + resource_group_name, + account_name, + share_subscription_name, + skip_token=None): + return client.list_source_share_synchronization_settings(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + skip_token=skip_token) + + +def datashare_share_subscription_list_synchronization(client, + resource_group_name, + account_name, + share_subscription_name, + skip_token=None, + filter_=None, + orderby=None): + return client.list_synchronizations(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby) + + +def datashare_share_subscription_list_synchronization_detail(client, + resource_group_name, + account_name, + share_subscription_name, + synchronization_id, + skip_token=None, + filter_=None, + orderby=None): + share_subscription_synchronization = {} + share_subscription_synchronization['synchronization_id'] = synchronization_id + return client.list_synchronization_details(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + skip_token=skip_token, + filter=filter_, + orderby=orderby, + share_subscription_synchronization=share_subscription_synchronization) + + +def datashare_share_subscription_synchronize(client, + resource_group_name, + account_name, + share_subscription_name, + synchronization_mode=None, + no_wait=False): + synchronize = {} + if synchronization_mode is not None: + synchronize['synchronization_mode'] = synchronization_mode + return sdk_no_wait(no_wait, + client.begin_synchronize, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronize=synchronize) + + +def datashare_consumer_source_data_set_list(client, + resource_group_name, + account_name, + share_subscription_name, + skip_token=None): + return client.list_by_share_subscription(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + skip_token=skip_token) + + +def datashare_synchronization_setting_list(client, + resource_group_name, + account_name, + share_name, + skip_token=None): + return client.list_by_share(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + skip_token=skip_token) + + +def datashare_synchronization_setting_show(client, + resource_group_name, + account_name, + share_name, + synchronization_setting_name): + return client.get(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_name) + + +def datashare_synchronization_setting_create(client, + resource_group_name, + account_name, + share_name, + synchronization_setting_name, + scheduled_synchronization_setting=None): + all_synchronization_setting = [] + if scheduled_synchronization_setting is not None: + all_synchronization_setting.append(scheduled_synchronization_setting) + if len(all_synchronization_setting) > 1: + raise CLIError('at most one of scheduled_synchronization_setting is needed for synchronization_setting!') + if len(all_synchronization_setting) != 1: + raise CLIError('synchronization_setting is required. but none of scheduled_synchronization_setting is ' + 'provided!') + synchronization_setting = all_synchronization_setting[0] if len(all_synchronization_setting) == 1 else None + return client.create(resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_name, + synchronization_setting=synchronization_setting) + + +def datashare_synchronization_setting_delete(client, + resource_group_name, + account_name, + share_name, + synchronization_setting_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_name) + + +def datashare_trigger_list(client, + resource_group_name, + account_name, + share_subscription_name, + skip_token=None): + return client.list_by_share_subscription(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + skip_token=skip_token) + + +def datashare_trigger_show(client, + resource_group_name, + account_name, + share_subscription_name, + trigger_name): + return client.get(resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name) + + +def datashare_trigger_create(client, + resource_group_name, + account_name, + share_subscription_name, + trigger_name, + scheduled_trigger=None, + no_wait=False): + all_trigger = [] + if scheduled_trigger is not None: + all_trigger.append(scheduled_trigger) + if len(all_trigger) > 1: + raise CLIError('at most one of scheduled_trigger is needed for trigger!') + if len(all_trigger) != 1: + raise CLIError('trigger is required. but none of scheduled_trigger is provided!') + trigger = all_trigger[0] if len(all_trigger) == 1 else None + return sdk_no_wait(no_wait, + client.begin_create, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name, + trigger=trigger) + + +def datashare_trigger_delete(client, + resource_group_name, + account_name, + share_subscription_name, + trigger_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name) diff --git a/src/datashare/azext_datashare/manual/_help.py b/src/datashare/azext_datashare/manual/_help.py deleted file mode 100644 index e8b910eb70a..00000000000 --- a/src/datashare/azext_datashare/manual/_help.py +++ /dev/null @@ -1,625 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -# pylint: disable=too-many-lines - -from knack.help_files import helps - - -helps['datashare consumer'] = """ - type: group - short-summary: Commands for consumers to manage datashare -""" - -helps['datashare account'] = """ - type: group - short-summary: Commands to manage datashare accounts -""" - -helps['datashare account list'] = """ - type: command - short-summary: List datashare accounts - examples: - - name: List accounts by resource group - text: |- - az datashare account list --resource-group MyResourceGroup -""" - -helps['datashare account show'] = """ - type: command - short-summary: Show an account - examples: - - name: Show account information - text: |- - az datashare account show --name MyAccount --resource-group MyResourceGroup -""" - -helps['datashare account create'] = """ - type: command - short-summary: Create an account - examples: - - name: Create an account - text: |- - az datashare account create --location "West US 2" --tags tag1=Red tag2=White --name MyAccount --resource-group MyResourceGroup -""" - -helps['datashare account update'] = """ - type: command - short-summary: Patch an account - examples: - - name: Update account tags - text: |- - az datashare account update --name MyAccount --tags tag1=Red tag2=White --resource-group MyResourceGroup -""" - -helps['datashare account delete'] = """ - type: command - short-summary: Delete an account - examples: - - name: Delete the account - text: |- - az datashare account delete --name MyAccount --resource-group MyResourceGroup -""" - -helps['datashare account wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the datashare account is met. - examples: - - name: Pause executing next line of CLI script until the datashare account is successfully provisioned. - text: az datashare account wait --name MyAccount --resource-group MyResourceGroup --created -""" - -helps['datashare consumer invitation'] = """ - type: group - short-summary: Commands for consumers to manage datashare invitations -""" - -helps['datashare consumer invitation list'] = """ - type: command - short-summary: List received invitations - examples: - - name: List invitations - text: |- - az datashare consumer invitation list -""" - -helps['datashare consumer invitation show'] = """ - type: command - short-summary: Show a received invitation - examples: - - name: Show an invitation - text: |- - az datashare consumer invitation show --invitation-id 00000000-0000-0000-0000-000000000000 --location "East US 2" -""" - -helps['datashare consumer invitation reject'] = """ - type: command - short-summary: Reject an invitation - examples: - - name: Reject an invitation - text: |- - az datashare consumer invitation reject --invitation-id 00000000-0000-0000-0000-000000000000 --location "East US 2" -""" - -helps['datashare dataset'] = """ - type: group - short-summary: Commands for providers to manage datashare datasets -""" - -helps['datashare dataset list'] = """ - type: command - short-summary: List datasets in a share - examples: - - name: List datasets - text: |- - az datashare dataset list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare dataset show'] = """ - type: command - short-summary: Show a dataset - examples: - - name: Show a dataset - text: |- - az datashare dataset show --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare dataset create'] = """ - type: command - short-summary: Create a dataset - examples: - - name: Create a Blob dataset - text: |- - az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ ---dataset "{\\"kind\\":\\"Blob\\",\\"properties\\":{\\"containerName\\":\\"C1\\",\\"filePath\\":\\"file21\\",\\"resourceGroup\\": \ -\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"00000000-0000-0000-0000-000000000000\\"}}" - - name: Create a BlobFolder dataset - text: |- - az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ ---dataset "{\\"kind\\":\\"BlobFolder\\",\\"properties\\":{\\"containerName\\":\\"C1\\",\\"prefix\\":\\"folder21\\",\\"resourceGroup\\": \ -\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"00000000-0000-0000-0000-000000000000\\"}}" - - name: Create a KustoCluster dataset - text: |- - az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ ---dataset "{\\"kind\\":\\"KustoCluster\\",\\"properties\\":{\\"kustoClusterResourceId\\": \ -\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Kusto/clusters/Cluster1\\"}}" - - name: Create a KustoDatabase dataset - text: |- - az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ ---dataset "{\\"kind\\":\\"KustoDatabase\\",\\"properties\\":{\\"kustoDatabaseResourceId\\": \ -\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Kusto/clusters/Cluster1/databases/Database1\\"}}" - - name: Create a SqlDBTable dataset - text: |- - az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ ---dataset "{\\"kind\\":\\"SqlDBTable\\",\\"properties\\":{\\"databaseName\\":\\"MySqlDB\\",\\"schemaName\\":\\"dbo\\", \ -\\"sqlServerResourceId\\":\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\", \ -\\"tableName\\":\\"Table1\\"}}" - - name: Create a SqlDWTable dataset - text: |- - az datashare dataset create --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare \ ---dataset "{\\"kind\\":\\"SqlDWTable\\",\\"properties\\":{\\"dataWarehouseName\\":\\"MyDataWarehouse\\",\\"schemaName\\":\\"dbo\\", \ -\\"sqlServerResourceId\\":\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Sql/servers/MyServer\ -\\",\\"tableName\\":\\"MyTable\\"}}" -""" - -helps['datashare dataset delete'] = """ - type: command - short-summary: Delete a dataset in a share - examples: - - name: Delete a dataset - text: |- - az datashare dataset delete --account-name MyAccount --name MyDataset --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare dataset wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the datashare dataset is met. - examples: - - name: Pause executing next line of CLI script until the datashare dataset is successfully provisioned. - text: az datashare dataset wait --account-name MyAccount --share-name MyShare --name MyDataset --resource-group MyResourceGroup --created -""" - -helps['datashare consumer dataset-mapping'] = """ - type: group - short-summary: Commands for consumers to manage datashare dataset mappings -""" - -helps['datashare consumer dataset-mapping list'] = """ - type: command - short-summary: List dataset mappings in a share subscription - examples: - - name: List dataset mappings - text: |- - az datashare consumer dataset-mapping list --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription -""" - -helps['datashare consumer dataset-mapping show'] = """ - type: command - short-summary: Show a dataset mapping in a share subscription - examples: - - name: Show a dataset mapping - text: |- - az datashare consumer dataset-mapping show --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription -""" - -helps['datashare consumer dataset-mapping create'] = """ - type: command - short-summary: Create a dataSet mapping - examples: - - name: Create a Blob dataset mapping - text: |- - az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ ---mapping "{\\"kind\\":\\"Blob\\",\\"properties\\":{\\"containerName\\":\\"C1\\",\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"filePath\ -\\":\\"file21\\",\\"resourceGroup\\":\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"00000000-0000-0000-0000-000000000000\\"}}" - - name: Create a BlobFolder dataset mapping - text: |- - az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ ---mapping "{\\"kind\\":\\"BlobFolder\\",\\"properties\\":{\\"containerName\\":\\"C2\\",\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"prefix\ -\\":\\"folder21\\",\\"resourceGroup\\":\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage3\\",\\"subscriptionId\\":\\"00000000-0000-0000-0000-000000000000\\"}}" - - name: Create a SqlDBTable dataset mapping - text: |- - az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ ---mapping "{\\"kind\\":\\"SqlDBTable\\",\\"properties\\":{\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"databaseName\\":\\"Database1\\"\ -,\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\\"}}" - - name: Create a AdlsGen2File dataset mapping - text: |- - az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ ---mapping "{\\"kind\\":\\"AdlsGen2File\\",\\"properties\\":{\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"filePath\\":\\"file21\\",\\"fileSystem\\": \ -\\"fileSystem\\",\\"outputType\\":\\"Csv\\",\\"resourceGroup\\":\\"SampleResourceGroup\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"00000000-0000-0000-0000-000000000000\\"}}" - - name: Create a SqlDWTable dataset mapping - text: |- - az datashare consumer dataset-mapping create --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription \ ---mapping "{\\"kind\\":\\"SqlDWTable\\",\\"properties\\":{\\"dataSetId\\":\\"00000000-0000-0000-0000-000000000000\\",\\"dataWarehouseName\\":\\"DataWarehouse1\\",\ -\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\\"}}" -""" - -helps['datashare consumer dataset-mapping delete'] = """ - type: command - short-summary: Delete a dataset mapping in a share subscription - examples: - - name: Delete a dataset mapping - text: |- - az datashare consumer dataset-mapping delete --account-name MyAccount --name MyDatasetMapping --resource-group MyResourceGroup --share-subscription-name MyShareSubscription -""" - -helps['datashare invitation'] = """ - type: group - short-summary: Commands for providers to manage datashare invitations -""" - -helps['datashare invitation list'] = """ - type: command - short-summary: List invitations in a share - examples: - - name: List invitations - text: |- - az datashare invitation list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare invitation show'] = """ - type: command - short-summary: Show an invitation in a share - examples: - - name: Show an invitation - text: |- - az datashare invitation show --account-name MyAccount --name MyInvitation --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare invitation create'] = """ - type: command - short-summary: Create an invitation - examples: - - name: Create an invitation - text: |- - az datashare invitation create --account-name MyAccount --target-email "receiver@microsoft.com" --name MyInvitation --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare invitation delete'] = """ - type: command - short-summary: Delete an invitation in a share - examples: - - name: Delete an invitation - text: |- - az datashare invitation delete --account-name MyAccount --name MyInvitation --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare'] = """ - type: group - short-summary: Commands to manage datashare - long-summary: | - For a summary of CLI commands for Data Share, see https://docs.microsoft.com/azure/data-share/azure-cli-references-for-data-share -""" - -helps['datashare list'] = """ - type: command - short-summary: List datashares in an account - examples: - - name: List datashares - text: |- - az datashare list --account-name MyAccount --resource-group MyResourceGroup -""" - -helps['datashare show'] = """ - type: command - short-summary: Show a datashare - examples: - - name: Show a datashare - text: |- - az datashare show --account-name MyAccount --resource-group MyResourceGroup --name MyShare -""" - -helps['datashare create'] = """ - type: command - short-summary: Create a datashare - examples: - - name: Create a datashare - text: |- - az datashare create --account-name MyAccount --resource-group MyResourceGroup --description "share description" --share-kind "CopyBased" --terms "Confidential" --name MyShare -""" - -helps['datashare delete'] = """ - type: command - short-summary: Delete a datashare - examples: - - name: Delete a datashare - text: |- - az datashare delete --account-name MyAccount --resource-group MyResourceGroup --name MyShare -""" - -helps['datashare synchronization'] = """ - type: group - short-summary: Commands to manage datashare synchronization -""" - -helps['datashare synchronization list-detail'] = """ - type: command - short-summary: List synchronization details - examples: - - name: List synchronization details - text: |- - az datashare synchronization list-detail --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --synchronization-id 00000000-0000-0000-0000-000000000000 -""" - -helps['datashare synchronization list'] = """ - type: command - short-summary: List synchronizations of a datashare - examples: - - name: List synchronizations - text: |- - az datashare synchronization list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the datashare is met. - examples: - - name: Pause executing next line of CLI script until the datashare is successfully provisioned. - text: az datashare wait --account-name MyAccount --resource-group MyResourceGroup --name MyShare --created -""" - -helps['datashare provider-share-subscription'] = """ - type: group - short-summary: Commands for providers to manage datashare share subscriptions -""" - -helps['datashare provider-share-subscription list'] = """ - type: command - short-summary: List share subscriptions in a provider share - examples: - - name: List share subscriptions - text: |- - az datashare provider-share-subscription list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare provider-share-subscription show'] = """ - type: command - short-summary: Show a share subscription in a provider share - examples: - - name: Show a share subscription - text: |- - az datashare provider-share-subscription show --account-name MyAccount --share-subscription 00000000-0000-0000-0000-000000000000 --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare provider-share-subscription revoke'] = """ - type: command - short-summary: Revoke a share subscription in a provider share - examples: - - name: Revoke a share subscription - text: |- - az datashare provider-share-subscription revoke --account-name MyAccount --share-subscription 00000000-0000-0000-0000-000000000000 --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare provider-share-subscription reinstate'] = """ - type: command - short-summary: Reinstate a share subscription in a provider share - examples: - - name: Reinstate a share subscription - text: |- - az datashare provider-share-subscription reinstate --account-name MyAccount --share-subscription 00000000-0000-0000-0000-000000000000 --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare provider-share-subscription wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the datashare provider share subscription is met. - examples: - - name: Pause executing next line of CLI script until the datashare provider share subscription is successfully provisioned. - text: az datashare provider-share-subscription wait --account-name MyAccount --share-subscription 00000000-0000-0000-0000-000000000000 --resource-group MyResourceGroup --share-name MyShare --created -""" - -helps['datashare consumer share-subscription'] = """ - type: group - short-summary: Commands for consumers to manage datashare share subscriptions -""" - -helps['datashare consumer share-subscription list'] = """ - type: command - short-summary: List share subscriptions in an account - examples: - - name: List share subscriptions - text: |- - az datashare consumer share-subscription list --account-name MyAccount --resource-group MyResourceGroup -""" - -helps['datashare consumer share-subscription show'] = """ - type: command - short-summary: Show a share subscription in an account - examples: - - name: Show a share subscription - text: |- - az datashare consumer share-subscription show --account-name MyAccount --resource-group MyResourceGroup --name MyShareSubscription -""" - -helps['datashare consumer share-subscription create'] = """ - type: command - short-summary: Create a share subscription in an account - examples: - - name: Create a share subscription - text: |- - az datashare consumer share-subscription create --account-name MyAccount --resource-group MyResourceGroup --invitation-id 00000000-0000-0000-0000-000000000000 --source-share-location "eastus2" --name MyShareSubscription -""" - -helps['datashare consumer share-subscription delete'] = """ - type: command - short-summary: Delete a share subscription in an account - examples: - - name: Delete a share subscription - text: |- - az datashare consumer share-subscription delete --account-name MyAccount --resource-group MyResourceGroup --name MyShareSubscription -""" - -helps['datashare consumer share-subscription synchronization'] = """ - type: group - short-summary: Commands for consumers to manage datashare share subscription synchronizations -""" - -helps['datashare consumer share-subscription synchronization list-detail'] = """ - type: command - short-summary: List synchronization details - examples: - - name: List synchronization details - text: |- - az datashare consumer share-subscription synchronization list-detail --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSub --synchronization-id 00000000-0000-0000-0000-000000000000 -""" - -helps['datashare consumer share-subscription synchronization start'] = """ - type: command - short-summary: Initiate a dataset synchronization - examples: - - name: Initiate a dataset synchronization - text: |- - az datashare consumer share-subscription synchronization start --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --synchronization-mode "Incremental" -""" - -helps['datashare consumer share-subscription synchronization cancel'] = """ - type: command - short-summary: Request to cancel a synchronization. - examples: - - name: Request to cancel a synchronization - text: |- - az datashare consumer share-subscription synchronization cancel --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --synchronization-id 00000000-0000-0000-0000-000000000000 -""" - -helps['datashare consumer share-subscription synchronization wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the datashare share subscription synchronization is met. - examples: - - name: Pause executing next line of CLI script until the datashare share subscription synchronization finishes successfully. - text: az datashare consumer share-subscription synchronization wait --custom "status=='Succeeded'" --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --synchronization-id 00000000-0000-0000-0000-000000000000 - - name: Pause executing next line of CLI script until the datashare share subscription synchronization is cancelled. - text: az datashare consumer share-subscription synchronization wait --custom "status=='Cancelled'" --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --synchronization-id 00000000-0000-0000-0000-000000000000 -""" - -helps['datashare consumer share-subscription list-source-share-synchronization-setting'] = """ - type: command - short-summary: List synchronization settings set on a share - examples: - - name: List synchronization settings - text: |- - az datashare consumer share-subscription list-source-share-synchronization-setting --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSub -""" - -helps['datashare consumer share-subscription synchronization list'] = """ - type: command - short-summary: List synchronizations of a share subscription - examples: - - name: List synchronizations - text: |- - az datashare consumer share-subscription synchronization list --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSub -""" - -helps['datashare consumer share-subscription wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the datashare share subscription is met. - examples: - - name: Pause executing next line of CLI script until the datashare share subscription is successfully provisioned. - text: az datashare consumer share-subscription wait --account-name MyAccount --resource-group MyResourceGroup --name MyShareSubscription --created -""" - -helps['datashare consumer share-subscription list-source-dataset'] = """ - type: command - short-summary: List source datasets of a share subscription - examples: - - name: List source datasets - text: |- - az datashare consumer share-subscription list-source-dataset --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShare -""" - -helps['datashare synchronization-setting'] = """ - type: group - short-summary: Commands for providers to manage datashare synchronization settings -""" - -helps['datashare synchronization-setting list'] = """ - type: command - short-summary: List synchronization settings in a share - examples: - - name: List synchronization settings - text: |- - az datashare synchronization-setting list --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare -""" - -helps['datashare synchronization-setting show'] = """ - type: command - short-summary: Show a synchronization setting in a share - examples: - - name: Show a synchronization setting - text: |- - az datashare synchronization-setting show --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --name MySyncrhonizationSetting -""" - -helps['datashare synchronization-setting create'] = """ - type: command - short-summary: Create a synchronization setting - examples: - - name: Create a synchronization setting - text: |- - az datashare synchronization-setting create --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --name MyDataset --recurrence-interval Day --synchronization-time "2020-04-05 10:50:00 +00:00" --kind ScheduleBased -""" - -helps['datashare synchronization-setting delete'] = """ - type: command - short-summary: Delete a synchronization setting in a share - examples: - - name: Delete a synchronization setting - text: |- - az datashare synchronization-setting delete --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --name MySyncrhonizationSetting -""" - -helps['datashare synchronization-setting wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the datashare synchronization setting is met. - examples: - - name: Pause executing next line of CLI script until the datashare synchronization setting is successfully provisioned. - text: az datashare synchronization-setting wait --account-name MyAccount --resource-group MyResourceGroup --share-name MyShare --name MySyncrhonizationSetting --created -""" - -helps['datashare consumer trigger'] = """ - type: group - short-summary: Commands for consumers to manage datashare consumer triggers -""" - -helps['datashare consumer trigger list'] = """ - type: command - short-summary: List triggers in a share subscription - examples: - - name: List triggers - text: |- - az datashare consumer trigger list --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription -""" - -helps['datashare consumer trigger show'] = """ - type: command - short-summary: Show a trigger in a share subscription - examples: - - name: Show a trigger - text: |- - az datashare consumer trigger show --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --name MyTrigger -""" - -helps['datashare consumer trigger create'] = """ - type: command - short-summary: Create a trigger - examples: - - name: Create a trigger - text: |- - az datashare consumer trigger create --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --name MyTrigger --recurrence-interval Day --synchronization-time "2020-04-05 10:50:00 +00:00" --kind ScheduleBased -""" - -helps['datashare consumer trigger delete'] = """ - type: command - short-summary: Delete a trigger in a share subscription - examples: - - name: Delete a trigger - text: |- - az datashare consumer trigger delete --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --name MyTrigger -""" - -helps['datashare consumer trigger wait'] = """ - type: command - short-summary: Place the CLI in a waiting state until a condition of the datashare trigger is met. - examples: - - name: Pause executing next line of CLI script until the datashare trigger is successfully provisioned. - text: az datashare consumer trigger wait --account-name MyAccount --resource-group MyResourceGroup --share-subscription-name MyShareSubscription --name MyTrigger --created -""" diff --git a/src/datashare/azext_datashare/manual/_params.py b/src/datashare/azext_datashare/manual/_params.py deleted file mode 100644 index f7dbfbae2ac..00000000000 --- a/src/datashare/azext_datashare/manual/_params.py +++ /dev/null @@ -1,333 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -# pylint: disable=too-many-lines -# pylint: disable=too-many-statements -# pylint: disable=unused-import - -from knack.arguments import CLIArgumentType -from azure.cli.core.commands.parameters import ( - tags_type, - get_enum_type, - resource_group_name_type, - get_location_type, - get_datetime_type -) -from azure.cli.core.commands.validators import get_default_location_from_resource_group, validate_file_or_dict -from azext_datashare.vendored_sdks.datashare.models._data_share_management_client_enums import ShareKind, Kind, SynchronizationMode, SynchronizationKind, RecurrenceInterval -from azext_datashare.manual._validators import invitation_id_validator - - -def load_arguments(self, _): - - with self.argument_context('datashare account list') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - - with self.argument_context('datashare account show') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', options_list=['--name', '-n'], id_part='name', help='The name of the share account.') # modified - - with self.argument_context('datashare account create') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', options_list=['--name', '-n'], help='The name of the share account.') # modified - c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) # modified - c.argument('tags', tags_type) # modified - c.ignore('identity') # Only system assigned identity is supported, we can omit this option - - with self.argument_context('datashare account update') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', options_list=['--name', '-n'], id_part='name', help='The name of the share account.') # modified - c.argument('tags', tags_type) # modified - - with self.argument_context('datashare account delete') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', options_list=['--name', '-n'], id_part='name', help='The name of the share account.') - - with self.argument_context('datashare account wait') as c: - c.argument('account_name', options_list=['--name', '-n'], id_part='name', help='The name of the share account.') # modified - - with self.argument_context('datashare list') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - - with self.argument_context('datashare show') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share.') # modified - - with self.argument_context('datashare create') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_name', options_list=['--name', '-n'], help='The name of the share.') # modified - c.argument('description', help='Share description.') # modified - c.argument('share_kind', arg_type=get_enum_type(ShareKind), help='Share kind.') # modified - c.argument('terms', help='Share terms.') # modified - - with self.argument_context('datashare delete') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share.') # modified - - with self.argument_context('datashare wait') as c: - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share.') # modified - - with self.argument_context('datashare dataset list') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_name', help='The name of the share.') - - with self.argument_context('datashare dataset show') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('data_set_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the dataset.') # modified - - with self.argument_context('datashare dataset create') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_name', help='The name of the share.') - c.argument('data_set_name', options_list=['--name', '-n'], help='The name of the dataset.') # modified - c.argument('data_set', options_list=['--dataset'], type=validate_file_or_dict, help='Dataset parameters in JSON string or path to JSON file.') # modified - - with self.argument_context('datashare dataset delete') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('data_set_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the dataset.') # modified - - with self.argument_context('datashare dataset wait') as c: - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('data_set_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the dataset.') # modified - - with self.argument_context('datashare invitation list') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_name', help='The name of the share.') - - with self.argument_context('datashare invitation show') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('invitation_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the invitation.') # modified - - with self.argument_context('datashare invitation create') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_name', help='The name of the share.') - c.argument('invitation_name', options_list=['--name', '-n'], help='The name of the invitation.') # modified - c.argument('target_active_directory_id', help='The target Azure AD Id. Can\'t be combined with email.') # modified - c.argument('target_email', help='The email the invitation is directed to.') # modified - c.argument('target_object_id', help='The target user or application Id that invitation is being sent to. Must be specified along TargetActiveDirectoryId. This enables sending invitations to specific users or applications in an AD tenant.') # modified - - with self.argument_context('datashare invitation delete') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('invitation_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the invitation.') # modified - - with self.argument_context('datashare synchronization-setting list') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_name', help='The name of the share.') - - with self.argument_context('datashare synchronization-setting show') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('synchronization_setting_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the synchronizationSetting.') # modified - - with self.argument_context('datashare synchronization-setting create') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_name', help='The name of the share.') - c.argument('synchronization_setting_name', options_list=['--name', '-n'], help='The name of the synchronizationSetting.') # modified - c.argument('recurrence_interval', arg_type=get_enum_type(RecurrenceInterval), arg_group='Synchronization Setting', help='Synchronization Recurrence Interval.') - c.argument('synchronization_time', arg_group='Synchronization Setting', arg_type=get_datetime_type(help='Synchronization time.')) - c.argument('kind', arg_type=get_enum_type(SynchronizationKind), arg_group='Synchronization Setting', default='ScheduleBased', help='Kind of synchronization.') - - with self.argument_context('datashare synchronization-setting delete') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('synchronization_setting_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the synchronizationSetting.') # modified - - with self.argument_context('datashare synchronization-setting wait') as c: - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('synchronization_setting_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the synchronizationSetting.') # modified - - with self.argument_context('datashare synchronization list-detail') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') # modified - c.argument('share_name', help='The name of the share.') # modified - c.argument('synchronization_id', help='The synchronization GUID.') - - with self.argument_context('datashare synchronization list') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') # modified - c.argument('share_name', help='The name of the share.') # modified - - with self.argument_context('datashare provider-share-subscription list') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_name', help='The name of the share.') - - with self.argument_context('datashare provider-share-subscription show') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('provider_share_subscription_id', options_list=['--share-subscription'], id_part='child_name_2', help='To locate share subscription') # modified TODO validator - - with self.argument_context('datashare provider-share-subscription revoke') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('provider_share_subscription_id', options_list=['--share-subscription'], id_part='child_name_2', help='To locate share subscription') # modified - - with self.argument_context('datashare provider-share-subscription reinstate') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('provider_share_subscription_id', options_list=['--share-subscription'], id_part='child_name_2', help='To locate share subscription') # modified - - with self.argument_context('datashare provider-share-subscription wait') as c: - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_name', id_part='child_name_1', help='The name of the share.') # modified - c.argument('provider_share_subscription_id', options_list=['--share-subscription'], id_part='child_name_2', help='To locate share subscription') # modified - - with self.argument_context('datashare consumer invitation list') as c: - pass - - with self.argument_context('datashare consumer invitation show') as c: - c.argument('location', arg_type=get_location_type(self.cli_ctx)) # modified - c.argument('invitation_id', validator=invitation_id_validator, help='An invitation id') - - with self.argument_context('datashare consumer invitation reject') as c: - c.argument('location', arg_type=get_location_type(self.cli_ctx)) # modified - c.argument('invitation_id', validator=invitation_id_validator, help='An invitation id') # modified - - with self.argument_context('datashare consumer share-subscription list') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - - with self.argument_context('datashare consumer share-subscription show') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_subscription_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share subscription.') # modified - - with self.argument_context('datashare consumer share-subscription create') as c: - from azure.cli.core.commands.parameters import get_location_name_type, get_location_completion_list - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', options_list=['--name', '-n'], help='The name of the share subscription.') # modified - c.argument('invitation_id', validator=invitation_id_validator, help='The invitation id.') # modified - c.argument('source_share_location', type=get_location_name_type(self.cli_ctx), help='Source share location.', completer=get_location_completion_list) # modified - - with self.argument_context('datashare consumer share-subscription delete') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_subscription_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share subscription.') # modified - - with self.argument_context('datashare consumer share-subscription list-source-share-synchronization-setting') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - - with self.argument_context('datashare consumer share-subscription list-source-dataset') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - - with self.argument_context('datashare consumer share-subscription wait') as c: - c.argument('account_name', id_part='name', help='The name of the share account.') - c.argument('share_subscription_name', options_list=['--name', '-n'], id_part='child_name_1', help='The name of the share subscription.') # modified - - with self.argument_context('datashare consumer share-subscription synchronization start') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - c.argument('synchronization_mode', arg_type=get_enum_type(SynchronizationMode), help='Synchronization mode') # modified - - with self.argument_context('datashare consumer share-subscription synchronization cancel') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - c.argument('synchronization_id', help='The synchronization GUID') - - with self.argument_context('datashare consumer share-subscription synchronization wait') as c: - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - c.argument('synchronization_id', help='The synchronization GUID') - - with self.argument_context('datashare consumer share-subscription synchronization list') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - - with self.argument_context('datashare consumer share-subscription synchronization list-detail') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - c.argument('synchronization_id', help='Synchronization id') - - with self.argument_context('datashare consumer dataset-mapping list') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - - with self.argument_context('datashare consumer dataset-mapping show') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') - c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') - c.argument('data_set_mapping_name', id_part='child_name_2', options_list=['--name', '-n'], help='The name of the datasetMapping.') # modified - - with self.argument_context('datashare consumer dataset-mapping create') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - c.argument('data_set_mapping_name', options_list=['--name', '-n'], help='The name of the datasetMapping.') # modified - c.argument('data_set_mapping', options_list=['--mapping'], type=validate_file_or_dict, help='Dataset mapping in JSON string or path to JSON file.') # modified - - with self.argument_context('datashare consumer dataset-mapping delete') as c: # modified - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') - c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') - c.argument('data_set_mapping_name', id_part='child_name_2', options_list=['--name', '-n'], help='The name of the datasetMapping.') # modified - - with self.argument_context('datashare consumer dataset-mapping wait') as c: - c.argument('account_name', id_part='name', help='The name of the share account.') - c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') - c.argument('data_set_mapping_name', id_part='child_name_2', options_list=['--name', '-n'], help='The name of the datasetMapping.') # modified - - with self.argument_context('datashare consumer trigger list') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - - with self.argument_context('datashare consumer trigger show') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') - c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') - c.argument('trigger_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the trigger.') - - with self.argument_context('datashare consumer trigger create') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', help='The name of the share account.') - c.argument('share_subscription_name', help='The name of the share subscription.') - c.argument('trigger_name', options_list=['--name', '-n'], help='The name of the trigger.') # modified - c.argument('recurrence_interval', arg_type=get_enum_type(RecurrenceInterval), arg_group='Synchronization Setting', help='Synchronization Recurrence Interval.') - c.argument('synchronization_time', arg_group='Synchronization Setting', arg_type=get_datetime_type(help='Synchronization time.')) - c.argument('kind', arg_type=get_enum_type(SynchronizationKind), arg_group='Synchronization Setting', default='ScheduleBased', help='Kind of synchronization.') - - with self.argument_context('datashare consumer trigger delete') as c: - c.argument('resource_group_name', resource_group_name_type) # modified - c.argument('account_name', id_part='name', help='The name of the share account.') # modified - c.argument('share_subscription_name', id_part='child_name_1', help='The name of the share subscription.') # modified - c.argument('trigger_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the trigger.') # modified - - with self.argument_context('datashare consumer trigger wait') as c: - c.argument('trigger_name', options_list=['--name', '-n'], id_part='child_name_2', help='The name of the trigger.') # modified diff --git a/src/datashare/azext_datashare/manual/commands.py b/src/datashare/azext_datashare/manual/commands.py deleted file mode 100644 index 7caeb1df48f..00000000000 --- a/src/datashare/azext_datashare/manual/commands.py +++ /dev/null @@ -1,137 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -# pylint: disable=too-many-statements - -from azure.cli.core.commands import CliCommandType - - -def load_command_table(self, _): - - from azext_datashare.generated._client_factory import cf_account - datashare_account = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._account_operations#AccountOperations.{}', - client_factory=cf_account) - with self.command_group('datashare account', datashare_account, client_factory=cf_account) as g: - g.custom_command('list', 'datashare_account_list') - g.custom_show_command('show', 'datashare_account_show') - g.custom_command('create', 'datashare_account_create', supports_no_wait=True) - g.custom_command('update', 'datashare_account_update') - g.custom_command('delete', 'datashare_account_delete', supports_no_wait=True, confirmation=True) - g.wait_command('wait') - - from azext_datashare.generated._client_factory import cf_consumer_invitation - datashare_consumer_invitation = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._consumer_invitation_operations#ConsumerInvitationOperations.{}', - client_factory=cf_consumer_invitation) - with self.command_group('datashare consumer invitation', datashare_consumer_invitation, client_factory=cf_consumer_invitation) as g: - g.custom_command('list', 'datashare_consumer_invitation_list') - g.custom_show_command('show', 'datashare_consumer_invitation_show') - g.custom_command('reject', 'datashare_consumer_invitation_reject_invitation') - - from azext_datashare.generated._client_factory import cf_data_set - datashare_data_set = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._data_set_operations#DataSetOperations.{}', - client_factory=cf_data_set) - with self.command_group('datashare dataset', datashare_data_set, client_factory=cf_data_set) as g: # modified - g.custom_command('list', 'datashare_data_set_list') - g.custom_show_command('show', 'datashare_data_set_show') - g.custom_command('create', 'datashare_data_set_create') - g.custom_command('delete', 'datashare_data_set_delete', supports_no_wait=True, confirmation=True) - g.wait_command('wait') - - from azext_datashare.generated._client_factory import cf_data_set_mapping - datashare_data_set_mapping = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._data_set_mapping_operations#DataSetMappingOperations.{}', - client_factory=cf_data_set_mapping) - with self.command_group('datashare consumer dataset-mapping', datashare_data_set_mapping, client_factory=cf_data_set_mapping) as g: # modified - g.custom_command('list', 'datashare_data_set_mapping_list') - g.custom_show_command('show', 'datashare_data_set_mapping_show') - g.custom_command('create', 'datashare_data_set_mapping_create') - g.custom_command('delete', 'datashare_data_set_mapping_delete', confirmation=True) - - from azext_datashare.generated._client_factory import cf_invitation - datashare_invitation = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._invitation_operations#InvitationOperations.{}', - client_factory=cf_invitation) - with self.command_group('datashare invitation', datashare_invitation, client_factory=cf_invitation) as g: - g.custom_command('list', 'datashare_invitation_list') - g.custom_show_command('show', 'datashare_invitation_show') - g.custom_command('create', 'datashare_invitation_create') - g.custom_command('delete', 'datashare_invitation_delete', confirmation=True) - - from azext_datashare.generated._client_factory import cf_share - datashare_share = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._share_operations#ShareOperations.{}', - client_factory=cf_share) - with self.command_group('datashare', datashare_share, client_factory=cf_share, is_experimental=True) as g: # modified - g.custom_command('list', 'datashare_share_list') - g.custom_show_command('show', 'datashare_share_show') - g.custom_command('create', 'datashare_share_create') - g.custom_command('delete', 'datashare_share_delete', supports_no_wait=True, confirmation=True) - g.wait_command('wait') - - with self.command_group('datashare synchronization', datashare_share, client_factory=cf_share, is_experimental=True) as g: - g.custom_command('list-detail', 'datashare_share_list_synchronization_detail') - g.custom_command('list', 'datashare_share_list_synchronization') - - from azext_datashare.generated._client_factory import cf_provider_share_subscription - datashare_provider_share_subscription = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._provider_share_subscription_operations#ProviderShareSubscriptionOperations.{}', - client_factory=cf_provider_share_subscription) - with self.command_group('datashare provider-share-subscription', datashare_provider_share_subscription, client_factory=cf_provider_share_subscription) as g: - g.custom_command('list', 'datashare_provider_share_subscription_list') - g.custom_show_command('show', 'datashare_provider_share_subscription_show') - g.custom_command('revoke', 'datashare_provider_share_subscription_revoke', supports_no_wait=True) - g.custom_command('reinstate', 'datashare_provider_share_subscription_reinstate') - g.wait_command('wait', getter_name='get_by_share') - - from azext_datashare.generated._client_factory import cf_share_subscription - datashare_share_subscription = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._share_subscription_operations#ShareSubscriptionOperations.{}', - client_factory=cf_share_subscription) - with self.command_group('datashare consumer share-subscription', datashare_share_subscription, client_factory=cf_share_subscription) as g: - g.custom_command('list', 'datashare_share_subscription_list') - g.custom_show_command('show', 'datashare_share_subscription_show') - g.custom_command('create', 'datashare_share_subscription_create') - g.custom_command('delete', 'datashare_share_subscription_delete', supports_no_wait=True, confirmation=True) - g.custom_command('list-source-share-synchronization-setting', 'datashare_share_subscription_list_source_share_synchronization_setting') - g.wait_command('wait') - - with self.command_group('datashare consumer share-subscription synchronization', datashare_share_subscription, client_factory=cf_share_subscription) as g: - g.custom_command('list', 'datashare_share_subscription_list_synchronization') - g.custom_command('list-detail', 'datashare_share_subscription_list_synchronization_detail') - g.custom_command('start', 'datashare_share_subscription_synchronize', supports_no_wait=True) - g.custom_command('cancel', 'datashare_share_subscription_cancel_synchronization', supports_no_wait=True) - g.custom_wait_command('wait', '_datashare_share_subscription_get_synchronization') - - from azext_datashare.generated._client_factory import cf_consumer_source_data_set - datashare_consumer_source_data_set = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._consumer_source_data_set_operations#ConsumerSourceDataSetOperations.{}', - client_factory=cf_consumer_source_data_set) - with self.command_group('datashare consumer share-subscription', datashare_consumer_source_data_set, client_factory=cf_consumer_source_data_set) as g: - g.custom_command('list-source-dataset', 'datashare_consumer_source_data_set_list') - - from azext_datashare.generated._client_factory import cf_synchronization_setting - datashare_synchronization_setting = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._synchronization_setting_operations#SynchronizationSettingOperations.{}', - client_factory=cf_synchronization_setting) - with self.command_group('datashare synchronization-setting', datashare_synchronization_setting, client_factory=cf_synchronization_setting) as g: - g.custom_command('list', 'datashare_synchronization_setting_list') - g.custom_show_command('show', 'datashare_synchronization_setting_show') - g.custom_command('create', 'datashare_synchronization_setting_create') - g.custom_command('delete', 'datashare_synchronization_setting_delete', supports_no_wait=True, confirmation=True) - g.wait_command('wait') - - from azext_datashare.generated._client_factory import cf_trigger - datashare_trigger = CliCommandType( - operations_tmpl='azext_datashare.vendored_sdks.datashare.operations._trigger_operations#TriggerOperations.{}', - client_factory=cf_trigger) - with self.command_group('datashare consumer trigger', datashare_trigger, client_factory=cf_trigger) as g: - g.custom_command('list', 'datashare_trigger_list') - g.custom_show_command('show', 'datashare_trigger_show') - g.custom_command('create', 'datashare_trigger_create', supports_no_wait=True) - g.custom_command('delete', 'datashare_trigger_delete', supports_no_wait=True, confirmation=True) - g.wait_command('wait') diff --git a/src/datashare/azext_datashare/manual/custom.py b/src/datashare/azext_datashare/manual/custom.py deleted file mode 100644 index c75327b1b3f..00000000000 --- a/src/datashare/azext_datashare/manual/custom.py +++ /dev/null @@ -1,520 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- -# pylint: disable=line-too-long -# pylint: disable=too-many-lines -# pylint: disable=unused-argument -from azure.cli.core.util import sdk_no_wait - - -def datashare_account_list(cmd, 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 datashare_account_show(cmd, client, - resource_group_name, - account_name): - return client.get(resource_group_name=resource_group_name, account_name=account_name) - - -def datashare_account_create(cmd, client, - resource_group_name, - account_name, - identity=None, - location=None, - tags=None, - no_wait=False): - if identity is None: - identity = {'type': 'SystemAssigned'} - return sdk_no_wait(no_wait, - client.begin_create, - resource_group_name=resource_group_name, - account_name=account_name, - location=location, - tags=tags, - identity=identity) - - -def datashare_account_update(cmd, client, - resource_group_name, - account_name, - tags=None): - return client.update(resource_group_name=resource_group_name, account_name=account_name, tags=tags) - - -def datashare_account_delete(cmd, client, - resource_group_name, - account_name, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_delete, - resource_group_name=resource_group_name, - account_name=account_name) - - -def datashare_consumer_invitation_list(cmd, client): - return client.list_invitation() - - -def datashare_consumer_invitation_show(cmd, client, - location, - invitation_id): - return client.get(location=location, invitation_id=invitation_id) - - -def datashare_consumer_invitation_reject_invitation(cmd, client, - location, - invitation_id): - return client.reject_invitation(location=location, invitation_id=invitation_id) - - -def datashare_data_set_list(cmd, client, - resource_group_name, - account_name, - share_name): - return client.list_by_share(resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name) - - -def datashare_data_set_show(cmd, client, - resource_group_name, - account_name, - share_name, - data_set_name): - return client.get(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, data_set_name=data_set_name) - - -def datashare_data_set_create(cmd, client, - resource_group_name, - account_name, - share_name, - data_set_name, - data_set): - from azure.cli.core.commands.client_factory import get_subscription_id - if 'resource_group' not in data_set: - data_set['resource_group'] = resource_group_name - if 'subscription_id' not in data_set: - data_set['subscription_id'] = get_subscription_id(cmd.cli_ctx) - return client.create(resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - data_set_name=data_set_name, - data_set=data_set) - - -def datashare_data_set_delete(cmd, client, - resource_group_name, - account_name, - share_name, - data_set_name, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_delete, - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - data_set_name=data_set_name) - - -def datashare_data_set_mapping_list(cmd, client, - resource_group_name, - account_name, - share_subscription_name): - return client.list_by_share_subscription(resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name) - - -def datashare_data_set_mapping_show(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - data_set_mapping_name): - return client.get(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name, data_set_mapping_name=data_set_mapping_name) - - -def datashare_data_set_mapping_create(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - data_set_mapping_name, - data_set_mapping): - from azure.cli.core.commands.client_factory import get_subscription_id - if 'resource_group' not in data_set_mapping: - data_set_mapping['resource_group'] = resource_group_name - if 'subscription_id' not in data_set_mapping: - data_set_mapping['subscription_id'] = get_subscription_id(cmd.cli_ctx) - return client.create(resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - data_set_mapping_name=data_set_mapping_name, - data_set_mapping=data_set_mapping) - - -def datashare_data_set_mapping_delete(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - data_set_mapping_name): - return client.delete(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name, data_set_mapping_name=data_set_mapping_name) - - -def datashare_invitation_list(cmd, client, - resource_group_name, - account_name, - share_name): - return client.list_by_share(resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name) - - -def datashare_invitation_show(cmd, client, - resource_group_name, - account_name, - share_name, - invitation_name): - return client.get(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, invitation_name=invitation_name) - - -def datashare_invitation_create(cmd, client, - resource_group_name, - account_name, - share_name, - invitation_name, - target_active_directory_id=None, - target_email=None, - target_object_id=None): - return client.create(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, invitation_name=invitation_name, target_active_directory_id=target_active_directory_id, target_email=target_email, target_object_id=target_object_id) - - -def datashare_invitation_delete(cmd, client, - resource_group_name, - account_name, - share_name, - invitation_name): - return client.delete(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, invitation_name=invitation_name) - - -def datashare_share_list(cmd, client, - resource_group_name, - account_name): - return client.list_by_account(resource_group_name=resource_group_name, account_name=account_name) - - -def datashare_share_show(cmd, client, - resource_group_name, - account_name, - share_name): - return client.get(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name) - - -def datashare_share_create(cmd, client, - resource_group_name, - account_name, - share_name, - description=None, - share_kind=None, - terms=None): - return client.create(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, description=description, share_kind=share_kind, terms=terms) - - -def datashare_share_delete(cmd, client, - resource_group_name, - account_name, - share_name, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_delete, - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name) - - -def datashare_share_list_synchronization_detail(cmd, client, - resource_group_name, - account_name, - share_name, - synchronization_id=None): - return client.list_synchronization_detail(resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - synchronization_id=synchronization_id) - - -def datashare_share_list_synchronization(cmd, client, - resource_group_name, - account_name, - share_name): - return client.list_synchronization(resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name) - - -def datashare_provider_share_subscription_list(cmd, client, - resource_group_name, - account_name, - share_name): - return client.list_by_share(resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name) - - -def datashare_provider_share_subscription_show(cmd, client, - resource_group_name, - account_name, - share_name, - provider_share_subscription_id): - return client.get_by_share(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, provider_share_subscription_id=provider_share_subscription_id) - - -def datashare_provider_share_subscription_revoke(cmd, client, - resource_group_name, - account_name, - share_name, - provider_share_subscription_id, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_revoke, - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - provider_share_subscription_id=provider_share_subscription_id) - - -def datashare_provider_share_subscription_reinstate(cmd, client, - resource_group_name, - account_name, - share_name, - provider_share_subscription_id): - return client.reinstate(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, provider_share_subscription_id=provider_share_subscription_id) - - -def datashare_share_subscription_list(cmd, client, - resource_group_name, - account_name): - return client.list_by_account(resource_group_name=resource_group_name, account_name=account_name) - - -def datashare_share_subscription_show(cmd, client, - resource_group_name, - account_name, - share_subscription_name): - return client.get(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name) - - -def datashare_share_subscription_create(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - invitation_id, - source_share_location): - return client.create(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name, invitation_id=invitation_id, source_share_location=source_share_location) - - -def datashare_share_subscription_delete(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_delete, - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name) - - -def datashare_share_subscription_list_synchronization_detail(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - synchronization_id): - return client.list_synchronization_detail(resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - synchronization_id=synchronization_id) - - -def datashare_share_subscription_synchronize(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - synchronization_mode=None, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_synchronize, - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - synchronization_mode=synchronization_mode) - - -def datashare_share_subscription_cancel_synchronization(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - synchronization_id, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_cancel_synchronization, - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - synchronization_id=synchronization_id) - - -def datashare_share_subscription_list_source_share_synchronization_setting(cmd, client, - resource_group_name, - account_name, - share_subscription_name): - return client.list_source_share_synchronization_setting(resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name) - - -def datashare_share_subscription_list_synchronization(cmd, client, - resource_group_name, - account_name, - share_subscription_name): - return client.list_synchronization(resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name) - - -def _datashare_share_subscription_get_synchronization(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - synchronization_id): - from knack.util import todict - from azure.cli.core.commands import AzCliCommandInvoker - result = client.list_synchronization(resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name) - result = todict(list(result), AzCliCommandInvoker.remove_additional_prop_layer) - return next((x for x in result if x['synchronizationId'] == synchronization_id), None) - - -def datashare_consumer_source_data_set_list(cmd, client, - resource_group_name, - account_name, - share_subscription_name): - return client.list_by_share_subscription(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name) - - -def datashare_synchronization_setting_list(cmd, client, - resource_group_name, - account_name, - share_name): - return client.list_by_share(resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name) - - -def datashare_synchronization_setting_show(cmd, client, - resource_group_name, - account_name, - share_name, - synchronization_setting_name): - return client.get(resource_group_name=resource_group_name, account_name=account_name, share_name=share_name, synchronization_setting_name=synchronization_setting_name) - - -# def _format_datetime(date_string): -# from dateutil.parser import parse -# try: -# return parse(date_string).strftime("%Y-%m-%dT%H:%M:%SZ") -# except ValueError: -# # logger.debug("Unable to parse date_string '%s'", date_string) -# return date_string or ' ' - - -def datashare_synchronization_setting_create(cmd, client, - resource_group_name, - account_name, - share_name, - synchronization_setting_name, - recurrence_interval, - synchronization_time, - kind=None): - synchronization_setting = { - 'synchronizationTime': synchronization_time, - 'recurrenceInterval': recurrence_interval, - 'kind': kind - } - return client.create(resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - synchronization_setting_name=synchronization_setting_name, - synchronization_setting=synchronization_setting) - - -def datashare_synchronization_setting_delete(cmd, client, - resource_group_name, - account_name, - share_name, - synchronization_setting_name, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_delete, - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - synchronization_setting_name=synchronization_setting_name) - - -def datashare_trigger_list(cmd, client, - resource_group_name, - account_name, - share_subscription_name): - return client.list_by_share_subscription(resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name) - - -def datashare_trigger_show(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - trigger_name): - return client.get(resource_group_name=resource_group_name, account_name=account_name, share_subscription_name=share_subscription_name, trigger_name=trigger_name) - - -def datashare_trigger_create(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - trigger_name, - recurrence_interval, - synchronization_time, - kind=None, - no_wait=False): - synchronization_setting = { - 'synchronizationTime': synchronization_time, - 'recurrenceInterval': recurrence_interval, - 'kind': kind - } - return sdk_no_wait(no_wait, - client.begin_create, - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - trigger_name=trigger_name, - trigger=synchronization_setting) - - -def datashare_trigger_delete(cmd, client, - resource_group_name, - account_name, - share_subscription_name, - trigger_name, - no_wait=False): - return sdk_no_wait(no_wait, - client.begin_delete, - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - trigger_name=trigger_name) diff --git a/src/datashare/azext_datashare/tests/__init__.py b/src/datashare/azext_datashare/tests/__init__.py index c9cfdc73e77..70488e93851 100644 --- a/src/datashare/azext_datashare/tests/__init__.py +++ b/src/datashare/azext_datashare/tests/__init__.py @@ -8,5 +8,109 @@ # 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/datashare/azext_datashare/tests/latest/example_steps.py b/src/datashare/azext_datashare/tests/latest/example_steps.py new file mode 100644 index 00000000000..7a2823466bd --- /dev/null +++ b/src/datashare/azext_datashare/tests/latest/example_steps.py @@ -0,0 +1,766 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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: /Accounts/put/Accounts_Create +@try_manual +def step_account_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare account create ' + '--location "West US 2" ' + '--tags tag1="Red" tag2="White" ' + '--name "{myAccount}" ' + '--resource-group "{rg}"', + checks=[]) + test.cmd('az datashare account wait --created ' + '--name "{myAccount}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Accounts/get/Accounts_Get +@try_manual +def step_account_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare account show ' + '--name "{myAccount}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Accounts/get/Accounts_ListByResourceGroup +@try_manual +def step_account_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare account list ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Accounts/get/Accounts_ListBySubscription +@try_manual +def step_account_list2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare account list ' + '-g ""', + checks=checks) + + +# EXAMPLE: /Accounts/patch/Accounts_Update +@try_manual +def step_account_update(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare account update ' + '--name "{myAccount}" ' + '--tags tag1="Red" tag2="White" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Shares/put/Shares_Create +@try_manual +def step_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare create ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--description "share description" ' + '--share-kind "CopyBased" ' + '--terms "Confidential" ' + '--name "{myShare}"', + checks=checks) + + +# EXAMPLE: /Shares/get/Shares_Get +@try_manual +def step_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare show ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShare}"', + checks=checks) + + +# EXAMPLE: /Shares/get/Shares_ListByAccount +@try_manual +def step_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Shares/post/Shares_ListSynchronizationDetails +@try_manual +def step_list_synchronization_detail(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare list-synchronization-detail ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShare}" ' + '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"', + checks=checks) + + +# EXAMPLE: /Shares/post/Shares_ListSynchronizations +@try_manual +def step_list_synchronization(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare list-synchronization ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/put/DataSets_Create +@try_manual +def step_data_set_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set create ' + '--account-name "{myAccount}" ' + '--data-set "{{\\"kind\\":\\"Blob\\",\\"properties\\":{{\\"containerName\\":\\"C1\\",\\"filePath\\":\\"fil' + 'e21\\",\\"resourceGroup\\":\\"{rg}\\",\\"storageAccountName\\":\\"storage2\\",\\"subscriptionId\\":\\"433' + 'a8dfd-e5d5-4e77-ad86-90acdc75eb1a\\"}}}}" ' + '--name "{myDataSet}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/put/DataSets_KustoCluster_Create +@try_manual +def step_data_set_create2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set create ' + '--account-name "{myAccount}" ' + '--data-set "{{\\"kind\\":\\"KustoCluster\\",\\"properties\\":{{\\"kustoClusterResourceId\\":\\"/subscript' + 'ions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Kusto/clusters/Cluster1\\"}}}}" ' + '--name "{myDataSet}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/put/DataSets_KustoDatabase_Create +@try_manual +def step_data_set_create3(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set create ' + '--account-name "{myAccount}" ' + '--data-set "{{\\"kind\\":\\"KustoDatabase\\",\\"properties\\":{{\\"kustoDatabaseResourceId\\":\\"/subscri' + 'ptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Kusto/clusters/Cluster1/databases/Databa' + 'se1\\"}}}}" ' + '--name "{myDataSet}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/put/DataSets_KustoTable_Create +@try_manual +def step_data_set_create4(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set create ' + '--account-name "{myAccount}" ' + '--data-set "{{\\"kind\\":\\"KustoTable\\",\\"properties\\":{{\\"kustoDatabaseResourceId\\":\\"/subscripti' + 'ons/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Kusto/clusters/Cluster1/databases/Database1' + '\\",\\"tableLevelSharingProperties\\":{{\\"externalTablesToExclude\\":[\\"test11\\",\\"test12\\"],\\"exte' + 'rnalTablesToInclude\\":[\\"test9\\",\\"test10\\"],\\"materializedViewsToExclude\\":[\\"test7\\",\\"test8' + '\\"],\\"materializedViewsToInclude\\":[\\"test5\\",\\"test6\\"],\\"tablesToExclude\\":[\\"test3\\",\\"tes' + 't4\\"],\\"tablesToInclude\\":[\\"test1\\",\\"test2\\"]}}}}}}" ' + '--name "{myDataSet}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/put/DataSets_SqlDBTable_Create +@try_manual +def step_data_set_create5(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set create ' + '--account-name "{myAccount}" ' + '--data-set "{{\\"kind\\":\\"SqlDBTable\\",\\"properties\\":{{\\"databaseName\\":\\"SqlDB1\\",\\"schemaNam' + 'e\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/{subscription_id}/resourceGroups/{rg}/provider' + 's/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\\"}}}}" ' + '--name "{myDataSet}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/put/DataSets_SqlDWTable_Create +@try_manual +def step_data_set_create6(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set create ' + '--account-name "{myAccount}" ' + '--data-set "{{\\"kind\\":\\"SqlDWTable\\",\\"properties\\":{{\\"dataWarehouseName\\":\\"DataWarehouse1\\"' + ',\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/{subscription_id}/resourceGroups/' + '{rg}/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\\"}}}}" ' + '--name "{myDataSet}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/put/DataSets_SynapseWorkspaceSqlPoolTable_Create +@try_manual +def step_data_set_create7(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set create ' + '--account-name "{myAccount2}" ' + '--data-set "{{\\"kind\\":\\"SynapseWorkspaceSqlPoolTable\\",\\"properties\\":{{\\"synapseWorkspaceSqlPool' + 'TableResourceId\\":\\"/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.Synapse/wo' + 'rkspaces/ExampleWorkspace/sqlPools/ExampleSqlPool/schemas/dbo/tables/table1\\"}}}}" ' + '--name "{myDataSet2}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare2}"', + checks=checks) + + +# EXAMPLE: /DataSets/get/DataSets_Get +@try_manual +def step_data_set_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set show ' + '--account-name "{myAccount}" ' + '--name "{myDataSet}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/get/DataSets_ListByShare +@try_manual +def step_data_set_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /DataSets/delete/DataSets_Delete +@try_manual +def step_data_set_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set delete -y ' + '--account-name "{myAccount}" ' + '--name "{myDataSet}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /EmailRegistrations/post/EmailRegistrations_ActivateEmail +@try_manual +def step_email_registration_activate_email(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare email-registration activate-email ' + '--activation-code "djsfhakj2lekowd3wepfklpwe9lpflcd" ' + '--location "East US 2"', + checks=checks) + + +# EXAMPLE: /EmailRegistrations/post/EmailRegistrations_RegisterEmail +@try_manual +def step_email_registration_register_email(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare email-registration register-email ' + '--location "East US 2"', + checks=checks) + + +# EXAMPLE: /Invitations/put/Invitations_Create +@try_manual +def step_invitation_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare invitation create ' + '--account-name "{myAccount}" ' + '--expiration-date "2020-08-26T22:33:24.5785265Z" ' + '--target-email "receiver@microsoft.com" ' + '--name "{myInvitation}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /Invitations/get/Invitations_Get +@try_manual +def step_invitation_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare invitation show ' + '--account-name "{myAccount}" ' + '--name "{myInvitation}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /Invitations/get/Invitations_ListByShare +@try_manual +def step_invitation_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare invitation list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /Invitations/delete/Invitations_Delete +@try_manual +def step_invitation_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare invitation delete -y ' + '--account-name "{myAccount}" ' + '--name "{myInvitation}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /ProviderShareSubscriptions/get/ProviderShareSubscriptions_GetByShare +@try_manual +def step_provider_share_subscription_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare provider-share-subscription show ' + '--account-name "{myAccount}" ' + '--provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /ProviderShareSubscriptions/get/ProviderShareSubscriptions_ListByShare +@try_manual +def step_provider_share_subscription_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare provider-share-subscription list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /ProviderShareSubscriptions/post/ProviderShareSubscriptions_Adjust +@try_manual +def step_provider_share_subscription_adjust(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare provider-share-subscription adjust ' + '--account-name "{myAccount}" ' + '--expiration-date "2020-12-26T22:33:24.5785265Z" ' + '--provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /ProviderShareSubscriptions/post/ProviderShareSubscriptions_Reinstate +@try_manual +def step_provider_share_subscription_reinstate(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare provider-share-subscription reinstate ' + '--account-name "{myAccount}" ' + '--expiration-date "2020-12-26T22:33:24.5785265Z" ' + '--provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /ProviderShareSubscriptions/post/ProviderShareSubscriptions_Revoke +@try_manual +def step_provider_share_subscription_revoke(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare provider-share-subscription revoke ' + '--account-name "{myAccount}" ' + '--provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /Shares/delete/Shares_Delete +@try_manual +def step_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare delete -y ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShare}"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/put/ShareSubscriptions_Create +@try_manual +def step_share_subscription_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription create ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--expiration-date "2020-08-26T22:33:24.5785265Z" ' + '--invitation-id "12345678-1234-1234-12345678abd" ' + '--source-share-location "eastus2" ' + '--name "{myShareSubscription}"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/get/ShareSubscriptions_Get +@try_manual +def step_share_subscription_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription show ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShareSubscription}"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/get/ShareSubscriptions_ListByAccount +@try_manual +def step_share_subscription_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_CancelSynchronization +@try_manual +def step_share_subscription_cancel_synchronization(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription cancel-synchronization ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShareSubscription}" ' + '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_ListSourceShareSynchronizationSettings +@try_manual +def step_share_subscription_list2(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription list-source-share-synchronization-setting ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShareSubscription2}"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_ListSynchronizationDetails +@try_manual +def step_share_subscription_list3(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription list-synchronization-detail ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShareSubscription2}" ' + '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_ListSynchronizations +@try_manual +def step_share_subscription_list_synchronization(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription list-synchronization ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShareSubscription2}"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_Synchronize +@try_manual +def step_share_subscription_synchronize(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription synchronize ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShareSubscription}" ' + '--synchronization-mode "Incremental"', + checks=checks) + + +# EXAMPLE: /ShareSubscriptions/delete/ShareSubscriptions_Delete +@try_manual +def step_share_subscription_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare share-subscription delete -y ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--name "{myShareSubscription}"', + checks=checks) + + +# EXAMPLE: /SynchronizationSettings/put/SynchronizationSettings_Create +@try_manual +def step_synchronization_setting_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare synchronization-setting create ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}" ' + '--scheduled-synchronization-setting recurrence-interval="Day" synchronization-time="2018-11-14T04:47:52.9' + '614956Z" ' + '--name "{mySynchronizationSetting2}"', + checks=checks) + + +# EXAMPLE: /SynchronizationSettings/get/SynchronizationSettings_Get +@try_manual +def step_synchronization_setting_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare synchronization-setting show ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}" ' + '--name "{mySynchronizationSetting}"', + checks=checks) + + +# EXAMPLE: /SynchronizationSettings/get/SynchronizationSettings_ListByShare +@try_manual +def step_synchronization_setting_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare synchronization-setting list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}"', + checks=checks) + + +# EXAMPLE: /SynchronizationSettings/delete/SynchronizationSettings_Delete +@try_manual +def step_synchronization_setting_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare synchronization-setting delete -y ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-name "{myShare}" ' + '--name "{mySynchronizationSetting}"', + checks=checks) + + +# EXAMPLE: /Triggers/put/Triggers_Create +@try_manual +def step_trigger_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare trigger create ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription}" ' + '--scheduled-trigger recurrence-interval="Day" synchronization-mode="Incremental" ' + 'synchronization-time="2018-11-14T04:47:52.9614956Z" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/get/Triggers_Get +@try_manual +def step_trigger_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare trigger show ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/get/Triggers_ListByShareSubscription +@try_manual +def step_trigger_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare trigger list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription}"', + checks=checks) + + +# EXAMPLE: /Triggers/delete/Triggers_Delete +@try_manual +def step_trigger_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare trigger delete -y ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Accounts/delete/Accounts_Delete +@try_manual +def step_account_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare account delete -y ' + '--name "{myAccount}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ConsumerInvitations/get/ConsumerInvitations_Get +@try_manual +def step_consumer_invitation_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare consumer-invitation show ' + '--invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03" ' + '--location "East US 2"', + checks=checks) + + +# EXAMPLE: /ConsumerInvitations/get/ConsumerInvitations_ListInvitations +@try_manual +def step_consumer_invitation_list_invitation(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare consumer-invitation list-invitation', + checks=checks) + + +# EXAMPLE: /ConsumerInvitations/post/ConsumerInvitations_RejectInvitation +@try_manual +def step_consumer_invitation_reject_invitation(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare consumer-invitation reject-invitation ' + '--invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03" ' + '--location "East US 2"', + checks=checks) + + +# EXAMPLE: /ConsumerSourceDataSets/get/ConsumerSourceDataSets_ListByShareSubscription +@try_manual +def step_consumer_source_data_set_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare consumer-source-data-set list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription3}"', + checks=checks) + + +# EXAMPLE: /DataSetMappings/put/DataSetMappings_SqlDWDataSetToAdlsGen2File_Create +@try_manual +def step_data_set_mapping_create(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set-mapping create ' + '--account-name "{myAccount}" ' + '--adls-gen2-file-data-set-mapping data-set-id="a08f184b-0567-4b11-ba22-a1199336d226" file-path="file21" ' + 'file-system="fileSystem" output-type="Csv" resource-group="{rg}" storage-account-name="storage2" ' + 'subscription-id="433a8dfd-e5d5-4e77-ad86-90acdc75eb1a" ' + '--name "{myDataSetMapping}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription}"', + checks=checks) + + +# EXAMPLE: /DataSetMappings/get/DataSetMappings_Get +@try_manual +def step_data_set_mapping_show(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set-mapping show ' + '--account-name "{myAccount}" ' + '--name "{myDataSetMapping}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription}"', + checks=checks) + + +# EXAMPLE: /DataSetMappings/get/DataSetMappings_ListByShareSubscription +@try_manual +def step_data_set_mapping_list(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set-mapping list ' + '--account-name "{myAccount}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription}"', + checks=checks) + + +# EXAMPLE: /DataSetMappings/delete/DataSetMappings_Delete +@try_manual +def step_data_set_mapping_delete(test, checks=None): + if checks is None: + checks = [] + test.cmd('az datashare data-set-mapping delete -y ' + '--account-name "{myAccount}" ' + '--name "{myDataSetMapping}" ' + '--resource-group "{rg}" ' + '--share-subscription-name "{myShareSubscription}"', + checks=checks) diff --git a/src/datashare/azext_datashare/tests/latest/recordings/test_datashare.yaml b/src/datashare/azext_datashare/tests/latest/recordings/test_datashare.yaml deleted file mode 100644 index 6ee1763964d..00000000000 --- a/src/datashare/azext_datashare/tests/latest/recordings/test_datashare.yaml +++ /dev/null @@ -1,3193 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - unknown - Connection: - - keep-alive - User-Agent: - - python/3.6.8 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.0 - 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/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/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/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"}]}}]}' - headers: - cache-control: - - no-cache - content-length: - - '25098' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:31:39 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", "tags": {"tag1": "Red", "tag2": "White"}, "identity": - {"type": "SystemAssigned"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account create - Connection: - - keep-alive - Content-Length: - - '105' - Content-Type: - - application/json - ParameterSetName: - - --location --tags --name --resource-group - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Creating","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' - headers: - cache-control: - - no-cache - content-length: - - '619' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:31:49 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-quota: - - '[{"currentUsed":1,"limit":100,"name":{"localizedValue":"Account resource - quota","value":"Account resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_dat4k437juk3evbo6rjpubtqgmrpjoncob4ah3yozuootwcudid6ayi6kusmc5w44w/providers/Microsoft.DataShare/accounts/cli_test_account"}]' - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account wait - Connection: - - keep-alive - ParameterSetName: - - --name --resource-group --created - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Creating","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' - headers: - cache-control: - - no-cache - content-length: - - '619' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:31:50 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account wait - Connection: - - keep-alive - ParameterSetName: - - --name --resource-group --created - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Creating","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' - headers: - cache-control: - - no-cache - content-length: - - '619' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:32:20 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account wait - Connection: - - keep-alive - ParameterSetName: - - --name --resource-group --created - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Creating","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' - headers: - cache-control: - - no-cache - content-length: - - '619' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:32:50 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account wait - Connection: - - keep-alive - ParameterSetName: - - --name --resource-group --created - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Succeeded","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' - headers: - cache-control: - - no-cache - content-length: - - '620' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:20 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account show - Connection: - - keep-alive - ParameterSetName: - - -n --resource-group - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Succeeded","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' - headers: - cache-control: - - no-cache - content-length: - - '620' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:21 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account show - Connection: - - keep-alive - ParameterSetName: - - --ids - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Succeeded","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}' - headers: - cache-control: - - no-cache - content-length: - - '620' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:23 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account list - Connection: - - keep-alive - ParameterSetName: - - --resource-group - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts?api-version=2019-11-01 - response: - body: - string: '{"value":[{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Succeeded","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Red","tag2":"White"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '632' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:23 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"tags": {"tag1": "Green"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account update - Connection: - - keep-alive - Content-Length: - - '27' - Content-Type: - - application/json - ParameterSetName: - - --name --tags --resource-group - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"properties":{"createdAt":"2020-08-26T05:31:47.8342338Z","provisioningState":"Succeeded","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","location":"westus2","tags":{"tag1":"Green"}}' - headers: - cache-control: - - no-cache - content-length: - - '607' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:29 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: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 200 - message: OK -- request: - body: '{"properties": {"description": "share description", "shareKind": "CopyBased", - "terms": "Confidential"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare create - Connection: - - keep-alive - Content-Length: - - '103' - Content-Type: - - application/json - ParameterSetName: - - --account-name --resource-group --description --share-kind --terms --name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2019-11-01 - response: - body: - string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2020-08-26T05:33:31.2063969Z","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/shares"}' - headers: - cache-control: - - no-cache - content-length: - - '521' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:30 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/cli_test_share - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-quota: - - '[{"currentUsed":1,"limit":200,"name":{"localizedValue":"Share resource quota","value":"Share - resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_dat4k437juk3evbo6rjpubtqgmrpjoncob4ah3yozuootwcudid6ayi6kusmc5w44w/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share"}]' - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare show - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2019-11-01 - response: - body: - string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2020-08-26T05:33:31.2063969Z","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/shares"}' - headers: - cache-control: - - no-cache - content-length: - - '521' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:32 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare show - Connection: - - keep-alive - ParameterSetName: - - --ids - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2019-11-01 - response: - body: - string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2020-08-26T05:33:31.2063969Z","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/shares"}' - headers: - cache-control: - - no-cache - content-length: - - '521' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:33 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare list - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2020-08-26T05:33:31.2063969Z","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/shares"}]}' - headers: - cache-control: - - no-cache - content-length: - - '533' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:35 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account show - Connection: - - keep-alive - ParameterSetName: - - -n -g - User-Agent: - - python/3.6.8 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-storage/11.1.0 Azure-SDK-For-Python AZURECLI/2.11.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002?api-version=2019-06-01 - response: - body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","name":"clitestdatas000002","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-08-26T05:31:18.7508737Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-26T05:31:18.7508737Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-26T05:31:18.6884316Z","primaryEndpoints":{"blob":"https://clitestdatas000002.blob.core.windows.net/","queue":"https://clitestdatas000002.queue.core.windows.net/","table":"https://clitestdatas000002.table.core.windows.net/","file":"https://clitestdatas000002.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}' - headers: - cache-control: - - no-cache - content-length: - - '1242' - content-type: - - application/json - date: - - Wed, 26 Aug 2020 05:33:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", - "principalId": "5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a", "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: - - --role --assignee-object-id --assignee-principal-type --scope - User-Agent: - - python/3.6.8 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.11.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/providers/Microsoft.Authorization/roleAssignments/7fdac965-f71d-4508-b446-1119cfcfef90?api-version=2018-09-01-preview - response: - body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1","principalId":"5f6dcd2f-c2d1-4b11-96c6-e04c57155b4a","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","createdOn":"2020-08-26T05:33:36.6904174Z","updatedOn":"2020-08-26T05:33:36.6904174Z","createdBy":null,"updatedBy":"31e600e0-d7ce-4e98-a927-19bb30042e44"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/providers/Microsoft.Authorization/roleAssignments/7fdac965-f71d-4508-b446-1119cfcfef90","type":"Microsoft.Authorization/roleAssignments","name":"7fdac965-f71d-4508-b446-1119cfcfef90"}' - headers: - cache-control: - - no-cache - content-length: - - '1041' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:44 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: - - storage container create - Connection: - - keep-alive - ParameterSetName: - - --account-name --name - User-Agent: - - python/3.6.8 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-storage/11.1.0 Azure-SDK-For-Python AZURECLI/2.11.0 - 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 - 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_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":"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_RAGZRS","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":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T05:41:52.2313290Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T05:41:52.2313290Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-12T05:41:52.1531917Z","primaryEndpoints":{"dfs":"https://zuhtest.dfs.core.windows.net/","web":"https://zuhtest.z20.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":"eastus2","statusOfPrimary":"available","secondaryLocation":"centralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhtest-secondary.dfs.core.windows.net/","web":"https://zuhtest-secondary.z20.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/"}}},{"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_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgcpdkal7yi2pgkmd5bo5p3buxmv65q2dqkpas44uvzxlnb5ped64duf2oyn64o45hp/providers/Microsoft.Storage/storageAccounts/clitest5y4tpgt7apfmaglj3","name":"clitest5y4tpgt7apfmaglj3","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-08-26T02:29:24.7587974Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-26T02:29:24.7587974Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-26T02:29:24.6649968Z","primaryEndpoints":{"blob":"https://clitest5y4tpgt7apfmaglj3.blob.core.windows.net/","queue":"https://clitest5y4tpgt7apfmaglj3.queue.core.windows.net/","table":"https://clitest5y4tpgt7apfmaglj3.table.core.windows.net/","file":"https://clitest5y4tpgt7apfmaglj3.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.rgx3n7tcpo5ehojmrzl5eidkafxqbcrkmsyj6jqyksircv6a624724cpwmwhmjtmu47/providers/Microsoft.Storage/storageAccounts/clitesthmvxtznocwuyui3b4","name":"clitesthmvxtznocwuyui3b4","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-08-26T02:28:45.9276930Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-26T02:28:45.9276930Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-26T02:28:45.8651780Z","primaryEndpoints":{"blob":"https://clitesthmvxtznocwuyui3b4.blob.core.windows.net/","queue":"https://clitesthmvxtznocwuyui3b4.queue.core.windows.net/","table":"https://clitesthmvxtznocwuyui3b4.table.core.windows.net/","file":"https://clitesthmvxtznocwuyui3b4.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"BlockBlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmobnnnyf77m7t4hzjm6e7zjjhmxlq2hsobfrvw4zsnfxg6ezetijp7luqim3ukq7j/providers/Microsoft.Storage/storageAccounts/clitestjshrnzbbzhnalq2dt","name":"clitestjshrnzbbzhnalq2dt","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-08-26T02:35:41.6821830Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-26T02:35:41.6821830Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-26T02:35:41.6040586Z","primaryEndpoints":{"dfs":"https://clitestjshrnzbbzhnalq2dt.dfs.core.windows.net/","web":"https://clitestjshrnzbbzhnalq2dt.z22.web.core.windows.net/","blob":"https://clitestjshrnzbbzhnalq2dt.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"BlockBlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgcpdkal7yi2pgkmd5bo5p3buxmv65q2dqkpas44uvzxlnb5ped64duf2oyn64o45hp/providers/Microsoft.Storage/storageAccounts/clitestysimuoccvi4c5mgex","name":"clitestysimuoccvi4c5mgex","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-08-26T02:29:51.3369361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-26T02:29:51.3369361Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-26T02:29:51.2431652Z","primaryEndpoints":{"dfs":"https://clitestysimuoccvi4c5mgex.dfs.core.windows.net/","web":"https://clitestysimuoccvi4c5mgex.z22.web.core.windows.net/","blob":"https://clitestysimuoccvi4c5mgex.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmobnnnyf77m7t4hzjm6e7zjjhmxlq2hsobfrvw4zsnfxg6ezetijp7luqim3ukq7j/providers/Microsoft.Storage/storageAccounts/clitestysmawa42fmgyhyofl","name":"clitestysmawa42fmgyhyofl","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-08-26T02:35:16.8056086Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-26T02:35:16.8056086Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-26T02:35:16.7274930Z","primaryEndpoints":{"blob":"https://clitestysmawa42fmgyhyofl.blob.core.windows.net/","queue":"https://clitestysmawa42fmgyhyofl.queue.core.windows.net/","table":"https://clitestysmawa42fmgyhyofl.table.core.windows.net/","file":"https://clitestysmawa42fmgyhyofl.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_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/getitxxx6472qnxl3vv5o","name":"getitxxx6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"projectName":"get.it"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-14T02:16:44.4831310Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-14T02:16:44.4831310Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-14T02:16:44.3893785Z","primaryEndpoints":{"blob":"https://getitxxx6472qnxl3vv5o.blob.core.windows.net/","queue":"https://getitxxx6472qnxl3vv5o.queue.core.windows.net/","table":"https://getitxxx6472qnxl3vv5o.table.core.windows.net/","file":"https://getitxxx6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"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":"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":{"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.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_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/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","name":"clitestdatas000002","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-08-26T05:31:18.7508737Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-26T05:31:18.7508737Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-26T05:31:18.6884316Z","primaryEndpoints":{"blob":"https://clitestdatas000002.blob.core.windows.net/","queue":"https://clitestdatas000002.queue.core.windows.net/","table":"https://clitestdatas000002.table.core.windows.net/","file":"https://clitestdatas000002.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"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-08-19T05:19:04.4604985Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-19T05:19:04.4604985Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-19T05:19:04.3823145Z","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":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhors","name":"zuhors","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-08-20T13:11:32.2899214Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-20T13:11:32.2899214Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-20T13:11:32.2273941Z","primaryEndpoints":{"dfs":"https://zuhors.dfs.core.windows.net/","web":"https://zuhors.z3.web.core.windows.net/","blob":"https://zuhors.blob.core.windows.net/","queue":"https://zuhors.queue.core.windows.net/","table":"https://zuhors.table.core.windows.net/","file":"https://zuhors.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhors-secondary.dfs.core.windows.net/","web":"https://zuhors-secondary.z3.web.core.windows.net/","blob":"https://zuhors-secondary.blob.core.windows.net/","queue":"https://zuhors-secondary.queue.core.windows.net/","table":"https://zuhors-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"}}]}' - headers: - cache-control: - - no-cache - content-length: - - '165301' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:33:55 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: - - 7723a0c1-7ecb-4936-a023-a9a904d4f910 - - 32dbebb3-23a1-4818-a102-0bfa5b2dabe0 - - 8f37dcc5-9dea-41ad-9050-9bc4aa030a3b - - 6d5fa6f0-9aed-4eb1-b32b-1053e5ae3ea7 - - cc455a6b-84fa-4215-ac20-434a312c17ec - - 778621da-f74e-4167-8940-d7f6b94d016e - - 0b76e2a4-3a5b-4d7d-bfa5-f883585ecf28 - - 39c482c4-3b81-424d-8169-64496d3eae5c - - a22f6e38-1248-411e-bf3f-231ef9b876cb - - f41de4b2-195d-4add-bbed-0d785deb2519 - - c253476c-1118-4ee9-a26a-4e00f0c3b317 - - 805f254b-b786-449a-ae6c-bb0817b71b35 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage container create - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --name - User-Agent: - - python/3.6.8 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-storage/11.1.0 Azure-SDK-For-Python AZURECLI/2.11.0 - accept-language: - - en-US - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/listKeys?api-version=2019-06-01 - response: - body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' - headers: - cache-control: - - no-cache - content-length: - - '288' - content-type: - - application/json - date: - - Wed, 26 Aug 2020 05:33:56 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: - - '11999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.6.8; Windows 10) AZURECLI/2.11.0 - x-ms-date: - - Wed, 26 Aug 2020 05:33:56 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://clitestdatas000002.blob.core.windows.net/clitestcontainer?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:33:59 GMT - etag: - - '"0x8D84981A255D27F"' - last-modified: - - Wed, 26 Aug 2020 05:33:59 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: '{"kind": "Container", "properties": {"containerName": "clitestcontainer", - "resourceGroup": "cli_test_dat000001", "storageAccountName": "clitestdatas000002", - "subscriptionId": "0b1f6471-1bf0-4dda-aec3-cb9272f09590"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare dataset create - Connection: - - keep-alive - Content-Length: - - '278' - Content-Type: - - application/json - ParameterSetName: - - --account-name --dataset --name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2019-11-01 - response: - body: - string: '{"properties":{"containerName":"clitestcontainer","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"b3ec7dfa-012a-4a85-b1f7-400f140aeadc"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/DataSets"}' - headers: - cache-control: - - no-cache - content-length: - - '639' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:00 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2019-11-01 - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-quota: - - '[{"currentUsed":1,"limit":200,"name":{"localizedValue":"DataSet resource - quota","value":"DataSet resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_dat4k437juk3evbo6rjpubtqgmrpjoncob4ah3yozuootwcudid6ayi6kusmc5w44w/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set"}]' - x-ms-ratelimit-remaining-subscription-writes: - - '1197' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare dataset show - Connection: - - keep-alive - ParameterSetName: - - --account-name --name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2019-11-01 - response: - body: - string: '{"properties":{"containerName":"clitestcontainer","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"b3ec7dfa-012a-4a85-b1f7-400f140aeadc"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/DataSets"}' - headers: - cache-control: - - no-cache - content-length: - - '639' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:02 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare dataset list - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"containerName":"clitestcontainer","subscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"b3ec7dfa-012a-4a85-b1f7-400f140aeadc"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/DataSets"}]}' - headers: - cache-control: - - no-cache - content-length: - - '651' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:03 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"kind": "ScheduleBased", "properties": {"recurrenceInterval": "Day", "synchronizationTime": - "2020-04-05T10:50:00.000Z"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare synchronization-setting create - Connection: - - keep-alive - Content-Length: - - '121' - Content-Type: - - application/json - ParameterSetName: - - --account-name --resource-group --share-name --name --recurrence-interval - --synchronization-time - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2019-11-01 - response: - body: - string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-08-26T05:34:05.2464344Z","userName":"Feng - Zhou","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/SynchronizationSettings"}' - headers: - cache-control: - - no-cache - content-length: - - '589' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:05 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting - pragma: - - no-cache - server: - - Kestrel - 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: - - datashare synchronization-setting show - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-name --name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2019-11-01 - response: - body: - string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-08-26T05:34:05.2464344Z","userName":"Feng - Zhou","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/SynchronizationSettings"}' - headers: - cache-control: - - no-cache - content-length: - - '589' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:06 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare synchronization-setting list - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-08-26T05:34:05.2464344Z","userName":"Feng - Zhou","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/SynchronizationSettings"}]}' - headers: - cache-control: - - no-cache - content-length: - - '601' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:07 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare synchronization list - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/listSynchronizations?api-version=2019-11-01 - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-cache - content-length: - - '12' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:08 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: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: '{"properties": {"targetEmail": "consumer@microsoft.com"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare invitation create - Connection: - - keep-alive - Content-Length: - - '54' - Content-Type: - - application/json - ParameterSetName: - - --account-name --target-email --name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation?api-version=2019-11-01 - response: - body: - string: '{"properties":{"sentAt":"2020-08-26T05:34:10.4486509Z","targetEmail":"consumer@microsoft.com","invitationStatus":"Pending","invitationId":"25961b01-ebe4-49cd-915a-8654146d4741","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/Invitations"}' - headers: - cache-control: - - no-cache - content-length: - - '566' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:10 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation/25961b01-ebe4-49cd-915a-8654146d4741 - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-quota: - - '[{"currentUsed":1,"limit":200,"name":{"localizedValue":"Invitation resource - quota","value":"Invitation resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_dat4k437juk3evbo6rjpubtqgmrpjoncob4ah3yozuootwcudid6ayi6kusmc5w44w/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation"}]' - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare invitation list - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"sentAt":"2020-08-26T05:34:10.4486509Z","targetEmail":"consumer@microsoft.com","invitationStatus":"Pending","invitationId":"25961b01-ebe4-49cd-915a-8654146d4741","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/Invitations"}]}' - headers: - cache-control: - - no-cache - content-length: - - '578' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:11 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare invitation show - Connection: - - keep-alive - ParameterSetName: - - --account-name --name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation?api-version=2019-11-01 - response: - body: - string: '{"properties":{"sentAt":"2020-08-26T05:34:10.4486509Z","targetEmail":"consumer@microsoft.com","invitationStatus":"Pending","invitationId":"25961b01-ebe4-49cd-915a-8654146d4741","userName":"Feng - Zhou","userEmail":"provider@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/Invitations"}' - headers: - cache-control: - - no-cache - content-length: - - '566' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:12 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare invitation show - Connection: - - keep-alive - ParameterSetName: - - --account-name --name --resource-group --share-name - User-Agent: - - python/3.6.8 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.0 - 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/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/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/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"}]}}]}' - headers: - cache-control: - - no-cache - content-length: - - '25098' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:13 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", "identity": {"type": "SystemAssigned"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account create - Connection: - - keep-alive - Content-Length: - - '63' - Content-Type: - - application/json - ParameterSetName: - - --location --name --resource-group --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"f7147b7f-06d3-4003-823c-081f55252444","tenantId":"66d4b7e9-35f0-4be4-993b-31770b23fbae"},"properties":{"createdAt":"2020-08-26T05:08:23.2292535Z","provisioningState":"Succeeded","userName":"Allen - Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","location":"westus2"}' - headers: - cache-control: - - no-cache - content-length: - - '544' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:19 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: - - 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: - - datashare consumer invitation list - Connection: - - keep-alive - ParameterSetName: - - --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/providers/Microsoft.DataShare/ListInvitations?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"description":"share description","dataSetCount":1,"invitationId":"25961b01-ebe4-49cd-915a-8654146d4741","invitationStatus":"Pending","location":"westus2","shareName":"cli_test_share","sentAt":"2020-08-26T05:34:10.4486509Z","termsOfUse":"Confidential","providerName":"Feng - Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":null,"userEmail":null},"id":"/providers/Microsoft.DataShare/locations/westus2/consumerInvitations/25961b01-ebe4-49cd-915a-8654146d4741","name":"cli_test_invitation","type":"Microsoft.DataShare/consumerInvitations"}]}' - headers: - cache-control: - - no-cache - content-length: - - '609' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:22 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: - - datashare consumer invitation show - Connection: - - keep-alive - ParameterSetName: - - --invitation-id --subscription --location - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/providers/Microsoft.DataShare/locations/westus2/consumerInvitations/25961b01-ebe4-49cd-915a-8654146d4741?api-version=2019-11-01 - response: - body: - string: '{"properties":{"description":"share description","dataSetCount":1,"invitationId":"25961b01-ebe4-49cd-915a-8654146d4741","invitationStatus":"Pending","location":"westus2","shareName":"cli_test_share","sentAt":"2020-08-26T05:34:10.4486509Z","termsOfUse":"Confidential","providerName":"Feng - Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":null,"userEmail":null},"id":"/providers/Microsoft.DataShare/locations/westus2/consumerInvitations/25961b01-ebe4-49cd-915a-8654146d4741","name":"cli_test_invitation","type":"Microsoft.DataShare/consumerInvitations"}' - headers: - cache-control: - - no-cache - content-length: - - '597' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:24 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account wait - Connection: - - keep-alive - ParameterSetName: - - --name --resource-group --created --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 - response: - body: - string: '{"identity":{"type":"SystemAssigned","principalId":"f7147b7f-06d3-4003-823c-081f55252444","tenantId":"66d4b7e9-35f0-4be4-993b-31770b23fbae"},"properties":{"createdAt":"2020-08-26T05:08:23.2292535Z","provisioningState":"Succeeded","userName":"Allen - Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","location":"westus2"}' - headers: - cache-control: - - no-cache - content-length: - - '544' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:25 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"properties": {"invitationId": "25961b01-ebe4-49cd-915a-8654146d4741", - "sourceShareLocation": "westus2"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer share-subscription create - Connection: - - keep-alive - Content-Length: - - '106' - Content-Type: - - application/json - ParameterSetName: - - --account-name --resource-group --invitation-id --source-share-location --name - --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2019-11-01 - response: - body: - string: '{"properties":{"createdAt":"2020-08-26T05:34:29.3515129Z","invitationId":"25961b01-ebe4-49cd-915a-8654146d4741","sourceShareLocation":"westus2","provisioningState":"Succeeded","shareDescription":"share - description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Feng - Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":"Allen - Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' - headers: - cache-control: - - no-cache - content-length: - - '788' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:29 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/cli_test_share_subscription - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-quota: - - '[{"currentUsed":1,"limit":100,"name":{"localizedValue":"ShareSubscription - resource quota","value":"ShareSubscription resource quota"},"target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription"}]' - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer share-subscription show - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --name --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2019-11-01 - response: - body: - string: '{"properties":{"createdAt":"2020-08-26T05:34:29.3515129Z","invitationId":"25961b01-ebe4-49cd-915a-8654146d4741","sourceShareLocation":"westus2","provisioningState":"Succeeded","shareDescription":"share - description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Feng - Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":"Allen - Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' - headers: - cache-control: - - no-cache - content-length: - - '788' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:30 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer share-subscription list - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"createdAt":"2020-08-26T05:34:29.3515129Z","invitationId":"25961b01-ebe4-49cd-915a-8654146d4741","sourceShareLocation":"westus2","provisioningState":"Succeeded","shareDescription":"share - description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Feng - Zhou","providerEmail":"provider@microsoft.com","providerTenantName":"AzureSDKTeam","userName":"Allen - Zhou","userEmail":"consumer@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}]}' - headers: - cache-control: - - no-cache - content-length: - - '800' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:31 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer share-subscription list-source-dataset - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-subscription-name --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/ConsumerSourceDataSets?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"dataSetName":"cli_test_data_set","dataSetPath":"clitestcontainer","dataSetId":"b3ec7dfa-012a-4a85-b1f7-400f140aeadc","dataSetLocation":null,"dataSetType":"Container"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/consumerSourceDataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/ConsumerSourceDataSet"}]}' - headers: - cache-control: - - no-cache - content-length: - - '522' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:33 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account show - Connection: - - keep-alive - ParameterSetName: - - -n -g --subscription - User-Agent: - - python/3.6.8 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-storage/11.1.0 Azure-SDK-For-Python AZURECLI/2.11.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa?api-version=2019-06-01 - response: - body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa","name":"datashareconsumersa","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-04-07T02:47:00.7207527Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-07T02:47:00.7207527Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-07T02:47:00.6426060Z","primaryEndpoints":{"dfs":"https://datashareconsumersa.dfs.core.windows.net/","web":"https://datashareconsumersa.z5.web.core.windows.net/","blob":"https://datashareconsumersa.blob.core.windows.net/","queue":"https://datashareconsumersa.queue.core.windows.net/","table":"https://datashareconsumersa.table.core.windows.net/","file":"https://datashareconsumersa.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://datashareconsumersa-secondary.dfs.core.windows.net/","web":"https://datashareconsumersa-secondary.z5.web.core.windows.net/","blob":"https://datashareconsumersa-secondary.blob.core.windows.net/","queue":"https://datashareconsumersa-secondary.queue.core.windows.net/","table":"https://datashareconsumersa-secondary.table.core.windows.net/"}}}' - headers: - cache-control: - - no-cache - content-length: - - '1744' - content-type: - - application/json - date: - - Wed, 26 Aug 2020 05:34:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe", - "principalId": "f7147b7f-06d3-4003-823c-081f55252444", "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: - - --role --assignee-object-id --assignee-principal-type --scope --subscription - User-Agent: - - python/3.6.8 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.52.0 Azure-SDK-For-Python AZURECLI/2.11.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa/providers/Microsoft.Authorization/roleAssignments/293ef04b-8383-4c74-aaeb-fff997d4e4d4?api-version=2018-09-01-preview - response: - body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe","principalId":"f7147b7f-06d3-4003-823c-081f55252444","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa","createdOn":"2020-08-26T05:34:34.5002060Z","updatedOn":"2020-08-26T05:34:34.5002060Z","createdBy":null,"updatedBy":"97bce510-8fdd-4a59-9f13-f32a6179931e"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.Storage/storageAccounts/datashareconsumersa/providers/Microsoft.Authorization/roleAssignments/293ef04b-8383-4c74-aaeb-fff997d4e4d4","type":"Microsoft.Authorization/roleAssignments","name":"293ef04b-8383-4c74-aaeb-fff997d4e4d4"}' - headers: - cache-control: - - no-cache - content-length: - - '923' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:38 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: '{"kind": "BlobFolder", "properties": {"containerName": "clitestconsumercontainer", - "dataSetId": "b3ec7dfa-012a-4a85-b1f7-400f140aeadc", "prefix": "cli_test_data_set", - "resourceGroup": "datashare_consumer_rg", "storageAccountName": "datashareconsumersa", - "subscriptionId": "00000000-0000-0000-0000-000000000000"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer dataset-mapping create - Connection: - - keep-alive - Content-Length: - - '312' - Content-Type: - - application/json - ParameterSetName: - - --account-name --name --resource-group --share-subscription-name --mapping - --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2019-11-01 - response: - body: - string: '{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"00000000-0000-0000-0000-000000000000","resourceGroup":"datashare_consumer_rg","storageAccountName":"datashareconsumersa","dataSetId":"b3ec7dfa-012a-4a85-b1f7-400f140aeadc","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/DataSetMappings"}' - headers: - cache-control: - - no-cache - content-length: - - '688' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:49 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2019-11-01 - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-quota: - - '[{"currentUsed":1,"limit":200,"name":{"localizedValue":"DataSetMapping resource - quota","value":"DataSetMapping resource quota"},"target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping"}]' - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: '{"synchronizationMode": "Incremental"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer share-subscription synchronization start - Connection: - - keep-alive - Content-Length: - - '38' - Content-Type: - - application/json - ParameterSetName: - - --account-name --resource-group --share-subscription-name --synchronization-mode - --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/Synchronize?api-version=2019-11-01 - response: - body: - string: '{"status":"Queued","synchronizationId":"d1470340-7765-4519-a701-88523c66ff7f","synchronizationMode":"Incremental"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronizationOperationResults/d1470340-7765-4519-a701-88523c66ff7f?api-version=2019-11-01 - cache-control: - - no-cache - content-length: - - '114' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:55 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/shareSubscriptionSynchronizations/d1470340-7765-4519-a701-88523c66ff7f?api-version=2019-11-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' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer dataset-mapping show - Connection: - - keep-alive - ParameterSetName: - - --account-name --name --resource-group --share-subscription-name --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2019-11-01 - response: - body: - string: '{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"00000000-0000-0000-0000-000000000000","resourceGroup":"datashare_consumer_rg","storageAccountName":"datashareconsumersa","dataSetId":"b3ec7dfa-012a-4a85-b1f7-400f140aeadc","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/DataSetMappings"}' - headers: - cache-control: - - no-cache - content-length: - - '688' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:55 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer dataset-mapping list - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-subscription-name --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"00000000-0000-0000-0000-000000000000","resourceGroup":"datashare_consumer_rg","storageAccountName":"datashareconsumersa","dataSetId":"b3ec7dfa-012a-4a85-b1f7-400f140aeadc","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/DataSetMappings"}]}' - headers: - cache-control: - - no-cache - content-length: - - '700' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:56 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer share-subscription synchronization list - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --resource-group --share-subscription-name --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/listSynchronizations?api-version=2019-11-01 - response: - body: - string: '{"value":[{"status":"Queued","synchronizationId":"d1470340-7765-4519-a701-88523c66ff7f","synchronizationMode":"Incremental"}]}' - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:57 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: - - 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: - - datashare consumer share-subscription list-source-share-synchronization-setting - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --resource-group --share-subscription-name --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/listSourceShareSynchronizationSettings?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z"},"kind":"ScheduleBased"}]}' - headers: - cache-control: - - no-cache - content-length: - - '123' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:34:59 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: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: '{"kind": "ScheduleBased", "properties": {"recurrenceInterval": "Day", "synchronizationTime": - "2020-04-05T10:50:00.000Z"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer trigger create - Connection: - - keep-alive - Content-Length: - - '121' - Content-Type: - - application/json - ParameterSetName: - - --account-name --resource-group --share-subscription-name --name --recurrence-interval - --synchronization-time --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2019-11-01 - response: - body: - string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-08-26T05:35:00.8368064Z","userName":"Allen - Zhou","provisioningState":"Creating","triggerStatus":"Inactive","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/Triggers"}' - headers: - cache-control: - - no-cache - content-length: - - '570' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:35:00 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2019-11-01 - pragma: - - no-cache - server: - - Kestrel - 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: - - datashare consumer trigger show - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-subscription-name --name --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2019-11-01 - response: - body: - string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-08-26T05:35:00.8368064Z","userName":"Allen - Zhou","provisioningState":"Creating","triggerStatus":"Inactive","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/Triggers"}' - headers: - cache-control: - - no-cache - content-length: - - '570' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:35:01 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer trigger list - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-subscription-name --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2020-04-05T10:50:00Z","createdAt":"2020-08-26T05:35:00.8368064Z","userName":"Allen - Zhou","provisioningState":"Creating","triggerStatus":"Inactive","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/Triggers"}]}' - headers: - cache-control: - - no-cache - content-length: - - '582' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:35:03 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare provider-share-subscription list - Connection: - - keep-alive - ParameterSetName: - - --account-name --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions?api-version=2019-11-01 - response: - body: - string: '{"value":[{"properties":{"shareSubscriptionObjectId":"89426a01-1223-4205-ab50-743c3dcd4dce","consumerName":"Allen - Zhou","createdAt":"2020-08-26T05:34:29.3515129Z","sharedAt":"2020-08-26T05:34:10.4486509Z","consumerEmail":"consumer@microsoft.com","consumerTenantName":"Default - Directory","providerName":"Feng Zhou","providerEmail":"provider@microsoft.com","shareSubscriptionStatus":"Active"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/89426a01-1223-4205-ab50-743c3dcd4dce","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}]}' - headers: - cache-control: - - no-cache - content-length: - - '760' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:35:04 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare provider-share-subscription show - Connection: - - keep-alive - ParameterSetName: - - --account-name --share-subscription --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/89426a01-1223-4205-ab50-743c3dcd4dce?api-version=2019-11-01 - response: - body: - string: '{"properties":{"shareSubscriptionObjectId":"89426a01-1223-4205-ab50-743c3dcd4dce","consumerName":"Allen - Zhou","createdAt":"2020-08-26T05:34:29.3515129Z","sharedAt":"2020-08-26T05:34:10.4486509Z","consumerEmail":"consumer@microsoft.com","consumerTenantName":"Default - Directory","providerName":"Feng Zhou","providerEmail":"provider@microsoft.com","shareSubscriptionStatus":"Active"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/89426a01-1223-4205-ab50-743c3dcd4dce","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' - headers: - cache-control: - - no-cache - content-length: - - '748' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:35:05 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: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare provider-share-subscription revoke - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --share-subscription --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/89426a01-1223-4205-ab50-743c3dcd4dce/revoke?api-version=2019-11-01 - response: - body: - string: '{"properties":{"shareSubscriptionObjectId":"89426a01-1223-4205-ab50-743c3dcd4dce","consumerName":"Allen - Zhou","createdAt":"2020-08-26T05:34:29.3515129Z","sharedAt":"2020-08-26T05:34:10.4486509Z","consumerEmail":"consumer@microsoft.com","consumerTenantName":"Default - Directory","providerName":"Feng Zhou","providerEmail":"provider@microsoft.com","shareSubscriptionStatus":"Revoking"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/89426a01-1223-4205-ab50-743c3dcd4dce","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/operationResults/fbe08a2c-7e18-4ef2-9e98-74be6c9be304?api-version=2019-11-01 - cache-control: - - no-cache - content-length: - - '750' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:35:07 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/89426a01-1223-4205-ab50-743c3dcd4dce?api-version=2019-11-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' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare provider-share-subscription reinstate - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --share-subscription --resource-group --share-name - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/89426a01-1223-4205-ab50-743c3dcd4dce/reinstate?api-version=2019-11-01 - response: - body: - string: '{"properties":{"shareSubscriptionObjectId":"89426a01-1223-4205-ab50-743c3dcd4dce","consumerName":"Allen - Zhou","createdAt":"2020-08-26T05:34:29.3515129Z","sharedAt":"2020-08-26T05:34:10.4486509Z","consumerEmail":"consumer@microsoft.com","consumerTenantName":"Default - Directory","providerName":"Feng Zhou","providerEmail":"provider@microsoft.com","shareSubscriptionStatus":"Active"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/89426a01-1223-4205-ab50-743c3dcd4dce","name":"cli_test_share_subscription","type":"Microsoft.DataShare/ShareSubscriptions"}' - headers: - cache-control: - - no-cache - content-length: - - '748' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 26 Aug 2020 05:35:13 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: - - 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: - - datashare synchronization-setting delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --resource-group --share-name --name --yes - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2019-11-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:35:14 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/dbb6e0a5-8cd3-4328-bfdb-039fc2e1beea?api-version=2019-11-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: - - datashare dataset delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --name --resource-group --share-name --yes - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2019-11-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:35:15 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-quota: - - '[{"currentUsed":0,"limit":200,"name":{"localizedValue":"DataSet resource - quota","value":"DataSet resource quota"},"target":"/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/cli_test_dat4k437juk3evbo6rjpubtqgmrpjoncob4ah3yozuootwcudid6ayi6kusmc5w44w/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set"}]' - x-ms-ratelimit-remaining-subscription-deletes: - - '14996' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --resource-group --name --yes - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2019-11-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:35:17 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/8cc4158b-3d8f-4c21-89bb-2bf7f42e15ae?api-version=2019-11-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: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --resource-group --no-wait --yes - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2019-11-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:35:18 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/0f4468bb-10dc-47f2-952d-c679c4e8c003?api-version=2019-11-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: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer trigger delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --resource-group --share-subscription-name --name --yes --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2019-11-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:35:19 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/a94216fe-bab2-48e9-908f-e11f997de7fc?api-version=2019-11-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: - - datashare consumer dataset-mapping delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --name --resource-group --share-subscription-name --yes --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2019-11-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:35:20 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Kestrel - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-quota: - - '[{"currentUsed":0,"limit":200,"name":{"localizedValue":"DataSetMapping resource - quota","value":"DataSetMapping resource quota"},"target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping"}]' - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare consumer share-subscription delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name --resource-group --name --yes --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2019-11-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:35:21 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/e9667e21-3c41-4daf-9f06-7b45f06b0967?api-version=2019-11-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: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - datashare account delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --resource-group --no-wait --yes --subscription - User-Agent: - - AZURECLI/2.11.0 azsdk-python-datasharemanagementclient/unknown Python/3.6.8 - (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/datashare_consumer_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2019-11-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 26 Aug 2020 05:35:22 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/westus2/operationResults/ce4e927e-1f78-4fa6-9817-6b27c36ef7ed?api-version=2019-11-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' - status: - code: 202 - message: Accepted -version: 1 diff --git a/src/datashare/azext_datashare/tests/latest/recordings/test_datashare_azcli.yaml b/src/datashare/azext_datashare/tests/latest/recordings/test_datashare_azcli.yaml new file mode 100644 index 00000000000..e67dc2f0163 --- /dev/null +++ b/src/datashare/azext_datashare/tests/latest/recordings/test_datashare_azcli.yaml @@ -0,0 +1,3948 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - account list + Connection: + - keep-alive + ParameterSetName: + - --query -o + User-Agent: + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.2 (Windows-10-10.0.22000-SP0) + 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/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"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/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/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"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/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"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/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"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/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"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/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\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '28782' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:38:30 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", "tags": {"tag1": "Red", "tag2": "White"}, "identity": + {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account create + Connection: + - keep-alive + Content-Length: + - '104' + Content-Type: + - application/json + ParameterSetName: + - --location --tags --name --resource-group + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '810' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:38:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":49,"limit":100,"name":{"localizedValue":"Account resource + quota","value":"Account resource quota"},"target":"/subscriptions/e381f805-7d1c-4c53-8640-2bf6204d7e5b/resourceGroups/cli_test_datznffjvtu4uvsi6yjapohoizxorj4y2jbt6gmsjbshuffl3cilab7rzbyc7qja57/providers/Microsoft.DataShare/accounts/cli_test_account"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account create + Connection: + - keep-alive + ParameterSetName: + - --location --tags --name --resource-group + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '810' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:39:07 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '810' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:39:07 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '810' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:39:38 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '810' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:07 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Succeeded","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '811' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:38 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Succeeded","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '811' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:39 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account show + Connection: + - keep-alive + ParameterSetName: + - --ids + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Succeeded","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '811' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:39 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts?api-version=2021-08-01 + response: + body: + string: '{"value":[{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Succeeded","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '823' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:40 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/accounts?api-version=2021-08-01 + response: + body: + string: '{"value":[{"identity":{"type":"SystemAssigned","principalId":"b58050e2-3857-4f02-98db-edd41749c85b","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-12-02T21:07:51.4260443Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"australiaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.DataShare/accounts/billing_runner_provider_account_aue","name":"billing_runner_provider_account_aue","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"5cd78d93-6824-4bea-b81a-ef8d043329f7","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-12-02T21:11:07.9134368Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"australiaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.DataShare/accounts/billing_runner_consumer_account_aue","name":"billing_runner_consumer_account_aue","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"5ca7e288-0d31-4b8f-9205-9a6de686b700","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-12-04T00:28:30.359013Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"australiaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/aue_acct1","name":"aue_acct1","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"3595180a-625f-4501-b9ae-d240e1c929dc","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-02-09T00:10:44.239757Z","provisioningState":"Succeeded","userName":"Aditya + Vutukuri","userEmail":"advutuku@microsoft.com"},"location":"australiaeast","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/advutuku-prod-testing-rg/providers/Microsoft.DataShare/accounts/advutuku-aue","name":"advutuku-aue","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"advutuku@microsoft.com","createdByType":"User","createdAt":"2021-02-09T00:10:39.258891Z","lastModifiedBy":"advutuku@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-02-09T00:10:39.258891Z"}},{"identity":{"type":"SystemAssigned","principalId":"2fdffde1-1bd9-4a72-a7ed-4669932940df","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-08-25T14:58:47.4459534Z","provisioningState":"Succeeded","userName":"Santhosh + Rajangam","userEmail":"sarajang@microsoft.com"},"location":"canadacentral","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.DataShare/accounts/billing_runners_consumer_cacl","name":"billing_runners_consumer_cacl","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"76758ebe-2e92-4231-8e3c-f7b5652e1069","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-11-16T22:14:29.3334402Z","provisioningState":"Succeeded","userName":"Siwei + Mao","userEmail":"siwmao@microsoft.com"},"location":"canadacentral","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Siwei-Test/providers/Microsoft.DataShare/accounts/siwmao-inv-cacl","name":"siwmao-inv-cacl","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"d7792bb3-ee3b-41c4-846f-286459e5ab50","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-11-12T23:17:25.2450764Z","provisioningState":"Succeeded","userName":"Santhosh + Rajangam","userEmail":"sarajang@microsoft.com"},"location":"centralindia","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.DataShare/accounts/billing_runner_cin","name":"billing_runner_cin","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"52b0ef91-e175-4f78-abe9-5597b688f6ca","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-31T07:53:06.2454927Z","provisioningState":"Succeeded","userName":"Aditya + Vutukuri","userEmail":"advutuku@microsoft.com"},"location":"centralindia","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/advutuku-prod-testing-rg/providers/Microsoft.DataShare/accounts/advutuku-centralindia","name":"advutuku-centralindia","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"d8dac0d6-fbec-4185-9855-1b5bc1bfefd6","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-14T02:14:15.2310707Z","provisioningState":"Succeeded","userName":"Chad + Peters","userEmail":"chadp@microsoft.com"},"location":"centralus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.DataShare/accounts/consumerAccountCUS","name":"consumerAccountCUS","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"11ebe3bd-c255-49b9-9727-b3a8906bb0a9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-14T02:18:44.1441419Z","provisioningState":"Succeeded","userName":"Chad + Peters","userEmail":"chadp@microsoft.com"},"location":"centralus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.DataShare/accounts/sourceAccountCUS","name":"sourceAccountCUS","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"8e522278-8d2e-480a-9feb-d19e8f04f7f2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-12-29T20:10:51.8958169Z","provisioningState":"Succeeded","userName":"Aditya + Vutukuri","userEmail":"advutuku@microsoft.com"},"location":"eastasia","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.DataShare/accounts/billing_runner_eas","name":"billing_runner_eas","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"836fe054-be22-479e-9cf8-3005d0b69d18","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-01-03T19:30:00.5710568Z","provisioningState":"Succeeded","userName":"Siwei + Mao","userEmail":"siwmao@microsoft.com"},"location":"eastasia","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Siwei-Test/providers/Microsoft.DataShare/accounts/siwmao-eas-0122","name":"siwmao-eas-0122","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"siwmao@microsoft.com","createdByType":"User","createdAt":"2022-01-03T19:29:56.5048926Z","lastModifiedBy":"siwmao@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-03T19:29:56.5048926Z"}},{"identity":{"type":"SystemAssigned","principalId":"b6474e98-3be8-4f9b-965d-2d5e464300ca","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-05-14T18:44:14.9385354Z","provisioningState":"Succeeded","userName":"Ying + He","userEmail":"yingh@microsoft.com"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ying-test/providers/Microsoft.DataShare/accounts/yingDataShare2","name":"yingDataShare2","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"e25d0e58-4809-41a5-bf13-20fc01352e59","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-08-25T23:52:27.9704599Z","provisioningState":"Succeeded","userName":"Siwei + Mao","userEmail":"siwmao@microsoft.com"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Babylon/providers/Microsoft.DataShare/accounts/babylon_demo_provider","name":"babylon_demo_provider","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Succeeded","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}},{"identity":{"type":"SystemAssigned","principalId":"cacb2b0c-5458-436e-b5b0-5e17ac14fac9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-09-30T17:23:40.8475174Z","provisioningState":"Succeeded","userName":"Aditya + Vutukuri","userEmail":null},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/orange_county_testing/providers/Microsoft.DataShare/accounts/orangecounty_recievedshare","name":"orangecounty_recievedshare","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"99cf7d9f-00fa-4647-9500-7da10c296e3a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-09-30T23:31:06.3829976Z","provisioningState":"Succeeded","userName":"Santhosh + Rajangam","userEmail":null},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sarajangeus2/providers/Microsoft.DataShare/accounts/sarajangeus2","name":"sarajangeus2","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"d4342ef4-b21c-424e-ab96-6f96d63d0289","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-10-30T00:49:03.8574885Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/test_account_1","name":"test_account_1","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"013ad267-eef8-4ca8-81ba-d1a4e94f1edb","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-10-31T22:09:26.7430345Z","provisioningState":"Failed","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"eastus2","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/ms_rocks_source","name":"ms_rocks_source","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"ad333410-67e3-4a16-b148-4996a58ff2e3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-10-31T22:46:15.8704174Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/ms_rocks2","name":"ms_rocks2","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"0f49fef7-7cb7-428c-9120-9ad5c397a1e3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-12-05T22:08:38.6559781Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/partition_prov","name":"partition_prov","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"ec38a87f-3689-4594-a6c1-b58c4a05f005","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-12-05T22:09:02.3066874Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/partition_cons","name":"partition_cons","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"ddf57cee-c21b-42b0-84d2-f4ab46296e14","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-01-22T20:57:39.3656636Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/akdave_smoke","name":"akdave_smoke","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"ebe08246-9a1f-484f-86c1-96d5c3ed000a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-01-29T21:21:52.5770664Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/akdave_prov_xreg","name":"akdave_prov_xreg","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"a005f0df-7ee5-41d9-9877-79fe72a5e956","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-10-14T19:27:52.8902451Z","provisioningState":"Succeeded","userName":"Santhosh + Rajangam","userEmail":"sarajang@microsoft.com"},"location":"eastus2","tags":{"businessUnit":"BusinessUnit"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sarajangprod/providers/Microsoft.DataShare/accounts/sarajangprodeus2","name":"sarajangprodeus2","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"19a94314-df45-43cc-9699-4c2a022a1a98","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-12-15T21:35:40.6881678Z","provisioningState":"Succeeded","userName":"Siwei + Mao","userEmail":"siwmao@microsoft.com"},"location":"eastus2","tags":{"catalogUri":"siwmao1215.catalog.purview.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Siwei-Test/providers/Microsoft.DataShare/accounts/siwmao-test-purview-1215","name":"siwmao-test-purview-1215","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"c907d7b4-17ed-4446-97c6-5fff24a97a1f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-12-15T22:12:33.0687186Z","provisioningState":"Succeeded","userName":"Siwei + Mao","userEmail":"siwmao@microsoft.com"},"location":"eastus2","tags":{"catalogUri":"siwmao-test-catalog-jan.catalog.purview.azure.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Siwei-Test/providers/Microsoft.DataShare/accounts/siwmao-test-purview-2","name":"siwmao-test-purview-2","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"8f94a751-5dbf-41a7-8ae4-565d70f4fa22","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-03-10T18:31:08.864523Z","provisioningState":"Succeeded","userName":"Siwei + Mao","userEmail":"siwmao@microsoft.com"},"location":"eastus2","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Siwei-Test/providers/Microsoft.DataShare/accounts/siwmao-trigger-prod-eus2-ds","name":"siwmao-trigger-prod-eus2-ds","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"siwmao@microsoft.com","createdByType":"User","createdAt":"2021-03-10T18:31:05.6917316Z","lastModifiedBy":"siwmao@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-03-10T18:31:05.6917316Z"}},{"identity":{"type":"SystemAssigned","principalId":"25639670-d105-45cc-bd25-f9a0e88d3bb8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-01-18T18:59:30.1195892Z","provisioningState":"Succeeded","userName":"Zach + Madsen","userEmail":"zachmadsen@microsoft.com"},"location":"eastus2","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zach-rg-test-prod/providers/Microsoft.DataShare/accounts/zach-data-share-eastus2","name":"zach-data-share-eastus2","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"zachmadsen@microsoft.com","createdByType":"User","createdAt":"2022-01-18T18:59:27.9450855Z","lastModifiedBy":"zachmadsen@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-18T18:59:27.9450855Z"}},{"identity":{"type":"SystemAssigned","principalId":"7856927f-5921-418a-9b4e-21a436b44a80","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-10-30T22:17:27.0120682Z","provisioningState":"Succeeded","userName":"Manasa + Kadiri","userEmail":"makadiri@microsoft.com"},"location":"northeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/Microsoft.DataShare/accounts/consumer_northEu","name":"consumer_northEu","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"229db8a0-0897-4a5a-9d00-b9a3c3e18f53","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-31T07:52:15.2890517Z","provisioningState":"Succeeded","userName":"Aditya + Vutukuri","userEmail":"advutuku@microsoft.com"},"location":"northeurope","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/advutuku-prod-testing-rg/providers/Microsoft.DataShare/accounts/advutuku-northeurope","name":"advutuku-northeurope","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"fedf2126-099c-406c-90c7-fe1df768b849","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-19T01:54:01.7931077Z","provisioningState":"Succeeded","userName":"Chad + Peters","userEmail":"chadp@microsoft.com"},"location":"southafricanorth","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.DataShare/accounts/sourceAccountSAN","name":"sourceAccountSAN","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"b2aa693d-baba-453c-9349-c40cf69108b8","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-19T01:54:26.8613546Z","provisioningState":"Succeeded","userName":"Chad + Peters","userEmail":"chadp@microsoft.com"},"location":"southafricanorth","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.DataShare/accounts/consumerAccountSAN","name":"consumerAccountSAN","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"9b21cdd3-4ebe-4857-83ab-576455aaa668","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-19T20:31:27.5735935Z","provisioningState":"Succeeded","userName":"Santhosh + Rajangam","userEmail":"sarajang@microsoft.com"},"location":"southafricanorth","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.DataShare/accounts/billing_runner_san","name":"billing_runner_san","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"c7952287-0dbe-43b7-836f-e0430b8b1546","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-31T08:12:12.7501759Z","provisioningState":"Succeeded","userName":"Aditya + Vutukuri","userEmail":"advutuku@microsoft.com"},"location":"southafricanorth","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/advutuku-prod-testing-rg/providers/Microsoft.DataShare/accounts/advutuku-southafrica","name":"advutuku-southafrica","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"a830c166-658f-4149-bcc6-bee3b4fea20e","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-05-01T16:28:53.9372952Z","provisioningState":"Succeeded","userName":"Santhosh + Rajangam","userEmail":"sarajang@microsoft.com"},"location":"southcentralus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sarajangprod/providers/Microsoft.DataShare/accounts/sarajangscus","name":"sarajangscus","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"c480872c-8805-4bf9-978a-cce75003d4a2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-10-29T02:02:32.8299959Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/provider_account_new","name":"provider_account_new","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"8c2d2eb2-5a63-4bd4-8998-dbc221619eac","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-10-30T20:56:01.194884Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/sea_account","name":"sea_account","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"8d27cf93-4b29-45fc-9a58-0a95e689f94f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-01T07:48:17.0453559Z","provisioningState":"Succeeded","userName":"Aditya + Vutukuri","userEmail":"advutuku@microsoft.com"},"location":"southeastasia","tags":{"deploymenT_ID":"DEPLOYMENT_ID"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Raed-RG/providers/Microsoft.DataShare/accounts/dummydsaccount","name":"dummydsaccount","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"fddaa3e1-5221-467d-91b2-27e2784580b3","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-10-30T22:17:09.3481197Z","provisioningState":"Succeeded","userName":"Manasa + Kadiri","userEmail":"makadiri@microsoft.com"},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/Microsoft.DataShare/accounts/provider_uk","name":"provider_uk","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"02a6bbe3-a444-4aef-ad06-961d0f425737","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-12-02T21:49:35.2283981Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.DataShare/accounts/billing_runner_provider_account_uks","name":"billing_runner_provider_account_uks","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"4bcc3666-73f5-4502-985f-a5ec6d729034","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-12-02T21:50:13.4536123Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.DataShare/accounts/billing_runner_consumer_account_uks","name":"billing_runner_consumer_account_uks","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"7d881af2-029c-4033-b604-88ae798f663f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2019-10-29T02:04:26.0043433Z","provisioningState":"Succeeded","userName":"Akshat + Dave","userEmail":"akdave@microsoft.com"},"location":"westeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/md_rg/providers/Microsoft.DataShare/accounts/consumr_account_new","name":"consumr_account_new","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"1b6b5498-e6eb-44f7-8ce3-507a2665626a","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-04-20T17:24:04.4160432Z","provisioningState":"Succeeded","userName":"Siwei + Mao","userEmail":"siwmao@microsoft.com"},"location":"westeurope","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Siwei-Test/providers/Microsoft.DataShare/accounts/test-create","name":"test-create","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"siwmao@microsoft.com","createdByType":"User","createdAt":"2021-04-20T17:24:02.1306674Z","lastModifiedBy":"siwmao@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-04-20T17:24:02.1306674Z"}},{"identity":{"type":"SystemAssigned","principalId":"0aea107e-df9a-487f-91af-4e559b08bc64","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-14T16:19:37.1069936Z","provisioningState":"Succeeded","userName":"Chad + Peters","userEmail":"chadp@microsoft.com"},"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.DataShare/accounts/consumerAccountWUS","name":"consumerAccountWUS","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"ca8b9722-ad66-41cd-8f67-b871713cdbad","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-01-14T16:38:14.2330948Z","provisioningState":"Succeeded","userName":"Chad + Peters","userEmail":"chadp@microsoft.com"},"location":"westus","tags":{"tag1":"Red","tag2":"White"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.DataShare/accounts/sourceAccountWUS","name":"sourceAccountWUS","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"bc9acf61-ddf4-4406-b9b2-de314b8f19e9","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2021-12-02T20:12:31.3382519Z","provisioningState":"Succeeded","userName":"Zach + Madsen","userEmail":"zachmadsen@microsoft.com"},"location":"westus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zach-rg-test-prod/providers/Microsoft.DataShare/accounts/zach-westus-prod-account","name":"zach-westus-prod-account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"zachmadsen@microsoft.com","createdByType":"User","createdAt":"2021-12-02T20:12:30.0799807Z","lastModifiedBy":"zachmadsen@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-02T20:12:30.0799807Z"}},{"identity":{"type":"SystemAssigned","principalId":"6aee02dc-1db2-4aa6-a39e-bf8ceb328d63","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-05-13T23:41:00.8036629Z","provisioningState":"Succeeded","userName":"Ying + He","userEmail":"yingh@microsoft.com"},"location":"westus2","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ying-test/providers/Microsoft.DataShare/accounts/yingDataShare","name":"yingDataShare","type":"Microsoft.DataShare/accounts"},{"identity":{"type":"SystemAssigned","principalId":"caae6531-0ea1-4465-a169-e45b76dddf27","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2020-08-25T23:55:00.3857317Z","provisioningState":"Succeeded","userName":"Siwei + Mao","userEmail":"siwmao@microsoft.com"},"location":"westus2","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Babylon/providers/Microsoft.DataShare/accounts/babylon_demo_consumer","name":"babylon_demo_consumer","type":"Microsoft.DataShare/accounts"}]}' + headers: + cache-control: + - no-cache + content-length: + - '28125' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + status: + code: 200 + message: OK +- request: + body: '{"tags": {"tag1": "Green"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account update + Connection: + - keep-alive + Content-Length: + - '27' + Content-Type: + - application/json + ParameterSetName: + - --name --tags --resource-group + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"05603918-bc9f-41a9-9d44-91459376601f","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:38:34.9624297Z","provisioningState":"Succeeded","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","tags":{"tag1":"Green"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account","name":"cli_test_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:38:33.563989Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:38:33.563989Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '798' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:44 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "share description", "shareKind": "CopyBased", + "terms": "Confidential"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare create + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --description --share-kind --terms --name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2021-08-01 + response: + body: + string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2022-02-24T08:40:46.1821512Z","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/accounts/shares","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:40:45.9151595Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:40:45.9151595Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:46 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/cli_test_share + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":200,"name":{"localizedValue":"Share resource quota","value":"Share + resource quota"},"target":"/subscriptions/e381f805-7d1c-4c53-8640-2bf6204d7e5b/resourceGroups/cli_test_datznffjvtu4uvsi6yjapohoizxorj4y2jbt6gmsjbshuffl3cilab7rzbyc7qja57/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare show + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2021-08-01 + response: + body: + string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2022-02-24T08:40:46.1821512Z","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/accounts/shares","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:40:45.9151595Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:40:45.9151595Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:46 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare show + Connection: + - keep-alive + ParameterSetName: + - --ids + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2021-08-01 + response: + body: + string: '{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2022-02-24T08:40:46.1821512Z","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/accounts/shares","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:40:45.9151595Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:40:45.9151595Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:46 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"description":"share description","terms":"Confidential","shareKind":"CopyBased","provisioningState":"Succeeded","createdAt":"2022-02-24T08:40:46.1821512Z","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share","name":"cli_test_share","type":"Microsoft.DataShare/accounts/shares","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:40:45.9151595Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:40:45.9151595Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '736' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:48 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-storage/19.1.0 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002?api-version=2021-08-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","name":"clitestdatas000002","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2022-02-24T08:38:11.1711671Z","key2":"2022-02-24T08:38:11.1711671Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-24T08:38:11.1711671Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-24T08:38:11.1711671Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2022-02-24T08:38:10.9524147Z","primaryEndpoints":{"blob":"https://clitestdatas000002.blob.core.windows.net/","queue":"https://clitestdatas000002.queue.core.windows.net/","table":"https://clitestdatas000002.table.core.windows.net/","file":"https://clitestdatas000002.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1301' + content-type: + - application/json + date: + - Thu, 24 Feb 2022 08:40:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + ParameterSetName: + - --role --assignee-object-id --assignee-principal-type --scope + User-Agent: + - python/3.10.2 (Windows-10-10.0.22000-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.33.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Storage%20Blob%20Data%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Storage Blob Data Contributor","type":"BuiltInRole","description":"Allows + for read, write and delete access to Azure Storage blob containers and data","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Storage/storageAccounts/blobServices/containers/delete","Microsoft.Storage/storageAccounts/blobServices/containers/read","Microsoft.Storage/storageAccounts/blobServices/containers/write","Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action"],"notActions":[],"dataActions":["Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete","Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read","Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write","Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action","Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action"],"notDataActions":[]}],"createdOn":"2017-12-21T00:01:24.7972312Z","updatedOn":"2021-11-11T20:13:54.9397456Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe","type":"Microsoft.Authorization/roleDefinitions","name":"ba92f5b4-2d11-453d-a403-e96b0029c9fe"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1310' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:48 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/ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "principalId": "05603918-bc9f-41a9-9d44-91459376601f", "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: + - --role --assignee-object-id --assignee-principal-type --scope + User-Agent: + - python/3.10.2 (Windows-10-10.0.22000-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.33.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/providers/Microsoft.Authorization/roleAssignments/059aebdd-f752-4591-93d0-4a40deb5aec7?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe","principalId":"05603918-bc9f-41a9-9d44-91459376601f","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","condition":null,"conditionVersion":null,"createdOn":"2022-02-24T08:40:49.6899488Z","updatedOn":"2022-02-24T08:40:50.2994446Z","createdBy":null,"updatedBy":"25161425-5b9d-4d24-98f6-fb35662bf073","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/providers/Microsoft.Authorization/roleAssignments/059aebdd-f752-4591-93d0-4a40deb5aec7","type":"Microsoft.Authorization/roleAssignments","name":"059aebdd-f752-4591-93d0-4a40deb5aec7"}' + headers: + cache-control: + - no-cache + content-length: + - '1017' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:40:51 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: + - storage container create + Connection: + - keep-alive + ParameterSetName: + - --account-name --name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-storage/19.1.0 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-08-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.Storage/storageAccounts/azurecliadsconsumersa","name":"azurecliadsconsumersa","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2022-02-10T02:00:12.5656210Z","key2":"2022-02-10T02:00:12.5656210Z"},"allowCrossTenantReplication":true,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":false,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-10T02:00:12.5656210Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-10T02:00:12.5656210Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-02-10T02:00:12.4562302Z","primaryEndpoints":{"dfs":"https://azurecliadsconsumersa.dfs.core.windows.net/","web":"https://azurecliadsconsumersa.z13.web.core.windows.net/","blob":"https://azurecliadsconsumersa.blob.core.windows.net/","queue":"https://azurecliadsconsumersa.queue.core.windows.net/","table":"https://azurecliadsconsumersa.table.core.windows.net/","file":"https://azurecliadsconsumersa.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002","name":"clitestdatas000002","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2022-02-24T08:38:11.1711671Z","key2":"2022-02-24T08:38:11.1711671Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-24T08:38:11.1711671Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-24T08:38:11.1711671Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2022-02-24T08:38:10.9524147Z","primaryEndpoints":{"blob":"https://clitestdatas000002.blob.core.windows.net/","queue":"https://clitestdatas000002.queue.core.windows.net/","table":"https://clitestdatas000002.table.core.windows.net/","file":"https://clitestdatas000002.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zach-rg-test-prod/providers/Microsoft.Storage/storageAccounts/zachreceiveraccount","name":"zachreceiveraccount","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-27T20:55:17.6381315Z","key2":"2021-10-27T20:55:17.6381315Z"},"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-10-27T20:55:17.6381315Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T20:55:17.6381315Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-27T20:55:17.5444380Z","primaryEndpoints":{"dfs":"https://zachreceiveraccount.dfs.core.windows.net/","web":"https://zachreceiveraccount.z13.web.core.windows.net/","blob":"https://zachreceiveraccount.blob.core.windows.net/","queue":"https://zachreceiveraccount.queue.core.windows.net/","table":"https://zachreceiveraccount.table.core.windows.net/","file":"https://zachreceiveraccount.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zachreceiveraccount-secondary.dfs.core.windows.net/","web":"https://zachreceiveraccount-secondary.z13.web.core.windows.net/","blob":"https://zachreceiveraccount-secondary.blob.core.windows.net/","queue":"https://zachreceiveraccount-secondary.queue.core.windows.net/","table":"https://zachreceiveraccount-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/billing_runners/providers/Microsoft.Storage/storageAccounts/billingrunnersstorage","name":"billingrunnersstorage","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{"deploymenT_ID":"abc"},"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":"2019-12-02T21:22:19.7157267Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-02T21:22:19.7157267Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-02T21:22:19.6375831Z","primaryEndpoints":{"dfs":"https://billingrunnersstorage.dfs.core.windows.net/","web":"https://billingrunnersstorage.z20.web.core.windows.net/","blob":"https://billingrunnersstorage.blob.core.windows.net/","queue":"https://billingrunnersstorage.queue.core.windows.net/","table":"https://billingrunnersstorage.table.core.windows.net/","file":"https://billingrunnersstorage.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available","secondaryLocation":"centralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://billingrunnersstorage-secondary.dfs.core.windows.net/","web":"https://billingrunnersstorage-secondary.z20.web.core.windows.net/","blob":"https://billingrunnersstorage-secondary.blob.core.windows.net/","queue":"https://billingrunnersstorage-secondary.queue.core.windows.net/","table":"https://billingrunnersstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/orange_county_testing/providers/Microsoft.Storage/storageAccounts/orangecountytestdata","name":"orangecountytestdata","type":"Microsoft.Storage/storageAccounts","location":"eastus2","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":"2019-09-30T17:21:09.0182029Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-09-30T17:21:09.0182029Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-09-30T17:21:08.9556452Z","primaryEndpoints":{"dfs":"https://orangecountytestdata.dfs.core.windows.net/","web":"https://orangecountytestdata.z20.web.core.windows.net/","blob":"https://orangecountytestdata.blob.core.windows.net/","queue":"https://orangecountytestdata.queue.core.windows.net/","table":"https://orangecountytestdata.table.core.windows.net/","file":"https://orangecountytestdata.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available","secondaryLocation":"centralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://orangecountytestdata-secondary.dfs.core.windows.net/","web":"https://orangecountytestdata-secondary.z20.web.core.windows.net/","blob":"https://orangecountytestdata-secondary.blob.core.windows.net/","queue":"https://orangecountytestdata-secondary.queue.core.windows.net/","table":"https://orangecountytestdata-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sarajangeus2-managed-rg/providers/Microsoft.Storage/storageAccounts/scaneastus2gfvofax","name":"scaneastus2gfvofax","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T20:12:05.0140915Z","key2":"2021-09-07T20:12:05.0140915Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T20:12:05.0140915Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T20:12:05.0140915Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T20:12:04.9046872Z","primaryEndpoints":{"dfs":"https://scaneastus2gfvofax.dfs.core.windows.net/","web":"https://scaneastus2gfvofax.z20.web.core.windows.net/","blob":"https://scaneastus2gfvofax.blob.core.windows.net/","queue":"https://scaneastus2gfvofax.queue.core.windows.net/","table":"https://scaneastus2gfvofax.table.core.windows.net/","file":"https://scaneastus2gfvofax.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sarajangeus2receiver-managed-rg/providers/Microsoft.Storage/storageAccounts/scaneastus2nwmwjpy","name":"scaneastus2nwmwjpy","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T20:30:33.1120549Z","key2":"2021-09-07T20:30:33.1120549Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T20:30:33.1120549Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T20:30:33.1120549Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T20:30:32.9870494Z","primaryEndpoints":{"dfs":"https://scaneastus2nwmwjpy.dfs.core.windows.net/","web":"https://scaneastus2nwmwjpy.z20.web.core.windows.net/","blob":"https://scaneastus2nwmwjpy.blob.core.windows.net/","queue":"https://scaneastus2nwmwjpy.queue.core.windows.net/","table":"https://scaneastus2nwmwjpy.table.core.windows.net/","file":"https://scaneastus2nwmwjpy.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/managed-rg-siwmao-prod-eu2/providers/Microsoft.Storage/storageAccounts/scaneastus2tktjoop","name":"scaneastus2tktjoop","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T21:35:45.2394934Z","key2":"2021-09-07T21:35:45.2394934Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T21:35:45.2394934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T21:35:45.2394934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T21:35:45.1145243Z","primaryEndpoints":{"dfs":"https://scaneastus2tktjoop.dfs.core.windows.net/","web":"https://scaneastus2tktjoop.z20.web.core.windows.net/","blob":"https://scaneastus2tktjoop.blob.core.windows.net/","queue":"https://scaneastus2tktjoop.queue.core.windows.net/","table":"https://scaneastus2tktjoop.table.core.windows.net/","file":"https://scaneastus2tktjoop.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.Storage/storageAccounts/chadpdev2","name":"chadpdev2","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-14T16:50:20.7179379Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T16:50:20.7179379Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-14T16:50:20.6398046Z","primaryEndpoints":{"dfs":"https://chadpdev2.dfs.core.windows.net/","web":"https://chadpdev2.z22.web.core.windows.net/","blob":"https://chadpdev2.blob.core.windows.net/","queue":"https://chadpdev2.queue.core.windows.net/","table":"https://chadpdev2.table.core.windows.net/","file":"https://chadpdev2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://chadpdev2-secondary.dfs.core.windows.net/","web":"https://chadpdev2-secondary.z22.web.core.windows.net/","blob":"https://chadpdev2-secondary.blob.core.windows.net/","queue":"https://chadpdev2-secondary.queue.core.windows.net/","table":"https://chadpdev2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.Storage/storageAccounts/chadpdev","name":"chadpdev","type":"Microsoft.Storage/storageAccounts","location":"centralus","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-14T02:32:07.8595123Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T02:32:07.8595123Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-14T02:32:07.7657300Z","primaryEndpoints":{"dfs":"https://chadpdev.dfs.core.windows.net/","web":"https://chadpdev.z19.web.core.windows.net/","blob":"https://chadpdev.blob.core.windows.net/","queue":"https://chadpdev.queue.core.windows.net/","table":"https://chadpdev.table.core.windows.net/","file":"https://chadpdev.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ying-test/providers/Microsoft.Storage/storageAccounts/yingteststorage","name":"yingteststorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","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-06-04T18:30:04.4290633Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-04T18:30:04.4290633Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-04T18:30:04.3822181Z","primaryEndpoints":{"dfs":"https://yingteststorage.dfs.core.windows.net/","web":"https://yingteststorage.z19.web.core.windows.net/","blob":"https://yingteststorage.blob.core.windows.net/","queue":"https://yingteststorage.queue.core.windows.net/","table":"https://yingteststorage.table.core.windows.net/","file":"https://yingteststorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yingteststorage-secondary.dfs.core.windows.net/","web":"https://yingteststorage-secondary.z19.web.core.windows.net/","blob":"https://yingteststorage-secondary.blob.core.windows.net/","queue":"https://yingteststorage-secondary.queue.core.windows.net/","table":"https://yingteststorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zach-rg-test-prod/providers/Microsoft.Storage/storageAccounts/zachblueadlsg2","name":"zachblueadlsg2","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-08T15:13:22.5260694Z","key2":"2021-10-08T15:13:22.5260694Z"},"privateEndpointConnections":[],"isBlueShiftAccount":true,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T15:13:22.5260694Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T15:13:22.5260694Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2021-10-08T15:13:22.4323265Z","primaryEndpoints":{"dfs":"https://zachblueadlsg2.dfs.core.windows.net/","web":"https://zachblueadlsg2.z5.web.core.windows.net/","blob":"https://zachblueadlsg2.blob.core.windows.net/","queue":"https://zachblueadlsg2.queue.core.windows.net/","table":"https://zachblueadlsg2.table.core.windows.net/","file":"https://zachblueadlsg2.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zach-rg-test-prod/providers/Microsoft.Storage/storageAccounts/zachbluestoragev2","name":"zachbluestoragev2","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-08T15:00:12.1339410Z","key2":"2021-10-08T15:00:12.1339410Z"},"privateEndpointConnections":[],"isBlueShiftAccount":true,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T15:00:12.1339410Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T15:00:12.1339410Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2021-10-08T15:00:12.0402066Z","primaryEndpoints":{"dfs":"https://zachbluestoragev2.dfs.core.windows.net/","web":"https://zachbluestoragev2.z5.web.core.windows.net/","blob":"https://zachbluestoragev2.blob.core.windows.net/","queue":"https://zachbluestoragev2.queue.core.windows.net/","table":"https://zachbluestoragev2.table.core.windows.net/","file":"https://zachbluestoragev2.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zach-rg-test-prod/providers/Microsoft.Storage/storageAccounts/zachnotblueadlsg2","name":"zachnotblueadlsg2","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-08T15:14:33.2760946Z","key2":"2021-10-08T15:14:33.2760946Z"},"privateEndpointConnections":[],"isBlueShiftAccount":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T15:14:33.2760946Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T15:14:33.2760946Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2021-10-08T15:14:33.1823027Z","primaryEndpoints":{"dfs":"https://zachnotblueadlsg2.dfs.core.windows.net/","web":"https://zachnotblueadlsg2.z5.web.core.windows.net/","blob":"https://zachnotblueadlsg2.blob.core.windows.net/","queue":"https://zachnotblueadlsg2.queue.core.windows.net/","table":"https://zachnotblueadlsg2.table.core.windows.net/","file":"https://zachnotblueadlsg2.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zach-rg-test-prod/providers/Microsoft.Storage/storageAccounts/zachnotblueblob","name":"zachnotblueblob","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-08T15:08:18.3064238Z","key2":"2021-10-08T15:08:18.3064238Z"},"privateEndpointConnections":[],"isBlueShiftAccount":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T15:08:18.3064238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T15:08:18.3064238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2021-10-08T15:08:18.2126808Z","primaryEndpoints":{"dfs":"https://zachnotblueblob.dfs.core.windows.net/","web":"https://zachnotblueblob.z5.web.core.windows.net/","blob":"https://zachnotblueblob.blob.core.windows.net/","queue":"https://zachnotblueblob.queue.core.windows.net/","table":"https://zachnotblueblob.table.core.windows.net/","file":"https://zachnotblueblob.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sarajangeus2/providers/Microsoft.Storage/storageAccounts/sarajangpremium","name":"sarajangpremium","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","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":"2019-11-13T23:38:32.3968473Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-11-13T23:38:32.3968473Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-11-13T23:38:32.3499552Z","primaryEndpoints":{"web":"https://sarajangpremium.z4.web.core.windows.net/","blob":"https://sarajangpremium.blob.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sarajangeus2/providers/Microsoft.Storage/storageAccounts/sarajangstandard","name":"sarajangstandard","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","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":"2019-11-13T23:37:52.2231220Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-11-13T23:37:52.2231220Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-11-13T23:37:52.1606217Z","primaryEndpoints":{"dfs":"https://sarajangstandard.dfs.core.windows.net/","web":"https://sarajangstandard.z4.web.core.windows.net/","blob":"https://sarajangstandard.blob.core.windows.net/","queue":"https://sarajangstandard.queue.core.windows.net/","table":"https://sarajangstandard.table.core.windows.net/","file":"https://sarajangstandard.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sarajangstandard-secondary.dfs.core.windows.net/","web":"https://sarajangstandard-secondary.z4.web.core.windows.net/","blob":"https://sarajangstandard-secondary.blob.core.windows.net/","queue":"https://sarajangstandard-secondary.queue.core.windows.net/","table":"https://sarajangstandard-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chadp-rg/providers/Microsoft.Storage/storageAccounts/chadpdev3","name":"chadpdev3","type":"Microsoft.Storage/storageAccounts","location":"southafricanorth","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-19T01:53:31.5360117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-19T01:53:31.5360117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-19T01:53:31.4579237Z","primaryEndpoints":{"dfs":"https://chadpdev3.dfs.core.windows.net/","web":"https://chadpdev3.z1.web.core.windows.net/","blob":"https://chadpdev3.blob.core.windows.net/","queue":"https://chadpdev3.queue.core.windows.net/","table":"https://chadpdev3.table.core.windows.net/","file":"https://chadpdev3.file.core.windows.net/"},"primaryLocation":"southafricanorth","statusOfPrimary":"available","secondaryLocation":"southafricawest","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://chadpdev3-secondary.dfs.core.windows.net/","web":"https://chadpdev3-secondary.z1.web.core.windows.net/","blob":"https://chadpdev3-secondary.blob.core.windows.net/","queue":"https://chadpdev3-secondary.queue.core.windows.net/","table":"https://chadpdev3-secondary.table.core.windows.net/"}}}]}' + headers: + cache-control: + - no-cache + content-length: + - '28355' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:03 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: + - 9dc3b17d-024a-4855-a404-e45639bc0422 + - 34c082a3-020f-443a-950b-0657c7bc7875 + - 13baf804-0b2b-4c2a-ab64-be2180ae9390 + - 02c990b1-044a-4596-b109-74801799ae9b + - 672ad34a-a57b-4fee-8ba9-a72517abc31d + - 8aa6fee5-da43-40ee-9bcf-eea4617a7743 + - 2e18069e-66e5-49b0-a138-0e6a3ae9d234 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage container create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-storage/19.1.0 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.Storage/storageAccounts/clitestdatas000002/listKeys?api-version=2021-08-01&$expand=kerb + response: + body: + string: '{"keys":[{"creationTime":"2022-02-24T08:38:11.1711671Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2022-02-24T08:38:11.1711671Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '260' + content-type: + - application/json + date: + - Thu, 24 Feb 2022 08:41:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.10.2; Windows 10) AZURECLI/2.33.1 + x-ms-date: + - Thu, 24 Feb 2022 08:41:04 GMT + x-ms-version: + - '2018-11-09' + method: PUT + uri: https://clitestdatas000002.blob.core.windows.net/clitestcontainer?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:41:04 GMT + etag: + - '"0x8D9F7716528A0CE"' + last-modified: + - Thu, 24 Feb 2022 08:41:05 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2018-11-09' + status: + code: 201 + message: Created +- request: + body: '{"kind": "Container", "properties": {"containerName": "clitestcontainer", + "resourceGroup": "cli_test_dat000001", "storageAccountName": "clitestdatas000002", + "subscriptionId": "e381f805-7d1c-4c53-8640-2bf6204d7e5b"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare data-set create + Connection: + - keep-alive + Content-Length: + - '215' + Content-Type: + - application/json + ParameterSetName: + - --account-name --data-set --name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2021-08-01 + response: + body: + string: '{"properties":{"containerName":"clitestcontainer","subscriptionId":"e381f805-7d1c-4c53-8640-2bf6204d7e5b","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"72f25145-e46d-4254-a3f3-66a685b6931a"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/accounts/shares/dataSets","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:05.7022501Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:05.7022501Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '777' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2021-08-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":200,"name":{"localizedValue":"DataSet resource + quota","value":"DataSet resource quota"},"target":"/subscriptions/e381f805-7d1c-4c53-8640-2bf6204d7e5b/resourceGroups/cli_test_datznffjvtu4uvsi6yjapohoizxorj4y2jbt6gmsjbshuffl3cilab7rzbyc7qja57/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare data-set show + Connection: + - keep-alive + ParameterSetName: + - --account-name --name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2021-08-01 + response: + body: + string: '{"properties":{"containerName":"clitestcontainer","subscriptionId":"e381f805-7d1c-4c53-8640-2bf6204d7e5b","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"72f25145-e46d-4254-a3f3-66a685b6931a"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/accounts/shares/dataSets","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:05.7022501Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:05.7022501Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '777' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:07 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare data-set list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"containerName":"clitestcontainer","subscriptionId":"e381f805-7d1c-4c53-8640-2bf6204d7e5b","resourceGroup":"cli_test_dat000001","storageAccountName":"clitestdatas000002","dataSetId":"72f25145-e46d-4254-a3f3-66a685b6931a"},"kind":"Container","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/accounts/shares/dataSets","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:05.7022501Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:05.7022501Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:08 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"kind": "ScheduleBased", "properties": {"recurrenceInterval": "Day", "synchronizationTime": + "2022-02-02T04:47:52.000Z"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare synchronization-setting create + Connection: + - keep-alive + Content-Length: + - '121' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --share-name --name --scheduled-synchronization-setting + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2021-08-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2022-02-02T04:47:52Z","createdAt":"2022-02-24T08:41:09.358446Z","userName":"Harsh + Srivastava","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/accounts/shares/synchronizationSettings"}' + headers: + cache-control: + - no-cache + content-length: + - '554' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:09 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting + pragma: + - no-cache + server: + - Kestrel + 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: + - datashare synchronization-setting show + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name --name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2021-08-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2022-02-02T04:47:52Z","createdAt":"2022-02-24T08:41:09.358446Z","userName":"Harsh + Srivastava","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/accounts/shares/synchronizationSettings"}' + headers: + cache-control: + - no-cache + content-length: + - '554' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:10 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare synchronization-setting list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2022-02-02T04:47:52Z","createdAt":"2022-02-24T08:41:09.358446Z","userName":"Harsh + Srivastava","provisioningState":"Succeeded"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting","name":"cli_test_synchronization_setting","type":"Microsoft.DataShare/accounts/shares/synchronizationSettings"}]}' + headers: + cache-control: + - no-cache + content-length: + - '566' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:09 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare list-synchronization + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/listSynchronizations?api-version=2021-08-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:11 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"targetEmail": "hsrivastava@microsoft.com"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare invitation create + Connection: + - keep-alive + Content-Length: + - '60' + Content-Type: + - application/json + ParameterSetName: + - --account-name --target-email --name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation?api-version=2021-08-01 + response: + body: + string: '{"properties":{"sentAt":"2022-02-24T08:41:12.5834132Z","targetEmail":"hsrivastava@microsoft.com","invitationStatus":"Pending","invitationId":"e2376490-5315-43b7-9650-3904027ee4bb","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/accounts/shares/invitations","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:12.1077463Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:12.1077463Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '782' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:12 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation/e2376490-5315-43b7-9650-3904027ee4bb + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":200,"name":{"localizedValue":"Invitation resource + quota","value":"Invitation resource quota"},"target":"/subscriptions/e381f805-7d1c-4c53-8640-2bf6204d7e5b/resourceGroups/cli_test_datznffjvtu4uvsi6yjapohoizxorj4y2jbt6gmsjbshuffl3cilab7rzbyc7qja57/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare invitation list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"sentAt":"2022-02-24T08:41:12.5834132Z","targetEmail":"hsrivastava@microsoft.com","invitationStatus":"Pending","invitationId":"e2376490-5315-43b7-9650-3904027ee4bb","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/accounts/shares/invitations","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:12.1077463Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:12.1077463Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '794' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:13 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare invitation show + Connection: + - keep-alive + ParameterSetName: + - --account-name --name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation?api-version=2021-08-01 + response: + body: + string: '{"properties":{"sentAt":"2022-02-24T08:41:12.5834132Z","targetEmail":"hsrivastava@microsoft.com","invitationStatus":"Pending","invitationId":"e2376490-5315-43b7-9650-3904027ee4bb","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/invitations/cli_test_invitation","name":"cli_test_invitation","type":"Microsoft.DataShare/accounts/shares/invitations","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:12.1077463Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:12.1077463Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '782' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:13 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare invitation show + Connection: + - keep-alive + ParameterSetName: + - --account-name --name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.10.2 (Windows-10-10.0.22000-SP0) + 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/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"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/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/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"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/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"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/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"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/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"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/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\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '28782' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:14 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"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account create + Connection: + - keep-alive + Content-Length: + - '62' + Content-Type: + - application/json + ParameterSetName: + - --location --name --resource-group --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"c4ec2c10-912d-4447-bd0e-8a29dbfbe2b0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:41:18.6320271Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:17.2709133Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:17.2709133Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2021-08-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":50,"limit":100,"name":{"localizedValue":"Account resource + quota","value":"Account resource quota"},"target":"/subscriptions/e381f805-7d1c-4c53-8640-2bf6204d7e5b/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account create + Connection: + - keep-alive + ParameterSetName: + - --location --name --resource-group --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"c4ec2c10-912d-4447-bd0e-8a29dbfbe2b0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:41:18.6320271Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:17.2709133Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:17.2709133Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41: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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer-invitation list-invitation + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.DataShare/listInvitations?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"description":"share description","dataSetCount":1,"invitationId":"e2376490-5315-43b7-9650-3904027ee4bb","invitationStatus":"Pending","location":"eastus","shareName":"cli_test_share","sentAt":"2022-02-24T08:41:12.5834132Z","termsOfUse":"Confidential","providerName":"Harsh + Srivastava","providerEmail":"hsrivastava@microsoft.com","providerTenantName":"Microsoft","userName":null,"userEmail":null},"id":"/providers/Microsoft.DataShare/locations/eastus/consumerInvitations/e2376490-5315-43b7-9650-3904027ee4bb","name":"cli_test_invitation","type":"Microsoft.DataShare/locations/consumerInvitations"}]}' + headers: + cache-control: + - no-cache + content-length: + - '623' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-original-request-ids: + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer-invitation show + Connection: + - keep-alive + ParameterSetName: + - --invitation-id --subscription --location + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.DataShare/locations/eastus/consumerInvitations/e2376490-5315-43b7-9650-3904027ee4bb?api-version=2021-08-01 + response: + body: + string: '{"properties":{"description":"share description","dataSetCount":1,"invitationId":"e2376490-5315-43b7-9650-3904027ee4bb","invitationStatus":"Pending","location":"eastus","shareName":"cli_test_share","sentAt":"2022-02-24T08:41:12.5834132Z","termsOfUse":"Confidential","providerName":"Harsh + Srivastava","providerEmail":"hsrivastava@microsoft.com","providerTenantName":"Microsoft","userName":null,"userEmail":null},"id":"/providers/Microsoft.DataShare/locations/eastus/consumerInvitations/e2376490-5315-43b7-9650-3904027ee4bb","name":"cli_test_invitation","type":"Microsoft.DataShare/locations/consumerInvitations"}' + headers: + cache-control: + - no-cache + content-length: + - '611' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:53 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"c4ec2c10-912d-4447-bd0e-8a29dbfbe2b0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:41:18.6320271Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:17.2709133Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:17.2709133Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:41:54 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"c4ec2c10-912d-4447-bd0e-8a29dbfbe2b0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:41:18.6320271Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:17.2709133Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:17.2709133Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:42:25 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"c4ec2c10-912d-4447-bd0e-8a29dbfbe2b0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:41:18.6320271Z","provisioningState":"Creating","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:17.2709133Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:17.2709133Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:42:55 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account wait + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --created --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2021-08-01 + response: + body: + string: '{"identity":{"type":"SystemAssigned","principalId":"c4ec2c10-912d-4447-bd0e-8a29dbfbe2b0","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47"},"properties":{"createdAt":"2022-02-24T08:41:18.6320271Z","provisioningState":"Succeeded","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account","name":"cli_test_consumer_account","type":"Microsoft.DataShare/accounts","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:17.2709133Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:17.2709133Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '792' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:25 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"invitationId": "e2376490-5315-43b7-9650-3904027ee4bb", + "sourceShareLocation": "eastus"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription create + Connection: + - keep-alive + Content-Length: + - '105' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --invitation-id --source-share-location --name + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2021-08-01 + response: + body: + string: '{"properties":{"createdAt":"2022-02-24T08:43:27.7771548Z","invitationId":"e2376490-5315-43b7-9650-3904027ee4bb","sourceShareLocation":"eastus","provisioningState":"Succeeded","shareDescription":"share + description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Harsh + Srivastava","providerEmail":"hsrivastava@microsoft.com","providerTenantName":"Microsoft","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/accounts/shareSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '809' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:27 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/cli_test_share_subscription + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":100,"name":{"localizedValue":"ShareSubscription + resource quota","value":"ShareSubscription resource quota"},"target":"/subscriptions/e381f805-7d1c-4c53-8640-2bf6204d7e5b/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription show + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --name --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2021-08-01 + response: + body: + string: '{"properties":{"createdAt":"2022-02-24T08:43:27.7771548Z","invitationId":"e2376490-5315-43b7-9650-3904027ee4bb","sourceShareLocation":"eastus","provisioningState":"Succeeded","shareDescription":"share + description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Harsh + Srivastava","providerEmail":"hsrivastava@microsoft.com","providerTenantName":"Microsoft","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/accounts/shareSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '809' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:28 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"createdAt":"2022-02-24T08:43:27.7771548Z","invitationId":"e2376490-5315-43b7-9650-3904027ee4bb","sourceShareLocation":"eastus","provisioningState":"Succeeded","shareDescription":"share + description","shareKind":"CopyBased","shareName":"cli_test_share","shareSubscriptionStatus":"Active","shareTerms":"Confidential","providerName":"Harsh + Srivastava","providerEmail":"hsrivastava@microsoft.com","providerTenantName":"Microsoft","userName":"Harsh + Srivastava","userEmail":"hsrivastava@microsoft.com"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription","name":"cli_test_share_subscription","type":"Microsoft.DataShare/accounts/shareSubscriptions"}]}' + headers: + cache-control: + - no-cache + content-length: + - '821' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:28 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare consumer-source-data-set list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/consumerSourceDataSets?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"dataSetName":"cli_test_data_set","dataSetPath":"clitestcontainer","dataSetId":"72f25145-e46d-4254-a3f3-66a685b6931a","dataSetLocation":null,"dataSetType":"Container"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/consumerSourceDataSets/cli_test_data_set","name":"cli_test_data_set","type":"Microsoft.DataShare/accounts/shareSubscriptions/consumerSourceDataSets","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:41:05.7022501Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:41:05.7022501Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '788' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:29 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account show + Connection: + - keep-alive + ParameterSetName: + - -n -g --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-storage/19.1.0 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.Storage/storageAccounts/azurecliadsconsumersa?api-version=2021-08-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.Storage/storageAccounts/azurecliadsconsumersa","name":"azurecliadsconsumersa","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2022-02-10T02:00:12.5656210Z","key2":"2022-02-10T02:00:12.5656210Z"},"allowCrossTenantReplication":true,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":false,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-10T02:00:12.5656210Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-10T02:00:12.5656210Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-02-10T02:00:12.4562302Z","primaryEndpoints":{"dfs":"https://azurecliadsconsumersa.dfs.core.windows.net/","web":"https://azurecliadsconsumersa.z13.web.core.windows.net/","blob":"https://azurecliadsconsumersa.blob.core.windows.net/","queue":"https://azurecliadsconsumersa.queue.core.windows.net/","table":"https://azurecliadsconsumersa.table.core.windows.net/","file":"https://azurecliadsconsumersa.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1602' + content-type: + - application/json + date: + - Thu, 24 Feb 2022 08:43:30 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + ParameterSetName: + - --role --assignee-object-id --assignee-principal-type --scope --subscription + User-Agent: + - python/3.10.2 (Windows-10-10.0.22000-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.33.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.Storage/storageAccounts/azurecliadsconsumersa/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Storage%20Blob%20Data%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Storage Blob Data Contributor","type":"BuiltInRole","description":"Allows + for read, write and delete access to Azure Storage blob containers and data","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Storage/storageAccounts/blobServices/containers/delete","Microsoft.Storage/storageAccounts/blobServices/containers/read","Microsoft.Storage/storageAccounts/blobServices/containers/write","Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action"],"notActions":[],"dataActions":["Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete","Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read","Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write","Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action","Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action"],"notDataActions":[]}],"createdOn":"2017-12-21T00:01:24.7972312Z","updatedOn":"2021-11-11T20:13:54.9397456Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe","type":"Microsoft.Authorization/roleDefinitions","name":"ba92f5b4-2d11-453d-a403-e96b0029c9fe"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1310' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:30 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/ba92f5b4-2d11-453d-a403-e96b0029c9fe", + "principalId": "c4ec2c10-912d-4447-bd0e-8a29dbfbe2b0", "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: + - --role --assignee-object-id --assignee-principal-type --scope --subscription + User-Agent: + - python/3.10.2 (Windows-10-10.0.22000-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.33.1 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.Storage/storageAccounts/azurecliadsconsumersa/providers/Microsoft.Authorization/roleAssignments/c5689c97-9c77-4cb9-9024-370611dafe09?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe","principalId":"c4ec2c10-912d-4447-bd0e-8a29dbfbe2b0","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.Storage/storageAccounts/azurecliadsconsumersa","condition":null,"conditionVersion":null,"createdOn":"2022-02-24T08:43:31.3964130Z","updatedOn":"2022-02-24T08:43:31.8026624Z","createdBy":null,"updatedBy":"25161425-5b9d-4d24-98f6-fb35662bf073","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.Storage/storageAccounts/azurecliadsconsumersa/providers/Microsoft.Authorization/roleAssignments/c5689c97-9c77-4cb9-9024-370611dafe09","type":"Microsoft.Authorization/roleAssignments","name":"c5689c97-9c77-4cb9-9024-370611dafe09"}' + headers: + cache-control: + - no-cache + content-length: + - '1019' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:33 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: '{"kind": "BlobFolder", "properties": {"containerName": "clitestconsumercontainer", + "dataSetId": "72f25145-e46d-4254-a3f3-66a685b6931a", "prefix": "cli_test_data_set", + "resourceGroup": "ads_azure_cli_rg", "storageAccountName": "azurecliadsconsumersa", + "subscriptionId": "e381f805-7d1c-4c53-8640-2bf6204d7e5b"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare data-set-mapping create + Connection: + - keep-alive + Content-Length: + - '309' + Content-Type: + - application/json + ParameterSetName: + - --account-name --name --resource-group --share-subscription-name --blob-folder-data-set-mapping + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2021-08-01 + response: + body: + string: '{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"e381f805-7d1c-4c53-8640-2bf6204d7e5b","resourceGroup":"ads_azure_cli_rg","storageAccountName":"azurecliadsconsumersa","dataSetId":"72f25145-e46d-4254-a3f3-66a685b6931a","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:43:44.3487335Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:43:44.3487335Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '950' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2021-08-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":1,"limit":200,"name":{"localizedValue":"DataSetMapping resource + quota","value":"DataSetMapping resource quota"},"target":"/subscriptions/e381f805-7d1c-4c53-8640-2bf6204d7e5b/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping"}]' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: '{"synchronizationMode": "Incremental"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription synchronize + Connection: + - keep-alive + Content-Length: + - '38' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --share-subscription-name --synchronization-mode + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronize?api-version=2021-08-01 + response: + body: + string: '{"status":"Queued","synchronizationId":"4d2a52f6-1341-4659-90a8-71d6071d0254","synchronizationMode":"Incremental"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronizationOperationResults/4d2a52f6-1341-4659-90a8-71d6071d0254?api-version=2021-08-01 + cache-control: + - no-cache + content-length: + - '114' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:43:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/shareSubscriptionSynchronizations/4d2a52f6-1341-4659-90a8-71d6071d0254?api-version=2021-08-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' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription synchronize + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --synchronization-mode + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronizationOperationResults/4d2a52f6-1341-4659-90a8-71d6071d0254?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Accepted","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '66' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:44:18 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription synchronize + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --synchronization-mode + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronizationOperationResults/4d2a52f6-1341-4659-90a8-71d6071d0254?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Accepted","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '66' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:44: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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription synchronize + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --synchronization-mode + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronizationOperationResults/4d2a52f6-1341-4659-90a8-71d6071d0254?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Accepted","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '66' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:45:19 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription synchronize + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --synchronization-mode + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronizationOperationResults/4d2a52f6-1341-4659-90a8-71d6071d0254?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Accepted","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '66' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:45: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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription synchronize + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --synchronization-mode + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/synchronizationOperationResults/4d2a52f6-1341-4659-90a8-71d6071d0254?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Succeeded","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '67' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:19 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare data-set-mapping show + Connection: + - keep-alive + ParameterSetName: + - --account-name --name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2021-08-01 + response: + body: + string: '{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"e381f805-7d1c-4c53-8640-2bf6204d7e5b","resourceGroup":"ads_azure_cli_rg","storageAccountName":"azurecliadsconsumersa","dataSetId":"72f25145-e46d-4254-a3f3-66a685b6931a","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:43:44.3487335Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:43:44.3487335Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '950' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:19 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare data-set-mapping list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"containerName":"clitestconsumercontainer","prefix":"cli_test_data_set","subscriptionId":"e381f805-7d1c-4c53-8640-2bf6204d7e5b","resourceGroup":"ads_azure_cli_rg","storageAccountName":"azurecliadsconsumersa","dataSetId":"72f25145-e46d-4254-a3f3-66a685b6931a","dataSetMappingStatus":"Ok","provisioningState":"Succeeded"},"kind":"BlobFolder","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping","name":"cli_test_data_set_mapping","type":"Microsoft.DataShare/accounts/shareSubscriptions/dataSetMappings","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:43:44.3487335Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:43:44.3487335Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '962' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:21 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription list-synchronization + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/listSynchronizations?api-version=2021-08-01 + response: + body: + string: '{"value":[{"endTime":"2022-02-24T08:45:15.5967957Z","startTime":"2022-02-24T08:43:49.9611698Z","durationMs":85636,"status":"Succeeded","synchronizationId":"4d2a52f6-1341-4659-90a8-71d6071d0254","synchronizationMode":"Incremental"}]}' + headers: + cache-control: + - no-cache + content-length: + - '232' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:21 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: + - 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: + - datashare share-subscription list-source-share-synchronization-setting + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/listSourceShareSynchronizationSettings?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2022-02-02T04:47:52Z"},"kind":"ScheduleBased"}]}' + headers: + cache-control: + - no-cache + content-length: + - '123' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:22 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"kind": "ScheduleBased", "properties": {"recurrenceInterval": "Day", "synchronizationMode": + "Incremental", "synchronizationTime": "2022-02-02T04:47:52.000Z"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare trigger create + Connection: + - keep-alive + Content-Length: + - '159' + Content-Type: + - application/json + ParameterSetName: + - --account-name --resource-group --share-subscription-name --name --scheduled-trigger + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2021-08-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2022-02-02T04:47:52Z","createdAt":"2022-02-24T08:46:23.8043774Z","userName":"Harsh + Srivastava","provisioningState":"Creating","triggerStatus":"Inactive","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/accounts/shareSubscriptions/triggers","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:46:23.4126366Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:46:23.4126366Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '841' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2021-08-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' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare trigger create + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --name --scheduled-trigger + --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2021-08-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2022-02-02T04:47:52Z","createdAt":"2022-02-24T08:46:23.8043774Z","userName":"Harsh + Srivastava","provisioningState":"Succeeded","triggerStatus":"Active","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/accounts/shareSubscriptions/triggers","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:46:23.4126366Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:46:23.4126366Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '840' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:53 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare trigger show + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --name --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2021-08-01 + response: + body: + string: '{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2022-02-02T04:47:52Z","createdAt":"2022-02-24T08:46:23.8043774Z","userName":"Harsh + Srivastava","provisioningState":"Succeeded","triggerStatus":"Active","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/accounts/shareSubscriptions/triggers","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:46:23.4126366Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:46:23.4126366Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '840' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:54 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare trigger list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"recurrenceInterval":"Day","synchronizationTime":"2022-02-02T04:47:52Z","createdAt":"2022-02-24T08:46:23.8043774Z","userName":"Harsh + Srivastava","provisioningState":"Succeeded","triggerStatus":"Active","synchronizationMode":"Incremental"},"kind":"ScheduleBased","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger","name":"cli_test_trigger","type":"Microsoft.DataShare/accounts/shareSubscriptions/triggers","systemData":{"createdBy":"hsrivastava@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:46:23.4126366Z","lastModifiedBy":"hsrivastava@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:46:23.4126366Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '852' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:54 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare provider-share-subscription list + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions?api-version=2021-08-01 + response: + body: + string: '{"value":[{"properties":{"shareSubscriptionObjectId":"06f94b3b-bb08-46fd-a827-a61c0f2d01cf","consumerName":"Harsh + Srivastava","createdAt":"2022-02-24T08:43:27.7771548Z","sharedAt":"2022-02-24T08:41:12.5834132Z","consumerEmail":"hsrivastava@microsoft.com","consumerTenantName":"Microsoft","providerName":"Harsh + Srivastava","providerEmail":"hsrivastava@microsoft.com","shareSubscriptionStatus":"Active","expirationDate":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/06f94b3b-bb08-46fd-a827-a61c0f2d01cf","name":"cli_test_share_subscription","type":"Microsoft.DataShare/accounts/shares/providerShareSubscriptions"}]}' + headers: + cache-control: + - no-cache + content-length: + - '762' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:55 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare provider-share-subscription show + Connection: + - keep-alive + ParameterSetName: + - --account-name --provider-share-subscription-id --resource-group --share-name + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/providerShareSubscriptions/06f94b3b-bb08-46fd-a827-a61c0f2d01cf?api-version=2021-08-01 + response: + body: + string: '{"properties":{"shareSubscriptionObjectId":"06f94b3b-bb08-46fd-a827-a61c0f2d01cf","consumerName":"Harsh + Srivastava","createdAt":"2022-02-24T08:43:27.7771548Z","sharedAt":"2022-02-24T08:41:12.5834132Z","consumerEmail":"hsrivastava@microsoft.com","consumerTenantName":"Microsoft","providerName":"Harsh + Srivastava","providerEmail":"hsrivastava@microsoft.com","shareSubscriptionStatus":"Active","expirationDate":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/shareSubscriptions/06f94b3b-bb08-46fd-a827-a61c0f2d01cf","name":"cli_test_share_subscription","type":"Microsoft.DataShare/accounts/shares/providerShareSubscriptions"}' + headers: + cache-control: + - no-cache + content-length: + - '750' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:46:56 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare synchronization-setting delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-name --name --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/synchronizationSettings/cli_test_synchronization_setting?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:46:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/7554ff10-3db2-4e8d-b064-8fdc24bf733d?api-version=2021-08-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: + - datashare synchronization-setting delete + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-name --name --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/7554ff10-3db2-4e8d-b064-8fdc24bf733d?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Succeeded","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '67' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:47:27 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare data-set delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --name --resource-group --share-name --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:47:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-quota: + - '[{"currentUsed":0,"limit":200,"name":{"localizedValue":"DataSet resource + quota","value":"DataSet resource quota"},"target":"/subscriptions/e381f805-7d1c-4c53-8640-2bf6204d7e5b/resourceGroups/cli_test_datznffjvtu4uvsi6yjapohoizxorj4y2jbt6gmsjbshuffl3cilab7rzbyc7qja57/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share/dataSets/cli_test_data_set"}]' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --name --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account/shares/cli_test_share?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:47:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/860d4611-3b60-4201-b1fd-608d74090f9b?api-version=2021-08-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: + - datashare delete + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --name --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/860d4611-3b60-4201-b1fd-608d74090f9b?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Succeeded","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '67' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:48:00 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: + - nosniff + x-ms-quota: + - '[{"currentUsed":0,"limit":200,"name":{"localizedValue":"Share resource quota","value":"Share + resource quota"},"target":""}]' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare trigger delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --share-subscription-name --name --yes --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/triggers/cli_test_trigger?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:48:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/582beefe-04dc-4d22-9d9e-040121e2c9a4?api-version=2021-08-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: + - datashare trigger delete + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --share-subscription-name --name --yes --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/582beefe-04dc-4d22-9d9e-040121e2c9a4?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Succeeded","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '67' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:48:32 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare share-subscription delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --resource-group --name --yes --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:48:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/1a0311aa-dc43-4e60-ab4e-68341b08647c?api-version=2021-08-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: + - datashare share-subscription delete + Connection: + - keep-alive + ParameterSetName: + - --account-name --resource-group --name --yes --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/1a0311aa-dc43-4e60-ab4e-68341b08647c?api-version=2021-08-01 + response: + body: + string: '{"startTime":null,"endTime":null,"status":"Succeeded","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '67' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:49:04 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: + - nosniff + x-ms-quota: + - '[{"currentUsed":0,"limit":100,"name":{"localizedValue":"ShareSubscription + resource quota","value":"ShareSubscription resource quota"},"target":""}]' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group --no-wait --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_dat000001/providers/Microsoft.DataShare/accounts/cli_test_account?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:49:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/e7498d47-7a2f-4351-87be-f93821e1cf0e?api-version=2021-08-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: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare data-set-mapping delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name --name --resource-group --share-subscription-name --yes --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account/shareSubscriptions/cli_test_share_subscription/dataSetMappings/cli_test_data_set_mapping?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Thu, 24 Feb 2022 08:49:07 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-deletes: + - '14999' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datashare account delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group --no-wait --yes --subscription + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-datashare/1.0.0b1 Python/3.10.2 (Windows-10-10.0.22000-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ads_azure_cli_rg/providers/Microsoft.DataShare/accounts/cli_test_consumer_account?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:49:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataShare/locations/eastus/operationResults/dcbc2d05-8022-4f56-ac49-63a84b5a309f?api-version=2021-08-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 +version: 1 diff --git a/src/datashare/azext_datashare/tests/latest/test_datashare_scenario.py b/src/datashare/azext_datashare/tests/latest/test_datashare_scenario_manual.py similarity index 67% rename from src/datashare/azext_datashare/tests/latest/test_datashare_scenario.py rename to src/datashare/azext_datashare/tests/latest/test_datashare_scenario_manual.py index 2e9b8747434..019b8612553 100644 --- a/src/datashare/azext_datashare/tests/latest/test_datashare_scenario.py +++ b/src/datashare/azext_datashare/tests/latest/test_datashare_scenario_manual.py @@ -1,599 +1,674 @@ -# -------------------------------------------------------------------------------------------- -# 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, StorageAccountPreparer) - -TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) - - -class DataShareManagementClientScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='cli_test_datashare_provider_rg'[:12], location='westus2', key='ProviderResourceGroup') - @StorageAccountPreparer(name_prefix='clitestdatashareprovidersa'[:12], location='westus2', key='ProviderStorageAccount') - @AllowLargeResponse() - def test_datashare(self, resource_group, storage_account): - - self.kwargs.update({ - 'ConsumerSubscription': '00000000-0000-0000-0000-000000000000', # change this value in live test - 'ConsumerResourceGroup': 'datashare_consumer_rg', # this is a pre-existing reosurce group in consumer subscription - 'ConsumerStorageAccount': 'datashareconsumersa', # this is a pre-existing storage account in consumer subscription - 'ProviderEmail': 'provider@microsoft.com', # change this value in live test - 'ConsumerEmail': 'consumer@microsoft.com', # change this value in live test - 'ProviderAccount': 'cli_test_account', - 'ConsumerAccount': 'cli_test_consumer_account', - 'ProviderDataset': 'cli_test_data_set', - 'ConsumerDatasetMapping': 'cli_test_data_set_mapping', - 'ProviderInvitation': 'cli_test_invitation', - 'ProviderShare': 'cli_test_share', - 'ConsumerShareSubscription': 'cli_test_share_subscription', - 'ProviderSynchronizationSetting': 'cli_test_synchronization_setting', - 'ConsumerTrigger': 'cli_test_trigger', - 'ProviderContainer': 'clitestcontainer', - 'ConsumerContainer': 'clitestconsumercontainer', - }) - - # Provider commands - datashareAccount = self.cmd('az datashare account create ' - '--location "West US 2" ' - '--tags tag1=Red tag2=White ' - '--name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}"', - checks=[self.check('name', '{ProviderAccount}'), - self.check('location', 'westus2'), - self.check('resourceGroup', '{ProviderResourceGroup}'), - self.check('tags.tag1', 'Red'), - self.check('tags.tag2', 'White') - ]).get_output_in_json() - - self.cmd('az datashare account wait ' - '--name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--created', - checks=[]) - - accountId = datashareAccount['id'] - self.cmd('az datashare account show ' - '-n "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}"', - checks=[self.check('name', '{ProviderAccount}'), - self.check('location', 'westus2'), - self.check('provisioningState', 'Succeeded'), - self.check('resourceGroup', '{ProviderResourceGroup}'), - self.check('tags.tag1', 'Red'), - self.check('tags.tag2', 'White') - ]) - - self.cmd('az datashare account show ' - '--ids {}'.format(accountId), - checks=[self.check('name', '{ProviderAccount}'), - self.check('location', 'westus2'), - self.check('provisioningState', 'Succeeded'), - self.check('resourceGroup', '{ProviderResourceGroup}'), - self.check('tags.tag1', 'Red'), - self.check('tags.tag2', 'White') - ]) - - self.cmd('az datashare account list ' - '--resource-group "{ProviderResourceGroup}"', - checks=[self.check("[?id=='{}'].name | [0]".format(accountId), '{ProviderAccount}'), - self.check("[?id=='{}'].location | [0]".format(accountId), 'westus2'), - self.check("[?id=='{}'].resourceGroup | [0]".format(accountId), '{ProviderResourceGroup}'), - self.check("[?id=='{}'].tags | [0].tag1".format(accountId), 'Red'), - self.check("[?id=='{}'].tags | [0].tag2".format(accountId), 'White')]) - - self.cmd('az datashare account update ' - '--name "{ProviderAccount}" ' - '--tags tag1=Green ' - '--resource-group "{ProviderResourceGroup}"', - checks=[self.check('name', '{ProviderAccount}'), - self.check('location', 'westus2'), - self.check('provisioningState', 'Succeeded'), - self.check('resourceGroup', '{ProviderResourceGroup}'), - self.check('tags.tag1', 'Green')]) - - datashare = self.cmd('az datashare create ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--description "share description" ' - '--share-kind "CopyBased" ' - '--terms "Confidential" ' - '--name "{ProviderShare}"', - checks=[self.check('name', '{ProviderShare}'), - self.check('description', 'share description'), - self.check('shareKind', 'CopyBased'), - self.check('terms', 'Confidential')]).get_output_in_json() - - self.cmd('az datashare show ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--name "{ProviderShare}"', - checks=[self.check('name', '{ProviderShare}'), - self.check('description', 'share description'), - self.check('shareKind', 'CopyBased'), - self.check('terms', 'Confidential')]) - - datashareId = datashare['id'] - self.cmd('az datashare show ' - '--ids {}'.format(datashareId), - checks=[self.check('name', '{ProviderShare}'), - self.check('description', 'share description'), - self.check('shareKind', 'CopyBased'), - self.check('terms', 'Confidential')]) - - self.cmd('az datashare list ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}"', - checks=[self.check("[?id=='{}'].name | [0]".format(datashareId), '{ProviderShare}'), - self.check("[?id=='{}'].description | [0]".format(datashareId), 'share description'), - self.check("[?id=='{}'].shareKind | [0]".format(datashareId), 'CopyBased'), - self.check("[?id=='{}'].terms | [0]".format(datashareId), 'Confidential')]) - - storage_account_json = self.cmd('az storage account show ' - '-n {ProviderStorageAccount} ' - '-g {ProviderResourceGroup}').get_output_in_json() - - accountPrincipalId = datashareAccount['identity']['principalId'] - if self.is_live or self.in_recording: - import time - self.cmd('az role assignment create ' - '--role "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1" ' # Storage Blob Data Reader - '--assignee-object-id {} ' - '--assignee-principal-type ServicePrincipal ' - '--scope {}'.format(accountPrincipalId, storage_account_json['id'])) - time.sleep(10) - - self.cmd('az storage container create ' - '--account-name {ProviderStorageAccount} ' - '--name {ProviderContainer}') - - datasetContent = {"container_name": "{}".format(self.kwargs.get('ProviderContainer', '')), "storage_account_name": "{}".format(storage_account), "kind": "Container"} - self.kwargs.update({ - 'ProviderDatasetContent': datasetContent - }) - self.cmd('az datashare dataset create ' - '--account-name "{ProviderAccount}" ' - '--dataset "{ProviderDatasetContent}" ' - '--name "{ProviderDataset}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('containerName', '{ProviderContainer}'), - self.check('storageAccountName', '{ProviderStorageAccount}'), - self.check('kind', 'Container'), - self.check('name', '{ProviderDataset}')]) - - self.cmd('az datashare dataset show ' - '--account-name "{ProviderAccount}" ' - '--name "{ProviderDataset}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('containerName', '{ProviderContainer}'), - self.check('storageAccountName', '{ProviderStorageAccount}'), - self.check('kind', 'Container'), - self.check('name', '{ProviderDataset}')]) - - self.cmd('az datashare dataset list ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('[0].containerName', '{ProviderContainer}'), - self.check('[0].storageAccountName', '{ProviderStorageAccount}'), - self.check('[0].kind', 'Container'), - self.check('[0].name', '{ProviderDataset}')]) - - self.cmd('az datashare synchronization-setting create ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}" ' - '--name "{ProviderSynchronizationSetting}" ' - '--recurrence-interval "Day" ' - '--synchronization-time "2020-04-05 10:50:00 +00:00"', - checks=[self.check('kind', 'ScheduleBased'), - self.check('name', '{ProviderSynchronizationSetting}'), - self.check('recurrenceInterval', 'Day'), - self.check('resourceGroup', '{ProviderResourceGroup}'), - self.check('synchronizationTime', '2020-04-05T10:50:00+00:00')]) - - self.cmd('az datashare synchronization-setting show ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}" ' - '--name "{ProviderSynchronizationSetting}"', - checks=[self.check('kind', 'ScheduleBased'), - self.check('name', '{ProviderSynchronizationSetting}'), - self.check('recurrenceInterval', 'Day'), - self.check('resourceGroup', '{ProviderResourceGroup}'), - self.check('synchronizationTime', '2020-04-05T10:50:00+00:00')]) - - self.cmd('az datashare synchronization-setting list ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('[0].kind', 'ScheduleBased'), - self.check('[0].name', '{ProviderSynchronizationSetting}'), - self.check('[0].recurrenceInterval', 'Day'), - self.check('[0].resourceGroup', '{ProviderResourceGroup}'), - self.check('[0].synchronizationTime', '2020-04-05T10:50:00+00:00')]) - - self.cmd('az datashare synchronization list ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[]) - - # self.cmd('az datashare synchronization list-detail ' - # '--account-name "{ProviderAccount}" ' - # '--resource-group "{ProviderResourceGroup}" ' - # '--share-name "{ProviderShare}" ' - # '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"', - # checks=[]) - - self.cmd('az datashare invitation create ' - '--account-name "{ProviderAccount}" ' - '--target-email "{ConsumerEmail}" ' - '--name "{ProviderInvitation}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('invitationStatus', 'Pending'), - self.check('name', '{ProviderInvitation}'), - self.check('resourceGroup', '{ProviderResourceGroup}'), - self.check('targetEmail', '{ConsumerEmail}')]) - - self.cmd('az datashare invitation list ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('[0].invitationStatus', 'Pending'), - self.check('[0].name', '{ProviderInvitation}'), - self.check('[0].resourceGroup', '{ProviderResourceGroup}'), - self.check('[0].targetEmail', '{ConsumerEmail}')]) - - self.cmd('az datashare invitation show ' - '--account-name "{ProviderAccount}" ' - '--name "{ProviderInvitation}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('invitationStatus', 'Pending'), - self.check('name', '{ProviderInvitation}'), - self.check('resourceGroup', '{ProviderResourceGroup}'), - self.check('targetEmail', '{ConsumerEmail}')]) - - # Consumer commands - datashareConsumerAccount = self.cmd('az datashare account create ' - '--location "West US 2" ' - '--name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('name', '{ConsumerAccount}'), - self.check('location', 'westus2'), - self.check('resourceGroup', '{ConsumerResourceGroup}')]).get_output_in_json() - - invitations = self.cmd('az datashare consumer invitation list ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('[0].invitationStatus', 'Pending'), - self.check('[0].name', '{ProviderInvitation}'), - self.check('[0].shareName', '{ProviderShare}'), - self.check('[0].providerEmail', '{ProviderEmail}')]).get_output_in_json() - - invitationId = invitations[0]['invitationId'] - sourceShareLocation = invitations[0]['location'] - self.kwargs.update({'InvitationId1': invitationId, - 'Location1': sourceShareLocation}) - - self.cmd('az datashare consumer invitation show ' - '--invitation-id "{InvitationId1}" ' - '--subscription "{ConsumerSubscription}" ' - '--location "{Location1}"', - checks=[self.check('invitationStatus', 'Pending'), - self.check('name', '{ProviderInvitation}'), - self.check('shareName', '{ProviderShare}'), - self.check('providerEmail', '{ProviderEmail}')]) - -# self.cmd('az datashare consumer invitation reject ' -# '--invitation-id 00000000-0000-0000-0000-000000000000 ' -# checks=[]) - - self.cmd('az datashare account wait ' - '--name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--created ' - '--subscription "{ConsumerSubscription}"', - checks=[]) - - self.cmd('az datashare consumer share-subscription create ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--invitation-id "{InvitationId1}" ' - '--source-share-location "{Location1}" ' - '--name "{ConsumerShareSubscription}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('invitationId', '{InvitationId1}'), - self.check('name', '{ConsumerShareSubscription}'), - self.check('resourceGroup', '{ConsumerResourceGroup}'), - self.check('shareName', '{ProviderShare}'), - self.check('shareKind', 'CopyBased'), - self.check('sourceShareLocation', '{Location1}')]) - - self.cmd('az datashare consumer share-subscription show ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--name "{ConsumerShareSubscription}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('invitationId', '{InvitationId1}'), - self.check('name', '{ConsumerShareSubscription}'), - self.check('resourceGroup', '{ConsumerResourceGroup}'), - self.check('shareName', '{ProviderShare}'), - self.check('shareKind', 'CopyBased'), - self.check('sourceShareLocation', '{Location1}')]) - - self.cmd('az datashare consumer share-subscription list ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('[0].invitationId', '{InvitationId1}'), - self.check('[0].name', '{ConsumerShareSubscription}'), - self.check('[0].resourceGroup', '{ConsumerResourceGroup}'), - self.check('[0].shareName', '{ProviderShare}'), - self.check('[0].shareKind', 'CopyBased'), - self.check('[0].sourceShareLocation', '{Location1}')]) - - sourceDatasets = self.cmd('az datashare consumer share-subscription list-source-dataset ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('[0].dataSetName', '{ProviderDataset}'), - self.check('[0].dataSetType', 'Container')]).get_output_in_json() - sourceDatasetId = sourceDatasets[0]['dataSetId'] - - storage_account2_json = self.cmd('az storage account show ' - '-n {ConsumerStorageAccount} ' - '-g {ConsumerResourceGroup} ' - '--subscription "{ConsumerSubscription}"').get_output_in_json() - - accountPrincipalId2 = datashareConsumerAccount['identity']['principalId'] - self.kwargs.update({ - "AccountPrincipalId2": accountPrincipalId2, - "StorageAccountId2": storage_account2_json['id']}) - - if self.is_live or self.in_recording: - import time - self.cmd('az role assignment create ' - '--role "ba92f5b4-2d11-453d-a403-e96b0029c9fe" ' # Storage Blob Data Contributor - '--assignee-object-id "{AccountPrincipalId2}" ' - '--assignee-principal-type ServicePrincipal ' - '--scope "{StorageAccountId2}" ' - '--subscription "{ConsumerSubscription}"') - time.sleep(10) - - datasetMappingContent = {"data_set_id": "{}".format(sourceDatasetId), - "container_name": "{}".format(self.kwargs.get('ConsumerContainer', '')), - "storage_account_name": "{}".format(self.kwargs.get('ConsumerStorageAccount', '')), - "kind": "BlobFolder", - "prefix": "{}".format(self.kwargs.get('ProviderDataset', ''))} - self.kwargs.update({ - 'ConsumerDatasetMappingContent': datasetMappingContent - }) - self.cmd('az datashare consumer dataset-mapping create ' - '--account-name "{ConsumerAccount}" ' - '--name "{ConsumerDatasetMapping}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--mapping "{ConsumerDatasetMappingContent}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('kind', 'BlobFolder'), - self.check('name', '{ConsumerDatasetMapping}'), - self.check('prefix', '{ProviderDataset}'), - self.check('storageAccountName', '{ConsumerStorageAccount}')]) - - self.cmd('az datashare consumer share-subscription synchronization start ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--synchronization-mode "Incremental" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('status', 'Queued'), - self.check('synchronizationMode', 'Incremental')]) - - self.cmd('az datashare consumer dataset-mapping show ' - '--account-name "{ConsumerAccount}" ' - '--name "{ConsumerDatasetMapping}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('kind', 'BlobFolder'), - self.check('name', '{ConsumerDatasetMapping}'), - self.check('prefix', '{ProviderDataset}'), - self.check('storageAccountName', '{ConsumerStorageAccount}')]) - - self.cmd('az datashare consumer dataset-mapping list ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('[0].kind', 'BlobFolder'), - self.check('[0].name', '{ConsumerDatasetMapping}'), - self.check('[0].prefix', '{ProviderDataset}'), - self.check('[0].storageAccountName', '{ConsumerStorageAccount}')]) - - self.cmd('az datashare consumer share-subscription synchronization list ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('[0].synchronizationMode', 'Incremental')]) - -# self.cmd('az datashare consumer share-subscription synchronization list-detail ' -# '--account-name "{ConsumerAccount}" ' -# '--resource-group "{ConsumerResourceGroup}" ' -# '--share-subscription-name "{ConsumerShareSubscription}" ' -# '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" ' -# '--subscription "{ConsumerSubscription}"', -# checks=[]) - -# self.cmd('az datashare consumer share-subscription synchronization cancel ' -# '--account-name "{ConsumerAccount}" ' -# '--resource-group "{ConsumerResourceGroup}" ' -# '--share-subscription-name "{ConsumerShareSubscription}" ' -# '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" ' -# '--subscription "{ConsumerSubscription}"', -# checks=[]) - - self.cmd('az datashare consumer share-subscription list-source-share-synchronization-setting ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('[0].recurrenceInterval', 'Day'), - self.check('[0].kind', 'ScheduleBased')]) - - self.cmd('az datashare consumer trigger create ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--name "{ConsumerTrigger}" ' - '--recurrence-interval "Day" ' - '--synchronization-time "2020-04-05 10:50:00 +00:00" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('properties.recurrenceInterval', 'Day'), # TODO properties is not removed in the response structure - self.check('properties.synchronizationMode', 'Incremental')]) - - self.cmd('az datashare consumer trigger show ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--name "{ConsumerTrigger}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('recurrenceInterval', 'Day'), - self.check('synchronizationMode', 'Incremental')]) - - self.cmd('az datashare consumer trigger list ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--subscription "{ConsumerSubscription}"', - checks=[self.check('[0].recurrenceInterval', 'Day'), - self.check('[0].synchronizationMode', 'Incremental')]) - - # Provider commands - providerShareSubscriptions = self.cmd('az datashare provider-share-subscription list ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('[0].consumerEmail', '{ConsumerEmail}'), - self.check('[0].providerEmail', '{ProviderEmail}'), - self.check('[0].shareSubscriptionStatus', 'Active'), - self.check('[0].name', '{ConsumerShareSubscription}')]).get_output_in_json() - shareSubscriptionObjectId = providerShareSubscriptions[0]['shareSubscriptionObjectId'] - self.kwargs.update({'ProviderShareSubscriptionObjectId': shareSubscriptionObjectId}) - - self.cmd('az datashare provider-share-subscription show ' - '--account-name "{ProviderAccount}" ' - '--share-subscription "{ProviderShareSubscriptionObjectId}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('consumerEmail', '{ConsumerEmail}'), - self.check('providerEmail', '{ProviderEmail}'), - self.check('shareSubscriptionStatus', 'Active'), - self.check('name', '{ConsumerShareSubscription}'), - self.check('shareSubscriptionObjectId', '{ProviderShareSubscriptionObjectId}')]) - - self.cmd('az datashare provider-share-subscription revoke ' - '--account-name "{ProviderAccount}" ' - '--share-subscription "{ProviderShareSubscriptionObjectId}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('consumerEmail', '{ConsumerEmail}'), - self.check('providerEmail', '{ProviderEmail}'), - self.check('shareSubscriptionStatus', 'Revoking'), - self.check('name', '{ConsumerShareSubscription}'), - self.check('shareSubscriptionObjectId', '{ProviderShareSubscriptionObjectId}')]) - - if self.is_live or self.in_recording: - import time - time.sleep(5) - - self.cmd('az datashare provider-share-subscription reinstate ' - '--account-name "{ProviderAccount}" ' - '--share-subscription "{ProviderShareSubscriptionObjectId}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}"', - checks=[self.check('consumerEmail', '{ConsumerEmail}'), - self.check('providerEmail', '{ProviderEmail}'), - self.check('shareSubscriptionStatus', 'Active'), - self.check('name', '{ConsumerShareSubscription}'), - self.check('shareSubscriptionObjectId', '{ProviderShareSubscriptionObjectId}')]) - - # Provider Clean up - self.cmd('az datashare synchronization-setting delete ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}" ' - '--name "{ProviderSynchronizationSetting}" ' - '--yes', - checks=[]) - - # self.cmd('az datashare invitation delete ' - # '--account-name "{ProviderAccount}" ' - # '--name "{ProviderInvitation}" ' - # '--resource-group "{ProviderResourceGroup}" ' - # '--share-name "{ProviderShare}"', - # checks=[]) - - self.cmd('az datashare dataset delete ' - '--account-name "{ProviderAccount}" ' - '--name "{ProviderDataset}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--share-name "{ProviderShare}" ' - '--yes', - checks=[]) - - self.cmd('az datashare delete ' - '--account-name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--name "{ProviderShare}" ' - '--yes', - checks=[]) - - self.cmd('az datashare account delete ' - '--name "{ProviderAccount}" ' - '--resource-group "{ProviderResourceGroup}" ' - '--no-wait ' - '--yes', - checks=[]) - - self.cmd('az datashare consumer trigger delete ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--name "{ConsumerTrigger}" ' - '--yes ' - '--subscription "{ConsumerSubscription}"', - checks=[]) - self.cmd('az datashare consumer dataset-mapping delete ' - '--account-name "{ConsumerAccount}" ' - '--name "{ConsumerDatasetMapping}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--share-subscription-name "{ConsumerShareSubscription}" ' - '--yes ' - '--subscription "{ConsumerSubscription}"', - checks=[]) - self.cmd('az datashare consumer share-subscription delete ' - '--account-name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--name "{ConsumerShareSubscription}" ' - '--yes ' - '--subscription "{ConsumerSubscription}"', - checks=[]) - self.cmd('az datashare account delete ' - '--name "{ConsumerAccount}" ' - '--resource-group "{ConsumerResourceGroup}" ' - '--no-wait ' - '--yes ' - '--subscription "{ConsumerSubscription}"', - checks=[]) +# -------------------------------------------------------------------------------------------- +# 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.cli.testsdk.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer) + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + +class DataShareManagementClientScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='cli_test_datashare_provider_rg'[:12], location='eastus', key='ProviderResourceGroup') + @StorageAccountPreparer(name_prefix='clitestdatashareprovidersa'[:12], location='eastus', key='ProviderStorageAccount') + @AllowLargeResponse() + def test_datashare_azcli(self, resource_group, storage_account): + + self.kwargs.update({ + 'SubscriptionId': self.get_subscription_id(), + 'ConsumerSubscription': '00000000-0000-0000-0000-000000000000', # change this value in live test + 'ConsumerResourceGroup': 'ads_azure_cli_rg', # this is a pre-existing reosurce group in consumer subscription + 'ConsumerStorageAccount': 'azurecliadsconsumersa', # this is a pre-existing storage account in consumer subscription + 'ProviderEmail': 'hsrivastava@microsoft.com', # change this value in live test + 'ConsumerEmail': 'hsrivastava@microsoft.com', # change this value in live test + 'ProviderAccount': 'cli_test_account', + 'ConsumerAccount': 'cli_test_consumer_account', + 'ProviderDataset': 'cli_test_data_set', + 'ConsumerDatasetMapping': 'cli_test_data_set_mapping', + 'ProviderInvitation': 'cli_test_invitation', + 'ProviderShare': 'cli_test_share', + 'ConsumerShareSubscription': 'cli_test_share_subscription', + 'ProviderSynchronizationSetting': 'cli_test_synchronization_setting', + 'ConsumerTrigger': 'cli_test_trigger', + 'ProviderContainer': 'clitestcontainer', + 'ConsumerContainer': 'clitestconsumercontainer', + }) + + # Provider commands + + # EXAMPLE: /Accounts/put/Accounts_Create + datashareAccount = self.cmd('az datashare account create ' + '--location "East US" ' + '--tags tag1=Red tag2=White ' + '--name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check('name', '{ProviderAccount}'), + self.check('location', 'eastus'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('tags.tag1', 'Red'), + self.check('tags.tag2', 'White') + ]).get_output_in_json() + + self.cmd('az datashare account wait ' + '--name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--created', + checks=[]) + + accountId = datashareAccount['id'] + + # EXAMPLE: /Accounts/get/Accounts_Get + self.cmd('az datashare account show ' + '--name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check('name', '{ProviderAccount}'), + self.check('location', 'eastus'), + self.check('provisioningState', 'Succeeded'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('tags.tag1', 'Red'), + self.check('tags.tag2', 'White') + ]) + self.cmd('az datashare account show ' + '--ids {}'.format(accountId), + checks=[self.check('name', '{ProviderAccount}'), + self.check('location', 'eastus'), + self.check('provisioningState', 'Succeeded'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('tags.tag1', 'Red'), + self.check('tags.tag2', 'White') + ]) + + # EXAMPLE: /Accounts/get/Accounts_ListByResourceGroup + self.cmd('az datashare account list ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check("[?id=='{}'].name | [0]".format(accountId), '{ProviderAccount}'), + self.check("[?id=='{}'].location | [0]".format(accountId), 'eastus'), + self.check("[?id=='{}'].resourceGroup | [0]".format(accountId), '{ProviderResourceGroup}'), + self.check("[?id=='{}'].tags | [0].tag1".format(accountId), 'Red'), + self.check("[?id=='{}'].tags | [0].tag2".format(accountId), 'White')]) + + # EXAMPLE: /Accounts/get/Accounts_ListBySubscription + self.cmd('az datashare account list ' + '-g ""', + checks=[self.check("[?id=='{}'].name | [0]".format(accountId), '{ProviderAccount}'), + self.check("[?id=='{}'].location | [0]".format(accountId), 'eastus'), + self.check("[?id=='{}'].resourceGroup | [0]".format(accountId), '{ProviderResourceGroup}'), + self.check("[?id=='{}'].tags | [0].tag1".format(accountId), 'Red'), + self.check("[?id=='{}'].tags | [0].tag2".format(accountId), 'White')]) + + # EXAMPLE: /Accounts/patch/Accounts_Update + self.cmd('az datashare account update ' + '--name "{ProviderAccount}" ' + '--tags tag1=Green ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check('name', '{ProviderAccount}'), + self.check('location', 'eastus'), + self.check('provisioningState', 'Succeeded'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('tags.tag1', 'Green')]) + + # EXAMPLE: /Shares/put/Shares_Create + datashare = self.cmd('az datashare create ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--description "share description" ' + '--share-kind "CopyBased" ' + '--terms "Confidential" ' + '--name "{ProviderShare}"', + checks=[self.check('name', '{ProviderShare}'), + self.check('description', 'share description'), + self.check('shareKind', 'CopyBased'), + self.check('terms', 'Confidential')]).get_output_in_json() + + datashareId = datashare['id'] + + # EXAMPLE: /Shares/get/Shares_Get + self.cmd('az datashare show ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--name "{ProviderShare}"', + checks=[self.check('name', '{ProviderShare}'), + self.check('description', 'share description'), + self.check('shareKind', 'CopyBased'), + self.check('terms', 'Confidential')]) + + self.cmd('az datashare show ' + '--ids {}'.format(datashareId), + checks=[self.check('name', '{ProviderShare}'), + self.check('description', 'share description'), + self.check('shareKind', 'CopyBased'), + self.check('terms', 'Confidential')]) + + # EXAMPLE: /Shares/get/Shares_ListByAccount + self.cmd('az datashare list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}"', + checks=[self.check("[?id=='{}'].name | [0]".format(datashareId), '{ProviderShare}'), + self.check("[?id=='{}'].description | [0]".format(datashareId), 'share description'), + self.check("[?id=='{}'].shareKind | [0]".format(datashareId), 'CopyBased'), + self.check("[?id=='{}'].terms | [0]".format(datashareId), 'Confidential')]) + + storage_account_json = self.cmd('az storage account show ' + '-n {ProviderStorageAccount} ' + '-g {ProviderResourceGroup}').get_output_in_json() + + accountPrincipalId = datashareAccount['identity']['principalId'] + + if self.is_live or self.in_recording: + import time + self.cmd('az role assignment create ' + '--role "Storage Blob Data Contributor" ' + '--assignee-object-id {} ' + '--assignee-principal-type ServicePrincipal ' + '--scope {}'.format(accountPrincipalId, storage_account_json['id'])) + time.sleep(10) + + self.cmd('az storage container create ' + '--account-name {ProviderStorageAccount} ' + '--name {ProviderContainer}') + + # EXAMPLE: /DataSets/put/DataSets_Create + self.cmd('az datashare data-set create ' + '--account-name "{ProviderAccount}" ' + '--data-set "{{\\"kind\\":\\"Container\\",\\"properties\\":{{\\"containerName\\":\\"{ProviderContainer}\\",\\"filePath\\":\\"2019.png\\",\\"resourceGroup\\":\\"{ProviderResourceGroup}\\",\\"storageAccountName\\":\\"{ProviderStorageAccount}\\",\\"subscriptionId\\":\\"{SubscriptionId}\\"}}}}" ' + '--name "{ProviderDataset}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('containerName', '{ProviderContainer}'), + self.check('storageAccountName', '{ProviderStorageAccount}'), + self.check('kind', 'Container'), + self.check('name', '{ProviderDataset}')]) + + # EXAMPLE: /DataSets/get/DataSets_Get + self.cmd('az datashare data-set show ' + '--account-name "{ProviderAccount}" ' + '--name "{ProviderDataset}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('containerName', '{ProviderContainer}'), + self.check('storageAccountName', '{ProviderStorageAccount}'), + self.check('kind', 'Container'), + self.check('name', '{ProviderDataset}')]) + + # EXAMPLE: /DataSets/get/DataSets_ListByShare + self.cmd('az datashare data-set list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('[0].containerName', '{ProviderContainer}'), + self.check('[0].storageAccountName', '{ProviderStorageAccount}'), + self.check('[0].kind', 'Container'), + self.check('[0].name', '{ProviderDataset}')]) + + # EXAMPLE: /SynchronizationSettings/put/SynchronizationSettings_Create + self.cmd('az datashare synchronization-setting create ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}" ' + '--name "{ProviderSynchronizationSetting}" ' + '--scheduled-synchronization-setting recurrence-interval="Day" synchronization-time="2022-02-02T04:47:52" ', + checks=[self.check('kind', 'ScheduleBased'), + self.check('name', '{ProviderSynchronizationSetting}'), + self.check('recurrenceInterval', 'Day'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('synchronizationTime', '2022-02-02T04:47:52+00:00')]) + + # EXAMPLE: /SynchronizationSettings/get/SynchronizationSettings_Get + self.cmd('az datashare synchronization-setting show ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}" ' + '--name "{ProviderSynchronizationSetting}"', + checks=[self.check('kind', 'ScheduleBased'), + self.check('name', '{ProviderSynchronizationSetting}'), + self.check('recurrenceInterval', 'Day'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('synchronizationTime', '2022-02-02T04:47:52+00:00')]) + + # EXAMPLE: /SynchronizationSettings/get/SynchronizationSettings_ListByShare + self.cmd('az datashare synchronization-setting list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('[0].kind', 'ScheduleBased'), + self.check('[0].name', '{ProviderSynchronizationSetting}'), + self.check('[0].recurrenceInterval', 'Day'), + self.check('[0].resourceGroup', '{ProviderResourceGroup}'), + self.check('[0].synchronizationTime', '2022-02-02T04:47:52+00:00')]) + + # EXAMPLE: /Shares/post/Shares_ListSynchronizations + self.cmd('az datashare list-synchronization ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[]) + + # EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_ListSynchronizationDetails + # self.cmd('az datashare list-synchronization-detail ' + # '--account-name "{ProviderAccount}" ' + # '--resource-group "{ProviderResourceGroup}" ' + # '--share-name "{ProviderShare}" ' + # '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"', + # checks=[]) + + # EXAMPLE: /Invitations/put/Invitations_Create + self.cmd('az datashare invitation create ' + '--account-name "{ProviderAccount}" ' + '--target-email "{ConsumerEmail}" ' + '--name "{ProviderInvitation}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('invitationStatus', 'Pending'), + self.check('name', '{ProviderInvitation}'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('targetEmail', '{ConsumerEmail}')]) + + # EXAMPLE: /Invitations/get/Invitations_ListByShare + self.cmd('az datashare invitation list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('[0].invitationStatus', 'Pending'), + self.check('[0].name', '{ProviderInvitation}'), + self.check('[0].resourceGroup', '{ProviderResourceGroup}'), + self.check('[0].targetEmail', '{ConsumerEmail}')]) + + # EXAMPLE: /Invitations/get/Invitations_Get + self.cmd('az datashare invitation show ' + '--account-name "{ProviderAccount}" ' + '--name "{ProviderInvitation}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('invitationStatus', 'Pending'), + self.check('name', '{ProviderInvitation}'), + self.check('resourceGroup', '{ProviderResourceGroup}'), + self.check('targetEmail', '{ConsumerEmail}')]) + + # EXAMPLE: /ConsumerInvitations/post/ConsumerInvitations_RejectInvitation + # self.cmd('az datashare consumer-invitation reject-invitation ' + # '--invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03" ' + # '--location "East US 2"', + # checks=[]) + + # EXAMPLE: /Invitations/delete/Invitations_Delete + # self.cmd('az datashare invitation delete -y ' + # '--account-name "{ProviderAccount}" ' + # '--name "{ProviderInvitation}" ' + # '--resource-group "{ProviderResourceGroup}" ' + # '--share-name "{ProviderShare}"', + # checks=[]) + + # Consumer commands + + datashareConsumerAccount = self.cmd('az datashare account create ' + '--location "EAST US" ' + '--name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('name', '{ConsumerAccount}'), + self.check('location', 'eastus'), + self.check('resourceGroup', '{ConsumerResourceGroup}')]).get_output_in_json() + + # EXAMPLE: /ConsumerInvitations/get/ConsumerInvitations_ListInvitations + invitations = self.cmd('az datashare consumer-invitation list-invitation ', + checks=[self.check('[0].invitationStatus', 'Pending'), + self.check('[0].name', '{ProviderInvitation}'), + self.check('[0].shareName', '{ProviderShare}'), + self.check('[0].providerEmail', '{ProviderEmail}')]).get_output_in_json() + + invitationId = invitations[0]['invitationId'] + sourceShareLocation = invitations[0]['location'] + self.kwargs.update({'InvitationId1': invitationId, + 'Location1': sourceShareLocation}) + + # EXAMPLE: /ConsumerInvitations/get/ConsumerInvitations_Get + self.cmd('az datashare consumer-invitation show ' + '--invitation-id "{InvitationId1}" ' + '--subscription "{ConsumerSubscription}" ' + '--location "{Location1}"', + checks=[self.check('invitationStatus', 'Pending'), + self.check('name', '{ProviderInvitation}'), + self.check('shareName', '{ProviderShare}'), + self.check('providerEmail', '{ProviderEmail}')]) + + self.cmd('az datashare account wait ' + '--name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--created ' + '--subscription "{ConsumerSubscription}"', + checks=[]) + + # EXAMPLE: /ShareSubscriptions/delete/ShareSubscriptions_Delete + # self.cmd('az datashare share-subscription delete ' + # '--account-name "{ConsumerAccount}" ' + # '--resource-group "{ConsumerResourceGroup}" ' + # '--name "{ConsumerShareSubscription}" ' + # '--yes ' + # '--subscription "{ConsumerSubscription}"', + # checks=[]) + + # EXAMPLE: /ShareSubscriptions/put/ShareSubscriptions_Create + self.cmd('az datashare share-subscription create ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--invitation-id "{InvitationId1}" ' + '--source-share-location "{Location1}" ' + '--name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('invitationId', '{InvitationId1}'), + self.check('name', '{ConsumerShareSubscription}'), + self.check('resourceGroup', '{ConsumerResourceGroup}'), + self.check('shareName', '{ProviderShare}'), + self.check('shareKind', 'CopyBased'), + self.check('sourceShareLocation', '{Location1}')]) + + # EXAMPLE: /ShareSubscriptions/get/ShareSubscriptions_Get + self.cmd('az datashare share-subscription show ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('invitationId', '{InvitationId1}'), + self.check('name', '{ConsumerShareSubscription}'), + self.check('resourceGroup', '{ConsumerResourceGroup}'), + self.check('shareName', '{ProviderShare}'), + self.check('shareKind', 'CopyBased'), + self.check('sourceShareLocation', '{Location1}')]) + + # EXAMPLE: /ShareSubscriptions/get/ShareSubscriptions_ListByAccount + self.cmd('az datashare share-subscription list ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].invitationId', '{InvitationId1}'), + self.check('[0].name', '{ConsumerShareSubscription}'), + self.check('[0].resourceGroup', '{ConsumerResourceGroup}'), + self.check('[0].shareName', '{ProviderShare}'), + self.check('[0].shareKind', 'CopyBased'), + self.check('[0].sourceShareLocation', '{Location1}')]) + + # EXAMPLE: /ConsumerSourceDataSets/get/ConsumerSourceDataSets_ListByShareSubscription + sourceDatasets = self.cmd('az datashare consumer-source-data-set list ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].dataSetName', '{ProviderDataset}'), + self.check('[0].dataSetType', 'Container')]).get_output_in_json() + sourceDatasetId = sourceDatasets[0]['dataSetId'] + + storage_account2_json = self.cmd('az storage account show ' + '-n {ConsumerStorageAccount} ' + '-g {ConsumerResourceGroup} ' + '--subscription "{ConsumerSubscription}"').get_output_in_json() + + accountPrincipalId2 = datashareConsumerAccount['identity']['principalId'] + self.kwargs.update({ + "AccountPrincipalId2": accountPrincipalId2, + "StorageAccountId2": storage_account2_json['id'], + "SourceDatasetId": sourceDatasetId}) + + if self.is_live or self.in_recording: + import time + self.cmd('az role assignment create ' + '--role "Storage Blob Data Contributor" ' + '--assignee-object-id "{AccountPrincipalId2}" ' + '--assignee-principal-type ServicePrincipal ' + '--scope "{StorageAccountId2}" ' + '--subscription "{ConsumerSubscription}"') + time.sleep(10) + + # EXAMPLE: /DataSetMappings/put/DataSetMappings_BlobFolderDatasetMapping_Create + self.cmd('az datashare data-set-mapping create ' + '--account-name "{ConsumerAccount}" ' + '--name "{ConsumerDatasetMapping}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--blob-folder-data-set-mapping container-name={ConsumerContainer} data-set-id={SourceDatasetId} prefix={ProviderDataset} resource-group={ConsumerResourceGroup} storage-account-name={ConsumerStorageAccount} subscription-id={ConsumerSubscription} ', + checks=[self.check('kind', 'BlobFolder'), + self.check('name', '{ConsumerDatasetMapping}'), + self.check('prefix', '{ProviderDataset}'), + self.check('storageAccountName', '{ConsumerStorageAccount}')]) + + # EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_Synchronize + self.cmd('az datashare share-subscription synchronize ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--synchronization-mode "Incremental" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('status', 'Succeeded')]) + + # EXAMPLE: /DataSetMappings/get/DataSetMappings_Get + self.cmd('az datashare data-set-mapping show ' + '--account-name "{ConsumerAccount}" ' + '--name "{ConsumerDatasetMapping}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('kind', 'BlobFolder'), + self.check('name', '{ConsumerDatasetMapping}'), + self.check('prefix', '{ProviderDataset}'), + self.check('storageAccountName', '{ConsumerStorageAccount}')]) + + # EXAMPLE: /DataSetMappings/get/DataSetMappings_ListByShareSubscription + self.cmd('az datashare data-set-mapping list ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].kind', 'BlobFolder'), + self.check('[0].name', '{ConsumerDatasetMapping}'), + self.check('[0].prefix', '{ProviderDataset}'), + self.check('[0].storageAccountName', '{ConsumerStorageAccount}')]) + + # EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_ListSynchronizations + self.cmd('az datashare share-subscription list-synchronization ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].synchronizationMode', 'Incremental')]) + + # # EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_ListSynchronizationDetails + # self.cmd('az datashare share-subscription list-synchronization-detail ' + # '--account-name "{ConsumerAccount}" ' + # '--resource-group "{ConsumerResourceGroup}" ' + # '--share-subscription-name "{ConsumerShareSubscription}" ' + # '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" ' + # '--subscription "{ConsumerSubscription}"', + # checks=[]) + + # EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_ListSourceShareSynchronizationSettings + self.cmd('az datashare share-subscription list-source-share-synchronization-setting ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].recurrenceInterval', 'Day'), + self.check('[0].kind', 'ScheduleBased')]) + + # EXAMPLE: /Triggers/put/Triggers_Create + self.cmd('az datashare trigger create ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--name "{ConsumerTrigger}" ' + '--scheduled-trigger recurrence-interval="Day" synchronization-mode="Incremental" synchronization-time="2022-02-02T04:47:52" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('recurrenceInterval', 'Day'), + self.check('synchronizationMode', 'Incremental')]) + + # EXAMPLE: /Triggers/get/Triggers_Get + self.cmd('az datashare trigger show ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--name "{ConsumerTrigger}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('recurrenceInterval', 'Day'), + self.check('synchronizationMode', 'Incremental')]) + + # EXAMPLE: /Triggers/get/Triggers_ListByShareSubscription + self.cmd('az datashare trigger list ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--subscription "{ConsumerSubscription}"', + checks=[self.check('[0].recurrenceInterval', 'Day'), + self.check('[0].synchronizationMode', 'Incremental')]) + + # EXAMPLE: /ProviderShareSubscriptions/get/ProviderShareSubscriptions_ListByShare + providerShareSubscriptions = self.cmd('az datashare provider-share-subscription list ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('[0].consumerEmail', '{ConsumerEmail}'), + self.check('[0].providerEmail', '{ProviderEmail}'), + self.check('[0].shareSubscriptionStatus', 'Active'), + self.check('[0].name', '{ConsumerShareSubscription}')]).get_output_in_json() + shareSubscriptionObjectId = providerShareSubscriptions[0]['shareSubscriptionObjectId'] + self.kwargs.update({'ProviderShareSubscriptionObjectId': shareSubscriptionObjectId}) + + # EXAMPLE: /ProviderShareSubscriptions/get/ProviderShareSubscriptions_GetByShare + self.cmd('az datashare provider-share-subscription show ' + '--account-name "{ProviderAccount}" ' + '--provider-share-subscription-id "{ProviderShareSubscriptionObjectId}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}"', + checks=[self.check('consumerEmail', '{ConsumerEmail}'), + self.check('providerEmail', '{ProviderEmail}'), + self.check('shareSubscriptionStatus', 'Active'), + self.check('name', '{ConsumerShareSubscription}'), + self.check('shareSubscriptionObjectId', '{ProviderShareSubscriptionObjectId}')]) + + # EXAMPLE: /ProviderShareSubscriptions/post/ProviderShareSubscriptions_Adjust + # self.cmd('az datashare provider-share-subscription adjust ' + # '--account-name "{ProviderAccount}" ' + # '--expiration-date "2022-02-02T04:47:52" ' + # '--provider-share-subscription-id "{ProviderShareSubscriptionObjectId}" ' + # '--resource-group "{ProviderResourceGroup}" ' + # '--share-name "{ProviderShare}"', + # checks=[]) + + # EXAMPLE: /ProviderShareSubscriptions/post/ProviderShareSubscriptions_Revoke + # self.cmd('az datashare provider-share-subscription revoke ' + # '--account-name "{ProviderAccount}" ' + # '--provider-share-subscription-id "{ProviderShareSubscriptionObjectId}" ' + # '--resource-group "{ProviderResourceGroup}" ' + # '--share-name "{ProviderShare}"', + # checks=[self.check('status', 'Succeeded')]) + + # if self.is_live or self.in_recording: + # import time + # time.sleep(5) + + # EXAMPLE: /ProviderShareSubscriptions/post/ProviderShareSubscriptions_Reinstate + # self.cmd('az datashare provider-share-subscription reinstate ' + # '--account-name "{ProviderAccount}" ' + # '--provider-share-subscription-id "{ProviderShareSubscriptionObjectId}" ' + # '--resource-group "{ProviderResourceGroup}" ' + # '--share-name "{ProviderShare}"', + # checks=[self.check('consumerEmail', '{ConsumerEmail}'), + # self.check('providerEmail', '{ProviderEmail}'), + # self.check('shareSubscriptionStatus', 'Active'), + # self.check('name', '{ConsumerShareSubscription}'), + # self.check('shareSubscriptionObjectId', '{ProviderShareSubscriptionObjectId}')]) + + # EXAMPLE: /EmailRegistrations/post/EmailRegistrations_RegisterEmail + # self.cmd('az datashare email-registration register-email ' + # '--location "East US 2"', + # checks=[]) + + # EXAMPLE: /EmailRegistrations/post/EmailRegistrations_ActivateEmail + # self.cmd('az datashare email-registration activate-email ' + # '--activation-code "djsfhakj2lekowd3wepfklpwe9lpflcd" ' + # '--location "East US 2"', + # checks=[]) + + # Clean up + + # EXAMPLE: /ShareSubscriptions/post/ShareSubscriptions_CancelSynchronization + # self.cmd('az datashare share-subscription cancel-synchronization ' + # '--account-name "{ConsumerAccount}" ' + # '--resource-group "{ConsumerResourceGroup}" ' + # '--share-subscription-name "{ConsumerShareSubscription}" ' + # '--synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" ' + # '--subscription "{ConsumerSubscription}"', + # checks=[]) + + # EXAMPLE: /SynchronizationSettings/delete/SynchronizationSettings_Delete + self.cmd('az datashare synchronization-setting delete ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}" ' + '--name "{ProviderSynchronizationSetting}" ' + '--yes', + checks=[]) + + # EXAMPLE: /DataSets/delete/DataSets_Delete + self.cmd('az datashare data-set delete ' + '--account-name "{ProviderAccount}" ' + '--name "{ProviderDataset}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--share-name "{ProviderShare}" ' + '--yes', + checks=[]) + + # EXAMPLE: /Shares/delete/Shares_Delete + self.cmd('az datashare delete ' + '--account-name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--name "{ProviderShare}" ' + '--yes', + checks=[]) + + # EXAMPLE: /Triggers/delete/Triggers_Delete + self.cmd('az datashare trigger delete ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--name "{ConsumerTrigger}" ' + '--yes ' + '--subscription "{ConsumerSubscription}"', + checks=[]) + + # EXAMPLE: /ShareSubscriptions/delete/ShareSubscriptions_Delete + self.cmd('az datashare share-subscription delete ' + '--account-name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--name "{ConsumerShareSubscription}" ' + '--yes ' + '--subscription "{ConsumerSubscription}"', + checks=[]) + + # EXAMPLE: /Accounts/delete/Accounts_Delete + self.cmd('az datashare account delete ' + '--name "{ProviderAccount}" ' + '--resource-group "{ProviderResourceGroup}" ' + '--no-wait ' + '--yes', + checks=[]) + + # EXAMPLE: /DataSetMappings/delete/DataSetMappings_Delete + self.cmd('az datashare data-set-mapping delete ' + '--account-name "{ConsumerAccount}" ' + '--name "{ConsumerDatasetMapping}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--share-subscription-name "{ConsumerShareSubscription}" ' + '--yes ' + '--subscription "{ConsumerSubscription}"', + checks=[]) + + # EXAMPLE: /Accounts/delete/Accounts_Delete + self.cmd('az datashare account delete ' + '--name "{ConsumerAccount}" ' + '--resource-group "{ConsumerResourceGroup}" ' + '--no-wait ' + '--yes ' + '--subscription "{ConsumerSubscription}"', + checks=[]) \ No newline at end of file diff --git a/src/datashare/azext_datashare/vendored_sdks/__init__.py b/src/datashare/azext_datashare/vendored_sdks/__init__.py index 8d86d5a6be1..ee0c4f36bd0 100644 --- a/src/datashare/azext_datashare/vendored_sdks/__init__.py +++ b/src/datashare/azext_datashare/vendored_sdks/__init__.py @@ -9,4 +9,4 @@ # regenerated. # -------------------------------------------------------------------------- -__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/__init__.py index eb57d0ef34e..2723c2a472f 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/__init__.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/__init__.py @@ -7,4 +7,13 @@ # -------------------------------------------------------------------------- from ._data_share_management_client import DataShareManagementClient +from ._version import VERSION + +__version__ = VERSION __all__ = ['DataShareManagementClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/_configuration.py b/src/datashare/azext_datashare/vendored_sdks/datashare/_configuration.py index 88932a1125e..d22f54b4bfb 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/_configuration.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/_configuration.py @@ -6,12 +6,20 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any +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 -VERSION = "unknown" class DataShareManagementClientConfiguration(Configuration): """Configuration for DataShareManagementClient. @@ -20,7 +28,7 @@ class DataShareManagementClientConfiguration(Configuration): attributes. :param credential: Credential needed for the client to connect to Azure. - :type credential: azure.core.credentials.TokenCredential + :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The subscription identifier. :type subscription_id: str """ @@ -40,8 +48,9 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2019-11-01" - kwargs.setdefault('sdk_moniker', 'datasharemanagementclient/{}'.format(VERSION)) + self.api_version = "2021-08-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-datashare/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -53,9 +62,10 @@ def _configure( 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, **kwargs) + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/_data_share_management_client.py b/src/datashare/azext_datashare/vendored_sdks/datashare/_data_share_management_client.py index c36cabec848..d65b9b24233 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/_data_share_management_client.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/_data_share_management_client.py @@ -6,59 +6,69 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional +from typing import TYPE_CHECKING -from azure.core import PipelineClient +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 DataShareManagementClientConfiguration -from .operations import AccountOperations -from .operations import ConsumerInvitationOperations -from .operations import DataSetOperations -from .operations import DataSetMappingOperations -from .operations import InvitationOperations -from .operations import OperationOperations -from .operations import ShareOperations -from .operations import ProviderShareSubscriptionOperations -from .operations import ShareSubscriptionOperations -from .operations import ConsumerSourceDataSetOperations -from .operations import SynchronizationSettingOperations -from .operations import TriggerOperations +from .operations import AccountsOperations +from .operations import ConsumerInvitationsOperations +from .operations import DataSetsOperations +from .operations import DataSetMappingsOperations +from .operations import EmailRegistrationsOperations +from .operations import InvitationsOperations +from .operations import Operations +from .operations import SharesOperations +from .operations import ProviderShareSubscriptionsOperations +from .operations import ShareSubscriptionsOperations +from .operations import ConsumerSourceDataSetsOperations +from .operations import SynchronizationSettingsOperations +from .operations import TriggersOperations from . import models class DataShareManagementClient(object): """Creates a Microsoft.DataShare management client. - :ivar account: AccountOperations operations - :vartype account: data_share_management_client.operations.AccountOperations - :ivar consumer_invitation: ConsumerInvitationOperations operations - :vartype consumer_invitation: data_share_management_client.operations.ConsumerInvitationOperations - :ivar data_set: DataSetOperations operations - :vartype data_set: data_share_management_client.operations.DataSetOperations - :ivar data_set_mapping: DataSetMappingOperations operations - :vartype data_set_mapping: data_share_management_client.operations.DataSetMappingOperations - :ivar invitation: InvitationOperations operations - :vartype invitation: data_share_management_client.operations.InvitationOperations - :ivar operation: OperationOperations operations - :vartype operation: data_share_management_client.operations.OperationOperations - :ivar share: ShareOperations operations - :vartype share: data_share_management_client.operations.ShareOperations - :ivar provider_share_subscription: ProviderShareSubscriptionOperations operations - :vartype provider_share_subscription: data_share_management_client.operations.ProviderShareSubscriptionOperations - :ivar share_subscription: ShareSubscriptionOperations operations - :vartype share_subscription: data_share_management_client.operations.ShareSubscriptionOperations - :ivar consumer_source_data_set: ConsumerSourceDataSetOperations operations - :vartype consumer_source_data_set: data_share_management_client.operations.ConsumerSourceDataSetOperations - :ivar synchronization_setting: SynchronizationSettingOperations operations - :vartype synchronization_setting: data_share_management_client.operations.SynchronizationSettingOperations - :ivar trigger: TriggerOperations operations - :vartype trigger: data_share_management_client.operations.TriggerOperations + :ivar accounts: AccountsOperations operations + :vartype accounts: azure.mgmt.datashare.operations.AccountsOperations + :ivar consumer_invitations: ConsumerInvitationsOperations operations + :vartype consumer_invitations: azure.mgmt.datashare.operations.ConsumerInvitationsOperations + :ivar data_sets: DataSetsOperations operations + :vartype data_sets: azure.mgmt.datashare.operations.DataSetsOperations + :ivar data_set_mappings: DataSetMappingsOperations operations + :vartype data_set_mappings: azure.mgmt.datashare.operations.DataSetMappingsOperations + :ivar email_registrations: EmailRegistrationsOperations operations + :vartype email_registrations: azure.mgmt.datashare.operations.EmailRegistrationsOperations + :ivar invitations: InvitationsOperations operations + :vartype invitations: azure.mgmt.datashare.operations.InvitationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.datashare.operations.Operations + :ivar shares: SharesOperations operations + :vartype shares: azure.mgmt.datashare.operations.SharesOperations + :ivar provider_share_subscriptions: ProviderShareSubscriptionsOperations operations + :vartype provider_share_subscriptions: azure.mgmt.datashare.operations.ProviderShareSubscriptionsOperations + :ivar share_subscriptions: ShareSubscriptionsOperations operations + :vartype share_subscriptions: azure.mgmt.datashare.operations.ShareSubscriptionsOperations + :ivar consumer_source_data_sets: ConsumerSourceDataSetsOperations operations + :vartype consumer_source_data_sets: azure.mgmt.datashare.operations.ConsumerSourceDataSetsOperations + :ivar synchronization_settings: SynchronizationSettingsOperations operations + :vartype synchronization_settings: azure.mgmt.datashare.operations.SynchronizationSettingsOperations + :ivar triggers: TriggersOperations operations + :vartype triggers: azure.mgmt.datashare.operations.TriggersOperations :param credential: Credential needed for the client to connect to Azure. - :type credential: azure.core.credentials.TokenCredential + :type credential: ~azure.core.credentials.TokenCredential :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__( @@ -72,35 +82,38 @@ def __init__( if not base_url: base_url = 'https://management.azure.com' self._config = DataShareManagementClientConfiguration(credential, subscription_id, **kwargs) - self._client = PipelineClient(base_url=base_url, config=self._config, **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.account = AccountOperations( + self.accounts = AccountsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.consumer_invitations = ConsumerInvitationsOperations( self._client, self._config, self._serialize, self._deserialize) - self.consumer_invitation = ConsumerInvitationOperations( + self.data_sets = DataSetsOperations( self._client, self._config, self._serialize, self._deserialize) - self.data_set = DataSetOperations( + self.data_set_mappings = DataSetMappingsOperations( self._client, self._config, self._serialize, self._deserialize) - self.data_set_mapping = DataSetMappingOperations( + self.email_registrations = EmailRegistrationsOperations( self._client, self._config, self._serialize, self._deserialize) - self.invitation = InvitationOperations( + self.invitations = InvitationsOperations( self._client, self._config, self._serialize, self._deserialize) - self.operation = OperationOperations( + self.operations = Operations( self._client, self._config, self._serialize, self._deserialize) - self.share = ShareOperations( + self.shares = SharesOperations( self._client, self._config, self._serialize, self._deserialize) - self.provider_share_subscription = ProviderShareSubscriptionOperations( + self.provider_share_subscriptions = ProviderShareSubscriptionsOperations( self._client, self._config, self._serialize, self._deserialize) - self.share_subscription = ShareSubscriptionOperations( + self.share_subscriptions = ShareSubscriptionsOperations( self._client, self._config, self._serialize, self._deserialize) - self.consumer_source_data_set = ConsumerSourceDataSetOperations( + self.consumer_source_data_sets = ConsumerSourceDataSetsOperations( self._client, self._config, self._serialize, self._deserialize) - self.synchronization_setting = SynchronizationSettingOperations( + self.synchronization_settings = SynchronizationSettingsOperations( self._client, self._config, self._serialize, self._deserialize) - self.trigger = TriggerOperations( + self.triggers = TriggersOperations( self._client, self._config, self._serialize, self._deserialize) def close(self): diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/_version.py b/src/datashare/azext_datashare/vendored_sdks/datashare/_version.py new file mode 100644 index 00000000000..e5754a47ce6 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/_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/datashare/azext_datashare/vendored_sdks/datashare/aio/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/__init__.py index e14f4db6b79..eb57d0ef34e 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/__init__.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._data_share_management_client_async import DataShareManagementClient +from ._data_share_management_client import DataShareManagementClient __all__ = ['DataShareManagementClient'] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration.py similarity index 75% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration.py index a5c30f8ec3f..949a2bff82b 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_configuration.py @@ -6,12 +6,18 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any +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 -VERSION = "unknown" class DataShareManagementClientConfiguration(Configuration): """Configuration for DataShareManagementClient. @@ -20,14 +26,14 @@ class DataShareManagementClientConfiguration(Configuration): attributes. :param credential: Credential needed for the client to connect to Azure. - :type credential: azure.core.credentials.TokenCredential + :type credential: ~azure.core.credentials_async.AsyncTokenCredential :param subscription_id: The subscription identifier. :type subscription_id: str """ def __init__( self, - credential: "TokenCredential", + credential: "AsyncTokenCredential", subscription_id: str, **kwargs: Any ) -> None: @@ -39,8 +45,9 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2019-11-01" - kwargs.setdefault('sdk_moniker', 'datasharemanagementclient/{}'.format(VERSION)) + self.api_version = "2021-08-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-datashare/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -51,9 +58,10 @@ def _configure( 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, **kwargs) + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client.py new file mode 100644 index 00000000000..f2c36fab094 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client.py @@ -0,0 +1,124 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 DataShareManagementClientConfiguration +from .operations import AccountsOperations +from .operations import ConsumerInvitationsOperations +from .operations import DataSetsOperations +from .operations import DataSetMappingsOperations +from .operations import EmailRegistrationsOperations +from .operations import InvitationsOperations +from .operations import Operations +from .operations import SharesOperations +from .operations import ProviderShareSubscriptionsOperations +from .operations import ShareSubscriptionsOperations +from .operations import ConsumerSourceDataSetsOperations +from .operations import SynchronizationSettingsOperations +from .operations import TriggersOperations +from .. import models + + +class DataShareManagementClient(object): + """Creates a Microsoft.DataShare management client. + + :ivar accounts: AccountsOperations operations + :vartype accounts: azure.mgmt.datashare.aio.operations.AccountsOperations + :ivar consumer_invitations: ConsumerInvitationsOperations operations + :vartype consumer_invitations: azure.mgmt.datashare.aio.operations.ConsumerInvitationsOperations + :ivar data_sets: DataSetsOperations operations + :vartype data_sets: azure.mgmt.datashare.aio.operations.DataSetsOperations + :ivar data_set_mappings: DataSetMappingsOperations operations + :vartype data_set_mappings: azure.mgmt.datashare.aio.operations.DataSetMappingsOperations + :ivar email_registrations: EmailRegistrationsOperations operations + :vartype email_registrations: azure.mgmt.datashare.aio.operations.EmailRegistrationsOperations + :ivar invitations: InvitationsOperations operations + :vartype invitations: azure.mgmt.datashare.aio.operations.InvitationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.datashare.aio.operations.Operations + :ivar shares: SharesOperations operations + :vartype shares: azure.mgmt.datashare.aio.operations.SharesOperations + :ivar provider_share_subscriptions: ProviderShareSubscriptionsOperations operations + :vartype provider_share_subscriptions: azure.mgmt.datashare.aio.operations.ProviderShareSubscriptionsOperations + :ivar share_subscriptions: ShareSubscriptionsOperations operations + :vartype share_subscriptions: azure.mgmt.datashare.aio.operations.ShareSubscriptionsOperations + :ivar consumer_source_data_sets: ConsumerSourceDataSetsOperations operations + :vartype consumer_source_data_sets: azure.mgmt.datashare.aio.operations.ConsumerSourceDataSetsOperations + :ivar synchronization_settings: SynchronizationSettingsOperations operations + :vartype synchronization_settings: azure.mgmt.datashare.aio.operations.SynchronizationSettingsOperations + :ivar triggers: TriggersOperations operations + :vartype triggers: azure.mgmt.datashare.aio.operations.TriggersOperations + :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 = DataShareManagementClientConfiguration(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.accounts = AccountsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.consumer_invitations = ConsumerInvitationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_sets = DataSetsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_set_mappings = DataSetMappingsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.email_registrations = EmailRegistrationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.invitations = InvitationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.shares = SharesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.provider_share_subscriptions = ProviderShareSubscriptionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.share_subscriptions = ShareSubscriptionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.consumer_source_data_sets = ConsumerSourceDataSetsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.synchronization_settings = SynchronizationSettingsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.triggers = TriggersOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "DataShareManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client_async.py deleted file mode 100644 index 0609b8e2594..00000000000 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/_data_share_management_client_async.py +++ /dev/null @@ -1,113 +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 - -from azure.core import AsyncPipelineClient -from msrest import Deserializer, Serializer - -from ._configuration_async import DataShareManagementClientConfiguration -from .operations_async import AccountOperations -from .operations_async import ConsumerInvitationOperations -from .operations_async import DataSetOperations -from .operations_async import DataSetMappingOperations -from .operations_async import InvitationOperations -from .operations_async import OperationOperations -from .operations_async import ShareOperations -from .operations_async import ProviderShareSubscriptionOperations -from .operations_async import ShareSubscriptionOperations -from .operations_async import ConsumerSourceDataSetOperations -from .operations_async import SynchronizationSettingOperations -from .operations_async import TriggerOperations -from .. import models - - -class DataShareManagementClient(object): - """Creates a Microsoft.DataShare management client. - - :ivar account: AccountOperations operations - :vartype account: data_share_management_client.aio.operations_async.AccountOperations - :ivar consumer_invitation: ConsumerInvitationOperations operations - :vartype consumer_invitation: data_share_management_client.aio.operations_async.ConsumerInvitationOperations - :ivar data_set: DataSetOperations operations - :vartype data_set: data_share_management_client.aio.operations_async.DataSetOperations - :ivar data_set_mapping: DataSetMappingOperations operations - :vartype data_set_mapping: data_share_management_client.aio.operations_async.DataSetMappingOperations - :ivar invitation: InvitationOperations operations - :vartype invitation: data_share_management_client.aio.operations_async.InvitationOperations - :ivar operation: OperationOperations operations - :vartype operation: data_share_management_client.aio.operations_async.OperationOperations - :ivar share: ShareOperations operations - :vartype share: data_share_management_client.aio.operations_async.ShareOperations - :ivar provider_share_subscription: ProviderShareSubscriptionOperations operations - :vartype provider_share_subscription: data_share_management_client.aio.operations_async.ProviderShareSubscriptionOperations - :ivar share_subscription: ShareSubscriptionOperations operations - :vartype share_subscription: data_share_management_client.aio.operations_async.ShareSubscriptionOperations - :ivar consumer_source_data_set: ConsumerSourceDataSetOperations operations - :vartype consumer_source_data_set: data_share_management_client.aio.operations_async.ConsumerSourceDataSetOperations - :ivar synchronization_setting: SynchronizationSettingOperations operations - :vartype synchronization_setting: data_share_management_client.aio.operations_async.SynchronizationSettingOperations - :ivar trigger: TriggerOperations operations - :vartype trigger: data_share_management_client.aio.operations_async.TriggerOperations - :param credential: Credential needed for the client to connect to Azure. - :type credential: azure.core.credentials.TokenCredential - :param subscription_id: The subscription identifier. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__( - self, - credential: "TokenCredential", - subscription_id: str, - base_url: Optional[str] = None, - **kwargs: Any - ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = DataShareManagementClientConfiguration(credential, subscription_id, **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._deserialize = Deserializer(client_models) - - self.account = AccountOperations( - self._client, self._config, self._serialize, self._deserialize) - self.consumer_invitation = ConsumerInvitationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.data_set = DataSetOperations( - self._client, self._config, self._serialize, self._deserialize) - self.data_set_mapping = DataSetMappingOperations( - self._client, self._config, self._serialize, self._deserialize) - self.invitation = InvitationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation = OperationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.share = ShareOperations( - self._client, self._config, self._serialize, self._deserialize) - self.provider_share_subscription = ProviderShareSubscriptionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.share_subscription = ShareSubscriptionOperations( - self._client, self._config, self._serialize, self._deserialize) - self.consumer_source_data_set = ConsumerSourceDataSetOperations( - self._client, self._config, self._serialize, self._deserialize) - self.synchronization_setting = SynchronizationSettingOperations( - self._client, self._config, self._serialize, self._deserialize) - self.trigger = TriggerOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "DataShareManagementClient": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/__init__.py new file mode 100644 index 00000000000..e6f97231afd --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/__init__.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._accounts_operations import AccountsOperations +from ._consumer_invitations_operations import ConsumerInvitationsOperations +from ._data_sets_operations import DataSetsOperations +from ._data_set_mappings_operations import DataSetMappingsOperations +from ._email_registrations_operations import EmailRegistrationsOperations +from ._invitations_operations import InvitationsOperations +from ._operations import Operations +from ._shares_operations import SharesOperations +from ._provider_share_subscriptions_operations import ProviderShareSubscriptionsOperations +from ._share_subscriptions_operations import ShareSubscriptionsOperations +from ._consumer_source_data_sets_operations import ConsumerSourceDataSetsOperations +from ._synchronization_settings_operations import SynchronizationSettingsOperations +from ._triggers_operations import TriggersOperations + +__all__ = [ + 'AccountsOperations', + 'ConsumerInvitationsOperations', + 'DataSetsOperations', + 'DataSetMappingsOperations', + 'EmailRegistrationsOperations', + 'InvitationsOperations', + 'Operations', + 'SharesOperations', + 'ProviderShareSubscriptionsOperations', + 'ShareSubscriptionsOperations', + 'ConsumerSourceDataSetsOperations', + 'SynchronizationSettingsOperations', + 'TriggersOperations', +] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_account_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_accounts_operations.py similarity index 60% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_account_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_accounts_operations.py index 5c293630594..cd117e7e1fb 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_account_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_accounts_operations.py @@ -5,28 +5,30 @@ # 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 +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 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.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +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 AccountOperations: - """AccountOperations async operations. +class AccountsOperations: + """AccountsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,31 +43,109 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + def list_by_subscription( + self, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.AccountList"]: + """List Accounts in a subscription. + + List Accounts in Subscription. + + :param skip_token: Continuation token. + :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 AccountList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.AccountList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_subscription.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('AccountList', 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.DataShareError, 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.DataShare/accounts'} # type: ignore + async def get( self, resource_group_name: str, account_name: str, **kwargs ) -> "models.Account": - """Get an account. + """Get an account under a resource group. - Get an account under a resource group. + Get an account. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Account or the result of cls(response) - :rtype: ~data_share_management_client.models.Account + :return: Account, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Account :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -79,9 +159,8 @@ 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') - # 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 @@ -89,34 +168,34 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Account', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} # type: ignore async def _create_initial( self, resource_group_name: str, account_name: str, - identity: "models.Identity", - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, + account: "models.Account", **kwargs ) -> "models.Account": cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _account = models.Account(location=location, tags=tags, identity=identity) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self._create_initial.metadata['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'), @@ -131,23 +210,20 @@ async 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_account, 'Account') + body_content = self._serialize.body(account, 'Account') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Account', pipeline_response) @@ -155,54 +231,56 @@ async def _create_initial( deserialized = self._deserialize('Account', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} # type: ignore - async def create( + async def begin_create( self, resource_group_name: str, account_name: str, - identity: "models.Identity", - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, + account: "models.Account", **kwargs - ) -> "models.Account": - """Create an account. + ) -> AsyncLROPoller["models.Account"]: + """Create an account in the given resource group. - Create an account in the given resource group. + Create an account. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_name: str - :param identity: Identity Info on the Account. - :type identity: ~data_share_management_client.models.Identity - :param location: Location of the azure resource. - :type location: str - :param tags: Tags on the azure resource. - :type tags: dict[str, str] + :param account: The account payload. + :type account: ~azure.mgmt.datashare.models.Account :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 - :return: An instance of LROPoller that returns Account - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.Account] - + :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 Account or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.Account] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] - raw_result = await self._create_initial( - resource_group_name=resource_group_name, - account_name=account_name, - identity=identity, - location=location, - tags=tags, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + account=account, + 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('Account', pipeline_response) @@ -211,28 +289,42 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + 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.DataShare/accounts/{accountName}'} # type: ignore async def _delete_initial( self, resource_group_name: str, account_name: str, **kwargs - ) -> "models.OperationResponse": - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + ) -> Optional["models.OperationResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -246,9 +338,8 @@ async def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -256,49 +347,59 @@ async def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} # type: ignore - async def delete( + async def begin_delete( self, resource_group_name: str, account_name: str, **kwargs - ) -> "models.OperationResponse": - """DeleteAccount. + ) -> AsyncLROPoller["models.OperationResponse"]: + """Delete an account. - Delete an account. + DeleteAccount. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_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('OperationResponse', pipeline_response) @@ -307,47 +408,59 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + 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.DataShare/accounts/{accountName}'} # type: ignore async def update( self, resource_group_name: str, account_name: str, - tags: Optional[Dict[str, str]] = None, + account_update_parameters: "models.AccountUpdateParameters", **kwargs ) -> "models.Account": - """Patch an account. + """Patch a given account. - Patch a given account. + Patch an account. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_name: str - :param tags: Tags on the azure resource. - :type tags: dict[str, str] + :param account_update_parameters: The account update parameters. + :type account_update_parameters: ~azure.mgmt.datashare.models.AccountUpdateParameters :keyword callable cls: A custom type or function that will be passed the direct response - :return: Account or the result of cls(response) - :rtype: ~data_share_management_client.models.Account + :return: Account, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Account :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _account_update_parameters = models.AccountUpdateParameters(tags=tags) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" 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'), @@ -362,147 +475,79 @@ 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_account_update_parameters, 'AccountUpdateParameters') + body_content = self._serialize.body(account_update_parameters, 'AccountUpdateParameters') 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(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Account', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} - - def list_by_subscription( - self, - skip_token: Optional[str] = None, - **kwargs - ) -> "models.AccountList": - """List Accounts in Subscription. - - List Accounts in a subscription. - - :param skip_token: Continuation token. - :type skip_token: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AccountList or the result of cls(response) - :rtype: ~data_share_management_client.models.AccountList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.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) - else: - url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('AccountList', 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.DataShareError, 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_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts'} + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} # type: ignore def list_by_resource_group( self, resource_group_name: str, skip_token: Optional[str] = None, **kwargs - ) -> "models.AccountList": - """List Accounts in ResourceGroup. + ) -> AsyncIterable["models.AccountList"]: + """List Accounts in a resource group. - List Accounts in a resource group. + List Accounts in ResourceGroup. :param resource_group_name: The resource group name. :type resource_group_name: str :param skip_token: Continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: AccountList or the result of cls(response) - :rtype: ~data_share_management_client.models.AccountList + :return: An iterator like instance of either AccountList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.AccountList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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'] + 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 - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 async def extract_data(pipeline_response): @@ -521,11 +566,11 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + 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.DataShare/accounts'} + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_invitation_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_consumer_invitations_operations.py similarity index 64% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_invitation_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_consumer_invitations_operations.py index 97d9f26ea32..4f19aaa2bff 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_invitation_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_consumer_invitations_operations.py @@ -5,27 +5,28 @@ # 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.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 from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ConsumerInvitationOperations: - """ConsumerInvitationOperations async operations. +class ConsumerInvitationsOperations: + """ConsumerInvitationsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,36 +41,108 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - async def reject_invitation( + def list_invitations( + self, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ConsumerInvitationList"]: + """List the invitations. + + Lists invitations. + + :param skip_token: The continuation token. + :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 ConsumerInvitationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.ConsumerInvitationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_invitations.metadata['url'] # type: ignore + # 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('ConsumerInvitationList', 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.DataShareError, 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_invitations.metadata = {'url': '/providers/Microsoft.DataShare/listInvitations'} # type: ignore + + async def get( self, location: str, invitation_id: str, **kwargs ) -> "models.ConsumerInvitation": - """Reject an invitation. + """Gets the invitation identified by invitationId. - Rejects the invitation identified by invitationId. + Get an invitation. :param location: Location of the invitation. :type location: str - :param invitation_id: Unique id of the invitation. + :param invitation_id: An invitation id. :type invitation_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ConsumerInvitation or the result of cls(response) - :rtype: ~data_share_management_client.models.ConsumerInvitation + :return: ConsumerInvitation, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ConsumerInvitation :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitation"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _invitation = models.ConsumerInvitation(invitation_id=invitation_id) - api_version = "2019-11-01" - content_type = kwargs.pop("content_type", "application/json") + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self.reject_invitation.metadata['url'] + url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'location': self._serialize.url("location", location, 'str'), + 'invitationId': self._serialize.url("invitation_id", invitation_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -79,59 +152,57 @@ async def reject_invitation( # 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' - - # Construct and send request - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_invitation, 'ConsumerInvitation') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ConsumerInvitation', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - reject_invitation.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/RejectInvitation'} + get.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/consumerInvitations/{invitationId}'} # type: ignore - async def get( + async def reject_invitation( self, location: str, - invitation_id: str, + invitation: "models.ConsumerInvitation", **kwargs ) -> "models.ConsumerInvitation": - """Get an invitation. + """Rejects the invitation identified by invitationId. - Gets the invitation identified by invitationId. + Reject an invitation. :param location: Location of the invitation. :type location: str - :param invitation_id: An invitation id. - :type invitation_id: str + :param invitation: An invitation payload. + :type invitation: ~azure.mgmt.datashare.models.ConsumerInvitation :keyword callable cls: A custom type or function that will be passed the direct response - :return: ConsumerInvitation or the result of cls(response) - :rtype: ~data_share_management_client.models.ConsumerInvitation + :return: ConsumerInvitation, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ConsumerInvitation :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitation"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.get.metadata['url'] + url = self.reject_invitation.metadata['url'] # type: ignore path_format_arguments = { 'location': self._serialize.url("location", location, 'str'), - 'invitationId': self._serialize.url("invitation_id", invitation_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -141,88 +212,25 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + 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.get(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(invitation, 'ConsumerInvitation') + 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) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ConsumerInvitation', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/consumerInvitations/{invitationId}'} - - def list_invitation( - self, - skip_token: Optional[str] = None, - **kwargs - ) -> "models.ConsumerInvitationList": - """Lists invitations. - - List the invitations. - - :param skip_token: The continuation token. - :type skip_token: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ConsumerInvitationList or the result of cls(response) - :rtype: ~data_share_management_client.models.ConsumerInvitationList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_invitation.metadata['url'] - else: - url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ConsumerInvitationList', 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.DataShareError, 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_invitation.metadata = {'url': '/providers/Microsoft.DataShare/ListInvitations'} + reject_invitation.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/rejectInvitation'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_source_data_set_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_consumer_source_data_sets_operations.py similarity index 72% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_source_data_set_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_consumer_source_data_sets_operations.py index 65443ffd30b..ee29eb2bc0e 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_consumer_source_data_set_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_consumer_source_data_sets_operations.py @@ -5,27 +5,28 @@ # 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.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 from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ConsumerSourceDataSetOperations: - """ConsumerSourceDataSetOperations async operations. +class ConsumerSourceDataSetsOperations: + """ConsumerSourceDataSetsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -47,7 +48,7 @@ def list_by_share_subscription( share_subscription_name: str, skip_token: Optional[str] = None, **kwargs - ) -> "models.ConsumerSourceDataSetList": + ) -> AsyncIterable["models.ConsumerSourceDataSetList"]: """Get source dataSets of a shareSubscription. Get source dataSets of a shareSubscription. @@ -61,18 +62,26 @@ def list_by_share_subscription( :param skip_token: Continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ConsumerSourceDataSetList or the result of cls(response) - :rtype: ~data_share_management_client.models.ConsumerSourceDataSetList + :return: An iterator like instance of either ConsumerSourceDataSetList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.ConsumerSourceDataSetList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerSourceDataSetList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share_subscription.metadata['url'] + url = self.list_by_share_subscription.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -80,21 +89,17 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 async def extract_data(pipeline_response): @@ -113,11 +118,11 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/ConsumerSourceDataSets'} + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/consumerSourceDataSets'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_mapping_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_data_set_mappings_operations.py similarity index 74% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_mapping_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_data_set_mappings_operations.py index acf0170149b..01d2e21d5b7 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_mapping_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_data_set_mappings_operations.py @@ -5,27 +5,28 @@ # 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 +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 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 from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class DataSetMappingOperations: - """DataSetMappingOperations async operations. +class DataSetMappingsOperations: + """DataSetMappingsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -48,9 +49,9 @@ async def get( data_set_mapping_name: str, **kwargs ) -> "models.DataSetMapping": - """Get a DataSetMapping in a shareSubscription. + """Get DataSetMapping in a shareSubscription. - Get DataSetMapping in a shareSubscription. + Get a DataSetMapping in a shareSubscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -61,16 +62,20 @@ async def get( :param data_set_mapping_name: The name of the dataSetMapping. :type data_set_mapping_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSetMapping or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSetMapping + :return: DataSetMapping, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.DataSetMapping :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMapping"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -86,9 +91,8 @@ 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') - # 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 @@ -96,15 +100,15 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('DataSetMapping', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} # type: ignore async def create( self, @@ -115,11 +119,11 @@ async def create( data_set_mapping: "models.DataSetMapping", **kwargs ) -> "models.DataSetMapping": - """Create a DataSetMapping. - - Maps a source data set in the source share to a sink data set in the share subscription. + """Maps a source data set in the source share to a sink data set in the share subscription. Enables copying the data set from source to destination. + Create a DataSetMapping. + :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. @@ -130,19 +134,23 @@ async def create( :param data_set_mapping_name: The name of the data set mapping to be created. :type data_set_mapping_name: str :param data_set_mapping: Destination data set configuration details. - :type data_set_mapping: ~data_share_management_client.models.DataSetMapping + :type data_set_mapping: ~azure.mgmt.datashare.models.DataSetMapping :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSetMapping or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSetMapping or ~data_share_management_client.models.DataSetMapping + :return: DataSetMapping, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.DataSetMapping :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMapping"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -159,23 +167,20 @@ async def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(data_set_mapping, 'DataSetMapping') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('DataSetMapping', pipeline_response) @@ -183,10 +188,10 @@ async def create( deserialized = self._deserialize('DataSetMapping', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} # type: ignore async def delete( self, @@ -196,9 +201,9 @@ async def delete( data_set_mapping_name: str, **kwargs ) -> None: - """Delete a DataSetMapping in a shareSubscription. + """Delete DataSetMapping in a shareSubscription. - Delete DataSetMapping in a shareSubscription. + Delete a DataSetMapping in a shareSubscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -209,16 +214,20 @@ async def delete( :param data_set_mapping_name: The name of the dataSetMapping. :type data_set_mapping_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) + :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 = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -234,8 +243,8 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -243,12 +252,12 @@ async def delete( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} # type: ignore def list_by_share_subscription( self, @@ -256,8 +265,10 @@ def list_by_share_subscription( account_name: str, share_subscription_name: str, skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, **kwargs - ) -> "models.DataSetMappingList": + ) -> AsyncIterable["models.DataSetMappingList"]: """List DataSetMappings in a share subscription. List DataSetMappings in a share subscription. @@ -270,19 +281,31 @@ def list_by_share_subscription( :type share_subscription_name: str :param skip_token: Continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSetMappingList or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSetMappingList + :return: An iterator like instance of either DataSetMappingList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.DataSetMappingList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMappingList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share_subscription.metadata['url'] + url = self.list_by_share_subscription.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -290,21 +313,21 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 async def extract_data(pipeline_response): @@ -323,11 +346,11 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings'} + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_data_sets_operations.py similarity index 65% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_data_sets_operations.py index 077f29e0407..fb7e86b15d1 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_data_set_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_data_sets_operations.py @@ -5,28 +5,30 @@ # 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 +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 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.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +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 DataSetOperations: - """DataSetOperations async operations. +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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,9 +51,9 @@ async def get( data_set_name: str, **kwargs ) -> "models.DataSet": - """Get a DataSet in a share. + """Get DataSet in a share. - Get DataSet in a share. + Get a DataSet in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -62,16 +64,20 @@ async def get( :param data_set_name: The name of the dataSet. :type data_set_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSet or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSet + :return: DataSet, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.DataSet :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSet"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -87,9 +93,8 @@ 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') - # 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 @@ -97,15 +102,15 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('DataSet', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} # type: ignore async def create( self, @@ -116,9 +121,9 @@ async def create( data_set: "models.DataSet", **kwargs ) -> "models.DataSet": - """Create a DataSet. + """Adds a new data set to an existing share. - Adds a new data set to an existing share. + Create a DataSet. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -129,19 +134,23 @@ async def create( :param data_set_name: The name of the dataSet. :type data_set_name: str :param data_set: The new data set information. - :type data_set: ~data_share_management_client.models.DataSet + :type data_set: ~azure.mgmt.datashare.models.DataSet :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSet or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSet or ~data_share_management_client.models.DataSet + :return: DataSet, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.DataSet :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSet"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -158,23 +167,20 @@ async def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(data_set, 'DataSet') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('DataSet', pipeline_response) @@ -182,10 +188,10 @@ async def create( deserialized = self._deserialize('DataSet', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} # type: ignore async def _delete_initial( self, @@ -196,11 +202,15 @@ async def _delete_initial( **kwargs ) -> None: cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -216,8 +226,8 @@ async def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -225,24 +235,24 @@ async def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} # type: ignore - async def delete( + async def begin_delete( self, resource_group_name: str, account_name: str, share_name: str, data_set_name: str, **kwargs - ) -> None: - """Delete a DataSet in a share. + ) -> AsyncLROPoller[None]: + """Delete DataSet in a share. - Delete DataSet in a share. + Delete a DataSet in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -253,38 +263,60 @@ async def delete( :param data_set_name: The name of the dataSet. :type data_set_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 - :return: An instance of LROPoller that returns None - :rtype: ~azure.core.polling.LROPoller[None] - + :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', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - data_set_name=data_set_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_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, {}) - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'dataSetName': self._serialize.url("data_set_name", data_set_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + 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.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} # type: ignore def list_by_share( self, @@ -292,8 +324,10 @@ def list_by_share( account_name: str, share_name: str, skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, **kwargs - ) -> "models.DataSetList": + ) -> AsyncIterable["models.DataSetList"]: """List DataSets in a share. List DataSets in a share. @@ -306,19 +340,31 @@ def list_by_share( :type share_name: str :param skip_token: continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSetList or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSetList + :return: An iterator like instance of either DataSetList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.DataSetList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share.metadata['url'] + url = self.list_by_share.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -326,21 +372,21 @@ def prepare_request(next_link=None): 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 async def extract_data(pipeline_response): @@ -359,11 +405,11 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets'} + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_email_registrations_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_email_registrations_operations.py new file mode 100644 index 00000000000..6a99f70aebc --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_email_registrations_operations.py @@ -0,0 +1,161 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 EmailRegistrationsOperations: + """EmailRegistrationsOperations 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.datashare.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 activate_email( + self, + location: str, + email_registration: "models.EmailRegistration", + **kwargs + ) -> "models.EmailRegistration": + """Activates the tenant and email combination using email code received. + + Activate the email registration for the current tenant. + + :param location: Location of the activation. + :type location: str + :param email_registration: The payload for tenant domain activation. + :type email_registration: ~azure.mgmt.datashare.models.EmailRegistration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EmailRegistration, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.EmailRegistration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EmailRegistration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.activate_email.metadata['url'] # type: ignore + path_format_arguments = { + '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(email_registration, 'EmailRegistration') + 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) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('EmailRegistration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + activate_email.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/activateEmail'} # type: ignore + + async def register_email( + self, + location: str, + **kwargs + ) -> "models.EmailRegistration": + """Registers the tenant and email combination for verification. + + Register an email for the current tenant. + + :param location: Location of the registration. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EmailRegistration, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.EmailRegistration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EmailRegistration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" + + # Construct URL + url = self.register_email.metadata['url'] # type: ignore + path_format_arguments = { + '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['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) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('EmailRegistration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + register_email.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/registerEmail'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_invitation_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_invitations_operations.py similarity index 72% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_invitation_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_invitations_operations.py index c53ea9c8e86..11445c29d5a 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_invitation_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_invitations_operations.py @@ -5,27 +5,28 @@ # 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 +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 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 from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class InvitationOperations: - """InvitationOperations async operations. +class InvitationsOperations: + """InvitationsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -48,9 +49,9 @@ async def get( invitation_name: str, **kwargs ) -> "models.Invitation": - """Get an invitation in a share. + """Get Invitation in a share. - Get Invitation in a share. + Get an invitation in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -61,16 +62,20 @@ async def get( :param invitation_name: The name of the invitation. :type invitation_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Invitation or the result of cls(response) - :rtype: ~data_share_management_client.models.Invitation + :return: Invitation, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Invitation :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Invitation"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -86,9 +91,8 @@ 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') - # 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 @@ -96,15 +100,15 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Invitation', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} # type: ignore async def create( self, @@ -112,14 +116,12 @@ async def create( account_name: str, share_name: str, invitation_name: str, - target_active_directory_id: Optional[str] = None, - target_email: Optional[str] = None, - target_object_id: Optional[str] = None, + invitation: "models.Invitation", **kwargs ) -> "models.Invitation": - """Create an invitation. + """Sends a new invitation to a recipient to access a share. - Sends a new invitation to a recipient to access a share. + Create an invitation. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -129,28 +131,24 @@ async def create( :type share_name: str :param invitation_name: The name of the invitation. :type invitation_name: str - :param target_active_directory_id: The target Azure AD Id. Can't be combined with email. - :type target_active_directory_id: str - :param target_email: The email the invitation is directed to. - :type target_email: str - :param target_object_id: The target user or application Id that invitation is being sent to. - Must be specified along TargetActiveDirectoryId. This enables sending - invitations to specific users or applications in an AD tenant. - :type target_object_id: str + :param invitation: Invitation details. + :type invitation: ~azure.mgmt.datashare.models.Invitation :keyword callable cls: A custom type or function that will be passed the direct response - :return: Invitation or the result of cls(response) - :rtype: ~data_share_management_client.models.Invitation or ~data_share_management_client.models.Invitation + :return: Invitation, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Invitation :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Invitation"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _invitation = models.Invitation(target_active_directory_id=target_active_directory_id, target_email=target_email, target_object_id=target_object_id) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -167,23 +165,20 @@ async def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_invitation, 'Invitation') + body_content = self._serialize.body(invitation, 'Invitation') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Invitation', pipeline_response) @@ -191,10 +186,10 @@ async def create( deserialized = self._deserialize('Invitation', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} # type: ignore async def delete( self, @@ -204,9 +199,9 @@ async def delete( invitation_name: str, **kwargs ) -> None: - """Delete an invitation in a share. + """Delete Invitation in a share. - Delete Invitation in a share. + Delete an invitation in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -217,16 +212,20 @@ async def delete( :param invitation_name: The name of the invitation. :type invitation_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) + :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 = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -242,8 +241,8 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -251,12 +250,12 @@ async def delete( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} # type: ignore def list_by_share( self, @@ -264,11 +263,13 @@ def list_by_share( account_name: str, share_name: str, skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, **kwargs - ) -> "models.InvitationList": - """List invitations in a share. + ) -> AsyncIterable["models.InvitationList"]: + """List all Invitations in a share. - List all Invitations in a share. + List invitations in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -278,19 +279,31 @@ def list_by_share( :type share_name: str :param skip_token: The continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: InvitationList or the result of cls(response) - :rtype: ~data_share_management_client.models.InvitationList + :return: An iterator like instance of either InvitationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.InvitationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.InvitationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share.metadata['url'] + url = self.list_by_share.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -298,21 +311,21 @@ def prepare_request(next_link=None): 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 async def extract_data(pipeline_response): @@ -331,11 +344,11 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations'} + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_operations.py new file mode 100644 index 00000000000..2589fed2871 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_operations.py @@ -0,0 +1,107 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +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: ~azure.mgmt.datashare.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"]: + """Lists the available operations. + + List of available 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.datashare.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 = "2021-08-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]: + error = self._deserialize(models.DataShareError, 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.DataShare/operations'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_provider_share_subscription_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_provider_share_subscriptions_operations.py similarity index 55% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_provider_share_subscription_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_provider_share_subscriptions_operations.py index e516dc2824a..5890661fa01 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_provider_share_subscription_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_provider_share_subscriptions_operations.py @@ -5,28 +5,30 @@ # 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 +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 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.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +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 ProviderShareSubscriptionOperations: - """ProviderShareSubscriptionOperations async operations. +class ProviderShareSubscriptionsOperations: + """ProviderShareSubscriptionsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,17 +43,18 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - async def get_by_share( + async def adjust( self, resource_group_name: str, account_name: str, share_name: str, provider_share_subscription_id: str, + provider_share_subscription: "models.ProviderShareSubscription", **kwargs ) -> "models.ProviderShareSubscription": - """Get share subscription in a provider share. + """Adjust the expiration date of a share subscription in a provider share. - Get share subscription in a provider share. + Adjust a share subscription's expiration date in a provider share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -61,17 +64,24 @@ async def get_by_share( :type share_name: str :param provider_share_subscription_id: To locate shareSubscription. :type provider_share_subscription_id: str + :param provider_share_subscription: The provider share subscription. + :type provider_share_subscription: ~azure.mgmt.datashare.models.ProviderShareSubscription :keyword callable cls: A custom type or function that will be passed the direct response - :return: ProviderShareSubscription or the result of cls(response) - :rtype: ~data_share_management_client.models.ProviderShareSubscription + :return: ProviderShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ProviderShareSubscription :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.get_by_share.metadata['url'] + url = self.adjust.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -87,37 +97,41 @@ async def get_by_share( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + 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.get(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(provider_share_subscription, 'ProviderShareSubscription') + 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) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}'} + adjust.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/adjust'} # type: ignore - def list_by_share( + async def reinstate( self, resource_group_name: str, account_name: str, share_name: str, - skip_token: Optional[str] = None, + provider_share_subscription_id: str, + provider_share_subscription: "models.ProviderShareSubscription", **kwargs - ) -> "models.ProviderShareSubscriptionList": - """List share subscriptions in a provider share. + ) -> "models.ProviderShareSubscription": + """Reinstate share subscription in a provider share. - List of available share subscriptions to a provider share. + Reinstate share subscription in a provider share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -125,69 +139,63 @@ def list_by_share( :type account_name: str :param share_name: The name of the share. :type share_name: str - :param skip_token: Continuation Token. - :type skip_token: str + :param provider_share_subscription_id: To locate shareSubscription. + :type provider_share_subscription_id: str + :param provider_share_subscription: The provider share subscription. + :type provider_share_subscription: ~azure.mgmt.datashare.models.ProviderShareSubscription :keyword callable cls: A custom type or function that will be passed the direct response - :return: ProviderShareSubscriptionList or the result of cls(response) - :rtype: ~data_share_management_client.models.ProviderShareSubscriptionList + :return: ProviderShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ProviderShareSubscription :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscriptionList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_share.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareName': self._serialize.url("share_name", share_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - else: - url = next_link - - # 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') + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + # Construct URL + url = self.reinstate.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - async def extract_data(pipeline_response): - deserialized = self._deserialize('ProviderShareSubscriptionList', 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) + # 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') - async def get_next(next_link=None): - request = prepare_request(next_link) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(provider_share_subscription, 'ProviderShareSubscription') + 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 - 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.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if response.status_code not in [200]: - error = self._deserialize(models.DataShareError, response) - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) - return pipeline_response + if cls: + return cls(pipeline_response, deserialized, {}) - return AsyncItemPaged( - get_next, extract_data - ) - list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions'} + return deserialized + reinstate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate'} # type: ignore async def _revoke_initial( self, @@ -198,11 +206,15 @@ async def _revoke_initial( **kwargs ) -> "models.ProviderShareSubscription": cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._revoke_initial.metadata['url'] + url = self._revoke_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'), @@ -218,9 +230,8 @@ async def _revoke_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # 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 @@ -228,9 +239,8 @@ async def _revoke_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) @@ -238,19 +248,19 @@ async def _revoke_initial( deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _revoke_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} + _revoke_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} # type: ignore - async def revoke( + async def begin_revoke( self, resource_group_name: str, account_name: str, share_name: str, provider_share_subscription_id: str, **kwargs - ) -> "models.ProviderShareSubscription": + ) -> AsyncLROPoller["models.ProviderShareSubscription"]: """Revoke share subscription in a provider share. Revoke share subscription in a provider share. @@ -264,24 +274,34 @@ async def revoke( :param provider_share_subscription_id: To locate shareSubscription. :type provider_share_subscription_id: 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 - :return: An instance of LROPoller that returns ProviderShareSubscription - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ProviderShareSubscription] - + :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 ProviderShareSubscription or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.ProviderShareSubscription] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] - raw_result = await self._revoke_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - provider_share_subscription_id=provider_share_subscription_id, - cls=lambda x,y,z: x, - **kwargs + 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._revoke_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id, + 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('ProviderShareSubscription', pipeline_response) @@ -290,17 +310,29 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, '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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - revoke.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} + 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_revoke.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} # type: ignore - async def reinstate( + async def get_by_share( self, resource_group_name: str, account_name: str, @@ -308,9 +340,9 @@ async def reinstate( provider_share_subscription_id: str, **kwargs ) -> "models.ProviderShareSubscription": - """Reinstate share subscription in a provider share. + """Get share subscription in a provider share. - Reinstate share subscription in a provider share. + Get share subscription in a provider share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -321,16 +353,20 @@ async def reinstate( :param provider_share_subscription_id: To locate shareSubscription. :type provider_share_subscription_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ProviderShareSubscription or the result of cls(response) - :rtype: ~data_share_management_client.models.ProviderShareSubscription + :return: ProviderShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ProviderShareSubscription :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self.reinstate.metadata['url'] + url = self.get_by_share.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -346,22 +382,107 @@ async def reinstate( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters) + 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - reinstate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate'} + get_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}'} # type: ignore + + def list_by_share( + self, + resource_group_name: str, + account_name: str, + share_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ProviderShareSubscriptionList"]: + """List of available share subscriptions to a provider share. + + List share subscriptions in a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation Token. + :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 ProviderShareSubscriptionList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.ProviderShareSubscriptionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscriptionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_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('ProviderShareSubscriptionList', 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.DataShareError, 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_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_subscription_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_share_subscriptions_operations.py similarity index 56% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_subscription_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_share_subscriptions_operations.py index 4416c305e0e..e6013796018 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_subscription_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_share_subscriptions_operations.py @@ -5,28 +5,30 @@ # 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 +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 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.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +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 ShareSubscriptionOperations: - """ShareSubscriptionOperations async operations. +class ShareSubscriptionsOperations: + """ShareSubscriptionsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,105 +43,25 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - async def get( + async def _cancel_synchronization_initial( self, resource_group_name: str, account_name: str, share_subscription_name: str, + share_subscription_synchronization: "models.ShareSubscriptionSynchronization", **kwargs - ) -> "models.ShareSubscription": - """Get a shareSubscription in an account. - - Get shareSubscription in an account. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param share_subscription_name: The name of the shareSubscription. - :type share_subscription_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSubscription or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSubscription - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - # 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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + ) -> "models.ShareSubscriptionSynchronization": + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(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'] = 'application/json' - - # 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) - error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize('ShareSubscription', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} - - async def create( - self, - resource_group_name: str, - account_name: str, - share_subscription_name: str, - invitation_id: str, - source_share_location: str, - **kwargs - ) -> "models.ShareSubscription": - """Create a shareSubscription in an account. - - Create shareSubscription in an account. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param share_subscription_name: The name of the shareSubscription. - :type share_subscription_name: str - :param invitation_id: The invitation id. - :type invitation_id: str - :param source_share_location: Source share location. - :type source_share_location: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSubscription or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSubscription or ~data_share_management_client.models.ShareSubscription - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _share_subscription = models.ShareSubscription(invitation_id=invitation_id, source_share_location=source_share_location) - api_version = "2019-11-01" + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['url'] + url = self._cancel_synchronization_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'), @@ -155,94 +77,43 @@ async def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share_subscription, 'ShareSubscription') + body_content = self._serialize.body(share_subscription_synchronization, 'ShareSubscriptionSynchronization') body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - + 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, 201]: + 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: - deserialized = self._deserialize('ShareSubscription', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('ShareSubscription', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} - - async def _delete_initial( - self, - resource_group_name: str, - account_name: str, - share_subscription_name: str, - **kwargs - ) -> "models.OperationResponse": - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - # Construct URL - url = self._delete_initial.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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'] = 'application/json' - - # 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, 202, 204]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('OperationResponse', pipeline_response) + if response.status_code == 202: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + _cancel_synchronization_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} # type: ignore - async def delete( + async def begin_cancel_synchronization( self, resource_group_name: str, account_name: str, share_subscription_name: str, + share_subscription_synchronization: "models.ShareSubscriptionSynchronization", **kwargs - ) -> "models.OperationResponse": - """Delete a shareSubscription in an account. + ) -> AsyncLROPoller["models.ShareSubscriptionSynchronization"]: + """Request cancellation of a data share snapshot. - Delete shareSubscription in an account. + Request to cancel a synchronization. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -250,131 +121,77 @@ async def delete( :type account_name: str :param share_subscription_name: The name of the shareSubscription. :type share_subscription_name: str + :param share_subscription_synchronization: Share Subscription Synchronization payload. + :type share_subscription_synchronization: ~azure.mgmt.datashare.models.ShareSubscriptionSynchronization :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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 ShareSubscriptionSynchronization or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.ShareSubscriptionSynchronization] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - cls=lambda x,y,z: x, - **kwargs + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + 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._cancel_synchronization_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + share_subscription_synchronization=share_subscription_synchronization, + 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('OperationResponse', pipeline_response) + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} - - def list_by_account( - self, - resource_group_name: str, - account_name: str, - skip_token: Optional[str] = None, - **kwargs - ) -> "models.ShareSubscriptionList": - """List share subscriptions in an account. - - List of available share subscriptions under an account. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param skip_token: Continuation Token. - :type skip_token: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSubscriptionList or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSubscriptionList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_account.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - else: - url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ShareSubscriptionList', 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.DataShareError, 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_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions'} - - def list_source_share_synchronization_setting( + 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_cancel_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} # type: ignore + + def list_source_share_synchronization_settings( self, resource_group_name: str, account_name: str, share_subscription_name: str, skip_token: Optional[str] = None, **kwargs - ) -> "models.SourceShareSynchronizationSettingList": - """Get synchronization settings set on a share. + ) -> AsyncIterable["models.SourceShareSynchronizationSettingList"]: + """Get source share synchronization settings for a shareSubscription. - Get source share synchronization settings for a shareSubscription. + Get synchronization settings set on a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -385,18 +202,26 @@ def list_source_share_synchronization_setting( :param skip_token: Continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SourceShareSynchronizationSettingList or the result of cls(response) - :rtype: ~data_share_management_client.models.SourceShareSynchronizationSettingList + :return: An iterator like instance of either SourceShareSynchronizationSettingList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.SourceShareSynchronizationSettingList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SourceShareSynchronizationSettingList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_source_share_synchronization_setting.metadata['url'] + url = self.list_source_share_synchronization_settings.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -404,21 +229,17 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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.post(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request async def extract_data(pipeline_response): @@ -437,26 +258,29 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_source_share_synchronization_setting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSourceShareSynchronizationSettings'} + list_source_share_synchronization_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSourceShareSynchronizationSettings'} # type: ignore - def list_synchronization( + def list_synchronization_details( self, resource_group_name: str, account_name: str, share_subscription_name: str, + share_subscription_synchronization: "models.ShareSubscriptionSynchronization", skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, **kwargs - ) -> "models.ShareSubscriptionSynchronizationList": - """List synchronizations of a share subscription. + ) -> AsyncIterable["models.SynchronizationDetailsList"]: + """List data set level details for a share subscription synchronization. - List Synchronizations in a share subscription. + List synchronization details. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -464,21 +288,37 @@ def list_synchronization( :type account_name: str :param share_subscription_name: The name of the share subscription. :type share_subscription_name: str + :param share_subscription_synchronization: Share Subscription Synchronization payload. + :type share_subscription_synchronization: ~azure.mgmt.datashare.models.ShareSubscriptionSynchronization :param skip_token: Continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSubscriptionSynchronizationList or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSubscriptionSynchronizationList + :return: An iterator like instance of either SynchronizationDetailsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.SynchronizationDetailsList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronizationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_synchronization.metadata['url'] + url = self.list_synchronization_details.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -486,25 +326,31 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(share_subscription_synchronization, 'ShareSubscriptionSynchronization') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters) + query_parameters = {} # type: Dict[str, Any] + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(share_subscription_synchronization, 'ShareSubscriptionSynchronization') + 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('ShareSubscriptionSynchronizationList', pipeline_response) + deserialized = self._deserialize('SynchronizationDetailsList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -519,27 +365,28 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations'} + list_synchronization_details.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails'} # type: ignore - def list_synchronization_detail( + def list_synchronizations( self, resource_group_name: str, account_name: str, share_subscription_name: str, - synchronization_id: str, skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, **kwargs - ) -> "models.SynchronizationDetailsList": - """List synchronization details. + ) -> AsyncIterable["models.ShareSubscriptionSynchronizationList"]: + """List Synchronizations in a share subscription. - List data set level details for a share subscription synchronization. + List synchronizations of a share subscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -547,25 +394,33 @@ def list_synchronization_detail( :type account_name: str :param share_subscription_name: The name of the share subscription. :type share_subscription_name: str - :param synchronization_id: Synchronization id. - :type synchronization_id: str :param skip_token: Continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationDetailsList or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationDetailsList + :return: An iterator like instance of either ShareSubscriptionSynchronizationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.ShareSubscriptionSynchronizationList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - _share_subscription_synchronization = models.ShareSubscriptionSynchronization(synchronization_id=synchronization_id) - api_version = "2019-11-01" - content_type = "application/json" + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronizationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_synchronization_detail.metadata['url'] + url = self.list_synchronizations.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -573,30 +428,25 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.post(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # 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' - - # Construct and send request - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share_subscription_synchronization, 'ShareSubscriptionSynchronization') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - + 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('SynchronizationDetailsList', pipeline_response) + deserialized = self._deserialize('ShareSubscriptionSynchronizationList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -611,32 +461,34 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_synchronization_detail.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails'} + list_synchronizations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations'} # type: ignore async def _synchronize_initial( self, resource_group_name: str, account_name: str, share_subscription_name: str, - synchronization_mode: Optional[Union[str, "models.SynchronizationMode"]] = None, + synchronize: "models.Synchronize", **kwargs ) -> "models.ShareSubscriptionSynchronization": cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _synchronize = models.Synchronize(synchronization_mode=synchronization_mode) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self._synchronize_initial.metadata['url'] + url = self._synchronize_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'), @@ -652,23 +504,20 @@ async def _synchronize_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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_synchronize, 'Synchronize') + body_content = self._serialize.body(synchronize, 'Synchronize') 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(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) @@ -676,22 +525,22 @@ async def _synchronize_initial( deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _synchronize_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/Synchronize'} + _synchronize_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/synchronize'} # type: ignore - async def synchronize( + async def begin_synchronize( self, resource_group_name: str, account_name: str, share_subscription_name: str, - synchronization_mode: Optional[Union[str, "models.SynchronizationMode"]] = None, + synchronize: "models.Synchronize", **kwargs - ) -> "models.ShareSubscriptionSynchronization": - """Initiate a copy. + ) -> AsyncLROPoller["models.ShareSubscriptionSynchronization"]: + """Initiate an asynchronous data share job. - Initiate an asynchronous data share job. + Initiate a copy. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -699,28 +548,37 @@ async def synchronize( :type account_name: str :param share_subscription_name: The name of share subscription. :type share_subscription_name: str - :param synchronization_mode: Mode of synchronization used in triggers and snapshot sync. - Incremental by default. - :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :param synchronize: Synchronize payload. + :type synchronize: ~azure.mgmt.datashare.models.Synchronize :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 - :return: An instance of LROPoller that returns ShareSubscriptionSynchronization - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ShareSubscriptionSynchronization] - + :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 ShareSubscriptionSynchronization or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.ShareSubscriptionSynchronization] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] - raw_result = await self._synchronize_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - synchronization_mode=synchronization_mode, - cls=lambda x,y,z: x, - **kwargs + 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._synchronize_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronize=synchronize, + 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('ShareSubscriptionSynchronization', pipeline_response) @@ -729,33 +587,128 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - synchronize.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/Synchronize'} + 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_synchronize.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/synchronize'} # type: ignore - async def _cancel_synchronization_initial( + async def get( self, resource_group_name: str, account_name: str, share_subscription_name: str, - synchronization_id: str, **kwargs - ) -> "models.ShareSubscriptionSynchronization": - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + ) -> "models.ShareSubscription": + """Get shareSubscription in an account. + + Get a shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) - _share_subscription_synchronization = models.ShareSubscriptionSynchronization(synchronization_id=synchronization_id) - api_version = "2019-11-01" + # 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.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} # type: ignore + + async def create( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + share_subscription: "models.ShareSubscription", + **kwargs + ) -> "models.ShareSubscription": + """Create shareSubscription in an account. + + Create a shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param share_subscription: create parameters for shareSubscription. + :type share_subscription: ~azure.mgmt.datashare.models.ShareSubscription + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self._cancel_synchronization_initial.metadata['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'), @@ -771,46 +724,94 @@ async def _cancel_synchronization_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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share_subscription_synchronization, 'ShareSubscriptionSynchronization') + body_content = self._serialize.body(share_subscription, 'ShareSubscription') body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + 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.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + if response.status_code == 200: + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + account_name: str, + share_subscription_name: str, + **kwargs + ) -> Optional["models.OperationResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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]: + 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: - deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) - - if response.status_code == 202: - deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _cancel_synchronization_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} # type: ignore - async def cancel_synchronization( + async def begin_delete( self, resource_group_name: str, account_name: str, share_subscription_name: str, - synchronization_id: str, **kwargs - ) -> "models.ShareSubscriptionSynchronization": - """Request to cancel a synchronization. + ) -> AsyncLROPoller["models.OperationResponse"]: + """Delete shareSubscription in an account. - Request cancellation of a data share snapshot. + Delete a shareSubscription in an account. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -818,41 +819,151 @@ async def cancel_synchronization( :type account_name: str :param share_subscription_name: The name of the shareSubscription. :type share_subscription_name: str - :param synchronization_id: Synchronization id. - :type synchronization_id: 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 - :return: An instance of LROPoller that returns ShareSubscriptionSynchronization - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ShareSubscriptionSynchronization] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] - raw_result = await self._cancel_synchronization_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - synchronization_id=synchronization_id, - cls=lambda x,y,z: x, - **kwargs + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + 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, + account_name=account_name, + share_subscription_name=share_subscription_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('ShareSubscriptionSynchronization', pipeline_response) + deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - cancel_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} + 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.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} # type: ignore + + def list_by_account( + self, + resource_group_name: str, + account_name: str, + skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ShareSubscriptionList"]: + """List of available share subscriptions under an account. + + List share subscriptions in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param skip_token: Continuation Token. + :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ShareSubscriptionList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.ShareSubscriptionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_account.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, '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('ShareSubscriptionList', 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.DataShareError, 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_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_shares_operations.py similarity index 58% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_shares_operations.py index 0c7c5ef51f1..168bd1a8326 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_share_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_shares_operations.py @@ -5,29 +5,30 @@ # 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, Optional, TypeVar, Union +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 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.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +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 ShareOperations: - """ShareOperations async operations. +class SharesOperations: + """SharesOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -42,6 +43,209 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + def list_synchronization_details( + self, + resource_group_name: str, + account_name: str, + share_name: str, + share_synchronization: "models.ShareSynchronization", + skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.SynchronizationDetailsList"]: + """List data set level details for a share synchronization. + + List synchronization details. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param share_synchronization: Share Synchronization payload. + :type share_synchronization: ~azure.mgmt.datashare.models.ShareSynchronization + :param skip_token: Continuation token. + :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SynchronizationDetailsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.SynchronizationDetailsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_synchronization_details.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(share_synchronization, 'ShareSynchronization') + 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(share_synchronization, 'ShareSynchronization') + 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('SynchronizationDetailsList', 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.DataShareError, 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_synchronization_details.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails'} # type: ignore + + def list_synchronizations( + self, + resource_group_name: str, + account_name: str, + share_name: str, + skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ShareSynchronizationList"]: + """List Synchronizations in a share. + + List synchronizations of a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation token. + :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ShareSynchronizationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.ShareSynchronizationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSynchronizationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_synchronizations.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, '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('ShareSynchronizationList', 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.DataShareError, 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_synchronizations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations'} # type: ignore + async def get( self, resource_group_name: str, @@ -49,9 +253,9 @@ async def get( share_name: str, **kwargs ) -> "models.Share": - """Get a share. + """Get a specified share. - Get a specified share. + Get a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -60,16 +264,20 @@ async def get( :param share_name: The name of the share to retrieve. :type share_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Share or the result of cls(response) - :rtype: ~data_share_management_client.models.Share + :return: Share, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Share :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Share"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -84,9 +292,8 @@ 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') - # 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 @@ -94,29 +301,27 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Share', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} # type: ignore async def create( self, resource_group_name: str, account_name: str, share_name: str, - description: Optional[str] = None, - share_kind: Optional[Union[str, "models.ShareKind"]] = None, - terms: Optional[str] = None, + share: "models.Share", **kwargs ) -> "models.Share": - """Create a share. + """Create a share in the given account. - Create a share in the given account. + Create a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -124,26 +329,24 @@ async def create( :type account_name: str :param share_name: The name of the share. :type share_name: str - :param description: Share description. - :type description: str - :param share_kind: Share kind. - :type share_kind: str or ~data_share_management_client.models.ShareKind - :param terms: Share terms. - :type terms: str + :param share: The share payload. + :type share: ~azure.mgmt.datashare.models.Share :keyword callable cls: A custom type or function that will be passed the direct response - :return: Share or the result of cls(response) - :rtype: ~data_share_management_client.models.Share or ~data_share_management_client.models.Share + :return: Share, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Share :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Share"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _share = models.Share(description=description, share_kind=share_kind, terms=terms) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -159,23 +362,20 @@ async def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share, 'Share') + body_content = self._serialize.body(share, 'Share') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Share', pipeline_response) @@ -183,10 +383,10 @@ async def create( deserialized = self._deserialize('Share', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} # type: ignore async def _delete_initial( self, @@ -194,13 +394,17 @@ async def _delete_initial( account_name: str, share_name: str, **kwargs - ) -> "models.OperationResponse": - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + ) -> Optional["models.OperationResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -215,9 +419,8 @@ async def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -225,28 +428,28 @@ async def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} # type: ignore - async def delete( + async def begin_delete( self, resource_group_name: str, account_name: str, share_name: str, **kwargs - ) -> "models.OperationResponse": - """Delete a share. + ) -> AsyncLROPoller["models.OperationResponse"]: + """Deletes a share. - Deletes a share. + Delete a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -255,23 +458,33 @@ async def delete( :param share_name: The name of the share. :type share_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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_name=share_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('OperationResponse', pipeline_response) @@ -280,26 +493,39 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + 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.DataShare/accounts/{accountName}/shares/{shareName}'} # type: ignore def list_by_account( self, resource_group_name: str, account_name: str, skip_token: Optional[str] = None, + filter: Optional[str] = None, + orderby: Optional[str] = None, **kwargs - ) -> "models.ShareList": - """List shares in an account. + ) -> AsyncIterable["models.ShareList"]: + """List of available shares under an account. - List of available shares under an account. + List shares in an account. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -307,242 +533,56 @@ def list_by_account( :type account_name: str :param skip_token: Continuation Token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareList or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareList + :return: An iterator like instance of either ShareList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.ShareList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ShareList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_account.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - else: - url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ShareList', 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.DataShareError, 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_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares'} - - def list_synchronization( - self, - resource_group_name: str, - account_name: str, - share_name: str, - skip_token: Optional[str] = None, - **kwargs - ) -> "models.ShareSynchronizationList": - """List synchronizations of a share. - - List Synchronizations in a share. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param share_name: The name of the share. - :type share_name: str - :param skip_token: Continuation token. - :type skip_token: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSynchronizationList or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSynchronizationList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSynchronizationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_synchronization.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareName': self._serialize.url("share_name", share_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - else: - url = next_link - - # 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') - # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters) - return request - - async def extract_data(pipeline_response): - deserialized = self._deserialize('ShareSynchronizationList', 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.DataShareError, 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_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations'} - - def list_synchronization_detail( - self, - resource_group_name: str, - account_name: str, - share_name: str, - skip_token: Optional[str] = None, - consumer_email: Optional[str] = None, - consumer_name: Optional[str] = None, - consumer_tenant_name: Optional[str] = None, - duration_ms: Optional[int] = None, - end_time: Optional[datetime.datetime] = None, - message: Optional[str] = None, - start_time: Optional[datetime.datetime] = None, - status: Optional[str] = None, - synchronization_id: Optional[str] = None, - **kwargs - ) -> "models.SynchronizationDetailsList": - """List synchronization details. + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - List data set level details for a share synchronization. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param share_name: The name of the share. - :type share_name: str - :param skip_token: Continuation token. - :type skip_token: str - :param consumer_email: Email of the user who created the synchronization. - :type consumer_email: str - :param consumer_name: Name of the user who created the synchronization. - :type consumer_name: str - :param consumer_tenant_name: Tenant name of the consumer who created the synchronization. - :type consumer_tenant_name: str - :param duration_ms: synchronization duration. - :type duration_ms: int - :param end_time: End time of synchronization. - :type end_time: ~datetime.datetime - :param message: message of synchronization. - :type message: str - :param start_time: start time of synchronization. - :type start_time: ~datetime.datetime - :param status: Raw Status. - :type status: str - :param synchronization_id: Synchronization id. - :type synchronization_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationDetailsList or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationDetailsList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - _share_synchronization = models.ShareSynchronization(consumer_email=consumer_email, consumer_name=consumer_name, consumer_tenant_name=consumer_tenant_name, duration_ms=duration_ms, end_time=end_time, message=message, start_time=start_time, status=status, synchronization_id=synchronization_id) - api_version = "2019-11-01" - content_type = "application/json" - - def prepare_request(next_link=None): if not next_link: # Construct URL - url = self.list_synchronization_detail.metadata['url'] + url = self.list_by_account.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # 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' - - # Construct and send request - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share_synchronization, 'ShareSynchronization') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - + 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('SynchronizationDetailsList', pipeline_response) + deserialized = self._deserialize('ShareList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -557,11 +597,11 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_synchronization_detail.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails'} + list_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_synchronization_setting_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_synchronization_settings_operations.py similarity index 67% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_synchronization_setting_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_synchronization_settings_operations.py index 78a95bd6159..d0316857f80 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_synchronization_setting_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_synchronization_settings_operations.py @@ -5,28 +5,30 @@ # 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 +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 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.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +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 SynchronizationSettingOperations: - """SynchronizationSettingOperations async operations. +class SynchronizationSettingsOperations: + """SynchronizationSettingsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,9 +51,9 @@ async def get( synchronization_setting_name: str, **kwargs ) -> "models.SynchronizationSetting": - """Get a synchronizationSetting in a share. + """Get synchronizationSetting in a share. - Get synchronizationSetting in a share. + Get a synchronizationSetting in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -62,16 +64,20 @@ async def get( :param synchronization_setting_name: The name of the synchronizationSetting. :type synchronization_setting_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationSetting or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationSetting + :return: SynchronizationSetting, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.SynchronizationSetting :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSetting"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -87,9 +93,8 @@ 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') - # 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 @@ -97,15 +102,15 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SynchronizationSetting', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} # type: ignore async def create( self, @@ -116,9 +121,9 @@ async def create( synchronization_setting: "models.SynchronizationSetting", **kwargs ) -> "models.SynchronizationSetting": - """Create or update a synchronizationSetting. + """Adds a new synchronization setting to an existing share. - Adds a new synchronization setting to an existing share. + Create a synchronizationSetting. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -129,19 +134,23 @@ async def create( :param synchronization_setting_name: The name of the synchronizationSetting. :type synchronization_setting_name: str :param synchronization_setting: The new synchronization setting information. - :type synchronization_setting: ~data_share_management_client.models.SynchronizationSetting + :type synchronization_setting: ~azure.mgmt.datashare.models.SynchronizationSetting :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationSetting or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationSetting or ~data_share_management_client.models.SynchronizationSetting + :return: SynchronizationSetting, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.SynchronizationSetting :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSetting"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -158,23 +167,20 @@ async def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(synchronization_setting, 'SynchronizationSetting') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('SynchronizationSetting', pipeline_response) @@ -182,10 +188,10 @@ async def create( deserialized = self._deserialize('SynchronizationSetting', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} # type: ignore async def _delete_initial( self, @@ -194,13 +200,17 @@ async def _delete_initial( share_name: str, synchronization_setting_name: str, **kwargs - ) -> "models.OperationResponse": - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + ) -> Optional["models.OperationResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -216,9 +226,8 @@ async def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -226,29 +235,29 @@ async def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} # type: ignore - async def delete( + async def begin_delete( self, resource_group_name: str, account_name: str, share_name: str, synchronization_setting_name: str, **kwargs - ) -> "models.OperationResponse": - """Delete a synchronizationSetting in a share. + ) -> AsyncLROPoller["models.OperationResponse"]: + """Delete synchronizationSetting in a share. - Delete synchronizationSetting in a share. + Delete a synchronizationSetting in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -259,24 +268,34 @@ async def delete( :param synchronization_setting_name: The name of the synchronizationSetting . :type synchronization_setting_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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - synchronization_setting_name=synchronization_setting_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_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('OperationResponse', pipeline_response) @@ -285,15 +304,27 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'synchronizationSettingName': self._serialize.url("synchronization_setting_name", synchronization_setting_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + 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.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} # type: ignore def list_by_share( self, @@ -302,7 +333,7 @@ def list_by_share( share_name: str, skip_token: Optional[str] = None, **kwargs - ) -> "models.SynchronizationSettingList": + ) -> AsyncIterable["models.SynchronizationSettingList"]: """List synchronizationSettings in a share. List synchronizationSettings in a share. @@ -316,18 +347,26 @@ def list_by_share( :param skip_token: continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationSettingList or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationSettingList + :return: An iterator like instance of either SynchronizationSettingList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.SynchronizationSettingList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSettingList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share.metadata['url'] + url = self.list_by_share.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -335,21 +374,17 @@ def prepare_request(next_link=None): 'shareName': self._serialize.url("share_name", share_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 - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 async def extract_data(pipeline_response): @@ -368,11 +403,11 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings'} + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_trigger_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_triggers_operations.py similarity index 62% rename from src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_trigger_operations_async.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_triggers_operations.py index 18598bf412e..1393e6b722b 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_trigger_operations_async.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations/_triggers_operations.py @@ -5,28 +5,30 @@ # 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 +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 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.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +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 TriggerOperations: - """TriggerOperations async operations. +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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,9 +51,9 @@ async def get( trigger_name: str, **kwargs ) -> "models.Trigger": - """Get a Trigger in a shareSubscription. + """Get Trigger in a shareSubscription. - Get Trigger in a shareSubscription. + Get a Trigger in a shareSubscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -62,16 +64,20 @@ async def get( :param trigger_name: The name of the trigger. :type trigger_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Trigger or the result of cls(response) - :rtype: ~data_share_management_client.models.Trigger + :return: Trigger, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Trigger :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -87,9 +93,8 @@ 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') - # 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 @@ -97,15 +102,15 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Trigger', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore async def _create_initial( self, @@ -117,12 +122,16 @@ async def _create_initial( **kwargs ) -> "models.Trigger": cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self._create_initial.metadata['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'), @@ -139,23 +148,20 @@ async 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(trigger, 'Trigger') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Trigger', pipeline_response) @@ -163,12 +169,12 @@ async def _create_initial( deserialized = self._deserialize('Trigger', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore - async def create( + async def begin_create( self, resource_group_name: str, account_name: str, @@ -176,42 +182,52 @@ async def create( trigger_name: str, trigger: "models.Trigger", **kwargs - ) -> "models.Trigger": - """Create a Trigger. + ) -> AsyncLROPoller["models.Trigger"]: + """This method creates a trigger for a share subscription. - This method creates a trigger for a share subscription. + Create a Trigger. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_name: str :param share_subscription_name: The name of the share subscription which will hold the data set - sink. + sink. :type share_subscription_name: str :param trigger_name: The name of the trigger. :type trigger_name: str :param trigger: Trigger details. - :type trigger: ~data_share_management_client.models.Trigger + :type trigger: ~azure.mgmt.datashare.models.Trigger :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 - :return: An instance of LROPoller that returns Trigger - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.Trigger] - + :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 Trigger or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.Trigger] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] - raw_result = await self._create_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - trigger_name=trigger_name, - trigger=trigger, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name, + trigger=trigger, + 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('Trigger', pipeline_response) @@ -220,15 +236,27 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + 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.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore async def _delete_initial( self, @@ -237,13 +265,17 @@ async def _delete_initial( share_subscription_name: str, trigger_name: str, **kwargs - ) -> "models.OperationResponse": - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + ) -> Optional["models.OperationResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -259,9 +291,8 @@ async def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -269,29 +300,29 @@ async def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore - async def delete( + async def begin_delete( self, resource_group_name: str, account_name: str, share_subscription_name: str, trigger_name: str, **kwargs - ) -> "models.OperationResponse": - """Delete a Trigger in a shareSubscription. + ) -> AsyncLROPoller["models.OperationResponse"]: + """Delete Trigger in a shareSubscription. - Delete Trigger in a shareSubscription. + Delete a Trigger in a shareSubscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -302,24 +333,34 @@ async def delete( :param trigger_name: The name of the trigger. :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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = await self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_subscription_name=share_subscription_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('OperationResponse', pipeline_response) @@ -328,15 +369,27 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_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 - return await async_poller(self._client, raw_result, get_long_running_output, polling_method) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + 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.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore def list_by_share_subscription( self, @@ -345,7 +398,7 @@ def list_by_share_subscription( share_subscription_name: str, skip_token: Optional[str] = None, **kwargs - ) -> "models.TriggerList": + ) -> AsyncIterable["models.TriggerList"]: """List Triggers in a share subscription. List Triggers in a share subscription. @@ -359,18 +412,26 @@ def list_by_share_subscription( :param skip_token: Continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerList or the result of cls(response) - :rtype: ~data_share_management_client.models.TriggerList + :return: An iterator like instance of either TriggerList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.datashare.models.TriggerList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share_subscription.metadata['url'] + url = self.list_by_share_subscription.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -378,21 +439,17 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 async def extract_data(pipeline_response): @@ -411,11 +468,11 @@ async def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers'} + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/__init__.py deleted file mode 100644 index c50fe5e6a33..00000000000 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/__init__.py +++ /dev/null @@ -1,35 +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 ._account_operations_async import AccountOperations -from ._consumer_invitation_operations_async import ConsumerInvitationOperations -from ._data_set_operations_async import DataSetOperations -from ._data_set_mapping_operations_async import DataSetMappingOperations -from ._invitation_operations_async import InvitationOperations -from ._operation_operations_async import OperationOperations -from ._share_operations_async import ShareOperations -from ._provider_share_subscription_operations_async import ProviderShareSubscriptionOperations -from ._share_subscription_operations_async import ShareSubscriptionOperations -from ._consumer_source_data_set_operations_async import ConsumerSourceDataSetOperations -from ._synchronization_setting_operations_async import SynchronizationSettingOperations -from ._trigger_operations_async import TriggerOperations - -__all__ = [ - 'AccountOperations', - 'ConsumerInvitationOperations', - 'DataSetOperations', - 'DataSetMappingOperations', - 'InvitationOperations', - 'OperationOperations', - 'ShareOperations', - 'ProviderShareSubscriptionOperations', - 'ShareSubscriptionOperations', - 'ConsumerSourceDataSetOperations', - 'SynchronizationSettingOperations', - 'TriggerOperations', -] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_operation_operations_async.py b/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_operation_operations_async.py deleted file mode 100644 index 397c94d67b8..00000000000 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/aio/operations_async/_operation_operations_async.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. -# -------------------------------------------------------------------------- -from typing import Any, 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.pipeline import PipelineResponse -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest - -from ... import models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class OperationOperations: - """OperationOperations 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_share_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 - ) -> "models.OperationList": - """List of available operations. - - Lists the available operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: OperationList or the result of cls(response) - :rtype: ~data_share_management_client.models.OperationList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - else: - url = next_link - - # 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'] = 'application/json' - - # Construct and send request - 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]: - error = self._deserialize(models.DataShareError, 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.metadata = {'url': '/providers/Microsoft.DataShare/operations'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/models/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/models/__init__.py index 237bc58e2ae..91d6836b595 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/models/__init__.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/models/__init__.py @@ -36,6 +36,7 @@ from ._models_py3 import DataShareErrorInfo from ._models_py3 import DefaultDto from ._models_py3 import DimensionProperties + from ._models_py3 import EmailRegistration from ._models_py3 import Identity from ._models_py3 import Invitation from ._models_py3 import InvitationList @@ -43,6 +44,8 @@ from ._models_py3 import KustoClusterDataSetMapping from ._models_py3 import KustoDatabaseDataSet from ._models_py3 import KustoDatabaseDataSetMapping + from ._models_py3 import KustoTableDataSet + from ._models_py3 import KustoTableDataSetMapping from ._models_py3 import OperationList from ._models_py3 import OperationMetaLogSpecification from ._models_py3 import OperationMetaMetricSpecification @@ -66,15 +69,19 @@ from ._models_py3 import ShareSynchronizationList from ._models_py3 import SourceShareSynchronizationSetting from ._models_py3 import SourceShareSynchronizationSettingList - from ._models_py3 import SqlDBTableDataSet - from ._models_py3 import SqlDBTableDataSetMapping + from ._models_py3 import SqlDbTableDataSet + from ._models_py3 import SqlDbTableDataSetMapping from ._models_py3 import SqlDwTableDataSet from ._models_py3 import SqlDwTableDataSetMapping + from ._models_py3 import SynapseWorkspaceSqlPoolTableDataSet + from ._models_py3 import SynapseWorkspaceSqlPoolTableDataSetMapping from ._models_py3 import SynchronizationDetails from ._models_py3 import SynchronizationDetailsList from ._models_py3 import SynchronizationSetting from ._models_py3 import SynchronizationSettingList from ._models_py3 import Synchronize + from ._models_py3 import SystemData + from ._models_py3 import TableLevelSharingProperties from ._models_py3 import Trigger from ._models_py3 import TriggerList except (SyntaxError, ImportError): @@ -107,6 +114,7 @@ from ._models import DataShareErrorInfo # type: ignore from ._models import DefaultDto # type: ignore from ._models import DimensionProperties # type: ignore + from ._models import EmailRegistration # type: ignore from ._models import Identity # type: ignore from ._models import Invitation # type: ignore from ._models import InvitationList # type: ignore @@ -114,6 +122,8 @@ from ._models import KustoClusterDataSetMapping # type: ignore from ._models import KustoDatabaseDataSet # type: ignore from ._models import KustoDatabaseDataSetMapping # type: ignore + from ._models import KustoTableDataSet # type: ignore + from ._models import KustoTableDataSetMapping # type: ignore from ._models import OperationList # type: ignore from ._models import OperationMetaLogSpecification # type: ignore from ._models import OperationMetaMetricSpecification # type: ignore @@ -137,31 +147,43 @@ from ._models import ShareSynchronizationList # type: ignore from ._models import SourceShareSynchronizationSetting # type: ignore from ._models import SourceShareSynchronizationSettingList # type: ignore - from ._models import SqlDBTableDataSet # type: ignore - from ._models import SqlDBTableDataSetMapping # type: ignore + from ._models import SqlDbTableDataSet # type: ignore + from ._models import SqlDbTableDataSetMapping # type: ignore from ._models import SqlDwTableDataSet # type: ignore from ._models import SqlDwTableDataSetMapping # type: ignore + from ._models import SynapseWorkspaceSqlPoolTableDataSet # type: ignore + from ._models import SynapseWorkspaceSqlPoolTableDataSetMapping # type: ignore from ._models import SynchronizationDetails # type: ignore from ._models import SynchronizationDetailsList # type: ignore from ._models import SynchronizationSetting # type: ignore from ._models import SynchronizationSettingList # type: ignore from ._models import Synchronize # type: ignore + from ._models import SystemData # type: ignore + from ._models import TableLevelSharingProperties # type: ignore from ._models import Trigger # type: ignore from ._models import TriggerList # type: ignore from ._data_share_management_client_enums import ( + CreatedByType, + DataSetKind, + DataSetMappingKind, DataSetMappingStatus, DataSetType, InvitationStatus, - Kind, + LastModifiedByType, OutputType, ProvisioningState, RecurrenceInterval, + RegistrationStatus, ShareKind, ShareSubscriptionStatus, + SourceShareSynchronizationSettingKind, Status, SynchronizationMode, + SynchronizationSettingKind, + TriggerKind, TriggerStatus, + Type, ) __all__ = [ @@ -194,6 +216,7 @@ 'DataShareErrorInfo', 'DefaultDto', 'DimensionProperties', + 'EmailRegistration', 'Identity', 'Invitation', 'InvitationList', @@ -201,6 +224,8 @@ 'KustoClusterDataSetMapping', 'KustoDatabaseDataSet', 'KustoDatabaseDataSetMapping', + 'KustoTableDataSet', + 'KustoTableDataSetMapping', 'OperationList', 'OperationMetaLogSpecification', 'OperationMetaMetricSpecification', @@ -224,27 +249,39 @@ 'ShareSynchronizationList', 'SourceShareSynchronizationSetting', 'SourceShareSynchronizationSettingList', - 'SqlDBTableDataSet', - 'SqlDBTableDataSetMapping', + 'SqlDbTableDataSet', + 'SqlDbTableDataSetMapping', 'SqlDwTableDataSet', 'SqlDwTableDataSetMapping', + 'SynapseWorkspaceSqlPoolTableDataSet', + 'SynapseWorkspaceSqlPoolTableDataSetMapping', 'SynchronizationDetails', 'SynchronizationDetailsList', 'SynchronizationSetting', 'SynchronizationSettingList', 'Synchronize', + 'SystemData', + 'TableLevelSharingProperties', 'Trigger', 'TriggerList', + 'CreatedByType', + 'DataSetKind', + 'DataSetMappingKind', 'DataSetMappingStatus', 'DataSetType', 'InvitationStatus', - 'Kind', + 'LastModifiedByType', 'OutputType', 'ProvisioningState', 'RecurrenceInterval', + 'RegistrationStatus', 'ShareKind', 'ShareSubscriptionStatus', + 'SourceShareSynchronizationSettingKind', 'Status', 'SynchronizationMode', + 'SynchronizationSettingKind', + 'TriggerKind', 'TriggerStatus', + 'Type', ] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_data_share_management_client_enums.py b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_data_share_management_client_enums.py index a2a515c4266..b8206ad3f17 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_data_share_management_client_enums.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_data_share_management_client_enums.py @@ -6,123 +6,209 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum +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. + """ -class ProvisioningState(str, Enum): - """Provisioning state of the Account + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class DataSetKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Kind of data set. + """ + + BLOB = "Blob" + CONTAINER = "Container" + BLOB_FOLDER = "BlobFolder" + ADLS_GEN2_FILE_SYSTEM = "AdlsGen2FileSystem" + ADLS_GEN2_FOLDER = "AdlsGen2Folder" + ADLS_GEN2_FILE = "AdlsGen2File" + ADLS_GEN1_FOLDER = "AdlsGen1Folder" + ADLS_GEN1_FILE = "AdlsGen1File" + KUSTO_CLUSTER = "KustoCluster" + KUSTO_DATABASE = "KustoDatabase" + KUSTO_TABLE = "KustoTable" + SQL_DB_TABLE = "SqlDBTable" + SQL_DW_TABLE = "SqlDWTable" + SYNAPSE_WORKSPACE_SQL_POOL_TABLE = "SynapseWorkspaceSqlPoolTable" + +class DataSetMappingKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Kind of data set mapping. + """ + + BLOB = "Blob" + CONTAINER = "Container" + BLOB_FOLDER = "BlobFolder" + ADLS_GEN2_FILE_SYSTEM = "AdlsGen2FileSystem" + ADLS_GEN2_FOLDER = "AdlsGen2Folder" + ADLS_GEN2_FILE = "AdlsGen2File" + KUSTO_CLUSTER = "KustoCluster" + KUSTO_DATABASE = "KustoDatabase" + KUSTO_TABLE = "KustoTable" + SQL_DB_TABLE = "SqlDBTable" + SQL_DW_TABLE = "SqlDWTable" + SYNAPSE_WORKSPACE_SQL_POOL_TABLE = "SynapseWorkspaceSqlPoolTable" + +class DataSetMappingStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Gets the status of the data set mapping. """ - succeeded = "Succeeded" - creating = "Creating" - deleting = "Deleting" - moving = "Moving" - failed = "Failed" + OK = "Ok" + BROKEN = "Broken" -class InvitationStatus(str, Enum): +class DataSetType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of data set + """ + + BLOB = "Blob" + CONTAINER = "Container" + BLOB_FOLDER = "BlobFolder" + ADLS_GEN2_FILE_SYSTEM = "AdlsGen2FileSystem" + ADLS_GEN2_FOLDER = "AdlsGen2Folder" + ADLS_GEN2_FILE = "AdlsGen2File" + ADLS_GEN1_FOLDER = "AdlsGen1Folder" + ADLS_GEN1_FILE = "AdlsGen1File" + KUSTO_CLUSTER = "KustoCluster" + KUSTO_DATABASE = "KustoDatabase" + KUSTO_TABLE = "KustoTable" + SQL_DB_TABLE = "SqlDBTable" + SQL_DW_TABLE = "SqlDWTable" + SYNAPSE_WORKSPACE_SQL_POOL_TABLE = "SynapseWorkspaceSqlPoolTable" + +class InvitationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The status of the invitation. """ - pending = "Pending" - accepted = "Accepted" - rejected = "Rejected" - withdrawn = "Withdrawn" + PENDING = "Pending" + ACCEPTED = "Accepted" + REJECTED = "Rejected" + WITHDRAWN = "Withdrawn" -class Kind(str, Enum): - """Kind of data set. +class LastModifiedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that last modified the resource. """ - blob = "Blob" - container = "Container" - blob_folder = "BlobFolder" - adls_gen2_file_system = "AdlsGen2FileSystem" - adls_gen2_folder = "AdlsGen2Folder" - adls_gen2_file = "AdlsGen2File" - adls_gen1_folder = "AdlsGen1Folder" - adls_gen1_file = "AdlsGen1File" - kusto_cluster = "KustoCluster" - kusto_database = "KustoDatabase" - sql_db_table = "SqlDBTable" - sql_dw_table = "SqlDWTable" + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class OutputType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of output file + """ -class SynchronizationKind(str, Enum): - schedule_based = "ScheduleBased" + CSV = "Csv" + PARQUET = "Parquet" -class ShareKind(str, Enum): - """Share kind. +class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning state of the Account """ - copy_based = "CopyBased" - in_place = "InPlace" + SUCCEEDED = "Succeeded" + CREATING = "Creating" + DELETING = "Deleting" + MOVING = "Moving" + FAILED = "Failed" -class SynchronizationMode(str, Enum): - """Synchronization mode +class RecurrenceInterval(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Recurrence Interval + """ + + HOUR = "Hour" + DAY = "Day" + +class RegistrationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Registration status """ - incremental = "Incremental" - full_sync = "FullSync" + ACTIVATION_PENDING = "ActivationPending" + ACTIVATED = "Activated" + ACTIVATION_ATTEMPTS_EXHAUSTED = "ActivationAttemptsExhausted" -class DataSetType(str, Enum): - """Type of the data set +class ShareKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Share kind. """ - blob = "Blob" - container = "Container" - blob_folder = "BlobFolder" - adls_gen2_file_system = "AdlsGen2FileSystem" - adls_gen2_folder = "AdlsGen2Folder" - adls_gen2_file = "AdlsGen2File" - adls_gen1_folder = "AdlsGen1Folder" - adls_gen1_file = "AdlsGen1File" - kusto_cluster = "KustoCluster" - kusto_database = "KustoDatabase" - sql_db_table = "SqlDBTable" - sql_dw_table = "SqlDWTable" + COPY_BASED = "CopyBased" + IN_PLACE = "InPlace" -class ShareSubscriptionStatus(str, Enum): +class ShareSubscriptionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Gets the status of share subscription """ - active = "Active" - revoked = "Revoked" - source_deleted = "SourceDeleted" - revoking = "Revoking" + ACTIVE = "Active" + REVOKED = "Revoked" + SOURCE_DELETED = "SourceDeleted" + REVOKING = "Revoking" + +class SourceShareSynchronizationSettingKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Kind of synchronization setting on share. + """ + + SCHEDULE_BASED = "ScheduleBased" -class Status(str, Enum): +class Status(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Operation state of the long running operation. """ - accepted = "Accepted" - in_progress = "InProgress" - transient_failure = "TransientFailure" - succeeded = "Succeeded" - failed = "Failed" - canceled = "Canceled" + ACCEPTED = "Accepted" + IN_PROGRESS = "InProgress" + TRANSIENT_FAILURE = "TransientFailure" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" -class RecurrenceInterval(str, Enum): - """Recurrence Interval +class SynchronizationMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Synchronization mode """ - hour = "Hour" - day = "Day" + INCREMENTAL = "Incremental" + FULL_SYNC = "FullSync" -class TriggerStatus(str, Enum): - """Gets the trigger state +class SynchronizationSettingKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Kind of synchronization setting. """ - active = "Active" - inactive = "Inactive" - source_synchronization_setting_deleted = "SourceSynchronizationSettingDeleted" + SCHEDULE_BASED = "ScheduleBased" -class DataSetMappingStatus(str, Enum): - """Gets the status of the data set mapping. +class TriggerKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Kind of synchronization on trigger. + """ + + SCHEDULE_BASED = "ScheduleBased" + +class TriggerStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Gets the trigger state """ - ok = "Ok" - broken = "Broken" + ACTIVE = "Active" + INACTIVE = "Inactive" + SOURCE_SYNCHRONIZATION_SETTING_DELETED = "SourceSynchronizationSettingDeleted" -class OutputType(str, Enum): - """File output type +class Type(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Identity Type """ - csv = "Csv" - parquet = "Parquet" + SYSTEM_ASSIGNED = "SystemAssigned" diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models.py b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models.py index bee5d5e4df6..d280f607b73 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models.py @@ -10,35 +10,79 @@ import msrest.serialization -class DefaultDto(msrest.serialization.Model): +class ProxyDto(msrest.serialization.Model): + """Base data transfer object implementation for proxy resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProxyDto, self).__init__(**kwargs) + self.id = None + self.name = None + self.system_data = None + self.type = None + + +class DefaultDto(ProxyDto): """Base data transfer object implementation for default resources. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The resource id of the azure resource. :vartype id: str - :param location: Location of the azure resource. - :type location: str :ivar name: Name of the azure resource. :vartype name: str - :param tags: A set of tags. Tags on the azure resource. - :type tags: dict[str, str] + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str + :param location: Location of the azure resource. + :type location: str + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__( @@ -46,11 +90,8 @@ def __init__( **kwargs ): super(DefaultDto, self).__init__(**kwargs) - self.id = None self.location = kwargs.get('location', None) - self.name = None self.tags = kwargs.get('tags', None) - self.type = None class Account(DefaultDto): @@ -62,21 +103,23 @@ class Account(DefaultDto): :ivar id: The resource id of the azure resource. :vartype id: str - :param location: Location of the azure resource. - :type location: str :ivar name: Name of the azure resource. :vartype name: str - :param tags: A set of tags. Tags on the azure resource. - :type tags: dict[str, str] + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str + :param location: Location of the azure resource. + :type location: str + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] :param identity: Required. Identity Info on the Account. - :type identity: ~data_share_management_client.models.Identity + :type identity: ~azure.mgmt.datashare.models.Identity :ivar created_at: Time at which the account was created. :vartype created_at: ~datetime.datetime :ivar provisioning_state: Provisioning state of the Account. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :ivar user_email: Email of the user who created the resource. :vartype user_email: str :ivar user_name: Name of the user who created the resource. @@ -86,6 +129,7 @@ class Account(DefaultDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'identity': {'required': True}, 'created_at': {'readonly': True}, @@ -96,10 +140,11 @@ class Account(DefaultDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'identity', 'type': 'Identity'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, @@ -112,7 +157,7 @@ def __init__( **kwargs ): super(Account, self).__init__(**kwargs) - self.identity = kwargs.get('identity', None) + self.identity = kwargs['identity'] self.created_at = None self.provisioning_state = None self.user_email = None @@ -127,7 +172,7 @@ class AccountList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.Account] + :type value: list[~azure.mgmt.datashare.models.Account] """ _validation = { @@ -145,7 +190,7 @@ def __init__( ): super(AccountList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class AccountUpdateParameters(msrest.serialization.Model): @@ -167,46 +212,11 @@ def __init__( self.tags = kwargs.get('tags', None) -class ProxyDto(msrest.serialization.Model): - """Base data transfer object implementation for proxy resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The resource id of the azure resource. - :vartype id: str - :ivar name: Name of the azure resource. - :vartype name: str - :ivar type: Type of the azure resource. - :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(ProxyDto, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - class DataSet(ProxyDto): """A DataSet data transfer object. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AdlsGen1FileDataSet, AdlsGen1FolderDataSet, AdlsGen2FileDataSet, AdlsGen2FileSystemDataSet, AdlsGen2FolderDataSet, BlobDataSet, BlobFolderDataSet, BlobContainerDataSet, KustoClusterDataSet, KustoDatabaseDataSet, SqlDBTableDataSet, SqlDwTableDataSet. + sub-classes are: AdlsGen1FileDataSet, AdlsGen1FolderDataSet, AdlsGen2FileDataSet, AdlsGen2FileSystemDataSet, AdlsGen2FolderDataSet, BlobDataSet, BlobFolderDataSet, BlobContainerDataSet, KustoClusterDataSet, KustoDatabaseDataSet, KustoTableDataSet, SqlDbTableDataSet, SqlDwTableDataSet, SynapseWorkspaceSqlPoolTableDataSet. Variables are only populated by the server, and will be ignored when sending a request. @@ -216,18 +226,21 @@ class DataSet(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, } @@ -235,12 +248,13 @@ class DataSet(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, } _subtype_map = { - 'kind': {'AdlsGen1File': 'AdlsGen1FileDataSet', 'AdlsGen1Folder': 'AdlsGen1FolderDataSet', 'AdlsGen2File': 'AdlsGen2FileDataSet', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSet', 'AdlsGen2Folder': 'AdlsGen2FolderDataSet', 'Blob': 'BlobDataSet', 'BlobFolder': 'BlobFolderDataSet', 'Container': 'BlobContainerDataSet', 'KustoCluster': 'KustoClusterDataSet', 'KustoDatabase': 'KustoDatabaseDataSet', 'SqlDBTable': 'SqlDBTableDataSet', 'SqlDWTable': 'SqlDwTableDataSet'} + 'kind': {'AdlsGen1File': 'AdlsGen1FileDataSet', 'AdlsGen1Folder': 'AdlsGen1FolderDataSet', 'AdlsGen2File': 'AdlsGen2FileDataSet', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSet', 'AdlsGen2Folder': 'AdlsGen2FolderDataSet', 'Blob': 'BlobDataSet', 'BlobFolder': 'BlobFolderDataSet', 'Container': 'BlobContainerDataSet', 'KustoCluster': 'KustoClusterDataSet', 'KustoDatabase': 'KustoDatabaseDataSet', 'KustoTable': 'KustoTableDataSet', 'SqlDBTable': 'SqlDbTableDataSet', 'SqlDWTable': 'SqlDwTableDataSet', 'SynapseWorkspaceSqlPoolTable': 'SynapseWorkspaceSqlPoolTableDataSet'} } def __init__( @@ -248,7 +262,7 @@ def __init__( **kwargs ): super(DataSet, self).__init__(**kwargs) - self.kind = 'DataSet' + self.kind = 'DataSet' # type: str class AdlsGen1FileDataSet(DataSet): @@ -262,13 +276,15 @@ class AdlsGen1FileDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param account_name: Required. The ADLS account name. :type account_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -286,6 +302,7 @@ class AdlsGen1FileDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'account_name': {'required': True}, @@ -299,6 +316,7 @@ class AdlsGen1FileDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'account_name': {'key': 'properties.accountName', 'type': 'str'}, @@ -314,13 +332,13 @@ def __init__( **kwargs ): super(AdlsGen1FileDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen1File' - self.account_name = kwargs.get('account_name', None) + self.kind = 'AdlsGen1File' # type: str + self.account_name = kwargs['account_name'] self.data_set_id = None - self.file_name = kwargs.get('file_name', None) - self.folder_path = kwargs.get('folder_path', None) - self.resource_group = kwargs.get('resource_group', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.file_name = kwargs['file_name'] + self.folder_path = kwargs['folder_path'] + self.resource_group = kwargs['resource_group'] + self.subscription_id = kwargs['subscription_id'] class AdlsGen1FolderDataSet(DataSet): @@ -334,13 +352,15 @@ class AdlsGen1FolderDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param account_name: Required. The ADLS account name. :type account_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -356,6 +376,7 @@ class AdlsGen1FolderDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'account_name': {'required': True}, @@ -368,6 +389,7 @@ class AdlsGen1FolderDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'account_name': {'key': 'properties.accountName', 'type': 'str'}, @@ -382,12 +404,12 @@ def __init__( **kwargs ): super(AdlsGen1FolderDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen1Folder' - self.account_name = kwargs.get('account_name', None) + self.kind = 'AdlsGen1Folder' # type: str + self.account_name = kwargs['account_name'] self.data_set_id = None - self.folder_path = kwargs.get('folder_path', None) - self.resource_group = kwargs.get('resource_group', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.folder_path = kwargs['folder_path'] + self.resource_group = kwargs['resource_group'] + self.subscription_id = kwargs['subscription_id'] class AdlsGen2FileDataSet(DataSet): @@ -401,13 +423,15 @@ class AdlsGen2FileDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param file_path: Required. File path within the file system. @@ -425,6 +449,7 @@ class AdlsGen2FileDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -438,6 +463,7 @@ class AdlsGen2FileDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -453,20 +479,20 @@ def __init__( **kwargs ): super(AdlsGen2FileDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen2File' + self.kind = 'AdlsGen2File' # type: str self.data_set_id = None - self.file_path = kwargs.get('file_path', None) - self.file_system = kwargs.get('file_system', None) - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.file_path = kwargs['file_path'] + self.file_system = kwargs['file_system'] + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class DataSetMapping(ProxyDto): """A data set mapping data transfer object. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AdlsGen2FileDataSetMapping, AdlsGen2FileSystemDataSetMapping, AdlsGen2FolderDataSetMapping, BlobDataSetMapping, BlobFolderDataSetMapping, BlobContainerDataSetMapping, KustoClusterDataSetMapping, KustoDatabaseDataSetMapping, SqlDBTableDataSetMapping, SqlDwTableDataSetMapping. + sub-classes are: AdlsGen2FileDataSetMapping, AdlsGen2FileSystemDataSetMapping, AdlsGen2FolderDataSetMapping, BlobDataSetMapping, BlobFolderDataSetMapping, BlobContainerDataSetMapping, KustoClusterDataSetMapping, KustoDatabaseDataSetMapping, KustoTableDataSetMapping, SqlDbTableDataSetMapping, SqlDwTableDataSetMapping, SynapseWorkspaceSqlPoolTableDataSetMapping. Variables are only populated by the server, and will be ignored when sending a request. @@ -476,18 +502,21 @@ class DataSetMapping(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, } @@ -495,12 +524,13 @@ class DataSetMapping(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, } _subtype_map = { - 'kind': {'AdlsGen2File': 'AdlsGen2FileDataSetMapping', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSetMapping', 'AdlsGen2Folder': 'AdlsGen2FolderDataSetMapping', 'Blob': 'BlobDataSetMapping', 'BlobFolder': 'BlobFolderDataSetMapping', 'Container': 'BlobContainerDataSetMapping', 'KustoCluster': 'KustoClusterDataSetMapping', 'KustoDatabase': 'KustoDatabaseDataSetMapping', 'SqlDBTable': 'SqlDBTableDataSetMapping', 'SqlDWTable': 'SqlDwTableDataSetMapping'} + 'kind': {'AdlsGen2File': 'AdlsGen2FileDataSetMapping', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSetMapping', 'AdlsGen2Folder': 'AdlsGen2FolderDataSetMapping', 'Blob': 'BlobDataSetMapping', 'BlobFolder': 'BlobFolderDataSetMapping', 'Container': 'BlobContainerDataSetMapping', 'KustoCluster': 'KustoClusterDataSetMapping', 'KustoDatabase': 'KustoDatabaseDataSetMapping', 'KustoTable': 'KustoTableDataSetMapping', 'SqlDBTable': 'SqlDbTableDataSetMapping', 'SqlDWTable': 'SqlDwTableDataSetMapping', 'SynapseWorkspaceSqlPoolTable': 'SynapseWorkspaceSqlPoolTableDataSetMapping'} } def __init__( @@ -508,7 +538,7 @@ def __init__( **kwargs ): super(DataSetMapping, self).__init__(**kwargs) - self.kind = 'DataSetMapping' + self.kind = 'DataSetMapping' # type: str class AdlsGen2FileDataSetMapping(DataSetMapping): @@ -522,28 +552,29 @@ class AdlsGen2FileDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param file_path: Required. File path within the file system. :type file_path: str :param file_system: Required. File system to which the file belongs. :type file_system: str - :param output_type: Type of output file. Possible values include: 'Csv', 'Parquet'. - :type output_type: str or ~data_share_management_client.models.OutputType + :param output_type: Type of output file. Possible values include: "Csv", "Parquet". + :type output_type: str or ~azure.mgmt.datashare.models.OutputType :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -555,6 +586,7 @@ class AdlsGen2FileDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -570,6 +602,7 @@ class AdlsGen2FileDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -588,16 +621,16 @@ def __init__( **kwargs ): super(AdlsGen2FileDataSetMapping, self).__init__(**kwargs) - self.kind = 'AdlsGen2File' - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'AdlsGen2File' # type: str + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None - self.file_path = kwargs.get('file_path', None) - self.file_system = kwargs.get('file_system', None) + self.file_path = kwargs['file_path'] + self.file_system = kwargs['file_system'] self.output_type = kwargs.get('output_type', None) self.provisioning_state = None - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class AdlsGen2FileSystemDataSet(DataSet): @@ -611,13 +644,15 @@ class AdlsGen2FileSystemDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param file_system: Required. The file system name. @@ -633,6 +668,7 @@ class AdlsGen2FileSystemDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -645,6 +681,7 @@ class AdlsGen2FileSystemDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -659,12 +696,12 @@ def __init__( **kwargs ): super(AdlsGen2FileSystemDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen2FileSystem' + self.kind = 'AdlsGen2FileSystem' # type: str self.data_set_id = None - self.file_system = kwargs.get('file_system', None) - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.file_system = kwargs['file_system'] + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class AdlsGen2FileSystemDataSetMapping(DataSetMapping): @@ -678,24 +715,25 @@ class AdlsGen2FileSystemDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param file_system: Required. The file system name. :type file_system: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -707,6 +745,7 @@ class AdlsGen2FileSystemDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -721,6 +760,7 @@ class AdlsGen2FileSystemDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -737,14 +777,14 @@ def __init__( **kwargs ): super(AdlsGen2FileSystemDataSetMapping, self).__init__(**kwargs) - self.kind = 'AdlsGen2FileSystem' - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'AdlsGen2FileSystem' # type: str + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None - self.file_system = kwargs.get('file_system', None) + self.file_system = kwargs['file_system'] self.provisioning_state = None - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class AdlsGen2FolderDataSet(DataSet): @@ -758,13 +798,15 @@ class AdlsGen2FolderDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param file_system: Required. File system to which the folder belongs. @@ -782,6 +824,7 @@ class AdlsGen2FolderDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -795,6 +838,7 @@ class AdlsGen2FolderDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -810,13 +854,13 @@ def __init__( **kwargs ): super(AdlsGen2FolderDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen2Folder' + self.kind = 'AdlsGen2Folder' # type: str self.data_set_id = None - self.file_system = kwargs.get('file_system', None) - self.folder_path = kwargs.get('folder_path', None) - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.file_system = kwargs['file_system'] + self.folder_path = kwargs['folder_path'] + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class AdlsGen2FolderDataSetMapping(DataSetMapping): @@ -830,26 +874,27 @@ class AdlsGen2FolderDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param file_system: Required. File system to which the folder belongs. :type file_system: str :param folder_path: Required. Folder path within the file system. :type folder_path: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -861,6 +906,7 @@ class AdlsGen2FolderDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -876,6 +922,7 @@ class AdlsGen2FolderDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -893,15 +940,15 @@ def __init__( **kwargs ): super(AdlsGen2FolderDataSetMapping, self).__init__(**kwargs) - self.kind = 'AdlsGen2Folder' - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'AdlsGen2Folder' # type: str + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None - self.file_system = kwargs.get('file_system', None) - self.folder_path = kwargs.get('folder_path', None) + self.file_system = kwargs['file_system'] + self.folder_path = kwargs['folder_path'] self.provisioning_state = None - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class BlobContainerDataSet(DataSet): @@ -915,13 +962,15 @@ class BlobContainerDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param container_name: Required. BLOB Container name. :type container_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -937,6 +986,7 @@ class BlobContainerDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -949,6 +999,7 @@ class BlobContainerDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -963,12 +1014,12 @@ def __init__( **kwargs ): super(BlobContainerDataSet, self).__init__(**kwargs) - self.kind = 'Container' - self.container_name = kwargs.get('container_name', None) + self.kind = 'Container' # type: str + self.container_name = kwargs['container_name'] self.data_set_id = None - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class BlobContainerDataSetMapping(DataSetMapping): @@ -982,24 +1033,25 @@ class BlobContainerDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param container_name: Required. BLOB Container name. :type container_name: str :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -1011,6 +1063,7 @@ class BlobContainerDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1025,6 +1078,7 @@ class BlobContainerDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1041,14 +1095,14 @@ def __init__( **kwargs ): super(BlobContainerDataSetMapping, self).__init__(**kwargs) - self.kind = 'Container' - self.container_name = kwargs.get('container_name', None) - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'Container' # type: str + self.container_name = kwargs['container_name'] + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None self.provisioning_state = None - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class BlobDataSet(DataSet): @@ -1062,13 +1116,15 @@ class BlobDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param container_name: Required. Container that has the file path. :type container_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -1086,6 +1142,7 @@ class BlobDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1099,6 +1156,7 @@ class BlobDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1114,13 +1172,13 @@ def __init__( **kwargs ): super(BlobDataSet, self).__init__(**kwargs) - self.kind = 'Blob' - self.container_name = kwargs.get('container_name', None) + self.kind = 'Blob' # type: str + self.container_name = kwargs['container_name'] self.data_set_id = None - self.file_path = kwargs.get('file_path', None) - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.file_path = kwargs['file_path'] + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class BlobDataSetMapping(DataSetMapping): @@ -1134,28 +1192,29 @@ class BlobDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param container_name: Required. Container that has the file path. :type container_name: str :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param file_path: Required. File path within the source data set. :type file_path: str - :param output_type: File output type. Possible values include: 'Csv', 'Parquet'. - :type output_type: str or ~data_share_management_client.models.OutputType + :param output_type: File output type. Possible values include: "Csv", "Parquet". + :type output_type: str or ~azure.mgmt.datashare.models.OutputType :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -1167,6 +1226,7 @@ class BlobDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1182,6 +1242,7 @@ class BlobDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1200,16 +1261,16 @@ def __init__( **kwargs ): super(BlobDataSetMapping, self).__init__(**kwargs) - self.kind = 'Blob' - self.container_name = kwargs.get('container_name', None) - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'Blob' # type: str + self.container_name = kwargs['container_name'] + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None - self.file_path = kwargs.get('file_path', None) + self.file_path = kwargs['file_path'] self.output_type = kwargs.get('output_type', None) self.provisioning_state = None - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class BlobFolderDataSet(DataSet): @@ -1223,13 +1284,15 @@ class BlobFolderDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param container_name: Required. Container that has the file path. :type container_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -1247,6 +1310,7 @@ class BlobFolderDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1260,6 +1324,7 @@ class BlobFolderDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1275,13 +1340,13 @@ def __init__( **kwargs ): super(BlobFolderDataSet, self).__init__(**kwargs) - self.kind = 'BlobFolder' - self.container_name = kwargs.get('container_name', None) + self.kind = 'BlobFolder' # type: str + self.container_name = kwargs['container_name'] self.data_set_id = None - self.prefix = kwargs.get('prefix', None) - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.prefix = kwargs['prefix'] + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class BlobFolderDataSetMapping(DataSetMapping): @@ -1295,26 +1360,27 @@ class BlobFolderDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param container_name: Required. Container that has the file path. :type container_name: str :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param prefix: Required. Prefix for blob folder. :type prefix: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -1326,6 +1392,7 @@ class BlobFolderDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1341,6 +1408,7 @@ class BlobFolderDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1358,15 +1426,15 @@ def __init__( **kwargs ): super(BlobFolderDataSetMapping, self).__init__(**kwargs) - self.kind = 'BlobFolder' - self.container_name = kwargs.get('container_name', None) - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'BlobFolder' # type: str + self.container_name = kwargs['container_name'] + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None - self.prefix = kwargs.get('prefix', None) + self.prefix = kwargs['prefix'] self.provisioning_state = None - self.resource_group = kwargs.get('resource_group', None) - self.storage_account_name = kwargs.get('storage_account_name', None) - self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group = kwargs['resource_group'] + self.storage_account_name = kwargs['storage_account_name'] + self.subscription_id = kwargs['subscription_id'] class ConsumerInvitation(ProxyDto): @@ -1380,17 +1448,22 @@ class ConsumerInvitation(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar data_set_count: Number of data sets in a share. :vartype data_set_count: int :ivar description: Description shared when the invitation was created. :vartype description: str + :ivar expiration_date: The expiration date for the share subscription created by accepting the + invitation. + :vartype expiration_date: ~datetime.datetime :param invitation_id: Required. Unique id of the invitation. :type invitation_id: str - :ivar invitation_status: The status of the invitation. Possible values include: 'Pending', - 'Accepted', 'Rejected', 'Withdrawn'. - :vartype invitation_status: str or ~data_share_management_client.models.InvitationStatus + :ivar invitation_status: The status of the invitation. Possible values include: "Pending", + "Accepted", "Rejected", "Withdrawn". + :vartype invitation_status: str or ~azure.mgmt.datashare.models.InvitationStatus :ivar location: invitation location. :vartype location: str :ivar provider_email: Email of the provider who created the resource. @@ -1416,9 +1489,11 @@ class ConsumerInvitation(ProxyDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'data_set_count': {'readonly': True}, 'description': {'readonly': True}, + 'expiration_date': {'readonly': True}, 'invitation_id': {'required': True}, 'invitation_status': {'readonly': True}, 'location': {'readonly': True}, @@ -1436,9 +1511,11 @@ class ConsumerInvitation(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'data_set_count': {'key': 'properties.dataSetCount', 'type': 'int'}, 'description': {'key': 'properties.description', 'type': 'str'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, 'invitation_status': {'key': 'properties.invitationStatus', 'type': 'str'}, 'location': {'key': 'properties.location', 'type': 'str'}, @@ -1460,7 +1537,8 @@ def __init__( super(ConsumerInvitation, self).__init__(**kwargs) self.data_set_count = None self.description = None - self.invitation_id = kwargs.get('invitation_id', None) + self.expiration_date = None + self.invitation_id = kwargs['invitation_id'] self.invitation_status = None self.location = None self.provider_email = None @@ -1482,7 +1560,7 @@ class ConsumerInvitationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ConsumerInvitation] + :type value: list[~azure.mgmt.datashare.models.ConsumerInvitation] """ _validation = { @@ -1500,7 +1578,7 @@ def __init__( ): super(ConsumerInvitationList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class ConsumerSourceDataSet(ProxyDto): @@ -1512,6 +1590,8 @@ class ConsumerSourceDataSet(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar data_set_id: DataSet Id. @@ -1522,15 +1602,17 @@ class ConsumerSourceDataSet(ProxyDto): :vartype data_set_name: str :ivar data_set_path: DataSet path. :vartype data_set_path: str - :ivar data_set_type: Type of data set. Possible values include: 'Blob', 'Container', - 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', - 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable'. - :vartype data_set_type: str or ~data_share_management_client.models.DataSetType + :ivar data_set_type: Type of data set. Possible values include: "Blob", "Container", + "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", "AdlsGen1Folder", + "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :vartype data_set_type: str or ~azure.mgmt.datashare.models.DataSetType """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'data_set_id': {'readonly': True}, 'data_set_location': {'readonly': True}, @@ -1542,6 +1624,7 @@ class ConsumerSourceDataSet(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, 'data_set_location': {'key': 'properties.dataSetLocation', 'type': 'str'}, @@ -1570,7 +1653,7 @@ class ConsumerSourceDataSetList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ConsumerSourceDataSet] + :type value: list[~azure.mgmt.datashare.models.ConsumerSourceDataSet] """ _validation = { @@ -1588,7 +1671,7 @@ def __init__( ): super(ConsumerSourceDataSetList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class DataSetList(msrest.serialization.Model): @@ -1599,7 +1682,7 @@ class DataSetList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.DataSet] + :type value: list[~azure.mgmt.datashare.models.DataSet] """ _validation = { @@ -1617,7 +1700,7 @@ def __init__( ): super(DataSetList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class DataSetMappingList(msrest.serialization.Model): @@ -1628,7 +1711,7 @@ class DataSetMappingList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.DataSetMapping] + :type value: list[~azure.mgmt.datashare.models.DataSetMapping] """ _validation = { @@ -1646,7 +1729,7 @@ def __init__( ): super(DataSetMappingList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class DataShareError(msrest.serialization.Model): @@ -1655,7 +1738,7 @@ class DataShareError(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param error: Required. The data share error body. - :type error: ~data_share_management_client.models.DataShareErrorInfo + :type error: ~azure.mgmt.datashare.models.DataShareErrorInfo """ _validation = { @@ -1671,7 +1754,7 @@ def __init__( **kwargs ): super(DataShareError, self).__init__(**kwargs) - self.error = kwargs.get('error', None) + self.error = kwargs['error'] class DataShareErrorInfo(msrest.serialization.Model): @@ -1682,7 +1765,7 @@ class DataShareErrorInfo(msrest.serialization.Model): :param code: Required. Code of the error. :type code: str :param details: Nested details of the error model. - :type details: list[~data_share_management_client.models.DataShareErrorInfo] + :type details: list[~azure.mgmt.datashare.models.DataShareErrorInfo] :param message: Required. Message of the error. :type message: str :param target: Target of the error. @@ -1706,9 +1789,9 @@ def __init__( **kwargs ): super(DataShareErrorInfo, self).__init__(**kwargs) - self.code = kwargs.get('code', None) + self.code = kwargs['code'] self.details = kwargs.get('details', None) - self.message = kwargs.get('message', None) + self.message = kwargs['message'] self.target = kwargs.get('target', None) @@ -1735,6 +1818,51 @@ def __init__( self.name = kwargs.get('name', None) +class EmailRegistration(msrest.serialization.Model): + """Dto for tenant domain registration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param activation_code: Activation code for the registration. + :type activation_code: str + :ivar activation_expiration_date: Date of the activation expiration. + :vartype activation_expiration_date: ~datetime.datetime + :ivar email: The email to register. + :vartype email: str + :ivar registration_status: Registration status. Possible values include: "ActivationPending", + "Activated", "ActivationAttemptsExhausted". + :vartype registration_status: str or ~azure.mgmt.datashare.models.RegistrationStatus + :ivar tenant_id: The tenant to register. + :vartype tenant_id: str + """ + + _validation = { + 'activation_expiration_date': {'readonly': True}, + 'email': {'readonly': True}, + 'registration_status': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'activation_code': {'key': 'activationCode', 'type': 'str'}, + 'activation_expiration_date': {'key': 'activationExpirationDate', 'type': 'iso-8601'}, + 'email': {'key': 'email', 'type': 'str'}, + 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EmailRegistration, self).__init__(**kwargs) + self.activation_code = kwargs.get('activation_code', None) + self.activation_expiration_date = None + self.email = None + self.registration_status = None + self.tenant_id = None + + class Identity(msrest.serialization.Model): """Identity of resource. @@ -1744,14 +1872,13 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: Tenant Id. :vartype tenant_id: str - :ivar type: Identity Type. Default value: "SystemAssigned". - :vartype type: str + :param type: Identity Type. Possible values include: "SystemAssigned". + :type type: str or ~azure.mgmt.datashare.models.Type """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -1760,8 +1887,6 @@ class Identity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, **kwargs @@ -1769,6 +1894,7 @@ def __init__( super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = kwargs.get('type', None) class Invitation(ProxyDto): @@ -1780,13 +1906,17 @@ class Invitation(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str + :param expiration_date: The expiration date for the invitation and share subscription. + :type expiration_date: ~datetime.datetime :ivar invitation_id: unique invitation id. :vartype invitation_id: str - :ivar invitation_status: The status of the invitation. Possible values include: 'Pending', - 'Accepted', 'Rejected', 'Withdrawn'. - :vartype invitation_status: str or ~data_share_management_client.models.InvitationStatus + :ivar invitation_status: The status of the invitation. Possible values include: "Pending", + "Accepted", "Rejected", "Withdrawn". + :vartype invitation_status: str or ~azure.mgmt.datashare.models.InvitationStatus :ivar responded_at: The time the recipient responded to the invitation. :vartype responded_at: ~datetime.datetime :ivar sent_at: Gets the time at which the invitation was sent. @@ -1808,6 +1938,7 @@ class Invitation(ProxyDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'invitation_id': {'readonly': True}, 'invitation_status': {'readonly': True}, @@ -1820,7 +1951,9 @@ class Invitation(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, 'invitation_status': {'key': 'properties.invitationStatus', 'type': 'str'}, 'responded_at': {'key': 'properties.respondedAt', 'type': 'iso-8601'}, @@ -1837,6 +1970,7 @@ def __init__( **kwargs ): super(Invitation, self).__init__(**kwargs) + self.expiration_date = kwargs.get('expiration_date', None) self.invitation_id = None self.invitation_status = None self.responded_at = None @@ -1856,7 +1990,7 @@ class InvitationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.Invitation] + :type value: list[~azure.mgmt.datashare.models.Invitation] """ _validation = { @@ -1874,7 +2008,7 @@ def __init__( ): super(InvitationList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class KustoClusterDataSet(DataSet): @@ -1888,13 +2022,15 @@ class KustoClusterDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param kusto_cluster_resource_id: Required. Resource id of the kusto cluster. @@ -1902,13 +2038,14 @@ class KustoClusterDataSet(DataSet): :ivar location: Location of the kusto cluster. :vartype location: str :ivar provisioning_state: Provisioning state of the kusto cluster data set. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + include: "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -1920,6 +2057,7 @@ class KustoClusterDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -1933,9 +2071,9 @@ def __init__( **kwargs ): super(KustoClusterDataSet, self).__init__(**kwargs) - self.kind = 'KustoCluster' + self.kind = 'KustoCluster' # type: str self.data_set_id = None - self.kusto_cluster_resource_id = kwargs.get('kusto_cluster_resource_id', None) + self.kusto_cluster_resource_id = kwargs['kusto_cluster_resource_id'] self.location = None self.provisioning_state = None @@ -1951,31 +2089,33 @@ class KustoClusterDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. :type kusto_cluster_resource_id: str :ivar location: Location of the sink kusto cluster. :vartype location: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -1988,6 +2128,7 @@ class KustoClusterDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -2002,10 +2143,10 @@ def __init__( **kwargs ): super(KustoClusterDataSetMapping, self).__init__(**kwargs) - self.kind = 'KustoCluster' - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'KustoCluster' # type: str + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None - self.kusto_cluster_resource_id = kwargs.get('kusto_cluster_resource_id', None) + self.kusto_cluster_resource_id = kwargs['kusto_cluster_resource_id'] self.location = None self.provisioning_state = None @@ -2021,13 +2162,15 @@ class KustoDatabaseDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param kusto_database_resource_id: Required. Resource id of the kusto database. @@ -2035,13 +2178,14 @@ class KustoDatabaseDataSet(DataSet): :ivar location: Location of the kusto cluster. :vartype location: str :ivar provisioning_state: Provisioning state of the kusto database data set. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + include: "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -2053,6 +2197,7 @@ class KustoDatabaseDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -2066,9 +2211,9 @@ def __init__( **kwargs ): super(KustoDatabaseDataSet, self).__init__(**kwargs) - self.kind = 'KustoDatabase' + self.kind = 'KustoDatabase' # type: str self.data_set_id = None - self.kusto_database_resource_id = kwargs.get('kusto_database_resource_id', None) + self.kusto_database_resource_id = kwargs['kusto_database_resource_id'] self.location = None self.provisioning_state = None @@ -2084,31 +2229,33 @@ class KustoDatabaseDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. :type kusto_cluster_resource_id: str :ivar location: Location of the sink kusto cluster. :vartype location: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -2121,6 +2268,7 @@ class KustoDatabaseDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -2135,10 +2283,156 @@ def __init__( **kwargs ): super(KustoDatabaseDataSetMapping, self).__init__(**kwargs) - self.kind = 'KustoDatabase' - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'KustoDatabase' # type: str + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None - self.kusto_cluster_resource_id = kwargs.get('kusto_cluster_resource_id', None) + self.kusto_cluster_resource_id = kwargs['kusto_cluster_resource_id'] + self.location = None + self.provisioning_state = None + + +class KustoTableDataSet(DataSet): + """A kusto table data set. + + 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 id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param kusto_database_resource_id: Required. Resource id of the kusto database. + :type kusto_database_resource_id: str + :ivar location: Location of the kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the kusto table data set. Possible values + include: "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param table_level_sharing_properties: Required. Table level sharing properties for kusto + database. + :type table_level_sharing_properties: ~azure.mgmt.datashare.models.TableLevelSharingProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'kusto_database_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'table_level_sharing_properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'kusto_database_resource_id': {'key': 'properties.kustoDatabaseResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'table_level_sharing_properties': {'key': 'properties.tableLevelSharingProperties', 'type': 'TableLevelSharingProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(KustoTableDataSet, self).__init__(**kwargs) + self.kind = 'KustoTable' # type: str + self.data_set_id = None + self.kusto_database_resource_id = kwargs['kusto_database_resource_id'] + self.location = None + self.provisioning_state = None + self.table_level_sharing_properties = kwargs['table_level_sharing_properties'] + + +class KustoTableDataSetMapping(DataSetMapping): + """A Kusto database data set mapping. + + 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 id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus + :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. + :type kusto_cluster_resource_id: str + :ivar location: Location of the sink kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'kusto_cluster_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'kusto_cluster_resource_id': {'key': 'properties.kustoClusterResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(KustoTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'KustoTable' # type: str + self.data_set_id = kwargs['data_set_id'] + self.data_set_mapping_status = None + self.kusto_cluster_resource_id = kwargs['kusto_cluster_resource_id'] self.location = None self.provisioning_state = None @@ -2151,7 +2445,7 @@ class OperationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.OperationModel] + :type value: list[~azure.mgmt.datashare.models.OperationModel] """ _validation = { @@ -2169,7 +2463,7 @@ def __init__( ): super(OperationList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class OperationMetaLogSpecification(msrest.serialization.Model): @@ -2205,13 +2499,15 @@ class OperationMetaMetricSpecification(msrest.serialization.Model): :param aggregation_type: aggregation type of metric. :type aggregation_type: str :param dimensions: properties for dimension. - :type dimensions: list[~data_share_management_client.models.DimensionProperties] + :type dimensions: list[~azure.mgmt.datashare.models.DimensionProperties] :param display_description: description of the metric. :type display_description: str :param display_name: localized name of the metric. :type display_name: str :param enable_regional_mdm_account: enable regional mdm account. :type enable_regional_mdm_account: str + :param fill_gap_with_zero: fill gap with zero. + :type fill_gap_with_zero: bool :param internal_metric_name: internal metric name. :type internal_metric_name: str :param name: name of the metric. @@ -2233,6 +2529,7 @@ class OperationMetaMetricSpecification(msrest.serialization.Model): 'display_description': {'key': 'displayDescription', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'internal_metric_name': {'key': 'internalMetricName', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, @@ -2251,6 +2548,7 @@ def __init__( self.display_description = kwargs.get('display_description', None) self.display_name = kwargs.get('display_name', None) self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) self.internal_metric_name = kwargs.get('internal_metric_name', None) self.name = kwargs.get('name', None) self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) @@ -2263,11 +2561,10 @@ class OperationMetaServiceSpecification(msrest.serialization.Model): """The operation meta service specification. :param log_specifications: log specifications for the operation. - :type log_specifications: - list[~data_share_management_client.models.OperationMetaLogSpecification] + :type log_specifications: list[~azure.mgmt.datashare.models.OperationMetaLogSpecification] :param metric_specifications: metric specifications for the operation. :type metric_specifications: - list[~data_share_management_client.models.OperationMetaMetricSpecification] + list[~azure.mgmt.datashare.models.OperationMetaMetricSpecification] """ _attribute_map = { @@ -2288,14 +2585,13 @@ class OperationModel(msrest.serialization.Model): """The response model for get operations. :param display: Properties on the operation. - :type display: ~data_share_management_client.models.OperationModelProperties + :type display: ~azure.mgmt.datashare.models.OperationModelProperties :param name: Operation name for display purposes. :type name: str :param origin: origin of the operation. :type origin: str :param service_specification: meta service specification. - :type service_specification: - ~data_share_management_client.models.OperationMetaServiceSpecification + :type service_specification: ~azure.mgmt.datashare.models.OperationMetaServiceSpecification """ _attribute_map = { @@ -2355,12 +2651,12 @@ class OperationResponse(msrest.serialization.Model): :param end_time: start time. :type end_time: ~datetime.datetime :param error: The error property when status is failed. - :type error: ~data_share_management_client.models.DataShareErrorInfo + :type error: ~azure.mgmt.datashare.models.DataShareErrorInfo :param start_time: start time. :type start_time: ~datetime.datetime :param status: Required. Operation state of the long running operation. Possible values - include: 'Accepted', 'InProgress', 'TransientFailure', 'Succeeded', 'Failed', 'Canceled'. - :type status: str or ~data_share_management_client.models.Status + include: "Accepted", "InProgress", "TransientFailure", "Succeeded", "Failed", "Canceled". + :type status: str or ~azure.mgmt.datashare.models.Status """ _validation = { @@ -2382,7 +2678,7 @@ def __init__( self.end_time = kwargs.get('end_time', None) self.error = kwargs.get('error', None) self.start_time = kwargs.get('start_time', None) - self.status = kwargs.get('status', None) + self.status = kwargs['status'] class ProviderShareSubscription(ProxyDto): @@ -2394,6 +2690,8 @@ class ProviderShareSubscription(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar consumer_email: Email of the consumer who created the share subscription. @@ -2404,6 +2702,8 @@ class ProviderShareSubscription(ProxyDto): :vartype consumer_tenant_name: str :ivar created_at: created at. :vartype created_at: ~datetime.datetime + :param expiration_date: Expiration date of the share subscription in UTC format. + :type expiration_date: ~datetime.datetime :ivar provider_email: Email of the provider who created the share. :vartype provider_email: str :ivar provider_name: Name of the provider who created the share. @@ -2413,14 +2713,14 @@ class ProviderShareSubscription(ProxyDto): :ivar share_subscription_object_id: share Subscription Object Id. :vartype share_subscription_object_id: str :ivar share_subscription_status: Gets the status of share subscription. Possible values - include: 'Active', 'Revoked', 'SourceDeleted', 'Revoking'. - :vartype share_subscription_status: str or - ~data_share_management_client.models.ShareSubscriptionStatus + include: "Active", "Revoked", "SourceDeleted", "Revoking". + :vartype share_subscription_status: str or ~azure.mgmt.datashare.models.ShareSubscriptionStatus """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'consumer_email': {'readonly': True}, 'consumer_name': {'readonly': True}, @@ -2436,11 +2736,13 @@ class ProviderShareSubscription(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'consumer_email': {'key': 'properties.consumerEmail', 'type': 'str'}, 'consumer_name': {'key': 'properties.consumerName', 'type': 'str'}, 'consumer_tenant_name': {'key': 'properties.consumerTenantName', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, 'shared_at': {'key': 'properties.sharedAt', 'type': 'iso-8601'}, @@ -2457,6 +2759,7 @@ def __init__( self.consumer_name = None self.consumer_tenant_name = None self.created_at = None + self.expiration_date = kwargs.get('expiration_date', None) self.provider_email = None self.provider_name = None self.shared_at = None @@ -2472,7 +2775,7 @@ class ProviderShareSubscriptionList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ProviderShareSubscription] + :type value: list[~azure.mgmt.datashare.models.ProviderShareSubscription] """ _validation = { @@ -2490,7 +2793,7 @@ def __init__( ): super(ProviderShareSubscriptionList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class SourceShareSynchronizationSetting(msrest.serialization.Model): @@ -2501,11 +2804,9 @@ class SourceShareSynchronizationSetting(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization setting on share.Constant filled by server. + Possible values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.SourceShareSynchronizationSettingKind """ _validation = { @@ -2525,7 +2826,7 @@ def __init__( **kwargs ): super(SourceShareSynchronizationSetting, self).__init__(**kwargs) - self.kind = None + self.kind = None # type: Optional[str] class ScheduledSourceSynchronizationSetting(SourceShareSynchronizationSetting): @@ -2533,13 +2834,11 @@ class ScheduledSourceSynchronizationSetting(SourceShareSynchronizationSetting): All required parameters must be populated in order to send to Azure. - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind - :param recurrence_interval: Recurrence Interval. Possible values include: 'Hour', 'Day'. - :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + :param kind: Required. Kind of synchronization setting on share.Constant filled by server. + Possible values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.SourceShareSynchronizationSettingKind + :param recurrence_interval: Recurrence Interval. Possible values include: "Hour", "Day". + :type recurrence_interval: str or ~azure.mgmt.datashare.models.RecurrenceInterval :param synchronization_time: Synchronization time. :type synchronization_time: ~datetime.datetime """ @@ -2559,7 +2858,7 @@ def __init__( **kwargs ): super(ScheduledSourceSynchronizationSetting, self).__init__(**kwargs) - self.kind = 'ScheduleBased' + self.kind = 'ScheduleBased' # type: str self.recurrence_interval = kwargs.get('recurrence_interval', None) self.synchronization_time = kwargs.get('synchronization_time', None) @@ -2578,18 +2877,19 @@ class SynchronizationSetting(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization setting.Constant filled by server. Possible + values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.SynchronizationSettingKind """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, } @@ -2597,6 +2897,7 @@ class SynchronizationSetting(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, } @@ -2610,7 +2911,7 @@ def __init__( **kwargs ): super(SynchronizationSetting, self).__init__(**kwargs) - self.kind = 'SynchronizationSetting' + self.kind = 'SynchronizationSetting' # type: str class ScheduledSynchronizationSetting(SynchronizationSetting): @@ -2624,21 +2925,21 @@ class ScheduledSynchronizationSetting(SynchronizationSetting): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization setting.Constant filled by server. Possible + values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.SynchronizationSettingKind :ivar created_at: Time at which the synchronization setting was created. :vartype created_at: ~datetime.datetime :ivar provisioning_state: Gets or sets the provisioning state. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState - :param recurrence_interval: Required. Recurrence Interval. Possible values include: 'Hour', - 'Day'. - :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param recurrence_interval: Required. Recurrence Interval. Possible values include: "Hour", + "Day". + :type recurrence_interval: str or ~azure.mgmt.datashare.models.RecurrenceInterval :param synchronization_time: Required. Synchronization time. :type synchronization_time: ~datetime.datetime :ivar user_name: Name of the user who created the synchronization setting. @@ -2648,6 +2949,7 @@ class ScheduledSynchronizationSetting(SynchronizationSetting): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'created_at': {'readonly': True}, @@ -2660,6 +2962,7 @@ class ScheduledSynchronizationSetting(SynchronizationSetting): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, @@ -2674,11 +2977,11 @@ def __init__( **kwargs ): super(ScheduledSynchronizationSetting, self).__init__(**kwargs) - self.kind = 'ScheduleBased' + self.kind = 'ScheduleBased' # type: str self.created_at = None self.provisioning_state = None - self.recurrence_interval = kwargs.get('recurrence_interval', None) - self.synchronization_time = kwargs.get('synchronization_time', None) + self.recurrence_interval = kwargs['recurrence_interval'] + self.synchronization_time = kwargs['synchronization_time'] self.user_name = None @@ -2696,18 +2999,19 @@ class Trigger(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization on trigger.Constant filled by server. Possible + values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.TriggerKind """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, } @@ -2715,6 +3019,7 @@ class Trigger(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, } @@ -2728,7 +3033,7 @@ def __init__( **kwargs ): super(Trigger, self).__init__(**kwargs) - self.kind = 'Trigger' + self.kind = 'Trigger' # type: str class ScheduledTrigger(Trigger): @@ -2742,29 +3047,29 @@ class ScheduledTrigger(Trigger): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization on trigger.Constant filled by server. Possible + values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.TriggerKind :ivar created_at: Time at which the trigger was created. :vartype created_at: ~datetime.datetime - :ivar provisioning_state: Gets the provisioning state. Possible values include: 'Succeeded', - 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState - :param recurrence_interval: Required. Recurrence Interval. Possible values include: 'Hour', - 'Day'. - :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval - :param synchronization_mode: Synchronization mode. Possible values include: 'Incremental', - 'FullSync'. - :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :ivar provisioning_state: Gets the provisioning state. Possible values include: "Succeeded", + "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param recurrence_interval: Required. Recurrence Interval. Possible values include: "Hour", + "Day". + :type recurrence_interval: str or ~azure.mgmt.datashare.models.RecurrenceInterval + :param synchronization_mode: Synchronization mode. Possible values include: "Incremental", + "FullSync". + :type synchronization_mode: str or ~azure.mgmt.datashare.models.SynchronizationMode :param synchronization_time: Required. Synchronization time. :type synchronization_time: ~datetime.datetime - :ivar trigger_status: Gets the trigger state. Possible values include: 'Active', 'Inactive', - 'SourceSynchronizationSettingDeleted'. - :vartype trigger_status: str or ~data_share_management_client.models.TriggerStatus + :ivar trigger_status: Gets the trigger state. Possible values include: "Active", "Inactive", + "SourceSynchronizationSettingDeleted". + :vartype trigger_status: str or ~azure.mgmt.datashare.models.TriggerStatus :ivar user_name: Name of the user who created the trigger. :vartype user_name: str """ @@ -2772,6 +3077,7 @@ class ScheduledTrigger(Trigger): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'created_at': {'readonly': True}, @@ -2785,6 +3091,7 @@ class ScheduledTrigger(Trigger): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, @@ -2801,12 +3108,12 @@ def __init__( **kwargs ): super(ScheduledTrigger, self).__init__(**kwargs) - self.kind = 'ScheduleBased' + self.kind = 'ScheduleBased' # type: str self.created_at = None self.provisioning_state = None - self.recurrence_interval = kwargs.get('recurrence_interval', None) + self.recurrence_interval = kwargs['recurrence_interval'] self.synchronization_mode = kwargs.get('synchronization_mode', None) - self.synchronization_time = kwargs.get('synchronization_time', None) + self.synchronization_time = kwargs['synchronization_time'] self.trigger_status = None self.user_name = None @@ -2820,6 +3127,8 @@ class Share(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar created_at: Time at which the share was created. @@ -2827,10 +3136,10 @@ class Share(ProxyDto): :param description: Share description. :type description: str :ivar provisioning_state: Gets or sets the provisioning state. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState - :param share_kind: Share kind. Possible values include: 'CopyBased', 'InPlace'. - :type share_kind: str or ~data_share_management_client.models.ShareKind + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param share_kind: Share kind. Possible values include: "CopyBased", "InPlace". + :type share_kind: str or ~azure.mgmt.datashare.models.ShareKind :param terms: Share terms. :type terms: str :ivar user_email: Email of the user who created the resource. @@ -2842,6 +3151,7 @@ class Share(ProxyDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'created_at': {'readonly': True}, 'provisioning_state': {'readonly': True}, @@ -2852,6 +3162,7 @@ class Share(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, 'description': {'key': 'properties.description', 'type': 'str'}, @@ -2884,7 +3195,7 @@ class ShareList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.Share] + :type value: list[~azure.mgmt.datashare.models.Share] """ _validation = { @@ -2902,7 +3213,7 @@ def __init__( ): super(ShareList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class ShareSubscription(ProxyDto): @@ -2916,10 +3227,14 @@ class ShareSubscription(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar created_at: Time at which the share subscription was created. :vartype created_at: ~datetime.datetime + :param expiration_date: The expiration date of the share subscription. + :type expiration_date: ~datetime.datetime :param invitation_id: Required. The invitation id. :type invitation_id: str :ivar provider_email: Email of the provider who created the resource. @@ -2929,18 +3244,17 @@ class ShareSubscription(ProxyDto): :ivar provider_tenant_name: Tenant name of the provider who created the resource. :vartype provider_tenant_name: str :ivar provisioning_state: Provisioning state of the share subscription. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + include: "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :ivar share_description: Description of share. :vartype share_description: str - :ivar share_kind: Kind of share. Possible values include: 'CopyBased', 'InPlace'. - :vartype share_kind: str or ~data_share_management_client.models.ShareKind + :ivar share_kind: Kind of share. Possible values include: "CopyBased", "InPlace". + :vartype share_kind: str or ~azure.mgmt.datashare.models.ShareKind :ivar share_name: Name of the share. :vartype share_name: str :ivar share_subscription_status: Gets the current status of share subscription. Possible values - include: 'Active', 'Revoked', 'SourceDeleted', 'Revoking'. - :vartype share_subscription_status: str or - ~data_share_management_client.models.ShareSubscriptionStatus + include: "Active", "Revoked", "SourceDeleted", "Revoking". + :vartype share_subscription_status: str or ~azure.mgmt.datashare.models.ShareSubscriptionStatus :ivar share_terms: Terms of a share. :vartype share_terms: str :param source_share_location: Required. Source share location. @@ -2954,6 +3268,7 @@ class ShareSubscription(ProxyDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'created_at': {'readonly': True}, 'invitation_id': {'required': True}, @@ -2974,8 +3289,10 @@ class ShareSubscription(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, @@ -2997,7 +3314,8 @@ def __init__( ): super(ShareSubscription, self).__init__(**kwargs) self.created_at = None - self.invitation_id = kwargs.get('invitation_id', None) + self.expiration_date = kwargs.get('expiration_date', None) + self.invitation_id = kwargs['invitation_id'] self.provider_email = None self.provider_name = None self.provider_tenant_name = None @@ -3007,7 +3325,7 @@ def __init__( self.share_name = None self.share_subscription_status = None self.share_terms = None - self.source_share_location = kwargs.get('source_share_location', None) + self.source_share_location = kwargs['source_share_location'] self.user_email = None self.user_name = None @@ -3020,7 +3338,7 @@ class ShareSubscriptionList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ShareSubscription] + :type value: list[~azure.mgmt.datashare.models.ShareSubscription] """ _validation = { @@ -3038,7 +3356,7 @@ def __init__( ): super(ShareSubscriptionList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class ShareSubscriptionSynchronization(msrest.serialization.Model): @@ -3060,9 +3378,9 @@ class ShareSubscriptionSynchronization(msrest.serialization.Model): :vartype status: str :param synchronization_id: Required. Synchronization id. :type synchronization_id: str - :ivar synchronization_mode: Synchronization Mode. Possible values include: 'Incremental', - 'FullSync'. - :vartype synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :ivar synchronization_mode: Synchronization Mode. Possible values include: "Incremental", + "FullSync". + :vartype synchronization_mode: str or ~azure.mgmt.datashare.models.SynchronizationMode """ _validation = { @@ -3095,7 +3413,7 @@ def __init__( self.message = None self.start_time = None self.status = None - self.synchronization_id = kwargs.get('synchronization_id', None) + self.synchronization_id = kwargs['synchronization_id'] self.synchronization_mode = None @@ -3107,7 +3425,7 @@ class ShareSubscriptionSynchronizationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ShareSubscriptionSynchronization] + :type value: list[~azure.mgmt.datashare.models.ShareSubscriptionSynchronization] """ _validation = { @@ -3125,7 +3443,7 @@ def __init__( ): super(ShareSubscriptionSynchronizationList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class ShareSynchronization(msrest.serialization.Model): @@ -3151,9 +3469,9 @@ class ShareSynchronization(msrest.serialization.Model): :type status: str :param synchronization_id: Synchronization id. :type synchronization_id: str - :ivar synchronization_mode: Synchronization mode. Possible values include: 'Incremental', - 'FullSync'. - :vartype synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :ivar synchronization_mode: Synchronization mode. Possible values include: "Incremental", + "FullSync". + :vartype synchronization_mode: str or ~azure.mgmt.datashare.models.SynchronizationMode """ _validation = { @@ -3198,7 +3516,7 @@ class ShareSynchronizationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ShareSynchronization] + :type value: list[~azure.mgmt.datashare.models.ShareSynchronization] """ _validation = { @@ -3216,7 +3534,7 @@ def __init__( ): super(ShareSynchronizationList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class SourceShareSynchronizationSettingList(msrest.serialization.Model): @@ -3227,7 +3545,7 @@ class SourceShareSynchronizationSettingList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.SourceShareSynchronizationSetting] + :type value: list[~azure.mgmt.datashare.models.SourceShareSynchronizationSetting] """ _validation = { @@ -3245,10 +3563,10 @@ def __init__( ): super(SourceShareSynchronizationSettingList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] -class SqlDBTableDataSet(DataSet): +class SqlDbTableDataSet(DataSet): """A SQL DB table data set. Variables are only populated by the server, and will be ignored when sending a request. @@ -3259,13 +3577,15 @@ class SqlDBTableDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param database_name: Database name of the source data set. :type database_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -3281,6 +3601,7 @@ class SqlDBTableDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -3289,6 +3610,7 @@ class SqlDBTableDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, @@ -3302,8 +3624,8 @@ def __init__( self, **kwargs ): - super(SqlDBTableDataSet, self).__init__(**kwargs) - self.kind = 'SqlDBTable' + super(SqlDbTableDataSet, self).__init__(**kwargs) + self.kind = 'SqlDBTable' # type: str self.database_name = kwargs.get('database_name', None) self.data_set_id = None self.schema_name = kwargs.get('schema_name', None) @@ -3311,7 +3633,7 @@ def __init__( self.table_name = kwargs.get('table_name', None) -class SqlDBTableDataSetMapping(DataSetMapping): +class SqlDbTableDataSetMapping(DataSetMapping): """A SQL DB Table data set mapping. Variables are only populated by the server, and will be ignored when sending a request. @@ -3322,24 +3644,25 @@ class SqlDBTableDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param database_name: Required. DatabaseName name of the sink data set. :type database_name: str :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param schema_name: Required. Schema of the table. Default value is dbo. :type schema_name: str :param sql_server_resource_id: Required. Resource id of SQL server. @@ -3351,6 +3674,7 @@ class SqlDBTableDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'database_name': {'required': True}, @@ -3365,6 +3689,7 @@ class SqlDBTableDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, @@ -3380,15 +3705,15 @@ def __init__( self, **kwargs ): - super(SqlDBTableDataSetMapping, self).__init__(**kwargs) - self.kind = 'SqlDBTable' - self.database_name = kwargs.get('database_name', None) - self.data_set_id = kwargs.get('data_set_id', None) + super(SqlDbTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'SqlDBTable' # type: str + self.database_name = kwargs['database_name'] + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None self.provisioning_state = None - self.schema_name = kwargs.get('schema_name', None) - self.sql_server_resource_id = kwargs.get('sql_server_resource_id', None) - self.table_name = kwargs.get('table_name', None) + self.schema_name = kwargs['schema_name'] + self.sql_server_resource_id = kwargs['sql_server_resource_id'] + self.table_name = kwargs['table_name'] class SqlDwTableDataSet(DataSet): @@ -3402,13 +3727,15 @@ class SqlDwTableDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param data_warehouse_name: DataWarehouse name of the source data set. @@ -3424,6 +3751,7 @@ class SqlDwTableDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -3432,6 +3760,7 @@ class SqlDwTableDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -3446,7 +3775,7 @@ def __init__( **kwargs ): super(SqlDwTableDataSet, self).__init__(**kwargs) - self.kind = 'SqlDWTable' + self.kind = 'SqlDWTable' # type: str self.data_set_id = None self.data_warehouse_name = kwargs.get('data_warehouse_name', None) self.schema_name = kwargs.get('schema_name', None) @@ -3465,24 +3794,25 @@ class SqlDwTableDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param data_warehouse_name: Required. DataWarehouse name of the source data set. :type data_warehouse_name: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param schema_name: Required. Schema of the table. Default value is dbo. :type schema_name: str :param sql_server_resource_id: Required. Resource id of SQL server. @@ -3494,6 +3824,7 @@ class SqlDwTableDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -3508,6 +3839,7 @@ class SqlDwTableDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -3524,14 +3856,140 @@ def __init__( **kwargs ): super(SqlDwTableDataSetMapping, self).__init__(**kwargs) - self.kind = 'SqlDWTable' - self.data_set_id = kwargs.get('data_set_id', None) + self.kind = 'SqlDWTable' # type: str + self.data_set_id = kwargs['data_set_id'] self.data_set_mapping_status = None - self.data_warehouse_name = kwargs.get('data_warehouse_name', None) + self.data_warehouse_name = kwargs['data_warehouse_name'] self.provisioning_state = None - self.schema_name = kwargs.get('schema_name', None) - self.sql_server_resource_id = kwargs.get('sql_server_resource_id', None) - self.table_name = kwargs.get('table_name', None) + self.schema_name = kwargs['schema_name'] + self.sql_server_resource_id = kwargs['sql_server_resource_id'] + self.table_name = kwargs['table_name'] + + +class SynapseWorkspaceSqlPoolTableDataSet(DataSet): + """A Synapse Workspace Sql Pool Table data set. + + 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 id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param synapse_workspace_sql_pool_table_resource_id: Required. Resource id of the Synapse + Workspace SQL Pool Table. + :type synapse_workspace_sql_pool_table_resource_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'synapse_workspace_sql_pool_table_resource_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'synapse_workspace_sql_pool_table_resource_id': {'key': 'properties.synapseWorkspaceSqlPoolTableResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SynapseWorkspaceSqlPoolTableDataSet, self).__init__(**kwargs) + self.kind = 'SynapseWorkspaceSqlPoolTable' # type: str + self.data_set_id = None + self.synapse_workspace_sql_pool_table_resource_id = kwargs['synapse_workspace_sql_pool_table_resource_id'] + + +class SynapseWorkspaceSqlPoolTableDataSetMapping(DataSetMapping): + """A Synapse Workspace Sql Pool Table data set mapping. + + 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 id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param synapse_workspace_sql_pool_table_resource_id: Required. Resource id of the Synapse + Workspace SQL Pool Table. + :type synapse_workspace_sql_pool_table_resource_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'synapse_workspace_sql_pool_table_resource_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'synapse_workspace_sql_pool_table_resource_id': {'key': 'properties.synapseWorkspaceSqlPoolTableResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SynapseWorkspaceSqlPoolTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'SynapseWorkspaceSqlPoolTable' # type: str + self.data_set_id = kwargs['data_set_id'] + self.data_set_mapping_status = None + self.provisioning_state = None + self.synapse_workspace_sql_pool_table_resource_id = kwargs['synapse_workspace_sql_pool_table_resource_id'] class SynchronizationDetails(msrest.serialization.Model): @@ -3541,10 +3999,11 @@ class SynchronizationDetails(msrest.serialization.Model): :ivar data_set_id: Id of data set. :vartype data_set_id: str - :ivar data_set_type: Type of the data set. Possible values include: 'Blob', 'Container', - 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', - 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable'. - :vartype data_set_type: str or ~data_share_management_client.models.DataSetType + :ivar data_set_type: Type of the data set. Possible values include: "Blob", "Container", + "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", "AdlsGen1Folder", + "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :vartype data_set_type: str or ~azure.mgmt.datashare.models.DataSetType :ivar duration_ms: Duration of data set level copy. :vartype duration_ms: int :ivar end_time: End time of data set level copy. @@ -3639,7 +4098,7 @@ class SynchronizationDetailsList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.SynchronizationDetails] + :type value: list[~azure.mgmt.datashare.models.SynchronizationDetails] """ _validation = { @@ -3657,7 +4116,7 @@ def __init__( ): super(SynchronizationDetailsList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class SynchronizationSettingList(msrest.serialization.Model): @@ -3668,7 +4127,7 @@ class SynchronizationSettingList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.SynchronizationSetting] + :type value: list[~azure.mgmt.datashare.models.SynchronizationSetting] """ _validation = { @@ -3686,15 +4145,15 @@ def __init__( ): super(SynchronizationSettingList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] class Synchronize(msrest.serialization.Model): """Payload for the synchronizing the data. :param synchronization_mode: Mode of synchronization used in triggers and snapshot sync. - Incremental by default. Possible values include: 'Incremental', 'FullSync'. - :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + Incremental by default. Possible values include: "Incremental", "FullSync". + :type synchronization_mode: str or ~azure.mgmt.datashare.models.SynchronizationMode """ _attribute_map = { @@ -3709,6 +4168,95 @@ def __init__( self.synchronization_mode = kwargs.get('synchronization_mode', None) +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :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.datashare.models.CreatedByType + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_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.mgmt.datashare.models.LastModifiedByType + """ + + _attribute_map = { + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_at = kwargs.get('created_at', None) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + + +class TableLevelSharingProperties(msrest.serialization.Model): + """Table level sharing properties dto for kusto data set properties. + + :param external_tables_to_exclude: External tables to be excluded in the data set. + :type external_tables_to_exclude: list[str] + :param external_tables_to_include: External tables to be included in the data set. + :type external_tables_to_include: list[str] + :param materialized_views_to_exclude: Materialized views to be excluded in the data set. + :type materialized_views_to_exclude: list[str] + :param materialized_views_to_include: Materialized views to be included in the data set. + :type materialized_views_to_include: list[str] + :param tables_to_exclude: Tables to be excluded in the data set. + :type tables_to_exclude: list[str] + :param tables_to_include: Tables to be included in the data set. + :type tables_to_include: list[str] + """ + + _validation = { + 'external_tables_to_exclude': {'unique': True}, + 'external_tables_to_include': {'unique': True}, + 'materialized_views_to_exclude': {'unique': True}, + 'materialized_views_to_include': {'unique': True}, + 'tables_to_exclude': {'unique': True}, + 'tables_to_include': {'unique': True}, + } + + _attribute_map = { + 'external_tables_to_exclude': {'key': 'externalTablesToExclude', 'type': '[str]'}, + 'external_tables_to_include': {'key': 'externalTablesToInclude', 'type': '[str]'}, + 'materialized_views_to_exclude': {'key': 'materializedViewsToExclude', 'type': '[str]'}, + 'materialized_views_to_include': {'key': 'materializedViewsToInclude', 'type': '[str]'}, + 'tables_to_exclude': {'key': 'tablesToExclude', 'type': '[str]'}, + 'tables_to_include': {'key': 'tablesToInclude', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(TableLevelSharingProperties, self).__init__(**kwargs) + self.external_tables_to_exclude = kwargs.get('external_tables_to_exclude', None) + self.external_tables_to_include = kwargs.get('external_tables_to_include', None) + self.materialized_views_to_exclude = kwargs.get('materialized_views_to_exclude', None) + self.materialized_views_to_include = kwargs.get('materialized_views_to_include', None) + self.tables_to_exclude = kwargs.get('tables_to_exclude', None) + self.tables_to_include = kwargs.get('tables_to_include', None) + + class TriggerList(msrest.serialization.Model): """List response for get triggers. @@ -3717,7 +4265,7 @@ class TriggerList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.Trigger] + :type value: list[~azure.mgmt.datashare.models.Trigger] """ _validation = { @@ -3735,4 +4283,4 @@ def __init__( ): super(TriggerList, self).__init__(**kwargs) self.next_link = kwargs.get('next_link', None) - self.value = kwargs.get('value', None) + self.value = kwargs['value'] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models_py3.py b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models_py3.py index bc585b353f5..016f53fdaac 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models_py3.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/models/_models_py3.py @@ -12,36 +12,82 @@ from azure.core.exceptions import HttpResponseError import msrest.serialization +from ._data_share_management_client_enums import * -class DefaultDto(msrest.serialization.Model): + +class ProxyDto(msrest.serialization.Model): + """Base data transfer object implementation for proxy resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProxyDto, self).__init__(**kwargs) + self.id = None + self.name = None + self.system_data = None + self.type = None + + +class DefaultDto(ProxyDto): """Base data transfer object implementation for default resources. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The resource id of the azure resource. :vartype id: str - :param location: Location of the azure resource. - :type location: str :ivar name: Name of the azure resource. :vartype name: str - :param tags: A set of tags. Tags on the azure resource. - :type tags: dict[str, str] + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str + :param location: Location of the azure resource. + :type location: str + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__( @@ -52,11 +98,8 @@ def __init__( **kwargs ): super(DefaultDto, self).__init__(**kwargs) - self.id = None self.location = location - self.name = None self.tags = tags - self.type = None class Account(DefaultDto): @@ -68,21 +111,23 @@ class Account(DefaultDto): :ivar id: The resource id of the azure resource. :vartype id: str - :param location: Location of the azure resource. - :type location: str :ivar name: Name of the azure resource. :vartype name: str - :param tags: A set of tags. Tags on the azure resource. - :type tags: dict[str, str] + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str + :param location: Location of the azure resource. + :type location: str + :param tags: A set of tags. Tags on the azure resource. + :type tags: dict[str, str] :param identity: Required. Identity Info on the Account. - :type identity: ~data_share_management_client.models.Identity + :type identity: ~azure.mgmt.datashare.models.Identity :ivar created_at: Time at which the account was created. :vartype created_at: ~datetime.datetime :ivar provisioning_state: Provisioning state of the Account. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :ivar user_email: Email of the user who created the resource. :vartype user_email: str :ivar user_name: Name of the user who created the resource. @@ -92,6 +137,7 @@ class Account(DefaultDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'identity': {'required': True}, 'created_at': {'readonly': True}, @@ -102,10 +148,11 @@ class Account(DefaultDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'identity', 'type': 'Identity'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, @@ -137,7 +184,7 @@ class AccountList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.Account] + :type value: list[~azure.mgmt.datashare.models.Account] """ _validation = { @@ -182,46 +229,11 @@ def __init__( self.tags = tags -class ProxyDto(msrest.serialization.Model): - """Base data transfer object implementation for proxy resources. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The resource id of the azure resource. - :vartype id: str - :ivar name: Name of the azure resource. - :vartype name: str - :ivar type: Type of the azure resource. - :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(ProxyDto, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - class DataSet(ProxyDto): """A DataSet data transfer object. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AdlsGen1FileDataSet, AdlsGen1FolderDataSet, AdlsGen2FileDataSet, AdlsGen2FileSystemDataSet, AdlsGen2FolderDataSet, BlobDataSet, BlobFolderDataSet, BlobContainerDataSet, KustoClusterDataSet, KustoDatabaseDataSet, SqlDBTableDataSet, SqlDwTableDataSet. + sub-classes are: AdlsGen1FileDataSet, AdlsGen1FolderDataSet, AdlsGen2FileDataSet, AdlsGen2FileSystemDataSet, AdlsGen2FolderDataSet, BlobDataSet, BlobFolderDataSet, BlobContainerDataSet, KustoClusterDataSet, KustoDatabaseDataSet, KustoTableDataSet, SqlDbTableDataSet, SqlDwTableDataSet, SynapseWorkspaceSqlPoolTableDataSet. Variables are only populated by the server, and will be ignored when sending a request. @@ -231,18 +243,21 @@ class DataSet(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, } @@ -250,12 +265,13 @@ class DataSet(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, } _subtype_map = { - 'kind': {'AdlsGen1File': 'AdlsGen1FileDataSet', 'AdlsGen1Folder': 'AdlsGen1FolderDataSet', 'AdlsGen2File': 'AdlsGen2FileDataSet', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSet', 'AdlsGen2Folder': 'AdlsGen2FolderDataSet', 'Blob': 'BlobDataSet', 'BlobFolder': 'BlobFolderDataSet', 'Container': 'BlobContainerDataSet', 'KustoCluster': 'KustoClusterDataSet', 'KustoDatabase': 'KustoDatabaseDataSet', 'SqlDBTable': 'SqlDBTableDataSet', 'SqlDWTable': 'SqlDwTableDataSet'} + 'kind': {'AdlsGen1File': 'AdlsGen1FileDataSet', 'AdlsGen1Folder': 'AdlsGen1FolderDataSet', 'AdlsGen2File': 'AdlsGen2FileDataSet', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSet', 'AdlsGen2Folder': 'AdlsGen2FolderDataSet', 'Blob': 'BlobDataSet', 'BlobFolder': 'BlobFolderDataSet', 'Container': 'BlobContainerDataSet', 'KustoCluster': 'KustoClusterDataSet', 'KustoDatabase': 'KustoDatabaseDataSet', 'KustoTable': 'KustoTableDataSet', 'SqlDBTable': 'SqlDbTableDataSet', 'SqlDWTable': 'SqlDwTableDataSet', 'SynapseWorkspaceSqlPoolTable': 'SynapseWorkspaceSqlPoolTableDataSet'} } def __init__( @@ -263,7 +279,7 @@ def __init__( **kwargs ): super(DataSet, self).__init__(**kwargs) - self.kind = 'DataSet' + self.kind = 'DataSet' # type: str class AdlsGen1FileDataSet(DataSet): @@ -277,13 +293,15 @@ class AdlsGen1FileDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param account_name: Required. The ADLS account name. :type account_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -301,6 +319,7 @@ class AdlsGen1FileDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'account_name': {'required': True}, @@ -314,6 +333,7 @@ class AdlsGen1FileDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'account_name': {'key': 'properties.accountName', 'type': 'str'}, @@ -335,7 +355,7 @@ def __init__( **kwargs ): super(AdlsGen1FileDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen1File' + self.kind = 'AdlsGen1File' # type: str self.account_name = account_name self.data_set_id = None self.file_name = file_name @@ -355,13 +375,15 @@ class AdlsGen1FolderDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param account_name: Required. The ADLS account name. :type account_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -377,6 +399,7 @@ class AdlsGen1FolderDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'account_name': {'required': True}, @@ -389,6 +412,7 @@ class AdlsGen1FolderDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'account_name': {'key': 'properties.accountName', 'type': 'str'}, @@ -408,7 +432,7 @@ def __init__( **kwargs ): super(AdlsGen1FolderDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen1Folder' + self.kind = 'AdlsGen1Folder' # type: str self.account_name = account_name self.data_set_id = None self.folder_path = folder_path @@ -427,13 +451,15 @@ class AdlsGen2FileDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param file_path: Required. File path within the file system. @@ -451,6 +477,7 @@ class AdlsGen2FileDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -464,6 +491,7 @@ class AdlsGen2FileDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -485,7 +513,7 @@ def __init__( **kwargs ): super(AdlsGen2FileDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen2File' + self.kind = 'AdlsGen2File' # type: str self.data_set_id = None self.file_path = file_path self.file_system = file_system @@ -498,7 +526,7 @@ class DataSetMapping(ProxyDto): """A data set mapping data transfer object. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AdlsGen2FileDataSetMapping, AdlsGen2FileSystemDataSetMapping, AdlsGen2FolderDataSetMapping, BlobDataSetMapping, BlobFolderDataSetMapping, BlobContainerDataSetMapping, KustoClusterDataSetMapping, KustoDatabaseDataSetMapping, SqlDBTableDataSetMapping, SqlDwTableDataSetMapping. + sub-classes are: AdlsGen2FileDataSetMapping, AdlsGen2FileSystemDataSetMapping, AdlsGen2FolderDataSetMapping, BlobDataSetMapping, BlobFolderDataSetMapping, BlobContainerDataSetMapping, KustoClusterDataSetMapping, KustoDatabaseDataSetMapping, KustoTableDataSetMapping, SqlDbTableDataSetMapping, SqlDwTableDataSetMapping, SynapseWorkspaceSqlPoolTableDataSetMapping. Variables are only populated by the server, and will be ignored when sending a request. @@ -508,18 +536,21 @@ class DataSetMapping(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, } @@ -527,12 +558,13 @@ class DataSetMapping(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, } _subtype_map = { - 'kind': {'AdlsGen2File': 'AdlsGen2FileDataSetMapping', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSetMapping', 'AdlsGen2Folder': 'AdlsGen2FolderDataSetMapping', 'Blob': 'BlobDataSetMapping', 'BlobFolder': 'BlobFolderDataSetMapping', 'Container': 'BlobContainerDataSetMapping', 'KustoCluster': 'KustoClusterDataSetMapping', 'KustoDatabase': 'KustoDatabaseDataSetMapping', 'SqlDBTable': 'SqlDBTableDataSetMapping', 'SqlDWTable': 'SqlDwTableDataSetMapping'} + 'kind': {'AdlsGen2File': 'AdlsGen2FileDataSetMapping', 'AdlsGen2FileSystem': 'AdlsGen2FileSystemDataSetMapping', 'AdlsGen2Folder': 'AdlsGen2FolderDataSetMapping', 'Blob': 'BlobDataSetMapping', 'BlobFolder': 'BlobFolderDataSetMapping', 'Container': 'BlobContainerDataSetMapping', 'KustoCluster': 'KustoClusterDataSetMapping', 'KustoDatabase': 'KustoDatabaseDataSetMapping', 'KustoTable': 'KustoTableDataSetMapping', 'SqlDBTable': 'SqlDbTableDataSetMapping', 'SqlDWTable': 'SqlDwTableDataSetMapping', 'SynapseWorkspaceSqlPoolTable': 'SynapseWorkspaceSqlPoolTableDataSetMapping'} } def __init__( @@ -540,7 +572,7 @@ def __init__( **kwargs ): super(DataSetMapping, self).__init__(**kwargs) - self.kind = 'DataSetMapping' + self.kind = 'DataSetMapping' # type: str class AdlsGen2FileDataSetMapping(DataSetMapping): @@ -554,28 +586,29 @@ class AdlsGen2FileDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param file_path: Required. File path within the file system. :type file_path: str :param file_system: Required. File system to which the file belongs. :type file_system: str - :param output_type: Type of output file. Possible values include: 'Csv', 'Parquet'. - :type output_type: str or ~data_share_management_client.models.OutputType + :param output_type: Type of output file. Possible values include: "Csv", "Parquet". + :type output_type: str or ~azure.mgmt.datashare.models.OutputType :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -587,6 +620,7 @@ class AdlsGen2FileDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -602,6 +636,7 @@ class AdlsGen2FileDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -628,7 +663,7 @@ def __init__( **kwargs ): super(AdlsGen2FileDataSetMapping, self).__init__(**kwargs) - self.kind = 'AdlsGen2File' + self.kind = 'AdlsGen2File' # type: str self.data_set_id = data_set_id self.data_set_mapping_status = None self.file_path = file_path @@ -651,13 +686,15 @@ class AdlsGen2FileSystemDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param file_system: Required. The file system name. @@ -673,6 +710,7 @@ class AdlsGen2FileSystemDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -685,6 +723,7 @@ class AdlsGen2FileSystemDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -704,7 +743,7 @@ def __init__( **kwargs ): super(AdlsGen2FileSystemDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen2FileSystem' + self.kind = 'AdlsGen2FileSystem' # type: str self.data_set_id = None self.file_system = file_system self.resource_group = resource_group @@ -723,24 +762,25 @@ class AdlsGen2FileSystemDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param file_system: Required. The file system name. :type file_system: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -752,6 +792,7 @@ class AdlsGen2FileSystemDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -766,6 +807,7 @@ class AdlsGen2FileSystemDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -788,7 +830,7 @@ def __init__( **kwargs ): super(AdlsGen2FileSystemDataSetMapping, self).__init__(**kwargs) - self.kind = 'AdlsGen2FileSystem' + self.kind = 'AdlsGen2FileSystem' # type: str self.data_set_id = data_set_id self.data_set_mapping_status = None self.file_system = file_system @@ -809,13 +851,15 @@ class AdlsGen2FolderDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param file_system: Required. File system to which the folder belongs. @@ -833,6 +877,7 @@ class AdlsGen2FolderDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -846,6 +891,7 @@ class AdlsGen2FolderDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -867,7 +913,7 @@ def __init__( **kwargs ): super(AdlsGen2FolderDataSet, self).__init__(**kwargs) - self.kind = 'AdlsGen2Folder' + self.kind = 'AdlsGen2Folder' # type: str self.data_set_id = None self.file_system = file_system self.folder_path = folder_path @@ -887,26 +933,27 @@ class AdlsGen2FolderDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param file_system: Required. File system to which the folder belongs. :type file_system: str :param folder_path: Required. Folder path within the file system. :type folder_path: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -918,6 +965,7 @@ class AdlsGen2FolderDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -933,6 +981,7 @@ class AdlsGen2FolderDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -957,7 +1006,7 @@ def __init__( **kwargs ): super(AdlsGen2FolderDataSetMapping, self).__init__(**kwargs) - self.kind = 'AdlsGen2Folder' + self.kind = 'AdlsGen2Folder' # type: str self.data_set_id = data_set_id self.data_set_mapping_status = None self.file_system = file_system @@ -979,13 +1028,15 @@ class BlobContainerDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param container_name: Required. BLOB Container name. :type container_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -1001,6 +1052,7 @@ class BlobContainerDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1013,6 +1065,7 @@ class BlobContainerDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1032,7 +1085,7 @@ def __init__( **kwargs ): super(BlobContainerDataSet, self).__init__(**kwargs) - self.kind = 'Container' + self.kind = 'Container' # type: str self.container_name = container_name self.data_set_id = None self.resource_group = resource_group @@ -1051,24 +1104,25 @@ class BlobContainerDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param container_name: Required. BLOB Container name. :type container_name: str :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -1080,6 +1134,7 @@ class BlobContainerDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1094,6 +1149,7 @@ class BlobContainerDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1116,7 +1172,7 @@ def __init__( **kwargs ): super(BlobContainerDataSetMapping, self).__init__(**kwargs) - self.kind = 'Container' + self.kind = 'Container' # type: str self.container_name = container_name self.data_set_id = data_set_id self.data_set_mapping_status = None @@ -1137,13 +1193,15 @@ class BlobDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param container_name: Required. Container that has the file path. :type container_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -1161,6 +1219,7 @@ class BlobDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1174,6 +1233,7 @@ class BlobDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1195,7 +1255,7 @@ def __init__( **kwargs ): super(BlobDataSet, self).__init__(**kwargs) - self.kind = 'Blob' + self.kind = 'Blob' # type: str self.container_name = container_name self.data_set_id = None self.file_path = file_path @@ -1215,28 +1275,29 @@ class BlobDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param container_name: Required. Container that has the file path. :type container_name: str :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param file_path: Required. File path within the source data set. :type file_path: str - :param output_type: File output type. Possible values include: 'Csv', 'Parquet'. - :type output_type: str or ~data_share_management_client.models.OutputType + :param output_type: File output type. Possible values include: "Csv", "Parquet". + :type output_type: str or ~azure.mgmt.datashare.models.OutputType :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -1248,6 +1309,7 @@ class BlobDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1263,6 +1325,7 @@ class BlobDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1289,7 +1352,7 @@ def __init__( **kwargs ): super(BlobDataSetMapping, self).__init__(**kwargs) - self.kind = 'Blob' + self.kind = 'Blob' # type: str self.container_name = container_name self.data_set_id = data_set_id self.data_set_mapping_status = None @@ -1312,13 +1375,15 @@ class BlobFolderDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param container_name: Required. Container that has the file path. :type container_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -1336,6 +1401,7 @@ class BlobFolderDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1349,6 +1415,7 @@ class BlobFolderDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1370,7 +1437,7 @@ def __init__( **kwargs ): super(BlobFolderDataSet, self).__init__(**kwargs) - self.kind = 'BlobFolder' + self.kind = 'BlobFolder' # type: str self.container_name = container_name self.data_set_id = None self.prefix = prefix @@ -1390,26 +1457,27 @@ class BlobFolderDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param container_name: Required. Container that has the file path. :type container_name: str :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param prefix: Required. Prefix for blob folder. :type prefix: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param resource_group: Required. Resource group of storage account. :type resource_group: str :param storage_account_name: Required. Storage account name of the source data set. @@ -1421,6 +1489,7 @@ class BlobFolderDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'container_name': {'required': True}, @@ -1436,6 +1505,7 @@ class BlobFolderDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'container_name': {'key': 'properties.containerName', 'type': 'str'}, @@ -1460,7 +1530,7 @@ def __init__( **kwargs ): super(BlobFolderDataSetMapping, self).__init__(**kwargs) - self.kind = 'BlobFolder' + self.kind = 'BlobFolder' # type: str self.container_name = container_name self.data_set_id = data_set_id self.data_set_mapping_status = None @@ -1482,17 +1552,22 @@ class ConsumerInvitation(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar data_set_count: Number of data sets in a share. :vartype data_set_count: int :ivar description: Description shared when the invitation was created. :vartype description: str + :ivar expiration_date: The expiration date for the share subscription created by accepting the + invitation. + :vartype expiration_date: ~datetime.datetime :param invitation_id: Required. Unique id of the invitation. :type invitation_id: str - :ivar invitation_status: The status of the invitation. Possible values include: 'Pending', - 'Accepted', 'Rejected', 'Withdrawn'. - :vartype invitation_status: str or ~data_share_management_client.models.InvitationStatus + :ivar invitation_status: The status of the invitation. Possible values include: "Pending", + "Accepted", "Rejected", "Withdrawn". + :vartype invitation_status: str or ~azure.mgmt.datashare.models.InvitationStatus :ivar location: invitation location. :vartype location: str :ivar provider_email: Email of the provider who created the resource. @@ -1518,9 +1593,11 @@ class ConsumerInvitation(ProxyDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'data_set_count': {'readonly': True}, 'description': {'readonly': True}, + 'expiration_date': {'readonly': True}, 'invitation_id': {'required': True}, 'invitation_status': {'readonly': True}, 'location': {'readonly': True}, @@ -1538,9 +1615,11 @@ class ConsumerInvitation(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'data_set_count': {'key': 'properties.dataSetCount', 'type': 'int'}, 'description': {'key': 'properties.description', 'type': 'str'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, 'invitation_status': {'key': 'properties.invitationStatus', 'type': 'str'}, 'location': {'key': 'properties.location', 'type': 'str'}, @@ -1564,6 +1643,7 @@ def __init__( super(ConsumerInvitation, self).__init__(**kwargs) self.data_set_count = None self.description = None + self.expiration_date = None self.invitation_id = invitation_id self.invitation_status = None self.location = None @@ -1586,7 +1666,7 @@ class ConsumerInvitationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ConsumerInvitation] + :type value: list[~azure.mgmt.datashare.models.ConsumerInvitation] """ _validation = { @@ -1619,6 +1699,8 @@ class ConsumerSourceDataSet(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar data_set_id: DataSet Id. @@ -1629,15 +1711,17 @@ class ConsumerSourceDataSet(ProxyDto): :vartype data_set_name: str :ivar data_set_path: DataSet path. :vartype data_set_path: str - :ivar data_set_type: Type of data set. Possible values include: 'Blob', 'Container', - 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', - 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable'. - :vartype data_set_type: str or ~data_share_management_client.models.DataSetType + :ivar data_set_type: Type of data set. Possible values include: "Blob", "Container", + "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", "AdlsGen1Folder", + "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :vartype data_set_type: str or ~azure.mgmt.datashare.models.DataSetType """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'data_set_id': {'readonly': True}, 'data_set_location': {'readonly': True}, @@ -1649,6 +1733,7 @@ class ConsumerSourceDataSet(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, 'data_set_location': {'key': 'properties.dataSetLocation', 'type': 'str'}, @@ -1677,7 +1762,7 @@ class ConsumerSourceDataSetList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ConsumerSourceDataSet] + :type value: list[~azure.mgmt.datashare.models.ConsumerSourceDataSet] """ _validation = { @@ -1709,7 +1794,7 @@ class DataSetList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.DataSet] + :type value: list[~azure.mgmt.datashare.models.DataSet] """ _validation = { @@ -1741,7 +1826,7 @@ class DataSetMappingList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.DataSetMapping] + :type value: list[~azure.mgmt.datashare.models.DataSetMapping] """ _validation = { @@ -1771,7 +1856,7 @@ class DataShareError(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param error: Required. The data share error body. - :type error: ~data_share_management_client.models.DataShareErrorInfo + :type error: ~azure.mgmt.datashare.models.DataShareErrorInfo """ _validation = { @@ -1800,7 +1885,7 @@ class DataShareErrorInfo(msrest.serialization.Model): :param code: Required. Code of the error. :type code: str :param details: Nested details of the error model. - :type details: list[~data_share_management_client.models.DataShareErrorInfo] + :type details: list[~azure.mgmt.datashare.models.DataShareErrorInfo] :param message: Required. Message of the error. :type message: str :param target: Target of the error. @@ -1861,6 +1946,53 @@ def __init__( self.name = name +class EmailRegistration(msrest.serialization.Model): + """Dto for tenant domain registration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param activation_code: Activation code for the registration. + :type activation_code: str + :ivar activation_expiration_date: Date of the activation expiration. + :vartype activation_expiration_date: ~datetime.datetime + :ivar email: The email to register. + :vartype email: str + :ivar registration_status: Registration status. Possible values include: "ActivationPending", + "Activated", "ActivationAttemptsExhausted". + :vartype registration_status: str or ~azure.mgmt.datashare.models.RegistrationStatus + :ivar tenant_id: The tenant to register. + :vartype tenant_id: str + """ + + _validation = { + 'activation_expiration_date': {'readonly': True}, + 'email': {'readonly': True}, + 'registration_status': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'activation_code': {'key': 'activationCode', 'type': 'str'}, + 'activation_expiration_date': {'key': 'activationExpirationDate', 'type': 'iso-8601'}, + 'email': {'key': 'email', 'type': 'str'}, + 'registration_status': {'key': 'registrationStatus', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + *, + activation_code: Optional[str] = None, + **kwargs + ): + super(EmailRegistration, self).__init__(**kwargs) + self.activation_code = activation_code + self.activation_expiration_date = None + self.email = None + self.registration_status = None + self.tenant_id = None + + class Identity(msrest.serialization.Model): """Identity of resource. @@ -1870,14 +2002,13 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: Tenant Id. :vartype tenant_id: str - :ivar type: Identity Type. Default value: "SystemAssigned". - :vartype type: str + :param type: Identity Type. Possible values include: "SystemAssigned". + :type type: str or ~azure.mgmt.datashare.models.Type """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'constant': True}, } _attribute_map = { @@ -1886,15 +2017,16 @@ class Identity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, } - type = "SystemAssigned" - def __init__( self, + *, + type: Optional[Union[str, "Type"]] = None, **kwargs ): super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = type class Invitation(ProxyDto): @@ -1906,13 +2038,17 @@ class Invitation(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str + :param expiration_date: The expiration date for the invitation and share subscription. + :type expiration_date: ~datetime.datetime :ivar invitation_id: unique invitation id. :vartype invitation_id: str - :ivar invitation_status: The status of the invitation. Possible values include: 'Pending', - 'Accepted', 'Rejected', 'Withdrawn'. - :vartype invitation_status: str or ~data_share_management_client.models.InvitationStatus + :ivar invitation_status: The status of the invitation. Possible values include: "Pending", + "Accepted", "Rejected", "Withdrawn". + :vartype invitation_status: str or ~azure.mgmt.datashare.models.InvitationStatus :ivar responded_at: The time the recipient responded to the invitation. :vartype responded_at: ~datetime.datetime :ivar sent_at: Gets the time at which the invitation was sent. @@ -1934,6 +2070,7 @@ class Invitation(ProxyDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'invitation_id': {'readonly': True}, 'invitation_status': {'readonly': True}, @@ -1946,7 +2083,9 @@ class Invitation(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, 'invitation_status': {'key': 'properties.invitationStatus', 'type': 'str'}, 'responded_at': {'key': 'properties.respondedAt', 'type': 'iso-8601'}, @@ -1961,12 +2100,14 @@ class Invitation(ProxyDto): def __init__( self, *, + expiration_date: Optional[datetime.datetime] = None, target_active_directory_id: Optional[str] = None, target_email: Optional[str] = None, target_object_id: Optional[str] = None, **kwargs ): super(Invitation, self).__init__(**kwargs) + self.expiration_date = expiration_date self.invitation_id = None self.invitation_status = None self.responded_at = None @@ -1986,7 +2127,7 @@ class InvitationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.Invitation] + :type value: list[~azure.mgmt.datashare.models.Invitation] """ _validation = { @@ -2021,13 +2162,15 @@ class KustoClusterDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param kusto_cluster_resource_id: Required. Resource id of the kusto cluster. @@ -2035,13 +2178,14 @@ class KustoClusterDataSet(DataSet): :ivar location: Location of the kusto cluster. :vartype location: str :ivar provisioning_state: Provisioning state of the kusto cluster data set. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + include: "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -2053,6 +2197,7 @@ class KustoClusterDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -2068,7 +2213,7 @@ def __init__( **kwargs ): super(KustoClusterDataSet, self).__init__(**kwargs) - self.kind = 'KustoCluster' + self.kind = 'KustoCluster' # type: str self.data_set_id = None self.kusto_cluster_resource_id = kusto_cluster_resource_id self.location = None @@ -2086,31 +2231,33 @@ class KustoClusterDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. :type kusto_cluster_resource_id: str :ivar location: Location of the sink kusto cluster. :vartype location: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -2123,6 +2270,7 @@ class KustoClusterDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -2140,7 +2288,7 @@ def __init__( **kwargs ): super(KustoClusterDataSetMapping, self).__init__(**kwargs) - self.kind = 'KustoCluster' + self.kind = 'KustoCluster' # type: str self.data_set_id = data_set_id self.data_set_mapping_status = None self.kusto_cluster_resource_id = kusto_cluster_resource_id @@ -2159,13 +2307,15 @@ class KustoDatabaseDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param kusto_database_resource_id: Required. Resource id of the kusto database. @@ -2173,13 +2323,14 @@ class KustoDatabaseDataSet(DataSet): :ivar location: Location of the kusto cluster. :vartype location: str :ivar provisioning_state: Provisioning state of the kusto database data set. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + include: "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -2191,6 +2342,7 @@ class KustoDatabaseDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -2206,7 +2358,7 @@ def __init__( **kwargs ): super(KustoDatabaseDataSet, self).__init__(**kwargs) - self.kind = 'KustoDatabase' + self.kind = 'KustoDatabase' # type: str self.data_set_id = None self.kusto_database_resource_id = kusto_database_resource_id self.location = None @@ -2224,31 +2376,33 @@ class KustoDatabaseDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. :type kusto_cluster_resource_id: str :ivar location: Location of the sink kusto cluster. :vartype location: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -2261,6 +2415,7 @@ class KustoDatabaseDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -2278,7 +2433,159 @@ def __init__( **kwargs ): super(KustoDatabaseDataSetMapping, self).__init__(**kwargs) - self.kind = 'KustoDatabase' + self.kind = 'KustoDatabase' # type: str + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.kusto_cluster_resource_id = kusto_cluster_resource_id + self.location = None + self.provisioning_state = None + + +class KustoTableDataSet(DataSet): + """A kusto table data set. + + 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 id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param kusto_database_resource_id: Required. Resource id of the kusto database. + :type kusto_database_resource_id: str + :ivar location: Location of the kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the kusto table data set. Possible values + include: "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param table_level_sharing_properties: Required. Table level sharing properties for kusto + database. + :type table_level_sharing_properties: ~azure.mgmt.datashare.models.TableLevelSharingProperties + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'kusto_database_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'table_level_sharing_properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'kusto_database_resource_id': {'key': 'properties.kustoDatabaseResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'table_level_sharing_properties': {'key': 'properties.tableLevelSharingProperties', 'type': 'TableLevelSharingProperties'}, + } + + def __init__( + self, + *, + kusto_database_resource_id: str, + table_level_sharing_properties: "TableLevelSharingProperties", + **kwargs + ): + super(KustoTableDataSet, self).__init__(**kwargs) + self.kind = 'KustoTable' # type: str + self.data_set_id = None + self.kusto_database_resource_id = kusto_database_resource_id + self.location = None + self.provisioning_state = None + self.table_level_sharing_properties = table_level_sharing_properties + + +class KustoTableDataSetMapping(DataSetMapping): + """A Kusto database data set mapping. + + 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 id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus + :param kusto_cluster_resource_id: Required. Resource id of the sink kusto cluster. + :type kusto_cluster_resource_id: str + :ivar location: Location of the sink kusto cluster. + :vartype location: str + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'kusto_cluster_resource_id': {'required': True}, + 'location': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'kusto_cluster_resource_id': {'key': 'properties.kustoClusterResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + data_set_id: str, + kusto_cluster_resource_id: str, + **kwargs + ): + super(KustoTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'KustoTable' # type: str self.data_set_id = data_set_id self.data_set_mapping_status = None self.kusto_cluster_resource_id = kusto_cluster_resource_id @@ -2294,7 +2601,7 @@ class OperationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.OperationModel] + :type value: list[~azure.mgmt.datashare.models.OperationModel] """ _validation = { @@ -2355,13 +2662,15 @@ class OperationMetaMetricSpecification(msrest.serialization.Model): :param aggregation_type: aggregation type of metric. :type aggregation_type: str :param dimensions: properties for dimension. - :type dimensions: list[~data_share_management_client.models.DimensionProperties] + :type dimensions: list[~azure.mgmt.datashare.models.DimensionProperties] :param display_description: description of the metric. :type display_description: str :param display_name: localized name of the metric. :type display_name: str :param enable_regional_mdm_account: enable regional mdm account. :type enable_regional_mdm_account: str + :param fill_gap_with_zero: fill gap with zero. + :type fill_gap_with_zero: bool :param internal_metric_name: internal metric name. :type internal_metric_name: str :param name: name of the metric. @@ -2383,6 +2692,7 @@ class OperationMetaMetricSpecification(msrest.serialization.Model): 'display_description': {'key': 'displayDescription', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'internal_metric_name': {'key': 'internalMetricName', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, @@ -2399,6 +2709,7 @@ def __init__( display_description: Optional[str] = None, display_name: Optional[str] = None, enable_regional_mdm_account: Optional[str] = None, + fill_gap_with_zero: Optional[bool] = None, internal_metric_name: Optional[str] = None, name: Optional[str] = None, resource_id_dimension_name_override: Optional[str] = None, @@ -2413,6 +2724,7 @@ def __init__( self.display_description = display_description self.display_name = display_name self.enable_regional_mdm_account = enable_regional_mdm_account + self.fill_gap_with_zero = fill_gap_with_zero self.internal_metric_name = internal_metric_name self.name = name self.resource_id_dimension_name_override = resource_id_dimension_name_override @@ -2425,11 +2737,10 @@ class OperationMetaServiceSpecification(msrest.serialization.Model): """The operation meta service specification. :param log_specifications: log specifications for the operation. - :type log_specifications: - list[~data_share_management_client.models.OperationMetaLogSpecification] + :type log_specifications: list[~azure.mgmt.datashare.models.OperationMetaLogSpecification] :param metric_specifications: metric specifications for the operation. :type metric_specifications: - list[~data_share_management_client.models.OperationMetaMetricSpecification] + list[~azure.mgmt.datashare.models.OperationMetaMetricSpecification] """ _attribute_map = { @@ -2453,14 +2764,13 @@ class OperationModel(msrest.serialization.Model): """The response model for get operations. :param display: Properties on the operation. - :type display: ~data_share_management_client.models.OperationModelProperties + :type display: ~azure.mgmt.datashare.models.OperationModelProperties :param name: Operation name for display purposes. :type name: str :param origin: origin of the operation. :type origin: str :param service_specification: meta service specification. - :type service_specification: - ~data_share_management_client.models.OperationMetaServiceSpecification + :type service_specification: ~azure.mgmt.datashare.models.OperationMetaServiceSpecification """ _attribute_map = { @@ -2530,12 +2840,12 @@ class OperationResponse(msrest.serialization.Model): :param end_time: start time. :type end_time: ~datetime.datetime :param error: The error property when status is failed. - :type error: ~data_share_management_client.models.DataShareErrorInfo + :type error: ~azure.mgmt.datashare.models.DataShareErrorInfo :param start_time: start time. :type start_time: ~datetime.datetime :param status: Required. Operation state of the long running operation. Possible values - include: 'Accepted', 'InProgress', 'TransientFailure', 'Succeeded', 'Failed', 'Canceled'. - :type status: str or ~data_share_management_client.models.Status + include: "Accepted", "InProgress", "TransientFailure", "Succeeded", "Failed", "Canceled". + :type status: str or ~azure.mgmt.datashare.models.Status """ _validation = { @@ -2574,6 +2884,8 @@ class ProviderShareSubscription(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar consumer_email: Email of the consumer who created the share subscription. @@ -2584,6 +2896,8 @@ class ProviderShareSubscription(ProxyDto): :vartype consumer_tenant_name: str :ivar created_at: created at. :vartype created_at: ~datetime.datetime + :param expiration_date: Expiration date of the share subscription in UTC format. + :type expiration_date: ~datetime.datetime :ivar provider_email: Email of the provider who created the share. :vartype provider_email: str :ivar provider_name: Name of the provider who created the share. @@ -2593,14 +2907,14 @@ class ProviderShareSubscription(ProxyDto): :ivar share_subscription_object_id: share Subscription Object Id. :vartype share_subscription_object_id: str :ivar share_subscription_status: Gets the status of share subscription. Possible values - include: 'Active', 'Revoked', 'SourceDeleted', 'Revoking'. - :vartype share_subscription_status: str or - ~data_share_management_client.models.ShareSubscriptionStatus + include: "Active", "Revoked", "SourceDeleted", "Revoking". + :vartype share_subscription_status: str or ~azure.mgmt.datashare.models.ShareSubscriptionStatus """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'consumer_email': {'readonly': True}, 'consumer_name': {'readonly': True}, @@ -2616,11 +2930,13 @@ class ProviderShareSubscription(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'consumer_email': {'key': 'properties.consumerEmail', 'type': 'str'}, 'consumer_name': {'key': 'properties.consumerName', 'type': 'str'}, 'consumer_tenant_name': {'key': 'properties.consumerTenantName', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, 'shared_at': {'key': 'properties.sharedAt', 'type': 'iso-8601'}, @@ -2630,6 +2946,8 @@ class ProviderShareSubscription(ProxyDto): def __init__( self, + *, + expiration_date: Optional[datetime.datetime] = None, **kwargs ): super(ProviderShareSubscription, self).__init__(**kwargs) @@ -2637,6 +2955,7 @@ def __init__( self.consumer_name = None self.consumer_tenant_name = None self.created_at = None + self.expiration_date = expiration_date self.provider_email = None self.provider_name = None self.shared_at = None @@ -2652,7 +2971,7 @@ class ProviderShareSubscriptionList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ProviderShareSubscription] + :type value: list[~azure.mgmt.datashare.models.ProviderShareSubscription] """ _validation = { @@ -2684,11 +3003,9 @@ class SourceShareSynchronizationSetting(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization setting on share.Constant filled by server. + Possible values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.SourceShareSynchronizationSettingKind """ _validation = { @@ -2708,7 +3025,7 @@ def __init__( **kwargs ): super(SourceShareSynchronizationSetting, self).__init__(**kwargs) - self.kind = None + self.kind = None # type: Optional[str] class ScheduledSourceSynchronizationSetting(SourceShareSynchronizationSetting): @@ -2716,13 +3033,11 @@ class ScheduledSourceSynchronizationSetting(SourceShareSynchronizationSetting): All required parameters must be populated in order to send to Azure. - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind - :param recurrence_interval: Recurrence Interval. Possible values include: 'Hour', 'Day'. - :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + :param kind: Required. Kind of synchronization setting on share.Constant filled by server. + Possible values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.SourceShareSynchronizationSettingKind + :param recurrence_interval: Recurrence Interval. Possible values include: "Hour", "Day". + :type recurrence_interval: str or ~azure.mgmt.datashare.models.RecurrenceInterval :param synchronization_time: Synchronization time. :type synchronization_time: ~datetime.datetime """ @@ -2745,7 +3060,7 @@ def __init__( **kwargs ): super(ScheduledSourceSynchronizationSetting, self).__init__(**kwargs) - self.kind = 'ScheduleBased' + self.kind = 'ScheduleBased' # type: str self.recurrence_interval = recurrence_interval self.synchronization_time = synchronization_time @@ -2764,18 +3079,19 @@ class SynchronizationSetting(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization setting.Constant filled by server. Possible + values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.SynchronizationSettingKind """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, } @@ -2783,6 +3099,7 @@ class SynchronizationSetting(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, } @@ -2796,7 +3113,7 @@ def __init__( **kwargs ): super(SynchronizationSetting, self).__init__(**kwargs) - self.kind = 'SynchronizationSetting' + self.kind = 'SynchronizationSetting' # type: str class ScheduledSynchronizationSetting(SynchronizationSetting): @@ -2810,21 +3127,21 @@ class ScheduledSynchronizationSetting(SynchronizationSetting): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization setting.Constant filled by server. Possible + values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.SynchronizationSettingKind :ivar created_at: Time at which the synchronization setting was created. :vartype created_at: ~datetime.datetime :ivar provisioning_state: Gets or sets the provisioning state. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState - :param recurrence_interval: Required. Recurrence Interval. Possible values include: 'Hour', - 'Day'. - :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param recurrence_interval: Required. Recurrence Interval. Possible values include: "Hour", + "Day". + :type recurrence_interval: str or ~azure.mgmt.datashare.models.RecurrenceInterval :param synchronization_time: Required. Synchronization time. :type synchronization_time: ~datetime.datetime :ivar user_name: Name of the user who created the synchronization setting. @@ -2834,6 +3151,7 @@ class ScheduledSynchronizationSetting(SynchronizationSetting): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'created_at': {'readonly': True}, @@ -2846,6 +3164,7 @@ class ScheduledSynchronizationSetting(SynchronizationSetting): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, @@ -2863,7 +3182,7 @@ def __init__( **kwargs ): super(ScheduledSynchronizationSetting, self).__init__(**kwargs) - self.kind = 'ScheduleBased' + self.kind = 'ScheduleBased' # type: str self.created_at = None self.provisioning_state = None self.recurrence_interval = recurrence_interval @@ -2885,18 +3204,19 @@ class Trigger(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization on trigger.Constant filled by server. Possible + values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.TriggerKind """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, } @@ -2904,6 +3224,7 @@ class Trigger(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, } @@ -2917,7 +3238,7 @@ def __init__( **kwargs ): super(Trigger, self).__init__(**kwargs) - self.kind = 'Trigger' + self.kind = 'Trigger' # type: str class ScheduledTrigger(Trigger): @@ -2931,29 +3252,29 @@ class ScheduledTrigger(Trigger): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str - :param kind: Required. Kind of synchronization.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + :param kind: Required. Kind of synchronization on trigger.Constant filled by server. Possible + values include: "ScheduleBased". + :type kind: str or ~azure.mgmt.datashare.models.TriggerKind :ivar created_at: Time at which the trigger was created. :vartype created_at: ~datetime.datetime - :ivar provisioning_state: Gets the provisioning state. Possible values include: 'Succeeded', - 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState - :param recurrence_interval: Required. Recurrence Interval. Possible values include: 'Hour', - 'Day'. - :type recurrence_interval: str or ~data_share_management_client.models.RecurrenceInterval - :param synchronization_mode: Synchronization mode. Possible values include: 'Incremental', - 'FullSync'. - :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :ivar provisioning_state: Gets the provisioning state. Possible values include: "Succeeded", + "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param recurrence_interval: Required. Recurrence Interval. Possible values include: "Hour", + "Day". + :type recurrence_interval: str or ~azure.mgmt.datashare.models.RecurrenceInterval + :param synchronization_mode: Synchronization mode. Possible values include: "Incremental", + "FullSync". + :type synchronization_mode: str or ~azure.mgmt.datashare.models.SynchronizationMode :param synchronization_time: Required. Synchronization time. :type synchronization_time: ~datetime.datetime - :ivar trigger_status: Gets the trigger state. Possible values include: 'Active', 'Inactive', - 'SourceSynchronizationSettingDeleted'. - :vartype trigger_status: str or ~data_share_management_client.models.TriggerStatus + :ivar trigger_status: Gets the trigger state. Possible values include: "Active", "Inactive", + "SourceSynchronizationSettingDeleted". + :vartype trigger_status: str or ~azure.mgmt.datashare.models.TriggerStatus :ivar user_name: Name of the user who created the trigger. :vartype user_name: str """ @@ -2961,6 +3282,7 @@ class ScheduledTrigger(Trigger): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'created_at': {'readonly': True}, @@ -2974,6 +3296,7 @@ class ScheduledTrigger(Trigger): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, @@ -2994,7 +3317,7 @@ def __init__( **kwargs ): super(ScheduledTrigger, self).__init__(**kwargs) - self.kind = 'ScheduleBased' + self.kind = 'ScheduleBased' # type: str self.created_at = None self.provisioning_state = None self.recurrence_interval = recurrence_interval @@ -3013,6 +3336,8 @@ class Share(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar created_at: Time at which the share was created. @@ -3020,10 +3345,10 @@ class Share(ProxyDto): :param description: Share description. :type description: str :ivar provisioning_state: Gets or sets the provisioning state. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState - :param share_kind: Share kind. Possible values include: 'CopyBased', 'InPlace'. - :type share_kind: str or ~data_share_management_client.models.ShareKind + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param share_kind: Share kind. Possible values include: "CopyBased", "InPlace". + :type share_kind: str or ~azure.mgmt.datashare.models.ShareKind :param terms: Share terms. :type terms: str :ivar user_email: Email of the user who created the resource. @@ -3035,6 +3360,7 @@ class Share(ProxyDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'created_at': {'readonly': True}, 'provisioning_state': {'readonly': True}, @@ -3045,6 +3371,7 @@ class Share(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, 'description': {'key': 'properties.description', 'type': 'str'}, @@ -3081,7 +3408,7 @@ class ShareList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.Share] + :type value: list[~azure.mgmt.datashare.models.Share] """ _validation = { @@ -3116,10 +3443,14 @@ class ShareSubscription(ProxyDto): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :ivar created_at: Time at which the share subscription was created. :vartype created_at: ~datetime.datetime + :param expiration_date: The expiration date of the share subscription. + :type expiration_date: ~datetime.datetime :param invitation_id: Required. The invitation id. :type invitation_id: str :ivar provider_email: Email of the provider who created the resource. @@ -3129,18 +3460,17 @@ class ShareSubscription(ProxyDto): :ivar provider_tenant_name: Tenant name of the provider who created the resource. :vartype provider_tenant_name: str :ivar provisioning_state: Provisioning state of the share subscription. Possible values - include: 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + include: "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :ivar share_description: Description of share. :vartype share_description: str - :ivar share_kind: Kind of share. Possible values include: 'CopyBased', 'InPlace'. - :vartype share_kind: str or ~data_share_management_client.models.ShareKind + :ivar share_kind: Kind of share. Possible values include: "CopyBased", "InPlace". + :vartype share_kind: str or ~azure.mgmt.datashare.models.ShareKind :ivar share_name: Name of the share. :vartype share_name: str :ivar share_subscription_status: Gets the current status of share subscription. Possible values - include: 'Active', 'Revoked', 'SourceDeleted', 'Revoking'. - :vartype share_subscription_status: str or - ~data_share_management_client.models.ShareSubscriptionStatus + include: "Active", "Revoked", "SourceDeleted", "Revoking". + :vartype share_subscription_status: str or ~azure.mgmt.datashare.models.ShareSubscriptionStatus :ivar share_terms: Terms of a share. :vartype share_terms: str :param source_share_location: Required. Source share location. @@ -3154,6 +3484,7 @@ class ShareSubscription(ProxyDto): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'created_at': {'readonly': True}, 'invitation_id': {'required': True}, @@ -3174,8 +3505,10 @@ class ShareSubscription(ProxyDto): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'created_at': {'key': 'properties.createdAt', 'type': 'iso-8601'}, + 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'invitation_id': {'key': 'properties.invitationId', 'type': 'str'}, 'provider_email': {'key': 'properties.providerEmail', 'type': 'str'}, 'provider_name': {'key': 'properties.providerName', 'type': 'str'}, @@ -3196,10 +3529,12 @@ def __init__( *, invitation_id: str, source_share_location: str, + expiration_date: Optional[datetime.datetime] = None, **kwargs ): super(ShareSubscription, self).__init__(**kwargs) self.created_at = None + self.expiration_date = expiration_date self.invitation_id = invitation_id self.provider_email = None self.provider_name = None @@ -3223,7 +3558,7 @@ class ShareSubscriptionList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ShareSubscription] + :type value: list[~azure.mgmt.datashare.models.ShareSubscription] """ _validation = { @@ -3266,9 +3601,9 @@ class ShareSubscriptionSynchronization(msrest.serialization.Model): :vartype status: str :param synchronization_id: Required. Synchronization id. :type synchronization_id: str - :ivar synchronization_mode: Synchronization Mode. Possible values include: 'Incremental', - 'FullSync'. - :vartype synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :ivar synchronization_mode: Synchronization Mode. Possible values include: "Incremental", + "FullSync". + :vartype synchronization_mode: str or ~azure.mgmt.datashare.models.SynchronizationMode """ _validation = { @@ -3315,7 +3650,7 @@ class ShareSubscriptionSynchronizationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ShareSubscriptionSynchronization] + :type value: list[~azure.mgmt.datashare.models.ShareSubscriptionSynchronization] """ _validation = { @@ -3362,9 +3697,9 @@ class ShareSynchronization(msrest.serialization.Model): :type status: str :param synchronization_id: Synchronization id. :type synchronization_id: str - :ivar synchronization_mode: Synchronization mode. Possible values include: 'Incremental', - 'FullSync'. - :vartype synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :ivar synchronization_mode: Synchronization mode. Possible values include: "Incremental", + "FullSync". + :vartype synchronization_mode: str or ~azure.mgmt.datashare.models.SynchronizationMode """ _validation = { @@ -3419,7 +3754,7 @@ class ShareSynchronizationList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.ShareSynchronization] + :type value: list[~azure.mgmt.datashare.models.ShareSynchronization] """ _validation = { @@ -3451,7 +3786,7 @@ class SourceShareSynchronizationSettingList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.SourceShareSynchronizationSetting] + :type value: list[~azure.mgmt.datashare.models.SourceShareSynchronizationSetting] """ _validation = { @@ -3475,7 +3810,7 @@ def __init__( self.value = value -class SqlDBTableDataSet(DataSet): +class SqlDbTableDataSet(DataSet): """A SQL DB table data set. Variables are only populated by the server, and will be ignored when sending a request. @@ -3486,13 +3821,15 @@ class SqlDBTableDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :param database_name: Database name of the source data set. :type database_name: str :ivar data_set_id: Unique id for identifying a data set resource. @@ -3508,6 +3845,7 @@ class SqlDBTableDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -3516,6 +3854,7 @@ class SqlDBTableDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, @@ -3534,8 +3873,8 @@ def __init__( table_name: Optional[str] = None, **kwargs ): - super(SqlDBTableDataSet, self).__init__(**kwargs) - self.kind = 'SqlDBTable' + super(SqlDbTableDataSet, self).__init__(**kwargs) + self.kind = 'SqlDBTable' # type: str self.database_name = database_name self.data_set_id = None self.schema_name = schema_name @@ -3543,7 +3882,7 @@ def __init__( self.table_name = table_name -class SqlDBTableDataSetMapping(DataSetMapping): +class SqlDbTableDataSetMapping(DataSetMapping): """A SQL DB Table data set mapping. Variables are only populated by the server, and will be ignored when sending a request. @@ -3554,24 +3893,25 @@ class SqlDBTableDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param database_name: Required. DatabaseName name of the sink data set. :type database_name: str :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param schema_name: Required. Schema of the table. Default value is dbo. :type schema_name: str :param sql_server_resource_id: Required. Resource id of SQL server. @@ -3583,6 +3923,7 @@ class SqlDBTableDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'database_name': {'required': True}, @@ -3597,6 +3938,7 @@ class SqlDBTableDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'database_name': {'key': 'properties.databaseName', 'type': 'str'}, @@ -3618,8 +3960,8 @@ def __init__( table_name: str, **kwargs ): - super(SqlDBTableDataSetMapping, self).__init__(**kwargs) - self.kind = 'SqlDBTable' + super(SqlDbTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'SqlDBTable' # type: str self.database_name = database_name self.data_set_id = data_set_id self.data_set_mapping_status = None @@ -3640,13 +3982,15 @@ class SqlDwTableDataSet(DataSet): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set.Constant filled by server. Possible values include: - 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', - 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable', - 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind :ivar data_set_id: Unique id for identifying a data set resource. :vartype data_set_id: str :param data_warehouse_name: DataWarehouse name of the source data set. @@ -3662,6 +4006,7 @@ class SqlDwTableDataSet(DataSet): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'readonly': True}, @@ -3670,6 +4015,7 @@ class SqlDwTableDataSet(DataSet): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -3689,7 +4035,7 @@ def __init__( **kwargs ): super(SqlDwTableDataSet, self).__init__(**kwargs) - self.kind = 'SqlDWTable' + self.kind = 'SqlDWTable' # type: str self.data_set_id = None self.data_warehouse_name = data_warehouse_name self.schema_name = schema_name @@ -3708,24 +4054,25 @@ class SqlDwTableDataSetMapping(DataSetMapping): :vartype id: str :ivar name: Name of the azure resource. :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData :ivar type: Type of the azure resource. :vartype type: str :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values - include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', - 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', - 'SqlDBTable', 'SqlDWTable', 'ScheduleBased'. - :type kind: str or ~data_share_management_client.models.Kind + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind :param data_set_id: Required. The id of the source data set. :type data_set_id: str :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values - include: 'Ok', 'Broken'. - :vartype data_set_mapping_status: str or - ~data_share_management_client.models.DataSetMappingStatus + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus :param data_warehouse_name: Required. DataWarehouse name of the source data set. :type data_warehouse_name: str :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: - 'Succeeded', 'Creating', 'Deleting', 'Moving', 'Failed'. - :vartype provisioning_state: str or ~data_share_management_client.models.ProvisioningState + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState :param schema_name: Required. Schema of the table. Default value is dbo. :type schema_name: str :param sql_server_resource_id: Required. Resource id of SQL server. @@ -3737,6 +4084,7 @@ class SqlDwTableDataSetMapping(DataSetMapping): _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, + 'system_data': {'readonly': True}, 'type': {'readonly': True}, 'kind': {'required': True}, 'data_set_id': {'required': True}, @@ -3751,6 +4099,7 @@ class SqlDwTableDataSetMapping(DataSetMapping): _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'type': {'key': 'type', 'type': 'str'}, 'kind': {'key': 'kind', 'type': 'str'}, 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, @@ -3773,7 +4122,7 @@ def __init__( **kwargs ): super(SqlDwTableDataSetMapping, self).__init__(**kwargs) - self.kind = 'SqlDWTable' + self.kind = 'SqlDWTable' # type: str self.data_set_id = data_set_id self.data_set_mapping_status = None self.data_warehouse_name = data_warehouse_name @@ -3783,6 +4132,137 @@ def __init__( self.table_name = table_name +class SynapseWorkspaceSqlPoolTableDataSet(DataSet): + """A Synapse Workspace Sql Pool Table data set. + + 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 id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set.Constant filled by server. Possible values include: + "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", + "AdlsGen1Folder", "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", + "SqlDWTable", "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetKind + :ivar data_set_id: Unique id for identifying a data set resource. + :vartype data_set_id: str + :param synapse_workspace_sql_pool_table_resource_id: Required. Resource id of the Synapse + Workspace SQL Pool Table. + :type synapse_workspace_sql_pool_table_resource_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'readonly': True}, + 'synapse_workspace_sql_pool_table_resource_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'synapse_workspace_sql_pool_table_resource_id': {'key': 'properties.synapseWorkspaceSqlPoolTableResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + synapse_workspace_sql_pool_table_resource_id: str, + **kwargs + ): + super(SynapseWorkspaceSqlPoolTableDataSet, self).__init__(**kwargs) + self.kind = 'SynapseWorkspaceSqlPoolTable' # type: str + self.data_set_id = None + self.synapse_workspace_sql_pool_table_resource_id = synapse_workspace_sql_pool_table_resource_id + + +class SynapseWorkspaceSqlPoolTableDataSetMapping(DataSetMapping): + """A Synapse Workspace Sql Pool Table data set mapping. + + 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 id of the azure resource. + :vartype id: str + :ivar name: Name of the azure resource. + :vartype name: str + :ivar system_data: System Data of the Azure resource. + :vartype system_data: ~azure.mgmt.datashare.models.SystemData + :ivar type: Type of the azure resource. + :vartype type: str + :param kind: Required. Kind of data set mapping.Constant filled by server. Possible values + include: "Blob", "Container", "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", + "AdlsGen2File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :type kind: str or ~azure.mgmt.datashare.models.DataSetMappingKind + :param data_set_id: Required. The id of the source data set. + :type data_set_id: str + :ivar data_set_mapping_status: Gets the status of the data set mapping. Possible values + include: "Ok", "Broken". + :vartype data_set_mapping_status: str or ~azure.mgmt.datashare.models.DataSetMappingStatus + :ivar provisioning_state: Provisioning state of the data set mapping. Possible values include: + "Succeeded", "Creating", "Deleting", "Moving", "Failed". + :vartype provisioning_state: str or ~azure.mgmt.datashare.models.ProvisioningState + :param synapse_workspace_sql_pool_table_resource_id: Required. Resource id of the Synapse + Workspace SQL Pool Table. + :type synapse_workspace_sql_pool_table_resource_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'system_data': {'readonly': True}, + 'type': {'readonly': True}, + 'kind': {'required': True}, + 'data_set_id': {'required': True}, + 'data_set_mapping_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'synapse_workspace_sql_pool_table_resource_id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'data_set_id': {'key': 'properties.dataSetId', 'type': 'str'}, + 'data_set_mapping_status': {'key': 'properties.dataSetMappingStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'synapse_workspace_sql_pool_table_resource_id': {'key': 'properties.synapseWorkspaceSqlPoolTableResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + data_set_id: str, + synapse_workspace_sql_pool_table_resource_id: str, + **kwargs + ): + super(SynapseWorkspaceSqlPoolTableDataSetMapping, self).__init__(**kwargs) + self.kind = 'SynapseWorkspaceSqlPoolTable' # type: str + self.data_set_id = data_set_id + self.data_set_mapping_status = None + self.provisioning_state = None + self.synapse_workspace_sql_pool_table_resource_id = synapse_workspace_sql_pool_table_resource_id + + class SynchronizationDetails(msrest.serialization.Model): """Synchronization details at data set level. @@ -3790,10 +4270,11 @@ class SynchronizationDetails(msrest.serialization.Model): :ivar data_set_id: Id of data set. :vartype data_set_id: str - :ivar data_set_type: Type of the data set. Possible values include: 'Blob', 'Container', - 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', - 'AdlsGen1File', 'KustoCluster', 'KustoDatabase', 'SqlDBTable', 'SqlDWTable'. - :vartype data_set_type: str or ~data_share_management_client.models.DataSetType + :ivar data_set_type: Type of the data set. Possible values include: "Blob", "Container", + "BlobFolder", "AdlsGen2FileSystem", "AdlsGen2Folder", "AdlsGen2File", "AdlsGen1Folder", + "AdlsGen1File", "KustoCluster", "KustoDatabase", "KustoTable", "SqlDBTable", "SqlDWTable", + "SynapseWorkspaceSqlPoolTable". + :vartype data_set_type: str or ~azure.mgmt.datashare.models.DataSetType :ivar duration_ms: Duration of data set level copy. :vartype duration_ms: int :ivar end_time: End time of data set level copy. @@ -3888,7 +4369,7 @@ class SynchronizationDetailsList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.SynchronizationDetails] + :type value: list[~azure.mgmt.datashare.models.SynchronizationDetails] """ _validation = { @@ -3920,7 +4401,7 @@ class SynchronizationSettingList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.SynchronizationSetting] + :type value: list[~azure.mgmt.datashare.models.SynchronizationSetting] """ _validation = { @@ -3948,8 +4429,8 @@ class Synchronize(msrest.serialization.Model): """Payload for the synchronizing the data. :param synchronization_mode: Mode of synchronization used in triggers and snapshot sync. - Incremental by default. Possible values include: 'Incremental', 'FullSync'. - :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + Incremental by default. Possible values include: "Incremental", "FullSync". + :type synchronization_mode: str or ~azure.mgmt.datashare.models.SynchronizationMode """ _attribute_map = { @@ -3966,6 +4447,109 @@ def __init__( self.synchronization_mode = synchronization_mode +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :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.datashare.models.CreatedByType + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_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.mgmt.datashare.models.LastModifiedByType + """ + + _attribute_map = { + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + } + + def __init__( + self, + *, + created_at: Optional[datetime.datetime] = None, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "LastModifiedByType"]] = None, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_at = created_at + self.created_by = created_by + self.created_by_type = created_by_type + self.last_modified_at = last_modified_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + + +class TableLevelSharingProperties(msrest.serialization.Model): + """Table level sharing properties dto for kusto data set properties. + + :param external_tables_to_exclude: External tables to be excluded in the data set. + :type external_tables_to_exclude: list[str] + :param external_tables_to_include: External tables to be included in the data set. + :type external_tables_to_include: list[str] + :param materialized_views_to_exclude: Materialized views to be excluded in the data set. + :type materialized_views_to_exclude: list[str] + :param materialized_views_to_include: Materialized views to be included in the data set. + :type materialized_views_to_include: list[str] + :param tables_to_exclude: Tables to be excluded in the data set. + :type tables_to_exclude: list[str] + :param tables_to_include: Tables to be included in the data set. + :type tables_to_include: list[str] + """ + + _validation = { + 'external_tables_to_exclude': {'unique': True}, + 'external_tables_to_include': {'unique': True}, + 'materialized_views_to_exclude': {'unique': True}, + 'materialized_views_to_include': {'unique': True}, + 'tables_to_exclude': {'unique': True}, + 'tables_to_include': {'unique': True}, + } + + _attribute_map = { + 'external_tables_to_exclude': {'key': 'externalTablesToExclude', 'type': '[str]'}, + 'external_tables_to_include': {'key': 'externalTablesToInclude', 'type': '[str]'}, + 'materialized_views_to_exclude': {'key': 'materializedViewsToExclude', 'type': '[str]'}, + 'materialized_views_to_include': {'key': 'materializedViewsToInclude', 'type': '[str]'}, + 'tables_to_exclude': {'key': 'tablesToExclude', 'type': '[str]'}, + 'tables_to_include': {'key': 'tablesToInclude', 'type': '[str]'}, + } + + def __init__( + self, + *, + external_tables_to_exclude: Optional[List[str]] = None, + external_tables_to_include: Optional[List[str]] = None, + materialized_views_to_exclude: Optional[List[str]] = None, + materialized_views_to_include: Optional[List[str]] = None, + tables_to_exclude: Optional[List[str]] = None, + tables_to_include: Optional[List[str]] = None, + **kwargs + ): + super(TableLevelSharingProperties, self).__init__(**kwargs) + self.external_tables_to_exclude = external_tables_to_exclude + self.external_tables_to_include = external_tables_to_include + self.materialized_views_to_exclude = materialized_views_to_exclude + self.materialized_views_to_include = materialized_views_to_include + self.tables_to_exclude = tables_to_exclude + self.tables_to_include = tables_to_include + + class TriggerList(msrest.serialization.Model): """List response for get triggers. @@ -3974,7 +4558,7 @@ class TriggerList(msrest.serialization.Model): :param next_link: The Url of next result page. :type next_link: str :param value: Required. Collection of items of type DataTransferObjects. - :type value: list[~data_share_management_client.models.Trigger] + :type value: list[~azure.mgmt.datashare.models.Trigger] """ _validation = { diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/__init__.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/__init__.py index 72ad85b0b3c..e6f97231afd 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/__init__.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/__init__.py @@ -6,30 +6,32 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._account_operations import AccountOperations -from ._consumer_invitation_operations import ConsumerInvitationOperations -from ._data_set_operations import DataSetOperations -from ._data_set_mapping_operations import DataSetMappingOperations -from ._invitation_operations import InvitationOperations -from ._operation_operations import OperationOperations -from ._share_operations import ShareOperations -from ._provider_share_subscription_operations import ProviderShareSubscriptionOperations -from ._share_subscription_operations import ShareSubscriptionOperations -from ._consumer_source_data_set_operations import ConsumerSourceDataSetOperations -from ._synchronization_setting_operations import SynchronizationSettingOperations -from ._trigger_operations import TriggerOperations +from ._accounts_operations import AccountsOperations +from ._consumer_invitations_operations import ConsumerInvitationsOperations +from ._data_sets_operations import DataSetsOperations +from ._data_set_mappings_operations import DataSetMappingsOperations +from ._email_registrations_operations import EmailRegistrationsOperations +from ._invitations_operations import InvitationsOperations +from ._operations import Operations +from ._shares_operations import SharesOperations +from ._provider_share_subscriptions_operations import ProviderShareSubscriptionsOperations +from ._share_subscriptions_operations import ShareSubscriptionsOperations +from ._consumer_source_data_sets_operations import ConsumerSourceDataSetsOperations +from ._synchronization_settings_operations import SynchronizationSettingsOperations +from ._triggers_operations import TriggersOperations __all__ = [ - 'AccountOperations', - 'ConsumerInvitationOperations', - 'DataSetOperations', - 'DataSetMappingOperations', - 'InvitationOperations', - 'OperationOperations', - 'ShareOperations', - 'ProviderShareSubscriptionOperations', - 'ShareSubscriptionOperations', - 'ConsumerSourceDataSetOperations', - 'SynchronizationSettingOperations', - 'TriggerOperations', + 'AccountsOperations', + 'ConsumerInvitationsOperations', + 'DataSetsOperations', + 'DataSetMappingsOperations', + 'EmailRegistrationsOperations', + 'InvitationsOperations', + 'Operations', + 'SharesOperations', + 'ProviderShareSubscriptionsOperations', + 'ShareSubscriptionsOperations', + 'ConsumerSourceDataSetsOperations', + 'SynchronizationSettingsOperations', + 'TriggersOperations', ] diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_account_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_accounts_operations.py similarity index 60% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_account_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_accounts_operations.py index 2b06a214c51..1fde2c17b68 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_account_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_accounts_operations.py @@ -5,28 +5,34 @@ # 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 +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.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 -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class AccountOperations(object): - """AccountOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class AccountsOperations(object): + """AccountsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +47,81 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + def list_by_subscription( + self, + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.AccountList"] + """List Accounts in a subscription. + + List Accounts in Subscription. + + :param skip_token: Continuation token. + :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 AccountList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.AccountList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_subscription.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('AccountList', 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.DataShareError, 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.DataShare/accounts'} # type: ignore + def get( self, resource_group_name, # type: str @@ -48,25 +129,29 @@ def get( **kwargs # type: Any ): # type: (...) -> "models.Account" - """Get an account. + """Get an account under a resource group. - Get an account under a resource group. + Get an account. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Account or the result of cls(response) - :rtype: ~data_share_management_client.models.Account + :return: Account, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Account :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -80,9 +165,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -90,35 +174,35 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Account', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} # type: ignore def _create_initial( self, resource_group_name, # type: str account_name, # type: str - identity, # type: "models.Identity" - location=None, # type: Optional[str] - tags=None, # type: Optional[Dict[str, str]] + account, # type: "models.Account" **kwargs # type: Any ): # type: (...) -> "models.Account" cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _account = models.Account(location=location, tags=tags, identity=identity) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self._create_initial.metadata['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'), @@ -133,23 +217,20 @@ 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_account, 'Account') + body_content = self._serialize.body(account, 'Account') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Account', pipeline_response) @@ -157,55 +238,57 @@ def _create_initial( deserialized = self._deserialize('Account', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} # type: ignore def begin_create( self, resource_group_name, # type: str account_name, # type: str - identity, # type: "models.Identity" - location=None, # type: Optional[str] - tags=None, # type: Optional[Dict[str, str]] + account, # type: "models.Account" **kwargs # type: Any ): - # type: (...) -> "models.Account" - """Create an account. + # type: (...) -> LROPoller["models.Account"] + """Create an account in the given resource group. - Create an account in the given resource group. + Create an account. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_name: str - :param identity: Identity Info on the Account. - :type identity: ~data_share_management_client.models.Identity - :param location: Location of the azure resource. - :type location: str - :param tags: Tags on the azure resource. - :type tags: dict[str, str] + :param account: The account payload. + :type account: ~azure.mgmt.datashare.models.Account :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 - :return: An instance of LROPoller that returns Account - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.Account] - + :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 Account or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.Account] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] - raw_result = self._create_initial( - resource_group_name=resource_group_name, - account_name=account_name, - identity=identity, - location=location, - tags=tags, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + account=account, + 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('Account', pipeline_response) @@ -214,15 +297,25 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + 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.DataShare/accounts/{accountName}'} # type: ignore def _delete_initial( self, @@ -230,13 +323,17 @@ def _delete_initial( account_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + # type: (...) -> Optional["models.OperationResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -250,9 +347,8 @@ def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -260,17 +356,17 @@ def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} # type: ignore def begin_delete( self, @@ -278,32 +374,42 @@ def begin_delete( account_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - """DeleteAccount. + # type: (...) -> LROPoller["models.OperationResponse"] + """Delete an account. - Delete an account. + DeleteAccount. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_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('OperationResponse', pipeline_response) @@ -312,48 +418,60 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} + 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.DataShare/accounts/{accountName}'} # type: ignore def update( self, resource_group_name, # type: str account_name, # type: str - tags=None, # type: Optional[Dict[str, str]] + account_update_parameters, # type: "models.AccountUpdateParameters" **kwargs # type: Any ): # type: (...) -> "models.Account" - """Patch an account. + """Patch a given account. - Patch a given account. + Patch an account. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_name: str - :param tags: Tags on the azure resource. - :type tags: dict[str, str] + :param account_update_parameters: The account update parameters. + :type account_update_parameters: ~azure.mgmt.datashare.models.AccountUpdateParameters :keyword callable cls: A custom type or function that will be passed the direct response - :return: Account or the result of cls(response) - :rtype: ~data_share_management_client.models.Account + :return: Account, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Account :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Account"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _account_update_parameters = models.AccountUpdateParameters(tags=tags) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" 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'), @@ -368,100 +486,27 @@ 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_account_update_parameters, 'AccountUpdateParameters') + body_content = self._serialize.body(account_update_parameters, 'AccountUpdateParameters') 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(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Account', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} - - def list_by_subscription( - self, - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.AccountList" - """List Accounts in Subscription. - - List Accounts in a subscription. - - :param skip_token: Continuation token. - :type skip_token: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AccountList or the result of cls(response) - :rtype: ~data_share_management_client.models.AccountList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_subscription.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) - else: - url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('AccountList', 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.DataShareError, 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_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts'} + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}'} # type: ignore def list_by_resource_group( self, @@ -469,48 +514,52 @@ def list_by_resource_group( skip_token=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.AccountList" - """List Accounts in ResourceGroup. + # type: (...) -> Iterable["models.AccountList"] + """List Accounts in a resource group. - List Accounts in a resource group. + List Accounts in ResourceGroup. :param resource_group_name: The resource group name. :type resource_group_name: str :param skip_token: Continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: AccountList or the result of cls(response) - :rtype: ~data_share_management_client.models.AccountList + :return: An iterator like instance of either AccountList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.AccountList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.AccountList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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'] + 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 - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 extract_data(pipeline_response): @@ -529,11 +578,11 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + 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.DataShare/accounts'} + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitation_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitations_operations.py similarity index 63% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitation_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitations_operations.py index 61235cd44a9..a41049ad871 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitation_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_invitations_operations.py @@ -5,27 +5,32 @@ # 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 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 from .. import models -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar -class ConsumerInvitationOperations(object): - """ConsumerInvitationOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ConsumerInvitationsOperations(object): + """ConsumerInvitationsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,37 +45,110 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def reject_invitation( + def list_invitations( + self, + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ConsumerInvitationList"] + """List the invitations. + + Lists invitations. + + :param skip_token: The continuation token. + :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 ConsumerInvitationList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.ConsumerInvitationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_invitations.metadata['url'] # type: ignore + # 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('ConsumerInvitationList', 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.DataShareError, 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_invitations.metadata = {'url': '/providers/Microsoft.DataShare/listInvitations'} # type: ignore + + def get( self, location, # type: str invitation_id, # type: str **kwargs # type: Any ): # type: (...) -> "models.ConsumerInvitation" - """Reject an invitation. + """Gets the invitation identified by invitationId. - Rejects the invitation identified by invitationId. + Get an invitation. :param location: Location of the invitation. :type location: str - :param invitation_id: Unique id of the invitation. + :param invitation_id: An invitation id. :type invitation_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ConsumerInvitation or the result of cls(response) - :rtype: ~data_share_management_client.models.ConsumerInvitation + :return: ConsumerInvitation, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ConsumerInvitation :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitation"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _invitation = models.ConsumerInvitation(invitation_id=invitation_id) - api_version = "2019-11-01" - content_type = kwargs.pop("content_type", "application/json") + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self.reject_invitation.metadata['url'] + url = self.get.metadata['url'] # type: ignore path_format_arguments = { 'location': self._serialize.url("location", location, 'str'), + 'invitationId': self._serialize.url("invitation_id", invitation_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -80,60 +158,58 @@ def reject_invitation( # 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' - - # Construct and send request - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_invitation, 'ConsumerInvitation') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ConsumerInvitation', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - reject_invitation.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/RejectInvitation'} + get.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/consumerInvitations/{invitationId}'} # type: ignore - def get( + def reject_invitation( self, location, # type: str - invitation_id, # type: str + invitation, # type: "models.ConsumerInvitation" **kwargs # type: Any ): # type: (...) -> "models.ConsumerInvitation" - """Get an invitation. + """Rejects the invitation identified by invitationId. - Gets the invitation identified by invitationId. + Reject an invitation. :param location: Location of the invitation. :type location: str - :param invitation_id: An invitation id. - :type invitation_id: str + :param invitation: An invitation payload. + :type invitation: ~azure.mgmt.datashare.models.ConsumerInvitation :keyword callable cls: A custom type or function that will be passed the direct response - :return: ConsumerInvitation or the result of cls(response) - :rtype: ~data_share_management_client.models.ConsumerInvitation + :return: ConsumerInvitation, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ConsumerInvitation :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitation"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.get.metadata['url'] + url = self.reject_invitation.metadata['url'] # type: ignore path_format_arguments = { 'location': self._serialize.url("location", location, 'str'), - 'invitationId': self._serialize.url("invitation_id", invitation_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -143,89 +219,25 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + 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.get(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(invitation, 'ConsumerInvitation') + 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) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ConsumerInvitation', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/consumerInvitations/{invitationId}'} - - def list_invitation( - self, - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.ConsumerInvitationList" - """Lists invitations. - - List the invitations. - - :param skip_token: The continuation token. - :type skip_token: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ConsumerInvitationList or the result of cls(response) - :rtype: ~data_share_management_client.models.ConsumerInvitationList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerInvitationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_invitation.metadata['url'] - else: - url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ConsumerInvitationList', 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.DataShareError, 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_invitation.metadata = {'url': '/providers/Microsoft.DataShare/ListInvitations'} + reject_invitation.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/rejectInvitation'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_set_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_sets_operations.py similarity index 69% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_set_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_sets_operations.py index f45b8832698..bf61f93327c 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_set_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_consumer_source_data_sets_operations.py @@ -5,27 +5,32 @@ # 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 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 from .. import models -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar -class ConsumerSourceDataSetOperations(object): - """ConsumerSourceDataSetOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ConsumerSourceDataSetsOperations(object): + """ConsumerSourceDataSetsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -48,7 +53,7 @@ def list_by_share_subscription( skip_token=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.ConsumerSourceDataSetList" + # type: (...) -> Iterable["models.ConsumerSourceDataSetList"] """Get source dataSets of a shareSubscription. Get source dataSets of a shareSubscription. @@ -62,18 +67,26 @@ def list_by_share_subscription( :param skip_token: Continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ConsumerSourceDataSetList or the result of cls(response) - :rtype: ~data_share_management_client.models.ConsumerSourceDataSetList + :return: An iterator like instance of either ConsumerSourceDataSetList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.ConsumerSourceDataSetList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConsumerSourceDataSetList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share_subscription.metadata['url'] + url = self.list_by_share_subscription.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -81,21 +94,17 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 extract_data(pipeline_response): @@ -114,11 +123,11 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/ConsumerSourceDataSets'} + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/consumerSourceDataSets'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mapping_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mappings_operations.py similarity index 73% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mapping_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mappings_operations.py index be59ce3d9b9..d343edef11f 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mapping_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_mappings_operations.py @@ -5,27 +5,32 @@ # 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 +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 from .. import models -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class DataSetMappingOperations(object): - """DataSetMappingOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DataSetMappingsOperations(object): + """DataSetMappingsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,9 +54,9 @@ def get( **kwargs # type: Any ): # type: (...) -> "models.DataSetMapping" - """Get a DataSetMapping in a shareSubscription. + """Get DataSetMapping in a shareSubscription. - Get DataSetMapping in a shareSubscription. + Get a DataSetMapping in a shareSubscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -62,16 +67,20 @@ def get( :param data_set_mapping_name: The name of the dataSetMapping. :type data_set_mapping_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSetMapping or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSetMapping + :return: DataSetMapping, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.DataSetMapping :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMapping"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -87,9 +96,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -97,15 +105,15 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('DataSetMapping', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} # type: ignore def create( self, @@ -117,11 +125,11 @@ def create( **kwargs # type: Any ): # type: (...) -> "models.DataSetMapping" - """Create a DataSetMapping. - - Maps a source data set in the source share to a sink data set in the share subscription. + """Maps a source data set in the source share to a sink data set in the share subscription. Enables copying the data set from source to destination. + Create a DataSetMapping. + :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. @@ -132,19 +140,23 @@ def create( :param data_set_mapping_name: The name of the data set mapping to be created. :type data_set_mapping_name: str :param data_set_mapping: Destination data set configuration details. - :type data_set_mapping: ~data_share_management_client.models.DataSetMapping + :type data_set_mapping: ~azure.mgmt.datashare.models.DataSetMapping :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSetMapping or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSetMapping or ~data_share_management_client.models.DataSetMapping + :return: DataSetMapping, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.DataSetMapping :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMapping"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -161,23 +173,20 @@ def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(data_set_mapping, 'DataSetMapping') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('DataSetMapping', pipeline_response) @@ -185,10 +194,10 @@ def create( deserialized = self._deserialize('DataSetMapping', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} # type: ignore def delete( self, @@ -199,9 +208,9 @@ def delete( **kwargs # type: Any ): # type: (...) -> None - """Delete a DataSetMapping in a shareSubscription. + """Delete DataSetMapping in a shareSubscription. - Delete DataSetMapping in a shareSubscription. + Delete a DataSetMapping in a shareSubscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -212,16 +221,20 @@ def delete( :param data_set_mapping_name: The name of the dataSetMapping. :type data_set_mapping_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) + :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 = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -237,8 +250,8 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -246,12 +259,12 @@ def delete( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings/{dataSetMappingName}'} # type: ignore def list_by_share_subscription( self, @@ -259,9 +272,11 @@ def list_by_share_subscription( account_name, # type: str share_subscription_name, # type: str skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.DataSetMappingList" + # type: (...) -> Iterable["models.DataSetMappingList"] """List DataSetMappings in a share subscription. List DataSetMappings in a share subscription. @@ -274,19 +289,31 @@ def list_by_share_subscription( :type share_subscription_name: str :param skip_token: Continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSetMappingList or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSetMappingList + :return: An iterator like instance of either DataSetMappingList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.DataSetMappingList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetMappingList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share_subscription.metadata['url'] + url = self.list_by_share_subscription.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -294,21 +321,21 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 extract_data(pipeline_response): @@ -327,11 +354,11 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings'} + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/dataSetMappings'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_sets_operations.py similarity index 66% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_sets_operations.py index 95929ba4858..83f06ec4e20 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_set_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_data_sets_operations.py @@ -5,28 +5,34 @@ # 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 +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.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 -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class DataSetOperations(object): - """DataSetOperations operations. + 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -50,9 +56,9 @@ def get( **kwargs # type: Any ): # type: (...) -> "models.DataSet" - """Get a DataSet in a share. + """Get DataSet in a share. - Get DataSet in a share. + Get a DataSet in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -63,16 +69,20 @@ def get( :param data_set_name: The name of the dataSet. :type data_set_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSet or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSet + :return: DataSet, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.DataSet :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSet"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -88,9 +98,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -98,15 +107,15 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('DataSet', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} # type: ignore def create( self, @@ -118,9 +127,9 @@ def create( **kwargs # type: Any ): # type: (...) -> "models.DataSet" - """Create a DataSet. + """Adds a new data set to an existing share. - Adds a new data set to an existing share. + Create a DataSet. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -131,19 +140,23 @@ def create( :param data_set_name: The name of the dataSet. :type data_set_name: str :param data_set: The new data set information. - :type data_set: ~data_share_management_client.models.DataSet + :type data_set: ~azure.mgmt.datashare.models.DataSet :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSet or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSet or ~data_share_management_client.models.DataSet + :return: DataSet, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.DataSet :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSet"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -160,23 +173,20 @@ def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(data_set, 'DataSet') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('DataSet', pipeline_response) @@ -184,10 +194,10 @@ def create( deserialized = self._deserialize('DataSet', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} # type: ignore def _delete_initial( self, @@ -199,11 +209,15 @@ def _delete_initial( ): # type: (...) -> None cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -219,8 +233,8 @@ def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -228,12 +242,12 @@ def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} # type: ignore def begin_delete( self, @@ -243,10 +257,10 @@ def begin_delete( data_set_name, # type: str **kwargs # type: Any ): - # type: (...) -> None - """Delete a DataSet in a share. + # type: (...) -> LROPoller[None] + """Delete DataSet in a share. - Delete DataSet in a share. + Delete a DataSet in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -257,38 +271,60 @@ def begin_delete( :param data_set_name: The name of the dataSet. :type data_set_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 - :return: An instance of LROPoller that returns None + :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', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - data_set_name=data_set_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_name=share_name, + data_set_name=data_set_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, {}) - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'dataSetName': self._serialize.url("data_set_name", data_set_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} + 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.DataShare/accounts/{accountName}/shares/{shareName}/dataSets/{dataSetName}'} # type: ignore def list_by_share( self, @@ -296,9 +332,11 @@ def list_by_share( account_name, # type: str share_name, # type: str skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.DataSetList" + # type: (...) -> Iterable["models.DataSetList"] """List DataSets in a share. List DataSets in a share. @@ -311,19 +349,31 @@ def list_by_share( :type share_name: str :param skip_token: continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: DataSetList or the result of cls(response) - :rtype: ~data_share_management_client.models.DataSetList + :return: An iterator like instance of either DataSetList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.DataSetList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.DataSetList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share.metadata['url'] + url = self.list_by_share.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -331,21 +381,21 @@ def prepare_request(next_link=None): 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 extract_data(pipeline_response): @@ -364,11 +414,11 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets'} + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/dataSets'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_email_registrations_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_email_registrations_operations.py new file mode 100644 index 00000000000..c590283a5e2 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_email_registrations_operations.py @@ -0,0 +1,167 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 EmailRegistrationsOperations(object): + """EmailRegistrationsOperations 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.datashare.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 activate_email( + self, + location, # type: str + email_registration, # type: "models.EmailRegistration" + **kwargs # type: Any + ): + # type: (...) -> "models.EmailRegistration" + """Activates the tenant and email combination using email code received. + + Activate the email registration for the current tenant. + + :param location: Location of the activation. + :type location: str + :param email_registration: The payload for tenant domain activation. + :type email_registration: ~azure.mgmt.datashare.models.EmailRegistration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EmailRegistration, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.EmailRegistration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EmailRegistration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.activate_email.metadata['url'] # type: ignore + path_format_arguments = { + '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(email_registration, 'EmailRegistration') + 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) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('EmailRegistration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + activate_email.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/activateEmail'} # type: ignore + + def register_email( + self, + location, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.EmailRegistration" + """Registers the tenant and email combination for verification. + + Register an email for the current tenant. + + :param location: Location of the registration. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EmailRegistration, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.EmailRegistration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.EmailRegistration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" + + # Construct URL + url = self.register_email.metadata['url'] # type: ignore + path_format_arguments = { + '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['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) + error = self._deserialize(models.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('EmailRegistration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + register_email.metadata = {'url': '/providers/Microsoft.DataShare/locations/{location}/registerEmail'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitation_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitations_operations.py similarity index 71% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitation_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitations_operations.py index f6d2e38dc1a..38b6dde62c1 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitation_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_invitations_operations.py @@ -5,27 +5,32 @@ # 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 +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 from .. import models -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class InvitationOperations(object): - """InvitationOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class InvitationsOperations(object): + """InvitationsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,9 +54,9 @@ def get( **kwargs # type: Any ): # type: (...) -> "models.Invitation" - """Get an invitation in a share. + """Get Invitation in a share. - Get Invitation in a share. + Get an invitation in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -62,16 +67,20 @@ def get( :param invitation_name: The name of the invitation. :type invitation_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Invitation or the result of cls(response) - :rtype: ~data_share_management_client.models.Invitation + :return: Invitation, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Invitation :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Invitation"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -87,9 +96,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -97,15 +105,15 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Invitation', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} # type: ignore def create( self, @@ -113,15 +121,13 @@ def create( account_name, # type: str share_name, # type: str invitation_name, # type: str - target_active_directory_id=None, # type: Optional[str] - target_email=None, # type: Optional[str] - target_object_id=None, # type: Optional[str] + invitation, # type: "models.Invitation" **kwargs # type: Any ): # type: (...) -> "models.Invitation" - """Create an invitation. + """Sends a new invitation to a recipient to access a share. - Sends a new invitation to a recipient to access a share. + Create an invitation. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -131,28 +137,24 @@ def create( :type share_name: str :param invitation_name: The name of the invitation. :type invitation_name: str - :param target_active_directory_id: The target Azure AD Id. Can't be combined with email. - :type target_active_directory_id: str - :param target_email: The email the invitation is directed to. - :type target_email: str - :param target_object_id: The target user or application Id that invitation is being sent to. - Must be specified along TargetActiveDirectoryId. This enables sending - invitations to specific users or applications in an AD tenant. - :type target_object_id: str + :param invitation: Invitation details. + :type invitation: ~azure.mgmt.datashare.models.Invitation :keyword callable cls: A custom type or function that will be passed the direct response - :return: Invitation or the result of cls(response) - :rtype: ~data_share_management_client.models.Invitation or ~data_share_management_client.models.Invitation + :return: Invitation, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Invitation :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Invitation"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _invitation = models.Invitation(target_active_directory_id=target_active_directory_id, target_email=target_email, target_object_id=target_object_id) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -169,23 +171,20 @@ def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_invitation, 'Invitation') + body_content = self._serialize.body(invitation, 'Invitation') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Invitation', pipeline_response) @@ -193,10 +192,10 @@ def create( deserialized = self._deserialize('Invitation', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} # type: ignore def delete( self, @@ -207,9 +206,9 @@ def delete( **kwargs # type: Any ): # type: (...) -> None - """Delete an invitation in a share. + """Delete Invitation in a share. - Delete Invitation in a share. + Delete an invitation in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -220,16 +219,20 @@ def delete( :param invitation_name: The name of the invitation. :type invitation_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) + :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 = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -245,8 +248,8 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -254,12 +257,12 @@ def delete( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, None, {}) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations/{invitationName}'} # type: ignore def list_by_share( self, @@ -267,12 +270,14 @@ def list_by_share( account_name, # type: str share_name, # type: str skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.InvitationList" - """List invitations in a share. + # type: (...) -> Iterable["models.InvitationList"] + """List all Invitations in a share. - List all Invitations in a share. + List invitations in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -282,19 +287,31 @@ def list_by_share( :type share_name: str :param skip_token: The continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: InvitationList or the result of cls(response) - :rtype: ~data_share_management_client.models.InvitationList + :return: An iterator like instance of either InvitationList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.InvitationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.InvitationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share.metadata['url'] + url = self.list_by_share.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -302,21 +319,21 @@ def prepare_request(next_link=None): 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 extract_data(pipeline_response): @@ -335,11 +352,11 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations'} + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/invitations'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operation_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operation_operations.py deleted file mode 100644 index ea88e363ce7..00000000000 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operation_operations.py +++ /dev/null @@ -1,103 +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, Callable, Dict, Generic, Optional, TypeVar -import warnings - -from azure.core.exceptions import 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 - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class OperationOperations(object): - """OperationOperations 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_share_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: (...) -> "models.OperationList" - """List of available operations. - - Lists the available operations. - - :keyword callable cls: A custom type or function that will be passed the direct response - :return: OperationList or the result of cls(response) - :rtype: ~data_share_management_client.models.OperationList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list.metadata['url'] - else: - url = next_link - - # 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'] = 'application/json' - - # Construct and send request - 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]: - error = self._deserialize(models.DataShareError, 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.metadata = {'url': '/providers/Microsoft.DataShare/operations'} diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_operations.py new file mode 100644 index 00000000000..bd2e15a8221 --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_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. +# -------------------------------------------------------------------------- +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: ~azure.mgmt.datashare.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"] + """Lists the available operations. + + List of available 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.datashare.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 = "2021-08-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]: + error = self._deserialize(models.DataShareError, 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.DataShare/operations'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscription_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscriptions_operations.py similarity index 55% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscription_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscriptions_operations.py index 8c663fab40b..d691dbe8980 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscription_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_provider_share_subscriptions_operations.py @@ -5,28 +5,34 @@ # 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 +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.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 -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class ProviderShareSubscriptionOperations(object): - """ProviderShareSubscriptionOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ProviderShareSubscriptionsOperations(object): + """ProviderShareSubscriptionsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,18 +47,19 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def get_by_share( + def adjust( self, resource_group_name, # type: str account_name, # type: str share_name, # type: str provider_share_subscription_id, # type: str + provider_share_subscription, # type: "models.ProviderShareSubscription" **kwargs # type: Any ): # type: (...) -> "models.ProviderShareSubscription" - """Get share subscription in a provider share. + """Adjust the expiration date of a share subscription in a provider share. - Get share subscription in a provider share. + Adjust a share subscription's expiration date in a provider share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -62,17 +69,24 @@ def get_by_share( :type share_name: str :param provider_share_subscription_id: To locate shareSubscription. :type provider_share_subscription_id: str + :param provider_share_subscription: The provider share subscription. + :type provider_share_subscription: ~azure.mgmt.datashare.models.ProviderShareSubscription :keyword callable cls: A custom type or function that will be passed the direct response - :return: ProviderShareSubscription or the result of cls(response) - :rtype: ~data_share_management_client.models.ProviderShareSubscription + :return: ProviderShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ProviderShareSubscription :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.get_by_share.metadata['url'] + url = self.adjust.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -88,38 +102,42 @@ def get_by_share( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + 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.get(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(provider_share_subscription, 'ProviderShareSubscription') + 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) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}'} + adjust.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/adjust'} # type: ignore - def list_by_share( + def reinstate( self, resource_group_name, # type: str account_name, # type: str share_name, # type: str - skip_token=None, # type: Optional[str] + provider_share_subscription_id, # type: str + provider_share_subscription, # type: "models.ProviderShareSubscription" **kwargs # type: Any ): - # type: (...) -> "models.ProviderShareSubscriptionList" - """List share subscriptions in a provider share. + # type: (...) -> "models.ProviderShareSubscription" + """Reinstate share subscription in a provider share. - List of available share subscriptions to a provider share. + Reinstate share subscription in a provider share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -127,69 +145,63 @@ def list_by_share( :type account_name: str :param share_name: The name of the share. :type share_name: str - :param skip_token: Continuation Token. - :type skip_token: str + :param provider_share_subscription_id: To locate shareSubscription. + :type provider_share_subscription_id: str + :param provider_share_subscription: The provider share subscription. + :type provider_share_subscription: ~azure.mgmt.datashare.models.ProviderShareSubscription :keyword callable cls: A custom type or function that will be passed the direct response - :return: ProviderShareSubscriptionList or the result of cls(response) - :rtype: ~data_share_management_client.models.ProviderShareSubscriptionList + :return: ProviderShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ProviderShareSubscription :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscriptionList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_share.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareName': self._serialize.url("share_name", share_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - else: - url = next_link - - # 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') + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + # Construct URL + url = self.reinstate.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - def extract_data(pipeline_response): - deserialized = self._deserialize('ProviderShareSubscriptionList', 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) + # 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') - def get_next(next_link=None): - request = prepare_request(next_link) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(provider_share_subscription, 'ProviderShareSubscription') + 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 - 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.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - if response.status_code not in [200]: - error = self._deserialize(models.DataShareError, response) - map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) - return pipeline_response + if cls: + return cls(pipeline_response, deserialized, {}) - return ItemPaged( - get_next, extract_data - ) - list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions'} + return deserialized + reinstate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate'} # type: ignore def _revoke_initial( self, @@ -201,11 +213,15 @@ def _revoke_initial( ): # type: (...) -> "models.ProviderShareSubscription" cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._revoke_initial.metadata['url'] + url = self._revoke_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'), @@ -221,9 +237,8 @@ def _revoke_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -231,9 +246,8 @@ def _revoke_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) @@ -241,10 +255,10 @@ def _revoke_initial( deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _revoke_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} + _revoke_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} # type: ignore def begin_revoke( self, @@ -254,7 +268,7 @@ def begin_revoke( provider_share_subscription_id, # type: str **kwargs # type: Any ): - # type: (...) -> "models.ProviderShareSubscription" + # type: (...) -> LROPoller["models.ProviderShareSubscription"] """Revoke share subscription in a provider share. Revoke share subscription in a provider share. @@ -268,24 +282,34 @@ def begin_revoke( :param provider_share_subscription_id: To locate shareSubscription. :type provider_share_subscription_id: 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 - :return: An instance of LROPoller that returns ProviderShareSubscription - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ProviderShareSubscription] - + :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 ProviderShareSubscription or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.ProviderShareSubscription] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] - raw_result = self._revoke_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - provider_share_subscription_id=provider_share_subscription_id, - cls=lambda x,y,z: x, - **kwargs + 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._revoke_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + provider_share_subscription_id=provider_share_subscription_id, + 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('ProviderShareSubscription', pipeline_response) @@ -294,17 +318,29 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'providerShareSubscriptionId': self._serialize.url("provider_share_subscription_id", provider_share_subscription_id, '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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_revoke.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} + 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_revoke.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke'} # type: ignore - def reinstate( + def get_by_share( self, resource_group_name, # type: str account_name, # type: str @@ -313,9 +349,9 @@ def reinstate( **kwargs # type: Any ): # type: (...) -> "models.ProviderShareSubscription" - """Reinstate share subscription in a provider share. + """Get share subscription in a provider share. - Reinstate share subscription in a provider share. + Get share subscription in a provider share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -326,16 +362,20 @@ def reinstate( :param provider_share_subscription_id: To locate shareSubscription. :type provider_share_subscription_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ProviderShareSubscription or the result of cls(response) - :rtype: ~data_share_management_client.models.ProviderShareSubscription + :return: ProviderShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ProviderShareSubscription :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self.reinstate.metadata['url'] + url = self.get_by_share.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -351,22 +391,108 @@ def reinstate( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters) + 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ProviderShareSubscription', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - reinstate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate'} + get_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}'} # type: ignore + + def list_by_share( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ProviderShareSubscriptionList"] + """List of available share subscriptions to a provider share. + + List share subscriptions in a provider share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation Token. + :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 ProviderShareSubscriptionList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.ProviderShareSubscriptionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProviderShareSubscriptionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_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('ProviderShareSubscriptionList', 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.DataShareError, 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_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscription_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscriptions_operations.py similarity index 58% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscription_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscriptions_operations.py index 59e710c1c5b..cca428ae98a 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscription_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_subscriptions_operations.py @@ -5,28 +5,34 @@ # 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 +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.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 -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class ShareSubscriptionOperations(object): - """ShareSubscriptionOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ShareSubscriptionsOperations(object): + """ShareSubscriptionsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,107 +47,26 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def get( + def _cancel_synchronization_initial( self, resource_group_name, # type: str account_name, # type: str share_subscription_name, # type: str + share_subscription_synchronization, # type: "models.ShareSubscriptionSynchronization" **kwargs # type: Any ): - # type: (...) -> "models.ShareSubscription" - """Get a shareSubscription in an account. - - Get shareSubscription in an account. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param share_subscription_name: The name of the shareSubscription. - :type share_subscription_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSubscription or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSubscription - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - # 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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + # type: (...) -> "models.ShareSubscriptionSynchronization" + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } - url = self._client.format_url(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'] = 'application/json' - - # 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) - error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) - - deserialized = self._deserialize('ShareSubscription', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} - - def create( - self, - resource_group_name, # type: str - account_name, # type: str - share_subscription_name, # type: str - invitation_id, # type: str - source_share_location, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.ShareSubscription" - """Create a shareSubscription in an account. - - Create shareSubscription in an account. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param share_subscription_name: The name of the shareSubscription. - :type share_subscription_name: str - :param invitation_id: The invitation id. - :type invitation_id: str - :param source_share_location: Source share location. - :type source_share_location: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSubscription or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSubscription or ~data_share_management_client.models.ShareSubscription - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _share_subscription = models.ShareSubscription(invitation_id=invitation_id, source_share_location=source_share_location) - api_version = "2019-11-01" + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['url'] + url = self._cancel_synchronization_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'), @@ -157,96 +82,44 @@ def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share_subscription, 'ShareSubscription') + body_content = self._serialize.body(share_subscription_synchronization, 'ShareSubscriptionSynchronization') body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - + 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, 201]: + 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: - deserialized = self._deserialize('ShareSubscription', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('ShareSubscription', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} - - def _delete_initial( - self, - resource_group_name, # type: str - account_name, # type: str - share_subscription_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "models.OperationResponse" - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - # Construct URL - url = self._delete_initial.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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'] = 'application/json' - - # 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, 202, 204]: - map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('OperationResponse', pipeline_response) + if response.status_code == 202: + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} + _cancel_synchronization_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} # type: ignore - def begin_delete( + def begin_cancel_synchronization( self, resource_group_name, # type: str account_name, # type: str share_subscription_name, # type: str + share_subscription_synchronization, # type: "models.ShareSubscriptionSynchronization" **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - """Delete a shareSubscription in an account. + # type: (...) -> LROPoller["models.ShareSubscriptionSynchronization"] + """Request cancellation of a data share snapshot. - Delete shareSubscription in an account. + Request to cancel a synchronization. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -254,122 +127,67 @@ def begin_delete( :type account_name: str :param share_subscription_name: The name of the shareSubscription. :type share_subscription_name: str + :param share_subscription_synchronization: Share Subscription Synchronization payload. + :type share_subscription_synchronization: ~azure.mgmt.datashare.models.ShareSubscriptionSynchronization :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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 ShareSubscriptionSynchronization or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.ShareSubscriptionSynchronization] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - cls=lambda x,y,z: x, - **kwargs + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] + 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._cancel_synchronization_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + share_subscription_synchronization=share_subscription_synchronization, + 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('OperationResponse', pipeline_response) + deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} - - def list_by_account( - self, - resource_group_name, # type: str - account_name, # type: str - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.ShareSubscriptionList" - """List share subscriptions in an account. - - List of available share subscriptions under an account. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param skip_token: Continuation Token. - :type skip_token: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSubscriptionList or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSubscriptionList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_account.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - else: - url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ShareSubscriptionList', 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.DataShareError, 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_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions'} - - def list_source_share_synchronization_setting( + 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_cancel_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} # type: ignore + + def list_source_share_synchronization_settings( self, resource_group_name, # type: str account_name, # type: str @@ -377,10 +195,10 @@ def list_source_share_synchronization_setting( skip_token=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.SourceShareSynchronizationSettingList" - """Get synchronization settings set on a share. + # type: (...) -> Iterable["models.SourceShareSynchronizationSettingList"] + """Get source share synchronization settings for a shareSubscription. - Get source share synchronization settings for a shareSubscription. + Get synchronization settings set on a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -391,18 +209,26 @@ def list_source_share_synchronization_setting( :param skip_token: Continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SourceShareSynchronizationSettingList or the result of cls(response) - :rtype: ~data_share_management_client.models.SourceShareSynchronizationSettingList + :return: An iterator like instance of either SourceShareSynchronizationSettingList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.SourceShareSynchronizationSettingList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SourceShareSynchronizationSettingList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_source_share_synchronization_setting.metadata['url'] + url = self.list_source_share_synchronization_settings.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -410,21 +236,17 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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.post(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request def extract_data(pipeline_response): @@ -443,27 +265,30 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_source_share_synchronization_setting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSourceShareSynchronizationSettings'} + list_source_share_synchronization_settings.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSourceShareSynchronizationSettings'} # type: ignore - def list_synchronization( + def list_synchronization_details( self, resource_group_name, # type: str account_name, # type: str share_subscription_name, # type: str + share_subscription_synchronization, # type: "models.ShareSubscriptionSynchronization" skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.ShareSubscriptionSynchronizationList" - """List synchronizations of a share subscription. + # type: (...) -> Iterable["models.SynchronizationDetailsList"] + """List data set level details for a share subscription synchronization. - List Synchronizations in a share subscription. + List synchronization details. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -471,21 +296,37 @@ def list_synchronization( :type account_name: str :param share_subscription_name: The name of the share subscription. :type share_subscription_name: str + :param share_subscription_synchronization: Share Subscription Synchronization payload. + :type share_subscription_synchronization: ~azure.mgmt.datashare.models.ShareSubscriptionSynchronization :param skip_token: Continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSubscriptionSynchronizationList or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSubscriptionSynchronizationList + :return: An iterator like instance of either SynchronizationDetailsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.SynchronizationDetailsList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronizationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_synchronization.metadata['url'] + url = self.list_synchronization_details.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -493,25 +334,31 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(share_subscription_synchronization, 'ShareSubscriptionSynchronization') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) else: url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters) + query_parameters = {} # type: Dict[str, Any] + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(share_subscription_synchronization, 'ShareSubscriptionSynchronization') + 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('ShareSubscriptionSynchronizationList', pipeline_response) + deserialized = self._deserialize('SynchronizationDetailsList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -526,28 +373,29 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations'} + list_synchronization_details.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails'} # type: ignore - def list_synchronization_detail( + def list_synchronizations( self, resource_group_name, # type: str account_name, # type: str share_subscription_name, # type: str - synchronization_id, # type: str skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.SynchronizationDetailsList" - """List synchronization details. + # type: (...) -> Iterable["models.ShareSubscriptionSynchronizationList"] + """List Synchronizations in a share subscription. - List data set level details for a share subscription synchronization. + List synchronizations of a share subscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -555,25 +403,33 @@ def list_synchronization_detail( :type account_name: str :param share_subscription_name: The name of the share subscription. :type share_subscription_name: str - :param synchronization_id: Synchronization id. - :type synchronization_id: str :param skip_token: Continuation token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationDetailsList or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationDetailsList + :return: An iterator like instance of either ShareSubscriptionSynchronizationList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.ShareSubscriptionSynchronizationList] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - _share_subscription_synchronization = models.ShareSubscriptionSynchronization(synchronization_id=synchronization_id) - api_version = "2019-11-01" - content_type = "application/json" + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronizationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_synchronization_detail.metadata['url'] + url = self.list_synchronizations.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -581,30 +437,25 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.post(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # 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' - - # Construct and send request - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share_subscription_synchronization, 'ShareSubscriptionSynchronization') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - + 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('SynchronizationDetailsList', pipeline_response) + deserialized = self._deserialize('ShareSubscriptionSynchronizationList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -619,33 +470,35 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_synchronization_detail.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails'} + list_synchronizations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations'} # type: ignore def _synchronize_initial( self, resource_group_name, # type: str account_name, # type: str share_subscription_name, # type: str - synchronization_mode=None, # type: Optional[Union[str, "models.SynchronizationMode"]] + synchronize, # type: "models.Synchronize" **kwargs # type: Any ): # type: (...) -> "models.ShareSubscriptionSynchronization" cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _synchronize = models.Synchronize(synchronization_mode=synchronization_mode) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self._synchronize_initial.metadata['url'] + url = self._synchronize_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'), @@ -661,23 +514,20 @@ def _synchronize_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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_synchronize, 'Synchronize') + body_content = self._serialize.body(synchronize, 'Synchronize') 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(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) @@ -685,23 +535,23 @@ def _synchronize_initial( deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _synchronize_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/Synchronize'} + _synchronize_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/synchronize'} # type: ignore def begin_synchronize( self, resource_group_name, # type: str account_name, # type: str share_subscription_name, # type: str - synchronization_mode=None, # type: Optional[Union[str, "models.SynchronizationMode"]] + synchronize, # type: "models.Synchronize" **kwargs # type: Any ): - # type: (...) -> "models.ShareSubscriptionSynchronization" - """Initiate a copy. + # type: (...) -> LROPoller["models.ShareSubscriptionSynchronization"] + """Initiate an asynchronous data share job. - Initiate an asynchronous data share job. + Initiate a copy. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -709,28 +559,37 @@ def begin_synchronize( :type account_name: str :param share_subscription_name: The name of share subscription. :type share_subscription_name: str - :param synchronization_mode: Mode of synchronization used in triggers and snapshot sync. - Incremental by default. - :type synchronization_mode: str or ~data_share_management_client.models.SynchronizationMode + :param synchronize: Synchronize payload. + :type synchronize: ~azure.mgmt.datashare.models.Synchronize :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 - :return: An instance of LROPoller that returns ShareSubscriptionSynchronization - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ShareSubscriptionSynchronization] - + :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 ShareSubscriptionSynchronization or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.ShareSubscriptionSynchronization] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] - raw_result = self._synchronize_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - synchronization_mode=synchronization_mode, - cls=lambda x,y,z: x, - **kwargs + 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._synchronize_initial( + resource_group_name=resource_group_name, + account_name=account_name, + share_subscription_name=share_subscription_name, + synchronize=synchronize, + 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('ShareSubscriptionSynchronization', pipeline_response) @@ -739,34 +598,130 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_synchronize.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/Synchronize'} + 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_synchronize.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/synchronize'} # type: ignore - def _cancel_synchronization_initial( + def get( self, resource_group_name, # type: str account_name, # type: str share_subscription_name, # type: str - synchronization_id, # type: str **kwargs # type: Any ): - # type: (...) -> "models.ShareSubscriptionSynchronization" - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + # type: (...) -> "models.ShareSubscription" + """Get shareSubscription in an account. + + Get a shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) - _share_subscription_synchronization = models.ShareSubscriptionSynchronization(synchronization_id=synchronization_id) - api_version = "2019-11-01" + # 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.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} # type: ignore + + def create( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + share_subscription, # type: "models.ShareSubscription" + **kwargs # type: Any + ): + # type: (...) -> "models.ShareSubscription" + """Create shareSubscription in an account. + + Create a shareSubscription in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_subscription_name: The name of the shareSubscription. + :type share_subscription_name: str + :param share_subscription: create parameters for shareSubscription. + :type share_subscription: ~azure.mgmt.datashare.models.ShareSubscription + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShareSubscription, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.ShareSubscription + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscription"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self._cancel_synchronization_initial.metadata['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'), @@ -782,47 +737,96 @@ def _cancel_synchronization_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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share_subscription_synchronization, 'ShareSubscriptionSynchronization') + body_content = self._serialize.body(share_subscription, 'ShareSubscription') body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + 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.DataShareError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ShareSubscription', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + account_name, # type: str + share_subscription_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OperationResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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]: + 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: - deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) - - if response.status_code == 202: - deserialized = self._deserialize('ShareSubscriptionSynchronization', pipeline_response) + deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _cancel_synchronization_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} # type: ignore - def begin_cancel_synchronization( + def begin_delete( self, resource_group_name, # type: str account_name, # type: str share_subscription_name, # type: str - synchronization_id, # type: str **kwargs # type: Any ): - # type: (...) -> "models.ShareSubscriptionSynchronization" - """Request to cancel a synchronization. + # type: (...) -> LROPoller["models.OperationResponse"] + """Delete shareSubscription in an account. - Request cancellation of a data share snapshot. + Delete a shareSubscription in an account. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -830,41 +834,152 @@ def begin_cancel_synchronization( :type account_name: str :param share_subscription_name: The name of the shareSubscription. :type share_subscription_name: str - :param synchronization_id: Synchronization id. - :type synchronization_id: 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 - :return: An instance of LROPoller that returns ShareSubscriptionSynchronization - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.ShareSubscriptionSynchronization] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionSynchronization"] - raw_result = self._cancel_synchronization_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - synchronization_id=synchronization_id, - cls=lambda x,y,z: x, - **kwargs + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] + 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, + account_name=account_name, + share_subscription_name=share_subscription_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('ShareSubscriptionSynchronization', pipeline_response) + deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_cancel_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization'} + 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.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}'} # type: ignore + + def list_by_account( + self, + resource_group_name, # type: str + account_name, # type: str + skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ShareSubscriptionList"] + """List of available share subscriptions under an account. + + List share subscriptions in an account. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param skip_token: Continuation Token. + :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ShareSubscriptionList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.ShareSubscriptionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSubscriptionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_account.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, '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('ShareSubscriptionList', 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.DataShareError, 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_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_shares_operations.py similarity index 58% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_shares_operations.py index a891d441424..bcaa767495b 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_share_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_shares_operations.py @@ -5,29 +5,34 @@ # 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, Optional, TypeVar, Union +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.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 -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class ShareOperations(object): - """ShareOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class SharesOperations(object): + """SharesOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -42,6 +47,211 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + def list_synchronization_details( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + share_synchronization, # type: "models.ShareSynchronization" + skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.SynchronizationDetailsList"] + """List data set level details for a share synchronization. + + List synchronization details. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param share_synchronization: Share Synchronization payload. + :type share_synchronization: ~azure.mgmt.datashare.models.ShareSynchronization + :param skip_token: Continuation token. + :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SynchronizationDetailsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.SynchronizationDetailsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_synchronization_details.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(share_synchronization, 'ShareSynchronization') + 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(share_synchronization, 'ShareSynchronization') + 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('SynchronizationDetailsList', 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.DataShareError, 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_synchronization_details.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails'} # type: ignore + + def list_synchronizations( + self, + resource_group_name, # type: str + account_name, # type: str + share_name, # type: str + skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ShareSynchronizationList"] + """List Synchronizations in a share. + + List synchronizations of a share. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param account_name: The name of the share account. + :type account_name: str + :param share_name: The name of the share. + :type share_name: str + :param skip_token: Continuation token. + :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ShareSynchronizationList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.ShareSynchronizationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSynchronizationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_synchronizations.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, '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('ShareSynchronizationList', 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.DataShareError, 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_synchronizations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations'} # type: ignore + def get( self, resource_group_name, # type: str @@ -50,9 +260,9 @@ def get( **kwargs # type: Any ): # type: (...) -> "models.Share" - """Get a share. + """Get a specified share. - Get a specified share. + Get a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -61,16 +271,20 @@ def get( :param share_name: The name of the share to retrieve. :type share_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Share or the result of cls(response) - :rtype: ~data_share_management_client.models.Share + :return: Share, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Share :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Share"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -85,9 +299,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -95,30 +308,28 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Share', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} # type: ignore def create( self, resource_group_name, # type: str account_name, # type: str share_name, # type: str - description=None, # type: Optional[str] - share_kind=None, # type: Optional[Union[str, "models.ShareKind"]] - terms=None, # type: Optional[str] + share, # type: "models.Share" **kwargs # type: Any ): # type: (...) -> "models.Share" - """Create a share. + """Create a share in the given account. - Create a share in the given account. + Create a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -126,26 +337,24 @@ def create( :type account_name: str :param share_name: The name of the share. :type share_name: str - :param description: Share description. - :type description: str - :param share_kind: Share kind. - :type share_kind: str or ~data_share_management_client.models.ShareKind - :param terms: Share terms. - :type terms: str + :param share: The share payload. + :type share: ~azure.mgmt.datashare.models.Share :keyword callable cls: A custom type or function that will be passed the direct response - :return: Share or the result of cls(response) - :rtype: ~data_share_management_client.models.Share or ~data_share_management_client.models.Share + :return: Share, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Share :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Share"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - - _share = models.Share(description=description, share_kind=share_kind, terms=terms) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -161,23 +370,20 @@ def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share, 'Share') + body_content = self._serialize.body(share, 'Share') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Share', pipeline_response) @@ -185,10 +391,10 @@ def create( deserialized = self._deserialize('Share', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} # type: ignore def _delete_initial( self, @@ -197,13 +403,17 @@ def _delete_initial( share_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + # type: (...) -> Optional["models.OperationResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -218,9 +428,8 @@ def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -228,17 +437,17 @@ def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} # type: ignore def begin_delete( self, @@ -247,10 +456,10 @@ def begin_delete( share_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - """Delete a share. + # type: (...) -> LROPoller["models.OperationResponse"] + """Deletes a share. - Deletes a share. + Delete a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -259,23 +468,33 @@ def begin_delete( :param share_name: The name of the share. :type share_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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_name=share_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('OperationResponse', pipeline_response) @@ -284,27 +503,40 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}'} + 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.DataShare/accounts/{accountName}/shares/{shareName}'} # type: ignore def list_by_account( self, resource_group_name, # type: str account_name, # type: str skip_token=None, # type: Optional[str] + filter=None, # type: Optional[str] + orderby=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.ShareList" - """List shares in an account. + # type: (...) -> Iterable["models.ShareList"] + """List of available shares under an account. - List of available shares under an account. + List shares in an account. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -312,244 +544,56 @@ def list_by_account( :type account_name: str :param skip_token: Continuation Token. :type skip_token: str + :param filter: Filters the results using OData syntax. + :type filter: str + :param orderby: Sorts the results using OData syntax. + :type orderby: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareList or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareList + :return: An iterator like instance of either ShareList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.ShareList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ShareList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" - - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_account.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - else: - url = next_link - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.get(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ShareList', 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.DataShareError, 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_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares'} - - def list_synchronization( - self, - resource_group_name, # type: str - account_name, # type: str - share_name, # type: str - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.ShareSynchronizationList" - """List synchronizations of a share. - - List Synchronizations in a share. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param share_name: The name of the share. - :type share_name: str - :param skip_token: Continuation token. - :type skip_token: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ShareSynchronizationList or the result of cls(response) - :rtype: ~data_share_management_client.models.ShareSynchronizationList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ShareSynchronizationList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_synchronization.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'), - 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareName': self._serialize.url("share_name", share_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - else: - url = next_link - - # 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') - # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters) - return request - - def extract_data(pipeline_response): - deserialized = self._deserialize('ShareSynchronizationList', 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 + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - if response.status_code not in [200]: - error = self._deserialize(models.DataShareError, 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_synchronization.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations'} - - def list_synchronization_detail( - self, - resource_group_name, # type: str - account_name, # type: str - share_name, # type: str - skip_token=None, # type: Optional[str] - consumer_email=None, # type: Optional[str] - consumer_name=None, # type: Optional[str] - consumer_tenant_name=None, # type: Optional[str] - duration_ms=None, # type: Optional[int] - end_time=None, # type: Optional[datetime.datetime] - message=None, # type: Optional[str] - start_time=None, # type: Optional[datetime.datetime] - status=None, # type: Optional[str] - synchronization_id=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "models.SynchronizationDetailsList" - """List synchronization details. - - List data set level details for a share synchronization. - - :param resource_group_name: The resource group name. - :type resource_group_name: str - :param account_name: The name of the share account. - :type account_name: str - :param share_name: The name of the share. - :type share_name: str - :param skip_token: Continuation token. - :type skip_token: str - :param consumer_email: Email of the user who created the synchronization. - :type consumer_email: str - :param consumer_name: Name of the user who created the synchronization. - :type consumer_name: str - :param consumer_tenant_name: Tenant name of the consumer who created the synchronization. - :type consumer_tenant_name: str - :param duration_ms: synchronization duration. - :type duration_ms: int - :param end_time: End time of synchronization. - :type end_time: ~datetime.datetime - :param message: message of synchronization. - :type message: str - :param start_time: start time of synchronization. - :type start_time: ~datetime.datetime - :param status: Raw Status. - :type status: str - :param synchronization_id: Synchronization id. - :type synchronization_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationDetailsList or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationDetailsList - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationDetailsList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - _share_synchronization = models.ShareSynchronization(consumer_email=consumer_email, consumer_name=consumer_name, consumer_tenant_name=consumer_tenant_name, duration_ms=duration_ms, end_time=end_time, message=message, start_time=start_time, status=status, synchronization_id=synchronization_id) - api_version = "2019-11-01" - content_type = "application/json" - - def prepare_request(next_link=None): if not next_link: # Construct URL - url = self.list_synchronization_detail.metadata['url'] + url = self.list_by_account.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), 'accountName': self._serialize.url("account_name", account_name, 'str'), - 'shareName': self._serialize.url("share_name", share_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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - - # 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') - - # 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' - - # Construct and send request - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_share_synchronization, 'ShareSynchronization') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - + 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('SynchronizationDetailsList', pipeline_response) + deserialized = self._deserialize('ShareList', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -564,11 +608,11 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_synchronization_detail.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails'} + list_by_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_setting_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_settings_operations.py similarity index 67% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_setting_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_settings_operations.py index 4b59370d082..e3033f52df1 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_setting_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_synchronization_settings_operations.py @@ -5,28 +5,34 @@ # 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 +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.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 -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class SynchronizationSettingOperations(object): - """SynchronizationSettingOperations operations. + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class SynchronizationSettingsOperations(object): + """SynchronizationSettingsOperations 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -50,9 +56,9 @@ def get( **kwargs # type: Any ): # type: (...) -> "models.SynchronizationSetting" - """Get a synchronizationSetting in a share. + """Get synchronizationSetting in a share. - Get synchronizationSetting in a share. + Get a synchronizationSetting in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -63,16 +69,20 @@ def get( :param synchronization_setting_name: The name of the synchronizationSetting. :type synchronization_setting_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationSetting or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationSetting + :return: SynchronizationSetting, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.SynchronizationSetting :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSetting"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -88,9 +98,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -98,15 +107,15 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SynchronizationSetting', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} # type: ignore def create( self, @@ -118,9 +127,9 @@ def create( **kwargs # type: Any ): # type: (...) -> "models.SynchronizationSetting" - """Create or update a synchronizationSetting. + """Adds a new synchronization setting to an existing share. - Adds a new synchronization setting to an existing share. + Create a synchronizationSetting. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -131,19 +140,23 @@ def create( :param synchronization_setting_name: The name of the synchronizationSetting. :type synchronization_setting_name: str :param synchronization_setting: The new synchronization setting information. - :type synchronization_setting: ~data_share_management_client.models.SynchronizationSetting + :type synchronization_setting: ~azure.mgmt.datashare.models.SynchronizationSetting :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationSetting or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationSetting or ~data_share_management_client.models.SynchronizationSetting + :return: SynchronizationSetting, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.SynchronizationSetting :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSetting"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.create.metadata['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'), @@ -160,23 +173,20 @@ def create( # 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(synchronization_setting, 'SynchronizationSetting') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('SynchronizationSetting', pipeline_response) @@ -184,10 +194,10 @@ def create( deserialized = self._deserialize('SynchronizationSetting', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} # type: ignore def _delete_initial( self, @@ -197,13 +207,17 @@ def _delete_initial( synchronization_setting_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + # type: (...) -> Optional["models.OperationResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -219,9 +233,8 @@ def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -229,17 +242,17 @@ def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} # type: ignore def begin_delete( self, @@ -249,10 +262,10 @@ def begin_delete( synchronization_setting_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - """Delete a synchronizationSetting in a share. + # type: (...) -> LROPoller["models.OperationResponse"] + """Delete synchronizationSetting in a share. - Delete synchronizationSetting in a share. + Delete a synchronizationSetting in a share. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -263,24 +276,34 @@ def begin_delete( :param synchronization_setting_name: The name of the synchronizationSetting . :type synchronization_setting_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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_name=share_name, - synchronization_setting_name=synchronization_setting_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_name=share_name, + synchronization_setting_name=synchronization_setting_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('OperationResponse', pipeline_response) @@ -289,15 +312,27 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareName': self._serialize.url("share_name", share_name, 'str'), + 'synchronizationSettingName': self._serialize.url("synchronization_setting_name", synchronization_setting_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} + 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.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings/{synchronizationSettingName}'} # type: ignore def list_by_share( self, @@ -307,7 +342,7 @@ def list_by_share( skip_token=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.SynchronizationSettingList" + # type: (...) -> Iterable["models.SynchronizationSettingList"] """List synchronizationSettings in a share. List synchronizationSettings in a share. @@ -321,18 +356,26 @@ def list_by_share( :param skip_token: continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: SynchronizationSettingList or the result of cls(response) - :rtype: ~data_share_management_client.models.SynchronizationSettingList + :return: An iterator like instance of either SynchronizationSettingList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.SynchronizationSettingList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SynchronizationSettingList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share.metadata['url'] + url = self.list_by_share.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -340,21 +383,17 @@ def prepare_request(next_link=None): 'shareName': self._serialize.url("share_name", share_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 - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 extract_data(pipeline_response): @@ -373,11 +412,11 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings'} + list_by_share.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/synchronizationSettings'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_trigger_operations.py b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_triggers_operations.py similarity index 63% rename from src/datashare/azext_datashare/vendored_sdks/datashare/operations/_trigger_operations.py rename to src/datashare/azext_datashare/vendored_sdks/datashare/operations/_triggers_operations.py index 1bea3c38c31..915f4093611 100644 --- a/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_trigger_operations.py +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/operations/_triggers_operations.py @@ -5,28 +5,34 @@ # 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 +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.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 -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union -class TriggerOperations(object): - """TriggerOperations operations. + 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_share_management_client.models + :type models: ~azure.mgmt.datashare.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -50,9 +56,9 @@ def get( **kwargs # type: Any ): # type: (...) -> "models.Trigger" - """Get a Trigger in a shareSubscription. + """Get Trigger in a shareSubscription. - Get Trigger in a shareSubscription. + Get a Trigger in a shareSubscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -63,16 +69,20 @@ def get( :param trigger_name: The name of the trigger. :type trigger_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: Trigger or the result of cls(response) - :rtype: ~data_share_management_client.models.Trigger + :return: Trigger, or the result of cls(response) + :rtype: ~azure.mgmt.datashare.models.Trigger :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + 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'), @@ -88,9 +98,8 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -98,15 +107,15 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Trigger', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore def _create_initial( self, @@ -119,12 +128,16 @@ def _create_initial( ): # type: (...) -> "models.Trigger" cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self._create_initial.metadata['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'), @@ -141,23 +154,20 @@ 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') - # Construct and send request body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(trigger, 'Trigger') 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: deserialized = self._deserialize('Trigger', pipeline_response) @@ -165,10 +175,10 @@ def _create_initial( deserialized = self._deserialize('Trigger', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore def begin_create( self, @@ -179,42 +189,52 @@ def begin_create( trigger, # type: "models.Trigger" **kwargs # type: Any ): - # type: (...) -> "models.Trigger" - """Create a Trigger. + # type: (...) -> LROPoller["models.Trigger"] + """This method creates a trigger for a share subscription. - This method creates a trigger for a share subscription. + Create a Trigger. :param resource_group_name: The resource group name. :type resource_group_name: str :param account_name: The name of the share account. :type account_name: str :param share_subscription_name: The name of the share subscription which will hold the data set - sink. + sink. :type share_subscription_name: str :param trigger_name: The name of the trigger. :type trigger_name: str :param trigger: Trigger details. - :type trigger: ~data_share_management_client.models.Trigger + :type trigger: ~azure.mgmt.datashare.models.Trigger :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 - :return: An instance of LROPoller that returns Trigger - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.Trigger] - + :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 Trigger or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.Trigger] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.Trigger"] - raw_result = self._create_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - trigger_name=trigger_name, - trigger=trigger, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_subscription_name=share_subscription_name, + trigger_name=trigger_name, + trigger=trigger, + 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('Trigger', pipeline_response) @@ -223,15 +243,27 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + 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.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore def _delete_initial( self, @@ -241,13 +273,17 @@ def _delete_initial( trigger_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + # type: (...) -> Optional["models.OperationResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OperationResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-01" + accept = "application/json" # Construct URL - url = self._delete_initial.metadata['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'), @@ -263,9 +299,8 @@ def _delete_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, '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 @@ -273,17 +308,17 @@ def _delete_initial( 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.DataShareError, response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = None if response.status_code == 200: deserialized = self._deserialize('OperationResponse', pipeline_response) if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, deserialized, {}) return deserialized - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore def begin_delete( self, @@ -293,10 +328,10 @@ def begin_delete( trigger_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.OperationResponse" - """Delete a Trigger in a shareSubscription. + # type: (...) -> LROPoller["models.OperationResponse"] + """Delete Trigger in a shareSubscription. - Delete Trigger in a shareSubscription. + Delete a Trigger in a shareSubscription. :param resource_group_name: The resource group name. :type resource_group_name: str @@ -307,24 +342,34 @@ def begin_delete( :param trigger_name: The name of the trigger. :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 - :return: An instance of LROPoller that returns OperationResponse - :rtype: ~azure.core.polling.LROPoller[~data_share_management_client.models.OperationResponse] - + :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 OperationResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datashare.models.OperationResponse] :raises ~azure.core.exceptions.HttpResponseError: """ - polling = kwargs.pop('polling', False) # type: Union[bool, PollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["models.OperationResponse"] - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - account_name=account_name, - share_subscription_name=share_subscription_name, - trigger_name=trigger_name, - cls=lambda x,y,z: x, - **kwargs + 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, + account_name=account_name, + share_subscription_name=share_subscription_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('OperationResponse', pipeline_response) @@ -333,15 +378,27 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - lro_delay = kwargs.get( - 'polling_interval', - self._config.polling_interval - ) - if polling is True: raise ValueError("polling being True is not valid because no default polling implemetation has been defined.") + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'accountName': self._serialize.url("account_name", account_name, 'str'), + 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_name, 'str'), + 'triggerName': self._serialize.url("trigger_name", trigger_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 - return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} + 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.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers/{triggerName}'} # type: ignore def list_by_share_subscription( self, @@ -351,7 +408,7 @@ def list_by_share_subscription( skip_token=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "models.TriggerList" + # type: (...) -> Iterable["models.TriggerList"] """List Triggers in a share subscription. List Triggers in a share subscription. @@ -365,18 +422,26 @@ def list_by_share_subscription( :param skip_token: Continuation token. :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: TriggerList or the result of cls(response) - :rtype: ~data_share_management_client.models.TriggerList + :return: An iterator like instance of either TriggerList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.datashare.models.TriggerList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerList"] - error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) - api_version = "2019-11-01" + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-08-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_share_subscription.metadata['url'] + url = self.list_by_share_subscription.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), @@ -384,21 +449,17 @@ def prepare_request(next_link=None): 'shareSubscriptionName': self._serialize.url("share_subscription_name", share_subscription_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 - - # 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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' - - # 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 extract_data(pipeline_response): @@ -417,11 +478,11 @@ def get_next(next_link=None): if response.status_code not in [200]: error = self._deserialize(models.DataShareError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response return ItemPaged( get_next, extract_data ) - list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers'} + list_by_share_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/triggers'} # type: ignore diff --git a/src/datashare/azext_datashare/vendored_sdks/datashare/py.typed b/src/datashare/azext_datashare/vendored_sdks/datashare/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/datashare/azext_datashare/vendored_sdks/datashare/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/datashare/linter_exclusions.yml b/src/datashare/linter_exclusions.yml new file mode 100644 index 00000000000..ffc0fadac60 --- /dev/null +++ b/src/datashare/linter_exclusions.yml @@ -0,0 +1,134 @@ +datashare consumer-source-data-set list: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +datashare data-set-mapping create: + parameters: + adls_gen2_file_data_set_mapping: + rule_exclusions: + - option_length_too_long + adls_gen2_file_system_data_set_mapping: + rule_exclusions: + - option_length_too_long + adls_gen2_folder_data_set_mapping: + rule_exclusions: + - option_length_too_long + blob_container_data_set_mapping: + rule_exclusions: + - option_length_too_long + blob_folder_data_set_mapping: + rule_exclusions: + - option_length_too_long + kusto_cluster_data_set_mapping: + rule_exclusions: + - option_length_too_long + kusto_database_data_set_mapping: + rule_exclusions: + - option_length_too_long + kusto_table_data_set_mapping: + rule_exclusions: + - option_length_too_long + share_subscription_name: + rule_exclusions: + - option_length_too_long + sqldb_table_data_set_mapping: + rule_exclusions: + - option_length_too_long + sqldw_table_data_set_mapping: + rule_exclusions: + - option_length_too_long + synapse_workspace_sql_pool_table_data_set_mapping: + rule_exclusions: + - option_length_too_long + +datashare data-set-mapping list: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +datashare data-set-mapping delete: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +data-set-mapping list: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +datashare data-set-mapping show: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +datashare provider-share-subscription adjust: + parameters: + provider_share_subscription_id: + rule_exclusions: + - option_length_too_long + +datashare provider-share-subscription reinstate: + parameters: + provider_share_subscription_id: + rule_exclusions: + - option_length_too_long + +datashare provider-share-subscription revoke: + parameters: + provider_share_subscription_id: + rule_exclusions: + - option_length_too_long + +datashare provider-share-subscription show: + parameters: + provider_share_subscription_id: + rule_exclusions: + - option_length_too_long + +datashare provider-share-subscription wait: + parameters: + provider_share_subscription_id: + rule_exclusions: + - option_length_too_long + +datashare synchronization-setting create: + parameters: + scheduled_synchronization_setting: + rule_exclusions: + - option_length_too_long + +datashare trigger create: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +datashare trigger delete: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +datashare trigger list: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +datashare trigger show: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long + +datashare trigger wait: + parameters: + share_subscription_name: + rule_exclusions: + - option_length_too_long \ No newline at end of file diff --git a/src/datashare/report.md b/src/datashare/report.md index 652f8051a95..325243643da 100644 --- a/src/datashare/report.md +++ b/src/datashare/report.md @@ -1,483 +1,965 @@ -# Azure CLI Module Creation Report - -### datashare account create - -create a datashare account. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--identity**|object|Identity of resource|identity|identity| -|**--location**|string|Location of the azure resource.|location|location| -|**--tags**|dictionary|Tags on the azure resource.|tags|tags| -### datashare account delete - -delete a datashare account. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -### datashare account list - -list a datashare account. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare account show - -show a datashare account. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -### datashare account update - -update a datashare account. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--tags**|dictionary|Tags on the azure resource.|tags|tags| -### datashare consumer-invitation list - -list a datashare consumer-invitation. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare consumer-invitation reject-invitation - -reject-invitation a datashare consumer-invitation. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--location**|string|Location of the invitation|location|location| -|**--invitation_id**|string|Unique id of the invitation.|invitation_id|properties_invitation_id| -### datashare consumer-invitation show - -show a datashare consumer-invitation. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--location**|string|Location of the invitation|location|location| -|**--invitation_id**|string|An invitation id|invitation_id|invitation_id| -### datashare consumer-source-data-set list - -list a datashare consumer-source-data-set. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare data-set create - -create a datashare data-set. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--data_set_name**|string|The name of the dataSet.|data_set_name|data_set_name| -|**--kind**|choice|Kind of data set.|kind|kind| -### datashare data-set delete - -delete a datashare data-set. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--data_set_name**|string|The name of the dataSet.|data_set_name|data_set_name| -### datashare data-set list - -list a datashare data-set. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare data-set show - -show a datashare data-set. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--data_set_name**|string|The name of the dataSet.|data_set_name|data_set_name| -### datashare data-set-mapping create - -create a datashare data-set-mapping. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--data_set_mapping_name**|string|The name of the dataSetMapping.|data_set_mapping_name|data_set_mapping_name| -|**--kind**|choice|Kind of data set.|kind|kind| -### datashare data-set-mapping delete - -delete a datashare data-set-mapping. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--data_set_mapping_name**|string|The name of the dataSetMapping.|data_set_mapping_name|data_set_mapping_name| -### datashare data-set-mapping list - -list a datashare data-set-mapping. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare data-set-mapping show - -show a datashare data-set-mapping. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--data_set_mapping_name**|string|The name of the dataSetMapping.|data_set_mapping_name|data_set_mapping_name| -### datashare invitation create - -create a datashare invitation. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--invitation_name**|string|The name of the invitation.|invitation_name|invitation_name| -|**--target_active_directory_id**|string|The target Azure AD Id. Can't be combined with email.|target_active_directory_id|properties_target_active_directory_id| -|**--target_email**|string|The email the invitation is directed to.|target_email|properties_target_email| -|**--target_object_id**|string|The target user or application Id that invitation is being sent to. Must be specified along TargetActiveDirectoryId. This enables sending invitations to specific users or applications in an AD tenant.|target_object_id|properties_target_object_id| -### datashare invitation delete - -delete a datashare invitation. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--invitation_name**|string|The name of the invitation.|invitation_name|invitation_name| -### datashare invitation list - -list a datashare invitation. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare invitation show - -show a datashare invitation. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--invitation_name**|string|The name of the invitation.|invitation_name|invitation_name| -### datashare provider-share-subscription list - -list a datashare provider-share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare provider-share-subscription reinstate - -reinstate a datashare provider-share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--provider_share_subscription_id**|string|To locate shareSubscription|provider_share_subscription_id|provider_share_subscription_id| -### datashare provider-share-subscription revoke - -revoke a datashare provider-share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--provider_share_subscription_id**|string|To locate shareSubscription|provider_share_subscription_id|provider_share_subscription_id| -### datashare provider-share-subscription show - -show a datashare provider-share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--provider_share_subscription_id**|string|To locate shareSubscription|provider_share_subscription_id|provider_share_subscription_id| -### datashare share create - -create a datashare share. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--description**|string|Share description.|description|properties_description| -|**--share_kind**|choice|Share kind.|share_kind|properties_share_kind| -|**--terms**|string|Share terms.|terms|properties_terms| -### datashare share delete - -delete a datashare share. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -### datashare share list - -list a datashare share. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare share list-synchronization - -list-synchronization a datashare share. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare share list-synchronization-detail - -list-synchronization-detail a datashare share. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -|**--consumer_email**|string|Email of the user who created the synchronization|consumer_email|consumer_email| -|**--consumer_name**|string|Name of the user who created the synchronization|consumer_name|consumer_name| -|**--consumer_tenant_name**|string|Tenant name of the consumer who created the synchronization|consumer_tenant_name|consumer_tenant_name| -|**--duration_ms**|integer|synchronization duration|duration_ms|duration_ms| -|**--end_time**|date-time|End time of synchronization|end_time|end_time| -|**--message**|string|message of synchronization|message|message| -|**--start_time**|date-time|start time of synchronization|start_time|start_time| -|**--status**|string|Raw Status|status|status| -|**--synchronization_id**|string|Synchronization id|synchronization_id|synchronization_id| -### datashare share show - -show a datashare share. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -### datashare share-subscription cancel-synchronization - -cancel-synchronization a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--synchronization_id**|string|Synchronization id|synchronization_id|synchronization_id| -### datashare share-subscription create - -create a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--invitation_id**|string|The invitation id.|invitation_id|properties_invitation_id| -|**--source_share_location**|string|Source share location.|source_share_location|properties_source_share_location| -### datashare share-subscription delete - -delete a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -### datashare share-subscription list - -list a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare share-subscription list-source-share-synchronization-setting - -list-source-share-synchronization-setting a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare share-subscription list-synchronization - -list-synchronization a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare share-subscription list-synchronization-detail - -list-synchronization-detail a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--synchronization_id**|string|Synchronization id|synchronization_id|synchronization_id| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare share-subscription show - -show a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -### datashare share-subscription synchronize - -synchronize a datashare share-subscription. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--synchronization_mode**|choice|Synchronization mode|synchronization_mode|synchronization_mode| -### datashare synchronization-setting create - -create a datashare synchronization-setting. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--synchronization_setting_name**|string|The name of the synchronizationSetting.|synchronization_setting_name|synchronization_setting_name| -|**--kind**|choice|Kind of data set.|kind|kind| -### datashare synchronization-setting delete - -delete a datashare synchronization-setting. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--synchronization_setting_name**|string|The name of the synchronizationSetting.|synchronization_setting_name|synchronization_setting_name| -### datashare synchronization-setting list - -list a datashare synchronization-setting. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare synchronization-setting show - -show a datashare synchronization-setting. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_name**|string|The name of the share.|share_name|share_name| -|**--synchronization_setting_name**|string|The name of the synchronizationSetting.|synchronization_setting_name|synchronization_setting_name| -### datashare trigger create - -create a datashare trigger. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--trigger_name**|string|The name of the trigger.|trigger_name|trigger_name| -|**--kind**|choice|Kind of data set.|kind|kind| -### datashare trigger delete - -delete a datashare trigger. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--trigger_name**|string|The name of the trigger.|trigger_name|trigger_name| -### datashare trigger list - -list a datashare trigger. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--skip_token**|string|Continuation token|skip_token|skip_token| -### datashare trigger show - -show a datashare trigger. - -|Option|Type|Description|Path (SDK)|Path (swagger)| -|------|----|-----------|----------|--------------| -|**--resource_group_name**|string|The resource group name.|resource_group_name|resource_group_name| -|**--account_name**|string|The name of the share account.|account_name|account_name| -|**--share_subscription_name**|string|The name of the shareSubscription.|share_subscription_name|share_subscription_name| -|**--trigger_name**|string|The name of the trigger.|trigger_name|trigger_name| \ No newline at end of file +# Azure CLI Module Creation Report + +## EXTENSION +|CLI Extension|Command Groups| +|---------|------------| +|az datashare|[groups](#CommandGroups) + +## GROUPS +### Command groups in `az datashare` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az datashare|Shares|[commands](#CommandsInShares)| +|az datashare account|Accounts|[commands](#CommandsInAccounts)| +|az datashare consumer-invitation|ConsumerInvitations|[commands](#CommandsInConsumerInvitations)| +|az datashare consumer-source-data-set|ConsumerSourceDataSets|[commands](#CommandsInConsumerSourceDataSets)| +|az datashare data-set|DataSets|[commands](#CommandsInDataSets)| +|az datashare data-set-mapping|DataSetMappings|[commands](#CommandsInDataSetMappings)| +|az datashare email-registration|EmailRegistrations|[commands](#CommandsInEmailRegistrations)| +|az datashare invitation|Invitations|[commands](#CommandsInInvitations)| +|az datashare provider-share-subscription|ProviderShareSubscriptions|[commands](#CommandsInProviderShareSubscriptions)| +|az datashare share-subscription|ShareSubscriptions|[commands](#CommandsInShareSubscriptions)| +|az datashare synchronization-setting|SynchronizationSettings|[commands](#CommandsInSynchronizationSettings)| +|az datashare trigger|Triggers|[commands](#CommandsInTriggers)| + +## COMMANDS +### Commands in `az datashare` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare list](#SharesListByAccount)|ListByAccount|[Parameters](#ParametersSharesListByAccount)|[Example](#ExamplesSharesListByAccount)| +|[az datashare show](#SharesGet)|Get|[Parameters](#ParametersSharesGet)|[Example](#ExamplesSharesGet)| +|[az datashare create](#SharesCreate)|Create|[Parameters](#ParametersSharesCreate)|[Example](#ExamplesSharesCreate)| +|[az datashare delete](#SharesDelete)|Delete|[Parameters](#ParametersSharesDelete)|[Example](#ExamplesSharesDelete)| +|[az datashare list-synchronization](#SharesListSynchronizations)|ListSynchronizations|[Parameters](#ParametersSharesListSynchronizations)|[Example](#ExamplesSharesListSynchronizations)| +|[az datashare list-synchronization-detail](#SharesListSynchronizationDetails)|ListSynchronizationDetails|[Parameters](#ParametersSharesListSynchronizationDetails)|[Example](#ExamplesSharesListSynchronizationDetails)| + +### Commands in `az datashare account` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare account list](#AccountsListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersAccountsListByResourceGroup)|[Example](#ExamplesAccountsListByResourceGroup)| +|[az datashare account list](#AccountsListBySubscription)|ListBySubscription|[Parameters](#ParametersAccountsListBySubscription)|[Example](#ExamplesAccountsListBySubscription)| +|[az datashare account show](#AccountsGet)|Get|[Parameters](#ParametersAccountsGet)|[Example](#ExamplesAccountsGet)| +|[az datashare account create](#AccountsCreate)|Create|[Parameters](#ParametersAccountsCreate)|[Example](#ExamplesAccountsCreate)| +|[az datashare account update](#AccountsUpdate)|Update|[Parameters](#ParametersAccountsUpdate)|[Example](#ExamplesAccountsUpdate)| +|[az datashare account delete](#AccountsDelete)|Delete|[Parameters](#ParametersAccountsDelete)|[Example](#ExamplesAccountsDelete)| + +### Commands in `az datashare consumer-invitation` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare consumer-invitation show](#ConsumerInvitationsGet)|Get|[Parameters](#ParametersConsumerInvitationsGet)|[Example](#ExamplesConsumerInvitationsGet)| +|[az datashare consumer-invitation list-invitation](#ConsumerInvitationsListInvitations)|ListInvitations|[Parameters](#ParametersConsumerInvitationsListInvitations)|[Example](#ExamplesConsumerInvitationsListInvitations)| +|[az datashare consumer-invitation reject-invitation](#ConsumerInvitationsRejectInvitation)|RejectInvitation|[Parameters](#ParametersConsumerInvitationsRejectInvitation)|[Example](#ExamplesConsumerInvitationsRejectInvitation)| + +### Commands in `az datashare consumer-source-data-set` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare consumer-source-data-set list](#ConsumerSourceDataSetsListByShareSubscription)|ListByShareSubscription|[Parameters](#ParametersConsumerSourceDataSetsListByShareSubscription)|[Example](#ExamplesConsumerSourceDataSetsListByShareSubscription)| + +### Commands in `az datashare data-set` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare data-set list](#DataSetsListByShare)|ListByShare|[Parameters](#ParametersDataSetsListByShare)|[Example](#ExamplesDataSetsListByShare)| +|[az datashare data-set show](#DataSetsGet)|Get|[Parameters](#ParametersDataSetsGet)|[Example](#ExamplesDataSetsGet)| +|[az datashare data-set create](#DataSetsCreate)|Create|[Parameters](#ParametersDataSetsCreate)|[Example](#ExamplesDataSetsCreate)| +|[az datashare data-set delete](#DataSetsDelete)|Delete|[Parameters](#ParametersDataSetsDelete)|[Example](#ExamplesDataSetsDelete)| + +### Commands in `az datashare data-set-mapping` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare data-set-mapping list](#DataSetMappingsListByShareSubscription)|ListByShareSubscription|[Parameters](#ParametersDataSetMappingsListByShareSubscription)|[Example](#ExamplesDataSetMappingsListByShareSubscription)| +|[az datashare data-set-mapping show](#DataSetMappingsGet)|Get|[Parameters](#ParametersDataSetMappingsGet)|[Example](#ExamplesDataSetMappingsGet)| +|[az datashare data-set-mapping create](#DataSetMappingsCreate)|Create|[Parameters](#ParametersDataSetMappingsCreate)|[Example](#ExamplesDataSetMappingsCreate)| +|[az datashare data-set-mapping delete](#DataSetMappingsDelete)|Delete|[Parameters](#ParametersDataSetMappingsDelete)|[Example](#ExamplesDataSetMappingsDelete)| + +### Commands in `az datashare email-registration` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare email-registration activate-email](#EmailRegistrationsActivateEmail)|ActivateEmail|[Parameters](#ParametersEmailRegistrationsActivateEmail)|[Example](#ExamplesEmailRegistrationsActivateEmail)| +|[az datashare email-registration register-email](#EmailRegistrationsRegisterEmail)|RegisterEmail|[Parameters](#ParametersEmailRegistrationsRegisterEmail)|[Example](#ExamplesEmailRegistrationsRegisterEmail)| + +### Commands in `az datashare invitation` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare invitation list](#InvitationsListByShare)|ListByShare|[Parameters](#ParametersInvitationsListByShare)|[Example](#ExamplesInvitationsListByShare)| +|[az datashare invitation show](#InvitationsGet)|Get|[Parameters](#ParametersInvitationsGet)|[Example](#ExamplesInvitationsGet)| +|[az datashare invitation create](#InvitationsCreate)|Create|[Parameters](#ParametersInvitationsCreate)|[Example](#ExamplesInvitationsCreate)| +|[az datashare invitation delete](#InvitationsDelete)|Delete|[Parameters](#ParametersInvitationsDelete)|[Example](#ExamplesInvitationsDelete)| + +### Commands in `az datashare provider-share-subscription` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare provider-share-subscription list](#ProviderShareSubscriptionsListByShare)|ListByShare|[Parameters](#ParametersProviderShareSubscriptionsListByShare)|[Example](#ExamplesProviderShareSubscriptionsListByShare)| +|[az datashare provider-share-subscription show](#ProviderShareSubscriptionsGetByShare)|GetByShare|[Parameters](#ParametersProviderShareSubscriptionsGetByShare)|[Example](#ExamplesProviderShareSubscriptionsGetByShare)| +|[az datashare provider-share-subscription adjust](#ProviderShareSubscriptionsAdjust)|Adjust|[Parameters](#ParametersProviderShareSubscriptionsAdjust)|[Example](#ExamplesProviderShareSubscriptionsAdjust)| +|[az datashare provider-share-subscription reinstate](#ProviderShareSubscriptionsReinstate)|Reinstate|[Parameters](#ParametersProviderShareSubscriptionsReinstate)|[Example](#ExamplesProviderShareSubscriptionsReinstate)| +|[az datashare provider-share-subscription revoke](#ProviderShareSubscriptionsRevoke)|Revoke|[Parameters](#ParametersProviderShareSubscriptionsRevoke)|[Example](#ExamplesProviderShareSubscriptionsRevoke)| + +### Commands in `az datashare share-subscription` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare share-subscription list](#ShareSubscriptionsListByAccount)|ListByAccount|[Parameters](#ParametersShareSubscriptionsListByAccount)|[Example](#ExamplesShareSubscriptionsListByAccount)| +|[az datashare share-subscription show](#ShareSubscriptionsGet)|Get|[Parameters](#ParametersShareSubscriptionsGet)|[Example](#ExamplesShareSubscriptionsGet)| +|[az datashare share-subscription create](#ShareSubscriptionsCreate)|Create|[Parameters](#ParametersShareSubscriptionsCreate)|[Example](#ExamplesShareSubscriptionsCreate)| +|[az datashare share-subscription delete](#ShareSubscriptionsDelete)|Delete|[Parameters](#ParametersShareSubscriptionsDelete)|[Example](#ExamplesShareSubscriptionsDelete)| +|[az datashare share-subscription cancel-synchronization](#ShareSubscriptionsCancelSynchronization)|CancelSynchronization|[Parameters](#ParametersShareSubscriptionsCancelSynchronization)|[Example](#ExamplesShareSubscriptionsCancelSynchronization)| +|[az datashare share-subscription list-source-share-synchronization-setting](#ShareSubscriptionsListSourceShareSynchronizationSettings)|ListSourceShareSynchronizationSettings|[Parameters](#ParametersShareSubscriptionsListSourceShareSynchronizationSettings)|[Example](#ExamplesShareSubscriptionsListSourceShareSynchronizationSettings)| +|[az datashare share-subscription list-synchronization](#ShareSubscriptionsListSynchronizations)|ListSynchronizations|[Parameters](#ParametersShareSubscriptionsListSynchronizations)|[Example](#ExamplesShareSubscriptionsListSynchronizations)| +|[az datashare share-subscription list-synchronization-detail](#ShareSubscriptionsListSynchronizationDetails)|ListSynchronizationDetails|[Parameters](#ParametersShareSubscriptionsListSynchronizationDetails)|[Example](#ExamplesShareSubscriptionsListSynchronizationDetails)| +|[az datashare share-subscription synchronize](#ShareSubscriptionsSynchronize)|Synchronize|[Parameters](#ParametersShareSubscriptionsSynchronize)|[Example](#ExamplesShareSubscriptionsSynchronize)| + +### Commands in `az datashare synchronization-setting` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare synchronization-setting list](#SynchronizationSettingsListByShare)|ListByShare|[Parameters](#ParametersSynchronizationSettingsListByShare)|[Example](#ExamplesSynchronizationSettingsListByShare)| +|[az datashare synchronization-setting show](#SynchronizationSettingsGet)|Get|[Parameters](#ParametersSynchronizationSettingsGet)|[Example](#ExamplesSynchronizationSettingsGet)| +|[az datashare synchronization-setting create](#SynchronizationSettingsCreate)|Create|[Parameters](#ParametersSynchronizationSettingsCreate)|[Example](#ExamplesSynchronizationSettingsCreate)| +|[az datashare synchronization-setting delete](#SynchronizationSettingsDelete)|Delete|[Parameters](#ParametersSynchronizationSettingsDelete)|[Example](#ExamplesSynchronizationSettingsDelete)| + +### Commands in `az datashare trigger` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datashare trigger list](#TriggersListByShareSubscription)|ListByShareSubscription|[Parameters](#ParametersTriggersListByShareSubscription)|[Example](#ExamplesTriggersListByShareSubscription)| +|[az datashare trigger show](#TriggersGet)|Get|[Parameters](#ParametersTriggersGet)|[Example](#ExamplesTriggersGet)| +|[az datashare trigger create](#TriggersCreate)|Create|[Parameters](#ParametersTriggersCreate)|[Example](#ExamplesTriggersCreate)| +|[az datashare trigger delete](#TriggersDelete)|Delete|[Parameters](#ParametersTriggersDelete)|[Example](#ExamplesTriggersDelete)| + + +## COMMAND DETAILS +### group `az datashare` +#### Command `az datashare list` + +##### Example +``` +az datashare list --account-name "Account1" --resource-group "SampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--skip-token**|string|Continuation Token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| + +#### Command `az datashare show` + +##### Example +``` +az datashare show --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share to retrieve.|share_name|shareName| + +#### Command `az datashare create` + +##### Example +``` +az datashare create --account-name "Account1" --resource-group "SampleResourceGroup" --description "share description" \ +--share-kind "CopyBased" --terms "Confidential" --name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--description**|string|Share description.|description|description| +|**--share-kind**|choice|Share kind.|share_kind|shareKind| +|**--terms**|string|Share terms.|terms|terms| + +#### Command `az datashare delete` + +##### Example +``` +az datashare delete --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| + +#### Command `az datashare list-synchronization` + +##### Example +``` +az datashare list-synchronization --account-name "Account1" --resource-group "SampleResourceGroup" --name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| + +#### Command `az datashare list-synchronization-detail` + +##### Example +``` +az datashare list-synchronization-detail --account-name "Account1" --resource-group "SampleResourceGroup" --name \ +"Share1" --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| +|**--consumer-email**|string|Email of the user who created the synchronization|consumer_email|consumerEmail| +|**--consumer-name**|string|Name of the user who created the synchronization|consumer_name|consumerName| +|**--consumer-tenant-name**|string|Tenant name of the consumer who created the synchronization|consumer_tenant_name|consumerTenantName| +|**--duration-ms**|integer|synchronization duration|duration_ms|durationMs| +|**--end-time**|date-time|End time of synchronization|end_time|endTime| +|**--message**|string|message of synchronization|message|message| +|**--start-time**|date-time|start time of synchronization|start_time|startTime| +|**--status**|string|Raw Status|status|status| +|**--synchronization-id**|string|Synchronization id|synchronization_id|synchronizationId| + +### group `az datashare account` +#### Command `az datashare account list` + +##### Example +``` +az datashare account list --resource-group "SampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| + +#### Command `az datashare account list` + +##### Example +``` +az datashare account list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| + +#### Command `az datashare account show` + +##### Example +``` +az datashare account show --name "Account1" --resource-group "SampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| + +#### Command `az datashare account create` + +##### Example +``` +az datashare account create --location "West US 2" --tags tag1="Red" tag2="White" --name "Account1" --resource-group \ +"SampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--location**|string|Location of the azure resource.|location|location| +|**--tags**|dictionary|Tags on the azure resource.|tags|tags| + +#### Command `az datashare account update` + +##### Example +``` +az datashare account update --name "Account1" --tags tag1="Red" tag2="White" --resource-group "SampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--tags**|dictionary|Tags on the azure resource.|tags|tags| + +#### Command `az datashare account delete` + +##### Example +``` +az datashare account delete --name "Account1" --resource-group "SampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| + +### group `az datashare consumer-invitation` +#### Command `az datashare consumer-invitation show` + +##### Example +``` +az datashare consumer-invitation show --invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03" --location "East US 2" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--location**|string|Location of the invitation|location|location| +|**--invitation-id**|string|An invitation id|invitation_id|invitationId| + +#### Command `az datashare consumer-invitation list-invitation` + +##### Example +``` +az datashare consumer-invitation list-invitation +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--skip-token**|string|The continuation token|skip_token|$skipToken| + +#### Command `az datashare consumer-invitation reject-invitation` + +##### Example +``` +az datashare consumer-invitation reject-invitation --invitation-id "dfbbc788-19eb-4607-a5a1-c74181bfff03" --location \ +"East US 2" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--location**|string|Location of the invitation|location|location| +|**--invitation-id**|string|Unique id of the invitation.|invitation_id|invitationId| + +### group `az datashare consumer-source-data-set` +#### Command `az datashare consumer-source-data-set list` + +##### Example +``` +az datashare consumer-source-data-set list --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| + +### group `az datashare data-set` +#### Command `az datashare data-set list` + +##### Example +``` +az datashare data-set list --account-name "Account1" --resource-group "SampleResourceGroup" --share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--skip-token**|string|continuation token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| + +#### Command `az datashare data-set show` + +##### Example +``` +az datashare data-set show --account-name "Account1" --name "Dataset1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--data-set-name**|string|The name of the dataSet.|data_set_name|dataSetName| + +#### Command `az datashare data-set create` + +##### Example +``` +az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"Blob\\",\\"properties\\":{\\"containe\ +rName\\":\\"C1\\",\\"filePath\\":\\"file21\\",\\"resourceGroup\\":\\"SampleResourceGroup\\",\\"storageAccountName\\":\\\ +"storage2\\",\\"subscriptionId\\":\\"433a8dfd-e5d5-4e77-ad86-90acdc75eb1a\\"}}" --name "Dataset1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"KustoCluster\\",\\"properties\\":{\\"\ +kustoClusterResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/pro\ +viders/Microsoft.Kusto/clusters/Cluster1\\"}}" --name "Dataset1" --resource-group "SampleResourceGroup" --share-name \ +"Share1" +az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"KustoDatabase\\",\\"properties\\":{\\\ +"kustoDatabaseResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/p\ +roviders/Microsoft.Kusto/clusters/Cluster1/databases/Database1\\"}}" --name "Dataset1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"KustoTable\\",\\"properties\\":{\\"ku\ +stoDatabaseResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/prov\ +iders/Microsoft.Kusto/clusters/Cluster1/databases/Database1\\",\\"tableLevelSharingProperties\\":{\\"externalTablesToEx\ +clude\\":[\\"test11\\",\\"test12\\"],\\"externalTablesToInclude\\":[\\"test9\\",\\"test10\\"],\\"materializedViewsToExc\ +lude\\":[\\"test7\\",\\"test8\\"],\\"materializedViewsToInclude\\":[\\"test5\\",\\"test6\\"],\\"tablesToExclude\\":[\\"\ +test3\\",\\"test4\\"],\\"tablesToInclude\\":[\\"test1\\",\\"test2\\"]}}}" --name "Dataset1" --resource-group \ +"SampleResourceGroup" --share-name "Share1" +az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"SqlDBTable\\",\\"properties\\":{\\"da\ +tabaseName\\":\\"SqlDB1\\",\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/433a8dfd-e5d5-4e77-ad\ +86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\\":\\"Table1\ +\\"}}" --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" +az datashare data-set create --account-name "Account1" --data-set "{\\"kind\\":\\"SqlDWTable\\",\\"properties\\":{\\"da\ +taWarehouseName\\":\\"DataWarehouse1\\",\\"schemaName\\":\\"dbo\\",\\"sqlServerResourceId\\":\\"/subscriptions/433a8dfd\ +-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.Sql/servers/Server1\\",\\"tableName\ +\\":\\"Table1\\"}}" --name "Dataset1" --resource-group "SampleResourceGroup" --share-name "Share1" +az datashare data-set create --account-name "sourceAccount" --data-set "{\\"kind\\":\\"SynapseWorkspaceSqlPoolTable\\",\ +\\"properties\\":{\\"synapseWorkspaceSqlPoolTableResourceId\\":\\"/subscriptions/0f3dcfc3-18f8-4099-b381-8353e19d43a7/r\ +esourceGroups/SampleResourceGroup/providers/Microsoft.Synapse/workspaces/ExampleWorkspace/sqlPools/ExampleSqlPool/schem\ +as/dbo/tables/table1\\"}}" --name "dataset1" --resource-group "SampleResourceGroup" --share-name "share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share to add the data set to.|share_name|shareName| +|**--data-set-name**|string|The name of the dataSet.|data_set_name|dataSetName| +|**--data-set**|object|The new data set information.|data_set|dataSet| + +#### Command `az datashare data-set delete` + +##### Example +``` +az datashare data-set delete --account-name "Account1" --name "Dataset1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--data-set-name**|string|The name of the dataSet.|data_set_name|dataSetName| + +### group `az datashare data-set-mapping` +#### Command `az datashare data-set-mapping list` + +##### Example +``` +az datashare data-set-mapping list --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-subscription-name "ShareSubscription1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the share subscription.|share_subscription_name|shareSubscriptionName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| + +#### Command `az datashare data-set-mapping show` + +##### Example +``` +az datashare data-set-mapping show --account-name "Account1" --name "DatasetMapping1" --resource-group \ +"SampleResourceGroup" --share-subscription-name "ShareSubscription1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| +|**--data-set-mapping-name**|string|The name of the dataSetMapping.|data_set_mapping_name|dataSetMappingName| + +#### Command `az datashare data-set-mapping create` + +##### Example +``` +az datashare data-set-mapping create --account-name "Account1" --adls-gen2-file-data-set-mapping \ +data-set-id="a08f184b-0567-4b11-ba22-a1199336d226" file-path="file21" file-system="fileSystem" output-type="Csv" \ +resource-group="SampleResourceGroup" storage-account-name="storage2" subscription-id="433a8dfd-e5d5-4e77-ad86-90acdc75e\ +b1a" --name "DatasetMapping1" --resource-group "SampleResourceGroup" --share-subscription-name "ShareSubscription1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the share subscription which will hold the data set sink.|share_subscription_name|shareSubscriptionName| +|**--data-set-mapping-name**|string|The name of the data set mapping to be created.|data_set_mapping_name|dataSetMappingName| +|**--adls-gen2-file-data-set-mapping**|object|An ADLS Gen2 file data set mapping.|adls_gen2_file_data_set_mapping|ADLSGen2FileDataSetMapping| +|**--adls-gen2-file-system-data-set-mapping**|object|An ADLS Gen2 file system data set mapping.|adls_gen2_file_system_data_set_mapping|ADLSGen2FileSystemDataSetMapping| +|**--adls-gen2-folder-data-set-mapping**|object|An ADLS Gen2 folder data set mapping.|adls_gen2_folder_data_set_mapping|ADLSGen2FolderDataSetMapping| +|**--blob-container-data-set-mapping**|object|A Blob container data set mapping.|blob_container_data_set_mapping|BlobContainerDataSetMapping| +|**--blob-data-set-mapping**|object|A Blob data set mapping.|blob_data_set_mapping|BlobDataSetMapping| +|**--blob-folder-data-set-mapping**|object|A Blob folder data set mapping.|blob_folder_data_set_mapping|BlobFolderDataSetMapping| +|**--kusto-cluster-data-set-mapping**|object|A Kusto cluster data set mapping|kusto_cluster_data_set_mapping|KustoClusterDataSetMapping| +|**--kusto-database-data-set-mapping**|object|A Kusto database data set mapping|kusto_database_data_set_mapping|KustoDatabaseDataSetMapping| +|**--kusto-table-data-set-mapping**|object|A Kusto database data set mapping|kusto_table_data_set_mapping|KustoTableDataSetMapping| +|**--sqldb-table-data-set-mapping**|object|A SQL DB Table data set mapping.|sqldb_table_data_set_mapping|SqlDBTableDataSetMapping| +|**--sqldw-table-data-set-mapping**|object|A SQL DW Table data set mapping.|sqldw_table_data_set_mapping|SqlDWTableDataSetMapping| +|**--synapse-workspace-sql-pool-table-data-set-mapping**|object|A Synapse Workspace Sql Pool Table data set mapping|synapse_workspace_sql_pool_table_data_set_mapping|SynapseWorkspaceSqlPoolTableDataSetMapping| + +#### Command `az datashare data-set-mapping delete` + +##### Example +``` +az datashare data-set-mapping delete --account-name "Account1" --name "DatasetMapping1" --resource-group \ +"SampleResourceGroup" --share-subscription-name "ShareSubscription1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| +|**--data-set-mapping-name**|string|The name of the dataSetMapping.|data_set_mapping_name|dataSetMappingName| + +### group `az datashare email-registration` +#### Command `az datashare email-registration activate-email` + +##### Example +``` +az datashare email-registration activate-email --activation-code "djsfhakj2lekowd3wepfklpwe9lpflcd" --location "East \ +US 2" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--location**|string|Location of the activation.|location|location| +|**--activation-code**|string|Activation code for the registration|activation_code|activationCode| + +#### Command `az datashare email-registration register-email` + +##### Example +``` +az datashare email-registration register-email --location "East US 2" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--location**|string|Location of the registration|location|location| + +### group `az datashare invitation` +#### Command `az datashare invitation list` + +##### Example +``` +az datashare invitation list --account-name "Account1" --resource-group "SampleResourceGroup" --share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--skip-token**|string|The continuation token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| + +#### Command `az datashare invitation show` + +##### Example +``` +az datashare invitation show --account-name "Account1" --name "Invitation1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--invitation-name**|string|The name of the invitation.|invitation_name|invitationName| + +#### Command `az datashare invitation create` + +##### Example +``` +az datashare invitation create --account-name "Account1" --expiration-date "2020-08-26T22:33:24.5785265Z" \ +--target-email "receiver@microsoft.com" --name "Invitation1" --resource-group "SampleResourceGroup" --share-name \ +"Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share to send the invitation for.|share_name|shareName| +|**--invitation-name**|string|The name of the invitation.|invitation_name|invitationName| +|**--expiration-date**|date-time|The expiration date for the invitation and share subscription.|expiration_date|expirationDate| +|**--target-active-directory-id**|string|The target Azure AD Id. Can't be combined with email.|target_active_directory_id|targetActiveDirectoryId| +|**--target-email**|string|The email the invitation is directed to.|target_email|targetEmail| +|**--target-object-id**|string|The target user or application Id that invitation is being sent to. Must be specified along TargetActiveDirectoryId. This enables sending invitations to specific users or applications in an AD tenant.|target_object_id|targetObjectId| + +#### Command `az datashare invitation delete` + +##### Example +``` +az datashare invitation delete --account-name "Account1" --name "Invitation1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--invitation-name**|string|The name of the invitation.|invitation_name|invitationName| + +### group `az datashare provider-share-subscription` +#### Command `az datashare provider-share-subscription list` + +##### Example +``` +az datashare provider-share-subscription list --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--skip-token**|string|Continuation Token|skip_token|$skipToken| + +#### Command `az datashare provider-share-subscription show` + +##### Example +``` +az datashare provider-share-subscription show --account-name "Account1" --provider-share-subscription-id \ +"4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" --share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--provider-share-subscription-id**|string|To locate shareSubscription|provider_share_subscription_id|providerShareSubscriptionId| + +#### Command `az datashare provider-share-subscription adjust` + +##### Example +``` +az datashare provider-share-subscription adjust --account-name "Account1" --expiration-date \ +"2020-12-26T22:33:24.5785265Z" --provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" \ +--resource-group "SampleResourceGroup" --share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--provider-share-subscription-id**|string|To locate shareSubscription|provider_share_subscription_id|providerShareSubscriptionId| +|**--expiration-date**|date-time|Expiration date of the share subscription in UTC format|expiration_date|expirationDate| + +#### Command `az datashare provider-share-subscription reinstate` + +##### Example +``` +az datashare provider-share-subscription reinstate --account-name "Account1" --expiration-date \ +"2020-12-26T22:33:24.5785265Z" --provider-share-subscription-id "4256e2cf-0f82-4865-961b-12f83333f487" \ +--resource-group "SampleResourceGroup" --share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--provider-share-subscription-id**|string|To locate shareSubscription|provider_share_subscription_id|providerShareSubscriptionId| +|**--expiration-date**|date-time|Expiration date of the share subscription in UTC format|expiration_date|expirationDate| + +#### Command `az datashare provider-share-subscription revoke` + +##### Example +``` +az datashare provider-share-subscription revoke --account-name "Account1" --provider-share-subscription-id \ +"4256e2cf-0f82-4865-961b-12f83333f487" --resource-group "SampleResourceGroup" --share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--provider-share-subscription-id**|string|To locate shareSubscription|provider_share_subscription_id|providerShareSubscriptionId| + +### group `az datashare share-subscription` +#### Command `az datashare share-subscription list` + +##### Example +``` +az datashare share-subscription list --account-name "Account1" --resource-group "SampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--skip-token**|string|Continuation Token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| + +#### Command `az datashare share-subscription show` + +##### Example +``` +az datashare share-subscription show --account-name "Account1" --resource-group "SampleResourceGroup" --name \ +"ShareSubscription1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| + +#### Command `az datashare share-subscription create` + +##### Example +``` +az datashare share-subscription create --account-name "Account1" --resource-group "SampleResourceGroup" \ +--expiration-date "2020-08-26T22:33:24.5785265Z" --invitation-id "12345678-1234-1234-12345678abd" \ +--source-share-location "eastus2" --name "ShareSubscription1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| +|**--invitation-id**|string|The invitation id.|invitation_id|invitationId| +|**--source-share-location**|string|Source share location.|source_share_location|sourceShareLocation| +|**--expiration-date**|date-time|The expiration date of the share subscription.|expiration_date|expirationDate| + +#### Command `az datashare share-subscription delete` + +##### Example +``` +az datashare share-subscription delete --account-name "Account1" --resource-group "SampleResourceGroup" --name \ +"ShareSubscription1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| + +#### Command `az datashare share-subscription cancel-synchronization` + +##### Example +``` +az datashare share-subscription cancel-synchronization --account-name "Account1" --resource-group \ +"SampleResourceGroup" --name "ShareSubscription1" --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| +|**--synchronization-id**|string|Synchronization id|synchronization_id|synchronizationId| + +#### Command `az datashare share-subscription list-source-share-synchronization-setting` + +##### Example +``` +az datashare share-subscription list-source-share-synchronization-setting --account-name "Account1" --resource-group \ +"SampleResourceGroup" --name "ShareSub1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| + +#### Command `az datashare share-subscription list-synchronization` + +##### Example +``` +az datashare share-subscription list-synchronization --account-name "Account1" --resource-group "SampleResourceGroup" \ +--name "ShareSub1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the share subscription.|share_subscription_name|shareSubscriptionName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| + +#### Command `az datashare share-subscription list-synchronization-detail` + +##### Example +``` +az datashare share-subscription list-synchronization-detail --account-name "Account1" --resource-group \ +"SampleResourceGroup" --name "ShareSub1" --synchronization-id "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the share subscription.|share_subscription_name|shareSubscriptionName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| +|**--filter**|string|Filters the results using OData syntax.|filter|$filter| +|**--orderby**|string|Sorts the results using OData syntax.|orderby|$orderby| +|**--synchronization-id**|string|Synchronization id|synchronization_id|synchronizationId| + +#### Command `az datashare share-subscription synchronize` + +##### Example +``` +az datashare share-subscription synchronize --account-name "Account1" --resource-group "SampleResourceGroup" --name \ +"ShareSubscription1" --synchronization-mode "Incremental" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of share subscription|share_subscription_name|shareSubscriptionName| +|**--synchronization-mode**|choice|Mode of synchronization used in triggers and snapshot sync. Incremental by default|synchronization_mode|synchronizationMode| + +### group `az datashare synchronization-setting` +#### Command `az datashare synchronization-setting list` + +##### Example +``` +az datashare synchronization-setting list --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--skip-token**|string|continuation token|skip_token|$skipToken| + +#### Command `az datashare synchronization-setting show` + +##### Example +``` +az datashare synchronization-setting show --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" --name "SynchronizationSetting1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--synchronization-setting-name**|string|The name of the synchronizationSetting.|synchronization_setting_name|synchronizationSettingName| + +#### Command `az datashare synchronization-setting create` + +##### Example +``` +az datashare synchronization-setting create --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" --scheduled-synchronization-setting recurrence-interval="Day" synchronization-time="2018-11-14T04\ +:47:52.9614956Z" --name "Dataset1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share to add the synchronization setting to.|share_name|shareName| +|**--synchronization-setting-name**|string|The name of the synchronizationSetting.|synchronization_setting_name|synchronizationSettingName| +|**--scheduled-synchronization-setting**|object|A type of synchronization setting based on schedule|scheduled_synchronization_setting|ScheduledSynchronizationSetting| + +#### Command `az datashare synchronization-setting delete` + +##### Example +``` +az datashare synchronization-setting delete --account-name "Account1" --resource-group "SampleResourceGroup" \ +--share-name "Share1" --name "SynchronizationSetting1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-name**|string|The name of the share.|share_name|shareName| +|**--synchronization-setting-name**|string|The name of the synchronizationSetting .|synchronization_setting_name|synchronizationSettingName| + +### group `az datashare trigger` +#### Command `az datashare trigger list` + +##### Example +``` +az datashare trigger list --account-name "Account1" --resource-group "SampleResourceGroup" --share-subscription-name \ +"ShareSubscription1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the share subscription.|share_subscription_name|shareSubscriptionName| +|**--skip-token**|string|Continuation token|skip_token|$skipToken| + +#### Command `az datashare trigger show` + +##### Example +``` +az datashare trigger show --account-name "Account1" --resource-group "SampleResourceGroup" --share-subscription-name \ +"ShareSubscription1" --name "Trigger1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| +|**--trigger-name**|string|The name of the trigger.|trigger_name|triggerName| + +#### Command `az datashare trigger create` + +##### Example +``` +az datashare trigger create --account-name "Account1" --resource-group "SampleResourceGroup" --share-subscription-name \ +"ShareSubscription1" --scheduled-trigger recurrence-interval="Day" synchronization-mode="Incremental" \ +synchronization-time="2018-11-14T04:47:52.9614956Z" --name "Trigger1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the share subscription which will hold the data set sink.|share_subscription_name|shareSubscriptionName| +|**--trigger-name**|string|The name of the trigger.|trigger_name|triggerName| +|**--scheduled-trigger**|object|A type of trigger based on schedule|scheduled_trigger|ScheduledTrigger| + +#### Command `az datashare trigger delete` + +##### Example +``` +az datashare trigger delete --account-name "Account1" --resource-group "SampleResourceGroup" --share-subscription-name \ +"ShareSubscription1" --name "Trigger1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--account-name**|string|The name of the share account.|account_name|accountName| +|**--share-subscription-name**|string|The name of the shareSubscription.|share_subscription_name|shareSubscriptionName| +|**--trigger-name**|string|The name of the trigger.|trigger_name|triggerName| diff --git a/src/datashare/setup.cfg b/src/datashare/setup.cfg index e69de29bb2d..2fdd96e5d39 100644 --- a/src/datashare/setup.cfg +++ b/src/datashare/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/datashare/setup.py b/src/datashare/setup.py index 78fb8cdd85d..ebbc8d7edd7 100644 --- a/src/datashare/setup.py +++ b/src/datashare/setup.py @@ -1,57 +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 -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.1' - -# 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 = [] - -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='datashare', - version=VERSION, - description='Microsoft Azure Command-Line Tools DataShareManagementClient Extension', - # TODO: Update author and email, if applicable - author='Microsoft Corporation', - author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/datashare', - long_description=README + '\n\n' + HISTORY, - license='MIT', - classifiers=CLASSIFIERS, - packages=find_packages(), - install_requires=DEPENDENCIES, - package_data={'azext_datashare': ['azext_metadata.json']}, -) +#!/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.2.0' +try: + from azext_datashare.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_datashare.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='datashare', + version=VERSION, + description='Microsoft Azure Command-Line Tools DataShareManagementClient Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/datashare', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_datashare': ['azext_metadata.json']}, +) diff --git a/src/db-up/setup.py b/src/db-up/setup.py index c554e914b16..a55c78b6f40 100644 --- a/src/db-up/setup.py +++ b/src/db-up/setup.py @@ -40,7 +40,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/db-up', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/db-up', classifiers=CLASSIFIERS, package_data={'azext_db_up': ['azext_metadata.json', 'random_name/*']}, packages=find_packages(exclude=["tests"]), diff --git a/src/desktopvirtualization/setup.py b/src/desktopvirtualization/setup.py index c5769d749c6..615b990f36c 100644 --- a/src/desktopvirtualization/setup.py +++ b/src/desktopvirtualization/setup.py @@ -47,7 +47,7 @@ description='Microsoft Azure Command-Line Tools DesktopVirtualizationAPIClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/desktopvirtualization', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/desktopvirtualization', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/dev-spaces/setup.py b/src/dev-spaces/setup.py index a37c38b9c40..de5742bf06a 100644 --- a/src/dev-spaces/setup.py +++ b/src/dev-spaces/setup.py @@ -36,7 +36,7 @@ license='MIT', author='Microsoft Corporation', author_email='azds-azcli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/dev-spaces', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/dev-spaces', classifiers=CLASSIFIERS, package_data={'azext_dev_spaces': ['azext_metadata.json']}, packages=find_packages(exclude=["tests"]), diff --git a/src/diskpool/azext_diskpool/tests/latest/preparers.py b/src/diskpool/azext_diskpool/tests/latest/preparers.py index 90926b89c15..e6dac62dea0 100644 --- a/src/diskpool/azext_diskpool/tests/latest/preparers.py +++ b/src/diskpool/azext_diskpool/tests/latest/preparers.py @@ -8,7 +8,7 @@ # regenerated. # -------------------------------------------------------------------------- -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.scenario_tests import SingleValueReplacer from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer from azure.cli.testsdk.reverse_dependency import get_dummy_cli diff --git a/src/diskpool/setup.py b/src/diskpool/setup.py index 06bc4ea3613..18a629f5871 100644 --- a/src/diskpool/setup.py +++ b/src/diskpool/setup.py @@ -48,7 +48,7 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/diskpool', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/dms-preview/setup.py b/src/dms-preview/setup.py index efb9de60c73..a80bc1ae86c 100644 --- a/src/dms-preview/setup.py +++ b/src/dms-preview/setup.py @@ -33,7 +33,7 @@ license='MIT', author='Artyom Pavlichenko', author_email='arpavlic@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/dms-preview', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/dms-preview', classifiers=CLASSIFIERS, packages=find_packages(exclude=["test"]), package_data={'azext_dms': ['azext_metadata.json']}, diff --git a/src/dnc/azext_dnc/manual/tests/latest/preparers.py b/src/dnc/azext_dnc/manual/tests/latest/preparers.py index 7017422b05e..53aa6614e7e 100644 --- a/src/dnc/azext_dnc/manual/tests/latest/preparers.py +++ b/src/dnc/azext_dnc/manual/tests/latest/preparers.py @@ -10,7 +10,7 @@ import os from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.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 diff --git a/src/dnc/azext_dnc/tests/latest/preparers.py b/src/dnc/azext_dnc/tests/latest/preparers.py index 0879e51945a..176f5b16296 100644 --- a/src/dnc/azext_dnc/tests/latest/preparers.py +++ b/src/dnc/azext_dnc/tests/latest/preparers.py @@ -10,7 +10,7 @@ import os from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.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 diff --git a/src/dnc/setup.py b/src/dnc/setup.py index 0821e203528..36c6c1188a3 100644 --- a/src/dnc/setup.py +++ b/src/dnc/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools DNC Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/dnc', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/dnc', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/edgeorder/HISTORY.rst b/src/edgeorder/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/edgeorder/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/edgeorder/README.md b/src/edgeorder/README.md new file mode 100644 index 00000000000..3544c748624 --- /dev/null +++ b/src/edgeorder/README.md @@ -0,0 +1,111 @@ +# Azure CLI edgeorder Extension # +This is the extension for edgeorder + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name edgeorder +``` + +### Included Features ### +##### Create an address ##### +``` +az edgeorder address create --name "TestMSAddressName" --location "eastus" \ + --contact-details contact-name="Petr Cech" email-list="testemail@microsoft.com" phone="1234567890" phone-extension="" \ + --shipping-address address-type="None" city="San Francisco" company-name="Microsoft" country="US" postal-code="94107" state-or-province="CA" street-address1="16 TOWNSEND ST" street-address2="UNIT 1" \ + --resource-group "TestRG" +``` +##### Create an order item ##### +``` +az edgeorder order-item create --name "TestOrderItemName01" \ + --order-item-resource "{\\"location\\":\\"eastus\\",\\"tags\\":{\\"carrot\\":\\"vegetable\\",\\"mango\\":\\"fruit\\"},\\"orderItemDetails\\":{\\"orderItemType\\":\\"Purchase\\",\\"preferences\\":{\\"transportPreferences\\":{\\"preferredShipmentType\\":\\"MicrosoftManaged\\"}},\\"productDetails\\":{\\"hierarchyInformation\\":{\\"configurationName\\":\\"edgep_base\\",\\"productFamilyName\\":\\"azurestackedge\\",\\"productLineName\\":\\"azurestackedge\\",\\"productName\\":\\"azurestackedgegpu\\"}}},\\"addressDetails\\":{\\"forwardAddress\\":{\\"contactDetails\\":{\\"contactName\\":\\"Petr Cech\\",\\"emailList\\":[\\"testemail@microsoft.com\\"],\\"phone\\":\\"3213131190\\",\\"phoneExtension\\":\\"\\"},\\"shippingAddress\\":{\\"addressType\\":\\"None\\",\\"city\\":\\"San Francisco\\",\\"companyName\\":\\"Microsoft\\",\\"country\\":\\"US\\",\\"postalCode\\":\\"94107\\",\\"stateOrProvince\\":\\"CA\\",\\"streetAddress1\\":\\"16 TOWNSEND ST\\",\\"streetAddress2\\":\\"UNIT 1\\"}}},\\"orderId\\":\\"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01\\"}" \ + --resource-group "TestRG" +``` +##### Cancel an order item ##### +``` +az edgeorder order-item cancel --reason "Order cancelled" --name "TestOrderItemName1" \ + --resource-group "TestRG" +``` +##### List addresses at resource group level ##### +``` +az edgeorder address list --resource-group "TestRG" +``` +##### List addresses at subscription level ##### +``` +az edgeorder address list +``` +##### List configurations ##### +``` +az edgeorder list-config \ + --configuration-filters "[{\\"filterableProperty\\":[{\\"type\\":\\"ShipToCountries\\",\\"supportedValues\\":[\\"US\\"]}],\\"hierarchyInformation\\":{\\"productFamilyName\\":\\"AzureStackEdge\\",\\"productLineName\\":\\"AzureStackEdge\\",\\"productName\\":\\"AzureStackEdgeGPU\\"}}]" +``` +##### List operations ##### +``` +az edgeorder list-operation +``` +##### List orders at resource group level ##### +``` +az edgeorder order list --resource-group "TestRG" +``` +##### List orders at subscription level ##### +``` +az edgeorder order list +``` +##### List order items at resource group level ##### +``` +az edgeorder order-item list --resource-group "TestRG" +``` +##### List order items at subscription level ##### +``` +az edgeorder order-item list +``` +##### List product families ##### +``` +az edgeorder list-family \ + --filterable-properties azurestackedge="{\\"type\\":\\"ShipToCountries\\",\\"supportedValues\\":[\\"US\\"]}" +``` +##### List product family metadata ##### +``` +az edgeorder list-metadata +``` +##### Return an order item ##### +``` +az edgeorder order-item return --name "TestOrderName1" --resource-group "TestRG" \ + --return-reason "Order returned" +``` +##### Show an address ##### +``` +az edgeorder address show --name "TestMSAddressName" --resource-group "TestRG" +``` +##### Show an order ##### +``` +az edgeorder order show --location "location" --name "TestOrderItemName901" \ + --resource-group "TestRG" +``` +##### Show an order item ##### +``` +az edgeorder order-item show --name "TestOrderItemName01" --resource-group "TestRG" +``` +##### Update an address ##### +``` +az edgeorder address update --name "TestAddressName2" \ + --contact-details contact-name="Petr Cech" email-list="ssemcr@microsoft.com" phone="1234567890" phone-extension="" \ + --shipping-address address-type="None" city="San Francisco" company-name="Microsoft" country="US" postal-code="94107" state-or-province="CA" street-address1="16 TOWNSEND STT" street-address2="UNIT 1" \ + --tags Hobby="Web Series Added" Name="Smile-Updated" WhatElse="Web Series Added" Work="Engineering" \ + --resource-group "TestRG" +``` +##### Update an order item ##### +``` +az edgeorder order-item update --name "TestOrderItemName01" \ + --contact-details contact-name="Updated contact name" email-list="testemail@microsoft.com" phone="2222200000" \ + --transport-preferences preferred-shipment-type="CustomerManaged" --tags ant="insect" pigeon="bird" tiger="animal" \ + --resource-group "TestRG" +``` +##### Delete an address ##### +``` +az edgeorder address delete --name "TestAddressName1" --resource-group "TestRG" +``` +##### Delete an order item ##### +``` +az edgeorder order-item delete --name "TestOrderItemName01" --resource-group "TestRG" +``` diff --git a/src/edgeorder/azext_edgeorder/__init__.py b/src/edgeorder/azext_edgeorder/__init__.py new file mode 100644 index 00000000000..4ece4a2d295 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/__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_edgeorder._help +from azure.cli.core import AzCommandsLoader + + +class EdgeOrderManagementClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_edgeorder.generated._client_factory import cf_edgeorder_cl + edgeorder_custom = CliCommandType( + operations_tmpl='azext_edgeorder.custom#{}', + client_factory=cf_edgeorder_cl) + parent = super() + parent.__init__(cli_ctx=cli_ctx, custom_command_type=edgeorder_custom) + + def load_command_table(self, args): + from azext_edgeorder.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_edgeorder.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_edgeorder.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_edgeorder.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 = EdgeOrderManagementClientCommandsLoader diff --git a/src/edgeorder/azext_edgeorder/_help.py b/src/edgeorder/azext_edgeorder/_help.py new file mode 100644 index 00000000000..9b93f87a6e9 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/_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/edgeorder/azext_edgeorder/action.py b/src/edgeorder/azext_edgeorder/action.py new file mode 100644 index 00000000000..9b3d0a8a78c --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/azext_metadata.json b/src/edgeorder/azext_edgeorder/azext_metadata.json new file mode 100644 index 00000000000..cfc30c747c7 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/custom.py b/src/edgeorder/azext_edgeorder/custom.py new file mode 100644 index 00000000000..885447229d6 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/generated/__init__.py b/src/edgeorder/azext_edgeorder/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/generated/_client_factory.py b/src/edgeorder/azext_edgeorder/generated/_client_factory.py new file mode 100644 index 00000000000..49711c678df --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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_edgeorder_cl(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_edgeorder.vendored_sdks.edgeorder import EdgeOrderManagementClient + return get_mgmt_service_client(cli_ctx, + EdgeOrderManagementClient) + + +def cf_address(cli_ctx, *_): + return cf_edgeorder_cl(cli_ctx).addresses + + +def cf_order(cli_ctx, *_): + return cf_edgeorder_cl(cli_ctx).order + + +def cf_order_item(cli_ctx, *_): + return cf_edgeorder_cl(cli_ctx).order_items diff --git a/src/edgeorder/azext_edgeorder/generated/_help.py b/src/edgeorder/azext_edgeorder/generated/_help.py new file mode 100644 index 00000000000..66fdca7abe9 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/generated/_help.py @@ -0,0 +1,396 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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['edgeorder'] = ''' + type: group + short-summary: Manage Edge Order +''' + +helps['edgeorder order'] = """ + type: group + short-summary: sub group order +""" + +helps['edgeorder order show'] = """ + type: command + short-summary: "Gets an order." + examples: + - name: GetOrderByName + text: |- + az edgeorder order show --location "%7B%7B%7Blocation%7D%7D" --name "TestOrderItemName901" \ +--resource-group "TestRG" +""" + +helps['edgeorder list-config'] = """ + type: command + short-summary: "This method provides the list of configurations for the given product family, product line and \ +product under subscription." + parameters: + - name: --registered-features + short-summary: "List of registered feature flags for subscription" + long-summary: | + Usage: --registered-features name=XX state=XX + + name: Name of subscription registered feature + state: State of subscription registered feature + + Multiple actions can be specified by using more than one --registered-features argument. + examples: + - name: ListConfigurations + text: |- + az edgeorder list-config --configuration-filters "[{\\"filterableProperty\\":[{\\"type\\":\\"ShipToCount\ +ries\\",\\"supportedValues\\":[\\"US\\"]}],\\"hierarchyInformation\\":{\\"productFamilyName\\":\\"AzureStackEdge\\",\\"\ +productLineName\\":\\"AzureStackEdge\\",\\"productName\\":\\"AzureStackEdgeGPU\\"}}]" +""" + +helps['edgeorder list-family'] = """ + type: command + short-summary: "This method provides the list of product families for the given subscription." + parameters: + - name: --registered-features + short-summary: "List of registered feature flags for subscription" + long-summary: | + Usage: --registered-features name=XX state=XX + + name: Name of subscription registered feature + state: State of subscription registered feature + + Multiple actions can be specified by using more than one --registered-features argument. + examples: + - name: ListProductFamilies + text: |- + az edgeorder list-family --filterable-properties azurestackedge={"type":"ShipToCountries","supportedValu\ +es":["US"]} +""" + +helps['edgeorder list-metadata'] = """ + type: command + short-summary: "This method provides the list of product families metadata for the given subscription." + examples: + - name: ListProductFamiliesMetadata + text: |- + az edgeorder list-metadata +""" + +helps['edgeorder address'] = """ + type: group + short-summary: Manage address with edgeorder +""" + +helps['edgeorder address list'] = """ + type: command + short-summary: "Lists all the addresses available under the given resource group. And Lists all the addresses \ +available under the subscription." + examples: + - name: ListAddressesAtResourceGroupLevel + text: |- + az edgeorder address list --resource-group "TestRG" + - name: ListAddressesAtSubscriptionLevel + text: |- + az edgeorder address list +""" + +helps['edgeorder address'] = """ + type: group + short-summary: Manage address with edgeorder sub group address +""" + +helps['edgeorder address show'] = """ + type: command + short-summary: "Gets information about the specified address." + examples: + - name: GetAddressByName + text: |- + az edgeorder address show --name "TestMSAddressName" --resource-group "TestRG" +""" + +helps['edgeorder address create'] = """ + type: command + short-summary: "Creates a new address with the specified parameters. Existing address can be updated with this \ +API." + parameters: + - name: --shipping-address + short-summary: "Shipping details for the address" + long-summary: | + Usage: --shipping-address street-address1=XX street-address2=XX street-address3=XX city=XX \ +state-or-province=XX country=XX postal-code=XX zip-extended-code=XX company-name=XX address-type=XX + + street-address1: Required. Street Address line 1. + street-address2: Street Address line 2. + street-address3: Street Address line 3. + city: Name of the City. + state-or-province: Name of the State or Province. + country: Required. Name of the Country. + postal-code: Postal code. + zip-extended-code: Extended Zip Code. + company-name: Name of the company. + address-type: Type of address. + - name: --contact-details + short-summary: "Contact details for the address" + long-summary: | + Usage: --contact-details contact-name=XX phone=XX phone-extension=XX mobile=XX email-list=XX + + contact-name: Required. Contact name of the person. + phone: Required. Phone number of the contact person. + phone-extension: Phone extension number of the contact person. + mobile: Mobile number of the contact person. + email-list: Required. List of Email-ids to be notified about job progress. + examples: + - name: CreateAddress + text: |- + az edgeorder address create --name "TestMSAddressName" --location "westus" --contact-details \ +contact-name="Petr Cech" email-list="testemail@microsoft.com" phone="1234567890" phone-extension="" --shipping-address \ +address-type="None" city="San Francisco" company-name="Microsoft" country="US" postal-code="94107" \ +state-or-province="CA" street-address1="16 TOWNSEND ST" street-address2="UNIT 1" --resource-group "TestRG" +""" + +helps['edgeorder address update'] = """ + type: command + short-summary: "Updates the properties of an existing address." + parameters: + - name: --shipping-address + short-summary: "Shipping details for the address" + long-summary: | + Usage: --shipping-address street-address1=XX street-address2=XX street-address3=XX city=XX \ +state-or-province=XX country=XX postal-code=XX zip-extended-code=XX company-name=XX address-type=XX + + street-address1: Required. Street Address line 1. + street-address2: Street Address line 2. + street-address3: Street Address line 3. + city: Name of the City. + state-or-province: Name of the State or Province. + country: Required. Name of the Country. + postal-code: Postal code. + zip-extended-code: Extended Zip Code. + company-name: Name of the company. + address-type: Type of address. + - name: --contact-details + short-summary: "Contact details for the address" + long-summary: | + Usage: --contact-details contact-name=XX phone=XX phone-extension=XX mobile=XX email-list=XX + + contact-name: Required. Contact name of the person. + phone: Required. Phone number of the contact person. + phone-extension: Phone extension number of the contact person. + mobile: Mobile number of the contact person. + email-list: Required. List of Email-ids to be notified about job progress. + examples: + - name: UpdateAddress + text: |- + az edgeorder address update --name "TestAddressName2" --contact-details contact-name="Petr Cech" \ +email-list="ssemcr@microsoft.com" phone="1234567890" phone-extension="" --shipping-address address-type="None" \ +city="San Francisco" company-name="Microsoft" country="US" postal-code="94107" state-or-province="CA" \ +street-address1="16 TOWNSEND STT" street-address2="UNIT 1" --tags Hobby="Web Series Added" Name="Smile-Updated" \ +WhatElse="Web Series Added" Work="Engineering" --resource-group "TestRG" +""" + +helps['edgeorder address delete'] = """ + type: command + short-summary: "Deletes an address." + examples: + - name: DeleteAddressByName + text: |- + az edgeorder address delete --name "TestAddressName1" --resource-group "TestRG" +""" + +helps['edgeorder order'] = """ + type: group + short-summary: Manage order with edgeorder sub group order +""" + +helps['edgeorder order list'] = """ + type: command + short-summary: "Lists order at resource group level. And Lists order at subscription level." + examples: + - name: ListOrderAtResourceGroupLevel + text: |- + az edgeorder order list --resource-group "TestRG" + - name: ListOrderAtSubscriptionLevel + text: |- + az edgeorder order list +""" + +helps['edgeorder order-item'] = """ + type: group + short-summary: Manage order item with edgeorder +""" + +helps['edgeorder order-item list'] = """ + type: command + short-summary: "Lists order item at resource group level. And Lists order item at subscription level." + examples: + - name: ListOrderItemsAtResourceGroupLevel + text: |- + az edgeorder order-item list --resource-group "TestRG" + - name: ListOrderItemsAtSubscriptionLevel + text: |- + az edgeorder order-item list +""" + +helps['edgeorder order-item'] = """ + type: group + short-summary: Manage order item with edgeorder sub group order-item +""" + +helps['edgeorder order-item show'] = """ + type: command + short-summary: "Gets an order item." + examples: + - name: GetOrderItemByName + text: |- + az edgeorder order-item show --name "TestOrderItemName01" --resource-group "TestRG" +""" + +helps['edgeorder order-item create'] = """ + type: command + short-summary: "Creates an order item. Existing order item cannot be updated with this api and should instead be \ +updated with the Update order item API." + examples: + - name: CreateOrderItem + text: |- + az edgeorder order-item create --name "TestOrderItemName01" --order-item-resource \ +"{\\"location\\":\\"westus\\",\\"tags\\":{\\"carrot\\":\\"vegetable\\",\\"mango\\":\\"fruit\\"},\\"orderItemDetails\\":\ +{\\"orderItemType\\":\\"Purchase\\",\\"preferences\\":{\\"transportPreferences\\":{\\"preferredShipmentType\\":\\"Micro\ +softManaged\\"}},\\"productDetails\\":{\\"hierarchyInformation\\":{\\"configurationName\\":\\"AzureStackEdgeGPU\\",\\"p\ +roductFamilyName\\":\\"AzureStackEdge\\",\\"productLineName\\":\\"AzureStackEdge\\",\\"productName\\":\\"AzureStackEdge\ +GPU\\"}}},\\"addressDetails\\":{\\"forwardAddress\\":{\\"contactDetails\\":{\\"contactName\\":\\"164 TOWNSEND \ +ST\\",\\"emailList\\":[\\"ssemmail@microsoft.com\\",\\"vishwamdir@microsoft.com\\"],\\"phone\\":\\"3213131190\\"},\\"sh\ +ippingAddress\\":{\\"addressType\\":\\"Residential\\",\\"city\\":\\"San Francisco\\",\\"companyName\\":\\"Microsoft\\",\ +\\"country\\":\\"US\\",\\"postalCode\\":\\"94107\\",\\"stateOrProvince\\":\\"CA\\",\\"streetAddress1\\":\\"16 TOWNSEND \ +ST\\",\\"streetAddress2\\":\\"UNIT 1\\",\\"zipExtendedCode\\":\\"1\\"}}},\\"orderId\\":\\"/subscriptions/fa68082f-8ff7-\ +4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01\ +\\"}" --resource-group "TestRG" +""" + +helps['edgeorder order-item update'] = """ + type: command + short-summary: "Updates the properties of an existing order item." + parameters: + - name: --notification-preferences + short-summary: "Notification preferences." + long-summary: | + Usage: --notification-preferences stage-name=XX send-notification=XX + + stage-name: Required. Name of the stage. + send-notification: Required. Notification is required or not. + + Multiple actions can be specified by using more than one --notification-preferences argument. + - name: --transport-preferences + short-summary: "Preferences related to the shipment logistics of the order." + long-summary: | + Usage: --transport-preferences preferred-shipment-type=XX + + preferred-shipment-type: Required. Indicates Shipment Logistics type that the customer preferred. + - name: --encryption-preferences + short-summary: "Preferences related to the Encryption." + long-summary: | + Usage: --encryption-preferences double-encryption-status=XX + + double-encryption-status: Double encryption status as entered by the customer. It is compulsory to give \ +this parameter if the 'Deny' or 'Disabled' policy is configured. + - name: --management-resource-preferences + short-summary: "Preferences related to the Management resource." + long-summary: | + Usage: --management-resource-preferences preferred-management-resource-id=XX + + preferred-management-resource-id: Customer preferred Management resource ARM ID + - name: --shipping-address + short-summary: "Shipping details for the address" + long-summary: | + Usage: --shipping-address street-address1=XX street-address2=XX street-address3=XX city=XX \ +state-or-province=XX country=XX postal-code=XX zip-extended-code=XX company-name=XX address-type=XX + + street-address1: Required. Street Address line 1. + street-address2: Street Address line 2. + street-address3: Street Address line 3. + city: Name of the City. + state-or-province: Name of the State or Province. + country: Required. Name of the Country. + postal-code: Postal code. + zip-extended-code: Extended Zip Code. + company-name: Name of the company. + address-type: Type of address. + - name: --contact-details + short-summary: "Contact details for the address" + long-summary: | + Usage: --contact-details contact-name=XX phone=XX phone-extension=XX mobile=XX email-list=XX + + contact-name: Required. Contact name of the person. + phone: Required. Phone number of the contact person. + phone-extension: Phone extension number of the contact person. + mobile: Mobile number of the contact person. + email-list: Required. List of Email-ids to be notified about job progress. + examples: + - name: UpdateOrderItem + text: |- + az edgeorder order-item update --name "TestOrderItemName01" --contact-details contact-name="Updated \ +contact name" email-list="testemail@microsoft.com" phone="2222200000" --transport-preferences \ +preferred-shipment-type="CustomerManaged" --tags ant="insect" pigeon="bird" tiger="animal" --resource-group "TestRG" +""" + +helps['edgeorder order-item delete'] = """ + type: command + short-summary: "Deletes an order item." + examples: + - name: DeleteOrderItemByName + text: |- + az edgeorder order-item delete --name "TestOrderItemName01" --resource-group "TestRG" +""" + +helps['edgeorder order-item cancel'] = """ + type: command + short-summary: "Cancel order item." + examples: + - name: CancelOrderItem + text: |- + az edgeorder order-item cancel --reason "Order cancelled" --name "TestOrderItemName1" --resource-group \ +"TestRG" +""" + +helps['edgeorder order-item return'] = """ + type: command + short-summary: "Return order item." + parameters: + - name: --shipping-address + short-summary: "Shipping details for the address" + long-summary: | + Usage: --shipping-address street-address1=XX street-address2=XX street-address3=XX city=XX \ +state-or-province=XX country=XX postal-code=XX zip-extended-code=XX company-name=XX address-type=XX + + street-address1: Required. Street Address line 1. + street-address2: Street Address line 2. + street-address3: Street Address line 3. + city: Name of the City. + state-or-province: Name of the State or Province. + country: Required. Name of the Country. + postal-code: Postal code. + zip-extended-code: Extended Zip Code. + company-name: Name of the company. + address-type: Type of address. + - name: --contact-details + short-summary: "Contact details for the address" + long-summary: | + Usage: --contact-details contact-name=XX phone=XX phone-extension=XX mobile=XX email-list=XX + + contact-name: Required. Contact name of the person. + phone: Required. Phone number of the contact person. + phone-extension: Phone extension number of the contact person. + mobile: Mobile number of the contact person. + email-list: Required. List of Email-ids to be notified about job progress. + examples: + - name: ReturnOrderItem + text: |- + az edgeorder order-item return --name "TestOrderName1" --resource-group "TestRG" --return-reason "Order \ +returned" +""" diff --git a/src/edgeorder/azext_edgeorder/generated/_params.py b/src/edgeorder/azext_edgeorder/generated/_params.py new file mode 100644 index 00000000000..54eabe8577d --- /dev/null +++ b/src/edgeorder/azext_edgeorder/generated/_params.py @@ -0,0 +1,186 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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_three_state_flag, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import ( + get_default_location_from_resource_group, + validate_file_or_dict +) +from azext_edgeorder.action import ( + AddRegisteredFeatures, + AddFilterableProperties, + AddShippingAddress, + AddContactDetails, + AddNotificationPreferences, + AddTransportPreferences, + AddEncryptionPreferences, + AddManagementResourcePreferences +) + + +def load_arguments(self, _): + + with self.argument_context('edgeorder order show') as c: + c.argument('name', type=str, help='The name of the order', id_part='child_name_1') + c.argument('resource_group_name', resource_group_name_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, + validator=get_default_location_from_resource_group, id_part='name') + + with self.argument_context('edgeorder list-config') as c: + c.argument('skip_token', type=str, help='$skipToken is supported on list of configurations, which provides the ' + 'next page in the list of configurations.') + c.argument('configuration_filters', type=validate_file_or_dict, help='Holds details about product hierarchy ' + 'information and filterable property. Expected value: json-string/json-file/@json-file.') + c.argument('registered_features', action=AddRegisteredFeatures, nargs='+', help='List of registered feature ' + 'flags for subscription', arg_group='Customer Subscription Details') + c.argument('location_placement_id', type=str, help='Location placement Id of a subscription', + arg_group='Customer Subscription Details') + c.argument('quota_id', type=str, help='Quota ID of a subscription', arg_group='Customer Subscription Details') + + with self.argument_context('edgeorder list-family') as c: + c.argument('expand', type=str, help='$expand is supported on configurations parameter for product, which ' + 'provides details on the configurations for the product.') + c.argument('skip_token', type=str, help='$skipToken is supported on list of product families, which provides ' + 'the next page in the list of product families.') + c.argument('filterable_properties', action=AddFilterableProperties, nargs='+', help='Dictionary of filterable ' + 'properties on product family. Expect value: KEY1=VALUE1 KEY2=VALUE2 ...') + c.argument('registered_features', action=AddRegisteredFeatures, nargs='+', help='List of registered feature ' + 'flags for subscription', arg_group='Customer Subscription Details') + c.argument('location_placement_id', type=str, help='Location placement Id of a subscription', + arg_group='Customer Subscription Details') + c.argument('quota_id', type=str, help='Quota ID of a subscription', arg_group='Customer Subscription Details') + + with self.argument_context('edgeorder list-metadata') as c: + c.argument('skip_token', type=str, help='$skipToken is supported on list of product families metadata, which ' + 'provides the next page in the list of product families metadata.') + + with self.argument_context('edgeorder address list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('filter_', options_list=['--filter'], type=str, help='$filter is supported to filter based on ' + 'shipping address properties. Filter supports only equals operation.') + c.argument('skip_token', type=str, help='$skipToken is supported on Get list of addresses, which provides the ' + 'next page in the list of address.') + + with self.argument_context('edgeorder address show') as c: + c.argument('address_name', options_list=['--name', '-n', '--address-name'], type=str, help='The name of the ' + 'address Resource within the specified resource group. address names must be between 3 and 24 ' + 'characters in length and use any alphanumeric and underscore only', id_part='name') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('edgeorder address create') as c: + c.argument('address_name', options_list=['--name', '-n', '--address-name'], type=str, help='The name of the ' + 'address Resource within the specified resource group. address names must be between 3 and 24 ' + 'characters in length and use any alphanumeric and underscore only') + c.argument('resource_group_name', resource_group_name_type) + 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('shipping_address', action=AddShippingAddress, nargs='+', help='Shipping details for the address') + c.argument('contact_details', action=AddContactDetails, nargs='+', help='Contact details for the address') + + with self.argument_context('edgeorder address update') as c: + c.argument('address_name', options_list=['--name', '-n', '--address-name'], type=str, help='The name of the ' + 'address Resource within the specified resource group. address names must be between 3 and 24 ' + 'characters in length and use any alphanumeric and underscore only', id_part='name') + c.argument('resource_group_name', resource_group_name_type) + c.argument('if_match', type=str, help='Defines the If-Match condition. The patch will be performed only if the ' + 'ETag of the job on the server matches this value.') + c.argument('tags', tags_type) + c.argument('shipping_address', action=AddShippingAddress, nargs='+', help='Shipping details for the address') + c.argument('contact_details', action=AddContactDetails, nargs='+', help='Contact details for the address') + + with self.argument_context('edgeorder address delete') as c: + c.argument('address_name', options_list=['--name', '-n', '--address-name'], type=str, help='The name of the ' + 'address Resource within the specified resource group. address names must be between 3 and 24 ' + 'characters in length and use any alphanumeric and underscore only', id_part='name') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('edgeorder order list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('skip_token', type=str, help='$skipToken is supported on Get list of order, which provides the next ' + 'page in the list of order.') + + with self.argument_context('edgeorder order-item list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('filter_', options_list=['--filter'], type=str, help='$filter is supported to filter based on order ' + 'id. Filter supports only equals operation.') + c.argument('expand', type=str, help='$expand is supported on device details, forward shipping details and ' + 'reverse shipping details parameters. Each of these can be provided as a comma separated list. ' + 'Device Details for order item provides details on the devices of the product, Forward and Reverse ' + 'Shipping details provide forward and reverse shipping details respectively.') + c.argument('skip_token', type=str, help='$skipToken is supported on Get list of order items, which provides ' + 'the next page in the list of order items.') + + with self.argument_context('edgeorder order-item show') as c: + c.argument('order_item_name', options_list=['--name', '-n', '--order-item-name'], type=str, help='The name of ' + 'the order item', id_part='name') + c.argument('resource_group_name', resource_group_name_type) + c.argument('expand', type=str, help='$expand is supported on device details, forward shipping details and ' + 'reverse shipping details parameters. Each of these can be provided as a comma separated list. ' + 'Device Details for order item provides details on the devices of the product, Forward and Reverse ' + 'Shipping details provide forward and reverse shipping details respectively.') + + with self.argument_context('edgeorder order-item create') as c: + c.argument('order_item_name', options_list=['--name', '-n', '--order-item-name'], type=str, help='The name of ' + 'the order item') + c.argument('resource_group_name', resource_group_name_type) + c.argument('order_item_resource', type=validate_file_or_dict, help='Order item details from request body. ' + 'Expected value: json-string/json-file/@json-file.') + + with self.argument_context('edgeorder order-item update') as c: + c.argument('order_item_name', options_list=['--name', '-n', '--order-item-name'], type=str, help='The name of ' + 'the order item', id_part='name') + c.argument('resource_group_name', resource_group_name_type) + c.argument('if_match', type=str, help='Defines the If-Match condition. The patch will be performed only if the ' + 'ETag of the order on the server matches this value.') + c.argument('tags', tags_type) + c.argument('notification_email_list', nargs='+', help='Additional notification email list.') + c.argument('notification_preferences', action=AddNotificationPreferences, nargs='+', help='Notification ' + 'preferences.', arg_group='Preferences') + c.argument('transport_preferences', action=AddTransportPreferences, nargs='+', help='Preferences related to ' + 'the shipment logistics of the order.', arg_group='Preferences') + c.argument('encryption_preferences', action=AddEncryptionPreferences, nargs='+', help='Preferences related to ' + 'the Encryption.', arg_group='Preferences') + c.argument('management_resource_preferences', action=AddManagementResourcePreferences, nargs='+', + help='Preferences related to the Management resource.', arg_group='Preferences') + c.argument('shipping_address', action=AddShippingAddress, nargs='+', help='Shipping details for the address', + arg_group='Forward Address') + c.argument('contact_details', action=AddContactDetails, nargs='+', help='Contact details for the address', + arg_group='Forward Address') + + with self.argument_context('edgeorder order-item delete') as c: + c.argument('order_item_name', options_list=['--name', '-n', '--order-item-name'], type=str, help='The name of ' + 'the order item', id_part='name') + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('edgeorder order-item cancel') as c: + c.argument('order_item_name', options_list=['--name', '-n', '--order-item-name'], type=str, help='The name of ' + 'the order item', id_part='name') + c.argument('resource_group_name', resource_group_name_type) + c.argument('reason', type=str, help='Reason for cancellation.') + + with self.argument_context('edgeorder order-item return') as c: + c.argument('order_item_name', options_list=['--name', '-n', '--order-item-name'], type=str, help='The name of ' + 'the order item', id_part='name') + c.argument('resource_group_name', resource_group_name_type) + c.argument('return_reason', type=str, help='Return Reason.') + c.argument('service_tag', type=str, help='Service tag (located on the bottom-right corner of the device)') + c.argument('shipping_box_required', arg_type=get_three_state_flag(), help='Shipping Box required') + c.argument('shipping_address', action=AddShippingAddress, nargs='+', help='Shipping details for the address', + arg_group='Return Address') + c.argument('contact_details', action=AddContactDetails, nargs='+', help='Contact details for the address', + arg_group='Return Address') diff --git a/src/edgeorder/azext_edgeorder/generated/_validators.py b/src/edgeorder/azext_edgeorder/generated/_validators.py new file mode 100644 index 00000000000..b33a44c1ebf --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/generated/action.py b/src/edgeorder/azext_edgeorder/generated/action.py new file mode 100644 index 00000000000..2eec16afe32 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/generated/action.py @@ -0,0 +1,297 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 AddFilterableProperties(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.filterable_properties = 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: + v = properties[k] + + d[k] = v[0] + + return d + + +class AddRegisteredFeatures(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddRegisteredFeatures, 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 == 'state': + d['state'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter registered-features. All possible keys are: name,' + ' state'.format(k) + ) + + return d + + +class AddShippingAddress(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.shipping_address = 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 == 'street-address1': + d['street_address1'] = v[0] + + elif kl == 'street-address2': + d['street_address2'] = v[0] + + elif kl == 'street-address3': + d['street_address3'] = v[0] + + elif kl == 'city': + d['city'] = v[0] + + elif kl == 'state-or-province': + d['state_or_province'] = v[0] + + elif kl == 'country': + d['country'] = v[0] + + elif kl == 'postal-code': + d['postal_code'] = v[0] + + elif kl == 'zip-extended-code': + d['zip_extended_code'] = v[0] + + elif kl == 'company-name': + d['company_name'] = v[0] + + elif kl == 'address-type': + d['address_type'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter shipping-address. All possible keys are:' + ' street-address1, street-address2, street-address3, city, state-or-province, country, postal-code,' + ' zip-extended-code, company-name, address-type'.format(k) + ) + + return d + + +class AddContactDetails(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.contact_details = 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 == 'contact-name': + d['contact_name'] = v[0] + + elif kl == 'phone': + d['phone'] = v[0] + + elif kl == 'phone-extension': + d['phone_extension'] = v[0] + + elif kl == 'mobile': + d['mobile'] = v[0] + + elif kl == 'email-list': + d['email_list'] = v + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter contact-details. All possible keys are: contact-name,' + ' phone, phone-extension, mobile, email-list'.format(k) + ) + + return d + + +class AddNotificationPreferences(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddNotificationPreferences, 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 == 'stage-name': + d['stage_name'] = v[0] + + elif kl == 'send-notification': + d['send_notification'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter notification-preferences. All possible keys are:' + ' stage-name, send-notification'.format(k) + ) + + return d + + +class AddTransportPreferences(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.transport_preferences = 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 == 'preferred-shipment-type': + d['preferred_shipment_type'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter transport-preferences. All possible keys are:' + ' preferred-shipment-type'.format(k) + ) + + return d + + +class AddEncryptionPreferences(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.encryption_preferences = 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 == 'double-encryption-status': + d['double_encryption_status'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter encryption-preferences. All possible keys are:' + ' double-encryption-status'.format(k) + ) + + return d + + +class AddManagementResourcePreferences(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.management_resource_preferences = 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 == 'preferred-management-resource-id': + d['preferred_management_resource_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter management-resource-preferences. All possible keys' + ' are: preferred-management-resource-id'.format(k) + ) + + return d diff --git a/src/edgeorder/azext_edgeorder/generated/commands.py b/src/edgeorder/azext_edgeorder/generated/commands.py new file mode 100644 index 00000000000..2e2a6273dc1 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/generated/commands.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. +# +# 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_edgeorder.generated._client_factory import cf_edgeorder_cl, cf_address, cf_order, cf_order_item + + +edgeorder_ = CliCommandType( + operations_tmpl='azext_edgeorder.vendored_sdks.edgeorder.operations._edge_order_management_client_operations#EdgeOrderManagementClientOperationsMixin.{}', + client_factory=cf_edgeorder_cl, +) + + +edgeorder_order = CliCommandType( + operations_tmpl='azext_edgeorder.vendored_sdks.edgeorder.operations._order_operations#OrderOperations.{}', + client_factory=cf_order, +) + + +edgeorder_address = CliCommandType( + operations_tmpl='azext_edgeorder.vendored_sdks.edgeorder.operations._addresses_operations#AddressesOperations.{}', + client_factory=cf_address, +) + + +edgeorder_order_item = CliCommandType( + operations_tmpl=( + 'azext_edgeorder.vendored_sdks.edgeorder.operations._order_items_operations#OrderItemsOperations.{}' + ), + client_factory=cf_order_item, +) + + +def load_command_table(self, _): + + with self.command_group('edgeorder', edgeorder_, client_factory=cf_edgeorder_cl) as g: + g.custom_command('order show', 'edgeorder_order_show') + g.custom_command('list-config', 'edgeorder_list_config') + g.custom_command('list-family', 'edgeorder_list_family') + g.custom_command('list-metadata', 'edgeorder_list_metadata') + + with self.command_group('edgeorder', edgeorder_order, client_factory=cf_order) as g: + g.custom_command('order list', 'edgeorder_order_list') + + with self.command_group('edgeorder address', edgeorder_, client_factory=cf_edgeorder_cl) as g: + g.custom_show_command('show', 'edgeorder_address_show') + g.custom_command('create', 'edgeorder_address_create', supports_no_wait=True) + g.custom_command('update', 'edgeorder_address_update', supports_no_wait=True) + g.custom_command('delete', 'edgeorder_address_delete', supports_no_wait=True, confirmation=True) + g.custom_wait_command('wait', 'edgeorder_address_show') + + with self.command_group('edgeorder address', edgeorder_address, client_factory=cf_address) as g: + g.custom_command('list', 'edgeorder_address_list') + + with self.command_group('edgeorder order-item', edgeorder_, client_factory=cf_edgeorder_cl) as g: + g.custom_command('list', 'edgeorder_order_item_list') + g.custom_show_command('show', 'edgeorder_order_item_show', client_factory=cf_edgeorder_cl) + g.custom_command('create', 'edgeorder_order_item_create', supports_no_wait=True, client_factory=cf_edgeorder_cl) + g.custom_command('update', 'edgeorder_order_item_update', supports_no_wait=True, client_factory=cf_edgeorder_cl) + g.custom_command( + 'delete', + 'edgeorder_order_item_delete', + supports_no_wait=True, + confirmation=True, + client_factory=cf_edgeorder_cl, + ) + g.custom_command('cancel', 'edgeorder_order_item_cancel', client_factory=cf_edgeorder_cl) + g.custom_command('return', 'edgeorder_order_item_return', supports_no_wait=True, client_factory=cf_edgeorder_cl) + g.custom_wait_command('wait', 'edgeorder_order_item_show') + + with self.command_group('edgeorder order-item', edgeorder_order_item, client_factory=cf_order_item) as g: + g.custom_command('list', 'edgeorder_order_item_list') diff --git a/src/edgeorder/azext_edgeorder/generated/custom.py b/src/edgeorder/azext_edgeorder/generated/custom.py new file mode 100644 index 00000000000..f64eac8446c --- /dev/null +++ b/src/edgeorder/azext_edgeorder/generated/custom.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. +# +# 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 + + +def edgeorder_order_show(client, + name, + resource_group_name, + location): + return client.get_order_by_name(order_name=name, + resource_group_name=resource_group_name, + location=location) + + +def edgeorder_list_config(client, + configuration_filters, + skip_token=None, + registered_features=None, + location_placement_id=None, + quota_id=None): + configurations_request = {} + configurations_request['configuration_filters'] = configuration_filters + configurations_request['customer_subscription_details'] = {} + if registered_features is not None: + configurations_request['customer_subscription_details']['registered_features'] = registered_features + if location_placement_id is not None: + configurations_request['customer_subscription_details']['location_placement_id'] = location_placement_id + if quota_id is not None: + configurations_request['customer_subscription_details']['quota_id'] = quota_id + if len(configurations_request['customer_subscription_details']) == 0: + del configurations_request['customer_subscription_details'] + return client.list_configurations(skip_token=skip_token, + configurations_request=configurations_request) + + +def edgeorder_list_family(client, + filterable_properties, + expand=None, + skip_token=None, + registered_features=None, + location_placement_id=None, + quota_id=None): + product_families_request = {} + product_families_request['filterable_properties'] = filterable_properties + product_families_request['customer_subscription_details'] = {} + if registered_features is not None: + product_families_request['customer_subscription_details']['registered_features'] = registered_features + if location_placement_id is not None: + product_families_request['customer_subscription_details']['location_placement_id'] = location_placement_id + if quota_id is not None: + product_families_request['customer_subscription_details']['quota_id'] = quota_id + if len(product_families_request['customer_subscription_details']) == 0: + del product_families_request['customer_subscription_details'] + return client.list_product_families(expand=expand, + skip_token=skip_token, + product_families_request=product_families_request) + + +def edgeorder_list_metadata(client, + skip_token=None): + return client.list_product_families_metadata(skip_token=skip_token) + + +def edgeorder_list_operation(client): + return client.list_operations() + + +def edgeorder_address_list(client, + resource_group_name=None, + filter_=None, + skip_token=None): + if resource_group_name: + return client.list_by_group(resource_group_name=resource_group_name, + filter=filter_, + skip_token=skip_token) + return client.list(filter=filter_, + skip_token=skip_token) + + +def edgeorder_address_show(client, + address_name, + resource_group_name): + return client.get_address_by_name(address_name=address_name, + resource_group_name=resource_group_name) + + +def edgeorder_address_create(client, + address_name, + resource_group_name, + location, + contact_details, + tags=None, + shipping_address=None): + address_resource = {} + if tags is not None: + address_resource['tags'] = tags + address_resource['location'] = location + if shipping_address is not None: + address_resource['shipping_address'] = shipping_address + address_resource['contact_details'] = contact_details + return client.begin_create_address(address_name=address_name, + resource_group_name=resource_group_name, + address_resource=address_resource) + + +def edgeorder_address_update(client, + address_name, + resource_group_name, + if_match=None, + tags=None, + shipping_address=None, + contact_details=None): + address_update_parameter = {} + if tags is not None: + address_update_parameter['tags'] = tags + if shipping_address is not None: + address_update_parameter['shipping_address'] = shipping_address + if contact_details is not None: + address_update_parameter['contact_details'] = contact_details + return client.begin_update_address(address_name=address_name, + resource_group_name=resource_group_name, + if_match=if_match, + address_update_parameter=address_update_parameter) + + +def edgeorder_address_delete(client, + address_name, + resource_group_name): + return client.begin_delete_address_by_name(address_name=address_name, + resource_group_name=resource_group_name) + + +def edgeorder_order_list(client, + resource_group_name=None, + skip_token=None): + if resource_group_name: + return client.list_by_group(resource_group_name=resource_group_name, + skip_token=skip_token) + return client.list(skip_token=skip_token) + + +def edgeorder_order_item_list(client, + resource_group_name=None, + filter_=None, + expand=None, + skip_token=None): + if resource_group_name: + return client.list_by_group(resource_group_name=resource_group_name, + filter=filter_, + expand=expand, + skip_token=skip_token) + return client.list(filter=filter_, + expand=expand, + skip_token=skip_token) + + +def edgeorder_order_item_show(client, + order_item_name, + resource_group_name, + expand=None): + return client.get_order_item_by_name(order_item_name=order_item_name, + resource_group_name=resource_group_name, + expand=expand) + + +def edgeorder_order_item_create(client, + order_item_name, + resource_group_name, + order_item_resource): + return client.begin_create_order_item(order_item_name=order_item_name, + resource_group_name=resource_group_name, + order_item_resource=order_item_resource) + + +def edgeorder_order_item_update(client, + order_item_name, + resource_group_name, + if_match=None, + tags=None, + notification_email_list=None, + notification_preferences=None, + transport_preferences=None, + encryption_preferences=None, + management_resource_preferences=None, + shipping_address=None, + contact_details=None): + order_item_update_parameter = {} + if tags is not None: + order_item_update_parameter['tags'] = tags + if notification_email_list is not None: + order_item_update_parameter['notification_email_list'] = notification_email_list + order_item_update_parameter['preferences'] = {} + if notification_preferences is not None: + order_item_update_parameter['preferences']['notification_preferences'] = notification_preferences + if transport_preferences is not None: + order_item_update_parameter['preferences']['transport_preferences'] = transport_preferences + if encryption_preferences is not None: + order_item_update_parameter['preferences']['encryption_preferences'] = encryption_preferences + if management_resource_preferences is not None: + order_item_update_parameter['preferences']['management_resource_preferences'] = management_resource_preferences + if len(order_item_update_parameter['preferences']) == 0: + del order_item_update_parameter['preferences'] + order_item_update_parameter['forward_address'] = {} + if shipping_address is not None: + order_item_update_parameter['forward_address']['shipping_address'] = shipping_address + if contact_details is not None: + order_item_update_parameter['forward_address']['contact_details'] = contact_details + if len(order_item_update_parameter['forward_address']) == 0: + del order_item_update_parameter['forward_address'] + return client.begin_update_order_item(order_item_name=order_item_name, + resource_group_name=resource_group_name, + if_match=if_match, + order_item_update_parameter=order_item_update_parameter) + + +def edgeorder_order_item_delete(client, + order_item_name, + resource_group_name): + return client.begin_delete_order_item_by_name(order_item_name=order_item_name, + resource_group_name=resource_group_name) + + +def edgeorder_order_item_cancel(client, + order_item_name, + resource_group_name, + reason): + cancellation_reason = {} + cancellation_reason['reason'] = reason + return client.cancel_order_item(order_item_name=order_item_name, + resource_group_name=resource_group_name, + cancellation_reason=cancellation_reason) + + +def edgeorder_order_item_return(client, + order_item_name, + resource_group_name, + return_reason, + service_tag=None, + shipping_box_required=None, + shipping_address=None, + contact_details=None): + return_order_item_details = {} + return_order_item_details['return_reason'] = return_reason + if service_tag is not None: + return_order_item_details['service_tag'] = service_tag + if shipping_box_required is not None: + return_order_item_details['shipping_box_required'] = shipping_box_required + else: + return_order_item_details['shipping_box_required'] = False + return_order_item_details['return_address'] = {} + if shipping_address is not None: + return_order_item_details['return_address']['shipping_address'] = shipping_address + if contact_details is not None: + return_order_item_details['return_address']['contact_details'] = contact_details + if len(return_order_item_details['return_address']) == 0: + del return_order_item_details['return_address'] + return client.begin_return_order_item(order_item_name=order_item_name, + resource_group_name=resource_group_name, + return_order_item_details=return_order_item_details) diff --git a/src/edgeorder/azext_edgeorder/manual/__init__.py b/src/edgeorder/azext_edgeorder/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/manual/_help.py b/src/edgeorder/azext_edgeorder/manual/_help.py new file mode 100644 index 00000000000..f14d79884fa --- /dev/null +++ b/src/edgeorder/azext_edgeorder/manual/_help.py @@ -0,0 +1,410 @@ +# -------------------------------------------------------------------------------------------- +# 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 +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['edgeorder'] = ''' + type: group + short-summary: Manage Edge Order +''' + +helps['edgeorder order'] = """ + type: group + short-summary: Manage order with Edge Order +""" + +helps['edgeorder order show'] = """ + type: command + short-summary: "Get an order." + examples: + - name: GetOrderByName + text: |- + az edgeorder order show --location "TestLocation" --name "TestOrderItemName901" \ +--resource-group "TestRG" +""" + +helps['edgeorder list-config'] = """ + type: command + short-summary: "This method provides the list of configurations for the given product family, product line and \ +product under subscription." + parameters: + - name: --registered-features + short-summary: "List of registered feature flags for subscription" + long-summary: | + Usage: --registered-features name=XX state=XX + + name: Name of subscription registered feature + state: State of subscription registered feature + + Multiple actions can be specified by using more than one --registered-features argument. + examples: + - name: ListConfigurations + text: |- + az edgeorder list-config --configuration-filters "[{\\"filterableProperty\\":[{\\"type\\":\\"ShipToCount\ +ries\\",\\"supportedValues\\":[\\"US\\"]}],\\"hierarchyInformation\\":{\\"productFamilyName\\":\\"AzureStackEdge\\",\\"\ +productLineName\\":\\"AzureStackEdge\\",\\"productName\\":\\"AzureStackEdgeGPU\\"}}]" +""" + +helps['edgeorder list-family'] = """ + type: command + short-summary: "This method provides the list of product families for the given subscription." + parameters: + - name: --registered-features + short-summary: "List of registered feature flags for subscription" + long-summary: | + Usage: --registered-features name=XX state=XX + + name: Name of subscription registered feature + state: State of subscription registered feature + + Multiple actions can be specified by using more than one --registered-features argument. + examples: + - name: ListProductFamilies + text: |- + az edgeorder list-family --filterable-properties azurestackedge="{\\"type\\":\\"ShipToCountries\\",\ + \\"supportedValues\\":[\\"US\\"]}" +""" + +helps['edgeorder list-metadata'] = """ + type: command + short-summary: "This method provides the list of product families metadata for the given subscription." + examples: + - name: ListProductFamiliesMetadata + text: |- + az edgeorder list-metadata +""" + +helps['edgeorder address'] = """ + type: group + short-summary: Manage address with Edge Order +""" + +helps['edgeorder address list'] = """ + type: command + short-summary: "List all the addresses available under the given resource group. And List all the addresses \ +available under the subscription." + examples: + - name: ListAddressesAtResourceGroupLevel + text: |- + az edgeorder address list --resource-group "TestRG" + - name: ListAddressesAtSubscriptionLevel + text: |- + az edgeorder address list +""" + +helps['edgeorder address'] = """ + type: group + short-summary: Manage address with edgeorder sub group address +""" + +helps['edgeorder address show'] = """ + type: command + short-summary: "Get information about the specified address." + examples: + - name: GetAddressByName + text: |- + az edgeorder address show --name "TestMSAddressName" --resource-group "TestRG" +""" + +helps['edgeorder address create'] = """ + type: command + short-summary: "Create a new address with the specified parameters. Existing address can be updated with this \ +API." + parameters: + - name: --shipping-address + short-summary: "Shipping details for the address" + long-summary: | + Usage: --shipping-address street-address1=XX street-address2=XX street-address3=XX city=XX \ +state-or-province=XX country=XX postal-code=XX zip-extended-code=XX company-name=XX address-type=XX + + street-address1: Required. Street Address line 1. + street-address2: Street Address line 2. + street-address3: Street Address line 3. + city: Name of the City. + state-or-province: Name of the State or Province. + country: Required. Name of the Country. + postal-code: Postal code. + zip-extended-code: Extended Zip Code. + company-name: Name of the company. + address-type: Type of address. + - name: --contact-details + short-summary: "Contact details for the address" + long-summary: | + Usage: --contact-details contact-name=XX phone=XX phone-extension=XX mobile=XX email-list=XX + + contact-name: Required. Contact name of the person. + phone: Required. Phone number of the contact person. + phone-extension: Phone extension number of the contact person. + mobile: Mobile number of the contact person. + email-list: Required. List of Email-ids to be notified about job progress. + examples: + - name: CreateAddress + text: |- + az edgeorder address create --name "TestMSAddressName" --location "eastus" --contact-details \ +contact-name="Petr Cech" email-list="testemail@microsoft.com" phone="1234567890" phone-extension="" --shipping-address \ +address-type="None" city="San Francisco" company-name="Microsoft" country="US" postal-code="94107" \ +state-or-province="CA" street-address1="16 TOWNSEND ST" street-address2="UNIT 1" --resource-group "TestRG" +""" + +helps['edgeorder address update'] = """ + type: command + short-summary: "Update the properties of an existing address." + parameters: + - name: --shipping-address + short-summary: "Shipping details for the address" + long-summary: | + Usage: --shipping-address street-address1=XX street-address2=XX street-address3=XX city=XX \ +state-or-province=XX country=XX postal-code=XX zip-extended-code=XX company-name=XX address-type=XX + + street-address1: Required. Street Address line 1. + street-address2: Street Address line 2. + street-address3: Street Address line 3. + city: Name of the City. + state-or-province: Name of the State or Province. + country: Required. Name of the Country. + postal-code: Postal code. + zip-extended-code: Extended Zip Code. + company-name: Name of the company. + address-type: Type of address. + - name: --contact-details + short-summary: "Contact details for the address" + long-summary: | + Usage: --contact-details contact-name=XX phone=XX phone-extension=XX mobile=XX email-list=XX + + contact-name: Required. Contact name of the person. + phone: Required. Phone number of the contact person. + phone-extension: Phone extension number of the contact person. + mobile: Mobile number of the contact person. + email-list: Required. List of Email-ids to be notified about job progress. + examples: + - name: UpdateAddress + text: |- + az edgeorder address update --name "TestAddressName2" --contact-details contact-name="Petr Cech" \ +email-list="ssemcr@microsoft.com" phone="1234567890" phone-extension="" --shipping-address address-type="None" \ +city="San Francisco" company-name="Microsoft" country="US" postal-code="94107" state-or-province="CA" \ +street-address1="16 TOWNSEND STT" street-address2="UNIT 1" --tags Hobby="Web Series Added" Name="Smile-Updated" \ +WhatElse="Web Series Added" Work="Engineering" --resource-group "TestRG" +""" + +helps['edgeorder address delete'] = """ + type: command + short-summary: "Delete an address." + examples: + - name: DeleteAddressByName + text: |- + az edgeorder address delete --name "TestAddressName1" --resource-group "TestRG" +""" + +helps['edgeorder order'] = """ + type: group + short-summary: Manage order with edgeorder sub group order +""" + +helps['edgeorder order list'] = """ + type: command + short-summary: "List order at resource group level. And List order at subscription level." + examples: + - name: ListOrderAtResourceGroupLevel + text: |- + az edgeorder order list --resource-group "TestRG" + - name: ListOrderAtSubscriptionLevel + text: |- + az edgeorder order list +""" + +helps['edgeorder order-item'] = """ + type: group + short-summary: Manage order item with edgeorder +""" + +helps['edgeorder order-item list'] = """ + type: command + short-summary: "List order item at resource group level. And List order item at subscription level." + examples: + - name: ListOrderItemsAtResourceGroupLevel + text: |- + az edgeorder order-item list --resource-group "TestRG" + - name: ListOrderItemsAtSubscriptionLevel + text: |- + az edgeorder order-item list +""" + +helps['edgeorder order-item'] = """ + type: group + short-summary: Manage order item with edgeorder sub group order-item +""" + +helps['edgeorder order-item show'] = """ + type: command + short-summary: "Get an order item." + examples: + - name: GetOrderItemByName + text: |- + az edgeorder order-item show --name "TestOrderItemName01" --resource-group "TestRG" +""" + +helps['edgeorder order-item create'] = """ + type: command + short-summary: "Create an order item. Existing order item cannot be updated with this api and should instead be \ +updated with the Update order item API." + examples: + - name: CreateOrderItem + text: |- + az edgeorder order-item create --name "TestOrderItemName01" --order-item-resource "{\\"location\\":\\"eastus\\",\\"\ +tags\\":{\\"carrot\\":\\"vegetable\\",\\"mango\\":\\"fruit\\"},\\"orderItemDetails\\":{\\"orderItemType\\":\\"Purchase\ +\\",\\"preferences\\":{\\"transportPreferences\\":{\\"preferredShipmentType\\":\\"MicrosoftManaged\\"}},\\"productDetai\ +ls\\":{\\"hierarchyInformation\\":{\\"configurationName\\":\\"edgep_base\\",\\"productFamilyName\\":\\"azurestackedge\ +\\",\\"productLineName\\":\\"azurestackedge\\",\\"productName\\":\\"azurestackedgegpu\\"}}},\\"addressDetails\\":{\ +\\"forwardAddress\\":{\\"contactDetails\\":{\\"contactName\\":\\"Petr Cech\\",\\"emailList\\":[\\"ssemmail@microsoft.co\ +m\\",\\"vishwamdir@microsoft.com\\"],\\"phone\\":\\"3213131190\\",\\"phoneExtension\\":\\"\\"},\\"shippingAddress\\":{\ +\\"addressType\\":\\"None\\",\\"city\\":\\"San Francisco\\",\\"companyName\\":\\"Microsoft\\",\\"country\\":\\"US\\",\ +\\"postalCode\\":\\"94107\\",\\"stateOrProvince\\":\\"CA\\",\\"streetAddress1\\":\\"16 TOWNSEND ST\\",\\"streetAddress2\ +\\":\\"UNIT 1\\"}}},\\"orderId\\":\\"/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/provider\ +s/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01\\"}" --resource-group "TestRG" +""" + +helps['edgeorder order-item update'] = """ + type: command + short-summary: "Update the properties of an existing order item." + parameters: + - name: --notif-preferences + short-summary: "Notification preferences." + long-summary: | + Usage: --notif-preferences stage-name=XX send-notification=XX + + stage-name: Required. Name of the stage. + send-notification: Required. Notification is required or not. + + Multiple actions can be specified by using more than one --notification-preferences argument. + - name: --transport-preferences + short-summary: "Preferences related to the shipment logistics of the order." + long-summary: | + Usage: --transport-preferences preferred-shipment-type=XX + + preferred-shipment-type: Required. Indicates Shipment Logistics type that the customer preferred. + - name: --encryption-preferences + short-summary: "Preferences related to the Encryption." + long-summary: | + Usage: --encryption-preferences double-encryption-status=XX + + double-encryption-status: Double encryption status as entered by the customer. It is compulsory to give \ +this parameter if the 'Deny' or 'Disabled' policy is configured. + - name: --mgmt-preferences + short-summary: "Preferences related to the Management resource." + long-summary: | + Usage: --mgmt-preferences preferred-management-resource-id=XX + + preferred-management-resource-id: Customer preferred Management resource ARM ID + - name: --shipping-address + short-summary: "Shipping details for the address" + long-summary: | + Usage: --shipping-address street-address1=XX street-address2=XX street-address3=XX city=XX \ +state-or-province=XX country=XX postal-code=XX zip-extended-code=XX company-name=XX address-type=XX + + street-address1: Required. Street Address line 1. + street-address2: Street Address line 2. + street-address3: Street Address line 3. + city: Name of the City. + state-or-province: Name of the State or Province. + country: Required. Name of the Country. + postal-code: Postal code. + zip-extended-code: Extended Zip Code. + company-name: Name of the company. + address-type: Type of address. + - name: --contact-details + short-summary: "Contact details for the address" + long-summary: | + Usage: --contact-details contact-name=XX phone=XX phone-extension=XX mobile=XX email-list=XX + + contact-name: Required. Contact name of the person. + phone: Required. Phone number of the contact person. + phone-extension: Phone extension number of the contact person. + mobile: Mobile number of the contact person. + email-list: Required. List of Email-ids to be notified about job progress. + examples: + - name: UpdateOrderItem + text: |- + az edgeorder order-item update --name "TestOrderItemName01" --contact-details contact-name="Updated \ +contact name" email-list="testemail@microsoft.com" phone="2222200000" --transport-preferences \ +preferred-shipment-type="CustomerManaged" --tags ant="insect" pigeon="bird" tiger="animal" --resource-group "TestRG" +""" + +helps['edgeorder order-item delete'] = """ + type: command + short-summary: "Delete an order item." + examples: + - name: DeleteOrderItemByName + text: |- + az edgeorder order-item delete --name "TestOrderItemName01" --resource-group "TestRG" +""" + +helps['edgeorder order-item cancel'] = """ + type: command + short-summary: "Cancel order item." + examples: + - name: CancelOrderItem + text: |- + az edgeorder order-item cancel --reason "Order cancelled" --name "TestOrderItemName1" --resource-group \ +"TestRG" +""" + +helps['edgeorder order-item return'] = """ + type: command + short-summary: "Return order item." + parameters: + - name: --shipping-address + short-summary: "Shipping details for the address" + long-summary: | + Usage: --shipping-address street-address1=XX street-address2=XX street-address3=XX city=XX \ +state-or-province=XX country=XX postal-code=XX zip-extended-code=XX company-name=XX address-type=XX + + street-address1: Required. Street Address line 1. + street-address2: Street Address line 2. + street-address3: Street Address line 3. + city: Name of the City. + state-or-province: Name of the State or Province. + country: Required. Name of the Country. + postal-code: Postal code. + zip-extended-code: Extended Zip Code. + company-name: Name of the company. + address-type: Type of address. + - name: --contact-details + short-summary: "Contact details for the address" + long-summary: | + Usage: --contact-details contact-name=XX phone=XX phone-extension=XX mobile=XX email-list=XX + + contact-name: Required. Contact name of the person. + phone: Required. Phone number of the contact person. + phone-extension: Phone extension number of the contact person. + mobile: Mobile number of the contact person. + email-list: Required. List of Email-ids to be notified about job progress. + examples: + - name: ReturnOrderItem + text: |- + az edgeorder order-item return --name "TestOrderName1" --resource-group "TestRG" --return-reason "Order \ +returned" +""" + +helps['edgeorder address wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the address is met. + parameters: + - name: --address-name + short-summary: "The name of the address Resource within the specified resource group." +""" + +helps['edgeorder order-item wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the order-item is met. + parameters: + - name: --expand + short-summary: "$expand is supported on device details, forward shipping details and reverse shipping details parameters." + - name: --order-item-name + short-summary: "The name of the order item." +""" diff --git a/src/edgeorder/azext_edgeorder/manual/_params.py b/src/edgeorder/azext_edgeorder/manual/_params.py new file mode 100644 index 00000000000..ba33b736d2e --- /dev/null +++ b/src/edgeorder/azext_edgeorder/manual/_params.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azext_edgeorder.action import ( + AddNotificationPreferences, + AddManagementResourcePreferences, +) + + +def load_arguments(self, _): + with self.argument_context('edgeorder order-item update') as c: + c.argument('notification_email_list', options_list=['--notif-email-list'], nargs='+', + help='Additional notification email list.') + c.argument('notification_preferences', options_list=['--notif-preferences'], action=AddNotificationPreferences, + nargs='+', help='Notification preferences.', arg_group='Preferences') + c.argument('management_resource_preferences', options_list=['--mgmt-preferences'], + action=AddManagementResourcePreferences, nargs='+', + help='Preferences related to the Management resource.', arg_group='Preferences') diff --git a/src/edgeorder/azext_edgeorder/manual/action.py b/src/edgeorder/azext_edgeorder/manual/action.py new file mode 100644 index 00000000000..edf27cdf66f --- /dev/null +++ b/src/edgeorder/azext_edgeorder/manual/action.py @@ -0,0 +1,291 @@ +# -------------------------------------------------------------------------------------------- +# 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 +# pylint: disable=no-self-use +# pylint: disable=raise-missing-from + +import argparse +import json + +from collections import defaultdict +from knack.util import CLIError + + +class AddFilterableProperties(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.filterable_properties = 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(f'usage error: {option_string} [KEY=VALUE ...]') + d = {} + for k in properties: + v = properties[k] + val = json.loads(v[0]) + d[k] = [val] + return d + + +class AddRegisteredFeatures(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super().__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(f'usage error: {option_string} [KEY=VALUE ...]') + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'name': + d['name'] = v[0] + + elif kl == 'state': + d['state'] = v[0] + + else: + raise CLIError( + f'Unsupported Key {k} is provided for parameter registered-features. All possible keys are: name,' + ' state' + ) + + return d + + +class AddShippingAddress(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.shipping_address = 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(f'usage error: {option_string} [KEY=VALUE ...]') + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'street-address1': + d['street_address1'] = v[0] + + elif kl == 'street-address2': + d['street_address2'] = v[0] + + elif kl == 'street-address3': + d['street_address3'] = v[0] + + elif kl == 'city': + d['city'] = v[0] + + elif kl == 'state-or-province': + d['state_or_province'] = v[0] + + elif kl == 'country': + d['country'] = v[0] + + elif kl == 'postal-code': + d['postal_code'] = v[0] + + elif kl == 'zip-extended-code': + d['zip_extended_code'] = v[0] + + elif kl == 'company-name': + d['company_name'] = v[0] + + elif kl == 'address-type': + d['address_type'] = v[0] + + else: + raise CLIError( + f'Unsupported Key {k} is provided for parameter shipping-address. All possible keys are:' + ' street-address1, street-address2, street-address3, city, state-or-province, country, postal-code,' + ' zip-extended-code, company-name, address-type' + ) + + return d + + +class AddContactDetails(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.contact_details = 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(f'usage error: {option_string} [KEY=VALUE ...]') + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'contact-name': + d['contact_name'] = v[0] + + elif kl == 'phone': + d['phone'] = v[0] + + elif kl == 'phone-extension': + d['phone_extension'] = v[0] + + elif kl == 'mobile': + d['mobile'] = v[0] + + elif kl == 'email-list': + d['email_list'] = v + + else: + raise CLIError( + f'Unsupported Key {k} is provided for parameter contact-details. All possible keys are: ' + 'contact-name, phone, phone-extension, mobile, email-list' + ) + + return d + + +class AddNotificationPreferences(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super().__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(f'usage error: {option_string} [KEY=VALUE ...]') + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'stage-name': + d['stage_name'] = v[0] + + elif kl == 'send-notification': + d['send_notification'] = v[0] + + else: + raise CLIError( + f'Unsupported Key {k} is provided for parameter notification-preferences. All possible keys are:' + ' stage-name, send-notification' + ) + + return d + + +class AddTransportPreferences(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.transport_preferences = 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(f'usage error: {option_string} [KEY=VALUE ...]') + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'preferred-shipment-type': + d['preferred_shipment_type'] = v[0] + + else: + raise CLIError( + f'Unsupported Key {k} is provided for parameter transport-preferences. All possible keys are:' + ' preferred-shipment-type' + ) + + return d + + +class AddEncryptionPreferences(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.encryption_preferences = 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(f'usage error: {option_string} [KEY=VALUE ...]') + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'double-encryption-status': + d['double_encryption_status'] = v[0] + + else: + raise CLIError( + f'Unsupported Key {k} is provided for parameter encryption-preferences. All possible keys are:' + ' double-encryption-status' + ) + + return d + + +class AddManagementResourcePreferences(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.management_resource_preferences = 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(f'usage error: {option_string} [KEY=VALUE ...]') + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'preferred-management-resource-id': + d['preferred_management_resource_id'] = v[0] + + else: + raise CLIError( + f'Unsupported Key {k} is provided for parameter management-resource-preferences. All possible keys' + ' are: preferred-management-resource-id' + ) + + return d diff --git a/src/edgeorder/azext_edgeorder/tests/__init__.py b/src/edgeorder/azext_edgeorder/tests/__init__.py new file mode 100644 index 00000000000..70488e93851 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/tests/latest/__init__.py b/src/edgeorder/azext_edgeorder/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_address_crud.yaml b/src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_address_crud.yaml new file mode 100644 index 00000000000..62924352864 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_address_crud.yaml @@ -0,0 +1,433 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder address create + Connection: + - keep-alive + ParameterSetName: + - -n -g --contact-details --shipping-address + User-Agent: + - AZURECLI/2.33.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_edgeorder_000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001","name":"cli_test_edgeorder_000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2022-02-21T09:34:45Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 21 Feb 2022 09:34: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: '{"location": "eastus", "properties": {"shippingAddress": {"streetAddress1": + "16 TOWNSEND ST", "streetAddress2": "UNIT 1", "city": "San Francisco", "stateOrProvince": + "CA", "country": "US", "postalCode": "94107", "companyName": "Microsoft", "addressType": + "None"}, "contactDetails": {"contactName": "Petr Cech", "phone": "1234567890", + "phoneExtension": "", "emailList": ["testemail@microsoft.com"]}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder address create + Connection: + - keep-alive + Content-Length: + - '399' + Content-Type: + - application/json + ParameterSetName: + - -n -g --contact-details --shipping-address + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 21 Feb 2022 09:34:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/ef178726-0d3f-4d5e-ab41-c0968d4b73c6?api-version=2021-12-01 + pragma: + - no-cache + server: + - Kestrel + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder address create + Connection: + - keep-alive + ParameterSetName: + - -n -g --contact-details --shipping-address + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/ef178726-0d3f-4d5e-ab41-c0968d4b73c6?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 21 Feb 2022 09:35:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName?api-version=2021-12-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: + - edgeorder address create + Connection: + - keep-alive + ParameterSetName: + - -n -g --contact-details --shipping-address + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName?api-version=2021-12-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"shippingAddress\": {\r\n \"streetAddress1\": + \"16 TOWNSEND ST\",\r\n \"streetAddress2\": \"UNIT 1\",\r\n \"city\": + \"San Francisco\",\r\n \"stateOrProvince\": \"CA\",\r\n \"country\": + \"US\",\r\n \"postalCode\": \"94107\",\r\n \"companyName\": \"Microsoft\",\r\n + \ \"addressType\": \"None\"\r\n },\r\n \"contactDetails\": {\r\n + \ \"contactName\": \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n + \ \"phoneExtension\": \"\",\r\n \"emailList\": [\r\n \"testemail@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": \"Valid\"\r\n },\r\n + \ \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-21T09:34:52.7810279+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-21T09:34:52.7810279+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": \"TestAddressName\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/addresses\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1129' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 21 Feb 2022 09:35:20 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder address show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName?api-version=2021-12-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"shippingAddress\": {\r\n \"streetAddress1\": + \"16 TOWNSEND ST\",\r\n \"streetAddress2\": \"UNIT 1\",\r\n \"city\": + \"San Francisco\",\r\n \"stateOrProvince\": \"CA\",\r\n \"country\": + \"US\",\r\n \"postalCode\": \"94107\",\r\n \"companyName\": \"Microsoft\",\r\n + \ \"addressType\": \"None\"\r\n },\r\n \"contactDetails\": {\r\n + \ \"contactName\": \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n + \ \"phoneExtension\": \"\",\r\n \"emailList\": [\r\n \"testemail@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": \"Valid\"\r\n },\r\n + \ \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-21T09:34:52.7810279+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-21T09:34:52.7810279+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": \"TestAddressName\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/addresses\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1129' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 21 Feb 2022 09:35:22 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"shippingAddress": {"streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", "city": "San Francisco", "stateOrProvince": "CA", + "country": "US", "postalCode": "94107", "companyName": "Microsoft", "addressType": + "None"}, "contactDetails": {"contactName": "Petr Cech", "phone": "1234567890", + "phoneExtension": "", "emailList": ["ssemcr@microsoft.com"]}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder address update + Connection: + - keep-alive + Content-Length: + - '374' + Content-Type: + - application/json + ParameterSetName: + - -n -g --contact-details --shipping-address + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName?api-version=2021-12-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"shippingAddress\": {\r\n \"streetAddress1\": + \"16 TOWNSEND ST\",\r\n \"streetAddress2\": \"UNIT 1\",\r\n \"city\": + \"San Francisco\",\r\n \"stateOrProvince\": \"CA\",\r\n \"country\": + \"US\",\r\n \"postalCode\": \"94107\",\r\n \"companyName\": \"Microsoft\",\r\n + \ \"addressType\": \"None\"\r\n },\r\n \"contactDetails\": {\r\n + \ \"contactName\": \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n + \ \"phoneExtension\": \"\",\r\n \"emailList\": [\r\n \"ssemcr@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": \"Valid\"\r\n },\r\n + \ \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-21T09:34:52.7810279+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-21T09:35:23.4869581+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": \"TestAddressName\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/addresses\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1126' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 21 Feb 2022 09:35:24 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: + - 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: + - edgeorder address list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"shippingAddress\": + {\r\n \"streetAddress1\": \"16 TOWNSEND ST\",\r\n \"streetAddress2\": + \"UNIT 1\",\r\n \"city\": \"San Francisco\",\r\n \"stateOrProvince\": + \"CA\",\r\n \"country\": \"US\",\r\n \"postalCode\": \"94107\",\r\n + \ \"companyName\": \"Microsoft\",\r\n \"addressType\": \"None\"\r\n + \ },\r\n \"contactDetails\": {\r\n \"contactName\": + \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n \"phoneExtension\": + \"\",\r\n \"emailList\": [\r\n \"ssemcr@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": \"Valid\"\r\n + \ },\r\n \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-21T09:34:52.7810279+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-21T09:35:23.4869581+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": + \"TestAddressName\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/addresses\"\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1295' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 21 Feb 2022 09:35:27 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder address delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/addresses/TestAddressName?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 21 Feb 2022 09:35:31 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-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_list.yaml b/src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_list.yaml new file mode 100644 index 00000000000..7cf97ad688f --- /dev/null +++ b/src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_list.yaml @@ -0,0 +1,815 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder list-metadata + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/productFamiliesMetadata?api-version=2021-12-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"productLines\": + [],\r\n \"resourceProviderDetails\": [\r\n {\r\n \"resourceProviderNamespace\": + \"Microsoft.DataBoxEdge\"\r\n }\r\n ],\r\n \"filterableProperties\": + [\r\n {\r\n \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AU\",\r\n \"CA\",\r\n + \ \"HK\",\r\n \"JP\",\r\n \"MO\",\r\n + \ \"MY\",\r\n \"NZ\",\r\n \"NO\",\r\n + \ \"PR\",\r\n \"SG\",\r\n \"KR\",\r\n + \ \"CH\",\r\n \"TW\",\r\n \"AE\",\r\n + \ \"GB\",\r\n \"NL\",\r\n \"AT\",\r\n + \ \"IT\",\r\n \"BE\",\r\n \"LV\",\r\n + \ \"BG\",\r\n \"LT\",\r\n \"HR\",\r\n + \ \"LU\",\r\n \"CY\",\r\n \"MT\",\r\n + \ \"CZ\",\r\n \"DK\",\r\n \"PL\",\r\n + \ \"EE\",\r\n \"PT\",\r\n \"FI\",\r\n + \ \"RO\",\r\n \"FR\",\r\n \"SK\",\r\n + \ \"DE\",\r\n \"SI\",\r\n \"GR\",\r\n + \ \"ES\",\r\n \"HU\",\r\n \"SE\",\r\n + \ \"IE\",\r\n \"AR\",\r\n \"DZ\",\r\n + \ \"BS\",\r\n \"BH\",\r\n \"BD\",\r\n + \ \"BB\",\r\n \"BM\",\r\n \"BO\",\r\n + \ \"BA\",\r\n \"BR\",\r\n \"CL\",\r\n + \ \"KY\",\r\n \"CO\",\r\n \"CR\",\r\n + \ \"CI\",\r\n \"DO\",\r\n \"EC\",\r\n + \ \"EG\",\r\n \"SV\",\r\n \"ET\",\r\n + \ \"GE\",\r\n \"GH\",\r\n \"GT\",\r\n + \ \"HN\",\r\n \"IS\",\r\n \"IN\",\r\n + \ \"ID\",\r\n \"IL\",\r\n \"JM\",\r\n + \ \"KE\",\r\n \"KW\",\r\n \"KG\",\r\n + \ \"LY\",\r\n \"LI\",\r\n \"MU\",\r\n + \ \"MX\",\r\n \"MD\",\r\n \"MC\",\r\n + \ \"MN\",\r\n \"ME\",\r\n \"MA\",\r\n + \ \"NP\",\r\n \"NI\",\r\n \"NG\",\r\n + \ \"OM\",\r\n \"PS\",\r\n \"PA\",\r\n + \ \"PY\",\r\n \"PE\",\r\n \"PH\",\r\n + \ \"QA\",\r\n \"RW\",\r\n \"ZA\",\r\n + \ \"KN\",\r\n \"SA\",\r\n \"SN\",\r\n + \ \"RS\",\r\n \"LK\",\r\n \"TJ\",\r\n + \ \"TZ\",\r\n \"TH\",\r\n \"TT\",\r\n + \ \"TN\",\r\n \"TR\",\r\n \"TM\",\r\n + \ \"UG\",\r\n \"UA\",\r\n \"UY\",\r\n + \ \"UZ\",\r\n \"VI\",\r\n \"VE\",\r\n + \ \"VN\",\r\n \"YE\",\r\n \"ZM\",\r\n + \ \"ZW\"\r\n ]\r\n },\r\n {\r\n \"type\": + \"DoubleEncryptionStatus\",\r\n \"supportedValues\": [\r\n \"Enabled\"\r\n + \ ]\r\n }\r\n ],\r\n \"displayName\": \"Azure + Stack Edge\",\r\n \"description\": {\r\n \"descriptionType\": + \"Base\",\r\n \"shortDescription\": \"Azure managed physical edge + compute device\",\r\n \"keywords\": [],\r\n \"attributes\": + [],\r\n \"links\": []\r\n },\r\n \"imageInformation\": + [],\r\n \"availabilityInformation\": {\r\n \"availabilityStage\": + \"Available\",\r\n \"disabledReason\": \"None\"\r\n },\r\n + \ \"hierarchyInformation\": {\r\n \"productFamilyName\": \"azurestackedge\",\r\n + \ \"productLineName\": \"\",\r\n \"productName\": \"\",\r\n + \ \"configurationName\": \"\"\r\n }\r\n }\r\n }\r\n + \ ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3662' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 04:46:48 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"configurationFilters": [{"hierarchyInformation": {"productFamilyName": + "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu"}, + "filterableProperty": [{"type": "ShipToCountries", "supportedValues": ["US"]}]}]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder list-config + Connection: + - keep-alive + Content-Length: + - '246' + Content-Type: + - application/json + ParameterSetName: + - --configuration-filters + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2021-12-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"specifications\": + [\r\n {\r\n \"name\": \"Usable compute\",\r\n \"value\": + \"40 vCPU\"\r\n },\r\n {\r\n \"name\": \"Usable + memory\",\r\n \"value\": \"102 GB\"\r\n },\r\n {\r\n + \ \"name\": \"Usable storage\",\r\n \"value\": \"4.2 + TB\"\r\n }\r\n ],\r\n \"dimensions\": {\r\n \"length\": + 50.0,\r\n \"height\": 15.0,\r\n \"width\": 5.0,\r\n \"lengthHeightUnit\": + \"IN\",\r\n \"weight\": 50.0,\r\n \"depth\": 2.0,\r\n \"weightUnit\": + \"LBS\"\r\n },\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AU\",\r\n \"CA\",\r\n + \ \"HK\",\r\n \"JP\",\r\n \"MO\",\r\n + \ \"MY\",\r\n \"NZ\",\r\n \"NO\",\r\n + \ \"PR\",\r\n \"SG\",\r\n \"KR\",\r\n + \ \"CH\",\r\n \"TW\",\r\n \"AE\",\r\n + \ \"GB\",\r\n \"NL\",\r\n \"AT\",\r\n + \ \"IT\",\r\n \"BE\",\r\n \"LV\",\r\n + \ \"BG\",\r\n \"LT\",\r\n \"HR\",\r\n + \ \"LU\",\r\n \"CY\",\r\n \"MT\",\r\n + \ \"CZ\",\r\n \"DK\",\r\n \"PL\",\r\n + \ \"EE\",\r\n \"PT\",\r\n \"FI\",\r\n + \ \"RO\",\r\n \"FR\",\r\n \"SK\",\r\n + \ \"DE\",\r\n \"SI\",\r\n \"GR\",\r\n + \ \"ES\",\r\n \"HU\",\r\n \"SE\",\r\n + \ \"IE\"\r\n ]\r\n }\r\n ],\r\n \"displayName\": + \"Azure Stack Edge Pro - 1 GPU\",\r\n \"description\": {\r\n \"descriptionType\": + \"Base\",\r\n \"shortDescription\": \"\",\r\n \"longDescription\": + \"\",\r\n \"keywords\": [\r\n \"GPU\"\r\n ],\r\n + \ \"attributes\": [],\r\n \"links\": []\r\n },\r\n + \ \"imageInformation\": [],\r\n \"costInformation\": {\r\n \"billingMeterDetails\": + [\r\n {\r\n \"name\": \"RentalFee\",\r\n \"meterDetails\": + {\r\n \"meterGuid\": \"91edd360-e07c-5529-a0fd-99f30b20cf21\",\r\n + \ \"billingType\": \"Pav2\",\r\n \"multiplier\": + 1.0,\r\n \"chargingType\": \"PerOrder\"\r\n },\r\n + \ \"meteringType\": \"Recurring\",\r\n \"frequency\": + \"P1D\"\r\n },\r\n {\r\n \"name\": \"ShippingFee\",\r\n + \ \"meterDetails\": {\r\n \"meterGuid\": \"97b0cf84-c662-567c-bcbb-4158fa54ccc9\",\r\n + \ \"billingType\": \"Pav2\",\r\n \"multiplier\": + 1.0,\r\n \"chargingType\": \"PerOrder\"\r\n },\r\n + \ \"meteringType\": \"OneTime\",\r\n \"frequency\": + \"\"\r\n }\r\n ]\r\n },\r\n \"availabilityInformation\": + {\r\n \"availabilityStage\": \"Available\",\r\n \"disabledReason\": + \"None\"\r\n },\r\n \"hierarchyInformation\": {\r\n \"productFamilyName\": + \"azurestackedge\",\r\n \"productLineName\": \"azurestackedge\",\r\n + \ \"productName\": \"azurestackedgegpu\",\r\n \"configurationName\": + \"edgep_base\"\r\n }\r\n }\r\n },\r\n {\r\n \"properties\": + {\r\n \"specifications\": [\r\n {\r\n \"name\": + \"Usable compute\",\r\n \"value\": \"40 vCPU\"\r\n },\r\n + \ {\r\n \"name\": \"Usable memory\",\r\n \"value\": + \"102 GB\"\r\n },\r\n {\r\n \"name\": \"Usable + storage\",\r\n \"value\": \"4.2 TB\"\r\n }\r\n ],\r\n + \ \"dimensions\": {\r\n \"length\": 50.0,\r\n \"height\": + 15.0,\r\n \"width\": 5.0,\r\n \"lengthHeightUnit\": \"IN\",\r\n + \ \"weight\": 50.0,\r\n \"depth\": 2.0,\r\n \"weightUnit\": + \"LBS\"\r\n },\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AU\",\r\n \"CA\",\r\n + \ \"HK\",\r\n \"JP\",\r\n \"MO\",\r\n + \ \"MY\",\r\n \"NZ\",\r\n \"NO\",\r\n + \ \"PR\",\r\n \"SG\",\r\n \"KR\",\r\n + \ \"CH\",\r\n \"TW\",\r\n \"AE\",\r\n + \ \"GB\",\r\n \"NL\",\r\n \"AT\",\r\n + \ \"IT\",\r\n \"BE\",\r\n \"LV\",\r\n + \ \"BG\",\r\n \"LT\",\r\n \"HR\",\r\n + \ \"LU\",\r\n \"CY\",\r\n \"MT\",\r\n + \ \"CZ\",\r\n \"DK\",\r\n \"PL\",\r\n + \ \"EE\",\r\n \"PT\",\r\n \"FI\",\r\n + \ \"RO\",\r\n \"FR\",\r\n \"SK\",\r\n + \ \"DE\",\r\n \"SI\",\r\n \"GR\",\r\n + \ \"ES\",\r\n \"HU\",\r\n \"SE\",\r\n + \ \"IE\"\r\n ]\r\n }\r\n ],\r\n \"displayName\": + \"Azure Stack Edge Pro - 2 GPU\",\r\n \"description\": {\r\n \"descriptionType\": + \"Base\",\r\n \"shortDescription\": \"\",\r\n \"longDescription\": + \"\",\r\n \"keywords\": [\r\n \"GPU\"\r\n ],\r\n + \ \"attributes\": [],\r\n \"links\": []\r\n },\r\n + \ \"imageInformation\": [],\r\n \"costInformation\": {\r\n \"billingMeterDetails\": + [\r\n {\r\n \"name\": \"RentalFee\",\r\n \"meterDetails\": + {\r\n \"meterGuid\": \"35b0dd3f-1ba4-57b9-b08e-0f1ab87111c1\",\r\n + \ \"billingType\": \"Pav2\",\r\n \"multiplier\": + 1.0,\r\n \"chargingType\": \"PerOrder\"\r\n },\r\n + \ \"meteringType\": \"Recurring\",\r\n \"frequency\": + \"P1D\"\r\n },\r\n {\r\n \"name\": \"ShippingFee\",\r\n + \ \"meterDetails\": {\r\n \"meterGuid\": \"97b0cf84-c662-567c-bcbb-4158fa54ccc9\",\r\n + \ \"billingType\": \"Pav2\",\r\n \"multiplier\": + 1.0,\r\n \"chargingType\": \"PerOrder\"\r\n },\r\n + \ \"meteringType\": \"OneTime\",\r\n \"frequency\": + \"\"\r\n }\r\n ]\r\n },\r\n \"availabilityInformation\": + {\r\n \"availabilityStage\": \"Available\",\r\n \"disabledReason\": + \"None\"\r\n },\r\n \"hierarchyInformation\": {\r\n \"productFamilyName\": + \"azurestackedge\",\r\n \"productLineName\": \"azurestackedge\",\r\n + \ \"productName\": \"azurestackedgegpu\",\r\n \"configurationName\": + \"edgep_high\"\r\n }\r\n }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '6518' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 04:46:50 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"filterableProperties": {"azurestackedge": [{"type": "ShipToCountries", + "supportedValues": ["US"]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder list-family + Connection: + - keep-alive + Content-Length: + - '102' + Content-Type: + - application/json + ParameterSetName: + - --filterable-properties + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/listProductFamilies?api-version=2021-12-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"productLines\": + [\r\n {\r\n \"properties\": {\r\n \"products\": + [\r\n {\r\n \"properties\": {\r\n \"configurations\": + [],\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AU\",\r\n + \ \"CA\",\r\n \"HK\",\r\n + \ \"JP\",\r\n \"MO\",\r\n + \ \"MY\",\r\n \"NZ\",\r\n + \ \"NO\",\r\n \"PR\",\r\n + \ \"SG\",\r\n \"KR\",\r\n + \ \"CH\",\r\n \"TW\",\r\n + \ \"AE\",\r\n \"GB\",\r\n + \ \"NL\",\r\n \"AT\",\r\n + \ \"IT\",\r\n \"BE\",\r\n + \ \"LV\",\r\n \"BG\",\r\n + \ \"LT\",\r\n \"HR\",\r\n + \ \"LU\",\r\n \"CY\",\r\n + \ \"MT\",\r\n \"CZ\",\r\n + \ \"DK\",\r\n \"PL\",\r\n + \ \"EE\",\r\n \"PT\",\r\n + \ \"FI\",\r\n \"RO\",\r\n + \ \"FR\",\r\n \"SK\",\r\n + \ \"DE\",\r\n \"SI\",\r\n + \ \"GR\",\r\n \"ES\",\r\n + \ \"HU\",\r\n \"SE\",\r\n + \ \"IE\"\r\n ]\r\n }\r\n + \ ],\r\n \"displayName\": \"Azure Stack + Edge Pro - GPU\",\r\n \"description\": {\r\n \"descriptionType\": + \"Base\",\r\n \"shortDescription\": \"Azure managed physical + edge compute device\",\r\n \"longDescription\": \"Azure + Stack Edge Pro is an AI-enabled edge computing device with network data transfer + capabilities. The device is powered with NVIDIA T4 GPUs to provide accelerated + AI inferencing at the edge. You can choose from the following configurations + based upon your business need\",\r\n \"keywords\": [\r\n + \ \"GPU\"\r\n ],\r\n \"attributes\": + [\r\n \"1U rack mount device with network data transfer + capabilities\",\r\n \"Hardware accelerated ML using + Nvidia T4 GPU\",\r\n \"Azure Private Edge Zones enabled\"\r\n + \ ],\r\n \"links\": [\r\n {\r\n + \ \"linkType\": \"Specification\",\r\n \"linkUrl\": + \"https://aka.ms/edgeHWcenter-asepro-devicespec\"\r\n },\r\n + \ {\r\n \"linkType\": \"Generic\",\r\n + \ \"linkUrl\": \"https://aka.ms/ase-gpu-billing\"\r\n + \ },\r\n {\r\n \"linkType\": + \"TermsAndConditions\",\r\n \"linkUrl\": \"https://aka.ms/ase-gpu-product-terms\"\r\n + \ },\r\n {\r\n \"linkType\": + \"KnowMore\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-asepro-documentation\"\r\n + \ }\r\n ]\r\n },\r\n + \ \"imageInformation\": [],\r\n \"availabilityInformation\": + {\r\n \"availabilityStage\": \"Available\",\r\n \"disabledReason\": + \"None\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n + \ \"productLineName\": \"azurestackedge\",\r\n \"productName\": + \"azurestackedgegpu\",\r\n \"configurationName\": \"\"\r\n + \ }\r\n }\r\n },\r\n {\r\n + \ \"properties\": {\r\n \"configurations\": + [],\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"CA\",\r\n + \ \"JP\",\r\n \"NL\",\r\n + \ \"AT\",\r\n \"IT\",\r\n + \ \"BE\",\r\n \"LV\",\r\n + \ \"BG\",\r\n \"LT\",\r\n + \ \"HR\",\r\n \"LU\",\r\n + \ \"CY\",\r\n \"MT\",\r\n + \ \"CZ\",\r\n \"DK\",\r\n + \ \"PL\",\r\n \"EE\",\r\n + \ \"PT\",\r\n \"FI\",\r\n + \ \"RO\",\r\n \"FR\",\r\n + \ \"SK\",\r\n \"DE\",\r\n + \ \"SI\",\r\n \"GR\",\r\n + \ \"ES\",\r\n \"HU\",\r\n + \ \"SE\",\r\n \"IE\",\r\n + \ \"PR\"\r\n ]\r\n }\r\n + \ ],\r\n \"displayName\": \"Azure Stack + Edge Pro 2\",\r\n \"description\": {\r\n \"descriptionType\": + \"Base\",\r\n \"shortDescription\": \"Microsoft-shipped + physical edge compute device\",\r\n \"longDescription\": + \"Azure Stack Edge is an AI-enabled edge computing device with network data + transfer capabilities. The device is powered with NVIDIA T4 GPUs to provide + accelerated AI inferencing at the edge. You can choose from the available + configurations with one or two GPUs basis your business need\",\r\n \"keywords\": + [\r\n \"GPU\"\r\n ],\r\n \"attributes\": + [\r\n \"Portable, server class device\",\r\n \"Network + data transfer capabilities, Wi-Fi enabled\",\r\n \"Hardware + accelerated ML using GPU, powerful compute with 40 vCPU\"\r\n ],\r\n + \ \"links\": [\r\n {\r\n \"linkType\": + \"Specification\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-asepro2-devicespec\"\r\n + \ },\r\n {\r\n \"linkType\": + \"Generic\",\r\n \"linkUrl\": \"https://aka.ms/asepro2pricing\"\r\n + \ },\r\n {\r\n \"linkType\": + \"TermsAndConditions\",\r\n \"linkUrl\": \"http://aka.ms/ase-proR-product-terms\"\r\n + \ },\r\n {\r\n \"linkType\": + \"KnowMore\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-asepro2-documentation\"\r\n + \ }\r\n ]\r\n },\r\n + \ \"imageInformation\": [],\r\n \"availabilityInformation\": + {\r\n \"availabilityStage\": \"Unavailable\",\r\n \"disabledReason\": + \"None\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n + \ \"productLineName\": \"azurestackedge\",\r\n \"productName\": + \"azurestackedgepro2\",\r\n \"configurationName\": \"\"\r\n + \ }\r\n }\r\n },\r\n {\r\n + \ \"properties\": {\r\n \"configurations\": + [],\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AU\",\r\n + \ \"AT\",\r\n \"BE\",\r\n + \ \"BG\",\r\n \"CA\",\r\n + \ \"HR\",\r\n \"CY\",\r\n + \ \"CZ\",\r\n \"DK\",\r\n + \ \"EE\",\r\n \"FI\",\r\n + \ \"FR\",\r\n \"DE\",\r\n + \ \"GR\",\r\n \"HU\",\r\n + \ \"IE\",\r\n \"IT\",\r\n + \ \"JP\",\r\n \"LV\",\r\n + \ \"LT\",\r\n \"LU\",\r\n + \ \"MT\",\r\n \"NL\",\r\n + \ \"NO\",\r\n \"PL\",\r\n + \ \"PT\",\r\n \"PR\",\r\n + \ \"RO\",\r\n \"SG\",\r\n + \ \"SK\",\r\n \"SI\",\r\n + \ \"KR\",\r\n \"ES\",\r\n + \ \"SE\",\r\n \"CH\",\r\n + \ \"AE\",\r\n \"GB\",\r\n + \ \"NZ\"\r\n ]\r\n },\r\n + \ {\r\n \"type\": \"DoubleEncryptionStatus\",\r\n + \ \"supportedValues\": [\r\n \"Enabled\"\r\n + \ ]\r\n }\r\n ],\r\n + \ \"displayName\": \"Azure Stack Edge Pro R\",\r\n \"description\": + {\r\n \"descriptionType\": \"Base\",\r\n \"shortDescription\": + \"Rugged, physical edge compute device\",\r\n \"longDescription\": + \"Azure Stack Edge Pro R is an AI-enabled edge computing device with network + data transfer capabilities. The device is powered with NVIDIA T4 GPUs to provide + accelerated AI inferencing at the edge and comes in a ruggedized casing to + work in harsh environments. You can choose from the available configurations + as per your business requirement.\",\r\n \"keywords\": + [\r\n \"GPU\"\r\n ],\r\n \"attributes\": + [\r\n \"Portable, server class device with network + data transfer capabilities\",\r\n \"Hardware accelerated + ML using Nvidia T4 GPU\",\r\n \"Specialized rugged + casing tailored for harsh environments\"\r\n ],\r\n \"links\": + [\r\n {\r\n \"linkType\": + \"Specification\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-aseproR-devicespec\"\r\n + \ },\r\n {\r\n \"linkType\": + \"Generic\",\r\n \"linkUrl\": \" http://aka.ms/ase-proR-billing\"\r\n + \ },\r\n {\r\n \"linkType\": + \"KnowMore\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-aseproR-documentation\"\r\n + \ }\r\n ]\r\n },\r\n + \ \"imageInformation\": [],\r\n \"availabilityInformation\": + {\r\n \"availabilityStage\": \"Available\",\r\n \"disabledReason\": + \"None\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n + \ \"productLineName\": \"azurestackedge\",\r\n \"productName\": + \"azurestackedgepror\",\r\n \"configurationName\": \"\"\r\n + \ }\r\n }\r\n },\r\n {\r\n + \ \"properties\": {\r\n \"configurations\": + [],\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AU\",\r\n + \ \"AT\",\r\n \"BE\",\r\n + \ \"BG\",\r\n \"CA\",\r\n + \ \"HR\",\r\n \"CY\",\r\n + \ \"CZ\",\r\n \"DK\",\r\n + \ \"EE\",\r\n \"FI\",\r\n + \ \"FR\",\r\n \"DE\",\r\n + \ \"GR\",\r\n \"HU\",\r\n + \ \"IE\",\r\n \"IT\",\r\n + \ \"LV\",\r\n \"LT\",\r\n + \ \"LU\",\r\n \"MT\",\r\n + \ \"NL\",\r\n \"NO\",\r\n + \ \"PL\",\r\n \"PT\",\r\n + \ \"PR\",\r\n \"RO\",\r\n + \ \"SK\",\r\n \"SI\",\r\n + \ \"ES\",\r\n \"SE\",\r\n + \ \"CH\",\r\n \"GB\",\r\n + \ \"NZ\",\r\n \"SG\"\r\n + \ ]\r\n },\r\n {\r\n + \ \"type\": \"DoubleEncryptionStatus\",\r\n \"supportedValues\": + [\r\n \"Enabled\"\r\n ]\r\n + \ }\r\n ],\r\n \"displayName\": + \"Azure Stack Edge Mini R\",\r\n \"description\": {\r\n + \ \"descriptionType\": \"Base\",\r\n \"shortDescription\": + \"Azure managed physical edge compute device\",\r\n \"keywords\": + [\r\n \"WiFi\",\r\n \"VPU\"\r\n + \ ],\r\n \"attributes\": [\r\n \"Ultra-portable, + WiFi enabled device with battery\",\r\n \"Hardware + accelerated ML using VPU\",\r\n \"Specialized rugged + casing tailored for harsh environments\"\r\n ],\r\n \"links\": + [\r\n {\r\n \"linkType\": + \"Specification\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-aseminiR-devicespec\"\r\n + \ },\r\n {\r\n \"linkType\": + \"Generic\",\r\n \"linkUrl\": \"http://aka.ms/ase-miniR-billing\"\r\n + \ },\r\n {\r\n \"linkType\": + \"KnowMore\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-aseminiR-documentation\"\r\n + \ }\r\n ]\r\n },\r\n + \ \"imageInformation\": [],\r\n \"availabilityInformation\": + {\r\n \"availabilityStage\": \"Available\",\r\n \"disabledReason\": + \"None\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n + \ \"productLineName\": \"azurestackedge\",\r\n \"productName\": + \"azurestackedgeminir\",\r\n \"configurationName\": \"\"\r\n + \ }\r\n }\r\n }\r\n ],\r\n + \ \"filterableProperties\": [\r\n {\r\n \"type\": + \"ShipToCountries\",\r\n \"supportedValues\": [\r\n \"US\",\r\n + \ \"AU\",\r\n \"CA\",\r\n \"HK\",\r\n + \ \"JP\",\r\n \"MO\",\r\n \"MY\",\r\n + \ \"NZ\",\r\n \"NO\",\r\n \"PR\",\r\n + \ \"SG\",\r\n \"KR\",\r\n \"CH\",\r\n + \ \"TW\",\r\n \"AE\",\r\n \"GB\",\r\n + \ \"NL\",\r\n \"AT\",\r\n \"IT\",\r\n + \ \"BE\",\r\n \"LV\",\r\n \"BG\",\r\n + \ \"LT\",\r\n \"HR\",\r\n \"LU\",\r\n + \ \"CY\",\r\n \"MT\",\r\n \"CZ\",\r\n + \ \"DK\",\r\n \"PL\",\r\n \"EE\",\r\n + \ \"PT\",\r\n \"FI\",\r\n \"RO\",\r\n + \ \"FR\",\r\n \"SK\",\r\n \"DE\",\r\n + \ \"SI\",\r\n \"GR\",\r\n \"ES\",\r\n + \ \"HU\",\r\n \"SE\",\r\n \"IE\"\r\n + \ ]\r\n },\r\n {\r\n \"type\": + \"DoubleEncryptionStatus\",\r\n \"supportedValues\": [\r\n + \ \"Enabled\"\r\n ]\r\n }\r\n + \ ],\r\n \"displayName\": \"Azure Stack Edge\",\r\n + \ \"description\": {\r\n \"descriptionType\": \"Base\",\r\n + \ \"keywords\": [],\r\n \"attributes\": [],\r\n + \ \"links\": []\r\n },\r\n \"imageInformation\": + [],\r\n \"availabilityInformation\": {\r\n \"availabilityStage\": + \"Available\",\r\n \"disabledReason\": \"None\"\r\n },\r\n + \ \"hierarchyInformation\": {\r\n \"productFamilyName\": + \"azurestackedge\",\r\n \"productLineName\": \"azurestackedge\",\r\n + \ \"productName\": \"\",\r\n \"configurationName\": + \"\"\r\n }\r\n }\r\n },\r\n {\r\n + \ \"properties\": {\r\n \"products\": [\r\n {\r\n + \ \"properties\": {\r\n \"configurations\": + [],\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AR\",\r\n + \ \"DZ\",\r\n \"AU\",\r\n + \ \"AT\",\r\n \"BS\",\r\n + \ \"BH\",\r\n \"BD\",\r\n + \ \"BB\",\r\n \"BM\",\r\n + \ \"BE\",\r\n \"BO\",\r\n + \ \"BA\",\r\n \"BR\",\r\n + \ \"BG\",\r\n \"CA\",\r\n + \ \"CL\",\r\n \"KY\",\r\n + \ \"CO\",\r\n \"CR\",\r\n + \ \"CI\",\r\n \"HR\",\r\n + \ \"CY\",\r\n \"CZ\",\r\n + \ \"DK\",\r\n \"DO\",\r\n + \ \"EC\",\r\n \"EG\",\r\n + \ \"SV\",\r\n \"EE\",\r\n + \ \"ET\",\r\n \"FI\",\r\n + \ \"FR\",\r\n \"GE\",\r\n + \ \"DE\",\r\n \"GH\",\r\n + \ \"GR\",\r\n \"GT\",\r\n + \ \"HN\",\r\n \"HU\",\r\n + \ \"IS\",\r\n \"IN\",\r\n + \ \"ID\",\r\n \"IE\",\r\n + \ \"IL\",\r\n \"IT\",\r\n + \ \"JP\",\r\n \"JM\",\r\n + \ \"KE\",\r\n \"KR\",\r\n + \ \"KW\",\r\n \"KG\",\r\n + \ \"LV\",\r\n \"LY\",\r\n + \ \"LI\",\r\n \"LT\",\r\n + \ \"LU\",\r\n \"MY\",\r\n + \ \"MT\",\r\n \"MO\",\r\n + \ \"MU\",\r\n \"MX\",\r\n + \ \"MD\",\r\n \"MC\",\r\n + \ \"MN\",\r\n \"ME\",\r\n + \ \"MA\",\r\n \"NP\",\r\n + \ \"NL\",\r\n \"NI\",\r\n + \ \"NG\",\r\n \"NZ\",\r\n + \ \"NO\",\r\n \"OM\",\r\n + \ \"PS\",\r\n \"PA\",\r\n + \ \"PY\",\r\n \"PE\",\r\n + \ \"PH\",\r\n \"PL\",\r\n + \ \"PT\",\r\n \"PR\",\r\n + \ \"QA\",\r\n \"RO\",\r\n + \ \"RW\",\r\n \"SG\",\r\n + \ \"SK\",\r\n \"SI\",\r\n + \ \"ZA\",\r\n \"ES\",\r\n + \ \"KN\",\r\n \"SA\",\r\n + \ \"SN\",\r\n \"RS\",\r\n + \ \"LK\",\r\n \"SE\",\r\n + \ \"CH\",\r\n \"TW\",\r\n + \ \"TJ\",\r\n \"TZ\",\r\n + \ \"TH\",\r\n \"TT\",\r\n + \ \"TN\",\r\n \"TR\",\r\n + \ \"TM\",\r\n \"UG\",\r\n + \ \"UA\",\r\n \"AE\",\r\n + \ \"GB\",\r\n \"UY\",\r\n + \ \"UZ\",\r\n \"VI\",\r\n + \ \"VE\",\r\n \"VN\",\r\n + \ \"YE\",\r\n \"ZM\",\r\n + \ \"ZW\"\r\n ]\r\n },\r\n + \ {\r\n \"type\": \"DoubleEncryptionStatus\",\r\n + \ \"supportedValues\": [\r\n \"Enabled\"\r\n + \ ]\r\n }\r\n ],\r\n + \ \"displayName\": \"Tactical Edge Appliance\",\r\n \"description\": + {\r\n \"descriptionType\": \"Base\",\r\n \"shortDescription\": + \"Rugged, physical edge compute device\",\r\n \"longDescription\": + \"TEA is an AI-enabled edge computing device with network data transfer capabilities. + The device is powered with NVIDIA T4 GPUs to provide accelerated AI inferencing + at the edge and comes in a ruggedized casing to work in harsh environments. + You can choose from the available configurations as per your business requirement.\",\r\n + \ \"keywords\": [\r\n \"GPU\"\r\n + \ ],\r\n \"attributes\": [\r\n \"1U + rack mount device with network data transfer capabilities\",\r\n \"Tailored + for harsh environments\"\r\n ],\r\n \"links\": + [\r\n {\r\n \"linkType\": + \"Specification\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-tea-devicespec\"\r\n + \ },\r\n {\r\n \"linkType\": + \"Generic\",\r\n \"linkUrl\": \"https://aka.ms/tea-billing\"\r\n + \ },\r\n {\r\n \"linkType\": + \"KnowMore\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-tea-documentation\"\r\n + \ }\r\n ]\r\n },\r\n + \ \"imageInformation\": [],\r\n \"availabilityInformation\": + {\r\n \"availabilityStage\": \"Unavailable\",\r\n \"disabledReason\": + \"None\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n + \ \"productLineName\": \"azuretacticalappliance\",\r\n + \ \"productName\": \"tacticaledgeappliance\",\r\n \"configurationName\": + \"\"\r\n }\r\n }\r\n },\r\n + \ {\r\n \"properties\": {\r\n \"configurations\": + [],\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AR\",\r\n + \ \"DZ\",\r\n \"AU\",\r\n + \ \"AT\",\r\n \"BS\",\r\n + \ \"BH\",\r\n \"BD\",\r\n + \ \"BB\",\r\n \"BM\",\r\n + \ \"BE\",\r\n \"BO\",\r\n + \ \"BA\",\r\n \"BR\",\r\n + \ \"BG\",\r\n \"CA\",\r\n + \ \"CL\",\r\n \"KY\",\r\n + \ \"CO\",\r\n \"CR\",\r\n + \ \"CI\",\r\n \"HR\",\r\n + \ \"CY\",\r\n \"CZ\",\r\n + \ \"DK\",\r\n \"DO\",\r\n + \ \"EC\",\r\n \"EG\",\r\n + \ \"SV\",\r\n \"EE\",\r\n + \ \"ET\",\r\n \"FI\",\r\n + \ \"FR\",\r\n \"GE\",\r\n + \ \"DE\",\r\n \"GH\",\r\n + \ \"GR\",\r\n \"GT\",\r\n + \ \"HN\",\r\n \"HU\",\r\n + \ \"IS\",\r\n \"IN\",\r\n + \ \"ID\",\r\n \"IE\",\r\n + \ \"IL\",\r\n \"IT\",\r\n + \ \"JP\",\r\n \"JM\",\r\n + \ \"KE\",\r\n \"KR\",\r\n + \ \"KW\",\r\n \"KG\",\r\n + \ \"LV\",\r\n \"LY\",\r\n + \ \"LI\",\r\n \"LT\",\r\n + \ \"LU\",\r\n \"MY\",\r\n + \ \"MT\",\r\n \"MO\",\r\n + \ \"MU\",\r\n \"MX\",\r\n + \ \"MD\",\r\n \"MC\",\r\n + \ \"MN\",\r\n \"ME\",\r\n + \ \"MA\",\r\n \"NP\",\r\n + \ \"NL\",\r\n \"NI\",\r\n + \ \"NG\",\r\n \"NZ\",\r\n + \ \"NO\",\r\n \"OM\",\r\n + \ \"PS\",\r\n \"PA\",\r\n + \ \"PY\",\r\n \"PE\",\r\n + \ \"PH\",\r\n \"PL\",\r\n + \ \"PT\",\r\n \"PR\",\r\n + \ \"QA\",\r\n \"RO\",\r\n + \ \"RW\",\r\n \"SG\",\r\n + \ \"SK\",\r\n \"SI\",\r\n + \ \"ZA\",\r\n \"ES\",\r\n + \ \"KN\",\r\n \"SA\",\r\n + \ \"SN\",\r\n \"RS\",\r\n + \ \"LK\",\r\n \"SE\",\r\n + \ \"CH\",\r\n \"TW\",\r\n + \ \"TJ\",\r\n \"TZ\",\r\n + \ \"TH\",\r\n \"TT\",\r\n + \ \"TN\",\r\n \"TR\",\r\n + \ \"TM\",\r\n \"UG\",\r\n + \ \"UA\",\r\n \"AE\",\r\n + \ \"GB\",\r\n \"UY\",\r\n + \ \"UZ\",\r\n \"VI\",\r\n + \ \"VE\",\r\n \"VN\",\r\n + \ \"YE\",\r\n \"ZM\",\r\n + \ \"ZW\"\r\n ]\r\n },\r\n + \ {\r\n \"type\": \"DoubleEncryptionStatus\",\r\n + \ \"supportedValues\": [\r\n \"Enabled\"\r\n + \ ]\r\n }\r\n ],\r\n + \ \"displayName\": \"Tactical Mobile Appliance\",\r\n \"description\": + {\r\n \"descriptionType\": \"Base\",\r\n \"shortDescription\": + \"Portable, rugged, physical edge compute device\",\r\n \"keywords\": + [\r\n \"WiFi\",\r\n \"VPU\"\r\n + \ ],\r\n \"attributes\": [\r\n \"Backpack + sized device shipped by Microsoft\",\r\n \"Tailored + for harsh environments\",\r\n \"Battery powered\"\r\n + \ ],\r\n \"links\": [\r\n {\r\n + \ \"linkType\": \"Specification\",\r\n \"linkUrl\": + \"https://aka.ms/edgeHWcenter-tma-devicespec\"\r\n },\r\n + \ {\r\n \"linkType\": \"Generic\",\r\n + \ \"linkUrl\": \"https://aka.ms/tma-billing\"\r\n + \ },\r\n {\r\n \"linkType\": + \"KnowMore\",\r\n \"linkUrl\": \"https://aka.ms/edgeHWcenter-tma-documentation\"\r\n + \ }\r\n ]\r\n },\r\n + \ \"imageInformation\": [],\r\n \"availabilityInformation\": + {\r\n \"availabilityStage\": \"Unavailable\",\r\n \"disabledReason\": + \"None\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n + \ \"productLineName\": \"azuretacticalappliance\",\r\n + \ \"productName\": \"tacticalmobileappliance\",\r\n \"configurationName\": + \"\"\r\n }\r\n }\r\n }\r\n + \ ],\r\n \"filterableProperties\": [\r\n {\r\n + \ \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AR\",\r\n \"DZ\",\r\n + \ \"AU\",\r\n \"AT\",\r\n \"BS\",\r\n + \ \"BH\",\r\n \"BD\",\r\n \"BB\",\r\n + \ \"BM\",\r\n \"BE\",\r\n \"BO\",\r\n + \ \"BA\",\r\n \"BR\",\r\n \"BG\",\r\n + \ \"CA\",\r\n \"CL\",\r\n \"KY\",\r\n + \ \"CO\",\r\n \"CR\",\r\n \"CI\",\r\n + \ \"HR\",\r\n \"CY\",\r\n \"CZ\",\r\n + \ \"DK\",\r\n \"DO\",\r\n \"EC\",\r\n + \ \"EG\",\r\n \"SV\",\r\n \"EE\",\r\n + \ \"ET\",\r\n \"FI\",\r\n \"FR\",\r\n + \ \"GE\",\r\n \"DE\",\r\n \"GH\",\r\n + \ \"GR\",\r\n \"GT\",\r\n \"HN\",\r\n + \ \"HU\",\r\n \"IS\",\r\n \"IN\",\r\n + \ \"ID\",\r\n \"IE\",\r\n \"IL\",\r\n + \ \"IT\",\r\n \"JP\",\r\n \"JM\",\r\n + \ \"KE\",\r\n \"KR\",\r\n \"KW\",\r\n + \ \"KG\",\r\n \"LV\",\r\n \"LY\",\r\n + \ \"LI\",\r\n \"LT\",\r\n \"LU\",\r\n + \ \"MY\",\r\n \"MT\",\r\n \"MO\",\r\n + \ \"MU\",\r\n \"MX\",\r\n \"MD\",\r\n + \ \"MC\",\r\n \"MN\",\r\n \"ME\",\r\n + \ \"MA\",\r\n \"NP\",\r\n \"NL\",\r\n + \ \"NI\",\r\n \"NG\",\r\n \"NZ\",\r\n + \ \"NO\",\r\n \"OM\",\r\n \"PS\",\r\n + \ \"PA\",\r\n \"PY\",\r\n \"PE\",\r\n + \ \"PH\",\r\n \"PL\",\r\n \"PT\",\r\n + \ \"PR\",\r\n \"QA\",\r\n \"RO\",\r\n + \ \"RW\",\r\n \"SG\",\r\n \"SK\",\r\n + \ \"SI\",\r\n \"ZA\",\r\n \"ES\",\r\n + \ \"KN\",\r\n \"SA\",\r\n \"SN\",\r\n + \ \"RS\",\r\n \"LK\",\r\n \"SE\",\r\n + \ \"CH\",\r\n \"TW\",\r\n \"TJ\",\r\n + \ \"TZ\",\r\n \"TH\",\r\n \"TT\",\r\n + \ \"TN\",\r\n \"TR\",\r\n \"TM\",\r\n + \ \"UG\",\r\n \"UA\",\r\n \"AE\",\r\n + \ \"GB\",\r\n \"UY\",\r\n \"UZ\",\r\n + \ \"VI\",\r\n \"VE\",\r\n \"VN\",\r\n + \ \"YE\",\r\n \"ZM\",\r\n \"ZW\"\r\n + \ ]\r\n },\r\n {\r\n \"type\": + \"DoubleEncryptionStatus\",\r\n \"supportedValues\": [\r\n + \ \"Enabled\"\r\n ]\r\n }\r\n + \ ],\r\n \"displayName\": \"Azure Tactical Appliance\",\r\n + \ \"description\": {\r\n \"descriptionType\": \"Base\",\r\n + \ \"keywords\": [],\r\n \"attributes\": [],\r\n + \ \"links\": []\r\n },\r\n \"imageInformation\": + [],\r\n \"availabilityInformation\": {\r\n \"availabilityStage\": + \"Unavailable\",\r\n \"disabledReason\": \"None\"\r\n },\r\n + \ \"hierarchyInformation\": {\r\n \"productFamilyName\": + \"azurestackedge\",\r\n \"productLineName\": \"azuretacticalappliance\",\r\n + \ \"productName\": \"\",\r\n \"configurationName\": + \"\"\r\n }\r\n }\r\n }\r\n ],\r\n + \ \"resourceProviderDetails\": [\r\n {\r\n \"resourceProviderNamespace\": + \"Microsoft.DataBoxEdge\"\r\n }\r\n ],\r\n \"filterableProperties\": + [\r\n {\r\n \"type\": \"ShipToCountries\",\r\n \"supportedValues\": + [\r\n \"US\",\r\n \"AU\",\r\n \"CA\",\r\n + \ \"HK\",\r\n \"JP\",\r\n \"MO\",\r\n + \ \"MY\",\r\n \"NZ\",\r\n \"NO\",\r\n + \ \"PR\",\r\n \"SG\",\r\n \"KR\",\r\n + \ \"CH\",\r\n \"TW\",\r\n \"AE\",\r\n + \ \"GB\",\r\n \"NL\",\r\n \"AT\",\r\n + \ \"IT\",\r\n \"BE\",\r\n \"LV\",\r\n + \ \"BG\",\r\n \"LT\",\r\n \"HR\",\r\n + \ \"LU\",\r\n \"CY\",\r\n \"MT\",\r\n + \ \"CZ\",\r\n \"DK\",\r\n \"PL\",\r\n + \ \"EE\",\r\n \"PT\",\r\n \"FI\",\r\n + \ \"RO\",\r\n \"FR\",\r\n \"SK\",\r\n + \ \"DE\",\r\n \"SI\",\r\n \"GR\",\r\n + \ \"ES\",\r\n \"HU\",\r\n \"SE\",\r\n + \ \"IE\",\r\n \"AR\",\r\n \"DZ\",\r\n + \ \"BS\",\r\n \"BH\",\r\n \"BD\",\r\n + \ \"BB\",\r\n \"BM\",\r\n \"BO\",\r\n + \ \"BA\",\r\n \"BR\",\r\n \"CL\",\r\n + \ \"KY\",\r\n \"CO\",\r\n \"CR\",\r\n + \ \"CI\",\r\n \"DO\",\r\n \"EC\",\r\n + \ \"EG\",\r\n \"SV\",\r\n \"ET\",\r\n + \ \"GE\",\r\n \"GH\",\r\n \"GT\",\r\n + \ \"HN\",\r\n \"IS\",\r\n \"IN\",\r\n + \ \"ID\",\r\n \"IL\",\r\n \"JM\",\r\n + \ \"KE\",\r\n \"KW\",\r\n \"KG\",\r\n + \ \"LY\",\r\n \"LI\",\r\n \"MU\",\r\n + \ \"MX\",\r\n \"MD\",\r\n \"MC\",\r\n + \ \"MN\",\r\n \"ME\",\r\n \"MA\",\r\n + \ \"NP\",\r\n \"NI\",\r\n \"NG\",\r\n + \ \"OM\",\r\n \"PS\",\r\n \"PA\",\r\n + \ \"PY\",\r\n \"PE\",\r\n \"PH\",\r\n + \ \"QA\",\r\n \"RW\",\r\n \"ZA\",\r\n + \ \"KN\",\r\n \"SA\",\r\n \"SN\",\r\n + \ \"RS\",\r\n \"LK\",\r\n \"TJ\",\r\n + \ \"TZ\",\r\n \"TH\",\r\n \"TT\",\r\n + \ \"TN\",\r\n \"TR\",\r\n \"TM\",\r\n + \ \"UG\",\r\n \"UA\",\r\n \"UY\",\r\n + \ \"UZ\",\r\n \"VI\",\r\n \"VE\",\r\n + \ \"VN\",\r\n \"YE\",\r\n \"ZM\",\r\n + \ \"ZW\"\r\n ]\r\n },\r\n {\r\n \"type\": + \"DoubleEncryptionStatus\",\r\n \"supportedValues\": [\r\n \"Enabled\"\r\n + \ ]\r\n }\r\n ],\r\n \"displayName\": \"Azure + Stack Edge\",\r\n \"description\": {\r\n \"descriptionType\": + \"Base\",\r\n \"shortDescription\": \"Azure managed physical edge + compute device\",\r\n \"keywords\": [],\r\n \"attributes\": + [],\r\n \"links\": []\r\n },\r\n \"imageInformation\": + [],\r\n \"availabilityInformation\": {\r\n \"availabilityStage\": + \"Available\",\r\n \"disabledReason\": \"None\"\r\n },\r\n + \ \"hierarchyInformation\": {\r\n \"productFamilyName\": \"azurestackedge\",\r\n + \ \"productLineName\": \"\",\r\n \"productName\": \"\",\r\n + \ \"configurationName\": \"\"\r\n }\r\n }\r\n }\r\n + \ ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '38749' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 04:46:50 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: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_order_crud.yaml b/src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_order_crud.yaml new file mode 100644 index 00000000000..dec134be935 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/tests/latest/recordings/test_edgeorder_order_crud.yaml @@ -0,0 +1,3706 @@ +interactions: +- request: + body: '{"tags": {}, "location": "eastus", "properties": {"orderItemDetails": {"productDetails": + {"hierarchyInformation": {"productFamilyName": "azurestackedge", "productLineName": + "azurestackedge", "productName": "azurestackedgegpu", "configurationName": "edgep_base"}}, + "orderItemType": "Purchase", "preferences": {"transportPreferences": {"preferredShipmentType": + "MicrosoftManaged"}}}, "addressDetails": {"forwardAddress": {"shippingAddress": + {"streetAddress1": "16 TOWNSEND ST", "streetAddress2": "UNIT 1", "city": "San + Francisco", "stateOrProvince": "CA", "country": "US", "postalCode": "94107", + "companyName": "Microsoft", "addressType": "None"}, "contactDetails": {"contactName": + "Petr Cech", "phone": "1234567890", "phoneExtension": "", "emailList": ["testemail@microsoft.com"]}}}, + "orderId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item create + Connection: + - keep-alive + Content-Length: + - '964' + Content-Type: + - application/json + ParameterSetName: + - -n -g --order-item-resource + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:24:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/6a1949bc-b0fb-42ff-8868-8cdf46f31241?api-version=2021-12-01 + pragma: + - no-cache + server: + - Kestrel + 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: + - edgeorder order-item create + Connection: + - keep-alive + ParameterSetName: + - -n -g --order-item-resource + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/6a1949bc-b0fb-42ff-8868-8cdf46f31241?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:24:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-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: + - edgeorder order-item create + Connection: + - keep-alive + ParameterSetName: + - -n -g --order-item-resource + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"orderItemDetails\": {\r\n \"productDetails\": + {\r\n \"displayInfo\": {\r\n \"productFamilyDisplayName\": + \"Azure Stack Edge\",\r\n \"configurationDisplayName\": \"Azure Stack + Edge Pro - 1 GPU\"\r\n },\r\n \"hierarchyInformation\": {\r\n + \ \"productFamilyName\": \"azurestackedge\",\r\n \"productLineName\": + \"azurestackedge\",\r\n \"productName\": \"azurestackedgegpu\",\r\n + \ \"configurationName\": \"edgep_base\"\r\n },\r\n \"count\": + 0,\r\n \"productDoubleEncryptionStatus\": \"Disabled\"\r\n },\r\n + \ \"orderItemType\": \"Purchase\",\r\n \"currentStage\": {\r\n \"stageStatus\": + \"Succeeded\",\r\n \"stageName\": \"Placed\",\r\n \"startTime\": + \"2022-02-22T02:24:34.2281432+00:00\"\r\n },\r\n \"orderItemStageHistory\": + [\r\n {\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageName\": + \"Placed\",\r\n \"startTime\": \"2022-02-22T02:24:34.2281432+00:00\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n \"stageName\": + \"Confirmed\"\r\n },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"ReadyToShip\"\r\n },\r\n {\r\n \"stageStatus\": + \"None\",\r\n \"stageName\": \"Shipped\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"Delivered\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n \"stageName\": + \"InUse\"\r\n }\r\n ],\r\n \"preferences\": {\r\n \"transportPreferences\": + {\r\n \"preferredShipmentType\": \"MicrosoftManaged\"\r\n }\r\n + \ },\r\n \"notificationEmailList\": [],\r\n \"cancellationStatus\": + \"Cancellable\",\r\n \"deletionStatus\": \"NotAllowed\",\r\n \"returnStatus\": + \"NotReturnable\",\r\n \"managementRpDetailsList\": [\r\n {\r\n + \ \"resourceProviderNamespace\": \"Microsoft.DataBoxEdge\"\r\n }\r\n + \ ]\r\n },\r\n \"addressDetails\": {\r\n \"forwardAddress\": + {\r\n \"shippingAddress\": {\r\n \"streetAddress1\": \"16 + TOWNSEND ST\",\r\n \"streetAddress2\": \"UNIT 1\",\r\n \"city\": + \"San Francisco\",\r\n \"stateOrProvince\": \"CA\",\r\n \"country\": + \"US\",\r\n \"postalCode\": \"94107\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"contactDetails\": + {\r\n \"contactName\": \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n + \ \"phoneExtension\": \"\",\r\n \"emailList\": [\r\n \"testemail@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": \"Valid\"\r\n + \ }\r\n },\r\n \"startTime\": \"2022-02-22T02:24:19.4261804+00:00\",\r\n + \ \"orderId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01\"\r\n + \ },\r\n \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-22T02:24:18.4890986+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-22T02:24:18.4890986+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": \"TestOrderItemName01\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/orderItems\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3357' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Feb 2022 02:24:40 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"tags": {}, "location": "eastus", "properties": {"orderItemDetails": {"productDetails": + {"hierarchyInformation": {"productFamilyName": "azurestackedge", "productLineName": + "azurestackedge", "productName": "azurestackedgegpu", "configurationName": "edgep_base"}}, + "orderItemType": "Purchase", "preferences": {"transportPreferences": {"preferredShipmentType": + "MicrosoftManaged"}}}, "addressDetails": {"forwardAddress": {"shippingAddress": + {"streetAddress1": "16 TOWNSEND ST", "streetAddress2": "UNIT 1", "city": "San + Francisco", "stateOrProvince": "CA", "country": "US", "postalCode": "94107", + "companyName": "Microsoft", "addressType": "None"}, "contactDetails": {"contactName": + "Petr Cech", "phone": "1234567890", "phoneExtension": "", "emailList": ["testemail@microsoft.com"]}}}, + "orderId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName02"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item create + Connection: + - keep-alive + Content-Length: + - '964' + Content-Type: + - application/json + ParameterSetName: + - -n -g --order-item-resource + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName02?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:24:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/70acc64e-a894-421c-8213-dc07796344e4?api-version=2021-12-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' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item create + Connection: + - keep-alive + ParameterSetName: + - -n -g --order-item-resource + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/70acc64e-a894-421c-8213-dc07796344e4?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:24:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName02?api-version=2021-12-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: + - edgeorder order-item create + Connection: + - keep-alive + ParameterSetName: + - -n -g --order-item-resource + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName02?api-version=2021-12-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"orderItemDetails\": {\r\n \"productDetails\": + {\r\n \"displayInfo\": {\r\n \"productFamilyDisplayName\": + \"Azure Stack Edge\",\r\n \"configurationDisplayName\": \"Azure Stack + Edge Pro - 1 GPU\"\r\n },\r\n \"hierarchyInformation\": {\r\n + \ \"productFamilyName\": \"azurestackedge\",\r\n \"productLineName\": + \"azurestackedge\",\r\n \"productName\": \"azurestackedgegpu\",\r\n + \ \"configurationName\": \"edgep_base\"\r\n },\r\n \"count\": + 0,\r\n \"productDoubleEncryptionStatus\": \"Disabled\"\r\n },\r\n + \ \"orderItemType\": \"Purchase\",\r\n \"currentStage\": {\r\n \"stageStatus\": + \"Succeeded\",\r\n \"stageName\": \"Placed\",\r\n \"startTime\": + \"2022-02-22T02:25:04.4305617+00:00\"\r\n },\r\n \"orderItemStageHistory\": + [\r\n {\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageName\": + \"Placed\",\r\n \"startTime\": \"2022-02-22T02:25:04.4305617+00:00\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n \"stageName\": + \"Confirmed\"\r\n },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"ReadyToShip\"\r\n },\r\n {\r\n \"stageStatus\": + \"None\",\r\n \"stageName\": \"Shipped\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"Delivered\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n \"stageName\": + \"InUse\"\r\n }\r\n ],\r\n \"preferences\": {\r\n \"transportPreferences\": + {\r\n \"preferredShipmentType\": \"MicrosoftManaged\"\r\n }\r\n + \ },\r\n \"notificationEmailList\": [],\r\n \"cancellationStatus\": + \"Cancellable\",\r\n \"deletionStatus\": \"NotAllowed\",\r\n \"returnStatus\": + \"NotReturnable\",\r\n \"managementRpDetailsList\": [\r\n {\r\n + \ \"resourceProviderNamespace\": \"Microsoft.DataBoxEdge\"\r\n }\r\n + \ ]\r\n },\r\n \"addressDetails\": {\r\n \"forwardAddress\": + {\r\n \"shippingAddress\": {\r\n \"streetAddress1\": \"16 + TOWNSEND ST\",\r\n \"streetAddress2\": \"UNIT 1\",\r\n \"city\": + \"San Francisco\",\r\n \"stateOrProvince\": \"CA\",\r\n \"country\": + \"US\",\r\n \"postalCode\": \"94107\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"contactDetails\": + {\r\n \"contactName\": \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n + \ \"phoneExtension\": \"\",\r\n \"emailList\": [\r\n \"testemail@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": \"Valid\"\r\n + \ }\r\n },\r\n \"startTime\": \"2022-02-22T02:24:48.916538+00:00\",\r\n + \ \"orderId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName02\"\r\n + \ },\r\n \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-22T02:24:47.9016618+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-22T02:24:47.9016618+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": \"TestOrderItemName02\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName02\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/orderItems\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3356' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Feb 2022 02:25:09 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"orderItemDetails\": + {\r\n \"productDetails\": {\r\n \"displayInfo\": {\r\n + \ \"productFamilyDisplayName\": \"Azure Stack Edge\",\r\n \"configurationDisplayName\": + \"Azure Stack Edge Pro - 1 GPU\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n \"productLineName\": + \"azurestackedge\",\r\n \"productName\": \"azurestackedgegpu\",\r\n + \ \"configurationName\": \"edgep_base\"\r\n },\r\n + \ \"count\": 0,\r\n \"productDoubleEncryptionStatus\": + \"Disabled\"\r\n },\r\n \"orderItemType\": \"Purchase\",\r\n + \ \"currentStage\": {\r\n \"stageStatus\": \"Succeeded\",\r\n + \ \"stageName\": \"Placed\",\r\n \"startTime\": \"2022-02-22T02:24:34.2281432+00:00\"\r\n + \ },\r\n \"orderItemStageHistory\": [\r\n {\r\n + \ \"stageStatus\": \"Succeeded\",\r\n \"stageName\": + \"Placed\",\r\n \"startTime\": \"2022-02-22T02:24:34.2281432+00:00\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"Confirmed\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"ReadyToShip\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"Shipped\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"Delivered\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"InUse\"\r\n }\r\n ],\r\n + \ \"preferences\": {\r\n \"transportPreferences\": {\r\n + \ \"preferredShipmentType\": \"MicrosoftManaged\"\r\n }\r\n + \ },\r\n \"notificationEmailList\": [],\r\n \"cancellationStatus\": + \"Cancellable\",\r\n \"deletionStatus\": \"NotAllowed\",\r\n \"returnStatus\": + \"NotReturnable\",\r\n \"managementRpDetailsList\": [\r\n {\r\n + \ \"resourceProviderNamespace\": \"Microsoft.DataBoxEdge\"\r\n + \ }\r\n ]\r\n },\r\n \"addressDetails\": + {\r\n \"forwardAddress\": {\r\n \"shippingAddress\": {\r\n + \ \"streetAddress1\": \"16 TOWNSEND ST\",\r\n \"streetAddress2\": + \"UNIT 1\",\r\n \"city\": \"San Francisco\",\r\n \"stateOrProvince\": + \"CA\",\r\n \"country\": \"US\",\r\n \"postalCode\": + \"94107\",\r\n \"companyName\": \"Microsoft\",\r\n \"addressType\": + \"None\"\r\n },\r\n \"contactDetails\": {\r\n \"contactName\": + \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n \"phoneExtension\": + \"\",\r\n \"emailList\": [\r\n \"testemail@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": + \"Valid\"\r\n }\r\n },\r\n \"startTime\": \"2022-02-22T02:24:19.4261804+00:00\",\r\n + \ \"orderId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01\"\r\n + \ },\r\n \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-22T02:24:18.4890986+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-22T02:24:18.4890986+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": + \"TestOrderItemName01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/orderItems\"\r\n },\r\n {\r\n + \ \"properties\": {\r\n \"orderItemDetails\": {\r\n \"productDetails\": + {\r\n \"displayInfo\": {\r\n \"productFamilyDisplayName\": + \"Azure Stack Edge\",\r\n \"configurationDisplayName\": \"Azure + Stack Edge Pro - 1 GPU\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n \"productLineName\": + \"azurestackedge\",\r\n \"productName\": \"azurestackedgegpu\",\r\n + \ \"configurationName\": \"edgep_base\"\r\n },\r\n + \ \"count\": 0,\r\n \"productDoubleEncryptionStatus\": + \"Disabled\"\r\n },\r\n \"orderItemType\": \"Purchase\",\r\n + \ \"currentStage\": {\r\n \"stageStatus\": \"Succeeded\",\r\n + \ \"stageName\": \"Placed\",\r\n \"startTime\": \"2022-02-22T02:25:04.4305617+00:00\"\r\n + \ },\r\n \"orderItemStageHistory\": [\r\n {\r\n + \ \"stageStatus\": \"Succeeded\",\r\n \"stageName\": + \"Placed\",\r\n \"startTime\": \"2022-02-22T02:25:04.4305617+00:00\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"Confirmed\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"ReadyToShip\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"Shipped\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"Delivered\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"InUse\"\r\n }\r\n ],\r\n + \ \"preferences\": {\r\n \"transportPreferences\": {\r\n + \ \"preferredShipmentType\": \"MicrosoftManaged\"\r\n }\r\n + \ },\r\n \"notificationEmailList\": [],\r\n \"cancellationStatus\": + \"Cancellable\",\r\n \"deletionStatus\": \"NotAllowed\",\r\n \"returnStatus\": + \"NotReturnable\",\r\n \"managementRpDetailsList\": [\r\n {\r\n + \ \"resourceProviderNamespace\": \"Microsoft.DataBoxEdge\"\r\n + \ }\r\n ]\r\n },\r\n \"addressDetails\": + {\r\n \"forwardAddress\": {\r\n \"shippingAddress\": {\r\n + \ \"streetAddress1\": \"16 TOWNSEND ST\",\r\n \"streetAddress2\": + \"UNIT 1\",\r\n \"city\": \"San Francisco\",\r\n \"stateOrProvince\": + \"CA\",\r\n \"country\": \"US\",\r\n \"postalCode\": + \"94107\",\r\n \"companyName\": \"Microsoft\",\r\n \"addressType\": + \"None\"\r\n },\r\n \"contactDetails\": {\r\n \"contactName\": + \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n \"phoneExtension\": + \"\",\r\n \"emailList\": [\r\n \"testemail@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": + \"Valid\"\r\n }\r\n },\r\n \"startTime\": \"2022-02-22T02:24:48.916538+00:00\",\r\n + \ \"orderId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName02\"\r\n + \ },\r\n \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-22T02:24:47.9016618+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-22T02:24:47.9016618+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": + \"TestOrderItemName02\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName02\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/orderItems\"\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '7581' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Feb 2022 02:25:11 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01 + response: + body: + string: '{"value":[{"properties":{"orderItemIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01"],"currentStage":{"stageStatus":"Succeeded","stageName":"Placed","startTime":"2022-02-22T02:24:38.1063274+00:00"},"orderStageHistory":[{"stageStatus":"Succeeded","stageName":"Placed","startTime":"2022-02-22T02:24:38.1063274+00:00"},{"stageStatus":"None","stageName":"InReview"}]},"name":"TestOrderItemName01","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01","type":"Microsoft.EdgeOrder/orders"},{"properties":{"orderItemIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName02"],"currentStage":{"stageStatus":"Succeeded","stageName":"Placed","startTime":"2022-02-22T02:25:05.7682876+00:00"},"orderStageHistory":[{"stageStatus":"Succeeded","stageName":"Placed","startTime":"2022-02-22T02:25:05.7682876+00:00"},{"stageStatus":"None","stageName":"InReview"}]},"name":"TestOrderItemName02","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName02","type":"Microsoft.EdgeOrder/orders"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1423' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Feb 2022 02:25:14 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: + - edgeorder order show + Connection: + - keep-alive + ParameterSetName: + - -g --name --location + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01?api-version=2021-12-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"orderItemIds\": [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01\"\r\n + \ ],\r\n \"currentStage\": {\r\n \"stageStatus\": \"Succeeded\",\r\n + \ \"stageName\": \"Placed\",\r\n \"startTime\": \"2022-02-22T02:24:38.1063274+00:00\"\r\n + \ },\r\n \"orderStageHistory\": [\r\n {\r\n \"stageStatus\": + \"Succeeded\",\r\n \"stageName\": \"Placed\",\r\n \"startTime\": + \"2022-02-22T02:24:38.1063274+00:00\"\r\n },\r\n {\r\n \"stageStatus\": + \"None\",\r\n \"stageName\": \"InReview\"\r\n }\r\n ]\r\n },\r\n + \ \"name\": \"TestOrderItemName01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/orders\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '892' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Feb 2022 02:25:16 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"reason": "Order cancelled"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item cancel + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - -n -g --reason + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName02/cancel?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 22 Feb 2022 02:25:18 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' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName02?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:25:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:25:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:25:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:25:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:26:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:26:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:26:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:26:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:26:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:26:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:27:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:27:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:27:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:27:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:27:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:27:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:28:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:28:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:28:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:28:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:28:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:29:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:29:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:29:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:29:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:29:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:29:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:30:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:30:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:30:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:30:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:30:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:30:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:31:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:31:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:31:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:31:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:31:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/1457674360938937358-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 22 Feb 2022 02:32:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"orderItemDetails\": + {\r\n \"productDetails\": {\r\n \"displayInfo\": {\r\n + \ \"productFamilyDisplayName\": \"Azure Stack Edge\",\r\n \"configurationDisplayName\": + \"Azure Stack Edge Pro - 1 GPU\"\r\n },\r\n \"hierarchyInformation\": + {\r\n \"productFamilyName\": \"azurestackedge\",\r\n \"productLineName\": + \"azurestackedge\",\r\n \"productName\": \"azurestackedgegpu\",\r\n + \ \"configurationName\": \"edgep_base\"\r\n },\r\n + \ \"count\": 0,\r\n \"productDoubleEncryptionStatus\": + \"Disabled\"\r\n },\r\n \"orderItemType\": \"Purchase\",\r\n + \ \"currentStage\": {\r\n \"stageStatus\": \"Succeeded\",\r\n + \ \"stageName\": \"Placed\",\r\n \"startTime\": \"2022-02-22T02:24:34.2281432+00:00\"\r\n + \ },\r\n \"orderItemStageHistory\": [\r\n {\r\n + \ \"stageStatus\": \"Succeeded\",\r\n \"stageName\": + \"Placed\",\r\n \"startTime\": \"2022-02-22T02:24:34.2281432+00:00\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"Confirmed\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"ReadyToShip\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"Shipped\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"Delivered\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"InUse\"\r\n }\r\n ],\r\n + \ \"preferences\": {\r\n \"transportPreferences\": {\r\n + \ \"preferredShipmentType\": \"MicrosoftManaged\"\r\n }\r\n + \ },\r\n \"notificationEmailList\": [],\r\n \"cancellationStatus\": + \"Cancellable\",\r\n \"deletionStatus\": \"NotAllowed\",\r\n \"returnStatus\": + \"NotReturnable\",\r\n \"managementRpDetailsList\": [\r\n {\r\n + \ \"resourceProviderNamespace\": \"Microsoft.DataBoxEdge\"\r\n + \ }\r\n ]\r\n },\r\n \"addressDetails\": + {\r\n \"forwardAddress\": {\r\n \"shippingAddress\": {\r\n + \ \"streetAddress1\": \"16 TOWNSEND ST\",\r\n \"streetAddress2\": + \"UNIT 1\",\r\n \"city\": \"San Francisco\",\r\n \"stateOrProvince\": + \"CA\",\r\n \"country\": \"US\",\r\n \"postalCode\": + \"94107\",\r\n \"companyName\": \"Microsoft\",\r\n \"addressType\": + \"None\"\r\n },\r\n \"contactDetails\": {\r\n \"contactName\": + \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n \"phoneExtension\": + \"\",\r\n \"emailList\": [\r\n \"testemail@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": + \"Valid\"\r\n }\r\n },\r\n \"startTime\": \"2022-02-22T02:24:19.4261804+00:00\",\r\n + \ \"orderId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01\"\r\n + \ },\r\n \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-22T02:24:18.4890986+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-22T02:24:18.4890986+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": + \"TestOrderItemName01\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/orderItems\"\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3802' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Feb 2022 02:32:02 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"preferences": {"transportPreferences": {"preferredShipmentType": + "CustomerManaged"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item update + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/json + ParameterSetName: + - -n -g --transport-preferences + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:32:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/e45c2814-fbaa-4b33-af0b-dcd8f45fbc04?api-version=2021-12-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' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item update + Connection: + - keep-alive + ParameterSetName: + - -n -g --transport-preferences + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/e45c2814-fbaa-4b33-af0b-dcd8f45fbc04?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:32:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-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: + - edgeorder order-item update + Connection: + - keep-alive + ParameterSetName: + - -n -g --transport-preferences + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"orderItemDetails\": {\r\n \"productDetails\": + {\r\n \"displayInfo\": {\r\n \"productFamilyDisplayName\": + \"Azure Stack Edge\",\r\n \"configurationDisplayName\": \"Azure Stack + Edge Pro - 1 GPU\"\r\n },\r\n \"hierarchyInformation\": {\r\n + \ \"productFamilyName\": \"azurestackedge\",\r\n \"productLineName\": + \"azurestackedge\",\r\n \"productName\": \"azurestackedgegpu\",\r\n + \ \"configurationName\": \"edgep_base\"\r\n },\r\n \"count\": + 0,\r\n \"productDoubleEncryptionStatus\": \"Disabled\"\r\n },\r\n + \ \"orderItemType\": \"Purchase\",\r\n \"currentStage\": {\r\n \"stageStatus\": + \"Succeeded\",\r\n \"stageName\": \"Placed\",\r\n \"startTime\": + \"2022-02-22T02:24:34.2281432+00:00\"\r\n },\r\n \"orderItemStageHistory\": + [\r\n {\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageName\": + \"Placed\",\r\n \"startTime\": \"2022-02-22T02:24:34.2281432+00:00\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n \"stageName\": + \"Confirmed\"\r\n },\r\n {\r\n \"stageStatus\": \"None\",\r\n + \ \"stageName\": \"ReadyToShip\"\r\n },\r\n {\r\n \"stageStatus\": + \"None\",\r\n \"stageName\": \"Shipped\"\r\n },\r\n {\r\n + \ \"stageStatus\": \"None\",\r\n \"stageName\": \"Delivered\"\r\n + \ },\r\n {\r\n \"stageStatus\": \"None\",\r\n \"stageName\": + \"InUse\"\r\n }\r\n ],\r\n \"preferences\": {\r\n \"transportPreferences\": + {\r\n \"preferredShipmentType\": \"CustomerManaged\"\r\n }\r\n + \ },\r\n \"notificationEmailList\": [],\r\n \"cancellationStatus\": + \"Cancellable\",\r\n \"deletionStatus\": \"NotAllowed\",\r\n \"returnStatus\": + \"NotReturnable\",\r\n \"managementRpDetailsList\": [\r\n {\r\n + \ \"resourceProviderNamespace\": \"Microsoft.DataBoxEdge\"\r\n }\r\n + \ ]\r\n },\r\n \"addressDetails\": {\r\n \"forwardAddress\": + {\r\n \"shippingAddress\": {\r\n \"streetAddress1\": \"16 + TOWNSEND ST\",\r\n \"streetAddress2\": \"UNIT 1\",\r\n \"city\": + \"San Francisco\",\r\n \"stateOrProvince\": \"CA\",\r\n \"country\": + \"US\",\r\n \"postalCode\": \"94107\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"contactDetails\": + {\r\n \"contactName\": \"Petr Cech\",\r\n \"phone\": \"1234567890\",\r\n + \ \"phoneExtension\": \"\",\r\n \"emailList\": [\r\n \"testemail@microsoft.com\"\r\n + \ ]\r\n },\r\n \"addressValidationStatus\": \"Valid\"\r\n + \ }\r\n },\r\n \"startTime\": \"2022-02-22T02:24:19.4261804+00:00\",\r\n + \ \"orderId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName01\"\r\n + \ },\r\n \"systemData\": {\r\n \"createdBy\": \"ethanyang@microsoft.com\",\r\n + \ \"createdByType\": \"User\",\r\n \"createdAt\": \"2022-02-22T02:24:18.4890986+00:00\",\r\n + \ \"lastModifiedBy\": \"ethanyang@microsoft.com\",\r\n \"lastModifiedByType\": + \"User\",\r\n \"lastModifiedAt\": \"2022-02-22T02:32:03.8263708+00:00\"\r\n + \ },\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"name\": \"TestOrderItemName01\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01\",\r\n + \ \"type\": \"Microsoft.EdgeOrder/orderItems\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '3356' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Feb 2022 02:32:25 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"reason": "Order cancelled"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item cancel + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - -n -g --reason + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01/cancel?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 22 Feb 2022 02:32:27 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' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - edgeorder order-item delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_edgeorder_000001/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:32:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:32:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:32:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:33:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:33:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:33:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:33:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:33:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:33:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:34:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:34:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:34:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:34:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:34:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:34:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:35:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:35:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:35:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:35:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:35:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:35:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:36:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:36:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:36:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 22 Feb 2022 02:36:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-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: + - edgeorder order-item delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-edgeorder/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.EdgeOrder/locations/eastus/operationResults/4729465173220691060-deleteresource?api-version=2021-12-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Tue, 22 Feb 2022 02:36:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 204 + message: No Content +version: 1 diff --git a/src/edgeorder/azext_edgeorder/tests/latest/test_edgeorder_commands.py b/src/edgeorder/azext_edgeorder/tests/latest/test_edgeorder_commands.py new file mode 100644 index 00000000000..d599c1f687a --- /dev/null +++ b/src/edgeorder/azext_edgeorder/tests/latest/test_edgeorder_commands.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=line-too-long +# pylint: disable=too-many-lines + +import json + +from azure.cli.testsdk import ( + ResourceGroupPreparer, + ScenarioTest +) + + +class EdgeOrderClientTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix="cli_test_edgeorder_", location="eastus") + def test_edgeorder_address_crud(self): + self.kwargs.update({ + "name": "Petr Cech", + "email": "testemail@microsoft.com", + "phone": "1234567890", + "city": "San Francisco", + "company": "Microsoft", + "country": "US", + "code": "94107", + "state": "CA", + "address1": "16 TOWNSEND ST", + "address2": "UNIT 1" + }) + self.cmd( + "edgeorder address create -n TestAddressName -g {rg} " + "--contact-details contact-name='{name}' email-list={email} phone={phone} phone-extension='' " + "--shipping-address address-type='None' city='{city}' company-name={company} country={country} postal-code={code} state-or-province={state} street-address1='{address1}' street-address2='{address2}'", + checks=[ + self.check("name", "TestAddressName"), + self.check("type", "Microsoft.EdgeOrder/addresses") + ] + ) + self.cmd( + "edgeorder address show -n TestAddressName -g {rg}", + checks=[ + self.check("name", "TestAddressName"), + self.check("type", "Microsoft.EdgeOrder/addresses") + ] + ) + self.cmd( + "edgeorder address update -n TestAddressName -g {rg} " + "--contact-details contact-name='{name}' email-list=ssemcr@microsoft.com phone={phone} phone-extension='' " + "--shipping-address address-type='None' city='{city}' company-name={company} country={country} postal-code={code} state-or-province={state} street-address1='{address1}' street-address2='{address2}'" + ) + self.cmd( + "edgeorder address list -g {rg}", + checks=[ + self.check("length(@)", 1), + self.check("@[0].contactDetails.emailList[0]", "ssemcr@microsoft.com") + ] + ) + self.cmd("edgeorder address delete -n TestAddressName -g {rg} --yes") + + @ResourceGroupPreparer(name_prefix="cli_test_edgeorder_", location="eastus") + def test_edgeorder_order_crud(self): + self.kwargs.update({ + "order1": "TestOrderItemName01", + "order2": "TestOrderItemName02", + }) + + # obtain order IDs + self.kwargs["order_id1"] = f"/subscriptions/{self.get_subscription_id()}/resourceGroups/{self.kwargs['rg']}/providers/Microsoft.EdgeOrder/locations/eastus/orders/{self.kwargs['order1']}" + self.kwargs["order_id2"] = f"/subscriptions/{self.get_subscription_id()}/resourceGroups/{self.kwargs['rg']}/providers/Microsoft.EdgeOrder/locations/eastus/orders/{self.kwargs['order2']}" + + resource_props = { + "location": "eastus", + "tags": {}, + "orderItemDetails": { + "orderItemType": "Purchase", + "preferences": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "productDetails": { + "hierarchyInformation": { + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" + } + } + }, + "addressDetails": { + "forwardAddress": { + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "contactDetails": { + "contactName": "Petr Cech", + "phone": "1234567890", + "phoneExtension": "", + "emailList": [ + "testemail@microsoft.com" + ] + } + } + }, + "orderId": self.kwargs["order_id1"] + } + + # obtain resource JSON strings + self.kwargs["resource1"] = json.dumps(resource_props) + resource_props["orderId"] = self.kwargs["order_id2"] + self.kwargs["resource2"] = json.dumps(resource_props) + + # create two order items + self.cmd( + "edgeorder order-item create -n {order1} -g {rg} --order-item-resource '{resource1}'", + checks=[ + self.check("name", self.kwargs["order1"]), + self.check("type", "Microsoft.EdgeOrder/orderItems") + ] + ) + self.cmd("edgeorder order-item create -n {order2} -g {rg} --order-item-resource '{resource2}'") + self.cmd( + "edgeorder order-item list -g {rg}", + checks=[ + self.check("length(@)", 2), + self.check("@[0].name", self.kwargs["order1"]), + self.check("@[1].name", self.kwargs["order2"]) + ] + ) + + self.cmd( + "edgeorder order list -g {rg}", + checks=[ + self.check("length(@)", 2), + self.check("@[0].name", self.kwargs["order1"]), + self.check("@[1].name", self.kwargs["order2"]) + ] + ) + self.cmd( + "edgeorder order show -g {rg} --name {order1} --location eastus", + checks=[ + self.check("name", "{order1}"), + self.check("type", "Microsoft.EdgeOrder/orders") + ] + ) + + # delete one of the order items + self.cmd("edgeorder order-item cancel -n {order2} -g {rg} --reason 'Order cancelled'") + self.cmd("edgeorder order-item delete -n {order2} -g {rg} --yes") + self.cmd( + "edgeorder order-item list -g {rg}", + checks=[ + self.check("length(@)", 1), + self.check("@[0].name", self.kwargs["order1"]) + ] + ) + + self.cmd( + "edgeorder order-item update -n {order1} -g {rg} --transport-preferences preferred-shipment-type='CustomerManaged'", + checks=[ + self.check("name", "{order1}"), + self.check("orderItemDetails.preferences.transportPreferences.preferredShipmentType", "CustomerManaged") + ] + ) + self.cmd("edgeorder order-item cancel -n {order1} -g {rg} --reason 'Order cancelled'") + self.cmd("edgeorder order-item delete -n {order1} -g {rg} --yes") + + @ResourceGroupPreparer(name_prefix="cli_test_edgeorder_", location="eastus") + def test_edgeorder_list(self): + self.kwargs.update({ + "name": "azurestackedgegpu", + "line_name": "azurestackedge", + "family_name": "azurestackedge" + }) + + metadata_list = self.cmd("edgeorder list-metadata").get_output_in_json() + assert isinstance(metadata_list, list) + assert "filterableProperties" in metadata_list[0] + assert "hierarchyInformation" in metadata_list[0] + + # obtain JSON string + filters_props = [{ + "filterableProperty": [{ + "type": "ShipToCountries", + "supportedValues": ["US"] + }], + "hierarchyInformation": { + "productFamilyName": self.kwargs["family_name"], + "productLineName": self.kwargs["line_name"], + "productName": self.kwargs["name"] + } + }] + self.kwargs["filters"] = json.dumps(filters_props) + + config_list = self.cmd("edgeorder list-config --configuration-filters '{filters}'").get_output_in_json() + assert isinstance(config_list, list) + assert "filterableProperties" in config_list[0] + assert "hierarchyInformation" in config_list[0] + + # obtain JSON string + filters_props = { + "type": "ShipToCountries", + "supportedValues": ["US"] + } + self.kwargs["filters"] = json.dumps(filters_props) + + family_list = self.cmd("edgeorder list-family --filterable-properties azurestackedge='{filters}'").get_output_in_json() + assert isinstance(family_list, list) + assert "filterableProperties" in family_list[0] + assert "productLines" in family_list[0] diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/__init__.py b/src/edgeorder/azext_edgeorder/vendored_sdks/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/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/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/__init__.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/__init__.py new file mode 100644 index 00000000000..6a0b62b08a4 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/__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 ._edge_order_management_client import EdgeOrderManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['EdgeOrderManagementClient'] + +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_mgmt_preview_storage/v2020_08_01_preview/_configuration.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_configuration.py similarity index 89% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/_configuration.py rename to src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_configuration.py index 7c33f9ab4f2..f0a779062d5 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/_configuration.py +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_configuration.py @@ -12,16 +12,17 @@ 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 -VERSION = "unknown" -class StorageManagementClientConfiguration(Configuration): - """Configuration for StorageManagementClient. +class EdgeOrderManagementClientConfiguration(Configuration): + """Configuration for EdgeOrderManagementClient. Note that all parameters used to create this instance are saved as instance attributes. @@ -43,13 +44,13 @@ def __init__( raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: raise ValueError("Parameter 'subscription_id' must not be None.") - super(StorageManagementClientConfiguration, self).__init__(**kwargs) + super(EdgeOrderManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2020-08-01-preview" + self.api_version = "2021-12-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-storage/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'mgmt-edgeorder/{}'.format(VERSION)) self._configure(**kwargs) def _configure( diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_edge_order_management_client.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_edge_order_management_client.py new file mode 100644 index 00000000000..6a1a97ebbeb --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_edge_order_management_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 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 EdgeOrderManagementClientConfiguration +from .operations import EdgeOrderManagementClientOperationsMixin +from .operations import AddressesOperations +from .operations import OrderOperations +from .operations import OrderItemsOperations +from . import models + + +class EdgeOrderManagementClient(EdgeOrderManagementClientOperationsMixin): + """Edge Order API's. + + :ivar addresses: AddressesOperations operations + :vartype addresses: azure.mgmt.edgeorder.operations.AddressesOperations + :ivar order: OrderOperations operations + :vartype order: azure.mgmt.edgeorder.operations.OrderOperations + :ivar order_items: OrderItemsOperations operations + :vartype order_items: azure.mgmt.edgeorder.operations.OrderItemsOperations + :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 = EdgeOrderManagementClientConfiguration(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.addresses = AddressesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.order = OrderOperations( + self._client, self._config, self._serialize, self._deserialize) + self.order_items = OrderItemsOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> EdgeOrderManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_version.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_version.py new file mode 100644 index 00000000000..e5754a47ce6 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/_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/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/__init__.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/__init__.py new file mode 100644 index 00000000000..b8c98d8145e --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/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 ._edge_order_management_client import EdgeOrderManagementClient +__all__ = ['EdgeOrderManagementClient'] diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/_configuration.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/_configuration.py new file mode 100644 index 00000000000..4d23b41124c --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/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 EdgeOrderManagementClientConfiguration(Configuration): + """Configuration for EdgeOrderManagementClient. + + 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(EdgeOrderManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-12-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-edgeorder/{}'.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/account/azext_account/vendored_sdks/subscription/aio/_subscription_client_async.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/_edge_order_management_client.py similarity index 62% rename from src/account/azext_account/vendored_sdks/subscription/aio/_subscription_client_async.py rename to src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/_edge_order_management_client.py index 92ce5f10d73..6d2afce99a4 100644 --- a/src/account/azext_account/vendored_sdks/subscription/aio/_subscription_client_async.py +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/_edge_order_management_client.py @@ -15,27 +15,27 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration_async import SubscriptionClientConfiguration -from .operations_async import SubscriptionOperations -from .operations_async import TenantOperations -from .operations_async import OperationOperations -from .operations_async import AliasOperations +from ._configuration import EdgeOrderManagementClientConfiguration +from .operations import EdgeOrderManagementClientOperationsMixin +from .operations import AddressesOperations +from .operations import OrderOperations +from .operations import OrderItemsOperations from .. import models -class SubscriptionClient(object): - """The subscription client. +class EdgeOrderManagementClient(EdgeOrderManagementClientOperationsMixin): + """Edge Order API's. - :ivar subscription: SubscriptionOperations operations - :vartype subscription: subscription_client.aio.operations_async.SubscriptionOperations - :ivar tenant: TenantOperations operations - :vartype tenant: subscription_client.aio.operations_async.TenantOperations - :ivar operation: OperationOperations operations - :vartype operation: subscription_client.aio.operations_async.OperationOperations - :ivar alias: AliasOperations operations - :vartype alias: subscription_client.aio.operations_async.AliasOperations + :ivar addresses: AddressesOperations operations + :vartype addresses: azure.mgmt.edgeorder.aio.operations.AddressesOperations + :ivar order: OrderOperations operations + :vartype order: azure.mgmt.edgeorder.aio.operations.OrderOperations + :ivar order_items: OrderItemsOperations operations + :vartype order_items: azure.mgmt.edgeorder.aio.operations.OrderItemsOperations :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. """ @@ -43,31 +43,31 @@ class SubscriptionClient(object): 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 = SubscriptionClientConfiguration(credential, **kwargs) + self._config = EdgeOrderManagementClientConfiguration(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.subscription = SubscriptionOperations( + self.addresses = AddressesOperations( self._client, self._config, self._serialize, self._deserialize) - self.tenant = TenantOperations( + self.order = OrderOperations( self._client, self._config, self._serialize, self._deserialize) - self.operation = OperationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.alias = AliasOperations( + self.order_items = OrderItemsOperations( self._client, self._config, self._serialize, self._deserialize) async def close(self) -> None: await self._client.close() - async def __aenter__(self) -> "SubscriptionClient": + async def __aenter__(self) -> "EdgeOrderManagementClient": await self._client.__aenter__() return self diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/__init__.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/__init__.py new file mode 100644 index 00000000000..fe832cfec5d --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/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 ._edge_order_management_client_operations import EdgeOrderManagementClientOperationsMixin +from ._addresses_operations import AddressesOperations +from ._order_operations import OrderOperations +from ._order_items_operations import OrderItemsOperations + +__all__ = [ + 'EdgeOrderManagementClientOperationsMixin', + 'AddressesOperations', + 'OrderOperations', + 'OrderItemsOperations', +] diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_addresses_operations.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_addresses_operations.py new file mode 100644 index 00000000000..865a0446193 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_addresses_operations.py @@ -0,0 +1,204 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 AddressesOperations: + """AddressesOperations 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.edgeorder.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, + filter: Optional[str] = None, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.AddressResourceList"]: + """Lists all the addresses available under the subscription. + + :param filter: $filter is supported to filter based on shipping address properties. Filter + supports only equals operation. + :type filter: str + :param skip_token: $skipToken is supported on Get list of addresses, which provides the next + page in the list of addresses. + :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 AddressResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.AddressResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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', 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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, '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('AddressResourceList', 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.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.EdgeOrder/addresses'} # type: ignore + + def list_by_group( + self, + resource_group_name: str, + filter: Optional[str] = None, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.AddressResourceList"]: + """Lists all the addresses available under the given resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param filter: $filter is supported to filter based on shipping address properties. Filter + supports only equals operation. + :type filter: str + :param skip_token: $skipToken is supported on Get list of addresses, which provides the next + page in the list of address. + :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 AddressResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.AddressResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_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), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, '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('AddressResourceList', 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.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_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses'} # type: ignore diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_edge_order_management_client_operations.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_edge_order_management_client_operations.py new file mode 100644 index 00000000000..7654c126434 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_edge_order_management_client_operations.py @@ -0,0 +1,1459 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 EdgeOrderManagementClientOperationsMixin: + + def list_operations( + self, + **kwargs + ) -> AsyncIterable["models.OperationListResult"]: + """This method gets all the operations that are exposed for customer. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_operations.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('OperationListResult', 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.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_operations.metadata = {'url': '/providers/Microsoft.EdgeOrder/operations'} # type: ignore + + def list_product_families( + self, + product_families_request: "models.ProductFamiliesRequest", + expand: Optional[str] = None, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ProductFamilies"]: + """This method provides the list of product families for the given subscription. + + :param product_families_request: Filters for showing the product families. + :type product_families_request: ~azure.mgmt.edgeorder.models.ProductFamiliesRequest + :param expand: $expand is supported on configurations parameter for product, which provides + details on the configurations for the product. + :type expand: str + :param skip_token: $skipToken is supported on list of product families, which provides the next + page in the list of product families. + :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 ProductFamilies or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.ProductFamilies] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProductFamilies"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_product_families.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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(product_families_request, 'ProductFamiliesRequest') + 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(product_families_request, 'ProductFamiliesRequest') + 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('ProductFamilies', 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.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_product_families.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listProductFamilies'} # type: ignore + + def list_configurations( + self, + configurations_request: "models.ConfigurationsRequest", + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.Configurations"]: + """This method provides the list of configurations for the given product family, product line and + product under subscription. + + :param configurations_request: Filters for showing the configurations. + :type configurations_request: ~azure.mgmt.edgeorder.models.ConfigurationsRequest + :param skip_token: $skipToken is supported on list of configurations, which provides the next + page in the list of configurations. + :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 Configurations or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.Configurations] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Configurations"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_configurations.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') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(configurations_request, 'ConfigurationsRequest') + 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(configurations_request, 'ConfigurationsRequest') + 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('Configurations', 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.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_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listConfigurations'} # type: ignore + + def list_product_families_metadata( + self, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.ProductFamiliesMetadata"]: + """This method provides the list of product families metadata for the given subscription. + + :param skip_token: $skipToken is supported on list of product families metadata, which provides + the next page in the list of product families metadata. + :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 ProductFamiliesMetadata or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.ProductFamiliesMetadata] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProductFamiliesMetadata"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_product_families_metadata.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') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, '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('ProductFamiliesMetadata', 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.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_product_families_metadata.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/productFamiliesMetadata'} # type: ignore + + async def get_address_by_name( + self, + address_name: str, + resource_group_name: str, + **kwargs + ) -> "models.AddressResource": + """Gets information about the specified address. + + :param address_name: The name of the address Resource within the specified resource group. + address names must be between 3 and 24 characters in length and use any alphanumeric and + underscore only. + :type address_name: str + :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: AddressResource, or the result of cls(response) + :rtype: ~azure.mgmt.edgeorder.models.AddressResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + accept = "application/json" + + # Construct URL + url = self.get_address_by_name.metadata['url'] # type: ignore + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + url = self._client.format_url(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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_address_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + async def _create_address_initial( + self, + address_name: str, + resource_group_name: str, + address_resource: "models.AddressResource", + **kwargs + ) -> Optional["models.AddressResource"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.AddressResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_address_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + url = self._client.format_url(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(address_resource, 'AddressResource') + 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) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_address_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + async def begin_create_address( + self, + address_name: str, + resource_group_name: str, + address_resource: "models.AddressResource", + **kwargs + ) -> AsyncLROPoller["models.AddressResource"]: + """Creates a new address with the specified parameters. Existing address can be updated with this + API. + + :param address_name: The name of the address Resource within the specified resource group. + address names must be between 3 and 24 characters in length and use any alphanumeric and + underscore only. + :type address_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param address_resource: Address details from request body. + :type address_resource: ~azure.mgmt.edgeorder.models.AddressResource + :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 AddressResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.edgeorder.models.AddressResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResource"] + 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_address_initial( + address_name=address_name, + resource_group_name=resource_group_name, + address_resource=address_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('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + + 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_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + async def _delete_address_by_name_initial( + self, + address_name: str, + resource_group_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-12-01" + accept = "application/json" + + # Construct URL + url = self._delete_address_by_name_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + url = self._client.format_url(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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_address_by_name_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + async def begin_delete_address_by_name( + self, + address_name: str, + resource_group_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an address. + + :param address_name: The name of the address Resource within the specified resource group. + address names must be between 3 and 24 characters in length and use any alphanumeric and + underscore only. + :type address_name: str + :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 + :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_address_by_name_initial( + address_name=address_name, + resource_group_name=resource_group_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 = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + + 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_address_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + async def _update_address_initial( + self, + address_name: str, + resource_group_name: str, + address_update_parameter: "models.AddressUpdateParameter", + if_match: Optional[str] = None, + **kwargs + ) -> Optional["models.AddressResource"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.AddressResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_address_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + url = self._client.format_url(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(address_update_parameter, 'AddressUpdateParameter') + 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_address_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + async def begin_update_address( + self, + address_name: str, + resource_group_name: str, + address_update_parameter: "models.AddressUpdateParameter", + if_match: Optional[str] = None, + **kwargs + ) -> AsyncLROPoller["models.AddressResource"]: + """Updates the properties of an existing address. + + :param address_name: The name of the address Resource within the specified resource group. + address names must be between 3 and 24 characters in length and use any alphanumeric and + underscore only. + :type address_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param address_update_parameter: Address update parameters from request body. + :type address_update_parameter: ~azure.mgmt.edgeorder.models.AddressUpdateParameter + :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 AddressResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.edgeorder.models.AddressResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResource"] + 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_address_initial( + address_name=address_name, + resource_group_name=resource_group_name, + address_update_parameter=address_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('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + + 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_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + async def get_order_by_name( + self, + order_name: str, + resource_group_name: str, + location: str, + **kwargs + ) -> "models.OrderResource": + """Gets an order. + + :param order_name: The name of the order. + :type order_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param location: The name of Azure region. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OrderResource, or the result of cls(response) + :rtype: ~azure.mgmt.edgeorder.models.OrderResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + accept = "application/json" + + # Construct URL + url = self.get_order_by_name.metadata['url'] # type: ignore + path_format_arguments = { + 'orderName': self._serialize.url("order_name", order_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), + 'location': self._serialize.url("location", location, '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') + + # 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OrderResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_order_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/locations/{location}/orders/{orderName}'} # type: ignore + + async def get_order_item_by_name( + self, + order_item_name: str, + resource_group_name: str, + expand: Optional[str] = None, + **kwargs + ) -> "models.OrderItemResource": + """Gets an order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param expand: $expand is supported on device details, forward shipping details and reverse + shipping details parameters. Each of these can be provided as a comma separated list. Device + Details for order item provides details on the devices of the product, Forward and Reverse + Shipping details provide forward and reverse shipping details respectively. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OrderItemResource, or the result of cls(response) + :rtype: ~azure.mgmt.edgeorder.models.OrderItemResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + accept = "application/json" + + # Construct URL + url = self.get_order_item_by_name.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_order_item_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + async def _create_order_item_initial( + self, + order_item_name: str, + resource_group_name: str, + order_item_resource: "models.OrderItemResource", + **kwargs + ) -> Optional["models.OrderItemResource"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OrderItemResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_order_item_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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(order_item_resource, 'OrderItemResource') + 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) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_order_item_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + async def begin_create_order_item( + self, + order_item_name: str, + resource_group_name: str, + order_item_resource: "models.OrderItemResource", + **kwargs + ) -> AsyncLROPoller["models.OrderItemResource"]: + """Creates an order item. Existing order item cannot be updated with this api and should instead + be updated with the Update order item API. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param order_item_resource: Order item details from request body. + :type order_item_resource: ~azure.mgmt.edgeorder.models.OrderItemResource + :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 OrderItemResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.edgeorder.models.OrderItemResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResource"] + 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_order_item_initial( + order_item_name=order_item_name, + resource_group_name=resource_group_name, + order_item_resource=order_item_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('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + + 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_order_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + async def _delete_order_item_by_name_initial( + self, + order_item_name: str, + resource_group_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-12-01" + accept = "application/json" + + # Construct URL + url = self._delete_order_item_by_name_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_order_item_by_name_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + async def begin_delete_order_item_by_name( + self, + order_item_name: str, + resource_group_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :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 + :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_order_item_by_name_initial( + order_item_name=order_item_name, + resource_group_name=resource_group_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 = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + + 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_order_item_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + async def _update_order_item_initial( + self, + order_item_name: str, + resource_group_name: str, + order_item_update_parameter: "models.OrderItemUpdateParameter", + if_match: Optional[str] = None, + **kwargs + ) -> Optional["models.OrderItemResource"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OrderItemResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_order_item_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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(order_item_update_parameter, 'OrderItemUpdateParameter') + 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_order_item_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + async def begin_update_order_item( + self, + order_item_name: str, + resource_group_name: str, + order_item_update_parameter: "models.OrderItemUpdateParameter", + if_match: Optional[str] = None, + **kwargs + ) -> AsyncLROPoller["models.OrderItemResource"]: + """Updates the properties of an existing order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param order_item_update_parameter: order item update parameters from request body. + :type order_item_update_parameter: ~azure.mgmt.edgeorder.models.OrderItemUpdateParameter + :param if_match: Defines the If-Match condition. The patch will be performed only if the ETag + of the order 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 OrderItemResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.edgeorder.models.OrderItemResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResource"] + 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_order_item_initial( + order_item_name=order_item_name, + resource_group_name=resource_group_name, + order_item_update_parameter=order_item_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('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + + 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_order_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + async def cancel_order_item( + self, + order_item_name: str, + resource_group_name: str, + cancellation_reason: "models.CancellationReason", + **kwargs + ) -> None: + """Cancel order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cancellation_reason: Reason for cancellation. + :type cancellation_reason: ~azure.mgmt.edgeorder.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 = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.cancel_order_item.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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 [200, 204]: + 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) + + if cls: + return cls(pipeline_response, None, {}) + + cancel_order_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/cancel'} # type: ignore + + async def _return_order_item_initial( + self, + order_item_name: str, + resource_group_name: str, + return_order_item_details: "models.ReturnOrderItemDetails", + **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-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._return_order_item_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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(return_order_item_details, 'ReturnOrderItemDetails') + 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(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _return_order_item_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/return'} # type: ignore + + async def begin_return_order_item( + self, + order_item_name: str, + resource_group_name: str, + return_order_item_details: "models.ReturnOrderItemDetails", + **kwargs + ) -> AsyncLROPoller[None]: + """Return order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param return_order_item_details: Return order item CurrentStatus. + :type return_order_item_details: ~azure.mgmt.edgeorder.models.ReturnOrderItemDetails + :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._return_order_item_initial( + order_item_name=order_item_name, + resource_group_name=resource_group_name, + return_order_item_details=return_order_item_details, + 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 = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + + 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_return_order_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/return'} # type: ignore diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_order_items_operations.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_order_items_operations.py new file mode 100644 index 00000000000..9ac220eac4b --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_order_items_operations.py @@ -0,0 +1,220 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 OrderItemsOperations: + """OrderItemsOperations 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.edgeorder.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, + filter: Optional[str] = None, + expand: Optional[str] = None, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.OrderItemResourceList"]: + """Lists order item at subscription level. + + :param filter: $filter is supported to filter based on order id. Filter supports only equals + operation. + :type filter: str + :param expand: $expand is supported on device details, forward shipping details and reverse + shipping details parameters. Each of these can be provided as a comma separated list. Device + Details for order item provides details on the devices of the product, Forward and Reverse + Shipping details provide forward and reverse shipping details respectively. + :type expand: str + :param skip_token: $skipToken is supported on Get list of order items, which provides the next + page in the list of order items. + :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 OrderItemResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.OrderItemResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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', 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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, '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('OrderItemResourceList', 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.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.EdgeOrder/orderItems'} # type: ignore + + def list_by_group( + self, + resource_group_name: str, + filter: Optional[str] = None, + expand: Optional[str] = None, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.OrderItemResourceList"]: + """Lists order item at resource group level. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param filter: $filter is supported to filter based on order id. Filter supports only equals + operation. + :type filter: str + :param expand: $expand is supported on device details, forward shipping details and reverse + shipping details parameters. Each of these can be provided as a comma separated list. Device + Details for order item provides details on the devices of the product, Forward and Reverse + Shipping details provide forward and reverse shipping details respectively. + :type expand: str + :param skip_token: $skipToken is supported on Get list of order items, which provides the next + page in the list of order items. + :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 OrderItemResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.OrderItemResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_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), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, '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('OrderItemResourceList', 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.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_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems'} # type: ignore diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_order_operations.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_order_operations.py new file mode 100644 index 00000000000..54f44a7591d --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/aio/operations/_order_operations.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 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 OrderOperations: + """OrderOperations 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.edgeorder.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.OrderResourceList"]: + """Lists order at subscription level. + + :param skip_token: $skipToken is supported on Get list of order, which provides the next page + in the list of order. + :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 OrderResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.OrderResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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', 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') + 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('OrderResourceList', 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.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.EdgeOrder/orders'} # type: ignore + + def list_by_group( + self, + resource_group_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.OrderResourceList"]: + """Lists order at resource group level. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param skip_token: $skipToken is supported on Get list of order, which provides the next page + in the list of order. + :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 OrderResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.edgeorder.models.OrderResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_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), + } + url = self._client.format_url(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('OrderResourceList', 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.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_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders'} # type: ignore diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/__init__.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/__init__.py new file mode 100644 index 00000000000..4ad497e9c13 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/__init__.py @@ -0,0 +1,279 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 AddressDetails + from ._models_py3 import AddressProperties + from ._models_py3 import AddressResource + from ._models_py3 import AddressResourceList + from ._models_py3 import AddressUpdateParameter + from ._models_py3 import AvailabilityInformation + from ._models_py3 import BasicInformation + from ._models_py3 import BillingMeterDetails + from ._models_py3 import CancellationReason + from ._models_py3 import CommonProperties + from ._models_py3 import Configuration + from ._models_py3 import ConfigurationFilters + from ._models_py3 import ConfigurationProperties + from ._models_py3 import Configurations + from ._models_py3 import ConfigurationsRequest + from ._models_py3 import ContactDetails + from ._models_py3 import CostInformation + from ._models_py3 import CustomerSubscriptionDetails + from ._models_py3 import CustomerSubscriptionRegisteredFeatures + from ._models_py3 import Description + from ._models_py3 import DeviceDetails + from ._models_py3 import Dimensions + from ._models_py3 import DisplayInfo + from ._models_py3 import EncryptionPreferences + from ._models_py3 import ErrorAdditionalInfo + from ._models_py3 import ErrorDetail + from ._models_py3 import ErrorResponse + from ._models_py3 import FilterableProperty + from ._models_py3 import ForwardShippingDetails + from ._models_py3 import HierarchyInformation + from ._models_py3 import ImageInformation + from ._models_py3 import Link + from ._models_py3 import ManagementResourcePreferences + from ._models_py3 import MeterDetails + from ._models_py3 import NotificationPreference + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationListResult + from ._models_py3 import OrderItemDetails + from ._models_py3 import OrderItemResource + from ._models_py3 import OrderItemResourceList + from ._models_py3 import OrderItemUpdateParameter + from ._models_py3 import OrderResource + from ._models_py3 import OrderResourceList + from ._models_py3 import Pav2MeterDetails + from ._models_py3 import Preferences + from ._models_py3 import Product + from ._models_py3 import ProductDetails + from ._models_py3 import ProductFamilies + from ._models_py3 import ProductFamiliesMetadata + from ._models_py3 import ProductFamiliesMetadataDetails + from ._models_py3 import ProductFamiliesRequest + from ._models_py3 import ProductFamily + from ._models_py3 import ProductFamilyProperties + from ._models_py3 import ProductLine + from ._models_py3 import ProductLineProperties + from ._models_py3 import ProductProperties + from ._models_py3 import ProxyResource + from ._models_py3 import PurchaseMeterDetails + from ._models_py3 import Resource + from ._models_py3 import ResourceIdentity + from ._models_py3 import ResourceProviderDetails + from ._models_py3 import ReturnOrderItemDetails + from ._models_py3 import ReverseShippingDetails + from ._models_py3 import ShippingAddress + from ._models_py3 import ShippingDetails + from ._models_py3 import Specification + from ._models_py3 import StageDetails + from ._models_py3 import SystemData + from ._models_py3 import TrackedResource + from ._models_py3 import TransportPreferences +except (SyntaxError, ImportError): + from ._models import AddressDetails # type: ignore + from ._models import AddressProperties # type: ignore + from ._models import AddressResource # type: ignore + from ._models import AddressResourceList # type: ignore + from ._models import AddressUpdateParameter # type: ignore + from ._models import AvailabilityInformation # type: ignore + from ._models import BasicInformation # type: ignore + from ._models import BillingMeterDetails # type: ignore + from ._models import CancellationReason # type: ignore + from ._models import CommonProperties # type: ignore + from ._models import Configuration # type: ignore + from ._models import ConfigurationFilters # type: ignore + from ._models import ConfigurationProperties # type: ignore + from ._models import Configurations # type: ignore + from ._models import ConfigurationsRequest # type: ignore + from ._models import ContactDetails # type: ignore + from ._models import CostInformation # type: ignore + from ._models import CustomerSubscriptionDetails # type: ignore + from ._models import CustomerSubscriptionRegisteredFeatures # type: ignore + from ._models import Description # type: ignore + from ._models import DeviceDetails # type: ignore + from ._models import Dimensions # type: ignore + from ._models import DisplayInfo # type: ignore + from ._models import EncryptionPreferences # type: ignore + from ._models import ErrorAdditionalInfo # type: ignore + from ._models import ErrorDetail # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import FilterableProperty # type: ignore + from ._models import ForwardShippingDetails # type: ignore + from ._models import HierarchyInformation # type: ignore + from ._models import ImageInformation # type: ignore + from ._models import Link # type: ignore + from ._models import ManagementResourcePreferences # type: ignore + from ._models import MeterDetails # type: ignore + from ._models import NotificationPreference # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationListResult # type: ignore + from ._models import OrderItemDetails # type: ignore + from ._models import OrderItemResource # type: ignore + from ._models import OrderItemResourceList # type: ignore + from ._models import OrderItemUpdateParameter # type: ignore + from ._models import OrderResource # type: ignore + from ._models import OrderResourceList # type: ignore + from ._models import Pav2MeterDetails # type: ignore + from ._models import Preferences # type: ignore + from ._models import Product # type: ignore + from ._models import ProductDetails # type: ignore + from ._models import ProductFamilies # type: ignore + from ._models import ProductFamiliesMetadata # type: ignore + from ._models import ProductFamiliesMetadataDetails # type: ignore + from ._models import ProductFamiliesRequest # type: ignore + from ._models import ProductFamily # type: ignore + from ._models import ProductFamilyProperties # type: ignore + from ._models import ProductLine # type: ignore + from ._models import ProductLineProperties # type: ignore + from ._models import ProductProperties # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import PurchaseMeterDetails # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceIdentity # type: ignore + from ._models import ResourceProviderDetails # type: ignore + from ._models import ReturnOrderItemDetails # type: ignore + from ._models import ReverseShippingDetails # type: ignore + from ._models import ShippingAddress # type: ignore + from ._models import ShippingDetails # type: ignore + from ._models import Specification # type: ignore + from ._models import StageDetails # type: ignore + from ._models import SystemData # type: ignore + from ._models import TrackedResource # type: ignore + from ._models import TransportPreferences # type: ignore + +from ._edge_order_management_client_enums import ( + ActionStatusEnum, + ActionType, + AddressType, + AddressValidationStatus, + AvailabilityStage, + BillingType, + ChargingType, + CreatedByType, + DescriptionType, + DisabledReason, + DoubleEncryptionStatus, + ImageType, + LengthHeightUnit, + LinkType, + MeteringType, + NotificationStageName, + OrderItemCancellationEnum, + OrderItemReturnEnum, + OrderItemType, + Origin, + StageName, + StageStatus, + SupportedFilterTypes, + TransportShipmentTypes, + WeightMeasurementUnit, +) + +__all__ = [ + 'AddressDetails', + 'AddressProperties', + 'AddressResource', + 'AddressResourceList', + 'AddressUpdateParameter', + 'AvailabilityInformation', + 'BasicInformation', + 'BillingMeterDetails', + 'CancellationReason', + 'CommonProperties', + 'Configuration', + 'ConfigurationFilters', + 'ConfigurationProperties', + 'Configurations', + 'ConfigurationsRequest', + 'ContactDetails', + 'CostInformation', + 'CustomerSubscriptionDetails', + 'CustomerSubscriptionRegisteredFeatures', + 'Description', + 'DeviceDetails', + 'Dimensions', + 'DisplayInfo', + 'EncryptionPreferences', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'FilterableProperty', + 'ForwardShippingDetails', + 'HierarchyInformation', + 'ImageInformation', + 'Link', + 'ManagementResourcePreferences', + 'MeterDetails', + 'NotificationPreference', + 'Operation', + 'OperationDisplay', + 'OperationListResult', + 'OrderItemDetails', + 'OrderItemResource', + 'OrderItemResourceList', + 'OrderItemUpdateParameter', + 'OrderResource', + 'OrderResourceList', + 'Pav2MeterDetails', + 'Preferences', + 'Product', + 'ProductDetails', + 'ProductFamilies', + 'ProductFamiliesMetadata', + 'ProductFamiliesMetadataDetails', + 'ProductFamiliesRequest', + 'ProductFamily', + 'ProductFamilyProperties', + 'ProductLine', + 'ProductLineProperties', + 'ProductProperties', + 'ProxyResource', + 'PurchaseMeterDetails', + 'Resource', + 'ResourceIdentity', + 'ResourceProviderDetails', + 'ReturnOrderItemDetails', + 'ReverseShippingDetails', + 'ShippingAddress', + 'ShippingDetails', + 'Specification', + 'StageDetails', + 'SystemData', + 'TrackedResource', + 'TransportPreferences', + 'ActionStatusEnum', + 'ActionType', + 'AddressType', + 'AddressValidationStatus', + 'AvailabilityStage', + 'BillingType', + 'ChargingType', + 'CreatedByType', + 'DescriptionType', + 'DisabledReason', + 'DoubleEncryptionStatus', + 'ImageType', + 'LengthHeightUnit', + 'LinkType', + 'MeteringType', + 'NotificationStageName', + 'OrderItemCancellationEnum', + 'OrderItemReturnEnum', + 'OrderItemType', + 'Origin', + 'StageName', + 'StageStatus', + 'SupportedFilterTypes', + 'TransportShipmentTypes', + 'WeightMeasurementUnit', +] diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_edge_order_management_client_enums.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_edge_order_management_client_enums.py new file mode 100644 index 00000000000..574bce0d7bb --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_edge_order_management_client_enums.py @@ -0,0 +1,239 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ActionStatusEnum(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Describes whether the order item is deletable or not. + """ + + ALLOWED = "Allowed" #: Allowed flag. + NOT_ALLOWED = "NotAllowed" #: Not Allowed flag. + +class ActionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. + """ + + INTERNAL = "Internal" + +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)): + """Status of address validation + """ + + 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 AvailabilityStage(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Current availability stage of the product. Availability stage + """ + + AVAILABLE = "Available" #: Product is available. + COMING_SOON = "ComingSoon" #: Product is coming soon. + PREVIEW = "Preview" #: Product is in preview. + DEPRECATED = "Deprecated" #: Product is deprecated. + SIGNUP = "Signup" #: Product is available only on signup. + UNAVAILABLE = "Unavailable" #: Product is not available. + +class BillingType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Represents billing type. + """ + + PAV2 = "Pav2" #: PaV2 billing. + PURCHASE = "Purchase" #: Purchase billing. + +class ChargingType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Charging type. + """ + + PER_ORDER = "PerOrder" #: Per order charging type. + PER_DEVICE = "PerDevice" #: Per device charging type. + +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 DescriptionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of description. + """ + + BASE = "Base" #: Base description. + +class DisabledReason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Reason why the product is disabled. + """ + + NONE = "None" #: Not disabled. + COUNTRY = "Country" #: Not available in the requested country. + REGION = "Region" #: Not available to push data to the requested Azure region. + FEATURE = "Feature" #: Required features are not enabled. + OFFER_TYPE = "OfferType" #: Subscription does not have required offer types. + NO_SUBSCRIPTION_INFO = "NoSubscriptionInfo" #: Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification. + NOT_AVAILABLE = "NotAvailable" #: The product is not yet available. + OUT_OF_STOCK = "OutOfStock" #: The product is out of stock. + +class DoubleEncryptionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Double encryption status as entered by the customer. It is compulsory to give this parameter if + the 'Deny' or 'Disabled' policy is configured. + """ + + DISABLED = "Disabled" #: Double encryption is disabled. + ENABLED = "Enabled" #: Double encryption is enabled. + +class ImageType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the image + """ + + MAIN_IMAGE = "MainImage" #: Main image. + BULLET_IMAGE = "BulletImage" #: Bullet image. + GENERIC_IMAGE = "GenericImage" #: Generic image. + +class LengthHeightUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Unit for the dimensions of length, height and width. + """ + + IN_ENUM = "IN" #: Inch, applicable for West US. + CM = "CM" #: Centimeter. + +class LinkType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of link + """ + + GENERIC = "Generic" #: Generic link. + TERMS_AND_CONDITIONS = "TermsAndConditions" #: Terms and conditions link. + SPECIFICATION = "Specification" #: Link to product specification. + DOCUMENTATION = "Documentation" #: Link to product documentation. + KNOW_MORE = "KnowMore" #: Link to know more. + SIGN_UP = "SignUp" #: Link to sign up for products. + +class MeteringType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Represents Metering type (eg one-time or recurrent) + """ + + ONE_TIME = "OneTime" #: One time billing. + RECURRING = "Recurring" #: Recurring billing. + ADHOC = "Adhoc" #: Adhoc billing. + +class NotificationStageName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Name of the stage. + """ + + SHIPPED = "Shipped" #: Notification at order item shipped from microsoft datacenter. + DELIVERED = "Delivered" #: Notification at order item delivered to customer. + +class OrderItemCancellationEnum(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Describes whether the order item is cancellable or not. + """ + + CANCELLABLE = "Cancellable" #: Order item can be cancelled without fee. + CANCELLABLE_WITH_FEE = "CancellableWithFee" #: Order item can be cancelled with fee. + NOT_CANCELLABLE = "NotCancellable" #: Order item not cancellable. + +class OrderItemReturnEnum(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Describes whether the order item is returnable or not. + """ + + RETURNABLE = "Returnable" #: Order item can be returned without fee. + RETURNABLE_WITH_FEE = "ReturnableWithFee" #: Order item can be returned with fee. + NOT_RETURNABLE = "NotReturnable" #: Order item not returnable. + +class OrderItemType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Order item type. + """ + + PURCHASE = "Purchase" #: Purchase OrderItem. + RENTAL = "Rental" #: Rental OrderItem. + +class Origin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit + logs UX. Default value is "user,system" + """ + + USER = "user" + SYSTEM = "system" + USER_SYSTEM = "user,system" + +class StageName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Stage name + """ + + PLACED = "Placed" #: Currently in draft mode and can still be cancelled. + IN_REVIEW = "InReview" #: Order is currently in draft mode and can still be cancelled. + CONFIRMED = "Confirmed" #: Order is confirmed. + READY_TO_SHIP = "ReadyToShip" #: Order is ready to ship. + SHIPPED = "Shipped" #: Order is in transit to customer. + DELIVERED = "Delivered" #: Order is delivered to customer. + IN_USE = "InUse" #: Order is in use at customer site. + RETURN_INITIATED = "ReturnInitiated" #: Return has been initiated by customer. + RETURN_PICKED_UP = "ReturnPickedUp" #: Order is in transit from customer to microsoft. + RETURNED_TO_MICROSOFT = "ReturnedToMicrosoft" #: Order has been received back to microsoft. + RETURN_COMPLETED = "ReturnCompleted" #: Return has now completed. + CANCELLED = "Cancelled" #: Order has been cancelled. + +class StageStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Stage status. + """ + + 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. + +class SupportedFilterTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of product filter. + """ + + SHIP_TO_COUNTRIES = "ShipToCountries" #: Ship to country. + DOUBLE_ENCRYPTION_STATUS = "DoubleEncryptionStatus" #: Double encryption status. + +class TransportShipmentTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates Shipment Logistics type that the customer preferred. + """ + + CUSTOMER_MANAGED = "CustomerManaged" #: Shipment Logistics is handled by the customer. + MICROSOFT_MANAGED = "MicrosoftManaged" #: Shipment Logistics is handled by Microsoft. + +class WeightMeasurementUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Unit for the dimensions of weight. + """ + + LBS = "LBS" #: Pounds. + KGS = "KGS" #: Kilograms. diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_models.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_models.py new file mode 100644 index 00000000000..eefb192aa3b --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_models.py @@ -0,0 +1,2909 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 AddressDetails(msrest.serialization.Model): + """Address details for an order 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 forward_address: Required. Customer address and contact details. It should be address + resource. + :type forward_address: ~azure.mgmt.edgeorder.models.AddressProperties + :ivar return_address: Return shipping address. + :vartype return_address: ~azure.mgmt.edgeorder.models.AddressProperties + """ + + _validation = { + 'forward_address': {'required': True}, + 'return_address': {'readonly': True}, + } + + _attribute_map = { + 'forward_address': {'key': 'forwardAddress', 'type': 'AddressProperties'}, + 'return_address': {'key': 'returnAddress', 'type': 'AddressProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(AddressDetails, self).__init__(**kwargs) + self.forward_address = kwargs['forward_address'] + self.return_address = None + + +class AddressProperties(msrest.serialization.Model): + """Address Properties. + + 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 shipping_address: Shipping details for the address. + :type shipping_address: ~azure.mgmt.edgeorder.models.ShippingAddress + :param contact_details: Required. Contact details for the address. + :type contact_details: ~azure.mgmt.edgeorder.models.ContactDetails + :ivar address_validation_status: Status of address validation. Possible values include: + "Valid", "Invalid", "Ambiguous". + :vartype address_validation_status: str or ~azure.mgmt.edgeorder.models.AddressValidationStatus + """ + + _validation = { + 'contact_details': {'required': True}, + 'address_validation_status': {'readonly': True}, + } + + _attribute_map = { + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'address_validation_status': {'key': 'addressValidationStatus', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AddressProperties, self).__init__(**kwargs) + self.shipping_address = kwargs.get('shipping_address', None) + self.contact_details = kwargs['contact_details'] + self.address_validation_status = 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 TrackedResource(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. + + 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: 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 AddressResource(TrackedResource): + """Address 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: 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: Represents resource creation and update time. + :vartype system_data: ~azure.mgmt.edgeorder.models.SystemData + :param shipping_address: Shipping details for the address. + :type shipping_address: ~azure.mgmt.edgeorder.models.ShippingAddress + :param contact_details: Required. Contact details for the address. + :type contact_details: ~azure.mgmt.edgeorder.models.ContactDetails + :ivar address_validation_status: Status of address validation. Possible values include: + "Valid", "Invalid", "Ambiguous". + :vartype address_validation_status: str or ~azure.mgmt.edgeorder.models.AddressValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'contact_details': {'required': True}, + 'address_validation_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'shipping_address': {'key': 'properties.shippingAddress', 'type': 'ShippingAddress'}, + 'contact_details': {'key': 'properties.contactDetails', 'type': 'ContactDetails'}, + 'address_validation_status': {'key': 'properties.addressValidationStatus', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AddressResource, self).__init__(**kwargs) + self.system_data = None + self.shipping_address = kwargs.get('shipping_address', None) + self.contact_details = kwargs['contact_details'] + self.address_validation_status = None + + +class AddressResourceList(msrest.serialization.Model): + """Address Resource Collection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of address resources. + :vartype value: list[~azure.mgmt.edgeorder.models.AddressResource] + :param next_link: Link for the next set of job resources. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AddressResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AddressResourceList, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class AddressUpdateParameter(msrest.serialization.Model): + """The Address update parameters. + + :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 shipping_address: Shipping details for the address. + :type shipping_address: ~azure.mgmt.edgeorder.models.ShippingAddress + :param contact_details: Contact details for the address. + :type contact_details: ~azure.mgmt.edgeorder.models.ContactDetails + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'shipping_address': {'key': 'properties.shippingAddress', 'type': 'ShippingAddress'}, + 'contact_details': {'key': 'properties.contactDetails', 'type': 'ContactDetails'}, + } + + def __init__( + self, + **kwargs + ): + super(AddressUpdateParameter, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.shipping_address = kwargs.get('shipping_address', None) + self.contact_details = kwargs.get('contact_details', None) + + +class AvailabilityInformation(msrest.serialization.Model): + """Availability information of a product system. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar availability_stage: Current availability stage of the product. Availability stage. + Possible values include: "Available", "ComingSoon", "Preview", "Deprecated", "Signup", + "Unavailable". + :vartype availability_stage: str or ~azure.mgmt.edgeorder.models.AvailabilityStage + :ivar disabled_reason: Reason why the product is disabled. Possible values include: "None", + "Country", "Region", "Feature", "OfferType", "NoSubscriptionInfo", "NotAvailable", + "OutOfStock". + :vartype disabled_reason: str or ~azure.mgmt.edgeorder.models.DisabledReason + :ivar disabled_reason_message: Message for why the product is disabled. + :vartype disabled_reason_message: str + """ + + _validation = { + 'availability_stage': {'readonly': True}, + 'disabled_reason': {'readonly': True}, + 'disabled_reason_message': {'readonly': True}, + } + + _attribute_map = { + 'availability_stage': {'key': 'availabilityStage', 'type': 'str'}, + 'disabled_reason': {'key': 'disabledReason', 'type': 'str'}, + 'disabled_reason_message': {'key': 'disabledReasonMessage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailabilityInformation, self).__init__(**kwargs) + self.availability_stage = None + self.disabled_reason = None + self.disabled_reason_message = None + + +class BasicInformation(msrest.serialization.Model): + """Basic information for any product system. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + } + + def __init__( + self, + **kwargs + ): + super(BasicInformation, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + + +class BillingMeterDetails(msrest.serialization.Model): + """Holds billing meter details for each type of billing. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Represents Billing type name. + :vartype name: str + :ivar meter_details: Represents MeterDetails. + :vartype meter_details: ~azure.mgmt.edgeorder.models.MeterDetails + :ivar metering_type: Represents Metering type (eg one-time or recurrent). Possible values + include: "OneTime", "Recurring", "Adhoc". + :vartype metering_type: str or ~azure.mgmt.edgeorder.models.MeteringType + :ivar frequency: Frequency of recurrence. + :vartype frequency: str + """ + + _validation = { + 'name': {'readonly': True}, + 'meter_details': {'readonly': True}, + 'metering_type': {'readonly': True}, + 'frequency': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'meter_details': {'key': 'meterDetails', 'type': 'MeterDetails'}, + 'metering_type': {'key': 'meteringType', 'type': 'str'}, + 'frequency': {'key': 'frequency', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BillingMeterDetails, self).__init__(**kwargs) + self.name = None + self.meter_details = None + self.metering_type = None + self.frequency = None + + +class CancellationReason(msrest.serialization.Model): + """Reason for cancellation. + + All required parameters must be populated in order to send to Azure. + + :param reason: Required. Reason for cancellation. + :type reason: str + """ + + _validation = { + 'reason': {'required': True}, + } + + _attribute_map = { + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CancellationReason, self).__init__(**kwargs) + self.reason = kwargs['reason'] + + +class CommonProperties(BasicInformation): + """Represents common properties across product hierarchy. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + } + + def __init__( + self, + **kwargs + ): + super(CommonProperties, self).__init__(**kwargs) + self.filterable_properties = None + + +class Configuration(msrest.serialization.Model): + """Configuration object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar specifications: Specifications of the configuration. + :vartype specifications: list[~azure.mgmt.edgeorder.models.Specification] + :ivar dimensions: Dimensions of the configuration. + :vartype dimensions: ~azure.mgmt.edgeorder.models.Dimensions + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'specifications': {'readonly': True}, + 'dimensions': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'specifications': {'key': 'properties.specifications', 'type': '[Specification]'}, + 'dimensions': {'key': 'properties.dimensions', 'type': 'Dimensions'}, + } + + def __init__( + self, + **kwargs + ): + super(Configuration, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.specifications = None + self.dimensions = None + + +class ConfigurationFilters(msrest.serialization.Model): + """Configuration filters. + + All required parameters must be populated in order to send to Azure. + + :param hierarchy_information: Required. Product hierarchy information. + :type hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :param filterable_property: Filters specific to product. + :type filterable_property: list[~azure.mgmt.edgeorder.models.FilterableProperty] + """ + + _validation = { + 'hierarchy_information': {'required': True}, + } + + _attribute_map = { + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_property': {'key': 'filterableProperty', 'type': '[FilterableProperty]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationFilters, self).__init__(**kwargs) + self.hierarchy_information = kwargs['hierarchy_information'] + self.filterable_property = kwargs.get('filterable_property', None) + + +class ConfigurationProperties(CommonProperties): + """Properties of configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar specifications: Specifications of the configuration. + :vartype specifications: list[~azure.mgmt.edgeorder.models.Specification] + :ivar dimensions: Dimensions of the configuration. + :vartype dimensions: ~azure.mgmt.edgeorder.models.Dimensions + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'specifications': {'readonly': True}, + 'dimensions': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + 'specifications': {'key': 'specifications', 'type': '[Specification]'}, + 'dimensions': {'key': 'dimensions', 'type': 'Dimensions'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationProperties, self).__init__(**kwargs) + self.specifications = None + self.dimensions = None + + +class Configurations(msrest.serialization.Model): + """The list of configurations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of configurations. + :vartype value: list[~azure.mgmt.edgeorder.models.Configuration] + :param next_link: Link for the next set of configurations. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Configuration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Configurations, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class ConfigurationsRequest(msrest.serialization.Model): + """Configuration request object. + + All required parameters must be populated in order to send to Azure. + + :param configuration_filters: Required. Holds details about product hierarchy information and + filterable property. + :type configuration_filters: list[~azure.mgmt.edgeorder.models.ConfigurationFilters] + :param customer_subscription_details: Customer subscription properties. Clients can display + available products to unregistered customers by explicitly passing subscription details. + :type customer_subscription_details: ~azure.mgmt.edgeorder.models.CustomerSubscriptionDetails + """ + + _validation = { + 'configuration_filters': {'required': True, 'unique': True}, + } + + _attribute_map = { + 'configuration_filters': {'key': 'configurationFilters', 'type': '[ConfigurationFilters]'}, + 'customer_subscription_details': {'key': 'customerSubscriptionDetails', 'type': 'CustomerSubscriptionDetails'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationsRequest, self).__init__(**kwargs) + self.configuration_filters = kwargs['configuration_filters'] + self.customer_subscription_details = kwargs.get('customer_subscription_details', None) + + +class ContactDetails(msrest.serialization.Model): + """Contact Details. + + All required parameters must be populated in order to send to Azure. + + :param contact_name: Required. Contact name of the person. + :type contact_name: str + :param phone: Required. Phone number of the contact person. + :type phone: str + :param phone_extension: Phone extension number of the contact person. + :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. + :type email_list: list[str] + """ + + _validation = { + 'contact_name': {'required': True}, + 'phone': {'required': True}, + 'email_list': {'required': True}, + } + + _attribute_map = { + 'contact_name': {'key': 'contactName', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + 'phone_extension': {'key': 'phoneExtension', 'type': 'str'}, + 'mobile': {'key': 'mobile', 'type': 'str'}, + 'email_list': {'key': 'emailList', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ContactDetails, self).__init__(**kwargs) + 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['email_list'] + + +class CostInformation(msrest.serialization.Model): + """Cost information for the product system. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar billing_meter_details: Details on the various billing aspects for the product system. + :vartype billing_meter_details: list[~azure.mgmt.edgeorder.models.BillingMeterDetails] + :ivar billing_info_url: Default url to display billing information. + :vartype billing_info_url: str + """ + + _validation = { + 'billing_meter_details': {'readonly': True}, + 'billing_info_url': {'readonly': True}, + } + + _attribute_map = { + 'billing_meter_details': {'key': 'billingMeterDetails', 'type': '[BillingMeterDetails]'}, + 'billing_info_url': {'key': 'billingInfoUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CostInformation, self).__init__(**kwargs) + self.billing_meter_details = None + self.billing_info_url = None + + +class CustomerSubscriptionDetails(msrest.serialization.Model): + """Holds Customer subscription details. Clients can display available products to unregistered customers by explicitly passing subscription details. + + All required parameters must be populated in order to send to Azure. + + :param registered_features: List of registered feature flags for subscription. + :type registered_features: + list[~azure.mgmt.edgeorder.models.CustomerSubscriptionRegisteredFeatures] + :param location_placement_id: Location placement Id of a subscription. + :type location_placement_id: str + :param quota_id: Required. Quota ID of a subscription. + :type quota_id: str + """ + + _validation = { + 'quota_id': {'required': True}, + } + + _attribute_map = { + 'registered_features': {'key': 'registeredFeatures', 'type': '[CustomerSubscriptionRegisteredFeatures]'}, + 'location_placement_id': {'key': 'locationPlacementId', 'type': 'str'}, + 'quota_id': {'key': 'quotaId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomerSubscriptionDetails, self).__init__(**kwargs) + self.registered_features = kwargs.get('registered_features', None) + self.location_placement_id = kwargs.get('location_placement_id', None) + self.quota_id = kwargs['quota_id'] + + +class CustomerSubscriptionRegisteredFeatures(msrest.serialization.Model): + """Represents subscription registered features. + + :param name: Name of subscription registered feature. + :type name: str + :param state: State of subscription registered feature. + :type state: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomerSubscriptionRegisteredFeatures, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.state = kwargs.get('state', None) + + +class Description(msrest.serialization.Model): + """Description related properties of a product system. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar description_type: Type of description. Possible values include: "Base". + :vartype description_type: str or ~azure.mgmt.edgeorder.models.DescriptionType + :ivar short_description: Short description of the product system. + :vartype short_description: str + :ivar long_description: Long description of the product system. + :vartype long_description: str + :ivar keywords: Keywords for the product system. + :vartype keywords: list[str] + :ivar attributes: Attributes for the product system. + :vartype attributes: list[str] + :ivar links: Links for the product system. + :vartype links: list[~azure.mgmt.edgeorder.models.Link] + """ + + _validation = { + 'description_type': {'readonly': True}, + 'short_description': {'readonly': True}, + 'long_description': {'readonly': True}, + 'keywords': {'readonly': True}, + 'attributes': {'readonly': True}, + 'links': {'readonly': True}, + } + + _attribute_map = { + 'description_type': {'key': 'descriptionType', 'type': 'str'}, + 'short_description': {'key': 'shortDescription', 'type': 'str'}, + 'long_description': {'key': 'longDescription', 'type': 'str'}, + 'keywords': {'key': 'keywords', 'type': '[str]'}, + 'attributes': {'key': 'attributes', 'type': '[str]'}, + 'links': {'key': 'links', 'type': '[Link]'}, + } + + def __init__( + self, + **kwargs + ): + super(Description, self).__init__(**kwargs) + self.description_type = None + self.short_description = None + self.long_description = None + self.keywords = None + self.attributes = None + self.links = None + + +class DeviceDetails(msrest.serialization.Model): + """Device details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar serial_number: device serial number. + :vartype serial_number: str + :ivar management_resource_id: Management Resource Id. + :vartype management_resource_id: str + :ivar management_resource_tenant_id: Management Resource Tenant ID. + :vartype management_resource_tenant_id: str + """ + + _validation = { + 'serial_number': {'readonly': True}, + 'management_resource_id': {'readonly': True}, + 'management_resource_tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'serial_number': {'key': 'serialNumber', 'type': 'str'}, + 'management_resource_id': {'key': 'managementResourceId', 'type': 'str'}, + 'management_resource_tenant_id': {'key': 'managementResourceTenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceDetails, self).__init__(**kwargs) + self.serial_number = None + self.management_resource_id = None + self.management_resource_tenant_id = None + + +class Dimensions(msrest.serialization.Model): + """Dimensions of a configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar length: Length of the device. + :vartype length: float + :ivar height: Height of the device. + :vartype height: float + :ivar width: Width of the device. + :vartype width: float + :ivar length_height_unit: Unit for the dimensions of length, height and width. Possible values + include: "IN", "CM". + :vartype length_height_unit: str or ~azure.mgmt.edgeorder.models.LengthHeightUnit + :ivar weight: Weight of the device. + :vartype weight: float + :ivar depth: Depth of the device. + :vartype depth: float + :ivar weight_unit: Unit for the dimensions of weight. Possible values include: "LBS", "KGS". + :vartype weight_unit: str or ~azure.mgmt.edgeorder.models.WeightMeasurementUnit + """ + + _validation = { + 'length': {'readonly': True}, + 'height': {'readonly': True}, + 'width': {'readonly': True}, + 'length_height_unit': {'readonly': True}, + 'weight': {'readonly': True}, + 'depth': {'readonly': True}, + 'weight_unit': {'readonly': True}, + } + + _attribute_map = { + 'length': {'key': 'length', 'type': 'float'}, + 'height': {'key': 'height', 'type': 'float'}, + 'width': {'key': 'width', 'type': 'float'}, + 'length_height_unit': {'key': 'lengthHeightUnit', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'float'}, + 'depth': {'key': 'depth', 'type': 'float'}, + 'weight_unit': {'key': 'weightUnit', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Dimensions, self).__init__(**kwargs) + self.length = None + self.height = None + self.width = None + self.length_height_unit = None + self.weight = None + self.depth = None + self.weight_unit = None + + +class DisplayInfo(msrest.serialization.Model): + """Describes product display information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar product_family_display_name: Product family display name. + :vartype product_family_display_name: str + :ivar configuration_display_name: Configuration display name. + :vartype configuration_display_name: str + """ + + _validation = { + 'product_family_display_name': {'readonly': True}, + 'configuration_display_name': {'readonly': True}, + } + + _attribute_map = { + 'product_family_display_name': {'key': 'productFamilyDisplayName', 'type': 'str'}, + 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DisplayInfo, self).__init__(**kwargs) + self.product_family_display_name = None + self.configuration_display_name = None + + +class EncryptionPreferences(msrest.serialization.Model): + """Preferences related to the double encryption. + + :param double_encryption_status: Double encryption status as entered by the customer. It is + compulsory to give this parameter if the 'Deny' or 'Disabled' policy is configured. Possible + values include: "Disabled", "Enabled". + :type double_encryption_status: str or ~azure.mgmt.edgeorder.models.DoubleEncryptionStatus + """ + + _attribute_map = { + 'double_encryption_status': {'key': 'doubleEncryptionStatus', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EncryptionPreferences, self).__init__(**kwargs) + self.double_encryption_status = kwargs.get('double_encryption_status', 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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~azure.mgmt.edgeorder.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.mgmt.edgeorder.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :param error: The error object. + :type error: ~azure.mgmt.edgeorder.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class FilterableProperty(msrest.serialization.Model): + """Different types of filters supported and its values. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of product filter. Possible values include: "ShipToCountries", + "DoubleEncryptionStatus". + :type type: str or ~azure.mgmt.edgeorder.models.SupportedFilterTypes + :param supported_values: Required. Values to be filtered. + :type supported_values: list[str] + """ + + _validation = { + 'type': {'required': True}, + 'supported_values': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'supported_values': {'key': 'supportedValues', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(FilterableProperty, self).__init__(**kwargs) + self.type = kwargs['type'] + self.supported_values = kwargs['supported_values'] + + +class ForwardShippingDetails(msrest.serialization.Model): + """Forward shipment details. + + 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 + :ivar carrier_display_name: Carrier Name for display purpose. Not to be used for any + processing. + :vartype carrier_display_name: str + :ivar tracking_id: TrackingId of the package. + :vartype tracking_id: str + :ivar tracking_url: TrackingUrl of the package. + :vartype tracking_url: str + """ + + _validation = { + 'carrier_name': {'readonly': True}, + 'carrier_display_name': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'tracking_url': {'readonly': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'carrier_display_name': {'key': 'carrierDisplayName', 'type': 'str'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ForwardShippingDetails, self).__init__(**kwargs) + self.carrier_name = None + self.carrier_display_name = None + self.tracking_id = None + self.tracking_url = None + + +class HierarchyInformation(msrest.serialization.Model): + """Holds details about product hierarchy information. + + :param product_family_name: Represents product family name that uniquely identifies product + family. + :type product_family_name: str + :param product_line_name: Represents product line name that uniquely identifies product line. + :type product_line_name: str + :param product_name: Represents product name that uniquely identifies product. + :type product_name: str + :param configuration_name: Represents configuration name that uniquely identifies + configuration. + :type configuration_name: str + """ + + _attribute_map = { + 'product_family_name': {'key': 'productFamilyName', 'type': 'str'}, + 'product_line_name': {'key': 'productLineName', 'type': 'str'}, + 'product_name': {'key': 'productName', 'type': 'str'}, + 'configuration_name': {'key': 'configurationName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(HierarchyInformation, self).__init__(**kwargs) + self.product_family_name = kwargs.get('product_family_name', None) + self.product_line_name = kwargs.get('product_line_name', None) + self.product_name = kwargs.get('product_name', None) + self.configuration_name = kwargs.get('configuration_name', None) + + +class ImageInformation(msrest.serialization.Model): + """Image for the product. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar image_type: Type of the image. Possible values include: "MainImage", "BulletImage", + "GenericImage". + :vartype image_type: str or ~azure.mgmt.edgeorder.models.ImageType + :ivar image_url: Url of the image. + :vartype image_url: str + """ + + _validation = { + 'image_type': {'readonly': True}, + 'image_url': {'readonly': True}, + } + + _attribute_map = { + 'image_type': {'key': 'imageType', 'type': 'str'}, + 'image_url': {'key': 'imageUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ImageInformation, self).__init__(**kwargs) + self.image_type = None + self.image_url = None + + +class Link(msrest.serialization.Model): + """Returns link related to the product. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar link_type: Type of link. Possible values include: "Generic", "TermsAndConditions", + "Specification", "Documentation", "KnowMore", "SignUp". + :vartype link_type: str or ~azure.mgmt.edgeorder.models.LinkType + :ivar link_url: Url of the link. + :vartype link_url: str + """ + + _validation = { + 'link_type': {'readonly': True}, + 'link_url': {'readonly': True}, + } + + _attribute_map = { + 'link_type': {'key': 'linkType', 'type': 'str'}, + 'link_url': {'key': 'linkUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Link, self).__init__(**kwargs) + self.link_type = None + self.link_url = None + + +class ManagementResourcePreferences(msrest.serialization.Model): + """Management resource preference to link device. + + :param preferred_management_resource_id: Customer preferred Management resource ARM ID. + :type preferred_management_resource_id: str + """ + + _attribute_map = { + 'preferred_management_resource_id': {'key': 'preferredManagementResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagementResourcePreferences, self).__init__(**kwargs) + self.preferred_management_resource_id = kwargs.get('preferred_management_resource_id', None) + + +class MeterDetails(msrest.serialization.Model): + """Holds details about billing type and its meter guids. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: Pav2MeterDetails, PurchaseMeterDetails. + + 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 billing_type: Required. Represents billing type.Constant filled by server. Possible + values include: "Pav2", "Purchase". + :type billing_type: str or ~azure.mgmt.edgeorder.models.BillingType + :ivar multiplier: Billing unit applicable for Pav2 billing. + :vartype multiplier: float + :ivar charging_type: Charging type. Possible values include: "PerOrder", "PerDevice". + :vartype charging_type: str or ~azure.mgmt.edgeorder.models.ChargingType + """ + + _validation = { + 'billing_type': {'required': True}, + 'multiplier': {'readonly': True}, + 'charging_type': {'readonly': True}, + } + + _attribute_map = { + 'billing_type': {'key': 'billingType', 'type': 'str'}, + 'multiplier': {'key': 'multiplier', 'type': 'float'}, + 'charging_type': {'key': 'chargingType', 'type': 'str'}, + } + + _subtype_map = { + 'billing_type': {'Pav2': 'Pav2MeterDetails', 'Purchase': 'PurchaseMeterDetails'} + } + + def __init__( + self, + **kwargs + ): + super(MeterDetails, self).__init__(**kwargs) + self.billing_type = None # type: Optional[str] + self.multiplier = None + self.charging_type = None + + +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: "Shipped", + "Delivered". + :type stage_name: str or ~azure.mgmt.edgeorder.models.NotificationStageName + :param send_notification: Required. Notification is required or not. + :type send_notification: bool + """ + + _validation = { + 'stage_name': {'required': True}, + 'send_notification': {'required': True}, + } + + _attribute_map = { + 'stage_name': {'key': 'stageName', 'type': 'str'}, + 'send_notification': {'key': 'sendNotification', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(NotificationPreference, self).__init__(**kwargs) + self.stage_name = kwargs['stage_name'] + self.send_notification = kwargs['send_notification'] + + +class Operation(msrest.serialization.Model): + """Details of a REST API operation, returned from the Resource Provider Operations API. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the operation, as per Resource-Based Access Control (RBAC). Examples: + "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action". + :vartype name: str + :ivar is_data_action: Whether the operation applies to data-plane. This is "true" for data- + plane operations and "false" for ARM/control-plane operations. + :vartype is_data_action: bool + :param display: Localized display information for this particular operation. + :type display: ~azure.mgmt.edgeorder.models.OperationDisplay + :ivar origin: The intended executor of the operation; as in Resource Based Access Control + (RBAC) and audit logs UX. Default value is "user,system". Possible values include: "user", + "system", "user,system". + :vartype origin: str or ~azure.mgmt.edgeorder.models.Origin + :ivar action_type: Enum. Indicates the action type. "Internal" refers to actions that are for + internal only APIs. Possible values include: "Internal". + :vartype action_type: str or ~azure.mgmt.edgeorder.models.ActionType + """ + + _validation = { + 'name': {'readonly': True}, + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + 'action_type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = None + self.is_data_action = None + self.display = kwargs.get('display', None) + self.origin = None + self.action_type = None + + +class OperationDisplay(msrest.serialization.Model): + """Localized display information for this particular operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provider: The localized friendly form of the resource provider name, e.g. "Microsoft + Monitoring Insights" or "Microsoft Compute". + :vartype provider: str + :ivar resource: The localized friendly name of the resource type related to this operation. + E.g. "Virtual Machines" or "Job Schedule Collections". + :vartype resource: str + :ivar operation: The concise, localized friendly name for the operation; suitable for + dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". + :vartype operation: str + :ivar description: The short, localized friendly description of the operation; suitable for + tool tips and detailed views. + :vartype description: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + self.description = None + + +class OperationListResult(msrest.serialization.Model): + """A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by the resource provider. + :vartype value: list[~azure.mgmt.edgeorder.models.Operation] + :ivar next_link: URL to get the next set of operation list results (if there are any). + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OrderItemDetails(msrest.serialization.Model): + """Order item details. + + 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 product_details: Required. Unique identifier for configuration. + :type product_details: ~azure.mgmt.edgeorder.models.ProductDetails + :param order_item_type: Required. Order item type. Possible values include: "Purchase", + "Rental". + :type order_item_type: str or ~azure.mgmt.edgeorder.models.OrderItemType + :ivar current_stage: Current Order item Status. + :vartype current_stage: ~azure.mgmt.edgeorder.models.StageDetails + :ivar order_item_stage_history: Order item status history. + :vartype order_item_stage_history: list[~azure.mgmt.edgeorder.models.StageDetails] + :param preferences: Customer notification Preferences. + :type preferences: ~azure.mgmt.edgeorder.models.Preferences + :ivar forward_shipping_details: Forward Package Shipping details. + :vartype forward_shipping_details: ~azure.mgmt.edgeorder.models.ForwardShippingDetails + :ivar reverse_shipping_details: Reverse Package Shipping details. + :vartype reverse_shipping_details: ~azure.mgmt.edgeorder.models.ReverseShippingDetails + :param notification_email_list: Additional notification email list. + :type notification_email_list: list[str] + :ivar cancellation_reason: Cancellation reason. + :vartype cancellation_reason: str + :ivar cancellation_status: Describes whether the order item is cancellable or not. Possible + values include: "Cancellable", "CancellableWithFee", "NotCancellable". + :vartype cancellation_status: str or ~azure.mgmt.edgeorder.models.OrderItemCancellationEnum + :ivar deletion_status: Describes whether the order item is deletable or not. Possible values + include: "Allowed", "NotAllowed". + :vartype deletion_status: str or ~azure.mgmt.edgeorder.models.ActionStatusEnum + :ivar return_reason: Return reason. + :vartype return_reason: str + :ivar return_status: Describes whether the order item is returnable or not. Possible values + include: "Returnable", "ReturnableWithFee", "NotReturnable". + :vartype return_status: str or ~azure.mgmt.edgeorder.models.OrderItemReturnEnum + :ivar management_rp_details: Parent RP details - this returns only the first or default parent + RP from the entire list. + :vartype management_rp_details: ~azure.mgmt.edgeorder.models.ResourceProviderDetails + :ivar management_rp_details_list: List of parent RP details supported for configuration. + :vartype management_rp_details_list: list[~azure.mgmt.edgeorder.models.ResourceProviderDetails] + :ivar error: Top level error for the job. + :vartype error: ~azure.mgmt.edgeorder.models.ErrorDetail + """ + + _validation = { + 'product_details': {'required': True}, + 'order_item_type': {'required': True}, + 'current_stage': {'readonly': True}, + 'order_item_stage_history': {'readonly': True}, + 'forward_shipping_details': {'readonly': True}, + 'reverse_shipping_details': {'readonly': True}, + 'cancellation_reason': {'readonly': True}, + 'cancellation_status': {'readonly': True}, + 'deletion_status': {'readonly': True}, + 'return_reason': {'readonly': True}, + 'return_status': {'readonly': True}, + 'management_rp_details': {'readonly': True}, + 'management_rp_details_list': {'readonly': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'product_details': {'key': 'productDetails', 'type': 'ProductDetails'}, + 'order_item_type': {'key': 'orderItemType', 'type': 'str'}, + 'current_stage': {'key': 'currentStage', 'type': 'StageDetails'}, + 'order_item_stage_history': {'key': 'orderItemStageHistory', 'type': '[StageDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'forward_shipping_details': {'key': 'forwardShippingDetails', 'type': 'ForwardShippingDetails'}, + 'reverse_shipping_details': {'key': 'reverseShippingDetails', 'type': 'ReverseShippingDetails'}, + 'notification_email_list': {'key': 'notificationEmailList', 'type': '[str]'}, + 'cancellation_reason': {'key': 'cancellationReason', 'type': 'str'}, + 'cancellation_status': {'key': 'cancellationStatus', 'type': 'str'}, + 'deletion_status': {'key': 'deletionStatus', 'type': 'str'}, + 'return_reason': {'key': 'returnReason', 'type': 'str'}, + 'return_status': {'key': 'returnStatus', 'type': 'str'}, + 'management_rp_details': {'key': 'managementRpDetails', 'type': 'ResourceProviderDetails'}, + 'management_rp_details_list': {'key': 'managementRpDetailsList', 'type': '[ResourceProviderDetails]'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + **kwargs + ): + super(OrderItemDetails, self).__init__(**kwargs) + self.product_details = kwargs['product_details'] + self.order_item_type = kwargs['order_item_type'] + self.current_stage = None + self.order_item_stage_history = None + self.preferences = kwargs.get('preferences', None) + self.forward_shipping_details = None + self.reverse_shipping_details = None + self.notification_email_list = kwargs.get('notification_email_list', None) + self.cancellation_reason = None + self.cancellation_status = None + self.deletion_status = None + self.return_reason = None + self.return_status = None + self.management_rp_details = None + self.management_rp_details_list = None + self.error = None + + +class OrderItemResource(TrackedResource): + """Represents order item contract. + + 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: 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: Represents resource creation and update time. + :vartype system_data: ~azure.mgmt.edgeorder.models.SystemData + :param order_item_details: Required. Represents order item details. + :type order_item_details: ~azure.mgmt.edgeorder.models.OrderItemDetails + :param address_details: Required. Represents shipping and return address for order item. + :type address_details: ~azure.mgmt.edgeorder.models.AddressDetails + :ivar start_time: Start time of order item. + :vartype start_time: ~datetime.datetime + :param order_id: Required. Id of the order to which order item belongs to. + :type order_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'order_item_details': {'required': True}, + 'address_details': {'required': True}, + 'start_time': {'readonly': True}, + 'order_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': 'SystemData'}, + 'order_item_details': {'key': 'properties.orderItemDetails', 'type': 'OrderItemDetails'}, + 'address_details': {'key': 'properties.addressDetails', 'type': 'AddressDetails'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'order_id': {'key': 'properties.orderId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OrderItemResource, self).__init__(**kwargs) + self.system_data = None + self.order_item_details = kwargs['order_item_details'] + self.address_details = kwargs['address_details'] + self.start_time = None + self.order_id = kwargs['order_id'] + + +class OrderItemResourceList(msrest.serialization.Model): + """List of orderItems. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of order item resources. + :vartype value: list[~azure.mgmt.edgeorder.models.OrderItemResource] + :param next_link: Link for the next set of order item resources. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OrderItemResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OrderItemResourceList, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class OrderItemUpdateParameter(msrest.serialization.Model): + """Updates order item parameters. + + :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 forward_address: Updates forward shipping address and contact details. + :type forward_address: ~azure.mgmt.edgeorder.models.AddressProperties + :param preferences: Customer preference. + :type preferences: ~azure.mgmt.edgeorder.models.Preferences + :param notification_email_list: Additional notification email list. + :type notification_email_list: list[str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'forward_address': {'key': 'properties.forwardAddress', 'type': 'AddressProperties'}, + 'preferences': {'key': 'properties.preferences', 'type': 'Preferences'}, + 'notification_email_list': {'key': 'properties.notificationEmailList', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(OrderItemUpdateParameter, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.forward_address = kwargs.get('forward_address', None) + self.preferences = kwargs.get('preferences', None) + self.notification_email_list = kwargs.get('notification_email_list', None) + + +class OrderResource(Resource): + """Specifies the properties or parameters for an order. Order is a grouping of one or more order items. + + 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: Represents resource creation and update time. + :vartype system_data: ~azure.mgmt.edgeorder.models.SystemData + :ivar order_item_ids: List of order item ARM Ids which are part of an order. + :vartype order_item_ids: list[str] + :ivar current_stage: Order current status. + :vartype current_stage: ~azure.mgmt.edgeorder.models.StageDetails + :ivar order_stage_history: Order status history. + :vartype order_stage_history: list[~azure.mgmt.edgeorder.models.StageDetails] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'order_item_ids': {'readonly': True}, + 'current_stage': {'readonly': True}, + 'order_stage_history': {'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'}, + 'order_item_ids': {'key': 'properties.orderItemIds', 'type': '[str]'}, + 'current_stage': {'key': 'properties.currentStage', 'type': 'StageDetails'}, + 'order_stage_history': {'key': 'properties.orderStageHistory', 'type': '[StageDetails]'}, + } + + def __init__( + self, + **kwargs + ): + super(OrderResource, self).__init__(**kwargs) + self.system_data = None + self.order_item_ids = None + self.current_stage = None + self.order_stage_history = None + + +class OrderResourceList(msrest.serialization.Model): + """List of orders. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of order resources. + :vartype value: list[~azure.mgmt.edgeorder.models.OrderResource] + :param next_link: Link for the next set of order resources. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OrderResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OrderResourceList, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class Pav2MeterDetails(MeterDetails): + """Billing type PAV2 meter details. + + 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 billing_type: Required. Represents billing type.Constant filled by server. Possible + values include: "Pav2", "Purchase". + :type billing_type: str or ~azure.mgmt.edgeorder.models.BillingType + :ivar multiplier: Billing unit applicable for Pav2 billing. + :vartype multiplier: float + :ivar charging_type: Charging type. Possible values include: "PerOrder", "PerDevice". + :vartype charging_type: str or ~azure.mgmt.edgeorder.models.ChargingType + :ivar meter_guid: Validation status of requested data center and transport. + :vartype meter_guid: str + """ + + _validation = { + 'billing_type': {'required': True}, + 'multiplier': {'readonly': True}, + 'charging_type': {'readonly': True}, + 'meter_guid': {'readonly': True}, + } + + _attribute_map = { + 'billing_type': {'key': 'billingType', 'type': 'str'}, + 'multiplier': {'key': 'multiplier', 'type': 'float'}, + 'charging_type': {'key': 'chargingType', 'type': 'str'}, + 'meter_guid': {'key': 'meterGuid', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Pav2MeterDetails, self).__init__(**kwargs) + self.billing_type = 'Pav2' # type: str + self.meter_guid = None + + +class Preferences(msrest.serialization.Model): + """Preferences related to the order. + + :param notification_preferences: Notification preferences. + :type notification_preferences: list[~azure.mgmt.edgeorder.models.NotificationPreference] + :param transport_preferences: Preferences related to the shipment logistics of the order. + :type transport_preferences: ~azure.mgmt.edgeorder.models.TransportPreferences + :param encryption_preferences: Preferences related to the Encryption. + :type encryption_preferences: ~azure.mgmt.edgeorder.models.EncryptionPreferences + :param management_resource_preferences: Preferences related to the Management resource. + :type management_resource_preferences: + ~azure.mgmt.edgeorder.models.ManagementResourcePreferences + """ + + _attribute_map = { + 'notification_preferences': {'key': 'notificationPreferences', 'type': '[NotificationPreference]'}, + 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, + 'encryption_preferences': {'key': 'encryptionPreferences', 'type': 'EncryptionPreferences'}, + 'management_resource_preferences': {'key': 'managementResourcePreferences', 'type': 'ManagementResourcePreferences'}, + } + + def __init__( + self, + **kwargs + ): + super(Preferences, self).__init__(**kwargs) + self.notification_preferences = kwargs.get('notification_preferences', None) + self.transport_preferences = kwargs.get('transport_preferences', None) + self.encryption_preferences = kwargs.get('encryption_preferences', None) + self.management_resource_preferences = kwargs.get('management_resource_preferences', None) + + +class Product(msrest.serialization.Model): + """List of Products. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar configurations: List of configurations for the product. + :vartype configurations: list[~azure.mgmt.edgeorder.models.Configuration] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'configurations': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'configurations': {'key': 'properties.configurations', 'type': '[Configuration]'}, + } + + def __init__( + self, + **kwargs + ): + super(Product, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.configurations = None + + +class ProductDetails(msrest.serialization.Model): + """Represents product details. + + 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 display_info: Display details of the product. + :type display_info: ~azure.mgmt.edgeorder.models.DisplayInfo + :param hierarchy_information: Required. Hierarchy of the product which uniquely identifies the + product. + :type hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar count: Quantity of the product. + :vartype count: int + :ivar product_double_encryption_status: Double encryption status of the configuration. Read- + only field. Possible values include: "Disabled", "Enabled". + :vartype product_double_encryption_status: str or + ~azure.mgmt.edgeorder.models.DoubleEncryptionStatus + :ivar device_details: list of device details. + :vartype device_details: list[~azure.mgmt.edgeorder.models.DeviceDetails] + """ + + _validation = { + 'hierarchy_information': {'required': True}, + 'count': {'readonly': True}, + 'product_double_encryption_status': {'readonly': True}, + 'device_details': {'readonly': True}, + } + + _attribute_map = { + 'display_info': {'key': 'displayInfo', 'type': 'DisplayInfo'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'count': {'key': 'count', 'type': 'int'}, + 'product_double_encryption_status': {'key': 'productDoubleEncryptionStatus', 'type': 'str'}, + 'device_details': {'key': 'deviceDetails', 'type': '[DeviceDetails]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductDetails, self).__init__(**kwargs) + self.display_info = kwargs.get('display_info', None) + self.hierarchy_information = kwargs['hierarchy_information'] + self.count = None + self.product_double_encryption_status = None + self.device_details = None + + +class ProductFamilies(msrest.serialization.Model): + """The list of product families. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of product families. + :vartype value: list[~azure.mgmt.edgeorder.models.ProductFamily] + :param next_link: Link for the next set of product families. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProductFamily]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductFamilies, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class ProductFamiliesMetadata(msrest.serialization.Model): + """Holds details about product family metadata. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of product family metadata details. + :vartype value: list[~azure.mgmt.edgeorder.models.ProductFamiliesMetadataDetails] + :ivar next_link: Link for the next set of product families. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProductFamiliesMetadataDetails]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductFamiliesMetadata, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ProductFamiliesMetadataDetails(msrest.serialization.Model): + """Product families metadata details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar product_lines: List of product lines supported in the product family. + :vartype product_lines: list[~azure.mgmt.edgeorder.models.ProductLine] + :param resource_provider_details: Contains details related to resource provider. + :type resource_provider_details: list[~azure.mgmt.edgeorder.models.ResourceProviderDetails] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'product_lines': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'product_lines': {'key': 'properties.productLines', 'type': '[ProductLine]'}, + 'resource_provider_details': {'key': 'properties.resourceProviderDetails', 'type': '[ResourceProviderDetails]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductFamiliesMetadataDetails, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.product_lines = None + self.resource_provider_details = kwargs.get('resource_provider_details', None) + + +class ProductFamiliesRequest(msrest.serialization.Model): + """The filters for showing the product families. + + All required parameters must be populated in order to send to Azure. + + :param filterable_properties: Required. Dictionary of filterable properties on product family. + :type filterable_properties: dict[str, list[~azure.mgmt.edgeorder.models.FilterableProperty]] + :param customer_subscription_details: Customer subscription properties. Clients can display + available products to unregistered customers by explicitly passing subscription details. + :type customer_subscription_details: ~azure.mgmt.edgeorder.models.CustomerSubscriptionDetails + """ + + _validation = { + 'filterable_properties': {'required': True}, + } + + _attribute_map = { + 'filterable_properties': {'key': 'filterableProperties', 'type': '{[FilterableProperty]}'}, + 'customer_subscription_details': {'key': 'customerSubscriptionDetails', 'type': 'CustomerSubscriptionDetails'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductFamiliesRequest, self).__init__(**kwargs) + self.filterable_properties = kwargs['filterable_properties'] + self.customer_subscription_details = kwargs.get('customer_subscription_details', None) + + +class ProductFamily(msrest.serialization.Model): + """Product Family. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar product_lines: List of product lines supported in the product family. + :vartype product_lines: list[~azure.mgmt.edgeorder.models.ProductLine] + :param resource_provider_details: Contains details related to resource provider. + :type resource_provider_details: list[~azure.mgmt.edgeorder.models.ResourceProviderDetails] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'product_lines': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'product_lines': {'key': 'properties.productLines', 'type': '[ProductLine]'}, + 'resource_provider_details': {'key': 'properties.resourceProviderDetails', 'type': '[ResourceProviderDetails]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductFamily, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.product_lines = None + self.resource_provider_details = kwargs.get('resource_provider_details', None) + + +class ProductFamilyProperties(CommonProperties): + """Properties of product family. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar product_lines: List of product lines supported in the product family. + :vartype product_lines: list[~azure.mgmt.edgeorder.models.ProductLine] + :param resource_provider_details: Contains details related to resource provider. + :type resource_provider_details: list[~azure.mgmt.edgeorder.models.ResourceProviderDetails] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'product_lines': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + 'product_lines': {'key': 'productLines', 'type': '[ProductLine]'}, + 'resource_provider_details': {'key': 'resourceProviderDetails', 'type': '[ResourceProviderDetails]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductFamilyProperties, self).__init__(**kwargs) + self.product_lines = None + self.resource_provider_details = kwargs.get('resource_provider_details', None) + + +class ProductLine(msrest.serialization.Model): + """Product line. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar products: List of products in the product line. + :vartype products: list[~azure.mgmt.edgeorder.models.Product] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'products': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'products': {'key': 'properties.products', 'type': '[Product]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductLine, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.products = None + + +class ProductLineProperties(CommonProperties): + """Properties of product line. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar products: List of products in the product line. + :vartype products: list[~azure.mgmt.edgeorder.models.Product] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'products': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + 'products': {'key': 'products', 'type': '[Product]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductLineProperties, self).__init__(**kwargs) + self.products = None + + +class ProductProperties(CommonProperties): + """Properties of products. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar configurations: List of configurations for the product. + :vartype configurations: list[~azure.mgmt.edgeorder.models.Configuration] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'configurations': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + 'configurations': {'key': 'configurations', 'type': '[Configuration]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductProperties, self).__init__(**kwargs) + self.configurations = None + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 PurchaseMeterDetails(MeterDetails): + """Billing type Purchase meter details. + + 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 billing_type: Required. Represents billing type.Constant filled by server. Possible + values include: "Pav2", "Purchase". + :type billing_type: str or ~azure.mgmt.edgeorder.models.BillingType + :ivar multiplier: Billing unit applicable for Pav2 billing. + :vartype multiplier: float + :ivar charging_type: Charging type. Possible values include: "PerOrder", "PerDevice". + :vartype charging_type: str or ~azure.mgmt.edgeorder.models.ChargingType + :ivar product_id: Product Id. + :vartype product_id: str + :ivar sku_id: Sku Id. + :vartype sku_id: str + :ivar term_id: Term Id. + :vartype term_id: str + """ + + _validation = { + 'billing_type': {'required': True}, + 'multiplier': {'readonly': True}, + 'charging_type': {'readonly': True}, + 'product_id': {'readonly': True}, + 'sku_id': {'readonly': True}, + 'term_id': {'readonly': True}, + } + + _attribute_map = { + 'billing_type': {'key': 'billingType', 'type': 'str'}, + 'multiplier': {'key': 'multiplier', 'type': 'float'}, + 'charging_type': {'key': 'chargingType', 'type': 'str'}, + 'product_id': {'key': 'productId', 'type': 'str'}, + 'sku_id': {'key': 'skuId', 'type': 'str'}, + 'term_id': {'key': 'termId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PurchaseMeterDetails, self).__init__(**kwargs) + self.billing_type = 'Purchase' # type: str + self.product_id = None + self.sku_id = None + self.term_id = None + + +class ResourceIdentity(msrest.serialization.Model): + """Msi identity details of the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param type: Identity type. + :type type: str + :ivar principal_id: Service Principal Id backing the Msi. + :vartype principal_id: str + :ivar tenant_id: Home Tenant Id. + :vartype tenant_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.principal_id = None + self.tenant_id = None + + +class ResourceProviderDetails(msrest.serialization.Model): + """Management RP details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_provider_namespace: Resource provider namespace. + :vartype resource_provider_namespace: str + """ + + _validation = { + 'resource_provider_namespace': {'readonly': True}, + } + + _attribute_map = { + 'resource_provider_namespace': {'key': 'resourceProviderNamespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderDetails, self).__init__(**kwargs) + self.resource_provider_namespace = None + + +class ReturnOrderItemDetails(msrest.serialization.Model): + """Return order item request body. + + All required parameters must be populated in order to send to Azure. + + :param return_address: customer return address. + :type return_address: ~azure.mgmt.edgeorder.models.AddressProperties + :param return_reason: Required. Return Reason. + :type return_reason: str + :param service_tag: Service tag (located on the bottom-right corner of the device). + :type service_tag: str + :param shipping_box_required: Shipping Box required. + :type shipping_box_required: bool + """ + + _validation = { + 'return_reason': {'required': True}, + } + + _attribute_map = { + 'return_address': {'key': 'returnAddress', 'type': 'AddressProperties'}, + 'return_reason': {'key': 'returnReason', 'type': 'str'}, + 'service_tag': {'key': 'serviceTag', 'type': 'str'}, + 'shipping_box_required': {'key': 'shippingBoxRequired', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ReturnOrderItemDetails, self).__init__(**kwargs) + self.return_address = kwargs.get('return_address', None) + self.return_reason = kwargs['return_reason'] + self.service_tag = kwargs.get('service_tag', None) + self.shipping_box_required = kwargs.get('shipping_box_required', False) + + +class ReverseShippingDetails(msrest.serialization.Model): + """Reverse shipment details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar sas_key_for_label: SAS key to download the reverse shipment label of the package. + :vartype sas_key_for_label: str + :ivar carrier_name: Name of the carrier. + :vartype carrier_name: str + :ivar carrier_display_name: Carrier Name for display purpose. Not to be used for any + processing. + :vartype carrier_display_name: str + :ivar tracking_id: TrackingId of the package. + :vartype tracking_id: str + :ivar tracking_url: TrackingUrl of the package. + :vartype tracking_url: str + """ + + _validation = { + 'sas_key_for_label': {'readonly': True}, + 'carrier_name': {'readonly': True}, + 'carrier_display_name': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'tracking_url': {'readonly': True}, + } + + _attribute_map = { + 'sas_key_for_label': {'key': 'sasKeyForLabel', 'type': 'str'}, + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'carrier_display_name': {'key': 'carrierDisplayName', 'type': 'str'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReverseShippingDetails, self).__init__(**kwargs) + self.sas_key_for_label = None + self.carrier_name = None + self.carrier_display_name = None + self.tracking_id = None + self.tracking_url = None + + +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. + + :param street_address1: Required. Street Address line 1. + :type street_address1: str + :param street_address2: Street Address line 2. + :type street_address2: str + :param street_address3: Street Address line 3. + :type street_address3: str + :param city: Name of the City. + :type city: str + :param state_or_province: Name of the State or Province. + :type state_or_province: str + :param country: Required. Name of the Country. + :type country: str + :param postal_code: Postal code. + :type postal_code: str + :param zip_extended_code: Extended Zip Code. + :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". + :type address_type: str or ~azure.mgmt.edgeorder.models.AddressType + """ + + _validation = { + 'street_address1': {'required': True}, + 'country': {'required': True}, + } + + _attribute_map = { + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'street_address3': {'key': 'streetAddress3', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'zip_extended_code': {'key': 'zipExtendedCode', 'type': 'str'}, + 'company_name': {'key': 'companyName', 'type': 'str'}, + 'address_type': {'key': 'addressType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ShippingAddress, self).__init__(**kwargs) + 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['country'] + self.postal_code = kwargs.get('postal_code', None) + 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 ShippingDetails(msrest.serialization.Model): + """Package shipping details. + + 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 + :ivar carrier_display_name: Carrier Name for display purpose. Not to be used for any + processing. + :vartype carrier_display_name: str + :ivar tracking_id: TrackingId of the package. + :vartype tracking_id: str + :ivar tracking_url: TrackingUrl of the package. + :vartype tracking_url: str + """ + + _validation = { + 'carrier_name': {'readonly': True}, + 'carrier_display_name': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'tracking_url': {'readonly': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'carrier_display_name': {'key': 'carrierDisplayName', 'type': 'str'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ShippingDetails, self).__init__(**kwargs) + self.carrier_name = None + self.carrier_display_name = None + self.tracking_id = None + self.tracking_url = None + + +class Specification(msrest.serialization.Model): + """Specifications of the configurations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the specification. + :vartype name: str + :ivar value: Value of the specification. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Specification, self).__init__(**kwargs) + self.name = None + self.value = None + + +class StageDetails(msrest.serialization.Model): + """Resource stage details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar stage_status: Stage status. Possible values include: "None", "InProgress", "Succeeded", + "Failed", "Cancelled", "Cancelling". + :vartype stage_status: str or ~azure.mgmt.edgeorder.models.StageStatus + :ivar stage_name: Stage name. Possible values include: "Placed", "InReview", "Confirmed", + "ReadyToShip", "Shipped", "Delivered", "InUse", "ReturnInitiated", "ReturnPickedUp", + "ReturnedToMicrosoft", "ReturnCompleted", "Cancelled". + :vartype stage_name: str or ~azure.mgmt.edgeorder.models.StageName + :ivar display_name: Display name of the resource stage. + :vartype display_name: str + :ivar start_time: Stage start time. + :vartype start_time: ~datetime.datetime + """ + + _validation = { + 'stage_status': {'readonly': True}, + 'stage_name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'start_time': {'readonly': True}, + } + + _attribute_map = { + 'stage_status': {'key': 'stageStatus', 'type': 'str'}, + 'stage_name': {'key': 'stageName', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(StageDetails, self).__init__(**kwargs) + self.stage_status = None + self.stage_name = None + self.display_name = None + self.start_time = 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.mgmt.edgeorder.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.mgmt.edgeorder.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 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.edgeorder.models.TransportShipmentTypes + """ + + _validation = { + 'preferred_shipment_type': {'required': True}, + } + + _attribute_map = { + 'preferred_shipment_type': {'key': 'preferredShipmentType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TransportPreferences, self).__init__(**kwargs) + self.preferred_shipment_type = kwargs['preferred_shipment_type'] diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_models_py3.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_models_py3.py new file mode 100644 index 00000000000..85cb02fb4d2 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/models/_models_py3.py @@ -0,0 +1,3041 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._edge_order_management_client_enums import * + + +class AddressDetails(msrest.serialization.Model): + """Address details for an order 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 forward_address: Required. Customer address and contact details. It should be address + resource. + :type forward_address: ~azure.mgmt.edgeorder.models.AddressProperties + :ivar return_address: Return shipping address. + :vartype return_address: ~azure.mgmt.edgeorder.models.AddressProperties + """ + + _validation = { + 'forward_address': {'required': True}, + 'return_address': {'readonly': True}, + } + + _attribute_map = { + 'forward_address': {'key': 'forwardAddress', 'type': 'AddressProperties'}, + 'return_address': {'key': 'returnAddress', 'type': 'AddressProperties'}, + } + + def __init__( + self, + *, + forward_address: "AddressProperties", + **kwargs + ): + super(AddressDetails, self).__init__(**kwargs) + self.forward_address = forward_address + self.return_address = None + + +class AddressProperties(msrest.serialization.Model): + """Address Properties. + + 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 shipping_address: Shipping details for the address. + :type shipping_address: ~azure.mgmt.edgeorder.models.ShippingAddress + :param contact_details: Required. Contact details for the address. + :type contact_details: ~azure.mgmt.edgeorder.models.ContactDetails + :ivar address_validation_status: Status of address validation. Possible values include: + "Valid", "Invalid", "Ambiguous". + :vartype address_validation_status: str or ~azure.mgmt.edgeorder.models.AddressValidationStatus + """ + + _validation = { + 'contact_details': {'required': True}, + 'address_validation_status': {'readonly': True}, + } + + _attribute_map = { + 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, + 'contact_details': {'key': 'contactDetails', 'type': 'ContactDetails'}, + 'address_validation_status': {'key': 'addressValidationStatus', 'type': 'str'}, + } + + def __init__( + self, + *, + contact_details: "ContactDetails", + shipping_address: Optional["ShippingAddress"] = None, + **kwargs + ): + super(AddressProperties, self).__init__(**kwargs) + self.shipping_address = shipping_address + self.contact_details = contact_details + self.address_validation_status = 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 TrackedResource(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. + + 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: 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 AddressResource(TrackedResource): + """Address 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: 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: Represents resource creation and update time. + :vartype system_data: ~azure.mgmt.edgeorder.models.SystemData + :param shipping_address: Shipping details for the address. + :type shipping_address: ~azure.mgmt.edgeorder.models.ShippingAddress + :param contact_details: Required. Contact details for the address. + :type contact_details: ~azure.mgmt.edgeorder.models.ContactDetails + :ivar address_validation_status: Status of address validation. Possible values include: + "Valid", "Invalid", "Ambiguous". + :vartype address_validation_status: str or ~azure.mgmt.edgeorder.models.AddressValidationStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'contact_details': {'required': True}, + 'address_validation_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'shipping_address': {'key': 'properties.shippingAddress', 'type': 'ShippingAddress'}, + 'contact_details': {'key': 'properties.contactDetails', 'type': 'ContactDetails'}, + 'address_validation_status': {'key': 'properties.addressValidationStatus', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + contact_details: "ContactDetails", + tags: Optional[Dict[str, str]] = None, + shipping_address: Optional["ShippingAddress"] = None, + **kwargs + ): + super(AddressResource, self).__init__(tags=tags, location=location, **kwargs) + self.system_data = None + self.shipping_address = shipping_address + self.contact_details = contact_details + self.address_validation_status = None + + +class AddressResourceList(msrest.serialization.Model): + """Address Resource Collection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of address resources. + :vartype value: list[~azure.mgmt.edgeorder.models.AddressResource] + :param next_link: Link for the next set of job resources. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AddressResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(AddressResourceList, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class AddressUpdateParameter(msrest.serialization.Model): + """The Address update parameters. + + :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 shipping_address: Shipping details for the address. + :type shipping_address: ~azure.mgmt.edgeorder.models.ShippingAddress + :param contact_details: Contact details for the address. + :type contact_details: ~azure.mgmt.edgeorder.models.ContactDetails + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'shipping_address': {'key': 'properties.shippingAddress', 'type': 'ShippingAddress'}, + 'contact_details': {'key': 'properties.contactDetails', 'type': 'ContactDetails'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + shipping_address: Optional["ShippingAddress"] = None, + contact_details: Optional["ContactDetails"] = None, + **kwargs + ): + super(AddressUpdateParameter, self).__init__(**kwargs) + self.tags = tags + self.shipping_address = shipping_address + self.contact_details = contact_details + + +class AvailabilityInformation(msrest.serialization.Model): + """Availability information of a product system. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar availability_stage: Current availability stage of the product. Availability stage. + Possible values include: "Available", "ComingSoon", "Preview", "Deprecated", "Signup", + "Unavailable". + :vartype availability_stage: str or ~azure.mgmt.edgeorder.models.AvailabilityStage + :ivar disabled_reason: Reason why the product is disabled. Possible values include: "None", + "Country", "Region", "Feature", "OfferType", "NoSubscriptionInfo", "NotAvailable", + "OutOfStock". + :vartype disabled_reason: str or ~azure.mgmt.edgeorder.models.DisabledReason + :ivar disabled_reason_message: Message for why the product is disabled. + :vartype disabled_reason_message: str + """ + + _validation = { + 'availability_stage': {'readonly': True}, + 'disabled_reason': {'readonly': True}, + 'disabled_reason_message': {'readonly': True}, + } + + _attribute_map = { + 'availability_stage': {'key': 'availabilityStage', 'type': 'str'}, + 'disabled_reason': {'key': 'disabledReason', 'type': 'str'}, + 'disabled_reason_message': {'key': 'disabledReasonMessage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailabilityInformation, self).__init__(**kwargs) + self.availability_stage = None + self.disabled_reason = None + self.disabled_reason_message = None + + +class BasicInformation(msrest.serialization.Model): + """Basic information for any product system. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + } + + def __init__( + self, + **kwargs + ): + super(BasicInformation, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + + +class BillingMeterDetails(msrest.serialization.Model): + """Holds billing meter details for each type of billing. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Represents Billing type name. + :vartype name: str + :ivar meter_details: Represents MeterDetails. + :vartype meter_details: ~azure.mgmt.edgeorder.models.MeterDetails + :ivar metering_type: Represents Metering type (eg one-time or recurrent). Possible values + include: "OneTime", "Recurring", "Adhoc". + :vartype metering_type: str or ~azure.mgmt.edgeorder.models.MeteringType + :ivar frequency: Frequency of recurrence. + :vartype frequency: str + """ + + _validation = { + 'name': {'readonly': True}, + 'meter_details': {'readonly': True}, + 'metering_type': {'readonly': True}, + 'frequency': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'meter_details': {'key': 'meterDetails', 'type': 'MeterDetails'}, + 'metering_type': {'key': 'meteringType', 'type': 'str'}, + 'frequency': {'key': 'frequency', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BillingMeterDetails, self).__init__(**kwargs) + self.name = None + self.meter_details = None + self.metering_type = None + self.frequency = None + + +class CancellationReason(msrest.serialization.Model): + """Reason for cancellation. + + All required parameters must be populated in order to send to Azure. + + :param reason: Required. Reason for cancellation. + :type reason: str + """ + + _validation = { + 'reason': {'required': True}, + } + + _attribute_map = { + 'reason': {'key': 'reason', 'type': 'str'}, + } + + def __init__( + self, + *, + reason: str, + **kwargs + ): + super(CancellationReason, self).__init__(**kwargs) + self.reason = reason + + +class CommonProperties(BasicInformation): + """Represents common properties across product hierarchy. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + } + + def __init__( + self, + **kwargs + ): + super(CommonProperties, self).__init__(**kwargs) + self.filterable_properties = None + + +class Configuration(msrest.serialization.Model): + """Configuration object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar specifications: Specifications of the configuration. + :vartype specifications: list[~azure.mgmt.edgeorder.models.Specification] + :ivar dimensions: Dimensions of the configuration. + :vartype dimensions: ~azure.mgmt.edgeorder.models.Dimensions + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'specifications': {'readonly': True}, + 'dimensions': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'specifications': {'key': 'properties.specifications', 'type': '[Specification]'}, + 'dimensions': {'key': 'properties.dimensions', 'type': 'Dimensions'}, + } + + def __init__( + self, + **kwargs + ): + super(Configuration, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.specifications = None + self.dimensions = None + + +class ConfigurationFilters(msrest.serialization.Model): + """Configuration filters. + + All required parameters must be populated in order to send to Azure. + + :param hierarchy_information: Required. Product hierarchy information. + :type hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :param filterable_property: Filters specific to product. + :type filterable_property: list[~azure.mgmt.edgeorder.models.FilterableProperty] + """ + + _validation = { + 'hierarchy_information': {'required': True}, + } + + _attribute_map = { + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_property': {'key': 'filterableProperty', 'type': '[FilterableProperty]'}, + } + + def __init__( + self, + *, + hierarchy_information: "HierarchyInformation", + filterable_property: Optional[List["FilterableProperty"]] = None, + **kwargs + ): + super(ConfigurationFilters, self).__init__(**kwargs) + self.hierarchy_information = hierarchy_information + self.filterable_property = filterable_property + + +class ConfigurationProperties(CommonProperties): + """Properties of configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar specifications: Specifications of the configuration. + :vartype specifications: list[~azure.mgmt.edgeorder.models.Specification] + :ivar dimensions: Dimensions of the configuration. + :vartype dimensions: ~azure.mgmt.edgeorder.models.Dimensions + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'specifications': {'readonly': True}, + 'dimensions': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + 'specifications': {'key': 'specifications', 'type': '[Specification]'}, + 'dimensions': {'key': 'dimensions', 'type': 'Dimensions'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationProperties, self).__init__(**kwargs) + self.specifications = None + self.dimensions = None + + +class Configurations(msrest.serialization.Model): + """The list of configurations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of configurations. + :vartype value: list[~azure.mgmt.edgeorder.models.Configuration] + :param next_link: Link for the next set of configurations. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Configuration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(Configurations, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class ConfigurationsRequest(msrest.serialization.Model): + """Configuration request object. + + All required parameters must be populated in order to send to Azure. + + :param configuration_filters: Required. Holds details about product hierarchy information and + filterable property. + :type configuration_filters: list[~azure.mgmt.edgeorder.models.ConfigurationFilters] + :param customer_subscription_details: Customer subscription properties. Clients can display + available products to unregistered customers by explicitly passing subscription details. + :type customer_subscription_details: ~azure.mgmt.edgeorder.models.CustomerSubscriptionDetails + """ + + _validation = { + 'configuration_filters': {'required': True, 'unique': True}, + } + + _attribute_map = { + 'configuration_filters': {'key': 'configurationFilters', 'type': '[ConfigurationFilters]'}, + 'customer_subscription_details': {'key': 'customerSubscriptionDetails', 'type': 'CustomerSubscriptionDetails'}, + } + + def __init__( + self, + *, + configuration_filters: List["ConfigurationFilters"], + customer_subscription_details: Optional["CustomerSubscriptionDetails"] = None, + **kwargs + ): + super(ConfigurationsRequest, self).__init__(**kwargs) + self.configuration_filters = configuration_filters + self.customer_subscription_details = customer_subscription_details + + +class ContactDetails(msrest.serialization.Model): + """Contact Details. + + All required parameters must be populated in order to send to Azure. + + :param contact_name: Required. Contact name of the person. + :type contact_name: str + :param phone: Required. Phone number of the contact person. + :type phone: str + :param phone_extension: Phone extension number of the contact person. + :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. + :type email_list: list[str] + """ + + _validation = { + 'contact_name': {'required': True}, + 'phone': {'required': True}, + 'email_list': {'required': True}, + } + + _attribute_map = { + 'contact_name': {'key': 'contactName', 'type': 'str'}, + 'phone': {'key': 'phone', 'type': 'str'}, + 'phone_extension': {'key': 'phoneExtension', 'type': 'str'}, + 'mobile': {'key': 'mobile', 'type': 'str'}, + 'email_list': {'key': 'emailList', 'type': '[str]'}, + } + + def __init__( + self, + *, + contact_name: str, + phone: str, + email_list: List[str], + phone_extension: Optional[str] = None, + mobile: Optional[str] = None, + **kwargs + ): + super(ContactDetails, self).__init__(**kwargs) + self.contact_name = contact_name + self.phone = phone + self.phone_extension = phone_extension + self.mobile = mobile + self.email_list = email_list + + +class CostInformation(msrest.serialization.Model): + """Cost information for the product system. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar billing_meter_details: Details on the various billing aspects for the product system. + :vartype billing_meter_details: list[~azure.mgmt.edgeorder.models.BillingMeterDetails] + :ivar billing_info_url: Default url to display billing information. + :vartype billing_info_url: str + """ + + _validation = { + 'billing_meter_details': {'readonly': True}, + 'billing_info_url': {'readonly': True}, + } + + _attribute_map = { + 'billing_meter_details': {'key': 'billingMeterDetails', 'type': '[BillingMeterDetails]'}, + 'billing_info_url': {'key': 'billingInfoUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CostInformation, self).__init__(**kwargs) + self.billing_meter_details = None + self.billing_info_url = None + + +class CustomerSubscriptionDetails(msrest.serialization.Model): + """Holds Customer subscription details. Clients can display available products to unregistered customers by explicitly passing subscription details. + + All required parameters must be populated in order to send to Azure. + + :param registered_features: List of registered feature flags for subscription. + :type registered_features: + list[~azure.mgmt.edgeorder.models.CustomerSubscriptionRegisteredFeatures] + :param location_placement_id: Location placement Id of a subscription. + :type location_placement_id: str + :param quota_id: Required. Quota ID of a subscription. + :type quota_id: str + """ + + _validation = { + 'quota_id': {'required': True}, + } + + _attribute_map = { + 'registered_features': {'key': 'registeredFeatures', 'type': '[CustomerSubscriptionRegisteredFeatures]'}, + 'location_placement_id': {'key': 'locationPlacementId', 'type': 'str'}, + 'quota_id': {'key': 'quotaId', 'type': 'str'}, + } + + def __init__( + self, + *, + quota_id: str, + registered_features: Optional[List["CustomerSubscriptionRegisteredFeatures"]] = None, + location_placement_id: Optional[str] = None, + **kwargs + ): + super(CustomerSubscriptionDetails, self).__init__(**kwargs) + self.registered_features = registered_features + self.location_placement_id = location_placement_id + self.quota_id = quota_id + + +class CustomerSubscriptionRegisteredFeatures(msrest.serialization.Model): + """Represents subscription registered features. + + :param name: Name of subscription registered feature. + :type name: str + :param state: State of subscription registered feature. + :type state: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + state: Optional[str] = None, + **kwargs + ): + super(CustomerSubscriptionRegisteredFeatures, self).__init__(**kwargs) + self.name = name + self.state = state + + +class Description(msrest.serialization.Model): + """Description related properties of a product system. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar description_type: Type of description. Possible values include: "Base". + :vartype description_type: str or ~azure.mgmt.edgeorder.models.DescriptionType + :ivar short_description: Short description of the product system. + :vartype short_description: str + :ivar long_description: Long description of the product system. + :vartype long_description: str + :ivar keywords: Keywords for the product system. + :vartype keywords: list[str] + :ivar attributes: Attributes for the product system. + :vartype attributes: list[str] + :ivar links: Links for the product system. + :vartype links: list[~azure.mgmt.edgeorder.models.Link] + """ + + _validation = { + 'description_type': {'readonly': True}, + 'short_description': {'readonly': True}, + 'long_description': {'readonly': True}, + 'keywords': {'readonly': True}, + 'attributes': {'readonly': True}, + 'links': {'readonly': True}, + } + + _attribute_map = { + 'description_type': {'key': 'descriptionType', 'type': 'str'}, + 'short_description': {'key': 'shortDescription', 'type': 'str'}, + 'long_description': {'key': 'longDescription', 'type': 'str'}, + 'keywords': {'key': 'keywords', 'type': '[str]'}, + 'attributes': {'key': 'attributes', 'type': '[str]'}, + 'links': {'key': 'links', 'type': '[Link]'}, + } + + def __init__( + self, + **kwargs + ): + super(Description, self).__init__(**kwargs) + self.description_type = None + self.short_description = None + self.long_description = None + self.keywords = None + self.attributes = None + self.links = None + + +class DeviceDetails(msrest.serialization.Model): + """Device details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar serial_number: device serial number. + :vartype serial_number: str + :ivar management_resource_id: Management Resource Id. + :vartype management_resource_id: str + :ivar management_resource_tenant_id: Management Resource Tenant ID. + :vartype management_resource_tenant_id: str + """ + + _validation = { + 'serial_number': {'readonly': True}, + 'management_resource_id': {'readonly': True}, + 'management_resource_tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'serial_number': {'key': 'serialNumber', 'type': 'str'}, + 'management_resource_id': {'key': 'managementResourceId', 'type': 'str'}, + 'management_resource_tenant_id': {'key': 'managementResourceTenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeviceDetails, self).__init__(**kwargs) + self.serial_number = None + self.management_resource_id = None + self.management_resource_tenant_id = None + + +class Dimensions(msrest.serialization.Model): + """Dimensions of a configuration. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar length: Length of the device. + :vartype length: float + :ivar height: Height of the device. + :vartype height: float + :ivar width: Width of the device. + :vartype width: float + :ivar length_height_unit: Unit for the dimensions of length, height and width. Possible values + include: "IN", "CM". + :vartype length_height_unit: str or ~azure.mgmt.edgeorder.models.LengthHeightUnit + :ivar weight: Weight of the device. + :vartype weight: float + :ivar depth: Depth of the device. + :vartype depth: float + :ivar weight_unit: Unit for the dimensions of weight. Possible values include: "LBS", "KGS". + :vartype weight_unit: str or ~azure.mgmt.edgeorder.models.WeightMeasurementUnit + """ + + _validation = { + 'length': {'readonly': True}, + 'height': {'readonly': True}, + 'width': {'readonly': True}, + 'length_height_unit': {'readonly': True}, + 'weight': {'readonly': True}, + 'depth': {'readonly': True}, + 'weight_unit': {'readonly': True}, + } + + _attribute_map = { + 'length': {'key': 'length', 'type': 'float'}, + 'height': {'key': 'height', 'type': 'float'}, + 'width': {'key': 'width', 'type': 'float'}, + 'length_height_unit': {'key': 'lengthHeightUnit', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'float'}, + 'depth': {'key': 'depth', 'type': 'float'}, + 'weight_unit': {'key': 'weightUnit', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Dimensions, self).__init__(**kwargs) + self.length = None + self.height = None + self.width = None + self.length_height_unit = None + self.weight = None + self.depth = None + self.weight_unit = None + + +class DisplayInfo(msrest.serialization.Model): + """Describes product display information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar product_family_display_name: Product family display name. + :vartype product_family_display_name: str + :ivar configuration_display_name: Configuration display name. + :vartype configuration_display_name: str + """ + + _validation = { + 'product_family_display_name': {'readonly': True}, + 'configuration_display_name': {'readonly': True}, + } + + _attribute_map = { + 'product_family_display_name': {'key': 'productFamilyDisplayName', 'type': 'str'}, + 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DisplayInfo, self).__init__(**kwargs) + self.product_family_display_name = None + self.configuration_display_name = None + + +class EncryptionPreferences(msrest.serialization.Model): + """Preferences related to the double encryption. + + :param double_encryption_status: Double encryption status as entered by the customer. It is + compulsory to give this parameter if the 'Deny' or 'Disabled' policy is configured. Possible + values include: "Disabled", "Enabled". + :type double_encryption_status: str or ~azure.mgmt.edgeorder.models.DoubleEncryptionStatus + """ + + _attribute_map = { + 'double_encryption_status': {'key': 'doubleEncryptionStatus', 'type': 'str'}, + } + + def __init__( + self, + *, + double_encryption_status: Optional[Union[str, "DoubleEncryptionStatus"]] = None, + **kwargs + ): + super(EncryptionPreferences, self).__init__(**kwargs) + self.double_encryption_status = double_encryption_status + + +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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~azure.mgmt.edgeorder.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~azure.mgmt.edgeorder.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :param error: The error object. + :type error: ~azure.mgmt.edgeorder.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class FilterableProperty(msrest.serialization.Model): + """Different types of filters supported and its values. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of product filter. Possible values include: "ShipToCountries", + "DoubleEncryptionStatus". + :type type: str or ~azure.mgmt.edgeorder.models.SupportedFilterTypes + :param supported_values: Required. Values to be filtered. + :type supported_values: list[str] + """ + + _validation = { + 'type': {'required': True}, + 'supported_values': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'supported_values': {'key': 'supportedValues', 'type': '[str]'}, + } + + def __init__( + self, + *, + type: Union[str, "SupportedFilterTypes"], + supported_values: List[str], + **kwargs + ): + super(FilterableProperty, self).__init__(**kwargs) + self.type = type + self.supported_values = supported_values + + +class ForwardShippingDetails(msrest.serialization.Model): + """Forward shipment details. + + 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 + :ivar carrier_display_name: Carrier Name for display purpose. Not to be used for any + processing. + :vartype carrier_display_name: str + :ivar tracking_id: TrackingId of the package. + :vartype tracking_id: str + :ivar tracking_url: TrackingUrl of the package. + :vartype tracking_url: str + """ + + _validation = { + 'carrier_name': {'readonly': True}, + 'carrier_display_name': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'tracking_url': {'readonly': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'carrier_display_name': {'key': 'carrierDisplayName', 'type': 'str'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ForwardShippingDetails, self).__init__(**kwargs) + self.carrier_name = None + self.carrier_display_name = None + self.tracking_id = None + self.tracking_url = None + + +class HierarchyInformation(msrest.serialization.Model): + """Holds details about product hierarchy information. + + :param product_family_name: Represents product family name that uniquely identifies product + family. + :type product_family_name: str + :param product_line_name: Represents product line name that uniquely identifies product line. + :type product_line_name: str + :param product_name: Represents product name that uniquely identifies product. + :type product_name: str + :param configuration_name: Represents configuration name that uniquely identifies + configuration. + :type configuration_name: str + """ + + _attribute_map = { + 'product_family_name': {'key': 'productFamilyName', 'type': 'str'}, + 'product_line_name': {'key': 'productLineName', 'type': 'str'}, + 'product_name': {'key': 'productName', 'type': 'str'}, + 'configuration_name': {'key': 'configurationName', 'type': 'str'}, + } + + def __init__( + self, + *, + product_family_name: Optional[str] = None, + product_line_name: Optional[str] = None, + product_name: Optional[str] = None, + configuration_name: Optional[str] = None, + **kwargs + ): + super(HierarchyInformation, self).__init__(**kwargs) + self.product_family_name = product_family_name + self.product_line_name = product_line_name + self.product_name = product_name + self.configuration_name = configuration_name + + +class ImageInformation(msrest.serialization.Model): + """Image for the product. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar image_type: Type of the image. Possible values include: "MainImage", "BulletImage", + "GenericImage". + :vartype image_type: str or ~azure.mgmt.edgeorder.models.ImageType + :ivar image_url: Url of the image. + :vartype image_url: str + """ + + _validation = { + 'image_type': {'readonly': True}, + 'image_url': {'readonly': True}, + } + + _attribute_map = { + 'image_type': {'key': 'imageType', 'type': 'str'}, + 'image_url': {'key': 'imageUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ImageInformation, self).__init__(**kwargs) + self.image_type = None + self.image_url = None + + +class Link(msrest.serialization.Model): + """Returns link related to the product. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar link_type: Type of link. Possible values include: "Generic", "TermsAndConditions", + "Specification", "Documentation", "KnowMore", "SignUp". + :vartype link_type: str or ~azure.mgmt.edgeorder.models.LinkType + :ivar link_url: Url of the link. + :vartype link_url: str + """ + + _validation = { + 'link_type': {'readonly': True}, + 'link_url': {'readonly': True}, + } + + _attribute_map = { + 'link_type': {'key': 'linkType', 'type': 'str'}, + 'link_url': {'key': 'linkUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Link, self).__init__(**kwargs) + self.link_type = None + self.link_url = None + + +class ManagementResourcePreferences(msrest.serialization.Model): + """Management resource preference to link device. + + :param preferred_management_resource_id: Customer preferred Management resource ARM ID. + :type preferred_management_resource_id: str + """ + + _attribute_map = { + 'preferred_management_resource_id': {'key': 'preferredManagementResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + preferred_management_resource_id: Optional[str] = None, + **kwargs + ): + super(ManagementResourcePreferences, self).__init__(**kwargs) + self.preferred_management_resource_id = preferred_management_resource_id + + +class MeterDetails(msrest.serialization.Model): + """Holds details about billing type and its meter guids. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: Pav2MeterDetails, PurchaseMeterDetails. + + 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 billing_type: Required. Represents billing type.Constant filled by server. Possible + values include: "Pav2", "Purchase". + :type billing_type: str or ~azure.mgmt.edgeorder.models.BillingType + :ivar multiplier: Billing unit applicable for Pav2 billing. + :vartype multiplier: float + :ivar charging_type: Charging type. Possible values include: "PerOrder", "PerDevice". + :vartype charging_type: str or ~azure.mgmt.edgeorder.models.ChargingType + """ + + _validation = { + 'billing_type': {'required': True}, + 'multiplier': {'readonly': True}, + 'charging_type': {'readonly': True}, + } + + _attribute_map = { + 'billing_type': {'key': 'billingType', 'type': 'str'}, + 'multiplier': {'key': 'multiplier', 'type': 'float'}, + 'charging_type': {'key': 'chargingType', 'type': 'str'}, + } + + _subtype_map = { + 'billing_type': {'Pav2': 'Pav2MeterDetails', 'Purchase': 'PurchaseMeterDetails'} + } + + def __init__( + self, + **kwargs + ): + super(MeterDetails, self).__init__(**kwargs) + self.billing_type = None # type: Optional[str] + self.multiplier = None + self.charging_type = None + + +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: "Shipped", + "Delivered". + :type stage_name: str or ~azure.mgmt.edgeorder.models.NotificationStageName + :param send_notification: Required. Notification is required or not. + :type send_notification: bool + """ + + _validation = { + 'stage_name': {'required': True}, + 'send_notification': {'required': True}, + } + + _attribute_map = { + 'stage_name': {'key': 'stageName', 'type': 'str'}, + 'send_notification': {'key': 'sendNotification', 'type': 'bool'}, + } + + 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(msrest.serialization.Model): + """Details of a REST API operation, returned from the Resource Provider Operations API. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the operation, as per Resource-Based Access Control (RBAC). Examples: + "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action". + :vartype name: str + :ivar is_data_action: Whether the operation applies to data-plane. This is "true" for data- + plane operations and "false" for ARM/control-plane operations. + :vartype is_data_action: bool + :param display: Localized display information for this particular operation. + :type display: ~azure.mgmt.edgeorder.models.OperationDisplay + :ivar origin: The intended executor of the operation; as in Resource Based Access Control + (RBAC) and audit logs UX. Default value is "user,system". Possible values include: "user", + "system", "user,system". + :vartype origin: str or ~azure.mgmt.edgeorder.models.Origin + :ivar action_type: Enum. Indicates the action type. "Internal" refers to actions that are for + internal only APIs. Possible values include: "Internal". + :vartype action_type: str or ~azure.mgmt.edgeorder.models.ActionType + """ + + _validation = { + 'name': {'readonly': True}, + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + 'action_type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, + } + + def __init__( + self, + *, + display: Optional["OperationDisplay"] = None, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = None + self.is_data_action = None + self.display = display + self.origin = None + self.action_type = None + + +class OperationDisplay(msrest.serialization.Model): + """Localized display information for this particular operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provider: The localized friendly form of the resource provider name, e.g. "Microsoft + Monitoring Insights" or "Microsoft Compute". + :vartype provider: str + :ivar resource: The localized friendly name of the resource type related to this operation. + E.g. "Virtual Machines" or "Job Schedule Collections". + :vartype resource: str + :ivar operation: The concise, localized friendly name for the operation; suitable for + dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". + :vartype operation: str + :ivar description: The short, localized friendly description of the operation; suitable for + tool tips and detailed views. + :vartype description: str + """ + + _validation = { + 'provider': {'readonly': True}, + 'resource': {'readonly': True}, + 'operation': {'readonly': True}, + 'description': {'readonly': True}, + } + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = None + self.resource = None + self.operation = None + self.description = None + + +class OperationListResult(msrest.serialization.Model): + """A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by the resource provider. + :vartype value: list[~azure.mgmt.edgeorder.models.Operation] + :ivar next_link: URL to get the next set of operation list results (if there are any). + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OrderItemDetails(msrest.serialization.Model): + """Order item details. + + 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 product_details: Required. Unique identifier for configuration. + :type product_details: ~azure.mgmt.edgeorder.models.ProductDetails + :param order_item_type: Required. Order item type. Possible values include: "Purchase", + "Rental". + :type order_item_type: str or ~azure.mgmt.edgeorder.models.OrderItemType + :ivar current_stage: Current Order item Status. + :vartype current_stage: ~azure.mgmt.edgeorder.models.StageDetails + :ivar order_item_stage_history: Order item status history. + :vartype order_item_stage_history: list[~azure.mgmt.edgeorder.models.StageDetails] + :param preferences: Customer notification Preferences. + :type preferences: ~azure.mgmt.edgeorder.models.Preferences + :ivar forward_shipping_details: Forward Package Shipping details. + :vartype forward_shipping_details: ~azure.mgmt.edgeorder.models.ForwardShippingDetails + :ivar reverse_shipping_details: Reverse Package Shipping details. + :vartype reverse_shipping_details: ~azure.mgmt.edgeorder.models.ReverseShippingDetails + :param notification_email_list: Additional notification email list. + :type notification_email_list: list[str] + :ivar cancellation_reason: Cancellation reason. + :vartype cancellation_reason: str + :ivar cancellation_status: Describes whether the order item is cancellable or not. Possible + values include: "Cancellable", "CancellableWithFee", "NotCancellable". + :vartype cancellation_status: str or ~azure.mgmt.edgeorder.models.OrderItemCancellationEnum + :ivar deletion_status: Describes whether the order item is deletable or not. Possible values + include: "Allowed", "NotAllowed". + :vartype deletion_status: str or ~azure.mgmt.edgeorder.models.ActionStatusEnum + :ivar return_reason: Return reason. + :vartype return_reason: str + :ivar return_status: Describes whether the order item is returnable or not. Possible values + include: "Returnable", "ReturnableWithFee", "NotReturnable". + :vartype return_status: str or ~azure.mgmt.edgeorder.models.OrderItemReturnEnum + :ivar management_rp_details: Parent RP details - this returns only the first or default parent + RP from the entire list. + :vartype management_rp_details: ~azure.mgmt.edgeorder.models.ResourceProviderDetails + :ivar management_rp_details_list: List of parent RP details supported for configuration. + :vartype management_rp_details_list: list[~azure.mgmt.edgeorder.models.ResourceProviderDetails] + :ivar error: Top level error for the job. + :vartype error: ~azure.mgmt.edgeorder.models.ErrorDetail + """ + + _validation = { + 'product_details': {'required': True}, + 'order_item_type': {'required': True}, + 'current_stage': {'readonly': True}, + 'order_item_stage_history': {'readonly': True}, + 'forward_shipping_details': {'readonly': True}, + 'reverse_shipping_details': {'readonly': True}, + 'cancellation_reason': {'readonly': True}, + 'cancellation_status': {'readonly': True}, + 'deletion_status': {'readonly': True}, + 'return_reason': {'readonly': True}, + 'return_status': {'readonly': True}, + 'management_rp_details': {'readonly': True}, + 'management_rp_details_list': {'readonly': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'product_details': {'key': 'productDetails', 'type': 'ProductDetails'}, + 'order_item_type': {'key': 'orderItemType', 'type': 'str'}, + 'current_stage': {'key': 'currentStage', 'type': 'StageDetails'}, + 'order_item_stage_history': {'key': 'orderItemStageHistory', 'type': '[StageDetails]'}, + 'preferences': {'key': 'preferences', 'type': 'Preferences'}, + 'forward_shipping_details': {'key': 'forwardShippingDetails', 'type': 'ForwardShippingDetails'}, + 'reverse_shipping_details': {'key': 'reverseShippingDetails', 'type': 'ReverseShippingDetails'}, + 'notification_email_list': {'key': 'notificationEmailList', 'type': '[str]'}, + 'cancellation_reason': {'key': 'cancellationReason', 'type': 'str'}, + 'cancellation_status': {'key': 'cancellationStatus', 'type': 'str'}, + 'deletion_status': {'key': 'deletionStatus', 'type': 'str'}, + 'return_reason': {'key': 'returnReason', 'type': 'str'}, + 'return_status': {'key': 'returnStatus', 'type': 'str'}, + 'management_rp_details': {'key': 'managementRpDetails', 'type': 'ResourceProviderDetails'}, + 'management_rp_details_list': {'key': 'managementRpDetailsList', 'type': '[ResourceProviderDetails]'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + product_details: "ProductDetails", + order_item_type: Union[str, "OrderItemType"], + preferences: Optional["Preferences"] = None, + notification_email_list: Optional[List[str]] = None, + **kwargs + ): + super(OrderItemDetails, self).__init__(**kwargs) + self.product_details = product_details + self.order_item_type = order_item_type + self.current_stage = None + self.order_item_stage_history = None + self.preferences = preferences + self.forward_shipping_details = None + self.reverse_shipping_details = None + self.notification_email_list = notification_email_list + self.cancellation_reason = None + self.cancellation_status = None + self.deletion_status = None + self.return_reason = None + self.return_status = None + self.management_rp_details = None + self.management_rp_details_list = None + self.error = None + + +class OrderItemResource(TrackedResource): + """Represents order item contract. + + 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: 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: Represents resource creation and update time. + :vartype system_data: ~azure.mgmt.edgeorder.models.SystemData + :param order_item_details: Required. Represents order item details. + :type order_item_details: ~azure.mgmt.edgeorder.models.OrderItemDetails + :param address_details: Required. Represents shipping and return address for order item. + :type address_details: ~azure.mgmt.edgeorder.models.AddressDetails + :ivar start_time: Start time of order item. + :vartype start_time: ~datetime.datetime + :param order_id: Required. Id of the order to which order item belongs to. + :type order_id: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'order_item_details': {'required': True}, + 'address_details': {'required': True}, + 'start_time': {'readonly': True}, + 'order_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': 'SystemData'}, + 'order_item_details': {'key': 'properties.orderItemDetails', 'type': 'OrderItemDetails'}, + 'address_details': {'key': 'properties.addressDetails', 'type': 'AddressDetails'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'order_id': {'key': 'properties.orderId', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + order_item_details: "OrderItemDetails", + address_details: "AddressDetails", + order_id: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(OrderItemResource, self).__init__(tags=tags, location=location, **kwargs) + self.system_data = None + self.order_item_details = order_item_details + self.address_details = address_details + self.start_time = None + self.order_id = order_id + + +class OrderItemResourceList(msrest.serialization.Model): + """List of orderItems. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of order item resources. + :vartype value: list[~azure.mgmt.edgeorder.models.OrderItemResource] + :param next_link: Link for the next set of order item resources. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OrderItemResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(OrderItemResourceList, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class OrderItemUpdateParameter(msrest.serialization.Model): + """Updates order item parameters. + + :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 forward_address: Updates forward shipping address and contact details. + :type forward_address: ~azure.mgmt.edgeorder.models.AddressProperties + :param preferences: Customer preference. + :type preferences: ~azure.mgmt.edgeorder.models.Preferences + :param notification_email_list: Additional notification email list. + :type notification_email_list: list[str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'forward_address': {'key': 'properties.forwardAddress', 'type': 'AddressProperties'}, + 'preferences': {'key': 'properties.preferences', 'type': 'Preferences'}, + 'notification_email_list': {'key': 'properties.notificationEmailList', 'type': '[str]'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + forward_address: Optional["AddressProperties"] = None, + preferences: Optional["Preferences"] = None, + notification_email_list: Optional[List[str]] = None, + **kwargs + ): + super(OrderItemUpdateParameter, self).__init__(**kwargs) + self.tags = tags + self.forward_address = forward_address + self.preferences = preferences + self.notification_email_list = notification_email_list + + +class OrderResource(Resource): + """Specifies the properties or parameters for an order. Order is a grouping of one or more order items. + + 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: Represents resource creation and update time. + :vartype system_data: ~azure.mgmt.edgeorder.models.SystemData + :ivar order_item_ids: List of order item ARM Ids which are part of an order. + :vartype order_item_ids: list[str] + :ivar current_stage: Order current status. + :vartype current_stage: ~azure.mgmt.edgeorder.models.StageDetails + :ivar order_stage_history: Order status history. + :vartype order_stage_history: list[~azure.mgmt.edgeorder.models.StageDetails] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'order_item_ids': {'readonly': True}, + 'current_stage': {'readonly': True}, + 'order_stage_history': {'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'}, + 'order_item_ids': {'key': 'properties.orderItemIds', 'type': '[str]'}, + 'current_stage': {'key': 'properties.currentStage', 'type': 'StageDetails'}, + 'order_stage_history': {'key': 'properties.orderStageHistory', 'type': '[StageDetails]'}, + } + + def __init__( + self, + **kwargs + ): + super(OrderResource, self).__init__(**kwargs) + self.system_data = None + self.order_item_ids = None + self.current_stage = None + self.order_stage_history = None + + +class OrderResourceList(msrest.serialization.Model): + """List of orders. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of order resources. + :vartype value: list[~azure.mgmt.edgeorder.models.OrderResource] + :param next_link: Link for the next set of order resources. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OrderResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(OrderResourceList, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class Pav2MeterDetails(MeterDetails): + """Billing type PAV2 meter details. + + 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 billing_type: Required. Represents billing type.Constant filled by server. Possible + values include: "Pav2", "Purchase". + :type billing_type: str or ~azure.mgmt.edgeorder.models.BillingType + :ivar multiplier: Billing unit applicable for Pav2 billing. + :vartype multiplier: float + :ivar charging_type: Charging type. Possible values include: "PerOrder", "PerDevice". + :vartype charging_type: str or ~azure.mgmt.edgeorder.models.ChargingType + :ivar meter_guid: Validation status of requested data center and transport. + :vartype meter_guid: str + """ + + _validation = { + 'billing_type': {'required': True}, + 'multiplier': {'readonly': True}, + 'charging_type': {'readonly': True}, + 'meter_guid': {'readonly': True}, + } + + _attribute_map = { + 'billing_type': {'key': 'billingType', 'type': 'str'}, + 'multiplier': {'key': 'multiplier', 'type': 'float'}, + 'charging_type': {'key': 'chargingType', 'type': 'str'}, + 'meter_guid': {'key': 'meterGuid', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Pav2MeterDetails, self).__init__(**kwargs) + self.billing_type = 'Pav2' # type: str + self.meter_guid = None + + +class Preferences(msrest.serialization.Model): + """Preferences related to the order. + + :param notification_preferences: Notification preferences. + :type notification_preferences: list[~azure.mgmt.edgeorder.models.NotificationPreference] + :param transport_preferences: Preferences related to the shipment logistics of the order. + :type transport_preferences: ~azure.mgmt.edgeorder.models.TransportPreferences + :param encryption_preferences: Preferences related to the Encryption. + :type encryption_preferences: ~azure.mgmt.edgeorder.models.EncryptionPreferences + :param management_resource_preferences: Preferences related to the Management resource. + :type management_resource_preferences: + ~azure.mgmt.edgeorder.models.ManagementResourcePreferences + """ + + _attribute_map = { + 'notification_preferences': {'key': 'notificationPreferences', 'type': '[NotificationPreference]'}, + 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, + 'encryption_preferences': {'key': 'encryptionPreferences', 'type': 'EncryptionPreferences'}, + 'management_resource_preferences': {'key': 'managementResourcePreferences', 'type': 'ManagementResourcePreferences'}, + } + + def __init__( + self, + *, + notification_preferences: Optional[List["NotificationPreference"]] = None, + transport_preferences: Optional["TransportPreferences"] = None, + encryption_preferences: Optional["EncryptionPreferences"] = None, + management_resource_preferences: Optional["ManagementResourcePreferences"] = None, + **kwargs + ): + super(Preferences, self).__init__(**kwargs) + self.notification_preferences = notification_preferences + self.transport_preferences = transport_preferences + self.encryption_preferences = encryption_preferences + self.management_resource_preferences = management_resource_preferences + + +class Product(msrest.serialization.Model): + """List of Products. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar configurations: List of configurations for the product. + :vartype configurations: list[~azure.mgmt.edgeorder.models.Configuration] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'configurations': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'configurations': {'key': 'properties.configurations', 'type': '[Configuration]'}, + } + + def __init__( + self, + **kwargs + ): + super(Product, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.configurations = None + + +class ProductDetails(msrest.serialization.Model): + """Represents product details. + + 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 display_info: Display details of the product. + :type display_info: ~azure.mgmt.edgeorder.models.DisplayInfo + :param hierarchy_information: Required. Hierarchy of the product which uniquely identifies the + product. + :type hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar count: Quantity of the product. + :vartype count: int + :ivar product_double_encryption_status: Double encryption status of the configuration. Read- + only field. Possible values include: "Disabled", "Enabled". + :vartype product_double_encryption_status: str or + ~azure.mgmt.edgeorder.models.DoubleEncryptionStatus + :ivar device_details: list of device details. + :vartype device_details: list[~azure.mgmt.edgeorder.models.DeviceDetails] + """ + + _validation = { + 'hierarchy_information': {'required': True}, + 'count': {'readonly': True}, + 'product_double_encryption_status': {'readonly': True}, + 'device_details': {'readonly': True}, + } + + _attribute_map = { + 'display_info': {'key': 'displayInfo', 'type': 'DisplayInfo'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'count': {'key': 'count', 'type': 'int'}, + 'product_double_encryption_status': {'key': 'productDoubleEncryptionStatus', 'type': 'str'}, + 'device_details': {'key': 'deviceDetails', 'type': '[DeviceDetails]'}, + } + + def __init__( + self, + *, + hierarchy_information: "HierarchyInformation", + display_info: Optional["DisplayInfo"] = None, + **kwargs + ): + super(ProductDetails, self).__init__(**kwargs) + self.display_info = display_info + self.hierarchy_information = hierarchy_information + self.count = None + self.product_double_encryption_status = None + self.device_details = None + + +class ProductFamilies(msrest.serialization.Model): + """The list of product families. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of product families. + :vartype value: list[~azure.mgmt.edgeorder.models.ProductFamily] + :param next_link: Link for the next set of product families. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProductFamily]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(ProductFamilies, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class ProductFamiliesMetadata(msrest.serialization.Model): + """Holds details about product family metadata. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of product family metadata details. + :vartype value: list[~azure.mgmt.edgeorder.models.ProductFamiliesMetadataDetails] + :ivar next_link: Link for the next set of product families. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ProductFamiliesMetadataDetails]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductFamiliesMetadata, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ProductFamiliesMetadataDetails(msrest.serialization.Model): + """Product families metadata details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar product_lines: List of product lines supported in the product family. + :vartype product_lines: list[~azure.mgmt.edgeorder.models.ProductLine] + :param resource_provider_details: Contains details related to resource provider. + :type resource_provider_details: list[~azure.mgmt.edgeorder.models.ResourceProviderDetails] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'product_lines': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'product_lines': {'key': 'properties.productLines', 'type': '[ProductLine]'}, + 'resource_provider_details': {'key': 'properties.resourceProviderDetails', 'type': '[ResourceProviderDetails]'}, + } + + def __init__( + self, + *, + resource_provider_details: Optional[List["ResourceProviderDetails"]] = None, + **kwargs + ): + super(ProductFamiliesMetadataDetails, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.product_lines = None + self.resource_provider_details = resource_provider_details + + +class ProductFamiliesRequest(msrest.serialization.Model): + """The filters for showing the product families. + + All required parameters must be populated in order to send to Azure. + + :param filterable_properties: Required. Dictionary of filterable properties on product family. + :type filterable_properties: dict[str, list[~azure.mgmt.edgeorder.models.FilterableProperty]] + :param customer_subscription_details: Customer subscription properties. Clients can display + available products to unregistered customers by explicitly passing subscription details. + :type customer_subscription_details: ~azure.mgmt.edgeorder.models.CustomerSubscriptionDetails + """ + + _validation = { + 'filterable_properties': {'required': True}, + } + + _attribute_map = { + 'filterable_properties': {'key': 'filterableProperties', 'type': '{[FilterableProperty]}'}, + 'customer_subscription_details': {'key': 'customerSubscriptionDetails', 'type': 'CustomerSubscriptionDetails'}, + } + + def __init__( + self, + *, + filterable_properties: Dict[str, List["FilterableProperty"]], + customer_subscription_details: Optional["CustomerSubscriptionDetails"] = None, + **kwargs + ): + super(ProductFamiliesRequest, self).__init__(**kwargs) + self.filterable_properties = filterable_properties + self.customer_subscription_details = customer_subscription_details + + +class ProductFamily(msrest.serialization.Model): + """Product Family. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar product_lines: List of product lines supported in the product family. + :vartype product_lines: list[~azure.mgmt.edgeorder.models.ProductLine] + :param resource_provider_details: Contains details related to resource provider. + :type resource_provider_details: list[~azure.mgmt.edgeorder.models.ResourceProviderDetails] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'product_lines': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'product_lines': {'key': 'properties.productLines', 'type': '[ProductLine]'}, + 'resource_provider_details': {'key': 'properties.resourceProviderDetails', 'type': '[ResourceProviderDetails]'}, + } + + def __init__( + self, + *, + resource_provider_details: Optional[List["ResourceProviderDetails"]] = None, + **kwargs + ): + super(ProductFamily, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.product_lines = None + self.resource_provider_details = resource_provider_details + + +class ProductFamilyProperties(CommonProperties): + """Properties of product family. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar product_lines: List of product lines supported in the product family. + :vartype product_lines: list[~azure.mgmt.edgeorder.models.ProductLine] + :param resource_provider_details: Contains details related to resource provider. + :type resource_provider_details: list[~azure.mgmt.edgeorder.models.ResourceProviderDetails] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'product_lines': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + 'product_lines': {'key': 'productLines', 'type': '[ProductLine]'}, + 'resource_provider_details': {'key': 'resourceProviderDetails', 'type': '[ResourceProviderDetails]'}, + } + + def __init__( + self, + *, + resource_provider_details: Optional[List["ResourceProviderDetails"]] = None, + **kwargs + ): + super(ProductFamilyProperties, self).__init__(**kwargs) + self.product_lines = None + self.resource_provider_details = resource_provider_details + + +class ProductLine(msrest.serialization.Model): + """Product line. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar products: List of products in the product line. + :vartype products: list[~azure.mgmt.edgeorder.models.Product] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'products': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'Description'}, + 'image_information': {'key': 'properties.imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'properties.costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'properties.availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'properties.hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'properties.filterableProperties', 'type': '[FilterableProperty]'}, + 'products': {'key': 'properties.products', 'type': '[Product]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductLine, self).__init__(**kwargs) + self.display_name = None + self.description = None + self.image_information = None + self.cost_information = None + self.availability_information = None + self.hierarchy_information = None + self.filterable_properties = None + self.products = None + + +class ProductLineProperties(CommonProperties): + """Properties of product line. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar products: List of products in the product line. + :vartype products: list[~azure.mgmt.edgeorder.models.Product] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'products': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + 'products': {'key': 'products', 'type': '[Product]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductLineProperties, self).__init__(**kwargs) + self.products = None + + +class ProductProperties(CommonProperties): + """Properties of products. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar display_name: Display Name for the product system. + :vartype display_name: str + :ivar description: Description related to the product system. + :vartype description: ~azure.mgmt.edgeorder.models.Description + :ivar image_information: Image information for the product system. + :vartype image_information: list[~azure.mgmt.edgeorder.models.ImageInformation] + :ivar cost_information: Cost information for the product system. + :vartype cost_information: ~azure.mgmt.edgeorder.models.CostInformation + :ivar availability_information: Availability information of the product system. + :vartype availability_information: ~azure.mgmt.edgeorder.models.AvailabilityInformation + :ivar hierarchy_information: Hierarchy information of a product. + :vartype hierarchy_information: ~azure.mgmt.edgeorder.models.HierarchyInformation + :ivar filterable_properties: list of filters supported for a product. + :vartype filterable_properties: list[~azure.mgmt.edgeorder.models.FilterableProperty] + :ivar configurations: List of configurations for the product. + :vartype configurations: list[~azure.mgmt.edgeorder.models.Configuration] + """ + + _validation = { + 'display_name': {'readonly': True}, + 'description': {'readonly': True}, + 'image_information': {'readonly': True}, + 'cost_information': {'readonly': True}, + 'availability_information': {'readonly': True}, + 'hierarchy_information': {'readonly': True}, + 'filterable_properties': {'readonly': True}, + 'configurations': {'readonly': True}, + } + + _attribute_map = { + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'Description'}, + 'image_information': {'key': 'imageInformation', 'type': '[ImageInformation]'}, + 'cost_information': {'key': 'costInformation', 'type': 'CostInformation'}, + 'availability_information': {'key': 'availabilityInformation', 'type': 'AvailabilityInformation'}, + 'hierarchy_information': {'key': 'hierarchyInformation', 'type': 'HierarchyInformation'}, + 'filterable_properties': {'key': 'filterableProperties', 'type': '[FilterableProperty]'}, + 'configurations': {'key': 'configurations', 'type': '[Configuration]'}, + } + + def __init__( + self, + **kwargs + ): + super(ProductProperties, self).__init__(**kwargs) + self.configurations = None + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 PurchaseMeterDetails(MeterDetails): + """Billing type Purchase meter details. + + 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 billing_type: Required. Represents billing type.Constant filled by server. Possible + values include: "Pav2", "Purchase". + :type billing_type: str or ~azure.mgmt.edgeorder.models.BillingType + :ivar multiplier: Billing unit applicable for Pav2 billing. + :vartype multiplier: float + :ivar charging_type: Charging type. Possible values include: "PerOrder", "PerDevice". + :vartype charging_type: str or ~azure.mgmt.edgeorder.models.ChargingType + :ivar product_id: Product Id. + :vartype product_id: str + :ivar sku_id: Sku Id. + :vartype sku_id: str + :ivar term_id: Term Id. + :vartype term_id: str + """ + + _validation = { + 'billing_type': {'required': True}, + 'multiplier': {'readonly': True}, + 'charging_type': {'readonly': True}, + 'product_id': {'readonly': True}, + 'sku_id': {'readonly': True}, + 'term_id': {'readonly': True}, + } + + _attribute_map = { + 'billing_type': {'key': 'billingType', 'type': 'str'}, + 'multiplier': {'key': 'multiplier', 'type': 'float'}, + 'charging_type': {'key': 'chargingType', 'type': 'str'}, + 'product_id': {'key': 'productId', 'type': 'str'}, + 'sku_id': {'key': 'skuId', 'type': 'str'}, + 'term_id': {'key': 'termId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PurchaseMeterDetails, self).__init__(**kwargs) + self.billing_type = 'Purchase' # type: str + self.product_id = None + self.sku_id = None + self.term_id = None + + +class ResourceIdentity(msrest.serialization.Model): + """Msi identity details of the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param type: Identity type. + :type type: str + :ivar principal_id: Service Principal Id backing the Msi. + :vartype principal_id: str + :ivar tenant_id: Home Tenant Id. + :vartype tenant_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + super(ResourceIdentity, self).__init__(**kwargs) + self.type = type + self.principal_id = None + self.tenant_id = None + + +class ResourceProviderDetails(msrest.serialization.Model): + """Management RP details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_provider_namespace: Resource provider namespace. + :vartype resource_provider_namespace: str + """ + + _validation = { + 'resource_provider_namespace': {'readonly': True}, + } + + _attribute_map = { + 'resource_provider_namespace': {'key': 'resourceProviderNamespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderDetails, self).__init__(**kwargs) + self.resource_provider_namespace = None + + +class ReturnOrderItemDetails(msrest.serialization.Model): + """Return order item request body. + + All required parameters must be populated in order to send to Azure. + + :param return_address: customer return address. + :type return_address: ~azure.mgmt.edgeorder.models.AddressProperties + :param return_reason: Required. Return Reason. + :type return_reason: str + :param service_tag: Service tag (located on the bottom-right corner of the device). + :type service_tag: str + :param shipping_box_required: Shipping Box required. + :type shipping_box_required: bool + """ + + _validation = { + 'return_reason': {'required': True}, + } + + _attribute_map = { + 'return_address': {'key': 'returnAddress', 'type': 'AddressProperties'}, + 'return_reason': {'key': 'returnReason', 'type': 'str'}, + 'service_tag': {'key': 'serviceTag', 'type': 'str'}, + 'shipping_box_required': {'key': 'shippingBoxRequired', 'type': 'bool'}, + } + + def __init__( + self, + *, + return_reason: str, + return_address: Optional["AddressProperties"] = None, + service_tag: Optional[str] = None, + shipping_box_required: Optional[bool] = False, + **kwargs + ): + super(ReturnOrderItemDetails, self).__init__(**kwargs) + self.return_address = return_address + self.return_reason = return_reason + self.service_tag = service_tag + self.shipping_box_required = shipping_box_required + + +class ReverseShippingDetails(msrest.serialization.Model): + """Reverse shipment details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar sas_key_for_label: SAS key to download the reverse shipment label of the package. + :vartype sas_key_for_label: str + :ivar carrier_name: Name of the carrier. + :vartype carrier_name: str + :ivar carrier_display_name: Carrier Name for display purpose. Not to be used for any + processing. + :vartype carrier_display_name: str + :ivar tracking_id: TrackingId of the package. + :vartype tracking_id: str + :ivar tracking_url: TrackingUrl of the package. + :vartype tracking_url: str + """ + + _validation = { + 'sas_key_for_label': {'readonly': True}, + 'carrier_name': {'readonly': True}, + 'carrier_display_name': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'tracking_url': {'readonly': True}, + } + + _attribute_map = { + 'sas_key_for_label': {'key': 'sasKeyForLabel', 'type': 'str'}, + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'carrier_display_name': {'key': 'carrierDisplayName', 'type': 'str'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ReverseShippingDetails, self).__init__(**kwargs) + self.sas_key_for_label = None + self.carrier_name = None + self.carrier_display_name = None + self.tracking_id = None + self.tracking_url = None + + +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. + + :param street_address1: Required. Street Address line 1. + :type street_address1: str + :param street_address2: Street Address line 2. + :type street_address2: str + :param street_address3: Street Address line 3. + :type street_address3: str + :param city: Name of the City. + :type city: str + :param state_or_province: Name of the State or Province. + :type state_or_province: str + :param country: Required. Name of the Country. + :type country: str + :param postal_code: Postal code. + :type postal_code: str + :param zip_extended_code: Extended Zip Code. + :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". + :type address_type: str or ~azure.mgmt.edgeorder.models.AddressType + """ + + _validation = { + 'street_address1': {'required': True}, + 'country': {'required': True}, + } + + _attribute_map = { + 'street_address1': {'key': 'streetAddress1', 'type': 'str'}, + 'street_address2': {'key': 'streetAddress2', 'type': 'str'}, + 'street_address3': {'key': 'streetAddress3', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + 'state_or_province': {'key': 'stateOrProvince', 'type': 'str'}, + 'country': {'key': 'country', 'type': 'str'}, + 'postal_code': {'key': 'postalCode', 'type': 'str'}, + 'zip_extended_code': {'key': 'zipExtendedCode', 'type': 'str'}, + 'company_name': {'key': 'companyName', 'type': 'str'}, + 'address_type': {'key': 'addressType', 'type': 'str'}, + } + + def __init__( + self, + *, + street_address1: str, + country: str, + street_address2: Optional[str] = None, + street_address3: Optional[str] = None, + city: Optional[str] = None, + state_or_province: Optional[str] = None, + postal_code: 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 + self.street_address3 = street_address3 + self.city = city + self.state_or_province = state_or_province + self.country = country + self.postal_code = postal_code + self.zip_extended_code = zip_extended_code + self.company_name = company_name + self.address_type = address_type + + +class ShippingDetails(msrest.serialization.Model): + """Package shipping details. + + 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 + :ivar carrier_display_name: Carrier Name for display purpose. Not to be used for any + processing. + :vartype carrier_display_name: str + :ivar tracking_id: TrackingId of the package. + :vartype tracking_id: str + :ivar tracking_url: TrackingUrl of the package. + :vartype tracking_url: str + """ + + _validation = { + 'carrier_name': {'readonly': True}, + 'carrier_display_name': {'readonly': True}, + 'tracking_id': {'readonly': True}, + 'tracking_url': {'readonly': True}, + } + + _attribute_map = { + 'carrier_name': {'key': 'carrierName', 'type': 'str'}, + 'carrier_display_name': {'key': 'carrierDisplayName', 'type': 'str'}, + 'tracking_id': {'key': 'trackingId', 'type': 'str'}, + 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ShippingDetails, self).__init__(**kwargs) + self.carrier_name = None + self.carrier_display_name = None + self.tracking_id = None + self.tracking_url = None + + +class Specification(msrest.serialization.Model): + """Specifications of the configurations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the specification. + :vartype name: str + :ivar value: Value of the specification. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Specification, self).__init__(**kwargs) + self.name = None + self.value = None + + +class StageDetails(msrest.serialization.Model): + """Resource stage details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar stage_status: Stage status. Possible values include: "None", "InProgress", "Succeeded", + "Failed", "Cancelled", "Cancelling". + :vartype stage_status: str or ~azure.mgmt.edgeorder.models.StageStatus + :ivar stage_name: Stage name. Possible values include: "Placed", "InReview", "Confirmed", + "ReadyToShip", "Shipped", "Delivered", "InUse", "ReturnInitiated", "ReturnPickedUp", + "ReturnedToMicrosoft", "ReturnCompleted", "Cancelled". + :vartype stage_name: str or ~azure.mgmt.edgeorder.models.StageName + :ivar display_name: Display name of the resource stage. + :vartype display_name: str + :ivar start_time: Stage start time. + :vartype start_time: ~datetime.datetime + """ + + _validation = { + 'stage_status': {'readonly': True}, + 'stage_name': {'readonly': True}, + 'display_name': {'readonly': True}, + 'start_time': {'readonly': True}, + } + + _attribute_map = { + 'stage_status': {'key': 'stageStatus', 'type': 'str'}, + 'stage_name': {'key': 'stageName', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(StageDetails, self).__init__(**kwargs) + self.stage_status = None + self.stage_name = None + self.display_name = None + self.start_time = 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.mgmt.edgeorder.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.mgmt.edgeorder.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 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.edgeorder.models.TransportShipmentTypes + """ + + _validation = { + 'preferred_shipment_type': {'required': True}, + } + + _attribute_map = { + 'preferred_shipment_type': {'key': 'preferredShipmentType', 'type': 'str'}, + } + + def __init__( + self, + *, + preferred_shipment_type: Union[str, "TransportShipmentTypes"], + **kwargs + ): + super(TransportPreferences, self).__init__(**kwargs) + self.preferred_shipment_type = preferred_shipment_type diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/__init__.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/__init__.py new file mode 100644 index 00000000000..fe832cfec5d --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/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 ._edge_order_management_client_operations import EdgeOrderManagementClientOperationsMixin +from ._addresses_operations import AddressesOperations +from ._order_operations import OrderOperations +from ._order_items_operations import OrderItemsOperations + +__all__ = [ + 'EdgeOrderManagementClientOperationsMixin', + 'AddressesOperations', + 'OrderOperations', + 'OrderItemsOperations', +] diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_addresses_operations.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_addresses_operations.py new file mode 100644 index 00000000000..30ac3755d2d --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_addresses_operations.py @@ -0,0 +1,210 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 AddressesOperations(object): + """AddressesOperations 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.edgeorder.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, + filter=None, # type: Optional[str] + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.AddressResourceList"] + """Lists all the addresses available under the subscription. + + :param filter: $filter is supported to filter based on shipping address properties. Filter + supports only equals operation. + :type filter: str + :param skip_token: $skipToken is supported on Get list of addresses, which provides the next + page in the list of addresses. + :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 AddressResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.AddressResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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', 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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, '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('AddressResourceList', 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.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.EdgeOrder/addresses'} # type: ignore + + def list_by_group( + self, + resource_group_name, # type: str + filter=None, # type: Optional[str] + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.AddressResourceList"] + """Lists all the addresses available under the given resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param filter: $filter is supported to filter based on shipping address properties. Filter + supports only equals operation. + :type filter: str + :param skip_token: $skipToken is supported on Get list of addresses, which provides the next + page in the list of address. + :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 AddressResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.AddressResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_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), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, '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('AddressResourceList', 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.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_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses'} # type: ignore diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_edge_order_management_client_operations.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_edge_order_management_client_operations.py new file mode 100644 index 00000000000..b4252ade65e --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_edge_order_management_client_operations.py @@ -0,0 +1,1485 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 EdgeOrderManagementClientOperationsMixin(object): + + def list_operations( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.OperationListResult"] + """This method gets all the operations that are exposed for customer. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_operations.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('OperationListResult', 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.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_operations.metadata = {'url': '/providers/Microsoft.EdgeOrder/operations'} # type: ignore + + def list_product_families( + self, + product_families_request, # type: "models.ProductFamiliesRequest" + expand=None, # type: Optional[str] + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ProductFamilies"] + """This method provides the list of product families for the given subscription. + + :param product_families_request: Filters for showing the product families. + :type product_families_request: ~azure.mgmt.edgeorder.models.ProductFamiliesRequest + :param expand: $expand is supported on configurations parameter for product, which provides + details on the configurations for the product. + :type expand: str + :param skip_token: $skipToken is supported on list of product families, which provides the next + page in the list of product families. + :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 ProductFamilies or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.ProductFamilies] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProductFamilies"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_product_families.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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(product_families_request, 'ProductFamiliesRequest') + 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(product_families_request, 'ProductFamiliesRequest') + 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('ProductFamilies', 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.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_product_families.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listProductFamilies'} # type: ignore + + def list_configurations( + self, + configurations_request, # type: "models.ConfigurationsRequest" + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.Configurations"] + """This method provides the list of configurations for the given product family, product line and + product under subscription. + + :param configurations_request: Filters for showing the configurations. + :type configurations_request: ~azure.mgmt.edgeorder.models.ConfigurationsRequest + :param skip_token: $skipToken is supported on list of configurations, which provides the next + page in the list of configurations. + :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 Configurations or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.Configurations] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Configurations"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_configurations.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') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(configurations_request, 'ConfigurationsRequest') + 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(configurations_request, 'ConfigurationsRequest') + 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('Configurations', 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.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_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listConfigurations'} # type: ignore + + def list_product_families_metadata( + self, + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ProductFamiliesMetadata"] + """This method provides the list of product families metadata for the given subscription. + + :param skip_token: $skipToken is supported on list of product families metadata, which provides + the next page in the list of product families metadata. + :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 ProductFamiliesMetadata or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.ProductFamiliesMetadata] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ProductFamiliesMetadata"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_product_families_metadata.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') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, '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('ProductFamiliesMetadata', 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.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_product_families_metadata.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/productFamiliesMetadata'} # type: ignore + + def get_address_by_name( + self, + address_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.AddressResource" + """Gets information about the specified address. + + :param address_name: The name of the address Resource within the specified resource group. + address names must be between 3 and 24 characters in length and use any alphanumeric and + underscore only. + :type address_name: str + :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: AddressResource, or the result of cls(response) + :rtype: ~azure.mgmt.edgeorder.models.AddressResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + accept = "application/json" + + # Construct URL + url = self.get_address_by_name.metadata['url'] # type: ignore + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + url = self._client.format_url(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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_address_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + def _create_address_initial( + self, + address_name, # type: str + resource_group_name, # type: str + address_resource, # type: "models.AddressResource" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.AddressResource"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.AddressResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_address_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + url = self._client.format_url(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(address_resource, 'AddressResource') + 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) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_address_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + def begin_create_address( + self, + address_name, # type: str + resource_group_name, # type: str + address_resource, # type: "models.AddressResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.AddressResource"] + """Creates a new address with the specified parameters. Existing address can be updated with this + API. + + :param address_name: The name of the address Resource within the specified resource group. + address names must be between 3 and 24 characters in length and use any alphanumeric and + underscore only. + :type address_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param address_resource: Address details from request body. + :type address_resource: ~azure.mgmt.edgeorder.models.AddressResource + :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 AddressResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.edgeorder.models.AddressResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResource"] + 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_address_initial( + address_name=address_name, + resource_group_name=resource_group_name, + address_resource=address_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('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + + 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_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + def _delete_address_by_name_initial( + self, + address_name, # type: str + resource_group_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-12-01" + accept = "application/json" + + # Construct URL + url = self._delete_address_by_name_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + url = self._client.format_url(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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_address_by_name_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + def begin_delete_address_by_name( + self, + address_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes an address. + + :param address_name: The name of the address Resource within the specified resource group. + address names must be between 3 and 24 characters in length and use any alphanumeric and + underscore only. + :type address_name: str + :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 + :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_address_by_name_initial( + address_name=address_name, + resource_group_name=resource_group_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 = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + + 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_address_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + def _update_address_initial( + self, + address_name, # type: str + resource_group_name, # type: str + address_update_parameter, # type: "models.AddressUpdateParameter" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.AddressResource"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.AddressResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_address_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + url = self._client.format_url(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(address_update_parameter, 'AddressUpdateParameter') + 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_address_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + def begin_update_address( + self, + address_name, # type: str + resource_group_name, # type: str + address_update_parameter, # type: "models.AddressUpdateParameter" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.AddressResource"] + """Updates the properties of an existing address. + + :param address_name: The name of the address Resource within the specified resource group. + address names must be between 3 and 24 characters in length and use any alphanumeric and + underscore only. + :type address_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param address_update_parameter: Address update parameters from request body. + :type address_update_parameter: ~azure.mgmt.edgeorder.models.AddressUpdateParameter + :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 AddressResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.edgeorder.models.AddressResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.AddressResource"] + 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_address_initial( + address_name=address_name, + resource_group_name=resource_group_name, + address_update_parameter=address_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('AddressResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'addressName': self._serialize.url("address_name", address_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + '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), + } + + 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_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}'} # type: ignore + + def get_order_by_name( + self, + order_name, # type: str + resource_group_name, # type: str + location, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.OrderResource" + """Gets an order. + + :param order_name: The name of the order. + :type order_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param location: The name of Azure region. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OrderResource, or the result of cls(response) + :rtype: ~azure.mgmt.edgeorder.models.OrderResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + accept = "application/json" + + # Construct URL + url = self.get_order_by_name.metadata['url'] # type: ignore + path_format_arguments = { + 'orderName': self._serialize.url("order_name", order_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), + 'location': self._serialize.url("location", location, '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') + + # 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OrderResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_order_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/locations/{location}/orders/{orderName}'} # type: ignore + + def get_order_item_by_name( + self, + order_item_name, # type: str + resource_group_name, # type: str + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.OrderItemResource" + """Gets an order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param expand: $expand is supported on device details, forward shipping details and reverse + shipping details parameters. Each of these can be provided as a comma separated list. Device + Details for order item provides details on the devices of the product, Forward and Reverse + Shipping details provide forward and reverse shipping details respectively. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OrderItemResource, or the result of cls(response) + :rtype: ~azure.mgmt.edgeorder.models.OrderItemResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + accept = "application/json" + + # Construct URL + url = self.get_order_item_by_name.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_order_item_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + def _create_order_item_initial( + self, + order_item_name, # type: str + resource_group_name, # type: str + order_item_resource, # type: "models.OrderItemResource" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OrderItemResource"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OrderItemResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_order_item_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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(order_item_resource, 'OrderItemResource') + 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) + error = self._deserialize(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_order_item_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + def begin_create_order_item( + self, + order_item_name, # type: str + resource_group_name, # type: str + order_item_resource, # type: "models.OrderItemResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OrderItemResource"] + """Creates an order item. Existing order item cannot be updated with this api and should instead + be updated with the Update order item API. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param order_item_resource: Order item details from request body. + :type order_item_resource: ~azure.mgmt.edgeorder.models.OrderItemResource + :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 OrderItemResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.edgeorder.models.OrderItemResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResource"] + 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_order_item_initial( + order_item_name=order_item_name, + resource_group_name=resource_group_name, + order_item_resource=order_item_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('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + + 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_order_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + def _delete_order_item_by_name_initial( + self, + order_item_name, # type: str + resource_group_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-12-01" + accept = "application/json" + + # Construct URL + url = self._delete_order_item_by_name_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_order_item_by_name_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + def begin_delete_order_item_by_name( + self, + order_item_name, # type: str + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes an order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :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 + :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_order_item_by_name_initial( + order_item_name=order_item_name, + resource_group_name=resource_group_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 = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + + 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_order_item_by_name.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + def _update_order_item_initial( + self, + order_item_name, # type: str + resource_group_name, # type: str + order_item_update_parameter, # type: "models.OrderItemUpdateParameter" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.OrderItemResource"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.OrderItemResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_order_item_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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(order_item_update_parameter, 'OrderItemUpdateParameter') + 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.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_order_item_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + def begin_update_order_item( + self, + order_item_name, # type: str + resource_group_name, # type: str + order_item_update_parameter, # type: "models.OrderItemUpdateParameter" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.OrderItemResource"] + """Updates the properties of an existing order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param order_item_update_parameter: order item update parameters from request body. + :type order_item_update_parameter: ~azure.mgmt.edgeorder.models.OrderItemUpdateParameter + :param if_match: Defines the If-Match condition. The patch will be performed only if the ETag + of the order 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 OrderItemResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.edgeorder.models.OrderItemResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResource"] + 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_order_item_initial( + order_item_name=order_item_name, + resource_group_name=resource_group_name, + order_item_update_parameter=order_item_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('OrderItemResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + + 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_order_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}'} # type: ignore + + def cancel_order_item( + self, + order_item_name, # type: str + resource_group_name, # type: str + cancellation_reason, # type: "models.CancellationReason" + **kwargs # type: Any + ): + # type: (...) -> None + """Cancel order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cancellation_reason: Reason for cancellation. + :type cancellation_reason: ~azure.mgmt.edgeorder.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 = "2021-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.cancel_order_item.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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 [200, 204]: + 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) + + if cls: + return cls(pipeline_response, None, {}) + + cancel_order_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/cancel'} # type: ignore + + def _return_order_item_initial( + self, + order_item_name, # type: str + resource_group_name, # type: str + return_order_item_details, # type: "models.ReturnOrderItemDetails" + **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-12-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._return_order_item_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + url = self._client.format_url(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(return_order_item_details, 'ReturnOrderItemDetails') + 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(models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _return_order_item_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/return'} # type: ignore + + def begin_return_order_item( + self, + order_item_name, # type: str + resource_group_name, # type: str + return_order_item_details, # type: "models.ReturnOrderItemDetails" + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Return order item. + + :param order_item_name: The name of the order item. + :type order_item_name: str + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param return_order_item_details: Return order item CurrentStatus. + :type return_order_item_details: ~azure.mgmt.edgeorder.models.ReturnOrderItemDetails + :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._return_order_item_initial( + order_item_name=order_item_name, + resource_group_name=resource_group_name, + return_order_item_details=return_order_item_details, + 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 = { + 'orderItemName': self._serialize.url("order_item_name", order_item_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), + } + + 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_return_order_item.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/return'} # type: ignore diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_order_items_operations.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_order_items_operations.py new file mode 100644 index 00000000000..19755cc7eb8 --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_order_items_operations.py @@ -0,0 +1,226 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 OrderItemsOperations(object): + """OrderItemsOperations 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.edgeorder.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, + filter=None, # type: Optional[str] + expand=None, # type: Optional[str] + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.OrderItemResourceList"] + """Lists order item at subscription level. + + :param filter: $filter is supported to filter based on order id. Filter supports only equals + operation. + :type filter: str + :param expand: $expand is supported on device details, forward shipping details and reverse + shipping details parameters. Each of these can be provided as a comma separated list. Device + Details for order item provides details on the devices of the product, Forward and Reverse + Shipping details provide forward and reverse shipping details respectively. + :type expand: str + :param skip_token: $skipToken is supported on Get list of order items, which provides the next + page in the list of order items. + :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 OrderItemResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.OrderItemResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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', 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') + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, '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('OrderItemResourceList', 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.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.EdgeOrder/orderItems'} # type: ignore + + def list_by_group( + self, + resource_group_name, # type: str + filter=None, # type: Optional[str] + expand=None, # type: Optional[str] + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.OrderItemResourceList"] + """Lists order item at resource group level. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param filter: $filter is supported to filter based on order id. Filter supports only equals + operation. + :type filter: str + :param expand: $expand is supported on device details, forward shipping details and reverse + shipping details parameters. Each of these can be provided as a comma separated list. Device + Details for order item provides details on the devices of the product, Forward and Reverse + Shipping details provide forward and reverse shipping details respectively. + :type expand: str + :param skip_token: $skipToken is supported on Get list of order items, which provides the next + page in the list of order items. + :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 OrderItemResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.OrderItemResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderItemResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_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), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, '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('OrderItemResourceList', 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.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_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems'} # type: ignore diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_order_operations.py b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_order_operations.py new file mode 100644 index 00000000000..900c1bf992d --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/operations/_order_operations.py @@ -0,0 +1,198 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 OrderOperations(object): + """OrderOperations 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.edgeorder.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.OrderResourceList"] + """Lists order at subscription level. + + :param skip_token: $skipToken is supported on Get list of order, which provides the next page + in the list of order. + :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 OrderResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.OrderResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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', 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') + 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('OrderResourceList', 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.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.EdgeOrder/orders'} # type: ignore + + def list_by_group( + self, + resource_group_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.OrderResourceList"] + """Lists order at resource group level. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param skip_token: $skipToken is supported on Get list of order, which provides the next page + in the list of order. + :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 OrderResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.edgeorder.models.OrderResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OrderResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-12-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_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), + } + url = self._client.format_url(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('OrderResourceList', 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.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_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders'} # type: ignore diff --git a/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/py.typed b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/edgeorder/azext_edgeorder/vendored_sdks/edgeorder/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/edgeorder/setup.cfg b/src/edgeorder/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/edgeorder/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/edgeorder/setup.py b/src/edgeorder/setup.py new file mode 100644 index 00000000000..902e6a23906 --- /dev/null +++ b/src/edgeorder/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_edgeorder.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_edgeorder.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='edgeorder', + version=VERSION, + description='Microsoft Azure Command-Line Tools EdgeOrderManagementClient Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/edgeorder', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_edgeorder': ['azext_metadata.json']}, +) diff --git a/src/elastic/setup.py b/src/elastic/setup.py index 45f89fa2a22..868634cc1ef 100644 --- a/src/elastic/setup.py +++ b/src/elastic/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools MicrosoftElastic Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/elastic', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/elastic', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/enterprise-edge/HISTORY.rst b/src/enterprise-edge/HISTORY.rst new file mode 100644 index 00000000000..8afa59dba2d --- /dev/null +++ b/src/enterprise-edge/HISTORY.rst @@ -0,0 +1,12 @@ +.. :changelog: + +Release History +=============== + +0.1.1 +++++++ +* Automatically register Microsoft.CDN resource provider upon running enable command + +0.1.0 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/enterprise-edge/README.rst b/src/enterprise-edge/README.rst new file mode 100644 index 00000000000..e3f9519fd60 --- /dev/null +++ b/src/enterprise-edge/README.rst @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'enterprise-edge' Extension +========================================== + +This package is for the 'enterprise-edge' extension. +i.e. 'az staticwebapp enterprise-edge' \ No newline at end of file diff --git a/src/enterprise-edge/azext_enterprise_edge/__init__.py b/src/enterprise-edge/azext_enterprise_edge/__init__.py new file mode 100644 index 00000000000..5640792ec88 --- /dev/null +++ b/src/enterprise-edge/azext_enterprise_edge/__init__.py @@ -0,0 +1,29 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_enterprise_edge._help import helps # pylint: disable=unused-import + + +class EnterpriseEdgeCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + enterprise_edge_custom = CliCommandType( + operations_tmpl='azext_enterprise_edge.custom#{}') + super().__init__(cli_ctx=cli_ctx, custom_command_type=enterprise_edge_custom) + + def load_command_table(self, args): + from azext_enterprise_edge.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_enterprise_edge._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = EnterpriseEdgeCommandsLoader diff --git a/src/enterprise-edge/azext_enterprise_edge/_help.py b/src/enterprise-edge/azext_enterprise_edge/_help.py new file mode 100644 index 00000000000..e0a4ba534ea --- /dev/null +++ b/src/enterprise-edge/azext_enterprise_edge/_help.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. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + + +helps['staticwebapp enterprise-edge'] = """ + type: group + short-summary: Manage the Azure Front Door CDN for static webapps. For optimal experience and availability please check our documentation https://aka.ms/swaedge +""" + +helps['staticwebapp enterprise-edge enable'] = """ + type: command + short-summary: Enable the Azure Front Door CDN for a static webapp. Enabling enterprise-grade edge requires re-registration for the Azure Front Door Microsoft.CDN resource provider. For optimal experience and availability please check our documentation https://aka.ms/swaedge +""" + +helps['staticwebapp enterprise-edge disable'] = """ + type: command + short-summary: Disable the Azure Front Door CDN for a static webapp. For optimal experience and availability please check our documentation https://aka.ms/swaedge +""" + +helps['staticwebapp enterprise-edge show'] = """ + type: command + short-summary: Show the status (Enabled, Disabled, Enabling, Disabling) of the Azure Front Door CDN for a webapp. For optimal experience and availability please check our documentation https://aka.ms/swaedge +""" diff --git a/src/enterprise-edge/azext_enterprise_edge/_params.py b/src/enterprise-edge/azext_enterprise_edge/_params.py new file mode 100644 index 00000000000..97bf9153519 --- /dev/null +++ b/src/enterprise-edge/azext_enterprise_edge/_params.py @@ -0,0 +1,22 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable=line-too-long + +from knack.arguments import CLIArgumentType + +from azure.cli.core.commands.parameters import resource_group_name_type + + +def load_arguments(self, _): + staticsite_name_arg_type = CLIArgumentType(options_list=['--name', '-n'], + metavar='NAME', + help="name of the staticwebapp") + + with self.argument_context('staticwebapp enterprise-edge') as c: + c.argument("name", arg_type=staticsite_name_arg_type) + c.argument("resource_group_name", arg_type=resource_group_name_type) + + with self.argument_context('staticwebapp enterprise-edge') as c: + c.argument("no_register", help="Don't try to register the Microsoft.CDN provider. Registration can be done manually with: az provider register --wait --namespace Microsoft.CDN. For more details, please review the documentation available at https://go.microsoft.com/fwlink/?linkid=2184995 .", default=False) diff --git a/src/enterprise-edge/azext_enterprise_edge/azext_metadata.json b/src/enterprise-edge/azext_enterprise_edge/azext_metadata.json new file mode 100644 index 00000000000..97ba30d4e5e --- /dev/null +++ b/src/enterprise-edge/azext_enterprise_edge/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.29.0" +} \ No newline at end of file diff --git a/src/enterprise-edge/azext_enterprise_edge/commands.py b/src/enterprise-edge/azext_enterprise_edge/commands.py new file mode 100644 index 00000000000..73801503b17 --- /dev/null +++ b/src/enterprise-edge/azext_enterprise_edge/commands.py @@ -0,0 +1,13 @@ +# -------------------------------------------------------------------------------------------- +# 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 + + +def load_command_table(self, _): + with self.command_group('staticwebapp enterprise-edge', is_preview=True) as g: + g.custom_command('enable', 'enable_staticwebapp_enterprise_edge') + g.custom_command('disable', 'disable_staticwebapp_enterprise_edge') + g.custom_show_command('show', 'show_staticwebapp_enterprise_edge_status') diff --git a/src/enterprise-edge/azext_enterprise_edge/custom.py b/src/enterprise-edge/azext_enterprise_edge/custom.py new file mode 100644 index 00000000000..388bcbe579c --- /dev/null +++ b/src/enterprise-edge/azext_enterprise_edge/custom.py @@ -0,0 +1,102 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import json + +from knack.util import CLIError +from knack.log import get_logger + +from azure.cli.core.util import send_raw_request +from azure.cli.core.commands.client_factory import get_subscription_id +from azure.cli.command_modules.appservice._client_factory import providers_client_factory + + +logger = get_logger(__name__) + + +class StaticWebAppFrontDoorClient: + @classmethod + def _request(cls, cmd, resource_group, name, http_method="GET", body=None): + management_hostname = cmd.cli_ctx.cloud.endpoints.resource_manager + api_version = "2021-02-01" + sub_id = get_subscription_id(cmd.cli_ctx) + url_fmt = "{}/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Web/staticSites/{}?api-version={}" + request_url = url_fmt.format( + management_hostname.strip('/'), + sub_id, + resource_group, + name, + api_version) + + if body is not None: + r = send_raw_request(cmd.cli_ctx, http_method, request_url, body=json.dumps(body)) + else: + r = send_raw_request(cmd.cli_ctx, http_method, request_url) + + return r + + @classmethod + def set(cls, cmd, resource_group, name, enable, no_register=False): + params = cls.get(cmd, resource_group, name).json() + + if enable and not no_register: + cls._register_cdn_provider(cmd) + cls._validate_sku(params["sku"].get("name")) + + params["properties"]["enterpriseGradeCdnStatus"] = "enabled" if enable else "disabled" + return cls._request(cmd, resource_group, name, "PUT", params) + + @classmethod + def get(cls, cmd, resource_group, name): + return cls._request(cmd, resource_group, name) + + @classmethod + def _register_cdn_provider(cls, cmd): + from azure.mgmt.resource.resources.models import ProviderRegistrationRequest, ProviderConsentDefinition + + namespace = "Microsoft.CDN" + properties = ProviderRegistrationRequest(third_party_provider_consent=ProviderConsentDefinition( + consent_to_authorization=True)) + + client = providers_client_factory(cmd.cli_ctx) + try: + client.register(namespace, properties=properties) + except Exception as e: + msg = "Server responded with error message : {} \n"\ + "Enabling enterprise-grade edge requires reregistration for the Azure Front "\ + "Door Microsoft.CDN resource provider. We were unable to perform that reregistration on your "\ + "behalf. Please check with your admin on permissions and review the documentation available at "\ + "https://go.microsoft.com/fwlink/?linkid=2185350. "\ + "Or try running registration manually with: az provider register --wait --namespace Microsoft.CDN" + raise CLIError(msg.format(e.args)) from e + + @classmethod + def _validate_sku(cls, sku_name): + if sku_name.lower() != "standard": + raise CLIError("Invalid SKU: '{}'. Staticwebapp must have 'Standard' SKU to use " + "enterprise edge CDN".format(sku_name)) + + +def _format_show_response(cmd, name, resource_group_name): + staticsite_data = StaticWebAppFrontDoorClient.get(cmd, name=name, resource_group=resource_group_name).json() + return {"enterpriseGradeCdnStatus": staticsite_data["properties"]["enterpriseGradeCdnStatus"]} + + +def enable_staticwebapp_enterprise_edge(cmd, name, resource_group_name, no_register=False): + logger.warning("For optimal experience and availability please check our documentation https://aka.ms/swaedge") + StaticWebAppFrontDoorClient.set(cmd, name=name, resource_group=resource_group_name, enable=True, + no_register=no_register) + return _format_show_response(cmd, name, resource_group_name) + + +def disable_staticwebapp_enterprise_edge(cmd, name, resource_group_name): + logger.warning("For optimal experience and availability please check our documentation https://aka.ms/swaedge") + StaticWebAppFrontDoorClient.set(cmd, name=name, resource_group=resource_group_name, enable=False) + return _format_show_response(cmd, name, resource_group_name) + + +def show_staticwebapp_enterprise_edge_status(cmd, name, resource_group_name): + logger.warning("For optimal experience and availability please check our documentation https://aka.ms/swaedge") + return _format_show_response(cmd, name, resource_group_name) diff --git a/src/enterprise-edge/azext_enterprise_edge/tests/__init__.py b/src/enterprise-edge/azext_enterprise_edge/tests/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/enterprise-edge/azext_enterprise_edge/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/enterprise-edge/azext_enterprise_edge/tests/latest/__init__.py b/src/enterprise-edge/azext_enterprise_edge/tests/latest/__init__.py new file mode 100644 index 00000000000..2dcf9bb68b3 --- /dev/null +++ b/src/enterprise-edge/azext_enterprise_edge/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. +# ----------------------------------------------------------------------------- \ No newline at end of file diff --git a/src/datashare/azext_datashare/manual/_validators.py b/src/enterprise-edge/azext_enterprise_edge/tests/latest/test_enterprise-edge_scenario.py similarity index 58% rename from src/datashare/azext_datashare/manual/_validators.py rename to src/enterprise-edge/azext_enterprise_edge/tests/latest/test_enterprise-edge_scenario.py index 26b40d74163..6b4e09913f3 100644 --- a/src/datashare/azext_datashare/manual/_validators.py +++ b/src/enterprise-edge/azext_enterprise_edge/tests/latest/test_enterprise-edge_scenario.py @@ -2,10 +2,15 @@ # 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 +import os +import unittest -def invitation_id_validator(cmd, namespace): - if namespace.invitation_id: - if namespace.invitation_id.startswith("/providers"): - namespace.invitation_id = namespace.invitation_id.split("/")[-1] +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +# TODO \ No newline at end of file diff --git a/src/enterprise-edge/setup.cfg b/src/enterprise-edge/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/enterprise-edge/setup.py b/src/enterprise-edge/setup.py new file mode 100644 index 00000000000..e645d07ecef --- /dev/null +++ b/src/enterprise-edge/setup.py @@ -0,0 +1,56 @@ +#!/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.1' + +# 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 = [] + +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='enterprise-edge', + version=VERSION, + description='Support for Static Webapp-Azure Front Door Integration (aka Static Webapp Enterprise Edge)', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/enterprise-edge', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_enterprise_edge': ['azext_metadata.json']}, +) diff --git a/src/eventgrid/setup.py b/src/eventgrid/setup.py index 5280499d98f..fc19f05626b 100644 --- a/src/eventgrid/setup.py +++ b/src/eventgrid/setup.py @@ -34,7 +34,7 @@ license='MIT', author='Ashraf Hamad.', author_email='ahamad@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/eventgrid', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), package_data={'azext_eventgrid': ['azext_metadata.json']}, diff --git a/src/express-route-cross-connection/setup.py b/src/express-route-cross-connection/setup.py index bfb54aa2cac..5a3f0608c41 100644 --- a/src/express-route-cross-connection/setup.py +++ b/src/express-route-cross-connection/setup.py @@ -35,7 +35,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/express-route-cross-connection', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/express-route-cross-connection', classifiers=CLASSIFIERS, package_data={'azext_expressroutecrossconnection': ['azext_metadata.json']}, packages=find_packages(), diff --git a/src/footprint/setup.py b/src/footprint/setup.py index 427accf3c32..143e791b69a 100644 --- a/src/footprint/setup.py +++ b/src/footprint/setup.py @@ -47,7 +47,7 @@ description='Microsoft Azure Command-Line Tools FootprintMonitoringManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/footprint', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/footprint', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/front-door/setup.py b/src/front-door/setup.py index 336911f67af..3924c7576dd 100644 --- a/src/front-door/setup.py +++ b/src/front-door/setup.py @@ -36,7 +36,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/front-door', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/front-door', long_description=README + '\n\n' + HISTORY, classifiers=CLASSIFIERS, package_data={'azext_front_door': ['azext_metadata.json']}, diff --git a/src/functionapp/setup.py b/src/functionapp/setup.py index a24a72a31f6..4510a81e177 100644 --- a/src/functionapp/setup.py +++ b/src/functionapp/setup.py @@ -47,7 +47,7 @@ long_description='Support for managing Azure Functions resources and configs.', author='Graham Zuber', author_email='grzuber@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/functionapp', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/functionapp', license='MIT', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), diff --git a/src/guestconfig/setup.py b/src/guestconfig/setup.py index a796c185b60..057075dfaba 100644 --- a/src/guestconfig/setup.py +++ b/src/guestconfig/setup.py @@ -47,7 +47,7 @@ description='Microsoft Azure Command-Line Tools GuestConfigurationClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/guestconfig', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/guestconfig', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/hack/setup.py b/src/hack/setup.py index f28316ca6b7..aadb5c8f491 100644 --- a/src/hack/setup.py +++ b/src/hack/setup.py @@ -50,7 +50,7 @@ # TODO: Update author and email, if applicable author='Christopher Harrison', author_email='chrhar@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/hack', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/hack', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/test_hardwaresecuritymodules_scenario.py b/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/test_hardwaresecuritymodules_scenario.py index 6d2797baa72..4db3629b667 100644 --- a/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/test_hardwaresecuritymodules_scenario.py +++ b/src/hardware-security-modules/azext_hardware_security_modules/tests/latest/test_hardwaresecuritymodules_scenario.py @@ -11,7 +11,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import ScenarioTest from .. import try_manual from azure.cli.testsdk import ResourceGroupPreparer diff --git a/src/hardware-security-modules/setup.py b/src/hardware-security-modules/setup.py index 9dc91de47ee..64e5811848b 100644 --- a/src/hardware-security-modules/setup.py +++ b/src/hardware-security-modules/setup.py @@ -43,7 +43,7 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/hardware-security-modules', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/healthbot/setup.py b/src/healthbot/setup.py index 9e41c201422..8b9e9fa1b36 100644 --- a/src/healthbot/setup.py +++ b/src/healthbot/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools HealthbotClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/healthbot', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/healthbot', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/healthcareapis/azext_healthcareapis/tests/latest/preparers.py b/src/healthcareapis/azext_healthcareapis/tests/latest/preparers.py index 64e1d2ce22d..a17625d9cb5 100644 --- a/src/healthcareapis/azext_healthcareapis/tests/latest/preparers.py +++ b/src/healthcareapis/azext_healthcareapis/tests/latest/preparers.py @@ -13,7 +13,7 @@ from azure.cli.testsdk.exceptions import CliTestError from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer from azure.cli.testsdk.reverse_dependency import get_dummy_cli -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.scenario_tests import SingleValueReplacer KEY_RESOURCE_GROUP = 'rg' diff --git a/src/healthcareapis/setup.py b/src/healthcareapis/setup.py index 23b376acafd..dbe9efa8f92 100644 --- a/src/healthcareapis/setup.py +++ b/src/healthcareapis/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/healthcareapis', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/healthcareapis', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, 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 a5735de9b5d..610f9587f4e 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 @@ -6,7 +6,7 @@ import os from unittest import mock -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer diff --git a/src/hpc-cache/setup.py b/src/hpc-cache/setup.py index 29fbf79957c..feacf760e29 100644 --- a/src/hpc-cache/setup.py +++ b/src/hpc-cache/setup.py @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/hpc-cache', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/hpc-cache', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/image-copy/HISTORY.rst b/src/image-copy/HISTORY.rst index 411a48885d8..e8bf471ccef 100644 --- a/src/image-copy/HISTORY.rst +++ b/src/image-copy/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.2.9 +++++++ +* Fix the issue that the hyper_v_generation is always V1 when copying the image. + 0.2.8 ++++++ * Remove unused --subscription parameter diff --git a/src/image-copy/azext_imagecopy/create_target.py b/src/image-copy/azext_imagecopy/create_target.py index 89897a94229..d8f2278f4d8 100644 --- a/src/image-copy/azext_imagecopy/create_target.py +++ b/src/image-copy/azext_imagecopy/create_target.py @@ -21,7 +21,7 @@ def create_target_image(cmd, location, transient_resource_group_name, source_type, source_object_name, source_os_disk_snapshot_name, source_os_disk_snapshot_url, source_os_type, target_resource_group_name, azure_pool_frequency, tags, target_name, target_subscription, - export_as_snapshot, timeout): + export_as_snapshot, timeout, hyper_v_generation='V1'): random_string = get_random_string( STORAGE_ACCOUNT_NAME_LENGTH - len(location)) @@ -123,7 +123,8 @@ def create_target_image(cmd, location, transient_resource_group_name, source_typ '--name', target_snapshot_name, '--location', location, '--source', target_blob_path, - '--source-storage-account-id', source_storage_account_id], + '--source-storage-account-id', source_storage_account_id, + '--hyper-v-generation', hyper_v_generation], subscription=target_subscription) json_output = run_cli_command(cli_cmd, return_as_json=True) @@ -147,7 +148,8 @@ def create_target_image(cmd, location, transient_resource_group_name, source_typ '--name', target_image_name, '--location', location, '--os-type', source_os_type, - '--source', target_snapshot_id], + '--source', target_snapshot_id, + '--hyper-v-generation', hyper_v_generation], tags=tags, subscription=target_subscription) diff --git a/src/image-copy/azext_imagecopy/custom.py b/src/image-copy/azext_imagecopy/custom.py index 8480959b579..92871e23985 100644 --- a/src/image-copy/azext_imagecopy/custom.py +++ b/src/image-copy/azext_imagecopy/custom.py @@ -85,6 +85,7 @@ def imagecopy(cmd, source_resource_group_name, source_object_name, target_locati logger.warning("Creating source snapshot") source_os_disk_snapshot_name = source_object_name + '_os_disk_snapshot' snapshot_location = json_cmd_output['location'] + hyper_v_generation = json_cmd_output['hyperVGeneration'] if source_os_disk_type == "BLOB": source_storage_account_id = get_storage_account_id_from_blob_path(cmd, source_os_disk_id, @@ -94,13 +95,15 @@ def imagecopy(cmd, source_resource_group_name, source_object_name, target_locati '--location', snapshot_location, '--resource-group', source_resource_group_name, '--source', source_os_disk_id, - '--source-storage-account-id', source_storage_account_id]) + '--source-storage-account-id', source_storage_account_id, + '--hyper-v-generation', hyper_v_generation]) else: cli_cmd = prepare_cli_command(['snapshot', 'create', '--name', source_os_disk_snapshot_name, '--location', snapshot_location, '--resource-group', source_resource_group_name, - '--source', source_os_disk_id]) + '--source', source_os_disk_id, + '--hyper-v-generation', hyper_v_generation]) run_cli_command(cli_cmd) @@ -155,7 +158,8 @@ def imagecopy(cmd, source_resource_group_name, source_object_name, target_locati create_target_image(cmd, location, transient_resource_group_name, source_type, source_object_name, source_os_disk_snapshot_name, source_os_disk_snapshot_url, source_os_type, target_resource_group_name, azure_pool_frequency, - tags, target_name, target_subscription, export_as_snapshot, timeout) + tags, target_name, target_subscription, export_as_snapshot, timeout, + hyper_v_generation) else: if parallel_degree == -1: pool = Pool(target_locations_count) @@ -168,7 +172,8 @@ def imagecopy(cmd, source_resource_group_name, source_object_name, target_locati tasks.append((location, transient_resource_group_name, source_type, source_object_name, source_os_disk_snapshot_name, source_os_disk_snapshot_url, source_os_type, target_resource_group_name, azure_pool_frequency, - tags, target_name, target_subscription, export_as_snapshot, timeout)) + tags, target_name, target_subscription, export_as_snapshot, timeout, + hyper_v_generation)) logger.warning("Starting async process for all locations") diff --git a/src/image-copy/azext_imagecopy/tests/latest/recordings/test_image_copy.yaml b/src/image-copy/azext_imagecopy/tests/latest/recordings/test_image_copy.yaml index 8e7f843efc0..1450dc825da 100644 --- a/src/image-copy/azext_imagecopy/tests/latest/recordings/test_image_copy.yaml +++ b/src/image-copy/azext_imagecopy/tests/latest/recordings/test_image_copy.yaml @@ -13,24 +13,21 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_image_copy_000001?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001","name":"cli_test_image_copy_000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-01-07T09:01:03Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001","name":"cli_test_image_copy_000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2022-01-28T02:27:40Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '330' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:01:08 GMT + - Fri, 28 Jan 2022 02:29:47 GMT expires: - '-1' pragma: @@ -44,107 +41,6 @@ interactions: status: code: 200 message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.22.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: - - Tue, 07 Jan 2020 09:01:09 GMT - etag: - - W/"540044b4084c3c314537f1baa1770f248628b2bc9ba0328f1004c33862e049da" - expires: - - Tue, 07 Jan 2020 09:06:09 GMT - source-age: - - '0' - strict-transport-security: - - max-age=31536000 - vary: - - Authorization,Accept-Encoding, Accept-Encoding - via: - - 1.1 varnish - x-cache: - - MISS - x-cache-hits: - - '0' - x-content-type-options: - - nosniff - x-fastly-request-id: - - 72a193fdb3acd818800b30717753d29aadb8db72 - x-frame-options: - - deny - x-geo-block-list: - - '' - x-github-request-id: - - 3EF6:72A5:B765DB:C55B2C:5E1448D3 - x-served-by: - - cache-sin18047-SIN - x-timer: - - S1578387669.928432,VS0,VE228 - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK - request: body: null headers: @@ -159,119 +55,43 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/canonical/artifacttypes/vmimage/offers/0001-com-ubuntu-server-focal/skus/20_04-lts-gen2/versions?$top=1&$orderby=name%20desc&api-version=2021-07-01 response: body: - string: '{"value":[]}' + string: "[\r\n {\r\n \"location\": \"westus\",\r\n \"name\": \"20.04.202201180\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/westus/Publishers/canonical/ArtifactTypes/VMImage/Offers/0001-com-ubuntu-server-focal/Skus/20_04-lts-gen2/Versions/20.04.202201180\"\r\n + \ }\r\n]" headers: cache-control: - no-cache content-length: - - '12' + - '307' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:01:08 GMT + - Fri, 28 Jan 2022 02:29:48 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/ListVMImagesVersionsFromLocation3Min;15999,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43999 status: code: 200 message: OK -- request: - body: 'b''{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": - [{"name": "vm1VNET", "type": "Microsoft.Network/virtualNetworks", "location": - "westus", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": - {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": - "vm1Subnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"type": "Microsoft.Network/networkSecurityGroups", - "name": "vm1NSG", "apiVersion": "2015-06-15", "location": "westus", "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": "vm1PublicIP", "location": - "westus", "tags": {}, "dependsOn": [], "properties": {"publicIPAllocationMethod": - null}}, {"apiVersion": "2015-06-15", "type": "Microsoft.Network/networkInterfaces", - "name": "vm1VMNic", "location": "westus", "tags": {}, "dependsOn": ["Microsoft.Network/virtualNetworks/vm1VNET", - "Microsoft.Network/networkSecurityGroups/vm1NSG", "Microsoft.Network/publicIpAddresses/vm1PublicIP"], - "properties": {"ipConfigurations": [{"name": "ipconfigvm1", "properties": {"privateIPAllocationMethod": - "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/vm1Subnet"}, - "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"}}}], - "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"}}}, - {"apiVersion": "2019-07-01", "type": "Microsoft.Compute/virtualMachines", "name": - "vm1", "location": "westus", "tags": {}, "dependsOn": ["Microsoft.Network/networkInterfaces/vm1VMNic"], - "properties": {"hardwareProfile": {"vmSize": "Standard_DS1_v2"}, "networkProfile": - {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic"}]}, - "storageProfile": {"osDisk": {"createOption": "fromImage", "name": null, "caching": - "ReadWrite", "managedDisk": {"storageAccountType": null}}, "imageReference": - {"publisher": "Canonical", "offer": "UbuntuServer", "sku": "18.04-LTS", "version": - "latest"}}, "osProfile": {"computerName": "vm1", "adminUsername": "clitest1", - "linuxConfiguration": {"disablePasswordAuthentication": true, "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmzXeK++L20uMK/Ug5wpjnWWyMlHoecEOxyHueHc1gPDj8qgLChiHt1OWJ1sDjiqBJ+hEEwZLjN8lCmUvWzzrl20d7M/BVp1ejulE/zr999kWuY3m5+FpAkbbxeO9LWoafwOir9dPzIOjDGdPWKbgHr3SerOHAuvVdXJDhWHtW5lB/MEnrxi48Pz/8k1lD1YccUAI6zDgKVJPBEk9fWMW8H0hKYsRXmlxdtg2npBQK7kbmcB2NJPEhTVgxVPqSaBVAt2lOCC/QQvAXcoD0lJGujp1IVYqSUarS5RnrYEDZ9Q6EKduWrP0GFkFkF8YzpFe+BRFaV8bLJrvZN43vgzRj - fey@DESKTOP-ARGPJS4\\n", "path": "/home/clitest1/.ssh/authorized_keys"}]}}}}}], - "outputs": {}}, "parameters": {}, "mode": "Incremental"}}''' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - Content-Length: - - '3679' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n --image --admin-username --generate-ssh-key - User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2019-07-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/vm_deploy_JirIz0blZxIbMdVcswm3tCakmxZLgwDb","name":"vm_deploy_JirIz0blZxIbMdVcswm3tCakmxZLgwDb","type":"Microsoft.Resources/deployments","properties":{"templateHash":"10508138101164521096","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2020-01-07T09:01:14.5149517Z","duration":"PT3.4026431S","correlationId":"b47cc505-0ade-4b9f-8dd3-44f337c08e8b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"networkSecurityGroups","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"networkInterfaces","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks/vm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"vm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm1"}]}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/vm_deploy_JirIz0blZxIbMdVcswm3tCakmxZLgwDb/operationStatuses/08586232192143653346?api-version=2019-07-01 - cache-control: - - no-cache - content-length: - - '2743' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 07 Jan 2020 09:01:15 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created - request: body: null headers: @@ -286,32 +106,48 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586232192143653346?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/publishers/canonical/artifacttypes/vmimage/offers/0001-com-ubuntu-server-focal/skus/20_04-lts-gen2/versions/20.04.202201180?api-version=2021-07-01 response: body: - string: '{"status":"Running"}' + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V2\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Managed\",\r\n \"replicaCount\": 10,\r\n + \ \"disallowed\": {\r\n \"vmDiskType\": \"Unmanaged\"\r\n },\r\n + \ \"automaticOSUpgradeProperties\": {\r\n \"automaticOSUpgradeSupported\": + false\r\n },\r\n \"imageDeprecationStatus\": {\r\n \"imageState\": + \"Active\"\r\n },\r\n \"features\": [\r\n {\r\n \"name\": + \"SecurityType\",\r\n \"value\": \"TrustedLaunchSupported\"\r\n }\r\n + \ ],\r\n \"osDiskImage\": {\r\n \"operatingSystem\": \"Linux\",\r\n + \ \"sizeInGb\": 30\r\n },\r\n \"dataDiskImages\": []\r\n },\r\n + \ \"location\": \"westus\",\r\n \"name\": \"20.04.202201180\",\r\n \"id\": + \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/westus/Publishers/canonical/ArtifactTypes/VMImage/Offers/0001-com-ubuntu-server-focal/Skus/20_04-lts-gen2/Versions/20.04.202201180\"\r\n}" headers: cache-control: - no-cache content-length: - - '20' + - '889' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:01:45 GMT + - Fri, 28 Jan 2022 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/GetVMImageFromLocation3Min;12999,Microsoft.Compute/GetVMImageFromLocation30Min;73999 status: code: 200 message: OK @@ -319,7 +155,7 @@ interactions: body: null headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate CommandName: @@ -329,22 +165,21 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.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_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586232192143653346?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 response: body: - string: '{"status":"Running"}' + string: '{"value":[]}' headers: cache-control: - no-cache content-length: - - '20' + - '12' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:02:16 GMT + - Fri, 28 Jan 2022 02:29:51 GMT expires: - '-1' pragma: @@ -359,7 +194,38 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": + [{"name": "vm1VNET", "type": "Microsoft.Network/virtualNetworks", "location": + "westus", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": + {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": + "vm1Subnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"type": "Microsoft.Network/networkSecurityGroups", + "name": "vm1NSG", "apiVersion": "2015-06-15", "location": "westus", "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": "vm1PublicIP", "location": + "westus", "tags": {}, "dependsOn": [], "properties": {"publicIPAllocationMethod": + null}}, {"apiVersion": "2015-06-15", "type": "Microsoft.Network/networkInterfaces", + "name": "vm1VMNic", "location": "westus", "tags": {}, "dependsOn": ["Microsoft.Network/virtualNetworks/vm1VNET", + "Microsoft.Network/networkSecurityGroups/vm1NSG", "Microsoft.Network/publicIpAddresses/vm1PublicIP"], + "properties": {"ipConfigurations": [{"name": "ipconfigvm1", "properties": {"privateIPAllocationMethod": + "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/vm1Subnet"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"}}}], + "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"}}}, + {"apiVersion": "2021-07-01", "type": "Microsoft.Compute/virtualMachines", "name": + "vm1", "location": "westus", "tags": {}, "dependsOn": ["Microsoft.Network/networkInterfaces/vm1VMNic"], + "properties": {"hardwareProfile": {"vmSize": "Standard_DS1_v2", "vmSizeProperties": + {}}, "networkProfile": {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic", + "properties": {"deleteOption": null}}]}, "storageProfile": {"osDisk": {"createOption": + "fromImage", "name": null, "caching": "ReadWrite", "managedDisk": {"storageAccountType": + null}}, "imageReference": {"publisher": "canonical", "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts-gen2", "version": "latest"}}, "osProfile": {"computerName": + "vm1", "adminUsername": "clitest1", "linuxConfiguration": {"disablePasswordAuthentication": + true, "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdfdN+YWbkBS84r36yJbgfTI+Gx1W/ErinzCGvXBeO0S8F8JBc45BGTSaNmgOiqVMef3L9Dne7xUv6CwK+NaPRF23B2Sfv1VT1RWjKzgsgLAGiMvMuXA8/BfnKyQU43P6ImgXW/89E8OE9tS2TYLWiSSOjSTiCDnH+bJOw0Gqb25CLhZiahL1lS8MPuZHQaLa71GGUJS93GeBBF6eM2aFKitdFif38RsHxwY/aLlKhjwuy0XPI/4HcIHJR9uyEiFsPQXZMbFPwfvTWyRQDqS0KfxgFXtoVQgaNq74zJv94JdqDykoXYrempJU33jCC06vi39u+xZHAdAagp6e8z/WQc7fIPEOoKqNBKO3UhjXfLfHsxM9QvEiE2kL1xBekS9XrzqSvYZBi4tiSiLAYajOdI5dlv9HgvRTdCtnfF6v8iVGpwql/B1OTOn/A9uCmRIu3o9aMjsQoegqGX6e+h7omfVaExdClXOrW1Qi5l9mUSDLJgsGm1sT9nLaVJlPotFM= + Zhou.Xing@microsoft.com\n", "path": "/home/clitest1/.ssh/authorized_keys"}]}}}, + "additionalCapabilities": {}}}], "outputs": {}}, "parameters": {}, "mode": "incremental"}}' headers: Accept: - application/json @@ -369,86 +235,48 @@ interactions: - vm create Connection: - keep-alive - ParameterSetName: - - -g -n --image --admin-username --generate-ssh-key - User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586232192143653346?api-version=2019-07-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 07 Jan 2020 09:02: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: + Content-Length: + - '3772' + Content-Type: - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586232192143653346?api-version=2019-07-01 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 response: body: - string: '{"status":"Running"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/vm_deploy_0XFJk2m1eEB8yUUNYg8buRCtHddcS9f1","name":"vm_deploy_0XFJk2m1eEB8yUUNYg8buRCtHddcS9f1","type":"Microsoft.Resources/deployments","properties":{"templateHash":"3566145195780447506","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2022-01-28T02:29:57.9760016Z","duration":"PT0.000703S","correlationId":"7d0f9062-d591-47f8-905e-f7b4073737b0","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"networkSecurityGroups","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"networkInterfaces","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks/vm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"vm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm1"}]}}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/vm_deploy_0XFJk2m1eEB8yUUNYg8buRCtHddcS9f1/operationStatuses/08585582698899310407?api-version=2021-04-01 cache-control: - no-cache content-length: - - '20' + - '2398' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:03:17 GMT + - Fri, 28 Jan 2022 02:29:59 GMT expires: - '-1' pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -458,10 +286,9 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586232192143653346?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585582698899310407?api-version=2021-04-01 response: body: string: '{"status":"Running"}' @@ -473,7 +300,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:03:47 GMT + - Fri, 28 Jan 2022 02:30:29 GMT expires: - '-1' pragma: @@ -491,7 +318,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -501,10 +328,9 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586232192143653346?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585582698899310407?api-version=2021-04-01 response: body: string: '{"status":"Running"}' @@ -516,7 +342,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:04:18 GMT + - Fri, 28 Jan 2022 02:31:00 GMT expires: - '-1' pragma: @@ -534,7 +360,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -544,10 +370,9 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586232192143653346?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585582698899310407?api-version=2021-04-01 response: body: string: '{"status":"Succeeded"}' @@ -559,7 +384,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:04:48 GMT + - Fri, 28 Jan 2022 02:31:31 GMT expires: - '-1' pragma: @@ -577,7 +402,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -587,22 +412,21 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/vm_deploy_JirIz0blZxIbMdVcswm3tCakmxZLgwDb","name":"vm_deploy_JirIz0blZxIbMdVcswm3tCakmxZLgwDb","type":"Microsoft.Resources/deployments","properties":{"templateHash":"10508138101164521096","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2020-01-07T09:04:40.7954958Z","duration":"PT3M29.6831872S","correlationId":"b47cc505-0ade-4b9f-8dd3-44f337c08e8b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"networkSecurityGroups","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"networkInterfaces","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks/vm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"vm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks/vm1VNET"}]}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Resources/deployments/vm_deploy_0XFJk2m1eEB8yUUNYg8buRCtHddcS9f1","name":"vm_deploy_0XFJk2m1eEB8yUUNYg8buRCtHddcS9f1","type":"Microsoft.Resources/deployments","properties":{"templateHash":"3566145195780447506","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2022-01-28T02:31:05.296694Z","duration":"PT1M7.3213954S","correlationId":"7d0f9062-d591-47f8-905e-f7b4073737b0","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"networkSecurityGroups","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"networkInterfaces","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks/vm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"vm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"vm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"vm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"vm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/virtualNetworks/vm1VNET"}]}}' headers: cache-control: - no-cache content-length: - - '3810' + - '3219' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:04:48 GMT + - Fri, 28 Jan 2022 02:31:31 GMT expires: - '-1' pragma: @@ -630,51 +454,52 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1?$expand=instanceView&api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1?$expand=instanceView&api-version=2021-07-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"f4129676-4e89-4610-a8e5-0ce3cf324330\",\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.201912180\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Linux\",\r\n \"name\": \"vm1_disk1_4353dcf233c64173a96f8cb4781e2310\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"68ca001a-64e4-487d-a1a4-b866c2b0c51d\",\r\n + \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_DS1_v2\",\r\n \"vmSizeProperties\": + {\r\n \"vCPUsAvailable\": 1,\r\n \"vCPUsPerCore\": 1\r\n }\r\n + \ },\r\n \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": + \"canonical\",\r\n \"offer\": \"0001-com-ubuntu-server-focal\",\r\n + \ \"sku\": \"20_04-lts-gen2\",\r\n \"version\": \"latest\",\r\n + \ \"exactVersion\": \"20.04.202201180\"\r\n },\r\n \"osDisk\": + {\r\n \"osType\": \"Linux\",\r\n \"name\": \"vm1_OsDisk_1_e45e2b9ea7454ec680a3a0edd38d4f58\",\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_image_copy_000001/providers/Microsoft.Compute/disks/vm1_disk1_4353dcf233c64173a96f8cb4781e2310\"\r\n - \ },\r\n \"diskSizeGB\": 30\r\n },\r\n \"dataDisks\": - []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"vm1\",\r\n - \ \"adminUsername\": \"clitest1\",\r\n \"linuxConfiguration\": {\r\n - \ \"disablePasswordAuthentication\": true,\r\n \"ssh\": {\r\n - \ \"publicKeys\": [\r\n {\r\n \"path\": \"/home/clitest1/.ssh/authorized_keys\",\r\n - \ \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmzXeK++L20uMK/Ug5wpjnWWyMlHoecEOxyHueHc1gPDj8qgLChiHt1OWJ1sDjiqBJ+hEEwZLjN8lCmUvWzzrl20d7M/BVp1ejulE/zr999kWuY3m5+FpAkbbxeO9LWoafwOir9dPzIOjDGdPWKbgHr3SerOHAuvVdXJDhWHtW5lB/MEnrxi48Pz/8k1lD1YccUAI6zDgKVJPBEk9fWMW8H0hKYsRXmlxdtg2npBQK7kbmcB2NJPEhTVgxVPqSaBVAt2lOCC/QQvAXcoD0lJGujp1IVYqSUarS5RnrYEDZ9Q6EKduWrP0GFkFkF8YzpFe+BRFaV8bLJrvZN43vgzRj - fey@DESKTOP-ARGPJS4\\n\"\r\n }\r\n ]\r\n },\r\n - \ \"provisionVMAgent\": true\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_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic\"}]},\r\n - \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"vmAgent\": - {\r\n \"vmAgentVersion\": \"Unknown\",\r\n \"statuses\": [\r\n - \ {\r\n \"code\": \"ProvisioningState/Unavailable\",\r\n - \ \"level\": \"Warning\",\r\n \"displayStatus\": \"Not - Ready\",\r\n \"message\": \"VM status blob is found but not yet - populated.\",\r\n \"time\": \"2020-01-07T09:04:50+00:00\"\r\n }\r\n - \ ]\r\n },\r\n \"disks\": [\r\n {\r\n \"name\": - \"vm1_disk1_4353dcf233c64173a96f8cb4781e2310\",\r\n \"statuses\": - [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/disks/vm1_OsDisk_1_e45e2b9ea7454ec680a3a0edd38d4f58\"\r\n + \ },\r\n \"deleteOption\": \"Detach\",\r\n \"diskSizeGB\": + 30\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": + {\r\n \"computerName\": \"vm1\",\r\n \"adminUsername\": \"clitest1\",\r\n + \ \"linuxConfiguration\": {\r\n \"disablePasswordAuthentication\": + true,\r\n \"ssh\": {\r\n \"publicKeys\": [\r\n {\r\n + \ \"path\": \"/home/clitest1/.ssh/authorized_keys\",\r\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdfdN+YWbkBS84r36yJbgfTI+Gx1W/ErinzCGvXBeO0S8F8JBc45BGTSaNmgOiqVMef3L9Dne7xUv6CwK+NaPRF23B2Sfv1VT1RWjKzgsgLAGiMvMuXA8/BfnKyQU43P6ImgXW/89E8OE9tS2TYLWiSSOjSTiCDnH+bJOw0Gqb25CLhZiahL1lS8MPuZHQaLa71GGUJS93GeBBF6eM2aFKitdFif38RsHxwY/aLlKhjwuy0XPI/4HcIHJR9uyEiFsPQXZMbFPwfvTWyRQDqS0KfxgFXtoVQgaNq74zJv94JdqDykoXYrempJU33jCC06vi39u+xZHAdAagp6e8z/WQc7fIPEOoKqNBKO3UhjXfLfHsxM9QvEiE2kL1xBekS9XrzqSvYZBi4tiSiLAYajOdI5dlv9HgvRTdCtnfF6v8iVGpwql/B1OTOn/A9uCmRIu3o9aMjsQoegqGX6e+h7omfVaExdClXOrW1Qi5l9mUSDLJgsGm1sT9nLaVJlPotFM= + Zhou.Xing@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_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic\"}]},\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"computerName\": + \"vm1\",\r\n \"osName\": \"ubuntu\",\r\n \"osVersion\": \"20.04\",\r\n + \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.6.0.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\": + \"2022-01-28T02:31:20+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": + []\r\n },\r\n \"disks\": [\r\n {\r\n \"name\": \"vm1_OsDisk_1_e45e2b9ea7454ec680a3a0edd38d4f58\",\r\n + \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2020-01-07T09:04:25.374803+00:00\"\r\n + succeeded\",\r\n \"time\": \"2022-01-28T02:30:19.9352937+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 + \"V2\",\r\n \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2020-01-07T09:04:36.406061+00:00\"\r\n + succeeded\",\r\n \"time\": \"2022-01-28T02:31:01.5915452+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}" @@ -682,11 +507,11 @@ interactions: cache-control: - no-cache content-length: - - '3675' + - '4078' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:04:50 GMT + - Fri, 28 Jan 2022 02:31:32 GMT expires: - '-1' pragma: @@ -703,7 +528,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3992,Microsoft.Compute/LowCostGet30Min;31939 + - Microsoft.Compute/LowCostGet3Min;3997,Microsoft.Compute/LowCostGet30Min;31997 status: code: 200 message: OK @@ -711,7 +536,7 @@ interactions: body: null headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate CommandName: @@ -721,21 +546,18 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.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_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic?api-version=2018-01-01 response: body: string: "{\r\n \"name\": \"vm1VMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic\",\r\n - \ \"etag\": \"W/\\\"02eccb57-c720-4c36-b781-3ed4400c3615\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"0f1f958b-bf2b-4326-b0da-bf3fc46ae7c5\\\"\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"e5d3778d-501a-47e4-9735-e81c6a3ac2e5\",\r\n + \"Succeeded\",\r\n \"resourceGuid\": \"4d35e088-ebb8-4d05-a9aa-503ee39e6f5b\",\r\n \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfigvm1\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\",\r\n - \ \"etag\": \"W/\\\"02eccb57-c720-4c36-b781-3ed4400c3615\\\"\",\r\n + \ \"etag\": \"W/\\\"0f1f958b-bf2b-4326-b0da-bf3fc46ae7c5\\\"\",\r\n \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -744,8 +566,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\": - \"ghpkgr3paguuvh5tl1h2tn1otf.dx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": - \"00-0D-3A-37-1A-01\",\r\n \"enableAcceleratedNetworking\": false,\r\n + \"rbicqwojcebe1cwejarkbo0cuc.dx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": + \"00-22-48-02-86-97\",\r\n \"enableAcceleratedNetworking\": false,\r\n \ \"enableIPForwarding\": false,\r\n \"networkSecurityGroup\": {\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/networkSecurityGroups/vm1NSG\"\r\n \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": @@ -755,13 +577,13 @@ interactions: cache-control: - no-cache content-length: - - '2568' + - '2274' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:04:50 GMT + - Fri, 28 Jan 2022 02:31:33 GMT etag: - - W/"02eccb57-c720-4c36-b781-3ed4400c3615" + - W/"0f1f958b-bf2b-4326-b0da-bf3fc46ae7c5" expires: - '-1' pragma: @@ -778,7 +600,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 701a8848-77dd-4b21-99c4-eb89404db332 + - 5356ec78-2698-4086-9629-129b3d4a0774 status: code: 200 message: OK @@ -786,7 +608,7 @@ interactions: body: null headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate CommandName: @@ -796,19 +618,16 @@ interactions: ParameterSetName: - -g -n --image --admin-username --generate-ssh-key User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.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_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP?api-version=2018-01-01 response: body: string: "{\r\n \"name\": \"vm1PublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP\",\r\n - \ \"etag\": \"W/\\\"bcb090b1-3571-4489-be2c-c3005d591423\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"eea58759-7a80-4b0b-b79d-977761824882\\\"\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"764d4f0c-c2c6-4407-bef8-cc47961da6be\",\r\n - \ \"ipAddress\": \"40.83.255.144\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n + \"Succeeded\",\r\n \"resourceGuid\": \"4bddcbbc-650d-4bc6-8b85-3c18de06d551\",\r\n + \ \"ipAddress\": \"40.118.190.41\",\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_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1\"\r\n \ }\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n @@ -817,13 +636,13 @@ interactions: cache-control: - no-cache content-length: - - '997' + - '899' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:04:50 GMT + - Fri, 28 Jan 2022 02:31:33 GMT etag: - - W/"bcb090b1-3571-4489-be2c-c3005d591423" + - W/"eea58759-7a80-4b0b-b79d-977761824882" expires: - '-1' pragma: @@ -840,7 +659,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f0c98e37-e2c1-4a13-81a9-86031e15aaf5 + - 469029c6-f67a-40df-9e58-9519db06463c status: code: 200 message: OK @@ -849,7 +668,7 @@ interactions: --force'' | at -M now + 1 minutes"], "parameters": []}' headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate CommandName: @@ -859,32 +678,29 @@ interactions: Content-Length: - '134' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --command-id --scripts User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1/runCommand?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1/runCommand?api-version=2021-07-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/df1a0791-d532-449e-9918-1831b8fbf0bb?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/6ba33174-4fee-4e23-9946-556ee6d4b977?p=571046f6-b640-41c1-86f7-f9f044b5adf9&api-version=2021-07-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 07 Jan 2020 09:04:52 GMT + - Fri, 28 Jan 2022 02:31:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/df1a0791-d532-449e-9918-1831b8fbf0bb?monitor=true&api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/6ba33174-4fee-4e23-9946-556ee6d4b977?p=571046f6-b640-41c1-86f7-f9f044b5adf9&monitor=true&api-version=2021-07-01 pragma: - no-cache server: @@ -895,9 +711,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/UpdateVM3Min;239,Microsoft.Compute/UpdateVM30Min;1197 + - Microsoft.Compute/UpdateVM3Min;239,Microsoft.Compute/UpdateVM30Min;1199 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 202 message: Accepted @@ -905,7 +721,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -915,18 +731,17 @@ interactions: ParameterSetName: - -g -n --command-id --scripts User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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.Compute/locations/westus/operations/df1a0791-d532-449e-9918-1831b8fbf0bb?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/6ba33174-4fee-4e23-9946-556ee6d4b977?p=571046f6-b640-41c1-86f7-f9f044b5adf9&api-version=2021-07-01 response: body: - string: "{\r\n \"startTime\": \"2020-01-07T09:04:52.8123551+00:00\",\r\n \"endTime\": - \"2020-01-07T09:05:08.7029695+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2022-01-28T02:31:35.5134409+00:00\",\r\n \"endTime\": + \"2022-01-28T02:31:50.2947006+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\"value\":[{\"code\":\"ProvisioningState/succeeded\",\"level\":\"Info\",\"displayStatus\":\"Provisioning succeeded\",\"message\":\"Enable succeeded: \\n[stdout]\\n\\n[stderr]\\nwarning: - commands will be executed using /bin/sh\\njob 1 at Tue Jan 7 09:06:00 2020\\n\"}]}\r\n - \ },\r\n \"name\": \"df1a0791-d532-449e-9918-1831b8fbf0bb\"\r\n}" + commands will be executed using /bin/sh\\njob 1 at Fri Jan 28 02:32:00 2022\\n\"}]}\r\n + \ },\r\n \"name\": \"6ba33174-4fee-4e23-9946-556ee6d4b977\"\r\n}" headers: cache-control: - no-cache @@ -935,7 +750,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:05:23 GMT + - Fri, 28 Jan 2022 02:32:05 GMT expires: - '-1' pragma: @@ -952,7 +767,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29976 + - Microsoft.Compute/GetOperation3Min;14997,Microsoft.Compute/GetOperation30Min;29997 status: code: 200 message: OK @@ -960,7 +775,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -970,15 +785,14 @@ interactions: ParameterSetName: - -g -n --command-id --scripts User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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.Compute/locations/westus/operations/df1a0791-d532-449e-9918-1831b8fbf0bb?monitor=true&api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/6ba33174-4fee-4e23-9946-556ee6d4b977?p=571046f6-b640-41c1-86f7-f9f044b5adf9&monitor=true&api-version=2021-07-01 response: body: string: '{"value":[{"code":"ProvisioningState/succeeded","level":"Info","displayStatus":"Provisioning succeeded","message":"Enable succeeded: \n[stdout]\n\n[stderr]\nwarning: commands - will be executed using /bin/sh\njob 1 at Tue Jan 7 09:06:00 2020\n"}]}' + will be executed using /bin/sh\njob 1 at Fri Jan 28 02:32:00 2022\n"}]}' headers: cache-control: - no-cache @@ -987,7 +801,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:05:23 GMT + - Fri, 28 Jan 2022 02:32:05 GMT expires: - '-1' pragma: @@ -1004,7 +818,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29975 + - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29996 status: code: 200 message: OK @@ -1012,7 +826,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1024,28 +838,25 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1/deallocate?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1/deallocate?api-version=2021-07-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/8fd4b891-8c89-46e4-8124-4fb0612be3f8?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/bcf6f1b8-66b8-4302-9b4c-a4df2b157950?p=571046f6-b640-41c1-86f7-f9f044b5adf9&api-version=2021-07-01 cache-control: - no-cache content-length: - '0' date: - - Tue, 07 Jan 2020 09:06:34 GMT + - Fri, 28 Jan 2022 02:33:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/8fd4b891-8c89-46e4-8124-4fb0612be3f8?monitor=true&api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/bcf6f1b8-66b8-4302-9b4c-a4df2b157950?p=571046f6-b640-41c1-86f7-f9f044b5adf9&monitor=true&api-version=2021-07-01 pragma: - no-cache server: @@ -1056,9 +867,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/DeleteVM3Min;239,Microsoft.Compute/DeleteVM30Min;1196 + - Microsoft.Compute/DeleteVM3Min;239,Microsoft.Compute/DeleteVM30Min;1199 x-ms-ratelimit-remaining-subscription-writes: - - '1191' + - '1199' status: code: 202 message: Accepted @@ -1066,7 +877,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1076,14 +887,13 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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.Compute/locations/westus/operations/8fd4b891-8c89-46e4-8124-4fb0612be3f8?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/bcf6f1b8-66b8-4302-9b4c-a4df2b157950?p=571046f6-b640-41c1-86f7-f9f044b5adf9&api-version=2021-07-01 response: body: - string: "{\r\n \"startTime\": \"2020-01-07T09:06:34.8436005+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"8fd4b891-8c89-46e4-8124-4fb0612be3f8\"\r\n}" + string: "{\r\n \"startTime\": \"2022-01-28T02:33:17.6071376+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"bcf6f1b8-66b8-4302-9b4c-a4df2b157950\"\r\n}" headers: cache-control: - no-cache @@ -1092,7 +902,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:06:45 GMT + - Fri, 28 Jan 2022 02:33:27 GMT expires: - '-1' pragma: @@ -1109,7 +919,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29974 + - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29994 status: code: 200 message: OK @@ -1117,7 +927,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1127,23 +937,23 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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.Compute/locations/westus/operations/8fd4b891-8c89-46e4-8124-4fb0612be3f8?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/bcf6f1b8-66b8-4302-9b4c-a4df2b157950?p=571046f6-b640-41c1-86f7-f9f044b5adf9&api-version=2021-07-01 response: body: - string: "{\r\n \"startTime\": \"2020-01-07T09:06:34.8436005+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"8fd4b891-8c89-46e4-8124-4fb0612be3f8\"\r\n}" + string: "{\r\n \"startTime\": \"2022-01-28T02:33:17.6071376+00:00\",\r\n \"endTime\": + \"2022-01-28T02:33:36.8728204+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"bcf6f1b8-66b8-4302-9b4c-a4df2b157950\"\r\n}" headers: cache-control: - no-cache content-length: - - '134' + - '184' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:07:21 GMT + - Fri, 28 Jan 2022 02:34:03 GMT expires: - '-1' pragma: @@ -1160,7 +970,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29970 + - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29991 status: code: 200 message: OK @@ -1168,7 +978,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1178,24 +988,19 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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.Compute/locations/westus/operations/8fd4b891-8c89-46e4-8124-4fb0612be3f8?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/bcf6f1b8-66b8-4302-9b4c-a4df2b157950?p=571046f6-b640-41c1-86f7-f9f044b5adf9&monitor=true&api-version=2021-07-01 response: body: - string: "{\r\n \"startTime\": \"2020-01-07T09:06:34.8436005+00:00\",\r\n \"endTime\": - \"2020-01-07T09:07:25.6404857+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"8fd4b891-8c89-46e4-8124-4fb0612be3f8\"\r\n}" + string: '' headers: cache-control: - no-cache content-length: - - '184' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Tue, 07 Jan 2020 09:07:51 GMT + - Fri, 28 Jan 2022 02:34:03 GMT expires: - '-1' pragma: @@ -1205,14 +1010,10 @@ 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-resource: - - Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29968 + - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29990 status: code: 200 message: OK @@ -1220,7 +1021,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1232,12 +1033,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.0 Python/3.8.1 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1/generalize?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1/generalize?api-version=2021-07-01 response: body: string: '' @@ -1247,7 +1045,7 @@ interactions: content-length: - '0' date: - - Tue, 07 Jan 2020 09:07:54 GMT + - Fri, 28 Jan 2022 02:34:05 GMT expires: - '-1' pragma: @@ -1260,9 +1058,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/UpdateVM3Min;239,Microsoft.Compute/UpdateVM30Min;1196 + - Microsoft.Compute/UpdateVM3Min;238,Microsoft.Compute/UpdateVM30Min;1198 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 200 message: OK @@ -1278,47 +1076,47 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --source + - -g -n --source --hyper-v-generation User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1?api-version=2021-07-01 response: body: string: "{\r\n \"name\": \"vm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"f4129676-4e89-4610-a8e5-0ce3cf324330\",\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.201912180\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Linux\",\r\n \"name\": \"vm1_disk1_4353dcf233c64173a96f8cb4781e2310\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"68ca001a-64e4-487d-a1a4-b866c2b0c51d\",\r\n + \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_DS1_v2\",\r\n \"vmSizeProperties\": + {\r\n \"vCPUsAvailable\": 1,\r\n \"vCPUsPerCore\": 1\r\n }\r\n + \ },\r\n \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": + \"canonical\",\r\n \"offer\": \"0001-com-ubuntu-server-focal\",\r\n + \ \"sku\": \"20_04-lts-gen2\",\r\n \"version\": \"latest\",\r\n + \ \"exactVersion\": \"20.04.202201180\"\r\n },\r\n \"osDisk\": + {\r\n \"osType\": \"Linux\",\r\n \"name\": \"vm1_OsDisk_1_e45e2b9ea7454ec680a3a0edd38d4f58\",\r\n \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n - \ \"managedDisk\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/disks/vm1_disk1_4353dcf233c64173a96f8cb4781e2310\"\r\n - \ }\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": - {\r\n \"computerName\": \"vm1\",\r\n \"adminUsername\": \"clitest1\",\r\n - \ \"linuxConfiguration\": {\r\n \"disablePasswordAuthentication\": - true,\r\n \"ssh\": {\r\n \"publicKeys\": [\r\n {\r\n - \ \"path\": \"/home/clitest1/.ssh/authorized_keys\",\r\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmzXeK++L20uMK/Ug5wpjnWWyMlHoecEOxyHueHc1gPDj8qgLChiHt1OWJ1sDjiqBJ+hEEwZLjN8lCmUvWzzrl20d7M/BVp1ejulE/zr999kWuY3m5+FpAkbbxeO9LWoafwOir9dPzIOjDGdPWKbgHr3SerOHAuvVdXJDhWHtW5lB/MEnrxi48Pz/8k1lD1YccUAI6zDgKVJPBEk9fWMW8H0hKYsRXmlxdtg2npBQK7kbmcB2NJPEhTVgxVPqSaBVAt2lOCC/QQvAXcoD0lJGujp1IVYqSUarS5RnrYEDZ9Q6EKduWrP0GFkFkF8YzpFe+BRFaV8bLJrvZN43vgzRj - fey@DESKTOP-ARGPJS4\\n\"\r\n }\r\n ]\r\n },\r\n - \ \"provisionVMAgent\": true\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_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic\"}]},\r\n + \ \"managedDisk\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/disks/vm1_OsDisk_1_e45e2b9ea7454ec680a3a0edd38d4f58\"\r\n + \ },\r\n \"deleteOption\": \"Detach\"\r\n },\r\n \"dataDisks\": + []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"vm1\",\r\n + \ \"adminUsername\": \"clitest1\",\r\n \"linuxConfiguration\": {\r\n + \ \"disablePasswordAuthentication\": true,\r\n \"ssh\": {\r\n + \ \"publicKeys\": [\r\n {\r\n \"path\": \"/home/clitest1/.ssh/authorized_keys\",\r\n + \ \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdfdN+YWbkBS84r36yJbgfTI+Gx1W/ErinzCGvXBeO0S8F8JBc45BGTSaNmgOiqVMef3L9Dne7xUv6CwK+NaPRF23B2Sfv1VT1RWjKzgsgLAGiMvMuXA8/BfnKyQU43P6ImgXW/89E8OE9tS2TYLWiSSOjSTiCDnH+bJOw0Gqb25CLhZiahL1lS8MPuZHQaLa71GGUJS93GeBBF6eM2aFKitdFif38RsHxwY/aLlKhjwuy0XPI/4HcIHJR9uyEiFsPQXZMbFPwfvTWyRQDqS0KfxgFXtoVQgaNq74zJv94JdqDykoXYrempJU33jCC06vi39u+xZHAdAagp6e8z/WQc7fIPEOoKqNBKO3UhjXfLfHsxM9QvEiE2kL1xBekS9XrzqSvYZBi4tiSiLAYajOdI5dlv9HgvRTdCtnfF6v8iVGpwql/B1OTOn/A9uCmRIu3o9aMjsQoegqGX6e+h7omfVaExdClXOrW1Qi5l9mUSDLJgsGm1sT9nLaVJlPotFM= + Zhou.Xing@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_image_copy_000001/providers/Microsoft.Network/networkInterfaces/vm1VMNic\"}]},\r\n \ \"provisioningState\": \"Succeeded\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '2399' + - '2710' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:07:54 GMT + - Fri, 28 Jan 2022 02:34:06 GMT expires: - '-1' pragma: @@ -1335,7 +1133,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3994,Microsoft.Compute/LowCostGet30Min;31952 + - Microsoft.Compute/LowCostGet3Min;3997,Microsoft.Compute/LowCostGet30Min;31995 status: code: 200 message: OK @@ -1351,26 +1149,23 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --source + - -g -n --source --hyper-v-generation User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_image_copy_000001?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000001?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001","name":"cli_test_image_copy_000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-01-07T09:01:03Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001","name":"cli_test_image_copy_000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2022-01-28T02:27:40Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '330' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:07:55 GMT + - Fri, 28 Jan 2022 02:34:06 GMT expires: - '-1' pragma: @@ -1385,9 +1180,9 @@ interactions: code: 200 message: OK - request: - body: 'b''{"location": "westus", "tags": {}, "properties": {"sourceVirtualMachine": + body: '{"location": "westus", "tags": {}, "properties": {"sourceVirtualMachine": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1"}, - "hyperVGeneration": "V1"}}''' + "hyperVGeneration": "V2"}}' headers: Accept: - application/json @@ -1398,18 +1193,15 @@ interactions: Connection: - keep-alive Content-Length: - - '302' + - '253' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - - -g -n --source + - -g -n --source --hyper-v-generation User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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_test_image_copy_000001/providers/Microsoft.Compute/images/image1?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/images/image1?api-version=2021-07-01 response: body: string: "{\r\n \"name\": \"image1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/images/image1\",\r\n @@ -1418,23 +1210,23 @@ interactions: \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1\"\r\n \ },\r\n \"storageProfile\": {\r\n \"osDisk\": {\r\n \"osType\": \"Linux\",\r\n \"osState\": \"Generalized\",\r\n \"managedDisk\": - {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/disks/vm1_disk1_4353dcf233c64173a96f8cb4781e2310\"\r\n + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/disks/vm1_OsDisk_1_e45e2b9ea7454ec680a3a0edd38d4f58\"\r\n \ },\r\n \"caching\": \"ReadWrite\",\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"provisioningState\": - \"Creating\",\r\n \"hyperVGeneration\": \"V1\"\r\n }\r\n}" + \"Creating\",\r\n \"hyperVGeneration\": \"V2\"\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/3e189a12-e24d-4db1-8422-f8c3d28aa212?api-version=2019-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/68ed894c-3f3c-4532-8968-9010fe9263de?p=571046f6-b640-41c1-86f7-f9f044b5adf9&api-version=2021-07-01 cache-control: - no-cache content-length: - - '1141' + - '997' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:08:01 GMT + - Fri, 28 Jan 2022 02:34:12 GMT expires: - '-1' pragma: @@ -1447,9 +1239,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/CreateImages3Min;39,Microsoft.Compute/CreateImages30Min;198 + - Microsoft.Compute/CreateImages3Min;39,Microsoft.Compute/CreateImages30Min;199 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -1457,7 +1249,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1465,26 +1257,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --source + - -g -n --source --hyper-v-generation User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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.Compute/locations/westus/operations/3e189a12-e24d-4db1-8422-f8c3d28aa212?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/68ed894c-3f3c-4532-8968-9010fe9263de?p=571046f6-b640-41c1-86f7-f9f044b5adf9&api-version=2021-07-01 response: body: - string: "{\r\n \"startTime\": \"2020-01-07T09:08:00.4530083+00:00\",\r\n \"endTime\": - \"2020-01-07T09:08:05.5623772+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"3e189a12-e24d-4db1-8422-f8c3d28aa212\"\r\n}" + string: "{\r\n \"startTime\": \"2022-01-28T02:34:11.826143+00:00\",\r\n \"endTime\": + \"2022-01-28T02:34:16.9355442+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"68ed894c-3f3c-4532-8968-9010fe9263de\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '183' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:08:32 GMT + - Fri, 28 Jan 2022 02:34:43 GMT expires: - '-1' pragma: @@ -1501,7 +1292,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29966 + - Microsoft.Compute/GetOperation3Min;14991,Microsoft.Compute/GetOperation30Min;29989 status: code: 200 message: OK @@ -1509,7 +1300,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1517,12 +1308,11 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --source + - -g -n --source --hyper-v-generation User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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_test_image_copy_000001/providers/Microsoft.Compute/images/image1?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/images/image1?api-version=2021-07-01 response: body: string: "{\r\n \"name\": \"image1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/images/image1\",\r\n @@ -1531,19 +1321,19 @@ interactions: \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/virtualMachines/vm1\"\r\n \ },\r\n \"storageProfile\": {\r\n \"osDisk\": {\r\n \"osType\": \"Linux\",\r\n \"osState\": \"Generalized\",\r\n \"diskSizeGB\": - 30,\r\n \"managedDisk\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/disks/vm1_disk1_4353dcf233c64173a96f8cb4781e2310\"\r\n + 30,\r\n \"managedDisk\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000001/providers/Microsoft.Compute/disks/vm1_OsDisk_1_e45e2b9ea7454ec680a3a0edd38d4f58\"\r\n \ },\r\n \"caching\": \"ReadWrite\",\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"provisioningState\": - \"Succeeded\",\r\n \"hyperVGeneration\": \"V1\"\r\n }\r\n}" + \"Succeeded\",\r\n \"hyperVGeneration\": \"V2\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1169' + - '1025' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:08:32 GMT + - Fri, 28 Jan 2022 02:34:43 GMT expires: - '-1' pragma: @@ -1560,7 +1350,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetImages3Min;354,Microsoft.Compute/GetImages30Min;1785 + - Microsoft.Compute/GetImages3Min;358,Microsoft.Compute/GetImages30Min;1798 status: code: 200 message: OK @@ -1578,16 +1368,13 @@ interactions: Content-Length: - '22' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -l User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-resource/6.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_image_copy_000002?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_image_copy_000002?api-version=2021-04-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000002","name":"cli_test_image_copy_000002","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' @@ -1595,11 +1382,11 @@ interactions: cache-control: - no-cache content-length: - - '257' + - '249' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:08:37 GMT + - Fri, 28 Jan 2022 02:34:46 GMT expires: - '-1' pragma: @@ -1609,7 +1396,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -1627,12 +1414,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 - azure-mgmt-compute/10.0.0 Azure-SDK-For-Python AZURECLI/2.0.79 - accept-language: - - en-US + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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_test_image_copy_000002/providers/Microsoft.Compute/images/image1?api-version=2019-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000002/providers/Microsoft.Compute/images/image1?api-version=2021-07-01 response: body: string: "{\r\n \"name\": \"image1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_image_copy_000002/providers/Microsoft.Compute/images/image1\",\r\n @@ -1644,16 +1428,16 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/image-copy-rg/providers/Microsoft.Compute/snapshots/image1_os_disk_snapshot-eastus\"\r\n \ },\r\n \"caching\": \"None\",\r\n \"storageAccountType\": \"Standard_LRS\"\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"provisioningState\": - \"Succeeded\",\r\n \"hyperVGeneration\": \"V1\"\r\n }\r\n}" + \"Succeeded\",\r\n \"hyperVGeneration\": \"V2\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '848' + - '844' content-type: - application/json; charset=utf-8 date: - - Tue, 07 Jan 2020 09:16:54 GMT + - Fri, 28 Jan 2022 02:46:07 GMT expires: - '-1' pragma: diff --git a/src/image-copy/azext_imagecopy/tests/latest/test_image_copy_commands.py b/src/image-copy/azext_imagecopy/tests/latest/test_image_copy_commands.py index 162d0dee069..c97f044d82b 100644 --- a/src/image-copy/azext_imagecopy/tests/latest/test_image_copy_commands.py +++ b/src/image-copy/azext_imagecopy/tests/latest/test_image_copy_commands.py @@ -15,17 +15,22 @@ def test_image_copy(self, resource_group): self.kwargs.update({ 'vm': 'vm1', 'image': 'image1', - 'rg2': self.create_random_name(prefix='cli_test_image_copy_', length=30) + 'rg2': self.create_random_name(prefix='cli_test_image_copy_', length=30), + 'hyperVGeneration': 'V2' }) - self.cmd('vm create -g {rg} -n {vm} --image ubuntults --admin-username clitest1 --generate-ssh-key') + self.cmd('vm create -g {rg} -n {vm} --image canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest' + ' --admin-username clitest1 --generate-ssh-key') self.cmd('vm run-command invoke -g {rg} -n {vm} --command-id RunShellScript --scripts ' '"echo \'sudo waagent -deprovision+user --force\' | at -M now + 1 minutes"') time.sleep(70) self.cmd('vm deallocate -g {rg} -n {vm}') self.cmd('vm generalize -g {rg} -n {vm}') - self.cmd('image create -g {rg} -n {image} --source {vm}') + self.cmd('image create -g {rg} -n {image} --source {vm} --hyper-v-generation {hyperVGeneration} ') self.cmd('group create -g {rg2} -l eastus') self.cmd('image copy --source-object-name {image} --source-resource-group {rg} ' '--target-location eastus --target-resource-group {rg2} --target-name {image}') - self.cmd('image show -g {rg2} -n {image}', checks=[self.check('name', '{image}')]) + self.cmd('image show -g {rg2} -n {image}', checks=[ + self.check('name', '{image}'), + self.check('hyperVGeneration', '{hyperVGeneration}'), + ]) diff --git a/src/image-copy/setup.py b/src/image-copy/setup.py index 77bae65277f..b0e6c1936da 100644 --- a/src/image-copy/setup.py +++ b/src/image-copy/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.2.8" +VERSION = "0.2.9" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -32,7 +32,7 @@ license='MIT', author='Tamir Kamara', author_email='tamir.kamara@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/image-copy', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/image-copy', classifiers=CLASSIFIERS, package_data={'azext_imagecopy': ['azext_metadata.json']}, packages=find_packages(), diff --git a/src/image-gallery/setup.py b/src/image-gallery/setup.py index b06e5b106a8..9ef75c95b74 100644 --- a/src/image-gallery/setup.py +++ b/src/image-gallery/setup.py @@ -48,7 +48,7 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/image-gallery', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/import-export/setup.py b/src/import-export/setup.py index 5e7baa34f9b..e175252ad38 100644 --- a/src/import-export/setup.py +++ b/src/import-export/setup.py @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/import-export', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/import-export', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/index.json b/src/index.json index 7fd5a7cd0dc..23df1c18416 100644 --- a/src/index.json +++ b/src/index.json @@ -129,6 +129,49 @@ "version": "0.2.1" }, "sha256Digest": "aba36f7a6f109d2bd1b1624ebcfdfd07a97e9a0b05b051d0af7d2ddb4d2f3c89" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/account-0.2.2-py3-none-any.whl", + "filename": "account-0.2.2-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.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/main/src/account" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "account", + "summary": "Microsoft Azure Command-Line Tools SubscriptionClient Extension", + "version": "0.2.2" + }, + "sha256Digest": "adffb8a4ceaecde0157467740551cea2b983ae5483d9b0ec59f9c678f232066d" } ], "acrtransfer": [ @@ -4206,15 +4249,13 @@ "version": "0.5.45" }, "sha256Digest": "dce3edd35e9467e64db64ea6fe69a3360f51be02fcf273126c77bd2a79bc43c7" - } - ], - "alertsmanagement": [ + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alertsmanagement-0.1.0-py2.py3-none-any.whl", - "filename": "alertsmanagement-0.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.46-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.46-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.1", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.30.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -4230,8 +4271,8 @@ "python.details": { "contacts": [ { - "email": "fey@microsoft.com", - "name": "Github:qwordy", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4239,25 +4280,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "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": "alertsmanagement", - "summary": "Microsoft Azure Command-Line Tools Alerts Extension", - "version": "0.1.0" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.46" }, - "sha256Digest": "80ab78574debff9d8a9106bac3929cb552adea1371ea24f06073669fef708fcd" + "sha256Digest": "9f811e0176fb309f40c0a6a2cfbd50c27aa4c19a80f518ad100e232c382da336" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/alertsmanagement-0.1.1-py2.py3-none-any.whl", - "filename": "alertsmanagement-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.47-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.47-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.1", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.30.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -4273,8 +4314,8 @@ "python.details": { "contacts": [ { - "email": "fey@microsoft.com", - "name": "Github:qwordy", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4282,46 +4323,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/alertsmanagement" + "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": "alertsmanagement", - "summary": "Microsoft Azure Command-Line Tools Alerts Extension", - "version": "0.1.1" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.47" }, - "sha256Digest": "319f2855f71de21b22b721b4b02d50faf858a71c04ced52a4f4c1e4e114dffa6" - } - ], - "alias": [ + "sha256Digest": "a3d03b2ad7ae74468556b8142252e9e51f70e50ce5b1685c8188930b1e43a4ef" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alias-0.5.2-py2.py3-none-any.whl", - "filename": "alias-0.5.2-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.48-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.48-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.50.dev0", + "azext.minCliCoreVersion": "2.30.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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "t-chwong@microsoft.com", - "name": "Ernest Wong", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4329,52 +4366,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, - "extras": [], - "generator": "bdist_wheel (0.29.0)", + "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "alias", - "run_requires": [ - { - "requires": [ - "jinja2 (~=2.10)" - ] - } - ], - "summary": "Support for command aliases", - "version": "0.5.2" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.48" }, - "sha256Digest": "05f82d75026e780d27bd34a1be57f4ec0f425500d8ab4ee7e92fee07b944da33" + "sha256Digest": "f253e1df741ca7a9b22fef56a362606f9cd7f9e79d52d25fe36a8f76a2c0b52f" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alias-0.5.1-py2.py3-none-any.whl", - "filename": "alias-0.5.1-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.49-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.49-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.31.dev0", + "azext.minCliCoreVersion": "2.31.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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "t-chwong@microsoft.com", - "name": "Ernest Wong", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4382,41 +4409,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "alias", - "run_requires": [ - { - "requires": [ - "jinja2 (~=2.10)" - ] - } - ], - "summary": "Support for command aliases", - "version": "0.5.1" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.49" }, - "sha256Digest": "81b9a7f1824bffcbd6e72680891476151dde868e030cdbf1bfd9135e1a8f3447" - } - ], - "application-insights": [ + "sha256Digest": "8ee88b5673e5d0b69176f8e6b1b5402854b6b28b763e749251414d3801650259" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.3-py2.py3-none-any.whl", - "filename": "application_insights-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.50-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.50-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.31.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": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4424,31 +4452,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "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": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.3" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.50" }, - "sha256Digest": "e5b8104da5d9f241a0599adeb3b1d2f910f00991f47d4f4c4095285de3a82f00" + "sha256Digest": "1ee3571431ef61e5c66bc92ca9927b97d0eaf37e0c9290e55744fcf8bd8cf552" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.4-py2.py3-none-any.whl", - "filename": "application_insights-0.1.4-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.51-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.51-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.31.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": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4456,44 +4495,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "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": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.4" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.51" }, - "sha256Digest": "8b4ef4870b16a15fd81af385c3dff762e7af52333e212a68b5ec5f42663a6078" + "sha256Digest": "9908869553f8438a8f184586396e2f2013871bbf49063b95a2ee4d354c539912" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.5-py2.py3-none-any.whl", - "filename": "application_insights-0.1.5-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.52-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.52-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.31.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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4501,44 +4538,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/aks-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.5" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.52" }, - "sha256Digest": "effa0a37f1e8b2506d4849a2208d69f06a6683809e5da809bea63bd0f940da2f" + "sha256Digest": "9446d0056caeabbfbac6a47ac88fdb67757db285c7063b5e8074befbc56338d0" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.6-py2.py3-none-any.whl", - "filename": "application_insights-0.1.6-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.53-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.53-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.32.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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4546,44 +4581,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/aks-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.6" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.53" }, - "sha256Digest": "271db7f2036eb245d3d00d5010468330e4ed97e7ed9756598e61a1960d37ac44" + "sha256Digest": "d8e85ba210d276b5caee4d8049b1e0e3ea5b55d6b319a630cf2e523305e6e6cc" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.7-py2.py3-none-any.whl", - "filename": "application_insights-0.1.7-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.54-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.54-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.32.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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4591,44 +4624,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/aks-preview" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.7" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.54" }, - "sha256Digest": "6cb8c879d0960e6f41e1273c309253d7d7ca42089694fcf5e500d0a27ae89b59" + "sha256Digest": "957461fa774e2f4a041464a1c82b77edd6b380c6e77ae7a4ae84fba6402380a3" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.8-py2.py3-none-any.whl", - "filename": "application_insights-0.1.8-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.55-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.55-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.32.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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4636,52 +4667,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/aks-preview" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "run_requires": [ - { - "requires": [ - "isodate (~=0.6.0)" - ] - } - ], - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.8" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.55" }, - "sha256Digest": "f2f041e166f0b587e7c92252ef59e3bcecb8721f15c5e96f4496871a85a81f61" + "sha256Digest": "6dffcadb2091abab3e6c682dcac05a8149f6887e04550342e1ae33109fd4266f" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.9-py2.py3-none-any.whl", - "filename": "application_insights-0.1.9-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.56-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.56-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.32.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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4689,52 +4710,44 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/aks-preview" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "run_requires": [ - { - "requires": [ - "isodate (~=0.6.0)" - ] - } - ], - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.9" + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.56" }, - "sha256Digest": "4ed371e2e02a31133bec6d416dd98c0de3e1ffbf56089e034abc36609c9dfa97" - }, + "sha256Digest": "113eca94a2bda03fea6810bffbed83c1e1c5ab91d38b40001e8bab320d6449e2" + } + ], + "alertsmanagement": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.10-py2.py3-none-any.whl", - "filename": "application_insights-0.1.10-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alertsmanagement-0.1.0-py2.py3-none-any.whl", + "filename": "alertsmanagement-0.1.0-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "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 :: 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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "fey@microsoft.com", + "name": "Github:qwordy", "role": "author" } ], @@ -4742,52 +4755,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "run_requires": [ - { - "requires": [ - "isodate (~=0.6.0)" - ] - } - ], - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.10" + "name": "alertsmanagement", + "summary": "Microsoft Azure Command-Line Tools Alerts Extension", + "version": "0.1.0" }, - "sha256Digest": "4f6ef254677ae32523f44af0f6b99bbdf6e5a8d1c894c7d2d72f4c8f8f359fb0" + "sha256Digest": "80ab78574debff9d8a9106bac3929cb552adea1371ea24f06073669fef708fcd" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.11-py2.py3-none-any.whl", - "filename": "application_insights-0.1.11-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/alertsmanagement-0.1.1-py2.py3-none-any.whl", + "filename": "alertsmanagement-0.1.1-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "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 :: 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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "fey@microsoft.com", + "name": "Github:qwordy", "role": "author" } ], @@ -4795,52 +4798,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/alertsmanagement" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "run_requires": [ - { - "requires": [ - "isodate (~=0.6.0)" - ] - } - ], - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.11" + "name": "alertsmanagement", + "summary": "Microsoft Azure Command-Line Tools Alerts Extension", + "version": "0.1.1" }, - "sha256Digest": "ffb9b4daf395966226786cc55bce2beff7d9a22ccec739cb21910ff03f582e90" + "sha256Digest": "319f2855f71de21b22b721b4b02d50faf858a71c04ced52a4f4c1e4e114dffa6" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.12-py2.py3-none-any.whl", - "filename": "application_insights-0.1.12-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/alertsmanagement-0.2.0-py3-none-any.whl", + "filename": "alertsmanagement-0.2.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4848,52 +4841,42 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/alertsmanagement" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "run_requires": [ - { - "requires": [ - "isodate (~=0.6.0)" - ] - } - ], - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.12" + "name": "alertsmanagement", + "summary": "Microsoft Azure Command-Line Tools AlertsManagementClient Extension", + "version": "0.2.0" }, - "sha256Digest": "94ecdd71a1007df791a193e9273e902c39caa53dc965823c019d41cd679ee27c" + "sha256Digest": "1881c770fca969d269840923f1a6332602ec0a031c7402aaefa3ac6babadf70c" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.13-py2.py3-none-any.whl", - "filename": "application_insights-0.1.13-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/alertsmanagement-0.2.1-py3-none-any.whl", + "filename": "alertsmanagement-0.2.1-py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -4901,33 +4884,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/alertsmanagement" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", - "run_requires": [ - { - "requires": [ - "isodate (~=0.6.0)" - ] - } - ], - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.13" + "name": "alertsmanagement", + "summary": "Microsoft Azure Command-Line Tools AlertsManagementClient Extension", + "version": "0.2.1" }, - "sha256Digest": "b1d5d31cfbd8a75595943d7248e585d63d0a1c6b43c69febbd7162239af98933" - }, + "sha256Digest": "4ad81bafbcf4d0cc813918d3a370eda0ff4d7e8d410cadb1adee353e300d58ef" + } + ], + "alias": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.14-py2.py3-none-any.whl", - "filename": "application_insights-0.1.14-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alias-0.5.2-py2.py3-none-any.whl", + "filename": "alias-0.5.2-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.79", + "azext.minCliCoreVersion": "2.0.50.dev0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -4945,8 +4922,8 @@ "python.details": { "contacts": [ { - "email": "aleldeib@microsoft.com", - "name": "Ace Eldeib", + "email": "t-chwong@microsoft.com", + "name": "Ernest Wong", "role": "author" } ], @@ -4954,35 +4931,33 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "extras": [], - "generator": "bdist_wheel (0.30.0)", + "generator": "bdist_wheel (0.29.0)", "license": "MIT", "metadata_version": "2.0", - "name": "application-insights", + "name": "alias", "run_requires": [ { "requires": [ - "isodate (~=0.6.0)" + "jinja2 (~=2.10)" ] } ], - "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", - "version": "0.1.14" + "summary": "Support for command aliases", + "version": "0.5.2" }, - "sha256Digest": "9e20c68a41b089691881813fa67596ee96141dda0575f57651417a5dc361d807" - } - ], - "appservice-kube": [ + "sha256Digest": "05f82d75026e780d27bd34a1be57f4ec0f425500d8ab4ee7e92fee07b944da33" + }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.0-py2.py3-none-any.whl", - "filename": "appservice_kube-0.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/alias-0.5.1-py2.py3-none-any.whl", + "filename": "alias-0.5.1-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.26.0", + "azext.minCliCoreVersion": "2.0.31.dev0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -5000,8 +4975,8 @@ "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "t-chwong@microsoft.com", + "name": "Ernest Wong", "role": "author" } ], @@ -5013,27 +4988,1679 @@ } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "appservice-kube", - "summary": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension", - "version": "0.1.0" + "name": "alias", + "run_requires": [ + { + "requires": [ + "jinja2 (~=2.10)" + ] + } + ], + "summary": "Support for command aliases", + "version": "0.5.1" }, - "sha256Digest": "20f01eb95b1daadf21f589d3d953a756cb61259f279973880b4c0acbd4e05e27" + "sha256Digest": "81b9a7f1824bffcbd6e72680891476151dde868e030cdbf1bfd9135e1a8f3447" } ], - "arcappliance": [ + "application-insights": [ { - "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.1.4-py2.py3-none-any.whl", - "filename": "arcappliance-0.1.4-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.3-py2.py3-none-any.whl", + "filename": "application_insights-0.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.3" + }, + "sha256Digest": "e5b8104da5d9f241a0599adeb3b1d2f910f00991f47d4f4c4095285de3a82f00" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.4-py2.py3-none-any.whl", + "filename": "application_insights-0.1.4-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.4" + }, + "sha256Digest": "8b4ef4870b16a15fd81af385c3dff762e7af52333e212a68b5ec5f42663a6078" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.5-py2.py3-none-any.whl", + "filename": "application_insights-0.1.5-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.5" + }, + "sha256Digest": "effa0a37f1e8b2506d4849a2208d69f06a6683809e5da809bea63bd0f940da2f" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.6-py2.py3-none-any.whl", + "filename": "application_insights-0.1.6-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.6" + }, + "sha256Digest": "271db7f2036eb245d3d00d5010468330e4ed97e7ed9756598e61a1960d37ac44" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.7-py2.py3-none-any.whl", + "filename": "application_insights-0.1.7-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.7" + }, + "sha256Digest": "6cb8c879d0960e6f41e1273c309253d7d7ca42089694fcf5e500d0a27ae89b59" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.8-py2.py3-none-any.whl", + "filename": "application_insights-0.1.8-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.8" + }, + "sha256Digest": "f2f041e166f0b587e7c92252ef59e3bcecb8721f15c5e96f4496871a85a81f61" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.9-py2.py3-none-any.whl", + "filename": "application_insights-0.1.9-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.9" + }, + "sha256Digest": "4ed371e2e02a31133bec6d416dd98c0de3e1ffbf56089e034abc36609c9dfa97" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.10-py2.py3-none-any.whl", + "filename": "application_insights-0.1.10-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.10" + }, + "sha256Digest": "4f6ef254677ae32523f44af0f6b99bbdf6e5a8d1c894c7d2d72f4c8f8f359fb0" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.11-py2.py3-none-any.whl", + "filename": "application_insights-0.1.11-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.11" + }, + "sha256Digest": "ffb9b4daf395966226786cc55bce2beff7d9a22ccec739cb21910ff03f582e90" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.12-py2.py3-none-any.whl", + "filename": "application_insights-0.1.12-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.12" + }, + "sha256Digest": "94ecdd71a1007df791a193e9273e902c39caa53dc965823c019d41cd679ee27c" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.13-py2.py3-none-any.whl", + "filename": "application_insights-0.1.13-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.13" + }, + "sha256Digest": "b1d5d31cfbd8a75595943d7248e585d63d0a1c6b43c69febbd7162239af98933" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.14-py2.py3-none-any.whl", + "filename": "application_insights-0.1.14-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.14" + }, + "sha256Digest": "9e20c68a41b089691881813fa67596ee96141dda0575f57651417a5dc361d807" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/application_insights-0.1.15-py2.py3-none-any.whl", + "filename": "application_insights-0.1.15-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.79", + "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": "aleldeib@microsoft.com", + "name": "Ace Eldeib", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/application-insights" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "application-insights", + "run_requires": [ + { + "requires": [ + "isodate (~=0.6.0)" + ] + } + ], + "summary": "Support for managing Application Insights components and querying metrics, events, and logs from such components.", + "version": "0.1.15" + }, + "sha256Digest": "2173bccb328f61ebdb2ce1a3018856a4a6d2d179fe8d6b665e996203b0ac13a5" + } + ], + "appservice-kube": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.0-py2.py3-none-any.whl", + "filename": "appservice_kube-0.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.26.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" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "appservice-kube", + "summary": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension", + "version": "0.1.0" + }, + "sha256Digest": "20f01eb95b1daadf21f589d3d953a756cb61259f279973880b4c0acbd4e05e27" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.1-py2.py3-none-any.whl", + "filename": "appservice_kube-0.1.1-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.26.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" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "appservice-kube", + "summary": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension", + "version": "0.1.1" + }, + "sha256Digest": "4b1b59fbac8dc68f390c48e9e8fa32676c041b857d2bf5f425bc8815e69b8708" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.2-py2.py3-none-any.whl", + "filename": "appservice_kube-0.1.2-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.26.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" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "appservice-kube", + "summary": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension", + "version": "0.1.2" + }, + "sha256Digest": "aa67ced7e361002bf8bec125540c4f9eb216ba0ad7342336285b8bdd17f1ece0" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.3-py2.py3-none-any.whl", + "filename": "appservice_kube-0.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.maxCliCoreVersion": "2.33.1", + "azext.minCliCoreVersion": "2.33.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/main/src/appservice-kube" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "appservice-kube", + "summary": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension", + "version": "0.1.3" + }, + "sha256Digest": "e972d2e31eacf83f8ceddc7a4db88e72af71238cdfe6cb6772742be163a9230f" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.4-py2.py3-none-any.whl", + "filename": "appservice_kube-0.1.4-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.34.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/main/src/appservice-kube" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "appservice-kube", + "summary": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension", + "version": "0.1.4" + }, + "sha256Digest": "96156079aa1128cd5819d353aa27434b4c028f6b525275a136092c5c2b02af4f" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/appservice_kube-0.1.5-py2.py3-none-any.whl", + "filename": "appservice_kube-0.1.5-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.34.1", + "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/main/src/appservice-kube" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "appservice-kube", + "summary": "Microsoft Azure Command-Line Tools App Service on Kubernetes Extension", + "version": "0.1.5" + }, + "sha256Digest": "d380339170ffdfcdd1e26336da8a3586761b0268f959476f0ecdc50a6365160d" + } + ], + "arcappliance": [ + { + "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.1.48-py2.py3-none-any.whl", + "filename": "arcappliance-0.1.48-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 :: 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": "appliance@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://msazure.visualstudio.com/AzureArcPlatform/_git/arcappliance-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "arcappliance", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.2.0)", + "kubernetes (==11.0.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Arcappliance Extension", + "version": "0.1.48" + }, + "sha256Digest": "d700ad923f36ae9b1e50910839fdaeb5941a63abf0e5de6b3d2f6543fcf3821d" + }, + { + "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.2.15-py2.py3-none-any.whl", + "filename": "arcappliance-0.2.15-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 :: 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": "appliance@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://msazure.visualstudio.com/AzureArcPlatform/_git/arcappliance-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "arcappliance", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.2.0)", + "kubernetes (==11.0.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Arcappliance Extension", + "version": "0.2.15" + }, + "sha256Digest": "774c34709e2e76d2c873934c5770e371688cbf89d612de8b332136caef2eef9c" + }, + { + "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.2.16-py2.py3-none-any.whl", + "filename": "arcappliance-0.2.16-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 :: 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": "appliance@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://msazure.visualstudio.com/AzureArcPlatform/_git/arcappliance-cli-extensions" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "arcappliance", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.2.0)", + "kubernetes (==11.0.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Arcappliance Extension", + "version": "0.2.16" + }, + "sha256Digest": "3f528b71c913ba0daf69fd048211ccf52428a2c8f9f48d39281d3b9fc88c0c06" + } + ], + "arcdata": [ + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.2.3-py2.py3-none-any.whl", + "filename": "arcdata-1.2.3-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "colorama (==0.4.4)", + "jinja2 (==3.0.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.2.3" + }, + "sha256Digest": "b4757151ad2796cac8fcc43a363c0fbbf5de270f043d8fd8ccd51b377abfd61c" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.2.2-py2.py3-none-any.whl", + "filename": "arcdata-1.2.2-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "colorama (==0.4.4)", + "jinja2 (==3.0.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.2.2" + }, + "sha256Digest": "2011cf5d186b713df3b14c09cfb63e52e843c015f0cc4a7ff558b161c9e225cf" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.2.1-py2.py3-none-any.whl", + "filename": "arcdata-1.2.1-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "colorama (==0.4.4)", + "jinja2 (==3.0.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.2.1" + }, + "sha256Digest": "0d5bfcbed4e418f5ce79377a2e392f5f61abb0d5e6f8ce164940b83b5cfdbcd5" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.2.0-py2.py3-none-any.whl", + "filename": "arcdata-1.2.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "colorama (==0.4.4)", + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.2.0" + }, + "sha256Digest": "308d953ecabc7b59fa6b3e545404279bc18376b8c129580124c443e866e3cb54" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.1.3-py2.py3-none-any.whl", + "filename": "arcdata-1.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "colorama (==0.4.4)", + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.1.3" + }, + "sha256Digest": "63573d92742ab3ff2cdb73de39ea17821d3044503382c528e39a28f6224b8acb" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.1.2-py2.py3-none-any.whl", + "filename": "arcdata-1.1.2-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "colorama (==0.4.4)", + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.1.2" + }, + "sha256Digest": "ffcb38d3653195dc30ce93066b5aff3ff7037be81232db4afcb11ef99f3de844" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.1.1-py2.py3-none-any.whl", + "filename": "arcdata-1.1.1-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "azure-mgmt-azurearcdata", + "colorama (==0.4.4)", + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.1.1" + }, + "sha256Digest": "1cb2dcfadd539cdc7f6acbfcd44db5f7d380ec9a896f5eaa47ebabbe89786d07" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.1.0-py2.py3-none-any.whl", + "filename": "arcdata-1.1.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "azure-mgmt-azurearcdata", + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.1.0" + }, + "sha256Digest": "dedb4ac6de099d8fd565d427ac339cc23a10be76ca0147f6babec6096fc377e7" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.0.0-py2.py3-none-any.whl", + "filename": "arcdata-1.0.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pem (==21.2.0)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "1.0.0" + }, + "sha256Digest": "4045fabe61c0287003a4626d0f8d27c2839b3575a63ce2bdfe57ed214171acf8" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-0.0.2-py2.py3-none-any.whl", + "filename": "arcdata-0.0.2-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": false, + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 1 - Beta", + "Intended Audience :: Developers", + "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": "dpgswdist@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://docs.microsoft.com/en-us/sql/sql-server/azure-arc/overview?view=sql-server-ver15" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "license_file": "LICENSE", + "metadata_version": "2.0", + "name": "arcdata", + "run_requires": [ + { + "requires": [ + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "jsonschema (==3.2.0)", + "kubernetes (==12.0.1)", + "ndjson (==0.3.1)", + "pydash (==4.8.0)" + ] + } + ], + "summary": "Tools for managing ArcData.", + "version": "0.0.2" + }, + "sha256Digest": "d14aa3046b7a9c3bca67c735eeb35fb24ff5ed240212724d3f229eb23280abae" + }, + { + "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-0.0.1-py2.py3-none-any.whl", + "filename": "arcdata-0.0.1-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.isExperimental": false, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ - "Development Status :: 4 - Beta", + "Development Status :: 1 - Beta", "Intended Audience :: Developers", - "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", @@ -5045,7 +6672,7 @@ "python.details": { "contacts": [ { - "email": "appliance@microsoft.com", + "email": "dpgswdist@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -5054,34 +6681,83 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://msazure.visualstudio.com/AzureArcPlatform/_git/arcappliance-cli-extensions" + "Home": "https://docs.microsoft.com/en-us/sql/sql-server/azure-arc/overview?view=sql-server-ver15" } } }, "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", + "license_file": "LICENSE", "metadata_version": "2.0", - "name": "arcappliance", + "name": "arcdata", "run_requires": [ { "requires": [ - "jsonschema (==3.2.0)", - "kubernetes (==11.0.0)" + "jinja2 (==2.10.3)", + "jsonpatch (==1.24)", + "jsonpath-ng (==1.4.3)", + "kubernetes (==11.0.0)", + "pydash (==4.8.0)" ] } ], - "summary": "Microsoft Azure Command-Line Tools Arcappliance Extension", - "version": "0.1.4" + "summary": "Tools for managing ArcData.", + "version": "0.0.1" + }, + "sha256Digest": "e727a7bf123aa15b406455f268be8a906907d6d32bd314d122b83d006767adc8" + } + ], + "attestation": [ + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/attestation-0.1.0-py3-none-any.whl", + "filename": "attestation-0.1.0-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.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/attestation" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "attestation", + "summary": "Microsoft Azure Command-Line Tools AttestationManagementClient Extension", + "version": "0.1.0" }, - "sha256Digest": "8c3ace89d98781f2e0c952a7197862d0f64afded0c6e8e83f229fea3e014806b" + "sha256Digest": "1d4e9b832a3f50b33428d565478a2e655c81d49277c07dc909f1485b62ba5372" }, { - "downloadUrl": "https://arcplatformcliextprod.blob.core.windows.net/arcappliance/arcappliance-0.1.42-py2.py3-none-any.whl", - "filename": "arcappliance-0.1.42-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/attestation-0.2.0-py3-none-any.whl", + "filename": "attestation-0.2.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.11.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -5097,7 +6773,7 @@ "python.details": { "contacts": [ { - "email": "appliance@microsoft.com", + "email": "azpycli@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -5106,7 +6782,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://msazure.visualstudio.com/AzureArcPlatform/_git/arcappliance-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/attestation" } } }, @@ -5114,31 +6790,31 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "arcappliance", + "name": "attestation", "run_requires": [ { "requires": [ - "jsonschema (==3.2.0)", - "kubernetes (==11.0.0)" + "pyjwt (==1.7.1)" ] } ], - "summary": "Microsoft Azure Command-Line Tools Arcappliance Extension", - "version": "0.1.42" + "summary": "Microsoft Azure Command-Line Tools AttestationManagementClient Extension", + "version": "0.2.0" }, - "sha256Digest": "91c4fd57ab294918ab4e1e42a9d93f5d9a217a70bcfb7840ddb9175ca50ebcf0" + "sha256Digest": "895328b45d8bcfe45e4937885572cd1f39d23bc49f88314713a462bf1a367cc9" } ], - "arcdata": [ + "authV2": [ { - "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.1.2-py2.py3-none-any.whl", - "filename": "arcdata-1.1.2-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/authV2-0.1.0-py3-none-any.whl", + "filename": "authV2-0.1.0-py3-none-any.whl", "metadata": { - "azext.isExperimental": false, - "azext.minCliCoreVersion": "2.3.1", + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.23.0", "classifiers": [ - "Development Status :: 1 - Beta", + "Development Status :: 4 - Beta", "Intended Audience :: Developers", + "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", @@ -5150,7 +6826,7 @@ "python.details": { "contacts": [ { - "email": "dpgswdist@microsoft.com", + "email": "azpycli@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -5159,45 +6835,29 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/authV2" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", - "license_file": "LICENSE", "metadata_version": "2.0", - "name": "arcdata", - "run_requires": [ - { - "requires": [ - "colorama (==0.4.4)", - "jinja2 (==2.10.3)", - "jsonpatch (==1.24)", - "jsonpath-ng (==1.4.3)", - "jsonschema (==3.2.0)", - "kubernetes (==12.0.1)", - "ndjson (==0.3.1)", - "pem (==21.2.0)", - "pydash (==4.8.0)" - ] - } - ], - "summary": "Tools for managing ArcData.", - "version": "1.1.2" + "name": "authV2", + "summary": "Microsoft Azure Command-Line Tools Authv2 Extension", + "version": "0.1.0" }, - "sha256Digest": "ffcb38d3653195dc30ce93066b5aff3ff7037be81232db4afcb11ef99f3de844" + "sha256Digest": "240b7f5f1ac3fc2a72586cde8ff8cc2d2f469a1b6c6378822129b33233c0d7b7" }, { - "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.1.1-py2.py3-none-any.whl", - "filename": "arcdata-1.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/authV2-0.1.1-py3-none-any.whl", + "filename": "authV2-0.1.1-py3-none-any.whl", "metadata": { - "azext.isExperimental": false, - "azext.minCliCoreVersion": "2.3.1", + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.23.0", "classifiers": [ - "Development Status :: 1 - Beta", + "Development Status :: 4 - Beta", "Intended Audience :: Developers", + "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", @@ -5209,7 +6869,7 @@ "python.details": { "contacts": [ { - "email": "dpgswdist@microsoft.com", + "email": "azpycli@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -5218,46 +6878,31 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/authV2" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", - "license_file": "LICENSE", "metadata_version": "2.0", - "name": "arcdata", - "run_requires": [ - { - "requires": [ - "azure-mgmt-azurearcdata", - "colorama (==0.4.4)", - "jinja2 (==2.10.3)", - "jsonpatch (==1.24)", - "jsonpath-ng (==1.4.3)", - "jsonschema (==3.2.0)", - "kubernetes (==12.0.1)", - "ndjson (==0.3.1)", - "pem (==21.2.0)", - "pydash (==4.8.0)" - ] - } - ], - "summary": "Tools for managing ArcData.", - "version": "1.1.1" + "name": "authV2", + "summary": "Microsoft Azure Command-Line Tools Authv2 Extension", + "version": "0.1.1" }, - "sha256Digest": "1cb2dcfadd539cdc7f6acbfcd44db5f7d380ec9a896f5eaa47ebabbe89786d07" - }, + "sha256Digest": "0beb143e3ca4f4f9706877d416b07cb9f9796bd696a0a642825d8ca48217edb0" + } + ], + "automation": [ { - "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.1.0-py2.py3-none-any.whl", - "filename": "arcdata-1.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/automation-0.1.0-py3-none-any.whl", + "filename": "automation-0.1.0-py3-none-any.whl", "metadata": { - "azext.isExperimental": false, - "azext.minCliCoreVersion": "2.3.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.13.0", "classifiers": [ - "Development Status :: 1 - Beta", + "Development Status :: 4 - Beta", "Intended Audience :: Developers", + "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", @@ -5269,7 +6914,7 @@ "python.details": { "contacts": [ { - "email": "dpgswdist@microsoft.com", + "email": "azpycli@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -5278,45 +6923,29 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/automation" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", - "license_file": "LICENSE", "metadata_version": "2.0", - "name": "arcdata", - "run_requires": [ - { - "requires": [ - "azure-mgmt-azurearcdata", - "jinja2 (==2.10.3)", - "jsonpatch (==1.24)", - "jsonpath-ng (==1.4.3)", - "jsonschema (==3.2.0)", - "kubernetes (==12.0.1)", - "ndjson (==0.3.1)", - "pem (==21.2.0)", - "pydash (==4.8.0)" - ] - } - ], - "summary": "Tools for managing ArcData.", - "version": "1.1.0" + "name": "automation", + "summary": "Microsoft Azure Command-Line Tools AutomationClient Extension", + "version": "0.1.0" }, - "sha256Digest": "dedb4ac6de099d8fd565d427ac339cc23a10be76ca0147f6babec6096fc377e7" + "sha256Digest": "779f996ffab9fd76438d8938216fcbeb6f9aecad3a23bd2097731182607e4d7a" }, { - "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-1.0.0-py2.py3-none-any.whl", - "filename": "arcdata-1.0.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/automation-0.1.1-py3-none-any.whl", + "filename": "automation-0.1.1-py3-none-any.whl", "metadata": { - "azext.isExperimental": false, - "azext.minCliCoreVersion": "2.3.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.13.0", "classifiers": [ - "Development Status :: 1 - Beta", + "Development Status :: 4 - Beta", "Intended Audience :: Developers", + "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", @@ -5328,7 +6957,41 @@ "python.details": { "contacts": [ { - "email": "dpgswdist@microsoft.com", + "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/automation" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "automation", + "summary": "Microsoft Azure Command-Line Tools AutomationClient Extension", + "version": "0.1.1" + }, + "sha256Digest": "99640d86e3596a806ea2eca6b8f67f02fea74951ffa0606bff60fbfc88da7d6e" + } + ], + "azure-batch-cli-extensions": [ + { + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-2.5.3/azure_batch_cli_extensions-2.5.3-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-2.5.3-py2.py3-none-any.whl", + "metadata": { + "azext.maxCliCoreVersion": "2.0.58", + "azext.minCliCoreVersion": "2.0.24", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -5337,57 +7000,39 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/en-us/azure/azure-arc/data/" + "Home": "https://github.com/Azure/azure-batch-cli-extensions" } } }, "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", - "license_file": "LICENSE", "metadata_version": "2.0", - "name": "arcdata", + "name": "azure-batch-cli-extensions", "run_requires": [ { "requires": [ - "jinja2 (==2.10.3)", - "jsonpatch (==1.24)", - "jsonpath-ng (==1.4.3)", - "jsonschema (==3.2.0)", - "kubernetes (==12.0.1)", - "ndjson (==0.3.1)", - "pem (==21.2.0)", - "pydash (==4.8.0)" + "azure-batch-extensions (<4.1,>=4.0.0)", + "pycparser (==2.18)" ] } ], - "summary": "Tools for managing ArcData.", - "version": "1.0.0" + "summary": "Additional commands for working with Azure Batch service", + "version": "2.5.3" }, - "sha256Digest": "4045fabe61c0287003a4626d0f8d27c2839b3575a63ce2bdfe57ed214171acf8" + "sha256Digest": "cc30b985edd5de0233d4fd283cfa29390d119c223b2f819ca36e071f759d5485" }, { - "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-0.0.2-py2.py3-none-any.whl", - "filename": "arcdata-0.0.2-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-3.0.4/azure_batch_cli_extensions-3.0.4-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-3.0.4-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": false, - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", - "classifiers": [ - "Development Status :: 1 - Beta", - "Intended Audience :: Developers", - "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" - ], + "azext.maxCliCoreVersion": "2.1.0", + "azext.minCliCoreVersion": "2.0.59", "extensions": { "python.details": { "contacts": [ { - "email": "dpgswdist@microsoft.com", + "email": "azpycli@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -5396,55 +7041,52 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/en-us/sql/sql-server/azure-arc/overview?view=sql-server-ver15" + "Home": "https://github.com/Azure/azure-batch-cli-extensions" } } }, "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", - "license_file": "LICENSE", "metadata_version": "2.0", - "name": "arcdata", + "name": "azure-batch-cli-extensions", "run_requires": [ { "requires": [ - "jinja2 (==2.10.3)", - "jsonpatch (==1.24)", - "jsonpath-ng (==1.4.3)", - "jsonschema (==3.2.0)", - "kubernetes (==12.0.1)", - "ndjson (==0.3.1)", - "pydash (==4.8.0)" + "azure-batch-extensions (<5.1,>=5.0.0)", + "pycparser (==2.18)" ] } ], - "summary": "Tools for managing ArcData.", - "version": "0.0.2" + "summary": "Additional commands for working with Azure Batch service", + "version": "3.0.4" }, - "sha256Digest": "d14aa3046b7a9c3bca67c735eeb35fb24ff5ed240212724d3f229eb23280abae" + "sha256Digest": "9e76b7242934ceb8ae48c65f5469312522a034f4abf66d4771fb721aee04a502" }, { - "downloadUrl": "https://azurearcdatacli.blob.core.windows.net/cli-extensions/arcdata-0.0.1-py2.py3-none-any.whl", - "filename": "arcdata-0.0.1-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-4.0.0/azure_batch_cli_extensions-4.0.0-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-4.0.0-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": false, - "azext.minCliCoreVersion": "2.3.1", + "azext.maxCliCoreVersion": "2.1.0", + "azext.minCliCoreVersion": "2.0.69", "classifiers": [ - "Development Status :: 1 - Beta", + "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", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "dpgswdist@microsoft.com", + "email": "azpycli@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -5453,51 +7095,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/en-us/sql/sql-server/azure-arc/overview?view=sql-server-ver15" + "Home": "https://github.com/Azure/azure-batch-cli-extensions" } } }, "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", - "license_file": "LICENSE", "metadata_version": "2.0", - "name": "arcdata", + "name": "azure-batch-cli-extensions", "run_requires": [ { "requires": [ - "jinja2 (==2.10.3)", - "jsonpatch (==1.24)", - "jsonpath-ng (==1.4.3)", - "kubernetes (==11.0.0)", - "pydash (==4.8.0)" + "azure-batch-extensions (<6.1,>=6.0.0)", + "pycparser (==2.18)" ] } ], - "summary": "Tools for managing ArcData.", - "version": "0.0.1" + "summary": "Additional commands for working with Azure Batch service", + "version": "4.0.0" }, - "sha256Digest": "e727a7bf123aa15b406455f268be8a906907d6d32bd314d122b83d006767adc8" - } - ], - "attestation": [ + "sha256Digest": "3045dc24858b9acfed13a517038830ddc643aef779de0d14617c49c9fd2dcbd5" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/attestation-0.1.0-py3-none-any.whl", - "filename": "attestation-0.1.0-py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-5.0.1/azure_batch_cli_extensions-5.0.1-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-5.0.1-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.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "License :: OSI Approved :: MIT License" - ], + "azext.maxCliCoreVersion": "3.0.0", + "azext.minCliCoreVersion": "2.0.73", "extensions": { "python.details": { "contacts": [ @@ -5511,36 +7136,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/attestation" + "Home": "https://github.com/Azure/azure-batch-cli-extensions" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "attestation", - "summary": "Microsoft Azure Command-Line Tools AttestationManagementClient Extension", - "version": "0.1.0" + "name": "azure-batch-cli-extensions", + "run_requires": [ + { + "requires": [ + "azure-batch-extensions (<7.1,>=7.0.0)", + "pycparser (==2.18)" + ] + } + ], + "summary": "Additional commands for working with Azure Batch service", + "version": "5.0.1" }, - "sha256Digest": "1d4e9b832a3f50b33428d565478a2e655c81d49277c07dc909f1485b62ba5372" + "sha256Digest": "bf07b63782e0f6446302971afaf8b5ec5bb6dbc00449bf3276511993abf8cd61" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/attestation-0.2.0-py3-none-any.whl", - "filename": "attestation-0.2.0-py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-6.0.0/azure_batch_cli_extensions-6.0.0-py2.py3-none-any.whl", + "filename": "azure_batch_cli_extensions-6.0.0-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "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" - ], + "azext.maxCliCoreVersion": "3.0.0", + "azext.minCliCoreVersion": "2.0.74", "extensions": { "python.details": { "contacts": [ @@ -5554,7 +7177,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/attestation" + "Home": "https://github.com/Azure/azure-batch-cli-extensions" } } }, @@ -5562,38 +7185,38 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "attestation", + "name": "azure-batch-cli-extensions", "run_requires": [ { "requires": [ - "pyjwt (==1.7.1)" + "azure-batch-extensions (<8.1,>=8.0.0)", + "pycparser (==2.18)" ] } ], - "summary": "Microsoft Azure Command-Line Tools AttestationManagementClient Extension", - "version": "0.2.0" + "summary": "Additional commands for working with Azure Batch service", + "version": "6.0.0" }, - "sha256Digest": "895328b45d8bcfe45e4937885572cd1f39d23bc49f88314713a462bf1a367cc9" + "sha256Digest": "6955a0d960d9c4df6935b9058f67c8c42872c8716d8d2a4f76e9e6ce72eb66ab" } ], - "authV2": [ + "azure-cli-ml": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/authV2-0.1.0-py3-none-any.whl", - "filename": "authV2-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.37.0-py3-none-any.whl", + "filename": "azure_cli_ml-1.37.0-py3-none-any.whl", "metadata": { - "azext.isPreview": false, - "azext.minCliCoreVersion": "2.23.0", + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ - "Development Status :: 4 - Beta", + "Development Status :: 3 - Alpha", "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" + "Programming Language :: Python :: 3.9" ], + "description_content_type": "text/x-rst", "extensions": { "python.details": { "contacts": [ @@ -5604,39 +7227,64 @@ } ], "document_names": { - "description": "DESCRIPTION.rst" + "description": "DESCRIPTION.rst", + "license": "LICENSE.txt" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/authV2" + "Home": "https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", - "license": "MIT", + "license": "Proprietary https://aka.ms/azureml-preview-sdk-license ", "metadata_version": "2.0", - "name": "authV2", - "summary": "Microsoft Azure Command-Line Tools Authv2 Extension", - "version": "0.1.0" + "name": "azure-cli-ml", + "requires_python": ">=3.5,<4", + "run_requires": [ + { + "requires": [ + "adal (>=1.2.1)", + "azureml-cli-common (~=1.37.0)", + "cryptography (<=3.3.2)", + "docker (>=3.7.2)", + "msrest (>=0.6.6)", + "pyyaml (>=5.1.0)", + "requests (>=2.21.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools AzureML Command Module", + "test_requires": [ + { + "requires": [ + "azure-keyvault", + "mock", + "nose", + "unittest-xml-reporting" + ] + } + ], + "version": "1.37.0" }, - "sha256Digest": "240b7f5f1ac3fc2a72586cde8ff8cc2d2f469a1b6c6378822129b33233c0d7b7" + "sha256Digest": "7dc527ad16592a775d79341d7711df31497b66bf616010890bd1f8831c81012d" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/authV2-0.1.1-py3-none-any.whl", - "filename": "authV2-0.1.1-py3-none-any.whl", + "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.5.0-py2.py3-none-any.whl", + "filename": "azure_cli_ml-1.5.0-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": false, - "azext.minCliCoreVersion": "2.23.0", + "azext.maxCliCoreVersion": "2.29.2", + "azext.minCliCoreVersion": "2.0.28", "classifiers": [ - "Development Status :: 4 - Beta", + "Development Status :: 3 - Alpha", "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" + "Programming Language :: Python :: 3.8" ], + "description_content_type": "text/x-rst", "extensions": { "python.details": { "contacts": [ @@ -5647,47 +7295,73 @@ } ], "document_names": { - "description": "DESCRIPTION.rst" + "description": "DESCRIPTION.rst", + "license": "LICENSE.txt" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/authV2" + "Home": "https://docs.microsoft.com/azure/machine-learning/service/" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", - "license": "MIT", + "license": "Proprietary https://aka.ms/azureml-preview-sdk-license ", "metadata_version": "2.0", - "name": "authV2", - "summary": "Microsoft Azure Command-Line Tools Authv2 Extension", - "version": "0.1.1" + "name": "azure-cli-ml", + "requires_python": ">=3.5,<4", + "run_requires": [ + { + "requires": [ + "adal (>=1.2.1)", + "azureml-cli-common (~=1.5.0)", + "docker (>=3.7.2)", + "msrest (>=0.6.6)", + "pyyaml (>=5.1.0)", + "requests (>=2.21.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools AzureML Command Module", + "test_requires": [ + { + "requires": [ + "azure-keyvault", + "mock", + "nose", + "unittest-xml-reporting" + ] + } + ], + "version": "1.5.0" }, - "sha256Digest": "0beb143e3ca4f4f9706877d416b07cb9f9796bd696a0a642825d8ca48217edb0" + "sha256Digest": "a535f01501a06f70d26a75f5ccde2d32640d3c7efec302fc2fc454bfb867e946" } ], - "automation": [ + "azure-devops": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/automation-0.1.0-py3-none-any.whl", - "filename": "automation-0.1.0-py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20190805.1/azure_devops-0.12.0-py2.py3-none-any.whl", + "filename": "azure_devops-0.12.0-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.13.0", + "azext.minCliCoreVersion": "2.0.49", "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", - "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", + "email": "VSTS_Social@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -5695,42 +7369,53 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/automation" + "Home": "https://github.com/Microsoft/azure-devops-cli-extension" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "automation", - "summary": "Microsoft Azure Command-Line Tools AutomationClient Extension", - "version": "0.1.0" + "name": "azure-devops", + "run_requires": [ + { + "requires": [ + "distro (==1.3.0)", + "msrest (<0.7.0,>=0.6.0)", + "python-dateutil (==2.7.3)" + ] + } + ], + "summary": "Tools for managing Azure DevOps.", + "version": "0.12.0" }, - "sha256Digest": "779f996ffab9fd76438d8938216fcbeb6f9aecad3a23bd2097731182607e4d7a" + "sha256Digest": "2abdfd1b760e1968176cd4043e2db7edf951978c6a2182eb5e79bb0c8070af4c" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/automation-0.1.1-py3-none-any.whl", - "filename": "automation-0.1.1-py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20200113.1/azure_devops-0.17.0-py2.py3-none-any.whl", + "filename": "azure_devops-0.17.0-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.13.0", + "azext.minCliCoreVersion": "2.0.69", "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", - "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", + "email": "VSTS_Social@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -5738,33 +7423,51 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/automation" + "Home": "https://github.com/Microsoft/azure-devops-cli-extension" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "automation", - "summary": "Microsoft Azure Command-Line Tools AutomationClient Extension", - "version": "0.1.1" + "name": "azure-devops", + "run_requires": [ + { + "requires": [ + "distro (==1.3.0)", + "msrest (<0.7.0,>=0.6.0)", + "python-dateutil (==2.7.3)" + ] + } + ], + "summary": "Tools for managing Azure DevOps.", + "version": "0.17.0" }, - "sha256Digest": "99640d86e3596a806ea2eca6b8f67f02fea74951ffa0606bff60fbfc88da7d6e" - } - ], - "azure-batch-cli-extensions": [ + "sha256Digest": "1e891afc8b6ee52c62c4f99802d77728ff60e89e4c08972325178cc4fdac6be9" + }, { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-2.5.3/azure_batch_cli_extensions-2.5.3-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-2.5.3-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20211028.1/azure_devops-0.21.0-py2.py3-none-any.whl", + "filename": "azure_devops-0.21.0-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "2.0.58", - "azext.minCliCoreVersion": "2.0.24", + "azext.minCliCoreVersion": "2.2.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", + "email": "VSTS_Social@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -5772,7 +7475,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Microsoft/azure-devops-cli-extension" } } }, @@ -5780,32 +7483,41 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", + "name": "azure-devops", "run_requires": [ { "requires": [ - "azure-batch-extensions (<4.1,>=4.0.0)", - "pycparser (==2.18)" + "distro (==1.3.0)" ] } ], - "summary": "Additional commands for working with Azure Batch service", - "version": "2.5.3" + "summary": "Tools for managing Azure DevOps.", + "version": "0.21.0" }, - "sha256Digest": "cc30b985edd5de0233d4fd283cfa29390d119c223b2f819ca36e071f759d5485" + "sha256Digest": "7ab5fd8d8f05bbd78d2e5fce961a06380aa258445561b88fb1ca02261cae365a" }, { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-3.0.4/azure_batch_cli_extensions-3.0.4-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-3.0.4-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20220131.1/azure_devops-0.23.0-py2.py3-none-any.whl", + "filename": "azure_devops-0.23.0-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "2.1.0", - "azext.minCliCoreVersion": "2.0.59", + "azext.minCliCoreVersion": "2.30.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", + "email": "VSTS_Social@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -5813,7 +7525,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Microsoft/azure-devops-cli-extension" } } }, @@ -5821,26 +7533,27 @@ "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", + "name": "azure-devops", "run_requires": [ { "requires": [ - "azure-batch-extensions (<5.1,>=5.0.0)", - "pycparser (==2.18)" + "distro (==1.3.0)" ] } ], - "summary": "Additional commands for working with Azure Batch service", - "version": "3.0.4" + "summary": "Tools for managing Azure DevOps.", + "version": "0.23.0" }, - "sha256Digest": "9e76b7242934ceb8ae48c65f5469312522a034f4abf66d4771fb721aee04a502" - }, + "sha256Digest": "f3c71e294c633252e0ea42e21427aab457b04a6a0ab2ae0a19c7235f1ac5749d" + } + ], + "azure-firewall": [ { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-4.0.0/azure_batch_cli_extensions-4.0.0-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-4.0.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.1.3-py2.py3-none-any.whl", + "filename": "azure_firewall-0.1.3-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "2.1.0", - "azext.minCliCoreVersion": "2.0.69", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.46", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -5867,34 +7580,38 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", - "run_requires": [ - { - "requires": [ - "azure-batch-extensions (<6.1,>=6.0.0)", - "pycparser (==2.18)" - ] - } - ], - "summary": "Additional commands for working with Azure Batch service", - "version": "4.0.0" + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.1.3" }, - "sha256Digest": "3045dc24858b9acfed13a517038830ddc643aef779de0d14617c49c9fd2dcbd5" + "sha256Digest": "116c1324206e8aa0e7cffdd719a12e87b2977a061fcd9fb96ae4b6fbe223e93f" }, { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-5.0.1/azure_batch_cli_extensions-5.0.1-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-5.0.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.1.9-py2.py3-none-any.whl", + "filename": "azure_firewall-0.1.9-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "3.0.0", - "azext.minCliCoreVersion": "2.0.73", + "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": [ @@ -5908,34 +7625,38 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", - "run_requires": [ - { - "requires": [ - "azure-batch-extensions (<7.1,>=7.0.0)", - "pycparser (==2.18)" - ] - } - ], - "summary": "Additional commands for working with Azure Batch service", - "version": "5.0.1" + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.1.9" }, - "sha256Digest": "bf07b63782e0f6446302971afaf8b5ec5bb6dbc00449bf3276511993abf8cd61" + "sha256Digest": "f20c18b5b176dd39815dee4d344368774b58bb2f4f03c28b89ee08212e45856a" }, { - "downloadUrl": "https://github.com/Azure/azure-batch-cli-extensions/releases/download/azure-batch-cli-extensions-6.0.0/azure_batch_cli_extensions-6.0.0-py2.py3-none-any.whl", - "filename": "azure_batch_cli_extensions-6.0.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.2.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.2.0-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "3.0.0", - "azext.minCliCoreVersion": "2.0.74", + "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": [ @@ -5949,47 +7670,38 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-batch-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-batch-cli-extensions", - "run_requires": [ - { - "requires": [ - "azure-batch-extensions (<8.1,>=8.0.0)", - "pycparser (==2.18)" - ] - } - ], - "summary": "Additional commands for working with Azure Batch service", - "version": "6.0.0" + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.2.0" }, - "sha256Digest": "6955a0d960d9c4df6935b9058f67c8c42872c8716d8d2a4f76e9e6ce72eb66ab" - } - ], - "azure-cli-ml": [ + "sha256Digest": "7934510bc2ed4d83c8dbee7d2d22c3de2332b96020e2f45515035153f94a246f" + }, { - "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.33.1-py3-none-any.whl", - "filename": "azure_cli_ml-1.33.1-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.3.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.3.0-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "2.29.2", - "azext.minCliCoreVersion": "2.3.1", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ - "Development Status :: 3 - Alpha", + "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", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9" + "License :: OSI Approved :: MIT License" ], - "description_content_type": "text/x-rst", "extensions": { "python.details": { "contacts": [ @@ -6000,64 +7712,41 @@ } ], "document_names": { - "description": "DESCRIPTION.rst", - "license": "LICENSE.txt" + "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", - "license": "Proprietary https://aka.ms/azureml-preview-sdk-license ", + "license": "MIT", "metadata_version": "2.0", - "name": "azure-cli-ml", - "requires_python": ">=3.5,<4", - "run_requires": [ - { - "requires": [ - "adal (>=1.2.1)", - "azureml-cli-common (~=1.33)", - "cryptography (<=3.3.2)", - "docker (>=3.7.2)", - "msrest (>=0.6.6)", - "pyyaml (>=5.1.0)", - "requests (>=2.21.0)" - ] - } - ], - "summary": "Microsoft Azure Command-Line Tools AzureML Command Module", - "test_requires": [ - { - "requires": [ - "azure-keyvault", - "mock", - "nose", - "unittest-xml-reporting" - ] - } - ], - "version": "1.33.1" + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.3.0" }, - "sha256Digest": "d5ce90d6208c97e541a6fd44622464c6e0d53b55e48286d40105c82338bc7c8d" + "sha256Digest": "12e5f8567ba8a74988f50ec6ed3539fad5b9e491727b0bc2c16e7acc34f49423" }, { - "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.5.0-py2.py3-none-any.whl", - "filename": "azure_cli_ml-1.5.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.3.1-py2.py3-none-any.whl", + "filename": "azure_firewall-0.3.1-py2.py3-none-any.whl", "metadata": { - "azext.maxCliCoreVersion": "2.29.2", - "azext.minCliCoreVersion": "2.0.28", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ - "Development Status :: 3 - Alpha", + "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", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8" + "License :: OSI Approved :: MIT License" ], - "description_content_type": "text/x-rst", "extensions": { "python.details": { "contacts": [ @@ -6068,54 +7757,28 @@ } ], "document_names": { - "description": "DESCRIPTION.rst", - "license": "LICENSE.txt" + "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://docs.microsoft.com/azure/machine-learning/service/" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", - "license": "Proprietary https://aka.ms/azureml-preview-sdk-license ", + "license": "MIT", "metadata_version": "2.0", - "name": "azure-cli-ml", - "requires_python": ">=3.5,<4", - "run_requires": [ - { - "requires": [ - "adal (>=1.2.1)", - "azureml-cli-common (~=1.5.0)", - "docker (>=3.7.2)", - "msrest (>=0.6.6)", - "pyyaml (>=5.1.0)", - "requests (>=2.21.0)" - ] - } - ], - "summary": "Microsoft Azure Command-Line Tools AzureML Command Module", - "test_requires": [ - { - "requires": [ - "azure-keyvault", - "mock", - "nose", - "unittest-xml-reporting" - ] - } - ], - "version": "1.5.0" + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.3.1" }, - "sha256Digest": "a535f01501a06f70d26a75f5ccde2d32640d3c7efec302fc2fc454bfb867e946" - } - ], - "azure-devops": [ + "sha256Digest": "32e10a4e96a891151959680ff3cbf3e28ea0cf38e49ac062c49c668d00e5d7d7" + }, { - "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20190805.1/azure_devops-0.12.0-py2.py3-none-any.whl", - "filename": "azure_devops-0.12.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.4.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.4.0-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.49", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6133,8 +7796,8 @@ "python.details": { "contacts": [ { - "email": "VSTS_Social@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -6142,34 +7805,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Microsoft/azure-devops-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-devops", - "run_requires": [ - { - "requires": [ - "distro (==1.3.0)", - "msrest (<0.7.0,>=0.6.0)", - "python-dateutil (==2.7.3)" - ] - } - ], - "summary": "Tools for managing Azure DevOps.", - "version": "0.12.0" + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.4.0" }, - "sha256Digest": "2abdfd1b760e1968176cd4043e2db7edf951978c6a2182eb5e79bb0c8070af4c" + "sha256Digest": "5c79cedfc5abf134f4b47ad5d867ff5852d2ba17f710d44a2101fe0aa51b1a48" }, { - "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20200113.1/azure_devops-0.17.0-py2.py3-none-any.whl", - "filename": "azure_devops-0.17.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.5.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.5.0-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.69", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6187,8 +7841,8 @@ "python.details": { "contacts": [ { - "email": "VSTS_Social@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -6196,39 +7850,32 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Microsoft/azure-devops-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-devops", - "run_requires": [ - { - "requires": [ - "distro (==1.3.0)", - "msrest (<0.7.0,>=0.6.0)", - "python-dateutil (==2.7.3)" - ] - } - ], - "summary": "Tools for managing Azure DevOps.", - "version": "0.17.0" + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.5.0" }, - "sha256Digest": "1e891afc8b6ee52c62c4f99802d77728ff60e89e4c08972325178cc4fdac6be9" + "sha256Digest": "ceb70fe380937e5cb42998648a3218313b1425286705743275a808bb15d70d03" }, { - "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20211028.1/azure_devops-0.21.0-py2.py3-none-any.whl", - "filename": "azure_devops-0.21.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.5.1-py2.py3-none-any.whl", + "filename": "azure_firewall-0.5.1-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.2.0", + "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", @@ -6239,8 +7886,8 @@ "python.details": { "contacts": [ { - "email": "VSTS_Social@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -6248,37 +7895,32 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Microsoft/azure-devops-cli-extension" - } - } - }, - "extras": [], - "generator": "bdist_wheel (0.30.0)", - "license": "MIT", - "metadata_version": "2.0", - "name": "azure-devops", - "run_requires": [ - { - "requires": [ - "distro (==1.3.0)" - ] - } - ], - "summary": "Tools for managing Azure DevOps.", - "version": "0.21.0" + "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.5.1" }, - "sha256Digest": "7ab5fd8d8f05bbd78d2e5fce961a06380aa258445561b88fb1ca02261cae365a" + "sha256Digest": "40581d4aaf52a8a1f8deccf3be641385348251b34ffeb4c65193111150002699" }, { - "downloadUrl": "https://github.com/Azure/azure-devops-cli-extension/releases/download/20211108.1/azure_devops-0.22.0-py2.py3-none-any.whl", - "filename": "azure_devops-0.22.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.6.0-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.30.0", + "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", @@ -6289,8 +7931,8 @@ "python.details": { "contacts": [ { - "email": "VSTS_Social@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -6298,35 +7940,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Microsoft/azure-devops-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-devops", - "run_requires": [ - { - "requires": [ - "distro (==1.3.0)" - ] - } - ], - "summary": "Tools for managing Azure DevOps.", - "version": "0.22.0" + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.6.0" }, - "sha256Digest": "ee612c2656d04a9d3899cd062486bf1a6600ed12eba9b0cb25a59a19c01c5ec6" - } - ], - "azure-firewall": [ + "sha256Digest": "b22c81a341f1742ebb2c32c45af1470b12bfe2d03907d43206cf8d0860e058f6" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.1.3-py2.py3-none-any.whl", - "filename": "azure_firewall-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.1-py2.py3-none-any.whl", + "filename": "azure_firewall-0.6.1-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.46", + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6362,13 +7994,13 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.1.3" + "version": "0.6.1" }, - "sha256Digest": "116c1324206e8aa0e7cffdd719a12e87b2977a061fcd9fb96ae4b6fbe223e93f" + "sha256Digest": "4bf18f81d1b97d458181154f51803103745182cf68972180507aa8c291c60a94" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.1.9-py2.py3-none-any.whl", - "filename": "azure_firewall-0.1.9-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.2-py2.py3-none-any.whl", + "filename": "azure_firewall-0.6.2-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -6407,13 +8039,13 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.1.9" + "version": "0.6.2" }, - "sha256Digest": "f20c18b5b176dd39815dee4d344368774b58bb2f4f03c28b89ee08212e45856a" + "sha256Digest": "30539d78089ae73cbc012d487de7b9e9717096e2abf960ca4e7057ef77222a25" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.2.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.2.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.7.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.7.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -6452,16 +8084,16 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.2.0" + "version": "0.7.0" }, - "sha256Digest": "7934510bc2ed4d83c8dbee7d2d22c3de2332b96020e2f45515035153f94a246f" + "sha256Digest": "b6ac17ae8f18d9c702cece94822c0d00dbc13b7ed60a7831281e2e5391cefe39" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.3.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.3.0-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.8.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.8.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6497,16 +8129,16 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.3.0" + "version": "0.8.0" }, - "sha256Digest": "12e5f8567ba8a74988f50ec6ed3539fad5b9e491727b0bc2c16e7acc34f49423" + "sha256Digest": "897e1ff2ff69b6f2969dc97e97847a25b7a9060091024a96e0e2ca0876c0cd53" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.3.1-py2.py3-none-any.whl", - "filename": "azure_firewall-0.3.1-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.9.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.9.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6542,16 +8174,16 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.3.1" + "version": "0.9.0" }, - "sha256Digest": "32e10a4e96a891151959680ff3cbf3e28ea0cf38e49ac062c49c668d00e5d7d7" + "sha256Digest": "ea9f1a318e27266652bb6121d93ff5595b2ffe1227efc3ca1ab69b29349bb9d2" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.4.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.4.0-py2.py3-none-any.whl", + "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.0.67", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6587,16 +8219,16 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.4.0" + "version": "0.10.0" }, - "sha256Digest": "5c79cedfc5abf134f4b47ad5d867ff5852d2ba17f710d44a2101fe0aa51b1a48" + "sha256Digest": "94c5b15b65b3fe78fa4a10b839ace1a5eb627e87f4aae2bc5728e159388c9599" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.5.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.5.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.11.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.11.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6632,16 +8264,16 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.5.0" + "version": "0.11.0" }, - "sha256Digest": "ceb70fe380937e5cb42998648a3218313b1425286705743275a808bb15d70d03" + "sha256Digest": "31100b4d554939502454bf9dbe0a42e2ee4319a1af3f9c93c9b51200bb547707" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.5.1-py2.py3-none-any.whl", - "filename": "azure_firewall-0.5.1-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.12.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.12.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6677,16 +8309,16 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.5.1" + "version": "0.12.0" }, - "sha256Digest": "40581d4aaf52a8a1f8deccf3be641385348251b34ffeb4c65193111150002699" + "sha256Digest": "e8273165377adcbc1effcaaa447d4b7b38c49aadd1ff9255cabf400f6846edb4" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.6.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.13.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.13.0-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -6722,35 +8354,34 @@ "metadata_version": "2.0", "name": "azure-firewall", "summary": "Manage Azure Firewall resources.", - "version": "0.6.0" + "version": "0.13.0" }, - "sha256Digest": "b22c81a341f1742ebb2c32c45af1470b12bfe2d03907d43206cf8d0860e058f6" - }, + "sha256Digest": "04e0761aeed15ac457c5831c89bcbaf5f669fa943ded8f71c0f54431621103b0" + } + ], + "azure-iot": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.1-py2.py3-none-any.whl", - "filename": "azure_firewall-0.6.1-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.11/azure_iot-0.10.11-py3-none-any.whl", + "filename": "azure_iot-0.10.11-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.3.1", "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", + "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", + "email": "iotupx@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -6758,44 +8389,52 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/azure/azure-iot-cli-extension" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.6.1" + "name": "azure-iot", + "requires_python": ">=3.6,<4", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.2.0)", + "packaging", + "paho-mqtt (==1.5.0)" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.10.11" }, - "sha256Digest": "4bf18f81d1b97d458181154f51803103745182cf68972180507aa8c291c60a94" + "sha256Digest": "8a7892996403fd5fd6850262acc176605704990db9d0a95c743545f1c0659d83" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.6.2-py2.py3-none-any.whl", - "filename": "azure_firewall-0.6.2-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.15/azure_iot-0.10.15-py3-none-any.whl", + "filename": "azure_iot-0.10.15-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.17.1", "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", + "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", + "email": "iotupx@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -6803,44 +8442,52 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/azure/azure-iot-cli-extension" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.6.2" + "name": "azure-iot", + "requires_python": ">=3.6,<4", + "run_requires": [ + { + "requires": [ + "jsonschema (==3.2.0)", + "packaging", + "paho-mqtt (==1.5.0)" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.10.15" }, - "sha256Digest": "30539d78089ae73cbc012d487de7b9e9717096e2abf960ca4e7057ef77222a25" + "sha256Digest": "465b8a2688260973519c00dd48989faa015423b195d20efb423e976c49924983" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.7.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.7.0-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.17/azure_iot-0.10.17-py3-none-any.whl", + "filename": "azure_iot-0.10.17-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.17.1", "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", + "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", + "email": "iotupx@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -6848,44 +8495,67 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/azure/azure-iot-cli-extension" } } }, + "extras": [ + "uamqp" + ], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.7.0" + "name": "azure-iot", + "requires_python": ">=3.6,<4", + "run_requires": [ + { + "requires": [ + "azure-iot-device (~=2.5)", + "jsonschema (~=3.2.0)", + "packaging", + "tqdm (~=4.62)" + ] + }, + { + "extra": "uamqp", + "requires": [ + "uamqp (~=1.2)" + ] + }, + { + "environment": "python_version < \"3.8\"", + "requires": [ + "importlib-metadata" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.10.17" }, - "sha256Digest": "b6ac17ae8f18d9c702cece94822c0d00dbc13b7ed60a7831281e2e5391cefe39" + "sha256Digest": "71f449108419e66f4b8f72a0d9b544e7a38c7fc4b3fdfcab9a9088dff3190710" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.8.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.8.0-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.11.0/azure_iot-0.11.0-py3-none-any.whl", + "filename": "azure_iot-0.11.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.minCliCoreVersion": "2.17.1", "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", + "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", + "email": "iotupx@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -6893,44 +8563,69 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/azure/azure-iot-cli-extension" } } }, + "extras": [ + "uamqp" + ], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.8.0" + "name": "azure-iot", + "requires_python": ">=3.6,<4", + "run_requires": [ + { + "requires": [ + "azure-iot-device (~=2.5)", + "jsonschema (~=3.2.0)", + "packaging", + "tqdm (~=4.62)" + ] + }, + { + "extra": "uamqp", + "requires": [ + "uamqp (~=1.2)" + ] + }, + { + "environment": "python_version < \"3.8\"", + "requires": [ + "importlib-metadata" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.11.0" }, - "sha256Digest": "897e1ff2ff69b6f2969dc97e97847a25b7a9060091024a96e0e2ca0876c0cd53" + "sha256Digest": "b599137425d8b0df615813b9cbedb02d43549acf3ae0c9a703f5d636cf05ebf9" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.9.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.9.0-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.12.1/azure_iot-0.12.1-py3-none-any.whl", + "filename": "azure_iot-0.12.1-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.minCliCoreVersion": "2.17.1", "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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "iotupx@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -6938,44 +8633,70 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/azure/azure-iot-cli-extension" } } }, + "extras": [ + "uamqp" + ], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.9.0" + "name": "azure-iot", + "requires_python": ">=3.6,<4", + "run_requires": [ + { + "requires": [ + "azure-iot-device (~=2.5)", + "jsonschema (~=3.2.0)", + "msrestazure (<2.0.0,>=0.6.3)", + "packaging", + "tqdm (~=4.62)" + ] + }, + { + "extra": "uamqp", + "requires": [ + "uamqp (~=1.2)" + ] + }, + { + "environment": "python_version < \"3.8\"", + "requires": [ + "importlib-metadata" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.12.1" }, - "sha256Digest": "ea9f1a318e27266652bb6121d93ff5595b2ffe1227efc3ca1ab69b29349bb9d2" + "sha256Digest": "4cc809c496ecda0c892b664d0d1de58586b56db9211c3d12c96c640bf8d8c84f" }, { - "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", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.13.0/azure_iot-0.13.0-py3-none-any.whl", + "filename": "azure_iot-0.13.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.minCliCoreVersion": "2.24.1", "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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "iotupx@microsoft.com", + "name": "Microsoft", "role": "author" } ], @@ -6983,36 +8704,63 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/azure/azure-iot-cli-extension" } } }, + "extras": [ + "uamqp" + ], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.10.0" + "name": "azure-iot", + "requires_python": ">=3.6,<4", + "run_requires": [ + { + "requires": [ + "azure-iot-device (~=2.5)", + "jsonschema (~=3.2.0)", + "msrestazure (<2.0.0,>=0.6.3)", + "packaging", + "tqdm (~=4.62)" + ] + }, + { + "extra": "uamqp", + "requires": [ + "uamqp (~=1.2)" + ] + }, + { + "environment": "python_version < \"3.8\"", + "requires": [ + "importlib-metadata" + ] + } + ], + "summary": "The Azure IoT extension for Azure CLI.", + "version": "0.13.0" }, - "sha256Digest": "94c5b15b65b3fe78fa4a10b839ace1a5eb627e87f4aae2bc5728e159388c9599" - }, + "sha256Digest": "a8078483a23ed656cb79816dc8e7c39f3c18a04945b4366edc99a76897419bd2" + } + ], + "azurestackhci": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.11.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.11.0-py2.py3-none-any.whl", + "downloadUrl": "https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-0.2.0-py3-none-any.whl", + "filename": "azurestackhci-0.2.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, + "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 :: 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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -7024,40 +8772,35 @@ "role": "author" } ], - "document_names": { - "description": "DESCRIPTION.rst" - }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azurestackhci" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.11.0" + "name": "azurestackhci", + "summary": "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension", + "version": "0.2.0" }, - "sha256Digest": "31100b4d554939502454bf9dbe0a42e2ee4319a1af3f9c93c9b51200bb547707" + "sha256Digest": "27fba7f0a2c2fd97e4cc0e815a7de4ec9493e7ef99816d577da5046588f7977a" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.12.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.12.0-py2.py3-none-any.whl", + "downloadUrl": "https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-0.2.1-py3-none-any.whl", + "filename": "azurestackhci-0.2.1-py3-none-any.whl", "metadata": { - "azext.isPreview": true, + "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 :: 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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -7073,36 +8816,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azurestackhci" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.12.0" + "name": "azurestackhci", + "summary": "Microsoft Azure Command-Line Tools AzureStackHCI Extension", + "version": "0.2.1" }, - "sha256Digest": "e8273165377adcbc1effcaaa447d4b7b38c49aadd1ff9255cabf400f6846edb4" + "sha256Digest": "3d6220cffd5b45383c16b9cdd43393e1d4e07bebf3b2bbca9eabed21049c197c" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.13.0-py2.py3-none-any.whl", - "filename": "azure_firewall-0.13.0-py2.py3-none-any.whl", + "downloadUrl": "https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-0.2.2-py3-none-any.whl", + "filename": "azurestackhci-0.2.2-py3-none-any.whl", "metadata": { - "azext.isPreview": true, + "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 :: 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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -7118,26 +8859,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azurestackhci" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-firewall", - "summary": "Manage Azure Firewall resources.", - "version": "0.13.0" + "name": "azurestackhci", + "summary": "Microsoft Azure Command-Line Tools AzureStackHCI Extension", + "version": "0.2.2" }, - "sha256Digest": "04e0761aeed15ac457c5831c89bcbaf5f669fa943ded8f71c0f54431621103b0" - } - ], - "azure-iot": [ + "sha256Digest": "2de905d3adc714745ee92bf81c237ea3dd61cb4a6e87d2a840f4047aba352a73" + }, { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.11/azure_iot-0.10.11-py3-none-any.whl", - "filename": "azure_iot-0.10.11-py3-none-any.whl", + "downloadUrl": "https://hybridaksstorage.z13.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-0.2.3-py3-none-any.whl", + "filename": "azurestackhci-0.2.3-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.3.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7153,8 +8893,8 @@ "python.details": { "contacts": [ { - "email": "iotupx@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -7162,52 +8902,45 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azurestackhci" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-iot", - "requires_python": ">=3.6,<4", - "run_requires": [ - { - "requires": [ - "jsonschema (==3.2.0)", - "packaging", - "paho-mqtt (==1.5.0)" - ] - } - ], - "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.10.11" + "name": "azurestackhci", + "summary": "Microsoft Azure Command-Line Tools AzureStackHCI Extension", + "version": "0.2.3" }, - "sha256Digest": "8a7892996403fd5fd6850262acc176605704990db9d0a95c743545f1c0659d83" - }, + "sha256Digest": "0796a045fb8d5de1c0b12375459efd45628aec4e04419c679860aba1d2b4d361" + } + ], + "baremetal-infrastructure": [ { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.14/azure_iot-0.10.14-py3-none-any.whl", - "filename": "azure_iot-0.10.14-py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-baremetalinfrastructure-cli-extension/releases/download/1.0.0/baremetal_infrastructure-1.0.0-py2.py3-none-any.whl", + "filename": "baremetal_infrastructure-1.0.0-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.17.1", + "azext.minCliCoreVersion": "2.12.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", - "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", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -7215,35 +8948,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" + "Home": "https://github.com/Azure/azure-baremetalinfrastructure-cli-extension" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-iot", - "requires_python": ">=3.6,<4", - "run_requires": [ - { - "requires": [ - "jsonschema (==3.2.0)", - "packaging", - "paho-mqtt (==1.5.0)" - ] - } - ], - "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.10.14" + "name": "baremetal-infrastructure", + "summary": "Additional commands for working with BareMetal instances.", + "version": "1.0.0" }, - "sha256Digest": "91ed29b19a26e61414cfcc65291ee046b2be01fae55878d5475d7f86809b903c" - }, + "sha256Digest": "9e0bd5e66debbb9a4a810dad44f710eba43f0249b2f8a630539b68e21a849d6f" + } + ], + "blockchain": [ { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.15/azure_iot-0.10.15-py3-none-any.whl", - "filename": "azure_iot-0.10.15-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blockchain-0.1.0-py3-none-any.whl", + "filename": "blockchain-0.1.0-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.17.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7259,8 +8984,8 @@ "python.details": { "contacts": [ { - "email": "iotupx@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -7268,35 +8993,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-iot", - "requires_python": ">=3.6,<4", - "run_requires": [ - { - "requires": [ - "jsonschema (==3.2.0)", - "packaging", - "paho-mqtt (==1.5.0)" - ] - } - ], - "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.10.15" + "name": "blockchain", + "summary": "Microsoft Azure Command-Line Tools BlockchainManagementClient Extension", + "version": "0.1.0" }, - "sha256Digest": "465b8a2688260973519c00dd48989faa015423b195d20efb423e976c49924983" + "sha256Digest": "ba0001dffaf39d133604c4281ed9c943f178a16a91d31f5889bf1587d9871049" }, { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.17/azure_iot-0.10.17-py3-none-any.whl", - "filename": "azure_iot-0.10.17-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/blockchain-0.1.1-py3-none-any.whl", + "filename": "blockchain-0.1.1-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.17.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7312,8 +9027,8 @@ "python.details": { "contacts": [ { - "email": "iotupx@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -7321,50 +9036,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/blockchain" } } }, - "extras": [ - "uamqp" - ], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-iot", - "requires_python": ">=3.6,<4", - "run_requires": [ - { - "requires": [ - "azure-iot-device (~=2.5)", - "jsonschema (~=3.2.0)", - "packaging", - "tqdm (~=4.62)" - ] - }, - { - "extra": "uamqp", - "requires": [ - "uamqp (~=1.2)" - ] - }, - { - "environment": "python_version < \"3.8\"", - "requires": [ - "importlib-metadata" - ] - } - ], - "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.10.17" + "name": "blockchain", + "summary": "Microsoft Azure Command-Line Tools BlockchainManagementClient Extension", + "version": "0.1.1" }, - "sha256Digest": "71f449108419e66f4b8f72a0d9b544e7a38c7fc4b3fdfcab9a9088dff3190710" - }, + "sha256Digest": "95a4788ab10052f6c1b4122db6ab140705db528e5cb3db3358580d703a2a7204" + } + ], + "blueprint": [ { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.11.0/azure_iot-0.11.0-py3-none-any.whl", - "filename": "azure_iot-0.11.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.1.0-py3-none-any.whl", + "filename": "blueprint-0.1.0-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.17.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7380,8 +9072,8 @@ "python.details": { "contacts": [ { - "email": "iotupx@microsoft.com", - "name": "Microsoft", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -7389,53 +9081,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/azure/azure-iot-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, - "extras": [ - "uamqp" - ], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azure-iot", - "requires_python": ">=3.6,<4", - "run_requires": [ - { - "requires": [ - "azure-iot-device (~=2.5)", - "jsonschema (~=3.2.0)", - "packaging", - "tqdm (~=4.62)" - ] - }, - { - "extra": "uamqp", - "requires": [ - "uamqp (~=1.2)" - ] - }, - { - "environment": "python_version < \"3.8\"", - "requires": [ - "importlib-metadata" - ] - } - ], - "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.11.0" + "name": "blueprint", + "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", + "version": "0.1.0" }, - "sha256Digest": "b599137425d8b0df615813b9cbedb02d43549acf3ae0c9a703f5d636cf05ebf9" - } - ], - "azurestackhci": [ + "sha256Digest": "98c1874110e2c77c62cf0d180133ea0b29ed08a86189ee292b909369597e694b" + }, { - "downloadUrl": "https://akshcistorage.z5.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-0.2.0-py3-none-any.whl", - "filename": "azurestackhci-0.2.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.1.1-py3-none-any.whl", + "filename": "blueprint-0.1.1-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.minCliCoreVersion": "2.3.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7456,26 +9120,29 @@ "role": "author" } ], + "document_names": { + "description": "DESCRIPTION.rst" + }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azurestackhci" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azurestackhci", - "summary": "Microsoft Azure Command-Line Tools AzureStackHCIClient Extension", - "version": "0.2.0" + "name": "blueprint", + "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", + "version": "0.1.1" }, - "sha256Digest": "27fba7f0a2c2fd97e4cc0e815a7de4ec9493e7ef99816d577da5046588f7977a" + "sha256Digest": "4508b6143f69e6ac388ad37b3e3af82f49c9b5625e12d341963cc2faf02e368f" }, { - "downloadUrl": "https://akshcistorage-secondary.z5.web.core.windows.net/SelfServiceVM/CLI/azurestackhci-0.2.1-py3-none-any.whl", - "filename": "azurestackhci-0.2.1-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.2.0-py3-none-any.whl", + "filename": "blueprint-0.2.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.minCliCoreVersion": "2.3.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7500,37 +9167,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azurestackhci" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "azurestackhci", - "summary": "Microsoft Azure Command-Line Tools AzureStackHCI Extension", - "version": "0.2.1" + "name": "blueprint", + "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", + "version": "0.2.0" }, - "sha256Digest": "3d6220cffd5b45383c16b9cdd43393e1d4e07bebf3b2bbca9eabed21049c197c" - } - ], - "baremetal-infrastructure": [ + "sha256Digest": "fcbbe61db268b9b5452b0d9055c5fc8b725a63193290957c2681de5fe2e6f1ff" + }, { - "downloadUrl": "https://github.com/Azure/azure-baremetalinfrastructure-cli-extension/releases/download/0.0.2/baremetal_infrastructure-0.0.2-py2.py3-none-any.whl", - "filename": "baremetal_infrastructure-0.0.2-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.2.1-py3-none-any.whl", + "filename": "blueprint-0.2.1-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.12.0", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -7546,27 +9210,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-baremetalinfrastructure-cli-extension" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/blueprint" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "baremetal-infrastructure", - "summary": "Additional commands for working with BareMetal instances.", - "version": "0.0.2" + "name": "blueprint", + "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", + "version": "0.2.1" }, - "sha256Digest": "171799d3db711b431365366cc26f3a5b186cb94381f01c2d5f7b3f392892d591" - } - ], - "blockchain": [ + "sha256Digest": "120bd04db8b31bbc5631ce086739763cca3144c2e314b8e1347f1d633e894a09" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blockchain-0.1.0-py3-none-any.whl", - "filename": "blockchain-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-0.3.0-py3-none-any.whl", + "filename": "blueprint-0.3.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.1", + "azext.minCliCoreVersion": "2.3.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7591,25 +9253,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/blueprint" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "blockchain", - "summary": "Microsoft Azure Command-Line Tools BlockchainManagementClient Extension", - "version": "0.1.0" + "name": "blueprint", + "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", + "version": "0.3.0" }, - "sha256Digest": "ba0001dffaf39d133604c4281ed9c943f178a16a91d31f5889bf1587d9871049" + "sha256Digest": "843a836410e80a3a72a36ea90c72d9a1358b787c77afae20d2ae71b976c1c5a4" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/blockchain-0.1.1-py3-none-any.whl", - "filename": "blockchain-0.1.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-0.3.1-py3-none-any.whl", + "filename": "blueprint-0.3.1-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.1", + "azext.minCliCoreVersion": "2.3.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7634,27 +9296,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/blockchain" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/blueprint" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "blockchain", - "summary": "Microsoft Azure Command-Line Tools BlockchainManagementClient Extension", - "version": "0.1.1" + "name": "blueprint", + "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", + "version": "0.3.1" }, - "sha256Digest": "95a4788ab10052f6c1b4122db6ab140705db528e5cb3db3358580d703a2a7204" + "sha256Digest": "ebac321b7ef9811d82a166da7ec48b2d70f234aec8d3fd597f471ba752a5d253" } ], - "blueprint": [ + "cli-translator": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.1.0-py3-none-any.whl", - "filename": "blueprint-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-0.1.0-py3-none-any.whl", + "filename": "cli_translator-0.1.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.0", + "azext.minCliCoreVersion": "2.11.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7679,25 +9341,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cli-translator" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "blueprint", - "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", + "name": "cli-translator", + "summary": "Translate ARM template to executable Azure CLI scripts.", "version": "0.1.0" }, - "sha256Digest": "98c1874110e2c77c62cf0d180133ea0b29ed08a86189ee292b909369597e694b" + "sha256Digest": "8a4d19ed89cd63e1cc461715b7b0a1a989d2b480adc1b3b4f5747eef0327b85b" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.1.1-py3-none-any.whl", - "filename": "blueprint-0.1.1-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-0.2.0-py3-none-any.whl", + "filename": "cli_translator-0.2.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.0", + "azext.minCliCoreVersion": "2.13.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7722,25 +9384,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cli-translator" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "blueprint", - "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", - "version": "0.1.1" + "name": "cli-translator", + "summary": "Translate ARM template to executable Azure CLI scripts.", + "version": "0.2.0" }, - "sha256Digest": "4508b6143f69e6ac388ad37b3e3af82f49c9b5625e12d341963cc2faf02e368f" + "sha256Digest": "ee07cbcde217d2b1ab226ef5aeea8e44510b704fb5e3976638dcf2f978f722e4" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.2.0-py3-none-any.whl", - "filename": "blueprint-0.2.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-0.3.0-py3-none-any.whl", + "filename": "cli_translator-0.3.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.0", + "azext.minCliCoreVersion": "2.13.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7765,25 +9427,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cli-translator" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "blueprint", - "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", - "version": "0.2.0" + "name": "cli-translator", + "summary": "Translate ARM template to executable Azure CLI scripts.", + "version": "0.3.0" }, - "sha256Digest": "fcbbe61db268b9b5452b0d9055c5fc8b725a63193290957c2681de5fe2e6f1ff" - }, + "sha256Digest": "9ea6162d37fc3390be4dce64cb05c5c588070104f3e92a701ab475473565a8a9" + } + ], + "cloud-service": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/blueprint-0.2.1-py3-none-any.whl", - "filename": "blueprint-0.2.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cloud_service-0.1.0-py3-none-any.whl", + "filename": "cloud_service-0.1.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.0", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7808,25 +9472,33 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/blueprint" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cloudservice" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "blueprint", - "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", - "version": "0.2.1" + "name": "cloud-service", + "run_requires": [ + { + "requires": [ + "azure-mgmt-compute (~=19.0.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools ComputeManagementClient Extension", + "version": "0.1.0" }, - "sha256Digest": "120bd04db8b31bbc5631ce086739763cca3144c2e314b8e1347f1d633e894a09" + "sha256Digest": "22c640991a5e98e42ddcb4303813cd63b75d4b3d392ad9eab955a5af1b87c45b" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-0.3.0-py3-none-any.whl", - "filename": "blueprint-0.3.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cloud_service-0.2.0-py3-none-any.whl", + "filename": "cloud_service-0.2.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.0", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7851,25 +9523,35 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/blueprint" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cloudservice" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "blueprint", - "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", - "version": "0.3.0" + "name": "cloud-service", + "run_requires": [ + { + "requires": [ + "azure-mgmt-compute (~=20.0.0)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools ComputeManagementClient Extension", + "version": "0.2.0" }, - "sha256Digest": "843a836410e80a3a72a36ea90c72d9a1358b787c77afae20d2ae71b976c1c5a4" - }, + "sha256Digest": "ee7ca3a5eaa801ceea9173f2ff0a429600bff9e9339d504071c0283b56facec4" + } + ], + "codespaces": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-0.3.1-py3-none-any.whl", - "filename": "blueprint-0.3.1-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.1.0-py2.py3-none-any.whl", + "filename": "codespaces-0.1.0-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7894,27 +9576,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/blueprint" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "blueprint", - "summary": "Microsoft Azure Command-Line Tools Blueprint Extension", - "version": "0.3.1" + "name": "codespaces", + "summary": "The Azure CLI Codespaces extension", + "version": "0.1.0" }, - "sha256Digest": "ebac321b7ef9811d82a166da7ec48b2d70f234aec8d3fd597f471ba752a5d253" - } - ], - "cli-translator": [ + "sha256Digest": "d859256dac3177970bb631e149bcabd19d47fa9e972fb331662413b5cfe0ce32" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-0.1.0-py3-none-any.whl", - "filename": "cli_translator-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.2.0-py2.py3-none-any.whl", + "filename": "codespaces-0.2.0-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.11.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7939,25 +9619,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cli-translator" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "cli-translator", - "summary": "Translate ARM template to executable Azure CLI scripts.", - "version": "0.1.0" + "name": "codespaces", + "summary": "The Azure CLI Codespaces extension", + "version": "0.2.0" }, - "sha256Digest": "8a4d19ed89cd63e1cc461715b7b0a1a989d2b480adc1b3b4f5747eef0327b85b" + "sha256Digest": "793f4dbf828efc9474cc2d6aa314b0968c25321978b0dceaf33005f02c5f1bd7" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-0.2.0-py3-none-any.whl", - "filename": "cli_translator-0.2.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.2.1-py2.py3-none-any.whl", + "filename": "codespaces-0.2.1-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.13.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -7982,25 +9662,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cli-translator" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "cli-translator", - "summary": "Translate ARM template to executable Azure CLI scripts.", - "version": "0.2.0" + "name": "codespaces", + "summary": "The Azure CLI Codespaces extension", + "version": "0.2.1" }, - "sha256Digest": "ee07cbcde217d2b1ab226ef5aeea8e44510b704fb5e3976638dcf2f978f722e4" + "sha256Digest": "30569dd2124bec69abb6e6ae99c5a73059d767434bfe36d6f72a35b4f0e904f3" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/cli_translator-0.3.0-py3-none-any.whl", - "filename": "cli_translator-0.3.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.3.0-py2.py3-none-any.whl", + "filename": "codespaces-0.3.0-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.13.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8025,27 +9705,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cli-translator" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "cli-translator", - "summary": "Translate ARM template to executable Azure CLI scripts.", + "name": "codespaces", + "summary": "The Azure CLI Codespaces extension", "version": "0.3.0" }, - "sha256Digest": "9ea6162d37fc3390be4dce64cb05c5c588070104f3e92a701ab475473565a8a9" + "sha256Digest": "04d6fc97d8f1d49a54121198a32508118b7102aa69fa6bd31af25103a3af5a4c" } ], - "cloud-service": [ + "communication": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cloud_service-0.1.0-py3-none-any.whl", - "filename": "cloud_service-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/communication-0.1.0-py3-none-any.whl", + "filename": "communication-0.1.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.minCliCoreVersion": "2.11.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8070,32 +9750,23 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cloudservice" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/communication" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "cloud-service", - "run_requires": [ - { - "requires": [ - "azure-mgmt-compute (~=19.0.0)" - ] - } - ], - "summary": "Microsoft Azure Command-Line Tools ComputeManagementClient Extension", + "name": "communication", + "summary": "Microsoft Azure Command-Line Tools CommunicationServiceManagementClient Extension", "version": "0.1.0" }, - "sha256Digest": "22c640991a5e98e42ddcb4303813cd63b75d4b3d392ad9eab955a5af1b87c45b" + "sha256Digest": "a16e8262b53791aad9e74a4f3d4804a5bafbe415df3c7651776e98b787bf6226" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cloud_service-0.2.0-py3-none-any.whl", - "filename": "cloud_service-0.2.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/communication-1.0.0-py3-none-any.whl", + "filename": "communication-1.0.0-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -8121,35 +9792,24 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/cloudservice" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/communication" } } }, - "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "cloud-service", - "run_requires": [ - { - "requires": [ - "azure-mgmt-compute (~=20.0.0)" - ] - } - ], - "summary": "Microsoft Azure Command-Line Tools ComputeManagementClient Extension", - "version": "0.2.0" + "name": "communication", + "summary": "Microsoft Azure Command-Line Tools CommunicationServiceManagementClient Extension", + "version": "1.0.0" }, - "sha256Digest": "ee7ca3a5eaa801ceea9173f2ff0a429600bff9e9339d504071c0283b56facec4" - } - ], - "codespaces": [ + "sha256Digest": "2ee3d4c870c0c0c0dd97fbe6510958ac8c23dca2b4814b4a0a9ea665cd17e723" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.1.0-py2.py3-none-any.whl", - "filename": "codespaces-0.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/communication-1.1.0-py3-none-any.whl", + "filename": "communication-1.1.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8174,25 +9834,38 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/communication" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "codespaces", - "summary": "The Azure CLI Codespaces extension", - "version": "0.1.0" + "name": "communication", + "run_requires": [ + { + "requires": [ + "azure-communication-identity", + "azure-communication-phonenumbers", + "azure-communication-sms", + "azure-core" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools CommunicationServiceManagementClient Extension", + "version": "1.1.0" }, - "sha256Digest": "d859256dac3177970bb631e149bcabd19d47fa9e972fb331662413b5cfe0ce32" - }, + "sha256Digest": "e4ac2008217ade46ca2504b31aa79ab11c1c892964fd06df911e976be6cf3dae" + } + ], + "confidentialledger": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.2.0-py2.py3-none-any.whl", - "filename": "codespaces-0.2.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confidentialledger-0.1.0-py3-none-any.whl", + "filename": "confidentialledger-0.1.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8217,25 +9890,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confidentialledger" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "codespaces", - "summary": "The Azure CLI Codespaces extension", - "version": "0.2.0" + "name": "confidentialledger", + "summary": "Microsoft Azure Command-Line Tools ConfidentialLedger Extension", + "version": "0.1.0" }, - "sha256Digest": "793f4dbf828efc9474cc2d6aa314b0968c25321978b0dceaf33005f02c5f1bd7" - }, + "sha256Digest": "a8428687acab162b982153333766ec0f6888b2ce71dfd24f815cd4ee1e4b3ac3" + } + ], + "confluent": [ { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.2.1-py2.py3-none-any.whl", - "filename": "codespaces-0.2.1-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.1.0-py3-none-any.whl", + "filename": "confluent-0.1.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.17.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8260,25 +9935,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "codespaces", - "summary": "The Azure CLI Codespaces extension", - "version": "0.2.1" + "name": "confluent", + "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", + "version": "0.1.0" }, - "sha256Digest": "30569dd2124bec69abb6e6ae99c5a73059d767434bfe36d6f72a35b4f0e904f3" + "sha256Digest": "4a6ffd3d10898183b66b0933064bc6d9bbade0e9af32be3348412b75310e07cb" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/codespaces-0.3.0-py2.py3-none-any.whl", - "filename": "codespaces-0.3.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.2.0-py3-none-any.whl", + "filename": "confluent-0.2.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.17.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8303,27 +9978,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "codespaces", - "summary": "The Azure CLI Codespaces extension", - "version": "0.3.0" + "name": "confluent", + "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", + "version": "0.2.0" }, - "sha256Digest": "04d6fc97d8f1d49a54121198a32508118b7102aa69fa6bd31af25103a3af5a4c" - } - ], - "communication": [ + "sha256Digest": "edf3b0d4afc36a3aaa9f68723f1db8b26bedcb5a5abcb053556146e4604cf31a" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/communication-0.1.0-py3-none-any.whl", - "filename": "communication-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.3.0-py3-none-any.whl", + "filename": "confluent-0.3.0-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.11.0", + "azext.minCliCoreVersion": "2.25.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8348,24 +10021,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/communication" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "communication", - "summary": "Microsoft Azure Command-Line Tools CommunicationServiceManagementClient Extension", - "version": "0.1.0" + "name": "confluent", + "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", + "version": "0.3.0" }, - "sha256Digest": "a16e8262b53791aad9e74a4f3d4804a5bafbe415df3c7651776e98b787bf6226" + "sha256Digest": "62ea75ea44aa9c2872ec0f3d396eb6e35f37e0799890afa5f82d2187f9cace58" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/communication-1.0.0-py3-none-any.whl", - "filename": "communication-1.0.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.4.0-py3-none-any.whl", + "filename": "confluent-0.4.0-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.15.0", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.25.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8390,27 +10064,27 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/communication" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "communication", - "summary": "Microsoft Azure Command-Line Tools CommunicationServiceManagementClient Extension", - "version": "1.0.0" + "name": "confluent", + "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", + "version": "0.4.0" }, - "sha256Digest": "2ee3d4c870c0c0c0dd97fbe6510958ac8c23dca2b4814b4a0a9ea665cd17e723" + "sha256Digest": "7b812940a77094bc916c745a61b7732966de4e7943a7541c0a402c0d912bc6af" } ], - "confluent": [ + "connectedk8s": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.1.0-py3-none-any.whl", - "filename": "confluent-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.1.5-py3-none-any.whl", + "filename": "connectedk8s-0.1.5-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.17.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8426,7 +10100,7 @@ "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", + "email": "k8connect@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -8435,25 +10109,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "confluent", - "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", - "version": "0.1.0" + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes", + "pycryptodome" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", + "version": "0.1.5" }, - "sha256Digest": "4a6ffd3d10898183b66b0933064bc6d9bbade0e9af32be3348412b75310e07cb" + "sha256Digest": "1b529c1fedb5db9dee3dc877ca036f5373d307ca8a07c278d07126531b1c55b6" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.2.0-py3-none-any.whl", - "filename": "confluent-0.2.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.0-py3-none-any.whl", + "filename": "connectedk8s-0.2.0-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.17.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8469,7 +10152,7 @@ "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", + "email": "k8connect@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -8478,25 +10161,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "confluent", - "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes", + "pycryptodome" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", "version": "0.2.0" }, - "sha256Digest": "edf3b0d4afc36a3aaa9f68723f1db8b26bedcb5a5abcb053556146e4604cf31a" + "sha256Digest": "d306355d5568f9f5b201db9f5bda28fc0b142c6b70164a87bf56974239749ebd" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.3.0-py3-none-any.whl", - "filename": "confluent-0.3.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.1-py3-none-any.whl", + "filename": "connectedk8s-0.2.1-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.25.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8512,7 +10204,7 @@ "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", + "email": "k8connect@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -8521,25 +10213,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "confluent", - "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", - "version": "0.3.0" + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes", + "pycryptodome" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", + "version": "0.2.1" }, - "sha256Digest": "62ea75ea44aa9c2872ec0f3d396eb6e35f37e0799890afa5f82d2187f9cace58" + "sha256Digest": "e910b1a0abee28121d5c216821c5d88cefc87030eb3068e699135314ecb0f8c9" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/confluent-0.4.0-py3-none-any.whl", - "filename": "confluent-0.4.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.3-py3-none-any.whl", + "filename": "connectedk8s-0.2.3-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.25.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8555,7 +10256,7 @@ "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", + "email": "k8connect@microsoft.com", "name": "Microsoft Corporation", "role": "author" } @@ -8564,24 +10265,31 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/confluent" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "confluent", - "summary": "Microsoft Azure Command-Line Tools ConfluentManagementClient Extension", - "version": "0.4.0" + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes", + "pycryptodome" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", + "version": "0.2.3" }, - "sha256Digest": "7b812940a77094bc916c745a61b7732966de4e7943a7541c0a402c0d912bc6af" - } - ], - "connectedk8s": [ + "sha256Digest": "9660bbd577c66af1bcebeeaaec9cabb61cd27a0b58c6fe9a9a795d6a73777ee9" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.1.5-py3-none-any.whl", - "filename": "connectedk8s-0.1.5-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.4-py3-none-any.whl", + "filename": "connectedk8s-0.2.4-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -8627,13 +10335,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.1.5" + "version": "0.2.4" }, - "sha256Digest": "1b529c1fedb5db9dee3dc877ca036f5373d307ca8a07c278d07126531b1c55b6" + "sha256Digest": "4de66f7e8cecdfab8c91bf4f37347770fb17e087454159d3a5c81e0205f2da2c" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.0-py3-none-any.whl", - "filename": "connectedk8s-0.2.0-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.5-py3-none-any.whl", + "filename": "connectedk8s-0.2.5-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -8679,13 +10387,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.0" + "version": "0.2.5" }, - "sha256Digest": "d306355d5568f9f5b201db9f5bda28fc0b142c6b70164a87bf56974239749ebd" + "sha256Digest": "0c23ebd04c37b26219cd224134e8af675130cc346808ae008cd5cfc4f3b1bd84" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.1-py3-none-any.whl", - "filename": "connectedk8s-0.2.1-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.6-py3-none-any.whl", + "filename": "connectedk8s-0.2.6-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -8731,13 +10439,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.1" + "version": "0.2.6" }, - "sha256Digest": "e910b1a0abee28121d5c216821c5d88cefc87030eb3068e699135314ecb0f8c9" + "sha256Digest": "165411ce6ecdda8a4705bd9e93998b1ffdf6ddc88b01ed0ce12a3c100d1b9549" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.3-py3-none-any.whl", - "filename": "connectedk8s-0.2.3-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.7-py3-none-any.whl", + "filename": "connectedk8s-0.2.7-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -8777,19 +10485,19 @@ "run_requires": [ { "requires": [ - "kubernetes", - "pycryptodome" + "kubernetes (==11.0.0)", + "pycryptodome (==3.9.8)" ] } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.3" + "version": "0.2.7" }, - "sha256Digest": "9660bbd577c66af1bcebeeaaec9cabb61cd27a0b58c6fe9a9a795d6a73777ee9" + "sha256Digest": "115bbeb79206632301a20dc4b1d6604f5c126c82c0ba1a9a58131a66da30a7dc" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.4-py3-none-any.whl", - "filename": "connectedk8s-0.2.4-py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.8-py3-none-any.whl", + "filename": "connectedk8s-0.2.8-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -8817,7 +10525,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/connectedk8s" } } }, @@ -8829,19 +10537,19 @@ "run_requires": [ { "requires": [ - "kubernetes", - "pycryptodome" + "kubernetes (==11.0.0)", + "pycryptodome (==3.9.8)" ] } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.4" + "version": "0.2.8" }, - "sha256Digest": "4de66f7e8cecdfab8c91bf4f37347770fb17e087454159d3a5c81e0205f2da2c" + "sha256Digest": "a0f8d12304b097a65d2b22f4e47faa6c6899e680bab77dfb41e72d2722e7e7d6" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.5-py3-none-any.whl", - "filename": "connectedk8s-0.2.5-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.9-py3-none-any.whl", + "filename": "connectedk8s-0.2.9-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", @@ -8869,7 +10577,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/connectedk8s" } } }, @@ -8881,21 +10589,20 @@ "run_requires": [ { "requires": [ - "kubernetes", - "pycryptodome" + "kubernetes (==11.0.0)", + "pycryptodome (==3.9.8)" ] } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.5" + "version": "0.2.9" }, - "sha256Digest": "0c23ebd04c37b26219cd224134e8af675130cc346808ae008cd5cfc4f3b1bd84" + "sha256Digest": "55377bea57ae6288a501ea65ff2c68b2961ac7582da9b7646960faf17583e3dd" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.6-py3-none-any.whl", - "filename": "connectedk8s-0.2.6-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.0.0-py3-none-any.whl", + "filename": "connectedk8s-1.0.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, "azext.minCliCoreVersion": "2.0.67", "classifiers": [ "Development Status :: 4 - Beta", @@ -8921,7 +10628,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/connectedk8s" } } }, @@ -8933,22 +10640,21 @@ "run_requires": [ { "requires": [ - "kubernetes", - "pycryptodome" + "kubernetes (==11.0.0)", + "pycryptodome (==3.9.8)" ] } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.6" + "version": "1.0.0" }, - "sha256Digest": "165411ce6ecdda8a4705bd9e93998b1ffdf6ddc88b01ed0ce12a3c100d1b9549" + "sha256Digest": "9eb34e10523ee5bbd9a4be03915532da7acc3be11631fb646807085c09380c59" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.7-py3-none-any.whl", - "filename": "connectedk8s-0.2.7-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.0-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.0-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.16.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -8960,6 +10666,7 @@ "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], + "description_content_type": "text/markdown", "extensions": { "python.details": { "contacts": [ @@ -8973,7 +10680,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/connectedk8s" } } }, @@ -8991,16 +10698,15 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.7" + "version": "1.1.0" }, - "sha256Digest": "115bbeb79206632301a20dc4b1d6604f5c126c82c0ba1a9a58131a66da30a7dc" + "sha256Digest": "47b871998ac7c3b90689c8cfef18d1d1c9a77d04fabd64a0071504dd434af5c8" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.8-py3-none-any.whl", - "filename": "connectedk8s-0.2.8-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.1-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.1-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.16.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -9012,6 +10718,7 @@ "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], + "description_content_type": "text/markdown", "extensions": { "python.details": { "contacts": [ @@ -9043,16 +10750,15 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.8" + "version": "1.1.1" }, - "sha256Digest": "a0f8d12304b097a65d2b22f4e47faa6c6899e680bab77dfb41e72d2722e7e7d6" + "sha256Digest": "522d70fb956e23f2a705ea51d8227845844ec0648263a5e7504543a493c67441" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-0.2.9-py3-none-any.whl", - "filename": "connectedk8s-0.2.9-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.2-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.2-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.16.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -9064,6 +10770,7 @@ "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], + "description_content_type": "text/markdown", "extensions": { "python.details": { "contacts": [ @@ -9095,15 +10802,15 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "0.2.9" + "version": "1.1.2" }, - "sha256Digest": "55377bea57ae6288a501ea65ff2c68b2961ac7582da9b7646960faf17583e3dd" + "sha256Digest": "70fd92b69c9c06d1bf22984a06d8027a2d3f192d0c59388cef2a3861dc79874f" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.0.0-py3-none-any.whl", - "filename": "connectedk8s-1.0.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.3-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.3-py2.py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.16.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -9115,6 +10822,7 @@ "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], + "description_content_type": "text/markdown", "extensions": { "python.details": { "contacts": [ @@ -9146,13 +10854,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.0.0" + "version": "1.1.3" }, - "sha256Digest": "9eb34e10523ee5bbd9a4be03915532da7acc3be11631fb646807085c09380c59" + "sha256Digest": "f0845d6b310c645327a648fc555acc52f02fa8ed31054fc056c7adb1a37e5f40" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.0-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.0-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": [ @@ -9198,13 +10906,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.0" + "version": "1.1.5" }, - "sha256Digest": "47b871998ac7c3b90689c8cfef18d1d1c9a77d04fabd64a0071504dd434af5c8" + "sha256Digest": "41edf3789d85074f1159645c7257ac747709ea613c2c2c80a95cdfee92e36fa5" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.1-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.6-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.6-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.16.0", "classifiers": [ @@ -9250,13 +10958,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.1" + "version": "1.1.6" }, - "sha256Digest": "522d70fb956e23f2a705ea51d8227845844ec0648263a5e7504543a493c67441" + "sha256Digest": "d93e28cac3425b688581cd885d198173bf0dc5e20e91d00e3f176519e0fbddeb" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.2-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.2-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.7-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.7-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.16.0", "classifiers": [ @@ -9302,13 +11010,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.2" + "version": "1.1.7" }, - "sha256Digest": "70fd92b69c9c06d1bf22984a06d8027a2d3f192d0c59388cef2a3861dc79874f" + "sha256Digest": "fa8ed32f122136c0774361ffe78eea2e3189ede8bacc72ca6b972b6ab87d6393" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.3-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.8-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.8-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.16.0", "classifiers": [ @@ -9354,13 +11062,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.3" + "version": "1.1.8" }, - "sha256Digest": "f0845d6b310c645327a648fc555acc52f02fa8ed31054fc056c7adb1a37e5f40" + "sha256Digest": "21cca7dcd973655694fcaa927563bb6afd2463cf6e6ce450e45ad8f27ab33ed9" }, { - "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", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.9-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.9-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.16.0", "classifiers": [ @@ -9406,13 +11114,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.5" + "version": "1.1.9" }, - "sha256Digest": "41edf3789d85074f1159645c7257ac747709ea613c2c2c80a95cdfee92e36fa5" + "sha256Digest": "26c85757eb59ec8309d19f14dfab94cb28039a21015ce70106cf618e57face59" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.6-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.6-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.10-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.10-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.16.0", "classifiers": [ @@ -9458,13 +11166,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.6" + "version": "1.1.10" }, - "sha256Digest": "d93e28cac3425b688581cd885d198173bf0dc5e20e91d00e3f176519e0fbddeb" + "sha256Digest": "9cd74663e39095fd58510ccebda78586205c6b536f89c90badbd647f6b84b0a9" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.7-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.7-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.11-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.11-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.16.0", "classifiers": [ @@ -9510,13 +11218,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.7" + "version": "1.1.11" }, - "sha256Digest": "fa8ed32f122136c0774361ffe78eea2e3189ede8bacc72ca6b972b6ab87d6393" + "sha256Digest": "986924760ccd29d74a35b5fb2253a23400d6e27e48521b72fc8d06a493eb4faa" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.8-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.8-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.2.0-py2.py3-none-any.whl", + "filename": "connectedk8s-1.2.0-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.16.0", "classifiers": [ @@ -9562,14 +11270,15 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.8" + "version": "1.2.0" }, - "sha256Digest": "21cca7dcd973655694fcaa927563bb6afd2463cf6e6ce450e45ad8f27ab33ed9" + "sha256Digest": "e6873b0cdcfb82cda00f00dfdc5ce9d0daf4db651e100c6c3e3ff58ca89732ab" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.9-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.9-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.2.1-py2.py3-none-any.whl", + "filename": "connectedk8s-1.2.1-py2.py3-none-any.whl", "metadata": { + "azext.maxCliCoreVersion": "2.29.0", "azext.minCliCoreVersion": "2.16.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -9614,14 +11323,15 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.9" + "version": "1.2.1" }, - "sha256Digest": "26c85757eb59ec8309d19f14dfab94cb28039a21015ce70106cf618e57face59" + "sha256Digest": "8a6a3e88952c36d7d38602953b1a3de3386ab18bc0cc79e7b74b931fe0d57f3d" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.10-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.10-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.2.2-py2.py3-none-any.whl", + "filename": "connectedk8s-1.2.2-py2.py3-none-any.whl", "metadata": { + "azext.maxCliCoreVersion": "2.29.0", "azext.minCliCoreVersion": "2.16.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -9666,14 +11376,15 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.10" + "version": "1.2.2" }, - "sha256Digest": "9cd74663e39095fd58510ccebda78586205c6b536f89c90badbd647f6b84b0a9" + "sha256Digest": "03c7625c0e4a09da8c4ea5051bd5d2a92d9e22d085b56cc30b319bb941f254b4" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.11-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.11-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.2.3-py2.py3-none-any.whl", + "filename": "connectedk8s-1.2.3-py2.py3-none-any.whl", "metadata": { + "azext.maxCliCoreVersion": "2.29.0", "azext.minCliCoreVersion": "2.16.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -9718,14 +11429,15 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.11" + "version": "1.2.3" }, - "sha256Digest": "986924760ccd29d74a35b5fb2253a23400d6e27e48521b72fc8d06a493eb4faa" + "sha256Digest": "3dff7553c723ef87aeb5ad5b20f3dc56a59324254ee15d880f9c1303eb5984aa" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.2.0-py2.py3-none-any.whl", - "filename": "connectedk8s-1.2.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.2.4-py2.py3-none-any.whl", + "filename": "connectedk8s-1.2.4-py2.py3-none-any.whl", "metadata": { + "azext.maxCliCoreVersion": "2.29.0", "azext.minCliCoreVersion": "2.16.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -9752,7 +11464,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/connectedk8s" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/connectedk8s" } } }, @@ -9770,9 +11482,9 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.2.0" + "version": "1.2.4" }, - "sha256Digest": "e6873b0cdcfb82cda00f00dfdc5ce9d0daf4db651e100c6c3e3ff58ca89732ab" + "sha256Digest": "2106bdef362215013f5b55141e878ba54db63359fb57a7751ea1841c6ba9a915" } ], "connectedmachine": [ @@ -10020,13 +11732,101 @@ "metadata_version": "2.0", "name": "connectedvmware", "summary": "Microsoft Azure Command-Line Tools Connectedvmware Extension", - "version": "0.1.2" + "version": "0.1.2" + }, + "sha256Digest": "5bbabea61360ad74e987a33b155e267c2f940678d9220210999e9e723541d123" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-0.1.3-py2.py3-none-any.whl", + "filename": "connectedvmware-0.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.maxCliCoreVersion": "4.0.0", + "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" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connectedvmware", + "summary": "Microsoft Azure Command-Line Tools Connectedvmware Extension", + "version": "0.1.3" + }, + "sha256Digest": "481fd314b1681185d2d64d1ea21d5591d0bf8411786e521e5bc9dae8eb862415" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-0.1.4-py2.py3-none-any.whl", + "filename": "connectedvmware-0.1.4-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.maxCliCoreVersion": "4.0.0", + "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" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connectedvmware", + "summary": "Microsoft Azure Command-Line Tools Connectedvmware Extension", + "version": "0.1.4" }, - "sha256Digest": "5bbabea61360ad74e987a33b155e267c2f940678d9220210999e9e723541d123" + "sha256Digest": "a39af3a33da02598ec45f4b6167c2f5a25030e8fefd8d2aff186d604cb46e3db" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-0.1.3-py2.py3-none-any.whl", - "filename": "connectedvmware-0.1.3-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-0.1.5-py2.py3-none-any.whl", + "filename": "connectedvmware-0.1.5-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.maxCliCoreVersion": "4.0.0", @@ -10064,13 +11864,13 @@ "metadata_version": "2.0", "name": "connectedvmware", "summary": "Microsoft Azure Command-Line Tools Connectedvmware Extension", - "version": "0.1.3" + "version": "0.1.5" }, - "sha256Digest": "481fd314b1681185d2d64d1ea21d5591d0bf8411786e521e5bc9dae8eb862415" + "sha256Digest": "9b9ecb66734d8c31410b652d417deef9e35e2624873b36c0f3d6f90634d807e8" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-0.1.4-py2.py3-none-any.whl", - "filename": "connectedvmware-0.1.4-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedvmware-0.1.6-py2.py3-none-any.whl", + "filename": "connectedvmware-0.1.6-py2.py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.maxCliCoreVersion": "4.0.0", @@ -10108,9 +11908,9 @@ "metadata_version": "2.0", "name": "connectedvmware", "summary": "Microsoft Azure Command-Line Tools Connectedvmware Extension", - "version": "0.1.4" + "version": "0.1.6" }, - "sha256Digest": "a39af3a33da02598ec45f4b6167c2f5a25030e8fefd8d2aff186d604cb46e3db" + "sha256Digest": "3e13df39d8993cfe5ab0bf0821f335dc44bf2919c57d73ec88156671041ad239" } ], "connection-monitor-preview": [ @@ -10621,6 +12421,221 @@ "version": "0.10.0" }, "sha256Digest": "de57720e30785823d821ade1f08886871aa3188335fb5105e960833f2aebacdb" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.11.0-py2.py3-none-any.whl", + "filename": "cosmosdb_preview-0.11.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.11.0" + }, + "sha256Digest": "e9a21eab81616e7f71b5a4d764e541cbdea22d3dff3a8fc326f1ef06a1067421" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.12.0-py2.py3-none-any.whl", + "filename": "cosmosdb_preview-0.12.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.12.0" + }, + "sha256Digest": "e0f2007be10a9821d12ff7327b35480ddb8df57e8f990ecfdeedb256d9c70001" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.13.0-py2.py3-none-any.whl", + "filename": "cosmosdb_preview-0.13.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.13.0" + }, + "sha256Digest": "5dcfac7215584840899fb0cd1ab853c20b7915400a02981850dae857ba20177d" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.14.0-py2.py3-none-any.whl", + "filename": "cosmosdb_preview-0.14.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/tree/main/src/cosmosdb-preview" + } + } + }, + "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.14.0" + }, + "sha256Digest": "7ada2c34d023530ef5ae2402966b362d36675fc247ad2b41917b8114b2af9c72" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.15.0-py2.py3-none-any.whl", + "filename": "cosmosdb_preview-0.15.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/tree/main/src/cosmosdb-preview" + } + } + }, + "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.15.0" + }, + "sha256Digest": "0c3ee01e583ebc81cee2908129bb988c69f50bcb2ca8425b788de378f4839b10" } ], "costmanagement": [ @@ -11539,11 +13554,53 @@ "summary": "Microsoft Azure Command-Line Tools DatabricksClient Extension", "version": "0.7.0" }, - "sha256Digest": "236f561c6a20141ae854d1dd64a6e5a0b4636d98517e5ba245401882cc7fbd92" + "sha256Digest": "236f561c6a20141ae854d1dd64a6e5a0b4636d98517e5ba245401882cc7fbd92" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/databricks-0.7.1-py3-none-any.whl", + "filename": "databricks-0.7.1-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.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/databricks" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "databricks", + "summary": "Microsoft Azure Command-Line Tools DatabricksClient Extension", + "version": "0.7.1" + }, + "sha256Digest": "f086792f8910601c68fbe303f7831f77c79486fdf8e44039b1505d2344bac197" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/databricks-0.7.1-py3-none-any.whl", - "filename": "databricks-0.7.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-0.7.2-py3-none-any.whl", + "filename": "databricks-0.7.2-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.3.1", "classifiers": [ @@ -11579,13 +13636,13 @@ "metadata_version": "2.0", "name": "databricks", "summary": "Microsoft Azure Command-Line Tools DatabricksClient Extension", - "version": "0.7.1" + "version": "0.7.2" }, - "sha256Digest": "f086792f8910601c68fbe303f7831f77c79486fdf8e44039b1505d2344bac197" + "sha256Digest": "daf595a051a47dded0fbe18a289e454f221eaaae11d1aadaa3f45612aff1b05f" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-0.7.2-py3-none-any.whl", - "filename": "databricks-0.7.2-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-0.7.3-py3-none-any.whl", + "filename": "databricks-0.7.3-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.3.1", "classifiers": [ @@ -11621,13 +13678,13 @@ "metadata_version": "2.0", "name": "databricks", "summary": "Microsoft Azure Command-Line Tools DatabricksClient Extension", - "version": "0.7.2" + "version": "0.7.3" }, - "sha256Digest": "daf595a051a47dded0fbe18a289e454f221eaaae11d1aadaa3f45612aff1b05f" + "sha256Digest": "b70d79f20b8b2e116df9afc321243d847bbe83db75d863e2e3a00c79bbd0908b" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-0.7.3-py3-none-any.whl", - "filename": "databricks-0.7.3-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/databricks-0.8.0-py3-none-any.whl", + "filename": "databricks-0.8.0-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.3.1", "classifiers": [ @@ -11663,9 +13720,9 @@ "metadata_version": "2.0", "name": "databricks", "summary": "Microsoft Azure Command-Line Tools DatabricksClient Extension", - "version": "0.7.3" + "version": "0.8.0" }, - "sha256Digest": "b70d79f20b8b2e116df9afc321243d847bbe83db75d863e2e3a00c79bbd0908b" + "sha256Digest": "9abaf70996f462be238438a881f627806d10671897f9b1d562e4caef9e5ad3b1" } ], "datadog": [ @@ -12014,6 +14071,94 @@ "sha256Digest": "5aade65b73ff133eb5442a8420818faf17ed398660c081bd92af87edbc9ab3e6" } ], + "datamigration": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/datamigration-0.1.0-py3-none-any.whl", + "filename": "datamigration-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/datamigration" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "datamigration", + "summary": "Microsoft Azure Command-Line Tools DataMigrationManagementClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "8e43876ea91c393c01d758cba0d2f6b16964da1d90b74a6370096672186cf055" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/datamigration-0.2.0-py3-none-any.whl", + "filename": "datamigration-0.2.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/main/src/datamigration" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "datamigration", + "summary": "Microsoft Azure Command-Line Tools DataMigrationManagementClient Extension", + "version": "0.2.0" + }, + "sha256Digest": "a2013768c643392cb0f702103eb620f98564876c1d8cfb15de4d0760d3f504ca" + } + ], "dataprotection": [ { "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/dataprotection-0.1.0-py3-none-any.whl", @@ -12204,6 +14349,49 @@ "version": "0.1.1" }, "sha256Digest": "c0a2b603c0abd320bc3df0a4d6c38945fd894737804690dad98896e2446763f4" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/datashare-0.2.0-py3-none-any.whl", + "filename": "datashare-0.2.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/datashare" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "datashare", + "summary": "Microsoft Azure Command-Line Tools DataShareManagementClient Extension", + "version": "0.2.0" + }, + "sha256Digest": "f1a801bd0c38eb2ebf9c2fb4e0b43a98470ae7b40bbcd05eb2aa596d69579c9e" } ], "db-up": [ @@ -13585,13 +15773,146 @@ "sha256Digest": "237f362908d8deda9f797fb619226cb5a33c3e1c8740e37b3b24db53ddb76c74" } ], + "edgeorder": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/edgeorder-0.1.0-py3-none-any.whl", + "filename": "edgeorder-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/main/src/edgeorder" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "edgeorder", + "summary": "Microsoft Azure Command-Line Tools EdgeOrderManagementClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "186a06d0f8603f7e0faeed5296ecc73bf1096e0d681acea42d5ebccc1670357b" + } + ], "elastic": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/elastic-0.1.0-py3-none-any.whl", - "filename": "elastic-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/elastic-0.1.0-py3-none-any.whl", + "filename": "elastic-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/elastic" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "elastic", + "summary": "Microsoft Azure Command-Line Tools MicrosoftElastic Extension", + "version": "0.1.0" + }, + "sha256Digest": "bcc9f3d37aa7a73a57899873c1f4ed3baa7d5d80e98f8ac74cdbc993ea939215" + } + ], + "enterprise-edge": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/enterprise_edge-0.1.0-py3-none-any.whl", + "filename": "enterprise_edge-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.29.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/enterprise-edge" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "enterprise-edge", + "summary": "Support for Static Webapp-Azure Front Door Integration (aka Static Webapp Enterprise Edge)", + "version": "0.1.0" + }, + "sha256Digest": "e4d25af22ab109975e04ca457fcd8ebd5a9b3a5e37425a61e0cdd35e871fe1e4" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/enterprise_edge-0.1.1-py3-none-any.whl", + "filename": "enterprise_edge-0.1.1-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.29.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -13616,18 +15937,18 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/elastic" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/enterprise-edge" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "elastic", - "summary": "Microsoft Azure Command-Line Tools MicrosoftElastic Extension", - "version": "0.1.0" + "name": "enterprise-edge", + "summary": "Support for Static Webapp-Azure Front Door Integration (aka Static Webapp Enterprise Edge)", + "version": "0.1.1" }, - "sha256Digest": "bcc9f3d37aa7a73a57899873c1f4ed3baa7d5d80e98f8ac74cdbc993ea939215" + "sha256Digest": "dad0c130d8345740fb86b377eebf2aba68bca691102004ad526690d0727823fb" } ], "eventgrid": [ @@ -14775,6 +17096,54 @@ "sha256Digest": "94836a5d21ee1071cd40b163d2c80c32a6a81b9dc85d91371f7e4fb35141e273" } ], + "hack": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/hack-0.4.3-py2.py3-none-any.whl", + "filename": "hack-0.4.3-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 :: 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", + "Programming Language :: Python :: 3.9", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "chrhar@microsoft.com", + "name": "Christopher Harrison", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/hack" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "hack", + "summary": "Microsoft Azure Command-Line Tools Hack Extension", + "version": "0.4.3" + }, + "sha256Digest": "f9e600457e3a9fffc3235a7b30176d9f0a7f4d39ac01ea3e2668bcbdee6398a6" + } + ], "hardware-security-modules": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/hardware_security_modules-0.1.0-py3-none-any.whl", @@ -15664,6 +18033,48 @@ "version": "0.2.8" }, "sha256Digest": "b57f554b77e68d414b9f79016311a3e5c180f76206557909319edcad9ada5240" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/image_copy_extension-0.2.9-py2.py3-none-any.whl", + "filename": "image_copy_extension-0.2.9-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.0.24", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 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": "tamir.kamara@microsoft.com", + "name": "Tamir Kamara", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/image-copy" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "image-copy-extension", + "summary": "Support for copying managed vm images between regions", + "version": "0.2.9" + }, + "sha256Digest": "2ed4710d1e30aa0c21c5e5bbc92d971c0ef325f602ba36698f90663497f3cfbb" } ], "image-gallery": [ @@ -15885,6 +18296,51 @@ "sha256Digest": "0680948362e12138c9582e68e471533482749bd660bfe3c8c2a4d856e90927b0" } ], + "init": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/init-0.1.0-py3-none-any.whl", + "filename": "init-0.1.0-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 :: 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/init" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "init", + "summary": "Microsoft Azure Command-Line Tools Init Extension", + "version": "0.1.0" + }, + "sha256Digest": "1177fc293dc118b449b761ec2c728d39755fc3939de8d4bfd89cce1bfb218e86" + } + ], "interactive": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/interactive-0.4.1-py2.py3-none-any.whl", @@ -16169,37 +18625,181 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ip-group", + "summary": "Microsoft Azure Command-Line Tools IpGroup Extension", + "version": "0.1.1" + }, + "sha256Digest": "477d7f58fe44a4ecb0ced3497262d7ccd8bb7677d70582b6fccf645e91d25ad4" + }, + { + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ip_group-0.1.2-py2.py3-none-any.whl", + "filename": "ip_group-0.1.2-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", + "Programming Language :: Python :: 3.7License :: 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": "ip-group", + "summary": "Microsoft Azure Command-Line Tools IpGroup Extension", + "version": "0.1.2" + }, + "sha256Digest": "afba2d8a8a612863b63f504d6cff6d559610b961e4c77dc2fd49b9fe03ec67a2" + } + ], + "k8s-configuration": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.0.0-py3-none-any.whl", + "filename": "k8s_configuration-1.0.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/k8s-configuration" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "k8s-configuration", + "run_requires": [ + { + "requires": [ + "pycryptodome (~=3.9.8)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools K8s-configuration Extension", + "version": "1.0.0" + }, + "sha256Digest": "80b79b09d9caa8e1813dad25703c442aec35e01d60a3ea13389ebaec3e94933c" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.1.0-py3-none-any.whl", + "filename": "k8s_configuration-1.1.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/k8s-configuration" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "ip-group", - "summary": "Microsoft Azure Command-Line Tools IpGroup Extension", - "version": "0.1.1" + "name": "k8s-configuration", + "run_requires": [ + { + "requires": [ + "pycryptodome (~=3.9.8)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools K8s-configuration Extension", + "version": "1.1.0" }, - "sha256Digest": "477d7f58fe44a4ecb0ced3497262d7ccd8bb7677d70582b6fccf645e91d25ad4" + "sha256Digest": "2ca4d1e87dfa0614592b758d3441bfeaaa85e4d151b734ce27cc74c6a400edec" }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/ip_group-0.1.2-py2.py3-none-any.whl", - "filename": "ip_group-0.1.2-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.1.1-py3-none-any.whl", + "filename": "k8s_configuration-1.1.1-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67", + "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", - "Programming Language :: Python :: 3.7License :: OSI Approved :: MIT License" + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" ], "extensions": { "python.details": { @@ -16214,24 +18814,30 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/k8s-configuration" } } }, + "extras": [], "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "ip-group", - "summary": "Microsoft Azure Command-Line Tools IpGroup Extension", - "version": "0.1.2" + "name": "k8s-configuration", + "run_requires": [ + { + "requires": [ + "pycryptodome (~=3.9.8)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools K8s-configuration Extension", + "version": "1.1.1" }, - "sha256Digest": "afba2d8a8a612863b63f504d6cff6d559610b961e4c77dc2fd49b9fe03ec67a2" - } - ], - "k8s-configuration": [ + "sha256Digest": "3edf6b977d911b4da52ed66ada9363a7a6a739773a26f3599a2fdc728adcce9c" + }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.0.0-py3-none-any.whl", - "filename": "k8s_configuration-1.0.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.2.0-py3-none-any.whl", + "filename": "k8s_configuration-1.2.0-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.15.0", "classifiers": [ @@ -16275,13 +18881,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools K8s-configuration Extension", - "version": "1.0.0" + "version": "1.2.0" }, - "sha256Digest": "80b79b09d9caa8e1813dad25703c442aec35e01d60a3ea13389ebaec3e94933c" + "sha256Digest": "145c09df2e45ac41b6471fe74a513720014943151b5ca67e9913a1a91d591ac6" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.1.0-py3-none-any.whl", - "filename": "k8s_configuration-1.1.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.3.0-py3-none-any.whl", + "filename": "k8s_configuration-1.3.0-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.15.0", "classifiers": [ @@ -16325,13 +18931,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools K8s-configuration Extension", - "version": "1.1.0" + "version": "1.3.0" }, - "sha256Digest": "2ca4d1e87dfa0614592b758d3441bfeaaa85e4d151b734ce27cc74c6a400edec" + "sha256Digest": "c403947012efe91407ffb3e8edaf3fc6775519b1930c36bb4a04c11c2a3de3ab" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.1.1-py3-none-any.whl", - "filename": "k8s_configuration-1.1.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.4.0-py3-none-any.whl", + "filename": "k8s_configuration-1.4.0-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.15.0", "classifiers": [ @@ -16375,13 +18981,13 @@ } ], "summary": "Microsoft Azure Command-Line Tools K8s-configuration Extension", - "version": "1.1.1" + "version": "1.4.0" }, - "sha256Digest": "3edf6b977d911b4da52ed66ada9363a7a6a739773a26f3599a2fdc728adcce9c" + "sha256Digest": "877af811d8ee5fb8f282faefd159b7c61cbc0de6410ef43d54872e217a68747f" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.2.0-py3-none-any.whl", - "filename": "k8s_configuration-1.2.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_configuration-1.4.1-py3-none-any.whl", + "filename": "k8s_configuration-1.4.1-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.15.0", "classifiers": [ @@ -16425,9 +19031,9 @@ } ], "summary": "Microsoft Azure Command-Line Tools K8s-configuration Extension", - "version": "1.2.0" + "version": "1.4.1" }, - "sha256Digest": "145c09df2e45ac41b6471fe74a513720014943151b5ca67e9913a1a91d591ac6" + "sha256Digest": "827006d9e0b453fbf318e09bdea7403f715f517796646476b4f621b5830597c0" } ], "k8s-extension": [ @@ -16822,13 +19428,185 @@ } ], "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", - "version": "0.5.0" + "version": "0.5.0" + }, + "sha256Digest": "82bb4f809cc5b6fe6b998e78adf6ca3b5b50de02f998c180441d9d66e7cc4875" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.5.1-py3-none-any.whl", + "filename": "k8s_extension-0.5.1-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.5.1" + }, + "sha256Digest": "b04378d1c1699cf8cf37fc84a0f77fd5b87c653cc4d06049ba546660ce57fe42" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.6.0-py3-none-any.whl", + "filename": "k8s_extension-0.6.0-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.6.0" + }, + "sha256Digest": "a1b642402345b71cb0f06aa31653a3161ab3f5f874e29d59863b987200bc535d" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.6.1-py3-none-any.whl", + "filename": "k8s_extension-0.6.1-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.6.1" + }, + "sha256Digest": "42b366184ab6dd9f46bb44e7c0e10eace4f25f514f97dd1912552c6900f2fd9e" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.7.0-py3-none-any.whl", + "filename": "k8s_extension-0.7.0-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.7.0" }, - "sha256Digest": "82bb4f809cc5b6fe6b998e78adf6ca3b5b50de02f998c180441d9d66e7cc4875" + "sha256Digest": "8721d18318523e58de9bec2630b713c1c860f910ee1f9d05f80dbc6fd178f9ca" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.5.1-py3-none-any.whl", - "filename": "k8s_extension-0.5.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.7.1-py3-none-any.whl", + "filename": "k8s_extension-0.7.1-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.24.0", @@ -16865,15 +19643,14 @@ "metadata_version": "2.0", "name": "k8s-extension", "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", - "version": "0.5.1" + "version": "0.7.1" }, - "sha256Digest": "b04378d1c1699cf8cf37fc84a0f77fd5b87c653cc4d06049ba546660ce57fe42" + "sha256Digest": "f1360a4c39efb470184c16d4b69273a46225bd86b9c4a463fcdd3ecbaddafc4e" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.6.0-py3-none-any.whl", - "filename": "k8s_extension-0.6.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.0.0-py3-none-any.whl", + "filename": "k8s_extension-1.0.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, "azext.minCliCoreVersion": "2.24.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -16908,15 +19685,14 @@ "metadata_version": "2.0", "name": "k8s-extension", "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", - "version": "0.6.0" + "version": "1.0.0" }, - "sha256Digest": "a1b642402345b71cb0f06aa31653a3161ab3f5f874e29d59863b987200bc535d" + "sha256Digest": "039cd89acff0e63516a7235c2587f4e06a750b9f9d3e94a5399de21c17964cd0" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.6.1-py3-none-any.whl", - "filename": "k8s_extension-0.6.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.0.1-py3-none-any.whl", + "filename": "k8s_extension-1.0.1-py3-none-any.whl", "metadata": { - "azext.isPreview": true, "azext.minCliCoreVersion": "2.24.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -16951,15 +19727,14 @@ "metadata_version": "2.0", "name": "k8s-extension", "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", - "version": "0.6.1" + "version": "1.0.1" }, - "sha256Digest": "42b366184ab6dd9f46bb44e7c0e10eace4f25f514f97dd1912552c6900f2fd9e" + "sha256Digest": "6f6ecdffa02759bacd523a9804e2c7e9e96603f3de57c62ba609b3bdb6c2a3ad" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.7.0-py3-none-any.whl", - "filename": "k8s_extension-0.7.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.0.2-py3-none-any.whl", + "filename": "k8s_extension-1.0.2-py3-none-any.whl", "metadata": { - "azext.isPreview": true, "azext.minCliCoreVersion": "2.24.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -16994,15 +19769,14 @@ "metadata_version": "2.0", "name": "k8s-extension", "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", - "version": "0.7.0" + "version": "1.0.2" }, - "sha256Digest": "8721d18318523e58de9bec2630b713c1c860f910ee1f9d05f80dbc6fd178f9ca" + "sha256Digest": "4e911e5b1c750700a0ac713fd3ec3cac97778ade4cb4d2cecf1342200f766851" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.7.1-py3-none-any.whl", - "filename": "k8s_extension-0.7.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.0.3-py3-none-any.whl", + "filename": "k8s_extension-1.0.3-py3-none-any.whl", "metadata": { - "azext.isPreview": true, "azext.minCliCoreVersion": "2.24.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -17037,13 +19811,13 @@ "metadata_version": "2.0", "name": "k8s-extension", "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", - "version": "0.7.1" + "version": "1.0.3" }, - "sha256Digest": "f1360a4c39efb470184c16d4b69273a46225bd86b9c4a463fcdd3ecbaddafc4e" + "sha256Digest": "0a37d5c8c098a1624be18beef43c6ec5c472f237486e08ebf60245dd9e3c5286" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.0.0-py3-none-any.whl", - "filename": "k8s_extension-1.0.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.0.4-py3-none-any.whl", + "filename": "k8s_extension-1.0.4-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.24.0", "classifiers": [ @@ -17079,9 +19853,9 @@ "metadata_version": "2.0", "name": "k8s-extension", "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", - "version": "1.0.0" + "version": "1.0.4" }, - "sha256Digest": "039cd89acff0e63516a7235c2587f4e06a750b9f9d3e94a5399de21c17964cd0" + "sha256Digest": "248b883ec7518f5db53de32d6516d358062d4703b5d958a34b2c723eb3a5b8f4" } ], "k8sconfiguration": [ @@ -18106,6 +20880,49 @@ "version": "0.1.4" }, "sha256Digest": "e350fb81e4f2f6758a77814afebf8a71b4cdcac951142d703da15ca92ab7ca87" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/logic-0.1.5-py3-none-any.whl", + "filename": "logic-0.1.5-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/logic" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "logic", + "summary": "Microsoft Azure Command-Line Tools LogicManagementClient Extension", + "version": "0.1.5" + }, + "sha256Digest": "f0405775947f7581a5df52d97a3959b7fe3bf4b49ddcb487e15147cc1c4d276a" } ], "logz": [ @@ -18896,7 +21713,179 @@ "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.1a3-py3-none-any.whl", "filename": "ml-2.0.1a3-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, + "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.1a3" + }, + "sha256Digest": "67c57c5c73d7ebaa99d1df52ba82c7a551bf61a182b4888128e8c62c896cf84b" + }, + { + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.1a4-py3-none-any.whl", + "filename": "ml-2.0.1a4-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/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.1a4" + }, + "sha256Digest": "5a20917c68a953ad52c6c0596cd04e8c89f833e8ede17e64866a26f43e7f0164" + }, + { + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.1a5-py3-none-any.whl", + "filename": "ml-2.0.1a5-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/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.1a5" + }, + "sha256Digest": "234ad4707c7c2b4bace2f4c3ed9e15f2f47d01ee00f7a5e13ccafaacec6de8d2" + }, + { + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.2-py3-none-any.whl", + "filename": "ml-2.0.2-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, "azext.minCliCoreVersion": "2.15.0", "extensions": { "python.details": { @@ -18938,27 +21927,16 @@ } ], "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", - "version": "2.0.1a3" + "version": "2.0.2" }, - "sha256Digest": "67c57c5c73d7ebaa99d1df52ba82c7a551bf61a182b4888128e8c62c896cf84b" + "sha256Digest": "80dc61c8d6778a262b882dc0c5e05b77551e64d338d90fbe8a7eb8c731f6814c" }, { - "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.1a4-py3-none-any.whl", - "filename": "ml-2.0.1a4-py3-none-any.whl", + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.3-py3-none-any.whl", + "filename": "ml-2.0.3-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, + "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": [ @@ -18984,9 +21962,10 @@ "run_requires": [ { "requires": [ + "azure-common (<2.0.0,>=1.1)", "azure-identity", - "azure-storage-blob (<=12.5.0,>12.0.0b4)", - "azure-storage-file-share (==12.3.0)", + "azure-storage-blob (<=12.9.0,>12.0.0b4)", + "azure-storage-file-share (<13.0.0)", "cryptography (<=3.3.2)", "docker (>=4.0.0,~=5.0.0)", "isodate", @@ -18994,32 +21973,22 @@ "pathspec (==0.8.*)", "pydash (<=4.9.0)", "pyjwt (<2.0.0)", - "tqdm" + "tqdm", + "typing-extensions (<4.0.0,>=3.10)" ] } ], "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", - "version": "2.0.1a4" + "version": "2.0.3" }, - "sha256Digest": "5a20917c68a953ad52c6c0596cd04e8c89f833e8ede17e64866a26f43e7f0164" + "sha256Digest": "3eac9a5c8ee9e78151d9bbcc54eb978a1987f6fd7c1beef0b4a575113f0a4466" }, { - "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.1a5-py3-none-any.whl", - "filename": "ml-2.0.1a5-py3-none-any.whl", + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.7-py3-none-any.whl", + "filename": "ml-2.0.7-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, + "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": [ @@ -19045,28 +22014,30 @@ "run_requires": [ { "requires": [ + "azure-common (<2.0.0,>=1.1)", "azure-identity", - "azure-storage-blob (<=12.5.0,>12.0.0b4)", - "azure-storage-file-share (==12.3.0)", + "azure-storage-blob (<=12.9.0,>12.0.0b4)", + "azure-storage-file-share (<13.0.0)", "cryptography (<=3.3.2)", "docker (>=4.0.0,~=5.0.0)", "isodate", "marshmallow (<4.0.0,>=3.5)", - "pathspec (==0.8.*)", + "pathspec (==0.9.*)", "pydash (<=4.9.0)", - "pyjwt (<2.0.0)", - "tqdm" + "pyjwt (<=2.3.0)", + "tqdm (<=4.63.0)", + "typing-extensions (<4.0.0,>=3.10)" ] } ], "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", - "version": "2.0.1a5" + "version": "2.0.7" }, - "sha256Digest": "234ad4707c7c2b4bace2f4c3ed9e15f2f47d01ee00f7a5e13ccafaacec6de8d2" + "sha256Digest": "67f5f65437e50c763ddc9595542d5b12f949c1e325c30a93317ca5f292ad25e5" }, { - "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.2-py3-none-any.whl", - "filename": "ml-2.0.2-py3-none-any.whl", + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.1.1-py3-none-any.whl", + "filename": "ml-2.1.1-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.15.0", @@ -19095,28 +22066,30 @@ "run_requires": [ { "requires": [ + "azure-common (<2.0.0,>=1.1)", "azure-identity", - "azure-storage-blob (<=12.5.0,>12.0.0b4)", - "azure-storage-file-share (==12.3.0)", + "azure-storage-blob (<=12.9.0,>12.0.0b4)", + "azure-storage-file-share (<13.0.0)", "cryptography (<=3.3.2)", "docker (>=4.0.0,~=5.0.0)", "isodate", "marshmallow (<4.0.0,>=3.5)", - "pathspec (==0.8.*)", + "pathspec (==0.9.*)", "pydash (<=4.9.0)", - "pyjwt (<2.0.0)", - "tqdm" + "pyjwt (<=2.3.0)", + "tqdm (<=4.63.0)", + "typing-extensions (<4.0.0,>=3.10)" ] } ], "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", - "version": "2.0.2" + "version": "2.1.1" }, - "sha256Digest": "80dc61c8d6778a262b882dc0c5e05b77551e64d338d90fbe8a7eb8c731f6814c" + "sha256Digest": "373fa36ced7ef00a8caeb818bf8d83a52ca519e01180a0191b99bdfeae95a037" }, { - "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.3-py3-none-any.whl", - "filename": "ml-2.0.3-py3-none-any.whl", + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.1.2-py3-none-any.whl", + "filename": "ml-2.1.2-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.15.0", @@ -19153,18 +22126,18 @@ "docker (>=4.0.0,~=5.0.0)", "isodate", "marshmallow (<4.0.0,>=3.5)", - "pathspec (==0.8.*)", + "pathspec (==0.9.*)", "pydash (<=4.9.0)", - "pyjwt (<2.0.0)", - "tqdm", + "pyjwt (<=2.3.0)", + "tqdm (<=4.63.0)", "typing-extensions (<4.0.0,>=3.10)" ] } ], "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", - "version": "2.0.3" + "version": "2.1.2" }, - "sha256Digest": "3eac9a5c8ee9e78151d9bbcc54eb978a1987f6fd7c1beef0b4a575113f0a4466" + "sha256Digest": "19845c2b0d3701f5ff9e34162047c0c85f57904e17cdcbdde784ab4c8ac2fc49" } ], "monitor-control-service": [ @@ -19994,14 +22967,190 @@ "summary": "Microsoft Azure Command-Line Tools Providerhub Extension", "version": "0.1.0" }, - "sha256Digest": "9385d61fe18f10c379e7a7c57a1ded34dd0f5b15bcf021777e4d51d288b703fe" + "sha256Digest": "9385d61fe18f10c379e7a7c57a1ded34dd0f5b15bcf021777e4d51d288b703fe" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/providerhub-0.2.0-py3-none-any.whl", + "filename": "providerhub-0.2.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/providerhub" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "providerhub", + "summary": "Microsoft Azure Command-Line Tools ProviderHub Extension", + "version": "0.2.0" + }, + "sha256Digest": "9cda8fed546254987e5c5f872b4119105796c89de8d65d385638dac155bdf01e" + } + ], + "purview": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/purview-0.1.0-py3-none-any.whl", + "filename": "purview-0.1.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/tree/master/src/purview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "purview", + "summary": "Microsoft Azure Command-Line Tools PurviewManagementClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "706cc2550fbd07b8b676345c2f26c5ba66550905bc8ec224c6c4e5637c497266" + } + ], + "quantum": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.1.0-py3-none-any.whl", + "filename": "quantum-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.5.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": "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.1.0" + }, + "sha256Digest": "ac71362fb4834e02f26644403b4aac166def6488474e4f201ce3243b12b2424f" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.2.0-py3-none-any.whl", + "filename": "quantum-0.2.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.5.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": "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.2.0" + }, + "sha256Digest": "49f14768df82cf63f8be1a4bdc69ecd531149c7603f05d1951431c006dcc3660" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/providerhub-0.2.0-py3-none-any.whl", - "filename": "providerhub-0.2.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.3.0-py3-none-any.whl", + "filename": "quantum-0.3.0-py3-none-any.whl", "metadata": { - "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.5.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -20017,8 +23166,8 @@ "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "que-contacts@microsoft.com", + "name": "Microsoft Corporation, Quantum Team", "role": "author" } ], @@ -20026,27 +23175,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/providerhub" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "providerhub", - "summary": "Microsoft Azure Command-Line Tools ProviderHub Extension", - "version": "0.2.0" + "name": "quantum", + "summary": "Microsoft Azure Command-Line Tools Quantum Extension", + "version": "0.3.0" }, - "sha256Digest": "9cda8fed546254987e5c5f872b4119105796c89de8d65d385638dac155bdf01e" - } - ], - "purview": [ + "sha256Digest": "2564b05153b85eab96b58a2f8f3211241d6e07bdbe9a13f8feb74d09e1b80832" + }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/purview-0.1.0-py3-none-any.whl", - "filename": "purview-0.1.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.4.0-py3-none-any.whl", + "filename": "quantum-0.4.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.15.0", + "azext.minCliCoreVersion": "2.5.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -20062,8 +23209,8 @@ "python.details": { "contacts": [ { - "email": "azpycli@microsoft.com", - "name": "Microsoft Corporation", + "email": "que-contacts@microsoft.com", + "name": "Microsoft Corporation, Quantum Team", "role": "author" } ], @@ -20071,27 +23218,25 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/purview" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "purview", - "summary": "Microsoft Azure Command-Line Tools PurviewManagementClient Extension", - "version": "0.1.0" + "name": "quantum", + "summary": "Microsoft Azure Command-Line Tools Quantum Extension", + "version": "0.4.0" }, - "sha256Digest": "706cc2550fbd07b8b676345c2f26c5ba66550905bc8ec224c6c4e5637c497266" - } - ], - "quantum": [ + "sha256Digest": "90b537ba647b0eecda70ef8cbe4823d4199429f4ae436808434180d715448769" + }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.1.0-py3-none-any.whl", - "filename": "quantum-0.1.0-py3-none-any.whl", + "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.5.1", + "azext.minCliCoreVersion": "2.23.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -20125,16 +23270,16 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.1.0" + "version": "0.5.0" }, - "sha256Digest": "ac71362fb4834e02f26644403b4aac166def6488474e4f201ce3243b12b2424f" + "sha256Digest": "257dfba42b6505dfa66721ddba9197da7f769f2e26d7c4bba9bcc729a72e49b7" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.2.0-py3-none-any.whl", - "filename": "quantum-0.2.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.6.0-py3-none-any.whl", + "filename": "quantum-0.6.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.5.1", + "azext.minCliCoreVersion": "2.23.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -20168,16 +23313,16 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.2.0" + "version": "0.6.0" }, - "sha256Digest": "49f14768df82cf63f8be1a4bdc69ecd531149c7603f05d1951431c006dcc3660" + "sha256Digest": "407d45555dc239d16882b99d52634d2726057ffbe404e008d6181a5cb0f212cd" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.3.0-py3-none-any.whl", - "filename": "quantum-0.3.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.6.1-py3-none-any.whl", + "filename": "quantum-0.6.1-py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.5.1", + "azext.minCliCoreVersion": "2.23.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -20211,16 +23356,16 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.3.0" + "version": "0.6.1" }, - "sha256Digest": "2564b05153b85eab96b58a2f8f3211241d6e07bdbe9a13f8feb74d09e1b80832" + "sha256Digest": "5306a838f3c1c36d80cf7945ee8f74d472a6d1e19c45e47f233b22671953edfb" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.4.0-py3-none-any.whl", - "filename": "quantum-0.4.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.7.0-py3-none-any.whl", + "filename": "quantum-0.7.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.5.1", + "azext.minCliCoreVersion": "2.23.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -20254,13 +23399,13 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.4.0" + "version": "0.7.0" }, - "sha256Digest": "90b537ba647b0eecda70ef8cbe4823d4199429f4ae436808434180d715448769" + "sha256Digest": "e3658e4549ce96f262d60c3ae357c3c057b8678cd01060a6eea0cd715a6d2e45" }, { - "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", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.8.0-py3-none-any.whl", + "filename": "quantum-0.8.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.23.0", @@ -20297,13 +23442,13 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.5.0" + "version": "0.8.0" }, - "sha256Digest": "257dfba42b6505dfa66721ddba9197da7f769f2e26d7c4bba9bcc729a72e49b7" + "sha256Digest": "cab7430782efaf49e865f6c217b911e27b3868ec5df53e70614aa256b3ba91ca" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.6.0-py3-none-any.whl", - "filename": "quantum-0.6.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.9.0-py3-none-any.whl", + "filename": "quantum-0.9.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.23.0", @@ -20340,13 +23485,13 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.6.0" + "version": "0.9.0" }, - "sha256Digest": "407d45555dc239d16882b99d52634d2726057ffbe404e008d6181a5cb0f212cd" + "sha256Digest": "214d6303c3381a8a328a15ca3bb8f77f68c36cf71d83cdaa41be87b2af6e28fe" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.6.1-py3-none-any.whl", - "filename": "quantum-0.6.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.10.0-py3-none-any.whl", + "filename": "quantum-0.10.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.23.0", @@ -20383,13 +23528,13 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.6.1" + "version": "0.10.0" }, - "sha256Digest": "5306a838f3c1c36d80cf7945ee8f74d472a6d1e19c45e47f233b22671953edfb" + "sha256Digest": "c280a1eda5a9eee853239cac1ac2c610d159d59be5ac29fa7d5a4a1a3d7cbbde" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.7.0-py3-none-any.whl", - "filename": "quantum-0.7.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.11.0-py3-none-any.whl", + "filename": "quantum-0.11.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.23.0", @@ -20426,13 +23571,13 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.7.0" + "version": "0.11.0" }, - "sha256Digest": "e3658e4549ce96f262d60c3ae357c3c057b8678cd01060a6eea0cd715a6d2e45" + "sha256Digest": "96d85f1c7675e4d8a42384de348cad66e80343b6ae26142ebdb19d753c45fc2e" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.8.0-py3-none-any.whl", - "filename": "quantum-0.8.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.12.0-py3-none-any.whl", + "filename": "quantum-0.12.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.23.0", @@ -20469,13 +23614,13 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.8.0" + "version": "0.12.0" }, - "sha256Digest": "cab7430782efaf49e865f6c217b911e27b3868ec5df53e70614aa256b3ba91ca" + "sha256Digest": "ffc62c0663843522a3439acf4c682f9287849d5b3efcf2c4fd721266bfecfe96" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.9.0-py3-none-any.whl", - "filename": "quantum-0.9.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.13.0-py3-none-any.whl", + "filename": "quantum-0.13.0-py3-none-any.whl", "metadata": { "azext.isPreview": true, "azext.minCliCoreVersion": "2.23.0", @@ -20503,7 +23648,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/quantum" } } }, @@ -20512,16 +23657,18 @@ "metadata_version": "2.0", "name": "quantum", "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.9.0" + "version": "0.13.0" }, - "sha256Digest": "214d6303c3381a8a328a15ca3bb8f77f68c36cf71d83cdaa41be87b2af6e28fe" - }, + "sha256Digest": "d37a85117a1b0989c1ceba8bbb571c777b626eabf9ce14161617837dbfeb067e" + } + ], + "quota": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.10.0-py3-none-any.whl", - "filename": "quantum-0.10.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quota-0.1.0-py3-none-any.whl", + "filename": "quota-0.1.0-py3-none-any.whl", "metadata": { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.23.0", + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -20537,8 +23684,8 @@ "python.details": { "contacts": [ { - "email": "que-contacts@microsoft.com", - "name": "Microsoft Corporation, Quantum Team", + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", "role": "author" } ], @@ -20546,18 +23693,18 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/quota" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "quantum", - "summary": "Microsoft Azure Command-Line Tools Quantum Extension", - "version": "0.10.0" + "name": "quota", + "summary": "Microsoft Azure Command-Line Tools AzureQuotaExtensionAPI Extension", + "version": "0.1.0" }, - "sha256Digest": "c280a1eda5a9eee853239cac1ac2c610d159d59be5ac29fa7d5a4a1a3d7cbbde" + "sha256Digest": "f336a9499c951ba012c9f68ed7887af63b053ed1585df4bbdef88ddf9e0d6805" } ], "rdbms-connect": [ @@ -20777,7 +23924,112 @@ "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/rdbms_connect-0.1.4-py2.py3-none-any.whl", "filename": "rdbms_connect-0.1.4-py2.py3-none-any.whl", "metadata": { - "azext.isPreview": true, + "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.4" + }, + "sha256Digest": "674a880f508d649f75d426c5b9700f7283079c1b9de2e5bccf31edbce907b838" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/rdbms_connect-1.0.0-py2.py3-none-any.whl", + "filename": "rdbms_connect-1.0.0-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": "1.0.0" + }, + "sha256Digest": "c1830f07c8829025597bf60db45b04c6b854c76d598235e71e6c7ff9626ba100" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/rdbms_connect-1.0.1-py2.py3-none-any.whl", + "filename": "rdbms_connect-1.0.1-py2.py3-none-any.whl", + "metadata": { "azext.minCliCoreVersion": "2.19.0", "classifiers": [ "Development Status :: 4 - Beta", @@ -20822,9 +24074,9 @@ } ], "summary": "Support for testing connection to Azure Database for MySQL & PostgreSQL servers.", - "version": "0.1.4" + "version": "1.0.1" }, - "sha256Digest": "674a880f508d649f75d426c5b9700f7283079c1b9de2e5bccf31edbce907b838" + "sha256Digest": "c13bd245524b6c0f8dab0b7c80e51d710934f12f1f68fbc74614805aeb1429f7" } ], "redisenterprise": [ @@ -21146,6 +24398,49 @@ "version": "0.1.0" }, "sha256Digest": "f86ecfcde11e6016da9b107e191b1feaba6896f395d989e5962c6fe6ac34c593" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/resource_mover-0.1.1-py3-none-any.whl", + "filename": "resource_mover-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/resource-mover" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "resource-mover", + "summary": "Microsoft Azure Command-Line Tools ResourceMoverServiceAPI Extension", + "version": "0.1.1" + }, + "sha256Digest": "dee4f576aa3902497762f0d3582fea9e7846de6cfad48575798c9349a45c20a0" } ], "sap-hana": [ @@ -21495,6 +24790,49 @@ "version": "0.4.0" }, "sha256Digest": "9228691ea2baa13b11473c8ff9916f8bd1fa39fae33ee4386648d9bffb239617" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-0.5.0-py2.py3-none-any.whl", + "filename": "scheduled_query-0.5.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.5.0" + }, + "sha256Digest": "ee4c54e1d96ac2bd33f2cf148e7cc1eac978afe842dc5b49be24bd2c24c6d13a" } ], "sentinel": [ @@ -23064,7 +26402,179 @@ "filename": "spring_cloud-2.7.0-py3-none-any.whl", "metadata": { "azext.isPreview": false, - "azext.minCliCoreVersion": "2.0.67", + "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.7.0" + }, + "sha256Digest": "2694319d0d46dff1b159b0b02d615cb8848306e7c3df81a334ce35523f834b73" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.7.1-py3-none-any.whl", + "filename": "spring_cloud-2.7.1-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.7.1" + }, + "sha256Digest": "68917af5100e931c03887a56ed14edb4d8ea258c049759b07018f52f03f8c08c" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.8.0-py3-none-any.whl", + "filename": "spring_cloud-2.8.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.8.0" + }, + "sha256Digest": "0c29139a8cdaf18c70cd53497a5888885c71fef03698631400191947496f97a9" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.9.0-py3-none-any.whl", + "filename": "spring_cloud-2.9.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.9.0" + }, + "sha256Digest": "902fa79c399a2f374987ac84b65d76cf8e349de57da7a52c8c781a559fe24f35" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.10.0-py3-none-any.whl", + "filename": "spring_cloud-2.10.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.25.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -23098,16 +26608,16 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.7.0" + "version": "2.10.0" }, - "sha256Digest": "2694319d0d46dff1b159b0b02d615cb8848306e7c3df81a334ce35523f834b73" + "sha256Digest": "0f5f286381bdb4f8a36b7e1484da8a651b9a41b6a5ffd5390c2ebe76577415d3" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.7.1-py3-none-any.whl", - "filename": "spring_cloud-2.7.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.11.0-py3-none-any.whl", + "filename": "spring_cloud-2.11.0-py3-none-any.whl", "metadata": { "azext.isPreview": false, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.25.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -23141,16 +26651,16 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.7.1" + "version": "2.11.0" }, - "sha256Digest": "68917af5100e931c03887a56ed14edb4d8ea258c049759b07018f52f03f8c08c" + "sha256Digest": "0b9bd233a830046a0286387c65a12facc5dea2d498281a50bda64ba846ef4dc7" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.8.0-py3-none-any.whl", - "filename": "spring_cloud-2.8.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.11.1-py3-none-any.whl", + "filename": "spring_cloud-2.11.1-py3-none-any.whl", "metadata": { "azext.isPreview": false, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.25.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -23184,16 +26694,16 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.8.0" + "version": "2.11.1" }, - "sha256Digest": "0c29139a8cdaf18c70cd53497a5888885c71fef03698631400191947496f97a9" + "sha256Digest": "0646e9965895f9ff1640d461049c2249f2a67036c4bac60ff90f8ba792c6e95f" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.9.0-py3-none-any.whl", - "filename": "spring_cloud-2.9.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.11.2-py3-none-any.whl", + "filename": "spring_cloud-2.11.2-py3-none-any.whl", "metadata": { "azext.isPreview": false, - "azext.minCliCoreVersion": "2.0.67", + "azext.minCliCoreVersion": "2.25.0", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -23227,13 +26737,13 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.9.0" + "version": "2.11.2" }, - "sha256Digest": "902fa79c399a2f374987ac84b65d76cf8e349de57da7a52c8c781a559fe24f35" + "sha256Digest": "11d01765c886a387ab622580e4e7b9476a86be5ee84a4d4af7120ef189752f32" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.10.0-py3-none-any.whl", - "filename": "spring_cloud-2.10.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.12.0-py3-none-any.whl", + "filename": "spring_cloud-2.12.0-py3-none-any.whl", "metadata": { "azext.isPreview": false, "azext.minCliCoreVersion": "2.25.0", @@ -23270,13 +26780,13 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.10.0" + "version": "2.12.0" }, - "sha256Digest": "0f5f286381bdb4f8a36b7e1484da8a651b9a41b6a5ffd5390c2ebe76577415d3" + "sha256Digest": "5865ebb83df7fe713a5ad7d2687b5b1b0c5668b24a774e80e04c303d9b8e6f9e" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.11.0-py3-none-any.whl", - "filename": "spring_cloud-2.11.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.12.1-py3-none-any.whl", + "filename": "spring_cloud-2.12.1-py3-none-any.whl", "metadata": { "azext.isPreview": false, "azext.minCliCoreVersion": "2.25.0", @@ -23313,13 +26823,13 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.11.0" + "version": "2.12.1" }, - "sha256Digest": "0b9bd233a830046a0286387c65a12facc5dea2d498281a50bda64ba846ef4dc7" + "sha256Digest": "a46561af3afdca63d0b74bb97242e83e4b187601832b8531f915d7604964c430" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.11.1-py3-none-any.whl", - "filename": "spring_cloud-2.11.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.12.2-py3-none-any.whl", + "filename": "spring_cloud-2.12.2-py3-none-any.whl", "metadata": { "azext.isPreview": false, "azext.minCliCoreVersion": "2.25.0", @@ -23356,13 +26866,13 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.11.1" + "version": "2.12.2" }, - "sha256Digest": "0646e9965895f9ff1640d461049c2249f2a67036c4bac60ff90f8ba792c6e95f" + "sha256Digest": "54880b35deac43f659d9e2b5a8a1f7437898eaf848c002a5733487bed6c9b42e" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.11.2-py3-none-any.whl", - "filename": "spring_cloud-2.11.2-py3-none-any.whl", + "downloadUrl": "https://ascprivatecli.blob.core.windows.net/cli-extension/spring_cloud-2.12.3-py3-none-any.whl", + "filename": "spring_cloud-2.12.3-py3-none-any.whl", "metadata": { "azext.isPreview": false, "azext.minCliCoreVersion": "2.25.0", @@ -23399,13 +26909,13 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.11.2" + "version": "2.12.3" }, - "sha256Digest": "11d01765c886a387ab622580e4e7b9476a86be5ee84a4d4af7120ef189752f32" + "sha256Digest": "026c63b42b7b63464e0016e7321c074b99600656d9d5b57c4bada27d268deb28" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.12.0-py3-none-any.whl", - "filename": "spring_cloud-2.12.0-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.0.0-py3-none-any.whl", + "filename": "spring_cloud-3.0.0-py3-none-any.whl", "metadata": { "azext.isPreview": false, "azext.minCliCoreVersion": "2.25.0", @@ -23433,7 +26943,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/spring-cloud" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/spring-cloud" } } }, @@ -23442,13 +26952,13 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.12.0" + "version": "3.0.0" }, - "sha256Digest": "5865ebb83df7fe713a5ad7d2687b5b1b0c5668b24a774e80e04c303d9b8e6f9e" + "sha256Digest": "4d7f70bd517be50771f0e0eb94ca2535ed5907f29b7929534f1dd6a26684a805" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.12.1-py3-none-any.whl", - "filename": "spring_cloud-2.12.1-py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-3.0.1-py3-none-any.whl", + "filename": "spring_cloud-3.0.1-py3-none-any.whl", "metadata": { "azext.isPreview": false, "azext.minCliCoreVersion": "2.25.0", @@ -23476,7 +26986,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/spring-cloud" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/spring-cloud" } } }, @@ -23485,9 +26995,9 @@ "metadata_version": "2.0", "name": "spring-cloud", "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", - "version": "2.12.1" + "version": "3.0.1" }, - "sha256Digest": "a46561af3afdca63d0b74bb97242e83e4b187601832b8531f915d7604964c430" + "sha256Digest": "1142951621ab8ae41759275261cdd0507d11544ba03ad57e02c880e074eabafd" } ], "ssh": [ @@ -23849,6 +27359,57 @@ "version": "1.0.0" }, "sha256Digest": "12073d047fbedb7daca67c7ccbb3b063d0c82c01d02d00a28b9c560702fda099" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/ssh-1.0.1-py3-none-any.whl", + "filename": "ssh-1.0.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.4.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/main/src/ssh" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ssh", + "run_requires": [ + { + "requires": [ + "cryptography" + ] + } + ], + "summary": "SSH into Azure VMs using RBAC and AAD OpenSSH Certificates", + "version": "1.0.1" + }, + "sha256Digest": "f54a2bcc784316c451dc4a776f3ca910fb804296e96b9d8ff7b262754a7e79e0" } ], "stack-hci": [ @@ -25188,6 +28749,59 @@ "version": "0.7.4" }, "sha256Digest": "eede880e897e6fbfb7e631b91ee23b35229c1dbcefb5785279809d53a4568a87" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_preview-0.8.0-py2.py3-none-any.whl", + "filename": "storage_preview-0.8.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.25.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.8.0" + }, + "sha256Digest": "0187510c8ebf2312c8937ae364a723016f912ac237c40685e94bac505e097be0" } ], "storagesync": [ @@ -25195,7 +28809,95 @@ "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/storagesync-0.1.0-py2.py3-none-any.whl", "filename": "storagesync-0.1.0-py2.py3-none-any.whl", "metadata": { - "azext.isExperimental": true, + "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 :: 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" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "storagesync", + "summary": "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension", + "version": "0.1.0" + }, + "sha256Digest": "a1d15edfcc18d9d301dea843cd7dce9845b8da6f6b1beb47a1bba35ff46eadde" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/storagesync-0.1.1-py2.py3-none-any.whl", + "filename": "storagesync-0.1.1-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 :: 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/storagesync" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "storagesync", + "summary": "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension", + "version": "0.1.1" + }, + "sha256Digest": "06d5e71b42edf721c5624cfd286b8593c68316f2b0ea4edf60c7a74835a695e2" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/storagesync-0.1.2-py2.py3-none-any.whl", + "filename": "storagesync-0.1.2-py2.py3-none-any.whl", + "metadata": { "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", @@ -25223,7 +28925,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storagesync" } } }, @@ -25232,26 +28934,28 @@ "metadata_version": "2.0", "name": "storagesync", "summary": "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension", - "version": "0.1.0" + "version": "0.1.2" }, - "sha256Digest": "a1d15edfcc18d9d301dea843cd7dce9845b8da6f6b1beb47a1bba35ff46eadde" - }, + "sha256Digest": "498aff0d83037e11a668915788a7a78c981d7241ad31e9fb7cf2f27725253261" + } + ], + "stream-analytics": [ { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/storagesync-0.1.1-py2.py3-none-any.whl", - "filename": "storagesync-0.1.1-py2.py3-none-any.whl", + "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/stream_analytics-0.1.0-py2.py3-none-any.whl", + "filename": "stream_analytics-0.1.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 :: 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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -25267,35 +28971,34 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storagesync" + "Home": "https://github.com/Azure/azure-cli-extensions" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "storagesync", - "summary": "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension", - "version": "0.1.1" + "name": "stream-analytics", + "summary": "Microsoft Azure Command-Line Tools stream-analytics Extension", + "version": "0.1.0" }, - "sha256Digest": "06d5e71b42edf721c5624cfd286b8593c68316f2b0ea4edf60c7a74835a695e2" + "sha256Digest": "e3a9048f289d1b870637e4b13c0ee1e877827834e1f71d31cb8161bacc441388" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/storagesync-0.1.2-py2.py3-none-any.whl", - "filename": "storagesync-0.1.2-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/stream_analytics-0.1.1-py3-none-any.whl", + "filename": "stream_analytics-0.1.1-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.3.1", + "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 :: 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", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "License :: OSI Approved :: MIT License" ], "extensions": { @@ -25311,34 +29014,31 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storagesync" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/stream-analytics" } } }, "generator": "bdist_wheel (0.30.0)", "license": "MIT", "metadata_version": "2.0", - "name": "storagesync", - "summary": "Microsoft Azure Command-Line Tools MicrosoftStorageSync Extension", - "version": "0.1.2" + "name": "stream-analytics", + "summary": "Microsoft Azure Command-Line Tools StreamAnalyticsManagementClient Extension", + "version": "0.1.1" }, - "sha256Digest": "498aff0d83037e11a668915788a7a78c981d7241ad31e9fb7cf2f27725253261" - } - ], - "stream-analytics": [ + "sha256Digest": "95fcd5a67813e6961026efcd5fce764ce968c15c1ae03ffd7854e6e0f6c8bebc" + }, { - "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/stream_analytics-0.1.0-py2.py3-none-any.whl", - "filename": "stream_analytics-0.1.0-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/stream_analytics-0.1.2-py3-none-any.whl", + "filename": "stream_analytics-0.1.2-py3-none-any.whl", "metadata": { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.3.1", + "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.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", @@ -25357,7 +29057,7 @@ "description": "DESCRIPTION.rst" }, "project_urls": { - "Home": "https://github.com/Azure/azure-cli-extensions" + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/stream-analytics" } } }, @@ -25365,10 +29065,10 @@ "license": "MIT", "metadata_version": "2.0", "name": "stream-analytics", - "summary": "Microsoft Azure Command-Line Tools stream-analytics Extension", - "version": "0.1.0" + "summary": "Microsoft Azure Command-Line Tools StreamAnalyticsManagementClient Extension", + "version": "0.1.2" }, - "sha256Digest": "e3a9048f289d1b870637e4b13c0ee1e877827834e1f71d31cb8161bacc441388" + "sha256Digest": "6a41159bb00f7974017461c3daec5d24385a50491d2157e82b1853f72d12b62c" } ], "subscription": [ @@ -26057,6 +29757,49 @@ "version": "0.3.0" }, "sha256Digest": "7744f7fabb5b4b74a6d70734f125172bd660efe521a4e8f624fdd4a0be7a2bac" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_network_manager-0.4.0-py3-none-any.whl", + "filename": "virtual_network_manager-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/tree/main/src/network-manager" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "virtual-network-manager", + "summary": "Microsoft Azure Command-Line Tools NetworkManagementClient Extension", + "version": "0.4.0" + }, + "sha256Digest": "6dbaa712585a7fb16fa415a5e3597776a9b0191a70ae63e9dc81fdc732350fdc" } ], "virtual-network-tap": [ @@ -27229,6 +30972,141 @@ "version": "0.3.9" }, "sha256Digest": "d8a13d094c4900114a46778bb7c34f567401850193616d00dd06e02f415ceb81" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/vm_repair-0.4.0-py2.py3-none-any.whl", + "filename": "vm_repair-0.4.0-py2.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 :: 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": "caiddev@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/vm-repair" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "vm-repair", + "summary": "Auto repair commands to fix VMs.", + "version": "0.4.0" + }, + "sha256Digest": "075c1df17bc63b1029cbcffee499143bef02ee1f6bd28ea1bf1f736352630532" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/vm_repair-0.4.1-py2.py3-none-any.whl", + "filename": "vm_repair-0.4.1-py2.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 :: 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": "caiddev@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/vm-repair" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "vm-repair", + "summary": "Auto repair commands to fix VMs.", + "version": "0.4.1" + }, + "sha256Digest": "7dfc648e6dfa0392feb8491af3da54e229edd48bb75421cd554cd5be7e99e149" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/vm_repair-0.4.2-py2.py3-none-any.whl", + "filename": "vm_repair-0.4.2-py2.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 :: 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": "caiddev@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/vm-repair" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "vm-repair", + "summary": "Auto repair commands to fix VMs.", + "version": "0.4.2" + }, + "sha256Digest": "cef2c111ea85fe22d51ee67ed4a88e46d9ac771ec04d5dc411460420d913cd4f" } ], "vmware": [ @@ -27460,6 +31338,39 @@ "version": "4.0.1" }, "sha256Digest": "93008844fbc5b157d17470738899e9f8cd0d09be2970cd045da10b8f8dac360a" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/vmware-4.0.2-py2.py3-none-any.whl", + "filename": "vmware-4.0.2-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.11.0", + "description_content_type": "text/markdown", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/main/src/vmware" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "vmware", + "summary": "Azure VMware Solution commands.", + "version": "4.0.2" + }, + "sha256Digest": "ce2fe71b5095fea0d3762e7c698abf1bb0d7b51cb54a4e841d07493c24ccbbdb" } ], "webapp": [ diff --git a/src/init/HISTORY.rst b/src/init/HISTORY.rst new file mode 100644 index 00000000000..8c34bccfff8 --- /dev/null +++ b/src/init/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/init/README.rst b/src/init/README.rst new file mode 100644 index 00000000000..7d2683ea23b --- /dev/null +++ b/src/init/README.rst @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'init' Extension +========================================== + +This package is for the 'init' extension. +i.e. 'az init' \ No newline at end of file diff --git a/src/init/azext_init/__init__.py b/src/init/azext_init/__init__.py new file mode 100644 index 00000000000..8b3af10675f --- /dev/null +++ b/src/init/azext_init/__init__.py @@ -0,0 +1,29 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader + +from azext_init._help import helps # pylint: disable=unused-import + + +class InitCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + init_custom = CliCommandType( + operations_tmpl='azext_init.custom#{}') + super(InitCommandsLoader, self).__init__(cli_ctx=cli_ctx, custom_command_type=init_custom) + + def load_command_table(self, args): + from azext_init.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_init._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = InitCommandsLoader diff --git a/src/init/azext_init/_bundles.py b/src/init/azext_init/_bundles.py new file mode 100644 index 00000000000..b611d35a0e8 --- /dev/null +++ b/src/init/azext_init/_bundles.py @@ -0,0 +1,60 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +BUILD_IN_INTERACTION_BUNDLES = [ + { + "brief": "Set the default output style to table", + "configuration": "core.output", + "value": "table" + }, + { + "brief": "Return all outputs, not just errors", + "configuration": "core.only_show_errors", + "value": "false", + }, + { + "brief": "Provide recommendations based on the type of error returned", + "configuration": "core.error_recommendation", + "value": "on", + }, + { + "brief": "Increase readability with CLI syntax highlighting", + "configuration": "core.no_color", + "value": "false", + }, + { + "brief": "Display a progress bar for long running commands", + "configuration": "core.disable_progress_bar", + "value": "false", + } +] + +BUILD_IN_AUTOMATION_BUNDLES = [ + { + "brief": "Set the default output style to json", + "configuration": "core.output", + "value": "json" + }, + { + "brief": "Only return errors", + "configuration": "core.only_show_errors", + "value": "true", + }, + { + "brief": "Disable error recommendations", + "configuration": "core.error_recommendation", + "value": "off", + }, + { + "brief": "Disable CLI syntax highlighting", + "configuration": "core.no_color", + "value": "true", + }, + { + "brief": "Display progress bar for long running commands", + "configuration": "core.disable_progress_bar", + "value": "true", + } +] diff --git a/src/init/azext_init/_configs.py b/src/init/azext_init/_configs.py new file mode 100644 index 00000000000..4897fa8ee1e --- /dev/null +++ b/src/init/azext_init/_configs.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. +# -------------------------------------------------------------------------------------------- + + +WALK_THROUGH_CONFIG_LIST = [ + { + "configuration": "core.output", + "brief": "Output format", + "description": "The Azure CLI uses JSON as its default output format. Interactive users usually prefers " + "table output, whereas automation users prefer json or yaml", + "options": [ + { + "option": "JSON", + "value": "json", + "desc": "JSON formatted output that most closely matches API responses.", + "tag": "default" + }, + { + "option": "JSONC", + "value": "jsonc", + "desc": "Colored JSON formatted output that most closely matches API responses." + }, + { + "option": "Table", + "value": "table", + "desc": "Human-readable output format." + }, + { + "option": "TSV", + "value": "tsv", + "desc": "Tab- and Newline-delimited. Great for GREP, AWK, etc." + }, + { + "option": "YAML", + "value": "yaml", + "desc": "YAML formatted output. An alternative to JSON. Great for configuration files." + }, + { + "option": "YAMLC", + "value": "yamlc", + "desc": "Colored YAML formatted output. An alternative to JSON. Great for configuration files." + }, + { + "option": "None", + "value": "none", + "desc": "No output, except for errors and warnings." + } + ] + }, + { + "configuration": "core.only_show_errors", + "brief": "Standard error stream (stderr)", + "description": "This options to control whether only error messages are showed in stderr stream", + "options": [ + { + "option": "All events", + "value": "false", + "desc": "The stderr stream shows all events, including errors and system messages", + "tag": "default" + }, + { + "option": "Errors only", + "value": "true", + "desc": "The stderr stream shows error messages only" + } + ] + }, + { + "configuration": "core.error_recommendation", + "brief": "Error output", + "description": "This options to enable/disable message recommendations which ease your error recovery", + "options": [ + { + "option": "Show recommendations", + "value": "on", + "desc": "Error message might include recommendations or Help links", + "tag": "default" + }, + { + "option": "Hide recommendations", + "value": "off", + "desc": "Error messages will only show the error" + } + ] + }, + { + "configuration": "core.no_color", + "brief": "Syntax highlighting", + "description": "This options to enable/disable colored syntax highlighting", + "options": [ + { + "option": "On", + "value": "false", + "desc": "Colored syntax highlighting. Easier for humans to read", + "tag": "default" + }, + { + "option": "Off", + "value": "true", + "desc": "Monochrome text. Harder for humans to read" + } + ] + }, + { + "configuration": "core.disable_progress_bar", + "brief": "Progress Bar", + "description": "This option is used to enable/disable the progress bar for long running commands", + "options": [ + { + "option": "On", + "value": "false", + "desc": "The progress bar will be displayed in stderr during long running commands", + "tag": "default" + }, + { + "option": "Off", + "value": "true", + "desc": "Disable the progress bar during long running commands" + } + ] + } +] diff --git a/src/init/azext_init/_help.py b/src/init/azext_init/_help.py new file mode 100644 index 00000000000..032f9e72fbc --- /dev/null +++ b/src/init/azext_init/_help.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. +# -------------------------------------------------------------------------------------------- + +from knack.help_files import helps # pylint: disable=unused-import + + +helps['init'] = """ + type: command + short-summary: It's an effortless setting up tool for configs. +""" diff --git a/src/datashare/azext_datashare/_params.py b/src/init/azext_init/_params.py similarity index 58% rename from src/datashare/azext_datashare/_params.py rename to src/init/azext_init/_params.py index d1283049baf..a9350b3679d 100644 --- a/src/datashare/azext_datashare/_params.py +++ b/src/init/azext_init/_params.py @@ -2,15 +2,12 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -# pylint: disable=wildcard-import -# pylint: disable=unused-wildcard-import +# pylint: disable=line-too-long -try: - from .generated._params import * # noqa: F403 -except ImportError: - pass +from knack.arguments import CLIArgumentType # pylint: disable=unused-import -try: - from .manual._params import * # noqa: F403 -except ImportError: - pass + +def load_arguments(self, _): # pylint: disable=unused-argument + + with self.argument_context('init'): + pass diff --git a/src/init/azext_init/_text.py b/src/init/azext_init/_text.py new file mode 100644 index 00000000000..e7aca5b0389 --- /dev/null +++ b/src/init/azext_init/_text.py @@ -0,0 +1,77 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +CONTENT_INDENT_BROADBAND = " " + +MSG_WELCOME = "\nWelcome to AZ INIT! This command will guide you to set up common config\n" + +MSG_SELECT_STEP = "\nSelect an option by typing it's number\n" + +MSG_INPUT_SELECTION = "Your selection: " + +MSG_CURRENT_SETTINGS = "Your current config settings:\n" + +MSG_NO_CONFIGURATION = "You have no existing config in place. Let's get started!\n" + +MSG_BUILD_IN_INTERACTION_BUNDLES = "human readability and interaction" + +MSG_BUILD_IN_AUTOMATION_BUNDLES = "machine scripting and automation" + +MSG_BUNDLE_SETTING_APPLIED = "Optimized for {}! Your new config settings:\n" + +MSG_RECOMMEND_BUNDLE_SETTINGS = "For {}, we recommend the following settings:\n" + +MSG_THANKS_FOR_TRYING = "Thank you for trying it!\n" + +MSG_CUSTOM_SETTING_APPLIED = "Custom config settings applied! Your new config settings:\n" + +MSG_MORE_CONFIG_SETTINGS = "More config settings: " + +MSG_MORE_CONFIG_LINK = "https://aka.ms/config_ref" + +MSG_MORE_COMMANDS_PROMPT = "\nCommands to try:\n" + +INIT_STEP_OPTION_LIST = [ + { + "option": "Optimize for interaction", + "desc": "These settings improve the output legibility and optimize for human interaction" + }, + { + "option": "Optimize for automation", + "desc": "These settings optimize for machine efficiency" + }, + { + "option": "Customize settings", + "desc": "A walk through to customize common configurations" + }, + { + "option": "Exit", + "desc": "Return to the command prompt", + "tag": "default" + } +] + +MORE_COMMANDS_LIST = [ + { + "option": "az config set .=", + "desc": "Set a config.", + }, + { + "option": "az config get", + "desc": "Display your config summary.", + }, + { + "option": "az --help", + "desc": "Display help related to a command or sub-command.", + }, + { + "option": "az next", + "desc": "Find the next set of commands.", + }, + { + "option": "az interactive", + "desc": "Start an interactive mode designed to help you learn.", + } +] diff --git a/src/init/azext_init/_utils.py b/src/init/azext_init/_utils.py new file mode 100644 index 00000000000..d5672eb39b1 --- /dev/null +++ b/src/init/azext_init/_utils.py @@ -0,0 +1,82 @@ +# -------------------------------------------------------------------------------------------- +# 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.style import print_styled_text, Style + + +def read_int(default_value=0): + ret = input() + if ret == '' or ret is None: + return default_value + while not ret.isnumeric(): + ret = ret.strip() + if ret.isnumeric(): + break + + ret = input("Please input a legal number: ") + if ret == '' or ret is None: + return default_value + return int(ret) + + +def get_yes_or_no_option(option_description): + print_styled_text([(Style.ACTION, ' ? '), (Style.PRIMARY, option_description)], end='') + option = input() + yes_options = ["y", "yes", "Y", "Yes", "YES"] + no_options = ["n", "no", "N", "No", "NO"] + while (option not in yes_options) and (option not in no_options): + option = input("This option can only be Yes or No, please input again: ") + return option in yes_options + + +def get_int_option(option_description, min_option, max_option, default_option): + print_styled_text([(Style.ACTION, ' ? '), (Style.PRIMARY, option_description)], end='') + option = read_int(default_option) + while option < min_option or option > max_option: + print_styled_text([(Style.PRIMARY, "Please input available option ({}-{}): ".format(min_option, max_option))], + end='') + option = read_int(default_option) + return option + + +def print_successful_styled_text(message): + from azure.cli.core.style import is_modern_terminal + + prefix_text = '\nDone: ' + if is_modern_terminal(): + prefix_text = '\n(✓)Done: ' + prompt_text = [(Style.SUCCESS, prefix_text)] + + message_text = message + if isinstance(message, str): + message_text = [(Style.PRIMARY, message)] + prompt_text.extend(message_text) + + print_styled_text(prompt_text) + + +def prompt_option_list(option_list, start_index=1, content_indent=None): + + if not option_list or not isinstance(option_list, list): + return + + for index, choice_item in enumerate(option_list): + if 'option' not in choice_item or not choice_item['option']: + continue + + option_item = [(Style.ACTION, "[" + str(index + start_index) + "] "), (Style.PRIMARY, choice_item['option'])] + if content_indent: + option_item.insert(0, (Style.PRIMARY, content_indent)) + if 'tag' in choice_item and choice_item['tag']: + option_item.append((Style.SECONDARY, " ({})".format(choice_item['tag']))) + if 'secondary' in choice_item and choice_item['secondary']: + option_item.append((Style.SECONDARY, " {}".format(choice_item['secondary']))) + print_styled_text(option_item) + + if 'desc' in choice_item and choice_item['desc']: + desc_item = [(Style.PRIMARY, ' '), (Style.SECONDARY, choice_item['desc'])] + if content_indent: + desc_item.insert(0, (Style.PRIMARY, content_indent)) + print_styled_text(desc_item) + print() diff --git a/src/init/azext_init/azext_metadata.json b/src/init/azext_init/azext_metadata.json new file mode 100644 index 00000000000..55c81bf3328 --- /dev/null +++ b/src/init/azext_init/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67" +} \ No newline at end of file diff --git a/src/init/azext_init/commands.py b/src/init/azext_init/commands.py new file mode 100644 index 00000000000..1dce160e71d --- /dev/null +++ b/src/init/azext_init/commands.py @@ -0,0 +1,10 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def load_command_table(self, _): + + with self.command_group('') as g: + g.custom_command('init', 'handle_init', is_experimental=True) diff --git a/src/init/azext_init/custom.py b/src/init/azext_init/custom.py new file mode 100644 index 00000000000..57eba0037e8 --- /dev/null +++ b/src/init/azext_init/custom.py @@ -0,0 +1,202 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +from knack.log import get_logger +from azure.cli.core.style import Style, print_styled_text + +from ._utils import prompt_option_list, get_int_option, print_successful_styled_text, get_yes_or_no_option +from ._text import (MSG_WELCOME, MSG_SELECT_STEP, MSG_INPUT_SELECTION, MSG_CURRENT_SETTINGS, MSG_NO_CONFIGURATION, + MSG_BUNDLE_SETTING_APPLIED, INIT_STEP_OPTION_LIST, MSG_CUSTOM_SETTING_APPLIED, + MSG_MORE_CONFIG_SETTINGS, MSG_MORE_CONFIG_LINK, CONTENT_INDENT_BROADBAND, MSG_MORE_COMMANDS_PROMPT, + MORE_COMMANDS_LIST, MSG_BUILD_IN_INTERACTION_BUNDLES, MSG_BUILD_IN_AUTOMATION_BUNDLES, + MSG_RECOMMEND_BUNDLE_SETTINGS, MSG_THANKS_FOR_TRYING) +from ._bundles import BUILD_IN_INTERACTION_BUNDLES, BUILD_IN_AUTOMATION_BUNDLES +from ._configs import WALK_THROUGH_CONFIG_LIST + +logger = get_logger(__name__) + + +def handle_init(cmd): + + print_styled_text((Style.PRIMARY, MSG_WELCOME)) + + load_existing_configuration(cmd) + + print_styled_text((Style.PRIMARY, MSG_SELECT_STEP)) + prompt_option_list(INIT_STEP_OPTION_LIST, content_indent=CONTENT_INDENT_BROADBAND) + selected_option = get_int_option(MSG_INPUT_SELECTION, 1, 4, 4) + print() + + if selected_option == 1: + set_build_in_bundles(cmd, BUILD_IN_INTERACTION_BUNDLES, MSG_BUILD_IN_INTERACTION_BUNDLES) + + if selected_option == 2: + set_build_in_bundles(cmd, BUILD_IN_AUTOMATION_BUNDLES, MSG_BUILD_IN_AUTOMATION_BUNDLES) + + if selected_option == 3: + handle_walk_through(cmd, WALK_THROUGH_CONFIG_LIST) + + if selected_option == 4: + print_styled_text((Style.PRIMARY, CONTENT_INDENT_BROADBAND + MSG_THANKS_FOR_TRYING)) + + +def load_existing_configuration(cmd): + has_existing_configs = False + for config_item in WALK_THROUGH_CONFIG_LIST: + section, option = config_item["configuration"].split('.') + exists_config_value = _get_existing_config_value(cmd, section, option) + if exists_config_value is None: + continue + + if not has_existing_configs: + print_styled_text((Style.PRIMARY, MSG_CURRENT_SETTINGS)) + has_existing_configs = True + + option_meaning = _get_option_meaning(exists_config_value, config_item["options"]) + print_styled_text([(Style.PRIMARY, "{}: {} ".format(CONTENT_INDENT_BROADBAND + config_item["brief"], + option_meaning))]) + print_styled_text((Style.SECONDARY, CONTENT_INDENT_BROADBAND + "[{} = {}]".format(config_item["configuration"], + exists_config_value))) + print() + + if not has_existing_configs: + print_styled_text((Style.PRIMARY, MSG_NO_CONFIGURATION)) + + +def set_build_in_bundles(cmd, bundles, bundle_name): + config_info_map = {} + for config_item in WALK_THROUGH_CONFIG_LIST: + config_info_map[config_item["configuration"]] = config_item + + print_styled_text((Style.PRIMARY, CONTENT_INDENT_BROADBAND + MSG_RECOMMEND_BUNDLE_SETTINGS.format(bundle_name))) + for bundle_item in bundles: + config_info = config_info_map[bundle_item["configuration"]] + option_meaning = _get_option_meaning(bundle_item["value"], config_info["options"]) + print_styled_text([(Style.PRIMARY, "{}{}: ".format(CONTENT_INDENT_BROADBAND, config_info["brief"])), + (Style.IMPORTANT, option_meaning)]) + print_styled_text((Style.PRIMARY, CONTENT_INDENT_BROADBAND + bundle_item["brief"])) + print_styled_text((Style.SECONDARY, CONTENT_INDENT_BROADBAND + "[{} = {}]".format(bundle_item["configuration"], + bundle_item["value"]))) + print() + + confirmation = get_yes_or_no_option("Are you sure to apply these settings? (y/n): ") + if not confirmation: + print_styled_text((Style.PRIMARY, "\n" + CONTENT_INDENT_BROADBAND + MSG_THANKS_FOR_TRYING)) + return + + bundle_settings = {} + for bundle_item in bundles: + section, option = bundle_item["configuration"].split('.') + original_config_value = _get_existing_config_value(cmd, section, option) + + cmd.cli_ctx.config.set_value(section, option, bundle_item["value"]) + + config_info = config_info_map[bundle_item["configuration"]] + option_meaning = _get_option_meaning(bundle_item["value"], config_info["options"]) + bundle_settings[bundle_item["configuration"]] = { + "brief": config_info["brief"], + "option": option_meaning, + "configuration": bundle_item["configuration"], + "value": bundle_item["value"], + "modify_status": _get_modify_status(original_config_value, bundle_item["value"]) + } + + print_successful_styled_text(MSG_BUNDLE_SETTING_APPLIED.format(bundle_name)) + _get_config_setting_status(bundle_settings) + + _get_more_commands() + + +def handle_walk_through(cmd, config_list): + + custom_settings = {} + for config_item in config_list: + print_styled_text((Style.PRIMARY, "{}:\n".format(config_item["brief"]))) + print_styled_text((Style.PRIMARY, "{}\n".format(config_item["description"]))) + prompt_option_list(config_item["options"], content_indent=CONTENT_INDENT_BROADBAND) + + default_value = 1 + for index, option_item in enumerate(config_item["options"]): + if "tag" in option_item and option_item["tag"] == "default": + default_value = index + 1 + break + + selected_option = get_int_option(MSG_INPUT_SELECTION, 1, len(config_item["options"]), default_value) + selected_item = config_item["options"][selected_option - 1] + + section, option = config_item["configuration"].split('.') + original_config_value = _get_existing_config_value(cmd, section, option) + + cmd.cli_ctx.config.set_value(section, option, selected_item["value"]) + + print_successful_styled_text([(Style.PRIMARY, "{} set to: ".format(config_item["brief"])), + (Style.IMPORTANT, selected_item["option"])]) + + custom_settings[config_item["configuration"]] = { + "brief": config_item["brief"], + "option": selected_item["option"], + "configuration": config_item["configuration"], + "value": selected_item["value"], + "modify_status": _get_modify_status(original_config_value, selected_item["value"]) + } + + print_successful_styled_text(MSG_CUSTOM_SETTING_APPLIED) + _get_config_setting_status(custom_settings) + + _get_more_commands() + + +def _get_existing_config_value(cmd, section, option): + from configparser import NoOptionError, NoSectionError + + try: + original_config_value = cmd.cli_ctx.config.get(section, option) + except (NoOptionError, NoSectionError): + return None + + return original_config_value + + +def _get_option_meaning(option_value, option_list): + option_meaning = option_value + for option_item in option_list: + if option_item['value'] == option_value: + option_meaning = option_item['option'] + break + return option_meaning + + +def _get_modify_status(original_value, new_value): + if not original_value: + return "(added)" + + if original_value != new_value: + return "(changed)" + + return None + + +def _get_config_setting_status(custom_settings): + for setting_item in custom_settings.values(): + setting_status = [(Style.PRIMARY, "{}: {} ".format(CONTENT_INDENT_BROADBAND + setting_item["brief"], + setting_item["option"]))] + if setting_item["modify_status"]: + setting_status.append((Style.IMPORTANT, setting_item["modify_status"])) + print_styled_text(setting_status) + + print_styled_text((Style.SECONDARY, CONTENT_INDENT_BROADBAND + + "[{} = {}]".format(setting_item["configuration"], setting_item["value"]))) + print() + + print_styled_text([(Style.PRIMARY, CONTENT_INDENT_BROADBAND + MSG_MORE_CONFIG_SETTINGS), + (Style.HYPERLINK, MSG_MORE_CONFIG_LINK)]) + + +def _get_more_commands(): + print_styled_text((Style.PRIMARY, CONTENT_INDENT_BROADBAND + MSG_MORE_COMMANDS_PROMPT)) + + for more_commands_item in MORE_COMMANDS_LIST: + print_styled_text([(Style.PRIMARY, CONTENT_INDENT_BROADBAND + more_commands_item['option'])]) + print_styled_text([(Style.SECONDARY, CONTENT_INDENT_BROADBAND + more_commands_item['desc'])]) + print() diff --git a/src/init/azext_init/tests/__init__.py b/src/init/azext_init/tests/__init__.py new file mode 100644 index 00000000000..2dcf9bb68b3 --- /dev/null +++ b/src/init/azext_init/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. +# ----------------------------------------------------------------------------- \ No newline at end of file diff --git a/src/init/azext_init/tests/latest/__init__.py b/src/init/azext_init/tests/latest/__init__.py new file mode 100644 index 00000000000..2dcf9bb68b3 --- /dev/null +++ b/src/init/azext_init/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. +# ----------------------------------------------------------------------------- \ No newline at end of file diff --git a/src/init/setup.cfg b/src/init/setup.cfg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/init/setup.py b/src/init/setup.py new file mode 100644 index 00000000000..73e8bdf53a9 --- /dev/null +++ b/src/init/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 +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 = [] + +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='init', + version=VERSION, + description='Microsoft Azure Command-Line Tools Init Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: change to your extension source code repo if the code will not be put in azure-cli-extensions repo + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/init', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_init': ['azext_metadata.json']}, +) \ No newline at end of file diff --git a/src/interactive/setup.py b/src/interactive/setup.py index c13d9dd843d..452ea939aeb 100644 --- a/src/interactive/setup.py +++ b/src/interactive/setup.py @@ -48,7 +48,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/interactive', classifiers=CLASSIFIERS, package_data={'azext_interactive': ['azext_metadata.json']}, packages=find_packages(exclude=["tests"]), diff --git a/src/internet-analyzer/azext_internet_analyzer/tests/latest/test_internet-analyzer_scenario.py b/src/internet-analyzer/azext_internet_analyzer/tests/latest/test_internet-analyzer_scenario.py index cf89dafa115..a72607a38da 100644 --- a/src/internet-analyzer/azext_internet_analyzer/tests/latest/test_internet-analyzer_scenario.py +++ b/src/internet-analyzer/azext_internet_analyzer/tests/latest/test_internet-analyzer_scenario.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) diff --git a/src/internet-analyzer/setup.py b/src/internet-analyzer/setup.py index d9ce1e856a8..6a5c361e431 100644 --- a/src/internet-analyzer/setup.py +++ b/src/internet-analyzer/setup.py @@ -49,7 +49,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/internet-analyzer', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/internet-analyzer', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/ip-group/azext_ip_group/tests/latest/test_ip_group_scenario.py b/src/ip-group/azext_ip_group/tests/latest/test_ip_group_scenario.py index 2166c22fe3a..ea4a9433aa6 100644 --- a/src/ip-group/azext_ip_group/tests/latest/test_ip_group_scenario.py +++ b/src/ip-group/azext_ip_group/tests/latest/test_ip_group_scenario.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) diff --git a/src/ip-group/setup.py b/src/ip-group/setup.py index 3964f8c19a9..12117aae568 100644 --- a/src/ip-group/setup.py +++ b/src/ip-group/setup.py @@ -47,7 +47,7 @@ description='Microsoft Azure Command-Line Tools IpGroup Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/ip-group', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/ip-group', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/k8s-configuration/HISTORY.rst b/src/k8s-configuration/HISTORY.rst index 830db4ca2e2..4c8d242171b 100644 --- a/src/k8s-configuration/HISTORY.rst +++ b/src/k8s-configuration/HISTORY.rst @@ -3,6 +3,22 @@ Release History =============== +1.4.1 +++++++++++++++++++ +* [BREAKING CHANGE] `--access-key` changed to `--bucket-access-key` +* [BREAKING CHANGE] `--secret-key` changed to `--bucket-secret-key` +* [BREAKING CHANGE] `--insecure` changed to `--bucket-insecure` +* Fix help text for bucket parameters + +1.4.0 +++++++++++++++++++ +* Add `--kind bucket` for creation of S3 bucket as source for fluxConfigurations + +1.3.0 +++++++++++++++++++ +* Add `deployed-object` command group for showing deployed Flux objects from configuration +* Show extension error when `microsoft.flux` extension is in a failed state + 1.2.0 ++++++++++++++++++ * Add Flux v2 support with command subgroups diff --git a/src/k8s-configuration/azext_k8s_configuration/__init__.py b/src/k8s-configuration/azext_k8s_configuration/__init__.py index ea33c66418f..0951f5c1594 100644 --- a/src/k8s-configuration/azext_k8s_configuration/__init__.py +++ b/src/k8s-configuration/azext_k8s_configuration/__init__.py @@ -9,23 +9,25 @@ class K8sConfigurationCommandsLoader(AzCommandsLoader): - def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType from azext_k8s_configuration._client_factory import k8s_configuration_client + k8s_configuration_custom = CliCommandType( - operations_tmpl='azext_k8s_configuration.custom#{}', - client_factory=k8s_configuration_client) - super().__init__(cli_ctx=cli_ctx, - custom_command_type=k8s_configuration_custom) + operations_tmpl="azext_k8s_configuration.custom#{}", + client_factory=k8s_configuration_client, + ) + super().__init__(cli_ctx=cli_ctx, custom_command_type=k8s_configuration_custom) def load_command_table(self, args): from azext_k8s_configuration.commands import load_command_table + load_command_table(self, args) return self.command_table def load_arguments(self, command): from azext_k8s_configuration._params import load_arguments + load_arguments(self, command) diff --git a/src/k8s-configuration/azext_k8s_configuration/_client_factory.py b/src/k8s-configuration/azext_k8s_configuration/_client_factory.py index 372adc3f1fd..31575613e5f 100644 --- a/src/k8s-configuration/azext_k8s_configuration/_client_factory.py +++ b/src/k8s-configuration/azext_k8s_configuration/_client_factory.py @@ -10,39 +10,51 @@ def k8s_configuration_client(cli_ctx, **kwargs): from azext_k8s_configuration.vendored_sdks import SourceControlConfigurationClient + return get_mgmt_service_client(cli_ctx, SourceControlConfigurationClient, **kwargs) def k8s_configuration_fluxconfig_client(cli_ctx, *_): - return k8s_configuration_client(cli_ctx, api_version=consts.FLUXCONFIG_API_VERSION).flux_configurations + return k8s_configuration_client( + cli_ctx, api_version=consts.FLUXCONFIG_API_VERSION + ).flux_configurations def k8s_configuration_sourcecontrol_client(cli_ctx, *_): return k8s_configuration_client( - cli_ctx, - api_version=consts.SOURCE_CONTROL_API_VERSION + cli_ctx, api_version=consts.SOURCE_CONTROL_API_VERSION ).source_control_configurations def k8s_configuration_extension_client(cli_ctx, *_): - return k8s_configuration_client(cli_ctx, api_version=consts.EXTENSION_API_VERSION).extensions + return k8s_configuration_client( + cli_ctx, api_version=consts.EXTENSION_API_VERSION + ).extensions def resource_providers_client(cli_ctx): from azure.mgmt.resource import ResourceManagementClient + return get_mgmt_service_client(cli_ctx, ResourceManagementClient).providers def cf_resource_groups(cli_ctx, subscription_id=None): - return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, - subscription_id=subscription_id).resource_groups + return get_mgmt_service_client( + cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, subscription_id=subscription_id + ).resource_groups def cf_resources(cli_ctx, subscription_id=None): - return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, - subscription_id=subscription_id).resources + return get_mgmt_service_client( + cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, subscription_id=subscription_id + ).resources def cf_log_analytics(cli_ctx, subscription_id=None): - from azure.mgmt.loganalytics import LogAnalyticsManagementClient # pylint: disable=no-name-in-module - return get_mgmt_service_client(cli_ctx, LogAnalyticsManagementClient, subscription_id=subscription_id) + from azure.mgmt.loganalytics import ( + LogAnalyticsManagementClient, + ) # pylint: disable=no-name-in-module + + return get_mgmt_service_client( + cli_ctx, LogAnalyticsManagementClient, subscription_id=subscription_id + ) diff --git a/src/k8s-configuration/azext_k8s_configuration/_help.py b/src/k8s-configuration/azext_k8s_configuration/_help.py index 91c50291288..8b6c6dc04f8 100644 --- a/src/k8s-configuration/azext_k8s_configuration/_help.py +++ b/src/k8s-configuration/azext_k8s_configuration/_help.py @@ -6,12 +6,16 @@ from knack.help_files import helps # pylint: disable=unused-import -helps['k8s-configuration'] = """ +helps[ + "k8s-configuration" +] = """ type: group short-summary: Commands to manage resources from Microsoft.KubernetesConfiguration. """ -helps['k8s-configuration create'] = """ +helps[ + "k8s-configuration create" +] = """ type: command short-summary: Create a Flux v1 Kubernetes configuration (This command is for Flux v1, to use the newer Flux v2, run "az k8s-configuration flux create"). examples: @@ -26,7 +30,9 @@ --ssh-known-hosts '' --ssh-known-hosts-file '' """ -helps['k8s-configuration list'] = """ +helps[ + "k8s-configuration list" +] = """ type: command short-summary: List Flux v1 Kubernetes configurations (This command is for Flux v1, to use the newer Flux v2, run "az k8s-configuration flux list"). examples: @@ -36,7 +42,9 @@ --cluster-type connectedClusters """ -helps['k8s-configuration delete'] = """ +helps[ + "k8s-configuration delete" +] = """ type: command short-summary: Delete a Flux v1 Kubernetes configuration (This command is for Flux v1, to use the newer Flux v2, run "az k8s-configuration flux delete"). examples: @@ -46,7 +54,9 @@ --cluster-type connectedClusters --name MyConfigurationName """ -helps['k8s-configuration show'] = """ +helps[ + "k8s-configuration show" +] = """ type: command short-summary: Show details of a Flux v1 Kubernetes configuration (This command is for Flux v1, to use the newer Flux v2, run "az k8s-configuration flux show"). examples: @@ -56,121 +66,190 @@ --cluster-type connectedClusters --name MyConfigurationName """ -helps['k8s-configuration flux'] = """ +helps[ + "k8s-configuration flux" +] = """ type: group short-summary: Commands to manage Flux v2 Kubernetes configurations. """ -helps['k8s-configuration flux create'] = """ +helps[ + "k8s-configuration flux create" +] = """ type: command - short-summary: Create a Kubernetes Flux v2 Configuration. + short-summary: Create a Flux v2 Kubernetes configuration. examples: - - name: Create a Kubernetes v2 Flux Configuration + - name: Create a Flux v2 Kubernetes configuration text: |- az k8s-configuration flux create --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters \\ --name myconfig --scope cluster --namespace my-namespace \\ --kind git --url https://github.com/Azure/arc-k8s-demo \\ --branch main --kustomization name=my-kustomization + - name: Create a Kubernetes v2 Flux Configuration with Bucket Source Kind + text: |- + az k8s-configuration flux create --resource-group my-resource-group \\ + --cluster-name mycluster --cluster-type connectedClusters \\ + --name myconfig --scope cluster --namespace my-namespace \\ + --kind bucket --url https://bucket-provider.minio.io \\ + --bucket-name my-bucket --kustomization name=my-kustomization \\ + --bucket-access-key my-access-key --bucket-secret-key my-secret-key """ -helps['k8s-configuration flux update'] = """ +helps[ + "k8s-configuration flux update" +] = """ type: command - short-summary: Update a Kubernetes Flux v2 Configuration. + short-summary: Update a Flux v2 Kubernetes configuration. examples: - - name: Update a Kubernetes v2 Flux Configuration + - name: Update a Flux v2 Kubernetes configuration text: |- az k8s-configuration flux update --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters --name myconfig \\ --url https://github.com/Azure/arc-k8s-demo --branch main \\ --kustomization name=my-kustomization path=./my/new-path + - name: Update a Flux v2 Kubernetse configuration with Bucket Source Kind to connect insecurely + text: |- + az k8s-configuration flux update --resource-group my-resource-group \\ + --cluster-name mycluster --cluster-type connectedClusters --name myconfig \\ + --bucket-insecure """ -helps['k8s-configuration flux list'] = """ +helps[ + "k8s-configuration flux list" +] = """ type: command - short-summary: List Kubernetes Flux v2 Configurations. + short-summary: List all Flux v2 Kubernetes configurations. examples: - - name: List all Kubernetes Flux v2 Configurations on a cluster + - name: List Flux v2 Kubernetes configurations on a cluster text: |- az k8s-configuration flux list --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters """ -helps['k8s-configuration flux show'] = """ +helps[ + "k8s-configuration flux show" +] = """ type: command - short-summary: Show a Kubernetes Flux v2 Configuration. + short-summary: Show a Flux v2 Kubernetes configuration. examples: - - name: Show details of a Kubernetes Flux v2 Configuration + - name: Show details of a Flux v2 Kubernetes configuration text: |- az k8s-configuration flux show --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters --name myconfig """ -helps['k8s-configuration flux delete'] = """ +helps[ + "k8s-configuration flux delete" +] = """ type: command - short-summary: Delete a Kubernetes Flux v2 Configuration. + short-summary: Delete a Flux v2 Kubernetes configuration. examples: - - name: Delete an existing Kubernetes Flux v2 Configuration + - name: Delete an existing Flux v2 Kubernetes configuration text: |- az k8s-configuration flux delete --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters --name myconfig """ -helps['k8s-configuration flux kustomization'] = """ +helps[ + "k8s-configuration flux kustomization" +] = """ type: group short-summary: Commands to manage Kustomizations associated with Flux v2 Kubernetes configurations. """ -helps['k8s-configuration flux kustomization create'] = """ +helps[ + "k8s-configuration flux kustomization create" +] = """ type: command - short-summary: Create a Kustomization associated with a Kubernetes Flux v2 Configuration. + short-summary: Create a Kustomization associated with a Flux v2 Kubernetes configuration. examples: - - name: Create a Kustomization associated wiht a Kubernetes v2 Flux Configuration + - name: Create a Kustomization associated with a Flux v2 Kubernetes configuration text: |- az k8s-configuration flux kustomization create --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters --name myconfig \\ --kustomization-name my-kustomization-2 --path ./my/path --prune --force """ -helps['k8s-configuration flux kustomization update'] = """ +helps[ + "k8s-configuration flux kustomization update" +] = """ type: command - short-summary: Update a Kustomization associated with a Kubernetes Flux v2 Configuration. + short-summary: Update a Kustomization associated with a Flux v2 Kubernetes configuration. examples: - - name: Update a Kustomization associated with a Kubernetes v2 Flux Configuration + - name: Update a Kustomization associated with a Flux v2 Kubernetes configuration text: |- az k8s-configuration flux kustomization update --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters --name myconfig \\ --kustomization-name my-kustomization --path ./my/new-path --prune --force """ -helps['k8s-configuration flux kustomization list'] = """ +helps[ + "k8s-configuration flux kustomization list" +] = """ type: command - short-summary: List Kustomizations associated with a Kubernetes Flux v2 Configuration. + short-summary: List Kustomizations associated with a Flux v2 Kubernetes configuration. examples: - - name: List all Kustomizations associated with a Kubernetes Flux v2 Configuration on a cluster + - name: List all Kustomizations associated with a Flux v2 Kubernetes configuration text: |- az k8s-configuration flux kustomization list --resource-group my-resource-group \\ --cluster-name mycluster --name myconfig --cluster-type connectedClusters """ -helps['k8s-configuration flux kustomization show'] = """ +helps[ + "k8s-configuration flux kustomization show" +] = """ type: command - short-summary: Show a Kustomization associated with a Flux v2 Configuration. + short-summary: Show a Kustomization associated with a Flux v2 Kubernetes configuration. examples: - - name: Show details of a Kustomization associated with a Kubernetes Flux v2 Configuration + - name: Show details of a Kustomization associated with a Flux v2 Kubernetes configuration text: |- az k8s-configuration flux kustomization show --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters --name myconfig \\ --kustomization-name my-kustomization """ -helps['k8s-configuration flux kustomization delete'] = """ +helps[ + "k8s-configuration flux kustomization delete" +] = """ type: command - short-summary: Delete a Kustomization associated with a Kubernetes Flux v2 Configuration. + short-summary: Delete a Kustomization associated with a Flux v2 Kubernetes configuration. examples: - - name: Delete an existing Kustomization associated with a Kubernetes Flux v2 Configuration + - name: Delete an existing Kustomization associated with a Flux v2 Kubernetes configuration text: |- az k8s-configuration flux kustomization delete --resource-group my-resource-group \\ --cluster-name mycluster --cluster-type connectedClusters --name myconfig \\ --kustomization-name my-kustomization """ + +helps[ + "k8s-configuration flux deployed-object" +] = """ + type: group + short-summary: Commands to see deployed objects associated with Flux v2 Kubernetes configurations. +""" + +helps[ + "k8s-configuration flux deployed-object list" +] = """ + type: command + short-summary: List deployed objects associated with a Flux v2 Kubernetes configuration. + examples: + - name: List all deployed objects associated with a Flux v2 Kubernetes configuration + text: |- + az k8s-configuration flux deployed-object list --resource-group my-resource-group \\ + --cluster-name mycluster --name myconfig --cluster-type connectedClusters +""" + +helps[ + "k8s-configuration flux deployed-object show" +] = """ + type: command + short-summary: Show a deployed object associated with a Flux v2 Kubernetes configuration. + examples: + - name: Show details of a deployed object associated with a Flux v2 Kubernetes configuration + text: |- + az k8s-configuration flux deployed-object show --resource-group my-resource-group \\ + --cluster-name mycluster --cluster-type connectedClusters --name myconfig \\ + --object-name my-object --object-namespace my-namespace --object-kind GitRepository +""" diff --git a/src/k8s-configuration/azext_k8s_configuration/_params.py b/src/k8s-configuration/azext_k8s_configuration/_params.py index ed96f429ec5..d763f1c3ee2 100644 --- a/src/k8s-configuration/azext_k8s_configuration/_params.py +++ b/src/k8s-configuration/azext_k8s_configuration/_params.py @@ -9,14 +9,14 @@ from azure.cli.core.commands.parameters import ( get_enum_type, get_three_state_flag, - tags_type + tags_type, ) from .validators import ( validate_configuration_name, validate_fluxconfig_name, validate_namespace, validate_operator_instance_name, - validate_operator_namespace + validate_operator_namespace, ) from .action import ( @@ -26,181 +26,322 @@ def load_arguments(self, _): - with self.argument_context('k8s-configuration') as c: - c.argument('tags', tags_type) - c.argument('location', validator=get_default_location_from_resource_group) - c.argument('cluster_name', - options_list=['--cluster-name', '-c'], - help='Name of the Kubernetes cluster') - c.argument('cluster_type', - options_list=['--cluster-type', '-t'], - arg_type=get_enum_type(['connectedClusters', 'managedClusters']), - help='Specify Arc connected clusters or AKS managed clusters.') + with self.argument_context("k8s-configuration") as c: + c.argument("tags", tags_type) + c.argument("location", validator=get_default_location_from_resource_group) + c.argument( + "cluster_name", + options_list=["--cluster-name", "-c"], + help="Name of the Kubernetes cluster", + ) + c.argument( + "cluster_type", + options_list=["--cluster-type", "-t"], + arg_type=get_enum_type(["connectedClusters", "managedClusters"]), + help="Specify Arc connected clusters or AKS managed clusters.", + ) - with self.argument_context('k8s-configuration flux') as c: - c.argument('name', - options_list=['--name', '-n'], - help='Name of the flux configuration', - validator=validate_fluxconfig_name) - c.argument('scope', - options_list=['--scope', '-s'], - arg_type=get_enum_type(['namespace', 'cluster']), - help="Specify scope of the operator to be 'namespace' or 'cluster'") - c.argument('namespace', - help='Namespace to deploy the configuration', - options_list=['--namespace', '--ns'], - validator=validate_namespace) - c.argument('kind', - arg_type=get_enum_type([consts.GIT]), - help='Source kind to reconcile') - c.argument('url', - options_list=['--url', '-u'], - help='URL of the git repo source to reconcile') - c.argument('timeout', - help='Maximum time to reconcile the source before timing out') - c.argument('sync_interval', - options_list=['--interval', '--sync-interval'], - help='Time between reconciliations of the source on the cluster') - c.argument('branch', - arg_group="Git Repo Ref", - help='Branch within the git source to reconcile with the cluster') - c.argument('tag', - arg_group="Git Repo Ref", - help='Tag within the git source to reconcile with the cluster') - c.argument('semver', - arg_group="Git Repo Ref", - help='Semver range within the git source to reconcile with the cluster') - c.argument('commit', - arg_group="Git Repo Ref", - help='Commit within the git source to reconcile with the cluster') - c.argument('ssh_private_key', - arg_group="Auth", - help='Base64-encoded private ssh key for private repository sync') - c.argument('ssh_private_key_file', - arg_group="Auth", - help='File path to private ssh key for private repository sync') - c.argument('https_user', - arg_group="Auth", - help='HTTPS username for private repository sync') - c.argument('https_key', - arg_group="Auth", - help='HTTPS token/password for private repository sync') - c.argument('https_ca_cert', - arg_group="Auth", - help='Base64-encoded HTTPS CA certificate for TLS communication with private repository sync') - c.argument('https_ca_cert_file', - arg_group="Auth", - help='File path to HTTPS CA certificate file for TLS communication with private repository sync') - c.argument('known_hosts', - arg_group="Auth", - help='Base64-encoded known_hosts data containing public SSH keys required to access private Git instances') - c.argument('known_hosts_file', - arg_group="Auth", - help='File path to known_hosts contents containing public SSH keys required to access private Git instances') - c.argument('local_auth_ref', - options_list=['--local-auth-ref', '--local-ref'], - arg_group="Auth", - help='Local reference to a kubernetes secret in the configuration namespace to use for communication to the source') - c.argument('suspend', - arg_type=get_three_state_flag(), - help='Suspend the reconciliation of the source and kustomizations associated with this configuration') - c.argument('kustomization', - action=KustomizationAddAction, - options_list=['--kustomization', '-k'], - help="Define kustomizations to sync sources with parameters ['name', 'path', 'depends_on', 'timeout', 'sync_interval', 'retry_interval', 'prune', 'force']", - nargs='+') + with self.argument_context("k8s-configuration flux") as c: + c.argument( + "name", + options_list=["--name", "-n"], + help="Name of the flux configuration", + validator=validate_fluxconfig_name, + ) + c.argument( + "scope", + options_list=["--scope", "-s"], + arg_type=get_enum_type(["namespace", "cluster"]), + help="Specify scope of the operator to be 'namespace' or 'cluster'", + ) + c.argument( + "namespace", + help="Namespace to deploy the configuration", + options_list=["--namespace", "--ns"], + validator=validate_namespace, + ) + c.argument( + "kind", + arg_type=get_enum_type([consts.GIT, consts.BUCKET]), + help="Source kind to reconcile", + ) + c.argument( + "url", options_list=["--url", "-u"], help="URL of the source to reconcile" + ) + c.argument( + "timeout", help="Maximum time to reconcile the source before timing out" + ) + c.argument( + "sync_interval", + options_list=["--interval", "--sync-interval"], + help="Time between reconciliations of the source on the cluster", + ) + c.argument( + "branch", + arg_group="Git Repo Ref", + help="Branch within the git source to reconcile with the cluster", + ) + c.argument( + "tag", + arg_group="Git Repo Ref", + help="Tag within the git source to reconcile with the cluster", + ) + c.argument( + "semver", + arg_group="Git Repo Ref", + help="Semver range within the git source to reconcile with the cluster", + ) + c.argument( + "commit", + arg_group="Git Repo Ref", + help="Commit within the git source to reconcile with the cluster", + ) + c.argument( + "ssh_private_key", + arg_group="Git Auth", + help="Base64-encoded private ssh key for private repository sync", + ) + c.argument( + "ssh_private_key_file", + arg_group="Git Auth", + help="File path to private ssh key for private repository sync", + ) + c.argument( + "https_user", + arg_group="Git Auth", + help="HTTPS username for private repository sync", + ) + c.argument( + "https_key", + arg_group="Git Auth", + help="HTTPS token/password for private repository sync", + ) + c.argument( + "https_ca_cert", + arg_group="Git Auth", + help="Base64-encoded HTTPS CA certificate for TLS communication with private repository sync", + ) + c.argument( + "https_ca_cert_file", + arg_group="Git Auth", + help="File path to HTTPS CA certificate file for TLS communication with private repository sync", + ) + c.argument( + "known_hosts", + arg_group="Git Auth", + help="Base64-encoded known_hosts data containing public SSH keys required to access private Git instances", + ) + c.argument( + "known_hosts_file", + arg_group="Git Auth", + help="File path to known_hosts contents containing public SSH keys required to access private Git instances", + ) + c.argument( + "bucket_access_key", + arg_group="Bucket Auth", + help="Access Key ID used to authenticate with the bucket", + ) + c.argument( + "bucket_secret_key", + arg_group="Bucket Auth", + help="Secret Key used to authenticate with the bucket", + ) + c.argument( + "bucket_name", + help="Name of the S3 bucket to sync", + ) + c.argument( + "bucket_insecure", + arg_type=get_three_state_flag(), + help="Communicate with a bucket without TLS", + ) + c.argument( + "local_auth_ref", + arg_group="Auth", + options_list=["--local-auth-ref", "--local-ref"], + help="Local reference to a kubernetes secret in the configuration namespace to use for communication to the source", + ) + c.argument( + "suspend", + arg_type=get_three_state_flag(), + help="Suspend the reconciliation of the source and kustomizations associated with this configuration", + ) + c.argument( + "kustomization", + action=KustomizationAddAction, + options_list=["--kustomization", "-k"], + help="Define kustomizations to sync sources with parameters ['name', 'path', 'depends_on', 'timeout', 'sync_interval', 'retry_interval', 'prune', 'force']", + nargs="+", + ) - with self.argument_context('k8s-configuration flux delete') as c: - c.argument('force', - arg_type=get_three_state_flag(), - help='Force delete the flux configuration from the cluster.') - c.argument('yes', - options_list=['--yes', '-y'], - help='Do not prompt for confirmation') + with self.argument_context("k8s-configuration flux update") as c: + c.argument( + "yes", options_list=["--yes", "-y"], help="Do not prompt for confirmation" + ) - with self.argument_context('k8s-configuration') as c: - c.argument('name', - options_list=['--name', '-n'], - help='Name of the configuration', - validator=validate_configuration_name) + with self.argument_context("k8s-configuration flux delete") as c: + c.argument( + "force", + arg_type=get_three_state_flag(), + help="Force delete the flux configuration from the cluster.", + ) + c.argument( + "yes", options_list=["--yes", "-y"], help="Do not prompt for confirmation" + ) - with self.argument_context('k8s-configuration create') as c: - c.argument('repository_url', - options_list=['--repository-url', '-u'], - help='Url of the source control repository') - c.argument('scope', - arg_type=get_enum_type(['namespace', 'cluster']), - help='''Specify scope of the operator to be 'namespace' or 'cluster' ''') - c.argument('enable_helm_operator', - arg_group="Helm Operator", - arg_type=get_three_state_flag(), - options_list=['--enable-helm-operator', '--enable-hop'], - help='Enable support for Helm chart deployments') - c.argument('helm_operator_params', - arg_group="Helm Operator", - options_list=['--helm-operator-params', '--hop-params'], - help='Chart values for the Helm Operator (if enabled)') - c.argument('helm_operator_chart_version', - arg_group="Helm Operator", - options_list=['--helm-operator-chart-version', '--hop-chart-version'], - help='Chart version of the Helm Operator (if enabled)') - c.argument('operator_params', - arg_group="Operator", - help='Parameters for the Operator') - c.argument('operator_instance_name', - arg_group="Operator", - help='Instance name of the Operator', - validator=validate_operator_instance_name) - c.argument('operator_namespace', - arg_group="Operator", - help='Namespace in which to install the Operator', - validator=validate_operator_namespace) - c.argument('operator_type', - arg_group="Operator", - help='''Type of the operator. Valid value is 'flux' ''') - c.argument('ssh_private_key', - arg_group="Auth", - help='Specify Base64-encoded private ssh key for private repository sync') - c.argument('ssh_private_key_file', - arg_group="Auth", - help='Specify file path to private ssh key for private repository sync') - c.argument('https_user', - arg_group="Auth", - help='Specify HTTPS username for private repository sync') - c.argument('https_key', - arg_group="Auth", - help='Specify HTTPS token/password for private repository sync') - c.argument('ssh_known_hosts', - arg_group="Auth", - help='Specify Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances') - c.argument('ssh_known_hosts_file', - arg_group="Auth", - help='Specify file path to known_hosts contents containing public SSH keys required to access private Git instances') + with self.argument_context("k8s-configuration flux deployed-object show") as c: + c.argument( + "object_name", + help="Name of the object deployed by the configuration on the cluster.", + ) + c.argument( + "object_namespace", + help="Namespace of the object deployed by the configuration on the cluster.", + ) + c.argument( + "object_kind", + arg_type=get_enum_type( + [ + "GitRepository", + "Bucket", + "HelmRepository", + "HelmChart", + "HelmRelease", + "Kustomization", + ] + ), + help="Kind of the object deployed by the configuration on the cluster.", + ) - with self.argument_context('k8s-configuration flux kustomization') as c: - c.argument('kustomization_name', - options_list=['--kustomization-name', '-k'], - help='Specify the name of the kustomization to target') - c.argument('path', - help='Specify the path in the source that the kustomization should apply') - c.argument('dependencies', - options_list=['--depends', '--dependencies', "--depends-on"], - help='Comma-separated list of kustomization dependencies') - c.argument('timeout', - help='Maximum time to reconcile the kustomization before timing out') - c.argument('sync_interval', - options_list=['--interval', '--sync-interval'], - help='Time between reconciliations of the kustomization on the cluster') - c.argument('retry_interval', - help='Time between reconciliations of the kustomization on the cluster on failures, defaults to --sync-interval') - c.argument('prune', - arg_type=get_three_state_flag(), - help='Garbage collect resources deployed by the kustomization on the cluster') - c.argument('force', - arg_type=get_three_state_flag(), - help='Re-create resources that cannot be updated on the cluster (i.e. jobs)') + with self.argument_context("k8s-configuration") as c: + c.argument( + "name", + options_list=["--name", "-n"], + help="Name of the configuration", + validator=validate_configuration_name, + ) - with self.argument_context('k8s-configuration flux kustomization delete') as c: - c.argument('yes', - options_list=['--yes', '-y'], - help='Do not prompt for confirmation') + with self.argument_context("k8s-configuration create") as c: + c.argument( + "repository_url", + options_list=["--repository-url", "-u"], + help="Url of the source control repository", + ) + c.argument( + "scope", + arg_type=get_enum_type(["namespace", "cluster"]), + help="""Specify scope of the operator to be 'namespace' or 'cluster' """, + ) + c.argument( + "enable_helm_operator", + arg_group="Helm Operator", + arg_type=get_three_state_flag(), + options_list=["--enable-helm-operator", "--enable-hop"], + help="Enable support for Helm chart deployments", + ) + c.argument( + "helm_operator_params", + arg_group="Helm Operator", + options_list=["--helm-operator-params", "--hop-params"], + help="Chart values for the Helm Operator (if enabled)", + ) + c.argument( + "helm_operator_chart_version", + arg_group="Helm Operator", + options_list=["--helm-operator-chart-version", "--hop-chart-version"], + help="Chart version of the Helm Operator (if enabled)", + ) + c.argument( + "operator_params", arg_group="Operator", help="Parameters for the Operator" + ) + c.argument( + "operator_instance_name", + arg_group="Operator", + help="Instance name of the Operator", + validator=validate_operator_instance_name, + ) + c.argument( + "operator_namespace", + arg_group="Operator", + help="Namespace in which to install the Operator", + validator=validate_operator_namespace, + ) + c.argument( + "operator_type", + arg_group="Operator", + help="""Type of the operator. Valid value is 'flux' """, + ) + c.argument( + "ssh_private_key", + arg_group="Auth", + help="Specify Base64-encoded private ssh key for private repository sync", + ) + c.argument( + "ssh_private_key_file", + arg_group="Auth", + help="Specify file path to private ssh key for private repository sync", + ) + c.argument( + "https_user", + arg_group="Auth", + help="Specify HTTPS username for private repository sync", + ) + c.argument( + "https_key", + arg_group="Auth", + help="Specify HTTPS token/password for private repository sync", + ) + c.argument( + "ssh_known_hosts", + arg_group="Auth", + help="Specify Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances", + ) + c.argument( + "ssh_known_hosts_file", + arg_group="Auth", + help="Specify file path to known_hosts contents containing public SSH keys required to access private Git instances", + ) + + with self.argument_context("k8s-configuration flux kustomization") as c: + c.argument( + "kustomization_name", + options_list=["--kustomization-name", "-k"], + help="Specify the name of the kustomization to target", + ) + c.argument( + "path", + help="Specify the path in the source that the kustomization should apply", + ) + c.argument( + "dependencies", + options_list=["--depends", "--dependencies", "--depends-on"], + help="Comma-separated list of kustomization dependencies", + ) + c.argument( + "timeout", + help="Maximum time to reconcile the kustomization before timing out", + ) + c.argument( + "sync_interval", + options_list=["--interval", "--sync-interval"], + help="Time between reconciliations of the kustomization on the cluster", + ) + c.argument( + "retry_interval", + help="Time between reconciliations of the kustomization on the cluster on failures, defaults to --sync-interval", + ) + c.argument( + "prune", + arg_type=get_three_state_flag(), + help="Garbage collect resources deployed by the kustomization on the cluster", + ) + c.argument( + "force", + arg_type=get_three_state_flag(), + help="Re-create resources that cannot be updated on the cluster (i.e. jobs)", + ) + + with self.argument_context("k8s-configuration flux kustomization delete") as c: + c.argument( + "yes", options_list=["--yes", "-y"], help="Do not prompt for confirmation" + ) diff --git a/src/k8s-configuration/azext_k8s_configuration/action.py b/src/k8s-configuration/azext_k8s_configuration/action.py index 5ad965b6114..7bc2d460742 100644 --- a/src/k8s-configuration/azext_k8s_configuration/action.py +++ b/src/k8s-configuration/azext_k8s_configuration/action.py @@ -6,7 +6,11 @@ import argparse from azure.cli.core.azclierror import InvalidArgumentValueError -from .vendored_sdks.v2021_11_01_preview.models import KustomizationDefinition, DependsOnDefinition +from .vendored_sdks.v2022_01_01_preview.models import ( + KustomizationDefinition, + KustomizationPatchDefinition, + DependsOnDefinition, +) from .validators import validate_kustomization from . import consts from .utils import parse_dependencies, parse_duration @@ -14,15 +18,21 @@ class InternalKustomizationDefinition(KustomizationDefinition): def __init__(self, **kwargs): - self.name = kwargs.get('name', "") + self.name = kwargs.get("name", "") super().__init__(**kwargs) def to_KustomizationDefinition(self): k_dict = dict(self.__dict__) - del k_dict['name'] - del k_dict['additional_properties'] + del k_dict["name"] + del k_dict["additional_properties"] return KustomizationDefinition(**k_dict) + def to_KustomizationPatchDefinition(self): + k_dict = dict(self.__dict__) + del k_dict["name"] + del k_dict["additional_properties"] + return KustomizationPatchDefinition(**k_dict) + class KustomizationAddAction(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): @@ -34,14 +44,12 @@ def __call__(self, parser, namespace, values, option_string=None): kwargs = {} for item in values: try: - key, value = item.split('=', 1) + key, value = item.split("=", 1) if key in consts.DEPENDENCY_KEYS: dependencies = parse_dependencies(value) for dep in dependencies: model_dependency.append( - DependsOnDefinition( - kustomization_name=dep - ) + DependsOnDefinition(kustomization_name=dep) ) elif key in consts.SYNC_INTERVAL_KEYS: sync_interval = value @@ -52,8 +60,9 @@ def __call__(self, parser, namespace, values, option_string=None): else: kwargs[key] = value except ValueError as ex: - raise InvalidArgumentValueError('usage error: {} KEY=VALUE [KEY=VALUE ...]' - .format(option_string)) from ex + raise InvalidArgumentValueError( + "usage error: {} KEY=VALUE [KEY=VALUE ...]".format(option_string) + ) from ex super().__call__( parser, namespace, @@ -64,5 +73,5 @@ def __call__(self, parser, namespace, values, option_string=None): timeout_in_seconds=parse_duration(timeout), **kwargs ), - option_string + option_string, ) diff --git a/src/k8s-configuration/azext_k8s_configuration/commands.py b/src/k8s-configuration/azext_k8s_configuration/commands.py index ad471c24069..e42cc830b7b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/commands.py +++ b/src/k8s-configuration/azext_k8s_configuration/commands.py @@ -7,45 +7,109 @@ from azure.cli.core.commands import CliCommandType from azext_k8s_configuration._client_factory import ( k8s_configuration_fluxconfig_client, - k8s_configuration_sourcecontrol_client + k8s_configuration_sourcecontrol_client, ) from .format import ( + fluxconfig_deployed_object_list_table_format, + fluxconfig_deployed_object_show_table_format, fluxconfig_list_table_format, fluxconfig_show_table_format, fluxconfig_kustomization_list_table_format, fluxconfig_kustomization_show_table_format, sourcecontrol_list_table_format, - sourcecontrol_show_table_format + sourcecontrol_show_table_format, ) def load_command_table(self, _): - k8s_configuration_fluxconfig_sdk = CliCommandType( - operations_tmpl='azext_k8s_configuration.vendored_sdks.operations#FluxConfigurationsOperations.{}', - client_factory=k8s_configuration_fluxconfig_client + flux_configuration_custom_type = CliCommandType( + operations_tmpl="azext_k8s_configuration.providers.FluxConfigurationProvider#{}", + client_factory=k8s_configuration_fluxconfig_client, ) - k8s_configuration_sourcecontrol_sdk = CliCommandType( - operations_tmpl='azext_k8s_configuration.vendored_sdks.operations#SourceControlConfigurationsOperations.{}', - client_factory=k8s_configuration_sourcecontrol_client + source_control_configuration_custom_type = CliCommandType( + operations_tmpl="azext_k8s_configuration.providers.SourceControlConfigurationProvider#{}", + client_factory=k8s_configuration_sourcecontrol_client, ) - with self.command_group('k8s-configuration flux', k8s_configuration_fluxconfig_sdk, client_factory=k8s_configuration_fluxconfig_client, is_preview=True) as g: - g.custom_command('create', 'flux_config_create', supports_no_wait=True) - g.custom_command('update', 'flux_config_update', supports_no_wait=True) - g.custom_command('list', "flux_config_list", table_transformer=fluxconfig_list_table_format) - g.custom_show_command('show', 'flux_config_show', table_transformer=fluxconfig_show_table_format) - g.custom_command('delete', 'flux_config_delete', supports_no_wait=True) - - with self.command_group('k8s-configuration flux kustomization', k8s_configuration_fluxconfig_sdk, client_factory=k8s_configuration_fluxconfig_client, is_preview=True) as g: - g.custom_command('create', 'flux_config_create_kustomization', supports_no_wait=True) - g.custom_command('update', 'flux_config_update_kustomization', supports_no_wait=True) - g.custom_command('delete', 'flux_config_delete_kustomization', supports_no_wait=True) - g.custom_command('list', 'flux_config_list_kustomization', table_transformer=fluxconfig_kustomization_list_table_format) - g.custom_show_command('show', 'flux_config_show_kustomization', table_transformer=fluxconfig_kustomization_show_table_format) - - with self.command_group('k8s-configuration', k8s_configuration_sourcecontrol_sdk, client_factory=k8s_configuration_sourcecontrol_client) as g: - g.custom_command('create', 'sourcecontrol_create', deprecate_info=self.deprecate(redirect='k8s-configuration flux create')) - g.custom_command('list', 'sourcecontrol_list', table_transformer=sourcecontrol_list_table_format, deprecate_info=self.deprecate(redirect='k8s-configuration flux list')) - g.custom_show_command('show', 'sourcecontrol_show', table_transformer=sourcecontrol_show_table_format, deprecate_info=self.deprecate(redirect='k8s-configuration flux show')) - g.custom_command('delete', 'sourcecontrol_delete', confirmation=True, deprecate_info=self.deprecate(redirect='k8s-configuration flux delete')) + with self.command_group( + "k8s-configuration flux", + k8s_configuration_fluxconfig_client, + custom_command_type=flux_configuration_custom_type, + is_preview=True, + ) as g: + g.custom_command("create", "create_config", supports_no_wait=True) + g.custom_command("update", "update_config", supports_no_wait=True) + g.custom_command( + "list", "list_configs", table_transformer=fluxconfig_list_table_format + ) + g.custom_show_command( + "show", "show_config", table_transformer=fluxconfig_show_table_format + ) + g.custom_command("delete", "delete_config", supports_no_wait=True) + + with self.command_group( + "k8s-configuration flux kustomization", + k8s_configuration_fluxconfig_client, + custom_command_type=flux_configuration_custom_type, + is_preview=True, + ) as g: + g.custom_command("create", "create_kustomization", supports_no_wait=True) + g.custom_command("update", "update_kustomization", supports_no_wait=True) + g.custom_command("delete", "delete_kustomization", supports_no_wait=True) + g.custom_command( + "list", + "list_kustomization", + table_transformer=fluxconfig_kustomization_list_table_format, + ) + g.custom_show_command( + "show", + "show_kustomization", + table_transformer=fluxconfig_kustomization_show_table_format, + ) + + with self.command_group( + "k8s-configuration flux deployed-object", + k8s_configuration_fluxconfig_client, + custom_command_type=flux_configuration_custom_type, + is_preview=True, + ) as g: + g.custom_command( + "list", + "list_deployed_object", + table_transformer=fluxconfig_deployed_object_list_table_format, + ) + g.custom_show_command( + "show", + "show_deployed_object", + table_transformer=fluxconfig_deployed_object_show_table_format, + ) + + with self.command_group( + "k8s-configuration", + k8s_configuration_sourcecontrol_client, + custom_command_type=source_control_configuration_custom_type, + ) as g: + g.custom_command( + "create", + "create_config", + deprecate_info=self.deprecate(redirect="k8s-configuration flux create"), + ) + g.custom_command( + "list", + "list_configs", + table_transformer=sourcecontrol_list_table_format, + deprecate_info=self.deprecate(redirect="k8s-configuration flux list"), + ) + g.custom_show_command( + "show", + "show_config", + table_transformer=sourcecontrol_show_table_format, + deprecate_info=self.deprecate(redirect="k8s-configuration flux show"), + ) + g.custom_command( + "delete", + "delete_config", + confirmation=True, + deprecate_info=self.deprecate(redirect="k8s-configuration flux delete"), + ) diff --git a/src/k8s-configuration/azext_k8s_configuration/confirm.py b/src/k8s-configuration/azext_k8s_configuration/confirm.py index 2f8d3a6bdd6..3f24dd14dd4 100644 --- a/src/k8s-configuration/azext_k8s_configuration/confirm.py +++ b/src/k8s-configuration/azext_k8s_configuration/confirm.py @@ -6,7 +6,9 @@ from azure.cli.core.util import user_confirmation -def user_confirmation_factory(cmd, yes, message="Are you sure you want to perform this operation?"): - if cmd.cli_ctx.config.getboolean('core', 'disable_confirm_prompt', fallback=False): +def user_confirmation_factory( + cmd, yes, message="Are you sure you want to perform this operation?" +): + if cmd.cli_ctx.config.getboolean("core", "disable_confirm_prompt", fallback=False): return user_confirmation(message, yes=yes) diff --git a/src/k8s-configuration/azext_k8s_configuration/consts.py b/src/k8s-configuration/azext_k8s_configuration/consts.py index f008ba2e21c..192f62d6335 100644 --- a/src/k8s-configuration/azext_k8s_configuration/consts.py +++ b/src/k8s-configuration/azext_k8s_configuration/consts.py @@ -7,29 +7,53 @@ # API VERSIONS ----------------------------------------- -SOURCE_CONTROL_API_VERSION = '2021-03-01' -FLUXCONFIG_API_VERSION = '2021-11-01-preview' +SOURCE_CONTROL_API_VERSION = "2021-03-01" +FLUXCONFIG_API_VERSION = "2022-01-01-preview" EXTENSION_API_VERSION = "2021-09-01" # ERROR/HELP TEXT DEFINITIONS ----------------------------------------- -KUSTOMIZATION_REQUIRED_VALUES_MISSING_ERROR = "Error! Kustomization definition is invalid, required values {} not found" -KUSTOMIZATION_REQUIRED_VALUES_MISSING_HELP = "Add the required values to the Kustomization object and try again" +KUSTOMIZATION_REQUIRED_VALUES_MISSING_ERROR = ( + "Error! Kustomization definition is invalid, required values {} not found" +) +KUSTOMIZATION_REQUIRED_VALUES_MISSING_HELP = ( + "Add the required values to the Kustomization object and try again" +) REPOSITORY_REF_REQUIRED_VALUES_MISSING_ERROR = "Error! Repository reference is invalid" -REPOSITORY_REF_REQUIRED_VALUES_MISSING_HELP = "Specifying one of [--branch, --tag, --semver, --commit] is required" +REPOSITORY_REF_REQUIRED_VALUES_MISSING_HELP = ( + "Specifying one of [--branch, --tag, --semver, --commit] is required" +) REPOSITORY_REF_TOO_MANY_VALUES_ERROR = "Error! Repository reference is invalid" -REPOSITORY_REF_TOO_MANY_VALUES_HELP = "Specifying more than one repository ref argument is invalid" - -GIT_REPOSITORY_REQUIRED_VALUES_MISSING_ERROR = "Error! Required property '{}' was not specified for kind 'GitRepository'" -GIT_REPOSITORY_REQUIRED_VALUES_MISSING_HELP = "Add missing required property and try again" +REPOSITORY_REF_TOO_MANY_VALUES_HELP = ( + "Specifying more than one repository ref argument is invalid" +) + +REQUIRED_VALUES_MISSING_ERROR = ( + "Error! Required properties [{}] were not specified for kind '{}'" +) +REQUIRED_VALUES_MISSING_HELP = "Add the missing required properties and try again" + +REQUIRED_BUCKET_VALUES_MISSING_ERROR = ( + "Error! Auth properties must be specified for kind 'bucket'" +) +REQUIRED_BUCKET_VALUES_MISSING_HELP = ( + "Provide either both of '--secret-key' and '--access-key' or '--local-auth-ref'" +) + +EXTRA_VALUES_PROVIDED_ERROR = ( + "Error! Invalid properties [{}] were specified for kind '{}'" +) +EXTRA_VALUES_PROVIDED_HELP = "Valid properties for kind '{}' include [{}]" INVALID_DURATION_ERROR = "Error! Invalid {0}." -INVALID_DURATION_HELP = "Specify a valid ISO8601 duration and try again" +INVALID_DURATION_HELP = "Specify a valid Go duration and try again (i.e. 1h2m5s)" INVALID_URL_ERROR = "Error! Invalid --url." -INVALID_URL_HELP = "Url must beginwith one of ['http://', 'https://', 'git@', 'ssh://']" +INVALID_URL_HELP = ( + "Url must begin with one of ['http://', 'https://', 'git@', 'ssh://']" +) INVALID_KUBERNETES_NAME_LENGTH_ERROR = "Error! Invalid {0}" INVALID_KUBERNETES_NAME_LENGTH_HELP = "Parameter {0} can be a maximum of {1} characters. Specify a shorter name and try again." @@ -41,16 +65,22 @@ INVALID_KUBERNETES_NAME_PERIOD_HELP = "Parameter {0} cannot begin or end with a period." INVALID_KUBERNETES_DNS_NAME_ERROR = "Error! Invalid {0}" -INVALID_KUBERNETES_DNS_NAME_HELP = "Parameter {0} can only contain lowercase alphanumeric characters and hyphens" +INVALID_KUBERNETES_DNS_NAME_HELP = ( + "Parameter {0} can only contain lowercase alphanumeric characters and hyphens" +) INVALID_KUBERNETES_DNS_SUBDOMAIN_NAME_ERROR = "Error! Invalid {0}" INVALID_KUBERNETES_DNS_SUBDOMAIN_NAME_HELP = "Parameter {0} can only contain lowercase alphanumeric characters, hyphens, and periods" DUPLICATE_KUSTOMIZATION_NAME_ERROR = "Error! Invalid kustomization list. Kustomization name '{0}' duplicated in multiple Kustomization objects" -DUPLICATE_KUSTOMIZATION_NAME_HELP = "Ensure that all Kustomization names are unique and try again" +DUPLICATE_KUSTOMIZATION_NAME_HELP = ( + "Ensure that all Kustomization names are unique and try again" +) KUSTOMIZATION_NAME_TOO_LONG_ERROR = "Error! Invalid Kustomization list. Flux configuration name '{0}' combined with kustomization name '{1}' cannot be greater than 62 characters" -KUSTOMIZATION_NAME_TOO_LONG_HELP = "Shorten the flux configuration or the kustomization name and try again" +KUSTOMIZATION_NAME_TOO_LONG_HELP = ( + "Shorten the flux configuration or the kustomization name and try again" +) CREATE_KUSTOMIZATION_EXIST_ERROR = "Error! Cannot create a kustomization that already exists. Kustomization name '{0}' already exists on configuration '{1}'" CREATE_KUSTOMIZATION_EXIST_HELP = "You can update an already created kustomization with 'az k8s-configuration flux kustomization update'" @@ -58,23 +88,44 @@ UPDATE_KUSTOMIZATION_NO_EXIST_ERROR = "Error! Cannot update a kustomization that doesn't exist. Kustomization name '{0}' does not exist on configuration '{1}'" UPDATE_KUSTOMIZATION_NO_EXIST_HELP = "You can add the kustomization to the configuration with 'az k8s-configuration flux kustomization create'" -DELETE_KUSTOMIZATION_NO_EXIST_ERROR = "Error! Cannot delete a kustomization that doesn't exist." +DELETE_KUSTOMIZATION_NO_EXIST_ERROR = ( + "Error! Cannot delete a kustomization that doesn't exist." +) DELETE_KUSTOMIZATION_NO_EXIST_HELP = "You can view all kustomizations on a configuration with 'az k8s-configuration flux kustomization list'" -SHOW_KUSTOMIZATION_NO_EXIST_ERROR = "Error! Kustomization with name '{0}' does not exist on configuration '{1}'." +SHOW_KUSTOMIZATION_NO_EXIST_ERROR = ( + "Error! Kustomization with name '{0}' does not exist on configuration '{1}'." +) SHOW_KUSTOMIZATION_NO_EXIST_HELP = "You can view all kustomizations on a configuration with 'az k8s-configuration flux kustomization list'" -SSH_PRIVATE_KEY_WITH_HTTP_URL_ERROR = "Error! An --ssh-private-key cannot be used with an http(s) url" -SSH_PRIVATE_KEY_WITH_HTTP_URL_HELP = "Verify the url provided is a valid ssh url and not an http(s) url" +SHOW_DEPLOYED_OBJECT_NO_EXIST_ERROR = "Error! Deployed object with name '{0}', namespace '{1}', and kind '{2}' does not exist on configuration '{3}'." +SHOW_DEPLOYED_OBJECT_NO_EXIST_HELP = "You can view all deployed objects on a configuration with 'az k8s-configuration flux deployed-object list'" + +SSH_PRIVATE_KEY_WITH_HTTP_URL_ERROR = ( + "Error! An --ssh-private-key cannot be used with an http(s) url" +) +SSH_PRIVATE_KEY_WITH_HTTP_URL_HELP = ( + "Verify the url provided is a valid ssh url and not an http(s) url" +) -KNOWN_HOSTS_WITH_HTTP_URL_ERROR = "Error! --ssh-known-hosts cannot be used with an http(s) url" -KNOWN_HOSTS_WITH_HTTP_URL_HELP = "Verify the url provided is a valid ssh url and not an http(s) url" +KNOWN_HOSTS_WITH_HTTP_URL_ERROR = ( + "Error! --ssh-known-hosts cannot be used with an http(s) url" +) +KNOWN_HOSTS_WITH_HTTP_URL_HELP = ( + "Verify the url provided is a valid ssh url and not an http(s) url" +) HTTPS_AUTH_WITH_SSH_URL_ERROR = "Error! https auth (--https-user and --https-key) cannot be used with a non-http(s) url" -HTTPS_AUTH_WITH_SSH_URL_HELP = "Verify the url provided is a valid http(s) url and not an ssh url" +HTTPS_AUTH_WITH_SSH_URL_HELP = ( + "Verify the url provided is a valid http(s) url and not an ssh url" +) -KNOWN_HOSTS_BASE64_ENCODING_ERROR = "Error! ssh known_hosts is not a valid utf-8 base64 encoded string" -KNOWN_HOSTS_BASE64_ENCODING_HELP = "Verify that the string provided safely decodes into a valid utf-8 format" +KNOWN_HOSTS_BASE64_ENCODING_ERROR = ( + "Error! ssh known_hosts is not a valid utf-8 base64 encoded string" +) +KNOWN_HOSTS_BASE64_ENCODING_HELP = ( + "Verify that the string provided safely decodes into a valid utf-8 format" +) KNOWN_HOSTS_FORMAT_ERROR = "Error! ssh known_hosts provided in wrong format" KNOWN_HOSTS_FORMAT_HELP = "Verify that all lines in the known_hosts contents are provided in a valid sshd(8) format" @@ -82,16 +133,26 @@ SSH_PRIVATE_KEY_ERROR = "Error! --ssh-private-key provided in invalid format" SSH_PRIVATE_KEY_HELP = "Verify the key provided is a valid PEM-formatted key of type RSA, ECC, DSA, or Ed25519" -HTTPS_USER_KEY_MATCH_ERROR = "Error! --https-user and --https-key cannot be used separately" +HTTPS_USER_KEY_MATCH_ERROR = ( + "Error! --https-user and --https-key cannot be used separately" +) HTTPS_USER_KEY_MATCH_HELP = "Try providing both --https-user and --https-key together" KEY_FILE_READ_ERROR = "Error! Unable to read key file specified with: {0}" -KEY_FILE_READ_HELP = "Verify that the filepath specified exists and contains valid utf-8 data" - -KEY_AND_FILE_TOGETHER_ERROR = "Error! Both textual key and key filepath cannot be provided" -KEY_AND_FILE_TOGETHER_HELP = "Try providing the file parameter without providing the plaintext parameter" - -SCC_EXISTS_ON_CLUSTER_ERROR = "Error! Flux v1 configurations already exist on the cluster" +KEY_FILE_READ_HELP = ( + "Verify that the filepath specified exists and contains valid utf-8 data" +) + +KEY_AND_FILE_TOGETHER_ERROR = ( + "Error! Both textual key and key filepath cannot be provided" +) +KEY_AND_FILE_TOGETHER_HELP = ( + "Try providing the file parameter without providing the plaintext parameter" +) + +SCC_EXISTS_ON_CLUSTER_ERROR = ( + "Error! Flux v1 configurations already exist on the cluster" +) SCC_EXISTS_ON_CLUSTER_HELP = "Try removing all Flux v1 configurations from the cluster before attempting to add Flux v2 configurations" FLUX_EXTENSION_NOT_SUCCEEDED_OR_CREATING_ERROR = "Error! 'Microsoft.Flux' extension is installed but not in a succeeded state on the cluster. Unable to proceed with Flux v2 configuration install." @@ -110,7 +171,7 @@ CC_REGISTRATION_WARNING = "'Flux Configuration' cannot be used because '%s' provider has not been registered. More details for registering this provider can be found here - %s" CC_REGISTRATION_LINK = "https://aka.ms/RegisterKubernetesConfigurationProvider" CC_REGISTRATION_ERROR = "Unable to fetch registration state of '{0}' provider. Failed to enable 'flux configuration' feature..." -CC_PROVIDER_NAMESPACE = 'Microsoft.KubernetesConfiguration' +CC_PROVIDER_NAMESPACE = "Microsoft.KubernetesConfiguration" REGISTERED = "Registered" CREATING = "Creating" SUCCEEDED = "Succeeded" @@ -120,6 +181,39 @@ SSH_PRIVATE_KEY_KEY = "sshPrivateKey" HTTPS_USER_KEY = "httpsUser" HTTPS_KEY_KEY = "httpsKey" +BUCKET_SECRET_KEY_KEY = "bucketSecretKey" + +GIT_REPO_REQUIRED_PARAMS = {"url"} +GIT_REPO_VALID_PARAMS = { + "url", + "branch", + "tag", + "semver", + "commit", + "sync_interval", + "timeout", + "ssh_private_key", + "ssh_private_key_file", + "https_user", + "https_key", + "https_ca_cert", + "https_ca_cert_file", + "known_hosts", + "known_hosts_file", + "local_auth_ref", +} + +BUCKET_REQUIRED_PARAMS = {"url", "bucket_name"} +BUCKET_VALID_PARAMS = { + "url", + "bucket_name", + "sync_interval", + "timeout", + "bucket_access_key", + "bucket_secret_key", + "bucket_insecure", + "local_auth_ref", +} DEPENDENCY_KEYS = ["dependencies", "depends_on", "dependsOn", "depends"] SYNC_INTERVAL_KEYS = ["interval", "sync_interval", "syncInterval"] @@ -128,25 +222,31 @@ REQUIRED_KUSTOMIZATION_KEYS = {"name"} VALID_DURATION_REGEX = r"((?P\d+?)h)?((?P\d+?)m)?((?P\d+?)s)?" -VALID_URL_REGEX = r"^(((http|https|ssh)://)|(git@))" +VALID_GIT_URL_REGEX = r"^(((http|https|ssh)://)|(git@))" +VALID_BUCKET_URL_REGEX = r"^(((http|https)://))" VALID_KUBERNETES_DNS_SUBDOMAIN_NAME_REGEX = r"^[a-z0-9]([\.\-a-z0-9]*[a-z0-9])?$" VALID_KUBERNETES_DNS_NAME_REGEX = r"^[a-z0-9]([\-a-z0-9]*[a-z0-9])?$" GIT = "git" +BUCKET = "bucket" GIT_REPOSITORY = "GitRepository" -CONNECTED_CLUSTERS = "connectedclusters" -MANAGED_CLUSTERS = "managedclusters" -APPLIANCES = "appliances" +CONNECTED_CLUSTER_TYPE = "connectedclusters" +MANAGED_CLUSTER_TYPE = "managedclusters" +APPLIANCE_TYPE = "appliances" + +MANAGED_CLUSTER_RP = "Microsoft.ContainerService" +CONNECTED_CLUSTER_RP = "Microsoft.Kubernetes" +APPLIANCE_RP = "Microsoft.ResourceConnector" -MANAGED_RP_NAMESPACE = "Microsoft.ContainerService" -CONNECTED_RP_NAMESPACE = "Microsoft.Kubernetes" -APPLIANCE_RP_NAMESPACE = "Microsoft.ResourceConnector" +CONNECTED_CLUSTER_API_VERSION = "2021-10-01" +MANAGED_CLUSTER_API_VERSION = "2021-10-01" +APPLIANCE_API_VERSION = "2021-10-31-preview" KUBERNETES_MAX_NAME_SIZE = 63 -DF_RM_ENDPOINT = 'https://api-dogfood.resources.windows-int.net/' +DF_RM_ENDPOINT = "https://api-dogfood.resources.windows-int.net/" FLUX_EXTENSION_RELEASETRAIN = "FLUX_EXTENSION_RELEASETRAIN" FLUX_EXTENSION_VERSION = "FLUX_EXTENSION_VERSION" diff --git a/src/k8s-configuration/azext_k8s_configuration/custom.py b/src/k8s-configuration/azext_k8s_configuration/custom.py deleted file mode 100644 index 91145605887..00000000000 --- a/src/k8s-configuration/azext_k8s_configuration/custom.py +++ /dev/null @@ -1,127 +0,0 @@ -# -------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# -------------------------------------------------------------------------------------------- - -# pylint: disable=unused-argument - -from .providers.FluxConfigurationProvider import FluxConfigurationProvider -from .providers.SourceControlConfigurationProvider import SourceControlConfigurationProvider -from . import consts - - -# Source Control Configuration Methods - -def sourcecontrol_create(cmd, client, resource_group_name, cluster_name, name, repository_url, scope, cluster_type, - operator_instance_name=None, operator_namespace='default', - helm_operator_chart_version='1.4.0', operator_type='flux', operator_params='', - ssh_private_key='', ssh_private_key_file='', https_user='', https_key='', - ssh_known_hosts='', ssh_known_hosts_file='', enable_helm_operator=None, - helm_operator_params=''): - provider = SourceControlConfigurationProvider(cmd) - return provider.create(resource_group_name, cluster_name, name, repository_url, scope, cluster_type, - operator_instance_name, operator_namespace, helm_operator_chart_version, operator_type, - operator_params, ssh_private_key, ssh_private_key_file, https_user, https_key, - ssh_known_hosts, ssh_known_hosts_file, enable_helm_operator, helm_operator_params) - - -def sourcecontrol_show(cmd, client, resource_group_name, cluster_type, cluster_name, name): - provider = SourceControlConfigurationProvider(cmd) - return provider.show(resource_group_name, cluster_type, cluster_name, name) - - -def sourcecontrol_list(cmd, client, resource_group_name, cluster_type, cluster_name): - provider = SourceControlConfigurationProvider(cmd) - return provider.list(resource_group_name, cluster_type, cluster_name) - - -def sourcecontrol_delete(cmd, client, resource_group_name, cluster_type, cluster_name, name): - provider = SourceControlConfigurationProvider(cmd) - return provider.delete(resource_group_name, cluster_type, cluster_name, name) - - -# Flux Configuration Methods -def flux_config_show(cmd, client, resource_group_name, cluster_type, cluster_name, name): - provider = FluxConfigurationProvider(cmd) - return provider.show(resource_group_name, cluster_type, cluster_name, name) - - -def flux_config_list(cmd, client, resource_group_name, cluster_type, cluster_name): - provider = FluxConfigurationProvider(cmd) - return provider.list(resource_group_name, cluster_type, cluster_name) - - -# pylint: disable=too-many-locals -def flux_config_create(cmd, client, resource_group_name, cluster_type, cluster_name, name, url=None, - scope='cluster', namespace='default', kind=consts.GIT, timeout=None, sync_interval=None, - branch=None, tag=None, semver=None, commit=None, local_auth_ref=None, ssh_private_key=None, - ssh_private_key_file=None, https_user=None, https_key=None, https_ca_cert=None, - https_ca_cert_file=None, known_hosts=None, known_hosts_file=None, suspend=False, - kustomization=None, no_wait=False): - - provider = FluxConfigurationProvider(cmd) - return provider.create(resource_group_name, cluster_type, cluster_name, name, url, scope, namespace, kind, - timeout, sync_interval, branch, tag, semver, commit, local_auth_ref, ssh_private_key, - ssh_private_key_file, https_user, https_key, https_ca_cert, https_ca_cert_file, known_hosts, - known_hosts_file, suspend, kustomization, no_wait) - - -# pylint: disable=too-many-locals -def flux_config_update(cmd, client, resource_group_name, cluster_type, cluster_name, name, url=None, - timeout=None, sync_interval=None, branch=None, tag=None, semver=None, commit=None, - local_auth_ref=None, ssh_private_key=None, ssh_private_key_file=None, https_user=None, - https_key=None, https_ca_cert=None, https_ca_cert_file=None, known_hosts=None, - known_hosts_file=None, suspend=None, kustomization=None, no_wait=False): - - provider = FluxConfigurationProvider(cmd) - return provider.update(resource_group_name, cluster_type, cluster_name, name, url, timeout, sync_interval, - branch, tag, semver, commit, local_auth_ref, ssh_private_key, ssh_private_key_file, - https_user, https_key, https_ca_cert, https_ca_cert_file, known_hosts, - known_hosts_file, suspend, kustomization, no_wait) - - -def flux_config_create_kustomization(cmd, client, resource_group_name, cluster_type, cluster_name, name, - kustomization_name, dependencies=None, timeout=None, sync_interval=None, - retry_interval=None, path='', prune=None, force=None, no_wait=False): - - provider = FluxConfigurationProvider(cmd) - return provider.create_kustomization(resource_group_name, cluster_type, cluster_name, name, kustomization_name, - dependencies, timeout, sync_interval, retry_interval, path, prune, - force, no_wait) - - -def flux_config_update_kustomization(cmd, client, resource_group_name, cluster_type, cluster_name, name, - kustomization_name, dependencies=None, timeout=None, sync_interval=None, - retry_interval=None, path=None, prune=None, force=None, no_wait=False): - - provider = FluxConfigurationProvider(cmd) - return provider.update_kustomization(resource_group_name, cluster_type, cluster_name, name, kustomization_name, - dependencies, timeout, sync_interval, retry_interval, path, prune, - force, no_wait) - - -def flux_config_delete_kustomization(cmd, client, resource_group_name, cluster_type, cluster_name, name, - kustomization_name, no_wait=False, yes=False): - - provider = FluxConfigurationProvider(cmd) - return provider.delete_kustomization(resource_group_name, cluster_type, cluster_name, - name, kustomization_name, no_wait, yes) - - -def flux_config_list_kustomization(cmd, client, resource_group_name, cluster_type, cluster_name, name): - - provider = FluxConfigurationProvider(cmd) - return provider.list_kustomization(resource_group_name, cluster_type, cluster_name, name) - - -def flux_config_show_kustomization(cmd, client, resource_group_name, cluster_type, cluster_name, name, - kustomization_name): - - provider = FluxConfigurationProvider(cmd) - return provider.show_kustomization(resource_group_name, cluster_type, cluster_name, name, kustomization_name) - - -def flux_config_delete(cmd, client, resource_group_name, cluster_type, - cluster_name, name, force=False, no_wait=False, yes=False): - provider = FluxConfigurationProvider(cmd) - return provider.delete(resource_group_name, cluster_type, cluster_name, name, force, no_wait, yes) diff --git a/src/k8s-configuration/azext_k8s_configuration/format.py b/src/k8s-configuration/azext_k8s_configuration/format.py index 2fd2b60bdb2..01d729e7244 100644 --- a/src/k8s-configuration/azext_k8s_configuration/format.py +++ b/src/k8s-configuration/azext_k8s_configuration/format.py @@ -16,14 +16,16 @@ def sourcecontrol_show_table_format(result): def __get_sourcecontrolconfig_table_row(result): - return OrderedDict([ - ('name', result['name']), - ('repositoryUrl', result['repositoryUrl']), - ('operatorName', result['operatorInstanceName']), - ('operatorNamespace', result['operatorNamespace']), - ('scope', result['operatorScope']), - ('provisioningState', result['provisioningState']) - ]) + return OrderedDict( + [ + ("name", result["name"]), + ("repositoryUrl", result["repositoryUrl"]), + ("operatorName", result["operatorInstanceName"]), + ("operatorNamespace", result["operatorNamespace"]), + ("scope", result["operatorScope"]), + ("provisioningState", result["provisioningState"]), + ] + ) def fluxconfig_list_table_format(results): @@ -35,14 +37,16 @@ def fluxconfig_show_table_format(result): def __get_fluxconfig_table_row(result): - return OrderedDict([ - ('name', result['name']), - ('namespace', result['namespace']), - ('scope', result['scope']), - ('provisioningState', result['provisioningState']), - ('complianceState', result['complianceState']), - ('lastSourceSyncedAt', result['lastSourceSyncedAt']), - ]) + return OrderedDict( + [ + ("namespace", result["namespace"]), + ("name", result["name"]), + ("scope", result["scope"]), + ("provisioningState", result["provisioningState"]), + ("complianceState", result["complianceState"]), + ("lastSourceUpdatedAt", result["lastSourceUpdatedAt"]), + ] + ) def fluxconfig_kustomization_list_table_format(results): @@ -55,16 +59,45 @@ def fluxconfig_kustomization_show_table_format(results): def __get_fluxconfig_kustomization_table_row(key, value): deps = [] - for dep in value.get('dependsOn') or []: - if dep.get('kustomizationName'): - deps.append(dep['kustomizationName']) - - return OrderedDict([ - ('name', key), - ('path', value['path']), - ('dependsOn', ','.join(deps)), - ('syncInterval', format_duration(value['syncIntervalInSeconds'])), - ('timeout', format_duration(value['timeoutInSeconds'])), - ('prune', value['prune']), - ('force', value['force']) - ]) + for dep in value.get("dependsOn") or []: + if dep.get("kustomizationName"): + deps.append(dep["kustomizationName"]) + + return OrderedDict( + [ + ("name", key), + ("path", value["path"]), + ("dependsOn", ",".join(deps)), + ("syncInterval", format_duration(value["syncIntervalInSeconds"])), + ("timeout", format_duration(value["timeoutInSeconds"])), + ("prune", value["prune"]), + ("force", value["force"]), + ] + ) + + +def fluxconfig_deployed_object_list_table_format(results): + return [__get_fluxconfig_deployed_object_table_row(result) for result in results] + + +def fluxconfig_deployed_object_show_table_format(result): + return __get_fluxconfig_deployed_object_table_row(result) + + +def __get_fluxconfig_deployed_object_table_row(result): + message = "None" + for condition in result.get("statusConditions") or []: + if condition.get("type") == "Ready": + message = condition.get("message") + if len(message) > 60: + message = message[:60] + "..." + break + return OrderedDict( + [ + ("kind", result["kind"]), + ("namespace", result["namespace"]), + ("name", result["name"]), + ("complianceState", result["complianceState"]), + ("message", message), + ] + ) diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py index 5275679545b..7b86396501b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/FluxConfigurationProvider.py @@ -7,7 +7,13 @@ import os -from azure.cli.core.azclierror import DeploymentError, ResourceNotFoundError, ValidationError +from azure.cli.core.azclierror import ( + DeploymentError, + ResourceNotFoundError, + ValidationError, + UnrecognizedArgumentError, + RequiredArgumentMissingError, +) from azure.cli.core.util import sdk_no_wait from azure.cli.core.commands.client_factory import get_subscription_id @@ -17,492 +23,1033 @@ from ..confirm import user_confirmation_factory from .._client_factory import ( cf_resources, - k8s_configuration_fluxconfig_client, - k8s_configuration_extension_client + k8s_configuration_extension_client, + k8s_configuration_sourcecontrol_client, ) from ..utils import ( - get_parent_api_version, - get_cluster_rp, + get_cluster_rp_api_version, get_data_from_key_or_file, parse_dependencies, parse_duration, has_prune_enabled, to_base64, - is_dogfood_cluster + is_dogfood_cluster, ) from ..validators import ( + validate_bucket_url, validate_cc_registration, + validate_git_url, validate_known_hosts, validate_repository_ref, validate_duration, - validate_git_repository, validate_private_key, - validate_url_with_params + validate_url_with_params, ) from .. import consts -from ..vendored_sdks.v2021_11_01_preview.models import ( +from ..vendored_sdks.v2022_01_01_preview.models import ( FluxConfiguration, FluxConfigurationPatch, GitRepositoryDefinition, + GitRepositoryPatchDefinition, + BucketDefinition, RepositoryRefDefinition, KustomizationDefinition, - DependsOnDefinition -) -from ..vendored_sdks.v2021_05_01_preview.models import ( - Extension, - Identity + KustomizationPatchDefinition, + DependsOnDefinition, + SourceKindType, ) -from .SourceControlConfigurationProvider import SourceControlConfigurationProvider +from ..vendored_sdks.v2021_09_01.models import Extension, Identity logger = get_logger(__name__) -class FluxConfigurationProvider: - def __init__(self, cmd): - self.extension_client = k8s_configuration_extension_client(cmd.cli_ctx) - self.source_control_configuration_provider = SourceControlConfigurationProvider(cmd) - self.cmd = cmd - self.client = k8s_configuration_fluxconfig_client(cmd.cli_ctx) - - def show(self, resource_group_name, cluster_type, cluster_name, name): - """Get an existing Kubernetes Source Control Configuration. +def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, name): + """Get an existing Kubernetes Source Control Configuration.""" - """ - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - try: - config = self.client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) - return config - except HttpResponseError as ex: - # Customize the error message for resources not found - if ex.response.status_code == 404: - # If Cluster not found - if ex.message.__contains__("(ResourceNotFound)"): - message = ex.message - recommendation = 'Verify that the --cluster-type is correct and the Resource ' \ - '{0}/{1}/{2} exists'.format(cluster_rp, cluster_type, cluster_name) - # If Configuration not found - elif ex.message.__contains__("Operation returned an invalid status code 'Not Found'"): - message = '(FluxConfigurationNotFound) The Resource {0}/{1}/{2}/' \ - 'Microsoft.KubernetesConfiguration/fluxConfigurations/{3} ' \ - 'could not be found!' \ - .format(cluster_rp, cluster_type, cluster_name, name) - recommendation = 'Verify that the Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration' \ - '/fluxConfigurations/{3} exists'.format(cluster_rp, cluster_type, - cluster_name, name) - else: - message = ex.message - recommendation = '' - raise ResourceNotFoundError(message, recommendation) from ex - raise ex - - def list(self, resource_group_name, cluster_type, cluster_name): - cluster_rp = get_cluster_rp(cluster_type) - return self.client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) - - # pylint: disable=too-many-locals - def create(self, resource_group_name, cluster_type, cluster_name, name, url=None, scope='cluster', - namespace='default', kind=consts.GIT, timeout=None, sync_interval=None, branch=None, - tag=None, semver=None, commit=None, local_auth_ref=None, ssh_private_key=None, - ssh_private_key_file=None, https_user=None, https_key=None, https_ca_cert=None, - https_ca_cert_file=None, known_hosts=None, known_hosts_file=None, suspend=False, - kustomization=None, no_wait=False): - - # Determine the cluster RP - cluster_rp = get_cluster_rp(cluster_type) - dp_source_kind = "" - git_repository = None - - # Validate and Create the Data before checking the cluster compataibility - if kind == consts.GIT: - dp_source_kind = consts.GIT_REPOSITORY - git_repository = self._validate_and_get_gitrepository(url, branch, tag, semver, commit, timeout, - sync_interval, ssh_private_key, - ssh_private_key_file, https_user, - https_key, https_ca_cert, https_ca_cert_file, - known_hosts, known_hosts_file, local_auth_ref, True) - - if kustomization: - # Convert the Internal List Representation of Kustomization to Dictionary - kustomization = {k.name: k.to_KustomizationDefinition() for k in kustomization} - else: - logger.warning(consts.NO_KUSTOMIZATIONS_WARNING) - kustomization = { - consts.DEFAULT_KUSTOMIZATION_NAME: KustomizationDefinition() - } - - # Get the protected settings and validate the private key value - protected_settings = get_protected_settings( - ssh_private_key, ssh_private_key_file, https_user, https_key + # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + validate_cc_registration(cmd) + try: + config = client.get( + resource_group_name, cluster_rp, cluster_type, cluster_name, name + ) + return config + except HttpResponseError as ex: + # Customize the error message for resources not found + if ex.response.status_code == 404: + # If Cluster not found + if ex.message.__contains__("(ResourceNotFound)"): + message = ex.message + recommendation = ( + "Verify that the --cluster-type is correct and the Resource " + "{0}/{1}/{2} exists".format(cluster_rp, cluster_type, cluster_name) + ) + # If Configuration not found + elif ex.message.__contains__( + "Operation returned an invalid status code 'Not Found'" + ): + message = ( + "(FluxConfigurationNotFound) The Resource {0}/{1}/{2}/" + "Microsoft.KubernetesConfiguration/fluxConfigurations/{3} " + "could not be found!".format( + cluster_rp, cluster_type, cluster_name, name + ) + ) + recommendation = ( + "Verify that the Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration" + "/fluxConfigurations/{3} exists".format( + cluster_rp, cluster_type, cluster_name, name + ) + ) + else: + message = ex.message + recommendation = "" + raise ResourceNotFoundError(message, recommendation) from ex + raise ex + + +def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name): + # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + validate_cc_registration(cmd) + + return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) + + +# pylint: disable=too-many-locals +def create_config( + cmd, + client, + resource_group_name, + cluster_type, + cluster_name, + name, + url, + bucket_name=None, + scope="cluster", + namespace="default", + kind=consts.GIT, + timeout=None, + sync_interval=None, + branch=None, + tag=None, + semver=None, + commit=None, + local_auth_ref=None, + ssh_private_key=None, + ssh_private_key_file=None, + https_user=None, + https_key=None, + https_ca_cert=None, + https_ca_cert_file=None, + known_hosts=None, + known_hosts_file=None, + bucket_access_key=None, + bucket_secret_key=None, + bucket_insecure=False, + suspend=False, + kustomization=None, + no_wait=False, +): + + # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + validate_cc_registration(cmd) + + factory = source_kind_generator_factory( + kind, + url=url, + bucket_name=bucket_name, + timeout=timeout, + sync_interval=sync_interval, + branch=branch, + tag=tag, + semver=semver, + commit=commit, + local_auth_ref=local_auth_ref, + ssh_private_key=ssh_private_key, + ssh_private_key_file=ssh_private_key_file, + https_user=https_user, + https_key=https_key, + https_ca_cert=https_ca_cert, + https_ca_cert_file=https_ca_cert_file, + known_hosts=known_hosts, + known_hosts_file=known_hosts_file, + bucket_access_key=bucket_access_key, + bucket_secret_key=bucket_secret_key, + bucket_insecure=bucket_insecure, + ) + + # This update func is a generated update function that modifies + # the FluxConfiguration object with the appropriate source kind + update_func = factory.generate_update_func() + + if kustomization: + # Convert the Internal List Representation of Kustomization to Dictionary + kustomization = {k.name: k.to_KustomizationDefinition() for k in kustomization} + else: + logger.warning(consts.NO_KUSTOMIZATIONS_WARNING) + kustomization = {consts.DEFAULT_KUSTOMIZATION_NAME: KustomizationDefinition()} + + # Get the protected settings and validate the private key value + protected_settings = get_protected_settings( + ssh_private_key, ssh_private_key_file, https_key, bucket_secret_key + ) + if protected_settings and consts.SSH_PRIVATE_KEY_KEY in protected_settings: + validate_private_key(protected_settings["sshPrivateKey"]) + + flux_configuration = FluxConfiguration( + scope=scope, + namespace=namespace, + suspend=suspend, + kustomizations=kustomization, + configuration_protected_settings=protected_settings, + ) + flux_configuration = update_func(flux_configuration) + + _validate_source_control_config_not_installed( + cmd, resource_group_name, cluster_rp, cluster_type, cluster_name + ) + _validate_extension_install( + cmd, resource_group_name, cluster_rp, cluster_type, cluster_name, no_wait + ) + + logger.warning( + "Creating the flux configuration '%s' in the cluster. This may take a few minutes...", + name, + ) + + return sdk_no_wait( + no_wait, + client.begin_create_or_update, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + flux_configuration, + ) + + +def update_config( + cmd, + client, + resource_group_name, + cluster_type, + cluster_name, + name, + kind=None, + url=None, + bucket_name=None, + timeout=None, + sync_interval=None, + branch=None, + tag=None, + semver=None, + commit=None, + local_auth_ref=None, + ssh_private_key=None, + ssh_private_key_file=None, + https_user=None, + https_key=None, + https_ca_cert=None, + https_ca_cert_file=None, + known_hosts=None, + known_hosts_file=None, + bucket_access_key=None, + bucket_secret_key=None, + bucket_insecure=None, + suspend=None, + kustomization=None, + no_wait=False, + yes=False, +): + + # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + validate_cc_registration(cmd) + + config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + if not kind: + kind = convert_to_cli_source_kind(config.source_kind) + factory = source_kind_generator_factory( + kind, + url=url, + bucket_name=bucket_name, + timeout=timeout, + sync_interval=sync_interval, + branch=branch, + tag=tag, + semver=semver, + commit=commit, + local_auth_ref=local_auth_ref, + ssh_private_key=ssh_private_key, + ssh_private_key_file=ssh_private_key_file, + https_user=https_user, + https_key=https_key, + https_ca_cert=https_ca_cert, + https_ca_cert_file=https_ca_cert_file, + known_hosts=known_hosts, + known_hosts_file=known_hosts_file, + bucket_access_key=bucket_access_key, + bucket_secret_key=bucket_secret_key, + bucket_insecure=bucket_insecure, + ) + + # This update func is a generated update function that modifies + # the FluxConfiguration object with the appropriate source kind + # If we update the source kind, we will also null out the other + # kind type + changed_source_kind = ( + kind.lower() != convert_to_cli_source_kind(config.source_kind).lower() + ) + update_func = factory.generate_patch_update_func(changed_source_kind) + + if changed_source_kind: + user_confirmation_factory( + cmd, + yes, + f"You are choosing to migrate from source kind '{convert_to_cli_source_kind(config.source_kind).lower()}' " + + f"to source kind '{kind.lower()}'. Changing your source repository may also require you to change your " + + "kustomizations. Are you sure you want to change kinds?", ) - if protected_settings and consts.SSH_PRIVATE_KEY_KEY in protected_settings: - validate_private_key(protected_settings['sshPrivateKey']) - - flux_configuration = FluxConfiguration( - scope=scope, - namespace=namespace, - source_kind=dp_source_kind, - git_repository=git_repository, - suspend=suspend, - kustomizations=kustomization, - configuration_protected_settings=protected_settings, + + if kustomization: + # Convert the Internal List Representation of Kustomization to Dictionary + kustomization = { + k.name: k.to_KustomizationPatchDefinition() for k in kustomization + } + + # Get the protected settings and validate the private key value + protected_settings = get_protected_settings( + ssh_private_key, ssh_private_key_file, https_key, bucket_secret_key + ) + if protected_settings and consts.SSH_PRIVATE_KEY_KEY in protected_settings: + validate_private_key(protected_settings["sshPrivateKey"]) + + flux_configuration = FluxConfigurationPatch( + suspend=suspend, + kustomizations=kustomization, + configuration_protected_settings=protected_settings, + ) + flux_configuration = update_func(flux_configuration) + + return sdk_no_wait( + no_wait, + client.begin_update, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + flux_configuration, + ) + + +def create_kustomization( + cmd, + client, + resource_group_name, + cluster_type, + cluster_name, + name, + kustomization_name, + dependencies=None, + timeout=None, + sync_interval=None, + retry_interval=None, + path="", + prune=None, + force=None, + no_wait=False, +): + + # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + validate_cc_registration(cmd) + + # Pre-Validation + validate_duration("--timeout", timeout) + validate_duration("--sync-interval", sync_interval) + validate_duration("--retry-interval", retry_interval) + + current_config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + if kustomization_name in current_config.kustomizations: + raise ValidationError( + consts.CREATE_KUSTOMIZATION_EXIST_ERROR.format(kustomization_name, name), + consts.CREATE_KUSTOMIZATION_EXIST_HELP, ) - self._validate_source_control_config_not_installed(resource_group_name, cluster_type, cluster_name) - self._validate_extension_install(resource_group_name, cluster_rp, cluster_type, cluster_name, no_wait) - - logger.warning("Creating the flux configuration '%s' in the cluster. This may take a few minutes...", name) - - return sdk_no_wait(no_wait, self.client.begin_create_or_update, resource_group_name, cluster_rp, - cluster_type, cluster_name, name, flux_configuration) - - def update(self, resource_group_name, cluster_type, cluster_name, name, url=None, - timeout=None, sync_interval=None, branch=None, tag=None, semver=None, - commit=None, local_auth_ref=None, ssh_private_key=None, ssh_private_key_file=None, - https_user=None, https_key=None, https_ca_cert=None, https_ca_cert_file=None, known_hosts=None, - known_hosts_file=None, suspend=None, kustomization=None, no_wait=False): - # Determine the cluster RP - cluster_rp = get_cluster_rp(cluster_type) - - git_repository = None - if any([url, branch, tag, semver, commit, - timeout, sync_interval, - ssh_private_key, ssh_private_key_file, - https_user, https_key, https_ca_cert, - https_ca_cert_file, known_hosts, - known_hosts_file, local_auth_ref]): - git_repository = self._validate_and_get_gitrepository(url, branch, tag, semver, commit, - timeout, sync_interval, - ssh_private_key, ssh_private_key_file, - https_user, https_key, https_ca_cert, - https_ca_cert_file, known_hosts, - known_hosts_file, local_auth_ref, False) - - if kustomization: - # Convert the Internal List Representation of Kustomization to Dictionary - kustomization = {k.name: k.to_KustomizationDefinition() for k in kustomization} - - # Get the protected settings and validate the private key value - protected_settings = get_protected_settings( - ssh_private_key, ssh_private_key_file, https_user, https_key + # Add the dependencies in their model to the kustomization + model_dependencies = None + if dependencies: + model_dependencies = [] + for dep in parse_dependencies(dependencies): + model_dependencies.append(DependsOnDefinition(kustomization_name=dep)) + + kustomization = { + kustomization_name: KustomizationPatchDefinition( + path=path, + depends_on=model_dependencies, + timeout_in_seconds=parse_duration(timeout), + sync_interval_in_seconds=parse_duration(sync_interval), + retry_interval_in_seconds=parse_duration(retry_interval), + prune=prune, + force=force, ) - if protected_settings and consts.SSH_PRIVATE_KEY_KEY in protected_settings: - validate_private_key(protected_settings['sshPrivateKey']) - - flux_configuration = FluxConfigurationPatch( - git_repository=git_repository, - suspend=suspend, - kustomizations=kustomization, - configuration_protected_settings=protected_settings, + } + flux_configuration_patch = FluxConfigurationPatch(kustomizations=kustomization) + return sdk_no_wait( + no_wait, + client.begin_update, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + flux_configuration_patch, + ) + + +def update_kustomization( + cmd, + client, + resource_group_name, + cluster_type, + cluster_name, + name, + kustomization_name, + dependencies=None, + timeout=None, + sync_interval=None, + retry_interval=None, + path=None, + prune=None, + force=None, + no_wait=False, +): + + # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + validate_cc_registration(cmd) + + # Pre-Validation + validate_duration("--timeout", timeout) + validate_duration("--sync-interval", sync_interval) + validate_duration("--retry-interval", retry_interval) + + current_config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + if kustomization_name not in current_config.kustomizations: + raise ValidationError( + consts.UPDATE_KUSTOMIZATION_NO_EXIST_ERROR.format(kustomization_name, name), + consts.UPDATE_KUSTOMIZATION_NO_EXIST_HELP, ) - return sdk_no_wait(no_wait, self.client.begin_update, resource_group_name, cluster_rp, - cluster_type, cluster_name, name, flux_configuration) + # Add the dependencies in their model to the kustomization + model_dependencies = None + if dependencies: + model_dependencies = [] + for dep in parse_dependencies(dependencies): + model_dependencies.append(DependsOnDefinition(kustomization_name=dep)) + + kustomization = { + kustomization_name: KustomizationPatchDefinition( + path=path, + depends_on=model_dependencies, + timeout_in_seconds=parse_duration(timeout), + sync_interval_in_seconds=parse_duration(sync_interval), + retry_interval_in_seconds=parse_duration(retry_interval), + prune=prune, + force=force, + ) + } + flux_configuration_patch = FluxConfigurationPatch(kustomizations=kustomization) + return sdk_no_wait( + no_wait, + client.begin_update, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + flux_configuration_patch, + ) + + +def delete_kustomization( + cmd, + client, + resource_group_name, + cluster_type, + cluster_name, + name, + kustomization_name, + no_wait=False, + yes=False, +): + + # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + validate_cc_registration(cmd) + + # Confirmation message for deletes + user_confirmation_factory(cmd, yes) + + current_config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + if kustomization_name not in current_config.kustomizations: + raise ValidationError( + consts.DELETE_KUSTOMIZATION_NO_EXIST_ERROR.format(kustomization_name, name), + consts.DELETE_KUSTOMIZATION_NO_EXIST_HELP, + ) - def create_kustomization(self, resource_group_name, cluster_type, cluster_name, name, - kustomization_name, dependencies=None, timeout=None, sync_interval=None, - retry_interval=None, path='', prune=False, force=False, no_wait=False): - # Pre-Validation - validate_duration("--timeout", timeout) - validate_duration("--sync-interval", sync_interval) - validate_duration("--retry-interval", retry_interval) - - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - current_config = self.client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) - if kustomization_name in current_config.kustomizations: - raise ValidationError( - consts.CREATE_KUSTOMIZATION_EXIST_ERROR.format(kustomization_name, name), - consts.CREATE_KUSTOMIZATION_EXIST_HELP - ) + if current_config.kustomizations[kustomization_name].prune: + logger.warning( + "Prune is enabled on this kustomization. Deleting a kustomization " + "with prune enabled will also delete the Kubernetes objects " + "deployed by the kustomization." + ) + user_confirmation_factory(cmd, yes, "Do you want to continue?") + + kustomization = {kustomization_name: None} + flux_configuration_patch = FluxConfigurationPatch(kustomizations=kustomization) + return sdk_no_wait( + no_wait, + client.begin_update, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + flux_configuration_patch, + ) + + +def list_kustomization( + cmd, client, resource_group_name, cluster_type, cluster_name, name +): + # Get Resource Provider to call + validate_cc_registration(cmd) + + current_config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + return current_config.kustomizations + + +def show_kustomization( + cmd, + client, + resource_group_name, + cluster_type, + cluster_name, + name, + kustomization_name, +): + + validate_cc_registration(cmd) + + current_config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + if kustomization_name not in current_config.kustomizations: + raise ValidationError( + consts.SHOW_KUSTOMIZATION_NO_EXIST_ERROR.format(kustomization_name), + consts.SHOW_KUSTOMIZATION_NO_EXIST_HELP, + ) + return {kustomization_name: current_config.kustomizations[kustomization_name]} + + +def list_deployed_object( + cmd, client, resource_group_name, cluster_type, cluster_name, name +): + validate_cc_registration(cmd) + current_config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + return current_config.statuses + + +def show_deployed_object( + cmd, + client, + resource_group_name, + cluster_type, + cluster_name, + name, + object_name, + object_namespace, + object_kind, +): + validate_cc_registration(cmd) + current_config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + + for status in current_config.statuses: + if ( + status.name == object_name + and status.namespace == object_namespace + and status.kind == object_kind + ): + return status + raise ValidationError( + consts.SHOW_DEPLOYED_OBJECT_NO_EXIST_ERROR.format( + object_name, object_namespace, object_kind, name + ), + consts.SHOW_DEPLOYED_OBJECT_NO_EXIST_HELP, + ) + + +def delete_config( + cmd, + client, + resource_group_name, + cluster_type, + cluster_name, + name, + force=False, + no_wait=False, + yes=False, +): + + # Confirmation message for deletes + user_confirmation_factory(cmd, yes) + + # Get Resource Provider to call + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + validate_cc_registration(cmd) + + config = None + try: + config = show_config( + cmd, client, resource_group_name, cluster_type, cluster_name, name + ) + except HttpResponseError: + logger.warning( + "No flux configuration with name '%s' found on cluster '%s', so nothing to delete", + name, + cluster_name, + ) + return None - # Add the dependencies in their model to the kustomization - model_dependencies = None - if dependencies: - model_dependencies = [] - for dep in parse_dependencies(dependencies): - model_dependencies.append( - DependsOnDefinition( - kustomization_name=dep - ) - ) + if has_prune_enabled(config): + logger.warning( + "Prune is enabled on one or more of your kustomizations. Deleting a Flux " + "configuration with prune enabled will also delete the Kubernetes objects " + "deployed by the kustomization(s)." + ) + user_confirmation_factory(cmd, yes, "Do you want to continue?") - kustomization = { - kustomization_name: KustomizationDefinition( - path=path, - depends_on=model_dependencies, - timeout_in_seconds=parse_duration(timeout), - sync_interval_in_seconds=parse_duration(sync_interval), - retry_interval_in_seconds=parse_duration(retry_interval), - prune=prune, - force=force - ) - } - flux_configuration_patch = FluxConfigurationPatch( - kustomizations=kustomization + if not force: + logger.info( + "Deleting the flux configuration from the cluster. This may take a few minutes..." + ) + return sdk_no_wait( + no_wait, + client.begin_delete, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + force_delete=force, + ) + + +def _validate_source_control_config_not_installed( + cmd, resource_group_name, cluster_rp, cluster_type, cluster_name +): + # Validate if we are able to install the flux configuration + source_control_client = k8s_configuration_sourcecontrol_client(cmd.cli_ctx) + configs = source_control_client.list( + resource_group_name, cluster_rp, cluster_type, cluster_name + ) + # configs is an iterable, no len() so we have to iterate to check for configs + for _ in configs: + raise DeploymentError( + consts.SCC_EXISTS_ON_CLUSTER_ERROR, consts.SCC_EXISTS_ON_CLUSTER_HELP ) - return sdk_no_wait(no_wait, self.client.begin_update, resource_group_name, cluster_rp, - cluster_type, cluster_name, name, flux_configuration_patch) - def update_kustomization(self, resource_group_name, cluster_type, cluster_name, name, - kustomization_name, dependencies=None, timeout=None, sync_interval=None, - retry_interval=None, path=None, prune=False, force=False, no_wait=False): - # Pre-Validation - validate_duration("--timeout", timeout) - validate_duration("--sync-interval", sync_interval) - validate_duration("--retry-interval", retry_interval) - - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - current_config = self.client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) - if kustomization_name not in current_config.kustomizations: - raise ValidationError( - consts.UPDATE_KUSTOMIZATION_NO_EXIST_ERROR.format(kustomization_name, name), - consts.UPDATE_KUSTOMIZATION_NO_EXIST_HELP - ) - # Add the dependencies in their model to the kustomization - model_dependencies = None - if dependencies: - model_dependencies = [] - for dep in parse_dependencies(dependencies): - model_dependencies.append( - DependsOnDefinition( - kustomization_name=dep - ) - ) +def _validate_extension_install( + cmd, resource_group_name, cluster_rp, cluster_type, cluster_name, no_wait +): + # Validate if the extension is installed, if not, install it + extension_client = k8s_configuration_extension_client(cmd.cli_ctx) + extensions = extension_client.list( + resource_group_name, cluster_rp, cluster_type, cluster_name + ) + flux_extension = None + for extension in extensions: + if extension.extension_type.lower() == consts.FLUX_EXTENSION_TYPE: + flux_extension = extension + break + if not flux_extension: + logger.warning( + "'Microsoft.Flux' extension not found on the cluster, installing it now." + " This may take a few minutes..." + ) - kustomization = { - kustomization_name: KustomizationDefinition( - path=path, - depends_on=model_dependencies, - timeout_in_seconds=parse_duration(timeout), - sync_interval_in_seconds=parse_duration(sync_interval), - retry_interval_in_seconds=parse_duration(retry_interval), - prune=prune, - force=force + extension = Extension( + extension_type="microsoft.flux", + auto_upgrade_minor_version=True, + release_train=os.getenv(consts.FLUX_EXTENSION_RELEASETRAIN), + version=os.getenv(consts.FLUX_EXTENSION_VERSION), + ) + if not is_dogfood_cluster(cmd): + extension = __add_identity( + cmd, + extension, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, ) - } - flux_configuration_patch = FluxConfigurationPatch( - kustomizations=kustomization + + logger.info( + "Starting extension creation on the cluster. This might take a few minutes..." ) - return sdk_no_wait(no_wait, self.client.begin_update, resource_group_name, cluster_rp, - cluster_type, cluster_name, name, flux_configuration_patch) - - def delete_kustomization(self, resource_group_name, cluster_type, cluster_name, name, - kustomization_name, no_wait=False, yes=False): - # Confirmation message for deletes - user_confirmation_factory(self.cmd, yes) - - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - - current_config = self.client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) - if kustomization_name not in current_config.kustomizations: - raise ValidationError( - consts.DELETE_KUSTOMIZATION_NO_EXIST_ERROR.format(kustomization_name, name), - consts.DELETE_KUSTOMIZATION_NO_EXIST_HELP + sdk_no_wait( + no_wait, + extension_client.begin_create, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + "flux", + extension, + ).result() + # Only show that we have received a success when we have --no-wait + if not no_wait: + logger.warning( + "'Microsoft.Flux' extension was successfully installed on the cluster" ) + elif flux_extension.provisioning_state == consts.CREATING: + raise DeploymentError( + consts.FLUX_EXTENSION_CREATING_ERROR, consts.FLUX_EXTENSION_CREATING_HELP + ) + elif flux_extension.provisioning_state != consts.SUCCEEDED: + raise DeploymentError( + consts.FLUX_EXTENSION_NOT_SUCCEEDED_OR_CREATING_ERROR, + consts.FLUX_EXTENSION_NOT_SUCCEEDED_OR_CREATING_HELP, + ) - if current_config.kustomizations[kustomization_name].prune: - logger.warning("Prune is enabled on this kustomization. Deleting a kustomization " - "with prune enabled will also delete the Kubernetes objects " - "deployed by the kustomization.") - user_confirmation_factory(self.cmd, yes, "Do you want to continue?") - kustomization = { - kustomization_name: None - } - flux_configuration_patch = FluxConfigurationPatch( - kustomizations=kustomization +def __add_identity( + cmd, extension_instance, resource_group_name, cluster_rp, cluster_type, cluster_name +): + subscription_id = get_subscription_id(cmd.cli_ctx) + resources = cf_resources(cmd.cli_ctx, subscription_id) + + if cluster_type.lower() == consts.MANAGED_CLUSTER_TYPE: + return extension_instance + + cluster_rp, parent_api_version = get_cluster_rp_api_version(cluster_type) + + cluster_resource_id = ( + "/subscriptions/{0}/resourceGroups/{1}/providers/{2}/{3}/{4}".format( + subscription_id, resource_group_name, cluster_rp, cluster_type, cluster_name ) - return sdk_no_wait(no_wait, self.client.begin_update, resource_group_name, cluster_rp, - cluster_type, cluster_name, name, flux_configuration_patch) - - def list_kustomization(self, resource_group_name, cluster_type, cluster_name, name): - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - current_config = self.client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) - return current_config.kustomizations - - def show_kustomization(self, resource_group_name, cluster_type, cluster_name, name, kustomization_name): - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - current_config = self.client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) - if kustomization_name not in current_config.kustomizations: - raise ValidationError( - consts.SHOW_KUSTOMIZATION_NO_EXIST_ERROR.format(kustomization_name, name), - consts.SHOW_KUSTOMIZATION_NO_EXIST_HELP + ) + + try: + resource = resources.get_by_id(cluster_resource_id, parent_api_version) + location = str(resource.location.lower()) + except HttpResponseError as ex: + raise ex + identity_type = "SystemAssigned" + + extension_instance.identity = Identity(type=identity_type) + extension_instance.location = location + return extension_instance + + +def source_kind_generator_factory(kind=consts.GIT, **kwargs): + if kind == consts.GIT: + return GitRepositoryGenerator(**kwargs) + return BucketGenerator(**kwargs) + + +def convert_to_cli_source_kind(rp_source_kind): + if rp_source_kind == consts.GIT_REPOSITORY: + return consts.GIT + return consts.BUCKET + + +class SourceKindGenerator: + def __init__(self, kind, required_params, valid_params): + self.kind = kind + self.valid_params = valid_params + self.required_params = required_params + + def validate_required_params(self, **kwargs): + copied_required = self.required_params.copy() + for kwarg, value in kwargs.items(): + if value: + copied_required.discard(kwarg) + if len(copied_required) > 0: + raise RequiredArgumentMissingError( + consts.REQUIRED_VALUES_MISSING_ERROR.format( + ",".join(map(pretty_parameter, copied_required)), self.kind + ), + consts.REQUIRED_VALUES_MISSING_HELP, ) - return {kustomization_name: current_config.kustomizations[kustomization_name]} - - def delete(self, resource_group_name, cluster_type, cluster_name, name, force, no_wait, yes): - # Confirmation message for deletes - user_confirmation_factory(self.cmd, yes) - - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - - config = None - try: - config = self.client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) - except HttpResponseError: - logger.warning("No flux configuration with name '%s' found on cluster '%s', so nothing to delete", - name, cluster_name) - return None - - if has_prune_enabled(config): - logger.warning("Prune is enabled on one or more of your kustomizations. Deleting a Flux " - "configuration with prune enabled will also delete the Kubernetes objects " - "deployed by the kustomization(s).") - user_confirmation_factory(self.cmd, yes, "Do you want to continue?") - - if not force: - logger.info("Deleting the flux configuration from the cluster. This may take a few minutes...") - return sdk_no_wait(no_wait, self.client.begin_delete, resource_group_name, cluster_rp, cluster_type, - cluster_name, name, force_delete=force) - - def _is_deferred(self): - if '--defer' in self.cmd.cli_ctx.data.get('safe_params'): - return True - return False - - def _validate_source_control_config_not_installed(self, resource_group_name, cluster_type, cluster_name): - # Validate if we are able to install the flux configuration - configs = self.source_control_configuration_provider.list(resource_group_name, cluster_type, cluster_name) - # configs is an iterable, no len() so we have to iterate to check for configs - for _ in configs: - raise DeploymentError( - consts.SCC_EXISTS_ON_CLUSTER_ERROR, - consts.SCC_EXISTS_ON_CLUSTER_HELP) - - def _validate_extension_install(self, resource_group_name, cluster_rp, cluster_type, cluster_name, no_wait): - # Validate if the extension is installed, if not, install it - extensions = self.extension_client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) - flux_extension = None - for extension in extensions: - if extension.extension_type.lower() == consts.FLUX_EXTENSION_TYPE: - flux_extension = extension - break - if not flux_extension: - logger.warning("'Microsoft.Flux' extension not found on the cluster, installing it now." - " This may take a few minutes...") - - extension = Extension( - extension_type="microsoft.flux", - auto_upgrade_minor_version=True, - release_train=os.getenv(consts.FLUX_EXTENSION_RELEASETRAIN), - version=os.getenv(consts.FLUX_EXTENSION_VERSION) - ) - if not is_dogfood_cluster(self.cmd): - extension = self.__add_identity(extension, - resource_group_name, - cluster_rp, - cluster_type, - cluster_name) - - logger.info("Starting extension creation on the cluster. This might take a few minutes...") - sdk_no_wait(no_wait, self.extension_client.begin_create, resource_group_name, cluster_rp, cluster_type, - cluster_name, "flux", extension).result() - # Only show that we have received a success when we have --no-wait - if not no_wait: - logger.warning("'Microsoft.Flux' extension was successfully installed on the cluster") - elif flux_extension.provisioning_state == consts.CREATING: - raise DeploymentError( - consts.FLUX_EXTENSION_CREATING_ERROR, - consts.FLUX_EXTENSION_CREATING_HELP - ) - elif flux_extension.provisioning_state != consts.SUCCEEDED: - raise DeploymentError( - consts.FLUX_EXTENSION_NOT_SUCCEEDED_OR_CREATING_ERROR, - consts.FLUX_EXTENSION_NOT_SUCCEEDED_OR_CREATING_HELP + + def validate_params(self, **kwargs): + bad_args = [] + for kwarg, value in kwargs.items(): + if value and kwarg not in self.valid_params: + bad_args.append(kwarg) + if len(bad_args) > 0: + raise UnrecognizedArgumentError( + consts.EXTRA_VALUES_PROVIDED_ERROR.format( + ",".join(map(pretty_parameter, bad_args)), self.kind + ), + consts.EXTRA_VALUES_PROVIDED_HELP.format( + self.kind, ",".join(map(pretty_parameter, self.valid_params)) + ), ) - def _validate_and_get_gitrepository(self, url, branch, tag, semver, commit, timeout, sync_interval, - ssh_private_key, ssh_private_key_file, https_user, https_key, - https_ca_cert, https_ca_cert_file, known_hosts, known_hosts_file, - local_auth_ref, is_create): + +def pretty_parameter(parameter): + parameter = parameter.replace("_", "-") + return "'--" + parameter + "'" + + +# pylint: disable=too-many-instance-attributes +class GitRepositoryGenerator(SourceKindGenerator): + def __init__(self, **kwargs): + # Common Pre-Validation + super().__init__( + consts.GIT, consts.GIT_REPO_REQUIRED_PARAMS, consts.GIT_REPO_VALID_PARAMS + ) + super().validate_params(**kwargs) + # Pre-Validation - validate_duration("--timeout", timeout) - validate_duration("--sync-interval", sync_interval) + validate_duration("--timeout", kwargs.get("timeout")) + validate_duration("--sync-interval", kwargs.get("sync_interval")) + + self.kwargs = kwargs + self.url = kwargs.get("url") + self.timeout = kwargs.get("timeout") + self.sync_interval = kwargs.get("sync_interval") + self.local_auth_ref = kwargs.get("local_auth_ref") + self.known_hosts = kwargs.get("known_hosts") + self.known_hosts_file = kwargs.get("known_hosts_file") + self.ssh_private_key = kwargs.get("ssh_private_key") + self.ssh_private_key_file = kwargs.get("ssh_private_key_file") + self.https_user = kwargs.get("https_user") + self.https_key = kwargs.get("https_key") # Get the known hosts data and validate it - knownhost_data = get_data_from_key_or_file(known_hosts, known_hosts_file, strip_newline=True) - if knownhost_data: - validate_known_hosts(knownhost_data) - - https_ca_data = get_data_from_key_or_file(https_ca_cert, https_ca_cert_file, strip_newline=True) - - # Validate registration with the RP endpoint - validate_cc_registration(self.cmd) - - if is_create: - validate_git_repository(url) - validate_url_with_params(url, ssh_private_key, ssh_private_key_file, - known_hosts, known_hosts_file, https_user, https_key) - validate_repository_ref(branch, tag, semver, commit) - - repository_ref = None - if any([branch, tag, semver, commit]): - repository_ref = RepositoryRefDefinition( - branch=branch, - tag=tag, - semver=semver, - commit=commit + self.knownhost_data = get_data_from_key_or_file( + kwargs.get("known_hosts"), + kwargs.get("known_hosts_file"), + strip_newline=True, + ) + if self.knownhost_data: + validate_known_hosts(self.knownhost_data) + + self.https_ca_data = get_data_from_key_or_file( + kwargs.get("https_ca_cert"), + kwargs.get("https_ca_cert_file"), + strip_newline=True, + ) + self.repository_ref = None + if any( + [ + kwargs.get("branch"), + kwargs.get("tag"), + kwargs.get("semver"), + kwargs.get("commit"), + ] + ): + self.repository_ref = RepositoryRefDefinition( + branch=kwargs.get("branch"), + tag=kwargs.get("tag"), + semver=kwargs.get("semver"), + commit=kwargs.get("commit"), ) - # Encode the https username to base64 - if https_user: - https_user = to_base64(https_user) + def validate(self): + super().validate_required_params(**self.kwargs) + validate_git_url(self.url) + validate_url_with_params( + self.url, + self.ssh_private_key, + self.ssh_private_key_file, + self.known_hosts, + self.known_hosts_file, + self.https_user, + self.https_key, + ) + validate_repository_ref(self.repository_ref) - return GitRepositoryDefinition( - url=url, - timeout_in_seconds=parse_duration(timeout), - sync_interval_in_seconds=parse_duration(sync_interval), - repository_ref=repository_ref, - ssh_known_hosts=knownhost_data, - https_user=https_user, - local_auth_ref=local_auth_ref, - https_ca_file=https_ca_data + def generate_update_func(self): + """ + generate_update_func(self) generates a function to add a GitRepository + object to the flux configuration for the PUT case + """ + self.validate() + + def updater(config): + config.git_repository = GitRepositoryDefinition( + url=self.url, + timeout_in_seconds=parse_duration(self.timeout), + sync_interval_in_seconds=parse_duration(self.sync_interval), + repository_ref=self.repository_ref, + ssh_known_hosts=self.knownhost_data, + https_user=self.https_user, + local_auth_ref=self.local_auth_ref, + https_ca_cert=self.https_ca_data, + ) + config.source_kind = SourceKindType.GIT_REPOSITORY + return config + + return updater + + def generate_patch_update_func(self, swapped_kind): + """ + generate_patch_update_func(self) generates a function update the GitRepository + object to the flux configuration for the PATCH case. + If the source kind has been changed, we also set the Bucket to null + """ + + def git_repository_updater(config): + if any(kwarg is not None for kwarg in self.kwargs.values()): + config.git_repository = GitRepositoryPatchDefinition( + url=self.url, + timeout_in_seconds=parse_duration(self.timeout), + sync_interval_in_seconds=parse_duration(self.sync_interval), + repository_ref=self.repository_ref, + ssh_known_hosts=self.knownhost_data, + https_user=self.https_user, + local_auth_ref=self.local_auth_ref, + https_ca_cert=self.https_ca_data, + ) + if swapped_kind: + self.validate() + config.source_kind = SourceKindType.GIT_REPOSITORY + + # Have to set these things to none otherwise the patch will fail + # due to default values + config.bucket = BucketDefinition( + insecure=None, + timeout_in_seconds=None, + sync_interval_in_seconds=None, + ) + return config + + return git_repository_updater + + +class BucketGenerator(SourceKindGenerator): + def __init__(self, **kwargs): + # Common Pre-Validation + super().__init__( + consts.BUCKET, consts.BUCKET_REQUIRED_PARAMS, consts.BUCKET_VALID_PARAMS ) + super().validate_params(**kwargs) + + # Pre-Validations + validate_duration("--timeout", kwargs.get("timeout")) + validate_duration("--sync-interval", kwargs.get("sync_interval")) + + self.kwargs = kwargs + self.url = kwargs.get("url") + self.bucket_name = kwargs.get("bucket_name") + self.timeout = kwargs.get("timeout") + self.sync_interval = kwargs.get("sync_interval") + self.bucket_access_key = kwargs.get("bucket_access_key") + self.bucket_secret_key = kwargs.get("bucket_secret_key") + self.local_auth_ref = kwargs.get("local_auth_ref") + self.bucket_insecure = kwargs.get("bucket_insecure") + + def validate(self): + super().validate_required_params(**self.kwargs) + validate_bucket_url(self.url) + if not ( + (self.bucket_access_key and self.bucket_secret_key) or self.local_auth_ref + ): + raise RequiredArgumentMissingError( + consts.REQUIRED_BUCKET_VALUES_MISSING_ERROR, + consts.REQUIRED_BUCKET_VALUES_MISSING_HELP, + ) - def __add_identity(self, extension_instance, resource_group_name, cluster_rp, cluster_type, cluster_name): - subscription_id = get_subscription_id(self.cmd.cli_ctx) - resources = cf_resources(self.cmd.cli_ctx, subscription_id) - - cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/{2}/{3}/{4}'.format(subscription_id, - resource_group_name, - cluster_rp, - cluster_type, - cluster_name) - - if cluster_rp == consts.MANAGED_RP_NAMESPACE: - return extension_instance - parent_api_version = get_parent_api_version(cluster_rp) - try: - resource = resources.get_by_id(cluster_resource_id, parent_api_version) - location = str(resource.location.lower()) - except HttpResponseError as ex: - raise ex - identity_type = "SystemAssigned" - - extension_instance.identity = Identity(type=identity_type) - extension_instance.location = location - return extension_instance + def generate_update_func(self): + """ + generate_update_func(self) generates a function to add a Bucket + object to the flux configuration for the PUT case + """ + self.validate() + + def bucket_updater(config): + config.bucket = BucketDefinition( + url=self.url, + bucket_name=self.bucket_name, + timeout_in_seconds=parse_duration(self.timeout), + sync_interval_in_seconds=parse_duration(self.sync_interval), + access_key=self.bucket_access_key, + local_auth_ref=self.local_auth_ref, + insecure=self.bucket_insecure, + ) + config.source_kind = SourceKindType.BUCKET + return config + + return bucket_updater + def generate_patch_update_func(self, swapped_kind): + """ + generate_patch_update_func(self) generates a function update the Bucket + object to the flux configuration for the PATCH case. + If the source kind has been changed, we also set the GitRepository to null + """ -def get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key): + def bucket_patch_updater(config): + if any(kwarg is not None for kwarg in self.kwargs.values()): + config.bucket = BucketDefinition( + url=self.url, + bucket_name=self.bucket_name, + timeout_in_seconds=parse_duration(self.timeout), + sync_interval_in_seconds=parse_duration(self.sync_interval), + access_key=self.bucket_access_key, + local_auth_ref=self.local_auth_ref, + insecure=self.bucket_insecure, + ) + if swapped_kind: + self.validate() + config.source_kind = SourceKindType.BUCKET + config.git_repository = GitRepositoryPatchDefinition() + return config + + return bucket_patch_updater + + +def get_protected_settings( + ssh_private_key, ssh_private_key_file, https_key, bucket_secret_key +): protected_settings = {} - ssh_private_key_data = get_data_from_key_or_file(ssh_private_key, ssh_private_key_file) + ssh_private_key_data = get_data_from_key_or_file( + ssh_private_key, ssh_private_key_file + ) # Add gitops private key data to protected settings if exists - # Dry-run all key types to determine if the private key is in a valid format if ssh_private_key_data: protected_settings[consts.SSH_PRIVATE_KEY_KEY] = ssh_private_key_data - # Check if both httpsUser and httpsKey exist, then add to protected settings - if https_user and https_key: + if https_key: protected_settings[consts.HTTPS_KEY_KEY] = to_base64(https_key) + if bucket_secret_key: + protected_settings[consts.BUCKET_SECRET_KEY_KEY] = to_base64(bucket_secret_key) + # Return the protected settings dict if there are any values there return protected_settings if len(protected_settings) > 0 else None diff --git a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py index d5d497ac514..7209a12730b 100644 --- a/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py +++ b/src/k8s-configuration/azext_k8s_configuration/providers/SourceControlConfigurationProvider.py @@ -7,124 +7,175 @@ from azure.core.exceptions import HttpResponseError from knack.log import get_logger -from .._client_factory import k8s_configuration_sourcecontrol_client -from ..utils import fix_compliance_state, get_cluster_rp, get_data_from_key_or_file, to_base64 -from ..validators import validate_cc_registration, validate_known_hosts, validate_url_with_params +from ..utils import ( + fix_compliance_state, + get_cluster_rp_api_version, + get_data_from_key_or_file, + to_base64, +) +from ..validators import ( + validate_cc_registration, + validate_known_hosts, + validate_url_with_params, +) from .. import consts from ..vendored_sdks.v2021_03_01.models import ( HelmOperatorProperties, - SourceControlConfiguration + SourceControlConfiguration, ) logger = get_logger(__name__) -class SourceControlConfigurationProvider: - def __init__(self, cmd): - self.cmd = cmd - self.client = k8s_configuration_sourcecontrol_client(cmd.cli_ctx) - - def show(self, resource_group_name, cluster_type, cluster_name, name): - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - try: - extension = self.client.get(resource_group_name, - cluster_rp, cluster_type, - cluster_name, name) - return extension - except HttpResponseError as ex: - # Customize the error message for resources not found - if ex.response.status_code == 404: - # If Cluster not found - if ex.message.__contains__("(ResourceNotFound)"): - message = "{0} Verify that the cluster-type is correct and the resource exists.".format( - ex.message) - # If Configuration not found - elif ex.message.__contains__("Operation returned an invalid status code 'Not Found'"): - message = "(SourceControlConfigurationNotFound) The Resource {0}/{1}/{2}/" \ - "Microsoft.KubernetesConfiguration/sourceControlConfigurations/{3}" \ - "could not be found!".format(cluster_rp, cluster_type, - cluster_name, name) - else: - message = ex.message - raise ResourceNotFoundError(message) from ex - raise ex - - def list(self, resource_group_name, cluster_type, cluster_name): - cluster_rp = get_cluster_rp(cluster_type) - return self.client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) - - def delete(self, resource_group_name, cluster_type, cluster_name, name): - cluster_rp = get_cluster_rp(cluster_type) - return self.client.begin_delete(resource_group_name, cluster_rp, cluster_type, cluster_name, name) - - # pylint: disable=too-many-locals - def create(self, resource_group_name, cluster_name, name, repository_url, scope, cluster_type, - operator_instance_name, operator_namespace, helm_operator_chart_version, operator_type, - operator_params, ssh_private_key, ssh_private_key_file, https_user, https_key, - ssh_known_hosts, ssh_known_hosts_file, enable_helm_operator, helm_operator_params): - - """Create a new Kubernetes Source Control Configuration. - - """ - # Determine ClusterRP - cluster_rp = get_cluster_rp(cluster_type) - - # Determine operatorInstanceName - if operator_instance_name is None: - operator_instance_name = name - - # Create helmOperatorProperties object - helm_operator_properties = None - if enable_helm_operator: - helm_operator_properties = HelmOperatorProperties() - helm_operator_properties.chart_version = helm_operator_chart_version.strip() - helm_operator_properties.chart_values = helm_operator_params.strip() - - validate_url_with_params(repository_url, - ssh_private_key, - ssh_private_key_file, - ssh_known_hosts, - ssh_known_hosts_file, - https_user, - https_key) - - protected_settings = get_protected_settings(ssh_private_key, - ssh_private_key_file, - https_user, - https_key) - knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) - if knownhost_data: - validate_known_hosts(knownhost_data) - - # Validate that the subscription is registered to Microsoft.KubernetesConfiguration - validate_cc_registration(self.cmd) - - # Create sourceControlConfiguration object - source_control_configuration = SourceControlConfiguration( - repository_url=repository_url, - operator_namespace=operator_namespace, - operator_instance_name=operator_instance_name, - operator_type=operator_type, - operator_params=operator_params, - configuration_protected_settings=protected_settings, - operator_scope=scope, - ssh_known_hosts_contents=knownhost_data, - enable_helm_operator=enable_helm_operator, - helm_operator_properties=helm_operator_properties - ) - - # Try to create the resource - config = self.client.create_or_update(resource_group_name, cluster_rp, cluster_type, cluster_name, - name, source_control_configuration) +def show_config(cmd, client, resource_group_name, cluster_type, cluster_name, name): + # Validate that the subscription is registered to Microsoft.KubernetesConfiguration + validate_cc_registration(cmd) - return fix_compliance_state(config) - - -def get_protected_settings(ssh_private_key, ssh_private_key_file, https_user, https_key): + # Determine ClusterRP + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + try: + extension = client.get( + resource_group_name, cluster_rp, cluster_type, cluster_name, name + ) + return extension + except HttpResponseError as ex: + # Customize the error message for resources not found + if ex.response.status_code == 404: + # If Cluster not found + if ex.message.__contains__("(ResourceNotFound)"): + message = "{0} Verify that the cluster-type is correct and the resource exists.".format( + ex.message + ) + # If Configuration not found + elif ex.message.__contains__( + "Operation returned an invalid status code 'Not Found'" + ): + message = ( + "(SourceControlConfigurationNotFound) The Resource {0}/{1}/{2}/" + "Microsoft.KubernetesConfiguration/sourceControlConfigurations/{3}" + "could not be found!".format( + cluster_rp, cluster_type, cluster_name, name + ) + ) + else: + message = ex.message + raise ResourceNotFoundError(message) from ex + raise ex + + +def list_configs(cmd, client, resource_group_name, cluster_type, cluster_name): + # Validate that the subscription is registered to Microsoft.KubernetesConfiguration + validate_cc_registration(cmd) + + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) + + +def delete_config(cmd, client, resource_group_name, cluster_type, cluster_name, name): + # Validate that the subscription is registered to Microsoft.KubernetesConfiguration + validate_cc_registration(cmd) + + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + return client.begin_delete( + resource_group_name, cluster_rp, cluster_type, cluster_name, name + ) + + +# pylint: disable=too-many-locals +def create_config( + cmd, + client, + resource_group_name, + cluster_name, + name, + repository_url, + scope, + cluster_type, + operator_instance_name=None, + operator_namespace="default", + helm_operator_chart_version="1.4.0", + operator_type="flux", + operator_params="", + ssh_private_key="", + ssh_private_key_file="", + https_user="", + https_key="", + ssh_known_hosts="", + ssh_known_hosts_file="", + enable_helm_operator=None, + helm_operator_params="", +): + + """Create a new Kubernetes Source Control Configuration.""" + # Determine ClusterRP + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) + + # Determine operatorInstanceName + if operator_instance_name is None: + operator_instance_name = name + + # Create helmOperatorProperties object + helm_operator_properties = None + if enable_helm_operator: + helm_operator_properties = HelmOperatorProperties() + helm_operator_properties.chart_version = helm_operator_chart_version.strip() + helm_operator_properties.chart_values = helm_operator_params.strip() + + validate_url_with_params( + repository_url, + ssh_private_key, + ssh_private_key_file, + ssh_known_hosts, + ssh_known_hosts_file, + https_user, + https_key, + ) + + protected_settings = get_protected_settings( + ssh_private_key, ssh_private_key_file, https_user, https_key + ) + knownhost_data = get_data_from_key_or_file(ssh_known_hosts, ssh_known_hosts_file) + if knownhost_data: + validate_known_hosts(knownhost_data) + + # Validate that the subscription is registered to Microsoft.KubernetesConfiguration + validate_cc_registration(cmd) + + # Create sourceControlConfiguration object + source_control_configuration = SourceControlConfiguration( + repository_url=repository_url, + operator_namespace=operator_namespace, + operator_instance_name=operator_instance_name, + operator_type=operator_type, + operator_params=operator_params, + configuration_protected_settings=protected_settings, + operator_scope=scope, + ssh_known_hosts_contents=knownhost_data, + enable_helm_operator=enable_helm_operator, + helm_operator_properties=helm_operator_properties, + ) + + # Try to create the resource + config = client.create_or_update( + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + source_control_configuration, + ) + + return fix_compliance_state(config) + + +def get_protected_settings( + ssh_private_key, ssh_private_key_file, https_user, https_key +): protected_settings = {} - ssh_private_key_data = get_data_from_key_or_file(ssh_private_key, ssh_private_key_file) + ssh_private_key_data = get_data_from_key_or_file( + ssh_private_key, ssh_private_key_file + ) # Add gitops private key data to protected settings if exists # Dry-run all key types to determine if the private key is in a valid format diff --git a/src/k8s-configuration/azext_k8s_configuration/utils.py b/src/k8s-configuration/azext_k8s_configuration/utils.py index b90381aa8e8..d66271b2233 100644 --- a/src/k8s-configuration/azext_k8s_configuration/utils.py +++ b/src/k8s-configuration/azext_k8s_configuration/utils.py @@ -7,28 +7,34 @@ import json import re from datetime import timedelta +from typing import Tuple from azure.cli.core.azclierror import ( MutuallyExclusiveArgumentError, - InvalidArgumentValueError + InvalidArgumentValueError, ) from . import consts -def get_cluster_rp(cluster_type): - if cluster_type.lower() == consts.CONNECTED_CLUSTERS: - return consts.CONNECTED_RP_NAMESPACE - if cluster_type.lower() == consts.APPLIANCES: - return consts.APPLIANCE_RP_NAMESPACE - if cluster_type.lower() == '' or cluster_type.lower() == 'managedclusters': - return consts.MANAGED_RP_NAMESPACE - raise InvalidArgumentValueError("Error! Cluster type '{}' is not supported".format(cluster_type)) +def get_cluster_rp_api_version(cluster_type) -> Tuple[str, str]: + if cluster_type.lower() == consts.CONNECTED_CLUSTER_TYPE: + return consts.CONNECTED_CLUSTER_RP, consts.CONNECTED_CLUSTER_API_VERSION + if cluster_type.lower() == consts.APPLIANCE_TYPE: + return consts.APPLIANCE_RP, consts.APPLIANCE_API_VERSION + if ( + cluster_type.lower() == "" + or cluster_type.lower() == consts.MANAGED_CLUSTER_TYPE + ): + return consts.MANAGED_CLUSTER_RP, consts.MANAGED_CLUSTER_API_VERSION + raise InvalidArgumentValueError( + "Error! Cluster type '{}' is not supported".format(cluster_type) + ) def get_data_from_key_or_file(key, filepath, strip_newline=False): if key and filepath: raise MutuallyExclusiveArgumentError( - consts.KEY_AND_FILE_TOGETHER_ERROR, - consts.KEY_AND_FILE_TOGETHER_HELP) + consts.KEY_AND_FILE_TOGETHER_ERROR, consts.KEY_AND_FILE_TOGETHER_HELP + ) data = None if filepath: data = read_key_file(filepath, strip_newline) @@ -39,7 +45,7 @@ def get_data_from_key_or_file(key, filepath, strip_newline=False): def read_config_settings_file(file_path): try: - with open(file_path, 'r') as f: + with open(file_path, "r") as f: settings = json.load(f) if len(settings) == 0: raise Exception("File {} is empty".format(file_path)) @@ -55,27 +61,27 @@ def read_key_file(path, strip_newline=False): data_list_len = len(data_list) if (data_list_len) <= 0: raise Exception("File provided does not contain any data") - raw_data = ''.join(data_list) + raw_data = "".join(data_list) if strip_newline: raw_data = raw_data.strip() return to_base64(raw_data) except Exception as ex: raise InvalidArgumentValueError( - consts.KEY_FILE_READ_ERROR.format(ex), - consts.KEY_FILE_READ_HELP) from ex + consts.KEY_FILE_READ_ERROR.format(ex), consts.KEY_FILE_READ_HELP + ) from ex def parse_dependencies(depends_on): depends_on = depends_on.strip() - if depends_on[0] == '[': + if depends_on[0] == "[": depends_on = depends_on[1:-1] - return depends_on.split(',') + return depends_on.split(",") def parse_duration(duration): if not duration: return duration - regex = re.compile(r'((?P\d+?)h)?((?P\d+?)m)?((?P\d+?)s)?') + regex = re.compile(r"((?P\d+?)h)?((?P\d+?)m)?((?P\d+?)s)?") parts = regex.match(duration) parts = parts.groupdict() time_params = {} @@ -93,13 +99,13 @@ def format_duration(seconds): seconds -= hours * 3600 minutes = seconds // 60 seconds -= minutes * 60 - res = '' + res = "" if hours > 0: - res += '{}h'.format(hours) + res += "{}h".format(hours) if minutes > 0: - res += '{}m'.format(minutes) + res += "{}m".format(minutes) if seconds > 0: - res += '{}s'.format(seconds) + res += "{}s".format(seconds) return res @@ -108,31 +114,20 @@ def from_base64(base64_str): def to_base64(raw_data): - bytes_data = raw_data.encode('utf-8') - return base64.b64encode(bytes_data).decode('utf-8') + bytes_data = raw_data.encode("utf-8") + return base64.b64encode(bytes_data).decode("utf-8") def fix_compliance_state(config): # If we get Compliant/NonCompliant as compliance_sate, change them before returning - if config.compliance_status.compliance_state.lower() == 'noncompliant': - config.compliance_status.compliance_state = 'Failed' - elif config.compliance_status.compliance_state.lower() == 'compliant': - config.compliance_status.compliance_state = 'Installed' + if config.compliance_status.compliance_state.lower() == "noncompliant": + config.compliance_status.compliance_state = "Failed" + elif config.compliance_status.compliance_state.lower() == "compliant": + config.compliance_status.compliance_state = "Installed" return config -def get_parent_api_version(cluster_rp): - if cluster_rp == 'Microsoft.Kubernetes': - return '2020-01-01-preview' - if cluster_rp == 'Microsoft.ResourceConnector': - return '2020-09-15-privatepreview' - if cluster_rp == 'Microsoft.ContainerService': - return '2017-07-01' - raise InvalidArgumentValueError("Error! Cluster RP '{}' is not supported" - " for extension identity".format(cluster_rp)) - - def is_dogfood_cluster(cmd): return cmd.cli_ctx.cloud.endpoints.resource_manager == consts.DF_RM_ENDPOINT diff --git a/src/k8s-configuration/azext_k8s_configuration/validators.py b/src/k8s-configuration/azext_k8s_configuration/validators.py index 3eb2142663c..acefb4ab14a 100644 --- a/src/k8s-configuration/azext_k8s_configuration/validators.py +++ b/src/k8s-configuration/azext_k8s_configuration/validators.py @@ -10,7 +10,7 @@ from azure.cli.core.azclierror import ( InvalidArgumentValueError, RequiredArgumentMissingError, - MutuallyExclusiveArgumentError + MutuallyExclusiveArgumentError, ) from paramiko.hostkeys import HostKeyEntry from paramiko.ed25519key import Ed25519Key @@ -40,7 +40,9 @@ def validate_fluxconfig_name(namespace): def validate_operator_instance_name(namespace): if namespace.operator_instance_name: - __validate_k8s_name(namespace.operator_instance_name, "--operator-instance-name", 23) + __validate_k8s_name( + namespace.operator_instance_name, "--operator-instance-name", 23 + ) def validate_operator_namespace(namespace): @@ -51,7 +53,7 @@ def validate_operator_namespace(namespace): def validate_kustomization(values): required_keys = consts.REQUIRED_KUSTOMIZATION_KEYS for item in values: - key, value = item.split('=', 1) + key, value = item.split("=", 1) if key == "name": __validate_k8s_cr_name(value, key, 63) elif key in consts.SYNC_INTERVAL_KEYS: @@ -65,50 +67,61 @@ def validate_kustomization(values): if required_keys: raise RequiredArgumentMissingError( consts.KUSTOMIZATION_REQUIRED_VALUES_MISSING_ERROR.format(required_keys), - consts.KUSTOMIZATION_REQUIRED_VALUES_MISSING_HELP + consts.KUSTOMIZATION_REQUIRED_VALUES_MISSING_HELP, ) -def validate_repository_ref(branch: str, tag: str, semver: str, commit: str): +def validate_repository_ref(repository_ref): num_set_args = 0 - for elem in [branch, tag, semver, commit]: - if elem: - num_set_args += 1 + if repository_ref: + for elem in [ + repository_ref.branch, + repository_ref.tag, + repository_ref.semver, + repository_ref.commit, + ]: + if elem: + num_set_args += 1 if num_set_args == 0: raise RequiredArgumentMissingError( consts.REPOSITORY_REF_REQUIRED_VALUES_MISSING_ERROR, - consts.REPOSITORY_REF_REQUIRED_VALUES_MISSING_HELP + consts.REPOSITORY_REF_REQUIRED_VALUES_MISSING_HELP, ) if num_set_args == 1: return raise MutuallyExclusiveArgumentError( consts.REPOSITORY_REF_TOO_MANY_VALUES_ERROR, - consts.REPOSITORY_REF_TOO_MANY_VALUES_HELP + consts.REPOSITORY_REF_TOO_MANY_VALUES_HELP, ) def validate_duration(arg_name: str, duration: str): - if duration and not re.match(consts.VALID_DURATION_REGEX, duration): + if not duration: + return + regex = re.compile(r"((?P\d+?)h)?((?P\d+?)m)?((?P\d+?)s)?") + parts = regex.match(duration) + if duration and not parts: + raise InvalidArgumentValueError( + consts.INVALID_DURATION_ERROR.format(arg_name), consts.INVALID_DURATION_HELP + ) + parts = parts.groupdict() + if not any(parts.values()): raise InvalidArgumentValueError( - consts.INVALID_DURATION_ERROR.format(arg_name), - consts.INVALID_DURATION_HELP + consts.INVALID_DURATION_ERROR.format(arg_name), consts.INVALID_DURATION_HELP ) -def validate_git_repository(url: str): - if not url: - raise RequiredArgumentMissingError( - consts.GIT_REPOSITORY_REQUIRED_VALUES_MISSING_ERROR.format("--url"), - consts.GIT_REPOSITORY_REQUIRED_VALUES_MISSING_HELP +def validate_git_url(url: str): + if not re.match(consts.VALID_GIT_URL_REGEX, url): + raise InvalidArgumentValueError( + consts.INVALID_URL_ERROR, consts.INVALID_URL_HELP ) - validate_git_url(url) -def validate_git_url(url: str): - if not re.match(consts.VALID_URL_REGEX, url): +def validate_bucket_url(url: str): + if not re.match(consts.VALID_BUCKET_URL_REGEX, url): raise InvalidArgumentValueError( - consts.INVALID_URL_ERROR, - consts.INVALID_URL_HELP + consts.INVALID_URL_ERROR, consts.INVALID_URL_HELP ) @@ -117,17 +130,17 @@ def __validate_k8s_name(param_value, param_name, max_len): if len(param_value) > max_len: raise InvalidArgumentValueError( consts.INVALID_KUBERNETES_NAME_LENGTH_ERROR.format(param_name), - consts.INVALID_KUBERNETES_NAME_LENGTH_HELP.format(param_name, max_len) + consts.INVALID_KUBERNETES_NAME_LENGTH_HELP.format(param_name, max_len), ) if not re.match(consts.VALID_KUBERNETES_DNS_NAME_REGEX, param_value): if param_value[0] == "-" or param_value[-1] == "-": raise InvalidArgumentValueError( consts.INVALID_KUBERNETES_NAME_HYPHEN_ERROR.format(param_name), - consts.INVALID_KUBERNETES_NAME_HYPHEN_HELP.format(param_name) + consts.INVALID_KUBERNETES_NAME_HYPHEN_HELP.format(param_name), ) raise InvalidArgumentValueError( consts.INVALID_KUBERNETES_DNS_NAME_ERROR.format(param_name), - consts.INVALID_KUBERNETES_DNS_NAME_HELP.format(param_name) + consts.INVALID_KUBERNETES_DNS_NAME_HELP.format(param_name), ) @@ -135,47 +148,54 @@ def __validate_k8s_cr_name(param_value, param_name, max_len): if len(param_value) > max_len: raise InvalidArgumentValueError( consts.INVALID_KUBERNETES_NAME_LENGTH_ERROR.format(param_name), - consts.INVALID_KUBERNETES_NAME_LENGTH_HELP.format(param_name, max_len) + consts.INVALID_KUBERNETES_NAME_LENGTH_HELP.format(param_name, max_len), ) if not re.match(consts.VALID_KUBERNETES_DNS_SUBDOMAIN_NAME_REGEX, param_value): if param_value[0] == "-" or param_value[-1] == "-": raise InvalidArgumentValueError( consts.INVALID_KUBERNETES_NAME_HYPHEN_ERROR.format(param_name), - consts.INVALID_KUBERNETES_NAME_HYPHEN_HELP.format(param_name) + consts.INVALID_KUBERNETES_NAME_HYPHEN_HELP.format(param_name), ) if param_value[0] == "." or param_value[-1] == ".": raise InvalidArgumentValueError( consts.INVALID_KUBERNETES_NAME_PERIOD_ERROR.format(param_name), - consts.INVALID_KUBERNETES_NAME_PERIOD_HELP.format(param_name) + consts.INVALID_KUBERNETES_NAME_PERIOD_HELP.format(param_name), ) raise InvalidArgumentValueError( consts.INVALID_KUBERNETES_DNS_SUBDOMAIN_NAME_ERROR.format(param_name), - consts.INVALID_KUBERNETES_DNS_SUBDOMAIN_NAME_ERROR.format(param_name) + consts.INVALID_KUBERNETES_DNS_SUBDOMAIN_NAME_ERROR.format(param_name), ) -def validate_url_with_params(url: str, ssh_private_key, ssh_private_key_file, - known_hosts, known_hosts_file, https_user, https_key): +def validate_url_with_params( + url: str, + ssh_private_key, + ssh_private_key_file, + known_hosts, + known_hosts_file, + https_user, + https_key, +): scheme = urlparse(url).scheme - if scheme.lower() in ('http', 'https'): + if scheme.lower() in ("http", "https"): if ssh_private_key or ssh_private_key_file: raise MutuallyExclusiveArgumentError( consts.SSH_PRIVATE_KEY_WITH_HTTP_URL_ERROR, - consts.SSH_PRIVATE_KEY_WITH_HTTP_URL_HELP + consts.SSH_PRIVATE_KEY_WITH_HTTP_URL_HELP, ) if known_hosts or known_hosts_file: raise MutuallyExclusiveArgumentError( consts.KNOWN_HOSTS_WITH_HTTP_URL_ERROR, - consts.KNOWN_HOSTS_WITH_HTTP_URL_HELP + consts.KNOWN_HOSTS_WITH_HTTP_URL_HELP, ) - if not (https_user and https_key) and scheme == 'https': + if not (https_user and https_key) and scheme == "https": logger.warning(consts.HTTP_URL_NO_AUTH_WARNING) else: if https_user or https_key: raise MutuallyExclusiveArgumentError( consts.HTTPS_AUTH_WITH_SSH_URL_ERROR, - consts.HTTPS_AUTH_WITH_SSH_URL_HELP + consts.HTTPS_AUTH_WITH_SSH_URL_HELP, ) if https_user and https_key: @@ -183,31 +203,31 @@ def validate_url_with_params(url: str, ssh_private_key, ssh_private_key_file, # If we just provide one or the other raise an error if https_user or https_key: raise RequiredArgumentMissingError( - consts.HTTPS_USER_KEY_MATCH_ERROR, - consts.HTTPS_USER_KEY_MATCH_HELP) + consts.HTTPS_USER_KEY_MATCH_ERROR, consts.HTTPS_USER_KEY_MATCH_HELP + ) def validate_known_hosts(knownhost_data): try: - knownhost_str = from_base64(knownhost_data).decode('utf-8') + knownhost_str = from_base64(knownhost_data).decode("utf-8") except Exception as ex: raise InvalidArgumentValueError( consts.KNOWN_HOSTS_BASE64_ENCODING_ERROR, - consts.KNOWN_HOSTS_BASE64_ENCODING_HELP) from ex - lines = knownhost_str.split('\n') + consts.KNOWN_HOSTS_BASE64_ENCODING_HELP, + ) from ex + lines = knownhost_str.split("\n") for line in lines: - line = line.strip(' ') + line = line.strip(" ") line_len = len(line) if (line_len == 0) or (line[0] == "#"): continue try: host_key = HostKeyEntry.from_line(line) if not host_key: - raise Exception('not enough fields found in known_hosts line') + raise Exception("not enough fields found in known_hosts line") except Exception as ex: raise InvalidArgumentValueError( - consts.KNOWN_HOSTS_FORMAT_ERROR, - consts.KNOWN_HOSTS_FORMAT_HELP + consts.KNOWN_HOSTS_FORMAT_ERROR, consts.KNOWN_HOSTS_FORMAT_HELP ) from ex @@ -225,13 +245,14 @@ def validate_private_key(ssh_private_key_data): return except ValueError: try: - key_obj = io.StringIO(from_base64(ssh_private_key_data).decode('utf-8')) + key_obj = io.StringIO( + from_base64(ssh_private_key_data).decode("utf-8") + ) Ed25519Key(file_obj=key_obj) return except SSHException as ex: raise InvalidArgumentValueError( - consts.SSH_PRIVATE_KEY_ERROR, - consts.SSH_PRIVATE_KEY_HELP + consts.SSH_PRIVATE_KEY_ERROR, consts.SSH_PRIVATE_KEY_HELP ) from ex @@ -239,30 +260,39 @@ def validate_private_key(ssh_private_key_data): def validate_cc_registration(cmd): try: rp_client = resource_providers_client(cmd.cli_ctx) - registration_state = rp_client.get(consts.CC_PROVIDER_NAMESPACE).registration_state + registration_state = rp_client.get( + consts.CC_PROVIDER_NAMESPACE + ).registration_state if registration_state.lower() != consts.REGISTERED.lower(): - logger.warning(consts.CC_REGISTRATION_WARNING, - consts.CC_PROVIDER_NAMESPACE, - consts.CC_REGISTRATION_LINK) + logger.warning( + consts.CC_REGISTRATION_WARNING, + consts.CC_PROVIDER_NAMESPACE, + consts.CC_REGISTRATION_LINK, + ) except Exception: - logger.warning(consts.CC_REGISTRATION_ERROR, - consts.CC_PROVIDER_NAMESPACE) + logger.warning(consts.CC_REGISTRATION_ERROR, consts.CC_PROVIDER_NAMESPACE) def validate_scope_and_namespace(scope, release_namespace, target_namespace): - if scope == 'cluster': + if scope == "cluster": if target_namespace is not None: message = "When --scope is 'cluster', --target-namespace must not be given." raise MutuallyExclusiveArgumentError(message) else: if release_namespace is not None: - message = "When --scope is 'namespace', --release-namespace must not be given." + message = ( + "When --scope is 'namespace', --release-namespace must not be given." + ) raise MutuallyExclusiveArgumentError(message) def validate_scope_after_customization(scope_obj): - if scope_obj is not None and scope_obj.namespace is not None and scope_obj.namespace.target_namespace is None: + if ( + scope_obj is not None + and scope_obj.namespace is not None + and scope_obj.namespace.target_namespace is None + ): message = "When --scope is 'namespace', --target-namespace must be given." raise RequiredArgumentMissingError(message) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py index f0749f25ad1..1743fa49f4d 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/_source_control_configuration_client.py @@ -98,6 +98,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2021-05-01-preview: :mod:`v2021_05_01_preview.models` * 2021-09-01: :mod:`v2021_09_01.models` * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` + * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` """ if api_version == '2020-07-01-preview': from .v2020_07_01_preview import models @@ -117,6 +118,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2021-11-01-preview': from .v2021_11_01_preview import models return models + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview import models + return models raise ValueError("API version {} is not available".format(api_version)) @property @@ -125,12 +129,15 @@ def cluster_extension_type(self): * 2021-05-01-preview: :class:`ClusterExtensionTypeOperations` * 2021-11-01-preview: :class:`ClusterExtensionTypeOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypeOperations` """ api_version = self._get_api_version('cluster_extension_type') if api_version == '2021-05-01-preview': from .v2021_05_01_preview.operations import ClusterExtensionTypeOperations as OperationClass elif api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ClusterExtensionTypeOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'cluster_extension_type'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -141,12 +148,15 @@ def cluster_extension_types(self): * 2021-05-01-preview: :class:`ClusterExtensionTypesOperations` * 2021-11-01-preview: :class:`ClusterExtensionTypesOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypesOperations` """ api_version = self._get_api_version('cluster_extension_types') if api_version == '2021-05-01-preview': from .v2021_05_01_preview.operations import ClusterExtensionTypesOperations as OperationClass elif api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ClusterExtensionTypesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'cluster_extension_types'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -157,12 +167,15 @@ def extension_type_versions(self): * 2021-05-01-preview: :class:`ExtensionTypeVersionsOperations` * 2021-11-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2022-01-01-preview: :class:`ExtensionTypeVersionsOperations` """ api_version = self._get_api_version('extension_type_versions') if api_version == '2021-05-01-preview': from .v2021_05_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass elif api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'extension_type_versions'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -175,6 +188,7 @@ def extensions(self): * 2021-05-01-preview: :class:`ExtensionsOperations` * 2021-09-01: :class:`ExtensionsOperations` * 2021-11-01-preview: :class:`ExtensionsOperations` + * 2022-01-01-preview: :class:`ExtensionsOperations` """ api_version = self._get_api_version('extensions') if api_version == '2020-07-01-preview': @@ -185,6 +199,8 @@ def extensions(self): from .v2021_09_01.operations import ExtensionsOperations as OperationClass elif api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ExtensionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'extensions'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -194,10 +210,13 @@ def flux_config_operation_status(self): """Instance depends on the API version: * 2021-11-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-01-01-preview: :class:`FluxConfigOperationStatusOperations` """ api_version = self._get_api_version('flux_config_operation_status') if api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import FluxConfigOperationStatusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'flux_config_operation_status'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -207,10 +226,13 @@ def flux_configurations(self): """Instance depends on the API version: * 2021-11-01-preview: :class:`FluxConfigurationsOperations` + * 2022-01-01-preview: :class:`FluxConfigurationsOperations` """ api_version = self._get_api_version('flux_configurations') if api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import FluxConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'flux_configurations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -221,12 +243,15 @@ def location_extension_types(self): * 2021-05-01-preview: :class:`LocationExtensionTypesOperations` * 2021-11-01-preview: :class:`LocationExtensionTypesOperations` + * 2022-01-01-preview: :class:`LocationExtensionTypesOperations` """ api_version = self._get_api_version('location_extension_types') if api_version == '2021-05-01-preview': from .v2021_05_01_preview.operations import LocationExtensionTypesOperations as OperationClass elif api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import LocationExtensionTypesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'location_extension_types'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -238,6 +263,7 @@ def operation_status(self): * 2021-05-01-preview: :class:`OperationStatusOperations` * 2021-09-01: :class:`OperationStatusOperations` * 2021-11-01-preview: :class:`OperationStatusOperations` + * 2022-01-01-preview: :class:`OperationStatusOperations` """ api_version = self._get_api_version('operation_status') if api_version == '2021-05-01-preview': @@ -246,6 +272,8 @@ def operation_status(self): from .v2021_09_01.operations import OperationStatusOperations as OperationClass elif api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import OperationStatusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'operation_status'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -260,6 +288,7 @@ def operations(self): * 2021-05-01-preview: :class:`Operations` * 2021-09-01: :class:`Operations` * 2021-11-01-preview: :class:`Operations` + * 2022-01-01-preview: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2020-07-01-preview': @@ -274,6 +303,8 @@ def operations(self): from .v2021_09_01.operations import Operations as OperationClass elif api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import Operations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.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))) @@ -287,6 +318,7 @@ def source_control_configurations(self): * 2021-03-01: :class:`SourceControlConfigurationsOperations` * 2021-05-01-preview: :class:`SourceControlConfigurationsOperations` * 2021-11-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-01-01-preview: :class:`SourceControlConfigurationsOperations` """ api_version = self._get_api_version('source_control_configurations') if api_version == '2020-07-01-preview': @@ -299,6 +331,8 @@ def source_control_configurations(self): from .v2021_05_01_preview.operations import SourceControlConfigurationsOperations as OperationClass elif api_version == '2021-11-01-preview': from .v2021_11_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import SourceControlConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'source_control_configurations'".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/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_source_control_configuration_client.py index 0207133fc2a..97f3e6688eb 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_source_control_configuration_client.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/aio/_source_control_configuration_client.py @@ -96,6 +96,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2021-05-01-preview: :mod:`v2021_05_01_preview.models` * 2021-09-01: :mod:`v2021_09_01.models` * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` + * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` """ if api_version == '2020-07-01-preview': from ..v2020_07_01_preview import models @@ -115,6 +116,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview import models return models + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview import models + return models raise ValueError("API version {} is not available".format(api_version)) @property @@ -123,12 +127,15 @@ def cluster_extension_type(self): * 2021-05-01-preview: :class:`ClusterExtensionTypeOperations` * 2021-11-01-preview: :class:`ClusterExtensionTypeOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypeOperations` """ api_version = self._get_api_version('cluster_extension_type') if api_version == '2021-05-01-preview': from ..v2021_05_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'cluster_extension_type'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -139,12 +146,15 @@ def cluster_extension_types(self): * 2021-05-01-preview: :class:`ClusterExtensionTypesOperations` * 2021-11-01-preview: :class:`ClusterExtensionTypesOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypesOperations` """ api_version = self._get_api_version('cluster_extension_types') if api_version == '2021-05-01-preview': from ..v2021_05_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'cluster_extension_types'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -155,12 +165,15 @@ def extension_type_versions(self): * 2021-05-01-preview: :class:`ExtensionTypeVersionsOperations` * 2021-11-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2022-01-01-preview: :class:`ExtensionTypeVersionsOperations` """ api_version = self._get_api_version('extension_type_versions') if api_version == '2021-05-01-preview': from ..v2021_05_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'extension_type_versions'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -173,6 +186,7 @@ def extensions(self): * 2021-05-01-preview: :class:`ExtensionsOperations` * 2021-09-01: :class:`ExtensionsOperations` * 2021-11-01-preview: :class:`ExtensionsOperations` + * 2022-01-01-preview: :class:`ExtensionsOperations` """ api_version = self._get_api_version('extensions') if api_version == '2020-07-01-preview': @@ -183,6 +197,8 @@ def extensions(self): from ..v2021_09_01.aio.operations import ExtensionsOperations as OperationClass elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ExtensionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'extensions'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -192,10 +208,13 @@ def flux_config_operation_status(self): """Instance depends on the API version: * 2021-11-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-01-01-preview: :class:`FluxConfigOperationStatusOperations` """ api_version = self._get_api_version('flux_config_operation_status') if api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import FluxConfigOperationStatusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'flux_config_operation_status'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -205,10 +224,13 @@ def flux_configurations(self): """Instance depends on the API version: * 2021-11-01-preview: :class:`FluxConfigurationsOperations` + * 2022-01-01-preview: :class:`FluxConfigurationsOperations` """ api_version = self._get_api_version('flux_configurations') if api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import FluxConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'flux_configurations'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -219,12 +241,15 @@ def location_extension_types(self): * 2021-05-01-preview: :class:`LocationExtensionTypesOperations` * 2021-11-01-preview: :class:`LocationExtensionTypesOperations` + * 2022-01-01-preview: :class:`LocationExtensionTypesOperations` """ api_version = self._get_api_version('location_extension_types') if api_version == '2021-05-01-preview': from ..v2021_05_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'location_extension_types'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -236,6 +261,7 @@ def operation_status(self): * 2021-05-01-preview: :class:`OperationStatusOperations` * 2021-09-01: :class:`OperationStatusOperations` * 2021-11-01-preview: :class:`OperationStatusOperations` + * 2022-01-01-preview: :class:`OperationStatusOperations` """ api_version = self._get_api_version('operation_status') if api_version == '2021-05-01-preview': @@ -244,6 +270,8 @@ def operation_status(self): from ..v2021_09_01.aio.operations import OperationStatusOperations as OperationClass elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import OperationStatusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'operation_status'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -258,6 +286,7 @@ def operations(self): * 2021-05-01-preview: :class:`Operations` * 2021-09-01: :class:`Operations` * 2021-11-01-preview: :class:`Operations` + * 2022-01-01-preview: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2020-07-01-preview': @@ -272,6 +301,8 @@ def operations(self): from ..v2021_09_01.aio.operations import Operations as OperationClass elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.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))) @@ -285,6 +316,7 @@ def source_control_configurations(self): * 2021-03-01: :class:`SourceControlConfigurationsOperations` * 2021-05-01-preview: :class:`SourceControlConfigurationsOperations` * 2021-11-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-01-01-preview: :class:`SourceControlConfigurationsOperations` """ api_version = self._get_api_version('source_control_configurations') if api_version == '2020-07-01-preview': @@ -297,6 +329,8 @@ def source_control_configurations(self): from ..v2021_05_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass elif api_version == '2021-11-01-preview': from ..v2021_11_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'source_control_configurations'".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/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models.py index da4621b7737..c47ff7c1cde 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models.py @@ -772,7 +772,7 @@ def __init__( ): super(FluxConfigurationPatch, self).__init__(**kwargs) self.source_kind = kwargs.get('source_kind', None) - self.suspend = kwargs.get('suspend', None) + self.suspend = kwargs.get('suspend', False) self.git_repository = kwargs.get('git_repository', None) self.kustomizations = kwargs.get('kustomizations', None) self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) @@ -996,6 +996,7 @@ class KustomizationDefinition(msrest.serialization.Model): 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, 'prune': {'key': 'prune', 'type': 'bool'}, + 'validation': {'key': 'validation', 'type': 'str'}, 'force': {'key': 'force', 'type': 'bool'}, } @@ -1009,8 +1010,9 @@ def __init__( self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) self.retry_interval_in_seconds = kwargs.get('retry_interval_in_seconds', None) - self.prune = kwargs.get('prune', None) - self.force = kwargs.get('force', None) + self.prune = kwargs.get('prune', False) + self.validation = kwargs.get('validation', "none") + self.force = kwargs.get('force', False) class ObjectReferenceDefinition(msrest.serialization.Model): diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models_py3.py index 7ac4da66bdf..fa18f2b46c9 100644 --- a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models_py3.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2021_11_01_preview/models/_models_py3.py @@ -822,7 +822,7 @@ def __init__( self, *, source_kind: Optional[Union[str, "SourceKindType"]] = None, - suspend: Optional[bool] = None, + suspend: Optional[bool] = False, git_repository: Optional["GitRepositoryDefinition"] = None, kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, configuration_protected_settings: Optional[Dict[str, str]] = None, @@ -1057,6 +1057,11 @@ class KustomizationDefinition(msrest.serialization.Model): :param prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization. :type prune: bool + :param validation: Specify whether to validate the Kubernetes objects referenced in the + Kustomization before applying them to the cluster. Possible values include: "none", "client", + "server". Default value: "none". + :type validation: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationValidationType :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change. :type force: bool @@ -1069,6 +1074,7 @@ class KustomizationDefinition(msrest.serialization.Model): 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, 'prune': {'key': 'prune', 'type': 'bool'}, + 'validation': {'key': 'validation', 'type': 'str'}, 'force': {'key': 'force', 'type': 'bool'}, } @@ -1080,8 +1086,9 @@ def __init__( timeout_in_seconds: Optional[int] = 600, sync_interval_in_seconds: Optional[int] = 600, retry_interval_in_seconds: Optional[int] = None, - prune: Optional[bool] = None, - force: Optional[bool] = None, + prune: Optional[bool] = False, + validation: Optional[Union[str, "KustomizationValidationType"]] = "none", + force: Optional[bool] = False, **kwargs ): super(KustomizationDefinition, self).__init__(**kwargs) @@ -1091,6 +1098,7 @@ def __init__( self.sync_interval_in_seconds = sync_interval_in_seconds self.retry_interval_in_seconds = retry_interval_in_seconds self.prune = prune + self.validation = validation self.force = force diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/__init__.py new file mode 100644 index 00000000000..f13062376d7 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/__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 ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_configuration.py new file mode 100644 index 00000000000..b75a1084ebc --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_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 SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-01-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..4fd5d4958ff --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.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 SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations +from .operations import ClusterExtensionTypesOperations +from .operations import ExtensionTypeVersionsOperations +from .operations import LocationExtensionTypesOperations +from .operations import ExtensionsOperations +from .operations import OperationStatusOperations +from .operations import FluxConfigurationsOperations +from .operations import FluxConfigOperationStatusOperations +from .operations import SourceControlConfigurationsOperations +from .operations import Operations +from . import models + + +class SourceControlConfigurationClient(object): + """KubernetesConfiguration Client. + + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.LocationExtensionTypesOperations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.Operations + :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 = SourceControlConfigurationClientConfiguration(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.cluster_extension_type = ClusterExtensionTypeOperations( + self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + 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: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_version.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/_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.1.0" diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/__init__.py new file mode 100644 index 00000000000..ba52c91a7ba --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/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 ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_configuration.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..fc051b59148 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/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 SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-01-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..502030b5568 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.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 SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations +from .operations import ClusterExtensionTypesOperations +from .operations import ExtensionTypeVersionsOperations +from .operations import LocationExtensionTypesOperations +from .operations import ExtensionsOperations +from .operations import OperationStatusOperations +from .operations import FluxConfigurationsOperations +from .operations import FluxConfigOperationStatusOperations +from .operations import SourceControlConfigurationsOperations +from .operations import Operations +from .. import models + + +class SourceControlConfigurationClient(object): + """KubernetesConfiguration Client. + + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.LocationExtensionTypesOperations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.Operations + :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 = SourceControlConfigurationClientConfiguration(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.cluster_extension_type = ClusterExtensionTypeOperations( + self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + 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', min_length=1), + } + 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) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..37008240af3 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/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 ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_type_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py similarity index 85% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_type_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py index 8253dcae713..5ad38f9c1db 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_type_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py @@ -25,7 +25,7 @@ class ClusterExtensionTypeOperations: 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.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,7 +44,7 @@ async def get( self, resource_group_name: str, cluster_rp: Union[str, "_models.Enum0"], - cluster_type: Union[str, "_models.Enum5"], + cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, extension_type_name: str, **kwargs: Any @@ -55,17 +55,17 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 - :param cluster_type: The Kubernetes cluster resource name - either managedClusters (for AKS - clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum5 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ExtensionType, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] @@ -73,16 +73,16 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" + api_version = "2022-01-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\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterType': self._serialize.url("cluster_type", cluster_type, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), } @@ -111,4 +111,4 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py similarity index 87% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_types_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py index 7ff4216acce..271b9752354 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_cluster_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -26,7 +26,7 @@ class ClusterExtensionTypesOperations: 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.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,6 +45,7 @@ def list( self, resource_group_name: str, cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, **kwargs: Any ) -> AsyncIterable["_models.ExtensionTypeList"]: @@ -54,12 +55,15 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -67,7 +71,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -80,8 +84,9 @@ def prepare_request(next_link=None): 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), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -119,4 +124,4 @@ async def get_next(next_link=None): return AsyncItemPaged( get_next, extract_data ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/connectedClusters/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extension_type_versions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py similarity index 96% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extension_type_versions_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py index bd9f2c220fc..67d9ef02043 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extension_type_versions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py @@ -26,7 +26,7 @@ class ExtensionTypeVersionsOperations: 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.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -55,7 +55,7 @@ def list( :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -63,7 +63,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py similarity index 96% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extensions_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py index f8b1b9c9aa7..abfa18fde51 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py @@ -28,7 +28,7 @@ class ExtensionsOperations: 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.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -58,7 +58,7 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -123,16 +123,16 @@ async def begin_create( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param extension: Properties necessary to Create an Extension. - :type extension: ~azure.mgmt.kubernetesconfiguration.models.Extension + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension :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: By default, your polling method will be AsyncARMPolling. @@ -140,7 +140,7 @@ async def begin_create( :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 Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.models.Extension] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] @@ -210,17 +210,17 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Extension, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.models.Extension + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] @@ -228,7 +228,7 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL @@ -283,7 +283,7 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL @@ -339,10 +339,10 @@ async def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -421,12 +421,10 @@ async def _update_initial( ) -> "_models.Extension": cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -487,16 +485,16 @@ async def begin_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param patch_extension: Properties to Patch in an existing Extension. - :type patch_extension: ~azure.mgmt.kubernetesconfiguration.models.PatchExtension + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension :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: By default, your polling method will be AsyncARMPolling. @@ -504,7 +502,7 @@ async def begin_update( :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 Extension or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.models.Extension] + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] @@ -573,15 +571,15 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.models.ExtensionsList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -589,7 +587,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..22b61526ac8 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_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 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.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 FluxConfigOperationStatusOperations: + """FluxConfigOperationStatusOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + 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, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..175b59e0bed --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_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. +# -------------------------------------------------------------------------- +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 FluxConfigurationsOperations: + """FluxConfigurationsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + 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, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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(flux_configuration, 'FluxConfiguration') + 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('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 FluxConfiguration or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + 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('FluxConfiguration', 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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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(flux_configuration_patch, 'FluxConfigurationPatch') + 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 [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) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 FluxConfiguration or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + 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('FluxConfiguration', 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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> 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 = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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_delete is not None: + query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, '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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + 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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_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('FluxConfigurationsList', 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_location_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py similarity index 96% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_location_extension_types_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py index f435cdfdcb5..6962894f914 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_location_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py @@ -26,7 +26,7 @@ class LocationExtensionTypesOperations: 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.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -52,7 +52,7 @@ def list( :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 ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -60,7 +60,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py similarity index 95% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operation_status_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py index 00a463db54b..3f20c7ee86b 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py @@ -26,7 +26,7 @@ class OperationStatusOperations: 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.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +41,83 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + def list( self, resource_group_name: str, @@ -55,15 +132,15 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.models.OperationStatusList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -71,7 +148,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -125,80 +202,3 @@ async def get_next(next_link=None): get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore - - async def get( - self, - resource_group_name: str, - cluster_rp: Union[str, "_models.Enum0"], - cluster_resource_name: Union[str, "_models.Enum1"], - cluster_name: str, - extension_name: str, - operation_id: str, - **kwargs: Any - ) -> "_models.OperationStatusResult": - """Get Async Operation status. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param extension_name: Name of the Extension. - :type extension_name: str - :param operation_id: operation Id. - :type operation_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: OperationStatusResult, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.models.OperationStatusResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('OperationStatusResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..6881dde9984 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/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.mgmt.kubernetesconfiguration.v2022_01_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. + """ + + 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: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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('ResourceProviderOperationList', 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.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..b1f67c247e3 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,420 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + 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, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_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('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + 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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_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(source_control_configuration, 'SourceControlConfiguration') + 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('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'sourceControlConfigurationName': self._serialize.url("source_control_configuration_name", source_control_configuration_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_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('SourceControlConfigurationList', 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/__init__.py new file mode 100644 index 00000000000..bd6cd25837f --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/__init__.py @@ -0,0 +1,181 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 BucketDefinition + from ._models_py3 import BucketPatchDefinition + from ._models_py3 import ClusterScopeSettings + from ._models_py3 import ComplianceStatus + from ._models_py3 import DependsOnDefinition + from ._models_py3 import ErrorAdditionalInfo + from ._models_py3 import ErrorDetail + from ._models_py3 import ErrorResponse + from ._models_py3 import Extension + from ._models_py3 import ExtensionPropertiesAksAssignedIdentity + from ._models_py3 import ExtensionStatus + from ._models_py3 import ExtensionType + from ._models_py3 import ExtensionTypeList + from ._models_py3 import ExtensionVersionList + from ._models_py3 import ExtensionVersionListVersionsItem + from ._models_py3 import ExtensionsList + from ._models_py3 import FluxConfiguration + from ._models_py3 import FluxConfigurationPatch + from ._models_py3 import FluxConfigurationsList + from ._models_py3 import GitRepositoryDefinition + from ._models_py3 import GitRepositoryPatchDefinition + from ._models_py3 import HelmOperatorProperties + from ._models_py3 import HelmReleasePropertiesDefinition + from ._models_py3 import Identity + from ._models_py3 import KustomizationDefinition + from ._models_py3 import KustomizationPatchDefinition + from ._models_py3 import ObjectReferenceDefinition + from ._models_py3 import ObjectStatusConditionDefinition + from ._models_py3 import ObjectStatusDefinition + from ._models_py3 import OperationStatusList + from ._models_py3 import OperationStatusResult + from ._models_py3 import PatchExtension + from ._models_py3 import ProxyResource + from ._models_py3 import RepositoryRefDefinition + from ._models_py3 import Resource + from ._models_py3 import ResourceProviderOperation + from ._models_py3 import ResourceProviderOperationDisplay + from ._models_py3 import ResourceProviderOperationList + from ._models_py3 import Scope + from ._models_py3 import ScopeCluster + from ._models_py3 import ScopeNamespace + from ._models_py3 import SourceControlConfiguration + from ._models_py3 import SourceControlConfigurationList + from ._models_py3 import SupportedScopes + from ._models_py3 import SystemData +except (SyntaxError, ImportError): + from ._models import BucketDefinition # type: ignore + from ._models import BucketPatchDefinition # type: ignore + from ._models import ClusterScopeSettings # type: ignore + from ._models import ComplianceStatus # type: ignore + from ._models import DependsOnDefinition # type: ignore + from ._models import ErrorAdditionalInfo # type: ignore + from ._models import ErrorDetail # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import Extension # type: ignore + from ._models import ExtensionPropertiesAksAssignedIdentity # type: ignore + from ._models import ExtensionStatus # type: ignore + from ._models import ExtensionType # type: ignore + from ._models import ExtensionTypeList # type: ignore + from ._models import ExtensionVersionList # type: ignore + from ._models import ExtensionVersionListVersionsItem # type: ignore + from ._models import ExtensionsList # type: ignore + from ._models import FluxConfiguration # type: ignore + from ._models import FluxConfigurationPatch # type: ignore + from ._models import FluxConfigurationsList # type: ignore + from ._models import GitRepositoryDefinition # type: ignore + from ._models import GitRepositoryPatchDefinition # type: ignore + from ._models import HelmOperatorProperties # type: ignore + from ._models import HelmReleasePropertiesDefinition # type: ignore + from ._models import Identity # type: ignore + from ._models import KustomizationDefinition # type: ignore + from ._models import KustomizationPatchDefinition # type: ignore + from ._models import ObjectReferenceDefinition # type: ignore + from ._models import ObjectStatusConditionDefinition # type: ignore + from ._models import ObjectStatusDefinition # type: ignore + from ._models import OperationStatusList # type: ignore + from ._models import OperationStatusResult # type: ignore + from ._models import PatchExtension # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import RepositoryRefDefinition # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceProviderOperation # type: ignore + from ._models import ResourceProviderOperationDisplay # type: ignore + from ._models import ResourceProviderOperationList # type: ignore + from ._models import Scope # type: ignore + from ._models import ScopeCluster # type: ignore + from ._models import ScopeNamespace # type: ignore + from ._models import SourceControlConfiguration # type: ignore + from ._models import SourceControlConfigurationList # type: ignore + from ._models import SupportedScopes # type: ignore + from ._models import SystemData # type: ignore + +from ._source_control_configuration_client_enums import ( + ClusterTypes, + ComplianceStateType, + CreatedByType, + Enum0, + Enum1, + FluxComplianceState, + KustomizationValidationType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, + ScopeType, + SourceKindType, +) + +__all__ = [ + 'BucketDefinition', + 'BucketPatchDefinition', + 'ClusterScopeSettings', + 'ComplianceStatus', + 'DependsOnDefinition', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionType', + 'ExtensionTypeList', + 'ExtensionVersionList', + 'ExtensionVersionListVersionsItem', + 'ExtensionsList', + 'FluxConfiguration', + 'FluxConfigurationPatch', + 'FluxConfigurationsList', + 'GitRepositoryDefinition', + 'GitRepositoryPatchDefinition', + 'HelmOperatorProperties', + 'HelmReleasePropertiesDefinition', + 'Identity', + 'KustomizationDefinition', + 'KustomizationPatchDefinition', + 'ObjectReferenceDefinition', + 'ObjectStatusConditionDefinition', + 'ObjectStatusDefinition', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'RepositoryRefDefinition', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SupportedScopes', + 'SystemData', + 'ClusterTypes', + 'ComplianceStateType', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'FluxComplianceState', + 'KustomizationValidationType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', + 'ScopeType', + 'SourceKindType', +] diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models.py new file mode 100644 index 00000000000..cf53332d58c --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models.py @@ -0,0 +1,1836 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 BucketDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :param url: The URL to sync for the flux configuration S3 bucket. + :type url: str + :param bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :type bucket_name: str + :param insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :type insecure: bool + :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :type sync_interval_in_seconds: long + :param access_key: Plaintext access key used to securely access the S3 bucket. + :type access_key: str + :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :type local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BucketDefinition, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + self.bucket_name = kwargs.get('bucket_name', None) + self.insecure = kwargs.get('insecure', True) + self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) + self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) + self.access_key = kwargs.get('access_key', None) + self.local_auth_ref = kwargs.get('local_auth_ref', None) + + +class BucketPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :param url: The URL to sync for the flux configuration S3 bucket. + :type url: str + :param bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :type bucket_name: str + :param insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :type insecure: bool + :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :type sync_interval_in_seconds: long + :param access_key: Plaintext access key used to securely access the S3 bucket. + :type access_key: str + :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :type local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BucketPatchDefinition, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + self.bucket_name = kwargs.get('bucket_name', None) + self.insecure = kwargs.get('insecure', None) + self.timeout_in_seconds = kwargs.get('timeout_in_seconds', None) + self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', None) + self.access_key = kwargs.get('access_key', None) + self.local_auth_ref = kwargs.get('local_auth_ref', 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 a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 ClusterScopeSettings(ProxyResource): + """Extension scope settings. + + 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 allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :type allow_multiple_instances: bool + :param default_release_namespace: Default extension release namespace. + :type default_release_namespace: 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'}, + 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, + 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterScopeSettings, self).__init__(**kwargs) + self.allow_multiple_instances = kwargs.get('allow_multiple_instances', None) + self.default_release_namespace = kwargs.get('default_release_namespace', None) + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStateType + :param last_config_applied: Datetime the configuration was last applied. + :type last_config_applied: ~datetime.datetime + :param message: Message from when the configuration was applied. + :type message: str + :param message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :type message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = kwargs.get('last_config_applied', None) + self.message = kwargs.get('message', None) + self.message_level = kwargs.get('message_level', None) + + +class DependsOnDefinition(msrest.serialization.Model): + """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. + + :param kustomization_name: Name of the kustomization to claim dependency on. + :type kustomization_name: str + """ + + _attribute_map = { + 'kustomization_name': {'key': 'kustomizationName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DependsOnDefinition, self).__init__(**kwargs) + self.kustomization_name = kwargs.get('kustomization_name', 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: any + """ + + _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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :param error: The error object. + :type error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class Extension(ProxyResource): + """The Extension object. + + 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 identity: Identity of the Extension resource. + :type identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :param extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :type extension_type: str + :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :type auto_upgrade_minor_version: bool + :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :type release_train: str + :param version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :type version: str + :param scope: Scope at which the extension is installed. + :type scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope + :param configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :type configuration_settings: dict[str, str] + :param configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :type configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState + :param statuses: Status from this extension. + :type statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :type aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + **kwargs + ): + super(Extension, self).__init__(**kwargs) + self.identity = kwargs.get('identity', None) + self.system_data = None + self.extension_type = kwargs.get('extension_type', None) + self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) + self.release_train = kwargs.get('release_train', "Stable") + self.version = kwargs.get('version', None) + self.scope = kwargs.get('scope', None) + self.configuration_settings = kwargs.get('configuration_settings', None) + self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) + self.provisioning_state = None + self.statuses = kwargs.get('statuses', None) + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = kwargs.get('aks_assigned_identity', None) + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :type type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :param code: Status code provided by the Extension. + :type code: str + :param display_status: Short description of status of the extension. + :type display_status: str + :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :type level: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType + :param message: Detailed message of the status from the Extension. + :type message: str + :param time: DateLiteral (per ISO8601) noting the time of installation status. + :type time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionStatus, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.display_status = kwargs.get('display_status', None) + self.level = kwargs.get('level', "Information") + self.message = kwargs.get('message', None) + self.time = kwargs.get('time', None) + + +class ExtensionType(msrest.serialization.Model): + """Represents an Extension Type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar release_trains: Extension release train: preview or stable. + :vartype release_trains: list[str] + :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", + "managedClusters". + :vartype cluster_types: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterTypes + :ivar supported_scopes: Extension scopes. + :vartype supported_scopes: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SupportedScopes + """ + + _validation = { + 'system_data': {'readonly': True}, + 'release_trains': {'readonly': True}, + 'cluster_types': {'readonly': True}, + 'supported_scopes': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, + 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, + 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionType, self).__init__(**kwargs) + self.system_data = None + self.release_trains = None + self.cluster_types = None + self.supported_scopes = None + + +class ExtensionTypeList(msrest.serialization.Model): + """List Extension Types. + + :param value: The list of Extension Types. + :type value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] + :param next_link: The link to fetch the next page of Extension Types. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionType]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionTypeList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ExtensionVersionList(msrest.serialization.Model): + """List versions for an Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param versions: Versions available for this Extension Type. + :type versions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] + :param next_link: The link to fetch the next page of Extension Types. + :type next_link: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionVersionList, self).__init__(**kwargs) + self.versions = kwargs.get('versions', None) + self.next_link = kwargs.get('next_link', None) + self.system_data = None + + +class ExtensionVersionListVersionsItem(msrest.serialization.Model): + """ExtensionVersionListVersionsItem. + + :param release_train: The release train for this Extension Type. + :type release_train: str + :param versions: Versions available for this Extension Type and release train. + :type versions: list[str] + """ + + _attribute_map = { + 'release_train': {'key': 'releaseTrain', 'type': 'str'}, + 'versions': {'key': 'versions', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) + self.release_train = kwargs.get('release_train', None) + self.versions = kwargs.get('versions', None) + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :param scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :type scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType + :param namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :type namespace: str + :param source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :type source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :param suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :type suspend: bool + :param git_repository: Parameters to reconcile to the GitRepository source kind type. + :type git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition + :param bucket: Parameters to reconcile to the Bucket source kind type. + :type bucket: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :type kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] + :param configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :type configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar last_source_updated_commit_id: Branch and SHA of the last source commit synced with the + cluster. + :vartype last_source_updated_commit_id: str + :ivar last_source_updated_at: Datetime the fluxConfiguration last synced its source on the + cluster. + :vartype last_source_updated_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'last_source_updated_commit_id': {'readonly': True}, + 'last_source_updated_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'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'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'last_source_updated_commit_id': {'key': 'properties.lastSourceUpdatedCommitId', 'type': 'str'}, + 'last_source_updated_at': {'key': 'properties.lastSourceUpdatedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = kwargs.get('scope', "cluster") + self.namespace = kwargs.get('namespace', "default") + self.source_kind = kwargs.get('source_kind', None) + self.suspend = kwargs.get('suspend', False) + self.git_repository = kwargs.get('git_repository', None) + self.bucket = kwargs.get('bucket', None) + self.kustomizations = kwargs.get('kustomizations', None) + self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) + self.statuses = None + self.repository_public_key = None + self.last_source_updated_commit_id = None + self.last_source_updated_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :param source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :type source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :param suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :type suspend: bool + :param git_repository: Parameters to reconcile to the GitRepository source kind type. + :type git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition + :param bucket: Parameters to reconcile to the Bucket source kind type. + :type bucket: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :type kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] + :param configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :type configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryPatchDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationPatchDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = kwargs.get('source_kind', None) + self.suspend = kwargs.get('suspend', None) + self.git_repository = kwargs.get('git_repository', None) + self.bucket = kwargs.get('bucket', None) + self.kustomizations = kwargs.get('kustomizations', None) + self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :param url: The URL to sync for the flux configuration git repository. + :type url: str + :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :type sync_interval_in_seconds: long + :param repository_ref: The source reference for the GitRepository object. + :type repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :type ssh_known_hosts: str + :param https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :type https_user: str + :param https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :type https_ca_cert: str + :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :type local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) + self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) + self.repository_ref = kwargs.get('repository_ref', None) + self.ssh_known_hosts = kwargs.get('ssh_known_hosts', None) + self.https_user = kwargs.get('https_user', None) + self.https_ca_cert = kwargs.get('https_ca_cert', None) + self.local_auth_ref = kwargs.get('local_auth_ref', None) + + +class GitRepositoryPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :param url: The URL to sync for the flux configuration git repository. + :type url: str + :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :type sync_interval_in_seconds: long + :param repository_ref: The source reference for the GitRepository object. + :type repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :type ssh_known_hosts: str + :param https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :type https_user: str + :param https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :type https_ca_cert: str + :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :type local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GitRepositoryPatchDefinition, self).__init__(**kwargs) + self.url = kwargs.get('url', None) + self.timeout_in_seconds = kwargs.get('timeout_in_seconds', None) + self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', None) + self.repository_ref = kwargs.get('repository_ref', None) + self.ssh_known_hosts = kwargs.get('ssh_known_hosts', None) + self.https_user = kwargs.get('https_user', None) + self.https_ca_cert = kwargs.get('https_ca_cert', None) + self.local_auth_ref = kwargs.get('local_auth_ref', None) + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :param chart_version: Version of the operator Helm chart. + :type chart_version: str + :param chart_values: Values override for the operator Helm chart. + :type chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = kwargs.get('chart_version', None) + self.chart_values = kwargs.get('chart_values', None) + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """HelmReleasePropertiesDefinition. + + :param last_revision_applied: The revision number of the last released object change. + :type last_revision_applied: long + :param helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :type helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :param failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :type failure_count: long + :param install_failure_count: Number of times that the HelmRelease failed to install. + :type install_failure_count: long + :param upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :type upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + **kwargs + ): + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = kwargs.get('last_revision_applied', None) + self.helm_chart_ref = kwargs.get('helm_chart_ref', None) + self.failure_count = kwargs.get('failure_count', None) + self.install_failure_count = kwargs.get('install_failure_count', None) + self.upgrade_failure_count = kwargs.get('upgrade_failure_count', None) + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :type type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :param path: The path in the source reference to reconcile on the cluster. + :type path: str + :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :type depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :type sync_interval_in_seconds: long + :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :type retry_interval_in_seconds: long + :param prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :type prune: bool + :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :type force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(KustomizationDefinition, self).__init__(**kwargs) + self.path = kwargs.get('path', "") + self.depends_on = kwargs.get('depends_on', None) + self.timeout_in_seconds = kwargs.get('timeout_in_seconds', 600) + self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', 600) + self.retry_interval_in_seconds = kwargs.get('retry_interval_in_seconds', None) + self.prune = kwargs.get('prune', False) + self.force = kwargs.get('force', False) + + +class KustomizationPatchDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :param path: The path in the source reference to reconcile on the cluster. + :type path: str + :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :type depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :type sync_interval_in_seconds: long + :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :type retry_interval_in_seconds: long + :param prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :type prune: bool + :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :type force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(KustomizationPatchDefinition, self).__init__(**kwargs) + self.path = kwargs.get('path', None) + self.depends_on = kwargs.get('depends_on', None) + self.timeout_in_seconds = kwargs.get('timeout_in_seconds', None) + self.sync_interval_in_seconds = kwargs.get('sync_interval_in_seconds', None) + self.retry_interval_in_seconds = kwargs.get('retry_interval_in_seconds', None) + self.prune = kwargs.get('prune', None) + self.force = kwargs.get('force', None) + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :param name: Name of the object. + :type name: str + :param namespace: Namespace of the object. + :type namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.namespace = kwargs.get('namespace', None) + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :param last_transition_time: Last time this status condition has changed. + :type last_transition_time: ~datetime.datetime + :param message: A more verbose description of the object status condition. + :type message: str + :param reason: Reason for the specified status condition type status. + :type reason: str + :param status: Status of the Kubernetes object condition type. + :type status: str + :param type: Object status condition type for this object. + :type type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = kwargs.get('last_transition_time', None) + self.message = kwargs.get('message', None) + self.reason = kwargs.get('reason', None) + self.status = kwargs.get('status', None) + self.type = kwargs.get('type', None) + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :param name: Name of the applied object. + :type name: str + :param namespace: Namespace of the applied object. + :type namespace: str + :param kind: Kind of the applied object. + :type kind: str + :param compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :type compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :param applied_by: Object reference to the Kustomization that applied this object. + :type applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :param status_conditions: List of Kubernetes object status conditions present on the cluster. + :type status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] + :param helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :type helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + **kwargs + ): + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.namespace = kwargs.get('namespace', None) + self.kind = kwargs.get('kind', None) + self.compliance_state = kwargs.get('compliance_state', "Unknown") + self.applied_by = kwargs.get('applied_by', None) + self.status_conditions = kwargs.get('status_conditions', None) + self.helm_release_properties = kwargs.get('helm_release_properties', None) + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + 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 id: Fully qualified ID for the async operation. + :type id: str + :param name: Name of the async operation. + :type name: str + :param status: Required. Operation status. + :type status: str + :param properties: Additional information, if available. + :type properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationStatusResult, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.status = kwargs['status'] + self.properties = kwargs.get('properties', None) + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :type auto_upgrade_minor_version: bool + :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :type release_train: str + :param version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :type version: str + :param configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :type configuration_settings: dict[str, str] + :param configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :type configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) + self.release_train = kwargs.get('release_train', "Stable") + self.version = kwargs.get('version', None) + self.configuration_settings = kwargs.get('configuration_settings', None) + self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :param branch: The git repository branch name to checkout. + :type branch: str + :param tag: The git repository tag name to checkout. This takes precedence over branch. + :type tag: str + :param semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :type semver: str + :param commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :type commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = kwargs.get('branch', None) + self.tag = kwargs.get('tag', None) + self.semver = kwargs.get('semver', None) + self.commit = kwargs.get('commit', None) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: Operation name, in format of {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft KubernetesConfiguration. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this 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(ResourceProviderOperationDisplay, 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 ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of operations supported by this resource provider. + :type value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :param cluster: Specifies that the scope of the extension is Cluster. + :type cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster + :param namespace: Specifies that the scope of the extension is Namespace. + :type namespace: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + **kwargs + ): + super(Scope, self).__init__(**kwargs) + self.cluster = kwargs.get('cluster', None) + self.namespace = kwargs.get('namespace', None) + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :type release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = kwargs.get('release_namespace', None) + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :param target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :type target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = kwargs.get('target_namespace', None) + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :param repository_url: Url of the SourceControl Repository. + :type repository_url: str + :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :type operator_namespace: str + :param operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :type operator_instance_name: str + :param operator_type: Type of the operator. Possible values include: "Flux". + :type operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType + :param operator_params: Any Parameters for the Operator instance in string format. + :type operator_params: str + :param configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :type configuration_protected_settings: dict[str, str] + :param operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :type operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :type ssh_known_hosts_contents: str + :param enable_helm_operator: Option to enable Helm Operator for this git configuration. + :type enable_helm_operator: bool + :param helm_operator_properties: Properties for Helm operator. + :type helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = kwargs.get('repository_url', None) + self.operator_namespace = kwargs.get('operator_namespace', "default") + self.operator_instance_name = kwargs.get('operator_instance_name', None) + self.operator_type = kwargs.get('operator_type', None) + self.operator_params = kwargs.get('operator_params', None) + self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) + self.operator_scope = kwargs.get('operator_scope', "cluster") + self.repository_public_key = None + self.ssh_known_hosts_contents = kwargs.get('ssh_known_hosts_contents', None) + self.enable_helm_operator = kwargs.get('enable_helm_operator', None) + self.helm_operator_properties = kwargs.get('helm_operator_properties', None) + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SupportedScopes(msrest.serialization.Model): + """Extension scopes. + + :param default_scope: Default extension scopes: cluster or namespace. + :type default_scope: str + :param cluster_scope_settings: Scope settings. + :type cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings + """ + + _attribute_map = { + 'default_scope': {'key': 'defaultScope', 'type': 'str'}, + 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(SupportedScopes, self).__init__(**kwargs) + self.default_scope = kwargs.get('default_scope', None) + self.cluster_scope_settings = kwargs.get('cluster_scope_settings', 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.mgmt.kubernetesconfiguration.v2022_01_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 + ~azure.mgmt.kubernetesconfiguration.v2022_01_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/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models_py3.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..23eef7e57d6 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_models_py3.py @@ -0,0 +1,2028 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._source_control_configuration_client_enums import * + + +class BucketDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :param url: The URL to sync for the flux configuration S3 bucket. + :type url: str + :param bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :type bucket_name: str + :param insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :type insecure: bool + :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :type sync_interval_in_seconds: long + :param access_key: Plaintext access key used to securely access the S3 bucket. + :type access_key: str + :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :type local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = True, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + super(BucketDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class BucketPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :param url: The URL to sync for the flux configuration S3 bucket. + :type url: str + :param bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :type bucket_name: str + :param insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :type insecure: bool + :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :type sync_interval_in_seconds: long + :param access_key: Plaintext access key used to securely access the S3 bucket. + :type access_key: str + :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :type local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + super(BucketPatchDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +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 a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 ClusterScopeSettings(ProxyResource): + """Extension scope settings. + + 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 allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :type allow_multiple_instances: bool + :param default_release_namespace: Default extension release namespace. + :type default_release_namespace: 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'}, + 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, + 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + allow_multiple_instances: Optional[bool] = None, + default_release_namespace: Optional[str] = None, + **kwargs + ): + super(ClusterScopeSettings, self).__init__(**kwargs) + self.allow_multiple_instances = allow_multiple_instances + self.default_release_namespace = default_release_namespace + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStateType + :param last_config_applied: Datetime the configuration was last applied. + :type last_config_applied: ~datetime.datetime + :param message: Message from when the configuration was applied. + :type message: str + :param message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :type message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class DependsOnDefinition(msrest.serialization.Model): + """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. + + :param kustomization_name: Name of the kustomization to claim dependency on. + :type kustomization_name: str + """ + + _attribute_map = { + 'kustomization_name': {'key': 'kustomizationName', 'type': 'str'}, + } + + def __init__( + self, + *, + kustomization_name: Optional[str] = None, + **kwargs + ): + super(DependsOnDefinition, self).__init__(**kwargs) + self.kustomization_name = kustomization_name + + +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: any + """ + + _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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :param error: The error object. + :type error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Extension(ProxyResource): + """The Extension object. + + 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 identity: Identity of the Extension resource. + :type identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :param extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :type extension_type: str + :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :type auto_upgrade_minor_version: bool + :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :type release_train: str + :param version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :type version: str + :param scope: Scope at which the extension is installed. + :type scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope + :param configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :type configuration_settings: dict[str, str] + :param configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :type configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState + :param statuses: Status from this extension. + :type statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :type aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, + **kwargs + ): + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = aks_assigned_identity + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :type type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :param code: Status code provided by the Extension. + :type code: str + :param display_status: Short description of status of the extension. + :type display_status: str + :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :type level: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType + :param message: Detailed message of the status from the Extension. + :type message: str + :param time: DateLiteral (per ISO8601) noting the time of installation status. + :type time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class ExtensionType(msrest.serialization.Model): + """Represents an Extension Type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar release_trains: Extension release train: preview or stable. + :vartype release_trains: list[str] + :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", + "managedClusters". + :vartype cluster_types: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterTypes + :ivar supported_scopes: Extension scopes. + :vartype supported_scopes: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SupportedScopes + """ + + _validation = { + 'system_data': {'readonly': True}, + 'release_trains': {'readonly': True}, + 'cluster_types': {'readonly': True}, + 'supported_scopes': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, + 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, + 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtensionType, self).__init__(**kwargs) + self.system_data = None + self.release_trains = None + self.cluster_types = None + self.supported_scopes = None + + +class ExtensionTypeList(msrest.serialization.Model): + """List Extension Types. + + :param value: The list of Extension Types. + :type value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] + :param next_link: The link to fetch the next page of Extension Types. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionType]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ExtensionType"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ExtensionTypeList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExtensionVersionList(msrest.serialization.Model): + """List versions for an Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param versions: Versions available for this Extension Type. + :type versions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] + :param next_link: The link to fetch the next page of Extension Types. + :type next_link: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + versions: Optional[List["ExtensionVersionListVersionsItem"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ExtensionVersionList, self).__init__(**kwargs) + self.versions = versions + self.next_link = next_link + self.system_data = None + + +class ExtensionVersionListVersionsItem(msrest.serialization.Model): + """ExtensionVersionListVersionsItem. + + :param release_train: The release train for this Extension Type. + :type release_train: str + :param versions: Versions available for this Extension Type and release train. + :type versions: list[str] + """ + + _attribute_map = { + 'release_train': {'key': 'releaseTrain', 'type': 'str'}, + 'versions': {'key': 'versions', 'type': '[str]'}, + } + + def __init__( + self, + *, + release_train: Optional[str] = None, + versions: Optional[List[str]] = None, + **kwargs + ): + super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) + self.release_train = release_train + self.versions = versions + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :param scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :type scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType + :param namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :type namespace: str + :param source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :type source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :param suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :type suspend: bool + :param git_repository: Parameters to reconcile to the GitRepository source kind type. + :type git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition + :param bucket: Parameters to reconcile to the Bucket source kind type. + :type bucket: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :type kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] + :param configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :type configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar last_source_updated_commit_id: Branch and SHA of the last source commit synced with the + cluster. + :vartype last_source_updated_commit_id: str + :ivar last_source_updated_at: Datetime the fluxConfiguration last synced its source on the + cluster. + :vartype last_source_updated_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'last_source_updated_commit_id': {'readonly': True}, + 'last_source_updated_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'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'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'last_source_updated_commit_id': {'key': 'properties.lastSourceUpdatedCommitId', 'type': 'str'}, + 'last_source_updated_at': {'key': 'properties.lastSourceUpdatedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[Union[str, "ScopeType"]] = "cluster", + namespace: Optional[str] = "default", + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = scope + self.namespace = namespace + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + self.statuses = None + self.repository_public_key = None + self.last_source_updated_commit_id = None + self.last_source_updated_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :param source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :type source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :param suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :type suspend: bool + :param git_repository: Parameters to reconcile to the GitRepository source kind type. + :type git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition + :param bucket: Parameters to reconcile to the Bucket source kind type. + :type bucket: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :param kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :type kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] + :param configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :type configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryPatchDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationPatchDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = None, + git_repository: Optional["GitRepositoryPatchDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationPatchDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :param url: The URL to sync for the flux configuration git repository. + :type url: str + :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :type sync_interval_in_seconds: long + :param repository_ref: The source reference for the GitRepository object. + :type repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :type ssh_known_hosts: str + :param https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :type https_user: str + :param https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :type https_ca_cert: str + :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :type local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class GitRepositoryPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :param url: The URL to sync for the flux configuration git repository. + :type url: str + :param timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :type sync_interval_in_seconds: long + :param repository_ref: The source reference for the GitRepository object. + :type repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :param ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :type ssh_known_hosts: str + :param https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :type https_user: str + :param https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :type https_ca_cert: str + :param local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :type local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + super(GitRepositoryPatchDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :param chart_version: Version of the operator Helm chart. + :type chart_version: str + :param chart_values: Values override for the operator Helm chart. + :type chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """HelmReleasePropertiesDefinition. + + :param last_revision_applied: The revision number of the last released object change. + :type last_revision_applied: long + :param helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :type helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :param failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :type failure_count: long + :param install_failure_count: Number of times that the HelmRelease failed to install. + :type install_failure_count: long + :param upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :type upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + *, + last_revision_applied: Optional[int] = None, + helm_chart_ref: Optional["ObjectReferenceDefinition"] = None, + failure_count: Optional[int] = None, + install_failure_count: Optional[int] = None, + upgrade_failure_count: Optional[int] = None, + **kwargs + ): + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = last_revision_applied + self.helm_chart_ref = helm_chart_ref + self.failure_count = failure_count + self.install_failure_count = install_failure_count + self.upgrade_failure_count = upgrade_failure_count + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :param type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :type type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :param path: The path in the source reference to reconcile on the cluster. + :type path: str + :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :type depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :type sync_interval_in_seconds: long + :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :type retry_interval_in_seconds: long + :param prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :type prune: bool + :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :type force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = "", + depends_on: Optional[List["DependsOnDefinition"]] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = False, + force: Optional[bool] = False, + **kwargs + ): + super(KustomizationDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class KustomizationPatchDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :param path: The path in the source reference to reconcile on the cluster. + :type path: str + :param depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :type depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :param timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :type timeout_in_seconds: long + :param sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :type sync_interval_in_seconds: long + :param retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :type retry_interval_in_seconds: long + :param prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :type prune: bool + :param force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :type force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = None, + depends_on: Optional[List["DependsOnDefinition"]] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = None, + force: Optional[bool] = None, + **kwargs + ): + super(KustomizationPatchDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :param name: Name of the object. + :type name: str + :param namespace: Namespace of the object. + :type namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + **kwargs + ): + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :param last_transition_time: Last time this status condition has changed. + :type last_transition_time: ~datetime.datetime + :param message: A more verbose description of the object status condition. + :type message: str + :param reason: Reason for the specified status condition type status. + :type reason: str + :param status: Status of the Kubernetes object condition type. + :type status: str + :param type: Object status condition type for this object. + :type type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + last_transition_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + reason: Optional[str] = None, + status: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = last_transition_time + self.message = message + self.reason = reason + self.status = status + self.type = type + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :param name: Name of the applied object. + :type name: str + :param namespace: Namespace of the applied object. + :type namespace: str + :param kind: Kind of the applied object. + :type kind: str + :param compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :type compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :param applied_by: Object reference to the Kustomization that applied this object. + :type applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :param status_conditions: List of Kubernetes object status conditions present on the cluster. + :type status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] + :param helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :type helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + kind: Optional[str] = None, + compliance_state: Optional[Union[str, "FluxComplianceState"]] = "Unknown", + applied_by: Optional["ObjectReferenceDefinition"] = None, + status_conditions: Optional[List["ObjectStatusConditionDefinition"]] = None, + helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, + **kwargs + ): + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.kind = kind + self.compliance_state = compliance_state + self.applied_by = applied_by + self.status_conditions = status_conditions + self.helm_release_properties = helm_release_properties + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + 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 id: Fully qualified ID for the async operation. + :type id: str + :param name: Name of the async operation. + :type name: str + :param status: Required. Operation status. + :type status: str + :param properties: Additional information, if available. + :type properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :type auto_upgrade_minor_version: bool + :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :type release_train: str + :param version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :type version: str + :param configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :type configuration_settings: dict[str, str] + :param configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :type configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :param branch: The git repository branch name to checkout. + :type branch: str + :param tag: The git repository tag name to checkout. This takes precedence over branch. + :type tag: str + :param semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :type semver: str + :param commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :type commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + *, + branch: Optional[str] = None, + tag: Optional[str] = None, + semver: Optional[str] = None, + commit: Optional[str] = None, + **kwargs + ): + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = branch + self.tag = tag + self.semver = semver + self.commit = commit + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: Operation name, in format of {provider}/{resource}/{operation}. + :type name: str + :param display: Display metadata associated with the operation. + :type display: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :param provider: Resource provider: Microsoft KubernetesConfiguration. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of operation: get, read, delete, etc. + :type operation: str + :param description: Description of this 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(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: List of operations supported by this resource provider. + :type value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :param cluster: Specifies that the scope of the extension is Cluster. + :type cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster + :param namespace: Specifies that the scope of the extension is Namespace. + :type namespace: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :type release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :param target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :type target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :param repository_url: Url of the SourceControl Repository. + :type repository_url: str + :param operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :type operator_namespace: str + :param operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :type operator_instance_name: str + :param operator_type: Type of the operator. Possible values include: "Flux". + :type operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType + :param operator_params: Any Parameters for the Operator instance in string format. + :type operator_params: str + :param configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :type configuration_protected_settings: dict[str, str] + :param operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :type operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :param ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :type ssh_known_hosts_contents: str + :param enable_helm_operator: Option to enable Helm Operator for this git configuration. + :type enable_helm_operator: bool + :param helm_operator_properties: Properties for Helm operator. + :type helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SupportedScopes(msrest.serialization.Model): + """Extension scopes. + + :param default_scope: Default extension scopes: cluster or namespace. + :type default_scope: str + :param cluster_scope_settings: Scope settings. + :type cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings + """ + + _attribute_map = { + 'default_scope': {'key': 'defaultScope', 'type': 'str'}, + 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, + } + + def __init__( + self, + *, + default_scope: Optional[str] = None, + cluster_scope_settings: Optional["ClusterScopeSettings"] = None, + **kwargs + ): + super(SupportedScopes, self).__init__(**kwargs) + self.default_scope = default_scope + self.cluster_scope_settings = cluster_scope_settings + + +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.mgmt.kubernetesconfiguration.v2022_01_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 + ~azure.mgmt.kubernetesconfiguration.v2022_01_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/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..1396bc813d4 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,146 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClusterTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Cluster types + """ + + CONNECTED_CLUSTERS = "connectedClusters" + MANAGED_CLUSTERS = "managedClusters" + +class ComplianceStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +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 Enum0(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class FluxComplianceState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Compliance state of the cluster object. + """ + + COMPLIANT = "Compliant" + NON_COMPLIANT = "Non-Compliant" + PENDING = "Pending" + SUSPENDED = "Suspended" + UNKNOWN = "Unknown" + +class KustomizationValidationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Specify whether to validate the Kubernetes objects referenced in the Kustomization before + applying them to the cluster. + """ + + NONE = "none" + CLIENT = "client" + SERVER = "server" + +class LevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ScopeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the configuration will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class SourceKindType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Source Kind to pull the configuration data from. + """ + + GIT_REPOSITORY = "GitRepository" + BUCKET = "Bucket" diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/__init__.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/__init__.py new file mode 100644 index 00000000000..37008240af3 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/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 ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_type_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py similarity index 85% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_type_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py index a2998ac9547..4392300f4a6 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_type_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py @@ -29,7 +29,7 @@ class ClusterExtensionTypeOperations(object): 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.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -48,7 +48,7 @@ def get( self, resource_group_name, # type: str cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_type, # type: Union[str, "_models.Enum5"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] cluster_name, # type: str extension_type_name, # type: str **kwargs # type: Any @@ -60,17 +60,17 @@ def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 - :param cluster_type: The Kubernetes cluster resource name - either managedClusters (for AKS - clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum5 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_type_name: Extension type name. :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ExtensionType, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] @@ -78,16 +78,16 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" + api_version = "2022-01-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\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterType': self._serialize.url("cluster_type", cluster_type, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), 'extensionTypeName': self._serialize.url("extension_type_name", extension_type_name, 'str'), } @@ -116,4 +116,4 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py similarity index 87% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_types_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py index 8ba2c2d42e9..61a5f735fcc 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_cluster_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py @@ -30,7 +30,7 @@ class ClusterExtensionTypesOperations(object): 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.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,6 +49,7 @@ def list( self, resource_group_name, # type: str cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] cluster_name, # type: str **kwargs # type: Any ): @@ -59,12 +60,15 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -72,7 +76,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -85,8 +89,9 @@ def prepare_request(next_link=None): 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), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -124,4 +129,4 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/connectedClusters/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extension_type_versions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py similarity index 97% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extension_type_versions_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py index bca368e1670..c4627a848b1 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extension_type_versions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py @@ -30,7 +30,7 @@ class ExtensionTypeVersionsOperations(object): 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.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -60,7 +60,7 @@ def list( :type extension_type_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionVersionList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] @@ -68,7 +68,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extensions_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py similarity index 96% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extensions_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py index 794ba86c86c..03f7f0ca45d 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_extensions_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py @@ -32,7 +32,7 @@ class ExtensionsOperations(object): 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.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -63,7 +63,7 @@ def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -129,16 +129,16 @@ def begin_create( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param extension: Properties necessary to Create an Extension. - :type extension: ~azure.mgmt.kubernetesconfiguration.models.Extension + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension :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: By default, your polling method will be ARMPolling. @@ -146,7 +146,7 @@ def begin_create( :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 Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.models.Extension] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] @@ -217,17 +217,17 @@ def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Extension, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.models.Extension + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] @@ -235,7 +235,7 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL @@ -291,7 +291,7 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL @@ -348,10 +348,10 @@ def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. @@ -431,12 +431,10 @@ def _update_initial( # type: (...) -> "_models.Extension" cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] error_map = { - 401: ClientAuthenticationError, - 404: ResourceNotFoundError, - 409: lambda response: ResourceExistsError(response=response, model=self._deserialize(_models.ErrorResponse, response), error_format=ARMErrorFormat), + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -498,16 +496,16 @@ def begin_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param extension_name: Name of the Extension. :type extension_name: str :param patch_extension: Properties to Patch in an existing Extension. - :type patch_extension: ~azure.mgmt.kubernetesconfiguration.models.PatchExtension + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension :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: By default, your polling method will be ARMPolling. @@ -515,7 +513,7 @@ def begin_update( :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 Extension or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.models.Extension] + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] @@ -585,15 +583,15 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ExtensionsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.models.ExtensionsList] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] @@ -601,7 +599,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_private_link_resources_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py similarity index 57% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_private_link_resources_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py index 8b4dd854c39..ccb630e51f8 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_private_link_resources_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py @@ -17,19 +17,19 @@ 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, Optional, TypeVar, Union T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class PrivateLinkResourcesOperations(object): - """PrivateLinkResourcesOperations operations. +class FluxConfigOperationStatusOperations(object): + """FluxConfigOperationStatusOperations 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,41 +44,56 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def list_by_storage_account( + def get( self, resource_group_name, # type: str - account_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + flux_configuration_name, # type: str + operation_id, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.PrivateLinkResourceListResult" - """Gets the private link resources that need to be created for a storage account. + # type: (...) -> "_models.OperationStatusResult" + """Get Async Operation status. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateLinkResourceListResult, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateLinkResourceListResult + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourceListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self.list_by_storage_account.metadata['url'] # type: ignore + url = self.get.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -96,12 +111,13 @@ def list_by_storage_account( 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.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('PrivateLinkResourceListResult', pipeline_response) + deserialized = self._deserialize('OperationStatusResult', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list_by_storage_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore diff --git a/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..a2129c8a800 --- /dev/null +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py @@ -0,0 +1,655 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 FluxConfigurationsOperations(object): + """FluxConfigurationsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + 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 + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + flux_configuration_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.FluxConfiguration" + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + flux_configuration_name, # type: str + flux_configuration, # type: "_models.FluxConfiguration" + **kwargs # type: Any + ): + # type: (...) -> "_models.FluxConfiguration" + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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(flux_configuration, 'FluxConfiguration') + 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('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + flux_configuration_name, # type: str + flux_configuration, # type: "_models.FluxConfiguration" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.FluxConfiguration"] + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 FluxConfiguration or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + 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('FluxConfiguration', 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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + flux_configuration_name, # type: str + flux_configuration_patch, # type: "_models.FluxConfigurationPatch" + **kwargs # type: Any + ): + # type: (...) -> "_models.FluxConfiguration" + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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(flux_configuration_patch, 'FluxConfigurationPatch') + 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 [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) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + flux_configuration_name, # type: str + flux_configuration_patch, # type: "_models.FluxConfigurationPatch" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.FluxConfiguration"] + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 FluxConfiguration or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + 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('FluxConfiguration', 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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + flux_configuration_name, # type: str + force_delete=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 = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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_delete is not None: + query_parameters['forceDelete'] = self._serialize.query("force_delete", force_delete, '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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + flux_configuration_name, # type: str + force_delete=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + 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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'fluxConfigurationName': self._serialize.url("flux_configuration_name", flux_configuration_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.FluxConfigurationsList"] + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_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('FluxConfigurationsList', 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_location_extension_types_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py similarity index 96% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_location_extension_types_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py index 15282cd28e0..454b01b9655 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_location_extension_types_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py @@ -30,7 +30,7 @@ class LocationExtensionTypesOperations(object): 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.kubernetesconfiguration.v2021_05_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -57,7 +57,7 @@ def list( :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 ExtensionTypeList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] @@ -65,7 +65,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-05-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operation_status_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py similarity index 95% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operation_status_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py index d70023d2104..4f88c2781a9 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operation_status_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py @@ -30,7 +30,7 @@ class OperationStatusOperations(object): 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.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,6 +45,84 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + def get( + self, + resource_group_name, # type: str + cluster_rp, # type: Union[str, "_models.Enum0"] + cluster_resource_name, # type: Union[str, "_models.Enum1"] + cluster_name, # type: str + extension_name, # type: str + operation_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.OperationStatusResult" + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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), + 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), + 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + 'operationId': self._serialize.url("operation_id", operation_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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + def list( self, resource_group_name, # type: str @@ -60,15 +138,15 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either OperationStatusList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.models.OperationStatusList] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] @@ -76,7 +154,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -130,81 +208,3 @@ def get_next(next_link=None): get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore - - def get( - self, - resource_group_name, # type: str - cluster_rp, # type: Union[str, "_models.Enum0"] - cluster_resource_name, # type: Union[str, "_models.Enum1"] - cluster_name, # type: str - extension_name, # type: str - operation_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.OperationStatusResult" - """Get Async Operation status. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS - clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 - :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters - (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 - :param cluster_name: The name of the kubernetes cluster. - :type cluster_name: str - :param extension_name: Name of the Extension. - :type extension_name: str - :param operation_id: operation Id. - :type operation_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: OperationStatusResult, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.models.OperationStatusResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', min_length=1), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), - 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), - 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), - 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), - 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), - 'operationId': self._serialize.url("operation_id", operation_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) - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('OperationStatusResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operations.py similarity index 95% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operations.py index fe4ca00195c..a52ba75a330 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_operations.py @@ -30,7 +30,7 @@ class Operations(object): 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.kubernetesconfiguration.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -50,12 +50,11 @@ def list( **kwargs # type: Any ): # type: (...) -> Iterable["_models.ResourceProviderOperationList"] - """List all the available operations the KubernetesConfiguration resource provider supports, in - this api-version. + """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationList] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] @@ -63,7 +62,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_source_control_configurations_operations.py b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py similarity index 93% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_source_control_configurations_operations.py rename to src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py index d192efa6d03..44412282d5a 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/_source_control_configurations_operations.py +++ b/src/k8s-configuration/azext_k8s_configuration/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py @@ -32,7 +32,7 @@ class SourceControlConfigurationsOperations(object): 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.kubernetesconfiguration.v2020_07_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -59,21 +59,21 @@ def get( # type: (...) -> "_models.SourceControlConfiguration" """Gets details of the Source Control Configuration. - :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 cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -81,14 +81,14 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2022-01-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'), + '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), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), @@ -134,23 +134,23 @@ def create_or_update( # type: (...) -> "_models.SourceControlConfiguration" """Create a new Kubernetes Source Control Configuration. - :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 cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -158,15 +158,15 @@ def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2022-01-01-preview" 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'), + '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), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), @@ -222,14 +222,14 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2022-01-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'), + '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), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), @@ -272,14 +272,14 @@ def begin_delete( """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. - :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 cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. @@ -320,8 +320,8 @@ def get_long_running_output(pipeline_response): 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'), + '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), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), @@ -353,19 +353,19 @@ def list( # type: (...) -> Iterable["_models.SourceControlConfigurationList"] """List all Source Control Configurations. - :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 cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -373,7 +373,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -385,8 +385,8 @@ def prepare_request(next_link=None): # 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'), + '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), 'clusterRp': self._serialize.url("cluster_rp", cluster_rp, 'str'), 'clusterResourceName': self._serialize.url("cluster_resource_name", cluster_resource_name, 'str'), 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), diff --git a/src/k8s-configuration/setup.py b/src/k8s-configuration/setup.py index 048614fdd87..5d94b005da4 100644 --- a/src/k8s-configuration/setup.py +++ b/src/k8s-configuration/setup.py @@ -8,47 +8,49 @@ 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") -VERSION = '1.2.0' +VERSION = "1.4.1" # 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', + "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 = ["pycryptodome~=3.9.8"] -with open('README.rst', 'r', encoding='utf-8') as f: +with open("README.rst", "r", encoding="utf-8") as f: README = f.read() -with open('HISTORY.rst', 'r', encoding='utf-8') as f: +with open("HISTORY.rst", "r", encoding="utf-8") as f: HISTORY = f.read() setup( - name='k8s-configuration', + name="k8s-configuration", version=VERSION, - description='Microsoft Azure Command-Line Tools K8s-configuration Extension', + description="Microsoft Azure Command-Line Tools K8s-configuration Extension", # TODO: Update author and email, if applicable - author='Microsoft Corporation', - author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/k8s-configuration', - long_description=README + '\n\n' + HISTORY, - license='MIT', + author="Microsoft Corporation", + author_email="azpycli@microsoft.com", + url="https://github.com/Azure/azure-cli-extensions/tree/main/src/k8s-configuration", + long_description=README + "\n\n" + HISTORY, + license="MIT", classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, - package_data={'azext_k8s_configuration': ['azext_metadata.json']}, + package_data={"azext_k8s_configuration": ["azext_metadata.json"]}, ) diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 9bc3cc21746..243dd8f7307 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -2,6 +2,22 @@ Release History =============== + +1.0.4 +++++++++++++++++++ +* microsoft.azureml.kubernetes: Support SSL secret + +1.0.3 +++++++++++++++++++ +* Remove identity creation for calls to Microsoft.ResourceConnector + +1.0.2 +++++++++++++++++++ +* Update api-version for calls to Microsoft.ResourceConnector to 2021-10-31-preview +* Update api-version for calls to Microsoft.ContainerService to 2021-10-01 +* Update api-version for calls to Microsoft.Kubernetes to 2021-10-01 +* microsoft.azureml.kubernetes: Add one more prompt for amlarc extension update + 1.0.1 ++++++++++++++++++ * microsoft.azureml.kubernetes: Retrieve relay and service bus connection string when update the configuration protected settings of the extension. diff --git a/src/k8s-extension/azext_k8s_extension/consts.py b/src/k8s-extension/azext_k8s_extension/consts.py index 350344bc53a..dff2e32b886 100644 --- a/src/k8s-extension/azext_k8s_extension/consts.py +++ b/src/k8s-extension/azext_k8s_extension/consts.py @@ -4,8 +4,20 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -EXTENSION_NAME = 'k8s-extension' +EXTENSION_NAME = "k8s-extension" EXTENSION_PACKAGE_NAME = "azext_k8s_extension" -PROVIDER_NAMESPACE = 'Microsoft.KubernetesConfiguration' +PROVIDER_NAMESPACE = "Microsoft.KubernetesConfiguration" REGISTERED = "Registered" -DF_RM_HOSTNAME = 'api-dogfood.resources.windows-int.net' +DF_RM_HOSTNAME = "api-dogfood.resources.windows-int.net" + +CONNECTED_CLUSTER_RP = "Microsoft.Kubernetes" +MANAGED_CLUSTER_RP = "Microsoft.ContainerService" +APPLIANCE_RP = "Microsoft.ResourceConnector" + +CONNECTED_CLUSTER_TYPE = "connectedclusters" +MANAGED_CLUSTER_TYPE = "managedclusters" +APPLIANCE_TYPE = "appliances" + +CONNECTED_CLUSTER_API_VERSION = "2021-10-01" +MANAGED_CLUSTER_API_VERSION = "2021-10-01" +APPLIANCE_API_VERSION = "2021-10-31-preview" diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index c3720078056..abff15a0246 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -5,12 +5,18 @@ # pylint: disable=unused-argument,too-many-locals -import json -from urllib.parse import urlparse +from .utils import ( + get_cluster_rp_api_version, + is_dogfood_cluster, + read_config_settings_file, +) from knack.log import get_logger -from azure.cli.core.azclierror import ResourceNotFoundError, MutuallyExclusiveArgumentError, \ - InvalidArgumentValueError, RequiredArgumentMissingError +from azure.cli.core.azclierror import ( + ResourceNotFoundError, + MutuallyExclusiveArgumentError, + RequiredArgumentMissingError, +) from azure.cli.core.commands.client_factory import get_subscription_id from azure.cli.core.util import sdk_no_wait from azure.core.exceptions import HttpResponseError @@ -22,7 +28,10 @@ from .partner_extensions.OpenServiceMesh import OpenServiceMesh from .partner_extensions.AzureMLKubernetes import AzureMLKubernetes from .partner_extensions.Dapr import Dapr -from .partner_extensions.DefaultExtension import DefaultExtension, user_confirmation_factory +from .partner_extensions.DefaultExtension import ( + DefaultExtension, + user_confirmation_factory, +) from . import consts from ._client_factory import cf_resources @@ -33,11 +42,11 @@ # A factory method to return the correct extension class based off of the extension name def ExtensionFactory(extension_name): extension_map = { - 'microsoft.azuremonitor.containers': ContainerInsights, - 'microsoft.azuredefender.kubernetes': AzureDefender, - 'microsoft.openservicemesh': OpenServiceMesh, - 'microsoft.azureml.kubernetes': AzureMLKubernetes, - 'microsoft.dapr': Dapr, + "microsoft.azuremonitor.containers": ContainerInsights, + "microsoft.azuredefender.kubernetes": AzureDefender, + "microsoft.openservicemesh": OpenServiceMesh, + "microsoft.azureml.kubernetes": AzureMLKubernetes, + "microsoft.dapr": Dapr, } # Return the extension if we find it in the map, else return the default @@ -45,14 +54,14 @@ def ExtensionFactory(extension_name): def show_k8s_extension(client, resource_group_name, cluster_name, name, cluster_type): - """Get an existing K8s Extension. - """ + """Get an existing K8s Extension.""" # Determine ClusterRP - cluster_rp = __get_cluster_rp(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) try: - extension = client.get(resource_group_name, - cluster_rp, cluster_type, cluster_name, name) + extension = client.get( + resource_group_name, cluster_rp, cluster_type, cluster_name, name + ) return extension except HttpResponseError as ex: # Customize the error message for resources not found @@ -60,46 +69,69 @@ def show_k8s_extension(client, resource_group_name, cluster_name, name, cluster_ # If Cluster not found if ex.message.__contains__("(ResourceNotFound)"): message = "{0} Verify that the cluster-type is correct and the resource exists.".format( - ex.message) + ex.message + ) # If Configuration not found - elif ex.message.__contains__("Operation returned an invalid status code 'Not Found'"): - message = "(ExtensionNotFound) The Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration/" \ - "extensions/{3} could not be found!".format( - cluster_rp, cluster_type, cluster_name, name) + elif ex.message.__contains__( + "Operation returned an invalid status code 'Not Found'" + ): + message = ( + "(ExtensionNotFound) The Resource {0}/{1}/{2}/Microsoft.KubernetesConfiguration/" + "extensions/{3} could not be found!".format( + cluster_rp, cluster_type, cluster_name, name + ) + ) else: message = ex.message raise ResourceNotFoundError(message) from ex raise ex -def create_k8s_extension(cmd, client, resource_group_name, cluster_name, name, cluster_type, - extension_type, scope=None, auto_upgrade_minor_version=None, release_train=None, - version=None, target_namespace=None, release_namespace=None, configuration_settings=None, - configuration_protected_settings=None, configuration_settings_file=None, - configuration_protected_settings_file=None, no_wait=False): - """Create a new Extension Instance. - """ +def create_k8s_extension( + cmd, + client, + resource_group_name, + cluster_name, + name, + cluster_type, + extension_type, + scope=None, + auto_upgrade_minor_version=None, + release_train=None, + version=None, + target_namespace=None, + release_namespace=None, + configuration_settings=None, + configuration_protected_settings=None, + configuration_settings_file=None, + configuration_protected_settings_file=None, + no_wait=False, +): + """Create a new Extension Instance.""" extension_type_lower = extension_type.lower() - cluster_rp = __get_cluster_rp(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) # Configuration Settings & Configuration Protected Settings if configuration_settings is not None and configuration_settings_file is not None: raise MutuallyExclusiveArgumentError( - 'Error! Both configuration-settings and configuration-settings-file cannot be provided.' + "Error! Both configuration-settings and configuration-settings-file cannot be provided." ) - if configuration_protected_settings is not None and configuration_protected_settings_file is not None: + if ( + configuration_protected_settings is not None + and configuration_protected_settings_file is not None + ): raise MutuallyExclusiveArgumentError( - 'Error! Both configuration-protected-settings and configuration-protected-settings-file ' - 'cannot be provided.' + "Error! Both configuration-protected-settings and configuration-protected-settings-file " + "cannot be provided." ) config_settings = {} config_protected_settings = {} # Get Configuration Settings from file if configuration_settings_file is not None: - config_settings = __read_config_settings_file(configuration_settings_file) + config_settings = read_config_settings_file(configuration_settings_file) if configuration_settings is not None: for dicts in configuration_settings: @@ -108,7 +140,9 @@ def create_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c # Get Configuration Protected Settings from file if configuration_protected_settings_file is not None: - config_protected_settings = __read_config_settings_file(configuration_protected_settings_file) + config_protected_settings = read_config_settings_file( + configuration_protected_settings_file + ) if configuration_protected_settings is not None: for dicts in configuration_protected_settings: @@ -127,12 +161,29 @@ def create_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c # Get the extension class based on the extension name extension_class = ExtensionFactory(extension_type_lower) extension_instance, name, create_identity = extension_class.Create( - cmd, client, resource_group_name, cluster_name, name, cluster_type, extension_type_lower, scope, - auto_upgrade_minor_version, release_train, version, target_namespace, release_namespace, config_settings, - config_protected_settings, configuration_settings_file, configuration_protected_settings_file) + cmd, + client, + resource_group_name, + cluster_name, + name, + cluster_type, + extension_type_lower, + scope, + auto_upgrade_minor_version, + release_train, + version, + target_namespace, + release_namespace, + config_settings, + config_protected_settings, + configuration_settings_file, + configuration_protected_settings_file, + ) # Common validations - __validate_version_and_auto_upgrade(extension_instance.version, extension_instance.auto_upgrade_minor_version) + __validate_version_and_auto_upgrade( + extension_instance.version, extension_instance.auto_upgrade_minor_version + ) __validate_scope_after_customization(extension_instance.scope) # Check that registration has been done on Microsoft.KubernetesConfiguration for the subscription @@ -141,50 +192,80 @@ def create_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c # Create identity, if required # We don't create the identity if we are in DF if create_identity and not is_dogfood_cluster(cmd): - identity_object, location = __create_identity(cmd, resource_group_name, cluster_name, cluster_type, cluster_rp) + identity_object, location = __create_identity( + cmd, resource_group_name, cluster_name, cluster_type + ) if identity_object is not None and location is not None: - extension_instance.identity, extension_instance.location = identity_object, location + extension_instance.identity, extension_instance.location = ( + identity_object, + location, + ) # Try to create the resource - return sdk_no_wait(no_wait, client.begin_create, resource_group_name, - cluster_rp, cluster_type, cluster_name, name, extension_instance) + return sdk_no_wait( + no_wait, + client.begin_create, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + extension_instance, + ) def list_k8s_extension(client, resource_group_name, cluster_name, cluster_type): - cluster_rp = __get_cluster_rp(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) return client.list(resource_group_name, cluster_rp, cluster_type, cluster_name) -def update_k8s_extension(cmd, client, resource_group_name, cluster_name, name, cluster_type, - auto_upgrade_minor_version='', release_train='', version='', - configuration_settings=None, configuration_protected_settings=None, - configuration_settings_file=None, configuration_protected_settings_file=None, - no_wait=False, yes=False): - """Patch an existing Extension Instance. - """ - - if configuration_settings or \ - configuration_protected_settings or \ - configuration_settings_file or \ - configuration_protected_settings_file: - msg = ('Updating properties in --config-settings or --config-protected-settings may lead to undesirable state' - ' if the cluster extension type does not support it. Please refer to the documentation of the' - ' cluster extension service to check if updates to these properties is supported.' - ' Do you wish to proceed?') +def update_k8s_extension( + cmd, + client, + resource_group_name, + cluster_name, + name, + cluster_type, + auto_upgrade_minor_version="", + release_train="", + version="", + configuration_settings=None, + configuration_protected_settings=None, + configuration_settings_file=None, + configuration_protected_settings_file=None, + no_wait=False, + yes=False, +): + """Patch an existing Extension Instance.""" + + if ( + configuration_settings + or configuration_protected_settings + or configuration_settings_file + or configuration_protected_settings_file + ): + msg = ( + "Updating properties in --config-settings or --config-protected-settings may lead to undesirable state" + " if the cluster extension type does not support it. Please refer to the documentation of the" + " cluster extension service to check if updates to these properties is supported." + " Do you wish to proceed?" + ) user_confirmation_factory(cmd, yes, msg) # Determine ClusterRP - cluster_rp = __get_cluster_rp(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) # We need to determine the ExtensionType to call ExtensionFactory and create Extension class - extension = show_k8s_extension(client, resource_group_name, cluster_name, name, cluster_type) + extension = show_k8s_extension( + client, resource_group_name, cluster_name, name, cluster_type + ) extension_type_lower = extension.extension_type.lower() config_settings = {} config_protected_settings = {} # Get Configuration Settings from file if configuration_settings_file is not None: - config_settings = __read_config_settings_file(configuration_settings_file) + config_settings = read_config_settings_file(configuration_settings_file) if configuration_settings is not None: for dicts in configuration_settings: @@ -193,7 +274,9 @@ def update_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c # Get Configuration Protected Settings from file if configuration_protected_settings_file is not None: - config_protected_settings = __read_config_settings_file(configuration_protected_settings_file) + config_protected_settings = read_config_settings_file( + configuration_protected_settings_file + ) if configuration_protected_settings is not None: for dicts in configuration_protected_settings: @@ -203,55 +286,93 @@ def update_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c # Get the extension class based on the extension type extension_class = ExtensionFactory(extension_type_lower) - upd_extension = extension_class.Update(cmd, resource_group_name, cluster_name, auto_upgrade_minor_version, release_train, version, - config_settings, config_protected_settings, yes) - - return sdk_no_wait(no_wait, client.begin_update, resource_group_name, cluster_rp, cluster_type, - cluster_name, name, upd_extension) - - -def delete_k8s_extension(cmd, client, resource_group_name, cluster_name, name, cluster_type, - no_wait=False, yes=False, force=False): - """Delete an existing Kubernetes Extension. - """ + upd_extension = extension_class.Update( + cmd, + resource_group_name, + cluster_name, + auto_upgrade_minor_version, + release_train, + version, + config_settings, + config_protected_settings, + yes, + ) + + return sdk_no_wait( + no_wait, + client.begin_update, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + upd_extension, + ) + + +def delete_k8s_extension( + cmd, + client, + resource_group_name, + cluster_name, + name, + cluster_type, + no_wait=False, + yes=False, + force=False, +): + """Delete an existing Kubernetes Extension.""" # Determine ClusterRP - cluster_rp = __get_cluster_rp(cluster_type) + cluster_rp, _ = get_cluster_rp_api_version(cluster_type) extension = None try: - extension = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) + extension = client.get( + resource_group_name, cluster_rp, cluster_type, cluster_name, name + ) except HttpResponseError: - logger.warning("No extension with name '%s' found on cluster '%s', so nothing to delete", name, cluster_name) + logger.warning( + "No extension with name '%s' found on cluster '%s', so nothing to delete", + name, + cluster_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(cmd, client, resource_group_name, cluster_name, - name, cluster_type, yes) - - return sdk_no_wait(no_wait, client.begin_delete, resource_group_name, - cluster_rp, cluster_type, cluster_name, name, force_delete=force) - - -def __create_identity(cmd, resource_group_name, cluster_name, cluster_type, cluster_rp): + extension_class.Delete( + cmd, client, resource_group_name, cluster_name, name, cluster_type, yes + ) + + return sdk_no_wait( + no_wait, + client.begin_delete, + resource_group_name, + cluster_rp, + cluster_type, + cluster_name, + name, + force_delete=force, + ) + + +def __create_identity(cmd, resource_group_name, cluster_name, cluster_type): subscription_id = get_subscription_id(cmd.cli_ctx) resources = cf_resources(cmd.cli_ctx, subscription_id) - cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/{2}/{3}/{4}'.format(subscription_id, - resource_group_name, - cluster_rp, - cluster_type, - cluster_name) - - if cluster_rp == 'Microsoft.Kubernetes': - parent_api_version = '2020-01-01-preview' - elif cluster_rp == 'Microsoft.ResourceConnector': - parent_api_version = '2020-09-15-privatepreview' - elif cluster_rp == 'Microsoft.ContainerService': + # We do not create any identities for managedClusters or appliances + if ( + cluster_type.lower() == consts.MANAGED_CLUSTER_TYPE + or cluster_type.lower() == consts.APPLIANCE_TYPE + ): return None, None - else: - raise InvalidArgumentValueError( - "Error! Cluster type '{}' is not supported for extension identity".format(cluster_type) + + cluster_rp, parent_api_version = get_cluster_rp_api_version(cluster_type) + + cluster_resource_id = ( + "/subscriptions/{0}/resourceGroups/{1}/providers/{2}/{3}/{4}".format( + subscription_id, resource_group_name, cluster_rp, cluster_type, cluster_name ) + ) try: resource = resources.get_by_id(cluster_resource_id, parent_api_version) @@ -263,32 +384,25 @@ def __create_identity(cmd, resource_group_name, cluster_name, cluster_type, clus return Identity(type=identity_type), location -def __get_cluster_rp(cluster_type): - rp = "" - if cluster_type.lower() == 'connectedclusters': - rp = 'Microsoft.Kubernetes' - elif cluster_type.lower() == 'appliances': - rp = 'Microsoft.ResourceConnector' - elif cluster_type.lower() == '' or cluster_type.lower() == 'managedclusters': - rp = 'Microsoft.ContainerService' - else: - raise InvalidArgumentValueError("Error! Cluster type '{}' is not supported".format(cluster_type)) - return rp - - def __validate_scope_and_namespace(scope, release_namespace, target_namespace): - if scope == 'cluster': + if scope == "cluster": if target_namespace is not None: message = "When --scope is 'cluster', --target-namespace must not be given." raise MutuallyExclusiveArgumentError(message) else: if release_namespace is not None: - message = "When --scope is 'namespace', --release-namespace must not be given." + message = ( + "When --scope is 'namespace', --release-namespace must not be given." + ) raise MutuallyExclusiveArgumentError(message) def __validate_scope_after_customization(scope_obj: Scope): - if scope_obj is not None and scope_obj.namespace is not None and scope_obj.namespace.target_namespace is None: + if ( + scope_obj is not None + and scope_obj.namespace is not None + and scope_obj.namespace.target_namespace is None + ): message = "When --scope is 'namespace', --target-namespace must be given." raise RequiredArgumentMissingError(message) @@ -300,18 +414,3 @@ def __validate_version_and_auto_upgrade(version, auto_upgrade_minor_version): raise MutuallyExclusiveArgumentError(message) auto_upgrade_minor_version = False - - -def __read_config_settings_file(file_path): - try: - with open(file_path, 'r') as f: - settings = json.load(f) - if len(settings) == 0: - raise Exception("File {} is empty".format(file_path)) - return settings - except ValueError as ex: - raise Exception("File {} is not a valid JSON file".format(file_path)) from ex - - -def is_dogfood_cluster(cmd): - return urlparse(cmd.cli_ctx.cloud.endpoints.resource_manager).hostname == consts.DF_RM_HOSTNAME 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 4f4fb43fe15..6334877f59e 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -10,6 +10,7 @@ import copy from hashlib import md5 from typing import Any, Dict, List, Tuple +from ..utils import get_cluster_rp_api_version import azure.mgmt.relay import azure.mgmt.relay.models @@ -80,6 +81,7 @@ def __init__(self): self.privateEndpointILB = 'privateEndpointILB' self.privateEndpointNodeport = 'privateEndpointNodeport' self.inferenceLoadBalancerHA = 'inferenceLoadBalancerHA' + self.SSL_SECRET = 'sslSecret' # constants for existing AKS to AMLARC migration self.IS_AKS_MIGRATION = 'isAKSMigration' @@ -107,11 +109,11 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t ext_scope = Scope(cluster=scope_cluster, namespace=None) # validate the config - self.__validate_config(configuration_settings, configuration_protected_settings) + self.__validate_config(configuration_settings, configuration_protected_settings, release_namespace) # get the arc's location subscription_id = get_subscription_id(cmd.cli_ctx) - cluster_rp, parent_api_version = _get_cluster_rp_api_version(cluster_type) + cluster_rp, parent_api_version = get_cluster_rp_api_version(cluster_type) cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/{2}' \ '/{3}/{4}'.format(subscription_id, resource_group_name, cluster_rp, cluster_type, cluster_name) cluster_location = '' @@ -284,7 +286,7 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers if self.sslKeyPemFile in configuration_protected_settings and \ self.sslCertPemFile in configuration_protected_settings: logger.info(f"Both {self.sslKeyPemFile} and {self.sslCertPemFile} are set, update ssl key.") - self.__set_inference_ssl_from_file(configuration_protected_settings) + self.__set_inference_ssl_from_file(configuration_protected_settings, self.sslCertPemFile, self.sslKeyPemFile) return PatchExtension(auto_upgrade_minor_version=auto_upgrade_minor_version, release_train=release_train, @@ -317,7 +319,7 @@ def __normalize_config(self, configuration_settings, configuration_protected_set logger.warning( 'Internal load balancer only supported on AKS and AKS Engine Clusters.') - def __validate_config(self, configuration_settings, configuration_protected_settings): + def __validate_config(self, configuration_settings, configuration_protected_settings, release_namespace): # perform basic validation of the input config config_keys = configuration_settings.keys() config_protected_keys = configuration_protected_settings.keys() @@ -337,13 +339,12 @@ def __validate_config(self, configuration_settings, configuration_protected_sett enable_inference = str(enable_inference).lower() == 'true' 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.__validate_scoring_fe_settings(configuration_settings, configuration_protected_settings, release_namespace) 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, either " - "for Machine Learning training or inference by specifying " + "To create Microsoft.AzureML.Kubernetes extension, either " + "enable Machine Learning training or inference by specifying " f"'--configuration-settings {self.ENABLE_TRAINING}=true' or '--configuration-settings {self.ENABLE_INFERENCE}=true'") configuration_settings[self.ENABLE_TRAINING] = configuration_settings.get(self.ENABLE_TRAINING, enable_training) @@ -352,7 +353,7 @@ def __validate_config(self, configuration_settings, configuration_protected_sett configuration_protected_settings.pop(self.ENABLE_TRAINING, None) configuration_protected_settings.pop(self.ENABLE_INFERENCE, None) - def __validate_scoring_fe_settings(self, configuration_settings, configuration_protected_settings): + def __validate_scoring_fe_settings(self, configuration_settings, configuration_protected_settings, release_namespace): isTestCluster = _get_value_from_config_protected_config( self.inferenceLoadBalancerHA, configuration_settings, configuration_protected_settings) isTestCluster = str(isTestCluster).lower() == 'false' @@ -366,16 +367,20 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p if isAKSMigration: configuration_settings['scoringFe.namespace'] = "default" configuration_settings[self.IS_AKS_MIGRATION] = "true" + sslSecret = _get_value_from_config_protected_config( + self.SSL_SECRET, configuration_settings, configuration_protected_settings) feSslCertFile = configuration_protected_settings.get(self.sslCertPemFile) feSslKeyFile = configuration_protected_settings.get(self.sslKeyPemFile) allowInsecureConnections = _get_value_from_config_protected_config( self.allowInsecureConnections, configuration_settings, configuration_protected_settings) allowInsecureConnections = str(allowInsecureConnections).lower() == 'true' - if (not feSslCertFile or not feSslKeyFile) and not allowInsecureConnections: + sslEnabled = (feSslCertFile and feSslKeyFile) or sslSecret + if not sslEnabled and not allowInsecureConnections: raise InvalidArgumentValueError( - "Provide ssl certificate and key. " - "Otherwise explicitly allow insecure connection by specifying " - "'--configuration-settings allowInsecureConnections=true'") + "To enable HTTPs endpoint, " + "either provide sslCertPemFile and sslKeyPemFile to config protected settings, " + f"or provide sslSecret (kubernetes secret name) containing both ssl cert and ssl key under {release_namespace} namespace. " + "Otherwise, to enable HTTP endpoint, explicitly set allowInsecureConnections=true.") feIsNodePort = _get_value_from_config_protected_config( self.privateEndpointNodeport, configuration_settings, configuration_protected_settings) @@ -394,16 +399,17 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p logger.warning( 'Internal load balancer only supported on AKS and AKS Engine Clusters.') - def __set_inference_ssl_from_file(self, configuration_protected_settings): + def __set_inference_ssl_from_secret(self, configuration_settings, fe_ssl_secret): + configuration_settings['scoringFe.sslSecret'] = fe_ssl_secret + + def __set_inference_ssl_from_file(self, configuration_protected_settings, fe_ssl_cert_file, fe_ssl_key_file): import base64 - feSslCertFile = configuration_protected_settings.get(self.sslCertPemFile) - feSslKeyFile = configuration_protected_settings.get(self.sslKeyPemFile) - with open(feSslCertFile) as f: + with open(fe_ssl_cert_file) as f: cert_data = f.read() cert_data_bytes = cert_data.encode("ascii") ssl_cert = base64.b64encode(cert_data_bytes).decode() configuration_protected_settings['scoringFe.sslCert'] = ssl_cert - with open(feSslKeyFile) as f: + with open(fe_ssl_key_file) as f: key_data = f.read() key_data_bytes = key_data.encode("ascii") ssl_key = base64.b64encode(key_data_bytes).decode() @@ -414,7 +420,16 @@ def __set_up_inference_ssl(self, configuration_settings, configuration_protected self.allowInsecureConnections, configuration_settings, configuration_protected_settings) allowInsecureConnections = str(allowInsecureConnections).lower() == 'true' if not allowInsecureConnections: - self.__set_inference_ssl_from_file(configuration_protected_settings) + fe_ssl_secret = _get_value_from_config_protected_config( + self.SSL_SECRET, configuration_settings, configuration_protected_settings) + fe_ssl_cert_file = configuration_protected_settings.get(self.sslCertPemFile) + fe_ssl_key_file = configuration_protected_settings.get(self.sslKeyPemFile) + + # always take ssl key/cert first, then secret if key/cert file is not provided + if fe_ssl_cert_file and fe_ssl_key_file: + self.__set_inference_ssl_from_file(configuration_protected_settings, fe_ssl_cert_file, fe_ssl_key_file) + else: + self.__set_inference_ssl_from_secret(configuration_settings, fe_ssl_secret) else: logger.warning( 'SSL is not enabled. Allowing insecure connections to the deployed services.') @@ -620,23 +635,6 @@ def _get_value_from_config_protected_config(key, config, protected_config): return protected_config.get(key) -def _get_cluster_rp_api_version(cluster_type) -> Tuple[str, str]: - rp = '' - parent_api_version = '' - if cluster_type.lower() == 'connectedclusters': - rp = 'Microsoft.Kubernetes' - parent_api_version = '2020-01-01-preview' - elif cluster_type.lower() == 'appliances': - rp = 'Microsoft.ResourceConnector' - parent_api_version = '2020-09-15-privatepreview' - elif cluster_type.lower() == '' or cluster_type.lower() == 'managedclusters': - rp = 'Microsoft.ContainerService' - parent_api_version = '2021-05-01' - else: - raise InvalidArgumentValueError("Error! Cluster type '{}' is not supported".format(cluster_type)) - return rp, parent_api_version - - def _check_nodeselector_existed(configuration_settings, configuration_protected_settings): config_keys = configuration_settings.keys() config_protected_keys = configuration_protected_settings.keys() 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 8289e931336..a15defc72d2 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py @@ -17,19 +17,35 @@ class DefaultExtension(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): + 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, + ): """Default validations & defaults for Create - Must create and return a valid 'Extension' object. + Must create and return a valid 'Extension' object. """ ext_scope = None if scope is not None: - if scope.lower() == 'cluster': + if scope.lower() == "cluster": scope_cluster = ScopeCluster(release_namespace=release_namespace) ext_scope = Scope(cluster=scope_cluster, namespace=None) - elif scope.lower() == 'namespace': + elif scope.lower() == "namespace": scope_namespace = ScopeNamespace(target_namespace=target_namespace) ext_scope = Scope(namespace=scope_namespace, cluster=None) @@ -41,27 +57,43 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t version=version, scope=ext_scope, configuration_settings=configuration_settings, - configuration_protected_settings=configuration_protected_settings + configuration_protected_settings=configuration_protected_settings, ) return extension, name, create_identity - def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_version, release_train, version, configuration_settings, - configuration_protected_settings, yes=False): + def Update( + self, + cmd, + resource_group_name, + cluster_name, + auto_upgrade_minor_version, + release_train, + version, + configuration_settings, + configuration_protected_settings, + yes=False, + ): """Default validations & defaults for Update - Must create and return a valid 'PatchExtension' object. + Must create and return a valid 'PatchExtension' object. """ - return PatchExtension(auto_upgrade_minor_version=auto_upgrade_minor_version, - release_train=release_train, - version=version, - configuration_settings=configuration_settings, - configuration_protected_settings=configuration_protected_settings) + return PatchExtension( + auto_upgrade_minor_version=auto_upgrade_minor_version, + release_train=release_train, + version=version, + configuration_settings=configuration_settings, + configuration_protected_settings=configuration_protected_settings, + ) - def Delete(self, cmd, client, resource_group_name, cluster_name, name, cluster_type, yes): + def Delete( + self, cmd, client, resource_group_name, cluster_name, name, cluster_type, yes + ): user_confirmation_factory(cmd, yes) -def user_confirmation_factory(cmd, yes, message="Are you sure you want to perform this operation?"): - if cmd.cli_ctx.config.getboolean('core', 'disable_confirm_prompt', fallback=False): +def user_confirmation_factory( + cmd, yes, message="Are you sure you want to perform this operation?" +): + if cmd.cli_ctx.config.getboolean("core", "disable_confirm_prompt", fallback=False): return user_confirmation(message, yes=yes) 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 9af8a12ccb2..f3ad45bb177 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -49,7 +49,7 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t ext_scope = Scope(cluster=scope_cluster, namespace=None) # NOTE-2: Return a valid Extension object, Instance name and flag for Identity - create_identity = False + create_identity = True _validate_tested_distro(cmd, resource_group_name, cluster_name, version) @@ -83,7 +83,7 @@ def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, exte 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') + resource = resources.get_by_id(cluster_resource_id, '2021-10-01') cluster_distro = resource.properties['distribution'].lower() if cluster_distro == "general": 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 e1f37ec3a95..d4f1eeba6c3 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py @@ -10,18 +10,52 @@ class PartnerExtensionModel(ABC): @abstractmethod - def Create(self, cmd, client, resource_group_name: str, cluster_name: str, name: str, cluster_type: str, - extension_type: str, scope: str, auto_upgrade_minor_version: bool, release_train: str, version: str, - target_namespace: str, release_namespace: str, configuration_settings: dict, - configuration_protected_settings: dict, configuration_settings_file: str, - configuration_protected_settings_file: str) -> Extension: + def Create( + self, + cmd, + client, + resource_group_name: str, + cluster_name: str, + name: str, + cluster_type: str, + extension_type: str, + scope: str, + auto_upgrade_minor_version: bool, + release_train: str, + version: str, + target_namespace: str, + release_namespace: str, + configuration_settings: dict, + configuration_protected_settings: dict, + configuration_settings_file: str, + configuration_protected_settings_file: str, + ) -> Extension: pass @abstractmethod - def Update(self, cmd, resource_group_name: str, cluster_name: str, auto_upgrade_minor_version: bool, release_train: str, version: str, - configuration_settings: dict, configuration_protected_settings: dict, yes: bool) -> PatchExtension: + def Update( + self, + cmd, + resource_group_name: str, + cluster_name: str, + auto_upgrade_minor_version: bool, + release_train: str, + version: str, + configuration_settings: dict, + configuration_protected_settings: dict, + yes: bool, + ) -> PatchExtension: pass @abstractmethod - def Delete(self, cmd, client, resource_group_name: str, cluster_name: str, name: str, cluster_type: str, yes: bool): + def Delete( + self, + cmd, + client, + resource_group_name: str, + cluster_name: str, + name: str, + cluster_type: str, + yes: bool, + ): 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 58b172218ec..d7750934482 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 @@ -11,137 +11,9 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version + - -g -n -c --cluster-type --extension-type --release-train --version --no-wait User-Agent: - - AZURECLI/2.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.0 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006?api-version=2020-01-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006","name":"nanthiaks1006","type":"microsoft.kubernetes/connectedclusters","location":"eastus2euap","tags":{},"identity":{"principalId":"4819e8b8-75f1-43c0-b1f3-c2866dcaada2","tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","type":"SystemAssigned"},"properties":{"provisioningState":"Succeeded","connectivityStatus":"Connected","agentPublicKeyCertificate":"MIICCgKCAgEA5Av/NZAJ5+V5E9Mswh5fjqTK8pEXVGhcYLO2/qBPxGctQ2jYWvqnrqxumZQhD8AXwUAPNm5NZ4NOhkoZo2YN3xPf8Tsxr2wrKkl/EeX55Jlnvw3U9jjQRES7fMR4Io7e0EUavLlKI0SHA3i9AsGzG041Df8BKEcRBpjvpmIkG9BWvikHELCOmhv0dr6Lx4ovMDBf8uP17QdilDhyxorEZeLbd/VIZWjdFHYK+rO4tCadaeecF2GdtNUVdv9uEyRRq4LshZnw5BQjMquqm9W/aIDsPMU959Uotf9aW4UDlW9iybyBRSFtLOuxd+cmJ9oHw9riAq3Fi5UoHDa29kDNp4PaJJBgpUaSfGdKpymDxrtOtchbBdaV0dPaXeVCUMNHXhN9GRkWIHKPVV+qMPOOchbgNf/G/F325h3qfRwuW9pV4Y8MD24h3BZ3PEuyT15CY0BiaPKdpOtER2+K5aUZnI9ihXYEXS1jsxaa5aIimVEZOREPCPk7mI7A3vqjPe4hBGvRtGFLa/dg44WXLetorJU8kFZdP2/hdbxZPMz8XdLbm0kroebp+D+ruDk7QSqsac+kJ8q8ABGHX1QeWUo0DGIMTS9pJyRaFzG8ftudtkYsOBR1NDTkAi3iK+XPntpzcIJHQ/nk/WAMMoAFYJYvzFblxEzOMVD44dnADrucE3cCAwEAAQ==","aadProfile":{"tenantId":"","clientAppId":"","serverAppId":""},"distribution":"aks","infrastructure":"azure","kubernetesVersion":"1.22.1","totalNodeCount":3,"agentVersion":"1.5.2","totalCoreCount":6,"lastConnectivityTime":"2021-10-13T22:54:04.715Z","managedIdentityCertificateExpirationTime":"2022-01-04T23:12:00Z"}}' - headers: - cache-control: - - no-cache - content-length: - - '1527' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:54:10 GMT - etag: - - '"0d006390-0000-3400-0000-616763920000"' - 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.25.1 - method: GET - uri: https://raw.githubusercontent.com/Azure/osm-azure/v0.9.2/charts/osm-arc/values.yaml - response: - body: - string: "# Default values for osm-arc.\n# This is a YAML-formatted file.\n# - Declare variables to be passed into your templates.\n\n## Values populated - by Azure Arc K8s RP during the installation of the extension\nAzure:\n Cluster:\n - \ Distribution: \n\nOpenServiceMesh:\n ignoreNamespaces: - \"kube-system azure-arc arc-osm-system\"\n testedDistros: \"aks gke eks openshift - rancher_rke\"\n\nosm:\n OpenServiceMesh:\n enableDebugServer: false\n - \ enablePermissiveTrafficPolicy: true\n image:\n registry: mcr.microsoft.com/oss/openservicemesh\n - \ enforceSingleMesh: true\n deployPrometheus: false\n deployJaeger: - false\n webhookConfigNamePrefix: arc-osm-webhook\n sidecarImage: mcr.microsoft.com/oss/envoyproxy/envoy:v1.18.3\n - \ osmController:\n podLabels: {\n app.kubernetes.io/component: - osm-controller\n }\n injector:\n podLabels: {\n app.kubernetes.io/component: - osm-controller\n }\n\nalpine:\n image:\n name: \"mcr.microsoft.com/azure-policy/alpine\"\n - \ tag: \"prod_20200505.1\"\n\nkubectl:\n image:\n name: \"bitnami/kubectl\"\n - \ tag: \"latest\"\n\nhelm:\n image:\n name: \"alpine/helm\"\n tag: - \"latest\"\n" - headers: - accept-ranges: - - bytes - access-control-allow-origin: - - '*' - cache-control: - - max-age=300 - connection: - - keep-alive - content-length: - - '1146' - content-security-policy: - - default-src 'none'; style-src 'unsafe-inline'; sandbox - content-type: - - text/plain; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:54:11 GMT - etag: - - W/"bb73fdc51d1aed007544edbbcb7b2c2da2c236cd18aeae0f55e91530aba0ef44" - expires: - - Wed, 13 Oct 2021 22:59:11 GMT - source-age: - - '0' - strict-transport-security: - - max-age=31536000 - vary: - - Authorization,Accept-Encoding,Origin - via: - - 1.1 varnish - x-cache: - - MISS - x-cache-hits: - - '0' - x-content-type-options: - - nosniff - x-fastly-request-id: - - ca005840835efe516f998ff0e96afecafc5ca333 - x-frame-options: - - deny - x-github-request-id: - - 534E:1F28:48016A:6A26FC:61675E67 - x-served-by: - - cache-sea4436-SEA - x-timer: - - S1634165651.917353,VS0,VE160 - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - 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.25.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.0 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.9.6 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 response: @@ -150,21 +22,25 @@ interactions: US","West Europe","West Central US","West US 2","West US 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central US","North Central US","West US","Korea Central","East Asia","Japan - East","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 + East","East US 2 EUAP"],"apiVersions":["2022-03-01","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2022-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East US","West Europe","West Central US","West US 2","West US 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia East","France Central","Central US","North Central US","West US","Korea Central","East Asia","Japan - East","East US 2 EUAP"],"apiVersions":["2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, - SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2021-09-01","2021-06-01-preview","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"}' + East","East US 2 EUAP"],"apiVersions":["2022-03-01","2021-09-01","2021-05-01-preview","2020-07-01-preview"],"defaultApiVersion":"2022-03-01","capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2022-03-01","2022-01-01-preview","2021-12-01-preview","2021-11-01-preview","2021-09-01","2021-06-01-preview","2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"},{"resourceType":"fluxConfigurations","locations":["East + US 2 EUAP","East US","West Europe","West Central US","West US 2","West US + 3","South Central US","East US 2","North Europe","UK South","Southeast Asia","Australia + East","France Central","Central US","North Central US","West US","Korea Central","East + Asia","Japan East"],"apiVersions":["2022-03-01","2022-01-01-preview","2021-11-01-preview","2021-06-01-preview"],"defaultApiVersion":"2022-03-01","capabilities":"SupportsExtension"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' headers: cache-control: - no-cache content-length: - - '1878' + - '2512' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:54:10 GMT + - Fri, 18 Mar 2022 22:49:16 GMT expires: - '-1' pragma: @@ -179,9 +55,9 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"extensionType": "microsoft.openservicemesh", "releaseTrain": - "pilot", "version": "0.9.2", "scope": {"cluster": {}}, "configurationSettings": - {}, "configurationProtectedSettings": {}}}' + body: '{"properties": {"extensionType": "microsoft.dapr", "releaseTrain": "stable", + "version": "1.6.0", "configurationSettings": {}, "configurationProtectedSettings": + {}}}' headers: Accept: - application/json @@ -192,36 +68,36 @@ interactions: Connection: - keep-alive Content-Length: - - '200' + - '164' Content-Type: - application/json ParameterSetName: - - -g -n -c --cluster-type --extension-type --release-train --version + - -g -n -c --cluster-type --extension-type --release-train --version --no-wait User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr?api-version=2022-03-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr","name":"dapr","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.dapr","autoUpgradeMinorVersion":false,"releaseTrain":"stable","version":"1.6.0","scope":{"cluster":{"releaseNamespace":"dapr-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-18T22:49:20.2443978+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-18T22:49:20.2443978+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d?api-Version=2021-09-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/ConnectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr/operations/5870c95a-4193-48a7-83da-10619fb90bd5?api-Version=2022-03-01 cache-control: - no-cache content-length: - - '853' + - '818' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:54:12 GMT + - Fri, 18 Mar 2022 22:49:19 GMT expires: - '-1' location: - - https://eastus2euap.rp.kubernetesconfiguration.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh + - https://eastus2euap.rp.kubernetesconfiguration.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/ConnectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr pragma: - no-cache strict-transport-security: @@ -233,194 +109,6 @@ interactions: status: code: 201 message: Created -- request: - body: null - headers: - Accept: - - '*/*' - 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.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d","name":"b5613d65-be6a-422d-aae0-a7d0a6492f1d","status":"Creating"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:54: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 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - 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.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d","name":"b5613d65-be6a-422d-aae0-a7d0a6492f1d","status":"Creating"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:55: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 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - 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.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/b5613d65-be6a-422d-aae0-a7d0a6492f1d","name":"b5613d65-be6a-422d-aae0-a7d0a6492f1d","status":"Succeeded"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '337' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:55: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: - - '*/*' - 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.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}}' - headers: - api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '856' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:55: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 - status: - code: 200 - message: OK - request: body: null headers: @@ -435,30 +123,24 @@ interactions: ParameterSetName: - -c -g --cluster-type User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2022-03-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers","name":"azuremonitor-containers","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azuremonitor.containers","autoUpgradeMinorVersion":true,"releaseTrain":"Stable","version":"2.8.2","scope":{"cluster":{"releaseNamespace":"azuremonitor-containers"}},"provisioningState":"Failed","installState":"Failed","configurationSettings":{"logAnalyticsWorkspaceResourceID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-0e750457-5252-493e-95a3-e40e6a460bf0-eus"},"configurationProtectedSettings":{"omsagent.secret.wsid":"","omsagent.secret.key":""},"statuses":[{"code":"InstallationFailed","displayStatus":null,"level":null,"message":"Error: - {failed to install chart from path [] for release [azuremonitor-containers]: - err [unable to build kubernetes objects from release manifest: [unable to - recognize \"\": no matches for kind \"ClusterRole\" in version \"rbac.authorization.k8s.io/v1beta1\", - unable to recognize \"\": no matches for kind \"ClusterRoleBinding\" in version - \"rbac.authorization.k8s.io/v1beta1\"]]} occurred while doing the operation - : {Installing the extension} on the config","time":null}],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T20:18:32.2074073+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-07T20:18:32.2074073+00:00"},"identity":{"type":"SystemAssigned","principalId":"e0e4d71f-00be-4972-9395-e4babc04bdd9"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/cassandra","name":"cassandra","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"cassandradatacentersoperator","autoUpgradeMinorVersion":true,"releaseTrain":"Stable","version":"1.1.18","scope":{"namespace":{"targetNamespace":"cassandrans"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:56:12.7708078+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-07T00:56:12.7708078+00:00"},"identity":{"type":"SystemAssigned","principalId":"93e7c7d2-2fe0-4e30-9742-3d4230a3cd6a"}}],"nextLink":null}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr","name":"dapr","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.dapr","autoUpgradeMinorVersion":false,"releaseTrain":"stable","version":"1.6.0","scope":{"cluster":{"releaseNamespace":"dapr-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-18T22:49:20.2443978+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-18T22:49:20.2443978+00:00"}}],"nextLink":null}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '3627' + - '846' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:55:47 GMT + - Fri, 18 Mar 2022 22:49:20 GMT expires: - '-1' pragma: @@ -488,24 +170,24 @@ interactions: ParameterSetName: - -c -g -n --cluster-type User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr?api-version=2022-03-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr","name":"dapr","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.dapr","autoUpgradeMinorVersion":false,"releaseTrain":"stable","version":"1.6.0","scope":{"cluster":{"releaseNamespace":"dapr-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-18T22:49:20.2443978+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-18T22:49:20.2443978+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '856' + - '818' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:55:48 GMT + - Fri, 18 Mar 2022 22:49:22 GMT expires: - '-1' pragma: @@ -533,26 +215,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -c -n --cluster-type -y + - -g -c -n --cluster-type --force -y User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr?api-version=2022-03-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.9.2","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:09:54.4243492+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-13T22:54:12.9030808+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr","name":"dapr","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.dapr","autoUpgradeMinorVersion":false,"releaseTrain":"stable","version":"1.6.0","scope":{"cluster":{"releaseNamespace":"dapr-system"}},"provisioningState":"Creating","installState":"Unknown","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2022-03-18T22:49:20.2443978+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2022-03-18T22:49:20.2443978+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '856' + - '818' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:55:50 GMT + - Fri, 18 Mar 2022 22:49:22 GMT expires: - '-1' pragma: @@ -582,212 +264,26 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g -c -n --cluster-type -y + - -g -c -n --cluster-type --force -y User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2021-09-01&forceDelete=false - response: - body: - string: '' - headers: - api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 13 Oct 2021 22:55:51 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: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension delete - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e","name":"c242312c-0d18-413d-8b0a-efd7cfd0ad0e","status":"Deleting"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:56: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 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension delete - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e","name":"c242312c-0d18-413d-8b0a-efd7cfd0ad0e","status":"Deleting"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:56: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 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension delete - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e","name":"c242312c-0d18-413d-8b0a-efd7cfd0ad0e","status":"Deleting"}' - headers: - api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 - cache-control: - - no-cache - content-length: - - '336' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 13 Oct 2021 22:57:23 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - k8s-extension delete - Connection: - - keep-alive - ParameterSetName: - - -g -c -n --cluster-type -y - User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e?api-Version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions/dapr?api-version=2022-03-01&forceDelete=true response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/ConnectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh/operations/c242312c-0d18-413d-8b0a-efd7cfd0ad0e","name":"c242312c-0d18-413d-8b0a-efd7cfd0ad0e","status":"Succeeded"}' + string: '{"content":null,"statusCode":200,"headers":[],"version":"1.1","reasonPhrase":"OK","trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' headers: api-supported-versions: - - 2019-11-01-Preview, 2021-05-01-preview, 2021-06-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '337' + - '152' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:57:53 GMT + - Fri, 18 Mar 2022 22:49:24 GMT expires: - '-1' pragma: @@ -800,6 +296,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' status: code: 200 message: OK @@ -817,30 +315,24 @@ interactions: ParameterSetName: - -c -g --cluster-type User-Agent: - - AZURECLI/2.25.0 azsdk-python-mgmt-kubernetesconfiguration/1.0.0b1 Python/3.8.0 - (Windows-10-10.0.19041-SP0) + - AZURECLI/2.34.1 azsdk-python-azure-mgmt-kubernetesconfiguration/1.0.0 Python/3.9.6 + (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2021-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurecli-tests/providers/Microsoft.Kubernetes/connectedClusters/arc-cluster/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2022-03-01 response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers","name":"azuremonitor-containers","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azuremonitor.containers","autoUpgradeMinorVersion":true,"releaseTrain":"Stable","version":"2.8.2","scope":{"cluster":{"releaseNamespace":"azuremonitor-containers"}},"provisioningState":"Failed","installState":"Failed","configurationSettings":{"logAnalyticsWorkspaceResourceID":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-0e750457-5252-493e-95a3-e40e6a460bf0-eus"},"configurationProtectedSettings":{"omsagent.secret.wsid":"","omsagent.secret.key":""},"statuses":[{"code":"InstallationFailed","displayStatus":null,"level":null,"message":"Error: - {failed to install chart from path [] for release [azuremonitor-containers]: - err [unable to build kubernetes objects from release manifest: [unable to - recognize \"\": no matches for kind \"ClusterRole\" in version \"rbac.authorization.k8s.io/v1beta1\", - unable to recognize \"\": no matches for kind \"ClusterRoleBinding\" in version - \"rbac.authorization.k8s.io/v1beta1\"]]} occurred while doing the operation - : {Installing the extension} on the config","time":null}],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T20:18:32.2074073+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-07T20:18:32.2074073+00:00"},"identity":{"type":"SystemAssigned","principalId":"e0e4d71f-00be-4972-9395-e4babc04bdd9"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg1006/providers/Microsoft.Kubernetes/connectedClusters/nanthiaks1006/providers/Microsoft.KubernetesConfiguration/extensions/cassandra","name":"cassandra","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"cassandradatacentersoperator","autoUpgradeMinorVersion":true,"releaseTrain":"Stable","version":"1.1.18","scope":{"namespace":{"targetNamespace":"cassandrans"}},"provisioningState":"Succeeded","installState":"Installed","configurationSettings":{},"configurationProtectedSettings":{},"statuses":[],"aksAssignedIdentity":null},"systemData":{"createdBy":null,"createdByType":null,"createdAt":"2021-10-07T00:56:12.7708078+00:00","lastModifiedBy":null,"lastModifiedByType":null,"lastModifiedAt":"2021-10-07T00:56:12.7708078+00:00"},"identity":{"type":"SystemAssigned","principalId":"93e7c7d2-2fe0-4e30-9742-3d4230a3cd6a"}}],"nextLink":null}' + string: '{"value":[],"nextLink":null}' headers: api-supported-versions: - - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01 + - 2020-07-01-Preview, 2021-05-01-preview, 2021-09-01, 2022-03-01, 2022-04-02-preview cache-control: - no-cache content-length: - - '2770' + - '28' content-type: - application/json; charset=utf-8 date: - - Wed, 13 Oct 2021 22:57:55 GMT + - Fri, 18 Mar 2022 22:49:25 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 47dc82ae37b..6a0369bfcdc 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 @@ -15,27 +15,20 @@ class K8sExtensionScenarioTest(ScenarioTest): @record_only() def test_k8s_extension(self): - resource_type = 'microsoft.openservicemesh' + extension_type = 'microsoft.dapr' self.kwargs.update({ - 'name': 'openservicemesh', - 'rg': 'nanthirg1006', - 'cluster_name': 'nanthiaks1006', + 'name': 'dapr', + 'rg': 'azurecli-tests', + 'cluster_name': 'arc-cluster', 'cluster_type': 'connectedClusters', - 'extension_type': resource_type, - 'release_train': 'pilot', - 'version': '0.9.2' + 'extension_type': extension_type, + 'release_train': 'stable', + 'version': '1.6.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}') - ] - ) + '--extension-type {extension_type} --release-train {release_train} --version {version} ' + '--no-wait') # Update requires agent running in k8s cluster that is connected to Azure - so no update tests here # self.cmd('k8s-extension update -g {rg} -n {name} --tags foo=boo', checks=[ @@ -45,7 +38,7 @@ def test_k8s_extension(self): installed_exts = self.cmd('k8s-extension list -c {cluster_name} -g {rg} --cluster-type {cluster_type}').get_output_in_json() found_extension = False for item in installed_exts: - if item['extensionType'] == resource_type: + if item['extensionType'] == extension_type: found_extension = True break self.assertTrue(found_extension) @@ -58,12 +51,12 @@ def test_k8s_extension(self): self.check('extensionType', '{extension_type}') ]) - self.cmd('k8s-extension delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} -y') + self.cmd('k8s-extension delete -g {rg} -c {cluster_name} -n {name} --cluster-type {cluster_type} --force -y') installed_exts = self.cmd('k8s-extension list -c {cluster_name} -g {rg} --cluster-type {cluster_type}').get_output_in_json() found_extension = False for item in installed_exts: - if item['extensionType'] == resource_type: + if item['extensionType'] == extension_type: found_extension = True break self.assertFalse(found_extension) diff --git a/src/k8s-extension/azext_k8s_extension/utils.py b/src/k8s-extension/azext_k8s_extension/utils.py new file mode 100644 index 00000000000..c587c3050a1 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/utils.py @@ -0,0 +1,43 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import json +from typing import Tuple +from urllib.parse import urlparse +from . import consts +from azure.cli.core.azclierror import InvalidArgumentValueError + + +def get_cluster_rp_api_version(cluster_type) -> Tuple[str, str]: + if cluster_type.lower() == consts.CONNECTED_CLUSTER_TYPE: + return consts.CONNECTED_CLUSTER_RP, consts.CONNECTED_CLUSTER_API_VERSION + if cluster_type.lower() == consts.APPLIANCE_TYPE: + return consts.APPLIANCE_RP, consts.APPLIANCE_API_VERSION + if ( + cluster_type.lower() == "" + or cluster_type.lower() == consts.MANAGED_CLUSTER_TYPE + ): + return consts.MANAGED_CLUSTER_RP, consts.MANAGED_CLUSTER_API_VERSION + raise InvalidArgumentValueError( + "Error! Cluster type '{}' is not supported".format(cluster_type) + ) + + +def read_config_settings_file(file_path): + try: + with open(file_path, "r") as f: + settings = json.load(f) + if len(settings) == 0: + raise Exception("File {} is empty".format(file_path)) + return settings + except ValueError as ex: + raise Exception("File {} is not a valid JSON file".format(file_path)) from ex + + +def is_dogfood_cluster(cmd): + return ( + urlparse(cmd.cli_ctx.cloud.endpoints.resource_manager).hostname + == consts.DF_RM_HOSTNAME + ) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/__init__.py index f13062376d7..b0a136e072d 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/__init__.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/__init__.py @@ -7,9 +7,6 @@ # -------------------------------------------------------------------------- from ._source_control_configuration_client import SourceControlConfigurationClient -from ._version import VERSION - -__version__ = VERSION __all__ = ['SourceControlConfigurationClient'] try: diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_configuration.py index abc45d20646..6cd5f3b0fb0 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_configuration.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_configuration.py @@ -1,16 +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. +# Licensed under the MIT License. See License.txt in the project root for +# 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 from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION @@ -20,7 +22,6 @@ from azure.core.credentials import TokenCredential - class SourceControlConfigurationClientConfiguration(Configuration): """Configuration for SourceControlConfigurationClient. @@ -48,9 +49,8 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-09-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'azure-mgmt-kubernetesconfiguration/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -68,4 +68,4 @@ def _configure( 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) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_source_control_configuration_client.py index 7b567be1cb6..a75870fe68b 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_source_control_configuration_client.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_source_control_configuration_client.py @@ -1,99 +1,368 @@ # coding=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 from azure.mgmt.core import ARMPipelineClient +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin from msrest import Deserializer, Serializer +from ._configuration import SourceControlConfigurationClientConfiguration + 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 SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import Operations -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 SourceControlConfigurationClient(object): +class SourceControlConfigurationClient(MultiApiClientMixin, _SDKClient): """KubernetesConfiguration Client. - :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.operations.ExtensionsOperations - :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.operations.OperationStatusOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.operations.Operations + 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.TokenCredential :param subscription_id: The ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL + :param api_version: API version to use if no profile is provided, or if missing in profile. + :type api_version: str + :param base_url: Service URL + :type base_url: str + :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 = '2022-03-01' + _PROFILE_TAG = "azure.mgmt.kubernetesconfiguration.SourceControlConfigurationClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'cluster_extension_type': '2022-01-01-preview', + 'cluster_extension_types': '2022-01-01-preview', + 'extension_type_versions': '2022-01-01-preview', + 'location_extension_types': '2022-01-01-preview', + }}, + _PROFILE_TAG + " latest" + ) + def __init__( self, credential, # type: "TokenCredential" subscription_id, # type: str - base_url=None, # type: Optional[str] + api_version=None, # type: Optional[str] + base_url="https://management.azure.com", # type: str + profile=KnownProfiles.default, # type: KnownProfiles **kwargs # type: Any ): - # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + super(SourceControlConfigurationClient, 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: + + * 2020-07-01-preview: :mod:`v2020_07_01_preview.models` + * 2020-10-01-preview: :mod:`v2020_10_01_preview.models` + * 2021-03-01: :mod:`v2021_03_01.models` + * 2021-05-01-preview: :mod:`v2021_05_01_preview.models` + * 2021-09-01: :mod:`v2021_09_01.models` + * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` + * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` + * 2022-03-01: :mod:`v2022_03_01.models` + """ + if api_version == '2020-07-01-preview': + from .v2020_07_01_preview import models + return models + elif api_version == '2020-10-01-preview': + from .v2020_10_01_preview import models + return models + elif api_version == '2021-03-01': + from .v2021_03_01 import models + return models + elif api_version == '2021-05-01-preview': + from .v2021_05_01_preview import models + return models + elif api_version == '2021-09-01': + from .v2021_09_01 import models + return models + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview import models + return models + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview import models + return models + elif api_version == '2022-03-01': + from .v2022_03_01 import models + return models + raise ValueError("API version {} is not available".format(api_version)) + + @property + def cluster_extension_type(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ClusterExtensionTypeOperations` + * 2021-11-01-preview: :class:`ClusterExtensionTypeOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypeOperations` + """ + api_version = self._get_api_version('cluster_extension_type') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ClusterExtensionTypeOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'cluster_extension_type'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def cluster_extension_types(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ClusterExtensionTypesOperations` + * 2021-11-01-preview: :class:`ClusterExtensionTypesOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypesOperations` + """ + api_version = self._get_api_version('cluster_extension_types') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ClusterExtensionTypesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'cluster_extension_types'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def extension_type_versions(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2021-11-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2022-01-01-preview: :class:`ExtensionTypeVersionsOperations` + """ + api_version = self._get_api_version('extension_type_versions') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ExtensionTypeVersionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'extension_type_versions'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def extensions(self): + """Instance depends on the API version: - 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.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - 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 + * 2020-07-01-preview: :class:`ExtensionsOperations` + * 2021-05-01-preview: :class:`ExtensionsOperations` + * 2021-09-01: :class:`ExtensionsOperations` + * 2021-11-01-preview: :class:`ExtensionsOperations` + * 2022-01-01-preview: :class:`ExtensionsOperations` + * 2022-03-01: :class:`ExtensionsOperations` """ - 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 + api_version = self._get_api_version('extensions') + if api_version == '2020-07-01-preview': + from .v2020_07_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-09-01': + from .v2021_09_01.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import ExtensionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'extensions'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flux_config_operation_status(self): + """Instance depends on the API version: + + * 2021-11-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-01-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-03-01: :class:`FluxConfigOperationStatusOperations` + """ + api_version = self._get_api_version('flux_config_operation_status') + if api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import FluxConfigOperationStatusOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'flux_config_operation_status'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flux_configurations(self): + """Instance depends on the API version: + + * 2021-11-01-preview: :class:`FluxConfigurationsOperations` + * 2022-01-01-preview: :class:`FluxConfigurationsOperations` + * 2022-03-01: :class:`FluxConfigurationsOperations` + """ + api_version = self._get_api_version('flux_configurations') + if api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import FluxConfigurationsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'flux_configurations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def location_extension_types(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`LocationExtensionTypesOperations` + * 2021-11-01-preview: :class:`LocationExtensionTypesOperations` + * 2022-01-01-preview: :class:`LocationExtensionTypesOperations` + """ + api_version = self._get_api_version('location_extension_types') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import LocationExtensionTypesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'location_extension_types'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operation_status(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`OperationStatusOperations` + * 2021-09-01: :class:`OperationStatusOperations` + * 2021-11-01-preview: :class:`OperationStatusOperations` + * 2022-01-01-preview: :class:`OperationStatusOperations` + * 2022-03-01: :class:`OperationStatusOperations` + """ + api_version = self._get_api_version('operation_status') + if api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import OperationStatusOperations as OperationClass + elif api_version == '2021-09-01': + from .v2021_09_01.operations import OperationStatusOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import OperationStatusOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'operation_status'".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: + + * 2020-07-01-preview: :class:`Operations` + * 2020-10-01-preview: :class:`Operations` + * 2021-03-01: :class:`Operations` + * 2021-05-01-preview: :class:`Operations` + * 2021-09-01: :class:`Operations` + * 2021-11-01-preview: :class:`Operations` + * 2022-01-01-preview: :class:`Operations` + * 2022-03-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2020-07-01-preview': + from .v2020_07_01_preview.operations import Operations as OperationClass + elif api_version == '2020-10-01-preview': + from .v2020_10_01_preview.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-preview': + from .v2021_05_01_preview.operations import Operations as OperationClass + elif api_version == '2021-09-01': + from .v2021_09_01.operations import Operations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import Operations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import Operations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_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 source_control_configurations(self): + """Instance depends on the API version: + + * 2020-07-01-preview: :class:`SourceControlConfigurationsOperations` + * 2020-10-01-preview: :class:`SourceControlConfigurationsOperations` + * 2021-03-01: :class:`SourceControlConfigurationsOperations` + * 2021-05-01-preview: :class:`SourceControlConfigurationsOperations` + * 2021-11-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-01-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-03-01: :class:`SourceControlConfigurationsOperations` + """ + api_version = self._get_api_version('source_control_configurations') + if api_version == '2020-07-01-preview': + from .v2020_07_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2020-10-01-preview': + from .v2020_10_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-03-01': + from .v2021_03_01.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-05-01-preview': + from .v2021_05_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from .v2021_11_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from .v2022_03_01.operations import SourceControlConfigurationsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'source_control_configurations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) def close(self): - # type: () -> None self._client.close() - def __enter__(self): - # type: () -> SourceControlConfigurationClient self._client.__enter__() return self - def __exit__(self, *exc_details): - # type: (Any) -> None self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_version.py index e5754a47ce6..c47f66669f1 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/_version.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.0.0b1" +VERSION = "1.0.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_configuration.py index 3f22841a050..dfeb48eb057 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_configuration.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_configuration.py @@ -1,16 +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. +# Licensed under the MIT License. See License.txt in the project root for +# 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 Any, TYPE_CHECKING from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -18,7 +20,6 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential - class SourceControlConfigurationClientConfiguration(Configuration): """Configuration for SourceControlConfigurationClient. @@ -35,7 +36,7 @@ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - **kwargs: Any + **kwargs # type: Any ) -> None: if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -45,9 +46,8 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-09-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.format(VERSION)) + kwargs.setdefault('sdk_moniker', 'azure-mgmt-kubernetesconfiguration/{}'.format(VERSION)) self._configure(**kwargs) def _configure( @@ -64,4 +64,4 @@ def _configure( 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) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_source_control_configuration_client.py index a8c84244f44..ed320e3b24c 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_source_control_configuration_client.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/_source_control_configuration_client.py @@ -1,92 +1,367 @@ # coding=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 Any, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin from msrest import Deserializer, Serializer +from ._configuration import SourceControlConfigurationClientConfiguration + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import SourceControlConfigurationClientConfiguration -from .operations import ExtensionsOperations -from .operations import OperationStatusOperations -from .operations import Operations -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 SourceControlConfigurationClient(object): +class SourceControlConfigurationClient(MultiApiClientMixin, _SDKClient): """KubernetesConfiguration Client. - :ivar extensions: ExtensionsOperations operations - :vartype extensions: azure.mgmt.kubernetesconfiguration.aio.operations.ExtensionsOperations - :ivar operation_status: OperationStatusOperations operations - :vartype operation_status: azure.mgmt.kubernetesconfiguration.aio.operations.OperationStatusOperations - :ivar operations: Operations operations - :vartype operations: azure.mgmt.kubernetesconfiguration.aio.operations.Operations + 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 ID of the target subscription. :type subscription_id: str - :param str base_url: Service URL + :param api_version: API version to use if no profile is provided, or if missing in profile. + :type api_version: str + :param base_url: Service URL + :type base_url: str + :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 = '2022-03-01' + _PROFILE_TAG = "azure.mgmt.kubernetesconfiguration.SourceControlConfigurationClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + 'cluster_extension_type': '2022-01-01-preview', + 'cluster_extension_types': '2022-01-01-preview', + 'extension_type_versions': '2022-01-01-preview', + 'location_extension_types': '2022-01-01-preview', + }}, + _PROFILE_TAG + " latest" + ) + def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, - **kwargs: Any + api_version: Optional[str] = None, + base_url: str = "https://management.azure.com", + profile: KnownProfiles = KnownProfiles.default, + **kwargs # type: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' self._config = SourceControlConfigurationClientConfiguration(credential, subscription_id, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + super(SourceControlConfigurationClient, 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: - 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.extensions = ExtensionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation_status = OperationStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operations = Operations( - 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 + * 2020-07-01-preview: :mod:`v2020_07_01_preview.models` + * 2020-10-01-preview: :mod:`v2020_10_01_preview.models` + * 2021-03-01: :mod:`v2021_03_01.models` + * 2021-05-01-preview: :mod:`v2021_05_01_preview.models` + * 2021-09-01: :mod:`v2021_09_01.models` + * 2021-11-01-preview: :mod:`v2021_11_01_preview.models` + * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` + * 2022-03-01: :mod:`v2022_03_01.models` """ - 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 = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response - - async def close(self) -> None: - await self._client.close() + if api_version == '2020-07-01-preview': + from ..v2020_07_01_preview import models + return models + elif api_version == '2020-10-01-preview': + from ..v2020_10_01_preview import models + return models + elif api_version == '2021-03-01': + from ..v2021_03_01 import models + return models + elif api_version == '2021-05-01-preview': + from ..v2021_05_01_preview import models + return models + elif api_version == '2021-09-01': + from ..v2021_09_01 import models + return models + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview import models + return models + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview import models + return models + elif api_version == '2022-03-01': + from ..v2022_03_01 import models + return models + raise ValueError("API version {} is not available".format(api_version)) + + @property + def cluster_extension_type(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ClusterExtensionTypeOperations` + * 2021-11-01-preview: :class:`ClusterExtensionTypeOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypeOperations` + """ + api_version = self._get_api_version('cluster_extension_type') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ClusterExtensionTypeOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'cluster_extension_type'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def cluster_extension_types(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ClusterExtensionTypesOperations` + * 2021-11-01-preview: :class:`ClusterExtensionTypesOperations` + * 2022-01-01-preview: :class:`ClusterExtensionTypesOperations` + """ + api_version = self._get_api_version('cluster_extension_types') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ClusterExtensionTypesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'cluster_extension_types'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def extension_type_versions(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2021-11-01-preview: :class:`ExtensionTypeVersionsOperations` + * 2022-01-01-preview: :class:`ExtensionTypeVersionsOperations` + """ + api_version = self._get_api_version('extension_type_versions') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ExtensionTypeVersionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'extension_type_versions'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def extensions(self): + """Instance depends on the API version: + + * 2020-07-01-preview: :class:`ExtensionsOperations` + * 2021-05-01-preview: :class:`ExtensionsOperations` + * 2021-09-01: :class:`ExtensionsOperations` + * 2021-11-01-preview: :class:`ExtensionsOperations` + * 2022-01-01-preview: :class:`ExtensionsOperations` + * 2022-03-01: :class:`ExtensionsOperations` + """ + api_version = self._get_api_version('extensions') + if api_version == '2020-07-01-preview': + from ..v2020_07_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-09-01': + from ..v2021_09_01.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ExtensionsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import ExtensionsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'extensions'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flux_config_operation_status(self): + """Instance depends on the API version: + + * 2021-11-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-01-01-preview: :class:`FluxConfigOperationStatusOperations` + * 2022-03-01: :class:`FluxConfigOperationStatusOperations` + """ + api_version = self._get_api_version('flux_config_operation_status') + if api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import FluxConfigOperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import FluxConfigOperationStatusOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'flux_config_operation_status'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def flux_configurations(self): + """Instance depends on the API version: + + * 2021-11-01-preview: :class:`FluxConfigurationsOperations` + * 2022-01-01-preview: :class:`FluxConfigurationsOperations` + * 2022-03-01: :class:`FluxConfigurationsOperations` + """ + api_version = self._get_api_version('flux_configurations') + if api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import FluxConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import FluxConfigurationsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'flux_configurations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def location_extension_types(self): + """Instance depends on the API version: + + * 2021-05-01-preview: :class:`LocationExtensionTypesOperations` + * 2021-11-01-preview: :class:`LocationExtensionTypesOperations` + * 2022-01-01-preview: :class:`LocationExtensionTypesOperations` + """ + api_version = self._get_api_version('location_extension_types') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import LocationExtensionTypesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'location_extension_types'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def operation_status(self): + """Instance depends on the API version: - async def __aenter__(self) -> "SourceControlConfigurationClient": + * 2021-05-01-preview: :class:`OperationStatusOperations` + * 2021-09-01: :class:`OperationStatusOperations` + * 2021-11-01-preview: :class:`OperationStatusOperations` + * 2022-01-01-preview: :class:`OperationStatusOperations` + * 2022-03-01: :class:`OperationStatusOperations` + """ + api_version = self._get_api_version('operation_status') + if api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2021-09-01': + from ..v2021_09_01.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import OperationStatusOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import OperationStatusOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'operation_status'".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: + + * 2020-07-01-preview: :class:`Operations` + * 2020-10-01-preview: :class:`Operations` + * 2021-03-01: :class:`Operations` + * 2021-05-01-preview: :class:`Operations` + * 2021-09-01: :class:`Operations` + * 2021-11-01-preview: :class:`Operations` + * 2022-01-01-preview: :class:`Operations` + * 2022-03-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2020-07-01-preview': + from ..v2020_07_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2020-10-01-preview': + from ..v2020_10_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2021-03-01': + from ..v2021_03_01.aio.operations import Operations as OperationClass + elif api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2021-09-01': + from ..v2021_09_01.aio.operations import Operations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_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 source_control_configurations(self): + """Instance depends on the API version: + + * 2020-07-01-preview: :class:`SourceControlConfigurationsOperations` + * 2020-10-01-preview: :class:`SourceControlConfigurationsOperations` + * 2021-03-01: :class:`SourceControlConfigurationsOperations` + * 2021-05-01-preview: :class:`SourceControlConfigurationsOperations` + * 2021-11-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-01-01-preview: :class:`SourceControlConfigurationsOperations` + * 2022-03-01: :class:`SourceControlConfigurationsOperations` + """ + api_version = self._get_api_version('source_control_configurations') + if api_version == '2020-07-01-preview': + from ..v2020_07_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2020-10-01-preview': + from ..v2020_10_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-03-01': + from ..v2021_03_01.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-05-01-preview': + from ..v2021_05_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2021-11-01-preview': + from ..v2021_11_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import SourceControlConfigurationsOperations as OperationClass + elif api_version == '2022-03-01': + from ..v2022_03_01.aio.operations import SourceControlConfigurationsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'source_control_configurations'".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) -> None: + async def __aexit__(self, *exc_details): await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/__init__.py index 632ac4c1eeb..07db19b318c 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/__init__.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/__init__.py @@ -6,12 +6,10 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._extensions_operations import ExtensionsOperations -from ._operation_status_operations import OperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations from ._operations import Operations __all__ = [ - 'ExtensionsOperations', - 'OperationStatusOperations', + 'SourceControlConfigurationsOperations', 'Operations', ] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operations.py index 2aeed3f8027..abad6a97377 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_operations.py @@ -43,10 +43,9 @@ def __init__(self, client, config, serializer, deserializer) -> None: def list( self, - **kwargs: Any + **kwargs ) -> AsyncIterable["_models.ResourceProviderOperationList"]: - """List all the available operations the KubernetesConfiguration resource provider supports, in - this api-version. + """List all the available operations the KubernetesConfiguration resource provider supports. :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ResourceProviderOperationList or the result of cls(response) @@ -58,7 +57,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2020-10-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -94,9 +93,8 @@ async def get_next(next_link=None): 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) return pipeline_response diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_source_control_configurations_operations.py index 116ecb3713e..2a8fe57a0cf 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_source_control_configurations_operations.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/aio/operations/_source_control_configurations_operations.py @@ -28,7 +28,7 @@ class SourceControlConfigurationsOperations: 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.kubernetesconfiguration.v2020_07_01_preview.models + :type models: ~azure.mgmt.kubernetesconfiguration.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -50,7 +50,7 @@ async def get( cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, source_control_configuration_name: str, - **kwargs: Any + **kwargs ) -> "_models.SourceControlConfiguration": """Gets details of the Source Control Configuration. @@ -58,17 +58,17 @@ async def get( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -76,7 +76,7 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2020-10-01-preview" accept = "application/json" # Construct URL @@ -105,7 +105,7 @@ async def get( 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) + error = self._deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) @@ -124,7 +124,7 @@ async def create_or_update( cluster_name: str, source_control_configuration_name: str, source_control_configuration: "_models.SourceControlConfiguration", - **kwargs: Any + **kwargs ) -> "_models.SourceControlConfiguration": """Create a new Kubernetes Source Control Configuration. @@ -132,19 +132,19 @@ async def create_or_update( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_name: str :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. - :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :type source_control_configuration: ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SourceControlConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :rtype: ~azure.mgmt.kubernetesconfiguration.models.SourceControlConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] @@ -152,7 +152,7 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2020-10-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -186,7 +186,7 @@ async def create_or_update( 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) + error = self._deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -208,14 +208,14 @@ async def _delete_initial( cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, source_control_configuration_name: str, - **kwargs: Any + **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-07-01-preview" + api_version = "2020-10-01-preview" accept = "application/json" # Construct URL @@ -244,7 +244,7 @@ async def _delete_initial( 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) + error = self._deserialize(_models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -259,7 +259,7 @@ async def begin_delete( cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, source_control_configuration_name: str, - **kwargs: Any + **kwargs ) -> AsyncLROPoller[None]: """This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo. @@ -268,18 +268,18 @@ async def begin_delete( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :param source_control_configuration_name: Name of the Source Control Configuration. :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. - Pass in False for this operation to not poll, or pass in your own initialized polling object for a personal polling strategy. + :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) @@ -340,7 +340,7 @@ def list( cluster_rp: Union[str, "_models.Enum0"], cluster_resource_name: Union[str, "_models.Enum1"], cluster_name: str, - **kwargs: Any + **kwargs ) -> AsyncIterable["_models.SourceControlConfigurationList"]: """List all Source Control Configurations. @@ -348,15 +348,15 @@ def list( :type resource_group_name: str :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). - :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.models.Enum0 :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). - :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :type cluster_resource_name: str or ~azure.mgmt.kubernetesconfiguration.models.Enum1 :param cluster_name: The name of the kubernetes cluster. :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either SourceControlConfigurationList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.models.SourceControlConfigurationList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] @@ -364,7 +364,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2020-10-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -408,7 +408,7 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + error = self._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) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/models.py new file mode 100644 index 00000000000..c9c8d2ae160 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/models.py @@ -0,0 +1,8 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from .v2022_01_01_preview.models import * +from .v2022_03_01.models import * diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/__init__.py deleted file mode 100644 index 2bcf3a10bde..00000000000 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/__init__.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -try: - from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorDetail - from ._models_py3 import ErrorResponse - from ._models_py3 import Extension - from ._models_py3 import ExtensionPropertiesAksAssignedIdentity - from ._models_py3 import ExtensionStatus - from ._models_py3 import ExtensionsList - from ._models_py3 import Identity - from ._models_py3 import OperationStatusList - from ._models_py3 import OperationStatusResult - from ._models_py3 import PatchExtension - from ._models_py3 import ProxyResource - from ._models_py3 import Resource - from ._models_py3 import ResourceProviderOperation - from ._models_py3 import ResourceProviderOperationDisplay - from ._models_py3 import ResourceProviderOperationList - from ._models_py3 import Scope - from ._models_py3 import ScopeCluster - from ._models_py3 import ScopeNamespace - from ._models_py3 import SystemData -except (SyntaxError, ImportError): - from ._models import ErrorAdditionalInfo # type: ignore - from ._models import ErrorDetail # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import Extension # type: ignore - from ._models import ExtensionPropertiesAksAssignedIdentity # type: ignore - from ._models import ExtensionStatus # type: ignore - from ._models import ExtensionsList # type: ignore - from ._models import Identity # type: ignore - from ._models import OperationStatusList # type: ignore - from ._models import OperationStatusResult # type: ignore - from ._models import PatchExtension # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceProviderOperation # type: ignore - from ._models import ResourceProviderOperationDisplay # type: ignore - from ._models import ResourceProviderOperationList # type: ignore - from ._models import Scope # type: ignore - from ._models import ScopeCluster # type: ignore - from ._models import ScopeNamespace # type: ignore - from ._models import SystemData # type: ignore - -from ._source_control_configuration_client_enums import ( - CreatedByType, - Enum0, - Enum1, - LevelType, - ProvisioningState, -) - -__all__ = [ - 'ErrorAdditionalInfo', - 'ErrorDetail', - 'ErrorResponse', - 'Extension', - 'ExtensionPropertiesAksAssignedIdentity', - 'ExtensionStatus', - 'ExtensionsList', - 'Identity', - 'OperationStatusList', - 'OperationStatusResult', - 'PatchExtension', - 'ProxyResource', - 'Resource', - 'ResourceProviderOperation', - 'ResourceProviderOperationDisplay', - 'ResourceProviderOperationList', - 'Scope', - 'ScopeCluster', - 'ScopeNamespace', - 'SystemData', - 'CreatedByType', - 'Enum0', - 'Enum1', - 'LevelType', - 'ProvisioningState', -] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models.py deleted file mode 100644 index 55d57ebde1f..00000000000 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models.py +++ /dev/null @@ -1,737 +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 azure.core.exceptions import HttpResponseError -import msrest.serialization - - -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: any - """ - - _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 ErrorDetail(msrest.serialization.Model): - """The error detail. - - 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[~azure.mgmt.kubernetesconfiguration.models.ErrorDetail] - :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.mgmt.kubernetesconfiguration.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': '[ErrorDetail]'}, - 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorDetail, self).__init__(**kwargs) - self.code = None - self.message = None - self.target = None - self.details = None - self.additional_info = None - - -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.). - - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = kwargs.get('error', 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 a Azure Resource Manager proxy resource. It will not have tags and a location. - - 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 Extension(ProxyResource): - """The Extension object. - - 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 location: Location of resource type - :type location: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.models.Identity - :ivar system_data: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the - Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - :ivar provisioning_state: The provisioning state of the extension resource. Possible values - include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". - :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: list[~azure.mgmt.kubernetesconfiguration.models.ExtensionStatus] - :param error_info: The error detail. - :type error_info: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail - :ivar custom_location_settings: Custom Location settings properties. - :vartype custom_location_settings: dict[str, str] - :ivar package_uri: Uri of the Helm package. - :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: - ~azure.mgmt.kubernetesconfiguration.models.ExtensionPropertiesAksAssignedIdentity - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'custom_location_settings': {'readonly': True}, - 'package_uri': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'scope': {'key': 'properties.scope', 'type': 'Scope'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, - 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, - 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, - 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, - 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, - } - - def __init__( - self, - **kwargs - ): - super(Extension, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.identity = kwargs.get('identity', None) - self.system_data = None - self.extension_type = kwargs.get('extension_type', None) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.scope = kwargs.get('scope', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - self.provisioning_state = None - self.statuses = kwargs.get('statuses', None) - self.error_info = kwargs.get('error_info', None) - self.custom_location_settings = None - self.package_uri = None - self.aks_assigned_identity = kwargs.get('aks_assigned_identity', None) - - -class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): - """Identity of the Extension resource in an AKS cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _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': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class ExtensionsList(msrest.serialization.Model): - """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of Extensions within a Kubernetes cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.models.Extension] - :ivar next_link: URL to get the next set of extension objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Extension]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionsList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ExtensionStatus(msrest.serialization.Model): - """Status from the extension. - - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". - Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'display_status': {'key': 'displayStatus', 'type': 'str'}, - 'level': {'key': 'level', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - 'time': {'key': 'time', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ExtensionStatus, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.display_status = kwargs.get('display_status', None) - self.level = kwargs.get('level', "Information") - self.message = kwargs.get('message', None) - self.time = kwargs.get('time', None) - - -class Identity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and - "SystemAssigned". The default value is None. - :type type: str - """ - - _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': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Identity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - self.type = kwargs.get('type', None) - - -class OperationStatusList(msrest.serialization.Model): - """The async operations in progress, in the cluster. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of async operations in progress, in the cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.models.OperationStatusResult] - :ivar next_link: URL to get the next set of Operation Result objects, if any. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusList, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class OperationStatusResult(msrest.serialization.Model): - """The current status of an async operation. - - All required parameters must be populated in order to send to Azure. - - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :param error: The error detail. - :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail - """ - - _validation = { - 'status': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'str'}, - 'properties': {'key': 'properties', 'type': '{str}'}, - 'error': {'key': 'error', 'type': 'ErrorDetail'}, - } - - def __init__( - self, - **kwargs - ): - super(OperationStatusResult, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = kwargs.get('name', None) - self.status = kwargs['status'] - self.properties = kwargs.get('properties', None) - self.error = kwargs.get('error', None) - - -class PatchExtension(msrest.serialization.Model): - """The Extension Patch Request object. - - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade - of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific - version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this - extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as - name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] - """ - - _attribute_map = { - 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, - 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, - 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, - } - - def __init__( - self, - **kwargs - ): - super(PatchExtension, self).__init__(**kwargs) - self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', True) - self.release_train = kwargs.get('release_train', "Stable") - self.version = kwargs.get('version', None) - self.configuration_settings = kwargs.get('configuration_settings', None) - self.configuration_protected_settings = kwargs.get('configuration_protected_settings', None) - - -class ResourceProviderOperation(msrest.serialization.Model): - """Supported operation of this resource provider. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay - :ivar is_data_action: The flag that indicates whether the operation applies to data plane. - :vartype is_data_action: bool - :ivar origin: Origin of the operation. - :vartype origin: str - """ - - _validation = { - 'is_data_action': {'readonly': True}, - 'origin': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, - 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, - 'origin': {'key': 'origin', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperation, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.display = kwargs.get('display', None) - self.is_data_action = None - self.origin = None - - -class ResourceProviderOperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this 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(ResourceProviderOperationDisplay, 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 ResourceProviderOperationList(msrest.serialization.Model): - """Result of the request to list operations. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param value: List of operations supported by this resource provider. - :type value: list[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperation] - :ivar next_link: URL to the next set of results, if any. - :vartype next_link: str - """ - - _validation = { - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ResourceProviderOperationList, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = None - - -class Scope(msrest.serialization.Model): - """Scope of the extension. It can be either Cluster or Namespace; but not both. - - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.models.ScopeNamespace - """ - - _attribute_map = { - 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, - 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, - } - - def __init__( - self, - **kwargs - ): - super(Scope, self).__init__(**kwargs) - self.cluster = kwargs.get('cluster', None) - self.namespace = kwargs.get('namespace', None) - - -class ScopeCluster(msrest.serialization.Model): - """Specifies that the scope of the extension is Cluster. - - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster - scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str - """ - - _attribute_map = { - 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeCluster, self).__init__(**kwargs) - self.release_namespace = kwargs.get('release_namespace', None) - - -class ScopeNamespace(msrest.serialization.Model): - """Specifies that the scope of the extension is Namespace. - - :param target_namespace: Namespace where the extension will be created for an Namespace scoped - extension. If this namespace does not exist, it will be created. - :type target_namespace: str - """ - - _attribute_map = { - 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ScopeNamespace, self).__init__(**kwargs) - self.target_namespace = kwargs.get('target_namespace', 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.mgmt.kubernetesconfiguration.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.mgmt.kubernetesconfiguration.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/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_configuration.py new file mode 100644 index 00000000000..a175e772c24 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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 Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-07-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..4a2066e60af --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_source_control_configuration_client.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.Operations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.operations.ExtensionsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/_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.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..5d42c644d80 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/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, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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 Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-07-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..786354552c0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/_source_control_configuration_client.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.Operations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.aio.operations.ExtensionsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..2e68d5ecb0c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/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 ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations +from ._extensions_operations import ExtensionsOperations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', + 'ExtensionsOperations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..2cb12620a0e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_extensions_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request, build_delete_request, build_get_request, build_list_request, build_update_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations 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.kubernetesconfiguration.v2020_07_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstance", + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Create a new Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :param extension_instance: Properties necessary to Create an Extension Instance. + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstance') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Gets details of the Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace_async + async def update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstanceUpdate", + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Update an existing Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :param extension_instance: Properties to Update in the Extension Instance. + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstanceUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstanceUpdate') + + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace_async + async def delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> None: + """Delete a Kubernetes Cluster Extension Instance. This will cause the Agent to Uninstall the + extension instance from the cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionInstancesList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionInstancesList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstancesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstancesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionInstancesList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..15d34648a9c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.kubernetesconfiguration.v2020_07_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..540d16d33ae --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2020_07_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/__init__.py new file mode 100644 index 00000000000..70c78dcb2d4 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/__init__.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 ._models_py3 import ComplianceStatus +from ._models_py3 import ConfigurationIdentity +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import ExtensionInstance +from ._models_py3 import ExtensionInstanceUpdate +from ._models_py3 import ExtensionInstancesList +from ._models_py3 import ExtensionStatus +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ComplianceStateType, + Enum0, + Enum1, + InstallStateType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningStateType, + ResourceIdentityType, +) + +__all__ = [ + 'ComplianceStatus', + 'ConfigurationIdentity', + 'ErrorDefinition', + 'ErrorResponse', + 'ExtensionInstance', + 'ExtensionInstanceUpdate', + 'ExtensionInstancesList', + 'ExtensionStatus', + 'HelmOperatorProperties', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Result', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'ComplianceStateType', + 'Enum0', + 'Enum1', + 'InstallStateType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningStateType', + 'ResourceIdentityType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..d28c93715ed --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_models_py3.py @@ -0,0 +1,1076 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._source_control_configuration_client_enums import * + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ConfigurationIdentity(msrest.serialization.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 the + configuration. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity which is used by the + configuration. + :vartype tenant_id: str + :ivar type: The type of identity used for the configuration. Type 'SystemAssigned' will use an + implicitly created identity. Type 'None' will not use Managed Identity for the configuration. + Possible values include: "SystemAssigned", "None". + :vartype type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceIdentityType + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ResourceIdentityType"]] = None, + **kwargs + ): + """ + :keyword type: The type of identity used for the configuration. Type 'SystemAssigned' will use + an implicitly created identity. Type 'None' will not use Managed Identity for the + configuration. Possible values include: "SystemAssigned", "None". + :paramtype type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceIdentityType + """ + super(ConfigurationIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + All required parameters must be populated in order to send to Azure. + + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: str, + message: str, + **kwargs + ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ + super(ErrorDefinition, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: Error definition. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ErrorDefinition + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = None + + +class Resource(msrest.serialization.Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ + + _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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = system_data + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ + + _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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + """ + super(ProxyResource, self).__init__(system_data=system_data, **kwargs) + + +class ExtensionInstance(ProxyResource): + """The Extension Instance object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this instance participates in auto upgrade of + minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension instance, if it is 'pinned' to a + specific version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension instance is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + instance of the extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this instance of the extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar install_state: Status of installation of this instance of the extension. Possible values + include: "Pending", "Installed", "Failed". + :vartype install_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.InstallStateType + :ivar statuses: Status from this instance of the extension. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionStatus] + :ivar creation_time: DateLiteral (per ISO8601) noting the time the resource was created by the + client (user). + :vartype creation_time: str + :ivar last_modified_time: DateLiteral (per ISO8601) noting the time the resource was modified + by the client (user). + :vartype last_modified_time: str + :ivar last_status_time: DateLiteral (per ISO8601) noting the time of last status from the + agent. + :vartype last_status_time: str + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ErrorDefinition + :ivar identity: The identity of the configuration. + :vartype identity: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ConfigurationIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'install_state': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'last_status_time': {'readonly': True}, + 'error_info': {'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'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'install_state': {'key': 'properties.installState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'str'}, + 'last_status_time': {'key': 'properties.lastStatusTime', 'type': 'str'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDefinition'}, + 'identity': {'key': 'properties.identity', 'type': 'ConfigurationIdentity'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = None, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + identity: Optional["ConfigurationIdentity"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this instance participates in auto upgrade + of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension instance, if it is 'pinned' to a + specific version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension instance is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this instance of the extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this instance of the extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this instance of the extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionStatus] + :keyword identity: The identity of the configuration. + :paramtype identity: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ConfigurationIdentity + """ + super(ExtensionInstance, self).__init__(system_data=system_data, **kwargs) + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.install_state = None + self.statuses = statuses + self.creation_time = None + self.last_modified_time = None + self.last_status_time = None + self.error_info = None + self.identity = identity + + +class ExtensionInstancesList(msrest.serialization.Model): + """Result of the request to list Extension Instances. It contains a list of ExtensionInstance objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extension Instances within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance] + :ivar next_link: URL to get the next set of extension instance objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionInstance]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionInstancesList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionInstanceUpdate(msrest.serialization.Model): + """Update Extension Instance request object. + + :ivar auto_upgrade_minor_version: Flag to note if this instance participates in Extension + Lifecycle Management or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version number of extension, to 'pin' to a specific version. + autoUpgradeMinorVersion must be 'false'. + :vartype version: str + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = None, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this instance participates in Extension + Lifecycle Management or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension instance participates in for auto-upgrade + (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version number of extension, to 'pin' to a specific version. + autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + """ + super(ExtensionInstanceUpdate, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + + +class ExtensionStatus(msrest.serialization.Model): + """Status from this instance of the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of this instance of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension instance. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of this instance of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension instance. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + """ + + _validation = { + 'is_data_action': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype 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 + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Result(msrest.serialization.Model): + """Sample result definition. + + :ivar sample_property: Sample property of type string. + :vartype sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__( + self, + *, + sample_property: Optional[str] = None, + **kwargs + ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ + super(Result, self).__init__(**kwargs) + self.sample_property = sample_property + + +class Scope(msrest.serialization.Model): + """Scope of the extensionInstance. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extensionInstance is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extensionInstance is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extensionInstance is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extensionInstance is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extensionInstance is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extensionInstance. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extensionInstance. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extensionInstance is Namespace. + + :ivar target_namespace: Namespace where the extensionInstance will be created for an Namespace + scoped extensionInstance. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extensionInstance will be created for an + Namespace scoped extensionInstance. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SystemData + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(system_data=system_data, **kwargs) + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar created_by: A string identifier for the identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource: user, application, + managedIdentity, key. + :vartype created_by_type: str + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: A string identifier for the identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource: user, + application, managedIdentity, key. + :vartype last_modified_by_type: str + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _validation = { + 'created_by': {'readonly': True}, + 'created_by_type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'last_modified_by_type': {'readonly': True}, + 'last_modified_at': {'readonly': True}, + } + + _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 = None + self.created_by_type = None + self.created_at = None + self.last_modified_by = None + self.last_modified_by_type = None + self.last_modified_at = None diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..bae6382fbce --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class InstallStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Status of installation of this instance of the extension. + """ + + PENDING = "Pending" + INSTALLED = "Installed" + FAILED = "Failed" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ResourceIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity used for the configuration. Type 'SystemAssigned' will use an implicitly + created identity. Type 'None' will not use Managed Identity for the configuration. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + NONE = "None" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/__init__.py new file mode 100644 index 00000000000..2e68d5ecb0c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/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 ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations +from ._extensions_operations import ExtensionsOperations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', + 'ExtensionsOperations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py new file mode 100644 index 00000000000..f0a15e102ca --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_extensions_operations.py @@ -0,0 +1,642 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionInstanceName": _SERIALIZER.url("extension_instance_name", extension_instance_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations 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.kubernetesconfiguration.v2020_07_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstance", + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Create a new Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :param extension_instance: Properties necessary to Create an Extension Instance. + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstance') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Gets details of the Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + extension_instance: "_models.ExtensionInstanceUpdate", + **kwargs: Any + ) -> "_models.ExtensionInstance": + """Update an existing Kubernetes Cluster Extension Instance. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_name: str + :param extension_instance: Properties to Update in the Extension Instance. + :type extension_instance: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstanceUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionInstance, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstance + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstance"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension_instance, 'ExtensionInstanceUpdate') + + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionInstance', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_instance_name: str, + **kwargs: Any + ) -> None: + """Delete a Kubernetes Cluster Extension Instance. This will cause the Agent to Uninstall the + extension instance from the cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_instance_name: Name of an instance of the Extension. + :type extension_instance_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_instance_name=extension_instance_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionInstanceName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionInstancesList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionInstancesList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ExtensionInstancesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionInstancesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionInstancesList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_operations.py new file mode 100644 index 00000000000..3e405e2ae48 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.kubernetesconfiguration.v2020_07_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..3a863680448 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_07_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,578 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-07-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2020_07_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_07_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_configuration.py new file mode 100644 index 00000000000..7167f9bec31 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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 Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + 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-kubernetesconfiguration/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..435ce16a3a2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_source_control_configuration_client.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 copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/_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.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..2ea6b77035b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/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, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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 Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + 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-kubernetesconfiguration/{}'.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 = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..24c6800aa80 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/_source_control_configuration_client.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..07db19b318c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..d10b2c945f2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.kubernetesconfiguration.v2020_10_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..1ff137c7cc0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2020_10_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/__init__.py new file mode 100644 index 00000000000..f851a5fd806 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/__init__.py @@ -0,0 +1,55 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ComplianceStateType, + Enum0, + Enum1, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningStateType, +) + +__all__ = [ + 'ComplianceStatus', + 'ErrorDefinition', + 'ErrorResponse', + 'HelmOperatorProperties', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Result', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'ComplianceStateType', + 'Enum0', + 'Enum1', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningStateType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..b3ea2a3dcc4 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_models_py3.py @@ -0,0 +1,650 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._source_control_configuration_client_enums import * + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + All required parameters must be populated in order to send to Azure. + + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: str, + message: str, + **kwargs + ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ + super(ErrorDefinition, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: Error definition. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ErrorDefinition + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = None + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class Resource(msrest.serialization.Model): + """The Resource model definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ + + _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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = system_data + + +class ProxyResource(Resource): + """ARM proxy resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ + + _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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + """ + super(ProxyResource, self).__init__(system_data=system_data, **kwargs) + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + """ + + _validation = { + 'is_data_action': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype 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 + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Result(msrest.serialization.Model): + """Sample result definition. + + :ivar sample_property: Sample property of type string. + :vartype sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__( + self, + *, + sample_property: Optional[str] = None, + **kwargs + ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ + super(Result, self).__init__(**kwargs) + self.sample_property = sample_property + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource Id. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + system_data: Optional["SystemData"] = None, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :paramtype system_data: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SystemData + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(system_data=system_data, **kwargs) + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar created_by: A string identifier for the identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource: user, application, + managedIdentity, key. + :vartype created_by_type: str + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: A string identifier for the identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource: user, + application, managedIdentity, key. + :vartype last_modified_by_type: str + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime + """ + + _validation = { + 'created_by': {'readonly': True}, + 'created_by_type': {'readonly': True}, + 'created_at': {'readonly': True}, + 'last_modified_by': {'readonly': True}, + 'last_modified_by_type': {'readonly': True}, + 'last_modified_at': {'readonly': True}, + } + + _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 = None + self.created_by_type = None + self.created_at = None + self.last_modified_by = None + self.last_modified_by_type = None + self.last_modified_at = None diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..f15af9df3a0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/models/_source_control_configuration_client_enums.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 enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +class Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/__init__.py new file mode 100644 index 00000000000..07db19b318c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_operations.py new file mode 100644 index 00000000000..04f675b2f5e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.kubernetesconfiguration.v2020_10_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..8eebc483790 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2020_10_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,578 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2020-10-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2020_10_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2020_10_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/__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 ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_configuration.py new file mode 100644 index 00000000000..d1e0dc4fffe --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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 Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_source_control_configuration_client.py new file mode 100644 index 00000000000..d88edd7b180 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_source_control_configuration_client.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_03_01.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_03_01.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_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 = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_configuration.py new file mode 100644 index 00000000000..6e8d28ce1ac --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_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, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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 Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..ebbe4381c95 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/_source_control_configuration_client.py @@ -0,0 +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. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_03_01.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_03_01.aio.operations.Operations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + :type subscription_id: str + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/__init__.py new file mode 100644 index 00000000000..07db19b318c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_operations.py new file mode 100644 index 00000000000..ced61c24199 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.kubernetesconfiguration.v2021_03_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..8ca4a2f361a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,403 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2021_03_01.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 + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/__init__.py new file mode 100644 index 00000000000..ec901c15835 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/__init__.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorDefinition +from ._models_py3 import ErrorResponse +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Result +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ComplianceStateType, + CreatedByType, + Enum0, + Enum1, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningStateType, +) + +__all__ = [ + 'ComplianceStatus', + 'ErrorDefinition', + 'ErrorResponse', + 'HelmOperatorProperties', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Result', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'ComplianceStateType', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningStateType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_models_py3.py new file mode 100644 index 00000000000..fb21995b82b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_models_py3.py @@ -0,0 +1,646 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._source_control_configuration_client_enums import * + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + All required parameters must be populated in order to send to Azure. + + :ivar code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :vartype code: str + :ivar message: Required. Description of the error. + :vartype message: str + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: str, + message: str, + **kwargs + ): + """ + :keyword code: Required. Service specific error code which serves as the substatus for the HTTP + error code. + :paramtype code: str + :keyword message: Required. Description of the error. + :paramtype message: str + """ + super(ErrorDefinition, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar error: Error definition. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ErrorDefinition + """ + + _validation = { + 'error': {'readonly': True}, + } + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = None + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +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 a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + """ + + _validation = { + 'is_data_action': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype 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 + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Result(msrest.serialization.Model): + """Sample result definition. + + :ivar sample_property: Sample property of type string. + :vartype sample_property: str + """ + + _attribute_map = { + 'sample_property': {'key': 'sampleProperty', 'type': 'str'}, + } + + def __init__( + self, + *, + sample_property: Optional[str] = None, + **kwargs + ): + """ + :keyword sample_property: Sample property of type string. + :paramtype sample_property: str + """ + super(Result, self).__init__(**kwargs) + self.sample_property = sample_property + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype 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 + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + 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/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..68b551afcbe --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/models/_source_control_configuration_client_enums.py @@ -0,0 +1,72 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +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 Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/__init__.py new file mode 100644 index 00000000000..07db19b318c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_operations.py new file mode 100644 index 00000000000..284e6510ab7 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.kubernetesconfiguration.v2021_03_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..a36d0e745c0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_03_01/operations/_source_control_configurations_operations.py @@ -0,0 +1,576 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2021_03_01.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 + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_configuration.py new file mode 100644 index 00000000000..e0d799c1310 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-05-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..caa563f1320 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_source_control_configuration_client.py @@ -0,0 +1,122 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.OperationStatusOperations + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.LocationExtensionTypesOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/_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.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..d457ecaa974 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/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, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-05-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..a2fbc1fdda5 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/_source_control_configuration_client.py @@ -0,0 +1,119 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.OperationStatusOperations + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.LocationExtensionTypesOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.aio.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..5f4504b206d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/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 ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..c77d6b31997 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_type_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypeOperations: + """ClusterExtensionTypeOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_type: Union[str, "_models.Enum5"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_type: The Kubernetes cluster resource name - either managedClusters (for AKS + clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum5 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_type=cluster_type, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..b99f307b6ad --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_cluster_extension_types_operations.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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypesOperations: + """ClusterExtensionTypesOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/connectedClusters/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..0fd76dd062a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extension_type_versions_operations.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionTypeVersionsOperations: + """ExtensionTypeVersionsOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..65591042bb2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_extensions_operations.py @@ -0,0 +1,471 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + 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, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..024729f2f0f --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_location_extension_types_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocationExtensionTypesOperations: + """LocationExtensionTypesOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :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 ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..2d99d5e6b2f --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operation_status_operations.py @@ -0,0 +1,206 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..d62dc62020b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..d63c27542d2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/__init__.py new file mode 100644 index 00000000000..2b481eea8c9 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/__init__.py @@ -0,0 +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. +# -------------------------------------------------------------------------- + +from ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import Identity +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ClusterTypes, + ComplianceStateType, + CreatedByType, + Enum0, + Enum1, + Enum5, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, +) + +__all__ = [ + 'ClusterScopeSettings', + 'ComplianceStatus', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionStatus', + 'ExtensionType', + 'ExtensionTypeList', + 'ExtensionVersionList', + 'ExtensionVersionListVersionsItem', + 'ExtensionsList', + 'HelmOperatorProperties', + 'Identity', + 'OperationStatusList', + 'OperationStatusResult', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SupportedScopes', + 'SystemData', + 'ClusterTypes', + 'ComplianceStateType', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'Enum5', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..97597606978 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_models_py3.py @@ -0,0 +1,1363 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._source_control_configuration_client_enums import * + + +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 a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 ClusterScopeSettings(ProxyResource): + """Extension scope settings. + + 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 allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: 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'}, + 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, + 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + allow_multiple_instances: Optional[bool] = None, + default_release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ + super(ClusterScopeSettings, self).__init__(**kwargs) + self.allow_multiple_instances = allow_multiple_instances + self.default_release_namespace = default_release_namespace + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +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: any + """ + + _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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Extension(ProxyResource): + """The Extension object. + + 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 identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionStatus] + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class ExtensionType(msrest.serialization.Model): + """Represents an Extension Type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData + :ivar release_trains: Extension release train: preview or stable. + :vartype release_trains: list[str] + :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", + "managedClusters". + :vartype cluster_types: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterTypes + :ivar supported_scopes: Extension scopes. + :vartype supported_scopes: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SupportedScopes + """ + + _validation = { + 'system_data': {'readonly': True}, + 'release_trains': {'readonly': True}, + 'cluster_types': {'readonly': True}, + 'supported_scopes': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, + 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, + 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionType, self).__init__(**kwargs) + self.system_data = None + self.release_trains = None + self.cluster_types = None + self.supported_scopes = None + + +class ExtensionTypeList(msrest.serialization.Model): + """List Extension Types. + + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionType]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ExtensionType"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionTypeList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExtensionVersionList(msrest.serialization.Model): + """List versions for an Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar versions: Versions available for this Extension Type. + :vartype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionListVersionsItem] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + versions: Optional[List["ExtensionVersionListVersionsItem"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionVersionList, self).__init__(**kwargs) + self.versions = versions + self.next_link = next_link + self.system_data = None + + +class ExtensionVersionListVersionsItem(msrest.serialization.Model): + """ExtensionVersionListVersionsItem. + + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] + """ + + _attribute_map = { + 'release_train': {'key': 'releaseTrain', 'type': 'str'}, + 'versions': {'key': 'versions', 'type': '[str]'}, + } + + def __init__( + self, + *, + release_train: Optional[str] = None, + versions: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ + super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) + self.release_train = release_train + self.versions = versions + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + 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 ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationDisplay + :ivar origin: The intended executor of the operation;governs the display of the operation in + the RBAC UX and the audit logs UX. + :vartype origin: str + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + """ + + _validation = { + 'is_data_action': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + origin: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationDisplay + :keyword origin: The intended executor of the operation;governs the display of the operation in + the RBAC UX and the audit logs UX. + :paramtype origin: str + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.is_data_action = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype 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 + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SupportedScopes(msrest.serialization.Model): + """Extension scopes. + + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterScopeSettings + """ + + _attribute_map = { + 'default_scope': {'key': 'defaultScope', 'type': 'str'}, + 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, + } + + def __init__( + self, + *, + default_scope: Optional[str] = None, + cluster_scope_settings: Optional["ClusterScopeSettings"] = None, + **kwargs + ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ClusterScopeSettings + """ + super(SupportedScopes, self).__init__(**kwargs) + self.default_scope = default_scope + self.cluster_scope_settings = cluster_scope_settings + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype 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 + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + 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/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..bd58c28c279 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Cluster types + """ + + CONNECTED_CLUSTERS = "connectedClusters" + MANAGED_CLUSTERS = "managedClusters" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +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 Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class Enum5(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the extension resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/__init__.py new file mode 100644 index 00000000000..5f4504b206d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/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 ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..a9e523f7ed1 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_type_operations.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. +# -------------------------------------------------------------------------- +import functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_type: Union[str, "_models.Enum5"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterType": _SERIALIZER.url("cluster_type", cluster_type, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypeOperations(object): + """ClusterExtensionTypeOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_type: Union[str, "_models.Enum5"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_type: The Kubernetes cluster resource name - either managedClusters (for AKS + clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_type: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum5 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_type=cluster_type, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterType}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..210d4945423 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_cluster_extension_types_operations.py @@ -0,0 +1,166 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/connectedClusters/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypesOperations(object): + """ClusterExtensionTypesOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/connectedClusters/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..c978497cf58 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extension_type_versions_operations.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. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionTypeVersionsOperations(object): + """ExtensionTypeVersionsOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py new file mode 100644 index 00000000000..36fca482e88 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_extensions_operations.py @@ -0,0 +1,647 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + 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: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..5a8c204da5e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_location_extension_types_operations.py @@ -0,0 +1,151 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class LocationExtensionTypesOperations(object): + """LocationExtensionTypesOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :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 ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py new file mode 100644 index 00000000000..c1cdf65ac6d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operation_status_operations.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operations.py new file mode 100644 index 00000000000..6fd3ea82cea --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..f79edc22996 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_05_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,578 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_05_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/__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 ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_configuration.py new file mode 100644 index 00000000000..b83d2cdd71b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-09-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_source_control_configuration_client.py new file mode 100644 index 00000000000..537f5bba325 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_source_control_configuration_client.py @@ -0,0 +1,101 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, OperationStatusOperations, Operations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.OperationStatusOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_09_01.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_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 = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_configuration.py new file mode 100644 index 00000000000..710846e073d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_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, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-09-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..96bdeb10bc7 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/_source_control_configuration_client.py @@ -0,0 +1,98 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, OperationStatusOperations, Operations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.OperationStatusOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2021_09_01.aio.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/__init__.py similarity index 100% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/operations/__init__.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/__init__.py diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..46475d98ddf --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_extensions_operations.py @@ -0,0 +1,609 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations 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.kubernetesconfiguration.v2021_09_01.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, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.PatchExtension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..0d2cb035b00 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operation_status_operations.py @@ -0,0 +1,206 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations 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.kubernetesconfiguration.v2021_09_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_operations.py new file mode 100644 index 00000000000..2113e3798fe --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/aio/operations/_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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.kubernetesconfiguration.v2021_09_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports, in + this api-version. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/__init__.py new file mode 100644 index 00000000000..01a45e76c93 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/__init__.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 ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionsList +from ._models_py3 import Identity +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + CreatedByType, + Enum0, + Enum1, + LevelType, + ProvisioningState, +) + +__all__ = [ + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionsList', + 'Identity', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SystemData', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'LevelType', + 'ProvisioningState', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_models_py3.py similarity index 60% rename from src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models_py3.py rename to src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_models_py3.py index fae1bb96772..e60feb17869 100644 --- a/src/k8s-extension/azext_k8s_extension/vendored_sdks/models/_models_py3.py +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_models_py3.py @@ -40,6 +40,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None @@ -57,9 +59,10 @@ class ErrorDetail(msrest.serialization.Model): :ivar target: The error target. :vartype target: str :ivar details: The error details. - :vartype details: list[~azure.mgmt.kubernetesconfiguration.models.ErrorDetail] + :vartype details: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail] :ivar additional_info: The error additional info. - :vartype additional_info: list[~azure.mgmt.kubernetesconfiguration.models.ErrorAdditionalInfo] + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorAdditionalInfo] """ _validation = { @@ -82,6 +85,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorDetail, self).__init__(**kwargs) self.code = None self.message = None @@ -93,8 +98,8 @@ def __init__( 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.). - :param error: The error object. - :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail """ _attribute_map = { @@ -107,6 +112,10 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + """ super(ErrorResponse, self).__init__(**kwargs) self.error = error @@ -142,6 +151,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -179,6 +190,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) @@ -195,49 +208,47 @@ class Extension(ProxyResource): :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str - :param location: Location of resource type - :type location: str - :param identity: Identity of the Extension resource. - :type identity: ~azure.mgmt.kubernetesconfiguration.models.Identity + :ivar identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Identity :ivar system_data: Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. - :vartype system_data: ~azure.mgmt.kubernetesconfiguration.models.SystemData - :param extension_type: Type of the Extension, of which this resource is an instance of. It - must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher. - :type extension_type: str - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param scope: Scope at which the extension is installed. - :type scope: ~azure.mgmt.kubernetesconfiguration.models.Scope - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] :ivar provisioning_state: The provisioning state of the extension resource. Possible values include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". :vartype provisioning_state: str or - ~azure.mgmt.kubernetesconfiguration.models.ProvisioningState - :param statuses: Status from this extension. - :type statuses: list[~azure.mgmt.kubernetesconfiguration.models.ExtensionStatus] - :param error_info: The error detail. - :type error_info: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionStatus] + :ivar error_info: The error detail. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail :ivar custom_location_settings: Custom Location settings properties. :vartype custom_location_settings: dict[str, str] :ivar package_uri: Uri of the Helm package. :vartype package_uri: str - :param aks_assigned_identity: Identity of the Extension resource in an AKS cluster. - :type aks_assigned_identity: - ~azure.mgmt.kubernetesconfiguration.models.ExtensionPropertiesAksAssignedIdentity + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionPropertiesAksAssignedIdentity """ _validation = { @@ -254,7 +265,6 @@ class Extension(ProxyResource): 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, 'identity': {'key': 'identity', 'type': 'Identity'}, 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, @@ -275,7 +285,6 @@ class Extension(ProxyResource): def __init__( self, *, - location: Optional[str] = None, identity: Optional["Identity"] = None, extension_type: Optional[str] = None, auto_upgrade_minor_version: Optional[bool] = True, @@ -289,8 +298,40 @@ def __init__( aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, **kwargs ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionStatus] + :keyword error_info: The error detail. + :paramtype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionPropertiesAksAssignedIdentity + """ super(Extension, self).__init__(**kwargs) - self.location = location self.identity = identity self.system_data = None self.extension_type = extension_type @@ -317,9 +358,9 @@ class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -339,6 +380,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -351,7 +397,7 @@ class ExtensionsList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of Extensions within a Kubernetes cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.models.Extension] + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] :ivar next_link: URL to get the next set of extension objects, if any. :vartype next_link: str """ @@ -370,6 +416,8 @@ def __init__( self, **kwargs ): + """ + """ super(ExtensionsList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -378,17 +426,17 @@ def __init__( class ExtensionStatus(msrest.serialization.Model): """Status from the extension. - :param code: Status code provided by the Extension. - :type code: str - :param display_status: Short description of status of the extension. - :type display_status: str - :param level: Level of the status. Possible values include: "Error", "Warning", "Information". + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". Default value: "Information". - :type level: str or ~azure.mgmt.kubernetesconfiguration.models.LevelType - :param message: Detailed message of the status from the Extension. - :type message: str - :param time: DateLiteral (per ISO8601) noting the time of installation status. - :type time: str + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str """ _attribute_map = { @@ -409,6 +457,19 @@ def __init__( time: Optional[str] = None, **kwargs ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ super(ExtensionStatus, self).__init__(**kwargs) self.code = code self.display_status = display_status @@ -426,9 +487,9 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :param type: The identity type. The only acceptable values to pass in are None and + :ivar type: The identity type. The only acceptable values to pass in are None and "SystemAssigned". The default value is None. - :type type: str + :vartype type: str """ _validation = { @@ -448,6 +509,11 @@ def __init__( type: Optional[str] = None, **kwargs ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None @@ -460,7 +526,8 @@ class OperationStatusList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of async operations in progress, in the cluster. - :vartype value: list[~azure.mgmt.kubernetesconfiguration.models.OperationStatusResult] + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusResult] :ivar next_link: URL to get the next set of Operation Result objects, if any. :vartype next_link: str """ @@ -479,6 +546,8 @@ def __init__( self, **kwargs ): + """ + """ super(OperationStatusList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -489,16 +558,16 @@ class OperationStatusResult(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Fully qualified ID for the async operation. - :type id: str - :param name: Name of the async operation. - :type name: str - :param status: Required. Operation status. - :type status: str - :param properties: Additional information, if available. - :type properties: dict[str, str] - :param error: The error detail. - :type error: ~azure.mgmt.kubernetesconfiguration.models.ErrorDetail + :ivar id: Fully qualified ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: The error detail. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail """ _validation = { @@ -523,6 +592,18 @@ def __init__( error: Optional["ErrorDetail"] = None, **kwargs ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + :keyword error: The error detail. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ErrorDetail + """ super(OperationStatusResult, self).__init__(**kwargs) self.id = id self.name = name @@ -534,21 +615,21 @@ def __init__( class PatchExtension(msrest.serialization.Model): """The Extension Patch Request object. - :param auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade of minor version, or not. - :type auto_upgrade_minor_version: bool - :param release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. - Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. - :type release_train: str - :param version: Version of the extension for this extension, if it is 'pinned' to a specific + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'. - :type version: str - :param configuration_settings: Configuration settings, as name-value pairs for configuring this + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this extension. - :type configuration_settings: dict[str, str] - :param configuration_protected_settings: Configuration settings that are sensitive, as + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as name-value pairs for configuring this extension. - :type configuration_protected_settings: dict[str, str] + :vartype configuration_protected_settings: dict[str, str] """ _attribute_map = { @@ -569,6 +650,23 @@ def __init__( configuration_protected_settings: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ super(PatchExtension, self).__init__(**kwargs) self.auto_upgrade_minor_version = auto_upgrade_minor_version self.release_train = release_train @@ -582,10 +680,11 @@ class ResourceProviderOperation(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param name: Operation name, in format of {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperationDisplay + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationDisplay :ivar is_data_action: The flag that indicates whether the operation applies to data plane. :vartype is_data_action: bool :ivar origin: Origin of the operation. @@ -611,6 +710,13 @@ def __init__( display: Optional["ResourceProviderOperationDisplay"] = None, **kwargs ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationDisplay + """ super(ResourceProviderOperation, self).__init__(**kwargs) self.name = name self.display = display @@ -621,14 +727,14 @@ def __init__( class ResourceProviderOperationDisplay(msrest.serialization.Model): """Display metadata associated with the operation. - :param provider: Resource provider: Microsoft KubernetesConfiguration. - :type provider: str - :param resource: Resource on which the operation is performed. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :param description: Description of this operation. - :type description: str + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype description: str """ _attribute_map = { @@ -647,6 +753,16 @@ def __init__( description: Optional[str] = None, **kwargs ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ super(ResourceProviderOperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -659,8 +775,9 @@ class ResourceProviderOperationList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param value: List of operations supported by this resource provider. - :type value: list[~azure.mgmt.kubernetesconfiguration.models.ResourceProviderOperation] + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperation] :ivar next_link: URL to the next set of results, if any. :vartype next_link: str """ @@ -680,6 +797,11 @@ def __init__( value: Optional[List["ResourceProviderOperation"]] = None, **kwargs ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperation] + """ super(ResourceProviderOperationList, self).__init__(**kwargs) self.value = value self.next_link = None @@ -688,10 +810,10 @@ def __init__( class Scope(msrest.serialization.Model): """Scope of the extension. It can be either Cluster or Namespace; but not both. - :param cluster: Specifies that the scope of the extension is Cluster. - :type cluster: ~azure.mgmt.kubernetesconfiguration.models.ScopeCluster - :param namespace: Specifies that the scope of the extension is Namespace. - :type namespace: ~azure.mgmt.kubernetesconfiguration.models.ScopeNamespace + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeNamespace """ _attribute_map = { @@ -706,6 +828,12 @@ def __init__( namespace: Optional["ScopeNamespace"] = None, **kwargs ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ScopeNamespace + """ super(Scope, self).__init__(**kwargs) self.cluster = cluster self.namespace = namespace @@ -714,9 +842,9 @@ def __init__( class ScopeCluster(msrest.serialization.Model): """Specifies that the scope of the extension is Cluster. - :param release_namespace: Namespace where the extension Release must be placed, for a Cluster + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created. - :type release_namespace: str + :vartype release_namespace: str """ _attribute_map = { @@ -729,6 +857,11 @@ def __init__( release_namespace: Optional[str] = None, **kwargs ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ super(ScopeCluster, self).__init__(**kwargs) self.release_namespace = release_namespace @@ -736,9 +869,9 @@ def __init__( class ScopeNamespace(msrest.serialization.Model): """Specifies that the scope of the extension is Namespace. - :param target_namespace: Namespace where the extension will be created for an Namespace scoped + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created. - :type target_namespace: str + :vartype target_namespace: str """ _attribute_map = { @@ -751,6 +884,11 @@ def __init__( target_namespace: Optional[str] = None, **kwargs ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ super(ScopeNamespace, self).__init__(**kwargs) self.target_namespace = target_namespace @@ -758,20 +896,22 @@ def __init__( 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.mgmt.kubernetesconfiguration.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 + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar 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.kubernetesconfiguration.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -794,6 +934,24 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..48f19c25f2c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/models/_source_control_configuration_client_enums.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 enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +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 Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the extension resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/__init__.py new file mode 100644 index 00000000000..632ac4c1eeb --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_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 ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_extensions_operations.py new file mode 100644 index 00000000000..4e718b52671 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_extensions_operations.py @@ -0,0 +1,834 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations 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.kubernetesconfiguration.v2021_09_01.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: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.PatchExtension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py new file mode 100644 index 00000000000..c418a705a30 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operation_status_operations.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations 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.kubernetesconfiguration.v2021_09_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operations.py new file mode 100644 index 00000000000..e18d70e2222 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_09_01/operations/_operations.py @@ -0,0 +1,138 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-09-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.kubernetesconfiguration.v2021_09_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports, in + this api-version. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_09_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_configuration.py new file mode 100644 index 00000000000..b822e7bc318 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-11-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..7a4739e5d02 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_source_control_configuration_client.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 copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.OperationStatusOperations + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.LocationExtensionTypesOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.SourceControlConfigurationsOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.FluxConfigOperationStatusOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/_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.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..b86d839a94e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/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, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-11-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..e46bfe1b885 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/_source_control_configuration_client.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 copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.OperationStatusOperations + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.LocationExtensionTypesOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.FluxConfigOperationStatusOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.aio.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..ee01fecd439 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/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 ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'SourceControlConfigurationsOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..0f6ebc8b36a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_type_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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypeOperations: + """ClusterExtensionTypeOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..ddeddcf87c6 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypesOperations: + """ClusterExtensionTypesOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..2fb6a487db6 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extension_type_versions_operations.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionTypeVersionsOperations: + """ExtensionTypeVersionsOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..a80a7a43909 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_extensions_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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + 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, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.PatchExtension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..278055cbaf8 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_config_operation_status_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigOperationStatusOperations: + """FluxConfigOperationStatusOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..75827d96b95 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_flux_configurations_operations.py @@ -0,0 +1,612 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigurationsOperations: + """FluxConfigurationsOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationPatch + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..4dfb3b692cd --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_location_extension_types_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocationExtensionTypesOperations: + """LocationExtensionTypesOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :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 ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..ca83ab69e8d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operation_status_operations.py @@ -0,0 +1,206 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..bff33128e43 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..9e25d1d3796 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,405 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/__init__.py new file mode 100644 index 00000000000..b83d70226f0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/__init__.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 ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import DependsOnDefinition +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ClusterTypes, + ComplianceStateType, + CreatedByType, + Enum0, + Enum1, + FluxComplianceState, + KustomizationValidationType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, + ScopeType, + SourceKindType, +) + +__all__ = [ + 'ClusterScopeSettings', + 'ComplianceStatus', + 'DependsOnDefinition', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionType', + 'ExtensionTypeList', + 'ExtensionVersionList', + 'ExtensionVersionListVersionsItem', + 'ExtensionsList', + 'FluxConfiguration', + 'FluxConfigurationPatch', + 'FluxConfigurationsList', + 'GitRepositoryDefinition', + 'HelmOperatorProperties', + 'HelmReleasePropertiesDefinition', + 'Identity', + 'KustomizationDefinition', + 'ObjectReferenceDefinition', + 'ObjectStatusConditionDefinition', + 'ObjectStatusDefinition', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'RepositoryRefDefinition', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SupportedScopes', + 'SystemData', + 'ClusterTypes', + 'ComplianceStateType', + 'CreatedByType', + 'Enum0', + 'Enum1', + 'FluxComplianceState', + 'KustomizationValidationType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', + 'ScopeType', + 'SourceKindType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..b7d98fd1b6d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_models_py3.py @@ -0,0 +1,2210 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._source_control_configuration_client_enums import * + + +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 a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 ClusterScopeSettings(ProxyResource): + """Extension scope settings. + + 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 allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: 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'}, + 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, + 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + allow_multiple_instances: Optional[bool] = None, + default_release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ + super(ClusterScopeSettings, self).__init__(**kwargs) + self.allow_multiple_instances = allow_multiple_instances + self.default_release_namespace = default_release_namespace + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class DependsOnDefinition(msrest.serialization.Model): + """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. + + :ivar kustomization_name: Name of the kustomization to claim dependency on. + :vartype kustomization_name: str + """ + + _attribute_map = { + 'kustomization_name': {'key': 'kustomizationName', 'type': 'str'}, + } + + def __init__( + self, + *, + kustomization_name: Optional[str] = None, + **kwargs + ): + """ + :keyword kustomization_name: Name of the kustomization to claim dependency on. + :paramtype kustomization_name: str + """ + super(DependsOnDefinition, self).__init__(**kwargs) + self.kustomization_name = kustomization_name + + +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: any + """ + + _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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Extension(ProxyResource): + """The Extension object. + + 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 identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = aks_assigned_identity + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class ExtensionType(msrest.serialization.Model): + """Represents an Extension Type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + :ivar release_trains: Extension release train: preview or stable. + :vartype release_trains: list[str] + :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", + "managedClusters". + :vartype cluster_types: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterTypes + :ivar supported_scopes: Extension scopes. + :vartype supported_scopes: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SupportedScopes + """ + + _validation = { + 'system_data': {'readonly': True}, + 'release_trains': {'readonly': True}, + 'cluster_types': {'readonly': True}, + 'supported_scopes': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, + 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, + 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionType, self).__init__(**kwargs) + self.system_data = None + self.release_trains = None + self.cluster_types = None + self.supported_scopes = None + + +class ExtensionTypeList(msrest.serialization.Model): + """List Extension Types. + + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionType]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ExtensionType"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionTypeList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExtensionVersionList(msrest.serialization.Model): + """List versions for an Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar versions: Versions available for this Extension Type. + :vartype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionListVersionsItem] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + versions: Optional[List["ExtensionVersionListVersionsItem"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionVersionList, self).__init__(**kwargs) + self.versions = versions + self.next_link = next_link + self.system_data = None + + +class ExtensionVersionListVersionsItem(msrest.serialization.Model): + """ExtensionVersionListVersionsItem. + + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] + """ + + _attribute_map = { + 'release_train': {'key': 'releaseTrain', 'type': 'str'}, + 'versions': {'key': 'versions', 'type': '[str]'}, + } + + def __init__( + self, + *, + release_train: Optional[str] = None, + versions: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ + super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) + self.release_train = release_train + self.versions = versions + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar last_source_synced_commit_id: Branch and SHA of the last source commit synced with the + cluster. + :vartype last_source_synced_commit_id: str + :ivar last_source_synced_at: Datetime the fluxConfiguration last synced its source on the + cluster. + :vartype last_source_synced_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'last_source_synced_commit_id': {'readonly': True}, + 'last_source_synced_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'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'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'last_source_synced_commit_id': {'key': 'properties.lastSourceSyncedCommitId', 'type': 'str'}, + 'last_source_synced_at': {'key': 'properties.lastSourceSyncedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[Union[str, "ScopeType"]] = "cluster", + namespace: Optional[str] = "default", + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = scope + self.namespace = namespace + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + self.statuses = None + self.repository_public_key = None + self.last_source_synced_commit_id = None + self.last_source_synced_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.GitRepositoryDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Base64-encoded HTTPS username used to access private git repositories over + HTTPS. + :vartype https_user: str + :ivar https_ca_file: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_file: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_file': {'key': 'httpsCAFile', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_file: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Base64-encoded HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_file: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_file: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_file = https_ca_file + self.local_auth_ref = local_auth_ref + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """HelmReleasePropertiesDefinition. + + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :vartype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + *, + last_revision_applied: Optional[int] = None, + helm_chart_ref: Optional["ObjectReferenceDefinition"] = None, + failure_count: Optional[int] = None, + install_failure_count: Optional[int] = None, + upgrade_failure_count: Optional[int] = None, + **kwargs + ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = last_revision_applied + self.helm_chart_ref = helm_chart_ref + self.failure_count = failure_count + self.install_failure_count = install_failure_count + self.upgrade_failure_count = upgrade_failure_count + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.DependsOnDefinition] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar validation: Specify whether to validate the Kubernetes objects referenced in the + Kustomization before applying them to the cluster. Possible values include: "none", "client", + "server". Default value: "none". + :vartype validation: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationValidationType + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'validation': {'key': 'validation', 'type': 'str'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = "", + depends_on: Optional[List["DependsOnDefinition"]] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = False, + validation: Optional[Union[str, "KustomizationValidationType"]] = "none", + force: Optional[bool] = False, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword validation: Specify whether to validate the Kubernetes objects referenced in the + Kustomization before applying them to the cluster. Possible values include: "none", "client", + "server". Default value: "none". + :paramtype validation: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.KustomizationValidationType + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.validation = validation + self.force = force + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + last_transition_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + reason: Optional[str] = None, + status: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = last_transition_time + self.message = message + self.reason = reason + self.status = status + self.type = type + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusConditionDefinition] + :ivar helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :vartype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + kind: Optional[str] = None, + compliance_state: Optional[Union[str, "FluxComplianceState"]] = "Unknown", + applied_by: Optional["ObjectReferenceDefinition"] = None, + status_conditions: Optional[List["ObjectStatusConditionDefinition"]] = None, + helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, + **kwargs + ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmReleasePropertiesDefinition + """ + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.kind = kind + self.compliance_state = compliance_state + self.applied_by = applied_by + self.status_conditions = status_conditions + self.helm_release_properties = helm_release_properties + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + 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 ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :vartype commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + *, + branch: Optional[str] = None, + tag: Optional[str] = None, + semver: Optional[str] = None, + commit: Optional[str] = None, + **kwargs + ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = branch + self.tag = tag + self.semver = semver + self.commit = commit + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype 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 + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SupportedScopes(msrest.serialization.Model): + """Extension scopes. + + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterScopeSettings + """ + + _attribute_map = { + 'default_scope': {'key': 'defaultScope', 'type': 'str'}, + 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, + } + + def __init__( + self, + *, + default_scope: Optional[str] = None, + cluster_scope_settings: Optional["ClusterScopeSettings"] = None, + **kwargs + ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ClusterScopeSettings + """ + super(SupportedScopes, self).__init__(**kwargs) + self.default_scope = default_scope + self.cluster_scope_settings = cluster_scope_settings + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype 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 + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + 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/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..544b13b91c2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/models/_source_control_configuration_client_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 +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Cluster types + """ + + CONNECTED_CLUSTERS = "connectedClusters" + MANAGED_CLUSTERS = "managedClusters" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +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 Enum0(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class Enum1(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Compliance state of the cluster object. + """ + + COMPLIANT = "Compliant" + NON_COMPLIANT = "Non-Compliant" + PENDING = "Pending" + SUSPENDED = "Suspended" + UNKNOWN = "Unknown" + +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specify whether to validate the Kubernetes objects referenced in the Kustomization before + applying them to the cluster. + """ + + NONE = "none" + CLIENT = "client" + SERVER = "server" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the configuration will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Source Kind to pull the configuration data from. + """ + + GIT_REPOSITORY = "GitRepository" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/__init__.py new file mode 100644 index 00000000000..ee01fecd439 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/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 ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'SourceControlConfigurationsOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..3521f8a7573 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_type_operations.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. +# -------------------------------------------------------------------------- +import functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypeOperations(object): + """ClusterExtensionTypeOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..7d7e58989f9 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_cluster_extension_types_operations.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. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypesOperations(object): + """ClusterExtensionTypesOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..b9e4fd842ee --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extension_type_versions_operations.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. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionTypeVersionsOperations(object): + """ExtensionTypeVersionsOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extensions_operations.py new file mode 100644 index 00000000000..0531c000385 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_extensions_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. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + 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: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.PatchExtension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..dea63e7dac3 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,161 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigOperationStatusOperations(object): + """FluxConfigOperationStatusOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..c3d3cf613ba --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_flux_configurations_operations.py @@ -0,0 +1,839 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigurationsOperations(object): + """FluxConfigurationsOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationPatch + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..6e8be79c061 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_location_extension_types_operations.py @@ -0,0 +1,151 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class LocationExtensionTypesOperations(object): + """LocationExtensionTypesOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :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 ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py new file mode 100644 index 00000000000..99b73b72038 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operation_status_operations.py @@ -0,0 +1,289 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operations.py new file mode 100644 index 00000000000..c047a8d76ca --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..4fe01af8220 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2021_11_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,578 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-11-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2021_11_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.Enum0"], + cluster_resource_name: Union[str, "_models.Enum1"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum0 + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.Enum1 + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2021_11_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_configuration.py new file mode 100644 index 00000000000..79ca1e2de57 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-01-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.py new file mode 100644 index 00000000000..7a271a30691 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_source_control_configuration_client.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 copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.LocationExtensionTypesOperations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/_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.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..c39cb2de0a3 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/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, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-01-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..d2a714a6378 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/_source_control_configuration_client.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 copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ClusterExtensionTypeOperations, ClusterExtensionTypesOperations, ExtensionTypeVersionsOperations, ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, LocationExtensionTypesOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar cluster_extension_type: ClusterExtensionTypeOperations operations + :vartype cluster_extension_type: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypeOperations + :ivar cluster_extension_types: ClusterExtensionTypesOperations operations + :vartype cluster_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ClusterExtensionTypesOperations + :ivar extension_type_versions: ExtensionTypeVersionsOperations operations + :vartype extension_type_versions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionTypeVersionsOperations + :ivar location_extension_types: LocationExtensionTypesOperations operations + :vartype location_extension_types: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.LocationExtensionTypesOperations + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: + azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.aio.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.cluster_extension_type = ClusterExtensionTypeOperations(self._client, self._config, self._serialize, self._deserialize) + self.cluster_extension_types = ClusterExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extension_type_versions = ExtensionTypeVersionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.location_extension_types = LocationExtensionTypesOperations(self._client, self._config, self._serialize, self._deserialize) + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..37008240af3 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/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 ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..ef07f9a9e3c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_type_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_type_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypeOperations: + """ClusterExtensionTypeOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..4cb9726a017 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_cluster_extension_types_operations.py @@ -0,0 +1,136 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._cluster_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ClusterExtensionTypesOperations: + """ClusterExtensionTypesOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..8c3770819b1 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extension_type_versions_operations.py @@ -0,0 +1,123 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extension_type_versions_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionTypeVersionsOperations: + """ExtensionTypeVersionsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..12f782fcec9 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_extensions_operations.py @@ -0,0 +1,615 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + 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, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..e1cd85a2f49 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigOperationStatusOperations: + """FluxConfigOperationStatusOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..92088a6cd74 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_flux_configurations_operations.py @@ -0,0 +1,617 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigurationsOperations: + """FluxConfigurationsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..9b9f60426e2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_location_extension_types_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._location_extension_types_operations import build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocationExtensionTypesOperations: + """LocationExtensionTypesOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :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 ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..24011064962 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operation_status_operations.py @@ -0,0 +1,208 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_operations.py new file mode 100644 index 00000000000..8fce071678e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..4c903fd96e6 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,409 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/__init__.py new file mode 100644 index 00000000000..32ad88439d1 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/__init__.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import BucketDefinition +from ._models_py3 import BucketPatchDefinition +from ._models_py3 import ClusterScopeSettings +from ._models_py3 import ComplianceStatus +from ._models_py3 import DependsOnDefinition +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionType +from ._models_py3 import ExtensionTypeList +from ._models_py3 import ExtensionVersionList +from ._models_py3 import ExtensionVersionListVersionsItem +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import GitRepositoryPatchDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import KustomizationPatchDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SupportedScopes +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + ClusterTypes, + ComplianceStateType, + CreatedByType, + ExtensionsClusterResourceName, + ExtensionsClusterRp, + FluxComplianceState, + KustomizationValidationType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, + ScopeType, + SourceKindType, +) + +__all__ = [ + 'BucketDefinition', + 'BucketPatchDefinition', + 'ClusterScopeSettings', + 'ComplianceStatus', + 'DependsOnDefinition', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionType', + 'ExtensionTypeList', + 'ExtensionVersionList', + 'ExtensionVersionListVersionsItem', + 'ExtensionsList', + 'FluxConfiguration', + 'FluxConfigurationPatch', + 'FluxConfigurationsList', + 'GitRepositoryDefinition', + 'GitRepositoryPatchDefinition', + 'HelmOperatorProperties', + 'HelmReleasePropertiesDefinition', + 'Identity', + 'KustomizationDefinition', + 'KustomizationPatchDefinition', + 'ObjectReferenceDefinition', + 'ObjectStatusConditionDefinition', + 'ObjectStatusDefinition', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'RepositoryRefDefinition', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SupportedScopes', + 'SystemData', + 'ClusterTypes', + 'ComplianceStateType', + 'CreatedByType', + 'ExtensionsClusterResourceName', + 'ExtensionsClusterRp', + 'FluxComplianceState', + 'KustomizationValidationType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', + 'ScopeType', + 'SourceKindType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..97d3533d40d --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_models_py3.py @@ -0,0 +1,2532 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._source_control_configuration_client_enums import * + + +class BucketDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = True, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class BucketPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketPatchDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +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 a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 ClusterScopeSettings(ProxyResource): + """Extension scope settings. + + 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 allow_multiple_instances: Describes if multiple instances of the extension are allowed. + :vartype allow_multiple_instances: bool + :ivar default_release_namespace: Default extension release namespace. + :vartype default_release_namespace: 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'}, + 'allow_multiple_instances': {'key': 'properties.allowMultipleInstances', 'type': 'bool'}, + 'default_release_namespace': {'key': 'properties.defaultReleaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + allow_multiple_instances: Optional[bool] = None, + default_release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword allow_multiple_instances: Describes if multiple instances of the extension are + allowed. + :paramtype allow_multiple_instances: bool + :keyword default_release_namespace: Default extension release namespace. + :paramtype default_release_namespace: str + """ + super(ClusterScopeSettings, self).__init__(**kwargs) + self.allow_multiple_instances = allow_multiple_instances + self.default_release_namespace = default_release_namespace + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +class DependsOnDefinition(msrest.serialization.Model): + """Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization. + + :ivar kustomization_name: Name of the kustomization to claim dependency on. + :vartype kustomization_name: str + """ + + _attribute_map = { + 'kustomization_name': {'key': 'kustomizationName', 'type': 'str'}, + } + + def __init__( + self, + *, + kustomization_name: Optional[str] = None, + **kwargs + ): + """ + :keyword kustomization_name: Name of the kustomization to claim dependency on. + :paramtype kustomization_name: str + """ + super(DependsOnDefinition, self).__init__(**kwargs) + self.kustomization_name = kustomization_name + + +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: any + """ + + _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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class Extension(ProxyResource): + """The Extension object. + + 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 identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionPropertiesAksAssignedIdentity + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = aks_assigned_identity + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class ExtensionType(msrest.serialization.Model): + """Represents an Extension Type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar release_trains: Extension release train: preview or stable. + :vartype release_trains: list[str] + :ivar cluster_types: Cluster types. Possible values include: "connectedClusters", + "managedClusters". + :vartype cluster_types: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterTypes + :ivar supported_scopes: Extension scopes. + :vartype supported_scopes: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SupportedScopes + """ + + _validation = { + 'system_data': {'readonly': True}, + 'release_trains': {'readonly': True}, + 'cluster_types': {'readonly': True}, + 'supported_scopes': {'readonly': True}, + } + + _attribute_map = { + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'release_trains': {'key': 'properties.releaseTrains', 'type': '[str]'}, + 'cluster_types': {'key': 'properties.clusterTypes', 'type': 'str'}, + 'supported_scopes': {'key': 'properties.supportedScopes', 'type': 'SupportedScopes'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionType, self).__init__(**kwargs) + self.system_data = None + self.release_trains = None + self.cluster_types = None + self.supported_scopes = None + + +class ExtensionTypeList(msrest.serialization.Model): + """List Extension Types. + + :ivar value: The list of Extension Types. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExtensionType]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ExtensionType"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword value: The list of Extension Types. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionTypeList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ExtensionVersionList(msrest.serialization.Model): + """List versions for an Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar versions: Versions available for this Extension Type. + :vartype versions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] + :ivar next_link: The link to fetch the next page of Extension Types. + :vartype next_link: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + """ + + _validation = { + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'versions': {'key': 'versions', 'type': '[ExtensionVersionListVersionsItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__( + self, + *, + versions: Optional[List["ExtensionVersionListVersionsItem"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword versions: Versions available for this Extension Type. + :paramtype versions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionListVersionsItem] + :keyword next_link: The link to fetch the next page of Extension Types. + :paramtype next_link: str + """ + super(ExtensionVersionList, self).__init__(**kwargs) + self.versions = versions + self.next_link = next_link + self.system_data = None + + +class ExtensionVersionListVersionsItem(msrest.serialization.Model): + """ExtensionVersionListVersionsItem. + + :ivar release_train: The release train for this Extension Type. + :vartype release_train: str + :ivar versions: Versions available for this Extension Type and release train. + :vartype versions: list[str] + """ + + _attribute_map = { + 'release_train': {'key': 'releaseTrain', 'type': 'str'}, + 'versions': {'key': 'versions', 'type': '[str]'}, + } + + def __init__( + self, + *, + release_train: Optional[str] = None, + versions: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword release_train: The release train for this Extension Type. + :paramtype release_train: str + :keyword versions: Versions available for this Extension Type and release train. + :paramtype versions: list[str] + """ + super(ExtensionVersionListVersionsItem, self).__init__(**kwargs) + self.release_train = release_train + self.versions = versions + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar last_source_updated_commit_id: Branch and SHA of the last source commit synced with the + cluster. + :vartype last_source_updated_commit_id: str + :ivar last_source_updated_at: Datetime the fluxConfiguration last synced its source on the + cluster. + :vartype last_source_updated_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'last_source_updated_commit_id': {'readonly': True}, + 'last_source_updated_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'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'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'last_source_updated_commit_id': {'key': 'properties.lastSourceUpdatedCommitId', 'type': 'str'}, + 'last_source_updated_at': {'key': 'properties.lastSourceUpdatedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[Union[str, "ScopeType"]] = "cluster", + namespace: Optional[str] = "default", + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = scope + self.namespace = namespace + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + self.statuses = None + self.repository_public_key = None + self.last_source_updated_commit_id = None + self.last_source_updated_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryPatchDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationPatchDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = None, + git_repository: Optional["GitRepositoryPatchDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationPatchDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.GitRepositoryPatchDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.KustomizationPatchDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class GitRepositoryPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryPatchDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """HelmReleasePropertiesDefinition. + + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :vartype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + *, + last_revision_applied: Optional[int] = None, + helm_chart_ref: Optional["ObjectReferenceDefinition"] = None, + failure_count: Optional[int] = None, + install_failure_count: Optional[int] = None, + upgrade_failure_count: Optional[int] = None, + **kwargs + ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = last_revision_applied + self.helm_chart_ref = helm_chart_ref + self.failure_count = failure_count + self.install_failure_count = install_failure_count + self.upgrade_failure_count = upgrade_failure_count + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = "", + depends_on: Optional[List["DependsOnDefinition"]] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = False, + force: Optional[bool] = False, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class KustomizationPatchDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[DependsOnDefinition]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = None, + depends_on: Optional[List["DependsOnDefinition"]] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = None, + force: Optional[bool] = None, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.DependsOnDefinition] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationPatchDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + last_transition_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + reason: Optional[str] = None, + status: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = last_transition_time + self.message = message + self.reason = reason + self.status = status + self.type = type + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] + :ivar helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :vartype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + kind: Optional[str] = None, + compliance_state: Optional[Union[str, "FluxComplianceState"]] = "Unknown", + applied_by: Optional["ObjectReferenceDefinition"] = None, + status_conditions: Optional[List["ObjectStatusConditionDefinition"]] = None, + helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, + **kwargs + ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmReleasePropertiesDefinition + """ + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.kind = kind + self.compliance_state = compliance_state + self.applied_by = applied_by + self.status_conditions = status_conditions + self.helm_release_properties = helm_release_properties + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + 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 ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :vartype commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + *, + branch: Optional[str] = None, + tag: Optional[str] = None, + semver: Optional[str] = None, + commit: Optional[str] = None, + **kwargs + ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = branch + self.tag = tag + self.semver = semver + self.commit = commit + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype 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 + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SupportedScopes(msrest.serialization.Model): + """Extension scopes. + + :ivar default_scope: Default extension scopes: cluster or namespace. + :vartype default_scope: str + :ivar cluster_scope_settings: Scope settings. + :vartype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings + """ + + _attribute_map = { + 'default_scope': {'key': 'defaultScope', 'type': 'str'}, + 'cluster_scope_settings': {'key': 'clusterScopeSettings', 'type': 'ClusterScopeSettings'}, + } + + def __init__( + self, + *, + default_scope: Optional[str] = None, + cluster_scope_settings: Optional["ClusterScopeSettings"] = None, + **kwargs + ): + """ + :keyword default_scope: Default extension scopes: cluster or namespace. + :paramtype default_scope: str + :keyword cluster_scope_settings: Scope settings. + :paramtype cluster_scope_settings: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ClusterScopeSettings + """ + super(SupportedScopes, self).__init__(**kwargs) + self.default_scope = default_scope + self.cluster_scope_settings = cluster_scope_settings + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype 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 + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + 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/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..9c16b817850 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/models/_source_control_configuration_client_enums.py @@ -0,0 +1,131 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class ClusterTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Cluster types + """ + + CONNECTED_CLUSTERS = "connectedClusters" + MANAGED_CLUSTERS = "managedClusters" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +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 ExtensionsClusterResourceName(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MANAGED_CLUSTERS = "managedClusters" + CONNECTED_CLUSTERS = "connectedClusters" + +class ExtensionsClusterRp(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + + MICROSOFT_CONTAINER_SERVICE = "Microsoft.ContainerService" + MICROSOFT_KUBERNETES = "Microsoft.Kubernetes" + +class FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Compliance state of the cluster object. + """ + + COMPLIANT = "Compliant" + NON_COMPLIANT = "Non-Compliant" + PENDING = "Pending" + SUSPENDED = "Suspended" + UNKNOWN = "Unknown" + +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specify whether to validate the Kubernetes objects referenced in the Kustomization before + applying them to the cluster. + """ + + NONE = "none" + CLIENT = "client" + SERVER = "server" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the configuration will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Source Kind to pull the configuration data from. + """ + + GIT_REPOSITORY = "GitRepository" + BUCKET = "Bucket" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/__init__.py new file mode 100644 index 00000000000..37008240af3 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/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 ._cluster_extension_type_operations import ClusterExtensionTypeOperations +from ._cluster_extension_types_operations import ClusterExtensionTypesOperations +from ._extension_type_versions_operations import ExtensionTypeVersionsOperations +from ._location_extension_types_operations import LocationExtensionTypesOperations +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ClusterExtensionTypeOperations', + 'ClusterExtensionTypesOperations', + 'ExtensionTypeVersionsOperations', + 'LocationExtensionTypesOperations', + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py new file mode 100644 index 00000000000..93725f6313e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_type_operations.py @@ -0,0 +1,156 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypeOperations(object): + """ClusterExtensionTypeOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_type_name: str, + **kwargs: Any + ) -> "_models.ExtensionType": + """Get Extension Type details. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExtensionType, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionType + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionType"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_type_name=extension_type_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExtensionType', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py new file mode 100644 index 00000000000..3169d214744 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_cluster_extension_types_operations.py @@ -0,0 +1,176 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ClusterExtensionTypesOperations(object): + """ClusterExtensionTypesOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """Get Extension Types. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.py new file mode 100644 index 00000000000..e377f228260 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extension_type_versions_operations.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. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + extension_type_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + "extensionTypeName": _SERIALIZER.url("extension_type_name", extension_type_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionTypeVersionsOperations(object): + """ExtensionTypeVersionsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + extension_type_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionVersionList"]: + """List available versions for an Extension Type. + + :param location: extension location. + :type location: str + :param extension_type_name: Extension type name. + :type extension_type_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionVersionList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionVersionList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionVersionList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + extension_type_name=extension_type_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionVersionList", pipeline_response) + list_of_elem = deserialized.versions + 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py new file mode 100644 index 00000000000..05b12aea127 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_extensions_operations.py @@ -0,0 +1,840 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + 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: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.PatchExtension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..c2770443964 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,162 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigOperationStatusOperations(object): + """FluxConfigOperationStatusOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..581995baf23 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_flux_configurations_operations.py @@ -0,0 +1,844 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigurationsOperations(object): + """FluxConfigurationsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationPatch + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py new file mode 100644 index 00000000000..42c18809e53 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_location_extension_types_operations.py @@ -0,0 +1,151 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class LocationExtensionTypesOperations(object): + """LocationExtensionTypesOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + location: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionTypeList"]: + """List all Extension Types. + + :param location: extension location. + :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 ExtensionTypeList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionTypeList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionTypeList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionTypeList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.KubernetesConfiguration/locations/{location}/extensionTypes'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py new file mode 100644 index 00000000000..f4a859d24eb --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operation_status_operations.py @@ -0,0 +1,291 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operations.py new file mode 100644 index 00000000000..ba30bb53615 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..fe3ef877c91 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_01_01_preview/operations/_source_control_configurations_operations.py @@ -0,0 +1,582 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-01-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: Union[str, "_models.ExtensionsClusterRp"], + cluster_resource_name: Union[str, "_models.ExtensionsClusterResourceName"], + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS + clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters). + :type cluster_rp: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterRp + :param cluster_resource_name: The Kubernetes cluster resource name - either managedClusters + (for AKS clusters) or connectedClusters (for OnPrem K8S clusters). + :type cluster_resource_name: str or + ~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.ExtensionsClusterResourceName + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_01_01_preview.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/__init__.py new file mode 100644 index 00000000000..e9096303633 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/__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 ._source_control_configuration_client import SourceControlConfigurationClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_configuration.py new file mode 100644 index 00000000000..370fdc18d17 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_source_control_configuration_client.py new file mode 100644 index 00000000000..afe78f7c5ab --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_source_control_configuration_client.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 copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_03_01.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> SourceControlConfigurationClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_vendor.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_version.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/_version.py new file mode 100644 index 00000000000..59deb8c7263 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_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 = "1.1.0" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/__init__.py new file mode 100644 index 00000000000..5f583276b4e --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._source_control_configuration_client import SourceControlConfigurationClient +__all__ = ['SourceControlConfigurationClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_configuration.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_configuration.py new file mode 100644 index 00000000000..5bb69c4da53 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_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, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class SourceControlConfigurationClientConfiguration(Configuration): + """Configuration for SourceControlConfigurationClient. + + 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: + super(SourceControlConfigurationClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-03-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-kubernetesconfiguration/{}'.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 = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_patch.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.py new file mode 100644 index 00000000000..9a5a755578b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/_source_control_configuration_client.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 copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import SourceControlConfigurationClientConfiguration +from .operations import ExtensionsOperations, FluxConfigOperationStatusOperations, FluxConfigurationsOperations, OperationStatusOperations, Operations, SourceControlConfigurationsOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class SourceControlConfigurationClient: + """KubernetesConfiguration Client. + + :ivar extensions: ExtensionsOperations operations + :vartype extensions: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.ExtensionsOperations + :ivar operation_status: OperationStatusOperations operations + :vartype operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.OperationStatusOperations + :ivar flux_configurations: FluxConfigurationsOperations operations + :vartype flux_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.FluxConfigurationsOperations + :ivar flux_config_operation_status: FluxConfigOperationStatusOperations operations + :vartype flux_config_operation_status: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.FluxConfigOperationStatusOperations + :ivar source_control_configurations: SourceControlConfigurationsOperations operations + :vartype source_control_configurations: + azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.SourceControlConfigurationsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.kubernetesconfiguration.v2022_03_01.aio.operations.Operations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = SourceControlConfigurationClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operation_status = OperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_configurations = FluxConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.flux_config_operation_status = FluxConfigOperationStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.source_control_configurations = SourceControlConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "SourceControlConfigurationClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/__init__.py new file mode 100644 index 00000000000..e18b201b5dc --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py new file mode 100644 index 00000000000..bba4b3105d5 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_extensions_operations.py @@ -0,0 +1,604 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._extensions_operations import build_create_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExtensionsOperations: + """ExtensionsOperations 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.kubernetesconfiguration.v2022_03_01.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, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_create( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> AsyncLROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.PatchExtension + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 Extension or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..53766735ba9 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_config_operation_status_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_config_operation_status_operations import build_get_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigOperationStatusOperations: + """FluxConfigOperationStatusOperations 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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..80b175ce087 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_flux_configurations_operations.py @@ -0,0 +1,607 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._flux_configurations_operations import build_create_or_update_request_initial, build_delete_request_initial, build_get_request, build_list_request, build_update_request_initial +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FluxConfigurationsOperations: + """FluxConfigurationsOperations 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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + async def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> AsyncLROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationPatch + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py new file mode 100644 index 00000000000..c190ec1e38b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operation_status_operations.py @@ -0,0 +1,204 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operation_status_operations import build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationStatusOperations: + """OperationStatusOperations 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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_operations.py new file mode 100644 index 00000000000..3131058170a --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..71375d427f2 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/aio/operations/_source_control_configurations_operations.py @@ -0,0 +1,399 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._source_control_configurations_operations import build_create_or_update_request, build_delete_request_initial, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SourceControlConfigurationsOperations: + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + async def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace_async + async def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/__init__.py new file mode 100644 index 00000000000..2bd4f2cd929 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/__init__.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import BucketDefinition +from ._models_py3 import BucketPatchDefinition +from ._models_py3 import ComplianceStatus +from ._models_py3 import ErrorAdditionalInfo +from ._models_py3 import ErrorDetail +from ._models_py3 import ErrorResponse +from ._models_py3 import Extension +from ._models_py3 import ExtensionPropertiesAksAssignedIdentity +from ._models_py3 import ExtensionStatus +from ._models_py3 import ExtensionsList +from ._models_py3 import FluxConfiguration +from ._models_py3 import FluxConfigurationPatch +from ._models_py3 import FluxConfigurationsList +from ._models_py3 import GitRepositoryDefinition +from ._models_py3 import GitRepositoryPatchDefinition +from ._models_py3 import HelmOperatorProperties +from ._models_py3 import HelmReleasePropertiesDefinition +from ._models_py3 import Identity +from ._models_py3 import KustomizationDefinition +from ._models_py3 import KustomizationPatchDefinition +from ._models_py3 import ObjectReferenceDefinition +from ._models_py3 import ObjectStatusConditionDefinition +from ._models_py3 import ObjectStatusDefinition +from ._models_py3 import OperationStatusList +from ._models_py3 import OperationStatusResult +from ._models_py3 import PatchExtension +from ._models_py3 import ProxyResource +from ._models_py3 import RepositoryRefDefinition +from ._models_py3 import Resource +from ._models_py3 import ResourceProviderOperation +from ._models_py3 import ResourceProviderOperationDisplay +from ._models_py3 import ResourceProviderOperationList +from ._models_py3 import Scope +from ._models_py3 import ScopeCluster +from ._models_py3 import ScopeNamespace +from ._models_py3 import SourceControlConfiguration +from ._models_py3 import SourceControlConfigurationList +from ._models_py3 import SystemData + + +from ._source_control_configuration_client_enums import ( + AKSIdentityType, + ComplianceStateType, + CreatedByType, + FluxComplianceState, + KustomizationValidationType, + LevelType, + MessageLevelType, + OperatorScopeType, + OperatorType, + ProvisioningState, + ProvisioningStateType, + ScopeType, + SourceKindType, +) + +__all__ = [ + 'BucketDefinition', + 'BucketPatchDefinition', + 'ComplianceStatus', + 'ErrorAdditionalInfo', + 'ErrorDetail', + 'ErrorResponse', + 'Extension', + 'ExtensionPropertiesAksAssignedIdentity', + 'ExtensionStatus', + 'ExtensionsList', + 'FluxConfiguration', + 'FluxConfigurationPatch', + 'FluxConfigurationsList', + 'GitRepositoryDefinition', + 'GitRepositoryPatchDefinition', + 'HelmOperatorProperties', + 'HelmReleasePropertiesDefinition', + 'Identity', + 'KustomizationDefinition', + 'KustomizationPatchDefinition', + 'ObjectReferenceDefinition', + 'ObjectStatusConditionDefinition', + 'ObjectStatusDefinition', + 'OperationStatusList', + 'OperationStatusResult', + 'PatchExtension', + 'ProxyResource', + 'RepositoryRefDefinition', + 'Resource', + 'ResourceProviderOperation', + 'ResourceProviderOperationDisplay', + 'ResourceProviderOperationList', + 'Scope', + 'ScopeCluster', + 'ScopeNamespace', + 'SourceControlConfiguration', + 'SourceControlConfigurationList', + 'SystemData', + 'AKSIdentityType', + 'ComplianceStateType', + 'CreatedByType', + 'FluxComplianceState', + 'KustomizationValidationType', + 'LevelType', + 'MessageLevelType', + 'OperatorScopeType', + 'OperatorType', + 'ProvisioningState', + 'ProvisioningStateType', + 'ScopeType', + 'SourceKindType', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_models_py3.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_models_py3.py new file mode 100644 index 00000000000..0519413294b --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_models_py3.py @@ -0,0 +1,2263 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._source_control_configuration_client_enums import * + + +class BucketDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = True, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class BucketPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration S3 bucket. + :vartype url: str + :ivar bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :vartype bucket_name: str + :ivar insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :vartype insecure: bool + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar access_key: Plaintext access key used to securely access the S3 bucket. + :vartype access_key: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'bucket_name': {'key': 'bucketName', 'type': 'str'}, + 'insecure': {'key': 'insecure', 'type': 'bool'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'access_key': {'key': 'accessKey', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + bucket_name: Optional[str] = None, + insecure: Optional[bool] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + access_key: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration S3 bucket. + :paramtype url: str + :keyword bucket_name: The bucket name to sync from the url endpoint for the flux configuration. + :paramtype bucket_name: str + :keyword insecure: Specify whether to use insecure communication when puling data from the S3 + bucket. + :paramtype insecure: bool + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword access_key: Plaintext access key used to securely access the S3 bucket. + :paramtype access_key: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(BucketPatchDefinition, self).__init__(**kwargs) + self.url = url + self.bucket_name = bucket_name + self.insecure = insecure + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.access_key = access_key + self.local_auth_ref = local_auth_ref + + +class ComplianceStatus(msrest.serialization.Model): + """Compliance Status details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar compliance_state: The compliance state of the configuration. Possible values include: + "Pending", "Compliant", "Noncompliant", "Installed", "Failed". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ComplianceStateType + :ivar last_config_applied: Datetime the configuration was last applied. + :vartype last_config_applied: ~datetime.datetime + :ivar message: Message from when the configuration was applied. + :vartype message: str + :ivar message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :vartype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.MessageLevelType + """ + + _validation = { + 'compliance_state': {'readonly': True}, + } + + _attribute_map = { + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'last_config_applied': {'key': 'lastConfigApplied', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'message_level': {'key': 'messageLevel', 'type': 'str'}, + } + + def __init__( + self, + *, + last_config_applied: Optional[datetime.datetime] = None, + message: Optional[str] = None, + message_level: Optional[Union[str, "MessageLevelType"]] = None, + **kwargs + ): + """ + :keyword last_config_applied: Datetime the configuration was last applied. + :paramtype last_config_applied: ~datetime.datetime + :keyword message: Message from when the configuration was applied. + :paramtype message: str + :keyword message_level: Level of the message. Possible values include: "Error", "Warning", + "Information". + :paramtype message_level: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.MessageLevelType + """ + super(ComplianceStatus, self).__init__(**kwargs) + self.compliance_state = None + self.last_config_applied = last_config_applied + self.message = message + self.message_level = message_level + + +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: any + """ + + _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 ErrorDetail(msrest.serialization.Model): + """The error detail. + + 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[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail] + :ivar additional_info: The error additional info. + :vartype additional_info: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.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': '[ErrorDetail]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ErrorDetail, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +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.). + + :ivar error: The error object. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDetail"] = None, + **kwargs + ): + """ + :keyword error: The error object. + :paramtype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +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 a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 Extension(ProxyResource): + """The Extension object. + + 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 identity: Identity of the Extension resource. + :vartype identity: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Identity + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar extension_type: Type of the Extension, of which this resource is an instance of. It must + be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :vartype extension_type: str + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar scope: Scope at which the extension is installed. + :vartype scope: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Scope + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + :ivar provisioning_state: Status of installation of this extension. Possible values include: + "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningState + :ivar statuses: Status from this extension. + :vartype statuses: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionStatus] + :ivar error_info: Error information from the Agent - e.g. errors during installation. + :vartype error_info: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + :ivar custom_location_settings: Custom Location settings properties. + :vartype custom_location_settings: dict[str, str] + :ivar package_uri: Uri of the Helm package. + :vartype package_uri: str + :ivar aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :vartype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionPropertiesAksAssignedIdentity + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_info': {'readonly': True}, + 'custom_location_settings': {'readonly': True}, + 'package_uri': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'extension_type': {'key': 'properties.extensionType', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'scope': {'key': 'properties.scope', 'type': 'Scope'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ExtensionStatus]'}, + 'error_info': {'key': 'properties.errorInfo', 'type': 'ErrorDetail'}, + 'custom_location_settings': {'key': 'properties.customLocationSettings', 'type': '{str}'}, + 'package_uri': {'key': 'properties.packageUri', 'type': 'str'}, + 'aks_assigned_identity': {'key': 'properties.aksAssignedIdentity', 'type': 'ExtensionPropertiesAksAssignedIdentity'}, + } + + def __init__( + self, + *, + identity: Optional["Identity"] = None, + extension_type: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + scope: Optional["Scope"] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + statuses: Optional[List["ExtensionStatus"]] = None, + aks_assigned_identity: Optional["ExtensionPropertiesAksAssignedIdentity"] = None, + **kwargs + ): + """ + :keyword identity: Identity of the Extension resource. + :paramtype identity: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Identity + :keyword extension_type: Type of the Extension, of which this resource is an instance of. It + must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the + Extension publisher. + :paramtype extension_type: str + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword scope: Scope at which the extension is installed. + :paramtype scope: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Scope + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + :keyword statuses: Status from this extension. + :paramtype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionStatus] + :keyword aks_assigned_identity: Identity of the Extension resource in an AKS cluster. + :paramtype aks_assigned_identity: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionPropertiesAksAssignedIdentity + """ + super(Extension, self).__init__(**kwargs) + self.identity = identity + self.system_data = None + self.extension_type = extension_type + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.scope = scope + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + self.provisioning_state = None + self.statuses = statuses + self.error_info = None + self.custom_location_settings = None + self.package_uri = None + self.aks_assigned_identity = aks_assigned_identity + + +class ExtensionPropertiesAksAssignedIdentity(msrest.serialization.Model): + """Identity of the Extension resource in an AKS cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :vartype type: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.AKSIdentityType + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "AKSIdentityType"]] = None, + **kwargs + ): + """ + :keyword type: The identity type. Possible values include: "SystemAssigned", "UserAssigned". + :paramtype type: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.AKSIdentityType + """ + super(ExtensionPropertiesAksAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class ExtensionsList(msrest.serialization.Model): + """Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Extensions within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :ivar next_link: URL to get the next set of extension objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Extension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ExtensionsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ExtensionStatus(msrest.serialization.Model): + """Status from the extension. + + :ivar code: Status code provided by the Extension. + :vartype code: str + :ivar display_status: Short description of status of the extension. + :vartype display_status: str + :ivar level: Level of the status. Possible values include: "Error", "Warning", "Information". + Default value: "Information". + :vartype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.LevelType + :ivar message: Detailed message of the status from the Extension. + :vartype message: str + :ivar time: DateLiteral (per ISO8601) noting the time of installation status. + :vartype time: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + display_status: Optional[str] = None, + level: Optional[Union[str, "LevelType"]] = "Information", + message: Optional[str] = None, + time: Optional[str] = None, + **kwargs + ): + """ + :keyword code: Status code provided by the Extension. + :paramtype code: str + :keyword display_status: Short description of status of the extension. + :paramtype display_status: str + :keyword level: Level of the status. Possible values include: "Error", "Warning", + "Information". Default value: "Information". + :paramtype level: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.LevelType + :keyword message: Detailed message of the status from the Extension. + :paramtype message: str + :keyword time: DateLiteral (per ISO8601) noting the time of installation status. + :paramtype time: str + """ + super(ExtensionStatus, self).__init__(**kwargs) + self.code = code + self.display_status = display_status + self.level = level + self.message = message + self.time = time + + +class FluxConfiguration(ProxyResource): + """The Flux Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar scope: Scope at which the operator will be installed. Possible values include: "cluster", + "namespace". Default value: "cluster". + :vartype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeType + :ivar namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype namespace: str + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or + created by the managed objects provisioned by the fluxConfiguration. + :vartype statuses: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusDefinition] + :ivar repository_public_key: Public Key associated with this fluxConfiguration (either + generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar source_synced_commit_id: Branch and/or SHA of the source commit synced with the cluster. + :vartype source_synced_commit_id: str + :ivar source_updated_at: Datetime the fluxConfiguration synced its source on the cluster. + :vartype source_updated_at: ~datetime.datetime + :ivar status_updated_at: Datetime the fluxConfiguration synced its status on the cluster with + Azure. + :vartype status_updated_at: ~datetime.datetime + :ivar compliance_state: Combined status of the Flux Kubernetes resources created by the + fluxConfiguration or created by the managed objects. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :ivar provisioning_state: Status of the creation of the fluxConfiguration. Possible values + include: "Succeeded", "Failed", "Canceled", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningState + :ivar error_message: Error message returned to the user in the case of provisioning failure. + :vartype error_message: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'statuses': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'source_synced_commit_id': {'readonly': True}, + 'source_updated_at': {'readonly': True}, + 'status_updated_at': {'readonly': True}, + 'compliance_state': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'error_message': {'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'}, + 'scope': {'key': 'properties.scope', 'type': 'str'}, + 'namespace': {'key': 'properties.namespace', 'type': 'str'}, + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'statuses': {'key': 'properties.statuses', 'type': '[ObjectStatusDefinition]'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'source_synced_commit_id': {'key': 'properties.sourceSyncedCommitId', 'type': 'str'}, + 'source_updated_at': {'key': 'properties.sourceUpdatedAt', 'type': 'iso-8601'}, + 'status_updated_at': {'key': 'properties.statusUpdatedAt', 'type': 'iso-8601'}, + 'compliance_state': {'key': 'properties.complianceState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'error_message': {'key': 'properties.errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[Union[str, "ScopeType"]] = "cluster", + namespace: Optional[str] = "default", + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = False, + git_repository: Optional["GitRepositoryDefinition"] = None, + bucket: Optional["BucketDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :paramtype scope: str or ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeType + :keyword namespace: The namespace to which this configuration is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :paramtype namespace: str + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfiguration, self).__init__(**kwargs) + self.system_data = None + self.scope = scope + self.namespace = namespace + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + self.statuses = None + self.repository_public_key = None + self.source_synced_commit_id = None + self.source_updated_at = None + self.status_updated_at = None + self.compliance_state = None + self.provisioning_state = None + self.error_message = None + + +class FluxConfigurationPatch(msrest.serialization.Model): + """The Flux Configuration Patch Request object. + + :ivar source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :vartype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :ivar suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :vartype suspend: bool + :ivar git_repository: Parameters to reconcile to the GitRepository source kind type. + :vartype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryPatchDefinition + :ivar bucket: Parameters to reconcile to the Bucket source kind type. + :vartype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketPatchDefinition + :ivar kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :vartype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationPatchDefinition] + :ivar configuration_protected_settings: Key-value pairs of protected configuration settings for + the configuration. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'source_kind': {'key': 'properties.sourceKind', 'type': 'str'}, + 'suspend': {'key': 'properties.suspend', 'type': 'bool'}, + 'git_repository': {'key': 'properties.gitRepository', 'type': 'GitRepositoryPatchDefinition'}, + 'bucket': {'key': 'properties.bucket', 'type': 'BucketPatchDefinition'}, + 'kustomizations': {'key': 'properties.kustomizations', 'type': '{KustomizationPatchDefinition}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + source_kind: Optional[Union[str, "SourceKindType"]] = None, + suspend: Optional[bool] = None, + git_repository: Optional["GitRepositoryPatchDefinition"] = None, + bucket: Optional["BucketPatchDefinition"] = None, + kustomizations: Optional[Dict[str, "KustomizationPatchDefinition"]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword source_kind: Source Kind to pull the configuration data from. Possible values include: + "GitRepository", "Bucket". + :paramtype source_kind: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceKindType + :keyword suspend: Whether this configuration should suspend its reconciliation of its + kustomizations and sources. + :paramtype suspend: bool + :keyword git_repository: Parameters to reconcile to the GitRepository source kind type. + :paramtype git_repository: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.GitRepositoryPatchDefinition + :keyword bucket: Parameters to reconcile to the Bucket source kind type. + :paramtype bucket: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.BucketPatchDefinition + :keyword kustomizations: Array of kustomizations used to reconcile the artifact pulled by the + source type on the cluster. + :paramtype kustomizations: dict[str, + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.KustomizationPatchDefinition] + :keyword configuration_protected_settings: Key-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(FluxConfigurationPatch, self).__init__(**kwargs) + self.source_kind = source_kind + self.suspend = suspend + self.git_repository = git_repository + self.bucket = bucket + self.kustomizations = kustomizations + self.configuration_protected_settings = configuration_protected_settings + + +class FluxConfigurationsList(msrest.serialization.Model): + """Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Flux Configurations within a Kubernetes cluster. + :vartype value: list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FluxConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FluxConfigurationsList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GitRepositoryDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class GitRepositoryPatchDefinition(msrest.serialization.Model): + """Parameters to reconcile to the GitRepository source kind type. + + :ivar url: The URL to sync for the flux configuration git repository. + :vartype url: str + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the cluster git repository + source with the remote. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :vartype sync_interval_in_seconds: long + :ivar repository_ref: The source reference for the GitRepository object. + :vartype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :ivar ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required to + access private git repositories over SSH. + :vartype ssh_known_hosts: str + :ivar https_user: Plaintext HTTPS username used to access private git repositories over HTTPS. + :vartype https_user: str + :ivar https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :vartype https_ca_cert: str + :ivar local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :vartype local_auth_ref: str + """ + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'repository_ref': {'key': 'repositoryRef', 'type': 'RepositoryRefDefinition'}, + 'ssh_known_hosts': {'key': 'sshKnownHosts', 'type': 'str'}, + 'https_user': {'key': 'httpsUser', 'type': 'str'}, + 'https_ca_cert': {'key': 'httpsCACert', 'type': 'str'}, + 'local_auth_ref': {'key': 'localAuthRef', 'type': 'str'}, + } + + def __init__( + self, + *, + url: Optional[str] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + repository_ref: Optional["RepositoryRefDefinition"] = None, + ssh_known_hosts: Optional[str] = None, + https_user: Optional[str] = None, + https_ca_cert: Optional[str] = None, + local_auth_ref: Optional[str] = None, + **kwargs + ): + """ + :keyword url: The URL to sync for the flux configuration git repository. + :paramtype url: str + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the cluster git + repository source with the remote. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the cluster git + repository source with the remote. + :paramtype sync_interval_in_seconds: long + :keyword repository_ref: The source reference for the GitRepository object. + :paramtype repository_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.RepositoryRefDefinition + :keyword ssh_known_hosts: Base64-encoded known_hosts value containing public SSH keys required + to access private git repositories over SSH. + :paramtype ssh_known_hosts: str + :keyword https_user: Plaintext HTTPS username used to access private git repositories over + HTTPS. + :paramtype https_user: str + :keyword https_ca_cert: Base64-encoded HTTPS certificate authority contents used to access git + private git repositories over HTTPS. + :paramtype https_ca_cert: str + :keyword local_auth_ref: Name of a local secret on the Kubernetes cluster to use as the + authentication secret rather than the managed or user-provided configuration secrets. + :paramtype local_auth_ref: str + """ + super(GitRepositoryPatchDefinition, self).__init__(**kwargs) + self.url = url + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.repository_ref = repository_ref + self.ssh_known_hosts = ssh_known_hosts + self.https_user = https_user + self.https_ca_cert = https_ca_cert + self.local_auth_ref = local_auth_ref + + +class HelmOperatorProperties(msrest.serialization.Model): + """Properties for Helm operator. + + :ivar chart_version: Version of the operator Helm chart. + :vartype chart_version: str + :ivar chart_values: Values override for the operator Helm chart. + :vartype chart_values: str + """ + + _attribute_map = { + 'chart_version': {'key': 'chartVersion', 'type': 'str'}, + 'chart_values': {'key': 'chartValues', 'type': 'str'}, + } + + def __init__( + self, + *, + chart_version: Optional[str] = None, + chart_values: Optional[str] = None, + **kwargs + ): + """ + :keyword chart_version: Version of the operator Helm chart. + :paramtype chart_version: str + :keyword chart_values: Values override for the operator Helm chart. + :paramtype chart_values: str + """ + super(HelmOperatorProperties, self).__init__(**kwargs) + self.chart_version = chart_version + self.chart_values = chart_values + + +class HelmReleasePropertiesDefinition(msrest.serialization.Model): + """Properties for HelmRelease objects. + + :ivar last_revision_applied: The revision number of the last released object change. + :vartype last_revision_applied: long + :ivar helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :vartype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :ivar failure_count: Total number of times that the HelmRelease failed to install or upgrade. + :vartype failure_count: long + :ivar install_failure_count: Number of times that the HelmRelease failed to install. + :vartype install_failure_count: long + :ivar upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :vartype upgrade_failure_count: long + """ + + _attribute_map = { + 'last_revision_applied': {'key': 'lastRevisionApplied', 'type': 'long'}, + 'helm_chart_ref': {'key': 'helmChartRef', 'type': 'ObjectReferenceDefinition'}, + 'failure_count': {'key': 'failureCount', 'type': 'long'}, + 'install_failure_count': {'key': 'installFailureCount', 'type': 'long'}, + 'upgrade_failure_count': {'key': 'upgradeFailureCount', 'type': 'long'}, + } + + def __init__( + self, + *, + last_revision_applied: Optional[int] = None, + helm_chart_ref: Optional["ObjectReferenceDefinition"] = None, + failure_count: Optional[int] = None, + install_failure_count: Optional[int] = None, + upgrade_failure_count: Optional[int] = None, + **kwargs + ): + """ + :keyword last_revision_applied: The revision number of the last released object change. + :paramtype last_revision_applied: long + :keyword helm_chart_ref: The reference to the HelmChart object used as the source to this + HelmRelease. + :paramtype helm_chart_ref: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :keyword failure_count: Total number of times that the HelmRelease failed to install or + upgrade. + :paramtype failure_count: long + :keyword install_failure_count: Number of times that the HelmRelease failed to install. + :paramtype install_failure_count: long + :keyword upgrade_failure_count: Number of times that the HelmRelease failed to upgrade. + :paramtype upgrade_failure_count: long + """ + super(HelmReleasePropertiesDefinition, self).__init__(**kwargs) + self.last_revision_applied = last_revision_applied + self.helm_chart_ref = helm_chart_ref + self.failure_count = failure_count + self.install_failure_count = install_failure_count + self.upgrade_failure_count = upgrade_failure_count + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :vartype type: str + """ + + _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': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword type: The identity type. The only acceptable values to pass in are None and + "SystemAssigned". The default value is None. + :paramtype type: str + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class KustomizationDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Kustomization, matching the key in the Kustomizations object map. + :vartype name: str + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: list[str] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _validation = { + 'name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[str]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = "", + depends_on: Optional[List[str]] = None, + timeout_in_seconds: Optional[int] = 600, + sync_interval_in_seconds: Optional[int] = 600, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = False, + force: Optional[bool] = False, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: list[str] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationDefinition, self).__init__(**kwargs) + self.name = None + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class KustomizationPatchDefinition(msrest.serialization.Model): + """The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + + :ivar path: The path in the source reference to reconcile on the cluster. + :vartype path: str + :ivar depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :vartype depends_on: list[str] + :ivar timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :vartype timeout_in_seconds: long + :ivar sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster. + :vartype sync_interval_in_seconds: long + :ivar retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on the + cluster in the event of failure on reconciliation. + :vartype retry_interval_in_seconds: long + :ivar prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :vartype prune: bool + :ivar force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails + due to an immutable field change. + :vartype force: bool + """ + + _attribute_map = { + 'path': {'key': 'path', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[str]'}, + 'timeout_in_seconds': {'key': 'timeoutInSeconds', 'type': 'long'}, + 'sync_interval_in_seconds': {'key': 'syncIntervalInSeconds', 'type': 'long'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'long'}, + 'prune': {'key': 'prune', 'type': 'bool'}, + 'force': {'key': 'force', 'type': 'bool'}, + } + + def __init__( + self, + *, + path: Optional[str] = None, + depends_on: Optional[List[str]] = None, + timeout_in_seconds: Optional[int] = None, + sync_interval_in_seconds: Optional[int] = None, + retry_interval_in_seconds: Optional[int] = None, + prune: Optional[bool] = None, + force: Optional[bool] = None, + **kwargs + ): + """ + :keyword path: The path in the source reference to reconcile on the cluster. + :paramtype path: str + :keyword depends_on: Specifies other Kustomizations that this Kustomization depends on. This + Kustomization will not reconcile until all dependencies have completed their reconciliation. + :paramtype depends_on: list[str] + :keyword timeout_in_seconds: The maximum time to attempt to reconcile the Kustomization on the + cluster. + :paramtype timeout_in_seconds: long + :keyword sync_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster. + :paramtype sync_interval_in_seconds: long + :keyword retry_interval_in_seconds: The interval at which to re-reconcile the Kustomization on + the cluster in the event of failure on reconciliation. + :paramtype retry_interval_in_seconds: long + :keyword prune: Enable/disable garbage collections of Kubernetes objects created by this + Kustomization. + :paramtype prune: bool + :keyword force: Enable/disable re-creating Kubernetes resources on the cluster when patching + fails due to an immutable field change. + :paramtype force: bool + """ + super(KustomizationPatchDefinition, self).__init__(**kwargs) + self.path = path + self.depends_on = depends_on + self.timeout_in_seconds = timeout_in_seconds + self.sync_interval_in_seconds = sync_interval_in_seconds + self.retry_interval_in_seconds = retry_interval_in_seconds + self.prune = prune + self.force = force + + +class ObjectReferenceDefinition(msrest.serialization.Model): + """Object reference to a Kubernetes object on a cluster. + + :ivar name: Name of the object. + :vartype name: str + :ivar namespace: Namespace of the object. + :vartype namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of the object. + :paramtype name: str + :keyword namespace: Namespace of the object. + :paramtype namespace: str + """ + super(ObjectReferenceDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + + +class ObjectStatusConditionDefinition(msrest.serialization.Model): + """Status condition of Kubernetes object. + + :ivar last_transition_time: Last time this status condition has changed. + :vartype last_transition_time: ~datetime.datetime + :ivar message: A more verbose description of the object status condition. + :vartype message: str + :ivar reason: Reason for the specified status condition type status. + :vartype reason: str + :ivar status: Status of the Kubernetes object condition type. + :vartype status: str + :ivar type: Object status condition type for this object. + :vartype type: str + """ + + _attribute_map = { + 'last_transition_time': {'key': 'lastTransitionTime', 'type': 'iso-8601'}, + 'message': {'key': 'message', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + last_transition_time: Optional[datetime.datetime] = None, + message: Optional[str] = None, + reason: Optional[str] = None, + status: Optional[str] = None, + type: Optional[str] = None, + **kwargs + ): + """ + :keyword last_transition_time: Last time this status condition has changed. + :paramtype last_transition_time: ~datetime.datetime + :keyword message: A more verbose description of the object status condition. + :paramtype message: str + :keyword reason: Reason for the specified status condition type status. + :paramtype reason: str + :keyword status: Status of the Kubernetes object condition type. + :paramtype status: str + :keyword type: Object status condition type for this object. + :paramtype type: str + """ + super(ObjectStatusConditionDefinition, self).__init__(**kwargs) + self.last_transition_time = last_transition_time + self.message = message + self.reason = reason + self.status = status + self.type = type + + +class ObjectStatusDefinition(msrest.serialization.Model): + """Statuses of objects deployed by the user-specified kustomizations from the git repository. + + :ivar name: Name of the applied object. + :vartype name: str + :ivar namespace: Namespace of the applied object. + :vartype namespace: str + :ivar kind: Kind of the applied object. + :vartype kind: str + :ivar compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :vartype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :ivar applied_by: Object reference to the Kustomization that applied this object. + :vartype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :ivar status_conditions: List of Kubernetes object status conditions present on the cluster. + :vartype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusConditionDefinition] + :ivar helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :vartype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmReleasePropertiesDefinition + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'compliance_state': {'key': 'complianceState', 'type': 'str'}, + 'applied_by': {'key': 'appliedBy', 'type': 'ObjectReferenceDefinition'}, + 'status_conditions': {'key': 'statusConditions', 'type': '[ObjectStatusConditionDefinition]'}, + 'helm_release_properties': {'key': 'helmReleaseProperties', 'type': 'HelmReleasePropertiesDefinition'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + namespace: Optional[str] = None, + kind: Optional[str] = None, + compliance_state: Optional[Union[str, "FluxComplianceState"]] = "Unknown", + applied_by: Optional["ObjectReferenceDefinition"] = None, + status_conditions: Optional[List["ObjectStatusConditionDefinition"]] = None, + helm_release_properties: Optional["HelmReleasePropertiesDefinition"] = None, + **kwargs + ): + """ + :keyword name: Name of the applied object. + :paramtype name: str + :keyword namespace: Namespace of the applied object. + :paramtype namespace: str + :keyword kind: Kind of the applied object. + :paramtype kind: str + :keyword compliance_state: Compliance state of the applied object showing whether the applied + object has come into a ready state on the cluster. Possible values include: "Compliant", + "Non-Compliant", "Pending", "Suspended", "Unknown". Default value: "Unknown". + :paramtype compliance_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxComplianceState + :keyword applied_by: Object reference to the Kustomization that applied this object. + :paramtype applied_by: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectReferenceDefinition + :keyword status_conditions: List of Kubernetes object status conditions present on the cluster. + :paramtype status_conditions: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ObjectStatusConditionDefinition] + :keyword helm_release_properties: Additional properties that are provided from objects of the + HelmRelease kind. + :paramtype helm_release_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmReleasePropertiesDefinition + """ + super(ObjectStatusDefinition, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.kind = kind + self.compliance_state = compliance_state + self.applied_by = applied_by + self.status_conditions = status_conditions + self.helm_release_properties = helm_release_properties + + +class OperationStatusList(msrest.serialization.Model): + """The async operations in progress, in the cluster. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of async operations in progress, in the cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult] + :ivar next_link: URL to get the next set of Operation Result objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationStatusResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(OperationStatusList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class OperationStatusResult(msrest.serialization.Model): + """The current status of an async operation. + + 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 ID for the async operation. + :vartype id: str + :ivar name: Name of the async operation. + :vartype name: str + :ivar status: Required. Operation status. + :vartype status: str + :ivar properties: Additional information, if available. + :vartype properties: dict[str, str] + :ivar error: If present, details of the operation error. + :vartype error: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ErrorDetail + """ + + _validation = { + 'status': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'error': {'key': 'error', 'type': 'ErrorDetail'}, + } + + def __init__( + self, + *, + status: str, + id: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword id: Fully qualified ID for the async operation. + :paramtype id: str + :keyword name: Name of the async operation. + :paramtype name: str + :keyword status: Required. Operation status. + :paramtype status: str + :keyword properties: Additional information, if available. + :paramtype properties: dict[str, str] + """ + super(OperationStatusResult, self).__init__(**kwargs) + self.id = id + self.name = name + self.status = status + self.properties = properties + self.error = None + + +class PatchExtension(msrest.serialization.Model): + """The Extension Patch Request object. + + :ivar auto_upgrade_minor_version: Flag to note if this extension participates in auto upgrade + of minor version, or not. + :vartype auto_upgrade_minor_version: bool + :ivar release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, + Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :vartype release_train: str + :ivar version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :vartype version: str + :ivar configuration_settings: Configuration settings, as name-value pairs for configuring this + extension. + :vartype configuration_settings: dict[str, str] + :ivar configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :vartype configuration_protected_settings: dict[str, str] + """ + + _attribute_map = { + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'release_train': {'key': 'properties.releaseTrain', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'configuration_settings': {'key': 'properties.configurationSettings', 'type': '{str}'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + } + + def __init__( + self, + *, + auto_upgrade_minor_version: Optional[bool] = True, + release_train: Optional[str] = "Stable", + version: Optional[str] = None, + configuration_settings: Optional[Dict[str, str]] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword auto_upgrade_minor_version: Flag to note if this extension participates in auto + upgrade of minor version, or not. + :paramtype auto_upgrade_minor_version: bool + :keyword release_train: ReleaseTrain this extension participates in for auto-upgrade (e.g. + Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'. + :paramtype release_train: str + :keyword version: Version of the extension for this extension, if it is 'pinned' to a specific + version. autoUpgradeMinorVersion must be 'false'. + :paramtype version: str + :keyword configuration_settings: Configuration settings, as name-value pairs for configuring + this extension. + :paramtype configuration_settings: dict[str, str] + :keyword configuration_protected_settings: Configuration settings that are sensitive, as + name-value pairs for configuring this extension. + :paramtype configuration_protected_settings: dict[str, str] + """ + super(PatchExtension, self).__init__(**kwargs) + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.release_train = release_train + self.version = version + self.configuration_settings = configuration_settings + self.configuration_protected_settings = configuration_protected_settings + + +class RepositoryRefDefinition(msrest.serialization.Model): + """The source reference for the GitRepository object. + + :ivar branch: The git repository branch name to checkout. + :vartype branch: str + :ivar tag: The git repository tag name to checkout. This takes precedence over branch. + :vartype tag: str + :ivar semver: The semver range used to match against git repository tags. This takes precedence + over tag. + :vartype semver: str + :ivar commit: The commit SHA to checkout. This value must be combined with the branch name to + be valid. This takes precedence over semver. + :vartype commit: str + """ + + _attribute_map = { + 'branch': {'key': 'branch', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + 'semver': {'key': 'semver', 'type': 'str'}, + 'commit': {'key': 'commit', 'type': 'str'}, + } + + def __init__( + self, + *, + branch: Optional[str] = None, + tag: Optional[str] = None, + semver: Optional[str] = None, + commit: Optional[str] = None, + **kwargs + ): + """ + :keyword branch: The git repository branch name to checkout. + :paramtype branch: str + :keyword tag: The git repository tag name to checkout. This takes precedence over branch. + :paramtype tag: str + :keyword semver: The semver range used to match against git repository tags. This takes + precedence over tag. + :paramtype semver: str + :keyword commit: The commit SHA to checkout. This value must be combined with the branch name + to be valid. This takes precedence over semver. + :paramtype commit: str + """ + super(RepositoryRefDefinition, self).__init__(**kwargs) + self.branch = branch + self.tag = tag + self.semver = semver + self.commit = commit + + +class ResourceProviderOperation(msrest.serialization.Model): + """Supported operation of this resource provider. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Operation name, in format of {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationDisplay + :ivar is_data_action: The flag that indicates whether the operation applies to data plane. + :vartype is_data_action: bool + :ivar origin: Origin of the operation. + :vartype origin: str + """ + + _validation = { + 'is_data_action': {'readonly': True}, + 'origin': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'ResourceProviderOperationDisplay'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["ResourceProviderOperationDisplay"] = None, + **kwargs + ): + """ + :keyword name: Operation name, in format of {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationDisplay + """ + super(ResourceProviderOperation, self).__init__(**kwargs) + self.name = name + self.display = display + self.is_data_action = None + self.origin = None + + +class ResourceProviderOperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Resource provider: Microsoft KubernetesConfiguration. + :vartype provider: str + :ivar resource: Resource on which the operation is performed. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of this operation. + :vartype 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 + ): + """ + :keyword provider: Resource provider: Microsoft KubernetesConfiguration. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of this operation. + :paramtype description: str + """ + super(ResourceProviderOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class ResourceProviderOperationList(msrest.serialization.Model): + """Result of the request to list operations. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations supported by this resource provider. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperation] + :ivar next_link: URL to the next set of results, if any. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceProviderOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceProviderOperation"]] = None, + **kwargs + ): + """ + :keyword value: List of operations supported by this resource provider. + :paramtype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperation] + """ + super(ResourceProviderOperationList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class Scope(msrest.serialization.Model): + """Scope of the extension. It can be either Cluster or Namespace; but not both. + + :ivar cluster: Specifies that the scope of the extension is Cluster. + :vartype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeCluster + :ivar namespace: Specifies that the scope of the extension is Namespace. + :vartype namespace: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeNamespace + """ + + _attribute_map = { + 'cluster': {'key': 'cluster', 'type': 'ScopeCluster'}, + 'namespace': {'key': 'namespace', 'type': 'ScopeNamespace'}, + } + + def __init__( + self, + *, + cluster: Optional["ScopeCluster"] = None, + namespace: Optional["ScopeNamespace"] = None, + **kwargs + ): + """ + :keyword cluster: Specifies that the scope of the extension is Cluster. + :paramtype cluster: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeCluster + :keyword namespace: Specifies that the scope of the extension is Namespace. + :paramtype namespace: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ScopeNamespace + """ + super(Scope, self).__init__(**kwargs) + self.cluster = cluster + self.namespace = namespace + + +class ScopeCluster(msrest.serialization.Model): + """Specifies that the scope of the extension is Cluster. + + :ivar release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :vartype release_namespace: str + """ + + _attribute_map = { + 'release_namespace': {'key': 'releaseNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + release_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword release_namespace: Namespace where the extension Release must be placed, for a Cluster + scoped extension. If this namespace does not exist, it will be created. + :paramtype release_namespace: str + """ + super(ScopeCluster, self).__init__(**kwargs) + self.release_namespace = release_namespace + + +class ScopeNamespace(msrest.serialization.Model): + """Specifies that the scope of the extension is Namespace. + + :ivar target_namespace: Namespace where the extension will be created for an Namespace scoped + extension. If this namespace does not exist, it will be created. + :vartype target_namespace: str + """ + + _attribute_map = { + 'target_namespace': {'key': 'targetNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + target_namespace: Optional[str] = None, + **kwargs + ): + """ + :keyword target_namespace: Namespace where the extension will be created for an Namespace + scoped extension. If this namespace does not exist, it will be created. + :paramtype target_namespace: str + """ + super(ScopeNamespace, self).__init__(**kwargs) + self.target_namespace = target_namespace + + +class SourceControlConfiguration(ProxyResource): + """The SourceControl Configuration object returned in Get & Put response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources. + :vartype system_data: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SystemData + :ivar repository_url: Url of the SourceControl Repository. + :vartype repository_url: str + :ivar operator_namespace: The namespace to which this operator is installed to. Maximum of 253 + lower case alphanumeric characters, hyphen and period only. + :vartype operator_namespace: str + :ivar operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :vartype operator_instance_name: str + :ivar operator_type: Type of the operator. Possible values include: "Flux". + :vartype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorType + :ivar operator_params: Any Parameters for the Operator instance in string format. + :vartype operator_params: str + :ivar configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :vartype configuration_protected_settings: dict[str, str] + :ivar operator_scope: Scope at which the operator will be installed. Possible values include: + "cluster", "namespace". Default value: "cluster". + :vartype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorScopeType + :ivar repository_public_key: Public Key associated with this SourceControl configuration + (either generated within the cluster or provided by the user). + :vartype repository_public_key: str + :ivar ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH keys + required to access private Git instances. + :vartype ssh_known_hosts_contents: str + :ivar enable_helm_operator: Option to enable Helm Operator for this git configuration. + :vartype enable_helm_operator: bool + :ivar helm_operator_properties: Properties for Helm operator. + :vartype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmOperatorProperties + :ivar provisioning_state: The provisioning state of the resource provider. Possible values + include: "Accepted", "Deleting", "Running", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ProvisioningStateType + :ivar compliance_status: Compliance Status of the Configuration. + :vartype compliance_status: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ComplianceStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'repository_public_key': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'compliance_status': {'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'}, + 'repository_url': {'key': 'properties.repositoryUrl', 'type': 'str'}, + 'operator_namespace': {'key': 'properties.operatorNamespace', 'type': 'str'}, + 'operator_instance_name': {'key': 'properties.operatorInstanceName', 'type': 'str'}, + 'operator_type': {'key': 'properties.operatorType', 'type': 'str'}, + 'operator_params': {'key': 'properties.operatorParams', 'type': 'str'}, + 'configuration_protected_settings': {'key': 'properties.configurationProtectedSettings', 'type': '{str}'}, + 'operator_scope': {'key': 'properties.operatorScope', 'type': 'str'}, + 'repository_public_key': {'key': 'properties.repositoryPublicKey', 'type': 'str'}, + 'ssh_known_hosts_contents': {'key': 'properties.sshKnownHostsContents', 'type': 'str'}, + 'enable_helm_operator': {'key': 'properties.enableHelmOperator', 'type': 'bool'}, + 'helm_operator_properties': {'key': 'properties.helmOperatorProperties', 'type': 'HelmOperatorProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'compliance_status': {'key': 'properties.complianceStatus', 'type': 'ComplianceStatus'}, + } + + def __init__( + self, + *, + repository_url: Optional[str] = None, + operator_namespace: Optional[str] = "default", + operator_instance_name: Optional[str] = None, + operator_type: Optional[Union[str, "OperatorType"]] = None, + operator_params: Optional[str] = None, + configuration_protected_settings: Optional[Dict[str, str]] = None, + operator_scope: Optional[Union[str, "OperatorScopeType"]] = "cluster", + ssh_known_hosts_contents: Optional[str] = None, + enable_helm_operator: Optional[bool] = None, + helm_operator_properties: Optional["HelmOperatorProperties"] = None, + **kwargs + ): + """ + :keyword repository_url: Url of the SourceControl Repository. + :paramtype repository_url: str + :keyword operator_namespace: The namespace to which this operator is installed to. Maximum of + 253 lower case alphanumeric characters, hyphen and period only. + :paramtype operator_namespace: str + :keyword operator_instance_name: Instance name of the operator - identifying the specific + configuration. + :paramtype operator_instance_name: str + :keyword operator_type: Type of the operator. Possible values include: "Flux". + :paramtype operator_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorType + :keyword operator_params: Any Parameters for the Operator instance in string format. + :paramtype operator_params: str + :keyword configuration_protected_settings: Name-value pairs of protected configuration settings + for the configuration. + :paramtype configuration_protected_settings: dict[str, str] + :keyword operator_scope: Scope at which the operator will be installed. Possible values + include: "cluster", "namespace". Default value: "cluster". + :paramtype operator_scope: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperatorScopeType + :keyword ssh_known_hosts_contents: Base64-encoded known_hosts contents containing public SSH + keys required to access private Git instances. + :paramtype ssh_known_hosts_contents: str + :keyword enable_helm_operator: Option to enable Helm Operator for this git configuration. + :paramtype enable_helm_operator: bool + :keyword helm_operator_properties: Properties for Helm operator. + :paramtype helm_operator_properties: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.HelmOperatorProperties + """ + super(SourceControlConfiguration, self).__init__(**kwargs) + self.system_data = None + self.repository_url = repository_url + self.operator_namespace = operator_namespace + self.operator_instance_name = operator_instance_name + self.operator_type = operator_type + self.operator_params = operator_params + self.configuration_protected_settings = configuration_protected_settings + self.operator_scope = operator_scope + self.repository_public_key = None + self.ssh_known_hosts_contents = ssh_known_hosts_contents + self.enable_helm_operator = enable_helm_operator + self.helm_operator_properties = helm_operator_properties + self.provisioning_state = None + self.compliance_status = None + + +class SourceControlConfigurationList(msrest.serialization.Model): + """Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of Source Control Configurations within a Kubernetes cluster. + :vartype value: + list[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration] + :ivar next_link: URL to get the next set of configuration objects, if any. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SourceControlConfiguration]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SourceControlConfigurationList, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype 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 + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + 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/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.py new file mode 100644 index 00000000000..928602199b0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/models/_source_control_configuration_client_enums.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 enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta + + +class AKSIdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The identity type. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + +class ComplianceStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The compliance state of the configuration. + """ + + PENDING = "Pending" + COMPLIANT = "Compliant" + NONCOMPLIANT = "Noncompliant" + INSTALLED = "Installed" + FAILED = "Failed" + +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 FluxComplianceState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Compliance state of the cluster object. + """ + + COMPLIANT = "Compliant" + NON_COMPLIANT = "Non-Compliant" + PENDING = "Pending" + SUSPENDED = "Suspended" + UNKNOWN = "Unknown" + +class KustomizationValidationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specify whether to validate the Kubernetes objects referenced in the Kustomization before + applying them to the cluster. + """ + + NONE = "none" + CLIENT = "client" + SERVER = "server" + +class LevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the status. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class MessageLevelType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Level of the message. + """ + + ERROR = "Error" + WARNING = "Warning" + INFORMATION = "Information" + +class OperatorScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the operator will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class OperatorType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Type of the operator + """ + + FLUX = "Flux" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource. + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class ProvisioningStateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of the resource provider. + """ + + ACCEPTED = "Accepted" + DELETING = "Deleting" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class ScopeType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Scope at which the configuration will be installed. + """ + + CLUSTER = "cluster" + NAMESPACE = "namespace" + +class SourceKindType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Source Kind to pull the configuration data from. + """ + + GIT_REPOSITORY = "GitRepository" + BUCKET = "Bucket" diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/__init__.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/__init__.py new file mode 100644 index 00000000000..e18b201b5dc --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/__init__.py @@ -0,0 +1,23 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._extensions_operations import ExtensionsOperations +from ._operation_status_operations import OperationStatusOperations +from ._flux_configurations_operations import FluxConfigurationsOperations +from ._flux_config_operation_status_operations import FluxConfigOperationStatusOperations +from ._source_control_configurations_operations import SourceControlConfigurationsOperations +from ._operations import Operations + +__all__ = [ + 'ExtensionsOperations', + 'OperationStatusOperations', + 'FluxConfigurationsOperations', + 'FluxConfigOperationStatusOperations', + 'SourceControlConfigurationsOperations', + 'Operations', +] diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_extensions_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_extensions_operations.py new file mode 100644 index 00000000000..5ebf5788b77 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_extensions_operations.py @@ -0,0 +1,829 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ExtensionsOperations(object): + """ExtensionsOperations 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.kubernetesconfiguration.v2022_03_01.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: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(extension, 'Extension') + + request = build_create_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('Extension', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + extension: "_models.Extension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Create a new Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param extension: Properties necessary to Create an Extension. + :type extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + extension=extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + **kwargs: Any + ) -> "_models.Extension": + """Gets Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Extension, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension + from the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> "_models.Extension": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_extension, 'PatchExtension') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Extension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + patch_extension: "_models.PatchExtension", + **kwargs: Any + ) -> LROPoller["_models.Extension"]: + """Patch an existing Kubernetes Cluster Extension. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param patch_extension: Properties to Patch in an existing Extension. + :type patch_extension: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.PatchExtension + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 Extension or the result of cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.Extension] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Extension"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + patch_extension=patch_extension, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('Extension', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.ExtensionsList"]: + """List all Extensions in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ExtensionsList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ExtensionsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ExtensionsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ExtensionsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py new file mode 100644 index 00000000000..aa9a53eca61 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_config_operation_status_operations.py @@ -0,0 +1,160 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigOperationStatusOperations(object): + """FluxConfigOperationStatusOperations 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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}'} # type: ignore + diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py new file mode 100644 index 00000000000..cb2bddb55aa --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_flux_configurations_operations.py @@ -0,0 +1,834 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + *, + force_delete: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "fluxConfigurationName": _SERIALIZER.url("flux_configuration_name", flux_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force_delete is not None: + query_parameters['forceDelete'] = _SERIALIZER.query("force_delete", force_delete, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FluxConfigurationsOperations(object): + """FluxConfigurationsOperations 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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + **kwargs: Any + ) -> "_models.FluxConfiguration": + """Gets details of the Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FluxConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + def _create_or_update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration, 'FluxConfiguration') + + request = build_create_or_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._create_or_update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('FluxConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration: "_models.FluxConfiguration", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Create a new Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration: Properties necessary to Create a FluxConfiguration. + :type flux_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration=flux_configuration, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _update_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> "_models.FluxConfiguration": + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(flux_configuration_patch, 'FluxConfigurationPatch') + + request = build_update_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + content_type=content_type, + json=_json, + template_url=self._update_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + flux_configuration_patch: "_models.FluxConfigurationPatch", + **kwargs: Any + ) -> LROPoller["_models.FluxConfiguration"]: + """Update an existing Kubernetes Flux Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param flux_configuration_patch: Properties to Patch in an existing Flux Configuration. + :type flux_configuration_patch: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationPatch + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 FluxConfiguration or the result of + cls(response) + :rtype: + ~azure.core.polling.LROPoller[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfiguration] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfiguration"] + 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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + flux_configuration_patch=flux_configuration_patch, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('FluxConfiguration', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + flux_configuration_name: str, + force_delete: Optional[bool] = None, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync + from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param flux_configuration_name: Name of the Flux Configuration. + :type flux_configuration_name: str + :param force_delete: Delete the extension resource in Azure - not the normal asynchronous + delete. + :type force_delete: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + flux_configuration_name=flux_configuration_name, + force_delete=force_delete, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.FluxConfigurationsList"]: + """List all Flux Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FluxConfigurationsList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.FluxConfigurationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FluxConfigurationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FluxConfigurationsList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py new file mode 100644 index 00000000000..74483698fc0 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operation_status_operations.py @@ -0,0 +1,287 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "extensionName": _SERIALIZER.url("extension_name", extension_name, 'str'), + "operationId": _SERIALIZER.url("operation_id", operation_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class OperationStatusOperations(object): + """OperationStatusOperations 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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + extension_name: str, + operation_id: str, + **kwargs: Any + ) -> "_models.OperationStatusResult": + """Get Async Operation status. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param extension_name: Name of the Extension. + :type extension_name: str + :param operation_id: operation Id. + :type operation_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationStatusResult, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + extension_name=extension_name, + operation_id=operation_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('OperationStatusResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.OperationStatusList"]: + """List Async Operations, currently in progress, in a cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationStatusList or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.OperationStatusList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationStatusList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationStatusList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operations.py new file mode 100644 index 00000000000..71758018e4f --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_operations.py @@ -0,0 +1,137 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.KubernetesConfiguration/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.ResourceProviderOperationList"]: + """List all the available operations the KubernetesConfiguration resource provider supports. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceProviderOperationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.ResourceProviderOperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceProviderOperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ResourceProviderOperationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.KubernetesConfiguration/operations'} # type: ignore diff --git a/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py new file mode 100644 index 00000000000..300824b2190 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/vendored_sdks/v2022_03_01/operations/_source_control_configurations_operations.py @@ -0,0 +1,572 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request_initial( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + "sourceControlConfigurationName": _SERIALIZER.url("source_control_configuration_name", source_control_configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2022-03-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "clusterRp": _SERIALIZER.url("cluster_rp", cluster_rp, 'str'), + "clusterResourceName": _SERIALIZER.url("cluster_resource_name", cluster_resource_name, 'str'), + "clusterName": _SERIALIZER.url("cluster_name", cluster_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SourceControlConfigurationsOperations(object): + """SourceControlConfigurationsOperations 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.kubernetesconfiguration.v2022_03_01.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 + + @distributed_trace + def get( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Gets details of the Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + source_control_configuration: "_models.SourceControlConfiguration", + **kwargs: Any + ) -> "_models.SourceControlConfiguration": + """Create a new Kubernetes Source Control Configuration. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_name: str + :param source_control_configuration: Properties necessary to Create KubernetesConfiguration. + :type source_control_configuration: + ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SourceControlConfiguration, or the result of cls(response) + :rtype: ~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfiguration + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfiguration"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(source_control_configuration, 'SourceControlConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('SourceControlConfiguration', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + def _delete_initial( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_request_initial( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + template_url=self._delete_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + + @distributed_trace + def begin_delete( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + source_control_configuration_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This will delete the YAML file used to set up the Source control configuration, thus stopping + future sync from the source repo. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :param source_control_configuration_name: Name of the Source Control Configuration. + :type source_control_configuration_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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + source_control_configuration_name=source_control_configuration_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, **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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}'} # type: ignore + + @distributed_trace + def list( + self, + resource_group_name: str, + cluster_rp: str, + cluster_resource_name: str, + cluster_name: str, + **kwargs: Any + ) -> Iterable["_models.SourceControlConfigurationList"]: + """List all Source Control Configurations. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_rp: The Kubernetes cluster RP - i.e. Microsoft.ContainerService, + Microsoft.Kubernetes, Microsoft.HybridContainerService. + :type cluster_rp: str + :param cluster_resource_name: The Kubernetes cluster resource name - i.e. managedClusters, + connectedClusters, provisionedClusters. + :type cluster_resource_name: str + :param cluster_name: The name of the kubernetes cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either SourceControlConfigurationList or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.kubernetesconfiguration.v2022_03_01.models.SourceControlConfigurationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SourceControlConfigurationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + cluster_rp=cluster_rp, + cluster_resource_name=cluster_resource_name, + cluster_name=cluster_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("SourceControlConfigurationList", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations'} # type: ignore diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 40946af2ee3..464e9045fa5 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -13,45 +13,46 @@ from azure_bdist_wheel import cmdclass except ImportError: from distutils import log as logger + logger.warn("Wheel is not available, disabling bdist_wheel hook") # 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', + "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 = [] -VERSION = "1.0.1" +VERSION = "1.0.4" -with open('README.rst', 'r', encoding='utf-8') as f: +with open("README.rst", "r", encoding="utf-8") as f: README = f.read() -with open('HISTORY.rst', 'r', encoding='utf-8') as f: +with open("HISTORY.rst", "r", encoding="utf-8") as f: HISTORY = f.read() setup( name="k8s-extension", version=VERSION, - description='Microsoft Azure Command-Line Tools K8s-extension Extension', + description="Microsoft Azure Command-Line Tools K8s-extension Extension", # TODO: Update author and email, if applicable - author='Microsoft Corporation', - author_email='azpycli@microsoft.com', + 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', + url="https://github.com/Azure/azure-cli-extensions/tree/main/src/k8s-extension", + long_description=README + "\n\n" + HISTORY, + license="MIT", classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, - package_data={'azext_k8s_extension': ['azext_metadata.json']}, + package_data={"azext_k8s_extension": ["azext_metadata.json"]}, ) diff --git a/src/k8sconfiguration/setup.py b/src/k8sconfiguration/setup.py index ab68926b518..f5e030b783d 100644 --- a/src/k8sconfiguration/setup.py +++ b/src/k8sconfiguration/setup.py @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/k8sconfiguration', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/k8sconfiguration', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/kusto/azext_kusto/manual/tests/latest/test_kusto_scenario.py b/src/kusto/azext_kusto/manual/tests/latest/test_kusto_scenario.py index 0c4ce02ce06..8bd8666c12d 100644 --- a/src/kusto/azext_kusto/manual/tests/latest/test_kusto_scenario.py +++ b/src/kusto/azext_kusto/manual/tests/latest/test_kusto_scenario.py @@ -12,7 +12,7 @@ from azure.cli.testsdk import ScenarioTest from azure.cli.testsdk import ResourceGroupPreparer from azure.cli.testsdk import StorageAccountPreparer -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from .. import ( try_manual, raise_if, diff --git a/src/kusto/azext_kusto/tests/latest/test_kusto_scenario.py b/src/kusto/azext_kusto/tests/latest/test_kusto_scenario.py index ec8b7317dcc..1cd876df5fe 100644 --- a/src/kusto/azext_kusto/tests/latest/test_kusto_scenario.py +++ b/src/kusto/azext_kusto/tests/latest/test_kusto_scenario.py @@ -12,7 +12,7 @@ from azure.cli.testsdk import ScenarioTest from azure.cli.testsdk import ResourceGroupPreparer from azure.cli.testsdk import StorageAccountPreparer -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from .. import ( try_manual, raise_if, diff --git a/src/kusto/setup.py b/src/kusto/setup.py index 5f247d05bf7..ed4f3efc512 100644 --- a/src/kusto/setup.py +++ b/src/kusto/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools KustoManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/kusto', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/kusto', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/test_log_analytics_solution_scenario.py b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/test_log_analytics_solution_scenario.py index 6b69765347f..b9b9565ab68 100644 --- a/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/test_log_analytics_solution_scenario.py +++ b/src/log-analytics-solution/azext_log_analytics_solution/tests/latest/test_log_analytics_solution_scenario.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) from knack.util import CLIError diff --git a/src/log-analytics-solution/setup.py b/src/log-analytics-solution/setup.py index bb0917dc92e..94bb6eda6fb 100644 --- a/src/log-analytics-solution/setup.py +++ b/src/log-analytics-solution/setup.py @@ -48,7 +48,7 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/log-analytics-solution', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/log-analytics/setup.py b/src/log-analytics/setup.py index f7577b9c061..c19bcbe07cd 100644 --- a/src/log-analytics/setup.py +++ b/src/log-analytics/setup.py @@ -39,7 +39,7 @@ license='MIT', author='Ace Eldeib', author_email='aleldeib@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/log-analytics', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/log-analytics', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), package_data={'azext_loganalytics': ['azext_metadata.json']}, diff --git a/src/logic/HISTORY.rst b/src/logic/HISTORY.rst index 1243db28376..dd69ac5bcdd 100644 --- a/src/logic/HISTORY.rst +++ b/src/logic/HISTORY.rst @@ -3,6 +3,14 @@ Release History =============== +0.1.5 +++++++ +* Upgrade SDK to fix deserialization errors + +0.1.4 +++++++ +* Add missing help for top level command group + 0.1.3 ++++++ * Preview logic extension diff --git a/src/logic/azext_logic/tests/latest/recordings/test_logic.yaml b/src/logic/azext_logic/tests/latest/recordings/test_logic.yaml index 8bbfeb3eb4e..922f183b6ac 100644 --- a/src/logic/azext_logic/tests/latest/recordings/test_logic.yaml +++ b/src/logic/azext_logic/tests/latest/recordings/test_logic.yaml @@ -18,7 +18,7 @@ interactions: ParameterSetName: - --location --sku --name --resource-group User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 response: @@ -32,7 +32,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:49:59 GMT + - Mon, 24 Jan 2022 07:27:13 GMT expires: - '-1' pragma: @@ -42,7 +42,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -65,7 +65,7 @@ interactions: ParameterSetName: - --location --input-path --name --resource-group User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 response: @@ -79,7 +79,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:01 GMT + - Mon, 24 Jan 2022 07:27:15 GMT expires: - '-1' pragma: @@ -93,7 +93,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 200 message: OK @@ -121,21 +121,21 @@ interactions: ParameterSetName: - --resource-group --location --definition --name User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 response: body: - string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-12-04T06:50:05.6920561Z","changedTime":"2020-12-04T06:50:05.6785038Z","state":"Enabled","version":"08585945422798239259","accessEndpoint":"https://prod-20.centralus.logic.azure.com:443/workflows/88979037c9cd49a183bb70f0ccfceada","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T07:27:23.5191967Z","changedTime":"2022-01-24T07:27:23.5082967Z","state":"Enabled","version":"08585585976419894334","accessEndpoint":"https://prod-25.centralus.logic.azure.com:443/workflows/f86fd089c6a744278a554786d174203c","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"evaluatedRecurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"52.173.241.27"},{"address":"52.173.245.164"},{"address":"13.89.171.80/28"},{"address":"13.89.178.64/27"},{"address":"40.77.68.110"},{"address":"20.98.144.224/27"},{"address":"20.98.145.0/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' headers: cache-control: - no-cache content-length: - - '1797' + - '1945' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:05 GMT + - Mon, 24 Jan 2022 07:27:25 GMT expires: - '-1' pragma: @@ -145,7 +145,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 201 message: Created @@ -163,7 +163,7 @@ interactions: ParameterSetName: - --name --resource-group User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 response: @@ -177,7 +177,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:08 GMT + - Mon, 24 Jan 2022 07:27:27 GMT expires: - '-1' pragma: @@ -207,21 +207,21 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 response: body: - string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-12-04T06:50:05.6920561Z","changedTime":"2020-12-04T06:50:05.6785038Z","state":"Enabled","version":"08585945422798239259","accessEndpoint":"https://prod-20.centralus.logic.azure.com:443/workflows/88979037c9cd49a183bb70f0ccfceada","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T07:27:23.5191967Z","changedTime":"2022-01-24T07:27:23.5082967Z","state":"Enabled","version":"08585585976419894334","accessEndpoint":"https://prod-25.centralus.logic.azure.com:443/workflows/f86fd089c6a744278a554786d174203c","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"evaluatedRecurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"52.173.241.27"},{"address":"52.173.245.164"},{"address":"13.89.171.80/28"},{"address":"13.89.178.64/27"},{"address":"40.77.68.110"},{"address":"20.98.144.224/27"},{"address":"20.98.145.0/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' headers: cache-control: - no-cache content-length: - - '1797' + - '1945' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:09 GMT + - Mon, 24 Jan 2022 07:27:28 GMT expires: - '-1' pragma: @@ -235,7 +235,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '19996' + - '19998' status: code: 200 message: OK @@ -253,7 +253,7 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts?api-version=2019-05-01 response: @@ -267,7 +267,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:11 GMT + - Mon, 24 Jan 2022 07:27:30 GMT expires: - '-1' pragma: @@ -297,21 +297,21 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows?api-version=2019-05-01 response: body: - string: '{"value":[{"properties":{"provisioningState":"Succeeded","createdTime":"2020-12-04T06:50:05.6920561Z","changedTime":"2020-12-04T06:50:05.6785038Z","state":"Enabled","version":"08585945422798239259","accessEndpoint":"https://prod-20.centralus.logic.azure.com:443/workflows/88979037c9cd49a183bb70f0ccfceada","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}]}' + string: '{"value":[{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T07:27:23.5191967Z","changedTime":"2022-01-24T07:27:23.5082967Z","state":"Enabled","version":"08585585976419894334","accessEndpoint":"https://prod-25.centralus.logic.azure.com:443/workflows/f86fd089c6a744278a554786d174203c","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"evaluatedRecurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"52.173.241.27"},{"address":"52.173.245.164"},{"address":"13.89.171.80/28"},{"address":"13.89.178.64/27"},{"address":"40.77.68.110"},{"address":"20.98.144.224/27"},{"address":"20.98.145.0/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}]}' headers: cache-control: - no-cache content-length: - - '1809' + - '1957' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:13 GMT + - Mon, 24 Jan 2022 07:27:33 GMT expires: - '-1' pragma: @@ -325,7 +325,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '19996' + - '19999' status: code: 200 message: OK @@ -341,7 +341,7 @@ interactions: Connection: - keep-alive User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Logic/integrationAccounts?api-version=2019-05-01 response: @@ -355,7 +355,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:14 GMT + - Mon, 24 Jan 2022 07:27:35 GMT expires: - '-1' pragma: @@ -383,154 +383,23 @@ interactions: Connection: - keep-alive User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Logic/workflows?api-version=2019-05-01 response: body: - string: "{\"value\":[{\"properties\":{\"provisioningState\":\"Succeeded\",\"\ - createdTime\":\"2020-12-04T06:50:05.6920561Z\",\"changedTime\":\"2020-12-04T06:50:05.6785038Z\"\ - ,\"state\":\"Enabled\",\"version\":\"08585945422798239259\",\"accessEndpoint\"\ - :\"https://prod-20.centralus.logic.azure.com:443/workflows/88979037c9cd49a183bb70f0ccfceada\"\ - ,\"definition\":{\"$schema\":\"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#\"\ - ,\"contentVersion\":\"1.0.0.0\",\"parameters\":{\"$connections\":{\"defaultValue\"\ - :{},\"type\":\"Object\"}},\"triggers\":{\"When_a_feed_item_is_published\"\ - :{\"recurrence\":{\"frequency\":\"Minute\",\"interval\":1},\"splitOn\":\"\ - @triggerBody()?['value']\",\"type\":\"ApiConnection\",\"inputs\":{\"host\"\ - :{\"connection\":{\"name\":\"@parameters('$connections')['rss']['connectionId']\"\ - }},\"method\":\"get\",\"path\":\"/OnNewFeed\",\"queries\":{\"feedUrl\":\"\ - http://feeds.reuters.com/reuters/topNews\"}}}},\"actions\":{},\"outputs\"\ - :{}},\"parameters\":{},\"endpointsConfiguration\":{\"workflow\":{\"outgoingIpAddresses\"\ - :[{\"address\":\"13.67.236.125\"},{\"address\":\"104.208.25.27\"},{\"address\"\ - :\"40.122.170.198\"},{\"address\":\"40.113.218.230\"},{\"address\":\"23.100.86.139\"\ - },{\"address\":\"23.100.87.24\"},{\"address\":\"23.100.87.56\"},{\"address\"\ - :\"23.100.82.16\"}],\"accessEndpointIpAddresses\":[{\"address\":\"13.67.236.76\"\ - },{\"address\":\"40.77.111.254\"},{\"address\":\"40.77.31.87\"},{\"address\"\ - :\"104.43.243.39\"}]},\"connector\":{\"outgoingIpAddresses\":[{\"address\"\ - :\"13.89.171.80/28\"},{\"address\":\"40.122.49.51\"},{\"address\":\"52.173.245.164\"\ - },{\"address\":\"52.173.241.27\"}]}}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005\"\ - ,\"name\":\"cli_test_000005\",\"type\":\"Microsoft.Logic/workflows\",\"location\"\ - :\"centralus\"},{\"properties\":{\"provisioningState\":\"Succeeded\",\"createdTime\"\ - :\"2020-12-04T06:28:29.5823979Z\",\"changedTime\":\"2020-12-04T06:44:04.7470903Z\"\ - ,\"state\":\"Enabled\",\"version\":\"08585945426407312678\",\"accessEndpoint\"\ - :\"https://prod-12.centralus.logic.azure.com:443/workflows/8807f7d1d2ae4c14a4f3369b9b33378c\"\ - ,\"definition\":{\"$schema\":\"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#\"\ - ,\"contentVersion\":\"1.0.0.0\",\"parameters\":{\"$connections\":{\"defaultValue\"\ - :{},\"type\":\"Object\"}},\"triggers\":{\"When_a_feed_item_is_published\"\ - :{\"recurrence\":{\"frequency\":\"Minute\",\"interval\":1},\"splitOn\":\"\ - @triggerBody()?['value']\",\"type\":\"ApiConnection\",\"inputs\":{\"host\"\ - :{\"connection\":{\"name\":\"@parameters('$connections')['rss']['connectionId']\"\ - }},\"method\":\"get\",\"path\":\"/OnNewFeed\",\"queries\":{\"feedUrl\":\"\ - http://feeds.reuters.com/reuters/topNews\"}}}},\"actions\":{},\"outputs\"\ - :{}},\"parameters\":{},\"endpointsConfiguration\":{\"workflow\":{\"outgoingIpAddresses\"\ - :[{\"address\":\"13.67.236.125\"},{\"address\":\"104.208.25.27\"},{\"address\"\ - :\"40.122.170.198\"},{\"address\":\"40.113.218.230\"},{\"address\":\"23.100.86.139\"\ - },{\"address\":\"23.100.87.24\"},{\"address\":\"23.100.87.56\"},{\"address\"\ - :\"23.100.82.16\"}],\"accessEndpointIpAddresses\":[{\"address\":\"13.67.236.76\"\ - },{\"address\":\"40.77.111.254\"},{\"address\":\"40.77.31.87\"},{\"address\"\ - :\"104.43.243.39\"}]},\"connector\":{\"outgoingIpAddresses\":[{\"address\"\ - :\"13.89.171.80/28\"},{\"address\":\"40.122.49.51\"},{\"address\":\"52.173.245.164\"\ - },{\"address\":\"52.173.241.27\"}]}}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/harold/providers/Microsoft.Logic/workflows/wf-1\"\ - ,\"name\":\"wf-1\",\"type\":\"Microsoft.Logic/workflows\",\"location\":\"\ - centralus\",\"tags\":{\"foo\":\"123\"}},{\"properties\":{\"provisioningState\"\ - :\"Succeeded\",\"createdTime\":\"2019-11-18T06:41:01.5064237Z\",\"changedTime\"\ - :\"2020-04-13T09:52:33.2302252Z\",\"state\":\"Enabled\",\"version\":\"08586148353322519216\"\ - ,\"accessEndpoint\":\"https://prod-29.westus.logic.azure.com:443/workflows/cf5bb036a7fa41d4ad8b964d5eea3343\"\ - ,\"definition\":{\"$schema\":\"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#\"\ - ,\"contentVersion\":\"1.0.0.0\",\"parameters\":{\"$connections\":{\"defaultValue\"\ - :{},\"type\":\"Object\"}},\"triggers\":{\"every_day_starts_at_18:00_and_06:00\"\ - :{\"recurrence\":{\"frequency\":\"Day\",\"interval\":1,\"schedule\":{\"hours\"\ - :[\"18\"]},\"timeZone\":\"China Standard Time\"},\"type\":\"Recurrence\"}},\"\ - actions\":{\"List_resource_groups\":{\"runAfter\":{},\"type\":\"ApiConnection\"\ - ,\"inputs\":{\"host\":{\"connection\":{\"name\":\"@parameters('$connections')['arm']['connectionId']\"\ - }},\"method\":\"get\",\"path\":\"/subscriptions/@{encodeURIComponent('0b1f6471-1bf0-4dda-aec3-cb9272f09590')}/resourcegroups\"\ - ,\"queries\":{\"x-ms-api-version\":\"2016-06-01\"}}},\"filter_elements_except_resource_group_name_is_equal_to_\\\ - \"AzureSDKTest_reserved\\\"\":{\"runAfter\":{\"List_resource_groups\":[\"\ - Succeeded\"]},\"type\":\"Query\",\"inputs\":{\"from\":\"@body('List_resource_groups')?['value']\"\ - ,\"where\":\"@not(equals(item()?['name'], 'AzureSDKTest_reserved'))\"}},\"\ - \u4E3A\u6BCF\u4E2A\":{\"foreach\":\"@body('filter_elements_except_resource_group_name_is_equal_to_\\\ - \"AzureSDKTest_reserved\\\"')\",\"actions\":{\"Delete_a_resource_group\":{\"\ - runAfter\":{},\"type\":\"ApiConnection\",\"inputs\":{\"host\":{\"connection\"\ - :{\"name\":\"@parameters('$connections')['arm']['connectionId']\"}},\"method\"\ - :\"delete\",\"path\":\"/subscriptions/@{encodeURIComponent('0b1f6471-1bf0-4dda-aec3-cb9272f09590')}/resourcegroups/@{encodeURIComponent(items('\u4E3A\ - \u6BCF\u4E2A')?['name'])}\",\"queries\":{\"x-ms-api-version\":\"2016-06-01\"\ - }}}},\"runAfter\":{\"filter_elements_except_resource_group_name_is_equal_to_\\\ - \"AzureSDKTest_reserved\\\"\":[\"Succeeded\"]},\"type\":\"Foreach\"}},\"outputs\"\ - :{}},\"parameters\":{\"$connections\":{\"value\":{\"arm\":{\"connectionId\"\ - :\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Web/connections/arm\"\ - ,\"connectionName\":\"arm\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/arm\"\ - }}}},\"endpointsConfiguration\":{\"workflow\":{\"outgoingIpAddresses\":[{\"\ - address\":\"52.160.92.112\"},{\"address\":\"40.118.244.241\"},{\"address\"\ - :\"40.118.241.243\"},{\"address\":\"157.56.162.53\"},{\"address\":\"157.56.167.147\"\ - },{\"address\":\"104.42.49.145\"},{\"address\":\"40.83.164.80\"},{\"address\"\ - :\"104.42.38.32\"}],\"accessEndpointIpAddresses\":[{\"address\":\"52.160.90.237\"\ - },{\"address\":\"138.91.188.137\"},{\"address\":\"13.91.252.184\"},{\"address\"\ - :\"157.56.160.212 \"}]},\"connector\":{\"outgoingIpAddresses\":[{\"address\"\ - :\"40.112.243.160/28\"},{\"address\":\"104.40.51.248\"},{\"address\":\"104.42.122.49\"\ - },{\"address\":\"40.112.195.87\"},{\"address\":\"13.93.148.62\"}]}}},\"id\"\ - :\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Logic/workflows/AzureSDKTest_ScheduledCleaner\"\ - ,\"name\":\"AzureSDKTest_ScheduledCleaner\",\"type\":\"Microsoft.Logic/workflows\"\ - ,\"location\":\"westus\",\"tags\":{}},{\"properties\":{\"provisioningState\"\ - :\"Succeeded\",\"createdTime\":\"2020-04-24T06:33:36.5052747Z\",\"changedTime\"\ - :\"2020-04-24T06:33:36.4986025Z\",\"state\":\"Enabled\",\"version\":\"08586138968690384726\"\ - ,\"accessEndpoint\":\"https://prod-123.westus.logic.azure.com:443/workflows/72b1a436cf5a4f65950d224869dd7484\"\ - ,\"definition\":{\"$schema\":\"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#\"\ - ,\"contentVersion\":\"1.0.0.0\",\"parameters\":{},\"triggers\":{},\"actions\"\ - :{},\"outputs\":{}},\"parameters\":{},\"endpointsConfiguration\":{\"workflow\"\ - :{\"outgoingIpAddresses\":[{\"address\":\"52.160.92.112\"},{\"address\":\"\ - 40.118.244.241\"},{\"address\":\"40.118.241.243\"},{\"address\":\"157.56.162.53\"\ - },{\"address\":\"157.56.167.147\"},{\"address\":\"104.42.49.145\"},{\"address\"\ - :\"40.83.164.80\"},{\"address\":\"104.42.38.32\"}],\"accessEndpointIpAddresses\"\ - :[{\"address\":\"52.160.90.237\"},{\"address\":\"138.91.188.137\"},{\"address\"\ - :\"13.91.252.184\"},{\"address\":\"157.56.160.212 \"}]},\"connector\":{\"\ - outgoingIpAddresses\":[{\"address\":\"40.112.243.160/28\"},{\"address\":\"\ - 104.40.51.248\"},{\"address\":\"104.42.122.49\"},{\"address\":\"40.112.195.87\"\ - },{\"address\":\"13.93.148.62\"}]}}},\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Logic/workflows/FetchModules\"\ - ,\"name\":\"FetchModules\",\"type\":\"Microsoft.Logic/workflows\",\"location\"\ - :\"westus\",\"tags\":{}},{\"properties\":{\"provisioningState\":\"Succeeded\"\ - ,\"createdTime\":\"2019-11-25T03:03:51.6406922Z\",\"changedTime\":\"2020-03-02T03:30:46.8880289Z\"\ - ,\"state\":\"Disabled\",\"version\":\"08586184870386928444\",\"accessEndpoint\"\ - :\"https://prod-52.westus.logic.azure.com:443/workflows/ad25d96f848444caaf7c4ec48853fbcf\"\ - ,\"definition\":{\"$schema\":\"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#\"\ - ,\"contentVersion\":\"1.0.0.0\",\"parameters\":{\"$connections\":{\"defaultValue\"\ - :{},\"type\":\"Object\"}},\"triggers\":{\"Recurrence\":{\"recurrence\":{\"\ - frequency\":\"Day\",\"interval\":3},\"type\":\"Recurrence\"}},\"actions\"\ - :{\"List_resource_groups\":{\"runAfter\":{},\"type\":\"ApiConnection\",\"\ - inputs\":{\"host\":{\"connection\":{\"name\":\"@parameters('$connections')['arm']['connectionId']\"\ - }},\"method\":\"get\",\"path\":\"/subscriptions/@{encodeURIComponent('0b1f6471-1bf0-4dda-aec3-cb9272f09590')}/resourcegroups\"\ - ,\"queries\":{\"x-ms-api-version\":\"2016-06-01\"}}},\"Run_query_and_list_results\"\ - :{\"runAfter\":{\"List_resource_groups\":[\"Succeeded\"]},\"type\":\"ApiConnection\"\ - ,\"inputs\":{\"body\":\"[].eventTimestamp\",\"host\":{\"connection\":{\"name\"\ - :\"@parameters('$connections')['azuremonitorlogs']['connectionId']\"}},\"\ - method\":\"post\",\"path\":\"/queryData\",\"queries\":{\"resourcegroups\"\ - :\"new-experiences\",\"resourcename\":\"Microsoft.ClassicCompute\",\"resourcetype\"\ - :\"virtualMachines\",\"subscriptions\":\"0b1f6471-1bf0-4dda-aec3-cb9272f09590\"\ - ,\"timerange\":\"60\"}}}},\"outputs\":{}},\"parameters\":{\"$connections\"\ - :{\"value\":{\"arm\":{\"connectionId\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Web/connections/arm\"\ - ,\"connectionName\":\"arm\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/arm\"\ - },\"azuremonitorlogs\":{\"connectionId\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Web/connections/azuremonitorlogs\"\ - ,\"connectionName\":\"azuremonitorlogs\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/azuremonitorlogs\"\ - }}}},\"endpointsConfiguration\":{\"workflow\":{\"outgoingIpAddresses\":[{\"\ - address\":\"52.160.92.112\"},{\"address\":\"40.118.244.241\"},{\"address\"\ - :\"40.118.241.243\"},{\"address\":\"157.56.162.53\"},{\"address\":\"157.56.167.147\"\ - },{\"address\":\"104.42.49.145\"},{\"address\":\"40.83.164.80\"},{\"address\"\ - :\"104.42.38.32\"}],\"accessEndpointIpAddresses\":[{\"address\":\"52.160.90.237\"\ - },{\"address\":\"138.91.188.137\"},{\"address\":\"13.91.252.184\"},{\"address\"\ - :\"157.56.160.212 \"}]},\"connector\":{\"outgoingIpAddresses\":[{\"address\"\ - :\"40.112.243.160/28\"},{\"address\":\"104.40.51.248\"},{\"address\":\"104.42.122.49\"\ - },{\"address\":\"40.112.195.87\"},{\"address\":\"13.93.148.62\"}]}}},\"id\"\ - :\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Logic/workflows/TestLogicApp\"\ - ,\"name\":\"TestLogicApp\",\"type\":\"Microsoft.Logic/workflows\",\"location\"\ - :\"westus\",\"tags\":{}}]}" + string: '{"value":[{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T07:27:23.5191967Z","changedTime":"2022-01-24T07:27:23.5082967Z","state":"Enabled","version":"08585585976419894334","accessEndpoint":"https://prod-25.centralus.logic.azure.com:443/workflows/f86fd089c6a744278a554786d174203c","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"evaluatedRecurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"52.173.241.27"},{"address":"52.173.245.164"},{"address":"13.89.171.80/28"},{"address":"13.89.178.64/27"},{"address":"40.77.68.110"},{"address":"20.98.144.224/27"},{"address":"20.98.145.0/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"},{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T04:01:33.1510349Z","changedTime":"2022-01-24T05:32:34.5054983Z","state":"Enabled","version":"08585586045309732017","accessEndpoint":"https://prod-185.westus.logic.azure.com:443/workflows/2fc344d1d95b4c45961142b761e30de8","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"evaluatedRecurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"accessControl":{"contents":{"allowedCallerIpAddresses":[{"addressRange":"10.0.0.0/24"}]}},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"52.160.92.112"},{"address":"40.118.244.241"},{"address":"40.118.241.243"},{"address":"157.56.162.53"},{"address":"157.56.167.147"},{"address":"104.42.49.145"},{"address":"40.83.164.80"},{"address":"104.42.38.32"},{"address":"13.86.223.0"},{"address":"13.86.223.1"},{"address":"13.86.223.2"},{"address":"13.86.223.3"},{"address":"13.86.223.4"},{"address":"13.86.223.5"}],"accessEndpointIpAddresses":[{"address":"52.160.90.237"},{"address":"138.91.188.137"},{"address":"13.91.252.184"},{"address":"157.56.160.212"}]},"connector":{"outgoingIpAddresses":[{"address":"13.93.148.62"},{"address":"104.42.122.49"},{"address":"40.112.195.87"},{"address":"13.86.223.32/27"},{"address":"40.112.243.160/28"},{"address":"20.59.77.0/27"},{"address":"20.66.6.112/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Logic/workflows/yu-test-wf","name":"yu-test-wf","type":"Microsoft.Logic/workflows","location":"westus"},{"properties":{"provisioningState":"Succeeded","createdTime":"2019-11-18T06:41:01.5064237Z","changedTime":"2021-04-21T05:57:33.1094235Z","state":"Enabled","version":"08585826222323923767","accessEndpoint":"https://prod-29.westus.logic.azure.com:443/workflows/cf5bb036a7fa41d4ad8b964d5eea3343","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"Trigger_at_18:00_every_day":{"recurrence":{"frequency":"Day","interval":1,"schedule":{"hours":["18"]},"timeZone":"China + Standard Time"},"type":"Recurrence"}},"actions":{"Delete_resource_groups":{"foreach":"@body(''Filter_elements_except_resource_group_name_is_equal_to_\"AzureSDKTest_reserved\"'')","actions":{"Delete_a_resource_group":{"runAfter":{},"type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''arm_1''][''connectionId'']"}},"method":"delete","path":"/subscriptions/@{encodeURIComponent(''0b1f6471-1bf0-4dda-aec3-cb9272f09590'')}/resourcegroups/@{encodeURIComponent(items(''Delete_resource_groups'')?[''name''])}","queries":{"x-ms-api-version":"2016-06-01"}}}},"runAfter":{"Filter_elements_except_resource_group_name_is_equal_to_\"AzureSDKTest_reserved\"":["Succeeded"]},"type":"Foreach"},"Filter_elements_except_resource_group_name_is_equal_to_\"AzureSDKTest_reserved\"":{"runAfter":{"List_resource_groups":["Succeeded"]},"type":"Query","inputs":{"from":"@body(''List_resource_groups'')?[''value'']","where":"@not(equals(item()?[''name''], + ''AzureSDKTest_reserved''))"}},"List_resource_groups":{"runAfter":{},"type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''arm_1''][''connectionId'']"}},"method":"get","path":"/subscriptions/@{encodeURIComponent(''0b1f6471-1bf0-4dda-aec3-cb9272f09590'')}/resourcegroups","queries":{"x-ms-api-version":"2016-06-01"}}}},"outputs":{}},"parameters":{"$connections":{"value":{"arm_1":{"connectionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Web/connections/arm-1","connectionName":"arm-1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/arm"}}}},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"52.160.92.112"},{"address":"40.118.244.241"},{"address":"40.118.241.243"},{"address":"157.56.162.53"},{"address":"157.56.167.147"},{"address":"104.42.49.145"},{"address":"40.83.164.80"},{"address":"104.42.38.32"},{"address":"13.86.223.0"},{"address":"13.86.223.1"},{"address":"13.86.223.2"},{"address":"13.86.223.3"},{"address":"13.86.223.4"},{"address":"13.86.223.5"}],"accessEndpointIpAddresses":[{"address":"52.160.90.237"},{"address":"138.91.188.137"},{"address":"13.91.252.184"},{"address":"157.56.160.212"}]},"connector":{"outgoingIpAddresses":[{"address":"13.93.148.62"},{"address":"104.42.122.49"},{"address":"40.112.195.87"},{"address":"13.86.223.32/27"},{"address":"40.112.243.160/28"},{"address":"20.59.77.0/27"},{"address":"20.66.6.112/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Logic/workflows/AzureSDKTest_ScheduledCleaner","name":"AzureSDKTest_ScheduledCleaner","type":"Microsoft.Logic/workflows","location":"westus","tags":{}},{"properties":{"provisioningState":"Succeeded","createdTime":"2020-04-24T06:33:36.5052747Z","changedTime":"2020-04-24T06:33:36.4986025Z","state":"Enabled","version":"08586138968690384726","accessEndpoint":"https://prod-123.westus.logic.azure.com:443/workflows/72b1a436cf5a4f65950d224869dd7484","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{},"triggers":{},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"52.160.92.112"},{"address":"40.118.244.241"},{"address":"40.118.241.243"},{"address":"157.56.162.53"},{"address":"157.56.167.147"},{"address":"104.42.49.145"},{"address":"40.83.164.80"},{"address":"104.42.38.32"},{"address":"13.86.223.0"},{"address":"13.86.223.1"},{"address":"13.86.223.2"},{"address":"13.86.223.3"},{"address":"13.86.223.4"},{"address":"13.86.223.5"}],"accessEndpointIpAddresses":[{"address":"52.160.90.237"},{"address":"138.91.188.137"},{"address":"13.91.252.184"},{"address":"157.56.160.212"}]},"connector":{"outgoingIpAddresses":[{"address":"13.93.148.62"},{"address":"104.42.122.49"},{"address":"40.112.195.87"},{"address":"13.86.223.32/27"},{"address":"40.112.243.160/28"},{"address":"20.59.77.0/27"},{"address":"20.66.6.112/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Logic/workflows/FetchModules","name":"FetchModules","type":"Microsoft.Logic/workflows","location":"westus","tags":{}},{"properties":{"provisioningState":"Succeeded","createdTime":"2019-11-25T03:03:51.6406922Z","changedTime":"2020-03-02T03:30:46.8880289Z","state":"Disabled","version":"08586184870386928444","accessEndpoint":"https://prod-52.westus.logic.azure.com:443/workflows/ad25d96f848444caaf7c4ec48853fbcf","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"Recurrence":{"recurrence":{"frequency":"Day","interval":3},"type":"Recurrence"}},"actions":{"List_resource_groups":{"runAfter":{},"type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''arm''][''connectionId'']"}},"method":"get","path":"/subscriptions/@{encodeURIComponent(''0b1f6471-1bf0-4dda-aec3-cb9272f09590'')}/resourcegroups","queries":{"x-ms-api-version":"2016-06-01"}}},"Run_query_and_list_results":{"runAfter":{"List_resource_groups":["Succeeded"]},"type":"ApiConnection","inputs":{"body":"[].eventTimestamp","host":{"connection":{"name":"@parameters(''$connections'')[''azuremonitorlogs''][''connectionId'']"}},"method":"post","path":"/queryData","queries":{"resourcegroups":"new-experiences","resourcename":"Microsoft.ClassicCompute","resourcetype":"virtualMachines","subscriptions":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","timerange":"60"}}}},"outputs":{}},"parameters":{"$connections":{"value":{"arm":{"connectionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Web/connections/arm","connectionName":"arm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/arm"},"azuremonitorlogs":{"connectionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Web/connections/azuremonitorlogs","connectionName":"azuremonitorlogs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/azuremonitorlogs"}}}},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"52.160.92.112"},{"address":"40.118.244.241"},{"address":"40.118.241.243"},{"address":"157.56.162.53"},{"address":"157.56.167.147"},{"address":"104.42.49.145"},{"address":"40.83.164.80"},{"address":"104.42.38.32"},{"address":"13.86.223.0"},{"address":"13.86.223.1"},{"address":"13.86.223.2"},{"address":"13.86.223.3"},{"address":"13.86.223.4"},{"address":"13.86.223.5"}],"accessEndpointIpAddresses":[{"address":"52.160.90.237"},{"address":"138.91.188.137"},{"address":"13.91.252.184"},{"address":"157.56.160.212"}]},"connector":{"outgoingIpAddresses":[{"address":"13.93.148.62"},{"address":"104.42.122.49"},{"address":"40.112.195.87"},{"address":"13.86.223.32/27"},{"address":"40.112.243.160/28"},{"address":"20.59.77.0/27"},{"address":"20.66.6.112/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Logic/workflows/TestLogicApp","name":"TestLogicApp","type":"Microsoft.Logic/workflows","location":"westus","tags":{}}]}' headers: cache-control: - no-cache content-length: - - '11011' + - '12225' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:14 GMT + - Mon, 24 Jan 2022 07:27:37 GMT expires: - '-1' pragma: @@ -542,10 +411,10 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - centralus:0d755bc2-b58a-49a3-bf40-ad6a3be69fd6 - - westus:d2a88313-9037-4080-a63d-34fe6b643f2d + - centralus:7d160240-ef36-4fea-ab30-c8d04fa22cda + - westus:d8e2b45b-5f21-4444-b76b-fcdd85817426 x-ms-ratelimit-remaining-subscription-resource-requests: - - '19997' + - '19999' status: code: 200 message: OK @@ -567,7 +436,7 @@ interactions: ParameterSetName: - --sku --name --resource-group User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 response: @@ -581,7 +450,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:19 GMT + - Mon, 24 Jan 2022 07:27:45 GMT expires: - '-1' pragma: @@ -595,7 +464,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1199' status: code: 200 message: OK @@ -613,21 +482,21 @@ interactions: ParameterSetName: - --resource-group --tag --definition --name User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 response: body: - string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-12-04T06:50:05.6920561Z","changedTime":"2020-12-04T06:50:05.6785038Z","state":"Enabled","version":"08585945422798239259","accessEndpoint":"https://prod-20.centralus.logic.azure.com:443/workflows/88979037c9cd49a183bb70f0ccfceada","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T07:27:23.5191967Z","changedTime":"2022-01-24T07:27:23.5082967Z","state":"Enabled","version":"08585585976419894334","accessEndpoint":"https://prod-25.centralus.logic.azure.com:443/workflows/f86fd089c6a744278a554786d174203c","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":1},"evaluatedRecurrence":{"frequency":"Minute","interval":1},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"52.173.241.27"},{"address":"52.173.245.164"},{"address":"13.89.171.80/28"},{"address":"13.89.178.64/27"},{"address":"40.77.68.110"},{"address":"20.98.144.224/27"},{"address":"20.98.145.0/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus"}' headers: cache-control: - no-cache content-length: - - '1797' + - '1945' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:22 GMT + - Mon, 24 Jan 2022 07:27:47 GMT expires: - '-1' pragma: @@ -641,7 +510,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '19994' + - '19999' status: code: 200 message: OK @@ -653,8 +522,9 @@ interactions: {"address": "23.100.87.56"}, {"address": "23.100.82.16"}], "accessEndpointIpAddresses": [{"address": "13.67.236.76"}, {"address": "40.77.111.254"}, {"address": "40.77.31.87"}, {"address": "104.43.243.39"}]}, "connector": {"outgoingIpAddresses": [{"address": - "13.89.171.80/28"}, {"address": "40.122.49.51"}, {"address": "52.173.245.164"}, - {"address": "52.173.241.27"}]}}, "definition": {"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "52.173.241.27"}, {"address": "52.173.245.164"}, {"address": "13.89.171.80/28"}, + {"address": "13.89.178.64/27"}, {"address": "40.77.68.110"}, {"address": "20.98.144.224/27"}, + {"address": "20.98.145.0/28"}]}}, "definition": {"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions": {}, "contentVersion": "1.0.0.0", "outputs": {}, "parameters": {"$connections": {"defaultValue": {}, "type": "Object"}}, "triggers": {"When_a_feed_item_is_published": {"inputs": {"host": {"connection": {"name": "@parameters(''$connections'')[''rss''][''connectionId'']"}}, @@ -671,27 +541,27 @@ interactions: Connection: - keep-alive Content-Length: - - '1343' + - '1439' Content-Type: - application/json ParameterSetName: - --resource-group --tag --definition --name User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 response: body: - string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-12-04T06:50:23.8850335Z","changedTime":"2020-12-04T06:50:23.8797192Z","state":"Enabled","version":"08585945422616070918","accessEndpoint":"https://prod-20.centralus.logic.azure.com:443/workflows/88979037c9cd49a183bb70f0ccfceada","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":2},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus","tags":{"atag":"123"}}' + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T07:27:49.5519561Z","changedTime":"2022-01-24T07:27:49.5326592Z","state":"Enabled","version":"08585585976159478845","accessEndpoint":"https://prod-25.centralus.logic.azure.com:443/workflows/f86fd089c6a744278a554786d174203c","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":2},"evaluatedRecurrence":{"frequency":"Minute","interval":2},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"52.173.241.27"},{"address":"52.173.245.164"},{"address":"13.89.171.80/28"},{"address":"13.89.178.64/27"},{"address":"40.77.68.110"},{"address":"20.98.144.224/27"},{"address":"20.98.145.0/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus","tags":{"atag":"123"}}' headers: cache-control: - no-cache content-length: - - '1819' + - '1967' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:26 GMT + - Mon, 24 Jan 2022 07:27:51 GMT expires: - '-1' pragma: @@ -705,7 +575,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1199' status: code: 200 message: OK @@ -723,21 +593,21 @@ interactions: ParameterSetName: - --resource-group --tag --name User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 response: body: - string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-12-04T06:50:05.6920561Z","changedTime":"2020-12-04T06:50:23.8797192Z","state":"Enabled","version":"08585945422616070918","accessEndpoint":"https://prod-20.centralus.logic.azure.com:443/workflows/88979037c9cd49a183bb70f0ccfceada","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":2},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus","tags":{"atag":"123"}}' + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T07:27:23.5191967Z","changedTime":"2022-01-24T07:27:49.5326592Z","state":"Enabled","version":"08585585976159478845","accessEndpoint":"https://prod-25.centralus.logic.azure.com:443/workflows/f86fd089c6a744278a554786d174203c","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":2},"evaluatedRecurrence":{"frequency":"Minute","interval":2},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"52.173.241.27"},{"address":"52.173.245.164"},{"address":"13.89.171.80/28"},{"address":"13.89.178.64/27"},{"address":"40.77.68.110"},{"address":"20.98.144.224/27"},{"address":"20.98.145.0/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus","tags":{"atag":"123"}}' headers: cache-control: - no-cache content-length: - - '1819' + - '1967' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:28 GMT + - Mon, 24 Jan 2022 07:27:53 GMT expires: - '-1' pragma: @@ -751,7 +621,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '19997' + - '19998' status: code: 200 message: OK @@ -763,12 +633,14 @@ interactions: {"address": "23.100.87.56"}, {"address": "23.100.82.16"}], "accessEndpointIpAddresses": [{"address": "13.67.236.76"}, {"address": "40.77.111.254"}, {"address": "40.77.31.87"}, {"address": "104.43.243.39"}]}, "connector": {"outgoingIpAddresses": [{"address": - "13.89.171.80/28"}, {"address": "40.122.49.51"}, {"address": "52.173.245.164"}, - {"address": "52.173.241.27"}]}}, "definition": {"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "52.173.241.27"}, {"address": "52.173.245.164"}, {"address": "13.89.171.80/28"}, + {"address": "13.89.178.64/27"}, {"address": "40.77.68.110"}, {"address": "20.98.144.224/27"}, + {"address": "20.98.145.0/28"}]}}, "definition": {"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "contentVersion": "1.0.0.0", "parameters": {"$connections": {"defaultValue": {}, "type": "Object"}}, "triggers": {"When_a_feed_item_is_published": {"recurrence": - {"frequency": "Minute", "interval": 2}, "splitOn": "@triggerBody()?[''value'']", - "type": "ApiConnection", "inputs": {"host": {"connection": {"name": "@parameters(''$connections'')[''rss''][''connectionId'']"}}, + {"frequency": "Minute", "interval": 2}, "evaluatedRecurrence": {"frequency": + "Minute", "interval": 2}, "splitOn": "@triggerBody()?[''value'']", "type": "ApiConnection", + "inputs": {"host": {"connection": {"name": "@parameters(''$connections'')[''rss''][''connectionId'']"}}, "method": "get", "path": "/OnNewFeed", "queries": {"feedUrl": "http://feeds.reuters.com/reuters/topNews"}}}}, "actions": {}, "outputs": {}}}}' headers: @@ -781,27 +653,27 @@ interactions: Connection: - keep-alive Content-Length: - - '1343' + - '1502' Content-Type: - application/json ParameterSetName: - --resource-group --tag --name User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 response: body: - string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2020-12-04T06:50:29.5762822Z","changedTime":"2020-12-04T06:50:29.5618867Z","state":"Enabled","version":"08585945422559172135","accessEndpoint":"https://prod-20.centralus.logic.azure.com:443/workflows/88979037c9cd49a183bb70f0ccfceada","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":2},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"13.89.171.80/28"},{"address":"40.122.49.51"},{"address":"52.173.245.164"},{"address":"52.173.241.27"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus","tags":{"atag":"foo"}}' + string: '{"properties":{"provisioningState":"Succeeded","createdTime":"2022-01-24T07:27:55.0457762Z","changedTime":"2022-01-24T07:27:55.0405252Z","state":"Enabled","version":"08585585976104510389","accessEndpoint":"https://prod-25.centralus.logic.azure.com:443/workflows/f86fd089c6a744278a554786d174203c","definition":{"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"}},"triggers":{"When_a_feed_item_is_published":{"recurrence":{"frequency":"Minute","interval":2},"evaluatedRecurrence":{"frequency":"Minute","interval":2},"splitOn":"@triggerBody()?[''value'']","type":"ApiConnection","inputs":{"host":{"connection":{"name":"@parameters(''$connections'')[''rss''][''connectionId'']"}},"method":"get","path":"/OnNewFeed","queries":{"feedUrl":"http://feeds.reuters.com/reuters/topNews"}}}},"actions":{},"outputs":{}},"parameters":{},"endpointsConfiguration":{"workflow":{"outgoingIpAddresses":[{"address":"13.67.236.125"},{"address":"104.208.25.27"},{"address":"40.122.170.198"},{"address":"40.113.218.230"},{"address":"23.100.86.139"},{"address":"23.100.87.24"},{"address":"23.100.87.56"},{"address":"23.100.82.16"}],"accessEndpointIpAddresses":[{"address":"13.67.236.76"},{"address":"40.77.111.254"},{"address":"40.77.31.87"},{"address":"104.43.243.39"}]},"connector":{"outgoingIpAddresses":[{"address":"52.173.241.27"},{"address":"52.173.245.164"},{"address":"13.89.171.80/28"},{"address":"13.89.178.64/27"},{"address":"40.77.68.110"},{"address":"20.98.144.224/27"},{"address":"20.98.145.0/28"}]}}},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005","name":"cli_test_000005","type":"Microsoft.Logic/workflows","location":"centralus","tags":{"atag":"foo"}}' headers: cache-control: - no-cache content-length: - - '1819' + - '1967' content-type: - application/json; charset=utf-8 date: - - Fri, 04 Dec 2020 06:50:32 GMT + - Mon, 24 Jan 2022 07:27:57 GMT expires: - '-1' pragma: @@ -815,7 +687,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -835,7 +707,7 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000001/providers/Microsoft.Logic/workflows/cli_test_000005?api-version=2019-05-01 response: @@ -847,7 +719,7 @@ interactions: content-length: - '0' date: - - Fri, 04 Dec 2020 06:50:41 GMT + - Mon, 24 Jan 2022 07:28:06 GMT expires: - '-1' pragma: @@ -857,7 +729,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 200 message: OK @@ -877,7 +749,7 @@ interactions: ParameterSetName: - --name --resource-group -y User-Agent: - - AZURECLI/2.15.1 azsdk-python-logicmanagementclient/unknown Python/3.7.4 (Linux-4.15.0-123-generic-x86_64-with-debian-buster-sid) + - AZURECLI/2.26.1 azsdk-python-logicmanagementclient/unknown Python/3.7.8 (Windows-10-10.0.19041-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_000002/providers/Microsoft.Logic/integrationAccounts/cli_test_000004?api-version=2019-05-01 response: @@ -889,7 +761,7 @@ interactions: content-length: - '0' date: - - Fri, 04 Dec 2020 06:50:45 GMT + - Mon, 24 Jan 2022 07:28:12 GMT expires: - '-1' pragma: @@ -899,7 +771,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 200 message: OK diff --git a/src/logic/azext_logic/tests/latest/test_logic_scenario.py b/src/logic/azext_logic/tests/latest/test_logic_scenario.py index 8703d513a29..e6344db5923 100644 --- a/src/logic/azext_logic/tests/latest/test_logic_scenario.py +++ b/src/logic/azext_logic/tests/latest/test_logic_scenario.py @@ -4,10 +4,8 @@ # -------------------------------------------------------------------------------------------- import os -import unittest from azure.cli.testsdk import JMESPathCheck -from azure_devtools.scenario_tests import AllowLargeResponse from azure.cli.testsdk import ScenarioTest from azure.cli.testsdk import ResourceGroupPreparer diff --git a/src/logic/azext_logic/vendored_sdks/logic/models/__init__.py b/src/logic/azext_logic/vendored_sdks/logic/models/__init__.py index 0ae4722c172..92a2e904287 100644 --- a/src/logic/azext_logic/vendored_sdks/logic/models/__init__.py +++ b/src/logic/azext_logic/vendored_sdks/logic/models/__init__.py @@ -68,6 +68,8 @@ from ._models_py3 import ExpressionRoot from ._models_py3 import ExpressionTraces from ._models_py3 import ExtendedErrorInfo + from ._models_py3 import FlowAccessControlConfiguration + from ._models_py3 import FlowAccessControlConfigurationPolicy from ._models_py3 import FlowEndpoints from ._models_py3 import FlowEndpointsConfiguration from ._models_py3 import GenerateUpgradedDefinitionParameters @@ -107,6 +109,7 @@ from ._models_py3 import IntegrationServiceEnvironmentSkuList from ._models_py3 import IntegrationServiceEnvironmentSubnetNetworkHealth from ._models_py3 import IpAddress + from ._models_py3 import IpAddressRange from ._models_py3 import JsonSchema from ._models_py3 import KeyVaultKey from ._models_py3 import KeyVaultKeyAttributes diff --git a/src/logic/setup.py b/src/logic/setup.py index 9531649e402..4caa085925c 100644 --- a/src/logic/setup.py +++ b/src/logic/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 @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/logic', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/logic', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/logz/azext_logz/tests/latest/test_logz_commands.py b/src/logz/azext_logz/tests/latest/test_logz_commands.py index 985ecd01c2b..a8944a66c66 100644 --- a/src/logz/azext_logz/tests/latest/test_logz_commands.py +++ b/src/logz/azext_logz/tests/latest/test_logz_commands.py @@ -9,11 +9,11 @@ ResourceGroupPreparer, ScenarioTest ) -from azure_devtools.scenario_tests import ( +from azure.cli.testsdk.scenario_tests import ( RecordingProcessor, live_only ) -from azure_devtools.scenario_tests.utilities import is_text_payload +from azure.cli.testsdk.scenario_tests.utilities import is_text_payload class CredentialReplacer(RecordingProcessor): diff --git a/src/logz/setup.py b/src/logz/setup.py index 11767b6d597..4f5cfee1452 100644 --- a/src/logz/setup.py +++ b/src/logz/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools MicrosoftLogz Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/logz', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/logz', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/maintenance/setup.py b/src/maintenance/setup.py index 59fb75e0f9b..1673dff8123 100644 --- a/src/maintenance/setup.py +++ b/src/maintenance/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools MaintenanceManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/maintenance', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/maintenance', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/managementpartner/setup.py b/src/managementpartner/setup.py index bd1fb742693..2086cd3c1be 100644 --- a/src/managementpartner/setup.py +++ b/src/managementpartner/setup.py @@ -34,7 +34,7 @@ license='MIT', author='Jeffrey Li', author_email='jefl@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/managementpartner', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/managementpartner', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), install_requires=DEPENDENCIES, diff --git a/src/mesh/setup.py b/src/mesh/setup.py index 99d0d8baeea..fe3de3e2416 100644 --- a/src/mesh/setup.py +++ b/src/mesh/setup.py @@ -42,7 +42,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/mesh', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/mesh', classifiers=CLASSIFIERS, package_data={'azext_mesh': ['azext_metadata.json']}, packages=find_packages(), diff --git a/src/mixed-reality/azext_mixed_reality/tests/latest/recording_processors.py b/src/mixed-reality/azext_mixed_reality/tests/latest/recording_processors.py index 74abb653eca..e0f6e050d4b 100644 --- a/src/mixed-reality/azext_mixed_reality/tests/latest/recording_processors.py +++ b/src/mixed-reality/azext_mixed_reality/tests/latest/recording_processors.py @@ -3,8 +3,8 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure_devtools.scenario_tests import RecordingProcessor -from azure_devtools.scenario_tests.utilities import is_text_payload +from azure.cli.testsdk.scenario_tests import RecordingProcessor +from azure.cli.testsdk.scenario_tests.utilities import is_text_payload MOCK_KEY = 'mock_key' diff --git a/src/mixed-reality/setup.py b/src/mixed-reality/setup.py index 47192e34c8f..957148b010d 100644 --- a/src/mixed-reality/setup.py +++ b/src/mixed-reality/setup.py @@ -33,7 +33,7 @@ license='MIT', author='Xiangyu Luo', author_email='xiangyul@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/mixed-reality', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/mixed-reality', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), install_requires=DEPENDENCIES, diff --git a/src/monitor-control-service/setup.py b/src/monitor-control-service/setup.py index 901fb022f95..efbff42a818 100644 --- a/src/monitor-control-service/setup.py +++ b/src/monitor-control-service/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools MonitorClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/monitor-control-service', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/monitor-control-service', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/netappfiles-preview/setup.py b/src/netappfiles-preview/setup.py index e5ce85ae15d..57d8bd901ce 100644 --- a/src/netappfiles-preview/setup.py +++ b/src/netappfiles-preview/setup.py @@ -41,7 +41,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/netappfiles-preview', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/netappfiles-preview', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), package_data={'azext_netappfiles_preview': ['azext_metadata.json']}, diff --git a/src/network-manager/HISTORY.rst b/src/network-manager/HISTORY.rst index f31690b85c4..bf9d0f814f9 100644 --- a/src/network-manager/HISTORY.rst +++ b/src/network-manager/HISTORY.rst @@ -3,6 +3,16 @@ Release History =============== +0.4.0 ++++++ +* Add new cmd `az network manager connection` +* Add new cmd `az network manager connection management-group` +* Add new cmd `az network manager scope connection` +* Add new cmd `az network manager group static-member` +* `az network manager group delete`: add parameter `force` +* `az network manager security-admin-config delete`: add parameter `force` and add parameter `recursive` +* Bump up azure-mgmt-network SDK to 2021_05_01_preview + 0.3.0 +++++ * `az network manager list-active-connectivity-config`: rename parameter `region` to `regions` diff --git a/src/network-manager/azext_network_manager/_client_factory.py b/src/network-manager/azext_network_manager/_client_factory.py index f179932e2f6..aa3cfad7fc1 100644 --- a/src/network-manager/azext_network_manager/_client_factory.py +++ b/src/network-manager/azext_network_manager/_client_factory.py @@ -15,14 +15,6 @@ def cf_network_cl(cli_ctx, *_): return get_mgmt_service_client(cli_ctx, NetworkManagementClient) -def cf_activeconnectivityconfiguration(cli_ctx, *_): - return cf_network_cl(cli_ctx).active_connectivity_configurations - - -def cf_activesecurityadminrule(cli_ctx, *_): - return cf_network_cl(cli_ctx).active_security_admin_rules - - def cf_activesecurityuserrule(cli_ctx, *_): return cf_network_cl(cli_ctx).active_security_user_rules @@ -39,14 +31,18 @@ def cf_connectivityconfiguration(cli_ctx, *_): return cf_network_cl(cli_ctx).connectivity_configurations -def cf_effectiveconnectivityconfiguration(cli_ctx, *_): - return cf_network_cl(cli_ctx).effective_connectivity_configurations +def cf_listeffectivevirtualnetwork(cli_ctx, *_): + return cf_network_cl(cli_ctx).list_effective_virtual_networks def cf_effectivevirtualnetwork(cli_ctx, *_): return cf_network_cl(cli_ctx).effective_virtual_networks +def cf_networkmanagementclient(cli_ctx, *_): + return cf_network_cl(cli_ctx) + + def cf_networkgroup(cli_ctx, *_): return cf_network_cl(cli_ctx).network_groups @@ -59,10 +55,6 @@ def cf_networkmanagerdeploymentstatus(cli_ctx, *_): return cf_network_cl(cli_ctx).network_manager_deployment_status -def cf_effectivesecurityadminrule(cli_ctx, *_): - return cf_network_cl(cli_ctx).network_manager_effective_security_admin_rules - - def cf_networkmanager(cli_ctx, *_): return cf_network_cl(cli_ctx).network_managers @@ -81,3 +73,19 @@ def cf_userrulecollection(cli_ctx, *_): def cf_userrule(cli_ctx, *_): return cf_network_cl(cli_ctx).user_rules + + +def cf_scopeconnection(cli_ctx, *_): + return cf_network_cl(cli_ctx).scope_connections + + +def cf_staticmembers(cli_ctx, *_): + return cf_network_cl(cli_ctx).static_members + + +def cf_subscriptionconnection(cli_ctx, *_): + return cf_network_cl(cli_ctx).subscription_network_manager_connections + + +def cf_managementgroupconnection(cli_ctx, *_): + return cf_network_cl(cli_ctx).management_group_network_manager_connections diff --git a/src/network-manager/azext_network_manager/_help.py b/src/network-manager/azext_network_manager/_help.py index 819d7d9e5a8..7c4b47a2e6f 100644 --- a/src/network-manager/azext_network_manager/_help.py +++ b/src/network-manager/azext_network_manager/_help.py @@ -322,7 +322,7 @@ - name: Delete Azure Virtual Network Manager Group text: |- az network manager group delete --name "TestNetworkGroup" --network-manager-name "testNetworkManager" \ ---resource-group "rg1" +--resource-group "rg1" --force """ helps['network manager group list-effect-vnet'] = """ @@ -436,7 +436,7 @@ - name: Delete network manager security admin Configuration text: |- az network manager security-admin-config delete --configuration-name "myTestSecurityConfig" \ ---network-manager-name "testNetworkManager" --resource-group "rg1" +--network-manager-name "testNetworkManager" --resource-group "rg1" --force """ helps['network manager security-admin-config rule-collection'] = """ @@ -740,3 +740,227 @@ az network manager security-user-config rule-collection rule delete --configuration-name "myTestSecurityConfig" --network-manager-name \ "testNetworkManager" --resource-group "rg1" --rule-collection-name "myTestCollection" --rule-name "SampleUserRule" """ + +helps['network manager connection subscription'] = """ + type: group + short-summary: Manage subscription-group connection with network +""" + +helps['network manager connection subscription list'] = """ + type: command + short-summary: "List all network manager connections created by this subscription." + examples: + - name: List network manager connections in a network manager + text: |- + az network manager connection subscription list +""" + +helps['network manager connection subscription show'] = """ + type: command + short-summary: "Get a specified connection created by this subscription." + examples: + - name: Get network manager connection + text: |- + az network manager connection subscription show --connection-name "testNetworkManagerConnection" +""" + +helps['network manager connection subscription create'] = """ + type: command + short-summary: "Create a connection from this subscription to a cross tenant network manager." + examples: + - name: Create network manager connection + text: |- + az network manager connection subscription create --connection-name "testNetworkManagerConnection" \ +--description "A sample policy" --network-manager-id /subscriptions/00000000-0000-0000-0000-000000000000\ +/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testManagerName +""" + +helps['network manager connection subscription update'] = """ + type: command + short-summary: "Update a connection from this subscription to a cross tenant network manager." + examples: + - name: Update network manager connection + text: |- + az network manager connection subscription update --connection-name "testNetworkManagerConnection" \ +--description "A sample policy" +""" + +helps['network manager connection subscription delete'] = """ + type: command + short-summary: "Deletes a network manager connection." + examples: + - name: Delete network manager connection + text: |- + az network manager connection subscription delete --connection-name "testNetworkManagerConnection" +""" + +helps['network manager connection'] = """ + type: group + short-summary: Manage connection with network manager +""" + +# helps['network manager connection management-group'] = """ +# type: group +# short-summary: Manage management-group connection with network +# """ +# +# helps['network manager connection management-group list'] = """ +# type: command +# short-summary: "List all network manager connections created by this management group." +# examples: +# - name: List management-group connections in a network manager +# text: |- +# az network manager connection management-group list --management-group-id "testManagementGroupId" \ +# --resource-group "rg1" +# """ +# +# helps['network manager connection management-group show'] = """ +# type: command +# short-summary: "Get a specified connection created by this management group." +# examples: +# - name: Get network manager connection management-group +# text: |- +# az network manager connection management-group show --management-group-id "testManagementGroupId" \ +# --connection-name "testNetworkManagerConnection" --resource-group "rg1" +# """ +# +# helps['network manager connection management-group create'] = """ +# type: command +# short-summary: Create a connection to a cross tenant network manager" +# examples: +# - name: Create network manager connection management-group +# text: |- +# az network manager connection management-group create --management-group-id "testManagementGroupId" \ +# --connection-name "testNetworkManagerConnection" --resource-group "rg1" --network-manager "testNetworkManagerId" \ +# --description "A sample policy" +# """ +# +# helps['network manager connection management-group update'] = """ +# type: command +# short-summary: "Update a connection to a cross tenant network manager" +# """ +# +# helps['network manager connection management-group delete'] = """ +# type: command +# short-summary: "Delete specified pending connection created by this management group." +# examples: +# - name: Delete network manager connection management-group +# text: |- +# az network manager connection management-group delete --management-group-id "testManagementGroupId" \ +# --connection-name "testNetworkManagerConnection" --resource-group "rg1" +# """ + +helps['network manager scope-connection'] = """ + type: group + short-summary: Manage scope connection with network +""" + +helps['network manager scope-connection list'] = """ + type: command + short-summary: "List all scope connections created by this network manager." + examples: + - name: List scope connections in a network manager + text: |- + az network manager scope-connection list --network-manager-name "testNetworkManager" --resource-group \ +"rg1" +""" + +helps['network manager scope-connection show'] = """ + type: command + short-summary: "Get specified scope connection created by this Network Manager." + examples: + - name: Get network manager scope-connection + text: |- + az network manager scope-connection show --name "TestScopeConnect" \ +--network-manager-name "testNetworkManager" --resource-group "rg1" +""" + +helps['network manager scope-connection create'] = """ + type: command + short-summary: "Creates scope connection from Network Manager." + examples: + - name: Create network manager scope-connection + text: |- + az network manager scope-connection create --name "TestScopeConnect" \ +--network-manager-name "testNetworkManager" --resource-group "rg1" --description "A sample policy" \ +--tenant-id 00000000-0000-0000-0000-000000000000 --resource-id /subscriptions/00000000-0000-0000-0000-000000000000 +""" + +helps['network manager scope-connection update'] = """ + type: command + short-summary: "Update scope connection from Network Manager." + examples: + - name: Update network manager scope-connection + text: |- + az network manager scope-connection update --name "TestScopeConnect" \ +--network-manager-name "testNetworkManager" --resource-group "rg1" --description "A sample policy" +""" + +helps['network manager scope-connection delete'] = """ + type: command + short-summary: "Delete the pending scope connection created by this network manager." + examples: + - name: Delete network manager scope connection + text: |- + az network manager scope-connection delete --name "TestScopeConnect" \ +--network-manager-name "testNetworkManager" --resource-group "rg1" +""" + +helps['network manager group static-member'] = """ + type: group + short-summary: Manage static members with network +""" + +helps['network manager group static-member list'] = """ + type: command + short-summary: "Lists the specified static member." + examples: + - name: List static member in a network manager + text: |- + az network manager group static-member list --network-manager-name "testNetworkManager" \ +--resource-group "rg1" --network-group-name "testNetworkManagerGroup" +""" + +helps['network manager group static-member show'] = """ + type: command + short-summary: "Gets the specified static member." + examples: + - name: Get network manager group static-member + text: |- + az network manager group static-member show --network-group-name "testNetworkManagerGroup" \ +--network-manager-name "testNetworkManager" --resource-group "rg1" --static-member-name "testStaticMember" +""" + +helps['network manager group static-member create'] = """ + type: command + short-summary: "Creates a static member." + examples: + - name: Create network manager security admin Configuration + text: |- + az network manager group static-member create --network-group-name "testNetworkManagerGroup" \ +--network-manager-name "testNetworkManager" --resource-group "rg1" --static-member-name "testStaticMember" \ +--resource-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/ \ +Microsoft.Network/virtualnetworks/virtual_network" +""" + +helps['network manager group static-member update'] = """ + type: command + short-summary: "Update a static member." + examples: + - name: Update network manager security admin Configuration + text: |- + az network manager group static-member update --network-group-name "testNetworkManagerGroup" \ +--network-manager-name "testNetworkManager" --resource-group "rg1" --static-member-name "testStaticMember" \ +--resource-id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/ \ +Microsoft.Network/virtualnetworks/virtual_network" +""" + +helps['network manager group static-member delete'] = """ + type: command + short-summary: "Deletes a static member." + examples: + - name: Delete network manager group static-member + text: |- + az network manager group static-member delete --network-group-name "testNetworkManagerGroup" \ +--network-manager-name "testNetworkManager" --resource-group "rg1" --static-member-name "testStaticMember" +""" diff --git a/src/network-manager/azext_network_manager/_params.py b/src/network-manager/azext_network_manager/_params.py index 669a93ff748..37dd7713533 100644 --- a/src/network-manager/azext_network_manager/_params.py +++ b/src/network-manager/azext_network_manager/_params.py @@ -9,7 +9,6 @@ # -------------------------------------------------------------------------- # pylint: disable=too-many-lines # pylint: disable=too-many-statements - from azure.cli.core.commands.parameters import ( tags_type, get_three_state_flag, @@ -258,6 +257,8 @@ def load_arguments(self, _): c.argument('network_manager_name', options_list=['--network-manager-name'], type=str, help='The name of the network manager.', id_part='name') c.argument('network_group_name', options_list=['--name', '-n', '--network-group-name'], type=str, help='The ' 'name of the network group to get.', id_part='child_name_1') + c.argument('force', arg_type=get_three_state_flag(), + help='Deletes the resource even if it is part of a deployed configuration.') with self.argument_context('network manager security-user-config list') as c: c.argument('resource_group_name', resource_group_name_type) @@ -354,6 +355,9 @@ def load_arguments(self, _): c.argument('network_manager_name', type=str, help='The name of the network manager.', id_part='name') c.argument('configuration_name', type=str, help='The name of the network manager security Configuration.', id_part='child_name_1') + c.argument('force', arg_type=get_three_state_flag(), + help='Deletes the resource even if it is part of a deployed configuration.') + c.argument('recursive', arg_type=get_three_state_flag(), help='Deletes the resource recursively.') with self.argument_context('network manager security-admin-config rule-collection create') as c: c.argument('resource_group_name', resource_group_name_type) @@ -536,3 +540,145 @@ def load_arguments(self, _): c.argument('flag', type=str, help='Default rule flag.') c.argument('kind', type=str, help='Required. Whether the rule is custom or default.Constant filled by server.', arg_type=get_enum_type(['Custom', 'Default'])) c.ignore('user_rule') + + with self.argument_context('network manager connection subscription create') as c: + c.argument('network_manager_connection_name', options_list=['--name', '-n', '--connection-name'], + type=str, help='The name of the network manager connection.') + c.argument('network_manager_id', options_list=['--network-manager', '--network-manager-id'], type=str, + help='the id of the network manager.') + c.argument('description', type=str, help='A description of the scope connection.') + + with self.argument_context('network manager connection subscription update') as c: + c.argument('network_manager_connection_name', options_list=['--name', '-n', '--connection-name'], + type=str, help='The name of the network manager connection.', id_part='name') + c.argument('description', type=str, help='A description of the scope connection.') + c.ignore('parameters') + + with self.argument_context('network manager connection subscription list') as c: + c.argument('top', type=int, help='An optional query parameter which specifies the maximum number of records to ' + 'be returned by the server.') + c.argument('skip_token', type=str, help='SkipToken is only used if a previous operation returned a partial ' + 'result. If a previous response contains a nextLink element, the value of the nextLink element will ' + 'include a skipToken parameter that specifies a starting point to use for subsequent calls.') + + with self.argument_context('network manager connection subscription show') as c: + c.argument('network_manager_connection_name', options_list=['--name', '-n', '--connection-name'], + type=str, help='The name of the network manager connection.', id_part='name') + + with self.argument_context('network manager connection subscription delete') as c: + c.argument('network_manager_connection_name', options_list=['--name', '-n', '--connection-name'], + type=str, help='The name of the network manager connection.', id_part='name') + +# with self.argument_context('network manager connection management-group create') as c: +# c.argument('network_manager_connection_name', options_list=['--name', '-n', '--connection-name'], type=str, +# help='The name of the network manager connection.') +# c.argument('management_group_id', type=str, +# help='The management group id which uniquely identify the microsoft azure management group') +# c.argument('network_manager_id', options_list=['--network-manager', '--network-manager-id'], type=str, +# help='the name or id of the network manager.', validator=validate_network_manager) +# c.argument('description', type=str, help='A description of the scope connection.') +# +# with self.argument_context('network manager connection management-group update') as c: +# c.argument('network_manager_connection_name', options_list=['--name', '-n', '--connection-name'], type=str, +# help='The name of the network manager connection.', id_part='child_name_1') +# c.argument('management_group_id', type=str, help='The management group id which uniquely identify ' +# 'the microsoft azure management group', id_part='name') +# c.argument('network_manager_id', options_list=['--network-manager', '--network-manager-id'], type=str, +# help='the name or id of the network manager.', validator=validate_network_manager) +# c.argument('description', type=str, help='A description of the scope connection.') +# c.ignore('parameters') +# +# with self.argument_context('network manager connection management-group list') as c: +# c.argument('management_group_id', type=str, +# help='The management group id which uniquely identify the microsoft azure management group') +# c.argument('top', type=int, help='An optional query parameter which specifies the maximum number of records to ' +# 'be returned by the server.') +# c.argument('skip_token', type=str, help='SkipToken is only used if a previous operation returned a partial ' +# 'result. If a previous response contains a nextLink element, the value of the nextLink element will ' +# 'include a skipToken parameter that specifies a starting point to use for subsequent calls.') +# +# with self.argument_context('network manager connection management-group show') as c: +# c.argument('network_manager_connection_name', options_list=['--name', '-n', '--connection-name'], type=str, +# help='The name of the network manager connection.', id_part='name') +# c.argument('management_group_id', type=str, +# help='The management group id which uniquely identify the microsoft azure management group') +# +# with self.argument_context('network manager connection management-group delete') as c: +# c.argument('network_manager_connection_name', options_list=['--name', '-n', '--connection-name'], type=str, +# help='The name of the network manager connection.', id_part='name') +# c.argument('management_group_id', type=str, +# help='The management group id which uniquely identify the microsoft azure management group') + + with self.argument_context('network manager scope-connection create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager') + c.argument('scope_connection_name', options_list=['--name', '-n', '--connection-name'], type=str, help='The name of the network manager scope connection.') + c.argument('tenant_id', type=str, help='The id of tenant') + c.argument('resource_id', type=str, help='The id of resource') + c.argument('description', type=str, help='A description of the scope connection.') + + with self.argument_context('network manager scope-connection update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager', id_part='name') + c.argument('scope_connection_name', options_list=['--name', '-n', '--connection-name'], type=str, help='The name of the network manager scope connection.', + id_part='child_name_1') + c.argument('description', type=str, help='A description of the scope connection.') + c.ignore('parameters') + + with self.argument_context('network manager scope-connection list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager', id_part=None) + c.argument('top', type=int, help='An optional query parameter which specifies the maximum number of records to ' + 'be returned by the server.') + c.argument('skip_token', type=str, help='SkipToken is only used if a previous operation returned a partial ' + 'result. If a previous response contains a nextLink element, the value of the nextLink element will ' + 'include a skipToken parameter that specifies a starting point to use for subsequent calls.') + + with self.argument_context('network manager scope-connection show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager', id_part='name') + c.argument('scope_connection_name', options_list=['--name', '-n', '--connection-name'], type=str, help='The name of the network manager scope connection.', + id_part='child_name_1') + + with self.argument_context('network manager scope-connection delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager', id_part='name') + c.argument('scope_connection_name', options_list=['--name', '-n', '--connection-name'], type=str, help='The name of the network manager scope connection.', + id_part='child_name_1') + + with self.argument_context('network manager group static-member create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager.') + c.argument('network_group_name', options_list=['--network-group', '--network-group-name'], type=str, help='The name of the network group.') + c.argument('static_member_name', options_list=['--name', '-n', '--static-member-name'], type=str, help='The name of the static member.') + c.argument('resource_id', type=str, help='The id of resource') + + with self.argument_context('network manager group static-member update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager.') + c.argument('network_group_name', options_list=['--network-group', '--network-group-name'], type=str, help='The name of the network group.') + c.argument('static_member_name', options_list=['--name', '-n', '--static-member-name'], type=str, help='The name of the static member.') + c.argument('resource_id', type=str, help='The id of resource') + c.ignore('parameters') + + with self.argument_context('network manager group static-member list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager.', id_part=None) + c.argument('network_group_name', options_list=['--network-group', '--network-group-name'], type=str, help='The name of the network group.', id_part=None) + c.argument('top', type=int, help='An optional query parameter which specifies the maximum number of records to ' + 'be returned by the server.') + c.argument('skip_token', type=str, help='SkipToken is only used if a previous operation returned a partial ' + 'result. If a previous response contains a nextLink element, the value of the nextLink element will ' + 'include a skipToken parameter that specifies a starting point to use for subsequent calls.') + + with self.argument_context('network manager group static-member show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager.') + c.argument('network_group_name', options_list=['--network-group', '--network-group-name'], type=str, help='The name of the network group.') + c.argument('static_member_name', options_list=['--name', '-n', '--static-member-name'], type=str, help='The name of the static member.') + + with self.argument_context('network manager group static-member delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('network_manager_name', options_list=['--network-manager', '--network-manager-name'], type=str, help='The name of the network manager.') + c.argument('network_group_name', options_list=['--network-group', '--network-group-name'], type=str, help='The name of the network group.') + c.argument('static_member_name', options_list=['--name', '-n', '--static-member-name'], type=str, help='The name of the static member.') diff --git a/src/network-manager/azext_network_manager/commands.py b/src/network-manager/azext_network_manager/commands.py index 95eecf89ea6..28d17979f06 100644 --- a/src/network-manager/azext_network_manager/commands.py +++ b/src/network-manager/azext_network_manager/commands.py @@ -8,14 +8,16 @@ # regenerated. # -------------------------------------------------------------------------- # pylint: disable=too-many-statements -# pylint: disable=too-many-locals +# pylint: disable=too-many-locals option_length_too_long from azure.cli.core.commands import CliCommandType from azext_network_manager._client_factory import ( - cf_networkmanager, cf_networkmanagercommit, cf_networkmanagerdeploymentstatus, cf_effectivevirtualnetwork, - cf_activeconnectivityconfiguration, cf_connectivityconfiguration, cf_networkgroup, cf_userrule, - cf_userrulecollection, cf_adminrule, cf_adminrulecollection, cf_securityadminconfiguration, cf_securityuserconfiguration, - cf_activesecurityadminrule, cf_activesecurityuserrule, cf_effectiveconnectivityconfiguration, cf_effectivesecurityadminrule) + cf_networkmanager, cf_networkmanagercommit, cf_networkmanagerdeploymentstatus, + cf_connectivityconfiguration, cf_networkgroup, cf_userrule, + cf_userrulecollection, cf_adminrule, cf_adminrulecollection, cf_securityadminconfiguration, + cf_securityuserconfiguration, cf_activesecurityuserrule, + cf_scopeconnection, cf_staticmembers, cf_listeffectivevirtualnetwork, + cf_subscriptionconnection, cf_managementgroupconnection, cf_effectivevirtualnetwork) def load_command_table(self, _): @@ -64,6 +66,26 @@ def load_command_table(self, _): client_factory=cf_userrulecollection ) + network_scopeconnection = CliCommandType( + operations_tmpl='azext_network_manager.vendored_sdks.operations._scope_connections_operations#ScopeConnectionsOperations.{}', + client_factory=cf_scopeconnection + ) + + network_staticmembers = CliCommandType( + operations_tmpl='azext_network_manager.vendored_sdks.operations._static_members_operations#StaticMembersOperations.{}', + client_factory=cf_staticmembers + ) + + network_subscriptionconnection = CliCommandType( + operations_tmpl='azext_network_manager.vendored_sdks.operations._subscription_network_manager_connections_operations#SubscriptionNetworkManagerConnectionsOperations.{}', + client_factory=cf_subscriptionconnection + ) + +# network_managementgroupconnection = CliCommandType( +# operations_tmpl='azext_network_manager.vendored_sdks.operations._management_group_network_manager_connections_operations#ManagementGroupNetworkManagerConnectionsOperations.{}', +# client_factory=cf_managementgroupconnection +# ) + with self.command_group('network manager', network_networkmanager, client_factory=cf_networkmanager) as g: g.custom_command('create', 'network_manager_create') g.custom_command('list', 'network_manager_list') @@ -135,3 +157,31 @@ def load_command_table(self, _): g.custom_command('list', 'network_manager_user_rule_collection_list') g.custom_show_command('show', 'network_manager_user_rule_collection_show') g.custom_command('delete', 'network_manager_user_rule_collection_delete', confirmation=True) + + with self.command_group('network manager connection subscription', network_subscriptionconnection, client_factory=cf_subscriptionconnection) as g: + g.custom_command('create', 'network_manager_connection_subscription_create') + g.generic_update_command('update', custom_func_name='network_manager_connection_subscription_update') + g.custom_command('list', 'network_manager_connection_subscription_list') + g.custom_show_command('show', 'network_manager_connection_subscription_show') + g.custom_command('delete', 'network_manager_connection_subscription_delete', confirmation=True) + +# with self.command_group('network manager connection management-group', network_managementgroupconnection, client_factory=cf_managementgroupconnection) as g: +# g.custom_command('create', 'network_manager_connection_management_group_create') +# g.generic_update_command('update', setter_arg_name='connection_management_group', custom_func_name='network_manager_connection_management_group_update') +# g.custom_command('list', 'network_manager_connection_management_group_list') +# g.custom_show_command('show', 'network_manager_connection_management_group_show') +# g.custom_command('delete', 'network_manager_connection_management_group_delete', confirmation=True) + + with self.command_group('network manager scope-connection', network_scopeconnection, client_factory=cf_scopeconnection) as g: + g.custom_command('create', 'network_manager_scope_connection_create') + g.generic_update_command('update', custom_func_name='network_manager_scope_connection_update') + g.custom_command('list', 'network_manager_scope_connection_list') + g.custom_show_command('show', 'network_manager_scope_connection_show') + g.custom_command('delete', 'network_manager_scope_connection_delete', confirmation=True) + + with self.command_group('network manager group static-member', network_staticmembers, client_factory=cf_staticmembers) as g: + g.custom_command('create', 'network_manager_group_static_member_create') + g.generic_update_command('update', custom_func_name='network_manager_group_static_member_update') + g.custom_command('list', 'network_manager_group_static_member_list') + g.custom_show_command('show', 'network_manager_group_static_member_show') + g.custom_command('delete', 'network_manager_group_static_member_delete', confirmation=True) diff --git a/src/network-manager/azext_network_manager/custom.py b/src/network-manager/azext_network_manager/custom.py index 8944940fc55..9db8a9876d2 100644 --- a/src/network-manager/azext_network_manager/custom.py +++ b/src/network-manager/azext_network_manager/custom.py @@ -9,16 +9,15 @@ # -------------------------------------------------------------------------- # pylint: disable=too-many-lines # pylint: disable=unused-argument +from knack.util import CLIError from ._client_factory import ( cf_networkmanagercommit, cf_networkmanagerdeploymentstatus, + cf_networkmanagementclient, + cf_activesecurityuserrule, cf_effectivevirtualnetwork, - cf_activeconnectivityconfiguration, - cf_effectiveconnectivityconfiguration, - cf_effectivesecurityadminrule, - cf_activesecurityadminrule, - cf_activesecurityuserrule + cf_listeffectivevirtualnetwork ) @@ -135,13 +134,13 @@ def network_manager_effect_vnet_list_by_network_group(cmd, network_manager_name, network_group_name, skip_token=None): - client = cf_effectivevirtualnetwork(cmd.cli_ctx) + client = cf_listeffectivevirtualnetwork(cmd.cli_ctx) parameters = {} parameters['skip_token'] = skip_token - return client.list_by_network_group(resource_group_name=resource_group_name, - network_manager_name=network_manager_name, - network_group_name=network_group_name, - parameters=parameters) + return client.by_network_group(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + parameters=parameters) def network_manager_effect_vnet_list_by_network_manager(cmd, @@ -168,13 +167,13 @@ def network_manager_active_config_list(cmd, network_manager_name, skip_token=None, regions=None): - client = cf_activeconnectivityconfiguration(cmd.cli_ctx) + client = cf_networkmanagementclient(cmd.cli_ctx) parameters = {} parameters['skip_token'] = skip_token parameters['regions'] = regions - return client.list(resource_group_name=resource_group_name, - network_manager_name=network_manager_name, - parameters=parameters) + return client.list_active_connectivity_configurations(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + parameters=parameters) def network_manager_effective_config_list(cmd, @@ -182,12 +181,12 @@ def network_manager_effective_config_list(cmd, resource_group_name, virtual_network_name, skip_token=None): - client = cf_effectiveconnectivityconfiguration(cmd.cli_ctx) + client = cf_networkmanagementclient(cmd.cli_ctx) parameters = {} parameters['skip_token'] = skip_token - return client.list(resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - parameters=parameters) + return client.list_network_manager_effective_connectivity_configurations(resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + parameters=parameters) def network_manager_effective_security_admin_rule_list(cmd, @@ -195,12 +194,12 @@ def network_manager_effective_security_admin_rule_list(cmd, resource_group_name, virtual_network_name, skip_token=None): - client = cf_effectivesecurityadminrule(cmd.cli_ctx) + client = cf_networkmanagementclient(cmd.cli_ctx) parameters = {} parameters['skip_token'] = skip_token - return client.list(resource_group_name=resource_group_name, - virtual_network_name=virtual_network_name, - parameters=parameters) + return client.list_network_manager_effective_security_admin_rules(resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + parameters=parameters) def network_manager_active_security_admin_rule_list(cmd, @@ -209,13 +208,13 @@ def network_manager_active_security_admin_rule_list(cmd, network_manager_name, skip_token=None, regions=None): - client = cf_activesecurityadminrule(cmd.cli_ctx) + client = cf_networkmanagementclient(cmd.cli_ctx) parameters = {} parameters['skip_token'] = skip_token parameters['region'] = regions - return client.list(resource_group_name=resource_group_name, - network_manager_name=network_manager_name, - parameters=parameters) + return client.list_active_security_admin_rules(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + parameters=parameters) def network_manager_active_security_user_rule_list(cmd, @@ -397,10 +396,12 @@ def network_manager_group_update(instance, def network_manager_group_delete(client, resource_group_name, network_manager_name, - network_group_name): + network_group_name, + force): return client.delete(resource_group_name=resource_group_name, network_manager_name=network_manager_name, - network_group_name=network_group_name) + network_group_name=network_group_name, + force=force) def network_manager_security_user_config_list(client, @@ -524,10 +525,16 @@ def network_manager_security_admin_config_update(instance, def network_manager_security_admin_config_delete(client, resource_group_name, network_manager_name, - configuration_name): + configuration_name, + force=None, + recursive=None): + if force is not None and recursive is not None: + raise CLIError('force and recursive cannot be selected at the same time') return client.delete(resource_group_name=resource_group_name, network_manager_name=network_manager_name, - configuration_name=configuration_name) + configuration_name=configuration_name, + force=force, + recursive=recursive) def network_manager_admin_rule_collection_list(client, @@ -964,3 +971,197 @@ def network_manager_vnet_security_perimeter_delete(client, def network_manager_perimeter_associable_resource_type_list(client, location): return client.get(location=location) + + +def network_manager_connection_subscription_list(client, + top=None, + skip_token=None): + return client.list(top=top, + skip_token=skip_token) + + +def network_manager_connection_subscription_create(client, + network_manager_connection_name, + network_manager_id, + description=None): + parameters = {} + parameters['network_manager_id'] = network_manager_id + parameters['description'] = description + return client.create_or_update(network_manager_connection_name=network_manager_connection_name, + parameters=parameters) + + +def network_manager_connection_subscription_update(instance, + description=None): + if description is not None: + instance.description = description + return instance + + +def network_manager_connection_subscription_show(client, + network_manager_connection_name): + return client.get(network_manager_connection_name=network_manager_connection_name) + + +def network_manager_connection_subscription_delete(client, + network_manager_connection_name): + return client.delete(network_manager_connection_name=network_manager_connection_name) + + +# def network_manager_connection_management_group_list(client, +# top=None, +# skip_token=None): +# return client.list(top=top, +# skip_token=skip_token) +# +# +# def network_manager_connection_management_group_create(client, +# resource_group_name, +# network_manager_connection_name, +# management_group_id, +# network_manager_id, +# description=None): +# parameters = {} +# parameters['description'] = description +# parameters['network_manager_id'] = network_manager_id +# return client.create_or_update(resource_group_name=resource_group_name, +# network_manager_connection_name=network_manager_connection_name, +# management_group_id=management_group_id, +# parameters=parameters) +# +# +# def network_manager_connection_management_group_update(instance, +# management_group_id, +# description=None): +# if description is not None: +# instance.description = description +# if management_group_id is not None: +# instance.management_group_id = management_group_id +# return instance +# +# +# def network_manager_connection_management_group_show(client, +# resource_group_name, +# network_manager_connection_name, +# management_group_id): +# return client.get(resource_group_name=resource_group_name, +# network_manager_connection_name=network_manager_connection_name, +# management_group_id=management_group_id) +# +# +# def network_manager_connection_management_group_delete(client, +# resource_group_name, +# network_manager_connection_name, +# management_group_id): +# return client.delete(resource_group_name=resource_group_name, +# network_manager_connection_name=network_manager_connection_name, +# management_group_id=management_group_id) + + +def network_manager_scope_connection_list(client, + resource_group_name, + network_manager_name, + top=None, + skip_token=None): + return client.list(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token) + + +def network_manager_scope_connection_create(client, + resource_group_name, + network_manager_name, + scope_connection_name, + tenant_id, + resource_id, + description=None): + parameters = {} + parameters['tenant_id'] = tenant_id + parameters['resource_id'] = resource_id + parameters['description'] = description + return client.create_or_update(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name, + parameters=parameters) + + +def network_manager_scope_connection_update(instance, + description=None): + if description is not None: + instance.description = description + return instance + + +def network_manager_scope_connection_show(client, + resource_group_name, + network_manager_name, + scope_connection_name): + return client.get(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name) + + +def network_manager_scope_connection_delete(client, + resource_group_name, + network_manager_name, + scope_connection_name): + return client.delete(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name) + + +def network_manager_group_static_member_list(client, + resource_group_name, + network_manager_name, + network_group_name, + top=None, + skip_token=None): + return client.list(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + top=top, + skip_token=skip_token) + + +def network_manager_group_static_member_create(client, + resource_group_name, + network_manager_name, + network_group_name, + static_member_name, + resource_id): + parameters = {} + parameters['resource_id'] = resource_id + return client.create_or_update(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name, + parameters=parameters) + + +def network_manager_group_static_member_update(instance, resource_id): + if resource_id is not None: + instance.resource_id = resource_id + return instance + + +def network_manager_group_static_member_show(client, + resource_group_name, + network_manager_name, + network_group_name, + static_member_name): + return client.get(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name) + + +def network_manager_group_static_member_delete(client, + resource_group_name, + network_manager_name, + network_group_name, + static_member_name): + return client.delete(resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name) diff --git a/src/network-manager/azext_network_manager/tests/latest/preparers.py b/src/network-manager/azext_network_manager/tests/latest/preparers.py index 0879e51945a..176f5b16296 100644 --- a/src/network-manager/azext_network_manager/tests/latest/preparers.py +++ b/src/network-manager/azext_network_manager/tests/latest/preparers.py @@ -10,7 +10,7 @@ import os from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.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 diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_collection_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_collection_crud.yaml index be0f352a118..d828a56016b 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_collection_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_collection_crud.yaml @@ -21,22 +21,22 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"5cc9a1f9-95fa-4598-82f3-b6b114177ba5"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:30:57.6588252Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:30:57.6588252Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"9362aa58-c71e-4664-87ef-7275f6e6abd9"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:45:50.8404298Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:45:50.8404298Z"}}' headers: cache-control: - no-cache content-length: - - '924' + - '931' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:31:05 GMT + - Mon, 07 Mar 2022 09:45:55 GMT expires: - '-1' pragma: @@ -52,15 +52,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK - request: body: '{"properties": {"displayName": "ASampleGroup", "description": "A sample - policy", "memberType": "Microsoft.Network/virtualNetworks", "groupMembers": - [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}], - "conditionalMembership": ""}}' + policy", "memberType": "Microsoft.Network/virtualNetworks"}}' headers: Accept: - application/json @@ -71,29 +69,80 @@ interactions: Connection: - keep-alive Content-Length: - - '410' + - '132' Content-Type: - application/json ParameterSetName: - - --name --network-manager-name --description --conditional-membership --display-name - --member-type -g --group-members + - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"ASampleGroup","description":"A - sample policy","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"e7e71bda-6417-4694-a8ea-8ca9b89cf054"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:31:06.8137691Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:31:06.8137691Z"}}' + sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"352993d0-2c3b-40b1-8fd2-8a7f9966e2dd"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:45:57.4332835Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:45:57.4332835Z"}}' headers: cache-control: - no-cache content-length: - - '1009' + - '765' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:31:08 GMT + - Mon, 07 Mar 2022 09:45:57 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group static-member create + Connection: + - keep-alive + Content-Length: + - '215' + Content-Type: + - application/json + ParameterSetName: + - --name --network-group-name --network-manager-name --resource-id -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:45:59.3065046Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:45:59.3065046Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 09:46:00 GMT expires: - '-1' pragma: @@ -115,7 +164,7 @@ interactions: message: OK - request: body: '{"properties": {"displayName": "MyTestConfig", "description": "A sample - policy", "securityType": "AdminPolicy", "deleteExistingNSGs": "True"}}' + policy", "deleteExistingNSGs": "True"}}' headers: Accept: - application/json @@ -126,29 +175,29 @@ interactions: Connection: - keep-alive Content-Length: - - '142' + - '111' Content-Type: - application/json ParameterSetName: - --configuration-name --network-manager-name -g --description --delete-existing-ns-gs - --security-type --display-name + --display-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"A - sample policy","provisioningState":"Succeeded","resourceGuid":"06ccbba6-e1d0-4c4e-ad90-77a7f65f50e2"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:31:09.9493744Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:31:09.9493744Z"}}' + sample policy","provisioningState":"Succeeded","resourceGuid":"78fa239e-a688-4fee-959e-ef2787ca1cfa","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:01.5202463Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:01.5202463Z"}}' headers: cache-control: - no-cache content-length: - - '772' + - '801' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:31:11 GMT + - Mon, 07 Mar 2022 09:46:02 GMT expires: - '-1' pragma: @@ -164,7 +213,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 200 message: OK @@ -181,29 +230,29 @@ interactions: Connection: - keep-alive Content-Length: - - '367' + - '345' Content-Type: - application/json ParameterSetName: - --configuration-name --network-manager-name -g --rule-collection-name --description --display-name --applies-to-groups User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"","properties":{"displayName":"ASampleCollection","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"4c497579-81d0-48bd-ba01-82cef3b4e91c"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:31:12.8746342Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:31:12.8746342Z"}}' + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:03.3642498Z"}}' headers: cache-control: - no-cache content-length: - - '1100' + - '1062' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:31:14 GMT + - Mon, 07 Mar 2022 09:46:03 GMT expires: - '-1' pragma: @@ -219,7 +268,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -237,22 +286,22 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name --rule-collection-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"2100dbb0-0000-3400-0000-618105620000\"","properties":{"displayName":"ASampleCollection","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"4c497579-81d0-48bd-ba01-82cef3b4e91c"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:31:12.8746342Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:31:12.8746342Z"}}' + string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"0000d77a-0000-3400-0000-6225d45c0000\"","properties":{"displayName":"ASampleCollection","description":"A + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:03.3642498Z"}}' headers: cache-control: - no-cache content-length: - - '1140' + - '1102' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:31:16 GMT + - Mon, 07 Mar 2022 09:46:06 GMT expires: - '-1' pragma: @@ -284,22 +333,22 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name --rule-collection-name --display-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"2100dbb0-0000-3400-0000-618105620000\"","properties":{"displayName":"ASampleCollection","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"4c497579-81d0-48bd-ba01-82cef3b4e91c"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:31:12.8746342Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:31:12.8746342Z"}}' + string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"0000d77a-0000-3400-0000-6225d45c0000\"","properties":{"displayName":"ASampleCollection","description":"A + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:03.3642498Z"}}' headers: cache-control: - no-cache content-length: - - '1140' + - '1102' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:31:19 GMT + - Mon, 07 Mar 2022 09:46:07 GMT expires: - '-1' pragma: @@ -330,28 +379,28 @@ interactions: Connection: - keep-alive Content-Length: - - '368' + - '346' Content-Type: - application/json ParameterSetName: - -g --configuration-name --network-manager-name --rule-collection-name --display-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"","properties":{"displayName":"ASampleCollection2","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"4c497579-81d0-48bd-ba01-82cef3b4e91c"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:31:12.8746342Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:31:22.1427868Z"}}' + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:08.6642311Z"}}' headers: cache-control: - no-cache content-length: - - '1101' + - '1063' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:31:22 GMT + - Mon, 07 Mar 2022 09:46:08 GMT expires: - '-1' pragma: @@ -367,7 +416,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1194' status: code: 200 message: OK @@ -385,22 +434,22 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"2100dfb0-0000-3400-0000-6181056b0000\"","properties":{"displayName":"ASampleCollection2","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"4c497579-81d0-48bd-ba01-82cef3b4e91c"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:31:12.8746342Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:31:22.1427868Z"}}]}' + string: '{"nextLink":"","value":[{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"\"0000d87a-0000-3400-0000-6225d4610000\"","properties":{"displayName":"ASampleCollection2","description":"A + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"241ea4f3-def7-4e22-a910-0bc4d93449a4"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:46:03.3642498Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:46:08.6642311Z"}}]}' headers: cache-control: - no-cache content-length: - - '1167' + - '1129' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:31:26 GMT + - Mon, 07 Mar 2022 09:46:10 GMT expires: - '-1' pragma: @@ -434,9 +483,9 @@ interactions: ParameterSetName: - -g --configuration-name --network-manager-name --rule-collection-name --yes User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: string: '' @@ -446,7 +495,7 @@ interactions: content-length: - '0' date: - - Tue, 02 Nov 2021 09:31:31 GMT + - Mon, 07 Mar 2022 09:46:13 GMT expires: - '-1' pragma: @@ -458,7 +507,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14996' status: code: 200 message: OK @@ -476,11 +525,11 @@ interactions: Content-Length: - '0' ParameterSetName: - - --configuration-name --network-manager-name -g --yes + - --configuration-name --network-manager-name -g --force --yes User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview&force=true response: body: string: '' @@ -490,7 +539,7 @@ interactions: content-length: - '0' date: - - Tue, 02 Nov 2021 09:31:33 GMT + - Mon, 07 Mar 2022 09:46:14 GMT expires: - '-1' pragma: @@ -502,7 +551,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14998' status: code: 200 message: OK @@ -520,11 +569,55 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name --network-manager-name --yes + - -g --name --network-manager-name --force --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 09:46:16 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-deletes: + - '14998' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_collection_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '' @@ -534,7 +627,7 @@ interactions: content-length: - '0' date: - - Tue, 02 Nov 2021 09:31:36 GMT + - Mon, 07 Mar 2022 09:46:22 GMT expires: - '-1' pragma: diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_crud.yaml index ed91bee183f..8e25422133c 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_admin_rule_crud.yaml @@ -21,22 +21,22 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"3303ac9d-7813-4c90-b707-0aff2de44477"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:34:44.0297289Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:34:44.0297289Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"6ad2e227-9c0e-4cbb-8d1d-db222590a713"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:42:49.2067703Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:42:49.2067703Z"}}' headers: cache-control: - no-cache content-length: - - '924' + - '920' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:34:51 GMT + - Mon, 07 Mar 2022 09:42:55 GMT expires: - '-1' pragma: @@ -52,15 +52,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK - request: body: '{"properties": {"displayName": "ASampleGroup", "description": "A sample - policy", "memberType": "Microsoft.Network/virtualNetworks", "groupMembers": - [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}], - "conditionalMembership": ""}}' + policy", "memberType": "Microsoft.Network/virtualNetworks"}}' headers: Accept: - application/json @@ -71,29 +69,28 @@ interactions: Connection: - keep-alive Content-Length: - - '410' + - '132' Content-Type: - application/json ParameterSetName: - - --name --network-manager-name --description --conditional-membership --display-name - --member-type -g --group-members + - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"ASampleGroup","description":"A - sample policy","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"870e117b-4fdb-4b71-9b41-2675bc63f4ca"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:34:52.7678129Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:34:52.7678129Z"}}' + sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"efcafcc2-0630-44b2-98d2-69c99b257da8"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:42:57.1362102Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:42:57.1362102Z"}}' headers: cache-control: - no-cache content-length: - - '1009' + - '754' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:34:53 GMT + - Mon, 07 Mar 2022 09:42:57 GMT expires: - '-1' pragma: @@ -109,13 +106,65 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group static-member create + Connection: + - keep-alive + Content-Length: + - '204' + Content-Type: + - application/json + ParameterSetName: + - --name --network-group-name --network-manager-name --resource-id -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:42:59.0320115Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:42:59.0320115Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '793' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 09:42:59 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' status: code: 200 message: OK - request: body: '{"properties": {"displayName": "MyTestConfig", "description": "A sample - policy", "securityType": "AdminPolicy", "deleteExistingNSGs": "True"}}' + policy", "deleteExistingNSGs": "True"}}' headers: Accept: - application/json @@ -126,29 +175,29 @@ interactions: Connection: - keep-alive Content-Length: - - '142' + - '111' Content-Type: - application/json ParameterSetName: - --configuration-name --network-manager-name -g --description --delete-existing-ns-gs - --security-type --display-name + --display-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"A - sample policy","provisioningState":"Succeeded","resourceGuid":"6c954841-f9ac-4c14-9a23-bdb0d858e716"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:34:57.2881450Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:34:57.2881450Z"}}' + sample policy","provisioningState":"Succeeded","resourceGuid":"e99306b0-0976-4587-8a92-3733abdf35d2","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:00.4592693Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:00.4592693Z"}}' headers: cache-control: - no-cache content-length: - - '772' + - '790' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:34:58 GMT + - Mon, 07 Mar 2022 09:43:00 GMT expires: - '-1' pragma: @@ -164,7 +213,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -181,29 +230,29 @@ interactions: Connection: - keep-alive Content-Length: - - '367' + - '334' Content-Type: - application/json ParameterSetName: - --configuration-name --network-manager-name -g --rule-collection-name --description --display-name --applies-to-groups User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection?api-version=2021-05-01-preview response: body: string: '{"name":"myTestCollection","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections","etag":"","properties":{"displayName":"ASampleCollection","description":"A - sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"f5d157c4-76f0-43bf-88f0-780265bc47c8"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:35:02.2431372Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:35:02.2431372Z"}}' + sample policy","appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"}],"provisioningState":"Succeeded","resourceGuid":"75dbfefd-2373-4fe3-8a47-1b35dc8f4fea"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:02.3556656Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:02.3556656Z"}}' headers: cache-control: - no-cache content-length: - - '1100' + - '1040' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:35:02 GMT + - Mon, 07 Mar 2022 09:43:02 GMT expires: - '-1' pragma: @@ -243,21 +292,21 @@ interactions: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name --kind --protocol --access --priority --direction User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: body: - string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"7d63c5e7-a868-4100-9237-10c7002e2d28"},"kind":"Custom","systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:35:04.5602508Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:35:04.5602508Z"}}' + string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:04.1703455Z"}}' headers: cache-control: - no-cache content-length: - - '975' + - '948' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:35:05 GMT + - Mon, 07 Mar 2022 09:43:04 GMT expires: - '-1' pragma: @@ -273,7 +322,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1194' status: code: 200 message: OK @@ -291,21 +340,21 @@ interactions: ParameterSetName: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: body: - string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"2100eab2-0000-3400-0000-618106490000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"7d63c5e7-a868-4100-9237-10c7002e2d28"},"kind":"Custom","systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:35:04.5602508Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:35:04.5602508Z"}}' + string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"0000c87a-0000-3400-0000-6225d3a90000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:04.1703455Z"}}' headers: cache-control: - no-cache content-length: - - '1015' + - '988' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:35:09 GMT + - Mon, 07 Mar 2022 09:43:06 GMT expires: - '-1' pragma: @@ -338,21 +387,21 @@ interactions: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name --access User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: body: - string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"2100eab2-0000-3400-0000-618106490000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"7d63c5e7-a868-4100-9237-10c7002e2d28"},"kind":"Custom","systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:35:04.5602508Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:35:04.5602508Z"}}' + string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"0000c87a-0000-3400-0000-6225d3a90000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Allow","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:04.1703455Z"}}' headers: cache-control: - no-cache content-length: - - '1015' + - '988' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:35:12 GMT + - Mon, 07 Mar 2022 09:43:08 GMT expires: - '-1' pragma: @@ -392,21 +441,21 @@ interactions: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name --access User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview response: body: - string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Deny","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"7d63c5e7-a868-4100-9237-10c7002e2d28"},"kind":"Custom","systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:35:04.5602508Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:35:16.7990966Z"}}' + string: '{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Deny","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:09.5048486Z"}}' headers: cache-control: - no-cache content-length: - - '974' + - '947' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:35:19 GMT + - Mon, 07 Mar 2022 09:43:09 GMT expires: - '-1' pragma: @@ -422,7 +471,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -440,21 +489,21 @@ interactions: ParameterSetName: - -g --network-manager-name --configuration-name --rule-collection-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"2100efb2-0000-3400-0000-618106570000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Deny","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"7d63c5e7-a868-4100-9237-10c7002e2d28"},"kind":"Custom","systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:35:04.5602508Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:35:16.7990966Z"}}]}' + string: '{"nextLink":"","value":[{"name":"myRule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule","type":"Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules","etag":"\"0000c97a-0000-3400-0000-6225d3ae0000\"","properties":{"displayName":"","description":"","flag":"","priority":32,"protocol":"Tcp","direction":"Inbound","access":"Deny","sources":[],"destinations":[],"sourcePortRanges":[],"destinationPortRanges":[],"provisioningState":"Succeeded","resourceGuid":"409c2cb3-0dc4-4c2d-9138-0d10defbf0aa"},"kind":"Custom","systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:43:04.1703455Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:43:09.5048486Z"}}]}' headers: cache-control: - no-cache content-length: - - '1040' + - '1013' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:35:22 GMT + - Mon, 07 Mar 2022 09:43:11 GMT expires: - '-1' pragma: @@ -489,9 +538,139 @@ interactions: - -g --network-manager-name --configuration-name --rule-collection-name --rule-name --yes User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 09:43:12 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-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager security-admin-config delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --configuration-name --network-manager-name -g --force --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/TestStaticMember?api-version=2021-05-01-preview&force=true + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Mon, 07 Mar 2022 09:43:14 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-deletes: + - '14991' + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name --network-manager-name --force --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 09:43:15 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-deletes: + - '14998' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/myTestCollection/rules/myRule?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_admin_rule_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '' @@ -501,7 +680,7 @@ interactions: content-length: - '0' date: - - Tue, 02 Nov 2021 09:35:24 GMT + - Mon, 07 Mar 2022 09:43:23 GMT expires: - '-1' pragma: @@ -513,7 +692,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14999' status: code: 200 message: OK diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connect_config_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connect_config_crud.yaml index a4ce72e96f2..d43280e2b06 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connect_config_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connect_config_crud.yaml @@ -21,13 +21,13 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"9dd5db45-31a3-4f71-ae40-12667f94087e"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-03T03:00:37.3863975Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-03T03:00:37.3863975Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"c0170de8-34ea-4f82-b1cb-159c1adf3077"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:47:52.9731831Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:47:52.9731831Z"}}' headers: cache-control: - no-cache @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Nov 2021 03:00:42 GMT + - Mon, 07 Mar 2022 09:47:58 GMT expires: - '-1' pragma: @@ -52,15 +52,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK - request: body: '{"properties": {"displayName": "ASampleGroup", "description": "A sample - policy", "memberType": "Microsoft.Network/virtualNetworks", "groupMembers": - [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}], - "conditionalMembership": ""}}' + policy", "memberType": "Microsoft.Network/virtualNetworks"}}' headers: Accept: - application/json @@ -71,29 +69,28 @@ interactions: Connection: - keep-alive Content-Length: - - '410' + - '132' Content-Type: - application/json ParameterSetName: - - --name --network-manager-name --description --conditional-membership --display-name - --member-type -g --group-members + - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"ASampleGroup","description":"A - sample policy","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"719919e8-daa3-4be2-904b-4f0fdeb708b0"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-03T03:00:44.5975072Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-03T03:00:44.5975072Z"}}' + sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"9561e275-5f09-42ed-8df7-3b778114b126"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:47:59.1562176Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:47:59.1562176Z"}}' headers: cache-control: - no-cache content-length: - - '1009' + - '758' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Nov 2021 03:00:45 GMT + - Mon, 07 Mar 2022 09:48:00 GMT expires: - '-1' pragma: @@ -109,7 +106,59 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1194' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group static-member create + Connection: + - keep-alive + Content-Length: + - '208' + Content-Type: + - application/json + ParameterSetName: + - --name --network-group-name --network-manager-name --resource-id -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:01.0797604Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:01.0797604Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '801' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 09:48:01 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 200 message: OK @@ -130,29 +179,29 @@ interactions: Connection: - keep-alive Content-Length: - - '797' + - '731' Content-Type: - application/json ParameterSetName: - --configuration-name --network-manager-name -g --applies-to-groups --connectivity-topology --delete-existing-peering --hubs --description --is-global User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"4bb0d0d8-c751-4714-8567-42378a12a63a"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-03T03:00:47.9613470Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-03T03:00:47.9613470Z"}}' + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:03.0672393Z"}}' headers: cache-control: - no-cache content-length: - - '1485' + - '1396' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Nov 2021 03:00:49 GMT + - Mon, 07 Mar 2022 09:48:03 GMT expires: - '-1' pragma: @@ -168,7 +217,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -186,22 +235,22 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"2300c160-0000-3400-0000-6181fb610000\"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"4bb0d0d8-c751-4714-8567-42378a12a63a"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-03T03:00:47.9613470Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-03T03:00:47.9613470Z"}}' + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"0000e17a-0000-3400-0000-6225d4d30000\"","properties":{"displayName":"","description":"Sample + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:03.0672393Z"}}' headers: cache-control: - no-cache content-length: - - '1525' + - '1436' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Nov 2021 03:00:52 GMT + - Mon, 07 Mar 2022 09:48:05 GMT expires: - '-1' pragma: @@ -233,22 +282,22 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"2300c160-0000-3400-0000-6181fb610000\"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"4bb0d0d8-c751-4714-8567-42378a12a63a"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-03T03:00:47.9613470Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-03T03:00:47.9613470Z"}}' + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"0000e17a-0000-3400-0000-6225d4d30000\"","properties":{"displayName":"","description":"Sample + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:03.0672393Z"}}' headers: cache-control: - no-cache content-length: - - '1525' + - '1436' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Nov 2021 03:00:56 GMT + - Mon, 07 Mar 2022 09:48:07 GMT expires: - '-1' pragma: @@ -283,28 +332,28 @@ interactions: Connection: - keep-alive Content-Length: - - '816' + - '750' Content-Type: - application/json ParameterSetName: - --configuration-name --network-manager-name -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"4bb0d0d8-c751-4714-8567-42378a12a63a"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-03T03:00:47.9613470Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-03T03:00:58.8038991Z"}}' + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:08.4215097Z"}}' headers: cache-control: - no-cache content-length: - - '1485' + - '1396' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Nov 2021 03:00:59 GMT + - Mon, 07 Mar 2022 09:48:09 GMT expires: - '-1' pragma: @@ -320,7 +369,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' status: code: 200 message: OK @@ -338,22 +387,22 @@ interactions: ParameterSetName: - --network-manager-name -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"2300c760-0000-3400-0000-6181fb6b0000\"","properties":{"displayName":"","description":"Sample - Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"4bb0d0d8-c751-4714-8567-42378a12a63a"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-03T03:00:47.9613470Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-03T03:00:58.8038991Z"}}]}' + string: '{"nextLink":"","value":[{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/connectivityConfigurations","etag":"\"0000e27a-0000-3400-0000-6225d4d90000\"","properties":{"displayName":"","description":"Sample + Configuration","connectivityTopology":"HubAndSpoke","hubs":[{"resourceType":"Microsoft.Network/virtualNetworks","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"appliesToGroups":[{"networkGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","groupConnectivity":"None","useHubGateway":"True","isGlobal":"False"}],"provisioningState":"Succeeded","deleteExistingPeering":"True","isGlobal":"True","resourceGuid":"eacdacaa-4471-4d1e-935f-d1c0a7418cb7"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:48:03.0672393Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:48:08.4215097Z"}}]}' headers: cache-control: - no-cache content-length: - - '1551' + - '1462' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Nov 2021 03:01:03 GMT + - Mon, 07 Mar 2022 09:48:10 GMT expires: - '-1' pragma: @@ -387,9 +436,9 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g --yes User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/connectivityConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '' @@ -399,7 +448,7 @@ interactions: content-length: - '0' date: - - Wed, 03 Nov 2021 03:01:06 GMT + - Mon, 07 Mar 2022 09:48:12 GMT expires: - '-1' pragma: @@ -415,4 +464,92 @@ interactions: status: code: 200 message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name --network-manager-name --force --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 09:48:13 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-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connect_config_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 09:48:19 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-deletes: + - '14997' + status: + code: 200 + message: OK version: 1 diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connection_subscription.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connection_subscription.yaml new file mode 100644 index 00000000000..be51c798f6b --- /dev/null +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_connection_subscription.yaml @@ -0,0 +1,395 @@ +interactions: +- request: + body: '{"location": "eastus2euap", "properties": {"displayName": "TestNetworkManager", + "description": "My Test Network Manager", "networkManagerScopes": {"subscriptions": + ["/subscriptions/00000000-0000-0000-0000-000000000000"]}, "networkManagerScopeAccesses": + ["SecurityAdmin", "Connectivity"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager create + Connection: + - keep-alive + Content-Length: + - '288' + Content-Type: + - application/json + ParameterSetName: + - --name --description --display-name --scope-accesses --network-manager-scopes + -l --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"a10535d2-8be0-469f-93ba-9fc26969a3a6"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T15:17:35.1646038Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T15:17:35.1646038Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '928' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 15:17:40 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"networkManagerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager", + "description": "My Test Network Manager Connection"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager connection subscription create + Connection: + - keep-alive + Content-Length: + - '273' + Content-Type: + - application/json + ParameterSetName: + - --connection-name --description --network-manager-id + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection?api-version=2021-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection","name":"myTestNetworkManagerConnection","type":"Microsoft.Network/networkManagers/networkManagerConnections","location":"","properties":{"networkManagerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","connectionState":"Pending","description":"My + Test Network Manager Connection"}}' + headers: + cache-control: + - no-cache + content-length: + - '564' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 15:17:44 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: + - 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: + - network manager connection subscription show + Connection: + - keep-alive + ParameterSetName: + - --connection-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection?api-version=2021-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection","name":"myTestNetworkManagerConnection","type":"Microsoft.Network/networkManagers/networkManagerConnections","location":"","properties":{"networkManagerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","connectionState":"Pending","description":"My + Test Network Manager Connection"}}' + headers: + cache-control: + - no-cache + content-length: + - '564' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 15:17:47 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager connection subscription update + Connection: + - keep-alive + ParameterSetName: + - --connection-name --description + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection?api-version=2021-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection","name":"myTestNetworkManagerConnection","type":"Microsoft.Network/networkManagers/networkManagerConnections","location":"","properties":{"networkManagerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","connectionState":"Pending","description":"My + Test Network Manager Connection"}}' + headers: + cache-control: + - no-cache + content-length: + - '564' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 15:17: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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"networkManagerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager", + "description": "My Test Network Manager Connection Updated Description"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager connection subscription update + Connection: + - keep-alive + Content-Length: + - '293' + Content-Type: + - application/json + ParameterSetName: + - --connection-name --description + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection?api-version=2021-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection","name":"myTestNetworkManagerConnection","type":"Microsoft.Network/networkManagers/networkManagerConnections","location":"","properties":{"networkManagerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","connectionState":"Pending","description":"My + Test Network Manager Connection Updated Description"}}' + headers: + cache-control: + - no-cache + content-length: + - '584' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 15:17:52 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: + - 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: + - network manager connection subscription list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections?api-version=2021-05-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/testConnection","name":"testConnection","type":"Microsoft.Network/networkManagers/networkManagerConnections","location":"","properties":{"networkManagerId":"","connectionState":"Pending","description":"My + Test Network Manager Connection"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection","name":"myTestNetworkManagerConnection","type":"Microsoft.Network/networkManagers/networkManagerConnections","location":"","properties":{"networkManagerId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","connectionState":"Pending","description":"My + Test Network Manager Connection Updated Description"}}],"nextLink":""}' + headers: + cache-control: + - no-cache + content-length: + - '963' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 15:17:54 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager connection subscription delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --connection-name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkManagerConnections/myTestNetworkManagerConnection?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 15:17:58 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-deletes: + - '14997' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_connection_subscription000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 15:18:03 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-deletes: + - '14995' + status: + code: 200 + message: OK +version: 1 diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_crud.yaml index c05527c079d..357b1a70027 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_crud.yaml @@ -21,22 +21,22 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: - string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"8d070ee4-5208-4663-a470-7f1c92e0a5da"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:45:15.6699961Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:45:15.6699961Z"}}' + string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"c23470b9-a24c-4d16-924d-eb6cf6861da6"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T15:30:59.4610174Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T15:30:59.4610174Z"}}' headers: cache-control: - no-cache content-length: - - '908' + - '893' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:45:22 GMT + - Mon, 07 Mar 2022 15:31:04 GMT expires: - '-1' pragma: @@ -52,7 +52,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -70,22 +70,22 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: - string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"\"21000dbc-0000-3400-0000-618108b10000\"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"8d070ee4-5208-4663-a470-7f1c92e0a5da"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:45:15.6699961Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:45:15.6699961Z"}}' + string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"\"0000397f-0000-3400-0000-622625370000\"","properties":{"displayName":"TestNetworkManager","description":"My + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"c23470b9-a24c-4d16-924d-eb6cf6861da6"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T15:30:59.4610174Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T15:30:59.4610174Z"}}' headers: cache-control: - no-cache content-length: - - '948' + - '933' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:45:25 GMT + - Mon, 07 Mar 2022 15:31:05 GMT expires: - '-1' pragma: @@ -117,22 +117,22 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager000001/providers/Microsoft.Network/networkManagers?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_crud000001/providers/Microsoft.Network/networkManagers?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"\"21000dbc-0000-3400-0000-618108b10000\"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"8d070ee4-5208-4663-a470-7f1c92e0a5da"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:45:15.6699961Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:45:15.6699961Z"}}]}' + string: '{"nextLink":"","value":[{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"\"0000397f-0000-3400-0000-622625370000\"","properties":{"displayName":"TestNetworkManager","description":"My + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"c23470b9-a24c-4d16-924d-eb6cf6861da6"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T15:30:59.4610174Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T15:30:59.4610174Z"}}]}' headers: cache-control: - no-cache content-length: - - '974' + - '959' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:45:28 GMT + - Mon, 07 Mar 2022 15:31:08 GMT expires: - '-1' pragma: @@ -166,9 +166,9 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_crud000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '' @@ -178,7 +178,7 @@ interactions: content-length: - '0' date: - - Tue, 02 Nov 2021 09:45:36 GMT + - Mon, 07 Mar 2022 15:31:15 GMT expires: - '-1' pragma: diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_group_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_group_crud.yaml index ba4316e9e7e..5b8d4b23aef 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_group_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_group_crud.yaml @@ -21,22 +21,22 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"ddf760e4-4e95-4664-9351-28d52b4716b6"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:42:58.2186451Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:42:58.2186451Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"c9aa8da7-596b-4650-abb7-2ed34ec46229"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:52.5044074Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:01:52.5044074Z"}}' headers: cache-control: - no-cache content-length: - - '908' + - '894' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:43:04 GMT + - Tue, 08 Mar 2022 02:01:57 GMT expires: - '-1' pragma: @@ -52,15 +52,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK - request: body: '{"properties": {"displayName": "MyNetworkGroup", "description": "A sample - group", "memberType": "Microsoft.Network/virtualNetworks", "groupMembers": [{"resourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}], - "conditionalMembership": ""}}' + group", "memberType": "Microsoft.Network/virtualNetworks"}}' headers: Accept: - application/json @@ -71,29 +69,28 @@ interactions: Connection: - keep-alive Content-Length: - - '411' + - '133' Content-Type: - application/json ParameterSetName: - - --name --network-manager-name --description --conditional-membership --display-name - --member-type -g --group-members + - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"MyNetworkGroup","description":"A - sample group","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"b260d304-cb2d-4897-a6fc-614d0914f5fd"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:43:06.7234820Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:43:06.7234820Z"}}' + sample group","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:01:59.2970505Z"}}' headers: cache-control: - no-cache content-length: - - '1010' + - '745' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:43:07 GMT + - Tue, 08 Mar 2022 02:01:59 GMT expires: - '-1' pragma: @@ -109,7 +106,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 200 message: OK @@ -127,22 +124,22 @@ interactions: ParameterSetName: - -g --name --network-manager-name --description User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: - string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"\"21005eb9-0000-3400-0000-6181082b0000\"","properties":{"displayName":"MyNetworkGroup","description":"A - sample group","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"b260d304-cb2d-4897-a6fc-614d0914f5fd"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:43:06.7234820Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:43:06.7234820Z"}}' + string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"\"00005086-0000-3400-0000-6226b9180000\"","properties":{"displayName":"MyNetworkGroup","description":"A + sample group","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:01:59.2970505Z"}}' headers: cache-control: - no-cache content-length: - - '1050' + - '740' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:43:10 GMT + - Tue, 08 Mar 2022 02:02:01 GMT expires: - '-1' pragma: @@ -161,9 +158,7 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"displayName": "MyNetworkGroup", "description": "Desc changed.", - "groupMembers": [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}], - "conditionalMembership": ""}}' + body: '{"properties": {"displayName": "MyNetworkGroup", "description": "Desc changed."}}' headers: Accept: - application/json @@ -174,28 +169,28 @@ interactions: Connection: - keep-alive Content-Length: - - '359' + - '81' Content-Type: - application/json ParameterSetName: - -g --name --network-manager-name --description User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"MyNetworkGroup","description":"Desc - changed.","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"b260d304-cb2d-4897-a6fc-614d0914f5fd"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:43:06.7234820Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:43:12.6833333Z"}}' + changed.","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:02:03.0831419Z"}}' headers: cache-control: - no-cache content-length: - - '1009' + - '744' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:43:14 GMT + - Tue, 08 Mar 2022 02:02:03 GMT expires: - '-1' pragma: @@ -229,22 +224,22 @@ interactions: ParameterSetName: - -g --name --network-manager-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: - string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"\"21007fb9-0000-3400-0000-618108320000\"","properties":{"displayName":"MyNetworkGroup","description":"Desc - changed.","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"b260d304-cb2d-4897-a6fc-614d0914f5fd"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:43:06.7234820Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:43:12.6833333Z"}}' + string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"\"00005186-0000-3400-0000-6226b91b0000\"","properties":{"displayName":"MyNetworkGroup","description":"Desc + changed.","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:02:03.0831419Z"}}' headers: cache-control: - no-cache content-length: - - '1049' + - '739' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:43:16 GMT + - Tue, 08 Mar 2022 02:02:07 GMT expires: - '-1' pragma: @@ -276,22 +271,22 @@ interactions: ParameterSetName: - -g --network-manager-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups?api-version=2021-05-01-preview response: body: string: '{"nextLink":"","value":[{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"MyNetworkGroup","description":"Desc - changed.","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"b260d304-cb2d-4897-a6fc-614d0914f5fd"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:43:06.7234820Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:43:12.6833333Z"}}]}' + changed.","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"dac82a3c-1da0-4e3c-b5e6-76ff4b886231"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:01:59.2970505Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:02:03.0831419Z"}}]}' headers: cache-control: - no-cache content-length: - - '1035' + - '770' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:43:19 GMT + - Tue, 08 Mar 2022 02:02:08 GMT expires: - '-1' pragma: @@ -323,11 +318,55 @@ interactions: Content-Length: - '0' ParameterSetName: - - -g --name --network-manager-name --yes + - -g --name --network-manager-name --force --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 08 Mar 2022 02:02:09 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-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_group000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '' @@ -337,7 +376,7 @@ interactions: content-length: - '0' date: - - Tue, 02 Nov 2021 09:43:23 GMT + - Tue, 08 Mar 2022 02:02:18 GMT expires: - '-1' pragma: @@ -349,7 +388,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14995' + - '14999' status: code: 200 message: OK diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_list_queries.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_list_queries.yaml index e3ed39f8d69..30e30a74a6e 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_list_queries.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_list_queries.yaml @@ -21,22 +21,22 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"66947698-fce5-4b19-a5c3-020c12ffb383"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-23T09:31:19.7844891Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-23T09:31:19.7844891Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"60d0db6a-93b0-4453-b510-68aa9aa4db5f"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T10:40:09.6417283Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T10:40:09.6417283Z"}}' headers: cache-control: - no-cache content-length: - - '924' + - '917' content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:31:34 GMT + - Mon, 07 Mar 2022 10:40:14 GMT expires: - '-1' pragma: @@ -52,15 +52,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK - request: body: '{"properties": {"displayName": "ASampleGroup", "description": "A sample - policy", "memberType": "Microsoft.Network/virtualNetworks", "groupMembers": - [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}], - "conditionalMembership": ""}}' + policy", "memberType": "Microsoft.Network/virtualNetworks"}}' headers: Accept: - application/json @@ -71,29 +69,80 @@ interactions: Connection: - keep-alive Content-Length: - - '410' + - '132' Content-Type: - application/json ParameterSetName: - - --name --network-manager-name --description --conditional-membership --display-name - --member-type -g --group-members + - --name --network-manager-name --description --display-name --member-type -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"ASampleGroup","description":"A - sample policy","groupMembers":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"e431d73e-eca0-41db-a801-fec1974e46a5"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-23T09:31:35.8326688Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-23T09:31:35.8326688Z"}}' + sample policy","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"aac286eb-13b4-4d8a-a0a5-235e0f2b3d45"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T10:40:15.6472382Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T10:40:15.6472382Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '751' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 10:40:16 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group static-member create + Connection: + - keep-alive + Content-Length: + - '201' + Content-Type: + - application/json + ParameterSetName: + - --name --network-group-name --network-manager-name --resource-id -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T10:40:17.6337176Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T10:40:17.6337176Z"}}' headers: cache-control: - no-cache content-length: - - '1009' + - '787' content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:31:38 GMT + - Mon, 07 Mar 2022 10:40:18 GMT expires: - '-1' pragma: @@ -131,9 +180,9 @@ interactions: ParameterSetName: - --network-manager-name --deployment-types --regions --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listDeploymentStatus?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listDeploymentStatus?api-version=2021-05-01-preview response: body: string: '{"skipToken":"","value":[]}' @@ -145,7 +194,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:31:39 GMT + - Mon, 07 Mar 2022 10:40:20 GMT expires: - '-1' pragma: @@ -183,21 +232,21 @@ interactions: ParameterSetName: - --network-group-name --network-manager-name --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/listEffectiveVirtualNetworks?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/listEffectiveVirtualNetworks?api-version=2021-05-01-preview response: body: - string: '{"skipToken":"","value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualNetworks/clitest.vn000002","location":"eastus2euap","membershipType":"Dynamic"}]}' + string: '{"skipToken":"MTA=","value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bez-rg/providers/Microsoft.Network/virtualNetworks/bezvnet","location":"westus","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_netappfiles_test_snapshot_vpshzlob7c63iuglneagoxjxa45dqn6eoglhf37oo5cms/providers/Microsoft.Network/virtualNetworks/cli-vnet-lefr-02","location":"westus2","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cannotdelete_resource_lockbfuaftaa7m4m77urywe56rs3yfr4sr3ybmrsclix/providers/Microsoft.Network/virtualNetworks/cli.lock.rsrchikdj2r5lezlez4w6","location":"westus","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_3tlf6fnaho6xh2k67p5k2gzrdwsz6shx7wiovzaqqgrv6/providers/Microsoft.Network/virtualNetworks/vme2gol3cqVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_3ye3fknhdgsj3emasgvno7ha6pbu7kl7u7zfgrkrqvxfy/providers/Microsoft.Network/virtualNetworks/vmymwxa64iVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_a2bft34ibubuugccpmc6c4zuixspwci77rpr6brqyr5jb/providers/Microsoft.Network/virtualNetworks/vmqvhbocfjVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_aorgdxvqiasmoxu6rnetf22jmzhqns5aousc7zygvltqg/providers/Microsoft.Network/virtualNetworks/vmrvrfjdlmVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_aymyxfviyz6aokyxy3cedxjplbojtxqgwnuiwcgfgkq5o/providers/Microsoft.Network/virtualNetworks/vmzrx5qdb3VNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_ctb5edywpqrnmw6fyhfp6db2kg6cl2yynycdrwl6uwqs5/providers/Microsoft.Network/virtualNetworks/vmqwnatidzVNET","location":"centraluseuap","membershipType":"Dynamic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_capacity_reservation_dfv7ckxck7r52gyblbxd5vcipcs7izfdjgx25d7iygamg/providers/Microsoft.Network/virtualNetworks/vmwgtm6ebaVNET","location":"centraluseuap","membershipType":"Dynamic"}]}' headers: cache-control: - no-cache content-length: - - '299' + - '2602' content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:31:43 GMT + - Mon, 07 Mar 2022 10:40:22 GMT expires: - '-1' pragma: @@ -213,7 +262,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -235,9 +284,9 @@ interactions: ParameterSetName: - --network-manager-name --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listEffectiveVirtualNetworks?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listEffectiveVirtualNetworks?api-version=2021-05-01-preview response: body: string: '{"skipToken":"","value":[]}' @@ -249,7 +298,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:31:46 GMT + - Mon, 07 Mar 2022 10:40:24 GMT expires: - '-1' pragma: @@ -287,9 +336,9 @@ interactions: ParameterSetName: - --network-manager-name --resource-group --regions User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listActiveConnectivityConfigurations?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listActiveConnectivityConfigurations?api-version=2021-05-01-preview response: body: string: '{"skipToken":"","value":[]}' @@ -301,7 +350,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:31:50 GMT + - Mon, 07 Mar 2022 10:40:26 GMT expires: - '-1' pragma: @@ -339,9 +388,9 @@ interactions: ParameterSetName: - --virtual-network-name -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualNetworks/clitest.vn000002/listNetworkManagerEffectiveConnectivityConfigurations?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualNetworks/clitest.vn000002/listNetworkManagerEffectiveConnectivityConfigurations?api-version=2021-05-01-preview response: body: string: '{"skipToken":"","value":[]}' @@ -353,7 +402,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:31:54 GMT + - Mon, 07 Mar 2022 10:40:28 GMT expires: - '-1' pragma: @@ -369,7 +418,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -391,9 +440,9 @@ interactions: ParameterSetName: - --virtual-network-name -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualNetworks/clitest.vn000002/listNetworkManagerEffectiveSecurityAdminRules?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/virtualNetworks/clitest.vn000002/listNetworkManagerEffectiveSecurityAdminRules?api-version=2021-05-01-preview response: body: string: '{"skipToken":"","value":[]}' @@ -405,7 +454,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:31:58 GMT + - Mon, 07 Mar 2022 10:40:30 GMT expires: - '-1' pragma: @@ -421,7 +470,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -443,9 +492,9 @@ interactions: ParameterSetName: - --network-manager-name -g --regions User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listActiveSecurityAdminRules?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/listActiveSecurityAdminRules?api-version=2021-05-01-preview response: body: string: '{"skipToken":"","value":[]}' @@ -457,7 +506,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 23 Nov 2021 09:32:02 GMT + - Mon, 07 Mar 2022 10:40:32 GMT expires: - '-1' pragma: @@ -473,7 +522,95 @@ interactions: x-content-type-options: - nosniff 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: + - network manager group delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name --network-manager-name --force --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 10:40:33 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-deletes: + - '14996' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_list_queries000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 10:40: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-deletes: + - '14998' status: code: 200 message: OK diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_scope_connection.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_scope_connection.yaml new file mode 100644 index 00000000000..6833997760d --- /dev/null +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_scope_connection.yaml @@ -0,0 +1,398 @@ +interactions: +- request: + body: '{"location": "eastus2euap", "properties": {"displayName": "TestNetworkManager", + "description": "My Test Network Manager", "networkManagerScopes": {"subscriptions": + ["/subscriptions/00000000-0000-0000-0000-000000000000"]}, "networkManagerScopeAccesses": + ["SecurityAdmin", "Connectivity"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager create + Connection: + - keep-alive + Content-Length: + - '288' + Content-Type: + - application/json + ParameterSetName: + - --name --description --display-name --scope-accesses --network-manager-scopes + -l --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"61cf787e-e90b-4454-9735-2a75954ebfda"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T14:40:24.6561562Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T14:40:24.6561562Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '921' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 14:40:28 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000", "description": "My Test + Network Manager Scope Connection"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager scope-connection create + Connection: + - keep-alive + Content-Length: + - '196' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --network-manager-name --name --description --tenant-id --resource-id + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection?api-version=2021-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection","name":"myTestScopeConnection","type":"Microsoft.Network/networkManagers/scopeConnections","properties":{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000","connectionState":"Pending","description":"My + Test Network Manager Scope Connection"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T14:40:29.8915587Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T14:40:29.8915587Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 14:40:31 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: + - 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: + - network manager scope-connection show + Connection: + - keep-alive + ParameterSetName: + - -g --network-manager-name --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection?api-version=2021-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection","name":"myTestScopeConnection","type":"Microsoft.Network/networkManagers/scopeConnections","properties":{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000","connectionState":"Pending","description":"My + Test Network Manager Scope Connection"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T14:40:29.8915587Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T14:40:29.8915587Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 14:40:33 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager scope-connection update + Connection: + - keep-alive + ParameterSetName: + - -g --network-manager-name --name --description + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection?api-version=2021-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection","name":"myTestScopeConnection","type":"Microsoft.Network/networkManagers/scopeConnections","properties":{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000","connectionState":"Pending","description":"My + Test Network Manager Scope Connection"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T14:40:29.8915587Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T14:40:29.8915587Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 14:40:34 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a", "resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000", "description": "My Test + Network Manager Scope Connection Updated Description"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager scope-connection update + Connection: + - keep-alive + Content-Length: + - '216' + Content-Type: + - application/json + ParameterSetName: + - -g --network-manager-name --name --description + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection?api-version=2021-05-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection","name":"myTestScopeConnection","type":"Microsoft.Network/networkManagers/scopeConnections","properties":{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000","connectionState":"Pending","description":"My + Test Network Manager Scope Connection Updated Description"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T14:40:36.1688494Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T14:40:36.1688494Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 14:40:39 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: + - 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: + - network manager scope-connection list + Connection: + - keep-alive + ParameterSetName: + - -g --network-manager-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections?api-version=2021-05-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection","name":"myTestScopeConnection","type":"Microsoft.Network/networkManagers/scopeConnections","properties":{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000","connectionState":"Pending","description":"My + Test Network Manager Scope Connection Updated Description"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T14:40:36.1688494Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T14:40:36.1688494Z"}}],"nextLink":""}' + headers: + cache-control: + - no-cache + content-length: + - '817' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 07 Mar 2022 14:40:41 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager scope-connection delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --network-manager-name --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/scopeConnections/myTestScopeConnection?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 14:40:43 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-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_scope_connection000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 14:40:49 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-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_security_admin_config_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_security_admin_config_crud.yaml index ca0e9de7559..90971416894 100644 --- a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_security_admin_config_crud.yaml +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_security_admin_config_crud.yaml @@ -21,22 +21,22 @@ interactions: - --name --description --display-name --scope-accesses --network-manager-scopes -l --resource-group User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview response: body: string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My - Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"5cb2b39c-3caf-42ab-abea-d6a84cf9604f"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:39:30.1058021Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:39:30.1058021Z"}}' + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["SecurityAdmin","Connectivity"],"resourceGuid":"9a3583de-78cb-497b-a2a8-d2d5290d7943"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:36:37.1959036Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:36:37.1959036Z"}}' headers: cache-control: - no-cache content-length: - - '924' + - '926' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:39:35 GMT + - Mon, 07 Mar 2022 09:36:42 GMT expires: - '-1' pragma: @@ -58,7 +58,7 @@ interactions: message: OK - request: body: '{"properties": {"displayName": "MyTestConfig", "description": "A sample - policy", "securityType": "AdminPolicy", "deleteExistingNSGs": "True"}}' + policy", "deleteExistingNSGs": "True"}}' headers: Accept: - application/json @@ -69,29 +69,29 @@ interactions: Connection: - keep-alive Content-Length: - - '142' + - '111' Content-Type: - application/json ParameterSetName: - --configuration-name --network-manager-name -g --description --delete-existing-ns-gs - --security-type --display-name + --display-name User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"A - sample policy","provisioningState":"Succeeded","resourceGuid":"374cffaf-642f-4715-8d6e-a12986d76f84"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:39:37.2057552Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:39:37.2057552Z"}}' + sample policy","provisioningState":"Succeeded","resourceGuid":"3455890a-2c32-49b0-a376-bd12ce812625","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:36:43.9402828Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:36:43.9402828Z"}}' headers: cache-control: - no-cache content-length: - - '772' + - '796' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:39:37 GMT + - Mon, 07 Mar 2022 09:36:44 GMT expires: - '-1' pragma: @@ -107,7 +107,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -125,22 +125,22 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g --description User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"210031b7-0000-3400-0000-618107590000\"","properties":{"displayName":"MyTestConfig","description":"A - sample policy","provisioningState":"Succeeded","resourceGuid":"374cffaf-642f-4715-8d6e-a12986d76f84"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:39:37.2057552Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:39:37.2057552Z"}}' + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"0000ad7a-0000-3400-0000-6225d22c0000\"","properties":{"displayName":"MyTestConfig","description":"A + sample policy","provisioningState":"Succeeded","resourceGuid":"3455890a-2c32-49b0-a376-bd12ce812625","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:36:43.9402828Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:36:43.9402828Z"}}' headers: cache-control: - no-cache content-length: - - '812' + - '836' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:39:40 GMT + - Mon, 07 Mar 2022 09:36:46 GMT expires: - '-1' pragma: @@ -159,7 +159,8 @@ interactions: code: 200 message: OK - request: - body: '{"properties": {"displayName": "MyTestConfig", "description": "test_description"}}' + body: '{"properties": {"displayName": "MyTestConfig", "description": "test_description", + "applyOnNetworkIntentPolicyBasedServices": []}}' headers: Accept: - application/json @@ -170,27 +171,27 @@ interactions: Connection: - keep-alive Content-Length: - - '82' + - '129' Content-Type: - application/json ParameterSetName: - --configuration-name --network-manager-name -g --description User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"374cffaf-642f-4715-8d6e-a12986d76f84"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:39:37.2057552Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:39:43.3557565Z"}}' + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"3455890a-2c32-49b0-a376-bd12ce812625","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:36:43.9402828Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:36:47.1871258Z"}}' headers: cache-control: - no-cache content-length: - - '773' + - '797' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:39:43 GMT + - Mon, 07 Mar 2022 09:36:47 GMT expires: - '-1' pragma: @@ -206,7 +207,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 200 message: OK @@ -224,21 +225,21 @@ interactions: ParameterSetName: - --network-manager-name -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations?api-version=2021-05-01-preview response: body: - string: '{"nextLink":"","value":[{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"210045b7-0000-3400-0000-6181075f0000\"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"374cffaf-642f-4715-8d6e-a12986d76f84"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:39:37.2057552Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:39:43.3557565Z"}}]}' + string: '{"nextLink":"","value":[{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"0000ae7a-0000-3400-0000-6225d2300000\"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"3455890a-2c32-49b0-a376-bd12ce812625","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:36:43.9402828Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:36:47.1871258Z"}}]}' headers: cache-control: - no-cache content-length: - - '839' + - '863' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:39:46 GMT + - Mon, 07 Mar 2022 09:36:49 GMT expires: - '-1' pragma: @@ -270,21 +271,21 @@ interactions: ParameterSetName: - --configuration-name --network-manager-name -g User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview response: body: - string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"210045b7-0000-3400-0000-6181075f0000\"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"374cffaf-642f-4715-8d6e-a12986d76f84"},"systemData":{"createdBy":"v-kaisun@microsoft.com","createdByType":"User","createdAt":"2021-11-02T09:39:37.2057552Z","lastModifiedBy":"v-kaisun@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-11-02T09:39:43.3557565Z"}}' + string: '{"name":"myTestSecurityConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig","type":"Microsoft.Network/networkManagers/securityAdminConfigurations","etag":"\"0000ae7a-0000-3400-0000-6225d2300000\"","properties":{"displayName":"MyTestConfig","description":"test_description","provisioningState":"Succeeded","resourceGuid":"3455890a-2c32-49b0-a376-bd12ce812625","applyOnNetworkIntentPolicyBasedServices":[]},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-07T09:36:43.9402828Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-07T09:36:47.1871258Z"}}' headers: cache-control: - no-cache content-length: - - '813' + - '837' content-type: - application/json; charset=utf-8 date: - - Tue, 02 Nov 2021 09:39:49 GMT + - Mon, 07 Mar 2022 09:36:51 GMT expires: - '-1' pragma: @@ -316,11 +317,11 @@ interactions: Content-Length: - '0' ParameterSetName: - - --configuration-name --network-manager-name -g --yes + - --configuration-name --network-manager-name -g --force --yes User-Agent: - - AZURECLI/2.30.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/securityAdminConfigurations/myTestSecurityConfig?api-version=2021-05-01-preview&force=true response: body: string: '' @@ -330,7 +331,7 @@ interactions: content-length: - '0' date: - - Tue, 02 Nov 2021 09:39:51 GMT + - Mon, 07 Mar 2022 09:36:52 GMT expires: - '-1' pragma: @@ -342,7 +343,51 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14998' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_security_admin_config000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 07 Mar 2022 09:37:00 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-deletes: + - '14998' status: code: 200 message: OK diff --git a/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_static_member_crud.yaml b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_static_member_crud.yaml new file mode 100644 index 00000000000..d61ace6515a --- /dev/null +++ b/src/network-manager/azext_network_manager/tests/latest/recordings/test_network_manager_static_member_crud.yaml @@ -0,0 +1,487 @@ +interactions: +- request: + body: '{"location": "eastus2euap", "properties": {"displayName": "TestNetworkManager", + "description": "My Test Network Manager", "networkManagerScopes": {"subscriptions": + ["/subscriptions/00000000-0000-0000-0000-000000000000"]}, "networkManagerScopeAccesses": + ["Connectivity"]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager create + Connection: + - keep-alive + Content-Length: + - '271' + Content-Type: + - application/json + ParameterSetName: + - --name --description --display-name --scope-accesses --network-manager-scopes + -l --resource-group + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestNetworkManager","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager","location":"eastus2euap","type":"Microsoft.Network/networkManagers","tags":{},"etag":"","properties":{"displayName":"TestNetworkManager","description":"My + Test Network Manager","networkManagerScopes":{"managementGroups":[],"subscriptions":["/subscriptions/00000000-0000-0000-0000-000000000000"],"multiTenantScopes":[]},"provisioningState":"Succeeded","networkManagerScopeAccesses":["Connectivity"],"resourceGuid":"f2f60508-67e3-4f64-b8f0-1437e40e8363"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:07.0272378Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:07.0272378Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '902' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 02:04:11 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"displayName": "MyNetworkGroup", "description": "A sample + group", "memberType": "Microsoft.Network/virtualNetworks"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group create + Connection: + - keep-alive + Content-Length: + - '133' + Content-Type: + - application/json + ParameterSetName: + - --name --network-manager-name --description --display-name --member-type -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestNetworkGroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup","type":"Microsoft.Network/networkManagers/networkGroups","etag":"","properties":{"displayName":"MyNetworkGroup","description":"A + sample group","groupMembers":[],"conditionalMembership":"","provisioningState":"Succeeded","resourceGuid":"b74ef60c-ff18-4e6b-9fab-b7667f5e3b0c"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:12.5537611Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:12.5537611Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '753' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 02:04:14 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: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group static-member create + Connection: + - keep-alive + Content-Length: + - '202' + Content-Type: + - application/json + ParameterSetName: + - --name --network-group-name --network-manager-name --resource-id -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:15.7028252Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 02:04:16 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: + - 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: + - network manager group static-member update + Connection: + - keep-alive + ParameterSetName: + - -g --name --network-group-name --network-manager-name --resource-id + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"\"00006b86-0000-3400-0000-6226b9a00000\"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:15.7028252Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '829' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 02:04:17 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group static-member update + Connection: + - keep-alive + Content-Length: + - '202' + Content-Type: + - application/json + ParameterSetName: + - -g --name --network-group-name --network-manager-name --resource-id + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:19.3966048Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '789' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 02:04:19 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: + - 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: + - network manager group static-member show + Connection: + - keep-alive + ParameterSetName: + - -g --name --network-group-name --network-manager-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"\"00006e86-0000-3400-0000-6226b9a60000\"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:19.3966048Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '829' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 02:04:21 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group static-member list + Connection: + - keep-alive + ParameterSetName: + - -g --network-group-name --network-manager-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers?api-version=2021-05-01-preview + response: + body: + string: '{"nextLink":"","value":[{"name":"TestStaticMember","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember","type":"Microsoft.Network/networkManagers/networkGroups/staticMembers","etag":"","properties":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/virtualnetworks/clitest.vn000002"},"systemData":{"createdBy":"v-taoxuzeng@microsoft.com","createdByType":"User","createdAt":"2022-03-08T02:04:15.7028252Z","lastModifiedBy":"v-taoxuzeng@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-03-08T02:04:19.3966048Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 08 Mar 2022 02:04:23 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: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group static-member delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name --network-group-name --network-manager-name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup/staticMembers/TestStaticMember?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 08 Mar 2022 02:04:25 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-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager group delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name --network-manager-name --force --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup?api-version=2021-05-01-preview&force=true + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 08 Mar 2022 02:04:28 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-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network manager delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-network/1.0.0b1 Python/3.9.5 (Windows-10-10.0.17763-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_manager_static_member000001/providers/Microsoft.Network/networkManagers/TestNetworkManager?api-version=2021-05-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 08 Mar 2022 02:04:34 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-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 diff --git a/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py b/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py index 512dc2a1292..7e5e317d05b 100644 --- a/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py +++ b/src/network-manager/azext_network_manager/tests/latest/test_network_scenario.py @@ -27,19 +27,17 @@ class NetworkScenarioTest(ScenarioTest): def __init__(self, *args, **kwargs): super(NetworkScenarioTest, self).__init__(*args, **kwargs) - @ResourceGroupPreparer(name_prefix='test_network_manager', location='eastus2euap') + @ResourceGroupPreparer(name_prefix='test_network_manager_crud', location='eastus2euap') def test_network_manager_crud(self, resource_group): self.kwargs.update({ 'name': 'TestNetworkManager', - 'description': '"My Test Network Manager"', - 'display_name': 'TestNetworkManager', 'sub': '/subscriptions/{}'.format(self.get_subscription_id()) }) - self.cmd('network manager create --name {name} --description {description} --display-name {display_name} ' + self.cmd('network manager create --name {name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' '--scope-accesses "Connectivity" ' '--network-manager-scopes ' - ' subscriptions={sub} ' + 'subscriptions={sub} ' '-l eastus2euap ' '--resource-group {rg}') @@ -53,8 +51,7 @@ def test_network_manager_crud(self, resource_group): self.cmd('network manager delete --resource-group {rg} --name {name} --yes') @ResourceGroupPreparer(name_prefix='test_network_manager_group', location='eastus2euap') - @VirtualNetworkPreparer() - def test_network_manager_group_crud(self, virtual_network, resource_group): + def test_network_manager_group_crud(self, resource_group): self.kwargs.update({ 'name': 'TestNetworkGroup', @@ -62,8 +59,7 @@ def test_network_manager_group_crud(self, virtual_network, resource_group): 'description': '"A sample group"', 'display_name': 'MyNetworkGroup', 'member_type': 'Microsoft.Network/virtualNetworks', - 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), - 'virtual_network': virtual_network + 'sub': '/subscriptions/{}'.format(self.get_subscription_id()) }) self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' @@ -73,15 +69,51 @@ def test_network_manager_group_crud(self, virtual_network, resource_group): '-l eastus2euap ' '--resource-group {rg}') - self.cmd('network manager group create --name {name} --network-manager-name {manager_name} --description {description} ' - '--conditional-membership "" --display-name {display_name} --member-type "{member_type}" -g {rg} ' - '--group-members resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" ') + self.cmd('network manager group create --name {name} --network-manager-name {manager_name} ' + '--description {description} --display-name {display_name} --member-type {member_type} -g {rg} ') self.cmd('network manager group update -g {rg} --name {name} --network-manager-name {manager_name} --description "Desc changed."') self.cmd('network manager group show -g {rg} --name {name} --network-manager-name {manager_name}') self.cmd('network manager group list -g {rg} --network-manager-name {manager_name}') - self.cmd('network manager group delete -g {rg} --name {name} --network-manager-name {manager_name} --yes') + self.cmd('network manager group delete -g {rg} --name {name} --network-manager-name {manager_name} --force --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + @ResourceGroupPreparer(name_prefix='test_network_manager_static_member', location='eastus2euap') + @VirtualNetworkPreparer() + def test_network_manager_static_member_crud(self, virtual_network, resource_group): + self.kwargs.update({ + 'name': 'TestStaticMember', + 'group_name': 'TestNetworkGroup', + 'manager_name': 'TestNetworkManager', + 'description': '"A sample group"', + 'display_name': 'MyNetworkGroup', + 'member_type': 'Microsoft.Network/virtualNetworks', + 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), + 'virtual_network': virtual_network + }) + self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' + '--scope-accesses "Connectivity" ' + '--network-manager-scopes ' + ' subscriptions={sub} ' + '-l eastus2euap ' + '--resource-group {rg}') + + self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' + '--display-name {display_name} --member-type {member_type} -g {rg} ') + + self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' + '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg}') + + self.cmd('network manager group static-member update -g {rg} --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' + '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}"') + self.cmd('network manager group static-member show -g {rg} --name {name} --network-group-name {group_name} --network-manager-name {manager_name}') + self.cmd('network manager group static-member list -g {rg} --network-group-name {group_name} --network-manager-name {manager_name}') + self.cmd('network manager group static-member delete -g {rg} --name {name} --network-group-name {group_name} --network-manager-name {manager_name} --yes') + + self.cmd('network manager group delete -g {rg} --name {group_name} --network-manager-name {manager_name} --force --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + + @unittest.skip('skip') @ResourceGroupPreparer(name_prefix='test_network_manager_security_user_config', location='eastus2euap') def test_network_manager_security_user_config_crud(self, resource_group): @@ -140,8 +172,8 @@ def test_network_manager_security_admin_config_crud(self, resource_group): # test nm uncommit # self.cmd('network manager post-commit --network-manager-name {manager_name} --commit-type "SecurityAdmin" --target-locations "eastus2euap" -g {rg} ') - self.cmd('network manager security-admin-config delete --configuration-name {name} --network-manager-name {manager_name} -g {rg} --yes') - + self.cmd('network manager security-admin-config delete --configuration-name {name} --network-manager-name {manager_name} -g {rg} --force --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') @ResourceGroupPreparer(name_prefix='test_network_manager_admin_rule_crud', location='eastus2euap') @VirtualNetworkPreparer() @@ -155,7 +187,8 @@ def test_network_manager_admin_rule_crud(self, virtual_network, resource_group): 'group_name': 'TestNetworkGroup', 'description': '"A sample policy"', 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), - 'virtual_network': virtual_network + 'virtual_network': virtual_network, + 'name': 'TestStaticMember' }) @@ -167,8 +200,10 @@ def test_network_manager_admin_rule_crud(self, virtual_network, resource_group): '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--conditional-membership "" --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ' - '--group-members resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" ') + ' --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + + self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' + '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') self.cmd('network manager security-admin-config create --configuration-name {config_name} --network-manager-name {manager_name} -g {rg} ' '--description {description} --delete-existing-ns-gs true --display-name MyTestConfig') @@ -186,6 +221,10 @@ def test_network_manager_admin_rule_crud(self, virtual_network, resource_group): self.cmd('network manager security-admin-config rule-collection rule list -g {rg} --network-manager-name {manager_name} --configuration-name {config_name} --rule-collection-name {collection_name}') self.cmd('network manager security-admin-config rule-collection rule delete -g {rg} --network-manager-name {manager_name} --configuration-name {config_name} --rule-collection-name {collection_name} --rule-name {rule_name} --yes') + self.cmd('network manager security-admin-config delete --configuration-name {name} --network-manager-name {manager_name} -g {rg} --force --yes') + self.cmd('network manager group delete -g {rg} --name {group_name} --network-manager-name {manager_name} --force --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + @ResourceGroupPreparer(name_prefix='test_network_manager_admin_rule_collection_crud', location='eastus2euap') @VirtualNetworkPreparer() @@ -198,7 +237,8 @@ def test_network_manager_admin_rule_collection_crud(self, virtual_network, resou 'group_name': 'TestNetworkGroup', 'description': '"A sample policy"', 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), - 'virtual_network': virtual_network + 'virtual_network': virtual_network, + 'name': 'TestStaticMember' }) self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' @@ -209,8 +249,10 @@ def test_network_manager_admin_rule_collection_crud(self, virtual_network, resou '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--conditional-membership "" --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ' - '--group-members resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + + self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' + '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') self.cmd('network manager security-admin-config create --configuration-name {config_name} --network-manager-name {manager_name} -g {rg} ' '--description {description} --delete-existing-ns-gs true --display-name MyTestConfig') @@ -227,10 +269,11 @@ def test_network_manager_admin_rule_collection_crud(self, virtual_network, resou self.cmd('network manager security-admin-config rule-collection list -g {rg} --configuration-name {config_name} --network-manager-name {manager_name}') self.cmd('network manager security-admin-config rule-collection delete -g {rg} --configuration-name {config_name} --network-manager-name {manager_name} --rule-collection-name {collection_name} --yes') - self.cmd('network manager security-admin-config delete --configuration-name {config_name} --network-manager-name {manager_name} -g {rg} --yes') - self.cmd('network manager group delete -g {rg} --name {group_name} --network-manager-name {manager_name} --yes') - + self.cmd('network manager security-admin-config delete --configuration-name {config_name} --network-manager-name {manager_name} -g {rg} --force --yes') + self.cmd('network manager group delete -g {rg} --name {group_name} --network-manager-name {manager_name} --force --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + @unittest.skip('skip') @ResourceGroupPreparer(name_prefix='test_network_manager_user_rule_crud', location='eastus2euap') @VirtualNetworkPreparer() def test_network_manager_user_rule_crud(self, virtual_network, resource_group): @@ -253,8 +296,10 @@ def test_network_manager_user_rule_crud(self, virtual_network, resource_group): '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--conditional-membership "" --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ' - '--group-members resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + + self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' + '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') self.cmd('network manager security-user-config create --configuration-name {config_name} --network-manager-name {manager_name} -g {rg} ' '--description {description} --delete-existing-ns-gs true --display-name MyTestConfig') @@ -271,6 +316,7 @@ def test_network_manager_user_rule_crud(self, virtual_network, resource_group): self.cmd('network manager security-user-config rule-collection rule list -g {rg} --network-manager-name {manager_name} --configuration-name {config_name} --rule-collection-name {collection_name}') self.cmd('network manager security-user-config rule-collection rule delete -g {rg} --network-manager-name {manager_name} --configuration-name {config_name} --rule-collection-name {collection_name} --rule-name {rule_name} --yes') + @unittest.skip('skip') @ResourceGroupPreparer(name_prefix='test_network_manager_user_rule_collection_crud', location='eastus2') @VirtualNetworkPreparer() def test_network_manager_user_rule_collection_crud(self, virtual_network, resource_group): @@ -293,8 +339,10 @@ def test_network_manager_user_rule_collection_crud(self, virtual_network, resour '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--conditional-membership "" --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ' - '--group-members resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + + self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' + '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') self.cmd('network manager security-user-config create --configuration-name {config_name} --network-manager-name {manager_name} -g {rg} ' '--description {description} --delete-existing-ns-gs true --display-name MyTestConfig') @@ -320,7 +368,8 @@ def test_network_manager_connect_config_crud(self, virtual_network, resource_gro 'group_name': 'TestNetworkGroup', 'description': '"A sample policy"', 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), - 'virtual_network': virtual_network + 'virtual_network': virtual_network, + 'name': 'TestStaticMember' }) self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' @@ -331,8 +380,10 @@ def test_network_manager_connect_config_crud(self, virtual_network, resource_gro '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--conditional-membership "" --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ' - '--group-members resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + + self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' + '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') self.cmd('network manager connect-config create --configuration-name {config_name} --network-manager-name {manager_name} -g {rg} ' '--applies-to-groups group-connectivity="None" network-group-id={sub}/resourceGroups/{rg}/providers/Microsoft.Network/networkManagers/{manager_name}/networkGroups/{group_name} ' @@ -344,6 +395,9 @@ def test_network_manager_connect_config_crud(self, virtual_network, resource_gro self.cmd('network manager connect-config list --network-manager-name {manager_name} -g {rg}') self.cmd('network manager connect-config delete --configuration-name {config_name} --network-manager-name {manager_name} -g {rg} --yes') + self.cmd('network manager group delete -g {rg} --name {group_name} --network-manager-name {manager_name} --force --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + @ResourceGroupPreparer(name_prefix='test_network_manager_list_queries', location='eastus2euap') @VirtualNetworkPreparer() @@ -354,7 +408,8 @@ def test_network_manager_list_queries(self, virtual_network, resource_group): 'group_name': 'TestNetworkGroup', 'description': '"A sample policy"', 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), - 'virtual_network': virtual_network + 'virtual_network': virtual_network, + 'name': 'TestStaticMember' }) self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' @@ -365,8 +420,10 @@ def test_network_manager_list_queries(self, virtual_network, resource_group): '--resource-group {rg}') self.cmd('network manager group create --name {group_name} --network-manager-name {manager_name} --description {description} ' - '--conditional-membership "" --display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ' - '--group-members resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" ') + '--display-name ASampleGroup --member-type "Microsoft.Network/virtualNetworks" -g {rg} ') + + self.cmd('network manager group static-member create --name {name} --network-group-name {group_name} --network-manager-name {manager_name} ' + '--resource-id="{sub}/resourceGroups/{rg}/providers/Microsoft.Network/virtualnetworks/{virtual_network}" -g {rg} ') self.cmd('network manager list-deploy-status --network-manager-name {manager_name} --deployment-types "Connectivity" --regions "eastus2euap" --resource-group {rg}') self.cmd('network manager group list-effect-vnet --network-group-name {group_name} --network-manager-name {manager_name} --resource-group {rg}') @@ -377,3 +434,98 @@ def test_network_manager_list_queries(self, virtual_network, resource_group): self.cmd('network manager list-active-security-admin-rule --network-manager-name {manager_name} -g {rg} --regions eastus2euap') # Internal Server Error # self.cmd('network manager list-active-security-user-rule --network-manager-name {manager_name} -g {rg} --region eastus2euap') + + self.cmd('network manager group delete -g {rg} --name {group_name} --network-manager-name {manager_name} --force --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + + + @ResourceGroupPreparer(name_prefix='test_network_manager_scope_connection', location='eastus2euap') + def test_network_manager_scope_connection(self, resource_group): + tenant_id = self.cmd('account list --query "[?isDefault].tenantId" -o tsv').output.strip() + self.kwargs.update({ + 'connection_name': 'myTestScopeConnection', + 'manager_name': 'TestNetworkManager', + 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), + 'tenant_id': tenant_id + }) + + self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' + '--scope-accesses "SecurityAdmin" "Connectivity" ' + '--network-manager-scopes ' + ' subscriptions={sub} ' + '-l eastus2euap ' + '--resource-group {rg}') + + self.cmd('network manager scope-connection create --resource-group {rg} --network-manager-name {manager_name} ' + '--name {connection_name} --description "My Test Network Manager Scope Connection" ' + '--tenant-id {tenant_id} --resource-id {sub}') + + self.cmd('network manager scope-connection show -g {rg} --network-manager-name {manager_name} --name {connection_name}') + + self.cmd('network manager scope-connection update -g {rg} --network-manager-name {manager_name} ' + '--name {connection_name} --description "My Test Network Manager Scope Connection Updated Description"') + + self.cmd('network manager scope-connection list -g {rg} --network-manager-name {manager_name} ') + + self.cmd('network manager scope-connection delete -g {rg} --network-manager-name {manager_name} --name {connection_name} --yes') + + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + + @ResourceGroupPreparer(name_prefix='test_network_manager_connection_subscription', location='eastus2euap') + def test_network_manager_connection_subscription(self, resource_group): + + self.kwargs.update({ + 'subId': self.get_subscription_id(), + 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), + 'manager_name': 'TestNetworkManager', + 'connection_name': 'myTestNetworkManagerConnection' + }) + + network_manager = self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' + '--scope-accesses "SecurityAdmin" "Connectivity" ' + '--network-manager-scopes ' + ' subscriptions={sub} ' + '-l eastus2euap ' + '--resource-group {rg}').get_output_in_json() + self.kwargs['manager_id'] = network_manager['id'] + self.cmd('network manager connection subscription create --connection-name {connection_name} --description "My Test Network Manager Connection" --network-manager-id {manager_id}') + + self.cmd('network manager connection subscription show --connection-name {connection_name} ') + + self.cmd('network manager connection subscription update --connection-name {connection_name} --description "My Test Network Manager Connection Updated Description"') + + self.cmd('network manager connection subscription list') + + self.cmd('network manager connection subscription delete --connection-name {connection_name} --yes') + self.cmd('network manager delete --resource-group {rg} --name {manager_name} --yes') + +# @ResourceGroupPreparer(name_prefix='test_network_manager_connection_crud', location='eastus2euap') +# def test_network_manager_scope_connection(self, resource_group): +# +# self.kwargs.update({ +# 'sub': '/subscriptions/{}'.format(self.get_subscription_id()), +# 'manager_id': '/subscriptions/{}/resourceGroups/{rg}/providers/Microsoft.Network/networkManagers/{connection_name}'.format(self.get_subscription_id()), +# 'manager_name': 'TestNetworkManager', +# 'connection_name': 'myTestNetworkManagerConnection', +# 'mgId': 'testManagementGroupId' +# }) +# +# self.cmd('network manager create --name {manager_name} --description "My Test Network Manager" --display-name "TestNetworkManager" ' +# '--scope-accesses "SecurityAdmin" "Connectivity" ' +# '--network-manager-scopes ' +# ' subscriptions={sub} ' +# '-l eastus2euap ' +# '--resource-group {rg}') +# +# self.cmd('network manager connection create --management-group-id {mgId} --connection-name {connection_name} ' +# '--description "My Test Network Manager Connection"' +# '--network-manager-id {manager_id}') +# +# self.cmd('network manager connection show --management-group-id {mgId} --connection-name {connection_name} ') +# +# self.cmd('network manager scope-connection update --management-group-id {mgId} --connection-name {connection_name} ' +# '--description "My Test Network Manager Connection Updated Description"') +# +# self.cmd('network manager scope-connection list --management-group-id {mgId} ') +# +# self.cmd('network manager scope-connection delete --management-group-id {mgId} --connection-name {connection_name} ') \ No newline at end of file diff --git a/src/network-manager/azext_network_manager/vendored_sdks/__init__.py b/src/network-manager/azext_network_manager/vendored_sdks/__init__.py index cbe2d6051b9..3afadffd3a4 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/__init__.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['NetworkManagementClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/network-manager/azext_network_manager/vendored_sdks/_configuration.py b/src/network-manager/azext_network_manager/vendored_sdks/_configuration.py index d3ec9ffb0ec..7e6c2259672 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/_configuration.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/_configuration.py @@ -6,18 +6,16 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +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 azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any - from azure.core.credentials import TokenCredential @@ -35,20 +33,19 @@ class NetworkManagementClientConfiguration(Configuration): def __init__( self, - credential, # type: "TokenCredential" - subscription_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + credential: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(NetworkManagementClientConfiguration, self).__init__(**kwargs) 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(NetworkManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-02-01-preview" + self.api_version = "2021-05-01-preview" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-network/{}'.format(VERSION)) self._configure(**kwargs) @@ -68,4 +65,4 @@ def _configure( 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) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/_metadata.json b/src/network-manager/azext_network_manager/vendored_sdks/_metadata.json deleted file mode 100644 index 3b8e77f02a2..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/_metadata.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "chosen_version": "2021-02-01-preview", - "total_api_version_list": ["2021-02-01-preview"], - "client": { - "name": "NetworkManagementClient", - "filename": "_network_management_client", - "description": "Network Client.", - "base_url": "\u0027https://management.azure.com\u0027", - "custom_base_url": null, - "azure_arm": true, - "has_lro_operations": false, - "client_side_validation": false, - "sync_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"ARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"NetworkManagementClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}}}", - "async_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.mgmt.core\": [\"AsyncARMPipelineClient\"]}, \"local\": {\"._configuration\": [\"NetworkManagementClientConfiguration\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}}}" - }, - "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 credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", - "docstring_type": "str", - "required": true - } - }, - "async": { - "credential": { - "signature": "credential: \"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: str,", - "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", - "docstring_type": "str", - "required": true - } - }, - "constant": { - }, - "call": "credential, subscription_id", - "service_client_specific": { - "sync": { - "api_version": { - "signature": "api_version=None, # type: Optional[str]", - "description": "API version to use if no profile is provided, or if missing in profile.", - "docstring_type": "str", - "required": false - }, - "base_url": { - "signature": "base_url=None, # type: Optional[str]", - "description": "Service URL", - "docstring_type": "str", - "required": false - }, - "profile": { - "signature": "profile=KnownProfiles.default, # type: KnownProfiles", - "description": "A profile definition, from KnownProfiles to dict.", - "docstring_type": "azure.profiles.KnownProfiles", - "required": false - } - }, - "async": { - "api_version": { - "signature": "api_version: Optional[str] = None,", - "description": "API version to use if no profile is provided, or if missing in profile.", - "docstring_type": "str", - "required": false - }, - "base_url": { - "signature": "base_url: Optional[str] = None,", - "description": "Service URL", - "docstring_type": "str", - "required": false - }, - "profile": { - "signature": "profile: KnownProfiles = KnownProfiles.default,", - "description": "A profile definition, from KnownProfiles to dict.", - "docstring_type": "azure.profiles.KnownProfiles", - "required": false - } - } - } - }, - "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, - "sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"], \"azure.mgmt.core.policies\": [\"ARMHttpLoggingPolicy\"]}, \"local\": {\"._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}}", - "async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"], \"azure.mgmt.core.policies\": [\"ARMHttpLoggingPolicy\"]}, \"local\": {\".._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}}" - }, - "operation_groups": { - "network_managers": "NetworkManagersOperations", - "network_manager_commits": "NetworkManagerCommitsOperations", - "network_manager_deployment_status": "NetworkManagerDeploymentStatusOperations", - "effective_virtual_networks": "EffectiveVirtualNetworksOperations", - "active_connectivity_configurations": "ActiveConnectivityConfigurationsOperations", - "active_security_admin_rules": "ActiveSecurityAdminRulesOperations", - "active_security_user_rules": "ActiveSecurityUserRulesOperations", - "connectivity_configurations": "ConnectivityConfigurationsOperations", - "effective_connectivity_configurations": "EffectiveConnectivityConfigurationsOperations", - "network_manager_effective_security_admin_rules": "NetworkManagerEffectiveSecurityAdminRulesOperations", - "network_groups": "NetworkGroupsOperations", - "security_user_configurations": "SecurityUserConfigurationsOperations", - "user_rule_collections": "UserRuleCollectionsOperations", - "user_rules": "UserRulesOperations", - "security_admin_configurations": "SecurityAdminConfigurationsOperations", - "admin_rule_collections": "AdminRuleCollectionsOperations", - "admin_rules": "AdminRulesOperations", - "network_security_perimeters": "NetworkSecurityPerimetersOperations", - "perimeter_associable_resource_types": "PerimeterAssociableResourceTypesOperations" - } -} \ No newline at end of file diff --git a/src/network-manager/azext_network_manager/vendored_sdks/_network_management_client.py b/src/network-manager/azext_network_manager/vendored_sdks/_network_management_client.py index 7ff3d376174..f56f51db37e 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/_network_management_client.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/_network_management_client.py @@ -6,163 +6,142 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import TYPE_CHECKING +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING +from azure.core.rest import HttpRequest, HttpResponse from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import NetworkManagementClientConfiguration +from .operations import AdminRuleCollectionsOperations, AdminRulesOperations, ConnectivityConfigurationsOperations, EffectiveVirtualNetworksOperations, ListEffectiveVirtualNetworksOperations, ManagementGroupNetworkManagerConnectionsOperations, NetworkGroupsOperations, NetworkManagementClientOperationsMixin, NetworkManagerCommitsOperations, NetworkManagerDeploymentStatusOperations, NetworkManagersOperations, ScopeConnectionsOperations, SecurityAdminConfigurationsOperations, SecurityUserConfigurationsOperations, StaticMembersOperations, SubscriptionNetworkManagerConnectionsOperations, UserRuleCollectionsOperations, UserRulesOperations + 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 NetworkManagementClientConfiguration -from .operations import NetworkManagersOperations -from .operations import NetworkManagerCommitsOperations -from .operations import NetworkManagerDeploymentStatusOperations -from .operations import EffectiveVirtualNetworksOperations -from .operations import ActiveConnectivityConfigurationsOperations -from .operations import ActiveSecurityAdminRulesOperations -from .operations import ActiveSecurityUserRulesOperations -from .operations import ConnectivityConfigurationsOperations -from .operations import EffectiveConnectivityConfigurationsOperations -from .operations import NetworkManagerEffectiveSecurityAdminRulesOperations -from .operations import NetworkGroupsOperations -from .operations import SecurityUserConfigurationsOperations -from .operations import UserRuleCollectionsOperations -from .operations import UserRulesOperations -from .operations import SecurityAdminConfigurationsOperations -from .operations import AdminRuleCollectionsOperations -from .operations import AdminRulesOperations -from .operations import NetworkSecurityPerimetersOperations -from .operations import PerimeterAssociableResourceTypesOperations -from . import models - -class NetworkManagementClient(object): +class NetworkManagementClient(NetworkManagementClientOperationsMixin): """Network Client. :ivar network_managers: NetworkManagersOperations operations - :vartype network_managers: azure.mgmt.network.v2021_02_01_preview.operations.NetworkManagersOperations + :vartype network_managers: + azure.mgmt.network.v2021_05_01_preview.operations.NetworkManagersOperations :ivar network_manager_commits: NetworkManagerCommitsOperations operations - :vartype network_manager_commits: azure.mgmt.network.v2021_02_01_preview.operations.NetworkManagerCommitsOperations + :vartype network_manager_commits: + azure.mgmt.network.v2021_05_01_preview.operations.NetworkManagerCommitsOperations :ivar network_manager_deployment_status: NetworkManagerDeploymentStatusOperations operations - :vartype network_manager_deployment_status: azure.mgmt.network.v2021_02_01_preview.operations.NetworkManagerDeploymentStatusOperations + :vartype network_manager_deployment_status: + azure.mgmt.network.v2021_05_01_preview.operations.NetworkManagerDeploymentStatusOperations :ivar effective_virtual_networks: EffectiveVirtualNetworksOperations operations - :vartype effective_virtual_networks: azure.mgmt.network.v2021_02_01_preview.operations.EffectiveVirtualNetworksOperations - :ivar active_connectivity_configurations: ActiveConnectivityConfigurationsOperations operations - :vartype active_connectivity_configurations: azure.mgmt.network.v2021_02_01_preview.operations.ActiveConnectivityConfigurationsOperations - :ivar active_security_admin_rules: ActiveSecurityAdminRulesOperations operations - :vartype active_security_admin_rules: azure.mgmt.network.v2021_02_01_preview.operations.ActiveSecurityAdminRulesOperations - :ivar active_security_user_rules: ActiveSecurityUserRulesOperations operations - :vartype active_security_user_rules: azure.mgmt.network.v2021_02_01_preview.operations.ActiveSecurityUserRulesOperations + :vartype effective_virtual_networks: + azure.mgmt.network.v2021_05_01_preview.operations.EffectiveVirtualNetworksOperations :ivar connectivity_configurations: ConnectivityConfigurationsOperations operations - :vartype connectivity_configurations: azure.mgmt.network.v2021_02_01_preview.operations.ConnectivityConfigurationsOperations - :ivar effective_connectivity_configurations: EffectiveConnectivityConfigurationsOperations operations - :vartype effective_connectivity_configurations: azure.mgmt.network.v2021_02_01_preview.operations.EffectiveConnectivityConfigurationsOperations - :ivar network_manager_effective_security_admin_rules: NetworkManagerEffectiveSecurityAdminRulesOperations operations - :vartype network_manager_effective_security_admin_rules: azure.mgmt.network.v2021_02_01_preview.operations.NetworkManagerEffectiveSecurityAdminRulesOperations + :vartype connectivity_configurations: + azure.mgmt.network.v2021_05_01_preview.operations.ConnectivityConfigurationsOperations :ivar network_groups: NetworkGroupsOperations operations - :vartype network_groups: azure.mgmt.network.v2021_02_01_preview.operations.NetworkGroupsOperations + :vartype network_groups: + azure.mgmt.network.v2021_05_01_preview.operations.NetworkGroupsOperations + :ivar list_effective_virtual_networks: ListEffectiveVirtualNetworksOperations operations + :vartype list_effective_virtual_networks: + azure.mgmt.network.v2021_05_01_preview.operations.ListEffectiveVirtualNetworksOperations + :ivar static_members: StaticMembersOperations operations + :vartype static_members: + azure.mgmt.network.v2021_05_01_preview.operations.StaticMembersOperations :ivar security_user_configurations: SecurityUserConfigurationsOperations operations - :vartype security_user_configurations: azure.mgmt.network.v2021_02_01_preview.operations.SecurityUserConfigurationsOperations + :vartype security_user_configurations: + azure.mgmt.network.v2021_05_01_preview.operations.SecurityUserConfigurationsOperations :ivar user_rule_collections: UserRuleCollectionsOperations operations - :vartype user_rule_collections: azure.mgmt.network.v2021_02_01_preview.operations.UserRuleCollectionsOperations + :vartype user_rule_collections: + azure.mgmt.network.v2021_05_01_preview.operations.UserRuleCollectionsOperations :ivar user_rules: UserRulesOperations operations - :vartype user_rules: azure.mgmt.network.v2021_02_01_preview.operations.UserRulesOperations + :vartype user_rules: azure.mgmt.network.v2021_05_01_preview.operations.UserRulesOperations :ivar security_admin_configurations: SecurityAdminConfigurationsOperations operations - :vartype security_admin_configurations: azure.mgmt.network.v2021_02_01_preview.operations.SecurityAdminConfigurationsOperations + :vartype security_admin_configurations: + azure.mgmt.network.v2021_05_01_preview.operations.SecurityAdminConfigurationsOperations :ivar admin_rule_collections: AdminRuleCollectionsOperations operations - :vartype admin_rule_collections: azure.mgmt.network.v2021_02_01_preview.operations.AdminRuleCollectionsOperations + :vartype admin_rule_collections: + azure.mgmt.network.v2021_05_01_preview.operations.AdminRuleCollectionsOperations :ivar admin_rules: AdminRulesOperations operations - :vartype admin_rules: azure.mgmt.network.v2021_02_01_preview.operations.AdminRulesOperations - :ivar network_security_perimeters: NetworkSecurityPerimetersOperations operations - :vartype network_security_perimeters: azure.mgmt.network.v2021_02_01_preview.operations.NetworkSecurityPerimetersOperations - :ivar perimeter_associable_resource_types: PerimeterAssociableResourceTypesOperations operations - :vartype perimeter_associable_resource_types: azure.mgmt.network.v2021_02_01_preview.operations.PerimeterAssociableResourceTypesOperations + :vartype admin_rules: azure.mgmt.network.v2021_05_01_preview.operations.AdminRulesOperations + :ivar subscription_network_manager_connections: SubscriptionNetworkManagerConnectionsOperations + operations + :vartype subscription_network_manager_connections: + azure.mgmt.network.v2021_05_01_preview.operations.SubscriptionNetworkManagerConnectionsOperations + :ivar management_group_network_manager_connections: + ManagementGroupNetworkManagerConnectionsOperations operations + :vartype management_group_network_manager_connections: + azure.mgmt.network.v2021_05_01_preview.operations.ManagementGroupNetworkManagerConnectionsOperations + :ivar scope_connections: ScopeConnectionsOperations operations + :vartype scope_connections: + azure.mgmt.network.v2021_05_01_preview.operations.ScopeConnectionsOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + :param subscription_id: The subscription credentials which uniquely identify the Microsoft + Azure subscription. The subscription ID forms part of the URI for every service call. :type subscription_id: str - :param str base_url: Service URL + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str """ 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 = NetworkManagementClientConfiguration(credential, subscription_id, **kwargs) + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = NetworkManagementClientConfiguration(credential=credential, subscription_id=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.network_managers = NetworkManagersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_manager_commits = NetworkManagerCommitsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_manager_deployment_status = NetworkManagerDeploymentStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.effective_virtual_networks = EffectiveVirtualNetworksOperations( - self._client, self._config, self._serialize, self._deserialize) - self.active_connectivity_configurations = ActiveConnectivityConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.active_security_admin_rules = ActiveSecurityAdminRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.active_security_user_rules = ActiveSecurityUserRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.connectivity_configurations = ConnectivityConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.effective_connectivity_configurations = EffectiveConnectivityConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_manager_effective_security_admin_rules = NetworkManagerEffectiveSecurityAdminRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_groups = NetworkGroupsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.security_user_configurations = SecurityUserConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.user_rule_collections = UserRuleCollectionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.user_rules = UserRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.security_admin_configurations = SecurityAdminConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.admin_rule_collections = AdminRuleCollectionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.admin_rules = AdminRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_security_perimeters = NetworkSecurityPerimetersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.perimeter_associable_resource_types = PerimeterAssociableResourceTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + self._serialize.client_side_validation = False + self.network_managers = NetworkManagersOperations(self._client, self._config, self._serialize, self._deserialize) + self.network_manager_commits = NetworkManagerCommitsOperations(self._client, self._config, self._serialize, self._deserialize) + self.network_manager_deployment_status = NetworkManagerDeploymentStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.effective_virtual_networks = EffectiveVirtualNetworksOperations(self._client, self._config, self._serialize, self._deserialize) + self.connectivity_configurations = ConnectivityConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.network_groups = NetworkGroupsOperations(self._client, self._config, self._serialize, self._deserialize) + self.list_effective_virtual_networks = ListEffectiveVirtualNetworksOperations(self._client, self._config, self._serialize, self._deserialize) + self.static_members = StaticMembersOperations(self._client, self._config, self._serialize, self._deserialize) + self.security_user_configurations = SecurityUserConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.user_rule_collections = UserRuleCollectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.user_rules = UserRulesOperations(self._client, self._config, self._serialize, self._deserialize) + self.security_admin_configurations = SecurityAdminConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.admin_rule_collections = AdminRuleCollectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.admin_rules = AdminRulesOperations(self._client, self._config, self._serialize, self._deserialize) + self.subscription_network_manager_connections = SubscriptionNetworkManagerConnectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.management_group_network_manager_connections = ManagementGroupNetworkManagerConnectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.scope_connections = ScopeConnectionsOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: 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. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.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 + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/network-manager/azext_network_manager/vendored_sdks/_patch.py b/src/network-manager/azext_network_manager/vendored_sdks/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/network-manager/azext_network_manager/vendored_sdks/_vendor.py b/src/network-manager/azext_network_manager/vendored_sdks/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/__init__.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/__init__.py index 1c78defcf22..6affaa922de 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/__init__.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/__init__.py @@ -8,3 +8,8 @@ from ._network_management_client import NetworkManagementClient __all__ = ['NetworkManagementClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/_configuration.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/_configuration.py index 05295a7364a..2c996372539 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/_configuration.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,15 +37,15 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(NetworkManagementClientConfiguration, self).__init__(**kwargs) 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(NetworkManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-02-01-preview" + self.api_version = "2021-05-01-preview" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-network/{}'.format(VERSION)) self._configure(**kwargs) @@ -64,4 +64,4 @@ def _configure( 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) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/_network_management_client.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/_network_management_client.py index 9de340f52e3..8814cce0479 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/_network_management_client.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/_network_management_client.py @@ -6,159 +6,143 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest import AsyncHttpResponse, HttpRequest from azure.mgmt.core import AsyncARMPipelineClient from msrest import Deserializer, Serializer +from .. import models +from ._configuration import NetworkManagementClientConfiguration +from .operations import AdminRuleCollectionsOperations, AdminRulesOperations, ConnectivityConfigurationsOperations, EffectiveVirtualNetworksOperations, ListEffectiveVirtualNetworksOperations, ManagementGroupNetworkManagerConnectionsOperations, NetworkGroupsOperations, NetworkManagementClientOperationsMixin, NetworkManagerCommitsOperations, NetworkManagerDeploymentStatusOperations, NetworkManagersOperations, ScopeConnectionsOperations, SecurityAdminConfigurationsOperations, SecurityUserConfigurationsOperations, StaticMembersOperations, SubscriptionNetworkManagerConnectionsOperations, UserRuleCollectionsOperations, UserRulesOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import NetworkManagementClientConfiguration -from .operations import NetworkManagersOperations -from .operations import NetworkManagerCommitsOperations -from .operations import NetworkManagerDeploymentStatusOperations -from .operations import EffectiveVirtualNetworksOperations -from .operations import ActiveConnectivityConfigurationsOperations -from .operations import ActiveSecurityAdminRulesOperations -from .operations import ActiveSecurityUserRulesOperations -from .operations import ConnectivityConfigurationsOperations -from .operations import EffectiveConnectivityConfigurationsOperations -from .operations import NetworkManagerEffectiveSecurityAdminRulesOperations -from .operations import NetworkGroupsOperations -from .operations import SecurityUserConfigurationsOperations -from .operations import UserRuleCollectionsOperations -from .operations import UserRulesOperations -from .operations import SecurityAdminConfigurationsOperations -from .operations import AdminRuleCollectionsOperations -from .operations import AdminRulesOperations -from .operations import NetworkSecurityPerimetersOperations -from .operations import PerimeterAssociableResourceTypesOperations -from .. import models - - -class NetworkManagementClient(object): +class NetworkManagementClient(NetworkManagementClientOperationsMixin): """Network Client. :ivar network_managers: NetworkManagersOperations operations - :vartype network_managers: azure.mgmt.network.v2021_02_01_preview.aio.operations.NetworkManagersOperations + :vartype network_managers: + azure.mgmt.network.v2021_05_01_preview.aio.operations.NetworkManagersOperations :ivar network_manager_commits: NetworkManagerCommitsOperations operations - :vartype network_manager_commits: azure.mgmt.network.v2021_02_01_preview.aio.operations.NetworkManagerCommitsOperations + :vartype network_manager_commits: + azure.mgmt.network.v2021_05_01_preview.aio.operations.NetworkManagerCommitsOperations :ivar network_manager_deployment_status: NetworkManagerDeploymentStatusOperations operations - :vartype network_manager_deployment_status: azure.mgmt.network.v2021_02_01_preview.aio.operations.NetworkManagerDeploymentStatusOperations + :vartype network_manager_deployment_status: + azure.mgmt.network.v2021_05_01_preview.aio.operations.NetworkManagerDeploymentStatusOperations :ivar effective_virtual_networks: EffectiveVirtualNetworksOperations operations - :vartype effective_virtual_networks: azure.mgmt.network.v2021_02_01_preview.aio.operations.EffectiveVirtualNetworksOperations - :ivar active_connectivity_configurations: ActiveConnectivityConfigurationsOperations operations - :vartype active_connectivity_configurations: azure.mgmt.network.v2021_02_01_preview.aio.operations.ActiveConnectivityConfigurationsOperations - :ivar active_security_admin_rules: ActiveSecurityAdminRulesOperations operations - :vartype active_security_admin_rules: azure.mgmt.network.v2021_02_01_preview.aio.operations.ActiveSecurityAdminRulesOperations - :ivar active_security_user_rules: ActiveSecurityUserRulesOperations operations - :vartype active_security_user_rules: azure.mgmt.network.v2021_02_01_preview.aio.operations.ActiveSecurityUserRulesOperations + :vartype effective_virtual_networks: + azure.mgmt.network.v2021_05_01_preview.aio.operations.EffectiveVirtualNetworksOperations :ivar connectivity_configurations: ConnectivityConfigurationsOperations operations - :vartype connectivity_configurations: azure.mgmt.network.v2021_02_01_preview.aio.operations.ConnectivityConfigurationsOperations - :ivar effective_connectivity_configurations: EffectiveConnectivityConfigurationsOperations operations - :vartype effective_connectivity_configurations: azure.mgmt.network.v2021_02_01_preview.aio.operations.EffectiveConnectivityConfigurationsOperations - :ivar network_manager_effective_security_admin_rules: NetworkManagerEffectiveSecurityAdminRulesOperations operations - :vartype network_manager_effective_security_admin_rules: azure.mgmt.network.v2021_02_01_preview.aio.operations.NetworkManagerEffectiveSecurityAdminRulesOperations + :vartype connectivity_configurations: + azure.mgmt.network.v2021_05_01_preview.aio.operations.ConnectivityConfigurationsOperations :ivar network_groups: NetworkGroupsOperations operations - :vartype network_groups: azure.mgmt.network.v2021_02_01_preview.aio.operations.NetworkGroupsOperations + :vartype network_groups: + azure.mgmt.network.v2021_05_01_preview.aio.operations.NetworkGroupsOperations + :ivar list_effective_virtual_networks: ListEffectiveVirtualNetworksOperations operations + :vartype list_effective_virtual_networks: + azure.mgmt.network.v2021_05_01_preview.aio.operations.ListEffectiveVirtualNetworksOperations + :ivar static_members: StaticMembersOperations operations + :vartype static_members: + azure.mgmt.network.v2021_05_01_preview.aio.operations.StaticMembersOperations :ivar security_user_configurations: SecurityUserConfigurationsOperations operations - :vartype security_user_configurations: azure.mgmt.network.v2021_02_01_preview.aio.operations.SecurityUserConfigurationsOperations + :vartype security_user_configurations: + azure.mgmt.network.v2021_05_01_preview.aio.operations.SecurityUserConfigurationsOperations :ivar user_rule_collections: UserRuleCollectionsOperations operations - :vartype user_rule_collections: azure.mgmt.network.v2021_02_01_preview.aio.operations.UserRuleCollectionsOperations + :vartype user_rule_collections: + azure.mgmt.network.v2021_05_01_preview.aio.operations.UserRuleCollectionsOperations :ivar user_rules: UserRulesOperations operations - :vartype user_rules: azure.mgmt.network.v2021_02_01_preview.aio.operations.UserRulesOperations + :vartype user_rules: azure.mgmt.network.v2021_05_01_preview.aio.operations.UserRulesOperations :ivar security_admin_configurations: SecurityAdminConfigurationsOperations operations - :vartype security_admin_configurations: azure.mgmt.network.v2021_02_01_preview.aio.operations.SecurityAdminConfigurationsOperations + :vartype security_admin_configurations: + azure.mgmt.network.v2021_05_01_preview.aio.operations.SecurityAdminConfigurationsOperations :ivar admin_rule_collections: AdminRuleCollectionsOperations operations - :vartype admin_rule_collections: azure.mgmt.network.v2021_02_01_preview.aio.operations.AdminRuleCollectionsOperations + :vartype admin_rule_collections: + azure.mgmt.network.v2021_05_01_preview.aio.operations.AdminRuleCollectionsOperations :ivar admin_rules: AdminRulesOperations operations - :vartype admin_rules: azure.mgmt.network.v2021_02_01_preview.aio.operations.AdminRulesOperations - :ivar network_security_perimeters: NetworkSecurityPerimetersOperations operations - :vartype network_security_perimeters: azure.mgmt.network.v2021_02_01_preview.aio.operations.NetworkSecurityPerimetersOperations - :ivar perimeter_associable_resource_types: PerimeterAssociableResourceTypesOperations operations - :vartype perimeter_associable_resource_types: azure.mgmt.network.v2021_02_01_preview.aio.operations.PerimeterAssociableResourceTypesOperations + :vartype admin_rules: + azure.mgmt.network.v2021_05_01_preview.aio.operations.AdminRulesOperations + :ivar subscription_network_manager_connections: SubscriptionNetworkManagerConnectionsOperations + operations + :vartype subscription_network_manager_connections: + azure.mgmt.network.v2021_05_01_preview.aio.operations.SubscriptionNetworkManagerConnectionsOperations + :ivar management_group_network_manager_connections: + ManagementGroupNetworkManagerConnectionsOperations operations + :vartype management_group_network_manager_connections: + azure.mgmt.network.v2021_05_01_preview.aio.operations.ManagementGroupNetworkManagerConnectionsOperations + :ivar scope_connections: ScopeConnectionsOperations operations + :vartype scope_connections: + azure.mgmt.network.v2021_05_01_preview.aio.operations.ScopeConnectionsOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + :param subscription_id: The subscription credentials which uniquely identify the Microsoft + Azure subscription. The subscription ID forms part of the URI for every service call. :type subscription_id: str - :param str base_url: Service URL + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = NetworkManagementClientConfiguration(credential, subscription_id, **kwargs) + self._config = NetworkManagementClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.network_managers = NetworkManagersOperations(self._client, self._config, self._serialize, self._deserialize) + self.network_manager_commits = NetworkManagerCommitsOperations(self._client, self._config, self._serialize, self._deserialize) + self.network_manager_deployment_status = NetworkManagerDeploymentStatusOperations(self._client, self._config, self._serialize, self._deserialize) + self.effective_virtual_networks = EffectiveVirtualNetworksOperations(self._client, self._config, self._serialize, self._deserialize) + self.connectivity_configurations = ConnectivityConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.network_groups = NetworkGroupsOperations(self._client, self._config, self._serialize, self._deserialize) + self.list_effective_virtual_networks = ListEffectiveVirtualNetworksOperations(self._client, self._config, self._serialize, self._deserialize) + self.static_members = StaticMembersOperations(self._client, self._config, self._serialize, self._deserialize) + self.security_user_configurations = SecurityUserConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.user_rule_collections = UserRuleCollectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.user_rules = UserRulesOperations(self._client, self._config, self._serialize, self._deserialize) + self.security_admin_configurations = SecurityAdminConfigurationsOperations(self._client, self._config, self._serialize, self._deserialize) + self.admin_rule_collections = AdminRuleCollectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.admin_rules = AdminRulesOperations(self._client, self._config, self._serialize, self._deserialize) + self.subscription_network_manager_connections = SubscriptionNetworkManagerConnectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.management_group_network_manager_connections = ManagementGroupNetworkManagerConnectionsOperations(self._client, self._config, self._serialize, self._deserialize) + self.scope_connections = ScopeConnectionsOperations(self._client, self._config, self._serialize, self._deserialize) + - self.network_managers = NetworkManagersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_manager_commits = NetworkManagerCommitsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_manager_deployment_status = NetworkManagerDeploymentStatusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.effective_virtual_networks = EffectiveVirtualNetworksOperations( - self._client, self._config, self._serialize, self._deserialize) - self.active_connectivity_configurations = ActiveConnectivityConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.active_security_admin_rules = ActiveSecurityAdminRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.active_security_user_rules = ActiveSecurityUserRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.connectivity_configurations = ConnectivityConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.effective_connectivity_configurations = EffectiveConnectivityConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_manager_effective_security_admin_rules = NetworkManagerEffectiveSecurityAdminRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_groups = NetworkGroupsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.security_user_configurations = SecurityUserConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.user_rule_collections = UserRuleCollectionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.user_rules = UserRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.security_admin_configurations = SecurityAdminConfigurationsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.admin_rule_collections = AdminRuleCollectionsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.admin_rules = AdminRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.network_security_perimeters = NetworkSecurityPerimetersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.perimeter_associable_resource_types = PerimeterAssociableResourceTypesOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[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. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.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 + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/_patch.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/__init__.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/__init__.py index e3ab4d13aca..4a8edd7c584 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/__init__.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/__init__.py @@ -10,40 +10,38 @@ from ._network_manager_commits_operations import NetworkManagerCommitsOperations from ._network_manager_deployment_status_operations import NetworkManagerDeploymentStatusOperations from ._effective_virtual_networks_operations import EffectiveVirtualNetworksOperations -from ._active_connectivity_configurations_operations import ActiveConnectivityConfigurationsOperations -from ._active_security_admin_rules_operations import ActiveSecurityAdminRulesOperations -from ._active_security_user_rules_operations import ActiveSecurityUserRulesOperations +from ._network_management_client_operations import NetworkManagementClientOperationsMixin from ._connectivity_configurations_operations import ConnectivityConfigurationsOperations -from ._effective_connectivity_configurations_operations import EffectiveConnectivityConfigurationsOperations -from ._network_manager_effective_security_admin_rules_operations import NetworkManagerEffectiveSecurityAdminRulesOperations from ._network_groups_operations import NetworkGroupsOperations +from ._list_effective_virtual_networks_operations import ListEffectiveVirtualNetworksOperations +from ._static_members_operations import StaticMembersOperations from ._security_user_configurations_operations import SecurityUserConfigurationsOperations from ._user_rule_collections_operations import UserRuleCollectionsOperations from ._user_rules_operations import UserRulesOperations from ._security_admin_configurations_operations import SecurityAdminConfigurationsOperations from ._admin_rule_collections_operations import AdminRuleCollectionsOperations from ._admin_rules_operations import AdminRulesOperations -from ._network_security_perimeters_operations import NetworkSecurityPerimetersOperations -from ._perimeter_associable_resource_types_operations import PerimeterAssociableResourceTypesOperations +from ._subscription_network_manager_connections_operations import SubscriptionNetworkManagerConnectionsOperations +from ._management_group_network_manager_connections_operations import ManagementGroupNetworkManagerConnectionsOperations +from ._scope_connections_operations import ScopeConnectionsOperations __all__ = [ 'NetworkManagersOperations', 'NetworkManagerCommitsOperations', 'NetworkManagerDeploymentStatusOperations', 'EffectiveVirtualNetworksOperations', - 'ActiveConnectivityConfigurationsOperations', - 'ActiveSecurityAdminRulesOperations', - 'ActiveSecurityUserRulesOperations', + 'NetworkManagementClientOperationsMixin', 'ConnectivityConfigurationsOperations', - 'EffectiveConnectivityConfigurationsOperations', - 'NetworkManagerEffectiveSecurityAdminRulesOperations', 'NetworkGroupsOperations', + 'ListEffectiveVirtualNetworksOperations', + 'StaticMembersOperations', 'SecurityUserConfigurationsOperations', 'UserRuleCollectionsOperations', 'UserRulesOperations', 'SecurityAdminConfigurationsOperations', 'AdminRuleCollectionsOperations', 'AdminRulesOperations', - 'NetworkSecurityPerimetersOperations', - 'PerimeterAssociableResourceTypesOperations', + 'SubscriptionNetworkManagerConnectionsOperations', + 'ManagementGroupNetworkManagerConnectionsOperations', + 'ScopeConnectionsOperations', ] diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_connectivity_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_connectivity_configurations_operations.py deleted file mode 100644 index 3abf2e35153..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_connectivity_configurations_operations.py +++ /dev/null @@ -1,107 +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, 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 as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class ActiveConnectivityConfigurationsOperations: - """ActiveConnectivityConfigurationsOperations 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.network.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. - """ - - models = _models - - def __init__(self, client, config, serializer, deserializer) -> None: - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - async def list( - self, - resource_group_name: str, - network_manager_name: str, - parameters: "_models.ActiveConfigurationParameter", - **kwargs: Any - ) -> "_models.ActiveConnectivityConfigurationsListResult": - """Lists active connectivity configurations in a network manager. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_manager_name: The name of the network manager. - :type network_manager_name: str - :param parameters: Active Configuration Parameter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveConfigurationParameter - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ActiveConnectivityConfigurationsListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveConnectivityConfigurationsListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveConnectivityConfigurationsListResult"] - 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.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'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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(parameters, 'ActiveConfigurationParameter') - 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('ActiveConnectivityConfigurationsListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveConnectivityConfigurations'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_admin_rule_collections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_admin_rule_collections_operations.py index eca2c67749c..cc61ec586e4 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_admin_rule_collections_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_admin_rule_collections_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._admin_rule_collections_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class AdminRuleCollectionsOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -56,7 +62,7 @@ def list( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param top: An optional query parameter which specifies the maximum number of records to be returned by the server. @@ -66,8 +72,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 RuleCollectionListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.RuleCollectionListResult] + :return: An iterator like instance of either RuleCollectionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.RuleCollectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollectionListResult"] @@ -75,41 +83,39 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RuleCollectionListResult', pipeline_response) + deserialized = self._deserialize("RuleCollectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -127,11 +133,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -146,14 +154,14 @@ async def get( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: RuleCollection, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollection"] @@ -161,29 +169,19 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -197,8 +195,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -214,16 +215,16 @@ async def create_or_update( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :param rule_collection: The Rule Collection to create or update. - :type rule_collection: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :type rule_collection: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :keyword callable cls: A custom type or function that will be passed the direct response :return: RuleCollection, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollection"] @@ -231,34 +232,24 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(rule_collection, 'RuleCollection') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(rule_collection, 'RuleCollection') - 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 @@ -276,14 +267,19 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, network_manager_name: str, configuration_name: str, rule_collection_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes an admin rule collection. @@ -292,11 +288,19 @@ async def delete( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -307,29 +311,21 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -341,3 +337,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_admin_rules_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_admin_rules_operations.py index 4d41ba8a9b6..ec920ef05a7 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_admin_rules_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_admin_rules_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._admin_rules_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class AdminRulesOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -57,7 +63,7 @@ def list( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -71,7 +77,8 @@ def list( :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 AdminRuleListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.AdminRuleListResult] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.AdminRuleListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.AdminRuleListResult"] @@ -79,42 +86,41 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('AdminRuleListResult', pipeline_response) + deserialized = self._deserialize("AdminRuleListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -132,11 +138,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -152,7 +160,7 @@ async def get( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -161,7 +169,7 @@ async def get( :type rule_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: BaseAdminRule, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.BaseAdminRule + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.BaseAdminRule :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BaseAdminRule"] @@ -169,30 +177,20 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -206,8 +204,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -224,7 +225,7 @@ async def create_or_update( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -232,10 +233,10 @@ async def create_or_update( :param rule_name: The name of the rule. :type rule_name: str :param admin_rule: The admin rule to create or update. - :type admin_rule: ~azure.mgmt.network.v2021_02_01_preview.models.BaseAdminRule + :type admin_rule: ~azure.mgmt.network.v2021_05_01_preview.models.BaseAdminRule :keyword callable cls: A custom type or function that will be passed the direct response :return: BaseAdminRule, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.BaseAdminRule + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.BaseAdminRule :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BaseAdminRule"] @@ -243,35 +244,25 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(admin_rule, 'BaseAdminRule') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(admin_rule, 'BaseAdminRule') - 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 @@ -289,8 +280,11 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, @@ -298,6 +292,7 @@ async def delete( configuration_name: str, rule_collection_name: str, rule_name: str, + force: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes an admin rule. @@ -306,13 +301,17 @@ async def delete( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :param rule_name: The name of the rule. :type rule_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: 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 @@ -323,30 +322,21 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + force=force, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -358,3 +348,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_connectivity_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_connectivity_configurations_operations.py index 7aaf0f0a2c5..8c2c8298f04 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_connectivity_configurations_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_connectivity_configurations_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._connectivity_configurations_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class ConnectivityConfigurationsOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -59,7 +65,7 @@ async def get( :type configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ConnectivityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ConnectivityConfiguration"] @@ -67,28 +73,18 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -102,8 +98,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -122,10 +121,11 @@ async def create_or_update( :type configuration_name: str :param connectivity_configuration: Parameters supplied to create/update a network manager connectivity configuration. - :type connectivity_configuration: ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfiguration + :type connectivity_configuration: + ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: ConnectivityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ConnectivityConfiguration"] @@ -133,33 +133,23 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(connectivity_configuration, 'ConnectivityConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(connectivity_configuration, 'ConnectivityConfiguration') - 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 @@ -177,13 +167,17 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, network_manager_name: str, configuration_name: str, + force: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes a network manager connectivity configuration, specified by the resource group, network @@ -195,6 +189,10 @@ async def delete( :type network_manager_name: str :param configuration_name: The name of the network manager connectivity configuration. :type configuration_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: 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 @@ -205,28 +203,19 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + force=force, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -239,6 +228,8 @@ async def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, @@ -261,8 +252,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 ConnectivityConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfigurationListResult] + :return: An iterator like instance of either ConnectivityConfigurationListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfigurationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ConnectivityConfigurationListResult"] @@ -270,40 +263,37 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ConnectivityConfigurationListResult', pipeline_response) + deserialized = self._deserialize("ConnectivityConfigurationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -321,6 +311,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_effective_connectivity_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_effective_connectivity_configurations_operations.py deleted file mode 100644 index a25307a9064..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_effective_connectivity_configurations_operations.py +++ /dev/null @@ -1,107 +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, 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 as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class EffectiveConnectivityConfigurationsOperations: - """EffectiveConnectivityConfigurationsOperations 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.network.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. - """ - - models = _models - - def __init__(self, client, config, serializer, deserializer) -> None: - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - async def list( - self, - resource_group_name: str, - virtual_network_name: str, - parameters: "_models.QueryRequestOptions", - **kwargs: Any - ) -> "_models.NetworkManagerEffectiveConnectivityConfigurationListResult": - """List all effective connectivity configurations applied on a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param parameters: Parameters supplied to list correct page. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.QueryRequestOptions - :keyword callable cls: A custom type or function that will be passed the direct response - :return: NetworkManagerEffectiveConnectivityConfigurationListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerEffectiveConnectivityConfigurationListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerEffectiveConnectivityConfigurationListResult"] - 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.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'), - '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] - body_content = self._serialize.body(parameters, 'QueryRequestOptions') - 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('NetworkManagerEffectiveConnectivityConfigurationListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveConnectivityConfigurations'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_effective_virtual_networks_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_effective_virtual_networks_operations.py index 7f424f19c79..6d726c7f54d 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_effective_virtual_networks_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_effective_virtual_networks_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._effective_virtual_networks_operations import build_list_by_network_manager_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class EffectiveVirtualNetworksOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def list_by_network_manager( self, resource_group_name: str, @@ -56,7 +61,8 @@ async def list_by_network_manager( :param network_manager_name: The name of the network manager. :type network_manager_name: str :param parameters: Effective Virtual Networks Parameter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveVirtualNetworksParameter + :type parameters: + ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveVirtualNetworksParameter :param top: An optional query parameter which specifies the maximum number of records to be returned by the server. :type top: int @@ -66,7 +72,7 @@ async def list_by_network_manager( :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response :return: EffectiveVirtualNetworksListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveVirtualNetworksListResult + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveVirtualNetworksListResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.EffectiveVirtualNetworksListResult"] @@ -74,106 +80,24 @@ async def list_by_network_manager( 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.list_by_network_manager.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - if skip_token is not None: - query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, '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(parameters, 'EffectiveVirtualNetworksParameter') - 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('EffectiveVirtualNetworksListResult', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - return deserialized - list_by_network_manager.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listEffectiveVirtualNetworks'} # type: ignore + _json = self._serialize.body(parameters, 'EffectiveVirtualNetworksParameter') - async def list_by_network_group( - self, - resource_group_name: str, - network_manager_name: str, - network_group_name: str, - parameters: "_models.QueryRequestOptions", - **kwargs: Any - ) -> "_models.EffectiveVirtualNetworksListResult": - """Lists all effective virtual networks by specified network group. + request = build_list_by_network_manager_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + top=top, + skip_token=skip_token, + template_url=self.list_by_network_manager.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_manager_name: The name of the network manager. - :type network_manager_name: str - :param network_group_name: The name of the network group to get. - :type network_group_name: str - :param parameters: Parameters supplied to list correct page. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.QueryRequestOptions - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EffectiveVirtualNetworksListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveVirtualNetworksListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.EffectiveVirtualNetworksListResult"] - 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.list_by_network_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'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'networkGroupName': self._serialize.url("network_group_name", network_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') - - # 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(parameters, 'QueryRequestOptions') - 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 @@ -187,4 +111,6 @@ async def list_by_network_group( return cls(pipeline_response, deserialized, {}) return deserialized - list_by_network_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/listEffectiveVirtualNetworks'} # type: ignore + + list_by_network_manager.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listEffectiveVirtualNetworks'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_security_admin_rules_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_list_effective_virtual_networks_operations.py similarity index 53% rename from src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_security_admin_rules_operations.py rename to src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_list_effective_virtual_networks_operations.py index 23e9a9b4987..7fe36989af3 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_active_security_admin_rules_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_list_effective_virtual_networks_operations.py @@ -5,27 +5,31 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._list_effective_virtual_networks_operations import build_by_network_group_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ActiveSecurityAdminRulesOperations: - """ActiveSecurityAdminRulesOperations async operations. +class ListEffectiveVirtualNetworksOperations: + """ListEffectiveVirtualNetworksOperations 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,57 +44,52 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - async def list( + @distributed_trace_async + async def by_network_group( self, resource_group_name: str, network_manager_name: str, - parameters: "_models.ActiveConfigurationParameter", + network_group_name: str, + parameters: "_models.QueryRequestOptions", **kwargs: Any - ) -> "_models.ActiveSecurityAdminRulesListResult": - """Lists active security admin rules in a network manager. + ) -> "_models.EffectiveVirtualNetworksListResult": + """Lists all effective virtual networks by specified network group. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param parameters: Active Configuration Parameter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveConfigurationParameter + :param network_group_name: The name of the network group. + :type network_group_name: str + :param parameters: Parameters supplied to list correct page. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.QueryRequestOptions :keyword callable cls: A custom type or function that will be passed the direct response - :return: ActiveSecurityAdminRulesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveSecurityAdminRulesListResult + :return: EffectiveVirtualNetworksListResult, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveVirtualNetworksListResult :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveSecurityAdminRulesListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.EffectiveVirtualNetworksListResult"] 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.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'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'QueryRequestOptions') - # 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') + request = build_by_network_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + content_type=content_type, + json=_json, + template_url=self.by_network_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ActiveConfigurationParameter') - 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 @@ -98,10 +97,12 @@ async def list( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('ActiveSecurityAdminRulesListResult', pipeline_response) + deserialized = self._deserialize('EffectiveVirtualNetworksListResult', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityAdminRules'} # type: ignore + + by_network_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/listEffectiveVirtualNetworks'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_management_group_network_manager_connections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_management_group_network_manager_connections_operations.py new file mode 100644 index 00000000000..f910aba4237 --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_management_group_network_manager_connections_operations.py @@ -0,0 +1,290 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._management_group_network_manager_connections_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ManagementGroupNetworkManagerConnectionsOperations: + """ManagementGroupNetworkManagerConnectionsOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def create_or_update( + self, + management_group_id: str, + network_manager_connection_name: str, + parameters: "_models.NetworkManagerConnection", + **kwargs: Any + ) -> "_models.NetworkManagerConnection": + """Create a connection to a cross tenant network manager. + + :param management_group_id: The management group Id which uniquely identify the Microsoft Azure + management group. + :type management_group_id: str + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_connection_name: str + :param parameters: Network manager connection to be created/updated. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'NetworkManagerConnection') + + request = build_create_or_update_request( + management_group_id=management_group_id, + network_manager_connection_name=network_manager_connection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('NetworkManagerConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace_async + async def get( + self, + management_group_id: str, + network_manager_connection_name: str, + **kwargs: Any + ) -> "_models.NetworkManagerConnection": + """Get a specified connection created by this management group. + + :param management_group_id: The management group Id which uniquely identify the Microsoft Azure + management group. + :type management_group_id: str + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + management_group_id=management_group_id, + network_manager_connection_name=network_manager_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace_async + async def delete( + self, + management_group_id: str, + network_manager_connection_name: str, + **kwargs: Any + ) -> None: + """Delete specified pending connection created by this management group. + + :param management_group_id: The management group Id which uniquely identify the Microsoft Azure + management group. + :type management_group_id: str + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_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', {})) + + + request = build_delete_request( + management_group_id=management_group_id, + network_manager_connection_name=network_manager_connection_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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': '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace + def list( + self, + management_group_id: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterable["_models.NetworkManagerConnectionListResult"]: + """List all network manager connections created by this management group. + + :param management_group_id: The management group Id which uniquely identify the Microsoft Azure + management group. + :type management_group_id: str + :param top: An optional query parameter which specifies the maximum number of records to be + returned by the server. + :type top: int + :param skip_token: SkipToken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skipToken parameter that specifies a starting point to use for subsequent calls. + :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 NetworkManagerConnectionListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + management_group_id=management_group_id, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + management_group_id=management_group_id, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("NetworkManagerConnectionListResult", 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.Network/managementGroups/{managementGroupId}/networkManagerConnections'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_groups_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_groups_operations.py index 5393f2574ab..c21290fa924 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_groups_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_groups_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._network_groups_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class NetworkGroupsOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -54,11 +60,11 @@ async def get( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param network_group_name: The name of the network group to get. + :param network_group_name: The name of the network group. :type network_group_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkGroup, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroup + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroup :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkGroup"] @@ -66,28 +72,18 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'networkGroupName': self._serialize.url("network_group_name", network_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') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -101,8 +97,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -118,17 +117,17 @@ async def create_or_update( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param network_group_name: The name of the network group to get. + :param network_group_name: The name of the network group. :type network_group_name: str :param parameters: Parameters supplied to the specify which network group need to create. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroup + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroup :param if_match: The ETag of the transformation. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes. :type if_match: str :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkGroup, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroup + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroup :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkGroup"] @@ -136,35 +135,24 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'networkGroupName': self._serialize.url("network_group_name", network_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') - - # 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(parameters, 'NetworkGroup') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'NetworkGroup') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + content_type=content_type, + json=_json, + if_match=if_match, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -175,23 +163,29 @@ async def create_or_update( response_headers = {} if response.status_code == 200: response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('NetworkGroup', pipeline_response) if response.status_code == 201: response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('NetworkGroup', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, network_manager_name: str, network_group_name: str, + force: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes a network group. @@ -200,8 +194,12 @@ async def delete( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param network_group_name: The name of the network group to get. + :param network_group_name: The name of the network group. :type network_group_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: 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 @@ -212,28 +210,19 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'networkGroupName': self._serialize.url("network_group_name", network_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') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + force=force, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -246,6 +235,8 @@ async def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, @@ -268,8 +259,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 NetworkGroupListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroupListResult] + :return: An iterator like instance of either NetworkGroupListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroupListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkGroupListResult"] @@ -277,40 +270,37 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkGroupListResult', pipeline_response) + deserialized = self._deserialize("NetworkGroupListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -328,6 +318,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_management_client_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_management_client_operations.py new file mode 100644 index 00000000000..150c50b0f3d --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_management_client_operations.py @@ -0,0 +1,324 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._network_management_client_operations import build_list_active_connectivity_configurations_request, build_list_active_security_admin_rules_request, build_list_active_security_user_rules_request, build_list_network_manager_effective_connectivity_configurations_request, build_list_network_manager_effective_security_admin_rules_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class NetworkManagementClientOperationsMixin: + + @distributed_trace_async + async def list_active_connectivity_configurations( + self, + resource_group_name: str, + network_manager_name: str, + parameters: "_models.ActiveConfigurationParameter", + **kwargs: Any + ) -> "_models.ActiveConnectivityConfigurationsListResult": + """Lists active connectivity configurations in a network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param parameters: Active Configuration Parameter. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveConfigurationParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActiveConnectivityConfigurationsListResult, or the result of cls(response) + :rtype: + ~azure.mgmt.network.v2021_05_01_preview.models.ActiveConnectivityConfigurationsListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveConnectivityConfigurationsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ActiveConfigurationParameter') + + request = build_list_active_connectivity_configurations_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.list_active_connectivity_configurations.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ActiveConnectivityConfigurationsListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_active_connectivity_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveConnectivityConfigurations'} # type: ignore + + + @distributed_trace_async + async def list_active_security_admin_rules( + self, + resource_group_name: str, + network_manager_name: str, + parameters: "_models.ActiveConfigurationParameter", + **kwargs: Any + ) -> "_models.ActiveSecurityAdminRulesListResult": + """Lists active security admin rules in a network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param parameters: Active Configuration Parameter. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveConfigurationParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActiveSecurityAdminRulesListResult, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveSecurityAdminRulesListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveSecurityAdminRulesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ActiveConfigurationParameter') + + request = build_list_active_security_admin_rules_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.list_active_security_admin_rules.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ActiveSecurityAdminRulesListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_active_security_admin_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityAdminRules'} # type: ignore + + + @distributed_trace_async + async def list_active_security_user_rules( + self, + resource_group_name: str, + network_manager_name: str, + parameters: "_models.ActiveConfigurationParameter", + **kwargs: Any + ) -> "_models.ActiveSecurityUserRulesListResult": + """Lists Active Security User Rules in a network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param parameters: Active Configuration Parameter. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveConfigurationParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActiveSecurityUserRulesListResult, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveSecurityUserRulesListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveSecurityUserRulesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ActiveConfigurationParameter') + + request = build_list_active_security_user_rules_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.list_active_security_user_rules.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ActiveSecurityUserRulesListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_active_security_user_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityUserRules'} # type: ignore + + + @distributed_trace_async + async def list_network_manager_effective_connectivity_configurations( + self, + resource_group_name: str, + virtual_network_name: str, + parameters: "_models.QueryRequestOptions", + **kwargs: Any + ) -> "_models.NetworkManagerEffectiveConnectivityConfigurationListResult": + """List all effective connectivity configurations applied on a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param parameters: Parameters supplied to list correct page. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.QueryRequestOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerEffectiveConnectivityConfigurationListResult, or the result of + cls(response) + :rtype: + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerEffectiveConnectivityConfigurationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerEffectiveConnectivityConfigurationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'QueryRequestOptions') + + request = build_list_network_manager_effective_connectivity_configurations_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + content_type=content_type, + json=_json, + template_url=self.list_network_manager_effective_connectivity_configurations.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerEffectiveConnectivityConfigurationListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_network_manager_effective_connectivity_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveConnectivityConfigurations'} # type: ignore + + + @distributed_trace_async + async def list_network_manager_effective_security_admin_rules( + self, + resource_group_name: str, + virtual_network_name: str, + parameters: "_models.QueryRequestOptions", + **kwargs: Any + ) -> "_models.NetworkManagerEffectiveSecurityAdminRulesListResult": + """List all effective security admin rules applied on a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param parameters: Parameters supplied to list correct page. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.QueryRequestOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerEffectiveSecurityAdminRulesListResult, or the result of cls(response) + :rtype: + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerEffectiveSecurityAdminRulesListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerEffectiveSecurityAdminRulesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'QueryRequestOptions') + + request = build_list_network_manager_effective_security_admin_rules_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + content_type=content_type, + json=_json, + template_url=self.list_network_manager_effective_security_admin_rules.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerEffectiveSecurityAdminRulesListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_network_manager_effective_security_admin_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveSecurityAdminRules'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_commits_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_commits_operations.py index edb5e278cd4..6ec2550c6cb 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_commits_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_commits_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._network_manager_commits_operations import build_post_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class NetworkManagerCommitsOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def post( self, resource_group_name: str, @@ -54,10 +59,10 @@ async def post( :param network_manager_name: The name of the network manager. :type network_manager_name: str :param parameters: Parameters supplied to specify which Managed Network commit is. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerCommit + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerCommit :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManagerCommit, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerCommit + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerCommit :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerCommit"] @@ -65,32 +70,22 @@ async def post( 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.post.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'NetworkManagerCommit') - # 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') + request = build_post_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.post.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'NetworkManagerCommit') - 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 @@ -104,4 +99,6 @@ async def post( return cls(pipeline_response, deserialized, {}) return deserialized + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/commit'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_deployment_status_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_deployment_status_operations.py index 217199348e4..982deff010e 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_deployment_status_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_deployment_status_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._network_manager_deployment_status_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class NetworkManagerDeploymentStatusOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,6 +44,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def list( self, resource_group_name: str, @@ -54,10 +59,11 @@ async def list( :param network_manager_name: The name of the network manager. :type network_manager_name: str :param parameters: Parameters supplied to specify which Managed Network deployment status is. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerDeploymentStatusParameter + :type parameters: + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerDeploymentStatusParameter :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManagerDeploymentStatusListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerDeploymentStatusListResult + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerDeploymentStatusListResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerDeploymentStatusListResult"] @@ -65,32 +71,22 @@ async def list( 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.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'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'NetworkManagerDeploymentStatusParameter') - # 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') + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'NetworkManagerDeploymentStatusParameter') - 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 @@ -104,4 +100,6 @@ async def list( return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listDeploymentStatus'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_effective_security_admin_rules_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_effective_security_admin_rules_operations.py deleted file mode 100644 index 0d2ea772371..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_manager_effective_security_admin_rules_operations.py +++ /dev/null @@ -1,107 +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, 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 as _models - -T = TypeVar('T') -ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] - -class NetworkManagerEffectiveSecurityAdminRulesOperations: - """NetworkManagerEffectiveSecurityAdminRulesOperations 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.network.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. - """ - - models = _models - - def __init__(self, client, config, serializer, deserializer) -> None: - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - async def list( - self, - resource_group_name: str, - virtual_network_name: str, - parameters: "_models.QueryRequestOptions", - **kwargs: Any - ) -> "_models.NetworkManagerEffectiveSecurityAdminRulesListResult": - """List all effective security admin rules applied on a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param parameters: Parameters supplied to list correct page. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.QueryRequestOptions - :keyword callable cls: A custom type or function that will be passed the direct response - :return: NetworkManagerEffectiveSecurityAdminRulesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerEffectiveSecurityAdminRulesListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerEffectiveSecurityAdminRulesListResult"] - 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.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'), - '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] - body_content = self._serialize.body(parameters, 'QueryRequestOptions') - 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('NetworkManagerEffectiveSecurityAdminRulesListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveSecurityAdminRules'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_managers_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_managers_operations.py index 922ec5fdb52..a8efb1a914c 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_managers_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_network_managers_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._network_managers_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_by_subscription_request, build_list_request, build_patch_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class NetworkManagersOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, @@ -55,7 +61,7 @@ async def get( :type network_manager_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManager, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManager"] @@ -63,27 +69,17 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -97,8 +93,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -113,10 +112,10 @@ async def create_or_update( :param network_manager_name: The name of the network manager. :type network_manager_name: str :param parameters: Parameters supplied to specify which network manager is. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManager, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManager"] @@ -124,32 +123,22 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'NetworkManager') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'NetworkManager') - 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 @@ -167,12 +156,17 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, network_manager_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes a network manager. @@ -181,6 +175,14 @@ async def delete( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -191,27 +193,19 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -224,24 +218,26 @@ async def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore - async def patch_tags( + + @distributed_trace_async + async def patch( self, resource_group_name: str, network_manager_name: str, - parameters: "_models.TagsObject", + parameters: "_models.PatchObject", **kwargs: Any ) -> "_models.NetworkManager": - """Patch a NetworkManager Tags. + """Patch NetworkManager. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param parameters: Parameters supplied to update network manager tags. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.TagsObject + :param parameters: Parameters supplied to specify which network manager is. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.PatchObject :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManager, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManager"] @@ -249,32 +245,22 @@ async def patch_tags( 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.patch_tags.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'PatchObject') + + request = build_patch_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.patch.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TagsObject') - 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 @@ -288,8 +274,11 @@ async def patch_tags( return cls(pipeline_response, deserialized, {}) return deserialized - patch_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore + patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore + + + @distributed_trace def list_by_subscription( self, top: Optional[int] = None, @@ -306,8 +295,10 @@ def list_by_subscription( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 NetworkManagerListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerListResult] + :return: An iterator like instance of either NetworkManagerListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerListResult"] @@ -315,38 +306,33 @@ def list_by_subscription( 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'] # 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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + template_url=self.list_by_subscription.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkManagerListResult', pipeline_response) + deserialized = self._deserialize("NetworkManagerListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -364,11 +350,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagers'} # type: ignore + @distributed_trace def list( self, resource_group_name: str, @@ -388,8 +376,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 NetworkManagerListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerListResult] + :return: An iterator like instance of either NetworkManagerListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerListResult"] @@ -397,39 +387,35 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - '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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkManagerListResult', pipeline_response) + deserialized = self._deserialize("NetworkManagerListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -447,6 +433,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_scope_connections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_scope_connections_operations.py new file mode 100644 index 00000000000..030643d624d --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_scope_connections_operations.py @@ -0,0 +1,308 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._scope_connections_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ScopeConnectionsOperations: + """ScopeConnectionsOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + parameters: "_models.ScopeConnection", + **kwargs: Any + ) -> "_models.ScopeConnection": + """Creates or updates scope connection from Network Manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param scope_connection_name: Name for the cross-tenant connection. + :type scope_connection_name: str + :param parameters: Scope connection to be created/updated. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScopeConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScopeConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ScopeConnection') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ScopeConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ScopeConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}'} # type: ignore + + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + **kwargs: Any + ) -> "_models.ScopeConnection": + """Get specified scope connection created by this Network Manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param scope_connection_name: Name for the cross-tenant connection. + :type scope_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScopeConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScopeConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ScopeConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}'} # type: ignore + + + @distributed_trace_async + async def delete( + self, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + **kwargs: Any + ) -> None: + """Delete the pending scope connection created by this network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param scope_connection_name: Name for the cross-tenant connection. + :type scope_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + network_manager_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterable["_models.ScopeConnectionListResult"]: + """List all scope connections created by this network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param top: An optional query parameter which specifies the maximum number of records to be + returned by the server. + :type top: int + :param skip_token: SkipToken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skipToken parameter that specifies a starting point to use for subsequent calls. + :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 ScopeConnectionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScopeConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("ScopeConnectionListResult", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_security_admin_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_security_admin_configurations_operations.py index 1376e034b69..0e7ef9064eb 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_security_admin_configurations_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_security_admin_configurations_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._security_admin_configurations_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class SecurityAdminConfigurationsOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -64,8 +70,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 SecurityConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationListResult] + :return: An iterator like instance of either SecurityConfigurationListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfigurationListResult"] @@ -73,40 +81,37 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SecurityConfigurationListResult', pipeline_response) + deserialized = self._deserialize("SecurityConfigurationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -124,11 +129,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -142,11 +149,11 @@ async def get( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SecurityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfiguration"] @@ -154,28 +161,18 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -189,8 +186,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -205,13 +205,14 @@ async def create_or_update( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param security_admin_configuration: The security admin configuration to create or update. - :type security_admin_configuration: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :type security_admin_configuration: + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SecurityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfiguration"] @@ -219,33 +220,23 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(security_admin_configuration, 'SecurityConfiguration') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(security_admin_configuration, 'SecurityConfiguration') - 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 @@ -263,13 +254,18 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, network_manager_name: str, configuration_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes a network manager security admin configuration. @@ -278,8 +274,16 @@ async def delete( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -290,28 +294,20 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -323,3 +319,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_security_user_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_security_user_configurations_operations.py index 90c23233f46..49dd927f9c7 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_security_user_configurations_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_security_user_configurations_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._security_user_configurations_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class SecurityUserConfigurationsOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -64,8 +70,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 SecurityConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationListResult] + :return: An iterator like instance of either SecurityConfigurationListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfigurationListResult"] @@ -73,40 +81,37 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('SecurityConfigurationListResult', pipeline_response) + deserialized = self._deserialize("SecurityConfigurationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -124,11 +129,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -142,11 +149,11 @@ async def get( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SecurityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfiguration"] @@ -154,28 +161,18 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -189,8 +186,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -205,13 +205,14 @@ async def create_or_update( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param security_user_configuration: The security user configuration to create or update. - :type security_user_configuration: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :type security_user_configuration: + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SecurityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfiguration"] @@ -219,33 +220,23 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(security_user_configuration, 'SecurityConfiguration') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(security_user_configuration, 'SecurityConfiguration') - 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 @@ -263,13 +254,18 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, network_manager_name: str, configuration_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes a network manager security user configuration. @@ -278,8 +274,16 @@ async def delete( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -290,28 +294,20 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -323,3 +319,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_static_members_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_static_members_operations.py new file mode 100644 index 00000000000..4dc25138101 --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_static_members_operations.py @@ -0,0 +1,325 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._static_members_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class StaticMembersOperations: + """StaticMembersOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + **kwargs: Any + ) -> "_models.StaticMember": + """Gets the specified static member. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param static_member_name: The name of the static member. + :type static_member_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StaticMember, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.StaticMember + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StaticMember"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StaticMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + parameters: "_models.StaticMember", + **kwargs: Any + ) -> "_models.StaticMember": + """Creates or updates a static member. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param static_member_name: The name of the static member. + :type static_member_name: str + :param parameters: Parameters supplied to the specify the static member to create. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.StaticMember + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StaticMember, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.StaticMember + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StaticMember"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'StaticMember') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StaticMember', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('StaticMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}'} # type: ignore + + + @distributed_trace_async + async def delete( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + **kwargs: Any + ) -> None: + """Deletes a static member. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param static_member_name: The name of the static member. + :type static_member_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterable["_models.StaticMemberListResult"]: + """Lists the specified static member. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param top: An optional query parameter which specifies the maximum number of records to be + returned by the server. + :type top: int + :param skip_token: SkipToken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skipToken parameter that specifies a starting point to use for subsequent calls. + :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 StaticMemberListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.StaticMemberListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StaticMemberListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("StaticMemberListResult", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_subscription_network_manager_connections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_subscription_network_manager_connections_operations.py new file mode 100644 index 00000000000..6d8197a176c --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_subscription_network_manager_connections_operations.py @@ -0,0 +1,274 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._subscription_network_manager_connections_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SubscriptionNetworkManagerConnectionsOperations: + """SubscriptionNetworkManagerConnectionsOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace_async + async def create_or_update( + self, + network_manager_connection_name: str, + parameters: "_models.NetworkManagerConnection", + **kwargs: Any + ) -> "_models.NetworkManagerConnection": + """Create a connection from this subscription to a cross tenant network manager. + + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_connection_name: str + :param parameters: Network manager connection to be created/updated. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'NetworkManagerConnection') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + network_manager_connection_name=network_manager_connection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('NetworkManagerConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace_async + async def get( + self, + network_manager_connection_name: str, + **kwargs: Any + ) -> "_models.NetworkManagerConnection": + """Get a specified connection created by this subscription. + + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + network_manager_connection_name=network_manager_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace_async + async def delete( + self, + network_manager_connection_name: str, + **kwargs: Any + ) -> None: + """Delete specified pending connection created by this subscription. + + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + network_manager_connection_name=network_manager_connection_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace + def list( + self, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> AsyncIterable["_models.NetworkManagerConnectionListResult"]: + """List all network manager connections created by this subscription. + + :param top: An optional query parameter which specifies the maximum number of records to be + returned by the server. + :type top: int + :param skip_token: SkipToken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skipToken parameter that specifies a starting point to use for subsequent calls. + :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 NetworkManagerConnectionListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("NetworkManagerConnectionListResult", 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.Network/networkManagerConnections'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_user_rule_collections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_user_rule_collections_operations.py index ef488639df0..48dbf3c23da 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_user_rule_collections_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_user_rule_collections_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._user_rule_collections_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class UserRuleCollectionsOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -56,7 +62,7 @@ def list( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param top: An optional query parameter which specifies the maximum number of records to be returned by the server. @@ -66,8 +72,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 RuleCollectionListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.RuleCollectionListResult] + :return: An iterator like instance of either RuleCollectionListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.RuleCollectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollectionListResult"] @@ -75,41 +83,39 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('RuleCollectionListResult', pipeline_response) + deserialized = self._deserialize("RuleCollectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -127,11 +133,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -146,14 +154,14 @@ async def get( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: RuleCollection, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollection"] @@ -161,29 +169,19 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -197,8 +195,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -214,16 +215,16 @@ async def create_or_update( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :param user_rule_collection: The User Rule Collection to create or update. - :type user_rule_collection: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :type user_rule_collection: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :keyword callable cls: A custom type or function that will be passed the direct response :return: RuleCollection, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollection"] @@ -231,34 +232,24 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(user_rule_collection, 'RuleCollection') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(user_rule_collection, 'RuleCollection') - 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 @@ -276,14 +267,19 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, network_manager_name: str, configuration_name: str, rule_collection_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes a user rule collection. @@ -292,11 +288,19 @@ async def delete( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -307,29 +311,21 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -341,3 +337,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_user_rules_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_user_rules_operations.py index 895b099aca7..aad32212c62 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_user_rules_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_user_rules_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._user_rules_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class UserRulesOperations: 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -57,7 +63,7 @@ def list( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -71,7 +77,8 @@ def list( :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 UserRuleListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.UserRuleListResult] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.UserRuleListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.UserRuleListResult"] @@ -79,42 +86,41 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('UserRuleListResult', pipeline_response) + deserialized = self._deserialize("UserRuleListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -132,11 +138,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -152,7 +160,7 @@ async def get( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -161,7 +169,7 @@ async def get( :type rule_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: BaseUserRule, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.BaseUserRule + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.BaseUserRule :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BaseUserRule"] @@ -169,30 +177,20 @@ async def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -206,8 +204,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -224,7 +225,7 @@ async def create_or_update( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -232,10 +233,10 @@ async def create_or_update( :param rule_name: The name of the rule. :type rule_name: str :param user_rule: The user rule to create or update. - :type user_rule: ~azure.mgmt.network.v2021_02_01_preview.models.BaseUserRule + :type user_rule: ~azure.mgmt.network.v2021_05_01_preview.models.BaseUserRule :keyword callable cls: A custom type or function that will be passed the direct response :return: BaseUserRule, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.BaseUserRule + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.BaseUserRule :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BaseUserRule"] @@ -243,35 +244,25 @@ async def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(user_rule, 'BaseUserRule') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(user_rule, 'BaseUserRule') - 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 @@ -289,8 +280,11 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, @@ -298,6 +292,7 @@ async def delete( configuration_name: str, rule_collection_name: str, rule_name: str, + force: Optional[bool] = None, **kwargs: Any ) -> None: """Deletes a user rule. @@ -306,13 +301,17 @@ async def delete( :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :param rule_name: The name of the rule. :type rule_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: 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 @@ -323,30 +322,21 @@ async def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + force=force, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -358,3 +348,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/models/__init__.py b/src/network-manager/azext_network_manager/vendored_sdks/models/__init__.py index a0e46b4c305..c22c91e74ed 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/models/__init__.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/models/__init__.py @@ -6,126 +6,68 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -try: - from ._models_py3 import ActiveBaseSecurityAdminRule - from ._models_py3 import ActiveBaseSecurityUserRule - from ._models_py3 import ActiveConfigurationParameter - from ._models_py3 import ActiveConnectivityConfiguration - from ._models_py3 import ActiveConnectivityConfigurationsListResult - from ._models_py3 import ActiveDefaultSecurityAdminRule - from ._models_py3 import ActiveDefaultSecurityUserRule - from ._models_py3 import ActiveSecurityAdminRule - from ._models_py3 import ActiveSecurityAdminRulesListResult - from ._models_py3 import ActiveSecurityUserRule - from ._models_py3 import ActiveSecurityUserRulesListResult - from ._models_py3 import AddressPrefixItem - from ._models_py3 import AdminRule - from ._models_py3 import AdminRuleListResult - from ._models_py3 import BaseAdminRule - from ._models_py3 import BaseUserRule - from ._models_py3 import CloudErrorBody - from ._models_py3 import ConfigurationGroup - from ._models_py3 import ConnectivityConfiguration - from ._models_py3 import ConnectivityConfigurationListResult - from ._models_py3 import ConnectivityGroupItem - from ._models_py3 import DefaultAdminRule - from ._models_py3 import DefaultUserRule - from ._models_py3 import EffectiveBaseSecurityAdminRule - from ._models_py3 import EffectiveConnectivityConfiguration - from ._models_py3 import EffectiveDefaultSecurityAdminRule - from ._models_py3 import EffectiveSecurityAdminRule - from ._models_py3 import EffectiveVirtualNetwork - from ._models_py3 import EffectiveVirtualNetworksListResult - from ._models_py3 import EffectiveVirtualNetworksParameter - from ._models_py3 import GroupMembersItem - from ._models_py3 import Hub - from ._models_py3 import NetworkGroup - from ._models_py3 import NetworkGroupListResult - from ._models_py3 import NetworkManager - from ._models_py3 import NetworkManagerCommit - from ._models_py3 import NetworkManagerDeploymentStatus - from ._models_py3 import NetworkManagerDeploymentStatusListResult - from ._models_py3 import NetworkManagerDeploymentStatusParameter - from ._models_py3 import NetworkManagerEffectiveConnectivityConfigurationListResult - from ._models_py3 import NetworkManagerEffectiveSecurityAdminRulesListResult - from ._models_py3 import NetworkManagerListResult - from ._models_py3 import NetworkManagerPropertiesNetworkManagerScopes - from ._models_py3 import NetworkManagerSecurityGroupItem - from ._models_py3 import NetworkSecurityPerimeter - from ._models_py3 import NetworkSecurityPerimeterListResult - from ._models_py3 import PerimeterAssociableResource - from ._models_py3 import PerimeterAssociableResourcesListResult - from ._models_py3 import ProxyResource - from ._models_py3 import QueryRequestOptions - from ._models_py3 import Resource - from ._models_py3 import RuleCollection - from ._models_py3 import RuleCollectionListResult - from ._models_py3 import SecurityConfiguration - from ._models_py3 import SecurityConfigurationListResult - from ._models_py3 import SystemData - from ._models_py3 import TagsObject - from ._models_py3 import UserRule - from ._models_py3 import UserRuleListResult -except (SyntaxError, ImportError): - from ._models import ActiveBaseSecurityAdminRule # type: ignore - from ._models import ActiveBaseSecurityUserRule # type: ignore - from ._models import ActiveConfigurationParameter # type: ignore - from ._models import ActiveConnectivityConfiguration # type: ignore - from ._models import ActiveConnectivityConfigurationsListResult # type: ignore - from ._models import ActiveDefaultSecurityAdminRule # type: ignore - from ._models import ActiveDefaultSecurityUserRule # type: ignore - from ._models import ActiveSecurityAdminRule # type: ignore - from ._models import ActiveSecurityAdminRulesListResult # type: ignore - from ._models import ActiveSecurityUserRule # type: ignore - from ._models import ActiveSecurityUserRulesListResult # type: ignore - from ._models import AddressPrefixItem # type: ignore - from ._models import AdminRule # type: ignore - from ._models import AdminRuleListResult # type: ignore - from ._models import BaseAdminRule # type: ignore - from ._models import BaseUserRule # type: ignore - from ._models import CloudErrorBody # type: ignore - from ._models import ConfigurationGroup # type: ignore - from ._models import ConnectivityConfiguration # type: ignore - from ._models import ConnectivityConfigurationListResult # type: ignore - from ._models import ConnectivityGroupItem # type: ignore - from ._models import DefaultAdminRule # type: ignore - from ._models import DefaultUserRule # type: ignore - from ._models import EffectiveBaseSecurityAdminRule # type: ignore - from ._models import EffectiveConnectivityConfiguration # type: ignore - from ._models import EffectiveDefaultSecurityAdminRule # type: ignore - from ._models import EffectiveSecurityAdminRule # type: ignore - from ._models import EffectiveVirtualNetwork # type: ignore - from ._models import EffectiveVirtualNetworksListResult # type: ignore - from ._models import EffectiveVirtualNetworksParameter # type: ignore - from ._models import GroupMembersItem # type: ignore - from ._models import Hub # type: ignore - from ._models import NetworkGroup # type: ignore - from ._models import NetworkGroupListResult # type: ignore - from ._models import NetworkManager # type: ignore - from ._models import NetworkManagerCommit # type: ignore - from ._models import NetworkManagerDeploymentStatus # type: ignore - from ._models import NetworkManagerDeploymentStatusListResult # type: ignore - from ._models import NetworkManagerDeploymentStatusParameter # type: ignore - from ._models import NetworkManagerEffectiveConnectivityConfigurationListResult # type: ignore - from ._models import NetworkManagerEffectiveSecurityAdminRulesListResult # type: ignore - from ._models import NetworkManagerListResult # type: ignore - from ._models import NetworkManagerPropertiesNetworkManagerScopes # type: ignore - from ._models import NetworkManagerSecurityGroupItem # type: ignore - from ._models import NetworkSecurityPerimeter # type: ignore - from ._models import NetworkSecurityPerimeterListResult # type: ignore - from ._models import PerimeterAssociableResource # type: ignore - from ._models import PerimeterAssociableResourcesListResult # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import QueryRequestOptions # type: ignore - from ._models import Resource # type: ignore - from ._models import RuleCollection # type: ignore - from ._models import RuleCollectionListResult # type: ignore - from ._models import SecurityConfiguration # type: ignore - from ._models import SecurityConfigurationListResult # type: ignore - from ._models import SystemData # type: ignore - from ._models import TagsObject # type: ignore - from ._models import UserRule # type: ignore - from ._models import UserRuleListResult # type: ignore +from ._models_py3 import ActiveBaseSecurityAdminRule +from ._models_py3 import ActiveBaseSecurityUserRule +from ._models_py3 import ActiveConfigurationParameter +from ._models_py3 import ActiveConnectivityConfiguration +from ._models_py3 import ActiveConnectivityConfigurationsListResult +from ._models_py3 import ActiveDefaultSecurityAdminRule +from ._models_py3 import ActiveDefaultSecurityUserRule +from ._models_py3 import ActiveSecurityAdminRule +from ._models_py3 import ActiveSecurityAdminRulesListResult +from ._models_py3 import ActiveSecurityUserRule +from ._models_py3 import ActiveSecurityUserRulesListResult +from ._models_py3 import AddressPrefixItem +from ._models_py3 import AdminRule +from ._models_py3 import AdminRuleListResult +from ._models_py3 import BaseAdminRule +from ._models_py3 import BaseUserRule +from ._models_py3 import CloudErrorBody +from ._models_py3 import ConfigurationGroup +from ._models_py3 import ConnectivityConfiguration +from ._models_py3 import ConnectivityConfigurationListResult +from ._models_py3 import ConnectivityGroupItem +from ._models_py3 import CrossTenantScopes +from ._models_py3 import DefaultAdminRule +from ._models_py3 import DefaultUserRule +from ._models_py3 import EffectiveBaseSecurityAdminRule +from ._models_py3 import EffectiveConnectivityConfiguration +from ._models_py3 import EffectiveDefaultSecurityAdminRule +from ._models_py3 import EffectiveSecurityAdminRule +from ._models_py3 import EffectiveVirtualNetwork +from ._models_py3 import EffectiveVirtualNetworksListResult +from ._models_py3 import EffectiveVirtualNetworksParameter +from ._models_py3 import Hub +from ._models_py3 import NetworkGroup +from ._models_py3 import NetworkGroupListResult +from ._models_py3 import NetworkManager +from ._models_py3 import NetworkManagerCommit +from ._models_py3 import NetworkManagerConnection +from ._models_py3 import NetworkManagerConnectionListResult +from ._models_py3 import NetworkManagerDeploymentStatus +from ._models_py3 import NetworkManagerDeploymentStatusListResult +from ._models_py3 import NetworkManagerDeploymentStatusParameter +from ._models_py3 import NetworkManagerEffectiveConnectivityConfigurationListResult +from ._models_py3 import NetworkManagerEffectiveSecurityAdminRulesListResult +from ._models_py3 import NetworkManagerListResult +from ._models_py3 import NetworkManagerPropertiesNetworkManagerScopes +from ._models_py3 import NetworkManagerSecurityGroupItem +from ._models_py3 import PatchObject +from ._models_py3 import ProxyResource +from ._models_py3 import QueryRequestOptions +from ._models_py3 import Resource +from ._models_py3 import RuleCollection +from ._models_py3 import RuleCollectionListResult +from ._models_py3 import ScopeConnection +from ._models_py3 import ScopeConnectionListResult +from ._models_py3 import SecurityConfiguration +from ._models_py3 import SecurityConfigurationListResult +from ._models_py3 import StaticMember +from ._models_py3 import StaticMemberListResult +from ._models_py3 import SystemData +from ._models_py3 import UserRule +from ._models_py3 import UserRuleListResult + from ._network_management_client_enums import ( AddressPrefixType, @@ -141,7 +83,9 @@ GroupConnectivity, IsGlobal, MembershipType, + NetworkIntentPolicyBasedService, ProvisioningState, + ScopeConnectionState, SecurityConfigurationRuleAccess, SecurityConfigurationRuleDirection, SecurityConfigurationRuleProtocol, @@ -172,6 +116,7 @@ 'ConnectivityConfiguration', 'ConnectivityConfigurationListResult', 'ConnectivityGroupItem', + 'CrossTenantScopes', 'DefaultAdminRule', 'DefaultUserRule', 'EffectiveBaseSecurityAdminRule', @@ -181,12 +126,13 @@ 'EffectiveVirtualNetwork', 'EffectiveVirtualNetworksListResult', 'EffectiveVirtualNetworksParameter', - 'GroupMembersItem', 'Hub', 'NetworkGroup', 'NetworkGroupListResult', 'NetworkManager', 'NetworkManagerCommit', + 'NetworkManagerConnection', + 'NetworkManagerConnectionListResult', 'NetworkManagerDeploymentStatus', 'NetworkManagerDeploymentStatusListResult', 'NetworkManagerDeploymentStatusParameter', @@ -195,19 +141,19 @@ 'NetworkManagerListResult', 'NetworkManagerPropertiesNetworkManagerScopes', 'NetworkManagerSecurityGroupItem', - 'NetworkSecurityPerimeter', - 'NetworkSecurityPerimeterListResult', - 'PerimeterAssociableResource', - 'PerimeterAssociableResourcesListResult', + 'PatchObject', 'ProxyResource', 'QueryRequestOptions', 'Resource', 'RuleCollection', 'RuleCollectionListResult', + 'ScopeConnection', + 'ScopeConnectionListResult', 'SecurityConfiguration', 'SecurityConfigurationListResult', + 'StaticMember', + 'StaticMemberListResult', 'SystemData', - 'TagsObject', 'UserRule', 'UserRuleListResult', 'AddressPrefixType', @@ -223,7 +169,9 @@ 'GroupConnectivity', 'IsGlobal', 'MembershipType', + 'NetworkIntentPolicyBasedService', 'ProvisioningState', + 'ScopeConnectionState', 'SecurityConfigurationRuleAccess', 'SecurityConfigurationRuleDirection', 'SecurityConfigurationRuleProtocol', diff --git a/src/network-manager/azext_network_manager/vendored_sdks/models/_models.py b/src/network-manager/azext_network_manager/vendored_sdks/models/_models.py deleted file mode 100644 index f48bb0f58ba..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/models/_models.py +++ /dev/null @@ -1,2959 +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 msrest.serialization - - -class ActiveBaseSecurityAdminRule(msrest.serialization.Model): - """Network base admin rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ActiveSecurityAdminRule, ActiveDefaultSecurityAdminRule. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind - """ - - _validation = { - 'kind': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'commit_time': {'key': 'commitTime', 'type': 'iso-8601'}, - 'region': {'key': 'region', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - } - - _subtype_map = { - 'kind': {'Custom': 'ActiveSecurityAdminRule', 'Default': 'ActiveDefaultSecurityAdminRule'} - } - - def __init__( - self, - **kwargs - ): - super(ActiveBaseSecurityAdminRule, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.commit_time = kwargs.get('commit_time', None) - self.region = kwargs.get('region', None) - self.configuration_display_name = kwargs.get('configuration_display_name', None) - self.configuration_description = kwargs.get('configuration_description', None) - self.rule_collection_display_name = kwargs.get('rule_collection_display_name', None) - self.rule_collection_description = kwargs.get('rule_collection_description', None) - self.rule_collection_applies_to_groups = kwargs.get('rule_collection_applies_to_groups', None) - self.rule_groups = kwargs.get('rule_groups', None) - self.kind = None # type: Optional[str] - - -class ActiveBaseSecurityUserRule(msrest.serialization.Model): - """Network base rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ActiveSecurityUserRule, ActiveDefaultSecurityUserRule. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security user configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security user configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveUserRuleKind - """ - - _validation = { - 'kind': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'commit_time': {'key': 'commitTime', 'type': 'iso-8601'}, - 'region': {'key': 'region', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - } - - _subtype_map = { - 'kind': {'Custom': 'ActiveSecurityUserRule', 'Default': 'ActiveDefaultSecurityUserRule'} - } - - def __init__( - self, - **kwargs - ): - super(ActiveBaseSecurityUserRule, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.commit_time = kwargs.get('commit_time', None) - self.region = kwargs.get('region', None) - self.configuration_display_name = kwargs.get('configuration_display_name', None) - self.configuration_description = kwargs.get('configuration_description', None) - self.rule_collection_display_name = kwargs.get('rule_collection_display_name', None) - self.rule_collection_description = kwargs.get('rule_collection_description', None) - self.rule_collection_applies_to_groups = kwargs.get('rule_collection_applies_to_groups', None) - self.rule_groups = kwargs.get('rule_groups', None) - self.kind = None # type: Optional[str] - - -class ActiveConfigurationParameter(msrest.serialization.Model): - """Effective Virtual Networks Parameter. - - :param regions: List of regions. - :type regions: list[str] - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'regions': {'key': 'regions', 'type': '[str]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveConfigurationParameter, self).__init__(**kwargs) - self.regions = kwargs.get('regions', None) - self.skip_token = kwargs.get('skip_token', None) - - -class EffectiveConnectivityConfiguration(msrest.serialization.Model): - """The network manager effective connectivity configuration. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: Resource ID. - :type id: str - :param configuration_groups: Effective configuration groups. - :type configuration_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param display_name: A friendly name for the resource. - :type display_name: str - :param description: A description of the connectivity configuration. - :type description: str - :param connectivity_topology: Connectivity topology type. Possible values include: - "HubAndSpoke", "Mesh". - :type connectivity_topology: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityTopology - :param hubs: List of hubItems. - :type hubs: list[~azure.mgmt.network.v2021_02_01_preview.models.Hub] - :param is_global: Flag if global mesh is supported. Possible values include: "False", "True". - :type is_global: str or ~azure.mgmt.network.v2021_02_01_preview.models.IsGlobal - :param applies_to_groups: Groups for configuration. - :type applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityGroupItem] - :ivar provisioning_state: The provisioning state of the connectivity configuration resource. - Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - :param delete_existing_peering: Flag if need to remove current existing peerings. Possible - values include: "False", "True". - :type delete_existing_peering: str or - ~azure.mgmt.network.v2021_02_01_preview.models.DeleteExistingPeering - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'configuration_groups': {'key': 'configurationGroups', 'type': '[ConfigurationGroup]'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'connectivity_topology': {'key': 'properties.connectivityTopology', 'type': 'str'}, - 'hubs': {'key': 'properties.hubs', 'type': '[Hub]'}, - 'is_global': {'key': 'properties.isGlobal', 'type': 'str'}, - 'applies_to_groups': {'key': 'properties.appliesToGroups', 'type': '[ConnectivityGroupItem]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'delete_existing_peering': {'key': 'properties.deleteExistingPeering', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(EffectiveConnectivityConfiguration, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.configuration_groups = kwargs.get('configuration_groups', None) - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.connectivity_topology = kwargs.get('connectivity_topology', None) - self.hubs = kwargs.get('hubs', None) - self.is_global = kwargs.get('is_global', None) - self.applies_to_groups = kwargs.get('applies_to_groups', None) - self.provisioning_state = None - self.delete_existing_peering = kwargs.get('delete_existing_peering', None) - - -class ActiveConnectivityConfiguration(EffectiveConnectivityConfiguration): - """Active connectivity configuration. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: Resource ID. - :type id: str - :param configuration_groups: Effective configuration groups. - :type configuration_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param display_name: A friendly name for the resource. - :type display_name: str - :param description: A description of the connectivity configuration. - :type description: str - :param connectivity_topology: Connectivity topology type. Possible values include: - "HubAndSpoke", "Mesh". - :type connectivity_topology: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityTopology - :param hubs: List of hubItems. - :type hubs: list[~azure.mgmt.network.v2021_02_01_preview.models.Hub] - :param is_global: Flag if global mesh is supported. Possible values include: "False", "True". - :type is_global: str or ~azure.mgmt.network.v2021_02_01_preview.models.IsGlobal - :param applies_to_groups: Groups for configuration. - :type applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityGroupItem] - :ivar provisioning_state: The provisioning state of the connectivity configuration resource. - Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - :param delete_existing_peering: Flag if need to remove current existing peerings. Possible - values include: "False", "True". - :type delete_existing_peering: str or - ~azure.mgmt.network.v2021_02_01_preview.models.DeleteExistingPeering - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'configuration_groups': {'key': 'configurationGroups', 'type': '[ConfigurationGroup]'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'connectivity_topology': {'key': 'properties.connectivityTopology', 'type': 'str'}, - 'hubs': {'key': 'properties.hubs', 'type': '[Hub]'}, - 'is_global': {'key': 'properties.isGlobal', 'type': 'str'}, - 'applies_to_groups': {'key': 'properties.appliesToGroups', 'type': '[ConnectivityGroupItem]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'delete_existing_peering': {'key': 'properties.deleteExistingPeering', 'type': 'str'}, - 'commit_time': {'key': 'commitTime', 'type': 'iso-8601'}, - 'region': {'key': 'region', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveConnectivityConfiguration, self).__init__(**kwargs) - self.commit_time = kwargs.get('commit_time', None) - self.region = kwargs.get('region', None) - - -class ActiveConnectivityConfigurationsListResult(msrest.serialization.Model): - """Result of the request to list active connectivity configurations. It contains a list of active connectivity configurations and a skiptoken to get the next set of results. - - :param value: Gets a page of active connectivity configurations. - :type value: - list[~azure.mgmt.network.v2021_02_01_preview.models.ActiveConnectivityConfiguration] - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ActiveConnectivityConfiguration]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveConnectivityConfigurationsListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.skip_token = kwargs.get('skip_token', None) - - -class ActiveDefaultSecurityAdminRule(ActiveBaseSecurityAdminRule): - """Network default admin rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind - :ivar display_name: A friendly name for the rule. - :vartype display_name: str - :ivar description: A description for this rule. Restricted to 140 chars. - :vartype description: str - :param flag: Default rule flag. - :type flag: str - :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar source_port_ranges: The source port ranges. - :vartype source_port_ranges: list[str] - :ivar destination_port_ranges: The destination port ranges. - :vartype destination_port_ranges: list[str] - :ivar access: Indicates the access allowed for this particular rule. Possible values include: - "Allow", "Deny", "AlwaysAllow". - :vartype access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority - number must be unique for each rule in the collection. The lower the priority number, the - higher the priority of the rule. - :vartype priority: int - :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'kind': {'required': True}, - 'display_name': {'readonly': True}, - 'description': {'readonly': True}, - 'protocol': {'readonly': True}, - 'sources': {'readonly': True}, - 'destinations': {'readonly': True}, - 'source_port_ranges': {'readonly': True}, - 'destination_port_ranges': {'readonly': True}, - 'access': {'readonly': True}, - 'priority': {'readonly': True}, - 'direction': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'commit_time': {'key': 'commitTime', 'type': 'iso-8601'}, - 'region': {'key': 'region', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'flag': {'key': 'properties.flag', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveDefaultSecurityAdminRule, self).__init__(**kwargs) - self.kind = 'Default' # type: str - self.display_name = None - self.description = None - self.flag = kwargs.get('flag', None) - self.protocol = None - self.sources = None - self.destinations = None - self.source_port_ranges = None - self.destination_port_ranges = None - self.access = None - self.priority = None - self.direction = None - self.provisioning_state = None - - -class ActiveDefaultSecurityUserRule(ActiveBaseSecurityUserRule): - """Network security default user rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security user configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security user configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveUserRuleKind - :ivar display_name: A friendly name for the rule. - :vartype display_name: str - :ivar description: A description for this rule. Restricted to 140 chars. - :vartype description: str - :param flag: Default rule flag. - :type flag: str - :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar source_port_ranges: The source port ranges. - :vartype source_port_ranges: list[str] - :ivar destination_port_ranges: The destination port ranges. - :vartype destination_port_ranges: list[str] - :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the security configuration user rule - resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'kind': {'required': True}, - 'display_name': {'readonly': True}, - 'description': {'readonly': True}, - 'protocol': {'readonly': True}, - 'sources': {'readonly': True}, - 'destinations': {'readonly': True}, - 'source_port_ranges': {'readonly': True}, - 'destination_port_ranges': {'readonly': True}, - 'direction': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'commit_time': {'key': 'commitTime', 'type': 'iso-8601'}, - 'region': {'key': 'region', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'flag': {'key': 'properties.flag', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveDefaultSecurityUserRule, self).__init__(**kwargs) - self.kind = 'Default' # type: str - self.display_name = None - self.description = None - self.flag = kwargs.get('flag', None) - self.protocol = None - self.sources = None - self.destinations = None - self.source_port_ranges = None - self.destination_port_ranges = None - self.direction = None - self.provisioning_state = None - - -class ActiveSecurityAdminRule(ActiveBaseSecurityAdminRule): - """Network admin rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Indicates the access allowed for this particular rule. Possible values include: - "Allow", "Deny", "AlwaysAllow". - :type access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :param priority: The priority of the rule. The value can be between 1 and 4096. The priority - number must be unique for each rule in the collection. The lower the priority number, the - higher the priority of the rule. - :type priority: int - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'kind': {'required': True}, - 'priority': {'maximum': 4096, 'minimum': 1}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'commit_time': {'key': 'commitTime', 'type': 'iso-8601'}, - 'region': {'key': 'region', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveSecurityAdminRule, self).__init__(**kwargs) - self.kind = 'Custom' # type: str - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.protocol = kwargs.get('protocol', None) - self.sources = kwargs.get('sources', None) - self.destinations = kwargs.get('destinations', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) - self.provisioning_state = None - - -class ActiveSecurityAdminRulesListResult(msrest.serialization.Model): - """Result of the request to list active security admin rules. It contains a list of active security admin rules and a skiptoken to get the next set of results. - - :param value: Gets a page of active security admin rules. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.ActiveBaseSecurityAdminRule] - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ActiveBaseSecurityAdminRule]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveSecurityAdminRulesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.skip_token = kwargs.get('skip_token', None) - - -class ActiveSecurityUserRule(ActiveBaseSecurityUserRule): - """Network security user rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security user configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security user configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveUserRuleKind - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the security configuration user rule - resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'kind': {'required': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'commit_time': {'key': 'commitTime', 'type': 'iso-8601'}, - 'region': {'key': 'region', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveSecurityUserRule, self).__init__(**kwargs) - self.kind = 'Custom' # type: str - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.protocol = kwargs.get('protocol', None) - self.sources = kwargs.get('sources', None) - self.destinations = kwargs.get('destinations', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.direction = kwargs.get('direction', None) - self.provisioning_state = None - - -class ActiveSecurityUserRulesListResult(msrest.serialization.Model): - """Result of the request to list active security user rules. It contains a list of active security user rules and a skiptoken to get the next set of results. - - :param value: Gets a page of active security user rules. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.ActiveBaseSecurityUserRule] - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ActiveBaseSecurityUserRule]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ActiveSecurityUserRulesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.skip_token = kwargs.get('skip_token', None) - - -class AddressPrefixItem(msrest.serialization.Model): - """Address prefix item. - - :param address_prefix: Address prefix. - :type address_prefix: str - :param address_prefix_type: Address prefix type. Possible values include: "IPPrefix", - "ServiceTag". - :type address_prefix_type: str or - ~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixType - """ - - _attribute_map = { - 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, - 'address_prefix_type': {'key': 'addressPrefixType', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(AddressPrefixItem, self).__init__(**kwargs) - self.address_prefix = kwargs.get('address_prefix', None) - self.address_prefix_type = kwargs.get('address_prefix_type', None) - - -class ProxyResource(msrest.serialization.Model): - """Proxy resource representation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :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(ProxyResource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - self.etag = None - - -class BaseAdminRule(ProxyResource): - """Network base admin rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AdminRule, DefaultAdminRule. - - 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 - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.AdminRuleKind - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'kind': {'required': True}, - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - _subtype_map = { - 'kind': {'Custom': 'AdminRule', 'Default': 'DefaultAdminRule'} - } - - def __init__( - self, - **kwargs - ): - super(BaseAdminRule, self).__init__(**kwargs) - self.kind = 'BaseAdminRule' # type: str - self.system_data = None - - -class AdminRule(BaseAdminRule): - """Network admin rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.AdminRuleKind - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Indicates the access allowed for this particular rule. Possible values include: - "Allow", "Deny", "AlwaysAllow". - :type access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :param priority: The priority of the rule. The value can be between 1 and 4096. The priority - number must be unique for each rule in the collection. The lower the priority number, the - higher the priority of the rule. - :type priority: int - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'kind': {'required': True}, - 'system_data': {'readonly': True}, - 'priority': {'maximum': 4096, 'minimum': 1}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(AdminRule, self).__init__(**kwargs) - self.kind = 'Custom' # type: str - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.protocol = kwargs.get('protocol', None) - self.sources = kwargs.get('sources', None) - self.destinations = kwargs.get('destinations', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) - self.provisioning_state = None - - -class AdminRuleListResult(msrest.serialization.Model): - """security configuration admin rule list result. - - :param value: A list of admin rules. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.BaseAdminRule] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BaseAdminRule]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(AdminRuleListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class BaseUserRule(ProxyResource): - """Network base rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: UserRule, DefaultUserRule. - - 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 - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.UserRuleKind - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'kind': {'required': True}, - 'system_data': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - } - - _subtype_map = { - 'kind': {'Custom': 'UserRule', 'Default': 'DefaultUserRule'} - } - - def __init__( - self, - **kwargs - ): - super(BaseUserRule, self).__init__(**kwargs) - self.kind = 'BaseUserRule' # type: str - self.system_data = None - - -class CloudErrorBody(msrest.serialization.Model): - """An error response from the 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.network.v2021_02_01_preview.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 ConfigurationGroup(msrest.serialization.Model): - """The network configuration group resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: Resource ID. - :type id: str - :param display_name: A friendly name for the network group. - :type display_name: str - :param description: A description of the network group. - :type description: str - :param member_type: Group member type. - :type member_type: str - :param group_members: Group members of network group. - :type group_members: list[~azure.mgmt.network.v2021_02_01_preview.models.GroupMembersItem] - :param conditional_membership: Network group conditional filter. - :type conditional_membership: str - :ivar provisioning_state: The provisioning state of the scope assignment resource. Possible - values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'member_type': {'key': 'properties.memberType', 'type': 'str'}, - 'group_members': {'key': 'properties.groupMembers', 'type': '[GroupMembersItem]'}, - 'conditional_membership': {'key': 'properties.conditionalMembership', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConfigurationGroup, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.member_type = kwargs.get('member_type', None) - self.group_members = kwargs.get('group_members', None) - self.conditional_membership = kwargs.get('conditional_membership', None) - self.provisioning_state = None - - -class ConnectivityConfiguration(ProxyResource): - """The network manager connectivity configuration resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the resource. - :type display_name: str - :param description: A description of the connectivity configuration. - :type description: str - :param connectivity_topology: Connectivity topology type. Possible values include: - "HubAndSpoke", "Mesh". - :type connectivity_topology: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityTopology - :param hubs: List of hubItems. - :type hubs: list[~azure.mgmt.network.v2021_02_01_preview.models.Hub] - :param is_global: Flag if global mesh is supported. Possible values include: "False", "True". - :type is_global: str or ~azure.mgmt.network.v2021_02_01_preview.models.IsGlobal - :param applies_to_groups: Groups for configuration. - :type applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityGroupItem] - :ivar provisioning_state: The provisioning state of the connectivity configuration resource. - Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - :param delete_existing_peering: Flag if need to remove current existing peerings. Possible - values include: "False", "True". - :type delete_existing_peering: str or - ~azure.mgmt.network.v2021_02_01_preview.models.DeleteExistingPeering - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'connectivity_topology': {'key': 'properties.connectivityTopology', 'type': 'str'}, - 'hubs': {'key': 'properties.hubs', 'type': '[Hub]'}, - 'is_global': {'key': 'properties.isGlobal', 'type': 'str'}, - 'applies_to_groups': {'key': 'properties.appliesToGroups', 'type': '[ConnectivityGroupItem]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'delete_existing_peering': {'key': 'properties.deleteExistingPeering', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConnectivityConfiguration, self).__init__(**kwargs) - self.system_data = None - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.connectivity_topology = kwargs.get('connectivity_topology', None) - self.hubs = kwargs.get('hubs', None) - self.is_global = kwargs.get('is_global', None) - self.applies_to_groups = kwargs.get('applies_to_groups', None) - self.provisioning_state = None - self.delete_existing_peering = kwargs.get('delete_existing_peering', None) - - -class ConnectivityConfigurationListResult(msrest.serialization.Model): - """Result of the request to list network manager connectivity configurations. It contains a list of configurations and a link to get the next set of results. - - :param value: Gets a page of Connectivity Configurations. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfiguration] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ConnectivityConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConnectivityConfigurationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class ConnectivityGroupItem(msrest.serialization.Model): - """ConnectivityGroupItem. - - :param network_group_id: Network group Id. - :type network_group_id: str - :param use_hub_gateway: Flag if need to use hub gateway. Possible values include: "False", - "True". - :type use_hub_gateway: str or ~azure.mgmt.network.v2021_02_01_preview.models.UseHubGateway - :param is_global: Flag if global is supported. Possible values include: "False", "True". - :type is_global: str or ~azure.mgmt.network.v2021_02_01_preview.models.IsGlobal - :param group_connectivity: Group connectivity type. Possible values include: "None", - "DirectlyConnected". - :type group_connectivity: str or - ~azure.mgmt.network.v2021_02_01_preview.models.GroupConnectivity - """ - - _attribute_map = { - 'network_group_id': {'key': 'networkGroupId', 'type': 'str'}, - 'use_hub_gateway': {'key': 'useHubGateway', 'type': 'str'}, - 'is_global': {'key': 'isGlobal', 'type': 'str'}, - 'group_connectivity': {'key': 'groupConnectivity', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ConnectivityGroupItem, self).__init__(**kwargs) - self.network_group_id = kwargs.get('network_group_id', None) - self.use_hub_gateway = kwargs.get('use_hub_gateway', None) - self.is_global = kwargs.get('is_global', None) - self.group_connectivity = kwargs.get('group_connectivity', None) - - -class DefaultAdminRule(BaseAdminRule): - """Network default admin rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.AdminRuleKind - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :ivar display_name: A friendly name for the rule. - :vartype display_name: str - :ivar description: A description for this rule. Restricted to 140 chars. - :vartype description: str - :param flag: Default rule flag. - :type flag: str - :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar source_port_ranges: The source port ranges. - :vartype source_port_ranges: list[str] - :ivar destination_port_ranges: The destination port ranges. - :vartype destination_port_ranges: list[str] - :ivar access: Indicates the access allowed for this particular rule. Possible values include: - "Allow", "Deny", "AlwaysAllow". - :vartype access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority - number must be unique for each rule in the collection. The lower the priority number, the - higher the priority of the rule. - :vartype priority: int - :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'kind': {'required': True}, - 'system_data': {'readonly': True}, - 'display_name': {'readonly': True}, - 'description': {'readonly': True}, - 'protocol': {'readonly': True}, - 'sources': {'readonly': True}, - 'destinations': {'readonly': True}, - 'source_port_ranges': {'readonly': True}, - 'destination_port_ranges': {'readonly': True}, - 'access': {'readonly': True}, - 'priority': {'readonly': True}, - 'direction': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'flag': {'key': 'properties.flag', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DefaultAdminRule, self).__init__(**kwargs) - self.kind = 'Default' # type: str - self.display_name = None - self.description = None - self.flag = kwargs.get('flag', None) - self.protocol = None - self.sources = None - self.destinations = None - self.source_port_ranges = None - self.destination_port_ranges = None - self.access = None - self.priority = None - self.direction = None - self.provisioning_state = None - - -class DefaultUserRule(BaseUserRule): - """Network security default user rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.UserRuleKind - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :ivar display_name: A friendly name for the rule. - :vartype display_name: str - :ivar description: A description for this rule. Restricted to 140 chars. - :vartype description: str - :param flag: Default rule flag. - :type flag: str - :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar source_port_ranges: The source port ranges. - :vartype source_port_ranges: list[str] - :ivar destination_port_ranges: The destination port ranges. - :vartype destination_port_ranges: list[str] - :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the security configuration user rule - resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'kind': {'required': True}, - 'system_data': {'readonly': True}, - 'display_name': {'readonly': True}, - 'description': {'readonly': True}, - 'protocol': {'readonly': True}, - 'sources': {'readonly': True}, - 'destinations': {'readonly': True}, - 'source_port_ranges': {'readonly': True}, - 'destination_port_ranges': {'readonly': True}, - 'direction': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'flag': {'key': 'properties.flag', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DefaultUserRule, self).__init__(**kwargs) - self.kind = 'Default' # type: str - self.display_name = None - self.description = None - self.flag = kwargs.get('flag', None) - self.protocol = None - self.sources = None - self.destinations = None - self.source_port_ranges = None - self.destination_port_ranges = None - self.direction = None - self.provisioning_state = None - - -class EffectiveBaseSecurityAdminRule(msrest.serialization.Model): - """Network base admin rule. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: EffectiveSecurityAdminRule, EffectiveDefaultSecurityAdminRule. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind - """ - - _validation = { - 'kind': {'required': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - } - - _subtype_map = { - 'kind': {'Custom': 'EffectiveSecurityAdminRule', 'Default': 'EffectiveDefaultSecurityAdminRule'} - } - - def __init__( - self, - **kwargs - ): - super(EffectiveBaseSecurityAdminRule, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.configuration_display_name = kwargs.get('configuration_display_name', None) - self.configuration_description = kwargs.get('configuration_description', None) - self.rule_collection_display_name = kwargs.get('rule_collection_display_name', None) - self.rule_collection_description = kwargs.get('rule_collection_description', None) - self.rule_collection_applies_to_groups = kwargs.get('rule_collection_applies_to_groups', None) - self.rule_groups = kwargs.get('rule_groups', None) - self.kind = None # type: Optional[str] - - -class EffectiveDefaultSecurityAdminRule(EffectiveBaseSecurityAdminRule): - """Network default admin rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind - :ivar display_name: A friendly name for the rule. - :vartype display_name: str - :ivar description: A description for this rule. Restricted to 140 chars. - :vartype description: str - :param flag: Default rule flag. - :type flag: str - :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :ivar source_port_ranges: The source port ranges. - :vartype source_port_ranges: list[str] - :ivar destination_port_ranges: The destination port ranges. - :vartype destination_port_ranges: list[str] - :ivar access: Indicates the access allowed for this particular rule. Possible values include: - "Allow", "Deny", "AlwaysAllow". - :vartype access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority - number must be unique for each rule in the collection. The lower the priority number, the - higher the priority of the rule. - :vartype priority: int - :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'kind': {'required': True}, - 'display_name': {'readonly': True}, - 'description': {'readonly': True}, - 'protocol': {'readonly': True}, - 'sources': {'readonly': True}, - 'destinations': {'readonly': True}, - 'source_port_ranges': {'readonly': True}, - 'destination_port_ranges': {'readonly': True}, - 'access': {'readonly': True}, - 'priority': {'readonly': True}, - 'direction': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'flag': {'key': 'properties.flag', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(EffectiveDefaultSecurityAdminRule, self).__init__(**kwargs) - self.kind = 'Default' # type: str - self.display_name = None - self.description = None - self.flag = kwargs.get('flag', None) - self.protocol = None - self.sources = None - self.destinations = None - self.source_port_ranges = None - self.destination_port_ranges = None - self.access = None - self.priority = None - self.direction = None - self.provisioning_state = None - - -class EffectiveSecurityAdminRule(EffectiveBaseSecurityAdminRule): - """Network admin rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param id: Resource ID. - :type id: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Indicates the access allowed for this particular rule. Possible values include: - "Allow", "Deny", "AlwaysAllow". - :type access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :param priority: The priority of the rule. The value can be between 1 and 4096. The priority - number must be unique for each rule in the collection. The lower the priority number, the - higher the priority of the rule. - :type priority: int - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'kind': {'required': True}, - 'priority': {'maximum': 4096, 'minimum': 1}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'configuration_display_name': {'key': 'configurationDisplayName', 'type': 'str'}, - 'configuration_description': {'key': 'configurationDescription', 'type': 'str'}, - 'rule_collection_display_name': {'key': 'ruleCollectionDisplayName', 'type': 'str'}, - 'rule_collection_description': {'key': 'ruleCollectionDescription', 'type': 'str'}, - 'rule_collection_applies_to_groups': {'key': 'ruleCollectionAppliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'rule_groups': {'key': 'ruleGroups', 'type': '[ConfigurationGroup]'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'access': {'key': 'properties.access', 'type': 'str'}, - 'priority': {'key': 'properties.priority', 'type': 'int'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(EffectiveSecurityAdminRule, self).__init__(**kwargs) - self.kind = 'Custom' # type: str - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.protocol = kwargs.get('protocol', None) - self.sources = kwargs.get('sources', None) - self.destinations = kwargs.get('destinations', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.access = kwargs.get('access', None) - self.priority = kwargs.get('priority', None) - self.direction = kwargs.get('direction', None) - self.provisioning_state = None - - -class EffectiveVirtualNetwork(msrest.serialization.Model): - """Effective Virtual Network. - - :param id: Effective vnet Id. - :type id: str - :param location: Location of vnet. - :type location: str - :param membership_type: Membership Type. Possible values include: "Static", "Dynamic". - :type membership_type: str or ~azure.mgmt.network.v2021_02_01_preview.models.MembershipType - """ - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'membership_type': {'key': 'membershipType', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(EffectiveVirtualNetwork, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.location = kwargs.get('location', None) - self.membership_type = kwargs.get('membership_type', None) - - -class EffectiveVirtualNetworksListResult(msrest.serialization.Model): - """Result of the request to list Effective Virtual Network. It contains a list of groups and a URL link to get the next set of results. - - :param value: Gets a page of EffectiveVirtualNetwork. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.EffectiveVirtualNetwork] - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveVirtualNetwork]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(EffectiveVirtualNetworksListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.skip_token = kwargs.get('skip_token', None) - - -class EffectiveVirtualNetworksParameter(msrest.serialization.Model): - """Effective Virtual Networks Parameter. - - :param conditional_members: Conditional Members. - :type conditional_members: str - :param skip_token: Continuation token for pagination, capturing the next page size and offset, - as well as the context of the query. - :type skip_token: str - """ - - _attribute_map = { - 'conditional_members': {'key': 'conditionalMembers', 'type': 'str'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(EffectiveVirtualNetworksParameter, self).__init__(**kwargs) - self.conditional_members = kwargs.get('conditional_members', None) - self.skip_token = kwargs.get('skip_token', None) - - -class GroupMembersItem(msrest.serialization.Model): - """GroupMembers Item. - - :param resource_id: Resource Id. - :type resource_id: str - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(GroupMembersItem, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - - -class Hub(msrest.serialization.Model): - """Hub Item. - - :param resource_id: Resource Id. - :type resource_id: str - :param resource_type: Resource Type. - :type resource_type: str - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Hub, self).__init__(**kwargs) - self.resource_id = kwargs.get('resource_id', None) - self.resource_type = kwargs.get('resource_type', None) - - -class NetworkGroup(ProxyResource): - """The network group resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the network group. - :type display_name: str - :param description: A description of the network group. - :type description: str - :param member_type: Group member type. - :type member_type: str - :param group_members: Group members of network group. - :type group_members: list[~azure.mgmt.network.v2021_02_01_preview.models.GroupMembersItem] - :param conditional_membership: Network group conditional filter. - :type conditional_membership: str - :ivar provisioning_state: The provisioning state of the scope assignment resource. Possible - values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'member_type': {'key': 'properties.memberType', 'type': 'str'}, - 'group_members': {'key': 'properties.groupMembers', 'type': '[GroupMembersItem]'}, - 'conditional_membership': {'key': 'properties.conditionalMembership', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkGroup, self).__init__(**kwargs) - self.system_data = None - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.member_type = kwargs.get('member_type', None) - self.group_members = kwargs.get('group_members', None) - self.conditional_membership = kwargs.get('conditional_membership', None) - self.provisioning_state = None - - -class NetworkGroupListResult(msrest.serialization.Model): - """Result of the request to list NetworkGroup. It contains a list of groups and a URL link to get the next set of results. - - :param value: Gets a page of NetworkGroup. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroup] - :param next_link: Gets the URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[NetworkGroup]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkGroupListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class Resource(msrest.serialization.Model): - """Common resource representation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'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}'}, - } - - def __init__( - self, - **kwargs - ): - super(Resource, self).__init__(**kwargs) - self.id = kwargs.get('id', None) - self.name = None - self.type = None - self.location = kwargs.get('location', None) - self.tags = kwargs.get('tags', None) - - -class NetworkManager(Resource): - """The Managed Network resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the network manager. - :type display_name: str - :param description: A description of the network manager. - :type description: str - :param network_manager_scopes: Scope of Network Manager. - :type network_manager_scopes: - ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerPropertiesNetworkManagerScopes - :param network_manager_scope_accesses: Scope Access. - :type network_manager_scope_accesses: list[str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationType] - :ivar provisioning_state: The provisioning state of the scope assignment resource. Possible - values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'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}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'network_manager_scopes': {'key': 'properties.networkManagerScopes', 'type': 'NetworkManagerPropertiesNetworkManagerScopes'}, - 'network_manager_scope_accesses': {'key': 'properties.networkManagerScopeAccesses', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManager, self).__init__(**kwargs) - self.etag = None - self.system_data = None - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.network_manager_scopes = kwargs.get('network_manager_scopes', None) - self.network_manager_scope_accesses = kwargs.get('network_manager_scope_accesses', None) - self.provisioning_state = None - - -class NetworkManagerCommit(msrest.serialization.Model): - """Network Manager Commit. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar commit_id: Commit Id. - :vartype commit_id: str - :param target_locations: List of target locations. - :type target_locations: list[str] - :param configuration_ids: List of configuration ids. - :type configuration_ids: list[str] - :param commit_type: Commit Type. Possible values include: "SecurityAdmin", "SecurityUser", - "Connectivity". - :type commit_type: str or ~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationType - """ - - _validation = { - 'commit_id': {'readonly': True}, - } - - _attribute_map = { - 'commit_id': {'key': 'commitId', 'type': 'str'}, - 'target_locations': {'key': 'targetLocations', 'type': '[str]'}, - 'configuration_ids': {'key': 'configurationIds', 'type': '[str]'}, - 'commit_type': {'key': 'commitType', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerCommit, self).__init__(**kwargs) - self.commit_id = None - self.target_locations = kwargs.get('target_locations', None) - self.configuration_ids = kwargs.get('configuration_ids', None) - self.commit_type = kwargs.get('commit_type', None) - - -class NetworkManagerDeploymentStatus(msrest.serialization.Model): - """Network Manager Deployment Status. - - :param commit_time: Commit Time. - :type commit_time: ~datetime.datetime - :param region: Region Name. - :type region: str - :param deployment_status: Deployment Status. Possible values include: "NotStarted", - "Deploying", "Deployed", "Failed". - :type deployment_status: str or ~azure.mgmt.network.v2021_02_01_preview.models.DeploymentStatus - :param configuration_ids: List of configuration ids. - :type configuration_ids: list[str] - :param deployment_type: Configuration Deployment Type. Possible values include: - "SecurityAdmin", "SecurityUser", "Connectivity". - :type deployment_type: str or ~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationType - :param error_message: Error Message. - :type error_message: str - """ - - _attribute_map = { - 'commit_time': {'key': 'commitTime', 'type': 'iso-8601'}, - 'region': {'key': 'region', 'type': 'str'}, - 'deployment_status': {'key': 'deploymentStatus', 'type': 'str'}, - 'configuration_ids': {'key': 'configurationIds', 'type': '[str]'}, - 'deployment_type': {'key': 'deploymentType', 'type': 'str'}, - 'error_message': {'key': 'errorMessage', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerDeploymentStatus, self).__init__(**kwargs) - self.commit_time = kwargs.get('commit_time', None) - self.region = kwargs.get('region', None) - self.deployment_status = kwargs.get('deployment_status', None) - self.configuration_ids = kwargs.get('configuration_ids', None) - self.deployment_type = kwargs.get('deployment_type', None) - self.error_message = kwargs.get('error_message', None) - - -class NetworkManagerDeploymentStatusListResult(msrest.serialization.Model): - """A list of Network Manager Deployment Status. - - :param value: Gets a page of Network Manager Deployment Status. - :type value: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerDeploymentStatus] - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[NetworkManagerDeploymentStatus]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerDeploymentStatusListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.skip_token = kwargs.get('skip_token', None) - - -class NetworkManagerDeploymentStatusParameter(msrest.serialization.Model): - """Network Manager Deployment Status Parameter. - - :param regions: List of locations. - :type regions: list[str] - :param deployment_types: List of deployment types. - :type deployment_types: list[str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationType] - :param skip_token: Continuation token for pagination, capturing the next page size and offset, - as well as the context of the query. - :type skip_token: str - """ - - _attribute_map = { - 'regions': {'key': 'regions', 'type': '[str]'}, - 'deployment_types': {'key': 'deploymentTypes', 'type': '[str]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerDeploymentStatusParameter, self).__init__(**kwargs) - self.regions = kwargs.get('regions', None) - self.deployment_types = kwargs.get('deployment_types', None) - self.skip_token = kwargs.get('skip_token', None) - - -class NetworkManagerEffectiveConnectivityConfigurationListResult(msrest.serialization.Model): - """Result of the request to list networkManagerEffectiveConnectivityConfiguration. It contains a list of groups and a skiptoken to get the next set of results. - - :param value: Gets a page of NetworkManagerEffectiveConnectivityConfiguration. - :type value: - list[~azure.mgmt.network.v2021_02_01_preview.models.EffectiveConnectivityConfiguration] - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveConnectivityConfiguration]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerEffectiveConnectivityConfigurationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.skip_token = kwargs.get('skip_token', None) - - -class NetworkManagerEffectiveSecurityAdminRulesListResult(msrest.serialization.Model): - """Result of the request to list networkManagerEffectiveSecurityAdminRules. It contains a list of groups and a skiptoken to get the next set of results. - - :param value: Gets a page of NetworkManagerEffectiveSecurityAdminRules. - :type value: - list[~azure.mgmt.network.v2021_02_01_preview.models.EffectiveBaseSecurityAdminRule] - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EffectiveBaseSecurityAdminRule]'}, - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerEffectiveSecurityAdminRulesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.skip_token = kwargs.get('skip_token', None) - - -class NetworkManagerListResult(msrest.serialization.Model): - """Result of the request to list NetworkManager. It contains a list of network managers and a URL link to get the next set of results. - - :param value: Gets a page of NetworkManager. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[NetworkManager]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class NetworkManagerPropertiesNetworkManagerScopes(msrest.serialization.Model): - """Scope of Network Manager. - - :param management_groups: List of management groups. - :type management_groups: list[str] - :param subscriptions: List of subscriptions. - :type subscriptions: list[str] - """ - - _attribute_map = { - 'management_groups': {'key': 'managementGroups', 'type': '[str]'}, - 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerPropertiesNetworkManagerScopes, self).__init__(**kwargs) - self.management_groups = kwargs.get('management_groups', None) - self.subscriptions = kwargs.get('subscriptions', None) - - -class NetworkManagerSecurityGroupItem(msrest.serialization.Model): - """Network manager security group item. - - :param network_group_id: Network manager group Id. - :type network_group_id: str - """ - - _attribute_map = { - 'network_group_id': {'key': 'networkGroupId', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkManagerSecurityGroupItem, self).__init__(**kwargs) - self.network_group_id = kwargs.get('network_group_id', None) - - -class NetworkSecurityPerimeter(Resource): - """The Network Security Perimeter resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :param display_name: A friendly name for the network security perimeter. - :type display_name: str - :param description: A description of the network security perimeter. - :type description: str - :ivar provisioning_state: The provisioning state of the scope assignment resource. Possible - values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'provisioning_state': {'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}'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkSecurityPerimeter, self).__init__(**kwargs) - self.etag = None - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.provisioning_state = None - - -class NetworkSecurityPerimeterListResult(msrest.serialization.Model): - """Result of the request to list NetworkSecurityPerimeter. It contains a list of network security perimeters and a URL link to get the next set of results. - - :param value: Gets a page of NetworkSecurityPerimeter. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeter] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[NetworkSecurityPerimeter]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(NetworkSecurityPerimeterListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class PerimeterAssociableResource(Resource): - """Resource that is onboarded to use network security perimeter. Also referred as perimeter associable resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param id: Resource ID. - :type id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :param location: Resource location. - :type location: str - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - :ivar display_name: A friendly name for the properties of perimeter associable resources. - :vartype display_name: str - :ivar resource_type: Resource type/provider name. - :vartype resource_type: str - :ivar public_dns_zones: Public DNS zone names of the resources. - :vartype public_dns_zones: list[str] - """ - - _validation = { - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'display_name': {'readonly': True}, - 'resource_type': {'readonly': True}, - 'public_dns_zones': {'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}'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, - 'public_dns_zones': {'key': 'properties.publicDnsZones', 'type': '[str]'}, - } - - def __init__( - self, - **kwargs - ): - super(PerimeterAssociableResource, self).__init__(**kwargs) - self.display_name = None - self.resource_type = None - self.public_dns_zones = None - - -class PerimeterAssociableResourcesListResult(msrest.serialization.Model): - """Paged list of perimeter associable resources. - - :param value: Gets paged list of perimeter associable resources. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.PerimeterAssociableResource] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PerimeterAssociableResource]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PerimeterAssociableResourcesListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class QueryRequestOptions(msrest.serialization.Model): - """Query Request Options. - - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(QueryRequestOptions, self).__init__(**kwargs) - self.skip_token = kwargs.get('skip_token', None) - - -class RuleCollection(ProxyResource): - """Defines the rule collection. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A display name of the rule collection. - :type display_name: str - :param description: A description of the rule collection. - :type description: str - :param applies_to_groups: Groups for configuration. - :type applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'applies_to_groups': {'key': 'properties.appliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RuleCollection, self).__init__(**kwargs) - self.system_data = None - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.applies_to_groups = kwargs.get('applies_to_groups', None) - self.provisioning_state = None - - -class RuleCollectionListResult(msrest.serialization.Model): - """Security configuration rule collection list result. - - :param value: A list of network manager security configuration rule collections. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection] - :param next_link: Gets the URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[RuleCollection]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(RuleCollectionListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) - - -class SecurityConfiguration(ProxyResource): - """Defines the security configuration. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A display name of the security configuration. - :type display_name: str - :param description: A description of the security configuration. - :type description: str - :param security_type: Security Type. Possible values include: "AdminPolicy", "UserPolicy". - :type security_type: str or ~azure.mgmt.network.v2021_02_01_preview.models.SecurityType - :param delete_existing_ns_gs: Flag if need to delete existing network security groups. Possible - values include: "False", "True". - :type delete_existing_ns_gs: str or - ~azure.mgmt.network.v2021_02_01_preview.models.DeleteExistingNSGs - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'security_type': {'key': 'properties.securityType', 'type': 'str'}, - 'delete_existing_ns_gs': {'key': 'properties.deleteExistingNSGs', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SecurityConfiguration, self).__init__(**kwargs) - self.system_data = None - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.security_type = kwargs.get('security_type', None) - self.delete_existing_ns_gs = kwargs.get('delete_existing_ns_gs', None) - self.provisioning_state = None - - -class SecurityConfigurationListResult(msrest.serialization.Model): - """A list of network manager security configurations. - - :param value: Gets a page of security configurations. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SecurityConfiguration]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SecurityConfigurationListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', 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.mgmt.network.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 - ~azure.mgmt.network.v2021_02_01_preview.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'}, - # TODO: Datetime Issue will be fixed later - # 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'created_at': {'key': 'createdAt', 'type': 'str'}, - 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, - 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, - # 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'str'}, - } - - 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(msrest.serialization.Model): - """Tags object 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(TagsObject, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - - -class UserRule(BaseUserRule): - """Network security user rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Resource ID. - :vartype id: str - :ivar name: Resource name. - :vartype name: str - :ivar type: Resource type. - :vartype type: str - :ivar etag: A unique read-only string that changes whenever the resource is updated. - :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.UserRuleKind - :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", - "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. - Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection - :ivar provisioning_state: The provisioning state of the security configuration user rule - resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'kind': {'required': True}, - 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'protocol': {'key': 'properties.protocol', 'type': 'str'}, - 'sources': {'key': 'properties.sources', 'type': '[AddressPrefixItem]'}, - 'destinations': {'key': 'properties.destinations', 'type': '[AddressPrefixItem]'}, - 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, - 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, - 'direction': {'key': 'properties.direction', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(UserRule, self).__init__(**kwargs) - self.kind = 'Custom' # type: str - self.display_name = kwargs.get('display_name', None) - self.description = kwargs.get('description', None) - self.protocol = kwargs.get('protocol', None) - self.sources = kwargs.get('sources', None) - self.destinations = kwargs.get('destinations', None) - self.source_port_ranges = kwargs.get('source_port_ranges', None) - self.destination_port_ranges = kwargs.get('destination_port_ranges', None) - self.direction = kwargs.get('direction', None) - self.provisioning_state = None - - -class UserRuleListResult(msrest.serialization.Model): - """security user rule list result. - - :param value: A list of user rules. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.BaseUserRule] - :param next_link: The URL to get the next set of results. - :type next_link: str - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BaseUserRule]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(UserRuleListResult, self).__init__(**kwargs) - self.value = kwargs.get('value', None) - self.next_link = kwargs.get('next_link', None) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/models/_models_py3.py b/src/network-manager/azext_network_manager/vendored_sdks/models/_models_py3.py index 69cfb576374..07ccecb8ca2 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/models/_models_py3.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/models/_models_py3.py @@ -22,28 +22,28 @@ class ActiveBaseSecurityAdminRule(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind + :ivar id: Resource ID. + :vartype id: str + :ivar commit_time: Deployment time string. + :vartype commit_time: ~datetime.datetime + :ivar region: Deployment region. + :vartype region: str + :ivar configuration_display_name: A display name of the security admin configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security admin configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveAdminRuleKind """ _validation = { @@ -81,6 +81,27 @@ def __init__( rule_groups: Optional[List["ConfigurationGroup"]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword commit_time: Deployment time string. + :paramtype commit_time: ~datetime.datetime + :keyword region: Deployment region. + :paramtype region: str + :keyword configuration_display_name: A display name of the security admin configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security admin configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + """ super(ActiveBaseSecurityAdminRule, self).__init__(**kwargs) self.id = id self.commit_time = commit_time @@ -102,28 +123,28 @@ class ActiveBaseSecurityUserRule(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security user configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security user configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveUserRuleKind + :ivar id: Resource ID. + :vartype id: str + :ivar commit_time: Deployment time string. + :vartype commit_time: ~datetime.datetime + :ivar region: Deployment region. + :vartype region: str + :ivar configuration_display_name: A display name of the security user configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security user configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveUserRuleKind """ _validation = { @@ -161,6 +182,27 @@ def __init__( rule_groups: Optional[List["ConfigurationGroup"]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword commit_time: Deployment time string. + :paramtype commit_time: ~datetime.datetime + :keyword region: Deployment region. + :paramtype region: str + :keyword configuration_display_name: A display name of the security user configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security user configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + """ super(ActiveBaseSecurityUserRule, self).__init__(**kwargs) self.id = id self.commit_time = commit_time @@ -177,11 +219,11 @@ def __init__( class ActiveConfigurationParameter(msrest.serialization.Model): """Effective Virtual Networks Parameter. - :param regions: List of regions. - :type regions: list[str] - :param skip_token: When present, the value can be passed to a subsequent query call (together + :ivar regions: List of regions. + :vartype regions: list[str] + :ivar skip_token: When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -196,6 +238,13 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword regions: List of regions. + :paramtype regions: list[str] + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ super(ActiveConfigurationParameter, self).__init__(**kwargs) self.regions = regions self.skip_token = skip_token @@ -206,34 +255,34 @@ class EffectiveConnectivityConfiguration(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param id: Resource ID. - :type id: str - :param configuration_groups: Effective configuration groups. - :type configuration_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param display_name: A friendly name for the resource. - :type display_name: str - :param description: A description of the connectivity configuration. - :type description: str - :param connectivity_topology: Connectivity topology type. Possible values include: + :ivar id: Resource ID. + :vartype id: str + :ivar configuration_groups: Effective configuration groups. + :vartype configuration_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar display_name: A friendly name for the resource. + :vartype display_name: str + :ivar description: A description of the connectivity configuration. + :vartype description: str + :ivar connectivity_topology: Connectivity topology type. Possible values include: "HubAndSpoke", "Mesh". - :type connectivity_topology: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityTopology - :param hubs: List of hubItems. - :type hubs: list[~azure.mgmt.network.v2021_02_01_preview.models.Hub] - :param is_global: Flag if global mesh is supported. Possible values include: "False", "True". - :type is_global: str or ~azure.mgmt.network.v2021_02_01_preview.models.IsGlobal - :param applies_to_groups: Groups for configuration. - :type applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityGroupItem] + :vartype connectivity_topology: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityTopology + :ivar hubs: List of hubItems. + :vartype hubs: list[~azure.mgmt.network.v2021_05_01_preview.models.Hub] + :ivar is_global: Flag if global mesh is supported. Possible values include: "False", "True". + :vartype is_global: str or ~azure.mgmt.network.v2021_05_01_preview.models.IsGlobal + :ivar applies_to_groups: Groups for configuration. + :vartype applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityGroupItem] :ivar provisioning_state: The provisioning state of the connectivity configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - :param delete_existing_peering: Flag if need to remove current existing peerings. Possible + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState + :ivar delete_existing_peering: Flag if need to remove current existing peerings. Possible values include: "False", "True". - :type delete_existing_peering: str or - ~azure.mgmt.network.v2021_02_01_preview.models.DeleteExistingPeering + :vartype delete_existing_peering: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeleteExistingPeering """ _validation = { @@ -267,6 +316,32 @@ def __init__( delete_existing_peering: Optional[Union[str, "DeleteExistingPeering"]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword configuration_groups: Effective configuration groups. + :paramtype configuration_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :keyword display_name: A friendly name for the resource. + :paramtype display_name: str + :keyword description: A description of the connectivity configuration. + :paramtype description: str + :keyword connectivity_topology: Connectivity topology type. Possible values include: + "HubAndSpoke", "Mesh". + :paramtype connectivity_topology: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityTopology + :keyword hubs: List of hubItems. + :paramtype hubs: list[~azure.mgmt.network.v2021_05_01_preview.models.Hub] + :keyword is_global: Flag if global mesh is supported. Possible values include: "False", "True". + :paramtype is_global: str or ~azure.mgmt.network.v2021_05_01_preview.models.IsGlobal + :keyword applies_to_groups: Groups for configuration. + :paramtype applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityGroupItem] + :keyword delete_existing_peering: Flag if need to remove current existing peerings. Possible + values include: "False", "True". + :paramtype delete_existing_peering: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeleteExistingPeering + """ super(EffectiveConnectivityConfiguration, self).__init__(**kwargs) self.id = id self.configuration_groups = configuration_groups @@ -285,38 +360,38 @@ class ActiveConnectivityConfiguration(EffectiveConnectivityConfiguration): Variables are only populated by the server, and will be ignored when sending a request. - :param id: Resource ID. - :type id: str - :param configuration_groups: Effective configuration groups. - :type configuration_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param display_name: A friendly name for the resource. - :type display_name: str - :param description: A description of the connectivity configuration. - :type description: str - :param connectivity_topology: Connectivity topology type. Possible values include: + :ivar id: Resource ID. + :vartype id: str + :ivar configuration_groups: Effective configuration groups. + :vartype configuration_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar display_name: A friendly name for the resource. + :vartype display_name: str + :ivar description: A description of the connectivity configuration. + :vartype description: str + :ivar connectivity_topology: Connectivity topology type. Possible values include: "HubAndSpoke", "Mesh". - :type connectivity_topology: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityTopology - :param hubs: List of hubItems. - :type hubs: list[~azure.mgmt.network.v2021_02_01_preview.models.Hub] - :param is_global: Flag if global mesh is supported. Possible values include: "False", "True". - :type is_global: str or ~azure.mgmt.network.v2021_02_01_preview.models.IsGlobal - :param applies_to_groups: Groups for configuration. - :type applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityGroupItem] + :vartype connectivity_topology: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityTopology + :ivar hubs: List of hubItems. + :vartype hubs: list[~azure.mgmt.network.v2021_05_01_preview.models.Hub] + :ivar is_global: Flag if global mesh is supported. Possible values include: "False", "True". + :vartype is_global: str or ~azure.mgmt.network.v2021_05_01_preview.models.IsGlobal + :ivar applies_to_groups: Groups for configuration. + :vartype applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityGroupItem] :ivar provisioning_state: The provisioning state of the connectivity configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - :param delete_existing_peering: Flag if need to remove current existing peerings. Possible + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState + :ivar delete_existing_peering: Flag if need to remove current existing peerings. Possible values include: "False", "True". - :type delete_existing_peering: str or - ~azure.mgmt.network.v2021_02_01_preview.models.DeleteExistingPeering - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str + :vartype delete_existing_peering: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeleteExistingPeering + :ivar commit_time: Deployment time string. + :vartype commit_time: ~datetime.datetime + :ivar region: Deployment region. + :vartype region: str """ _validation = { @@ -354,6 +429,36 @@ def __init__( region: Optional[str] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword configuration_groups: Effective configuration groups. + :paramtype configuration_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :keyword display_name: A friendly name for the resource. + :paramtype display_name: str + :keyword description: A description of the connectivity configuration. + :paramtype description: str + :keyword connectivity_topology: Connectivity topology type. Possible values include: + "HubAndSpoke", "Mesh". + :paramtype connectivity_topology: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityTopology + :keyword hubs: List of hubItems. + :paramtype hubs: list[~azure.mgmt.network.v2021_05_01_preview.models.Hub] + :keyword is_global: Flag if global mesh is supported. Possible values include: "False", "True". + :paramtype is_global: str or ~azure.mgmt.network.v2021_05_01_preview.models.IsGlobal + :keyword applies_to_groups: Groups for configuration. + :paramtype applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityGroupItem] + :keyword delete_existing_peering: Flag if need to remove current existing peerings. Possible + values include: "False", "True". + :paramtype delete_existing_peering: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeleteExistingPeering + :keyword commit_time: Deployment time string. + :paramtype commit_time: ~datetime.datetime + :keyword region: Deployment region. + :paramtype region: str + """ super(ActiveConnectivityConfiguration, self).__init__(id=id, configuration_groups=configuration_groups, display_name=display_name, description=description, connectivity_topology=connectivity_topology, hubs=hubs, is_global=is_global, applies_to_groups=applies_to_groups, delete_existing_peering=delete_existing_peering, **kwargs) self.commit_time = commit_time self.region = region @@ -362,12 +467,12 @@ def __init__( class ActiveConnectivityConfigurationsListResult(msrest.serialization.Model): """Result of the request to list active connectivity configurations. It contains a list of active connectivity configurations and a skiptoken to get the next set of results. - :param value: Gets a page of active connectivity configurations. - :type value: - list[~azure.mgmt.network.v2021_02_01_preview.models.ActiveConnectivityConfiguration] - :param skip_token: When present, the value can be passed to a subsequent query call (together + :ivar value: Gets a page of active connectivity configurations. + :vartype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.ActiveConnectivityConfiguration] + :ivar skip_token: When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -382,6 +487,14 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of active connectivity configurations. + :paramtype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.ActiveConnectivityConfiguration] + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ super(ActiveConnectivityConfigurationsListResult, self).__init__(**kwargs) self.value = value self.skip_token = skip_token @@ -394,42 +507,42 @@ class ActiveDefaultSecurityAdminRule(ActiveBaseSecurityAdminRule): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind + :ivar id: Resource ID. + :vartype id: str + :ivar commit_time: Deployment time string. + :vartype commit_time: ~datetime.datetime + :ivar region: Deployment region. + :vartype region: str + :ivar configuration_display_name: A display name of the security admin configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security admin configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveAdminRuleKind :ivar display_name: A friendly name for the rule. :vartype display_name: str :ivar description: A description for this rule. Restricted to 140 chars. :vartype description: str - :param flag: Default rule flag. - :type flag: str + :ivar flag: Default rule flag. + :vartype flag: str :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar source_port_ranges: The source port ranges. :vartype source_port_ranges: list[str] :ivar destination_port_ranges: The destination port ranges. @@ -437,7 +550,7 @@ class ActiveDefaultSecurityAdminRule(ActiveBaseSecurityAdminRule): :ivar access: Indicates the access allowed for this particular rule. Possible values include: "Allow", "Deny", "AlwaysAllow". :vartype access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. @@ -445,11 +558,11 @@ class ActiveDefaultSecurityAdminRule(ActiveBaseSecurityAdminRule): :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -507,6 +620,29 @@ def __init__( flag: Optional[str] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword commit_time: Deployment time string. + :paramtype commit_time: ~datetime.datetime + :keyword region: Deployment region. + :paramtype region: str + :keyword configuration_display_name: A display name of the security admin configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security admin configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :keyword flag: Default rule flag. + :paramtype flag: str + """ super(ActiveDefaultSecurityAdminRule, self).__init__(id=id, commit_time=commit_time, region=region, configuration_display_name=configuration_display_name, configuration_description=configuration_description, rule_collection_display_name=rule_collection_display_name, rule_collection_description=rule_collection_description, rule_collection_applies_to_groups=rule_collection_applies_to_groups, rule_groups=rule_groups, **kwargs) self.kind = 'Default' # type: str self.display_name = None @@ -530,42 +666,42 @@ class ActiveDefaultSecurityUserRule(ActiveBaseSecurityUserRule): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security user configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security user configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveUserRuleKind + :ivar id: Resource ID. + :vartype id: str + :ivar commit_time: Deployment time string. + :vartype commit_time: ~datetime.datetime + :ivar region: Deployment region. + :vartype region: str + :ivar configuration_display_name: A display name of the security user configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security user configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveUserRuleKind :ivar display_name: A friendly name for the rule. :vartype display_name: str :ivar description: A description for this rule. Restricted to 140 chars. :vartype description: str - :param flag: Default rule flag. - :type flag: str + :ivar flag: Default rule flag. + :vartype flag: str :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar source_port_ranges: The source port ranges. :vartype source_port_ranges: list[str] :ivar destination_port_ranges: The destination port ranges. @@ -573,11 +709,11 @@ class ActiveDefaultSecurityUserRule(ActiveBaseSecurityUserRule): :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the security configuration user rule resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -631,6 +767,29 @@ def __init__( flag: Optional[str] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword commit_time: Deployment time string. + :paramtype commit_time: ~datetime.datetime + :keyword region: Deployment region. + :paramtype region: str + :keyword configuration_display_name: A display name of the security user configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security user configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :keyword flag: Default rule flag. + :paramtype flag: str + """ super(ActiveDefaultSecurityUserRule, self).__init__(id=id, commit_time=commit_time, region=region, configuration_display_name=configuration_display_name, configuration_description=configuration_description, rule_collection_display_name=rule_collection_display_name, rule_collection_description=rule_collection_description, rule_collection_applies_to_groups=rule_collection_applies_to_groups, rule_groups=rule_groups, **kwargs) self.kind = 'Default' # type: str self.display_name = None @@ -652,60 +811,60 @@ class ActiveSecurityAdminRule(ActiveBaseSecurityAdminRule): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", + :ivar id: Resource ID. + :vartype id: str + :ivar commit_time: Deployment time string. + :vartype commit_time: ~datetime.datetime + :ivar region: Deployment region. + :vartype region: str + :ivar configuration_display_name: A display name of the security admin configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security admin configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveAdminRuleKind + :ivar display_name: A friendly name for the rule. + :vartype display_name: str + :ivar description: A description for this rule. Restricted to 140 chars. + :vartype description: str + :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Indicates the access allowed for this particular rule. Possible values include: + :vartype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :ivar sources: The CIDR or source IP ranges. + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar source_port_ranges: The source port ranges. + :vartype source_port_ranges: list[str] + :ivar destination_port_ranges: The destination port ranges. + :vartype destination_port_ranges: list[str] + :ivar access: Indicates the access allowed for this particular rule. Possible values include: "Allow", "Deny", "AlwaysAllow". - :type access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :param priority: The priority of the rule. The value can be between 1 and 4096. The priority + :vartype access: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess + :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - :type priority: int - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. + :vartype priority: int + :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + :vartype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -762,6 +921,55 @@ def __init__( direction: Optional[Union[str, "SecurityConfigurationRuleDirection"]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword commit_time: Deployment time string. + :paramtype commit_time: ~datetime.datetime + :keyword region: Deployment region. + :paramtype region: str + :keyword configuration_display_name: A display name of the security admin configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security admin configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :keyword display_name: A friendly name for the rule. + :paramtype display_name: str + :keyword description: A description for this rule. Restricted to 140 chars. + :paramtype description: str + :keyword protocol: Network protocol this rule applies to. Possible values include: "Tcp", + "Udp", "Icmp", "Esp", "Any", "Ah". + :paramtype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :keyword sources: The CIDR or source IP ranges. + :paramtype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword destinations: The destination address prefixes. CIDR or destination IP ranges. + :paramtype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword source_port_ranges: The source port ranges. + :paramtype source_port_ranges: list[str] + :keyword destination_port_ranges: The destination port ranges. + :paramtype destination_port_ranges: list[str] + :keyword access: Indicates the access allowed for this particular rule. Possible values + include: "Allow", "Deny", "AlwaysAllow". + :paramtype access: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess + :keyword priority: The priority of the rule. The value can be between 1 and 4096. The priority + number must be unique for each rule in the collection. The lower the priority number, the + higher the priority of the rule. + :paramtype priority: int + :keyword direction: Indicates if the traffic matched against the rule in inbound or outbound. + Possible values include: "Inbound", "Outbound". + :paramtype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection + """ super(ActiveSecurityAdminRule, self).__init__(id=id, commit_time=commit_time, region=region, configuration_display_name=configuration_display_name, configuration_description=configuration_description, rule_collection_display_name=rule_collection_display_name, rule_collection_description=rule_collection_description, rule_collection_applies_to_groups=rule_collection_applies_to_groups, rule_groups=rule_groups, **kwargs) self.kind = 'Custom' # type: str self.display_name = display_name @@ -780,11 +988,12 @@ def __init__( class ActiveSecurityAdminRulesListResult(msrest.serialization.Model): """Result of the request to list active security admin rules. It contains a list of active security admin rules and a skiptoken to get the next set of results. - :param value: Gets a page of active security admin rules. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.ActiveBaseSecurityAdminRule] - :param skip_token: When present, the value can be passed to a subsequent query call (together + :ivar value: Gets a page of active security admin rules. + :vartype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.ActiveBaseSecurityAdminRule] + :ivar skip_token: When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -799,6 +1008,14 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of active security admin rules. + :paramtype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.ActiveBaseSecurityAdminRule] + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ super(ActiveSecurityAdminRulesListResult, self).__init__(**kwargs) self.value = value self.skip_token = skip_token @@ -811,52 +1028,52 @@ class ActiveSecurityUserRule(ActiveBaseSecurityUserRule): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param commit_time: Deployment time string. - :type commit_time: ~datetime.datetime - :param region: Deployment region. - :type region: str - :param configuration_display_name: A display name of the security user configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security user configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveUserRuleKind - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", + :ivar id: Resource ID. + :vartype id: str + :ivar commit_time: Deployment time string. + :vartype commit_time: ~datetime.datetime + :ivar region: Deployment region. + :vartype region: str + :ivar configuration_display_name: A display name of the security user configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security user configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveUserRuleKind + :ivar display_name: A friendly name for the rule. + :vartype display_name: str + :ivar description: A description for this rule. + :vartype description: str + :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. + :vartype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :ivar sources: The CIDR or source IP ranges. + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar source_port_ranges: The source port ranges. + :vartype source_port_ranges: list[str] + :ivar destination_port_ranges: The destination port ranges. + :vartype destination_port_ranges: list[str] + :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + :vartype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the security configuration user rule resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -908,6 +1125,47 @@ def __init__( direction: Optional[Union[str, "SecurityConfigurationRuleDirection"]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword commit_time: Deployment time string. + :paramtype commit_time: ~datetime.datetime + :keyword region: Deployment region. + :paramtype region: str + :keyword configuration_display_name: A display name of the security user configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security user configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :keyword display_name: A friendly name for the rule. + :paramtype display_name: str + :keyword description: A description for this rule. + :paramtype description: str + :keyword protocol: Network protocol this rule applies to. Possible values include: "Tcp", + "Udp", "Icmp", "Esp", "Any", "Ah". + :paramtype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :keyword sources: The CIDR or source IP ranges. + :paramtype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword destinations: The destination address prefixes. CIDR or destination IP ranges. + :paramtype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword source_port_ranges: The source port ranges. + :paramtype source_port_ranges: list[str] + :keyword destination_port_ranges: The destination port ranges. + :paramtype destination_port_ranges: list[str] + :keyword direction: Indicates if the traffic matched against the rule in inbound or outbound. + Possible values include: "Inbound", "Outbound". + :paramtype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection + """ super(ActiveSecurityUserRule, self).__init__(id=id, commit_time=commit_time, region=region, configuration_display_name=configuration_display_name, configuration_description=configuration_description, rule_collection_display_name=rule_collection_display_name, rule_collection_description=rule_collection_description, rule_collection_applies_to_groups=rule_collection_applies_to_groups, rule_groups=rule_groups, **kwargs) self.kind = 'Custom' # type: str self.display_name = display_name @@ -924,11 +1182,11 @@ def __init__( class ActiveSecurityUserRulesListResult(msrest.serialization.Model): """Result of the request to list active security user rules. It contains a list of active security user rules and a skiptoken to get the next set of results. - :param value: Gets a page of active security user rules. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.ActiveBaseSecurityUserRule] - :param skip_token: When present, the value can be passed to a subsequent query call (together + :ivar value: Gets a page of active security user rules. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.ActiveBaseSecurityUserRule] + :ivar skip_token: When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -943,6 +1201,14 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of active security user rules. + :paramtype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.ActiveBaseSecurityUserRule] + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ super(ActiveSecurityUserRulesListResult, self).__init__(**kwargs) self.value = value self.skip_token = skip_token @@ -951,12 +1217,12 @@ def __init__( class AddressPrefixItem(msrest.serialization.Model): """Address prefix item. - :param address_prefix: Address prefix. - :type address_prefix: str - :param address_prefix_type: Address prefix type. Possible values include: "IPPrefix", + :ivar address_prefix: Address prefix. + :vartype address_prefix: str + :ivar address_prefix_type: Address prefix type. Possible values include: "IPPrefix", "ServiceTag". - :type address_prefix_type: str or - ~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixType + :vartype address_prefix_type: str or + ~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixType """ _attribute_map = { @@ -971,6 +1237,14 @@ def __init__( address_prefix_type: Optional[Union[str, "AddressPrefixType"]] = None, **kwargs ): + """ + :keyword address_prefix: Address prefix. + :paramtype address_prefix: str + :keyword address_prefix_type: Address prefix type. Possible values include: "IPPrefix", + "ServiceTag". + :paramtype address_prefix_type: str or + ~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixType + """ super(AddressPrefixItem, self).__init__(**kwargs) self.address_prefix = address_prefix self.address_prefix_type = address_prefix_type @@ -1009,6 +1283,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProxyResource, self).__init__(**kwargs) self.id = None self.name = None @@ -1034,11 +1310,11 @@ class BaseAdminRule(ProxyResource): :vartype type: str :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.AdminRuleKind + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.AdminRuleKind :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData """ _validation = { @@ -1067,6 +1343,8 @@ def __init__( self, **kwargs ): + """ + """ super(BaseAdminRule, self).__init__(**kwargs) self.kind = 'BaseAdminRule' # type: str self.system_data = None @@ -1087,43 +1365,43 @@ class AdminRule(BaseAdminRule): :vartype type: str :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.AdminRuleKind + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.AdminRuleKind :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar display_name: A friendly name for the rule. + :vartype display_name: str + :ivar description: A description for this rule. Restricted to 140 chars. + :vartype description: str + :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Indicates the access allowed for this particular rule. Possible values include: + :vartype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :ivar sources: The CIDR or source IP ranges. + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar source_port_ranges: The source port ranges. + :vartype source_port_ranges: list[str] + :ivar destination_port_ranges: The destination port ranges. + :vartype destination_port_ranges: list[str] + :ivar access: Indicates the access allowed for this particular rule. Possible values include: "Allow", "Deny", "AlwaysAllow". - :type access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :param priority: The priority of the rule. The value can be between 1 and 4096. The priority + :vartype access: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess + :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - :type priority: int - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. + :vartype priority: int + :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + :vartype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -1172,6 +1450,36 @@ def __init__( direction: Optional[Union[str, "SecurityConfigurationRuleDirection"]] = None, **kwargs ): + """ + :keyword display_name: A friendly name for the rule. + :paramtype display_name: str + :keyword description: A description for this rule. Restricted to 140 chars. + :paramtype description: str + :keyword protocol: Network protocol this rule applies to. Possible values include: "Tcp", + "Udp", "Icmp", "Esp", "Any", "Ah". + :paramtype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :keyword sources: The CIDR or source IP ranges. + :paramtype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword destinations: The destination address prefixes. CIDR or destination IP ranges. + :paramtype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword source_port_ranges: The source port ranges. + :paramtype source_port_ranges: list[str] + :keyword destination_port_ranges: The destination port ranges. + :paramtype destination_port_ranges: list[str] + :keyword access: Indicates the access allowed for this particular rule. Possible values + include: "Allow", "Deny", "AlwaysAllow". + :paramtype access: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess + :keyword priority: The priority of the rule. The value can be between 1 and 4096. The priority + number must be unique for each rule in the collection. The lower the priority number, the + higher the priority of the rule. + :paramtype priority: int + :keyword direction: Indicates if the traffic matched against the rule in inbound or outbound. + Possible values include: "Inbound", "Outbound". + :paramtype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection + """ super(AdminRule, self).__init__(**kwargs) self.kind = 'Custom' # type: str self.display_name = display_name @@ -1190,10 +1498,10 @@ def __init__( class AdminRuleListResult(msrest.serialization.Model): """security configuration admin rule list result. - :param value: A list of admin rules. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.BaseAdminRule] - :param next_link: The URL to get the next set of results. - :type next_link: str + :ivar value: A list of admin rules. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.BaseAdminRule] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str """ _attribute_map = { @@ -1208,6 +1516,12 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: A list of admin rules. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.BaseAdminRule] + :keyword next_link: The URL to get the next set of results. + :paramtype next_link: str + """ super(AdminRuleListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -1231,11 +1545,11 @@ class BaseUserRule(ProxyResource): :vartype type: str :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.UserRuleKind + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.UserRuleKind :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData """ _validation = { @@ -1264,6 +1578,8 @@ def __init__( self, **kwargs ): + """ + """ super(BaseUserRule, self).__init__(**kwargs) self.kind = 'BaseUserRule' # type: str self.system_data = None @@ -1272,17 +1588,17 @@ def __init__( class CloudErrorBody(msrest.serialization.Model): """An error response from the service. - :param code: An identifier for the error. Codes are invariant and are intended to be consumed + :ivar 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 + :vartype code: str + :ivar 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 + :vartype message: str + :ivar 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.network.v2021_02_01_preview.models.CloudErrorBody] + :vartype target: str + :ivar details: A list of additional details about the error. + :vartype details: list[~azure.mgmt.network.v2021_05_01_preview.models.CloudErrorBody] """ _attribute_map = { @@ -1301,6 +1617,19 @@ def __init__( details: Optional[List["CloudErrorBody"]] = None, **kwargs ): + """ + :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :paramtype code: str + :keyword message: A message describing the error, intended to be suitable for display in a user + interface. + :paramtype message: str + :keyword target: The target of the particular error. For example, the name of the property in + error. + :paramtype target: str + :keyword details: A list of additional details about the error. + :paramtype details: list[~azure.mgmt.network.v2021_05_01_preview.models.CloudErrorBody] + """ super(CloudErrorBody, self).__init__(**kwargs) self.code = code self.message = message @@ -1313,22 +1642,18 @@ class ConfigurationGroup(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param id: Resource ID. - :type id: str - :param display_name: A friendly name for the network group. - :type display_name: str - :param description: A description of the network group. - :type description: str - :param member_type: Group member type. - :type member_type: str - :param group_members: Group members of network group. - :type group_members: list[~azure.mgmt.network.v2021_02_01_preview.models.GroupMembersItem] - :param conditional_membership: Network group conditional filter. - :type conditional_membership: str + :ivar id: Resource ID. + :vartype id: str + :ivar display_name: A friendly name for the network group. + :vartype display_name: str + :ivar description: A description of the network group. + :vartype description: str + :ivar member_type: Group member type. + :vartype member_type: str :ivar provisioning_state: The provisioning state of the scope assignment resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -1340,8 +1665,6 @@ class ConfigurationGroup(msrest.serialization.Model): 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'member_type': {'key': 'properties.memberType', 'type': 'str'}, - 'group_members': {'key': 'properties.groupMembers', 'type': '[GroupMembersItem]'}, - 'conditional_membership': {'key': 'properties.conditionalMembership', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } @@ -1352,17 +1675,23 @@ def __init__( display_name: Optional[str] = None, description: Optional[str] = None, member_type: Optional[str] = None, - group_members: Optional[List["GroupMembersItem"]] = None, - conditional_membership: Optional[str] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword display_name: A friendly name for the network group. + :paramtype display_name: str + :keyword description: A description of the network group. + :paramtype description: str + :keyword member_type: Group member type. + :paramtype member_type: str + """ super(ConfigurationGroup, self).__init__(**kwargs) self.id = id self.display_name = display_name self.description = description self.member_type = member_type - self.group_members = group_members - self.conditional_membership = conditional_membership self.provisioning_state = None @@ -1380,30 +1709,30 @@ class ConnectivityConfiguration(ProxyResource): :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the resource. - :type display_name: str - :param description: A description of the connectivity configuration. - :type description: str - :param connectivity_topology: Connectivity topology type. Possible values include: + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar display_name: A friendly name for the resource. + :vartype display_name: str + :ivar description: A description of the connectivity configuration. + :vartype description: str + :ivar connectivity_topology: Connectivity topology type. Possible values include: "HubAndSpoke", "Mesh". - :type connectivity_topology: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityTopology - :param hubs: List of hubItems. - :type hubs: list[~azure.mgmt.network.v2021_02_01_preview.models.Hub] - :param is_global: Flag if global mesh is supported. Possible values include: "False", "True". - :type is_global: str or ~azure.mgmt.network.v2021_02_01_preview.models.IsGlobal - :param applies_to_groups: Groups for configuration. - :type applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityGroupItem] + :vartype connectivity_topology: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityTopology + :ivar hubs: List of hubItems. + :vartype hubs: list[~azure.mgmt.network.v2021_05_01_preview.models.Hub] + :ivar is_global: Flag if global mesh is supported. Possible values include: "False", "True". + :vartype is_global: str or ~azure.mgmt.network.v2021_05_01_preview.models.IsGlobal + :ivar applies_to_groups: Groups for configuration. + :vartype applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityGroupItem] :ivar provisioning_state: The provisioning state of the connectivity configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState - :param delete_existing_peering: Flag if need to remove current existing peerings. Possible + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState + :ivar delete_existing_peering: Flag if need to remove current existing peerings. Possible values include: "False", "True". - :type delete_existing_peering: str or - ~azure.mgmt.network.v2021_02_01_preview.models.DeleteExistingPeering + :vartype delete_existing_peering: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeleteExistingPeering """ _validation = { @@ -1443,6 +1772,27 @@ def __init__( delete_existing_peering: Optional[Union[str, "DeleteExistingPeering"]] = None, **kwargs ): + """ + :keyword display_name: A friendly name for the resource. + :paramtype display_name: str + :keyword description: A description of the connectivity configuration. + :paramtype description: str + :keyword connectivity_topology: Connectivity topology type. Possible values include: + "HubAndSpoke", "Mesh". + :paramtype connectivity_topology: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityTopology + :keyword hubs: List of hubItems. + :paramtype hubs: list[~azure.mgmt.network.v2021_05_01_preview.models.Hub] + :keyword is_global: Flag if global mesh is supported. Possible values include: "False", "True". + :paramtype is_global: str or ~azure.mgmt.network.v2021_05_01_preview.models.IsGlobal + :keyword applies_to_groups: Groups for configuration. + :paramtype applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityGroupItem] + :keyword delete_existing_peering: Flag if need to remove current existing peerings. Possible + values include: "False", "True". + :paramtype delete_existing_peering: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeleteExistingPeering + """ super(ConnectivityConfiguration, self).__init__(**kwargs) self.system_data = None self.display_name = display_name @@ -1458,10 +1808,10 @@ def __init__( class ConnectivityConfigurationListResult(msrest.serialization.Model): """Result of the request to list network manager connectivity configurations. It contains a list of configurations and a link to get the next set of results. - :param value: Gets a page of Connectivity Configurations. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfiguration] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str + :ivar value: Gets a page of Connectivity Configurations. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfiguration] + :ivar next_link: Gets the URL to get the next page of results. + :vartype next_link: str """ _attribute_map = { @@ -1476,27 +1826,41 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of Connectivity Configurations. + :paramtype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfiguration] + :keyword next_link: Gets the URL to get the next page of results. + :paramtype next_link: str + """ super(ConnectivityConfigurationListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link class ConnectivityGroupItem(msrest.serialization.Model): - """ConnectivityGroupItem. + """Connectivity group item. + + All required parameters must be populated in order to send to Azure. - :param network_group_id: Network group Id. - :type network_group_id: str - :param use_hub_gateway: Flag if need to use hub gateway. Possible values include: "False", + :ivar network_group_id: Required. Network group Id. + :vartype network_group_id: str + :ivar use_hub_gateway: Flag if need to use hub gateway. Possible values include: "False", "True". - :type use_hub_gateway: str or ~azure.mgmt.network.v2021_02_01_preview.models.UseHubGateway - :param is_global: Flag if global is supported. Possible values include: "False", "True". - :type is_global: str or ~azure.mgmt.network.v2021_02_01_preview.models.IsGlobal - :param group_connectivity: Group connectivity type. Possible values include: "None", + :vartype use_hub_gateway: str or ~azure.mgmt.network.v2021_05_01_preview.models.UseHubGateway + :ivar is_global: Flag if global is supported. Possible values include: "False", "True". + :vartype is_global: str or ~azure.mgmt.network.v2021_05_01_preview.models.IsGlobal + :ivar group_connectivity: Required. Group connectivity type. Possible values include: "None", "DirectlyConnected". - :type group_connectivity: str or - ~azure.mgmt.network.v2021_02_01_preview.models.GroupConnectivity + :vartype group_connectivity: str or + ~azure.mgmt.network.v2021_05_01_preview.models.GroupConnectivity """ + _validation = { + 'network_group_id': {'required': True}, + 'group_connectivity': {'required': True}, + } + _attribute_map = { 'network_group_id': {'key': 'networkGroupId', 'type': 'str'}, 'use_hub_gateway': {'key': 'useHubGateway', 'type': 'str'}, @@ -1507,12 +1871,25 @@ class ConnectivityGroupItem(msrest.serialization.Model): def __init__( self, *, - network_group_id: Optional[str] = None, + network_group_id: str, + group_connectivity: Union[str, "GroupConnectivity"], use_hub_gateway: Optional[Union[str, "UseHubGateway"]] = None, is_global: Optional[Union[str, "IsGlobal"]] = None, - group_connectivity: Optional[Union[str, "GroupConnectivity"]] = None, **kwargs ): + """ + :keyword network_group_id: Required. Network group Id. + :paramtype network_group_id: str + :keyword use_hub_gateway: Flag if need to use hub gateway. Possible values include: "False", + "True". + :paramtype use_hub_gateway: str or ~azure.mgmt.network.v2021_05_01_preview.models.UseHubGateway + :keyword is_global: Flag if global is supported. Possible values include: "False", "True". + :paramtype is_global: str or ~azure.mgmt.network.v2021_05_01_preview.models.IsGlobal + :keyword group_connectivity: Required. Group connectivity type. Possible values include: + "None", "DirectlyConnected". + :paramtype group_connectivity: str or + ~azure.mgmt.network.v2021_05_01_preview.models.GroupConnectivity + """ super(ConnectivityGroupItem, self).__init__(**kwargs) self.network_group_id = network_group_id self.use_hub_gateway = use_hub_gateway @@ -1520,6 +1897,43 @@ def __init__( self.group_connectivity = group_connectivity +class CrossTenantScopes(msrest.serialization.Model): + """Cross tenant scopes. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar tenant_id: Tenant ID. + :vartype tenant_id: str + :ivar management_groups: List of management groups. + :vartype management_groups: list[str] + :ivar subscriptions: List of subscriptions. + :vartype subscriptions: list[str] + """ + + _validation = { + 'tenant_id': {'readonly': True}, + 'management_groups': {'readonly': True}, + 'subscriptions': {'readonly': True}, + } + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'management_groups': {'key': 'managementGroups', 'type': '[str]'}, + 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(CrossTenantScopes, self).__init__(**kwargs) + self.tenant_id = None + self.management_groups = None + self.subscriptions = None + + class DefaultAdminRule(BaseAdminRule): """Network default admin rule. @@ -1535,25 +1949,25 @@ class DefaultAdminRule(BaseAdminRule): :vartype type: str :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.AdminRuleKind + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.AdminRuleKind :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData :ivar display_name: A friendly name for the rule. :vartype display_name: str :ivar description: A description for this rule. Restricted to 140 chars. :vartype description: str - :param flag: Default rule flag. - :type flag: str + :ivar flag: Default rule flag. + :vartype flag: str :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar source_port_ranges: The source port ranges. :vartype source_port_ranges: list[str] :ivar destination_port_ranges: The destination port ranges. @@ -1561,7 +1975,7 @@ class DefaultAdminRule(BaseAdminRule): :ivar access: Indicates the access allowed for this particular rule. Possible values include: "Allow", "Deny", "AlwaysAllow". :vartype access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. @@ -1569,11 +1983,11 @@ class DefaultAdminRule(BaseAdminRule): :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -1623,6 +2037,10 @@ def __init__( flag: Optional[str] = None, **kwargs ): + """ + :keyword flag: Default rule flag. + :paramtype flag: str + """ super(DefaultAdminRule, self).__init__(**kwargs) self.kind = 'Default' # type: str self.display_name = None @@ -1654,25 +2072,25 @@ class DefaultUserRule(BaseUserRule): :vartype type: str :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.UserRuleKind + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.UserRuleKind :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData :ivar display_name: A friendly name for the rule. :vartype display_name: str :ivar description: A description for this rule. Restricted to 140 chars. :vartype description: str - :param flag: Default rule flag. - :type flag: str + :ivar flag: Default rule flag. + :vartype flag: str :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar source_port_ranges: The source port ranges. :vartype source_port_ranges: list[str] :ivar destination_port_ranges: The destination port ranges. @@ -1680,11 +2098,11 @@ class DefaultUserRule(BaseUserRule): :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the security configuration user rule resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -1730,6 +2148,10 @@ def __init__( flag: Optional[str] = None, **kwargs ): + """ + :keyword flag: Default rule flag. + :paramtype flag: str + """ super(DefaultUserRule, self).__init__(**kwargs) self.kind = 'Default' # type: str self.display_name = None @@ -1752,24 +2174,24 @@ class EffectiveBaseSecurityAdminRule(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind + :ivar id: Resource ID. + :vartype id: str + :ivar configuration_display_name: A display name of the security admin configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security admin configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveAdminRuleKind """ _validation = { @@ -1803,6 +2225,23 @@ def __init__( rule_groups: Optional[List["ConfigurationGroup"]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword configuration_display_name: A display name of the security admin configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security admin configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + """ super(EffectiveBaseSecurityAdminRule, self).__init__(**kwargs) self.id = id self.configuration_display_name = configuration_display_name @@ -1821,38 +2260,38 @@ class EffectiveDefaultSecurityAdminRule(EffectiveBaseSecurityAdminRule): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind + :ivar id: Resource ID. + :vartype id: str + :ivar configuration_display_name: A display name of the security admin configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security admin configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveAdminRuleKind :ivar display_name: A friendly name for the rule. :vartype display_name: str :ivar description: A description for this rule. Restricted to 140 chars. :vartype description: str - :param flag: Default rule flag. - :type flag: str + :ivar flag: Default rule flag. + :vartype flag: str :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". :vartype protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol :ivar sources: The CIDR or source IP ranges. - :vartype sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. - :vartype destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] :ivar source_port_ranges: The source port ranges. :vartype source_port_ranges: list[str] :ivar destination_port_ranges: The destination port ranges. @@ -1860,7 +2299,7 @@ class EffectiveDefaultSecurityAdminRule(EffectiveBaseSecurityAdminRule): :ivar access: Indicates the access allowed for this particular rule. Possible values include: "Allow", "Deny", "AlwaysAllow". :vartype access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. @@ -1868,11 +2307,11 @@ class EffectiveDefaultSecurityAdminRule(EffectiveBaseSecurityAdminRule): :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". :vartype direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -1926,6 +2365,25 @@ def __init__( flag: Optional[str] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword configuration_display_name: A display name of the security admin configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security admin configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :keyword flag: Default rule flag. + :paramtype flag: str + """ super(EffectiveDefaultSecurityAdminRule, self).__init__(id=id, configuration_display_name=configuration_display_name, configuration_description=configuration_description, rule_collection_display_name=rule_collection_display_name, rule_collection_description=rule_collection_description, rule_collection_applies_to_groups=rule_collection_applies_to_groups, rule_groups=rule_groups, **kwargs) self.kind = 'Default' # type: str self.display_name = None @@ -1949,56 +2407,56 @@ class EffectiveSecurityAdminRule(EffectiveBaseSecurityAdminRule): All required parameters must be populated in order to send to Azure. - :param id: Resource ID. - :type id: str - :param configuration_display_name: A display name of the security admin configuration. - :type configuration_display_name: str - :param configuration_description: A description of the security admin configuration. - :type configuration_description: str - :param rule_collection_display_name: A display name of the rule collection. - :type rule_collection_display_name: str - :param rule_collection_description: A description of the rule collection. - :type rule_collection_description: str - :param rule_collection_applies_to_groups: Groups for rule collection. - :type rule_collection_applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] - :param rule_groups: Effective configuration groups. - :type rule_groups: list[~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationGroup] - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveAdminRuleKind - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. Restricted to 140 chars. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", + :ivar id: Resource ID. + :vartype id: str + :ivar configuration_display_name: A display name of the security admin configuration. + :vartype configuration_display_name: str + :ivar configuration_description: A description of the security admin configuration. + :vartype configuration_description: str + :ivar rule_collection_display_name: A display name of the rule collection. + :vartype rule_collection_display_name: str + :ivar rule_collection_description: A description of the rule collection. + :vartype rule_collection_description: str + :ivar rule_collection_applies_to_groups: Groups for rule collection. + :vartype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar rule_groups: Effective configuration groups. + :vartype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveAdminRuleKind + :ivar display_name: A friendly name for the rule. + :vartype display_name: str + :ivar description: A description for this rule. Restricted to 140 chars. + :vartype description: str + :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param access: Indicates the access allowed for this particular rule. Possible values include: + :vartype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :ivar sources: The CIDR or source IP ranges. + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar source_port_ranges: The source port ranges. + :vartype source_port_ranges: list[str] + :ivar destination_port_ranges: The destination port ranges. + :vartype destination_port_ranges: list[str] + :ivar access: Indicates the access allowed for this particular rule. Possible values include: "Allow", "Deny", "AlwaysAllow". - :type access: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleAccess - :param priority: The priority of the rule. The value can be between 1 and 4096. The priority + :vartype access: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess + :ivar priority: The priority of the rule. The value can be between 1 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. - :type priority: int - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. + :vartype priority: int + :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + :vartype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -2051,6 +2509,51 @@ def __init__( direction: Optional[Union[str, "SecurityConfigurationRuleDirection"]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword configuration_display_name: A display name of the security admin configuration. + :paramtype configuration_display_name: str + :keyword configuration_description: A description of the security admin configuration. + :paramtype configuration_description: str + :keyword rule_collection_display_name: A display name of the rule collection. + :paramtype rule_collection_display_name: str + :keyword rule_collection_description: A description of the rule collection. + :paramtype rule_collection_description: str + :keyword rule_collection_applies_to_groups: Groups for rule collection. + :paramtype rule_collection_applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :keyword rule_groups: Effective configuration groups. + :paramtype rule_groups: list[~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationGroup] + :keyword display_name: A friendly name for the rule. + :paramtype display_name: str + :keyword description: A description for this rule. Restricted to 140 chars. + :paramtype description: str + :keyword protocol: Network protocol this rule applies to. Possible values include: "Tcp", + "Udp", "Icmp", "Esp", "Any", "Ah". + :paramtype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :keyword sources: The CIDR or source IP ranges. + :paramtype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword destinations: The destination address prefixes. CIDR or destination IP ranges. + :paramtype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword source_port_ranges: The source port ranges. + :paramtype source_port_ranges: list[str] + :keyword destination_port_ranges: The destination port ranges. + :paramtype destination_port_ranges: list[str] + :keyword access: Indicates the access allowed for this particular rule. Possible values + include: "Allow", "Deny", "AlwaysAllow". + :paramtype access: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleAccess + :keyword priority: The priority of the rule. The value can be between 1 and 4096. The priority + number must be unique for each rule in the collection. The lower the priority number, the + higher the priority of the rule. + :paramtype priority: int + :keyword direction: Indicates if the traffic matched against the rule in inbound or outbound. + Possible values include: "Inbound", "Outbound". + :paramtype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection + """ super(EffectiveSecurityAdminRule, self).__init__(id=id, configuration_display_name=configuration_display_name, configuration_description=configuration_description, rule_collection_display_name=rule_collection_display_name, rule_collection_description=rule_collection_description, rule_collection_applies_to_groups=rule_collection_applies_to_groups, rule_groups=rule_groups, **kwargs) self.kind = 'Custom' # type: str self.display_name = display_name @@ -2069,12 +2572,12 @@ def __init__( class EffectiveVirtualNetwork(msrest.serialization.Model): """Effective Virtual Network. - :param id: Effective vnet Id. - :type id: str - :param location: Location of vnet. - :type location: str - :param membership_type: Membership Type. Possible values include: "Static", "Dynamic". - :type membership_type: str or ~azure.mgmt.network.v2021_02_01_preview.models.MembershipType + :ivar id: Effective vnet Id. + :vartype id: str + :ivar location: Location of vnet. + :vartype location: str + :ivar membership_type: Membership Type. Possible values include: "Static", "Dynamic". + :vartype membership_type: str or ~azure.mgmt.network.v2021_05_01_preview.models.MembershipType """ _attribute_map = { @@ -2091,6 +2594,15 @@ def __init__( membership_type: Optional[Union[str, "MembershipType"]] = None, **kwargs ): + """ + :keyword id: Effective vnet Id. + :paramtype id: str + :keyword location: Location of vnet. + :paramtype location: str + :keyword membership_type: Membership Type. Possible values include: "Static", "Dynamic". + :paramtype membership_type: str or + ~azure.mgmt.network.v2021_05_01_preview.models.MembershipType + """ super(EffectiveVirtualNetwork, self).__init__(**kwargs) self.id = id self.location = location @@ -2100,11 +2612,11 @@ def __init__( class EffectiveVirtualNetworksListResult(msrest.serialization.Model): """Result of the request to list Effective Virtual Network. It contains a list of groups and a URL link to get the next set of results. - :param value: Gets a page of EffectiveVirtualNetwork. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.EffectiveVirtualNetwork] - :param skip_token: When present, the value can be passed to a subsequent query call (together + :ivar value: Gets a page of EffectiveVirtualNetwork. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.EffectiveVirtualNetwork] + :ivar skip_token: When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -2119,6 +2631,13 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of EffectiveVirtualNetwork. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.EffectiveVirtualNetwork] + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ super(EffectiveVirtualNetworksListResult, self).__init__(**kwargs) self.value = value self.skip_token = skip_token @@ -2127,11 +2646,11 @@ def __init__( class EffectiveVirtualNetworksParameter(msrest.serialization.Model): """Effective Virtual Networks Parameter. - :param conditional_members: Conditional Members. - :type conditional_members: str - :param skip_token: Continuation token for pagination, capturing the next page size and offset, + :ivar conditional_members: Conditional Members. + :vartype conditional_members: str + :ivar skip_token: Continuation token for pagination, capturing the next page size and offset, as well as the context of the query. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -2146,39 +2665,25 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword conditional_members: Conditional Members. + :paramtype conditional_members: str + :keyword skip_token: Continuation token for pagination, capturing the next page size and + offset, as well as the context of the query. + :paramtype skip_token: str + """ super(EffectiveVirtualNetworksParameter, self).__init__(**kwargs) self.conditional_members = conditional_members self.skip_token = skip_token -class GroupMembersItem(msrest.serialization.Model): - """GroupMembers Item. - - :param resource_id: Resource Id. - :type resource_id: str - """ - - _attribute_map = { - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - } - - def __init__( - self, - *, - resource_id: Optional[str] = None, - **kwargs - ): - super(GroupMembersItem, self).__init__(**kwargs) - self.resource_id = resource_id - - class Hub(msrest.serialization.Model): """Hub Item. - :param resource_id: Resource Id. - :type resource_id: str - :param resource_type: Resource Type. - :type resource_type: str + :ivar resource_id: Resource Id. + :vartype resource_id: str + :ivar resource_type: Resource Type. + :vartype resource_type: str """ _attribute_map = { @@ -2193,6 +2698,12 @@ def __init__( resource_type: Optional[str] = None, **kwargs ): + """ + :keyword resource_id: Resource Id. + :paramtype resource_id: str + :keyword resource_type: Resource Type. + :paramtype resource_type: str + """ super(Hub, self).__init__(**kwargs) self.resource_id = resource_id self.resource_type = resource_type @@ -2212,21 +2723,17 @@ class NetworkGroup(ProxyResource): :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the network group. - :type display_name: str - :param description: A description of the network group. - :type description: str - :param member_type: Group member type. - :type member_type: str - :param group_members: Group members of network group. - :type group_members: list[~azure.mgmt.network.v2021_02_01_preview.models.GroupMembersItem] - :param conditional_membership: Network group conditional filter. - :type conditional_membership: str + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar display_name: A friendly name for the network group. + :vartype display_name: str + :ivar description: A description of the network group. + :vartype description: str + :ivar member_type: Group member type. + :vartype member_type: str :ivar provisioning_state: The provisioning state of the scope assignment resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -2247,8 +2754,6 @@ class NetworkGroup(ProxyResource): 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'member_type': {'key': 'properties.memberType', 'type': 'str'}, - 'group_members': {'key': 'properties.groupMembers', 'type': '[GroupMembersItem]'}, - 'conditional_membership': {'key': 'properties.conditionalMembership', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } @@ -2258,27 +2763,31 @@ def __init__( display_name: Optional[str] = None, description: Optional[str] = None, member_type: Optional[str] = None, - group_members: Optional[List["GroupMembersItem"]] = None, - conditional_membership: Optional[str] = None, **kwargs ): + """ + :keyword display_name: A friendly name for the network group. + :paramtype display_name: str + :keyword description: A description of the network group. + :paramtype description: str + :keyword member_type: Group member type. + :paramtype member_type: str + """ super(NetworkGroup, self).__init__(**kwargs) self.system_data = None self.display_name = display_name self.description = description self.member_type = member_type - self.group_members = group_members - self.conditional_membership = conditional_membership self.provisioning_state = None class NetworkGroupListResult(msrest.serialization.Model): """Result of the request to list NetworkGroup. It contains a list of groups and a URL link to get the next set of results. - :param value: Gets a page of NetworkGroup. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroup] - :param next_link: Gets the URL to get the next set of results. - :type next_link: str + :ivar value: Gets a page of NetworkGroup. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroup] + :ivar next_link: Gets the URL to get the next set of results. + :vartype next_link: str """ _attribute_map = { @@ -2293,6 +2802,12 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of NetworkGroup. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroup] + :keyword next_link: Gets the URL to get the next set of results. + :paramtype next_link: str + """ super(NetworkGroupListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -2303,16 +2818,16 @@ class Resource(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. - :param id: Resource ID. - :type id: str + :ivar id: Resource ID. + :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Resource location. - :type location: str - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] + :ivar location: Resource location. + :vartype location: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] """ _validation = { @@ -2336,6 +2851,14 @@ def __init__( tags: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword location: Resource location. + :paramtype location: str + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + """ super(Resource, self).__init__(**kwargs) self.id = id self.name = None @@ -2349,34 +2872,34 @@ class NetworkManager(Resource): Variables are only populated by the server, and will be ignored when sending a request. - :param id: Resource ID. - :type id: str + :ivar id: Resource ID. + :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Resource location. - :type location: str - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] + :ivar location: Resource location. + :vartype location: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the network manager. - :type display_name: str - :param description: A description of the network manager. - :type description: str - :param network_manager_scopes: Scope of Network Manager. - :type network_manager_scopes: - ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerPropertiesNetworkManagerScopes - :param network_manager_scope_accesses: Scope Access. - :type network_manager_scope_accesses: list[str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationType] + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar display_name: A friendly name for the network manager. + :vartype display_name: str + :ivar description: A description of the network manager. + :vartype description: str + :ivar network_manager_scopes: Scope of Network Manager. + :vartype network_manager_scopes: + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerPropertiesNetworkManagerScopes + :ivar network_manager_scope_accesses: Scope Access. + :vartype network_manager_scope_accesses: list[str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationType] :ivar provisioning_state: The provisioning state of the scope assignment resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -2414,6 +2937,24 @@ def __init__( network_manager_scope_accesses: Optional[List[Union[str, "ConfigurationType"]]] = None, **kwargs ): + """ + :keyword id: Resource ID. + :paramtype id: str + :keyword location: Resource location. + :paramtype location: str + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword display_name: A friendly name for the network manager. + :paramtype display_name: str + :keyword description: A description of the network manager. + :paramtype description: str + :keyword network_manager_scopes: Scope of Network Manager. + :paramtype network_manager_scopes: + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerPropertiesNetworkManagerScopes + :keyword network_manager_scope_accesses: Scope Access. + :paramtype network_manager_scope_accesses: list[str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationType] + """ super(NetworkManager, self).__init__(id=id, location=location, tags=tags, **kwargs) self.etag = None self.system_data = None @@ -2429,19 +2970,22 @@ class NetworkManagerCommit(msrest.serialization.Model): 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 commit_id: Commit Id. :vartype commit_id: str - :param target_locations: List of target locations. - :type target_locations: list[str] - :param configuration_ids: List of configuration ids. - :type configuration_ids: list[str] - :param commit_type: Commit Type. Possible values include: "SecurityAdmin", "SecurityUser", + :ivar target_locations: Required. List of target locations. + :vartype target_locations: list[str] + :ivar configuration_ids: List of configuration ids. + :vartype configuration_ids: list[str] + :ivar commit_type: Commit Type. Possible values include: "SecurityAdmin", "SecurityUser", "Connectivity". - :type commit_type: str or ~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationType + :vartype commit_type: str or ~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationType """ _validation = { 'commit_id': {'readonly': True}, + 'target_locations': {'required': True}, } _attribute_map = { @@ -2454,11 +2998,20 @@ class NetworkManagerCommit(msrest.serialization.Model): def __init__( self, *, - target_locations: Optional[List[str]] = None, + target_locations: List[str], configuration_ids: Optional[List[str]] = None, commit_type: Optional[Union[str, "ConfigurationType"]] = None, **kwargs ): + """ + :keyword target_locations: Required. List of target locations. + :paramtype target_locations: list[str] + :keyword configuration_ids: List of configuration ids. + :paramtype configuration_ids: list[str] + :keyword commit_type: Commit Type. Possible values include: "SecurityAdmin", "SecurityUser", + "Connectivity". + :paramtype commit_type: str or ~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationType + """ super(NetworkManagerCommit, self).__init__(**kwargs) self.commit_id = None self.target_locations = target_locations @@ -2466,23 +3019,122 @@ def __init__( self.commit_type = commit_type +class NetworkManagerConnection(ProxyResource): + """The Network Manager Connection resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar etag: A unique read-only string that changes whenever the resource is updated. + :vartype etag: str + :ivar system_data: The system metadata related to this resource. + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar network_manager_id: Network Manager Id. + :vartype network_manager_id: str + :ivar connection_state: Connection state. Possible values include: "Connected", "Pending", + "Conflict", "Revoked", "Rejected". + :vartype connection_state: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnectionState + :ivar description: A description of the scope connection. + :vartype description: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'system_data': {'readonly': True}, + 'connection_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'network_manager_id': {'key': 'properties.networkManagerId', 'type': 'str'}, + 'connection_state': {'key': 'properties.connectionState', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + } + + def __init__( + self, + *, + network_manager_id: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + """ + :keyword network_manager_id: Network Manager Id. + :paramtype network_manager_id: str + :keyword description: A description of the scope connection. + :paramtype description: str + """ + super(NetworkManagerConnection, self).__init__(**kwargs) + self.system_data = None + self.network_manager_id = network_manager_id + self.connection_state = None + self.description = description + + +class NetworkManagerConnectionListResult(msrest.serialization.Model): + """List of network manager connections. + + :ivar value: List of network manager connections. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection] + :ivar next_link: Gets the URL to get the next page of results. + :vartype next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[NetworkManagerConnection]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["NetworkManagerConnection"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + """ + :keyword value: List of network manager connections. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection] + :keyword next_link: Gets the URL to get the next page of results. + :paramtype next_link: str + """ + super(NetworkManagerConnectionListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + class NetworkManagerDeploymentStatus(msrest.serialization.Model): """Network Manager Deployment Status. - :param commit_time: Commit Time. - :type commit_time: ~datetime.datetime - :param region: Region Name. - :type region: str - :param deployment_status: Deployment Status. Possible values include: "NotStarted", - "Deploying", "Deployed", "Failed". - :type deployment_status: str or ~azure.mgmt.network.v2021_02_01_preview.models.DeploymentStatus - :param configuration_ids: List of configuration ids. - :type configuration_ids: list[str] - :param deployment_type: Configuration Deployment Type. Possible values include: - "SecurityAdmin", "SecurityUser", "Connectivity". - :type deployment_type: str or ~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationType - :param error_message: Error Message. - :type error_message: str + :ivar commit_time: Commit Time. + :vartype commit_time: ~datetime.datetime + :ivar region: Region Name. + :vartype region: str + :ivar deployment_status: Deployment Status. Possible values include: "NotStarted", "Deploying", + "Deployed", "Failed". + :vartype deployment_status: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeploymentStatus + :ivar configuration_ids: List of configuration ids. + :vartype configuration_ids: list[str] + :ivar deployment_type: Configuration Deployment Type. Possible values include: "SecurityAdmin", + "SecurityUser", "Connectivity". + :vartype deployment_type: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationType + :ivar error_message: Error Message. + :vartype error_message: str """ _attribute_map = { @@ -2505,6 +3157,24 @@ def __init__( error_message: Optional[str] = None, **kwargs ): + """ + :keyword commit_time: Commit Time. + :paramtype commit_time: ~datetime.datetime + :keyword region: Region Name. + :paramtype region: str + :keyword deployment_status: Deployment Status. Possible values include: "NotStarted", + "Deploying", "Deployed", "Failed". + :paramtype deployment_status: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeploymentStatus + :keyword configuration_ids: List of configuration ids. + :paramtype configuration_ids: list[str] + :keyword deployment_type: Configuration Deployment Type. Possible values include: + "SecurityAdmin", "SecurityUser", "Connectivity". + :paramtype deployment_type: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationType + :keyword error_message: Error Message. + :paramtype error_message: str + """ super(NetworkManagerDeploymentStatus, self).__init__(**kwargs) self.commit_time = commit_time self.region = region @@ -2517,12 +3187,12 @@ def __init__( class NetworkManagerDeploymentStatusListResult(msrest.serialization.Model): """A list of Network Manager Deployment Status. - :param value: Gets a page of Network Manager Deployment Status. - :type value: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerDeploymentStatus] - :param skip_token: When present, the value can be passed to a subsequent query call (together + :ivar value: Gets a page of Network Manager Deployment Status. + :vartype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerDeploymentStatus] + :ivar skip_token: When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -2537,6 +3207,14 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of Network Manager Deployment Status. + :paramtype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerDeploymentStatus] + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ super(NetworkManagerDeploymentStatusListResult, self).__init__(**kwargs) self.value = value self.skip_token = skip_token @@ -2545,14 +3223,14 @@ def __init__( class NetworkManagerDeploymentStatusParameter(msrest.serialization.Model): """Network Manager Deployment Status Parameter. - :param regions: List of locations. - :type regions: list[str] - :param deployment_types: List of deployment types. - :type deployment_types: list[str or - ~azure.mgmt.network.v2021_02_01_preview.models.ConfigurationType] - :param skip_token: Continuation token for pagination, capturing the next page size and offset, + :ivar regions: List of locations. + :vartype regions: list[str] + :ivar deployment_types: List of deployment types. + :vartype deployment_types: list[str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationType] + :ivar skip_token: Continuation token for pagination, capturing the next page size and offset, as well as the context of the query. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -2569,6 +3247,16 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword regions: List of locations. + :paramtype regions: list[str] + :keyword deployment_types: List of deployment types. + :paramtype deployment_types: list[str or + ~azure.mgmt.network.v2021_05_01_preview.models.ConfigurationType] + :keyword skip_token: Continuation token for pagination, capturing the next page size and + offset, as well as the context of the query. + :paramtype skip_token: str + """ super(NetworkManagerDeploymentStatusParameter, self).__init__(**kwargs) self.regions = regions self.deployment_types = deployment_types @@ -2578,12 +3266,12 @@ def __init__( class NetworkManagerEffectiveConnectivityConfigurationListResult(msrest.serialization.Model): """Result of the request to list networkManagerEffectiveConnectivityConfiguration. It contains a list of groups and a skiptoken to get the next set of results. - :param value: Gets a page of NetworkManagerEffectiveConnectivityConfiguration. - :type value: - list[~azure.mgmt.network.v2021_02_01_preview.models.EffectiveConnectivityConfiguration] - :param skip_token: When present, the value can be passed to a subsequent query call (together + :ivar value: Gets a page of NetworkManagerEffectiveConnectivityConfiguration. + :vartype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.EffectiveConnectivityConfiguration] + :ivar skip_token: When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -2598,6 +3286,14 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of NetworkManagerEffectiveConnectivityConfiguration. + :paramtype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.EffectiveConnectivityConfiguration] + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ super(NetworkManagerEffectiveConnectivityConfigurationListResult, self).__init__(**kwargs) self.value = value self.skip_token = skip_token @@ -2606,12 +3302,12 @@ def __init__( class NetworkManagerEffectiveSecurityAdminRulesListResult(msrest.serialization.Model): """Result of the request to list networkManagerEffectiveSecurityAdminRules. It contains a list of groups and a skiptoken to get the next set of results. - :param value: Gets a page of NetworkManagerEffectiveSecurityAdminRules. - :type value: - list[~azure.mgmt.network.v2021_02_01_preview.models.EffectiveBaseSecurityAdminRule] - :param skip_token: When present, the value can be passed to a subsequent query call (together + :ivar value: Gets a page of NetworkManagerEffectiveSecurityAdminRules. + :vartype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.EffectiveBaseSecurityAdminRule] + :ivar skip_token: When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str + :vartype skip_token: str """ _attribute_map = { @@ -2626,6 +3322,14 @@ def __init__( skip_token: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of NetworkManagerEffectiveSecurityAdminRules. + :paramtype value: + list[~azure.mgmt.network.v2021_05_01_preview.models.EffectiveBaseSecurityAdminRule] + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ super(NetworkManagerEffectiveSecurityAdminRulesListResult, self).__init__(**kwargs) self.value = value self.skip_token = skip_token @@ -2634,10 +3338,10 @@ def __init__( class NetworkManagerListResult(msrest.serialization.Model): """Result of the request to list NetworkManager. It contains a list of network managers and a URL link to get the next set of results. - :param value: Gets a page of NetworkManager. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str + :ivar value: Gets a page of NetworkManager. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager] + :ivar next_link: Gets the URL to get the next page of results. + :vartype next_link: str """ _attribute_map = { @@ -2652,6 +3356,12 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: Gets a page of NetworkManager. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager] + :keyword next_link: Gets the URL to get the next page of results. + :paramtype next_link: str + """ super(NetworkManagerListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -2660,15 +3370,25 @@ def __init__( class NetworkManagerPropertiesNetworkManagerScopes(msrest.serialization.Model): """Scope of Network Manager. - :param management_groups: List of management groups. - :type management_groups: list[str] - :param subscriptions: List of subscriptions. - :type subscriptions: list[str] + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar management_groups: List of management groups. + :vartype management_groups: list[str] + :ivar subscriptions: List of subscriptions. + :vartype subscriptions: list[str] + :ivar cross_tenant_scopes: List of cross tenant scopes. + :vartype cross_tenant_scopes: + list[~azure.mgmt.network.v2021_05_01_preview.models.CrossTenantScopes] """ + _validation = { + 'cross_tenant_scopes': {'readonly': True}, + } + _attribute_map = { 'management_groups': {'key': 'managementGroups', 'type': '[str]'}, 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, + 'cross_tenant_scopes': {'key': 'crossTenantScopes', 'type': '[CrossTenantScopes]'}, } def __init__( @@ -2678,18 +3398,31 @@ def __init__( subscriptions: Optional[List[str]] = None, **kwargs ): + """ + :keyword management_groups: List of management groups. + :paramtype management_groups: list[str] + :keyword subscriptions: List of subscriptions. + :paramtype subscriptions: list[str] + """ super(NetworkManagerPropertiesNetworkManagerScopes, self).__init__(**kwargs) self.management_groups = management_groups self.subscriptions = subscriptions + self.cross_tenant_scopes = None class NetworkManagerSecurityGroupItem(msrest.serialization.Model): """Network manager security group item. - :param network_group_id: Network manager group Id. - :type network_group_id: str + All required parameters must be populated in order to send to Azure. + + :ivar network_group_id: Required. Network manager group Id. + :vartype network_group_id: str """ + _validation = { + 'network_group_id': {'required': True}, + } + _attribute_map = { 'network_group_id': {'key': 'networkGroupId', 'type': 'str'}, } @@ -2697,44 +3430,103 @@ class NetworkManagerSecurityGroupItem(msrest.serialization.Model): def __init__( self, *, - network_group_id: Optional[str] = None, + network_group_id: str, **kwargs ): + """ + :keyword network_group_id: Required. Network manager group Id. + :paramtype network_group_id: str + """ super(NetworkManagerSecurityGroupItem, self).__init__(**kwargs) self.network_group_id = network_group_id -class NetworkSecurityPerimeter(Resource): - """The Network Security Perimeter resource. +class PatchObject(msrest.serialization.Model): + """Object for patch operations. + + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + """ + super(PatchObject, self).__init__(**kwargs) + self.tags = tags + + +class QueryRequestOptions(msrest.serialization.Model): + """Query Request Options. + + :ivar skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :vartype skip_token: str + """ + + _attribute_map = { + 'skip_token': {'key': 'skipToken', 'type': 'str'}, + } + + def __init__( + self, + *, + skip_token: Optional[str] = None, + **kwargs + ): + """ + :keyword skip_token: When present, the value can be passed to a subsequent query call (together + with the same query and scopes used in the current request) to retrieve the next page of data. + :paramtype skip_token: str + """ + super(QueryRequestOptions, self).__init__(**kwargs) + self.skip_token = skip_token + + +class RuleCollection(ProxyResource): + """Defines the rule collection. Variables are only populated by the server, and will be ignored when sending a request. - :param id: Resource ID. - :type id: str + :ivar id: Resource ID. + :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Resource location. - :type location: str - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str - :param display_name: A friendly name for the network security perimeter. - :type display_name: str - :param description: A description of the network security perimeter. - :type description: str - :ivar provisioning_state: The provisioning state of the scope assignment resource. Possible - values include: "Succeeded", "Updating", "Deleting", "Failed". + :ivar system_data: The system metadata related to this resource. + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar display_name: A display name of the rule collection. + :vartype display_name: str + :ivar description: A description of the rule collection. + :vartype description: str + :ivar applies_to_groups: Groups for configuration. + :vartype applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + :ivar provisioning_state: The provisioning state of the resource. Possible values include: + "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { + 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'etag': {'readonly': True}, + 'system_data': {'readonly': True}, 'provisioning_state': {'readonly': True}, } @@ -2742,163 +3534,177 @@ class NetworkSecurityPerimeter(Resource): '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}'}, 'etag': {'key': 'etag', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, + 'applies_to_groups': {'key': 'properties.appliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } def __init__( self, *, - id: Optional[str] = None, - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, display_name: Optional[str] = None, description: Optional[str] = None, + applies_to_groups: Optional[List["NetworkManagerSecurityGroupItem"]] = None, **kwargs ): - super(NetworkSecurityPerimeter, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.etag = None + """ + :keyword display_name: A display name of the rule collection. + :paramtype display_name: str + :keyword description: A description of the rule collection. + :paramtype description: str + :keyword applies_to_groups: Groups for configuration. + :paramtype applies_to_groups: + list[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerSecurityGroupItem] + """ + super(RuleCollection, self).__init__(**kwargs) + self.system_data = None self.display_name = display_name self.description = description + self.applies_to_groups = applies_to_groups self.provisioning_state = None -class NetworkSecurityPerimeterListResult(msrest.serialization.Model): - """Result of the request to list NetworkSecurityPerimeter. It contains a list of network security perimeters and a URL link to get the next set of results. +class RuleCollectionListResult(msrest.serialization.Model): + """Security configuration rule collection list result. - :param value: Gets a page of NetworkSecurityPerimeter. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkSecurityPerimeter] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str + :ivar value: A list of network manager security configuration rule collections. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection] + :ivar next_link: Gets the URL to get the next set of results. + :vartype next_link: str """ _attribute_map = { - 'value': {'key': 'value', 'type': '[NetworkSecurityPerimeter]'}, + 'value': {'key': 'value', 'type': '[RuleCollection]'}, 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( self, *, - value: Optional[List["NetworkSecurityPerimeter"]] = None, + value: Optional[List["RuleCollection"]] = None, next_link: Optional[str] = None, **kwargs ): - super(NetworkSecurityPerimeterListResult, self).__init__(**kwargs) + """ + :keyword value: A list of network manager security configuration rule collections. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection] + :keyword next_link: Gets the URL to get the next set of results. + :paramtype next_link: str + """ + super(RuleCollectionListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link -class PerimeterAssociableResource(Resource): - """Resource that is onboarded to use network security perimeter. Also referred as perimeter associable resource. +class ScopeConnection(ProxyResource): + """The Scope Connections resource. Variables are only populated by the server, and will be ignored when sending a request. - :param id: Resource ID. - :type id: str + :ivar id: Resource ID. + :vartype id: str :ivar name: Resource name. :vartype name: str :ivar type: Resource type. :vartype type: str - :param location: Resource location. - :type location: str - :param tags: A set of tags. Resource tags. - :type tags: dict[str, str] - :ivar display_name: A friendly name for the properties of perimeter associable resources. - :vartype display_name: str - :ivar resource_type: Resource type/provider name. - :vartype resource_type: str - :ivar public_dns_zones: Public DNS zone names of the resources. - :vartype public_dns_zones: list[str] + :ivar etag: A unique read-only string that changes whenever the resource is updated. + :vartype etag: str + :ivar system_data: The system metadata related to this resource. + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar tenant_id: Tenant ID. + :vartype tenant_id: str + :ivar resource_id: Resource ID. + :vartype resource_id: str + :ivar connection_state: Connection State. Possible values include: "Connected", "Pending", + "Conflict", "Revoked", "Rejected". + :vartype connection_state: str or + ~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnectionState + :ivar description: A description of the scope connection. + :vartype description: str """ _validation = { + 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, - 'display_name': {'readonly': True}, - 'resource_type': {'readonly': True}, - 'public_dns_zones': {'readonly': True}, + 'etag': {'readonly': True}, + 'system_data': {'readonly': True}, + 'connection_state': {'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}'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, - 'public_dns_zones': {'key': 'properties.publicDnsZones', 'type': '[str]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tenant_id': {'key': 'properties.tenantId', 'type': 'str'}, + 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, + 'connection_state': {'key': 'properties.connectionState', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, } def __init__( self, *, - id: Optional[str] = None, - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, + tenant_id: Optional[str] = None, + resource_id: Optional[str] = None, + description: Optional[str] = None, **kwargs ): - super(PerimeterAssociableResource, self).__init__(id=id, location=location, tags=tags, **kwargs) - self.display_name = None - self.resource_type = None - self.public_dns_zones = None + """ + :keyword tenant_id: Tenant ID. + :paramtype tenant_id: str + :keyword resource_id: Resource ID. + :paramtype resource_id: str + :keyword description: A description of the scope connection. + :paramtype description: str + """ + super(ScopeConnection, self).__init__(**kwargs) + self.system_data = None + self.tenant_id = tenant_id + self.resource_id = resource_id + self.connection_state = None + self.description = description -class PerimeterAssociableResourcesListResult(msrest.serialization.Model): - """Paged list of perimeter associable resources. +class ScopeConnectionListResult(msrest.serialization.Model): + """List of scope connections. - :param value: Gets paged list of perimeter associable resources. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.PerimeterAssociableResource] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str + :ivar value: List of scope connections. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnection] + :ivar next_link: Gets the URL to get the next page of results. + :vartype next_link: str """ _attribute_map = { - 'value': {'key': 'value', 'type': '[PerimeterAssociableResource]'}, + 'value': {'key': 'value', 'type': '[ScopeConnection]'}, 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( self, *, - value: Optional[List["PerimeterAssociableResource"]] = None, + value: Optional[List["ScopeConnection"]] = None, next_link: Optional[str] = None, **kwargs ): - super(PerimeterAssociableResourcesListResult, self).__init__(**kwargs) + """ + :keyword value: List of scope connections. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnection] + :keyword next_link: Gets the URL to get the next page of results. + :paramtype next_link: str + """ + super(ScopeConnectionListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link -class QueryRequestOptions(msrest.serialization.Model): - """Query Request Options. - - :param skip_token: When present, the value can be passed to a subsequent query call (together - with the same query and scopes used in the current request) to retrieve the next page of data. - :type skip_token: str - """ - - _attribute_map = { - 'skip_token': {'key': 'skipToken', 'type': 'str'}, - } - - def __init__( - self, - *, - skip_token: Optional[str] = None, - **kwargs - ): - super(QueryRequestOptions, self).__init__(**kwargs) - self.skip_token = skip_token - - -class RuleCollection(ProxyResource): - """Defines the rule collection. +class SecurityConfiguration(ProxyResource): + """Defines the security configuration. Variables are only populated by the server, and will be ignored when sending a request. @@ -2911,18 +3717,25 @@ class RuleCollection(ProxyResource): :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A display name of the rule collection. - :type display_name: str - :param description: A description of the rule collection. - :type description: str - :param applies_to_groups: Groups for configuration. - :type applies_to_groups: - list[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerSecurityGroupItem] + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar display_name: A display name of the security configuration. + :vartype display_name: str + :ivar description: A description of the security configuration. + :vartype description: str + :ivar security_type: Security Type. Possible values include: "AdminPolicy", "UserPolicy". + :vartype security_type: str or ~azure.mgmt.network.v2021_05_01_preview.models.SecurityType + :ivar apply_on_network_intent_policy_based_services: Enum list of network intent policy based + services. + :vartype apply_on_network_intent_policy_based_services: list[str or + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkIntentPolicyBasedService] + :ivar delete_existing_ns_gs: Flag if need to delete existing network security groups. Possible + values include: "False", "True". + :vartype delete_existing_ns_gs: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeleteExistingNSGs :ivar provisioning_state: The provisioning state of the resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -2942,7 +3755,9 @@ class RuleCollection(ProxyResource): 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, - 'applies_to_groups': {'key': 'properties.appliesToGroups', 'type': '[NetworkManagerSecurityGroupItem]'}, + 'security_type': {'key': 'properties.securityType', 'type': 'str'}, + 'apply_on_network_intent_policy_based_services': {'key': 'properties.applyOnNetworkIntentPolicyBasedServices', 'type': '[str]'}, + 'delete_existing_ns_gs': {'key': 'properties.deleteExistingNSGs', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, } @@ -2951,45 +3766,71 @@ def __init__( *, display_name: Optional[str] = None, description: Optional[str] = None, - applies_to_groups: Optional[List["NetworkManagerSecurityGroupItem"]] = None, + security_type: Optional[Union[str, "SecurityType"]] = None, + apply_on_network_intent_policy_based_services: Optional[List[Union[str, "NetworkIntentPolicyBasedService"]]] = None, + delete_existing_ns_gs: Optional[Union[str, "DeleteExistingNSGs"]] = None, **kwargs ): - super(RuleCollection, self).__init__(**kwargs) + """ + :keyword display_name: A display name of the security configuration. + :paramtype display_name: str + :keyword description: A description of the security configuration. + :paramtype description: str + :keyword security_type: Security Type. Possible values include: "AdminPolicy", "UserPolicy". + :paramtype security_type: str or ~azure.mgmt.network.v2021_05_01_preview.models.SecurityType + :keyword apply_on_network_intent_policy_based_services: Enum list of network intent policy + based services. + :paramtype apply_on_network_intent_policy_based_services: list[str or + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkIntentPolicyBasedService] + :keyword delete_existing_ns_gs: Flag if need to delete existing network security groups. + Possible values include: "False", "True". + :paramtype delete_existing_ns_gs: str or + ~azure.mgmt.network.v2021_05_01_preview.models.DeleteExistingNSGs + """ + super(SecurityConfiguration, self).__init__(**kwargs) self.system_data = None self.display_name = display_name self.description = description - self.applies_to_groups = applies_to_groups + self.security_type = security_type + self.apply_on_network_intent_policy_based_services = apply_on_network_intent_policy_based_services + self.delete_existing_ns_gs = delete_existing_ns_gs self.provisioning_state = None -class RuleCollectionListResult(msrest.serialization.Model): - """Security configuration rule collection list result. +class SecurityConfigurationListResult(msrest.serialization.Model): + """A list of network manager security configurations. - :param value: A list of network manager security configuration rule collections. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection] - :param next_link: Gets the URL to get the next set of results. - :type next_link: str + :ivar value: Gets a page of security configurations. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration] + :ivar next_link: Gets the URL to get the next page of results. + :vartype next_link: str """ _attribute_map = { - 'value': {'key': 'value', 'type': '[RuleCollection]'}, + 'value': {'key': 'value', 'type': '[SecurityConfiguration]'}, 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( self, *, - value: Optional[List["RuleCollection"]] = None, + value: Optional[List["SecurityConfiguration"]] = None, next_link: Optional[str] = None, **kwargs ): - super(RuleCollectionListResult, self).__init__(**kwargs) + """ + :keyword value: Gets a page of security configurations. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration] + :keyword next_link: Gets the URL to get the next page of results. + :paramtype next_link: str + """ + super(SecurityConfigurationListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link -class SecurityConfiguration(ProxyResource): - """Defines the security configuration. +class StaticMember(ProxyResource): + """StaticMember Item. Variables are only populated by the server, and will be ignored when sending a request. @@ -3002,21 +3843,9 @@ class SecurityConfiguration(ProxyResource): :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A display name of the security configuration. - :type display_name: str - :param description: A description of the security configuration. - :type description: str - :param security_type: Security Type. Possible values include: "AdminPolicy", "UserPolicy". - :type security_type: str or ~azure.mgmt.network.v2021_02_01_preview.models.SecurityType - :param delete_existing_ns_gs: Flag if need to delete existing network security groups. Possible - values include: "False", "True". - :type delete_existing_ns_gs: str or - ~azure.mgmt.network.v2021_02_01_preview.models.DeleteExistingNSGs - :ivar provisioning_state: The provisioning state of the resource. Possible values include: - "Succeeded", "Updating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar resource_id: Resource Id. + :vartype resource_id: str """ _validation = { @@ -3025,7 +3854,6 @@ class SecurityConfiguration(ProxyResource): 'type': {'readonly': True}, 'etag': {'readonly': True}, 'system_data': {'readonly': True}, - 'provisioning_state': {'readonly': True}, } _attribute_map = { @@ -3034,53 +3862,52 @@ class SecurityConfiguration(ProxyResource): 'type': {'key': 'type', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, 'system_data': {'key': 'systemData', 'type': 'SystemData'}, - 'display_name': {'key': 'properties.displayName', 'type': 'str'}, - 'description': {'key': 'properties.description', 'type': 'str'}, - 'security_type': {'key': 'properties.securityType', 'type': 'str'}, - 'delete_existing_ns_gs': {'key': 'properties.deleteExistingNSGs', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, } def __init__( self, *, - display_name: Optional[str] = None, - description: Optional[str] = None, - security_type: Optional[Union[str, "SecurityType"]] = None, - delete_existing_ns_gs: Optional[Union[str, "DeleteExistingNSGs"]] = None, + resource_id: Optional[str] = None, **kwargs ): - super(SecurityConfiguration, self).__init__(**kwargs) + """ + :keyword resource_id: Resource Id. + :paramtype resource_id: str + """ + super(StaticMember, self).__init__(**kwargs) self.system_data = None - self.display_name = display_name - self.description = description - self.security_type = security_type - self.delete_existing_ns_gs = delete_existing_ns_gs - self.provisioning_state = None + self.resource_id = resource_id -class SecurityConfigurationListResult(msrest.serialization.Model): - """A list of network manager security configurations. +class StaticMemberListResult(msrest.serialization.Model): + """Result of the request to list StaticMember. It contains a list of groups and a URL link to get the next set of results. - :param value: Gets a page of security configurations. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration] - :param next_link: Gets the URL to get the next page of results. - :type next_link: str + :ivar value: Gets a page of StaticMember. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.StaticMember] + :ivar next_link: Gets the URL to get the next set of results. + :vartype next_link: str """ _attribute_map = { - 'value': {'key': 'value', 'type': '[SecurityConfiguration]'}, + 'value': {'key': 'value', 'type': '[StaticMember]'}, 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( self, *, - value: Optional[List["SecurityConfiguration"]] = None, + value: Optional[List["StaticMember"]] = None, next_link: Optional[str] = None, **kwargs ): - super(SecurityConfigurationListResult, self).__init__(**kwargs) + """ + :keyword value: Gets a page of StaticMember. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.StaticMember] + :keyword next_link: Gets the URL to get the next set of results. + :paramtype next_link: str + """ + super(StaticMemberListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link @@ -3088,33 +3915,30 @@ def __init__( 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.mgmt.network.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 + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.network.v2021_05_01_preview.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar 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.network.v2021_02_01_preview.models.CreatedByType - :param last_modified_at: The type of identity that last modified the resource. - :type last_modified_at: ~datetime.datetime + :vartype last_modified_by_type: str or + ~azure.mgmt.network.v2021_05_01_preview.models.CreatedByType + :ivar last_modified_at: The type of identity that last modified the resource. + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { 'created_by': {'key': 'createdBy', 'type': 'str'}, 'created_by_type': {'key': 'createdByType', 'type': 'str'}, - # TODO: Datetime Issue will be fixed later - # 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, - 'created_at': {'key': 'createdAt', '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'}, - 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, } def __init__( @@ -3128,6 +3952,23 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or ~azure.mgmt.network.v2021_05_01_preview.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~azure.mgmt.network.v2021_05_01_preview.models.CreatedByType + :keyword last_modified_at: The type of identity that last modified the resource. + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type @@ -3137,27 +3978,6 @@ def __init__( self.last_modified_at = last_modified_at -class TagsObject(msrest.serialization.Model): - """Tags object 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(TagsObject, self).__init__(**kwargs) - self.tags = tags - - class UserRule(BaseUserRule): """Network security user rule. @@ -3173,35 +3993,35 @@ class UserRule(BaseUserRule): :vartype type: str :ivar etag: A unique read-only string that changes whenever the resource is updated. :vartype etag: str - :param kind: Required. Whether the rule is custom or default.Constant filled by server. - Possible values include: "Custom", "Default". - :type kind: str or ~azure.mgmt.network.v2021_02_01_preview.models.UserRuleKind + :ivar kind: Required. Whether the rule is custom or default.Constant filled by server. Possible + values include: "Custom", "Default". + :vartype kind: str or ~azure.mgmt.network.v2021_05_01_preview.models.UserRuleKind :ivar system_data: The system metadata related to this resource. - :vartype system_data: ~azure.mgmt.network.v2021_02_01_preview.models.SystemData - :param display_name: A friendly name for the rule. - :type display_name: str - :param description: A description for this rule. - :type description: str - :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", + :vartype system_data: ~azure.mgmt.network.v2021_05_01_preview.models.SystemData + :ivar display_name: A friendly name for the rule. + :vartype display_name: str + :ivar description: A description for this rule. + :vartype description: str + :ivar protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", "Icmp", "Esp", "Any", "Ah". - :type protocol: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleProtocol - :param sources: The CIDR or source IP ranges. - :type sources: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param destinations: The destination address prefixes. CIDR or destination IP ranges. - :type destinations: list[~azure.mgmt.network.v2021_02_01_preview.models.AddressPrefixItem] - :param source_port_ranges: The source port ranges. - :type source_port_ranges: list[str] - :param destination_port_ranges: The destination port ranges. - :type destination_port_ranges: list[str] - :param direction: Indicates if the traffic matched against the rule in inbound or outbound. + :vartype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :ivar sources: The CIDR or source IP ranges. + :vartype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar destinations: The destination address prefixes. CIDR or destination IP ranges. + :vartype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :ivar source_port_ranges: The source port ranges. + :vartype source_port_ranges: list[str] + :ivar destination_port_ranges: The destination port ranges. + :vartype destination_port_ranges: list[str] + :ivar direction: Indicates if the traffic matched against the rule in inbound or outbound. Possible values include: "Inbound", "Outbound". - :type direction: str or - ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationRuleDirection + :vartype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection :ivar provisioning_state: The provisioning state of the security configuration user rule resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.network.v2021_02_01_preview.models.ProvisioningState + ~azure.mgmt.network.v2021_05_01_preview.models.ProvisioningState """ _validation = { @@ -3245,6 +4065,28 @@ def __init__( direction: Optional[Union[str, "SecurityConfigurationRuleDirection"]] = None, **kwargs ): + """ + :keyword display_name: A friendly name for the rule. + :paramtype display_name: str + :keyword description: A description for this rule. + :paramtype description: str + :keyword protocol: Network protocol this rule applies to. Possible values include: "Tcp", + "Udp", "Icmp", "Esp", "Any", "Ah". + :paramtype protocol: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleProtocol + :keyword sources: The CIDR or source IP ranges. + :paramtype sources: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword destinations: The destination address prefixes. CIDR or destination IP ranges. + :paramtype destinations: list[~azure.mgmt.network.v2021_05_01_preview.models.AddressPrefixItem] + :keyword source_port_ranges: The source port ranges. + :paramtype source_port_ranges: list[str] + :keyword destination_port_ranges: The destination port ranges. + :paramtype destination_port_ranges: list[str] + :keyword direction: Indicates if the traffic matched against the rule in inbound or outbound. + Possible values include: "Inbound", "Outbound". + :paramtype direction: str or + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationRuleDirection + """ super(UserRule, self).__init__(**kwargs) self.kind = 'Custom' # type: str self.display_name = display_name @@ -3261,10 +4103,10 @@ def __init__( class UserRuleListResult(msrest.serialization.Model): """security user rule list result. - :param value: A list of user rules. - :type value: list[~azure.mgmt.network.v2021_02_01_preview.models.BaseUserRule] - :param next_link: The URL to get the next set of results. - :type next_link: str + :ivar value: A list of user rules. + :vartype value: list[~azure.mgmt.network.v2021_05_01_preview.models.BaseUserRule] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str """ _attribute_map = { @@ -3279,6 +4121,12 @@ def __init__( next_link: Optional[str] = None, **kwargs ): + """ + :keyword value: A list of user rules. + :paramtype value: list[~azure.mgmt.network.v2021_05_01_preview.models.BaseUserRule] + :keyword next_link: The URL to get the next set of results. + :paramtype next_link: str + """ super(UserRuleListResult, self).__init__(**kwargs) self.value = value self.next_link = next_link diff --git a/src/network-manager/azext_network_manager/vendored_sdks/models/_network_management_client_enums.py b/src/network-manager/azext_network_manager/vendored_sdks/models/_network_management_client_enums.py index b0161e3803d..4dcccb946d0 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/models/_network_management_client_enums.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/models/_network_management_client_enums.py @@ -6,41 +6,26 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -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 AddressPrefixType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class AddressPrefixType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Address prefix type. """ IP_PREFIX = "IPPrefix" SERVICE_TAG = "ServiceTag" -class AdminRuleKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class AdminRuleKind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Whether the rule is custom or default. """ CUSTOM = "Custom" DEFAULT = "Default" -class ConfigurationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ConfigurationType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Configuration Deployment Type. """ @@ -48,14 +33,14 @@ class ConfigurationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): SECURITY_USER = "SecurityUser" CONNECTIVITY = "Connectivity" -class ConnectivityTopology(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ConnectivityTopology(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Connectivity topology type. """ HUB_AND_SPOKE = "HubAndSpoke" MESH = "Mesh" -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -64,21 +49,21 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class DeleteExistingNSGs(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DeleteExistingNSGs(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Flag if need to delete existing network security groups. """ FALSE = "False" TRUE = "True" -class DeleteExistingPeering(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DeleteExistingPeering(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Flag if need to remove current existing peerings. """ FALSE = "False" TRUE = "True" -class DeploymentStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DeploymentStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Deployment Status. """ @@ -87,42 +72,49 @@ class DeploymentStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): DEPLOYED = "Deployed" FAILED = "Failed" -class EffectiveAdminRuleKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class EffectiveAdminRuleKind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Whether the rule is custom or default. """ CUSTOM = "Custom" DEFAULT = "Default" -class EffectiveUserRuleKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class EffectiveUserRuleKind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Whether the rule is custom or default. """ CUSTOM = "Custom" DEFAULT = "Default" -class GroupConnectivity(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class GroupConnectivity(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Group connectivity type. """ NONE = "None" DIRECTLY_CONNECTED = "DirectlyConnected" -class IsGlobal(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class IsGlobal(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Flag if global mesh is supported. """ FALSE = "False" TRUE = "True" -class MembershipType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MembershipType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Membership Type. """ STATIC = "Static" DYNAMIC = "Dynamic" -class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class NetworkIntentPolicyBasedService(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Network intent policy based services. + """ + + NONE = "None" + ALL = "All" + +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The current provisioning state. """ @@ -131,7 +123,17 @@ class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): DELETING = "Deleting" FAILED = "Failed" -class SecurityConfigurationRuleAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ScopeConnectionState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The current scope connection state. + """ + + CONNECTED = "Connected" + PENDING = "Pending" + CONFLICT = "Conflict" + REVOKED = "Revoked" + REJECTED = "Rejected" + +class SecurityConfigurationRuleAccess(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Whether network traffic is allowed or denied. """ @@ -139,7 +141,7 @@ class SecurityConfigurationRuleAccess(with_metaclass(_CaseInsensitiveEnumMeta, s DENY = "Deny" ALWAYS_ALLOW = "AlwaysAllow" -class SecurityConfigurationRuleDirection(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SecurityConfigurationRuleDirection(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The direction of the rule. The direction specifies if the rule will be evaluated on incoming or outgoing traffic. """ @@ -147,7 +149,7 @@ class SecurityConfigurationRuleDirection(with_metaclass(_CaseInsensitiveEnumMeta INBOUND = "Inbound" OUTBOUND = "Outbound" -class SecurityConfigurationRuleProtocol(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SecurityConfigurationRuleProtocol(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Network protocol this rule applies to. """ @@ -158,21 +160,21 @@ class SecurityConfigurationRuleProtocol(with_metaclass(_CaseInsensitiveEnumMeta, ANY = "Any" AH = "Ah" -class SecurityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SecurityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Security Type. """ ADMIN_POLICY = "AdminPolicy" USER_POLICY = "UserPolicy" -class UseHubGateway(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class UseHubGateway(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Flag if need to use hub gateway. """ FALSE = "False" TRUE = "True" -class UserRuleKind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class UserRuleKind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Whether the rule is custom or default. """ diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/__init__.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/__init__.py index e3ab4d13aca..4a8edd7c584 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/__init__.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/__init__.py @@ -10,40 +10,38 @@ from ._network_manager_commits_operations import NetworkManagerCommitsOperations from ._network_manager_deployment_status_operations import NetworkManagerDeploymentStatusOperations from ._effective_virtual_networks_operations import EffectiveVirtualNetworksOperations -from ._active_connectivity_configurations_operations import ActiveConnectivityConfigurationsOperations -from ._active_security_admin_rules_operations import ActiveSecurityAdminRulesOperations -from ._active_security_user_rules_operations import ActiveSecurityUserRulesOperations +from ._network_management_client_operations import NetworkManagementClientOperationsMixin from ._connectivity_configurations_operations import ConnectivityConfigurationsOperations -from ._effective_connectivity_configurations_operations import EffectiveConnectivityConfigurationsOperations -from ._network_manager_effective_security_admin_rules_operations import NetworkManagerEffectiveSecurityAdminRulesOperations from ._network_groups_operations import NetworkGroupsOperations +from ._list_effective_virtual_networks_operations import ListEffectiveVirtualNetworksOperations +from ._static_members_operations import StaticMembersOperations from ._security_user_configurations_operations import SecurityUserConfigurationsOperations from ._user_rule_collections_operations import UserRuleCollectionsOperations from ._user_rules_operations import UserRulesOperations from ._security_admin_configurations_operations import SecurityAdminConfigurationsOperations from ._admin_rule_collections_operations import AdminRuleCollectionsOperations from ._admin_rules_operations import AdminRulesOperations -from ._network_security_perimeters_operations import NetworkSecurityPerimetersOperations -from ._perimeter_associable_resource_types_operations import PerimeterAssociableResourceTypesOperations +from ._subscription_network_manager_connections_operations import SubscriptionNetworkManagerConnectionsOperations +from ._management_group_network_manager_connections_operations import ManagementGroupNetworkManagerConnectionsOperations +from ._scope_connections_operations import ScopeConnectionsOperations __all__ = [ 'NetworkManagersOperations', 'NetworkManagerCommitsOperations', 'NetworkManagerDeploymentStatusOperations', 'EffectiveVirtualNetworksOperations', - 'ActiveConnectivityConfigurationsOperations', - 'ActiveSecurityAdminRulesOperations', - 'ActiveSecurityUserRulesOperations', + 'NetworkManagementClientOperationsMixin', 'ConnectivityConfigurationsOperations', - 'EffectiveConnectivityConfigurationsOperations', - 'NetworkManagerEffectiveSecurityAdminRulesOperations', 'NetworkGroupsOperations', + 'ListEffectiveVirtualNetworksOperations', + 'StaticMembersOperations', 'SecurityUserConfigurationsOperations', 'UserRuleCollectionsOperations', 'UserRulesOperations', 'SecurityAdminConfigurationsOperations', 'AdminRuleCollectionsOperations', 'AdminRulesOperations', - 'NetworkSecurityPerimetersOperations', - 'PerimeterAssociableResourceTypesOperations', + 'SubscriptionNetworkManagerConnectionsOperations', + 'ManagementGroupNetworkManagerConnectionsOperations', + 'ScopeConnectionsOperations', ] diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_active_connectivity_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_active_connectivity_configurations_operations.py deleted file mode 100644 index b3cccd8ae21..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_active_connectivity_configurations_operations.py +++ /dev/null @@ -1,112 +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 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 as _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 ActiveConnectivityConfigurationsOperations(object): - """ActiveConnectivityConfigurationsOperations 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.network.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. - """ - - 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 - network_manager_name, # type: str - parameters, # type: "_models.ActiveConfigurationParameter" - **kwargs # type: Any - ): - # type: (...) -> "_models.ActiveConnectivityConfigurationsListResult" - """Lists active connectivity configurations in a network manager. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_manager_name: The name of the network manager. - :type network_manager_name: str - :param parameters: Active Configuration Parameter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveConfigurationParameter - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ActiveConnectivityConfigurationsListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveConnectivityConfigurationsListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveConnectivityConfigurationsListResult"] - 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.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'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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(parameters, 'ActiveConfigurationParameter') - 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('ActiveConnectivityConfigurationsListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveConnectivityConfigurations'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_active_security_admin_rules_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_active_security_admin_rules_operations.py deleted file mode 100644 index cfc78b9b64f..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_active_security_admin_rules_operations.py +++ /dev/null @@ -1,112 +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 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 as _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 ActiveSecurityAdminRulesOperations(object): - """ActiveSecurityAdminRulesOperations 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.network.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. - """ - - 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 - network_manager_name, # type: str - parameters, # type: "_models.ActiveConfigurationParameter" - **kwargs # type: Any - ): - # type: (...) -> "_models.ActiveSecurityAdminRulesListResult" - """Lists active security admin rules in a network manager. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_manager_name: The name of the network manager. - :type network_manager_name: str - :param parameters: Active Configuration Parameter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveConfigurationParameter - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ActiveSecurityAdminRulesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ActiveSecurityAdminRulesListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveSecurityAdminRulesListResult"] - 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.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'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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(parameters, 'ActiveConfigurationParameter') - 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('ActiveSecurityAdminRulesListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityAdminRules'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_admin_rule_collections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_admin_rule_collections_operations.py index 752c53b39f4..ee7f02abd7c 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_admin_rule_collections_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_admin_rule_collections_operations.py @@ -5,23 +5,203 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + *, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + if recursive is not None: + query_parameters['recursive'] = _SERIALIZER.query("recursive", recursive, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class AdminRuleCollectionsOperations(object): """AdminRuleCollectionsOperations operations. @@ -30,7 +210,7 @@ class AdminRuleCollectionsOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,23 +225,23 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RuleCollectionListResult"] + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RuleCollectionListResult"]: """Lists all the rule collections in a security admin configuration, in a paginated format. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param top: An optional query parameter which specifies the maximum number of records to be returned by the server. @@ -71,8 +251,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 RuleCollectionListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.RuleCollectionListResult] + :return: An iterator like instance of either RuleCollectionListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.RuleCollectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollectionListResult"] @@ -80,41 +262,39 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RuleCollectionListResult', pipeline_response) + deserialized = self._deserialize("RuleCollectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -132,34 +312,35 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.RuleCollection" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + **kwargs: Any + ) -> "_models.RuleCollection": """Gets a network manager security admin configuration rule collection. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: RuleCollection, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollection"] @@ -167,29 +348,19 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -203,34 +374,36 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - rule_collection, # type: "_models.RuleCollection" - **kwargs # type: Any - ): - # type: (...) -> "_models.RuleCollection" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_collection: "_models.RuleCollection", + **kwargs: Any + ) -> "_models.RuleCollection": """Creates or updates an admin rule collection. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :param rule_collection: The Rule Collection to create or update. - :type rule_collection: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :type rule_collection: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :keyword callable cls: A custom type or function that will be passed the direct response :return: RuleCollection, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollection"] @@ -238,34 +411,24 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(rule_collection, 'RuleCollection') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(rule_collection, 'RuleCollection') - 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 @@ -283,28 +446,40 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes an admin rule collection. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -315,29 +490,21 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -349,3 +516,4 @@ def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_admin_rules_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_admin_rules_operations.py index a0d26b49613..cc6273117d4 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_admin_rules_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_admin_rules_operations.py @@ -5,23 +5,208 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + *, + force: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class AdminRulesOperations(object): """AdminRulesOperations operations. @@ -30,7 +215,7 @@ class AdminRulesOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,24 +230,24 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.AdminRuleListResult"] + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.AdminRuleListResult"]: """List all network manager security configuration admin rules. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -76,7 +261,8 @@ def list( :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 AdminRuleListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.AdminRuleListResult] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.AdminRuleListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.AdminRuleListResult"] @@ -84,42 +270,41 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('AdminRuleListResult', pipeline_response) + deserialized = self._deserialize("AdminRuleListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -137,28 +322,29 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - rule_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.BaseAdminRule" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + **kwargs: Any + ) -> "_models.BaseAdminRule": """Gets a network manager security configuration admin rule. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -167,7 +353,7 @@ def get( :type rule_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: BaseAdminRule, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.BaseAdminRule + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.BaseAdminRule :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BaseAdminRule"] @@ -175,30 +361,20 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -212,26 +388,28 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - rule_name, # type: str - admin_rule, # type: "_models.BaseAdminRule" - **kwargs # type: Any - ): - # type: (...) -> "_models.BaseAdminRule" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + admin_rule: "_models.BaseAdminRule", + **kwargs: Any + ) -> "_models.BaseAdminRule": """Creates or updates an admin rule. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -239,10 +417,10 @@ def create_or_update( :param rule_name: The name of the rule. :type rule_name: str :param admin_rule: The admin rule to create or update. - :type admin_rule: ~azure.mgmt.network.v2021_02_01_preview.models.BaseAdminRule + :type admin_rule: ~azure.mgmt.network.v2021_05_01_preview.models.BaseAdminRule :keyword callable cls: A custom type or function that will be passed the direct response :return: BaseAdminRule, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.BaseAdminRule + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.BaseAdminRule :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BaseAdminRule"] @@ -250,35 +428,25 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(admin_rule, 'BaseAdminRule') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(admin_rule, 'BaseAdminRule') - 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 @@ -296,31 +464,38 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - rule_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + force: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes an admin rule. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :param rule_name: The name of the rule. :type rule_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: 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 @@ -331,30 +506,21 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + force=force, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -366,3 +532,4 @@ def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_connectivity_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_connectivity_configurations_operations.py index 64f3fec527a..8d6e2fa40d4 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_connectivity_configurations_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_connectivity_configurations_operations.py @@ -5,23 +5,192 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + *, + force: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class ConnectivityConfigurationsOperations(object): """ConnectivityConfigurationsOperations operations. @@ -30,7 +199,7 @@ class ConnectivityConfigurationsOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,14 +214,14 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ConnectivityConfiguration" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + **kwargs: Any + ) -> "_models.ConnectivityConfiguration": """Gets a Network Connectivity Configuration, specified by the resource group, network manager name, and connectivity Configuration name. @@ -64,7 +233,7 @@ def get( :type configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ConnectivityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ConnectivityConfiguration"] @@ -72,28 +241,18 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -107,17 +266,19 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - connectivity_configuration, # type: "_models.ConnectivityConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.ConnectivityConfiguration" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + connectivity_configuration: "_models.ConnectivityConfiguration", + **kwargs: Any + ) -> "_models.ConnectivityConfiguration": """Creates/Updates a new network manager connectivity configuration. :param resource_group_name: The name of the resource group. @@ -128,10 +289,11 @@ def create_or_update( :type configuration_name: str :param connectivity_configuration: Parameters supplied to create/update a network manager connectivity configuration. - :type connectivity_configuration: ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfiguration + :type connectivity_configuration: + ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: ConnectivityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ConnectivityConfiguration"] @@ -139,33 +301,23 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(connectivity_configuration, 'ConnectivityConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(connectivity_configuration, 'ConnectivityConfiguration') - 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 @@ -183,16 +335,19 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + force: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes a network manager connectivity configuration, specified by the resource group, network manager name, and connectivity configuration name. @@ -202,6 +357,10 @@ def delete( :type network_manager_name: str :param configuration_name: The name of the network manager connectivity configuration. :type configuration_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: 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 @@ -212,28 +371,19 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + force=force, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -246,15 +396,16 @@ def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}'} # type: ignore + + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ConnectivityConfigurationListResult"] + resource_group_name: str, + network_manager_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.ConnectivityConfigurationListResult"]: """Lists all the network manager connectivity configuration in a specified network manager. :param resource_group_name: The name of the resource group. @@ -269,8 +420,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 ConnectivityConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.ConnectivityConfigurationListResult] + :return: An iterator like instance of either ConnectivityConfigurationListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.ConnectivityConfigurationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ConnectivityConfigurationListResult"] @@ -278,40 +431,37 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ConnectivityConfigurationListResult', pipeline_response) + deserialized = self._deserialize("ConnectivityConfigurationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -329,6 +479,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_effective_connectivity_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_effective_connectivity_configurations_operations.py deleted file mode 100644 index df94773153e..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_effective_connectivity_configurations_operations.py +++ /dev/null @@ -1,112 +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 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 as _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 EffectiveConnectivityConfigurationsOperations(object): - """EffectiveConnectivityConfigurationsOperations 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.network.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. - """ - - 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 - virtual_network_name, # type: str - parameters, # type: "_models.QueryRequestOptions" - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkManagerEffectiveConnectivityConfigurationListResult" - """List all effective connectivity configurations applied on a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param parameters: Parameters supplied to list correct page. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.QueryRequestOptions - :keyword callable cls: A custom type or function that will be passed the direct response - :return: NetworkManagerEffectiveConnectivityConfigurationListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerEffectiveConnectivityConfigurationListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerEffectiveConnectivityConfigurationListResult"] - 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.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'), - '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] - body_content = self._serialize.body(parameters, 'QueryRequestOptions') - 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('NetworkManagerEffectiveConnectivityConfigurationListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveConnectivityConfigurations'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_effective_virtual_networks_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_effective_virtual_networks_operations.py index 6d438d76538..bc9453ca407 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_effective_virtual_networks_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_effective_virtual_networks_operations.py @@ -5,22 +5,75 @@ # 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 functools +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 HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_network_manager_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + json: JSONType = None, + content: Any = None, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listEffectiveVirtualNetworks') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, '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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) class EffectiveVirtualNetworksOperations(object): """EffectiveVirtualNetworksOperations operations. @@ -29,7 +82,7 @@ class EffectiveVirtualNetworksOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,16 +97,16 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_by_network_manager( self, - resource_group_name, # type: str - network_manager_name, # type: str - parameters, # type: "_models.EffectiveVirtualNetworksParameter" - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "_models.EffectiveVirtualNetworksListResult" + resource_group_name: str, + network_manager_name: str, + parameters: "_models.EffectiveVirtualNetworksParameter", + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> "_models.EffectiveVirtualNetworksListResult": """List effective virtual networks in a network manager. :param resource_group_name: The name of the resource group. @@ -61,7 +114,8 @@ def list_by_network_manager( :param network_manager_name: The name of the network manager. :type network_manager_name: str :param parameters: Effective Virtual Networks Parameter. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveVirtualNetworksParameter + :type parameters: + ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveVirtualNetworksParameter :param top: An optional query parameter which specifies the maximum number of records to be returned by the server. :type top: int @@ -71,7 +125,7 @@ def list_by_network_manager( :type skip_token: str :keyword callable cls: A custom type or function that will be passed the direct response :return: EffectiveVirtualNetworksListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveVirtualNetworksListResult + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveVirtualNetworksListResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.EffectiveVirtualNetworksListResult"] @@ -79,107 +133,24 @@ def list_by_network_manager( 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.list_by_network_manager.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - if skip_token is not None: - query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, '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(parameters, 'EffectiveVirtualNetworksParameter') - 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('EffectiveVirtualNetworksListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_by_network_manager.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listEffectiveVirtualNetworks'} # type: ignore - - def list_by_network_group( - self, - resource_group_name, # type: str - network_manager_name, # type: str - network_group_name, # type: str - parameters, # type: "_models.QueryRequestOptions" - **kwargs # type: Any - ): - # type: (...) -> "_models.EffectiveVirtualNetworksListResult" - """Lists all effective virtual networks by specified network group. - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param network_manager_name: The name of the network manager. - :type network_manager_name: str - :param network_group_name: The name of the network group to get. - :type network_group_name: str - :param parameters: Parameters supplied to list correct page. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.QueryRequestOptions - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EffectiveVirtualNetworksListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.EffectiveVirtualNetworksListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.EffectiveVirtualNetworksListResult"] - 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.list_by_network_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'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'networkGroupName': self._serialize.url("network_group_name", network_group_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + _json = self._serialize.body(parameters, 'EffectiveVirtualNetworksParameter') - # 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') + request = build_list_by_network_manager_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + top=top, + skip_token=skip_token, + template_url=self.list_by_network_manager.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'QueryRequestOptions') - 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 @@ -193,4 +164,6 @@ def list_by_network_group( return cls(pipeline_response, deserialized, {}) return deserialized - list_by_network_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/listEffectiveVirtualNetworks'} # type: ignore + + list_by_network_manager.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listEffectiveVirtualNetworks'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_list_effective_virtual_networks_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_list_effective_virtual_networks_operations.py new file mode 100644 index 00000000000..317a35db749 --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_list_effective_virtual_networks_operations.py @@ -0,0 +1,157 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_by_network_group_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/listEffectiveVirtualNetworks') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "networkGroupName": _SERIALIZER.url("network_group_name", network_group_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + +class ListEffectiveVirtualNetworksOperations(object): + """ListEffectiveVirtualNetworksOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def by_network_group( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + parameters: "_models.QueryRequestOptions", + **kwargs: Any + ) -> "_models.EffectiveVirtualNetworksListResult": + """Lists all effective virtual networks by specified network group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param parameters: Parameters supplied to list correct page. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.QueryRequestOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EffectiveVirtualNetworksListResult, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.EffectiveVirtualNetworksListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.EffectiveVirtualNetworksListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'QueryRequestOptions') + + request = build_by_network_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + content_type=content_type, + json=_json, + template_url=self.by_network_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('EffectiveVirtualNetworksListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + by_network_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/listEffectiveVirtualNetworks'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_management_group_network_manager_connections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_management_group_network_manager_connections_operations.py new file mode 100644 index 00000000000..9709ef84700 --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_management_group_network_manager_connections_operations.py @@ -0,0 +1,438 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_or_update_request( + management_group_id: str, + network_manager_connection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}') + path_format_arguments = { + "managementGroupId": _SERIALIZER.url("management_group_id", management_group_id, 'str'), + "networkManagerConnectionName": _SERIALIZER.url("network_manager_connection_name", network_manager_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + management_group_id: str, + network_manager_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}') + path_format_arguments = { + "managementGroupId": _SERIALIZER.url("management_group_id", management_group_id, 'str'), + "networkManagerConnectionName": _SERIALIZER.url("network_manager_connection_name", network_manager_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + management_group_id: str, + network_manager_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}') + path_format_arguments = { + "managementGroupId": _SERIALIZER.url("management_group_id", management_group_id, 'str'), + "networkManagerConnectionName": _SERIALIZER.url("network_manager_connection_name", network_manager_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + management_group_id: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections') + path_format_arguments = { + "managementGroupId": _SERIALIZER.url("management_group_id", management_group_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ManagementGroupNetworkManagerConnectionsOperations(object): + """ManagementGroupNetworkManagerConnectionsOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def create_or_update( + self, + management_group_id: str, + network_manager_connection_name: str, + parameters: "_models.NetworkManagerConnection", + **kwargs: Any + ) -> "_models.NetworkManagerConnection": + """Create a connection to a cross tenant network manager. + + :param management_group_id: The management group Id which uniquely identify the Microsoft Azure + management group. + :type management_group_id: str + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_connection_name: str + :param parameters: Network manager connection to be created/updated. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'NetworkManagerConnection') + + request = build_create_or_update_request( + management_group_id=management_group_id, + network_manager_connection_name=network_manager_connection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('NetworkManagerConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace + def get( + self, + management_group_id: str, + network_manager_connection_name: str, + **kwargs: Any + ) -> "_models.NetworkManagerConnection": + """Get a specified connection created by this management group. + + :param management_group_id: The management group Id which uniquely identify the Microsoft Azure + management group. + :type management_group_id: str + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + management_group_id=management_group_id, + network_manager_connection_name=network_manager_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace + def delete( + self, + management_group_id: str, + network_manager_connection_name: str, + **kwargs: Any + ) -> None: + """Delete specified pending connection created by this management group. + + :param management_group_id: The management group Id which uniquely identify the Microsoft Azure + management group. + :type management_group_id: str + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_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', {})) + + + request = build_delete_request( + management_group_id=management_group_id, + network_manager_connection_name=network_manager_connection_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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': '/providers/Microsoft.Network/managementGroups/{managementGroupId}/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace + def list( + self, + management_group_id: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.NetworkManagerConnectionListResult"]: + """List all network manager connections created by this management group. + + :param management_group_id: The management group Id which uniquely identify the Microsoft Azure + management group. + :type management_group_id: str + :param top: An optional query parameter which specifies the maximum number of records to be + returned by the server. + :type top: int + :param skip_token: SkipToken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skipToken parameter that specifies a starting point to use for subsequent calls. + :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 NetworkManagerConnectionListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + management_group_id=management_group_id, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + management_group_id=management_group_id, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("NetworkManagerConnectionListResult", 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.Network/managementGroups/{managementGroupId}/networkManagerConnections'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_groups_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_groups_operations.py index 7a079d7d3a6..3a323e3ba2c 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_groups_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_groups_operations.py @@ -5,23 +5,195 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "networkGroupName": _SERIALIZER.url("network_group_name", network_group_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + *, + json: JSONType = None, + content: Any = None, + if_match: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "networkGroupName": _SERIALIZER.url("network_group_name", network_group_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = _SERIALIZER.header("if_match", if_match, 'str') + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + *, + force: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "networkGroupName": _SERIALIZER.url("network_group_name", network_group_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class NetworkGroupsOperations(object): """NetworkGroupsOperations operations. @@ -30,7 +202,7 @@ class NetworkGroupsOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,25 +217,25 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - network_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkGroup" + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + **kwargs: Any + ) -> "_models.NetworkGroup": """Gets the specified network group. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param network_group_name: The name of the network group to get. + :param network_group_name: The name of the network group. :type network_group_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkGroup, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroup + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroup :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkGroup"] @@ -71,28 +243,18 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'networkGroupName': self._serialize.url("network_group_name", network_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') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -106,35 +268,37 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - network_group_name, # type: str - parameters, # type: "_models.NetworkGroup" - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkGroup" + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + parameters: "_models.NetworkGroup", + if_match: Optional[str] = None, + **kwargs: Any + ) -> "_models.NetworkGroup": """Creates or updates a network group. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param network_group_name: The name of the network group to get. + :param network_group_name: The name of the network group. :type network_group_name: str :param parameters: Parameters supplied to the specify which network group need to create. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroup + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroup :param if_match: The ETag of the transformation. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes. :type if_match: str :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkGroup, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroup + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroup :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkGroup"] @@ -142,35 +306,24 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'networkGroupName': self._serialize.url("network_group_name", network_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') - - # 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(parameters, 'NetworkGroup') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'NetworkGroup') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + content_type=content_type, + json=_json, + if_match=if_match, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -181,34 +334,43 @@ def create_or_update( response_headers = {} if response.status_code == 200: response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('NetworkGroup', pipeline_response) if response.status_code == 201: response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('NetworkGroup', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - network_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + force: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes a network group. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param network_group_name: The name of the network group to get. + :param network_group_name: The name of the network group. :type network_group_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: 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 @@ -219,28 +381,19 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'networkGroupName': self._serialize.url("network_group_name", network_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') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + force=force, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -253,15 +406,16 @@ def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}'} # type: ignore + + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.NetworkGroupListResult"] + resource_group_name: str, + network_manager_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.NetworkGroupListResult"]: """Lists the specified network group. :param resource_group_name: The name of the resource group. @@ -276,8 +430,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 NetworkGroupListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkGroupListResult] + :return: An iterator like instance of either NetworkGroupListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkGroupListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkGroupListResult"] @@ -285,40 +441,37 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkGroupListResult', pipeline_response) + deserialized = self._deserialize("NetworkGroupListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -336,6 +489,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_management_client_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_management_client_operations.py new file mode 100644 index 00000000000..73cfe4ce742 --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_management_client_operations.py @@ -0,0 +1,547 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_active_connectivity_configurations_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveConnectivityConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_active_security_admin_rules_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityAdminRules') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_active_security_user_rules_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityUserRules') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_network_manager_effective_connectivity_configurations_request( + subscription_id: str, + resource_group_name: str, + virtual_network_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveConnectivityConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "virtualNetworkName": _SERIALIZER.url("virtual_network_name", virtual_network_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_network_manager_effective_security_admin_rules_request( + subscription_id: str, + resource_group_name: str, + virtual_network_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveSecurityAdminRules') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "virtualNetworkName": _SERIALIZER.url("virtual_network_name", virtual_network_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + +class NetworkManagementClientOperationsMixin(object): + + @distributed_trace + def list_active_connectivity_configurations( + self, + resource_group_name: str, + network_manager_name: str, + parameters: "_models.ActiveConfigurationParameter", + **kwargs: Any + ) -> "_models.ActiveConnectivityConfigurationsListResult": + """Lists active connectivity configurations in a network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param parameters: Active Configuration Parameter. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveConfigurationParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActiveConnectivityConfigurationsListResult, or the result of cls(response) + :rtype: + ~azure.mgmt.network.v2021_05_01_preview.models.ActiveConnectivityConfigurationsListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveConnectivityConfigurationsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ActiveConfigurationParameter') + + request = build_list_active_connectivity_configurations_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.list_active_connectivity_configurations.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ActiveConnectivityConfigurationsListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_active_connectivity_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveConnectivityConfigurations'} # type: ignore + + + @distributed_trace + def list_active_security_admin_rules( + self, + resource_group_name: str, + network_manager_name: str, + parameters: "_models.ActiveConfigurationParameter", + **kwargs: Any + ) -> "_models.ActiveSecurityAdminRulesListResult": + """Lists active security admin rules in a network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param parameters: Active Configuration Parameter. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveConfigurationParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActiveSecurityAdminRulesListResult, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveSecurityAdminRulesListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveSecurityAdminRulesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ActiveConfigurationParameter') + + request = build_list_active_security_admin_rules_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.list_active_security_admin_rules.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ActiveSecurityAdminRulesListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_active_security_admin_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityAdminRules'} # type: ignore + + + @distributed_trace + def list_active_security_user_rules( + self, + resource_group_name: str, + network_manager_name: str, + parameters: "_models.ActiveConfigurationParameter", + **kwargs: Any + ) -> "_models.ActiveSecurityUserRulesListResult": + """Lists Active Security User Rules in a network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param parameters: Active Configuration Parameter. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveConfigurationParameter + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActiveSecurityUserRulesListResult, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ActiveSecurityUserRulesListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ActiveSecurityUserRulesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ActiveConfigurationParameter') + + request = build_list_active_security_user_rules_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.list_active_security_user_rules.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ActiveSecurityUserRulesListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_active_security_user_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityUserRules'} # type: ignore + + + @distributed_trace + def list_network_manager_effective_connectivity_configurations( + self, + resource_group_name: str, + virtual_network_name: str, + parameters: "_models.QueryRequestOptions", + **kwargs: Any + ) -> "_models.NetworkManagerEffectiveConnectivityConfigurationListResult": + """List all effective connectivity configurations applied on a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param parameters: Parameters supplied to list correct page. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.QueryRequestOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerEffectiveConnectivityConfigurationListResult, or the result of + cls(response) + :rtype: + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerEffectiveConnectivityConfigurationListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerEffectiveConnectivityConfigurationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'QueryRequestOptions') + + request = build_list_network_manager_effective_connectivity_configurations_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + content_type=content_type, + json=_json, + template_url=self.list_network_manager_effective_connectivity_configurations.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerEffectiveConnectivityConfigurationListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_network_manager_effective_connectivity_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveConnectivityConfigurations'} # type: ignore + + + @distributed_trace + def list_network_manager_effective_security_admin_rules( + self, + resource_group_name: str, + virtual_network_name: str, + parameters: "_models.QueryRequestOptions", + **kwargs: Any + ) -> "_models.NetworkManagerEffectiveSecurityAdminRulesListResult": + """List all effective security admin rules applied on a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param parameters: Parameters supplied to list correct page. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.QueryRequestOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerEffectiveSecurityAdminRulesListResult, or the result of cls(response) + :rtype: + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerEffectiveSecurityAdminRulesListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerEffectiveSecurityAdminRulesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'QueryRequestOptions') + + request = build_list_network_manager_effective_security_admin_rules_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + content_type=content_type, + json=_json, + template_url=self.list_network_manager_effective_security_admin_rules.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerEffectiveSecurityAdminRulesListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_network_manager_effective_security_admin_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveSecurityAdminRules'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_commits_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_commits_operations.py index 1c68982adfe..d2b4025f251 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_commits_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_commits_operations.py @@ -5,22 +5,69 @@ # 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 functools +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 HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_post_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/commit') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) class NetworkManagerCommitsOperations(object): """NetworkManagerCommitsOperations operations. @@ -29,7 +76,7 @@ class NetworkManagerCommitsOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,14 +91,14 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def post( self, - resource_group_name, # type: str - network_manager_name, # type: str - parameters, # type: "_models.NetworkManagerCommit" - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkManagerCommit" + resource_group_name: str, + network_manager_name: str, + parameters: "_models.NetworkManagerCommit", + **kwargs: Any + ) -> "_models.NetworkManagerCommit": """Post a Network Manager Commit. :param resource_group_name: The name of the resource group. @@ -59,10 +106,10 @@ def post( :param network_manager_name: The name of the network manager. :type network_manager_name: str :param parameters: Parameters supplied to specify which Managed Network commit is. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerCommit + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerCommit :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManagerCommit, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerCommit + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerCommit :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerCommit"] @@ -70,32 +117,22 @@ def post( 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.post.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'NetworkManagerCommit') + + request = build_post_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.post.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'NetworkManagerCommit') - 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 @@ -109,4 +146,6 @@ def post( return cls(pipeline_response, deserialized, {}) return deserialized + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/commit'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_deployment_status_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_deployment_status_operations.py index 76556a8b989..101d94ec1c6 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_deployment_status_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_deployment_status_operations.py @@ -5,22 +5,69 @@ # 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 functools +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 HttpRequest, HttpResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listDeploymentStatus') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) class NetworkManagerDeploymentStatusOperations(object): """NetworkManagerDeploymentStatusOperations operations. @@ -29,7 +76,7 @@ class NetworkManagerDeploymentStatusOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,14 +91,14 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - parameters, # type: "_models.NetworkManagerDeploymentStatusParameter" - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkManagerDeploymentStatusListResult" + resource_group_name: str, + network_manager_name: str, + parameters: "_models.NetworkManagerDeploymentStatusParameter", + **kwargs: Any + ) -> "_models.NetworkManagerDeploymentStatusListResult": """Post to List of Network Manager Deployment Status. :param resource_group_name: The name of the resource group. @@ -59,10 +106,11 @@ def list( :param network_manager_name: The name of the network manager. :type network_manager_name: str :param parameters: Parameters supplied to specify which Managed Network deployment status is. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerDeploymentStatusParameter + :type parameters: + ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerDeploymentStatusParameter :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManagerDeploymentStatusListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerDeploymentStatusListResult + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerDeploymentStatusListResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerDeploymentStatusListResult"] @@ -70,32 +118,22 @@ def list( 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.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'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'NetworkManagerDeploymentStatusParameter') + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'NetworkManagerDeploymentStatusParameter') - 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 @@ -109,4 +147,6 @@ def list( return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listDeploymentStatus'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_effective_security_admin_rules_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_effective_security_admin_rules_operations.py deleted file mode 100644 index 4305b69c894..00000000000 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_manager_effective_security_admin_rules_operations.py +++ /dev/null @@ -1,112 +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 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 as _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 NetworkManagerEffectiveSecurityAdminRulesOperations(object): - """NetworkManagerEffectiveSecurityAdminRulesOperations 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.network.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. - """ - - 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 - virtual_network_name, # type: str - parameters, # type: "_models.QueryRequestOptions" - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkManagerEffectiveSecurityAdminRulesListResult" - """List all effective security admin rules applied on a virtual network. - - :param resource_group_name: The name of the resource group. - :type resource_group_name: str - :param virtual_network_name: The name of the virtual network. - :type virtual_network_name: str - :param parameters: Parameters supplied to list correct page. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.QueryRequestOptions - :keyword callable cls: A custom type or function that will be passed the direct response - :return: NetworkManagerEffectiveSecurityAdminRulesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerEffectiveSecurityAdminRulesListResult - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerEffectiveSecurityAdminRulesListResult"] - 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.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'), - '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] - body_content = self._serialize.body(parameters, 'QueryRequestOptions') - 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('NetworkManagerEffectiveSecurityAdminRulesListResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveSecurityAdminRules'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_managers_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_managers_operations.py index 0174d552e5f..14309c3ffbe 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_managers_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_network_managers_operations.py @@ -5,23 +5,269 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + if recursive is not None: + query_parameters['recursive'] = _SERIALIZER.query("recursive", recursive, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_patch_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_by_subscription_request( + subscription_id: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagers') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class NetworkManagersOperations(object): """NetworkManagersOperations operations. @@ -30,7 +276,7 @@ class NetworkManagersOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,13 +291,13 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkManager" + resource_group_name: str, + network_manager_name: str, + **kwargs: Any + ) -> "_models.NetworkManager": """Gets the specified Network Manager. :param resource_group_name: The name of the resource group. @@ -60,7 +306,7 @@ def get( :type network_manager_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManager, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManager"] @@ -68,27 +314,17 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -102,16 +338,18 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - parameters, # type: "_models.NetworkManager" - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkManager" + resource_group_name: str, + network_manager_name: str, + parameters: "_models.NetworkManager", + **kwargs: Any + ) -> "_models.NetworkManager": """Creates or updates a Network Manager. :param resource_group_name: The name of the resource group. @@ -119,10 +357,10 @@ def create_or_update( :param network_manager_name: The name of the network manager. :type network_manager_name: str :param parameters: Parameters supplied to specify which network manager is. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManager, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManager"] @@ -130,32 +368,22 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'NetworkManager') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'NetworkManager') - 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 @@ -173,21 +401,33 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes a network manager. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -198,27 +438,19 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -231,25 +463,26 @@ def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore - def patch_tags( + + @distributed_trace + def patch( self, - resource_group_name, # type: str - network_manager_name, # type: str - parameters, # type: "_models.TagsObject" - **kwargs # type: Any - ): - # type: (...) -> "_models.NetworkManager" - """Patch a NetworkManager Tags. + resource_group_name: str, + network_manager_name: str, + parameters: "_models.PatchObject", + **kwargs: Any + ) -> "_models.NetworkManager": + """Patch NetworkManager. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param parameters: Parameters supplied to update network manager tags. - :type parameters: ~azure.mgmt.network.v2021_02_01_preview.models.TagsObject + :param parameters: Parameters supplied to specify which network manager is. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.PatchObject :keyword callable cls: A custom type or function that will be passed the direct response :return: NetworkManager, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.NetworkManager + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManager :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManager"] @@ -257,32 +490,22 @@ def patch_tags( 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.patch_tags.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'PatchObject') - # 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') + request = build_patch_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + content_type=content_type, + json=_json, + template_url=self.patch.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TagsObject') - 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 @@ -296,15 +519,17 @@ def patch_tags( return cls(pipeline_response, deserialized, {}) return deserialized - patch_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore + patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}'} # type: ignore + + + @distributed_trace def list_by_subscription( self, - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.NetworkManagerListResult"] + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.NetworkManagerListResult"]: """List all network managers in a subscription. :param top: An optional query parameter which specifies the maximum number of records to be @@ -315,8 +540,10 @@ def list_by_subscription( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 NetworkManagerListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerListResult] + :return: An iterator like instance of either NetworkManagerListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerListResult"] @@ -324,38 +551,33 @@ def list_by_subscription( 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'] # 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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + template_url=self.list_by_subscription.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkManagerListResult', pipeline_response) + deserialized = self._deserialize("NetworkManagerListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -373,19 +595,20 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagers'} # type: ignore + @distributed_trace def list( self, - resource_group_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.NetworkManagerListResult"] + resource_group_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.NetworkManagerListResult"]: """List network managers in a resource group. :param resource_group_name: The name of the resource group. @@ -398,8 +621,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 NetworkManagerListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.NetworkManagerListResult] + :return: An iterator like instance of either NetworkManagerListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerListResult"] @@ -407,39 +632,35 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - '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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('NetworkManagerListResult', pipeline_response) + deserialized = self._deserialize("NetworkManagerListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -457,6 +678,7 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_scope_connections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_scope_connections_operations.py new file mode 100644 index 00000000000..338fd1febc1 --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_scope_connections_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. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "scopeConnectionName": _SERIALIZER.url("scope_connection_name", scope_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "scopeConnectionName": _SERIALIZER.url("scope_connection_name", scope_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "scopeConnectionName": _SERIALIZER.url("scope_connection_name", scope_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ScopeConnectionsOperations(object): + """ScopeConnectionsOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + parameters: "_models.ScopeConnection", + **kwargs: Any + ) -> "_models.ScopeConnection": + """Creates or updates scope connection from Network Manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param scope_connection_name: Name for the cross-tenant connection. + :type scope_connection_name: str + :param parameters: Scope connection to be created/updated. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScopeConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScopeConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ScopeConnection') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ScopeConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ScopeConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + **kwargs: Any + ) -> "_models.ScopeConnection": + """Get specified scope connection created by this Network Manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param scope_connection_name: Name for the cross-tenant connection. + :type scope_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScopeConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScopeConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ScopeConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + network_manager_name: str, + scope_connection_name: str, + **kwargs: Any + ) -> None: + """Delete the pending scope connection created by this network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param scope_connection_name: Name for the cross-tenant connection. + :type scope_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + scope_connection_name=scope_connection_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + network_manager_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.ScopeConnectionListResult"]: + """List all scope connections created by this network manager. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param top: An optional query parameter which specifies the maximum number of records to be + returned by the server. + :type top: int + :param skip_token: SkipToken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skipToken parameter that specifies a starting point to use for subsequent calls. + :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 ScopeConnectionListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.ScopeConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScopeConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ScopeConnectionListResult", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_security_admin_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_security_admin_configurations_operations.py index ba11d9a55e7..d4bc47f1ac3 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_security_admin_configurations_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_security_admin_configurations_operations.py @@ -5,23 +5,195 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + *, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + if recursive is not None: + query_parameters['recursive'] = _SERIALIZER.query("recursive", recursive, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SecurityAdminConfigurationsOperations(object): """SecurityAdminConfigurationsOperations operations. @@ -30,7 +202,7 @@ class SecurityAdminConfigurationsOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,15 +217,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SecurityConfigurationListResult"] + resource_group_name: str, + network_manager_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.SecurityConfigurationListResult"]: """Lists all the network manager security admin configurations in a network manager, in a paginated format. @@ -69,8 +241,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 SecurityConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationListResult] + :return: An iterator like instance of either SecurityConfigurationListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfigurationListResult"] @@ -78,40 +252,37 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SecurityConfigurationListResult', pipeline_response) + deserialized = self._deserialize("SecurityConfigurationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -129,30 +300,31 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SecurityConfiguration" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + **kwargs: Any + ) -> "_models.SecurityConfiguration": """Retrieves a network manager security admin configuration. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SecurityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfiguration"] @@ -160,28 +332,18 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -195,30 +357,33 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - security_admin_configuration, # type: "_models.SecurityConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SecurityConfiguration" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + security_admin_configuration: "_models.SecurityConfiguration", + **kwargs: Any + ) -> "_models.SecurityConfiguration": """Creates or updates a network manager security admin configuration. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param security_admin_configuration: The security admin configuration to create or update. - :type security_admin_configuration: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :type security_admin_configuration: + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SecurityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfiguration"] @@ -226,33 +391,23 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(security_admin_configuration, 'SecurityConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(security_admin_configuration, 'SecurityConfiguration') - 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 @@ -270,24 +425,36 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes a network manager security admin configuration. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -298,28 +465,20 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -331,3 +490,4 @@ def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_security_user_configurations_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_security_user_configurations_operations.py index b3befcb62c6..afe0c319c4d 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_security_user_configurations_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_security_user_configurations_operations.py @@ -5,23 +5,195 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + *, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + if recursive is not None: + query_parameters['recursive'] = _SERIALIZER.query("recursive", recursive, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class SecurityUserConfigurationsOperations(object): """SecurityUserConfigurationsOperations operations. @@ -30,7 +202,7 @@ class SecurityUserConfigurationsOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,15 +217,15 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.SecurityConfigurationListResult"] + resource_group_name: str, + network_manager_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.SecurityConfigurationListResult"]: """Lists all the network manager security user configurations in a network manager, in a paginated format. @@ -69,8 +241,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 SecurityConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfigurationListResult] + :return: An iterator like instance of either SecurityConfigurationListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfigurationListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfigurationListResult"] @@ -78,40 +252,37 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('SecurityConfigurationListResult', pipeline_response) + deserialized = self._deserialize("SecurityConfigurationListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -129,30 +300,31 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.SecurityConfiguration" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + **kwargs: Any + ) -> "_models.SecurityConfiguration": """Retrieves a network manager security user configuration. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: SecurityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfiguration"] @@ -160,28 +332,18 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -195,30 +357,33 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - security_user_configuration, # type: "_models.SecurityConfiguration" - **kwargs # type: Any - ): - # type: (...) -> "_models.SecurityConfiguration" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + security_user_configuration: "_models.SecurityConfiguration", + **kwargs: Any + ) -> "_models.SecurityConfiguration": """Creates or updates a network manager security user configuration. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param security_user_configuration: The security user configuration to create or update. - :type security_user_configuration: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :type security_user_configuration: + ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: SecurityConfiguration, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.SecurityConfiguration + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.SecurityConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SecurityConfiguration"] @@ -226,33 +391,23 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(security_user_configuration, 'SecurityConfiguration') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(security_user_configuration, 'SecurityConfiguration') - 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 @@ -270,24 +425,36 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes a network manager security user configuration. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -298,28 +465,20 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -331,3 +490,4 @@ def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_static_members_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_static_members_operations.py new file mode 100644 index 00000000000..6f5d5f1f175 --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_static_members_operations.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. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "networkGroupName": _SERIALIZER.url("network_group_name", network_group_name, 'str'), + "staticMemberName": _SERIALIZER.url("static_member_name", static_member_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "networkGroupName": _SERIALIZER.url("network_group_name", network_group_name, 'str'), + "staticMemberName": _SERIALIZER.url("static_member_name", static_member_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "networkGroupName": _SERIALIZER.url("network_group_name", network_group_name, 'str'), + "staticMemberName": _SERIALIZER.url("static_member_name", static_member_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "networkGroupName": _SERIALIZER.url("network_group_name", network_group_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class StaticMembersOperations(object): + """StaticMembersOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def get( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + **kwargs: Any + ) -> "_models.StaticMember": + """Gets the specified static member. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param static_member_name: The name of the static member. + :type static_member_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StaticMember, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.StaticMember + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StaticMember"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StaticMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + parameters: "_models.StaticMember", + **kwargs: Any + ) -> "_models.StaticMember": + """Creates or updates a static member. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param static_member_name: The name of the static member. + :type static_member_name: str + :param parameters: Parameters supplied to the specify the static member to create. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.StaticMember + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StaticMember, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.StaticMember + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StaticMember"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'StaticMember') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StaticMember', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('StaticMember', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + static_member_name: str, + **kwargs: Any + ) -> None: + """Deletes a static member. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param static_member_name: The name of the static member. + :type static_member_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + static_member_name=static_member_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + network_manager_name: str, + network_group_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.StaticMemberListResult"]: + """Lists the specified static member. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_manager_name: The name of the network manager. + :type network_manager_name: str + :param network_group_name: The name of the network group. + :type network_group_name: str + :param top: An optional query parameter which specifies the maximum number of records to be + returned by the server. + :type top: int + :param skip_token: SkipToken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skipToken parameter that specifies a starting point to use for subsequent calls. + :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 StaticMemberListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.StaticMemberListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StaticMemberListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + network_group_name=network_group_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("StaticMemberListResult", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_subscription_network_manager_connections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_subscription_network_manager_connections_operations.py new file mode 100644 index 00000000000..f8375acc6b9 --- /dev/null +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_subscription_network_manager_connections_operations.py @@ -0,0 +1,422 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_or_update_request( + subscription_id: str, + network_manager_connection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "networkManagerConnectionName": _SERIALIZER.url("network_manager_connection_name", network_manager_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + network_manager_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "networkManagerConnectionName": _SERIALIZER.url("network_manager_connection_name", network_manager_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + network_manager_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "networkManagerConnectionName": _SERIALIZER.url("network_manager_connection_name", network_manager_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class SubscriptionNetworkManagerConnectionsOperations(object): + """SubscriptionNetworkManagerConnectionsOperations 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.network.v2021_05_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + @distributed_trace + def create_or_update( + self, + network_manager_connection_name: str, + parameters: "_models.NetworkManagerConnection", + **kwargs: Any + ) -> "_models.NetworkManagerConnection": + """Create a connection from this subscription to a cross tenant network manager. + + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_connection_name: str + :param parameters: Network manager connection to be created/updated. + :type parameters: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'NetworkManagerConnection') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + network_manager_connection_name=network_manager_connection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerConnection', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('NetworkManagerConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace + def get( + self, + network_manager_connection_name: str, + **kwargs: Any + ) -> "_models.NetworkManagerConnection": + """Get a specified connection created by this subscription. + + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NetworkManagerConnection, or the result of cls(response) + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + subscription_id=self._config.subscription_id, + network_manager_connection_name=network_manager_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('NetworkManagerConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace + def delete( + self, + network_manager_connection_name: str, + **kwargs: Any + ) -> None: + """Delete specified pending connection created by this subscription. + + :param network_manager_connection_name: Name for the network manager connection. + :type network_manager_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', {})) + + + request = build_delete_request( + subscription_id=self._config.subscription_id, + network_manager_connection_name=network_manager_connection_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}'} # type: ignore + + + @distributed_trace + def list( + self, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.NetworkManagerConnectionListResult"]: + """List all network manager connections created by this subscription. + + :param top: An optional query parameter which specifies the maximum number of records to be + returned by the server. + :type top: int + :param skip_token: SkipToken is only used if a previous operation returned a partial result. If + a previous response contains a nextLink element, the value of the nextLink element will include + a skipToken parameter that specifies a starting point to use for subsequent calls. + :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 NetworkManagerConnectionListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.NetworkManagerConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NetworkManagerConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("NetworkManagerConnectionListResult", 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.Network/networkManagerConnections'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_user_rule_collections_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_user_rule_collections_operations.py index a0b0d83a485..f2518ff462a 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_user_rule_collections_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_user_rule_collections_operations.py @@ -5,23 +5,203 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + *, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + if recursive is not None: + query_parameters['recursive'] = _SERIALIZER.query("recursive", recursive, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class UserRuleCollectionsOperations(object): """UserRuleCollectionsOperations operations. @@ -30,7 +210,7 @@ class UserRuleCollectionsOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,23 +225,23 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.RuleCollectionListResult"] + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.RuleCollectionListResult"]: """Lists all the user rule collections in a security configuration, in a paginated format. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param top: An optional query parameter which specifies the maximum number of records to be returned by the server. @@ -71,8 +251,10 @@ def list( a skipToken parameter that specifies a starting point to use for subsequent calls. :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 RuleCollectionListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.RuleCollectionListResult] + :return: An iterator like instance of either RuleCollectionListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.RuleCollectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollectionListResult"] @@ -80,41 +262,39 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('RuleCollectionListResult', pipeline_response) + deserialized = self._deserialize("RuleCollectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -132,34 +312,35 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.RuleCollection" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + **kwargs: Any + ) -> "_models.RuleCollection": """Gets a network manager security user configuration rule collection. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: RuleCollection, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollection"] @@ -167,29 +348,19 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -203,34 +374,36 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - user_rule_collection, # type: "_models.RuleCollection" - **kwargs # type: Any - ): - # type: (...) -> "_models.RuleCollection" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + user_rule_collection: "_models.RuleCollection", + **kwargs: Any + ) -> "_models.RuleCollection": """Creates or updates a user rule collection. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :param user_rule_collection: The User Rule Collection to create or update. - :type user_rule_collection: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :type user_rule_collection: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :keyword callable cls: A custom type or function that will be passed the direct response :return: RuleCollection, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.RuleCollection + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.RuleCollection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.RuleCollection"] @@ -238,34 +411,24 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(user_rule_collection, 'RuleCollection') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(user_rule_collection, 'RuleCollection') - 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 @@ -283,28 +446,40 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + force: Optional[bool] = None, + recursive: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes a user rule collection. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: bool + :param recursive: Deletes the resource recursively. When present in a security configuration + delete, all rule collections and rules within the configuration will be deleted. When present + in a rule collection delete, all rules within the collection will be deleted. + :type 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 @@ -315,29 +490,21 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + force=force, + recursive=recursive, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -349,3 +516,4 @@ def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}'} # type: ignore + diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_user_rules_operations.py b/src/network-manager/azext_network_manager/vendored_sdks/operations/_user_rules_operations.py index 8d787a37c8e..dcec684f7bd 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_user_rules_operations.py +++ b/src/network-manager/azext_network_manager/vendored_sdks/operations/_user_rules_operations.py @@ -5,23 +5,208 @@ # 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer 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]] +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + *, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if top is not None: + query_parameters['$top'] = _SERIALIZER.query("top", top, 'int', maximum=20, minimum=1) + if skip_token is not None: + query_parameters['$skipToken'] = _SERIALIZER.query("skip_token", skip_token, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + subscription_id: str, + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + *, + force: Optional[bool] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-05-01-preview" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "networkManagerName": _SERIALIZER.url("network_manager_name", network_manager_name, 'str'), + "configurationName": _SERIALIZER.url("configuration_name", configuration_name, 'str'), + "ruleCollectionName": _SERIALIZER.url("rule_collection_name", rule_collection_name, 'str'), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = _SERIALIZER.query("force", force, 'bool') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) class UserRulesOperations(object): """UserRulesOperations operations. @@ -30,7 +215,7 @@ class UserRulesOperations(object): 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.network.v2021_05_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,24 +230,24 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - top=None, # type: Optional[int] - skip_token=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.UserRuleListResult"] + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + top: Optional[int] = None, + skip_token: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.UserRuleListResult"]: """Lists all user rules in a rule collection. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -76,7 +261,8 @@ def list( :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 UserRuleListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_02_01_preview.models.UserRuleListResult] + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.network.v2021_05_01_preview.models.UserRuleListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.UserRuleListResult"] @@ -84,42 +270,41 @@ def list( 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.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_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 top is not None: - query_parameters['$top'] = self._serialize.query("top", top, 'int', maximum=20, minimum=1) - 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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + top=top, + skip_token=skip_token, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + top=top, + skip_token=skip_token, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('UserRuleListResult', pipeline_response) + deserialized = self._deserialize("UserRuleListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -137,28 +322,29 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules'} # type: ignore + @distributed_trace def get( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - rule_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.BaseUserRule" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + **kwargs: Any + ) -> "_models.BaseUserRule": """Gets a user rule. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -167,7 +353,7 @@ def get( :type rule_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: BaseUserRule, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.BaseUserRule + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.BaseUserRule :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BaseUserRule"] @@ -175,30 +361,20 @@ def get( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -212,26 +388,28 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + + @distributed_trace def create_or_update( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - rule_name, # type: str - user_rule, # type: "_models.BaseUserRule" - **kwargs # type: Any - ): - # type: (...) -> "_models.BaseUserRule" + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + user_rule: "_models.BaseUserRule", + **kwargs: Any + ) -> "_models.BaseUserRule": """Creates or updates a user rule. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. @@ -239,10 +417,10 @@ def create_or_update( :param rule_name: The name of the rule. :type rule_name: str :param user_rule: The user rule to create or update. - :type user_rule: ~azure.mgmt.network.v2021_02_01_preview.models.BaseUserRule + :type user_rule: ~azure.mgmt.network.v2021_05_01_preview.models.BaseUserRule :keyword callable cls: A custom type or function that will be passed the direct response :return: BaseUserRule, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.BaseUserRule + :rtype: ~azure.mgmt.network.v2021_05_01_preview.models.BaseUserRule :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BaseUserRule"] @@ -250,35 +428,25 @@ def create_or_update( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(user_rule, 'BaseUserRule') + + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(user_rule, 'BaseUserRule') - 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 @@ -296,31 +464,38 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + + @distributed_trace def delete( self, - resource_group_name, # type: str - network_manager_name, # type: str - configuration_name, # type: str - rule_collection_name, # type: str - rule_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None + resource_group_name: str, + network_manager_name: str, + configuration_name: str, + rule_collection_name: str, + rule_name: str, + force: Optional[bool] = None, + **kwargs: Any + ) -> None: """Deletes a user rule. :param resource_group_name: The name of the resource group. :type resource_group_name: str :param network_manager_name: The name of the network manager. :type network_manager_name: str - :param configuration_name: The name of the network manager security Configuration. + :param configuration_name: The name of the network manager Security Configuration. :type configuration_name: str :param rule_collection_name: The name of the network manager security Configuration rule collection. :type rule_collection_name: str :param rule_name: The name of the rule. :type rule_name: str + :param force: Deletes the resource even if it is part of a deployed configuration. If the + configuration has been deployed, the service will do a cleanup deployment in the background, + prior to the delete. + :type force: 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 @@ -331,30 +506,21 @@ def delete( 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'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'networkManagerName': self._serialize.url("network_manager_name", network_manager_name, 'str'), - 'configurationName': self._serialize.url("configuration_name", configuration_name, 'str'), - 'ruleCollectionName': self._serialize.url("rule_collection_name", rule_collection_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + network_manager_name=network_manager_name, + configuration_name=configuration_name, + rule_collection_name=rule_collection_name, + rule_name=rule_name, + force=force, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -366,3 +532,4 @@ def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}'} # type: ignore + diff --git a/src/network-manager/setup.py b/src/network-manager/setup.py index db9149a08c9..87546c6f385 100644 --- a/src/network-manager/setup.py +++ b/src/network-manager/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.3.0' +VERSION = '0.4.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -39,7 +39,7 @@ description='Microsoft Azure Command-Line Tools NetworkManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/network-manager', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/network-manager', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/next/setup.py b/src/next/setup.py index 2667e0658e6..8d9d1b24769 100644 --- a/src/next/setup.py +++ b/src/next/setup.py @@ -48,7 +48,7 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/next', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/notification-hub/azext_notification_hub/tests/latest/test_notificationhubs_scenario.py b/src/notification-hub/azext_notification_hub/tests/latest/test_notificationhubs_scenario.py index a8b24df547d..40c3b8311af 100644 --- a/src/notification-hub/azext_notification_hub/tests/latest/test_notificationhubs_scenario.py +++ b/src/notification-hub/azext_notification_hub/tests/latest/test_notificationhubs_scenario.py @@ -7,7 +7,7 @@ import unittest import time -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, JMESPathCheck, JMESPathCheckExists) diff --git a/src/notification-hub/setup.py b/src/notification-hub/setup.py index e486ccad27d..b1ec563fe96 100644 --- a/src/notification-hub/setup.py +++ b/src/notification-hub/setup.py @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/notification-hub', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/notification-hub', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/offazure/setup.py b/src/offazure/setup.py index 0475ed72c8c..f4891115565 100644 --- a/src/offazure/setup.py +++ b/src/offazure/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools AzureMigrateV2 Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/offazure', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/offazure', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/peering/azext_peering/tests/latest/preparers.py b/src/peering/azext_peering/tests/latest/preparers.py index ec67973c0cb..083eea6bd51 100644 --- a/src/peering/azext_peering/tests/latest/preparers.py +++ b/src/peering/azext_peering/tests/latest/preparers.py @@ -12,7 +12,7 @@ import os from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.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 diff --git a/src/peering/azext_peering/tests/latest/test_peering_scenario.py b/src/peering/azext_peering/tests/latest/test_peering_scenario.py index c3196dade77..9cb504c6d16 100644 --- a/src/peering/azext_peering/tests/latest/test_peering_scenario.py +++ b/src/peering/azext_peering/tests/latest/test_peering_scenario.py @@ -11,7 +11,7 @@ # import os # import unittest # -# from azure_devtools.scenario_tests import AllowLargeResponse +# from azure.cli.testsdk.scenario_tests import AllowLargeResponse # from azure.cli.testsdk import ScenarioTest # from .. import try_manual # from azure.cli.testsdk import ResourceGroupPreparer diff --git a/src/peering/setup.py b/src/peering/setup.py index 2d7688b2cb1..d57a71c1c71 100644 --- a/src/peering/setup.py +++ b/src/peering/setup.py @@ -42,7 +42,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/peering', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/peering', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/portal/azext_portal/tests/latest/preparers.py b/src/portal/azext_portal/tests/latest/preparers.py index 1388cfd22cc..8b1d7b72b2f 100644 --- a/src/portal/azext_portal/tests/latest/preparers.py +++ b/src/portal/azext_portal/tests/latest/preparers.py @@ -6,7 +6,7 @@ import os from datetime import datetime from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.scenario_tests import SingleValueReplacer from azure.cli.testsdk.exceptions import CliTestError from azure.cli.testsdk.reverse_dependency import get_dummy_cli diff --git a/src/portal/azext_portal/tests/latest/test_portal_scenario.py b/src/portal/azext_portal/tests/latest/test_portal_scenario.py index 314740bbbe6..cd1f1e27d08 100644 --- a/src/portal/azext_portal/tests/latest/test_portal_scenario.py +++ b/src/portal/azext_portal/tests/latest/test_portal_scenario.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import JMESPathCheck from azure.cli.testsdk import JMESPathCheckExists from azure.cli.testsdk import NoneCheck diff --git a/src/portal/setup.py b/src/portal/setup.py index 1d0801fbece..a221835b8a3 100644 --- a/src/portal/setup.py +++ b/src/portal/setup.py @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/portal', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/portal', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/powerbidedicated/setup.py b/src/powerbidedicated/setup.py index 726ff2eb74b..07567886468 100644 --- a/src/powerbidedicated/setup.py +++ b/src/powerbidedicated/setup.py @@ -49,7 +49,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/powerbidedicated', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/powerbidedicated', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/providerhub/azext_providerhub/tests/latest/example_steps.py b/src/providerhub/azext_providerhub/tests/latest/example_steps.py index d8d9b2591d5..ace06ccfff3 100644 --- a/src/providerhub/azext_providerhub/tests/latest/example_steps.py +++ b/src/providerhub/azext_providerhub/tests/latest/example_steps.py @@ -9,7 +9,7 @@ # -------------------------------------------------------------------------- from azure.cli.testsdk import (live_only) -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from .. import try_manual diff --git a/src/providerhub/setup.py b/src/providerhub/setup.py index 40c44f931dd..998a48e5c8c 100644 --- a/src/providerhub/setup.py +++ b/src/providerhub/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools ProviderHub Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/providerhub', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/providerhub', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/purview/setup.py b/src/purview/setup.py index d89fc32f663..07432bfb166 100644 --- a/src/purview/setup.py +++ b/src/purview/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools PurviewManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/purview', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/purview', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/quantum/HISTORY.rst b/src/quantum/HISTORY.rst index 8bc81e4e380..afb4ed79a03 100644 --- a/src/quantum/HISTORY.rst +++ b/src/quantum/HISTORY.rst @@ -3,6 +3,22 @@ Release History =============== +0.13.0 +++++++ +* [2022-03-03] Version intended to work with QDK version v0.23.195983 +* Fixed workspace race condition using an Azure Resource Manager template to synchronize deployment. + +0.12.0 +++++++ +* [2022-01-26] Version intended to work with QDK version v0.22.187631 +* Updated data plane generated client to API version 2021-11-01-preview. +* Added support for displaying cost estimate for a job when available. + +0.11.0 +++++++ +* [2021-12-14] Version intended to work with QDK version v0.21.2112.180703 +* Job result histograms will be left-aligned (not centered) in console output. + 0.10.0 ++++++ * [2021-11-22] Version intended to work with QDK version v0.20.2111.177148 diff --git a/src/quantum/azext_quantum/__init__.py b/src/quantum/azext_quantum/__init__.py index a75253c18ef..c8aa2623af6 100644 --- a/src/quantum/azext_quantum/__init__.py +++ b/src/quantum/azext_quantum/__init__.py @@ -11,7 +11,7 @@ # 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.10.0" +CLI_REPORTED_VERSION = "0.13.0" class QuantumCommandsLoader(AzCommandsLoader): diff --git a/src/quantum/azext_quantum/commands.py b/src/quantum/azext_quantum/commands.py index 508c09b8abd..a9423e47de9 100644 --- a/src/quantum/azext_quantum/commands.py +++ b/src/quantum/azext_quantum/commands.py @@ -27,7 +27,7 @@ def one(provider, target): def transform_job(result): - result = OrderedDict([ + transformed_result = OrderedDict([ ('Name', result['name']), ('Id', result['id']), ('Status', result['status']), @@ -35,7 +35,17 @@ def transform_job(result): ('Submission time', result['creationTime']), ('Completion time', result['endExecutionTime']) ]) - return result + + # For backwards compatibility check if the field is present and only display if present + cost_estimate = result['costEstimate'] + if cost_estimate is not None: + amount = cost_estimate['estimatedTotal'] + currency = cost_estimate['currencyCode'] + if (amount is not None) and (currency is not None): + price = str(amount) + ' ' + currency + transformed_result['Cost estimate'] = price + + return transformed_result def transform_jobs(results): diff --git a/src/quantum/azext_quantum/operations/job.py b/src/quantum/azext_quantum/operations/job.py index 4d3ecbb1f88..40f3a104a2f 100644 --- a/src/quantum/azext_quantum/operations/job.py +++ b/src/quantum/azext_quantum/operations/job.py @@ -70,6 +70,8 @@ def build(cmd, target_id=None, project=None): logger.debug("Building project with arguments:") logger.debug(args) + print("Building project...") + import subprocess result = subprocess.run(args, stdout=subprocess.PIPE, check=False) @@ -181,6 +183,8 @@ def submit(cmd, program_args, resource_group_name=None, workspace_name=None, loc args = _generate_submit_args(program_args, ws, target, token, project, job_name, shots, storage, job_params) _set_cli_version() + print("Submitting job...") + import subprocess result = subprocess.run(args, stdout=subprocess.PIPE, check=False) diff --git a/src/quantum/azext_quantum/operations/templates/create-workspace-and-assign-role.json b/src/quantum/azext_quantum/operations/templates/create-workspace-and-assign-role.json new file mode 100644 index 00000000000..c8c94fc6e88 --- /dev/null +++ b/src/quantum/azext_quantum/operations/templates/create-workspace-and-assign-role.json @@ -0,0 +1,150 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "quantumWorkspaceName": { + "type": "string", + "metadata": { + "description": "Quantum Workspace Name" + } + }, + "location": { + "type": "string", + "metadata": { + "description": "Workspace Location" + } + }, + "tags": { + "type": "object", + "defaultValue": {}, + "metadata": { + "description": "Tags for this workspace" + } + }, + "providers": { + "type": "array", + "metadata": { + "description": "A list of Providers for this workspace" + } + }, + "storageAccountName": { + "type": "string", + "metadata": { + "description": "Storage account short name" + } + }, + "storageAccountId": { + "type": "string", + "metadata": { + "description": "Storage account ID (path)" + } + }, + "storageAccountLocation": { + "type": "string", + "metadata": { + "description": "Storage account location" + } + }, + "storageAccountDeploymentName": { + "type": "string", + "metadata": { + "description": "Deployment name for role assignment operation" + } + } + }, + "functions": [], + "variables": {}, + "resources": [ + { + "type": "Microsoft.Quantum/workspaces", + "apiVersion": "2019-11-04-preview", + "name": "[parameters('quantumWorkspaceName')]", + "location": "[parameters('location')]", + "tags": "[parameters('tags')]", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "providers": "[parameters('providers')]", + "storageAccount": "[parameters('storageAccountId')]" + } + }, + { + "apiVersion": "2019-10-01", + "name": "[parameters('storageAccountDeploymentName')]", + "type": "Microsoft.Resources/deployments", + "dependsOn": [ + "[resourceId('Microsoft.Quantum/Workspaces', parameters('quantumWorkspaceName'))]" + ], + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "resources": [ + { + "apiVersion": "2019-06-01", + "name": "[parameters('storageAccountName')]", + "location": "[parameters('storageAccountLocation')]", + "type": "Microsoft.Storage/storageAccounts", + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "resources": [ + { + "name": "default", + "type": "fileServices", + "apiVersion": "2019-06-01", + "dependsOn": [ + "[parameters('storageAccountId')]" + ], + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "*" + ], + "allowedHeaders": [ + "*" + ], + "allowedMethods": [ + "GET", + "HEAD", + "OPTIONS", + "POST", + "PUT" + ], + "exposedHeaders": [ + "*" + ], + "maxAgeInSeconds": 180 + } + ] + } + } + } + ] + }, + { + "apiVersion": "2020-04-01-preview", + "name": "[concat(parameters('storageAccountName'), '/Microsoft.Authorization/', guid(reference(concat('Microsoft.Quantum/Workspaces/', parameters('quantumWorkspaceName')), '2019-11-04-preview', 'Full').identity.principalId))]", + "type": "Microsoft.Storage/storageAccounts/providers/roleAssignments", + "location": "[parameters('storageAccountLocation')]", + "properties": { + "roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', 'b24988ac-6180-42a0-ab88-20f7382dd24c')]", + "principalId": "[reference(concat('Microsoft.Quantum/Workspaces/', parameters('quantumWorkspaceName')), '2019-11-04-preview', 'Full').identity.principalId]", + "principalType": "ServicePrincipal" + }, + "dependsOn": [ + "[parameters('storageAccountId')]" + ] + } + ] + } + } + } + ], + "outputs": {} +} \ No newline at end of file diff --git a/src/quantum/azext_quantum/operations/workspace.py b/src/quantum/azext_quantum/operations/workspace.py index fd357aa407a..9a0b84135aa 100644 --- a/src/quantum/azext_quantum/operations/workspace.py +++ b/src/quantum/azext_quantum/operations/workspace.py @@ -5,13 +5,18 @@ # pylint: disable=line-too-long,redefined-builtin,unnecessary-comprehension +import os.path +import json import time +from azure.mgmt.resource import ResourceManagementClient +from azure.mgmt.resource.resources.models import DeploymentMode + from azure.cli.core.azclierror import (InvalidArgumentValueError, AzureInternalError, RequiredArgumentMissingError, ResourceNotFoundError) from msrestazure.azure_exceptions import CloudError -from .._client_factory import cf_workspaces, cf_quotas, cf_offerings +from .._client_factory import cf_workspaces, cf_quotas, cf_offerings, _get_data_credentials from ..vendored_sdks.azure_mgmt_quantum.models import QuantumWorkspace from ..vendored_sdks.azure_mgmt_quantum.models import QuantumWorkspaceIdentity from ..vendored_sdks.azure_mgmt_quantum.models import Provider @@ -20,6 +25,7 @@ DEFAULT_WORKSPACE_LOCATION = 'westus' POLLING_TIME_DURATION = 3 # Seconds MAX_RETRIES_ROLE_ASSIGNMENT = 20 +MAX_POLLS_CREATE_WORKSPACE = 60 class WorkspaceInfo: @@ -159,13 +165,69 @@ def create(cmd, resource_group_name=None, workspace_name=None, location=None, st if not info.resource_group: raise ResourceNotFoundError("Please run 'az quantum workspace set' first to select a default resource group.") quantum_workspace = _get_basic_quantum_workspace(location, info, storage_account) + + # Until the "--skip-role-assignment" parameter is deprecated, use the old non-ARM code to create a workspace without doing a role assignment + if skip_role_assignment: + _add_quantum_providers(cmd, quantum_workspace, provider_sku_list) + poller = client.begin_create_or_update(info.resource_group, info.name, quantum_workspace, polling=False) + while not poller.done(): + time.sleep(POLLING_TIME_DURATION) + quantum_workspace = poller.result() + return quantum_workspace + + # ARM-template-based code to create an Azure Quantum workspace and make it a "Contributor" to the storage account + template_path = os.path.join(os.path.dirname( + __file__), 'templates', 'create-workspace-and-assign-role.json') + with open(template_path, 'r', encoding='utf8') as template_file_fd: + template = json.load(template_file_fd) + _add_quantum_providers(cmd, quantum_workspace, provider_sku_list) - poller = client.begin_create_or_update(info.resource_group, info.name, quantum_workspace, polling=False) - while not poller.done(): + validated_providers = [] + for provider in quantum_workspace.providers: + validated_providers.append({"providerId": provider.provider_id, "providerSku": provider.provider_sku}) + + parameters = { + 'quantumWorkspaceName': workspace_name, + 'location': location, + 'tags': {}, + 'providers': validated_providers, + 'storageAccountName': storage_account, + 'storageAccountId': _get_storage_account_path(info, storage_account), + 'storageAccountLocation': location, + 'storageAccountDeploymentName': "Microsoft.StorageAccount-" + time.strftime("%d-%b-%Y-%H-%M-%S", time.gmtime()) + } + parameters = {k: {'value': v} for k, v in parameters.items()} + + deployment_properties = { + 'mode': DeploymentMode.incremental, + 'template': template, + 'parameters': parameters + } + + credentials = _get_data_credentials(cmd.cli_ctx, info.subscription) + arm_client = ResourceManagementClient(credentials, info.subscription) + + # Show the first progress indicator dot before starting ARM template deployment + print('.', end='', flush=True) + + deployment_async_operation = arm_client.deployments.begin_create_or_update( + info.resource_group, + workspace_name, # Note: This is actually specifying a the deployment name, but workspace_name is used here in test_quantum_workspace.py + {'properties': deployment_properties} + ) + + # Show progress indicator dots + polling_cycles = 0 + while not deployment_async_operation.done(): + polling_cycles += 1 + if polling_cycles > MAX_POLLS_CREATE_WORKSPACE: + print() + raise AzureInternalError("Create quantum workspace operation timed out.") + + print('.', end='', flush=True) time.sleep(POLLING_TIME_DURATION) - quantum_workspace = poller.result() - if not skip_role_assignment: - quantum_workspace = _create_role_assignment(cmd, quantum_workspace) + print() + quantum_workspace = deployment_async_operation.result() return quantum_workspace diff --git a/src/quantum/azext_quantum/tests/latest/test_quantum_jobs.py b/src/quantum/azext_quantum/tests/latest/test_quantum_jobs.py index aecccc7f48a..7eae5979b64 100644 --- a/src/quantum/azext_quantum/tests/latest/test_quantum_jobs.py +++ b/src/quantum/azext_quantum/tests/latest/test_quantum_jobs.py @@ -7,7 +7,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse, live_only +from azure.cli.testsdk.scenario_tests import AllowLargeResponse, live_only from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) from .utils import get_test_subscription_id, get_test_resource_group, get_test_workspace, get_test_workspace_location diff --git a/src/quantum/azext_quantum/tests/latest/test_quantum_targets.py b/src/quantum/azext_quantum/tests/latest/test_quantum_targets.py index 88742aa676d..ed2ff2ba9a7 100644 --- a/src/quantum/azext_quantum/tests/latest/test_quantum_targets.py +++ b/src/quantum/azext_quantum/tests/latest/test_quantum_targets.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) from .utils import get_test_resource_group, get_test_workspace, get_test_workspace_location diff --git a/src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py b/src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py index 0d3caea98f8..071c409b279 100644 --- a/src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py +++ b/src/quantum/azext_quantum/tests/latest/test_quantum_workspace.py @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse, live_only +from azure.cli.testsdk.scenario_tests import AllowLargeResponse, live_only from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) from azure.cli.core.azclierror import RequiredArgumentMissingError, ResourceNotFoundError @@ -70,6 +70,21 @@ def test_workspace_create_destroy(self): self.check("name", test_workspace_temp), self.check("provisioningState", "Deleting") ]) + + # Repeat the tests without the "--skip-role-assignment" parameter + test_workspace_temp = get_test_workspace_random_name() + + # create + self.cmd(f'az quantum workspace create -g {test_resource_group} -w {test_workspace_temp} -l {test_location} -a {test_storage_account} -r {test_provider_sku_list} -o json', checks=[ + self.check("name", test_workspace_temp), + # >>>>>self.check("provisioningState", "Succeeded") # Status is "Succeeded" since we are linking the storage account this time. + ]) + + # delete + self.cmd(f'az quantum workspace delete -g {test_resource_group} -w {test_workspace_temp} -o json', checks=[ + self.check("name", test_workspace_temp), + self.check("provisioningState", "Deleting") + ]) else: self.skipTest(f"Skipping test_workspace_create_destroy: One or more providers in '{test_provider_sku_list}' not found in AZURE_QUANTUM_CAPABILITIES") diff --git a/src/quantum/azext_quantum/tests/latest/utils.py b/src/quantum/azext_quantum/tests/latest/utils.py index e9eb48e1f33..812a7af684d 100644 --- a/src/quantum/azext_quantum/tests/latest/utils.py +++ b/src/quantum/azext_quantum/tests/latest/utils.py @@ -7,7 +7,7 @@ TEST_RG_DEFAULT = "e2e-scenarios" TEST_WORKSPACE_DEFAULT = "e2e-qsharp-tests" TEST_WORKSPACE_DEFAULT_LOCATION = "westus2" -TEST_WORKSPACE_DEFAULT_STORAGE = "/subscriptions/916dfd6d-030c-4bd9-b579-7bb6d1926e97/resourceGroups/e2e-scenarios/providers/Microsoft.Storage/storageAccounts/e2etests" +TEST_WORKSPACE_DEFAULT_STORAGE = "e2etests" TEST_WORKSPACE_DEFAULT_PROVIDER_SKU_LIST = "Microsoft/Basic" TEST_CAPABILITIES_DEFAULT = "new.microsoft;submit.microsoft" diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py index 7c807db08ca..bb04d45447a 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/__init__.py @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['QuantumClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_configuration.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_configuration.py index fb869107d5c..99286d1c74b 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_configuration.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_configuration.py @@ -10,7 +10,6 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy from ._version import VERSION @@ -46,6 +45,7 @@ def __init__( **kwargs # type: Any ): # type: (...) -> None + super(QuantumClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: @@ -54,7 +54,6 @@ def __init__( raise ValueError("Parameter 'resource_group_name' must not be None.") if workspace_name is None: raise ValueError("Parameter 'workspace_name' must not be None.") - super(QuantumClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -73,7 +72,7 @@ def _configure( 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.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) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_patch.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_quantum_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_quantum_client.py index 5ca50ed3566..edc512ac850 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_quantum_client.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_quantum_client.py @@ -6,46 +6,45 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from copy import deepcopy from typing import TYPE_CHECKING -from azure.mgmt.core import ARMPipelineClient +from azure.core import PipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import QuantumClientConfiguration +from .operations import JobsOperations, ProvidersOperations, QuotasOperations, StorageOperations + 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 QuantumClientConfiguration -from .operations import JobsOperations -from .operations import ProvidersOperations -from .operations import StorageOperations -from .operations import QuotasOperations -from . import models - + from azure.core.rest import HttpRequest, HttpResponse class QuantumClient(object): """Azure Quantum REST API client. :ivar jobs: JobsOperations operations - :vartype jobs: azure.quantum.operations.JobsOperations + :vartype jobs: azure.quantum._client.operations.JobsOperations :ivar providers: ProvidersOperations operations - :vartype providers: azure.quantum.operations.ProvidersOperations + :vartype providers: azure.quantum._client.operations.ProvidersOperations :ivar storage: StorageOperations operations - :vartype storage: azure.quantum.operations.StorageOperations + :vartype storage: azure.quantum._client.operations.StorageOperations :ivar quotas: QuotasOperations operations - :vartype quotas: azure.quantum.operations.QuotasOperations + :vartype quotas: azure.quantum._client.operations.QuotasOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential - :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). :type subscription_id: str :param resource_group_name: Name of an Azure resource group. :type resource_group_name: str :param workspace_name: Name of the workspace. :type workspace_name: str - :param str base_url: Service URL + :param base_url: Service URL. Default value is 'https://quantum.azure.com'. + :type base_url: str """ def __init__( @@ -54,48 +53,49 @@ def __init__( subscription_id, # type: str resource_group_name, # type: str workspace_name, # type: str - base_url=None, # type: Optional[str] + base_url="https://quantum.azure.com", # type: str **kwargs # type: Any ): # type: (...) -> None - if not base_url: - base_url = 'https://quantum.azure.com' - self._config = QuantumClientConfiguration(credential, subscription_id, resource_group_name, workspace_name, **kwargs) - self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._config = QuantumClientConfiguration(credential=credential, subscription_id=subscription_id, resource_group_name=resource_group_name, workspace_name=workspace_name, **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._serialize.client_side_validation = False + self.jobs = JobsOperations(self._client, self._config, self._serialize, self._deserialize) + self.providers = ProvidersOperations(self._client, self._config, self._serialize, self._deserialize) + self.storage = StorageOperations(self._client, self._config, self._serialize, self._deserialize) + self.quotas = QuotasOperations(self._client, self._config, self._serialize, self._deserialize) + - self.jobs = JobsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.providers = ProvidersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.storage = StorageOperations( - self._client, self._config, self._serialize, self._deserialize) - self.quotas = QuotasOperations( - self._client, self._config, self._serialize, self._deserialize) - - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + def _send_request( + self, + request, # type: HttpRequest + **kwargs # type: Any + ): + # type: (...) -> 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. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.HttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, '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 + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_vendor.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/__init__.py index 62ba6ee4cca..76a60c6f7cc 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/__init__.py @@ -8,3 +8,8 @@ from ._quantum_client import QuantumClient __all__ = ['QuantumClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_configuration.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_configuration.py index d0850c7d599..0645ba9c519 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_configuration.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_configuration.py @@ -10,7 +10,6 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy from .._version import VERSION @@ -43,6 +42,7 @@ def __init__( workspace_name: str, **kwargs: Any ) -> None: + super(QuantumClientConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") if subscription_id is None: @@ -51,7 +51,6 @@ def __init__( raise ValueError("Parameter 'resource_group_name' must not be None.") if workspace_name is None: raise ValueError("Parameter 'workspace_name' must not be None.") - super(QuantumClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id @@ -69,7 +68,7 @@ def _configure( 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.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) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_patch.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_quantum_client.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_quantum_client.py index 49042acd5ed..daa1d3a4d2d 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_quantum_client.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/_quantum_client.py @@ -6,44 +6,43 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest -from azure.mgmt.core import AsyncARMPipelineClient +from azure.core import AsyncPipelineClient +from azure.core.rest import AsyncHttpResponse, HttpRequest from msrest import Deserializer, Serializer +from .. import models +from ._configuration import QuantumClientConfiguration +from .operations import JobsOperations, ProvidersOperations, QuotasOperations, StorageOperations + if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -from ._configuration import QuantumClientConfiguration -from .operations import JobsOperations -from .operations import ProvidersOperations -from .operations import StorageOperations -from .operations import QuotasOperations -from .. import models - - -class QuantumClient(object): +class QuantumClient: """Azure Quantum REST API client. :ivar jobs: JobsOperations operations - :vartype jobs: azure.quantum.aio.operations.JobsOperations + :vartype jobs: azure.quantum._client.aio.operations.JobsOperations :ivar providers: ProvidersOperations operations - :vartype providers: azure.quantum.aio.operations.ProvidersOperations + :vartype providers: azure.quantum._client.aio.operations.ProvidersOperations :ivar storage: StorageOperations operations - :vartype storage: azure.quantum.aio.operations.StorageOperations + :vartype storage: azure.quantum._client.aio.operations.StorageOperations :ivar quotas: QuotasOperations operations - :vartype quotas: azure.quantum.aio.operations.QuotasOperations + :vartype quotas: azure.quantum._client.aio.operations.QuotasOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). + :param subscription_id: The Azure subscription ID. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). :type subscription_id: str :param resource_group_name: Name of an Azure resource group. :type resource_group_name: str :param workspace_name: Name of the workspace. :type workspace_name: str - :param str base_url: Service URL + :param base_url: Service URL. Default value is 'https://quantum.azure.com'. + :type base_url: str """ def __init__( @@ -52,46 +51,47 @@ def __init__( subscription_id: str, resource_group_name: str, workspace_name: str, - base_url: Optional[str] = None, + base_url: str = "https://quantum.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://quantum.azure.com' - self._config = QuantumClientConfiguration(credential, subscription_id, resource_group_name, workspace_name, **kwargs) - self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._config = QuantumClientConfiguration(credential=credential, subscription_id=subscription_id, resource_group_name=resource_group_name, workspace_name=workspace_name, **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._serialize.client_side_validation = False + self.jobs = JobsOperations(self._client, self._config, self._serialize, self._deserialize) + self.providers = ProvidersOperations(self._client, self._config, self._serialize, self._deserialize) + self.storage = StorageOperations(self._client, self._config, self._serialize, self._deserialize) + self.quotas = QuotasOperations(self._client, self._config, self._serialize, self._deserialize) - self.jobs = JobsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.providers = ProvidersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.storage = StorageOperations( - self._client, self._config, self._serialize, self._deserialize) - self.quotas = QuotasOperations( - self._client, self._config, self._serialize, self._deserialize) - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[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. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, '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 + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_jobs_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_jobs_operations.py index ca45bc2c96a..4487a6e5b43 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_jobs_operations.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_jobs_operations.py @@ -5,17 +5,21 @@ # 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 functools +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 azure.mgmt.core.exceptions import ARMErrorFormat +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._jobs_operations import build_cancel_request, build_create_request, build_get_request, build_list_request, build_patch_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +30,7 @@ class JobsOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.quantum.models + :type models: ~azure.quantum._client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +45,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -49,7 +54,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either JobDetailsList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.quantum.models.JobDetailsList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.quantum._client.models.JobDetailsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetailsList"] @@ -57,34 +62,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('JobDetailsList', pipeline_response) + deserialized = self._deserialize("JobDetailsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -98,15 +102,17 @@ async def get_next(next_link=None): 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) + raise HttpResponseError(response=response) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs'} # type: ignore + @distributed_trace_async async def get( self, job_id: str, @@ -118,7 +124,7 @@ async def get( :type job_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: JobDetails, or the result of cls(response) - :rtype: ~azure.quantum.models.JobDetails + :rtype: ~azure.quantum._client.models.JobDetails :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetails"] @@ -126,33 +132,25 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + job_id=job_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.RestError, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('JobDetails', pipeline_response) @@ -160,8 +158,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + @distributed_trace_async async def create( self, job_id: str, @@ -173,10 +174,10 @@ async def create( :param job_id: Id of the job. :type job_id: str :param job: The complete metadata of the job to submit. - :type job: ~azure.quantum.models.JobDetails + :type job: ~azure.quantum._client.models.JobDetails :keyword callable cls: A custom type or function that will be passed the direct response :return: JobDetails, or the result of cls(response) - :rtype: ~azure.quantum.models.JobDetails + :rtype: ~azure.quantum._client.models.JobDetails :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetails"] @@ -184,38 +185,30 @@ async def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(job, 'JobDetails') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + job_id=job_id, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(job, 'JobDetails') - 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.RestError, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) if response.status_code == 200: deserialized = self._deserialize('JobDetails', pipeline_response) @@ -227,8 +220,11 @@ async def create( return cls(pipeline_response, deserialized, {}) return deserialized + create.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + @distributed_trace_async async def cancel( self, job_id: str, @@ -248,35 +244,88 @@ async def cancel( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_cancel_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + job_id=job_id, + template_url=self.cancel.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 [204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.RestError, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) if cls: return cls(pipeline_response, None, {}) cancel.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + + @distributed_trace_async + async def patch( + self, + job_id: str, + patch_job: List["_models.JsonPatchDocument"], + **kwargs: Any + ) -> Optional["_models.JobDetails"]: + """Patch a job. + + :param job_id: Id of the job. + :type job_id: str + :param patch_job: The json patch document containing the patch operations. + :type patch_job: list[~azure.quantum._client.models.JsonPatchDocument] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobDetails, or the result of cls(response) + :rtype: ~azure.quantum._client.models.JobDetails or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.JobDetails"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_job, '[JsonPatchDocument]') + + request = build_patch_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + job_id=job_id, + content_type=content_type, + json=_json, + template_url=self.patch.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('JobDetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + patch.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_providers_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_providers_operations.py index 1c0fd00deb6..29903fa6ebd 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_providers_operations.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_providers_operations.py @@ -5,17 +5,21 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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 azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._providers_operations import build_get_status_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +30,7 @@ class ProvidersOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.quantum.models + :type models: ~azure.quantum._client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +45,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def get_status( self, **kwargs: Any @@ -49,7 +54,8 @@ def get_status( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ProviderStatusList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.quantum.models.ProviderStatusList] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.quantum._client.models.ProviderStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ProviderStatusList"] @@ -57,34 +63,33 @@ def get_status( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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.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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_get_status_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=self.get_status.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_get_status_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ProviderStatusList', pipeline_response) + deserialized = self._deserialize("ProviderStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -97,12 +102,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.RestError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_quotas_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_quotas_operations.py index 86fd89f355b..a40009ffc13 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_quotas_operations.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_quotas_operations.py @@ -5,17 +5,21 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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 azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._quotas_operations import build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +30,7 @@ class QuotasOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.quantum.models + :type models: ~azure.quantum._client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +45,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs: Any @@ -49,7 +54,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either QuotaList or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.quantum.models.QuotaList] + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.quantum._client.models.QuotaList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.QuotaList"] @@ -57,34 +62,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('QuotaList', pipeline_response) + deserialized = self._deserialize("QuotaList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -97,12 +101,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.RestError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_storage_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_storage_operations.py index f8775451dfd..840a6db8e6b 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_storage_operations.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/aio/operations/_storage_operations.py @@ -5,16 +5,19 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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 azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._storage_operations import build_sas_uri_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +28,7 @@ class StorageOperations: instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.quantum.models + :type models: ~azure.quantum._client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,6 +43,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def sas_uri( self, blob_details: "_models.BlobDetails", @@ -49,10 +53,10 @@ async def sas_uri( workspace. The SAS URL can be used to upload job input and/or download job output. :param blob_details: The details (name and container) of the blob to store or download data. - :type blob_details: ~azure.quantum.models.BlobDetails + :type blob_details: ~azure.quantum._client.models.BlobDetails :keyword callable cls: A custom type or function that will be passed the direct response :return: SasUriResponse, or the result of cls(response) - :rtype: ~azure.quantum.models.SasUriResponse + :rtype: ~azure.quantum._client.models.SasUriResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SasUriResponse"] @@ -60,37 +64,29 @@ async def sas_uri( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.sas_uri.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(blob_details, 'BlobDetails') - # 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') + request = build_sas_uri_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + content_type=content_type, + json=_json, + template_url=self.sas_uri.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(blob_details, 'BlobDetails') - 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) - error = self._deserialize.failsafe_deserialize(_models.RestError, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('SasUriResponse', pipeline_response) @@ -98,4 +94,6 @@ async def sas_uri( return cls(pipeline_response, deserialized, {}) return deserialized + sas_uri.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/storage/sasUri'} # type: ignore + diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py index 4a92608bc70..404fadad3fd 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/__init__.py @@ -8,9 +8,11 @@ try: from ._models_py3 import BlobDetails + from ._models_py3 import CostEstimate from ._models_py3 import ErrorData from ._models_py3 import JobDetails from ._models_py3 import JobDetailsList + from ._models_py3 import JsonPatchDocument from ._models_py3 import ProviderStatus from ._models_py3 import ProviderStatusList from ._models_py3 import Quota @@ -18,11 +20,14 @@ from ._models_py3 import RestError from ._models_py3 import SasUriResponse from ._models_py3 import TargetStatus + from ._models_py3 import UsageEvent except (SyntaxError, ImportError): from ._models import BlobDetails # type: ignore + from ._models import CostEstimate # type: ignore from ._models import ErrorData # type: ignore from ._models import JobDetails # type: ignore from ._models import JobDetailsList # type: ignore + from ._models import JsonPatchDocument # type: ignore from ._models import ProviderStatus # type: ignore from ._models import ProviderStatusList # type: ignore from ._models import Quota # type: ignore @@ -30,10 +35,12 @@ from ._models import RestError # type: ignore from ._models import SasUriResponse # type: ignore from ._models import TargetStatus # type: ignore + from ._models import UsageEvent # type: ignore from ._quantum_client_enums import ( DimensionScope, JobStatus, + JsonPatchOperation, MeterPeriod, ProviderAvailability, TargetAvailability, @@ -41,9 +48,11 @@ __all__ = [ 'BlobDetails', + 'CostEstimate', 'ErrorData', 'JobDetails', 'JobDetailsList', + 'JsonPatchDocument', 'ProviderStatus', 'ProviderStatusList', 'Quota', @@ -51,8 +60,10 @@ 'RestError', 'SasUriResponse', 'TargetStatus', + 'UsageEvent', 'DimensionScope', 'JobStatus', + 'JsonPatchOperation', 'MeterPeriod', 'ProviderAvailability', 'TargetAvailability', diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models.py index c1fca9bdaf5..90ed0a6f64d 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models.py @@ -15,10 +15,10 @@ class BlobDetails(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param container_name: Required. The container name. - :type container_name: str - :param blob_name: The blob name. - :type blob_name: str + :ivar container_name: Required. The container name. + :vartype container_name: str + :ivar blob_name: The blob name. + :vartype blob_name: str """ _validation = { @@ -34,20 +34,61 @@ def __init__( self, **kwargs ): + """ + :keyword container_name: Required. The container name. + :paramtype container_name: str + :keyword blob_name: The blob name. + :paramtype blob_name: str + """ super(BlobDetails, self).__init__(**kwargs) self.container_name = kwargs['container_name'] self.blob_name = kwargs.get('blob_name', None) +class CostEstimate(msrest.serialization.Model): + """The job cost billed by the provider. The final cost on your bill might be slightly different due to added taxes and currency conversion rates. + + :ivar currency_code: The currency code. + :vartype currency_code: str + :ivar events: List of usage events. + :vartype events: list[~azure.quantum._client.models.UsageEvent] + :ivar estimated_total: The estimated total. + :vartype estimated_total: float + """ + + _attribute_map = { + 'currency_code': {'key': 'currencyCode', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[UsageEvent]'}, + 'estimated_total': {'key': 'estimatedTotal', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + """ + :keyword currency_code: The currency code. + :paramtype currency_code: str + :keyword events: List of usage events. + :paramtype events: list[~azure.quantum._client.models.UsageEvent] + :keyword estimated_total: The estimated total. + :paramtype estimated_total: float + """ + super(CostEstimate, self).__init__(**kwargs) + self.currency_code = kwargs.get('currency_code', None) + self.events = kwargs.get('events', None) + self.estimated_total = kwargs.get('estimated_total', None) + + class ErrorData(msrest.serialization.Model): """An error response from Azure. - :param code: An identifier for the error. Codes are invariant and are intended to be consumed + :ivar 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 displaying in a - user interface. - :type message: str + :vartype code: str + :ivar message: A message describing the error, intended to be suitable for displaying in a user + interface. + :vartype message: str """ _attribute_map = { @@ -59,6 +100,14 @@ def __init__( self, **kwargs ): + """ + :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :paramtype code: str + :keyword message: A message describing the error, intended to be suitable for displaying in a + user interface. + :paramtype message: str + """ super(ErrorData, self).__init__(**kwargs) self.code = kwargs.get('code', None) self.message = kwargs.get('message', None) @@ -71,38 +120,38 @@ class JobDetails(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: The job id. - :type id: str - :param name: The job name. Is not required for the name to be unique and it's only used for + :ivar id: The job id. + :vartype id: str + :ivar name: The job name. Is not required for the name to be unique and it's only used for display purposes. - :type name: str - :param container_uri: Required. The blob container SAS uri, the container is used to host job + :vartype name: str + :ivar container_uri: Required. The blob container SAS uri, the container is used to host job data. - :type container_uri: str - :param input_data_uri: The input blob SAS uri, if specified, it will override the default input + :vartype container_uri: str + :ivar input_data_uri: The input blob SAS uri, if specified, it will override the default input blob in the container. - :type input_data_uri: str - :param input_data_format: Required. The format of the input data. - :type input_data_format: str - :param input_params: The input parameters for the job. JSON object used by the target solver. - It is expected that the size of this object is small and only used to specify parameters for - the execution target, not the input data. - :type input_params: any - :param provider_id: Required. The unique identifier for the provider. - :type provider_id: str - :param target: Required. The target identifier to run the job. - :type target: str - :param metadata: The job metadata. Metadata provides client the ability to store - client-specific information. - :type metadata: dict[str, str] - :param output_data_uri: The output blob SAS uri. When a job finishes successfully, results will + :vartype input_data_uri: str + :ivar input_data_format: Required. The format of the input data. + :vartype input_data_format: str + :ivar input_params: The input parameters for the job. JSON object used by the target solver. It + is expected that the size of this object is small and only used to specify parameters for the + execution target, not the input data. + :vartype input_params: any + :ivar provider_id: Required. The unique identifier for the provider. + :vartype provider_id: str + :ivar target: Required. The target identifier to run the job. + :vartype target: str + :ivar metadata: The job metadata. Metadata provides client the ability to store client-specific + information. + :vartype metadata: dict[str, str] + :ivar output_data_uri: The output blob SAS uri. When a job finishes successfully, results will be uploaded to this blob. - :type output_data_uri: str - :param output_data_format: The format of the output data. - :type output_data_format: str + :vartype output_data_uri: str + :ivar output_data_format: The format of the output data. + :vartype output_data_format: str :ivar status: The job status. Possible values include: "Waiting", "Executing", "Succeeded", "Failed", "Cancelled". - :vartype status: str or ~azure.quantum.models.JobStatus + :vartype status: str or ~azure.quantum._client.models.JobStatus :ivar creation_time: The creation time of the job. :vartype creation_time: ~datetime.datetime :ivar begin_execution_time: The time when the job began execution. @@ -111,8 +160,13 @@ class JobDetails(msrest.serialization.Model): :vartype end_execution_time: ~datetime.datetime :ivar cancellation_time: The time when a job was successfully cancelled. :vartype cancellation_time: ~datetime.datetime + :ivar cost_estimate: The job cost billed by the provider. The final cost on your bill might be + slightly different due to added taxes and currency conversion rates. + :vartype cost_estimate: ~azure.quantum._client.models.CostEstimate :ivar error_data: The error data for the job. This is expected only when Status 'Failed'. - :vartype error_data: ~azure.quantum.models.ErrorData + :vartype error_data: ~azure.quantum._client.models.ErrorData + :ivar tags: A set of tags. List of user-supplied tags associated with the job. + :vartype tags: list[str] """ _validation = { @@ -125,6 +179,7 @@ class JobDetails(msrest.serialization.Model): 'begin_execution_time': {'readonly': True}, 'end_execution_time': {'readonly': True}, 'cancellation_time': {'readonly': True}, + 'cost_estimate': {'readonly': True}, 'error_data': {'readonly': True}, } @@ -145,13 +200,48 @@ class JobDetails(msrest.serialization.Model): 'begin_execution_time': {'key': 'beginExecutionTime', 'type': 'iso-8601'}, 'end_execution_time': {'key': 'endExecutionTime', 'type': 'iso-8601'}, 'cancellation_time': {'key': 'cancellationTime', 'type': 'iso-8601'}, + 'cost_estimate': {'key': 'costEstimate', 'type': 'CostEstimate'}, 'error_data': {'key': 'errorData', 'type': 'ErrorData'}, + 'tags': {'key': 'tags', 'type': '[str]'}, } def __init__( self, **kwargs ): + """ + :keyword id: The job id. + :paramtype id: str + :keyword name: The job name. Is not required for the name to be unique and it's only used for + display purposes. + :paramtype name: str + :keyword container_uri: Required. The blob container SAS uri, the container is used to host job + data. + :paramtype container_uri: str + :keyword input_data_uri: The input blob SAS uri, if specified, it will override the default + input blob in the container. + :paramtype input_data_uri: str + :keyword input_data_format: Required. The format of the input data. + :paramtype input_data_format: str + :keyword input_params: The input parameters for the job. JSON object used by the target solver. + It is expected that the size of this object is small and only used to specify parameters for + the execution target, not the input data. + :paramtype input_params: any + :keyword provider_id: Required. The unique identifier for the provider. + :paramtype provider_id: str + :keyword target: Required. The target identifier to run the job. + :paramtype target: str + :keyword metadata: The job metadata. Metadata provides client the ability to store + client-specific information. + :paramtype metadata: dict[str, str] + :keyword output_data_uri: The output blob SAS uri. When a job finishes successfully, results + will be uploaded to this blob. + :paramtype output_data_uri: str + :keyword output_data_format: The format of the output data. + :paramtype output_data_format: str + :keyword tags: A set of tags. List of user-supplied tags associated with the job. + :paramtype tags: list[str] + """ super(JobDetails, self).__init__(**kwargs) self.id = kwargs.get('id', None) self.name = kwargs.get('name', None) @@ -169,7 +259,9 @@ def __init__( self.begin_execution_time = None self.end_execution_time = None self.cancellation_time = None + self.cost_estimate = None self.error_data = None + self.tags = kwargs.get('tags', None) class JobDetailsList(msrest.serialization.Model): @@ -178,9 +270,9 @@ class JobDetailsList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: - :vartype value: list[~azure.quantum.models.JobDetails] - :param count: Total records count number. - :type count: long + :vartype value: list[~azure.quantum._client.models.JobDetails] + :ivar count: Total records count number. + :vartype count: long :ivar next_link: Link to the next page of results. :vartype next_link: str """ @@ -200,12 +292,66 @@ def __init__( self, **kwargs ): + """ + :keyword count: Total records count number. + :paramtype count: long + """ super(JobDetailsList, self).__init__(**kwargs) self.value = None self.count = kwargs.get('count', None) self.next_link = None +class JsonPatchDocument(msrest.serialization.Model): + """A JSONPatch document as defined by RFC 6902. + + All required parameters must be populated in order to send to Azure. + + :ivar op: Required. The operation to be performed. Possible values include: "add", "remove", + "replace", "move", "copy", "test". + :vartype op: str or ~azure.quantum._client.models.JsonPatchOperation + :ivar path: Required. A JSON-Pointer. + :vartype path: str + :ivar value: A value to be used in the operation on the path. + :vartype value: any + :ivar from_property: Optional field used in copy and move operations. + :vartype from_property: str + """ + + _validation = { + 'op': {'required': True}, + 'path': {'required': True}, + } + + _attribute_map = { + 'op': {'key': 'op', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'from_property': {'key': 'from', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + :keyword op: Required. The operation to be performed. Possible values include: "add", "remove", + "replace", "move", "copy", "test". + :paramtype op: str or ~azure.quantum._client.models.JsonPatchOperation + :keyword path: Required. A JSON-Pointer. + :paramtype path: str + :keyword value: A value to be used in the operation on the path. + :paramtype value: any + :keyword from_property: Optional field used in copy and move operations. + :paramtype from_property: str + """ + super(JsonPatchDocument, self).__init__(**kwargs) + self.op = kwargs['op'] + self.path = kwargs['path'] + self.value = kwargs.get('value', None) + self.from_property = kwargs.get('from_property', None) + + class ProviderStatus(msrest.serialization.Model): """Providers status. @@ -215,9 +361,9 @@ class ProviderStatus(msrest.serialization.Model): :vartype id: str :ivar current_availability: Provider availability. Possible values include: "Available", "Degraded", "Unavailable". - :vartype current_availability: str or ~azure.quantum.models.ProviderAvailability + :vartype current_availability: str or ~azure.quantum._client.models.ProviderAvailability :ivar targets: - :vartype targets: list[~azure.quantum.models.TargetStatus] + :vartype targets: list[~azure.quantum._client.models.TargetStatus] """ _validation = { @@ -236,6 +382,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProviderStatus, self).__init__(**kwargs) self.id = None self.current_availability = None @@ -248,7 +396,7 @@ class ProviderStatusList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: - :vartype value: list[~azure.quantum.models.ProviderStatus] + :vartype value: list[~azure.quantum._client.models.ProviderStatus] :ivar next_link: Link to the next page of results. :vartype next_link: str """ @@ -267,6 +415,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProviderStatusList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -275,24 +425,24 @@ def __init__( class Quota(msrest.serialization.Model): """Quota information. - :param dimension: The name of the dimension associated with the quota. - :type dimension: str - :param scope: The scope at which the quota is applied. Possible values include: "Workspace", + :ivar dimension: The name of the dimension associated with the quota. + :vartype dimension: str + :ivar scope: The scope at which the quota is applied. Possible values include: "Workspace", "Subscription". - :type scope: str or ~azure.quantum.models.DimensionScope - :param provider_id: The unique identifier for the provider. - :type provider_id: str - :param utilization: The amount of the usage that has been applied for the current period. - :type utilization: float - :param holds: The amount of the usage that has been reserved but not applied for the current + :vartype scope: str or ~azure.quantum._client.models.DimensionScope + :ivar provider_id: The unique identifier for the provider. + :vartype provider_id: str + :ivar utilization: The amount of the usage that has been applied for the current period. + :vartype utilization: float + :ivar holds: The amount of the usage that has been reserved but not applied for the current period. - :type holds: float - :param limit: The maximum amount of usage allowed for the current period. - :type limit: float - :param period: The time period in which the quota's underlying meter is accumulated. Based on + :vartype holds: float + :ivar limit: The maximum amount of usage allowed for the current period. + :vartype limit: float + :ivar period: The time period in which the quota's underlying meter is accumulated. Based on calendar year. 'None' is used for concurrent quotas. Possible values include: "None", "Monthly". - :type period: str or ~azure.quantum.models.MeterPeriod + :vartype period: str or ~azure.quantum._client.models.MeterPeriod """ _attribute_map = { @@ -309,6 +459,26 @@ def __init__( self, **kwargs ): + """ + :keyword dimension: The name of the dimension associated with the quota. + :paramtype dimension: str + :keyword scope: The scope at which the quota is applied. Possible values include: "Workspace", + "Subscription". + :paramtype scope: str or ~azure.quantum._client.models.DimensionScope + :keyword provider_id: The unique identifier for the provider. + :paramtype provider_id: str + :keyword utilization: The amount of the usage that has been applied for the current period. + :paramtype utilization: float + :keyword holds: The amount of the usage that has been reserved but not applied for the current + period. + :paramtype holds: float + :keyword limit: The maximum amount of usage allowed for the current period. + :paramtype limit: float + :keyword period: The time period in which the quota's underlying meter is accumulated. Based on + calendar year. 'None' is used for concurrent quotas. Possible values include: "None", + "Monthly". + :paramtype period: str or ~azure.quantum._client.models.MeterPeriod + """ super(Quota, self).__init__(**kwargs) self.dimension = kwargs.get('dimension', None) self.scope = kwargs.get('scope', None) @@ -325,7 +495,7 @@ class QuotaList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: - :vartype value: list[~azure.quantum.models.Quota] + :vartype value: list[~azure.quantum._client.models.Quota] :ivar next_link: Link to the next page of results. :vartype next_link: str """ @@ -344,6 +514,8 @@ def __init__( self, **kwargs ): + """ + """ super(QuotaList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -352,8 +524,8 @@ def __init__( class RestError(msrest.serialization.Model): """Error information returned by the API. - :param error: An error response from Azure. - :type error: ~azure.quantum.models.ErrorData + :ivar error: An error response from Azure. + :vartype error: ~azure.quantum._client.models.ErrorData """ _attribute_map = { @@ -364,6 +536,10 @@ def __init__( self, **kwargs ): + """ + :keyword error: An error response from Azure. + :paramtype error: ~azure.quantum._client.models.ErrorData + """ super(RestError, self).__init__(**kwargs) self.error = kwargs.get('error', None) @@ -371,8 +547,8 @@ def __init__( class SasUriResponse(msrest.serialization.Model): """Get SAS URL operation response. - :param sas_uri: A URL with a SAS token to upload a blob for execution in the given workspace. - :type sas_uri: str + :ivar sas_uri: A URL with a SAS token to upload a blob for execution in the given workspace. + :vartype sas_uri: str """ _attribute_map = { @@ -383,6 +559,10 @@ def __init__( self, **kwargs ): + """ + :keyword sas_uri: A URL with a SAS token to upload a blob for execution in the given workspace. + :paramtype sas_uri: str + """ super(SasUriResponse, self).__init__(**kwargs) self.sas_uri = kwargs.get('sas_uri', None) @@ -396,7 +576,7 @@ class TargetStatus(msrest.serialization.Model): :vartype id: str :ivar current_availability: Target availability. Possible values include: "Available", "Degraded", "Unavailable". - :vartype current_availability: str or ~azure.quantum.models.TargetAvailability + :vartype current_availability: str or ~azure.quantum._client.models.TargetAvailability :ivar average_queue_time: Average queue time in seconds. :vartype average_queue_time: long :ivar status_page: A page with detailed status of the provider. @@ -421,8 +601,63 @@ def __init__( self, **kwargs ): + """ + """ super(TargetStatus, self).__init__(**kwargs) self.id = None self.current_availability = None self.average_queue_time = None self.status_page = None + + +class UsageEvent(msrest.serialization.Model): + """Usage event details. + + :ivar dimension_id: The dimension id. + :vartype dimension_id: str + :ivar dimension_name: The dimension name. + :vartype dimension_name: str + :ivar measure_unit: The unit of measure. + :vartype measure_unit: str + :ivar amount_billed: The amount billed. + :vartype amount_billed: float + :ivar amount_consumed: The amount consumed. + :vartype amount_consumed: float + :ivar unit_price: The unit price. + :vartype unit_price: float + """ + + _attribute_map = { + 'dimension_id': {'key': 'dimensionId', 'type': 'str'}, + 'dimension_name': {'key': 'dimensionName', 'type': 'str'}, + 'measure_unit': {'key': 'measureUnit', 'type': 'str'}, + 'amount_billed': {'key': 'amountBilled', 'type': 'float'}, + 'amount_consumed': {'key': 'amountConsumed', 'type': 'float'}, + 'unit_price': {'key': 'unitPrice', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + """ + :keyword dimension_id: The dimension id. + :paramtype dimension_id: str + :keyword dimension_name: The dimension name. + :paramtype dimension_name: str + :keyword measure_unit: The unit of measure. + :paramtype measure_unit: str + :keyword amount_billed: The amount billed. + :paramtype amount_billed: float + :keyword amount_consumed: The amount consumed. + :paramtype amount_consumed: float + :keyword unit_price: The unit price. + :paramtype unit_price: float + """ + super(UsageEvent, self).__init__(**kwargs) + self.dimension_id = kwargs.get('dimension_id', None) + self.dimension_name = kwargs.get('dimension_name', None) + self.measure_unit = kwargs.get('measure_unit', None) + self.amount_billed = kwargs.get('amount_billed', None) + self.amount_consumed = kwargs.get('amount_consumed', None) + self.unit_price = kwargs.get('unit_price', None) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models_py3.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models_py3.py index 22a56ba18c2..e8d9ab67fe1 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models_py3.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_models_py3.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Dict, Optional, Union +from typing import Any, Dict, List, Optional, Union from azure.core.exceptions import HttpResponseError import msrest.serialization @@ -19,10 +19,10 @@ class BlobDetails(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param container_name: Required. The container name. - :type container_name: str - :param blob_name: The blob name. - :type blob_name: str + :ivar container_name: Required. The container name. + :vartype container_name: str + :ivar blob_name: The blob name. + :vartype blob_name: str """ _validation = { @@ -41,20 +41,65 @@ def __init__( blob_name: Optional[str] = None, **kwargs ): + """ + :keyword container_name: Required. The container name. + :paramtype container_name: str + :keyword blob_name: The blob name. + :paramtype blob_name: str + """ super(BlobDetails, self).__init__(**kwargs) self.container_name = container_name self.blob_name = blob_name +class CostEstimate(msrest.serialization.Model): + """The job cost billed by the provider. The final cost on your bill might be slightly different due to added taxes and currency conversion rates. + + :ivar currency_code: The currency code. + :vartype currency_code: str + :ivar events: List of usage events. + :vartype events: list[~azure.quantum._client.models.UsageEvent] + :ivar estimated_total: The estimated total. + :vartype estimated_total: float + """ + + _attribute_map = { + 'currency_code': {'key': 'currencyCode', 'type': 'str'}, + 'events': {'key': 'events', 'type': '[UsageEvent]'}, + 'estimated_total': {'key': 'estimatedTotal', 'type': 'float'}, + } + + def __init__( + self, + *, + currency_code: Optional[str] = None, + events: Optional[List["UsageEvent"]] = None, + estimated_total: Optional[float] = None, + **kwargs + ): + """ + :keyword currency_code: The currency code. + :paramtype currency_code: str + :keyword events: List of usage events. + :paramtype events: list[~azure.quantum._client.models.UsageEvent] + :keyword estimated_total: The estimated total. + :paramtype estimated_total: float + """ + super(CostEstimate, self).__init__(**kwargs) + self.currency_code = currency_code + self.events = events + self.estimated_total = estimated_total + + class ErrorData(msrest.serialization.Model): """An error response from Azure. - :param code: An identifier for the error. Codes are invariant and are intended to be consumed + :ivar 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 displaying in a - user interface. - :type message: str + :vartype code: str + :ivar message: A message describing the error, intended to be suitable for displaying in a user + interface. + :vartype message: str """ _attribute_map = { @@ -69,6 +114,14 @@ def __init__( message: Optional[str] = None, **kwargs ): + """ + :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :paramtype code: str + :keyword message: A message describing the error, intended to be suitable for displaying in a + user interface. + :paramtype message: str + """ super(ErrorData, self).__init__(**kwargs) self.code = code self.message = message @@ -81,38 +134,38 @@ class JobDetails(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param id: The job id. - :type id: str - :param name: The job name. Is not required for the name to be unique and it's only used for + :ivar id: The job id. + :vartype id: str + :ivar name: The job name. Is not required for the name to be unique and it's only used for display purposes. - :type name: str - :param container_uri: Required. The blob container SAS uri, the container is used to host job + :vartype name: str + :ivar container_uri: Required. The blob container SAS uri, the container is used to host job data. - :type container_uri: str - :param input_data_uri: The input blob SAS uri, if specified, it will override the default input + :vartype container_uri: str + :ivar input_data_uri: The input blob SAS uri, if specified, it will override the default input blob in the container. - :type input_data_uri: str - :param input_data_format: Required. The format of the input data. - :type input_data_format: str - :param input_params: The input parameters for the job. JSON object used by the target solver. - It is expected that the size of this object is small and only used to specify parameters for - the execution target, not the input data. - :type input_params: any - :param provider_id: Required. The unique identifier for the provider. - :type provider_id: str - :param target: Required. The target identifier to run the job. - :type target: str - :param metadata: The job metadata. Metadata provides client the ability to store - client-specific information. - :type metadata: dict[str, str] - :param output_data_uri: The output blob SAS uri. When a job finishes successfully, results will + :vartype input_data_uri: str + :ivar input_data_format: Required. The format of the input data. + :vartype input_data_format: str + :ivar input_params: The input parameters for the job. JSON object used by the target solver. It + is expected that the size of this object is small and only used to specify parameters for the + execution target, not the input data. + :vartype input_params: any + :ivar provider_id: Required. The unique identifier for the provider. + :vartype provider_id: str + :ivar target: Required. The target identifier to run the job. + :vartype target: str + :ivar metadata: The job metadata. Metadata provides client the ability to store client-specific + information. + :vartype metadata: dict[str, str] + :ivar output_data_uri: The output blob SAS uri. When a job finishes successfully, results will be uploaded to this blob. - :type output_data_uri: str - :param output_data_format: The format of the output data. - :type output_data_format: str + :vartype output_data_uri: str + :ivar output_data_format: The format of the output data. + :vartype output_data_format: str :ivar status: The job status. Possible values include: "Waiting", "Executing", "Succeeded", "Failed", "Cancelled". - :vartype status: str or ~azure.quantum.models.JobStatus + :vartype status: str or ~azure.quantum._client.models.JobStatus :ivar creation_time: The creation time of the job. :vartype creation_time: ~datetime.datetime :ivar begin_execution_time: The time when the job began execution. @@ -121,8 +174,13 @@ class JobDetails(msrest.serialization.Model): :vartype end_execution_time: ~datetime.datetime :ivar cancellation_time: The time when a job was successfully cancelled. :vartype cancellation_time: ~datetime.datetime + :ivar cost_estimate: The job cost billed by the provider. The final cost on your bill might be + slightly different due to added taxes and currency conversion rates. + :vartype cost_estimate: ~azure.quantum._client.models.CostEstimate :ivar error_data: The error data for the job. This is expected only when Status 'Failed'. - :vartype error_data: ~azure.quantum.models.ErrorData + :vartype error_data: ~azure.quantum._client.models.ErrorData + :ivar tags: A set of tags. List of user-supplied tags associated with the job. + :vartype tags: list[str] """ _validation = { @@ -135,6 +193,7 @@ class JobDetails(msrest.serialization.Model): 'begin_execution_time': {'readonly': True}, 'end_execution_time': {'readonly': True}, 'cancellation_time': {'readonly': True}, + 'cost_estimate': {'readonly': True}, 'error_data': {'readonly': True}, } @@ -155,7 +214,9 @@ class JobDetails(msrest.serialization.Model): 'begin_execution_time': {'key': 'beginExecutionTime', 'type': 'iso-8601'}, 'end_execution_time': {'key': 'endExecutionTime', 'type': 'iso-8601'}, 'cancellation_time': {'key': 'cancellationTime', 'type': 'iso-8601'}, + 'cost_estimate': {'key': 'costEstimate', 'type': 'CostEstimate'}, 'error_data': {'key': 'errorData', 'type': 'ErrorData'}, + 'tags': {'key': 'tags', 'type': '[str]'}, } def __init__( @@ -172,8 +233,42 @@ def __init__( metadata: Optional[Dict[str, str]] = None, output_data_uri: Optional[str] = None, output_data_format: Optional[str] = None, + tags: Optional[List[str]] = None, **kwargs ): + """ + :keyword id: The job id. + :paramtype id: str + :keyword name: The job name. Is not required for the name to be unique and it's only used for + display purposes. + :paramtype name: str + :keyword container_uri: Required. The blob container SAS uri, the container is used to host job + data. + :paramtype container_uri: str + :keyword input_data_uri: The input blob SAS uri, if specified, it will override the default + input blob in the container. + :paramtype input_data_uri: str + :keyword input_data_format: Required. The format of the input data. + :paramtype input_data_format: str + :keyword input_params: The input parameters for the job. JSON object used by the target solver. + It is expected that the size of this object is small and only used to specify parameters for + the execution target, not the input data. + :paramtype input_params: any + :keyword provider_id: Required. The unique identifier for the provider. + :paramtype provider_id: str + :keyword target: Required. The target identifier to run the job. + :paramtype target: str + :keyword metadata: The job metadata. Metadata provides client the ability to store + client-specific information. + :paramtype metadata: dict[str, str] + :keyword output_data_uri: The output blob SAS uri. When a job finishes successfully, results + will be uploaded to this blob. + :paramtype output_data_uri: str + :keyword output_data_format: The format of the output data. + :paramtype output_data_format: str + :keyword tags: A set of tags. List of user-supplied tags associated with the job. + :paramtype tags: list[str] + """ super(JobDetails, self).__init__(**kwargs) self.id = id self.name = name @@ -191,7 +286,9 @@ def __init__( self.begin_execution_time = None self.end_execution_time = None self.cancellation_time = None + self.cost_estimate = None self.error_data = None + self.tags = tags class JobDetailsList(msrest.serialization.Model): @@ -200,9 +297,9 @@ class JobDetailsList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: - :vartype value: list[~azure.quantum.models.JobDetails] - :param count: Total records count number. - :type count: long + :vartype value: list[~azure.quantum._client.models.JobDetails] + :ivar count: Total records count number. + :vartype count: long :ivar next_link: Link to the next page of results. :vartype next_link: str """ @@ -224,12 +321,71 @@ def __init__( count: Optional[int] = None, **kwargs ): + """ + :keyword count: Total records count number. + :paramtype count: long + """ super(JobDetailsList, self).__init__(**kwargs) self.value = None self.count = count self.next_link = None +class JsonPatchDocument(msrest.serialization.Model): + """A JSONPatch document as defined by RFC 6902. + + All required parameters must be populated in order to send to Azure. + + :ivar op: Required. The operation to be performed. Possible values include: "add", "remove", + "replace", "move", "copy", "test". + :vartype op: str or ~azure.quantum._client.models.JsonPatchOperation + :ivar path: Required. A JSON-Pointer. + :vartype path: str + :ivar value: A value to be used in the operation on the path. + :vartype value: any + :ivar from_property: Optional field used in copy and move operations. + :vartype from_property: str + """ + + _validation = { + 'op': {'required': True}, + 'path': {'required': True}, + } + + _attribute_map = { + 'op': {'key': 'op', 'type': 'str'}, + 'path': {'key': 'path', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + 'from_property': {'key': 'from', 'type': 'str'}, + } + + def __init__( + self, + *, + op: Union[str, "JsonPatchOperation"], + path: str, + value: Optional[Any] = None, + from_property: Optional[str] = None, + **kwargs + ): + """ + :keyword op: Required. The operation to be performed. Possible values include: "add", "remove", + "replace", "move", "copy", "test". + :paramtype op: str or ~azure.quantum._client.models.JsonPatchOperation + :keyword path: Required. A JSON-Pointer. + :paramtype path: str + :keyword value: A value to be used in the operation on the path. + :paramtype value: any + :keyword from_property: Optional field used in copy and move operations. + :paramtype from_property: str + """ + super(JsonPatchDocument, self).__init__(**kwargs) + self.op = op + self.path = path + self.value = value + self.from_property = from_property + + class ProviderStatus(msrest.serialization.Model): """Providers status. @@ -239,9 +395,9 @@ class ProviderStatus(msrest.serialization.Model): :vartype id: str :ivar current_availability: Provider availability. Possible values include: "Available", "Degraded", "Unavailable". - :vartype current_availability: str or ~azure.quantum.models.ProviderAvailability + :vartype current_availability: str or ~azure.quantum._client.models.ProviderAvailability :ivar targets: - :vartype targets: list[~azure.quantum.models.TargetStatus] + :vartype targets: list[~azure.quantum._client.models.TargetStatus] """ _validation = { @@ -260,6 +416,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProviderStatus, self).__init__(**kwargs) self.id = None self.current_availability = None @@ -272,7 +430,7 @@ class ProviderStatusList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: - :vartype value: list[~azure.quantum.models.ProviderStatus] + :vartype value: list[~azure.quantum._client.models.ProviderStatus] :ivar next_link: Link to the next page of results. :vartype next_link: str """ @@ -291,6 +449,8 @@ def __init__( self, **kwargs ): + """ + """ super(ProviderStatusList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -299,24 +459,24 @@ def __init__( class Quota(msrest.serialization.Model): """Quota information. - :param dimension: The name of the dimension associated with the quota. - :type dimension: str - :param scope: The scope at which the quota is applied. Possible values include: "Workspace", + :ivar dimension: The name of the dimension associated with the quota. + :vartype dimension: str + :ivar scope: The scope at which the quota is applied. Possible values include: "Workspace", "Subscription". - :type scope: str or ~azure.quantum.models.DimensionScope - :param provider_id: The unique identifier for the provider. - :type provider_id: str - :param utilization: The amount of the usage that has been applied for the current period. - :type utilization: float - :param holds: The amount of the usage that has been reserved but not applied for the current + :vartype scope: str or ~azure.quantum._client.models.DimensionScope + :ivar provider_id: The unique identifier for the provider. + :vartype provider_id: str + :ivar utilization: The amount of the usage that has been applied for the current period. + :vartype utilization: float + :ivar holds: The amount of the usage that has been reserved but not applied for the current period. - :type holds: float - :param limit: The maximum amount of usage allowed for the current period. - :type limit: float - :param period: The time period in which the quota's underlying meter is accumulated. Based on + :vartype holds: float + :ivar limit: The maximum amount of usage allowed for the current period. + :vartype limit: float + :ivar period: The time period in which the quota's underlying meter is accumulated. Based on calendar year. 'None' is used for concurrent quotas. Possible values include: "None", "Monthly". - :type period: str or ~azure.quantum.models.MeterPeriod + :vartype period: str or ~azure.quantum._client.models.MeterPeriod """ _attribute_map = { @@ -341,6 +501,26 @@ def __init__( period: Optional[Union[str, "MeterPeriod"]] = None, **kwargs ): + """ + :keyword dimension: The name of the dimension associated with the quota. + :paramtype dimension: str + :keyword scope: The scope at which the quota is applied. Possible values include: "Workspace", + "Subscription". + :paramtype scope: str or ~azure.quantum._client.models.DimensionScope + :keyword provider_id: The unique identifier for the provider. + :paramtype provider_id: str + :keyword utilization: The amount of the usage that has been applied for the current period. + :paramtype utilization: float + :keyword holds: The amount of the usage that has been reserved but not applied for the current + period. + :paramtype holds: float + :keyword limit: The maximum amount of usage allowed for the current period. + :paramtype limit: float + :keyword period: The time period in which the quota's underlying meter is accumulated. Based on + calendar year. 'None' is used for concurrent quotas. Possible values include: "None", + "Monthly". + :paramtype period: str or ~azure.quantum._client.models.MeterPeriod + """ super(Quota, self).__init__(**kwargs) self.dimension = dimension self.scope = scope @@ -357,7 +537,7 @@ class QuotaList(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: - :vartype value: list[~azure.quantum.models.Quota] + :vartype value: list[~azure.quantum._client.models.Quota] :ivar next_link: Link to the next page of results. :vartype next_link: str """ @@ -376,6 +556,8 @@ def __init__( self, **kwargs ): + """ + """ super(QuotaList, self).__init__(**kwargs) self.value = None self.next_link = None @@ -384,8 +566,8 @@ def __init__( class RestError(msrest.serialization.Model): """Error information returned by the API. - :param error: An error response from Azure. - :type error: ~azure.quantum.models.ErrorData + :ivar error: An error response from Azure. + :vartype error: ~azure.quantum._client.models.ErrorData """ _attribute_map = { @@ -398,6 +580,10 @@ def __init__( error: Optional["ErrorData"] = None, **kwargs ): + """ + :keyword error: An error response from Azure. + :paramtype error: ~azure.quantum._client.models.ErrorData + """ super(RestError, self).__init__(**kwargs) self.error = error @@ -405,8 +591,8 @@ def __init__( class SasUriResponse(msrest.serialization.Model): """Get SAS URL operation response. - :param sas_uri: A URL with a SAS token to upload a blob for execution in the given workspace. - :type sas_uri: str + :ivar sas_uri: A URL with a SAS token to upload a blob for execution in the given workspace. + :vartype sas_uri: str """ _attribute_map = { @@ -419,6 +605,10 @@ def __init__( sas_uri: Optional[str] = None, **kwargs ): + """ + :keyword sas_uri: A URL with a SAS token to upload a blob for execution in the given workspace. + :paramtype sas_uri: str + """ super(SasUriResponse, self).__init__(**kwargs) self.sas_uri = sas_uri @@ -432,7 +622,7 @@ class TargetStatus(msrest.serialization.Model): :vartype id: str :ivar current_availability: Target availability. Possible values include: "Available", "Degraded", "Unavailable". - :vartype current_availability: str or ~azure.quantum.models.TargetAvailability + :vartype current_availability: str or ~azure.quantum._client.models.TargetAvailability :ivar average_queue_time: Average queue time in seconds. :vartype average_queue_time: long :ivar status_page: A page with detailed status of the provider. @@ -457,8 +647,70 @@ def __init__( self, **kwargs ): + """ + """ super(TargetStatus, self).__init__(**kwargs) self.id = None self.current_availability = None self.average_queue_time = None self.status_page = None + + +class UsageEvent(msrest.serialization.Model): + """Usage event details. + + :ivar dimension_id: The dimension id. + :vartype dimension_id: str + :ivar dimension_name: The dimension name. + :vartype dimension_name: str + :ivar measure_unit: The unit of measure. + :vartype measure_unit: str + :ivar amount_billed: The amount billed. + :vartype amount_billed: float + :ivar amount_consumed: The amount consumed. + :vartype amount_consumed: float + :ivar unit_price: The unit price. + :vartype unit_price: float + """ + + _attribute_map = { + 'dimension_id': {'key': 'dimensionId', 'type': 'str'}, + 'dimension_name': {'key': 'dimensionName', 'type': 'str'}, + 'measure_unit': {'key': 'measureUnit', 'type': 'str'}, + 'amount_billed': {'key': 'amountBilled', 'type': 'float'}, + 'amount_consumed': {'key': 'amountConsumed', 'type': 'float'}, + 'unit_price': {'key': 'unitPrice', 'type': 'float'}, + } + + def __init__( + self, + *, + dimension_id: Optional[str] = None, + dimension_name: Optional[str] = None, + measure_unit: Optional[str] = None, + amount_billed: Optional[float] = None, + amount_consumed: Optional[float] = None, + unit_price: Optional[float] = None, + **kwargs + ): + """ + :keyword dimension_id: The dimension id. + :paramtype dimension_id: str + :keyword dimension_name: The dimension name. + :paramtype dimension_name: str + :keyword measure_unit: The unit of measure. + :paramtype measure_unit: str + :keyword amount_billed: The amount billed. + :paramtype amount_billed: float + :keyword amount_consumed: The amount consumed. + :paramtype amount_consumed: float + :keyword unit_price: The unit price. + :paramtype unit_price: float + """ + super(UsageEvent, self).__init__(**kwargs) + self.dimension_id = dimension_id + self.dimension_name = dimension_name + self.measure_unit = measure_unit + self.amount_billed = amount_billed + self.amount_consumed = amount_consumed + self.unit_price = unit_price diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_quantum_client_enums.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_quantum_client_enums.py index 7d883d845c0..86e843202f4 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_quantum_client_enums.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/models/_quantum_client_enums.py @@ -6,34 +6,19 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -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 DimensionScope(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DimensionScope(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The scope at which the quota is applied. """ WORKSPACE = "Workspace" SUBSCRIPTION = "Subscription" -class JobStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class JobStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The job status. """ @@ -43,7 +28,18 @@ class JobStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): FAILED = "Failed" CANCELLED = "Cancelled" -class MeterPeriod(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class JsonPatchOperation(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The operation to be performed. + """ + + ADD = "add" + REMOVE = "remove" + REPLACE = "replace" + MOVE = "move" + COPY = "copy" + TEST = "test" + +class MeterPeriod(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The time period in which the quota's underlying meter is accumulated. Based on calendar year. 'None' is used for concurrent quotas. """ @@ -51,7 +47,7 @@ class MeterPeriod(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): NONE = "None" MONTHLY = "Monthly" -class ProviderAvailability(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProviderAvailability(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Provider availability. """ @@ -59,7 +55,7 @@ class ProviderAvailability(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): DEGRADED = "Degraded" UNAVAILABLE = "Unavailable" -class TargetAvailability(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class TargetAvailability(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Target availability. """ diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_jobs_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_jobs_operations.py index e83215c590c..879019fa527 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_jobs_operations.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_jobs_operations.py @@ -5,24 +5,197 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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 azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section 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, List, Optional, TypeVar, Union T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False +# fmt: off + +def build_list_request( + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + job_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'), + "jobId": _SERIALIZER.url("job_id", job_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + headers=header_parameters, + **kwargs + ) + + +def build_create_request( + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + job_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'), + "jobId": _SERIALIZER.url("job_id", job_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + headers=header_parameters, + **kwargs + ) + + +def build_cancel_request( + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + job_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'), + "jobId": _SERIALIZER.url("job_id", job_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + headers=header_parameters, + **kwargs + ) + + +def build_patch_request( + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + job_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'), + "jobId": _SERIALIZER.url("job_id", job_id, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + headers=header_parameters, + **kwargs + ) + +# fmt: on class JobsOperations(object): """JobsOperations operations. @@ -30,7 +203,7 @@ class JobsOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.quantum.models + :type models: ~azure.quantum._client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,6 +218,7 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs # type: Any @@ -54,7 +228,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either JobDetailsList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.quantum.models.JobDetailsList] + :rtype: ~azure.core.paging.ItemPaged[~azure.quantum._client.models.JobDetailsList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetailsList"] @@ -62,34 +236,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('JobDetailsList', pipeline_response) + deserialized = self._deserialize("JobDetailsList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -103,15 +276,17 @@ def get_next(next_link=None): 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) + raise HttpResponseError(response=response) return pipeline_response + return ItemPaged( get_next, extract_data ) list.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs'} # type: ignore + @distributed_trace def get( self, job_id, # type: str @@ -124,7 +299,7 @@ def get( :type job_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: JobDetails, or the result of cls(response) - :rtype: ~azure.quantum.models.JobDetails + :rtype: ~azure.quantum._client.models.JobDetails :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetails"] @@ -132,33 +307,25 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + job_id=job_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.RestError, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('JobDetails', pipeline_response) @@ -166,8 +333,11 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + @distributed_trace def create( self, job_id, # type: str @@ -180,10 +350,10 @@ def create( :param job_id: Id of the job. :type job_id: str :param job: The complete metadata of the job to submit. - :type job: ~azure.quantum.models.JobDetails + :type job: ~azure.quantum._client.models.JobDetails :keyword callable cls: A custom type or function that will be passed the direct response :return: JobDetails, or the result of cls(response) - :rtype: ~azure.quantum.models.JobDetails + :rtype: ~azure.quantum._client.models.JobDetails :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.JobDetails"] @@ -191,38 +361,30 @@ def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(job, 'JobDetails') + + request = build_create_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + job_id=job_id, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(job, 'JobDetails') - 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.RestError, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) if response.status_code == 200: deserialized = self._deserialize('JobDetails', pipeline_response) @@ -234,8 +396,11 @@ def create( return cls(pipeline_response, deserialized, {}) return deserialized + create.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + @distributed_trace def cancel( self, job_id, # type: str @@ -256,35 +421,89 @@ def cancel( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - 'jobId': self._serialize.url("job_id", job_id, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_cancel_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + job_id=job_id, + template_url=self.cancel.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 [204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.RestError, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) if cls: return cls(pipeline_response, None, {}) cancel.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + + + @distributed_trace + def patch( + self, + job_id, # type: str + patch_job, # type: List["_models.JsonPatchDocument"] + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.JobDetails"] + """Patch a job. + + :param job_id: Id of the job. + :type job_id: str + :param patch_job: The json patch document containing the patch operations. + :type patch_job: list[~azure.quantum._client.models.JsonPatchDocument] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobDetails, or the result of cls(response) + :rtype: ~azure.quantum._client.models.JobDetails or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.JobDetails"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(patch_job, '[JsonPatchDocument]') + + request = build_patch_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + job_id=job_id, + content_type=content_type, + json=_json, + template_url=self.patch.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('JobDetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + patch.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/jobs/{jobId}'} # type: ignore + diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_providers_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_providers_operations.py index 114b91916f4..e18defa0514 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_providers_operations.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_providers_operations.py @@ -5,24 +5,61 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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 azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section 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]] +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False +# fmt: off + +def build_get_status_request( + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/providerStatus') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + headers=header_parameters, + **kwargs + ) + +# fmt: on class ProvidersOperations(object): """ProvidersOperations operations. @@ -30,7 +67,7 @@ class ProvidersOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.quantum.models + :type models: ~azure.quantum._client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,6 +82,7 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def get_status( self, **kwargs # type: Any @@ -54,7 +92,7 @@ def get_status( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ProviderStatusList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.quantum.models.ProviderStatusList] + :rtype: ~azure.core.paging.ItemPaged[~azure.quantum._client.models.ProviderStatusList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ProviderStatusList"] @@ -62,34 +100,33 @@ def get_status( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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.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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_get_status_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=self.get_status.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_get_status_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ProviderStatusList', pipeline_response) + deserialized = self._deserialize("ProviderStatusList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -102,12 +139,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.RestError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_quotas_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_quotas_operations.py index 863524d4df4..8ebd532d227 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_quotas_operations.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_quotas_operations.py @@ -5,24 +5,61 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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 azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section 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]] +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False +# fmt: off + +def build_list_request( + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/quotas') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + headers=header_parameters, + **kwargs + ) + +# fmt: on class QuotasOperations(object): """QuotasOperations operations. @@ -30,7 +67,7 @@ class QuotasOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.quantum.models + :type models: ~azure.quantum._client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,6 +82,7 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list( self, **kwargs # type: Any @@ -54,7 +92,7 @@ def list( :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either QuotaList or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.quantum.models.QuotaList] + :rtype: ~azure.core.paging.ItemPaged[~azure.quantum._client.models.QuotaList] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.QuotaList"] @@ -62,34 +100,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - 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("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('QuotaList', pipeline_response) + deserialized = self._deserialize("QuotaList", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -102,12 +139,13 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.RestError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) return pipeline_response + return ItemPaged( get_next, extract_data ) diff --git a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_storage_operations.py b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_storage_operations.py index 0d9e08fcdcf..9133b65a449 100644 --- a/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_storage_operations.py +++ b/src/quantum/azext_quantum/vendored_sdks/azure_quantum/operations/_storage_operations.py @@ -5,23 +5,64 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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 azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section 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]] +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False +# fmt: off + +def build_sas_uri_request( + subscription_id, # type: str + resource_group_name, # type: str + workspace_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/storage/sasUri') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str'), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str'), + "workspaceName": _SERIALIZER.url("workspace_name", workspace_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + headers=header_parameters, + **kwargs + ) + +# fmt: on class StorageOperations(object): """StorageOperations operations. @@ -29,7 +70,7 @@ class StorageOperations(object): instantiates it for you and attaches it as an attribute. :ivar models: Alias to model classes used in this operation group. - :type models: ~azure.quantum.models + :type models: ~azure.quantum._client.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,6 +85,7 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def sas_uri( self, blob_details, # type: "_models.BlobDetails" @@ -54,10 +96,10 @@ def sas_uri( workspace. The SAS URL can be used to upload job input and/or download job output. :param blob_details: The details (name and container) of the blob to store or download data. - :type blob_details: ~azure.quantum.models.BlobDetails + :type blob_details: ~azure.quantum._client.models.BlobDetails :keyword callable cls: A custom type or function that will be passed the direct response :return: SasUriResponse, or the result of cls(response) - :rtype: ~azure.quantum.models.SasUriResponse + :rtype: ~azure.quantum._client.models.SasUriResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.SasUriResponse"] @@ -65,37 +107,29 @@ def sas_uri( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.sas_uri.metadata['url'] # type: ignore - path_format_arguments = { - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("self._config.resource_group_name", self._config.resource_group_name, 'str'), - 'workspaceName': self._serialize.url("self._config.workspace_name", self._config.workspace_name, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(blob_details, 'BlobDetails') - # 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') + request = build_sas_uri_request( + subscription_id=self._config.subscription_id, + resource_group_name=self._config.resource_group_name, + workspace_name=self._config.workspace_name, + content_type=content_type, + json=_json, + template_url=self.sas_uri.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(blob_details, 'BlobDetails') - 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) - error = self._deserialize.failsafe_deserialize(_models.RestError, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.RestError, pipeline_response) + raise HttpResponseError(response=response, model=error) deserialized = self._deserialize('SasUriResponse', pipeline_response) @@ -103,4 +137,6 @@ def sas_uri( return cls(pipeline_response, deserialized, {}) return deserialized + sas_uri.metadata = {'url': '/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Quantum/workspaces/{workspaceName}/storage/sasUri'} # type: ignore + diff --git a/src/quantum/eng/Generate-DataPlane-Client.ps1 b/src/quantum/eng/Generate-DataPlane-Client.ps1 new file mode 100644 index 00000000000..59df22519cc --- /dev/null +++ b/src/quantum/eng/Generate-DataPlane-Client.ps1 @@ -0,0 +1,76 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +<# +.SYNOPSIS +(Re)Generate the underlying Azure Quantum Python data-Plane client for the CLI based on the latest published Swagger. +.DESCRIPTION +(Re)Generate the underlying Azure Quantum Python data-Plane client for the CLI based on the latest published Swagger. +.PARAMETER SwaggerRepoUrl +The URL of the git repo that contains the Swagger and AutoRest ReadMe.md configurations (defaults to "https://github.com/Azure/azure-rest-api-specs") +.PARAMETER SwaggerRepoBranch +The name of the swagger repo branch (defaults to "main") +.PARAMETER SwaggerTagVersion +The Swagger version to be used (defaults to "", which will use the default tag from the main ReadMe.md) + +.EXAMPLE +./eng/Generate-DataPlane-Client.ps1 + +# Regenerate the data-plane client using the latest published Swagger from the official repo + +.EXAMPLE +./eng/Generate-DataPlane-Client.ps1 -SwaggerRepoBranch "feature/quantum/update-clients" + +# Regenerate the data-plane client using the Swagger from the official repo, but from a feature branch + +.EXAMPLE +./eng/Generate-DataPlane-Client.ps1 -SwaggerTagVersion "package-2019-11-04-preview" + +# Regenerate the data-plane client using the an older version of the Swagger + +#> + +[CmdletBinding()] +Param ( + [string] $SwaggerRepoUrl = "https://github.com/Azure/azure-rest-api-specs", + [string] $SwaggerRepoBranch = "main", + [string] $SwaggerTagVersion +) + +$OutputFolder = Join-Path $PSScriptRoot "../azext_quantum/vendored_sdks/azure_quantum/" + +Write-Verbose "Output folder: $OutputFolder" + +Write-Verbose "Deleting previous output folder contents" +if (Test-Path $OutputFolder) { + Remove-Item $OutputFolder -Recurse | Write-Verbose +} + +$AutoRestConfig = "$SwaggerRepoUrl/blob/$SwaggerRepoBranch/specification/quantum/data-plane/readme.md" + +Write-Verbose "Installing latest AutoRest client" +npm install -g autorest@latest | Write-Verbose + +if ([string]::IsNullOrEmpty($SwaggerTagVersion)) +{ + Write-Verbose "Generating the client based on:`nConfig: $AutoRestConfig" + autorest $AutoRestConfig ` + --verbose ` + --python ` + --python-mode=cli ` + --output-folder=$OutputFolder ` + | Write-Verbose +} +else +{ + Write-Verbose "Generating the client based on:`nConfig: $AutoRestConfig`nTag: $SwaggerTagVersion" + autorest $AutoRestConfig ` + --verbose ` + --python ` + --python-mode=cli ` + --tag=$SwaggerTagVersion ` + --output-folder=$OutputFolder ` + | Write-Verbose +} diff --git a/src/quantum/setup.py b/src/quantum/setup.py index fdca8d303ea..7845882b1e1 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.10.0' +VERSION = '0.13.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -47,11 +47,11 @@ description='Microsoft Azure Command-Line Tools Quantum Extension', author='Microsoft Corporation, Quantum Team', author_email='que-contacts@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/quantum', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, - package_data={'azext_quantum': ['azext_metadata.json']}, + package_data={'azext_quantum': ['azext_metadata.json', 'operations/templates/create-workspace-and-assign-role.json']}, ) diff --git a/src/quota/HISTORY.rst b/src/quota/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/quota/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/quota/README.md b/src/quota/README.md new file mode 100644 index 00000000000..33f818886d7 --- /dev/null +++ b/src/quota/README.md @@ -0,0 +1,112 @@ +# Azure CLI quota Extension # +This is the extension for quota + +### How to use ### +Install this extension using the below CLI command +``` +az extension add --name quota +``` + +### Included Features ### +#### quota usage #### +##### List-UsagesForCompute ##### +``` +az quota usage list \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus" +``` +##### List-UsagesForNetwork ##### +``` +az quota usage list \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" +``` +##### List-UsagesMachineLearningServices ##### +``` +az quota usage list \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/eastus" +``` +##### Show-UsagesRequestForCompute ##### +``` +az quota usage show --resource-name "standardNDSFamily" \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus" +``` +##### Show-UsagesRequestForNetwork ##### +``` +az quota usage show --resource-name "MinPublicIpInterNetworkPrefixLength" \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" +``` +#### quota #### +##### Create-ForNetwork ##### +``` +az quota create --resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/00000000-00\ + 00-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" \ + --limit-object value=10 limit-object-type=LimitValue --resource-type MinPublicIpInterNetworkPrefixLength +``` +##### Create-ForNetworkStandardSkuPublicIpAddressesResource ##### +``` +az quota create --resource-name "StandardSkuPublicIpAddresses" --scope "subscriptions/00000000-0000-0000\ + -0000-000000000000/providers/Microsoft.Network/locations/eastus" \ + --limit-object value=10 limit-object-type=LimitValue --resource-type PublicIpAddresses +``` +##### Create-ForCompute ##### +``` +az quota create --resource-name "standardFSv2Family" --scope "subscriptions/00000000-0000-0000-0000-0000\ + 00000000/providers/Microsoft.Compute/locations/eastus" \ + --limit-object value=10 limit-object-type=LimitValue --resource-type dedicated +``` +##### Create-MachineLearningServicesLowPriorityResource ##### +``` +az quota create --resource-name "TotalLowPriorityCores" --scope "subscriptions/00000000-0000-0000-0000-\ + 000000000000/providers/Microsoft.MachineLearning/Services/locations/eastus" \ + --limit-object value=10 limit-object-type=LimitValue --resource-type lowPriority +``` +##### Show-ForNetwork ##### +``` +az quota show --resource-name "MinPublicIpInterNetworkPrefixLength" \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" +``` +##### Show-ForCompute ##### +``` +az quota show --resource-name "standardNDSFamily" \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus" +``` +##### List-QuotaLimitsForCompute ##### +``` +az quota list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus" +``` +##### List-QuotaLimitsForNetwork ##### +``` +az quota list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" +``` +##### List-QuotaLimitsMachineLearningServices ##### +``` +az quota list \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/eastus" +``` +##### Update-ForCompute ##### +``` +az quota update --resource-name "standardFSv2Family" --scope "subscriptions/00000000-0000-0000-0000-0000\ + 00000000/providers/Microsoft.Compute/locations/eastus" --limit-object value=10 limit-object-type=LimitValue + --resource-type dedicated +``` +##### Update-ForNetwork ##### +``` +az quota update --resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/00000000-00\ + 00-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" \ + --limit-object value=10 limit-object-type=LimitValue --resource-type MinPublicIpInterNetworkPrefixLength +``` +#### quota request status #### +##### List-QuotaRequestHistory ##### +``` +az quota request status list \ + --scope "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus" +``` +##### Show ##### +``` +az quota request status show --name "2B5C8515-37D8-4B6A-879B-CD641A2CF605" \ + --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus" +``` +#### quota operation #### +##### List ##### +``` +az quota operation list +``` \ No newline at end of file diff --git a/src/quota/azext_quota/__init__.py b/src/quota/azext_quota/__init__.py new file mode 100644 index 00000000000..8a72f1d48f5 --- /dev/null +++ b/src/quota/azext_quota/__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_quota._help +from azure.cli.core import AzCommandsLoader + + +class AzureQuotaExtensionAPICommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_quota.generated._client_factory import cf_quota_cl + quota_custom = CliCommandType( + operations_tmpl='azext_quota.custom#{}', + client_factory=cf_quota_cl) + parent = super(AzureQuotaExtensionAPICommandsLoader, self) + parent.__init__(cli_ctx=cli_ctx, custom_command_type=quota_custom) + + def load_command_table(self, args): + from azext_quota.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_quota.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_quota.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_quota.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 = AzureQuotaExtensionAPICommandsLoader diff --git a/src/quota/azext_quota/_help.py b/src/quota/azext_quota/_help.py new file mode 100644 index 00000000000..9b93f87a6e9 --- /dev/null +++ b/src/quota/azext_quota/_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/quota/azext_quota/action.py b/src/quota/azext_quota/action.py new file mode 100644 index 00000000000..9b3d0a8a78c --- /dev/null +++ b/src/quota/azext_quota/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/quota/azext_quota/azext_metadata.json b/src/quota/azext_quota/azext_metadata.json new file mode 100644 index 00000000000..cfc30c747c7 --- /dev/null +++ b/src/quota/azext_quota/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/quota/azext_quota/custom.py b/src/quota/azext_quota/custom.py new file mode 100644 index 00000000000..885447229d6 --- /dev/null +++ b/src/quota/azext_quota/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/quota/azext_quota/generated/__init__.py b/src/quota/azext_quota/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/quota/azext_quota/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/quota/azext_quota/generated/_client_factory.py b/src/quota/azext_quota/generated/_client_factory.py new file mode 100644 index 00000000000..f1242577573 --- /dev/null +++ b/src/quota/azext_quota/generated/_client_factory.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. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_quota_cl(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_quota.vendored_sdks.quota import AzureQuotaExtensionAPI + return get_mgmt_service_client(cli_ctx, + AzureQuotaExtensionAPI, + subscription_bound=False) + + +def cf_usage(cli_ctx, *_): + return cf_quota_cl(cli_ctx).usages + + +def cf_quota(cli_ctx, *_): + return cf_quota_cl(cli_ctx).quota + + +def cf_quotarequeststatus(cli_ctx, *_): + return cf_quota_cl(cli_ctx).quotarequeststatus + + +def cf_quotaoperation(cli_ctx, *_): + return cf_quota_cl(cli_ctx).quotaoperation diff --git a/src/quota/azext_quota/generated/_help.py b/src/quota/azext_quota/generated/_help.py new file mode 100644 index 00000000000..2742f99099a --- /dev/null +++ b/src/quota/azext_quota/generated/_help.py @@ -0,0 +1,207 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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['quota'] = ''' + type: group + short-summary: Manage Azure Quota Extension API +''' + +helps['quota usage'] = """ + type: group + short-summary: Manage usage with quota +""" + +helps['quota usage list'] = """ + type: command + short-summary: "Get a list of current usage for all resources for the scope specified." + examples: + - name: Quotas_listUsagesForCompute + text: |- + az quota usage list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Comp\ +ute/locations/eastus" + - name: Quotas_listUsagesForNetwork + text: |- + az quota usage list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Netw\ +ork/locations/eastus" + - name: Quotas_listUsagesMachineLearningServices + text: |- + az quota usage list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Mach\ +ineLearningServices/locations/eastus" +""" + +helps['quota usage show'] = """ + type: command + short-summary: "Get the current usage of a resource." + examples: + - name: Quotas_UsagesRequest_ForCompute + text: |- + az quota usage show --resource-name "standardNDSFamily" --scope "subscriptions/00000000-0000-0000-0000-0\ +00000000000/providers/Microsoft.Compute/locations/eastus" + - name: Quotas_UsagesRequest_ForNetwork + text: |- + az quota usage show --resource-name "MinPublicIpInterNetworkPrefixLength" --scope \ +"subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" +""" + +helps['quota list'] = """ + type: command + short-summary: "Get a list of current quota limits of all resources for the specified scope. The response from \ +this GET operation can be leveraged to submit requests to update a quota." + examples: + - name: Quotas_listQuotaLimitsForCompute + text: |- + az quota list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/lo\ +cations/eastus" + - name: Quotas_listQuotaLimitsForNetwork + text: |- + az quota list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/lo\ +cations/eastus" + - name: Quotas_listQuotaLimitsMachineLearningServices + text: |- + az quota list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLea\ +rningServices/locations/eastus" +""" + +helps['quota show'] = """ + type: command + short-summary: "Get the quota limit of a resource. The response can be used to determine the remaining quota to \ +calculate a new quota limit that can be submitted with a PUT request." + examples: + - name: Quotas_Get_Request_ForCompute + text: |- + az quota show --resource-name "standardNDSFamily" --scope "subscriptions/00000000-0000-0000-0000-0000000\ +00000/providers/Microsoft.Compute/locations/eastus" + - name: Quotas_UsagesRequest_ForNetwork + text: |- + az quota show --resource-name "MinPublicIpInterNetworkPrefixLength" --scope \ +"subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" +""" + +helps['quota create'] = """ + type: command + short-summary: "Create the quota limit for the specified resource with the requested value. " + parameters: + - name: --limit-object + short-summary: "The resource quota limit value." + long-summary: | + Usage: --limit-object value=XX limit-type=XX limit-object-type=XX + value: Required. The quota/limit value + limit-type: The quota or usages limit types. + limit-object-type: Required. The limit object type. + examples: + - name: Quotas_PutRequest_ForNetwork + text: |- + az quota create --resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/00000000-00\ +00-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" \ +--limit-object value=10 limit-object-type=LimitValue --resource-type MinPublicIpInterNetworkPrefixLength + - name: Quotas_PutRequest_ForNetwork_StandardSkuPublicIpAddressesResource + text: |- + az quota create --resource-name "StandardSkuPublicIpAddresses" --scope "subscriptions/00000000-0000-0000\ +-0000-000000000000/providers/Microsoft.Network/locations/eastus" \ +--limit-object value=10 limit-object-type=LimitValue --resource-type PublicIpAddresses + - name: Quotas_Put_Request_ForCompute + text: |- + az quota create --resource-name "standardFSv2Family" --scope "subscriptions/00000000-0000-0000-0000-0000\ +00000000/providers/Microsoft.Compute/locations/eastus" \ +--limit-object value=10 limit-object-type=LimitValue --resource-type dedicated + - name: Quotas_Request_ForMachineLearningServices_LowPriorityResource + text: |- + az quota create --resource-name "TotalLowPriorityCores" --scope "subscriptions/00000000-0000-0000-0000-\ +000000000000/providers/Microsoft.MachineLearning/Services/locations/eastus" \ +--limit-object value=10 limit-object-type=LimitValue --resource-type lowPriority +""" + +helps['quota update'] = """ + type: command + short-summary: "Update the quota limit for a specific resource to the specified value." + parameters: + - name: --limit-object + short-summary: "The resource quota limit value." + long-summary: | + Usage: --limit-object value=XX limit-type=XX limit-object-type=XX + value: Required. The quota/limit value + limit-type: The quota or usages limit types. + limit-object-type: Required. The limit object type. + examples: + - name: Quotas_Request_PatchForCompute + text: |- + az quota update --resource-name "standardFSv2Family" --scope "subscriptions/00000000-0000-0000-0000-0000\ +00000000/providers/Microsoft.Compute/locations/eastus" --limit-object value=10 limit-object-type=LimitValue \ +--resource-type dedicated + - name: Quotas_Request_PatchForNetwork + text: |- + az quota update --resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/00000000-00\ +00-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" \ +--limit-object value=10 limit-object-type=LimitValue --resource-type MinPublicIpInterNetworkPrefixLength +""" + +helps['quota wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the quota is met. + examples: + - name: Pause executing next line of CLI script until the quota is successfully created. + text: |- + az quota wait --resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/00000000-0000\ +-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" --created + - name: Pause executing next line of CLI script until the quota is successfully updated. + text: |- + az quota wait --resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/00000000-0000\ +-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" --updated +""" + +helps['quota request'] = """ + type: group + short-summary: Manage quota request with quota +""" + +helps['quota request status'] = """ + type: group + short-summary: Manage quota request status with quota +""" + +helps['quota request status list'] = """ + type: command + short-summary: "For the specified scope, get the current quota requests for a one year period ending at the time \ +is made. Use the **oData** filter to select quota requests." + examples: + - name: QuotaRequestHistory + text: |- + az quota request status list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/M\ +icrosoft.Compute/locations/eastus" +""" + +helps['quota request status show'] = """ + type: command + short-summary: "Get the quota request details and status by quota request ID for the resources of the resource \ +provider at a specific location. The quota request ID **id** is returned in the response of the PUT operation." + examples: + - name: ShowQuotaRequest + text: |- + az quota request status show --name "00000000-0000-0000-0000-000000000000" --scope \ +"subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus" +""" + +helps['quota operation'] = """ + type: group + short-summary: Manage quota operation with quota +""" + +helps['quota operation list'] = """ + type: command + short-summary: "List all the operations supported by the Microsoft.Quota resource provider." + examples: + - name: GetOperations + text: |- + az quota operation list +""" diff --git a/src/quota/azext_quota/generated/_params.py b/src/quota/azext_quota/generated/_params.py new file mode 100644 index 00000000000..62c79337866 --- /dev/null +++ b/src/quota/azext_quota/generated/_params.py @@ -0,0 +1,74 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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.validators import validate_file_or_dict +from azext_quota.action import AddLimitobject + + +def load_arguments(self, _): + + with self.argument_context('quota usage list') as c: + c.argument('scope', type=str, help='The target Azure resource URI') + + with self.argument_context('quota usage show') as c: + c.argument('resource_name', type=str, help='The resource name for a given resource provider') + c.argument('scope', type=str, help='The target Azure resource URI') + + with self.argument_context('quota list') as c: + c.argument('scope', type=str, help='The target Azure resource URI') + + with self.argument_context('quota show') as c: + c.argument('resource_name', type=str, help='The resource name for a given resource provider.') + c.argument('scope', type=str, help='The target Azure resource URI.') + + with self.argument_context('quota create') as c: + c.argument('resource_name', type=str, help='The resource name for a given resource provider.') + c.argument('scope', type=str, help='The target Azure resource URI.') + c.argument('limit_object', action=AddLimitobject, nargs='+', help='The resource quota limit value.', + arg_group='Limit') + c.argument('name', type=str, help=' The resource type name.') + c.argument('resource_type', type=str, help='The resource type name.') + c.argument('properties', type=validate_file_or_dict, help='The additional properties for the specific resource provider.') + + with self.argument_context('quota update') as c: + c.argument('resource_name', type=str, help='The resource name for a given resource provider.') + c.argument('scope', type=str, help='The target Azure resource URI.') + c.argument('limit_object', action=AddLimitobject, nargs='+', help='The resource quota limit value.', + arg_group='Limit') + c.argument('name', type=str, help='The resource type name.') + c.argument('resource_type', type=str, help='Resource type name.') + c.argument('properties', type=validate_file_or_dict, help='The additional properties for the specific resource provider.') + c.ignore('create_quota_request') + + with self.argument_context('quota wait') as c: + c.argument('resource_name', type=str, help='The resource name for a given resource provider.') + c.argument('scope', type=str, help='The target Azure resource URI.') + + with self.argument_context('quota request status list') as c: + c.argument('scope', type=str, help='The target Azure resource URI.') + c.argument('filter', options_list=['--filter'], type=str, help='The filter that is applied to packet capture ' + 'request. Multiple filters can be applied') + c.argument('top', type=int, help='Number of records to return.') + c.argument('skip_token', type=str, help='SkipToken is only used if a previous operation returned a partial ' + 'result. If a previous response contains a nextLink element, the value of the nextLink element will ' + 'include a skipToken parameter that specifies a starting point to use for subsequent calls.') + + with self.argument_context('quota request status show') as c: + c.argument('name', type=str, help='Quota request ID.') + c.argument('scope', type=str, help='The target Azure resource URI.') + + with self.argument_context('quota operation list') as c: + c.argument('top', type=int, help='An optional query parameter which specifies the maximum number of records to ' + 'be returned by the server.') + c.argument('skip_token', type=str, help='SkipToken is only used if a previous operation returned a partial ' + 'result. If a previous response contains a nextLink element, the value of the nextLink element will ' + 'include a skipToken parameter that specifies a starting point to use for subsequent calls.') diff --git a/src/quota/azext_quota/generated/_validators.py b/src/quota/azext_quota/generated/_validators.py new file mode 100644 index 00000000000..b33a44c1ebf --- /dev/null +++ b/src/quota/azext_quota/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/quota/azext_quota/generated/action.py b/src/quota/azext_quota/generated/action.py new file mode 100644 index 00000000000..70b30fe45bd --- /dev/null +++ b/src/quota/azext_quota/generated/action.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. +# +# 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 AddLimitobject(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.limit_object = 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 = {} + d['limit_object_type'] = 'LimitValue' + for k in properties: + kl = k.lower() + v = properties[k] + + if kl == 'value': + d['value'] = v[0] + + elif kl == 'limit-type': + d['limit_type'] = v[0] + + elif kl == 'limit-object-type': + d['limit_object_type'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter limit-object. All possible keys are: value, limit-type, limit-object-type' + .format(k) + ) + + return d diff --git a/src/quota/azext_quota/generated/commands.py b/src/quota/azext_quota/generated/commands.py new file mode 100644 index 00000000000..76b95cb3262 --- /dev/null +++ b/src/quota/azext_quota/generated/commands.py @@ -0,0 +1,65 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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_quota.generated._client_factory import cf_usage, cf_quota, cf_quotarequeststatus, cf_quotaoperation + + +quota_quota = CliCommandType( + operations_tmpl='azext_quota.vendored_sdks.quota.operations._quota_operations#quotaOperations.{}', + client_factory=cf_quota, +) + + +quota_quotaoperation = CliCommandType( + operations_tmpl='azext_quota.vendored_sdks.quota.operations._quota_operation_operations#quotaOperationOperations.{}', + client_factory=cf_quotaoperation, +) + + +quota_quotarequeststatus = CliCommandType( + operations_tmpl=( + 'azext_quota.vendored_sdks.quota.operations._quota_request_status_operations#quotaRequestStatusOperations.{}' + ), + client_factory=cf_quotarequeststatus, +) + + +quota_usage = CliCommandType( + operations_tmpl='azext_quota.vendored_sdks.quota.operations._usages_operations#usagesOperations.{}', + client_factory=cf_usage, +) + + +def load_command_table(self, _): + + with self.command_group('quota', quota_quota, client_factory=cf_quota, is_experimental=True) as g: + g.custom_command('list', 'quota_list') + g.custom_show_command('show', 'quota_show') + g.custom_command('create', 'quota_create', supports_no_wait=True) + g.custom_command('update', 'quota_update', supports_no_wait=True) + g.custom_wait_command('wait', 'quota_show') + + with self.command_group('quota operation', quota_quotaoperation, client_factory=cf_quotaoperation) as g: + g.custom_command('list', 'quota_operation_list') + + with self.command_group( + 'quota request status', quota_quotarequeststatus, client_factory=cf_quotarequeststatus + ) as g: + g.custom_command('list', 'quota_request_status_list') + g.custom_show_command('show', 'quota_request_status_show') + + with self.command_group('quota usage', quota_usage, client_factory=cf_usage) as g: + g.custom_command('list', 'quota_usage_list') + g.custom_show_command('show', 'quota_usage_show') diff --git a/src/quota/azext_quota/generated/custom.py b/src/quota/azext_quota/generated/custom.py new file mode 100644 index 00000000000..ab57de8f682 --- /dev/null +++ b/src/quota/azext_quota/generated/custom.py @@ -0,0 +1,127 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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.util import CLIError +from azure.cli.core.util import sdk_no_wait + + +def quota_usage_list(client, + scope): + return client.list(scope=scope) + + +def quota_usage_show(client, + resource_name, + scope): + return client.get(resource_name=resource_name, + scope=scope) + + +def quota_list(client, + scope): + return client.list(scope=scope) + + +def quota_show(client, + resource_name, + scope): + return client.get(resource_name=resource_name, + scope=scope) + + +def quota_create(client, + resource_name, + scope, + limit_object=None, + resource_type=None, + properties=None, + no_wait=False): + all_limit = [] + if limit_object is not None: + all_limit.append(limit_object) + if len(all_limit) > 1: + raise CLIError('at most one of limit object is needed for limit!') + limit = all_limit[0] if len(all_limit) == 1 else None + create_quota_request = {} + create_quota_request['properties'] = {} + create_quota_request['properties']['limit'] = {} + if limit is not None: + create_quota_request['properties']['limit'] = limit + if properties is not None: + create_quota_request['properties']['properties'] = properties + create_quota_request['properties']['name'] = {} + if resource_name is not None: + create_quota_request['properties']['name']['value'] = resource_name + if len(create_quota_request['properties']['name']) == 0: + del create_quota_request['properties']['name'] + if resource_type is not None: + create_quota_request['properties']['resource_type'] = resource_type + return sdk_no_wait(no_wait, + client.begin_create_or_update, + resource_name=resource_name, + scope=scope, + create_quota_request=create_quota_request) + + +def quota_update(client, + resource_name, + scope, + limit_object=None, + resource_type=None, + properties=None, + no_wait=False): + all_limit = [] + if limit_object is not None: + all_limit.append(limit_object) + if len(all_limit) > 1: + raise CLIError('at most one of limit object is needed for limit!') + limit = all_limit[0] if len(all_limit) == 1 else None + create_quota_request = {} + create_quota_request['properties'] = {} + create_quota_request['properties']['limit'] = {} + if limit is not None: + create_quota_request['properties']['limit'] = limit + if properties is not None: + create_quota_request['properties']['properties'] = properties + create_quota_request['properties']['name'] = {} + if resource_name is not None: + create_quota_request['properties']['name']['value'] = resource_name + if len(create_quota_request['properties']['name']) == 0: + del create_quota_request['properties']['name'] + if resource_type is not None: + create_quota_request['properties']['resource_type'] = resource_type + return sdk_no_wait(no_wait, + client.begin_update, + resource_name=resource_name, + scope=scope, + create_quota_request=create_quota_request) + + +def quota_request_status_list(client, + scope, + filter=None, + top=None, + skip_token=None): + return client.list(scope=scope, + filter=filter, + top=top, + skiptoken=skip_token) + + +def quota_request_status_show(client, + name, + scope): + return client.get(id=name, + scope=scope) + + +def quota_operation_list(client): + return client.list() diff --git a/src/quota/azext_quota/manual/__init__.py b/src/quota/azext_quota/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/quota/azext_quota/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/quota/azext_quota/tests/__init__.py b/src/quota/azext_quota/tests/__init__.py new file mode 100644 index 00000000000..70488e93851 --- /dev/null +++ b/src/quota/azext_quota/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/quota/azext_quota/tests/latest/__init__.py b/src/quota/azext_quota/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/quota/azext_quota/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/quota/azext_quota/tests/latest/recordings/test_quota_crud.yaml b/src/quota/azext_quota/tests/latest/recordings/test_quota_crud.yaml new file mode 100644 index 00000000000..65820b254c5 --- /dev/null +++ b/src/quota/azext_quota/tests/latest/recordings/test_quota_crud.yaml @@ -0,0 +1,1290 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quota show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses?api-version=2021-03-15-preview + response: + body: + string: '{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"name":{"value":"StandardSkuPublicIpAddresses","localizedValue":"Public + IP Addresses - Standard"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses","type":"Microsoft.Quota/Quotas","name":"StandardSkuPublicIpAddresses"}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '486' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:17:10 GMT + ms-requestid: + - ZwmNWgTUAkGGHP2AnXXz2w.0 + server: + - Kestrel + 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: '{"properties": {"limit": {"limitObjectType": "LimitValue", "value": 6000}, + "name": {"value": "StandardSkuPublicIpAddresses"}, "resourceType": "PublicIPAddresses"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + Content-Length: + - '163' + Content-Type: + - application/json + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses?api-version=2021-03-15-preview + response: + body: + string: '{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"properties":{},"provisioningState":"InProgress","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/deb3a186-25bb-4075-ab5b-71c567a7426d","type":"Microsoft.Quota/Quotas","name":"deb3a186-25bb-4075-ab5b-71c567a7426d"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '477' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:17:13 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + ms-requestid: + - C679hLNA-kmIISUfczWxfg.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '24' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d","name":"deb3a186-25bb-4075-ab5b-71c567a7426d","startTime":"2022-03-01T09:17:11Z","status":"InProgress","type":"Microsoft.Quota/OperationsStatus"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '330' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:17:44 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + ms-requestid: + - KaXEPLR4mku_MRdhDpvh5g.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '99' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d","name":"deb3a186-25bb-4075-ab5b-71c567a7426d","startTime":"2022-03-01T09:17:11Z","status":"InProgress","type":"Microsoft.Quota/OperationsStatus"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '330' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:18:14 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + ms-requestid: + - MC79fihUyEeeSWJI5EVDwA.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '98' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d","name":"deb3a186-25bb-4075-ab5b-71c567a7426d","startTime":"2022-03-01T09:17:11Z","status":"InProgress","type":"Microsoft.Quota/OperationsStatus"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '330' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:18:46 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + ms-requestid: + - ypJuPEv8ikm9ZlldR2Ki_A.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '97' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d","name":"deb3a186-25bb-4075-ab5b-71c567a7426d","startTime":"2022-03-01T09:17:11Z","status":"InProgress","type":"Microsoft.Quota/OperationsStatus"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '330' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:19:16 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + ms-requestid: + - MF7MTdU17UeUFHSEeWkkeg.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '96' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d","name":"deb3a186-25bb-4075-ab5b-71c567a7426d","startTime":"2022-03-01T09:17:11Z","status":"InProgress","type":"Microsoft.Quota/OperationsStatus"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '330' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:19:47 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + ms-requestid: + - NqAGvl9WiUalrPrqGkpWkw.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '95' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d","name":"deb3a186-25bb-4075-ab5b-71c567a7426d","startTime":"2022-03-01T09:17:11Z","status":"InProgress","type":"Microsoft.Quota/OperationsStatus"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '330' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:20:17 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + ms-requestid: + - Av8qXFhQiE2zXXINaGZiKA.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '94' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/deb3a186-25bb-4075-ab5b-71c567a7426d","name":"deb3a186-25bb-4075-ab5b-71c567a7426d","startTime":"2022-03-01T09:17:11Z","status":"Succeeded","type":"Microsoft.Quota/OperationsStatus"}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '329' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:20:48 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/deb3a186-25bb-4075-ab5b-71c567a7426d?api-version=2021-03-15-preview + ms-requestid: + - oPqh6M7o3UWyNpw1xvRHjA.0 + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '93' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota create + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses?api-version=2021-03-15-preview + response: + body: + string: '{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"name":{"value":"StandardSkuPublicIpAddresses","localizedValue":"Public + IP Addresses - Standard"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses","type":"Microsoft.Quota/Quotas","name":"StandardSkuPublicIpAddresses"}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '486' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:20:57 GMT + ms-requestid: + - Gegp0ZyBzkqwUQI3flICbA.0 + server: + - Kestrel + 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: '{"properties": {"limit": {"limitObjectType": "LimitValue", "value": 6000}, + "name": {"value": "StandardSkuPublicIpAddresses"}, "resourceType": "PublicIPAddresses"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quota update + Connection: + - keep-alive + Content-Length: + - '163' + Content-Type: + - application/json + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses?api-version=2021-03-15-preview + response: + body: + string: '{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"properties":{},"provisioningState":"InProgress","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f29546ea-f04b-42e9-beb1-937a2e828d1e","type":"Microsoft.Quota/Quotas","name":"f29546ea-f04b-42e9-beb1-937a2e828d1e"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '477' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:21:01 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + ms-requestid: + - epKNLgRxN0Wi9j33Zz9Kgg.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '24' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota update + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e","name":"f29546ea-f04b-42e9-beb1-937a2e828d1e","startTime":"2022-03-01T09:20:59Z","status":"InProgress","type":"Microsoft.Quota/OperationsStatus"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '330' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:21:31 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + ms-requestid: + - Uu3P7KOMQU2zVBeuw2Dcpg.0 + operation-location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '99' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota update + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/operationsStatus/f29546ea-f04b-42e9-beb1-937a2e828d1e","name":"f29546ea-f04b-42e9-beb1-937a2e828d1e","startTime":"2022-03-01T09:20:59Z","status":"Succeeded","type":"Microsoft.Quota/OperationsStatus"}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '329' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:01 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + ms-requestid: + - z5kzU1EKaEO2gwx0kJ5J7g.0 + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '98' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - quota update + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope --resource-type --limit-object + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses?api-version=2021-03-15-preview + response: + body: + string: '{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"name":{"value":"StandardSkuPublicIpAddresses","localizedValue":"Public + IP Addresses - Standard"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses","type":"Microsoft.Quota/Quotas","name":"StandardSkuPublicIpAddresses"}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '486' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:03 GMT + ms-requestid: + - G4dpMesMu0msQi5MJL1ayg.0 + server: + - Kestrel + 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: + - quota list + Connection: + - keep-alive + ParameterSetName: + - --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas?api-version=2021-03-15-preview + response: + body: + string: '{"value":[{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"VirtualNetworks","localizedValue":"Virtual + Networks"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/VirtualNetworks","type":"Microsoft.Quota/Quotas","name":"VirtualNetworks"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"StaticPublicIPAddresses","localizedValue":"Static + Public IP Addresses"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StaticPublicIPAddresses","type":"Microsoft.Quota/Quotas","name":"StaticPublicIPAddresses"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5000},"name":{"value":"NetworkSecurityGroups","localizedValue":"Network + Security Groups"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/NetworkSecurityGroups","type":"Microsoft.Quota/Quotas","name":"NetworkSecurityGroups"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"PublicIPAddresses","localizedValue":"Public + IP Addresses"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/PublicIPAddresses","type":"Microsoft.Quota/Quotas","name":"PublicIPAddresses"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"InternalPublicIPAddresses","localizedValue":"Internal + Public IP Addresses - Basic"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/InternalPublicIPAddresses","type":"Microsoft.Quota/Quotas","name":"InternalPublicIPAddresses"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5},"name":{"value":"CustomIpPrefixes","localizedValue":"Custom + Ip Prefixes"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/CustomIpPrefixes","type":"Microsoft.Quota/Quotas","name":"CustomIpPrefixes"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":2147483647},"name":{"value":"PublicIpPrefixes","localizedValue":"Public + Ip Prefixes"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/PublicIpPrefixes","type":"Microsoft.Quota/Quotas","name":"PublicIpPrefixes"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":2147483647},"name":{"value":"NatGateways","localizedValue":"Nat + Gateways"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/NatGateways","type":"Microsoft.Quota/Quotas","name":"NatGateways"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":65536},"name":{"value":"NetworkInterfaces","localizedValue":"Network + Interfaces"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/NetworkInterfaces","type":"Microsoft.Quota/Quotas","name":"NetworkInterfaces"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":65536},"name":{"value":"PrivateEndpoints","localizedValue":"Private + Endpoints"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/PrivateEndpoints","type":"Microsoft.Quota/Quotas","name":"PrivateEndpoints"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":2147483647},"name":{"value":"PrivateEndpointRedirectMaps","localizedValue":"Private + Endpoint Redirect Maps"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/PrivateEndpointRedirectMaps","type":"Microsoft.Quota/Quotas","name":"PrivateEndpointRedirectMaps"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"LoadBalancers","localizedValue":"Load + Balancers"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/LoadBalancers","type":"Microsoft.Quota/Quotas","name":"LoadBalancers"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":800},"name":{"value":"PrivateLinkServices","localizedValue":"Private + Link Services"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/PrivateLinkServices","type":"Microsoft.Quota/Quotas","name":"PrivateLinkServices"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"ApplicationGateways","localizedValue":"Application + Gateways"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/ApplicationGateways","type":"Microsoft.Quota/Quotas","name":"ApplicationGateways"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":200},"name":{"value":"RouteTables","localizedValue":"Route + Tables"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/RouteTables","type":"Microsoft.Quota/Quotas","name":"RouteTables"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"RouteFilters","localizedValue":"Route + Filters"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/RouteFilters","type":"Microsoft.Quota/Quotas","name":"RouteFilters"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1},"name":{"value":"NetworkWatchers","localizedValue":"Network + Watchers"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/NetworkWatchers","type":"Microsoft.Quota/Quotas","name":"NetworkWatchers"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10000},"name":{"value":"PacketCaptures","localizedValue":"Packet + Captures"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/PacketCaptures","type":"Microsoft.Quota/Quotas","name":"PacketCaptures"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":3000},"name":{"value":"ApplicationSecurityGroups","localizedValue":"Application + Security Groups."},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/ApplicationSecurityGroups","type":"Microsoft.Quota/Quotas","name":"ApplicationSecurityGroups"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1},"name":{"value":"DdosProtectionPlans","localizedValue":"DDoS + Protection Plans."},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/DdosProtectionPlans","type":"Microsoft.Quota/Quotas","name":"DdosProtectionPlans"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":200},"name":{"value":"DdosCustomPolicies","localizedValue":"DDoS + customized policies"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/DdosCustomPolicies","type":"Microsoft.Quota/Quotas","name":"DdosCustomPolicies"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":500},"name":{"value":"ServiceEndpointPolicies","localizedValue":"Service + Endpoint Policies"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/ServiceEndpointPolicies","type":"Microsoft.Quota/Quotas","name":"ServiceEndpointPolicies"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":200},"name":{"value":"NetworkIntentPolicies","localizedValue":"Network + Intent Policies"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/NetworkIntentPolicies","type":"Microsoft.Quota/Quotas","name":"NetworkIntentPolicies"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"StandardSkuLoadBalancers","localizedValue":"Standard + Sku Load Balancers"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuLoadBalancers","type":"Microsoft.Quota/Quotas","name":"StandardSkuLoadBalancers"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"name":{"value":"StandardSkuPublicIpAddresses","localizedValue":"Public + IP Addresses - Standard"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses","type":"Microsoft.Quota/Quotas","name":"StandardSkuPublicIpAddresses"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":128},"name":{"value":"AuxiliaryModeEnabledNetworkInterfaces","localizedValue":"Auxiliary + Mode Enabled Network Interfaces"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/AuxiliaryModeEnabledNetworkInterfaces","type":"Microsoft.Quota/Quotas","name":"AuxiliaryModeEnabledNetworkInterfaces"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":20},"name":{"value":"DnsServersPerVirtualNetwork","localizedValue":"DNS + servers per Virtual Network"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/DnsServersPerVirtualNetwork","type":"Microsoft.Quota/Quotas","name":"DnsServersPerVirtualNetwork"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5},"name":{"value":"CustomDnsServersPerP2SVpnGateway","localizedValue":"Custom + DNS servers per P2SVpnGateway"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/CustomDnsServersPerP2SVpnGateway","type":"Microsoft.Quota/Quotas","name":"CustomDnsServersPerP2SVpnGateway"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":3000},"name":{"value":"SubnetsPerVirtualNetwork","localizedValue":"Subnets + per Virtual Network"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/SubnetsPerVirtualNetwork","type":"Microsoft.Quota/Quotas","name":"SubnetsPerVirtualNetwork"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":65536},"name":{"value":"IPConfigurationsPerVirtualNetwork","localizedValue":"IP + Configurations per Virtual Network"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/IPConfigurationsPerVirtualNetwork","type":"Microsoft.Quota/Quotas","name":"IPConfigurationsPerVirtualNetwork"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":500},"name":{"value":"PeeringsPerVirtualNetwork","localizedValue":"Peerings + per Virtual Network"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/PeeringsPerVirtualNetwork","type":"Microsoft.Quota/Quotas","name":"PeeringsPerVirtualNetwork"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1000},"name":{"value":"SecurityRulesPerNetworkSecurityGroup","localizedValue":"Security + rules per Network Security Group"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/SecurityRulesPerNetworkSecurityGroup","type":"Microsoft.Quota/Quotas","name":"SecurityRulesPerNetworkSecurityGroup"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":100},"name":{"value":"SecurityRulesPerNetworkIntentPolicy","localizedValue":"Security + rules per Network Intent Policy"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/SecurityRulesPerNetworkIntentPolicy","type":"Microsoft.Quota/Quotas","name":"SecurityRulesPerNetworkIntentPolicy"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":200},"name":{"value":"RoutesPerNetworkIntentPolicy","localizedValue":"Routes + per Network Intent Policy"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/RoutesPerNetworkIntentPolicy","type":"Microsoft.Quota/Quotas","name":"RoutesPerNetworkIntentPolicy"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":4000},"name":{"value":"SecurityRuleAddressesOrPortsPerNetworkSecurityGroup","localizedValue":"Security + rules addresses or ports per Network Security Group"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup","type":"Microsoft.Quota/Quotas","name":"SecurityRuleAddressesOrPortsPerNetworkSecurityGroup"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":250},"name":{"value":"InboundRulesPerLoadBalancer","localizedValue":"Inbound + Rules per Load Balancer"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/InboundRulesPerLoadBalancer","type":"Microsoft.Quota/Quotas","name":"InboundRulesPerLoadBalancer"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":200},"name":{"value":"FrontendIPConfigurationPerLoadBalancer","localizedValue":"Frontend + IP Configurations per Load Balancer"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/FrontendIPConfigurationPerLoadBalancer","type":"Microsoft.Quota/Quotas","name":"FrontendIPConfigurationPerLoadBalancer"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5},"name":{"value":"OutboundRulesPerLoadBalancer","localizedValue":"Outbound + Rules per Load Balancer"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/OutboundRulesPerLoadBalancer","type":"Microsoft.Quota/Quotas","name":"OutboundRulesPerLoadBalancer"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":400},"name":{"value":"RoutesPerRouteTable","localizedValue":"Routes + per Route Table"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/RoutesPerRouteTable","type":"Microsoft.Quota/Quotas","name":"RoutesPerRouteTable"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":25},"name":{"value":"RoutesWithServiceTagPerRouteTable","localizedValue":"Routes + with service tag per Route Table"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/RoutesWithServiceTagPerRouteTable","type":"Microsoft.Quota/Quotas","name":"RoutesWithServiceTagPerRouteTable"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":256},"name":{"value":"SecondaryIPConfigurationsPerNetworkInterface","localizedValue":"Secondary + IP Configurations per Network Interface"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/SecondaryIPConfigurationsPerNetworkInterface","type":"Microsoft.Quota/Quotas","name":"SecondaryIPConfigurationsPerNetworkInterface"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":500},"name":{"value":"SecondaryIPConfigurationsPerPrivateEndpointNetworkInterface","localizedValue":"Secondary + IP Configurations per PrivateEndpoint Network Interface"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/SecondaryIPConfigurationsPerPrivateEndpointNetworkInterface","type":"Microsoft.Quota/Quotas","name":"SecondaryIPConfigurationsPerPrivateEndpointNetworkInterface"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":300},"name":{"value":"InboundNatOrLbRulesPerNetworkInterface","localizedValue":"Inbound + rules per Network Interface"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/InboundNatOrLbRulesPerNetworkInterface","type":"Microsoft.Quota/Quotas","name":"InboundNatOrLbRulesPerNetworkInterface"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1},"name":{"value":"RouteFilterRulesPerRouteFilter","localizedValue":"Route + filter rules per Route Filter"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/RouteFilterRulesPerRouteFilter","type":"Microsoft.Quota/Quotas","name":"RouteFilterRulesPerRouteFilter"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1},"name":{"value":"RouteFiltersPerExpressRouteBgpPeering","localizedValue":"Route + filters per Express route BGP Peering"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/RouteFiltersPerExpressRouteBgpPeering","type":"Microsoft.Quota/Quotas","name":"RouteFiltersPerExpressRouteBgpPeering"},{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":28},"name":{"value":"MinPublicIpInterNetworkPrefixLength","localizedValue":"Public + IPv4 Prefix Length"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/MinPublicIpInterNetworkPrefixLength","type":"Microsoft.Quota/Quotas","name":"MinPublicIpInterNetworkPrefixLength"}]}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '22051' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:05 GMT + ms-requestid: + - DGMC2NOK6U2DswA03Kw9fw.0 + server: + - Kestrel + 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: + - quota show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses?api-version=2021-03-15-preview + response: + body: + string: '{"properties":{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"name":{"value":"StandardSkuPublicIpAddresses","localizedValue":"Public + IP Addresses - Standard"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotas/StandardSkuPublicIpAddresses","type":"Microsoft.Quota/Quotas","name":"StandardSkuPublicIpAddresses"}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '486' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:06 GMT + ms-requestid: + - z8LEW0jhyUeIA0MqTfZbfw.0 + server: + - Kestrel + 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: + - quota usage show + Connection: + - keep-alive + ParameterSetName: + - --resource-name --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/StandardSkuPublicIpAddresses?api-version=2021-03-15-preview + response: + body: + string: '{"properties":{"usages":{"UsagesType":"Independent","Value":1},"name":{"value":"StandardSkuPublicIpAddresses","localizedValue":"Public + IP Addresses - Standard"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/StandardSkuPublicIpAddresses","type":"Microsoft.Quota/Usages","name":"StandardSkuPublicIpAddresses"}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '454' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:07 GMT + ms-requestid: + - laMOrukPFUGYpK9ygJZX8w.0 + server: + - Kestrel + 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: + - quota usage list + Connection: + - keep-alive + ParameterSetName: + - --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages?api-version=2021-03-15-preview + response: + body: + string: '{"value":[{"properties":{"usages":{"UsagesType":"Independent","Value":2},"name":{"value":"VirtualNetworks","localizedValue":"Virtual + Networks"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/VirtualNetworks","type":"Microsoft.Quota/Usages","name":"VirtualNetworks"},{"properties":{"usages":{"UsagesType":"Independent","Value":1},"name":{"value":"StaticPublicIPAddresses","localizedValue":"Static + Public IP Addresses"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/StaticPublicIPAddresses","type":"Microsoft.Quota/Usages","name":"StaticPublicIPAddresses"},{"properties":{"usages":{"UsagesType":"Independent","Value":8},"name":{"value":"NetworkSecurityGroups","localizedValue":"Network + Security Groups"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/NetworkSecurityGroups","type":"Microsoft.Quota/Usages","name":"NetworkSecurityGroups"},{"properties":{"usages":{"UsagesType":"Independent","Value":1},"name":{"value":"PublicIPAddresses","localizedValue":"Public + IP Addresses"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/PublicIPAddresses","type":"Microsoft.Quota/Usages","name":"PublicIPAddresses"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"InternalPublicIPAddresses","localizedValue":"Internal + Public IP Addresses - Basic"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/InternalPublicIPAddresses","type":"Microsoft.Quota/Usages","name":"InternalPublicIPAddresses"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"CustomIpPrefixes","localizedValue":"Custom + Ip Prefixes"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/CustomIpPrefixes","type":"Microsoft.Quota/Usages","name":"CustomIpPrefixes"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"PublicIpPrefixes","localizedValue":"Public + Ip Prefixes"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/PublicIpPrefixes","type":"Microsoft.Quota/Usages","name":"PublicIpPrefixes"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"NatGateways","localizedValue":"Nat + Gateways"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/NatGateways","type":"Microsoft.Quota/Usages","name":"NatGateways"},{"properties":{"usages":{"UsagesType":"Independent","Value":-3},"name":{"value":"NetworkInterfaces","localizedValue":"Network + Interfaces"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/NetworkInterfaces","type":"Microsoft.Quota/Usages","name":"NetworkInterfaces"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"PrivateEndpoints","localizedValue":"Private + Endpoints"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/PrivateEndpoints","type":"Microsoft.Quota/Usages","name":"PrivateEndpoints"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"PrivateEndpointRedirectMaps","localizedValue":"Private + Endpoint Redirect Maps"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/PrivateEndpointRedirectMaps","type":"Microsoft.Quota/Usages","name":"PrivateEndpointRedirectMaps"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"LoadBalancers","localizedValue":"Load + Balancers"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/LoadBalancers","type":"Microsoft.Quota/Usages","name":"LoadBalancers"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"PrivateLinkServices","localizedValue":"Private + Link Services"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/PrivateLinkServices","type":"Microsoft.Quota/Usages","name":"PrivateLinkServices"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"ApplicationGateways","localizedValue":"Application + Gateways"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/ApplicationGateways","type":"Microsoft.Quota/Usages","name":"ApplicationGateways"},{"properties":{"usages":{"UsagesType":"Independent","Value":2},"name":{"value":"RouteTables","localizedValue":"Route + Tables"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/RouteTables","type":"Microsoft.Quota/Usages","name":"RouteTables"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"RouteFilters","localizedValue":"Route + Filters"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/RouteFilters","type":"Microsoft.Quota/Usages","name":"RouteFilters"},{"properties":{"usages":{"UsagesType":"Independent","Value":1},"name":{"value":"NetworkWatchers","localizedValue":"Network + Watchers"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/NetworkWatchers","type":"Microsoft.Quota/Usages","name":"NetworkWatchers"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"PacketCaptures","localizedValue":"Packet + Captures"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/PacketCaptures","type":"Microsoft.Quota/Usages","name":"PacketCaptures"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"ApplicationSecurityGroups","localizedValue":"Application + Security Groups."},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/ApplicationSecurityGroups","type":"Microsoft.Quota/Usages","name":"ApplicationSecurityGroups"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"DdosProtectionPlans","localizedValue":"DDoS + Protection Plans."},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/DdosProtectionPlans","type":"Microsoft.Quota/Usages","name":"DdosProtectionPlans"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"DdosCustomPolicies","localizedValue":"DDoS + customized policies"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/DdosCustomPolicies","type":"Microsoft.Quota/Usages","name":"DdosCustomPolicies"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"ServiceEndpointPolicies","localizedValue":"Service + Endpoint Policies"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/ServiceEndpointPolicies","type":"Microsoft.Quota/Usages","name":"ServiceEndpointPolicies"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"NetworkIntentPolicies","localizedValue":"Network + Intent Policies"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/NetworkIntentPolicies","type":"Microsoft.Quota/Usages","name":"NetworkIntentPolicies"},{"properties":{"usages":{"UsagesType":"Independent","Value":2},"name":{"value":"StandardSkuLoadBalancers","localizedValue":"Standard + Sku Load Balancers"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/StandardSkuLoadBalancers","type":"Microsoft.Quota/Usages","name":"StandardSkuLoadBalancers"},{"properties":{"usages":{"UsagesType":"Independent","Value":1},"name":{"value":"StandardSkuPublicIpAddresses","localizedValue":"Public + IP Addresses - Standard"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/StandardSkuPublicIpAddresses","type":"Microsoft.Quota/Usages","name":"StandardSkuPublicIpAddresses"},{"properties":{"usages":{"UsagesType":"Independent","Value":70},"name":{"value":"AuxiliaryModeEnabledNetworkInterfaces","localizedValue":"Auxiliary + Mode Enabled Network Interfaces"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/AuxiliaryModeEnabledNetworkInterfaces","type":"Microsoft.Quota/Usages","name":"AuxiliaryModeEnabledNetworkInterfaces"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"DnsServersPerVirtualNetwork","localizedValue":"DNS + servers per Virtual Network"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/DnsServersPerVirtualNetwork","type":"Microsoft.Quota/Usages","name":"DnsServersPerVirtualNetwork"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"CustomDnsServersPerP2SVpnGateway","localizedValue":"Custom + DNS servers per P2SVpnGateway"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/CustomDnsServersPerP2SVpnGateway","type":"Microsoft.Quota/Usages","name":"CustomDnsServersPerP2SVpnGateway"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"SubnetsPerVirtualNetwork","localizedValue":"Subnets + per Virtual Network"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/SubnetsPerVirtualNetwork","type":"Microsoft.Quota/Usages","name":"SubnetsPerVirtualNetwork"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"IPConfigurationsPerVirtualNetwork","localizedValue":"IP + Configurations per Virtual Network"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/IPConfigurationsPerVirtualNetwork","type":"Microsoft.Quota/Usages","name":"IPConfigurationsPerVirtualNetwork"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"PeeringsPerVirtualNetwork","localizedValue":"Peerings + per Virtual Network"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/PeeringsPerVirtualNetwork","type":"Microsoft.Quota/Usages","name":"PeeringsPerVirtualNetwork"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"SecurityRulesPerNetworkSecurityGroup","localizedValue":"Security + rules per Network Security Group"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/SecurityRulesPerNetworkSecurityGroup","type":"Microsoft.Quota/Usages","name":"SecurityRulesPerNetworkSecurityGroup"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"SecurityRulesPerNetworkIntentPolicy","localizedValue":"Security + rules per Network Intent Policy"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/SecurityRulesPerNetworkIntentPolicy","type":"Microsoft.Quota/Usages","name":"SecurityRulesPerNetworkIntentPolicy"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"RoutesPerNetworkIntentPolicy","localizedValue":"Routes + per Network Intent Policy"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/RoutesPerNetworkIntentPolicy","type":"Microsoft.Quota/Usages","name":"RoutesPerNetworkIntentPolicy"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"SecurityRuleAddressesOrPortsPerNetworkSecurityGroup","localizedValue":"Security + rules addresses or ports per Network Security Group"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup","type":"Microsoft.Quota/Usages","name":"SecurityRuleAddressesOrPortsPerNetworkSecurityGroup"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"InboundRulesPerLoadBalancer","localizedValue":"Inbound + Rules per Load Balancer"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/InboundRulesPerLoadBalancer","type":"Microsoft.Quota/Usages","name":"InboundRulesPerLoadBalancer"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"FrontendIPConfigurationPerLoadBalancer","localizedValue":"Frontend + IP Configurations per Load Balancer"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/FrontendIPConfigurationPerLoadBalancer","type":"Microsoft.Quota/Usages","name":"FrontendIPConfigurationPerLoadBalancer"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"OutboundRulesPerLoadBalancer","localizedValue":"Outbound + Rules per Load Balancer"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/OutboundRulesPerLoadBalancer","type":"Microsoft.Quota/Usages","name":"OutboundRulesPerLoadBalancer"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"RoutesPerRouteTable","localizedValue":"Routes + per Route Table"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/RoutesPerRouteTable","type":"Microsoft.Quota/Usages","name":"RoutesPerRouteTable"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"RoutesWithServiceTagPerRouteTable","localizedValue":"Routes + with service tag per Route Table"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/RoutesWithServiceTagPerRouteTable","type":"Microsoft.Quota/Usages","name":"RoutesWithServiceTagPerRouteTable"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"SecondaryIPConfigurationsPerNetworkInterface","localizedValue":"Secondary + IP Configurations per Network Interface"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/SecondaryIPConfigurationsPerNetworkInterface","type":"Microsoft.Quota/Usages","name":"SecondaryIPConfigurationsPerNetworkInterface"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"SecondaryIPConfigurationsPerPrivateEndpointNetworkInterface","localizedValue":"Secondary + IP Configurations per PrivateEndpoint Network Interface"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/SecondaryIPConfigurationsPerPrivateEndpointNetworkInterface","type":"Microsoft.Quota/Usages","name":"SecondaryIPConfigurationsPerPrivateEndpointNetworkInterface"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"InboundNatOrLbRulesPerNetworkInterface","localizedValue":"Inbound + rules per Network Interface"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/InboundNatOrLbRulesPerNetworkInterface","type":"Microsoft.Quota/Usages","name":"InboundNatOrLbRulesPerNetworkInterface"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"RouteFilterRulesPerRouteFilter","localizedValue":"Route + filter rules per Route Filter"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/RouteFilterRulesPerRouteFilter","type":"Microsoft.Quota/Usages","name":"RouteFilterRulesPerRouteFilter"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"RouteFiltersPerExpressRouteBgpPeering","localizedValue":"Route + filters per Express route BGP Peering"},"properties":{},"unit":"Count","isQuotaApplicable":false},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/RouteFiltersPerExpressRouteBgpPeering","type":"Microsoft.Quota/Usages","name":"RouteFiltersPerExpressRouteBgpPeering"},{"properties":{"usages":{"UsagesType":"Independent","Value":0},"name":{"value":"MinPublicIpInterNetworkPrefixLength","localizedValue":"Public + IPv4 Prefix Length"},"properties":{},"unit":"Count","isQuotaApplicable":true},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/usages/MinPublicIpInterNetworkPrefixLength","type":"Microsoft.Quota/Usages","name":"MinPublicIpInterNetworkPrefixLength"}]}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '20601' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:09 GMT + ms-requestid: + - NIO9TObw1EuyO9JIlFuPMQ.0 + server: + - Kestrel + 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: + - quota request status list + Connection: + - keep-alive + ParameterSetName: + - --scope --query + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests?api-version=2021-03-15-preview + response: + body: + string: '{"value":[{"properties":{"message":"Request completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T09:20:59Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"f29546ea-f04b-42e9-beb1-937a2e828d1e"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f29546ea-f04b-42e9-beb1-937a2e828d1e","type":"Microsoft.Quota/QuotaRequests","name":"f29546ea-f04b-42e9-beb1-937a2e828d1e"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T09:17:11Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"deb3a186-25bb-4075-ab5b-71c567a7426d"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/deb3a186-25bb-4075-ab5b-71c567a7426d","type":"Microsoft.Quota/QuotaRequests","name":"deb3a186-25bb-4075-ab5b-71c567a7426d"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T09:10:41Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"807be912-778c-44d6-bf47-1d97a14ab20c"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/807be912-778c-44d6-bf47-1d97a14ab20c","type":"Microsoft.Quota/QuotaRequests","name":"807be912-778c-44d6-bf47-1d97a14ab20c"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T09:08:34Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"ea267f92-3c90-466a-b4ee-fea1c6e0c724"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/ea267f92-3c90-466a-b4ee-fea1c6e0c724","type":"Microsoft.Quota/QuotaRequests","name":"ea267f92-3c90-466a-b4ee-fea1c6e0c724"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T09:03:59Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"699c6de8-d82f-4b56-845d-ce5177b7015c"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/699c6de8-d82f-4b56-845d-ce5177b7015c","type":"Microsoft.Quota/QuotaRequests","name":"699c6de8-d82f-4b56-845d-ce5177b7015c"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T09:02:52Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"2ae105a1-0135-411e-9947-89f39e6683cd"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/2ae105a1-0135-411e-9947-89f39e6683cd","type":"Microsoft.Quota/QuotaRequests","name":"2ae105a1-0135-411e-9947-89f39e6683cd"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T08:26:16Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"de4bffa9-cadf-47cd-a78f-c853bc7debed"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/de4bffa9-cadf-47cd-a78f-c853bc7debed","type":"Microsoft.Quota/QuotaRequests","name":"de4bffa9-cadf-47cd-a78f-c853bc7debed"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T08:25:11Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"a6a1fdf9-2449-4853-b312-657c069a581a"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/a6a1fdf9-2449-4853-b312-657c069a581a","type":"Microsoft.Quota/QuotaRequests","name":"a6a1fdf9-2449-4853-b312-657c069a581a"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T08:22:42Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"a5417e6d-5a74-4bdf-8eb0-6e36df04e053"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/a5417e6d-5a74-4bdf-8eb0-6e36df04e053","type":"Microsoft.Quota/QuotaRequests","name":"a5417e6d-5a74-4bdf-8eb0-6e36df04e053"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T08:21:36Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"41a07bd3-64ff-4b95-a0e4-5ba77ac425c7"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/41a07bd3-64ff-4b95-a0e4-5ba77ac425c7","type":"Microsoft.Quota/QuotaRequests","name":"41a07bd3-64ff-4b95-a0e4-5ba77ac425c7"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T08:06:12Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"c0f5f3de-e01e-48be-8df8-6a9e8678a944"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/c0f5f3de-e01e-48be-8df8-6a9e8678a944","type":"Microsoft.Quota/QuotaRequests","name":"c0f5f3de-e01e-48be-8df8-6a9e8678a944"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T06:09:58Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"f73f0488-2592-4ff8-b224-1a225295a528"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f73f0488-2592-4ff8-b224-1a225295a528","type":"Microsoft.Quota/QuotaRequests","name":"f73f0488-2592-4ff8-b224-1a225295a528"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T06:08:52Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"ff2aa1c4-398e-438e-8f03-eef3fc3bdbfe"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/ff2aa1c4-398e-438e-8f03-eef3fc3bdbfe","type":"Microsoft.Quota/QuotaRequests","name":"ff2aa1c4-398e-438e-8f03-eef3fc3bdbfe"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T03:59:07Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"dd7561a2-1b2f-48b2-a308-ea19b6ceea92"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/dd7561a2-1b2f-48b2-a308-ea19b6ceea92","type":"Microsoft.Quota/QuotaRequests","name":"dd7561a2-1b2f-48b2-a308-ea19b6ceea92"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T03:58:01Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"96ee3b6f-92f2-457a-b01d-a6117b6d0066"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/96ee3b6f-92f2-457a-b01d-a6117b6d0066","type":"Microsoft.Quota/QuotaRequests","name":"96ee3b6f-92f2-457a-b01d-a6117b6d0066"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T07:11:35Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"db1d6e7d-6845-4d08-b6e6-ac74cb292f6d"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/db1d6e7d-6845-4d08-b6e6-ac74cb292f6d","type":"Microsoft.Quota/QuotaRequests","name":"db1d6e7d-6845-4d08-b6e6-ac74cb292f6d"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T07:08:59Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"416043c9-f625-409a-81fb-80d666baa8c0"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/416043c9-f625-409a-81fb-80d666baa8c0","type":"Microsoft.Quota/QuotaRequests","name":"416043c9-f625-409a-81fb-80d666baa8c0"},{"properties":{"error":{"code":"CapacityRisks","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T07:03:58Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":28},"message":"Request + failed.","name":{"value":"MINPUBLICIPINTERNETWORKPREFIXLENGTH"},"provisioningState":"Failed","subRequestId":"0ab8d104-9850-4dfa-bcc8-44eb57e519a1"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/0ab8d104-9850-4dfa-bcc8-44eb57e519a1","type":"Microsoft.Quota/QuotaRequests","name":"0ab8d104-9850-4dfa-bcc8-44eb57e519a1"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T06:59:58Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"388fafae-1990-42c7-a6da-9f3ed91139cf"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/388fafae-1990-42c7-a6da-9f3ed91139cf","type":"Microsoft.Quota/QuotaRequests","name":"388fafae-1990-42c7-a6da-9f3ed91139cf"},{"properties":{"error":{"code":"CapacityRisks","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T06:41:26Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6005},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"9ee623b0-9deb-4cb5-b176-360b5876b663"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/9ee623b0-9deb-4cb5-b176-360b5876b663","type":"Microsoft.Quota/QuotaRequests","name":"9ee623b0-9deb-4cb5-b176-360b5876b663"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T06:40:07Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"f0b09e0b-fd92-4881-b3c5-bbab28e54c6c"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f0b09e0b-fd92-4881-b3c5-bbab28e54c6c","type":"Microsoft.Quota/QuotaRequests","name":"f0b09e0b-fd92-4881-b3c5-bbab28e54c6c"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T06:39:29Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"9421d545-e26f-44aa-ab71-85c8080f689d"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/9421d545-e26f-44aa-ab71-85c8080f689d","type":"Microsoft.Quota/QuotaRequests","name":"9421d545-e26f-44aa-ab71-85c8080f689d"},{"properties":{"error":{"code":"CapacityRisks","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T03:43:32Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":29},"message":"Request + failed.","name":{"value":"MINPUBLICIPINTERNETWORKPREFIXLENGTH"},"provisioningState":"Failed","subRequestId":"99235687-b72b-427b-8201-1f3a05536b15"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/99235687-b72b-427b-8201-1f3a05536b15","type":"Microsoft.Quota/QuotaRequests","name":"99235687-b72b-427b-8201-1f3a05536b15"},{"properties":{"error":{"code":"CapacityRisks","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T03:38:49Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"471b03f6-ffa5-43f7-ac22-4d453ea97edd"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/471b03f6-ffa5-43f7-ac22-4d453ea97edd","type":"Microsoft.Quota/QuotaRequests","name":"471b03f6-ffa5-43f7-ac22-4d453ea97edd"},{"properties":{"error":{"code":"CapacityRisks","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T03:36:10Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"b707c412-d0ab-4378-8fef-a953363e68f8"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/b707c412-d0ab-4378-8fef-a953363e68f8","type":"Microsoft.Quota/QuotaRequests","name":"b707c412-d0ab-4378-8fef-a953363e68f8"},{"properties":{"error":{"code":"CapacityRisks","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T03:33:19Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"5906333d-4cc8-4302-8dc8-35f6a69b89d5"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/5906333d-4cc8-4302-8dc8-35f6a69b89d5","type":"Microsoft.Quota/QuotaRequests","name":"5906333d-4cc8-4302-8dc8-35f6a69b89d5"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:30:38Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"bc94365e-a64a-46e7-bb1b-4d3c56ad847b"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/bc94365e-a64a-46e7-bb1b-4d3c56ad847b","type":"Microsoft.Quota/QuotaRequests","name":"bc94365e-a64a-46e7-bb1b-4d3c56ad847b"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:29:35Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5014},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"a93fc3a2-297e-40c1-aeef-8db98d885f73"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/a93fc3a2-297e-40c1-aeef-8db98d885f73","type":"Microsoft.Quota/QuotaRequests","name":"a93fc3a2-297e-40c1-aeef-8db98d885f73"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-28T03:29:23Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"68ce2b39-0fba-47c8-93e9-b733ef7f2461"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/68ce2b39-0fba-47c8-93e9-b733ef7f2461","type":"Microsoft.Quota/QuotaRequests","name":"68ce2b39-0fba-47c8-93e9-b733ef7f2461"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:27:29Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5013},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"4e2d8a7e-4789-4c2c-aa1b-bfa8d4d95f18"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/4e2d8a7e-4789-4c2c-aa1b-bfa8d4d95f18","type":"Microsoft.Quota/QuotaRequests","name":"4e2d8a7e-4789-4c2c-aa1b-bfa8d4d95f18"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:20:40Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5012},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"79cced6a-aa28-4325-91a8-f85cbb7e25bf"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/79cced6a-aa28-4325-91a8-f85cbb7e25bf","type":"Microsoft.Quota/QuotaRequests","name":"79cced6a-aa28-4325-91a8-f85cbb7e25bf"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:18:34Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5011},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"5a8c54ac-567a-4147-bab3-7505eab77f74"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/5a8c54ac-567a-4147-bab3-7505eab77f74","type":"Microsoft.Quota/QuotaRequests","name":"5a8c54ac-567a-4147-bab3-7505eab77f74"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:14:30Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5010},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"48ed7eba-8e51-444e-b94c-a02aca4ce235"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/48ed7eba-8e51-444e-b94c-a02aca4ce235","type":"Microsoft.Quota/QuotaRequests","name":"48ed7eba-8e51-444e-b94c-a02aca4ce235"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:12:55Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5009},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"75e9e4b0-8626-4fcf-b544-50b279e81a95"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/75e9e4b0-8626-4fcf-b544-50b279e81a95","type":"Microsoft.Quota/QuotaRequests","name":"75e9e4b0-8626-4fcf-b544-50b279e81a95"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:04:11Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5008},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"199cf466-0698-4d8f-b1d8-d597f6eddc9c"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/199cf466-0698-4d8f-b1d8-d597f6eddc9c","type":"Microsoft.Quota/QuotaRequests","name":"199cf466-0698-4d8f-b1d8-d597f6eddc9c"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-28T03:01:34Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5007},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"8ffaf9c5-aa2c-497a-8d17-45033e6727ac"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/8ffaf9c5-aa2c-497a-8d17-45033e6727ac","type":"Microsoft.Quota/QuotaRequests","name":"8ffaf9c5-aa2c-497a-8d17-45033e6727ac"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-25T09:30:20Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5006},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"f62c59bc-ebe3-42bd-bff0-ffed15bf3443"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f62c59bc-ebe3-42bd-bff0-ffed15bf3443","type":"Microsoft.Quota/QuotaRequests","name":"f62c59bc-ebe3-42bd-bff0-ffed15bf3443"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-25T09:28:13Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5005},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"02705c36-9265-43c0-8f00-c807a5b61ead"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/02705c36-9265-43c0-8f00-c807a5b61ead","type":"Microsoft.Quota/QuotaRequests","name":"02705c36-9265-43c0-8f00-c807a5b61ead"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-25T09:23:20Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5004},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"0d28e2c1-a537-4b66-8299-c9e6700905db"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/0d28e2c1-a537-4b66-8299-c9e6700905db","type":"Microsoft.Quota/QuotaRequests","name":"0d28e2c1-a537-4b66-8299-c9e6700905db"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T09:16:14Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"d3476aa3-205a-4b35-810c-c9ddc67a889f"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/d3476aa3-205a-4b35-810c-c9ddc67a889f","type":"Microsoft.Quota/QuotaRequests","name":"d3476aa3-205a-4b35-810c-c9ddc67a889f"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-25T09:12:35Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5003},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"0c620091-d56f-4fce-bad4-1b93b53f70fd"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/0c620091-d56f-4fce-bad4-1b93b53f70fd","type":"Microsoft.Quota/QuotaRequests","name":"0c620091-d56f-4fce-bad4-1b93b53f70fd"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-25T09:06:15Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5002},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"e3f39452-49fe-4c92-b57c-96afcb156887"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/e3f39452-49fe-4c92-b57c-96afcb156887","type":"Microsoft.Quota/QuotaRequests","name":"e3f39452-49fe-4c92-b57c-96afcb156887"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T09:02:27Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"81307942-0331-452a-8c8f-aef6387c0e5b"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/81307942-0331-452a-8c8f-aef6387c0e5b","type":"Microsoft.Quota/QuotaRequests","name":"81307942-0331-452a-8c8f-aef6387c0e5b"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T08:54:49Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"53ef385e-2abe-4c12-904b-1e3546f731ca"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/53ef385e-2abe-4c12-904b-1e3546f731ca","type":"Microsoft.Quota/QuotaRequests","name":"53ef385e-2abe-4c12-904b-1e3546f731ca"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-25T08:43:47Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5001},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"522c20b3-1d57-4db0-b31f-127a640256d5"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/522c20b3-1d57-4db0-b31f-127a640256d5","type":"Microsoft.Quota/QuotaRequests","name":"522c20b3-1d57-4db0-b31f-127a640256d5"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T08:39:58Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"ca0e0a1b-6e4e-41fd-b834-74e12694ebc9"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/ca0e0a1b-6e4e-41fd-b834-74e12694ebc9","type":"Microsoft.Quota/QuotaRequests","name":"ca0e0a1b-6e4e-41fd-b834-74e12694ebc9"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T08:35:23Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":1001},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"6b550e01-e9e4-4b8d-afef-984ee5094961"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/6b550e01-e9e4-4b8d-afef-984ee5094961","type":"Microsoft.Quota/QuotaRequests","name":"6b550e01-e9e4-4b8d-afef-984ee5094961"},{"properties":{"message":"Request + completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-02-25T08:21:25Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":5000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"568c7e46-4c23-4570-9257-becd489b26b6"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/568c7e46-4c23-4570-9257-becd489b26b6","type":"Microsoft.Quota/QuotaRequests","name":"568c7e46-4c23-4570-9257-becd489b26b6"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T07:54:49Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"f68cb3c5-6247-434f-8171-cd300eb577f2"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f68cb3c5-6247-434f-8171-cd300eb577f2","type":"Microsoft.Quota/QuotaRequests","name":"f68cb3c5-6247-434f-8171-cd300eb577f2"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T07:50:05Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"fe1e1d84-f3ae-4b35-8ec7-a1eb04df7828"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/fe1e1d84-f3ae-4b35-8ec7-a1eb04df7828","type":"Microsoft.Quota/QuotaRequests","name":"fe1e1d84-f3ae-4b35-8ec7-a1eb04df7828"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T07:46:50Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"0c0cb399-78f5-4e75-8581-5ba97af6263a"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/0c0cb399-78f5-4e75-8581-5ba97af6263a","type":"Microsoft.Quota/QuotaRequests","name":"0c0cb399-78f5-4e75-8581-5ba97af6263a"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T07:27:31Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"75e0d5a1-a9a2-459c-a3a1-f87e0a922f36"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/75e0d5a1-a9a2-459c-a3a1-f87e0a922f36","type":"Microsoft.Quota/QuotaRequests","name":"75e0d5a1-a9a2-459c-a3a1-f87e0a922f36"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T06:57:10Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"23a70310-6b29-4bb3-bec2-2c43dd5b2c75"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/23a70310-6b29-4bb3-bec2-2c43dd5b2c75","type":"Microsoft.Quota/QuotaRequests","name":"23a70310-6b29-4bb3-bec2-2c43dd5b2c75"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T06:55:04Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"48ea4521-9368-48a7-8512-efb5220edb15"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/48ea4521-9368-48a7-8512-efb5220edb15","type":"Microsoft.Quota/QuotaRequests","name":"48ea4521-9368-48a7-8512-efb5220edb15"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T06:48:41Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"1b68961c-0db8-416e-8c78-33daa3a73cca"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/1b68961c-0db8-416e-8c78-33daa3a73cca","type":"Microsoft.Quota/QuotaRequests","name":"1b68961c-0db8-416e-8c78-33daa3a73cca"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T06:22:59Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"83c9f63a-a1dc-4019-abbd-8804ebd42191"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/83c9f63a-a1dc-4019-abbd-8804ebd42191","type":"Microsoft.Quota/QuotaRequests","name":"83c9f63a-a1dc-4019-abbd-8804ebd42191"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T06:19:58Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"e63bbe59-4e9d-4d0e-916b-43f85786b133"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/e63bbe59-4e9d-4d0e-916b-43f85786b133","type":"Microsoft.Quota/QuotaRequests","name":"e63bbe59-4e9d-4d0e-916b-43f85786b133"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-25T06:13:28Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"ba1483fe-017c-4917-a3e7-46e15da03997"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/ba1483fe-017c-4917-a3e7-46e15da03997","type":"Microsoft.Quota/QuotaRequests","name":"ba1483fe-017c-4917-a3e7-46e15da03997"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-24T02:31:58Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"9f5ae1bb-a3b1-4cb9-8dae-f54971b6294f"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/9f5ae1bb-a3b1-4cb9-8dae-f54971b6294f","type":"Microsoft.Quota/QuotaRequests","name":"9f5ae1bb-a3b1-4cb9-8dae-f54971b6294f"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-24T01:13:00Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"a3bd8a63-c198-41a3-8776-d019d0e26f18"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/a3bd8a63-c198-41a3-8776-d019d0e26f18","type":"Microsoft.Quota/QuotaRequests","name":"a3bd8a63-c198-41a3-8776-d019d0e26f18"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T09:17:12Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"9a8a8fd6-4e0a-475b-bd76-029970a29420"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/9a8a8fd6-4e0a-475b-bd76-029970a29420","type":"Microsoft.Quota/QuotaRequests","name":"9a8a8fd6-4e0a-475b-bd76-029970a29420"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T09:15:39Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"8f763b44-5340-4ff3-8e79-69823508b91d"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/8f763b44-5340-4ff3-8e79-69823508b91d","type":"Microsoft.Quota/QuotaRequests","name":"8f763b44-5340-4ff3-8e79-69823508b91d"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T09:15:03Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"939ec8a8-9474-4bfd-b035-5b39248bca29"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/939ec8a8-9474-4bfd-b035-5b39248bca29","type":"Microsoft.Quota/QuotaRequests","name":"939ec8a8-9474-4bfd-b035-5b39248bca29"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T09:11:00Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"14b000f4-0962-43e5-a9c3-11b4715354d6"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/14b000f4-0962-43e5-a9c3-11b4715354d6","type":"Microsoft.Quota/QuotaRequests","name":"14b000f4-0962-43e5-a9c3-11b4715354d6"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T09:07:24Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"0483820e-44c4-4be0-861b-0860aab8e961"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/0483820e-44c4-4be0-861b-0860aab8e961","type":"Microsoft.Quota/QuotaRequests","name":"0483820e-44c4-4be0-861b-0860aab8e961"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T09:05:24Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"e6d854b4-ea18-4d16-b64a-c7f6d5d1aff5"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/e6d854b4-ea18-4d16-b64a-c7f6d5d1aff5","type":"Microsoft.Quota/QuotaRequests","name":"e6d854b4-ea18-4d16-b64a-c7f6d5d1aff5"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T09:04:17Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"f210746c-814e-4992-ae53-8cbf533bc784"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f210746c-814e-4992-ae53-8cbf533bc784","type":"Microsoft.Quota/QuotaRequests","name":"f210746c-814e-4992-ae53-8cbf533bc784"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T09:03:47Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"e9f15963-cfca-4402-91f3-31c07ad51990"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/e9f15963-cfca-4402-91f3-31c07ad51990","type":"Microsoft.Quota/QuotaRequests","name":"e9f15963-cfca-4402-91f3-31c07ad51990"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T08:59:52Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"8f0b34db-fd3a-4868-895f-15f3b9520b74"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/8f0b34db-fd3a-4868-895f-15f3b9520b74","type":"Microsoft.Quota/QuotaRequests","name":"8f0b34db-fd3a-4868-895f-15f3b9520b74"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T08:58:47Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"1aae39f1-feb8-4cb9-95d4-955bed278cc8"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/1aae39f1-feb8-4cb9-95d4-955bed278cc8","type":"Microsoft.Quota/QuotaRequests","name":"1aae39f1-feb8-4cb9-95d4-955bed278cc8"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T08:06:57Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"7dbab79b-4589-4e25-976d-a490add48fb2"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/7dbab79b-4589-4e25-976d-a490add48fb2","type":"Microsoft.Quota/QuotaRequests","name":"7dbab79b-4589-4e25-976d-a490add48fb2"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:29:47Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"b0305d7b-eea8-4d4a-ae60-bfc303ddefd1"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/b0305d7b-eea8-4d4a-ae60-bfc303ddefd1","type":"Microsoft.Quota/QuotaRequests","name":"b0305d7b-eea8-4d4a-ae60-bfc303ddefd1"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:25:58Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"faf96597-60c4-4827-ba8b-2f2f7d963f8a"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/faf96597-60c4-4827-ba8b-2f2f7d963f8a","type":"Microsoft.Quota/QuotaRequests","name":"faf96597-60c4-4827-ba8b-2f2f7d963f8a"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:25:44Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"28b20d31-1077-4b42-94b4-edcc618cb276"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/28b20d31-1077-4b42-94b4-edcc618cb276","type":"Microsoft.Quota/QuotaRequests","name":"28b20d31-1077-4b42-94b4-edcc618cb276"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:21:19Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"03d8a101-caf7-4993-852f-2cec0447f03d"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/03d8a101-caf7-4993-852f-2cec0447f03d","type":"Microsoft.Quota/QuotaRequests","name":"03d8a101-caf7-4993-852f-2cec0447f03d"},{"properties":{"error":{"code":"QuotaReductionNotSupported","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:20:39Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":10},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"5f51c5bc-16a7-4737-9876-4bf8a1a457d3"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/5f51c5bc-16a7-4737-9876-4bf8a1a457d3","type":"Microsoft.Quota/QuotaRequests","name":"5f51c5bc-16a7-4737-9876-4bf8a1a457d3"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:18:37Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"76bf8263-f42f-4f95-a198-c52855fa4eeb"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/76bf8263-f42f-4f95-a198-c52855fa4eeb","type":"Microsoft.Quota/QuotaRequests","name":"76bf8263-f42f-4f95-a198-c52855fa4eeb"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:15:38Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"ef725d9f-c264-4fec-94f7-ba7178e71da2"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/ef725d9f-c264-4fec-94f7-ba7178e71da2","type":"Microsoft.Quota/QuotaRequests","name":"ef725d9f-c264-4fec-94f7-ba7178e71da2"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:12:14Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"6f1b0bc5-106e-4b79-a4f1-d84a1d21fb73"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/6f1b0bc5-106e-4b79-a4f1-d84a1d21fb73","type":"Microsoft.Quota/QuotaRequests","name":"6f1b0bc5-106e-4b79-a4f1-d84a1d21fb73"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T07:09:18Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"0989a3d1-9b5c-41ff-a29a-d32b3b940134"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/0989a3d1-9b5c-41ff-a29a-d32b3b940134","type":"Microsoft.Quota/QuotaRequests","name":"0989a3d1-9b5c-41ff-a29a-d32b3b940134"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T03:34:38Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"675c0d0b-cf35-4249-a91a-728a939ece51"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/675c0d0b-cf35-4249-a91a-728a939ece51","type":"Microsoft.Quota/QuotaRequests","name":"675c0d0b-cf35-4249-a91a-728a939ece51"},{"properties":{"error":{"code":"ContactSupport","message":"Request + failed."},"message":"Request failed.","provisioningState":"Failed","requestSubmitTime":"2022-02-23T03:33:10Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":0},"message":"Request + failed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Failed","subRequestId":"5e0581dd-e04b-43c5-9730-61ab771ede0a"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/5e0581dd-e04b-43c5-9730-61ab771ede0a","type":"Microsoft.Quota/QuotaRequests","name":"5e0581dd-e04b-43c5-9730-61ab771ede0a"}]}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '55689' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:10 GMT + ms-requestid: + - lv4o0DUO80mHP85r6-Qt2Q.0 + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '98' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quota request status show + Connection: + - keep-alive + ParameterSetName: + - --scope --name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + response: + body: + string: '{"properties":{"message":"Request completed.","provisioningState":"Succeeded","requestSubmitTime":"2022-03-01T09:20:59Z","value":[{"limit":{"limitObjectType":"LimitValue","limitType":"Independent","value":6000},"message":"Request + completed.","name":{"value":"STANDARDSKUPUBLICIPADDRESSES"},"provisioningState":"Succeeded","subRequestId":"f29546ea-f04b-42e9-beb1-937a2e828d1e"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f29546ea-f04b-42e9-beb1-937a2e828d1e","type":"Microsoft.Quota/QuotaRequests","name":"f29546ea-f04b-42e9-beb1-937a2e828d1e"}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '645' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:12 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/providers/Microsoft.Quota/quotaRequests/f29546ea-f04b-42e9-beb1-937a2e828d1e?api-version=2021-03-15-preview + ms-requestid: + - Leua1M7JokafZHCrCvt3RA.0 + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '99' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - quota operation list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.31.0 azsdk-python-azurequotaextensionapi/unknown Python/3.8.1 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/providers/Microsoft.Quota/operations?api-version=2021-03-15-preview + response: + body: + string: '{"value":[{"name":"Microsoft.Quota/quotas/read","display":{"provider":"Microsoft.Quota","resource":"Resource + Quota limit","operation":"Get resource Quota limit","description":"Get the + current Service limit or quota of the specified resource"}},{"name":"Microsoft.Quota/quotas/write","display":{"provider":"Microsoft.Quota","resource":"Resource + Quota limit","operation":"Creates resource Quota limit request","description":"Creates + the service limit or quota request for the specified resource"}},{"name":"Microsoft.Quota/quotaRequests/read","display":{"provider":"Microsoft.Quota","resource":"Resource + Quota limit request","operation":"Get Quota limit request","description":"Get + any service limit request for the specified resource"}},{"name":"Microsoft.Quota/usages/read","display":{"provider":"Microsoft.Quota","resource":"usages + information","operation":"Get the usages for providers","description":"Get + the usages for resource providers"}},{"name":"Microsoft.Quota/operations/read","display":{"provider":"Microsoft.Quota","resource":"Read + Operation","operation":"Get the Operations supported by Microsoft.Quota","description":"Get + the Operations supported by Microsoft.Quota"}},{"name":"Microsoft.Quota/register/action","display":{"provider":"Microsoft.Quota","resource":"Subscription + registration with Resource provider","operation":"Register the subscription + with Microsoft.Quota Resource Provider","description":"Register the subscription + with Microsoft.Quota Resource Provider"}}]}' + headers: + cache-control: + - no-store, must-revalidate, no-cache + content-length: + - '1490' + content-type: + - application/json + date: + - Tue, 01 Mar 2022 09:22:14 GMT + ms-requestid: + - ZhuAEsGE0kaGPmB3bUKSbw.0 + server: + - Kestrel + 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 +version: 1 diff --git a/src/quota/azext_quota/tests/latest/test_quota_scenario.py b/src/quota/azext_quota/tests/latest/test_quota_scenario.py new file mode 100644 index 00000000000..23fd7fa7bea --- /dev/null +++ b/src/quota/azext_quota/tests/latest/test_quota_scenario.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. +# -------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +# Test class for Scenario +class QuotaScenarioTest(ScenarioTest): + + def __init__(self, *args, **kwargs): + super(QuotaScenarioTest, self).__init__(*args, **kwargs) + + @ResourceGroupPreparer(name_prefix='test_quota', location='eastus') + def test_quota_crud(self, resource_group): + self.kwargs.update({ + 'resource_name': 'StandardSkuPublicIpAddresses', + 'resource_type': 'PublicIPAddresses', + 'sub': '/subscriptions/{}/providers/Microsoft.Network/locations/eastus'.format(self.get_subscription_id()) + }) + + quota = self.cmd('quota show --resource-name {resource_name} --scope {sub}').get_output_in_json() + self.kwargs['value'] = quota['properties']['limit']['value'] + + self.cmd('quota create --resource-name {resource_name} --scope {sub} --resource-type {resource_type} --limit-object value={value}', + checks=[self.check('properties.limit.value', '{value}')]).get_output_in_json() + + self.cmd('quota update --resource-name {resource_name} --scope {sub} --resource-type {resource_type} --limit-object value={value}', + checks=[self.check('properties.limit.value', '{value}')]) + self.cmd('quota list --scope {sub}') + self.cmd('quota show --resource-name {resource_name} --scope {sub}', + checks=[self.check('properties.limit.value', '{value}')]) + + self.cmd('quota usage show --resource-name {resource_name} --scope {sub}') + self.cmd('quota usage list --scope {sub}') + + quota_request_name = self.cmd('quota request status list --scope {sub} --query [].name').get_output_in_json() + self.kwargs['name'] = quota_request_name[0] + self.cmd('quota request status show --scope {sub} --name {name}') + + self.cmd('quota operation list') diff --git a/src/quota/azext_quota/vendored_sdks/__init__.py b/src/quota/azext_quota/vendored_sdks/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/quota/azext_quota/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/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/__init__.py b/src/quota/azext_quota/vendored_sdks/quota/__init__.py similarity index 84% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/__init__.py rename to src/quota/azext_quota/vendored_sdks/quota/__init__.py index 75a361344ca..a78eeca53ba 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/__init__.py +++ b/src/quota/azext_quota/vendored_sdks/quota/__init__.py @@ -6,8 +6,8 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._storage_management_client import StorageManagementClient -__all__ = ['StorageManagementClient'] +from ._azure_quota_extension_api import AzureQuotaExtensionAPI +__all__ = ['AzureQuotaExtensionAPI'] try: from ._patch import patch_sdk # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/_azure_quota_extension_api.py b/src/quota/azext_quota/vendored_sdks/quota/_azure_quota_extension_api.py new file mode 100644 index 00000000000..eea8b9db9ad --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/_azure_quota_extension_api.py @@ -0,0 +1,82 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from 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, Optional + + from azure.core.credentials import TokenCredential + +from ._configuration import AzureQuotaExtensionAPIConfiguration +from .operations import usagesOperations +from .operations import quotaOperations +from .operations import quotarequeststatusOperations +from .operations import quotaoperationOperations +from . import models + + +class AzureQuotaExtensionAPI(object): + """Microsoft Azure Quota Resource Provider. + + :ivar usages: usagesOperations operations + :vartype usages: azure_quota_extension_api.operations.usagesOperations + :ivar quota: quotaOperations operations + :vartype quota: azure_quota_extension_api.operations.quotaOperations + :ivar quotarequeststatus: quotarequeststatusOperations operations + :vartype quotarequeststatus: azure_quota_extension_api.operations.quotarequeststatusOperations + :ivar quotaoperation: quotaoperationOperations operations + :vartype quotaoperation: azure_quota_extension_api.operations.quotaoperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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" + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = AzureQuotaExtensionAPIConfiguration(credential, **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.usages = usagesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.quota = quotaOperations( + self._client, self._config, self._serialize, self._deserialize) + self.quotarequeststatus = quotarequeststatusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.quotaoperation = quotaoperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> AzureQuotaExtensionAPI + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/quota/azext_quota/vendored_sdks/quota/_configuration.py b/src/quota/azext_quota/vendored_sdks/quota/_configuration.py new file mode 100644 index 00000000000..b122c8f7c6c --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/_configuration.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 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 + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class AzureQuotaExtensionAPIConfiguration(Configuration): + """Configuration for AzureQuotaExtensionAPI. + + 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 + """ + + def __init__( + self, + credential, # type: "TokenCredential" + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + super(AzureQuotaExtensionAPIConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.api_version = "2021-03-15-preview" + self.credential_scopes = kwargs.pop('credential_scopes', []) + kwargs.setdefault('sdk_moniker', 'azurequotaextensionapi/{}'.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') + if not self.credential_scopes and not self.authentication_policy: + raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/__init__.py b/src/quota/azext_quota/vendored_sdks/quota/aio/__init__.py similarity index 82% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/__init__.py rename to src/quota/azext_quota/vendored_sdks/quota/aio/__init__.py index 9cfe0ace1ba..ab00c327b95 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/__init__.py +++ b/src/quota/azext_quota/vendored_sdks/quota/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._storage_management_client import StorageManagementClient -__all__ = ['StorageManagementClient'] +from ._azure_quota_extension_api import AzureQuotaExtensionAPI +__all__ = ['AzureQuotaExtensionAPI'] diff --git a/src/quota/azext_quota/vendored_sdks/quota/aio/_azure_quota_extension_api.py b/src/quota/azext_quota/vendored_sdks/quota/aio/_azure_quota_extension_api.py new file mode 100644 index 00000000000..a426781d971 --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/aio/_azure_quota_extension_api.py @@ -0,0 +1,76 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.core import AsyncPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration import AzureQuotaExtensionAPIConfiguration +from .operations import usagesOperations +from .operations import quotaOperations +from .operations import quotarequeststatusOperations +from .operations import quotaoperationOperations +from .. import models + + +class AzureQuotaExtensionAPI(object): + """Microsoft Azure Quota Resource Provider. + + :ivar usages: usagesOperations operations + :vartype usages: azure_quota_extension_api.aio.operations.usagesOperations + :ivar quota: quotaOperations operations + :vartype quota: azure_quota_extension_api.aio.operations.quotaOperations + :ivar quotarequeststatus: quotarequeststatusOperations operations + :vartype quotarequeststatus: azure_quota_extension_api.aio.operations.quotarequeststatusOperations + :ivar quotaoperation: quotaoperationOperations operations + :vartype quotaoperation: azure_quota_extension_api.aio.operations.quotaoperationOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :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", + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = AzureQuotaExtensionAPIConfiguration(credential, **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.usages = usagesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.quota = quotaOperations( + self._client, self._config, self._serialize, self._deserialize) + self.quotarequeststatus = quotarequeststatusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.quotaoperation = quotaoperationOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "AzureQuotaExtensionAPI": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/quota/azext_quota/vendored_sdks/quota/aio/_configuration.py b/src/quota/azext_quota/vendored_sdks/quota/aio/_configuration.py new file mode 100644 index 00000000000..db6a3c0a66f --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/aio/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class AzureQuotaExtensionAPIConfiguration(Configuration): + """Configuration for AzureQuotaExtensionAPI. + + 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 + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + super(AzureQuotaExtensionAPIConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.api_version = "2021-03-15-preview" + self.credential_scopes = kwargs.pop('credential_scopes', []) + kwargs.setdefault('sdk_moniker', 'azurequotaextensionapi/{}'.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') + if not self.credential_scopes and not self.authentication_policy: + raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/__init__.py b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/__init__.py similarity index 57% rename from src/account/azext_account/vendored_sdks/subscription/aio/operations_async/__init__.py rename to src/quota/azext_quota/vendored_sdks/quota/aio/operations/__init__.py index 7aac3e6b7f8..9d34a41a594 100644 --- a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/__init__.py +++ b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/__init__.py @@ -6,14 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._subscription_operations_async import SubscriptionOperations -from ._tenant_operations_async import TenantOperations -from ._operation_operations_async import OperationOperations -from ._alias_operations_async import AliasOperations +from ._usages_operations import usagesOperations +from ._quota_operations import quotaOperations +from ._quota_request_status_operations import quotarequeststatusOperations +from ._quota_operation_operations import quotaoperationOperations __all__ = [ - 'SubscriptionOperations', - 'TenantOperations', - 'OperationOperations', - 'AliasOperations', + 'usagesOperations', + 'quotaOperations', + 'quotarequeststatusOperations', + 'quotaoperationOperations', ] diff --git a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_tenant_operations_async.py b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_operation_operations.py similarity index 71% rename from src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_tenant_operations_async.py rename to src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_operation_operations.py index 06120525696..77b580d2715 100644 --- a/src/account/azext_account/vendored_sdks/subscription/aio/operations_async/_tenant_operations_async.py +++ b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_operation_operations.py @@ -9,24 +9,23 @@ 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 from ... import models T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class TenantOperations: - """TenantOperations async operations. +class quotaoperationOperations: + """quotaoperationOperations 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: ~subscription_client.models + :type models: ~azure_quota_extension_api.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,23 +43,28 @@ def __init__(self, client, config, serializer, deserializer) -> None: def list( self, **kwargs - ) -> AsyncIterable["models.TenantListResult"]: - """Gets the tenants for your account. + ) -> AsyncIterable["models.operationlist"]: + """GET quota operations. + + List all the operations supported by the Microsoft.Quota resource provider. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either TenantListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~subscription_client.models.TenantListResult] + :return: An iterator like instance of either operationlist or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_quota_extension_api.models.operationlist] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.TenantListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + 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 = "2016-06-01" + api_version = "2021-03-15-preview" + 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 @@ -77,7 +81,7 @@ def prepare_request(next_link=None): return request async def extract_data(pipeline_response): - deserialized = self._deserialize('TenantListResult', pipeline_response) + deserialized = self._deserialize('operationlist', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -90,12 +94,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.exceptionresponse, 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) return pipeline_response return AsyncItemPaged( get_next, extract_data ) - list.metadata = {'url': '/tenants'} # type: ignore + list.metadata = {'url': '/providers/Microsoft.Quota/operations'} # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_operations.py b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_operations.py new file mode 100644 index 00000000000..b1a0a9bccab --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_operations.py @@ -0,0 +1,473 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.core.polling.async_base_polling import AsyncLROBasePolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class quotaOperations: + """quotaOperations 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_quota_extension_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 get( + self, + resource_name: str, + scope: str, + **kwargs + ) -> "models.currentquotalimitbase": + """Get the quota limit of a resource. The response can be used to determine the remaining quota to + calculate a new quota limit that can be submitted with a PUT request. + + :param resource_name: Resource name for a given resource provider. For example: + + + * SKU name for Microsoft.Compute + * SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices + For Microsoft.Network PublicIPAddresses. + :type resource_name: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: currentquotalimitbase, or the result of cls(response) + :rtype: ~azure_quota_extension_api.models.currentquotalimitbase + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.currentquotalimitbase"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_name: str, + scope: str, + create_quota_request: "models.currentquotalimitbase", + **kwargs + ) -> Optional["models.currentquotalimitbase"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.currentquotalimitbase"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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_quota_request, 'currentquotalimitbase') + 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) + error = self._deserialize(models.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_name: str, + scope: str, + create_quota_request: "models.currentquotalimitbase", + **kwargs + ) -> AsyncLROPoller["models.currentquotalimitbase"]: + """Create or update the quota limit for the specified resource with the requested value. To update + the quota, follow these steps: + + + #. Use the GET operation for quotas and usages to determine how much quota remains for the + specific resource and to calculate the new quota limit. These steps are detailed in `this + example `_. + #. Use this PUT operation to update the quota limit. Please check the URI in location header + for the detailed status of the request. + + :param resource_name: Resource name for a given resource provider. For example: + + + * SKU name for Microsoft.Compute + * SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices + For Microsoft.Network PublicIPAddresses. + :type resource_name: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :param create_quota_request: Quota request payload. + :type create_quota_request: ~azure_quota_extension_api.models.currentquotalimitbase + :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 currentquotalimitbase or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_quota_extension_api.models.currentquotalimitbase] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.currentquotalimitbase"] + 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_name=resource_name, + scope=scope, + create_quota_request=create_quota_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('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + + if polling is True: polling_method = AsyncLROBasePolling(lro_delay, lro_options={'final-state-via': 'original-uri'}, 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': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + async def _update_initial( + self, + resource_name: str, + scope: str, + create_quota_request: "models.currentquotalimitbase", + **kwargs + ) -> Optional["models.currentquotalimitbase"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.currentquotalimitbase"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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_quota_request, 'currentquotalimitbase') + 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.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + async def begin_update( + self, + resource_name: str, + scope: str, + create_quota_request: "models.currentquotalimitbase", + **kwargs + ) -> AsyncLROPoller["models.currentquotalimitbase"]: + """Update the quota limit for a specific resource to the specified value: + + + #. Use the Usages-GET and Quota-GET operations to determine the remaining quota for the + specific resource and to calculate the new quota limit. These steps are detailed in `this + example `_. + #. Use this PUT operation to update the quota limit. Please check the URI in location header + for the detailed status of the request. + + :param resource_name: Resource name for a given resource provider. For example: + + + * SKU name for Microsoft.Compute + * SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices + For Microsoft.Network PublicIPAddresses. + :type resource_name: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :param create_quota_request: Quota requests payload. + :type create_quota_request: ~azure_quota_extension_api.models.currentquotalimitbase + :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 currentquotalimitbase or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_quota_extension_api.models.currentquotalimitbase] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.currentquotalimitbase"] + 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_name=resource_name, + scope=scope, + create_quota_request=create_quota_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('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + + if polling is True: polling_method = AsyncLROBasePolling(lro_delay, lro_options={'final-state-via': 'original-uri'}, 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': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + def list( + self, + scope: str, + **kwargs + ) -> AsyncIterable["models.quotalimits"]: + """Get a list of current quota limits of all resources for the specified scope. The response from + this GET operation can be leveraged to submit requests to update a quota. + + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either quotalimits or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_quota_extension_api.models.quotalimits] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.quotalimits"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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('quotalimits', 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.exceptionresponse, 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.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotas'} # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_request_status_operations.py b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_request_status_operations.py new file mode 100644 index 00000000000..e9c649ff8f1 --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_quota_request_status_operations.py @@ -0,0 +1,207 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class quotarequeststatusOperations: + """quotarequeststatusOperations 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_quota_extension_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 get( + self, + id: str, + scope: str, + **kwargs + ) -> "models.quotarequestdetails": + """Get the quota request details and status by quota request ID for the resources of the resource + provider at a specific location. The quota request ID **id** is returned in the response of the + PUT operation. + + :param id: Quota request ID. + :type id: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: quotarequestdetails, or the result of cls(response) + :rtype: ~azure_quota_extension_api.models.quotarequestdetails + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.quotarequestdetails"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'id': self._serialize.url("id", id, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('quotarequestdetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotaRequests/{id}'} # type: ignore + + def list( + self, + scope: str, + filter: Optional[str] = None, + top: Optional[int] = None, + skiptoken: Optional[str] = None, + **kwargs + ) -> AsyncIterable["models.quotarequestdetailslist"]: + """For the specified scope, get the current quota requests for a one year period ending at the + time is made. Use the **oData** filter to select quota requests. + + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :param filter: .. list-table:: + :header-rows: 1 + + * - Field + - Supported operators + * - + + + |requestSubmitTime | ge, le, eq, gt, lt + |provisioningState eq {QuotaRequestState} + |resourceName eq {resourceName}. + :type filter: str + :param top: Number of records to return. + :type top: int + :param skiptoken: The **Skiptoken** parameter is used only if a previous operation returned a + partial result. If a previous response contains a **nextLink** element, its value includes a + **skiptoken** parameter that specifies a starting point to use for subsequent calls. + :type skiptoken: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either quotarequestdetailslist or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_quota_extension_api.models.quotarequestdetailslist] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.quotarequestdetailslist"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int', minimum=1) + if skiptoken is not None: + query_parameters['$skiptoken'] = self._serialize.query("skiptoken", skiptoken, '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('quotarequestdetailslist', 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.exceptionresponse, 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.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotaRequests'} # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_usages_operations.py b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_usages_operations.py new file mode 100644 index 00000000000..f4503216d8e --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/aio/operations/_usages_operations.py @@ -0,0 +1,184 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class usagesOperations: + """usagesOperations 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_quota_extension_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 get( + self, + resource_name: str, + scope: str, + **kwargs + ) -> "models.currentusagesbase": + """Get the current usage of a resource. + + :param resource_name: Resource name for a given resource provider. For example: + + + * SKU name for Microsoft.Compute + * SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices + For Microsoft.Network PublicIPAddresses. + :type resource_name: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: currentusagesbase, or the result of cls(response) + :rtype: ~azure_quota_extension_api.models.currentusagesbase + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.currentusagesbase"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('currentusagesbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Quota/usages/{resourceName}'} # type: ignore + + def list( + self, + scope: str, + **kwargs + ) -> AsyncIterable["models.usageslimits"]: + """Get a list of current usage for all resources for the scope specified. + + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either usageslimits or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_quota_extension_api.models.usageslimits] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.usageslimits"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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('usageslimits', 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.exceptionresponse, 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.metadata = {'url': '/{scope}/providers/Microsoft.Quota/usages'} # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/models/__init__.py b/src/quota/azext_quota/vendored_sdks/quota/models/__init__.py new file mode 100644 index 00000000000..5415f4394c4 --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/models/__init__.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. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import commonresourceproperties + from ._models_py3 import creategenericquotarequestparameters + from ._models_py3 import currentquotalimitbase + from ._models_py3 import currentusagesbase + from ._models_py3 import exceptionresponse + from ._models_py3 import limitjsonobject + from ._models_py3 import limitobject + from ._models_py3 import operationdisplay + from ._models_py3 import operationlist + from ._models_py3 import operationresponse + from ._models_py3 import quotalimits + from ._models_py3 import quotalimitsresponse + from ._models_py3 import quotaproperties + from ._models_py3 import quotarequestdetails + from ._models_py3 import quotarequestdetailslist + from ._models_py3 import quotarequestoneresourcesubmitresponse + from ._models_py3 import quotarequestproperties + from ._models_py3 import quotarequestsubmitresponse + from ._models_py3 import quotarequestsubmitresponse202 + from ._models_py3 import resourcename + from ._models_py3 import serviceerror + from ._models_py3 import serviceerrordetail + from ._models_py3 import subrequest + from ._models_py3 import usageslimits + from ._models_py3 import usagesobject + from ._models_py3 import usagesproperties +except (SyntaxError, ImportError): + from ._models import commonresourceproperties # type: ignore + from ._models import creategenericquotarequestparameters # type: ignore + from ._models import currentquotalimitbase # type: ignore + from ._models import currentusagesbase # type: ignore + from ._models import exceptionresponse # type: ignore + from ._models import limitjsonobject # type: ignore + from ._models import limitobject # type: ignore + from ._models import operationdisplay # type: ignore + from ._models import operationlist # type: ignore + from ._models import operationresponse # type: ignore + from ._models import quotalimits # type: ignore + from ._models import quotalimitsresponse # type: ignore + from ._models import quotaproperties # type: ignore + from ._models import quotarequestdetails # type: ignore + from ._models import quotarequestdetailslist # type: ignore + from ._models import quotarequestoneresourcesubmitresponse # type: ignore + from ._models import quotarequestproperties # type: ignore + from ._models import quotarequestsubmitresponse # type: ignore + from ._models import quotarequestsubmitresponse202 # type: ignore + from ._models import resourcename # type: ignore + from ._models import serviceerror # type: ignore + from ._models import serviceerrordetail # type: ignore + from ._models import subrequest # type: ignore + from ._models import usageslimits # type: ignore + from ._models import usagesobject # type: ignore + from ._models import usagesproperties # type: ignore + +from ._azure_quota_extension_api_enums import ( + Limittype, + Quotalimittypes, + Quotarequeststate, + Usagestypes, +) + +__all__ = [ + 'commonresourceproperties', + 'creategenericquotarequestparameters', + 'currentquotalimitbase', + 'currentusagesbase', + 'exceptionresponse', + 'limitjsonobject', + 'limitobject', + 'operationdisplay', + 'operationlist', + 'operationresponse', + 'quotalimits', + 'quotalimitsresponse', + 'quotaproperties', + 'quotarequestdetails', + 'quotarequestdetailslist', + 'quotarequestoneresourcesubmitresponse', + 'quotarequestproperties', + 'quotarequestsubmitresponse', + 'quotarequestsubmitresponse202', + 'resourcename', + 'serviceerror', + 'serviceerrordetail', + 'subrequest', + 'usageslimits', + 'usagesobject', + 'usagesproperties', + 'Limittype', + 'Quotalimittypes', + 'Quotarequeststate', + 'Usagestypes', +] diff --git a/src/quota/azext_quota/vendored_sdks/quota/models/_azure_quota_extension_api_enums.py b/src/quota/azext_quota/vendored_sdks/quota/models/_azure_quota_extension_api_enums.py new file mode 100644 index 00000000000..ce0635ab98e --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/models/_azure_quota_extension_api_enums.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from 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 Limittype(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The limit object type. + """ + + LIMITVALUE = "LimitValue" + +class Quotalimittypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The quota or usages limit types. + """ + + INDEPENDENT = "Independent" + SHARED = "Shared" + +class Quotarequeststate(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Quota request status. + """ + + ACCEPTED = "Accepted" + INVALID = "Invalid" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + INPROGRESS = "InProgress" + +class Usagestypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The quota or usages limit types. + """ + + INDIVIDUAL = "Individual" + COMBINED = "Combined" diff --git a/src/quota/azext_quota/vendored_sdks/quota/models/_models.py b/src/quota/azext_quota/vendored_sdks/quota/models/_models.py new file mode 100644 index 00000000000..c4ea79adc84 --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/models/_models.py @@ -0,0 +1,1017 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 commonresourceproperties(msrest.serialization.Model): + """Resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. Example: "Microsoft.Quota/quotas". + :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(commonresourceproperties, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class creategenericquotarequestparameters(msrest.serialization.Model): + """Quota change requests information. + + :param value: Quota change requests. + :type value: list[~azure_quota_extension_api.models.currentquotalimitbase] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[currentquotalimitbase]'}, + } + + def __init__( + self, + **kwargs + ): + super(creategenericquotarequestparameters, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class currentquotalimitbase(msrest.serialization.Model): + """Quota limit. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource ID. + :vartype id: str + :ivar type: The resource type. + :vartype type: str + :ivar name: The resource name. + :vartype name: str + :param properties: Quota properties for the specified resource, based on the API called, Quotas + or Usages. + :type properties: ~azure_quota_extension_api.models.quotaproperties + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'quotaproperties'}, + } + + def __init__( + self, + **kwargs + ): + super(currentquotalimitbase, self).__init__(**kwargs) + self.id = None + self.type = None + self.name = None + self.properties = kwargs.get('properties', None) + + +class currentusagesbase(msrest.serialization.Model): + """Resource usage. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource ID. + :vartype id: str + :ivar type: The resource type. + :vartype type: str + :ivar name: The resource name. + :vartype name: str + :param properties: Usage properties for the specified resource. + :type properties: ~azure_quota_extension_api.models.usagesproperties + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'usagesproperties'}, + } + + def __init__( + self, + **kwargs + ): + super(currentusagesbase, self).__init__(**kwargs) + self.id = None + self.type = None + self.name = None + self.properties = kwargs.get('properties', None) + + +class exceptionresponse(msrest.serialization.Model): + """Error. + + :param error: API error details. + :type error: ~azure_quota_extension_api.models.serviceerror + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'serviceerror'}, + } + + def __init__( + self, + **kwargs + ): + super(exceptionresponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class limitjsonobject(msrest.serialization.Model): + """LimitJson abstract class. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: limitobject. + + All required parameters must be populated in order to send to Azure. + + :param limit_object_type: Required. The limit object type.Constant filled by server. Possible + values include: "LimitValue". + :type limit_object_type: str or ~azure_quota_extension_api.models.Limittype + """ + + _validation = { + 'limit_object_type': {'required': True}, + } + + _attribute_map = { + 'limit_object_type': {'key': 'limitObjectType', 'type': 'str'}, + } + + _subtype_map = { + 'limit_object_type': {'LimitValue': 'limitobject'} + } + + def __init__( + self, + **kwargs + ): + super(limitjsonobject, self).__init__(**kwargs) + self.limit_object_type = None # type: Optional[str] + + +class limitobject(limitjsonobject): + """The resource quota limit value. + + All required parameters must be populated in order to send to Azure. + + :param limit_object_type: Required. The limit object type.Constant filled by server. Possible + values include: "LimitValue". + :type limit_object_type: str or ~azure_quota_extension_api.models.Limittype + :param value: Required. The quota/limit value. + :type value: int + :param limit_type: The quota or usages limit types. Possible values include: "Independent", + "Shared". + :type limit_type: str or ~azure_quota_extension_api.models.Quotalimittypes + """ + + _validation = { + 'limit_object_type': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'limit_object_type': {'key': 'limitObjectType', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + 'limit_type': {'key': 'limitType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(limitobject, self).__init__(**kwargs) + self.limit_object_type = 'LimitValue' # type: str + self.value = kwargs['value'] + self.limit_type = kwargs.get('limit_type', None) + + +class operationdisplay(msrest.serialization.Model): + """operationdisplay. + + :param provider: Provider name. + :type provider: str + :param resource: Resource name. + :type resource: str + :param operation: Operation name. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **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 operationlist(msrest.serialization.Model): + """operationlist. + + :param value: + :type value: list[~azure_quota_extension_api.models.operationresponse] + :param next_link: URL to get the next page of items. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[operationresponse]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(operationlist, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class operationresponse(msrest.serialization.Model): + """operationresponse. + + :param name: + :type name: str + :param display: + :type display: ~azure_quota_extension_api.models.operationdisplay + :param origin: + :type origin: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'operationdisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(operationresponse, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + + +class quotalimits(msrest.serialization.Model): + """Quota limits. + + :param value: List of quota limits. + :type value: list[~azure_quota_extension_api.models.currentquotalimitbase] + :param next_link: The URI used to fetch the next page of quota limits. When there are no more + pages, this string is null. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[currentquotalimitbase]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(quotalimits, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class quotalimitsresponse(msrest.serialization.Model): + """Quota limits request response. + + :param value: List of quota limits with the quota request status. + :type value: list[~azure_quota_extension_api.models.currentquotalimitbase] + :param next_link: The URI used to fetch the next page of quota limits. When there are no more + pages, this is null. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[currentquotalimitbase]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(quotalimitsresponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class quotaproperties(msrest.serialization.Model): + """Quota properties for the specified resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param limit: Resource quota limit properties. + :type limit: ~azure_quota_extension_api.models.limitjsonobject + :ivar unit: The quota units, such as Count and Bytes. When requesting quota, use the **unit** + value returned in the GET response in the request body of your PUT operation. + :vartype unit: str + :param name: Resource name provided by the resource provider. Use this property name when + requesting quota. + :type name: ~azure_quota_extension_api.models.resourcename + :param resource_type: Resource type name. + :type resource_type: str + :ivar quota_period: The time period over which the quota usage values are summarized. For + example: + *P1D (per one day)*\ PT1M (per one minute) + *PT1S (per one second). + This parameter is optional because, for some resources like compute, the period is irrelevant. + :vartype quota_period: str + :ivar is_quota_applicable: States if quota can be requested for this resource. + :vartype is_quota_applicable: bool + :param properties: Additional properties for the specific resource provider. + :type properties: object + """ + + _validation = { + 'unit': {'readonly': True}, + 'quota_period': {'readonly': True}, + 'is_quota_applicable': {'readonly': True}, + } + + _attribute_map = { + 'limit': {'key': 'limit', 'type': 'limitjsonobject'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'resourcename'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'quota_period': {'key': 'quotaPeriod', 'type': 'str'}, + 'is_quota_applicable': {'key': 'isQuotaApplicable', 'type': 'bool'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(quotaproperties, self).__init__(**kwargs) + self.limit = kwargs.get('limit', None) + self.unit = None + self.name = kwargs.get('name', None) + self.resource_type = kwargs.get('resource_type', None) + self.quota_period = None + self.is_quota_applicable = None + self.properties = kwargs.get('properties', None) + + +class quotarequestdetails(msrest.serialization.Model): + """List of quota requests with details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Quota request ID. + :vartype id: str + :ivar name: Quota request name. + :vartype name: str + :ivar type: Resource type. "Microsoft.Quota/quotas". + :vartype type: str + :ivar provisioning_state: The quota request status. Possible values include: "Accepted", + "Invalid", "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly status message. + :vartype message: str + :param error: Error details of the quota request. + :type error: ~azure_quota_extension_api.models.serviceerrordetail + :ivar request_submit_time: The quota request submission time. The date conforms to the + following format specified by the ISO 8601 standard: yyyy-MM-ddTHH:mm:ssZ. + :vartype request_submit_time: ~datetime.datetime + :param value: Quota request details. + :type value: list[~azure_quota_extension_api.models.subrequest] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'request_submit_time': {'readonly': 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'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'serviceerrordetail'}, + 'request_submit_time': {'key': 'properties.requestSubmitTime', 'type': 'iso-8601'}, + 'value': {'key': 'properties.value', 'type': '[subrequest]'}, + } + + def __init__( + self, + **kwargs + ): + super(quotarequestdetails, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.provisioning_state = None + self.message = None + self.error = kwargs.get('error', None) + self.request_submit_time = None + self.value = kwargs.get('value', None) + + +class quotarequestdetailslist(msrest.serialization.Model): + """Quota request information. + + :param value: Quota request details. + :type value: list[~azure_quota_extension_api.models.quotarequestdetails] + :param next_link: The URI for fetching the next page of quota limits. When there are no more + pages, this string is null. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[quotarequestdetails]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(quotarequestdetailslist, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class quotarequestoneresourcesubmitresponse(msrest.serialization.Model): + """Quota request response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Quota request ID. + :vartype id: str + :ivar name: The name of the quota request. + :vartype name: str + :ivar type: Resource type. "Microsoft.Quota/ServiceLimitRequests". + :vartype type: str + :ivar provisioning_state: Quota request status. Possible values include: "Accepted", "Invalid", + "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly status message. + :vartype message: str + :ivar request_submit_time: Quota request submission time. The date conforms to the following + ISO 8601 standard format: yyyy-MM-ddTHH:mm:ssZ. + :vartype request_submit_time: ~datetime.datetime + :param limit: Resource quota limit properties. + :type limit: ~azure_quota_extension_api.models.limitobject + :ivar current_value: Usage information for the current resource. + :vartype current_value: int + :param unit: The quota limit units, such as Count and Bytes. When requesting quota, use the + **unit** value returned in the GET response in the request body of your PUT operation. + :type unit: str + :param name_properties_name: Resource name provided by the resource provider. Use this property + name when requesting quota. + :type name_properties_name: ~azure_quota_extension_api.models.resourcename + :param resource_type: Resource type name. + :type resource_type: str + :ivar quota_period: The time period over which the quota usage values are summarized. For + example: + *P1D (per one day)*\ PT1M (per one minute) + *PT1S (per one second). + This parameter is optional because, for some resources like compute, the period is irrelevant. + :vartype quota_period: str + :ivar is_quota_applicable: States if quota can be requested for this resource. + :vartype is_quota_applicable: bool + :param error: Error details of the quota request. + :type error: ~azure_quota_extension_api.models.serviceerrordetail + :param properties: Additional properties for the specific resource provider. + :type properties: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'request_submit_time': {'readonly': True}, + 'current_value': {'readonly': True}, + 'quota_period': {'readonly': True}, + 'is_quota_applicable': {'readonly': 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'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'request_submit_time': {'key': 'properties.requestSubmitTime', 'type': 'iso-8601'}, + 'limit': {'key': 'properties.limit', 'type': 'limitobject'}, + 'current_value': {'key': 'properties.currentValue', 'type': 'int'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'name_properties_name': {'key': 'properties.name', 'type': 'resourcename'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'quota_period': {'key': 'properties.quotaPeriod', 'type': 'str'}, + 'is_quota_applicable': {'key': 'properties.isQuotaApplicable', 'type': 'bool'}, + 'error': {'key': 'properties.error', 'type': 'serviceerrordetail'}, + 'properties': {'key': 'properties.properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(quotarequestoneresourcesubmitresponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.provisioning_state = None + self.message = None + self.request_submit_time = None + self.limit = kwargs.get('limit', None) + self.current_value = None + self.unit = kwargs.get('unit', None) + self.name_properties_name = kwargs.get('name_properties_name', None) + self.resource_type = kwargs.get('resource_type', None) + self.quota_period = None + self.is_quota_applicable = None + self.error = kwargs.get('error', None) + self.properties = kwargs.get('properties', None) + + +class quotarequestproperties(msrest.serialization.Model): + """Quota request properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: The quota request status. Possible values include: "Accepted", + "Invalid", "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly status message. + :vartype message: str + :param error: Error details of the quota request. + :type error: ~azure_quota_extension_api.models.serviceerrordetail + :ivar request_submit_time: The quota request submission time. The date conforms to the + following format specified by the ISO 8601 standard: yyyy-MM-ddTHH:mm:ssZ. + :vartype request_submit_time: ~datetime.datetime + :param value: Quota request details. + :type value: list[~azure_quota_extension_api.models.subrequest] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'request_submit_time': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'serviceerrordetail'}, + 'request_submit_time': {'key': 'requestSubmitTime', 'type': 'iso-8601'}, + 'value': {'key': 'value', 'type': '[subrequest]'}, + } + + def __init__( + self, + **kwargs + ): + super(quotarequestproperties, self).__init__(**kwargs) + self.provisioning_state = None + self.message = None + self.error = kwargs.get('error', None) + self.request_submit_time = None + self.value = kwargs.get('value', None) + + +class quotarequestsubmitresponse(msrest.serialization.Model): + """Quota request response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Quota request ID. + :vartype id: str + :ivar name: Quota request name. + :vartype name: str + :param properties: Quota request details. + :type properties: ~azure_quota_extension_api.models.quotarequestproperties + :ivar type: Resource type. "Microsoft.Quota/quotas". + :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'}, + 'properties': {'key': 'properties', 'type': 'quotarequestproperties'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(quotarequestsubmitresponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.properties = kwargs.get('properties', None) + self.type = None + + +class quotarequestsubmitresponse202(msrest.serialization.Model): + """The quota request response with the quota request ID. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The quota request ID. To check the request status, use the **id** value in a `Quota + Request Status `_ GET operation. + :vartype id: str + :ivar name: Operation ID. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar provisioning_state: Quota request status. Possible values include: "Accepted", "Invalid", + "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly message. + :vartype message: str + :param limit: Resource quota limit properties. + :type limit: ~azure_quota_extension_api.models.limitobject + :param unit: The quota limit units, such as Count and Bytes. When requesting quota, use the + **unit** value returned in the GET response in the request body of your PUT operation. + :type unit: str + :param name_properties_name: Resource name provided by the resource provider. Use this property + name when requesting quota. + :type name_properties_name: ~azure_quota_extension_api.models.resourcename + :param resource_type: Resource type name. + :type resource_type: str + :ivar quota_period: The time period over which the quota usage values are summarized. For + example: + *P1D (per one day)*\ PT1M (per one minute) + *PT1S (per one second). + This parameter is optional because, for some resources like compute, the period is irrelevant. + :vartype quota_period: str + :param properties: Additional properties for the specific resource provider. + :type properties: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'quota_period': {'readonly': 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'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'limit': {'key': 'properties.limit', 'type': 'limitobject'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'name_properties_name': {'key': 'properties.name', 'type': 'resourcename'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'quota_period': {'key': 'properties.quotaPeriod', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(quotarequestsubmitresponse202, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.provisioning_state = None + self.message = None + self.limit = kwargs.get('limit', None) + self.unit = kwargs.get('unit', None) + self.name_properties_name = kwargs.get('name_properties_name', None) + self.resource_type = kwargs.get('resource_type', None) + self.quota_period = None + self.properties = kwargs.get('properties', None) + + +class resourcename(msrest.serialization.Model): + """Name of the resource provided by the resource Provider. When requesting quota, use this property name. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: Resource name. + :type value: str + :ivar localized_value: Resource display name. + :vartype localized_value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(resourcename, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = None + + +class serviceerror(msrest.serialization.Model): + """API error details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param code: Error code. + :type code: str + :param message: Error message. + :type message: str + :ivar details: List of error details. + :vartype details: list[~azure_quota_extension_api.models.serviceerrordetail] + """ + + _validation = { + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[serviceerrordetail]'}, + } + + def __init__( + self, + **kwargs + ): + super(serviceerror, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.details = None + + +class serviceerrordetail(msrest.serialization.Model): + """Error details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Error code. + :vartype code: str + :ivar message: Error message. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(serviceerrordetail, self).__init__(**kwargs) + self.code = None + self.message = None + + +class subrequest(msrest.serialization.Model): + """Request property. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: Resource name. + :type name: ~azure_quota_extension_api.models.resourcename + :ivar resource_type: Resource type for which the quota properties were requested. + :vartype resource_type: str + :param unit: Quota limit units, such as Count and Bytes. When requesting quota, use the + **unit** value returned in the GET response in the request body of your PUT operation. + :type unit: str + :ivar provisioning_state: The quota request status. Possible values include: "Accepted", + "Invalid", "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly status message. + :vartype message: str + :ivar sub_request_id: Quota request ID. + :vartype sub_request_id: str + :param limit: Resource quota limit properties. + :type limit: ~azure_quota_extension_api.models.limitjsonobject + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'sub_request_id': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'resourcename'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'sub_request_id': {'key': 'subRequestId', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'limitjsonobject'}, + } + + def __init__( + self, + **kwargs + ): + super(subrequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.resource_type = None + self.unit = kwargs.get('unit', None) + self.provisioning_state = None + self.message = None + self.sub_request_id = None + self.limit = kwargs.get('limit', None) + + +class usageslimits(msrest.serialization.Model): + """Quota limits. + + :param value: List of quota limits. + :type value: list[~azure_quota_extension_api.models.currentusagesbase] + :param next_link: The URI used to fetch the next page of quota limits. When there are no more + pages, this is null. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[currentusagesbase]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(usageslimits, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class usagesobject(msrest.serialization.Model): + """The resource usages value. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. The usages value. + :type value: int + :param usages_type: The quota or usages limit types. Possible values include: "Individual", + "Combined". + :type usages_type: str or ~azure_quota_extension_api.models.Usagestypes + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'int'}, + 'usages_type': {'key': 'usagesType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(usagesobject, self).__init__(**kwargs) + self.value = kwargs['value'] + self.usages_type = kwargs.get('usages_type', None) + + +class usagesproperties(msrest.serialization.Model): + """Usage properties for the specified resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param usages: The quota limit properties for this resource. + :type usages: ~azure_quota_extension_api.models.usagesobject + :ivar unit: The units for the quota usage, such as Count and Bytes. When requesting quota, use + the **unit** value returned in the GET response in the request body of your PUT operation. + :vartype unit: str + :param name: Resource name provided by the resource provider. Use this property name when + requesting quota. + :type name: ~azure_quota_extension_api.models.resourcename + :param resource_type: The name of the resource type. + :type resource_type: str + :ivar quota_period: The time period for the summary of the quota usage values. For example: + *P1D (per one day)*\ PT1M (per one minute) + *PT1S (per one second). + This parameter is optional because it is not relevant for all resources such as compute. + :vartype quota_period: str + :ivar is_quota_applicable: States if quota can be requested for this resource. + :vartype is_quota_applicable: bool + :param properties: Additional properties for the specific resource provider. + :type properties: object + """ + + _validation = { + 'unit': {'readonly': True}, + 'quota_period': {'readonly': True}, + 'is_quota_applicable': {'readonly': True}, + } + + _attribute_map = { + 'usages': {'key': 'usages', 'type': 'usagesobject'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'resourcename'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'quota_period': {'key': 'quotaPeriod', 'type': 'str'}, + 'is_quota_applicable': {'key': 'isQuotaApplicable', 'type': 'bool'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(usagesproperties, self).__init__(**kwargs) + self.usages = kwargs.get('usages', None) + self.unit = None + self.name = kwargs.get('name', None) + self.resource_type = kwargs.get('resource_type', None) + self.quota_period = None + self.is_quota_applicable = None + self.properties = kwargs.get('properties', None) diff --git a/src/quota/azext_quota/vendored_sdks/quota/models/_models_py3.py b/src/quota/azext_quota/vendored_sdks/quota/models/_models_py3.py new file mode 100644 index 00000000000..9ef7d514675 --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/models/_models_py3.py @@ -0,0 +1,1099 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._azure_quota_extension_api_enums import * + + +class commonresourceproperties(msrest.serialization.Model): + """Resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. Example: "Microsoft.Quota/quotas". + :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(commonresourceproperties, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class creategenericquotarequestparameters(msrest.serialization.Model): + """Quota change requests information. + + :param value: Quota change requests. + :type value: list[~azure_quota_extension_api.models.currentquotalimitbase] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[currentquotalimitbase]'}, + } + + def __init__( + self, + *, + value: Optional[List["currentquotalimitbase"]] = None, + **kwargs + ): + super(creategenericquotarequestparameters, self).__init__(**kwargs) + self.value = value + + +class currentquotalimitbase(msrest.serialization.Model): + """Quota limit. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource ID. + :vartype id: str + :ivar type: The resource type. + :vartype type: str + :ivar name: The resource name. + :vartype name: str + :param properties: Quota properties for the specified resource, based on the API called, Quotas + or Usages. + :type properties: ~azure_quota_extension_api.models.quotaproperties + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'quotaproperties'}, + } + + def __init__( + self, + *, + properties: Optional["quotaproperties"] = None, + **kwargs + ): + super(currentquotalimitbase, self).__init__(**kwargs) + self.id = None + self.type = None + self.name = None + self.properties = properties + + +class currentusagesbase(msrest.serialization.Model): + """Resource usage. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource ID. + :vartype id: str + :ivar type: The resource type. + :vartype type: str + :ivar name: The resource name. + :vartype name: str + :param properties: Usage properties for the specified resource. + :type properties: ~azure_quota_extension_api.models.usagesproperties + """ + + _validation = { + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'usagesproperties'}, + } + + def __init__( + self, + *, + properties: Optional["usagesproperties"] = None, + **kwargs + ): + super(currentusagesbase, self).__init__(**kwargs) + self.id = None + self.type = None + self.name = None + self.properties = properties + + +class exceptionresponse(msrest.serialization.Model): + """Error. + + :param error: API error details. + :type error: ~azure_quota_extension_api.models.serviceerror + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'serviceerror'}, + } + + def __init__( + self, + *, + error: Optional["serviceerror"] = None, + **kwargs + ): + super(exceptionresponse, self).__init__(**kwargs) + self.error = error + + +class limitjsonobject(msrest.serialization.Model): + """LimitJson abstract class. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: limitobject. + + All required parameters must be populated in order to send to Azure. + + :param limit_object_type: Required. The limit object type.Constant filled by server. Possible + values include: "LimitValue". + :type limit_object_type: str or ~azure_quota_extension_api.models.Limittype + """ + + _validation = { + 'limit_object_type': {'required': True}, + } + + _attribute_map = { + 'limit_object_type': {'key': 'limitObjectType', 'type': 'str'}, + } + + _subtype_map = { + 'limit_object_type': {'LimitValue': 'limitobject'} + } + + def __init__( + self, + **kwargs + ): + super(limitjsonobject, self).__init__(**kwargs) + self.limit_object_type = None # type: Optional[str] + + +class limitobject(limitjsonobject): + """The resource quota limit value. + + All required parameters must be populated in order to send to Azure. + + :param limit_object_type: Required. The limit object type.Constant filled by server. Possible + values include: "LimitValue". + :type limit_object_type: str or ~azure_quota_extension_api.models.Limittype + :param value: Required. The quota/limit value. + :type value: int + :param limit_type: The quota or usages limit types. Possible values include: "Independent", + "Shared". + :type limit_type: str or ~azure_quota_extension_api.models.Quotalimittypes + """ + + _validation = { + 'limit_object_type': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'limit_object_type': {'key': 'limitObjectType', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'int'}, + 'limit_type': {'key': 'limitType', 'type': 'str'}, + } + + def __init__( + self, + *, + value: int, + limit_type: Optional[Union[str, "Quotalimittypes"]] = None, + **kwargs + ): + super(limitobject, self).__init__(**kwargs) + self.limit_object_type = 'LimitValue' # type: str + self.value = value + self.limit_type = limit_type + + +class operationdisplay(msrest.serialization.Model): + """operationdisplay. + + :param provider: Provider name. + :type provider: str + :param resource: Resource name. + :type resource: str + :param operation: Operation name. + :type operation: str + :param description: Operation description. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + provider: 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 operationlist(msrest.serialization.Model): + """operationlist. + + :param value: + :type value: list[~azure_quota_extension_api.models.operationresponse] + :param next_link: URL to get the next page of items. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[operationresponse]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["operationresponse"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(operationlist, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class operationresponse(msrest.serialization.Model): + """operationresponse. + + :param name: + :type name: str + :param display: + :type display: ~azure_quota_extension_api.models.operationdisplay + :param origin: + :type origin: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'operationdisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["operationdisplay"] = None, + origin: Optional[str] = None, + **kwargs + ): + super(operationresponse, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + + +class quotalimits(msrest.serialization.Model): + """Quota limits. + + :param value: List of quota limits. + :type value: list[~azure_quota_extension_api.models.currentquotalimitbase] + :param next_link: The URI used to fetch the next page of quota limits. When there are no more + pages, this string is null. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[currentquotalimitbase]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["currentquotalimitbase"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(quotalimits, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class quotalimitsresponse(msrest.serialization.Model): + """Quota limits request response. + + :param value: List of quota limits with the quota request status. + :type value: list[~azure_quota_extension_api.models.currentquotalimitbase] + :param next_link: The URI used to fetch the next page of quota limits. When there are no more + pages, this is null. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[currentquotalimitbase]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["currentquotalimitbase"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(quotalimitsresponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class quotaproperties(msrest.serialization.Model): + """Quota properties for the specified resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param limit: Resource quota limit properties. + :type limit: ~azure_quota_extension_api.models.limitjsonobject + :ivar unit: The quota units, such as Count and Bytes. When requesting quota, use the **unit** + value returned in the GET response in the request body of your PUT operation. + :vartype unit: str + :param name: Resource name provided by the resource provider. Use this property name when + requesting quota. + :type name: ~azure_quota_extension_api.models.resourcename + :param resource_type: Resource type name. + :type resource_type: str + :ivar quota_period: The time period over which the quota usage values are summarized. For + example: + *P1D (per one day)*\ PT1M (per one minute) + *PT1S (per one second). + This parameter is optional because, for some resources like compute, the period is irrelevant. + :vartype quota_period: str + :ivar is_quota_applicable: States if quota can be requested for this resource. + :vartype is_quota_applicable: bool + :param properties: Additional properties for the specific resource provider. + :type properties: object + """ + + _validation = { + 'unit': {'readonly': True}, + 'quota_period': {'readonly': True}, + 'is_quota_applicable': {'readonly': True}, + } + + _attribute_map = { + 'limit': {'key': 'limit', 'type': 'limitjsonobject'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'resourcename'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'quota_period': {'key': 'quotaPeriod', 'type': 'str'}, + 'is_quota_applicable': {'key': 'isQuotaApplicable', 'type': 'bool'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + *, + limit: Optional["limitjsonobject"] = None, + name: Optional["resourcename"] = None, + resource_type: Optional[str] = None, + properties: Optional[object] = None, + **kwargs + ): + super(quotaproperties, self).__init__(**kwargs) + self.limit = limit + self.unit = None + self.name = name + self.resource_type = resource_type + self.quota_period = None + self.is_quota_applicable = None + self.properties = properties + + +class quotarequestdetails(msrest.serialization.Model): + """List of quota requests with details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Quota request ID. + :vartype id: str + :ivar name: Quota request name. + :vartype name: str + :ivar type: Resource type. "Microsoft.Quota/quotas". + :vartype type: str + :ivar provisioning_state: The quota request status. Possible values include: "Accepted", + "Invalid", "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly status message. + :vartype message: str + :param error: Error details of the quota request. + :type error: ~azure_quota_extension_api.models.serviceerrordetail + :ivar request_submit_time: The quota request submission time. The date conforms to the + following format specified by the ISO 8601 standard: yyyy-MM-ddTHH:mm:ssZ. + :vartype request_submit_time: ~datetime.datetime + :param value: Quota request details. + :type value: list[~azure_quota_extension_api.models.subrequest] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'request_submit_time': {'readonly': 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'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'error': {'key': 'properties.error', 'type': 'serviceerrordetail'}, + 'request_submit_time': {'key': 'properties.requestSubmitTime', 'type': 'iso-8601'}, + 'value': {'key': 'properties.value', 'type': '[subrequest]'}, + } + + def __init__( + self, + *, + error: Optional["serviceerrordetail"] = None, + value: Optional[List["subrequest"]] = None, + **kwargs + ): + super(quotarequestdetails, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.provisioning_state = None + self.message = None + self.error = error + self.request_submit_time = None + self.value = value + + +class quotarequestdetailslist(msrest.serialization.Model): + """Quota request information. + + :param value: Quota request details. + :type value: list[~azure_quota_extension_api.models.quotarequestdetails] + :param next_link: The URI for fetching the next page of quota limits. When there are no more + pages, this string is null. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[quotarequestdetails]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["quotarequestdetails"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(quotarequestdetailslist, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class quotarequestoneresourcesubmitresponse(msrest.serialization.Model): + """Quota request response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Quota request ID. + :vartype id: str + :ivar name: The name of the quota request. + :vartype name: str + :ivar type: Resource type. "Microsoft.Quota/ServiceLimitRequests". + :vartype type: str + :ivar provisioning_state: Quota request status. Possible values include: "Accepted", "Invalid", + "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly status message. + :vartype message: str + :ivar request_submit_time: Quota request submission time. The date conforms to the following + ISO 8601 standard format: yyyy-MM-ddTHH:mm:ssZ. + :vartype request_submit_time: ~datetime.datetime + :param limit: Resource quota limit properties. + :type limit: ~azure_quota_extension_api.models.limitobject + :ivar current_value: Usage information for the current resource. + :vartype current_value: int + :param unit: The quota limit units, such as Count and Bytes. When requesting quota, use the + **unit** value returned in the GET response in the request body of your PUT operation. + :type unit: str + :param name_properties_name: Resource name provided by the resource provider. Use this property + name when requesting quota. + :type name_properties_name: ~azure_quota_extension_api.models.resourcename + :param resource_type: Resource type name. + :type resource_type: str + :ivar quota_period: The time period over which the quota usage values are summarized. For + example: + *P1D (per one day)*\ PT1M (per one minute) + *PT1S (per one second). + This parameter is optional because, for some resources like compute, the period is irrelevant. + :vartype quota_period: str + :ivar is_quota_applicable: States if quota can be requested for this resource. + :vartype is_quota_applicable: bool + :param error: Error details of the quota request. + :type error: ~azure_quota_extension_api.models.serviceerrordetail + :param properties: Additional properties for the specific resource provider. + :type properties: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'request_submit_time': {'readonly': True}, + 'current_value': {'readonly': True}, + 'quota_period': {'readonly': True}, + 'is_quota_applicable': {'readonly': 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'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'request_submit_time': {'key': 'properties.requestSubmitTime', 'type': 'iso-8601'}, + 'limit': {'key': 'properties.limit', 'type': 'limitobject'}, + 'current_value': {'key': 'properties.currentValue', 'type': 'int'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'name_properties_name': {'key': 'properties.name', 'type': 'resourcename'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'quota_period': {'key': 'properties.quotaPeriod', 'type': 'str'}, + 'is_quota_applicable': {'key': 'properties.isQuotaApplicable', 'type': 'bool'}, + 'error': {'key': 'properties.error', 'type': 'serviceerrordetail'}, + 'properties': {'key': 'properties.properties', 'type': 'object'}, + } + + def __init__( + self, + *, + limit: Optional["limitobject"] = None, + unit: Optional[str] = None, + name_properties_name: Optional["resourcename"] = None, + resource_type: Optional[str] = None, + error: Optional["serviceerrordetail"] = None, + properties: Optional[object] = None, + **kwargs + ): + super(quotarequestoneresourcesubmitresponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.provisioning_state = None + self.message = None + self.request_submit_time = None + self.limit = limit + self.current_value = None + self.unit = unit + self.name_properties_name = name_properties_name + self.resource_type = resource_type + self.quota_period = None + self.is_quota_applicable = None + self.error = error + self.properties = properties + + +class quotarequestproperties(msrest.serialization.Model): + """Quota request properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: The quota request status. Possible values include: "Accepted", + "Invalid", "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly status message. + :vartype message: str + :param error: Error details of the quota request. + :type error: ~azure_quota_extension_api.models.serviceerrordetail + :ivar request_submit_time: The quota request submission time. The date conforms to the + following format specified by the ISO 8601 standard: yyyy-MM-ddTHH:mm:ssZ. + :vartype request_submit_time: ~datetime.datetime + :param value: Quota request details. + :type value: list[~azure_quota_extension_api.models.subrequest] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'request_submit_time': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'serviceerrordetail'}, + 'request_submit_time': {'key': 'requestSubmitTime', 'type': 'iso-8601'}, + 'value': {'key': 'value', 'type': '[subrequest]'}, + } + + def __init__( + self, + *, + error: Optional["serviceerrordetail"] = None, + value: Optional[List["subrequest"]] = None, + **kwargs + ): + super(quotarequestproperties, self).__init__(**kwargs) + self.provisioning_state = None + self.message = None + self.error = error + self.request_submit_time = None + self.value = value + + +class quotarequestsubmitresponse(msrest.serialization.Model): + """Quota request response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Quota request ID. + :vartype id: str + :ivar name: Quota request name. + :vartype name: str + :param properties: Quota request details. + :type properties: ~azure_quota_extension_api.models.quotarequestproperties + :ivar type: Resource type. "Microsoft.Quota/quotas". + :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'}, + 'properties': {'key': 'properties', 'type': 'quotarequestproperties'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + properties: Optional["quotarequestproperties"] = None, + **kwargs + ): + super(quotarequestsubmitresponse, self).__init__(**kwargs) + self.id = None + self.name = None + self.properties = properties + self.type = None + + +class quotarequestsubmitresponse202(msrest.serialization.Model): + """The quota request response with the quota request ID. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The quota request ID. To check the request status, use the **id** value in a `Quota + Request Status `_ GET operation. + :vartype id: str + :ivar name: Operation ID. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :ivar provisioning_state: Quota request status. Possible values include: "Accepted", "Invalid", + "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly message. + :vartype message: str + :param limit: Resource quota limit properties. + :type limit: ~azure_quota_extension_api.models.limitobject + :param unit: The quota limit units, such as Count and Bytes. When requesting quota, use the + **unit** value returned in the GET response in the request body of your PUT operation. + :type unit: str + :param name_properties_name: Resource name provided by the resource provider. Use this property + name when requesting quota. + :type name_properties_name: ~azure_quota_extension_api.models.resourcename + :param resource_type: Resource type name. + :type resource_type: str + :ivar quota_period: The time period over which the quota usage values are summarized. For + example: + *P1D (per one day)*\ PT1M (per one minute) + *PT1S (per one second). + This parameter is optional because, for some resources like compute, the period is irrelevant. + :vartype quota_period: str + :param properties: Additional properties for the specific resource provider. + :type properties: object + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'quota_period': {'readonly': 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'}, + 'message': {'key': 'properties.message', 'type': 'str'}, + 'limit': {'key': 'properties.limit', 'type': 'limitobject'}, + 'unit': {'key': 'properties.unit', 'type': 'str'}, + 'name_properties_name': {'key': 'properties.name', 'type': 'resourcename'}, + 'resource_type': {'key': 'properties.resourceType', 'type': 'str'}, + 'quota_period': {'key': 'properties.quotaPeriod', 'type': 'str'}, + 'properties': {'key': 'properties.properties', 'type': 'object'}, + } + + def __init__( + self, + *, + limit: Optional["limitobject"] = None, + unit: Optional[str] = None, + name_properties_name: Optional["resourcename"] = None, + resource_type: Optional[str] = None, + properties: Optional[object] = None, + **kwargs + ): + super(quotarequestsubmitresponse202, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.provisioning_state = None + self.message = None + self.limit = limit + self.unit = unit + self.name_properties_name = name_properties_name + self.resource_type = resource_type + self.quota_period = None + self.properties = properties + + +class resourcename(msrest.serialization.Model): + """Name of the resource provided by the resource Provider. When requesting quota, use this property name. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param value: Resource name. + :type value: str + :ivar localized_value: Resource display name. + :vartype localized_value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[str] = None, + **kwargs + ): + super(resourcename, self).__init__(**kwargs) + self.value = value + self.localized_value = None + + +class serviceerror(msrest.serialization.Model): + """API error details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param code: Error code. + :type code: str + :param message: Error message. + :type message: str + :ivar details: List of error details. + :vartype details: list[~azure_quota_extension_api.models.serviceerrordetail] + """ + + _validation = { + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[serviceerrordetail]'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + **kwargs + ): + super(serviceerror, self).__init__(**kwargs) + self.code = code + self.message = message + self.details = None + + +class serviceerrordetail(msrest.serialization.Model): + """Error details. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Error code. + :vartype code: str + :ivar message: Error message. + :vartype message: str + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(serviceerrordetail, self).__init__(**kwargs) + self.code = None + self.message = None + + +class subrequest(msrest.serialization.Model): + """Request property. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: Resource name. + :type name: ~azure_quota_extension_api.models.resourcename + :ivar resource_type: Resource type for which the quota properties were requested. + :vartype resource_type: str + :param unit: Quota limit units, such as Count and Bytes. When requesting quota, use the + **unit** value returned in the GET response in the request body of your PUT operation. + :type unit: str + :ivar provisioning_state: The quota request status. Possible values include: "Accepted", + "Invalid", "Succeeded", "Failed", "InProgress". + :vartype provisioning_state: str or ~azure_quota_extension_api.models.Quotarequeststate + :ivar message: User-friendly status message. + :vartype message: str + :ivar sub_request_id: Quota request ID. + :vartype sub_request_id: str + :param limit: Resource quota limit properties. + :type limit: ~azure_quota_extension_api.models.limitjsonobject + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'message': {'readonly': True}, + 'sub_request_id': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'resourcename'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'sub_request_id': {'key': 'subRequestId', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'limitjsonobject'}, + } + + def __init__( + self, + *, + name: Optional["resourcename"] = None, + unit: Optional[str] = None, + limit: Optional["limitjsonobject"] = None, + **kwargs + ): + super(subrequest, self).__init__(**kwargs) + self.name = name + self.resource_type = None + self.unit = unit + self.provisioning_state = None + self.message = None + self.sub_request_id = None + self.limit = limit + + +class usageslimits(msrest.serialization.Model): + """Quota limits. + + :param value: List of quota limits. + :type value: list[~azure_quota_extension_api.models.currentusagesbase] + :param next_link: The URI used to fetch the next page of quota limits. When there are no more + pages, this is null. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[currentusagesbase]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["currentusagesbase"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(usageslimits, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class usagesobject(msrest.serialization.Model): + """The resource usages value. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. The usages value. + :type value: int + :param usages_type: The quota or usages limit types. Possible values include: "Individual", + "Combined". + :type usages_type: str or ~azure_quota_extension_api.models.Usagestypes + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'int'}, + 'usages_type': {'key': 'usagesType', 'type': 'str'}, + } + + def __init__( + self, + *, + value: int, + usages_type: Optional[Union[str, "Usagestypes"]] = None, + **kwargs + ): + super(usagesobject, self).__init__(**kwargs) + self.value = value + self.usages_type = usages_type + + +class usagesproperties(msrest.serialization.Model): + """Usage properties for the specified resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param usages: The quota limit properties for this resource. + :type usages: ~azure_quota_extension_api.models.usagesobject + :ivar unit: The units for the quota usage, such as Count and Bytes. When requesting quota, use + the **unit** value returned in the GET response in the request body of your PUT operation. + :vartype unit: str + :param name: Resource name provided by the resource provider. Use this property name when + requesting quota. + :type name: ~azure_quota_extension_api.models.resourcename + :param resource_type: The name of the resource type. + :type resource_type: str + :ivar quota_period: The time period for the summary of the quota usage values. For example: + *P1D (per one day)*\ PT1M (per one minute) + *PT1S (per one second). + This parameter is optional because it is not relevant for all resources such as compute. + :vartype quota_period: str + :ivar is_quota_applicable: States if quota can be requested for this resource. + :vartype is_quota_applicable: bool + :param properties: Additional properties for the specific resource provider. + :type properties: object + """ + + _validation = { + 'unit': {'readonly': True}, + 'quota_period': {'readonly': True}, + 'is_quota_applicable': {'readonly': True}, + } + + _attribute_map = { + 'usages': {'key': 'usages', 'type': 'usagesobject'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'resourcename'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'quota_period': {'key': 'quotaPeriod', 'type': 'str'}, + 'is_quota_applicable': {'key': 'isQuotaApplicable', 'type': 'bool'}, + 'properties': {'key': 'properties', 'type': 'object'}, + } + + def __init__( + self, + *, + usages: Optional["usagesobject"] = None, + name: Optional["resourcename"] = None, + resource_type: Optional[str] = None, + properties: Optional[object] = None, + **kwargs + ): + super(usagesproperties, self).__init__(**kwargs) + self.usages = usages + self.unit = None + self.name = name + self.resource_type = resource_type + self.quota_period = None + self.is_quota_applicable = None + self.properties = properties diff --git a/src/quota/azext_quota/vendored_sdks/quota/operations/__init__.py b/src/quota/azext_quota/vendored_sdks/quota/operations/__init__.py new file mode 100644 index 00000000000..9d34a41a594 --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/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 ._usages_operations import usagesOperations +from ._quota_operations import quotaOperations +from ._quota_request_status_operations import quotarequeststatusOperations +from ._quota_operation_operations import quotaoperationOperations + +__all__ = [ + 'usagesOperations', + 'quotaOperations', + 'quotarequeststatusOperations', + 'quotaoperationOperations', +] diff --git a/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_operation_operations.py b/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_operation_operations.py new file mode 100644 index 00000000000..06c254db2df --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_operation_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 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 + +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 quotaoperationOperations(object): + """quotaoperationOperations 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_quota_extension_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.operationlist"] + """GET quota operations. + + List all the operations supported by the Microsoft.Quota resource provider. + + :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_quota_extension_api.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 = "2021-03-15-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('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]: + error = self._deserialize(models.exceptionresponse, 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.metadata = {'url': '/providers/Microsoft.Quota/operations'} # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_operations.py b/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_operations.py new file mode 100644 index 00000000000..057f426144a --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_operations.py @@ -0,0 +1,473 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.core.polling.base_polling import LROBasePolling + +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 quotaOperations(object): + """quotaOperations 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_quota_extension_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 get( + self, + resource_name, # type: str + scope, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.currentquotalimitbase" + """Get the quota limit of a resource. The response can be used to determine the remaining quota to + calculate a new quota limit that can be submitted with a PUT request. + + :param resource_name: Resource name for a given resource provider. For example: + + + * SKU name for Microsoft.Compute + * SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices + For Microsoft.Network PublicIPAddresses. + :type resource_name: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: currentquotalimitbase, or the result of cls(response) + :rtype: ~azure_quota_extension_api.models.currentquotalimitbase + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.currentquotalimitbase"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_name, # type: str + scope, # type: str + create_quota_request, # type: "models.currentquotalimitbase" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.currentquotalimitbase"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.currentquotalimitbase"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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_quota_request, 'currentquotalimitbase') + 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) + error = self._deserialize(models.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + def begin_create_or_update( + self, + resource_name, # type: str + scope, # type: str + create_quota_request, # type: "models.currentquotalimitbase" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.currentquotalimitbase"] + """Create or update the quota limit for the specified resource with the requested value. To update + the quota, follow these steps: + #. Use the GET operation for quotas and usages to determine how much quota remains for the + specific resource and to calculate the new quota limit. These steps are detailed in `this + example `_. + #. Use this PUT operation to update the quota limit. Please check the URI in location header + for the detailed status of the request. + :param resource_name: Resource name for a given resource provider. For example: + * SKU name for Microsoft.Compute + * SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices + For Microsoft.Network PublicIPAddresses. + :type resource_name: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :param create_quota_request: Quota request payload. + :type create_quota_request: ~azure_quota_extension_api.models.currentquotalimitbase + :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 currentquotalimitbase or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_quota_extension_api.models.currentquotalimitbase] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.currentquotalimitbase"] + 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_name=resource_name, + scope=scope, + create_quota_request=create_quota_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('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + + if polling is True: polling_method = LROBasePolling(lro_delay, lro_options={'final-state-via': 'original-uri'}, 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': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + def _update_initial( + self, + resource_name, # type: str + scope, # type: str + create_quota_request, # type: "models.currentquotalimitbase" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.currentquotalimitbase"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.currentquotalimitbase"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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_quota_request, 'currentquotalimitbase') + 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.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + def begin_update( + self, + resource_name, # type: str + scope, # type: str + create_quota_request, # type: "models.currentquotalimitbase" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.currentquotalimitbase"] + """Update the quota limit for a specific resource to the specified value: + #. Use the Usages-GET and Quota-GET operations to determine the remaining quota for the + specific resource and to calculate the new quota limit. These steps are detailed in `this + example `_. + #. Use this PUT operation to update the quota limit. Please check the URI in location header + for the detailed status of the request. + :param resource_name: Resource name for a given resource provider. For example: + * SKU name for Microsoft.Compute + * SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices + For Microsoft.Network PublicIPAddresses. + :type resource_name: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :param create_quota_request: Quota requests payload. + :type create_quota_request: ~azure_quota_extension_api.models.currentquotalimitbase + :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 currentquotalimitbase or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_quota_extension_api.models.currentquotalimitbase] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.currentquotalimitbase"] + 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_name=resource_name, + scope=scope, + create_quota_request=create_quota_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('currentquotalimitbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + + if polling is True: polling_method = LROBasePolling(lro_delay, lro_options={'final-state-via': 'original-uri'}, 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': '/{scope}/providers/Microsoft.Quota/quotas/{resourceName}'} # type: ignore + + def list( + self, + scope, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.quotalimits"] + """Get a list of current quota limits of all resources for the specified scope. The response from + this GET operation can be leveraged to submit requests to update a quota. + + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either quotalimits or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_quota_extension_api.models.quotalimits] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.quotalimits"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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('quotalimits', 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.exceptionresponse, 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.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotas'} # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_request_status_operations.py b/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_request_status_operations.py new file mode 100644 index 00000000000..22d5653a2e0 --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/operations/_quota_request_status_operations.py @@ -0,0 +1,209 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 + +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 quotarequeststatusOperations(object): + """quotarequeststatusOperations 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_quota_extension_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 get( + self, + id, # type: str + scope, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.quotarequestdetails" + """Get the quota request details and status by quota request ID for the resources of the resource + provider at a specific location. The quota request ID **id** is returned in the response of the + PUT operation. + + :param id: Quota request ID. + :type id: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: quotarequestdetails, or the result of cls(response) + :rtype: ~azure_quota_extension_api.models.quotarequestdetails + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.quotarequestdetails"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'id': self._serialize.url("id", id, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + deserialized = self._deserialize('quotarequestdetails', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotaRequests/{id}'} # type: ignore + + def list( + self, + scope, # type: str + filter=None, # type: Optional[str] + top=None, # type: Optional[int] + skiptoken=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.quotarequestdetailslist"] + """For the specified scope, get the current quota requests for a one year period ending at the + time is made. Use the **oData** filter to select quota requests. + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :param filter: .. list-table:: + :header-rows: 1 + * - Field + - Supported operators + * - + |requestSubmitTime | ge, le, eq, gt, lt + |provisioningState eq {QuotaRequestState} + |resourceName eq {resourceName}. + :type filter: str + :param top: Number of records to return. + :type top: int + :param skiptoken: The **Skiptoken** parameter is used only if a previous operation returned a + partial result. If a previous response contains a **nextLink** element, its value includes a + **skiptoken** parameter that specifies a starting point to use for subsequent calls. + :type skiptoken: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either quotarequestdetailslist or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_quota_extension_api.models.quotarequestdetailslist] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.quotarequestdetailslist"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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 filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int', minimum=1) + if skiptoken is not None: + query_parameters['$skiptoken'] = self._serialize.query("skiptoken", skiptoken, '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('quotarequestdetailslist', 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.exceptionresponse, 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.metadata = {'url': '/{scope}/providers/Microsoft.Quota/quotaRequests'} # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/operations/_usages_operations.py b/src/quota/azext_quota/vendored_sdks/quota/operations/_usages_operations.py new file mode 100644 index 00000000000..cc51de45e69 --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/operations/_usages_operations.py @@ -0,0 +1,190 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 + +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 usagesOperations(object): + """usagesOperations 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_quota_extension_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 get( + self, + resource_name, # type: str + scope, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.currentusagesbase" + """Get the current usage of a resource. + + :param resource_name: Resource name for a given resource provider. For example: + + + * SKU name for Microsoft.Compute + * SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices + For Microsoft.Network PublicIPAddresses. + :type resource_name: str + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: currentusagesbase, or the result of cls(response) + :rtype: ~azure_quota_extension_api.models.currentusagesbase + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.currentusagesbase"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceName': self._serialize.url("resource_name", resource_name, 'str'), + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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.exceptionresponse, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('currentusagesbase', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + get.metadata = {'url': '/{scope}/providers/Microsoft.Quota/usages/{resourceName}'} # type: ignore + + def list( + self, + scope, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.usageslimits"] + """Get a list of current usage for all resources for the scope specified. + + :param scope: The target Azure resource URI. For example, + ``/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms- + test/providers/Microsoft.Batch/batchAccounts/testAccount/``. This is the target Azure resource + URI for the List GET operation. If a ``{resourceName}`` is added after ``/quotas``\ , then it's + the target Azure resource URI in the GET operation for the specific resource. + :type scope: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either usageslimits or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_quota_extension_api.models.usageslimits] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.usageslimits"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-03-15-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 = { + 'scope': self._serialize.url("scope", scope, 'str', skip_quote=True), + } + url = self._client.format_url(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('usageslimits', 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.exceptionresponse, 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.metadata = {'url': '/{scope}/providers/Microsoft.Quota/usages'} # type: ignore diff --git a/src/quota/azext_quota/vendored_sdks/quota/py.typed b/src/quota/azext_quota/vendored_sdks/quota/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/quota/azext_quota/vendored_sdks/quota/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/quota/gen.zip b/src/quota/gen.zip new file mode 100644 index 0000000000000000000000000000000000000000..5a56c30687b03de76529cf619a6eb65036c22dba GIT binary patch literal 13129 zcmeHO&2Aev5LT16DAa3@J+L-VOMxZDe{y0VKxNrVjo67|xkZaOT~I4ZV!YZ_NUm)q z@VU>>bAh67&|~lIYxLAx-=IV8k5;SwbL(~OB5O$NC5OY|@Z)eeJ8D0<`+l(?uiq-) z9{uvyA3uEhd7&UbWhldM$hpv7+m^t`f^fl)4J_}+A1(dU~#jv23Sw#)QK#GVXMmS-oq*sNu`&1_;Cp~1FJ;IO} z5_GV4|MRWwZ7D%v(Ho~Tj4X9g0yWcbp z+WWg(sPpRw$KjAYa2$cwJg@OMo>wLUj#VxNFPbeXgVXHyOIRcGSY`c zKjDv_S|%xP6%kx8V5bmPM52x6$)f1F(0h54PuhltSZQ&6$CQx{Bu?*h^9Z}&o zQcusi5<5qev1%Uf7ijloo3CB|l8N8f%KZzt79xZNP+KRcVMH~*mEa6m&;zUwsY&(;W+pWU9q^67mEqdHb=GF!U{Ep10?hTB3(O;M zJ&eF`z%e8|6_M@^9R}vY7PS0Fh%}}O&5FfH$@2$c3?ynsSQ&FW{pEM|0r6eJ$0WN; z$cNThPKcANvwK)icRG&Cmw8(5yH`ctLtkFqwL4gWX)q`k%3W6|=V{KlB+qFkB&C|<@2WyPwiuS0a9`f?1u0_W&qs`k+f5kCG zB?2x)B9f&!%?rudO!ZZsIy_TyX)}}OdKhD&552&OH!p2jm}b1~aWB8fio-m@fWM2Z z+@Q!x5_S?7wllqXE$u4+Plk0Le+me@y6>VZ*`k0s+PP;Cj#ZJxnsfl*wBQ%;=nY;4 zcx4b*wbJCCoRgYK+PacZ*w?8l;ynQ07F_xoWQEctBEv zo#_q5Y{ayO7FM@6nh!QsHY#hII}a-B+x14}!REv5N^_^azS3B2w(9pcZuQwIdD^}N zC|GQgdEW8{>Fm5+#!bD6F9wozzh}0YHGp7Gl6{y_h*~!BTN)$6W~TE}YJL^Wuer#V z8Obs`t3NYbB z(QdL6>T5TC)&9Hp!`Gp`A;s+H z@7BJ5{c)inKeeP3Gnv=pq@HOUGP*FlxO|sr_J2w=bMwnA?qrk{P9H{(EdrgOiGUFFXQ0mkD=*P;dlp`gqxD4%QL0TDncftI&6dR z@zX|2PI9K7JnEzoFibhoXy19#v7u|abqdkE0V&Fp_0ewUNZZ*vM30aKdBs=^tGLVM zz2rT=vZ(1lc$J#ghftcPm6y>{wYpSxPwD0<;&8qn`#Z?I7d%s~LWyn)>KH?eL1nxG z7u_I`0-L}mOc2RQS}+}RvV}aGHYX3L#PFpJGMOERQ=?QIFng-hPp5tHvK%G|`8E+0 zp<_ShlS6D5~`= zyAmLV>l}N+s9pn|%vut~Sv8je%oyI1Z#?~a&rFxf#aZvY`Rh+V-T|*&em;WFhzMMT zUs1fhXg_)H&L@TVpOOG^;L7~Nk|5itE6WgE~JpB^T{%)_IbGXHFKI@b1+ S4?dJNcj50(xbHz-q3}0@OZ$)j literal 0 HcmV?d00001 diff --git a/src/quota/report.md b/src/quota/report.md new file mode 100644 index 00000000000..85767d9f73f --- /dev/null +++ b/src/quota/report.md @@ -0,0 +1,201 @@ +# Azure CLI Module Creation Report + +## EXTENSION +|CLI Extension|Command Groups| +|---------|------------| +|az quota|[groups](#CommandGroups) + +## GROUPS +### Command groups in `az quota` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az quota|Quota|[commands](#CommandsInQuota)| +|az quota quotaoperation|QuotaOperation|[commands](#CommandsInQuotaOperation)| +|az quota quotarequeststatus|QuotaRequestStatus|[commands](#CommandsInQuotaRequestStatus)| +|az quota usage|Usages|[commands](#CommandsInUsages)| + +## COMMANDS +### Commands in `az quota` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az quota list](#QuotaList)|List|[Parameters](#ParametersQuotaList)|[Example](#ExamplesQuotaList)| +|[az quota show](#QuotaGet)|Get|[Parameters](#ParametersQuotaGet)|[Example](#ExamplesQuotaGet)| +|[az quota create](#QuotaCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersQuotaCreateOrUpdate#Create)|[Example](#ExamplesQuotaCreateOrUpdate#Create)| +|[az quota update](#QuotaUpdate)|Update|[Parameters](#ParametersQuotaUpdate)|[Example](#ExamplesQuotaUpdate)| + +### Commands in `az quota quotaoperation` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az quota quotaoperation list](#QuotaOperationList)|List|[Parameters](#ParametersQuotaOperationList)|[Example](#ExamplesQuotaOperationList)| + +### Commands in `az quota quotarequeststatus` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az quota quotarequeststatus list](#QuotaRequestStatusList)|List|[Parameters](#ParametersQuotaRequestStatusList)|[Example](#ExamplesQuotaRequestStatusList)| +|[az quota quotarequeststatus show](#QuotaRequestStatusGet)|Get|[Parameters](#ParametersQuotaRequestStatusGet)|[Example](#ExamplesQuotaRequestStatusGet)| + +### Commands in `az quota usage` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az quota usage list](#UsagesList)|List|[Parameters](#ParametersUsagesList)|[Example](#ExamplesUsagesList)| +|[az quota usage show](#UsagesGet)|Get|[Parameters](#ParametersUsagesGet)|[Example](#ExamplesUsagesGet)| + + +## COMMAND DETAILS +### group `az quota` +#### Command `az quota list` + +##### Example +``` +az quota list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus" +az quota list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus" +az quota list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/l\ +ocations/eastus" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--scope**|string|The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.|scope|scope| + +#### Command `az quota show` + +##### Example +``` +az quota show --resource-name "standardNDSFamily" --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers\ +/Microsoft.Compute/locations/eastus" +az quota show --resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/00000000-0000-0000-0000-0000\ +00000000/providers/Microsoft.Network/locations/eastus" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-name**|string|Resource name for a given resource provider. For example: - SKU name for Microsoft.Compute - SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices For Microsoft.Network PublicIPAddresses.|resource_name|resourceName| +|**--scope**|string|The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.|scope|scope| + +#### Command `az quota create` + +##### Example +``` +az quota create --properties "{\\"name\\":{\\"value\\":\\"MinPublicIpInterNetworkPrefixLength\\"},\\"limit\\":{\\"limit\ +ObjectType\\":\\"LimitValue\\",\\"value\\":10},\\"resourceType\\":\\"MinPublicIpInterNetworkPrefixLength\\"}" \ +--resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/provi\ +ders/Microsoft.Network/locations/eastus" +az quota create --properties "{\\"name\\":{\\"value\\":\\"StandardSkuPublicIpAddresses\\"},\\"limit\\":{\\"limitObjectT\ +ype\\":\\"LimitValue\\",\\"value\\":10},\\"resourceType\\":\\"PublicIpAddresses\\"}" --resource-name \ +"StandardSkuPublicIpAddresses" --scope "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Network/\ +locations/eastus" +az quota create --properties "{\\"name\\":{\\"value\\":\\"standardFSv2Family\\"},\\"limit\\":{\\"limitObjectType\\":\\"\ +LimitValue\\",\\"value\\":10}}" --resource-name "standardFSv2Family" --scope "subscriptions/D7EC67B3-7657-4966-BFFC-41E\ +FD36BAAB3/providers/Microsoft.Compute/locations/eastus" +az quota create --properties "{\\"name\\":{\\"value\\":\\"TotalLowPriorityCores\\"},\\"limit\\":{\\"limitObjectType\\":\ +\\"LimitValue\\",\\"value\\":10},\\"resourceType\\":\\"lowPriority\\"}" --resource-name "TotalLowPriorityCores" \ +--scope "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.MachineLearningServices/locations/eastu\ +s" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-name**|string|Resource name for a given resource provider. For example: - SKU name for Microsoft.Compute - SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices For Microsoft.Network PublicIPAddresses.|resource_name|resourceName| +|**--scope**|string|The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.|scope|scope| +|**--limitobject**|object|The resource quota limit value.|limitobject|LimitObject| +|**--resource-type**|string|Resource type name.|resource_type|resourceType| +|**--properties**|any|Additional properties for the specific resource provider.|properties|properties| +|**--value**|string|Resource name.|value|value| + +#### Command `az quota update` + +##### Example +``` +az quota update --properties "{\\"name\\":{\\"value\\":\\"standardFSv2Family\\"},\\"limit\\":{\\"limitObjectType\\":\\"\ +LimitValue\\",\\"value\\":10}}" --resource-name "standardFSv2Family" --scope "subscriptions/D7EC67B3-7657-4966-BFFC-41E\ +FD36BAAB3/providers/Microsoft.Compute/locations/eastus" +az quota update --properties "{\\"name\\":{\\"value\\":\\"MinPublicIpInterNetworkPrefixLength\\"},\\"limit\\":{\\"limit\ +ObjectType\\":\\"LimitValue\\",\\"value\\":10},\\"resourceType\\":\\"MinPublicIpInterNetworkPrefixLength\\"}" \ +--resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/provi\ +ders/Microsoft.Network/locations/eastus" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-name**|string|Resource name for a given resource provider. For example: - SKU name for Microsoft.Compute - SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices For Microsoft.Network PublicIPAddresses.|resource_name|resourceName| +|**--scope**|string|The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.|scope|scope| +|**--limitobject**|object|The resource quota limit value.|limitobject|LimitObject| +|**--resource-type**|string|Resource type name.|resource_type|resourceType| +|**--properties**|any|Additional properties for the specific resource provider.|properties|properties| +|**--value**|string|Resource name.|value|value| + +### group `az quota quotaoperation` +#### Command `az quota quotaoperation list` + +##### Example +``` +az quota quotaoperation list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| + +### group `az quota quotarequeststatus` +#### Command `az quota quotarequeststatus list` + +##### Example +``` +az quota quotarequeststatus list --scope "subscriptions/D7EC67B3-7657-4966-BFFC-41EFD36BAAB3/providers/Microsoft.Comput\ +e/locations/eastus" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--scope**|string|The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.|scope|scope| +|**--filter**|string|| Field | Supported operators |---------------------|------------------------ |requestSubmitTime | ge, le, eq, gt, lt |provisioningState eq {QuotaRequestState} |resourceName eq {resourceName} |filter|$filter| +|**--top**|integer|Number of records to return.|top|$top| +|**--skiptoken**|string|The **Skiptoken** parameter is used only if a previous operation returned a partial result. If a previous response contains a **nextLink** element, its value includes a **skiptoken** parameter that specifies a starting point to use for subsequent calls.|skiptoken|$skiptoken| + +#### Command `az quota quotarequeststatus show` + +##### Example +``` +az quota quotarequeststatus show --id "2B5C8515-37D8-4B6A-879B-CD641A2CF605" --scope "subscriptions/00000000-0000-0000-\ +0000-000000000000/providers/Microsoft.Compute/locations/eastus" +az quota quotarequeststatus show --id "2B5C8515-37D8-4B6A-879B-CD641A2CF605" --scope "subscriptions/00000000-0000-0000-\ +0000-000000000000/providers/Microsoft.Compute/locations/eastus" +az quota quotarequeststatus show --id "2B5C8515-37D8-4B6A-879B-CD641A2CF605" --scope "subscriptions/D7EC67B3-7657-4966-\ +BFFC-41EFD36BAAB3/providers/Microsoft.Compute/locations/eastus" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--id**|string|Quota request ID.|id|id| +|**--scope**|string|The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.|scope|scope| + +### group `az quota usage` +#### Command `az quota usage list` + +##### Example +``` +az quota usage list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/e\ +astus" +az quota usage list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/e\ +astus" +az quota usage list --scope "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServ\ +ices/locations/eastus" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--scope**|string|The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.|scope|scope| + +#### Command `az quota usage show` + +##### Example +``` +az quota usage show --resource-name "standardNDSFamily" --scope "subscriptions/00000000-0000-0000-0000-000000000000/pro\ +viders/Microsoft.Compute/locations/eastus" +az quota usage show --resource-name "MinPublicIpInterNetworkPrefixLength" --scope "subscriptions/00000000-0000-0000-000\ +0-000000000000/providers/Microsoft.Network/locations/eastus" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-name**|string|Resource name for a given resource provider. For example: - SKU name for Microsoft.Compute - SKU or TotalLowPriorityCores for Microsoft.MachineLearningServices For Microsoft.Network PublicIPAddresses.|resource_name|resourceName| +|**--scope**|string|The target Azure resource URI. For example, `/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qms-test/providers/Microsoft.Batch/batchAccounts/testAccount/`. This is the target Azure resource URI for the List GET operation. If a `{resourceName}` is added after `/quotas`, then it's the target Azure resource URI in the GET operation for the specific resource.|scope|scope| diff --git a/src/quota/setup.cfg b/src/quota/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/quota/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/quota/setup.py b/src/quota/setup.py new file mode 100644 index 00000000000..170fe9e712c --- /dev/null +++ b/src/quota/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_quota.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_quota.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='quota', + version=VERSION, + description='Microsoft Azure Command-Line Tools AzureQuotaExtensionAPI Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/quota', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_quota': ['azext_metadata.json']}, +) diff --git a/src/rdbms-connect/HISTORY.rst b/src/rdbms-connect/HISTORY.rst index 72e2fa1428a..12269d1d7d9 100644 --- a/src/rdbms-connect/HISTORY.rst +++ b/src/rdbms-connect/HISTORY.rst @@ -3,6 +3,14 @@ Release History =============== +1.0.1 +++++++ ++ Add rdbms-module to cloud shell + +1.0.0 +++++++ ++ GA release for 'az postgres flexible-server connect' and 'az postgres flexible-server execute' commands. + 0.1.4 ++++++ + GA release for 'az mysql flexible-server connect' and 'az mysql flexible-server execute' commands. diff --git a/src/rdbms-connect/azext_rdbms_connect/azext_metadata.json b/src/rdbms-connect/azext_rdbms_connect/azext_metadata.json index 7d7bf6ba5de..ea73565b9da 100644 --- a/src/rdbms-connect/azext_rdbms_connect/azext_metadata.json +++ b/src/rdbms-connect/azext_rdbms_connect/azext_metadata.json @@ -1,4 +1,3 @@ { - "azext.isPreview": true, "azext.minCliCoreVersion": "2.19.0" } \ No newline at end of file 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 a82c734b3d9..65064ee96cc 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 @@ -6,7 +6,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import ( JMESPathCheck, NoneCheck, diff --git a/src/rdbms-connect/setup.py b/src/rdbms-connect/setup.py index ef6c120d43f..acd85386702 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.4' +VERSION = '1.0.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -50,7 +50,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/rdbms-connect', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/rdbms-connect', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/redisenterprise/setup.py b/src/redisenterprise/setup.py index 58f844bc195..1d04316f3f3 100644 --- a/src/redisenterprise/setup.py +++ b/src/redisenterprise/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools RedisEnterpriseManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/redisenterprise', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/redisenterprise', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/resource-graph/azext_resourcegraph/tests/latest/test_resourcegraph_commands.py b/src/resource-graph/azext_resourcegraph/tests/latest/test_resourcegraph_commands.py index cf6d6d0554e..026ffdf0cd6 100644 --- a/src/resource-graph/azext_resourcegraph/tests/latest/test_resourcegraph_commands.py +++ b/src/resource-graph/azext_resourcegraph/tests/latest/test_resourcegraph_commands.py @@ -5,7 +5,7 @@ # pylint: disable=line-too-long from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer -from azure_devtools.scenario_tests.const import MOCKED_SUBSCRIPTION_ID +from azure.cli.testsdk.scenario_tests.const import MOCKED_SUBSCRIPTION_ID from knack.util import CLIError from six import string_types import json diff --git a/src/resource-graph/setup.py b/src/resource-graph/setup.py index c93be3ad9b1..0267d83c3a3 100644 --- a/src/resource-graph/setup.py +++ b/src/resource-graph/setup.py @@ -41,7 +41,7 @@ author_email='ilidemi@microsoft.com', maintainer='Azure Resource Graph', maintainer_email='earc@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/resource-graph', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/resource-graph', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), package_data={'azext_resourcegraph': ['azext_metadata.json']}, diff --git a/src/resource-mover/HISTORY.rst b/src/resource-mover/HISTORY.rst index 1c139576ba0..1ae2243771d 100644 --- a/src/resource-mover/HISTORY.rst +++ b/src/resource-mover/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.1.1 +++++++ +* Support the copying of tags and user managed identities associated with the resource. +* Support 'system-data' for the resource types in resource mover. + 0.1.0 ++++++ * Initial release. diff --git a/src/resource-mover/azext_resource_mover/__init__.py b/src/resource-mover/azext_resource_mover/__init__.py index d8f2dcc26c3..b44e32ee543 100644 --- a/src/resource-mover/azext_resource_mover/__init__.py +++ b/src/resource-mover/azext_resource_mover/__init__.py @@ -7,13 +7,10 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- +# pylint: disable=unused-import +import azext_resource_mover._help from azure.cli.core import AzCommandsLoader -from azext_resource_mover.generated._help import helps # pylint: disable=unused-import -try: - from azext_resource_mover.manual._help import helps # pylint: disable=reimported -except ImportError: - pass class ResourceMoverServiceAPICommandsLoader(AzCommandsLoader): @@ -33,8 +30,11 @@ def load_command_table(self, args): try: from azext_resource_mover.manual.commands import load_command_table as load_command_table_manual load_command_table_manual(self, args) - except ImportError: - pass + except ImportError as e: + if e.name.endswith('manual.commands'): + pass + else: + raise e return self.command_table def load_arguments(self, command): @@ -43,8 +43,11 @@ def load_arguments(self, command): try: from azext_resource_mover.manual._params import load_arguments as load_arguments_manual load_arguments_manual(self, command) - except ImportError: - pass + except ImportError as e: + if e.name.endswith('manual._params'): + pass + else: + raise e COMMAND_LOADER_CLS = ResourceMoverServiceAPICommandsLoader diff --git a/src/resource-mover/azext_resource_mover/_help.py b/src/resource-mover/azext_resource_mover/_help.py new file mode 100644 index 00000000000..9b93f87a6e9 --- /dev/null +++ b/src/resource-mover/azext_resource_mover/_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/resource-mover/azext_resource_mover/action.py b/src/resource-mover/azext_resource_mover/action.py index d95d53bf711..9b3d0a8a78c 100644 --- a/src/resource-mover/azext_resource_mover/action.py +++ b/src/resource-mover/azext_resource_mover/action.py @@ -13,5 +13,8 @@ from .generated.action import * # noqa: F403 try: from .manual.action import * # noqa: F403 -except ImportError: - pass +except ImportError as e: + if e.name.endswith('manual.action'): + pass + else: + raise e diff --git a/src/resource-mover/azext_resource_mover/custom.py b/src/resource-mover/azext_resource_mover/custom.py index dbe9d5f9742..885447229d6 100644 --- a/src/resource-mover/azext_resource_mover/custom.py +++ b/src/resource-mover/azext_resource_mover/custom.py @@ -13,5 +13,8 @@ from .generated.custom import * # noqa: F403 try: from .manual.custom import * # noqa: F403 -except ImportError: - pass +except ImportError as e: + if e.name.endswith('manual.custom'): + pass + else: + raise e diff --git a/src/resource-mover/azext_resource_mover/generated/_help.py b/src/resource-mover/azext_resource_mover/generated/_help.py index f038943c473..5eb6f1668a8 100644 --- a/src/resource-mover/azext_resource_mover/generated/_help.py +++ b/src/resource-mover/azext_resource_mover/generated/_help.py @@ -12,6 +12,11 @@ from knack.help_files import helps +helps['resource-mover'] = ''' + type: group + short-summary: Manage Resource Mover Service API +''' + helps['resource-mover move-collection'] = """ type: group short-summary: Manage move collection with resource mover @@ -240,9 +245,10 @@ target-id="/subscriptions/c4488a3f-a7f7-4ad4-aa72-0e1f4d9c0756/resourceGroups/westusRG/providers/Microsoft.Network/netw\ orkInterfaces/eastusvm140" --resource-settings "{\\"resourceType\\":\\"Microsoft.Compute/virtualMachines\\",\\"targetAv\ ailabilitySetId\\":\\"/subscriptions/subid/resourceGroups/eastusRG/providers/Microsoft.Compute/availabilitySets/avset1\ -\\",\\"targetAvailabilityZone\\":\\"2\\",\\"targetResourceName\\":\\"westusvm1\\",\\"targetVmSize\\":null}" \ ---source-id "/subscriptions/subid/resourceGroups/eastusRG/providers/Microsoft.Compute/virtualMachines/eastusvm1" \ ---move-collection-name "movecollection1" --name "moveresourcename1" --resource-group "rg1" +\\",\\"targetAvailabilityZone\\":\\"2\\",\\"targetResourceName\\":\\"westusvm1\\",\\"targetVmSize\\":null,\\"userManage\ +dIdentities\\":[\\"/subscriptions/subid/resourceGroups/eastusRG/providers/Microsoft.ManagedIdentity/userAssignedIdentit\ +ies/umi1\\"]}" --source-id "/subscriptions/subid/resourceGroups/eastusRG/providers/Microsoft.Compute/virtualMachines/ea\ +stusvm1" --move-collection-name "movecollection1" --name "moveresourcename1" --resource-group "rg1" """ helps['resource-mover move-resource wait'] = """ diff --git a/src/resource-mover/azext_resource_mover/generated/_params.py b/src/resource-mover/azext_resource_mover/generated/_params.py index 363672608cc..c6b764a7a1e 100644 --- a/src/resource-mover/azext_resource_mover/generated/_params.py +++ b/src/resource-mover/azext_resource_mover/generated/_params.py @@ -156,7 +156,7 @@ def load_arguments(self, _): c.argument('source_id', type=str, help='Gets or sets the Source ARM Id of the resource.') c.argument('existing_target_id', type=str, help='Gets or sets the existing target ARM Id of the resource.') c.argument('resource_settings', type=validate_file_or_dict, help='Gets or sets the resource settings. Expected ' - 'value: json-string/@json-file.') + 'value: json-string/json-file/@json-file.') c.argument('depends_on_overrides', action=AddDependsOnOverrides, nargs='+', help='Gets or sets the move ' 'resource dependencies overrides.') diff --git a/src/resource-mover/azext_resource_mover/generated/action.py b/src/resource-mover/azext_resource_mover/generated/action.py index 07e7556140f..611c2fcf3d8 100644 --- a/src/resource-mover/azext_resource_mover/generated/action.py +++ b/src/resource-mover/azext_resource_mover/generated/action.py @@ -7,8 +7,13 @@ # 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 @@ -19,7 +24,7 @@ def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) namespace.identity = action - def get_action(self, values, option_string): # pylint: disable=no-self-use + def get_action(self, values, option_string): try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): @@ -31,15 +36,22 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for k in properties: kl = k.lower() v = properties[k] + if kl == 'type': d['type'] = v[0] + elif kl == 'principal-id': d['principal_id'] = v[0] + elif kl == 'tenant-id': d['tenant_id'] = v[0] + else: - raise CLIError('Unsupported Key {} is provided for parameter identity. All possible keys are: type, ' - 'principal-id, tenant-id'.format(k)) + raise CLIError( + 'Unsupported Key {} is provided for parameter identity. All possible keys are: type, principal-id,' + ' tenant-id'.format(k) + ) + return d @@ -48,7 +60,7 @@ def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) super(AddDependsOnOverrides, self).__call__(parser, namespace, action, option_string) - def get_action(self, values, option_string): # pylint: disable=no-self-use + def get_action(self, values, option_string): try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): @@ -60,11 +72,17 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use for k in properties: kl = k.lower() v = properties[k] + if kl == 'id': d['id'] = v[0] + elif kl == 'target-id': d['target_id'] = v[0] + else: - raise CLIError('Unsupported Key {} is provided for parameter depends_on_overrides. All possible keys ' - 'are: id, target-id'.format(k)) + raise CLIError( + 'Unsupported Key {} is provided for parameter depends-on-overrides. All possible keys are: id,' + ' target-id'.format(k) + ) + return d diff --git a/src/resource-mover/azext_resource_mover/generated/commands.py b/src/resource-mover/azext_resource_mover/generated/commands.py index fed6a9e8f49..31e4d74cf5e 100644 --- a/src/resource-mover/azext_resource_mover/generated/commands.py +++ b/src/resource-mover/azext_resource_mover/generated/commands.py @@ -9,19 +9,40 @@ # -------------------------------------------------------------------------- # 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_resource_mover.generated._client_factory import ( + cf_move_collection, + cf_move_resource, + cf_unresolved_dependency, +) + + +resource_mover_move_collection = CliCommandType( + operations_tmpl='azext_resource_mover.vendored_sdks.resourcemover.operations._move_collections_operations#MoveCollectionsOperations.{}', + client_factory=cf_move_collection, +) + + +resource_mover_unresolved_dependency = CliCommandType( + operations_tmpl='azext_resource_mover.vendored_sdks.resourcemover.operations._unresolved_dependencies_operations#UnresolvedDependenciesOperations.{}', + client_factory=cf_unresolved_dependency, +) + + +resource_mover_move_resource = CliCommandType( + operations_tmpl='azext_resource_mover.vendored_sdks.resourcemover.operations._move_resources_operations#MoveResourcesOperations.{}', + client_factory=cf_move_resource, +) def load_command_table(self, _): - from azext_resource_mover.generated._client_factory import cf_move_collection - resource_mover_move_collection = CliCommandType( - operations_tmpl='azext_resource_mover.vendored_sdks.resourcemover.operations._move_collections_operations#MoveC' - 'ollectionsOperations.{}', - client_factory=cf_move_collection) - with self.command_group('resource-mover move-collection', resource_mover_move_collection, - client_factory=cf_move_collection) as g: + with self.command_group( + 'resource-mover move-collection', resource_mover_move_collection, client_factory=cf_move_collection + ) as g: g.custom_command('list', 'resource_mover_move_collection_list') g.custom_show_command('show', 'resource_mover_move_collection_show') g.custom_command('create', 'resource_mover_move_collection_create') @@ -33,31 +54,24 @@ def load_command_table(self, _): g.custom_command('initiate-move', 'resource_mover_move_collection_initiate_move', supports_no_wait=True) g.custom_command('list-required-for', 'resource_mover_move_collection_list_required_for') g.custom_command('prepare', 'resource_mover_move_collection_prepare', supports_no_wait=True) - g.custom_command('resolve-dependency', 'resource_mover_move_collection_resolve_dependency', - supports_no_wait=True) + g.custom_command( + 'resolve-dependency', 'resource_mover_move_collection_resolve_dependency', supports_no_wait=True + ) g.custom_wait_command('wait', 'resource_mover_move_collection_show') - from azext_resource_mover.generated._client_factory import cf_move_resource - resource_mover_move_resource = CliCommandType( - operations_tmpl='azext_resource_mover.vendored_sdks.resourcemover.operations._move_resources_operations#MoveRes' - 'ourcesOperations.{}', - client_factory=cf_move_resource) - with self.command_group('resource-mover move-resource', resource_mover_move_resource, - client_factory=cf_move_resource) as g: + with self.command_group( + 'resource-mover move-collection', resource_mover_unresolved_dependency, client_factory=cf_unresolved_dependency + ) as g: + g.custom_command('list-unresolved-dependency', 'resource_mover_move_collection_list_unresolved_dependency') + + with self.command_group( + 'resource-mover move-resource', resource_mover_move_resource, client_factory=cf_move_resource + ) as g: g.custom_command('list', 'resource_mover_move_resource_list') g.custom_show_command('show', 'resource_mover_move_resource_show') g.custom_command('delete', 'resource_mover_move_resource_delete', supports_no_wait=True, confirmation=True) g.custom_command('add', 'resource_mover_move_resource_add', supports_no_wait=True) g.custom_wait_command('wait', 'resource_mover_move_resource_show') - from azext_resource_mover.generated._client_factory import cf_unresolved_dependency - resource_mover_unresolved_dependency = CliCommandType( - operations_tmpl='azext_resource_mover.vendored_sdks.resourcemover.operations._unresolved_dependencies_operation' - 's#UnresolvedDependenciesOperations.{}', - client_factory=cf_unresolved_dependency) - with self.command_group('resource-mover move-collection', resource_mover_unresolved_dependency, - client_factory=cf_unresolved_dependency) as g: - g.custom_command('list-unresolved-dependency', 'resource_mover_move_collection_list_unresolved_dependency') - with self.command_group('resource-mover', is_experimental=True): pass diff --git a/src/resource-mover/azext_resource_mover/generated/custom.py b/src/resource-mover/azext_resource_mover/generated/custom.py index d1ba8f5372d..9ca5a253c26 100644 --- a/src/resource-mover/azext_resource_mover/generated/custom.py +++ b/src/resource-mover/azext_resource_mover/generated/custom.py @@ -32,12 +32,19 @@ def resource_mover_move_collection_create(client, source_region=None, target_region=None): body = {} - body['tags'] = tags - body['location'] = location - body['identity'] = identity + if tags is not None: + body['tags'] = tags + if location is not None: + body['location'] = location + if identity is not None: + body['identity'] = identity body['properties'] = {} - body['properties']['source_region'] = source_region - body['properties']['target_region'] = target_region + if source_region is not None: + body['properties']['source_region'] = source_region + if target_region is not None: + body['properties']['target_region'] = target_region + if len(body['properties']) == 0: + del body['properties'] return client.create(resource_group_name=resource_group_name, move_collection_name=move_collection_name, body=body) @@ -49,8 +56,10 @@ def resource_mover_move_collection_update(client, tags=None, identity=None): body = {} - body['tags'] = tags - body['identity'] = identity + if tags is not None: + body['tags'] = tags + if identity is not None: + body['identity'] = identity return client.update(resource_group_name=resource_group_name, move_collection_name=move_collection_name, body=body) @@ -74,9 +83,12 @@ def resource_mover_move_collection_bulk_remove(client, move_resource_input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only - body['move_resources'] = move_resources - body['move_resource_input_type'] = move_resource_input_type + if validate_only is not None: + body['validate_only'] = validate_only + if move_resources is not None: + body['move_resources'] = move_resources + if move_resource_input_type is not None: + body['move_resource_input_type'] = move_resource_input_type return sdk_no_wait(no_wait, client.begin_bulk_remove, resource_group_name=resource_group_name, @@ -87,14 +99,16 @@ def resource_mover_move_collection_bulk_remove(client, def resource_mover_move_collection_commit(client, resource_group_name, move_collection_name, + move_resources, validate_only=None, - move_resources=None, move_resource_input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only + if validate_only is not None: + body['validate_only'] = validate_only body['move_resources'] = move_resources - body['move_resource_input_type'] = move_resource_input_type + if move_resource_input_type is not None: + body['move_resource_input_type'] = move_resource_input_type return sdk_no_wait(no_wait, client.begin_commit, resource_group_name=resource_group_name, @@ -105,14 +119,16 @@ def resource_mover_move_collection_commit(client, def resource_mover_move_collection_discard(client, resource_group_name, move_collection_name, + move_resources, validate_only=None, - move_resources=None, move_resource_input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only + if validate_only is not None: + body['validate_only'] = validate_only body['move_resources'] = move_resources - body['move_resource_input_type'] = move_resource_input_type + if move_resource_input_type is not None: + body['move_resource_input_type'] = move_resource_input_type return sdk_no_wait(no_wait, client.begin_discard, resource_group_name=resource_group_name, @@ -123,14 +139,16 @@ def resource_mover_move_collection_discard(client, def resource_mover_move_collection_initiate_move(client, resource_group_name, move_collection_name, + move_resources, validate_only=None, - move_resources=None, move_resource_input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only + if validate_only is not None: + body['validate_only'] = validate_only body['move_resources'] = move_resources - body['move_resource_input_type'] = move_resource_input_type + if move_resource_input_type is not None: + body['move_resource_input_type'] = move_resource_input_type return sdk_no_wait(no_wait, client.begin_initiate_move, resource_group_name=resource_group_name, @@ -150,14 +168,16 @@ def resource_mover_move_collection_list_required_for(client, def resource_mover_move_collection_prepare(client, resource_group_name, move_collection_name, + move_resources, validate_only=None, - move_resources=None, move_resource_input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only + if validate_only is not None: + body['validate_only'] = validate_only body['move_resources'] = move_resources - body['move_resource_input_type'] = move_resource_input_type + if move_resource_input_type is not None: + body['move_resource_input_type'] = move_resource_input_type return sdk_no_wait(no_wait, client.begin_prepare, resource_group_name=resource_group_name, @@ -216,10 +236,16 @@ def resource_mover_move_resource_add(client, no_wait=False): body = {} body['properties'] = {} - body['properties']['source_id'] = source_id - body['properties']['existing_target_id'] = existing_target_id - body['properties']['resource_settings'] = resource_settings - body['properties']['depends_on_overrides'] = depends_on_overrides + if source_id is not None: + body['properties']['source_id'] = source_id + if existing_target_id is not None: + body['properties']['existing_target_id'] = existing_target_id + if resource_settings is not None: + body['properties']['resource_settings'] = resource_settings + if depends_on_overrides is not None: + body['properties']['depends_on_overrides'] = depends_on_overrides + if len(body['properties']) == 0: + del body['properties'] return sdk_no_wait(no_wait, client.begin_create, resource_group_name=resource_group_name, diff --git a/src/resource-mover/azext_resource_mover/manual/_help.py b/src/resource-mover/azext_resource_mover/manual/_help.py index 62499901d45..9b153c7f792 100644 --- a/src/resource-mover/azext_resource_mover/manual/_help.py +++ b/src/resource-mover/azext_resource_mover/manual/_help.py @@ -13,7 +13,7 @@ helps['resource-mover'] = """ type: group - short-summary: Move resources in Azure + short-summary: Manage Resource Mover Service API """ helps['resource-mover move-collection'] = """ @@ -245,7 +245,8 @@ "targetAvailabilitySetId": "/subscriptions/subID/resourceGroups/eastusRG/providers/Microsoft.Compute/availabilitySets/MyAVSet", "targetAvailabilityZone": "2", "targetResourceName": "MyVM-target", - "targetVmSize": null + "targetVmSize": null, + "userManagedIdentities": [/subscriptions/subid/resourceGroups/eastusRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi1] }' """ diff --git a/src/resource-mover/azext_resource_mover/manual/custom.py b/src/resource-mover/azext_resource_mover/manual/custom.py index 817f21a7ec3..f32bd1daacb 100644 --- a/src/resource-mover/azext_resource_mover/manual/custom.py +++ b/src/resource-mover/azext_resource_mover/manual/custom.py @@ -36,12 +36,19 @@ def resource_mover_move_collection_create(client, source_region=None, target_region=None): body = {} - body['tags'] = tags - body['location'] = location - body['identity'] = identity + if tags is not None: + body['tags'] = tags + if location is not None: + body['location'] = location + if identity is not None: + body['identity'] = identity body['properties'] = {} - body['properties']['source_region'] = source_region - body['properties']['target_region'] = target_region + if source_region is not None: + body['properties']['source_region'] = source_region + if target_region is not None: + body['properties']['target_region'] = target_region + if len(body['properties']) == 0: + del body['properties'] return client.create(resource_group_name=resource_group_name, move_collection_name=move_collection_name, body=body) @@ -53,8 +60,10 @@ def resource_mover_move_collection_update(client, tags=None, identity=None): body = {} - body['tags'] = tags - body['identity'] = identity + if tags is not None: + body['tags'] = tags + if identity is not None: + body['identity'] = identity return client.update(resource_group_name=resource_group_name, move_collection_name=move_collection_name, body=body) @@ -78,9 +87,12 @@ def resource_mover_move_collection_bulk_remove(client, input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only - body['move_resources'] = move_resources - body['move_resource_input_type'] = input_type + if validate_only is not None: + body['validate_only'] = validate_only + if move_resources is not None: + body['move_resources'] = move_resources + if input_type is not None: + body['move_resource_input_type'] = input_type return sdk_no_wait(no_wait, client.begin_bulk_remove, resource_group_name=resource_group_name, @@ -91,14 +103,16 @@ def resource_mover_move_collection_bulk_remove(client, def resource_mover_move_collection_commit(client, resource_group_name, move_collection_name, + move_resources, validate_only=None, - move_resources=None, input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only + if validate_only is not None: + body['validate_only'] = validate_only body['move_resources'] = move_resources - body['move_resource_input_type'] = input_type + if input_type is not None: + body['move_resource_input_type'] = input_type return sdk_no_wait(no_wait, client.begin_commit, resource_group_name=resource_group_name, @@ -109,14 +123,16 @@ def resource_mover_move_collection_commit(client, def resource_mover_move_collection_discard(client, resource_group_name, move_collection_name, + move_resources, validate_only=None, - move_resources=None, input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only + if validate_only is not None: + body['validate_only'] = validate_only body['move_resources'] = move_resources - body['move_resource_input_type'] = input_type + if input_type is not None: + body['move_resource_input_type'] = input_type return sdk_no_wait(no_wait, client.begin_discard, resource_group_name=resource_group_name, @@ -127,14 +143,16 @@ def resource_mover_move_collection_discard(client, def resource_mover_move_collection_initiate_move(client, resource_group_name, move_collection_name, + move_resources, validate_only=None, - move_resources=None, input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only + if validate_only is not None: + body['validate_only'] = validate_only body['move_resources'] = move_resources - body['move_resource_input_type'] = input_type + if input_type is not None: + body['move_resource_input_type'] = input_type return sdk_no_wait(no_wait, client.begin_initiate_move, resource_group_name=resource_group_name, @@ -154,14 +172,16 @@ def resource_mover_move_collection_list_required_for(client, def resource_mover_move_collection_prepare(client, resource_group_name, move_collection_name, + move_resources, validate_only=None, - move_resources=None, input_type=None, no_wait=False): body = {} - body['validate_only'] = validate_only + if validate_only is not None: + body['validate_only'] = validate_only body['move_resources'] = move_resources - body['move_resource_input_type'] = input_type + if input_type is not None: + body['move_resource_input_type'] = input_type return sdk_no_wait(no_wait, client.begin_prepare, resource_group_name=resource_group_name, @@ -206,10 +226,16 @@ def resource_mover_move_resource_add(client, no_wait=False): body = {} body['properties'] = {} - body['properties']['source_id'] = source_id - body['properties']['existing_target_id'] = existing_target_id - body['properties']['resource_settings'] = resource_settings - body['properties']['depends_on_overrides'] = depends_on_overrides + if source_id is not None: + body['properties']['source_id'] = source_id + if existing_target_id is not None: + body['properties']['existing_target_id'] = existing_target_id + if resource_settings is not None: + body['properties']['resource_settings'] = resource_settings + if depends_on_overrides is not None: + body['properties']['depends_on_overrides'] = depends_on_overrides + if len(body['properties']) == 0: + del body['properties'] return sdk_no_wait(no_wait, client.begin_create, resource_group_name=resource_group_name, diff --git a/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_movecollection_basic.yaml b/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_movecollection_basic.yaml index 93f835e02d4..5abac0bcec6 100644 --- a/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_movecollection_basic.yaml +++ b/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_movecollection_basic.yaml @@ -1,53 +1,4 @@ interactions: -- request: - body: '{"location": "eastus2"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group create - Connection: - - keep-alive - Content-Length: - - '23' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -n -l - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_rg?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg","name":"clitest_resourcemover_collection_rg","type":"Microsoft.Resources/resourceGroups","location":"eastus2","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '268' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 10:11:36 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1196' - status: - code: 201 - message: Created - request: body: '{"location": "eastus2", "properties": {"sourceRegion": "eastus", "targetRegion": "westus"}}' @@ -67,24 +18,23 @@ interactions: ParameterSetName: - --location --source-region --target-region --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-27?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-10?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-27","name":"clitest-movecollection-27","type":"Microsoft.Migrate/moveCollections","etag":"\"5200d77d-0000-0200-0000-601d19df0000\"","location":"eastus2","properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-10","name":"clitest-movecollection-10","type":"Microsoft.Migrate/moveCollections","etag":"\"19006c4a-0000-0200-0000-61d80fc80000\"","location":"eastus2","properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"systemData":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T10:02:47.5851645Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T10:02:47.5851645Z"}}' headers: cache-control: - no-cache content-length: - - '439' + - '681' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:11:44 GMT + - Fri, 07 Jan 2022 10:02:49 GMT etag: - - '"5200d77d-0000-0200-0000-601d19df0000"' + - '"19006c4a-0000-0200-0000-61d80fc80000"' expires: - '-1' pragma: @@ -94,12 +44,12 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created - request: - body: '{"identity": {"type": "SystemAssigned"}}' + body: '{"tags": {"key": "collection"}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -110,30 +60,29 @@ interactions: Connection: - keep-alive Content-Length: - - '40' + - '71' Content-Type: - application/json ParameterSetName: - - --name --resource-group --identity + - --name --resource-group --identity --tags User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-27?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-10?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-27","name":"clitest-movecollection-27","type":"Microsoft.Migrate/moveCollections","etag":"\"5200e67d-0000-0200-0000-601d19e40000\"","location":"eastus2","properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"identity":{"principalId":"719e17a7-c61c-4f20-aefc-950153a0fd9e","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-10","name":"clitest-movecollection-10","type":"Microsoft.Migrate/moveCollections","etag":"\"1900bb4a-0000-0200-0000-61d80fcd0000\"","location":"eastus2","tags":{"key":"collection"},"properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"identity":{"principalId":"b010cfa5-5a8d-4c30-8298-3d42e2d9062f","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"systemData":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T10:02:47.5851645Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T10:02:52.9451629Z"}}' headers: cache-control: - no-cache content-length: - - '579' + - '849' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:11:49 GMT + - Fri, 07 Jan 2022 10:02:55 GMT etag: - - '"5200e67d-0000-0200-0000-601d19e40000"' + - '"1900bb4a-0000-0200-0000-61d80fcd0000"' expires: - '-1' pragma: @@ -147,7 +96,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 200 message: OK @@ -165,24 +114,23 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-27?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-10?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-27","name":"clitest-movecollection-27","type":"Microsoft.Migrate/moveCollections","etag":"\"5200e67d-0000-0200-0000-601d19e40000\"","location":"eastus2","properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"identity":{"principalId":"719e17a7-c61c-4f20-aefc-950153a0fd9e","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-10","name":"clitest-movecollection-10","type":"Microsoft.Migrate/moveCollections","etag":"\"1900bb4a-0000-0200-0000-61d80fcd0000\"","location":"eastus2","tags":{"key":"collection"},"properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"identity":{"principalId":"b010cfa5-5a8d-4c30-8298-3d42e2d9062f","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"systemData":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T10:02:47.5851645Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T10:02:52.9451629Z"}}' headers: cache-control: - no-cache content-length: - - '579' + - '849' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:11:51 GMT + - Fri, 07 Jan 2022 10:02:57 GMT etag: - - '"5200e67d-0000-0200-0000-601d19e40000"' + - '"1900bb4a-0000-0200-0000-61d80fcd0000"' expires: - '-1' pragma: @@ -214,26 +162,25 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-27?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-10?api-version=2021-08-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/a72473f2-86a9-476a-a584-6da8dccb01d0?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/c29a0d3c-d102-40da-b65e-52504728cd83?api-version=2021-08-01 cache-control: - no-cache content-length: - '0' date: - - Fri, 05 Feb 2021 10:11:54 GMT + - Fri, 07 Jan 2022 10:02:59 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/a72473f2-86a9-476a-a584-6da8dccb01d0?api-version=2021-01-01&operationResultResponseType=Location + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/c29a0d3c-d102-40da-b65e-52504728cd83?api-version=2021-08-01&operationResultResponseType=Location pragma: - no-cache strict-transport-security: @@ -241,7 +188,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted @@ -259,22 +206,21 @@ interactions: ParameterSetName: - --resource-group --name --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/a72473f2-86a9-476a-a584-6da8dccb01d0?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/c29a0d3c-d102-40da-b65e-52504728cd83?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-27/operations/a72473f2-86a9-476a-a584-6da8dccb01d0","name":null,"status":"Succeeded","startTime":null,"endTime":null,"error":null,"properties":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/c29a0d3c-d102-40da-b65e-52504728cd83","name":"c29a0d3c-d102-40da-b65e-52504728cd83","status":"Succeeded"}' headers: cache-control: - no-cache content-length: - - '325' + - '230' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:12:24 GMT + - Fri, 07 Jan 2022 10:03:29 GMT expires: - '-1' pragma: @@ -304,10 +250,9 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections?api-version=2021-08-01 response: body: string: '{"value":[]}' @@ -319,7 +264,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:12:25 GMT + - Fri, 07 Jan 2022 10:03:29 GMT expires: - '-1' pragma: @@ -333,172 +278,4 @@ interactions: status: code: 200 message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_rg?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 10:12:29 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 10:12:47 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 10:13:02 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 10:13:17 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 200 - message: OK version: 1 diff --git a/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_movecollection_e2e.yaml b/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_movecollection_e2e.yaml index eac4d22aea9..5dce32620e4 100644 --- a/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_movecollection_e2e.yaml +++ b/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_movecollection_e2e.yaml @@ -1,53 +1,4 @@ interactions: -- request: - body: '{"location": "eastus2"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group create - Connection: - - keep-alive - Content-Length: - - '23' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -n -l - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_rg?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg","name":"clitest_resourcemover_collection_rg","type":"Microsoft.Resources/resourceGroups","location":"eastus2","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '268' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 09:55:58 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created - request: body: '{"location": "eastus2", "identity": {"type": "SystemAssigned"}, "properties": {"sourceRegion": "eastus", "targetRegion": "westus"}}' @@ -67,24 +18,23 @@ interactions: ParameterSetName: - --location --source-region --target-region --name --resource-group --identity User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25","name":"clitest-movecollection-25","type":"Microsoft.Migrate/moveCollections","etag":"\"5200ff75-0000-0200-0000-601d16390000\"","location":"eastus2","properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"identity":{"principalId":"262660a4-1a35-40dc-94b5-9de57ea34b28","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29","name":"clitest-movecollection-29","type":"Microsoft.Migrate/moveCollections","etag":"\"1900b137-0000-0200-0000-61d8019a0000\"","location":"eastus2","properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"identity":{"principalId":"0d720826-1662-4e1a-a6ba-a0d5ef582e6e","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"systemData":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:02:15.9608168Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:02:15.9608168Z"}}' headers: cache-control: - no-cache content-length: - - '579' + - '821' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:10 GMT + - Fri, 07 Jan 2022 09:02:19 GMT etag: - - '"5200ff75-0000-0200-0000-601d16390000"' + - '"1900b137-0000-0200-0000-61d8019a0000"' expires: - '-1' pragma: @@ -94,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -112,16 +62,13 @@ interactions: Content-Length: - '22' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -l User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg?api-version=2021-04-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","name":"clitest_resourcemover_source_rg","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' @@ -133,20 +80,24 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:12 GMT + - Fri, 07 Jan 2022 09:02: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: - - '1199' + - '1198' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: '{"location": "eastus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}}}' @@ -166,33 +117,33 @@ interactions: ParameterSetName: - --resource-group --name --location User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2020-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"vnet-in-source-region\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region\",\r\n - \ \"etag\": \"W/\\\"e22561e5-8712-4c9e-9e4b-b6cadafc680d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"f79be88b-c878-4af1-9d7e-517fee7300a1\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"c16746d4-0cf4-4f45-a34a-5fcea69adc73\",\r\n \"addressSpace\": + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"04a57bc1-b4f1-4648-b5a9-151c1713f239\",\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 \"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/7dfa7778-d767-4f91-9b07-04001e6b2e4a?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1747d2f2-0941-4f74-8693-a7d58ccd16de?api-version=2021-05-01 cache-control: - no-cache content-length: - - '754' + - '721' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:20 GMT + - Fri, 07 Jan 2022 09:02:24 GMT expires: - '-1' pragma: @@ -202,15 +153,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: - - ae98bfe7-5c79-43b4-a689-64e90478facf + - 54eefd2d-6dc3-47ec-bd92-e9213c559ef7 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -225,9 +180,9 @@ interactions: ParameterSetName: - --resource-group --name --location User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/7dfa7778-d767-4f91-9b07-04001e6b2e4a?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/1747d2f2-0941-4f74-8693-a7d58ccd16de?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -239,7 +194,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:24 GMT + - Fri, 07 Jan 2022 09:02:54 GMT expires: - '-1' pragma: @@ -256,7 +211,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e3671752-652f-4c66-acba-34f4d145f660 + - 6ebff7c6-a881-4121-b8d9-bf62a384ca61 status: code: 200 message: OK @@ -274,31 +229,31 @@ interactions: ParameterSetName: - --resource-group --name --location User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2020-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"vnet-in-source-region\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region\",\r\n - \ \"etag\": \"W/\\\"41dfb7e9-5989-4fab-a5a0-bb42a5fe3ddd\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"f79be88b-c878-4af1-9d7e-517fee7300a1\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"c16746d4-0cf4-4f45-a34a-5fcea69adc73\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"04a57bc1-b4f1-4648-b5a9-151c1713f239\",\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 \"enableVmProtection\": false\r\n }\r\n}" + false\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '755' + - '721' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:24 GMT + - Fri, 07 Jan 2022 09:02:54 GMT etag: - - W/"41dfb7e9-5989-4fab-a5a0-bb42a5fe3ddd" + - W/"f79be88b-c878-4af1-9d7e-517fee7300a1" expires: - '-1' pragma: @@ -315,7 +270,73 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 35c548a3-12e9-4e89-898b-5e0515ef0369 + - 2b55fcb5-2c8a-4f04-b566-4a9176ca6412 + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["0d720826-1662-4e1a-a6ba-a0d5ef582e6e"], "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.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.31.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":"0d720826-1662-4e1a-a6ba-a0d5ef582e6e","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=False","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29"],"appDisplayName":null,"appId":"35bf0327-ac73-4dc1-b854-c7cdb666f671","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"clitest-movecollection-29","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"4391AE26FE6A33F5D7891EDFB9B0CEA1F5A43CB0","endDate":"2022-04-07T08:57:00Z","keyId":"d8ec933c-b4bf-40d0-ad28-1326ffdc5cf2","startDate":"2022-01-07T08:57: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":["35bf0327-ac73-4dc1-b854-c7cdb666f671","https://identity.azure.net/gOpS6vEyE5vHCS43GEWoC6Z2qzjsU7xOQLserI6Xv+o="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1616' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Fri, 07 Jan 2022 09:02:55 GMT + duration: + - '2310338' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - tYJ5hC4O6RQRx15hpoTmJ0Hn+BA89s4eGJzd7NU9K9U= + ocp-aad-session-key: + - sPkWhKbRyWbvG4ivl5fDqnVFAE4McjTVj_t25qC_6rSwaXmv2uu9UqjVXn7JwWx6m8Ql76zMheKEEEQ6UmC7P4nIaeG-2LCyR43cBuBoGyFh8lEUKywhtQMmwdVhB0QZ.eC0kVqm77syteDICa97JUDF-En1QUMzlIm1S-tzNW5M + pragma: + - no-cache + request-id: + - 274036da-e1ba-4579-aa53-bfea3a9355a2 + 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 @@ -333,8 +354,8 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.31.0 accept-language: - en-US method: GET @@ -343,7 +364,7 @@ interactions: body: string: '{"value":[{"properties":{"roleName":"Contributor","type":"BuiltInRole","description":"Grants full access to manage all resources, but does not allow you to assign roles - in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2020-12-04T00:34:54.8501087Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' + in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2021-11-11T20:13:28.6061853Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' headers: cache-control: - no-cache @@ -352,7 +373,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:25 GMT + - Fri, 07 Jan 2022 09:02:56 GMT expires: - '-1' pragma: @@ -372,7 +393,7 @@ interactions: message: OK - request: body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c", - "principalId": "262660a4-1a35-40dc-94b5-9de57ea34b28"}}' + "principalId": "0d720826-1662-4e1a-a6ba-a0d5ef582e6e", "principalType": "ServicePrincipal"}}' headers: Accept: - application/json @@ -383,7 +404,7 @@ interactions: Connection: - keep-alive Content-Length: - - '233' + - '270' Content-Type: - application/json; charset=utf-8 Cookie: @@ -391,15 +412,15 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.31.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"262660a4-1a35-40dc-94b5-9de57ea34b28","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T09:56:25.5815058Z","updatedOn":"2021-02-05T09:56:25.9115238Z","createdBy":null,"updatedBy":"f3ea48f6-a16e-4b37-8260-f69cf2200525","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8c9b62f3-8ced-4f1c-928c-34a6c9de658c","type":"Microsoft.Authorization/roleAssignments","name":"8c9b62f3-8ced-4f1c-928c-34a6c9de658c"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"0d720826-1662-4e1a-a6ba-a0d5ef582e6e","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2022-01-07T09:02:57.1345497Z","updatedOn":"2022-01-07T09:02:57.5408521Z","createdBy":null,"updatedBy":"f44cc02c-cec4-4b32-860a-50bdf6ab7362","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90646168-0ed9-4de5-a96c-d3ca34b16ddf","type":"Microsoft.Authorization/roleAssignments","name":"90646168-0ed9-4de5-a96c-d3ca34b16ddf"}' headers: cache-control: - no-cache @@ -408,7 +429,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:27 GMT + - Fri, 07 Jan 2022 09:02:59 GMT expires: - '-1' pragma: @@ -420,10 +441,76 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created +- request: + body: '{"objectIds": ["0d720826-1662-4e1a-a6ba-a0d5ef582e6e"], "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.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.31.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":"0d720826-1662-4e1a-a6ba-a0d5ef582e6e","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=False","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29"],"appDisplayName":null,"appId":"35bf0327-ac73-4dc1-b854-c7cdb666f671","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"clitest-movecollection-29","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"4391AE26FE6A33F5D7891EDFB9B0CEA1F5A43CB0","endDate":"2022-04-07T08:57:00Z","keyId":"d8ec933c-b4bf-40d0-ad28-1326ffdc5cf2","startDate":"2022-01-07T08:57: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":["35bf0327-ac73-4dc1-b854-c7cdb666f671","https://identity.azure.net/gOpS6vEyE5vHCS43GEWoC6Z2qzjsU7xOQLserI6Xv+o="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1616' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Fri, 07 Jan 2022 09:02:59 GMT + duration: + - '2035192' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - l6wnHHYcmlaNkdoB0wDPlW7p/2GJ8SCbYpFlyRif2O0= + ocp-aad-session-key: + - fogCxNUE7eQvnicVytqttbjuRQJz9dBY2UghfdLpAVVScI_iTbnjYyUL4VBnZu2IEvJxlb2sk7XPlD-fYJcnKf3uKJWnn52WUTowLwQtR106G_2CE8fnnnLvHH--Nydj.49GHzYBVuZodnTuvvJUJ5dXZt3Jv6WMqTQOQiVgTWgc + pragma: + - no-cache + request-id: + - 9b3f7a5d-125b-4d16-9e5d-7cefc8b916aa + 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: @@ -438,8 +525,8 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.31.0 accept-language: - en-US method: GET @@ -447,7 +534,7 @@ interactions: response: body: string: '{"value":[{"properties":{"roleName":"User Access Administrator","type":"BuiltInRole","description":"Lets - you manage user access to Azure resources.","assignableScopes":["/"],"permissions":[{"actions":["*/read","Microsoft.Authorization/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2019-02-05T21:24:12.6807454Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","type":"Microsoft.Authorization/roleDefinitions","name":"18d7d88d-d35e-4fb5-a5c3-7773c20a72d9"}]}' + you manage user access to Azure resources.","assignableScopes":["/"],"permissions":[{"actions":["*/read","Microsoft.Authorization/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2021-11-11T20:13:57.7932023Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","type":"Microsoft.Authorization/roleDefinitions","name":"18d7d88d-d35e-4fb5-a5c3-7773c20a72d9"}]}' headers: cache-control: - no-cache @@ -456,7 +543,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:27 GMT + - Fri, 07 Jan 2022 09:03:00 GMT expires: - '-1' pragma: @@ -476,7 +563,7 @@ interactions: message: OK - request: body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", - "principalId": "262660a4-1a35-40dc-94b5-9de57ea34b28"}}' + "principalId": "0d720826-1662-4e1a-a6ba-a0d5ef582e6e", "principalType": "ServicePrincipal"}}' headers: Accept: - application/json @@ -487,7 +574,7 @@ interactions: Connection: - keep-alive Content-Length: - - '233' + - '270' Content-Type: - application/json; charset=utf-8 Cookie: @@ -495,15 +582,15 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.31.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"262660a4-1a35-40dc-94b5-9de57ea34b28","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T09:56:28.0450439Z","updatedOn":"2021-02-05T09:56:28.4550446Z","createdBy":null,"updatedBy":"f3ea48f6-a16e-4b37-8260-f69cf2200525","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ec802475-85c7-4ea3-9612-01b6c7630902","type":"Microsoft.Authorization/roleAssignments","name":"ec802475-85c7-4ea3-9612-01b6c7630902"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"0d720826-1662-4e1a-a6ba-a0d5ef582e6e","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2022-01-07T09:03:01.3065338Z","updatedOn":"2022-01-07T09:03:01.6502729Z","createdBy":null,"updatedBy":"f44cc02c-cec4-4b32-860a-50bdf6ab7362","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/59ea6c48-acaa-4f36-9626-d1cf702279bb","type":"Microsoft.Authorization/roleAssignments","name":"59ea6c48-acaa-4f36-9626-d1cf702279bb"}' headers: cache-control: - no-cache @@ -512,7 +599,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:29 GMT + - Fri, 07 Jan 2022 09:03:04 GMT expires: - '-1' pragma: @@ -524,7 +611,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -548,24 +635,23 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/82666347-9582-4f50-a3df-00ba1f0da25f?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/aec1239d-4bd6-4f9c-bab6-2a1068d43d53?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:31 GMT + - Fri, 07 Jan 2022 09:03:05 GMT expires: - '-1' pragma: @@ -593,23 +679,22 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/82666347-9582-4f50-a3df-00ba1f0da25f?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/aec1239d-4bd6-4f9c-bab6-2a1068d43d53?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/82666347-9582-4f50-a3df-00ba1f0da25f","name":"82666347-9582-4f50-a3df-00ba1f0da25f","status":"Succeeded","startTime":"2/5/2021 - 9:56:31 AM","endTime":"2/5/2021 9:56:33 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/aec1239d-4bd6-4f9c-bab6-2a1068d43d53","name":"aec1239d-4bd6-4f9c-bab6-2a1068d43d53","status":"Succeeded","startTime":"1/7/2022 + 9:03:05 AM","endTime":"1/7/2022 9:03:08 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '391' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:46 GMT + - Fri, 07 Jan 2022 09:03:20 GMT expires: - '-1' pragma: @@ -639,25 +724,24 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The + string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The dependency computation is not completed for resource - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region''.\n Possible Causes: Dependency computation is pending for resource.\n Recommended Action: - Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}' + Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:04.728628Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:04.728628Z"}}' headers: cache-control: - no-cache content-length: - - '1541' + - '1803' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:46 GMT + - Fri, 07 Jan 2022 09:03:21 GMT expires: - '-1' pragma: @@ -693,24 +777,23 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/6d08acf0-1c5b-4bc0-b74a-42fb9f96ed4e?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/58a3416d-a672-4951-8e44-0c7ac5217d68?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:56:50 GMT + - Fri, 07 Jan 2022 09:03:23 GMT expires: - '-1' pragma: @@ -720,7 +803,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -738,23 +821,22 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/6d08acf0-1c5b-4bc0-b74a-42fb9f96ed4e?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/58a3416d-a672-4951-8e44-0c7ac5217d68?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/6d08acf0-1c5b-4bc0-b74a-42fb9f96ed4e","name":"6d08acf0-1c5b-4bc0-b74a-42fb9f96ed4e","status":"Succeeded","startTime":"2/5/2021 - 9:56:50 AM","endTime":"2/5/2021 9:56:51 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/58a3416d-a672-4951-8e44-0c7ac5217d68","name":"58a3416d-a672-4951-8e44-0c7ac5217d68","status":"Succeeded","startTime":"1/7/2022 + 9:03:23 AM","endTime":"1/7/2022 9:03:25 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '391' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:05 GMT + - Fri, 07 Jan 2022 09:03:38 GMT expires: - '-1' pragma: @@ -784,25 +866,24 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The + string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The dependency computation is not completed for resource - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg''.\n Possible Causes: Dependency computation is pending for resource.\n Recommended Action: - Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}}}' + Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:22.992878Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:22.992878Z"}}' headers: cache-control: - no-cache content-length: - - '1218' + - '1458' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:05 GMT + - Fri, 07 Jan 2022 09:03:38 GMT expires: - '-1' pragma: @@ -832,10 +913,9 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --source-id User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/requiredFor?sourceId=%2Fsubscriptions%2F00000000-0000-0000-0000-000000000000%2FresourceGroups%2Fclitest_resourcemover_source_rg%2Fproviders%2FMicrosoft.Network%2FvirtualNetworks%2Fvnet-in-source-region&api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/requiredFor?sourceId=%2Fsubscriptions%2F00000000-0000-0000-0000-000000000000%2FresourceGroups%2Fclitest_resourcemover_source_rg%2Fproviders%2FMicrosoft.Network%2FvirtualNetworks%2Fvnet-in-source-region&api-version=2021-08-01 response: body: string: '{"sourceIds":[]}' @@ -847,11 +927,13 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:08 GMT + - Fri, 07 Jan 2022 09:03:40 GMT expires: - '-1' pragma: - no-cache + server: + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -877,10 +959,9 @@ interactions: ParameterSetName: - --resource-group --move-collection-name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/unresolvedDependencies?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/unresolvedDependencies?api-version=2021-08-01 response: body: string: '{"value":[],"totalCount":0,"nextLink":null,"summaryCollection":{"fieldName":null,"summary":[]}}' @@ -892,7 +973,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:09 GMT + - Fri, 07 Jan 2022 09:03:42 GMT expires: - '-1' pragma: @@ -924,24 +1005,23 @@ interactions: ParameterSetName: - --resource-group --move-collection-name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/resolveDependencies?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/resolveDependencies?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/415c7e27-4f60-4ab2-a239-64f8f1df63b6?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/d97836f3-6f9c-4c38-8ef4-017f501abb49?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:11 GMT + - Fri, 07 Jan 2022 09:03:43 GMT expires: - '-1' pragma: @@ -951,7 +1031,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 202 message: Accepted @@ -969,23 +1049,22 @@ interactions: ParameterSetName: - --resource-group --move-collection-name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/415c7e27-4f60-4ab2-a239-64f8f1df63b6?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/d97836f3-6f9c-4c38-8ef4-017f501abb49?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/415c7e27-4f60-4ab2-a239-64f8f1df63b6","name":"415c7e27-4f60-4ab2-a239-64f8f1df63b6","status":"Succeeded","startTime":"2/5/2021 - 9:57:11 AM","endTime":"2/5/2021 9:57:24 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/d97836f3-6f9c-4c38-8ef4-017f501abb49","name":"d97836f3-6f9c-4c38-8ef4-017f501abb49","status":"Succeeded","startTime":"1/7/2022 + 9:03:44 AM","endTime":"1/7/2022 9:03:57 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '391' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:27 GMT + - Fri, 07 Jan 2022 09:03:59 GMT expires: - '-1' pragma: @@ -1015,22 +1094,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources?api-version=2021-08-01 response: body: - string: '{"value":[{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}},{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}}}],"nextLink":null,"totalCount":2,"summaryCollection":null}' + string: '{"value":[{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:04.728628Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:04.728628Z"}},{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:22.992878Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:22.992878Z"}}],"nextLink":null,"totalCount":2,"summaryCollection":null}' headers: cache-control: - no-cache content-length: - - '2484' + - '2990' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:28 GMT + - Fri, 07 Jan 2022 09:04:01 GMT expires: - '-1' pragma: @@ -1060,22 +1138,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}' + string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:04.728628Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:04.728628Z"}}' headers: cache-control: - no-cache content-length: - - '1584' + - '1850' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:29 GMT + - Fri, 07 Jan 2022 09:04:02 GMT expires: - '-1' pragma: @@ -1105,22 +1182,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}}}' + string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:22.992878Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:22.992878Z"}}' headers: cache-control: - no-cache content-length: - - '831' + - '1071' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:31 GMT + - Fri, 07 Jan 2022 09:04:04 GMT expires: - '-1' pragma: @@ -1137,8 +1213,8 @@ interactions: code: 200 message: OK - request: - body: '{"moveResources": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource", - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"]}' + body: '{"moveResources": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"]}' headers: Accept: - application/json @@ -1149,30 +1225,29 @@ interactions: Connection: - keep-alive Content-Length: - - '441' + - '449' Content-Type: - application/json ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/prepare?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/prepare?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/1733a0a0-f551-48a2-bfc5-f22d7cf837b0?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/7ccda53d-867b-45f6-a94b-4691dfad028b?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:32 GMT + - Fri, 07 Jan 2022 09:04:05 GMT expires: - '-1' pragma: @@ -1200,23 +1275,22 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/1733a0a0-f551-48a2-bfc5-f22d7cf837b0?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/7ccda53d-867b-45f6-a94b-4691dfad028b?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/1733a0a0-f551-48a2-bfc5-f22d7cf837b0","name":"1733a0a0-f551-48a2-bfc5-f22d7cf837b0","status":"Succeeded","startTime":"2/5/2021 - 9:57:33 AM","endTime":"2/5/2021 9:57:44 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/7ccda53d-867b-45f6-a94b-4691dfad028b","name":"7ccda53d-867b-45f6-a94b-4691dfad028b","status":"Succeeded","startTime":"1/7/2022 + 9:04:06 AM","endTime":"1/7/2022 9:04:09 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '391' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:48 GMT + - Fri, 07 Jan 2022 09:04:21 GMT expires: - '-1' pragma: @@ -1246,22 +1320,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"MovePending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}' + string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"MovePending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:04.728628Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:04.728628Z"}}' headers: cache-control: - no-cache content-length: - - '1581' + - '1847' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:50 GMT + - Fri, 07 Jan 2022 09:04:23 GMT expires: - '-1' pragma: @@ -1291,22 +1364,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"MovePending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}}}' + string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"MovePending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:22.992878Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:22.992878Z"}}' headers: cache-control: - no-cache content-length: - - '828' + - '1068' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:52 GMT + - Fri, 07 Jan 2022 09:04:25 GMT expires: - '-1' pragma: @@ -1323,8 +1395,8 @@ interactions: code: 200 message: OK - request: - body: '{"moveResources": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource", - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"]}' + body: '{"moveResources": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"]}' headers: Accept: - application/json @@ -1335,30 +1407,29 @@ interactions: Connection: - keep-alive Content-Length: - - '441' + - '449' Content-Type: - application/json ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/initiateMove?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/initiateMove?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:57:54 GMT + - Fri, 07 Jan 2022 09:04:25 GMT expires: - '-1' pragma: @@ -1368,7 +1439,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -1386,25 +1457,24 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Running","startTime":"2/5/2021 - 9:57:55 AM","endTime":null,"error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Running","startTime":"1/7/2022 + 9:04:26 AM","endTime":null,"error":null,"properties":{}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '372' + - '376' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:58:10 GMT + - Fri, 07 Jan 2022 09:04:41 GMT expires: - '-1' pragma: @@ -1434,25 +1504,24 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Running","startTime":"2/5/2021 - 9:57:55 AM","endTime":null,"error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Running","startTime":"1/7/2022 + 9:04:26 AM","endTime":null,"error":null,"properties":{}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '372' + - '376' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:58:25 GMT + - Fri, 07 Jan 2022 09:04:56 GMT expires: - '-1' pragma: @@ -1482,25 +1551,24 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Running","startTime":"2/5/2021 - 9:57:55 AM","endTime":null,"error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Running","startTime":"1/7/2022 + 9:04:26 AM","endTime":null,"error":null,"properties":{}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '372' + - '376' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:58:40 GMT + - Fri, 07 Jan 2022 09:05:12 GMT expires: - '-1' pragma: @@ -1530,25 +1598,24 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Running","startTime":"2/5/2021 - 9:57:55 AM","endTime":null,"error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Running","startTime":"1/7/2022 + 9:04:26 AM","endTime":null,"error":null,"properties":{}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '372' + - '376' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:58:56 GMT + - Fri, 07 Jan 2022 09:05:27 GMT expires: - '-1' pragma: @@ -1578,25 +1645,24 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Running","startTime":"2/5/2021 - 9:57:55 AM","endTime":null,"error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Running","startTime":"1/7/2022 + 9:04:26 AM","endTime":null,"error":null,"properties":{}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '372' + - '376' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:59:11 GMT + - Fri, 07 Jan 2022 09:05:43 GMT expires: - '-1' pragma: @@ -1626,25 +1692,24 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Running","startTime":"2/5/2021 - 9:57:55 AM","endTime":null,"error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Running","startTime":"1/7/2022 + 9:04:26 AM","endTime":null,"error":null,"properties":{}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '372' + - '376' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:59:26 GMT + - Fri, 07 Jan 2022 09:05:58 GMT expires: - '-1' pragma: @@ -1674,25 +1739,24 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Running","startTime":"2/5/2021 - 9:57:55 AM","endTime":null,"error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Running","startTime":"1/7/2022 + 9:04:26 AM","endTime":null,"error":null,"properties":{}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '372' + - '376' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:59:42 GMT + - Fri, 07 Jan 2022 09:06:13 GMT expires: - '-1' pragma: @@ -1722,25 +1786,24 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Running","startTime":"2/5/2021 - 9:57:55 AM","endTime":null,"error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Running","startTime":"1/7/2022 + 9:04:26 AM","endTime":null,"error":null,"properties":{}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 cache-control: - no-cache content-length: - - '372' + - '376' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 09:59:58 GMT + - Fri, 07 Jan 2022 09:06:29 GMT expires: - '-1' pragma: @@ -1770,23 +1833,22 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/32b3024f-1438-40de-a056-c1383fa59f19","name":"32b3024f-1438-40de-a056-c1383fa59f19","status":"Succeeded","startTime":"2/5/2021 - 9:57:55 AM","endTime":"2/5/2021 10:00:04 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/1763753c-cffc-4e12-b094-f9e421e856d7","name":"1763753c-cffc-4e12-b094-f9e421e856d7","status":"Succeeded","startTime":"1/7/2022 + 9:04:26 AM","endTime":"1/7/2022 9:06:38 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '392' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:00:13 GMT + - Fri, 07 Jan 2022 09:06:44 GMT expires: - '-1' pragma: @@ -1816,22 +1878,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-target-region","existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"CommitPending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}' + string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-target-region","existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"CommitPending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:04.728628Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:04.728628Z"}}' headers: cache-control: - no-cache content-length: - - '1745' + - '2011' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:00:16 GMT + - Fri, 07 Jan 2022 09:06:46 GMT expires: - '-1' pragma: @@ -1861,22 +1922,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg","existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"CommitPending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}}}' + string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg","existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"CommitPending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:22.992878Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:22.992878Z"}}' headers: cache-control: - no-cache content-length: - - '926' + - '1166' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:00:16 GMT + - Fri, 07 Jan 2022 09:06:46 GMT expires: - '-1' pragma: @@ -1893,8 +1953,8 @@ interactions: code: 200 message: OK - request: - body: '{"moveResources": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource", - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"]}' + body: '{"moveResources": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"]}' headers: Accept: - application/json @@ -1905,30 +1965,29 @@ interactions: Connection: - keep-alive Content-Length: - - '441' + - '449' Content-Type: - application/json ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/commit?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/commit?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/3136c04a-1c26-470e-b6b9-ec3189142d23?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/f6766c36-c289-43af-bf4f-205a27e2c27a?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:00:18 GMT + - Fri, 07 Jan 2022 09:06:49 GMT expires: - '-1' pragma: @@ -1956,23 +2015,22 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/3136c04a-1c26-470e-b6b9-ec3189142d23?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/f6766c36-c289-43af-bf4f-205a27e2c27a?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/3136c04a-1c26-470e-b6b9-ec3189142d23","name":"3136c04a-1c26-470e-b6b9-ec3189142d23","status":"Succeeded","startTime":"2/5/2021 - 10:00:19 AM","endTime":"2/5/2021 10:00:30 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/f6766c36-c289-43af-bf4f-205a27e2c27a","name":"f6766c36-c289-43af-bf4f-205a27e2c27a","status":"Succeeded","startTime":"1/7/2022 + 9:06:49 AM","endTime":"1/7/2022 9:06:52 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '393' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:00:33 GMT + - Fri, 07 Jan 2022 09:07:04 GMT expires: - '-1' pragma: @@ -2002,22 +2060,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-target-region","existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"DeleteSourcePending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}' + string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-target-region","existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"DeleteSourcePending","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:04.728628Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:04.728628Z"}}' headers: cache-control: - no-cache content-length: - - '1751' + - '2017' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:00:37 GMT + - Fri, 07 Jan 2022 09:07:06 GMT expires: - '-1' pragma: @@ -2047,22 +2104,21 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg","existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"DeleteSourcePending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}}}' + string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg","existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"DeleteSourcePending","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T09:03:22.992878Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T09:03:22.992878Z"}}' headers: cache-control: - no-cache content-length: - - '932' + - '1172' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:00:38 GMT + - Fri, 07 Jan 2022 09:07:07 GMT expires: - '-1' pragma: @@ -2094,9 +2150,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2020-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2021-05-01 response: body: string: '' @@ -2104,17 +2160,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/32bc0cee-38b3-482b-a767-983de26825a5?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/f130ca14-4577-4a59-a63a-727268a8e1b0?api-version=2021-05-01 cache-control: - no-cache content-length: - '0' date: - - Fri, 05 Feb 2021 10:00:39 GMT + - Fri, 07 Jan 2022 09:07:09 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operationResults/32bc0cee-38b3-482b-a767-983de26825a5?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operationResults/f130ca14-4577-4a59-a63a-727268a8e1b0?api-version=2021-05-01 pragma: - no-cache server: @@ -2125,9 +2181,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d1ba2dbf-be57-42d6-9622-47b6ff3f02cf + - 13dcc0c4-ae89-40cb-baa2-fb21607a50ac x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14996' status: code: 202 message: Accepted @@ -2145,9 +2201,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/32bc0cee-38b3-482b-a767-983de26825a5?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/f130ca14-4577-4a59-a63a-727268a8e1b0?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2159,7 +2215,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:00:50 GMT + - Fri, 07 Jan 2022 09:07:20 GMT expires: - '-1' pragma: @@ -2176,7 +2232,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5b6b25aa-756b-44e9-9f48-aaf06a821ac8 + - 51447d34-49fc-49d7-9b73-92c9c76d6c0f status: code: 200 message: OK @@ -2196,12 +2252,9 @@ interactions: ParameterSetName: - -g --yes User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg?api-version=2021-04-01 response: body: string: '' @@ -2211,11 +2264,11 @@ interactions: content-length: - '0' date: - - Fri, 05 Feb 2021 10:00:53 GMT + - Fri, 07 Jan 2022 09:07:25 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 pragma: - no-cache strict-transport-security: @@ -2231,7 +2284,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2241,10 +2294,9 @@ interactions: ParameterSetName: - -g --yes User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 response: body: string: '' @@ -2254,11 +2306,11 @@ interactions: content-length: - '0' date: - - Fri, 05 Feb 2021 10:01:10 GMT + - Fri, 07 Jan 2022 09:07:41 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 pragma: - no-cache strict-transport-security: @@ -2272,7 +2324,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2282,10 +2334,9 @@ interactions: ParameterSetName: - -g --yes User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 response: body: string: '' @@ -2295,11 +2346,11 @@ interactions: content-length: - '0' date: - - Fri, 05 Feb 2021 10:01:25 GMT + - Fri, 07 Jan 2022 09:07:56 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 pragma: - no-cache strict-transport-security: @@ -2313,7 +2364,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2323,10 +2374,9 @@ interactions: ParameterSetName: - -g --yes User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 response: body: string: '' @@ -2336,9 +2386,11 @@ interactions: content-length: - '0' date: - - Fri, 05 Feb 2021 10:01:41 GMT + - Fri, 07 Jan 2022 09:08:11 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 pragma: - no-cache strict-transport-security: @@ -2346,93 +2398,81 @@ interactions: x-content-type-options: - nosniff status: - code: 200 - message: OK + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - resource-mover move-resource show + - group delete Connection: - keep-alive ParameterSetName: - - --resource-group --move-collection-name --name + - -g --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 response: body: - string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-target-region","existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"ResourceMoveCompleted","jobStatus":null,"errors":null},"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg","resolutionStatus":"Resolved","resolutionType":"Automatic","manualResolution":null,"automaticResolution":{"moveResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"},"dependencyType":"RequiredForMove","isOptional":"False"}],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}' + string: '' headers: cache-control: - no-cache content-length: - - '1753' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Fri, 05 Feb 2021 10:02:44 GMT + - Fri, 07 Jan 2022 09:08:27 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 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 + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - resource-mover move-resource show + - group delete Connection: - keep-alive ParameterSetName: - - --resource-group --move-collection-name --name + - -g --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 response: body: - string: '{"name":"rg-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","targetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg","existingTargetId":null,"resourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_target_rg"},"moveStatus":{"moveState":"ResourceMoveCompleted","jobStatus":null,"errors":null},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"resourceGroups","targetResourceName":"clitest_resourcemover_source_rg"}}}' + string: '' headers: cache-control: - no-cache content-length: - - '934' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Fri, 05 Feb 2021 10:02:45 GMT + - Fri, 07 Jan 2022 09:08:42 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: @@ -2452,12 +2492,9 @@ interactions: ParameterSetName: - -n User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_target_rg?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_target_rg?api-version=2021-04-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg","name":"clitest_resourcemover_target_rg","type":"Microsoft.Resources/resourceGroups","location":"westus","properties":{"provisioningState":"Succeeded"}}' @@ -2469,7 +2506,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:02:46 GMT + - Fri, 07 Jan 2022 09:08:43 GMT expires: - '-1' pragma: @@ -2497,31 +2534,31 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-target-region?api-version=2020-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-target-region?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"vnet-in-target-region\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_target_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-target-region\",\r\n - \ \"etag\": \"W/\\\"ca8bfb5f-9dc9-4c4c-bec0-09fc5be75c2f\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"caf70a89-5e9e-46b2-8032-65743171107c\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"3fe5d8be-f738-4592-985d-2cad1f5ac671\",\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 \"enableVmProtection\": + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"8f3cd18d-fdb3-468d-83a6-b279a30637b7\",\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: - - '740' + - '721' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:02:47 GMT + - Fri, 07 Jan 2022 09:08:44 GMT etag: - - W/"ca8bfb5f-9dc9-4c4c-bec0-09fc5be75c2f" + - W/"caf70a89-5e9e-46b2-8032-65743171107c" expires: - '-1' pragma: @@ -2538,13 +2575,13 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - be870c25-ffb5-497f-bad8-afbd15b7f34b + - 99cc0633-402f-4fa8-9e01-fd878c15c28a status: code: 200 message: OK - request: - body: '{"moveResources": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/vnet-as-move-resource", - "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/moveResources/rg-as-move-resource"]}' + body: '{"moveResources": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/vnet-as-move-resource", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/moveResources/rg-as-move-resource"]}' headers: Accept: - application/json @@ -2555,30 +2592,29 @@ interactions: Connection: - keep-alive Content-Length: - - '441' + - '449' Content-Type: - application/json ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/bulkRemove?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/bulkRemove?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/51295db9-2771-45ec-aea0-c04701330588?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/c28dfbff-18f3-40fa-a2ba-a7d76154376e?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:02:48 GMT + - Fri, 07 Jan 2022 09:08:46 GMT expires: - '-1' pragma: @@ -2588,7 +2624,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -2606,23 +2642,22 @@ interactions: ParameterSetName: - --move-resources --name --resource-group User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/51295db9-2771-45ec-aea0-c04701330588?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/c28dfbff-18f3-40fa-a2ba-a7d76154376e?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/51295db9-2771-45ec-aea0-c04701330588","name":"51295db9-2771-45ec-aea0-c04701330588","status":"Succeeded","startTime":"2/5/2021 - 10:02:48 AM","endTime":"2/5/2021 10:02:51 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29/operations/c28dfbff-18f3-40fa-a2ba-a7d76154376e","name":"c28dfbff-18f3-40fa-a2ba-a7d76154376e","status":"Succeeded","startTime":"1/7/2022 + 9:08:47 AM","endTime":"1/7/2022 9:08:49 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '393' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:03:03 GMT + - Fri, 07 Jan 2022 09:09:02 GMT expires: - '-1' pragma: @@ -2654,26 +2689,25 @@ interactions: ParameterSetName: - --name --resource-group --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-29?api-version=2021-08-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/aab45ac3-fedc-4d38-bc95-732a3eac16ea?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/19c297cc-eb26-4f0e-97ac-8b129c9c431c?api-version=2021-08-01 cache-control: - no-cache content-length: - '0' date: - - Fri, 05 Feb 2021 10:03:05 GMT + - Fri, 07 Jan 2022 09:09:04 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/aab45ac3-fedc-4d38-bc95-732a3eac16ea?api-version=2021-01-01&operationResultResponseType=Location + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/19c297cc-eb26-4f0e-97ac-8b129c9c431c?api-version=2021-08-01&operationResultResponseType=Location pragma: - no-cache strict-transport-security: @@ -2681,7 +2715,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 202 message: Accepted @@ -2699,22 +2733,21 @@ interactions: ParameterSetName: - --name --resource-group --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/aab45ac3-fedc-4d38-bc95-732a3eac16ea?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/19c297cc-eb26-4f0e-97ac-8b129c9c431c?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-25/operations/aab45ac3-fedc-4d38-bc95-732a3eac16ea","name":null,"status":"Succeeded","startTime":null,"endTime":null,"error":null,"properties":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/19c297cc-eb26-4f0e-97ac-8b129c9c431c","name":"19c297cc-eb26-4f0e-97ac-8b129c9c431c","status":"Succeeded"}' headers: cache-control: - no-cache content-length: - - '325' + - '230' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 10:03:36 GMT + - Fri, 07 Jan 2022 09:09:35 GMT expires: - '-1' pragma: @@ -2730,172 +2763,4 @@ interactions: status: code: 200 message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_rg?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 10:03:42 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14998' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 10:03:57 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 10:04:13 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 10:04:28 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 200 - message: OK version: 1 diff --git a/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_moveresource_basic.yaml b/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_moveresource_basic.yaml index db821b53dae..912f915e0c4 100644 --- a/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_moveresource_basic.yaml +++ b/src/resource-mover/azext_resource_mover/tests/latest/recordings/test_resourcemover_moveresource_basic.yaml @@ -1,53 +1,4 @@ interactions: -- request: - body: '{"location": "eastus2"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group create - Connection: - - keep-alive - Content-Length: - - '23' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -n -l - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_rg?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg","name":"clitest_resourcemover_collection_rg","type":"Microsoft.Resources/resourceGroups","location":"eastus2","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '268' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 05 Feb 2021 07:12:12 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1197' - status: - code: 201 - message: Created - request: body: '{"location": "eastus2", "identity": {"type": "SystemAssigned"}, "properties": {"sourceRegion": "eastus", "targetRegion": "westus"}}' @@ -67,24 +18,23 @@ interactions: ParameterSetName: - --location --source-region --target-region --name --resource-group --identity User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16","name":"clitest-movecollection-16","type":"Microsoft.Migrate/moveCollections","etag":"\"52007f1e-0000-0200-0000-601cefda0000\"","location":"eastus2","properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"identity":{"principalId":"4eb77edc-97a6-4377-b238-cbc119379798","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91","name":"clitest-movecollection-91","type":"Microsoft.Migrate/moveCollections","etag":"\"1900781f-0000-0200-0000-61d7e3cd0000\"","location":"eastus2","properties":{"sourceRegion":"eastus","targetRegion":"westus","provisioningState":"Succeeded","errors":null},"identity":{"principalId":"e354ec23-3780-48d8-82e0-5f13a063634a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"systemData":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T06:55:05.8573775Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T06:55:05.8573775Z"}}' headers: cache-control: - no-cache content-length: - - '579' + - '821' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:26 GMT + - Fri, 07 Jan 2022 06:55:10 GMT etag: - - '"52007f1e-0000-0200-0000-601cefda0000"' + - '"1900781f-0000-0200-0000-61d7e3cd0000"' expires: - '-1' pragma: @@ -94,7 +44,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 201 message: Created @@ -112,16 +62,13 @@ interactions: Content-Length: - '22' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -l User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg?api-version=2021-04-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg","name":"clitest_resourcemover_source_rg","type":"Microsoft.Resources/resourceGroups","location":"eastus","properties":{"provisioningState":"Succeeded"}}' @@ -133,7 +80,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:29 GMT + - Fri, 07 Jan 2022 06:55:13 GMT expires: - '-1' pragma: @@ -143,7 +90,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -166,33 +113,33 @@ interactions: ParameterSetName: - --resource-group --name --location User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2020-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"vnet-in-source-region\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region\",\r\n - \ \"etag\": \"W/\\\"978177e9-cea1-4a19-a813-58637e612b2b\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"c221af39-19f1-4e36-9d11-809d70cccb4b\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"dfc37a2e-9eda-482e-9564-67f99319ad1e\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"ae553d64-43a9-4062-bafa-581772e53f4c\",\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 \"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/97253b41-bb87-45ee-8c60-ec0c0f9d435e?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/c1d1ce0a-5776-4186-82e6-76e1bd5ae498?api-version=2021-05-01 cache-control: - no-cache content-length: - - '754' + - '720' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:37 GMT + - Fri, 07 Jan 2022 06:55:20 GMT expires: - '-1' pragma: @@ -205,9 +152,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5d351643-d061-4c7a-9414-aa159769ec89 + - 7e4a57be-6da2-437b-a1b6-7fff9f42c153 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -225,9 +172,9 @@ interactions: ParameterSetName: - --resource-group --name --location User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/97253b41-bb87-45ee-8c60-ec0c0f9d435e?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/c1d1ce0a-5776-4186-82e6-76e1bd5ae498?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -239,7 +186,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:40 GMT + - Fri, 07 Jan 2022 06:55:24 GMT expires: - '-1' pragma: @@ -256,7 +203,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4a199cc8-33f9-4d12-8910-0093143e7404 + - 1a494227-f7a6-4fe6-a537-9144f1b97161 status: code: 200 message: OK @@ -274,31 +221,31 @@ interactions: ParameterSetName: - --resource-group --name --location User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2020-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2021-05-01 response: body: string: "{\r\n \"name\": \"vnet-in-source-region\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region\",\r\n - \ \"etag\": \"W/\\\"12b12376-e7e6-417d-808b-33871b7ab355\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"526d6a7f-acf5-4023-a59d-d92c092f15e0\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"dfc37a2e-9eda-482e-9564-67f99319ad1e\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"ae553d64-43a9-4062-bafa-581772e53f4c\",\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 \"enableVmProtection\": false\r\n }\r\n}" + false\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '755' + - '721' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:41 GMT + - Fri, 07 Jan 2022 06:55:24 GMT etag: - - W/"12b12376-e7e6-417d-808b-33871b7ab355" + - W/"526d6a7f-acf5-4023-a59d-d92c092f15e0" expires: - '-1' pragma: @@ -315,7 +262,73 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 97823218-d088-42af-b0b2-8cdeaec61ab5 + - 8127fd15-0198-4ff3-aa7b-d14975dca395 + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["e354ec23-3780-48d8-82e0-5f13a063634a"], "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.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.31.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":"e354ec23-3780-48d8-82e0-5f13a063634a","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=False","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91"],"appDisplayName":null,"appId":"3f5e04b7-d9eb-4378-a244-b978acc50e30","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"clitest-movecollection-91","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"38DC7E77AC0F5A58AD07016CBA8D571392DB38C4","endDate":"2022-04-07T06:50:00Z","keyId":"b8d31e35-ef3a-4b74-8940-c55cbc1d9cfd","startDate":"2022-01-07T06:50: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":["3f5e04b7-d9eb-4378-a244-b978acc50e30","https://identity.azure.net/FalUyXObJzI0xT4gutG4VsfITMKgfD9icJLv1Qs7va8="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1616' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Fri, 07 Jan 2022 06:55:27 GMT + duration: + - '10691978' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - dTDh/UEYJTWb18twViKbs0/+lBkSlETyiOrvt8IiDBQ= + ocp-aad-session-key: + - gZ-AUUKvzhuoW1C4ZHPCNUfvfgzKAnK69gMwVMMeRwMzG0Cgk_36XVgdugFFV5Ny7DHBL9NNIpnJcQfYTJ4mxccuIPBOlR0vRLQuGFTB6yyo_JenG9pQwbGGlQycalhJ.JkoyMfmWt3p0WYyLmqk1BU_yjGf7FE2CwZH47qFOv5U + pragma: + - no-cache + request-id: + - 06355796-2584-4ff7-9e83-92d14b07c790 + 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 @@ -333,8 +346,8 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.31.0 accept-language: - en-US method: GET @@ -343,7 +356,7 @@ interactions: body: string: '{"value":[{"properties":{"roleName":"Contributor","type":"BuiltInRole","description":"Grants full access to manage all resources, but does not allow you to assign roles - in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2020-12-04T00:34:54.8501087Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' + in Azure RBAC, manage assignments in Azure Blueprints, or share image galleries.","assignableScopes":["/"],"permissions":[{"actions":["*"],"notActions":["Microsoft.Authorization/*/Delete","Microsoft.Authorization/*/Write","Microsoft.Authorization/elevateAccess/Action","Microsoft.Blueprint/blueprintAssignments/write","Microsoft.Blueprint/blueprintAssignments/delete","Microsoft.Compute/galleries/share/action"],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2021-11-11T20:13:28.6061853Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","type":"Microsoft.Authorization/roleDefinitions","name":"b24988ac-6180-42a0-ab88-20f7382dd24c"}]}' headers: cache-control: - no-cache @@ -352,7 +365,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:42 GMT + - Fri, 07 Jan 2022 06:55:28 GMT expires: - '-1' pragma: @@ -372,7 +385,7 @@ interactions: message: OK - request: body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c", - "principalId": "4eb77edc-97a6-4377-b238-cbc119379798"}}' + "principalId": "e354ec23-3780-48d8-82e0-5f13a063634a", "principalType": "ServicePrincipal"}}' headers: Accept: - application/json @@ -383,7 +396,7 @@ interactions: Connection: - keep-alive Content-Length: - - '233' + - '270' Content-Type: - application/json; charset=utf-8 Cookie: @@ -391,15 +404,15 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.31.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"4eb77edc-97a6-4377-b238-cbc119379798","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T07:12:42.8798137Z","updatedOn":"2021-02-05T07:12:43.7259483Z","createdBy":null,"updatedBy":"f3ea48f6-a16e-4b37-8260-f69cf2200525","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/13caf08a-999f-499a-909d-5df6d4bd4282","type":"Microsoft.Authorization/roleAssignments","name":"13caf08a-999f-499a-909d-5df6d4bd4282"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"e354ec23-3780-48d8-82e0-5f13a063634a","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2022-01-07T06:55:28.7059013Z","updatedOn":"2022-01-07T06:55:29.9872698Z","createdBy":null,"updatedBy":"f44cc02c-cec4-4b32-860a-50bdf6ab7362","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e8be1033-7dec-4380-95b5-a92568a65fda","type":"Microsoft.Authorization/roleAssignments","name":"e8be1033-7dec-4380-95b5-a92568a65fda"}' headers: cache-control: - no-cache @@ -408,7 +421,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:44 GMT + - Fri, 07 Jan 2022 06:55:31 GMT expires: - '-1' pragma: @@ -424,6 +437,72 @@ interactions: status: code: 201 message: Created +- request: + body: '{"objectIds": ["e354ec23-3780-48d8-82e0-5f13a063634a"], "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.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.31.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":"e354ec23-3780-48d8-82e0-5f13a063634a","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=False","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91"],"appDisplayName":null,"appId":"3f5e04b7-d9eb-4378-a244-b978acc50e30","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"clitest-movecollection-91","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"38DC7E77AC0F5A58AD07016CBA8D571392DB38C4","endDate":"2022-04-07T06:50:00Z","keyId":"b8d31e35-ef3a-4b74-8940-c55cbc1d9cfd","startDate":"2022-01-07T06:50: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":["3f5e04b7-d9eb-4378-a244-b978acc50e30","https://identity.azure.net/FalUyXObJzI0xT4gutG4VsfITMKgfD9icJLv1Qs7va8="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1616' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Fri, 07 Jan 2022 06:55:33 GMT + duration: + - '2073594' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - yr3noBVwwhfJyUxboptvYuRML/st1jb2Zzg0w8WKcb0= + ocp-aad-session-key: + - OQYhOfzJpiBhJekUk-QT2lOoAGaImuRNCR40I0n7ShA8CH0y4Ma6tq4DANplRuCkKL7M7elhiCh46bkL8ZRn2VcKlJGJHDfv1jVdblYDk2Wt1hCQR-1eFFxafT7mLlbx.rxzn5ORsDR9LpRInXiAXWDo6wSKEHFaRaVQ_TantDv4 + pragma: + - no-cache + request-id: + - ef4b646e-a8ed-46c0-acca-808fc5cf569e + 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: @@ -438,8 +517,8 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.31.0 accept-language: - en-US method: GET @@ -447,7 +526,7 @@ interactions: response: body: string: '{"value":[{"properties":{"roleName":"User Access Administrator","type":"BuiltInRole","description":"Lets - you manage user access to Azure resources.","assignableScopes":["/"],"permissions":[{"actions":["*/read","Microsoft.Authorization/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2019-02-05T21:24:12.6807454Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","type":"Microsoft.Authorization/roleDefinitions","name":"18d7d88d-d35e-4fb5-a5c3-7773c20a72d9"}]}' + you manage user access to Azure resources.","assignableScopes":["/"],"permissions":[{"actions":["*/read","Microsoft.Authorization/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-02-02T21:55:09.8806423Z","updatedOn":"2021-11-11T20:13:57.7932023Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","type":"Microsoft.Authorization/roleDefinitions","name":"18d7d88d-d35e-4fb5-a5c3-7773c20a72d9"}]}' headers: cache-control: - no-cache @@ -456,7 +535,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:44 GMT + - Fri, 07 Jan 2022 06:55:33 GMT expires: - '-1' pragma: @@ -476,7 +555,7 @@ interactions: message: OK - request: body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", - "principalId": "4eb77edc-97a6-4377-b238-cbc119379798"}}' + "principalId": "e354ec23-3780-48d8-82e0-5f13a063634a", "principalType": "ServicePrincipal"}}' headers: Accept: - application/json @@ -487,7 +566,7 @@ interactions: Connection: - keep-alive Content-Length: - - '233' + - '270' Content-Type: - application/json; charset=utf-8 Cookie: @@ -495,15 +574,15 @@ interactions: ParameterSetName: - --assignee-object-id --role --scope User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.10 (Windows-10-10.0.19044-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.31.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"4eb77edc-97a6-4377-b238-cbc119379798","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T07:12:45.9251365Z","updatedOn":"2021-02-05T07:12:46.6944612Z","createdBy":null,"updatedBy":"f3ea48f6-a16e-4b37-8260-f69cf2200525","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a7b6dd7-d951-416d-bc6c-cc276ddd73f8","type":"Microsoft.Authorization/roleAssignments","name":"4a7b6dd7-d951-416d-bc6c-cc276ddd73f8"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"e354ec23-3780-48d8-82e0-5f13a063634a","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2022-01-07T06:55:33.7578106Z","updatedOn":"2022-01-07T06:55:35.0547012Z","createdBy":null,"updatedBy":"f44cc02c-cec4-4b32-860a-50bdf6ab7362","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6939da6a-d4a5-4bbe-a57e-f2f031b3d909","type":"Microsoft.Authorization/roleAssignments","name":"6939da6a-d4a5-4bbe-a57e-f2f031b3d909"}' headers: cache-control: - no-cache @@ -512,7 +591,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:47 GMT + - Fri, 07 Jan 2022 06:55:37 GMT expires: - '-1' pragma: @@ -524,7 +603,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1196' status: code: 201 message: Created @@ -548,24 +627,23 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/operations/1b7c06f1-c16b-4c78-8aec-06064d85e531?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/operations/be17b4e0-83e6-4ae9-a55c-dfcc600e9bec?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:12:49 GMT + - Fri, 07 Jan 2022 06:55:38 GMT expires: - '-1' pragma: @@ -575,7 +653,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 202 message: Accepted @@ -593,23 +671,22 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/operations/1b7c06f1-c16b-4c78-8aec-06064d85e531?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/operations/be17b4e0-83e6-4ae9-a55c-dfcc600e9bec?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/operations/1b7c06f1-c16b-4c78-8aec-06064d85e531","name":"1b7c06f1-c16b-4c78-8aec-06064d85e531","status":"Succeeded","startTime":"2/5/2021 - 7:12:50 AM","endTime":"2/5/2021 7:12:52 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/operations/be17b4e0-83e6-4ae9-a55c-dfcc600e9bec","name":"be17b4e0-83e6-4ae9-a55c-dfcc600e9bec","status":"Succeeded","startTime":"1/7/2022 + 6:55:39 AM","endTime":"1/7/2022 6:55:43 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '391' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:13:04 GMT + - Fri, 07 Jan 2022 06:55:54 GMT expires: - '-1' pragma: @@ -639,25 +716,24 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --source-id --resource-settings User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The + string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The dependency computation is not completed for resource - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region''.\n Possible Causes: Dependency computation is pending for resource.\n Recommended Action: - Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}' + Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T06:55:38.4403499Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T06:55:38.4403499Z"}}' headers: cache-control: - no-cache content-length: - - '1541' + - '1805' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:13:05 GMT + - Fri, 07 Jan 2022 06:55:54 GMT expires: - '-1' pragma: @@ -687,25 +763,24 @@ interactions: ParameterSetName: - --resource-group --move-collection-name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/moveResources?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/moveResources?api-version=2021-08-01 response: body: - string: '{"value":[{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The + string: '{"value":[{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The dependency computation is not completed for resource - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region''.\n Possible Causes: Dependency computation is pending for resource.\n Recommended Action: - Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}],"nextLink":null,"totalCount":1,"summaryCollection":null}' + Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T06:55:38.4403499Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T06:55:38.4403499Z"}}],"nextLink":null,"totalCount":1,"summaryCollection":null}' headers: cache-control: - no-cache content-length: - - '1609' + - '1873' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:13:07 GMT + - Fri, 07 Jan 2022 06:55:57 GMT expires: - '-1' pragma: @@ -735,25 +810,24 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The + string: '{"name":"vnet-as-move-resource","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/moveResources/vnet-as-move-resource","type":null,"properties":{"provisioningState":"Succeeded","isResolveRequired":false,"sourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region","targetId":null,"existingTargetId":null,"resourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":null,"dnsServers":null,"subnets":null,"tags":null,"targetResourceName":"vnet-in-target-region"},"moveStatus":{"moveState":"PreparePending","jobStatus":null,"errors":{"properties":{"code":"DependencyComputationPending","message":"The dependency computation is not completed for resource - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region''.\n Possible Causes: Dependency computation is pending for resource.\n Recommended Action: - Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"targetResourceName":"vnet-in-source-region"}}}' + Validate dependencies to compute the dependencies.\n ","details":[]}}},"dependsOn":[],"dependsOnOverrides":[],"errors":null,"sourceResourceSettings":{"resourceType":"Microsoft.Network/virtualNetworks","enableDdosProtection":null,"addressSpace":["10.0.0.0/16"],"dnsServers":[],"subnets":[],"tags":{},"targetResourceName":"vnet-in-source-region"}},"systemdata":{"createdBy":"ethanyang@microsoft.com","createdByType":"User","createdAt":"2022-01-07T06:55:38.4403499Z","lastModifiedBy":"ethanyang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T06:55:38.4403499Z"}}' headers: cache-control: - no-cache content-length: - - '1541' + - '1805' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:13:09 GMT + - Fri, 07 Jan 2022 06:55:58 GMT expires: - '-1' pragma: @@ -785,24 +859,23 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/moveResources/vnet-as-move-resource?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/moveResources/vnet-as-move-resource?api-version=2021-08-01 response: body: - string: '' + string: 'null' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/operations/f7d76635-24cd-446e-869c-e94dc4869b96?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/operations/a0c43b69-e270-48cd-8b10-5d5eb5304b6c?api-version=2021-08-01 cache-control: - no-cache content-length: - - '0' + - '4' content-type: - - text/plain + - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:13:10 GMT + - Fri, 07 Jan 2022 06:55:59 GMT expires: - '-1' pragma: @@ -812,7 +885,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted @@ -830,23 +903,22 @@ interactions: ParameterSetName: - --resource-group --move-collection-name --name --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/operations/f7d76635-24cd-446e-869c-e94dc4869b96?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/operations/a0c43b69-e270-48cd-8b10-5d5eb5304b6c?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/operations/f7d76635-24cd-446e-869c-e94dc4869b96","name":"f7d76635-24cd-446e-869c-e94dc4869b96","status":"Succeeded","startTime":"2/5/2021 - 7:13:10 AM","endTime":"2/5/2021 7:13:12 AM","error":null,"properties":{}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91/operations/a0c43b69-e270-48cd-8b10-5d5eb5304b6c","name":"a0c43b69-e270-48cd-8b10-5d5eb5304b6c","status":"Succeeded","startTime":"1/7/2022 + 6:55:59 AM","endTime":"1/7/2022 6:56:01 AM","error":null,"properties":{}}' headers: cache-control: - no-cache content-length: - - '391' + - '395' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:13:25 GMT + - Fri, 07 Jan 2022 06:56:15 GMT expires: - '-1' pragma: @@ -878,26 +950,25 @@ interactions: ParameterSetName: - --name --resource-group --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_000001/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-91?api-version=2021-08-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/baf8aad5-dca6-4fae-b426-1718a23845a9?api-version=2021-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/2bb23b80-8aa6-4441-acb1-90b75beb4d17?api-version=2021-08-01 cache-control: - no-cache content-length: - '0' date: - - Fri, 05 Feb 2021 07:13:28 GMT + - Fri, 07 Jan 2022 06:56:17 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/baf8aad5-dca6-4fae-b426-1718a23845a9?api-version=2021-01-01&operationResultResponseType=Location + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/2bb23b80-8aa6-4441-acb1-90b75beb4d17?api-version=2021-08-01&operationResultResponseType=Location pragma: - no-cache strict-transport-security: @@ -923,22 +994,21 @@ interactions: ParameterSetName: - --name --resource-group --yes User-Agent: - - AZURECLI/2.18.0 azsdk-python-mgmt-resourcemover/0.1.0-preview Python/3.8.2 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-mgmt-resourcemover/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/baf8aad5-dca6-4fae-b426-1718a23845a9?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/2bb23b80-8aa6-4441-acb1-90b75beb4d17?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_collection_rg/providers/Microsoft.Migrate/moveCollections/clitest-movecollection-16/operations/baf8aad5-dca6-4fae-b426-1718a23845a9","name":null,"status":"Succeeded","startTime":null,"endTime":null,"error":null,"properties":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Migrate/locations/eastus2/rmsOperationResults/2bb23b80-8aa6-4441-acb1-90b75beb4d17","name":"2bb23b80-8aa6-4441-acb1-90b75beb4d17","status":"Succeeded"}' headers: cache-control: - no-cache content-length: - - '325' + - '230' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:13:58 GMT + - Fri, 07 Jan 2022 06:56:48 GMT expires: - '-1' pragma: @@ -954,174 +1024,6 @@ interactions: status: code: 200 message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_collection_rg?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 07:14:03 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14997' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 07:14:20 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 07:14:35 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RkNPTExFQ1RJT046NUZSRy1FQVNUVVMyIiwiam9iTG9jYXRpb24iOiJlYXN0dXMyIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 07:14:51 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 200 - message: OK - request: body: null headers: @@ -1138,9 +1040,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2020-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest_resourcemover_source_rg/providers/Microsoft.Network/virtualNetworks/vnet-in-source-region?api-version=2021-05-01 response: body: string: '' @@ -1148,17 +1050,17 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/824b3dc5-493f-4021-9044-d1bae08ba4ba?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/88934f18-5add-4235-b503-c33721c26fb8?api-version=2021-05-01 cache-control: - no-cache content-length: - '0' date: - - Fri, 05 Feb 2021 07:14:54 GMT + - Fri, 07 Jan 2022 06:56:50 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operationResults/824b3dc5-493f-4021-9044-d1bae08ba4ba?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operationResults/88934f18-5add-4235-b503-c33721c26fb8?api-version=2021-05-01 pragma: - no-cache server: @@ -1169,9 +1071,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cd574dab-07a1-42e1-a439-a29223aa754f + - 79325b7b-e617-45e4-a59e-7388e8da7749 x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14998' status: code: 202 message: Accepted @@ -1189,9 +1091,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.18.0 azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.2 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/824b3dc5-493f-4021-9044-d1bae08ba4ba?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/88934f18-5add-4235-b503-c33721c26fb8?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1203,7 +1105,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Feb 2021 07:15:04 GMT + - Fri, 07 Jan 2022 06:57:01 GMT expires: - '-1' pragma: @@ -1220,7 +1122,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6049a4c0-7643-4c94-809f-155da663570d + - f446ac0f-be9d-41e8-bab7-532816022668 status: code: 200 message: OK @@ -1240,12 +1142,9 @@ interactions: ParameterSetName: - -n --yes User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest_resourcemover_source_rg?api-version=2021-04-01 response: body: string: '' @@ -1255,11 +1154,11 @@ interactions: content-length: - '0' date: - - Fri, 05 Feb 2021 07:15:09 GMT + - Fri, 07 Jan 2022 06:57:05 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 pragma: - no-cache strict-transport-security: @@ -1267,89 +1166,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 07:15:25 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group delete - Connection: - - keep-alive - ParameterSetName: - - -n --yes - User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Fri, 05 Feb 2021 07:15:41 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff + - '14999' status: code: 202 message: Accepted @@ -1357,7 +1174,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1367,10 +1184,9 @@ interactions: ParameterSetName: - -n --yes User-Agent: - - python/3.8.2 (Windows-10-10.0.18362-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.31.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DTElURVNUOjVGUkVTT1VSQ0VNT1ZFUjo1RlNPVVJDRTo1RlJHLUVBU1RVUyIsImpvYkxvY2F0aW9uIjoiZWFzdHVzIn0?api-version=2021-04-01 response: body: string: '' @@ -1380,7 +1196,7 @@ interactions: content-length: - '0' date: - - Fri, 05 Feb 2021 07:15:56 GMT + - Fri, 07 Jan 2022 06:57:20 GMT expires: - '-1' pragma: diff --git a/src/resource-mover/azext_resource_mover/tests/latest/test_resourcemover_scenarios.py b/src/resource-mover/azext_resource_mover/tests/latest/test_resourcemover_scenarios.py index 95a11619053..5dbf44fa641 100644 --- a/src/resource-mover/azext_resource_mover/tests/latest/test_resourcemover_scenarios.py +++ b/src/resource-mover/azext_resource_mover/tests/latest/test_resourcemover_scenarios.py @@ -5,10 +5,9 @@ import tempfile import json -import time from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) -from azure_devtools.scenario_tests import RecordingProcessor +from azure.cli.testsdk.scenario_tests import RecordingProcessor class RoleAssignmentReplacer(RecordingProcessor): @@ -32,10 +31,10 @@ def __init__(self, method_name): # We don't use the ResourceGroupPrepare here for the reason that # move-collection is difficult to delete + @ResourceGroupPreparer(name_prefix="clitest_resourcemover_collection_", location="eastus2") def test_resourcemover_movecollection_basic(self): self.kwargs.update({ - 'collection_rg': 'clitest_resourcemover_collection_rg', - 'collection_name': 'clitest-movecollection-27', + 'collection_name': 'clitest-movecollection-10', 'location': 'eastus2', 'source_region': 'eastus', 'target_region': 'westus' @@ -47,21 +46,22 @@ def test_resourcemover_movecollection_basic(self): self.check('location', '{location}'), self.check('type', 'Microsoft.Migrate/moveCollections'), self.check('properties.sourceRegion', '{source_region}'), - self.check('properties.targetRegion', '{target_region}') + self.check('properties.targetRegion', '{target_region}'), + self.check('systemData.createdByType', 'User') ] # check creating a move-collection - self.cmd('az group create -n {collection_rg} -l {location}') self.cmd('az resource-mover move-collection create --location {location} --source-region {source_region} ' - '--target-region {target_region} --name {collection_name} --resource-group {collection_rg}', checks=basic_checks) + '--target-region {target_region} --name {collection_name} --resource-group {rg}', checks=basic_checks) # check updating a move-collection self.cmd('az resource-mover move-collection update --name {collection_name} ' - '--resource-group {collection_rg} --identity type=SystemAssigned', checks=basic_checks + [ - self.check('identity.type', 'SystemAssigned')]) + '--resource-group {rg} --identity type=SystemAssigned --tags key=collection', checks=basic_checks + [ + self.check('identity.type', 'SystemAssigned'), + self.check('tags.key', 'collection')]) # check showing a move-collection - self.cmd('az resource-mover move-collection show --resource-group {collection_rg} --name {collection_name}', + self.cmd('az resource-mover move-collection show --resource-group {rg} --name {collection_name}', checks=basic_checks) # check listing a move-collection by subscription @@ -71,20 +71,17 @@ def test_resourcemover_movecollection_basic(self): # ]) # check deleting a move-collection - self.cmd('az resource-mover move-collection delete --resource-group {collection_rg} --name {collection_name} --yes') + self.cmd('az resource-mover move-collection delete --resource-group {rg} --name {collection_name} --yes') # check listing a move-collection by resource group - self.cmd('az resource-mover move-collection list --resource-group {collection_rg}', checks=[ + self.cmd('az resource-mover move-collection list --resource-group {rg}', checks=[ self.check('length(@)', 0)]) - # delete the resource group - self.cmd('az group delete -n {collection_rg} --yes') - + @ResourceGroupPreparer(name_prefix="clitest_resourcemover_collection_", location="eastus2") def test_resourcemover_movecollection_e2e(self): self.kwargs.update({ - 'collection_rg': 'clitest_resourcemover_collection_rg', - 'collection_name': 'clitest-movecollection-25', + 'collection_name': 'clitest-movecollection-29', 'location': 'eastus2', 'source_region': 'eastus', 'target_region': 'westus', @@ -96,10 +93,9 @@ def test_resourcemover_movecollection_e2e(self): 'move_resource_rg': 'rg-as-move-resource' }) - # create a resource group and a move-collection - self.cmd('az group create -n {collection_rg} -l {location}') + # create a move-collection move_collection = self.cmd('az resource-mover move-collection create --location {location} --source-region {source_region} ' - '--target-region {target_region} --name {collection_name} --resource-group {collection_rg} ' + '--target-region {target_region} --name {collection_name} --resource-group {rg} ' '--identity type=SystemAssigned').get_output_in_json() # keep the collection principal id for role assignment # keep the subscription ARM id as role assignment scope @@ -151,29 +147,29 @@ def test_resourcemover_movecollection_e2e(self): '--scope {role_assignment_scope}') # add the vNet as a move-resource to the move-collection - self.cmd('az resource-mover move-resource add --resource-group {collection_rg} --move-collection-name {collection_name} ' + self.cmd('az resource-mover move-resource add --resource-group {rg} --move-collection-name {collection_name} ' '--name {move_resource_vnet} --source-id {source_vnet_id} --resource-settings {vnet_resource_settings}') - self.cmd('az resource-mover move-resource add --resource-group {collection_rg} --move-collection-name {collection_name} ' + self.cmd('az resource-mover move-resource add --resource-group {rg} --move-collection-name {collection_name} ' '--name {move_resource_rg} --source-id {source_rg_id} --resource-settings {rg_resource_settings}') # list-required-for - self.cmd('az resource-mover move-collection list-required-for --resource-group {collection_rg} --move-collection-name ' + self.cmd('az resource-mover move-collection list-required-for --resource-group {rg} --move-collection-name ' '{collection_name} --source-id {source_vnet_id}', checks=[ self.check('length(sourceIds)', 0)]) # list-unresolved-dependency - self.cmd('az resource-mover move-collection list-unresolved-dependency --resource-group {collection_rg} ' + self.cmd('az resource-mover move-collection list-unresolved-dependency --resource-group {rg} ' '--move-collection-name {collection_name}', checks=[ self.check('length(@)', 0)]) # resolve-dependency - self.cmd('az resource-mover move-collection resolve-dependency --resource-group {collection_rg} ' + self.cmd('az resource-mover move-collection resolve-dependency --resource-group {rg} ' '--move-collection-name {collection_name}', checks=[ - self.check('resourceGroup', '{collection_rg}'), + self.check('resourceGroup', '{rg}'), self.check('status', 'Succeeded')]) # list all the move-resources in move-collection - move_resources = self.cmd('az resource-mover move-resource list --resource-group {collection_rg} ' + move_resources = self.cmd('az resource-mover move-resource list --resource-group {rg} ' '--move-collection-name {collection_name}', checks=[ self.check('length(@)', 2)]).get_output_in_json() @@ -190,13 +186,13 @@ def test_resourcemover_movecollection_e2e(self): }) def check_move_state(target_state): - # showing the move-resource in move-collection, chen the move-resource's moveState - self.cmd('az resource-mover move-resource show --resource-group {collection_rg} ' + # showing the move-resource in move-collection, check the move-resource's moveState + self.cmd('az resource-mover move-resource show --resource-group {rg} ' '--move-collection-name {collection_name} --name {move_resource_vnet}', checks=[ self.check('name', '{move_resource_vnet}'), self.check('properties.sourceId', '{source_vnet_id}'), self.check('properties.moveStatus.moveState', target_state)]) - self.cmd('az resource-mover move-resource show --resource-group {collection_rg} ' + self.cmd('az resource-mover move-resource show --resource-group {rg} ' '--move-collection-name {collection_name} --name {move_resource_rg}', checks=[ self.check('name', '{move_resource_rg}'), self.check('properties.sourceId', '{source_rg_id}'), @@ -206,30 +202,28 @@ def check_move_state(target_state): # prepare self.cmd('az resource-mover move-collection prepare --move-resources {move_resource_vnet_id} ' - '{move_resource_rg_id} --name {collection_name} --resource-group {collection_rg}', checks=[ - self.check('resourceGroup', '{collection_rg}'), + '{move_resource_rg_id} --name {collection_name} --resource-group {rg}', checks=[ + self.check('resourceGroup', '{rg}'), self.check('status', 'Succeeded')]) check_move_state('MovePending') # initiate-move self.cmd('az resource-mover move-collection initiate-move --move-resources {move_resource_vnet_id} ' - '{move_resource_rg_id} --name {collection_name} --resource-group {collection_rg}', checks=[ - self.check('resourceGroup', '{collection_rg}'), + '{move_resource_rg_id} --name {collection_name} --resource-group {rg}', checks=[ + self.check('resourceGroup', '{rg}'), self.check('status', 'Succeeded')]) check_move_state('CommitPending') # commit self.cmd('az resource-mover move-collection commit --move-resources {move_resource_vnet_id} ' - '{move_resource_rg_id} --name {collection_name} --resource-group {collection_rg}', checks=[ - self.check('resourceGroup', '{collection_rg}'), + '{move_resource_rg_id} --name {collection_name} --resource-group {rg}', checks=[ + self.check('resourceGroup', '{rg}'), self.check('status', 'Succeeded')]) check_move_state('DeleteSourcePending') # delete the source resources self.cmd('az network vnet delete -g {source_rg} -n {source_vnet}') self.cmd('az group delete -g {source_rg} --yes') - time.sleep(60) # sleep to wait moveState change - check_move_state('ResourceMoveCompleted') # check the move-resources are deployed in target region self.cmd('az group show -n {target_rg}', checks=[ @@ -237,14 +231,13 @@ def check_move_state(target_state): self.cmd('az network vnet show -g {target_rg} -n {target_vnet}', checks=[ self.check('location', '{target_region}')]) - # delete the move-resources, the move collection and the resource group + # delete the move-resources and the move collection self.cmd('az resource-mover move-collection bulk-remove --move-resources {move_resource_vnet_id} ' - '{move_resource_rg_id} --name {collection_name} --resource-group {collection_rg}', checks=[ - self.check('resourceGroup', '{collection_rg}'), + '{move_resource_rg_id} --name {collection_name} --resource-group {rg}', checks=[ + self.check('resourceGroup', '{rg}'), self.check('status', 'Succeeded')]) self.cmd('az resource-mover move-collection delete --name {collection_name} --resource-group ' - '{collection_rg} --yes') - self.cmd('az group delete -n {collection_rg} --yes') + '{rg} --yes') class ResourceMoverMoveResourceScenarioTest(ScenarioTest): @@ -256,10 +249,10 @@ def __init__(self, method_name): replay_processors=[RoleAssignmentReplacer()] ) + @ResourceGroupPreparer(name_prefix="clitest_resourcemover_collection_", location="eastus2") def test_resourcemover_moveresource_basic(self): self.kwargs.update({ - 'collection_rg': 'clitest_resourcemover_collection_rg', - 'collection_name': 'clitest-movecollection-16', + 'collection_name': 'clitest-movecollection-91', 'location': 'eastus2', 'source_region': 'eastus', 'target_region': 'westus', @@ -270,10 +263,9 @@ def test_resourcemover_moveresource_basic(self): 'target_rg': 'clitest_resourcemover_target_rg' }) - # create a resource group and a move-collection - self.cmd('az group create -n {collection_rg} -l {location}') + # create a move-collection move_collection = self.cmd('az resource-mover move-collection create --location {location} --source-region {source_region} ' - '--target-region {target_region} --name {collection_name} --resource-group {collection_rg} ' + '--target-region {target_region} --name {collection_name} --resource-group {rg} ' '--identity type=SystemAssigned').get_output_in_json() # keep the collection principal id for role assignment # keep the subscription ARM id as role assignment scope @@ -312,28 +304,27 @@ def test_resourcemover_moveresource_basic(self): '--scope {role_assignment_scope}') # add the vNet as a move-resource to the move-collection - self.cmd('az resource-mover move-resource add --resource-group {collection_rg} --move-collection-name ' + self.cmd('az resource-mover move-resource add --resource-group {rg} --move-collection-name ' '{collection_name} --name {move_resource_vnet} --source-id {source_vnet_id} --resource-settings {resource_settings}') # list all the move-resources in move-collection - self.cmd('az resource-mover move-resource list --resource-group {collection_rg} ' + self.cmd('az resource-mover move-resource list --resource-group {rg} ' '--move-collection-name {collection_name}', checks=[ self.check('length(@)', 1)]) # test showing the move-resource in move-collection - self.cmd('az resource-mover move-resource show --resource-group {collection_rg} --move-collection-name {collection_name} ' + self.cmd('az resource-mover move-resource show --resource-group {rg} --move-collection-name {collection_name} ' '--name {move_resource_vnet}', checks=[ self.check('name', '{move_resource_vnet}'), self.check('properties.sourceId', '{source_vnet_id}'), self.check('properties.moveStatus.moveState', 'PreparePending')]) # test deleting the move-resource in the move-collection - self.cmd('az resource-mover move-resource delete --resource-group {collection_rg} --move-collection-name {collection_name} ' + self.cmd('az resource-mover move-resource delete --resource-group {rg} --move-collection-name {collection_name} ' '--name {move_resource_vnet} --yes') - # delete the move-collection and resource group - self.cmd('az resource-mover move-collection delete --name {collection_name} --resource-group {collection_rg} --yes') - self.cmd('az group delete -n {collection_rg} --yes') + # delete the move-collection + self.cmd('az resource-mover move-collection delete --name {collection_name} --resource-group {rg} --yes') # delete the vNet and resource group self.cmd('az network vnet delete -g {source_rg} -n {source_vnet}') diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/_configuration.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/_configuration.py index c224389ed45..7c683c78beb 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/_configuration.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/_configuration.py @@ -48,7 +48,7 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-01-01" + self.api_version = "2021-08-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-resourcemover/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/_configuration.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/_configuration.py index adca560ec42..e1d5a4009ca 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/_configuration.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/_configuration.py @@ -45,7 +45,7 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-01-01" + self.api_version = "2021-08-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-resourcemover/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_move_collections_operations.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_move_collections_operations.py index e8777694aac..b659d2e27f8 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_move_collections_operations.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_move_collections_operations.py @@ -68,7 +68,7 @@ async def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -141,7 +141,7 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -196,7 +196,7 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL @@ -323,7 +323,7 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL @@ -371,7 +371,7 @@ async def _prepare_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -504,7 +504,7 @@ async def _initiate_move_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -637,7 +637,7 @@ async def _commit_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -770,7 +770,7 @@ async def _discard_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -902,7 +902,7 @@ async def _resolve_dependencies_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL @@ -1019,7 +1019,7 @@ async def _bulk_remove_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -1156,7 +1156,7 @@ def list_move_collections_by_subscription( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" def prepare_request(next_link=None): @@ -1227,7 +1227,7 @@ def list_move_collections_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" def prepare_request(next_link=None): @@ -1303,7 +1303,7 @@ async def list_required_for( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_move_resources_operations.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_move_resources_operations.py index 0f7ae28b695..ca29d9dc4cb 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_move_resources_operations.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_move_resources_operations.py @@ -69,7 +69,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" def prepare_request(next_link=None): @@ -136,7 +136,7 @@ async def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -271,7 +271,7 @@ async def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL @@ -407,7 +407,7 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_operations_discovery_operations.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_operations_discovery_operations.py index b6e62311c3e..78cf738a350 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_operations_discovery_operations.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_operations_discovery_operations.py @@ -56,7 +56,7 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_unresolved_dependencies_operations.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_unresolved_dependencies_operations.py index c18799fbead..9c4d85d89e6 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_unresolved_dependencies_operations.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/aio/operations/_unresolved_dependencies_operations.py @@ -72,7 +72,7 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/__init__.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/__init__.py index f38f3ccc5f6..a3e4bf23659 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/__init__.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/__init__.py @@ -68,6 +68,7 @@ from ._models_py3 import SubnetResourceSettings from ._models_py3 import Summary from ._models_py3 import SummaryCollection + from ._models_py3 import SystemData from ._models_py3 import UnresolvedDependenciesFilter from ._models_py3 import UnresolvedDependenciesFilterProperties from ._models_py3 import UnresolvedDependency @@ -137,6 +138,7 @@ from ._models import SubnetResourceSettings # type: ignore from ._models import Summary # type: ignore from ._models import SummaryCollection # type: ignore + from ._models import SystemData # type: ignore from ._models import UnresolvedDependenciesFilter # type: ignore from ._models import UnresolvedDependenciesFilterProperties # type: ignore from ._models import UnresolvedDependency # type: ignore @@ -146,6 +148,7 @@ from ._models import VirtualNetworkResourceSettings # type: ignore from ._resource_mover_service_api_enums import ( + CreatedByType, DependencyLevel, DependencyType, JobName, @@ -220,6 +223,7 @@ 'SubnetResourceSettings', 'Summary', 'SummaryCollection', + 'SystemData', 'UnresolvedDependenciesFilter', 'UnresolvedDependenciesFilterProperties', 'UnresolvedDependency', @@ -227,6 +231,7 @@ 'UpdateMoveCollectionRequest', 'VirtualMachineResourceSettings', 'VirtualNetworkResourceSettings', + 'CreatedByType', 'DependencyLevel', 'DependencyType', 'JobName', diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_models.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_models.py index 9baef060177..15bb6ba2170 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_models.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_models.py @@ -112,6 +112,8 @@ class AvailabilitySetResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param fault_domain: Gets or sets the target fault domain. :type fault_domain: int :param update_domain: Gets or sets the target update domain. @@ -128,6 +130,7 @@ class AvailabilitySetResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'fault_domain': {'key': 'faultDomain', 'type': 'int'}, 'update_domain': {'key': 'updateDomain', 'type': 'int'}, } @@ -138,6 +141,7 @@ def __init__( ): super(AvailabilitySetResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Compute/availabilitySets' # type: str + self.tags = kwargs.get('tags', None) self.fault_domain = kwargs.get('fault_domain', None) self.update_domain = kwargs.get('update_domain', None) @@ -634,6 +638,8 @@ class LoadBalancerResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param sku: Gets or sets load balancer sku (Basic/Standard). :type sku: str :param frontend_ip_configurations: Gets or sets the frontend IP configurations of the load @@ -657,6 +663,7 @@ class LoadBalancerResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'sku': {'key': 'sku', 'type': 'str'}, 'frontend_ip_configurations': {'key': 'frontendIPConfigurations', 'type': '[LbFrontendIpConfigurationResourceSettings]'}, 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[LbBackendAddressPoolResourceSettings]'}, @@ -669,6 +676,7 @@ def __init__( ): super(LoadBalancerResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Network/loadBalancers' # type: str + self.tags = kwargs.get('tags', None) self.sku = kwargs.get('sku', None) self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) self.backend_address_pools = kwargs.get('backend_address_pools', None) @@ -716,6 +724,8 @@ class MoveCollection(msrest.serialization.Model): :type identity: ~resource_mover_service_api.models.Identity :param properties: Defines the move collection properties. :type properties: ~resource_mover_service_api.models.MoveCollectionProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~resource_mover_service_api.models.SystemData """ _validation = { @@ -723,6 +733,7 @@ class MoveCollection(msrest.serialization.Model): 'name': {'readonly': True}, 'type': {'readonly': True}, 'etag': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { @@ -734,6 +745,7 @@ class MoveCollection(msrest.serialization.Model): 'location': {'key': 'location', 'type': 'str'}, 'identity': {'key': 'identity', 'type': 'Identity'}, 'properties': {'key': 'properties', 'type': 'MoveCollectionProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } def __init__( @@ -749,6 +761,7 @@ def __init__( self.location = kwargs.get('location', None) self.identity = kwargs.get('identity', None) self.properties = kwargs.get('properties', None) + self.system_data = None class MoveCollectionProperties(msrest.serialization.Model): @@ -892,12 +905,15 @@ class MoveResource(msrest.serialization.Model): :vartype type: str :param properties: Defines the move resource properties. :type properties: ~resource_mover_service_api.models.MoveResourceProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~resource_mover_service_api.models.SystemData """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { @@ -905,6 +921,7 @@ class MoveResource(msrest.serialization.Model): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'MoveResourceProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } def __init__( @@ -916,6 +933,7 @@ def __init__( self.name = None self.type = None self.properties = kwargs.get('properties', None) + self.system_data = None class MoveResourceCollection(msrest.serialization.Model): @@ -1283,6 +1301,8 @@ class NetworkInterfaceResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param ip_configurations: Gets or sets the IP configurations of the NIC. :type ip_configurations: list[~resource_mover_service_api.models.NicIpConfigurationResourceSettings] @@ -1299,6 +1319,7 @@ class NetworkInterfaceResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'ip_configurations': {'key': 'ipConfigurations', 'type': '[NicIpConfigurationResourceSettings]'}, 'enable_accelerated_networking': {'key': 'enableAcceleratedNetworking', 'type': 'bool'}, } @@ -1309,6 +1330,7 @@ def __init__( ): super(NetworkInterfaceResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Network/networkInterfaces' # type: str + self.tags = kwargs.get('tags', None) self.ip_configurations = kwargs.get('ip_configurations', None) self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) @@ -1323,6 +1345,8 @@ class NetworkSecurityGroupResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param security_rules: Gets or sets Security rules of network security group. :type security_rules: list[~resource_mover_service_api.models.NsgSecurityRule] """ @@ -1335,6 +1359,7 @@ class NetworkSecurityGroupResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'security_rules': {'key': 'securityRules', 'type': '[NsgSecurityRule]'}, } @@ -1344,6 +1369,7 @@ def __init__( ): super(NetworkSecurityGroupResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Network/networkSecurityGroups' # type: str + self.tags = kwargs.get('tags', None) self.security_rules = kwargs.get('security_rules', None) @@ -1752,6 +1778,8 @@ class PublicIpAddressResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param domain_name_label: Gets or sets the domain name label. :type domain_name_label: str :param fqdn: Gets or sets the fully qualified domain name. @@ -1772,6 +1800,7 @@ class PublicIpAddressResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 'fqdn': {'key': 'fqdn', 'type': 'str'}, 'public_ip_allocation_method': {'key': 'publicIpAllocationMethod', 'type': 'str'}, @@ -1785,6 +1814,7 @@ def __init__( ): super(PublicIpAddressResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Network/publicIPAddresses' # type: str + self.tags = kwargs.get('tags', None) self.domain_name_label = kwargs.get('domain_name_label', None) self.fqdn = kwargs.get('fqdn', None) self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) @@ -1913,6 +1943,8 @@ class SqlDatabaseResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param zone_redundant: Defines the zone redundant resource setting. Possible values include: "Enable", "Disable". :type zone_redundant: str or ~resource_mover_service_api.models.ZoneRedundant @@ -1926,6 +1958,7 @@ class SqlDatabaseResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'zone_redundant': {'key': 'zoneRedundant', 'type': 'str'}, } @@ -1935,6 +1968,7 @@ def __init__( ): super(SqlDatabaseResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Sql/servers/databases' # type: str + self.tags = kwargs.get('tags', None) self.zone_redundant = kwargs.get('zone_redundant', None) @@ -1948,6 +1982,8 @@ class SqlElasticPoolResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param zone_redundant: Defines the zone redundant resource setting. Possible values include: "Enable", "Disable". :type zone_redundant: str or ~resource_mover_service_api.models.ZoneRedundant @@ -1961,6 +1997,7 @@ class SqlElasticPoolResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'zone_redundant': {'key': 'zoneRedundant', 'type': 'str'}, } @@ -1970,6 +2007,7 @@ def __init__( ): super(SqlElasticPoolResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Sql/servers/elasticPools' # type: str + self.tags = kwargs.get('tags', None) self.zone_redundant = kwargs.get('zone_redundant', None) @@ -2104,6 +2142,47 @@ def __init__( self.summary = kwargs.get('summary', 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 ~resource_mover_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 ~resource_mover_service_api.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 UnresolvedDependenciesFilter(msrest.serialization.Model): """Unresolved dependencies contract. @@ -2237,6 +2316,10 @@ class VirtualMachineResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :param user_managed_identities: Gets or sets user-managed identities. + :type user_managed_identities: list[str] :param target_availability_zone: Gets or sets the target availability zone. Possible values include: "1", "2", "3", "NA". :type target_availability_zone: str or @@ -2256,6 +2339,8 @@ class VirtualMachineResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'user_managed_identities': {'key': 'userManagedIdentities', 'type': '[str]'}, 'target_availability_zone': {'key': 'targetAvailabilityZone', 'type': 'str'}, 'target_vm_size': {'key': 'targetVmSize', 'type': 'str'}, 'target_availability_set_id': {'key': 'targetAvailabilitySetId', 'type': 'str'}, @@ -2267,6 +2352,8 @@ def __init__( ): super(VirtualMachineResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Compute/virtualMachines' # type: str + self.tags = kwargs.get('tags', None) + self.user_managed_identities = kwargs.get('user_managed_identities', None) self.target_availability_zone = kwargs.get('target_availability_zone', None) self.target_vm_size = kwargs.get('target_vm_size', None) self.target_availability_set_id = kwargs.get('target_availability_set_id', None) @@ -2282,6 +2369,8 @@ class VirtualNetworkResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param enable_ddos_protection: Gets or sets a value indicating whether gets or sets whether the DDOS protection should be switched on. :type enable_ddos_protection: bool @@ -2303,6 +2392,7 @@ class VirtualNetworkResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'enable_ddos_protection': {'key': 'enableDdosProtection', 'type': 'bool'}, 'address_space': {'key': 'addressSpace', 'type': '[str]'}, 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, @@ -2315,6 +2405,7 @@ def __init__( ): super(VirtualNetworkResourceSettings, self).__init__(**kwargs) self.resource_type = 'Microsoft.Network/virtualNetworks' # type: str + self.tags = kwargs.get('tags', None) self.enable_ddos_protection = kwargs.get('enable_ddos_protection', None) self.address_space = kwargs.get('address_space', None) self.dns_servers = kwargs.get('dns_servers', None) diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_models_py3.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_models_py3.py index 4e13333c9ab..588e1e0fe51 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_models_py3.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_models_py3.py @@ -6,6 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import datetime from typing import Dict, List, Optional, Union import msrest.serialization @@ -120,6 +121,8 @@ class AvailabilitySetResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param fault_domain: Gets or sets the target fault domain. :type fault_domain: int :param update_domain: Gets or sets the target update domain. @@ -136,6 +139,7 @@ class AvailabilitySetResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'fault_domain': {'key': 'faultDomain', 'type': 'int'}, 'update_domain': {'key': 'updateDomain', 'type': 'int'}, } @@ -144,12 +148,14 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, fault_domain: Optional[int] = None, update_domain: Optional[int] = None, **kwargs ): super(AvailabilitySetResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Compute/availabilitySets' # type: str + self.tags = tags self.fault_domain = fault_domain self.update_domain = update_domain @@ -695,6 +701,8 @@ class LoadBalancerResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param sku: Gets or sets load balancer sku (Basic/Standard). :type sku: str :param frontend_ip_configurations: Gets or sets the frontend IP configurations of the load @@ -718,6 +726,7 @@ class LoadBalancerResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'sku': {'key': 'sku', 'type': 'str'}, 'frontend_ip_configurations': {'key': 'frontendIPConfigurations', 'type': '[LbFrontendIpConfigurationResourceSettings]'}, 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[LbBackendAddressPoolResourceSettings]'}, @@ -728,6 +737,7 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, sku: Optional[str] = None, frontend_ip_configurations: Optional[List["LbFrontendIpConfigurationResourceSettings"]] = None, backend_address_pools: Optional[List["LbBackendAddressPoolResourceSettings"]] = None, @@ -736,6 +746,7 @@ def __init__( ): super(LoadBalancerResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Network/loadBalancers' # type: str + self.tags = tags self.sku = sku self.frontend_ip_configurations = frontend_ip_configurations self.backend_address_pools = backend_address_pools @@ -785,6 +796,8 @@ class MoveCollection(msrest.serialization.Model): :type identity: ~resource_mover_service_api.models.Identity :param properties: Defines the move collection properties. :type properties: ~resource_mover_service_api.models.MoveCollectionProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~resource_mover_service_api.models.SystemData """ _validation = { @@ -792,6 +805,7 @@ class MoveCollection(msrest.serialization.Model): 'name': {'readonly': True}, 'type': {'readonly': True}, 'etag': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { @@ -803,6 +817,7 @@ class MoveCollection(msrest.serialization.Model): 'location': {'key': 'location', 'type': 'str'}, 'identity': {'key': 'identity', 'type': 'Identity'}, 'properties': {'key': 'properties', 'type': 'MoveCollectionProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } def __init__( @@ -823,6 +838,7 @@ def __init__( self.location = location self.identity = identity self.properties = properties + self.system_data = None class MoveCollectionProperties(msrest.serialization.Model): @@ -976,12 +992,15 @@ class MoveResource(msrest.serialization.Model): :vartype type: str :param properties: Defines the move resource properties. :type properties: ~resource_mover_service_api.models.MoveResourceProperties + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~resource_mover_service_api.models.SystemData """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { @@ -989,6 +1008,7 @@ class MoveResource(msrest.serialization.Model): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'MoveResourceProperties'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } def __init__( @@ -1002,6 +1022,7 @@ def __init__( self.name = None self.type = None self.properties = properties + self.system_data = None class MoveResourceCollection(msrest.serialization.Model): @@ -1401,6 +1422,8 @@ class NetworkInterfaceResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param ip_configurations: Gets or sets the IP configurations of the NIC. :type ip_configurations: list[~resource_mover_service_api.models.NicIpConfigurationResourceSettings] @@ -1417,6 +1440,7 @@ class NetworkInterfaceResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'ip_configurations': {'key': 'ipConfigurations', 'type': '[NicIpConfigurationResourceSettings]'}, 'enable_accelerated_networking': {'key': 'enableAcceleratedNetworking', 'type': 'bool'}, } @@ -1425,12 +1449,14 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, ip_configurations: Optional[List["NicIpConfigurationResourceSettings"]] = None, enable_accelerated_networking: Optional[bool] = None, **kwargs ): super(NetworkInterfaceResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Network/networkInterfaces' # type: str + self.tags = tags self.ip_configurations = ip_configurations self.enable_accelerated_networking = enable_accelerated_networking @@ -1445,6 +1471,8 @@ class NetworkSecurityGroupResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param security_rules: Gets or sets Security rules of network security group. :type security_rules: list[~resource_mover_service_api.models.NsgSecurityRule] """ @@ -1457,6 +1485,7 @@ class NetworkSecurityGroupResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'security_rules': {'key': 'securityRules', 'type': '[NsgSecurityRule]'}, } @@ -1464,11 +1493,13 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, security_rules: Optional[List["NsgSecurityRule"]] = None, **kwargs ): super(NetworkSecurityGroupResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Network/networkSecurityGroups' # type: str + self.tags = tags self.security_rules = security_rules @@ -1912,6 +1943,8 @@ class PublicIpAddressResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param domain_name_label: Gets or sets the domain name label. :type domain_name_label: str :param fqdn: Gets or sets the fully qualified domain name. @@ -1932,6 +1965,7 @@ class PublicIpAddressResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 'fqdn': {'key': 'fqdn', 'type': 'str'}, 'public_ip_allocation_method': {'key': 'publicIpAllocationMethod', 'type': 'str'}, @@ -1943,6 +1977,7 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, domain_name_label: Optional[str] = None, fqdn: Optional[str] = None, public_ip_allocation_method: Optional[str] = None, @@ -1952,6 +1987,7 @@ def __init__( ): super(PublicIpAddressResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Network/publicIPAddresses' # type: str + self.tags = tags self.domain_name_label = domain_name_label self.fqdn = fqdn self.public_ip_allocation_method = public_ip_allocation_method @@ -2090,6 +2126,8 @@ class SqlDatabaseResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param zone_redundant: Defines the zone redundant resource setting. Possible values include: "Enable", "Disable". :type zone_redundant: str or ~resource_mover_service_api.models.ZoneRedundant @@ -2103,6 +2141,7 @@ class SqlDatabaseResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'zone_redundant': {'key': 'zoneRedundant', 'type': 'str'}, } @@ -2110,11 +2149,13 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, zone_redundant: Optional[Union[str, "ZoneRedundant"]] = None, **kwargs ): super(SqlDatabaseResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Sql/servers/databases' # type: str + self.tags = tags self.zone_redundant = zone_redundant @@ -2128,6 +2169,8 @@ class SqlElasticPoolResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param zone_redundant: Defines the zone redundant resource setting. Possible values include: "Enable", "Disable". :type zone_redundant: str or ~resource_mover_service_api.models.ZoneRedundant @@ -2141,6 +2184,7 @@ class SqlElasticPoolResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'zone_redundant': {'key': 'zoneRedundant', 'type': 'str'}, } @@ -2148,11 +2192,13 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, zone_redundant: Optional[Union[str, "ZoneRedundant"]] = None, **kwargs ): super(SqlElasticPoolResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Sql/servers/elasticPools' # type: str + self.tags = tags self.zone_redundant = zone_redundant @@ -2302,6 +2348,54 @@ def __init__( self.summary = summary +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 ~resource_mover_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 ~resource_mover_service_api.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 UnresolvedDependenciesFilter(msrest.serialization.Model): """Unresolved dependencies contract. @@ -2448,6 +2542,10 @@ class VirtualMachineResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :param user_managed_identities: Gets or sets user-managed identities. + :type user_managed_identities: list[str] :param target_availability_zone: Gets or sets the target availability zone. Possible values include: "1", "2", "3", "NA". :type target_availability_zone: str or @@ -2467,6 +2565,8 @@ class VirtualMachineResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'user_managed_identities': {'key': 'userManagedIdentities', 'type': '[str]'}, 'target_availability_zone': {'key': 'targetAvailabilityZone', 'type': 'str'}, 'target_vm_size': {'key': 'targetVmSize', 'type': 'str'}, 'target_availability_set_id': {'key': 'targetAvailabilitySetId', 'type': 'str'}, @@ -2476,6 +2576,8 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, + user_managed_identities: Optional[List[str]] = None, target_availability_zone: Optional[Union[str, "TargetAvailabilityZone"]] = None, target_vm_size: Optional[str] = None, target_availability_set_id: Optional[str] = None, @@ -2483,6 +2585,8 @@ def __init__( ): super(VirtualMachineResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Compute/virtualMachines' # type: str + self.tags = tags + self.user_managed_identities = user_managed_identities self.target_availability_zone = target_availability_zone self.target_vm_size = target_vm_size self.target_availability_set_id = target_availability_set_id @@ -2498,6 +2602,8 @@ class VirtualNetworkResourceSettings(ResourceSettings): :type resource_type: str :param target_resource_name: Required. Gets or sets the target Resource name. :type target_resource_name: str + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] :param enable_ddos_protection: Gets or sets a value indicating whether gets or sets whether the DDOS protection should be switched on. :type enable_ddos_protection: bool @@ -2519,6 +2625,7 @@ class VirtualNetworkResourceSettings(ResourceSettings): _attribute_map = { 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'target_resource_name': {'key': 'targetResourceName', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, 'enable_ddos_protection': {'key': 'enableDdosProtection', 'type': 'bool'}, 'address_space': {'key': 'addressSpace', 'type': '[str]'}, 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, @@ -2529,6 +2636,7 @@ def __init__( self, *, target_resource_name: str, + tags: Optional[Dict[str, str]] = None, enable_ddos_protection: Optional[bool] = None, address_space: Optional[List[str]] = None, dns_servers: Optional[List[str]] = None, @@ -2537,6 +2645,7 @@ def __init__( ): super(VirtualNetworkResourceSettings, self).__init__(target_resource_name=target_resource_name, **kwargs) self.resource_type = 'Microsoft.Network/virtualNetworks' # type: str + self.tags = tags self.enable_ddos_protection = enable_ddos_protection self.address_space = address_space self.dns_servers = dns_servers diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_resource_mover_service_api_enums.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_resource_mover_service_api_enums.py index c1480e111a7..8a9f6a283e6 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_resource_mover_service_api_enums.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/models/_resource_mover_service_api_enums.py @@ -26,6 +26,15 @@ 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 DependencyLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): DIRECT = "Direct" diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_move_collections_operations.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_move_collections_operations.py index 2273b415154..c491509d493 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_move_collections_operations.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_move_collections_operations.py @@ -73,7 +73,7 @@ def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -147,7 +147,7 @@ def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -203,7 +203,7 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL @@ -332,7 +332,7 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL @@ -381,7 +381,7 @@ def _prepare_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -516,7 +516,7 @@ def _initiate_move_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -651,7 +651,7 @@ def _commit_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -786,7 +786,7 @@ def _discard_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -920,7 +920,7 @@ def _resolve_dependencies_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL @@ -1039,7 +1039,7 @@ def _bulk_remove_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -1178,7 +1178,7 @@ def list_move_collections_by_subscription( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" def prepare_request(next_link=None): @@ -1250,7 +1250,7 @@ def list_move_collections_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" def prepare_request(next_link=None): @@ -1327,7 +1327,7 @@ def list_required_for( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_move_resources_operations.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_move_resources_operations.py index 822461f7fff..87f3d3a8aba 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_move_resources_operations.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_move_resources_operations.py @@ -74,7 +74,7 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" def prepare_request(next_link=None): @@ -142,7 +142,7 @@ def _create_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -279,7 +279,7 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL @@ -417,7 +417,7 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_operations_discovery_operations.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_operations_discovery_operations.py index 3a323257747..c2c51b4cd54 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_operations_discovery_operations.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_operations_discovery_operations.py @@ -61,7 +61,7 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" # Construct URL diff --git a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_unresolved_dependencies_operations.py b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_unresolved_dependencies_operations.py index fef5a8010bf..7f9b60c87da 100644 --- a/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_unresolved_dependencies_operations.py +++ b/src/resource-mover/azext_resource_mover/vendored_sdks/resourcemover/operations/_unresolved_dependencies_operations.py @@ -77,7 +77,7 @@ def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-01-01" + api_version = "2021-08-01" accept = "application/json" def prepare_request(next_link=None): diff --git a/src/resource-mover/report.md b/src/resource-mover/report.md index 597183952b7..55e866a3d56 100644 --- a/src/resource-mover/report.md +++ b/src/resource-mover/report.md @@ -10,8 +10,8 @@ |CLI Command Group|Group Swagger name|Commands| |---------|------------|--------| |az resource-mover move-collection|MoveCollections|[commands](#CommandsInMoveCollections)| -|az resource-mover move-resource|MoveResources|[commands](#CommandsInMoveResources)| |az resource-mover move-collection|UnresolvedDependencies|[commands](#CommandsInUnresolvedDependencies)| +|az resource-mover move-resource|MoveResources|[commands](#CommandsInMoveResources)| ## COMMANDS ### Commands in `az resource-mover move-collection` group @@ -45,7 +45,6 @@ ## COMMAND DETAILS - ### group `az resource-mover move-collection` #### Command `az resource-mover move-collection list` @@ -56,6 +55,7 @@ az resource-mover move-collection list ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| + #### Command `az resource-mover move-collection show` ##### Example @@ -143,8 +143,8 @@ Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" --validate- |------|----|-----------|----------|------------| |**--resource-group-name**|string|The Resource Group Name.|resource_group_name|resourceGroupName| |**--move-collection-name**|string|The Move Collection Name.|move_collection_name|moveCollectionName| -|**--validate-only**|boolean|Gets or sets a value indicating whether the operation needs to only run pre-requisite.|validate_only|validateOnly| |**--move-resources**|array|Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.|move_resources|moveResources| +|**--validate-only**|boolean|Gets or sets a value indicating whether the operation needs to only run pre-requisite.|validate_only|validateOnly| |**--move-resource-input-type**|choice|Defines the move resource input type.|move_resource_input_type|moveResourceInputType| #### Command `az resource-mover move-collection discard` @@ -160,8 +160,8 @@ az resource-mover move-collection discard --move-resources "/subscriptions/subid |------|----|-----------|----------|------------| |**--resource-group-name**|string|The Resource Group Name.|resource_group_name|resourceGroupName| |**--move-collection-name**|string|The Move Collection Name.|move_collection_name|moveCollectionName| -|**--validate-only**|boolean|Gets or sets a value indicating whether the operation needs to only run pre-requisite.|validate_only|validateOnly| |**--move-resources**|array|Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.|move_resources|moveResources| +|**--validate-only**|boolean|Gets or sets a value indicating whether the operation needs to only run pre-requisite.|validate_only|validateOnly| |**--move-resource-input-type**|choice|Defines the move resource input type.|move_resource_input_type|moveResourceInputType| #### Command `az resource-mover move-collection initiate-move` @@ -177,8 +177,8 @@ rosoft.Migrate/MoveCollections/movecollection1/MoveResources/moveresource1" --va |------|----|-----------|----------|------------| |**--resource-group-name**|string|The Resource Group Name.|resource_group_name|resourceGroupName| |**--move-collection-name**|string|The Move Collection Name.|move_collection_name|moveCollectionName| -|**--validate-only**|boolean|Gets or sets a value indicating whether the operation needs to only run pre-requisite.|validate_only|validateOnly| |**--move-resources**|array|Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.|move_resources|moveResources| +|**--validate-only**|boolean|Gets or sets a value indicating whether the operation needs to only run pre-requisite.|validate_only|validateOnly| |**--move-resource-input-type**|choice|Defines the move resource input type.|move_resource_input_type|moveResourceInputType| #### Command `az resource-mover move-collection list-required-for` @@ -208,8 +208,8 @@ az resource-mover move-collection prepare --move-resources "/subscriptions/subid |------|----|-----------|----------|------------| |**--resource-group-name**|string|The Resource Group Name.|resource_group_name|resourceGroupName| |**--move-collection-name**|string|The Move Collection Name.|move_collection_name|moveCollectionName| -|**--validate-only**|boolean|Gets or sets a value indicating whether the operation needs to only run pre-requisite.|validate_only|validateOnly| |**--move-resources**|array|Gets or sets the list of resource Id's, by default it accepts move resource id's unless the input type is switched via moveResourceInputType property.|move_resources|moveResources| +|**--validate-only**|boolean|Gets or sets a value indicating whether the operation needs to only run pre-requisite.|validate_only|validateOnly| |**--move-resource-input-type**|choice|Defines the move resource input type.|move_resource_input_type|moveResourceInputType| #### Command `az resource-mover move-collection resolve-dependency` @@ -292,7 +292,8 @@ urceGroups/eastusRG/providers/Microsoft.Network/networkInterfaces/eastusvm140" t 4ad4-aa72-0e1f4d9c0756/resourceGroups/westusRG/providers/Microsoft.Network/networkInterfaces/eastusvm140" \ --resource-settings "{\\"resourceType\\":\\"Microsoft.Compute/virtualMachines\\",\\"targetAvailabilitySetId\\":\\"/subs\ criptions/subid/resourceGroups/eastusRG/providers/Microsoft.Compute/availabilitySets/avset1\\",\\"targetAvailabilityZon\ -e\\":\\"2\\",\\"targetResourceName\\":\\"westusvm1\\",\\"targetVmSize\\":null}" --source-id \ +e\\":\\"2\\",\\"targetResourceName\\":\\"westusvm1\\",\\"targetVmSize\\":null,\\"userManagedIdentities\\":[\\"/subscrip\ +tions/subid/resourceGroups/eastusRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi1\\"]}" --source-id \ "/subscriptions/subid/resourceGroups/eastusRG/providers/Microsoft.Compute/virtualMachines/eastusvm1" \ --move-collection-name "movecollection1" --name "moveresourcename1" --resource-group "rg1" ``` diff --git a/src/resource-mover/setup.py b/src/resource-mover/setup.py index e86ffbdc168..2b796d78a75 100644 --- a/src/resource-mover/setup.py +++ b/src/resource-mover/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_resource_mover.manual.version import VERSION except ImportError: @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools ResourceMoverServiceAPI Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/resource-mover', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/resource-mover', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/scheduled-query/HISTORY.rst b/src/scheduled-query/HISTORY.rst index 76e75c74ba9..3f7288ac0ea 100644 --- a/src/scheduled-query/HISTORY.rst +++ b/src/scheduled-query/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +0.5.0 +++++++ +* Update API version to 2021-08-01 + 0.4.0 ++++++ * Add `--skip-query-validation` parameter diff --git a/src/scheduled-query/azext_scheduled_query/_actions.py b/src/scheduled-query/azext_scheduled_query/_actions.py index 5bb28b881d1..fac68594b78 100644 --- a/src/scheduled-query/azext_scheduled_query/_actions.py +++ b/src/scheduled-query/azext_scheduled_query/_actions.py @@ -49,11 +49,11 @@ 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() + condition_query = {} for x in values: k, v = x.split('=', 1) if k in condition_query: - raise InvalidArgumentValueError('Repeated definition of query placeholder "{}"'.format(k)) + raise InvalidArgumentValueError(f'Repeated definition of query placeholder "{k}"') condition_query[k] = v setattr(namespace, self.dest, condition_query) 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 ec3a359df3b..149e3d33c3b 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,21 +13,21 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001?api-version=2021-04-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-08-13T02:27:22Z"},"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":"2022-01-28T04:19:04Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '338' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:27:28 GMT + - Fri, 28 Jan 2022 04:21:09 GMT expires: - '-1' pragma: @@ -51,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.25.1 + - python-requests/2.26.0 method: GET uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json response: @@ -107,40 +107,147 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Fri, 13 Aug 2021 02:27:29 GMT + - Fri, 28 Jan 2022 04:21:10 GMT etag: - W/"54bceef15b892f2aa7f4c2145a49f1b5e33608722acdbb47933d7b6cbebbd7f4" expires: - - Fri, 13 Aug 2021 02:32:29 GMT + - Fri, 28 Jan 2022 04:26:10 GMT source-age: - - '270' + - '0' strict-transport-security: - max-age=31536000 vary: - - Authorization,Accept-Encoding + - Authorization,Accept-Encoding,Origin via: - 1.1 varnish x-cache: - - HIT + - MISS x-cache-hits: - - '1' + - '0' x-content-type-options: - nosniff x-fastly-request-id: - - ad890af6384503585aebf0b6809659de3ea28531 + - 1cb4e5f7978d7bb477349376e6e26d3e7331121c x-frame-options: - deny x-github-request-id: - - DF62:256E:3681:A077:6115C90F + - 945A:0F3C:48C1B1:6190CF:61F355DE x-served-by: - - cache-qpg1280-QPG + - cache-hkg17929-HKG x-timer: - - S1628821649.123927,VS0,VE1 + - S1643343670.345828,VS0,VE265 x-xss-protection: - 1; mode=block 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.32.0 azsdk-python-azure-mgmt-compute/23.1.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.Compute/locations/eastus/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions?$top=1&$orderby=name%20desc&api-version=2021-07-01 + response: + body: + string: "[\r\n {\r\n \"location\": \"eastus\",\r\n \"name\": \"18.04.202201180\",\r\n + \ \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202201180\"\r\n + \ }\r\n]" + headers: + cache-control: + - no-cache + content-length: + - '286' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jan 2022 04:21: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-ratelimit-remaining-resource: + - Microsoft.Compute/ListVMImagesVersionsFromLocation3Min;15999,Microsoft.Compute/ListVMImagesVersionsFromLocation30Min;43999 + 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.32.0 azsdk-python-azure-mgmt-compute/23.1.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.Compute/locations/eastus/publishers/Canonical/artifacttypes/vmimage/offers/UbuntuServer/skus/18.04-LTS/versions/18.04.202201180?api-version=2021-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"hyperVGeneration\": \"V1\",\r\n \"architecture\": + \"x64\",\r\n \"replicaType\": \"Unmanaged\",\r\n \"disallowed\": {\r\n + \ \"vmDiskType\": \"None\"\r\n },\r\n \"automaticOSUpgradeProperties\": + {\r\n \"automaticOSUpgradeSupported\": true\r\n },\r\n \"imageDeprecationStatus\": + {\r\n \"imageState\": \"Active\"\r\n },\r\n \"osDiskImage\": {\r\n + \ \"operatingSystem\": \"Linux\",\r\n \"sizeInGb\": 31,\r\n \"sizeInBytes\": + 32213303808\r\n },\r\n \"dataDiskImages\": []\r\n },\r\n \"location\": + \"eastus\",\r\n \"name\": \"18.04.202201180\",\r\n \"id\": \"/Subscriptions/00000000-0000-0000-0000-000000000000/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.202201180\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '753' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 28 Jan 2022 04:21:13 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/GetVMImageFromLocation3Min;12999,Microsoft.Compute/GetVMImageFromLocation30Min;73999 + status: + code: 200 + message: OK - request: body: null headers: @@ -155,7 +262,7 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.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_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 response: @@ -169,7 +276,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:27:28 GMT + - Fri, 28 Jan 2022 04:21:13 GMT expires: - '-1' pragma: @@ -197,9 +304,9 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-06-01 response: body: string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.OperationalInsights/workspaces/clitest000002'' @@ -209,11 +316,11 @@ interactions: cache-control: - no-cache content-length: - - '308' + - '256' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:27:30 GMT + - Fri, 28 Jan 2022 04:21:14 GMT expires: - '-1' pragma: @@ -241,21 +348,21 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001?api-version=2021-04-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-08-13T02:27:22Z"},"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":"2022-01-28T04:19:04Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '338' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:27:30 GMT + - Fri, 28 Jan 2022 04:21:15 GMT expires: - '-1' pragma: @@ -289,22 +396,22 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-06-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"b592e84d-2dc5-496a-8e88-645ee1f0ebff\",\r\n \"provisioningState\": \"Creating\",\r\n + \"59f4ec92-738e-4c60-b51c-cdf206d40f01\",\r\n \"provisioningState\": \"Creating\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Fri, 13 Aug 2021 02:27:39 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 28 Jan 2022 04:21:27 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, 13 Aug 2021 18:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Fri, 28 Jan 2022 12:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Fri, 13 Aug 2021 02:27:39 GMT\",\r\n - \ \"modifiedDate\": \"Fri, 13 Aug 2021 02:27:39 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 28 Jan 2022 04:21:26 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 28 Jan 2022 04:21:26 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}" @@ -312,11 +419,11 @@ interactions: cache-control: - no-cache content-length: - - '1133' + - '1074' content-type: - application/json date: - - Fri, 13 Aug 2021 02:27:40 GMT + - Fri, 28 Jan 2022 04:21:27 GMT pragma: - no-cache server: @@ -348,22 +455,22 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2021-06-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"b592e84d-2dc5-496a-8e88-645ee1f0ebff\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \"59f4ec92-738e-4c60-b51c-cdf206d40f01\",\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Fri, 13 Aug 2021 02:27:39 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \"Fri, 28 Jan 2022 04:21:27 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, 13 Aug 2021 18:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \"Fri, 28 Jan 2022 12:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Fri, 13 Aug 2021 02:27:39 GMT\",\r\n - \ \"modifiedDate\": \"Fri, 13 Aug 2021 02:27:40 GMT\"\r\n },\r\n \"id\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 28 Jan 2022 04:21:27 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 28 Jan 2022 04:21:28 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}" @@ -371,11 +478,11 @@ interactions: cache-control: - no-cache content-length: - - '1134' + - '1075' content-type: - application/json date: - - Fri, 13 Aug 2021 02:28:10 GMT + - Fri, 28 Jan 2022 04:22:00 GMT pragma: - no-cache server: @@ -422,7 +529,7 @@ interactions: "protectedSettings": {"workspaceKey": "[listKeys(parameters(''workspaceId''), ''2015-11-01-preview'').primarySharedKey]"}}, "name": "myvm1/OmsAgentForLinux", "location": "eastus", "dependsOn": ["Microsoft.Compute/virtualMachines/myvm1"]}, - {"apiVersion": "2021-04-01", "type": "Microsoft.Compute/virtualMachines", "name": + {"apiVersion": "2021-07-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", @@ -430,10 +537,11 @@ interactions: "fromImage", "name": null, "caching": "ReadWrite", "managedDisk": {"storageAccountType": null}}, "imageReference": {"publisher": "Canonical", "offer": "UbuntuServer", "sku": "18.04-LTS", "version": "latest"}}, "osProfile": {"computerName": "myvm1", - "adminUsername": "v-jingszhang", "linuxConfiguration": {"disablePasswordAuthentication": - true, "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDL2PtV5sp++a43U/dRJ2Fyjso9qDFNbWEnbYk7mA4CfXy0gvxm65oYVd90JysNmGBF/89hIvCTN3ul4aEIuPkzywozRbdyWiJngSd/7OrNBJzpQQSjsGXwoVNDRAJSzlvuQVUR2vwBHeN2xMIvufSvzO3LGI3xcSIWIYlSvU9urnV+Pefd4T6x/OXgTpE02AgMWOspdZTzg0ZKsSU3sG5nYSNoq+8qrHQSXLbLLdWzz5lYKe8p64fQC/xhXrNa3/Nw5vy8YGsyqGueM/Rj6gCI+ivgBlQg908Aa50yQLvwsMLIKxhgPlj73Am8zm27PS3DKVjkr0nTjbEp/3FzZnyB", - "path": "/home/v-jingszhang/.ssh/authorized_keys"}]}}}}}], "outputs": {}}, "parameters": - {"workspaceId": {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002"}}, + "adminUsername": "zhoxing", "linuxConfiguration": {"disablePasswordAuthentication": + true, "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdfdN+YWbkBS84r36yJbgfTI+Gx1W/ErinzCGvXBeO0S8F8JBc45BGTSaNmgOiqVMef3L9Dne7xUv6CwK+NaPRF23B2Sfv1VT1RWjKzgsgLAGiMvMuXA8/BfnKyQU43P6ImgXW/89E8OE9tS2TYLWiSSOjSTiCDnH+bJOw0Gqb25CLhZiahL1lS8MPuZHQaLa71GGUJS93GeBBF6eM2aFKitdFif38RsHxwY/aLlKhjwuy0XPI/4HcIHJR9uyEiFsPQXZMbFPwfvTWyRQDqS0KfxgFXtoVQgaNq74zJv94JdqDykoXYrempJU33jCC06vi39u+xZHAdAagp6e8z/WQc7fIPEOoKqNBKO3UhjXfLfHsxM9QvEiE2kL1xBekS9XrzqSvYZBi4tiSiLAYajOdI5dlv9HgvRTdCtnfF6v8iVGpwql/B1OTOn/A9uCmRIu3o9aMjsQoegqGX6e+h7omfVaExdClXOrW1Qi5l9mUSDLJgsGm1sT9nLaVJlPotFM= + Zhou.Xing@microsoft.com\n", "path": "/home/zhoxing/.ssh/authorized_keys"}]}}}, + "additionalCapabilities": {}}}], "outputs": {}}, "parameters": {"workspaceId": + {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002"}}, "mode": "incremental"}}' headers: Accept: @@ -445,29 +553,29 @@ interactions: Connection: - keep-alive Content-Length: - - '4413' + - '4399' Content-Type: - application/json ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_VzhdXwfUsaPaPOjurqGAEXuPOiTkgvLv","name":"vm_deploy_VzhdXwfUsaPaPOjurqGAEXuPOiTkgvLv","type":"Microsoft.Resources/deployments","properties":{"templateHash":"14958276402317583836","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-08-13T02:28:16.8219031Z","duration":"PT2.8240266S","correlationId":"fa3022e9-2358-47b9-84b1-5a7a6cd22523","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_rvpCSoj3JhCdSLB7L7LVXdaFXLlHiK6f","name":"vm_deploy_rvpCSoj3JhCdSLB7L7LVXdaFXLlHiK6f","type":"Microsoft.Resources/deployments","properties":{"templateHash":"6937889556856091540","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2022-01-28T04:22:08.0171267Z","duration":"PT0.0002757S","correlationId":"cb79491e-2109-4878-860b-d8a1645c9df9","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_VzhdXwfUsaPaPOjurqGAEXuPOiTkgvLv/operationStatuses/08585727851914797639?api-version=2021-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_rvpCSoj3JhCdSLB7L7LVXdaFXLlHiK6f/operationStatuses/08585582631602680286?api-version=2021-04-01 cache-control: - no-cache content-length: - - '4227' + - '3703' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:28:17 GMT + - Fri, 28 Jan 2022 04:22:09 GMT expires: - '-1' pragma: @@ -495,9 +603,9 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585727851914797639?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585582631602680286?api-version=2021-04-01 response: body: string: '{"status":"Running"}' @@ -509,7 +617,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:28:48 GMT + - Fri, 28 Jan 2022 04:22:40 GMT expires: - '-1' pragma: @@ -537,9 +645,9 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585727851914797639?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585582631602680286?api-version=2021-04-01 response: body: string: '{"status":"Running"}' @@ -551,7 +659,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:29:18 GMT + - Fri, 28 Jan 2022 04:23:10 GMT expires: - '-1' pragma: @@ -579,9 +687,9 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585727851914797639?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585582631602680286?api-version=2021-04-01 response: body: string: '{"status":"Running"}' @@ -593,7 +701,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:29:49 GMT + - Fri, 28 Jan 2022 04:23:40 GMT expires: - '-1' pragma: @@ -621,51 +729,9 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585727851914797639?api-version=2021-04-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 13 Aug 2021 02:30:20 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: 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.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (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.Resources/deployments/mock-deployment/operationStatuses/08585727851914797639?api-version=2021-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585582631602680286?api-version=2021-04-01 response: body: string: '{"status":"Succeeded"}' @@ -677,7 +743,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:50 GMT + - Fri, 28 Jan 2022 04:24:11 GMT expires: - '-1' pragma: @@ -705,21 +771,21 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2021-04-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_VzhdXwfUsaPaPOjurqGAEXuPOiTkgvLv","name":"vm_deploy_VzhdXwfUsaPaPOjurqGAEXuPOiTkgvLv","type":"Microsoft.Resources/deployments","properties":{"templateHash":"14958276402317583836","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-08-13T02:30:39.610909Z","duration":"PT2M25.6130325S","correlationId":"fa3022e9-2358-47b9-84b1-5a7a6cd22523","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_rvpCSoj3JhCdSLB7L7LVXdaFXLlHiK6f","name":"vm_deploy_rvpCSoj3JhCdSLB7L7LVXdaFXLlHiK6f","type":"Microsoft.Resources/deployments","properties":{"templateHash":"6937889556856091540","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2022-01-28T04:23:55.8465975Z","duration":"PT1M47.8297465S","correlationId":"cb79491e-2109-4878-860b-d8a1645c9df9","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' + - '4740' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:51 GMT + - Fri, 28 Jan 2022 04:24:11 GMT expires: - '-1' pragma: @@ -747,62 +813,63 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-compute/22.1.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-compute/23.1.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_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1?$expand=instanceView&api-version=2021-03-01 + 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-07-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\": \"bdc70fcf-8b00-469c-a24d-30518f579aff\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"cb776bfc-5c7f-44c5-a34b-05fa6ebcc3f7\",\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.202107200\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Linux\",\r\n \"name\": \"myvm1_disk1_5ba5ab2fb25845e1908b787f7e07d82e\",\r\n + \"18.04.202201180\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Linux\",\r\n \"name\": \"myvm1_disk1_4b99cc7931bd4ac8899766c4804e0b96\",\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_5ba5ab2fb25845e1908b787f7e07d82e\"\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\": \"v-jingszhang\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/disks/myvm1_disk1_4b99cc7931bd4ac8899766c4804e0b96\"\r\n + \ },\r\n \"deleteOption\": \"Detach\",\r\n \"diskSizeGB\": + 30\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": + {\r\n \"computerName\": \"myvm1\",\r\n \"adminUsername\": \"zhoxing\",\r\n \ \"linuxConfiguration\": {\r\n \"disablePasswordAuthentication\": true,\r\n \"ssh\": {\r\n \"publicKeys\": [\r\n {\r\n - \ \"path\": \"/home/v-jingszhang/.ssh/authorized_keys\",\r\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDL2PtV5sp++a43U/dRJ2Fyjso9qDFNbWEnbYk7mA4CfXy0gvxm65oYVd90JysNmGBF/89hIvCTN3ul4aEIuPkzywozRbdyWiJngSd/7OrNBJzpQQSjsGXwoVNDRAJSzlvuQVUR2vwBHeN2xMIvufSvzO3LGI3xcSIWIYlSvU9urnV+Pefd4T6x/OXgTpE02AgMWOspdZTzg0ZKsSU3sG5nYSNoq+8qrHQSXLbLLdWzz5lYKe8p64fQC/xhXrNa3/Nw5vy8YGsyqGueM/Rj6gCI+ivgBlQg908Aa50yQLvwsMLIKxhgPlj73Am8zm27PS3DKVjkr0nTjbEp/3FzZnyB\"\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 + \ \"path\": \"/home/zhoxing/.ssh/authorized_keys\",\r\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdfdN+YWbkBS84r36yJbgfTI+Gx1W/ErinzCGvXBeO0S8F8JBc45BGTSaNmgOiqVMef3L9Dne7xUv6CwK+NaPRF23B2Sfv1VT1RWjKzgsgLAGiMvMuXA8/BfnKyQU43P6ImgXW/89E8OE9tS2TYLWiSSOjSTiCDnH+bJOw0Gqb25CLhZiahL1lS8MPuZHQaLa71GGUJS93GeBBF6eM2aFKitdFif38RsHxwY/aLlKhjwuy0XPI/4HcIHJR9uyEiFsPQXZMbFPwfvTWyRQDqS0KfxgFXtoVQgaNq74zJv94JdqDykoXYrempJU33jCC06vi39u+xZHAdAagp6e8z/WQc7fIPEOoKqNBKO3UhjXfLfHsxM9QvEiE2kL1xBekS9XrzqSvYZBi4tiSiLAYajOdI5dlv9HgvRTdCtnfF6v8iVGpwql/B1OTOn/A9uCmRIu3o9aMjsQoegqGX6e+h7omfVaExdClXOrW1Qi5l9mUSDLJgsGm1sT9nLaVJlPotFM= + Zhou.Xing@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.3.1.1\",\r\n \"statuses\": + \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.6.0.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-08-13T02:30:35+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": + \"2022-01-28T04:23:45+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\": + \ \"typeHandlerVersion\": \"1.14.9\",\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_5ba5ab2fb25845e1908b787f7e07d82e\",\r\n + \ \"disks\": [\r\n {\r\n \"name\": \"myvm1_disk1_4b99cc7931bd4ac8899766c4804e0b96\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-08-13T02:28:42.8804033+00:00\"\r\n + succeeded\",\r\n \"time\": \"2022-01-28T04:22:32.7647937+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\": + \"1.14.9\",\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-08-13T02:30:38.006282+00:00\"\r\n },\r\n + \ \"time\": \"2022-01-28T04:23:51.5308573+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\": @@ -811,17 +878,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\":\"b592e84d-2dc5-496a-8e88-645ee1f0ebff\",\"stopOnMultipleConnections\":\"true\"}\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": {\"workspaceId\":\"59f4ec92-738e-4c60-b51c-cdf206d40f01\",\"stopOnMultipleConnections\":\"true\"}\r\n \ }\r\n }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '5532' + - '5539' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:52 GMT + - Fri, 28 Jan 2022 04:24:13 GMT expires: - '-1' pragma: @@ -838,7 +905,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3987,Microsoft.Compute/LowCostGet30Min;31959 + - Microsoft.Compute/LowCostGet3Min;3994,Microsoft.Compute/LowCostGet30Min;31990 status: code: 200 message: OK @@ -856,18 +923,18 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.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_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/\\\"6987e672-63cc-46cc-add0-e3ea9df536f4\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"abe1cd82-5301-4218-895b-070760be9bb0\\\"\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"c41ed55e-4998-4c89-bc86-2b6b8b4ccdb5\",\r\n + \"Succeeded\",\r\n \"resourceGuid\": \"29b0ba8f-6d88-4cb6-8410-8ece19551288\",\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/\\\"6987e672-63cc-46cc-add0-e3ea9df536f4\\\"\",\r\n + \ \"etag\": \"W/\\\"abe1cd82-5301-4218-895b-070760be9bb0\\\"\",\r\n \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -876,8 +943,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\": - \"g1jbnjcztsfehiwowli5jxlgig.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": - \"00-22-48-1D-A2-3F\",\r\n \"enableAcceleratedNetworking\": false,\r\n + \"k0s3f0iakcvu1p53frmptnxhrc.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": + \"00-22-48-2B-4D-00\",\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\": @@ -887,13 +954,13 @@ interactions: cache-control: - no-cache content-length: - - '2588' + - '2318' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:53 GMT + - Fri, 28 Jan 2022 04:24:13 GMT etag: - - W/"6987e672-63cc-46cc-add0-e3ea9df536f4" + - W/"abe1cd82-5301-4218-895b-070760be9bb0" expires: - '-1' pragma: @@ -910,7 +977,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1133f0e9-8132-439b-8c3f-13785c9ecdab + - 99f63d96-92af-4ccf-b7ff-3255d5b30027 status: code: 200 message: OK @@ -928,16 +995,16 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.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_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/\\\"0be9cfae-4aac-4961-a79b-7566d5a1cc4e\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"a0aa499b-c434-4157-845b-5dbf4350a037\\\"\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"63e43d99-2d03-4d1c-b30d-210ce0dce296\",\r\n - \ \"ipAddress\": \"20.185.37.136\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n + \"Succeeded\",\r\n \"resourceGuid\": \"a0be1600-1b0a-4e38-b524-e2a6bb6ce2fd\",\r\n + \ \"ipAddress\": \"20.124.198.85\",\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 @@ -946,13 +1013,13 @@ interactions: cache-control: - no-cache content-length: - - '1005' + - '915' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:53 GMT + - Fri, 28 Jan 2022 04:24:14 GMT etag: - - W/"0be9cfae-4aac-4961-a79b-7566d5a1cc4e" + - W/"a0aa499b-c434-4157-845b-5dbf4350a037" expires: - '-1' pragma: @@ -969,7 +1036,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 237a24d3-401c-4877-bc8f-77d1b620917a + - 1ea4e5bb-29d2-410f-bf0b-ed3a1df46664 status: code: 200 message: OK @@ -991,21 +1058,21 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_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-08-13T02%3A30%3A54.9258500Z''\"","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''2022-01-28T04%3A24%3A15.8278911Z''\"","name":"DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '583' + - '531' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:55 GMT + - Fri, 28 Jan 2022 04:24:15 GMT expires: - '-1' pragma: @@ -1021,7 +1088,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -1048,23 +1115,23 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_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-08-13T02%3A30%3A55.6702903Z''\"","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''2022-01-28T04%3A24%3A16.4696492Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '749' + - '697' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:55 GMT + - Fri, 28 Jan 2022 04:24:15 GMT expires: - '-1' pragma: @@ -1080,7 +1147,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' x-powered-by: - ASP.NET status: @@ -1106,22 +1173,22 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_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-08-13T02%3A30%3A56.3579003Z''\"","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''2022-01-28T04%3A24%3A17.2572372Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '713' + - '661' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:56 GMT + - Fri, 28 Jan 2022 04:24:16 GMT expires: - '-1' pragma: @@ -1137,7 +1204,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' x-powered-by: - ASP.NET status: @@ -1165,7 +1232,7 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004?api-version=2020-08-01 response: @@ -1173,16 +1240,16 @@ 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-08-13T02%3A30%3A57.0604291Z''\"","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''2022-01-28T04%3A24%3A17.9743247Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '845' + - '793' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:57 GMT + - Fri, 28 Jan 2022 04:24:17 GMT expires: - '-1' pragma: @@ -1198,7 +1265,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1196' x-powered-by: - ASP.NET status: @@ -1224,22 +1291,22 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_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-08-13T02%3A30%3A57.7956829Z''\"","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''2022-01-28T04%3A24%3A18.7667825Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '721' + - '669' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:57 GMT + - Fri, 28 Jan 2022 04:24:19 GMT expires: - '-1' pragma: @@ -1255,7 +1322,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1195' x-powered-by: - ASP.NET status: @@ -1279,21 +1346,21 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_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-08-13T02%3A30%3A58.5189599Z''\"","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''2022-01-28T04%3A24%3A19.5222547Z''\"","name":"DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '568' + - '516' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:58 GMT + - Fri, 28 Jan 2022 04:24:20 GMT expires: - '-1' pragma: @@ -1309,7 +1376,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1194' x-powered-by: - ASP.NET status: @@ -1334,21 +1401,21 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-loganalytics/11.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-loganalytics/12.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_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-08-13T02%3A30%3A59.2730824Z''\"","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''2022-01-28T04%3A24%3A20.4991842Z''\"","name":"DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache content-length: - - '626' + - '574' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:30:59 GMT + - Fri, 28 Jan 2022 04:24:20 GMT expires: - '-1' pragma: @@ -1364,7 +1431,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1193' x-powered-by: - ASP.NET status: @@ -1384,21 +1451,21 @@ interactions: ParameterSetName: - -g -n --scopes --condition --condition-query --description User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001?api-version=2021-04-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-08-13T02:27:22Z"},"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":"2022-01-28T04:19:04Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '338' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:00 GMT + - Fri, 28 Jan 2022 04:27:22 GMT expires: - '-1' pragma: @@ -1431,29 +1498,29 @@ interactions: Connection: - keep-alive Content-Length: - - '783' + - '738' Content-Type: - application/json ParameterSetName: - -g -n --scopes --condition --condition-query --description User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-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-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:06.7668957Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:06.7668957Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:29.2470432Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:29.2470432Z"},"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: - - '1199' + - '1099' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:14 GMT + - Fri, 28 Jan 2022 04:27:36 GMT expires: - '-1' pragma: @@ -1471,7 +1538,7 @@ interactions: x-rate-limit-remaining: - '14' x-rate-limit-reset: - - '2021-08-13T02:35:06.7749703Z' + - '2022-01-28T04:28:29.2507144Z' status: code: 201 message: Created @@ -1489,21 +1556,21 @@ interactions: ParameterSetName: - -g -n --scopes --condition --description User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001?api-version=2021-04-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-08-13T02:27:22Z"},"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":"2022-01-28T04:19:04Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '338' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:15 GMT + - Fri, 28 Jan 2022 04:27:37 GMT expires: - '-1' pragma: @@ -1536,29 +1603,29 @@ interactions: Connection: - keep-alive Content-Length: - - '768' + - '723' Content-Type: - application/json ParameterSetName: - -g -n --scopes --condition --description User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq02?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq02?api-version=2021-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:18.3768984Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:18.3768984Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:42.9354861Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:42.9354861Z"},"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}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '1182' + - '1082' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:22 GMT + - Fri, 28 Jan 2022 04:27:47 GMT expires: - '-1' pragma: @@ -1570,13 +1637,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-rate-limit-limit: - 1m x-rate-limit-remaining: - '14' x-rate-limit-reset: - - '2021-08-13T02:35:18.3837161Z' + - '2022-01-28T04:28:43.7670603Z' status: code: 201 message: Created @@ -1595,23 +1662,23 @@ interactions: - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency --window-size User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-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-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:06.7668957Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:06.7668957Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:29.2470432Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:29.2470432Z"},"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: - - '1199' + - '1099' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:23 GMT + - Fri, 28 Jan 2022 04:27:48 GMT expires: - '-1' pragma: @@ -1626,6 +1693,12 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-rate-limit-limit: + - 1m + x-rate-limit-remaining: + - '49' + x-rate-limit-reset: + - '2022-01-28T04:28:48.8160279Z' status: code: 200 message: OK @@ -1648,30 +1721,30 @@ interactions: Connection: - keep-alive Content-Length: - - '755' + - '710' Content-Type: - application/json ParameterSetName: - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency --window-size User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-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-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:06.7668957Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:24.411898Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:29.2470432Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:49.4972395Z"},"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: - - '1225' + - '1126' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:25 GMT + - Fri, 28 Jan 2022 04:27:50 GMT expires: - '-1' pragma: @@ -1687,13 +1760,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' x-rate-limit-limit: - 1m x-rate-limit-remaining: - '13' x-rate-limit-reset: - - '2021-08-13T02:35:06.7749703Z' + - '2022-01-28T04:28:29.2507144Z' status: code: 200 message: OK @@ -1711,23 +1784,23 @@ interactions: ParameterSetName: - -g -n --mad --auto-mitigate --skip-query-validation User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-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-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:06.7668957Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:24.411898Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:29.2470432Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:49.4972395Z"},"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: - - '1225' + - '1126' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:26 GMT + - Fri, 28 Jan 2022 04:27:51 GMT expires: - '-1' pragma: @@ -1742,6 +1815,12 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-rate-limit-limit: + - 1m + x-rate-limit-remaining: + - '49' + x-rate-limit-reset: + - '2022-01-28T04:28:51.9201616Z' status: code: 200 message: OK @@ -1764,29 +1843,29 @@ interactions: Connection: - keep-alive Content-Length: - - '786' + - '741' Content-Type: - application/json ParameterSetName: - -g -n --mad --auto-mitigate --skip-query-validation User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-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-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:06.7668957Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:27.6640127Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:29.2470432Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:52.6372721Z"},"properties":{"description":"Test rule 2","severity":4,"enabled":true,"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":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":true}}' headers: cache-control: - no-cache content-length: - - '1255' + - '1155' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:31 GMT + - Fri, 28 Jan 2022 04:27:55 GMT expires: - '-1' pragma: @@ -1808,16 +1887,16 @@ interactions: x-rate-limit-remaining: - '14' x-rate-limit-reset: - - '2021-08-13T02:35:28.2983691Z' + - '2022-01-28T04:28:52.6126925Z' status: code: 200 message: OK - request: - body: '{"location": "global", "properties": {"groupShortName": "clitest3gwg3", + body: '{"location": "global", "properties": {"groupShortName": "clitest4mavl", "enabled": true, "emailReceivers": [], "smsReceivers": [], "webhookReceivers": [], "itsmReceivers": [], "azureAppPushReceivers": [], "automationRunbookReceivers": [], "voiceReceivers": [], "logicAppReceivers": [], "azureFunctionReceivers": - [], "armRoleReceivers": []}}' + [], "armRoleReceivers": [], "eventHubReceivers": []}}' headers: Accept: - application/json @@ -1828,27 +1907,27 @@ interactions: Connection: - keep-alive Content-Length: - - '340' + - '365' Content-Type: - application/json ParameterSetName: - -n -g User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-monitor/2.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-monitor/3.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_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000003?api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/actionGroups/clitest000003?api-version=2021-09-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000003","type":"Microsoft.Insights/ActionGroups","name":"clitest000003","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"clitest3gwg3","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[],"armRoleReceivers":[]},"identity":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000003","type":"Microsoft.Insights/ActionGroups","name":"clitest000003","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"clitest4mavl","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"eventHubReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[],"armRoleReceivers":[]},"identity":null}' headers: cache-control: - no-cache content-length: - - '638' + - '602' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:41 GMT + - Fri, 28 Jan 2022 04:28:04 GMT expires: - '-1' pragma: @@ -1865,11 +1944,11 @@ interactions: code: 201 message: Created - request: - body: '{"location": "global", "properties": {"groupShortName": "clitest3cfsd", + body: '{"location": "global", "properties": {"groupShortName": "clitest4dg5w", "enabled": true, "emailReceivers": [], "smsReceivers": [], "webhookReceivers": [], "itsmReceivers": [], "azureAppPushReceivers": [], "automationRunbookReceivers": [], "voiceReceivers": [], "logicAppReceivers": [], "azureFunctionReceivers": - [], "armRoleReceivers": []}}' + [], "armRoleReceivers": [], "eventHubReceivers": []}}' headers: Accept: - application/json @@ -1880,27 +1959,27 @@ interactions: Connection: - keep-alive Content-Length: - - '340' + - '365' Content-Type: - application/json ParameterSetName: - -n -g User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-monitor/2.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-monitor/3.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_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000004?api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/actionGroups/clitest000004?api-version=2021-09-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000004","type":"Microsoft.Insights/ActionGroups","name":"clitest000004","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"clitest3cfsd","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[],"armRoleReceivers":[]},"identity":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000004","type":"Microsoft.Insights/ActionGroups","name":"clitest000004","location":"Global","kind":null,"tags":null,"properties":{"groupShortName":"clitest4dg5w","enabled":true,"emailReceivers":[],"smsReceivers":[],"webhookReceivers":[],"eventHubReceivers":[],"itsmReceivers":[],"azureAppPushReceivers":[],"automationRunbookReceivers":[],"voiceReceivers":[],"logicAppReceivers":[],"azureFunctionReceivers":[],"armRoleReceivers":[]},"identity":null}' headers: cache-control: - no-cache content-length: - - '638' + - '602' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:47 GMT + - Fri, 28 Jan 2022 04:28:10 GMT expires: - '-1' pragma: @@ -1912,7 +1991,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '24' + - '23' status: code: 201 message: Created @@ -1930,21 +2009,21 @@ interactions: ParameterSetName: - -g -n --scopes --condition --description --action-groups --custom-properties User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.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_test_scheduled_query000001?api-version=2021-04-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-08-13T02:27:22Z"},"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":"2022-01-28T04:19:04Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '338' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:48 GMT + - Fri, 28 Jan 2022 04:28:10 GMT expires: - '-1' pragma: @@ -1978,29 +2057,29 @@ interactions: Connection: - keep-alive Content-Length: - - '985' + - '888' Content-Type: - application/json ParameterSetName: - -g -n --scopes --condition --description --action-groups --custom-properties User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq03?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq03?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:55.7368901Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:55.7368901Z"},"properties":{"description":"Test + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:28:17.6869819Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:28:17.6869819Z"},"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}}]},"autoMitigate":true,"actions":{"actionGroups":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000003"],"customProperties":{"k1":"v1"}},"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '1450' + - '1298' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:34:59 GMT + - Fri, 28 Jan 2022 04:28:21 GMT expires: - '-1' pragma: @@ -2012,13 +2091,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1192' x-rate-limit-limit: - 1m x-rate-limit-remaining: - '14' x-rate-limit-reset: - - '2021-08-13T02:35:55.9873765Z' + - '2022-01-28T04:29:17.7848835Z' status: code: 201 message: Created @@ -2036,23 +2115,23 @@ interactions: ParameterSetName: - -g -n --action-groups --custom-properties User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq03?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq03?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:55.7368901Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:55.7368901Z"},"properties":{"description":"Test + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:28:17.6869819Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:28:17.6869819Z"},"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}}]},"autoMitigate":true,"actions":{"actionGroups":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000003"],"customProperties":{"k1":"v1"}},"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '1450' + - '1298' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:35:00 GMT + - Fri, 28 Jan 2022 04:28:22 GMT expires: - '-1' pragma: @@ -2067,6 +2146,12 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-rate-limit-limit: + - 1m + x-rate-limit-remaining: + - '49' + x-rate-limit-reset: + - '2022-01-28T04:29:23.0457673Z' status: code: 200 message: OK @@ -2090,29 +2175,29 @@ interactions: Connection: - keep-alive Content-Length: - - '985' + - '888' Content-Type: - application/json ParameterSetName: - -g -n --action-groups --custom-properties User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq03?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq03?api-version=2021-08-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:55.7368901Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:35:01.6019148Z"},"properties":{"description":"Test + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:28:17.6869819Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:28:23.8511676Z"},"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}}]},"autoMitigate":true,"actions":{"actionGroups":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000004"],"customProperties":{"k2":"v2"}},"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '1450' + - '1298' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:35:03 GMT + - Fri, 28 Jan 2022 04:28:27 GMT expires: - '-1' pragma: @@ -2128,13 +2213,13 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' x-rate-limit-limit: - 1m x-rate-limit-remaining: - '14' x-rate-limit-reset: - - '2021-08-13T02:36:01.6075341Z' + - '2022-01-28T04:29:23.8626320Z' status: code: 200 message: OK @@ -2152,23 +2237,23 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-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-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:06.7668957Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:27.6640127Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:29.2470432Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:52.6372721Z"},"properties":{"description":"Test rule 2","severity":4,"enabled":true,"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":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":true}}' headers: cache-control: - no-cache content-length: - - '1255' + - '1155' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:35:04 GMT + - Fri, 28 Jan 2022 04:28:28 GMT expires: - '-1' pragma: @@ -2183,6 +2268,12 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-rate-limit-limit: + - 1m + x-rate-limit-remaining: + - '49' + x-rate-limit-reset: + - '2022-01-28T04:29:29.1078538Z' status: code: 200 message: OK @@ -2200,27 +2291,27 @@ interactions: ParameterSetName: - -g User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules?api-version=2021-02-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-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:06.7668957Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:27.6640127Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:29.2470432Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:52.6372721Z"},"properties":{"description":"Test rule 2","severity":4,"enabled":true,"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":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":true}},{"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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:18.3768984Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:18.3768984Z"},"properties":{"description":"Test + 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":true}},{"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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:42.9354861Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:42.9354861Z"},"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}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:55.7368901Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:35:01.6019148Z"},"properties":{"description":"Test + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:28:17.6869819Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:28:23.8511676Z"},"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}}]},"autoMitigate":true,"actions":{"actionGroups":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000004"],"customProperties":{"k2":"v2"}},"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}]}' headers: cache-control: - no-cache content-length: - - '3901' + - '3549' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:35:05 GMT + - Fri, 28 Jan 2022 04:28:29 GMT expires: - '-1' pragma: @@ -2235,6 +2326,12 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-rate-limit-limit: + - 1m + x-rate-limit-remaining: + - '49' + x-rate-limit-reset: + - '2022-01-28T04:29:29.9341053Z' status: code: 200 message: OK @@ -2250,27 +2347,27 @@ interactions: Connection: - keep-alive User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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.Insights/scheduledQueryRules?api-version=2021-02-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/scheduledQueryRules?api-version=2021-08-01 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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:06.7668957Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:27.6640127Z"},"properties":{"description":"Test + 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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:29.2470432Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:52.6372721Z"},"properties":{"description":"Test rule 2","severity":4,"enabled":true,"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":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":true}},{"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","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:18.3768984Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:34:18.3768984Z"},"properties":{"description":"Test + 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":true}},{"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","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:27:42.9354861Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:27:42.9354861Z"},"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}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"v-jingszhang@microsoft.com","createdByType":"User","createdAt":"2021-08-13T02:34:55.7368901Z","lastModifiedBy":"v-jingszhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-08-13T02:35:01.6019148Z"},"properties":{"description":"Test + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq03","name":"sq03","type":"microsoft.insights/scheduledqueryrules","location":"eastus","systemData":{"createdBy":"zhoxing@microsoft.com","createdByType":"User","createdAt":"2022-01-28T04:28:17.6869819Z","lastModifiedBy":"zhoxing@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-28T04:28:23.8511676Z"},"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}}]},"autoMitigate":true,"actions":{"actionGroups":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/actionGroups/clitest000004"],"customProperties":{"k2":"v2"}},"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}]}' headers: cache-control: - no-cache content-length: - - '3901' + - '3549' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:35:06 GMT + - Fri, 28 Jan 2022 04:28:29 GMT expires: - '-1' pragma: @@ -2304,9 +2401,9 @@ interactions: ParameterSetName: - -g -n -y User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.1 (Windows-10-10.0.19041-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=2021-02-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-08-01 response: body: string: '' @@ -2316,7 +2413,7 @@ interactions: content-length: - '0' date: - - Fri, 13 Aug 2021 02:35:16 GMT + - Fri, 28 Jan 2022 04:28:41 GMT expires: - '-1' pragma: @@ -2328,7 +2425,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 200 message: OK @@ -2346,9 +2443,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-monitor/1.0.0b1 Python/3.8.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-mgmt-monitor/1.0.0b1 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_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-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-08-01 response: body: string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Insights/scheduledqueryrules/sq01'' @@ -2358,11 +2455,11 @@ interactions: cache-control: - no-cache content-length: - - '290' + - '245' content-type: - application/json; charset=utf-8 date: - - Fri, 13 Aug 2021 02:35:16 GMT + - Fri, 28 Jan 2022 04:28:42 GMT expires: - '-1' pragma: 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 d8247951009..ec9090a57df 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 @@ -12,8 +12,7 @@ __version__ = VERSION __all__ = ['MonitorManagementClient'] -try: - from ._patch import patch_sdk # type: ignore - patch_sdk() -except ImportError: - pass +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() 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 7ce16fb9f28..6dfdd4bcb7f 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 @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy from ._version import VERSION @@ -40,15 +40,15 @@ def __init__( **kwargs # type: Any ): # type: (...) -> None + super(MonitorManagementClientConfiguration, self).__init__(**kwargs) 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(MonitorManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-02-01-preview" + self.api_version = "2021-08-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-monitor/{}'.format(VERSION)) self._configure(**kwargs) @@ -68,4 +68,4 @@ def _configure( 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) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) 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 index 5dbe0e76d8d..83735c3dfab 100644 --- 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 @@ -6,73 +6,81 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from copy import deepcopy from typing import TYPE_CHECKING from azure.mgmt.core import ARMPipelineClient from msrest import Deserializer, Serializer +from . import models +from ._configuration import MonitorManagementClientConfiguration +from .operations import ScheduledQueryRulesOperations + 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 - + from azure.core.rest import HttpRequest, HttpResponse class MonitorManagementClient(object): """Monitor Management Client. :ivar scheduled_query_rules: ScheduledQueryRulesOperations operations - :vartype scheduled_query_rules: $(python-base-namespace).v2021_02_preview.operations.ScheduledQueryRulesOperations + :vartype scheduled_query_rules: + $(python-base-namespace).v2021_08_01.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 + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str """ def __init__( self, credential, # type: "TokenCredential" subscription_id, # type: str - base_url=None, # type: Optional[str] + base_url="https://management.azure.com", # type: str **kwargs # type: Any ): # type: (...) -> None - if not base_url: - base_url = 'https://management.azure.com' - self._config = MonitorManagementClientConfiguration(credential, subscription_id, **kwargs) + self._config = MonitorManagementClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.scheduled_query_rules = ScheduledQueryRulesOperations(self._client, self._config, self._serialize, self._deserialize) - self.scheduled_query_rules = ScheduledQueryRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - def _send_request(self, http_request, **kwargs): - # type: (HttpRequest, Any) -> HttpResponse + def _send_request( + self, + request, # type: HttpRequest + **kwargs # type: Any + ): + # type: (...) -> 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. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.pipeline.transport.HttpResponse + :rtype: ~azure.core.rest.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 + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) def close(self): # type: () -> None diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_patch.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_vendor.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/__init__.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/__init__.py index 96ce9b45c05..4eba911f1c6 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/__init__.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/__init__.py @@ -8,3 +8,8 @@ from ._monitor_management_client import MonitorManagementClient __all__ = ['MonitorManagementClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_configuration.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_configuration.py index 0e2854d9ff4..0345ea4da31 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_configuration.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_configuration.py @@ -10,7 +10,7 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy from .._version import VERSION @@ -37,15 +37,15 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(MonitorManagementClientConfiguration, self).__init__(**kwargs) 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(MonitorManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2021-02-01-preview" + self.api_version = "2021-08-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-monitor/{}'.format(VERSION)) self._configure(**kwargs) @@ -64,4 +64,4 @@ def _configure( 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) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_monitor_management_client.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_monitor_management_client.py index 78e116427b2..1500a5e4dd2 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_monitor_management_client.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_monitor_management_client.py @@ -6,69 +6,77 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Optional, TYPE_CHECKING +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING -from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.rest 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 .. import models from ._configuration import MonitorManagementClientConfiguration from .operations import ScheduledQueryRulesOperations -from .. import models +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential -class MonitorManagementClient(object): +class MonitorManagementClient: """Monitor Management Client. :ivar scheduled_query_rules: ScheduledQueryRulesOperations operations - :vartype scheduled_query_rules: $(python-base-namespace).v2021_02_preview.aio.operations.ScheduledQueryRulesOperations + :vartype scheduled_query_rules: + $(python-base-namespace).v2021_08_01.aio.operations.ScheduledQueryRulesOperations :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 + :param base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str """ def __init__( self, credential: "AsyncTokenCredential", subscription_id: str, - base_url: Optional[str] = None, + base_url: str = "https://management.azure.com", **kwargs: Any ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = MonitorManagementClientConfiguration(credential, subscription_id, **kwargs) + self._config = MonitorManagementClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.scheduled_query_rules = ScheduledQueryRulesOperations(self._client, self._config, self._serialize, self._deserialize) - self.scheduled_query_rules = ScheduledQueryRulesOperations( - self._client, self._config, self._serialize, self._deserialize) - async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[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. + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.pipeline.transport.AsyncHttpResponse + :rtype: ~azure.core.rest.AsyncHttpResponse """ - 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 = await self._client._pipeline.run(http_request, stream=stream, **kwargs) - return pipeline_response.http_response + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) async def close(self) -> None: await self._client.close() diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_patch.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/operations/_scheduled_query_rules_operations.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/operations/_scheduled_query_rules_operations.py index 8a75626115d..11b002adc77 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/operations/_scheduled_query_rules_operations.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/aio/operations/_scheduled_query_rules_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._scheduled_query_rules_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_by_resource_group_request, build_list_by_subscription_request, build_update_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class ScheduledQueryRulesOperations: 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_preview.models + :type models: ~$(python-base-namespace).v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +46,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list_by_subscription( self, **kwargs: Any @@ -48,8 +54,10 @@ def list_by_subscription( """Retrieve a scheduled query rule definitions 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 ScheduledQueryRuleResourceCollection or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleResourceCollection] + :return: An iterator like instance of either ScheduledQueryRuleResourceCollection or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResourceCollection] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResourceCollection"] @@ -57,38 +65,33 @@ def list_by_subscription( 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'] # 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) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + template_url=self.list_by_subscription.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ScheduledQueryRuleResourceCollection', pipeline_response) + deserialized = self._deserialize("ScheduledQueryRuleResourceCollection", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, AsyncList(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) @@ -97,17 +100,19 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) 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.Insights/scheduledQueryRules'} # type: ignore + @distributed_trace def list_by_resource_group( self, resource_group_name: str, @@ -118,8 +123,10 @@ def list_by_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 ScheduledQueryRuleResourceCollection or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleResourceCollection] + :return: An iterator like instance of either ScheduledQueryRuleResourceCollection or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResourceCollection] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResourceCollection"] @@ -127,39 +134,35 @@ def list_by_resource_group( 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'] # 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), - } - url = self._client.format_url(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) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ScheduledQueryRuleResourceCollection', pipeline_response) + deserialized = self._deserialize("ScheduledQueryRuleResourceCollection", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, AsyncList(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) @@ -168,17 +171,19 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) 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.Insights/scheduledQueryRules'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, @@ -193,7 +198,7 @@ async def get( :type rule_name: str :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_preview.models.ScheduledQueryRuleResource + :rtype: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] @@ -201,33 +206,23 @@ async def get( 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'] # 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), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + rule_name=rule_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorContract, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) @@ -236,8 +231,11 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, @@ -252,10 +250,10 @@ async def create_or_update( :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: ~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleResource + :type parameters: ~$(python-base-namespace).v2021_08_01.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_preview.models.ScheduledQueryRuleResource + :rtype: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] @@ -263,38 +261,28 @@ async def create_or_update( 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'] # 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), - 'ruleName': self._serialize.url("rule_name", rule_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ScheduledQueryRuleResource') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + rule_name=rule_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 = 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.ErrorContract, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -307,8 +295,11 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + + @distributed_trace_async async def update( self, resource_group_name: str, @@ -323,10 +314,10 @@ async def update( :param rule_name: The name of the rule. :type rule_name: str :param parameters: The parameters of the rule to update. - :type parameters: ~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleResourcePatch + :type parameters: ~$(python-base-namespace).v2021_08_01.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_preview.models.ScheduledQueryRuleResource + :rtype: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] @@ -334,38 +325,28 @@ async def update( 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'] # 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), - 'ruleName': self._serialize.url("rule_name", rule_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ScheduledQueryRuleResourcePatch') - # 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') + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + rule_name=rule_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 = 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.ErrorContract, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) @@ -374,8 +355,11 @@ async def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, @@ -398,36 +382,27 @@ async def delete( 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'] # 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), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + rule_name=rule_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorContract, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_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.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + 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 ba9ddba3519..269b6139fc3 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 @@ -13,10 +13,10 @@ class Actions(msrest.serialization.Model): """Actions to invoke when the alert fires. - :param action_groups: Action Group resource Ids to invoke when the alert fires. - :type action_groups: list[str] - :param custom_properties: The properties of an alert payload. - :type custom_properties: dict[str, str] + :ivar action_groups: Action Group resource Ids to invoke when the alert fires. + :vartype action_groups: list[str] + :ivar custom_properties: The properties of an alert payload. + :vartype custom_properties: dict[str, str] """ _attribute_map = { @@ -28,6 +28,12 @@ def __init__( self, **kwargs ): + """ + :keyword action_groups: Action Group resource Ids to invoke when the alert fires. + :paramtype action_groups: list[str] + :keyword custom_properties: The properties of an alert payload. + :paramtype custom_properties: dict[str, str] + """ super(Actions, self).__init__(**kwargs) self.action_groups = kwargs.get('action_groups', None) self.custom_properties = kwargs.get('custom_properties', None) @@ -36,34 +42,32 @@ def __init__( class Condition(msrest.serialization.Model): """A condition of the scheduled query rule. - :param query: Log query alert. - :type query: str - :param time_aggregation: Aggregation type. Relevant and required only for rules of the kind + :ivar query: Log query alert. + :vartype query: str + :ivar time_aggregation: 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 - ~$(python-base-namespace).v2021_02_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. Relevant only for rules of the kind LogAlert. - :type resource_id_column: str - :param dimensions: List of Dimensions conditions. - :type dimensions: list[~$(python-base-namespace).v2021_02_preview.models.Dimension] - :param operator: The criteria operator. Relevant and required only for rules of the kind + :vartype time_aggregation: str or ~$(python-base-namespace).v2021_08_01.models.TimeAggregation + :ivar metric_measure_column: The column containing the metric measure number. Relevant only for + rules of the kind LogAlert. + :vartype metric_measure_column: str + :ivar 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. + :vartype resource_id_column: str + :ivar dimensions: List of Dimensions conditions. + :vartype dimensions: list[~$(python-base-namespace).v2021_08_01.models.Dimension] + :ivar operator: 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_preview.models.ConditionOperator - :param threshold: the criteria threshold value that activates the alert. Relevant and required + :vartype operator: str or ~$(python-base-namespace).v2021_08_01.models.ConditionOperator + :ivar threshold: 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 + :vartype threshold: float + :ivar 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: - ~$(python-base-namespace).v2021_02_preview.models.ConditionFailingPeriods - :param metric_name: The name of the metric to be sent. Relevant and required only for rules of + :vartype failing_periods: ~$(python-base-namespace).v2021_08_01.models.ConditionFailingPeriods + :ivar metric_name: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric. - :type metric_name: str + :vartype metric_name: str """ _attribute_map = { @@ -82,6 +86,36 @@ def __init__( self, **kwargs ): + """ + :keyword query: Log query alert. + :paramtype query: str + :keyword time_aggregation: Aggregation type. Relevant and required only for rules of the kind + LogAlert. Possible values include: "Count", "Average", "Minimum", "Maximum", "Total". + :paramtype time_aggregation: str or + ~$(python-base-namespace).v2021_08_01.models.TimeAggregation + :keyword metric_measure_column: The column containing the metric measure number. Relevant only + for rules of the kind LogAlert. + :paramtype metric_measure_column: str + :keyword 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. + :paramtype resource_id_column: str + :keyword dimensions: List of Dimensions conditions. + :paramtype dimensions: list[~$(python-base-namespace).v2021_08_01.models.Dimension] + :keyword operator: The criteria operator. Relevant and required only for rules of the kind + LogAlert. Possible values include: "Equals", "GreaterThan", "GreaterThanOrEqual", "LessThan", + "LessThanOrEqual". + :paramtype operator: str or ~$(python-base-namespace).v2021_08_01.models.ConditionOperator + :keyword threshold: the criteria threshold value that activates the alert. Relevant and + required only for rules of the kind LogAlert. + :paramtype threshold: float + :keyword 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. + :paramtype failing_periods: + ~$(python-base-namespace).v2021_08_01.models.ConditionFailingPeriods + :keyword metric_name: The name of the metric to be sent. Relevant and required only for rules + of the kind LogToMetric. + :paramtype metric_name: str + """ super(Condition, self).__init__(**kwargs) self.query = kwargs.get('query', None) self.time_aggregation = kwargs.get('time_aggregation', None) @@ -97,13 +131,13 @@ def __init__( 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: long - :param min_failing_periods_to_alert: The number of violations to trigger an alert. Should be + :ivar 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. + :vartype number_of_evaluation_periods: long + :ivar 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 + :vartype min_failing_periods_to_alert: long """ _attribute_map = { @@ -115,6 +149,15 @@ def __init__( self, **kwargs ): + """ + :keyword 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. + :paramtype number_of_evaluation_periods: long + :keyword min_failing_periods_to_alert: The number of violations to trigger an alert. Should be + smaller or equal to numberOfEvaluationPeriods. Default value is 1. + :paramtype min_failing_periods_to_alert: long + """ super(ConditionFailingPeriods, self).__init__(**kwargs) 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) @@ -125,13 +168,13 @@ class Dimension(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param name: Required. Name of the dimension. - :type name: str - :param operator: Required. Operator for dimension values. Possible values include: "Include", + :ivar name: Required. Name of the dimension. + :vartype name: str + :ivar operator: Required. Operator for dimension values. Possible values include: "Include", "Exclude". - :type operator: str or ~$(python-base-namespace).v2021_02_preview.models.DimensionOperator - :param values: Required. List of dimension values. - :type values: list[str] + :vartype operator: str or ~$(python-base-namespace).v2021_08_01.models.DimensionOperator + :ivar values: Required. List of dimension values. + :vartype values: list[str] """ _validation = { @@ -150,6 +193,15 @@ def __init__( self, **kwargs ): + """ + :keyword name: Required. Name of the dimension. + :paramtype name: str + :keyword operator: Required. Operator for dimension values. Possible values include: "Include", + "Exclude". + :paramtype operator: str or ~$(python-base-namespace).v2021_08_01.models.DimensionOperator + :keyword values: Required. List of dimension values. + :paramtype values: list[str] + """ super(Dimension, self).__init__(**kwargs) self.name = kwargs['name'] self.operator = kwargs['operator'] @@ -181,6 +233,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None @@ -189,8 +243,8 @@ def __init__( class ErrorContract(msrest.serialization.Model): """Describes the format of Error response. - :param error: The error details. - :type error: ~$(python-base-namespace).v2021_02_preview.models.ErrorResponse + :ivar error: The error details. + :vartype error: ~$(python-base-namespace).v2021_08_01.models.ErrorResponse """ _attribute_map = { @@ -201,6 +255,10 @@ def __init__( self, **kwargs ): + """ + :keyword error: The error details. + :paramtype error: ~$(python-base-namespace).v2021_08_01.models.ErrorResponse + """ super(ErrorContract, self).__init__(**kwargs) self.error = kwargs.get('error', None) @@ -217,10 +275,10 @@ class ErrorResponse(msrest.serialization.Model): :ivar target: The error target. :vartype target: str :ivar details: The error details. - :vartype details: list[~$(python-base-namespace).v2021_02_preview.models.ErrorResponse] + :vartype details: list[~$(python-base-namespace).v2021_08_01.models.ErrorResponse] :ivar additional_info: The error additional info. :vartype additional_info: - list[~$(python-base-namespace).v2021_02_preview.models.ErrorAdditionalInfo] + list[~$(python-base-namespace).v2021_08_01.models.ErrorAdditionalInfo] """ _validation = { @@ -243,6 +301,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorResponse, self).__init__(**kwargs) self.code = None self.message = None @@ -282,6 +342,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -291,8 +353,8 @@ def __init__( 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[~$(python-base-namespace).v2021_02_preview.models.Condition] + :ivar all_of: A list of conditions to evaluate against the specified scopes. + :vartype all_of: list[~$(python-base-namespace).v2021_08_01.models.Condition] """ _attribute_map = { @@ -303,6 +365,10 @@ def __init__( self, **kwargs ): + """ + :keyword all_of: A list of conditions to evaluate against the specified scopes. + :paramtype all_of: list[~$(python-base-namespace).v2021_08_01.models.Condition] + """ super(ScheduledQueryRuleCriteria, self).__init__(**kwargs) self.all_of = kwargs.get('all_of', None) @@ -322,10 +388,10 @@ class TrackedResource(Resource): :ivar type: The type of the resource. E.g. "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 tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar location: Required. The geo-location where the resource lives. + :vartype location: str """ _validation = { @@ -347,6 +413,12 @@ def __init__( self, **kwargs ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword location: Required. The geo-location where the resource lives. + :paramtype location: str + """ super(TrackedResource, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) self.location = kwargs['location'] @@ -367,13 +439,13 @@ class ScheduledQueryRuleResource(TrackedResource): :ivar type: The type of the resource. E.g. "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 - :param kind: Indicates the type of scheduled query rule. The default is LogAlert. Possible + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar location: Required. The geo-location where the resource lives. + :vartype location: str + :ivar 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_preview.models.Kind + :vartype kind: str or ~$(python-base-namespace).v2021_08_01.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 @@ -381,59 +453,59 @@ class ScheduledQueryRuleResource(TrackedResource): (section 14.27) header fields. :vartype etag: str :ivar system_data: SystemData of ScheduledQueryRule. - :vartype system_data: ~$(python-base-namespace).v2021_02_preview.models.SystemData + :vartype system_data: ~$(python-base-namespace).v2021_08_01.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 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 + :ivar description: The description of the scheduled query rule. + :vartype description: str + :ivar display_name: The display name of the alert rule. + :vartype display_name: str + :ivar 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_preview.models.AlertSeverity - :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value + :vartype severity: int or ~$(python-base-namespace).v2021_08_01.models.AlertSeverity + :ivar 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. - :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO + :vartype enabled: bool + :ivar scopes: The list of resource id's that this scheduled query rule is scoped to. + :vartype scopes: list[str] + :ivar 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 + :vartype evaluation_frequency: ~datetime.timedelta + :ivar 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 + :vartype window_size: ~datetime.timedelta + :ivar 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 + :vartype override_query_time_range: ~datetime.timedelta + :ivar 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: ~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration + :vartype target_resource_types: list[str] + :ivar criteria: The rule criteria that defines the conditions of the scheduled query rule. + :vartype criteria: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleCriteria + :ivar 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: ~$(python-base-namespace).v2021_02_preview.models.Actions + :vartype mute_actions_duration: ~datetime.timedelta + :ivar actions: Actions to invoke when the alert fires. + :vartype actions: ~$(python-base-namespace).v2021_08_01.models.Actions :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 + :ivar 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 + :vartype check_workspace_alerts_storage_configured: bool + :ivar 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 + :vartype skip_query_validation: bool + :ivar 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. + :vartype auto_mitigate: bool """ _validation = { @@ -481,6 +553,60 @@ def __init__( self, **kwargs ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword location: Required. The geo-location where the resource lives. + :paramtype location: str + :keyword kind: Indicates the type of scheduled query rule. The default is LogAlert. Possible + values include: "LogAlert", "LogToMetric". + :paramtype kind: str or ~$(python-base-namespace).v2021_08_01.models.Kind + :keyword description: The description of the scheduled query rule. + :paramtype description: str + :keyword display_name: The display name of the alert rule. + :paramtype display_name: str + :keyword 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. + :paramtype severity: int or ~$(python-base-namespace).v2021_08_01.models.AlertSeverity + :keyword enabled: The flag which indicates whether this scheduled query rule is enabled. Value + should be true or false. + :paramtype enabled: bool + :keyword scopes: The list of resource id's that this scheduled query rule is scoped to. + :paramtype scopes: list[str] + :keyword 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. + :paramtype evaluation_frequency: ~datetime.timedelta + :keyword 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. + :paramtype window_size: ~datetime.timedelta + :keyword override_query_time_range: If specified then overrides the query time range (default + is WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + :paramtype override_query_time_range: ~datetime.timedelta + :keyword 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. + :paramtype target_resource_types: list[str] + :keyword criteria: The rule criteria that defines the conditions of the scheduled query rule. + :paramtype criteria: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleCriteria + :keyword 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. + :paramtype mute_actions_duration: ~datetime.timedelta + :keyword actions: Actions to invoke when the alert fires. + :paramtype actions: ~$(python-base-namespace).v2021_08_01.models.Actions + :keyword 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. + :paramtype check_workspace_alerts_storage_configured: bool + :keyword 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. + :paramtype skip_query_validation: bool + :keyword 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. + :paramtype auto_mitigate: bool + """ super(ScheduledQueryRuleResource, self).__init__(**kwargs) self.kind = kwargs.get('kind', None) self.etag = None @@ -508,20 +634,34 @@ def __init__( 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_preview.models.ScheduledQueryRuleResource] + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The values for the scheduled query rule resources. + :vartype value: list[~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource] + :ivar next_link: Provides the link to retrieve the next set of elements. + :vartype next_link: str """ + _validation = { + 'next_link': {'readonly': True}, + } + _attribute_map = { 'value': {'key': 'value', 'type': '[ScheduledQueryRuleResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( self, **kwargs ): + """ + :keyword value: The values for the scheduled query rule resources. + :paramtype value: list[~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource] + """ super(ScheduledQueryRuleResourceCollection, self).__init__(**kwargs) self.value = kwargs.get('value', None) + self.next_link = None class ScheduledQueryRuleResourcePatch(msrest.serialization.Model): @@ -529,60 +669,60 @@ class ScheduledQueryRuleResourcePatch(msrest.serialization.Model): 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 tags: A set of tags. Resource tags. + :vartype 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 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 + :ivar description: The description of the scheduled query rule. + :vartype description: str + :ivar display_name: The display name of the alert rule. + :vartype display_name: str + :ivar 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_preview.models.AlertSeverity - :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value + :vartype severity: int or ~$(python-base-namespace).v2021_08_01.models.AlertSeverity + :ivar 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. - :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO + :vartype enabled: bool + :ivar scopes: The list of resource id's that this scheduled query rule is scoped to. + :vartype scopes: list[str] + :ivar 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 + :vartype evaluation_frequency: ~datetime.timedelta + :ivar 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 + :vartype window_size: ~datetime.timedelta + :ivar 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 + :vartype override_query_time_range: ~datetime.timedelta + :ivar 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: ~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration + :vartype target_resource_types: list[str] + :ivar criteria: The rule criteria that defines the conditions of the scheduled query rule. + :vartype criteria: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleCriteria + :ivar 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: ~$(python-base-namespace).v2021_02_preview.models.Actions + :vartype mute_actions_duration: ~datetime.timedelta + :ivar actions: Actions to invoke when the alert fires. + :vartype actions: ~$(python-base-namespace).v2021_08_01.models.Actions :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 + :ivar 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 + :vartype check_workspace_alerts_storage_configured: bool + :ivar 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 + :vartype skip_query_validation: bool + :ivar 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. + :vartype auto_mitigate: bool """ _validation = { @@ -617,6 +757,55 @@ def __init__( self, **kwargs ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword description: The description of the scheduled query rule. + :paramtype description: str + :keyword display_name: The display name of the alert rule. + :paramtype display_name: str + :keyword 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. + :paramtype severity: int or ~$(python-base-namespace).v2021_08_01.models.AlertSeverity + :keyword enabled: The flag which indicates whether this scheduled query rule is enabled. Value + should be true or false. + :paramtype enabled: bool + :keyword scopes: The list of resource id's that this scheduled query rule is scoped to. + :paramtype scopes: list[str] + :keyword 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. + :paramtype evaluation_frequency: ~datetime.timedelta + :keyword 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. + :paramtype window_size: ~datetime.timedelta + :keyword override_query_time_range: If specified then overrides the query time range (default + is WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + :paramtype override_query_time_range: ~datetime.timedelta + :keyword 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. + :paramtype target_resource_types: list[str] + :keyword criteria: The rule criteria that defines the conditions of the scheduled query rule. + :paramtype criteria: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleCriteria + :keyword 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. + :paramtype mute_actions_duration: ~datetime.timedelta + :keyword actions: Actions to invoke when the alert fires. + :paramtype actions: ~$(python-base-namespace).v2021_08_01.models.Actions + :keyword 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. + :paramtype check_workspace_alerts_storage_configured: bool + :keyword 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. + :paramtype skip_query_validation: bool + :keyword 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. + :paramtype auto_mitigate: bool + """ super(ScheduledQueryRuleResourcePatch, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) self.created_with_api_version = None @@ -642,21 +831,21 @@ def __init__( 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_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 + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~$(python-base-namespace).v2021_08_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar 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_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :vartype last_modified_by_type: str or + ~$(python-base-namespace).v2021_08_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -672,6 +861,23 @@ def __init__( self, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or ~$(python-base-namespace).v2021_08_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~$(python-base-namespace).v2021_08_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = kwargs.get('created_by', None) self.created_by_type = kwargs.get('created_by_type', 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 2bf58582dfe..4c34944f486 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 @@ -18,10 +18,10 @@ class Actions(msrest.serialization.Model): """Actions to invoke when the alert fires. - :param action_groups: Action Group resource Ids to invoke when the alert fires. - :type action_groups: list[str] - :param custom_properties: The properties of an alert payload. - :type custom_properties: dict[str, str] + :ivar action_groups: Action Group resource Ids to invoke when the alert fires. + :vartype action_groups: list[str] + :ivar custom_properties: The properties of an alert payload. + :vartype custom_properties: dict[str, str] """ _attribute_map = { @@ -36,6 +36,12 @@ def __init__( custom_properties: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword action_groups: Action Group resource Ids to invoke when the alert fires. + :paramtype action_groups: list[str] + :keyword custom_properties: The properties of an alert payload. + :paramtype custom_properties: dict[str, str] + """ super(Actions, self).__init__(**kwargs) self.action_groups = action_groups self.custom_properties = custom_properties @@ -44,34 +50,32 @@ def __init__( class Condition(msrest.serialization.Model): """A condition of the scheduled query rule. - :param query: Log query alert. - :type query: str - :param time_aggregation: Aggregation type. Relevant and required only for rules of the kind + :ivar query: Log query alert. + :vartype query: str + :ivar time_aggregation: 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 - ~$(python-base-namespace).v2021_02_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. Relevant only for rules of the kind LogAlert. - :type resource_id_column: str - :param dimensions: List of Dimensions conditions. - :type dimensions: list[~$(python-base-namespace).v2021_02_preview.models.Dimension] - :param operator: The criteria operator. Relevant and required only for rules of the kind + :vartype time_aggregation: str or ~$(python-base-namespace).v2021_08_01.models.TimeAggregation + :ivar metric_measure_column: The column containing the metric measure number. Relevant only for + rules of the kind LogAlert. + :vartype metric_measure_column: str + :ivar 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. + :vartype resource_id_column: str + :ivar dimensions: List of Dimensions conditions. + :vartype dimensions: list[~$(python-base-namespace).v2021_08_01.models.Dimension] + :ivar operator: 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_preview.models.ConditionOperator - :param threshold: the criteria threshold value that activates the alert. Relevant and required + :vartype operator: str or ~$(python-base-namespace).v2021_08_01.models.ConditionOperator + :ivar threshold: 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 + :vartype threshold: float + :ivar 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: - ~$(python-base-namespace).v2021_02_preview.models.ConditionFailingPeriods - :param metric_name: The name of the metric to be sent. Relevant and required only for rules of + :vartype failing_periods: ~$(python-base-namespace).v2021_08_01.models.ConditionFailingPeriods + :ivar metric_name: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric. - :type metric_name: str + :vartype metric_name: str """ _attribute_map = { @@ -100,6 +104,36 @@ def __init__( metric_name: Optional[str] = None, **kwargs ): + """ + :keyword query: Log query alert. + :paramtype query: str + :keyword time_aggregation: Aggregation type. Relevant and required only for rules of the kind + LogAlert. Possible values include: "Count", "Average", "Minimum", "Maximum", "Total". + :paramtype time_aggregation: str or + ~$(python-base-namespace).v2021_08_01.models.TimeAggregation + :keyword metric_measure_column: The column containing the metric measure number. Relevant only + for rules of the kind LogAlert. + :paramtype metric_measure_column: str + :keyword 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. + :paramtype resource_id_column: str + :keyword dimensions: List of Dimensions conditions. + :paramtype dimensions: list[~$(python-base-namespace).v2021_08_01.models.Dimension] + :keyword operator: The criteria operator. Relevant and required only for rules of the kind + LogAlert. Possible values include: "Equals", "GreaterThan", "GreaterThanOrEqual", "LessThan", + "LessThanOrEqual". + :paramtype operator: str or ~$(python-base-namespace).v2021_08_01.models.ConditionOperator + :keyword threshold: the criteria threshold value that activates the alert. Relevant and + required only for rules of the kind LogAlert. + :paramtype threshold: float + :keyword 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. + :paramtype failing_periods: + ~$(python-base-namespace).v2021_08_01.models.ConditionFailingPeriods + :keyword metric_name: The name of the metric to be sent. Relevant and required only for rules + of the kind LogToMetric. + :paramtype metric_name: str + """ super(Condition, self).__init__(**kwargs) self.query = query self.time_aggregation = time_aggregation @@ -115,13 +149,13 @@ def __init__( 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: long - :param min_failing_periods_to_alert: The number of violations to trigger an alert. Should be + :ivar 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. + :vartype number_of_evaluation_periods: long + :ivar 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 + :vartype min_failing_periods_to_alert: long """ _attribute_map = { @@ -136,6 +170,15 @@ def __init__( min_failing_periods_to_alert: Optional[int] = 1, **kwargs ): + """ + :keyword 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. + :paramtype number_of_evaluation_periods: long + :keyword min_failing_periods_to_alert: The number of violations to trigger an alert. Should be + smaller or equal to numberOfEvaluationPeriods. Default value is 1. + :paramtype min_failing_periods_to_alert: long + """ 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 @@ -146,13 +189,13 @@ class Dimension(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param name: Required. Name of the dimension. - :type name: str - :param operator: Required. Operator for dimension values. Possible values include: "Include", + :ivar name: Required. Name of the dimension. + :vartype name: str + :ivar operator: Required. Operator for dimension values. Possible values include: "Include", "Exclude". - :type operator: str or ~$(python-base-namespace).v2021_02_preview.models.DimensionOperator - :param values: Required. List of dimension values. - :type values: list[str] + :vartype operator: str or ~$(python-base-namespace).v2021_08_01.models.DimensionOperator + :ivar values: Required. List of dimension values. + :vartype values: list[str] """ _validation = { @@ -175,6 +218,15 @@ def __init__( values: List[str], **kwargs ): + """ + :keyword name: Required. Name of the dimension. + :paramtype name: str + :keyword operator: Required. Operator for dimension values. Possible values include: "Include", + "Exclude". + :paramtype operator: str or ~$(python-base-namespace).v2021_08_01.models.DimensionOperator + :keyword values: Required. List of dimension values. + :paramtype values: list[str] + """ super(Dimension, self).__init__(**kwargs) self.name = name self.operator = operator @@ -206,6 +258,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None @@ -214,8 +268,8 @@ def __init__( class ErrorContract(msrest.serialization.Model): """Describes the format of Error response. - :param error: The error details. - :type error: ~$(python-base-namespace).v2021_02_preview.models.ErrorResponse + :ivar error: The error details. + :vartype error: ~$(python-base-namespace).v2021_08_01.models.ErrorResponse """ _attribute_map = { @@ -228,6 +282,10 @@ def __init__( error: Optional["ErrorResponse"] = None, **kwargs ): + """ + :keyword error: The error details. + :paramtype error: ~$(python-base-namespace).v2021_08_01.models.ErrorResponse + """ super(ErrorContract, self).__init__(**kwargs) self.error = error @@ -244,10 +302,10 @@ class ErrorResponse(msrest.serialization.Model): :ivar target: The error target. :vartype target: str :ivar details: The error details. - :vartype details: list[~$(python-base-namespace).v2021_02_preview.models.ErrorResponse] + :vartype details: list[~$(python-base-namespace).v2021_08_01.models.ErrorResponse] :ivar additional_info: The error additional info. :vartype additional_info: - list[~$(python-base-namespace).v2021_02_preview.models.ErrorAdditionalInfo] + list[~$(python-base-namespace).v2021_08_01.models.ErrorAdditionalInfo] """ _validation = { @@ -270,6 +328,8 @@ def __init__( self, **kwargs ): + """ + """ super(ErrorResponse, self).__init__(**kwargs) self.code = None self.message = None @@ -309,6 +369,8 @@ def __init__( self, **kwargs ): + """ + """ super(Resource, self).__init__(**kwargs) self.id = None self.name = None @@ -318,8 +380,8 @@ def __init__( 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[~$(python-base-namespace).v2021_02_preview.models.Condition] + :ivar all_of: A list of conditions to evaluate against the specified scopes. + :vartype all_of: list[~$(python-base-namespace).v2021_08_01.models.Condition] """ _attribute_map = { @@ -332,6 +394,10 @@ def __init__( all_of: Optional[List["Condition"]] = None, **kwargs ): + """ + :keyword all_of: A list of conditions to evaluate against the specified scopes. + :paramtype all_of: list[~$(python-base-namespace).v2021_08_01.models.Condition] + """ super(ScheduledQueryRuleCriteria, self).__init__(**kwargs) self.all_of = all_of @@ -351,10 +417,10 @@ class TrackedResource(Resource): :ivar type: The type of the resource. E.g. "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 tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar location: Required. The geo-location where the resource lives. + :vartype location: str """ _validation = { @@ -379,6 +445,12 @@ def __init__( tags: Optional[Dict[str, str]] = None, **kwargs ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword location: Required. The geo-location where the resource lives. + :paramtype location: str + """ super(TrackedResource, self).__init__(**kwargs) self.tags = tags self.location = location @@ -399,13 +471,13 @@ class ScheduledQueryRuleResource(TrackedResource): :ivar type: The type of the resource. E.g. "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 - :param kind: Indicates the type of scheduled query rule. The default is LogAlert. Possible + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar location: Required. The geo-location where the resource lives. + :vartype location: str + :ivar 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_preview.models.Kind + :vartype kind: str or ~$(python-base-namespace).v2021_08_01.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 @@ -413,59 +485,59 @@ class ScheduledQueryRuleResource(TrackedResource): (section 14.27) header fields. :vartype etag: str :ivar system_data: SystemData of ScheduledQueryRule. - :vartype system_data: ~$(python-base-namespace).v2021_02_preview.models.SystemData + :vartype system_data: ~$(python-base-namespace).v2021_08_01.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 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 + :ivar description: The description of the scheduled query rule. + :vartype description: str + :ivar display_name: The display name of the alert rule. + :vartype display_name: str + :ivar 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_preview.models.AlertSeverity - :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value + :vartype severity: int or ~$(python-base-namespace).v2021_08_01.models.AlertSeverity + :ivar 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. - :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO + :vartype enabled: bool + :ivar scopes: The list of resource id's that this scheduled query rule is scoped to. + :vartype scopes: list[str] + :ivar 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 + :vartype evaluation_frequency: ~datetime.timedelta + :ivar 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 + :vartype window_size: ~datetime.timedelta + :ivar 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 + :vartype override_query_time_range: ~datetime.timedelta + :ivar 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: ~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration + :vartype target_resource_types: list[str] + :ivar criteria: The rule criteria that defines the conditions of the scheduled query rule. + :vartype criteria: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleCriteria + :ivar 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: ~$(python-base-namespace).v2021_02_preview.models.Actions + :vartype mute_actions_duration: ~datetime.timedelta + :ivar actions: Actions to invoke when the alert fires. + :vartype actions: ~$(python-base-namespace).v2021_08_01.models.Actions :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 + :ivar 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 + :vartype check_workspace_alerts_storage_configured: bool + :ivar 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 + :vartype skip_query_validation: bool + :ivar 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. + :vartype auto_mitigate: bool """ _validation = { @@ -532,6 +604,60 @@ def __init__( auto_mitigate: Optional[bool] = None, **kwargs ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword location: Required. The geo-location where the resource lives. + :paramtype location: str + :keyword kind: Indicates the type of scheduled query rule. The default is LogAlert. Possible + values include: "LogAlert", "LogToMetric". + :paramtype kind: str or ~$(python-base-namespace).v2021_08_01.models.Kind + :keyword description: The description of the scheduled query rule. + :paramtype description: str + :keyword display_name: The display name of the alert rule. + :paramtype display_name: str + :keyword 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. + :paramtype severity: int or ~$(python-base-namespace).v2021_08_01.models.AlertSeverity + :keyword enabled: The flag which indicates whether this scheduled query rule is enabled. Value + should be true or false. + :paramtype enabled: bool + :keyword scopes: The list of resource id's that this scheduled query rule is scoped to. + :paramtype scopes: list[str] + :keyword 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. + :paramtype evaluation_frequency: ~datetime.timedelta + :keyword 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. + :paramtype window_size: ~datetime.timedelta + :keyword override_query_time_range: If specified then overrides the query time range (default + is WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + :paramtype override_query_time_range: ~datetime.timedelta + :keyword 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. + :paramtype target_resource_types: list[str] + :keyword criteria: The rule criteria that defines the conditions of the scheduled query rule. + :paramtype criteria: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleCriteria + :keyword 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. + :paramtype mute_actions_duration: ~datetime.timedelta + :keyword actions: Actions to invoke when the alert fires. + :paramtype actions: ~$(python-base-namespace).v2021_08_01.models.Actions + :keyword 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. + :paramtype check_workspace_alerts_storage_configured: bool + :keyword 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. + :paramtype skip_query_validation: bool + :keyword 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. + :paramtype auto_mitigate: bool + """ super(ScheduledQueryRuleResource, self).__init__(tags=tags, location=location, **kwargs) self.kind = kind self.etag = None @@ -559,12 +685,21 @@ def __init__( 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_preview.models.ScheduledQueryRuleResource] + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: The values for the scheduled query rule resources. + :vartype value: list[~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource] + :ivar next_link: Provides the link to retrieve the next set of elements. + :vartype next_link: str """ + _validation = { + 'next_link': {'readonly': True}, + } + _attribute_map = { 'value': {'key': 'value', 'type': '[ScheduledQueryRuleResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, } def __init__( @@ -573,8 +708,13 @@ def __init__( value: Optional[List["ScheduledQueryRuleResource"]] = None, **kwargs ): + """ + :keyword value: The values for the scheduled query rule resources. + :paramtype value: list[~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource] + """ super(ScheduledQueryRuleResourceCollection, self).__init__(**kwargs) self.value = value + self.next_link = None class ScheduledQueryRuleResourcePatch(msrest.serialization.Model): @@ -582,60 +722,60 @@ class ScheduledQueryRuleResourcePatch(msrest.serialization.Model): 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 tags: A set of tags. Resource tags. + :vartype 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 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 + :ivar description: The description of the scheduled query rule. + :vartype description: str + :ivar display_name: The display name of the alert rule. + :vartype display_name: str + :ivar 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_preview.models.AlertSeverity - :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value + :vartype severity: int or ~$(python-base-namespace).v2021_08_01.models.AlertSeverity + :ivar 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. - :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO + :vartype enabled: bool + :ivar scopes: The list of resource id's that this scheduled query rule is scoped to. + :vartype scopes: list[str] + :ivar 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 + :vartype evaluation_frequency: ~datetime.timedelta + :ivar 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 + :vartype window_size: ~datetime.timedelta + :ivar 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 + :vartype override_query_time_range: ~datetime.timedelta + :ivar 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: ~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration + :vartype target_resource_types: list[str] + :ivar criteria: The rule criteria that defines the conditions of the scheduled query rule. + :vartype criteria: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleCriteria + :ivar 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: ~$(python-base-namespace).v2021_02_preview.models.Actions + :vartype mute_actions_duration: ~datetime.timedelta + :ivar actions: Actions to invoke when the alert fires. + :vartype actions: ~$(python-base-namespace).v2021_08_01.models.Actions :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 + :ivar 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 + :vartype check_workspace_alerts_storage_configured: bool + :ivar 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 + :vartype skip_query_validation: bool + :ivar 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. + :vartype auto_mitigate: bool """ _validation = { @@ -687,6 +827,55 @@ def __init__( auto_mitigate: Optional[bool] = None, **kwargs ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword description: The description of the scheduled query rule. + :paramtype description: str + :keyword display_name: The display name of the alert rule. + :paramtype display_name: str + :keyword 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. + :paramtype severity: int or ~$(python-base-namespace).v2021_08_01.models.AlertSeverity + :keyword enabled: The flag which indicates whether this scheduled query rule is enabled. Value + should be true or false. + :paramtype enabled: bool + :keyword scopes: The list of resource id's that this scheduled query rule is scoped to. + :paramtype scopes: list[str] + :keyword 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. + :paramtype evaluation_frequency: ~datetime.timedelta + :keyword 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. + :paramtype window_size: ~datetime.timedelta + :keyword override_query_time_range: If specified then overrides the query time range (default + is WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + :paramtype override_query_time_range: ~datetime.timedelta + :keyword 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. + :paramtype target_resource_types: list[str] + :keyword criteria: The rule criteria that defines the conditions of the scheduled query rule. + :paramtype criteria: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleCriteria + :keyword 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. + :paramtype mute_actions_duration: ~datetime.timedelta + :keyword actions: Actions to invoke when the alert fires. + :paramtype actions: ~$(python-base-namespace).v2021_08_01.models.Actions + :keyword 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. + :paramtype check_workspace_alerts_storage_configured: bool + :keyword 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. + :paramtype skip_query_validation: bool + :keyword 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. + :paramtype auto_mitigate: bool + """ super(ScheduledQueryRuleResourcePatch, self).__init__(**kwargs) self.tags = tags self.created_with_api_version = None @@ -712,21 +901,21 @@ def __init__( 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_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 + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~$(python-base-namespace).v2021_08_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar 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_preview.models.CreatedByType - :param last_modified_at: The timestamp of resource last modification (UTC). - :type last_modified_at: ~datetime.datetime + :vartype last_modified_by_type: str or + ~$(python-base-namespace).v2021_08_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { @@ -749,6 +938,23 @@ def __init__( last_modified_at: Optional[datetime.datetime] = None, **kwargs ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or ~$(python-base-namespace).v2021_08_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or + ~$(python-base-namespace).v2021_08_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ super(SystemData, self).__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type 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 index 89555e1c18b..6f43b1e39c7 100644 --- 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 @@ -6,27 +6,12 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -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, int, Enum)): +class AlertSeverity(with_metaclass(CaseInsensitiveEnumMeta, int, 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. """ @@ -37,7 +22,7 @@ class AlertSeverity(with_metaclass(_CaseInsensitiveEnumMeta, int, Enum)): THREE = 3 FOUR = 4 -class ConditionOperator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ConditionOperator(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The criteria operator. Relevant and required only for rules of the kind LogAlert. """ @@ -47,7 +32,7 @@ class ConditionOperator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): LESS_THAN = "LessThan" LESS_THAN_OR_EQUAL = "LessThanOrEqual" -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -56,21 +41,21 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class DimensionOperator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DimensionOperator(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Operator for dimension values """ INCLUDE = "Include" EXCLUDE = "Exclude" -class Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +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)): +class TimeAggregation(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Aggregation type. Relevant and required only for rules of the kind LogAlert. """ 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 00f969c1dae..fb7760995c1 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 @@ -5,24 +5,250 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer from .. import models as _models +from .._vendor import _convert_request, _format_url_section 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]] +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False +# fmt: off + +def build_list_by_subscription_request( + subscription_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/scheduledQueryRules') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_by_resource_group_request( + subscription_id, # type: str + resource_group_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + subscription_id, # type: str + resource_group_name, # type: str + rule_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + subscription_id, # type: str + resource_group_name, # type: str + rule_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request( + subscription_id, # type: str + resource_group_name, # type: str + rule_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + subscription_id, # type: str + resource_group_name, # type: str + rule_name, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1), + "ruleName": _SERIALIZER.url("rule_name", rule_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +# fmt: on class ScheduledQueryRulesOperations(object): """ScheduledQueryRulesOperations operations. @@ -30,7 +256,7 @@ class ScheduledQueryRulesOperations(object): 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_preview.models + :type models: ~$(python-base-namespace).v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,6 +271,7 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config + @distributed_trace def list_by_subscription( self, **kwargs # type: Any @@ -53,8 +280,10 @@ def list_by_subscription( """Retrieve a scheduled query rule definitions 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 ScheduledQueryRuleResourceCollection or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleResourceCollection] + :return: An iterator like instance of either ScheduledQueryRuleResourceCollection or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResourceCollection] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResourceCollection"] @@ -62,38 +291,33 @@ def list_by_subscription( 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'] # 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) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + template_url=self.list_by_subscription.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_subscription_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ScheduledQueryRuleResourceCollection', 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) + return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) @@ -102,17 +326,19 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) 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.Insights/scheduledQueryRules'} # type: ignore + @distributed_trace def list_by_resource_group( self, resource_group_name, # type: str @@ -124,8 +350,10 @@ def list_by_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 ScheduledQueryRuleResourceCollection or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleResourceCollection] + :return: An iterator like instance of either ScheduledQueryRuleResourceCollection or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResourceCollection] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResourceCollection"] @@ -133,39 +361,35 @@ def list_by_resource_group( 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'] # 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), - } - url = self._client.format_url(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) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize('ScheduledQueryRuleResourceCollection', 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) + return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) @@ -174,17 +398,19 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) 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.Insights/scheduledQueryRules'} # type: ignore + @distributed_trace def get( self, resource_group_name, # type: str @@ -200,7 +426,7 @@ def get( :type rule_name: str :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_preview.models.ScheduledQueryRuleResource + :rtype: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] @@ -208,33 +434,23 @@ def get( 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'] # 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), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_get_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + rule_name=rule_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorContract, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) @@ -243,8 +459,11 @@ def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + + @distributed_trace def create_or_update( self, resource_group_name, # type: str @@ -260,10 +479,10 @@ def create_or_update( :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: ~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleResource + :type parameters: ~$(python-base-namespace).v2021_08_01.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_preview.models.ScheduledQueryRuleResource + :rtype: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] @@ -271,38 +490,28 @@ def create_or_update( 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'] # 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), - 'ruleName': self._serialize.url("rule_name", rule_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ScheduledQueryRuleResource') - # 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') + request = build_create_or_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + rule_name=rule_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -315,8 +524,11 @@ def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + + @distributed_trace def update( self, resource_group_name, # type: str @@ -332,10 +544,10 @@ def update( :param rule_name: The name of the rule. :type rule_name: str :param parameters: The parameters of the rule to update. - :type parameters: ~$(python-base-namespace).v2021_02_preview.models.ScheduledQueryRuleResourcePatch + :type parameters: ~$(python-base-namespace).v2021_08_01.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_preview.models.ScheduledQueryRuleResource + :rtype: ~$(python-base-namespace).v2021_08_01.models.ScheduledQueryRuleResource :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] @@ -343,38 +555,28 @@ def update( 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'] # 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), - 'ruleName': self._serialize.url("rule_name", rule_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ScheduledQueryRuleResourcePatch') - # 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') + request = build_update_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + rule_name=rule_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) @@ -383,8 +585,11 @@ def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + + @distributed_trace def delete( self, resource_group_name, # type: str @@ -408,36 +613,27 @@ def delete( 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'] # 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), - 'ruleName': self._serialize.url("rule_name", rule_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 = build_delete_request( + subscription_id=self._config.subscription_id, + resource_group_name=resource_group_name, + rule_name=rule_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorContract, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, pipeline_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.Insights/scheduledQueryRules/{ruleName}'} # type: ignore + diff --git a/src/scheduled-query/setup.py b/src/scheduled-query/setup.py index d2a0e6f04dd..bef0b4a79aa 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.4.0' +VERSION = '0.5.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -45,7 +45,7 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/scheduled-query', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/securityinsight/azext_sentinel/tests/latest/test_sentinel_scenario.py b/src/securityinsight/azext_sentinel/tests/latest/test_sentinel_scenario.py index 24904409004..59aa5bcdffe 100644 --- a/src/securityinsight/azext_sentinel/tests/latest/test_sentinel_scenario.py +++ b/src/securityinsight/azext_sentinel/tests/latest/test_sentinel_scenario.py @@ -12,7 +12,7 @@ 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 azure.cli.testsdk.scenario_tests import AllowLargeResponse TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) diff --git a/src/securityinsight/setup.py b/src/securityinsight/setup.py index 90474e79782..8857b1361e6 100644 --- a/src/securityinsight/setup.py +++ b/src/securityinsight/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools SecurityInsights Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/sentinel', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/sentinel', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/serial-console/azext_serialconsole/tests/latest/test_serialconsole_scenario.py b/src/serial-console/azext_serialconsole/tests/latest/test_serialconsole_scenario.py index 5058ea123e8..d8cbd93dc0f 100644 --- a/src/serial-console/azext_serialconsole/tests/latest/test_serialconsole_scenario.py +++ b/src/serial-console/azext_serialconsole/tests/latest/test_serialconsole_scenario.py @@ -18,7 +18,7 @@ from azure.cli.core.azclierror import AzureConnectionError from azure.cli.core.azclierror import ForbiddenError from azure.core.exceptions import ResourceNotFoundError as ComputeClientResourceNotFoundError -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) diff --git a/src/serial-console/setup.py b/src/serial-console/setup.py index df40ae9cf29..1b52e4e8db0 100644 --- a/src/serial-console/setup.py +++ b/src/serial-console/setup.py @@ -48,7 +48,7 @@ author='Microsoft Corporation', author_email='azpycli@microsoft.com', # TODO: change to your extension source code repo if the code will not be put in azure-cli-extensions repo - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/serialconsole', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/serialconsole', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/service_name.json b/src/service_name.json index bf0b80ab8fa..86789b14ed9 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -9,6 +9,11 @@ "AzureServiceName": "Azure Container Registry", "URL": "https://docs.microsoft.com/azure/container-registry/" }, + { + "Command": "az ad", + "AzureServiceName": "Azure Active Directory", + "URL": "https://docs.microsoft.com/en-us/azure/active-directory/" + }, { "Command": "az ai-examples", "AzureServiceName": "Microsoft AI", @@ -74,6 +79,11 @@ "AzureServiceName": "Azure Communication Service", "URL": "https://docs.microsoft.com/azure/communication-services/" }, + { + "Command": "az confidentialledger", + "AzureServiceName": "Microsoft Confidential Ledger", + "URL": "https://docs.microsoft.com/en-us/azure/confidential-ledger/" + }, { "Command": "az confluent", "AzureServiceName": "Microsoft Partner Services", @@ -124,6 +134,11 @@ "AzureServiceName": "Azure Data Factory", "URL": "https://docs.microsoft.com/azure/data-factory/" }, + { + "Command": "az datamigration", + "AzureServiceName": "Azure Database Migration Service", + "URL": "https://docs.microsoft.com/en-us/azure/dms/" + }, { "Command": "az datashare", "AzureServiceName": "Azure Data Share", @@ -159,6 +174,11 @@ "AzureServiceName": "Azure Digital Twins", "URL": "https://azure.microsoft.com/en-us/services/digital-twins/" }, + { + "Command": "az edgeorder", + "AzureServiceName": "Azure Edge Order", + "URL": "https://review.docs.microsoft.com/en-us/azure/azure-edge-hardware-center" + }, { "Command": "az elastic", "AzureServiceName": "Azure Elastic", @@ -224,6 +244,11 @@ "AzureServiceName": "Azure Storage", "URL": "https://docs.microsoft.com/azure/storage/common/storage-import-export-service?toc=/azure/storage/blobs/toc.json" }, + { + "Command": "az init", + "AzureServiceName": "Azure CLI", + "URL": "" + }, { "Command": "az interactive", "AzureServiceName": "Azure CLI", @@ -409,6 +434,11 @@ "AzureServiceName": "Azure Stack", "URL": "https://docs.microsoft.com/azure-stack/hci/" }, + { + "Command": "az staticwebapp", + "AzureServiceName": "Azure Static Web Apps", + "URL": "https://azure.microsoft.com/en-us/services/app-service/static/" + }, { "Command": "az storage", "AzureServiceName": "Azure Storage", @@ -486,7 +516,7 @@ }, { "Command": "az vm-repair", - "AzureServiceName": "Azure CLI VM Repair Extension", + "AzureServiceName": "Azure Virtual Machines", "URL": "https://docs.microsoft.com/en-us/cli/azure/vm/repair?view=azure-cli-latest" }, { @@ -521,7 +551,7 @@ }, { "Command": "az devops", - "AzureServiceName": "Azure Devops", + "AzureServiceName": "Azure DevOps", "URL": "https://docs.microsoft.com/en-us/azure/devops/" }, { @@ -537,6 +567,11 @@ { "Command": "az azurestackhci", "AzureServiceName": "Azure Stack HCI", - "URL": "https://docs.microsoft.com/en-us/cli/azure/stack-hci?view=azure-cli-latest" + "URL": "https://docs.microsoft.com/en-us/cli/azure/azurestackhci?view=azure-cli-latest" + }, + { + "Command": "az quota", + "AzureServiceName": "Reserved VM Instances", + "URL": "https://docs.microsoft.com/en-us/rest/api/reserved-vm-instances/quotaapi" } ] diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index 7474e7770b2..bc038199c24 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,5 +1,33 @@ Release History =============== +3.0.1 +--- +* `az spring-cloud app deploy` has new preview argument "--build-env" to specify build module and jvm version and so on. +* Raise error when `az spring-cloud app deploy` setting "--target-modules" and "--runtime-version for enterprise tier. +* Fix the jvm option clearance in enterprise tier. + +3.0.0 +--- +* New preview argument `az spring-cloud create` has new argument "--sku=Enterprise" to support Azure Spring Cloud Enterprise creation. +* New preview argument `az spring-cloud create` has new argument "--zone-redundant" to support creating Azure Spring Cloud in Azure availability zone. +* New preview command group `az spring-cloud api-portal` to manage API portal in Azure Spring Cloud Enterprise tier. +* New preview command group `az spring-cloud application-configuration-service` to manage Application Configuration Service in Azure Spring Cloud Enterprise tier. +* New preview command group `az spring-cloud gateway` to manage gateway in Azure Spring Cloud Enterprise tier. +* New preview command group `az spring-cloud service-registry` to mmanage Service Registry in Azure Spring Cloud Enterprise tier. +* [BREAKING CHANGE] `az spring-cloud app` command output: Remove "properties.activeDeploymentName", use "properties.activeDeployment.name" instead. +* [BREAKING CHANGE] `az spring-cloud app` command output: Remove "properties.createdTime", use "systemData.createdAt" instead. +* [BREAKING CHANGE] `az spring-cloud app` command output: Remove "properties.activeDeployment.properties.deploymentSettings.jvmOptions", use "properties.activeDeployment.properties.source.jvmOptions" instead. +* [BREAKING CHANGE] `az spring-cloud app` command output: Remove "properties.activeDeployment.properties.deploymentSettings.runtimeVersion", use "properties.activeDeployment.properties.source.runtimeVersion" instead. +* [BREAKING CHANGE] `az spring-cloud app` command output: Remove "properties.activeDeployment.properties.deploymentSettings.netCoreMainEntryPath", use "properties.activeDeployment.properties.source.netCoreMainEntryPath" instead. + +2.12.3 +--- +* Fix the deploy jar failure. + +2.12.2 +--- +* Add support for custom container image. + 2.12.1 ----- * Fix list services by subscription issue diff --git a/src/spring-cloud/README_CONTAINER.md b/src/spring-cloud/README_CONTAINER.md new file mode 100644 index 00000000000..4759d2f6645 --- /dev/null +++ b/src/spring-cloud/README_CONTAINER.md @@ -0,0 +1,33 @@ +Added the following arguments: +``` + --container-args : The arguments of the container image. + --container-command : The command of the container image. + --container-image : The container image tag. + --container-registry : The registry of the container image. Default: docker.io. + --registry-password : The password of the container registry. + --registry-username : The username of the container registry. +``` + +Use `az spring-cloud app deploy` + +Deploy a container image on Docker Hub to an app. +``` +az spring-cloud app deploy -n MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 +``` + +Deploy a container image on a private registry to an app. +``` +az spring-cloud app deploy -n MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 --container-registry myacr.azurecr.io --registry-username --registry-password +``` + +Or `az spring-cloud app deployment create` + +Deploy a container image on Docker Hub to an app. +``` +az spring-cloud app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 +``` + +Deploy a container image on a private registry to an app. +``` +az spring-cloud app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 --container-registry myacr.azurecr.io --registry-username --registry-password +``` \ No newline at end of file diff --git a/src/spring-cloud/azext_spring_cloud/_app_factory.py b/src/spring-cloud/azext_spring_cloud/_app_factory.py new file mode 100644 index 00000000000..1d43e2e069f --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_app_factory.py @@ -0,0 +1,112 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order +from azure.cli.core.azclierror import FileOperationError, InvalidArgumentValueError +from .vendored_sdks.appplatform.v2022_01_01_preview import models +from azure.cli.core.util import get_file_json + + +class DefaultApp: + def format_resource(self, **kwargs): + return models.AppResource( + properties=self._format_properties(**kwargs), + identity=self._format_identity(**kwargs) + ) + + def _format_properties(self, **kwargs): + kwargs['custom_persistent_disks'] = self._load_custom_persistent_disks(**kwargs) + kwargs['loaded_certificates'] = self._load_public_certificate_file(**kwargs) + kwargs['persistent_disk'] = self._load_persistent_disk(**kwargs) + kwargs['temporary_disk'] = self._load_temp_disk(**kwargs) + return models.AppResourceProperties(**kwargs) + + def _format_identity(self, assign_identity=None, **_): + if assign_identity is not None: + assign_type = 'systemassigned' if assign_identity else 'None' + return models.ManagedIdentityProperties(type=assign_type) + + def _load_temp_disk(self, enable_temporary_disk=None, **_): + if enable_temporary_disk is not None: + return models.TemporaryDisk( + size_in_gb=5, mount_path="/tmp" + ) + + def _load_persistent_disk(self, enable_persistent_storage=None, **_): + if enable_persistent_storage is not None: # False matters + return models.PersistentDisk( + size_in_gb=self._get_persistent_disk_size(enable_persistent_storage), + mount_path='/persistent' + ) + + def _get_persistent_disk_size(self, enable_persistent_storage): + return 50 if enable_persistent_storage else 0 + + def _load_public_certificate_file(self, client, resource_group, service, loaded_public_certificate_file=None, **_): + if not loaded_public_certificate_file: + return + data = get_file_json(loaded_public_certificate_file) + if not data: + return + if not data.get('loadedCertificates'): + raise FileOperationError("loadedCertificates must be provided in the json file") + loaded_certificates = [] + for item in data['loadedCertificates']: + if not item.get('certificateName') or not item.get('loadTrustStore'): + raise FileOperationError("certificateName, loadTrustStore must be provided in the json file") + certificate_resource = client.certificates.get(resource_group, service, item['certificateName']) + loaded_certificates.append(models.LoadedCertificate(resource_id=certificate_resource.id, + load_trust_store=item['loadTrustStore'])) + return loaded_certificates + + def _load_custom_persistent_disks(self, client, resource_group, service, persistent_storage=None, **_): + if not persistent_storage: + return + data = get_file_json(persistent_storage, throw_on_empty=False) + if not data: + return + custom_persistent_disks = [] + + if not data.get('customPersistentDisks'): + raise InvalidArgumentValueError("CustomPersistentDisks must be provided in the json file") + for item in data['customPersistentDisks']: + invalidProperties = not item.get('storageName') or \ + not item.get('customPersistentDiskProperties').get('type') or \ + not item.get('customPersistentDiskProperties').get('shareName') or \ + not item.get('customPersistentDiskProperties').get('mountPath') + if invalidProperties: + raise InvalidArgumentValueError("StorageName, Type, ShareName, MountPath mast be provided in the json file") + storage_resource = client.storages.get(resource_group, service, item['storageName']) + custom_persistent_disk_properties = models.AzureFileVolume( + type=item['customPersistentDiskProperties']['type'], + share_name=item['customPersistentDiskProperties']['shareName'], + mount_path=item['customPersistentDiskProperties']['mountPath'], + mount_options=item['customPersistentDiskProperties']['mountOptions'] if 'mountOptions' in item['customPersistentDiskProperties'] else None, + read_only=item['customPersistentDiskProperties']['readOnly'] if 'readOnly' in item['customPersistentDiskProperties'] else None) + + custom_persistent_disks.append( + models.CustomPersistentDiskResource( + storage_id=storage_resource.id, + custom_persistent_disk_properties=custom_persistent_disk_properties)) + return custom_persistent_disks + + +class BasicTierApp(DefaultApp): + def _get_persistent_disk_size(self, enable_persistent_storage, **_): + return 1 if enable_persistent_storage else 0 + + +class EnterpriseTierApp(DefaultApp): + def _get_persistent_disk_size(self, enable_persistent_storage, **_): + if enable_persistent_storage: + raise InvalidArgumentValueError('Enterprise tier Spring-Cloud instance does not support --enable-persistent-storage') + + +def app_selector(sku, **_): + if sku.name == 'E0': + return EnterpriseTierApp() + if sku.name == 'B0': + return BasicTierApp() + return DefaultApp() diff --git a/src/spring-cloud/azext_spring_cloud/_app_validator.py b/src/spring-cloud/azext_spring_cloud/_app_validator.py new file mode 100644 index 00000000000..b47e2915802 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_app_validator.py @@ -0,0 +1,132 @@ +# -------------------------------------------------------------------------------------------- +# 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, unused-argument, redefined-builtin +from knack.log import get_logger +from azure.cli.core.azclierror import InvalidArgumentValueError +from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import (ResourceNotFoundError) +from ._resource_quantity import (validate_cpu as validate_cpu_value, validate_memory as validate_memory_value) +from ._client_factory import cf_spring_cloud_20220101preview + + +logger = get_logger(__name__) + + +# pylint: disable=line-too-long,raise-missing-from +NO_PRODUCTION_DEPLOYMENT_ERROR = "No production deployment found, use --deployment to specify deployment or create deployment with: az spring-cloud app deployment create" +NO_PRODUCTION_DEPLOYMENT_SET_ERROR = "This app has no production deployment, use \"az spring-cloud app deployment create\" to create a deployment and \"az spring-cloud app set-deployment\" to set production deployment." + + +def fulfill_deployment_param(cmd, namespace): + client = cf_spring_cloud_20220101preview(cmd.cli_ctx) + name = _get_app_name_from_namespace(namespace) + if not name or not namespace.service or not namespace.resource_group: + return + if namespace.deployment: + namespace.deployment = _ensure_deployment_exist(client, namespace.resource_group, namespace.service, name, namespace.deployment) + else: + namespace.deployment = _ensure_active_deployment_exist_and_get(client, namespace.resource_group, namespace.service, name) + + +def fulfill_deployment_param_or_warning(cmd, namespace): + client = cf_spring_cloud_20220101preview(cmd.cli_ctx) + name = _get_app_name_from_namespace(namespace) + if not name or not namespace.service or not namespace.resource_group: + return + if namespace.deployment: + namespace.deployment = _ensure_deployment_exist(client, namespace.resource_group, namespace.service, name, namespace.deployment) + else: + namespace.deployment = _get_active_deployment(client, namespace.resource_group, namespace.service, name) + if not namespace.deployment: + logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) + + +def active_deployment_exist(cmd, namespace): + name = _get_app_name_from_namespace(namespace) + if not name or not namespace.service or not namespace.resource_group: + return + client = cf_spring_cloud_20220101preview(cmd.cli_ctx) + deployment = _get_active_deployment(client, namespace.resource_group, namespace.service, name) + if not deployment: + raise InvalidArgumentValueError(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) + + +def active_deployment_exist_or_warning(cmd, namespace): + name = _get_app_name_from_namespace(namespace) + if not name or not namespace.service or not namespace.resource_group: + return + client = cf_spring_cloud_20220101preview(cmd.cli_ctx) + deployment = _get_active_deployment(client, namespace.resource_group, namespace.service, name) + if not deployment: + logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) + + +def ensure_not_active_deployment(cmd, namespace): + """ + Validate namespace.deployment is not active + """ + if not namespace.deployment or not namespace.resource_group or not namespace.service or not namespace.name: + return + client = cf_spring_cloud_20220101preview(cmd.cli_ctx) + deployment = _ensure_deployment_exist(client, namespace.resource_group, namespace.service, namespace.name, namespace.deployment) + if deployment.properties.active: + raise InvalidArgumentValueError('Deployment {} is already the production deployment'.format(deployment.name)) + + +def _ensure_deployment_exist(client, resource_group, service, app, deployment): + try: + return client.deployments.get(resource_group, service, app, deployment) + except CloudError: + raise InvalidArgumentValueError('Deployment {} not found under app {}'.format(deployment, app)) + + +def _ensure_active_deployment_exist_and_get(client, resource_group, service, name): + deployment_resource = _get_active_deployment(client, resource_group, service, name) + if not deployment_resource: + raise InvalidArgumentValueError(NO_PRODUCTION_DEPLOYMENT_ERROR) + return deployment_resource + + +def _get_active_deployment(client, resource_group, service, name): + try: + deployments = client.deployments.list(resource_group, service, name) + return next(iter(x for x in deployments if x.properties.active), None) + except ResourceNotFoundError: + raise InvalidArgumentValueError('App {} not found'.format(name)) + + +def validate_deloy_path(namespace): + arguments = [namespace.artifact_path, namespace.source_path, namespace.container_image] + if all(not x for x in arguments): + raise InvalidArgumentValueError('One of --artifact-path, --source-path, --container-image must be provided.') + _deploy_path_mutual_exclusive(arguments) + + +def validate_deloyment_create_path(namespace): + arguments = [namespace.artifact_path, namespace.source_path, namespace.container_image] + _deploy_path_mutual_exclusive(arguments) + + +def _deploy_path_mutual_exclusive(args): + valued_args = [x for x in args if x] + if len(valued_args) > 1: + raise InvalidArgumentValueError('At most one of --artifact-path, --source-path, --container-image must be provided.') + + +def validate_cpu(namespace): + namespace.cpu = validate_cpu_value(namespace.cpu) + + +def validate_memory(namespace): + namespace.memory = validate_memory_value(namespace.memory) + + +def _get_app_name_from_namespace(namespace): + if hasattr(namespace, 'app'): + return namespace.app + elif hasattr(namespace, 'name'): + return namespace.name + return None diff --git a/src/spring-cloud/azext_spring_cloud/_build_service.py b/src/spring-cloud/azext_spring_cloud/_build_service.py new file mode 100644 index 00000000000..57dd898ae78 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_build_service.py @@ -0,0 +1,52 @@ +# -------------------------------------------------------------------------------------------- +# 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, unused-argument, redefined-builtin + +import json +from azure.cli.core.util import sdk_no_wait +from .vendored_sdks.appplatform.v2022_01_01_preview import models + +DEFAULT_BUILD_SERVICE_NAME = "default" +DEFAULT_BUILD_AGENT_POOL_NAME = "default" + + +def _update_default_build_agent_pool(cmd, client, resource_group, name, build_pool_size=None): + if build_pool_size is not None: + build_properties = models.BuildServiceAgentPoolProperties( + pool_size=models.BuildServiceAgentPoolSizeProperties( + name=build_pool_size)) + agent_pool_resource = models.BuildServiceAgentPoolResource( + properties=build_properties) + return client.build_service_agent_pool.begin_update_put( + resource_group, name, DEFAULT_BUILD_SERVICE_NAME, DEFAULT_BUILD_AGENT_POOL_NAME, agent_pool_resource) + + +def create_or_update_builder(cmd, client, resource_group, service, name, builder_json=None, builder_file=None, no_wait=False): + builder = _update_builder(builder_file, builder_json) + builder_resource = models.BuilderResource( + properties=builder + ) + return sdk_no_wait(no_wait, client.build_service_builder.begin_create_or_update, + resource_group, service, DEFAULT_BUILD_SERVICE_NAME, name, builder_resource) + + +def builder_show(cmd, client, resource_group, service, name): + return client.build_service_builder.get(resource_group, service, DEFAULT_BUILD_SERVICE_NAME, name) + + +def builder_delete(cmd, client, resource_group, service, name, no_wait=False): + return sdk_no_wait(no_wait, client.build_service_builder.begin_delete, resource_group, service, DEFAULT_BUILD_SERVICE_NAME, name) + + +def _update_builder(builder_file, builder_json): + if builder_file is not None: + with open(builder_file, 'r') as json_file: + builder = json.load(json_file) + + if builder_json is not None: + builder = json.loads(builder_json) + + return builder diff --git a/src/spring-cloud/azext_spring_cloud/_buildservices_factory.py b/src/spring-cloud/azext_spring_cloud/_buildservices_factory.py new file mode 100644 index 00000000000..c8dc974c67a --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_buildservices_factory.py @@ -0,0 +1,198 @@ +# -------------------------------------------------------------------------------------------- +# 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, unused-argument, redefined-builtin +import sys +import requests +import json +from time import sleep +from requests.auth import HTTPBasicAuth +from knack.log import get_logger +from azure.cli.core.azclierror import InvalidArgumentValueError, AzureInternalError, DeploymentError +from msrestazure.tools import parse_resource_id +from azure.cli.core.commands.client_factory import get_subscription_id +from msrestazure.azure_exceptions import CloudError +from .vendored_sdks.appplatform.v2022_01_01_preview import models +from ._deployment_uploadable_factory import uploader_selector +from ._log_stream import LogStream +from .vendored_sdks.appplatform.v2022_01_01_preview.models._app_platform_management_client_enums import SupportedRuntimeValue + +logger = get_logger(__name__) + + +class BuildService: + def __init__(self, cmd, client, resource_group, service): + self.cmd = cmd + self.client = client + self.resource_group = resource_group + self.service = service + self.name = 'default' + self.log_stream = None + self.progress_bar = None + self.terminated_state = ['Succeeded', 'Failed', 'Deleting'] + + def get_total_steps(self): + return 4 + + def build_and_get_result(self, total_steps, **kwargs): + logger.warning("[1/{}] Requesting for upload URL.".format(total_steps)) + upload_info = self._get_upload_info() + logger.warning("[2/{}] Uploading package to blob.".format(total_steps)) + uploader_selector(upload_url=upload_info.upload_url, **kwargs).upload_and_build(**kwargs) + logger.warning("[3/{}] Creating or Updating build '{}'.".format(total_steps, kwargs['app'])) + build_result_id = self._queue_build(upload_info.relative_path, **kwargs) + logger.warning("[4/{}] Waiting for building docker image to finish. This may take a few minutes.".format(total_steps)) + self._wait_build_finished(build_result_id) + return build_result_id + + def _get_upload_info(self): + try: + response = self.client.build_service.get_resource_upload_url(self.resource_group, self.service, self.name) + if not response.upload_url: + raise AzureInternalError("Failed to get a SAS URL to upload context.") + return response + except CloudError as e: + raise AzureInternalError("Failed to get a SAS URL to upload context. Error: {}".format(e.message)) + except AttributeError as e: + raise AzureInternalError("Failed to get a SAS URL to upload context. Error: {}".format(e)) + + def _queue_build(self, relative_path=None, builder=None, build_env=None, app=None, **_): + subscription = get_subscription_id(self.cmd.cli_ctx) + service_resource_id = '/subscriptions/{}/resourceGroups/{}/providers/Microsoft.AppPlatform/Spring/{}'.format(subscription, self.resource_group, self.service) + properties = models.BuildProperties( + builder='{}/buildservices/default/builders/{}'.format(service_resource_id, builder), + agent_pool='{}/buildservices/default/agentPools/default'.format(service_resource_id), + relative_path=relative_path, + env=json.loads(build_env) if build_env else None) + build = models.Build(properties=properties) + try: + return self.client.build_service.create_or_update_build(self.resource_group, + self.service, + self.name, + app, + build).properties.triggered_build_result.id + except (AttributeError, CloudError) as e: + raise DeploymentError("Failed to create or update a build. Error: {}".format(e.message)) + + def _wait_build_finished(self, build_result_id): + ''' + Wait build result finished and stream the log during the waiting + ''' + self.progress_bar = self.cmd.cli_ctx.get_progress_controller() + result = self._get_build_result(build_result_id) + + build_log_streaming_available = True + while result.properties.provisioning_state not in self.terminated_state: + try: + if build_log_streaming_available: + self._stream_build_logs(result) + except Exception as e: + build_log_streaming_available = False + logger.debug('Failed to stream log out: {}'.format(str(e))) + pass + sleep(5) + result = self._get_build_result(build_result_id) + + if not build_log_streaming_available: + logger.warning("Cannot show real time build logs at this moment") + self._try_print_build_logs(build_result_id) + + if result.properties.provisioning_state != "Succeeded": + log_url = self._try_get_build_log_url(build_result_id) + raise DeploymentError("Failed to build docker image, please check the build logs {} and retry.".format(log_url)) + + def _get_build_result(self, id): + resource_id = parse_resource_id(id) + resource_group = resource_id['resource_group'] + service = resource_id['name'] + build_service = resource_id['child_name_1'] + build = resource_id['child_name_2'] + build_result_name = resource_id['resource_name'] + response = self.client.build_service.get_build_result(resource_group, service, build_service, build, build_result_name) + self.progress_bar.add(message=response.properties.provisioning_state) + return response + + def _stream_build_logs(self, result): + pod = result.properties.build_pod_name + stages = result.properties.build_stages + if any(x is None for x in [pod, stages]): + return + for stage in stages: + self._start_build_stage_log_with_retry(result, pod, stage.name) + + def _try_print_build_logs(self, build_result_id): + blob_url = self._try_get_build_log_url(build_result_id) + if blob_url: + sys.stdout.write(requests.get(blob_url).text) + + def _try_get_build_log_url(self, build_result_id): + resource_id = parse_resource_id(build_result_id) + resource_group = resource_id['resource_group'] + service = resource_id['name'] + build_service = resource_id['child_name_1'] + build = resource_id['child_name_2'] + build_result_name = resource_id['resource_name'] + try: + return self.client.build_service.get_build_result_log(resource_group, + service, + build_service, + build, + build_result_name).blob_url + except Exception: + logger.warning("Unfortunately we are not able to display offline build logs due to unknown errors.") + + def _start_build_stage_log_with_retry(self, result, pod, stage_name): + while True: + try: + return self._start_build_stage_log(result, pod, stage_name) + except InvalidArgumentValueError as e: + logger.debug('Failed to stream log out for stage {}: {}'.format(stage_name, str(e))) + sleep(5) + pass + + def _start_build_stage_log(self, result, pod, stage_name): + if result.properties.provisioning_state not in self.terminated_state: + # refresh the build result + result = self._get_build_result(result.id) + if result.properties.provisioning_state in self.terminated_state: + logger.info('The build result is already terminated, cannot stream the log out for stage {}.'.format(stage_name)) + return + stage = next(iter(x for x in result.properties.build_stages if x.name == stage_name), None) + if not stage: + logger.debug('Not found the stage {} in latest response'.format(stage_name)) + raise 'Not found the stage {} in latest response'.format(stage_name) + self._print_build_stage_log(pod, stage) + + def _print_build_stage_log(self, pod, stage): + if stage.status == 'NotStarted': + logger.debug('Build stage {} not started yet.'.format(stage.name)) + raise InvalidArgumentValueError('Build stage {} not started yet.'.format(stage.name)) + log_stream = self._get_log_stream() + url = 'https://{}/api/logstream/buildpods/{}/stages/{}?follow=true'.format(log_stream.base_url, pod, stage.name) + with requests.get(url, stream=True, auth=HTTPBasicAuth("primary", log_stream.primary_key)) as response: + if response.status_code == 200: + logger.debug('start to stream log for stage {}'.format(stage.name)) + self.progress_bar and self.progress_bar.end() + 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')) + logger.debug('End to stream log for stage {}'.format(stage.name)) + elif response.status_code == 400: + logger.debug('Failed to stream build log with response {}'.format(response.content)) + raise InvalidArgumentValueError(response.content) + else: + status_code = response.status_code if response else 'Unknown' + content = response.content if response else 'Unknown' + logger.debug('Failed to stream build log with response {}: {}'.format(status_code, content)) + raise "Failed to get build logs with status code '{}' and reason '{}'".format( + status_code, content) + + def _get_log_stream(self): + if not self.log_stream: + self.log_stream = LogStream(self.client, self.resource_group, self.service) + return self.log_stream diff --git a/src/spring-cloud/azext_spring_cloud/_client_factory.py b/src/spring-cloud/azext_spring_cloud/_client_factory.py index d097070d603..1091fa8a36d 100644 --- a/src/spring-cloud/azext_spring_cloud/_client_factory.py +++ b/src/spring-cloud/azext_spring_cloud/_client_factory.py @@ -8,6 +8,9 @@ from .vendored_sdks.appplatform.v2020_11_01_preview import ( AppPlatformManagementClient as AppPlatformManagementClient_20201101preview ) +from .vendored_sdks.appplatform.v2022_01_01_preview import ( + AppPlatformManagementClient as AppPlatformManagementClient_20220101preview +) from .vendored_sdks.appplatform.v2021_06_01_preview import ( AppPlatformManagementClient as AppPlatformManagementClient_20210601preview ) @@ -16,6 +19,10 @@ ) +def cf_spring_cloud_20220101preview(cli_ctx, *_): + return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient_20220101preview) + + def cf_spring_cloud(cli_ctx, *_): return get_mgmt_service_client(cli_ctx, AppPlatformManagementClient) diff --git a/src/spring-cloud/azext_spring_cloud/_deployment_deployable_factory.py b/src/spring-cloud/azext_spring_cloud/_deployment_deployable_factory.py new file mode 100644 index 00000000000..2271e6d2dfa --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_deployment_deployable_factory.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order +from knack.log import get_logger +from azure.cli.core.azclierror import InvalidArgumentValueError +from .vendored_sdks.appplatform.v2022_01_01_preview import models +from ._deployment_uploadable_factory import FileUpload, FolderUpload +from azure.core.exceptions import HttpResponseError +from time import sleep +from ._stream_utils import stream_logs +from ._buildservices_factory import BuildService +from threading import Timer + +logger = get_logger(__name__) + + +class EmptyDeployableBuilder(): + ''' + Construct the default relative path + ''' + def __init__(self, cmd, client, resource_group, service, app, deployment, sku, **_): + self.cmd = cmd + self.client = client + self.resource_group = resource_group + self.service = service + self.app = app + self.deployment = deployment + self.sku = sku + + def get_total_deploy_steps(self, **_): + return 1 + + def build_deployable_path(self, **_): + return '' + + def stream_log(self, **_): + pass + + def get_source_type(self, runtime_version=None, **_): + if self.sku.name == 'E0': + return 'BuildResult' + if runtime_version and runtime_version.lower() == 'netcore_31': + return 'NetCoreZip' + return 'Jar' + + +class ContainerDeployable(EmptyDeployableBuilder): + def get_source_type(self, **_): + return 'Container' + + +class UploadDeployableBuilder(EmptyDeployableBuilder): + ''' + Request the App's upload url, upload local file/folder to the given SaS URL and return the relative_path + ''' + def get_total_deploy_steps(self, **_): + return 3 + + def build_deployable_path(self, **kwargs): + logger.warning('[1/{}] Requesting for upload URL.'.format(kwargs['total_steps'])) + upload_info = self.client.apps.get_resource_upload_url(self.resource_group, + self.service, + self.app) + if not upload_info.upload_url: + raise InvalidArgumentValueError('Failed to get a SAS URL to upload context.') + logger.warning('[2/{}] Uploading package to blob.'.format(kwargs['total_steps'])) + self._get_uploader(upload_url=upload_info.upload_url).upload_and_build(**kwargs) + return upload_info.relative_path + + def _get_uploader(self, upload_url=None): + return FileUpload(upload_url=upload_url) + + +class SourceBuildDeployableBuilder(UploadDeployableBuilder): + def build_deployable_path(self, **kwargs): + relative_path = super().build_deployable_path(**kwargs) + if not kwargs.get('no_wait'): + self.retrieve_log(**kwargs) + return relative_path + + def _get_uploader(self, upload_url=None): + return FolderUpload(upload_url=upload_url) + + def get_source_type(self, **_): + return 'Source' + + def retrieve_log(self, client, resource_group, service, app, deployment, **_): + def get_log_url(): + try: + log_file_url_response = client.deployments.get_log_file_url( + resource_group_name=resource_group, + service_name=service, + app_name=app, + deployment_name=deployment) + if not log_file_url_response: + return None + return log_file_url_response.url + except HttpResponseError: + return None + + def get_logs_loop(): + log_url = None + while not log_url or log_url == old_log_url: + log_url = get_log_url() + sleep(10) + + logger.warning("Trying to fetch build logs") + stream_logs(client.deployments, resource_group, service, + app, deployment, logger_level_func=print) + old_log_url = get_log_url() + timer = Timer(3, get_logs_loop) + timer.daemon = True + timer.start() + + +class BuildServiceDeployableBuilder(EmptyDeployableBuilder): + ''' + Call build service and get a successful build result + ''' + def __init__(self, cmd, client, resource_group, service, app, deployment, sku, **_): + super().__init__(cmd, client, resource_group, service, app, deployment, sku, **_) + self.build_service = BuildService(cmd, client, resource_group, service) + + def get_total_deploy_steps(self, **_): + return self.build_service.get_total_steps() + 1 + + def get_source_type(self, **_): + return 'BuildResult' + + def build_deployable_path(self, **kwargs): + build_result = self.build_service.build_and_get_result(**kwargs) + return build_result + + +def deployable_selector(**kwargs): + if _is_custom_container(**kwargs): + return ContainerDeployable(**kwargs) + + sku = kwargs.get('sku') + source_path = kwargs.get('source_path') + artifact_path = kwargs.get('artifact_path') + + if all(x is None for x in [source_path, artifact_path]): + # Nothing will be deployed, just return the original deployable path + return EmptyDeployableBuilder(**kwargs) + + if sku.name == 'E0': + return BuildServiceDeployableBuilder(**kwargs) + if source_path: + return SourceBuildDeployableBuilder(**kwargs) + return UploadDeployableBuilder(**kwargs) + + +def _is_custom_container(container_image=None, + **_): + return container_image diff --git a/src/spring-cloud/azext_spring_cloud/_deployment_factory.py b/src/spring-cloud/azext_spring_cloud/_deployment_factory.py new file mode 100644 index 00000000000..b4aeeaf43db --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_deployment_factory.py @@ -0,0 +1,187 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order +from azure.cli.core.azclierror import InvalidArgumentValueError +from .vendored_sdks.appplatform.v2022_01_01_preview import models +from ._deployment_source_factory import source_selector + + +APPLICATION_CONFIGURATION_SERVICE_NAME = "applicationConfigurationService" +APPLICATION_CONFIGURATION_SERVICE_PROPERTY_PATTERN = "configFilePatterns" + + +class DefaultDeployment: + def __init__(self, **kwargs): + self.source_factory = source_selector(**kwargs) + + def validate_instance_count(self, instance_count): + if instance_count < 1 or instance_count > 500: + raise InvalidArgumentValueError('Invalid --instance-count, should be in range [1, 500]') + + def format_resource(self, sku=None, instance_count=None, active=None, **kwargs): + sku.capacity = instance_count + return models.DeploymentResource( + properties=models.DeploymentResourceProperties( + active=active, + source=self.format_source(**kwargs), + deployment_settings=self.format_settings(**kwargs) + ), + sku=sku + ) + + def format_settings(self, **kwargs): + return models.DeploymentSettings( + resource_requests=self._format_resource_request(**kwargs), + container_probe_settings=self._format_container_probe(**kwargs), + environment_variables=self._get_env(**kwargs), + addon_configs=self._get_addon_configs(**kwargs) + ) + + def _format_container_probe(self, disable_probe=None, **_): + if disable_probe is None: + return None + return models.ContainerProbeSettings( + disable_probe=disable_probe + ) + + def _format_resource_request(self, cpu=None, memory=None, **_): + if not cpu and not memory: + return None + return models.ResourceRequests( + cpu=cpu, + memory=memory + ) + + def _get_env(self, env=None, **_): + return env + + def _get_addon_configs(self, config_file_patterns=None, **_): + if config_file_patterns is not None: + addon_configs = { + APPLICATION_CONFIGURATION_SERVICE_NAME: { + APPLICATION_CONFIGURATION_SERVICE_PROPERTY_PATTERN: config_file_patterns + } + } + return addon_configs + return None + + def format_source(self, **kwargs): + return self.source_factory.format_source(**kwargs) + + def get_fulfill_options(self, deployment_resource, **kwargs): + ''' + If the required method is PUT, should put the properties on original deployment back. + ''' + options = deployment_settings_options_from_resource(deployment_resource) \ + if self.require_put_method(deployment_resource, **kwargs) else {} + options.update({k: v for k, v in kwargs.items() if v}) + return options + + def get_update_backfill_options(self, **kwargs): + source_options = self.source_factory.fulfilled_options_from_original_source_info(**kwargs) + settings_options = self._backfill_settings(**kwargs) + return {**source_options, **settings_options} + + def _backfill_settings(self, **_): + return {} + + def get_deploy_method(self, client, **kwargs): + if self.require_put_method(**kwargs): + return client.deployments.begin_create_or_update + return client.deployments.begin_update + + def require_put_method(self, deployment_resource, source_type, **_): + ''' + If properties.source.type is changed from or to 'Container'. + The method must be PUT. + ''' + return 'Container' in [source_type, deployment_resource.properties.source.type] and \ + deployment_resource.properties.source.type != source_type + + +class EnterpriseDeployment(DefaultDeployment): + def _get_env(self, env, jvm_options, **_): + if jvm_options is None: + return env + env = env or {} + if jvm_options: + env['JAVA_OPTS'] = jvm_options + else: + env.pop('JAVA_OPTS', None) + return env + + def _backfill_settings(self, deployment_resource=None, env=None, jvm_options=None, **_): + if jvm_options is None or env is not None: + return {} + return {'env': deployment_resource.properties.deployment_settings.environment_variables} + + +class BasicTierDeployment(DefaultDeployment): + def validate_instance_count(self, instance_count): + if instance_count < 1 or instance_count > 25: + raise InvalidArgumentValueError('Invalid --instance-count, should be in range [1, 25]') + + +def deployment_selector(**kwargs): + sku = kwargs.get('sku', None) + if sku.name == 'E0': + return EnterpriseDeployment(**kwargs) + if sku.name == 'B0': + return BasicTierDeployment(**kwargs) + return DefaultDeployment(**kwargs) + + +def deployment_settings_options_from_resource(original): + ''' + Construct the options about deployment settings from original resource. + ''' + options = { + 'cpu': original.properties.deployment_settings.resource_requests.cpu, + 'memory': original.properties.deployment_settings.resource_requests.memory, + 'instance_count': original.sku.capacity, + 'sku': original.sku, + 'env': original.properties.deployment_settings.environment_variables, + 'config_file_patterns': _get_origin_config_file_patterns(original.properties.deployment_settings.addon_configs) + } + if original.properties.deployment_settings.container_probe_settings is not None: + options['disable_probe'] = original.properties.deployment_settings.container_probe_settings.disable_probe + return options + + +def _get_origin_config_file_patterns(origin_addon_configs): + if origin_addon_configs: + acs_addon = origin_addon_configs.get(APPLICATION_CONFIGURATION_SERVICE_NAME) + return acs_addon.get(APPLICATION_CONFIGURATION_SERVICE_PROPERTY_PATTERN) if acs_addon is not None else None + return None + + +def deployment_source_options_from_resource(original): + ''' + Construct the options about deployment source from original resource. + ''' + options = {} + if hasattr(original.properties.source, 'jvm_options'): + options['jvm_options'] = original.properties.source.jvm_options + if hasattr(original.properties.source, 'runtime_version'): + options['runtime_version'] = original.properties.source.runtime_version + return options + + +def default_deployment_create_options(): + ''' + Construct the default options for deployment creation. + TODO This is currently used for staging deployment creation when --skip-clone-settings set. + Putting it to validator and fulfill the command args makes more sense. + ''' + return { + 'cpu': '1', + 'memory': '1Gi', + 'runtime_version': 'Java_8', + 'instance_count': 1, + 'env': {}, + 'sku': None, + 'disable_probe': None + } diff --git a/src/spring-cloud/azext_spring_cloud/_deployment_source_factory.py b/src/spring-cloud/azext_spring_cloud/_deployment_source_factory.py new file mode 100644 index 00000000000..d7c272d83b9 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_deployment_source_factory.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order +from .vendored_sdks.appplatform.v2022_01_01_preview import models +from azure.cli.core.azclierror import (ArgumentUsageError) +from ._utils import convert_argument_to_parameter_list + + +class BaseSource: + def fulfilled_options_from_original_source_info(self, **_): + return {} + + def validate_source(self, **_): + pass + + +class JarSource(BaseSource): + def validate_source(self, **kwargs): + invalid_input = {k: v for k, v in kwargs.items() if k in ['main_entry', 'target_module'] and v is not None} + if any(invalid_input): + invalid_input_str = convert_argument_to_parameter_list(invalid_input.keys()) + runtime_version = kwargs.get('runtime_version') or kwargs.get('deployment_resource').properties.source.runtime_version + raise ArgumentUsageError('{} cannot be set when --runtime-version is {}.' + .format(invalid_input_str, runtime_version)) + + def format_source(self, deployable_path=None, runtime_version=None, version=None, jvm_options=None, **_): + if all(x is None for x in [deployable_path, runtime_version, version, jvm_options]): + return + return models.JarUploadedUserSourceInfo( + relative_path=deployable_path, + jvm_options=jvm_options, + runtime_version=runtime_version or 'Java_8', + version=version + ) + + def fulfilled_options_from_original_source_info(self, deployment_resource, + jvm_options=None, runtime_version=None, **_): + if all(x is None for x in [jvm_options, runtime_version]): + return {} + original_source = deployment_resource.properties.source + return { + 'jvm_options': jvm_options if jvm_options is not None else original_source.jvm_options, + 'runtime_version': runtime_version or original_source.runtime_version, + 'version': original_source.version, + 'deployable_path': original_source.relative_path + } + + +class NetCoreZipSource(BaseSource): + def validate_source(self, **kwargs): + invalid_input = {k: v for k, v in kwargs.items() if k in ['jvm_options'] and v is not None} + if any(invalid_input): + invalid_input_str = convert_argument_to_parameter_list(invalid_input.keys()) + runtime_version = kwargs.get('runtime_version') or kwargs.get('deployment_resource').properties.source.runtime_version + raise ArgumentUsageError('{} cannot be set when --runtime-version is {}.' + .format(invalid_input_str, runtime_version)) + + def format_source(self, deployable_path=None, main_entry=None, version=None, runtime_version=None, **_): + if all(x is None for x in [deployable_path, main_entry, version]): + return None + return models.NetCoreZipUploadedUserSourceInfo( + relative_path=deployable_path, + net_core_main_entry_path=main_entry, + runtime_version=runtime_version or 'NetCore_31', + version=version + ) + + def fulfilled_options_from_original_source_info(self, deployment_resource, + main_entry=None, runtime_version=None, **_): + if all(x is None for x in [main_entry, runtime_version]): + return {} + original_source = deployment_resource.properties.source + return { + 'main_entry': main_entry or original_source.net_core_main_entry_path, + 'runtime_version': runtime_version or original_source.runtime_version, + 'version': original_source.version, + 'deployable_path': original_source.relative_path + } + + +class CustomContainerSource(BaseSource): + def validate_source(self, **kwargs): + invalid_input = {k: v for k, v in kwargs.items() if k in ['jvm_options', 'main_entry', 'target_module'] and v is not None} + if any(invalid_input): + invalid_input_str = convert_argument_to_parameter_list(invalid_input.keys()) + raise ArgumentUsageError('{} cannot be set when --container-image is set.' + .format(invalid_input_str)) + + def format_source(self, version=None, **kwargs): + container = self._format_container(**kwargs) + if all(x is None for x in [container, version]): + return None + return models.CustomContainerUserSourceInfo( + custom_container=container, + version=version + ) + + def _format_container(self, container_registry=None, container_image=None, + container_command=None, container_args=None, + registry_username=None, registry_password=None, **_): + if all(x is None for x in [container_image, + container_command, container_args, + registry_username, registry_password]): + return None + credential = models.ImageRegistryCredential( + username=registry_username, + password=registry_password # [SuppressMessage("Microsoft.Security", "CS001:SecretInline", Justification="false positive")] + ) if registry_username or registry_password else None + return models.CustomContainer( + server=container_registry, + container_image=container_image, + command=container_command, + args=container_args, + image_registry_credential=credential, + ) + + +class BuildResult(BaseSource): + def format_source(self, deployable_path=None, version=None, **_): + if all(x is None for x in [deployable_path, version]): + return None + return models.BuildResultUserSourceInfo( + build_result_id=deployable_path, + version=version + ) + + +class SourceBuild(BaseSource): + def validate_source(self, **kwargs): + invalid_input = {k: v for k, v in kwargs.items() if k in ['jvm_options', 'main_entry'] and v is not None} + if any(invalid_input): + invalid_input_str = convert_argument_to_parameter_list(invalid_input.keys()) + raise ArgumentUsageError('{} cannot be set when built from source.' + .format(invalid_input_str)) + + def format_source(self, deployable_path=None, target_module=None, runtime_version=None, version=None, **_): + if all(x is None for x in [deployable_path, target_module, runtime_version, version]): + return None + return models.SourceUploadedUserSourceInfo( + relative_path=deployable_path, + version=version, + artifact_selector=target_module, + runtime_version=runtime_version + ) + + +def source_selector(source_type=None, **_): + if source_type == 'Container': + return CustomContainerSource() + if source_type == 'Source': + return SourceBuild() + if source_type == 'NetCoreZip': + return NetCoreZipSource() + if source_type == 'BuildResult': + return BuildResult() + return JarSource() diff --git a/src/spring-cloud/azext_spring_cloud/_deployment_uploadable_factory.py b/src/spring-cloud/azext_spring_cloud/_deployment_uploadable_factory.py new file mode 100644 index 00000000000..1c9ba9a219b --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_deployment_uploadable_factory.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order +import os +from re import L +import tempfile +import uuid +from azure.cli.core.azclierror import InvalidArgumentValueError +from .azure_storage_file import FileService +from ._utils import (get_azure_files_info, _pack_source_code) + + +class Empty: + def upload_and_build(self, **_): + pass + + +class FileUpload: + ''' + Upload a file in local file system to upload url + ''' + def __init__(self, upload_url): + account_name, endpoint_suffix, share_name, relative_name, sas_token = get_azure_files_info(upload_url) + self.account_name = account_name + self.endpoint_suffix = endpoint_suffix + self.share_name = share_name + self.relative_name = relative_name + self.sas_token = sas_token + + def upload_and_build(self, artifact_path, **_): + if not artifact_path: + raise InvalidArgumentValueError('--artifact-path is not set.') + self._upload(artifact_path) + + def _upload(self, artifact_path): + file_service = FileService(self.account_name, sas_token=self.sas_token, endpoint_suffix=self.endpoint_suffix) + file_service.create_file_from_path(self.share_name, None, self.relative_name, artifact_path) + + +class FolderUpload(FileUpload): + ''' + Compress and upload a folder in local file system to upload url + ''' + def upload_and_build(self, source_path, **kwargs): + if not source_path: + raise InvalidArgumentValueError('--source-path is not set.') + artifact_path = self._compress_folder(source_path) + self._upload(artifact_path) + + def _compress_folder(self, folder): + file_path = os.path.join(tempfile.gettempdir(), 'build_archive_{}.tar.gz'.format(uuid.uuid4().hex)) + _pack_source_code(os.path.abspath(folder), file_path) + return file_path + + +def uploader_selector(source_path=None, artifact_path=None, upload_url=None, **_): + if source_path: + return FolderUpload(upload_url) + if artifact_path: + return FileUpload(upload_url) + return Empty() diff --git a/src/spring-cloud/azext_spring_cloud/_help.py b/src/spring-cloud/azext_spring_cloud/_help.py index d6914540de8..d5076a58c2a 100644 --- a/src/spring-cloud/azext_spring_cloud/_help.py +++ b/src/spring-cloud/azext_spring_cloud/_help.py @@ -29,6 +29,14 @@ text: az spring-cloud create -n MyService -g MyResourceGroup --vnet MyVNet --app-subnet MyAppSubnet --service-runtime-subnet MyServiceRuntimeSubnet - name: Create a new Azure Spring Cloud with VNet-injected via giving subnets resource ID text: az spring-cloud create -n MyService -g MyResourceGroup --app-subnet /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVnetRg/providers/Microsoft.Network/VirtualNetworks/test-vnet/subnets/app --service-runtime-subnet /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVnetRg/providers/Microsoft.Network/VirtualNetworks/test-vnet/subnets/svc --reserved-cidr-range 10.0.0.0/16,10.1.0.0/16,10.2.0.1/16 + - name: Create a Azure Spring Cloud Enterprise instance if the Azure Subscription never hosts Azure Spring Cloud Enterprise instance + text: | + az provider register -n Microsoft.SaaS + az term accept --publisher vmware-inc --product azure-spring-cloud-vmware-tanzu-2 --plan tanzu-asc-ent-mtr + az spring-cloud create -n MyService -g MyResourceGroup --sku Enterprise + - name: Create a Azure Spring Cloud Enterprise instance with Tanzu components enabled. + text: | + az spring-cloud create -n MyService -g MyResourceGroup --sku Enterprise --enable-application-configuration-service --enable-service-registry --enable-gateway --enable-api-portal """ helps['spring-cloud update'] = """ @@ -218,6 +226,12 @@ text: az spring-cloud app deploy -n MyApp -s MyCluster -g MyResourceGroup --jar-path app.jar --jvm-options="-XX:+UseG1GC -XX:+UseStringDeduplication" --env foo=bar - name: Deploy source code to a specific deployment of an app. text: az spring-cloud app deploy -n MyApp -s MyCluster -g MyResourceGroup -d green-deployment + - name: Deploy a container image on Docker Hub to an app. + text: az spring-cloud app deploy -n MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 + - name: Deploy a container image on a private registry to an app. + text: az spring-cloud app deploy -n MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 --container-registry myacr.azurecr.io --registry-username --registry-password + - name: Deploy with Application Configuration Service config file patterns to an app. + text: az spring-cloud app deploy -n MyApp -s MyCluster -g MyResourceGroup --config-file-patterns MyPatterns --jar-path app.jar """ helps['spring-cloud app scale'] = """ @@ -325,6 +339,10 @@ text: az spring-cloud app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup - name: Deploy a pre-built jar to an app with jvm options and environment variables. text: az spring-cloud app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --jar-path app.jar --jvm-options="-XX:+UseG1GC -XX:+UseStringDeduplication" --env foo=bar + - name: Deploy a container image on Docker Hub to an app. + text: az spring-cloud app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 + - name: Deploy a container image on a private registry to an app. + text: az spring-cloud app deployment create -n green-deployment --app MyApp -s MyCluster -g MyResourceGroup --container-image contoso/your-app:v1 --container-registry myacr.azurecr.io --registry-username --registry-password """ helps['spring-cloud app deployment generate-heap-dump'] = """ @@ -344,7 +362,7 @@ helps['spring-cloud config-server'] = """ type: group - short-summary: Commands to manage Config Server in Azure Spring Cloud. + short-summary: (Support Standard Tier and Basic Tier) Commands to manage Config Server in Azure Spring Cloud. """ helps['spring-cloud config-server show'] = """ @@ -568,3 +586,371 @@ - name: Disable Application Insights. text: az spring-cloud app-insights update -n MyService -g MyResourceGroup --disable """ + +helps['spring-cloud service-registry'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage Service Registry in Azure Spring Cloud. +""" + +helps['spring-cloud service-registry show'] = """ + type: command + short-summary: Show the provisioning status and runtime status of Service Registry. +""" + +helps['spring-cloud service-registry bind'] = """ + type: command + short-summary: Bind an app to Service Registry. + examples: + - name: Bind an app to Service Registry. + text: az spring-cloud service-registry bind --app MyApp -s MyService -g MyResourceGroup +""" + +helps['spring-cloud service-registry unbind'] = """ + type: command + short-summary: Unbind an app from Service Registry. + examples: + - name: Unbind an app from Service Registry. + text: az spring-cloud service-registry unbind --app MyApp -s MyService -g MyResourceGroup +""" + +helps['spring-cloud build-service'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage Build Service +""" + +helps['spring-cloud build-service builder'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage Builder Resource +""" + +helps['spring-cloud build-service builder create'] = """ + type: command + short-summary: Create a builder. + examples: + - name: Create a builder using JSON file. + text: az spring-cloud build-service builder create --name my-builder --builder-json MyJson.json --service clitest --resource-group cli +""" + +helps['spring-cloud build-service builder update'] = """ + type: command + short-summary: Update a builder. + examples: + - name: Update a builder using JSON file. + text: az spring-cloud build-service builder update --name my-builder --builder-json MyJson.json --service clitest --resource-group cli +""" + +helps['spring-cloud build-service builder show'] = """ + type: command + short-summary: Show a builder. + examples: + - name: Show a builder. + text: az spring-cloud build-service builder show --name my-builder --service clitest --resource-group cli +""" + +helps['spring-cloud build-service builder delete'] = """ + type: command + short-summary: Delete a builder. + examples: + - name: Delete a builder. + text: az spring-cloud build-service builder delete --name my-builder --service clitest --resource-group cli +""" + +helps['spring-cloud application-configuration-service'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage Application Configuration Service in Azure Spring Cloud. +""" + +helps['spring-cloud application-configuration-service show'] = """ + type: command + short-summary: Show the provisioning status, runtime status, and settings of Application Configuration Service. +""" + +helps['spring-cloud application-configuration-service clear'] = """ + type: command + short-summary: Reset all Application Configuration Service settings. +""" + +helps['spring-cloud application-configuration-service git'] = """ + type: group + short-summary: Commands to manage Application Configuration Service git property in Azure Spring Cloud. +""" + +helps['spring-cloud application-configuration-service git repo'] = """ + type: group + short-summary: Commands to manage Application Configuration Service git repository in Azure Spring Cloud. +""" + +helps['spring-cloud application-configuration-service git repo add'] = """ + type: command + short-summary: Add a Git property to the Application Configuration Service settings. + examples: + - name: Add a Git property. + text: az spring-cloud application-configuration-service git repo add -s MyService -g MyResourceGroup --name MyName --patterns MyPattern --uri https://MyURI --label master +""" + +helps['spring-cloud application-configuration-service git repo update'] = """ + type: command + short-summary: Update an existing Git property in the Application Configuration Service settings. + examples: + - name: Update a Git property. + text: az spring-cloud application-configuration-service git repo update -s MyService -g MyResourceGroup --name MyName --patterns MyPattern +""" + +helps['spring-cloud application-configuration-service git repo remove'] = """ + type: command + short-summary: Delete an existing Git property from the Application Configuration Service settings. + examples: + - name: Delete a Git property. + text: az spring-cloud application-configuration-service git repo remove -s MyService -g MyResourceGroup --name MyName +""" + +helps['spring-cloud application-configuration-service git repo list'] = """ + type: command + short-summary: List all Git settings of Application Configuration Service. +""" + +helps['spring-cloud application-configuration-service bind'] = """ + type: command + short-summary: Bind an app to Application Configuration Service. + examples: + - name: Bind an app to Application Configuration Service. + text: az spring-cloud application-configuration-service bind --app MyApp -s MyService -g MyResourceGroup +""" + +helps['spring-cloud application-configuration-service unbind'] = """ + type: command + short-summary: Unbind an app from Application Configuration Service. + examples: + - name: Unbind an app from Application Configuration Service. + text: az spring-cloud application-configuration-service unbind --app MyApp -s MyService -g MyResourceGroup +""" + +helps['spring-cloud gateway'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage gateway in Azure Spring Cloud. +""" + +helps['spring-cloud gateway clear'] = """ + type: command + short-summary: Clear all settings of gateway. +""" + +helps['spring-cloud gateway show'] = """ + type: command + short-summary: Show the settings, provisioning status and runtime status of gateway. +""" + +helps['spring-cloud gateway update'] = """ + type: command + short-summary: Update an existing gateway properties. + examples: + - name: Update gateway property. + text: az spring-cloud gateway update -s MyService -g MyResourceGroup --assign-endpoint true --https-only true +""" + +helps['spring-cloud gateway route-config'] = """ + type: group + short-summary: Commands to manage gateway route configs in Azure Spring Cloud. +""" + +helps['spring-cloud gateway route-config create'] = """ + type: command + short-summary: Create a gateway route config with routing rules of Json array format. + examples: + - name: Create a gateway route config targeting the app in Azure Spring Cloud. + text: az spring-cloud gateway route-config create -s MyService -g MyResourceGroup --name MyName --app-name MyApp --routes-file MyJson.json +""" + +helps['spring-cloud gateway route-config update'] = """ + type: command + short-summary: Update an existing gateway route config with routing rules of Json array format. + examples: + - name: Update an existing gateway route config targeting the app in Azure Spring Cloud. + text: az spring-cloud gateway route-config update -s MyService -g MyResourceGroup --name MyName --app-name MyApp --routes-file MyJson.json +""" + +helps['spring-cloud gateway route-config remove'] = """ + type: command + short-summary: Delete an existing gateway route config. + examples: + - name: Delete an existing gateway route config. + text: az spring-cloud gateway route-config remove -s MyService -g MyResourceGroup --name MyName +""" + +helps['spring-cloud gateway route-config show'] = """ + type: command + short-summary: Get an existing gateway route config. + examples: + - name: Get an existing gateway route config. + text: az spring-cloud gateway route-config show -s MyService -g MyResourceGroup --name MyName +""" + +helps['spring-cloud gateway route-config list'] = """ + type: command + short-summary: List all existing gateway route configs. + examples: + - name: List all existing gateway route configs. + text: az spring-cloud gateway route-config list -s MyService -g MyResourceGroup +""" + +helps['spring-cloud gateway custom-domain'] = """ + type: group + short-summary: Commands to manage custom domains for gateway. +""" + +helps['spring-cloud gateway custom-domain bind'] = """ + type: command + short-summary: Bind a custom domain with the gateway. + examples: + - name: Bind a custom domain to gateway. + text: az spring-cloud gateway custom-domain bind --domain-name MyDomainName --certificate MyCertName --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud gateway custom-domain show'] = """ + type: command + short-summary: Show details of a custom domain. +""" + +helps['spring-cloud gateway custom-domain list'] = """ + type: command + short-summary: List all custom domains of the gateway. + examples: + - name: List all custom domains of the gateway. + text: az spring-cloud gateway custom-domain list --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud gateway custom-domain update'] = """ + type: command + short-summary: Update a custom domain of the gateway. + examples: + - name: Bind custom domain with a specified certificate. + text: az spring-cloud gateway custom-domain update --domain-name MyDomainName --certificate MCertName --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud gateway custom-domain unbind'] = """ + type: command + short-summary: Unbind a custom-domain of the gateway. +""" + +helps['spring-cloud api-portal'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage API portal in Azure Spring Cloud. +""" + +helps['spring-cloud api-portal clear'] = """ + type: command + short-summary: Clear all settings of API portal. +""" + +helps['spring-cloud api-portal show'] = """ + type: command + short-summary: Show the settings, provisioning status and runtime status of API portal. +""" + +helps['spring-cloud api-portal update'] = """ + type: command + short-summary: Update an existing API portal properties. + examples: + - name: Update API portal property. + text: az spring-cloud api-portal update -s MyService -g MyResourceGroup --assign-endpoint true --https-only true +""" + +helps['spring-cloud api-portal custom-domain'] = """ + type: group + short-summary: Commands to manage custom domains for API portal. +""" + +helps['spring-cloud api-portal custom-domain bind'] = """ + type: command + short-summary: Bind a custom domain with the API portal. + examples: + - name: Bind a custom domain to API portal. + text: az spring-cloud api-portal custom-domain bind --domain-name MyDomainName --certificate MyCertName --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud api-portal custom-domain show'] = """ + type: command + short-summary: Show details of a custom domain. +""" + +helps['spring-cloud api-portal custom-domain list'] = """ + type: command + short-summary: List all custom domains of the API portal. + examples: + - name: List all custom domains of the API portal. + text: az spring-cloud api-portal custom-domain list --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud api-portal custom-domain update'] = """ + type: command + short-summary: Update a custom domain of the API portal. + examples: + - name: Bind custom domain with a specified certificate. + text: az spring-cloud api-portal custom-domain update --domain-name MyDomainName --certificate MCertName --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud api-portal custom-domain unbind'] = """ + type: command + short-summary: Unbind a custom-domain of the API portal. +""" + +helps['spring-cloud build-service'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage build service in Azure Spring Cloud. +""" + +helps['spring-cloud build-service builder'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage builder of build service. +""" + +helps['spring-cloud build-service builder buildpack-binding'] = """ + type: group + short-summary: (Enterprise Tier Only) Commands to manage buildpack-binding of builder. +""" + +helps['spring-cloud build-service builder buildpack-binding create'] = """ + type: command + short-summary: (Enterprise Tier Only) Create a buildpack binding. + examples: + - name: Create a buildpack binding without properties or secrets. + text: az spring-cloud build-service builder buildpack-binding create --name first-binding --builder-name first-builder --type ApplicationInsights --service MyCluster --resource-group MyResourceGroup + - name: Create a buildpack binding with only secrets. + text: az spring-cloud build-service builder buildpack-binding create --name first-binding --builder-name first-builder --type ApplicationInsights --secrets k1=v1 k2=v2 --service MyCluster --resource-group MyResourceGroup + - name: Create a buildpack binding with only properties. + text: az spring-cloud build-service builder buildpack-binding create --name first-binding --builder-name first-builder --type ApplicationInsights --properties a=b c=d --service MyCluster --resource-group MyResourceGroup + - name: Create a buildpack binding with properties and secrets. + text: az spring-cloud build-service builder buildpack-binding create --name first-binding --builder-name first-builder --type ApplicationInsights --properties a=b c=d --secrets k1=v1 k2=v2 --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud build-service builder buildpack-binding set'] = """ + type: command + short-summary: (Enterprise Tier Only) Set a buildpack binding. + examples: + - name: Set a buildpack binding with properties and secrets. + text: az spring-cloud build-service builder buildpack-binding set --name first-binding --builder-name first-builder --type ApplicationInsights --properties a=b c=d --secrets k1=v1 k2=v2 --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud build-service builder buildpack-binding show'] = """ + type: command + short-summary: (Enterprise Tier Only) Show a buildpack binding. The secrets will be masked. + examples: + - name: Show a buildpack binding. + text: az spring-cloud build-service builder buildpack-binding show --name first-binding --builder-name first-builder --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud build-service builder buildpack-binding list'] = """ + type: command + short-summary: (Enterprise Tier Only) List all buildpack binding in a builder. The secrets will be masked. + examples: + - name: List all buildpack binding of a builder. + text: az spring-cloud build-service builder buildpack-binding list --builder-name first-builder --service MyCluster --resource-group MyResourceGroup +""" + +helps['spring-cloud build-service builder buildpack-binding delete'] = """ + type: command + short-summary: (Enterprise Tier Only) Delete a buildpack binding. + examples: + - name: Delete a buildpack binding. + text: az spring-cloud build-service builder buildpack-binding delete --name first-binding --builder-name first-builder --service MyCluster --resource-group MyResourceGroup +""" diff --git a/src/spring-cloud/azext_spring_cloud/_log_stream.py b/src/spring-cloud/azext_spring_cloud/_log_stream.py new file mode 100644 index 00000000000..7d5c43ed84d --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_log_stream.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import re + + +class LogStream: + def __init__(self, client, resource_group, service): + test_keys = client.services.list_test_keys(resource_group, service) + self.primary_key = test_keys.primary_key + # https://primary:xxxx[key]@servicename.test.azuremicrosoervice.io -> servicename.azuremicroservice.io + test_url = test_keys.primary_test_endpoint + base_url = test_url.replace('.test.', '.') + self.base_url = re.sub('https://.+?\@', '', base_url) diff --git a/src/spring-cloud/azext_spring_cloud/_params.py b/src/spring-cloud/azext_spring_cloud/_params.py index 7cd46758d36..94a685104c6 100644 --- a/src/spring-cloud/azext_spring_cloud/_params.py +++ b/src/spring-cloud/azext_spring_cloud/_params.py @@ -9,14 +9,29 @@ from azure.cli.core.commands.parameters import (name_type, get_location_type, resource_group_name_type) from ._validators import (validate_env, validate_cosmos_type, validate_resource_id, validate_location, validate_name, validate_app_name, validate_deployment_name, validate_log_lines, - validate_log_limit, validate_log_since, validate_sku, validate_jvm_options, + validate_log_limit, validate_log_since, validate_sku, normalize_sku, validate_jvm_options, validate_vnet, validate_vnet_required_parameters, validate_node_resource_group, validate_tracing_parameters_asc_create, validate_tracing_parameters_asc_update, validate_app_insights_parameters, validate_instance_count, validate_java_agent_parameters, validate_jar) +from ._validators_enterprise import (only_support_enterprise, validate_builder_resource, validate_builder_create, + validate_builder_update, validate_build_pool_size, + validate_git_uri, validate_acs_patterns, validate_config_file_patterns, + validate_routes, validate_gateway_instance_count, + validate_api_portal_instance_count, + validate_buildpack_binding_exist, validate_buildpack_binding_not_exist, + validate_buildpack_binding_properties, validate_buildpack_binding_secrets, + validate_build_env, validate_target_module, validate_runtime_version) +from ._app_validator import (fulfill_deployment_param, active_deployment_exist, + ensure_not_active_deployment, validate_deloy_path, validate_deloyment_create_path, + validate_cpu, validate_memory, fulfill_deployment_param_or_warning, active_deployment_exist_or_warning) from ._utils import ApiType + from .vendored_sdks.appplatform.v2020_07_01.models import RuntimeVersion, TestKeyType +from .vendored_sdks.appplatform.v2022_01_01_preview.models \ + import _app_platform_management_client_enums as v20220101_preview_AppPlatformEnums +from .vendored_sdks.appplatform.v2022_01_01_preview.models._app_platform_management_client_enums import SupportedRuntimeValue, TestKeyType name_type = CLIArgumentType(options_list=[ '--name', '-n'], help='The primary resource name', validator=validate_name) @@ -24,6 +39,13 @@ validator=validate_env, help="Space-separated environment variables in 'key[=value]' format.", nargs='*') service_name_type = CLIArgumentType(options_list=['--service', '-s'], help='Name of Azure Spring Cloud, you can configure the default service using az configure --defaults spring-cloud=.', configured_default='spring-cloud') app_name_type = CLIArgumentType(help='App name, you can configure the default app using az configure --defaults spring-cloud-app=.', validator=validate_app_name, configured_default='spring-cloud-app') +sku_type = CLIArgumentType(arg_type=get_enum_type(['Basic', 'Standard', 'Enterprise']), help='Name of SKU. Enterprise is still in Preview.') +source_path_type = CLIArgumentType(nargs='?', const='.', + help="Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided.", + arg_group='Source Code deploy') +# app cpu and memory +cpu_type = CLIArgumentType(type=str, help='CPU resource quantity. Should be 500m or number of CPU cores.', validator=validate_cpu) +memort_type = CLIArgumentType(type=str, help='Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.', validator=validate_memory) # pylint: disable=too-many-statements @@ -38,38 +60,88 @@ def load_arguments(self, _): # https://dev.azure.com/msazure/AzureDMSS/_workitems/edit/11002857/ with self.argument_context('spring-cloud create') as c: c.argument('location', arg_type=get_location_type(self.cli_ctx), validator=validate_location) - c.argument('reserved_cidr_range', help='Comma-separated list of IP address ranges in CIDR format. The IP ranges are reserved to host underlying Azure Spring Cloud infrastructure, which should be 3 at least /16 unused IP ranges, must not overlap with any Subnet IP ranges.', validator=validate_vnet_required_parameters) - c.argument('vnet', help='The name or ID of an existing Virtual Network into which to deploy the Spring Cloud instance.', validator=validate_vnet_required_parameters) - c.argument('app_subnet', help='The name or ID of an existing subnet in "vnet" into which to deploy the Spring Cloud app. Required when deploying into a Virtual Network. Smaller subnet sizes are supported, please refer: https://aka.ms/azure-spring-cloud-smaller-subnet-vnet-docs', validator=validate_vnet_required_parameters) - c.argument('service_runtime_subnet', options_list=['--service-runtime-subnet', '--svc-subnet'], help='The name or ID of an existing subnet in "vnet" into which to deploy the Spring Cloud service runtime. Required when deploying into a Virtual Network.', validator=validate_vnet) - c.argument('service_runtime_network_resource_group', options_list=['--service-runtime-network-resource-group', '--svc-nrg'], help='The resource group where all network resources for Azure Spring Cloud service runtime will be created in.', validator=validate_node_resource_group) - c.argument('app_network_resource_group', options_list=['--app-network-resource-group', '--app-nrg'], help='The resource group where all network resources for apps will be created in.', validator=validate_node_resource_group) + c.argument('sku', arg_type=sku_type, default='Standard', validator=validate_sku) + c.argument('reserved_cidr_range', arg_group='VNet Injection', help='Comma-separated list of IP address ranges in CIDR format. The IP ranges are reserved to host underlying Azure Spring Cloud infrastructure, which should be 3 at least /16 unused IP ranges, must not overlap with any Subnet IP ranges.', validator=validate_vnet_required_parameters) + c.argument('vnet', arg_group='VNet Injection', help='The name or ID of an existing Virtual Network into which to deploy the Spring Cloud instance.', validator=validate_vnet_required_parameters) + c.argument('app_subnet', arg_group='VNet Injection', help='The name or ID of an existing subnet in "vnet" into which to deploy the Spring Cloud app. Required when deploying into a Virtual Network. Smaller subnet sizes are supported, please refer: https://aka.ms/azure-spring-cloud-smaller-subnet-vnet-docs', validator=validate_vnet_required_parameters) + c.argument('service_runtime_subnet', arg_group='VNet Injection', options_list=['--service-runtime-subnet', '--svc-subnet'], help='The name or ID of an existing subnet in "vnet" into which to deploy the Spring Cloud service runtime. Required when deploying into a Virtual Network.', validator=validate_vnet) + c.argument('service_runtime_network_resource_group', arg_group='VNet Injection', options_list=['--service-runtime-network-resource-group', '--svc-nrg'], help='The resource group where all network resources for Azure Spring Cloud service runtime will be created in.', validator=validate_node_resource_group) + c.argument('app_network_resource_group', arg_group='VNet Injection', options_list=['--app-network-resource-group', '--app-nrg'], help='The resource group where all network resources for apps will be created in.', validator=validate_node_resource_group) c.argument('enable_java_agent', + arg_group='Application Insights', arg_type=get_three_state_flag(), help="Java in process agent is now GA-ed and used by default when Application Insights enabled. " "This parameter is no longer needed and will be removed in future release.", validator=validate_java_agent_parameters, deprecate_info=c.deprecate(target='--enable-java-agent', hide=True)) c.argument('app_insights_key', + arg_group='Application Insights', help="Connection string (recommended) or Instrumentation key of the existing Application Insights.", validator=validate_tracing_parameters_asc_create) c.argument('app_insights', + arg_group='Application Insights', help="Name of the existing Application Insights in the same Resource Group. " "Or Resource ID of the existing Application Insights in a different Resource Group.", validator=validate_tracing_parameters_asc_create) c.argument('sampling_rate', type=float, + arg_group='Application Insights', help="Sampling Rate of application insights. Minimum is 0, maximum is 100.", validator=validate_tracing_parameters_asc_create) c.argument('disable_app_insights', arg_type=get_three_state_flag(), + arg_group='Application Insights', help="Disable Application Insights, " "if not disabled and no existing Application Insights specified with " "--app-insights-key or --app-insights, " "will create a new Application Insights instance in the same resource group.", validator=validate_tracing_parameters_asc_create) + c.argument('zone_redundant', + arg_type=get_three_state_flag(), + help="Create your Azure Spring Cloud service in an Azure availability zone or not, " + "this could only be supported in several regions at the moment.", + default=False, is_preview=True) + c.argument('build_pool_size', + arg_type=get_enum_type(['S1', 'S2', 'S3', 'S4', 'S5']), + validator=validate_build_pool_size, + is_preview=True, + help='(Enterprise Tier Only) Size of build agent pool. See aka.ms/azure-spring-cloud-build-service-docs for size info.') + c.argument('enable_application_configuration_service', + action='store_true', + is_preview=True, + options_list=['--enable-application-configuration-service', '--enable-acs'], + help='(Enterprise Tier Only) Enable Application Configuration Service.') + c.argument('enable_service_registry', + action='store_true', + is_preview=True, + options_list=['--enable-service-registry', '--enable-sr'], + help='(Enterprise Tier Only) Enable Service Registry.') + c.argument('enable_gateway', + arg_group="Spring Cloud Gateway", + action='store_true', + is_preview=True, + help='(Enterprise Tier Only) Enable Spring Cloud Gateway.') + c.argument('gateway_instance_count', + arg_group="Spring Cloud Gateway", + type=int, + validator=validate_gateway_instance_count, + is_preview=True, + help='(Enterprise Tier Only) Number of Spring Cloud Gateway instances.') + c.argument('enable_api_portal', + arg_group="API portal", + action='store_true', + is_preview=True, + help='(Enterprise Tier Only) Enable API portal.') + c.argument('api_portal_instance_count', + arg_group="API portal", + type=int, + validator=validate_api_portal_instance_count, + is_preview=True, + options_list=['--api-portal-instance-count', '--ap-instance'], + help='(Enterprise Tier Only) Number of API portal instances.') with self.argument_context('spring-cloud update') as c: + c.argument('sku', arg_type=sku_type, validator=normalize_sku) c.argument('app_insights_key', help="Connection string (recommended) or Instrumentation key of the existing Application Insights.", validator=validate_tracing_parameters_asc_update, @@ -93,10 +165,13 @@ def load_arguments(self, _): deprecate_info=c.deprecate(target='az spring-cloud update --disable-app-insights', redirect='az spring-cloud app-insights update --disable', hide=True)) + c.argument('build_pool_size', + arg_type=get_enum_type(['S1', 'S2', 'S3', 'S4', 'S5']), + is_preview=True, + help='(Enterprise Tier Only) Size of build agent pool. See aka.ms/azure-spring-cloud-build-service-docs for size info.') for scope in ['spring-cloud create', 'spring-cloud update']: with self.argument_context(scope) as c: - c.argument('sku', type=str, validator=validate_sku, help='Name of SKU, the value is "Basic" or "Standard"') c.argument('tags', arg_type=tags_type) with self.argument_context('spring-cloud test-endpoint renew-key') as c: @@ -113,10 +188,8 @@ def load_arguments(self, _): options_list=['--assign-endpoint', c.deprecate(target='--is-public', redirect='--assign-endpoint', hide=True)]) c.argument('assign_identity', arg_type=get_three_state_flag(), help='If true, assign managed service identity.') - c.argument('cpu', type=str, default="1", - help='CPU resource quantity. Should be 500m or number of CPU cores.') - c.argument('memory', type=str, default="1Gi", - help='Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.') + c.argument('cpu', arg_type=cpu_type, default="1") + c.argument('memory', arg_type=memort_type, default="1Gi") c.argument('instance_count', type=int, default=1, help='Number of instance.', validator=validate_instance_count) c.argument('persistent_storage', type=str, @@ -129,11 +202,16 @@ def load_arguments(self, _): help='If true, assign endpoint URL for direct access.', options_list=['--assign-endpoint', c.deprecate(target='--is-public', redirect='--assign-endpoint', hide=True)]) c.argument('https_only', arg_type=get_three_state_flag(), help='If true, access app via https', default=False) - c.argument('enable_end_to_end_tls', arg_type=get_three_state_flag(), help='If true, enable end to end tls') + c.argument('enable_ingress_to_app_tls', arg_type=get_three_state_flag(), + help='If true, enable ingress to app tls', + options_list=['--enable-ingress-to-app-tls', c.deprecate(target='--enable-end-to-end-tls', redirect='--enable-ingress-to-app-tls', hide=True)]) c.argument('persistent_storage', type=str, help='A json file path for the persistent storages to be mounted to the app') c.argument('loaded_public_certificate_file', type=str, options_list=['--loaded-public-certificate-file', '-f'], help='A json file path indicates the certificates which would be loaded to app') + 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=fulfill_deployment_param_or_warning) with self.argument_context('spring-cloud app append-persistent-storage') as c: c.argument('storage_name', type=str, @@ -146,12 +224,16 @@ def load_arguments(self, _): c.argument('mount_options', nargs='+', help='[optional] The mount options for the persistent storage volume.', default=None) c.argument('read_only', arg_type=get_three_state_flag(), help='[optional] If true, the persistent storage volume will be read only.', default=False) - for scope in ['spring-cloud app update', 'spring-cloud app start', 'spring-cloud app stop', 'spring-cloud app restart', 'spring-cloud app deploy', 'spring-cloud app scale', 'spring-cloud app set-deployment', 'spring-cloud app show-deploy-log']: + for scope in ['spring-cloud app start', 'spring-cloud app stop', 'spring-cloud app restart', 'spring-cloud app deploy', 'spring-cloud app scale', 'spring-cloud app set-deployment', 'spring-cloud app show-deploy-log']: with self.argument_context(scope) as c: 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('main_entry', options_list=[ - '--main-entry', '-m'], help="The path to the .NET executable relative to zip root.") + '--deployment', '-d'], help='Name of an existing deployment of the app. Default to the production deployment if not specified.', validator=fulfill_deployment_param) + + with self.argument_context('spring-cloud app unset-deployment') as c: + c.argument('name', name_type, help='Name of app.', validator=active_deployment_exist) + + with self.argument_context('spring-cloud app identity') as c: + c.argument('name', name_type, help='Name of app.', validator=active_deployment_exist_or_warning) with self.argument_context('spring-cloud app identity assign') as c: c.argument('scope', help="The scope the managed identity has access to") @@ -165,7 +247,7 @@ def prepare_logs_argument(c): 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) + '--deployment', '-d'], help='Name of an existing deployment of the app. Default to the production deployment if not specified.', validator=fulfill_deployment_param) 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') @@ -177,7 +259,7 @@ def prepare_logs_argument(c): with self.argument_context('spring-cloud app set-deployment') as c: c.argument('deployment', options_list=[ - '--deployment', '-d'], help='Name of an existing deployment of the app.', validator=validate_deployment_name) + '--deployment', '-d'], help='Name of an existing deployment of the app.', validator=ensure_not_active_deployment) for scope in ['spring-cloud app create', 'spring-cloud app update']: with self.argument_context(scope) as c: @@ -186,16 +268,25 @@ def prepare_logs_argument(c): for scope in ['spring-cloud app update', 'spring-cloud app deployment create', 'spring-cloud app deploy', 'spring-cloud app create']: with self.argument_context(scope) as c: - c.argument('runtime_version', arg_type=get_enum_type(RuntimeVersion), - help='Runtime version of used language') + c.argument('runtime_version', arg_type=get_enum_type(SupportedRuntimeValue), + help='Runtime version of used language', validator=validate_runtime_version) c.argument('jvm_options', type=str, validator=validate_jvm_options, help="A string containing jvm options, use '=' instead of ' ' for this argument to avoid bash parse error, eg: --jvm-options='-Xms1024m -Xmx2048m'") c.argument('env', env_type) c.argument('disable_probe', arg_type=get_three_state_flag(), help='If true, disable the liveness and readiness probe.') + c.argument('main_entry', options_list=[ + '--main-entry', '-m'], help="The path to the .NET executable relative to zip root.") + + for scope in ['update', 'deployment create', 'deploy']: + with self.argument_context('spring-cloud app {}'.format(scope)) as c: + c.argument('config_file_patterns', + help="(Enterprise Tier Only) Config file patterns separated with \',\' to decide which patterns " + "of Application Configuration Service will be used. Use '\"\"' to clear existing configurations.", + validator=validate_config_file_patterns, is_preview=True) with self.argument_context('spring-cloud app scale') as c: - c.argument('cpu', type=str, help='CPU resource quantity. Should be 500m or number of CPU cores.') - c.argument('memory', type=str, help='Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.') + c.argument('cpu', arg_type=cpu_type) + c.argument('memory', arg_type=memort_type) c.argument('instance_count', type=int, help='Number of instance.', validator=validate_instance_count) for scope in ['spring-cloud app deploy', 'spring-cloud app deployment create']: @@ -205,25 +296,44 @@ def prepare_logs_argument(c): c.deprecate(target='--jar-path', redirect='--artifact-path', hide=True), c.deprecate(target='-p', redirect='--artifact-path', hide=True)], help='Deploy the specified pre-built artifact (jar or netcore zip).', validator=validate_jar) - c.argument( - 'source_path', nargs='?', const='.', - help="Deploy the specified source folder. The folder will be packed into tar, uploaded, and built using kpack. Default to the current folder if no value provided.") c.argument( 'disable_validation', arg_type=get_three_state_flag(), help='If true, disable jar validation.') + c.argument('builder', help='(Enterprise Tier Only) Build service builder used to build the executable.', default='default', is_preview=True) c.argument( 'main_entry', options_list=[ '--main-entry', '-m'], help="A string containing the path to the .NET executable relative to zip root.") c.argument( - 'target_module', help='Child module to be deployed, required for multiple jar packages built from source code.') + 'target_module', help='Child module to be deployed, required for multiple jar packages built from source code.', + arg_group='Source Code deploy', validator=validate_target_module) c.argument( 'version', help='Deployment version, keep unchanged if not set.') + c.argument( + 'container_image', help='The container image tag.', arg_group='Custom Container') + c.argument( + 'container_registry', default='docker.io', help='The registry of the container image.', arg_group='Custom Container') + c.argument( + 'registry_username', help='The username of the container registry.', arg_group='Custom Container') + c.argument( + 'registry_password', help='The password of the container registry.', arg_group='Custom Container') + c.argument( + 'container_command', help='The command of the container image.', nargs='*', arg_group='Custom Container') + c.argument( + 'container_args', help='The arguments of the container image.', nargs='*', arg_group='Custom Container') + c.argument( + 'build_env', help='The key-value pairs of env used in build phase.', validator=validate_build_env) + + with self.argument_context('spring-cloud app deploy') as c: + c.argument('source_path', arg_type=source_path_type, validator=validate_deloy_path) + + with self.argument_context('spring-cloud app deployment create') as c: + c.argument('source_path', arg_type=source_path_type, validator=validate_deloyment_create_path) with self.argument_context('spring-cloud app deployment create') as c: c.argument('skip_clone_settings', help='Create staging deployment will automatically copy settings from production deployment.', action='store_true') - c.argument('cpu', type=str, help='CPU resource quantity. Should be 500m or number of CPU cores.') - c.argument('memory', type=str, help='Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.') + c.argument('cpu', arg_type=cpu_type) + c.argument('memory', arg_type=memort_type) c.argument('instance_count', type=int, help='Number of instance.', validator=validate_instance_count) with self.argument_context('spring-cloud app deployment') as c: @@ -234,24 +344,20 @@ def prepare_logs_argument(c): for scope in ['spring-cloud app deployment generate-heap-dump', 'spring-cloud app deployment generate-thread-dump']: with self.argument_context(scope) as c: 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) + '--deployment', '-d'], help='Name of an existing deployment of the app. Default to the production deployment if not specified.', validator=fulfill_deployment_param) c.argument('app_instance', help='Target app instance you want to dump.') c.argument('file_path', help='The mount file path for your dump file.') with self.argument_context('spring-cloud app deployment start-jfr') as c: 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) + '--deployment', '-d'], help='Name of an existing deployment of the app. Default to the production deployment if not specified.', validator=fulfill_deployment_param) c.argument('app_instance', help='Target app instance you want to dump.') c.argument('file_path', help='The mount file path for your dump file.') c.argument('duration', type=str, default="60s", help='Duration of JFR.') - with self.argument_context('spring-cloud app deployment') as c: - c.argument('app', app_name_type, help='Name of app.', - validator=validate_app_name) - with self.argument_context('spring-cloud app binding') as c: c.argument('app', app_name_type, help='Name of app.', - validator=validate_app_name) + validator=active_deployment_exist_or_warning) c.argument('name', name_type, help='Name of service binding.') for scope in ['spring-cloud app binding cosmos add', 'spring-cloud app binding mysql add', 'spring-cloud app binding redis add']: @@ -353,16 +459,20 @@ def prepare_logs_argument(c): with self.argument_context('spring-cloud app custom-domain') as c: c.argument('service', service_name_type) - c.argument('app', app_name_type, help='Name of app.', validator=validate_app_name) + c.argument('app', app_name_type, help='Name of app.', validator=active_deployment_exist_or_warning) c.argument('domain_name', help='Name of custom domain.') with self.argument_context('spring-cloud app custom-domain bind') as c: c.argument('certificate', type=str, help='Certificate name in Azure Spring Cloud.') - c.argument('enable_end_to_end_tls', arg_type=get_three_state_flag(), help='If true, enable end to end tls') + c.argument('enable_ingress_to_app_tls', arg_type=get_three_state_flag(), + help='If true, enable ingress to app tls', + options_list=['--enable-ingress-to-app-tls', c.deprecate(target='--enable-end-to-end-tls', redirect='--enable-ingress-to-app-tls', hide=True)]) with self.argument_context('spring-cloud app custom-domain update') as c: c.argument('certificate', help='Certificate name in Azure Spring Cloud.') - c.argument('enable_end_to_end_tls', arg_type=get_three_state_flag(), help='If true, enable end to end tls') + c.argument('enable_ingress_to_app_tls', arg_type=get_three_state_flag(), + help='If true, enable ingress to app tls', + options_list=['--enable-ingress-to-app-tls', c.deprecate(target='--enable-end-to-end-tls', redirect='--enable-ingress-to-app-tls', hide=True)]) with self.argument_context('spring-cloud app-insights update') as c: c.argument('app_insights_key', @@ -380,3 +490,139 @@ def prepare_logs_argument(c): arg_type=get_three_state_flag(), help="Disable Application Insights.", validator=validate_app_insights_parameters) + + with self.argument_context('spring-cloud build-service builder') as c: + c.argument('service', service_name_type, validator=only_support_enterprise) + + for scope in ['create', 'update']: + with self.argument_context('spring-cloud build-service builder {}'.format(scope)) as c: + c.argument('builder_json', help="The JSON array of builder.", validator=validate_builder_resource) + c.argument('builder_file', help="The file path of JSON array of builder.", validator=validate_builder_resource) + + with self.argument_context('spring-cloud build-service builder create') as c: + c.argument('name', help="The builder name.", validator=validate_builder_create) + + with self.argument_context('spring-cloud build-service builder update') as c: + c.argument('name', help="The builder name.", validator=validate_builder_update) + + for scope in ['show', 'delete']: + with self.argument_context('spring-cloud build-service builder {}'.format(scope)) as c: + c.argument('name', help="The builder name.") + + for scope in ['application-configuration-service', 'service-registry', + 'gateway', 'api-portal']: + with self.argument_context('spring-cloud {}'.format(scope)) as c: + c.argument('service', service_name_type, validator=only_support_enterprise) + + for scope in ['bind', 'unbind']: + with self.argument_context('spring-cloud service-registry {}'.format(scope)) as c: + c.argument('app', app_name_type, help='Name of app.', validator=validate_app_name) + + for scope in ['bind', 'unbind']: + with self.argument_context('spring-cloud application-configuration-service {}'.format(scope)) as c: + c.argument('app', app_name_type, help='Name of app.', validator=validate_app_name) + + for scope in ['add', 'update']: + with self.argument_context('spring-cloud application-configuration-service git repo {}'.format(scope)) as c: + c.argument('patterns', + help='Required patterns used to search in Git repositories. ' + 'For each pattern, use format like {application} or {application}/{profile} ' + 'instead of {application}-{profile}.yml, and separate them by comma.', + validator=validate_acs_patterns), + c.argument('uri', help="Required Git URI.", validator=validate_git_uri), + c.argument('label', help="Required branch name to search in the Git repository."), + c.argument('search_paths', help='search_paths of the added config, use , as delimiter for multiple paths.') + c.argument('username', help='Username of the added config.') + c.argument('password', help='Password of the added config.') + c.argument('host_key', help='Host key of the added config.') + c.argument('host_key_algorithm', help='Host key algorithm of the added config.') + c.argument('private_key', help='Private_key of the added config.') + c.argument('host_key_check', help='Strict host key checking of the added config which is used in SSH authentication. If false, ignore errors with host key.') + + for scope in ['add', 'update', 'remove']: + with self.argument_context('spring-cloud application-configuration-service git repo {}'.format(scope)) as c: + c.argument('name', help="Required unique name to label each item of git configs.") + + for scope in ['gateway update', 'api-portal update']: + with self.argument_context('spring-cloud {}'.format(scope)) as c: + c.argument('instance_count', type=int, help='Number of instance.') + c.argument('assign_endpoint', arg_type=get_three_state_flag(), help='If true, assign endpoint URL for direct access.') + c.argument('https_only', arg_type=get_three_state_flag(), help='If true, access endpoint via https') + c.argument('scope', arg_group='Single Sign On (SSO)', help="Comma-separated list of the specific actions applications can be allowed to do on a user's behalf.") + c.argument('client_id', arg_group='Single Sign On (SSO)', help="The public identifier for the application.") + c.argument('client_secret', arg_group='Single Sign On (SSO)', help="The secret known only to the application and the authorization server.") + c.argument('issuer_uri', arg_group='Single Sign On (SSO)', help="The URI of Issuer Identifier.") + + with self.argument_context('spring-cloud gateway update') as c: + c.argument('cpu', type=str, help='CPU resource quantity. Should be 500m or number of CPU cores.') + c.argument('memory', type=str, help='Memory resource quantity. Should be 512Mi or #Gi, e.g., 1Gi, 3Gi.') + c.argument('api_title', arg_group='API metadata', help="Title describing the context of the APIs available on the Gateway instance.") + c.argument('api_description', arg_group='API metadata', help="Detailed description of the APIs available on the Gateway instance.") + c.argument('api_doc_location', arg_group='API metadata', help="Location of additional documentation for the APIs available on the Gateway instance.") + c.argument('api_version', arg_group='API metadata', help="Version of APIs available on this Gateway instance.") + c.argument('server_url', arg_group='API metadata', help="Base URL that API consumers will use to access APIs on the Gateway instance.") + c.argument('allowed_origins', arg_group='Cross-origin Resource Sharing (CORS)', help="Comma-separated list of allowed origins to make cross-site requests. The special value `*` allows all domains.") + c.argument('allowed_methods', arg_group='Cross-origin Resource Sharing (CORS)', help="Comma-separated list of allowed HTTP methods on cross-site requests. The special value `*` allows all methods.") + c.argument('allowed_headers', arg_group='Cross-origin Resource Sharing (CORS)', help="Comma-separated list of allowed headers in cross-site requests. The special value `*` allows actual requests to send any header.") + c.argument('max_age', arg_group='Cross-origin Resource Sharing (CORS)', type=int, + help="How long, in seconds, the response from a pre-flight request can be cached by clients.") + c.argument('allow_credentials', arg_group='Cross-origin Resource Sharing (CORS)', arg_type=get_three_state_flag(), + help="Whether user credentials are supported on cross-site requests.") + c.argument('exposed_headers', arg_group='Cross-origin Resource Sharing (CORS)', help="Comma-separated list of HTTP response headers to expose for cross-site requests.") + + for scope in ['spring-cloud gateway custom-domain', + 'spring-cloud api-portal custom-domain']: + with self.argument_context(scope) as c: + c.argument('domain_name', help='Name of custom domain.') + + for scope in ['gateway custom-domain bind', + 'gateway custom-domain update', + 'api-portal custom-domain bind', + 'api-portal custom-domain update']: + with self.argument_context('spring-cloud {}'.format(scope)) as c: + c.argument('certificate', type=str, help='Certificate name in Azure Spring Cloud.') + + with self.argument_context('spring-cloud gateway route-config') as c: + c.argument('name', help='Name of route config.') + + for scope in ['create', 'update']: + with self.argument_context('spring-cloud gateway route-config {}'.format(scope)) as c: + c.argument('app_name', type=str, help="The Azure Spring Cloud app name to configure the route.") + c.argument('routes_json', type=str, help="The JSON array of API routes.", validator=validate_routes) + c.argument('routes_file', type=str, help="The file path of JSON array of API routes.", validator=validate_routes) + + for scope in ['spring-cloud build-service builder buildpack-binding create']: + with self.argument_context(scope) as c: + c.argument('name', name_type, help='Name for buildpack binding.', validator=validate_buildpack_binding_not_exist) + + for scope in ['spring-cloud build-service builder buildpack-binding create', + 'spring-cloud build-service builder buildpack-binding set']: + with self.argument_context(scope) as c: + c.argument('type', + arg_type=get_enum_type(v20220101_preview_AppPlatformEnums.BindingType), + help='Required type for buildpack binding.') + c.argument('properties', + help='Non-sensitive properties for launchProperties. Format "key[=value]".', + nargs='*', + validator=validate_buildpack_binding_properties) + c.argument('secrets', + help='Sensitive properties for launchProperties. ' + 'Once put, it will be encrypted and never return to user. ' + 'Format "key[=value]".', + nargs='*', + validator=validate_buildpack_binding_secrets) + + for scope in ['spring-cloud build-service builder buildpack-binding set', + 'spring-cloud build-service builder buildpack-binding show', + 'spring-cloud build-service builder buildpack-binding delete']: + with self.argument_context(scope) as c: + c.argument('name', name_type, help='Name for buildpack binding.', validator=validate_buildpack_binding_exist) + + for scope in ['spring-cloud build-service builder buildpack-binding create', + 'spring-cloud build-service builder buildpack-binding set', + 'spring-cloud build-service builder buildpack-binding list', + 'spring-cloud build-service builder buildpack-binding show', + 'spring-cloud build-service builder buildpack-binding delete']: + with self.argument_context(scope) as c: + c.argument('builder_name', help='The name for builder.', default="default") + c.argument('service', service_name_type, validator=only_support_enterprise) diff --git a/src/spring-cloud/azext_spring_cloud/_tanzu_component.py b/src/spring-cloud/azext_spring_cloud/_tanzu_component.py new file mode 100644 index 00000000000..f13bc8bd400 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_tanzu_component.py @@ -0,0 +1,63 @@ +# -------------------------------------------------------------------------------------------- +# 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, unused-argument, redefined-builtin + +from azure.cli.core.commands.client_factory import get_subscription_id +from knack.log import get_logger +from msrestazure.tools import resource_id + +from .vendored_sdks.appplatform.v2022_01_01_preview import models + +GATEWAY_RESOURCE_TYPE = "gateways" +DEFAULT_NAME = "default" +logger = get_logger(__name__) + + +def create_application_configuration_service(cmd, client, resource_group, service, enable_application_configuration_service, **_): + if enable_application_configuration_service: + logger.warning(" - Creating Application Configuration Service ..") + acs_resource = models.ConfigurationServiceResource() + return client.configuration_services.begin_create_or_update(resource_group, service, DEFAULT_NAME, acs_resource) + + +def create_service_registry(cmd, client, resource_group, service, enable_service_registry, **_): + if enable_service_registry: + logger.warning(" - Creating Service Registry ..") + return client.service_registries.begin_create_or_update(resource_group, service, DEFAULT_NAME) + + +def create_gateway(cmd, client, resource_group, service, enable_gateway, gateway_instance_count=None, sku=None, **_): + if enable_gateway: + logger.warning(" - Creating Spring Cloud Gateway ..") + gateway_resource = models.GatewayResource() + if gateway_instance_count and sku: + gateway_resource.sku = models.Sku(name=sku.name, tier=sku.tier, + capacity=gateway_instance_count) + return client.gateways.begin_create_or_update(resource_group, service, DEFAULT_NAME, gateway_resource) + + +def create_api_portal(cmd, client, resource_group, service, enable_api_portal, api_portal_instance_count=None, sku=None, **_): + if enable_api_portal: + logger.warning(" - Creating API portal ..") + gateway_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=resource_group, + namespace='Microsoft.AppPlatform', + type='Spring', + name=service, + child_type_1=GATEWAY_RESOURCE_TYPE, + child_name_1=DEFAULT_NAME + ) + + api_portal_resource = models.ApiPortalResource( + properties=models.ApiPortalProperties( + gateway_ids=[gateway_id] + ) + ) + if api_portal_instance_count and sku: + api_portal_resource.sku = models.Sku(name=sku.name, tier=sku.tier, + capacity=api_portal_instance_count) + return client.api_portals.begin_create_or_update(resource_group, service, DEFAULT_NAME, api_portal_resource) diff --git a/src/spring-cloud/azext_spring_cloud/_transformers.py b/src/spring-cloud/azext_spring_cloud/_transformers.py index bb0d8f8fb9e..d33fb5e37bc 100644 --- a/src/spring-cloud/azext_spring_cloud/_transformers.py +++ b/src/spring-cloud/azext_spring_cloud/_transformers.py @@ -5,6 +5,7 @@ # pylint: disable=line-too-long +from azure.mgmt.core.tools import parse_resource_id def transform_spring_cloud_table_output(result): @@ -16,6 +17,7 @@ def transform_spring_cloud_table_output(result): for item in result: item['State'] = item['properties']['provisioningState'] item['tags'] = item['tags'] + item['tier'] = item['sku']['tier'] return result if is_list else result[0] @@ -27,32 +29,40 @@ def transform_app_table_output(result): result = [result] for item in result: - item['Production Deployment'] = item['properties']['activeDeploymentName'] item['Public Url'] = item['properties']['url'] - if 'activeDeployment' in item['properties']: - isStarted = item['properties']['activeDeployment']['properties']['status'].upper() == "RUNNING" - instance_count = item['properties']['activeDeployment']['sku']['capacity'] - instances = item['properties']['activeDeployment']['properties']['instances'] - if instances is None: - instances = [] - up_number = len( - [x for x in instances if x['discoveryStatus'].upper() == 'UP' or x['discoveryStatus'].upper() == 'OUT_OF_SERVICE']) - running_number = len( - [x for x in instances if x['status'].upper() == "RUNNING"]) - item['Provisioning Status'] = item['properties']['activeDeployment']['properties']['provisioningState'] - item['CPU'] = item['properties']['activeDeployment']['properties']['deploymentSettings']['cpu'] - item['Memory'] = item['properties']['activeDeployment']['properties']['deploymentSettings']['memoryInGb'] - item['Running Instance'] = "{}/{}".format(running_number, instance_count) if isStarted else "Stopped" - item['Registered Instance'] = "{}/{}".format(up_number, instance_count) if isStarted else "Stopped" + if 'activeDeployment' in item['properties'] and item['properties']['activeDeployment']: + item['Production Deployment'] = item['properties']['activeDeployment']['name'] + _apply_deployment_table(item, item['properties']['activeDeployment']) persistentStorage = item['properties']['persistentDisk'] item['Persistent Storage'] = "{}/{} Gb".format( persistentStorage['usedInGb'], persistentStorage['sizeInGb']) if persistentStorage['sizeInGb'] else "-" + if 'addonConfigs' in item['properties']: + addon = item['properties']['addonConfigs'] + item['Bind Service Registry'] = _get_service_registry_binding(addon) or '-' + item['Bind Application Configuration Service'] = _get_acs_binding(addon) or '-' + return result if is_list else result[0] +def _get_service_registry_binding(addon): + return _parse_item_resource_id(addon, 'serviceRegistry', 'ServiceRegistry') + + +def _get_acs_binding(addon): + return _parse_item_resource_id(addon, 'applicationConfigurationService', 'ApplicationConfigurationService') + + +def _parse_item_resource_id(addon, key, secondary): + resource_id = (addon.get(key, None) or addon.get(secondary, {})).get('resourceId', None) + if not resource_id: + return None + resource_dict = parse_resource_id(resource_id) + return resource_dict.get('resource_name', '') + + def transform_spring_cloud_deployment_output(result): is_list = isinstance(result, list) @@ -60,20 +70,8 @@ def transform_spring_cloud_deployment_output(result): result = [result] for item in result: - isStarted = item['properties']['status'].upper() == "RUNNING" - instance_count = item['sku']['capacity'] - instances = item['properties']['instances'] - if instances is None: - instances = [] - up_number = len( - [x for x in instances if x['discoveryStatus'].upper() == 'UP' or x['discoveryStatus'].upper() == 'OUT_OF_SERVICE']) - running_number = len([x for x in instances if x['status'].upper() == "RUNNING"]) item['App Name'] = item['properties']["appName"] - item['Provisioning Status'] = item['properties']['provisioningState'] - item['CPU'] = item['properties']['deploymentSettings']['cpu'] - item['Memory'] = item['properties']['deploymentSettings']['memoryInGb'] - item['Running Instance'] = "{}/{}".format(running_number, instance_count) if isStarted else "Stopped" - item['Registered Instance'] = "{}/{}".format(up_number, instance_count) if isStarted else "Stopped" + _apply_deployment_table(item, item) return result if is_list else result[0] @@ -85,13 +83,13 @@ def transform_spring_cloud_certificate_output(result): result = [result] for item in result: - item['Certificate Name'] = item['properties']['keyVaultCertName'] + item['Certificate Name'] = item['name'] item['Thumbprint'] = item['properties']['thumbprint'] item['Activate Date'] = item['properties']['activateDate'].split("T")[0] - item['Certificate Version'] = item['properties']['certVersion'] item['DNS Names'] = item['properties']['dnsNames'] item['Expiration Date'] = item['properties']['expirationDate'].split("T")[0] - item['Key Vault Uri'] = item['properties']['vaultUri'] + item['Certificate Version'] = item['properties'].get('certVersion', "") + item['Key Vault Uri'] = item['properties'].get('vaultUri', "") return result if is_list else result[0] @@ -108,3 +106,102 @@ def transform_spring_cloud_custom_domain_output(result): item['Thumbprint'] = item['properties']['thumbprint'] return result if is_list else result[0] + + +def _get_registration_state(deployment): + if deployment['properties']['status'].upper() == 'STOPPED': + return 'Stopped' + instances = deployment['properties']['instances'] or [] + if len(instances) > 0 and all(x['discoveryStatus'].upper() == 'N/A' for x in instances): + return 'N/A' + up_number = len( + [x for x in instances if x['discoveryStatus'].upper() == 'UP' or x['discoveryStatus'].upper() == 'OUT_OF_SERVICE']) + return "{}/{}".format(up_number, deployment['sku']['capacity']) + + +def _apply_deployment_table(item, deployment): + isStarted = deployment['properties']['status'].upper() == "RUNNING" + instance_count = deployment['sku']['capacity'] + instances = deployment['properties']['instances'] or [] + running_number = len( + [x for x in instances if x['status'].upper() == "RUNNING"]) + item['Provisioning State'] = deployment['properties']['provisioningState'] + item['CPU'] = deployment['properties']['deploymentSettings']['resourceRequests']['cpu'] + item['Memory'] = deployment['properties']['deploymentSettings']['resourceRequests']['memory'] + item['Running Instance'] = "{}/{}".format(running_number, instance_count) if isStarted else "Stopped" + item['Registered Instance'] = _get_registration_state(deployment) + + +def transform_application_configuration_service_output(result): + return _transform_acs_service_registry_output(result) + + +def transform_service_registry_output(result): + return _transform_acs_service_registry_output(result) + + +def _transform_acs_service_registry_output(result): + is_list = isinstance(result, list) + + if not is_list: + result = [result] + + for item in result: + instance_count = item['properties']['resourceRequests']['instanceCount'] + instances = item['properties']['instances'] or [] + running_number = len( + [x for x in instances if x['status'].upper() == "RUNNING"]) + item['Provisioning State'] = item['properties']['provisioningState'] + item['Running Instance'] = "{}/{}".format(running_number, instance_count) + item['CPU'] = item['properties']['resourceRequests']['cpu'] + item['Memory'] = item['properties']['resourceRequests']['memory'] + + return result if is_list else result[0] + + +def transform_spring_cloud_gateway_output(result): + is_list = isinstance(result, list) + + if not is_list: + result = [result] + + for item in result: + item['Public Url'] = item['properties']['url'] + instance_count = item['sku']['capacity'] + instances = item['properties']['instances'] or [] + running_number = len( + [x for x in instances if x['status'].upper() == "RUNNING"]) + item['Provisioning State'] = item['properties']['provisioningState'] + item['Running Instance'] = "{}/{}".format(running_number, instance_count) + item['CPU'] = item['properties']['resourceRequests']['cpu'] + item['Memory'] = item['properties']['resourceRequests']['memory'] + operator = item['properties']['operatorProperties'] + operator_instance_count = operator['resourceRequests']['instanceCount'] + operator_instances = item['properties']['instances'] or [] + operator_running_number = len( + [x for x in operator_instances if x['status'].upper() == "RUNNING"]) + item['Operator Running Instance'] = "{}/{}".format(operator_running_number, operator_instance_count) + item['Operator CPU'] = operator['resourceRequests']['cpu'] + item['Operator Memory'] = operator['resourceRequests']['memory'] + + return result if is_list else result[0] + + +def transform_api_portal_output(result): + is_list = isinstance(result, list) + + if not is_list: + result = [result] + + for item in result: + item['Public Url'] = item['properties']['url'] + instance_count = item['sku']['capacity'] + instances = item['properties']['instances'] or [] + running_number = len( + [x for x in instances if x['status'].upper() == "RUNNING"]) + item['Provisioning State'] = item['properties']['provisioningState'] + item['Running Instance'] = "{}/{}".format(running_number, instance_count) + item['CPU'] = item['properties']['resourceRequests']['cpu'] + item['Memory'] = item['properties']['resourceRequests']['memory'] + + return result if is_list else result[0] diff --git a/src/spring-cloud/azext_spring_cloud/_util_enterprise.py b/src/spring-cloud/azext_spring_cloud/_util_enterprise.py new file mode 100644 index 00000000000..c735dccb947 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_util_enterprise.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order + +from .vendored_sdks.appplatform.v2022_01_01_preview import AppPlatformManagementClient +from azure.cli.core.commands.client_factory import get_mgmt_service_client + + +def is_enterprise_tier(cmd, resource_group, name): + resource = get_client(cmd).services.get(resource_group, name) + return resource.sku.name == 'E0' + + +def get_client(cmd): + return get_mgmt_service_client(cmd.cli_ctx, AppPlatformManagementClient) diff --git a/src/spring-cloud/azext_spring_cloud/_utils.py b/src/spring-cloud/azext_spring_cloud/_utils.py index eb50f4be038..2dec595e24d 100644 --- a/src/spring-cloud/azext_spring_cloud/_utils.py +++ b/src/spring-cloud/azext_spring_cloud/_utils.py @@ -5,6 +5,7 @@ import json from enum import Enum import os +from time import sleep import codecs import tarfile import tempfile @@ -21,7 +22,7 @@ logger = get_logger(__name__) -def _get_upload_local_file(runtime_version, artifact_path=None, source_path=None): +def _get_upload_local_file(runtime_version, artifact_path=None, source_path=None, container_image=None): file_type = None file_path = None if artifact_path is not None: @@ -32,6 +33,8 @@ def _get_upload_local_file(runtime_version, artifact_path=None, source_path=None ), 'build_archive_{}.tar.gz'.format(uuid.uuid4().hex)) _pack_source_code(os.path.abspath(source_path), file_path) file_type = "Source" + elif container_image is not None: + file_type = 'Container' return file_type, file_path @@ -220,6 +223,8 @@ def _get_sku_name(tier): # pylint: disable=too-many-return-statements return 'B0' if tier == 'STANDARD': return 'S0' + if tier == 'ENTERPRISE': + return 'E0' raise CLIError("Invalid sku(pricing tier), please refer to command help for valid values") @@ -229,6 +234,8 @@ def _get_persistent_disk_size(tier): # pylint: disable=too-many-return-statemen return 1 if tier == 'STANDARD': return 50 + if tier == 'ENTERPRISE': + return 50 return 50 @@ -241,11 +248,34 @@ def get_portal_uri(cli_ctx): return 'https://portal.azure.com' +def get_spring_cloud_sku(client, resource_group, name): + return client.services.get(resource_group, name).sku + + +def convert_argument_to_parameter_list(args): + return ', '.join([convert_argument_to_parameter(x) for x in args]) + + +def convert_argument_to_parameter(arg): + return '--{}'.format(arg.replace('_', '-')) + + +def wait_till_end(cmd, *pollers): + if not pollers: + return + progress_bar = cmd.cli_ctx.get_progress_controller() + progress_bar.add(message='Running') + progress_bar.begin() + while any(x and not x.done() for x in pollers): + progress_bar.add(message='Running') + sleep(5) + + def handle_asc_exception(ex): try: raise CLIError(ex.inner_exception.error.message) except AttributeError: - if hasattr(ex, 'response'): + if hasattr(ex, 'response') and ex.response.internal_response.text: response_dict = json.loads(ex.response.internal_response.text) raise CLIError(response_dict["error"]["message"]) else: diff --git a/src/spring-cloud/azext_spring_cloud/_validators.py b/src/spring-cloud/azext_spring_cloud/_validators.py index 857f8cc217a..3bdc2161c2d 100644 --- a/src/spring-cloud/azext_spring_cloud/_validators.py +++ b/src/spring-cloud/azext_spring_cloud/_validators.py @@ -12,14 +12,14 @@ from azure.cli.core import telemetry from azure.cli.core.commands.client_factory import get_subscription_id from azure.cli.core.commands.validators import validate_tag -from azure.cli.core.azclierror import InvalidArgumentValueError -from ._utils import _get_file_type -from msrestazure.tools import is_valid_resource_id -from msrestazure.tools import parse_resource_id -from msrestazure.tools import resource_id +from azure.cli.core.azclierror import ArgumentUsageError, InvalidArgumentValueError +from knack.validators import DefaultStr +from azure.mgmt.core.tools import is_valid_resource_id +from azure.mgmt.core.tools import parse_resource_id +from azure.mgmt.core.tools import resource_id from knack.log import get_logger -from ._utils import ApiType -from ._utils import _get_rg_location +from ._utils import (ApiType, _get_rg_location, _get_file_type, _get_sku_name) +from .vendored_sdks.appplatform.v2020_07_01 import models logger = get_logger(__name__) @@ -40,11 +40,56 @@ def validate_location(namespace): for piece in location_slice]) -def validate_sku(namespace): - if namespace.sku is not None: - namespace.sku = namespace.sku.upper() - if namespace.sku not in ['BASIC', 'STANDARD']: - raise InvalidArgumentValueError("The pricing tier only accepts value [Basic, Standard]") +def validate_sku(cmd, namespace): + if not namespace.sku: + return + if namespace.sku.lower() == 'enterprise': + _validate_saas_provider(cmd, namespace) + _validate_terms(cmd, namespace) + else: + _check_tanzu_components_not_enable(cmd, namespace) + normalize_sku(cmd, namespace) + + +def normalize_sku(cmd, namespace): + if namespace.sku: + namespace.sku = models.Sku(name=_get_sku_name(namespace.sku), tier=namespace.sku) + + +def _validate_saas_provider(cmd, namespace): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azure.cli.core.profiles import ResourceType + client = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES).providers + if client.get('Microsoft.SaaS').registration_state != 'Registered': + raise InvalidArgumentValueError('Microsoft.SaaS resource provider is not registered.\n' + 'Run "az provider register -n Microsoft.SaaS" to register.') + + +def _validate_terms(cmd, namespace): + from azure.mgmt.marketplaceordering import MarketplaceOrderingAgreements + from azure.cli.core.commands.client_factory import get_mgmt_service_client + client = get_mgmt_service_client(cmd.cli_ctx, MarketplaceOrderingAgreements).marketplace_agreements + term = client.get(offer_type="virtualmachine", + publisher_id='vmware-inc', + offer_id='azure-spring-cloud-vmware-tanzu-2', + plan_id='tanzu-asc-ent-mtr') + if not term.accepted: + raise InvalidArgumentValueError('Terms for Azure Spring Cloud Enterprise is not accepted.\n' + 'Run "az term accept --publisher vmware-inc ' + '--product azure-spring-cloud-vmware-tanzu-2 ' + '--plan tanzu-asc-ent-mtr" to accept the term.') + + +def _check_tanzu_components_not_enable(cmd, namespace): + suffix = 'can only be used for Azure Spring Cloud Enterprise. Please add --sku="Enterprise" to create Enterprise instance.' + if namespace.enable_application_configuration_service: + raise ArgumentUsageError('--enable-application-configuration-service {}'.format(suffix)) + if namespace.enable_service_registry: + raise ArgumentUsageError('--enable-service-registry {}'.format(suffix)) + if namespace.enable_gateway: + raise ArgumentUsageError('--enable-gateway {}'.format(suffix)) + if namespace.enable_api_portal: + raise ArgumentUsageError('--enable-api-portal {}'.format(suffix)) def validate_instance_count(namespace): @@ -429,7 +474,7 @@ def validate_vnet_required_parameters(namespace): not namespace.reserved_cidr_range and \ not namespace.vnet: return - if namespace.sku and namespace.sku.lower() == 'basic': + if namespace.sku and _parse_sku_name(namespace.sku) == 'basic': raise InvalidArgumentValueError('Virtual Network Injection is not supported for Basic tier.') if not namespace.app_subnet \ or not namespace.service_runtime_subnet: @@ -444,6 +489,14 @@ def validate_node_resource_group(namespace): _validate_resource_group_name(namespace.app_network_resource_group, 'app-network-resource-group') +def _parse_sku_name(sku): + if not sku: + return 'standard' + if type(sku) is str or type(sku) is DefaultStr: + return sku.lower() + return sku.tier.lower() + + def _validate_resource_group_name(name, message_name): if not name: return diff --git a/src/spring-cloud/azext_spring_cloud/_validators_enterprise.py b/src/spring-cloud/azext_spring_cloud/_validators_enterprise.py new file mode 100644 index 00000000000..f9e302a20a0 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/_validators_enterprise.py @@ -0,0 +1,227 @@ +# -------------------------------------------------------------------------------------------- +# 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, unused-argument, redefined-builtin + +from re import match +from azure.cli.core.commands.validators import validate_tag +from azure.core.exceptions import ResourceNotFoundError +from azure.cli.core.azclierror import (ArgumentUsageError, ClientRequestError, + InvalidArgumentValueError, + MutuallyExclusiveArgumentError) +from azure.core.exceptions import ResourceNotFoundError +from knack.log import get_logger + +from ._resource_quantity import validate_cpu as validate_and_normalize_cpu +from ._resource_quantity import \ + validate_memory as validate_and_normalize_memory +from ._util_enterprise import ( + is_enterprise_tier, get_client +) +from ._validators import (validate_instance_count, _parse_sku_name) +from .buildpack_binding import (DEFAULT_BUILD_SERVICE_NAME) + +logger = get_logger(__name__) + + +def only_support_enterprise(cmd, namespace): + if namespace.resource_group and namespace.service and not is_enterprise_tier(cmd, namespace.resource_group, namespace.service): + raise ClientRequestError("'{}' only supports for Enterprise tier Spring instance.".format(namespace.command)) + + +def not_support_enterprise(cmd, namespace): + if namespace.resource_group and namespace.service and is_enterprise_tier(cmd, namespace.resource_group, namespace.service): + raise ClientRequestError("'{}' doesn't support for Enterprise tier Spring instance.".format(namespace.command)) + + +def validate_build_env(cmd, namespace): + if namespace.build_env is not None and namespace.resource_group and namespace.service and not is_enterprise_tier(cmd, namespace.resource_group, namespace.service): + raise ArgumentUsageError("'--build-env' only supports for Enterprise tier Spring instance.") + + +def validate_target_module(cmd, namespace): + if namespace.target_module is not None and namespace.resource_group and namespace.service and is_enterprise_tier(cmd, namespace.resource_group, namespace.service): + raise ArgumentUsageError("'--target-module' doesn't support for Enterprise tier Spring instance.") + + +def validate_runtime_version(cmd, namespace): + if namespace.runtime_version is not None and namespace.resource_group and namespace.service and is_enterprise_tier(cmd, namespace.resource_group, namespace.service): + raise ArgumentUsageError("'--runtime-version' doesn't support for Enterprise tier Spring instance.") + + +def validate_builder_create(cmd, namespace): + client = get_client(cmd) + try: + builder = client.build_service_builder.get(namespace.resource_group, + namespace.service, + DEFAULT_BUILD_SERVICE_NAME, + namespace.name) + if builder is not None: + raise ClientRequestError('Builder {} already exists.'.format(namespace.name)) + except ResourceNotFoundError: + pass + + +def validate_builder_update(cmd, namespace): + client = get_client(cmd) + try: + client.build_service_builder.get(namespace.resource_group, + namespace.service, + DEFAULT_BUILD_SERVICE_NAME, + namespace.name) + except ResourceNotFoundError: + raise ClientRequestError('Builder {} does not exist.'.format(namespace.name)) + + +def validate_builder_resource(namespace): + if namespace.builder_json is not None and namespace.builder_file is not None: + raise ClientRequestError("You can only specify either --builder-json or --builder-file.") + if namespace.builder_json is None and namespace.builder_file is None: + raise ClientRequestError("--builder-json or --builder-file is required.") + + +def validate_build_pool_size(namespace): + if _parse_sku_name(namespace.sku) == 'enterprise': + if namespace.build_pool_size is None: + namespace.build_pool_size = 'S1' + else: + if namespace.build_pool_size is not None: + raise ClientRequestError("You can only specify --build-pool-size with enterprise tier.") + + +def validate_cpu(namespace): + namespace.cpu = validate_and_normalize_cpu(namespace.cpu) + + +def validate_memory(namespace): + namespace.memory = validate_and_normalize_memory(namespace.memory) + + +def validate_git_uri(namespace): + uri = namespace.uri + if uri and (not uri.startswith("https://")) and (not uri.startswith("git@")): + raise InvalidArgumentValueError("Git URI should start with \"https://\" or \"git@\"") + + +def validate_config_file_patterns(namespace): + if namespace.config_file_patterns: + _validate_patterns(namespace.config_file_patterns) + + +def validate_acs_patterns(namespace): + if namespace.patterns: + _validate_patterns(namespace.patterns) + + +def _validate_patterns(patterns): + pattern_list = patterns.split(',') + invalid_list = [p for p in pattern_list if not _is_valid_pattern(p)] + if len(invalid_list) > 0: + logger.warning("Patterns '%s' are invalid.", ','.join(invalid_list)) + raise InvalidArgumentValueError("Patterns should be the collection of patterns separated by comma, each pattern in the format of 'application' or 'application/profile'") + + +def _is_valid_pattern(pattern): + return _is_valid_app_name(pattern) or _is_valid_app_and_profile_name(pattern) + + +def _is_valid_app_name(pattern): + return match(r"^[a-zA-Z][-_a-zA-Z0-9]*$", pattern) is not None + + +def _is_valid_profile_name(profile): + return profile == "*" or _is_valid_app_name(profile) + + +def _is_valid_app_and_profile_name(pattern): + parts = pattern.split('/') + return len(parts) == 2 and _is_valid_app_name(parts[0]) and _is_valid_profile_name(parts[1]) + + +def validate_gateway_update(namespace): + _validate_sso(namespace) + validate_cpu(namespace) + validate_memory(namespace) + validate_instance_count(namespace) + + +def validate_api_portal_update(namespace): + _validate_sso(namespace) + validate_instance_count(namespace) + + +def _validate_sso(namespace): + all_provided = namespace.scope is not None and namespace.client_id is not None and namespace.client_secret is not None and namespace.issuer_uri is not None + none_provided = namespace.scope is None and namespace.client_id is None and namespace.client_secret is None and namespace.issuer_uri is None + if not all_provided and not none_provided: + raise ArgumentUsageError("Single Sign On configurations '--scope --client-id --client-secret --issuer-uri' should be all provided or none provided.") + if namespace.scope is not None: + namespace.scope = namespace.scope.split(",") if namespace.scope else [] + + +def validate_routes(namespace): + if namespace.routes_json is not None and namespace.routes_file is not None: + raise MutuallyExclusiveArgumentError("You can only specify either --routes-json or --routes-file.") + + +def validate_gateway_instance_count(namespace): + if namespace.gateway_instance_count is not None: + if namespace.enable_gateway is False: + raise ArgumentUsageError("--gateway-instance-count can only be set when enable gateway.") + if namespace.gateway_instance_count < 1: + raise ArgumentUsageError("--gateway-instance-count must be greater than 0") + + +def validate_api_portal_instance_count(namespace): + if namespace.api_portal_instance_count is not None: + if namespace.enable_api_portal is False: + raise ArgumentUsageError("--api-portal-instance-count can only be set when enable API portal.") + if namespace.api_portal_instance_count < 1: + raise ArgumentUsageError("--api-portal-instance-count must be greater than 0") + + +def validate_buildpack_binding_properties(namespace): + """ Extracts multiple space-separated properties in key[=value] format """ + if isinstance(namespace.properties, list): + properties_dict = {} + for item in namespace.properties: + properties_dict.update(validate_tag(item)) + namespace.properties = properties_dict + + +def validate_buildpack_binding_secrets(namespace): + """ Extracts multiple space-separated secrets in key[=value] format """ + if isinstance(namespace.secrets, list): + secrets_dict = {} + for item in namespace.secrets: + secrets_dict.update(validate_tag(item)) + namespace.secrets = secrets_dict + + +def validate_buildpack_binding_not_exist(cmd, namespace): + client = get_client(cmd) + try: + binding_resource = client.buildpack_binding.get(namespace.resource_group, + namespace.service, + DEFAULT_BUILD_SERVICE_NAME, + namespace.builder_name, + namespace.name) + if binding_resource is not None: + raise ClientRequestError('buildpack Binding {} in builder {} already exists ' + 'in resource group {}, service {}. You can edit it by set command.' + .format(namespace.name, namespace.resource_group, namespace.service, namespace.builder_name)) + except ResourceNotFoundError: + # Excepted case + pass + + +def validate_buildpack_binding_exist(cmd, namespace): + client = get_client(cmd) + # If not exists exception will be raised + client.buildpack_binding.get(namespace.resource_group, + namespace.service, + DEFAULT_BUILD_SERVICE_NAME, + namespace.builder_name, + namespace.name) diff --git a/src/spring-cloud/azext_spring_cloud/api_portal.py b/src/spring-cloud/azext_spring_cloud/api_portal.py new file mode 100644 index 00000000000..6f14fab09a4 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/api_portal.py @@ -0,0 +1,93 @@ +# -------------------------------------------------------------------------------------------- +# 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.azclierror import ClientRequestError + +from .vendored_sdks.appplatform.v2022_01_01_preview import models + +DEFAULT_NAME = "default" + + +def api_portal_show(cmd, client, resource_group, service): + return client.api_portals.get(resource_group, service, DEFAULT_NAME) + + +def api_portal_update(cmd, client, resource_group, service, + instance_count=None, + assign_endpoint=None, + https_only=None, + scope=None, + client_id=None, + client_secret=None, + issuer_uri=None): + api_portal = client.api_portals.get(resource_group, service, DEFAULT_NAME) + + sso_properties = api_portal.properties.sso_properties + if scope and client_id and client_secret and issuer_uri: + sso_properties = models.SsoProperties( + scope=scope, + client_id=client_id, + client_secret=client_secret, + issuer_uri=issuer_uri, + ) + + properties = models.ApiPortalProperties( + public=assign_endpoint if assign_endpoint is not None else api_portal.properties.public, + https_only=https_only if https_only is not None else api_portal.properties.https_only, + gateway_ids=api_portal.properties.gateway_ids, + sso_properties=sso_properties + ) + + sku = models.Sku(name=api_portal.sku.name, tier=api_portal.sku.tier, + capacity=instance_count or api_portal.sku.capacity) + + if sku.capacity > 1 and properties.sso_properties: + raise ClientRequestError("API Portal doesn't support to configure SSO with multiple replicas for now.") + + api_portal_resource = models.ApiPortalResource( + properties=properties, sku=sku) + return client.api_portals.begin_create_or_update(resource_group, service, DEFAULT_NAME, api_portal_resource) + + +def api_portal_clear(cmd, client, resource_group, service): + api_portal = client.api_portals.get(resource_group, service, DEFAULT_NAME) + properties = models.ApiPortalProperties( + gateway_ids=api_portal.properties.gateway_ids + ) + + sku = models.Sku(name=api_portal.sku.name, tier=api_portal.sku.tier) + api_portal_resource = models.ApiPortalResource(properties=properties, sku=sku) + return client.api_portals.begin_create_or_update(resource_group, service, DEFAULT_NAME, api_portal_resource) + + +def api_portal_custom_domain_show(cmd, client, resource_group, service, domain_name): + return client.api_portal_custom_domains.get(resource_group, service, DEFAULT_NAME, domain_name) + + +def api_portal_custom_domain_list(cmd, client, resource_group, service): + return client.api_portal_custom_domains.list(resource_group, service, DEFAULT_NAME) + + +def api_portal_custom_domain_update(cmd, client, resource_group, service, + domain_name, + certificate=None): + properties = models.ApiPortalCustomDomainProperties() + if certificate is not None: + certificate_response = client.certificates.get( + resource_group, service, certificate) + properties = models.ApiPortalCustomDomainProperties( + thumbprint=certificate_response.properties.thumbprint + ) + + custom_domain_resource = models.ApiPortalCustomDomainResource( + properties=properties) + return client.api_portal_custom_domains.begin_create_or_update(resource_group, service, DEFAULT_NAME, + domain_name, custom_domain_resource) + + +def api_portal_custom_domain_unbind(cmd, client, resource_group, service, domain_name): + client.api_portal_custom_domains.get(resource_group, service, + DEFAULT_NAME, domain_name) + return client.api_portal_custom_domains.begin_delete(resource_group, service, DEFAULT_NAME, domain_name) diff --git a/src/spring-cloud/azext_spring_cloud/app.py b/src/spring-cloud/azext_spring_cloud/app.py new file mode 100644 index 00000000000..6d5e54c4aab --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/app.py @@ -0,0 +1,408 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order +from knack.log import get_logger +from azure.cli.core.util import sdk_no_wait +from azure.cli.core.azclierror import (ValidationError, ArgumentUsageError) +from .custom import app_get +from ._utils import (get_spring_cloud_sku, wait_till_end, convert_argument_to_parameter_list) +from ._deployment_factory import (deployment_selector, + deployment_settings_options_from_resource, + deployment_source_options_from_resource, + default_deployment_create_options) +from ._app_factory import app_selector +from ._deployment_deployable_factory import deployable_selector +from ._app_validator import _get_active_deployment + + +logger = get_logger(__name__) +DEFAULT_DEPLOYMENT_NAME = "default" + +# pylint: disable=line-too-long +LOG_RUNNING_PROMPT = "This command usually takes minutes to run. Add '--verbose' parameter if needed." + +# App's command usually operates an Spring/Apps and the active Spring/Apps/Deployments under the app. +# The general idea of these command is putting all input command in parameter dict and let the Resource factory to construct the payload. +# - _app_factory construct the App's properties +# - _deployment_factory construct the Deployment's properties, which includes source and other settings. +# - There are 5 types for different deployment source types, here use _deployment_source_factory to construct the payload according to the source_type +# - A deployment must consume a path can be deployable, it can be a relative path, custom container or build result resource id, +# - _deployment_deployable_factory determines the deployable type and upload necessary binary/code to the service when constructing the deployable_path. +# - _deployment_uploadable_factory will upload the local file to a given destination, or compress the local folder and upload according to the parameter. + + +def app_create(cmd, client, resource_group, service, name, + # deployment.settings + cpu=None, + memory=None, + instance_count=None, + disable_probe=None, + env=None, + # deployment.source + runtime_version=None, + jvm_options=None, + # app.create + assign_identity=None, + # app.update + enable_persistent_storage=None, + persistent_storage=None, + assign_endpoint=None, + loaded_public_certificate_file=None): + '''app_create + Create app with an active deployment, deployment should be deployed with default banner + 1. Create app + 2. Create deployment with default banner + 3. [Optional] Update app properties which needs an active deployment exist + ''' + logger.warning(LOG_RUNNING_PROMPT) + _ensure_app_not_exist(client, resource_group, service, name) + sku = get_spring_cloud_sku(client, resource_group, service) + basic_kwargs = { + 'cmd': cmd, + 'client': client, + 'resource_group': resource_group, + 'service': service, + 'app': name, + 'deployment': 'default', + 'sku': sku + } + + create_app_kwargs = { + 'assign_identity': assign_identity, + 'enable_temporary_disk': True, + 'enable_persistent_storage': enable_persistent_storage, + 'persistent_storage': persistent_storage, + 'public': assign_endpoint, + 'loaded_public_certificate_file': loaded_public_certificate_file + } + create_deployment_kwargs = { + 'cpu': cpu, + 'memory': memory, + 'instance_count': instance_count, + 'active': True, + 'disable_probe': disable_probe, + 'env': env, + 'runtime_version': runtime_version, + 'jvm_options': jvm_options, + } + update_app_kwargs = { + 'enable_persistent_storage': enable_persistent_storage, + 'public': assign_endpoint, + } + + deployable = deployable_selector(**create_deployment_kwargs, **basic_kwargs) + create_deployment_kwargs['source_type'] = deployable.get_source_type(**create_deployment_kwargs, **basic_kwargs) + create_deployment_kwargs['deployable_path'] = deployable.build_deployable_path(**create_deployment_kwargs, **basic_kwargs) + deployment_factory = deployment_selector(**create_deployment_kwargs, **basic_kwargs) + app_factory = app_selector(sku) + deployment_factory.validate_instance_count(instance_count) + + app_resource = app_factory.format_resource(**create_app_kwargs, **basic_kwargs) + logger.warning('[1/3] Creating app {}'.format(name)) + app_poller = client.apps.begin_create_or_update(resource_group, service, name, app_resource) + wait_till_end(cmd, app_poller) + + logger.warning('[2/3] Creating default deployment with name "{}"'.format(DEFAULT_DEPLOYMENT_NAME)) + deployment_resource = deployment_factory.format_resource(**create_deployment_kwargs, **basic_kwargs) + poller = client.deployments.begin_create_or_update(resource_group, + service, + name, + DEFAULT_DEPLOYMENT_NAME, + deployment_resource) + logger.warning('[3/3] Updating app "{}" (this operation can take a while to complete)'.format(name)) + app_resource = app_factory.format_resource(**update_app_kwargs, **basic_kwargs) + app_poller = client.apps.begin_update(resource_group, service, name, app_resource) + + wait_till_end(cmd, poller, app_poller) + logger.warning('App create succeeded') + return app_get(cmd, client, resource_group, service, name) + + +def app_update(cmd, client, resource_group, service, name, + deployment=None, # set by validator + # app + assign_endpoint=None, + enable_persistent_storage=None, + enable_ingress_to_app_tls=None, + https_only=None, + persistent_storage=None, + loaded_public_certificate_file=None, + # deployment.source + runtime_version=None, + jvm_options=None, + main_entry=None, + # deployment.settings + env=None, + disable_probe=None, + config_file_patterns=None, + # general + no_wait=False): + '''app_update + Update app and active deployment according to the input + 1. Update app + 2. Update deployment + ''' + logger.warning(LOG_RUNNING_PROMPT) + basic_kwargs = { + 'cmd': cmd, + 'client': client, + 'resource_group': resource_group, + 'service': service, + 'app': name, + 'sku': deployment.sku if deployment else get_spring_cloud_sku(client, resource_group, service), + 'deployment': deployment.name if deployment else None, + 'deployment_resource': deployment, + } + + deployment_kwargs = { + 'disable_probe': disable_probe, + 'config_file_patterns': config_file_patterns, + 'env': env, + 'runtime_version': runtime_version, + 'jvm_options': jvm_options, + 'main_entry': main_entry, + 'source_type': deployment.properties.source.type if deployment else None + } + + app_kwargs = { + 'public': assign_endpoint, + 'enable_persistent_storage': enable_persistent_storage, + 'persistent_storage': persistent_storage, + 'loaded_public_certificate_file': loaded_public_certificate_file, + 'enable_end_to_end_tls': enable_ingress_to_app_tls, + 'https_only': https_only, + } + + if deployment is None: + updated_deployment_kwargs = {k: v for k, v in deployment_kwargs.items() if v} + if updated_deployment_kwargs: + raise ArgumentUsageError('{} cannot be set when there is no active deployment.' + .format(convert_argument_to_parameter_list(updated_deployment_kwargs.keys()))) + + deployment_factory = deployment_selector(**deployment_kwargs, **basic_kwargs) + app_factory = app_selector(**basic_kwargs) + deployment_kwargs.update(deployment_factory.get_update_backfill_options(**deployment_kwargs, **basic_kwargs)) + + app_resource = app_factory.format_resource(**app_kwargs, **basic_kwargs) + deployment_factory.source_factory.validate_source(**deployment_kwargs, **basic_kwargs) + deployment_resource = deployment_factory.format_resource(**deployment_kwargs, **basic_kwargs) + + pollers = [ + client.apps.begin_update(resource_group, service, name, app_resource) + ] + if deployment: + pollers.append(client.deployments.begin_update(resource_group, + service, + name, + deployment.name, + deployment_resource)) + if no_wait: + return + wait_till_end(cmd, *pollers) + return app_get(cmd, client, resource_group, service, name) + + +def app_deploy(cmd, client, resource_group, service, name, + deployment=None, # set by validator + # only used in validator + disable_validation=None, + # deployment.source + version=None, + artifact_path=None, + source_path=None, + target_module=None, + runtime_version=None, + jvm_options=None, + main_entry=None, + container_image=None, + container_registry=None, + registry_username=None, + registry_password=None, + container_command=None, + container_args=None, + build_env=None, + builder=None, + # deployment.settings + env=None, + disable_probe=None, + config_file_patterns=None, + # general + no_wait=False): + '''app_deploy + Deploy the local file or container image to the given deployment + 1. Prepare the deployable path for deployment which can be apply to deployment.source + - [BYOC] construct DeploymentResourceSource directly + - [Enterprise] Format a BuildResult user info + - [Source Code for Standard] Compress and Upload + - [Others] Upload + 2. Prepare the Deployment Source + 2. Update Deployment resource + ''' + logger.warning(LOG_RUNNING_PROMPT) + kwargs = { + 'cmd': cmd, + 'client': client, + 'resource_group': resource_group, + 'service': service, + 'app': name, + 'deployment': deployment.name, + 'deployment_resource': deployment, + 'sku': deployment.sku, + 'disable_probe': disable_probe, + 'config_file_patterns': config_file_patterns, + 'env': env, + 'runtime_version': runtime_version, + 'jvm_options': jvm_options, + 'main_entry': main_entry, + 'version': version, + 'artifact_path': artifact_path, + 'source_path': source_path, + 'target_module': target_module, + 'container_image': container_image, + 'container_registry': container_registry, + 'registry_username': registry_username, + 'registry_password': registry_password, + 'container_command': container_command, + 'container_args': container_args, + 'build_env': build_env, + 'builder': builder, + 'no_wait': no_wait + } + + # inherit source type or runtime version from the existing deployment if not specified in command. + orginal_source_options = deployment_source_options_from_resource(deployment) + orginal_source_options.update({k: v for k, v in kwargs.items() if v}) + kwargs.update(orginal_source_options) + + deploy = deployable_selector(**kwargs) + kwargs['source_type'] = deploy.get_source_type(**kwargs) + kwargs['total_steps'] = deploy.get_total_deploy_steps(**kwargs) + kwargs['deployable_path'] = deploy.build_deployable_path(**kwargs) + + deployment_factory = deployment_selector(**kwargs) + kwargs.update(deployment_factory.get_fulfill_options(**kwargs)) + deployment_resource = deployment_factory.format_resource(**kwargs) + logger.warning('[{}/{}] Updating deployment in app "{}" (this operation can take a ' + 'while to complete)'.format(kwargs['total_steps'], + kwargs['total_steps'], + name)) + return sdk_no_wait(no_wait, deployment_factory.get_deploy_method(**kwargs), + resource_group, service, name, deployment.name, + deployment_resource) + + +def deployment_create(cmd, client, resource_group, service, app, name, + disable_validation=None, + # deployment.source + version=None, + artifact_path=None, + source_path=None, + target_module=None, + runtime_version=None, + jvm_options=None, + main_entry=None, + container_image=None, + container_registry=None, + registry_username=None, + registry_password=None, + container_command=None, + container_args=None, + build_env=None, + builder=None, + # deployment.settings + skip_clone_settings=False, + cpu=None, + memory=None, + instance_count=None, + env=None, + disable_probe=None, + config_file_patterns=None, + # general + no_wait=False): + '''deployment_create + Create a deployment under app as in-active + 1. Copy settings from active deployment if --skip-clone-settings not set + 2. Prepare the Deployment.Source + - Prepare default user source info + - [BYOC] construct DeploymentResourceSource directly + - [Enterprise] Format a BuildResult user info + - [Source Code for Standard] Compress and Upload + - [Others] Upload + 3. Create Deployment resource + ''' + kwargs = { + 'cmd': cmd, + 'client': client, + 'resource_group': resource_group, + 'service': service, + 'app': app, + 'deployment': name, + 'disable_probe': disable_probe, + 'config_file_patterns': config_file_patterns, + 'env': env, + 'runtime_version': runtime_version, + 'jvm_options': jvm_options, + 'main_entry': main_entry, + 'version': version, + 'artifact_path': artifact_path, + 'source_path': source_path, + 'target_module': target_module, + 'container_image': container_image, + 'container_registry': container_registry, + 'registry_username': registry_username, + 'registry_password': registry_password, + 'container_command': container_command, + 'container_args': container_args, + 'cpu': cpu, + 'memory': memory, + 'instance_count': instance_count, + 'build_env': build_env, + 'builder': builder, + 'no_wait': no_wait + } + + kwargs.update(_fulfill_deployment_creation_options(skip_clone_settings, **kwargs)) + + deploy = deployable_selector(**kwargs) + kwargs['source_type'] = deploy.get_source_type(**kwargs) + kwargs['total_steps'] = deploy.get_total_deploy_steps() + kwargs['deployable_path'] = deploy.build_deployable_path(**kwargs) + deployment_factory = deployment_selector(**kwargs) + deployment_resource = deployment_factory.format_resource(**kwargs) + logger.warning('[{}/{}] Creating deployment in app "{}" (this operation can take a ' + 'while to complete)'.format(kwargs['total_steps'], + kwargs['total_steps'], + app)) + return sdk_no_wait(no_wait, client.deployments.begin_create_or_update, + resource_group, service, app, name, + deployment_resource) + + +def _ensure_app_not_exist(client, resource_group, service, name): + app = None + try: + app = client.apps.get(resource_group, service, name) + except Exception: + # ignore + return + if app: + raise ValidationError('App {} already exist.'.format(app.id)) + + +def _fulfill_deployment_creation_options(skip_clone_settings, client, resource_group, service, app, **kwargs): + options = default_deployment_create_options() + if not skip_clone_settings: + active_deployment = _get_active_deployment(client, resource_group, service, app) + if not active_deployment: + logger.warning('No production deployment found, use --skip-clone-settings to skip copying settings from ' + 'production deployment.') + else: + options.update(deployment_settings_options_from_resource(active_deployment)) + options.update(deployment_source_options_from_resource(active_deployment)) + if not options.get('sku', None): + options['sku'] = get_spring_cloud_sku(client, resource_group, service) + options.update({k: v for k, v in kwargs.items() if v}) + return options diff --git a/src/spring-cloud/azext_spring_cloud/application_configuration_service.py b/src/spring-cloud/azext_spring_cloud/application_configuration_service.py new file mode 100644 index 00000000000..fa11066b192 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/application_configuration_service.py @@ -0,0 +1,221 @@ +# -------------------------------------------------------------------------------------------- +# 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, logging-format-interpolation, protected-access, wrong-import-order, too-many-lines +import json + +from azure.cli.core.azclierror import ClientRequestError, ValidationError +from azure.cli.core.commands.client_factory import get_subscription_id +from azure.cli.core.util import sdk_no_wait +from knack.log import get_logger +from msrestazure.tools import resource_id + +from .vendored_sdks.appplatform.v2022_01_01_preview import models + +APPLICATION_CONFIGURATION_SERVICE_NAME = "applicationConfigurationService" +RESOURCE_ID = "resourceId" + +RESOURCE_TYPE = "configurationServices" +DEFAULT_NAME = "default" + +logger = get_logger(__name__) + + +def application_configuration_service_show(cmd, client, service, resource_group): + return client.configuration_services.get(resource_group, service, DEFAULT_NAME) + + +def application_configuration_service_clear(cmd, client, service, resource_group): + logger.warn("Please make sure no patterns are used in your apps.") + properties = models.ConfigurationServiceGitProperty() + acs_resource = models.ConfigurationServiceResource(properties=properties) + return client.configuration_services.begin_create_or_update(resource_group, service, DEFAULT_NAME, acs_resource) + + +def application_configuration_service_git_add(cmd, client, service, resource_group, + name, patterns, uri, label, + search_paths=None, + username=None, + password=None, + host_key=None, + host_key_algorithm=None, + private_key=None, + host_key_check=None, + no_wait=False): + repo = models.ConfigurationServiceGitRepository(name=name, patterns=patterns, uri=uri, label=label) + repo = _replace_repo_with_input(repo, patterns, uri, label, search_paths, username, password, host_key, host_key_algorithm, private_key, host_key_check) + + acs_resource = _get_or_default_acs_resource(client, resource_group, service) + repos = acs_resource.properties.settings.git_property.repositories + if next((r for r in repos if r.name == name), None) is not None: + raise ValidationError("Repo '{}' already exists.".format(name)) + repos.append(repo) + acs_resource.properties.settings.git_property.repositories = repos + + _validate_acs_settings(client, resource_group, service, acs_resource.properties.settings) + + logger.warning("[2/2] Adding item to Application Configuration Service settings, (this operation can take a while to complete)") + return sdk_no_wait(no_wait, client.configuration_services.begin_create_or_update, resource_group, service, DEFAULT_NAME, acs_resource) + + +def application_configuration_service_git_update(cmd, client, service, resource_group, name, + patterns=None, + uri=None, + label=None, + search_paths=None, + username=None, + password=None, + host_key=None, + host_key_algorithm=None, + private_key=None, + host_key_check=None, + no_wait=False): + acs_resource = _get_or_default_acs_resource(client, resource_group, service) + repo = _get_existing_repo(acs_resource.properties.settings.git_property.repositories, name) + repo = _replace_repo_with_input(repo, patterns, uri, label, search_paths, username, password, host_key, host_key_algorithm, private_key, host_key_check) + + _validate_acs_settings(client, resource_group, service, acs_resource.properties.settings) + + logger.warning("[2/2] Updating item of Application Configuration Service settings, (this operation can take a while to complete)") + return sdk_no_wait(no_wait, client.configuration_services.begin_create_or_update, resource_group, service, DEFAULT_NAME, acs_resource) + + +def application_configuration_service_git_remove(cmd, client, service, resource_group, name, no_wait=False): + acs_resource = _get_or_default_acs_resource(client, resource_group, service) + + repo = _get_existing_repo(acs_resource.properties.settings.git_property.repositories, name) + acs_resource.properties.settings.git_property.repositories.remove(repo) + + _validate_acs_settings(client, resource_group, service, acs_resource.properties.settings) + + logger.warning("[2/2] Removing item of Application Configuration Service settings, (this operation can take a while to complete)") + return sdk_no_wait(no_wait, client.configuration_services.begin_create_or_update, resource_group, service, DEFAULT_NAME, acs_resource) + + +def application_configuration_service_git_list(cmd, client, service, resource_group): + acs_resource = client.configuration_services.get(resource_group, service, DEFAULT_NAME) + acs_settings = acs_resource.properties.settings + + return acs_settings.git_property.repositories + + +def application_configuration_service_bind(cmd, client, service, resource_group, app): + return _acs_bind_or_unbind_app(cmd, client, service, resource_group, app, True) + + +def application_configuration_service_unbind(cmd, client, service, resource_group, app): + return _acs_bind_or_unbind_app(cmd, client, service, resource_group, app, False) + + +def _acs_bind_or_unbind_app(cmd, client, service, resource_group, app_name, enabled): + app = client.apps.get(resource_group, service, app_name) + app.properties.addon_configs = _get_app_addon_configs_with_acs(app.properties.addon_configs) + + if (app.properties.addon_configs[APPLICATION_CONFIGURATION_SERVICE_NAME][RESOURCE_ID] != "") == enabled: + logger.warning('App "{}" has been {}binded'.format(app_name, '' if enabled else 'un')) + return app + + acs_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=resource_group, + namespace='Microsoft.AppPlatform', + type='Spring', + name=service, + child_type_1=RESOURCE_TYPE, + child_name_1=DEFAULT_NAME + ) + if enabled: + app.properties.addon_configs[APPLICATION_CONFIGURATION_SERVICE_NAME][RESOURCE_ID] = acs_id + else: + app.properties.addon_configs[APPLICATION_CONFIGURATION_SERVICE_NAME][RESOURCE_ID] = "" + return client.apps.begin_update(resource_group, service, app_name, app) + + +def _get_app_addon_configs_with_acs(addon_configs): + if addon_configs is None: + addon_configs = {} + if addon_configs.get(APPLICATION_CONFIGURATION_SERVICE_NAME) is None: + addon_configs[APPLICATION_CONFIGURATION_SERVICE_NAME] = {} + if addon_configs[APPLICATION_CONFIGURATION_SERVICE_NAME].get(RESOURCE_ID) is None: + addon_configs[APPLICATION_CONFIGURATION_SERVICE_NAME][RESOURCE_ID] = "" + return addon_configs + + +def _replace_repo_with_input(repo, patterns, uri, label, search_paths, username, password, host_key, host_key_algorithm, private_key, strict_host_key_checking): + if patterns: + patterns = patterns.split(",") + if search_paths: + search_paths = search_paths.split(",") + + repo.patterns = patterns or repo.patterns + repo.uri = uri or repo.uri + repo.label = label or repo.label + repo.search_paths = search_paths or repo.search_paths + repo.username = username or repo.username + repo.password = password or repo.password + repo.host_key = host_key or repo.host_key + repo.host_key_algorithm = host_key_algorithm or repo.host_key_algorithm + repo.private_key = private_key or repo.private_key + repo.strict_host_key_checking = strict_host_key_checking or repo.strict_host_key_checking + return repo + + +def _get_existing_repo(repos, name): + repo = next((r for r in repos if r.name == name), None) + if not repo: + raise ClientRequestError("Repo '{}' not found.".format(name)) + return repo + + +def _get_or_default_acs_resource(client, resource_group, service): + acs_resource = client.configuration_services.get(resource_group, service, DEFAULT_NAME) + if acs_resource is None: + acs_resource = models.ConfigurationServiceResource() + acs_resource.properties = _get_acs_properties(acs_resource.properties) + return acs_resource + + +def _get_acs_properties(properties): + if properties is None: + properties = models.ConfigurationServiceProperties() + properties.settings = _get_acs_settings(properties.settings) + return properties + + +def _get_acs_settings(acs_settings): + if acs_settings is None: + acs_settings = models.ConfigurationServiceSettings() + acs_settings.git_property = _get_acs_git_property(acs_settings.git_property) + return acs_settings + + +def _get_acs_git_property(git_property): + if git_property is None: + git_property = models.ConfigurationServiceGitProperty() + git_property.repositories = _get_acs_repos(git_property.repositories) + return git_property + + +def _get_acs_repos(repos): + return repos or [] + + +def _validate_acs_settings(client, resource_group, service, acs_settings): + logger.warning("[1/2] Validating Application Configuration Service settings") + + if acs_settings is None or acs_settings.git_property is None: + return + + try: + result = sdk_no_wait(False, client.configuration_services.begin_validate, resource_group, service, DEFAULT_NAME, acs_settings).result() + except Exception as err: # pylint: disable=broad-except + raise ClientRequestError("{0}. You may raise a support ticket if needed by the following link: https://docs.microsoft.com/azure/spring-cloud/spring-cloud-faq?pivots=programming-language-java#how-can-i-provide-feedback-and-report-issues".format(err)) + + if result is not None and result.git_property_validation_result is not None: + git_result = result.git_property_validation_result + if not git_result.is_valid: + validation_result = git_result.git_repos_validation_result + filter_result = [{'name': x.name, 'messages': x.messages} for x in validation_result if len(x.messages) > 0] + raise ClientRequestError("Application Configuration Service settings contain errors.\n{}".format(json.dumps(filter_result, indent=2))) diff --git a/src/spring-cloud/azext_spring_cloud/buildpack_binding.py b/src/spring-cloud/azext_spring_cloud/buildpack_binding.py new file mode 100644 index 00000000000..8033ea7915c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/buildpack_binding.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order +from .vendored_sdks.appplatform.v2022_01_01_preview import models +from azure.cli.core.util import sdk_no_wait +from ._utils import get_portal_uri +from msrestazure.tools import parse_resource_id, is_valid_resource_id +from azure.cli.core.commands.client_factory import get_mgmt_service_client +from azure.cli.core.azclierror import InvalidArgumentValueError +from azure.mgmt.applicationinsights import ApplicationInsightsManagementClient +from azure.core.exceptions import ResourceNotFoundError +from knack.log import get_logger + +logger = get_logger(__name__) + +DEFAULT_BUILDER_NAME = "default" +DEFAULT_BINDING_NAME = "default" +DEFAULT_BUILD_SERVICE_NAME = "default" + + +def create_or_update_buildpack_binding(cmd, client, resource_group, service, + name, type, builder_name=None, properties=None, secrets=None): + if not builder_name: + builder_name = DEFAULT_BUILDER_NAME + logger.warning('Option --builder-name is not provided, will use default builder name "{}".'.format(builder_name)) + + logger.warning('[1/1] Creating or updating to buildpack binding for builder "{}", (this operation can take a while to complete).'.format(builder_name)) + + binding_resource = _build_buildpack_binding_resource(type, properties, secrets) + return sdk_no_wait(False, client.buildpack_binding.begin_create_or_update, resource_group, + service, DEFAULT_BUILD_SERVICE_NAME, builder_name, name, binding_resource) + + +def buildpack_binding_show(cmd, client, resource_group, service, name, builder_name=None): + if not builder_name: + builder_name = DEFAULT_BUILDER_NAME + logger.warning('Option --builder-name is not provided, will use default builder name "{}".'.format(builder_name)) + + return client.buildpack_binding.get(resource_group, service, DEFAULT_BUILD_SERVICE_NAME, + builder_name, name) + + +def buildpack_binding_list(cmd, client, resource_group, service, builder_name=None): + if not builder_name: + builder_name = DEFAULT_BUILDER_NAME + logger.warning('Option --builder-name is not provided, will use default builder name "{}".'.format(builder_name)) + + return client.buildpack_binding.list(resource_group, service, DEFAULT_BUILD_SERVICE_NAME, builder_name) + + +def buildpack_binding_delete(cmd, client, resource_group, service, name, builder_name=None): + if not builder_name: + builder_name = DEFAULT_BUILDER_NAME + logger.warning('Option --builder-name is not provided, will use default builder name "{}".'.format(builder_name)) + + logger.warning('[1/1] Deleting buildpack binding for builder "{}", (this operation can take a while to complete).'.format(builder_name)) + + return sdk_no_wait(False, client.buildpack_binding.begin_delete, resource_group, + service, DEFAULT_BUILD_SERVICE_NAME, builder_name, name) + + +def create_default_buildpack_binding_for_application_insights(cmd, client, resource_group, name, location, + app_insights_key, app_insights, sampling_rate): + logger.warning("Start configure Application Insights") + binding_resource = models.BuildpackBindingResource() + binding_resource.properties = _get_buildpack_binding_properties(cmd, resource_group, name, location, app_insights_key, app_insights, sampling_rate) + + if binding_resource.properties: + return client.buildpack_binding.begin_create_or_update(resource_group, name, DEFAULT_BUILD_SERVICE_NAME, + DEFAULT_BUILDER_NAME, DEFAULT_BINDING_NAME, binding_resource) + + +def _build_buildpack_binding_resource(binding_type, properties_dict, secrets_dict): + launch_properties = models.BuildpackBindingLaunchProperties(properties=properties_dict, + secrets=secrets_dict) + binding_properties = models.BuildpackBindingProperties(binding_type=binding_type, + launch_properties=launch_properties) + return models.BuildpackBindingResource(properties=binding_properties) + + +def _get_buildpack_binding_properties(cmd, resource_group, service_name, location, + app_insights_key, app_insights, sampling_rate): + + sampling_rate = sampling_rate or 10 + connection_string = app_insights_key or \ + _get_connection_string_from_app_insights(cmd, resource_group, app_insights) or \ + _create_app_insights_and_get_connection_string(cmd, resource_group, service_name, location) + + if not connection_string: + raise InvalidArgumentValueError('Error while trying to get the ConnectionString of Application Insights for the Azure Spring Cloud. ' + 'Please use the Azure Portal to create and configure the Application Insights, if needed.') + + launch_properties = models.BuildpackBindingLaunchProperties(properties={ + "connection-string": connection_string, + "sampling-percentage": sampling_rate, + }) + + return models.BuildpackBindingProperties(binding_type="ApplicationInsights", launch_properties=launch_properties) + + +def _create_app_insights_and_get_connection_string(cmd, resource_group, service_name, location): + + try: + created_app_insights = _try_create_application_insights(cmd, resource_group, service_name, location) + if created_app_insights: + return created_app_insights.connection_string + except Exception: # pylint: disable=broad-except + logger.warning( + 'Error while trying to create and configure an Application Insights for the Azure Spring Cloud. ' + 'Please use the Azure Portal to create and configure the Application Insights, if needed.') + return None + + +def _get_connection_string_from_app_insights(cmd, resource_group, app_insights): + """Get connection string from: + 1) application insights name + 2) application insights resource id + """ + + if not app_insights: + return None + + if is_valid_resource_id(app_insights): + resource_id_dict = parse_resource_id(app_insights) + connection_string = _get_app_insights_connection_string( + cmd.cli_ctx, resource_id_dict['resource_group'], resource_id_dict['resource_name']) + else: + connection_string = _get_app_insights_connection_string(cmd.cli_ctx, resource_group, app_insights) + + if not connection_string: + logger.warning( + "Cannot find Connection string from application insights:{}".format(app_insights)) + + return connection_string + + +def _get_app_insights_connection_string(cli_ctx, resource_group, name): + appinsights_client = get_mgmt_service_client(cli_ctx, ApplicationInsightsManagementClient) + appinsights = appinsights_client.components.get(resource_group, name) + + if not appinsights or not appinsights.connection_string: + raise ResourceNotFoundError("App Insights {} under resource group {} was not found.".format(name, resource_group)) + + return appinsights.connection_string + + +def _try_create_application_insights(cmd, resource_group, name, location): + creation_failed_warn = 'Unable to create the Application Insights for the Azure Spring Cloud. ' \ + 'Please use the Azure Portal to manually create and configure the Application Insights, ' \ + 'if needed.' + + ai_resource_group_name = resource_group + ai_name = name + ai_location = location + ai_properties = { + "name": ai_name, + "location": ai_location, + "kind": "web", + "properties": { + "Application_Type": "web" + } + } + + app_insights_client = get_mgmt_service_client(cmd.cli_ctx, ApplicationInsightsManagementClient) + appinsights = app_insights_client.components.create_or_update(ai_resource_group_name, ai_name, ai_properties) + + if not appinsights or not appinsights.connection_string: + logger.warning(creation_failed_warn) + return None + + portal_url = get_portal_uri(cmd.cli_ctx) + # We make this success message as a warning to no interfere with regular JSON output in stdout + logger.warning('Application Insights \"%s\" was created for this Azure Spring Cloud. ' + 'You can visit %s/#resource%s/overview to view your ' + 'Application Insights component', appinsights.name, portal_url, appinsights.id) + + return appinsights diff --git a/src/spring-cloud/azext_spring_cloud/commands.py b/src/spring-cloud/azext_spring_cloud/commands.py index 4220afbcc6a..9752094fff6 100644 --- a/src/spring-cloud/azext_spring_cloud/commands.py +++ b/src/spring-cloud/azext_spring_cloud/commands.py @@ -4,34 +4,95 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long +from azure.cli.core.commands import CliCommandType from azext_spring_cloud._utils import handle_asc_exception -from ._client_factory import (cf_app_services, - cf_spring_cloud, +from ._client_factory import (cf_spring_cloud_20220101preview, cf_spring_cloud_20201101preview, - cf_spring_cloud_20210601preview, - cf_spring_cloud_20210901preview, cf_config_servers) from ._transformers import (transform_spring_cloud_table_output, transform_app_table_output, transform_spring_cloud_deployment_output, transform_spring_cloud_certificate_output, - transform_spring_cloud_custom_domain_output) + transform_spring_cloud_custom_domain_output, + transform_application_configuration_service_output, + transform_service_registry_output, + transform_spring_cloud_gateway_output, + transform_api_portal_output) +from ._validators_enterprise import (validate_gateway_update, validate_api_portal_update) # pylint: disable=too-many-statements def load_command_table(self, _): - with self.command_group('spring-cloud', client_factory=cf_app_services, + spring_cloud_routing_util = CliCommandType( + operations_tmpl='azext_spring_cloud.spring_cloud_instance#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + app_command = CliCommandType( + operations_tmpl='azext_spring_cloud.app#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + service_registry_cmd_group = CliCommandType( + operations_tmpl='azext_spring_cloud.service_registry#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + builder_cmd_group = CliCommandType( + operations_tmpl="azext_spring_cloud._build_service#{}", + client_factory=cf_spring_cloud_20220101preview + ) + + buildpack_binding_cmd_group = CliCommandType( + operations_tmpl="azext_spring_cloud.buildpack_binding#{}", + client_factory=cf_spring_cloud_20220101preview + ) + + application_configuration_service_cmd_group = CliCommandType( + operations_tmpl='azext_spring_cloud.application_configuration_service#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + gateway_cmd_group = CliCommandType( + operations_tmpl='azext_spring_cloud.gateway#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + gateway_custom_domain_cmd_group = CliCommandType( + operations_tmpl='azext_spring_cloud.gateway#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + gateway_route_config_cmd_group = CliCommandType( + operations_tmpl='azext_spring_cloud.gateway#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + api_portal_cmd_group = CliCommandType( + operations_tmpl='azext_spring_cloud.api_portal#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + api_portal_custom_domain_cmd_group = CliCommandType( + operations_tmpl='azext_spring_cloud.api_portal#{}', + client_factory=cf_spring_cloud_20220101preview + ) + + with self.command_group('spring-cloud', custom_command_type=spring_cloud_routing_util, + exception_handler=handle_asc_exception) as g: + g.custom_command('create', 'spring_cloud_create', supports_no_wait=True) + + with self.command_group('spring-cloud', client_factory=cf_spring_cloud_20220101preview, exception_handler=handle_asc_exception) as g: - g.custom_command('create', 'spring_cloud_create', supports_no_wait=True, client_factory=cf_spring_cloud) - g.custom_command('update', 'spring_cloud_update', supports_no_wait=True, client_factory=cf_spring_cloud) + g.custom_command('update', 'spring_cloud_update', supports_no_wait=True) g.custom_command('delete', 'spring_cloud_delete', supports_no_wait=True) - g.custom_command('start', 'spring_cloud_start', supports_no_wait=True, client_factory=cf_spring_cloud_20210901preview) - g.custom_command('stop', 'spring_cloud_stop', supports_no_wait=True, client_factory=cf_spring_cloud_20210901preview) - g.custom_command('list', 'spring_cloud_list', client_factory=cf_spring_cloud_20210901preview, table_transformer=transform_spring_cloud_table_output) - g.custom_show_command('show', 'spring_cloud_get', client_factory=cf_spring_cloud_20210901preview, table_transformer=transform_spring_cloud_table_output) + g.custom_command('start', 'spring_cloud_start', supports_no_wait=True) + g.custom_command('stop', 'spring_cloud_stop', supports_no_wait=True) + g.custom_command('list', 'spring_cloud_list', table_transformer=transform_spring_cloud_table_output) + g.custom_show_command('show', 'spring_cloud_get', table_transformer=transform_spring_cloud_table_output) - with self.command_group('spring-cloud test-endpoint', client_factory=cf_spring_cloud, + with self.command_group('spring-cloud test-endpoint', client_factory=cf_spring_cloud_20220101preview, exception_handler=handle_asc_exception) as g: g.custom_command('enable ', 'enable_test_endpoint') g.custom_show_command('disable ', 'disable_test_endpoint') @@ -52,17 +113,20 @@ def load_command_table(self, _): g.custom_command('repo update', 'config_repo_update') g.custom_command('repo list', 'config_repo_list') - with self.command_group('spring-cloud app', client_factory=cf_spring_cloud_20210901preview, + with self.command_group('spring-cloud app', custom_command_type=app_command, exception_handler=handle_asc_exception) as g: g.custom_command('create', 'app_create') - g.custom_command('update', 'app_update') + g.custom_command('update', 'app_update', supports_no_wait=True) g.custom_command('deploy', 'app_deploy', supports_no_wait=True) - g.custom_command('scale', 'app_scale', supports_no_wait=True) - g.custom_command('show-deploy-log', 'app_get_build_log') + + with self.command_group('spring-cloud app', client_factory=cf_spring_cloud_20220101preview, + exception_handler=handle_asc_exception) as g: g.custom_command('set-deployment', 'app_set_deployment', supports_no_wait=True) g.custom_command('unset-deployment', 'app_unset_deployment', supports_no_wait=True) + g.custom_command('scale', 'app_scale', supports_no_wait=True) + g.custom_command('show-deploy-log', 'app_get_build_log') g.custom_command('delete', 'app_delete') g.custom_command('list', 'app_list', table_transformer=transform_app_table_output) @@ -75,20 +139,23 @@ def load_command_table(self, _): g.custom_command('append-persistent-storage', 'app_append_persistent_storage') g.custom_command('append-loaded-public-certificate', 'app_append_loaded_public_certificate') - with self.command_group('spring-cloud app identity', client_factory=cf_spring_cloud, + with self.command_group('spring-cloud app identity', client_factory=cf_spring_cloud_20220101preview, exception_handler=handle_asc_exception) as g: g.custom_command('assign', 'app_identity_assign') g.custom_command('remove', 'app_identity_remove') g.custom_show_command('show', 'app_identity_show') - with self.command_group('spring-cloud app log', client_factory=cf_spring_cloud, + with self.command_group('spring-cloud app log', client_factory=cf_spring_cloud_20220101preview, deprecate_info=g.deprecate(redirect='az spring-cloud app logs', hide=True), exception_handler=handle_asc_exception) as g: g.custom_command('tail', 'app_tail_log') - with self.command_group('spring-cloud app deployment', client_factory=cf_spring_cloud_20210901preview, + with self.command_group('spring-cloud app deployment', custom_command_type=app_command, exception_handler=handle_asc_exception) as g: g.custom_command('create', 'deployment_create', supports_no_wait=True) + + with self.command_group('spring-cloud app deployment', client_factory=cf_spring_cloud_20220101preview, + exception_handler=handle_asc_exception) as g: g.custom_command('list', 'deployment_list', table_transformer=transform_spring_cloud_deployment_output) g.custom_show_command( @@ -98,7 +165,7 @@ def load_command_table(self, _): g.custom_command('generate-thread-dump', 'deployment_generate_thread_dump') g.custom_command('start-jfr', 'deployment_start_jfr') - with self.command_group('spring-cloud app binding', client_factory=cf_spring_cloud, + with self.command_group('spring-cloud app binding', client_factory=cf_spring_cloud_20220101preview, exception_handler=handle_asc_exception) as g: g.custom_command('list', 'binding_list') g.custom_show_command('show', 'binding_get') @@ -110,7 +177,7 @@ def load_command_table(self, _): g.custom_command('redis update', 'binding_redis_update') g.custom_show_command('remove', 'binding_remove') - with self.command_group('spring-cloud storage', client_factory=cf_spring_cloud_20210901preview, + with self.command_group('spring-cloud storage', client_factory=cf_spring_cloud_20220101preview, exception_handler=handle_asc_exception) as g: g.custom_command('list', 'storage_list') g.custom_show_command('show', 'storage_get') @@ -119,7 +186,7 @@ def load_command_table(self, _): g.custom_command('remove', 'storage_remove') g.custom_command('list-persistent-storage', "storage_list_persistent_storage", table_transformer=transform_app_table_output) - with self.command_group('spring-cloud certificate', client_factory=cf_spring_cloud_20210901preview, + with self.command_group('spring-cloud certificate', client_factory=cf_spring_cloud_20220101preview, exception_handler=handle_asc_exception) as g: g.custom_command('add', 'certificate_add') g.custom_show_command('show', 'certificate_show', table_transformer=transform_spring_cloud_certificate_output) @@ -127,7 +194,7 @@ def load_command_table(self, _): g.custom_command('remove', 'certificate_remove') g.custom_command('list-reference-app', 'certificate_list_reference_app', table_transformer=transform_app_table_output) - with self.command_group('spring-cloud app custom-domain', client_factory=cf_spring_cloud, + with self.command_group('spring-cloud app custom-domain', client_factory=cf_spring_cloud_20220101preview, exception_handler=handle_asc_exception) as g: g.custom_command('bind', 'domain_bind') g.custom_show_command('show', 'domain_show', table_transformer=transform_spring_cloud_custom_domain_output) @@ -141,5 +208,99 @@ def load_command_table(self, _): g.custom_command('update', 'app_insights_update', supports_no_wait=True) g.custom_show_command('show', 'app_insights_show') + with self.command_group('spring-cloud service-registry', + custom_command_type=service_registry_cmd_group, + exception_handler=handle_asc_exception, + is_preview=True) as g: + g.custom_show_command('show', 'service_registry_show', + table_transformer=transform_service_registry_output) + g.custom_command('bind', 'service_registry_bind') + g.custom_command('unbind', 'service_registry_unbind') + + with self.command_group('spring-cloud application-configuration-service', + custom_command_type=application_configuration_service_cmd_group, + exception_handler=handle_asc_exception, + is_preview=True) as g: + g.custom_command('clear', 'application_configuration_service_clear') + g.custom_show_command('show', 'application_configuration_service_show', + table_transformer=transform_application_configuration_service_output) + g.custom_command('bind', 'application_configuration_service_bind') + g.custom_command('unbind', 'application_configuration_service_unbind') + + with self.command_group('spring-cloud application-configuration-service git repo', + custom_command_type=application_configuration_service_cmd_group, + exception_handler=handle_asc_exception) as g: + g.custom_command('add', 'application_configuration_service_git_add') + g.custom_command('update', 'application_configuration_service_git_update') + g.custom_command('remove', 'application_configuration_service_git_remove') + g.custom_command('list', 'application_configuration_service_git_list') + + with self.command_group('spring-cloud gateway', + custom_command_type=gateway_cmd_group, + exception_handler=handle_asc_exception, + is_preview=True) as g: + g.custom_show_command('show', 'gateway_show', table_transformer=transform_spring_cloud_gateway_output) + g.custom_command('update', 'gateway_update', validator=validate_gateway_update, supports_no_wait=True) + g.custom_command('clear', 'gateway_clear', supports_no_wait=True) + + with self.command_group('spring-cloud gateway custom-domain', + custom_command_type=gateway_custom_domain_cmd_group, + exception_handler=handle_asc_exception) as g: + g.custom_show_command('show', 'gateway_custom_domain_show', + table_transformer=transform_spring_cloud_custom_domain_output) + g.custom_command('list', 'gateway_custom_domain_list', + table_transformer=transform_spring_cloud_custom_domain_output) + g.custom_command('bind', 'gateway_custom_domain_update') + g.custom_command('unbind', 'gateway_custom_domain_unbind') + g.custom_command('update', 'gateway_custom_domain_update') + + with self.command_group('spring-cloud gateway route-config', + custom_command_type=gateway_route_config_cmd_group, + exception_handler=handle_asc_exception) as g: + g.custom_show_command('show', 'gateway_route_config_show') + g.custom_command('list', 'gateway_route_config_list') + g.custom_command('create', 'gateway_route_config_create') + g.custom_command('update', 'gateway_route_config_update') + g.custom_command('remove', 'gateway_route_config_remove') + + with self.command_group('spring-cloud api-portal', + custom_command_type=api_portal_cmd_group, + exception_handler=handle_asc_exception, + is_preview=True) as g: + g.custom_show_command('show', 'api_portal_show', table_transformer=transform_api_portal_output) + g.custom_command('update', 'api_portal_update', validator=validate_api_portal_update) + g.custom_command('clear', 'api_portal_clear') + + with self.command_group('spring-cloud api-portal custom-domain', + custom_command_type=api_portal_custom_domain_cmd_group, + exception_handler=handle_asc_exception) as g: + g.custom_show_command('show', 'api_portal_custom_domain_show', + table_transformer=transform_spring_cloud_custom_domain_output) + g.custom_command('list', 'api_portal_custom_domain_list', + table_transformer=transform_spring_cloud_custom_domain_output) + g.custom_command('bind', 'api_portal_custom_domain_update') + g.custom_command('unbind', 'api_portal_custom_domain_unbind') + g.custom_command('update', 'api_portal_custom_domain_update') + + with self.command_group('spring-cloud build-service builder', + custom_command_type=builder_cmd_group, + exception_handler=handle_asc_exception, is_preview=True) as g: + g.custom_command('create', 'create_or_update_builder', supports_no_wait=True) + g.custom_command('update', 'create_or_update_builder', supports_no_wait=True) + g.custom_show_command('show', 'builder_show') + g.custom_command('delete', 'builder_delete', supports_no_wait=True, confirmation=True) + + with self.command_group('spring-cloud build-service builder buildpack-binding', + custom_command_type=buildpack_binding_cmd_group, + exception_handler=handle_asc_exception, is_preview=True) as g: + g.custom_command('create', 'create_or_update_buildpack_binding') + g.custom_command('set', 'create_or_update_buildpack_binding') + g.custom_show_command('show', 'buildpack_binding_show') + g.custom_command('list', 'buildpack_binding_list') + g.custom_command('delete', 'buildpack_binding_delete', confirmation=True) + + with self.command_group('spring-cloud build-service', exception_handler=handle_asc_exception, is_preview=True): + pass + with self.command_group('spring-cloud', exception_handler=handle_asc_exception): pass diff --git a/src/spring-cloud/azext_spring_cloud/custom.py b/src/spring-cloud/azext_spring_cloud/custom.py index 50ca52caaba..0aca23ba82a 100644 --- a/src/spring-cloud/azext_spring_cloud/custom.py +++ b/src/spring-cloud/azext_spring_cloud/custom.py @@ -15,39 +15,34 @@ import yaml # pylint: disable=import-error from time import sleep from ._stream_utils import stream_logs -from msrestazure.tools import parse_resource_id, is_valid_resource_id -from ._utils import _get_upload_local_file, _get_persistent_disk_size, get_portal_uri, get_azure_files_info +from azure.mgmt.core.tools import (parse_resource_id, is_valid_resource_id) +from ._utils import (get_portal_uri) from knack.util import CLIError 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.v2021_06_01_preview import models as models_20210601preview -from .vendored_sdks.appplatform.v2021_09_01_preview import models as models_20210901preview +from .vendored_sdks.appplatform.v2022_01_01_preview import models as models_20220101preview 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.v2021_09_01_preview import ( - AppPlatformManagementClient as AppPlatformManagementClient_20210901preview -) from knack.log import get_logger -from .azure_storage_file import FileService -from azure.cli.core.azclierror import ClientRequestError, FileOperationError, InvalidArgumentValueError, RequiredArgumentMissingError +from azure.cli.core.azclierror import ClientRequestError, FileOperationError, InvalidArgumentValueError from azure.cli.core.commands.client_factory import get_mgmt_service_client -from azure.cli.core.util import get_file_json, sdk_no_wait +from azure.cli.core.util import sdk_no_wait from azure.cli.core.profiles import ResourceType, get_sdk from azure.mgmt.applicationinsights import ApplicationInsightsManagementClient from azure.cli.core.commands import cached_put from azure.core.exceptions import ResourceNotFoundError from ._utils import _get_rg_location -from ._utils import _get_sku_name from ._resource_quantity import validate_cpu, validate_memory from six.moves.urllib import parse from threading import Thread -from threading import Timer import sys import json import base64 from collections import defaultdict +from ._log_stream import LogStream +from ._build_service import _update_default_build_agent_pool logger = get_logger(__name__) DEFAULT_DEPLOYMENT_NAME = "default" @@ -61,60 +56,22 @@ LOG_RUNNING_PROMPT = "This command usually takes minutes to run. Add '--verbose' parameter if needed." -def spring_cloud_create(cmd, client, resource_group, name, location=None, - vnet=None, service_runtime_subnet=None, app_subnet=None, reserved_cidr_range=None, - service_runtime_network_resource_group=None, app_network_resource_group=None, - app_insights_key=None, app_insights=None, sampling_rate=None, - disable_app_insights=None, enable_java_agent=None, - sku='Standard', tags=None, no_wait=False): - """ - If app_insights_key, app_insights and disable_app_insights are all None, - will still create an application insights and enable application insights. - :param enable_java_agent: (TODO) In deprecation process, ignore the value now. Will delete this. - :param app_insights: application insights name or its resource id - :param app_insights_key: Connection string or Instrumentation key - """ - # TODO (jiec) Deco this method when we deco parameter "--enable-java-agent" - _warn_enable_java_agent(enable_java_agent) - - if location is None: - location = _get_rg_location(cmd.cli_ctx, resource_group) - properties = models.ClusterResourceProperties() - - if service_runtime_subnet or app_subnet or reserved_cidr_range: - properties.network_profile = models.NetworkProfile( - service_runtime_subnet_id=service_runtime_subnet, - app_subnet_id=app_subnet, - service_cidr=reserved_cidr_range, - app_network_resource_group=app_network_resource_group, - service_runtime_network_resource_group=service_runtime_network_resource_group - ) - - full_sku = models.Sku(name=_get_sku_name(sku), tier=sku) - - resource = models.ServiceResource(location=location, sku=full_sku, properties=properties, tags=tags) - - poller = client.services.begin_create_or_update( - resource_group, name, resource) - logger.warning(" - Creating Service ..") - while poller.done() is False: - sleep(5) - - _update_application_insights_asc_create(cmd, resource_group, name, location, - app_insights_key, app_insights, sampling_rate, - disable_app_insights, no_wait) - return poller - - -def _warn_enable_java_agent(enable_java_agent): +def _warn_enable_java_agent(enable_java_agent, **_): if enable_java_agent is not None: logger.warn("Java in process agent is now GA-ed and used by default when Application Insights enabled. " "The parameter '--enable-java-agent' is no longer needed and will be removed in future release.") -def _update_application_insights_asc_create(cmd, resource_group, name, location, - app_insights_key, app_insights, sampling_rate, - disable_app_insights, no_wait): +def _update_application_insights_asc_create(cmd, + resource_group, + name, + location, + app_insights_key=None, + app_insights=None, + sampling_rate=None, + disable_app_insights=None, + no_wait=None, + **_): monitoring_setting_resource = models.MonitoringSettingResource() if disable_app_insights is not True: client_preview = get_mgmt_service_client(cmd.cli_ctx, AppPlatformManagementClient_20201101preview) @@ -129,29 +86,32 @@ def _update_application_insights_asc_create(cmd, resource_group, name, location, def spring_cloud_update(cmd, client, resource_group, name, app_insights_key=None, app_insights=None, - disable_app_insights=None, sku=None, tags=None, no_wait=False): + disable_app_insights=None, sku=None, tags=None, build_pool_size=None, no_wait=False): """ TODO (jiec) app_insights_key, app_insights and disable_app_insights are marked as deprecated. Will be decommissioned in future releases. :param app_insights_key: Connection string or Instrumentation key """ - updated_resource = models.ServiceResource() + updated_resource = models_20220101preview.ServiceResource() update_service_tags = False update_service_sku = False # update service sku if sku is not None: - full_sku = models.Sku(name=_get_sku_name(sku), tier=sku) - updated_resource.sku = full_sku + updated_resource.sku = sku update_service_sku = True resource = client.services.get(resource_group, name) location = resource.location - updated_resource_properties = models.ClusterResourceProperties() + updated_resource_properties = models_20220101preview.ClusterResourceProperties() + updated_resource_properties.zone_redundant = None _update_application_insights_asc_update(cmd, resource_group, name, location, app_insights_key, app_insights, disable_app_insights, no_wait) + _update_default_build_agent_pool( + cmd, client, resource_group, name, build_pool_size) + # update service tags if tags is not None: updated_resource.tags = tags @@ -206,7 +166,7 @@ def _update_application_insights_asc_update(cmd, resource_group, name, location, def spring_cloud_delete(cmd, client, resource_group, name, no_wait=False): logger.warning("Stop using Azure Spring Cloud? We appreciate your feedback: https://aka.ms/springclouddeletesurvey") - return sdk_no_wait(no_wait, client.begin_delete, resource_group_name=resource_group, service_name=name) + return sdk_no_wait(no_wait, client.services.begin_delete, resource_group_name=resource_group, service_name=name) def spring_cloud_start(cmd, client, resource_group, name, no_wait=False): @@ -250,17 +210,11 @@ def list_keys(cmd, client, resource_group, name, app=None, deployment=None): if not keys.enabled: return None if app: - if deployment is None: - deployment = client.apps.get( - resource_group, name, app).properties.active_deployment_name - if deployment: - client.deployments.get(resource_group, name, app, deployment) - keys.primary_test_endpoint = "{}/{}/{}/".format( - keys.primary_test_endpoint, app, deployment) - keys.secondary_test_endpoint = "{}/{}/{}/".format( - keys.secondary_test_endpoint, app, deployment) - else: - logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) + deployment_resource = deployment_get(cmd, client, resource_group, name, app, deployment) \ + if deployment else app_get(cmd, client, resource_group, name, app).properties.active_deployment + if deployment_resource: + keys.primary_test_endpoint = "{}/{}/{}/".format(keys.primary_test_endpoint, app, deployment_resource.name) + keys.secondary_test_endpoint = "{}/{}/{}/".format(keys.secondary_test_endpoint, app, deployment_resource.name) return keys @@ -277,17 +231,15 @@ def app_append_persistent_storage(cmd, client, resource_group, service, name, mount_path, mount_options=None, read_only=None): - client_0901_preview = get_mgmt_service_client(cmd.cli_ctx, AppPlatformManagementClient_20210901preview) - - storage_resource = client_0901_preview.storages.get(resource_group, service, storage_name) - app = client_0901_preview.apps.get(resource_group, service, name) + storage_resource = client.storages.get(resource_group, service, storage_name) + app = client.apps.get(resource_group, service, name) custom_persistent_disks = [] if app.properties.custom_persistent_disks: for disk in app.properties.custom_persistent_disks: custom_persistent_disks.append(disk) - custom_persistent_disk_properties = models_20210901preview.AzureFileVolume( + custom_persistent_disk_properties = models_20220101preview.AzureFileVolume( type=persistent_storage_type, share_name=share_name, mount_path=mount_path, @@ -295,7 +247,7 @@ def app_append_persistent_storage(cmd, client, resource_group, service, name, read_only=read_only) custom_persistent_disks.append( - models_20210901preview.CustomPersistentDiskResource( + models_20220101preview.CustomPersistentDiskResource( storage_id=storage_resource.id, custom_persistent_disk_properties=custom_persistent_disk_properties)) @@ -311,280 +263,6 @@ def app_append_persistent_storage(cmd, client, resource_group, service, name, return app_updated -def app_create(cmd, client, resource_group, service, name, - assign_endpoint=None, - cpu=None, - memory=None, - instance_count=None, - disable_probe=None, - runtime_version=None, - jvm_options=None, - env=None, - enable_persistent_storage=None, - assign_identity=None, - persistent_storage=None, - loaded_public_certificate_file=None): - cpu = validate_cpu(cpu) - memory = validate_memory(memory) - apps = _get_all_apps(client, resource_group, service) - if name in apps: - raise CLIError("App '{}' already exists.".format(name)) - logger.warning("[1/4] Creating app with name '{}'".format(name)) - properties = models_20210901preview.AppResourceProperties() - properties.temporary_disk = models_20210901preview.TemporaryDisk( - size_in_gb=5, mount_path="/tmp") - - resource = client.services.get(resource_group, service) - - _validate_instance_count(resource.sku.tier, instance_count) - - if enable_persistent_storage: - properties.persistent_disk = models_20210901preview.PersistentDisk( - size_in_gb=_get_persistent_disk_size(resource.sku.tier), mount_path="/persistent") - else: - properties.persistent_disk = models_20210901preview.PersistentDisk( - size_in_gb=0, mount_path="/persistent") - - if persistent_storage: - client_0901_preview = get_mgmt_service_client(cmd.cli_ctx, AppPlatformManagementClient_20210901preview) - data = get_file_json(persistent_storage, throw_on_empty=False) - custom_persistent_disks = [] - - if data: - if not data.get('customPersistentDisks'): - raise InvalidArgumentValueError("CustomPersistentDisks must be provided in the json file") - for item in data['customPersistentDisks']: - invalidProperties = not item.get('storageName') or \ - not item.get('customPersistentDiskProperties').get('type') or \ - not item.get('customPersistentDiskProperties').get('shareName') or \ - not item.get('customPersistentDiskProperties').get('mountPath') - if invalidProperties: - raise InvalidArgumentValueError("StorageName, Type, ShareName, MountPath mast be provided in the json file") - storage_resource = client_0901_preview.storages.get(resource_group, service, item['storageName']) - custom_persistent_disk_properties = models_20210901preview.AzureFileVolume( - type=item['customPersistentDiskProperties']['type'], - share_name=item['customPersistentDiskProperties']['shareName'], - mount_path=item['customPersistentDiskProperties']['mountPath'], - mount_options=item['customPersistentDiskProperties']['mountOptions'] if 'mountOptions' in item['customPersistentDiskProperties'] else None, - read_only=item['customPersistentDiskProperties']['readOnly'] if 'readOnly' in item['customPersistentDiskProperties'] else None) - - custom_persistent_disks.append( - models_20210901preview.CustomPersistentDiskResource( - storage_id=storage_resource.id, - custom_persistent_disk_properties=custom_persistent_disk_properties)) - properties.custom_persistent_disks = custom_persistent_disks - - if loaded_public_certificate_file is not None: - data = get_file_json(loaded_public_certificate_file) - if data: - if not data.get('loadedCertificates'): - raise FileOperationError("loadedCertificates must be provided in the json file") - loaded_certificates = [] - for item in data['loadedCertificates']: - invalidProperties = not item.get('certificateName') or not item.get('loadTrustStore') - if invalidProperties: - raise FileOperationError("certificateName, loadTrustStore must be provided in the json file") - certificate_resource = client.certificates.get(resource_group, service, item['certificateName']) - loaded_certificates.append(models_20210901preview. - LoadedCertificate(resource_id=certificate_resource.id, - load_trust_store=item['loadTrustStore'])) - properties.loaded_certificates = loaded_certificates - - app_resource = models_20210901preview.AppResource() - app_resource.properties = properties - app_resource.location = resource.location - if assign_identity is True: - app_resource.identity = models_20210901preview.ManagedIdentityProperties(type="systemassigned") - - poller = client.apps.begin_create_or_update( - resource_group, service, name, app_resource) - while poller.done() is False: - sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) - - # create default deployment - logger.warning( - "[2/4] Creating default deployment with name '{}'".format(DEFAULT_DEPLOYMENT_NAME)) - default_deployment_resource = _default_deployment_resource_builder(cpu, memory, env, jvm_options, runtime_version, - instance_count, disable_probe) - poller = client.deployments.begin_create_or_update(resource_group, - service, - name, - DEFAULT_DEPLOYMENT_NAME, - default_deployment_resource) - - logger.warning("[3/4] Setting default deployment to production") - - properties.active_deployment_name = DEFAULT_DEPLOYMENT_NAME - properties.public = assign_endpoint - - app_resource.location = resource.location - - app_poller = client.apps.begin_update(resource_group, service, name, app_resource) - logger.warning( - "[4/4] Updating app '{}' (this operation can take a while to complete)".format(name)) - while not poller.done() or not app_poller.done(): - sleep(DEPLOYMENT_CREATE_OR_UPDATE_SLEEP_INTERVAL) - - active_deployment = client.deployments.get( - resource_group, service, name, DEFAULT_DEPLOYMENT_NAME) - app = client.apps.get(resource_group, service, name) - app.properties.active_deployment = active_deployment - logger.warning("App create succeeded") - return app - - -def _default_deployment_resource_builder(cpu, memory, env, jvm_options, runtime_version, instance_count, disable_probe=None): - resource_requests = models_20210601preview.ResourceRequests(cpu=cpu, memory=memory) - container_probe_settings = None - if disable_probe is not None: - container_probe_settings = models_20210901preview.DeploymentSettingsContainerProbeSettings(disable_probe=disable_probe) - - deployment_settings = models_20210901preview.DeploymentSettings( - resource_requests=resource_requests, - environment_variables=env, - jvm_options=jvm_options, - net_core_main_entry_path=None, - runtime_version=runtime_version, - container_probe_settings=container_probe_settings) - deployment_settings.cpu = None - deployment_settings.memory_in_gb = None - - file_type = "NetCoreZip" if runtime_version == AppPlatformEnums.RuntimeVersion.NET_CORE31 else "Jar" - - user_source_info = models_20210601preview.UserSourceInfo( - relative_path='', type=file_type) - properties = models_20210901preview.DeploymentResourceProperties( - deployment_settings=deployment_settings, - source=user_source_info) - - sku = models_20210601preview.Sku(name="S0", tier="STANDARD", capacity=instance_count) - deployment_resource = models.DeploymentResource(properties=properties, sku=sku) - return deployment_resource - - -def _check_active_deployment_exist(client, resource_group, service, app): - active_deployment_name = client.apps.get(resource_group, service, app).properties.active_deployment_name - if not active_deployment_name: - logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) - - -def app_update(cmd, client, resource_group, service, name, - assign_endpoint=None, - deployment=None, - runtime_version=None, - jvm_options=None, - main_entry=None, - env=None, - disable_probe=None, - enable_persistent_storage=None, - https_only=None, - enable_end_to_end_tls=None, - persistent_storage=None, - loaded_public_certificate_file=None): - _check_active_deployment_exist(client, resource_group, service, name) - resource = client.services.get(resource_group, service) - location = resource.location - - properties = models_20210901preview.AppResourceProperties(public=assign_endpoint, https_only=https_only, - enable_end_to_end_tls=enable_end_to_end_tls) - if enable_persistent_storage is True: - properties.persistent_disk = models_20210901preview.PersistentDisk( - size_in_gb=_get_persistent_disk_size(resource.sku.tier), mount_path="/persistent") - if enable_persistent_storage is False: - properties.persistent_disk = models_20210901preview.PersistentDisk(size_in_gb=0) - - if persistent_storage: - client_0901_preview = get_mgmt_service_client(cmd.cli_ctx, AppPlatformManagementClient_20210901preview) - data = get_file_json(persistent_storage, throw_on_empty=False) - custom_persistent_disks = [] - - if data: - if not data.get('customPersistentDisks'): - raise InvalidArgumentValueError("CustomPersistentDisks must be provided in the json file") - for item in data['customPersistentDisks']: - invalidProperties = not item.get('storageName') or \ - not item.get('customPersistentDiskProperties').get('type') or \ - not item.get('customPersistentDiskProperties').get('shareName') or \ - not item.get('customPersistentDiskProperties').get('mountPath') - if invalidProperties: - raise InvalidArgumentValueError("StorageName, Type, ShareName, MountPath mast be provided in the json file") - storage_resource = client_0901_preview.storages.get(resource_group, service, item['storageName']) - custom_persistent_disk_properties = models_20210901preview.AzureFileVolume( - type=item['customPersistentDiskProperties']['type'], - share_name=item['customPersistentDiskProperties']['shareName'], - mount_path=item['customPersistentDiskProperties']['mountPath'], - mount_options=item['customPersistentDiskProperties']['mountOptions'] if 'mountOptions' in item['customPersistentDiskProperties'] else None, - read_only=item['customPersistentDiskProperties']['readOnly'] if 'readOnly' in item['customPersistentDiskProperties'] else None) - - custom_persistent_disks.append( - models_20210901preview.CustomPersistentDiskResource( - storage_id=storage_resource.id, - custom_persistent_disk_properties=custom_persistent_disk_properties)) - properties.custom_persistent_disks = custom_persistent_disks - if loaded_public_certificate_file is not None: - data = get_file_json(loaded_public_certificate_file) - if data: - if not data.get('loadedCertificates'): - raise CLIError("loadedCertificates must be provided in the json file") - loaded_certificates = [] - for item in data['loadedCertificates']: - invalidProperties = not item.get('certificateName') or not item.get('loadTrustStore') - if invalidProperties: - raise CLIError("certificateName, loadTrustStore must be provided in the json file") - certificate_resource = client.certificates.get(resource_group, service, item['certificateName']) - loaded_certificates.append(models_20210901preview. - LoadedCertificate(resource_id=certificate_resource.id, - load_trust_store=item['loadTrustStore'])) - properties.loaded_certificates = loaded_certificates - - app_resource = models_20210901preview.AppResource() - app_resource.properties = properties - app_resource.location = location - - logger.warning("[1/2] updating app '{}'".format(name)) - poller = client.apps.begin_update( - resource_group, service, name, app_resource) - while poller.done() is False: - sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) - - app_updated = client.apps.get(resource_group, service, name) - - if deployment is None: - logger.warning( - "No '--deployment' given, will update app's production deployment") - deployment = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if deployment is None: - logger.warning("No production deployment found for update") - return app_updated - - logger.warning("[2/2] Updating deployment '{}'".format(deployment)) - container_probe_settings = None - if disable_probe is not None: - container_probe_settings = models_20210901preview.DeploymentSettingsContainerProbeSettings(disable_probe=disable_probe) - - deployment_settings = models_20210901preview.DeploymentSettings( - environment_variables=env, - jvm_options=jvm_options, - net_core_main_entry_path=main_entry, - runtime_version=runtime_version, - container_probe_settings=container_probe_settings) - deployment_settings.cpu = None - deployment_settings.memory_in_gb = None - properties = models_20210901preview.DeploymentResourceProperties( - deployment_settings=deployment_settings) - deployment_resource = models.DeploymentResource(properties=properties) - poller = client.deployments.begin_update( - resource_group, service, name, deployment, deployment_resource) - while poller.done() is False: - sleep(DEPLOYMENT_CREATE_OR_UPDATE_SLEEP_INTERVAL) - - deployment = client.deployments.get( - resource_group, service, name, deployment) - app_updated.properties.active_deployment = deployment - return app_updated - - def app_delete(cmd, client, resource_group, service, @@ -599,16 +277,9 @@ def app_start(cmd, client, name, deployment=None, no_wait=False): - if deployment is None: - deployment = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if deployment is None: - logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) - raise CLIError(NO_PRODUCTION_DEPLOYMENT_ERROR) - logger.warning("Successfully triggered the action 'start' for the app '{}'".format(name)) return sdk_no_wait(no_wait, client.deployments.begin_start, - resource_group, service, name, deployment) + resource_group, service, name, deployment.name) def app_stop(cmd, client, @@ -617,16 +288,9 @@ def app_stop(cmd, client, name, deployment=None, no_wait=False): - if deployment is None: - deployment = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if deployment is None: - logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) - raise CLIError(NO_PRODUCTION_DEPLOYMENT_ERROR) - logger.warning("Successfully triggered the action 'stop' for the app '{}'".format(name)) return sdk_no_wait(no_wait, client.deployments.begin_stop, - resource_group, service, name, deployment) + resource_group, service, name, deployment.name) def app_restart(cmd, client, @@ -635,16 +299,9 @@ def app_restart(cmd, client, name, deployment=None, no_wait=False): - if deployment is None: - deployment = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if deployment is None: - logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) - raise CLIError(NO_PRODUCTION_DEPLOYMENT_ERROR) - logger.warning("Successfully triggered the action 'restart' for the app '{}'".format(name)) return sdk_no_wait(no_wait, client.deployments.begin_restart, - resource_group, service, name, deployment) + resource_group, service, name, deployment.name) def app_list(cmd, client, @@ -654,11 +311,8 @@ def app_list(cmd, client, deployments = list( client.deployments.list_for_cluster(resource_group, service)) for app in apps: - if app.properties.active_deployment_name: - deployment = next( - (x for x in deployments if x.properties.app_name == app.name)) - app.properties.active_deployment = deployment - + app.properties.active_deployment = next(iter(x for x in deployments + if x.properties.active and x.id.startswith(app.id + '/deployments/')), None) return apps @@ -667,63 +321,14 @@ def app_get(cmd, client, service, name): app = client.apps.get(resource_group, service, name) - deployment_name = app.properties.active_deployment_name - if deployment_name: - deployment = client.deployments.get( - resource_group, service, name, deployment_name) - app.properties.active_deployment = deployment - else: + deployments = client.deployments.list(resource_group, service, name) + app.properties.active_deployment = next((x for x in deployments if x.properties.active), None) + if not app.properties.active_deployment: logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) return app -def app_deploy(cmd, client, resource_group, service, name, - version=None, - deployment=None, - disable_validation=None, - artifact_path=None, - source_path=None, - target_module=None, - runtime_version=None, - jvm_options=None, - main_entry=None, - env=None, - disable_probe=None, - no_wait=False): - logger.warning(LOG_RUNNING_PROMPT) - if not deployment: - deployment = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if not deployment: - logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) - raise CLIError(NO_PRODUCTION_DEPLOYMENT_ERROR) - - client.deployments.get(resource_group, service, name, deployment) - - file_type, file_path = _get_upload_local_file(runtime_version, artifact_path, source_path) - - return _app_deploy(client, - resource_group, - service, - name, - deployment, - version, - file_path, - runtime_version, - jvm_options, - None, - None, - None, - env, - disable_probe, - main_entry, - target_module, - no_wait, - file_type, - True) - - def app_scale(cmd, client, resource_group, service, name, deployment=None, cpu=None, @@ -732,56 +337,34 @@ def app_scale(cmd, client, resource_group, service, name, no_wait=False): cpu = validate_cpu(cpu) memory = validate_memory(memory) - if deployment is None: - deployment = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if deployment is None: - logger.warning(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) - raise CLIError(NO_PRODUCTION_DEPLOYMENT_ERROR) resource = client.services.get(resource_group, service) _validate_instance_count(resource.sku.tier, instance_count) - resource_requests = models_20210601preview.ResourceRequests(cpu=cpu, memory=memory) + resource_requests = models_20220101preview.ResourceRequests(cpu=cpu, memory=memory) - deployment_settings = models_20210601preview.DeploymentSettings(resource_requests=resource_requests) - deployment_settings.cpu = None - deployment_settings.memory_in_gb = None - properties = models_20210601preview.DeploymentResourceProperties( + deployment_settings = models_20220101preview.DeploymentSettings(resource_requests=resource_requests) + properties = models_20220101preview.DeploymentResourceProperties( deployment_settings=deployment_settings) - sku = models_20210601preview.Sku(name="S0", tier="STANDARD", capacity=instance_count) - deployment_resource = models.DeploymentResource(properties=properties, sku=sku) + sku = models_20220101preview.Sku(name="S0", tier="STANDARD", capacity=instance_count) + deployment_resource = models_20220101preview.DeploymentResource(properties=properties, sku=sku) return sdk_no_wait(no_wait, client.deployments.begin_update, - resource_group, service, name, deployment, deployment_resource) + resource_group, service, name, deployment.name, deployment_resource) def app_get_build_log(cmd, client, resource_group, service, name, deployment=None): - if deployment is None: - deployment = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if deployment is None: - raise CLIError(NO_PRODUCTION_DEPLOYMENT_ERROR) - deployment_properties = client.deployments.get( - resource_group, service, name, deployment).properties - if deployment_properties.source.type == "Jar" or deployment_properties.source.type == "NetCoreZip": - raise CLIError("{} deployment has no build logs.".format(deployment_properties.source.type)) - return stream_logs(client.deployments, resource_group, service, name, deployment) + if deployment.properties.source.type != "Source": + raise CLIError("{} deployment has no build logs.".format(deployment.properties.source.type)) + return stream_logs(client.deployments, resource_group, service, name, deployment.name) 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( - resource_group, service, name).properties.active_deployment_name - if not deployment: - raise CLIError(NO_PRODUCTION_DEPLOYMENT_ERROR) - deployment_properties = client.deployments.get( - resource_group, service, name, deployment).properties - if not deployment_properties.instances: + if not deployment.properties.instances: raise CLIError("No instances found for deployment '{0}' in app '{1}'".format( - deployment, name)) - instances = deployment_properties.instances + deployment.name, name)) + instances = deployment.properties.instances if len(instances) > 1: logger.warning("Multiple app instances found:") for temp_instance in instances: @@ -790,18 +373,12 @@ def app_tail_log(cmd, client, resource_group, service, name, return None instance = instances[0].name - test_keys = client.services.list_test_keys(resource_group, service) - primary_key = test_keys.primary_key - if not primary_key: + log_stream = LogStream(client, resource_group, service) + if not log_stream: raise CLIError("To use the log streaming feature, please enable the test endpoint by running 'az spring-cloud test-endpoint enable -n {0} -g {1}'".format(service, resource_group)) - # https://primary:xxxx[key]@servicename.test.azuremicrosoervice.io -> servicename.azuremicroservice.io - test_url = test_keys.primary_test_endpoint - base_url = test_url.replace('.test.', '.') - base_url = re.sub('https://.+?\@', '', base_url) - streaming_url = "https://{0}/api/logstream/apps/{1}/instances/{2}".format( - base_url, name, instance) + log_stream.base_url, name, instance) params = {} params["tailLines"] = lines params["limitBytes"] = limit @@ -813,7 +390,7 @@ def app_tail_log(cmd, client, resource_group, service, name, exceptions = [] streaming_url += "?{}".format(parse.urlencode(params)) if params else "" t = Thread(target=_get_app_log, args=( - streaming_url, "primary", primary_key, format_json, exceptions)) + streaming_url, "primary", log_stream.primary_key, format_json, exceptions)) t.daemon = True t.start() @@ -825,10 +402,9 @@ def app_tail_log(cmd, client, resource_group, service, name, def app_identity_assign(cmd, client, resource_group, service, name, role=None, scope=None): - _check_active_deployment_exist(client, resource_group, service, name) - app_resource = models_20210601preview.AppResource() - identity = models_20210601preview.ManagedIdentityProperties(type="systemassigned") - properties = models_20210601preview.AppResourceProperties() + app_resource = models_20220101preview.AppResource() + identity = models_20220101preview.ManagedIdentityProperties(type="systemassigned") + properties = models_20220101preview.AppResourceProperties() resource = client.services.get(resource_group, service) location = resource.location @@ -850,7 +426,7 @@ def app_identity_assign(cmd, client, resource_group, service, name, role=None, s logger.info("Creating an assignment with a role '%s' on the scope of '%s'", identity_role_id, scope) retry_times = 36 assignment_name = _arm._gen_guid() - for l in range(0, retry_times): + for i in range(0, retry_times): try: assignments_client.create(scope=scope, role_assignment_name=assignment_name, parameters=parameters) @@ -859,9 +435,9 @@ def app_identity_assign(cmd, client, resource_group, service, name, role=None, s if 'role assignment already exists' in ex.message: logger.info('Role assignment already exists') break - elif l < retry_times and ' does not exist in the directory ' in ex.message: + elif i < retry_times and ' does not exist in the directory ' in ex.message: sleep(APP_CREATE_OR_UPDATE_SLEEP_INTERVAL) - logger.warning('Retrying role assignment creation: %s/%s', l + 1, + logger.warning('Retrying role assignment creation: %s/%s', i + 1, retry_times) continue else: @@ -870,9 +446,9 @@ def app_identity_assign(cmd, client, resource_group, service, name, role=None, s def app_identity_remove(cmd, client, resource_group, service, name): - app_resource = models_20210601preview.AppResource() - identity = models_20210601preview.ManagedIdentityProperties(type="none") - properties = models_20210601preview.AppResourceProperties() + app_resource = models_20220101preview.AppResource() + identity = models_20220101preview.ManagedIdentityProperties(type="none") + properties = models_20220101preview.AppResourceProperties() resource = client.services.get(resource_group, service) location = resource.location @@ -883,51 +459,22 @@ def app_identity_remove(cmd, client, resource_group, service, name): def app_identity_show(cmd, client, resource_group, service, name): - _check_active_deployment_exist(client, resource_group, service, name) app = client.apps.get(resource_group, service, name) return app.identity def app_set_deployment(cmd, client, resource_group, service, name, deployment): - deployments = _get_all_deployments(client, resource_group, service, name) - active_deployment = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if deployment == active_deployment: - raise CLIError("Deployment '" + deployment + - "' is already the production deployment") - if deployment not in deployments: - raise CLIError("Deployment '" + deployment + - "' not found, please use 'az spring-cloud app deployment create' to create the new deployment") - properties = models_20210601preview.AppResourceProperties( - active_deployment_name=deployment) - - resource = client.services.get(resource_group, service) - location = resource.location - - app_resource = models_20210601preview.AppResource() - app_resource.properties = properties - app_resource.location = location - - return client.apps.begin_update(resource_group, service, name, app_resource) + active_deployment_collection = models_20220101preview.ActiveDeploymentCollection( + active_deployment_names=[deployment] + ) + return client.apps.begin_set_active_deployments(resource_group, service, name, active_deployment_collection) def app_unset_deployment(cmd, client, resource_group, service, name): - active_deployment_name = client.apps.get( - resource_group, service, name).properties.active_deployment_name - if not active_deployment_name: - raise CLIError(NO_PRODUCTION_DEPLOYMENT_SET_ERROR) - - # It's designed to use empty string for active_deployment_name to unset active deployment - properties = models_20210601preview.AppResourceProperties(active_deployment_name="") - - resource = client.services.get(resource_group, service) - location = resource.location - - app_resource = models_20210601preview.AppResource() - app_resource.properties = properties - app_resource.location = location - - return client.apps.begin_update(resource_group, service, name, app_resource) + active_deployment_collection = models_20220101preview.ActiveDeploymentCollection( + active_deployment_names=[] + ) + return client.apps.begin_set_active_deployments(resource_group, service, name, active_deployment_collection) def app_append_loaded_public_certificate(cmd, client, resource_group, service, name, certificate_name, load_trust_store): @@ -944,7 +491,7 @@ def app_append_loaded_public_certificate(cmd, client, resource_group, service, n if loaded_certificate.resource_id == certificate_resource.id: raise ClientRequestError("This certificate has already been loaded.") - loaded_certificates.append(models_20210901preview. + loaded_certificates.append(models_20220101preview. LoadedCertificate(resource_id=certificate_resource_id, load_trust_store=load_trust_store)) @@ -960,69 +507,6 @@ def app_append_loaded_public_certificate(cmd, client, resource_group, service, n return app_updated -def deployment_create(cmd, client, resource_group, service, app, name, - skip_clone_settings=False, - version=None, - artifact_path=None, - source_path=None, - disable_validation=None, - target_module=None, - runtime_version=None, - jvm_options=None, - main_entry=None, - cpu=None, - memory=None, - instance_count=None, - env=None, - disable_probe=None, - no_wait=False): - cpu = validate_cpu(cpu) - memory = validate_memory(memory) - logger.warning(LOG_RUNNING_PROMPT) - deployments = _get_all_deployments(client, resource_group, service, app) - if name in deployments: - raise CLIError("Deployment " + name + " already exists") - - resource = client.services.get(resource_group, service) - _validate_instance_count(resource.sku.tier, instance_count) - - if not skip_clone_settings: - active_deployment_name = client.apps.get( - resource_group, service, app).properties.active_deployment_name - if not active_deployment_name: - logger.warning("No production deployment found, use --skip-clone-settings to skip copying settings from " - "production deployment.") - else: - active_deployment = client.deployments.get( - resource_group, service, app, active_deployment_name) - if active_deployment: - cpu = cpu or active_deployment.properties.deployment_settings.resource_requests.cpu - memory = memory or active_deployment.properties.deployment_settings.resource_requests.memory - instance_count = instance_count or active_deployment.sku.capacity - jvm_options = jvm_options or active_deployment.properties.deployment_settings.jvm_options - env = env or active_deployment.properties.deployment_settings.environment_variables - if active_deployment.properties.deployment_settings.container_probe_settings is not None: - disable_probe = disable_probe or active_deployment.properties.deployment_settings.container_probe_settings.disable_probe - else: - cpu = cpu or "1" - memory = memory or "1Gi" - instance_count = instance_count or 1 - - file_type, file_path = _get_upload_local_file(runtime_version, artifact_path, source_path) - return _app_deploy(client, resource_group, service, app, name, version, file_path, - runtime_version, - jvm_options, - cpu, - memory, - instance_count, - env, - disable_probe, - main_entry, - target_module, - no_wait, - file_type) - - def _validate_instance_count(sku, instance_count=None): if instance_count is not None: sku = sku.upper() @@ -1041,48 +525,24 @@ def deployment_list(cmd, client, resource_group, service, app): def deployment_generate_heap_dump(cmd, client, resource_group, service, app, app_instance, file_path, deployment=None): - if deployment is None: - logger.warning( - "No '--deployment' given, will update app's production deployment") - deployment = client.apps.get( - resource_group, service, app).properties.active_deployment_name - if deployment is None: - logger.warning("No production deployment found for update") - return - diagnostic_parameters = models_20210901preview.DiagnosticParameters(app_instance=app_instance, file_path=file_path) + diagnostic_parameters = models_20220101preview.DiagnosticParameters(app_instance=app_instance, file_path=file_path) logger.info("Heap dump is triggered.") - return client.deployments.begin_generate_heap_dump(resource_group, service, app, deployment, diagnostic_parameters) + return client.deployments.begin_generate_heap_dump(resource_group, service, app, deployment.name, diagnostic_parameters) def deployment_generate_thread_dump(cmd, client, resource_group, service, app, app_instance, file_path, deployment=None): - if deployment is None: - logger.warning( - "No '--deployment' given, will update app's production deployment") - deployment = client.apps.get( - resource_group, service, app).properties.active_deployment_name - if deployment is None: - logger.warning("No production deployment found for update") - return - diagnostic_parameters = models_20210901preview.DiagnosticParameters(app_instance=app_instance, file_path=file_path) + diagnostic_parameters = models_20220101preview.DiagnosticParameters(app_instance=app_instance, file_path=file_path) logger.info("Thread dump is triggered.") - return client.deployments.begin_generate_thread_dump(resource_group, service, app, deployment, diagnostic_parameters) + return client.deployments.begin_generate_thread_dump(resource_group, service, app, deployment.name, diagnostic_parameters) def deployment_start_jfr(cmd, client, resource_group, service, app, app_instance, file_path, duration=None, deployment=None): - if deployment is None: - logger.warning( - "No '--deployment' given, will update app's production deployment") - deployment = client.apps.get( - resource_group, service, app).properties.active_deployment_name - if deployment is None: - logger.warning("No production deployment found for update") - return - diagnostic_parameters = models_20210901preview.DiagnosticParameters(app_instance=app_instance, file_path=file_path, + diagnostic_parameters = models_20220101preview.DiagnosticParameters(app_instance=app_instance, file_path=file_path, duration=duration) logger.info("JFR is triggered.") - return client.deployments.begin_start_jfr(resource_group, service, app, deployment, diagnostic_parameters) + return client.deployments.begin_start_jfr(resource_group, service, app, deployment.name, diagnostic_parameters) def deployment_get(cmd, client, resource_group, service, app, name): @@ -1090,10 +550,9 @@ def deployment_get(cmd, client, resource_group, service, app, name): def deployment_delete(cmd, client, resource_group, service, app, name, no_wait=False): - active_deployment_name = client.apps.get(resource_group, service, app).properties.active_deployment_name - if active_deployment_name == name: + deployment = client.deployments.get(resource_group, service, app, name) + if deployment.properties.active: logger.warning(DELETE_PRODUCTION_DEPLOYMENT_WARNING) - client.deployments.get(resource_group, service, app, name) return sdk_no_wait(no_wait, client.deployments.begin_delete, resource_group, service, app, name) @@ -1366,12 +825,10 @@ def config_repo_list(cmd, client, resource_group, name): def binding_list(cmd, client, resource_group, service, app): - _check_active_deployment_exist(client, resource_group, service, app) return client.bindings.list(resource_group, service, app) def binding_get(cmd, client, resource_group, service, app, name): - _check_active_deployment_exist(client, resource_group, service, app) return client.bindings.get(resource_group, service, app, name) @@ -1385,7 +842,6 @@ def binding_cosmos_add(cmd, client, resource_group, service, app, name, database_name=None, key_space=None, collection_name=None): - _check_active_deployment_exist(client, resource_group, service, app) resource_id_dict = parse_resource_id(resource_id) resource_type = resource_id_dict['resource_type'] resource_name = resource_id_dict['resource_name'] @@ -1419,7 +875,6 @@ def binding_cosmos_update(cmd, client, resource_group, service, app, name, database_name=None, key_space=None, collection_name=None): - _check_active_deployment_exist(client, resource_group, service, app) binding = client.bindings.get(resource_group, service, app, name).properties resource_id = binding.resource_id resource_name = binding.resource_name @@ -1447,7 +902,6 @@ def binding_mysql_add(cmd, client, resource_group, service, app, name, key, username, database_name): - _check_active_deployment_exist(client, resource_group, service, app) resource_id_dict = parse_resource_id(resource_id) resource_type = resource_id_dict['resource_type'] resource_name = resource_id_dict['resource_name'] @@ -1470,7 +924,6 @@ def binding_mysql_update(cmd, client, resource_group, service, app, name, key=None, username=None, database_name=None): - _check_active_deployment_exist(client, resource_group, service, app) binding_parameters = {} binding_parameters['username'] = username binding_parameters['databaseName'] = database_name @@ -1486,7 +939,6 @@ def binding_mysql_update(cmd, client, resource_group, service, app, name, def binding_redis_add(cmd, client, resource_group, service, app, name, resource_id, disable_ssl=None): - _check_active_deployment_exist(client, resource_group, service, app) use_ssl = not disable_ssl resource_id_dict = parse_resource_id(resource_id) resource_type = resource_id_dict['resource_type'] @@ -1513,7 +965,6 @@ def binding_redis_add(cmd, client, resource_group, service, app, name, def binding_redis_update(cmd, client, resource_group, service, app, name, disable_ssl=None): - _check_active_deployment_exist(client, resource_group, service, app) binding = client.bindings.get(resource_group, service, app, name).properties resource_id = binding.resource_id resource_name = binding.resource_name @@ -1550,134 +1001,6 @@ def _get_redis_primary_key(cli_ctx, resource_id): return keys.primary_key -def _get_all_deployments(client, resource_group, service, app): - deployments = [] - deployments_resource = client.deployments.list( - resource_group, service, app) - deployments = list(deployments_resource) - deployments = (deployment.name for deployment in deployments) - return deployments - - -def _get_all_apps(client, resource_group, service): - apps = [] - apps_resource = client.apps.list(resource_group, service) - apps = list(apps_resource) - apps = (app.name for app in apps) - return apps - - -# pylint: disable=too-many-locals, no-member -def _app_deploy(client, resource_group, service, app, name, version, path, runtime_version, jvm_options, cpu, memory, - instance_count, - env, - disable_probe=None, - main_entry=None, - target_module=None, - no_wait=False, - file_type=None, - update=False): - if file_type is None: - # update means command is az spring-cloud app deploy xxx - if update: - raise RequiredArgumentMissingError( - "One of the following arguments are required: '--artifact-path' or '--source-path'") - # if command is az spring-cloud app deployment create xxx, create default deployment - else: - logger.warning( - "Creating default deployment without artifact/source folder. Please specify the --artifact-path/--source-path argument explicitly if needed.") - default_deployment_resource = _default_deployment_resource_builder(cpu, memory, env, jvm_options, - runtime_version, instance_count, disable_probe) - return sdk_no_wait(no_wait, client.deployments.begin_create_or_update, - resource_group, service, app, name, default_deployment_resource) - upload_url = None - relative_path = None - logger.warning("file_type is {}".format(file_type)) - logger.warning("[1/3] Requesting for upload URL") - try: - response = client.apps.get_resource_upload_url(resource_group, service, app) - upload_url = response.upload_url - relative_path = response.relative_path - except (AttributeError, HttpResponseError) as e: - raise CLIError( - "Failed to get a SAS URL to upload context. Error: {}".format(e.message)) - - resource_requests = None - if cpu is not None or memory is not None: - resource_requests = models_20210601preview.ResourceRequests(cpu=cpu, memory=memory) - - container_probe_settings = None - if disable_probe is not None: - container_probe_settings = models_20210901preview.DeploymentSettingsContainerProbeSettings(disable_probe=disable_probe) - - deployment_settings = models_20210901preview.DeploymentSettings( - resource_requests=resource_requests, - environment_variables=env, - jvm_options=jvm_options, - net_core_main_entry_path=main_entry, - runtime_version=runtime_version, - container_probe_settings=container_probe_settings) - deployment_settings.cpu = None - deployment_settings.memory_in_gb = None - sku = models_20210601preview.Sku(name="S0", tier="STANDARD", capacity=instance_count) - user_source_info = models_20210601preview.UserSourceInfo( - version=version, - relative_path=relative_path, - type=file_type, - artifact_selector=target_module) - properties = models_20210601preview.DeploymentResourceProperties( - deployment_settings=deployment_settings, - source=user_source_info) - # upload file - if not upload_url: - raise CLIError("Failed to get a SAS URL to upload context.") - account_name, endpoint_suffix, share_name, relative_name, sas_token = get_azure_files_info(upload_url) - logger.warning("[2/3] Uploading package to blob") - file_service = FileService(account_name, sas_token=sas_token, endpoint_suffix=endpoint_suffix) - file_service.create_file_from_path(share_name, None, relative_name, path) - - if file_type == "Source" and not no_wait: - def get_log_url(): - try: - log_file_url_response = client.deployments.get_log_file_url( - resource_group_name=resource_group, - service_name=service, - app_name=app, - deployment_name=name) - if not log_file_url_response: - return None - return log_file_url_response.url - except HttpResponseError: - return None - - def get_logs_loop(): - log_url = None - while not log_url or log_url == old_log_url: - log_url = get_log_url() - sleep(10) - - logger.warning("Trying to fetch build logs") - stream_logs(client.deployments, resource_group, service, - app, name, logger_level_func=print) - - old_log_url = get_log_url() - - timer = Timer(3, get_logs_loop) - timer.daemon = True - timer.start() - - # create deployment - logger.warning( - "[3/3] Updating deployment in app '{}' (this operation can take a while to complete)".format(app)) - deployment_resource = models.DeploymentResource(properties=properties, sku=sku) - if update: - return sdk_no_wait(no_wait, client.deployments.begin_update, - resource_group, service, app, name, deployment_resource) - - return sdk_no_wait(no_wait, client.deployments.begin_create_or_update, - resource_group, service, app, name, deployment_resource) - - # pylint: disable=bare-except, too-many-statements def _get_app_log(url, user_name, password, format_json, exceptions): logger_seg_regex = re.compile(r'([^\.])[^\.]+\.') @@ -1801,13 +1124,13 @@ def iter_lines(response, limit=2 ** 20): def storage_callback(pipeline_response, deserialized, headers): - return models_20210901preview.StorageResource.deserialize(json.loads(pipeline_response.http_response.text())) + return models_20220101preview.StorageResource.deserialize(json.loads(pipeline_response.http_response.text())) def storage_add(client, resource_group, service, name, storage_type, account_name, account_key): properties = None if storage_type == 'StorageAccount': - properties = models_20210901preview.StorageAccount( + properties = models_20220101preview.StorageAccount( storage_type=storage_type, account_name=account_name, account_key=account_key) @@ -1816,7 +1139,7 @@ def storage_add(client, resource_group, service, name, storage_type, account_nam resource_group_name=resource_group, service_name=service, storage_name=name, - storage_resource=models_20210901preview.StorageResource(properties=properties), + storage_resource=models_20220101preview.StorageResource(properties=properties), cls=storage_callback) @@ -1836,7 +1159,7 @@ def storage_remove(client, resource_group, service, name): def storage_update(client, resource_group, service, name, storage_type, account_name, account_key): properties = None if storage_type == 'StorageAccount': - properties = models_20210901preview.StorageAccount( + properties = models_20220101preview.StorageAccount( storage_type=storage_type, account_name=account_name, account_key=account_key) @@ -1845,7 +1168,7 @@ def storage_update(client, resource_group, service, name, storage_type, account_ resource_group_name=resource_group, service_name=service, storage_name=name, - storage_resource=models_20210901preview.StorageResource(properties=properties), + storage_resource=models_20220101preview.StorageResource(properties=properties), cls=storage_callback) @@ -1877,7 +1200,7 @@ def certificate_add(cmd, client, resource_group, service, name, only_public_cert if vault_uri is not None: if only_public_cert is None: only_public_cert = False - properties = models_20210901preview.KeyVaultCertificateProperties( + properties = models_20220101preview.KeyVaultCertificateProperties( type="KeyVaultCertificate", vault_uri=vault_uri, key_vault_cert_name=vault_certificate_name, @@ -1892,15 +1215,15 @@ def certificate_add(cmd, client, resource_group, service, name, only_public_cert except Exception: raise FileOperationError('Failed to decode file {} - unknown decoding'.format(public_certificate_file)) else: - raise FileOperationError("public_certificate_file %s could not be found", public_certificate_file) - properties = models_20210901preview.ContentCertificateProperties( + raise FileOperationError("public_certificate_file {} could not be found".format(public_certificate_file)) + properties = models_20220101preview.ContentCertificateProperties( type="ContentCertificate", content=content ) - certificate_resource = models_20210901preview.CertificateResource(properties=properties) + certificate_resource = models_20220101preview.CertificateResource(properties=properties) def callback(pipeline_response, deserialized, headers): - return models_20210901preview.CertificateResource.deserialize(json.loads(pipeline_response.http_response.text())) + return models_20220101preview.CertificateResource.deserialize(json.loads(pipeline_response.http_response.text())) return client.certificates.begin_create_or_update( resource_group_name=resource_group, @@ -1952,8 +1275,7 @@ def certificate_list_reference_app(cmd, client, resource_group, service, name): def domain_bind(cmd, client, resource_group, service, app, domain_name, certificate=None, - enable_end_to_end_tls=None): - _check_active_deployment_exist(client, resource_group, service, app) + enable_ingress_to_app_tls=None): properties = models.CustomDomainProperties() if certificate is not None: certificate_response = client.certificates.get(resource_group, service, certificate) @@ -1961,45 +1283,41 @@ def domain_bind(cmd, client, resource_group, service, app, thumbprint=certificate_response.properties.thumbprint, cert_name=certificate ) - if enable_end_to_end_tls is not None: - _update_app_e2e_tls(cmd, resource_group, service, app, enable_end_to_end_tls) + if enable_ingress_to_app_tls is not None: + _update_app_e2e_tls(cmd, client, resource_group, service, app, enable_ingress_to_app_tls) custom_domain_resource = models.CustomDomainResource(properties=properties) return client.custom_domains.begin_create_or_update(resource_group, service, app, domain_name, custom_domain_resource) -def _update_app_e2e_tls(cmd, resource_group, service, app, enable_end_to_end_tls): - client = get_mgmt_service_client(cmd.cli_ctx, AppPlatformManagementClient_20201101preview) +def _update_app_e2e_tls(cmd, client, resource_group, service, app, enable_ingress_to_app_tls): resource = client.services.get(resource_group, service) location = resource.location - properties = models_20201101preview.AppResourceProperties(enable_end_to_end_tls=enable_end_to_end_tls) - app_resource = models_20201101preview.AppResource() + properties = models_20220101preview.AppResourceProperties(enable_end_to_end_tls=enable_ingress_to_app_tls) + app_resource = models_20220101preview.AppResource() app_resource.properties = properties app_resource.location = location - logger.warning("Set end to end tls for app '{}'".format(app)) + logger.warning("Set ingress to app tls for app '{}'".format(app)) poller = client.apps.begin_update( resource_group, service, app, app_resource) return poller.result() def domain_show(cmd, client, resource_group, service, app, domain_name): - _check_active_deployment_exist(client, resource_group, service, app) return client.custom_domains.get(resource_group, service, app, domain_name) def domain_list(cmd, client, resource_group, service, app): - _check_active_deployment_exist(client, resource_group, service, app) return client.custom_domains.list(resource_group, service, app) def domain_update(cmd, client, resource_group, service, app, domain_name, certificate=None, - enable_end_to_end_tls=None): - _check_active_deployment_exist(client, resource_group, service, app) + enable_ingress_to_app_tls=None): properties = models.CustomDomainProperties() if certificate is not None: certificate_response = client.certificates.get(resource_group, service, certificate) @@ -2007,8 +1325,8 @@ def domain_update(cmd, client, resource_group, service, app, thumbprint=certificate_response.properties.thumbprint, cert_name=certificate ) - if enable_end_to_end_tls is not None: - _update_app_e2e_tls(cmd, resource_group, service, app, enable_end_to_end_tls) + if enable_ingress_to_app_tls is not None: + _update_app_e2e_tls(cmd, client, resource_group, service, app, enable_ingress_to_app_tls) custom_domain_resource = models.CustomDomainResource(properties=properties) return client.custom_domains.begin_create_or_update(resource_group, service, app, diff --git a/src/spring-cloud/azext_spring_cloud/gateway.py b/src/spring-cloud/azext_spring_cloud/gateway.py new file mode 100644 index 00000000000..a5bda685d6d --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/gateway.py @@ -0,0 +1,232 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import json + +from azure.cli.core.azclierror import InvalidArgumentValueError +from azure.cli.core.util import sdk_no_wait +from knack.log import get_logger + +from .custom import LOG_RUNNING_PROMPT +from .vendored_sdks.appplatform.v2022_01_01_preview import models + +logger = get_logger(__name__) +DEFAULT_NAME = "default" + + +def gateway_update(cmd, client, resource_group, service, + cpu=None, + memory=None, + instance_count=None, + assign_endpoint=None, + https_only=None, + scope=None, + client_id=None, + client_secret=None, + issuer_uri=None, + api_title=None, + api_description=None, + api_doc_location=None, + api_version=None, + server_url=None, + allowed_origins=None, + allowed_methods=None, + allowed_headers=None, + max_age=None, + allow_credentials=None, + exposed_headers=None, + no_wait=False + ): + gateway = client.gateways.get(resource_group, service, DEFAULT_NAME) + + sso_properties = gateway.properties.sso_properties + if scope is not None and client_id is not None and client_secret is not None and issuer_uri is not None: + if not client_id and not client_secret and not issuer_uri: + # clear SSO properties + sso_properties = None + else: + sso_properties = models.SsoProperties( + scope=scope, + client_id=client_id, + client_secret=client_secret, + issuer_uri=issuer_uri, + ) + + api_metadata_properties = _update_api_metadata( + gateway.properties.api_metadata_properties, api_title, api_description, api_doc_location, api_version, server_url) + + cors_properties = _update_cors( + gateway.properties.cors_properties, allowed_origins, allowed_methods, allowed_headers, max_age, allow_credentials, exposed_headers) + + resource_requests = models.GatewayResourceRequests( + cpu=cpu or gateway.properties.resource_requests.cpu, + memory=memory or gateway.properties.resource_requests.memory + ) + + properties = models.GatewayProperties( + public=assign_endpoint if assign_endpoint is not None else gateway.properties.public, + https_only=https_only if https_only is not None else gateway.properties.https_only, + sso_properties=sso_properties, + api_metadata_properties=api_metadata_properties, + cors_properties=cors_properties, + resource_requests=resource_requests) + + sku = models.Sku(name=gateway.sku.name, tier=gateway.sku.tier, + capacity=instance_count or gateway.sku.capacity) + + gateway_resource = models.GatewayResource(properties=properties, sku=sku) + + logger.warning(LOG_RUNNING_PROMPT) + return sdk_no_wait(no_wait, client.gateways.begin_create_or_update, + resource_group, service, DEFAULT_NAME, gateway_resource) + + +def gateway_show(cmd, client, resource_group, service): + return client.gateways.get(resource_group, service, DEFAULT_NAME) + + +def gateway_clear(cmd, client, resource_group, service, no_wait=False): + gateway = client.gateways.get(resource_group, service, DEFAULT_NAME) + properties = models.GatewayProperties() + sku = models.Sku(name=gateway.sku.name, tier=gateway.sku.tier) + gateway_resource = models.GatewayResource(properties=properties, sku=sku) + + logger.warning(LOG_RUNNING_PROMPT) + return sdk_no_wait(no_wait, client.gateways.begin_create_or_update, + resource_group, service, DEFAULT_NAME, gateway_resource) + + +def gateway_custom_domain_show(cmd, client, resource_group, service, domain_name): + return client.gateway_custom_domains.get(resource_group, service, DEFAULT_NAME, domain_name) + + +def gateway_custom_domain_list(cmd, client, resource_group, service): + return client.gateway_custom_domains.list(resource_group, service, DEFAULT_NAME) + + +def gateway_custom_domain_update(cmd, client, resource_group, service, + domain_name, + certificate=None): + properties = models.GatewayCustomDomainProperties() + if certificate is not None: + certificate_response = client.certificates.get( + resource_group, service, certificate) + properties.thumbprint = certificate_response.properties.thumbprint + + custom_domain_resource = models.GatewayCustomDomainResource( + properties=properties) + return client.gateway_custom_domains.begin_create_or_update(resource_group, service, DEFAULT_NAME, + domain_name, custom_domain_resource) + + +def gateway_custom_domain_unbind(cmd, client, resource_group, service, domain_name): + client.gateway_custom_domains.get(resource_group, service, + DEFAULT_NAME, domain_name) + return client.gateway_custom_domains.begin_delete(resource_group, service, DEFAULT_NAME, domain_name) + + +def gateway_route_config_show(cmd, client, resource_group, service, name): + return client.gateway_route_configs.get(resource_group, service, DEFAULT_NAME, name) + + +def gateway_route_config_list(cmd, client, resource_group, service): + return client.gateway_route_configs.list(resource_group, service, DEFAULT_NAME) + + +def gateway_route_config_create(cmd, client, resource_group, service, name, + app_name=None, + routes_json=None, + routes_file=None): + _validate_route_config_exist(client, resource_group, service, name) + + app_resource_id = _update_app_resource_id(client, resource_group, service, app_name, None) + routes = _update_routes(routes_file, routes_json, []) + + return _create_or_update_gateway_route_configs(client, resource_group, service, name, app_resource_id, routes) + + +def gateway_route_config_update(cmd, client, resource_group, service, name, + app_name=None, + routes_json=None, + routes_file=None): + gateway_route_config = client.gateway_route_configs.get( + resource_group, service, DEFAULT_NAME, name) + + app_resource_id = _update_app_resource_id(client, resource_group, service, app_name, gateway_route_config.properties.app_resource_id) + routes = _update_routes(routes_file, routes_json, gateway_route_config.properties.routes) + + return _create_or_update_gateway_route_configs(client, resource_group, service, name, app_resource_id, routes) + + +def gateway_route_config_remove(cmd, client, resource_group, service, name): + return client.gateway_route_configs.begin_delete(resource_group, service, DEFAULT_NAME, name) + + +def _update_api_metadata(existing, api_title, api_description, api_documentation_location, version, server_url): + if api_title is None and api_description is None and api_documentation_location is None and version is None and server_url is None: + return existing + api_metadata = models.GatewayApiMetadataProperties() if existing is None else existing + if api_title is not None: + api_metadata.title = api_title + if api_description is not None: + api_metadata.description = api_description + if api_documentation_location is not None: + api_metadata.documentation = api_documentation_location + if version is not None: + api_metadata.version = version + if server_url is not None: + api_metadata.server_url = server_url + return api_metadata + + +def _update_cors(existing, allowed_origins, allowed_methods, allowed_headers, max_age, allow_credentials, exposed_headers): + if allowed_origins is None and allowed_methods is None and allowed_headers is None and max_age is None and allow_credentials is None and exposed_headers is None: + return existing + cors = existing if existing is not None else models.GatewayCorsProperties() + if allowed_origins is not None: + cors.allowed_origins = allowed_origins.split(",") if allowed_origins else None + if allowed_methods is not None: + cors.allowed_methods = allowed_methods.split(",") if allowed_methods else None + if allowed_headers is not None: + cors.allowed_headers = allowed_headers.split(",") if allowed_headers else None + if max_age: + cors.max_age = max_age + if allow_credentials is not None: + cors.allow_credentials = allow_credentials + if exposed_headers is not None: + cors.exposed_headers = exposed_headers.split(",") if exposed_headers else None + return cors + + +def _validate_route_config_exist(client, resource_group, service, name): + route_configs = client.gateway_route_configs.list( + resource_group, service, DEFAULT_NAME) + if name in (route_config.name for route_config in list(route_configs)): + raise InvalidArgumentValueError("Route config " + name + " already exists") + + +def _update_app_resource_id(client, resource_group, service, app_name, app_resource_id): + if app_name is not None: + app_resource = client.apps.get(resource_group, service, app_name) + app_resource_id = app_resource.id + return app_resource_id + + +def _update_routes(routes_file, routes_json, routes): + if routes_file is not None: + with open(routes_file, 'r') as json_file: + routes = json.load(json_file) + + if routes_json is not None: + routes = json.loads(routes_json) + return routes + + +def _create_or_update_gateway_route_configs(client, resource_group, service, name, app_resource_id, routes): + properties = models.GatewayRouteConfigProperties( + app_resource_id=app_resource_id, routes=routes) + route_config_resource = models.GatewayRouteConfigResource( + properties=properties) + return client.gateway_route_configs.begin_create_or_update(resource_group, service, DEFAULT_NAME, name, route_config_resource) diff --git a/src/spring-cloud/azext_spring_cloud/service_registry.py b/src/spring-cloud/azext_spring_cloud/service_registry.py new file mode 100644 index 00000000000..84b898d1de8 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/service_registry.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=unused-argument, logging-format-interpolation, protected-access, wrong-import-order, too-many-lines +from azure.cli.core.commands.client_factory import get_subscription_id +from knack.log import get_logger +from msrestazure.tools import resource_id + +SERVICE_REGISTRY_NAME = "serviceRegistry" +RESOURCE_ID = "resourceId" + +RESOURCE_TYPE = "serviceRegistries" +DEFAULT_NAME = "default" + +logger = get_logger(__name__) + + +def service_registry_show(cmd, client, service, resource_group): + return client.service_registries.get(resource_group, service, DEFAULT_NAME) + + +def service_registry_bind(cmd, client, service, resource_group, app): + return _service_registry_bind_or_unbind_app(cmd, client, service, resource_group, app, True) + + +def service_registry_unbind(cmd, client, service, resource_group, app): + return _service_registry_bind_or_unbind_app(cmd, client, service, resource_group, app, False) + + +def _service_registry_bind_or_unbind_app(cmd, client, service, resource_group, app_name, enabled): + app = client.apps.get(resource_group, service, app_name) + app.properties.addon_configs = _get_app_addon_configs_with_service_registry(app.properties.addon_configs) + + if (app.properties.addon_configs[SERVICE_REGISTRY_NAME][RESOURCE_ID] != "") == enabled: + logger.warning('App "{}" has been {}binded'.format(app_name, '' if enabled else 'un')) + return app + + service_registry_id = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=resource_group, + namespace='Microsoft.AppPlatform', + type='Spring', + name=service, + child_type_1=RESOURCE_TYPE, + child_name_1=DEFAULT_NAME + ) + + if enabled: + app.properties.addon_configs[SERVICE_REGISTRY_NAME][RESOURCE_ID] = service_registry_id + else: + app.properties.addon_configs[SERVICE_REGISTRY_NAME][RESOURCE_ID] = "" + return client.apps.begin_update(resource_group, service, app_name, app) + + +def _get_app_addon_configs_with_service_registry(addon_configs): + if addon_configs is None: + addon_configs = {} + if addon_configs.get(SERVICE_REGISTRY_NAME) is None: + addon_configs[SERVICE_REGISTRY_NAME] = {} + if addon_configs[SERVICE_REGISTRY_NAME].get(RESOURCE_ID) is None: + addon_configs[SERVICE_REGISTRY_NAME][RESOURCE_ID] = "" + return addon_configs diff --git a/src/spring-cloud/azext_spring_cloud/spring_cloud_instance.py b/src/spring-cloud/azext_spring_cloud/spring_cloud_instance.py new file mode 100644 index 00000000000..1883b7ff4fd --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/spring_cloud_instance.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=wrong-import-order +# pylint: disable=unused-argument, logging-format-interpolation, protected-access, wrong-import-order, too-many-lines +from ._utils import (wait_till_end, _get_rg_location) +from .vendored_sdks.appplatform.v2022_01_01_preview import models +from knack.log import get_logger +from .custom import (_warn_enable_java_agent, _update_application_insights_asc_create) +from ._build_service import _update_default_build_agent_pool +from .buildpack_binding import create_default_buildpack_binding_for_application_insights +from ._tanzu_component import (create_application_configuration_service, + create_service_registry, + create_gateway, + create_api_portal) + + +from ._validators import (_parse_sku_name) +from knack.log import get_logger + +logger = get_logger(__name__) + + +class DefaultSpringCloud: + def __init__(self, cmd, client, resource_group, name, location=None, **_): + self.cmd = cmd + self.client = client + self.resource_group = resource_group + self.name = name + self.location = location or _get_rg_location(cmd.cli_ctx, resource_group) + + def create(self, **kwargs): + self.before_create(**kwargs) + resource = self.create_service(**kwargs) + self.after_create(**kwargs) + return resource + + def before_create(self, **kwargs): + _warn_enable_java_agent(**kwargs) + + def after_create(self, **kwargs): + _update_application_insights_asc_create(self.cmd, + self.resource_group, + self.name, + self.location, + **kwargs) + + def create_service(self, + service_runtime_subnet=None, + app_subnet=None, + reserved_cidr_range=None, + service_runtime_network_resource_group=None, + app_network_resource_group=None, + zone_redundant=False, + sku=None, + tags=None, + **_): + properties = models.ClusterResourceProperties( + zone_redundant=zone_redundant + ) + + if service_runtime_subnet or app_subnet or reserved_cidr_range: + properties.network_profile = models.NetworkProfile( + service_runtime_subnet_id=service_runtime_subnet, + app_subnet_id=app_subnet, + service_cidr=reserved_cidr_range, + app_network_resource_group=app_network_resource_group, + service_runtime_network_resource_group=service_runtime_network_resource_group + ) + + resource = models.ServiceResource(location=self.location, sku=sku, properties=properties, tags=tags) + poller = self.client.services.begin_create_or_update( + self.resource_group, self.name, resource) + logger.warning(" - Creating Service ..") + wait_till_end(self.cmd, poller) + return poller + + +class EnterpriseSpringCloud(DefaultSpringCloud): + def before_create(self, **_): + pass + + def after_create(self, no_wait=None, **kwargs): + pollers = [ + # create sub components like Service registry, ACS, build service, etc. + _update_default_build_agent_pool( + self.cmd, self.client, self.resource_group, self.name, kwargs['build_pool_size']), + _enable_app_insights(self.cmd, self.client, self.resource_group, self.name, self.location, **kwargs), + create_application_configuration_service(self.cmd, self.client, self.resource_group, self.name, **kwargs), + create_service_registry(self.cmd, self.client, self.resource_group, self.name, **kwargs), + create_gateway(self.cmd, self.client, self.resource_group, self.name, **kwargs), + create_api_portal(self.cmd, self.client, self.resource_group, self.name, **kwargs) + ] + pollers = [x for x in pollers if x] + if not no_wait: + wait_till_end(self.cmd, *pollers) + + +def _get_factory(cmd, client, resource_group, name, location=None, sku=None): + if _parse_sku_name(sku) == 'enterprise': + return EnterpriseSpringCloud(cmd, client, resource_group, name, location) + return DefaultSpringCloud(cmd, client, resource_group, name, location) + + +def spring_cloud_create(cmd, client, resource_group, name, + location=None, + vnet=None, + service_runtime_subnet=None, + app_subnet=None, + reserved_cidr_range=None, + service_runtime_network_resource_group=None, + app_network_resource_group=None, + app_insights_key=None, + app_insights=None, + sampling_rate=None, + disable_app_insights=None, + enable_java_agent=None, + sku=None, + tags=None, + zone_redundant=False, + build_pool_size=None, + enable_application_configuration_service=False, + enable_service_registry=False, + enable_gateway=False, + gateway_instance_count=None, + enable_api_portal=False, + api_portal_instance_count=None, + no_wait=False): + """ + Because Standard/Basic tier vs. Enterprise tier creation are very different. Here routes the command to different + implementation according to --sku parameters. + """ + kwargs = { + 'vnet': vnet, + 'service_runtime_subnet': service_runtime_subnet, + 'app_subnet': app_subnet, + 'reserved_cidr_range': reserved_cidr_range, + 'service_runtime_network_resource_group': service_runtime_network_resource_group, + 'app_network_resource_group': app_network_resource_group, + 'app_insights_key': app_insights_key, + 'app_insights': app_insights, + 'sampling_rate': sampling_rate, + 'disable_app_insights': disable_app_insights, + 'enable_java_agent': enable_java_agent, + 'sku': sku, + 'tags': tags, + 'zone_redundant': zone_redundant, + 'build_pool_size': build_pool_size, + 'enable_application_configuration_service': enable_application_configuration_service, + 'enable_service_registry': enable_service_registry, + 'enable_gateway': enable_gateway, + 'gateway_instance_count': gateway_instance_count, + 'enable_api_portal': enable_api_portal, + 'api_portal_instance_count': api_portal_instance_count, + 'no_wait': no_wait + } + + spring_cloud_factory = _get_factory(cmd, client, resource_group, name, location=location, sku=sku) + return spring_cloud_factory.create(**kwargs) + + +def _enable_app_insights(cmd, client, resource_group, name, location, app_insights_key, app_insights, + sampling_rate, disable_app_insights, **_): + if disable_app_insights: + return + + return create_default_buildpack_binding_for_application_insights(cmd, client, resource_group, name, + location, app_insights_key, app_insights, + sampling_rate) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/files/build_service_builder.json b/src/spring-cloud/azext_spring_cloud/tests/latest/files/build_service_builder.json new file mode 100644 index 00000000000..9f23bb4de1c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/files/build_service_builder.json @@ -0,0 +1,16 @@ +{ + "stack": { + "id": "io.buildpacks.stacks.bionic", + "version": "base" + }, + "buildpackGroups": [ + { + "name": "mix", + "buildpacks": [ + { + "id": "tanzu-buildpacks/java-azure" + } + ] + } + ] +} diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/files/gateway_routes.json b/src/spring-cloud/azext_spring_cloud/tests/latest/files/gateway_routes.json new file mode 100644 index 00000000000..2ea47ac4dbc --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/files/gateway_routes.json @@ -0,0 +1,16 @@ +[ + { + "title": "Customers service", + "description": "Route to customer service", + "predicates": [ + "Path=/api/customers-service/owners" + ], + "ssoEnabled": true, + "filters": [ + "StripPrefix=2" + ], + "tags": [ + "pet clinic" + ] + } + ] \ No newline at end of file diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/files/test.jar b/src/spring-cloud/azext_spring_cloud/tests/latest/files/test.jar new file mode 100644 index 00000000000..a6f6615c2a8 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/files/test.jar @@ -0,0 +1 @@ +fake-text diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_Builder.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_Builder.yaml new file mode 100644 index 00000000000..1dd40eb2ea4 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_Builder.yaml @@ -0,0 +1,772 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder create + Connection: + - keep-alive + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"294e799ca70d4793a10f543e97d3764f","networkProfile":{"outboundIPs":{"publicIPs":["13.78.187.43","13.78.187.220"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"westcentralus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T01:32:35.972125Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T01:32:35.972125Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '777' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:15:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder create + Connection: + - keep-alive + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test-builder?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"KPack builder does not exist","target":"default/test-builder","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '117' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:15:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"stack": {"id": "io.buildpacks.stacks.bionic", "version": + "base"}, "buildpackGroups": [{"name": "mix", "buildpacks": [{"id": "tanzu-buildpacks/java-azure"}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder create + Connection: + - keep-alive + Content-Length: + - '176' + Content-Type: + - application/json + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test-builder?api-version=2022-01-01-preview + response: + body: + string: '{"type":"Microsoft.AppPlatform/Spring/buildServices/builders","properties":{"provisioningState":"Creating","stack":{"id":"io.buildpacks.stacks.bionic","version":"base"},"buildpackGroups":[{"name":"mix","buildpacks":[{"id":"tanzu-buildpacks/java-azure"}]}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test-builder","name":"test-builder","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T02:15:06.9479322Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T02:15:06.9479322Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/8a8ac5c9-d5c4-4596-b3cb-d3c419f42dde?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '689' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:15:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationResults/8a8ac5c9-d5c4-4596-b3cb-d3c419f42dde/Spring/cli-unittest?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder create + Connection: + - keep-alive + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/8a8ac5c9-d5c4-4596-b3cb-d3c419f42dde?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/8a8ac5c9-d5c4-4596-b3cb-d3c419f42dde","name":"8a8ac5c9-d5c4-4596-b3cb-d3c419f42dde","status":"Succeeded","startTime":"2022-01-11T02:15:07.0211358Z","endTime":"2022-01-11T02:15:21.6215191Z"}' + headers: + cache-control: + - no-cache + content-length: + - '363' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:15:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder create + Connection: + - keep-alive + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test-builder?api-version=2022-01-01-preview + response: + body: + string: '{"type":"Microsoft.AppPlatform/Spring/buildServices/builders","properties":{"provisioningState":"Succeeded","stack":{"id":"io.buildpacks.stacks.bionic","version":"base"},"buildpackGroups":[{"name":"mix","buildpacks":[{"id":"tanzu-buildpacks/java-azure"}]}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test-builder","name":"test-builder","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T02:15:06.9479322Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T02:15:06.9479322Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '690' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:15:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder update + Connection: + - keep-alive + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"294e799ca70d4793a10f543e97d3764f","networkProfile":{"outboundIPs":{"publicIPs":["13.78.187.43","13.78.187.220"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"westcentralus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T01:32:35.972125Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T01:32:35.972125Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '777' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:15:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder update + Connection: + - keep-alive + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test?api-version=2022-01-01-preview + response: + body: + string: '{"type":"Microsoft.AppPlatform/Spring/buildServices/builders","properties":{"provisioningState":"Succeeded","stack":{"id":"io.buildpacks.stacks.bionic","version":"base"},"buildpackGroups":[{"name":"mix","buildpacks":[{"id":"tanzu-buildpacks/java-azure"}]}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test","name":"test","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T01:44:30.3882983Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T02:11:47.3483879Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '674' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:15:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"stack": {"id": "io.buildpacks.stacks.bionic", "version": + "base"}, "buildpackGroups": [{"name": "mix", "buildpacks": [{"id": "tanzu-buildpacks/java-azure"}]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder update + Connection: + - keep-alive + Content-Length: + - '176' + Content-Type: + - application/json + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test?api-version=2022-01-01-preview + response: + body: + string: '{"type":"Microsoft.AppPlatform/Spring/buildServices/builders","properties":{"provisioningState":"Updating","stack":{"id":"io.buildpacks.stacks.bionic","version":"base"},"buildpackGroups":[{"name":"mix","buildpacks":[{"id":"tanzu-buildpacks/java-azure"}]}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test","name":"test","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T01:44:30.3882983Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T02:15:42.5922402Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/a7de9bbd-f91a-47a9-9658-f7390aa3c084?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '673' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:15:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationResults/a7de9bbd-f91a-47a9-9658-f7390aa3c084/Spring/cli-unittest?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder update + Connection: + - keep-alive + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/a7de9bbd-f91a-47a9-9658-f7390aa3c084?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/a7de9bbd-f91a-47a9-9658-f7390aa3c084","name":"a7de9bbd-f91a-47a9-9658-f7390aa3c084","status":"Succeeded","startTime":"2022-01-11T02:15:42.664553Z","endTime":"2022-01-11T02:15:56.8152284Z"}' + headers: + cache-control: + - no-cache + content-length: + - '362' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:16:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder update + Connection: + - keep-alive + ParameterSetName: + - -n -g --service --builder-file + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test?api-version=2022-01-01-preview + response: + body: + string: '{"type":"Microsoft.AppPlatform/Spring/buildServices/builders","properties":{"provisioningState":"Succeeded","stack":{"id":"io.buildpacks.stacks.bionic","version":"base"},"buildpackGroups":[{"name":"mix","buildpacks":[{"id":"tanzu-buildpacks/java-azure"}]}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test","name":"test","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T01:44:30.3882983Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T02:15:42.5922402Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '674' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:16:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder show + Connection: + - keep-alive + ParameterSetName: + - -n -g --service + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"294e799ca70d4793a10f543e97d3764f","networkProfile":{"outboundIPs":{"publicIPs":["13.78.187.43","13.78.187.220"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"westcentralus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T01:32:35.972125Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T01:32:35.972125Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '777' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:16:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder show + Connection: + - keep-alive + ParameterSetName: + - -n -g --service + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test-builder?api-version=2022-01-01-preview + response: + body: + string: '{"type":"Microsoft.AppPlatform/Spring/buildServices/builders","properties":{"provisioningState":"Succeeded","stack":{"id":"io.buildpacks.stacks.bionic","version":"base"},"buildpackGroups":[{"name":"mix","buildpacks":[{"id":"tanzu-buildpacks/java-azure"}]}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test-builder","name":"test-builder","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T02:15:06.9479322Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T02:15:06.9479322Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '690' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:16:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --service -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"294e799ca70d4793a10f543e97d3764f","networkProfile":{"outboundIPs":{"publicIPs":["13.78.187.43","13.78.187.220"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"westcentralus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-01-11T01:32:35.972125Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-11T01:32:35.972125Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '777' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:16:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --service -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/buildServices/default/builders/test-builder?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/09c75322-ba1d-4568-a88a-e387c4335671?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 11 Jan 2022 02:16:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationResults/09c75322-ba1d-4568-a88a-e387c4335671/Spring/cli-unittest?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --service -y + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/09c75322-ba1d-4568-a88a-e387c4335671?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westcentralus/operationStatus/cli-unittest/operationId/09c75322-ba1d-4568-a88a-e387c4335671","name":"09c75322-ba1d-4568-a88a-e387c4335671","status":"Succeeded","startTime":"2022-01-11T02:16:20.005758Z","endTime":"2022-01-11T02:16:27.5094077Z"}' + headers: + cache-control: + - no-cache + content-length: + - '362' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Jan 2022 02:16:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - e71904c2-6563-484c-b527-529f24365ac6 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_api_portal.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_api_portal.yaml new file mode 100644 index 00000000000..9d56bccf563 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_api_portal.yaml @@ -0,0 +1,1494 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal update + Connection: + - keep-alive + ParameterSetName: + - -g -s --assign-endpoint --https-only --instance-count --client-id --client-secret + --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","public":true,"url":"tx-enterprise-apiportal-d07d1.svc.asc-test.net","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"gatewayIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default"],"resourceRequests":{"cpu":"500m","memory":"1Gi"},"instances":[{"name":"asc-api-portal-default-5c475b847c-p8dn6","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/apiPortals","sku":{"name":"E0","tier":"Enterprise","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5895457Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T07:26:07.4176425Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1104' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:30:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": true, "httpsOnly": true, "gatewayIds": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default"], + "ssoProperties": {"scope": ["openid", "profile", "email"], "clientId": "*", + "clientSecret": "*", "issuerUri": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"}}, + "sku": {"name": "E0", "tier": "Enterprise", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal update + Connection: + - keep-alive + Content-Length: + - '460' + Content-Type: + - application/json + ParameterSetName: + - -g -s --assign-endpoint --https-only --instance-count --client-id --client-secret + --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Updating","public":true,"url":"tx-enterprise-apiportal-d07d1.svc.asc-test.net","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"gatewayIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default"],"resourceRequests":{"cpu":"500m","memory":"1Gi"},"instances":[{"name":"asc-api-portal-default-5c475b847c-p8dn6","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/apiPortals","sku":{"name":"E0","tier":"Enterprise","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5895457Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T07:30:48.9900339Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/48fe9e58-ddba-4aa8-9790-7c9baff4ffad?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '1103' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:30:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/48fe9e58-ddba-4aa8-9790-7c9baff4ffad/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal update + Connection: + - keep-alive + ParameterSetName: + - -g -s --assign-endpoint --https-only --instance-count --client-id --client-secret + --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/48fe9e58-ddba-4aa8-9790-7c9baff4ffad?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/48fe9e58-ddba-4aa8-9790-7c9baff4ffad","name":"48fe9e58-ddba-4aa8-9790-7c9baff4ffad","status":"Succeeded","startTime":"2021-12-31T07:30:49.5763213Z","endTime":"2021-12-31T07:31:08.9739569Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:31:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal update + Connection: + - keep-alive + ParameterSetName: + - -g -s --assign-endpoint --https-only --instance-count --client-id --client-secret + --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","public":true,"url":"tx-enterprise-apiportal-d07d1.svc.asc-test.net","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"gatewayIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default"],"resourceRequests":{"cpu":"500m","memory":"1Gi"},"instances":[{"name":"asc-api-portal-default-5c475b847c-p8dn6","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/apiPortals","sku":{"name":"E0","tier":"Enterprise","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5895457Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T07:30:48.9900339Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1104' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:31:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal show + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:31:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal show + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","public":true,"url":"tx-enterprise-apiportal-d07d1.svc.asc-test.net","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"gatewayIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default"],"resourceRequests":{"cpu":"500m","memory":"1Gi"},"instances":[{"name":"asc-api-portal-default-5c475b847c-p8dn6","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/apiPortals","sku":{"name":"E0","tier":"Enterprise","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5895457Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T07:30:48.9900339Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1104' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:31:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:31:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","public":true,"url":"tx-enterprise-apiportal-d07d1.svc.asc-test.net","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"gatewayIds":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default"],"resourceRequests":{"cpu":"500m","memory":"1Gi"},"instances":[{"name":"asc-api-portal-default-5c475b847c-p8dn6","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/apiPortals","sku":{"name":"E0","tier":"Enterprise","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5895457Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T07:30:48.9900339Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1104' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:31:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: '{"properties": {}, "sku": {"name": "E0", "tier": "Enterprise"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal clear + Connection: + - keep-alive + Content-Length: + - '63' + Content-Type: + - application/json + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Updating","public":false,"url":"tx-enterprise-apiportal-d07d1.svc.asc-test.net","httpsOnly":false,"gatewayIds":[],"resourceRequests":{"cpu":"500m","memory":"1Gi"},"instances":[{"name":"asc-api-portal-default-5c475b847c-p8dn6","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/apiPortals","sku":{"name":"E0","tier":"Enterprise","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5895457Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T07:31:29.0483676Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '785' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:31:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1f2d40ee-3eb8-4766-b827-0e6d7beb9333/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333","name":"1f2d40ee-3eb8-4766-b827-0e6d7beb9333","status":"Running","startTime":"2021-12-31T07:31:29.4981357Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:31:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333","name":"1f2d40ee-3eb8-4766-b827-0e6d7beb9333","status":"Running","startTime":"2021-12-31T07:31:29.4981357Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333","name":"1f2d40ee-3eb8-4766-b827-0e6d7beb9333","status":"Running","startTime":"2021-12-31T07:31:29.4981357Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1f2d40ee-3eb8-4766-b827-0e6d7beb9333","name":"1f2d40ee-3eb8-4766-b827-0e6d7beb9333","status":"Succeeded","startTime":"2021-12-31T07:31:29.4981357Z","endTime":"2021-12-31T07:32:29.1461334Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","public":false,"url":"","httpsOnly":false,"gatewayIds":[],"resourceRequests":{"cpu":"500m","memory":"1Gi"},"instances":[{"name":"asc-api-portal-default-848f968f6c-5lmvt","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/apiPortals","sku":{"name":"E0","tier":"Enterprise","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5895457Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T07:31:29.0483676Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '740' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/certificates/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/certificates/cli-unittest","name":"cli-unittest"}' + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain bind + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: '{"properties": {}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain bind + Connection: + - keep-alive + Content-Length: + - '18' + Content-Type: + - application/json + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":""},"type":"Microsoft.AppPlatform/Spring/apiPortals/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net","name":"api-portal-cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":""},"type":"Microsoft.AppPlatform/Spring/apiPortals/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net","name":"api-portal-cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '311' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"thumbprint":""},"type":"Microsoft.AppPlatform/Spring/apiPortals/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net","name":"api-portal-cli.asc-test.net"}]}' + headers: + cache-control: + - no-cache + content-length: + - '323' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/certificates/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/certificates/cli-unittest","name":"cli-unittest"}' + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: '{"properties": {"thumbprint": "ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain update + Connection: + - keep-alive + Content-Length: + - '74' + Content-Type: + - application/json + ParameterSetName: + - --domain-name --certificate -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d"},"type":"Microsoft.AppPlatform/Spring/apiPortals/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net","name":"api-portal-cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d"},"type":"Microsoft.AppPlatform/Spring/apiPortals/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net","name":"api-portal-cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain unbind + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 31 Dec 2021 07:32:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud api-portal custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apiPortals/default/domains/api-portal-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"EntityNotFound","message":"CustomDomain ''api-portal-cli.asc-test.net'' + not found","target":null,"details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '129' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 07:32:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 2ce05a81-5b4d-401c-ab7a-5b242bc5726b + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud.yaml new file mode 100644 index 00000000000..6200bce36e6 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud.yaml @@ -0,0 +1,1828 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:23:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '227' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:23:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:23:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '136' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:19.3931018Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/352f18d8-28da-45b2-8ea8-33c592a3c76d?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '718' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:23:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/352f18d8-28da-45b2-8ea8-33c592a3c76d/Spring/test-crud-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/352f18d8-28da-45b2-8ea8-33c592a3c76d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/352f18d8-28da-45b2-8ea8-33c592a3c76d","name":"352f18d8-28da-45b2-8ea8-33c592a3c76d","status":"Succeeded","startTime":"2022-02-24T03:23:20.2018038Z","endTime":"2022-02-24T03:23:26.5272921Z"}' + headers: + cache-control: + - no-cache + content-length: + - '357' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:23:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:19.3931018Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '812' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:23:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "2", "memory": "1Gi"}, "environmentVariables": {"foo": "bar"}}, "active": true}, + "sku": {"name": "S0", "tier": "Standard", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '289' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/8f7bc38c-9660-40bd-8551-69936a1f9050?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '808' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:23:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/8f7bc38c-9660-40bd-8551-69936a1f9050/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:58.6533966Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/19744c8f-33a1-4080-a6cc-e0d8a1e77159?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '811' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:23:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/19744c8f-33a1-4080-a6cc-e0d8a1e77159/Spring/test-crud-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/8f7bc38c-9660-40bd-8551-69936a1f9050?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/8f7bc38c-9660-40bd-8551-69936a1f9050","name":"8f7bc38c-9660-40bd-8551-69936a1f9050","status":"Succeeded","startTime":"2022-02-24T03:23:58.2775739Z","endTime":"2022-02-24T03:24:23.3766818Z"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '936' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/19744c8f-33a1-4080-a6cc-e0d8a1e77159?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/19744c8f-33a1-4080-a6cc-e0d8a1e77159","name":"19744c8f-33a1-4080-a6cc-e0d8a1e77159","status":"Succeeded","startTime":"2022-02-24T03:23:58.9755596Z","endTime":"2022-02-24T03:24:06.1744247Z"}' + headers: + cache-control: + - no-cache + content-length: + - '357' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:58.6533966Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '812' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:58.6533966Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '812' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '948' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --instance-count + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --instance-count + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --instance-count + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --instance-count + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '948' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "2", "memory": "1Gi"}, "environmentVariables": {"foo": "bar"}}}, "sku": {"name": + "S0", "tier": "Standard", "capacity": 2}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + Content-Length: + - '273' + Content-Type: + - application/json + ParameterSetName: + - -n --app -g -s --instance-count + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:24:44.4805568Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:24:44.4805568Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/cadc5af3-f369-40c8-bd82-8235f284c0d6?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:24:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/cadc5af3-f369-40c8-bd82-8235f284c0d6/Spring/green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --instance-count + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/cadc5af3-f369-40c8-bd82-8235f284c0d6?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/cadc5af3-f369-40c8-bd82-8235f284c0d6","name":"cadc5af3-f369-40c8-bd82-8235f284c0d6","status":"Succeeded","startTime":"2022-02-24T03:24:46.6580316Z","endTime":"2022-02-24T03:25:13.4583662Z"}' + headers: + cache-control: + - no-cache + content-length: + - '349' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --instance-count + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-67478dbdc4-l7s28","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"},{"name":"test-crud-app-green-13-67478dbdc4-q5pr7","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:24:44.4805568Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:24:44.4805568Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1083' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:23:55.8683765Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-67478dbdc4-l7s28","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"},{"name":"test-crud-app-green-13-67478dbdc4-q5pr7","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:24:44.4805568Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:24:44.4805568Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2032' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '36' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:24.1061311Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/0d145033-facb-4142-94ff-00bef2302eb6?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '811' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0d145033-facb-4142-94ff-00bef2302eb6/Spring/test-crud-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_11"}, "deploymentSettings": {}}, "sku": {"name": "S0", + "tier": "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '170' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:26.9161254Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '809' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/4094270a-56ca-45a5-a9d0-6b95eb94e76c/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/0d145033-facb-4142-94ff-00bef2302eb6?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/0d145033-facb-4142-94ff-00bef2302eb6","name":"0d145033-facb-4142-94ff-00bef2302eb6","status":"Succeeded","startTime":"2022-02-24T03:25:25.3070345Z","endTime":"2022-02-24T03:25:31.58004Z"}' + headers: + cache-control: + - no-cache + content-length: + - '355' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:24.1061311Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '812' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c","name":"4094270a-56ca-45a5-a9d0-6b95eb94e76c","status":"Running","startTime":"2022-02-24T03:25:28.9341729Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:25:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4094270a-56ca-45a5-a9d0-6b95eb94e76c","name":"4094270a-56ca-45a5-a9d0-6b95eb94e76c","status":"Succeeded","startTime":"2022-02-24T03:25:28.9341729Z","endTime":"2022-02-24T03:26:00.3024348Z"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-67d9bdbbb6-4nlmk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:25:36Z"},{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:26.9161254Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1073' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:24.1061311Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '812' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-default-13-67d9bdbbb6-4nlmk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:25:36Z"},{"name":"test-crud-app-default-13-7694558b4d-j6brn","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T03:24:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:55.8683765Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:26.9161254Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-green-13-67478dbdc4-l7s28","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"},{"name":"test-crud-app-green-13-67478dbdc4-q5pr7","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:24:53Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:24:44.4805568Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:24:44.4805568Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2169' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app","name":"test-crud-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:23:19.3931018Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:25:24.1061311Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '812' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/927e14a2-c427-48c5-9d85-4d3e707a4ac3?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 03:26:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/927e14a2-c427-48c5-9d85-4d3e707a4ac3/Spring/test-crud-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/927e14a2-c427-48c5-9d85-4d3e707a4ac3?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app/operationId/927e14a2-c427-48c5-9d85-4d3e707a4ac3","name":"927e14a2-c427-48c5-9d85-4d3e707a4ac3","status":"Succeeded","startTime":"2022-02-24T03:26:21.0013896Z","endTime":"2022-02-24T03:26:30.1129824Z"}' + headers: + cache-control: + - no-cache + content-length: + - '357' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud_1.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud_1.yaml new file mode 100644 index 00000000000..7c63ea9794d --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_crud_1.yaml @@ -0,0 +1,1106 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '229' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": true, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '135' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:26:58.9875792Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/841394bb-9107-4057-a5ff-45cfb3c2147c?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '721' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:26:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/841394bb-9107-4057-a5ff-45cfb3c2147c/Spring/test-crud-app-1?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/841394bb-9107-4057-a5ff-45cfb3c2147c?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/841394bb-9107-4057-a5ff-45cfb3c2147c","name":"841394bb-9107-4057-a5ff-45cfb3c2147c","status":"Succeeded","startTime":"2022-02-24T03:26:59.3522125Z","endTime":"2022-02-24T03:27:06.3088354Z"}' + headers: + cache-control: + - no-cache + content-length: + - '359' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:27:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:26:58.9875792Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:27:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "2Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:27:35.0520192Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:35.0520192Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4b8aa6c2-9346-438e-8a73-a18796384d13?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '801' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:27:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/4b8aa6c2-9346-438e-8a73-a18796384d13/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": true, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '80' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:37.5867715Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/996dca8f-a752-4409-b34a-3cce8cbcb566?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '814' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:27:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/996dca8f-a752-4409-b34a-3cce8cbcb566/Spring/test-crud-app-1?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4b8aa6c2-9346-438e-8a73-a18796384d13?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/4b8aa6c2-9346-438e-8a73-a18796384d13","name":"4b8aa6c2-9346-438e-8a73-a18796384d13","status":"Succeeded","startTime":"2022-02-24T03:27:37.1133549Z","endTime":"2022-02-24T03:28:07.4471395Z"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-1-default-15-7c6b5cb594-2v8jx","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:27:42Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:27:35.0520192Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:35.0520192Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '931' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/996dca8f-a752-4409-b34a-3cce8cbcb566?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-crud-app-1/operationId/996dca8f-a752-4409-b34a-3cce8cbcb566","name":"996dca8f-a752-4409-b34a-3cce8cbcb566","status":"Succeeded","startTime":"2022-02-24T03:27:37.9821269Z","endTime":"2022-02-24T03:27:49.3094024Z"}' + headers: + cache-control: + - no-cache + content-length: + - '359' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-test-crud-app-1.asc-test.net","provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:37.5867715Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '873' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":true,"url":"https://cli-unittest-test-crud-app-1.asc-test.net","provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1","name":"test-crud-app-1","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:26:58.9875792Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:37.5867715Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '873' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --assign-endpoint --memory + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"2Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-crud-app-1-default-15-7c6b5cb594-2v8jx","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T03:27:42Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:27:35.0520192Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:27:35.0520192Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '943' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --skip-clone-settings + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --skip-clone-settings + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --skip-clone-settings + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --skip-clone-settings + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}, "environmentVariables": {}}}, "sku": {"name": "S0", "tier": + "Standard", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + Content-Length: + - '261' + Content-Type: + - application/json + ParameterSetName: + - -n --app -g -s --skip-clone-settings + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":{}},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:28:24.6029622Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:28:24.6029622Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/4424cb56-3e99-4c29-a038-46e0a750ba0f?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '796' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/4424cb56-3e99-4c29-a038-46e0a750ba0f/Spring/green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --skip-clone-settings + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/4424cb56-3e99-4c29-a038-46e0a750ba0f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/4424cb56-3e99-4c29-a038-46e0a750ba0f","name":"4424cb56-3e99-4c29-a038-46e0a750ba0f","status":"Succeeded","startTime":"2022-02-24T03:28:26.7669134Z","endTime":"2022-02-24T03:28:52.3038838Z"}' + headers: + cache-control: + - no-cache + content-length: + - '349' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s --skip-clone-settings + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":{}},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-crud-app-1-green-15-7bc9fd994f-4nxv2","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T03:28:31Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-crud-app-1/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T03:28:24.6029622Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T03:28:24.6029622Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '936' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 03:28:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_deploy_container.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_deploy_container.yaml new file mode 100644 index 00000000000..57d570b00a3 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_deploy_container.yaml @@ -0,0 +1,2253 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:10:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '228' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:10:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:10:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '136' + Content-Type: + - application/json + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:18.9016189Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-container/operationId/0565679b-726a-43dd-af00-f46c1f068eb2?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '720' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:10:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0565679b-726a-43dd-af00-f46c1f068eb2/Spring/test-container?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-container/operationId/0565679b-726a-43dd-af00-f46c1f068eb2?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-container/operationId/0565679b-726a-43dd-af00-f46c1f068eb2","name":"0565679b-726a-43dd-af00-f46c1f068eb2","status":"Succeeded","startTime":"2022-02-24T08:10:19.4444068Z","endTime":"2022-02-24T08:10:25.677718Z"}' + headers: + cache-control: + - no-cache + content-length: + - '357' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:10:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:18.9016189Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '823' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:10:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:55.1167761Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:10:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/24b10b8d-44c6-4c76-8660-d95dcec16792/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:56.8067785Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-container/operationId/c133f3a5-43a8-4c28-af1e-6f292cb4aa68?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '822' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:10:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/c133f3a5-43a8-4c28-af1e-6f292cb4aa68/Spring/test-container?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792","name":"24b10b8d-44c6-4c76-8660-d95dcec16792","status":"Running","startTime":"2022-02-24T08:10:56.3941771Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:11:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-container/operationId/c133f3a5-43a8-4c28-af1e-6f292cb4aa68?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-container/operationId/c133f3a5-43a8-4c28-af1e-6f292cb4aa68","name":"c133f3a5-43a8-4c28-af1e-6f292cb4aa68","status":"Succeeded","startTime":"2022-02-24T08:10:57.0267899Z","endTime":"2022-02-24T08:11:04.1094456Z"}' + headers: + cache-control: + - no-cache + content-length: + - '358' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:11:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:56.8067785Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '823' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:11:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792","name":"24b10b8d-44c6-4c76-8660-d95dcec16792","status":"Running","startTime":"2022-02-24T08:10:56.3941771Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:11:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792","name":"24b10b8d-44c6-4c76-8660-d95dcec16792","status":"Running","startTime":"2022-02-24T08:10:56.3941771Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:11:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/24b10b8d-44c6-4c76-8660-d95dcec16792","name":"24b10b8d-44c6-4c76-8660-d95dcec16792","status":"Succeeded","startTime":"2022-02-24T08:10:56.3941771Z","endTime":"2022-02-24T08:11:55.7587999Z"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:11:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7d888965c7-q7b9q","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T08:11:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:55.1167761Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:18.9016189Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:56.8067785Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '823' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -s -g -n + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7d888965c7-q7b9q","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T08:11:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:55.1167761Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '941' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7d888965c7-q7b9q","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T08:11:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:10:55.1167761Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '941' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Container", "customContainer": {"server": + "docker.io", "containerImage": "springio/gs-spring-boot-docker"}}, "deploymentSettings": + {"resourceRequests": {"cpu": "1", "memory": "1Gi"}}}, "sku": {"name": "S0", + "tier": "Standard", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '278' + Content-Type: + - application/json + ParameterSetName: + - -g -s -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Container","version":"","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"jvmOptions":"","environmentVariables":null},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:13.9598533Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/d21028e1-2ec2-46a3-b2c0-ce37fa19525d?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '873' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/d21028e1-2ec2-46a3-b2c0-ce37fa19525d/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/d21028e1-2ec2-46a3-b2c0-ce37fa19525d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/d21028e1-2ec2-46a3-b2c0-ce37fa19525d","name":"d21028e1-2ec2-46a3-b2c0-ce37fa19525d","status":"Succeeded","startTime":"2022-02-24T08:12:15.0437863Z","endTime":"2022-02-24T08:12:42.4637167Z"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Container","version":"","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"jvmOptions":"","environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7b896dd978-s6rrj","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:12:26Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:13.9598533Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1003' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -g -s --app -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -g -s --app -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -g -s --app -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -g -s --app -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Container","version":"","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"jvmOptions":"","environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7b896dd978-s6rrj","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:12:26Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:13.9598533Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1015' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Container", "customContainer": {"server": + "docker.io", "containerImage": "springio/gs-spring-boot-docker"}}, "deploymentSettings": + {"resourceRequests": {"cpu": "1", "memory": "1Gi"}}}, "sku": {"name": "S0", + "tier": "Standard", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + Content-Length: + - '278' + Content-Type: + - application/json + ParameterSetName: + - -g -s --app -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Container","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:12:58.9051731Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:58.9051731Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/5a94a974-8802-4f70-ba20-e19f293d307e?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '841' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:12:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/5a94a974-8802-4f70-ba20-e19f293d307e/Spring/green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -g -s --app -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/5a94a974-8802-4f70-ba20-e19f293d307e?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/5a94a974-8802-4f70-ba20-e19f293d307e","name":"5a94a974-8802-4f70-ba20-e19f293d307e","status":"Succeeded","startTime":"2022-02-24T08:12:59.3776935Z","endTime":"2022-02-24T08:13:17.3600948Z"}' + headers: + cache-control: + - no-cache + content-length: + - '349' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:13:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - -g -s --app -n --container-image + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Container","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-container-green-14-648cbc5b87-sj5zw","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:13:01Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:12:58.9051731Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:58.9051731Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '969' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:13:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Container","version":"","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"jvmOptions":"","environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7b896dd978-s6rrj","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:12:26Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:13.9598533Z"}},{"properties":{"source":{"type":"Container","customContainer":{"containerImage":"springio/gs-spring-boot-docker","server":"docker.io"}},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-container-green-14-648cbc5b87-sj5zw","status":"Running","discoveryStatus":"N/A","startTime":"2022-02-24T08:13:01Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:12:58.9051731Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:12:58.9051731Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1985' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:13:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:13:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:13:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:13:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/getResourceUploadUrl?api-version=2022-01-01-preview + response: + body: + string: '{"relativePath":"resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903","uploadUrl":"https://0ceb2111a7684e3db339ef7d.file.core.windows.net/6cd9062ba20843ac97492d47595a0f6c/resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903?1234567"}' + headers: + cache-control: + - no-cache + content-length: + - '475' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:13:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + x-ms-content-length: + - '11' + x-ms-date: + - Thu, 24 Feb 2022 08:13:45 GMT + x-ms-file-attributes: + - Archive + x-ms-file-creation-time: + - '2022-02-24T08:13:45.3810360Z' + x-ms-file-last-write-time: + - '2022-02-24T08:13:45.3810360Z' + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://0ceb2111a7684e3db339ef7d.file.core.windows.net/6cd9062ba20843ac97492d47595a0f6c/resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903?1234567 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 24 Feb 2022 08:13:46 GMT + etag: + - '"0x8D9F76D93DC26B8"' + last-modified: + - Thu, 24 Feb 2022 08:13:45 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2022-02-24T08:13:45.3810360Z' + x-ms-file-creation-time: + - '2022-02-24T08:13:45.3810360Z' + x-ms-file-id: + - '11529285414812647424' + x-ms-file-last-write-time: + - '2022-02-24T08:13:45.3810360Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 5014305482025877591*17093003390299908313 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: "fake-text\r\n" + headers: + Connection: + - keep-alive + Content-Length: + - '11' + User-Agent: + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + x-ms-date: + - Thu, 24 Feb 2022 08:13:48 GMT + x-ms-range: + - bytes=0-10 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://0ceb2111a7684e3db339ef7d.file.core.windows.net/6cd9062ba20843ac97492d47595a0f6c/resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903?comp=range&1234567 + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - 99EB7GGDEcq+ZSyODG3erA== + date: + - Thu, 24 Feb 2022 08:13:48 GMT + etag: + - '"0x8D9F76D95FCAEEE"' + last-modified: + - Thu, 24 Feb 2022 08:13:48 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}}, "sku": {"name": "S0", "tier": "Standard", "capacity": + 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '346' + Content-Type: + - application/json + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:13:49.2620106Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/f8a3deed-cf79-45ec-bb65-cb847efed704?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '913' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:13:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/f8a3deed-cf79-45ec-bb65-cb847efed704/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/f8a3deed-cf79-45ec-bb65-cb847efed704?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/f8a3deed-cf79-45ec-bb65-cb847efed704","name":"f8a3deed-cf79-45ec-bb65-cb847efed704","status":"Running","startTime":"2022-02-24T08:13:50.0252744Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:14:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/f8a3deed-cf79-45ec-bb65-cb847efed704?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/f8a3deed-cf79-45ec-bb65-cb847efed704","name":"f8a3deed-cf79-45ec-bb65-cb847efed704","status":"Running","startTime":"2022-02-24T08:13:50.0252744Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:14:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --artifact-path + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/f8a3deed-cf79-45ec-bb65-cb847efed704?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/f8a3deed-cf79-45ec-bb65-cb847efed704","name":"f8a3deed-cf79-45ec-bb65-cb847efed704","status":"Failed","startTime":"2022-02-24T08:13:50.0252744Z","endTime":"2022-02-24T08:14:34.1564029Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + headers: + cache-control: + - no-cache + content-length: + - '555' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:14:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/5a84fe31320ed80c98e92477f218dabb4f9a607ace9933e280a502f626ec89cf-2022022408-475616c7-8c3f-42af-af24-5f8ab8e54903","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"test-container-default-14-7f49c9b4cf-zk4f6","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T08:14:04Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T08:10:55.1167761Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T08:13:49.2620106Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1106' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 08:14:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_i2a_tls.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_i2a_tls.yaml new file mode 100644 index 00000000000..8537e74b9ea --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_app_i2a_tls.yaml @@ -0,0 +1,2779 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:43:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '229' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:43:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:43:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '136' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:43:35.7583506Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/2f2e1891-3953-46c7-acc4-3e143db3fec6?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '722' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:43:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2f2e1891-3953-46c7-acc4-3e143db3fec6/Spring/test-i2atls-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/2f2e1891-3953-46c7-acc4-3e143db3fec6?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/2f2e1891-3953-46c7-acc4-3e143db3fec6","name":"2f2e1891-3953-46c7-acc4-3e143db3fec6","status":"Succeeded","startTime":"2022-02-24T02:43:36.454197Z","endTime":"2022-02-24T02:43:42.7919934Z"}' + headers: + cache-control: + - no-cache + content-length: + - '358' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:44:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:43:35.7583506Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:44:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '801' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:44:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0866312d-3c3e-4e55-8a71-7c0bdb439b2d/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:14.5836455Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/ca958b6f-d22f-46fb-b70a-c371e3ae27cf?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:44:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/ca958b6f-d22f-46fb-b70a-c371e3ae27cf/Spring/test-i2atls-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:44:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/ca958b6f-d22f-46fb-b70a-c371e3ae27cf?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/ca958b6f-d22f-46fb-b70a-c371e3ae27cf","name":"ca958b6f-d22f-46fb-b70a-c371e3ae27cf","status":"Succeeded","startTime":"2022-02-24T02:44:14.9915152Z","endTime":"2022-02-24T02:44:21.459485Z"}' + headers: + cache-control: + - no-cache + content-length: + - '358' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:44:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:14.5836455Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:44:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:44:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:45:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:45:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:45:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:45:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Running","startTime":"2022-02-24T02:44:14.2241405Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:45:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/0866312d-3c3e-4e55-8a71-7c0bdb439b2d","name":"0866312d-3c3e-4e55-8a71-7c0bdb439b2d","status":"Succeeded","startTime":"2022-02-24T02:44:14.2241405Z","endTime":"2022-02-24T02:45:55.2106086Z"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '930' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:14.5836455Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"httpsOnly": false, "enableEndToEndTLS": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '63' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:46:22.2257807Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/9b1bd090-a126-4eb7-acf4-d1a8e875874a?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '814' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/9b1bd090-a126-4eb7-acf4-d1a8e875874a/Spring/test-i2atls-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: '{"properties": {"deploymentSettings": {}}, "sku": {"name": "S0", "tier": + "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '85' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '930' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/9b1bd090-a126-4eb7-acf4-d1a8e875874a?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/9b1bd090-a126-4eb7-acf4-d1a8e875874a","name":"9b1bd090-a126-4eb7-acf4-d1a8e875874a","status":"Succeeded","startTime":"2022-02-24T02:46:23.347509Z","endTime":"2022-02-24T02:46:29.6899442Z"}' + headers: + cache-control: + - no-cache + content-length: + - '358' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:46:22.2257807Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:46:22.2257807Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:46:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"httpsOnly": false, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:06.9329294Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/6246f4a2-9c88-4f80-bd35-9835d6571b97?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/6246f4a2-9c88-4f80-bd35-9835d6571b97/Spring/test-i2atls-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: '{"properties": {"deploymentSettings": {}}, "sku": {"name": "S0", "tier": + "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '85' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '930' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/6246f4a2-9c88-4f80-bd35-9835d6571b97?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/6246f4a2-9c88-4f80-bd35-9835d6571b97","name":"6246f4a2-9c88-4f80-bd35-9835d6571b97","status":"Succeeded","startTime":"2022-02-24T02:47:08.0664155Z","endTime":"2022-02-24T02:47:15.8072071Z"}' + headers: + cache-control: + - no-cache + content-length: + - '359' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:06.9329294Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:06.9329294Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-ingress-to-app-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"httpsOnly": false, "enableEndToEndTLS": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '63' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:48.1270572Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/b192639a-1c19-4a2d-b86a-0010273fd3af?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '814' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/b192639a-1c19-4a2d-b86a-0010273fd3af/Spring/test-i2atls-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: '{"properties": {"deploymentSettings": {}}, "sku": {"name": "S0", "tier": + "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '85' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '930' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:47:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/b192639a-1c19-4a2d-b86a-0010273fd3af?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/b192639a-1c19-4a2d-b86a-0010273fd3af","name":"b192639a-1c19-4a2d-b86a-0010273fd3af","status":"Succeeded","startTime":"2022-02-24T02:47:49.0763012Z","endTime":"2022-02-24T02:47:57.7646691Z"}' + headers: + cache-control: + - no-cache + content-length: + - '359' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:48:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:48.1270572Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:48:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":true},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:47:48.1270572Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:48:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:48:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:48:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:48:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"httpsOnly": false, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '64' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:48:31.4720451Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/c323d0d9-2b6f-4c97-b403-bf674d0cb09b?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:48:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/c323d0d9-2b6f-4c97-b403-bf674d0cb09b/Spring/test-i2atls-app?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: '{"properties": {"deploymentSettings": {}}, "sku": {"name": "S0", "tier": + "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '85' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '930' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:48:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/c323d0d9-2b6f-4c97-b403-bf674d0cb09b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-i2atls-app/operationId/c323d0d9-2b6f-4c97-b403-bf674d0cb09b","name":"c323d0d9-2b6f-4c97-b403-bf674d0cb09b","status":"Succeeded","startTime":"2022-02-24T02:48:31.7805808Z","endTime":"2022-02-24T02:48:38.1735923Z"}' + headers: + cache-control: + - no-cache + content-length: + - '359' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:49:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:48:31.4720451Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:49:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app","name":"test-i2atls-app","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:43:35.7583506Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:48:31.4720451Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:49:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --enable-end-to-end-tls + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-i2atls-app-default-15-bd66bfbd8-wwzj4","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:45:20Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-i2atls-app/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:44:11.9936259Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:44:11.9936259Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '942' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:49:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_application_configuration_service.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_application_configuration_service.yaml new file mode 100644 index 00000000000..63be95dec00 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_application_configuration_service.yaml @@ -0,0 +1,2130 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service show + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:54:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service show + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:49:07.2862478Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '807' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:54:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo add + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label --patterns --uri + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:54:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo add + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label --patterns --uri + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:49:07.2862478Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '807' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:54:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"gitProperty": {"repositories": [{"name": "repo1", "patterns": ["api-gateway", + "customers-service"], "uri": "https://github.com/spring-petclinic/spring-petclinic-microservices-config", + "label": "master"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo add + Connection: + - keep-alive + Content-Length: + - '207' + Content-Type: + - application/json + ParameterSetName: + - -g -s -n --label --patterns --uri + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default/validate?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/07be18a0-8401-43cd-a976-caf6656946dc?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 02 Jan 2022 09:54:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/07be18a0-8401-43cd-a976-caf6656946dc/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo add + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label --patterns --uri + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/07be18a0-8401-43cd-a976-caf6656946dc?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/07be18a0-8401-43cd-a976-caf6656946dc","name":"07be18a0-8401-43cd-a976-caf6656946dc","status":"Succeeded","startTime":"2022-01-02T09:54:36.1377809Z","endTime":"2022-01-02T09:54:42.302869Z"}' + headers: + cache-control: + - no-cache + content-length: + - '355' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:55:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo add + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label --patterns --uri + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/07be18a0-8401-43cd-a976-caf6656946dc/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"gitPropertyValidationResult":{"isValid":true,"gitReposValidationResult":[{"name":"repo1","messages":[]}]}}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:55:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"settings": {"gitProperty": {"repositories": [{"name": + "repo1", "patterns": ["api-gateway", "customers-service"], "uri": "https://github.com/spring-petclinic/spring-petclinic-microservices-config", + "label": "master"}]}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo add + Connection: + - keep-alive + Content-Length: + - '237' + Content-Type: + - application/json + ParameterSetName: + - -g -s -n --label --patterns --uri + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Updating","settings":{"gitProperty":{"repositories":[{"name":"repo1","patterns":["api-gateway","customers-service"],"label":"master","uri":"https://github.com/spring-petclinic/spring-petclinic-microservices-config"}]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:55:07.6360403Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1ea94af9-cd58-4048-91c3-4a6cab924f96?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '968' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:55:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1ea94af9-cd58-4048-91c3-4a6cab924f96/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo add + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label --patterns --uri + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1ea94af9-cd58-4048-91c3-4a6cab924f96?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/1ea94af9-cd58-4048-91c3-4a6cab924f96","name":"1ea94af9-cd58-4048-91c3-4a6cab924f96","status":"Succeeded","startTime":"2022-01-02T09:55:07.9156499Z","endTime":"2022-01-02T09:55:24.3542731Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:55:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo add + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label --patterns --uri + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[{"name":"repo1","patterns":["api-gateway","customers-service"],"label":"master","uri":"https://github.com/spring-petclinic/spring-petclinic-microservices-config"}]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:55:07.6360403Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '969' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:55:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:55:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[{"name":"repo1","patterns":["api-gateway","customers-service"],"label":"master","uri":"https://github.com/spring-petclinic/spring-petclinic-microservices-config"}]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:55:07.6360403Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '969' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:55:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"gitProperty": {"repositories": [{"name": "repo1", "patterns": ["api-gateway", + "customers-service"], "uri": "https://github.com/spring-petclinic/spring-petclinic-microservices-config", + "label": "master"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo update + Connection: + - keep-alive + Content-Length: + - '207' + Content-Type: + - application/json + ParameterSetName: + - -g -s -n --label + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default/validate?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/c64678e5-b93f-43a5-9d54-32b92bd40aab?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 02 Jan 2022 09:55:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/c64678e5-b93f-43a5-9d54-32b92bd40aab/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/c64678e5-b93f-43a5-9d54-32b92bd40aab?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/c64678e5-b93f-43a5-9d54-32b92bd40aab","name":"c64678e5-b93f-43a5-9d54-32b92bd40aab","status":"Succeeded","startTime":"2022-01-02T09:55:43.3136767Z","endTime":"2022-01-02T09:55:50.3699538Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/c64678e5-b93f-43a5-9d54-32b92bd40aab/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"gitPropertyValidationResult":{"isValid":true,"gitReposValidationResult":[{"name":"repo1","messages":[]}]}}' + headers: + cache-control: + - no-cache + content-length: + - '108' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"settings": {"gitProperty": {"repositories": [{"name": + "repo1", "patterns": ["api-gateway", "customers-service"], "uri": "https://github.com/spring-petclinic/spring-petclinic-microservices-config", + "label": "master"}]}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo update + Connection: + - keep-alive + Content-Length: + - '237' + Content-Type: + - application/json + ParameterSetName: + - -g -s -n --label + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Updating","settings":{"gitProperty":{"repositories":[{"name":"repo1","patterns":["api-gateway","customers-service"],"label":"master","uri":"https://github.com/spring-petclinic/spring-petclinic-microservices-config"}]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:56:14.6418764Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/76134f19-34a7-402c-b370-61410e43289d?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '968' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/76134f19-34a7-402c-b370-61410e43289d/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/76134f19-34a7-402c-b370-61410e43289d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/76134f19-34a7-402c-b370-61410e43289d","name":"76134f19-34a7-402c-b370-61410e43289d","status":"Succeeded","startTime":"2022-01-02T09:56:14.9942502Z","endTime":"2022-01-02T09:56:31.4960516Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --label + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[{"name":"repo1","patterns":["api-gateway","customers-service"],"label":"master","uri":"https://github.com/spring-petclinic/spring-petclinic-microservices-config"}]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:56:14.6418764Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '969' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[{"name":"repo1","patterns":["api-gateway","customers-service"],"label":"master","uri":"https://github.com/spring-petclinic/spring-petclinic-microservices-config"}]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:56:14.6418764Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '969' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[{"name":"repo1","patterns":["api-gateway","customers-service"],"label":"master","uri":"https://github.com/spring-petclinic/spring-petclinic-microservices-config"}]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:56:14.6418764Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '969' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:56:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"gitProperty": {"repositories": []}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo remove + Connection: + - keep-alive + Content-Length: + - '37' + Content-Type: + - application/json + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default/validate?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/6450bd6d-d5f5-4daa-b626-5f0cd6495223?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Sun, 02 Jan 2022 09:56:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/6450bd6d-d5f5-4daa-b626-5f0cd6495223/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/6450bd6d-d5f5-4daa-b626-5f0cd6495223?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/6450bd6d-d5f5-4daa-b626-5f0cd6495223","name":"6450bd6d-d5f5-4daa-b626-5f0cd6495223","status":"Succeeded","startTime":"2022-01-02T09:56:53.3183742Z","endTime":"2022-01-02T09:56:59.8612326Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:57:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/6450bd6d-d5f5-4daa-b626-5f0cd6495223/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"gitPropertyValidationResult":{"isValid":true,"gitReposValidationResult":[]}}' + headers: + cache-control: + - no-cache + content-length: + - '78' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:57:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"settings": {"gitProperty": {"repositories": []}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo remove + Connection: + - keep-alive + Content-Length: + - '67' + Content-Type: + - application/json + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Updating","settings":{"gitProperty":{"repositories":[]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:57:24.7154184Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/e6491643-6ee9-47b0-a7b5-fd90cf61dc02?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '806' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:57:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/e6491643-6ee9-47b0-a7b5-fd90cf61dc02/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/e6491643-6ee9-47b0-a7b5-fd90cf61dc02?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/e6491643-6ee9-47b0-a7b5-fd90cf61dc02","name":"e6491643-6ee9-47b0-a7b5-fd90cf61dc02","status":"Succeeded","startTime":"2022-01-02T09:57:25.1320888Z","endTime":"2022-01-02T09:57:41.6424113Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:57:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:57:24.7154184Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '807' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:57:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:57:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service git repo list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","settings":{"gitProperty":{"repositories":[]}},"resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:57:24.7154184Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '807' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service bind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service bind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default"},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:36:40.7796714Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '958' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service unbind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service unbind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default"},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:36:40.7796714Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '958' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {"resourceId": ""}, "serviceRegistry": {}}, "fqdn": "tx-enterprise.asc-test.net", + "httpsOnly": false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "location": + "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service unbind + Connection: + - keep-alive + Content-Length: + - '355' + Content-Type: + - application/json + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:58:06.8878401Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/40905e1a-6a52-4f8e-82e1-0cc58b6fe544?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '790' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/40905e1a-6a52-4f8e-82e1-0cc58b6fe544/Spring/app1?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service unbind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/40905e1a-6a52-4f8e-82e1-0cc58b6fe544?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/40905e1a-6a52-4f8e-82e1-0cc58b6fe544","name":"40905e1a-6a52-4f8e-82e1-0cc58b6fe544","status":"Succeeded","startTime":"2022-01-02T09:58:07.262295Z","endTime":"2022-01-02T09:58:13.5051799Z"}' + headers: + cache-control: + - no-cache + content-length: + - '346' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service unbind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:58:06.8878401Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service clear + Connection: + - keep-alive + Content-Length: + - '18' + Content-Type: + - application/json + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Updating","resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:58:41.0662735Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/b8f8b6e3-2047-48c5-afdd-846c62465fb8?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:58:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/b8f8b6e3-2047-48c5-afdd-846c62465fb8/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/b8f8b6e3-2047-48c5-afdd-846c62465fb8?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/b8f8b6e3-2047-48c5-afdd-846c62465fb8","name":"b8f8b6e3-2047-48c5-afdd-846c62465fb8","status":"Succeeded","startTime":"2022-01-02T09:58:42.1268296Z","endTime":"2022-01-02T09:58:58.4060805Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:59:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud application-configuration-service clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"application-configuration-service-844bfcbfdb-prvcz","status":"Running"},{"name":"application-configuration-service-844bfcbfdb-qt2l7","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/configurationServices","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:58:41.0662735Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '760' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 09:59:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_asc_update.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_asc_update.yaml index 5d2f6d3b3bb..61fb718b31c 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_asc_update.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_asc_update.yaml @@ -70,7 +70,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"e2c3dcb4663b49d891a84af0d6fa556f","networkProfile":{"outboundIPs":{"publicIPs":["52.186.105.180"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10","name":"cli-unittest10"}' @@ -272,7 +272,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"e2c3dcb4663b49d891a84af0d6fa556f","networkProfile":{"outboundIPs":{"publicIPs":["52.186.105.180"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10","name":"cli-unittest10"}' @@ -684,7 +684,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"e2c3dcb4663b49d891a84af0d6fa556f","networkProfile":{"outboundIPs":{"publicIPs":["52.186.105.180"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10","name":"cli-unittest10"}' @@ -1042,7 +1042,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"e2c3dcb4663b49d891a84af0d6fa556f","networkProfile":{"outboundIPs":{"publicIPs":["52.186.105.180"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10","name":"cli-unittest10"}' @@ -1454,7 +1454,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"e2c3dcb4663b49d891a84af0d6fa556f","networkProfile":{"outboundIPs":{"publicIPs":["52.186.105.180"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10","name":"cli-unittest10"}' @@ -1812,7 +1812,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"e2c3dcb4663b49d891a84af0d6fa556f","networkProfile":{"outboundIPs":{"publicIPs":["52.186.105.180"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10","name":"cli-unittest10"}' @@ -2171,7 +2171,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"e2c3dcb4663b49d891a84af0d6fa556f","networkProfile":{"outboundIPs":{"publicIPs":["52.186.105.180"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10","name":"cli-unittest10"}' @@ -2529,7 +2529,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"e2c3dcb4663b49d891a84af0d6fa556f","networkProfile":{"outboundIPs":{"publicIPs":["52.186.105.180"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest10","name":"cli-unittest10"}' diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_az_asc_create.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_az_asc_create.yaml new file mode 100644 index 00000000000..afa5d8d01cb --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_az_asc_create.yaml @@ -0,0 +1,1263 @@ +interactions: +- request: + body: '{"location": "eastus2euap", "properties": {"zoneRedundant": true}, "sku": + {"name": "S0", "tier": "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + Content-Length: + - '109' + Content-Type: + - application/json + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-az1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Creating","zoneRedundant":true,"version":3,"serviceId":"9b489d6aab2f41b78ec00271dc121bf1","powerState":"Running","fqdn":"cli-unittest-az1.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus2euap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-az1","name":"cli-unittest-az1","systemData":{"createdBy":"wenhaozhang@microsoft.com","createdByType":"User","createdAt":"2021-12-27T06:44:00.1828217Z","lastModifiedBy":"wenhaozhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-27T06:44:00.1828217Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '713' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:44:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationResults/505b3434-bfae-4247-96f8-af1d769d7fcd/Spring/cli-unittest-az1?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:44:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:44:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:44:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:45:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:45:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:45:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:45:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:45:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:45:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:46:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:46:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:46:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:46:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:46:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:46:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:47:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:47:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:47:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:47:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:47:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Running","startTime":"2021-12-27T06:44:01.4946061Z"}' + headers: + cache-control: + - no-cache + content-length: + - '322' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:48:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/505b3434-bfae-4247-96f8-af1d769d7fcd","name":"505b3434-bfae-4247-96f8-af1d769d7fcd","status":"Succeeded","startTime":"2021-12-27T06:44:01.4946061Z","endTime":"2021-12-27T06:48:10.494792Z"}' + headers: + cache-control: + - no-cache + content-length: + - '364' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:48:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --disable-app-insights --zone-redundant + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-az1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":true,"version":3,"serviceId":"9b489d6aab2f41b78ec00271dc121bf1","networkProfile":{"outboundIPs":{"publicIPs":["20.47.147.227","20.47.148.58"]}},"powerState":"Running","fqdn":"cli-unittest-az1.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus2euap","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-az1","name":"cli-unittest-az1","systemData":{"createdBy":"wenhaozhang@microsoft.com","createdByType":"User","createdAt":"2021-12-27T06:44:00.1828217Z","lastModifiedBy":"wenhaozhang@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-27T06:44:00.1828217Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '794' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 27 Dec 2021 06:48:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --no-wait + User-Agent: + - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.60.1-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-az1?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/cli-unittest-az1/operationId/acf06d42-ef7d-46dd-a336-647ebc6068f6?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 27 Dec 2021 06:48:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationResults/acf06d42-ef7d-46dd-a336-647ebc6068f6/Spring/cli-unittest-az1?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - 8e6b41a3-9acb-4442-b76e-fa475a19a4b2 + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml index 719614cb397..56d24c1ae4c 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_bind_cert_to_domain.yaml @@ -1,972 +1,1908 @@ -interactions: -- request: - body: '{"properties": {"type": "KeyVaultCertificate", "vaultUri": "https://integration-test-prod.vault.azure.net/", - "keyVaultCertName": "cli-unittest", "excludePrivateKey": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate add - Connection: - - keep-alive - Content-Length: - - '173' - Content-Type: - - application/json - ParameterSetName: - - --name --vault-uri --vault-certificate-name -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2021-09-01-preview - response: - body: - string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"7fb4a84d12c042dcaf590a8d4a8d5c99","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"e1c623ea873cdc6a80f8682e0949c654fe2151db","issuer":"*.asc-test.net","expirationDate":"2022-02-24T04:52:26.000+00:00","activateDate":"2021-02-24T04:42:26.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' - headers: - cache-control: - - no-cache - content-length: - - '678' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:31 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate show - Connection: - - keep-alive - ParameterSetName: - - --name -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2021-09-01-preview - response: - body: - string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"7fb4a84d12c042dcaf590a8d4a8d5c99","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"e1c623ea873cdc6a80f8682e0949c654fe2151db","issuer":"*.asc-test.net","expirationDate":"2022-02-24T04:52:26.000+00:00","activateDate":"2021-02-24T04:42:26.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' - headers: - cache-control: - - no-cache - content-length: - - '678' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:34 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate list - Connection: - - keep-alive - ParameterSetName: - - -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates?api-version=2021-09-01-preview - response: - body: - string: '{"value":[{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"7fb4a84d12c042dcaf590a8d4a8d5c99","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"e1c623ea873cdc6a80f8682e0949c654fe2151db","issuer":"*.asc-test.net","expirationDate":"2022-02-24T04:52:26.000+00:00","activateDate":"2021-02-24T04:42:26.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}]}' - headers: - cache-control: - - no-cache - content-length: - - '690' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:37 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain bind - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2020-07-01 - response: - body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-21T03:05:36.403Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' - headers: - cache-control: - - no-cache - content-length: - - '551' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:40 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: '{"properties": {}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain bind - Connection: - - keep-alive - Content-Length: - - '18' - Content-Type: - - application/json - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2020-07-01 - response: - body: - string: '{"properties":{"appName":"test-app"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}' - headers: - cache-control: - - no-cache - content-length: - - '283' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:41 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1197' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain show - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2020-07-01 - response: - body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-21T03:05:36.403Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' - headers: - cache-control: - - no-cache - content-length: - - '551' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:43 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain show - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2020-07-01 - response: - body: - string: '{"properties":{"appName":"test-app"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}' - headers: - cache-control: - - no-cache - content-length: - - '283' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:44 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain list - Connection: - - keep-alive - ParameterSetName: - - --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2020-07-01 - response: - body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-21T03:05:36.403Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' - headers: - cache-control: - - no-cache - content-length: - - '551' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:47 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain list - Connection: - - keep-alive - ParameterSetName: - - --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains?api-version=2020-07-01 - response: - body: - string: '{"value":[{"properties":{"appName":"test-app"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}]}' - headers: - cache-control: - - no-cache - content-length: - - '295' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:47 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain update - Connection: - - keep-alive - ParameterSetName: - - --domain-name --certificate --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2020-07-01 - response: - body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-21T03:05:36.403Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' - headers: - cache-control: - - no-cache - content-length: - - '551' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:50 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain update - Connection: - - keep-alive - ParameterSetName: - - --domain-name --certificate --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2020-07-01 - response: - body: - string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"7fb4a84d12c042dcaf590a8d4a8d5c99","thumbprint":"e1c623ea873cdc6a80f8682e0949c654fe2151db","issuer":"*.asc-test.net","expirationDate":"2022-02-24T04:52:26.000+00:00","activateDate":"2021-02-24T04:42:26.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' - headers: - cache-control: - - no-cache - content-length: - - '623' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:50 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: '{"properties": {"thumbprint": "e1c623ea873cdc6a80f8682e0949c654fe2151db", - "certName": "test-cert"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain update - Connection: - - keep-alive - Content-Length: - - '99' - Content-Type: - - application/json - ParameterSetName: - - --domain-name --certificate --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2020-07-01 - response: - body: - string: '{"properties":{"thumbprint":"e1c623ea873cdc6a80f8682e0949c654fe2151db","appName":"test-app","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}' - headers: - cache-control: - - no-cache - content-length: - - '362' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:51 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1196' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain unbind - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2020-07-01 - response: - body: - string: '{"properties":{"thumbprint":"e1c623ea873cdc6a80f8682e0949c654fe2151db","appName":"test-app","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net","name":"cli.asc-test.net"}' - headers: - cache-control: - - no-cache - content-length: - - '362' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:52 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain unbind - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2020-07-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Thu, 21 Oct 2021 03:30:54 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain show - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2020-07-01 - response: - body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-21T03:05:36.403Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"}},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' - headers: - cache-control: - - no-cache - content-length: - - '551' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:57 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app custom-domain show - Connection: - - keep-alive - ParameterSetName: - - --domain-name --app -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/domains/cli.asc-test.net?api-version=2020-07-01 - response: - body: - string: '{"error":{"code":"EntityNotFound","message":"CustomDomain ''cli.asc-test.net'' - not found.","target":null,"details":null}}' - headers: - cache-control: - - no-cache - content-length: - - '119' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:30:57 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate remove - Connection: - - keep-alive - ParameterSetName: - - --name -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2021-09-01-preview - response: - body: - string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"7fb4a84d12c042dcaf590a8d4a8d5c99","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"e1c623ea873cdc6a80f8682e0949c654fe2151db","issuer":"*.asc-test.net","expirationDate":"2022-02-24T04:52:26.000+00:00","activateDate":"2021-02-24T04:42:26.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' - headers: - cache-control: - - no-cache - content-length: - - '678' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:31:00 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate remove - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2021-09-01-preview - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Thu, 21 Oct 2021 03:31:00 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud certificate show - Connection: - - keep-alive - ParameterSetName: - - --name -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2021-09-01-preview - response: - body: - string: '{"error":{"code":"EntityNotFound","message":"Certificate ''test-cert'' - not found.","target":null,"details":null}}' - headers: - cache-control: - - no-cache - content-length: - - '111' - content-type: - - application/json; charset=utf-8 - date: - - Thu, 21 Oct 2021 03:31:03 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-rp-server-mvid: - - 2a353e89-73a9-4f4f-af75-66a74612521b - status: - code: 404 - message: Not Found -version: 1 +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '771' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:00:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '232' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:00:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"001f4a930bfa4780ba1a552a647b4357","networkProfile":{"outboundIPs":{"publicIPs":["20.121.224.171","20.121.224.173"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T12:51:41.72193Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T12:51:41.72193Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '756' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:00:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"httpsOnly": false, "temporaryDisk": {"sizeInGB": 5, "mountPath": + "/tmp"}, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '119' + Content-Type: + - application/json + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:00:29.46556Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/522d5202-846c-4150-8062-94fb04a525a0?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '720' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:00:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/522d5202-846c-4150-8062-94fb04a525a0/Spring/test-custom-domain?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/522d5202-846c-4150-8062-94fb04a525a0?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/522d5202-846c-4150-8062-94fb04a525a0","name":"522d5202-846c-4150-8062-94fb04a525a0","status":"Succeeded","startTime":"2021-12-24T13:00:29.727524Z","endTime":"2021-12-24T13:00:35.876134Z"}' + headers: + cache-control: + - no-cache + content-length: + - '360' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:00:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:00:29.46556Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '814' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:01:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": ""}, + "deploymentSettings": {"resourceRequests": {"cpu": "1", "memory": "1Gi"}}, "active": + true}, "sku": {"name": "S0", "tier": "Standard", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '221' + Content-Type: + - application/json + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '831' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:01:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/fdbcdc7d-b698-4701-a772-c688d15f199b/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:08.7458462Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/2e91d801-0f51-4608-936a-fdb7182f84b1?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '815' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:01:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2e91d801-0f51-4608-936a-fdb7182f84b1/Spring/test-custom-domain?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b","name":"fdbcdc7d-b698-4701-a772-c688d15f199b","status":"Running","startTime":"2021-12-24T13:01:08.199268Z"}' + headers: + cache-control: + - no-cache + content-length: + - '307' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:01:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/2e91d801-0f51-4608-936a-fdb7182f84b1?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-custom-domain/operationId/2e91d801-0f51-4608-936a-fdb7182f84b1","name":"2e91d801-0f51-4608-936a-fdb7182f84b1","status":"Succeeded","startTime":"2021-12-24T13:01:09.0266356Z","endTime":"2021-12-24T13:01:15.6204335Z"}' + headers: + cache-control: + - no-cache + content-length: + - '362' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:01:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:08.7458462Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:01:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b","name":"fdbcdc7d-b698-4701-a772-c688d15f199b","status":"Running","startTime":"2021-12-24T13:01:08.199268Z"}' + headers: + cache-control: + - no-cache + content-length: + - '307' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:01:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b","name":"fdbcdc7d-b698-4701-a772-c688d15f199b","status":"Running","startTime":"2021-12-24T13:01:08.199268Z"}' + headers: + cache-control: + - no-cache + content-length: + - '307' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/fdbcdc7d-b698-4701-a772-c688d15f199b","name":"fdbcdc7d-b698-4701-a772-c688d15f199b","status":"Succeeded","startTime":"2021-12-24T13:01:08.199268Z","endTime":"2021-12-24T13:02:02.0378467Z"}' + headers: + cache-control: + - no-cache + content-length: + - '350' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '964' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain","name":"test-custom-domain","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:00:29.46556Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:08.7458462Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '816' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -s -g + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '976' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "KeyVaultCertificate", "vaultUri": "https://integration-test-prod.vault.azure.net/", + "keyVaultCertName": "cli-unittest", "excludePrivateKey": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate add + Connection: + - keep-alive + Content-Length: + - '173' + Content-Type: + - application/json + ParameterSetName: + - --name --vault-uri --vault-certificate-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '678' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '678' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}]}' + headers: + cache-control: + - no-cache + content-length: + - '690' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain bind + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '976' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: '{"properties": {}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain bind + Connection: + - keep-alive + Content-Length: + - '18' + Content-Type: + - application/json + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '976' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '303' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain list + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '976' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain list + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"appName":"test-custom-domain"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}]}' + headers: + cache-control: + - no-cache + content-length: + - '315' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '976' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '678' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"thumbprint": "ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d", + "certName": "test-cert"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain update + Connection: + - keep-alive + Content-Length: + - '99' + Content-Type: + - application/json + ParameterSetName: + - --domain-name --certificate --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","appName":"test-custom-domain","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '382' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '976' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","appName":"test-custom-domain","certName":"test-cert"},"type":"Microsoft.AppPlatform/Spring/apps/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net","name":"cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '382' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain unbind + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 13:02:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"appName":"test-custom-domain","deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-custom-domain-default-18-64d9dcbd6d-9jhvq","status":"Running","discoveryStatus":"UP","startTime":"2021-12-24T13:01:12Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/deployments/default","name":"default","systemData":{"createdBy":"yuwzho@microsoft.com","createdByType":"User","createdAt":"2021-12-24T13:01:05.2408263Z","lastModifiedBy":"yuwzho@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-24T13:01:05.2408263Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '976' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-custom-domain/domains/cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"EntityNotFound","message":"CustomDomain cli.asc-test.net + of test-custom-domain not found.","target":null,"details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '139' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net/","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert","name":"test-cert"}' + headers: + cache-control: + - no-cache + content-length: + - '678' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate remove + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 13:02:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.10.1 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/test-cert?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"EntityNotFound","message":"Certificate ''test-cert'' + not found.","target":null,"details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '111' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 13:02:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - d00a7ade-01dc-4bb6-8661-79966ede4763 + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml new file mode 100644 index 00000000000..79dc0348f39 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_blue_green_deployment.yaml @@ -0,0 +1,2090 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:38:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '233' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:38:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:38:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '136' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:38:50.0999871Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '730' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:38:50 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea/Spring/test-app-blue-green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea","name":"1a5f4c8c-0bf8-4ad0-9c93-fd915e7d12ea","status":"Succeeded","startTime":"2022-02-24T02:38:50.4949723Z","endTime":"2022-02-24T02:38:56.7301502Z"}' + headers: + cache-control: + - no-cache + content-length: + - '363' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:39:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:38:50.0999871Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '824' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:39:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '249' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:39:27 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/e8a551c8-af61-4edb-9bad-356ef8c36ace/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:28.6099548Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/76c97088-ac53-48dc-90a9-7fae2a87c923?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '823' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:39:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/76c97088-ac53-48dc-90a9-7fae2a87c923/Spring/test-app-blue-green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace","name":"e8a551c8-af61-4edb-9bad-356ef8c36ace","status":"Running","startTime":"2022-02-24T02:39:28.1620769Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:39:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/76c97088-ac53-48dc-90a9-7fae2a87c923?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/76c97088-ac53-48dc-90a9-7fae2a87c923","name":"76c97088-ac53-48dc-90a9-7fae2a87c923","status":"Succeeded","startTime":"2022-02-24T02:39:28.9109493Z","endTime":"2022-02-24T02:39:35.7846941Z"}' + headers: + cache-control: + - no-cache + content-length: + - '363' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:39:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:28.6099548Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '824' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace","name":"e8a551c8-af61-4edb-9bad-356ef8c36ace","status":"Running","startTime":"2022-02-24T02:39:28.1620769Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/e8a551c8-af61-4edb-9bad-356ef8c36ace","name":"e8a551c8-af61-4edb-9bad-356ef8c36ace","status":"Succeeded","startTime":"2022-02-24T02:39:28.1620769Z","endTime":"2022-02-24T02:40:11.5657573Z"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '939' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:28.6099548Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '824' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11995' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}}, "sku": {"name": "S0", "tier": "Standard", "capacity": + 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + Content-Length: + - '233' + Content-Type: + - application/json + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:40:35.009063Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:40:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/648b577f-aa3b-46a5-a179-484efb8aa20b/Spring/green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b","name":"648b577f-aa3b-46a5-a179-484efb8aa20b","status":"Running","startTime":"2022-02-24T02:40:37.4458306Z"}' + headers: + cache-control: + - no-cache + content-length: + - '306' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:41:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/green/operationId/648b577f-aa3b-46a5-a179-484efb8aa20b","name":"648b577f-aa3b-46a5-a179-484efb8aa20b","status":"Succeeded","startTime":"2022-02-24T02:40:37.4458306Z","endTime":"2022-02-24T02:41:11.1767223Z"}' + headers: + cache-control: + - no-cache + content-length: + - '349' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:41:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment create + Connection: + - keep-alive + ParameterSetName: + - --app -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:40:35.009063Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '944' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:41:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment list + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:39:26.0449815Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:40:35.009063Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1896' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:41:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app set-deployment + Connection: + - keep-alive + ParameterSetName: + - -d -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:40:35.009063Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '944' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:41:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"activeDeploymentNames": ["green"]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app set-deployment + Connection: + - keep-alive + Content-Length: + - '36' + Content-Type: + - application/json + ParameterSetName: + - -d -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/setActiveDeployments?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/31975018-4cbb-40d7-8507-e3041e355a00?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '822' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:41:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/31975018-4cbb-40d7-8507-e3041e355a00/Spring/test-app-blue-green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app set-deployment + Connection: + - keep-alive + ParameterSetName: + - -d -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/31975018-4cbb-40d7-8507-e3041e355a00?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/31975018-4cbb-40d7-8507-e3041e355a00","name":"31975018-4cbb-40d7-8507-e3041e355a00","status":"Succeeded","startTime":"2022-02-24T02:41:29.0120949Z","endTime":"2022-02-24T02:41:35.7518845Z"}' + headers: + cache-control: + - no-cache + content-length: + - '363' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:41:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app show + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '823' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app show + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1895' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '931' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app unset-deployment + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}},{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1895' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"activeDeploymentNames": []}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app unset-deployment + Connection: + - keep-alive + Content-Length: + - '29' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/setActiveDeployments?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:42:14.2098019Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/2e4a3e7f-1b98-4830-a3e0-631d346bf5f7?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '823' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2e4a3e7f-1b98-4830-a3e0-631d346bf5f7/Spring/test-app-blue-green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app unset-deployment + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/2e4a3e7f-1b98-4830-a3e0-631d346bf5f7?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/2e4a3e7f-1b98-4830-a3e0-631d346bf5f7","name":"2e4a3e7f-1b98-4830-a3e0-631d346bf5f7","status":"Succeeded","startTime":"2022-02-24T02:42:14.6169467Z","endTime":"2022-02-24T02:42:22.258769Z"}' + headers: + cache-control: + - no-cache + content-length: + - '362' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-default-19-686d78cb86-b4tgw","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:39:29Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:39:26.0449815Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:41:27.350512Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '951' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":false,"instances":[{"name":"test-app-blue-green-green-19-77d97c8889-tctcp","status":"Running","discoveryStatus":"OUT_OF_SERVICE","startTime":"2022-02-24T02:40:39Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green/deployments/green","name":"green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:40:35.009063Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:42:14.2098019Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '945' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green","name":"test-app-blue-green","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:38:50.0999871Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:42:14.2098019Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '824' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:42:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-blue-green?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/3882e969-8cc1-48d2-831a-db8b82936300?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 24 Feb 2022 02:42:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/3882e969-8cc1-48d2-831a-db8b82936300/Spring/test-app-blue-green?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app delete + Connection: + - keep-alive + ParameterSetName: + - -n -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/3882e969-8cc1-48d2-831a-db8b82936300?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-blue-green/operationId/3882e969-8cc1-48d2-831a-db8b82936300","name":"3882e969-8cc1-48d2-831a-db8b82936300","status":"Succeeded","startTime":"2022-02-24T02:42:56.1323953Z","endTime":"2022-02-24T02:43:03.839824Z"}' + headers: + cache-control: + - no-cache + content-length: + - '362' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:43:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_buildpack_binding.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_buildpack_binding.yaml new file mode 100644 index 00000000000..66d79c7644c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_buildpack_binding.yaml @@ -0,0 +1,1487 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ed7caa979562408889414f01aa59e5de","networkProfile":{"outboundIPs":{"publicIPs":["20.120.66.58","20.120.66.69"]}},"powerState":"Running","fqdn":"test-buildpack-binding.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding","name":"test-buildpack-binding","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:10:06.9913584Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:10:06.9913584Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:54:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"KPack buildpacksBinding does + not exist","target":"default/test-binding-name","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '132' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:54:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"bindingType": "ApplicationInsights", "launchProperties": + {"properties": {"a": "b", "b": "c"}, "secrets": {"x": "y", "y": "z"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + Content-Length: + - '145' + Content-Type: + - application/json + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Creating","bindingType":"ApplicationInsights","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name","name":"test-binding-name","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:54:46.3402505Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:54:46.3402505Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/a0d1278d-55bc-47d2-9ace-7142e6bf8d78?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '726' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:54:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationResults/a0d1278d-55bc-47d2-9ace-7142e6bf8d78/Spring/test-buildpack-binding?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/a0d1278d-55bc-47d2-9ace-7142e6bf8d78?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/a0d1278d-55bc-47d2-9ace-7142e6bf8d78","name":"a0d1278d-55bc-47d2-9ace-7142e6bf8d78","status":"Succeeded","startTime":"2022-01-07T11:54:50.4769869Z","endTime":"2022-01-07T11:54:57.4899293Z"}' + headers: + cache-control: + - no-cache + content-length: + - '378' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:55:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","bindingType":"ApplicationInsights","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name","name":"test-binding-name","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:54:46.3402505Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:54:46.3402505Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '727' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:55:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ed7caa979562408889414f01aa59e5de","networkProfile":{"outboundIPs":{"publicIPs":["20.120.66.58","20.120.66.69"]}},"powerState":"Running","fqdn":"test-buildpack-binding.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding","name":"test-buildpack-binding","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:10:06.9913584Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:10:06.9913584Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:55:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","bindingType":"ApplicationInsights","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name","name":"test-binding-name","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:54:46.3402505Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:54:46.3402505Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '727' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:55:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","bindingType":"ApplicationInsights","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name","name":"test-binding-name","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:54:46.3402505Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:54:46.3402505Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '727' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:55:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding set + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ed7caa979562408889414f01aa59e5de","networkProfile":{"outboundIPs":{"publicIPs":["20.120.66.58","20.120.66.69"]}},"powerState":"Running","fqdn":"test-buildpack-binding.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding","name":"test-buildpack-binding","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:10:06.9913584Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:10:06.9913584Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:55:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding set + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","bindingType":"ApplicationInsights","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name","name":"test-binding-name","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:54:46.3402505Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:54:46.3402505Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '727' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:55:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"bindingType": "NewRelic", "launchProperties": {"properties": + {"a": "b"}, "secrets": {"c": "d"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding set + Connection: + - keep-alive + Content-Length: + - '114' + Content-Type: + - application/json + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Updating","bindingType":"NewRelic","launchProperties":{"properties":{"a":"b"},"secrets":{"c":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name","name":"test-binding-name","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:54:46.3402505Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:55:36.0622673Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/a6bdf74b-39a8-425e-9cdc-11c4ba49143b?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '699' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:55:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationResults/a6bdf74b-39a8-425e-9cdc-11c4ba49143b/Spring/test-buildpack-binding?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding set + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/a6bdf74b-39a8-425e-9cdc-11c4ba49143b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/a6bdf74b-39a8-425e-9cdc-11c4ba49143b","name":"a6bdf74b-39a8-425e-9cdc-11c4ba49143b","status":"Succeeded","startTime":"2022-01-07T11:55:40.4735174Z","endTime":"2022-01-07T11:55:50.4056357Z"}' + headers: + cache-control: + - no-cache + content-length: + - '378' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:56:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding set + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","bindingType":"NewRelic","launchProperties":{"properties":{"a":"b"},"secrets":{"c":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name","name":"test-binding-name","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:54:46.3402505Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:55:36.0622673Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '700' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:56:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding delete + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ed7caa979562408889414f01aa59e5de","networkProfile":{"outboundIPs":{"publicIPs":["20.120.66.58","20.120.66.69"]}},"powerState":"Running","fqdn":"test-buildpack-binding.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding","name":"test-buildpack-binding","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:10:06.9913584Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:10:06.9913584Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:56:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding delete + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","bindingType":"NewRelic","launchProperties":{"properties":{"a":"b"},"secrets":{"c":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name","name":"test-binding-name","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:54:46.3402505Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:55:36.0622673Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '700' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:56:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/8cc21ac2-d90c-4a5c-a985-18bfe7faccba?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 Jan 2022 11:56:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationResults/8cc21ac2-d90c-4a5c-a985-18bfe7faccba/Spring/test-buildpack-binding?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding delete + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/8cc21ac2-d90c-4a5c-a985-18bfe7faccba?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/8cc21ac2-d90c-4a5c-a985-18bfe7faccba","name":"8cc21ac2-d90c-4a5c-a985-18bfe7faccba","status":"Succeeded","startTime":"2022-01-07T11:56:23.4616931Z","endTime":"2022-01-07T11:56:30.3724245Z"}' + headers: + cache-control: + - no-cache + content-length: + - '378' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:56:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ed7caa979562408889414f01aa59e5de","networkProfile":{"outboundIPs":{"publicIPs":["20.120.66.58","20.120.66.69"]}},"powerState":"Running","fqdn":"test-buildpack-binding.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding","name":"test-buildpack-binding","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:10:06.9913584Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:10:06.9913584Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:56:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-0?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"KPack buildpacksBinding does + not exist","target":"default/test-binding-name-0","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:56:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"bindingType": "ApplicationInsights", "launchProperties": + {"properties": {"a": "b", "b": "c"}, "secrets": {"x": "y", "y": "z"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + Content-Length: + - '145' + Content-Type: + - application/json + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-0?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Creating","bindingType":"ApplicationInsights","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-0","name":"test-binding-name-0","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:56:58.77283Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:56:58.77283Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/af0e6ea7-6203-49b0-a78e-7ba9e78ccdbf?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '726' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:57:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationResults/af0e6ea7-6203-49b0-a78e-7ba9e78ccdbf/Spring/test-buildpack-binding?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/af0e6ea7-6203-49b0-a78e-7ba9e78ccdbf?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/af0e6ea7-6203-49b0-a78e-7ba9e78ccdbf","name":"af0e6ea7-6203-49b0-a78e-7ba9e78ccdbf","status":"Succeeded","startTime":"2022-01-07T11:57:01.45146Z","endTime":"2022-01-07T11:57:09.5464218Z"}' + headers: + cache-control: + - no-cache + content-length: + - '376' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:57:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-0?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","bindingType":"ApplicationInsights","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-0","name":"test-binding-name-0","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:56:58.77283Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:56:58.77283Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '727' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:57:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ed7caa979562408889414f01aa59e5de","networkProfile":{"outboundIPs":{"publicIPs":["20.120.66.58","20.120.66.69"]}},"powerState":"Running","fqdn":"test-buildpack-binding.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding","name":"test-buildpack-binding","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:10:06.9913584Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:10:06.9913584Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:57:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-1?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"KPack buildpacksBinding does + not exist","target":"default/test-binding-name-1","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:57:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 404 + message: Not Found +- request: + body: '{"properties": {"bindingType": "NewRelic", "launchProperties": {"properties": + {"a": "b", "b": "c"}, "secrets": {"x": "y", "y": "z"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + Content-Length: + - '134' + Content-Type: + - application/json + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Creating","bindingType":"NewRelic","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-1","name":"test-binding-name-1","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:57:39.2402412Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:57:39.2402412Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/72f81f61-7e9d-446e-aef4-79a5f07d6546?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '719' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:57:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationResults/72f81f61-7e9d-446e-aef4-79a5f07d6546/Spring/test-buildpack-binding?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/72f81f61-7e9d-446e-aef4-79a5f07d6546?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-buildpack-binding/operationId/72f81f61-7e9d-446e-aef4-79a5f07d6546","name":"72f81f61-7e9d-446e-aef4-79a5f07d6546","status":"Succeeded","startTime":"2022-01-07T11:57:43.2250279Z","endTime":"2022-01-07T11:57:50.9028007Z"}' + headers: + cache-control: + - no-cache + content-length: + - '378' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:58:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding create + Connection: + - keep-alive + ParameterSetName: + - --name --type --properties --secrets -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","bindingType":"NewRelic","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-1","name":"test-binding-name-1","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:57:39.2402412Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:57:39.2402412Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '720' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:58:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ed7caa979562408889414f01aa59e5de","networkProfile":{"outboundIPs":{"publicIPs":["20.120.66.58","20.120.66.69"]}},"powerState":"Running","fqdn":"test-buildpack-binding.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding","name":"test-buildpack-binding","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:10:06.9913584Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:10:06.9913584Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '800' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:58:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud build-service builder buildpack-binding list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.9 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"provisioningState":"Succeeded","bindingType":"ApplicationInsights","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-0","name":"test-binding-name-0","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:56:58.77283Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:56:58.77283Z"}},{"properties":{"provisioningState":"Succeeded","bindingType":"NewRelic","launchProperties":{"properties":{"a":"b","b":"c"},"secrets":{"x":"*","y":"*"}}},"type":"Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/enterprise-test/providers/Microsoft.AppPlatform/Spring/test-buildpack-binding/buildServices/default/builders/default/buildpackBindings/test-binding-name-1","name":"test-binding-name-1","systemData":{"createdBy":"panli@microsoft.com","createdByType":"User","createdAt":"2022-01-07T11:57:39.2402412Z","lastModifiedBy":"panli@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-07T11:57:39.2402412Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1460' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 07 Jan 2022 11:58:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 8aeaf7a0-9097-4412-a5ee-7737152dd344 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_heavy_cases.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_heavy_cases.yaml index e4859b655e0..28738e0d28d 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_heavy_cases.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_heavy_cases.yaml @@ -75,13 +75,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"6c216a7c0bb34900ba440bfe64c81be8"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1","name":"cli-unittest-1"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -93,7 +93,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/3d07b6f7-c0cb-40e2-9614-21b21182503f/Spring/cli-unittest-1?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/3d07b6f7-c0cb-40e2-9614-21b21182503f/Spring/cli-unittest-1?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -127,7 +127,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -177,7 +177,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -227,7 +227,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -277,7 +277,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -327,7 +327,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -377,7 +377,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -427,7 +427,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -477,7 +477,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -527,7 +527,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -577,7 +577,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -627,7 +627,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -677,7 +677,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -727,7 +727,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -777,7 +777,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -827,7 +827,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -877,7 +877,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -927,7 +927,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -977,7 +977,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1027,7 +1027,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1077,7 +1077,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1127,7 +1127,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1177,7 +1177,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1227,7 +1227,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1277,7 +1277,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1327,7 +1327,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1377,7 +1377,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Running","startTime":"2021-09-06T05:35:58.2102186Z"}' @@ -1427,7 +1427,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3d07b6f7-c0cb-40e2-9614-21b21182503f","name":"3d07b6f7-c0cb-40e2-9614-21b21182503f","status":"Succeeded","startTime":"2021-09-06T05:35:58.2102186Z","endTime":"2021-09-06T05:40:52.1198611Z"}' @@ -1477,7 +1477,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"6c216a7c0bb34900ba440bfe64c81be8","networkProfile":{"outboundIPs":{"publicIPs":["20.81.127.86"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1","name":"cli-unittest-1"}' @@ -1639,7 +1639,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"6c216a7c0bb34900ba440bfe64c81be8","networkProfile":{"outboundIPs":{"publicIPs":["20.81.127.86"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1","name":"cli-unittest-1"}' @@ -1793,13 +1793,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/1ec9e396-70ff-4e0f-9dc8-cdd644c3428b?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/1ec9e396-70ff-4e0f-9dc8-cdd644c3428b?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -1809,7 +1809,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1ec9e396-70ff-4e0f-9dc8-cdd644c3428b/Spring/cli-unittest-1?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1ec9e396-70ff-4e0f-9dc8-cdd644c3428b/Spring/cli-unittest-1?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1848,13 +1848,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"3532eeee0efc41d49fc2a611eab09283"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2","name":"cli-unittest-2"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -1866,7 +1866,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0d11fd57-d84e-470a-b028-5e16db68b560/Spring/cli-unittest-2?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0d11fd57-d84e-470a-b028-5e16db68b560/Spring/cli-unittest-2?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1900,7 +1900,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -1950,7 +1950,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2000,7 +2000,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2050,7 +2050,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2100,7 +2100,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2150,7 +2150,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2200,7 +2200,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2250,7 +2250,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2300,7 +2300,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2350,7 +2350,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2400,7 +2400,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2450,7 +2450,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2500,7 +2500,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2550,7 +2550,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2600,7 +2600,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2650,7 +2650,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2700,7 +2700,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2750,7 +2750,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2800,7 +2800,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2850,7 +2850,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2900,7 +2900,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -2950,7 +2950,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -3000,7 +3000,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -3050,7 +3050,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -3100,7 +3100,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Running","startTime":"2021-09-06T05:41:13.9372975Z"}' @@ -3150,7 +3150,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/0d11fd57-d84e-470a-b028-5e16db68b560","name":"0d11fd57-d84e-470a-b028-5e16db68b560","status":"Succeeded","startTime":"2021-09-06T05:41:13.9372975Z","endTime":"2021-09-06T05:45:59.36111Z"}' @@ -3200,7 +3200,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"3532eeee0efc41d49fc2a611eab09283","networkProfile":{"outboundIPs":{"publicIPs":["52.151.210.168"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2","name":"cli-unittest-2"}' @@ -3363,7 +3363,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"3532eeee0efc41d49fc2a611eab09283","networkProfile":{"outboundIPs":{"publicIPs":["52.151.210.168"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2","name":"cli-unittest-2"}' @@ -3517,13 +3517,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-2?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/42aaf0a0-5139-4521-8fda-2328dd912366?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-2/operationId/42aaf0a0-5139-4521-8fda-2328dd912366?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -3533,7 +3533,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/42aaf0a0-5139-4521-8fda-2328dd912366/Spring/cli-unittest-2?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/42aaf0a0-5139-4521-8fda-2328dd912366/Spring/cli-unittest-2?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -3572,13 +3572,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"3b5aeec8f3aa47719fe6df9f33a32367"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3","name":"cli-unittest-3"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -3590,7 +3590,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/8ebf2394-2983-414f-8092-290dcaa59693/Spring/cli-unittest-3?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/8ebf2394-2983-414f-8092-290dcaa59693/Spring/cli-unittest-3?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -3624,7 +3624,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -3674,7 +3674,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -3724,7 +3724,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -3774,7 +3774,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -3824,7 +3824,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -3874,7 +3874,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -3924,7 +3924,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -3974,7 +3974,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4024,7 +4024,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4074,7 +4074,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4124,7 +4124,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4174,7 +4174,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4224,7 +4224,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4274,7 +4274,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4324,7 +4324,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4374,7 +4374,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4424,7 +4424,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4474,7 +4474,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4524,7 +4524,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4574,7 +4574,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4624,7 +4624,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4674,7 +4674,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4724,7 +4724,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4774,7 +4774,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4824,7 +4824,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4874,7 +4874,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4924,7 +4924,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -4974,7 +4974,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Running","startTime":"2021-09-06T05:46:23.2773726Z"}' @@ -5024,7 +5024,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/8ebf2394-2983-414f-8092-290dcaa59693","name":"8ebf2394-2983-414f-8092-290dcaa59693","status":"Succeeded","startTime":"2021-09-06T05:46:23.2773726Z","endTime":"2021-09-06T05:51:37.8757692Z"}' @@ -5074,7 +5074,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"3b5aeec8f3aa47719fe6df9f33a32367","networkProfile":{"outboundIPs":{"publicIPs":["52.151.214.131"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3","name":"cli-unittest-3"}' @@ -5183,7 +5183,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"3b5aeec8f3aa47719fe6df9f33a32367","networkProfile":{"outboundIPs":{"publicIPs":["52.151.214.131"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3","name":"cli-unittest-3"}' @@ -5337,13 +5337,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-3?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/0ec14a4f-d3f1-47e9-ba21-44d5e2858ef6?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-3/operationId/0ec14a4f-d3f1-47e9-ba21-44d5e2858ef6?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -5353,7 +5353,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0ec14a4f-d3f1-47e9-ba21-44d5e2858ef6/Spring/cli-unittest-3?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/0ec14a4f-d3f1-47e9-ba21-44d5e2858ef6/Spring/cli-unittest-3?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -5392,13 +5392,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"617a4387b43d41df8a8c4002397d0fa9"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4","name":"cli-unittest-4"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -5410,7 +5410,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1bd0c13d-bdc0-42c1-b260-000e2abc2929/Spring/cli-unittest-4?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1bd0c13d-bdc0-42c1-b260-000e2abc2929/Spring/cli-unittest-4?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -5444,7 +5444,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5494,7 +5494,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5544,7 +5544,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5594,7 +5594,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5644,7 +5644,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5694,7 +5694,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5744,7 +5744,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5794,7 +5794,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5844,7 +5844,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5894,7 +5894,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5944,7 +5944,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -5994,7 +5994,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6044,7 +6044,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6094,7 +6094,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6144,7 +6144,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6194,7 +6194,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6244,7 +6244,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6294,7 +6294,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6344,7 +6344,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6394,7 +6394,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6444,7 +6444,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6494,7 +6494,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6544,7 +6544,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6594,7 +6594,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6644,7 +6644,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6694,7 +6694,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Running","startTime":"2021-09-06T05:51:56.6047815Z"}' @@ -6744,7 +6744,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/1bd0c13d-bdc0-42c1-b260-000e2abc2929","name":"1bd0c13d-bdc0-42c1-b260-000e2abc2929","status":"Succeeded","startTime":"2021-09-06T05:51:56.6047815Z","endTime":"2021-09-06T05:56:49.137892Z"}' @@ -6794,7 +6794,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"617a4387b43d41df8a8c4002397d0fa9","networkProfile":{"outboundIPs":{"publicIPs":["20.72.174.75"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4","name":"cli-unittest-4"}' @@ -6904,7 +6904,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"617a4387b43d41df8a8c4002397d0fa9","networkProfile":{"outboundIPs":{"publicIPs":["20.72.174.75"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4","name":"cli-unittest-4"}' @@ -7058,13 +7058,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-4?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/6aa43528-e7d0-4f1b-b6f7-df840df5e349?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-4/operationId/6aa43528-e7d0-4f1b-b6f7-df840df5e349?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -7074,7 +7074,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/6aa43528-e7d0-4f1b-b6f7-df840df5e349/Spring/cli-unittest-4?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/6aa43528-e7d0-4f1b-b6f7-df840df5e349/Spring/cli-unittest-4?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -7113,13 +7113,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"038bef22fc7b4a42ae6d9820396a9885"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5","name":"cli-unittest-5"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -7131,7 +7131,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f/Spring/cli-unittest-5?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f/Spring/cli-unittest-5?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -7165,7 +7165,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7215,7 +7215,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7265,7 +7265,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7315,7 +7315,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7365,7 +7365,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7415,7 +7415,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7465,7 +7465,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7515,7 +7515,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7565,7 +7565,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7615,7 +7615,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7665,7 +7665,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7715,7 +7715,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7765,7 +7765,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7815,7 +7815,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7865,7 +7865,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7915,7 +7915,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -7965,7 +7965,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -8015,7 +8015,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -8065,7 +8065,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -8115,7 +8115,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -8165,7 +8165,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -8215,7 +8215,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -8265,7 +8265,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -8315,7 +8315,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Running","startTime":"2021-09-06T05:57:11.1160352Z"}' @@ -8365,7 +8365,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-5/operationId/bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","name":"bc9f0b84-23e2-46d9-ae5b-f8fb6971907f","status":"Succeeded","startTime":"2021-09-06T05:57:11.1160352Z","endTime":"2021-09-06T06:01:45.7765334Z"}' @@ -8415,7 +8415,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"038bef22fc7b4a42ae6d9820396a9885","networkProfile":{"outboundIPs":{"publicIPs":["104.45.172.83"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5","name":"cli-unittest-5"}' @@ -8525,7 +8525,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"038bef22fc7b4a42ae6d9820396a9885","networkProfile":{"outboundIPs":{"publicIPs":["104.45.172.83"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-5","name":"cli-unittest-5"}' diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_with_ai_basic_case.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_with_ai_basic_case.yaml index fa760dd87bb..ee4a6faf85f 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_with_ai_basic_case.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_with_ai_basic_case.yaml @@ -20,13 +20,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"6340c883c696442b94e8cb6ff7abd45b"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10","name":"cli-unittest-10"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1e5d7693-53c1-4c6d-970a-53b1afae9bf2/Spring/cli-unittest-10?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/1e5d7693-53c1-4c6d-970a-53b1afae9bf2/Spring/cli-unittest-10?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -72,7 +72,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -122,7 +122,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -172,7 +172,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -222,7 +222,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -272,7 +272,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -322,7 +322,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -372,7 +372,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -422,7 +422,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -472,7 +472,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -522,7 +522,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -572,7 +572,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -622,7 +622,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -672,7 +672,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -722,7 +722,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -772,7 +772,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -822,7 +822,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -872,7 +872,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -922,7 +922,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -972,7 +972,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -1022,7 +1022,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -1072,7 +1072,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -1122,7 +1122,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -1172,7 +1172,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -1222,7 +1222,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -1272,7 +1272,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -1322,7 +1322,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Running","startTime":"2021-09-05T16:07:23.6166334Z"}' @@ -1372,7 +1372,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/1e5d7693-53c1-4c6d-970a-53b1afae9bf2","name":"1e5d7693-53c1-4c6d-970a-53b1afae9bf2","status":"Succeeded","startTime":"2021-09-05T16:07:23.6166334Z","endTime":"2021-09-05T16:12:22.515392Z"}' @@ -1422,7 +1422,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"6340c883c696442b94e8cb6ff7abd45b","networkProfile":{"outboundIPs":{"publicIPs":["52.190.37.142"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10","name":"cli-unittest-10"}' @@ -1591,7 +1591,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"6340c883c696442b94e8cb6ff7abd45b","networkProfile":{"outboundIPs":{"publicIPs":["52.190.37.142"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10","name":"cli-unittest-10"}' @@ -1695,13 +1695,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-10?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/4f285408-b0e4-4e01-8c71-0464925a70df?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-10/operationId/4f285408-b0e4-4e01-8c71-0464925a70df?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -1711,7 +1711,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/4f285408-b0e4-4e01-8c71-0464925a70df/Spring/cli-unittest-10?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/4f285408-b0e4-4e01-8c71-0464925a70df/Spring/cli-unittest-10?api-version=2022-01-01-preview pragma: - no-cache request-context: diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_without_ai_cases.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_without_ai_cases.yaml index 39d7b91be7c..6ff4d1ac7e2 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_without_ai_cases.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_create_asc_without_ai_cases.yaml @@ -20,13 +20,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"b3c17ee3f0f0464cb5b7c597775379ca"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1","name":"cli-unittest-1"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -38,7 +38,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/c21feaab-fcbf-466c-90af-33b467956e32/Spring/cli-unittest-1?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/c21feaab-fcbf-466c-90af-33b467956e32/Spring/cli-unittest-1?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -72,7 +72,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -122,7 +122,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -172,7 +172,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -222,7 +222,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -272,7 +272,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -322,7 +322,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -372,7 +372,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -422,7 +422,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -472,7 +472,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -522,7 +522,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -572,7 +572,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -622,7 +622,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -672,7 +672,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -722,7 +722,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -772,7 +772,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -822,7 +822,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -872,7 +872,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -922,7 +922,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -972,7 +972,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1022,7 +1022,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1072,7 +1072,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1122,7 +1122,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1172,7 +1172,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1222,7 +1222,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1272,7 +1272,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1322,7 +1322,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1372,7 +1372,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1422,7 +1422,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1472,7 +1472,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Running","startTime":"2021-09-06T06:07:56.5917602Z"}' @@ -1522,7 +1522,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/c21feaab-fcbf-466c-90af-33b467956e32","name":"c21feaab-fcbf-466c-90af-33b467956e32","status":"Succeeded","startTime":"2021-09-06T06:07:56.5917602Z","endTime":"2021-09-06T06:13:21.8382746Z"}' @@ -1572,7 +1572,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"b3c17ee3f0f0464cb5b7c597775379ca","networkProfile":{"outboundIPs":{"publicIPs":["104.45.173.12"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1","name":"cli-unittest-1"}' @@ -1624,7 +1624,7 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"b3c17ee3f0f0464cb5b7c597775379ca","networkProfile":{"outboundIPs":{"publicIPs":["104.45.173.12"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"B0","tier":"Basic"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1","name":"cli-unittest-1"}' @@ -1728,13 +1728,13 @@ interactions: User-Agent: - AZURECLI/2.27.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest-1?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3f9f1f91-c4d3-4d91-b93c-78db63409850?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest-1/operationId/3f9f1f91-c4d3-4d91-b93c-78db63409850?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -1744,7 +1744,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/3f9f1f91-c4d3-4d91-b93c-78db63409850/Spring/cli-unittest-1?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/3f9f1f91-c4d3-4d91-b93c-78db63409850/Spring/cli-unittest-1?api-version=2022-01-01-preview pragma: - no-cache request-context: diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_deploy_app.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_deploy_app.yaml new file mode 100644 index 00000000000..0a0d461bc4b --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_deploy_app.yaml @@ -0,0 +1,4073 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:30:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '220' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:30:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:30:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '136' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:14.2140152Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/d462cfb2-d185-4ecf-a14c-478033c1c794?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '704' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:30:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/d462cfb2-d185-4ecf-a14c-478033c1c794/Spring/deploy?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/d462cfb2-d185-4ecf-a14c-478033c1c794?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/d462cfb2-d185-4ecf-a14c-478033c1c794","name":"d462cfb2-d185-4ecf-a14c-478033c1c794","status":"Succeeded","startTime":"2022-02-24T02:30:14.9223503Z","endTime":"2022-02-24T02:30:21.2442361Z"}' + headers: + cache-control: + - no-cache + content-length: + - '350' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:30:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:14.2140152Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '798' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:30:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_11"}, "deploymentSettings": {"resourceRequests": {"cpu": + "2", "memory": "1Gi"}, "environmentVariables": {"foo": "bar"}}, "active": true}, + "sku": {"name": "S0", "tier": "Standard", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '290' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:51.0841464Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '802' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:30:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/edc3de15-5e31-4e52-abd0-cac8e25c3282/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 201 + message: Created +- request: + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + Content-Length: + - '81' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:54.079156Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/134f3f7b-02ac-4dbe-be8b-48084e1b1a48?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '796' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:30:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/134f3f7b-02ac-4dbe-be8b-48084e1b1a48/Spring/deploy?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282","name":"edc3de15-5e31-4e52-abd0-cac8e25c3282","status":"Running","startTime":"2022-02-24T02:30:53.2592656Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/134f3f7b-02ac-4dbe-be8b-48084e1b1a48?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/134f3f7b-02ac-4dbe-be8b-48084e1b1a48","name":"134f3f7b-02ac-4dbe-be8b-48084e1b1a48","status":"Succeeded","startTime":"2022-02-24T02:30:54.5428847Z","endTime":"2022-02-24T02:31:00.8195263Z"}' + headers: + cache-control: + - no-cache + content-length: + - '350' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:54.079156Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '797' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282","name":"edc3de15-5e31-4e52-abd0-cac8e25c3282","status":"Running","startTime":"2022-02-24T02:30:53.2592656Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/edc3de15-5e31-4e52-abd0-cac8e25c3282","name":"edc3de15-5e31-4e52-abd0-cac8e25c3282","status":"Succeeded","startTime":"2022-02-24T02:30:53.2592656Z","endTime":"2022-02-24T02:31:40.6739678Z"}' + headers: + cache-control: + - no-cache + content-length: + - '351' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-76cfcc6c86-mnxdk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:31:02Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:51.0841464Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '922' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:54.079156Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '797' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app create + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --cpu --env --runtime-version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-76cfcc6c86-mnxdk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:31:02Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:51.0841464Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '934' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"deploy-default-6-76cfcc6c86-mnxdk","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T02:31:02Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:30:51.0841464Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '934' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:31:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-01-01-preview + response: + body: + string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","uploadUrl":"https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759?sv=2018-03-28&sr=f&sig=A7ZC9Lpd%2B7YSGPR4orRaVXEwHoZHa%2BN3BSN9BR5aTzs%3D&se=2022-02-24T04%3A32%3A01Z&sp=w"}' + headers: + cache-control: + - no-cache + content-length: + - '473' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:32:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + x-ms-content-length: + - '11' + x-ms-date: + - Thu, 24 Feb 2022 02:32:01 GMT + x-ms-file-attributes: + - Archive + x-ms-file-creation-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-last-write-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759?sv=2018-03-28&sr=f&sig=A7ZC9Lpd%2B7YSGPR4orRaVXEwHoZHa%2BN3BSN9BR5aTzs%3D&se=2022-02-24T04%3A32%3A01Z&sp=w + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 24 Feb 2022 02:32:03 GMT + etag: + - '"0x8D9F73DD6CFB118"' + last-modified: + - Thu, 24 Feb 2022 02:32:01 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-creation-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-id: + - '11529338191370780672' + x-ms-file-last-write-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 9303792710474857772*3007663947317056930 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: "fake-text\r\n" + headers: + Connection: + - keep-alive + Content-Length: + - '11' + User-Agent: + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + x-ms-date: + - Thu, 24 Feb 2022 02:32:03 GMT + x-ms-range: + - bytes=0-10 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759?comp=range&sv=2018-03-28&sr=f&sig=A7ZC9Lpd%2B7YSGPR4orRaVXEwHoZHa%2BN3BSN9BR5aTzs%3D&se=2022-02-24T04%3A32%3A01Z&sp=w + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - 99EB7GGDEcq+ZSyODG3erA== + date: + - Thu, 24 Feb 2022 02:32:03 GMT + etag: + - '"0x8D9F73DD8151936"' + last-modified: + - Thu, 24 Feb 2022 02:32:03 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: '{"properties": {"source": {"type": "Jar", "version": "v1", "relativePath": + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759", + "runtimeVersion": "Java_11"}, "deploymentSettings": {}}, "sku": {"name": "S0", + "tier": "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '300' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:32:04.3444358Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '930' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:32:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/a5b7cff1-786c-4cef-a288-88bafbb7b00b/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b","name":"a5b7cff1-786c-4cef-a288-88bafbb7b00b","status":"Running","startTime":"2022-02-24T02:32:06.6282563Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:32:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b","name":"a5b7cff1-786c-4cef-a288-88bafbb7b00b","status":"Running","startTime":"2022-02-24T02:32:06.6282563Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:32:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b","name":"a5b7cff1-786c-4cef-a288-88bafbb7b00b","status":"Running","startTime":"2022-02-24T02:32:06.6282563Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/a5b7cff1-786c-4cef-a288-88bafbb7b00b","name":"a5b7cff1-786c-4cef-a288-88bafbb7b00b","status":"Failed","startTime":"2022-02-24T02:32:06.6282563Z","endTime":"2022-02-24T02:33:03.1245194Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + headers: + cache-control: + - no-cache + content-length: + - '555' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-7b849864dc-2282p","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:32:04.3444358Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1114' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_11"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"foo":"bar"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-7b849864dc-2282p","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:32:04.3444358Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1126' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '36' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:23.6532843Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/da104c7c-8f63-42fe-956d-69cc44046e66?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '797' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/da104c7c-8f63-42fe-956d-69cc44046e66/Spring/deploy?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: '{"properties": {"source": {"type": "Jar", "version": "v1", "relativePath": + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"environmentVariables": + {"bas": "baz"}}}, "sku": {"name": "S0", "tier": "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '337' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:25.2682787Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/dc6d71f2-729a-4f0b-8c2b-6448c8c29962/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/da104c7c-8f63-42fe-956d-69cc44046e66?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/da104c7c-8f63-42fe-956d-69cc44046e66","name":"da104c7c-8f63-42fe-956d-69cc44046e66","status":"Succeeded","startTime":"2022-02-24T02:33:24.7558411Z","endTime":"2022-02-24T02:33:30.93803Z"}' + headers: + cache-control: + - no-cache + content-length: + - '348' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:23.6532843Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '798' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962","name":"dc6d71f2-729a-4f0b-8c2b-6448c8c29962","status":"Running","startTime":"2022-02-24T02:33:27.3036389Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:33:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962","name":"dc6d71f2-729a-4f0b-8c2b-6448c8c29962","status":"Running","startTime":"2022-02-24T02:33:27.3036389Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962","name":"dc6d71f2-729a-4f0b-8c2b-6448c8c29962","status":"Running","startTime":"2022-02-24T02:33:27.3036389Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/dc6d71f2-729a-4f0b-8c2b-6448c8c29962","name":"dc6d71f2-729a-4f0b-8c2b-6448c8c29962","status":"Failed","startTime":"2022-02-24T02:33:27.3036389Z","endTime":"2022-02-24T02:34:21.0326851Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + headers: + cache-control: + - no-cache + content-length: + - '555' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:23.6532843Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '798' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --runtime-version --env + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-7b849864dc-2282p","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:25.2682787Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1253' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-7b849864dc-2282p","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:25.2682787Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1241' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-d640ca53-006a-4df3-8586-f8ed71551759","version":"v1","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-7b849864dc-2282p","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:32:23Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:33:25.2682787Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1253' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-01-01-preview + response: + body: + string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","uploadUrl":"https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc?sv=2018-03-28&sr=f&sig=flA7UJ6EQR%2FsYDFGBSVFNwGLYgP3W18%2BB9cU2HGU2QI%3D&se=2022-02-24T04%3A34%3A52Z&sp=w"}' + headers: + cache-control: + - no-cache + content-length: + - '473' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + x-ms-content-length: + - '11' + x-ms-date: + - Thu, 24 Feb 2022 02:34:53 GMT + x-ms-file-attributes: + - Archive + x-ms-file-creation-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-last-write-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc?sv=2018-03-28&sr=f&sig=flA7UJ6EQR%2FsYDFGBSVFNwGLYgP3W18%2BB9cU2HGU2QI%3D&se=2022-02-24T04%3A34%3A52Z&sp=w + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 24 Feb 2022 02:34:54 GMT + etag: + - '"0x8D9F73DD6CFB118"' + last-modified: + - Thu, 24 Feb 2022 02:32:01 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-creation-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-id: + - '11529294210905669632' + x-ms-file-last-write-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 9303792710474857772*3007663947317056930 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: "fake-text\r\n" + headers: + Connection: + - keep-alive + Content-Length: + - '11' + User-Agent: + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + x-ms-date: + - Thu, 24 Feb 2022 02:34:55 GMT + x-ms-range: + - bytes=0-10 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc?comp=range&sv=2018-03-28&sr=f&sig=flA7UJ6EQR%2FsYDFGBSVFNwGLYgP3W18%2BB9cU2HGU2QI%3D&se=2022-02-24T04%3A34%3A52Z&sp=w + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - 99EB7GGDEcq+ZSyODG3erA== + date: + - Thu, 24 Feb 2022 02:34:55 GMT + etag: + - '"0x8D9F73E3E420B6B"' + last-modified: + - Thu, 24 Feb 2022 02:34:55 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: '{"properties": {"source": {"type": "NetCoreZip", "version": "v2", "relativePath": + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc", + "netCoreMainEntryPath": "test", "runtimeVersion": "NetCore_31"}, "deploymentSettings": + {}}, "sku": {"name": "S0", "tier": "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '342' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:34:57.3685599Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '970' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:34:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/89e391d3-c354-4682-9984-b8d2ba80d5da/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da","name":"89e391d3-c354-4682-9984-b8d2ba80d5da","status":"Running","startTime":"2022-02-24T02:34:59.7522917Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:35:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da","name":"89e391d3-c354-4682-9984-b8d2ba80d5da","status":"Running","startTime":"2022-02-24T02:34:59.7522917Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:35:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --runtime-version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/89e391d3-c354-4682-9984-b8d2ba80d5da","name":"89e391d3-c354-4682-9984-b8d2ba80d5da","status":"Failed","startTime":"2022-02-24T02:34:59.7522917Z","endTime":"2022-02-24T02:35:44.4025708Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + headers: + cache-control: + - no-cache + content-length: + - '555' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:35:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:34:57.3685599Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1282' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:35:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-5f564b4c46-djzsx","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:33:39Z"},{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:34:57.3685599Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1294' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:36:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:36:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"httpsOnly": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '36' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:05.4051157Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/2f98f341-0d92-401b-9b36-752a280c332a?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '797' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:36:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2f98f341-0d92-401b-9b36-752a280c332a/Spring/deploy?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: '{"properties": {"source": {"type": "NetCoreZip", "version": "v2", "relativePath": + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc", + "netCoreMainEntryPath": "test1", "runtimeVersion": "NetCore_31"}, "deploymentSettings": + {}}, "sku": {"name": "S0", "tier": "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + Content-Length: + - '343' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:07.1651624Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:36:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/bc439831-6a90-4b46-991f-2c52a3dc59f7/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/2f98f341-0d92-401b-9b36-752a280c332a?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/deploy/operationId/2f98f341-0d92-401b-9b36-752a280c332a","name":"2f98f341-0d92-401b-9b36-752a280c332a","status":"Succeeded","startTime":"2022-02-24T02:36:06.6296685Z","endTime":"2022-02-24T02:36:13.0614989Z"}' + headers: + cache-control: + - no-cache + content-length: + - '350' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:36:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:05.4051157Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '798' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:36:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7","name":"bc439831-6a90-4b46-991f-2c52a3dc59f7","status":"Running","startTime":"2022-02-24T02:36:09.5685698Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:36:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7","name":"bc439831-6a90-4b46-991f-2c52a3dc59f7","status":"Running","startTime":"2022-02-24T02:36:09.5685698Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:36:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/bc439831-6a90-4b46-991f-2c52a3dc59f7","name":"bc439831-6a90-4b46-991f-2c52a3dc59f7","status":"Failed","startTime":"2022-02-24T02:36:09.5685698Z","endTime":"2022-02-24T02:36:57.2871222Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + headers: + cache-control: + - no-cache + content-length: + - '555' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy","name":"deploy","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:14.2140152Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:05.4051157Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '798' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app update + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"},{"name":"deploy-default-6-787695dc88-tcml7","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:36:19Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:07.1651624Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1295' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"},{"name":"deploy-default-6-787695dc88-tcml7","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:36:19Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:07.1651624Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1283' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-587b5ab0-c762-4f80-a8fa-20d85e1d7fcc","version":"v2","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test1"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-6f6bd785d7-4cfhm","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:35:08Z"},{"name":"deploy-default-6-787695dc88-tcml7","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:36:19Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:36:07.1651624Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1295' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"ac24d3441e324eb8b4c48068c8778885","networkProfile":{"outboundIPs":{"publicIPs":["20.85.140.173","20.85.140.198"]}},"powerState":"Running","fqdn":"cli-unittest.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T01:37:21.03064Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T01:41:05.648314Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '759' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/getResourceUploadUrl?api-version=2022-01-01-preview + response: + body: + string: '{"relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0","uploadUrl":"https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0?sv=2018-03-28&sr=f&sig=ei8wQ%2Bz7UkjjHqDl4cTtzgPFcwRyZvb%2Fth4qnERRS8Q%3D&se=2022-02-24T04%3A37%3A25Z&sp=w"}' + headers: + cache-control: + - no-cache + content-length: + - '473' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1193' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + x-ms-content-length: + - '11' + x-ms-date: + - Thu, 24 Feb 2022 02:37:26 GMT + x-ms-file-attributes: + - Archive + x-ms-file-creation-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-last-write-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-permission: + - Inherit + x-ms-type: + - file + x-ms-version: + - '2019-02-02' + method: PUT + uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0?sv=2018-03-28&sr=f&sig=ei8wQ%2Bz7UkjjHqDl4cTtzgPFcwRyZvb%2Fth4qnERRS8Q%3D&se=2022-02-24T04%3A37%3A25Z&sp=w + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Thu, 24 Feb 2022 02:37:27 GMT + etag: + - '"0x8D9F73DD6CFB118"' + last-modified: + - Thu, 24 Feb 2022 02:32:01 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-file-attributes: + - Archive + x-ms-file-change-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-creation-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-id: + - '11529329395277758464' + x-ms-file-last-write-time: + - '2022-02-24T02:32:01.8637080Z' + x-ms-file-parent-id: + - '13835128424026341376' + x-ms-file-permission-key: + - 9303792710474857772*3007663947317056930 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: "fake-text\r\n" + headers: + Connection: + - keep-alive + Content-Length: + - '11' + User-Agent: + - Azure-Storage/1.4.2-2.1.0 (Python CPython 3.8.3; Windows 10) + x-ms-date: + - Thu, 24 Feb 2022 02:37:28 GMT + x-ms-range: + - bytes=0-10 + x-ms-version: + - '2019-02-02' + x-ms-write: + - update + method: PUT + uri: https://0000394e4365496cb8090d2e.file.core.windows.net/ac24d3441e324eb8b4c48068c8778885/resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0?comp=range&sv=2018-03-28&sr=f&sig=ei8wQ%2Bz7UkjjHqDl4cTtzgPFcwRyZvb%2Fth4qnERRS8Q%3D&se=2022-02-24T04%3A37%3A25Z&sp=w + response: + body: + string: '' + headers: + content-length: + - '0' + content-md5: + - 99EB7GGDEcq+ZSyODG3erA== + date: + - Thu, 24 Feb 2022 02:37:27 GMT + etag: + - '"0x8D9F73E99672B73"' + last-modified: + - Thu, 24 Feb 2022 02:37:28 GMT + server: + - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2019-02-02' + status: + code: 201 + message: Created +- request: + body: '{"properties": {"source": {"type": "NetCoreZip", "version": "v3", "relativePath": + "resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0", + "netCoreMainEntryPath": "test3", "runtimeVersion": "NetCore_31"}, "deploymentSettings": + {}}, "sku": {"name": "S0", "tier": "Standard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + Content-Length: + - '343' + Content-Type: + - application/json + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0","version":"v3","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test3"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Updating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:37:28.6513736Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '971' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:37:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/ac5b889a-f506-4954-82d1-cd58daff53b0/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0","name":"ac5b889a-f506-4954-82d1-cd58daff53b0","status":"Running","startTime":"2022-02-24T02:37:31.0702501Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:38:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0","name":"ac5b889a-f506-4954-82d1-cd58daff53b0","status":"Running","startTime":"2022-02-24T02:37:31.0702501Z"}' + headers: + cache-control: + - no-cache + content-length: + - '308' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:38:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deploy + Connection: + - keep-alive + ParameterSetName: + - -n -g -s --artifact-path --version --main-entry + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/ac5b889a-f506-4954-82d1-cd58daff53b0","name":"ac5b889a-f506-4954-82d1-cd58daff53b0","status":"Failed","startTime":"2022-02-24T02:37:31.0702501Z","endTime":"2022-02-24T02:38:15.9597243Z","error":{"code":"BadRequest","message":"112404: + Failed to wait for deployment instances to be ready. Please check the application + log (see https://aka.ms/azure-spring-cloud-doc-log ), and try again later."}}' + headers: + cache-control: + - no-cache + content-length: + - '555' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:38:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -n --app -g -s + User-Agent: + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"NetCoreZip","relativePath":"resources/b7bd55c11b781b0ccc43aa6e57f9dadf0660e9d1d4e27e0979ee43a407d454ae-2022022402-39415579-7b0d-480b-bee9-4135cc32bda0","version":"v3","runtimeVersion":"NetCore_31","netCoreMainEntryPath":"test3"},"deploymentSettings":{"resourceRequests":{"cpu":"2","memory":"1Gi"},"environmentVariables":{"bas":"baz"}},"provisioningState":"Failed","status":"Running","active":true,"instances":[{"name":"deploy-default-6-567475dc9b-pphqc","status":"Failed","reason":"Fail + to start, check the console log for this instance","discoveryStatus":"DOWN","startTime":"2022-02-24T02:37:38Z"},{"name":"deploy-default-6-787695dc88-tcml7","status":"Terminating","discoveryStatus":"DOWN","startTime":"2022-02-24T02:36:19Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/deploy/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T02:30:51.0841464Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T02:37:28.6513736Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1283' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 24 Feb 2022 02:38:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - abaf8a08-ab47-4674-80b0-7e026b318a31 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_gateway.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_gateway.yaml new file mode 100644 index 00000000000..4c5d09970a8 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_gateway.yaml @@ -0,0 +1,3323 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -s --assign-endpoint --https-only --cpu --memory --instance-count --api-title + --api-description --api-doc-location --api-version --server-url --allowed-origins + --allowed-methods --allowed-headers --max-age --allow-credentials --exposed-headers + --client-id --client-secret --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"public":true,"url":"tx-enterprise-gateway-fd0c7.svc.asc-test.net","provisioningState":"Succeeded","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"apiMetadataProperties":{"title":"Pet + clinic","description":"Demo for pet clinic","documentation":"doc","version":"v1","serverUrl":"https://tx-enterprise-gateway-fd0c7.svc.asc-test.net"},"corsProperties":{"allowedOrigins":["*"],"allowedMethods":["GET","PUT","DELETE"],"allowedHeaders":["X-TEST","X-STAGING"],"maxAge":10,"allowCredentials":true,"exposedHeaders":["Access-Control-Request-Method","Access-Control-Request-Headers"]},"resourceRequests":{"cpu":"1","memory":"2Gi"},"instances":[{"name":"asc-scg-default-0","status":"Running"},{"name":"asc-scg-default-1","status":"Running"},{"name":"asc-scg-default-2","status":"Running"}],"operatorProperties":{"resourceRequests":{"cpu":"1","memory":"2Gi","instanceCount":2},"instances":[{"name":"scg-operator-6cdfd64b89-pnwmw","status":"Running"},{"name":"scg-operator-6cdfd64b89-wdl8q","status":"Running"}]}},"type":"Microsoft.AppPlatform/Spring/gateways","sku":{"name":"E0","tier":"Enterprise","capacity":3},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5745465Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T08:32:33.2405494Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1662' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:30:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": true, "httpsOnly": true, "ssoProperties": {"scope": + ["openid", "profile", "email"], "clientId": "*", "clientSecret": "*", "issuerUri": + "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"}, + "apiMetadataProperties": {"title": "Pet clinic", "description": "Demo for pet + clinic", "documentation": "doc", "version": "v1", "serverUrl": "https://tx-enterprise-gateway-fd0c7.svc.asc-test.net"}, + "corsProperties": {"allowedOrigins": ["*"], "allowedMethods": ["GET", "PUT", + "DELETE"], "allowedHeaders": ["X-TEST", "X-STAGING"], "maxAge": 10, "allowCredentials": + true, "exposedHeaders": ["Access-Control-Request-Method", "Access-Control-Request-Headers"]}, + "resourceRequests": {"cpu": "1", "memory": "2Gi"}}, "sku": {"name": "E0", "tier": + "Enterprise", "capacity": 3}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway update + Connection: + - keep-alive + Content-Length: + - '809' + Content-Type: + - application/json + ParameterSetName: + - -g -s --assign-endpoint --https-only --cpu --memory --instance-count --api-title + --api-description --api-doc-location --api-version --server-url --allowed-origins + --allowed-methods --allowed-headers --max-age --allow-credentials --exposed-headers + --client-id --client-secret --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"public":true,"url":"tx-enterprise-gateway-fd0c7.svc.asc-test.net","provisioningState":"Updating","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"apiMetadataProperties":{"title":"Pet + clinic","description":"Demo for pet clinic","documentation":"doc","version":"v1","serverUrl":"https://tx-enterprise-gateway-fd0c7.svc.asc-test.net"},"corsProperties":{"allowedOrigins":["*"],"allowedMethods":["GET","PUT","DELETE"],"allowedHeaders":["X-TEST","X-STAGING"],"maxAge":10,"allowCredentials":true,"exposedHeaders":["Access-Control-Request-Method","Access-Control-Request-Headers"]},"resourceRequests":{"cpu":"1","memory":"2Gi"},"instances":[{"name":"asc-scg-default-0","status":"Running"},{"name":"asc-scg-default-1","status":"Running"},{"name":"asc-scg-default-2","status":"Running"}],"operatorProperties":{"resourceRequests":{"cpu":"1","memory":"2Gi","instanceCount":2},"instances":[{"name":"scg-operator-6cdfd64b89-pnwmw","status":"Running"},{"name":"scg-operator-6cdfd64b89-wdl8q","status":"Running"}]}},"type":"Microsoft.AppPlatform/Spring/gateways","sku":{"name":"E0","tier":"Enterprise","capacity":3},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5745465Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:30:38.647753Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/2d322acd-d1f4-41aa-8b8e-be6c4305efd0?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '1660' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:30:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/2d322acd-d1f4-41aa-8b8e-be6c4305efd0/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -s --assign-endpoint --https-only --cpu --memory --instance-count --api-title + --api-description --api-doc-location --api-version --server-url --allowed-origins + --allowed-methods --allowed-headers --max-age --allow-credentials --exposed-headers + --client-id --client-secret --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/2d322acd-d1f4-41aa-8b8e-be6c4305efd0?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/2d322acd-d1f4-41aa-8b8e-be6c4305efd0","name":"2d322acd-d1f4-41aa-8b8e-be6c4305efd0","status":"Running","startTime":"2021-12-31T09:30:39.3252786Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -s --assign-endpoint --https-only --cpu --memory --instance-count --api-title + --api-description --api-doc-location --api-version --server-url --allowed-origins + --allowed-methods --allowed-headers --max-age --allow-credentials --exposed-headers + --client-id --client-secret --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/2d322acd-d1f4-41aa-8b8e-be6c4305efd0?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/2d322acd-d1f4-41aa-8b8e-be6c4305efd0","name":"2d322acd-d1f4-41aa-8b8e-be6c4305efd0","status":"Succeeded","startTime":"2021-12-31T09:30:39.3252786Z","endTime":"2021-12-31T09:31:11.0706097Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway update + Connection: + - keep-alive + ParameterSetName: + - -g -s --assign-endpoint --https-only --cpu --memory --instance-count --api-title + --api-description --api-doc-location --api-version --server-url --allowed-origins + --allowed-methods --allowed-headers --max-age --allow-credentials --exposed-headers + --client-id --client-secret --issuer-uri --scope + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"public":true,"url":"tx-enterprise-gateway-fd0c7.svc.asc-test.net","provisioningState":"Succeeded","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"apiMetadataProperties":{"title":"Pet + clinic","description":"Demo for pet clinic","documentation":"doc","version":"v1","serverUrl":"https://tx-enterprise-gateway-fd0c7.svc.asc-test.net"},"corsProperties":{"allowedOrigins":["*"],"allowedMethods":["GET","PUT","DELETE"],"allowedHeaders":["X-TEST","X-STAGING"],"maxAge":10,"allowCredentials":true,"exposedHeaders":["Access-Control-Request-Method","Access-Control-Request-Headers"]},"resourceRequests":{"cpu":"1","memory":"2Gi"},"instances":[{"name":"asc-scg-default-0","status":"Running"},{"name":"asc-scg-default-1","status":"Running"},{"name":"asc-scg-default-2","status":"Running"}],"operatorProperties":{"resourceRequests":{"cpu":"1","memory":"2Gi","instanceCount":2},"instances":[{"name":"scg-operator-6cdfd64b89-pnwmw","status":"Running"},{"name":"scg-operator-6cdfd64b89-wdl8q","status":"Running"}]}},"type":"Microsoft.AppPlatform/Spring/gateways","sku":{"name":"E0","tier":"Enterprise","capacity":3},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5745465Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:30:38.647753Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1661' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway show + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway show + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"public":true,"url":"tx-enterprise-gateway-fd0c7.svc.asc-test.net","provisioningState":"Succeeded","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"apiMetadataProperties":{"title":"Pet + clinic","description":"Demo for pet clinic","documentation":"doc","version":"v1","serverUrl":"https://tx-enterprise-gateway-fd0c7.svc.asc-test.net"},"corsProperties":{"allowedOrigins":["*"],"allowedMethods":["GET","PUT","DELETE"],"allowedHeaders":["X-TEST","X-STAGING"],"maxAge":10,"allowCredentials":true,"exposedHeaders":["Access-Control-Request-Method","Access-Control-Request-Headers"]},"resourceRequests":{"cpu":"1","memory":"2Gi"},"instances":[{"name":"asc-scg-default-0","status":"Running"},{"name":"asc-scg-default-1","status":"Running"},{"name":"asc-scg-default-2","status":"Running"}],"operatorProperties":{"resourceRequests":{"cpu":"1","memory":"2Gi","instanceCount":2},"instances":[{"name":"scg-operator-6cdfd64b89-pnwmw","status":"Running"},{"name":"scg-operator-6cdfd64b89-wdl8q","status":"Running"}]}},"type":"Microsoft.AppPlatform/Spring/gateways","sku":{"name":"E0","tier":"Enterprise","capacity":3},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5745465Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:30:38.647753Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1661' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config create + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name --routes-file + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config create + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name --routes-file + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"],"tags":["pet + clinic"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-routes","name":"cli-routes","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-31T09:28:19.4854292Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:28:19.4854292Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":false,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/customers-service-rule","name":"customers-service-rule","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-16T05:32:52.0675449Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-16T05:32:52.0675449Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":false,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/rule1","name":"rule1","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T14:48:42.9087292Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-16T05:35:10.4059261Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service","routes":[{"title":"Vets + service","description":"Route to vets service","ssoEnabled":false,"tokenRelay":false,"predicates":["Path=/api/vets-service/**"],"filters":["StripPrefix=2"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/rule2","name":"rule2","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T15:02:17.1246809Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T15:02:17.1246809Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/visits-service","routes":[{"title":"Visits + service","description":"Route to visits service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/visits-service/**"],"filters":["StripPrefix=2"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/rule3","name":"rule3","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T15:03:01.839959Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T15:03:01.839959Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '4478' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config create + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name --routes-file + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default"},"serviceRegistry":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default"}},"public":true,"url":"https://tx-enterprise-customers-service.asc-test.net","provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","name":"customers-service","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:33:00.0319673Z","lastModifiedBy":"taoxu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-15T08:49:16.7172664Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1206' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"appResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service", + "routes": [{"title": "Customers service", "description": "Route to customer + service", "ssoEnabled": true, "predicates": ["Path=/api/customers-service/owners"], + "filters": ["StripPrefix=2"], "tags": ["pet clinic"]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config create + Connection: + - keep-alive + Content-Length: + - '398' + Content-Type: + - application/json + ParameterSetName: + - -g -s -n --app-name --routes-file + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"],"tags":["pet + clinic"]}],"provisioningState":"Creating"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route","name":"cli-route","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-31T09:31:29.665706Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:31:29.665706Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/ee9bc818-e3e2-4648-ab81-5e66d26d1b81?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '912' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:31:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/ee9bc818-e3e2-4648-ab81-5e66d26d1b81/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config create + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name --routes-file + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/ee9bc818-e3e2-4648-ab81-5e66d26d1b81?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/ee9bc818-e3e2-4648-ab81-5e66d26d1b81","name":"ee9bc818-e3e2-4648-ab81-5e66d26d1b81","status":"Succeeded","startTime":"2021-12-31T09:31:30.4023327Z","endTime":"2021-12-31T09:31:37.3176108Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config create + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name --routes-file + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"],"tags":["pet + clinic"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route","name":"cli-route","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-31T09:31:29.665706Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:31:29.665706Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '913' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"],"tags":["pet + clinic"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route","name":"cli-route","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-31T09:31:29.665706Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:31:29.665706Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '913' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default"},"serviceRegistry":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default"}},"public":false,"provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service","name":"vets-service","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:33:00.0449394Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T15:15:16.9639224Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1138' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"appResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service", + "routes": [{"title": "Customers service", "description": "Route to customer + service", "ssoEnabled": true, "tokenRelay": false, "predicates": ["Path=/api/customers-service/owners"], + "filters": ["StripPrefix=2"], "tags": ["pet clinic"]}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config update + Connection: + - keep-alive + Content-Length: + - '414' + Content-Type: + - application/json + ParameterSetName: + - -g -s -n --app-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"],"tags":["pet + clinic"]}],"provisioningState":"Updating"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route","name":"cli-route","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-31T09:31:29.665706Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:32:05.9093842Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/738062ac-d2a3-453e-93a8-d4a97399ffe5?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '908' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/738062ac-d2a3-453e-93a8-d4a97399ffe5/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/738062ac-d2a3-453e-93a8-d4a97399ffe5?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/738062ac-d2a3-453e-93a8-d4a97399ffe5","name":"738062ac-d2a3-453e-93a8-d4a97399ffe5","status":"Succeeded","startTime":"2021-12-31T09:32:06.5461268Z","endTime":"2021-12-31T09:32:12.6953144Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config update + Connection: + - keep-alive + ParameterSetName: + - -g -s -n --app-name + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"],"tags":["pet + clinic"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route","name":"cli-route","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-31T09:31:29.665706Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:32:05.9093842Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '909' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"],"tags":["pet + clinic"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-routes","name":"cli-routes","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-31T09:28:19.4854292Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:28:19.4854292Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"],"tags":["pet + clinic"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route","name":"cli-route","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2021-12-31T09:31:29.665706Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:32:05.9093842Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":false,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/customers-service-rule","name":"customers-service-rule","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-16T05:32:52.0675449Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-16T05:32:52.0675449Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service","routes":[{"title":"Customers + service","description":"Route to customer service","ssoEnabled":false,"tokenRelay":false,"predicates":["Path=/api/customers-service/owners"],"filters":["StripPrefix=2"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/rule1","name":"rule1","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T14:48:42.9087292Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-16T05:35:10.4059261Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service","routes":[{"title":"Vets + service","description":"Route to vets service","ssoEnabled":false,"tokenRelay":false,"predicates":["Path=/api/vets-service/**"],"filters":["StripPrefix=2"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/rule2","name":"rule2","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T15:02:17.1246809Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T15:02:17.1246809Z"}},{"properties":{"appResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/visits-service","routes":[{"title":"Visits + service","description":"Route to visits service","ssoEnabled":true,"tokenRelay":false,"predicates":["Path=/api/visits-service/**"],"filters":["StripPrefix=2"]}],"provisioningState":"Succeeded"},"type":"Microsoft.AppPlatform/Spring/gateways/routeConfigs","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/rule3","name":"rule3","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T15:03:01.839959Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T15:03:01.839959Z"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '5388' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:32:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config remove + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/ae29de2e-64a5-4d04-8ab5-38118dea84d3?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 31 Dec 2021 09:32:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/ae29de2e-64a5-4d04-8ab5-38118dea84d3/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config remove + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/ae29de2e-64a5-4d04-8ab5-38118dea84d3?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/ae29de2e-64a5-4d04-8ab5-38118dea84d3","name":"ae29de2e-64a5-4d04-8ab5-38118dea84d3","status":"Succeeded","startTime":"2021-12-31T09:32:45.6999286Z","endTime":"2021-12-31T09:32:51.8400829Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:33:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:33:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway route-config show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"NotFound","message":"Spring Cloud Gateway Route Config + is not exist.","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/routeConfigs/cli-route","details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '278' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:33:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:33:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"public":true,"url":"tx-enterprise-gateway-fd0c7.svc.asc-test.net","provisioningState":"Succeeded","httpsOnly":true,"ssoProperties":{"scope":["openid","profile","email"],"clientId":"*","clientSecret":"*","issuerUri":"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"},"apiMetadataProperties":{"title":"Pet + clinic","description":"Demo for pet clinic","documentation":"doc","version":"v1","serverUrl":"https://tx-enterprise-gateway-fd0c7.svc.asc-test.net"},"corsProperties":{"allowedOrigins":["*"],"allowedMethods":["GET","PUT","DELETE"],"allowedHeaders":["X-TEST","X-STAGING"],"maxAge":10,"allowCredentials":true,"exposedHeaders":["Access-Control-Request-Method","Access-Control-Request-Headers"]},"resourceRequests":{"cpu":"1","memory":"2Gi"},"instances":[{"name":"asc-scg-default-0","status":"Running"},{"name":"asc-scg-default-1","status":"Running"},{"name":"asc-scg-default-2","status":"Running"}],"operatorProperties":{"resourceRequests":{"cpu":"1","memory":"2Gi","instanceCount":2},"instances":[{"name":"scg-operator-6cdfd64b89-pnwmw","status":"Running"},{"name":"scg-operator-6cdfd64b89-wdl8q","status":"Running"}]}},"type":"Microsoft.AppPlatform/Spring/gateways","sku":{"name":"E0","tier":"Enterprise","capacity":3},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5745465Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:30:38.647753Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1661' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:33:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {}, "sku": {"name": "E0", "tier": "Enterprise"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + Content-Length: + - '63' + Content-Type: + - application/json + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"public":false,"url":"tx-enterprise-gateway-fd0c7.svc.asc-test.net","provisioningState":"Updating","httpsOnly":false,"resourceRequests":{"cpu":"1","memory":"2Gi"},"instances":[{"name":"asc-scg-default-0","status":"Running"},{"name":"asc-scg-default-1","status":"Running"},{"name":"asc-scg-default-2","status":"Running"}],"operatorProperties":{"resourceRequests":{"cpu":"1","memory":"2Gi","instanceCount":2},"instances":[{"name":"scg-operator-6cdfd64b89-pnwmw","status":"Running"},{"name":"scg-operator-6cdfd64b89-wdl8q","status":"Running"}]}},"type":"Microsoft.AppPlatform/Spring/gateways","sku":{"name":"E0","tier":"Enterprise","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5745465Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:33:23.8865961Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '1055' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:33:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/259cf71c-c8d7-4da1-bdb9-217081915011/Spring/tx-enterprise?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:33:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:34:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:34:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:34:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:34:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:34:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:34:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:35:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:35:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:35:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:35:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:35:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:36:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:36:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:36:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:36:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:36:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Running","startTime":"2021-12-31T09:33:24.4619872Z"}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:36:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/tx-enterprise/operationId/259cf71c-c8d7-4da1-bdb9-217081915011","name":"259cf71c-c8d7-4da1-bdb9-217081915011","status":"Succeeded","startTime":"2021-12-31T09:33:24.4619872Z","endTime":"2021-12-31T09:37:06.4688106Z"}' + headers: + cache-control: + - no-cache + content-length: + - '356' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway clear + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"public":false,"url":"","provisioningState":"Succeeded","httpsOnly":false,"resourceRequests":{"cpu":"1","memory":"2Gi"},"instances":[{"name":"asc-scg-default-0","status":"Running"},{"name":"asc-scg-default-1","status":"Running"}],"operatorProperties":{"resourceRequests":{"cpu":"1","memory":"2Gi","instanceCount":2},"instances":[{"name":"scg-operator-6cdfd64b89-pnwmw","status":"Running"},{"name":"scg-operator-6cdfd64b89-wdl8q","status":"Running"}]}},"type":"Microsoft.AppPlatform/Spring/gateways","sku":{"name":"E0","tier":"Enterprise","capacity":2},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default","name":"default","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:18:24.5745465Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-31T09:33:23.8865961Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '964' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud certificate show + Connection: + - keep-alive + ParameterSetName: + - --name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/certificates/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/certificates/cli-unittest","name":"cli-unittest"}' + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain bind + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain bind + Connection: + - keep-alive + Content-Length: + - '18' + Content-Type: + - application/json + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":""},"type":"Microsoft.AppPlatform/Spring/gateways/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net","name":"gateway-cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '301' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":""},"type":"Microsoft.AppPlatform/Spring/gateways/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net","name":"gateway-cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '301' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain list + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains?api-version=2022-01-01-preview + response: + body: + string: '{"value":[{"properties":{"thumbprint":""},"type":"Microsoft.AppPlatform/Spring/gateways/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net","name":"gateway-cli.asc-test.net"}]}' + headers: + cache-control: + - no-cache + content-length: + - '313' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain update + Connection: + - keep-alive + ParameterSetName: + - --domain-name --certificate -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/certificates/cli-unittest?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"vaultUri":"https://integration-test-prod.vault.azure.net","keyVaultCertName":"cli-unittest","certVersion":"b7518f6674c744cb8eca1e83fc221e56","excludePrivateKey":false,"type":"KeyVaultCertificate","thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d","issuer":"*.asc-test.net","expirationDate":"2022-12-13T04:50:31.000+00:00","activateDate":"2021-12-13T04:40:31.000+00:00","subjectName":"*.asc-test.net","dnsNames":["cli.asc-test.net"]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/certificates/cli-unittest","name":"cli-unittest"}' + headers: + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"thumbprint": "ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain update + Connection: + - keep-alive + Content-Length: + - '74' + Content-Type: + - application/json + ParameterSetName: + - --domain-name --certificate -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d"},"type":"Microsoft.AppPlatform/Spring/gateways/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net","name":"gateway-cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '341' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain unbind + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"thumbprint":"ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d"},"type":"Microsoft.AppPlatform/Spring/gateways/domains","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net","name":"gateway-cli.asc-test.net"}' + headers: + cache-control: + - no-cache + content-length: + - '341' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain unbind + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 31 Dec 2021 09:37:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"2b82253390324f40b72979245318a2f8","networkProfile":{"outboundIPs":{"publicIPs":["20.62.180.122","20.62.180.124"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"xiading@microsoft.com","createdByType":"User","createdAt":"2021-12-13T10:11:28.9082846Z","lastModifiedBy":"xiading@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-12-13T10:11:28.9082846Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '764' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud gateway custom-domain show + Connection: + - keep-alive + ParameterSetName: + - --domain-name -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/gateways/default/domains/gateway-cli.asc-test.net?api-version=2022-01-01-preview + response: + body: + string: '{"error":{"code":"EntityNotFound","message":"CustomDomain ''gateway-cli.asc-test.net'' + not found","target":null,"details":null}}' + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 31 Dec 2021 09:37:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 404 + message: Not Found +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_generate_deployment_dump.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_generate_deployment_dump.yaml new file mode 100644 index 00000000000..53f435680d2 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_generate_deployment_dump.yaml @@ -0,0 +1,18063 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment show + Connection: + - keep-alive + ParameterSetName: + - -g -s --app -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-dump/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-dump-default-23-75bf876455-xz892","status":"Running","discoveryStatus":"UP","startTime":"2022-01-17T21:05:40Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-dump/deployments/default","name":"default","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-01-17T21:05:09.7194765Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-01-17T21:05:27.4994709Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1011' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:28:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-dump/deployments/mock-deployment?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-dump-default-23-75bf876455-xz892","status":"Running","discoveryStatus":"UP","startTime":"2022-01-17T21:05:40Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-dump/deployments/default","name":"default","systemData":{"createdBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","createdByType":"Application","createdAt":"2022-01-17T21:05:09.7194765Z","lastModifiedBy":"3462cf92-dc17-43c5-8c7e-e50c11a1c181","lastModifiedByType":"Application","lastModifiedAt":"2022-01-17T21:05:27.4994709Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '1011' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:28:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: '{"appInstance": "test-app-dump-default-23-75bf876455-xz892", + "filePath": "C:UsersyuwzhoAppDataLocalTempdumpfile.txt"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + Content-Length: + - '127' + Content-Type: + - application/json + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-dump/deployments/mock-deployment/generateHeapDump?api-version=2022-01-01-preview + response: + body: + string: '{"appInstance":"test-app-dump-default-23-75bf876455-xz892","filePath":"C:UsersyuwzhoAppDataLocalTempdumpfile.txt","duration":"60s"}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '141' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:28:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationResults/a0429aa1-0799-4855-a144-a245ad21685f/Spring/default?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:29:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:29:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:29:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:29:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:29:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:29:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:30:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:30:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:30:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:30:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:30:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:30:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:31:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:31:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:31:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:31:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:31:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:31:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:32:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:32:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:32:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:32:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:32:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:32:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:33:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:33:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:33:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:33:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:33:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:34:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:34:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:34:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:34:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:34:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:34:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:35:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:35:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:35:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:35:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:35:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:35:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:36:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:36:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:36:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:36:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:36:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:36:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:37:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:37:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:37:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:37:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:37:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:38:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:38:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:38:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:38:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:38:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:38:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:39:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:39:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:39:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:39:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:39:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:39:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:40:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:40:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:40:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:40:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:40:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:40:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:41:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:41:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:41:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:41:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:41:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:42:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:42:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:42:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:42:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:42:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:42:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:43:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:43:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:43:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:43:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:43:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:43:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:44:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:44:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:44:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:44:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:44:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:44:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:45:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:45:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:45:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:45:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:45:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:45:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:46:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:46:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:46:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:46:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:46:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:47:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:47:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:47:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:47:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:47:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:47:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:48:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:48:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:48:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:48:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:48:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:48:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:49:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:49:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:49:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:49:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:49:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:49:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:50:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:50:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:50:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:50:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:50:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:50:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:51:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:51:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:51:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:51:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:51:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:52:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:52:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:52:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:52:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:52:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:52:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:53:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:53:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:53:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:53:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:53:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:53:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:54:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:54:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:54:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:54:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:54:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:54:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:55:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:55:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:55:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:55:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:55:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:55:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:56:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:56:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:56:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:56:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:56:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:57:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:57:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:57:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:57:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:57:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:57:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:58:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:58:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:58:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:58:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:58:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:58:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:59:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:59:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:59:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:59:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:59:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 03:59:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:00:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:00:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:00:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:00:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:00:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:01:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:01:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:01:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:01:31 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:01:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:01:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:02:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:02:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:02:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:02:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:02:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:02:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:03:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:03:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:03:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:03:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:03:45 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:03:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:04:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:04:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:04:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:04:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:04:48 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:04:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:05:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:05:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:05:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:05:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:05:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:06:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:06:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:06:21 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:06:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:06:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:06:52 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:07:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:07:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:07:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:07:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:07:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:07:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:08:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:08:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:08:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:08:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:08:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:08:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:09:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:09:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:09:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:09:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:12:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:12:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:12:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:13:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:13:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:13:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:13:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:13:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:13:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:14:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:14:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:14:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:14:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:15:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:15:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:16:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:16:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:16:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:16:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:16:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:16:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:17:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:17:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:17:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:17:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:17:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:18:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:19:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:19:23 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:19:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:19:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:19:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:20:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:20:15 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:20:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:20:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:20:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:20:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:21:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:21:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:21:27 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:23:05 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:23:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:23:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:23:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:23:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:23:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:24:08 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:24:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:24:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:24:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:24:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:24:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:25:09 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:25:19 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:25:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:25:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:25:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:26:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:26:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:26:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:26:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:26:42 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:26:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:27:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:27:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:27:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:27:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:27:46 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:27:56 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:28:06 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:28:16 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:28:26 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:28:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:28:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:28:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:29:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:29:18 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:29:29 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:29:39 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:29:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:30:00 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:30:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:30:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:30:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:30:41 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:30:51 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:31:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:31:12 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:31:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:31:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:31:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:31:54 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:32:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:32:14 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:32:25 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:32:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:32:47 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:32:57 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:33:07 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:33:17 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:33:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:33:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:33:49 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:33:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:34:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:34:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:34:30 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:34:40 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:34:50 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:35:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:35:11 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:35:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:35:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:35:43 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:35:53 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:36:03 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:36:13 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:36:24 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:36:34 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Running","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:36:44 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud app deployment generate-heap-dump + Connection: + - keep-alive + ParameterSetName: + - -g -s --app --deployment --app-instance --file-path + User-Agent: + - AZURECLI/2.32.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.10 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus2euap/operationStatus/default/operationId/a0429aa1-0799-4855-a144-a245ad21685f","name":"a0429aa1-0799-4855-a144-a245ad21685f","status":"Succeeded","startTime":"2022-01-19T03:28:30.1744848Z"}' + headers: + cache-control: + - no-cache + content-length: + - '328' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 19 Jan 2022 04:36:55 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_load_public_cert_to_app.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_load_public_cert_to_app.yaml index a032cf8dc85..6e7fc245356 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_load_public_cert_to_app.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_load_public_cert_to_app.yaml @@ -1,978 +1,6 @@ interactions: - request: - body: '{"location": "westus"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - group create - Connection: - - keep-alive - Content-Length: - - '22' - Content-Type: - - application/json - ParameterSetName: - - -n -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (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/cli?api-version=2021-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli","name":"cli","type":"Microsoft.Resources/resourceGroups","location":"westus","properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '203' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:43: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: '{"location": "westus", "properties": {}, "sku": {"name": "S0", "tier": - "STANDARD"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - Content-Length: - - '83' - Content-Type: - - application/json - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 - response: - body: - string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"d764708db1d14a4db96444facb58de4c"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"westus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '366' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:43:55 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationResults/0e5aee0f-84d2-4124-9822-273f78f04a75/Spring/cli-unittest?api-version=2020-07-01 - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:44:25 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:44:36 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:44:45 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:44:56 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:45:07 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:45:17 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:45:27 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:45:37 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:45:48 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:45:59 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:46:08 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:46:20 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Running","startTime":"2021-10-26T04:43:53.9268906Z"}' - headers: - cache-control: - - no-cache - content-length: - - '313' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:46:30 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/0e5aee0f-84d2-4124-9822-273f78f04a75","name":"0e5aee0f-84d2-4124-9822-273f78f04a75","status":"Succeeded","startTime":"2021-10-26T04:43:53.9268906Z","endTime":"2021-10-26T04:46:34.7973364Z"}' - headers: - cache-control: - - no-cache - content-length: - - '356' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:46:40 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 - response: - body: - string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"d764708db1d14a4db96444facb58de4c","networkProfile":{"outboundIPs":{"publicIPs":["137.135.42.100","137.135.52.107"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"westus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' - headers: - cache-control: - - no-cache - content-length: - - '450' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:46:40 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: '{"location": "westus", "kind": "web", "properties": {"Application_Type": - "web"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - Content-Length: - - '80' - Content-Type: - - application/json - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 - (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/cli/providers/Microsoft.Insights/components/cli-unittest?api-version=2015-05-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/microsoft.insights/components/cli-unittest","name":"cli-unittest","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"150200f1-0000-0200-0000-617788380000\"","properties":{"Ver":"v2","ApplicationId":"cli-unittest","AppId":"2fc993eb-8441-458f-b530-aa578b51637d","Application_Type":"web","Flow_Type":null,"Request_Source":null,"InstrumentationKey":"a5003446-85bd-454b-aaa8-07fdc84d3eff","ConnectionString":"InstrumentationKey=a5003446-85bd-454b-aaa8-07fdc84d3eff;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"cli-unittest","CreationDate":"2021-10-26T04:46:48.7934102+00:00","TenantId":"799c12ba-353c-44a1-883d-84808ebb2216","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: - - '984' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:46:50 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:920e14b1-13f3-461a-a4bb-b4fe6f1a4525 - 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: - - '1193' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"properties": {"traceEnabled": true, "appInsightsInstrumentationKey": - "InstrumentationKey=a5003446-85bd-454b-aaa8-07fdc84d3eff;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - Content-Length: - - '199' - Content-Type: - - application/json - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/monitoringSettings/default?api-version=2020-11-01-preview - response: - body: - string: '{"properties":{"appInsightsSamplingRate":10.0,"appInsightsAgentVersions":{"java":"3.1.1"},"provisioningState":"Updating","traceEnabled":true,"appInsightsInstrumentationKey":"InstrumentationKey=a5003446-85bd-454b-aaa8-07fdc84d3eff;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/"},"type":"Microsoft.AppPlatform/Spring/monitoringSettings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/monitoringSettings/default","name":"default"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/c24874c9-17d6-4dee-9d51-4d7b58bc490d?api-version=2020-11-01-preview - cache-control: - - no-cache - content-length: - - '532' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:46:51 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationResults/c24874c9-17d6-4dee-9d51-4d7b58bc490d/Spring/cli-unittest?api-version=2020-11-01-preview - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 202 - message: Accepted -- request: - body: '{"properties": {"type": "ContentCertificate", "content": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURyekNDQXBlZ0F3SUJBZ0lRQ0R2Z1ZwQkNSckdoZFdySldaSEhTakFOQmdrcWhraUc5dzBCQVFVRkFEQmgKTVFzd0NRWURWUVFHRXdKVlV6RVZNQk1HQTFVRUNoTU1SR2xuYVVObGNuUWdTVzVqTVJrd0Z3WURWUVFMRXhCMwpkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JEClFUQWVGdzB3TmpFeE1UQXdNREF3TURCYUZ3MHpNVEV4TVRBd01EQXdNREJhTUdFeEN6QUpCZ05WQkFZVEFsVlQKTVJVd0V3WURWUVFLRXd4RWFXZHBRMlZ5ZENCSmJtTXhHVEFYQmdOVkJBc1RFSGQzZHk1a2FXZHBZMlZ5ZEM1agpiMjB4SURBZUJnTlZCQU1URjBScFoybERaWEowSUVkc2IySmhiQ0JTYjI5MElFTkJNSUlCSWpBTkJna3Foa2lHCjl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUE0anZoRVhMZXFLVFRvMWVxVUtLUEMzZVF5YUtsN2hMT2xsc0IKQ1NETUFaT25UakMzVS9kRHhHa0FWNTNpalNMZGh3WkFBSUVKenM0Ymc3L2Z6VHR4UnVMV1pzY0ZzM1luRm85NwpuaDZWZmU2M1NLTUkydGF2ZWd3NUJtVi9TbDBmdkJmNHE3N3VLTmQwZjNwNG1WbUZhRzVjSXpKTHYwN0E2RnB0CjQzQy9keEMvL0FIMmhkbW9SQkJZTXFsMUdOWFJvcjVINGlkcTlKb3orRWtJWUl2VVg3UTZoTCtocWtwTWZUN1AKVDE5c2RsNmdTemVSbnR3aTVtM09GQnFPYXN2K3piTVVaQmZIV3ltZU1yL3k3dnJUQzBMVXE3ZEJNdG9NMU8vNApnZFc3alZnL3RSdm9TU2lpY05veEJOMzNzaGJ5VEFwT0I2anRTajFldFgramtNT3ZKd0lEQVFBQm8yTXdZVEFPCkJnTlZIUThCQWY4RUJBTUNBWVl3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVQTk1UU5WYlIKVEx0bThLUGlHeHZEbDdJOTBWVXdId1lEVlIwakJCZ3dGb0FVQTk1UU5WYlJUTHRtOEtQaUd4dkRsN0k5MFZVdwpEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBTXVjTjZwSUV4SUsrdDFFbkU5U3NQVGZyZ1QxZVhrSW95UVkvRXNyCmhNQXR1ZFhIL3ZUQkgxakx1RzJjZW5Ubm1DbXJFYlhqY0tDaHpVeUltWk9Na1hEaXF3OGN2cE9wLzJQVjVBZGcKMDZPL25Wc0o4ZFdPNDFQMGptUDZQNmZidEdiZlltYlcwVzVCamZJdHRlcDNTcCtkV09JcldjQkFJKzB0S0lKRgpQbmxVa2lhWTRJQklxRGZ2OE5aNVlCYmVyT2dPelc2c1JCYzRMMG5hNFVVK0tyazJVODg2VUFiM0x1akVWMGxzCllTRVkxUVN0ZUR3c09vQnJwK3V2RlJUcDJJbkJ1VGhzNHBGc2l2OWt1WGNsVnpEQUd5U2o0ZHpwMzBkOHRiUWsKQ0FVdzdDMjlDNzlGdjFDNXFmUHJtQUVTcmNpSXhwZzBYNDBLUE1icDFaV1ZiZDQ9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"}}' + body: '{"properties": {"type": "ContentCertificate", "content": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEcnpDQ0FwZWdBd0lCQWdJUUNEdmdWcEJDUnJHaGRXckpXWkhIU2pBTkJna3Foa2lHOXcwQkFRVUZBREJoDQpNUXN3Q1FZRFZRUUdFd0pWVXpFVk1CTUdBMVVFQ2hNTVJHbG5hVU5sY25RZ1NXNWpNUmt3RndZRFZRUUxFeEIzDQpkM2N1WkdsbmFXTmxjblF1WTI5dE1TQXdIZ1lEVlFRREV4ZEVhV2RwUTJWeWRDQkhiRzlpWVd3Z1VtOXZkQ0JEDQpRVEFlRncwd05qRXhNVEF3TURBd01EQmFGdzB6TVRFeE1UQXdNREF3TURCYU1HRXhDekFKQmdOVkJBWVRBbFZUDQpNUlV3RXdZRFZRUUtFd3hFYVdkcFEyVnlkQ0JKYm1NeEdUQVhCZ05WQkFzVEVIZDNkeTVrYVdkcFkyVnlkQzVqDQpiMjB4SURBZUJnTlZCQU1URjBScFoybERaWEowSUVkc2IySmhiQ0JTYjI5MElFTkJNSUlCSWpBTkJna3Foa2lHDQo5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBNGp2aEVYTGVxS1RUbzFlcVVLS1BDM2VReWFLbDdoTE9sbHNCDQpDU0RNQVpPblRqQzNVL2REeEdrQVY1M2lqU0xkaHdaQUFJRUp6czRiZzcvZnpUdHhSdUxXWnNjRnMzWW5Gbzk3DQpuaDZWZmU2M1NLTUkydGF2ZWd3NUJtVi9TbDBmdkJmNHE3N3VLTmQwZjNwNG1WbUZhRzVjSXpKTHYwN0E2RnB0DQo0M0MvZHhDLy9BSDJoZG1vUkJCWU1xbDFHTlhSb3I1SDRpZHE5Sm96K0VrSVlJdlVYN1E2aEwraHFrcE1mVDdQDQpUMTlzZGw2Z1N6ZVJudHdpNW0zT0ZCcU9hc3YremJNVVpCZkhXeW1lTXIveTd2clRDMExVcTdkQk10b00xTy80DQpnZFc3alZnL3RSdm9TU2lpY05veEJOMzNzaGJ5VEFwT0I2anRTajFldFgramtNT3ZKd0lEQVFBQm8yTXdZVEFPDQpCZ05WSFE4QkFmOEVCQU1DQVlZd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVUE5NVFOVmJSDQpUTHRtOEtQaUd4dkRsN0k5MFZVd0h3WURWUjBqQkJnd0ZvQVVBOTVRTlZiUlRMdG04S1BpR3h2RGw3STkwVlV3DQpEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBTXVjTjZwSUV4SUsrdDFFbkU5U3NQVGZyZ1QxZVhrSW95UVkvRXNyDQpoTUF0dWRYSC92VEJIMWpMdUcyY2VuVG5tQ21yRWJYamNLQ2h6VXlJbVpPTWtYRGlxdzhjdnBPcC8yUFY1QWRnDQowNk8vblZzSjhkV080MVAwam1QNlA2ZmJ0R2JmWW1iVzBXNUJqZkl0dGVwM1NwK2RXT0lyV2NCQUkrMHRLSUpGDQpQbmxVa2lhWTRJQklxRGZ2OE5aNVlCYmVyT2dPelc2c1JCYzRMMG5hNFVVK0tyazJVODg2VUFiM0x1akVWMGxzDQpZU0VZMVFTdGVEd3NPb0JycCt1dkZSVHAySW5CdVRoczRwRnNpdjlrdVhjbFZ6REFHeVNqNGR6cDMwZDh0YlFrDQpDQVV3N0MyOUM3OUZ2MUM1cWZQcm1BRVNyY2lJeHBnMFg0MEtQTWJwMVpXVmJkND0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg=="}}' headers: Accept: - application/json @@ -983,15 +11,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1845' + - '1877' Content-Type: - application/json ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: body: string: '{"properties":{"type":"ContentCertificate","thumbprint":"a8985d3a65e5e5c4b2d7d66d40c6dd2fb19c5436","issuer":"DigiCert @@ -1005,7 +33,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:46:55 GMT + - Thu, 24 Feb 2022 07:43:42 GMT expires: - '-1' pragma: @@ -1016,21 +44,19 @@ interactions: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked vary: - - Accept-Encoding,Accept-Encoding + - Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK - request: - body: '{"properties": {"type": "ContentCertificate", "content": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURkekNDQWwrZ0F3SUJBZ0lFQWdBQXVUQU5CZ2txaGtpRzl3MEJBUVVGQURCYU1Rc3dDUVlEVlFRR0V3SkoKUlRFU01CQUdBMVVFQ2hNSlFtRnNkR2x0YjNKbE1STXdFUVlEVlFRTEV3cERlV0psY2xSeWRYTjBNU0l3SUFZRApWUVFERXhsQ1lXeDBhVzF2Y21VZ1EzbGlaWEpVY25WemRDQlNiMjkwTUI0WERUQXdNRFV4TWpFNE5EWXdNRm9YCkRUSTFNRFV4TWpJek5Ua3dNRm93V2pFTE1Ba0dBMVVFQmhNQ1NVVXhFakFRQmdOVkJBb1RDVUpoYkhScGJXOXkKWlRFVE1CRUdBMVVFQ3hNS1EzbGlaWEpVY25WemRERWlNQ0FHQTFVRUF4TVpRbUZzZEdsdGIzSmxJRU41WW1WeQpWSEoxYzNRZ1VtOXZkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLTUV1eUtyCm1EMVg2Q1p5bXJWNTFDbmk0ZWlWZ0xHdzQxdU9LeW1hWk4raFhlMndDUVZ0MnlndXptS2lZdjYwaU5vUzZ6anIKSVozQVFTc0JVbnVJZDlNY2o4ZTZ1WWkxYWdubmMrZ1JRS2ZSek1waWpTM2xqd3VtVU5Lb1VNTW82dldySlllSwptcFljcVdlNFB3elY5L2xTRXkvQ0c5VndjUENQd0JMS0JzdWE0ZG5LTTNwMzF2anN1ZkZvUkVKSUU5TEF3cVN1ClhtRCt0cVlGL0xUZEIxa0MxRmtZbUdQMXBXUGdrQXg5WGJJR2V2T0Y2dXZVQTY1ZWhENWYveFh0YWJ6NU9UWnkKZGM5M1VrM3p5WkFzdVQzbHlTTlRQeDhrbUNGY0I1a3B2Y1k2N09kdWhqcHJsM1JqTTcxb0dESHdlSTEydi95ZQpqbDBxaHFkTmtOd25HamtDQXdFQUFhTkZNRU13SFFZRFZSME9CQllFRk9XZFdUQ0NSMWpNclBvSVZEYUdlenExCkJFM3dNQklHQTFVZEV3RUIvd1FJTUFZQkFmOENBUU13RGdZRFZSMFBBUUgvQkFRREFnRUdNQTBHQ1NxR1NJYjMKRFFFQkJRVUFBNElCQVFDRkRGMk81RzlSYUVJRm9OMjdUeWNsaEFPOTkyVDlMZGN3NDZRUUYrdmFLU20yZVQ5Mgo5aGtUSTdnUUN2bFlwTlJoY0wwRVlXb1NpaGZWQ3IzRnZEQjgxdWtNSlkyR1FFL3N6S04rT01ZM0VVL3QzV2d4CmprelNzd0YwN3I1MVhnZElHbjl3L3haY2hNQjVoYmdGL1grK1pSR2pEOEFDdFBoU056a0UxYWt4ZWhpL29DcjAKRXBuM28wV0M0enhlOVoyZXRjaWVmQzdJcEo1T0NCUkxiZjF3YldzYVk3MWs1aCszenZEeW55NjdHN2Z5VUloegprc0xpNHhhTm1qSUNxNDRZM2VrUUVlNStOYXVRcno0d2xIclFNejJuWlEvMS9JNmVZczlIUkN3Qlhic2R0VExTClI5STRMdEQrZ2R3eWFoNjE3anpWL09lQkhSbkRKRUxxWXptcAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgo="}}' + body: '{"properties": {"type": "ContentCertificate", "content": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEZHpDQ0FsK2dBd0lCQWdJRUFnQUF1VEFOQmdrcWhraUc5dzBCQVFVRkFEQmFNUXN3Q1FZRFZRUUdFd0pKDQpSVEVTTUJBR0ExVUVDaE1KUW1Gc2RHbHRiM0psTVJNd0VRWURWUVFMRXdwRGVXSmxjbFJ5ZFhOME1TSXdJQVlEDQpWUVFERXhsQ1lXeDBhVzF2Y21VZ1EzbGlaWEpVY25WemRDQlNiMjkwTUI0WERUQXdNRFV4TWpFNE5EWXdNRm9YDQpEVEkxTURVeE1qSXpOVGt3TUZvd1dqRUxNQWtHQTFVRUJoTUNTVVV4RWpBUUJnTlZCQW9UQ1VKaGJIUnBiVzl5DQpaVEVUTUJFR0ExVUVDeE1LUTNsaVpYSlVjblZ6ZERFaU1DQUdBMVVFQXhNWlFtRnNkR2x0YjNKbElFTjVZbVZ5DQpWSEoxYzNRZ1VtOXZkRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLTUV1eUtyDQptRDFYNkNaeW1yVjUxQ25pNGVpVmdMR3c0MXVPS3ltYVpOK2hYZTJ3Q1FWdDJ5Z3V6bUtpWXY2MGlOb1M2empyDQpJWjNBUVNzQlVudUlkOU1jajhlNnVZaTFhZ25uYytnUlFLZlJ6TXBpalMzbGp3dW1VTktvVU1NbzZ2V3JKWWVLDQptcFljcVdlNFB3elY5L2xTRXkvQ0c5VndjUENQd0JMS0JzdWE0ZG5LTTNwMzF2anN1ZkZvUkVKSUU5TEF3cVN1DQpYbUQrdHFZRi9MVGRCMWtDMUZrWW1HUDFwV1Bna0F4OVhiSUdldk9GNnV2VUE2NWVoRDVmL3hYdGFiejVPVFp5DQpkYzkzVWszenlaQXN1VDNseVNOVFB4OGttQ0ZjQjVrcHZjWTY3T2R1aGpwcmwzUmpNNzFvR0RId2VJMTJ2L3llDQpqbDBxaHFkTmtOd25HamtDQXdFQUFhTkZNRU13SFFZRFZSME9CQllFRk9XZFdUQ0NSMWpNclBvSVZEYUdlenExDQpCRTN3TUJJR0ExVWRFd0VCL3dRSU1BWUJBZjhDQVFNd0RnWURWUjBQQVFIL0JBUURBZ0VHTUEwR0NTcUdTSWIzDQpEUUVCQlFVQUE0SUJBUUNGREYyTzVHOVJhRUlGb04yN1R5Y2xoQU85OTJUOUxkY3c0NlFRRit2YUtTbTJlVDkyDQo5aGtUSTdnUUN2bFlwTlJoY0wwRVlXb1NpaGZWQ3IzRnZEQjgxdWtNSlkyR1FFL3N6S04rT01ZM0VVL3QzV2d4DQpqa3pTc3dGMDdyNTFYZ2RJR245dy94WmNoTUI1aGJnRi9YKytaUkdqRDhBQ3RQaFNOemtFMWFreGVoaS9vQ3IwDQpFcG4zbzBXQzR6eGU5WjJldGNpZWZDN0lwSjVPQ0JSTGJmMXdiV3NhWTcxazVoKzN6dkR5bnk2N0c3ZnlVSWh6DQprc0xpNHhhTm1qSUNxNDRZM2VrUUVlNStOYXVRcno0d2xIclFNejJuWlEvMS9JNmVZczlIUkN3Qlhic2R0VExTDQpSOUk0THREK2dkd3lhaDYxN2p6Vi9PZUJIUm5ESkVMcVl6bXANCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCg0K"}}' headers: Accept: - application/json @@ -1041,15 +67,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1745' + - '1773' Content-Type: - application/json ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2022-01-01-preview response: body: string: '{"properties":{"type":"ContentCertificate","thumbprint":"d4de20d05e66fc53fe1a50882c78db2852cae474","issuer":"Baltimore @@ -1063,7 +89,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:46:58 GMT + - Thu, 24 Feb 2022 07:43:44 GMT expires: - '-1' pragma: @@ -1081,9 +107,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1101,9 +127,9 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: body: string: '{"properties":{"type":"ContentCertificate","thumbprint":"a8985d3a65e5e5c4b2d7d66d40c6dd2fb19c5436","issuer":"DigiCert @@ -1117,7 +143,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:00 GMT + - Thu, 24 Feb 2022 07:43:46 GMT expires: - '-1' pragma: @@ -1135,7 +161,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1153,9 +179,9 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2022-01-01-preview response: body: string: '{"properties":{"type":"ContentCertificate","thumbprint":"d4de20d05e66fc53fe1a50882c78db2852cae474","issuer":"Baltimore @@ -1169,7 +195,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:04 GMT + - Thu, 24 Feb 2022 07:43:48 GMT expires: - '-1' pragma: @@ -1187,7 +213,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1205,9 +231,9 @@ interactions: ParameterSetName: - -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates?api-version=2022-01-01-preview response: body: string: '{"value":[{"properties":{"type":"ContentCertificate","thumbprint":"a8985d3a65e5e5c4b2d7d66d40c6dd2fb19c5436","issuer":"DigiCert @@ -1223,7 +249,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:06 GMT + - Thu, 24 Feb 2022 07:43:51 GMT expires: - '-1' pragma: @@ -1241,7 +267,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1259,21 +285,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: - string: '{"value":[]}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' headers: cache-control: - no-cache content-length: - - '12' + - '771' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:09 GMT + - Thu, 24 Feb 2022 07:43:52 GMT expires: - '-1' pragma: @@ -1287,13 +313,13 @@ interactions: transfer-encoding: - chunked vary: - - Accept-Encoding + - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1311,21 +337,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"d764708db1d14a4db96444facb58de4c","networkProfile":{"outboundIPs":{"publicIPs":["137.135.42.100","137.135.52.107"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"westus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' + string: '{"error":{"code":"NotFound","message":"App was not found","target":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","details":null}}' headers: cache-control: - no-cache content-length: - - '450' + - '227' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:10 GMT + - Thu, 24 Feb 2022 07:43:54 GMT expires: - '-1' pragma: @@ -1336,19 +362,15 @@ interactions: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: - code: 200 - message: OK + code: 404 + message: Not Found - request: body: null headers: @@ -1363,23 +385,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: - string: '{"properties":{"type":"ContentCertificate","thumbprint":"d4de20d05e66fc53fe1a50882c78db2852cae474","issuer":"Baltimore - CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE","expirationDate":"2025-05-12T23:59:00.000+00:00","activateDate":"2000-05-12T18:46:00.000+00:00","subjectName":"Baltimore - CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE","dnsNames":[]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","name":"balti-cert"}' + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"6cd9062ba20843ac97492d47595a0f6c","networkProfile":{"outboundIPs":{"publicIPs":["20.85.155.209","20.85.155.224"]}},"powerState":"Running","fqdn":"cli-unittest.azuremicroservices.io"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T04:37:08.3742023Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T04:40:15.4945071Z"}}' headers: cache-control: - no-cache content-length: - - '582' + - '771' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:10 GMT + - Thu, 24 Feb 2022 07:43:54 GMT expires: - '-1' pragma: @@ -1396,16 +416,15 @@ interactions: - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK - request: - body: '{"properties": {"httpsOnly": false, "temporaryDisk": {"sizeInGB": 5, "mountPath": - "/tmp"}, "persistentDisk": {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": - false, "loadedCertificates": [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert", - "loadTrustStore": true}]}, "location": "westus"}' + body: null headers: Accept: - application/json @@ -1415,80 +434,26 @@ interactions: - spring-cloud app create Connection: - keep-alive - Content-Length: - - '418' - Content-Type: - - application/json ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview - response: - body: - string: '{"properties":{"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/b7f7906c-4e5d-4bc8-b917-ebea95537023?api-version=2021-09-01-preview - cache-control: - - no-cache - content-length: - - '664' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:47:11 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationResults/b7f7906c-4e5d-4bc8-b917-ebea95537023/Spring/test-app?api-version=2021-09-01-preview - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud create - Connection: - - keep-alive - ParameterSetName: - - -n -g -l - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/c24874c9-17d6-4dee-9d51-4d7b58bc490d?api-version=2020-11-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/c24874c9-17d6-4dee-9d51-4d7b58bc490d","name":"c24874c9-17d6-4dee-9d51-4d7b58bc490d","status":"Succeeded","startTime":"2021-10-26T04:46:52.2589859Z","endTime":"2021-10-26T04:46:59.4805245Z"}' + string: '{"properties":{"type":"ContentCertificate","thumbprint":"d4de20d05e66fc53fe1a50882c78db2852cae474","issuer":"Baltimore + CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE","expirationDate":"2025-05-12T23:59:00.000+00:00","activateDate":"2000-05-12T18:46:00.000+00:00","subjectName":"Baltimore + CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE","dnsNames":[]},"type":"Microsoft.AppPlatform/Spring/certificates","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","name":"balti-cert"}' headers: cache-control: - no-cache content-length: - - '356' + - '582' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:22 GMT + - Thu, 24 Feb 2022 07:43:55 GMT expires: - '-1' pragma: @@ -1506,41 +471,52 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK - request: - body: null + body: '{"properties": {"public": false, "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "enableEndToEndTLS": false, "loadedCertificates": [{"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert", + "loadTrustStore": true}]}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: - - spring-cloud create + - spring-cloud app create Connection: - keep-alive + Content-Length: + - '350' + Content-Type: + - application/json ParameterSetName: - - -n -g -l + - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/monitoringSettings/default?api-version=2020-11-01-preview + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"appInsightsSamplingRate":10.0,"appInsightsAgentVersions":{"java":"3.1.1"},"provisioningState":"Succeeded","traceEnabled":true,"appInsightsInstrumentationKey":"InstrumentationKey=a5003446-85bd-454b-aaa8-07fdc84d3eff;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/"},"type":"Microsoft.AppPlatform/Spring/monitoringSettings","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/monitoringSettings/default","name":"default"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Creating","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:43:57.3330236Z"}}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/836aeab4-1a03-4ddb-8731-72ab437adfda?api-version=2022-01-01-preview cache-control: - no-cache content-length: - - '533' + - '927' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:22 GMT + - Thu, 24 Feb 2022 07:43:57 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/836aeab4-1a03-4ddb-8731-72ab437adfda/Spring/test-app-cert?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1549,17 +525,15 @@ interactions: - nginx/1.17.7 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: @@ -1574,21 +548,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/b7f7906c-4e5d-4bc8-b917-ebea95537023?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/836aeab4-1a03-4ddb-8731-72ab437adfda?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/b7f7906c-4e5d-4bc8-b917-ebea95537023","name":"b7f7906c-4e5d-4bc8-b917-ebea95537023","status":"Succeeded","startTime":"2021-10-26T04:47:11.1295199Z","endTime":"2021-10-26T04:47:17.6389158Z"}' + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/836aeab4-1a03-4ddb-8731-72ab437adfda","name":"836aeab4-1a03-4ddb-8731-72ab437adfda","status":"Succeeded","startTime":"2022-02-24T07:43:57.8729496Z","endTime":"2022-02-24T07:44:04.2551581Z"}' headers: cache-control: - no-cache content-length: - - '352' + - '357' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:41 GMT + - Thu, 24 Feb 2022 07:44:28 GMT expires: - '-1' pragma: @@ -1606,7 +580,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1624,21 +598,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:43:57.3330236Z"}}' headers: cache-control: - no-cache content-length: - - '750' + - '1030' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:41 GMT + - Thu, 24 Feb 2022 07:44:28 GMT expires: - '-1' pragma: @@ -1656,16 +630,17 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11998' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK - request: - body: '{"properties": {"source": {"type": "Jar", "relativePath": ""}, - "deploymentSettings": {"resourceRequests": {"cpu": "1", "memory": "1Gi"}}}, - "sku": {"name": "S0", "tier": "STANDARD", "capacity": 1}}' + body: '{"properties": {"source": {"type": "Jar", "relativePath": "", + "runtimeVersion": "Java_8"}, "deploymentSettings": {"resourceRequests": {"cpu": + "1", "memory": "1Gi"}}, "active": true}, "sku": {"name": "S0", "tier": "Standard", + "capacity": 1}}' headers: Accept: - application/json @@ -1676,33 +651,33 @@ interactions: Connection: - keep-alive Content-Length: - - '205' + - '249' Content-Type: - application/json ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/deployments/mock-deployment?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":""},"appName":"test-app","deploymentSettings":{"cpu":1,"memoryInGB":1,"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null,"runtimeVersion":"Java_8"},"provisioningState":"Creating","status":"Running","active":false,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/deployments/default","name":"default"}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Creating","status":"Running","active":true,"instances":null},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:44:33.6483289Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:33.6483289Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview cache-control: - no-cache content-length: - - '603' + - '799' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:49 GMT + - Thu, 24 Feb 2022 07:44:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationResults/61f377c1-8748-4c0a-b6a0-5dfc6706abb8/Spring/default?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/34dce6f4-4d28-43c5-b906-ec31bb70ae08/Spring/default?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1714,18 +689,15 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1199' + - '1198' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 201 message: Created - request: - body: '{"properties": {"public": false, "activeDeploymentName": "default", "httpsOnly": - false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": - {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false, "loadedCertificates": - [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert", - "loadTrustStore": true}]}, "location": "westus"}' + body: '{"properties": {"public": false, "httpsOnly": false, "enableEndToEndTLS": + false}}' headers: Accept: - application/json @@ -1736,33 +708,33 @@ interactions: Connection: - keep-alive Content-Length: - - '470' + - '81' Content-Type: - application/json ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"public":false,"provisioningState":"Updating","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:35.2183391Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/cd0e4264-592e-4245-9312-bbd5af507175?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/34438d4f-e656-4c3d-970f-a4519a75a6f7?api-version=2022-01-01-preview cache-control: - no-cache content-length: - - '782' + - '1029' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:47:50 GMT + - Thu, 24 Feb 2022 07:44:35 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationResults/cd0e4264-592e-4245-9312-bbd5af507175/Spring/test-app?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/34438d4f-e656-4c3d-970f-a4519a75a6f7/Spring/test-app-cert?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1776,7 +748,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '1198' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 202 message: Accepted @@ -1794,21 +766,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8","name":"61f377c1-8748-4c0a-b6a0-5dfc6706abb8","status":"Running","startTime":"2021-10-26T04:47:49.4646312Z"}' + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08","name":"34dce6f4-4d28-43c5-b906-ec31bb70ae08","status":"Running","startTime":"2022-02-24T07:44:34.302057Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '307' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:48:19 GMT + - Thu, 24 Feb 2022 07:45:04 GMT expires: - '-1' pragma: @@ -1826,7 +798,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1844,21 +816,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/cd0e4264-592e-4245-9312-bbd5af507175?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/34438d4f-e656-4c3d-970f-a4519a75a6f7?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/cd0e4264-592e-4245-9312-bbd5af507175","name":"cd0e4264-592e-4245-9312-bbd5af507175","status":"Succeeded","startTime":"2021-10-26T04:47:50.5228054Z","endTime":"2021-10-26T04:47:59.6856692Z"}' + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/34438d4f-e656-4c3d-970f-a4519a75a6f7","name":"34438d4f-e656-4c3d-970f-a4519a75a6f7","status":"Succeeded","startTime":"2022-02-24T07:44:35.435256Z","endTime":"2022-02-24T07:44:41.5745146Z"}' headers: cache-control: - no-cache content-length: - - '352' + - '356' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:48:21 GMT + - Thu, 24 Feb 2022 07:45:05 GMT expires: - '-1' pragma: @@ -1876,7 +848,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1894,21 +866,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:35.2183391Z"}}' headers: cache-control: - no-cache content-length: - - '783' + - '1030' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:48:21 GMT + - Thu, 24 Feb 2022 07:45:05 GMT expires: - '-1' pragma: @@ -1926,59 +898,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11996' - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud app create - Connection: - - keep-alive - ParameterSetName: - - --name -f -g -s - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8?api-version=2021-09-01-preview - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8","name":"61f377c1-8748-4c0a-b6a0-5dfc6706abb8","status":"Running","startTime":"2021-10-26T04:47:49.4646312Z"}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:48:30 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff + - '11997' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -1996,21 +918,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8","name":"61f377c1-8748-4c0a-b6a0-5dfc6706abb8","status":"Running","startTime":"2021-10-26T04:47:49.4646312Z"}' + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08","name":"34dce6f4-4d28-43c5-b906-ec31bb70ae08","status":"Running","startTime":"2022-02-24T07:44:34.302057Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '307' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:48:40 GMT + - Thu, 24 Feb 2022 07:45:15 GMT expires: - '-1' pragma: @@ -2028,7 +950,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2046,21 +968,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8","name":"61f377c1-8748-4c0a-b6a0-5dfc6706abb8","status":"Running","startTime":"2021-10-26T04:47:49.4646312Z"}' + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08","name":"34dce6f4-4d28-43c5-b906-ec31bb70ae08","status":"Running","startTime":"2022-02-24T07:44:34.302057Z"}' headers: cache-control: - no-cache content-length: - - '308' + - '307' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:48:50 GMT + - Thu, 24 Feb 2022 07:45:25 GMT expires: - '-1' pragma: @@ -2078,7 +1000,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2096,21 +1018,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/default/operationId/61f377c1-8748-4c0a-b6a0-5dfc6706abb8","name":"61f377c1-8748-4c0a-b6a0-5dfc6706abb8","status":"Succeeded","startTime":"2021-10-26T04:47:49.4646312Z","endTime":"2021-10-26T04:48:52.2500319Z"}' + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/34dce6f4-4d28-43c5-b906-ec31bb70ae08","name":"34dce6f4-4d28-43c5-b906-ec31bb70ae08","status":"Succeeded","startTime":"2022-02-24T07:44:34.302057Z","endTime":"2022-02-24T07:45:33.8718333Z"}' headers: cache-control: - no-cache content-length: - - '351' + - '350' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:01 GMT + - Thu, 24 Feb 2022 07:45:36 GMT expires: - '-1' pragma: @@ -2128,7 +1050,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2146,21 +1068,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/deployments/mock-deployment?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/mock-deployment?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":""},"appName":"test-app","deploymentSettings":{"cpu":1,"memoryInGB":1,"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null,"runtimeVersion":"Java_8"},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-default-8-56c8b87cd6-kjpn4","status":"Running","discoveryStatus":"UP","startTime":"2021-10-26T04:47:57Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/deployments/default","name":"default"}' + string: '{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-cert-default-13-67bc48df4c-6x58h","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T07:44:37Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:44:33.6483289Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:33.6483289Z"}}' headers: cache-control: - no-cache content-length: - - '724' + - '927' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:01 GMT + - Thu, 24 Feb 2022 07:45:36 GMT expires: - '-1' pragma: @@ -2178,9 +1100,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2198,21 +1120,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/deployments/mock-deployment?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"source":{"type":"Jar","relativePath":""},"appName":"test-app","deploymentSettings":{"cpu":1,"memoryInGB":1,"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null,"runtimeVersion":"Java_8"},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-default-8-56c8b87cd6-kjpn4","status":"Running","discoveryStatus":"UP","startTime":"2021-10-26T04:47:57Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app/deployments/default","name":"default"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:35.2183391Z"}}' headers: cache-control: - no-cache content-length: - - '724' + - '1030' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:06 GMT + - Thu, 24 Feb 2022 07:45:40 GMT expires: - '-1' pragma: @@ -2230,9 +1152,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11996' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2250,21 +1172,21 @@ interactions: ParameterSetName: - --name -f -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments?api-version=2022-01-01-preview response: body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' + string: '{"value":[{"properties":{"source":{"type":"Jar","relativePath":"","runtimeVersion":"Java_8"},"deploymentSettings":{"resourceRequests":{"cpu":"1","memory":"1Gi"},"environmentVariables":null},"provisioningState":"Succeeded","status":"Running","active":true,"instances":[{"name":"test-app-cert-default-13-67bc48df4c-6x58h","status":"Running","discoveryStatus":"UP","startTime":"2022-02-24T07:44:37Z"}]},"type":"Microsoft.AppPlatform/Spring/apps/deployments","sku":{"name":"S0","tier":"Standard","capacity":1},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert/deployments/default","name":"default","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:44:33.6483289Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:33.6483289Z"}}]}' headers: cache-control: - no-cache content-length: - - '783' + - '939' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:06 GMT + - Thu, 24 Feb 2022 07:45:41 GMT expires: - '-1' pragma: @@ -2282,9 +1204,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11995' + - '11997' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2302,21 +1224,21 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:44:35.2183391Z"}}' headers: cache-control: - no-cache content-length: - - '783' + - '1030' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:09 GMT + - Thu, 24 Feb 2022 07:45:43 GMT expires: - '-1' pragma: @@ -2334,9 +1256,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11991' + - '11999' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2354,9 +1276,9 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: body: string: '{"properties":{"type":"ContentCertificate","thumbprint":"a8985d3a65e5e5c4b2d7d66d40c6dd2fb19c5436","issuer":"DigiCert @@ -2370,7 +1292,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:10 GMT + - Thu, 24 Feb 2022 07:45:44 GMT expires: - '-1' pragma: @@ -2388,17 +1310,18 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK - request: - body: '{"properties": {"public": false, "activeDeploymentName": "default", "fqdn": - "cli-unittest.azuremicroservices.io", "httpsOnly": false, "temporaryDisk": {"sizeInGB": - 5, "mountPath": "/tmp"}, "persistentDisk": {"sizeInGB": 0, "mountPath": "/persistent"}, - "enableEndToEndTLS": false, "loadedCertificates": [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert", + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {}}, "fqdn": "cli-unittest.azuremicroservices.io", "httpsOnly": + false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false, "loadedCertificates": + [{"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert", "loadTrustStore": true}, {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert", - "loadTrustStore": true}]}, "location": "westus"}' + "loadTrustStore": true}]}, "location": "eastus"}' headers: Accept: - application/json @@ -2409,33 +1332,33 @@ interactions: Connection: - keep-alive Content-Length: - - '705' + - '750' Content-Type: - application/json ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.1.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"public":false,"provisioningState":"Updating","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/6ff9a588-8ca5-4328-bc87-098410255cf6?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/f76ea374-46d5-44ca-9646-5d9c75b9f512?api-version=2022-01-01-preview cache-control: - no-cache content-length: - - '967' + - '1214' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:10 GMT + - Thu, 24 Feb 2022 07:45:44 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationResults/6ff9a588-8ca5-4328-bc87-098410255cf6/Spring/test-app?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/f76ea374-46d5-44ca-9646-5d9c75b9f512/Spring/test-app-cert?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -2447,9 +1370,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '1197' + - '1199' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 202 message: Accepted @@ -2467,21 +1390,21 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/6ff9a588-8ca5-4328-bc87-098410255cf6?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/f76ea374-46d5-44ca-9646-5d9c75b9f512?api-version=2022-01-01-preview response: body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/test-app/operationId/6ff9a588-8ca5-4328-bc87-098410255cf6","name":"6ff9a588-8ca5-4328-bc87-098410255cf6","status":"Succeeded","startTime":"2021-10-26T04:49:11.1941502Z","endTime":"2021-10-26T04:49:17.7100335Z"}' + string: '{"id":"subscriptions/d51e3ffe-6b84-49cd-b426-0dc4ec660356/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/test-app-cert/operationId/f76ea374-46d5-44ca-9646-5d9c75b9f512","name":"f76ea374-46d5-44ca-9646-5d9c75b9f512","status":"Succeeded","startTime":"2022-02-24T07:45:45.0486996Z","endTime":"2022-02-24T07:45:51.2296322Z"}' headers: cache-control: - no-cache content-length: - - '352' + - '357' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:41 GMT + - Thu, 24 Feb 2022 07:46:16 GMT expires: - '-1' pragma: @@ -2499,7 +1422,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2517,21 +1440,21 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}}' headers: cache-control: - no-cache content-length: - - '968' + - '1215' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:41 GMT + - Thu, 24 Feb 2022 07:46:17 GMT expires: - '-1' pragma: @@ -2549,9 +1472,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11990' + - '11998' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2569,21 +1492,21 @@ interactions: ParameterSetName: - --name --certificate-name --load-trust-store -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert?api-version=2022-01-01-preview response: body: - string: '{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}' + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}}' headers: cache-control: - no-cache content-length: - - '968' + - '1215' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:43 GMT + - Thu, 24 Feb 2022 07:46:17 GMT expires: - '-1' pragma: @@ -2601,9 +1524,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11989' + - '11997' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2621,21 +1544,21 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}]}' + string: '{"value":[{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T06:55:49.1223218Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T06:56:34.5974952Z"}}]}' headers: cache-control: - no-cache content-length: - - '980' + - '2051' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:45 GMT + - Thu, 24 Feb 2022 07:46:19 GMT expires: - '-1' pragma: @@ -2655,7 +1578,7 @@ interactions: x-ms-ratelimit-remaining-subscription-resource-requests: - '11999' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2673,9 +1596,9 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: body: string: '{"properties":{"type":"ContentCertificate","thumbprint":"a8985d3a65e5e5c4b2d7d66d40c6dd2fb19c5436","issuer":"DigiCert @@ -2689,7 +1612,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:47 GMT + - Thu, 24 Feb 2022 07:46:19 GMT expires: - '-1' pragma: @@ -2707,7 +1630,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2725,21 +1648,21 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps?api-version=2022-01-01-preview response: body: - string: '{"value":[{"properties":{"public":false,"provisioningState":"Succeeded","activeDeploymentName":"default","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"createdTime":"2021-10-26T04:47:17.606Z","temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app","name":"test-app"}]}' + string: '{"value":[{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"loadedCertificates":[{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/balti-cert","loadTrustStore":true},{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert","loadTrustStore":true}],"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-app-cert","name":"test-app-cert","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T07:43:57.3330236Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T07:45:44.8391656Z"}},{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"cli-unittest.azuremicroservices.io","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/apps/test-container","name":"test-container","systemData":{"createdBy":"qingyliu@microsoft.com","createdByType":"User","createdAt":"2022-02-24T06:55:49.1223218Z","lastModifiedBy":"qingyliu@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-02-24T06:56:34.5974952Z"}}]}' headers: cache-control: - no-cache content-length: - - '980' + - '2051' content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:50 GMT + - Thu, 24 Feb 2022 07:46:22 GMT expires: - '-1' pragma: @@ -2757,9 +1680,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11990' + - '11998' x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK @@ -2777,9 +1700,9 @@ interactions: ParameterSetName: - --name -g -s User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.8.10 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + - AZURECLI/2.33.1 azsdk-python-mgmt-appplatform/6.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/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/certificates/digi-cert?api-version=2022-01-01-preview response: body: string: '{"properties":{"type":"ContentCertificate","thumbprint":"a8985d3a65e5e5c4b2d7d66d40c6dd2fb19c5436","issuer":"DigiCert @@ -2793,109 +1716,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 26 Oct 2021 04:49:50 GMT - expires: - - '-1' - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding,Accept-Encoding - x-content-type-options: - - nosniff - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -n -g - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 - response: - body: - string: '' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/704ca4fe-2723-4f4a-a09c-a3dc8f49f0c7?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '0' - date: - - Tue, 26 Oct 2021 04:49:53 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationResults/704ca4fe-2723-4f4a-a09c-a3dc8f49f0c7/Spring/cli-unittest?api-version=2020-07-01 - pragma: - - no-cache - request-context: - - appId=cid-v1:797d7e4e-8180-497e-a254-780fbd39ba4d - server: - - nginx/1.17.7 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - spring-cloud delete - Connection: - - keep-alive - ParameterSetName: - - -n -g - User-Agent: - - AZURECLI/2.27.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.10 (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/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/704ca4fe-2723-4f4a-a09c-a3dc8f49f0c7?api-version=2020-07-01 - response: - body: - string: '{"id":"subscriptions/799c12ba-353c-44a1-883d-84808ebb2216/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/westus/operationStatus/cli-unittest/operationId/704ca4fe-2723-4f4a-a09c-a3dc8f49f0c7","name":"704ca4fe-2723-4f4a-a09c-a3dc8f49f0c7","status":"Succeeded","startTime":"2021-10-26T04:49:53.7382474Z","endTime":"2021-10-26T04:50:12.1725741Z"}' - headers: - cache-control: - - no-cache - content-length: - - '356' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 26 Oct 2021 04:50:23 GMT + - Thu, 24 Feb 2022 07:46:22 GMT expires: - '-1' pragma: @@ -2913,7 +1734,7 @@ interactions: x-content-type-options: - nosniff x-rp-server-mvid: - - c98d556d-0be2-4fd7-8a47-2c7368eb00a4 + - ebc692a4-c2cd-44f5-bba2-1b5e5f04cb14 status: code: 200 message: OK diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_persistent_storage.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_persistent_storage.yaml index 362ade38074..f337fdbf00a 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_persistent_storage.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_persistent_storage.yaml @@ -17,7 +17,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.9.5 (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-06-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-08-01&$expand=kerb response: body: string: '{"keys":[{"creationTime":"2021-10-26T08:47:32.5868758Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-10-26T08:47:32.5868758Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' @@ -70,13 +70,13 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"d02bc17e71de4826ad71e465b31f03bc"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"centralus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -88,7 +88,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationResults/a447ef32-a6f1-4098-b6f4-7fb4900230c3/Spring/cli-unittest?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationResults/a447ef32-a6f1-4098-b6f4-7fb4900230c3/Spring/cli-unittest?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -122,7 +122,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -172,7 +172,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -222,7 +222,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -272,7 +272,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -322,7 +322,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -372,7 +372,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -422,7 +422,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -472,7 +472,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -522,7 +522,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -572,7 +572,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -622,7 +622,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -672,7 +672,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -722,7 +722,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -772,7 +772,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Running","startTime":"2021-10-26T08:48:03.8173569Z"}' @@ -822,7 +822,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/a447ef32-a6f1-4098-b6f4-7fb4900230c3","name":"a447ef32-a6f1-4098-b6f4-7fb4900230c3","status":"Succeeded","startTime":"2021-10-26T08:48:03.8173569Z","endTime":"2021-10-26T08:50:53.6591342Z"}' @@ -872,7 +872,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"d02bc17e71de4826ad71e465b31f03bc","networkProfile":{"outboundIPs":{"publicIPs":["20.84.215.209","20.84.215.243"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"centralus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' @@ -1046,7 +1046,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2022-01-01-preview response: body: string: '{"type":"Microsoft.AppPlatform/Spring/storages","properties":{"accountName":"clitest000002","accountKey":"AqW******","storageType":"StorageAccount"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name","name":"test-storage-name"}' @@ -1098,7 +1098,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2022-01-01-preview response: body: string: '{"type":"Microsoft.AppPlatform/Spring/storages","properties":{"accountName":"clitest000002","accountKey":"AqW******","storageType":"StorageAccount"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name","name":"test-storage-name"}' @@ -1148,7 +1148,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages?api-version=2022-01-01-preview response: body: string: '{"value":[{"type":"Microsoft.AppPlatform/Spring/storages","properties":{"accountName":"clitest000002","accountKey":"AqW******","storageType":"StorageAccount"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name","name":"test-storage-name"}]}' @@ -1198,7 +1198,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2022-01-01-preview response: body: string: '{"type":"Microsoft.AppPlatform/Spring/storages","properties":{"accountName":"clitest000002","accountKey":"AqW******","storageType":"StorageAccount"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name","name":"test-storage-name"}' @@ -1250,7 +1250,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2022-01-01-preview response: body: string: '' @@ -1296,7 +1296,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest/storages/test-storage-name?api-version=2022-01-01-preview response: body: string: '{"error":{"code":"EntityNotFound","message":"Storage ''test-storage-name'' @@ -1345,13 +1345,13 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -1361,7 +1361,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationResults/99ced971-7792-4c39-9608-e2a292b0034d/Spring/cli-unittest?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationResults/99ced971-7792-4c39-9608-e2a292b0034d/Spring/cli-unittest?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1495,7 +1495,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1545,7 +1545,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1595,7 +1595,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1645,7 +1645,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1695,7 +1695,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1745,7 +1745,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1795,7 +1795,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1845,7 +1845,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1895,7 +1895,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1945,7 +1945,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -1995,7 +1995,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2045,7 +2045,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2095,7 +2095,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2145,7 +2145,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2195,7 +2195,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2245,7 +2245,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2295,7 +2295,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2345,7 +2345,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2395,7 +2395,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2445,7 +2445,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2495,7 +2495,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2545,7 +2545,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2595,7 +2595,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2645,7 +2645,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2695,7 +2695,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2745,7 +2745,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2795,7 +2795,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2845,7 +2845,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2895,7 +2895,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2945,7 +2945,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -2995,7 +2995,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3045,7 +3045,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3095,7 +3095,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3145,7 +3145,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3195,7 +3195,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3245,7 +3245,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3295,7 +3295,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3345,7 +3345,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3395,7 +3395,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3445,7 +3445,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3495,7 +3495,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3545,7 +3545,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3595,7 +3595,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3645,7 +3645,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Running","startTime":"2021-10-26T08:51:22.1137784Z"}' @@ -3695,7 +3695,7 @@ interactions: User-Agent: - AZURECLI/2.28.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.5 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/6c933f90-8115-4392-90f2-7077c9fa5dbd/resourceGroups/clitest.rg000001/providers/Microsoft.AppPlatform/locations/centralus/operationStatus/cli-unittest/operationId/99ced971-7792-4c39-9608-e2a292b0034d","name":"99ced971-7792-4c39-9608-e2a292b0034d","status":"Succeeded","startTime":"2021-10-26T08:51:22.1137784Z","endTime":"2021-10-26T08:59:19.4272515Z"}' diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_service_registry.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_service_registry.yaml new file mode 100644 index 00000000000..a876d8fea36 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_service_registry.yaml @@ -0,0 +1,636 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry show + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:03:59 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry show + Connection: + - keep-alive + ParameterSetName: + - -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","resourceRequests":{"cpu":"500m","memory":"1Gi","instanceCount":2},"instances":[{"name":"eureka-tx-enterprise-default-46b1d-0","status":"Running"},{"name":"eureka-tx-enterprise-default-46b1d-1","status":"Running"}]},"type":"Microsoft.AppPlatform/Spring/serviceRegistries","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default","name":"default","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:06:58.2883486Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:06:58.2883486Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '724' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:01 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry bind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:02 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry bind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T09:58:06.8878401Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:04 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default"}}, + "fqdn": "tx-enterprise.asc-test.net", "httpsOnly": false, "temporaryDisk": {"sizeInGB": + 5, "mountPath": "/tmp"}, "persistentDisk": {"sizeInGB": 0, "mountPath": "/persistent"}, + "enableEndToEndTLS": false}, "location": "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry bind + Connection: + - keep-alive + Content-Length: + - '503' + Content-Type: + - application/json + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default"}},"public":false,"provisioningState":"Updating","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T10:04:05.328464Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/506c6f50-0a8f-44c3-85be-42944e163b92?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '952' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/506c6f50-0a8f-44c3-85be-42944e163b92/Spring/app1?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1199' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry bind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/506c6f50-0a8f-44c3-85be-42944e163b92?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/506c6f50-0a8f-44c3-85be-42944e163b92","name":"506c6f50-0a8f-44c3-85be-42944e163b92","status":"Succeeded","startTime":"2022-01-02T10:04:05.6375064Z","endTime":"2022-01-02T10:04:13.1807301Z"}' + headers: + cache-control: + - no-cache + content-length: + - '347' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:35 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry bind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default"}},"public":false,"provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T10:04:05.328464Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '953' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:36 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry unbind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"provisioningState":"Succeeded","zoneRedundant":false,"version":3,"serviceId":"cce4c6aa1eb34765b9312229666db8bf","networkProfile":{"outboundIPs":{"publicIPs":["52.188.92.61","52.226.99.235"]}},"powerState":"Running","fqdn":"tx-enterprise.asc-test.net"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"E0","tier":"Enterprise"},"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise","name":"tx-enterprise","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:01:01.7469068Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T08:01:01.7469068Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '761' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:37 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11998' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry unbind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{"resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default"}},"public":false,"provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T10:04:05.328464Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '953' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:38 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11997' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: '{"properties": {"public": false, "addonConfigs": {"applicationConfigurationService": + {}, "serviceRegistry": {"resourceId": ""}}, "fqdn": "tx-enterprise.asc-test.net", + "httpsOnly": false, "temporaryDisk": {"sizeInGB": 5, "mountPath": "/tmp"}, "persistentDisk": + {"sizeInGB": 0, "mountPath": "/persistent"}, "enableEndToEndTLS": false}, "location": + "eastus"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry unbind + Connection: + - keep-alive + Content-Length: + - '355' + Content-Type: + - application/json + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Updating","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T10:04:39.3286258Z"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/9030ad8d-8a63-47c6-bf56-05ebc9b2c99d?api-version=2022-01-01-preview + cache-control: + - no-cache + content-length: + - '790' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:04:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationResults/9030ad8d-8a63-47c6-bf56-05ebc9b2c99d/Spring/app1?api-version=2022-01-01-preview + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '1198' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry unbind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/9030ad8d-8a63-47c6-bf56-05ebc9b2c99d?api-version=2022-01-01-preview + response: + body: + string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/tx/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/app1/operationId/9030ad8d-8a63-47c6-bf56-05ebc9b2c99d","name":"9030ad8d-8a63-47c6-bf56-05ebc9b2c99d","status":"Succeeded","startTime":"2022-01-02T10:04:39.72966Z","endTime":"2022-01-02T10:04:46.0739961Z"}' + headers: + cache-control: + - no-cache + content-length: + - '345' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:05:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - spring-cloud service-registry unbind + Connection: + - keep-alive + ParameterSetName: + - --app -g -s + User-Agent: + - AZURECLI/2.31.0 azsdk-python-mgmt-appplatform/6.1.0 Python/3.8.5 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1?api-version=2022-01-01-preview + response: + body: + string: '{"properties":{"addonConfigs":{"applicationConfigurationService":{},"serviceRegistry":{}},"public":false,"provisioningState":"Succeeded","fqdn":"tx-enterprise.asc-test.net","httpsOnly":false,"temporaryDisk":{"sizeInGB":5,"mountPath":"/tmp"},"persistentDisk":{"sizeInGB":0,"mountPath":"/persistent"},"enableEndToEndTLS":false},"type":"Microsoft.AppPlatform/Spring/apps","identity":null,"location":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/app1","name":"app1","systemData":{"createdBy":"ninpan@microsoft.com","createdByType":"User","createdAt":"2022-01-02T08:51:32.7656261Z","lastModifiedBy":"ninpan@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2022-01-02T10:04:39.3286258Z"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Sun, 02 Jan 2022 10:05:10 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:ccd65fc4-7cd4-497e-8dc8-9a76e9a43ae2 + server: + - nginx/1.17.7 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11996' + x-rp-server-mvid: + - 321c357a-0cac-46b7-9d43-83f4ddaa38b8 + status: + code: 200 + message: OK +version: 1 diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_stop_and_start_service.yaml b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_stop_and_start_service.yaml index 7e66d062cfb..81fd9810890 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_stop_and_start_service.yaml +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/recordings/test_stop_and_start_service.yaml @@ -66,13 +66,13 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Creating","version":3,"serviceId":"372f4f64b9d743ea87fc58b6f22f7f99"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -84,7 +84,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/fddfa001-33e0-4a23-905c-e74df1651d02/Spring/cli-unittest?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/fddfa001-33e0-4a23-905c-e74df1651d02/Spring/cli-unittest?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -118,7 +118,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -168,7 +168,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -218,7 +218,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -268,7 +268,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -318,7 +318,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -368,7 +368,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -418,7 +418,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -468,7 +468,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -518,7 +518,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -568,7 +568,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -618,7 +618,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -668,7 +668,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -718,7 +718,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -768,7 +768,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Running","startTime":"2021-11-01T10:24:06.3409877Z"}' @@ -818,7 +818,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/fddfa001-33e0-4a23-905c-e74df1651d02","name":"fddfa001-33e0-4a23-905c-e74df1651d02","status":"Succeeded","startTime":"2021-11-01T10:24:06.3409877Z","endTime":"2021-11-01T10:27:23.6201276Z"}' @@ -868,7 +868,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"372f4f64b9d743ea87fc58b6f22f7f99","networkProfile":{"outboundIPs":{"publicIPs":["52.151.207.108","20.72.148.52"]}}},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' @@ -1037,7 +1037,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"372f4f64b9d743ea87fc58b6f22f7f99","networkProfile":{"outboundIPs":{"publicIPs":["52.151.207.108","20.72.148.52"]}},"powerState":"Running"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' @@ -1091,13 +1091,13 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/stop?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/stop?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -1107,7 +1107,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/62cf0c84-402b-4c7e-8ee0-e27185bc96b9/Spring/cli-unittest?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/62cf0c84-402b-4c7e-8ee0-e27185bc96b9/Spring/cli-unittest?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -1241,7 +1241,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1291,7 +1291,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1341,7 +1341,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1391,7 +1391,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1441,7 +1441,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1491,7 +1491,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1541,7 +1541,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1591,7 +1591,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1641,7 +1641,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1691,7 +1691,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1741,7 +1741,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1791,7 +1791,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1841,7 +1841,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1891,7 +1891,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1941,7 +1941,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -1991,7 +1991,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -2041,7 +2041,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -2091,7 +2091,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -2141,7 +2141,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Running","startTime":"2021-11-01T10:27:52.9151919Z"}' @@ -2191,7 +2191,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/62cf0c84-402b-4c7e-8ee0-e27185bc96b9","name":"62cf0c84-402b-4c7e-8ee0-e27185bc96b9","status":"Succeeded","startTime":"2021-11-01T10:27:52.9151919Z","endTime":"2021-11-01T10:31:41.7339366Z"}' @@ -2241,7 +2241,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"372f4f64b9d743ea87fc58b6f22f7f99","networkProfile":{"outboundIPs":{"publicIPs":["52.151.207.108","20.72.148.52"]}},"powerState":"Stopped"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' @@ -2293,7 +2293,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"372f4f64b9d743ea87fc58b6f22f7f99","networkProfile":{"outboundIPs":{"publicIPs":["52.151.207.108","20.72.148.52"]}},"powerState":"Stopped"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' @@ -2347,13 +2347,13 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/start?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest/start?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -2363,7 +2363,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/141d7b87-d74c-4c6f-9e10-41be6aa6140a/Spring/cli-unittest?api-version=2021-09-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/141d7b87-d74c-4c6f-9e10-41be6aa6140a/Spring/cli-unittest?api-version=2022-01-01-preview pragma: - no-cache request-context: @@ -2397,7 +2397,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a","name":"141d7b87-d74c-4c6f-9e10-41be6aa6140a","status":"Running","startTime":"2021-11-01T10:31:46.4415691Z"}' @@ -2447,7 +2447,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a","name":"141d7b87-d74c-4c6f-9e10-41be6aa6140a","status":"Running","startTime":"2021-11-01T10:31:46.4415691Z"}' @@ -2497,7 +2497,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a","name":"141d7b87-d74c-4c6f-9e10-41be6aa6140a","status":"Running","startTime":"2021-11-01T10:31:46.4415691Z"}' @@ -2547,7 +2547,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a","name":"141d7b87-d74c-4c6f-9e10-41be6aa6140a","status":"Running","startTime":"2021-11-01T10:31:46.4415691Z"}' @@ -2597,7 +2597,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a","name":"141d7b87-d74c-4c6f-9e10-41be6aa6140a","status":"Running","startTime":"2021-11-01T10:31:46.4415691Z"}' @@ -2647,7 +2647,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a?api-version=2022-01-01-preview response: body: string: '{"id":"subscriptions/0753feba-86f1-4242-aff1-27938fb04531/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/141d7b87-d74c-4c6f-9e10-41be6aa6140a","name":"141d7b87-d74c-4c6f-9e10-41be6aa6140a","status":"Succeeded","startTime":"2021-11-01T10:31:46.4415691Z","endTime":"2021-11-01T10:33:02.4384705Z"}' @@ -2697,7 +2697,7 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/1.0.0b1 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2021-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '{"properties":{"provisioningState":"Succeeded","version":3,"serviceId":"372f4f64b9d743ea87fc58b6f22f7f99","networkProfile":{"outboundIPs":{"publicIPs":["52.151.207.108","20.72.148.52"]}},"powerState":"Running"},"type":"Microsoft.AppPlatform/Spring","sku":{"name":"S0","tier":"Standard"},"location":"eastus","tags":null,"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest","name":"cli-unittest"}' @@ -2751,13 +2751,13 @@ interactions: User-Agent: - AZURECLI/2.29.1 azsdk-python-mgmt-appplatform/6.1.0 Python/3.9.7 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/Spring/cli-unittest?api-version=2022-01-01-preview response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/3cd9899a-cb10-4ce4-b310-6a0cf139892d?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/cli-unittest/operationId/3cd9899a-cb10-4ce4-b310-6a0cf139892d?api-version=2022-01-01-preview cache-control: - no-cache content-length: @@ -2767,7 +2767,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/3cd9899a-cb10-4ce4-b310-6a0cf139892d/Spring/cli-unittest?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli/providers/Microsoft.AppPlatform/locations/eastus/operationResults/3cd9899a-cb10-4ce4-b310-6a0cf139892d/Spring/cli-unittest?api-version=2022-01-01-preview pragma: - no-cache request-context: diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_api_portal.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_api_portal.py new file mode 100644 index 00000000000..cd7ca51931b --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_api_portal.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, record_only) + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + + +@record_only() +class ApiPortalTest(ScenarioTest): + + def test_api_portal(self): + + self.kwargs.update({ + 'serviceName': 'tx-enterprise', + 'rg': 'tx', + 'cert': 'cli-unittest', + 'domain': 'api-portal-cli.asc-test.net', + 'thumbprint': 'ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d' + }) + + self.cmd('spring-cloud api-portal update -g {rg} -s {serviceName} ' + '--assign-endpoint true --https-only true --instance-count 1 ' + '--client-id * --client-secret * --issuer-uri https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0 --scope "openid,profile,email"', checks=[ + self.check('properties.public', True), + self.check('properties.httpsOnly', True), + self.check('sku.capacity', 1), + self.check('properties.ssoProperties.clientId', "*"), + self.check('properties.ssoProperties.clientSecret', "*"), + self.check('properties.ssoProperties.issuerUri', "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"), + self.check('properties.ssoProperties.scope', ["openid", "profile", "email"]), + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud api-portal show -g {rg} -s {serviceName}', checks=[ + self.check('properties.public', True), + self.check('properties.httpsOnly', True), + self.check('sku.capacity', 1), + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud api-portal clear -g {rg} -s {serviceName}', checks=[ + self.check('properties.public', False), + self.check('properties.httpsOnly', False), + self.check('sku.capacity', 1), + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud certificate show --name {cert} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{cert}') + ]) + + self.cmd('spring-cloud api-portal custom-domain bind --domain-name {domain} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}') + ]) + + self.cmd('spring-cloud api-portal custom-domain show --domain-name {domain} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}') + ]) + + result = self.cmd('spring-cloud api-portal custom-domain list -g {rg} -s {serviceName}').get_output_in_json() + self.assertTrue(len(result) > 0) + + self.cmd('spring-cloud api-portal custom-domain update --domain-name {domain} --certificate {cert} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}'), + self.check('properties.thumbprint', '{thumbprint}') + ]) + + self.cmd('spring-cloud api-portal custom-domain unbind --domain-name {domain} -g {rg} -s {serviceName}') + self.cmd('spring-cloud api-portal custom-domain show --domain-name {domain} -g {rg} -s {serviceName}', expect_failure=True) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app.py new file mode 100644 index 00000000000..8a865999990 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app.py @@ -0,0 +1,684 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import unittest +from azure.cli.core.azclierror import ResourceNotFoundError +from knack.util import CLIError +from msrestazure.tools import resource_id +from ...vendored_sdks.appplatform.v2022_01_01_preview import models +from ..._utils import _get_sku_name +from ...app import (app_create, app_update, app_deploy, deployment_create) +try: + import unittest.mock as mock +except ImportError: + from unittest import mock + +from azure.cli.core.mock import DummyCli +from azure.cli.core import AzCommandsLoader +from azure.cli.core.commands import AzCliCommand + +from knack.log import get_logger + +logger = get_logger(__name__) + + +def _get_test_cmd(): + cli_ctx = DummyCli() + cli_ctx.data['subscription_id'] = '00000000-0000-0000-0000-000000000000' + loader = AzCommandsLoader(cli_ctx, resource_type='Microsoft.AppPlatform') + cmd = AzCliCommand(loader, 'test', None) + cmd.command_kwargs = {'resource_type': 'Microsoft.AppPlatform'} + cmd.cli_ctx = cli_ctx + return cmd + + +class BasicTest(unittest.TestCase): + def _get_basic_mock_client(self, sku='Standard'): + client = mock.MagicMock() + client.services.get.return_value = models.ServiceResource( + sku=models.Sku( + tier=sku, + name=_get_sku_name(sku) + ) + ) + return client + + def _get_deployment(self, sku='Standard'): + deployment = mock.MagicMock() + deployment.name = 'default' + deployment.properties.source.type = 'Jar' + deployment.properties.source.relative_path = 'my-path' + deployment.properties.source.runtime_version = 'Java_11' + deployment.properties.source.version = '123' + deployment.properties.source.jvm_options = None + + deployment.properties.deployment_settings.environment_variables = {'foo': 'bar'} + deployment.properties.deployment_settings.resource_requests.cpu = '2' + deployment.properties.deployment_settings.resource_requests.memory = '2Gi' + deployment.sku.capacity = 2 + deployment.sku.tier = sku + deployment.sku.name = _get_sku_name(sku) + return deployment + + +class TestAppDeploy_Patch(BasicTest): + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.patch_deployment_resource = None + + def _get_basic_mock_client(self, sku='Standard'): + client = super()._get_basic_mock_client(sku=sku) + client.apps.get_resource_upload_url.return_value = self._get_upload_info() + return client + + def _get_upload_info(self): + resp = mock.MagicMock() + resp.relative_path = 'my-relative-path' + resp.upload_url = 'https://mystorage.file.core.windows.net/root/my-relative-path?sv=2018-03-28&sr=f&sig=my-fake-pass&se=2021-12-28T06%3A43%3A17Z&sp=w' + return resp + + def _execute(self, *args, **kwargs): + client = kwargs.pop('client', None) or self._get_basic_mock_client() + app_deploy(_get_test_cmd(), client, *args, **kwargs) + + call_args = client.deployments.begin_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(5, len(call_args[0][0])) + self.assertEqual(args[0:3] + ('default',), call_args[0][0][0:4]) + self.patch_deployment_resource = call_args[0][0][4] + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy(self, file_mock): + file_mock.return_value = mock.MagicMock() + self._execute('rg', 'asc', 'app', deployment=self._get_deployment(), artifact_path='my-path') + resource = self.patch_deployment_resource + self.assertEqual('Jar', resource.properties.source.type) + self.assertEqual('my-relative-path', resource.properties.source.relative_path) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('Java_11', resource.properties.source.runtime_version) + # self.assertIsNone(resource.sku) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy_with_runtime_version(self, file_mock): + file_mock.return_value = mock.MagicMock() + self._execute('rg', 'asc', 'app', deployment=self._get_deployment(), artifact_path='my-path', runtime_version='Java_8') + resource = self.patch_deployment_resource + self.assertEqual('Jar', resource.properties.source.type) + self.assertEqual('my-relative-path', resource.properties.source.relative_path) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('Java_8', resource.properties.source.runtime_version) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy_net(self, file_mock): + file_mock.return_value = mock.MagicMock() + self._execute('rg', 'asc', 'app', deployment=self._get_deployment(), artifact_path='my-path', runtime_version='NetCore_31', main_entry='test') + resource = self.patch_deployment_resource + self.assertEqual('NetCoreZip', resource.properties.source.type) + self.assertEqual('my-relative-path', resource.properties.source.relative_path) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('NetCore_31', resource.properties.source.runtime_version) + self.assertEqual('test', resource.properties.source.net_core_main_entry_path) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy_net_with_jvm_options(self, file_mock): + file_mock.return_value = mock.MagicMock() + deployment = self._get_deployment() + deployment.properties.source.jvm_options = 'test-options' + self._execute('rg', 'asc', 'app', deployment=deployment, artifact_path='my-path', runtime_version='NetCore_31', main_entry='test') + resource = self.patch_deployment_resource + self.assertEqual('NetCoreZip', resource.properties.source.type) + self.assertEqual('my-relative-path', resource.properties.source.relative_path) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('NetCore_31', resource.properties.source.runtime_version) + self.assertEqual('test', resource.properties.source.net_core_main_entry_path) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_continous_deploy_net(self, file_mock): + file_mock.return_value = mock.MagicMock() + deployment=self._get_deployment() + deployment.properties.source.type = 'NetCoreZip' + deployment.properties.source.relative_path = 'my-path' + deployment.properties.source.runtime_version = 'NetCore_31' + deployment.properties.source.version = '123' + deployment.properties.source.net_core_main_entry_path = 'test' + self._execute('rg', 'asc', 'app', deployment=deployment, artifact_path='my-path', main_entry='new-test') + resource = self.patch_deployment_resource + self.assertEqual('NetCoreZip', resource.properties.source.type) + self.assertEqual('my-relative-path', resource.properties.source.relative_path) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('NetCore_31', resource.properties.source.runtime_version) + self.assertEqual('new-test', resource.properties.source.net_core_main_entry_path) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FolderUpload.upload_and_build') + def test_app_deploy_source(self, file_mock): + file_mock.return_value = mock.MagicMock() + self._execute('rg', 'asc', 'app', deployment=self._get_deployment(), source_path='my-path') + resource = self.patch_deployment_resource + self.assertEqual('Source', resource.properties.source.type) + self.assertEqual('my-relative-path', resource.properties.source.relative_path) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('Java_11', resource.properties.source.runtime_version) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FolderUpload.upload_and_build') + def test_app_continous_deploy_source(self, file_mock): + file_mock.return_value = mock.MagicMock() + deployment=self._get_deployment() + deployment.properties.source.type = 'Container' + deployment.properties.source.relative_path = 'my-path' + deployment.properties.source.version = '123' + deployment.properties.source.artifact_selector = 'test' + self._execute('rg', 'asc', 'app', deployment=self._get_deployment(), source_path='my-path') + resource = self.patch_deployment_resource + self.assertEqual('Source', resource.properties.source.type) + self.assertEqual('my-relative-path', resource.properties.source.relative_path) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('Java_11', resource.properties.source.runtime_version) + + +class TestAppDeploy_Enterprise_Patch(BasicTest): + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.patch_deployment_resource = None + self.put_build_resource = None + self.result_id = None + + def _get_basic_mock_client(self, sku='Standard'): + client = super()._get_basic_mock_client(sku=sku) + client.build_service.get_resource_upload_url.return_value = self._get_upload_info() + client.build_service.create_or_update_build.return_value = self._get_build_resource() + client.build_service.get_build_result.side_effect = [self._get_result_resource()] + client.build_service.get_build_result_log.side_effect = ResourceNotFoundError('Log not found') + return client + + def _get_result_resource(self, status='Succeeded'): + resp = mock.MagicMock() + resp.properties.provisioning_state = status + return resp + + def _get_build_resource(self): + self.result_id = resource_id( + subscription = '00000000-0000-0000-0000-000000000000', + resource_group = 'rg', + name = 'asc', + namespace = 'Microsoft.AppPlatform', + type='Spring', + child_type_1 = 'buildService', + child_name_1 = 'default', + child_type_2 = 'builds', + child_name_2 = 'builder', + child_type_3 = 'results', + child_name_3 = 'my-result', + ) + resp = mock.MagicMock() + resp.properties.triggered_build_result.id = self.result_id + return resp + + def _get_upload_info(self): + resp = mock.MagicMock() + resp.relative_path = 'my-relative-path' + resp.upload_url = 'https://mystorage.file.core.windows.net/root/my-relative-path?sv=2018-03-28&sr=f&sig=my-fake-pass&se=2021-12-28T06%3A43%3A17Z&sp=w' + return resp + + def verify_build_args(self, client, *args): + build_args = client.build_service.create_or_update_build.call_args_list + + if build_args and build_args[0]: + self.assertEqual(1, len(build_args)) + self.assertEqual(5, len(build_args[0][0])) + self.assertEqual(args[0:2]+('default',)+(args[2],), build_args[0][0][0:4]) + self.put_build_resource = build_args[0][0][4] + + def _execute(self, *args, **kwargs): + client = kwargs.pop('client', None) or self._get_basic_mock_client() + app_deploy(_get_test_cmd(), client, *args, **kwargs) + + self.verify_build_args(client, *args) + + call_args = client.deployments.begin_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(5, len(call_args[0][0])) + self.assertEqual(args[0:3] + ('default',), call_args[0][0][0:4]) + self.patch_deployment_resource = call_args[0][0][4] + + def _get_deployment(self): + deployment = super()._get_deployment() + deployment.properties.source.type = 'BuildResult' + deployment.properties.source.build_result_id = 'my-id' + deployment.properties.source.relative_path = None + deployment.properties.source.runtime_version = None + deployment.properties.source.version = '123' + deployment.properties.source.jvm_options = None + deployment.sku.tier = 'Enterprise' + deployment.sku.name = 'E0' + deployment.properties.deployment_settings.addon_configs = None + return deployment + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy_enterprise(self, file_mock): + file_mock.return_value = mock.MagicMock() + deployment=self._get_deployment() + self._execute('rg', 'asc', 'app', deployment=deployment, artifact_path='my-path', config_file_patterns='my-pattern') + resource = self.patch_deployment_resource + self.assertEqual('BuildResult', resource.properties.source.type) + self.assertEqual(self.result_id, resource.properties.source.build_result_id) + self.assertIsNone(resource.properties.source.version) + self.assertEqual({'applicationConfigurationService': {'configFilePatterns': 'my-pattern'}},\ + resource.properties.deployment_settings.addon_configs) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy_build_enterprise(self, file_mock): + file_mock.return_value = mock.MagicMock() + deployment=self._get_deployment() + self._execute('rg', 'asc', 'app', deployment=deployment, artifact_path='my-path', build_env='{"BP_JVM_VERSION": "8.*"}') + resource = self.put_build_resource + self.assertEqual({"BP_JVM_VERSION": "8.*"}, resource.properties.env) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FolderUpload.upload_and_build') + def test_app_deploy_folder_enterprise(self, file_mock): + file_mock.return_value = mock.MagicMock() + deployment=self._get_deployment() + self._execute('rg', 'asc', 'app', deployment=deployment, source_path='my-path') + resource = self.patch_deployment_resource + self.assertEqual('BuildResult', resource.properties.source.type) + self.assertEqual(self.result_id, resource.properties.source.build_result_id) + self.assertIsNone(resource.properties.source.version) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy_waiting_enterprise(self, file_mock): + file_mock.return_value = mock.MagicMock() + client = self._get_basic_mock_client() + client.build_service.get_build_result.side_effect = [ + self._get_result_resource(status='Queueing'), + self._get_result_resource(status='Building'), + self._get_result_resource(status='Succeeded') + ] + deployment=self._get_deployment() + self._execute('rg', 'asc', 'app', deployment=deployment, artifact_path='my-path') + resource = self.patch_deployment_resource + self.assertEqual('BuildResult', resource.properties.source.type) + self.assertEqual(self.result_id, resource.properties.source.build_result_id) + self.assertIsNone(resource.properties.source.version) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy_failed_enterprise(self, file_mock): + file_mock.return_value = mock.MagicMock() + client = self._get_basic_mock_client() + client.build_service.get_build_result.side_effect = [ + self._get_result_resource(status='Queueing'), + self._get_result_resource(status='Building'), + self._get_result_resource(status='Failed') + ] + deployment=self._get_deployment() + with self.assertRaisesRegexp(CLIError, 'Failed to build docker image'): + self._execute('rg', 'asc', 'app', deployment=deployment, artifact_path='my-path', client=client) + + +class TestAppDeploy_Put(BasicTest): + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.put_deployment_resource = None + + def _get_basic_mock_client(self, sku='Standard'): + client = super()._get_basic_mock_client(sku=sku) + client.apps.get_resource_upload_url.return_value = self._get_upload_info() + return client + + def _get_upload_info(self): + resp = mock.MagicMock() + resp.relative_path = 'my-relative-path' + resp.upload_url = 'https://mystorage.file.core.windows.net/root/my-relative-path?sv=2018-03-28&sr=f&sig=my-fake-pass&se=2021-12-28T06%3A43%3A17Z&sp=w' + return resp + + def _execute(self, *args, **kwargs): + client = kwargs.pop('client', None) or self._get_basic_mock_client() + app_deploy(_get_test_cmd(), client, *args, **kwargs) + + call_args = client.deployments.begin_create_or_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(5, len(call_args[0][0])) + self.assertEqual(args[0:3] + ('default',), call_args[0][0][0:4]) + self.put_deployment_resource = call_args[0][0][4] + + def test_app_deploy_container_from_jar(self): + self._execute('rg', 'asc', 'app', deployment=self._get_deployment(), container_image='my-image') + resource = self.put_deployment_resource + self.assertEqual('Container', resource.properties.source.type) + self.assertEqual('my-image', resource.properties.source.custom_container.container_image) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('2', resource.properties.deployment_settings.resource_requests.cpu) + self.assertEqual('2Gi', resource.properties.deployment_settings.resource_requests.memory) + self.assertEqual(2, resource.sku.capacity) + + @mock.patch('azext_spring_cloud._deployment_uploadable_factory.FileUpload.upload_and_build') + def test_app_deploy_jar_from_container(self, file_mock): + file_mock.return_value = mock.MagicMock() + deployment=self._get_deployment() + deployment.properties.source.type = 'Container' + deployment.properties.source.custom_container = mock.MagicMock() + deployment.properties.source.relative_path = None + deployment.properties.source.runtime_version = None + deployment.properties.source.version = '123' + self._execute('rg', 'asc', 'app', deployment=deployment, artifact_path='my-path') + resource = self.put_deployment_resource + self.assertEqual('Jar', resource.properties.source.type) + self.assertEqual('my-relative-path', resource.properties.source.relative_path) + self.assertIsNone(resource.properties.source.version) + self.assertEqual('Java_8', resource.properties.source.runtime_version) + self.assertEqual('2', resource.properties.deployment_settings.resource_requests.cpu) + self.assertEqual('2Gi', resource.properties.deployment_settings.resource_requests.memory) + self.assertEqual(2, resource.sku.capacity) + + +class TestAppUpdate(BasicTest): + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.patch_app_resource = None + self.patch_deployment_resource = None + + def _execute(self, *args, **kwargs): + client = kwargs.pop('client', None) or self._get_basic_mock_client() + app_update(_get_test_cmd(), client, *args, **kwargs) + + call_args = client.deployments.begin_update.call_args_list + if len(call_args): + self.assertEqual(1, len(call_args)) + self.assertEqual(5, len(call_args[0][0])) + self.assertEqual(args[0:3] + ('default',), call_args[0][0][0:4]) + self.patch_deployment_resource = call_args[0][0][4] + else: + self.patch_deployment_resource = None + + call_args = client.apps.begin_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(4, len(call_args[0][0])) + self.assertEqual(args[0:3], call_args[0][0][0:3]) + self.patch_app_resource = call_args[0][0][3] + + def test_app_update_without_deployment(self): + self._execute('rg', 'asc', 'app', assign_endpoint=True) + + self.assertIsNone(self.patch_deployment_resource) + resource = self.patch_app_resource + self.assertEqual(True, resource.properties.public) + + def test_invalid_app_update_deployment_settings_without_deployment(self): + with self.assertRaisesRegexp(CLIError, '--jvm-options cannot be set when there is no active deployment.'): + self._execute('rg', 'asc', 'app', jvm_options='test-option') + + def test_app_update_jvm_options(self): + self._execute('rg', 'asc', 'app', deployment=self._get_deployment(), jvm_options='test-option') + resource = self.patch_deployment_resource + self.assertEqual('Jar', resource.properties.source.type) + self.assertEqual('my-path', resource.properties.source.relative_path) + self.assertEqual('123', resource.properties.source.version) + self.assertEqual('Java_11', resource.properties.source.runtime_version) + self.assertEqual('test-option', resource.properties.source.jvm_options) + + def test_app_update_net_core_main_entry(self): + deployment=self._get_deployment() + deployment.properties.source.type = 'NetCoreZip' + deployment.properties.source.runtime_version = 'NetCore_31' + deployment.properties.source.net_core_main_entry_path = 'main-entry' + self._execute('rg', 'asc', 'app', deployment=deployment, main_entry='test-entry') + resource = self.patch_deployment_resource + self.assertEqual('NetCoreZip', resource.properties.source.type) + self.assertEqual('my-path', resource.properties.source.relative_path) + self.assertEqual('123', resource.properties.source.version) + self.assertEqual('NetCore_31', resource.properties.source.runtime_version) + self.assertEqual('test-entry', resource.properties.source.net_core_main_entry_path) + + def test_app_update_settings_only(self): + deployment=self._get_deployment() + self._execute('rg', 'asc', 'app', deployment=deployment, env={'key':'value'}) + resource = self.patch_deployment_resource + self.assertIsNone(resource.properties.source) + self.assertEqual({'key':'value'}, resource.properties.deployment_settings.environment_variables) + + def test_app_update_in_enterprise(self): + client = self._get_basic_mock_client(sku='Enterprise') + deployment=self._get_deployment(sku='Enterprise') + deployment.properties.deployment_settings.addon_configs = {'applicationConfigurationService': {'configFilePatterns': 'my-pattern'}} + self._execute('rg', 'asc', 'app', deployment=deployment, client=client, config_file_patterns='updated-pattern') + resource = self.patch_deployment_resource + self.assertEqual({'applicationConfigurationService': {'configFilePatterns': 'updated-pattern'}},\ + resource.properties.deployment_settings.addon_configs) + + def test_app_update_clear_jvm_option_in_enterprise(self): + client = self._get_basic_mock_client(sku='Enterprise') + deployment=self._get_deployment(sku='Enterprise') + deployment.properties.deployment_settings.environment_variables = {"JAVA_OPTS": "test_options", "foo": "bar"} + self._execute('rg', 'asc', 'app', deployment=deployment, client=client, jvm_options='') + resource = self.patch_deployment_resource + self.assertEqual({"foo": "bar"}, resource.properties.deployment_settings.environment_variables) + + def test_app_update_in_enterprise_with_new_set_env(self): + client = self._get_basic_mock_client(sku='Enterprise') + deployment=self._get_deployment(sku='Enterprise') + deployment.properties.deployment_settings.environment_variables = {"JAVA_OPTS": "test_options", "foo": "bar"} + self._execute('rg', 'asc', 'app', deployment=deployment, client=client, env={'key': 'value'}) + resource = self.patch_deployment_resource + self.assertEqual({'key': 'value'}, resource.properties.deployment_settings.environment_variables) + + def test_app_update_env_and_jvm_in_enterprise(self): + client = self._get_basic_mock_client(sku='Enterprise') + deployment=self._get_deployment(sku='Enterprise') + deployment.properties.deployment_settings.environment_variables = {"JAVA_OPTS": "test_options", "foo": "bar"} + self._execute('rg', 'asc', 'app', deployment=deployment, client=client, jvm_options='another-option', env={'key': 'value'}) + resource = self.patch_deployment_resource + self.assertEqual({'JAVA_OPTS': 'another-option', 'key': 'value'}, resource.properties.deployment_settings.environment_variables) + + def test_app_update_custom_container_deployment(self): + deployment=self._get_deployment() + deployment.properties.source.type = 'Container' + deployment.properties.source.custom_container.container_image = 'my-image' + self._execute('rg', 'asc', 'app', deployment=deployment, env={'key':'value'}) + resource = self.patch_deployment_resource + self.assertIsNone(resource.properties.source) + self.assertEqual({'key':'value'}, resource.properties.deployment_settings.environment_variables) + + def test_app_update_custom_container_deployment_with_invalid_source(self): + deployment=self._get_deployment() + deployment.properties.source.type = 'Container' + deployment.properties.source.custom_container.container_image = 'my-image' + self._execute('rg', 'asc', 'app', deployment=deployment, env={'key':'value'}, runtime_version='Java_11') + resource = self.patch_deployment_resource + self.assertIsNone(resource.properties.source) + self.assertEqual({'key':'value'}, resource.properties.deployment_settings.environment_variables) + + def test_steeltoe_app_cannot_set_jvm_options(self): + deployment=self._get_deployment() + deployment.properties.source.type = 'NetCoreZip' + deployment.properties.source.runtime_version = 'NetCore_31' + deployment.properties.source.net_core_main_entry_path = 'main-entry' + with self.assertRaisesRegexp(CLIError, '--jvm-options cannot be set when --runtime-version is NetCore_31.'): + self._execute('rg', 'asc', 'app', jvm_options='test-option', deployment=deployment) + +class TestAppCreate(BasicTest): + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.put_app_resource = None + self.patch_app_resource = None + self.put_deployment_resource = None + + def _get_basic_mock_client(self, sku='Standard'): + client = super()._get_basic_mock_client(sku=sku) + client.apps.get.side_effect = [ + ResourceNotFoundError('App not found'), + mock.MagicMock() + ] + client.deployments.list.return_value = [] + return client + + def _execute(self, *args, **kwargs): + client = kwargs.pop('client', None) or self._get_basic_mock_client() + app_create(_get_test_cmd(), client, *args, **kwargs) + call_args = client.apps.begin_create_or_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(4, len(call_args[0][0])) + self.assertEqual(args[0:3], call_args[0][0][0:3]) + self.put_app_resource = call_args[0][0][3] + + call_args = client.deployments.begin_create_or_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(5, len(call_args[0][0])) + self.assertEqual(args[0:3] + ('default',), call_args[0][0][0:4]) + self.put_deployment_resource = call_args[0][0][4] + + call_args = client.apps.begin_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(4, len(call_args[0][0])) + self.assertEqual(args[0:3], call_args[0][0][0:3]) + self.patch_app_resource = call_args[0][0][3] + + def test_app_create_happy_path(self): + self._execute('rg', 'asc', 'app', cpu='1', memory='1Gi', instance_count=1) + resource = self.put_deployment_resource + self.assertEqual('Jar', resource.properties.source.type) + self.assertEqual('Java_8', resource.properties.source.runtime_version) + self.assertEqual('', resource.properties.source.relative_path) + + def test_app_create_with_netcore(self): + self._execute('rg', 'asc', 'app', cpu='1', memory='1Gi', instance_count=1, runtime_version='NetCore_31') + resource = self.put_deployment_resource + self.assertEqual('NetCoreZip', resource.properties.source.type) + self.assertEqual('NetCore_31', resource.properties.source.runtime_version) + self.assertEqual('', resource.properties.source.relative_path) + + def test_app_create_in_enterprise(self): + client = self._get_basic_mock_client(sku='Enterprise') + self._execute('rg', 'asc', 'app', cpu='500m', memory='2Gi', instance_count=1, client=client) + resource = self.put_deployment_resource + self.assertEqual('BuildResult', resource.properties.source.type) + self.assertEqual('', resource.properties.source.build_result_id) + self.assertEqual('500m', resource.properties.deployment_settings.resource_requests.cpu) + self.assertEqual('2Gi', resource.properties.deployment_settings.resource_requests.memory) + + def test_app_with_large_instance_count_enterprise(self): + client = self._get_basic_mock_client(sku='Enterprise') + with self.assertRaisesRegexp(CLIError, 'Invalid --instance-count, should be in range \[1, 500\]'): + self._execute('rg', 'asc', 'app', cpu='500m', memory='2Gi', instance_count=501, client=client) + + def test_app_with_large_instance_count(self): + with self.assertRaisesRegexp(CLIError, 'Invalid --instance-count, should be in range \[1, 500\]'): + self._execute('rg', 'asc', 'app', cpu='500m', memory='2Gi', instance_count=501) + + def test_app_with_large_instance_count_basic(self): + client = self._get_basic_mock_client(sku='Basic') + with self.assertRaisesRegexp(CLIError, 'Invalid --instance-count, should be in range \[1, 25\]'): + self._execute('rg', 'asc', 'app', cpu='500m', memory='2Gi', instance_count=26, client=client) + + def test_app_with_persistent_storage_enterprise(self): + client = self._get_basic_mock_client(sku='Enterprise') + with self.assertRaisesRegexp(CLIError, 'Enterprise tier Spring-Cloud instance does not support --enable-persistent-storage'): + self._execute('rg', 'asc', 'app', cpu='500m', memory='2Gi', instance_count=1, enable_persistent_storage=True, client=client) + + def test_app_with_persistent_storage(self): + self._execute('rg', 'asc', 'app', cpu='500m', memory='2Gi', instance_count=1, enable_persistent_storage=True) + resource = self.put_app_resource + self.assertEqual(50, resource.properties.persistent_disk.size_in_gb) + resource = self.patch_app_resource + self.assertEqual(50, resource.properties.persistent_disk.size_in_gb) + + def test_app_with_persistent_storage_basic(self): + client = self._get_basic_mock_client(sku='Basic') + self._execute('rg', 'asc', 'app', cpu='500m', memory='2Gi', instance_count=1, enable_persistent_storage=True, client=client) + resource = self.put_app_resource + self.assertEqual(1, resource.properties.persistent_disk.size_in_gb) + + +class TestDeploymentCreate(BasicTest): + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.put_deployment_resource = None + + def _get_basic_mock_client(self, sku='Standard', *deployments): + client = super()._get_basic_mock_client(sku=sku) + client.deployments.list.return_value = deployments + return client + + def _execute(self, *args, **kwargs): + client = kwargs.pop('client', None) or self._get_basic_mock_client() + deployment_create(_get_test_cmd(), client, *args, **kwargs) + + call_args = client.deployments.begin_create_or_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(5, len(call_args[0][0])) + self.assertEqual(args[0:4], call_args[0][0][0:4]) + self.put_deployment_resource = call_args[0][0][4] + + def test_create_deployment_without_active(self): + client = self._get_basic_mock_client() + self._execute('rg', 'asc', 'app', 'green', cpu='2', memory='2Gi', instance_count=3, client=client) + resource = self.put_deployment_resource + self.assertEqual(3, resource.sku.capacity) + self.assertEqual('2', resource.properties.deployment_settings.resource_requests.cpu) + self.assertEqual('2Gi', resource.properties.deployment_settings.resource_requests.memory) + + def test_create_deployment_with_active(self): + deployment = self._get_deployment() + deployment.properties.active = True + deployment.properties.source.jvm_options = 'test-options' + client = self._get_basic_mock_client('Standard', deployment) + self._execute('rg', 'asc', 'app', 'green', cpu=None, memory=None, instance_count=None, client=client) + resource = self.put_deployment_resource + self.assertEqual(2, resource.sku.capacity) + self.assertEqual('2', resource.properties.deployment_settings.resource_requests.cpu) + self.assertEqual('2Gi', resource.properties.deployment_settings.resource_requests.memory) + self.assertEqual('test-options', resource.properties.source.jvm_options) + self.assertEqual('Java_11', resource.properties.source.runtime_version) + self.assertEqual('', resource.properties.source.relative_path) + self.assertEqual('Jar', resource.properties.source.type) + + def test_create_deployment_with_active_override(self): + deployment = self._get_deployment() + deployment.properties.active = True + deployment.properties.source.jvm_options = 'test-options' + client = self._get_basic_mock_client('Standard', deployment) + self._execute('rg', 'asc', 'app', 'green', cpu='3', memory=None, instance_count=5, runtime_version='NetCore_31', client=client) + resource = self.put_deployment_resource + self.assertEqual(5, resource.sku.capacity) + self.assertEqual('3', resource.properties.deployment_settings.resource_requests.cpu) + self.assertEqual('2Gi', resource.properties.deployment_settings.resource_requests.memory) + self.assertEqual('NetCoreZip', resource.properties.source.type) + self.assertEqual('NetCore_31', resource.properties.source.runtime_version) + self.assertEqual('', resource.properties.source.relative_path) + + def test_create_deployment_with_active_is_source(self): + deployment = self._get_deployment() + deployment.properties.active = True + deployment.properties.source.type = 'Source' + client = self._get_basic_mock_client('Standard', deployment) + self._execute('rg', 'asc', 'app', 'green', cpu='3', memory=None, instance_count=5, client=client) + resource = self.put_deployment_resource + self.assertEqual(5, resource.sku.capacity) + self.assertEqual('3', resource.properties.deployment_settings.resource_requests.cpu) + self.assertEqual('2Gi', resource.properties.deployment_settings.resource_requests.memory) + self.assertIsNone(resource.properties.source.jvm_options) + self.assertEqual('Jar', resource.properties.source.type) + self.assertEqual('Java_11', resource.properties.source.runtime_version) + self.assertEqual('', resource.properties.source.relative_path) + + def test_create_deployment_with_active_is_container(self): + deployment = self._get_deployment() + deployment.properties.active = True + deployment.properties.source.type = 'Container' + client = self._get_basic_mock_client('Standard', deployment) + self._execute('rg', 'asc', 'app', 'green', cpu='3', memory=None, instance_count=5, client=client) + resource = self.put_deployment_resource + self.assertEqual(5, resource.sku.capacity) + self.assertEqual('3', resource.properties.deployment_settings.resource_requests.cpu) + self.assertEqual('2Gi', resource.properties.deployment_settings.resource_requests.memory) + self.assertIsNone(resource.properties.source.jvm_options) + self.assertEqual('Jar', resource.properties.source.type) + self.assertEqual('Java_11', resource.properties.source.runtime_version) + self.assertEqual('', resource.properties.source.relative_path) + + def test_create_deployment_with_ACS_Pattern_in_enterprise(self): + deployment=self._get_deployment(sku='Enterprise') + client = self._get_basic_mock_client('Enterprise', deployment) + deployment.properties.deployment_settings.addon_configs = {'applicationConfigurationService': {'configFilePatterns': 'my-pattern'}} + self._execute('rg', 'asc', 'app', 'green', client=client) + resource = self.put_deployment_resource + self.assertEqual({'applicationConfigurationService': {'configFilePatterns': 'my-pattern'}},\ + resource.properties.deployment_settings.addon_configs) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_insights_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_insights_scenario.py index a33f174af6e..3f18e124aed 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_insights_scenario.py +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_insights_scenario.py @@ -175,6 +175,17 @@ def test_asc_update(self): self._test_asc_update_with_suffix( rg, service_name, True, '--app-insights-key "{}"'.format(ai_c_string)) + def test_az_asc_create(self): + self.kwargs.update({ + 'serviceName': 'cli-unittest-az1', + 'location': 'eastus2euap', + 'rg': 'cli' + }) + self.cmd('spring-cloud create -n {serviceName} -g {rg} -l {location} --disable-app-insights=true --zone-redundant=true', checks=[ + self.check('properties.zoneRedundant', True) + ]) + self._clean_service(self.kwargs['rg'], self.kwargs['serviceName']) + def test_negative_asc_update(self): self.kwargs.update({ 'serviceName': 'cli-unittest-10', diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_scenario.py new file mode 100644 index 00000000000..f5946a93b62 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_scenario.py @@ -0,0 +1,269 @@ +# -------------------------------------------------------------------------------------------- +# 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 tempfile + +from knack.util import CLIError +from azure.cli.testsdk import (ScenarioTest, record_only) + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + +@record_only() +class AppDeploy(ScenarioTest): + def test_deploy_app(self): + py_path = os.path.abspath(os.path.dirname(__file__)) + file_path = os.path.join(py_path, 'files/test.jar').replace("\\","/") + self.kwargs.update({ + 'app': 'deploy', + 'serviceName': 'cli-unittest', + 'rg': 'cli', + 'file': file_path + }) + + self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName} --cpu 2 --env "foo=bar" --runtime-version Java_11', checks=[ + self.check('name', '{app}'), + self.check('properties.activeDeployment.name', 'default'), + self.check('properties.activeDeployment.properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('properties.activeDeployment.sku.capacity', 1), + self.check('properties.activeDeployment.properties.source.type', 'Jar'), + self.check('properties.activeDeployment.properties.source.runtimeVersion', 'Java_11'), + self.check('properties.activeDeployment.properties.deploymentSettings.environmentVariables', {'foo': 'bar'}), + ]) + + # deploy fake file, the fail is expected + with self.assertRaisesRegexp(CLIError, "Failed to wait for deployment instances to be ready"): + self.cmd('spring-cloud app deploy -n {app} -g {rg} -s {serviceName} --artifact-path {file} --version v1') + deployment = self.cmd('spring-cloud app deployment show -n default --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', 'default'), + self.check('properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('sku.capacity', 1), + self.check('properties.source.type', 'Jar'), + self.check('starts_with(properties.source.relativePath, `resources/`)', True), + self.check('properties.source.runtimeVersion', 'Java_11'), + self.check('properties.deploymentSettings.environmentVariables', {'foo': 'bar'}), + ]).get_output_in_json() + relative_path = deployment['properties']['source']['relativePath'] + + self.cmd('spring-cloud app update -n {app} -g {rg} -s {serviceName} --runtime-version Java_8 --env "bas=baz"') + self.cmd('spring-cloud app deployment show -n default --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', 'default'), + self.check('properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('properties.deploymentSettings.resourceRequests.memory', '1Gi'), + self.check('sku.capacity', 1), + self.check('properties.source.type', 'Jar'), + self.check('properties.source.relativePath', relative_path), + self.check('properties.source.version', 'v1'), + self.check('properties.source.runtimeVersion', 'Java_8'), + self.check('properties.deploymentSettings.environmentVariables', {'bas': 'baz'}), + ]) + + # deploy change to .Net + with self.assertRaisesRegexp(CLIError, "Failed to wait for deployment instances to be ready"): + self.cmd('spring-cloud app deploy -n {app} -g {rg} -s {serviceName} --artifact-path {file} --version v2 --runtime-version NetCore_31 --main-entry test') + deployment = self.cmd('spring-cloud app deployment show -n default --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', 'default'), + self.check('properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('sku.capacity', 1), + self.check('properties.source.type', 'NetCoreZip'), + self.check('starts_with(properties.source.relativePath, `resources/`)', True), + self.check('properties.source.runtimeVersion', 'NetCore_31'), + self.check('properties.deploymentSettings.environmentVariables', {'bas': 'baz'}), + ]).get_output_in_json() + relative_path = deployment['properties']['source']['relativePath'] + + self.cmd('spring-cloud app update -n {app} -g {rg} -s {serviceName} --main-entry test1') + self.cmd('spring-cloud app deployment show -n default --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', 'default'), + self.check('properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('properties.deploymentSettings.resourceRequests.memory', '1Gi'), + self.check('sku.capacity', 1), + self.check('properties.source.type', 'NetCoreZip'), + self.check('properties.source.relativePath', relative_path), + self.check('properties.source.version', 'v2'), + self.check('properties.source.runtimeVersion', 'NetCore_31'), + self.check('properties.source.netCoreMainEntryPath', 'test1'), + self.check('properties.deploymentSettings.environmentVariables', {'bas': 'baz'}), + ]) + + # keep deploy .net + with self.assertRaisesRegexp(CLIError, "Failed to wait for deployment instances to be ready"): + self.cmd('spring-cloud app deploy -n {app} -g {rg} -s {serviceName} --artifact-path {file} --version v3 --main-entry test3') + self.cmd('spring-cloud app deployment show -n default --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', 'default'), + self.check('properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('sku.capacity', 1), + self.check('properties.source.type', 'NetCoreZip'), + self.check('starts_with(properties.source.relativePath, `resources/`)', True), + self.check('properties.source.runtimeVersion', 'NetCore_31'), + self.check('properties.source.netCoreMainEntryPath', 'test3'), + self.check('properties.deploymentSettings.environmentVariables', {'bas': 'baz'}), + ]) + + +@record_only() +class AppCRUD(ScenarioTest): + def test_app_crud(self): + self.kwargs.update({ + 'app': 'test-crud-app', + 'serviceName': 'cli-unittest', + 'rg': 'cli' + }) + + self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName} --cpu 2 --env "foo=bar"', checks=[ + self.check('name', '{app}'), + self.check('properties.activeDeployment.name', 'default'), + self.check('properties.activeDeployment.properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('properties.activeDeployment.sku.capacity', 1), + self.check('properties.activeDeployment.properties.source.type', 'Jar'), + self.check('properties.activeDeployment.properties.source.runtimeVersion', 'Java_8'), + self.check('properties.activeDeployment.properties.deploymentSettings.environmentVariables', {'foo': 'bar'}), + ]) + + # green deployment copy settings from active, but still accept input as highest priority + self.cmd('spring-cloud app deployment create -n green --app {app} -g {rg} -s {serviceName} --instance-count 2', checks=[ + self.check('name', 'green'), + self.check('properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('properties.deploymentSettings.resourceRequests.memory', '1Gi'), + self.check('properties.source.type', 'Jar'), + self.check('properties.source.runtimeVersion', 'Java_8'), + self.check('sku.capacity', 2), + self.check('properties.deploymentSettings.environmentVariables', {'foo': 'bar'}), + ]) + + self.cmd('spring-cloud app update -n {app} -g {rg} -s {serviceName} --runtime-version Java_11', checks=[ + self.check('properties.activeDeployment.name', 'default'), + self.check('properties.activeDeployment.properties.deploymentSettings.resourceRequests.cpu', '2'), + self.check('properties.activeDeployment.properties.deploymentSettings.resourceRequests.memory', '1Gi'), + self.check('properties.activeDeployment.sku.capacity', 1), + self.check('properties.activeDeployment.properties.source.type', 'Jar'), + self.check('properties.activeDeployment.properties.source.runtimeVersion', 'Java_11'), + self.check('properties.activeDeployment.properties.deploymentSettings.environmentVariables', {'foo': 'bar'}), + ]) + self.cmd('spring-cloud app delete -n {app} -g {rg} -s {serviceName}') + + + def test_app_crud_1(self): + self.kwargs.update({ + 'app': 'test-crud-app-1', + 'serviceName': 'cli-unittest', + 'rg': 'cli' + }) + + # public endpoint is assigned + self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName} --assign-endpoint --memory 2Gi', checks=[ + self.check('name', '{app}'), + self.check('properties.activeDeployment.name', 'default'), + self.check('properties.activeDeployment.properties.deploymentSettings.resourceRequests.cpu', '1'), + self.check('properties.activeDeployment.properties.deploymentSettings.resourceRequests.memory', '2Gi'), + self.check('properties.url', 'https://cli-unittest-{app}.asc-test.net') + ]) + + # green deployment not copy settings from active + self.cmd('spring-cloud app deployment create -n green --app {app} -g {rg} -s {serviceName} --skip-clone-settings', checks=[ + self.check('name', 'green'), + self.check('properties.deploymentSettings.resourceRequests.cpu', '1'), + self.check('properties.deploymentSettings.resourceRequests.memory', '1Gi'), + self.check('sku.capacity', 1) + ]) + + +@record_only() +class BlueGreenTest(ScenarioTest): + + def test_blue_green_deployment(self): + self.kwargs.update({ + 'app': 'test-app-blue-green', + 'serviceName': 'cli-unittest', + 'rg': 'cli' + }) + + self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{app}'), + self.check('properties.activeDeployment.name', 'default') + ]) + + self.cmd('spring-cloud app deployment create --app {app} -n green -g {rg} -s {serviceName}', checks=[ + self.check('name', 'green'), + self.check('properties.active', False) + ]) + + result = self.cmd('spring-cloud app deployment list --app {app} -g {rg} -s {serviceName}').get_output_in_json() + self.assertTrue(len(result) == 2) + + self.cmd('spring-cloud app set-deployment -d green -n {app} -g {rg} -s {serviceName}') + + self.cmd('spring-cloud app show -n {app} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{app}'), + self.check('properties.activeDeployment.name', 'green') + ]) + + self.cmd('spring-cloud app deployment show -n default --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('properties.active', False) + ]) + + self.cmd('spring-cloud app deployment show -n green --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('properties.active', True) + ]) + + self.cmd('spring-cloud app unset-deployment -n {app} -g {rg} -s {serviceName}') + + self.cmd('spring-cloud app deployment show -n default --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('properties.active', False) + ]) + + self.cmd('spring-cloud app deployment show -n green --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('properties.active', False) + ]) + + self.cmd('spring-cloud app delete -n {app} -g {rg} -s {serviceName}') + + +@record_only() +class I2aTLSTest(ScenarioTest): + def test_app_i2a_tls(self): + self.kwargs.update({ + 'app': 'test-i2atls-app', + 'serviceName': 'cli-unittest', + 'rg': 'cli' + }) + + self.cmd('spring-cloud app create -n {app} -g {rg} -s {serviceName}') + + self.cmd('spring-cloud app update -n {app} -g {rg} -s {serviceName} --enable-ingress-to-app-tls true', checks=[ + self.check('properties.enableEndToEndTls', True) + ]) + + self.cmd('spring-cloud app update -n {app} -g {rg} -s {serviceName} --enable-ingress-to-app-tls false', checks=[ + self.check('properties.enableEndToEndTls', False) + ]) + + self.cmd('spring-cloud app update -n {app} -g {rg} -s {serviceName} --enable-end-to-end-tls true', checks=[ + self.check('properties.enableEndToEndTls', True) + ]) + + self.cmd('spring-cloud app update -n {app} -g {rg} -s {serviceName} --enable-end-to-end-tls false', checks=[ + self.check('properties.enableEndToEndTls', False) + ]) + + +@record_only() +class GenerateDumpTest(ScenarioTest): + def test_generate_deployment_dump(self): + file_path = os.path.join(tempfile.gettempdir(), 'dumpfile.txt') + self.kwargs.update({ + 'app': 'test-app-dump', + 'deployment': 'default', + 'serviceName': 'cli-unittest', + 'resourceGroup': 'cli', + 'path': file_path + }) + result = self.cmd('spring-cloud app deployment show -g {resourceGroup} -s {serviceName} --app {app} -n {deployment}').get_output_in_json() + self.kwargs['instance'] = result['properties'].get('instances', [{}])[0].get('name') + self.assertTrue(self.kwargs['instance']) + self.cmd('spring-cloud app deployment generate-heap-dump -g {resourceGroup} -s {serviceName} --app {app} --deployment {deployment} --app-instance {instance} --file-path {path}') diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_validator.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_validator.py new file mode 100644 index 00000000000..1ecd0868d11 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_app_validator.py @@ -0,0 +1,241 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import unittest +from argparse import Namespace +from azure.cli.core.azclierror import InvalidArgumentValueError +from msrestazure.azure_exceptions import CloudError +from azure.core.exceptions import ResourceNotFoundError +from ..._app_validator import (fulfill_deployment_param, active_deployment_exist, + validate_cpu, validate_memory, validate_deloyment_create_path, validate_deloy_path) + + +try: + import unittest.mock as mock +except ImportError: + from unittest import mock + +from azure.cli.core.mock import DummyCli +from azure.cli.core import AzCommandsLoader +from azure.cli.core.commands import AzCliCommand + + +def _get_test_cmd(): + cli_ctx = DummyCli() + cli_ctx.data['subscription_id'] = '00000000-0000-0000-0000-000000000000' + loader = AzCommandsLoader(cli_ctx, resource_type='Microsoft.AppPlatform') + cmd = AzCliCommand(loader, 'test', None) + cmd.command_kwargs = {'resource_type': 'Microsoft.AppPlatform'} + cmd.cli_ctx = cli_ctx + return cmd + + +def _get_deployment(resource_group, service, app, deployment, active): + resource = mock.MagicMock() + resource.id = '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{}/providers/Microsoft.AppPlatform/Spring/{}/apps/{}/deployments/{}'.format(resource_group, service, app, deployment) + resource.properties = mock.MagicMock() + resource.properties.active = active + return resource + + +class TestCpuAndMemoryValidator(unittest.TestCase): + def test_none_input(self): + ns = Namespace(cpu=None, memory=None) + validate_memory(ns) + validate_cpu(ns) + self.assertIsNone(ns.cpu) + self.assertIsNone(ns.memory) + + def test_int_input(self): + ns = Namespace(cpu='1', memory='1') + validate_memory(ns) + validate_cpu(ns) + self.assertEqual('1', ns.cpu) + self.assertEqual('1Gi', ns.memory) + + def test_str_input(self): + ns = Namespace(cpu='1', memory='1Gi') + validate_memory(ns) + validate_cpu(ns) + self.assertEqual('1', ns.cpu) + self.assertEqual('1Gi', ns.memory) + + def test_invalid_memory(self): + ns = Namespace(memory='invalid') + with self.assertRaises(InvalidArgumentValueError) as context: + validate_memory(ns) + self.assertEqual('Memory quantity should be integer followed by unit (Mi/Gi)', str(context.exception)) + + def test_invalid_cpu(self): + ns = Namespace(cpu='invalid') + with self.assertRaises(InvalidArgumentValueError) as context: + validate_cpu(ns) + self.assertEqual('CPU quantity should be millis (500m) or integer (1, 2, ...)', str(context.exception)) + + +class TestDeployPath(unittest.TestCase): + def test_no_deploy_path_provided_when_create(self): + ns = Namespace(source_path=None, artifact_path=None, container_image=None) + validate_deloyment_create_path(ns) + + def test_no_deploy_path_when_deploy(self): + ns = Namespace(source_path=None, artifact_path=None, container_image=None) + with self.assertRaises(InvalidArgumentValueError): + validate_deloy_path(ns) + + def test_more_than_one_path(self): + ns = Namespace(source_path='test', artifact_path='test', container_image=None) + with self.assertRaises(InvalidArgumentValueError): + validate_deloy_path(ns) + with self.assertRaises(InvalidArgumentValueError): + validate_deloyment_create_path(ns) + + def test_more_than_one_path_1(self): + ns = Namespace(source_path='test', artifact_path='test', container_image='test') + with self.assertRaises(InvalidArgumentValueError): + validate_deloy_path(ns) + with self.assertRaises(InvalidArgumentValueError): + validate_deloyment_create_path(ns) + + def test_more_than_one_path_2(self): + ns = Namespace(source_path='test', artifact_path=None, container_image='test') + with self.assertRaises(InvalidArgumentValueError): + validate_deloy_path(ns) + with self.assertRaises(InvalidArgumentValueError): + validate_deloyment_create_path(ns) + + +class TestActiveDeploymentExist(unittest.TestCase): + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_deployment_found(self, client_factory_mock): + client = mock.MagicMock() + client.deployments.list.return_value = [ + _get_deployment('rg1', 'asc1', 'app1', 'green1', False), + _get_deployment('rg1', 'asc1', 'app1', 'default', True), + ] + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment=None) + active_deployment_exist(_get_test_cmd(), ns) + + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_deployment_without_active_exist(self, client_factory_mock): + client = mock.MagicMock() + client.deployments.list.return_value = [ + _get_deployment('rg1', 'asc1', 'app1', 'green1', False) + ] + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment=None) + with self.assertRaises(InvalidArgumentValueError) as context: + active_deployment_exist(_get_test_cmd(), ns) + self.assertEqual('This app has no production deployment, use \"az spring-cloud app deployment create\" to create a deployment and \"az spring-cloud app set-deployment\" to set production deployment.', str(context.exception)) + + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_no_deployments(self, client_factory_mock): + client = mock.MagicMock() + client.deployments.list.return_value = [] + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment=None) + with self.assertRaises(InvalidArgumentValueError) as context: + active_deployment_exist(_get_test_cmd(), ns) + self.assertEqual('This app has no production deployment, use \"az spring-cloud app deployment create\" to create a deployment and \"az spring-cloud app set-deployment\" to set production deployment.', str(context.exception)) + + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_app_not_found(self, client_factory_mock): + client = mock.MagicMock() + resp = mock.MagicMock() + resp.status_code = 404 + resp.text = '{"Message": "Not Found"}' + client.deployments.list.side_effect = ResourceNotFoundError(resp, error='App not found.') + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment=None) + with self.assertRaises(InvalidArgumentValueError) as context: + active_deployment_exist(_get_test_cmd(), ns) + self.assertEqual('App app1 not found', str(context.exception)) + + +class TestFulfillDeploymentParameter(unittest.TestCase): + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_deployment_provide(self, client_factory_mock): + client = mock.MagicMock() + client.deployments.get.return_value = _get_deployment('rg1', 'asc1', 'app1', 'green1', False) + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment='green1') + fulfill_deployment_param(_get_test_cmd(), ns) + self.assertEqual('/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppPlatform/Spring/asc1/apps/app1/deployments/green1', + ns.deployment.id) + self.assertFalse(ns.deployment.properties.active) + + + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_deployment_provide_but_not_found(self, client_factory_mock): + client = mock.MagicMock() + resp = mock.MagicMock() + resp.status_code = 404 + resp.text = '{"Message": "Not Found"}' + client.deployments.get.side_effect = CloudError(resp, error='deployment not found.') + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment='green1') + with self.assertRaises(InvalidArgumentValueError) as context: + fulfill_deployment_param(_get_test_cmd(), ns) + self.assertEqual('Deployment green1 not found under app app1', str(context.exception)) + + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_deployment_with_active_deployment(self, client_factory_mock): + client = mock.MagicMock() + client.deployments.list.return_value = [ + _get_deployment('rg1', 'asc1', 'app1', 'green1', False), + _get_deployment('rg1', 'asc1', 'app1', 'default', True), + ] + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment=None) + fulfill_deployment_param(_get_test_cmd(), ns) + self.assertEqual('/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppPlatform/Spring/asc1/apps/app1/deployments/default', + ns.deployment.id) + self.assertTrue(ns.deployment.properties.active) + + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_deployment_with_active_deployment_for_app_parameter(self, client_factory_mock): + client = mock.MagicMock() + client.deployments.list.return_value = [ + _get_deployment('rg1', 'asc1', 'app1', 'green1', False), + _get_deployment('rg1', 'asc1', 'app1', 'default', True), + ] + client_factory_mock.return_value = client + + ns = Namespace(app='app1', service='asc1', resource_group='rg1', deployment=None) + fulfill_deployment_param(_get_test_cmd(), ns) + self.assertEqual('/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.AppPlatform/Spring/asc1/apps/app1/deployments/default', + ns.deployment.id) + self.assertTrue(ns.deployment.properties.active) + + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_deployment_without_active_deployment(self, client_factory_mock): + client = mock.MagicMock() + client.deployments.list.return_value = [ + _get_deployment('rg1', 'asc1', 'app1', 'green1', False) + ] + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment=None) + with self.assertRaises(InvalidArgumentValueError) as context: + fulfill_deployment_param(_get_test_cmd(), ns) + self.assertEqual('No production deployment found, use --deployment to specify deployment or create deployment with: az spring-cloud app deployment create', str(context.exception)) + + @mock.patch('azext_spring_cloud._app_validator.cf_spring_cloud_20220101preview', autospec=True) + def test_deployment_without_deployment(self, client_factory_mock): + client = mock.MagicMock() + client.deployments.list.return_value = [] + client_factory_mock.return_value = client + + ns = Namespace(name='app1', service='asc1', resource_group='rg1', deployment=None) + with self.assertRaises(InvalidArgumentValueError) as context: + fulfill_deployment_param(_get_test_cmd(), ns) + self.assertEqual('No production deployment found, use --deployment to specify deployment or create deployment with: az spring-cloud app deployment create', str(context.exception)) \ No newline at end of file diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_application_configuration_service.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_application_configuration_service.py new file mode 100644 index 00000000000..f68040a76f3 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_application_configuration_service.py @@ -0,0 +1,58 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, record_only) + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + + +@record_only() +class ApplicationConfigurationServiceTest(ScenarioTest): + + def test_application_configuration_service(self): + + self.kwargs.update({ + 'serviceName': 'tx-enterprise', + 'rg': 'tx', + 'repo': 'repo1', + "label": "master", + "patterns": "api-gateway,customers-service", + "uri": "https://github.com/spring-petclinic/spring-petclinic-microservices-config", + "app": "app1" + }) + + self.cmd('spring-cloud application-configuration-service show -g {rg} -s {serviceName}', checks=[ + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud application-configuration-service git repo add -g {rg} -s {serviceName} ' + '-n {repo} --label {label} --patterns {patterns} --uri {uri}', checks=[ + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud application-configuration-service git repo update -g {rg} -s {serviceName} ' + '-n {repo} --label {label}', checks=[ + self.check('properties.provisioningState', "Succeeded") + ]) + + result = self.cmd('spring-cloud application-configuration-service git repo list -g {rg} -s {serviceName}').get_output_in_json() + self.assertTrue(len(result) > 0) + + self.cmd('spring-cloud application-configuration-service git repo remove --name {repo} -g {rg} -s {serviceName}') + result = self.cmd('spring-cloud application-configuration-service git repo list -g {rg} -s {serviceName}').get_output_in_json() + self.assertTrue(len(result) == 0) + + self.cmd('spring-cloud application-configuration-service bind --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('properties.addonConfigs.applicationConfigurationService.resourceId', + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/configurationServices/default") + ]) + self.cmd('spring-cloud application-configuration-service unbind --app {app} -g {rg} -s {serviceName}') + + self.cmd('spring-cloud application-configuration-service clear -g {rg} -s {serviceName}', checks=[ + self.check('properties.provisioningState', "Succeeded") + ]) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_build_service_builder_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_build_service_builder_scenario.py new file mode 100644 index 00000000000..502d10ea62a --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_build_service_builder_scenario.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. +# -------------------------------------------------------------------------------------------- + +import os + +from azure.cli.testsdk import (ScenarioTest, record_only) + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +@record_only() +class BuildServiceBuilderTest(ScenarioTest): + def test_Builder(self): + py_path = os.path.abspath(os.path.dirname(__file__)) + builder_file = os.path.join(py_path, 'files/build_service_builder.json').replace("\\","/") + + self.kwargs.update({ + 'serviceName': 'cli-unittest', + 'rg': 'cli', + 'name': 'test-builder', + 'builderFile': builder_file + }) + + self.cmd('spring-cloud build-service builder create -n {name} -g {rg} --service {serviceName} --builder-file {builderFile}', checks=[ + self.check('name', '{name}'), + self.check('properties.buildpackGroups[0].buildpacks[0].id', 'tanzu-buildpacks/java-azure'), + self.check('properties.buildpackGroups[0].name', 'mix'), + self.check('properties.provisioningState', 'Succeeded'), + self.check('properties.stack.id', 'io.buildpacks.stacks.bionic'), + self.check('properties.stack.version', 'base'), + ]) + + self.cmd('spring-cloud build-service builder update -n test -g {rg} --service {serviceName} --builder-file {builderFile}', checks=[ + self.check('name', 'test'), + self.check('properties.buildpackGroups[0].buildpacks[0].id', 'tanzu-buildpacks/java-azure'), + self.check('properties.buildpackGroups[0].name', 'mix'), + self.check('properties.provisioningState', 'Succeeded'), + self.check('properties.stack.id', 'io.buildpacks.stacks.bionic'), + self.check('properties.stack.version', 'base'), + ]) + + self.cmd('spring-cloud build-service builder show -n {name} -g {rg} --service {serviceName}', checks=[ + self.check('name', '{name}'), + self.check('properties.buildpackGroups[0].buildpacks[0].id', 'tanzu-buildpacks/java-azure'), + self.check('properties.buildpackGroups[0].name', 'mix'), + self.check('properties.provisioningState', 'Succeeded'), + self.check('properties.stack.id', 'io.buildpacks.stacks.bionic'), + self.check('properties.stack.version', 'base'), + ]) + + self.cmd('spring-cloud build-service builder delete -n {name} -g {rg} --service {serviceName} -y') diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_buildpack_binding.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_buildpack_binding.py new file mode 100644 index 00000000000..808255952b0 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_buildpack_binding.py @@ -0,0 +1,75 @@ +# -------------------------------------------------------------------------------------------- +# 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 json +from azure.cli.testsdk import (ScenarioTest, record_only) +from knack.log import get_logger + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + +@record_only() +class BuildpackBindingTest(ScenarioTest): + + def test_buildpack_binding(self): + py_path = os.path.abspath(os.path.dirname(__file__)) + + self.kwargs.update({ + 'serviceName': 'test-buildpack-binding', + 'rg': 'enterprise-test', + 'bindingName': "test-binding-name", + 'bindingType': "ApplicationInsights", + 'properties': "a=b b=c", + 'secrets': "x=y y=z", + 'builderName': "test-builder-name", + }) + + self.cmd('spring-cloud build-service builder buildpack-binding create --name {bindingName} --type {bindingType} \ + --properties {properties} --secrets {secrets} -g {rg} -s {serviceName}', + checks=[ + self.check('properties.provisioningState', 'Succeeded'), + self.check('properties.bindingType', 'ApplicationInsights'), + self.check('properties.launchProperties.properties', {'a': 'b', 'b': 'c'}), + self.check('properties.launchProperties.secrets', {'x': '*', 'y': '*'}), + ]) + + self.cmd('spring-cloud build-service builder buildpack-binding show --name {bindingName} -g {rg} -s {serviceName}', + checks=[ + self.check('properties.provisioningState', 'Succeeded'), + self.check('properties.bindingType', 'ApplicationInsights'), + ]) + + self.cmd('spring-cloud build-service builder buildpack-binding set --name {bindingName} --type NewRelic \ + --properties a=b --secrets c=d -g {rg} -s {serviceName}', + checks=[ + self.check('properties.provisioningState', 'Succeeded'), + self.check('properties.bindingType', 'NewRelic'), + self.check('properties.launchProperties.properties', {'a': 'b'}), + self.check('properties.launchProperties.secrets', {'c': '*'}), + ]) + + self.cmd('spring-cloud build-service builder buildpack-binding delete --name {bindingName} -g {rg} -s {serviceName} --yes') + + self.cmd('spring-cloud build-service builder buildpack-binding create --name {bindingName}-0 --type ApplicationInsights \ + --properties {properties} --secrets {secrets} -g {rg} -s {serviceName}', + checks=[ + self.check('properties.provisioningState', 'Succeeded'), + self.check('properties.bindingType', 'ApplicationInsights'), + self.check('properties.launchProperties.properties', {'a': 'b', 'b': 'c'}), + self.check('properties.launchProperties.secrets', {'x': '*', 'y': '*'}), + ]) + + self.cmd('spring-cloud build-service builder buildpack-binding create --name {bindingName}-1 --type NewRelic \ + --properties {properties} --secrets {secrets} -g {rg} -s {serviceName}', + checks=[ + self.check('properties.provisioningState', 'Succeeded'), + self.check('properties.bindingType', 'NewRelic'), + self.check('properties.launchProperties.properties', {'a': 'b', 'b': 'c'}), + self.check('properties.launchProperties.secrets', {'x': '*', 'y': '*'}), + ]) + + results = self.cmd('spring-cloud build-service builder buildpack-binding list -g {rg} -s {serviceName}').get_output_in_json() + self.assertEqual(2, len(results)) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_create.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_create.py new file mode 100644 index 00000000000..76f9c3dbc65 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_create.py @@ -0,0 +1,203 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import unittest +from azure.cli.core.azclierror import ResourceNotFoundError +from knack.util import CLIError +from msrestazure.tools import resource_id +from ...vendored_sdks.appplatform.v2022_01_01_preview import models +from ...spring_cloud_instance import (spring_cloud_create) +from ..._utils import (_get_sku_name) +try: + import unittest.mock as mock +except ImportError: + from unittest import mock + +from azure.cli.core.mock import DummyCli +from azure.cli.core import AzCommandsLoader +from azure.cli.core.commands import AzCliCommand + +from knack.log import get_logger + +logger = get_logger(__name__) +free_mock_client = mock.MagicMock() + +def _get_test_cmd(): + cli_ctx = DummyCli() + cli_ctx.data['subscription_id'] = '00000000-0000-0000-0000-000000000000' + loader = AzCommandsLoader(cli_ctx, resource_type='Microsoft.AppPlatform') + cmd = AzCliCommand(loader, 'test', None) + cmd.command_kwargs = {'resource_type': 'Microsoft.AppPlatform'} + cmd.cli_ctx = cli_ctx + return cmd + + +def _cf_resource_group(cli_ctx, subscription_id=None): + client = mock.MagicMock() + rg = mock.MagicMock() + rg.location = 'east us' + client.resource_groups.get.return_value = rg + return client + + +def _get_basic_mock_client(*_): + return mock.MagicMock() + + +class BasicTest(unittest.TestCase): + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.created_resource = None + + def setUp(self): + resp = super().setUp() + free_mock_client.reset_mock() + return resp + + def _get_sku(self, tier='Standard'): + return models.Sku( + tier=tier, + name=_get_sku_name(tier) + ) + + @mock.patch('azext_spring_cloud._utils.cf_resource_groups', _cf_resource_group) + def _execute(self, resource_group, name, **kwargs): + client = kwargs.pop('client', None) or _get_basic_mock_client() + spring_cloud_create(_get_test_cmd(), client, resource_group, name, **kwargs) + call_args = client.services.begin_create_or_update.call_args_list + self.assertEqual(1, len(call_args)) + self.assertEqual(3, len(call_args[0][0])) + self.assertEqual((resource_group, name), call_args[0][0][0:2]) + self.created_resource = call_args[0][0][2] + + +class TestSpringCloudCreateEnerprise(BasicTest): + def test_asc_create_enterprise(self): + self._execute('rg', 'asc', sku=self._get_sku('Enterprise'), disable_app_insights=True) + resource = self.created_resource + self.assertEqual('E0', resource.sku.name) + self.assertEqual('Enterprise', resource.sku.tier) + self.assertEqual(False, resource.properties.zone_redundant) + + +class TestSpringCloudCreateWithAI(BasicTest): + def _get_ai_client(ctx, type): + ai_create_resource = mock.MagicMock() + ai_create_resource.connection_string = 'fake-connection' + free_mock_client.components.create_or_update.return_value = ai_create_resource + ai_get_resource = mock.MagicMock() + ai_get_resource.connection_string = 'get-connection' + free_mock_client.components.get.return_value = ai_get_resource + return free_mock_client + + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.monitoring_settings_resource = None + + @mock.patch('azext_spring_cloud.custom.get_mgmt_service_client', _get_ai_client) + def _execute(self, resource_group, name, **kwargs): + client = kwargs.pop('client', None) or _get_basic_mock_client() + super()._execute(resource_group, name, client=client, **kwargs) + + call_args = free_mock_client.monitoring_settings.begin_update_put.call_args_list + + self.assertEqual(1, len(call_args)) + self.assertEqual(3, len(call_args[0][1])) + self.assertEqual(resource_group, call_args[0][1]['resource_group_name']) + self.assertEqual(name, call_args[0][1]['service_name']) + self.monitoring_settings_resource = call_args[0][1]['monitoring_setting_resource'] + + def test_asc_create_with_AI_happy_path(self): + self._execute('rg', 'asc', sku=self._get_sku()) + resource = self.created_resource + self.assertEqual('S0', resource.sku.name) + self.assertEqual('Standard', resource.sku.tier) + self.assertEqual(False, resource.properties.zone_redundant) + self.assertEqual('fake-connection', self.monitoring_settings_resource.properties.app_insights_instrumentation_key) + self.assertEqual(True, self.monitoring_settings_resource.properties.trace_enabled) + + def test_asc_create_with_AI_key(self): + self._execute('rg', 'asc', sku=self._get_sku(), app_insights_key='my-key') + resource = self.created_resource + self.assertEqual('S0', resource.sku.name) + self.assertEqual('Standard', resource.sku.tier) + self.assertEqual(False, resource.properties.zone_redundant) + self.assertEqual('my-key', self.monitoring_settings_resource.properties.app_insights_instrumentation_key) + self.assertEqual(True, self.monitoring_settings_resource.properties.trace_enabled) + + def test_asc_create_with_AI_name(self): + self._execute('rg', 'asc', sku=self._get_sku(), app_insights='my-key') + resource = self.created_resource + self.assertEqual('S0', resource.sku.name) + self.assertEqual('Standard', resource.sku.tier) + self.assertEqual(False, resource.properties.zone_redundant) + self.assertEqual('get-connection', self.monitoring_settings_resource.properties.app_insights_instrumentation_key) + self.assertEqual(True, self.monitoring_settings_resource.properties.trace_enabled) + + +class TestSpringCloudCreateEnerpriseWithApplicationInsights(BasicTest): + def _get_application_insights_client(ctx, type): + application_insights_create_resource = mock.MagicMock() + application_insights_create_resource.connection_string = 'fake-create-connection-string' + + application_insights_get_resource = mock.MagicMock() + application_insights_get_resource.connection_string = 'fake-get-connection-string' + + free_mock_client.components.create_or_update.return_value = application_insights_create_resource + free_mock_client.components.get.return_value = application_insights_get_resource + + return free_mock_client + + def __init__(self, methodName: str = ...): + super().__init__(methodName=methodName) + self.buildpack_binding_resource = None + + @mock.patch('azext_spring_cloud.buildpack_binding.get_mgmt_service_client', _get_application_insights_client) + def _execute(self, resource_group, name, **kwargs): + client = kwargs.pop('client', None) or _get_basic_mock_client() + super()._execute(resource_group, name, client=client, **kwargs) + + call_args = client.buildpack_binding.begin_create_or_update.call_args_list + + self.assertEqual(1, len(call_args)) + self.assertEqual(2, len(call_args[0])) + self.assertEqual(resource_group, call_args[0][0][0]) + self.assertEqual(name, call_args[0][0][1]) + self.assertEqual("default", call_args[0][0][2]) + self.assertEqual("default", call_args[0][0][3]) + self.assertEqual("default", call_args[0][0][4]) + self.buildpack_binding_resource = call_args[0][0][5] + + def test_asc_create_with_application_insights_default(self): + self._execute('rg', 'asc', sku=self._get_sku('Enterprise')) + resource = self.created_resource + self.assertEqual('E0', resource.sku.name) + self.assertEqual('Enterprise', resource.sku.tier) + self.assertEqual('ApplicationInsights', self.buildpack_binding_resource.properties.binding_type) + self.assertEqual('fake-create-connection-string', + self.buildpack_binding_resource.properties.launch_properties.properties['connection-string']) + self.assertEqual(10, + self.buildpack_binding_resource.properties.launch_properties.properties['sampling-percentage']) + + def test_asc_create_with_application_insights_key(self): + self._execute('rg', 'asc', sku=self._get_sku('Enterprise'), app_insights_key='test-application-insights-key', sampling_rate=23) + resource = self.created_resource + self.assertEqual('E0', resource.sku.name) + self.assertEqual('Enterprise', resource.sku.tier) + self.assertEqual('ApplicationInsights', self.buildpack_binding_resource.properties.binding_type) + self.assertEqual('test-application-insights-key', + self.buildpack_binding_resource.properties.launch_properties.properties['connection-string']) + self.assertEqual(23, + self.buildpack_binding_resource.properties.launch_properties.properties['sampling-percentage']) + + def test_asc_create_with_application_insights_name(self): + self._execute('rg', 'asc', sku=self._get_sku('Enterprise'), app_insights='test-application-insights', sampling_rate=53) + resource = self.created_resource + self.assertEqual('E0', resource.sku.name) + self.assertEqual('Enterprise', resource.sku.tier) + self.assertEqual('ApplicationInsights', self.buildpack_binding_resource.properties.binding_type) + self.assertEqual('fake-get-connection-string', + self.buildpack_binding_resource.properties.launch_properties.properties['connection-string']) + self.assertEqual(53, + self.buildpack_binding_resource.properties.launch_properties.properties['sampling-percentage']) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_gateway.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_gateway.py new file mode 100644 index 00000000000..af32c11e1a9 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_gateway.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. +# -------------------------------------------------------------------------------------------- + +import os +import json +from azure.cli.testsdk import (ScenarioTest, record_only) + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + + +@record_only() +class GatewayTest(ScenarioTest): + + def test_gateway(self): + py_path = os.path.abspath(os.path.dirname(__file__)) + routes_file = os.path.join(py_path, 'files/gateway_routes.json').replace("\\","/") + + self.kwargs.update({ + 'serviceName': 'tx-enterprise', + 'rg': 'tx', + 'routeName': 'cli-route', + 'routeFile': routes_file, + 'cert': 'cli-unittest', + 'domain': 'gateway-cli.asc-test.net', + 'thumbprint': 'ef16ce1a35ecd6b7a9d4e546a5b1d480b38f3e5d' + }) + + self.cmd('spring-cloud gateway update -g {rg} -s {serviceName} ' + '--assign-endpoint true --https-only true --cpu 1 --memory 2Gi --instance-count 3 ' + '--api-title "Pet clinic" --api-description "Demo for pet clinic" --api-doc-location "doc" --api-version v1 ' + '--server-url https://tx-enterprise-gateway-fd0c7.svc.asc-test.net ' + '--allowed-origins "*" --allowed-methods "GET,PUT,DELETE" --allowed-headers "X-TEST,X-STAGING" --max-age 10 --allow-credentials true --exposed-headers "Access-Control-Request-Method,Access-Control-Request-Headers" ' + '--client-id * --client-secret * --issuer-uri https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0 --scope "openid,profile,email"', checks=[ + self.check('properties.public', True), + self.check('properties.httpsOnly', True), + self.check('properties.resourceRequests.cpu', "1"), + self.check('properties.resourceRequests.memory', "2Gi"), + self.check('sku.capacity', 3), + self.check('properties.operatorProperties.resourceRequests.cpu', "1"), + self.check('properties.operatorProperties.resourceRequests.memory', "2Gi"), + self.check('properties.operatorProperties.resourceRequests.instanceCount', 2), + self.check('properties.apiMetadataProperties.title', "Pet clinic"), + self.check('properties.apiMetadataProperties.description', "Demo for pet clinic"), + self.check('properties.apiMetadataProperties.documentation', "doc"), + self.check('properties.apiMetadataProperties.serverUrl', "https://tx-enterprise-gateway-fd0c7.svc.asc-test.net"), + self.check('properties.apiMetadataProperties.version', "v1"), + self.check('properties.corsProperties.allowCredentials', True), + self.check('properties.corsProperties.allowedHeaders', ["X-TEST", "X-STAGING"]), + self.check('properties.corsProperties.allowedOrigins', ["*"]), + self.check('properties.corsProperties.allowedMethods', ["GET", "PUT", "DELETE"]), + self.check('properties.corsProperties.exposedHeaders', ["Access-Control-Request-Method", "Access-Control-Request-Headers"]), + self.check('properties.ssoProperties.clientId', "*"), + self.check('properties.ssoProperties.clientSecret', "*"), + self.check('properties.ssoProperties.issuerUri', "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0"), + self.check('properties.ssoProperties.scope', ["openid", "profile", "email"]), + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud gateway show -g {rg} -s {serviceName}', checks=[ + self.check('properties.public', True), + self.check('properties.httpsOnly', True), + self.check('sku.capacity', 3), + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud gateway route-config create -g {rg} -s {serviceName} -n {routeName} ' + '--app-name customers-service --routes-file {routeFile}', checks=[ + self.check('properties.appResourceId', '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/customers-service'), + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud gateway route-config update -g {rg} -s {serviceName} -n {routeName} ' + '--app-name vets-service', checks=[ + self.check('properties.appResourceId', '/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/apps/vets-service'), + self.check('properties.provisioningState', "Succeeded") + ]) + + result = self.cmd('spring-cloud gateway route-config list -g {rg} -s {serviceName}').get_output_in_json() + self.assertTrue(len(result) > 0) + + self.cmd('spring-cloud gateway route-config remove --name {routeName} -g {rg} -s {serviceName}') + self.cmd('spring-cloud gateway route-config show --name {routeName} -g {rg} -s {serviceName}', expect_failure=True) + + self.cmd('spring-cloud gateway clear -g {rg} -s {serviceName}', checks=[ + self.check('properties.public', False), + self.check('properties.httpsOnly', False), + self.check('sku.capacity', 2), + self.check('properties.ssoProperties', None), + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud certificate show --name {cert} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{cert}') + ]) + + self.cmd('spring-cloud gateway custom-domain bind --domain-name {domain} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}') + ]) + + self.cmd('spring-cloud gateway custom-domain show --domain-name {domain} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}') + ]) + + result = self.cmd('spring-cloud gateway custom-domain list -g {rg} -s {serviceName}').get_output_in_json() + self.assertTrue(len(result) > 0) + + self.cmd('spring-cloud gateway custom-domain update --domain-name {domain} --certificate {cert} -g {rg} -s {serviceName}', checks=[ + self.check('name', '{domain}'), + self.check('properties.thumbprint', '{thumbprint}') + ]) + + self.cmd('spring-cloud gateway custom-domain unbind --domain-name {domain} -g {rg} -s {serviceName}') + self.cmd('spring-cloud gateway custom-domain show --domain-name {domain} -g {rg} -s {serviceName}', expect_failure=True) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_scenario.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_scenario.py index 5ab2de86f35..b14b0115e3f 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_scenario.py +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_scenario.py @@ -7,7 +7,6 @@ import unittest from knack.util import CLIError -from azure_devtools.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, StorageAccountPreparer, record_only) # pylint: disable=line-too-long @@ -25,10 +24,11 @@ def test_bind_cert_to_domain(self): 'keyVaultUri': 'https://integration-test-prod.vault.azure.net/', 'KeyVaultCertName': 'cli-unittest', 'domain': 'cli.asc-test.net', - 'app': 'test-app', + 'app': 'test-custom-domain', 'serviceName': 'cli-unittest', 'rg': 'cli' }) + self.cmd('spring-cloud app create -n {app} -s {serviceName} -g {rg}') self.cmd('spring-cloud certificate add --name {cert} --vault-uri {keyVaultUri} --vault-certificate-name {KeyVaultCertName} -g {rg} -s {serviceName}', checks=[ self.check('name', '{cert}') @@ -134,9 +134,9 @@ class SslTests(ScenarioTest): def test_load_public_cert_to_app(self): py_path = os.path.abspath(os.path.dirname(__file__)) - baltiCertPath = os.path.join(py_path, 'files/BaltimoreCyberTrustRoot.crt.pem') - digiCertPath = os.path.join(py_path, 'files/DigiCertGlobalRootCA.crt.pem') - loadCertPath = os.path.join(py_path, 'files/load_certificate.json') + baltiCertPath = os.path.join(py_path, 'files/BaltimoreCyberTrustRoot.crt.pem').replace("\\","/") + digiCertPath = os.path.join(py_path, 'files/DigiCertGlobalRootCA.crt.pem').replace("\\","/") + loadCertPath = os.path.join(py_path, 'files/load_certificate.json').replace("\\","/") self.kwargs.update({ 'cert': 'test-cert', @@ -147,15 +147,11 @@ def test_load_public_cert_to_app(self): 'baltiCertPath': baltiCertPath, 'digiCertPath': digiCertPath, 'loadCertPath': loadCertPath, - 'app': 'test-app', + 'app': 'test-app-cert', 'serviceName': 'cli-unittest', - 'rg': 'cli', - 'location': 'westus' + 'rg': 'cli' }) - self.cmd('group create -n {rg} -l {location}') - self.cmd('spring-cloud create -n {serviceName} -g {rg} -l {location}') - self.cmd( 'spring-cloud certificate add --name {digiCert} -f {digiCertPath} -g {rg} -s {serviceName}', checks=[ @@ -196,4 +192,38 @@ def test_load_public_cert_to_app(self): 'spring-cloud certificate list-reference-app --name {digiCert} -g {rg} -s {serviceName}').get_output_in_json() self.assertTrue(len(app_result) > 0) - self.cmd('spring-cloud delete -n {serviceName} -g {rg}') \ No newline at end of file + +class CustomImageTest(ScenarioTest): + + def test_app_deploy_container(self): + py_path = os.path.abspath(os.path.dirname(__file__)) + file_path = os.path.join(py_path, 'files/test.jar').replace("\\","/") + self.kwargs.update({ + 'app': 'test-container', + 'serviceName': 'cli-unittest', + 'containerImage': 'springio/gs-spring-boot-docker', + 'resourceGroup': 'cli', + 'file': file_path + }) + + self.cmd('spring-cloud app create -s {serviceName} -g {resourceGroup} -n {app}') + + self.cmd('spring-cloud app deploy -g {resourceGroup} -s {serviceName} -n {app} --container-image {containerImage}', checks=[ + self.check('name', 'default'), + self.check('properties.source.type', 'Container'), + self.check('properties.source.customContainer.containerImage', '{containerImage}'), + ]) + + self.cmd('spring-cloud app deployment create -g {resourceGroup} -s {serviceName} --app {app} -n green' + + ' --container-image {containerImage} --registry-username PLACEHOLDER --registry-password PLACEHOLDER', checks=[ + self.check('name', 'green'), + ]) + + with self.assertRaisesRegexp(CLIError, "Failed to wait for deployment instances to be ready"): + self.cmd('spring-cloud app deploy -g {resourceGroup} -s {serviceName} -n {app} --artifact-path {file}') + + self.cmd('spring-cloud app deployment show -g {resourceGroup} -s {serviceName} -n default --app {app} ', checks=[ + self.check('name', 'default'), + self.check('properties.source.type', 'Jar'), + self.check('properties.source.runtimeVersion', 'Java_8'), + ]) diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_service_registry.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_service_registry.py new file mode 100644 index 00000000000..4bc2eaf12cb --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_service_registry.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 + +from azure.cli.testsdk import (ScenarioTest, record_only) + +# pylint: disable=line-too-long +# pylint: disable=too-many-lines + + +@record_only() +class ServiceRegistryTest(ScenarioTest): + + def test_service_registry(self): + + self.kwargs.update({ + 'serviceName': 'tx-enterprise', + 'rg': 'tx', + "app": "app1" + }) + + self.cmd('spring-cloud service-registry show -g {rg} -s {serviceName}', checks=[ + self.check('properties.provisioningState', "Succeeded") + ]) + + self.cmd('spring-cloud service-registry bind --app {app} -g {rg} -s {serviceName}', checks=[ + self.check('properties.addonConfigs.serviceRegistry.resourceId', + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tx/providers/Microsoft.AppPlatform/Spring/tx-enterprise/serviceRegistries/default") + ]) + self.cmd('spring-cloud service-registry unbind --app {app} -g {rg} -s {serviceName}') diff --git a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_validator.py b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_validator.py index f96ec9f4604..6039bb4ec3c 100644 --- a/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_validator.py +++ b/src/spring-cloud/azext_spring_cloud/tests/latest/test_asc_validator.py @@ -6,8 +6,9 @@ import copy from argparse import Namespace from azure.cli.core.util import CLIError +from azure.cli.core.azclierror import InvalidArgumentValueError from ..._validators import (validate_vnet, validate_vnet_required_parameters, _validate_cidr_range, - _set_default_cidr_range) + _set_default_cidr_range, validate_sku) try: import unittest.mock as mock @@ -277,3 +278,51 @@ def test_vnet_location(self): with self.assertRaises(CLIError) as context: validate_vnet(_get_test_cmd(), ns) self.assertTrue('--vnet and Azure Spring Cloud instance should be in the same location.' in str(context.exception)) + + +def _mock_term_client(accepted, registered): + def _mock_get(offer_type, publisher_id, offer_id, plan_id): + term = mock.MagicMock() + term.accepted = accepted + return term + def _mock_provider_get(namespace): + provider = mock.MagicMock() + provider.registration_state = 'Registered' if registered else 'NotRegistered' + return provider + client = mock.MagicMock() + client.marketplace_agreements = mock.MagicMock() + client.marketplace_agreements.get = _mock_get + client.providers = mock.MagicMock() + client.providers.get = _mock_provider_get + return client + +def _mock_happy_client(cli_ctx, client_type, **kwargs): + return _mock_term_client(True, True) + +def _mock_not_accepted_term_client(cli_ctx, client_type, **kwargs): + return _mock_term_client(False, True) + +def _mock_not_registered_client(cli_ctx, client_type, **kwargs): + return _mock_term_client(True, False) + +class TestSkuValidator(unittest.TestCase): + @mock.patch('azure.cli.core.commands.client_factory.get_mgmt_service_client', _mock_happy_client) + def test_happy_path(self): + ns = Namespace(sku='Enterprise') + validate_sku(_get_test_cmd(), ns) + self.assertEqual('Enterprise', ns.sku.tier) + + @mock.patch('azure.cli.core.commands.client_factory.get_mgmt_service_client', _mock_not_accepted_term_client) + def test_term_not_accept(self): + ns = Namespace(sku='Enterprise') + with self.assertRaises(InvalidArgumentValueError) as context: + validate_sku(_get_test_cmd(), ns) + self.assertTrue('Terms for Azure Spring Cloud Enterprise is not accepted.' in str(context.exception)) + + @mock.patch('azure.cli.core.commands.client_factory.get_mgmt_service_client', _mock_not_registered_client) + def test_provider_not_registered(self): + ns = Namespace(sku='Enterprise') + with self.assertRaises(InvalidArgumentValueError) as context: + validate_sku(_get_test_cmd(), ns) + self.assertTrue('Microsoft.SaaS resource provider is not registered.' in str(context.exception)) + diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/_app_platform_management_client.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/_app_platform_management_client.py index b417f26cc70..4bb1fd6b1d4 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/_app_platform_management_client.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/_app_platform_management_client.py @@ -96,6 +96,8 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2020-07-01: :mod:`v2020_07_01.models` * 2020-11-01-preview: :mod:`v2020_11_01_preview.models` * 2021-06-01-preview: :mod:`v2021_06_01_preview.models` + * 2021-09-01-preview: :mod:`v2021_09_01_preview.models` + * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` """ if api_version == '2019-05-01-preview': from .v2019_05_01_preview import models @@ -109,8 +111,40 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2021-06-01-preview': from .v2021_06_01_preview import models return models + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview import models + return models + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview import models + return models raise ValueError("API version {} is not available".format(api_version)) + @property + def api_portal_custom_domains(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`ApiPortalCustomDomainsOperations` + """ + api_version = self._get_api_version('api_portal_custom_domains') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ApiPortalCustomDomainsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'api_portal_custom_domains'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def api_portals(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`ApiPortalsOperations` + """ + api_version = self._get_api_version('api_portals') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ApiPortalsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'api_portals'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def apps(self): """Instance depends on the API version: @@ -119,6 +153,8 @@ def apps(self): * 2020-07-01: :class:`AppsOperations` * 2020-11-01-preview: :class:`AppsOperations` * 2021-06-01-preview: :class:`AppsOperations` + * 2021-09-01-preview: :class:`AppsOperations` + * 2022-01-01-preview: :class:`AppsOperations` """ api_version = self._get_api_version('apps') if api_version == '2019-05-01-preview': @@ -129,6 +165,10 @@ def apps(self): from .v2020_11_01_preview.operations import AppsOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import AppsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import AppsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import AppsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'apps'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -141,6 +181,8 @@ def bindings(self): * 2020-07-01: :class:`BindingsOperations` * 2020-11-01-preview: :class:`BindingsOperations` * 2021-06-01-preview: :class:`BindingsOperations` + * 2021-09-01-preview: :class:`BindingsOperations` + * 2022-01-01-preview: :class:`BindingsOperations` """ api_version = self._get_api_version('bindings') if api_version == '2019-05-01-preview': @@ -151,10 +193,66 @@ def bindings(self): from .v2020_11_01_preview.operations import BindingsOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import BindingsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import BindingsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import BindingsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'bindings'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def build_service(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`BuildServiceOperations` + """ + api_version = self._get_api_version('build_service') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import BuildServiceOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'build_service'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def build_service_agent_pool(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`BuildServiceAgentPoolOperations` + """ + api_version = self._get_api_version('build_service_agent_pool') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import BuildServiceAgentPoolOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'build_service_agent_pool'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def build_service_builder(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`BuildServiceBuilderOperations` + """ + api_version = self._get_api_version('build_service_builder') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import BuildServiceBuilderOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'build_service_builder'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def buildpack_binding(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`BuildpackBindingOperations` + """ + api_version = self._get_api_version('buildpack_binding') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import BuildpackBindingOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'buildpack_binding'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def certificates(self): """Instance depends on the API version: @@ -163,6 +261,8 @@ def certificates(self): * 2020-07-01: :class:`CertificatesOperations` * 2020-11-01-preview: :class:`CertificatesOperations` * 2021-06-01-preview: :class:`CertificatesOperations` + * 2021-09-01-preview: :class:`CertificatesOperations` + * 2022-01-01-preview: :class:`CertificatesOperations` """ api_version = self._get_api_version('certificates') if api_version == '2019-05-01-preview': @@ -173,6 +273,10 @@ def certificates(self): from .v2020_11_01_preview.operations import CertificatesOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import CertificatesOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import CertificatesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import CertificatesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'certificates'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -184,6 +288,8 @@ def config_servers(self): * 2020-07-01: :class:`ConfigServersOperations` * 2020-11-01-preview: :class:`ConfigServersOperations` * 2021-06-01-preview: :class:`ConfigServersOperations` + * 2021-09-01-preview: :class:`ConfigServersOperations` + * 2022-01-01-preview: :class:`ConfigServersOperations` """ api_version = self._get_api_version('config_servers') if api_version == '2020-07-01': @@ -192,10 +298,27 @@ def config_servers(self): from .v2020_11_01_preview.operations import ConfigServersOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import ConfigServersOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import ConfigServersOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ConfigServersOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'config_servers'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def configuration_services(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`ConfigurationServicesOperations` + """ + api_version = self._get_api_version('configuration_services') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ConfigurationServicesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'configuration_services'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def custom_domains(self): """Instance depends on the API version: @@ -204,6 +327,8 @@ def custom_domains(self): * 2020-07-01: :class:`CustomDomainsOperations` * 2020-11-01-preview: :class:`CustomDomainsOperations` * 2021-06-01-preview: :class:`CustomDomainsOperations` + * 2021-09-01-preview: :class:`CustomDomainsOperations` + * 2022-01-01-preview: :class:`CustomDomainsOperations` """ api_version = self._get_api_version('custom_domains') if api_version == '2019-05-01-preview': @@ -214,6 +339,10 @@ def custom_domains(self): from .v2020_11_01_preview.operations import CustomDomainsOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import CustomDomainsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import CustomDomainsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import CustomDomainsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'custom_domains'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -226,6 +355,8 @@ def deployments(self): * 2020-07-01: :class:`DeploymentsOperations` * 2020-11-01-preview: :class:`DeploymentsOperations` * 2021-06-01-preview: :class:`DeploymentsOperations` + * 2021-09-01-preview: :class:`DeploymentsOperations` + * 2022-01-01-preview: :class:`DeploymentsOperations` """ api_version = self._get_api_version('deployments') if api_version == '2019-05-01-preview': @@ -236,10 +367,53 @@ def deployments(self): from .v2020_11_01_preview.operations import DeploymentsOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import DeploymentsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import DeploymentsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import DeploymentsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'deployments'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def gateway_custom_domains(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`GatewayCustomDomainsOperations` + """ + api_version = self._get_api_version('gateway_custom_domains') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import GatewayCustomDomainsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'gateway_custom_domains'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def gateway_route_configs(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`GatewayRouteConfigsOperations` + """ + api_version = self._get_api_version('gateway_route_configs') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import GatewayRouteConfigsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'gateway_route_configs'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def gateways(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`GatewaysOperations` + """ + api_version = self._get_api_version('gateways') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import GatewaysOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'gateways'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def monitoring_settings(self): """Instance depends on the API version: @@ -247,6 +421,8 @@ def monitoring_settings(self): * 2020-07-01: :class:`MonitoringSettingsOperations` * 2020-11-01-preview: :class:`MonitoringSettingsOperations` * 2021-06-01-preview: :class:`MonitoringSettingsOperations` + * 2021-09-01-preview: :class:`MonitoringSettingsOperations` + * 2022-01-01-preview: :class:`MonitoringSettingsOperations` """ api_version = self._get_api_version('monitoring_settings') if api_version == '2020-07-01': @@ -255,6 +431,10 @@ def monitoring_settings(self): from .v2020_11_01_preview.operations import MonitoringSettingsOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import MonitoringSettingsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import MonitoringSettingsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import MonitoringSettingsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'monitoring_settings'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -267,6 +447,8 @@ def operations(self): * 2020-07-01: :class:`Operations` * 2020-11-01-preview: :class:`Operations` * 2021-06-01-preview: :class:`Operations` + * 2021-09-01-preview: :class:`Operations` + * 2022-01-01-preview: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2019-05-01-preview': @@ -277,6 +459,10 @@ def operations(self): from .v2020_11_01_preview.operations import Operations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import Operations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import Operations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.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))) @@ -289,6 +475,8 @@ def runtime_versions(self): * 2020-07-01: :class:`RuntimeVersionsOperations` * 2020-11-01-preview: :class:`RuntimeVersionsOperations` * 2021-06-01-preview: :class:`RuntimeVersionsOperations` + * 2021-09-01-preview: :class:`RuntimeVersionsOperations` + * 2022-01-01-preview: :class:`RuntimeVersionsOperations` """ api_version = self._get_api_version('runtime_versions') if api_version == '2019-05-01-preview': @@ -299,10 +487,27 @@ def runtime_versions(self): from .v2020_11_01_preview.operations import RuntimeVersionsOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import RuntimeVersionsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import RuntimeVersionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import RuntimeVersionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'runtime_versions'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def service_registries(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`ServiceRegistriesOperations` + """ + api_version = self._get_api_version('service_registries') + if api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ServiceRegistriesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'service_registries'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def services(self): """Instance depends on the API version: @@ -311,6 +516,8 @@ def services(self): * 2020-07-01: :class:`ServicesOperations` * 2020-11-01-preview: :class:`ServicesOperations` * 2021-06-01-preview: :class:`ServicesOperations` + * 2021-09-01-preview: :class:`ServicesOperations` + * 2022-01-01-preview: :class:`ServicesOperations` """ api_version = self._get_api_version('services') if api_version == '2019-05-01-preview': @@ -321,6 +528,10 @@ def services(self): from .v2020_11_01_preview.operations import ServicesOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import ServicesOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import ServicesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import ServicesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'services'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -345,6 +556,8 @@ def skus(self): * 2020-07-01: :class:`SkusOperations` * 2020-11-01-preview: :class:`SkusOperations` * 2021-06-01-preview: :class:`SkusOperations` + * 2021-09-01-preview: :class:`SkusOperations` + * 2022-01-01-preview: :class:`SkusOperations` """ api_version = self._get_api_version('skus') if api_version == '2020-07-01': @@ -353,10 +566,30 @@ def skus(self): from .v2020_11_01_preview.operations import SkusOperations as OperationClass elif api_version == '2021-06-01-preview': from .v2021_06_01_preview.operations import SkusOperations as OperationClass + elif api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import SkusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import SkusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'skus'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def storages(self): + """Instance depends on the API version: + + * 2021-09-01-preview: :class:`StoragesOperations` + * 2022-01-01-preview: :class:`StoragesOperations` + """ + api_version = self._get_api_version('storages') + if api_version == '2021-09-01-preview': + from .v2021_09_01_preview.operations import StoragesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from .v2022_01_01_preview.operations import StoragesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'storages'".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): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/aio/_app_platform_management_client.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/aio/_app_platform_management_client.py index 401fdc29467..00becf5c9b5 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/aio/_app_platform_management_client.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/aio/_app_platform_management_client.py @@ -94,6 +94,8 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2020-07-01: :mod:`v2020_07_01.models` * 2020-11-01-preview: :mod:`v2020_11_01_preview.models` * 2021-06-01-preview: :mod:`v2021_06_01_preview.models` + * 2021-09-01-preview: :mod:`v2021_09_01_preview.models` + * 2022-01-01-preview: :mod:`v2022_01_01_preview.models` """ if api_version == '2019-05-01-preview': from ..v2019_05_01_preview import models @@ -107,8 +109,40 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview import models return models + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview import models + return models + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview import models + return models raise ValueError("API version {} is not available".format(api_version)) + @property + def api_portal_custom_domains(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`ApiPortalCustomDomainsOperations` + """ + api_version = self._get_api_version('api_portal_custom_domains') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ApiPortalCustomDomainsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'api_portal_custom_domains'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def api_portals(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`ApiPortalsOperations` + """ + api_version = self._get_api_version('api_portals') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ApiPortalsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'api_portals'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def apps(self): """Instance depends on the API version: @@ -117,6 +151,8 @@ def apps(self): * 2020-07-01: :class:`AppsOperations` * 2020-11-01-preview: :class:`AppsOperations` * 2021-06-01-preview: :class:`AppsOperations` + * 2021-09-01-preview: :class:`AppsOperations` + * 2022-01-01-preview: :class:`AppsOperations` """ api_version = self._get_api_version('apps') if api_version == '2019-05-01-preview': @@ -127,6 +163,10 @@ def apps(self): from ..v2020_11_01_preview.aio.operations import AppsOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import AppsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import AppsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import AppsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'apps'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -139,6 +179,8 @@ def bindings(self): * 2020-07-01: :class:`BindingsOperations` * 2020-11-01-preview: :class:`BindingsOperations` * 2021-06-01-preview: :class:`BindingsOperations` + * 2021-09-01-preview: :class:`BindingsOperations` + * 2022-01-01-preview: :class:`BindingsOperations` """ api_version = self._get_api_version('bindings') if api_version == '2019-05-01-preview': @@ -149,10 +191,66 @@ def bindings(self): from ..v2020_11_01_preview.aio.operations import BindingsOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import BindingsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import BindingsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import BindingsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'bindings'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def build_service(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`BuildServiceOperations` + """ + api_version = self._get_api_version('build_service') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import BuildServiceOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'build_service'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def build_service_agent_pool(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`BuildServiceAgentPoolOperations` + """ + api_version = self._get_api_version('build_service_agent_pool') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import BuildServiceAgentPoolOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'build_service_agent_pool'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def build_service_builder(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`BuildServiceBuilderOperations` + """ + api_version = self._get_api_version('build_service_builder') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import BuildServiceBuilderOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'build_service_builder'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def buildpack_binding(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`BuildpackBindingOperations` + """ + api_version = self._get_api_version('buildpack_binding') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import BuildpackBindingOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'buildpack_binding'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def certificates(self): """Instance depends on the API version: @@ -161,6 +259,8 @@ def certificates(self): * 2020-07-01: :class:`CertificatesOperations` * 2020-11-01-preview: :class:`CertificatesOperations` * 2021-06-01-preview: :class:`CertificatesOperations` + * 2021-09-01-preview: :class:`CertificatesOperations` + * 2022-01-01-preview: :class:`CertificatesOperations` """ api_version = self._get_api_version('certificates') if api_version == '2019-05-01-preview': @@ -171,6 +271,10 @@ def certificates(self): from ..v2020_11_01_preview.aio.operations import CertificatesOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import CertificatesOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import CertificatesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import CertificatesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'certificates'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -182,6 +286,8 @@ def config_servers(self): * 2020-07-01: :class:`ConfigServersOperations` * 2020-11-01-preview: :class:`ConfigServersOperations` * 2021-06-01-preview: :class:`ConfigServersOperations` + * 2021-09-01-preview: :class:`ConfigServersOperations` + * 2022-01-01-preview: :class:`ConfigServersOperations` """ api_version = self._get_api_version('config_servers') if api_version == '2020-07-01': @@ -190,10 +296,27 @@ def config_servers(self): from ..v2020_11_01_preview.aio.operations import ConfigServersOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import ConfigServersOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import ConfigServersOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ConfigServersOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'config_servers'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def configuration_services(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`ConfigurationServicesOperations` + """ + api_version = self._get_api_version('configuration_services') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ConfigurationServicesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'configuration_services'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def custom_domains(self): """Instance depends on the API version: @@ -202,6 +325,8 @@ def custom_domains(self): * 2020-07-01: :class:`CustomDomainsOperations` * 2020-11-01-preview: :class:`CustomDomainsOperations` * 2021-06-01-preview: :class:`CustomDomainsOperations` + * 2021-09-01-preview: :class:`CustomDomainsOperations` + * 2022-01-01-preview: :class:`CustomDomainsOperations` """ api_version = self._get_api_version('custom_domains') if api_version == '2019-05-01-preview': @@ -212,6 +337,10 @@ def custom_domains(self): from ..v2020_11_01_preview.aio.operations import CustomDomainsOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import CustomDomainsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import CustomDomainsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import CustomDomainsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'custom_domains'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -224,6 +353,8 @@ def deployments(self): * 2020-07-01: :class:`DeploymentsOperations` * 2020-11-01-preview: :class:`DeploymentsOperations` * 2021-06-01-preview: :class:`DeploymentsOperations` + * 2021-09-01-preview: :class:`DeploymentsOperations` + * 2022-01-01-preview: :class:`DeploymentsOperations` """ api_version = self._get_api_version('deployments') if api_version == '2019-05-01-preview': @@ -234,10 +365,53 @@ def deployments(self): from ..v2020_11_01_preview.aio.operations import DeploymentsOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import DeploymentsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import DeploymentsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import DeploymentsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'deployments'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def gateway_custom_domains(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`GatewayCustomDomainsOperations` + """ + api_version = self._get_api_version('gateway_custom_domains') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import GatewayCustomDomainsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'gateway_custom_domains'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def gateway_route_configs(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`GatewayRouteConfigsOperations` + """ + api_version = self._get_api_version('gateway_route_configs') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import GatewayRouteConfigsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'gateway_route_configs'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def gateways(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`GatewaysOperations` + """ + api_version = self._get_api_version('gateways') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import GatewaysOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'gateways'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def monitoring_settings(self): """Instance depends on the API version: @@ -245,6 +419,8 @@ def monitoring_settings(self): * 2020-07-01: :class:`MonitoringSettingsOperations` * 2020-11-01-preview: :class:`MonitoringSettingsOperations` * 2021-06-01-preview: :class:`MonitoringSettingsOperations` + * 2021-09-01-preview: :class:`MonitoringSettingsOperations` + * 2022-01-01-preview: :class:`MonitoringSettingsOperations` """ api_version = self._get_api_version('monitoring_settings') if api_version == '2020-07-01': @@ -253,6 +429,10 @@ def monitoring_settings(self): from ..v2020_11_01_preview.aio.operations import MonitoringSettingsOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import MonitoringSettingsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import MonitoringSettingsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import MonitoringSettingsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'monitoring_settings'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -265,6 +445,8 @@ def operations(self): * 2020-07-01: :class:`Operations` * 2020-11-01-preview: :class:`Operations` * 2021-06-01-preview: :class:`Operations` + * 2021-09-01-preview: :class:`Operations` + * 2022-01-01-preview: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2019-05-01-preview': @@ -275,6 +457,10 @@ def operations(self): from ..v2020_11_01_preview.aio.operations import Operations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import Operations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.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))) @@ -287,6 +473,8 @@ def runtime_versions(self): * 2020-07-01: :class:`RuntimeVersionsOperations` * 2020-11-01-preview: :class:`RuntimeVersionsOperations` * 2021-06-01-preview: :class:`RuntimeVersionsOperations` + * 2021-09-01-preview: :class:`RuntimeVersionsOperations` + * 2022-01-01-preview: :class:`RuntimeVersionsOperations` """ api_version = self._get_api_version('runtime_versions') if api_version == '2019-05-01-preview': @@ -297,10 +485,27 @@ def runtime_versions(self): from ..v2020_11_01_preview.aio.operations import RuntimeVersionsOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import RuntimeVersionsOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import RuntimeVersionsOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import RuntimeVersionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'runtime_versions'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def service_registries(self): + """Instance depends on the API version: + + * 2022-01-01-preview: :class:`ServiceRegistriesOperations` + """ + api_version = self._get_api_version('service_registries') + if api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ServiceRegistriesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'service_registries'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def services(self): """Instance depends on the API version: @@ -309,6 +514,8 @@ def services(self): * 2020-07-01: :class:`ServicesOperations` * 2020-11-01-preview: :class:`ServicesOperations` * 2021-06-01-preview: :class:`ServicesOperations` + * 2021-09-01-preview: :class:`ServicesOperations` + * 2022-01-01-preview: :class:`ServicesOperations` """ api_version = self._get_api_version('services') if api_version == '2019-05-01-preview': @@ -319,6 +526,10 @@ def services(self): from ..v2020_11_01_preview.aio.operations import ServicesOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import ServicesOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import ServicesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import ServicesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'services'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -343,6 +554,8 @@ def skus(self): * 2020-07-01: :class:`SkusOperations` * 2020-11-01-preview: :class:`SkusOperations` * 2021-06-01-preview: :class:`SkusOperations` + * 2021-09-01-preview: :class:`SkusOperations` + * 2022-01-01-preview: :class:`SkusOperations` """ api_version = self._get_api_version('skus') if api_version == '2020-07-01': @@ -351,10 +564,30 @@ def skus(self): from ..v2020_11_01_preview.aio.operations import SkusOperations as OperationClass elif api_version == '2021-06-01-preview': from ..v2021_06_01_preview.aio.operations import SkusOperations as OperationClass + elif api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import SkusOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import SkusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'skus'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def storages(self): + """Instance depends on the API version: + + * 2021-09-01-preview: :class:`StoragesOperations` + * 2022-01-01-preview: :class:`StoragesOperations` + """ + api_version = self._get_api_version('storages') + if api_version == '2021-09-01-preview': + from ..v2021_09_01_preview.aio.operations import StoragesOperations as OperationClass + elif api_version == '2022-01-01-preview': + from ..v2022_01_01_preview.aio.operations import StoragesOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'storages'".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): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models.py index 8e0cc5fe573..81e6462e7e0 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models.py @@ -1285,6 +1285,8 @@ class MetricSpecification(msrest.serialization.Model): :type fill_gap_with_zero: bool :param dimensions: Dimensions of the metric. :type dimensions: list[~azure.mgmt.appplatform.v2019_05_01_preview.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str """ _attribute_map = { @@ -1298,6 +1300,7 @@ class MetricSpecification(msrest.serialization.Model): 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, } def __init__( @@ -1315,6 +1318,7 @@ def __init__( self.supported_time_grain_types = kwargs.get('supported_time_grain_types', None) self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) self.dimensions = kwargs.get('dimensions', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) class NameAvailability(msrest.serialization.Model): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models_py3.py index 2538ba5505b..7afe41afaa2 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models_py3.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2019_05_01_preview/models/_models_py3.py @@ -1408,6 +1408,8 @@ class MetricSpecification(msrest.serialization.Model): :type fill_gap_with_zero: bool :param dimensions: Dimensions of the metric. :type dimensions: list[~azure.mgmt.appplatform.v2019_05_01_preview.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str """ _attribute_map = { @@ -1421,6 +1423,7 @@ class MetricSpecification(msrest.serialization.Model): 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, } def __init__( @@ -1436,6 +1439,7 @@ def __init__( supported_time_grain_types: Optional[List[str]] = None, fill_gap_with_zero: Optional[bool] = None, dimensions: Optional[List["MetricDimension"]] = None, + source_mdm_namespace: Optional[str] = None, **kwargs ): super(MetricSpecification, self).__init__(**kwargs) @@ -1449,6 +1453,7 @@ def __init__( self.supported_time_grain_types = supported_time_grain_types self.fill_gap_with_zero = fill_gap_with_zero self.dimensions = dimensions + self.source_mdm_namespace = source_mdm_namespace class NameAvailability(msrest.serialization.Model): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models.py index 10db354c88f..9428d8d29e6 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models.py @@ -1353,6 +1353,8 @@ class MetricSpecification(msrest.serialization.Model): :type fill_gap_with_zero: bool :param dimensions: Dimensions of the metric. :type dimensions: list[~azure.mgmt.appplatform.v2020_07_01.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str """ _attribute_map = { @@ -1366,6 +1368,7 @@ class MetricSpecification(msrest.serialization.Model): 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, } def __init__( @@ -1383,6 +1386,7 @@ def __init__( self.supported_time_grain_types = kwargs.get('supported_time_grain_types', None) self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) self.dimensions = kwargs.get('dimensions', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) class MonitoringSettingProperties(msrest.serialization.Model): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models_py3.py index 1d9493a9481..b1dad0b57a2 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models_py3.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_07_01/models/_models_py3.py @@ -1482,6 +1482,8 @@ class MetricSpecification(msrest.serialization.Model): :type fill_gap_with_zero: bool :param dimensions: Dimensions of the metric. :type dimensions: list[~azure.mgmt.appplatform.v2020_07_01.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str """ _attribute_map = { @@ -1495,6 +1497,7 @@ class MetricSpecification(msrest.serialization.Model): 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, } def __init__( @@ -1510,6 +1513,7 @@ def __init__( supported_time_grain_types: Optional[List[str]] = None, fill_gap_with_zero: Optional[bool] = None, dimensions: Optional[List["MetricDimension"]] = None, + source_mdm_namespace: Optional[str] = None, **kwargs ): super(MetricSpecification, self).__init__(**kwargs) @@ -1523,6 +1527,7 @@ def __init__( self.supported_time_grain_types = supported_time_grain_types self.fill_gap_with_zero = fill_gap_with_zero self.dimensions = dimensions + self.source_mdm_namespace = source_mdm_namespace class MonitoringSettingProperties(msrest.serialization.Model): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models.py index 6a3b321f02f..1b64478e417 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models.py @@ -1388,6 +1388,8 @@ class MetricSpecification(msrest.serialization.Model): :type fill_gap_with_zero: bool :param dimensions: Dimensions of the metric. :type dimensions: list[~azure.mgmt.appplatform.v2020_11_01_preview.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str """ _attribute_map = { @@ -1401,6 +1403,7 @@ class MetricSpecification(msrest.serialization.Model): 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, } def __init__( @@ -1418,6 +1421,7 @@ def __init__( self.supported_time_grain_types = kwargs.get('supported_time_grain_types', None) self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) self.dimensions = kwargs.get('dimensions', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) class MonitoringSettingProperties(msrest.serialization.Model): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models_py3.py index ad133e58850..e8b893255fd 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models_py3.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2020_11_01_preview/models/_models_py3.py @@ -1518,6 +1518,8 @@ class MetricSpecification(msrest.serialization.Model): :type fill_gap_with_zero: bool :param dimensions: Dimensions of the metric. :type dimensions: list[~azure.mgmt.appplatform.v2020_11_01_preview.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str """ _attribute_map = { @@ -1531,6 +1533,7 @@ class MetricSpecification(msrest.serialization.Model): 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, } def __init__( @@ -1546,6 +1549,7 @@ def __init__( supported_time_grain_types: Optional[List[str]] = None, fill_gap_with_zero: Optional[bool] = None, dimensions: Optional[List["MetricDimension"]] = None, + source_mdm_namespace: Optional[str] = None, **kwargs ): super(MetricSpecification, self).__init__(**kwargs) @@ -1559,6 +1563,7 @@ def __init__( self.supported_time_grain_types = supported_time_grain_types self.fill_gap_with_zero = fill_gap_with_zero self.dimensions = dimensions + self.source_mdm_namespace = source_mdm_namespace class MonitoringSettingProperties(msrest.serialization.Model): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models.py index 0fff45f07e4..7b45b3b5041 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models.py @@ -227,11 +227,11 @@ def __init__( self.provisioning_state = None self.active_deployment_name = kwargs.get('active_deployment_name', None) self.fqdn = kwargs.get('fqdn', None) - self.https_only = kwargs.get('https_only', None) + self.https_only = kwargs.get('https_only', False) self.created_time = None self.temporary_disk = kwargs.get('temporary_disk', None) self.persistent_disk = kwargs.get('persistent_disk', None) - self.enable_end_to_end_tls = kwargs.get('enable_end_to_end_tls', None) + self.enable_end_to_end_tls = kwargs.get('enable_end_to_end_tls', False) class AvailableOperations(msrest.serialization.Model): @@ -1185,7 +1185,7 @@ class DeploymentSettings(msrest.serialization.Model): :param environment_variables: Collection of environment variables. :type environment_variables: dict[str, str] :param runtime_version: Runtime version. Possible values include: "Java_8", "Java_11", - "NetCore_31". + "NetCore_31". Default value: "Java_8". :type runtime_version: str or ~azure.mgmt.appplatform.v2021_06_01_preview.models.RuntimeVersion """ @@ -1210,7 +1210,7 @@ def __init__( self.jvm_options = kwargs.get('jvm_options', None) self.net_core_main_entry_path = kwargs.get('net_core_main_entry_path', None) self.environment_variables = kwargs.get('environment_variables', None) - self.runtime_version = kwargs.get('runtime_version', None) + self.runtime_version = kwargs.get('runtime_version', "Java_8") class Error(msrest.serialization.Model): @@ -1459,6 +1459,8 @@ class MetricSpecification(msrest.serialization.Model): :type fill_gap_with_zero: bool :param dimensions: Dimensions of the metric. :type dimensions: list[~azure.mgmt.appplatform.v2021_06_01_preview.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str """ _attribute_map = { @@ -1472,6 +1474,7 @@ class MetricSpecification(msrest.serialization.Model): 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, } def __init__( @@ -1489,6 +1492,7 @@ def __init__( self.supported_time_grain_types = kwargs.get('supported_time_grain_types', None) self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) self.dimensions = kwargs.get('dimensions', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) class MonitoringSettingProperties(msrest.serialization.Model): @@ -2425,7 +2429,7 @@ def __init__( ): super(TemporaryDisk, self).__init__(**kwargs) self.size_in_gb = kwargs.get('size_in_gb', None) - self.mount_path = kwargs.get('mount_path', None) + self.mount_path = kwargs.get('mount_path', "/tmp") class TestKeys(msrest.serialization.Model): diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models_py3.py index f2bb0bee5df..abec200ca32 100644 --- a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models_py3.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2021_06_01_preview/models/_models_py3.py @@ -234,10 +234,10 @@ def __init__( public: Optional[bool] = None, active_deployment_name: Optional[str] = None, fqdn: Optional[str] = None, - https_only: Optional[bool] = None, + https_only: Optional[bool] = False, temporary_disk: Optional["TemporaryDisk"] = None, persistent_disk: Optional["PersistentDisk"] = None, - enable_end_to_end_tls: Optional[bool] = None, + enable_end_to_end_tls: Optional[bool] = False, **kwargs ): super(AppResourceProperties, self).__init__(**kwargs) @@ -1285,7 +1285,7 @@ class DeploymentSettings(msrest.serialization.Model): :param environment_variables: Collection of environment variables. :type environment_variables: dict[str, str] :param runtime_version: Runtime version. Possible values include: "Java_8", "Java_11", - "NetCore_31". + "NetCore_31". Default value: "Java_8". :type runtime_version: str or ~azure.mgmt.appplatform.v2021_06_01_preview.models.RuntimeVersion """ @@ -1308,7 +1308,7 @@ def __init__( jvm_options: Optional[str] = None, net_core_main_entry_path: Optional[str] = None, environment_variables: Optional[Dict[str, str]] = None, - runtime_version: Optional[Union[str, "RuntimeVersion"]] = None, + runtime_version: Optional[Union[str, "RuntimeVersion"]] = "Java_8", **kwargs ): super(DeploymentSettings, self).__init__(**kwargs) @@ -1599,6 +1599,8 @@ class MetricSpecification(msrest.serialization.Model): :type fill_gap_with_zero: bool :param dimensions: Dimensions of the metric. :type dimensions: list[~azure.mgmt.appplatform.v2021_06_01_preview.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str """ _attribute_map = { @@ -1612,6 +1614,7 @@ class MetricSpecification(msrest.serialization.Model): 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, } def __init__( @@ -1627,6 +1630,7 @@ def __init__( supported_time_grain_types: Optional[List[str]] = None, fill_gap_with_zero: Optional[bool] = None, dimensions: Optional[List["MetricDimension"]] = None, + source_mdm_namespace: Optional[str] = None, **kwargs ): super(MetricSpecification, self).__init__(**kwargs) @@ -1640,6 +1644,7 @@ def __init__( self.supported_time_grain_types = supported_time_grain_types self.fill_gap_with_zero = fill_gap_with_zero self.dimensions = dimensions + self.source_mdm_namespace = source_mdm_namespace class MonitoringSettingProperties(msrest.serialization.Model): @@ -2675,7 +2680,7 @@ def __init__( self, *, size_in_gb: Optional[int] = None, - mount_path: Optional[str] = None, + mount_path: Optional[str] = "/tmp", **kwargs ): super(TemporaryDisk, self).__init__(**kwargs) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/__init__.py new file mode 100644 index 00000000000..d2ddf950056 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/__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 ._app_platform_management_client import AppPlatformManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['AppPlatformManagementClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_app_platform_management_client.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_app_platform_management_client.py new file mode 100644 index 00000000000..075f127a8de --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_app_platform_management_client.py @@ -0,0 +1,199 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 AppPlatformManagementClientConfiguration +from .operations import ServicesOperations +from .operations import ConfigServersOperations +from .operations import ConfigurationServicesOperations +from .operations import ServiceRegistriesOperations +from .operations import BuildServiceOperations +from .operations import BuildpackBindingOperations +from .operations import BuildServiceBuilderOperations +from .operations import BuildServiceAgentPoolOperations +from .operations import MonitoringSettingsOperations +from .operations import AppsOperations +from .operations import BindingsOperations +from .operations import StoragesOperations +from .operations import CertificatesOperations +from .operations import CustomDomainsOperations +from .operations import DeploymentsOperations +from .operations import Operations +from .operations import RuntimeVersionsOperations +from .operations import SkusOperations +from .operations import GatewaysOperations +from .operations import GatewayRouteConfigsOperations +from .operations import GatewayCustomDomainsOperations +from .operations import ApiPortalsOperations +from .operations import ApiPortalCustomDomainsOperations +from . import models + + +class AppPlatformManagementClient(object): + """REST API for Azure Spring Cloud. + + :ivar services: ServicesOperations operations + :vartype services: azure.mgmt.appplatform.v2022_01_01_preview.operations.ServicesOperations + :ivar config_servers: ConfigServersOperations operations + :vartype config_servers: azure.mgmt.appplatform.v2022_01_01_preview.operations.ConfigServersOperations + :ivar configuration_services: ConfigurationServicesOperations operations + :vartype configuration_services: azure.mgmt.appplatform.v2022_01_01_preview.operations.ConfigurationServicesOperations + :ivar service_registries: ServiceRegistriesOperations operations + :vartype service_registries: azure.mgmt.appplatform.v2022_01_01_preview.operations.ServiceRegistriesOperations + :ivar build_service: BuildServiceOperations operations + :vartype build_service: azure.mgmt.appplatform.v2022_01_01_preview.operations.BuildServiceOperations + :ivar buildpack_binding: BuildpackBindingOperations operations + :vartype buildpack_binding: azure.mgmt.appplatform.v2022_01_01_preview.operations.BuildpackBindingOperations + :ivar build_service_builder: BuildServiceBuilderOperations operations + :vartype build_service_builder: azure.mgmt.appplatform.v2022_01_01_preview.operations.BuildServiceBuilderOperations + :ivar build_service_agent_pool: BuildServiceAgentPoolOperations operations + :vartype build_service_agent_pool: azure.mgmt.appplatform.v2022_01_01_preview.operations.BuildServiceAgentPoolOperations + :ivar monitoring_settings: MonitoringSettingsOperations operations + :vartype monitoring_settings: azure.mgmt.appplatform.v2022_01_01_preview.operations.MonitoringSettingsOperations + :ivar apps: AppsOperations operations + :vartype apps: azure.mgmt.appplatform.v2022_01_01_preview.operations.AppsOperations + :ivar bindings: BindingsOperations operations + :vartype bindings: azure.mgmt.appplatform.v2022_01_01_preview.operations.BindingsOperations + :ivar storages: StoragesOperations operations + :vartype storages: azure.mgmt.appplatform.v2022_01_01_preview.operations.StoragesOperations + :ivar certificates: CertificatesOperations operations + :vartype certificates: azure.mgmt.appplatform.v2022_01_01_preview.operations.CertificatesOperations + :ivar custom_domains: CustomDomainsOperations operations + :vartype custom_domains: azure.mgmt.appplatform.v2022_01_01_preview.operations.CustomDomainsOperations + :ivar deployments: DeploymentsOperations operations + :vartype deployments: azure.mgmt.appplatform.v2022_01_01_preview.operations.DeploymentsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.appplatform.v2022_01_01_preview.operations.Operations + :ivar runtime_versions: RuntimeVersionsOperations operations + :vartype runtime_versions: azure.mgmt.appplatform.v2022_01_01_preview.operations.RuntimeVersionsOperations + :ivar skus: SkusOperations operations + :vartype skus: azure.mgmt.appplatform.v2022_01_01_preview.operations.SkusOperations + :ivar gateways: GatewaysOperations operations + :vartype gateways: azure.mgmt.appplatform.v2022_01_01_preview.operations.GatewaysOperations + :ivar gateway_route_configs: GatewayRouteConfigsOperations operations + :vartype gateway_route_configs: azure.mgmt.appplatform.v2022_01_01_preview.operations.GatewayRouteConfigsOperations + :ivar gateway_custom_domains: GatewayCustomDomainsOperations operations + :vartype gateway_custom_domains: azure.mgmt.appplatform.v2022_01_01_preview.operations.GatewayCustomDomainsOperations + :ivar api_portals: ApiPortalsOperations operations + :vartype api_portals: azure.mgmt.appplatform.v2022_01_01_preview.operations.ApiPortalsOperations + :ivar api_portal_custom_domains: ApiPortalCustomDomainsOperations operations + :vartype api_portal_custom_domains: azure.mgmt.appplatform.v2022_01_01_preview.operations.ApiPortalCustomDomainsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + :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 = AppPlatformManagementClientConfiguration(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.services = ServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.config_servers = ConfigServersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.configuration_services = ConfigurationServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.service_registries = ServiceRegistriesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.build_service = BuildServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.buildpack_binding = BuildpackBindingOperations( + self._client, self._config, self._serialize, self._deserialize) + self.build_service_builder = BuildServiceBuilderOperations( + self._client, self._config, self._serialize, self._deserialize) + self.build_service_agent_pool = BuildServiceAgentPoolOperations( + self._client, self._config, self._serialize, self._deserialize) + self.monitoring_settings = MonitoringSettingsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.apps = AppsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.bindings = BindingsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.storages = StoragesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.certificates = CertificatesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.custom_domains = CustomDomainsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.deployments = DeploymentsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.runtime_versions = RuntimeVersionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.skus = SkusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.gateways = GatewaysOperations( + self._client, self._config, self._serialize, self._deserialize) + self.gateway_route_configs = GatewayRouteConfigsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.gateway_custom_domains = GatewayCustomDomainsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.api_portals = ApiPortalsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.api_portal_custom_domains = ApiPortalCustomDomainsOperations( + 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: () -> AppPlatformManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_configuration.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_configuration.py new file mode 100644 index 00000000000..307ac0800d9 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_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 AppPlatformManagementClientConfiguration(Configuration): + """Configuration for AppPlatformManagementClient. + + 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: Gets subscription ID which uniquely identify the 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(AppPlatformManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-01-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-appplatform/{}'.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/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_version.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_version.py new file mode 100644 index 00000000000..92453d8691d --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/_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 = "6.1.0" diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/__init__.py new file mode 100644 index 00000000000..39f10548873 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/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 ._app_platform_management_client import AppPlatformManagementClient +__all__ = ['AppPlatformManagementClient'] diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/_app_platform_management_client.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/_app_platform_management_client.py new file mode 100644 index 00000000000..27b48307eb5 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/_app_platform_management_client.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 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 AppPlatformManagementClientConfiguration +from .operations import ServicesOperations +from .operations import ConfigServersOperations +from .operations import ConfigurationServicesOperations +from .operations import ServiceRegistriesOperations +from .operations import BuildServiceOperations +from .operations import BuildpackBindingOperations +from .operations import BuildServiceBuilderOperations +from .operations import BuildServiceAgentPoolOperations +from .operations import MonitoringSettingsOperations +from .operations import AppsOperations +from .operations import BindingsOperations +from .operations import StoragesOperations +from .operations import CertificatesOperations +from .operations import CustomDomainsOperations +from .operations import DeploymentsOperations +from .operations import Operations +from .operations import RuntimeVersionsOperations +from .operations import SkusOperations +from .operations import GatewaysOperations +from .operations import GatewayRouteConfigsOperations +from .operations import GatewayCustomDomainsOperations +from .operations import ApiPortalsOperations +from .operations import ApiPortalCustomDomainsOperations +from .. import models + + +class AppPlatformManagementClient(object): + """REST API for Azure Spring Cloud. + + :ivar services: ServicesOperations operations + :vartype services: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.ServicesOperations + :ivar config_servers: ConfigServersOperations operations + :vartype config_servers: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.ConfigServersOperations + :ivar configuration_services: ConfigurationServicesOperations operations + :vartype configuration_services: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.ConfigurationServicesOperations + :ivar service_registries: ServiceRegistriesOperations operations + :vartype service_registries: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.ServiceRegistriesOperations + :ivar build_service: BuildServiceOperations operations + :vartype build_service: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.BuildServiceOperations + :ivar buildpack_binding: BuildpackBindingOperations operations + :vartype buildpack_binding: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.BuildpackBindingOperations + :ivar build_service_builder: BuildServiceBuilderOperations operations + :vartype build_service_builder: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.BuildServiceBuilderOperations + :ivar build_service_agent_pool: BuildServiceAgentPoolOperations operations + :vartype build_service_agent_pool: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.BuildServiceAgentPoolOperations + :ivar monitoring_settings: MonitoringSettingsOperations operations + :vartype monitoring_settings: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.MonitoringSettingsOperations + :ivar apps: AppsOperations operations + :vartype apps: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.AppsOperations + :ivar bindings: BindingsOperations operations + :vartype bindings: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.BindingsOperations + :ivar storages: StoragesOperations operations + :vartype storages: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.StoragesOperations + :ivar certificates: CertificatesOperations operations + :vartype certificates: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.CertificatesOperations + :ivar custom_domains: CustomDomainsOperations operations + :vartype custom_domains: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.CustomDomainsOperations + :ivar deployments: DeploymentsOperations operations + :vartype deployments: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.DeploymentsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.Operations + :ivar runtime_versions: RuntimeVersionsOperations operations + :vartype runtime_versions: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.RuntimeVersionsOperations + :ivar skus: SkusOperations operations + :vartype skus: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.SkusOperations + :ivar gateways: GatewaysOperations operations + :vartype gateways: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.GatewaysOperations + :ivar gateway_route_configs: GatewayRouteConfigsOperations operations + :vartype gateway_route_configs: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.GatewayRouteConfigsOperations + :ivar gateway_custom_domains: GatewayCustomDomainsOperations operations + :vartype gateway_custom_domains: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.GatewayCustomDomainsOperations + :ivar api_portals: ApiPortalsOperations operations + :vartype api_portals: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.ApiPortalsOperations + :ivar api_portal_custom_domains: ApiPortalCustomDomainsOperations operations + :vartype api_portal_custom_domains: azure.mgmt.appplatform.v2022_01_01_preview.aio.operations.ApiPortalCustomDomainsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + :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 = AppPlatformManagementClientConfiguration(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.services = ServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.config_servers = ConfigServersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.configuration_services = ConfigurationServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.service_registries = ServiceRegistriesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.build_service = BuildServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.buildpack_binding = BuildpackBindingOperations( + self._client, self._config, self._serialize, self._deserialize) + self.build_service_builder = BuildServiceBuilderOperations( + self._client, self._config, self._serialize, self._deserialize) + self.build_service_agent_pool = BuildServiceAgentPoolOperations( + self._client, self._config, self._serialize, self._deserialize) + self.monitoring_settings = MonitoringSettingsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.apps = AppsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.bindings = BindingsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.storages = StoragesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.certificates = CertificatesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.custom_domains = CustomDomainsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.deployments = DeploymentsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.runtime_versions = RuntimeVersionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.skus = SkusOperations( + self._client, self._config, self._serialize, self._deserialize) + self.gateways = GatewaysOperations( + self._client, self._config, self._serialize, self._deserialize) + self.gateway_route_configs = GatewayRouteConfigsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.gateway_custom_domains = GatewayCustomDomainsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.api_portals = ApiPortalsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.api_portal_custom_domains = ApiPortalCustomDomainsOperations( + 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) -> "AppPlatformManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/_configuration.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/_configuration.py new file mode 100644 index 00000000000..8f5510ed6e0 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/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 AppPlatformManagementClientConfiguration(Configuration): + """Configuration for AppPlatformManagementClient. + + 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: Gets subscription ID which uniquely identify the 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(AppPlatformManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2022-01-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-appplatform/{}'.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/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/__init__.py new file mode 100644 index 00000000000..0da100b4246 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/__init__.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._services_operations import ServicesOperations +from ._config_servers_operations import ConfigServersOperations +from ._configuration_services_operations import ConfigurationServicesOperations +from ._service_registries_operations import ServiceRegistriesOperations +from ._build_service_operations import BuildServiceOperations +from ._buildpack_binding_operations import BuildpackBindingOperations +from ._build_service_builder_operations import BuildServiceBuilderOperations +from ._build_service_agent_pool_operations import BuildServiceAgentPoolOperations +from ._monitoring_settings_operations import MonitoringSettingsOperations +from ._apps_operations import AppsOperations +from ._bindings_operations import BindingsOperations +from ._storages_operations import StoragesOperations +from ._certificates_operations import CertificatesOperations +from ._custom_domains_operations import CustomDomainsOperations +from ._deployments_operations import DeploymentsOperations +from ._operations import Operations +from ._runtime_versions_operations import RuntimeVersionsOperations +from ._skus_operations import SkusOperations +from ._gateways_operations import GatewaysOperations +from ._gateway_route_configs_operations import GatewayRouteConfigsOperations +from ._gateway_custom_domains_operations import GatewayCustomDomainsOperations +from ._api_portals_operations import ApiPortalsOperations +from ._api_portal_custom_domains_operations import ApiPortalCustomDomainsOperations + +__all__ = [ + 'ServicesOperations', + 'ConfigServersOperations', + 'ConfigurationServicesOperations', + 'ServiceRegistriesOperations', + 'BuildServiceOperations', + 'BuildpackBindingOperations', + 'BuildServiceBuilderOperations', + 'BuildServiceAgentPoolOperations', + 'MonitoringSettingsOperations', + 'AppsOperations', + 'BindingsOperations', + 'StoragesOperations', + 'CertificatesOperations', + 'CustomDomainsOperations', + 'DeploymentsOperations', + 'Operations', + 'RuntimeVersionsOperations', + 'SkusOperations', + 'GatewaysOperations', + 'GatewayRouteConfigsOperations', + 'GatewayCustomDomainsOperations', + 'ApiPortalsOperations', + 'ApiPortalCustomDomainsOperations', +] diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_api_portal_custom_domains_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_api_portal_custom_domains_operations.py new file mode 100644 index 00000000000..ed4c82d6888 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_api_portal_custom_domains_operations.py @@ -0,0 +1,457 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ApiPortalCustomDomainsOperations: + """ApiPortalCustomDomainsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + api_portal_name: str, + domain_name: str, + **kwargs: Any + ) -> "_models.ApiPortalCustomDomainResource": + """Get the API portal custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param domain_name: The name of the API portal custom domain. + :type domain_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiPortalCustomDomainResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalCustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiPortalCustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + domain_name: str, + api_portal_custom_domain_resource: "_models.ApiPortalCustomDomainResource", + **kwargs: Any + ) -> "_models.ApiPortalCustomDomainResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalCustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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(api_portal_custom_domain_resource, 'ApiPortalCustomDomainResource') + 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('ApiPortalCustomDomainResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ApiPortalCustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + domain_name: str, + api_portal_custom_domain_resource: "_models.ApiPortalCustomDomainResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.ApiPortalCustomDomainResource"]: + """Create or update the API portal custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param domain_name: The name of the API portal custom domain. + :type domain_name: str + :param api_portal_custom_domain_resource: The API portal custom domain for the create or update + operation. + :type api_portal_custom_domain_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ApiPortalCustomDomainResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalCustomDomainResource"] + 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, + service_name=service_name, + api_portal_name=api_portal_name, + domain_name=domain_name, + api_portal_custom_domain_resource=api_portal_custom_domain_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('ApiPortalCustomDomainResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + domain_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + domain_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete the API portal custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param domain_name: The name of the API portal custom domain. + :type domain_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + api_portal_name=api_portal_name, + domain_name=domain_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ApiPortalCustomDomainResourceCollection"]: + """Handle requests to list all API portal custom domains. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApiPortalCustomDomainResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalCustomDomainResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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('ApiPortalCustomDomainResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_api_portals_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_api_portals_operations.py new file mode 100644 index 00000000000..486f62751c0 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_api_portals_operations.py @@ -0,0 +1,505 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ApiPortalsOperations: + """ApiPortalsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + api_portal_name: str, + **kwargs: Any + ) -> "_models.ApiPortalResource": + """Get the API portal and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiPortalResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiPortalResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + api_portal_resource: "_models.ApiPortalResource", + **kwargs: Any + ) -> "_models.ApiPortalResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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(api_portal_resource, 'ApiPortalResource') + 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('ApiPortalResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ApiPortalResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + api_portal_resource: "_models.ApiPortalResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.ApiPortalResource"]: + """Create the default API portal or update the existing API portal. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param api_portal_resource: The API portal for the create or update operation. + :type api_portal_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ApiPortalResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalResource"] + 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, + service_name=service_name, + api_portal_name=api_portal_name, + api_portal_resource=api_portal_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('ApiPortalResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete the default API portal. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + api_portal_name=api_portal_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ApiPortalResourceCollection"]: + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApiPortalResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('ApiPortalResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals'} # type: ignore + + async def validate_domain( + self, + resource_group_name: str, + service_name: str, + api_portal_name: str, + validate_payload: "_models.CustomDomainValidatePayload", + **kwargs: Any + ) -> "_models.CustomDomainValidateResult": + """Check the domains are valid as well as not in use. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param validate_payload: Custom domain payload to be validated. + :type validate_payload: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidatePayload + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomDomainValidateResult, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidateResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_domain.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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(validate_payload, 'CustomDomainValidatePayload') + 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('CustomDomainValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_domain.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/validateDomain'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_apps_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_apps_operations.py new file mode 100644 index 00000000000..3f338481215 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_apps_operations.py @@ -0,0 +1,848 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 AppsOperations: + """AppsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + app_name: str, + sync_status: Optional[str] = None, + **kwargs: Any + ) -> "_models.AppResource": + """Get an App and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param sync_status: Indicates whether sync status. + :type sync_status: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AppResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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 sync_status is not None: + query_parameters['syncStatus'] = self._serialize.query("sync_status", sync_status, '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('AppResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + app_resource: "_models.AppResource", + **kwargs: Any + ) -> "_models.AppResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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(app_resource, 'AppResource') + 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, 202]: + 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('AppResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AppResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('AppResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + app_name: str, + app_resource: "_models.AppResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.AppResource"]: + """Create a new App or update an exiting App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param app_resource: Parameters for the create or update operation. + :type app_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 AppResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + 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, + service_name=service_name, + app_name=app_name, + app_resource=app_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('AppResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + app_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Operation to delete an App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + app_resource: "_models.AppResource", + **kwargs: Any + ) -> "_models.AppResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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(app_resource, 'AppResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('AppResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('AppResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + service_name: str, + app_name: str, + app_resource: "_models.AppResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.AppResource"]: + """Operation to update an exiting App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param app_resource: Parameters for the update operation. + :type app_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 AppResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + 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, + service_name=service_name, + app_name=app_name, + app_resource=app_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('AppResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.AppResourceCollection"]: + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AppResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('AppResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps'} # type: ignore + + async def get_resource_upload_url( + self, + resource_group_name: str, + service_name: str, + app_name: str, + **kwargs: Any + ) -> "_models.ResourceUploadDefinition": + """Get an resource upload URL for an App, which may be artifacts or source archive. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceUploadDefinition, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceUploadDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceUploadDefinition"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_resource_upload_url.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourceUploadDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_resource_upload_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl'} # type: ignore + + async def _set_active_deployments_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + active_deployment_collection: "_models.ActiveDeploymentCollection", + **kwargs: Any + ) -> "_models.AppResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._set_active_deployments_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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(active_deployment_collection, 'ActiveDeploymentCollection') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('AppResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('AppResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _set_active_deployments_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/setActiveDeployments'} # type: ignore + + async def begin_set_active_deployments( + self, + resource_group_name: str, + service_name: str, + app_name: str, + active_deployment_collection: "_models.ActiveDeploymentCollection", + **kwargs: Any + ) -> AsyncLROPoller["_models.AppResource"]: + """Set existing Deployment under the app as active. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param active_deployment_collection: A list of Deployment name to be active. + :type active_deployment_collection: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ActiveDeploymentCollection + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 AppResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + 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._set_active_deployments_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + active_deployment_collection=active_deployment_collection, + 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('AppResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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_set_active_deployments.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/setActiveDeployments'} # type: ignore + + async def validate_domain( + self, + resource_group_name: str, + service_name: str, + app_name: str, + validate_payload: "_models.CustomDomainValidatePayload", + **kwargs: Any + ) -> "_models.CustomDomainValidateResult": + """Check the resource name is valid as well as not in use. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param validate_payload: Custom domain payload to be validated. + :type validate_payload: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidatePayload + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomDomainValidateResult, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidateResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_domain.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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(validate_payload, 'CustomDomainValidatePayload') + 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('CustomDomainValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_domain.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/validateDomain'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_bindings_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_bindings_operations.py new file mode 100644 index 00000000000..9fad4251796 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_bindings_operations.py @@ -0,0 +1,602 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 BindingsOperations: + """BindingsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + app_name: str, + binding_name: str, + **kwargs: Any + ) -> "_models.BindingResource": + """Get a Binding and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param binding_name: The name of the Binding resource. + :type binding_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BindingResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + binding_name: str, + binding_resource: "_models.BindingResource", + **kwargs: Any + ) -> "_models.BindingResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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(binding_resource, 'BindingResource') + 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, 202]: + 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('BindingResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BindingResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('BindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + app_name: str, + binding_name: str, + binding_resource: "_models.BindingResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.BindingResource"]: + """Create a new Binding or update an exiting Binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param binding_name: The name of the Binding resource. + :type binding_name: str + :param binding_resource: Parameters for the create or update operation. + :type binding_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 BindingResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + 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, + service_name=service_name, + app_name=app_name, + binding_name=binding_name, + binding_resource=binding_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('BindingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + binding_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + app_name: str, + binding_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Operation to delete a Binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param binding_name: The name of the Binding resource. + :type binding_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_name, + binding_name=binding_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + binding_name: str, + binding_resource: "_models.BindingResource", + **kwargs: Any + ) -> "_models.BindingResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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(binding_resource, 'BindingResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('BindingResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('BindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + service_name: str, + app_name: str, + binding_name: str, + binding_resource: "_models.BindingResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.BindingResource"]: + """Operation to update an exiting Binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param binding_name: The name of the Binding resource. + :type binding_name: str + :param binding_resource: Parameters for the update operation. + :type binding_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 BindingResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + 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, + service_name=service_name, + app_name=app_name, + binding_name=binding_name, + binding_resource=binding_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('BindingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + app_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.BindingResourceCollection"]: + """Handles requests to list all resources in an App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BindingResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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('BindingResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_agent_pool_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_agent_pool_operations.py new file mode 100644 index 00000000000..f60cf408b53 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_agent_pool_operations.py @@ -0,0 +1,333 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 BuildServiceAgentPoolOperations: + """BuildServiceAgentPoolOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + build_service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.BuildServiceAgentPoolResourceCollection"]: + """List build service agent pool. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildServiceAgentPoolResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceAgentPoolResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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('BuildServiceAgentPoolResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools'} # type: ignore + + async def get( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + agent_pool_name: str, + **kwargs: Any + ) -> "_models.BuildServiceAgentPoolResource": + """Get build service agent pool. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param agent_pool_name: The name of the build service agent pool resource. + :type agent_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildServiceAgentPoolResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceAgentPoolResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildServiceAgentPoolResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools/{agentPoolName}'} # type: ignore + + async def _update_put_initial( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + agent_pool_name: str, + pool_size: "_models.BuildServiceAgentPoolSizeProperties", + **kwargs: Any + ) -> "_models.BuildServiceAgentPoolResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceAgentPoolResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_put_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_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(pool_size, 'BuildServiceAgentPoolSizeProperties') + 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('BuildServiceAgentPoolResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BuildServiceAgentPoolResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_put_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools/{agentPoolName}'} # type: ignore + + async def begin_update_put( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + agent_pool_name: str, + pool_size: "_models.BuildServiceAgentPoolSizeProperties", + **kwargs: Any + ) -> AsyncLROPoller["_models.BuildServiceAgentPoolResource"]: + """Create or update build service agent pool. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param agent_pool_name: The name of the build service agent pool resource. + :type agent_pool_name: str + :param pool_size: Parameters for the update operation. + :type pool_size: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolSizeProperties + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 BuildServiceAgentPoolResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceAgentPoolResource"] + 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_put_initial( + resource_group_name=resource_group_name, + service_name=service_name, + build_service_name=build_service_name, + agent_pool_name=agent_pool_name, + pool_size=pool_size, + 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('BuildServiceAgentPoolResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_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_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools/{agentPoolName}'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_builder_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_builder_operations.py new file mode 100644 index 00000000000..465b350940c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_builder_operations.py @@ -0,0 +1,456 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 BuildServiceBuilderOperations: + """BuildServiceBuilderOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + build_service_name: str, + builder_name: str, + **kwargs: Any + ) -> "_models.BuilderResource": + """Get a KPack builder. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuilderResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuilderResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuilderResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + builder_resource: "_models.BuilderResource", + **kwargs: Any + ) -> "_models.BuilderResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuilderResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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(builder_resource, 'BuilderResource') + 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('BuilderResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BuilderResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + builder_resource: "_models.BuilderResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.BuilderResource"]: + """Create or update a KPack builder. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :param builder_resource: The target builder for the create or update operation. + :type builder_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 BuilderResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuilderResource"] + 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, + service_name=service_name, + build_service_name=build_service_name, + builder_name=builder_name, + builder_resource=builder_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('BuilderResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete a KPack builder. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + build_service_name=build_service_name, + builder_name=builder_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.BuilderResourceCollection"]: + """List KPack builders result. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuilderResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuilderResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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('BuilderResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_operations.py new file mode 100644 index 00000000000..3b2f70331b8 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_build_service_operations.py @@ -0,0 +1,953 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.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 BuildServiceOperations: + """BuildServiceOperations 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.appplatform.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_build_services( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.BuildServiceCollection"]: + """List build services resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildServiceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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_build_services.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # 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('BuildServiceCollection', 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_build_services.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices'} # type: ignore + + async def get_build_service( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + **kwargs: Any + ) -> "_models.BuildService": + """Get a build service resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildService, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_build_service.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_build_service.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}'} # type: ignore + + def list_builds( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.BuildCollection"]: + """List KPack builds. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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_builds.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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('BuildCollection', 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_builds.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds'} # type: ignore + + async def get_build( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + build_name: str, + **kwargs: Any + ) -> "_models.Build": + """Get a KPack build. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Build, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Build + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Build"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_build.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Build', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_build.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}'} # type: ignore + + async def create_or_update_build( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + build_name: str, + build: "_models.Build", + **kwargs: Any + ) -> "_models.Build": + """Create or update a KPack build. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :param build: Parameters for the create or update operation. + :type build: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Build + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Build, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Build + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Build"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update_build.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_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(build, 'Build') + 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('Build', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Build', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update_build.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}'} # type: ignore + + def list_build_results( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + build_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.BuildResultCollection"]: + """List KPack build results. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildResultCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResultCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildResultCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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_build_results.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_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('BuildResultCollection', 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_build_results.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results'} # type: ignore + + async def get_build_result( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + build_name: str, + build_result_name: str, + **kwargs: Any + ) -> "_models.BuildResult": + """Get a KPack build result. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :param build_result_name: The name of the build result resource. + :type build_result_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildResult, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_build_result.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_name, 'str'), + 'buildResultName': self._serialize.url("build_result_name", build_result_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_build_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results/{buildResultName}'} # type: ignore + + async def get_build_result_log( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + build_name: str, + build_result_name: str, + **kwargs: Any + ) -> "_models.BuildResultLog": + """Get a KPack build result log download URL. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :param build_result_name: The name of the build result resource. + :type build_result_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildResultLog, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResultLog + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildResultLog"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_build_result_log.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_name, 'str'), + 'buildResultName': self._serialize.url("build_result_name", build_result_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildResultLog', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_build_result_log.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results/{buildResultName}/getLogFileUrl'} # type: ignore + + async def get_resource_upload_url( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + **kwargs: Any + ) -> "_models.ResourceUploadDefinition": + """Get an resource upload URL for build service, which may be artifacts or source archive. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceUploadDefinition, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceUploadDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceUploadDefinition"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_resource_upload_url.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourceUploadDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_resource_upload_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/getResourceUploadUrl'} # type: ignore + + async def list_supported_buildpacks( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + **kwargs: Any + ) -> "_models.SupportedBuildpacksCollection": + """Get all supported buildpacks. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SupportedBuildpacksCollection, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedBuildpacksCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SupportedBuildpacksCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_supported_buildpacks.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SupportedBuildpacksCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_supported_buildpacks.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedBuildpacks'} # type: ignore + + async def get_supported_buildpack( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + buildpack_name: str, + **kwargs: Any + ) -> "_models.SupportedBuildpackResource": + """Get the supported buildpack resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param buildpack_name: The name of the buildpack resource. + :type buildpack_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SupportedBuildpackResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedBuildpackResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SupportedBuildpackResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_supported_buildpack.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildpackName': self._serialize.url("buildpack_name", buildpack_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SupportedBuildpackResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_supported_buildpack.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedBuildpacks/{buildpackName}'} # type: ignore + + async def list_supported_stacks( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + **kwargs: Any + ) -> "_models.SupportedStacksCollection": + """Get all supported stacks. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SupportedStacksCollection, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedStacksCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SupportedStacksCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_supported_stacks.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SupportedStacksCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_supported_stacks.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedStacks'} # type: ignore + + async def get_supported_stack( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + stack_name: str, + **kwargs: Any + ) -> "_models.SupportedStackResource": + """Get the supported stack resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param stack_name: The name of the stack resource. + :type stack_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SupportedStackResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedStackResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SupportedStackResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_supported_stack.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'stackName': self._serialize.url("stack_name", stack_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SupportedStackResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_supported_stack.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedStacks/{stackName}'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_buildpack_binding_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_buildpack_binding_operations.py new file mode 100644 index 00000000000..46c7730c901 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_buildpack_binding_operations.py @@ -0,0 +1,478 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 BuildpackBindingOperations: + """BuildpackBindingOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + build_service_name: str, + builder_name: str, + buildpack_binding_name: str, + **kwargs: Any + ) -> "_models.BuildpackBindingResource": + """Get a buildpack binding by name. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :param buildpack_binding_name: The name of the Buildpack Binding Name. + :type buildpack_binding_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildpackBindingResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildpackBindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildpackBindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + buildpack_binding_name: str, + buildpack_binding: "_models.BuildpackBindingResource", + **kwargs: Any + ) -> "_models.BuildpackBindingResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildpackBindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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(buildpack_binding, 'BuildpackBindingResource') + 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('BuildpackBindingResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BuildpackBindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + buildpack_binding_name: str, + buildpack_binding: "_models.BuildpackBindingResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.BuildpackBindingResource"]: + """Create or update a buildpack binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :param buildpack_binding_name: The name of the Buildpack Binding Name. + :type buildpack_binding_name: str + :param buildpack_binding: The target buildpack binding for the create or update operation. + :type buildpack_binding: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 BuildpackBindingResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildpackBindingResource"] + 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, + service_name=service_name, + build_service_name=build_service_name, + builder_name=builder_name, + buildpack_binding_name=buildpack_binding_name, + buildpack_binding=buildpack_binding, + 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('BuildpackBindingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + buildpack_binding_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + buildpack_binding_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Operation to delete a Buildpack Binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :param buildpack_binding_name: The name of the Buildpack Binding Name. + :type buildpack_binding_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + build_service_name=build_service_name, + builder_name=builder_name, + buildpack_binding_name=buildpack_binding_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + build_service_name: str, + builder_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.BuildpackBindingResourceCollection"]: + """Handles requests to list all buildpack bindings in a builder. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildpackBindingResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildpackBindingResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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('BuildpackBindingResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_certificates_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_certificates_operations.py new file mode 100644 index 00000000000..7d289ba0f53 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_certificates_operations.py @@ -0,0 +1,437 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 CertificatesOperations: + """CertificatesOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + certificate_name: str, + **kwargs: Any + ) -> "_models.CertificateResource": + """Get the certificate resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CertificateResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CertificateResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CertificateResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + certificate_name: str, + certificate_resource: "_models.CertificateResource", + **kwargs: Any + ) -> "_models.CertificateResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.CertificateResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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(certificate_resource, 'CertificateResource') + 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, 202]: + 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('CertificateResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('CertificateResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('CertificateResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + certificate_name: str, + certificate_resource: "_models.CertificateResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.CertificateResource"]: + """Create or update certificate resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_name: str + :param certificate_resource: Parameters for the create or update operation. + :type certificate_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 CertificateResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CertificateResource"] + 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, + service_name=service_name, + certificate_name=certificate_name, + certificate_resource=certificate_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('CertificateResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + certificate_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + certificate_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete the certificate resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + certificate_name=certificate_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.CertificateResourceCollection"]: + """List all the certificates of one user. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CertificateResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CertificateResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('CertificateResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_config_servers_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_config_servers_operations.py new file mode 100644 index 00000000000..8401332e3fd --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_config_servers_operations.py @@ -0,0 +1,489 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ConfigServersOperations: + """ConfigServersOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + **kwargs: Any + ) -> "_models.ConfigServerResource": + """Get the config server and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConfigServerResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + async def _update_put_initial( + self, + resource_group_name: str, + service_name: str, + config_server_resource: "_models.ConfigServerResource", + **kwargs: Any + ) -> "_models.ConfigServerResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_put_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'), + 'serviceName': self._serialize.url("service_name", service_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(config_server_resource, 'ConfigServerResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_put_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + async def begin_update_put( + self, + resource_group_name: str, + service_name: str, + config_server_resource: "_models.ConfigServerResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.ConfigServerResource"]: + """Update the config server. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param config_server_resource: Parameters for the update operation. + :type config_server_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ConfigServerResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + 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_put_initial( + resource_group_name=resource_group_name, + service_name=service_name, + config_server_resource=config_server_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('ConfigServerResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + async def _update_patch_initial( + self, + resource_group_name: str, + service_name: str, + config_server_resource: "_models.ConfigServerResource", + **kwargs: Any + ) -> "_models.ConfigServerResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_patch_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'), + 'serviceName': self._serialize.url("service_name", service_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(config_server_resource, 'ConfigServerResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_patch_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + async def begin_update_patch( + self, + resource_group_name: str, + service_name: str, + config_server_resource: "_models.ConfigServerResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.ConfigServerResource"]: + """Update the config server. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param config_server_resource: Parameters for the update operation. + :type config_server_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ConfigServerResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + 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_patch_initial( + resource_group_name=resource_group_name, + service_name=service_name, + config_server_resource=config_server_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('ConfigServerResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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_patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + async def _validate_initial( + self, + resource_group_name: str, + service_name: str, + config_server_settings: "_models.ConfigServerSettings", + **kwargs: Any + ) -> "_models.ConfigServerSettingsValidateResult": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerSettingsValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._validate_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'), + 'serviceName': self._serialize.url("service_name", service_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(config_server_settings, 'ConfigServerSettings') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ConfigServerSettingsValidateResult', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerSettingsValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _validate_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/validate'} # type: ignore + + async def begin_validate( + self, + resource_group_name: str, + service_name: str, + config_server_settings: "_models.ConfigServerSettings", + **kwargs: Any + ) -> AsyncLROPoller["_models.ConfigServerSettingsValidateResult"]: + """Check if the config server settings are valid. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param config_server_settings: Config server settings to be validated. + :type config_server_settings: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerSettings + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ConfigServerSettingsValidateResult or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerSettingsValidateResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerSettingsValidateResult"] + 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._validate_initial( + resource_group_name=resource_group_name, + service_name=service_name, + config_server_settings=config_server_settings, + 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('ConfigServerSettingsValidateResult', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, 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_validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/validate'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_configuration_services_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_configuration_services_operations.py new file mode 100644 index 00000000000..0d447012151 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_configuration_services_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 ConfigurationServicesOperations: + """ConfigurationServicesOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + configuration_service_name: str, + **kwargs: Any + ) -> "_models.ConfigurationServiceResource": + """Get the Application Configuration Service and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param configuration_service_name: The name of Application Configuration Service. + :type configuration_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConfigurationServiceResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ConfigurationServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + configuration_service_name: str, + configuration_service_resource: "_models.ConfigurationServiceResource", + **kwargs: Any + ) -> "_models.ConfigurationServiceResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_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(configuration_service_resource, 'ConfigurationServiceResource') + 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('ConfigurationServiceResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ConfigurationServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + configuration_service_name: str, + configuration_service_resource: "_models.ConfigurationServiceResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.ConfigurationServiceResource"]: + """Create the default Application Configuration Service or update the existing Application + Configuration Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param configuration_service_name: The name of Application Configuration Service. + :type configuration_service_name: str + :param configuration_service_resource: Parameters for the update operation. + :type configuration_service_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ConfigurationServiceResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceResource"] + 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, + service_name=service_name, + configuration_service_name=configuration_service_name, + configuration_service_resource=configuration_service_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('ConfigurationServiceResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_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.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + configuration_service_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + configuration_service_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Disable the default Application Configuration Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param configuration_service_name: The name of Application Configuration Service. + :type configuration_service_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + configuration_service_name=configuration_service_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_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.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ConfigurationServiceResourceCollection"]: + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ConfigurationServiceResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('ConfigurationServiceResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices'} # type: ignore + + async def _validate_initial( + self, + resource_group_name: str, + service_name: str, + configuration_service_name: str, + settings: "_models.ConfigurationServiceSettings", + **kwargs: Any + ) -> "_models.ConfigurationServiceSettingsValidateResult": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceSettingsValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._validate_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_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(settings, 'ConfigurationServiceSettings') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ConfigurationServiceSettingsValidateResult', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ConfigurationServiceSettingsValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _validate_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}/validate'} # type: ignore + + async def begin_validate( + self, + resource_group_name: str, + service_name: str, + configuration_service_name: str, + settings: "_models.ConfigurationServiceSettings", + **kwargs: Any + ) -> AsyncLROPoller["_models.ConfigurationServiceSettingsValidateResult"]: + """Check if the Application Configuration Service settings are valid. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param configuration_service_name: The name of Application Configuration Service. + :type configuration_service_name: str + :param settings: Application Configuration Service settings to be validated. + :type settings: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceSettings + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ConfigurationServiceSettingsValidateResult or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceSettingsValidateResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceSettingsValidateResult"] + 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._validate_initial( + resource_group_name=resource_group_name, + service_name=service_name, + configuration_service_name=configuration_service_name, + settings=settings, + 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('ConfigurationServiceSettingsValidateResult', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, 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_validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}/validate'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_custom_domains_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_custom_domains_operations.py new file mode 100644 index 00000000000..9e9f5ad6ab2 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_custom_domains_operations.py @@ -0,0 +1,602 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 CustomDomainsOperations: + """CustomDomainsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + app_name: str, + domain_name: str, + **kwargs: Any + ) -> "_models.CustomDomainResource": + """Get the custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomDomainResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + domain_name: str, + domain_resource: "_models.CustomDomainResource", + **kwargs: Any + ) -> "_models.CustomDomainResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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(domain_resource, 'CustomDomainResource') + 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, 202]: + 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('CustomDomainResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + app_name: str, + domain_name: str, + domain_resource: "_models.CustomDomainResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.CustomDomainResource"]: + """Create or update custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :param domain_resource: Parameters for the create or update operation. + :type domain_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 CustomDomainResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + 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, + service_name=service_name, + app_name=app_name, + domain_name=domain_name, + domain_resource=domain_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('CustomDomainResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + domain_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + app_name: str, + domain_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete the custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_name, + domain_name=domain_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + domain_name: str, + domain_resource: "_models.CustomDomainResource", + **kwargs: Any + ) -> "_models.CustomDomainResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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(domain_resource, 'CustomDomainResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + service_name: str, + app_name: str, + domain_name: str, + domain_resource: "_models.CustomDomainResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.CustomDomainResource"]: + """Update custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :param domain_resource: Parameters for the create or update operation. + :type domain_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 CustomDomainResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + 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, + service_name=service_name, + app_name=app_name, + domain_name=domain_name, + domain_resource=domain_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('CustomDomainResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + app_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.CustomDomainResourceCollection"]: + """List the custom domains of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CustomDomainResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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('CustomDomainResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_deployments_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_deployments_operations.py new file mode 100644 index 00000000000..0a1fa32f738 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_deployments_operations.py @@ -0,0 +1,1524 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, 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 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 DeploymentsOperations: + """DeploymentsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> "_models.DeploymentResource": + """Get a Deployment and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DeploymentResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DeploymentResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + deployment_resource: "_models.DeploymentResource", + **kwargs: Any + ) -> "_models.DeploymentResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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(deployment_resource, 'DeploymentResource') + 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, 202]: + 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('DeploymentResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DeploymentResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DeploymentResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + deployment_resource: "_models.DeploymentResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.DeploymentResource"]: + """Create a new Deployment or update an exiting Deployment. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param deployment_resource: Parameters for the create or update operation. + :type deployment_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 DeploymentResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] + 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + deployment_resource=deployment_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('DeploymentResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Operation to delete a Deployment. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + deployment_resource: "_models.DeploymentResource", + **kwargs: Any + ) -> "_models.DeploymentResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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(deployment_resource, 'DeploymentResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('DeploymentResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DeploymentResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + deployment_resource: "_models.DeploymentResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.DeploymentResource"]: + """Operation to update an exiting Deployment. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param deployment_resource: Parameters for the update operation. + :type deployment_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 DeploymentResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] + 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + deployment_resource=deployment_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('DeploymentResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + app_name: str, + version: Optional[List[str]] = None, + **kwargs: Any + ) -> AsyncIterable["_models.DeploymentResourceCollection"]: + """Handles requests to list all resources in an App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param version: Version of the deployments to be listed. + :type version: list[str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DeploymentResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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 version is not None: + query_parameters['version'] = [self._serialize.query("version", q, 'str') if q is not None else '' for q in version] + + 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('DeploymentResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments'} # type: ignore + + def list_for_cluster( + self, + resource_group_name: str, + service_name: str, + version: Optional[List[str]] = None, + **kwargs: Any + ) -> AsyncIterable["_models.DeploymentResourceCollection"]: + """List deployments for a certain service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param version: Version of the deployments to be listed. + :type version: list[str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DeploymentResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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_for_cluster.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if version is not None: + query_parameters['version'] = [self._serialize.query("version", q, 'str') if q is not None else '' for q in version] + + 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('DeploymentResourceCollection', 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_for_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Start the deployment. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start'} # type: ignore + + async def _stop_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> 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 = "2022-01-01-preview" + 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop'} # type: ignore + + async def begin_stop( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Stop the deployment. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop'} # type: ignore + + async def _restart_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _restart_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart'} # type: ignore + + async def begin_restart( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Restart the deployment. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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_restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart'} # type: ignore + + async def get_log_file_url( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + **kwargs: Any + ) -> Optional["_models.LogFileUrlResponse"]: + """Get deployment log file URL. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LogFileUrlResponse, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.LogFileUrlResponse or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.LogFileUrlResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_log_file_url.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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, 204]: + 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('LogFileUrlResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_log_file_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl'} # type: ignore + + async def _generate_heap_dump_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + diagnostic_parameters: "_models.DiagnosticParameters", + **kwargs: Any + ) -> 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 = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._generate_heap_dump_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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(diagnostic_parameters, 'DiagnosticParameters') + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _generate_heap_dump_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateHeapDump'} # type: ignore + + async def begin_generate_heap_dump( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + diagnostic_parameters: "_models.DiagnosticParameters", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Generate Heap Dump. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param diagnostic_parameters: Parameters for the diagnostic operation. + :type diagnostic_parameters: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DiagnosticParameters + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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._generate_heap_dump_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + diagnostic_parameters=diagnostic_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): + 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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_generate_heap_dump.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateHeapDump'} # type: ignore + + async def _generate_thread_dump_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + diagnostic_parameters: "_models.DiagnosticParameters", + **kwargs: Any + ) -> 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 = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._generate_thread_dump_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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(diagnostic_parameters, 'DiagnosticParameters') + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _generate_thread_dump_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateThreadDump'} # type: ignore + + async def begin_generate_thread_dump( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + diagnostic_parameters: "_models.DiagnosticParameters", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Generate Thread Dump. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param diagnostic_parameters: Parameters for the diagnostic operation. + :type diagnostic_parameters: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DiagnosticParameters + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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._generate_thread_dump_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + diagnostic_parameters=diagnostic_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): + 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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_generate_thread_dump.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateThreadDump'} # type: ignore + + async def _start_jfr_initial( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + diagnostic_parameters: "_models.DiagnosticParameters", + **kwargs: Any + ) -> 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 = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._start_jfr_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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(diagnostic_parameters, 'DiagnosticParameters') + 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) + + if cls: + return cls(pipeline_response, None, {}) + + _start_jfr_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/startJFR'} # type: ignore + + async def begin_start_jfr( + self, + resource_group_name: str, + service_name: str, + app_name: str, + deployment_name: str, + diagnostic_parameters: "_models.DiagnosticParameters", + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Start JFR. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param diagnostic_parameters: Parameters for the diagnostic operation. + :type diagnostic_parameters: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DiagnosticParameters + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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_jfr_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + diagnostic_parameters=diagnostic_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): + 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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_jfr.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/startJFR'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateway_custom_domains_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateway_custom_domains_operations.py new file mode 100644 index 00000000000..a16058f20a3 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateway_custom_domains_operations.py @@ -0,0 +1,457 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 GatewayCustomDomainsOperations: + """GatewayCustomDomainsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + gateway_name: str, + domain_name: str, + **kwargs: Any + ) -> "_models.GatewayCustomDomainResource": + """Get the Spring Cloud Gateway custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param domain_name: The name of the Spring Cloud Gateway custom domain. + :type domain_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GatewayCustomDomainResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayCustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GatewayCustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + domain_name: str, + gateway_custom_domain_resource: "_models.GatewayCustomDomainResource", + **kwargs: Any + ) -> "_models.GatewayCustomDomainResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayCustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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(gateway_custom_domain_resource, 'GatewayCustomDomainResource') + 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('GatewayCustomDomainResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('GatewayCustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + domain_name: str, + gateway_custom_domain_resource: "_models.GatewayCustomDomainResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.GatewayCustomDomainResource"]: + """Create or update the Spring Cloud Gateway custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param domain_name: The name of the Spring Cloud Gateway custom domain. + :type domain_name: str + :param gateway_custom_domain_resource: The gateway custom domain resource for the create or + update operation. + :type gateway_custom_domain_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 GatewayCustomDomainResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayCustomDomainResource"] + 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, + service_name=service_name, + gateway_name=gateway_name, + domain_name=domain_name, + gateway_custom_domain_resource=gateway_custom_domain_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('GatewayCustomDomainResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + domain_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + domain_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete the Spring Cloud Gateway custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param domain_name: The name of the Spring Cloud Gateway custom domain. + :type domain_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + gateway_name=gateway_name, + domain_name=domain_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.GatewayCustomDomainResourceCollection"]: + """Handle requests to list all Spring Cloud Gateway custom domains. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GatewayCustomDomainResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayCustomDomainResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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('GatewayCustomDomainResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateway_route_configs_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateway_route_configs_operations.py new file mode 100644 index 00000000000..879835a5a33 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateway_route_configs_operations.py @@ -0,0 +1,458 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 GatewayRouteConfigsOperations: + """GatewayRouteConfigsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + gateway_name: str, + route_config_name: str, + **kwargs: Any + ) -> "_models.GatewayRouteConfigResource": + """Get the Spring Cloud Gateway route configs. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param route_config_name: The name of the Spring Cloud Gateway route config. + :type route_config_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GatewayRouteConfigResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayRouteConfigResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GatewayRouteConfigResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + route_config_name: str, + gateway_route_config_resource: "_models.GatewayRouteConfigResource", + **kwargs: Any + ) -> "_models.GatewayRouteConfigResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayRouteConfigResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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(gateway_route_config_resource, 'GatewayRouteConfigResource') + 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('GatewayRouteConfigResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('GatewayRouteConfigResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + route_config_name: str, + gateway_route_config_resource: "_models.GatewayRouteConfigResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.GatewayRouteConfigResource"]: + """Create the default Spring Cloud Gateway route configs or update the existing Spring Cloud + Gateway route configs. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param route_config_name: The name of the Spring Cloud Gateway route config. + :type route_config_name: str + :param gateway_route_config_resource: The Spring Cloud Gateway route config for the create or + update operation. + :type gateway_route_config_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 GatewayRouteConfigResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayRouteConfigResource"] + 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, + service_name=service_name, + gateway_name=gateway_name, + route_config_name=route_config_name, + gateway_route_config_resource=gateway_route_config_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('GatewayRouteConfigResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + route_config_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + route_config_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete the Spring Cloud Gateway route config. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param route_config_name: The name of the Spring Cloud Gateway route config. + :type route_config_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + gateway_name=gateway_name, + route_config_name=route_config_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.GatewayRouteConfigResourceCollection"]: + """Handle requests to list all Spring Cloud Gateway route configs. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GatewayRouteConfigResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayRouteConfigResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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('GatewayRouteConfigResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateways_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateways_operations.py new file mode 100644 index 00000000000..c6a16f88f9c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_gateways_operations.py @@ -0,0 +1,505 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 GatewaysOperations: + """GatewaysOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + gateway_name: str, + **kwargs: Any + ) -> "_models.GatewayResource": + """Get the Spring Cloud Gateway and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GatewayResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GatewayResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + gateway_resource: "_models.GatewayResource", + **kwargs: Any + ) -> "_models.GatewayResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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(gateway_resource, 'GatewayResource') + 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('GatewayResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('GatewayResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + gateway_resource: "_models.GatewayResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.GatewayResource"]: + """Create the default Spring Cloud Gateway or update the existing Spring Cloud Gateway. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param gateway_resource: The gateway for the create or update operation. + :type gateway_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 GatewayResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayResource"] + 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, + service_name=service_name, + gateway_name=gateway_name, + gateway_resource=gateway_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('GatewayResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Disable the default Spring Cloud Gateway. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + gateway_name=gateway_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.GatewayResourceCollection"]: + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GatewayResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('GatewayResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways'} # type: ignore + + async def validate_domain( + self, + resource_group_name: str, + service_name: str, + gateway_name: str, + validate_payload: "_models.CustomDomainValidatePayload", + **kwargs: Any + ) -> "_models.CustomDomainValidateResult": + """Check the domains are valid as well as not in use. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param validate_payload: Custom domain payload to be validated. + :type validate_payload: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidatePayload + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomDomainValidateResult, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidateResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_domain.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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(validate_payload, 'CustomDomainValidatePayload') + 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('CustomDomainValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_domain.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/validateDomain'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_monitoring_settings_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_monitoring_settings_operations.py new file mode 100644 index 00000000000..4b9dc1db8fb --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_monitoring_settings_operations.py @@ -0,0 +1,360 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MonitoringSettingsOperations: + """MonitoringSettingsOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + **kwargs: Any + ) -> "_models.MonitoringSettingResource": + """Get the Monitoring Setting and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MonitoringSettingResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore + + async def _update_put_initial( + self, + resource_group_name: str, + service_name: str, + monitoring_setting_resource: "_models.MonitoringSettingResource", + **kwargs: Any + ) -> "_models.MonitoringSettingResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_put_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'), + 'serviceName': self._serialize.url("service_name", service_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(monitoring_setting_resource, 'MonitoringSettingResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_put_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore + + async def begin_update_put( + self, + resource_group_name: str, + service_name: str, + monitoring_setting_resource: "_models.MonitoringSettingResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.MonitoringSettingResource"]: + """Update the Monitoring Setting. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param monitoring_setting_resource: Parameters for the update operation. + :type monitoring_setting_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 MonitoringSettingResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + 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_put_initial( + resource_group_name=resource_group_name, + service_name=service_name, + monitoring_setting_resource=monitoring_setting_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('MonitoringSettingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore + + async def _update_patch_initial( + self, + resource_group_name: str, + service_name: str, + monitoring_setting_resource: "_models.MonitoringSettingResource", + **kwargs: Any + ) -> "_models.MonitoringSettingResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_patch_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'), + 'serviceName': self._serialize.url("service_name", service_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(monitoring_setting_resource, 'MonitoringSettingResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_patch_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore + + async def begin_update_patch( + self, + resource_group_name: str, + service_name: str, + monitoring_setting_resource: "_models.MonitoringSettingResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.MonitoringSettingResource"]: + """Update the Monitoring Setting. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param monitoring_setting_resource: Parameters for the update operation. + :type monitoring_setting_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 MonitoringSettingResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + 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_patch_initial( + resource_group_name=resource_group_name, + service_name=service_name, + monitoring_setting_resource=monitoring_setting_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('MonitoringSettingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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_patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_operations.py old mode 100755 new mode 100644 similarity index 85% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_operations.py index 3b4ec0d14b2..abbd206c94e --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/aio/operations/_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_operations.py @@ -26,7 +26,7 @@ class Operations: 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,22 +44,20 @@ def __init__(self, client, config, serializer, deserializer) -> None: def list( self, **kwargs: Any - ) -> AsyncIterable["_models.OperationListResult"]: - """Gets a list of operations. - - Gets a list of operations. + ) -> AsyncIterable["_models.AvailableOperations"]: + """Lists all of the available REST API operations of the Microsoft.AppPlatform provider. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.OperationListResult] + :return: An iterator like instance of either AvailableOperations or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.AvailableOperations] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AvailableOperations"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -82,11 +80,11 @@ def prepare_request(next_link=None): return request async def extract_data(pipeline_response): - deserialized = self._deserialize('OperationListResult', pipeline_response) + deserialized = self._deserialize('AvailableOperations', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, AsyncList(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) @@ -103,4 +101,4 @@ async def get_next(next_link=None): return AsyncItemPaged( get_next, extract_data ) - list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} # type: ignore + list.metadata = {'url': '/providers/Microsoft.AppPlatform/operations'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_perimeter_associable_resource_types_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_runtime_versions_operations.py similarity index 68% rename from src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_perimeter_associable_resource_types_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_runtime_versions_operations.py index 7052642970c..65d60cb0677 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/aio/operations/_perimeter_associable_resource_types_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_runtime_versions_operations.py @@ -18,14 +18,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class PerimeterAssociableResourceTypesOperations: - """PerimeterAssociableResourceTypesOperations async operations. +class RuntimeVersionsOperations: + """RuntimeVersionsOperations 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,36 +40,27 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config - async def get( + async def list_runtime_versions( self, - location: str, **kwargs: Any - ) -> "_models.PerimeterAssociableResourcesListResult": - """Gets the list of resources that are onboarded with NSP. These resources can be associated with - a network security perimeter. + ) -> "_models.AvailableRuntimeVersions": + """Lists all of the available runtime versions supported by Microsoft.AppPlatform provider. - :param location: The location of the where the association is present. - :type location: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: PerimeterAssociableResourcesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.PerimeterAssociableResourcesListResult + :return: AvailableRuntimeVersions, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AvailableRuntimeVersions :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PerimeterAssociableResourcesListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AvailableRuntimeVersions"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2022-01-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'), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) + url = self.list_runtime_versions.metadata['url'] # type: ignore # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -87,10 +78,10 @@ async def get( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PerimeterAssociableResourcesListResult', pipeline_response) + deserialized = self._deserialize('AvailableRuntimeVersions', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes'} # type: ignore + list_runtime_versions.metadata = {'url': '/providers/Microsoft.AppPlatform/runtimeVersions'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_service_registries_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_service_registries_operations.py new file mode 100644 index 00000000000..f160fa212ba --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_service_registries_operations.py @@ -0,0 +1,424 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ServiceRegistriesOperations: + """ServiceRegistriesOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + service_registry_name: str, + **kwargs: Any + ) -> "_models.ServiceRegistryResource": + """Get the Service Registry and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param service_registry_name: The name of Service Registry. + :type service_registry_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServiceRegistryResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceRegistryResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServiceRegistryResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + service_registry_name: str, + **kwargs: Any + ) -> "_models.ServiceRegistryResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceRegistryResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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.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, 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('ServiceRegistryResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ServiceRegistryResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + service_registry_name: str, + **kwargs: Any + ) -> AsyncLROPoller["_models.ServiceRegistryResource"]: + """Create the default Service Registry or update the existing Service Registry. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param service_registry_name: The name of Service Registry. + :type service_registry_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ServiceRegistryResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceRegistryResource"] + 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, + service_name=service_name, + service_registry_name=service_registry_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('ServiceRegistryResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + service_registry_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + service_registry_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Disable the default Service Registry. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param service_registry_name: The name of Service Registry. + :type service_registry_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + service_registry_name=service_registry_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ServiceRegistryResourceCollection"]: + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ServiceRegistryResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceRegistryResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('ServiceRegistryResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_services_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_services_operations.py new file mode 100644 index 00000000000..bde4f4bf318 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_services_operations.py @@ -0,0 +1,1131 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ServicesOperations: + """ServicesOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + **kwargs: Any + ) -> "_models.ServiceResource": + """Get a Service and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServiceResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + resource: "_models.ServiceResource", + **kwargs: Any + ) -> "_models.ServiceResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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(resource, 'ServiceResource') + 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, 202]: + 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('ServiceResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + resource: "_models.ServiceResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.ServiceResource"]: + """Create a new Service or update an exiting Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param resource: Parameters for the create or update operation. + :type resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ServiceResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + 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, + service_name=service_name, + resource=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('ServiceResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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.AppPlatform/Spring/{serviceName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Operation to delete a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_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'), + 'serviceName': self._serialize.url("service_name", service_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.AppPlatform/Spring/{serviceName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + service_name: str, + resource: "_models.ServiceResource", + **kwargs: Any + ) -> "_models.ServiceResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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(resource, 'ServiceResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + service_name: str, + resource: "_models.ServiceResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.ServiceResource"]: + """Operation to update an exiting Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param resource: Parameters for the update operation. + :type resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 ServiceResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + 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, + service_name=service_name, + resource=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('ServiceResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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.AppPlatform/Spring/{serviceName}'} # type: ignore + + async def list_test_keys( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> "_models.TestKeys": + """List test keys for a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TestKeys, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.TestKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TestKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_test_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'), + 'serviceName': self._serialize.url("service_name", service_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TestKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_test_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys'} # type: ignore + + async def regenerate_test_key( + self, + resource_group_name: str, + service_name: str, + regenerate_test_key_request: "_models.RegenerateTestKeyRequestPayload", + **kwargs: Any + ) -> "_models.TestKeys": + """Regenerate a test key for a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param regenerate_test_key_request: Parameters for the operation. + :type regenerate_test_key_request: ~azure.mgmt.appplatform.v2022_01_01_preview.models.RegenerateTestKeyRequestPayload + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TestKeys, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.TestKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TestKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.regenerate_test_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'), + 'serviceName': self._serialize.url("service_name", service_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(regenerate_test_key_request, 'RegenerateTestKeyRequestPayload') + 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('TestKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_test_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey'} # type: ignore + + async def disable_test_endpoint( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> None: + """Disable test endpoint functionality for a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type 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 = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.disable_test_endpoint.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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, {}) + + disable_test_endpoint.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint'} # type: ignore + + async def enable_test_endpoint( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> "_models.TestKeys": + """Enable test endpoint functionality for a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TestKeys, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.TestKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TestKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.enable_test_endpoint.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # 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('TestKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + enable_test_endpoint.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint'} # type: ignore + + async def _stop_initial( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> 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 = "2022-01-01-preview" + 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'), + 'serviceName': self._serialize.url("service_name", service_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 [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.AppPlatform/Spring/{serviceName}/stop'} # type: ignore + + async def begin_stop( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Stop a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_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'), + 'serviceName': self._serialize.url("service_name", service_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_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/stop'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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 [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, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Start a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_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'), + 'serviceName': self._serialize.url("service_name", service_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.AppPlatform/Spring/{serviceName}/start'} # type: ignore + + async def check_name_availability( + self, + location: str, + availability_parameters: "_models.NameAvailabilityParameters", + **kwargs: Any + ) -> "_models.NameAvailability": + """Checks that the resource name is valid and is not already in use. + + :param location: the region. + :type location: str + :param availability_parameters: Parameters supplied to the operation. + :type availability_parameters: ~azure.mgmt.appplatform.v2022_01_01_preview.models.NameAvailabilityParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: NameAvailability, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.NameAvailability + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.NameAvailability"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.check_name_availability.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(availability_parameters, 'NameAvailabilityParameters') + 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('NameAvailability', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability'} # type: ignore + + def list_by_subscription( + self, + **kwargs: Any + ) -> AsyncIterable["_models.ServiceResourceList"]: + """Handles requests to list all resources 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 ServiceResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + } + url = self._client.format_url(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('ServiceResourceList', 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_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring'} # type: ignore + + def list( + self, + resource_group_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.ServiceResourceList"]: + """Handles requests to list all resources in a resource group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ServiceResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + } + url = self._client.format_url(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('ServiceResourceList', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_skus_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_skus_operations.py similarity index 85% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_skus_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_skus_operations.py index 682e5440733..b577ccb270a 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_skus_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_skus_operations.py @@ -26,7 +26,7 @@ class SkusOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -43,21 +43,21 @@ def __init__(self, client, config, serializer, deserializer) -> None: def list( self, - **kwargs - ) -> AsyncIterable["_models.StorageSkuListResult"]: - """Lists the available SKUs supported by Microsoft.Storage for given subscription. + **kwargs: Any + ) -> AsyncIterable["_models.ResourceSkuCollection"]: + """Lists all of the available skus of the Microsoft.AppPlatform provider. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either StorageSkuListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.StorageSkuListResult] + :return: An iterator like instance of either ResourceSkuCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuCollection] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageSkuListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceSkuCollection"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -69,7 +69,7 @@ def prepare_request(next_link=None): # 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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters @@ -84,11 +84,11 @@ def prepare_request(next_link=None): return request async def extract_data(pipeline_response): - deserialized = self._deserialize('StorageSkuListResult', pipeline_response) + deserialized = self._deserialize('ResourceSkuCollection', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, AsyncList(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) @@ -105,4 +105,4 @@ async def get_next(next_link=None): return AsyncItemPaged( get_next, extract_data ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_storages_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_storages_operations.py new file mode 100644 index 00000000000..37643ae075c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/aio/operations/_storages_operations.py @@ -0,0 +1,437 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 StoragesOperations: + """StoragesOperations 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.appplatform.v2022_01_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. + """ + + 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, + service_name: str, + storage_name: str, + **kwargs: Any + ) -> "_models.StorageResource": + """Get the storage resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param storage_name: The name of the storage resource. + :type storage_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('StorageResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + service_name: str, + storage_name: str, + storage_resource: "_models.StorageResource", + **kwargs: Any + ) -> "_models.StorageResource": + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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(storage_resource, 'StorageResource') + 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, 202]: + 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('StorageResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('StorageResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('StorageResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + service_name: str, + storage_name: str, + storage_resource: "_models.StorageResource", + **kwargs: Any + ) -> AsyncLROPoller["_models.StorageResource"]: + """Create or update storage resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param storage_name: The name of the storage resource. + :type storage_name: str + :param storage_resource: Parameters for the create or update operation. + :type storage_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResource + :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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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 StorageResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageResource"] + 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, + service_name=service_name, + storage_name=storage_name, + storage_resource=storage_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('StorageResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + service_name: str, + storage_name: str, + **kwargs: Any + ) -> 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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + service_name: str, + storage_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Delete the storage resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param storage_name: The name of the storage resource. + :type storage_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: By default, your polling method will be AsyncARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + storage_name=storage_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + def list( + self, + resource_group_name: str, + service_name: str, + **kwargs: Any + ) -> AsyncIterable["_models.StorageResourceCollection"]: + """List all the storages of one Azure Spring Cloud instance. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StorageResourceCollection or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('StorageResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/__init__.py new file mode 100644 index 00000000000..89a09924b4b --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/__init__.py @@ -0,0 +1,570 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ActiveDeploymentCollection + from ._models_py3 import ApiPortalCustomDomainProperties + from ._models_py3 import ApiPortalCustomDomainResource + from ._models_py3 import ApiPortalCustomDomainResourceCollection + from ._models_py3 import ApiPortalInstance + from ._models_py3 import ApiPortalProperties + from ._models_py3 import ApiPortalResource + from ._models_py3 import ApiPortalResourceCollection + from ._models_py3 import ApiPortalResourceRequests + from ._models_py3 import AppResource + from ._models_py3 import AppResourceCollection + from ._models_py3 import AppResourceProperties + from ._models_py3 import ApplicationInsightsAgentVersions + from ._models_py3 import AvailableOperations + from ._models_py3 import AvailableRuntimeVersions + from ._models_py3 import AzureFileVolume + from ._models_py3 import BindingResource + from ._models_py3 import BindingResourceCollection + from ._models_py3 import BindingResourceProperties + from ._models_py3 import Build + from ._models_py3 import BuildCollection + from ._models_py3 import BuildProperties + from ._models_py3 import BuildResult + from ._models_py3 import BuildResultCollection + from ._models_py3 import BuildResultLog + from ._models_py3 import BuildResultProperties + from ._models_py3 import BuildResultUserSourceInfo + from ._models_py3 import BuildService + from ._models_py3 import BuildServiceAgentPoolProperties + from ._models_py3 import BuildServiceAgentPoolResource + from ._models_py3 import BuildServiceAgentPoolResourceCollection + from ._models_py3 import BuildServiceAgentPoolSizeProperties + from ._models_py3 import BuildServiceCollection + from ._models_py3 import BuildServiceProperties + from ._models_py3 import BuildServicePropertiesResourceRequests + from ._models_py3 import BuildStageProperties + from ._models_py3 import BuilderProperties + from ._models_py3 import BuilderResource + from ._models_py3 import BuilderResourceCollection + from ._models_py3 import BuildpackBindingLaunchProperties + from ._models_py3 import BuildpackBindingProperties + from ._models_py3 import BuildpackBindingResource + from ._models_py3 import BuildpackBindingResourceCollection + from ._models_py3 import BuildpackProperties + from ._models_py3 import BuildpacksGroupProperties + from ._models_py3 import CertificateProperties + from ._models_py3 import CertificateResource + from ._models_py3 import CertificateResourceCollection + from ._models_py3 import CloudErrorBody + from ._models_py3 import ClusterResourceProperties + from ._models_py3 import ConfigServerGitProperty + from ._models_py3 import ConfigServerProperties + from ._models_py3 import ConfigServerResource + from ._models_py3 import ConfigServerSettings + from ._models_py3 import ConfigServerSettingsErrorRecord + from ._models_py3 import ConfigServerSettingsValidateResult + from ._models_py3 import ConfigurationServiceGitProperty + from ._models_py3 import ConfigurationServiceGitPropertyValidateResult + from ._models_py3 import ConfigurationServiceGitRepository + from ._models_py3 import ConfigurationServiceInstance + from ._models_py3 import ConfigurationServiceProperties + from ._models_py3 import ConfigurationServiceResource + from ._models_py3 import ConfigurationServiceResourceCollection + from ._models_py3 import ConfigurationServiceResourceRequests + from ._models_py3 import ConfigurationServiceSettings + from ._models_py3 import ConfigurationServiceSettingsValidateResult + from ._models_py3 import ContainerProbeSettings + from ._models_py3 import ContentCertificateProperties + from ._models_py3 import CustomContainer + from ._models_py3 import CustomContainerUserSourceInfo + from ._models_py3 import CustomDomainProperties + from ._models_py3 import CustomDomainResource + from ._models_py3 import CustomDomainResourceCollection + from ._models_py3 import CustomDomainValidatePayload + from ._models_py3 import CustomDomainValidateResult + from ._models_py3 import CustomPersistentDiskProperties + from ._models_py3 import CustomPersistentDiskResource + from ._models_py3 import DeploymentInstance + from ._models_py3 import DeploymentResource + from ._models_py3 import DeploymentResourceCollection + from ._models_py3 import DeploymentResourceProperties + from ._models_py3 import DeploymentSettings + from ._models_py3 import DiagnosticParameters + from ._models_py3 import Error + from ._models_py3 import GatewayApiMetadataProperties + from ._models_py3 import GatewayApiRoute + from ._models_py3 import GatewayCorsProperties + from ._models_py3 import GatewayCustomDomainProperties + from ._models_py3 import GatewayCustomDomainResource + from ._models_py3 import GatewayCustomDomainResourceCollection + from ._models_py3 import GatewayInstance + from ._models_py3 import GatewayOperatorProperties + from ._models_py3 import GatewayOperatorResourceRequests + from ._models_py3 import GatewayProperties + from ._models_py3 import GatewayResource + from ._models_py3 import GatewayResourceCollection + from ._models_py3 import GatewayResourceRequests + from ._models_py3 import GatewayRouteConfigProperties + from ._models_py3 import GatewayRouteConfigResource + from ._models_py3 import GatewayRouteConfigResourceCollection + from ._models_py3 import GitPatternRepository + from ._models_py3 import ImageRegistryCredential + from ._models_py3 import JarUploadedUserSourceInfo + from ._models_py3 import KeyVaultCertificateProperties + from ._models_py3 import LoadedCertificate + from ._models_py3 import LogFileUrlResponse + from ._models_py3 import LogSpecification + from ._models_py3 import ManagedIdentityProperties + from ._models_py3 import MetricDimension + from ._models_py3 import MetricSpecification + from ._models_py3 import MonitoringSettingProperties + from ._models_py3 import MonitoringSettingResource + from ._models_py3 import NameAvailability + from ._models_py3 import NameAvailabilityParameters + from ._models_py3 import NetCoreZipUploadedUserSourceInfo + from ._models_py3 import NetworkProfile + from ._models_py3 import NetworkProfileOutboundIPs + from ._models_py3 import OperationDetail + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationProperties + from ._models_py3 import PersistentDisk + from ._models_py3 import ProxyResource + from ._models_py3 import RegenerateTestKeyRequestPayload + from ._models_py3 import RequiredTraffic + from ._models_py3 import Resource + from ._models_py3 import ResourceRequests + from ._models_py3 import ResourceSku + from ._models_py3 import ResourceSkuCapabilities + from ._models_py3 import ResourceSkuCollection + from ._models_py3 import ResourceSkuLocationInfo + from ._models_py3 import ResourceSkuRestrictionInfo + from ._models_py3 import ResourceSkuRestrictions + from ._models_py3 import ResourceSkuZoneDetails + from ._models_py3 import ResourceUploadDefinition + from ._models_py3 import ServiceRegistryInstance + from ._models_py3 import ServiceRegistryProperties + from ._models_py3 import ServiceRegistryResource + from ._models_py3 import ServiceRegistryResourceCollection + from ._models_py3 import ServiceRegistryResourceRequests + from ._models_py3 import ServiceResource + from ._models_py3 import ServiceResourceList + from ._models_py3 import ServiceSpecification + from ._models_py3 import Sku + from ._models_py3 import SkuCapacity + from ._models_py3 import SourceUploadedUserSourceInfo + from ._models_py3 import SsoProperties + from ._models_py3 import StackProperties + from ._models_py3 import StorageAccount + from ._models_py3 import StorageProperties + from ._models_py3 import StorageResource + from ._models_py3 import StorageResourceCollection + from ._models_py3 import SupportedBuildpackResource + from ._models_py3 import SupportedBuildpackResourceProperties + from ._models_py3 import SupportedBuildpacksCollection + from ._models_py3 import SupportedRuntimeVersion + from ._models_py3 import SupportedStackResource + from ._models_py3 import SupportedStackResourceProperties + from ._models_py3 import SupportedStacksCollection + from ._models_py3 import SystemData + from ._models_py3 import TemporaryDisk + from ._models_py3 import TestKeys + from ._models_py3 import TrackedResource + from ._models_py3 import TriggeredBuildResult + from ._models_py3 import UploadedUserSourceInfo + from ._models_py3 import UserSourceInfo + from ._models_py3 import ValidationMessages +except (SyntaxError, ImportError): + from ._models import ActiveDeploymentCollection # type: ignore + from ._models import ApiPortalCustomDomainProperties # type: ignore + from ._models import ApiPortalCustomDomainResource # type: ignore + from ._models import ApiPortalCustomDomainResourceCollection # type: ignore + from ._models import ApiPortalInstance # type: ignore + from ._models import ApiPortalProperties # type: ignore + from ._models import ApiPortalResource # type: ignore + from ._models import ApiPortalResourceCollection # type: ignore + from ._models import ApiPortalResourceRequests # type: ignore + from ._models import AppResource # type: ignore + from ._models import AppResourceCollection # type: ignore + from ._models import AppResourceProperties # type: ignore + from ._models import ApplicationInsightsAgentVersions # type: ignore + from ._models import AvailableOperations # type: ignore + from ._models import AvailableRuntimeVersions # type: ignore + from ._models import AzureFileVolume # type: ignore + from ._models import BindingResource # type: ignore + from ._models import BindingResourceCollection # type: ignore + from ._models import BindingResourceProperties # type: ignore + from ._models import Build # type: ignore + from ._models import BuildCollection # type: ignore + from ._models import BuildProperties # type: ignore + from ._models import BuildResult # type: ignore + from ._models import BuildResultCollection # type: ignore + from ._models import BuildResultLog # type: ignore + from ._models import BuildResultProperties # type: ignore + from ._models import BuildResultUserSourceInfo # type: ignore + from ._models import BuildService # type: ignore + from ._models import BuildServiceAgentPoolProperties # type: ignore + from ._models import BuildServiceAgentPoolResource # type: ignore + from ._models import BuildServiceAgentPoolResourceCollection # type: ignore + from ._models import BuildServiceAgentPoolSizeProperties # type: ignore + from ._models import BuildServiceCollection # type: ignore + from ._models import BuildServiceProperties # type: ignore + from ._models import BuildServicePropertiesResourceRequests # type: ignore + from ._models import BuildStageProperties # type: ignore + from ._models import BuilderProperties # type: ignore + from ._models import BuilderResource # type: ignore + from ._models import BuilderResourceCollection # type: ignore + from ._models import BuildpackBindingLaunchProperties # type: ignore + from ._models import BuildpackBindingProperties # type: ignore + from ._models import BuildpackBindingResource # type: ignore + from ._models import BuildpackBindingResourceCollection # type: ignore + from ._models import BuildpackProperties # type: ignore + from ._models import BuildpacksGroupProperties # type: ignore + from ._models import CertificateProperties # type: ignore + from ._models import CertificateResource # type: ignore + from ._models import CertificateResourceCollection # type: ignore + from ._models import CloudErrorBody # type: ignore + from ._models import ClusterResourceProperties # type: ignore + from ._models import ConfigServerGitProperty # type: ignore + from ._models import ConfigServerProperties # type: ignore + from ._models import ConfigServerResource # type: ignore + from ._models import ConfigServerSettings # type: ignore + from ._models import ConfigServerSettingsErrorRecord # type: ignore + from ._models import ConfigServerSettingsValidateResult # type: ignore + from ._models import ConfigurationServiceGitProperty # type: ignore + from ._models import ConfigurationServiceGitPropertyValidateResult # type: ignore + from ._models import ConfigurationServiceGitRepository # type: ignore + from ._models import ConfigurationServiceInstance # type: ignore + from ._models import ConfigurationServiceProperties # type: ignore + from ._models import ConfigurationServiceResource # type: ignore + from ._models import ConfigurationServiceResourceCollection # type: ignore + from ._models import ConfigurationServiceResourceRequests # type: ignore + from ._models import ConfigurationServiceSettings # type: ignore + from ._models import ConfigurationServiceSettingsValidateResult # type: ignore + from ._models import ContainerProbeSettings # type: ignore + from ._models import ContentCertificateProperties # type: ignore + from ._models import CustomContainer # type: ignore + from ._models import CustomContainerUserSourceInfo # type: ignore + from ._models import CustomDomainProperties # type: ignore + from ._models import CustomDomainResource # type: ignore + from ._models import CustomDomainResourceCollection # type: ignore + from ._models import CustomDomainValidatePayload # type: ignore + from ._models import CustomDomainValidateResult # type: ignore + from ._models import CustomPersistentDiskProperties # type: ignore + from ._models import CustomPersistentDiskResource # type: ignore + from ._models import DeploymentInstance # type: ignore + from ._models import DeploymentResource # type: ignore + from ._models import DeploymentResourceCollection # type: ignore + from ._models import DeploymentResourceProperties # type: ignore + from ._models import DeploymentSettings # type: ignore + from ._models import DiagnosticParameters # type: ignore + from ._models import Error # type: ignore + from ._models import GatewayApiMetadataProperties # type: ignore + from ._models import GatewayApiRoute # type: ignore + from ._models import GatewayCorsProperties # type: ignore + from ._models import GatewayCustomDomainProperties # type: ignore + from ._models import GatewayCustomDomainResource # type: ignore + from ._models import GatewayCustomDomainResourceCollection # type: ignore + from ._models import GatewayInstance # type: ignore + from ._models import GatewayOperatorProperties # type: ignore + from ._models import GatewayOperatorResourceRequests # type: ignore + from ._models import GatewayProperties # type: ignore + from ._models import GatewayResource # type: ignore + from ._models import GatewayResourceCollection # type: ignore + from ._models import GatewayResourceRequests # type: ignore + from ._models import GatewayRouteConfigProperties # type: ignore + from ._models import GatewayRouteConfigResource # type: ignore + from ._models import GatewayRouteConfigResourceCollection # type: ignore + from ._models import GitPatternRepository # type: ignore + from ._models import ImageRegistryCredential # type: ignore + from ._models import JarUploadedUserSourceInfo # type: ignore + from ._models import KeyVaultCertificateProperties # type: ignore + from ._models import LoadedCertificate # type: ignore + from ._models import LogFileUrlResponse # type: ignore + from ._models import LogSpecification # type: ignore + from ._models import ManagedIdentityProperties # type: ignore + from ._models import MetricDimension # type: ignore + from ._models import MetricSpecification # type: ignore + from ._models import MonitoringSettingProperties # type: ignore + from ._models import MonitoringSettingResource # type: ignore + from ._models import NameAvailability # type: ignore + from ._models import NameAvailabilityParameters # type: ignore + from ._models import NetCoreZipUploadedUserSourceInfo # type: ignore + from ._models import NetworkProfile # type: ignore + from ._models import NetworkProfileOutboundIPs # type: ignore + from ._models import OperationDetail # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationProperties # type: ignore + from ._models import PersistentDisk # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import RegenerateTestKeyRequestPayload # type: ignore + from ._models import RequiredTraffic # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourceRequests # type: ignore + from ._models import ResourceSku # type: ignore + from ._models import ResourceSkuCapabilities # type: ignore + from ._models import ResourceSkuCollection # type: ignore + from ._models import ResourceSkuLocationInfo # type: ignore + from ._models import ResourceSkuRestrictionInfo # type: ignore + from ._models import ResourceSkuRestrictions # type: ignore + from ._models import ResourceSkuZoneDetails # type: ignore + from ._models import ResourceUploadDefinition # type: ignore + from ._models import ServiceRegistryInstance # type: ignore + from ._models import ServiceRegistryProperties # type: ignore + from ._models import ServiceRegistryResource # type: ignore + from ._models import ServiceRegistryResourceCollection # type: ignore + from ._models import ServiceRegistryResourceRequests # type: ignore + from ._models import ServiceResource # type: ignore + from ._models import ServiceResourceList # type: ignore + from ._models import ServiceSpecification # type: ignore + from ._models import Sku # type: ignore + from ._models import SkuCapacity # type: ignore + from ._models import SourceUploadedUserSourceInfo # type: ignore + from ._models import SsoProperties # type: ignore + from ._models import StackProperties # type: ignore + from ._models import StorageAccount # type: ignore + from ._models import StorageProperties # type: ignore + from ._models import StorageResource # type: ignore + from ._models import StorageResourceCollection # type: ignore + from ._models import SupportedBuildpackResource # type: ignore + from ._models import SupportedBuildpackResourceProperties # type: ignore + from ._models import SupportedBuildpacksCollection # type: ignore + from ._models import SupportedRuntimeVersion # type: ignore + from ._models import SupportedStackResource # type: ignore + from ._models import SupportedStackResourceProperties # type: ignore + from ._models import SupportedStacksCollection # type: ignore + from ._models import SystemData # type: ignore + from ._models import TemporaryDisk # type: ignore + from ._models import TestKeys # type: ignore + from ._models import TrackedResource # type: ignore + from ._models import TriggeredBuildResult # type: ignore + from ._models import UploadedUserSourceInfo # type: ignore + from ._models import UserSourceInfo # type: ignore + from ._models import ValidationMessages # type: ignore + +from ._app_platform_management_client_enums import ( + ApiPortalProvisioningState, + AppResourceProvisioningState, + BindingType, + BuildProvisioningState, + BuildResultProvisioningState, + BuildServiceProvisioningState, + BuilderProvisioningState, + BuildpackBindingProvisioningState, + ConfigServerState, + ConfigurationServiceProvisioningState, + CreatedByType, + DeploymentResourceProvisioningState, + DeploymentResourceStatus, + GatewayProvisioningState, + KPackBuildStageProvisioningState, + LastModifiedByType, + ManagedIdentityType, + MonitoringSettingState, + PowerState, + ProvisioningState, + ResourceSkuRestrictionsReasonCode, + ResourceSkuRestrictionsType, + ServiceRegistryProvisioningState, + SkuScaleType, + SupportedRuntimePlatform, + SupportedRuntimeValue, + TestKeyType, + TrafficDirection, +) + +__all__ = [ + 'ActiveDeploymentCollection', + 'ApiPortalCustomDomainProperties', + 'ApiPortalCustomDomainResource', + 'ApiPortalCustomDomainResourceCollection', + 'ApiPortalInstance', + 'ApiPortalProperties', + 'ApiPortalResource', + 'ApiPortalResourceCollection', + 'ApiPortalResourceRequests', + 'AppResource', + 'AppResourceCollection', + 'AppResourceProperties', + 'ApplicationInsightsAgentVersions', + 'AvailableOperations', + 'AvailableRuntimeVersions', + 'AzureFileVolume', + 'BindingResource', + 'BindingResourceCollection', + 'BindingResourceProperties', + 'Build', + 'BuildCollection', + 'BuildProperties', + 'BuildResult', + 'BuildResultCollection', + 'BuildResultLog', + 'BuildResultProperties', + 'BuildResultUserSourceInfo', + 'BuildService', + 'BuildServiceAgentPoolProperties', + 'BuildServiceAgentPoolResource', + 'BuildServiceAgentPoolResourceCollection', + 'BuildServiceAgentPoolSizeProperties', + 'BuildServiceCollection', + 'BuildServiceProperties', + 'BuildServicePropertiesResourceRequests', + 'BuildStageProperties', + 'BuilderProperties', + 'BuilderResource', + 'BuilderResourceCollection', + 'BuildpackBindingLaunchProperties', + 'BuildpackBindingProperties', + 'BuildpackBindingResource', + 'BuildpackBindingResourceCollection', + 'BuildpackProperties', + 'BuildpacksGroupProperties', + 'CertificateProperties', + 'CertificateResource', + 'CertificateResourceCollection', + 'CloudErrorBody', + 'ClusterResourceProperties', + 'ConfigServerGitProperty', + 'ConfigServerProperties', + 'ConfigServerResource', + 'ConfigServerSettings', + 'ConfigServerSettingsErrorRecord', + 'ConfigServerSettingsValidateResult', + 'ConfigurationServiceGitProperty', + 'ConfigurationServiceGitPropertyValidateResult', + 'ConfigurationServiceGitRepository', + 'ConfigurationServiceInstance', + 'ConfigurationServiceProperties', + 'ConfigurationServiceResource', + 'ConfigurationServiceResourceCollection', + 'ConfigurationServiceResourceRequests', + 'ConfigurationServiceSettings', + 'ConfigurationServiceSettingsValidateResult', + 'ContainerProbeSettings', + 'ContentCertificateProperties', + 'CustomContainer', + 'CustomContainerUserSourceInfo', + 'CustomDomainProperties', + 'CustomDomainResource', + 'CustomDomainResourceCollection', + 'CustomDomainValidatePayload', + 'CustomDomainValidateResult', + 'CustomPersistentDiskProperties', + 'CustomPersistentDiskResource', + 'DeploymentInstance', + 'DeploymentResource', + 'DeploymentResourceCollection', + 'DeploymentResourceProperties', + 'DeploymentSettings', + 'DiagnosticParameters', + 'Error', + 'GatewayApiMetadataProperties', + 'GatewayApiRoute', + 'GatewayCorsProperties', + 'GatewayCustomDomainProperties', + 'GatewayCustomDomainResource', + 'GatewayCustomDomainResourceCollection', + 'GatewayInstance', + 'GatewayOperatorProperties', + 'GatewayOperatorResourceRequests', + 'GatewayProperties', + 'GatewayResource', + 'GatewayResourceCollection', + 'GatewayResourceRequests', + 'GatewayRouteConfigProperties', + 'GatewayRouteConfigResource', + 'GatewayRouteConfigResourceCollection', + 'GitPatternRepository', + 'ImageRegistryCredential', + 'JarUploadedUserSourceInfo', + 'KeyVaultCertificateProperties', + 'LoadedCertificate', + 'LogFileUrlResponse', + 'LogSpecification', + 'ManagedIdentityProperties', + 'MetricDimension', + 'MetricSpecification', + 'MonitoringSettingProperties', + 'MonitoringSettingResource', + 'NameAvailability', + 'NameAvailabilityParameters', + 'NetCoreZipUploadedUserSourceInfo', + 'NetworkProfile', + 'NetworkProfileOutboundIPs', + 'OperationDetail', + 'OperationDisplay', + 'OperationProperties', + 'PersistentDisk', + 'ProxyResource', + 'RegenerateTestKeyRequestPayload', + 'RequiredTraffic', + 'Resource', + 'ResourceRequests', + 'ResourceSku', + 'ResourceSkuCapabilities', + 'ResourceSkuCollection', + 'ResourceSkuLocationInfo', + 'ResourceSkuRestrictionInfo', + 'ResourceSkuRestrictions', + 'ResourceSkuZoneDetails', + 'ResourceUploadDefinition', + 'ServiceRegistryInstance', + 'ServiceRegistryProperties', + 'ServiceRegistryResource', + 'ServiceRegistryResourceCollection', + 'ServiceRegistryResourceRequests', + 'ServiceResource', + 'ServiceResourceList', + 'ServiceSpecification', + 'Sku', + 'SkuCapacity', + 'SourceUploadedUserSourceInfo', + 'SsoProperties', + 'StackProperties', + 'StorageAccount', + 'StorageProperties', + 'StorageResource', + 'StorageResourceCollection', + 'SupportedBuildpackResource', + 'SupportedBuildpackResourceProperties', + 'SupportedBuildpacksCollection', + 'SupportedRuntimeVersion', + 'SupportedStackResource', + 'SupportedStackResourceProperties', + 'SupportedStacksCollection', + 'SystemData', + 'TemporaryDisk', + 'TestKeys', + 'TrackedResource', + 'TriggeredBuildResult', + 'UploadedUserSourceInfo', + 'UserSourceInfo', + 'ValidationMessages', + 'ApiPortalProvisioningState', + 'AppResourceProvisioningState', + 'BindingType', + 'BuildProvisioningState', + 'BuildResultProvisioningState', + 'BuildServiceProvisioningState', + 'BuilderProvisioningState', + 'BuildpackBindingProvisioningState', + 'ConfigServerState', + 'ConfigurationServiceProvisioningState', + 'CreatedByType', + 'DeploymentResourceProvisioningState', + 'DeploymentResourceStatus', + 'GatewayProvisioningState', + 'KPackBuildStageProvisioningState', + 'LastModifiedByType', + 'ManagedIdentityType', + 'MonitoringSettingState', + 'PowerState', + 'ProvisioningState', + 'ResourceSkuRestrictionsReasonCode', + 'ResourceSkuRestrictionsType', + 'ServiceRegistryProvisioningState', + 'SkuScaleType', + 'SupportedRuntimePlatform', + 'SupportedRuntimeValue', + 'TestKeyType', + 'TrafficDirection', +] diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_app_platform_management_client_enums.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_app_platform_management_client_enums.py new file mode 100644 index 00000000000..6e80cf01dcd --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_app_platform_management_client_enums.py @@ -0,0 +1,283 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ApiPortalProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """State of the API portal. + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +class AppResourceProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning state of the App + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + +class BindingType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Buildpack Binding Type + """ + + APPLICATION_INSIGHTS = "ApplicationInsights" + APACHE_SKY_WALKING = "ApacheSkyWalking" + APP_DYNAMICS = "AppDynamics" + DYNATRACE = "Dynatrace" + NEW_RELIC = "NewRelic" + ELASTIC_APM = "ElasticAPM" + +class BuilderProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Builder provision status. + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +class BuildpackBindingProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """State of the Buildpack Binding. + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +class BuildProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning state of the KPack build result + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +class BuildResultProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning state of the KPack build result + """ + + QUEUING = "Queuing" + BUILDING = "Building" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +class BuildServiceProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning state of the KPack build result + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +class ConfigServerState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """State of the config server. + """ + + NOT_AVAILABLE = "NotAvailable" + DELETED = "Deleted" + FAILED = "Failed" + SUCCEEDED = "Succeeded" + UPDATING = "Updating" + +class ConfigurationServiceProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """State of the Application Configuration Service. + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +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 DeploymentResourceProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning state of the Deployment + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class DeploymentResourceStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Status of the Deployment + """ + + STOPPED = "Stopped" + RUNNING = "Running" + +class GatewayProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """State of the Spring Cloud Gateway. + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +class KPackBuildStageProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The provisioning state of this build stage resource. + """ + + NOT_STARTED = "NotStarted" + RUNNING = "Running" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + +class LastModifiedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that last modified the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class ManagedIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the managed identity + """ + + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" + +class MonitoringSettingState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """State of the Monitoring Setting. + """ + + NOT_AVAILABLE = "NotAvailable" + FAILED = "Failed" + SUCCEEDED = "Succeeded" + UPDATING = "Updating" + +class PowerState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Power state of the Service + """ + + RUNNING = "Running" + STOPPED = "Stopped" + +class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning state of the Service + """ + + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" + DELETED = "Deleted" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + MOVING = "Moving" + MOVED = "Moved" + MOVE_FAILED = "MoveFailed" + +class ResourceSkuRestrictionsReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Gets the reason for restriction. Possible values include: 'QuotaId', + 'NotAvailableForSubscription' + """ + + QUOTA_ID = "QuotaId" + NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription" + +class ResourceSkuRestrictionsType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Gets the type of restrictions. Possible values include: 'Location', 'Zone' + """ + + LOCATION = "Location" + ZONE = "Zone" + +class ServiceRegistryProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """State of the Service Registry. + """ + + CREATING = "Creating" + UPDATING = "Updating" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + DELETING = "Deleting" + +class SkuScaleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Gets or sets the type of the scale. + """ + + NONE = "None" + MANUAL = "Manual" + AUTOMATIC = "Automatic" + +class SupportedRuntimePlatform(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The platform of this runtime version (possible values: "Java" or ".NET"). + """ + + JAVA = "Java" + _NET_CORE = ".NET Core" + +class SupportedRuntimeValue(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The raw value which could be passed to deployment CRUD operations. + """ + + JAVA8 = "Java_8" + JAVA11 = "Java_11" + JAVA17 = "Java_17" + NET_CORE31 = "NetCore_31" + +class TestKeyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the test key + """ + + PRIMARY = "Primary" + SECONDARY = "Secondary" + +class TrafficDirection(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The direction of required traffic + """ + + INBOUND = "Inbound" + OUTBOUND = "Outbound" diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_models.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_models.py new file mode 100644 index 00000000000..5c8973dc84c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_models.py @@ -0,0 +1,5704 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ActiveDeploymentCollection(msrest.serialization.Model): + """Object that includes an array of Deployment resource name and set them as active. + + :param active_deployment_names: Collection of Deployment name. + :type active_deployment_names: list[str] + """ + + _attribute_map = { + 'active_deployment_names': {'key': 'activeDeploymentNames', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ActiveDeploymentCollection, self).__init__(**kwargs) + self.active_deployment_names = kwargs.get('active_deployment_names', None) + + +class ApiPortalCustomDomainProperties(msrest.serialization.Model): + """The properties of custom domain for API portal. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + """ + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalCustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = kwargs.get('thumbprint', None) + + +class Resource(msrest.serialization.Model): + """The core properties of ARM 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.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__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.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__( + self, + **kwargs + ): + super(ProxyResource, self).__init__(**kwargs) + + +class ApiPortalCustomDomainResource(ProxyResource): + """Custom domain of the API portal. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: The properties of custom domain for API portal. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ApiPortalCustomDomainProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalCustomDomainResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ApiPortalCustomDomainResourceCollection(msrest.serialization.Model): + """Object that includes an array of API portal custom domain resources and a possible link for next set. + + :param value: Collection of API portal custom domain resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApiPortalCustomDomainResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalCustomDomainResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ApiPortalInstance(msrest.serialization.Model): + """Collection of instances belong to the API portal. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the API portal instance. + :vartype name: str + :ivar status: Status of the API portal instance. + :vartype status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalInstance, self).__init__(**kwargs) + self.name = None + self.status = None + + +class ApiPortalProperties(msrest.serialization.Model): + """API portal properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the API portal. Possible values include: "Creating", + "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalProvisioningState + :param public: Indicates whether the API portal exposes endpoint. + :type public: bool + :ivar url: URL of the API portal, exposed when 'public' is true. + :vartype url: str + :param https_only: Indicate if only https is allowed. + :type https_only: bool + :param gateway_ids: The array of resource Ids of gateway to integrate with API portal. + :type gateway_ids: list[str] + :param source_urls: Collection of OpenAPI source URL locations. + :type source_urls: list[str] + :param sso_properties: Single sign-on related configuration. + :type sso_properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SsoProperties + :ivar resource_requests: The requested resource quantity for required CPU and Memory. + :vartype resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResourceRequests + :ivar instances: Collection of instances belong to API portal. + :vartype instances: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalInstance] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'url': {'readonly': True}, + 'resource_requests': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'public': {'key': 'public', 'type': 'bool'}, + 'url': {'key': 'url', 'type': 'str'}, + 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, + 'gateway_ids': {'key': 'gatewayIds', 'type': '[str]'}, + 'source_urls': {'key': 'sourceUrls', 'type': '[str]'}, + 'sso_properties': {'key': 'ssoProperties', 'type': 'SsoProperties'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'ApiPortalResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[ApiPortalInstance]'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.public = kwargs.get('public', None) + self.url = None + self.https_only = kwargs.get('https_only', None) + self.gateway_ids = kwargs.get('gateway_ids', None) + self.source_urls = kwargs.get('source_urls', None) + self.sso_properties = kwargs.get('sso_properties', None) + self.resource_requests = None + self.instances = None + + +class ApiPortalResource(ProxyResource): + """API portal 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: API portal properties payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalProperties + :param sku: Sku of the API portal resource. + :type sku: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Sku + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ApiPortalProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.sku = kwargs.get('sku', None) + + +class ApiPortalResourceCollection(msrest.serialization.Model): + """Object that includes an array of API portal resources and a possible link for next set. + + :param value: Collection of API portal resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApiPortalResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ApiPortalResourceRequests(msrest.serialization.Model): + """Resource requests of the API portal. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: Cpu allocated to each API portal instance. + :vartype cpu: str + :ivar memory: Memory allocated to each API portal instance. + :vartype memory: str + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + + +class ApplicationInsightsAgentVersions(msrest.serialization.Model): + """Application Insights agent versions properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar java: Indicates the version of application insight java agent. + :vartype java: str + """ + + _validation = { + 'java': {'readonly': True}, + } + + _attribute_map = { + 'java': {'key': 'java', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApplicationInsightsAgentVersions, self).__init__(**kwargs) + self.java = None + + +class AppResource(ProxyResource): + """App resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the App resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResourceProperties + :param identity: The Managed Identity type of the app resource. + :type identity: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ManagedIdentityProperties + :param location: The GEO location of the application, always the same with its parent resource. + :type location: str + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'AppResourceProperties'}, + 'identity': {'key': 'identity', 'type': 'ManagedIdentityProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AppResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.identity = kwargs.get('identity', None) + self.location = kwargs.get('location', None) + + +class AppResourceCollection(msrest.serialization.Model): + """Object that includes an array of App resources and a possible link for next set. + + :param value: Collection of App resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AppResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AppResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class AppResourceProperties(msrest.serialization.Model): + """App resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param public: Indicates whether the App exposes public endpoint. + :type public: bool + :ivar url: URL of the App. + :vartype url: str + :param addon_configs: Collection of addons. + :type addon_configs: dict[str, dict[str, any]] + :ivar provisioning_state: Provisioning state of the App. Possible values include: "Succeeded", + "Failed", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResourceProvisioningState + :param fqdn: Fully qualified dns Name. + :type fqdn: str + :param https_only: Indicate if only https is allowed. + :type https_only: bool + :param temporary_disk: Temporary disk settings. + :type temporary_disk: ~azure.mgmt.appplatform.v2022_01_01_preview.models.TemporaryDisk + :param persistent_disk: Persistent disk settings. + :type persistent_disk: ~azure.mgmt.appplatform.v2022_01_01_preview.models.PersistentDisk + :param custom_persistent_disks: List of custom persistent disks. + :type custom_persistent_disks: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomPersistentDiskResource] + :param enable_end_to_end_tls: Indicate if end to end TLS is enabled. + :type enable_end_to_end_tls: bool + :param loaded_certificates: Collection of loaded certificates. + :type loaded_certificates: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.LoadedCertificate] + """ + + _validation = { + 'url': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'public': {'key': 'public', 'type': 'bool'}, + 'url': {'key': 'url', 'type': 'str'}, + 'addon_configs': {'key': 'addonConfigs', 'type': '{{object}}'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, + 'temporary_disk': {'key': 'temporaryDisk', 'type': 'TemporaryDisk'}, + 'persistent_disk': {'key': 'persistentDisk', 'type': 'PersistentDisk'}, + 'custom_persistent_disks': {'key': 'customPersistentDisks', 'type': '[CustomPersistentDiskResource]'}, + 'enable_end_to_end_tls': {'key': 'enableEndToEndTLS', 'type': 'bool'}, + 'loaded_certificates': {'key': 'loadedCertificates', 'type': '[LoadedCertificate]'}, + } + + def __init__( + self, + **kwargs + ): + super(AppResourceProperties, self).__init__(**kwargs) + self.public = kwargs.get('public', None) + self.url = None + self.addon_configs = kwargs.get('addon_configs', None) + self.provisioning_state = None + self.fqdn = kwargs.get('fqdn', None) + self.https_only = kwargs.get('https_only', False) + self.temporary_disk = kwargs.get('temporary_disk', None) + self.persistent_disk = kwargs.get('persistent_disk', None) + self.custom_persistent_disks = kwargs.get('custom_persistent_disks', None) + self.enable_end_to_end_tls = kwargs.get('enable_end_to_end_tls', False) + self.loaded_certificates = kwargs.get('loaded_certificates', None) + + +class AvailableOperations(msrest.serialization.Model): + """Available operations of the service. + + :param value: Collection of available operation details. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.OperationDetail] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationDetail]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailableOperations, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class AvailableRuntimeVersions(msrest.serialization.Model): + """AvailableRuntimeVersions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: A list of all supported runtime versions. + :vartype value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedRuntimeVersion] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SupportedRuntimeVersion]'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailableRuntimeVersions, self).__init__(**kwargs) + self.value = None + + +class CustomPersistentDiskProperties(msrest.serialization.Model): + """Custom persistent disk resource payload. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureFileVolume. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of the underlying resource to mount as a persistent + disk.Constant filled by server. + :type type: str + :param mount_path: Required. The mount path of the persistent disk. + :type mount_path: str + :param read_only: Indicates whether the persistent disk is a readOnly one. + :type read_only: bool + :param mount_options: These are the mount options for a persistent disk. + :type mount_options: list[str] + """ + + _validation = { + 'type': {'required': True}, + 'mount_path': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + 'read_only': {'key': 'readOnly', 'type': 'bool'}, + 'mount_options': {'key': 'mountOptions', 'type': '[str]'}, + } + + _subtype_map = { + 'type': {'AzureFileVolume': 'AzureFileVolume'} + } + + def __init__( + self, + **kwargs + ): + super(CustomPersistentDiskProperties, self).__init__(**kwargs) + self.type = None # type: Optional[str] + self.mount_path = kwargs['mount_path'] + self.read_only = kwargs.get('read_only', None) + self.mount_options = kwargs.get('mount_options', None) + + +class AzureFileVolume(CustomPersistentDiskProperties): + """The properties of the Azure File volume. Azure File shares are mounted as volumes. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of the underlying resource to mount as a persistent + disk.Constant filled by server. + :type type: str + :param mount_path: Required. The mount path of the persistent disk. + :type mount_path: str + :param read_only: Indicates whether the persistent disk is a readOnly one. + :type read_only: bool + :param mount_options: These are the mount options for a persistent disk. + :type mount_options: list[str] + :param share_name: Required. The share name of the Azure File share. + :type share_name: str + """ + + _validation = { + 'type': {'required': True}, + 'mount_path': {'required': True}, + 'share_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + 'read_only': {'key': 'readOnly', 'type': 'bool'}, + 'mount_options': {'key': 'mountOptions', 'type': '[str]'}, + 'share_name': {'key': 'shareName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureFileVolume, self).__init__(**kwargs) + self.type = 'AzureFileVolume' # type: str + self.share_name = kwargs['share_name'] + + +class BindingResource(ProxyResource): + """Binding resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the Binding resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BindingResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BindingResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class BindingResourceCollection(msrest.serialization.Model): + """Object that includes an array of Binding resources and a possible link for next set. + + :param value: Collection of Binding resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BindingResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BindingResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BindingResourceProperties(msrest.serialization.Model): + """Binding resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_name: The name of the bound resource. + :vartype resource_name: str + :ivar resource_type: The standard Azure resource type of the bound resource. + :vartype resource_type: str + :param resource_id: The Azure resource id of the bound resource. + :type resource_id: str + :param key: The key of the bound resource. + :type key: str + :param binding_parameters: Binding parameters of the Binding resource. + :type binding_parameters: dict[str, any] + :ivar generated_properties: The generated Spring Boot property file for this binding. The + secret will be deducted. + :vartype generated_properties: str + :ivar created_at: Creation time of the Binding resource. + :vartype created_at: str + :ivar updated_at: Update time of the Binding resource. + :vartype updated_at: str + """ + + _validation = { + 'resource_name': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'generated_properties': {'readonly': True}, + 'created_at': {'readonly': True}, + 'updated_at': {'readonly': True}, + } + + _attribute_map = { + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'str'}, + 'binding_parameters': {'key': 'bindingParameters', 'type': '{object}'}, + 'generated_properties': {'key': 'generatedProperties', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'str'}, + 'updated_at': {'key': 'updatedAt', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BindingResourceProperties, self).__init__(**kwargs) + self.resource_name = None + self.resource_type = None + self.resource_id = kwargs.get('resource_id', None) + self.key = kwargs.get('key', None) + self.binding_parameters = kwargs.get('binding_parameters', None) + self.generated_properties = None + self.created_at = None + self.updated_at = None + + +class Build(ProxyResource): + """Build resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the build resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(Build, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class BuildCollection(msrest.serialization.Model): + """Object that includes an array of Build resources and a possible link for next set. + + :param value: Collection of Build resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.Build] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Build]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BuilderProperties(msrest.serialization.Model): + """KPack Builder properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: Builder provision status. Possible values include: "Creating", + "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderProvisioningState + :param stack: Builder cluster stack property. + :type stack: ~azure.mgmt.appplatform.v2022_01_01_preview.models.StackProperties + :param buildpack_groups: Builder buildpack groups. + :type buildpack_groups: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpacksGroupProperties] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'stack': {'key': 'stack', 'type': 'StackProperties'}, + 'buildpack_groups': {'key': 'buildpackGroups', 'type': '[BuildpacksGroupProperties]'}, + } + + def __init__( + self, + **kwargs + ): + super(BuilderProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.stack = kwargs.get('stack', None) + self.buildpack_groups = kwargs.get('buildpack_groups', None) + + +class BuilderResource(ProxyResource): + """KPack Builder 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Property of the Builder resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuilderProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BuilderResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class BuilderResourceCollection(msrest.serialization.Model): + """Object that includes an array of Builder resources and a possible link for next set. + + :param value: Collection of Builder resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuilderResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuilderResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BuildpackBindingLaunchProperties(msrest.serialization.Model): + """Buildpack Binding Launch Properties. + + :param properties: Non-sensitive properties for launchProperties. + :type properties: dict[str, str] + :param secrets: Sensitive properties for launchProperties. + :type secrets: dict[str, str] + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': '{str}'}, + 'secrets': {'key': 'secrets', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildpackBindingLaunchProperties, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.secrets = kwargs.get('secrets', None) + + +class BuildpackBindingProperties(msrest.serialization.Model): + """Properties of a buildpack binding. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param binding_type: Buildpack Binding Type. Possible values include: "ApplicationInsights", + "ApacheSkyWalking", "AppDynamics", "Dynatrace", "NewRelic", "ElasticAPM". + :type binding_type: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingType + :ivar provisioning_state: State of the Buildpack Binding. Possible values include: "Creating", + "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingProvisioningState + :param launch_properties: The object describes the buildpack binding launch properties. + :type launch_properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingLaunchProperties + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'binding_type': {'key': 'bindingType', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'launch_properties': {'key': 'launchProperties', 'type': 'BuildpackBindingLaunchProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildpackBindingProperties, self).__init__(**kwargs) + self.binding_type = kwargs.get('binding_type', None) + self.provisioning_state = None + self.launch_properties = kwargs.get('launch_properties', None) + + +class BuildpackBindingResource(ProxyResource): + """Buildpack Binding Resource object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of a buildpack binding. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildpackBindingProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildpackBindingResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class BuildpackBindingResourceCollection(msrest.serialization.Model): + """Object that includes an array of BuildpackBinding resources and a possible link for next set. + + :param value: Collection of BuildpackBinding resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuildpackBindingResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildpackBindingResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BuildpackProperties(msrest.serialization.Model): + """Buildpack properties payload. + + :param id: Id of the buildpack. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildpackProperties, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class BuildpacksGroupProperties(msrest.serialization.Model): + """Buildpack group properties of the Builder. + + :param name: Buildpack group name. + :type name: str + :param buildpacks: Buildpacks in the buildpack group. + :type buildpacks: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackProperties] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'buildpacks': {'key': 'buildpacks', 'type': '[BuildpackProperties]'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildpacksGroupProperties, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.buildpacks = kwargs.get('buildpacks', None) + + +class BuildProperties(msrest.serialization.Model): + """Build resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param relative_path: The relative path of source code. + :type relative_path: str + :param builder: The resource id of builder to build the source code. + :type builder: str + :param agent_pool: The resource id of agent pool. + :type agent_pool: str + :ivar provisioning_state: Provisioning state of the KPack build result. Possible values + include: "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildProvisioningState + :param env: The environment variables for this build. + :type env: dict[str, str] + :ivar triggered_build_result: The build result triggered by this build. + :vartype triggered_build_result: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.TriggeredBuildResult + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'triggered_build_result': {'readonly': True}, + } + + _attribute_map = { + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'builder': {'key': 'builder', 'type': 'str'}, + 'agent_pool': {'key': 'agentPool', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'env': {'key': 'env', 'type': '{str}'}, + 'triggered_build_result': {'key': 'triggeredBuildResult', 'type': 'TriggeredBuildResult'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildProperties, self).__init__(**kwargs) + self.relative_path = kwargs.get('relative_path', None) + self.builder = kwargs.get('builder', None) + self.agent_pool = kwargs.get('agent_pool', None) + self.provisioning_state = None + self.env = kwargs.get('env', None) + self.triggered_build_result = None + + +class BuildResult(ProxyResource): + """Build result resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the build result resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResultProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildResultProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildResult, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class BuildResultCollection(msrest.serialization.Model): + """Object that includes an array of Build result resources and a possible link for next set. + + :param value: Collection of Build result resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResult] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuildResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildResultCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BuildResultLog(msrest.serialization.Model): + """Build result log resource properties payload. + + :param blob_url: The public download URL of this build result log. + :type blob_url: str + """ + + _attribute_map = { + 'blob_url': {'key': 'blobUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildResultLog, self).__init__(**kwargs) + self.blob_url = kwargs.get('blob_url', None) + + +class BuildResultProperties(msrest.serialization.Model): + """Build result resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: The name of this build result. + :type name: str + :ivar provisioning_state: Provisioning state of the KPack build result. Possible values + include: "Queuing", "Building", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResultProvisioningState + :param build_pod_name: The build pod name which can be used to get the build log streaming. + :type build_pod_name: str + :ivar build_stages: All of the build stage (init-container and container) resources in build + pod. + :vartype build_stages: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildStageProperties] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'build_stages': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'build_pod_name': {'key': 'buildPodName', 'type': 'str'}, + 'build_stages': {'key': 'buildStages', 'type': '[BuildStageProperties]'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildResultProperties, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.provisioning_state = None + self.build_pod_name = kwargs.get('build_pod_name', None) + self.build_stages = None + + +class UserSourceInfo(msrest.serialization.Model): + """Source information for a deployment. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: BuildResultUserSourceInfo, CustomContainerUserSourceInfo, UploadedUserSourceInfo. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'BuildResult': 'BuildResultUserSourceInfo', 'Container': 'CustomContainerUserSourceInfo', 'UploadedUserSourceInfo': 'UploadedUserSourceInfo'} + } + + def __init__( + self, + **kwargs + ): + super(UserSourceInfo, self).__init__(**kwargs) + self.type = None # type: Optional[str] + self.version = kwargs.get('version', None) + + +class BuildResultUserSourceInfo(UserSourceInfo): + """Reference to a build result. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param build_result_id: Resource id of an existing succeeded build result under the same Spring + instance. + :type build_result_id: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'build_result_id': {'key': 'buildResultId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildResultUserSourceInfo, self).__init__(**kwargs) + self.type = 'BuildResult' # type: str + self.build_result_id = kwargs.get('build_result_id', None) + + +class BuildService(ProxyResource): + """Build service resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the build resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildServiceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildService, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class BuildServiceAgentPoolProperties(msrest.serialization.Model): + """Build service agent pool properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: Provisioning state of the build service agent pool. + :vartype provisioning_state: str + :param pool_size: build service agent pool size properties. + :type pool_size: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolSizeProperties + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'pool_size': {'key': 'poolSize', 'type': 'BuildServiceAgentPoolSizeProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildServiceAgentPoolProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.pool_size = kwargs.get('pool_size', None) + + +class BuildServiceAgentPoolResource(ProxyResource): + """The build service agent pool 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: build service agent pool properties. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildServiceAgentPoolProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildServiceAgentPoolResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class BuildServiceAgentPoolResourceCollection(msrest.serialization.Model): + """Object that includes an array of build service agent pool resources and a possible link for next set. + + :param value: Collection of build service agent pool resource. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuildServiceAgentPoolResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildServiceAgentPoolResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BuildServiceAgentPoolSizeProperties(msrest.serialization.Model): + """Build service agent pool size properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: The name of build service agent pool size. + :type name: str + :ivar cpu: The cpu property of build service agent pool size. + :vartype cpu: str + :ivar memory: The memory property of build service agent pool size. + :vartype memory: str + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildServiceAgentPoolSizeProperties, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.cpu = None + self.memory = None + + +class BuildServiceCollection(msrest.serialization.Model): + """Object that includes an array of Build service resources and a possible link for next set. + + :param value: Collection of Build service resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildService] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuildService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildServiceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class BuildServiceProperties(msrest.serialization.Model): + """Build service resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param k_pack_version: The installed KPack version in this build service. + :type k_pack_version: str + :ivar provisioning_state: Provisioning state of the KPack build result. Possible values + include: "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceProvisioningState + :param resource_requests: The runtime resource configuration of this build service. + :type resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServicePropertiesResourceRequests + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'k_pack_version': {'key': 'kPackVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'BuildServicePropertiesResourceRequests'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildServiceProperties, self).__init__(**kwargs) + self.k_pack_version = kwargs.get('k_pack_version', None) + self.provisioning_state = None + self.resource_requests = kwargs.get('resource_requests', None) + + +class BuildServicePropertiesResourceRequests(msrest.serialization.Model): + """The runtime resource configuration of this build service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: vCPU allocated to the entire build service node pool. + :vartype cpu: str + :ivar memory: Memory allocated to the entire build service node pool. + :vartype memory: str + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildServicePropertiesResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + + +class BuildStageProperties(msrest.serialization.Model): + """The build stage (init-container and container) resources in build pod. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of this build stage resource. + :vartype name: str + :ivar status: The provisioning state of this build stage resource. Possible values include: + "NotStarted", "Running", "Succeeded", "Failed". + :vartype status: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.KPackBuildStageProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildStageProperties, self).__init__(**kwargs) + self.name = None + self.status = None + + +class CertificateProperties(msrest.serialization.Model): + """Certificate resource payload. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ContentCertificateProperties, KeyVaultCertificateProperties. + + 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 type: Required. The type of the certificate source.Constant filled by server. + :type type: str + :ivar thumbprint: The thumbprint of certificate. + :vartype thumbprint: str + :ivar issuer: The issuer of certificate. + :vartype issuer: str + :ivar issued_date: The issue date of certificate. + :vartype issued_date: str + :ivar expiration_date: The expiration date of certificate. + :vartype expiration_date: str + :ivar activate_date: The activate date of certificate. + :vartype activate_date: str + :ivar subject_name: The subject name of certificate. + :vartype subject_name: str + :ivar dns_names: The domain list of certificate. + :vartype dns_names: list[str] + """ + + _validation = { + 'type': {'required': True}, + 'thumbprint': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issued_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'activate_date': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'dns_names': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issued_date': {'key': 'issuedDate', 'type': 'str'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'str'}, + 'activate_date': {'key': 'activateDate', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'dns_names': {'key': 'dnsNames', 'type': '[str]'}, + } + + _subtype_map = { + 'type': {'ContentCertificate': 'ContentCertificateProperties', 'KeyVaultCertificate': 'KeyVaultCertificateProperties'} + } + + def __init__( + self, + **kwargs + ): + super(CertificateProperties, self).__init__(**kwargs) + self.type = None # type: Optional[str] + self.thumbprint = None + self.issuer = None + self.issued_date = None + self.expiration_date = None + self.activate_date = None + self.subject_name = None + self.dns_names = None + + +class CertificateResource(ProxyResource): + """Certificate resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the certificate resource payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'CertificateProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(CertificateResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class CertificateResourceCollection(msrest.serialization.Model): + """Collection compose of certificate resources list and a possible link for next page. + + :param value: The certificate resources list. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResource] + :param next_link: The link to next page of certificate list. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[CertificateResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CertificateResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class CloudErrorBody(msrest.serialization.Model): + """An error response from the 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.appplatform.v2022_01_01_preview.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 ClusterResourceProperties(msrest.serialization.Model): + """Service properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: Provisioning state of the Service. Possible values include: + "Creating", "Updating", "Deleting", "Deleted", "Succeeded", "Failed", "Moving", "Moved", + "MoveFailed". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ProvisioningState + :param network_profile: Network profile of the Service. + :type network_profile: ~azure.mgmt.appplatform.v2022_01_01_preview.models.NetworkProfile + :ivar version: Version of the Service. + :vartype version: int + :ivar service_id: ServiceInstanceEntity GUID which uniquely identifies a created resource. + :vartype service_id: str + :ivar power_state: Power state of the Service. Possible values include: "Running", "Stopped". + :vartype power_state: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.PowerState + :param zone_redundant: + :type zone_redundant: bool + :ivar fqdn: Fully qualified dns name of the service instance. + :vartype fqdn: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'version': {'readonly': True}, + 'service_id': {'readonly': True}, + 'power_state': {'readonly': True}, + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'network_profile': {'key': 'networkProfile', 'type': 'NetworkProfile'}, + 'version': {'key': 'version', 'type': 'int'}, + 'service_id': {'key': 'serviceId', 'type': 'str'}, + 'power_state': {'key': 'powerState', 'type': 'str'}, + 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterResourceProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.network_profile = kwargs.get('network_profile', None) + self.version = None + self.service_id = None + self.power_state = None + self.zone_redundant = kwargs.get('zone_redundant', False) + self.fqdn = None + + +class ConfigServerGitProperty(msrest.serialization.Model): + """Property of git. + + All required parameters must be populated in order to send to Azure. + + :param repositories: Repositories of git. + :type repositories: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GitPatternRepository] + :param uri: Required. URI of the repository. + :type uri: str + :param label: Label of the repository. + :type label: str + :param search_paths: Searching path of the repository. + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'repositories': {'key': 'repositories', 'type': '[GitPatternRepository]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigServerGitProperty, self).__init__(**kwargs) + self.repositories = kwargs.get('repositories', None) + self.uri = kwargs['uri'] + self.label = kwargs.get('label', None) + self.search_paths = kwargs.get('search_paths', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.host_key = kwargs.get('host_key', None) + self.host_key_algorithm = kwargs.get('host_key_algorithm', None) + self.private_key = kwargs.get('private_key', None) + self.strict_host_key_checking = kwargs.get('strict_host_key_checking', None) + + +class ConfigServerProperties(msrest.serialization.Model): + """Config server git properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the config server. Possible values include: "NotAvailable", + "Deleted", "Failed", "Succeeded", "Updating". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerState + :param error: Error when apply config server settings. + :type error: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Error + :param config_server: Settings of config server. + :type config_server: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerSettings + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'config_server': {'key': 'configServer', 'type': 'ConfigServerSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigServerProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.error = kwargs.get('error', None) + self.config_server = kwargs.get('config_server', None) + + +class ConfigServerResource(ProxyResource): + """Config Server 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the Config Server resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ConfigServerProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigServerResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ConfigServerSettings(msrest.serialization.Model): + """The settings of config server. + + :param git_property: Property of git environment. + :type git_property: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerGitProperty + """ + + _attribute_map = { + 'git_property': {'key': 'gitProperty', 'type': 'ConfigServerGitProperty'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigServerSettings, self).__init__(**kwargs) + self.git_property = kwargs.get('git_property', None) + + +class ConfigServerSettingsErrorRecord(msrest.serialization.Model): + """Error record of the config server settings. + + :param name: The name of the config server settings error record. + :type name: str + :param uri: The uri of the config server settings error record. + :type uri: str + :param messages: The detail error messages of the record. + :type messages: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'messages': {'key': 'messages', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigServerSettingsErrorRecord, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.uri = kwargs.get('uri', None) + self.messages = kwargs.get('messages', None) + + +class ConfigServerSettingsValidateResult(msrest.serialization.Model): + """Validation result for config server settings. + + :param is_valid: Indicate if the config server settings are valid. + :type is_valid: bool + :param details: The detail validation results. + :type details: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerSettingsErrorRecord] + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'details': {'key': 'details', 'type': '[ConfigServerSettingsErrorRecord]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigServerSettingsValidateResult, self).__init__(**kwargs) + self.is_valid = kwargs.get('is_valid', None) + self.details = kwargs.get('details', None) + + +class ConfigurationServiceGitProperty(msrest.serialization.Model): + """Property of git environment. + + :param repositories: Repositories of Application Configuration Service git property. + :type repositories: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceGitRepository] + """ + + _attribute_map = { + 'repositories': {'key': 'repositories', 'type': '[ConfigurationServiceGitRepository]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceGitProperty, self).__init__(**kwargs) + self.repositories = kwargs.get('repositories', None) + + +class ConfigurationServiceGitPropertyValidateResult(msrest.serialization.Model): + """Validation result for configuration service settings. + + :param is_valid: Indicate if the configuration service settings are valid. + :type is_valid: bool + :param git_repos_validation_result: The detail validation results. + :type git_repos_validation_result: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ValidationMessages] + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'git_repos_validation_result': {'key': 'gitReposValidationResult', 'type': '[ValidationMessages]'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceGitPropertyValidateResult, self).__init__(**kwargs) + self.is_valid = kwargs.get('is_valid', None) + self.git_repos_validation_result = kwargs.get('git_repos_validation_result', None) + + +class ConfigurationServiceGitRepository(msrest.serialization.Model): + """Git repository property payload for Application Configuration Service. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the repository. + :type name: str + :param patterns: Required. Collection of patterns of the repository. + :type patterns: list[str] + :param uri: Required. URI of the repository. + :type uri: str + :param label: Required. Label of the repository. + :type label: str + :param search_paths: Searching path of the repository. + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'name': {'required': True}, + 'patterns': {'required': True}, + 'uri': {'required': True}, + 'label': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'patterns': {'key': 'patterns', 'type': '[str]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceGitRepository, self).__init__(**kwargs) + self.name = kwargs['name'] + self.patterns = kwargs['patterns'] + self.uri = kwargs['uri'] + self.label = kwargs['label'] + self.search_paths = kwargs.get('search_paths', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.host_key = kwargs.get('host_key', None) + self.host_key_algorithm = kwargs.get('host_key_algorithm', None) + self.private_key = kwargs.get('private_key', None) + self.strict_host_key_checking = kwargs.get('strict_host_key_checking', None) + + +class ConfigurationServiceInstance(msrest.serialization.Model): + """Collection of instances belong to the Application Configuration Service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Application Configuration Service instance. + :vartype name: str + :ivar status: Status of the Application Configuration Service instance. + :vartype status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceInstance, self).__init__(**kwargs) + self.name = None + self.status = None + + +class ConfigurationServiceProperties(msrest.serialization.Model): + """Application Configuration Service properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Application Configuration Service. Possible values + include: "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceProvisioningState + :ivar resource_requests: The requested resource quantity for required CPU and Memory. + :vartype resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResourceRequests + :ivar instances: Collection of instances belong to Application Configuration Service. + :vartype instances: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceInstance] + :param settings: The settings of Application Configuration Service. + :type settings: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceSettings + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'resource_requests': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'ConfigurationServiceResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[ConfigurationServiceInstance]'}, + 'settings': {'key': 'settings', 'type': 'ConfigurationServiceSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.resource_requests = None + self.instances = None + self.settings = kwargs.get('settings', None) + + +class ConfigurationServiceResource(ProxyResource): + """Application Configuration Service 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Application Configuration Service properties payload. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ConfigurationServiceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ConfigurationServiceResourceCollection(msrest.serialization.Model): + """Object that includes an array of configuration service resources and a possible link for next set. + + :param value: Collection of configuration service resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ConfigurationServiceResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ConfigurationServiceResourceRequests(msrest.serialization.Model): + """Resource request payload of Application Configuration Service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: Cpu allocated to each Application Configuration Service instance. + :vartype cpu: str + :ivar memory: Memory allocated to each Application Configuration Service instance. + :vartype memory: str + :ivar instance_count: Instance count of the Application Configuration Service. + :vartype instance_count: int + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + 'instance_count': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + self.instance_count = None + + +class ConfigurationServiceSettings(msrest.serialization.Model): + """The settings of Application Configuration Service. + + :param git_property: Property of git environment. + :type git_property: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceGitProperty + """ + + _attribute_map = { + 'git_property': {'key': 'gitProperty', 'type': 'ConfigurationServiceGitProperty'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceSettings, self).__init__(**kwargs) + self.git_property = kwargs.get('git_property', None) + + +class ConfigurationServiceSettingsValidateResult(msrest.serialization.Model): + """Validation result for configuration service settings. + + :param git_property_validation_result: Validation result for configuration service settings. + :type git_property_validation_result: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceGitPropertyValidateResult + """ + + _attribute_map = { + 'git_property_validation_result': {'key': 'gitPropertyValidationResult', 'type': 'ConfigurationServiceGitPropertyValidateResult'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceSettingsValidateResult, self).__init__(**kwargs) + self.git_property_validation_result = kwargs.get('git_property_validation_result', None) + + +class ContainerProbeSettings(msrest.serialization.Model): + """Container liveness and readiness probe settings. + + :param disable_probe: Indicates whether disable the liveness and readiness probe. + :type disable_probe: bool + """ + + _attribute_map = { + 'disable_probe': {'key': 'disableProbe', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ContainerProbeSettings, self).__init__(**kwargs) + self.disable_probe = kwargs.get('disable_probe', None) + + +class ContentCertificateProperties(CertificateProperties): + """Properties of certificate imported from key vault. + + 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 type: Required. The type of the certificate source.Constant filled by server. + :type type: str + :ivar thumbprint: The thumbprint of certificate. + :vartype thumbprint: str + :ivar issuer: The issuer of certificate. + :vartype issuer: str + :ivar issued_date: The issue date of certificate. + :vartype issued_date: str + :ivar expiration_date: The expiration date of certificate. + :vartype expiration_date: str + :ivar activate_date: The activate date of certificate. + :vartype activate_date: str + :ivar subject_name: The subject name of certificate. + :vartype subject_name: str + :ivar dns_names: The domain list of certificate. + :vartype dns_names: list[str] + :param content: Required. The content of uploaded certificate. + :type content: str + """ + + _validation = { + 'type': {'required': True}, + 'thumbprint': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issued_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'activate_date': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'dns_names': {'readonly': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issued_date': {'key': 'issuedDate', 'type': 'str'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'str'}, + 'activate_date': {'key': 'activateDate', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'dns_names': {'key': 'dnsNames', 'type': '[str]'}, + 'content': {'key': 'content', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ContentCertificateProperties, self).__init__(**kwargs) + self.type = 'ContentCertificate' # type: str + self.content = kwargs['content'] + + +class CustomContainer(msrest.serialization.Model): + """Custom container payload. + + :param server: The name of the registry that contains the container image. + :type server: str + :param container_image: Container image of the custom container. This should be in the form of + :code:``::code:`` without the server name of the registry. + :type container_image: str + :param command: Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is + used if this is not provided. + :type command: list[str] + :param args: Arguments to the entrypoint. The docker image's CMD is used if this is not + provided. + :type args: list[str] + :param image_registry_credential: Credential of the image registry. + :type image_registry_credential: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ImageRegistryCredential + """ + + _attribute_map = { + 'server': {'key': 'server', 'type': 'str'}, + 'container_image': {'key': 'containerImage', 'type': 'str'}, + 'command': {'key': 'command', 'type': '[str]'}, + 'args': {'key': 'args', 'type': '[str]'}, + 'image_registry_credential': {'key': 'imageRegistryCredential', 'type': 'ImageRegistryCredential'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomContainer, self).__init__(**kwargs) + self.server = kwargs.get('server', None) + self.container_image = kwargs.get('container_image', None) + self.command = kwargs.get('command', None) + self.args = kwargs.get('args', None) + self.image_registry_credential = kwargs.get('image_registry_credential', None) + + +class CustomContainerUserSourceInfo(UserSourceInfo): + """Custom container user source info. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param custom_container: Custom container payload. + :type custom_container: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomContainer + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'custom_container': {'key': 'customContainer', 'type': 'CustomContainer'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomContainerUserSourceInfo, self).__init__(**kwargs) + self.type = 'Container' # type: str + self.custom_container = kwargs.get('custom_container', None) + + +class CustomDomainProperties(msrest.serialization.Model): + """Custom domain of app resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + :ivar app_name: The app name of domain. + :vartype app_name: str + :param cert_name: The bound certificate name of domain. + :type cert_name: str + """ + + _validation = { + 'app_name': {'readonly': True}, + } + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'app_name': {'key': 'appName', 'type': 'str'}, + 'cert_name': {'key': 'certName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = kwargs.get('thumbprint', None) + self.app_name = None + self.cert_name = kwargs.get('cert_name', None) + + +class CustomDomainResource(ProxyResource): + """Custom domain resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the custom domain resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'CustomDomainProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomDomainResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class CustomDomainResourceCollection(msrest.serialization.Model): + """Collection compose of a custom domain resources list and a possible link for next page. + + :param value: The custom domain resources list. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource] + :param next_link: The link to next page of custom domain list. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[CustomDomainResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomDomainResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class CustomDomainValidatePayload(msrest.serialization.Model): + """Custom domain validate payload. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name to be validated. + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomDomainValidatePayload, self).__init__(**kwargs) + self.name = kwargs['name'] + + +class CustomDomainValidateResult(msrest.serialization.Model): + """Validation result for custom domain. + + :param is_valid: Indicates if domain name is valid. + :type is_valid: bool + :param message: Message of why domain name is invalid. + :type message: str + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomDomainValidateResult, self).__init__(**kwargs) + self.is_valid = kwargs.get('is_valid', None) + self.message = kwargs.get('message', None) + + +class CustomPersistentDiskResource(msrest.serialization.Model): + """Custom persistent disk resource payload. + + All required parameters must be populated in order to send to Azure. + + :param custom_persistent_disk_properties: Properties of the custom persistent disk resource + payload. + :type custom_persistent_disk_properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomPersistentDiskProperties + :param storage_id: Required. The resource id of Azure Spring Cloud Storage resource. + :type storage_id: str + """ + + _validation = { + 'storage_id': {'required': True}, + } + + _attribute_map = { + 'custom_persistent_disk_properties': {'key': 'customPersistentDiskProperties', 'type': 'CustomPersistentDiskProperties'}, + 'storage_id': {'key': 'storageId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomPersistentDiskResource, self).__init__(**kwargs) + self.custom_persistent_disk_properties = kwargs.get('custom_persistent_disk_properties', None) + self.storage_id = kwargs['storage_id'] + + +class DeploymentInstance(msrest.serialization.Model): + """Deployment instance payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the deployment instance. + :vartype name: str + :ivar status: Status of the deployment instance. + :vartype status: str + :ivar reason: Failed reason of the deployment instance. + :vartype reason: str + :ivar discovery_status: Discovery status of the deployment instance. + :vartype discovery_status: str + :ivar start_time: Start time of the deployment instance. + :vartype start_time: str + :ivar zone: Availability zone information of the deployment instance. + :vartype zone: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + 'reason': {'readonly': True}, + 'discovery_status': {'readonly': True}, + 'start_time': {'readonly': True}, + 'zone': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'discovery_status': {'key': 'discoveryStatus', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'zone': {'key': 'zone', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeploymentInstance, self).__init__(**kwargs) + self.name = None + self.status = None + self.reason = None + self.discovery_status = None + self.start_time = None + self.zone = None + + +class DeploymentResource(ProxyResource): + """Deployment resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the Deployment resource. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceProperties + :param sku: Sku of the Deployment resource. + :type sku: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Sku + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DeploymentResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + **kwargs + ): + super(DeploymentResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.sku = kwargs.get('sku', None) + + +class DeploymentResourceCollection(msrest.serialization.Model): + """Object that includes an array of App resources and a possible link for next set. + + :param value: Collection of Deployment resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DeploymentResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeploymentResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class DeploymentResourceProperties(msrest.serialization.Model): + """Deployment resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param source: Uploaded source information of the deployment. + :type source: ~azure.mgmt.appplatform.v2022_01_01_preview.models.UserSourceInfo + :param deployment_settings: Deployment settings of the Deployment. + :type deployment_settings: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentSettings + :ivar provisioning_state: Provisioning state of the Deployment. Possible values include: + "Creating", "Updating", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceProvisioningState + :ivar status: Status of the Deployment. Possible values include: "Stopped", "Running". + :vartype status: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceStatus + :param active: Indicates whether the Deployment is active. + :type active: bool + :ivar instances: Collection of instances belong to the Deployment. + :vartype instances: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentInstance] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'UserSourceInfo'}, + 'deployment_settings': {'key': 'deploymentSettings', 'type': 'DeploymentSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'active': {'key': 'active', 'type': 'bool'}, + 'instances': {'key': 'instances', 'type': '[DeploymentInstance]'}, + } + + def __init__( + self, + **kwargs + ): + super(DeploymentResourceProperties, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.deployment_settings = kwargs.get('deployment_settings', None) + self.provisioning_state = None + self.status = None + self.active = kwargs.get('active', None) + self.instances = None + + +class DeploymentSettings(msrest.serialization.Model): + """Deployment settings payload. + + :param resource_requests: The requested resource quantity for required CPU and Memory. It is + recommended that using this field to represent the required CPU and Memory, the old field cpu + and memoryInGB will be deprecated later. + :type resource_requests: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceRequests + :param environment_variables: Collection of environment variables. + :type environment_variables: dict[str, str] + :param addon_configs: Collection of addons. + :type addon_configs: dict[str, dict[str, any]] + :param container_probe_settings: Container liveness and readiness probe settings. + :type container_probe_settings: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ContainerProbeSettings + """ + + _attribute_map = { + 'resource_requests': {'key': 'resourceRequests', 'type': 'ResourceRequests'}, + 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'}, + 'addon_configs': {'key': 'addonConfigs', 'type': '{{object}}'}, + 'container_probe_settings': {'key': 'containerProbeSettings', 'type': 'ContainerProbeSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(DeploymentSettings, self).__init__(**kwargs) + self.resource_requests = kwargs.get('resource_requests', None) + self.environment_variables = kwargs.get('environment_variables', None) + self.addon_configs = kwargs.get('addon_configs', None) + self.container_probe_settings = kwargs.get('container_probe_settings', None) + + +class DiagnosticParameters(msrest.serialization.Model): + """Diagnostic parameters of diagnostic operations. + + :param app_instance: App instance name. + :type app_instance: str + :param file_path: Your target file path in your own BYOS. + :type file_path: str + :param duration: Duration of your JFR. 1 min can be represented by 1m or 60s. + :type duration: str + """ + + _attribute_map = { + 'app_instance': {'key': 'appInstance', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + 'duration': {'key': 'duration', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DiagnosticParameters, self).__init__(**kwargs) + self.app_instance = kwargs.get('app_instance', None) + self.file_path = kwargs.get('file_path', None) + self.duration = kwargs.get('duration', None) + + +class Error(msrest.serialization.Model): + """The error code compose of code and message. + + :param code: The code of error. + :type code: str + :param message: The message of error. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Error, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class GatewayApiMetadataProperties(msrest.serialization.Model): + """API metadata property for Spring Cloud Gateway. + + :param title: Title describing the context of the APIs available on the Gateway instance + (default: ``Spring Cloud Gateway for K8S``\ ). + :type title: str + :param description: Detailed description of the APIs available on the Gateway instance + (default: ``Generated OpenAPI 3 document that describes the API routes configured.``\ ). + :type description: str + :param documentation: Location of additional documentation for the APIs available on the + Gateway instance. + :type documentation: str + :param version: Version of APIs available on this Gateway instance (default: ``unspecified``\ + ). + :type version: str + :param server_url: Base URL that API consumers will use to access APIs on the Gateway instance. + :type server_url: str + """ + + _attribute_map = { + 'title': {'key': 'title', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'documentation': {'key': 'documentation', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'server_url': {'key': 'serverUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayApiMetadataProperties, self).__init__(**kwargs) + self.title = kwargs.get('title', None) + self.description = kwargs.get('description', None) + self.documentation = kwargs.get('documentation', None) + self.version = kwargs.get('version', None) + self.server_url = kwargs.get('server_url', None) + + +class GatewayApiRoute(msrest.serialization.Model): + """API route config of the Spring Cloud Gateway. + + :param title: A title, will be applied to methods in the generated OpenAPI documentation. + :type title: str + :param description: A description, will be applied to methods in the generated OpenAPI + documentation. + :type description: str + :param uri: Full uri, will override ``appName``. + :type uri: str + :param sso_enabled: Enable sso validation. + :type sso_enabled: bool + :param token_relay: Pass currently-authenticated user's identity token to application service, + default is 'false'. + :type token_relay: bool + :param predicates: A number of conditions to evaluate a route for each request. Each predicate + may be evaluated against request headers and parameter values. All of the predicates associated + with a route must evaluate to true for the route to be matched to the request. + :type predicates: list[str] + :param filters: To modify the request before sending it to the target endpoint, or the received + response. + :type filters: list[str] + :param order: Route processing order. + :type order: int + :param tags: A set of tags. Classification tags, will be applied to methods in the generated + OpenAPI documentation. + :type tags: list[str] + """ + + _attribute_map = { + 'title': {'key': 'title', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'sso_enabled': {'key': 'ssoEnabled', 'type': 'bool'}, + 'token_relay': {'key': 'tokenRelay', 'type': 'bool'}, + 'predicates': {'key': 'predicates', 'type': '[str]'}, + 'filters': {'key': 'filters', 'type': '[str]'}, + 'order': {'key': 'order', 'type': 'int'}, + 'tags': {'key': 'tags', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayApiRoute, self).__init__(**kwargs) + self.title = kwargs.get('title', None) + self.description = kwargs.get('description', None) + self.uri = kwargs.get('uri', None) + self.sso_enabled = kwargs.get('sso_enabled', None) + self.token_relay = kwargs.get('token_relay', None) + self.predicates = kwargs.get('predicates', None) + self.filters = kwargs.get('filters', None) + self.order = kwargs.get('order', None) + self.tags = kwargs.get('tags', None) + + +class GatewayCorsProperties(msrest.serialization.Model): + """Cross-Origin Resource Sharing property. + + :param allowed_origins: Allowed origins to make cross-site requests. The special value ``*`` + allows all domains. + :type allowed_origins: list[str] + :param allowed_methods: Allowed HTTP methods on cross-site requests. The special value ``*`` + allows all methods. If not set, ``GET`` and ``HEAD`` are allowed by default. + :type allowed_methods: list[str] + :param allowed_headers: Allowed headers in cross-site requests. The special value ``*`` allows + actual requests to send any header. + :type allowed_headers: list[str] + :param max_age: How long, in seconds, the response from a pre-flight request can be cached by + clients. + :type max_age: int + :param allow_credentials: Whether user credentials are supported on cross-site requests. Valid + values: ``true``\ , ``false``. + :type allow_credentials: bool + :param exposed_headers: HTTP response headers to expose for cross-site requests. + :type exposed_headers: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'allowed_methods': {'key': 'allowedMethods', 'type': '[str]'}, + 'allowed_headers': {'key': 'allowedHeaders', 'type': '[str]'}, + 'max_age': {'key': 'maxAge', 'type': 'int'}, + 'allow_credentials': {'key': 'allowCredentials', 'type': 'bool'}, + 'exposed_headers': {'key': 'exposedHeaders', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayCorsProperties, 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.max_age = kwargs.get('max_age', None) + self.allow_credentials = kwargs.get('allow_credentials', None) + self.exposed_headers = kwargs.get('exposed_headers', None) + + +class GatewayCustomDomainProperties(msrest.serialization.Model): + """The properties of custom domain for Spring Cloud Gateway. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + """ + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayCustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = kwargs.get('thumbprint', None) + + +class GatewayCustomDomainResource(ProxyResource): + """Custom domain of the Spring Cloud Gateway. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: The properties of custom domain for Spring Cloud Gateway. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'GatewayCustomDomainProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayCustomDomainResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class GatewayCustomDomainResourceCollection(msrest.serialization.Model): + """Object that includes an array of Spring Cloud Gateway custom domain resources and a possible link for next set. + + :param value: Collection of Spring Cloud Gateway custom domain resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayCustomDomainResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayCustomDomainResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class GatewayInstance(msrest.serialization.Model): + """Collection of instances belong to the Spring Cloud Gateway. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Spring Cloud Gateway instance. + :vartype name: str + :ivar status: Status of the Spring Cloud Gateway instance. + :vartype status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayInstance, self).__init__(**kwargs) + self.name = None + self.status = None + + +class GatewayOperatorProperties(msrest.serialization.Model): + """Properties of the Spring Cloud Gateway Operator. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_requests: The requested resource quantity for required CPU and Memory. + :vartype resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayOperatorResourceRequests + :ivar instances: Collection of instances belong to Spring Cloud Gateway operator. + :vartype instances: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayInstance] + """ + + _validation = { + 'resource_requests': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'resource_requests': {'key': 'resourceRequests', 'type': 'GatewayOperatorResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[GatewayInstance]'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayOperatorProperties, self).__init__(**kwargs) + self.resource_requests = None + self.instances = None + + +class GatewayOperatorResourceRequests(msrest.serialization.Model): + """Properties of the Spring Cloud Gateway Operator. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: Cpu allocated to each Spring Cloud Gateway Operator instance. + :vartype cpu: str + :ivar memory: Memory allocated to each Spring Cloud Gateway Operator instance. + :vartype memory: str + :ivar instance_count: Instance count of the Spring Cloud Gateway Operator. + :vartype instance_count: int + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + 'instance_count': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayOperatorResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + self.instance_count = None + + +class GatewayProperties(msrest.serialization.Model): + """Spring Cloud Gateway properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Spring Cloud Gateway. Possible values include: + "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayProvisioningState + :param public: Indicates whether the Spring Cloud Gateway exposes endpoint. + :type public: bool + :ivar url: URL of the Spring Cloud Gateway, exposed when 'public' is true. + :vartype url: str + :param https_only: Indicate if only https is allowed. + :type https_only: bool + :param sso_properties: Single sign-on related configuration. + :type sso_properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SsoProperties + :param api_metadata_properties: API metadata property for Spring Cloud Gateway. + :type api_metadata_properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayApiMetadataProperties + :param cors_properties: Cross-Origin Resource Sharing property. + :type cors_properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCorsProperties + :param resource_requests: The requested resource quantity for required CPU and Memory. + :type resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResourceRequests + :ivar instances: Collection of instances belong to Spring Cloud Gateway. + :vartype instances: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayInstance] + :ivar operator_properties: Properties of the Spring Cloud Gateway Operator. + :vartype operator_properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayOperatorProperties + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'url': {'readonly': True}, + 'instances': {'readonly': True}, + 'operator_properties': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'public': {'key': 'public', 'type': 'bool'}, + 'url': {'key': 'url', 'type': 'str'}, + 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, + 'sso_properties': {'key': 'ssoProperties', 'type': 'SsoProperties'}, + 'api_metadata_properties': {'key': 'apiMetadataProperties', 'type': 'GatewayApiMetadataProperties'}, + 'cors_properties': {'key': 'corsProperties', 'type': 'GatewayCorsProperties'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'GatewayResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[GatewayInstance]'}, + 'operator_properties': {'key': 'operatorProperties', 'type': 'GatewayOperatorProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.public = kwargs.get('public', None) + self.url = None + self.https_only = kwargs.get('https_only', None) + self.sso_properties = kwargs.get('sso_properties', None) + self.api_metadata_properties = kwargs.get('api_metadata_properties', None) + self.cors_properties = kwargs.get('cors_properties', None) + self.resource_requests = kwargs.get('resource_requests', None) + self.instances = None + self.operator_properties = None + + +class GatewayResource(ProxyResource): + """Spring Cloud Gateway 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Spring Cloud Gateway properties payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayProperties + :param sku: Sku of the Spring Cloud Gateway resource. + :type sku: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Sku + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'GatewayProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.sku = kwargs.get('sku', None) + + +class GatewayResourceCollection(msrest.serialization.Model): + """Object that includes an array of gateway resources and a possible link for next set. + + :param value: Collection of gateway resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class GatewayResourceRequests(msrest.serialization.Model): + """Resource request payload of Spring Cloud Gateway. + + :param cpu: Cpu allocated to each Spring Cloud Gateway instance. + :type cpu: str + :param memory: Memory allocated to each Spring Cloud Gateway instance. + :type memory: str + """ + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayResourceRequests, self).__init__(**kwargs) + self.cpu = kwargs.get('cpu', None) + self.memory = kwargs.get('memory', None) + + +class GatewayRouteConfigProperties(msrest.serialization.Model): + """API route config of the Spring Cloud Gateway. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Spring Cloud Gateway route config. Possible values + include: "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayProvisioningState + :param app_resource_id: The resource Id of the Azure Spring Cloud app, required unless route + defines ``uri``. + :type app_resource_id: str + :param routes: Array of API routes, each route contains properties such as ``title``\ , + ``uri``\ , ``ssoEnabled``\ , ``predicates``\ , ``filters``. + :type routes: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayApiRoute] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'app_resource_id': {'key': 'appResourceId', 'type': 'str'}, + 'routes': {'key': 'routes', 'type': '[GatewayApiRoute]'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayRouteConfigProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.app_resource_id = kwargs.get('app_resource_id', None) + self.routes = kwargs.get('routes', None) + + +class GatewayRouteConfigResource(ProxyResource): + """Spring Cloud Gateway route config 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: API route config of the Spring Cloud Gateway. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'GatewayRouteConfigProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayRouteConfigResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class GatewayRouteConfigResourceCollection(msrest.serialization.Model): + """Object that includes an array of Spring Cloud Gateway route config resources and a possible link for next set. + + :param value: Collection of Spring Cloud Gateway route config resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRouteConfigResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayRouteConfigResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class GitPatternRepository(msrest.serialization.Model): + """Git repository property payload for config server. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the repository. + :type name: str + :param pattern: Collection of pattern of the repository. + :type pattern: list[str] + :param uri: Required. URI of the repository. + :type uri: str + :param label: Label of the repository. + :type label: str + :param search_paths: Searching path of the repository. + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'name': {'required': True}, + 'uri': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'pattern': {'key': 'pattern', 'type': '[str]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(GitPatternRepository, self).__init__(**kwargs) + self.name = kwargs['name'] + self.pattern = kwargs.get('pattern', None) + self.uri = kwargs['uri'] + self.label = kwargs.get('label', None) + self.search_paths = kwargs.get('search_paths', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.host_key = kwargs.get('host_key', None) + self.host_key_algorithm = kwargs.get('host_key_algorithm', None) + self.private_key = kwargs.get('private_key', None) + self.strict_host_key_checking = kwargs.get('strict_host_key_checking', None) + + +class ImageRegistryCredential(msrest.serialization.Model): + """Credential of the image registry. + + :param username: The username of the image registry credential. + :type username: str + :param password: The password of the image registry credential. + :type password: str + """ + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ImageRegistryCredential, self).__init__(**kwargs) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + + +class UploadedUserSourceInfo(UserSourceInfo): + """Source with uploaded location. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: JarUploadedUserSourceInfo, NetCoreZipUploadedUserSourceInfo, SourceUploadedUserSourceInfo. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param relative_path: Relative path of the storage which stores the source. + :type relative_path: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Jar': 'JarUploadedUserSourceInfo', 'NetCoreZip': 'NetCoreZipUploadedUserSourceInfo', 'Source': 'SourceUploadedUserSourceInfo'} + } + + def __init__( + self, + **kwargs + ): + super(UploadedUserSourceInfo, self).__init__(**kwargs) + self.type = 'UploadedUserSourceInfo' # type: str + self.relative_path = kwargs.get('relative_path', None) + + +class JarUploadedUserSourceInfo(UploadedUserSourceInfo): + """Uploaded Jar binary for a deployment. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param relative_path: Relative path of the storage which stores the source. + :type relative_path: str + :param runtime_version: Runtime version of the Jar file. + :type runtime_version: str + :param jvm_opions: Jvm Parameters. + :type jvm_options: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'jvm_options': {'key': 'jvmOptions', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(JarUploadedUserSourceInfo, self).__init__(**kwargs) + self.type = 'Jar' # type: str + self.runtime_version = kwargs.get('runtime_version', None) + self.jvm_opions = kwargs.get('jvm_options', None) + + +class KeyVaultCertificateProperties(CertificateProperties): + """Properties of certificate imported from key vault. + + 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 type: Required. The type of the certificate source.Constant filled by server. + :type type: str + :ivar thumbprint: The thumbprint of certificate. + :vartype thumbprint: str + :ivar issuer: The issuer of certificate. + :vartype issuer: str + :ivar issued_date: The issue date of certificate. + :vartype issued_date: str + :ivar expiration_date: The expiration date of certificate. + :vartype expiration_date: str + :ivar activate_date: The activate date of certificate. + :vartype activate_date: str + :ivar subject_name: The subject name of certificate. + :vartype subject_name: str + :ivar dns_names: The domain list of certificate. + :vartype dns_names: list[str] + :param vault_uri: Required. The vault uri of user key vault. + :type vault_uri: str + :param key_vault_cert_name: Required. The certificate name of key vault. + :type key_vault_cert_name: str + :param cert_version: The certificate version of key vault. + :type cert_version: str + :param exclude_private_key: Optional. If set to true, it will not import private key from key + vault. + :type exclude_private_key: bool + """ + + _validation = { + 'type': {'required': True}, + 'thumbprint': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issued_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'activate_date': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'dns_names': {'readonly': True}, + 'vault_uri': {'required': True}, + 'key_vault_cert_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issued_date': {'key': 'issuedDate', 'type': 'str'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'str'}, + 'activate_date': {'key': 'activateDate', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'dns_names': {'key': 'dnsNames', 'type': '[str]'}, + 'vault_uri': {'key': 'vaultUri', 'type': 'str'}, + 'key_vault_cert_name': {'key': 'keyVaultCertName', 'type': 'str'}, + 'cert_version': {'key': 'certVersion', 'type': 'str'}, + 'exclude_private_key': {'key': 'excludePrivateKey', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyVaultCertificateProperties, self).__init__(**kwargs) + self.type = 'KeyVaultCertificate' # type: str + self.vault_uri = kwargs['vault_uri'] + self.key_vault_cert_name = kwargs['key_vault_cert_name'] + self.cert_version = kwargs.get('cert_version', None) + self.exclude_private_key = kwargs.get('exclude_private_key', False) + + +class LoadedCertificate(msrest.serialization.Model): + """Loaded certificate payload. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. Resource Id of loaded certificate. + :type resource_id: str + :param load_trust_store: Indicate whether the certificate will be loaded into default trust + store, only work for Java runtime. + :type load_trust_store: bool + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'load_trust_store': {'key': 'loadTrustStore', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(LoadedCertificate, self).__init__(**kwargs) + self.resource_id = kwargs['resource_id'] + self.load_trust_store = kwargs.get('load_trust_store', False) + + +class LogFileUrlResponse(msrest.serialization.Model): + """Log file URL payload. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. URL of the log file. + :type url: str + """ + + _validation = { + 'url': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LogFileUrlResponse, self).__init__(**kwargs) + self.url = kwargs['url'] + + +class LogSpecification(msrest.serialization.Model): + """Specifications of the Log for Azure Monitoring. + + :param name: Name of the log. + :type name: str + :param display_name: Localized friendly display name of the log. + :type display_name: str + :param blob_duration: Blob duration of the log. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LogSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class ManagedIdentityProperties(msrest.serialization.Model): + """Managed identity properties retrieved from ARM request headers. + + :param type: Type of the managed identity. Possible values include: "None", "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned". + :type type: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.ManagedIdentityType + :param principal_id: Principal Id. + :type principal_id: str + :param tenant_id: Tenant Id. + :type tenant_id: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedIdentityProperties, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.principal_id = kwargs.get('principal_id', None) + self.tenant_id = kwargs.get('tenant_id', None) + + +class MetricDimension(msrest.serialization.Model): + """Specifications of the Dimension of metrics. + + :param name: Name of the dimension. + :type name: str + :param display_name: Localized friendly display name of the dimension. + :type display_name: str + :param to_be_exported_for_shoebox: Whether this dimension should be included for the Shoebox + export scenario. + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(MetricDimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.to_be_exported_for_shoebox = kwargs.get('to_be_exported_for_shoebox', None) + + +class MetricSpecification(msrest.serialization.Model): + """Specifications of the Metrics for Azure Monitoring. + + :param name: Name of the metric. + :type name: str + :param display_name: Localized friendly display name of the metric. + :type display_name: str + :param display_description: Localized friendly description of the metric. + :type display_description: str + :param unit: Unit that makes sense for the metric. + :type unit: str + :param category: Name of the metric category that the metric belongs to. A metric can only + belong to a single category. + :type category: str + :param aggregation_type: Only provide one value for this field. Valid values: Average, Minimum, + Maximum, Total, Count. + :type aggregation_type: str + :param supported_aggregation_types: Supported aggregation types. + :type supported_aggregation_types: list[str] + :param supported_time_grain_types: Supported time grain types. + :type supported_time_grain_types: list[str] + :param fill_gap_with_zero: Optional. If set to true, then zero will be returned for time + duration where no metric is emitted/published. + :type fill_gap_with_zero: bool + :param dimensions: Dimensions of the metric. + :type dimensions: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, + 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.category = kwargs.get('category', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.supported_aggregation_types = kwargs.get('supported_aggregation_types', None) + self.supported_time_grain_types = kwargs.get('supported_time_grain_types', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.dimensions = kwargs.get('dimensions', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + + +class MonitoringSettingProperties(msrest.serialization.Model): + """Monitoring Setting properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Monitoring Setting. Possible values include: + "NotAvailable", "Failed", "Succeeded", "Updating". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingState + :param error: Error when apply Monitoring Setting changes. + :type error: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Error + :param trace_enabled: Indicates whether enable the trace functionality, which will be + deprecated since api version 2020-11-01-preview. Please leverage appInsightsInstrumentationKey + to indicate if monitoringSettings enabled or not. + :type trace_enabled: bool + :param app_insights_instrumentation_key: Target application insight instrumentation key, null + or whitespace include empty will disable monitoringSettings. + :type app_insights_instrumentation_key: str + :param app_insights_sampling_rate: Indicates the sampling rate of application insight agent, + should be in range [0.0, 100.0]. + :type app_insights_sampling_rate: float + :param app_insights_agent_versions: Indicates the versions of application insight agent. + :type app_insights_agent_versions: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApplicationInsightsAgentVersions + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'app_insights_sampling_rate': {'maximum': 100, 'minimum': 0}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'trace_enabled': {'key': 'traceEnabled', 'type': 'bool'}, + 'app_insights_instrumentation_key': {'key': 'appInsightsInstrumentationKey', 'type': 'str'}, + 'app_insights_sampling_rate': {'key': 'appInsightsSamplingRate', 'type': 'float'}, + 'app_insights_agent_versions': {'key': 'appInsightsAgentVersions', 'type': 'ApplicationInsightsAgentVersions'}, + } + + def __init__( + self, + **kwargs + ): + super(MonitoringSettingProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.error = kwargs.get('error', None) + self.trace_enabled = kwargs.get('trace_enabled', None) + self.app_insights_instrumentation_key = kwargs.get('app_insights_instrumentation_key', None) + self.app_insights_sampling_rate = kwargs.get('app_insights_sampling_rate', None) + self.app_insights_agent_versions = kwargs.get('app_insights_agent_versions', None) + + +class MonitoringSettingResource(ProxyResource): + """Monitoring Setting 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the Monitoring Setting resource. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'MonitoringSettingProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(MonitoringSettingResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class NameAvailability(msrest.serialization.Model): + """Name availability result payload. + + :param name_available: Indicates whether the name is available. + :type name_available: bool + :param reason: Reason why the name is not available. + :type reason: str + :param message: Message why the name is not available. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NameAvailability, self).__init__(**kwargs) + self.name_available = kwargs.get('name_available', None) + self.reason = kwargs.get('reason', None) + self.message = kwargs.get('message', None) + + +class NameAvailabilityParameters(msrest.serialization.Model): + """Name availability parameters payload. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the resource to check name availability. + :type type: str + :param name: Required. Name to be checked. + :type name: str + """ + + _validation = { + 'type': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NameAvailabilityParameters, self).__init__(**kwargs) + self.type = kwargs['type'] + self.name = kwargs['name'] + + +class NetCoreZipUploadedUserSourceInfo(UploadedUserSourceInfo): + """Uploaded Jar binary for a deployment. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param relative_path: Relative path of the storage which stores the source. + :type relative_path: str + :param net_core_main_entry_path: The path to the .NET executable relative to zip root. + :type net_core_main_entry_path: str + :param runtime_version: Runtime version of the .Net file. + :type runtime_version: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'net_core_main_entry_path': {'key': 'netCoreMainEntryPath', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NetCoreZipUploadedUserSourceInfo, self).__init__(**kwargs) + self.type = 'NetCoreZip' # type: str + self.net_core_main_entry_path = kwargs.get('net_core_main_entry_path', None) + self.runtime_version = kwargs.get('runtime_version', None) + + +class NetworkProfile(msrest.serialization.Model): + """Service network profile payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param service_runtime_subnet_id: Fully qualified resource Id of the subnet to host Azure + Spring Cloud Service Runtime. + :type service_runtime_subnet_id: str + :param app_subnet_id: Fully qualified resource Id of the subnet to host Azure Spring Cloud + Apps. + :type app_subnet_id: str + :param service_cidr: Azure Spring Cloud service reserved CIDR. + :type service_cidr: str + :param service_runtime_network_resource_group: Name of the resource group containing network + resources of Azure Spring Cloud Service Runtime. + :type service_runtime_network_resource_group: str + :param app_network_resource_group: Name of the resource group containing network resources of + Azure Spring Cloud Apps. + :type app_network_resource_group: str + :ivar outbound_i_ps: Desired outbound IP resources for Azure Spring Cloud instance. + :vartype outbound_i_ps: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.NetworkProfileOutboundIPs + :ivar required_traffics: Required inbound or outbound traffics for Azure Spring Cloud instance. + :vartype required_traffics: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.RequiredTraffic] + """ + + _validation = { + 'outbound_i_ps': {'readonly': True}, + 'required_traffics': {'readonly': True}, + } + + _attribute_map = { + 'service_runtime_subnet_id': {'key': 'serviceRuntimeSubnetId', 'type': 'str'}, + 'app_subnet_id': {'key': 'appSubnetId', 'type': 'str'}, + 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, + 'service_runtime_network_resource_group': {'key': 'serviceRuntimeNetworkResourceGroup', 'type': 'str'}, + 'app_network_resource_group': {'key': 'appNetworkResourceGroup', 'type': 'str'}, + 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'NetworkProfileOutboundIPs'}, + 'required_traffics': {'key': 'requiredTraffics', 'type': '[RequiredTraffic]'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkProfile, self).__init__(**kwargs) + self.service_runtime_subnet_id = kwargs.get('service_runtime_subnet_id', None) + self.app_subnet_id = kwargs.get('app_subnet_id', None) + self.service_cidr = kwargs.get('service_cidr', None) + self.service_runtime_network_resource_group = kwargs.get('service_runtime_network_resource_group', None) + self.app_network_resource_group = kwargs.get('app_network_resource_group', None) + self.outbound_i_ps = None + self.required_traffics = None + + +class NetworkProfileOutboundIPs(msrest.serialization.Model): + """Desired outbound IP resources for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar public_i_ps: A list of public IP addresses. + :vartype public_i_ps: list[str] + """ + + _validation = { + 'public_i_ps': {'readonly': True}, + } + + _attribute_map = { + 'public_i_ps': {'key': 'publicIPs', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkProfileOutboundIPs, self).__init__(**kwargs) + self.public_i_ps = None + + +class OperationDetail(msrest.serialization.Model): + """Operation detail payload. + + :param name: Name of the operation. + :type name: str + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool + :param display: Display of the operation. + :type display: ~azure.mgmt.appplatform.v2022_01_01_preview.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param properties: Properties of the operation. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.OperationProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'OperationProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDetail, 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) + self.origin = kwargs.get('origin', None) + self.properties = kwargs.get('properties', None) + + +class OperationDisplay(msrest.serialization.Model): + """Operation display payload. + + :param provider: Resource provider of the operation. + :type provider: str + :param resource: Resource of the operation. + :type resource: str + :param operation: Localized friendly name for the operation. + :type operation: str + :param description: Localized friendly description for 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 OperationProperties(msrest.serialization.Model): + """Extra Operation properties. + + :param service_specification: Service specifications of the operation. + :type service_specification: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationProperties, self).__init__(**kwargs) + self.service_specification = kwargs.get('service_specification', None) + + +class PersistentDisk(msrest.serialization.Model): + """Persistent disk payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param size_in_gb: Size of the persistent disk in GB. + :type size_in_gb: int + :ivar used_in_gb: Size of the used persistent disk in GB. + :vartype used_in_gb: int + :param mount_path: Mount path of the persistent disk. + :type mount_path: str + """ + + _validation = { + 'size_in_gb': {'maximum': 50, 'minimum': 0}, + 'used_in_gb': {'readonly': True, 'maximum': 50, 'minimum': 0}, + } + + _attribute_map = { + 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, + 'used_in_gb': {'key': 'usedInGB', 'type': 'int'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PersistentDisk, self).__init__(**kwargs) + self.size_in_gb = kwargs.get('size_in_gb', None) + self.used_in_gb = None + self.mount_path = kwargs.get('mount_path', None) + + +class RegenerateTestKeyRequestPayload(msrest.serialization.Model): + """Regenerate test key request payload. + + All required parameters must be populated in order to send to Azure. + + :param key_type: Required. Type of the test key. Possible values include: "Primary", + "Secondary". + :type key_type: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.TestKeyType + """ + + _validation = { + 'key_type': {'required': True}, + } + + _attribute_map = { + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RegenerateTestKeyRequestPayload, self).__init__(**kwargs) + self.key_type = kwargs['key_type'] + + +class RequiredTraffic(msrest.serialization.Model): + """Required inbound or outbound traffic for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar protocol: The protocol of required traffic. + :vartype protocol: str + :ivar port: The port of required traffic. + :vartype port: int + :ivar ips: The ip list of required traffic. + :vartype ips: list[str] + :ivar fqdns: The FQDN list of required traffic. + :vartype fqdns: list[str] + :ivar direction: The direction of required traffic. Possible values include: "Inbound", + "Outbound". + :vartype direction: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.TrafficDirection + """ + + _validation = { + 'protocol': {'readonly': True}, + 'port': {'readonly': True}, + 'ips': {'readonly': True}, + 'fqdns': {'readonly': True}, + 'direction': {'readonly': True}, + } + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'ips': {'key': 'ips', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RequiredTraffic, self).__init__(**kwargs) + self.protocol = None + self.port = None + self.ips = None + self.fqdns = None + self.direction = None + + +class ResourceRequests(msrest.serialization.Model): + """Deployment resource request payload. + + :param cpu: Required CPU. 1 core can be represented by 1 or 1000m. This should be 500m or 1 for + Basic tier, and {500m, 1, 2, 3, 4} for Standard tier. + :type cpu: str + :param memory: Required memory. 1 GB can be represented by 1Gi or 1024Mi. This should be + {512Mi, 1Gi, 2Gi} for Basic tier, and {512Mi, 1Gi, 2Gi, ..., 8Gi} for Standard tier. + :type memory: str + """ + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceRequests, self).__init__(**kwargs) + self.cpu = kwargs.get('cpu', None) + self.memory = kwargs.get('memory', None) + + +class ResourceSku(msrest.serialization.Model): + """Describes an available Azure Spring Cloud SKU. + + :param resource_type: Gets the type of resource the SKU applies to. + :type resource_type: str + :param name: Gets the name of SKU. + :type name: str + :param tier: Gets the tier of SKU. + :type tier: str + :param capacity: Gets the capacity of SKU. + :type capacity: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SkuCapacity + :param locations: Gets the set of locations that the SKU is available. + :type locations: list[str] + :param location_info: Gets a list of locations and availability zones in those locations where + the SKU is available. + :type location_info: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuLocationInfo] + :param restrictions: Gets the restrictions because of which SKU cannot be used. This is + empty if there are no restrictions. + :type restrictions: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuRestrictions] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, + 'restrictions': {'key': 'restrictions', 'type': '[ResourceSkuRestrictions]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = kwargs.get('resource_type', None) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) + self.locations = kwargs.get('locations', None) + self.location_info = kwargs.get('location_info', None) + self.restrictions = kwargs.get('restrictions', None) + + +class ResourceSkuCapabilities(msrest.serialization.Model): + """ResourceSkuCapabilities. + + :param name: Gets an invariant to describe the feature. + :type name: str + :param value: Gets an invariant if the feature 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 ResourceSkuCollection(msrest.serialization.Model): + """Object that includes an array of Azure Spring Cloud SKU and a possible link for next set. + + :param value: Collection of resource SKU. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSku] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceSku]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ResourceSkuLocationInfo(msrest.serialization.Model): + """Locations and availability zones where the SKU is available. + + :param location: Gets location of the SKU. + :type location: str + :param zones: Gets list of availability zones where the SKU is supported. + :type zones: list[str] + :param zone_details: Gets details of capabilities available to a SKU in specific zones. + :type zone_details: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuZoneDetails] + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'zone_details': {'key': 'zoneDetails', 'type': '[ResourceSkuZoneDetails]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuLocationInfo, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.zones = kwargs.get('zones', None) + self.zone_details = kwargs.get('zone_details', None) + + +class ResourceSkuRestrictionInfo(msrest.serialization.Model): + """Information about the restriction where the SKU cannot be used. + + :param locations: Gets locations where the SKU is restricted. + :type locations: list[str] + :param zones: Gets list of availability zones where the SKU is restricted. + :type zones: list[str] + """ + + _attribute_map = { + 'locations': {'key': 'locations', 'type': '[str]'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuRestrictionInfo, self).__init__(**kwargs) + self.locations = kwargs.get('locations', None) + self.zones = kwargs.get('zones', None) + + +class ResourceSkuRestrictions(msrest.serialization.Model): + """Restrictions where the SKU cannot be used. + + :param type: Gets the type of restrictions. Possible values include: 'Location', 'Zone'. + Possible values include: "Location", "Zone". + :type type: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuRestrictionsType + :param values: Gets the value of restrictions. If the restriction type is set to + location. This would be different locations where the SKU is restricted. + :type values: list[str] + :param restriction_info: Gets the information about the restriction where the SKU cannot be + used. + :type restriction_info: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuRestrictionInfo + :param reason_code: Gets the reason for restriction. Possible values include: 'QuotaId', + 'NotAvailableForSubscription'. Possible values include: "QuotaId", + "NotAvailableForSubscription". + :type reason_code: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuRestrictionsReasonCode + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'restriction_info': {'key': 'restrictionInfo', 'type': 'ResourceSkuRestrictionInfo'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuRestrictions, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.values = kwargs.get('values', None) + self.restriction_info = kwargs.get('restriction_info', None) + self.reason_code = kwargs.get('reason_code', None) + + +class ResourceSkuZoneDetails(msrest.serialization.Model): + """Details of capabilities available to a SKU in specific zones. + + :param name: Gets the set of zones that the SKU is available in with the + specified capabilities. + :type name: list[str] + :param capabilities: Gets a list of capabilities that are available for the SKU in the + specified list of zones. + :type capabilities: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuCapabilities] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuZoneDetails, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.capabilities = kwargs.get('capabilities', None) + + +class ResourceUploadDefinition(msrest.serialization.Model): + """Resource upload definition payload. + + :param relative_path: Source relative path. + :type relative_path: str + :param upload_url: Upload URL. + :type upload_url: str + """ + + _attribute_map = { + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'upload_url': {'key': 'uploadUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceUploadDefinition, self).__init__(**kwargs) + self.relative_path = kwargs.get('relative_path', None) + self.upload_url = kwargs.get('upload_url', None) + + +class ServiceRegistryInstance(msrest.serialization.Model): + """Collection of instances belong to the Service Registry. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Service Registry instance. + :vartype name: str + :ivar status: Status of the Service Registry instance. + :vartype status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceRegistryInstance, self).__init__(**kwargs) + self.name = None + self.status = None + + +class ServiceRegistryProperties(msrest.serialization.Model): + """Service Registry properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Service Registry. Possible values include: "Creating", + "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryProvisioningState + :ivar resource_requests: The requested resource quantity for required CPU and Memory. + :vartype resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResourceRequests + :ivar instances: Collection of instances belong to Service Registry. + :vartype instances: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryInstance] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'resource_requests': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'ServiceRegistryResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[ServiceRegistryInstance]'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceRegistryProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.resource_requests = None + self.instances = None + + +class ServiceRegistryResource(ProxyResource): + """Service Registry 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Service Registry properties payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ServiceRegistryProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceRegistryResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class ServiceRegistryResourceCollection(msrest.serialization.Model): + """Object that includes an array of Service Registry resources and a possible link for next set. + + :param value: Collection of Service Registry resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceRegistryResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceRegistryResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ServiceRegistryResourceRequests(msrest.serialization.Model): + """Resource request payload of Service Registry. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: Cpu allocated to each Service Registry instance. + :vartype cpu: str + :ivar memory: Memory allocated to each Service Registry instance. + :vartype memory: str + :ivar instance_count: Instance count of the Service Registry. + :vartype instance_count: int + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + 'instance_count': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceRegistryResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + self.instance_count = 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. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param location: The GEO location of the resource. + :type location: str + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describe the resource. + :type tags: dict[str, str] + """ + + _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'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ServiceResource(TrackedResource): + """Service 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param location: The GEO location of the resource. + :type location: str + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describe the resource. + :type tags: dict[str, str] + :param properties: Properties of the Service resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ClusterResourceProperties + :param sku: Sku of the Service resource. + :type sku: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Sku + """ + + _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'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + self.sku = kwargs.get('sku', None) + + +class ServiceResourceList(msrest.serialization.Model): + """Object that includes an array of Service resources and a possible link for next set. + + :param value: Collection of Service resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceResourceList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ServiceSpecification(msrest.serialization.Model): + """Service specification payload. + + :param log_specifications: Specifications of the Log for Azure Monitoring. + :type log_specifications: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.LogSpecification] + :param metric_specifications: Specifications of the Metrics for Azure Monitoring. + :type metric_specifications: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.MetricSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceSpecification, self).__init__(**kwargs) + self.log_specifications = kwargs.get('log_specifications', None) + self.metric_specifications = kwargs.get('metric_specifications', None) + + +class Sku(msrest.serialization.Model): + """Sku of Azure Spring Cloud. + + :param name: Name of the Sku. + :type name: str + :param tier: Tier of the Sku. + :type tier: str + :param capacity: Current capacity of the target resource. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = kwargs.get('name', "S0") + self.tier = kwargs.get('tier', "Standard") + self.capacity = kwargs.get('capacity', None) + + +class SkuCapacity(msrest.serialization.Model): + """The SKU capacity. + + All required parameters must be populated in order to send to Azure. + + :param minimum: Required. Gets or sets the minimum. + :type minimum: int + :param maximum: Gets or sets the maximum. + :type maximum: int + :param default: Gets or sets the default. + :type default: int + :param scale_type: Gets or sets the type of the scale. Possible values include: "None", + "Manual", "Automatic". + :type scale_type: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.SkuScaleType + """ + + _validation = { + 'minimum': {'required': True}, + } + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = kwargs['minimum'] + self.maximum = kwargs.get('maximum', None) + self.default = kwargs.get('default', None) + self.scale_type = kwargs.get('scale_type', None) + + +class SourceUploadedUserSourceInfo(UploadedUserSourceInfo): + """Uploaded Java source code binary for a deployment. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param relative_path: Relative path of the storage which stores the source. + :type relative_path: str + :param artifact_selector: Selector for the artifact to be used for the deployment for + multi-module projects. This should be + the relative path to the target module/project. + :type artifact_selector: str + :param runtime_version: Runtime version of the source file. + :type runtime_version: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'artifact_selector': {'key': 'artifactSelector', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SourceUploadedUserSourceInfo, self).__init__(**kwargs) + self.type = 'Source' # type: str + self.artifact_selector = kwargs.get('artifact_selector', None) + self.runtime_version = kwargs.get('runtime_version', None) + + +class SsoProperties(msrest.serialization.Model): + """Single sign-on related configuration. + + :param scope: It defines the specific actions applications can be allowed to do on a user's + behalf. + :type scope: list[str] + :param client_id: The public identifier for the application. + :type client_id: str + :param client_secret: The secret known only to the application and the authorization server. + :type client_secret: str + :param issuer_uri: The URI of Issuer Identifier. + :type issuer_uri: str + """ + + _attribute_map = { + 'scope': {'key': 'scope', 'type': '[str]'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'client_secret': {'key': 'clientSecret', 'type': 'str'}, + 'issuer_uri': {'key': 'issuerUri', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsoProperties, self).__init__(**kwargs) + self.scope = kwargs.get('scope', None) + self.client_id = kwargs.get('client_id', None) + self.client_secret = kwargs.get('client_secret', None) + self.issuer_uri = kwargs.get('issuer_uri', None) + + +class StackProperties(msrest.serialization.Model): + """KPack ClusterStack properties payload. + + :param id: Id of the ClusterStack. + :type id: str + :param version: Version of the ClusterStack. + :type version: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StackProperties, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.version = kwargs.get('version', None) + + +class StorageProperties(msrest.serialization.Model): + """Storage resource payload. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: StorageAccount. + + All required parameters must be populated in order to send to Azure. + + :param storage_type: Required. The type of the storage.Constant filled by server. + :type storage_type: str + """ + + _validation = { + 'storage_type': {'required': True}, + } + + _attribute_map = { + 'storage_type': {'key': 'storageType', 'type': 'str'}, + } + + _subtype_map = { + 'storage_type': {'StorageAccount': 'StorageAccount'} + } + + def __init__( + self, + **kwargs + ): + super(StorageProperties, self).__init__(**kwargs) + self.storage_type = None # type: Optional[str] + + +class StorageAccount(StorageProperties): + """storage resource of type Azure Storage Account. + + All required parameters must be populated in order to send to Azure. + + :param storage_type: Required. The type of the storage.Constant filled by server. + :type storage_type: str + :param account_name: Required. The account name of the Azure Storage Account. + :type account_name: str + :param account_key: Required. The account key of the Azure Storage Account. + :type account_key: str + """ + + _validation = { + 'storage_type': {'required': True}, + 'account_name': {'required': True}, + 'account_key': {'required': True}, + } + + _attribute_map = { + 'storage_type': {'key': 'storageType', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'account_key': {'key': 'accountKey', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageAccount, self).__init__(**kwargs) + self.storage_type = 'StorageAccount' # type: str + self.account_name = kwargs['account_name'] + self.account_key = kwargs['account_key'] + + +class StorageResource(ProxyResource): + """Storage resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the storage resource payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'StorageProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class StorageResourceCollection(msrest.serialization.Model): + """Collection compose of storage resources list and a possible link for next page. + + :param value: The storage resources list. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResource] + :param next_link: The link to next page of storage list. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[StorageResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class SupportedBuildpackResource(ProxyResource): + """Supported buildpack resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Supported buildpack resource properties. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedBuildpackResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'SupportedBuildpackResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(SupportedBuildpackResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class SupportedBuildpackResourceProperties(msrest.serialization.Model): + """Supported buildpack resource properties. + + :param buildpack_id: The id of supported buildpack. + :type buildpack_id: str + """ + + _attribute_map = { + 'buildpack_id': {'key': 'buildpackId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SupportedBuildpackResourceProperties, self).__init__(**kwargs) + self.buildpack_id = kwargs.get('buildpack_id', None) + + +class SupportedBuildpacksCollection(msrest.serialization.Model): + """Object that includes an array of supported buildpacks resources and a possible link for next set. + + :param value: Collection of supported buildpacks resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedBuildpackResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SupportedBuildpackResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SupportedBuildpacksCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class SupportedRuntimeVersion(msrest.serialization.Model): + """Supported deployment runtime version descriptor. + + :param value: The raw value which could be passed to deployment CRUD operations. Possible + values include: "Java_8", "Java_11", "Java_17", "NetCore_31". + :type value: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedRuntimeValue + :param platform: The platform of this runtime version (possible values: "Java" or ".NET"). + Possible values include: "Java", ".NET Core". + :type platform: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedRuntimePlatform + :param version: The detailed version (major.minor) of the platform. + :type version: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'platform': {'key': 'platform', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SupportedRuntimeVersion, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.platform = kwargs.get('platform', None) + self.version = kwargs.get('version', None) + + +class SupportedStackResource(ProxyResource): + """Supported stack resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Supported stack resource properties. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedStackResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'SupportedStackResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(SupportedStackResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class SupportedStackResourceProperties(msrest.serialization.Model): + """Supported stack resource properties. + + :param stack_id: The id of supported stack. + :type stack_id: str + :param version: The version of supported stack. + :type version: str + """ + + _attribute_map = { + 'stack_id': {'key': 'stackId', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SupportedStackResourceProperties, self).__init__(**kwargs) + self.stack_id = kwargs.get('stack_id', None) + self.version = kwargs.get('version', None) + + +class SupportedStacksCollection(msrest.serialization.Model): + """Object that includes an array of supported stacks resources and a possible link for next set. + + :param value: Collection of supported stacks resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedStackResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SupportedStackResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SupportedStacksCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', 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.mgmt.appplatform.v2022_01_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 + ~azure.mgmt.appplatform.v2022_01_01_preview.models.LastModifiedByType + :param last_modified_at: The timestamp of resource 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 TemporaryDisk(msrest.serialization.Model): + """Temporary disk payload. + + :param size_in_gb: Size of the temporary disk in GB. + :type size_in_gb: int + :param mount_path: Mount path of the temporary disk. + :type mount_path: str + """ + + _validation = { + 'size_in_gb': {'maximum': 5, 'minimum': 0}, + } + + _attribute_map = { + 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TemporaryDisk, self).__init__(**kwargs) + self.size_in_gb = kwargs.get('size_in_gb', None) + self.mount_path = kwargs.get('mount_path', "/tmp") + + +class TestKeys(msrest.serialization.Model): + """Test keys payload. + + :param primary_key: Primary key. + :type primary_key: str + :param secondary_key: Secondary key. + :type secondary_key: str + :param primary_test_endpoint: Primary test endpoint. + :type primary_test_endpoint: str + :param secondary_test_endpoint: Secondary test endpoint. + :type secondary_test_endpoint: str + :param enabled: Indicates whether the test endpoint feature enabled or not. + :type enabled: bool + """ + + _attribute_map = { + 'primary_key': {'key': 'primaryKey', 'type': 'str'}, + 'secondary_key': {'key': 'secondaryKey', 'type': 'str'}, + 'primary_test_endpoint': {'key': 'primaryTestEndpoint', 'type': 'str'}, + 'secondary_test_endpoint': {'key': 'secondaryTestEndpoint', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(TestKeys, self).__init__(**kwargs) + self.primary_key = kwargs.get('primary_key', None) + self.secondary_key = kwargs.get('secondary_key', None) + self.primary_test_endpoint = kwargs.get('primary_test_endpoint', None) + self.secondary_test_endpoint = kwargs.get('secondary_test_endpoint', None) + self.enabled = kwargs.get('enabled', None) + + +class TriggeredBuildResult(msrest.serialization.Model): + """The build result triggered by a build. + + :param id: The unique build id of this build result. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggeredBuildResult, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class ValidationMessages(msrest.serialization.Model): + """Validate messages of the configuration service git repositories. + + :param name: The name of the configuration service git repository. + :type name: str + :param messages: Detailed validation messages. + :type messages: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'messages': {'key': 'messages', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidationMessages, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.messages = kwargs.get('messages', None) diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_models_py3.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_models_py3.py new file mode 100644 index 00000000000..85476a1acfc --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/models/_models_py3.py @@ -0,0 +1,6230 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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, Dict, List, Optional, Union + +import msrest.serialization + +from ._app_platform_management_client_enums import * + + +class ActiveDeploymentCollection(msrest.serialization.Model): + """Object that includes an array of Deployment resource name and set them as active. + + :param active_deployment_names: Collection of Deployment name. + :type active_deployment_names: list[str] + """ + + _attribute_map = { + 'active_deployment_names': {'key': 'activeDeploymentNames', 'type': '[str]'}, + } + + def __init__( + self, + *, + active_deployment_names: Optional[List[str]] = None, + **kwargs + ): + super(ActiveDeploymentCollection, self).__init__(**kwargs) + self.active_deployment_names = active_deployment_names + + +class ApiPortalCustomDomainProperties(msrest.serialization.Model): + """The properties of custom domain for API portal. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + """ + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__( + self, + *, + thumbprint: Optional[str] = None, + **kwargs + ): + super(ApiPortalCustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = thumbprint + + +class Resource(msrest.serialization.Model): + """The core properties of ARM 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.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__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.system_data = 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.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__( + self, + **kwargs + ): + super(ProxyResource, self).__init__(**kwargs) + + +class ApiPortalCustomDomainResource(ProxyResource): + """Custom domain of the API portal. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: The properties of custom domain for API portal. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ApiPortalCustomDomainProperties'}, + } + + def __init__( + self, + *, + properties: Optional["ApiPortalCustomDomainProperties"] = None, + **kwargs + ): + super(ApiPortalCustomDomainResource, self).__init__(**kwargs) + self.properties = properties + + +class ApiPortalCustomDomainResourceCollection(msrest.serialization.Model): + """Object that includes an array of API portal custom domain resources and a possible link for next set. + + :param value: Collection of API portal custom domain resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApiPortalCustomDomainResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ApiPortalCustomDomainResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ApiPortalCustomDomainResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ApiPortalInstance(msrest.serialization.Model): + """Collection of instances belong to the API portal. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the API portal instance. + :vartype name: str + :ivar status: Status of the API portal instance. + :vartype status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalInstance, self).__init__(**kwargs) + self.name = None + self.status = None + + +class ApiPortalProperties(msrest.serialization.Model): + """API portal properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the API portal. Possible values include: "Creating", + "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalProvisioningState + :param public: Indicates whether the API portal exposes endpoint. + :type public: bool + :ivar url: URL of the API portal, exposed when 'public' is true. + :vartype url: str + :param https_only: Indicate if only https is allowed. + :type https_only: bool + :param gateway_ids: The array of resource Ids of gateway to integrate with API portal. + :type gateway_ids: list[str] + :param source_urls: Collection of OpenAPI source URL locations. + :type source_urls: list[str] + :param sso_properties: Single sign-on related configuration. + :type sso_properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SsoProperties + :ivar resource_requests: The requested resource quantity for required CPU and Memory. + :vartype resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResourceRequests + :ivar instances: Collection of instances belong to API portal. + :vartype instances: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalInstance] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'url': {'readonly': True}, + 'resource_requests': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'public': {'key': 'public', 'type': 'bool'}, + 'url': {'key': 'url', 'type': 'str'}, + 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, + 'gateway_ids': {'key': 'gatewayIds', 'type': '[str]'}, + 'source_urls': {'key': 'sourceUrls', 'type': '[str]'}, + 'sso_properties': {'key': 'ssoProperties', 'type': 'SsoProperties'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'ApiPortalResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[ApiPortalInstance]'}, + } + + def __init__( + self, + *, + public: Optional[bool] = None, + https_only: Optional[bool] = None, + gateway_ids: Optional[List[str]] = None, + source_urls: Optional[List[str]] = None, + sso_properties: Optional["SsoProperties"] = None, + **kwargs + ): + super(ApiPortalProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.public = public + self.url = None + self.https_only = https_only + self.gateway_ids = gateway_ids + self.source_urls = source_urls + self.sso_properties = sso_properties + self.resource_requests = None + self.instances = None + + +class ApiPortalResource(ProxyResource): + """API portal 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: API portal properties payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalProperties + :param sku: Sku of the API portal resource. + :type sku: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Sku + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ApiPortalProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + *, + properties: Optional["ApiPortalProperties"] = None, + sku: Optional["Sku"] = None, + **kwargs + ): + super(ApiPortalResource, self).__init__(**kwargs) + self.properties = properties + self.sku = sku + + +class ApiPortalResourceCollection(msrest.serialization.Model): + """Object that includes an array of API portal resources and a possible link for next set. + + :param value: Collection of API portal resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApiPortalResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ApiPortalResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ApiPortalResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ApiPortalResourceRequests(msrest.serialization.Model): + """Resource requests of the API portal. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: Cpu allocated to each API portal instance. + :vartype cpu: str + :ivar memory: Memory allocated to each API portal instance. + :vartype memory: str + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiPortalResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + + +class ApplicationInsightsAgentVersions(msrest.serialization.Model): + """Application Insights agent versions properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar java: Indicates the version of application insight java agent. + :vartype java: str + """ + + _validation = { + 'java': {'readonly': True}, + } + + _attribute_map = { + 'java': {'key': 'java', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApplicationInsightsAgentVersions, self).__init__(**kwargs) + self.java = None + + +class AppResource(ProxyResource): + """App resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the App resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResourceProperties + :param identity: The Managed Identity type of the app resource. + :type identity: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ManagedIdentityProperties + :param location: The GEO location of the application, always the same with its parent resource. + :type location: str + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'AppResourceProperties'}, + 'identity': {'key': 'identity', 'type': 'ManagedIdentityProperties'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + *, + properties: Optional["AppResourceProperties"] = None, + identity: Optional["ManagedIdentityProperties"] = None, + location: Optional[str] = None, + **kwargs + ): + super(AppResource, self).__init__(**kwargs) + self.properties = properties + self.identity = identity + self.location = location + + +class AppResourceCollection(msrest.serialization.Model): + """Object that includes an array of App resources and a possible link for next set. + + :param value: Collection of App resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[AppResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["AppResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(AppResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class AppResourceProperties(msrest.serialization.Model): + """App resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param public: Indicates whether the App exposes public endpoint. + :type public: bool + :ivar url: URL of the App. + :vartype url: str + :param addon_configs: Collection of addons. + :type addon_configs: dict[str, dict[str, any]] + :ivar provisioning_state: Provisioning state of the App. Possible values include: "Succeeded", + "Failed", "Creating", "Updating", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResourceProvisioningState + :param fqdn: Fully qualified dns Name. + :type fqdn: str + :param https_only: Indicate if only https is allowed. + :type https_only: bool + :param temporary_disk: Temporary disk settings. + :type temporary_disk: ~azure.mgmt.appplatform.v2022_01_01_preview.models.TemporaryDisk + :param persistent_disk: Persistent disk settings. + :type persistent_disk: ~azure.mgmt.appplatform.v2022_01_01_preview.models.PersistentDisk + :param custom_persistent_disks: List of custom persistent disks. + :type custom_persistent_disks: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomPersistentDiskResource] + :param enable_end_to_end_tls: Indicate if end to end TLS is enabled. + :type enable_end_to_end_tls: bool + :param loaded_certificates: Collection of loaded certificates. + :type loaded_certificates: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.LoadedCertificate] + """ + + _validation = { + 'url': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'public': {'key': 'public', 'type': 'bool'}, + 'url': {'key': 'url', 'type': 'str'}, + 'addon_configs': {'key': 'addonConfigs', 'type': '{{object}}'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, + 'temporary_disk': {'key': 'temporaryDisk', 'type': 'TemporaryDisk'}, + 'persistent_disk': {'key': 'persistentDisk', 'type': 'PersistentDisk'}, + 'custom_persistent_disks': {'key': 'customPersistentDisks', 'type': '[CustomPersistentDiskResource]'}, + 'enable_end_to_end_tls': {'key': 'enableEndToEndTLS', 'type': 'bool'}, + 'loaded_certificates': {'key': 'loadedCertificates', 'type': '[LoadedCertificate]'}, + } + + def __init__( + self, + *, + public: Optional[bool] = None, + addon_configs: Optional[Dict[str, Dict[str, Any]]] = None, + fqdn: Optional[str] = None, + https_only: Optional[bool] = False, + temporary_disk: Optional["TemporaryDisk"] = None, + persistent_disk: Optional["PersistentDisk"] = None, + custom_persistent_disks: Optional[List["CustomPersistentDiskResource"]] = None, + enable_end_to_end_tls: Optional[bool] = False, + loaded_certificates: Optional[List["LoadedCertificate"]] = None, + **kwargs + ): + super(AppResourceProperties, self).__init__(**kwargs) + self.public = public + self.url = None + self.addon_configs = addon_configs + self.provisioning_state = None + self.fqdn = fqdn + self.https_only = https_only + self.temporary_disk = temporary_disk + self.persistent_disk = persistent_disk + self.custom_persistent_disks = custom_persistent_disks + self.enable_end_to_end_tls = enable_end_to_end_tls + self.loaded_certificates = loaded_certificates + + +class AvailableOperations(msrest.serialization.Model): + """Available operations of the service. + + :param value: Collection of available operation details. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.OperationDetail] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OperationDetail]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["OperationDetail"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(AvailableOperations, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class AvailableRuntimeVersions(msrest.serialization.Model): + """AvailableRuntimeVersions. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: A list of all supported runtime versions. + :vartype value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedRuntimeVersion] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SupportedRuntimeVersion]'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailableRuntimeVersions, self).__init__(**kwargs) + self.value = None + + +class CustomPersistentDiskProperties(msrest.serialization.Model): + """Custom persistent disk resource payload. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureFileVolume. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of the underlying resource to mount as a persistent + disk.Constant filled by server. + :type type: str + :param mount_path: Required. The mount path of the persistent disk. + :type mount_path: str + :param read_only: Indicates whether the persistent disk is a readOnly one. + :type read_only: bool + :param mount_options: These are the mount options for a persistent disk. + :type mount_options: list[str] + """ + + _validation = { + 'type': {'required': True}, + 'mount_path': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + 'read_only': {'key': 'readOnly', 'type': 'bool'}, + 'mount_options': {'key': 'mountOptions', 'type': '[str]'}, + } + + _subtype_map = { + 'type': {'AzureFileVolume': 'AzureFileVolume'} + } + + def __init__( + self, + *, + mount_path: str, + read_only: Optional[bool] = None, + mount_options: Optional[List[str]] = None, + **kwargs + ): + super(CustomPersistentDiskProperties, self).__init__(**kwargs) + self.type = None # type: Optional[str] + self.mount_path = mount_path + self.read_only = read_only + self.mount_options = mount_options + + +class AzureFileVolume(CustomPersistentDiskProperties): + """The properties of the Azure File volume. Azure File shares are mounted as volumes. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of the underlying resource to mount as a persistent + disk.Constant filled by server. + :type type: str + :param mount_path: Required. The mount path of the persistent disk. + :type mount_path: str + :param read_only: Indicates whether the persistent disk is a readOnly one. + :type read_only: bool + :param mount_options: These are the mount options for a persistent disk. + :type mount_options: list[str] + :param share_name: Required. The share name of the Azure File share. + :type share_name: str + """ + + _validation = { + 'type': {'required': True}, + 'mount_path': {'required': True}, + 'share_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + 'read_only': {'key': 'readOnly', 'type': 'bool'}, + 'mount_options': {'key': 'mountOptions', 'type': '[str]'}, + 'share_name': {'key': 'shareName', 'type': 'str'}, + } + + def __init__( + self, + *, + mount_path: str, + share_name: str, + read_only: Optional[bool] = None, + mount_options: Optional[List[str]] = None, + **kwargs + ): + super(AzureFileVolume, self).__init__(mount_path=mount_path, read_only=read_only, mount_options=mount_options, **kwargs) + self.type = 'AzureFileVolume' # type: str + self.share_name = share_name + + +class BindingResource(ProxyResource): + """Binding resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the Binding resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BindingResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["BindingResourceProperties"] = None, + **kwargs + ): + super(BindingResource, self).__init__(**kwargs) + self.properties = properties + + +class BindingResourceCollection(msrest.serialization.Model): + """Object that includes an array of Binding resources and a possible link for next set. + + :param value: Collection of Binding resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BindingResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["BindingResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(BindingResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BindingResourceProperties(msrest.serialization.Model): + """Binding resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_name: The name of the bound resource. + :vartype resource_name: str + :ivar resource_type: The standard Azure resource type of the bound resource. + :vartype resource_type: str + :param resource_id: The Azure resource id of the bound resource. + :type resource_id: str + :param key: The key of the bound resource. + :type key: str + :param binding_parameters: Binding parameters of the Binding resource. + :type binding_parameters: dict[str, any] + :ivar generated_properties: The generated Spring Boot property file for this binding. The + secret will be deducted. + :vartype generated_properties: str + :ivar created_at: Creation time of the Binding resource. + :vartype created_at: str + :ivar updated_at: Update time of the Binding resource. + :vartype updated_at: str + """ + + _validation = { + 'resource_name': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'generated_properties': {'readonly': True}, + 'created_at': {'readonly': True}, + 'updated_at': {'readonly': True}, + } + + _attribute_map = { + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'str'}, + 'binding_parameters': {'key': 'bindingParameters', 'type': '{object}'}, + 'generated_properties': {'key': 'generatedProperties', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'str'}, + 'updated_at': {'key': 'updatedAt', 'type': 'str'}, + } + + def __init__( + self, + *, + resource_id: Optional[str] = None, + key: Optional[str] = None, + binding_parameters: Optional[Dict[str, Any]] = None, + **kwargs + ): + super(BindingResourceProperties, self).__init__(**kwargs) + self.resource_name = None + self.resource_type = None + self.resource_id = resource_id + self.key = key + self.binding_parameters = binding_parameters + self.generated_properties = None + self.created_at = None + self.updated_at = None + + +class Build(ProxyResource): + """Build resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the build resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildProperties'}, + } + + def __init__( + self, + *, + properties: Optional["BuildProperties"] = None, + **kwargs + ): + super(Build, self).__init__(**kwargs) + self.properties = properties + + +class BuildCollection(msrest.serialization.Model): + """Object that includes an array of Build resources and a possible link for next set. + + :param value: Collection of Build resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.Build] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Build]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Build"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(BuildCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BuilderProperties(msrest.serialization.Model): + """KPack Builder properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: Builder provision status. Possible values include: "Creating", + "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderProvisioningState + :param stack: Builder cluster stack property. + :type stack: ~azure.mgmt.appplatform.v2022_01_01_preview.models.StackProperties + :param buildpack_groups: Builder buildpack groups. + :type buildpack_groups: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpacksGroupProperties] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'stack': {'key': 'stack', 'type': 'StackProperties'}, + 'buildpack_groups': {'key': 'buildpackGroups', 'type': '[BuildpacksGroupProperties]'}, + } + + def __init__( + self, + *, + stack: Optional["StackProperties"] = None, + buildpack_groups: Optional[List["BuildpacksGroupProperties"]] = None, + **kwargs + ): + super(BuilderProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.stack = stack + self.buildpack_groups = buildpack_groups + + +class BuilderResource(ProxyResource): + """KPack Builder 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Property of the Builder resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuilderProperties'}, + } + + def __init__( + self, + *, + properties: Optional["BuilderProperties"] = None, + **kwargs + ): + super(BuilderResource, self).__init__(**kwargs) + self.properties = properties + + +class BuilderResourceCollection(msrest.serialization.Model): + """Object that includes an array of Builder resources and a possible link for next set. + + :param value: Collection of Builder resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuilderResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["BuilderResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(BuilderResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BuildpackBindingLaunchProperties(msrest.serialization.Model): + """Buildpack Binding Launch Properties. + + :param properties: Non-sensitive properties for launchProperties. + :type properties: dict[str, str] + :param secrets: Sensitive properties for launchProperties. + :type secrets: dict[str, str] + """ + + _attribute_map = { + 'properties': {'key': 'properties', 'type': '{str}'}, + 'secrets': {'key': 'secrets', 'type': '{str}'}, + } + + def __init__( + self, + *, + properties: Optional[Dict[str, str]] = None, + secrets: Optional[Dict[str, str]] = None, + **kwargs + ): + super(BuildpackBindingLaunchProperties, self).__init__(**kwargs) + self.properties = properties + self.secrets = secrets + + +class BuildpackBindingProperties(msrest.serialization.Model): + """Properties of a buildpack binding. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param binding_type: Buildpack Binding Type. Possible values include: "ApplicationInsights", + "ApacheSkyWalking", "AppDynamics", "Dynatrace", "NewRelic", "ElasticAPM". + :type binding_type: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingType + :ivar provisioning_state: State of the Buildpack Binding. Possible values include: "Creating", + "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingProvisioningState + :param launch_properties: The object describes the buildpack binding launch properties. + :type launch_properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingLaunchProperties + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'binding_type': {'key': 'bindingType', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'launch_properties': {'key': 'launchProperties', 'type': 'BuildpackBindingLaunchProperties'}, + } + + def __init__( + self, + *, + binding_type: Optional[Union[str, "BindingType"]] = None, + launch_properties: Optional["BuildpackBindingLaunchProperties"] = None, + **kwargs + ): + super(BuildpackBindingProperties, self).__init__(**kwargs) + self.binding_type = binding_type + self.provisioning_state = None + self.launch_properties = launch_properties + + +class BuildpackBindingResource(ProxyResource): + """Buildpack Binding Resource object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of a buildpack binding. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildpackBindingProperties'}, + } + + def __init__( + self, + *, + properties: Optional["BuildpackBindingProperties"] = None, + **kwargs + ): + super(BuildpackBindingResource, self).__init__(**kwargs) + self.properties = properties + + +class BuildpackBindingResourceCollection(msrest.serialization.Model): + """Object that includes an array of BuildpackBinding resources and a possible link for next set. + + :param value: Collection of BuildpackBinding resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuildpackBindingResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["BuildpackBindingResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(BuildpackBindingResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BuildpackProperties(msrest.serialization.Model): + """Buildpack properties payload. + + :param id: Id of the buildpack. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): + super(BuildpackProperties, self).__init__(**kwargs) + self.id = id + + +class BuildpacksGroupProperties(msrest.serialization.Model): + """Buildpack group properties of the Builder. + + :param name: Buildpack group name. + :type name: str + :param buildpacks: Buildpacks in the buildpack group. + :type buildpacks: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackProperties] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'buildpacks': {'key': 'buildpacks', 'type': '[BuildpackProperties]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + buildpacks: Optional[List["BuildpackProperties"]] = None, + **kwargs + ): + super(BuildpacksGroupProperties, self).__init__(**kwargs) + self.name = name + self.buildpacks = buildpacks + + +class BuildProperties(msrest.serialization.Model): + """Build resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param relative_path: The relative path of source code. + :type relative_path: str + :param builder: The resource id of builder to build the source code. + :type builder: str + :param agent_pool: The resource id of agent pool. + :type agent_pool: str + :ivar provisioning_state: Provisioning state of the KPack build result. Possible values + include: "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildProvisioningState + :param env: The environment variables for this build. + :type env: dict[str, str] + :ivar triggered_build_result: The build result triggered by this build. + :vartype triggered_build_result: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.TriggeredBuildResult + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'triggered_build_result': {'readonly': True}, + } + + _attribute_map = { + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'builder': {'key': 'builder', 'type': 'str'}, + 'agent_pool': {'key': 'agentPool', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'env': {'key': 'env', 'type': '{str}'}, + 'triggered_build_result': {'key': 'triggeredBuildResult', 'type': 'TriggeredBuildResult'}, + } + + def __init__( + self, + *, + relative_path: Optional[str] = None, + builder: Optional[str] = None, + agent_pool: Optional[str] = None, + env: Optional[Dict[str, str]] = None, + **kwargs + ): + super(BuildProperties, self).__init__(**kwargs) + self.relative_path = relative_path + self.builder = builder + self.agent_pool = agent_pool + self.provisioning_state = None + self.env = env + self.triggered_build_result = None + + +class BuildResult(ProxyResource): + """Build result resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the build result resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResultProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildResultProperties'}, + } + + def __init__( + self, + *, + properties: Optional["BuildResultProperties"] = None, + **kwargs + ): + super(BuildResult, self).__init__(**kwargs) + self.properties = properties + + +class BuildResultCollection(msrest.serialization.Model): + """Object that includes an array of Build result resources and a possible link for next set. + + :param value: Collection of Build result resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResult] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuildResult]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["BuildResult"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(BuildResultCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BuildResultLog(msrest.serialization.Model): + """Build result log resource properties payload. + + :param blob_url: The public download URL of this build result log. + :type blob_url: str + """ + + _attribute_map = { + 'blob_url': {'key': 'blobUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + blob_url: Optional[str] = None, + **kwargs + ): + super(BuildResultLog, self).__init__(**kwargs) + self.blob_url = blob_url + + +class BuildResultProperties(msrest.serialization.Model): + """Build result resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: The name of this build result. + :type name: str + :ivar provisioning_state: Provisioning state of the KPack build result. Possible values + include: "Queuing", "Building", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResultProvisioningState + :param build_pod_name: The build pod name which can be used to get the build log streaming. + :type build_pod_name: str + :ivar build_stages: All of the build stage (init-container and container) resources in build + pod. + :vartype build_stages: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildStageProperties] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'build_stages': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'build_pod_name': {'key': 'buildPodName', 'type': 'str'}, + 'build_stages': {'key': 'buildStages', 'type': '[BuildStageProperties]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + build_pod_name: Optional[str] = None, + **kwargs + ): + super(BuildResultProperties, self).__init__(**kwargs) + self.name = name + self.provisioning_state = None + self.build_pod_name = build_pod_name + self.build_stages = None + + +class UserSourceInfo(msrest.serialization.Model): + """Source information for a deployment. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: BuildResultUserSourceInfo, CustomContainerUserSourceInfo, UploadedUserSourceInfo. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'BuildResult': 'BuildResultUserSourceInfo', 'Container': 'CustomContainerUserSourceInfo', 'UploadedUserSourceInfo': 'UploadedUserSourceInfo'} + } + + def __init__( + self, + *, + version: Optional[str] = None, + **kwargs + ): + super(UserSourceInfo, self).__init__(**kwargs) + self.type = None # type: Optional[str] + self.version = version + + +class BuildResultUserSourceInfo(UserSourceInfo): + """Reference to a build result. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param build_result_id: Resource id of an existing succeeded build result under the same Spring + instance. + :type build_result_id: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'build_result_id': {'key': 'buildResultId', 'type': 'str'}, + } + + def __init__( + self, + *, + version: Optional[str] = None, + build_result_id: Optional[str] = None, + **kwargs + ): + super(BuildResultUserSourceInfo, self).__init__(version=version, **kwargs) + self.type = 'BuildResult' # type: str + self.build_result_id = build_result_id + + +class BuildService(ProxyResource): + """Build service resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the build resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildServiceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["BuildServiceProperties"] = None, + **kwargs + ): + super(BuildService, self).__init__(**kwargs) + self.properties = properties + + +class BuildServiceAgentPoolProperties(msrest.serialization.Model): + """Build service agent pool properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: Provisioning state of the build service agent pool. + :vartype provisioning_state: str + :param pool_size: build service agent pool size properties. + :type pool_size: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolSizeProperties + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'pool_size': {'key': 'poolSize', 'type': 'BuildServiceAgentPoolSizeProperties'}, + } + + def __init__( + self, + *, + pool_size: Optional["BuildServiceAgentPoolSizeProperties"] = None, + **kwargs + ): + super(BuildServiceAgentPoolProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.pool_size = pool_size + + +class BuildServiceAgentPoolResource(ProxyResource): + """The build service agent pool 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: build service agent pool properties. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'BuildServiceAgentPoolProperties'}, + } + + def __init__( + self, + *, + properties: Optional["BuildServiceAgentPoolProperties"] = None, + **kwargs + ): + super(BuildServiceAgentPoolResource, self).__init__(**kwargs) + self.properties = properties + + +class BuildServiceAgentPoolResourceCollection(msrest.serialization.Model): + """Object that includes an array of build service agent pool resources and a possible link for next set. + + :param value: Collection of build service agent pool resource. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuildServiceAgentPoolResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["BuildServiceAgentPoolResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(BuildServiceAgentPoolResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BuildServiceAgentPoolSizeProperties(msrest.serialization.Model): + """Build service agent pool size properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: The name of build service agent pool size. + :type name: str + :ivar cpu: The cpu property of build service agent pool size. + :vartype cpu: str + :ivar memory: The memory property of build service agent pool size. + :vartype memory: str + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(BuildServiceAgentPoolSizeProperties, self).__init__(**kwargs) + self.name = name + self.cpu = None + self.memory = None + + +class BuildServiceCollection(msrest.serialization.Model): + """Object that includes an array of Build service resources and a possible link for next set. + + :param value: Collection of Build service resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildService] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BuildService]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["BuildService"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(BuildServiceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class BuildServiceProperties(msrest.serialization.Model): + """Build service resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param k_pack_version: The installed KPack version in this build service. + :type k_pack_version: str + :ivar provisioning_state: Provisioning state of the KPack build result. Possible values + include: "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceProvisioningState + :param resource_requests: The runtime resource configuration of this build service. + :type resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServicePropertiesResourceRequests + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'k_pack_version': {'key': 'kPackVersion', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'BuildServicePropertiesResourceRequests'}, + } + + def __init__( + self, + *, + k_pack_version: Optional[str] = None, + resource_requests: Optional["BuildServicePropertiesResourceRequests"] = None, + **kwargs + ): + super(BuildServiceProperties, self).__init__(**kwargs) + self.k_pack_version = k_pack_version + self.provisioning_state = None + self.resource_requests = resource_requests + + +class BuildServicePropertiesResourceRequests(msrest.serialization.Model): + """The runtime resource configuration of this build service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: vCPU allocated to the entire build service node pool. + :vartype cpu: str + :ivar memory: Memory allocated to the entire build service node pool. + :vartype memory: str + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildServicePropertiesResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + + +class BuildStageProperties(msrest.serialization.Model): + """The build stage (init-container and container) resources in build pod. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of this build stage resource. + :vartype name: str + :ivar status: The provisioning state of this build stage resource. Possible values include: + "NotStarted", "Running", "Succeeded", "Failed". + :vartype status: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.KPackBuildStageProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BuildStageProperties, self).__init__(**kwargs) + self.name = None + self.status = None + + +class CertificateProperties(msrest.serialization.Model): + """Certificate resource payload. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ContentCertificateProperties, KeyVaultCertificateProperties. + + 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 type: Required. The type of the certificate source.Constant filled by server. + :type type: str + :ivar thumbprint: The thumbprint of certificate. + :vartype thumbprint: str + :ivar issuer: The issuer of certificate. + :vartype issuer: str + :ivar issued_date: The issue date of certificate. + :vartype issued_date: str + :ivar expiration_date: The expiration date of certificate. + :vartype expiration_date: str + :ivar activate_date: The activate date of certificate. + :vartype activate_date: str + :ivar subject_name: The subject name of certificate. + :vartype subject_name: str + :ivar dns_names: The domain list of certificate. + :vartype dns_names: list[str] + """ + + _validation = { + 'type': {'required': True}, + 'thumbprint': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issued_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'activate_date': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'dns_names': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issued_date': {'key': 'issuedDate', 'type': 'str'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'str'}, + 'activate_date': {'key': 'activateDate', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'dns_names': {'key': 'dnsNames', 'type': '[str]'}, + } + + _subtype_map = { + 'type': {'ContentCertificate': 'ContentCertificateProperties', 'KeyVaultCertificate': 'KeyVaultCertificateProperties'} + } + + def __init__( + self, + **kwargs + ): + super(CertificateProperties, self).__init__(**kwargs) + self.type = None # type: Optional[str] + self.thumbprint = None + self.issuer = None + self.issued_date = None + self.expiration_date = None + self.activate_date = None + self.subject_name = None + self.dns_names = None + + +class CertificateResource(ProxyResource): + """Certificate resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the certificate resource payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'CertificateProperties'}, + } + + def __init__( + self, + *, + properties: Optional["CertificateProperties"] = None, + **kwargs + ): + super(CertificateResource, self).__init__(**kwargs) + self.properties = properties + + +class CertificateResourceCollection(msrest.serialization.Model): + """Collection compose of certificate resources list and a possible link for next page. + + :param value: The certificate resources list. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResource] + :param next_link: The link to next page of certificate list. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[CertificateResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["CertificateResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(CertificateResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class CloudErrorBody(msrest.serialization.Model): + """An error response from the 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.appplatform.v2022_01_01_preview.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: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["CloudErrorBody"]] = None, + **kwargs + ): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class ClusterResourceProperties(msrest.serialization.Model): + """Service properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: Provisioning state of the Service. Possible values include: + "Creating", "Updating", "Deleting", "Deleted", "Succeeded", "Failed", "Moving", "Moved", + "MoveFailed". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ProvisioningState + :param network_profile: Network profile of the Service. + :type network_profile: ~azure.mgmt.appplatform.v2022_01_01_preview.models.NetworkProfile + :ivar version: Version of the Service. + :vartype version: int + :ivar service_id: ServiceInstanceEntity GUID which uniquely identifies a created resource. + :vartype service_id: str + :ivar power_state: Power state of the Service. Possible values include: "Running", "Stopped". + :vartype power_state: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.PowerState + :param zone_redundant: + :type zone_redundant: bool + :ivar fqdn: Fully qualified dns name of the service instance. + :vartype fqdn: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'version': {'readonly': True}, + 'service_id': {'readonly': True}, + 'power_state': {'readonly': True}, + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'network_profile': {'key': 'networkProfile', 'type': 'NetworkProfile'}, + 'version': {'key': 'version', 'type': 'int'}, + 'service_id': {'key': 'serviceId', 'type': 'str'}, + 'power_state': {'key': 'powerState', 'type': 'str'}, + 'zone_redundant': {'key': 'zoneRedundant', 'type': 'bool'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + } + + def __init__( + self, + *, + network_profile: Optional["NetworkProfile"] = None, + zone_redundant: Optional[bool] = False, + **kwargs + ): + super(ClusterResourceProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.network_profile = network_profile + self.version = None + self.service_id = None + self.power_state = None + self.zone_redundant = zone_redundant + self.fqdn = None + + +class ConfigServerGitProperty(msrest.serialization.Model): + """Property of git. + + All required parameters must be populated in order to send to Azure. + + :param repositories: Repositories of git. + :type repositories: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GitPatternRepository] + :param uri: Required. URI of the repository. + :type uri: str + :param label: Label of the repository. + :type label: str + :param search_paths: Searching path of the repository. + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'uri': {'required': True}, + } + + _attribute_map = { + 'repositories': {'key': 'repositories', 'type': '[GitPatternRepository]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__( + self, + *, + uri: str, + repositories: Optional[List["GitPatternRepository"]] = None, + label: Optional[str] = None, + search_paths: Optional[List[str]] = None, + username: Optional[str] = None, + password: Optional[str] = None, + host_key: Optional[str] = None, + host_key_algorithm: Optional[str] = None, + private_key: Optional[str] = None, + strict_host_key_checking: Optional[bool] = None, + **kwargs + ): + super(ConfigServerGitProperty, self).__init__(**kwargs) + self.repositories = repositories + self.uri = uri + self.label = label + self.search_paths = search_paths + self.username = username + self.password = password + self.host_key = host_key + self.host_key_algorithm = host_key_algorithm + self.private_key = private_key + self.strict_host_key_checking = strict_host_key_checking + + +class ConfigServerProperties(msrest.serialization.Model): + """Config server git properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the config server. Possible values include: "NotAvailable", + "Deleted", "Failed", "Succeeded", "Updating". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerState + :param error: Error when apply config server settings. + :type error: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Error + :param config_server: Settings of config server. + :type config_server: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerSettings + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'config_server': {'key': 'configServer', 'type': 'ConfigServerSettings'}, + } + + def __init__( + self, + *, + error: Optional["Error"] = None, + config_server: Optional["ConfigServerSettings"] = None, + **kwargs + ): + super(ConfigServerProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.error = error + self.config_server = config_server + + +class ConfigServerResource(ProxyResource): + """Config Server 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the Config Server resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ConfigServerProperties'}, + } + + def __init__( + self, + *, + properties: Optional["ConfigServerProperties"] = None, + **kwargs + ): + super(ConfigServerResource, self).__init__(**kwargs) + self.properties = properties + + +class ConfigServerSettings(msrest.serialization.Model): + """The settings of config server. + + :param git_property: Property of git environment. + :type git_property: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerGitProperty + """ + + _attribute_map = { + 'git_property': {'key': 'gitProperty', 'type': 'ConfigServerGitProperty'}, + } + + def __init__( + self, + *, + git_property: Optional["ConfigServerGitProperty"] = None, + **kwargs + ): + super(ConfigServerSettings, self).__init__(**kwargs) + self.git_property = git_property + + +class ConfigServerSettingsErrorRecord(msrest.serialization.Model): + """Error record of the config server settings. + + :param name: The name of the config server settings error record. + :type name: str + :param uri: The uri of the config server settings error record. + :type uri: str + :param messages: The detail error messages of the record. + :type messages: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'messages': {'key': 'messages', 'type': '[str]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + uri: Optional[str] = None, + messages: Optional[List[str]] = None, + **kwargs + ): + super(ConfigServerSettingsErrorRecord, self).__init__(**kwargs) + self.name = name + self.uri = uri + self.messages = messages + + +class ConfigServerSettingsValidateResult(msrest.serialization.Model): + """Validation result for config server settings. + + :param is_valid: Indicate if the config server settings are valid. + :type is_valid: bool + :param details: The detail validation results. + :type details: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerSettingsErrorRecord] + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'details': {'key': 'details', 'type': '[ConfigServerSettingsErrorRecord]'}, + } + + def __init__( + self, + *, + is_valid: Optional[bool] = None, + details: Optional[List["ConfigServerSettingsErrorRecord"]] = None, + **kwargs + ): + super(ConfigServerSettingsValidateResult, self).__init__(**kwargs) + self.is_valid = is_valid + self.details = details + + +class ConfigurationServiceGitProperty(msrest.serialization.Model): + """Property of git environment. + + :param repositories: Repositories of Application Configuration Service git property. + :type repositories: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceGitRepository] + """ + + _attribute_map = { + 'repositories': {'key': 'repositories', 'type': '[ConfigurationServiceGitRepository]'}, + } + + def __init__( + self, + *, + repositories: Optional[List["ConfigurationServiceGitRepository"]] = None, + **kwargs + ): + super(ConfigurationServiceGitProperty, self).__init__(**kwargs) + self.repositories = repositories + + +class ConfigurationServiceGitPropertyValidateResult(msrest.serialization.Model): + """Validation result for configuration service settings. + + :param is_valid: Indicate if the configuration service settings are valid. + :type is_valid: bool + :param git_repos_validation_result: The detail validation results. + :type git_repos_validation_result: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ValidationMessages] + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'git_repos_validation_result': {'key': 'gitReposValidationResult', 'type': '[ValidationMessages]'}, + } + + def __init__( + self, + *, + is_valid: Optional[bool] = None, + git_repos_validation_result: Optional[List["ValidationMessages"]] = None, + **kwargs + ): + super(ConfigurationServiceGitPropertyValidateResult, self).__init__(**kwargs) + self.is_valid = is_valid + self.git_repos_validation_result = git_repos_validation_result + + +class ConfigurationServiceGitRepository(msrest.serialization.Model): + """Git repository property payload for Application Configuration Service. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the repository. + :type name: str + :param patterns: Required. Collection of patterns of the repository. + :type patterns: list[str] + :param uri: Required. URI of the repository. + :type uri: str + :param label: Required. Label of the repository. + :type label: str + :param search_paths: Searching path of the repository. + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'name': {'required': True}, + 'patterns': {'required': True}, + 'uri': {'required': True}, + 'label': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'patterns': {'key': 'patterns', 'type': '[str]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: str, + patterns: List[str], + uri: str, + label: str, + search_paths: Optional[List[str]] = None, + username: Optional[str] = None, + password: Optional[str] = None, + host_key: Optional[str] = None, + host_key_algorithm: Optional[str] = None, + private_key: Optional[str] = None, + strict_host_key_checking: Optional[bool] = None, + **kwargs + ): + super(ConfigurationServiceGitRepository, self).__init__(**kwargs) + self.name = name + self.patterns = patterns + self.uri = uri + self.label = label + self.search_paths = search_paths + self.username = username + self.password = password + self.host_key = host_key + self.host_key_algorithm = host_key_algorithm + self.private_key = private_key + self.strict_host_key_checking = strict_host_key_checking + + +class ConfigurationServiceInstance(msrest.serialization.Model): + """Collection of instances belong to the Application Configuration Service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Application Configuration Service instance. + :vartype name: str + :ivar status: Status of the Application Configuration Service instance. + :vartype status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceInstance, self).__init__(**kwargs) + self.name = None + self.status = None + + +class ConfigurationServiceProperties(msrest.serialization.Model): + """Application Configuration Service properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Application Configuration Service. Possible values + include: "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceProvisioningState + :ivar resource_requests: The requested resource quantity for required CPU and Memory. + :vartype resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResourceRequests + :ivar instances: Collection of instances belong to Application Configuration Service. + :vartype instances: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceInstance] + :param settings: The settings of Application Configuration Service. + :type settings: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceSettings + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'resource_requests': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'ConfigurationServiceResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[ConfigurationServiceInstance]'}, + 'settings': {'key': 'settings', 'type': 'ConfigurationServiceSettings'}, + } + + def __init__( + self, + *, + settings: Optional["ConfigurationServiceSettings"] = None, + **kwargs + ): + super(ConfigurationServiceProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.resource_requests = None + self.instances = None + self.settings = settings + + +class ConfigurationServiceResource(ProxyResource): + """Application Configuration Service 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Application Configuration Service properties payload. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ConfigurationServiceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["ConfigurationServiceProperties"] = None, + **kwargs + ): + super(ConfigurationServiceResource, self).__init__(**kwargs) + self.properties = properties + + +class ConfigurationServiceResourceCollection(msrest.serialization.Model): + """Object that includes an array of configuration service resources and a possible link for next set. + + :param value: Collection of configuration service resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ConfigurationServiceResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ConfigurationServiceResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ConfigurationServiceResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ConfigurationServiceResourceRequests(msrest.serialization.Model): + """Resource request payload of Application Configuration Service. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: Cpu allocated to each Application Configuration Service instance. + :vartype cpu: str + :ivar memory: Memory allocated to each Application Configuration Service instance. + :vartype memory: str + :ivar instance_count: Instance count of the Application Configuration Service. + :vartype instance_count: int + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + 'instance_count': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ConfigurationServiceResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + self.instance_count = None + + +class ConfigurationServiceSettings(msrest.serialization.Model): + """The settings of Application Configuration Service. + + :param git_property: Property of git environment. + :type git_property: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceGitProperty + """ + + _attribute_map = { + 'git_property': {'key': 'gitProperty', 'type': 'ConfigurationServiceGitProperty'}, + } + + def __init__( + self, + *, + git_property: Optional["ConfigurationServiceGitProperty"] = None, + **kwargs + ): + super(ConfigurationServiceSettings, self).__init__(**kwargs) + self.git_property = git_property + + +class ConfigurationServiceSettingsValidateResult(msrest.serialization.Model): + """Validation result for configuration service settings. + + :param git_property_validation_result: Validation result for configuration service settings. + :type git_property_validation_result: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceGitPropertyValidateResult + """ + + _attribute_map = { + 'git_property_validation_result': {'key': 'gitPropertyValidationResult', 'type': 'ConfigurationServiceGitPropertyValidateResult'}, + } + + def __init__( + self, + *, + git_property_validation_result: Optional["ConfigurationServiceGitPropertyValidateResult"] = None, + **kwargs + ): + super(ConfigurationServiceSettingsValidateResult, self).__init__(**kwargs) + self.git_property_validation_result = git_property_validation_result + + +class ContainerProbeSettings(msrest.serialization.Model): + """Container liveness and readiness probe settings. + + :param disable_probe: Indicates whether disable the liveness and readiness probe. + :type disable_probe: bool + """ + + _attribute_map = { + 'disable_probe': {'key': 'disableProbe', 'type': 'bool'}, + } + + def __init__( + self, + *, + disable_probe: Optional[bool] = None, + **kwargs + ): + super(ContainerProbeSettings, self).__init__(**kwargs) + self.disable_probe = disable_probe + + +class ContentCertificateProperties(CertificateProperties): + """Properties of certificate imported from key vault. + + 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 type: Required. The type of the certificate source.Constant filled by server. + :type type: str + :ivar thumbprint: The thumbprint of certificate. + :vartype thumbprint: str + :ivar issuer: The issuer of certificate. + :vartype issuer: str + :ivar issued_date: The issue date of certificate. + :vartype issued_date: str + :ivar expiration_date: The expiration date of certificate. + :vartype expiration_date: str + :ivar activate_date: The activate date of certificate. + :vartype activate_date: str + :ivar subject_name: The subject name of certificate. + :vartype subject_name: str + :ivar dns_names: The domain list of certificate. + :vartype dns_names: list[str] + :param content: Required. The content of uploaded certificate. + :type content: str + """ + + _validation = { + 'type': {'required': True}, + 'thumbprint': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issued_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'activate_date': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'dns_names': {'readonly': True}, + 'content': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issued_date': {'key': 'issuedDate', 'type': 'str'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'str'}, + 'activate_date': {'key': 'activateDate', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'dns_names': {'key': 'dnsNames', 'type': '[str]'}, + 'content': {'key': 'content', 'type': 'str'}, + } + + def __init__( + self, + *, + content: str, + **kwargs + ): + super(ContentCertificateProperties, self).__init__(**kwargs) + self.type = 'ContentCertificate' # type: str + self.content = content + + +class CustomContainer(msrest.serialization.Model): + """Custom container payload. + + :param server: The name of the registry that contains the container image. + :type server: str + :param container_image: Container image of the custom container. This should be in the form of + :code:``::code:`` without the server name of the registry. + :type container_image: str + :param command: Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is + used if this is not provided. + :type command: list[str] + :param args: Arguments to the entrypoint. The docker image's CMD is used if this is not + provided. + :type args: list[str] + :param image_registry_credential: Credential of the image registry. + :type image_registry_credential: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ImageRegistryCredential + """ + + _attribute_map = { + 'server': {'key': 'server', 'type': 'str'}, + 'container_image': {'key': 'containerImage', 'type': 'str'}, + 'command': {'key': 'command', 'type': '[str]'}, + 'args': {'key': 'args', 'type': '[str]'}, + 'image_registry_credential': {'key': 'imageRegistryCredential', 'type': 'ImageRegistryCredential'}, + } + + def __init__( + self, + *, + server: Optional[str] = None, + container_image: Optional[str] = None, + command: Optional[List[str]] = None, + args: Optional[List[str]] = None, + image_registry_credential: Optional["ImageRegistryCredential"] = None, + **kwargs + ): + super(CustomContainer, self).__init__(**kwargs) + self.server = server + self.container_image = container_image + self.command = command + self.args = args + self.image_registry_credential = image_registry_credential + + +class CustomContainerUserSourceInfo(UserSourceInfo): + """Custom container user source info. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param custom_container: Custom container payload. + :type custom_container: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomContainer + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'custom_container': {'key': 'customContainer', 'type': 'CustomContainer'}, + } + + def __init__( + self, + *, + version: Optional[str] = None, + custom_container: Optional["CustomContainer"] = None, + **kwargs + ): + super(CustomContainerUserSourceInfo, self).__init__(version=version, **kwargs) + self.type = 'Container' # type: str + self.custom_container = custom_container + + +class CustomDomainProperties(msrest.serialization.Model): + """Custom domain of app resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + :ivar app_name: The app name of domain. + :vartype app_name: str + :param cert_name: The bound certificate name of domain. + :type cert_name: str + """ + + _validation = { + 'app_name': {'readonly': True}, + } + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'app_name': {'key': 'appName', 'type': 'str'}, + 'cert_name': {'key': 'certName', 'type': 'str'}, + } + + def __init__( + self, + *, + thumbprint: Optional[str] = None, + cert_name: Optional[str] = None, + **kwargs + ): + super(CustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = thumbprint + self.app_name = None + self.cert_name = cert_name + + +class CustomDomainResource(ProxyResource): + """Custom domain resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the custom domain resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'CustomDomainProperties'}, + } + + def __init__( + self, + *, + properties: Optional["CustomDomainProperties"] = None, + **kwargs + ): + super(CustomDomainResource, self).__init__(**kwargs) + self.properties = properties + + +class CustomDomainResourceCollection(msrest.serialization.Model): + """Collection compose of a custom domain resources list and a possible link for next page. + + :param value: The custom domain resources list. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource] + :param next_link: The link to next page of custom domain list. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[CustomDomainResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["CustomDomainResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(CustomDomainResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class CustomDomainValidatePayload(msrest.serialization.Model): + """Custom domain validate payload. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name to be validated. + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + **kwargs + ): + super(CustomDomainValidatePayload, self).__init__(**kwargs) + self.name = name + + +class CustomDomainValidateResult(msrest.serialization.Model): + """Validation result for custom domain. + + :param is_valid: Indicates if domain name is valid. + :type is_valid: bool + :param message: Message of why domain name is invalid. + :type message: str + """ + + _attribute_map = { + 'is_valid': {'key': 'isValid', 'type': 'bool'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + is_valid: Optional[bool] = None, + message: Optional[str] = None, + **kwargs + ): + super(CustomDomainValidateResult, self).__init__(**kwargs) + self.is_valid = is_valid + self.message = message + + +class CustomPersistentDiskResource(msrest.serialization.Model): + """Custom persistent disk resource payload. + + All required parameters must be populated in order to send to Azure. + + :param custom_persistent_disk_properties: Properties of the custom persistent disk resource + payload. + :type custom_persistent_disk_properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomPersistentDiskProperties + :param storage_id: Required. The resource id of Azure Spring Cloud Storage resource. + :type storage_id: str + """ + + _validation = { + 'storage_id': {'required': True}, + } + + _attribute_map = { + 'custom_persistent_disk_properties': {'key': 'customPersistentDiskProperties', 'type': 'CustomPersistentDiskProperties'}, + 'storage_id': {'key': 'storageId', 'type': 'str'}, + } + + def __init__( + self, + *, + storage_id: str, + custom_persistent_disk_properties: Optional["CustomPersistentDiskProperties"] = None, + **kwargs + ): + super(CustomPersistentDiskResource, self).__init__(**kwargs) + self.custom_persistent_disk_properties = custom_persistent_disk_properties + self.storage_id = storage_id + + +class DeploymentInstance(msrest.serialization.Model): + """Deployment instance payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the deployment instance. + :vartype name: str + :ivar status: Status of the deployment instance. + :vartype status: str + :ivar reason: Failed reason of the deployment instance. + :vartype reason: str + :ivar discovery_status: Discovery status of the deployment instance. + :vartype discovery_status: str + :ivar start_time: Start time of the deployment instance. + :vartype start_time: str + :ivar zone: Availability zone information of the deployment instance. + :vartype zone: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + 'reason': {'readonly': True}, + 'discovery_status': {'readonly': True}, + 'start_time': {'readonly': True}, + 'zone': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'discovery_status': {'key': 'discoveryStatus', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'zone': {'key': 'zone', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeploymentInstance, self).__init__(**kwargs) + self.name = None + self.status = None + self.reason = None + self.discovery_status = None + self.start_time = None + self.zone = None + + +class DeploymentResource(ProxyResource): + """Deployment resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the Deployment resource. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceProperties + :param sku: Sku of the Deployment resource. + :type sku: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Sku + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'DeploymentResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + *, + properties: Optional["DeploymentResourceProperties"] = None, + sku: Optional["Sku"] = None, + **kwargs + ): + super(DeploymentResource, self).__init__(**kwargs) + self.properties = properties + self.sku = sku + + +class DeploymentResourceCollection(msrest.serialization.Model): + """Object that includes an array of App resources and a possible link for next set. + + :param value: Collection of Deployment resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DeploymentResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["DeploymentResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(DeploymentResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class DeploymentResourceProperties(msrest.serialization.Model): + """Deployment resource properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param source: Uploaded source information of the deployment. + :type source: ~azure.mgmt.appplatform.v2022_01_01_preview.models.UserSourceInfo + :param deployment_settings: Deployment settings of the Deployment. + :type deployment_settings: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentSettings + :ivar provisioning_state: Provisioning state of the Deployment. Possible values include: + "Creating", "Updating", "Succeeded", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceProvisioningState + :ivar status: Status of the Deployment. Possible values include: "Stopped", "Running". + :vartype status: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceStatus + :param active: Indicates whether the Deployment is active. + :type active: bool + :ivar instances: Collection of instances belong to the Deployment. + :vartype instances: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentInstance] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'status': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'UserSourceInfo'}, + 'deployment_settings': {'key': 'deploymentSettings', 'type': 'DeploymentSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'active': {'key': 'active', 'type': 'bool'}, + 'instances': {'key': 'instances', 'type': '[DeploymentInstance]'}, + } + + def __init__( + self, + *, + source: Optional["UserSourceInfo"] = None, + deployment_settings: Optional["DeploymentSettings"] = None, + active: Optional[bool] = None, + **kwargs + ): + super(DeploymentResourceProperties, self).__init__(**kwargs) + self.source = source + self.deployment_settings = deployment_settings + self.provisioning_state = None + self.status = None + self.active = active + self.instances = None + + +class DeploymentSettings(msrest.serialization.Model): + """Deployment settings payload. + + :param resource_requests: The requested resource quantity for required CPU and Memory. It is + recommended that using this field to represent the required CPU and Memory, the old field cpu + and memoryInGB will be deprecated later. + :type resource_requests: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceRequests + :param environment_variables: Collection of environment variables. + :type environment_variables: dict[str, str] + :param addon_configs: Collection of addons. + :type addon_configs: dict[str, dict[str, any]] + :param container_probe_settings: Container liveness and readiness probe settings. + :type container_probe_settings: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ContainerProbeSettings + """ + + _attribute_map = { + 'resource_requests': {'key': 'resourceRequests', 'type': 'ResourceRequests'}, + 'environment_variables': {'key': 'environmentVariables', 'type': '{str}'}, + 'addon_configs': {'key': 'addonConfigs', 'type': '{{object}}'}, + 'container_probe_settings': {'key': 'containerProbeSettings', 'type': 'ContainerProbeSettings'}, + } + + def __init__( + self, + *, + resource_requests: Optional["ResourceRequests"] = None, + environment_variables: Optional[Dict[str, str]] = None, + addon_configs: Optional[Dict[str, Dict[str, Any]]] = None, + container_probe_settings: Optional["ContainerProbeSettings"] = None, + **kwargs + ): + super(DeploymentSettings, self).__init__(**kwargs) + self.resource_requests = resource_requests + self.environment_variables = environment_variables + self.addon_configs = addon_configs + self.container_probe_settings = container_probe_settings + + +class DiagnosticParameters(msrest.serialization.Model): + """Diagnostic parameters of diagnostic operations. + + :param app_instance: App instance name. + :type app_instance: str + :param file_path: Your target file path in your own BYOS. + :type file_path: str + :param duration: Duration of your JFR. 1 min can be represented by 1m or 60s. + :type duration: str + """ + + _attribute_map = { + 'app_instance': {'key': 'appInstance', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + 'duration': {'key': 'duration', 'type': 'str'}, + } + + def __init__( + self, + *, + app_instance: Optional[str] = None, + file_path: Optional[str] = None, + duration: Optional[str] = None, + **kwargs + ): + super(DiagnosticParameters, self).__init__(**kwargs) + self.app_instance = app_instance + self.file_path = file_path + self.duration = duration + + +class Error(msrest.serialization.Model): + """The error code compose of code and message. + + :param code: The code of error. + :type code: str + :param message: The message of error. + :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(Error, self).__init__(**kwargs) + self.code = code + self.message = message + + +class GatewayApiMetadataProperties(msrest.serialization.Model): + """API metadata property for Spring Cloud Gateway. + + :param title: Title describing the context of the APIs available on the Gateway instance + (default: ``Spring Cloud Gateway for K8S``\ ). + :type title: str + :param description: Detailed description of the APIs available on the Gateway instance + (default: ``Generated OpenAPI 3 document that describes the API routes configured.``\ ). + :type description: str + :param documentation: Location of additional documentation for the APIs available on the + Gateway instance. + :type documentation: str + :param version: Version of APIs available on this Gateway instance (default: ``unspecified``\ + ). + :type version: str + :param server_url: Base URL that API consumers will use to access APIs on the Gateway instance. + :type server_url: str + """ + + _attribute_map = { + 'title': {'key': 'title', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'documentation': {'key': 'documentation', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'server_url': {'key': 'serverUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + title: Optional[str] = None, + description: Optional[str] = None, + documentation: Optional[str] = None, + version: Optional[str] = None, + server_url: Optional[str] = None, + **kwargs + ): + super(GatewayApiMetadataProperties, self).__init__(**kwargs) + self.title = title + self.description = description + self.documentation = documentation + self.version = version + self.server_url = server_url + + +class GatewayApiRoute(msrest.serialization.Model): + """API route config of the Spring Cloud Gateway. + + :param title: A title, will be applied to methods in the generated OpenAPI documentation. + :type title: str + :param description: A description, will be applied to methods in the generated OpenAPI + documentation. + :type description: str + :param uri: Full uri, will override ``appName``. + :type uri: str + :param sso_enabled: Enable sso validation. + :type sso_enabled: bool + :param token_relay: Pass currently-authenticated user's identity token to application service, + default is 'false'. + :type token_relay: bool + :param predicates: A number of conditions to evaluate a route for each request. Each predicate + may be evaluated against request headers and parameter values. All of the predicates associated + with a route must evaluate to true for the route to be matched to the request. + :type predicates: list[str] + :param filters: To modify the request before sending it to the target endpoint, or the received + response. + :type filters: list[str] + :param order: Route processing order. + :type order: int + :param tags: A set of tags. Classification tags, will be applied to methods in the generated + OpenAPI documentation. + :type tags: list[str] + """ + + _attribute_map = { + 'title': {'key': 'title', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'sso_enabled': {'key': 'ssoEnabled', 'type': 'bool'}, + 'token_relay': {'key': 'tokenRelay', 'type': 'bool'}, + 'predicates': {'key': 'predicates', 'type': '[str]'}, + 'filters': {'key': 'filters', 'type': '[str]'}, + 'order': {'key': 'order', 'type': 'int'}, + 'tags': {'key': 'tags', 'type': '[str]'}, + } + + def __init__( + self, + *, + title: Optional[str] = None, + description: Optional[str] = None, + uri: Optional[str] = None, + sso_enabled: Optional[bool] = None, + token_relay: Optional[bool] = None, + predicates: Optional[List[str]] = None, + filters: Optional[List[str]] = None, + order: Optional[int] = None, + tags: Optional[List[str]] = None, + **kwargs + ): + super(GatewayApiRoute, self).__init__(**kwargs) + self.title = title + self.description = description + self.uri = uri + self.sso_enabled = sso_enabled + self.token_relay = token_relay + self.predicates = predicates + self.filters = filters + self.order = order + self.tags = tags + + +class GatewayCorsProperties(msrest.serialization.Model): + """Cross-Origin Resource Sharing property. + + :param allowed_origins: Allowed origins to make cross-site requests. The special value ``*`` + allows all domains. + :type allowed_origins: list[str] + :param allowed_methods: Allowed HTTP methods on cross-site requests. The special value ``*`` + allows all methods. If not set, ``GET`` and ``HEAD`` are allowed by default. + :type allowed_methods: list[str] + :param allowed_headers: Allowed headers in cross-site requests. The special value ``*`` allows + actual requests to send any header. + :type allowed_headers: list[str] + :param max_age: How long, in seconds, the response from a pre-flight request can be cached by + clients. + :type max_age: int + :param allow_credentials: Whether user credentials are supported on cross-site requests. Valid + values: ``true``\ , ``false``. + :type allow_credentials: bool + :param exposed_headers: HTTP response headers to expose for cross-site requests. + :type exposed_headers: list[str] + """ + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'allowed_methods': {'key': 'allowedMethods', 'type': '[str]'}, + 'allowed_headers': {'key': 'allowedHeaders', 'type': '[str]'}, + 'max_age': {'key': 'maxAge', 'type': 'int'}, + 'allow_credentials': {'key': 'allowCredentials', 'type': 'bool'}, + 'exposed_headers': {'key': 'exposedHeaders', 'type': '[str]'}, + } + + def __init__( + self, + *, + allowed_origins: Optional[List[str]] = None, + allowed_methods: Optional[List[str]] = None, + allowed_headers: Optional[List[str]] = None, + max_age: Optional[int] = None, + allow_credentials: Optional[bool] = None, + exposed_headers: Optional[List[str]] = None, + **kwargs + ): + super(GatewayCorsProperties, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + self.allowed_methods = allowed_methods + self.allowed_headers = allowed_headers + self.max_age = max_age + self.allow_credentials = allow_credentials + self.exposed_headers = exposed_headers + + +class GatewayCustomDomainProperties(msrest.serialization.Model): + """The properties of custom domain for Spring Cloud Gateway. + + :param thumbprint: The thumbprint of bound certificate. + :type thumbprint: str + """ + + _attribute_map = { + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + } + + def __init__( + self, + *, + thumbprint: Optional[str] = None, + **kwargs + ): + super(GatewayCustomDomainProperties, self).__init__(**kwargs) + self.thumbprint = thumbprint + + +class GatewayCustomDomainResource(ProxyResource): + """Custom domain of the Spring Cloud Gateway. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: The properties of custom domain for Spring Cloud Gateway. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'GatewayCustomDomainProperties'}, + } + + def __init__( + self, + *, + properties: Optional["GatewayCustomDomainProperties"] = None, + **kwargs + ): + super(GatewayCustomDomainResource, self).__init__(**kwargs) + self.properties = properties + + +class GatewayCustomDomainResourceCollection(msrest.serialization.Model): + """Object that includes an array of Spring Cloud Gateway custom domain resources and a possible link for next set. + + :param value: Collection of Spring Cloud Gateway custom domain resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayCustomDomainResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["GatewayCustomDomainResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(GatewayCustomDomainResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class GatewayInstance(msrest.serialization.Model): + """Collection of instances belong to the Spring Cloud Gateway. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Spring Cloud Gateway instance. + :vartype name: str + :ivar status: Status of the Spring Cloud Gateway instance. + :vartype status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayInstance, self).__init__(**kwargs) + self.name = None + self.status = None + + +class GatewayOperatorProperties(msrest.serialization.Model): + """Properties of the Spring Cloud Gateway Operator. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar resource_requests: The requested resource quantity for required CPU and Memory. + :vartype resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayOperatorResourceRequests + :ivar instances: Collection of instances belong to Spring Cloud Gateway operator. + :vartype instances: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayInstance] + """ + + _validation = { + 'resource_requests': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'resource_requests': {'key': 'resourceRequests', 'type': 'GatewayOperatorResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[GatewayInstance]'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayOperatorProperties, self).__init__(**kwargs) + self.resource_requests = None + self.instances = None + + +class GatewayOperatorResourceRequests(msrest.serialization.Model): + """Properties of the Spring Cloud Gateway Operator. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: Cpu allocated to each Spring Cloud Gateway Operator instance. + :vartype cpu: str + :ivar memory: Memory allocated to each Spring Cloud Gateway Operator instance. + :vartype memory: str + :ivar instance_count: Instance count of the Spring Cloud Gateway Operator. + :vartype instance_count: int + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + 'instance_count': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(GatewayOperatorResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + self.instance_count = None + + +class GatewayProperties(msrest.serialization.Model): + """Spring Cloud Gateway properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Spring Cloud Gateway. Possible values include: + "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayProvisioningState + :param public: Indicates whether the Spring Cloud Gateway exposes endpoint. + :type public: bool + :ivar url: URL of the Spring Cloud Gateway, exposed when 'public' is true. + :vartype url: str + :param https_only: Indicate if only https is allowed. + :type https_only: bool + :param sso_properties: Single sign-on related configuration. + :type sso_properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SsoProperties + :param api_metadata_properties: API metadata property for Spring Cloud Gateway. + :type api_metadata_properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayApiMetadataProperties + :param cors_properties: Cross-Origin Resource Sharing property. + :type cors_properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCorsProperties + :param resource_requests: The requested resource quantity for required CPU and Memory. + :type resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResourceRequests + :ivar instances: Collection of instances belong to Spring Cloud Gateway. + :vartype instances: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayInstance] + :ivar operator_properties: Properties of the Spring Cloud Gateway Operator. + :vartype operator_properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayOperatorProperties + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'url': {'readonly': True}, + 'instances': {'readonly': True}, + 'operator_properties': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'public': {'key': 'public', 'type': 'bool'}, + 'url': {'key': 'url', 'type': 'str'}, + 'https_only': {'key': 'httpsOnly', 'type': 'bool'}, + 'sso_properties': {'key': 'ssoProperties', 'type': 'SsoProperties'}, + 'api_metadata_properties': {'key': 'apiMetadataProperties', 'type': 'GatewayApiMetadataProperties'}, + 'cors_properties': {'key': 'corsProperties', 'type': 'GatewayCorsProperties'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'GatewayResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[GatewayInstance]'}, + 'operator_properties': {'key': 'operatorProperties', 'type': 'GatewayOperatorProperties'}, + } + + def __init__( + self, + *, + public: Optional[bool] = None, + https_only: Optional[bool] = None, + sso_properties: Optional["SsoProperties"] = None, + api_metadata_properties: Optional["GatewayApiMetadataProperties"] = None, + cors_properties: Optional["GatewayCorsProperties"] = None, + resource_requests: Optional["GatewayResourceRequests"] = None, + **kwargs + ): + super(GatewayProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.public = public + self.url = None + self.https_only = https_only + self.sso_properties = sso_properties + self.api_metadata_properties = api_metadata_properties + self.cors_properties = cors_properties + self.resource_requests = resource_requests + self.instances = None + self.operator_properties = None + + +class GatewayResource(ProxyResource): + """Spring Cloud Gateway 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Spring Cloud Gateway properties payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayProperties + :param sku: Sku of the Spring Cloud Gateway resource. + :type sku: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Sku + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'GatewayProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + *, + properties: Optional["GatewayProperties"] = None, + sku: Optional["Sku"] = None, + **kwargs + ): + super(GatewayResource, self).__init__(**kwargs) + self.properties = properties + self.sku = sku + + +class GatewayResourceCollection(msrest.serialization.Model): + """Object that includes an array of gateway resources and a possible link for next set. + + :param value: Collection of gateway resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["GatewayResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(GatewayResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class GatewayResourceRequests(msrest.serialization.Model): + """Resource request payload of Spring Cloud Gateway. + + :param cpu: Cpu allocated to each Spring Cloud Gateway instance. + :type cpu: str + :param memory: Memory allocated to each Spring Cloud Gateway instance. + :type memory: str + """ + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + *, + cpu: Optional[str] = None, + memory: Optional[str] = None, + **kwargs + ): + super(GatewayResourceRequests, self).__init__(**kwargs) + self.cpu = cpu + self.memory = memory + + +class GatewayRouteConfigProperties(msrest.serialization.Model): + """API route config of the Spring Cloud Gateway. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Spring Cloud Gateway route config. Possible values + include: "Creating", "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayProvisioningState + :param app_resource_id: The resource Id of the Azure Spring Cloud app, required unless route + defines ``uri``. + :type app_resource_id: str + :param routes: Array of API routes, each route contains properties such as ``title``\ , + ``uri``\ , ``ssoEnabled``\ , ``predicates``\ , ``filters``. + :type routes: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayApiRoute] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'app_resource_id': {'key': 'appResourceId', 'type': 'str'}, + 'routes': {'key': 'routes', 'type': '[GatewayApiRoute]'}, + } + + def __init__( + self, + *, + app_resource_id: Optional[str] = None, + routes: Optional[List["GatewayApiRoute"]] = None, + **kwargs + ): + super(GatewayRouteConfigProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.app_resource_id = app_resource_id + self.routes = routes + + +class GatewayRouteConfigResource(ProxyResource): + """Spring Cloud Gateway route config 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: API route config of the Spring Cloud Gateway. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'GatewayRouteConfigProperties'}, + } + + def __init__( + self, + *, + properties: Optional["GatewayRouteConfigProperties"] = None, + **kwargs + ): + super(GatewayRouteConfigResource, self).__init__(**kwargs) + self.properties = properties + + +class GatewayRouteConfigResourceCollection(msrest.serialization.Model): + """Object that includes an array of Spring Cloud Gateway route config resources and a possible link for next set. + + :param value: Collection of Spring Cloud Gateway route config resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRouteConfigResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["GatewayRouteConfigResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(GatewayRouteConfigResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class GitPatternRepository(msrest.serialization.Model): + """Git repository property payload for config server. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the repository. + :type name: str + :param pattern: Collection of pattern of the repository. + :type pattern: list[str] + :param uri: Required. URI of the repository. + :type uri: str + :param label: Label of the repository. + :type label: str + :param search_paths: Searching path of the repository. + :type search_paths: list[str] + :param username: Username of git repository basic auth. + :type username: str + :param password: Password of git repository basic auth. + :type password: str + :param host_key: Public sshKey of git repository. + :type host_key: str + :param host_key_algorithm: SshKey algorithm of git repository. + :type host_key_algorithm: str + :param private_key: Private sshKey algorithm of git repository. + :type private_key: str + :param strict_host_key_checking: Strict host key checking or not. + :type strict_host_key_checking: bool + """ + + _validation = { + 'name': {'required': True}, + 'uri': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'pattern': {'key': 'pattern', 'type': '[str]'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'search_paths': {'key': 'searchPaths', 'type': '[str]'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + 'host_key': {'key': 'hostKey', 'type': 'str'}, + 'host_key_algorithm': {'key': 'hostKeyAlgorithm', 'type': 'str'}, + 'private_key': {'key': 'privateKey', 'type': 'str'}, + 'strict_host_key_checking': {'key': 'strictHostKeyChecking', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: str, + uri: str, + pattern: Optional[List[str]] = None, + label: Optional[str] = None, + search_paths: Optional[List[str]] = None, + username: Optional[str] = None, + password: Optional[str] = None, + host_key: Optional[str] = None, + host_key_algorithm: Optional[str] = None, + private_key: Optional[str] = None, + strict_host_key_checking: Optional[bool] = None, + **kwargs + ): + super(GitPatternRepository, self).__init__(**kwargs) + self.name = name + self.pattern = pattern + self.uri = uri + self.label = label + self.search_paths = search_paths + self.username = username + self.password = password + self.host_key = host_key + self.host_key_algorithm = host_key_algorithm + self.private_key = private_key + self.strict_host_key_checking = strict_host_key_checking + + +class ImageRegistryCredential(msrest.serialization.Model): + """Credential of the image registry. + + :param username: The username of the image registry credential. + :type username: str + :param password: The password of the image registry credential. + :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(ImageRegistryCredential, self).__init__(**kwargs) + self.username = username + self.password = password + + +class UploadedUserSourceInfo(UserSourceInfo): + """Source with uploaded location. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: JarUploadedUserSourceInfo, NetCoreZipUploadedUserSourceInfo, SourceUploadedUserSourceInfo. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param relative_path: Relative path of the storage which stores the source. + :type relative_path: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Jar': 'JarUploadedUserSourceInfo', 'NetCoreZip': 'NetCoreZipUploadedUserSourceInfo', 'Source': 'SourceUploadedUserSourceInfo'} + } + + def __init__( + self, + *, + version: Optional[str] = None, + relative_path: Optional[str] = None, + **kwargs + ): + super(UploadedUserSourceInfo, self).__init__(version=version, **kwargs) + self.type = 'UploadedUserSourceInfo' # type: str + self.relative_path = relative_path + + +class JarUploadedUserSourceInfo(UploadedUserSourceInfo): + """Uploaded Jar binary for a deployment. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param relative_path: Relative path of the storage which stores the source. + :type relative_path: str + :param runtime_version: Runtime version of the Jar file. + :type runtime_version: str + :param jvm_options: Runtime version of the Jar file. + :type jvm_options: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + 'jvm_options': {'key': 'jvmOptions', 'type': 'str'}, + } + + def __init__( + self, + *, + version: Optional[str] = None, + relative_path: Optional[str] = None, + runtime_version: Optional[str] = None, + jvm_options: Optional[str] = None, + **kwargs + ): + super(JarUploadedUserSourceInfo, self).__init__(version=version, relative_path=relative_path, jvm_options=jvm_options, **kwargs) + self.type = 'Jar' # type: str + self.runtime_version = runtime_version + self.jvm_options = jvm_options + + +class KeyVaultCertificateProperties(CertificateProperties): + """Properties of certificate imported from key vault. + + 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 type: Required. The type of the certificate source.Constant filled by server. + :type type: str + :ivar thumbprint: The thumbprint of certificate. + :vartype thumbprint: str + :ivar issuer: The issuer of certificate. + :vartype issuer: str + :ivar issued_date: The issue date of certificate. + :vartype issued_date: str + :ivar expiration_date: The expiration date of certificate. + :vartype expiration_date: str + :ivar activate_date: The activate date of certificate. + :vartype activate_date: str + :ivar subject_name: The subject name of certificate. + :vartype subject_name: str + :ivar dns_names: The domain list of certificate. + :vartype dns_names: list[str] + :param vault_uri: Required. The vault uri of user key vault. + :type vault_uri: str + :param key_vault_cert_name: Required. The certificate name of key vault. + :type key_vault_cert_name: str + :param cert_version: The certificate version of key vault. + :type cert_version: str + :param exclude_private_key: Optional. If set to true, it will not import private key from key + vault. + :type exclude_private_key: bool + """ + + _validation = { + 'type': {'required': True}, + 'thumbprint': {'readonly': True}, + 'issuer': {'readonly': True}, + 'issued_date': {'readonly': True}, + 'expiration_date': {'readonly': True}, + 'activate_date': {'readonly': True}, + 'subject_name': {'readonly': True}, + 'dns_names': {'readonly': True}, + 'vault_uri': {'required': True}, + 'key_vault_cert_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, + 'issuer': {'key': 'issuer', 'type': 'str'}, + 'issued_date': {'key': 'issuedDate', 'type': 'str'}, + 'expiration_date': {'key': 'expirationDate', 'type': 'str'}, + 'activate_date': {'key': 'activateDate', 'type': 'str'}, + 'subject_name': {'key': 'subjectName', 'type': 'str'}, + 'dns_names': {'key': 'dnsNames', 'type': '[str]'}, + 'vault_uri': {'key': 'vaultUri', 'type': 'str'}, + 'key_vault_cert_name': {'key': 'keyVaultCertName', 'type': 'str'}, + 'cert_version': {'key': 'certVersion', 'type': 'str'}, + 'exclude_private_key': {'key': 'excludePrivateKey', 'type': 'bool'}, + } + + def __init__( + self, + *, + vault_uri: str, + key_vault_cert_name: str, + cert_version: Optional[str] = None, + exclude_private_key: Optional[bool] = False, + **kwargs + ): + super(KeyVaultCertificateProperties, self).__init__(**kwargs) + self.type = 'KeyVaultCertificate' # type: str + self.vault_uri = vault_uri + self.key_vault_cert_name = key_vault_cert_name + self.cert_version = cert_version + self.exclude_private_key = exclude_private_key + + +class LoadedCertificate(msrest.serialization.Model): + """Loaded certificate payload. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. Resource Id of loaded certificate. + :type resource_id: str + :param load_trust_store: Indicate whether the certificate will be loaded into default trust + store, only work for Java runtime. + :type load_trust_store: bool + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'load_trust_store': {'key': 'loadTrustStore', 'type': 'bool'}, + } + + def __init__( + self, + *, + resource_id: str, + load_trust_store: Optional[bool] = False, + **kwargs + ): + super(LoadedCertificate, self).__init__(**kwargs) + self.resource_id = resource_id + self.load_trust_store = load_trust_store + + +class LogFileUrlResponse(msrest.serialization.Model): + """Log file URL payload. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. URL of the log file. + :type url: str + """ + + _validation = { + 'url': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'str'}, + } + + def __init__( + self, + *, + url: str, + **kwargs + ): + super(LogFileUrlResponse, self).__init__(**kwargs) + self.url = url + + +class LogSpecification(msrest.serialization.Model): + """Specifications of the Log for Azure Monitoring. + + :param name: Name of the log. + :type name: str + :param display_name: Localized friendly display name of the log. + :type display_name: str + :param blob_duration: Blob duration of the log. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + blob_duration: Optional[str] = None, + **kwargs + ): + super(LogSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.blob_duration = blob_duration + + +class ManagedIdentityProperties(msrest.serialization.Model): + """Managed identity properties retrieved from ARM request headers. + + :param type: Type of the managed identity. Possible values include: "None", "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned". + :type type: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.ManagedIdentityType + :param principal_id: Principal Id. + :type principal_id: str + :param tenant_id: Tenant Id. + :type tenant_id: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ManagedIdentityType"]] = None, + principal_id: Optional[str] = None, + tenant_id: Optional[str] = None, + **kwargs + ): + super(ManagedIdentityProperties, self).__init__(**kwargs) + self.type = type + self.principal_id = principal_id + self.tenant_id = tenant_id + + +class MetricDimension(msrest.serialization.Model): + """Specifications of the Dimension of metrics. + + :param name: Name of the dimension. + :type name: str + :param display_name: Localized friendly display name of the dimension. + :type display_name: str + :param to_be_exported_for_shoebox: Whether this dimension should be included for the Shoebox + export scenario. + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + to_be_exported_for_shoebox: Optional[bool] = None, + **kwargs + ): + super(MetricDimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.to_be_exported_for_shoebox = to_be_exported_for_shoebox + + +class MetricSpecification(msrest.serialization.Model): + """Specifications of the Metrics for Azure Monitoring. + + :param name: Name of the metric. + :type name: str + :param display_name: Localized friendly display name of the metric. + :type display_name: str + :param display_description: Localized friendly description of the metric. + :type display_description: str + :param unit: Unit that makes sense for the metric. + :type unit: str + :param category: Name of the metric category that the metric belongs to. A metric can only + belong to a single category. + :type category: str + :param aggregation_type: Only provide one value for this field. Valid values: Average, Minimum, + Maximum, Total, Count. + :type aggregation_type: str + :param supported_aggregation_types: Supported aggregation types. + :type supported_aggregation_types: list[str] + :param supported_time_grain_types: Supported time grain types. + :type supported_time_grain_types: list[str] + :param fill_gap_with_zero: Optional. If set to true, then zero will be returned for time + duration where no metric is emitted/published. + :type fill_gap_with_zero: bool + :param dimensions: Dimensions of the metric. + :type dimensions: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.MetricDimension] + :param source_mdm_namespace: Name of the MDM namespace. Optional. + :type source_mdm_namespace: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'category': {'key': 'category', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'supported_aggregation_types': {'key': 'supportedAggregationTypes', 'type': '[str]'}, + 'supported_time_grain_types': {'key': 'supportedTimeGrainTypes', 'type': '[str]'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'dimensions': {'key': 'dimensions', 'type': '[MetricDimension]'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + display_description: Optional[str] = None, + unit: Optional[str] = None, + category: Optional[str] = None, + aggregation_type: Optional[str] = None, + supported_aggregation_types: Optional[List[str]] = None, + supported_time_grain_types: Optional[List[str]] = None, + fill_gap_with_zero: Optional[bool] = None, + dimensions: Optional[List["MetricDimension"]] = None, + source_mdm_namespace: Optional[str] = None, + **kwargs + ): + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.category = category + self.aggregation_type = aggregation_type + self.supported_aggregation_types = supported_aggregation_types + self.supported_time_grain_types = supported_time_grain_types + self.fill_gap_with_zero = fill_gap_with_zero + self.dimensions = dimensions + self.source_mdm_namespace = source_mdm_namespace + + +class MonitoringSettingProperties(msrest.serialization.Model): + """Monitoring Setting properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Monitoring Setting. Possible values include: + "NotAvailable", "Failed", "Succeeded", "Updating". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingState + :param error: Error when apply Monitoring Setting changes. + :type error: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Error + :param trace_enabled: Indicates whether enable the trace functionality, which will be + deprecated since api version 2020-11-01-preview. Please leverage appInsightsInstrumentationKey + to indicate if monitoringSettings enabled or not. + :type trace_enabled: bool + :param app_insights_instrumentation_key: Target application insight instrumentation key, null + or whitespace include empty will disable monitoringSettings. + :type app_insights_instrumentation_key: str + :param app_insights_sampling_rate: Indicates the sampling rate of application insight agent, + should be in range [0.0, 100.0]. + :type app_insights_sampling_rate: float + :param app_insights_agent_versions: Indicates the versions of application insight agent. + :type app_insights_agent_versions: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApplicationInsightsAgentVersions + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'app_insights_sampling_rate': {'maximum': 100, 'minimum': 0}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'trace_enabled': {'key': 'traceEnabled', 'type': 'bool'}, + 'app_insights_instrumentation_key': {'key': 'appInsightsInstrumentationKey', 'type': 'str'}, + 'app_insights_sampling_rate': {'key': 'appInsightsSamplingRate', 'type': 'float'}, + 'app_insights_agent_versions': {'key': 'appInsightsAgentVersions', 'type': 'ApplicationInsightsAgentVersions'}, + } + + def __init__( + self, + *, + error: Optional["Error"] = None, + trace_enabled: Optional[bool] = None, + app_insights_instrumentation_key: Optional[str] = None, + app_insights_sampling_rate: Optional[float] = None, + app_insights_agent_versions: Optional["ApplicationInsightsAgentVersions"] = None, + **kwargs + ): + super(MonitoringSettingProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.error = error + self.trace_enabled = trace_enabled + self.app_insights_instrumentation_key = app_insights_instrumentation_key + self.app_insights_sampling_rate = app_insights_sampling_rate + self.app_insights_agent_versions = app_insights_agent_versions + + +class MonitoringSettingResource(ProxyResource): + """Monitoring Setting 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the Monitoring Setting resource. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'MonitoringSettingProperties'}, + } + + def __init__( + self, + *, + properties: Optional["MonitoringSettingProperties"] = None, + **kwargs + ): + super(MonitoringSettingResource, self).__init__(**kwargs) + self.properties = properties + + +class NameAvailability(msrest.serialization.Model): + """Name availability result payload. + + :param name_available: Indicates whether the name is available. + :type name_available: bool + :param reason: Reason why the name is not available. + :type reason: str + :param message: Message why the name is not available. + :type message: str + """ + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + name_available: Optional[bool] = None, + reason: Optional[str] = None, + message: Optional[str] = None, + **kwargs + ): + super(NameAvailability, self).__init__(**kwargs) + self.name_available = name_available + self.reason = reason + self.message = message + + +class NameAvailabilityParameters(msrest.serialization.Model): + """Name availability parameters payload. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the resource to check name availability. + :type type: str + :param name: Required. Name to be checked. + :type name: str + """ + + _validation = { + 'type': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + type: str, + name: str, + **kwargs + ): + super(NameAvailabilityParameters, self).__init__(**kwargs) + self.type = type + self.name = name + + +class NetCoreZipUploadedUserSourceInfo(UploadedUserSourceInfo): + """Uploaded Jar binary for a deployment. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param relative_path: Relative path of the storage which stores the source. + :type relative_path: str + :param net_core_main_entry_path: The path to the .NET executable relative to zip root. + :type net_core_main_entry_path: str + :param runtime_version: Runtime version of the .Net file. + :type runtime_version: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'net_core_main_entry_path': {'key': 'netCoreMainEntryPath', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + version: Optional[str] = None, + relative_path: Optional[str] = None, + net_core_main_entry_path: Optional[str] = None, + runtime_version: Optional[str] = None, + **kwargs + ): + super(NetCoreZipUploadedUserSourceInfo, self).__init__(version=version, relative_path=relative_path, **kwargs) + self.type = 'NetCoreZip' # type: str + self.net_core_main_entry_path = net_core_main_entry_path + self.runtime_version = runtime_version + + +class NetworkProfile(msrest.serialization.Model): + """Service network profile payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param service_runtime_subnet_id: Fully qualified resource Id of the subnet to host Azure + Spring Cloud Service Runtime. + :type service_runtime_subnet_id: str + :param app_subnet_id: Fully qualified resource Id of the subnet to host Azure Spring Cloud + Apps. + :type app_subnet_id: str + :param service_cidr: Azure Spring Cloud service reserved CIDR. + :type service_cidr: str + :param service_runtime_network_resource_group: Name of the resource group containing network + resources of Azure Spring Cloud Service Runtime. + :type service_runtime_network_resource_group: str + :param app_network_resource_group: Name of the resource group containing network resources of + Azure Spring Cloud Apps. + :type app_network_resource_group: str + :ivar outbound_i_ps: Desired outbound IP resources for Azure Spring Cloud instance. + :vartype outbound_i_ps: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.NetworkProfileOutboundIPs + :ivar required_traffics: Required inbound or outbound traffics for Azure Spring Cloud instance. + :vartype required_traffics: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.RequiredTraffic] + """ + + _validation = { + 'outbound_i_ps': {'readonly': True}, + 'required_traffics': {'readonly': True}, + } + + _attribute_map = { + 'service_runtime_subnet_id': {'key': 'serviceRuntimeSubnetId', 'type': 'str'}, + 'app_subnet_id': {'key': 'appSubnetId', 'type': 'str'}, + 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, + 'service_runtime_network_resource_group': {'key': 'serviceRuntimeNetworkResourceGroup', 'type': 'str'}, + 'app_network_resource_group': {'key': 'appNetworkResourceGroup', 'type': 'str'}, + 'outbound_i_ps': {'key': 'outboundIPs', 'type': 'NetworkProfileOutboundIPs'}, + 'required_traffics': {'key': 'requiredTraffics', 'type': '[RequiredTraffic]'}, + } + + def __init__( + self, + *, + service_runtime_subnet_id: Optional[str] = None, + app_subnet_id: Optional[str] = None, + service_cidr: Optional[str] = None, + service_runtime_network_resource_group: Optional[str] = None, + app_network_resource_group: Optional[str] = None, + **kwargs + ): + super(NetworkProfile, self).__init__(**kwargs) + self.service_runtime_subnet_id = service_runtime_subnet_id + self.app_subnet_id = app_subnet_id + self.service_cidr = service_cidr + self.service_runtime_network_resource_group = service_runtime_network_resource_group + self.app_network_resource_group = app_network_resource_group + self.outbound_i_ps = None + self.required_traffics = None + + +class NetworkProfileOutboundIPs(msrest.serialization.Model): + """Desired outbound IP resources for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar public_i_ps: A list of public IP addresses. + :vartype public_i_ps: list[str] + """ + + _validation = { + 'public_i_ps': {'readonly': True}, + } + + _attribute_map = { + 'public_i_ps': {'key': 'publicIPs', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkProfileOutboundIPs, self).__init__(**kwargs) + self.public_i_ps = None + + +class OperationDetail(msrest.serialization.Model): + """Operation detail payload. + + :param name: Name of the operation. + :type name: str + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool + :param display: Display of the operation. + :type display: ~azure.mgmt.appplatform.v2022_01_01_preview.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param properties: Properties of the operation. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.OperationProperties + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'OperationProperties'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + is_data_action: Optional[bool] = None, + display: Optional["OperationDisplay"] = None, + origin: Optional[str] = None, + properties: Optional["OperationProperties"] = None, + **kwargs + ): + super(OperationDetail, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.display = display + self.origin = origin + self.properties = properties + + +class OperationDisplay(msrest.serialization.Model): + """Operation display payload. + + :param provider: Resource provider of the operation. + :type provider: str + :param resource: Resource of the operation. + :type resource: str + :param operation: Localized friendly name for the operation. + :type operation: str + :param description: Localized friendly description for 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 OperationProperties(msrest.serialization.Model): + """Extra Operation properties. + + :param service_specification: Service specifications of the operation. + :type service_specification: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceSpecification + """ + + _attribute_map = { + 'service_specification': {'key': 'serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__( + self, + *, + service_specification: Optional["ServiceSpecification"] = None, + **kwargs + ): + super(OperationProperties, self).__init__(**kwargs) + self.service_specification = service_specification + + +class PersistentDisk(msrest.serialization.Model): + """Persistent disk payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param size_in_gb: Size of the persistent disk in GB. + :type size_in_gb: int + :ivar used_in_gb: Size of the used persistent disk in GB. + :vartype used_in_gb: int + :param mount_path: Mount path of the persistent disk. + :type mount_path: str + """ + + _validation = { + 'size_in_gb': {'maximum': 50, 'minimum': 0}, + 'used_in_gb': {'readonly': True, 'maximum': 50, 'minimum': 0}, + } + + _attribute_map = { + 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, + 'used_in_gb': {'key': 'usedInGB', 'type': 'int'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__( + self, + *, + size_in_gb: Optional[int] = None, + mount_path: Optional[str] = None, + **kwargs + ): + super(PersistentDisk, self).__init__(**kwargs) + self.size_in_gb = size_in_gb + self.used_in_gb = None + self.mount_path = mount_path + + +class RegenerateTestKeyRequestPayload(msrest.serialization.Model): + """Regenerate test key request payload. + + All required parameters must be populated in order to send to Azure. + + :param key_type: Required. Type of the test key. Possible values include: "Primary", + "Secondary". + :type key_type: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.TestKeyType + """ + + _validation = { + 'key_type': {'required': True}, + } + + _attribute_map = { + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__( + self, + *, + key_type: Union[str, "TestKeyType"], + **kwargs + ): + super(RegenerateTestKeyRequestPayload, self).__init__(**kwargs) + self.key_type = key_type + + +class RequiredTraffic(msrest.serialization.Model): + """Required inbound or outbound traffic for Azure Spring Cloud instance. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar protocol: The protocol of required traffic. + :vartype protocol: str + :ivar port: The port of required traffic. + :vartype port: int + :ivar ips: The ip list of required traffic. + :vartype ips: list[str] + :ivar fqdns: The FQDN list of required traffic. + :vartype fqdns: list[str] + :ivar direction: The direction of required traffic. Possible values include: "Inbound", + "Outbound". + :vartype direction: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.TrafficDirection + """ + + _validation = { + 'protocol': {'readonly': True}, + 'port': {'readonly': True}, + 'ips': {'readonly': True}, + 'fqdns': {'readonly': True}, + 'direction': {'readonly': True}, + } + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'ips': {'key': 'ips', 'type': '[str]'}, + 'fqdns': {'key': 'fqdns', 'type': '[str]'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RequiredTraffic, self).__init__(**kwargs) + self.protocol = None + self.port = None + self.ips = None + self.fqdns = None + self.direction = None + + +class ResourceRequests(msrest.serialization.Model): + """Deployment resource request payload. + + :param cpu: Required CPU. 1 core can be represented by 1 or 1000m. This should be 500m or 1 for + Basic tier, and {500m, 1, 2, 3, 4} for Standard tier. + :type cpu: str + :param memory: Required memory. 1 GB can be represented by 1Gi or 1024Mi. This should be + {512Mi, 1Gi, 2Gi} for Basic tier, and {512Mi, 1Gi, 2Gi, ..., 8Gi} for Standard tier. + :type memory: str + """ + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + } + + def __init__( + self, + *, + cpu: Optional[str] = None, + memory: Optional[str] = None, + **kwargs + ): + super(ResourceRequests, self).__init__(**kwargs) + self.cpu = cpu + self.memory = memory + + +class ResourceSku(msrest.serialization.Model): + """Describes an available Azure Spring Cloud SKU. + + :param resource_type: Gets the type of resource the SKU applies to. + :type resource_type: str + :param name: Gets the name of SKU. + :type name: str + :param tier: Gets the tier of SKU. + :type tier: str + :param capacity: Gets the capacity of SKU. + :type capacity: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SkuCapacity + :param locations: Gets the set of locations that the SKU is available. + :type locations: list[str] + :param location_info: Gets a list of locations and availability zones in those locations where + the SKU is available. + :type location_info: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuLocationInfo] + :param restrictions: Gets the restrictions because of which SKU cannot be used. This is + empty if there are no restrictions. + :type restrictions: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuRestrictions] + """ + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'SkuCapacity'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, + 'restrictions': {'key': 'restrictions', 'type': '[ResourceSkuRestrictions]'}, + } + + def __init__( + self, + *, + resource_type: Optional[str] = None, + name: Optional[str] = None, + tier: Optional[str] = None, + capacity: Optional["SkuCapacity"] = None, + locations: Optional[List[str]] = None, + location_info: Optional[List["ResourceSkuLocationInfo"]] = None, + restrictions: Optional[List["ResourceSkuRestrictions"]] = None, + **kwargs + ): + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = resource_type + self.name = name + self.tier = tier + self.capacity = capacity + self.locations = locations + self.location_info = location_info + self.restrictions = restrictions + + +class ResourceSkuCapabilities(msrest.serialization.Model): + """ResourceSkuCapabilities. + + :param name: Gets an invariant to describe the feature. + :type name: str + :param value: Gets an invariant if the feature 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 ResourceSkuCollection(msrest.serialization.Model): + """Object that includes an array of Azure Spring Cloud SKU and a possible link for next set. + + :param value: Collection of resource SKU. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSku] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ResourceSku]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ResourceSku"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ResourceSkuCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ResourceSkuLocationInfo(msrest.serialization.Model): + """Locations and availability zones where the SKU is available. + + :param location: Gets location of the SKU. + :type location: str + :param zones: Gets list of availability zones where the SKU is supported. + :type zones: list[str] + :param zone_details: Gets details of capabilities available to a SKU in specific zones. + :type zone_details: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuZoneDetails] + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + 'zone_details': {'key': 'zoneDetails', 'type': '[ResourceSkuZoneDetails]'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + zones: Optional[List[str]] = None, + zone_details: Optional[List["ResourceSkuZoneDetails"]] = None, + **kwargs + ): + super(ResourceSkuLocationInfo, self).__init__(**kwargs) + self.location = location + self.zones = zones + self.zone_details = zone_details + + +class ResourceSkuRestrictionInfo(msrest.serialization.Model): + """Information about the restriction where the SKU cannot be used. + + :param locations: Gets locations where the SKU is restricted. + :type locations: list[str] + :param zones: Gets list of availability zones where the SKU is restricted. + :type zones: list[str] + """ + + _attribute_map = { + 'locations': {'key': 'locations', 'type': '[str]'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__( + self, + *, + locations: Optional[List[str]] = None, + zones: Optional[List[str]] = None, + **kwargs + ): + super(ResourceSkuRestrictionInfo, self).__init__(**kwargs) + self.locations = locations + self.zones = zones + + +class ResourceSkuRestrictions(msrest.serialization.Model): + """Restrictions where the SKU cannot be used. + + :param type: Gets the type of restrictions. Possible values include: 'Location', 'Zone'. + Possible values include: "Location", "Zone". + :type type: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuRestrictionsType + :param values: Gets the value of restrictions. If the restriction type is set to + location. This would be different locations where the SKU is restricted. + :type values: list[str] + :param restriction_info: Gets the information about the restriction where the SKU cannot be + used. + :type restriction_info: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuRestrictionInfo + :param reason_code: Gets the reason for restriction. Possible values include: 'QuotaId', + 'NotAvailableForSubscription'. Possible values include: "QuotaId", + "NotAvailableForSubscription". + :type reason_code: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuRestrictionsReasonCode + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + 'restriction_info': {'key': 'restrictionInfo', 'type': 'ResourceSkuRestrictionInfo'}, + 'reason_code': {'key': 'reasonCode', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "ResourceSkuRestrictionsType"]] = None, + values: Optional[List[str]] = None, + restriction_info: Optional["ResourceSkuRestrictionInfo"] = None, + reason_code: Optional[Union[str, "ResourceSkuRestrictionsReasonCode"]] = None, + **kwargs + ): + super(ResourceSkuRestrictions, self).__init__(**kwargs) + self.type = type + self.values = values + self.restriction_info = restriction_info + self.reason_code = reason_code + + +class ResourceSkuZoneDetails(msrest.serialization.Model): + """Details of capabilities available to a SKU in specific zones. + + :param name: Gets the set of zones that the SKU is available in with the + specified capabilities. + :type name: list[str] + :param capabilities: Gets a list of capabilities that are available for the SKU in the + specified list of zones. + :type capabilities: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuCapabilities] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + } + + def __init__( + self, + *, + name: Optional[List[str]] = None, + capabilities: Optional[List["ResourceSkuCapabilities"]] = None, + **kwargs + ): + super(ResourceSkuZoneDetails, self).__init__(**kwargs) + self.name = name + self.capabilities = capabilities + + +class ResourceUploadDefinition(msrest.serialization.Model): + """Resource upload definition payload. + + :param relative_path: Source relative path. + :type relative_path: str + :param upload_url: Upload URL. + :type upload_url: str + """ + + _attribute_map = { + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'upload_url': {'key': 'uploadUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + relative_path: Optional[str] = None, + upload_url: Optional[str] = None, + **kwargs + ): + super(ResourceUploadDefinition, self).__init__(**kwargs) + self.relative_path = relative_path + self.upload_url = upload_url + + +class ServiceRegistryInstance(msrest.serialization.Model): + """Collection of instances belong to the Service Registry. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Service Registry instance. + :vartype name: str + :ivar status: Status of the Service Registry instance. + :vartype status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceRegistryInstance, self).__init__(**kwargs) + self.name = None + self.status = None + + +class ServiceRegistryProperties(msrest.serialization.Model): + """Service Registry properties payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: State of the Service Registry. Possible values include: "Creating", + "Updating", "Succeeded", "Failed", "Deleting". + :vartype provisioning_state: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryProvisioningState + :ivar resource_requests: The requested resource quantity for required CPU and Memory. + :vartype resource_requests: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResourceRequests + :ivar instances: Collection of instances belong to Service Registry. + :vartype instances: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryInstance] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'resource_requests': {'readonly': True}, + 'instances': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'resource_requests': {'key': 'resourceRequests', 'type': 'ServiceRegistryResourceRequests'}, + 'instances': {'key': 'instances', 'type': '[ServiceRegistryInstance]'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceRegistryProperties, self).__init__(**kwargs) + self.provisioning_state = None + self.resource_requests = None + self.instances = None + + +class ServiceRegistryResource(ProxyResource): + """Service Registry 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Service Registry properties payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'ServiceRegistryProperties'}, + } + + def __init__( + self, + *, + properties: Optional["ServiceRegistryProperties"] = None, + **kwargs + ): + super(ServiceRegistryResource, self).__init__(**kwargs) + self.properties = properties + + +class ServiceRegistryResourceCollection(msrest.serialization.Model): + """Object that includes an array of Service Registry resources and a possible link for next set. + + :param value: Collection of Service Registry resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceRegistryResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ServiceRegistryResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ServiceRegistryResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ServiceRegistryResourceRequests(msrest.serialization.Model): + """Resource request payload of Service Registry. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar cpu: Cpu allocated to each Service Registry instance. + :vartype cpu: str + :ivar memory: Memory allocated to each Service Registry instance. + :vartype memory: str + :ivar instance_count: Instance count of the Service Registry. + :vartype instance_count: int + """ + + _validation = { + 'cpu': {'readonly': True}, + 'memory': {'readonly': True}, + 'instance_count': {'readonly': True}, + } + + _attribute_map = { + 'cpu': {'key': 'cpu', 'type': 'str'}, + 'memory': {'key': 'memory', 'type': 'str'}, + 'instance_count': {'key': 'instanceCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceRegistryResourceRequests, self).__init__(**kwargs) + self.cpu = None + self.memory = None + self.instance_count = 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. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param location: The GEO location of the resource. + :type location: str + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describe the resource. + :type tags: dict[str, str] + """ + + _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'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.location = location + self.tags = tags + + +class ServiceResource(TrackedResource): + """Service 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. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param location: The GEO location of the resource. + :type location: str + :param tags: A set of tags. Tags of the service which is a list of key value pairs that + describe the resource. + :type tags: dict[str, str] + :param properties: Properties of the Service resource. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ClusterResourceProperties + :param sku: Sku of the Service resource. + :type sku: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Sku + """ + + _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'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'properties': {'key': 'properties', 'type': 'ClusterResourceProperties'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + properties: Optional["ClusterResourceProperties"] = None, + sku: Optional["Sku"] = None, + **kwargs + ): + super(ServiceResource, self).__init__(location=location, tags=tags, **kwargs) + self.properties = properties + self.sku = sku + + +class ServiceResourceList(msrest.serialization.Model): + """Object that includes an array of Service resources and a possible link for next set. + + :param value: Collection of Service resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ServiceResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["ServiceResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(ServiceResourceList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ServiceSpecification(msrest.serialization.Model): + """Service specification payload. + + :param log_specifications: Specifications of the Log for Azure Monitoring. + :type log_specifications: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.LogSpecification] + :param metric_specifications: Specifications of the Metrics for Azure Monitoring. + :type metric_specifications: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.MetricSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__( + self, + *, + log_specifications: Optional[List["LogSpecification"]] = None, + metric_specifications: Optional[List["MetricSpecification"]] = None, + **kwargs + ): + super(ServiceSpecification, self).__init__(**kwargs) + self.log_specifications = log_specifications + self.metric_specifications = metric_specifications + + +class Sku(msrest.serialization.Model): + """Sku of Azure Spring Cloud. + + :param name: Name of the Sku. + :type name: str + :param tier: Tier of the Sku. + :type tier: str + :param capacity: Current capacity of the target resource. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + *, + name: Optional[str] = "S0", + tier: Optional[str] = "Standard", + capacity: Optional[int] = None, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = capacity + + +class SkuCapacity(msrest.serialization.Model): + """The SKU capacity. + + All required parameters must be populated in order to send to Azure. + + :param minimum: Required. Gets or sets the minimum. + :type minimum: int + :param maximum: Gets or sets the maximum. + :type maximum: int + :param default: Gets or sets the default. + :type default: int + :param scale_type: Gets or sets the type of the scale. Possible values include: "None", + "Manual", "Automatic". + :type scale_type: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.SkuScaleType + """ + + _validation = { + 'minimum': {'required': True}, + } + + _attribute_map = { + 'minimum': {'key': 'minimum', 'type': 'int'}, + 'maximum': {'key': 'maximum', 'type': 'int'}, + 'default': {'key': 'default', 'type': 'int'}, + 'scale_type': {'key': 'scaleType', 'type': 'str'}, + } + + def __init__( + self, + *, + minimum: int, + maximum: Optional[int] = None, + default: Optional[int] = None, + scale_type: Optional[Union[str, "SkuScaleType"]] = None, + **kwargs + ): + super(SkuCapacity, self).__init__(**kwargs) + self.minimum = minimum + self.maximum = maximum + self.default = default + self.scale_type = scale_type + + +class SourceUploadedUserSourceInfo(UploadedUserSourceInfo): + """Uploaded Java source code binary for a deployment. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the source uploaded.Constant filled by server. + :type type: str + :param version: Version of the source. + :type version: str + :param relative_path: Relative path of the storage which stores the source. + :type relative_path: str + :param artifact_selector: Selector for the artifact to be used for the deployment for + multi-module projects. This should be + the relative path to the target module/project. + :type artifact_selector: str + :param runtime_version: Runtime version of the source file. + :type runtime_version: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'relative_path': {'key': 'relativePath', 'type': 'str'}, + 'artifact_selector': {'key': 'artifactSelector', 'type': 'str'}, + 'runtime_version': {'key': 'runtimeVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + version: Optional[str] = None, + relative_path: Optional[str] = None, + artifact_selector: Optional[str] = None, + runtime_version: Optional[str] = None, + **kwargs + ): + super(SourceUploadedUserSourceInfo, self).__init__(version=version, relative_path=relative_path, **kwargs) + self.type = 'Source' # type: str + self.artifact_selector = artifact_selector + self.runtime_version = runtime_version + + +class SsoProperties(msrest.serialization.Model): + """Single sign-on related configuration. + + :param scope: It defines the specific actions applications can be allowed to do on a user's + behalf. + :type scope: list[str] + :param client_id: The public identifier for the application. + :type client_id: str + :param client_secret: The secret known only to the application and the authorization server. + :type client_secret: str + :param issuer_uri: The URI of Issuer Identifier. + :type issuer_uri: str + """ + + _attribute_map = { + 'scope': {'key': 'scope', 'type': '[str]'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'client_secret': {'key': 'clientSecret', 'type': 'str'}, + 'issuer_uri': {'key': 'issuerUri', 'type': 'str'}, + } + + def __init__( + self, + *, + scope: Optional[List[str]] = None, + client_id: Optional[str] = None, + client_secret: Optional[str] = None, + issuer_uri: Optional[str] = None, + **kwargs + ): + super(SsoProperties, self).__init__(**kwargs) + self.scope = scope + self.client_id = client_id + self.client_secret = client_secret + self.issuer_uri = issuer_uri + + +class StackProperties(msrest.serialization.Model): + """KPack ClusterStack properties payload. + + :param id: Id of the ClusterStack. + :type id: str + :param version: Version of the ClusterStack. + :type version: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + version: Optional[str] = None, + **kwargs + ): + super(StackProperties, self).__init__(**kwargs) + self.id = id + self.version = version + + +class StorageProperties(msrest.serialization.Model): + """Storage resource payload. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: StorageAccount. + + All required parameters must be populated in order to send to Azure. + + :param storage_type: Required. The type of the storage.Constant filled by server. + :type storage_type: str + """ + + _validation = { + 'storage_type': {'required': True}, + } + + _attribute_map = { + 'storage_type': {'key': 'storageType', 'type': 'str'}, + } + + _subtype_map = { + 'storage_type': {'StorageAccount': 'StorageAccount'} + } + + def __init__( + self, + **kwargs + ): + super(StorageProperties, self).__init__(**kwargs) + self.storage_type = None # type: Optional[str] + + +class StorageAccount(StorageProperties): + """storage resource of type Azure Storage Account. + + All required parameters must be populated in order to send to Azure. + + :param storage_type: Required. The type of the storage.Constant filled by server. + :type storage_type: str + :param account_name: Required. The account name of the Azure Storage Account. + :type account_name: str + :param account_key: Required. The account key of the Azure Storage Account. + :type account_key: str + """ + + _validation = { + 'storage_type': {'required': True}, + 'account_name': {'required': True}, + 'account_key': {'required': True}, + } + + _attribute_map = { + 'storage_type': {'key': 'storageType', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'account_key': {'key': 'accountKey', 'type': 'str'}, + } + + def __init__( + self, + *, + account_name: str, + account_key: str, + **kwargs + ): + super(StorageAccount, self).__init__(**kwargs) + self.storage_type = 'StorageAccount' # type: str + self.account_name = account_name + self.account_key = account_key + + +class StorageResource(ProxyResource): + """Storage resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Properties of the storage resource payload. + :type properties: ~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'StorageProperties'}, + } + + def __init__( + self, + *, + properties: Optional["StorageProperties"] = None, + **kwargs + ): + super(StorageResource, self).__init__(**kwargs) + self.properties = properties + + +class StorageResourceCollection(msrest.serialization.Model): + """Collection compose of storage resources list and a possible link for next page. + + :param value: The storage resources list. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResource] + :param next_link: The link to next page of storage list. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[StorageResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["StorageResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(StorageResourceCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class SupportedBuildpackResource(ProxyResource): + """Supported buildpack resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Supported buildpack resource properties. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedBuildpackResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'SupportedBuildpackResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["SupportedBuildpackResourceProperties"] = None, + **kwargs + ): + super(SupportedBuildpackResource, self).__init__(**kwargs) + self.properties = properties + + +class SupportedBuildpackResourceProperties(msrest.serialization.Model): + """Supported buildpack resource properties. + + :param buildpack_id: The id of supported buildpack. + :type buildpack_id: str + """ + + _attribute_map = { + 'buildpack_id': {'key': 'buildpackId', 'type': 'str'}, + } + + def __init__( + self, + *, + buildpack_id: Optional[str] = None, + **kwargs + ): + super(SupportedBuildpackResourceProperties, self).__init__(**kwargs) + self.buildpack_id = buildpack_id + + +class SupportedBuildpacksCollection(msrest.serialization.Model): + """Object that includes an array of supported buildpacks resources and a possible link for next set. + + :param value: Collection of supported buildpacks resources. + :type value: + list[~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedBuildpackResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SupportedBuildpackResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["SupportedBuildpackResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(SupportedBuildpacksCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class SupportedRuntimeVersion(msrest.serialization.Model): + """Supported deployment runtime version descriptor. + + :param value: The raw value which could be passed to deployment CRUD operations. Possible + values include: "Java_8", "Java_11", "Java_17", "NetCore_31". + :type value: str or ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedRuntimeValue + :param platform: The platform of this runtime version (possible values: "Java" or ".NET"). + Possible values include: "Java", ".NET Core". + :type platform: str or + ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedRuntimePlatform + :param version: The detailed version (major.minor) of the platform. + :type version: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'platform': {'key': 'platform', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[Union[str, "SupportedRuntimeValue"]] = None, + platform: Optional[Union[str, "SupportedRuntimePlatform"]] = None, + version: Optional[str] = None, + **kwargs + ): + super(SupportedRuntimeVersion, self).__init__(**kwargs) + self.value = value + self.platform = platform + self.version = version + + +class SupportedStackResource(ProxyResource): + """Supported stack resource payload. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource Id for the resource. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. + :vartype type: str + :ivar system_data: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SystemData + :param properties: Supported stack resource properties. + :type properties: + ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedStackResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'SupportedStackResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["SupportedStackResourceProperties"] = None, + **kwargs + ): + super(SupportedStackResource, self).__init__(**kwargs) + self.properties = properties + + +class SupportedStackResourceProperties(msrest.serialization.Model): + """Supported stack resource properties. + + :param stack_id: The id of supported stack. + :type stack_id: str + :param version: The version of supported stack. + :type version: str + """ + + _attribute_map = { + 'stack_id': {'key': 'stackId', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + } + + def __init__( + self, + *, + stack_id: Optional[str] = None, + version: Optional[str] = None, + **kwargs + ): + super(SupportedStackResourceProperties, self).__init__(**kwargs) + self.stack_id = stack_id + self.version = version + + +class SupportedStacksCollection(msrest.serialization.Model): + """Object that includes an array of supported stacks resources and a possible link for next set. + + :param value: Collection of supported stacks resources. + :type value: list[~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedStackResource] + :param next_link: URL client should use to fetch the next page (per server side paging). + It's null for now, added for future use. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SupportedStackResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["SupportedStackResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(SupportedStacksCollection, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +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.mgmt.appplatform.v2022_01_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 + ~azure.mgmt.appplatform.v2022_01_01_preview.models.LastModifiedByType + :param last_modified_at: The timestamp of resource 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, "LastModifiedByType"]] = 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 TemporaryDisk(msrest.serialization.Model): + """Temporary disk payload. + + :param size_in_gb: Size of the temporary disk in GB. + :type size_in_gb: int + :param mount_path: Mount path of the temporary disk. + :type mount_path: str + """ + + _validation = { + 'size_in_gb': {'maximum': 5, 'minimum': 0}, + } + + _attribute_map = { + 'size_in_gb': {'key': 'sizeInGB', 'type': 'int'}, + 'mount_path': {'key': 'mountPath', 'type': 'str'}, + } + + def __init__( + self, + *, + size_in_gb: Optional[int] = None, + mount_path: Optional[str] = "/tmp", + **kwargs + ): + super(TemporaryDisk, self).__init__(**kwargs) + self.size_in_gb = size_in_gb + self.mount_path = mount_path + + +class TestKeys(msrest.serialization.Model): + """Test keys payload. + + :param primary_key: Primary key. + :type primary_key: str + :param secondary_key: Secondary key. + :type secondary_key: str + :param primary_test_endpoint: Primary test endpoint. + :type primary_test_endpoint: str + :param secondary_test_endpoint: Secondary test endpoint. + :type secondary_test_endpoint: str + :param enabled: Indicates whether the test endpoint feature enabled or not. + :type enabled: bool + """ + + _attribute_map = { + 'primary_key': {'key': 'primaryKey', 'type': 'str'}, + 'secondary_key': {'key': 'secondaryKey', 'type': 'str'}, + 'primary_test_endpoint': {'key': 'primaryTestEndpoint', 'type': 'str'}, + 'secondary_test_endpoint': {'key': 'secondaryTestEndpoint', 'type': 'str'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__( + self, + *, + primary_key: Optional[str] = None, + secondary_key: Optional[str] = None, + primary_test_endpoint: Optional[str] = None, + secondary_test_endpoint: Optional[str] = None, + enabled: Optional[bool] = None, + **kwargs + ): + super(TestKeys, self).__init__(**kwargs) + self.primary_key = primary_key + self.secondary_key = secondary_key + self.primary_test_endpoint = primary_test_endpoint + self.secondary_test_endpoint = secondary_test_endpoint + self.enabled = enabled + + +class TriggeredBuildResult(msrest.serialization.Model): + """The build result triggered by a build. + + :param id: The unique build id of this build result. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + **kwargs + ): + super(TriggeredBuildResult, self).__init__(**kwargs) + self.id = id + + +class ValidationMessages(msrest.serialization.Model): + """Validate messages of the configuration service git repositories. + + :param name: The name of the configuration service git repository. + :type name: str + :param messages: Detailed validation messages. + :type messages: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'messages': {'key': 'messages', 'type': '[str]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + messages: Optional[List[str]] = None, + **kwargs + ): + super(ValidationMessages, self).__init__(**kwargs) + self.name = name + self.messages = messages diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/__init__.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/__init__.py new file mode 100644 index 00000000000..0da100b4246 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/__init__.py @@ -0,0 +1,57 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._services_operations import ServicesOperations +from ._config_servers_operations import ConfigServersOperations +from ._configuration_services_operations import ConfigurationServicesOperations +from ._service_registries_operations import ServiceRegistriesOperations +from ._build_service_operations import BuildServiceOperations +from ._buildpack_binding_operations import BuildpackBindingOperations +from ._build_service_builder_operations import BuildServiceBuilderOperations +from ._build_service_agent_pool_operations import BuildServiceAgentPoolOperations +from ._monitoring_settings_operations import MonitoringSettingsOperations +from ._apps_operations import AppsOperations +from ._bindings_operations import BindingsOperations +from ._storages_operations import StoragesOperations +from ._certificates_operations import CertificatesOperations +from ._custom_domains_operations import CustomDomainsOperations +from ._deployments_operations import DeploymentsOperations +from ._operations import Operations +from ._runtime_versions_operations import RuntimeVersionsOperations +from ._skus_operations import SkusOperations +from ._gateways_operations import GatewaysOperations +from ._gateway_route_configs_operations import GatewayRouteConfigsOperations +from ._gateway_custom_domains_operations import GatewayCustomDomainsOperations +from ._api_portals_operations import ApiPortalsOperations +from ._api_portal_custom_domains_operations import ApiPortalCustomDomainsOperations + +__all__ = [ + 'ServicesOperations', + 'ConfigServersOperations', + 'ConfigurationServicesOperations', + 'ServiceRegistriesOperations', + 'BuildServiceOperations', + 'BuildpackBindingOperations', + 'BuildServiceBuilderOperations', + 'BuildServiceAgentPoolOperations', + 'MonitoringSettingsOperations', + 'AppsOperations', + 'BindingsOperations', + 'StoragesOperations', + 'CertificatesOperations', + 'CustomDomainsOperations', + 'DeploymentsOperations', + 'Operations', + 'RuntimeVersionsOperations', + 'SkusOperations', + 'GatewaysOperations', + 'GatewayRouteConfigsOperations', + 'GatewayCustomDomainsOperations', + 'ApiPortalsOperations', + 'ApiPortalCustomDomainsOperations', +] diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_api_portal_custom_domains_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_api_portal_custom_domains_operations.py new file mode 100644 index 00000000000..b6ed0a08705 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_api_portal_custom_domains_operations.py @@ -0,0 +1,467 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ApiPortalCustomDomainsOperations(object): + """ApiPortalCustomDomainsOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + api_portal_name, # type: str + domain_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ApiPortalCustomDomainResource" + """Get the API portal custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param domain_name: The name of the API portal custom domain. + :type domain_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiPortalCustomDomainResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalCustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiPortalCustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + domain_name, # type: str + api_portal_custom_domain_resource, # type: "_models.ApiPortalCustomDomainResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.ApiPortalCustomDomainResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalCustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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(api_portal_custom_domain_resource, 'ApiPortalCustomDomainResource') + 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('ApiPortalCustomDomainResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ApiPortalCustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + domain_name, # type: str + api_portal_custom_domain_resource, # type: "_models.ApiPortalCustomDomainResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ApiPortalCustomDomainResource"] + """Create or update the API portal custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param domain_name: The name of the API portal custom domain. + :type domain_name: str + :param api_portal_custom_domain_resource: The API portal custom domain for the create or update + operation. + :type api_portal_custom_domain_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 ApiPortalCustomDomainResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalCustomDomainResource"] + 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, + service_name=service_name, + api_portal_name=api_portal_name, + domain_name=domain_name, + api_portal_custom_domain_resource=api_portal_custom_domain_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('ApiPortalCustomDomainResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + domain_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + domain_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete the API portal custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param domain_name: The name of the API portal custom domain. + :type domain_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + api_portal_name=api_portal_name, + domain_name=domain_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ApiPortalCustomDomainResourceCollection"] + """Handle requests to list all API portal custom domains. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApiPortalCustomDomainResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalCustomDomainResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalCustomDomainResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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('ApiPortalCustomDomainResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_api_portals_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_api_portals_operations.py new file mode 100644 index 00000000000..ecc9e59c421 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_api_portals_operations.py @@ -0,0 +1,516 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ApiPortalsOperations(object): + """ApiPortalsOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + api_portal_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ApiPortalResource" + """Get the API portal and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ApiPortalResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ApiPortalResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + api_portal_resource, # type: "_models.ApiPortalResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.ApiPortalResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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(api_portal_resource, 'ApiPortalResource') + 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('ApiPortalResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ApiPortalResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + api_portal_resource, # type: "_models.ApiPortalResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ApiPortalResource"] + """Create the default API portal or update the existing API portal. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param api_portal_resource: The API portal for the create or update operation. + :type api_portal_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 ApiPortalResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalResource"] + 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, + service_name=service_name, + api_portal_name=api_portal_name, + api_portal_resource=api_portal_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('ApiPortalResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete the default API portal. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + api_portal_name=api_portal_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ApiPortalResourceCollection"] + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApiPortalResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ApiPortalResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiPortalResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('ApiPortalResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals'} # type: ignore + + def validate_domain( + self, + resource_group_name, # type: str + service_name, # type: str + api_portal_name, # type: str + validate_payload, # type: "_models.CustomDomainValidatePayload" + **kwargs # type: Any + ): + # type: (...) -> "_models.CustomDomainValidateResult" + """Check the domains are valid as well as not in use. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param api_portal_name: The name of API portal. + :type api_portal_name: str + :param validate_payload: Custom domain payload to be validated. + :type validate_payload: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidatePayload + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomDomainValidateResult, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidateResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_domain.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'apiPortalName': self._serialize.url("api_portal_name", api_portal_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(validate_payload, 'CustomDomainValidatePayload') + 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('CustomDomainValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_domain.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/validateDomain'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_apps_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_apps_operations.py new file mode 100644 index 00000000000..cf8312c0d7f --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_apps_operations.py @@ -0,0 +1,864 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 AppsOperations(object): + """AppsOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + app_name, # type: str + sync_status=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.AppResource" + """Get an App and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param sync_status: Indicates whether sync status. + :type sync_status: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AppResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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 sync_status is not None: + query_parameters['syncStatus'] = self._serialize.query("sync_status", sync_status, '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('AppResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + app_resource, # type: "_models.AppResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.AppResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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(app_resource, 'AppResource') + 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, 202]: + 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('AppResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('AppResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('AppResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + app_resource, # type: "_models.AppResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AppResource"] + """Create a new App or update an exiting App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param app_resource: Parameters for the create or update operation. + :type app_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 AppResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + 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, + service_name=service_name, + app_name=app_name, + app_resource=app_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('AppResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Operation to delete an App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + app_resource, # type: "_models.AppResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.AppResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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(app_resource, 'AppResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('AppResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('AppResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + app_resource, # type: "_models.AppResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AppResource"] + """Operation to update an exiting App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param app_resource: Parameters for the update operation. + :type app_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 AppResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + 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, + service_name=service_name, + app_name=app_name, + app_resource=app_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('AppResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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.AppPlatform/Spring/{serviceName}/apps/{appName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.AppResourceCollection"] + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AppResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('AppResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps'} # type: ignore + + def get_resource_upload_url( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ResourceUploadDefinition" + """Get an resource upload URL for an App, which may be artifacts or source archive. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceUploadDefinition, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceUploadDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceUploadDefinition"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_resource_upload_url.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourceUploadDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_resource_upload_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl'} # type: ignore + + def _set_active_deployments_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + active_deployment_collection, # type: "_models.ActiveDeploymentCollection" + **kwargs # type: Any + ): + # type: (...) -> "_models.AppResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._set_active_deployments_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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(active_deployment_collection, 'ActiveDeploymentCollection') + 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('AppResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('AppResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _set_active_deployments_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/setActiveDeployments'} # type: ignore + + def begin_set_active_deployments( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + active_deployment_collection, # type: "_models.ActiveDeploymentCollection" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.AppResource"] + """Set existing Deployment under the app as active. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param active_deployment_collection: A list of Deployment name to be active. + :type active_deployment_collection: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ActiveDeploymentCollection + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 AppResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.AppResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AppResource"] + 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._set_active_deployments_initial( + resource_group_name=resource_group_name, + service_name=service_name, + app_name=app_name, + active_deployment_collection=active_deployment_collection, + 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('AppResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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_set_active_deployments.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/setActiveDeployments'} # type: ignore + + def validate_domain( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + validate_payload, # type: "_models.CustomDomainValidatePayload" + **kwargs # type: Any + ): + # type: (...) -> "_models.CustomDomainValidateResult" + """Check the resource name is valid as well as not in use. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param validate_payload: Custom domain payload to be validated. + :type validate_payload: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidatePayload + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomDomainValidateResult, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidateResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_domain.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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(validate_payload, 'CustomDomainValidatePayload') + 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('CustomDomainValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_domain.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/validateDomain'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_bindings_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_bindings_operations.py new file mode 100644 index 00000000000..391d0e2c7f9 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_bindings_operations.py @@ -0,0 +1,614 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 BindingsOperations(object): + """BindingsOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + app_name, # type: str + binding_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.BindingResource" + """Get a Binding and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param binding_name: The name of the Binding resource. + :type binding_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BindingResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + binding_name, # type: str + binding_resource, # type: "_models.BindingResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.BindingResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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(binding_resource, 'BindingResource') + 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, 202]: + 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('BindingResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BindingResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('BindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + binding_name, # type: str + binding_resource, # type: "_models.BindingResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.BindingResource"] + """Create a new Binding or update an exiting Binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param binding_name: The name of the Binding resource. + :type binding_name: str + :param binding_resource: Parameters for the create or update operation. + :type binding_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 BindingResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + 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, + service_name=service_name, + app_name=app_name, + binding_name=binding_name, + binding_resource=binding_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('BindingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + binding_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + binding_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Operation to delete a Binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param binding_name: The name of the Binding resource. + :type binding_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_name, + binding_name=binding_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + binding_name, # type: str + binding_resource, # type: "_models.BindingResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.BindingResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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(binding_resource, 'BindingResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('BindingResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('BindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + binding_name, # type: str + binding_resource, # type: "_models.BindingResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.BindingResource"] + """Operation to update an exiting Binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param binding_name: The name of the Binding resource. + :type binding_name: str + :param binding_resource: Parameters for the update operation. + :type binding_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 BindingResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResource"] + 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, + service_name=service_name, + app_name=app_name, + binding_name=binding_name, + binding_resource=binding_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('BindingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'bindingName': self._serialize.url("binding_name", binding_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.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.BindingResourceCollection"] + """Handles requests to list all resources in an App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BindingResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BindingResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BindingResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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('BindingResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_maintenance_configurations_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_agent_pool_operations.py old mode 100755 new mode 100644 similarity index 50% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_maintenance_configurations_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_agent_pool_operations.py index f62449aaffe..cf37e99c46c --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_maintenance_configurations_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_agent_pool_operations.py @@ -12,25 +12,27 @@ 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 + 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 MaintenanceConfigurationsOperations(object): - """MaintenanceConfigurationsOperations operations. +class BuildServiceAgentPoolOperations(object): + """BuildServiceAgentPoolOperations 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -45,32 +47,34 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def list_by_managed_cluster( + def list( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + build_service_name, # type: str **kwargs # type: Any ): - # type: (...) -> Iterable["_models.MaintenanceConfigurationListResult"] - """Gets a list of maintenance configurations in the specified managed cluster. + # type: (...) -> Iterable["_models.BuildServiceAgentPoolResourceCollection"] + """List build service agent pool. - Gets a list of maintenance configurations in the specified managed cluster. - - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either MaintenanceConfigurationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfigurationListResult] + :return: An iterator like instance of either BuildServiceAgentPoolResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolResourceCollection] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfigurationListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceAgentPoolResourceCollection"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -80,11 +84,12 @@ def prepare_request(next_link=None): if not next_link: # Construct URL - url = self.list_by_managed_cluster.metadata['url'] # type: ignore + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters @@ -99,7 +104,7 @@ def prepare_request(next_link=None): return request def extract_data(pipeline_response): - deserialized = self._deserialize('MaintenanceConfigurationListResult', pipeline_response) + deserialized = self._deserialize('BuildServiceAgentPoolResourceCollection', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -120,46 +125,49 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools'} # type: ignore def get( self, resource_group_name, # type: str - resource_name, # type: str - config_name, # type: str + service_name, # type: str + build_service_name, # type: str + agent_pool_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.MaintenanceConfiguration" - """Gets the specified maintenance configuration of a managed cluster. - - Gets the specified maintenance configuration of a managed cluster. + # type: (...) -> "_models.BuildServiceAgentPoolResource" + """Get build service agent pool. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param 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 service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param agent_pool_name: The name of the build service agent pool resource. + :type agent_pool_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: ~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfiguration + :return: BuildServiceAgentPoolResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolResource :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceAgentPoolResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-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', 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -179,56 +187,41 @@ def get( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) + deserialized = self._deserialize('BuildServiceAgentPoolResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools/{agentPoolName}'} # type: ignore - def create_or_update( + def _update_put_initial( self, resource_group_name, # type: str - resource_name, # type: str - config_name, # type: str - parameters, # type: "_models.MaintenanceConfiguration" + service_name, # type: str + build_service_name, # type: str + agent_pool_name, # type: str + pool_size, # type: "_models.BuildServiceAgentPoolSizeProperties" **kwargs # type: Any ): - # type: (...) -> "_models.MaintenanceConfiguration" - """Creates or updates a maintenance configuration in the specified managed cluster. - - 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 parameters: The maintenance configuration to create or update. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.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: ~azure.mgmt.containerservice.v2021_09_01.models.MaintenanceConfiguration - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.MaintenanceConfiguration"] + # type: (...) -> "_models.BuildServiceAgentPoolResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceAgentPoolResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore + url = self._update_put_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', 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -242,82 +235,107 @@ def create_or_update( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'MaintenanceConfiguration') + body_content = self._serialize.body(pool_size, 'BuildServiceAgentPoolSizeProperties') 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]: + 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) - deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) + if response.status_code == 200: + deserialized = self._deserialize('BuildServiceAgentPoolResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BuildServiceAgentPoolResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + _update_put_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools/{agentPoolName}'} # type: ignore - def delete( + def begin_update_put( self, resource_group_name, # type: str - resource_name, # type: str - config_name, # type: str + service_name, # type: str + build_service_name, # type: str + agent_pool_name, # type: str + pool_size, # type: "_models.BuildServiceAgentPoolSizeProperties" **kwargs # type: Any ): - # type: (...) -> None - """Deletes a maintenance configuration. + # type: (...) -> LROPoller["_models.BuildServiceAgentPoolResource"] + """Create or update build service agent pool. - Deletes a maintenance configuration. - - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param 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 service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param agent_pool_name: The name of the build service agent pool resource. + :type agent_pool_name: str + :param pool_size: Parameters for the update operation. + :type pool_size: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolSizeProperties :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 + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 BuildServiceAgentPoolResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceAgentPoolResource] + :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-09-01" - accept = "application/json" + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceAgentPoolResource"] + 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_put_initial( + resource_group_name=resource_group_name, + service_name=service_name, + build_service_name=build_service_name, + agent_pool_name=agent_pool_name, + pool_size=pool_size, + 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('BuildServiceAgentPoolResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized - # 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', 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_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, 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.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} # type: ignore + 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_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools/{agentPoolName}'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_builder_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_builder_operations.py new file mode 100644 index 00000000000..ddce0e2031d --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_builder_operations.py @@ -0,0 +1,466 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 BuildServiceBuilderOperations(object): + """BuildServiceBuilderOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.BuilderResource" + """Get a KPack builder. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuilderResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuilderResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuilderResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + builder_resource, # type: "_models.BuilderResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.BuilderResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuilderResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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(builder_resource, 'BuilderResource') + 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('BuilderResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BuilderResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + builder_resource, # type: "_models.BuilderResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.BuilderResource"] + """Create or update a KPack builder. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :param builder_resource: The target builder for the create or update operation. + :type builder_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 BuilderResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuilderResource"] + 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, + service_name=service_name, + build_service_name=build_service_name, + builder_name=builder_name, + builder_resource=builder_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('BuilderResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete a KPack builder. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + build_service_name=build_service_name, + builder_name=builder_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.BuilderResourceCollection"] + """List KPack builders result. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuilderResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuilderResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuilderResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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('BuilderResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_operations.py new file mode 100644 index 00000000000..fec8413533c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_build_service_operations.py @@ -0,0 +1,970 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class BuildServiceOperations(object): + """BuildServiceOperations 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.appplatform.v2022_01_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. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_build_services( + self, + resource_group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.BuildServiceCollection"] + """List build services resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildServiceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildServiceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildServiceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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_build_services.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # 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('BuildServiceCollection', 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_build_services.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices'} # type: ignore + + def get_build_service( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.BuildService" + """Get a build service resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildService, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildService + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildService"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_build_service.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildService', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_build_service.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}'} # type: ignore + + def list_builds( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.BuildCollection"] + """List KPack builds. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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_builds.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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('BuildCollection', 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_builds.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds'} # type: ignore + + def get_build( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + build_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.Build" + """Get a KPack build. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Build, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Build + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Build"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_build.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Build', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_build.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}'} # type: ignore + + def create_or_update_build( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + build_name, # type: str + build, # type: "_models.Build" + **kwargs # type: Any + ): + # type: (...) -> "_models.Build" + """Create or update a KPack build. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :param build: Parameters for the create or update operation. + :type build: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Build + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Build, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.Build + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Build"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update_build.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_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(build, 'Build') + 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('Build', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Build', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update_build.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}'} # type: ignore + + def list_build_results( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + build_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.BuildResultCollection"] + """List KPack build results. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildResultCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResultCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildResultCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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_build_results.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_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('BuildResultCollection', 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_build_results.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results'} # type: ignore + + def get_build_result( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + build_name, # type: str + build_result_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.BuildResult" + """Get a KPack build result. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :param build_result_name: The name of the build result resource. + :type build_result_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildResult, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_build_result.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_name, 'str'), + 'buildResultName': self._serialize.url("build_result_name", build_result_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_build_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results/{buildResultName}'} # type: ignore + + def get_build_result_log( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + build_name, # type: str + build_result_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.BuildResultLog" + """Get a KPack build result log download URL. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param build_name: The name of the build resource. + :type build_name: str + :param build_result_name: The name of the build result resource. + :type build_result_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildResultLog, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildResultLog + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildResultLog"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_build_result_log.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildName': self._serialize.url("build_name", build_name, 'str'), + 'buildResultName': self._serialize.url("build_result_name", build_result_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildResultLog', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_build_result_log.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results/{buildResultName}/getLogFileUrl'} # type: ignore + + def get_resource_upload_url( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ResourceUploadDefinition" + """Get an resource upload URL for build service, which may be artifacts or source archive. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourceUploadDefinition, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceUploadDefinition + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceUploadDefinition"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_resource_upload_url.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourceUploadDefinition', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_resource_upload_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/getResourceUploadUrl'} # type: ignore + + def list_supported_buildpacks( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SupportedBuildpacksCollection" + """Get all supported buildpacks. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SupportedBuildpacksCollection, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedBuildpacksCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SupportedBuildpacksCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_supported_buildpacks.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SupportedBuildpacksCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_supported_buildpacks.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedBuildpacks'} # type: ignore + + def get_supported_buildpack( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + buildpack_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SupportedBuildpackResource" + """Get the supported buildpack resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param buildpack_name: The name of the buildpack resource. + :type buildpack_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SupportedBuildpackResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedBuildpackResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SupportedBuildpackResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_supported_buildpack.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'buildpackName': self._serialize.url("buildpack_name", buildpack_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SupportedBuildpackResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_supported_buildpack.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedBuildpacks/{buildpackName}'} # type: ignore + + def list_supported_stacks( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SupportedStacksCollection" + """Get all supported stacks. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SupportedStacksCollection, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedStacksCollection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SupportedStacksCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.list_supported_stacks.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SupportedStacksCollection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_supported_stacks.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedStacks'} # type: ignore + + def get_supported_stack( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + stack_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.SupportedStackResource" + """Get the supported stack resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param stack_name: The name of the stack resource. + :type stack_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SupportedStackResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.SupportedStackResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SupportedStackResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + accept = "application/json" + + # Construct URL + url = self.get_supported_stack.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'stackName': self._serialize.url("stack_name", stack_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SupportedStackResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_supported_stack.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedStacks/{stackName}'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_buildpack_binding_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_buildpack_binding_operations.py new file mode 100644 index 00000000000..d9facbd8c7d --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_buildpack_binding_operations.py @@ -0,0 +1,488 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 BuildpackBindingOperations(object): + """BuildpackBindingOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + buildpack_binding_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.BuildpackBindingResource" + """Get a buildpack binding by name. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :param buildpack_binding_name: The name of the Buildpack Binding Name. + :type buildpack_binding_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BuildpackBindingResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildpackBindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BuildpackBindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + buildpack_binding_name, # type: str + buildpack_binding, # type: "_models.BuildpackBindingResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.BuildpackBindingResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildpackBindingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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(buildpack_binding, 'BuildpackBindingResource') + 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('BuildpackBindingResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BuildpackBindingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + buildpack_binding_name, # type: str + buildpack_binding, # type: "_models.BuildpackBindingResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.BuildpackBindingResource"] + """Create or update a buildpack binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :param buildpack_binding_name: The name of the Buildpack Binding Name. + :type buildpack_binding_name: str + :param buildpack_binding: The target buildpack binding for the create or update operation. + :type buildpack_binding: ~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 BuildpackBindingResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildpackBindingResource"] + 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, + service_name=service_name, + build_service_name=build_service_name, + builder_name=builder_name, + buildpack_binding_name=buildpack_binding_name, + buildpack_binding=buildpack_binding, + 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('BuildpackBindingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + buildpack_binding_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + buildpack_binding_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Operation to delete a Buildpack Binding. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :param buildpack_binding_name: The name of the Buildpack Binding Name. + :type buildpack_binding_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + build_service_name=build_service_name, + builder_name=builder_name, + buildpack_binding_name=buildpack_binding_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_name, 'str'), + 'buildpackBindingName': self._serialize.url("buildpack_binding_name", buildpack_binding_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.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + build_service_name, # type: str + builder_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.BuildpackBindingResourceCollection"] + """Handles requests to list all buildpack bindings in a builder. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param build_service_name: The name of the build service resource. + :type build_service_name: str + :param builder_name: The name of the builder resource. + :type builder_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BuildpackBindingResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.BuildpackBindingResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BuildpackBindingResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'buildServiceName': self._serialize.url("build_service_name", build_service_name, 'str'), + 'builderName': self._serialize.url("builder_name", builder_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('BuildpackBindingResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_certificates_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_certificates_operations.py new file mode 100644 index 00000000000..8479ce22015 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_certificates_operations.py @@ -0,0 +1,447 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 CertificatesOperations(object): + """CertificatesOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + certificate_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CertificateResource" + """Get the certificate resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CertificateResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CertificateResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CertificateResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + certificate_name, # type: str + certificate_resource, # type: "_models.CertificateResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.CertificateResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.CertificateResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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(certificate_resource, 'CertificateResource') + 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, 202]: + 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('CertificateResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('CertificateResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('CertificateResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + certificate_name, # type: str + certificate_resource, # type: "_models.CertificateResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.CertificateResource"] + """Create or update certificate resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_name: str + :param certificate_resource: Parameters for the create or update operation. + :type certificate_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 CertificateResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CertificateResource"] + 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, + service_name=service_name, + certificate_name=certificate_name, + certificate_resource=certificate_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('CertificateResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + certificate_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + certificate_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete the certificate resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param certificate_name: The name of the certificate resource. + :type certificate_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + certificate_name=certificate_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'certificateName': self._serialize.url("certificate_name", certificate_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.AppPlatform/Spring/{serviceName}/certificates/{certificateName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.CertificateResourceCollection"] + """List all the certificates of one user. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CertificateResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.CertificateResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CertificateResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('CertificateResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_config_servers_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_config_servers_operations.py new file mode 100644 index 00000000000..ab72f2e1cef --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_config_servers_operations.py @@ -0,0 +1,500 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.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, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ConfigServersOperations(object): + """ConfigServersOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ConfigServerResource" + """Get the config server and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ConfigServerResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + def _update_put_initial( + self, + resource_group_name, # type: str + service_name, # type: str + config_server_resource, # type: "_models.ConfigServerResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.ConfigServerResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_put_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'), + 'serviceName': self._serialize.url("service_name", service_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(config_server_resource, 'ConfigServerResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_put_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + def begin_update_put( + self, + resource_group_name, # type: str + service_name, # type: str + config_server_resource, # type: "_models.ConfigServerResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ConfigServerResource"] + """Update the config server. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param config_server_resource: Parameters for the update operation. + :type config_server_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 ConfigServerResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + 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_put_initial( + resource_group_name=resource_group_name, + service_name=service_name, + config_server_resource=config_server_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('ConfigServerResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + def _update_patch_initial( + self, + resource_group_name, # type: str + service_name, # type: str + config_server_resource, # type: "_models.ConfigServerResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.ConfigServerResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_patch_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'), + 'serviceName': self._serialize.url("service_name", service_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(config_server_resource, 'ConfigServerResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_patch_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + def begin_update_patch( + self, + resource_group_name, # type: str + service_name, # type: str + config_server_resource, # type: "_models.ConfigServerResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ConfigServerResource"] + """Update the config server. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param config_server_resource: Parameters for the update operation. + :type config_server_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 ConfigServerResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerResource"] + 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_patch_initial( + resource_group_name=resource_group_name, + service_name=service_name, + config_server_resource=config_server_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('ConfigServerResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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_patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default'} # type: ignore + + def _validate_initial( + self, + resource_group_name, # type: str + service_name, # type: str + config_server_settings, # type: "_models.ConfigServerSettings" + **kwargs # type: Any + ): + # type: (...) -> "_models.ConfigServerSettingsValidateResult" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerSettingsValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._validate_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'), + 'serviceName': self._serialize.url("service_name", service_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(config_server_settings, 'ConfigServerSettings') + 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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ConfigServerSettingsValidateResult', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ConfigServerSettingsValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _validate_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/validate'} # type: ignore + + def begin_validate( + self, + resource_group_name, # type: str + service_name, # type: str + config_server_settings, # type: "_models.ConfigServerSettings" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ConfigServerSettingsValidateResult"] + """Check if the config server settings are valid. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param config_server_settings: Config server settings to be validated. + :type config_server_settings: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerSettings + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 ConfigServerSettingsValidateResult or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigServerSettingsValidateResult] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigServerSettingsValidateResult"] + 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._validate_initial( + resource_group_name=resource_group_name, + service_name=service_name, + config_server_settings=config_server_settings, + 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('ConfigServerSettingsValidateResult', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, 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_validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/validate'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_agent_pools_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_configuration_services_operations.py old mode 100755 new mode 100644 similarity index 55% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_agent_pools_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_configuration_services_operations.py index 8cc145aede3..847de780d36 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_agent_pools_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_configuration_services_operations.py @@ -25,14 +25,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class AgentPoolsOperations(object): - """AgentPoolsOperations operations. +class ConfigurationServicesOperations(object): + """ConfigurationServicesOperations 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -47,121 +47,43 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def list( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.AgentPoolListResult"] - """Gets a list of agent pools in the specified managed cluster. - - Gets a list of agent pools 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either AgentPoolListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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'), - '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 = {} # 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('AgentPoolListResult', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} # type: ignore - def get( self, resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str + service_name, # type: str + configuration_service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.AgentPool" - """Gets the specified managed cluster agent pool. - - Gets the specified managed cluster agent pool. + # type: (...) -> "_models.ConfigurationServiceResource" + """Get the Application Configuration Service and its properties. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param 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 service_name: The name of the Service resource. + :type service_name: str + :param configuration_service_name: The name of Application Configuration Service. + :type configuration_service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPool, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.AgentPool + :return: ConfigurationServiceResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResource :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-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', 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -181,29 +103,29 @@ def get( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('AgentPool', pipeline_response) + deserialized = self._deserialize('ConfigurationServiceResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore def _create_or_update_initial( self, resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - parameters, # type: "_models.AgentPool" + service_name, # type: str + configuration_service_name, # type: str + configuration_service_resource, # type: "_models.ConfigurationServiceResource" **kwargs # type: Any ): - # type: (...) -> "_models.AgentPool" - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + # type: (...) -> "_models.ConfigurationServiceResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" @@ -211,9 +133,9 @@ def _create_or_update_initial( 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', 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -227,7 +149,7 @@ def _create_or_update_initial( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'AgentPool') + body_content = self._serialize.body(configuration_service_resource, 'ConfigurationServiceResource') 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) @@ -238,50 +160,50 @@ def _create_or_update_initial( raise HttpResponseError(response=response, error_format=ARMErrorFormat) if response.status_code == 200: - deserialized = self._deserialize('AgentPool', pipeline_response) + deserialized = self._deserialize('ConfigurationServiceResource', pipeline_response) if response.status_code == 201: - deserialized = self._deserialize('AgentPool', pipeline_response) + deserialized = self._deserialize('ConfigurationServiceResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore def begin_create_or_update( self, resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str - parameters, # type: "_models.AgentPool" + service_name, # type: str + configuration_service_name, # type: str + configuration_service_resource, # type: "_models.ConfigurationServiceResource" **kwargs # type: Any ): - # type: (...) -> LROPoller["_models.AgentPool"] - """Creates or updates an agent pool in the specified managed cluster. - - Creates or updates an agent pool in the specified managed cluster. + # type: (...) -> LROPoller["_models.ConfigurationServiceResource"] + """Create the default Application Configuration Service or update the existing Application + Configuration Service. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param 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: The agent pool to create or update. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.AgentPool + :param service_name: The name of the Service resource. + :type service_name: str + :param configuration_service_name: The name of Application Configuration Service. + :type configuration_service_name: str + :param configuration_service_resource: Parameters for the update operation. + :type configuration_service_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResource :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: By default, your polling method will be ARMPolling. Pass in False for this operation to not poll, or pass in 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 AgentPool or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2021_09_01.models.AgentPool] + :return: An instance of LROPoller that returns either ConfigurationServiceResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResource] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceResource"] lro_delay = kwargs.pop( 'polling_interval', self._config.polling_interval @@ -290,9 +212,9 @@ def begin_create_or_update( if cont_token is None: 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, + service_name=service_name, + configuration_service_name=configuration_service_name, + configuration_service_resource=configuration_service_resource, cls=lambda x,y,z: x, **kwargs ) @@ -301,7 +223,7 @@ def begin_create_or_update( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('AgentPool', pipeline_response) + deserialized = self._deserialize('ConfigurationServiceResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -309,12 +231,12 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -326,13 +248,13 @@ def get_long_running_output(pipeline_response): ) 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.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore def _delete_initial( self, resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str + service_name, # type: str + configuration_service_name, # type: str **kwargs # type: Any ): # type: (...) -> None @@ -341,16 +263,16 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-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', 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -366,33 +288,32 @@ def _delete_initial( pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [202, 204]: + 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 cls: return cls(pipeline_response, None, {}) - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore def begin_delete( self, resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str + service_name, # type: str + configuration_service_name, # type: str **kwargs # type: Any ): # type: (...) -> LROPoller[None] - """Deletes an agent pool in the specified managed cluster. + """Disable the default Application Configuration Service. - Deletes an agent pool in the specified managed cluster. - - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param 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 service_name: The name of the Service resource. + :type service_name: str + :param configuration_service_name: The name of Application Configuration Service. + :type configuration_service_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: By default, your polling method will be ARMPolling. @@ -413,8 +334,8 @@ def begin_delete( if cont_token is None: raw_result = self._delete_initial( resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, + service_name=service_name, + configuration_service_name=configuration_service_name, cls=lambda x,y,z: x, **kwargs ) @@ -428,12 +349,12 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -445,159 +366,109 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} # type: ignore + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}'} # type: ignore - def get_upgrade_profile( + def list( self, resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.AgentPoolUpgradeProfile" - """Gets the upgrade profile for an agent pool. + # type: (...) -> Iterable["_models.ConfigurationServiceResourceCollection"] + """Handles requests to list all resources in a Service. - Gets the upgrade profile for an agent pool. - - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param 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 service_name: The name of the Service resource. + :type service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPoolUpgradeProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolUpgradeProfile + :return: An iterator like instance of either ConfigurationServiceResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceResourceCollection] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolUpgradeProfile"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceResourceCollection"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" - # Construct URL - url = self.get_upgrade_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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('AgentPoolUpgradeProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} # type: ignore - - def get_available_agent_pool_versions( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.AgentPoolAvailableVersions" - """Gets a list of supported Kubernetes versions for the specified agent pool. - - See `supported Kubernetes versions - `_ for more details about - the version lifecycle. - - :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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: AgentPoolAvailableVersions, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.AgentPoolAvailableVersions - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPoolAvailableVersions"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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') - # Construct URL - url = self.get_available_agent_pool_versions.metadata['url'] # type: ignore - path_format_arguments = { - '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) + 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'), + 'serviceName': self._serialize.url("service_name", service_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 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 - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + def extract_data(pipeline_response): + deserialized = self._deserialize('ConfigurationServiceResourceCollection', 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) - request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + def get_next(next_link=None): + request = prepare_request(next_link) - 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) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response - deserialized = self._deserialize('AgentPoolAvailableVersions', pipeline_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, deserialized, {}) + return pipeline_response - return deserialized - get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} # type: ignore + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices'} # type: ignore - def _upgrade_node_image_version_initial( + def _validate_initial( self, resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str + service_name, # type: str + configuration_service_name, # type: str + settings, # type: "_models.ConfigurationServiceSettings" **kwargs # type: Any ): - # type: (...) -> Optional["_models.AgentPool"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.AgentPool"]] + # type: (...) -> "_models.ConfigurationServiceSettingsValidateResult" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceSettingsValidateResult"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self._upgrade_node_image_version_initial.metadata['url'] # type: ignore + url = self._validate_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', 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -607,9 +478,13 @@ def _upgrade_node_image_version_initial( # 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') - request = self._client.post(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(settings, 'ConfigurationServiceSettings') + 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 @@ -617,58 +492,61 @@ def _upgrade_node_image_version_initial( 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('ConfigurationServiceSettingsValidateResult', pipeline_response) + if response.status_code == 202: - deserialized = self._deserialize('AgentPool', pipeline_response) + deserialized = self._deserialize('ConfigurationServiceSettingsValidateResult', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _upgrade_node_image_version_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore + _validate_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}/validate'} # type: ignore - def begin_upgrade_node_image_version( + def begin_validate( self, resource_group_name, # type: str - resource_name, # type: str - agent_pool_name, # type: str + service_name, # type: str + configuration_service_name, # type: str + settings, # type: "_models.ConfigurationServiceSettings" **kwargs # type: Any ): - # type: (...) -> LROPoller["_models.AgentPool"] - """Upgrades the node image version of an agent pool to the latest. - - Upgrading the node image version of an agent pool applies the newest OS and runtime updates to - the nodes. AKS provides one new image per week with the latest updates. For more details on - node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade. + # type: (...) -> LROPoller["_models.ConfigurationServiceSettingsValidateResult"] + """Check if the Application Configuration Service settings are valid. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param 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 service_name: The name of the Service resource. + :type service_name: str + :param configuration_service_name: The name of Application Configuration Service. + :type configuration_service_name: str + :param settings: Application Configuration Service settings to be validated. + :type settings: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceSettings :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: By default, your polling method will be ARMPolling. Pass in False for this operation to not poll, or pass in 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] + :return: An instance of LROPoller that returns either ConfigurationServiceSettingsValidateResult or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ConfigurationServiceSettingsValidateResult] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.AgentPool"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ConfigurationServiceSettingsValidateResult"] 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_node_image_version_initial( + raw_result = self._validate_initial( resource_group_name=resource_group_name, - resource_name=resource_name, - agent_pool_name=agent_pool_name, + service_name=service_name, + configuration_service_name=configuration_service_name, + settings=settings, cls=lambda x,y,z: x, **kwargs ) @@ -677,7 +555,7 @@ def begin_upgrade_node_image_version( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('AgentPool', pipeline_response) + deserialized = self._deserialize('ConfigurationServiceSettingsValidateResult', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -685,12 +563,12 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'configurationServiceName': self._serialize.url("configuration_service_name", configuration_service_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -702,4 +580,4 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} # type: ignore + begin_validate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}/validate'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_custom_domains_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_custom_domains_operations.py new file mode 100644 index 00000000000..3308e48649a --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_custom_domains_operations.py @@ -0,0 +1,614 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 CustomDomainsOperations(object): + """CustomDomainsOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + app_name, # type: str + domain_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.CustomDomainResource" + """Get the custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomDomainResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + domain_name, # type: str + domain_resource, # type: "_models.CustomDomainResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.CustomDomainResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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(domain_resource, 'CustomDomainResource') + 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, 202]: + 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('CustomDomainResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + domain_name, # type: str + domain_resource, # type: "_models.CustomDomainResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.CustomDomainResource"] + """Create or update custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :param domain_resource: Parameters for the create or update operation. + :type domain_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 CustomDomainResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + 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, + service_name=service_name, + app_name=app_name, + domain_name=domain_name, + domain_resource=domain_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('CustomDomainResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + domain_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + domain_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete the custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + app_name=app_name, + domain_name=domain_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + domain_name, # type: str + domain_resource, # type: "_models.CustomDomainResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.CustomDomainResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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(domain_resource, 'CustomDomainResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('CustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + domain_name, # type: str + domain_resource, # type: "_models.CustomDomainResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.CustomDomainResource"] + """Update custom domain of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param domain_name: The name of the custom domain resource. + :type domain_name: str + :param domain_resource: Parameters for the create or update operation. + :type domain_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 CustomDomainResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResource"] + 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, + service_name=service_name, + app_name=app_name, + domain_name=domain_name, + domain_resource=domain_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('CustomDomainResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.CustomDomainResourceCollection"] + """List the custom domains of one lifecycle application. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CustomDomainResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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('CustomDomainResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_managed_clusters_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_deployments_operations.py old mode 100755 new mode 100644 similarity index 52% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_managed_clusters_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_deployments_operations.py index 34574646e0e..f70ebea5539 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_managed_clusters_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_deployments_operations.py @@ -20,19 +20,19 @@ 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, List, Optional, TypeVar, Union T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class ManagedClustersOperations(object): - """ManagedClustersOperations operations. +class DeploymentsOperations(object): + """DeploymentsOperations 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -47,456 +47,59 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def get_os_options( - self, - location, # type: str - resource_type=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "_models.OSOptionProfile" - """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: The resource type for which the OS options needs to be returned. - :type resource_type: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: OSOptionProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.OSOptionProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OSOptionProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_os_options.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') - if resource_type is not None: - query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, '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('OSOptionProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_os_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default'} # type: ignore - - def list( - self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ManagedClusterListResult"] - """Gets a list of managed clusters in the specified subscription. - - Gets a list of managed clusters in 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 ManagedClusterListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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') - - 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('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore - - def list_by_resource_group( - self, - resource_group_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ManagedClusterListResult"] - """Lists managed clusters in the specified subscription and resource group. - - Lists managed clusters in the specified subscription and resource group. - - :param resource_group_name: The name of the 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 ManagedClusterListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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('ManagedClusterListResult', 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.ContainerService/managedClusters'} # type: ignore - - def get_upgrade_profile( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagedClusterUpgradeProfile" - """Gets the upgrade profile of a managed cluster. - - Gets the upgrade profile 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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedClusterUpgradeProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterUpgradeProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterUpgradeProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_upgrade_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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('ManagedClusterUpgradeProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} # type: ignore - - def get_access_profile( - self, - resource_group_name, # type: str - resource_name, # type: str - role_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagedClusterAccessProfile" - """Gets an access profile of a managed cluster. - - **WARNING**\ : This API will be deprecated. Instead use `ListClusterUserCredentials - `_ or - `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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedClusterAccessProfile, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAccessProfile - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedClusterAccessProfile"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_access_profile.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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('ManagedClusterAccessProfile', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} # type: ignore - - def list_cluster_admin_credentials( - self, - resource_group_name, # type: str - resource_name, # type: str - server_fqdn=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "_models.CredentialResults" - """Lists the admin credentials of a managed cluster. - - Lists the admin credentials 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 server_fqdn: server fqdn type for credentials to be returned. - :type server_fqdn: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.CredentialResults - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.list_cluster_admin_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', 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 = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if server_fqdn is not None: - query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, '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('CredentialResults', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} # type: ignore - - def list_cluster_user_credentials( + def get( self, resource_group_name, # type: str - resource_name, # type: str - server_fqdn=None, # type: Optional[str] + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.CredentialResults" - """Lists the user credentials of a managed cluster. - - Lists the user credentials of a managed cluster. + # type: (...) -> "_models.DeploymentResource" + """Get a Deployment and its properties. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str - :param server_fqdn: server fqdn type for credentials to be returned. - :type server_fqdn: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.CredentialResults + :return: DeploymentResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self.list_cluster_user_credentials.metadata['url'] # type: ignore + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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 server_fqdn is not None: - query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, '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) + request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -504,164 +107,187 @@ def list_cluster_user_credentials( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('CredentialResults', pipeline_response) + deserialized = self._deserialize('DeploymentResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore - def list_cluster_monitoring_user_credentials( + def _create_or_update_initial( self, resource_group_name, # type: str - resource_name, # type: str - server_fqdn=None, # type: Optional[str] + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + deployment_resource, # type: "_models.DeploymentResource" **kwargs # type: Any ): - # type: (...) -> "_models.CredentialResults" - """Lists the cluster monitoring user credentials of a managed cluster. - - Lists the cluster monitoring user credentials 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 server_fqdn: server fqdn type for credentials to be returned. - :type server_fqdn: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: CredentialResults, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.CredentialResults - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CredentialResults"] + # type: (...) -> "_models.DeploymentResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.list_cluster_monitoring_user_credentials.metadata['url'] # type: ignore + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_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 server_fqdn is not None: - query_parameters['server-fqdn'] = self._serialize.query("server_fqdn", server_fqdn, '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') - request = self._client.post(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(deployment_resource, 'DeploymentResource') + 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]: + if response.status_code not in [200, 201, 202]: map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('CredentialResults', pipeline_response) + if response.status_code == 200: + deserialized = self._deserialize('DeploymentResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DeploymentResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DeploymentResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} # type: ignore + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore - def get( + def begin_create_or_update( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + deployment_resource, # type: "_models.DeploymentResource" **kwargs # type: Any ): - # type: (...) -> "_models.ManagedCluster" - """Gets a managed cluster. + # type: (...) -> LROPoller["_models.DeploymentResource"] + """Create a new Deployment or update an exiting Deployment. - Gets a managed cluster. - - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param deployment_resource: Parameters for the create or update operation. + :type deployment_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagedCluster, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster - :raises: ~azure.core.exceptions.HttpResponseError + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 DeploymentResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource] + :raises ~azure.core.exceptions.HttpResponseError: """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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', 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 = {} # 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') + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] + 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, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + deployment_resource=deployment_resource, + cls=lambda x,y,z: x, + **kwargs + ) - request = self._client.get(url, query_parameters, header_parameters) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) - response = pipeline_response.http_response + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) - 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) + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DeploymentResource', pipeline_response) - deserialized = self._deserialize('ManagedCluster', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized - if cls: - return cls(pipeline_response, 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), + } - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + 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.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore - def _create_or_update_initial( + def _delete_initial( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedCluster" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.ManagedCluster" - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + # 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-09-01" - content_type = kwargs.pop("content_type", "application/json") + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self._create_or_update_initial.metadata['url'] # type: ignore + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -671,72 +297,64 @@ def _create_or_update_initial( # 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(parameters, 'ManagedCluster') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + 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, 201]: + 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('ManagedCluster', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('ManagedCluster', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, None, {}) - return deserialized - _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore - def begin_create_or_update( + def begin_delete( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedCluster" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): - # type: (...) -> LROPoller["_models.ManagedCluster"] - """Creates or updates a managed cluster. - - Creates or updates a managed cluster. + # type: (...) -> LROPoller[None] + """Operation to delete a Deployment. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str - :param parameters: The managed cluster to create or update. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_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: By default, your polling method will be ARMPolling. Pass in False for this operation to not poll, or pass in 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 ManagedCluster or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster] + :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["_models.ManagedCluster"] + 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._create_or_update_initial( + raw_result = self._delete_initial( resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, cls=lambda x,y,z: x, **kwargs ) @@ -745,19 +363,18 @@ def begin_create_or_update( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('ManagedCluster', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -769,31 +386,35 @@ def get_long_running_output(pipeline_response): ) 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.ContainerService/managedClusters/{resourceName}'} # type: ignore + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore - def _update_tags_initial( + def _update_initial( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.TagsObject" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + deployment_resource, # type: "_models.DeploymentResource" **kwargs # type: Any ): - # type: (...) -> "_models.ManagedCluster" - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + # type: (...) -> "_models.DeploymentResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self._update_tags_initial.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'), - '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -807,64 +428,75 @@ def _update_tags_initial( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TagsObject') + body_content = self._serialize.body(deployment_resource, 'DeploymentResource') 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]: + 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 = self._deserialize('ManagedCluster', pipeline_response) + if response.status_code == 200: + deserialized = self._deserialize('DeploymentResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('DeploymentResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _update_tags_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore - def begin_update_tags( + def begin_update( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.TagsObject" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + deployment_resource, # type: "_models.DeploymentResource" **kwargs # type: Any ): - # type: (...) -> LROPoller["_models.ManagedCluster"] - """Updates tags on a managed cluster. - - Updates tags on a managed cluster. + # type: (...) -> LROPoller["_models.DeploymentResource"] + """Operation to update an exiting Deployment. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str - :param parameters: Parameters supplied to the Update Managed Cluster Tags operation. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.TagsObject + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param deployment_resource: Parameters for the update operation. + :type deployment_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource :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: By default, your polling method will be ARMPolling. Pass in False for this operation to not poll, or pass in 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 ManagedCluster or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2021_09_01.models.ManagedCluster] + :return: An instance of LROPoller that returns either DeploymentResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResource] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagedCluster"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResource"] 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_tags_initial( + raw_result = self._update_initial( resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + deployment_resource=deployment_resource, cls=lambda x,y,z: x, **kwargs ) @@ -873,7 +505,7 @@ def begin_update_tags( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('ManagedCluster', pipeline_response) + deserialized = self._deserialize('DeploymentResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -881,11 +513,13 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -897,12 +531,180 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + app_name, # type: str + version=None, # type: Optional[List[str]] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.DeploymentResourceCollection"] + """Handles requests to list all resources in an App. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param version: Version of the deployments to be listed. + :type version: list[str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DeploymentResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_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 version is not None: + query_parameters['version'] = [self._serialize.query("version", q, 'str') if q is not None else '' for q in version] + + 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('DeploymentResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments'} # type: ignore + + def list_for_cluster( + self, + resource_group_name, # type: str + service_name, # type: str + version=None, # type: Optional[List[str]] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.DeploymentResourceCollection"] + """List deployments for a certain service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param version: Version of the deployments to be listed. + :type version: list[str] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DeploymentResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.DeploymentResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeploymentResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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_for_cluster.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if version is not None: + query_parameters['version'] = [self._serialize.query("version", q, 'str') if q is not None else '' for q in version] + + 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('DeploymentResourceCollection', 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 - def _delete_initial( + 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_for_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments'} # type: ignore + + def _start_initial( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): # type: (...) -> None @@ -911,15 +713,17 @@ def _delete_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self._delete_initial.metadata['url'] # type: ignore + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -931,34 +735,39 @@ def _delete_initial( header_parameters = {} # type: Dict[str, Any] header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.delete(url, query_parameters, header_parameters) + 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 [202, 204]: + 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, {}) - _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start'} # type: ignore - def begin_delete( + def begin_start( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): # type: (...) -> LROPoller[None] - """Deletes a managed cluster. - - Deletes a managed cluster. + """Start the deployment. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_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: By default, your polling method will be ARMPolling. @@ -977,9 +786,11 @@ def begin_delete( ) cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: - raw_result = self._delete_initial( + raw_result = self._start_initial( resource_group_name=resource_group_name, - resource_name=resource_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, cls=lambda x,y,z: x, **kwargs ) @@ -993,11 +804,13 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -1009,13 +822,14 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} # type: ignore + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start'} # type: ignore - def _reset_service_principal_profile_initial( + def _stop_initial( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedClusterServicePrincipalProfile" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): # type: (...) -> None @@ -1024,16 +838,17 @@ def _reset_service_principal_profile_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self._reset_service_principal_profile_initial.metadata['url'] # type: ignore + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -1043,13 +858,9 @@ def _reset_service_principal_profile_initial( # 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(parameters, 'ManagedClusterServicePrincipalProfile') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1060,26 +871,28 @@ def _reset_service_principal_profile_initial( if cls: return cls(pipeline_response, None, {}) - _reset_service_principal_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop'} # type: ignore - def begin_reset_service_principal_profile( + def begin_stop( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedClusterServicePrincipalProfile" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): # type: (...) -> LROPoller[None] - """Reset the Service Principal Profile of a managed cluster. - - This action cannot be performed on a cluster that is not using a service principal. + """Stop the deployment. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str - :param parameters: The service principal profile to set on the managed cluster. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterServicePrincipalProfile + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_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: By default, your polling method will be ARMPolling. @@ -1098,10 +911,11 @@ def begin_reset_service_principal_profile( ) cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: - raw_result = self._reset_service_principal_profile_initial( + raw_result = self._stop_initial( resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, cls=lambda x,y,z: x, **kwargs ) @@ -1115,11 +929,13 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -1131,13 +947,14 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} # type: ignore + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop'} # type: ignore - def _reset_aad_profile_initial( + def _restart_initial( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedClusterAADProfile" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): # type: (...) -> None @@ -1146,16 +963,17 @@ def _reset_aad_profile_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - content_type = kwargs.pop("content_type", "application/json") + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self._reset_aad_profile_initial.metadata['url'] # type: ignore + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -1165,13 +983,9 @@ def _reset_aad_profile_initial( # 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(parameters, 'ManagedClusterAADProfile') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1182,26 +996,28 @@ def _reset_aad_profile_initial( if cls: return cls(pipeline_response, None, {}) - _reset_aad_profile_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + _restart_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart'} # type: ignore - def begin_reset_aad_profile( + def begin_restart( self, resource_group_name, # type: str - resource_name, # type: str - parameters, # type: "_models.ManagedClusterAADProfile" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): # type: (...) -> LROPoller[None] - """Reset the AAD Profile of a managed cluster. - - Reset the AAD Profile of a managed cluster. + """Restart the deployment. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str - :param parameters: The AAD profile to set on the Managed Cluster. - :type parameters: ~azure.mgmt.containerservice.v2021_09_01.models.ManagedClusterAADProfile + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_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: By default, your polling method will be ARMPolling. @@ -1220,10 +1036,11 @@ def begin_reset_aad_profile( ) cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: - raw_result = self._reset_aad_profile_initial( + raw_result = self._restart_initial( resource_group_name=resource_group_name, - resource_name=resource_name, - parameters=parameters, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, cls=lambda x,y,z: x, **kwargs ) @@ -1237,11 +1054,13 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -1253,29 +1072,49 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} # type: ignore + begin_restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart'} # type: ignore - def _rotate_cluster_certificates_initial( + def get_log_file_url( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + app_name, # type: str + deployment_name, # type: str **kwargs # type: Any ): - # type: (...) -> None - cls = kwargs.pop('cls', None) # type: ClsType[None] + # type: (...) -> Optional["_models.LogFileUrlResponse"] + """Get deployment log file URL. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LogFileUrlResponse, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.LogFileUrlResponse or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.LogFileUrlResponse"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self._rotate_cluster_certificates_initial.metadata['url'] # type: ignore + url = self.get_log_file_url.metadata['url'] # type: ignore path_format_arguments = { '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -1291,87 +1130,27 @@ def _rotate_cluster_certificates_initial( pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [202, 204]: + 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, {}) - - _rotate_cluster_certificates_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore - - def begin_rotate_cluster_certificates( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> LROPoller[None] - """Rotates the certificates of a managed cluster. - - See `Certificate rotation `_ for - more details about rotating managed cluster certificates. - - :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 - :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: By default, your polling method will be ARMPolling. - Pass in False for this operation to not poll, or pass in 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._rotate_cluster_certificates_initial( - resource_group_name=resource_group_name, - resource_name=resource_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, {}) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LogFileUrlResponse', pipeline_response) - path_format_arguments = { - '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]$'), - } + if cls: + return cls(pipeline_response, deserialized, {}) - 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_rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} # type: ignore + return deserialized + get_log_file_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl'} # type: ignore - def _stop_initial( + def _generate_heap_dump_initial( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + diagnostic_parameters, # type: "_models.DiagnosticParameters" **kwargs # type: Any ): # type: (...) -> None @@ -1380,15 +1159,18 @@ def _stop_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self._stop_initial.metadata['url'] # type: ignore + url = self._generate_heap_dump_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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -1398,40 +1180,48 @@ def _stop_initial( # 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') - request = self._client.post(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(diagnostic_parameters, 'DiagnosticParameters') + 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 [202, 204]: + 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.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + _generate_heap_dump_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateHeapDump'} # type: ignore - def begin_stop( + def begin_generate_heap_dump( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + diagnostic_parameters, # type: "_models.DiagnosticParameters" **kwargs # type: Any ): # type: (...) -> LROPoller[None] - """Stops a Managed Cluster. - - This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a - cluster stops the control plane and agent nodes entirely, while maintaining all object and - cluster state. A cluster does not accrue charges while it is stopped. See `stopping a cluster - `_ for more details about stopping a - cluster. + """Generate Heap Dump. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param diagnostic_parameters: Parameters for the diagnostic operation. + :type diagnostic_parameters: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DiagnosticParameters :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: By default, your polling method will be ARMPolling. @@ -1450,9 +1240,12 @@ def begin_stop( ) cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: - raw_result = self._stop_initial( + raw_result = self._generate_heap_dump_initial( resource_group_name=resource_group_name, - resource_name=resource_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + diagnostic_parameters=diagnostic_parameters, cls=lambda x,y,z: x, **kwargs ) @@ -1466,11 +1259,13 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -1482,12 +1277,15 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} # type: ignore + begin_generate_heap_dump.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateHeapDump'} # type: ignore - def _start_initial( + def _generate_thread_dump_initial( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + diagnostic_parameters, # type: "_models.DiagnosticParameters" **kwargs # type: Any ): # type: (...) -> None @@ -1496,15 +1294,18 @@ def _start_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self._start_initial.metadata['url'] # type: ignore + url = self._generate_thread_dump_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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -1514,37 +1315,48 @@ def _start_initial( # 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') - request = self._client.post(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(diagnostic_parameters, 'DiagnosticParameters') + 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 [202, 204]: + 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, {}) - _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore + _generate_thread_dump_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateThreadDump'} # type: ignore - def begin_start( + def begin_generate_thread_dump( self, resource_group_name, # type: str - resource_name, # type: str + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + diagnostic_parameters, # type: "_models.DiagnosticParameters" **kwargs # type: Any ): # type: (...) -> LROPoller[None] - """Starts a previously stopped Managed Cluster. - - See `starting a cluster `_ for more - details about starting a cluster. + """Generate Thread Dump. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param diagnostic_parameters: Parameters for the diagnostic operation. + :type diagnostic_parameters: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DiagnosticParameters :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: By default, your polling method will be ARMPolling. @@ -1563,9 +1375,12 @@ def begin_start( ) cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: - raw_result = self._start_initial( + raw_result = self._generate_thread_dump_initial( resource_group_name=resource_group_name, - resource_name=resource_name, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + diagnostic_parameters=diagnostic_parameters, cls=lambda x,y,z: x, **kwargs ) @@ -1579,11 +1394,13 @@ def get_long_running_output(pipeline_response): path_format_arguments = { '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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -1595,31 +1412,35 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} # type: ignore + begin_generate_thread_dump.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateThreadDump'} # type: ignore - def _run_command_initial( + def _start_jfr_initial( self, resource_group_name, # type: str - resource_name, # type: str - request_payload, # type: "_models.RunCommandRequest" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + diagnostic_parameters, # type: "_models.DiagnosticParameters" **kwargs # type: Any ): - # type: (...) -> Optional["_models.RunCommandResult"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] + # 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-09-01" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self._run_command_initial.metadata['url'] # type: ignore + url = self._start_jfr_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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -1633,7 +1454,7 @@ def _run_command_initial( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(request_payload, 'RunCommandRequest') + body_content = self._serialize.body(diagnostic_parameters, 'DiagnosticParameters') 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) @@ -1643,58 +1464,58 @@ def _run_command_initial( 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('RunCommandResult', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, None, {}) - return deserialized - _run_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore + _start_jfr_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/startJFR'} # type: ignore - def begin_run_command( + def begin_start_jfr( self, resource_group_name, # type: str - resource_name, # type: str - request_payload, # type: "_models.RunCommandRequest" + service_name, # type: str + app_name, # type: str + deployment_name, # type: str + diagnostic_parameters, # type: "_models.DiagnosticParameters" **kwargs # type: Any ): - # type: (...) -> LROPoller["_models.RunCommandResult"] - """Submits a command to run against the Managed Cluster. - - AKS will create a pod to run the command. This is primarily useful for private clusters. For - more information see `AKS Run Command - `_. + # type: (...) -> LROPoller[None] + """Start JFR. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param resource_name: The name of the managed cluster resource. - :type resource_name: str - :param request_payload: The run command request. - :type request_payload: ~azure.mgmt.containerservice.v2021_09_01.models.RunCommandRequest + :param service_name: The name of the Service resource. + :type service_name: str + :param app_name: The name of the App resource. + :type app_name: str + :param deployment_name: The name of the Deployment resource. + :type deployment_name: str + :param diagnostic_parameters: Parameters for the diagnostic operation. + :type diagnostic_parameters: ~azure.mgmt.appplatform.v2022_01_01_preview.models.DiagnosticParameters :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: By default, your polling method will be ARMPolling. Pass in False for this operation to not poll, or pass in 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 RunCommandResult or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.containerservice.v2021_09_01.models.RunCommandResult] + :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["_models.RunCommandResult"] + 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._run_command_initial( + raw_result = self._start_jfr_initial( resource_group_name=resource_group_name, - resource_name=resource_name, - request_payload=request_payload, + service_name=service_name, + app_name=app_name, + deployment_name=deployment_name, + diagnostic_parameters=diagnostic_parameters, cls=lambda x,y,z: x, **kwargs ) @@ -1703,19 +1524,18 @@ def begin_run_command( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('RunCommandResult', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized + 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', 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]$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'appName': self._serialize.url("app_name", app_name, 'str'), + 'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -1727,149 +1547,4 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} # type: ignore - - def get_command_result( - self, - resource_group_name, # type: str - resource_name, # type: str - command_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> Optional["_models.RunCommandResult"] - """Gets the results of a command which has been run on the Managed Cluster. - - Gets the results of a command which has been run on the 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 command_id: Id of the command. - :type command_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: RunCommandResult, or the result of cls(response) - :rtype: ~azure.mgmt.containerservice.v2021_09_01.models.RunCommandResult or None - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.RunCommandResult"]] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" - accept = "application/json" - - # Construct URL - url = self.get_command_result.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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, 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('RunCommandResult', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} # type: ignore - - def list_outbound_network_dependencies_endpoints( - self, - resource_group_name, # type: str - resource_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.OutboundEnvironmentEndpointCollection"] - """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 - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OutboundEnvironmentEndpointCollection or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.OutboundEnvironmentEndpointCollection] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OutboundEnvironmentEndpointCollection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-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_outbound_network_dependencies_endpoints.metadata['url'] # type: ignore - path_format_arguments = { - '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 = {} # 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('OutboundEnvironmentEndpointCollection', 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_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints'} # type: ignore + begin_start_jfr.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/startJFR'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateway_custom_domains_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateway_custom_domains_operations.py new file mode 100644 index 00000000000..1cfaff6e8f7 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateway_custom_domains_operations.py @@ -0,0 +1,467 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 GatewayCustomDomainsOperations(object): + """GatewayCustomDomainsOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + gateway_name, # type: str + domain_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.GatewayCustomDomainResource" + """Get the Spring Cloud Gateway custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param domain_name: The name of the Spring Cloud Gateway custom domain. + :type domain_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GatewayCustomDomainResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayCustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GatewayCustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + domain_name, # type: str + gateway_custom_domain_resource, # type: "_models.GatewayCustomDomainResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.GatewayCustomDomainResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayCustomDomainResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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(gateway_custom_domain_resource, 'GatewayCustomDomainResource') + 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('GatewayCustomDomainResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('GatewayCustomDomainResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + domain_name, # type: str + gateway_custom_domain_resource, # type: "_models.GatewayCustomDomainResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.GatewayCustomDomainResource"] + """Create or update the Spring Cloud Gateway custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param domain_name: The name of the Spring Cloud Gateway custom domain. + :type domain_name: str + :param gateway_custom_domain_resource: The gateway custom domain resource for the create or + update operation. + :type gateway_custom_domain_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 GatewayCustomDomainResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayCustomDomainResource"] + 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, + service_name=service_name, + gateway_name=gateway_name, + domain_name=domain_name, + gateway_custom_domain_resource=gateway_custom_domain_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('GatewayCustomDomainResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + domain_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + domain_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete the Spring Cloud Gateway custom domain. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param domain_name: The name of the Spring Cloud Gateway custom domain. + :type domain_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + gateway_name=gateway_name, + domain_name=domain_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'domainName': self._serialize.url("domain_name", domain_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.GatewayCustomDomainResourceCollection"] + """Handle requests to list all Spring Cloud Gateway custom domains. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GatewayCustomDomainResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayCustomDomainResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayCustomDomainResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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('GatewayCustomDomainResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateway_route_configs_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateway_route_configs_operations.py new file mode 100644 index 00000000000..bc96fbc6552 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateway_route_configs_operations.py @@ -0,0 +1,468 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 GatewayRouteConfigsOperations(object): + """GatewayRouteConfigsOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + gateway_name, # type: str + route_config_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.GatewayRouteConfigResource" + """Get the Spring Cloud Gateway route configs. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param route_config_name: The name of the Spring Cloud Gateway route config. + :type route_config_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GatewayRouteConfigResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayRouteConfigResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GatewayRouteConfigResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + route_config_name, # type: str + gateway_route_config_resource, # type: "_models.GatewayRouteConfigResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.GatewayRouteConfigResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayRouteConfigResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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(gateway_route_config_resource, 'GatewayRouteConfigResource') + 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('GatewayRouteConfigResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('GatewayRouteConfigResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + route_config_name, # type: str + gateway_route_config_resource, # type: "_models.GatewayRouteConfigResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.GatewayRouteConfigResource"] + """Create the default Spring Cloud Gateway route configs or update the existing Spring Cloud + Gateway route configs. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param route_config_name: The name of the Spring Cloud Gateway route config. + :type route_config_name: str + :param gateway_route_config_resource: The Spring Cloud Gateway route config for the create or + update operation. + :type gateway_route_config_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 GatewayRouteConfigResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayRouteConfigResource"] + 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, + service_name=service_name, + gateway_name=gateway_name, + route_config_name=route_config_name, + gateway_route_config_resource=gateway_route_config_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('GatewayRouteConfigResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + route_config_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + route_config_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete the Spring Cloud Gateway route config. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param route_config_name: The name of the Spring Cloud Gateway route config. + :type route_config_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + gateway_name=gateway_name, + route_config_name=route_config_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'routeConfigName': self._serialize.url("route_config_name", route_config_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.GatewayRouteConfigResourceCollection"] + """Handle requests to list all Spring Cloud Gateway route configs. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GatewayRouteConfigResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayRouteConfigResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayRouteConfigResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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('GatewayRouteConfigResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateways_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateways_operations.py new file mode 100644 index 00000000000..194061d1061 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_gateways_operations.py @@ -0,0 +1,516 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 GatewaysOperations(object): + """GatewaysOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + gateway_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.GatewayResource" + """Get the Spring Cloud Gateway and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GatewayResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GatewayResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + gateway_resource, # type: "_models.GatewayResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.GatewayResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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(gateway_resource, 'GatewayResource') + 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('GatewayResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('GatewayResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + gateway_resource, # type: "_models.GatewayResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.GatewayResource"] + """Create the default Spring Cloud Gateway or update the existing Spring Cloud Gateway. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param gateway_resource: The gateway for the create or update operation. + :type gateway_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 GatewayResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayResource"] + 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, + service_name=service_name, + gateway_name=gateway_name, + gateway_resource=gateway_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('GatewayResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Disable the default Spring Cloud Gateway. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + gateway_name=gateway_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.GatewayResourceCollection"] + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GatewayResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.GatewayResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GatewayResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('GatewayResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways'} # type: ignore + + def validate_domain( + self, + resource_group_name, # type: str + service_name, # type: str + gateway_name, # type: str + validate_payload, # type: "_models.CustomDomainValidatePayload" + **kwargs # type: Any + ): + # type: (...) -> "_models.CustomDomainValidateResult" + """Check the domains are valid as well as not in use. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param gateway_name: The name of Spring Cloud Gateway. + :type gateway_name: str + :param validate_payload: Custom domain payload to be validated. + :type validate_payload: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidatePayload + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CustomDomainValidateResult, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.CustomDomainValidateResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CustomDomainValidateResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_domain.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_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(validate_payload, 'CustomDomainValidatePayload') + 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('CustomDomainValidateResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_domain.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/validateDomain'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_monitoring_settings_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_monitoring_settings_operations.py new file mode 100644 index 00000000000..e6ff2086618 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_monitoring_settings_operations.py @@ -0,0 +1,369 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.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, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class MonitoringSettingsOperations(object): + """MonitoringSettingsOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.MonitoringSettingResource" + """Get the Monitoring Setting and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MonitoringSettingResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore + + def _update_put_initial( + self, + resource_group_name, # type: str + service_name, # type: str + monitoring_setting_resource, # type: "_models.MonitoringSettingResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.MonitoringSettingResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_put_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'), + 'serviceName': self._serialize.url("service_name", service_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(monitoring_setting_resource, 'MonitoringSettingResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_put_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore + + def begin_update_put( + self, + resource_group_name, # type: str + service_name, # type: str + monitoring_setting_resource, # type: "_models.MonitoringSettingResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.MonitoringSettingResource"] + """Update the Monitoring Setting. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param monitoring_setting_resource: Parameters for the update operation. + :type monitoring_setting_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 MonitoringSettingResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + 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_put_initial( + resource_group_name=resource_group_name, + service_name=service_name, + monitoring_setting_resource=monitoring_setting_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('MonitoringSettingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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_put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore + + def _update_patch_initial( + self, + resource_group_name, # type: str + service_name, # type: str + monitoring_setting_resource, # type: "_models.MonitoringSettingResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.MonitoringSettingResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_patch_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'), + 'serviceName': self._serialize.url("service_name", service_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(monitoring_setting_resource, 'MonitoringSettingResource') + 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) + + if response.status_code == 200: + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('MonitoringSettingResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_patch_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore + + def begin_update_patch( + self, + resource_group_name, # type: str + service_name, # type: str + monitoring_setting_resource, # type: "_models.MonitoringSettingResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.MonitoringSettingResource"] + """Update the Monitoring Setting. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param monitoring_setting_resource: Parameters for the update operation. + :type monitoring_setting_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 MonitoringSettingResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.MonitoringSettingResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MonitoringSettingResource"] + 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_patch_initial( + resource_group_name=resource_group_name, + service_name=service_name, + monitoring_setting_resource=monitoring_setting_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('MonitoringSettingResource', 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'), + 'serviceName': self._serialize.url("service_name", service_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_patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default'} # type: ignore diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_operations.py old mode 100755 new mode 100644 similarity index 84% rename from src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_operations.py index f481df36ed7..9056b4dc128 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_09_01/operations/_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_operations.py @@ -30,7 +30,7 @@ class Operations(object): 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.containerservice.v2021_09_01.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,22 +49,20 @@ def list( self, **kwargs # type: Any ): - # type: (...) -> Iterable["_models.OperationListResult"] - """Gets a list of operations. - - Gets a list of operations. + # type: (...) -> Iterable["_models.AvailableOperations"] + """Lists all of the available REST API operations of the Microsoft.AppPlatform provider. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either OperationListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.containerservice.v2021_09_01.models.OperationListResult] + :return: An iterator like instance of either AvailableOperations or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.AvailableOperations] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AvailableOperations"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-09-01" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -87,11 +85,11 @@ def prepare_request(next_link=None): return request def extract_data(pipeline_response): - deserialized = self._deserialize('OperationListResult', pipeline_response) + deserialized = self._deserialize('AvailableOperations', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) @@ -108,4 +106,4 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} # type: ignore + list.metadata = {'url': '/providers/Microsoft.AppPlatform/operations'} # type: ignore diff --git a/src/network-manager/azext_network_manager/vendored_sdks/operations/_perimeter_associable_resource_types_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_runtime_versions_operations.py similarity index 69% rename from src/network-manager/azext_network_manager/vendored_sdks/operations/_perimeter_associable_resource_types_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_runtime_versions_operations.py index 80c30a1f635..70077593f37 100644 --- a/src/network-manager/azext_network_manager/vendored_sdks/operations/_perimeter_associable_resource_types_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_runtime_versions_operations.py @@ -22,14 +22,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class PerimeterAssociableResourceTypesOperations(object): - """PerimeterAssociableResourceTypesOperations operations. +class RuntimeVersionsOperations(object): + """RuntimeVersionsOperations 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.network.v2021_02_01_preview.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -44,37 +44,28 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def get( + def list_runtime_versions( self, - location, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.PerimeterAssociableResourcesListResult" - """Gets the list of resources that are onboarded with NSP. These resources can be associated with - a network security perimeter. + # type: (...) -> "_models.AvailableRuntimeVersions" + """Lists all of the available runtime versions supported by Microsoft.AppPlatform provider. - :param location: The location of the where the association is present. - :type location: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: PerimeterAssociableResourcesListResult, or the result of cls(response) - :rtype: ~azure.mgmt.network.v2021_02_01_preview.models.PerimeterAssociableResourcesListResult + :return: AvailableRuntimeVersions, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.AvailableRuntimeVersions :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PerimeterAssociableResourcesListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.AvailableRuntimeVersions"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2021-02-01-preview" + api_version = "2022-01-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'), - 'location': self._serialize.url("location", location, 'str'), - } - url = self._client.format_url(url, **path_format_arguments) + url = self.list_runtime_versions.metadata['url'] # type: ignore # Construct parameters query_parameters = {} # type: Dict[str, Any] @@ -92,10 +83,10 @@ def get( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PerimeterAssociableResourcesListResult', pipeline_response) + deserialized = self._deserialize('AvailableRuntimeVersions', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes'} # type: ignore + list_runtime_versions.metadata = {'url': '/providers/Microsoft.AppPlatform/runtimeVersions'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_service_registries_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_service_registries_operations.py new file mode 100644 index 00000000000..7bd9b2ab829 --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_service_registries_operations.py @@ -0,0 +1,434 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ServiceRegistriesOperations(object): + """ServiceRegistriesOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + service_registry_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ServiceRegistryResource" + """Get the Service Registry and its properties. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param service_registry_name: The name of Service Registry. + :type service_registry_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ServiceRegistryResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceRegistryResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ServiceRegistryResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + service_registry_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ServiceRegistryResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceRegistryResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-01-preview" + 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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.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, 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('ServiceRegistryResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ServiceRegistryResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + service_registry_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ServiceRegistryResource"] + """Create the default Service Registry or update the existing Service Registry. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param service_registry_name: The name of Service Registry. + :type service_registry_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 ServiceRegistryResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceRegistryResource"] + 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, + service_name=service_name, + service_registry_name=service_registry_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('ServiceRegistryResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + service_registry_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + service_registry_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Disable the default Service Registry. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param service_registry_name: The name of Service Registry. + :type service_registry_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + service_registry_name=service_registry_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'serviceRegistryName': self._serialize.url("service_registry_name", service_registry_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.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ServiceRegistryResourceCollection"] + """Handles requests to list all resources in a Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ServiceRegistryResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceRegistryResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceRegistryResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('ServiceRegistryResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_storage_accounts_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_services_operations.py similarity index 55% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_storage_accounts_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_services_operations.py index f1782b5b357..f85033954bd 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_storage_accounts_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_services_operations.py @@ -25,14 +25,14 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class StorageAccountsOperations(object): - """StorageAccountsOperations operations. +class ServicesOperations(object): + """ServicesOperations 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -47,36 +47,39 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def check_name_availability( + def get( self, - account_name, # type: "_models.StorageAccountCheckNameAvailabilityParameters" + resource_group_name, # type: str + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.CheckNameAvailabilityResult" - """Checks that the storage account name is valid and is not already in use. + # type: (...) -> "_models.ServiceResource" + """Get a Service and its properties. - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountCheckNameAvailabilityParameters + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: CheckNameAvailabilityResult, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.CheckNameAvailabilityResult + :return: ServiceResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.CheckNameAvailabilityResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self.check_name_availability.metadata['url'] # type: ignore + 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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -86,13 +89,9 @@ def check_name_availability( # 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(account_name, 'StorageAccountCheckNameAvailabilityParameters') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -100,37 +99,37 @@ def check_name_availability( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('CheckNameAvailabilityResult', pipeline_response) + deserialized = self._deserialize('ServiceResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore - def _create_initial( + def _create_or_update_initial( self, resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.StorageAccountCreateParameters" + service_name, # type: str + resource, # type: "_models.ServiceResource" **kwargs # type: Any ): - # type: (...) -> Optional["_models.StorageAccount"] - cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.StorageAccount"]] + # type: (...) -> "_models.ServiceResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self._create_initial.metadata['url'] # type: ignore + url = self._create_or_update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -144,70 +143,70 @@ def _create_initial( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'StorageAccountCreateParameters') + body_content = self._serialize.body(resource, 'ServiceResource') 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]: + if response.status_code not in [200, 201, 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('StorageAccount', pipeline_response) + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ServiceResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore - def begin_create( + def begin_create_or_update( self, resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.StorageAccountCreateParameters" + service_name, # type: str + resource, # type: "_models.ServiceResource" **kwargs # type: Any ): - # type: (...) -> LROPoller["_models.StorageAccount"] - """Asynchronously creates a new storage account with the specified parameters. If an account is - already created and a subsequent create request is issued with different properties, the - account properties will be updated. If an account is already created and a subsequent create or - update request is issued with the exact same set of properties, the request will succeed. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + # type: (...) -> LROPoller["_models.ServiceResource"] + """Create a new Service or update an exiting Service. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The parameters to provide for the created account. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountCreateParameters + :param service_name: The name of the Service resource. + :type service_name: str + :param resource: Parameters for the create or update operation. + :type resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource :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 + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 StorageAccount or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount] + :return: An instance of LROPoller that returns either ServiceResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource] :raises ~azure.core.exceptions.HttpResponseError: """ polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] 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( + raw_result = self._create_or_update_initial( resource_group_name=resource_group_name, - account_name=account_name, - parameters=parameters, + service_name=service_name, + resource=resource, cls=lambda x,y,z: x, **kwargs ) @@ -216,19 +215,19 @@ def begin_create( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('StorageAccount', pipeline_response) + deserialized = self._deserialize('ServiceResource', 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -240,42 +239,29 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore - def delete( + def _delete_initial( self, resource_group_name, # type: str - account_name, # type: str + service_name, # type: str **kwargs # type: Any ): # type: (...) -> None - """Deletes a storage account in Microsoft Azure. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :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-08-01-preview" + api_version = "2022-01-01-preview" + accept = "application/json" # Construct URL - url = self.delete.metadata['url'] # type: ignore + url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -285,137 +271,110 @@ def delete( # 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]: + 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 cls: return cls(pipeline_response, None, {}) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore - def get_properties( + def begin_delete( self, resource_group_name, # type: str - account_name, # type: str - expand=None, # type: Optional[Union[str, "_models.StorageAccountExpand"]] + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.StorageAccount" - """Returns the properties for the specified storage account including but not limited to name, SKU - name, location, and account status. The ListKeys operation should be used to retrieve storage - keys. + # type: (...) -> LROPoller[None] + """Operation to delete a Service. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param expand: May be used to expand the properties within account's properties. By default, - data is not included when fetching properties. Currently we only support geoReplicationStats - and blobRestoreStatus. - :type expand: str or ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountExpand + :param service_name: The name of the Service resource. + :type service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: StorageAccount, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount - :raises: ~azure.core.exceptions.HttpResponseError + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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: """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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 + 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, + service_name=service_name, + cls=lambda x,y,z: x, + **kwargs + ) - 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) + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) - deserialized = self._deserialize('StorageAccount', pipeline_response) + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) - if cls: - return cls(pipeline_response, 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } - return deserialized - get_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + 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.AppPlatform/Spring/{serviceName}'} # type: ignore - def update( + def _update_initial( self, resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.StorageAccountUpdateParameters" + service_name, # type: str + resource, # type: "_models.ServiceResource" **kwargs # type: Any ): - # type: (...) -> "_models.StorageAccount" - """The update operation can be used to update the SKU, encryption, access tier, or tags for a - storage account. It can also be used to map the account to a custom domain. Only one custom - domain is supported per storage account; the replacement/change of custom domain is not - supported. In order to replace an old custom domain, the old value must be cleared/unregistered - before a new value can be set. The update of multiple properties is supported. This call does - not change the storage keys for the account. If you want to change the storage account keys, - use the regenerate keys operation. The location and name of the storage account cannot be - changed after creation. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The parameters to provide for the updated account. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountUpdateParameters - :keyword callable cls: A custom type or function that will be passed the direct response - :return: StorageAccount, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] + # type: (...) -> "_models.ServiceResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.update.metadata['url'] # type: ignore + url = self._update_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -429,212 +388,140 @@ def update( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'StorageAccountUpdateParameters') + body_content = self._serialize.body(resource, 'ServiceResource') 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]: + 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 = self._deserialize('StorageAccount', pipeline_response) + if response.status_code == 200: + deserialized = self._deserialize('ServiceResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('ServiceResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore - - def list( - self, - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.StorageAccountListResult"] - """Lists all the storage accounts available under the subscription. Note that storage keys are not - returned; use the ListKeys operation for this. + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}'} # type: ignore - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either StorageAccountListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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), - } - url = self._client.format_url(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('StorageAccountListResult', 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.Storage/storageAccounts'} # type: ignore - - def list_by_resource_group( + def begin_update( self, resource_group_name, # type: str + service_name, # type: str + resource, # type: "_models.ServiceResource" **kwargs # type: Any ): - # type: (...) -> Iterable["_models.StorageAccountListResult"] - """Lists all the storage accounts available under the given resource group. Note that storage keys - are not returned; use the ListKeys operation for this. + # type: (...) -> LROPoller["_models.ServiceResource"] + """Operation to update an exiting Service. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param resource: Parameters for the update operation. + :type resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either StorageAccountListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountListResult] - :raises: ~azure.core.exceptions.HttpResponseError + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 ServiceResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResource] + :raises ~azure.core.exceptions.HttpResponseError: """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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') + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResource"] + 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, + service_name=service_name, + resource=resource, + cls=lambda x,y,z: x, + **kwargs + ) - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) - 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 get_long_running_output(pipeline_response): + deserialized = self._deserialize('ServiceResource', pipeline_response) - def extract_data(pipeline_response): - deserialized = self._deserialize('StorageAccountListResult', 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 cls(pipeline_response, deserialized, {}) + return deserialized - return pipeline_response + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + } - return ItemPaged( - get_next, extract_data - ) - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts'} # type: ignore + 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.AppPlatform/Spring/{serviceName}'} # type: ignore - def list_keys( + def list_test_keys( self, resource_group_name, # type: str - account_name, # type: str - expand="kerb", # type: Optional[str] + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.StorageAccountListKeysResult" - """Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage - account. + # type: (...) -> "_models.TestKeys" + """List test keys for a Service. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param expand: Specifies type of the key to be listed. Possible value is kerb. - :type expand: str + :param service_name: The name of the Service resource. + :type service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: StorageAccountListKeysResult, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountListKeysResult + :return: TestKeys, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.TestKeys :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListKeysResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.TestKeys"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self.list_keys.metadata['url'] # type: ignore + url = self.list_test_keys.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters query_parameters = {} # 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] @@ -648,54 +535,51 @@ def list_keys( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('StorageAccountListKeysResult', pipeline_response) + deserialized = self._deserialize('TestKeys', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys'} # type: ignore + list_test_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys'} # type: ignore - def regenerate_key( + def regenerate_test_key( self, resource_group_name, # type: str - account_name, # type: str - regenerate_key, # type: "_models.StorageAccountRegenerateKeyParameters" + service_name, # type: str + regenerate_test_key_request, # type: "_models.RegenerateTestKeyRequestPayload" **kwargs # type: Any ): - # type: (...) -> "_models.StorageAccountListKeysResult" - """Regenerates one of the access keys or Kerberos keys for the specified storage account. + # type: (...) -> "_models.TestKeys" + """Regenerate a test key for a Service. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param regenerate_key: Specifies name of the key which should be regenerated -- key1, key2, - kerb1, kerb2. - :type regenerate_key: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountRegenerateKeyParameters + :param service_name: The name of the Service resource. + :type service_name: str + :param regenerate_test_key_request: Parameters for the operation. + :type regenerate_test_key_request: ~azure.mgmt.appplatform.v2022_01_01_preview.models.RegenerateTestKeyRequestPayload :keyword callable cls: A custom type or function that will be passed the direct response - :return: StorageAccountListKeysResult, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountListKeysResult + :return: TestKeys, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.TestKeys :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListKeysResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.TestKeys"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.regenerate_key.metadata['url'] # type: ignore + url = self.regenerate_test_key.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -709,7 +593,7 @@ def regenerate_key( header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(regenerate_key, 'StorageAccountRegenerateKeyParameters') + body_content = self._serialize.body(regenerate_test_key_request, 'RegenerateTestKeyRequestPayload') 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) @@ -719,53 +603,47 @@ def regenerate_key( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('StorageAccountListKeysResult', pipeline_response) + deserialized = self._deserialize('TestKeys', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey'} # type: ignore + regenerate_test_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey'} # type: ignore - def list_account_sas( + def disable_test_endpoint( self, resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.AccountSasParameters" + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.ListAccountSasResponse" - """List SAS credentials of a storage account. + # type: (...) -> None + """Disable test endpoint functionality for a Service. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The parameters to provide to list SAS credentials for the storage account. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.AccountSasParameters + :param service_name: The name of the Service resource. + :type service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ListAccountSasResponse, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ListAccountSasResponse + :return: None, or the result of cls(response) + :rtype: None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListAccountSasResponse"] + 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-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self.list_account_sas.metadata['url'] # type: ignore + url = self.disable_test_endpoint.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -775,13 +653,9 @@ def list_account_sas( # 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(parameters, 'AccountSasParameters') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -789,53 +663,44 @@ def list_account_sas( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('ListAccountSasResponse', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, None, {}) - return deserialized - list_account_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas'} # type: ignore + disable_test_endpoint.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint'} # type: ignore - def list_service_sas( + def enable_test_endpoint( self, resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.ServiceSasParameters" + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.ListServiceSasResponse" - """List service SAS credentials of a specific resource. + # type: (...) -> "_models.TestKeys" + """Enable test endpoint functionality for a Service. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The parameters to provide to list service SAS credentials. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.ServiceSasParameters + :param service_name: The name of the Service resource. + :type service_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: ListServiceSasResponse, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ListServiceSasResponse + :return: TestKeys, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.TestKeys :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListServiceSasResponse"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.TestKeys"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self.list_service_sas.metadata['url'] # type: ignore + url = self.enable_test_endpoint.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -845,13 +710,9 @@ def list_service_sas( # 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(parameters, 'ServiceSasParameters') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -859,18 +720,18 @@ def list_service_sas( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('ListServiceSasResponse', pipeline_response) + deserialized = self._deserialize('TestKeys', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - list_service_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas'} # type: ignore + enable_test_endpoint.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint'} # type: ignore - def _failover_initial( + def _stop_initial( self, resource_group_name, # type: str - account_name, # type: str + service_name, # type: str **kwargs # type: Any ): # type: (...) -> None @@ -879,14 +740,15 @@ def _failover_initial( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" + accept = "application/json" # Construct URL - url = self._failover_initial.metadata['url'] # type: ignore + url = self._stop_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -896,42 +758,39 @@ def _failover_initial( # 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]: + if response.status_code not in [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, {}) - _failover_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'} # type: ignore + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/stop'} # type: ignore - def begin_failover( + def begin_stop( self, resource_group_name, # type: str - account_name, # type: str + service_name, # type: str **kwargs # type: Any ): # type: (...) -> LROPoller[None] - """Failover request can be triggered for a storage account in case of availability issues. The - failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS - accounts. The secondary cluster will become primary after failover. + """Stop a Service. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str + :param service_name: The name of the Service resource. + :type service_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 + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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) @@ -946,9 +805,9 @@ def begin_failover( ) cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] if cont_token is None: - raw_result = self._failover_initial( + raw_result = self._stop_initial( resource_group_name=resource_group_name, - account_name=account_name, + service_name=service_name, cls=lambda x,y,z: x, **kwargs ) @@ -961,12 +820,12 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, None, {}) path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -978,31 +837,29 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_failover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'} # type: ignore + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/stop'} # type: ignore - def _restore_blob_ranges_initial( + def _start_initial( self, resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.BlobRestoreParameters" + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.BlobRestoreStatus" - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobRestoreStatus"] + # 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-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") + api_version = "2022-01-01-preview" accept = "application/json" # Construct URL - url = self._restore_blob_ranges_initial.metadata['url'] # type: ignore + url = self._start_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -1012,73 +869,56 @@ def _restore_blob_ranges_initial( # 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(parameters, 'BlobRestoreParameters') - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + 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]: + if response.status_code not in [202]: 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('BlobRestoreStatus', pipeline_response) - - if response.status_code == 202: - deserialized = self._deserialize('BlobRestoreStatus', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) + return cls(pipeline_response, None, {}) - return deserialized - _restore_blob_ranges_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges'} # type: ignore + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/start'} # type: ignore - def begin_restore_blob_ranges( + def begin_start( self, resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.BlobRestoreParameters" + service_name, # type: str **kwargs # type: Any ): - # type: (...) -> LROPoller["_models.BlobRestoreStatus"] - """Restore blobs in the specified blob ranges. + # type: (...) -> LROPoller[None] + """Start a Service. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The parameters to provide for restore blob ranges. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreParameters + :param service_name: The name of the Service resource. + :type service_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 + :keyword polling: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 BlobRestoreStatus or the result of cls(response) - :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreStatus] + :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["_models.BlobRestoreStatus"] + 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._restore_blob_ranges_initial( + raw_result = self._start_initial( resource_group_name=resource_group_name, - account_name=account_name, - parameters=parameters, + service_name=service_name, cls=lambda x,y,z: x, **kwargs ) @@ -1087,19 +927,16 @@ def begin_restore_blob_ranges( kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('BlobRestoreStatus', pipeline_response) - if cls: - return cls(pipeline_response, deserialized, {}) - return deserialized + return cls(pipeline_response, None, {}) path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), } - if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **kwargs) + 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: @@ -1111,42 +948,40 @@ def get_long_running_output(pipeline_response): ) else: return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_restore_blob_ranges.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges'} # type: ignore + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/start'} # type: ignore - def revoke_user_delegation_keys( + def check_name_availability( self, - resource_group_name, # type: str - account_name, # type: str + location, # type: str + availability_parameters, # type: "_models.NameAvailabilityParameters" **kwargs # type: Any ): - # type: (...) -> None - """Revoke user delegation keys. + # type: (...) -> "_models.NameAvailability" + """Checks that the resource name is valid and is not already in use. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str + :param location: the region. + :type location: str + :param availability_parameters: Parameters supplied to the operation. + :type availability_parameters: ~azure.mgmt.appplatform.v2022_01_01_preview.models.NameAvailabilityParameters :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 + :return: NameAvailability, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.NameAvailability :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop('cls', None) # type: ClsType["_models.NameAvailability"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.revoke_user_delegation_keys.metadata['url'] # type: ignore + url = self.check_name_availability.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + '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) @@ -1156,8 +991,13 @@ def revoke_user_delegation_keys( # 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') - request = self._client.post(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(availability_parameters, 'NameAvailabilityParameters') + 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 @@ -1165,7 +1005,149 @@ def revoke_user_delegation_keys( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) + deserialized = self._deserialize('NameAvailability', pipeline_response) + if cls: - return cls(pipeline_response, None, {}) + return cls(pipeline_response, deserialized, {}) + + return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability'} # type: ignore + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ServiceResourceList"] + """Handles requests to list all resources 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 ServiceResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + } + url = self._client.format_url(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('ServiceResourceList', 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_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring'} # type: ignore + + def list( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ServiceResourceList"] + """Handles requests to list all resources in a resource group. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ServiceResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ServiceResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ServiceResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + } + url = self._client.format_url(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('ServiceResourceList', 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 - revoke_user_delegation_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys'} # type: ignore + 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_skus_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_skus_operations.py similarity index 84% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_skus_operations.py rename to src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_skus_operations.py index 42f8fbad937..924797dd16c 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_skus_operations.py +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_skus_operations.py @@ -30,7 +30,7 @@ class SkusOperations(object): 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.appplatform.v2022_01_01_preview.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -49,20 +49,20 @@ def list( self, **kwargs # type: Any ): - # type: (...) -> Iterable["_models.StorageSkuListResult"] - """Lists the available SKUs supported by Microsoft.Storage for given subscription. + # type: (...) -> Iterable["_models.ResourceSkuCollection"] + """Lists all of the available skus of the Microsoft.AppPlatform provider. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either StorageSkuListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.StorageSkuListResult] + :return: An iterator like instance of either ResourceSkuCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.ResourceSkuCollection] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageSkuListResult"] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceSkuCollection"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2022-01-01-preview" accept = "application/json" def prepare_request(next_link=None): @@ -74,7 +74,7 @@ def prepare_request(next_link=None): # 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), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters @@ -89,11 +89,11 @@ def prepare_request(next_link=None): return request def extract_data(pipeline_response): - deserialized = self._deserialize('StorageSkuListResult', pipeline_response) + deserialized = self._deserialize('ResourceSkuCollection', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) @@ -110,4 +110,4 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus'} # type: ignore + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus'} # type: ignore diff --git a/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_storages_operations.py b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_storages_operations.py new file mode 100644 index 00000000000..df22cb48b2c --- /dev/null +++ b/src/spring-cloud/azext_spring_cloud/vendored_sdks/appplatform/v2022_01_01_preview/operations/_storages_operations.py @@ -0,0 +1,447 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 StoragesOperations(object): + """StoragesOperations 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.appplatform.v2022_01_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. + """ + + 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 + service_name, # type: str + storage_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.StorageResource" + """Get the storage resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param storage_name: The name of the storage resource. + :type storage_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageResource, or the result of cls(response) + :rtype: ~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('StorageResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + service_name, # type: str + storage_name, # type: str + storage_resource, # type: "_models.StorageResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.StorageResource" + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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(storage_resource, 'StorageResource') + 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, 202]: + 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('StorageResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('StorageResource', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('StorageResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + service_name, # type: str + storage_name, # type: str + storage_resource, # type: "_models.StorageResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.StorageResource"] + """Create or update storage resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param storage_name: The name of the storage resource. + :type storage_name: str + :param storage_resource: Parameters for the create or update operation. + :type storage_resource: ~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResource + :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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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 StorageResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageResource"] + 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, + service_name=service_name, + storage_name=storage_name, + storage_resource=storage_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('StorageResource', 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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + service_name, # type: str + storage_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 = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + service_name, # type: str + storage_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete the storage resource. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :param storage_name: The name of the storage resource. + :type storage_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: By default, your polling method will be ARMPolling. + Pass in False for this operation to not poll, or pass in 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, + service_name=service_name, + storage_name=storage_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'), + 'serviceName': self._serialize.url("service_name", service_name, 'str'), + 'storageName': self._serialize.url("storage_name", storage_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.AppPlatform/Spring/{serviceName}/storages/{storageName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.StorageResourceCollection"] + """List all the storages of one Azure Spring Cloud instance. + + :param resource_group_name: The name of the resource group that contains the resource. You can + obtain this value from the Azure Resource Manager API or the portal. + :type resource_group_name: str + :param service_name: The name of the Service resource. + :type service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StorageResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.appplatform.v2022_01_01_preview.models.StorageResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2022-01-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'), + 'serviceName': self._serialize.url("service_name", service_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('StorageResourceCollection', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages'} # type: ignore diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index a76b87aa7e8..42843a3bb82 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.12.1' +VERSION = '3.0.1' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -47,7 +47,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/spring-cloud', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/spring-cloud', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/ssh/HISTORY.md b/src/ssh/HISTORY.md index 84449613487..9065fdee500 100644 --- a/src/ssh/HISTORY.md +++ b/src/ssh/HISTORY.md @@ -1,5 +1,15 @@ Release History =============== +1.0.1 +----- +* Added --ssh-client-folder parameter. +* Fixed issues caused when there are spaces or non-english characters in paths provided by users. +* Ensure all paths provided by users are converted to absolute paths. +* Print OpenSSH error messages to console on "az ssh vm". +* Print level1 SSH client log messages when running "az ssh vm" in debug mode. +* Change "isPreview". +* Correctly find pre-installed OpenSSH binaries on Windows 32bit machines. + 1.0.0 ----- * Delete all keys and certificates created during execution of ssh vm. diff --git a/src/ssh/azext_ssh/_params.py b/src/ssh/azext_ssh/_params.py index 2a1a5b33ce9..bd7b59f9241 100644 --- a/src/ssh/azext_ssh/_params.py +++ b/src/ssh/azext_ssh/_params.py @@ -19,6 +19,9 @@ def load_arguments(self, _): c.argument('cert_file', options_list=['--certificate-file', '-c'], help='Path to a certificate file used for authentication when using local user credentials.') c.argument('port', options_list=['--port'], help='SSH port') + c.argument('ssh_client_folder', options_list=['--ssh-client-folder'], + help='Folder path that contains ssh executables (ssh.exe, ssh-keygen.exe, etc). ' + 'Default to ssh pre-installed if not provided.') c.positional('ssh_args', nargs='*', help='Additional arguments passed to OpenSSH') with self.argument_context('ssh config') as c: @@ -37,6 +40,9 @@ def load_arguments(self, _): help='Folder where new generated keys will be stored.') c.argument('cert_file', options_list=['--certificate-file', '-c'], help='Path to certificate file') c.argument('port', options_list=['--port'], help='SSH port') + c.argument('ssh_client_folder', options_list=['--ssh-client-folder'], + help='Folder path that contains ssh executables (ssh.exe, ssh-keygen.exe, etc). ' + 'Default to ssh pre-installed if not provided.') with self.argument_context('ssh cert') as c: c.argument('cert_path', options_list=['--file', '-f'], @@ -44,3 +50,6 @@ def load_arguments(self, _): c.argument('public_key_file', options_list=['--public-key-file', '-p'], help='The RSA public key file path. If not provided, ' 'generated key pair is stored in the same directory as --file.') + c.argument('ssh_client_folder', options_list=['--ssh-client-folder'], + help='Folder path that contains ssh executables (ssh.exe, ssh-keygen.exe, etc). ' + 'Default to ssh pre-installed if not provided.') diff --git a/src/ssh/azext_ssh/azext_metadata.json b/src/ssh/azext_ssh/azext_metadata.json index 6a44beb25b4..17c19bca98e 100644 --- a/src/ssh/azext_ssh/azext_metadata.json +++ b/src/ssh/azext_ssh/azext_metadata.json @@ -1,4 +1,4 @@ { - "azext.isPreview": true, + "azext.isPreview": false, "azext.minCliCoreVersion": "2.4.0" } \ No newline at end of file diff --git a/src/ssh/azext_ssh/custom.py b/src/ssh/azext_ssh/custom.py index 1fd295d2c3a..78100f6aaa7 100644 --- a/src/ssh/azext_ssh/custom.py +++ b/src/ssh/azext_ssh/custom.py @@ -3,99 +3,145 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -import functools import os import hashlib import json import tempfile +import colorama +from colorama import Fore +from colorama import Style + from knack import log from azure.cli.core import azclierror from . import ip_utils from . import rsa_parser from . import ssh_utils +from . import ssh_info logger = log.get_logger(__name__) def ssh_vm(cmd, resource_group_name=None, vm_name=None, ssh_ip=None, public_key_file=None, private_key_file=None, use_private_ip=False, local_user=None, cert_file=None, port=None, - ssh_args=None): + ssh_client_folder=None, ssh_args=None): + + if '--debug' in cmd.cli_ctx.data['safe_params'] and set(['-v', '-vv', '-vvv']).isdisjoint(ssh_args): + ssh_args = ['-v'] if not ssh_args else ['-v'] + ssh_args + _assert_args(resource_group_name, vm_name, ssh_ip, cert_file, local_user) credentials_folder = None - op_call = functools.partial(ssh_utils.start_ssh_connection, port, ssh_args) - _do_ssh_op(cmd, resource_group_name, vm_name, ssh_ip, public_key_file, private_key_file, use_private_ip, - local_user, cert_file, credentials_folder, op_call) + op_call = ssh_utils.start_ssh_connection + ssh_session = ssh_info.SSHSession(resource_group_name, vm_name, ssh_ip, public_key_file, + private_key_file, use_private_ip, local_user, cert_file, port, + ssh_client_folder, ssh_args) + _do_ssh_op(cmd, ssh_session, credentials_folder, op_call) def ssh_config(cmd, config_path, resource_group_name=None, vm_name=None, ssh_ip=None, public_key_file=None, private_key_file=None, overwrite=False, use_private_ip=False, - local_user=None, cert_file=None, port=None, credentials_folder=None): + local_user=None, cert_file=None, port=None, credentials_folder=None, ssh_client_folder=None): + _assert_args(resource_group_name, vm_name, ssh_ip, cert_file, local_user) # If user provides their own key pair, certificate will be written in the same folder as public key. if (public_key_file or private_key_file) and credentials_folder: raise azclierror.ArgumentUsageError("--keys-destination-folder can't be used in conjunction with " "--public-key-file/-p or --private-key-file/-i.") - op_call = functools.partial(ssh_utils.write_ssh_config, config_path, resource_group_name, vm_name, overwrite, port) + config_session = ssh_info.ConfigSession(config_path, resource_group_name, vm_name, ssh_ip, public_key_file, + private_key_file, overwrite, use_private_ip, local_user, cert_file, + port, ssh_client_folder) + + op_call = ssh_utils.write_ssh_config + + # if the folder doesn't exist, this extension won't create a new one. + config_folder = os.path.dirname(config_session.config_path) + if not os.path.isdir(config_folder): + raise azclierror.InvalidArgumentValueError(f"Config file destination folder {config_folder} " + "does not exist.") + # Default credential location + # Add logic to test if credentials folder is valid if not credentials_folder: - config_folder = os.path.dirname(config_path) - if not os.path.isdir(config_folder): - raise azclierror.InvalidArgumentValueError(f"Config file destination folder {config_folder} " - "does not exist.") - folder_name = ssh_ip - if resource_group_name and vm_name: - folder_name = resource_group_name + "-" + vm_name + # * is not a valid name for a folder in Windows. Treat this as a special case. + folder_name = config_session.ip if config_session.ip != "*" else "all_ips" + if config_session.resource_group_name and config_session.vm_name: + folder_name = config_session.resource_group_name + "-" + config_session.vm_name credentials_folder = os.path.join(config_folder, os.path.join("az_ssh_config", folder_name)) + else: + credentials_folder = os.path.abspath(credentials_folder) - _do_ssh_op(cmd, resource_group_name, vm_name, ssh_ip, public_key_file, private_key_file, use_private_ip, - local_user, cert_file, credentials_folder, op_call) + _do_ssh_op(cmd, config_session, credentials_folder, op_call) -def ssh_cert(cmd, cert_path=None, public_key_file=None): +def ssh_cert(cmd, cert_path=None, public_key_file=None, ssh_client_folder=None): if not cert_path and not public_key_file: raise azclierror.RequiredArgumentMissingError("--file or --public-key-file must be provided.") if cert_path and not os.path.isdir(os.path.dirname(cert_path)): raise azclierror.InvalidArgumentValueError(f"{os.path.dirname(cert_path)} folder doesn't exist") + + if public_key_file: + public_key_file = os.path.abspath(public_key_file) + if cert_path: + cert_path = os.path.abspath(cert_path) + if ssh_client_folder: + ssh_client_folder = os.path.abspath(ssh_client_folder) + # If user doesn't provide a public key, save generated key pair to the same folder as --file keys_folder = None if not public_key_file: keys_folder = os.path.dirname(cert_path) - logger.warning("The generated SSH keys are stored at %s. Please delete SSH keys when the certificate " - "is no longer being used.", keys_folder) - public_key_file, _, _ = _check_or_create_public_private_files(public_key_file, None, keys_folder) - cert_file, _ = _get_and_write_certificate(cmd, public_key_file, cert_path) - print(cert_file + "\n") + + public_key_file, _, _ = _check_or_create_public_private_files(public_key_file, None, keys_folder, ssh_client_folder) + cert_file, _ = _get_and_write_certificate(cmd, public_key_file, cert_path, ssh_client_folder) + + if keys_folder: + logger.warning("%s contains sensitive information (id_rsa, id_rsa.pub). " + "Please delete once this certificate is no longer being used.", keys_folder) + + colorama.init() + # pylint: disable=broad-except + try: + cert_expiration = ssh_utils.get_certificate_start_and_end_times(cert_file, ssh_client_folder)[1] + print(Fore.GREEN + f"Generated SSH certificate {cert_file} is valid until {cert_expiration} in local time." + + Style.RESET_ALL) + except Exception as e: + logger.warning("Couldn't determine certificate validity. Error: %s", str(e)) + print(Fore.GREEN + f"Generated SSH certificate {cert_file}." + Style.RESET_ALL) -def _do_ssh_op(cmd, resource_group, vm_name, ssh_ip, public_key_file, private_key_file, use_private_ip, - username, cert_file, credentials_folder, op_call): +def _do_ssh_op(cmd, op_info, credentials_folder, op_call): # Get ssh_ip before getting public key to avoid getting "ResourceNotFound" exception after creating the keys - ssh_ip = ssh_ip or ip_utils.get_ssh_ip(cmd, resource_group, vm_name, use_private_ip) + op_info.ip = op_info.ip or ip_utils.get_ssh_ip(cmd, op_info.resource_group_name, + op_info.vm_name, op_info.use_private_ip) - if not ssh_ip: - if not use_private_ip: - raise azclierror.ResourceNotFoundError(f"VM '{vm_name}' does not have a public IP address to SSH to") + if not op_info.ip: + if not op_info.use_private_ip: + raise azclierror.ResourceNotFoundError(f"VM '{op_info.vm_name}' does not have a public " + "IP address to SSH to") - raise azclierror.ResourceNotFoundError(f"VM '{vm_name}' does not have a public or private IP address to SSH to") + raise azclierror.ResourceNotFoundError("Internal Error. Couldn't determine the IP address.") # If user provides local user, no credentials should be deleted. delete_keys = False delete_cert = False # If user provides a local user, use the provided credentials for authentication - if not username: + if not op_info.local_user: delete_cert = True - public_key_file, private_key_file, delete_keys = _check_or_create_public_private_files(public_key_file, - private_key_file, - credentials_folder) - cert_file, username = _get_and_write_certificate(cmd, public_key_file, None) + op_info.public_key_file, op_info.private_key_file, delete_keys = \ + _check_or_create_public_private_files(op_info.public_key_file, + op_info.private_key_file, + credentials_folder, + op_info.ssh_client_folder) - op_call(ssh_ip, username, cert_file, private_key_file, delete_keys, delete_cert) + op_info.cert_file, op_info.local_user = _get_and_write_certificate(cmd, op_info.public_key_file, + None, op_info.ssh_client_folder) + op_call(op_info, delete_keys, delete_cert) -def _get_and_write_certificate(cmd, public_key_file, cert_file): + +def _get_and_write_certificate(cmd, public_key_file, cert_file, ssh_client_folder): cloudtoscope = { "azurecloud": "https://pas.windows.net/CheckMyAccess/Linux/.default", "azurechinacloud": "https://pas.chinacloudapi.cn/CheckMyAccess/Linux/.default", @@ -124,9 +170,11 @@ def _get_and_write_certificate(cmd, public_key_file, cert_file): if not cert_file: cert_file = public_key_file + "-aadcert.pub" + + logger.debug("Generating certificate %s", cert_file) _write_cert_file(certificate, cert_file) # instead we use the validprincipals from the cert due to mismatched upn and email in guest scenarios - username = ssh_utils.get_ssh_cert_principals(cert_file)[0] + username = ssh_utils.get_ssh_cert_principals(cert_file, ssh_client_folder)[0] return cert_file, username.lower() @@ -172,7 +220,8 @@ def _assert_args(resource_group, vm_name, ssh_ip, cert_file, username): raise azclierror.FileOperationError(f"Certificate file {cert_file} not found") -def _check_or_create_public_private_files(public_key_file, private_key_file, credentials_folder): +def _check_or_create_public_private_files(public_key_file, private_key_file, credentials_folder, + ssh_client_folder=None): delete_keys = False # If nothing is passed, then create a directory with a ephemeral keypair if not public_key_file and not private_key_file: @@ -189,7 +238,7 @@ def _check_or_create_public_private_files(public_key_file, private_key_file, cre os.makedirs(credentials_folder) public_key_file = os.path.join(credentials_folder, "id_rsa.pub") private_key_file = os.path.join(credentials_folder, "id_rsa") - ssh_utils.create_ssh_keyfile(private_key_file) + ssh_utils.create_ssh_keyfile(private_key_file, ssh_client_folder) if not public_key_file: if private_key_file: @@ -210,7 +259,7 @@ def _check_or_create_public_private_files(public_key_file, private_key_file, cre def _write_cert_file(certificate_contents, cert_file): - with open(cert_file, 'w') as f: + with open(cert_file, 'w', encoding='utf-8') as f: f.write(f"ssh-rsa-cert-v01@openssh.com {certificate_contents}") return cert_file @@ -220,7 +269,7 @@ def _get_modulus_exponent(public_key_file): if not os.path.isfile(public_key_file): raise azclierror.FileOperationError(f"Public key file '{public_key_file}' was not found") - with open(public_key_file, 'r') as f: + with open(public_key_file, 'r', encoding='utf-8') as f: public_key_text = f.read() parser = rsa_parser.RSAParser() diff --git a/src/ssh/azext_ssh/file_utils.py b/src/ssh/azext_ssh/file_utils.py index b31927b9268..1e178ab44a2 100644 --- a/src/ssh/azext_ssh/file_utils.py +++ b/src/ssh/azext_ssh/file_utils.py @@ -28,6 +28,7 @@ def mkdir_p(path): def delete_file(file_path, message, warning=False): + # pylint: disable=broad-except if os.path.isfile(file_path): try: os.remove(file_path) @@ -39,6 +40,7 @@ def delete_file(file_path, message, warning=False): def delete_folder(dir_path, message, warning=False): + # pylint: disable=broad-except if os.path.isdir(dir_path): try: os.rmdir(dir_path) diff --git a/src/ssh/azext_ssh/ip_utils.py b/src/ssh/azext_ssh/ip_utils.py index a48098e7f42..a6c61ee0f04 100644 --- a/src/ssh/azext_ssh/ip_utils.py +++ b/src/ssh/azext_ssh/ip_utils.py @@ -36,7 +36,7 @@ def get_ssh_ip(cmd, resource_group, vm_name, use_private_ip): if public_ip and public_ip.ip_address: return public_ip.ip_address if ip_config.private_ip_address: - private_ips += ip_config.private_ip_address + private_ips.append(ip_config.private_ip_address) if len(private_ips) > 0: logger.warning("No public IP detected, attempting private IP (you must bring your own connectivity).") diff --git a/src/ssh/azext_ssh/ssh_info.py b/src/ssh/azext_ssh/ssh_info.py new file mode 100644 index 00000000000..6ef02efab67 --- /dev/null +++ b/src/ssh/azext_ssh/ssh_info.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. +# -------------------------------------------------------------------------------------------- +import os +from azure.cli.core import azclierror + + +class SSHSession(): + # pylint: disable=too-many-instance-attributes + def __init__(self, resource_group_name, vm_name, ssh_ip, public_key_file, private_key_file, + use_private_ip, local_user, cert_file, port, ssh_client_folder, ssh_args): + self.resource_group_name = resource_group_name + self.vm_name = vm_name + self.ip = ssh_ip + self.use_private_ip = use_private_ip + self.local_user = local_user + self.port = port + self.ssh_args = ssh_args + self.public_key_file = os.path.abspath(public_key_file) if public_key_file else None + self.private_key_file = os.path.abspath(private_key_file) if private_key_file else None + self.cert_file = os.path.abspath(cert_file) if cert_file else None + self.ssh_client_folder = os.path.abspath(ssh_client_folder) if ssh_client_folder else None + + def get_host(self): + if self.local_user and self.ip: + return self.local_user + "@" + self.ip + raise azclierror.BadRequestError("Unable to determine host.") + + def build_args(self): + private_key = [] + port_arg = [] + certificate = [] + if self.private_key_file: + private_key = ["-i", self.private_key_file] + if self.port: + port_arg = ["-p", self.port] + if self.cert_file: + certificate = ["-o", "CertificateFile=\"" + self.cert_file + "\""] + return private_key + certificate + port_arg + + +class ConfigSession(): + # pylint: disable=too-few-public-methods + # pylint: disable=too-many-instance-attributes + def __init__(self, config_path, resource_group_name, vm_name, ssh_ip, public_key_file, + private_key_file, overwrite, use_private_ip, local_user, cert_file, port, + ssh_client_folder): + self.config_path = os.path.abspath(config_path) + self.resource_group_name = resource_group_name + self.vm_name = vm_name + self.ip = ssh_ip + self.overwrite = overwrite + self.use_private_ip = use_private_ip + self.local_user = local_user + self.port = port + self.public_key_file = os.path.abspath(public_key_file) if public_key_file else None + self.private_key_file = os.path.abspath(private_key_file) if private_key_file else None + self.cert_file = os.path.abspath(cert_file) if cert_file else None + self.ssh_client_folder = os.path.abspath(ssh_client_folder) if ssh_client_folder else None + + def get_config_text(self): + lines = [""] + if self.resource_group_name and self.vm_name and self.ip: + lines = lines + self._get_rg_and_vm_entry() + # default to all hosts for config + if not self.ip: + self.ip = "*" + lines = lines + self._get_ip_entry() + return lines + + def _get_rg_and_vm_entry(self): + lines = [] + lines.append("Host " + self.resource_group_name + "-" + self.vm_name) + lines.append("\tUser " + self.local_user) + lines.append("\tHostName " + self.ip) + if self.cert_file: + lines.append("\tCertificateFile \"" + self.cert_file + "\"") + if self.private_key_file: + lines.append("\tIdentityFile \"" + self.private_key_file + "\"") + if self.port: + lines.append("\tPort " + self.port) + return lines + + def _get_ip_entry(self): + lines = [] + lines.append("Host " + self.ip) + lines.append("\tUser " + self.local_user) + if self.cert_file: + lines.append("\tCertificateFile \"" + self.cert_file + "\"") + if self.private_key_file: + lines.append("\tIdentityFile \"" + self.private_key_file + "\"") + if self.port: + lines.append("\tPort " + self.port) + return lines diff --git a/src/ssh/azext_ssh/ssh_utils.py b/src/ssh/azext_ssh/ssh_utils.py index bf27741aa7a..6b33833c47b 100644 --- a/src/ssh/azext_ssh/ssh_utils.py +++ b/src/ssh/azext_ssh/ssh_utils.py @@ -7,6 +7,8 @@ import subprocess import time import multiprocessing as mp +import datetime +import re from azext_ssh import file_utils from knack import log @@ -19,11 +21,13 @@ CLEANUP_AWAIT_TERMINATION_IN_SECONDS = 30 -def start_ssh_connection(port, ssh_args, ip, username, cert_file, private_key_file, delete_keys, delete_cert): +def start_ssh_connection(ssh_info, delete_keys, delete_cert): ssh_arg_list = [] - if ssh_args: - ssh_arg_list = ssh_args + if ssh_info.ssh_args: + ssh_arg_list = ssh_info.ssh_args + + command = [_get_ssh_client_path('ssh', ssh_info.ssh_client_folder), ssh_info.get_host()] log_file = None if delete_keys or delete_cert: @@ -31,20 +35,19 @@ def start_ssh_connection(port, ssh_args, ip, username, cert_file, private_key_fi # If the user either provides his own client log file (-E) or # wants the client log messages to be printed to the console (-vvv/-vv/-v), # we should not use the log files to check for connection success. - log_file_dir = os.path.dirname(cert_file) + log_file_dir = os.path.dirname(ssh_info.cert_file) log_file_name = 'ssh_client_log_' + str(os.getpid()) log_file = os.path.join(log_file_dir, log_file_name) ssh_arg_list = ['-E', log_file, '-v'] + ssh_arg_list # Create a new process that will wait until the connection is established and then delete keys. - cleanup_process = mp.Process(target=_do_cleanup, args=(delete_keys, delete_cert, cert_file, private_key_file, - log_file, True)) + cleanup_process = mp.Process(target=_do_cleanup, args=(delete_keys, delete_cert, ssh_info.cert_file, + ssh_info.private_key_file, ssh_info.public_key_file, log_file, True)) cleanup_process.start() - command = [_get_ssh_path(), _get_host(username, ip)] - command = command + _build_args(cert_file, private_key_file, port) + ssh_arg_list + command = command + ssh_info.build_args() + ssh_arg_list logger.debug("Running ssh command %s", ' '.join(command)) - subprocess.call(command, shell=platform.system() == 'Windows') + connection_status = subprocess.call(command, shell=platform.system() == 'Windows') if delete_keys or delete_cert: if cleanup_process.is_alive(): @@ -54,29 +57,69 @@ def start_ssh_connection(port, ssh_args, ip, username, cert_file, private_key_fi while cleanup_process.is_alive() and (time.time() - t0) < CLEANUP_AWAIT_TERMINATION_IN_SECONDS: time.sleep(1) + if log_file: + _print_error_messages_from_ssh_log(log_file, connection_status) + # Make sure all files have been properly removed. - _do_cleanup(delete_keys, delete_cert, cert_file, private_key_file) + _do_cleanup(delete_keys, delete_cert, ssh_info.cert_file, ssh_info.private_key_file, ssh_info.public_key_file) if log_file: file_utils.delete_file(log_file, f"Couldn't delete temporary log file {log_file}. ", True) if delete_keys: - temp_dir = os.path.dirname(cert_file) + temp_dir = os.path.dirname(ssh_info.cert_file) file_utils.delete_folder(temp_dir, f"Couldn't delete temporary folder {temp_dir}", True) -def create_ssh_keyfile(private_key_file): - command = [_get_ssh_path("ssh-keygen"), "-f", private_key_file, "-t", "rsa", "-q", "-N", ""] +def write_ssh_config(config_info, delete_keys, delete_cert): + + if delete_keys or delete_cert: + # Warn users to delete credentials once config file is no longer being used. + # If user provided keys, only ask them to delete the certificate. + path_to_delete = os.path.dirname(config_info.cert_file) + items_to_delete = " (id_rsa, id_rsa.pub, id_rsa.pub-aadcert.pub)" + if not delete_keys: + path_to_delete = config_info.cert_file + items_to_delete = "" + + expiration = None + # pylint: disable=broad-except + try: + expiration = get_certificate_start_and_end_times(config_info.cert_file, config_info.ssh_client_folder)[1] + expiration = expiration.strftime("%Y-%m-%d %I:%M:%S %p") + except Exception as e: + logger.warning("Couldn't determine certificate expiration. Error: %s", str(e)) + + if expiration: + logger.warning("The generated certificate %s is valid until %s in local time.", + config_info.cert_file, expiration) + logger.warning("%s contains sensitive information%s. Please delete it once you no longer this config file.", + path_to_delete, items_to_delete) + + config_text = config_info.get_config_text() + + if config_info.overwrite: + mode = 'w' + else: + mode = 'a' + with open(config_info.config_path, mode, encoding='utf-8') as f: + f.write('\n'.join(config_text)) + + +def create_ssh_keyfile(private_key_file, ssh_client_folder=None): + sshkeygen_path = _get_ssh_client_path("ssh-keygen", ssh_client_folder) + command = [sshkeygen_path, "-f", private_key_file, "-t", "rsa", "-q", "-N", ""] logger.debug("Running ssh-keygen command %s", ' '.join(command)) subprocess.call(command, shell=platform.system() == 'Windows') -def get_ssh_cert_info(cert_file): - command = [_get_ssh_path("ssh-keygen"), "-L", "-f", cert_file] +def get_ssh_cert_info(cert_file, ssh_client_folder=None): + sshkeygen_path = _get_ssh_client_path("ssh-keygen", ssh_client_folder) + command = [sshkeygen_path, "-L", "-f", cert_file] logger.debug("Running ssh-keygen command %s", ' '.join(command)) return subprocess.check_output(command, shell=platform.system() == 'Windows').decode().splitlines() -def get_ssh_cert_principals(cert_file): - info = get_ssh_cert_info(cert_file) +def get_ssh_cert_principals(cert_file, ssh_client_folder=None): + info = get_ssh_cert_info(cert_file, ssh_client_folder) principals = [] in_principal = False for line in info: @@ -91,116 +134,139 @@ def get_ssh_cert_principals(cert_file): return principals -def get_ssh_cert_validity(cert_file): - info = get_ssh_cert_info(cert_file) - for line in info: - if "Valid:" in line: - return line.strip() +def _get_ssh_cert_validity(cert_file, ssh_client_folder=None): + if cert_file: + info = get_ssh_cert_info(cert_file, ssh_client_folder) + for line in info: + if "Valid:" in line: + return line.strip() return None -def write_ssh_config(config_path, resource_group, vm_name, overwrite, port, - ip, username, cert_file, private_key_file, delete_keys, delete_cert): - - if delete_keys or delete_cert: - # Warn users to delete credentials once config file is no longer being used. - # If user provided keys, only ask them to delete the certificate. - path_to_delete = os.path.dirname(cert_file) - items_to_delete = " (id_rsa, id_rsa.pub, id_rsa.pub-aadcert.pub)" - if not delete_keys: - path_to_delete = cert_file - items_to_delete = "" - validity = get_ssh_cert_validity(cert_file) - validity_warning = "" - if validity: - validity_warning = f" {validity.lower()}" - logger.warning("%s contains sensitive information%s%s\n" - "Please delete it once you no longer need this config file. ", - path_to_delete, items_to_delete, validity_warning) - - lines = [""] - - if resource_group and vm_name: - lines.append("Host " + resource_group + "-" + vm_name) - lines.append("\tUser " + username) - lines.append("\tHostName " + ip) - if cert_file: - lines.append("\tCertificateFile " + cert_file) - if private_key_file: - lines.append("\tIdentityFile " + private_key_file) - if port: - lines.append("\tPort " + port) - - # default to all hosts for config - if not ip: - ip = "*" - - lines.append("Host " + ip) - lines.append("\tUser " + username) - if cert_file: - lines.append("\tCertificateFile " + cert_file) - if private_key_file: - lines.append("\tIdentityFile " + private_key_file) - if port: - lines.append("\tPort " + port) - - if overwrite: - mode = 'w' - else: - mode = 'a' +def get_certificate_start_and_end_times(cert_file, ssh_client_folder=None): + validity_str = _get_ssh_cert_validity(cert_file, ssh_client_folder) + times = None + if validity_str and "Valid: from " in validity_str and " to " in validity_str: + times = validity_str.replace("Valid: from ", "").split(" to ") + t0 = datetime.datetime.strptime(times[0], '%Y-%m-%dT%X') + t1 = datetime.datetime.strptime(times[1], '%Y-%m-%dT%X') + times = (t0, t1) + return times + + +def _print_error_messages_from_ssh_log(log_file, connection_status): + with open(log_file, 'r', encoding='utf-8') as ssh_log: + log_text = ssh_log.read() + log_lines = log_text.splitlines() + if "debug1: Authentication succeeded" not in log_text or connection_status != 0: + for line in log_lines: + if "debug1:" not in line: + print(line) + + if "Permission denied (publickey)." in log_text: + # pylint: disable=bare-except + # pylint: disable=too-many-boolean-expressions + # Check if OpenSSH client and server versions are incompatible + try: + regex = 'OpenSSH.*_([0-9]+)\\.([0-9]+)' + local_major, local_minor = re.findall(regex, log_lines[0])[0] + remote_major, remote_minor = re.findall(regex, _get_line_that_contains("remote software version", + log_lines))[0] + local_major = int(local_major) + local_minor = int(local_minor) + remote_major = int(remote_major) + remote_minor = int(remote_minor) + except: + ssh_log.close() + return + + if (remote_major < 7 or (remote_major == 7 and remote_minor < 8)) and \ + (local_major > 8 or (local_major == 8 and local_minor >= 8)): + logger.warning("The OpenSSH server version in the target VM %d.%d is too old. " + "Version incompatible with OpenSSH client version %d.%d. " + "Refer to https://bugzilla.mindrot.org/show_bug.cgi?id=3351 for more information.", + remote_major, remote_minor, local_major, local_minor) + + elif (local_major < 7 or (local_major == 7 and local_minor < 8)) and \ + (remote_major > 8 or (remote_major == 8 and remote_minor >= 8)): + logger.warning("The OpenSSH client version %d.%d is too old. " + "Version incompatible with OpenSSH server version %d.%d in the target VM. " + "Refer to https://bugzilla.mindrot.org/show_bug.cgi?id=3351 for more information.", + local_major, local_minor, remote_major, remote_minor) + ssh_log.close() + + +def _get_line_that_contains(substring, lines): + for line in lines: + if substring in line: + return line + return None - with open(config_path, mode) as f: - f.write('\n'.join(lines)) +def _get_ssh_client_path(ssh_command="ssh", ssh_client_folder=None): + if ssh_client_folder: + ssh_path = os.path.join(ssh_client_folder, ssh_command) + if platform.system() == 'Windows': + ssh_path = ssh_path + '.exe' + if os.path.isfile(ssh_path): + logger.debug("Attempting to run %s from path %s", ssh_command, ssh_path) + return ssh_path + logger.warning("Could not find %s in provided --ssh-client-folder %s. " + "Attempting to get pre-installed OpenSSH bits.", ssh_command, ssh_client_folder) -def _get_ssh_path(ssh_command="ssh"): ssh_path = ssh_command if platform.system() == 'Windows': - arch_data = platform.architecture() - is_32bit = arch_data[0] == '32bit' - sys_path = 'SysNative' if is_32bit else 'System32' + # If OS architecture is 64bit and python architecture is 32bit, + # look for System32 under SysNative folder. + machine = platform.machine() + os_architecture = None + # python interpreter architecture + platform_architecture = platform.architecture()[0] + sys_path = None + + if machine.endswith('64'): + os_architecture = '64bit' + elif machine.endswith('86'): + os_architecture = '32bit' + elif machine == '': + raise azclierror.BadRequestError("Couldn't identify the OS architecture.") + else: + raise azclierror.BadRequestError(f"Unsuported OS architecture: {machine} is not currently supported") + + if os_architecture == "64bit": + sys_path = 'SysNative' if platform_architecture == '32bit' else 'System32' + else: + sys_path = 'System32' + system_root = os.environ['SystemRoot'] system32_path = os.path.join(system_root, sys_path) ssh_path = os.path.join(system32_path, "openSSH", (ssh_command + ".exe")) - logger.debug("Platform architecture: %s", str(arch_data)) + logger.debug("Platform architecture: %s", platform_architecture) + logger.debug("OS architecture: %s", os_architecture) logger.debug("System Root: %s", system_root) - logger.debug("Attempting to run ssh from path %s", ssh_path) + logger.debug("Attempting to run %s from path %s", ssh_command, ssh_path) if not os.path.isfile(ssh_path): raise azclierror.UnclassifiedUserFault( - "Could not find " + ssh_command + ".exe.", - "https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse") + "Could not find " + ssh_command + ".exe on path " + ssh_path + ". " + "Make sure OpenSSH is installed correctly: " + "https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse . " + "Or use --ssh-client-folder to provide folder path with ssh executables. ") return ssh_path -def _get_host(username, ip): - return username + "@" + ip - - -def _build_args(cert_file, private_key_file, port): - private_key = [] - port_arg = [] - certificate = [] - if private_key_file: - private_key = ["-i", private_key_file] - if port: - port_arg = ["-p", port] - if cert_file: - certificate = ["-o", "CertificateFile=" + cert_file] - return private_key + certificate + port_arg - - -def _do_cleanup(delete_keys, delete_cert, cert_file, private_key, log_file=None, wait=False): +def _do_cleanup(delete_keys, delete_cert, cert_file, private_key, public_key, log_file=None, wait=False): # if there is a log file, use it to check for the connection success if log_file: t0 = time.time() match = False while (time.time() - t0) < CLEANUP_TOTAL_TIME_LIMIT_IN_SECONDS and not match: time.sleep(CLEANUP_TIME_INTERVAL_IN_SECONDS) + # pylint: disable=bare-except try: - with open(log_file, 'r') as ssh_client_log: + with open(log_file, 'r', encoding='utf-8') as ssh_client_log: match = "debug1: Authentication succeeded" in ssh_client_log.read() ssh_client_log.close() except: @@ -211,10 +277,9 @@ def _do_cleanup(delete_keys, delete_cert, cert_file, private_key, log_file=None, # if we are not checking the logs, but still want to wait for connection before deleting files time.sleep(CLEANUP_TOTAL_TIME_LIMIT_IN_SECONDS) - # TO DO: Once arc changes are merged, delete relay information as well if delete_keys and private_key: - public_key = private_key + '.pub' file_utils.delete_file(private_key, f"Couldn't delete private key {private_key}. ", True) + if delete_keys and public_key: file_utils.delete_file(public_key, f"Couldn't delete public key {public_key}. ", True) if delete_cert and cert_file: file_utils.delete_file(cert_file, f"Couldn't delete certificate {cert_file}. ", True) diff --git a/src/ssh/azext_ssh/tests/latest/test_custom.py b/src/ssh/azext_ssh/tests/latest/test_custom.py index 7952b63f3c1..96ee88879dc 100644 --- a/src/ssh/azext_ssh/tests/latest/test_custom.py +++ b/src/ssh/azext_ssh/tests/latest/test_custom.py @@ -10,42 +10,103 @@ from azext_ssh import custom +from azext_ssh import ssh_info +from azext_ssh import ssh_utils class SshCustomCommandTest(unittest.TestCase): + @mock.patch('azext_ssh.custom._do_ssh_op') @mock.patch('azext_ssh.custom._assert_args') - def test_ssh_vm(self, mock_assert, mock_do_op): + @mock.patch('azext_ssh.ssh_info.SSHSession') + def test_ssh_vm(self, mock_info, mock_assert, mock_do_op): cmd = mock.Mock() - custom.ssh_vm(cmd, "rg", "vm", "ip", "public", "private", False, "username", "cert", "port", None) + cmd.cli_ctx.data = {'safe_params': []} + + custom.ssh_vm(cmd, "rg", "vm", "ip", "public", "private", False, "username", "cert", "port", "ssh_folder", ['-vvv']) + + mock_info.assert_called_once_with("rg", "vm", "ip", "public", "private", False, "username", "cert", "port", "ssh_folder", ['-vvv']) mock_assert.assert_called_once_with("rg", "vm", "ip", "cert", "username") - mock_do_op.assert_called_once_with( - cmd, "rg", "vm", "ip", "public", "private", False, "username", "cert", None, mock.ANY) - + mock_do_op.assert_called_once_with(cmd, mock.ANY, None, ssh_utils.start_ssh_connection) + + @mock.patch('azext_ssh.custom._do_ssh_op') + @mock.patch('azext_ssh.custom._assert_args') + @mock.patch('azext_ssh.ssh_info.SSHSession') + def test_ssh_vm_debug(self, mock_info, mock_assert, mock_do_op): + cmd = mock.Mock() + + cmd.cli_ctx.data = {'safe_params': ['--debug']} + + custom.ssh_vm(cmd, "rg", "vm", "ip", "public", "private", False, "username", "cert", "port", "ssh_folder", []) + + mock_info.assert_called_once_with("rg", "vm", "ip", "public", "private", False, "username", "cert", "port", "ssh_folder", ['-v']) + mock_assert.assert_called_once_with("rg", "vm", "ip", "cert", "username") + mock_do_op.assert_called_once_with(cmd, mock.ANY, None, ssh_utils.start_ssh_connection) + @mock.patch('azext_ssh.custom._do_ssh_op') @mock.patch('azext_ssh.ssh_utils.write_ssh_config') @mock.patch('azext_ssh.custom._assert_args') @mock.patch('os.path.isdir') @mock.patch('os.path.dirname') @mock.patch('os.path.join') - def test_ssh_config(self, mock_join, mock_dirname, mock_isdir, mock_assert, mock_ssh_utils, mock_do_op): + @mock.patch('azext_ssh.ssh_info.ConfigSession') + def test_ssh_config(self, mock_info, mock_join, mock_dirname, mock_isdir, mock_assert, mock_ssh_utils, mock_do_op): cmd = mock.Mock() mock_dirname.return_value = "configdir" mock_isdir.return_value = True mock_join.side_effect = ['az_ssh_config/rg-vm', 'path/to/az_ssh_config/rg-vm'] - def do_op_side_effect(cmd, resource_group, vm_name, ssh_ip, public_key_file, private_key_file, use_private_ip, local_user, cert_file, credentials_folder, op_call): - op_call(ssh_ip, "username", "cert", private_key_file, False, False) - - mock_do_op.side_effect = do_op_side_effect - custom.ssh_config(cmd, "path/to/file", "rg", "vm", "ip", "public", "private", False, False, "username", "cert", "port", None) + custom.ssh_config(cmd, "path/to/file", "rg", "vm", "ip", "public", "private", False, False, "username", "cert", "port", None, "client/folder") - mock_ssh_utils.assert_called_once_with("path/to/file", "rg", "vm", False, "port", "ip", "username", "cert", "private", False, False) + mock_info.assert_called_once_with("path/to/file", "rg", "vm", "ip", "public", "private", False, False, "username", "cert", "port", "client/folder") mock_assert.assert_called_once_with("rg", "vm", "ip", "cert", "username") - mock_do_op.assert_called_once_with( - cmd, "rg", "vm", "ip", "public", "private", False, "username", "cert", 'path/to/az_ssh_config/rg-vm', mock.ANY) + mock_do_op.assert_called_once_with(cmd, mock.ANY, 'path/to/az_ssh_config/rg-vm', ssh_utils.write_ssh_config) + + def test_ssh_cert_no_args(self): + cmd = mock.Mock() + self.assertRaises( + azclierror.RequiredArgumentMissingError, custom.ssh_cert, cmd) + @mock.patch('os.path.isdir') + def test_ssh_cert_cert_file_missing(self, mock_isdir): + cmd = mock.Mock() + mock_isdir.return_value = False + self.assertRaises( + azclierror.InvalidArgumentValueError, custom.ssh_cert, cmd, cert_path="cert") + + @mock.patch('os.path.isdir') + @mock.patch('os.path.abspath') + @mock.patch('azext_ssh.custom._check_or_create_public_private_files') + @mock.patch('azext_ssh.custom._get_and_write_certificate') + def test_ssh_cert(self, mock_write_cert, mock_get_keys, mock_abspath, mock_isdir): + cmd = mock.Mock() + mock_isdir.return_value = True + mock_abspath.side_effect = ['/pubkey/path', '/cert/path', '/client/path'] + mock_get_keys.return_value = "pubkey", "privkey", False + mock_write_cert.return_value = "cert", "username" + + custom.ssh_cert(cmd, "cert", "pubkey", "ssh/folder") + + mock_get_keys.assert_called_once_with('/pubkey/path', None, None, '/client/path') + mock_write_cert.assert_called_once_with(cmd, 'pubkey', '/cert/path', '/client/path') + + @mock.patch('os.path.isdir') + @mock.patch('os.path.abspath') + @mock.patch('azext_ssh.custom._check_or_create_public_private_files') + @mock.patch('azext_ssh.custom._get_and_write_certificate') + def test_ssh_cert(self, mock_write_cert, mock_get_keys, mock_abspath, mock_isdir): + cmd = mock.Mock() + mock_isdir.return_value = True + mock_abspath.side_effect = ['/pubkey/path', '/cert/path', '/client/path'] + mock_get_keys.return_value = "pubkey", "privkey", False + mock_write_cert.return_value = "cert", "username" + + custom.ssh_cert(cmd, "cert", "pubkey", "ssh/folder") + + mock_get_keys.assert_called_once_with('/pubkey/path', None, None, '/client/path') + mock_write_cert.assert_called_once_with(cmd, 'pubkey', '/cert/path', '/client/path') + @mock.patch('azext_ssh.ssh_utils.get_ssh_cert_principals') @mock.patch('os.path.join') @mock.patch('azext_ssh.custom._check_or_create_public_private_files') @@ -59,6 +120,16 @@ def test_do_ssh_op_aad_user(self, mock_write_cert, mock_ssh_creds, mock_get_mod_ cmd.cli_ctx = mock.Mock() cmd.cli_ctx.cloud = mock.Mock() cmd.cli_ctx.cloud.name = "azurecloud" + + op_info = mock.Mock() + op_info.ip = "1.2.3.4" + op_info.public_key_file = "publicfile" + op_info.private_key_file = "privatefile" + op_info.use_private_ip = False + op_info.local_user = None + op_info.cert_file = None + op_info.ssh_client_folder = "/client/folder" + mock_op = mock.Mock() mock_check_files.return_value = "public", "private", False mock_principal.return_value = ["username"] @@ -68,15 +139,14 @@ def test_do_ssh_op_aad_user(self, mock_write_cert, mock_ssh_creds, mock_get_mod_ profile.get_msal_token.return_value = "username", "certificate" mock_join.return_value = "public-aadcert.pub" - custom._do_ssh_op(cmd, None, None, "1.2.3.4", "publicfile", "privatefile", False, None, None, "cred/folder", mock_op) + custom._do_ssh_op(cmd, op_info, "cred/folder", mock_op) - mock_check_files.assert_called_once_with("publicfile", "privatefile", "cred/folder") + mock_check_files.assert_called_once_with("publicfile", "privatefile", "cred/folder", "/client/folder") mock_ip.assert_not_called() mock_get_mod_exp.assert_called_once_with("public") mock_write_cert.assert_called_once_with("certificate", "public-aadcert.pub") - mock_op.assert_called_once_with( - "1.2.3.4", "username", "public-aadcert.pub", "private", False, True) - + mock_op.assert_called_once_with(op_info, False, True) + @mock.patch('azext_ssh.custom._check_or_create_public_private_files') @mock.patch('azext_ssh.ip_utils.get_ssh_ip') def test_do_ssh_op_local_user(self, mock_ip, mock_check_files): @@ -84,28 +154,42 @@ def test_do_ssh_op_local_user(self, mock_ip, mock_check_files): mock_op = mock.Mock() mock_ip.return_value = "1.2.3.4" - custom._do_ssh_op(cmd, "vm", "rg", None, "publicfile", "privatefile", False, "username", "cert", "cred/folder", mock_op) + op_info = mock.Mock() + op_info.resource_group_name = "rg" + op_info.vm_name = "vm" + op_info.ip = None + op_info.public_key_file = "publicfile" + op_info.private_key_file = "privatefile" + op_info.use_private_ip = False + op_info.local_user = "username" + op_info.certificate = "cert" + op_info.ssh_client_folder = "/client/folder" + + custom._do_ssh_op(cmd, op_info, "/cred/folder", mock_op) mock_check_files.assert_not_called() - mock_ip.assert_called_once_with(cmd, "vm", "rg", False) - mock_op.assert_called_once_with( - "1.2.3.4", "username", "cert", "privatefile", False, False) - + mock_ip.assert_called_once_with(cmd, "rg", "vm", False) + mock_op.assert_called_once_with(op_info, False, False) + @mock.patch('azext_ssh.custom._check_or_create_public_private_files') @mock.patch('azext_ssh.ip_utils.get_ssh_ip') - @mock.patch('azext_ssh.custom._get_modulus_exponent') - def test_do_ssh_op_no_public_ip(self, mock_get_mod_exp, mock_ip, mock_check_files): + def test_do_ssh_op_no_public_ip(self, mock_ip, mock_check_files): cmd = mock.Mock() mock_op = mock.Mock() - mock_get_mod_exp.return_value = "modulus", "exponent" mock_ip.return_value = None + op_info = mock.Mock() + op_info.vm_name = "vm" + op_info.resource_group_name = "rg" + op_info.ip = None + op_info.use_private_ip = False + self.assertRaises( - azclierror.ResourceNotFoundError, custom._do_ssh_op, cmd, "rg", "vm", None, - "publicfile", "privatefile", False, None, None, "cred/folder", mock_op) + azclierror.ResourceNotFoundError, custom._do_ssh_op, cmd, op_info, "/cred/folder", mock_op) mock_check_files.assert_not_called() mock_ip.assert_called_once_with(cmd, "rg", "vm", False) + mock_op.assert_not_called() def test_assert_args_no_ip_or_vm(self): self.assertRaises(azclierror.RequiredArgumentMissingError, custom._assert_args, None, None, None, None, None) @@ -149,7 +233,7 @@ def test_check_or_create_public_private_files_defaults(self, mock_join, mock_isf mock.call('/tmp/aadtemp/id_rsa') ]) mock_create.assert_has_calls([ - mock.call('/tmp/aadtemp/id_rsa') + mock.call('/tmp/aadtemp/id_rsa', None) ]) @mock.patch('azext_ssh.ssh_utils.create_ssh_keyfile') @@ -160,7 +244,7 @@ def test_check_or_create_public_private_files_defaults_with_cred_folder(self,moc mock_isfile.return_value = True mock_isdir.return_value = True mock_join.side_effect = ['/cred/folder/id_rsa.pub', '/cred/folder/id_rsa'] - public, private, delete_key = custom._check_or_create_public_private_files(None, None, '/cred/folder') + public, private, delete_key = custom._check_or_create_public_private_files(None, None, '/cred/folder', '/ssh/client') self.assertEqual('/cred/folder/id_rsa.pub', public) self.assertEqual('/cred/folder/id_rsa', private) self.assertEqual(True, delete_key) @@ -173,13 +257,11 @@ def test_check_or_create_public_private_files_defaults_with_cred_folder(self,moc mock.call('/cred/folder/id_rsa') ]) mock_create.assert_has_calls([ - mock.call('/cred/folder/id_rsa') + mock.call('/cred/folder/id_rsa', '/ssh/client') ]) - - + @mock.patch('os.path.isfile') - @mock.patch('os.path.join') - def test_check_or_create_public_private_files_no_public(self, mock_join, mock_isfile): + def test_check_or_create_public_private_files_no_public(self, mock_isfile): mock_isfile.side_effect = [False] self.assertRaises( azclierror.FileOperationError, custom._check_or_create_public_private_files, "public", None, None) @@ -207,7 +289,7 @@ def test_write_cert_file(self, mock_open): custom._write_cert_file("cert", "publickey-aadcert.pub") - mock_open.assert_called_once_with("publickey-aadcert.pub", 'w') + mock_open.assert_called_once_with("publickey-aadcert.pub", 'w', encoding='utf-8') mock_file.write.assert_called_once_with("ssh-rsa-cert-v01@openssh.com cert") @mock.patch('azext_ssh.rsa_parser.RSAParser') @@ -222,7 +304,7 @@ def test_get_modulus_exponent_success(self, mock_open, mock_isfile, mock_parser) self.assertEqual(mock_parser.return_value.modulus, modulus) self.assertEqual(mock_parser.return_value.exponent, exponent) mock_isfile.assert_called_once_with('file') - mock_open.assert_called_once_with('file', 'r') + mock_open.assert_called_once_with('file', 'r', encoding='utf-8') mock_parser.return_value.parse.assert_called_once_with('publickey') @mock.patch('os.path.isfile') @@ -244,6 +326,5 @@ def test_get_modulus_exponent_parse_error(self, mock_open, mock_isfile, mock_par self.assertRaises(azclierror.FileOperationError, custom._get_modulus_exponent, 'file') - if __name__ == '__main__': unittest.main() diff --git a/src/ssh/azext_ssh/tests/latest/test_ssh_info.py b/src/ssh/azext_ssh/tests/latest/test_ssh_info.py new file mode 100644 index 00000000000..1157ed2c1e0 --- /dev/null +++ b/src/ssh/azext_ssh/tests/latest/test_ssh_info.py @@ -0,0 +1,126 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import unittest +from unittest import mock + +from azext_ssh import ssh_info + + +class SSHInfoTest(unittest.TestCase): + @mock.patch('os.path.abspath') + def test_ssh_session(self, mock_abspath): + mock_abspath.side_effect = ["pub_path", "priv_path", "cert_path", "client_path"] + expected_abspath_calls = [ + mock.call("pub"), + mock.call("priv"), + mock.call("cert"), + mock.call("client/folder") + ] + session = ssh_info.SSHSession("rg", "vm", "ip", "pub", "priv", False, "user", "cert", "port", "client/folder", ['-v', '-E', 'path']) + mock_abspath.assert_has_calls(expected_abspath_calls) + self.assertEqual(session.resource_group_name, "rg") + self.assertEqual(session.vm_name, "vm") + self.assertEqual(session.ip, "ip") + self.assertEqual(session.public_key_file, "pub_path") + self.assertEqual(session.private_key_file, "priv_path") + self.assertEqual(session.use_private_ip, False) + self.assertEqual(session.local_user, "user") + self.assertEqual(session.port, "port") + self.assertEqual(session.ssh_args, ['-v', '-E', 'path']) + self.assertEqual(session.cert_file, "cert_path") + self.assertEqual(session.ssh_client_folder, "client_path") + + def test_ssh_session_get_host(self): + session = ssh_info.SSHSession(None, None, "ip", None, None, False, "user", None, None, None, []) + self.assertEqual("user@ip", session.get_host()) + + @mock.patch('os.path.abspath') + def test_ssh_session_build_args(self, mock_abspath): + mock_abspath.side_effect = ["pub_path", "priv_path", "cert_path", "client_path"] + session = ssh_info.SSHSession("rg", "vm", "ip", "pub", "priv", False, "user", "cert", "port", "client/folder", []) + self.assertEqual(["-i", "priv_path", "-o", "CertificateFile=\"cert_path\"", "-p", "port"], session.build_args()) + + @mock.patch('os.path.abspath') + def test_config_session(self, mock_abspath): + mock_abspath.side_effect = ["config_path", "pub_path", "priv_path", "cert_path", "client_path"] + expected_abspath_calls = [ + mock.call("config"), + mock.call("pub"), + mock.call("priv"), + mock.call("cert"), + mock.call("client/folder") + ] + session = ssh_info.ConfigSession("config", "rg", "vm", "ip", "pub", "priv", False, False, "user", "cert", "port", "client/folder") + mock_abspath.assert_has_calls(expected_abspath_calls) + self.assertEqual(session.config_path, "config_path") + self.assertEqual(session.resource_group_name, "rg") + self.assertEqual(session.vm_name, "vm") + self.assertEqual(session.ip, "ip") + self.assertEqual(session.public_key_file, "pub_path") + self.assertEqual(session.private_key_file, "priv_path") + self.assertEqual(session.use_private_ip, False) + self.assertEqual(session.overwrite, False) + self.assertEqual(session.local_user, "user") + self.assertEqual(session.port, "port") + self.assertEqual(session.cert_file, "cert_path") + self.assertEqual(session.ssh_client_folder, "client_path") + + @mock.patch('os.path.abspath') + def test_get_rg_and_vm_entry(self, mock_abspath): + expected_lines = [ + "Host rg-vm", + "\tUser user", + "\tHostName ip", + "\tCertificateFile \"cert_path\"", + "\tIdentityFile \"priv_path\"", + "\tPort port", + ] + + mock_abspath.side_effect = ["config_path", "pub_path", "priv_path", "cert_path", "client_path"] + session = ssh_info.ConfigSession("config", "rg", "vm", "ip", "pub", "priv", False, False, "user", "cert", "port", "client/folder") + + self.assertEqual(session._get_rg_and_vm_entry(), expected_lines) + + @mock.patch('os.path.abspath') + def test_get_ip_entry(self, mock_abspath): + expected_lines = [ + "Host ip", + "\tUser user", + "\tCertificateFile \"cert_path\"", + "\tIdentityFile \"priv_path\"" + ] + + mock_abspath.side_effect = ["config_path", "pub_path", "priv_path", "cert_path", "client_path"] + session = ssh_info.ConfigSession("config", "rg", "vm", "ip", "pub", "priv", False, False, "user", "cert", None, "client/folder") + + self.assertEqual(session._get_ip_entry(), expected_lines) + + @mock.patch('os.path.abspath') + def test_get_config_text(self, mock_abspath): + expected_lines = [ + "", + "Host rg-vm", + "\tUser user", + "\tHostName ip", + "\tCertificateFile \"cert_path\"", + "\tIdentityFile \"priv_path\"", + "\tPort port", + "Host ip", + "\tUser user", + "\tCertificateFile \"cert_path\"", + "\tIdentityFile \"priv_path\"", + "\tPort port", + ] + + mock_abspath.side_effect = ["config_path", "pub_path", "priv_path", "cert_path", "client_path"] + session = ssh_info.ConfigSession("config", "rg", "vm", "ip", "pub", "priv", False, False, "user", "cert", "port", "client/folder") + + self.assertEqual(session.get_config_text(), expected_lines) + + + +if __name__ == '__main__': + unittest.main() diff --git a/src/ssh/azext_ssh/tests/latest/test_ssh_utils.py b/src/ssh/azext_ssh/tests/latest/test_ssh_utils.py index 9e20e610317..c1ef7f2f134 100644 --- a/src/ssh/azext_ssh/tests/latest/test_ssh_utils.py +++ b/src/ssh/azext_ssh/tests/latest/test_ssh_utils.py @@ -11,46 +11,73 @@ from azext_ssh import ssh_utils class SSHUtilsTests(unittest.TestCase): - @mock.patch('os.path.join') - @mock.patch.object(ssh_utils, '_get_ssh_path') - @mock.patch.object(ssh_utils, '_get_host') - @mock.patch.object(ssh_utils, '_build_args') + @mock.patch.object(ssh_utils, '_get_ssh_client_path') @mock.patch('subprocess.call') - def test_start_ssh_connection(self, mock_call, mock_build, mock_host, mock_path, mock_join): + @mock.patch('azext_ssh.ssh_info.SSHSession.build_args') + @mock.patch('azext_ssh.ssh_info.SSHSession.get_host') + @mock.patch('os.path.dirname') + @mock.patch('multiprocessing.Process.start') + @mock.patch('azext_ssh.ssh_utils._print_error_messages_from_ssh_log') + def test_start_ssh_connection(self, mock_print_error, mock_start, mock_dirname, mock_host, mock_build, mock_call, mock_path, mock_join): mock_path.return_value = "ssh" - mock_host.return_value = "user@ip" - mock_build.return_value = ['-i', 'file', '-o', 'option'] mock_join.return_value = "/log/file/path" + mock_build.return_value = ['-i', 'file', '-o', 'option'] + mock_host.return_value = "user@ip" + mock_dirname.return_value = "dirname" + mock_call.return_value = 0 expected_command = ["ssh", "user@ip", "-i", "file", "-o", "option", "-E", "/log/file/path", "-v"] - ssh_utils.start_ssh_connection("port", None, "ip", "user", "cert", "private", True, True) - - mock_path.assert_called_once_with() - mock_host.assert_called_once_with("user", "ip") - mock_build.assert_called_once_with("cert", "private", "port") + op_info = mock.Mock() + op_info.ip = "ip" + op_info.port = "port" + op_info.local_user = "user" + op_info.private_key_file = "private" + op_info.public_key_file = "public" + op_info.cert_file = "cert" + op_info.ssh_args = None + op_info.ssh_client_folder = "client/folder" + op_info.build_args = mock_build + op_info.get_host = mock_host + + ssh_utils.start_ssh_connection(op_info, True, True) + mock_start.assert_called_once() + mock_print_error.assert_called_once_with("/log/file/path", 0) + mock_path.assert_called_once_with('ssh', 'client/folder') mock_call.assert_called_once_with(expected_command, shell=platform.system() == 'Windows') - - @mock.patch.object(ssh_utils, '_get_ssh_path') - @mock.patch.object(ssh_utils, '_get_host') + + @mock.patch.object(ssh_utils, '_get_ssh_client_path') @mock.patch('subprocess.call') - def test_start_ssh_connection_with_args(self, mock_call, mock_host, mock_path): + @mock.patch('azext_ssh.ssh_info.SSHSession.build_args') + @mock.patch('azext_ssh.ssh_info.SSHSession.get_host') + def test_start_ssh_connection_with_args(self, mock_host, mock_build, mock_call, mock_path): mock_path.return_value = "ssh" mock_host.return_value = "user@ip" + mock_build.return_value = ["-i", "private", "-o", "CertificateFile=cert", "-p", "2222"] expected_command = ["ssh", "user@ip", "-i", "private", "-o", "CertificateFile=cert", "-p", "2222", "--thing", "-vv"] - ssh_utils.start_ssh_connection("2222", ["--thing", "-vv"], "ip", "user", "cert", "private", True, True) - - mock_path.assert_called_once_with() - mock_host.assert_called_once_with("user", "ip") + op_info = mock.Mock() + op_info.ip = "ip" + op_info.port = "2222" + op_info.local_user = "user" + op_info.private_key_file = "private" + op_info.public_key_file = "public" + op_info.cert_file = "cert" + op_info.ssh_args = ["--thing", "-vv"] + op_info.ssh_client_folder = "client/folder" + op_info.build_args = mock_build + op_info.get_host = mock_host + + ssh_utils.start_ssh_connection(op_info, True, True) + + mock_path.assert_called_once_with('ssh', 'client/folder') mock_call.assert_called_once_with(expected_command, shell=platform.system() == 'Windows') - - @mock.patch.object(ssh_utils, 'get_ssh_cert_validity') - def test_write_ssh_config_ip_and_vm(self, mock_validity): - mock_validity.return_value = None + @mock.patch.object(ssh_utils, 'get_certificate_start_and_end_times') + @mock.patch('azext_ssh.ssh_info.ConfigSession.get_config_text') + def test_write_ssh_config_ip_and_vm(self, mock_get_text, mock_validity): expected_lines = [ "", "Host rg-vm", @@ -65,19 +92,35 @@ def test_write_ssh_config_ip_and_vm(self, mock_validity): "\tIdentityFile privatekey", "\tPort port" ] + + mock_validity.return_value = None + mock_get_text.return_value = expected_lines + + op_info = mock.Mock() + op_info.config_path = "path/to/file" + op_info.resource_group_name = "rg" + op_info.vm_name = "vm" + op_info.overwrite = True + op_info.port = "port" + op_info.ip = "1.2.3.4" + op_info.local_user = "username" + op_info.cert_file = "cert" + op_info.private_key_file = "privatekey" + op_info.ssh_client_folder = "client/folder" + op_info.get_config_text = mock_get_text with mock.patch('builtins.open') as mock_open: mock_file = mock.Mock() mock_open.return_value.__enter__.return_value = mock_file - ssh_utils.write_ssh_config( - "path/to/file", "rg", "vm", True, "port", "1.2.3.4", "username", "cert", "privatekey", True, False - ) - mock_validity.assert_called_once_with("cert") - mock_open.assert_called_once_with("path/to/file", "w") + ssh_utils.write_ssh_config(op_info, True, False) + mock_validity.assert_called_once_with("cert", "client/folder") + mock_open.assert_called_once_with("path/to/file", "w", encoding='utf-8') mock_file.write.assert_called_once_with('\n'.join(expected_lines)) - @mock.patch.object(ssh_utils, 'get_ssh_cert_validity') - def test_write_ssh_config_append(self, mock_validity): + + @mock.patch.object(ssh_utils, 'get_certificate_start_and_end_times') + @mock.patch('azext_ssh.ssh_info.ConfigSession.get_config_text') + def test_write_ssh_config_append(self, mock_get_text, mock_validity): expected_lines = [ "", "Host rg-vm", @@ -92,94 +135,105 @@ def test_write_ssh_config_append(self, mock_validity): ] mock_validity.return_value = None + mock_get_text.return_value = expected_lines + + op_info = mock.Mock() + op_info.config_path = "path/to/file" + op_info.resource_group_name = "rg" + op_info.vm_name = "vm" + op_info.overwrite = False + op_info.ip = "1.2.3.4" + op_info.local_user = "username" + op_info.cert_file = "cert" + op_info.private_key_file = "privatekey" + op_info.ssh_client_folder = "client/folder" + op_info.get_config_text = mock_get_text with mock.patch('builtins.open') as mock_open: mock_file = mock.Mock() mock_open.return_value.__enter__.return_value = mock_file ssh_utils.write_ssh_config( - "path/to/file", "rg", "vm", False, None, "1.2.3.4", "username", "cert", "privatekey", True, True + op_info, True, True ) - mock_validity.assert_called_once_with("cert") + mock_validity.assert_called_once_with("cert", "client/folder") - mock_open.assert_called_once_with("path/to/file", "a") + mock_open.assert_called_once_with("path/to/file", "a", encoding='utf-8') mock_file.write.assert_called_once_with('\n'.join(expected_lines)) - @mock.patch.object(ssh_utils, 'get_ssh_cert_validity') - def test_write_ssh_config_ip_only(self, mock_validity): - expected_lines = [ - "", - "Host 1.2.3.4", - "\tUser username", - "\tCertificateFile cert", - "\tIdentityFile privatekey" - ] - mock_validity.return_value = None - - with mock.patch('builtins.open') as mock_open: - mock_file = mock.Mock() - mock_open.return_value.__enter__.return_value = mock_file - ssh_utils.write_ssh_config( - "path/to/file", None, None, True, None, "1.2.3.4", "username", "cert", "privatekey", False, False - ) - - mock_validity.assert_not_called() - - mock_open.assert_called_once_with("path/to/file", "w") - mock_file.write.assert_called_once_with('\n'.join(expected_lines)) + @mock.patch('os.path.join') @mock.patch('platform.system') - def test_get_ssh_path_non_windows(self, mock_system): - mock_system.return_value = "Mac" - - actual_path = ssh_utils._get_ssh_path() - self.assertEqual('ssh', actual_path) - mock_system.assert_called_once_with() - - def test_get_ssh_path_windows_32bit(self): - self._test_ssh_path_windows('32bit', 'SysNative') - - def test_get_ssh_path_windows_64bit(self): - self._test_ssh_path_windows('64bit', 'System32') + @mock.patch('os.path.isfile') + def test_get_ssh_client_path_with_client_folder_non_windows(self, mock_isfile, mock_system, mock_join): + mock_join.return_value = "ssh_path" + mock_system.return_value = "Linux" + mock_isfile.return_value = True + actual_path = ssh_utils._get_ssh_client_path(ssh_client_folder='/client/folder') + self.assertEqual(actual_path, "ssh_path") + mock_join.assert_called_once_with('/client/folder', 'ssh') + mock_isfile.assert_called_once_with("ssh_path") + @mock.patch('os.path.join') @mock.patch('platform.system') - @mock.patch('platform.architecture') - @mock.patch('os.environ') @mock.patch('os.path.isfile') - def test_get_ssh_path_windows_ssh_not_found(self, mock_isfile, mock_environ, mock_arch, mock_sys): - mock_sys.return_value = "Windows" - mock_arch.return_value = ("32bit", "foo", "bar") - mock_environ.__getitem__.return_value = "rootpath" + def test_get_ssh_client_path_with_client_folder_windows(self, mock_isfile, mock_system, mock_join): + mock_join.return_value = "ssh_keygen_path" + mock_system.return_value = "Windows" + mock_isfile.return_value = True + actual_path = ssh_utils._get_ssh_client_path(ssh_command='ssh-keygen', ssh_client_folder='/client/folder') + self.assertEqual(actual_path, "ssh_keygen_path.exe") + mock_join.assert_called_once_with('/client/folder', 'ssh-keygen') + mock_isfile.assert_called_once_with("ssh_keygen_path.exe") + + @mock.patch('os.path.join') + @mock.patch('platform.system') + @mock.patch('os.path.isfile') + def test_get_ssh_client_path_with_client_folder_no_file(self, mock_isfile, mock_system, mock_join): + mock_join.return_value = "ssh_path" + mock_system.return_value = "Mac" mock_isfile.return_value = False + actual_path = ssh_utils._get_ssh_client_path(ssh_client_folder='/client/folder') + self.assertEqual(actual_path, "ssh") + mock_join.assert_called_once_with('/client/folder', 'ssh') + mock_isfile.assert_called_once_with("ssh_path") - self.assertRaises(azclierror.UnclassifiedUserFault, ssh_utils._get_ssh_path) + @mock.patch('platform.system') + def test_get_ssh_client_preinstalled_non_windows(self, mock_system): + mock_system.return_value = "Mac" + actual_path = ssh_utils._get_ssh_client_path() + self.assertEqual('ssh', actual_path) + mock_system.assert_called_once_with() - def test_get_host(self): - actual_host = ssh_utils._get_host("username", "10.0.0.1") - self.assertEqual("username@10.0.0.1", actual_host) + def test_get_ssh_client_preinstalled_windows_32bit(self): + self._test_get_ssh_client_path_preinstalled_windows('32bit', 'x86', 'System32') - def test_build_args(self): - actual_args = ssh_utils._build_args("cert", "privatekey", "2222") - expected_args = ["-i", "privatekey", "-o", "CertificateFile=cert", "-p", "2222"] - self.assertEqual(expected_args, actual_args) + def test_get_ssh_client_preinstalled_windows_64bitOS_32bitPlatform(self): + self._test_get_ssh_client_path_preinstalled_windows('32bit', 'x64', 'SysNative') + + def test_get_ssh_client_preinstalled_windows_64bitOS_64bitPlatform(self): + self._test_get_ssh_client_path_preinstalled_windows('64bit', 'x64', 'System32') @mock.patch('platform.system') @mock.patch('platform.architecture') + @mock.patch('platform.machine') @mock.patch('os.path.join') @mock.patch('os.environ') @mock.patch('os.path.isfile') - def _test_ssh_path_windows(self, arch, expected_sys_path, mock_isfile, mock_environ, mock_join, mock_arch, mock_system): + def _test_get_ssh_client_path_preinstalled_windows(self, platform_arch, os_arch, expected_sysfolder, mock_isfile, mock_environ, mock_join, mock_machine, mock_arch, mock_system): mock_system.return_value = "Windows" - mock_arch.return_value = (arch, "foo", "bar") + mock_arch.return_value = (platform_arch, "foo", "bar") + mock_machine.return_value = os_arch mock_environ.__getitem__.return_value = "rootpath" mock_join.side_effect = ["system32path", "sshfilepath"] mock_isfile.return_value = True + expected_join_calls = [ - mock.call("rootpath", expected_sys_path), + mock.call("rootpath", expected_sysfolder), mock.call("system32path", "openSSH", "ssh.exe") ] - - actual_path = ssh_utils._get_ssh_path() + + actual_path = ssh_utils._get_ssh_client_path() self.assertEqual("sshfilepath", actual_path) mock_system.assert_called_once_with() @@ -187,3 +241,18 @@ def _test_ssh_path_windows(self, arch, expected_sys_path, mock_isfile, mock_envi mock_environ.__getitem__.assert_called_once_with("SystemRoot") mock_join.assert_has_calls(expected_join_calls) mock_isfile.assert_called_once_with("sshfilepath") + + + @mock.patch('platform.system') + @mock.patch('platform.architecture') + @mock.patch('platform.machine') + @mock.patch('os.environ') + @mock.patch('os.path.isfile') + def test_get_ssh_path_windows_ssh_preinstalled_not_found(self, mock_isfile, mock_environ, mock_machine, mock_arch, mock_sys): + mock_sys.return_value = "Windows" + mock_arch.return_value = ("32bit", "foo", "bar") + mock_machine.return_value = "x64" + mock_environ.__getitem__.return_value = "rootpath" + mock_isfile.return_value = False + + self.assertRaises(azclierror.UnclassifiedUserFault, ssh_utils._get_ssh_client_path) diff --git a/src/ssh/setup.py b/src/ssh/setup.py index cac0b4129a5..18140019801 100644 --- a/src/ssh/setup.py +++ b/src/ssh/setup.py @@ -7,7 +7,7 @@ from setuptools import setup, find_packages -VERSION = "1.0.0" +VERSION = "1.0.1" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -33,7 +33,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/ssh', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/ssh', classifiers=CLASSIFIERS, packages=find_packages(), install_requires=DEPENDENCIES, diff --git a/src/stack-hci/azext_stack_hci/tests/latest/preparers.py b/src/stack-hci/azext_stack_hci/tests/latest/preparers.py index 0879e51945a..176f5b16296 100644 --- a/src/stack-hci/azext_stack_hci/tests/latest/preparers.py +++ b/src/stack-hci/azext_stack_hci/tests/latest/preparers.py @@ -10,7 +10,7 @@ import os from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.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 diff --git a/src/stack-hci/setup.py b/src/stack-hci/setup.py index cd9cf70785b..9703bbde661 100644 --- a/src/stack-hci/setup.py +++ b/src/stack-hci/setup.py @@ -47,7 +47,7 @@ description='Microsoft Azure Command-Line Tools AzureStackHCIClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/stack-hci', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/stack-hci', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, 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 66c4de49377..a2016dc4120 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 @@ -11,7 +11,7 @@ JMESPathCheck, JMESPathCheckExists, NoneCheck, api_version_constraint) from knack.util import CLIError from azure.cli.core.profiles import ResourceType -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from ..storage_test_util import StorageScenarioMixin diff --git a/src/storage-blob-preview/setup.py b/src/storage-blob-preview/setup.py index 9c155ccc9e9..13a3f73765b 100644 --- a/src/storage-blob-preview/setup.py +++ b/src/storage-blob-preview/setup.py @@ -48,7 +48,7 @@ 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', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/storage-blob-preview', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/storage-preview/HISTORY.rst b/src/storage-preview/HISTORY.rst index 61f37386135..48a0170ced4 100644 --- a/src/storage-preview/HISTORY.rst +++ b/src/storage-preview/HISTORY.rst @@ -2,6 +2,13 @@ Release History =============== +0.8.0(2022-01-17) +++++++++++++++++++ +* Remove `az storage account file-service-properties` as SMB multichannel and secured SMB has been supported in main Azure CLI +* Remove `az storage account blob-inventory-policy` as it is supported in main Azure CLI +* `az storage account local-user`: Add support for local user +* `az storage account create/update`: Support `--enable-sftp`, `--enable-local-user`, `--sam-account-name` and `--account-type` + 0.7.3(2021-05-20) ++++++++++++++++++ * Support soft delete for ADLS Gen2 account diff --git a/src/storage-preview/azext_storage_preview/__init__.py b/src/storage-preview/azext_storage_preview/__init__.py index 9a732e9a2c5..b5c9a482d58 100644 --- a/src/storage-preview/azext_storage_preview/__init__.py +++ b/src/storage-preview/azext_storage_preview/__init__.py @@ -8,7 +8,7 @@ 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, \ +from .profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_STORAGE, CUSTOM_DATA_STORAGE_ADLS, \ CUSTOM_DATA_STORAGE_FILESHARE, CUSTOM_DATA_STORAGE_FILEDATALAKE @@ -18,7 +18,7 @@ def __init__(self, cli_ctx=None): register_resource_type('latest', CUSTOM_DATA_STORAGE, '2018-03-28') 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_MGMT_STORAGE, '2021-08-01') register_resource_type('latest', CUSTOM_DATA_STORAGE_FILESHARE, '2020-02-10') register_resource_type('latest', CUSTOM_DATA_STORAGE_FILEDATALAKE, '2020-06-12') @@ -118,12 +118,12 @@ def register_common_storage_account_options(self): from ._validators import validate_encryption_services t_access_tier, t_sku_name, t_encryption_services = self.command_loader.get_models( - 'AccessTier', 'SkuName', 'EncryptionServices', resource_type=CUSTOM_MGMT_PREVIEW_STORAGE) + 'AccessTier', 'SkuName', 'EncryptionServices', resource_type=CUSTOM_MGMT_STORAGE) self.argument('https_only', help='Allows https traffic only to storage service.', arg_type=get_three_state_flag()) self.argument('sku', help='The storage account SKU.', arg_type=get_enum_type(t_sku_name)) - self.argument('assign_identity', action='store_true', resource_type=CUSTOM_MGMT_PREVIEW_STORAGE, + self.argument('assign_identity', action='store_true', resource_type=CUSTOM_MGMT_STORAGE, min_api='2017-06-01', help='Generate and assign a new Storage Account Identity for this storage account for use ' 'with key management services like Azure KeyVault.') @@ -136,7 +136,7 @@ def register_common_storage_account_options(self): encryption_choices = list( t_encryption_services._attribute_map.keys()) # pylint: disable=protected-access self.argument('encryption_services', arg_type=get_enum_type(encryption_choices), - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2016-12-01', nargs='+', + resource_type=CUSTOM_MGMT_STORAGE, min_api='2016-12-01', nargs='+', validator=validate_encryption_services, help='Specifies which service(s) to encrypt.') diff --git a/src/storage-preview/azext_storage_preview/_client_factory.py b/src/storage-preview/azext_storage_preview/_client_factory.py index fca61a5808c..3bf7031bc9f 100644 --- a/src/storage-preview/azext_storage_preview/_client_factory.py +++ b/src/storage-preview/azext_storage_preview/_client_factory.py @@ -9,7 +9,7 @@ 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_STORAGE, CUSTOM_DATA_STORAGE_FILESHARE, \ CUSTOM_DATA_STORAGE_FILEDATALAKE MISSING_CREDENTIALS_ERROR_MESSAGE = """ @@ -79,7 +79,7 @@ def generic_data_service_factory(cli_ctx, service, name=None, key=None, connecti def storage_client_factory(cli_ctx, **_): - return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_PREVIEW_STORAGE) + return get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_STORAGE) def blob_data_service_factory(cli_ctx, kwargs): @@ -137,6 +137,10 @@ def cf_mgmt_file_services(cli_ctx, _): return storage_client_factory(cli_ctx).file_services +def cf_local_users(cli_ctx, _): + return storage_client_factory(cli_ctx).local_users + + def get_account_url(cli_ctx, account_name, service): if account_name is None: raise CLIError("Please provide storage account name or connection string.") diff --git a/src/storage-preview/azext_storage_preview/_help.py b/src/storage-preview/azext_storage_preview/_help.py index 86ae1be7195..3899e551368 100644 --- a/src/storage-preview/azext_storage_preview/_help.py +++ b/src/storage-preview/azext_storage_preview/_help.py @@ -144,6 +144,79 @@ short-summary: Updates the data policy rules associated with the specified storage account. """ +helps['storage account local-user'] = """ + type: group + short-summary: Manage storage account local users. +""" + +helps['storage account local-user create'] = """ + type: command + short-summary: Create a local user for a given storage account. + examples: + - name: Create a local-user with two permission scopes and an ssh-authorized-key + text: > + az storage account local-user create --account-name {account-name} -g {resource-group} -n {username} + --home-directory home --permission-scope permissions=r service=blob resource-name=container1 + --permission-scope permissions=rw service=file resource-name=share2 --ssh-authorized-key key="ssh-rsa a2V5" + --has-ssh-key true --has-ssh-password --has-shared-key false +""" + +helps['storage account local-user update'] = """ + type: command + short-summary: Update properties for a local user. + examples: + - name: Update a local-user with one permission scopes and no ssh-key + text: > + az storage account local-user update --account-name {account-name} -g {resource-group} -n {username} + --permission-scope permissions=rw service=file resource-name=share2 + --has-ssh-key false +""" + +helps['storage account local-user delete'] = """ + type: command + short-summary: Delete a local user. + examples: + - name: Delete a local-user + text: > + az storage account local-user delete --account-name {account-name} -g {resource-group} -n {username} +""" + +helps['storage account local-user list'] = """ + type: command + short-summary: List local users for a storage account. + examples: + - name: List local-user for a storage account + text: > + az storage account local-user list --account-name {account-name} -g {resource-group} +""" + +helps['storage account local-user show'] = """ + type: command + short-summary: Show info for a local user. + examples: + - name: Show info for a local-user + text: > + az storage account local-user show --account-name {account-name} -g {resource-group} -n {username} +""" + +helps['storage account local-user list-keys'] = """ + type: command + short-summary: List sharedkeys and sshAuthorizedKeys for a local user. + examples: + - name: List sharedkeys and sshAuthorizedKeys for a local-user + text: > + az storage account local-user list-keys --account-name {account-name} -g {resource-group} -n {username} +""" + +helps['storage account local-user regenerate-password'] = """ + type: command + short-summary: Regenerate sshPassword for a local user. + examples: + - name: Regenerate sshPassword for a local-user + text: > + az storage account local-user regenerate-password --account-name {account-name} -g {resource-group} -n {username} +""" + helps['storage azcopy'] = """ type: group short-summary: | diff --git a/src/storage-preview/azext_storage_preview/_params.py b/src/storage-preview/azext_storage_preview/_params.py index ed1f98ba5cc..8415589255a 100644 --- a/src/storage-preview/azext_storage_preview/_params.py +++ b/src/storage-preview/azext_storage_preview/_params.py @@ -3,17 +3,20 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure.cli.core.commands.parameters import (get_enum_type, get_three_state_flag, file_type) -from azure.cli.core.local_context import LocalContextAttribute, LocalContextAction +from azure.cli.core.commands.parameters import (get_enum_type, get_three_state_flag, file_type, get_location_type, + tags_type, edge_zone_type) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azure.cli.core.local_context import LocalContextAttribute, LocalContextAction, ALL -from ._validators import (get_datetime_type, validate_metadata, +from ._validators import (get_datetime_type, validate_metadata, validate_bypass, validate_subnet, validate_azcopy_upload_destination_url, validate_azcopy_download_source_url, - validate_azcopy_target_url, validate_included_datasets, + validate_azcopy_target_url, validate_included_datasets, validate_custom_domain, validate_blob_directory_download_source_url, validate_blob_directory_upload_destination_url, - validate_storage_data_plane_list, - process_resource_group, add_upload_progress_callback) + validate_storage_data_plane_list, validate_immutability_arguments, + process_resource_group, add_upload_progress_callback, validate_encryption_source, + PermissionScopeAddAction, SshPublicKeyAddAction) -from .profiles import CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE +from .profiles import CUSTOM_MGMT_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statements @@ -44,6 +47,101 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem completer=get_storage_name_completion_list(t_file_service, 'list_shares')) table_name_type = CLIArgumentType(options_list=['--table-name', '-t'], completer=get_storage_name_completion_list(t_table_service, 'list_tables')) + large_file_share_type = CLIArgumentType( + action='store_true', min_api='2019-04-01', + help='Enable the capability to support large file shares with more than 5 TiB capacity for storage account.' + 'Once the property is enabled, the feature cannot be disabled. Currently only supported for LRS and ' + 'ZRS replication types, hence account conversions to geo-redundant accounts would not be possible. ' + 'For more information, please refer to https://go.microsoft.com/fwlink/?linkid=2086047.') + adds_type = CLIArgumentType(arg_type=get_three_state_flag(), min_api='2019-04-01', + arg_group='Azure Files Identity Based Authentication', + help='Enable Azure Files Active Directory Domain Service Authentication for ' + 'storage account. When --enable-files-adds is set to true, Azure Active ' + 'Directory Properties arguments must be provided.') + aadds_type = CLIArgumentType(arg_type=get_three_state_flag(), min_api='2018-11-01', + arg_group='Azure Files Identity Based Authentication', + help='Enable Azure Active Directory Domain Services authentication for Azure Files') + domain_name_type = CLIArgumentType(min_api='2019-04-01', arg_group="Azure Active Directory Properties", + help="Specify the primary domain that the AD DNS server is authoritative for. " + "Required when --enable-files-adds is set to True") + net_bios_domain_name_type = CLIArgumentType(min_api='2019-04-01', arg_group="Azure Active Directory Properties", + help="Specify the NetBIOS domain name. " + "Required when --enable-files-adds is set to True") + forest_name_type = CLIArgumentType(min_api='2019-04-01', arg_group="Azure Active Directory Properties", + help="Specify the Active Directory forest to get. " + "Required when --enable-files-adds is set to True") + domain_guid_type = CLIArgumentType(min_api='2019-04-01', arg_group="Azure Active Directory Properties", + help="Specify the domain GUID. Required when --enable-files-adds is set to True") + domain_sid_type = CLIArgumentType(min_api='2019-04-01', arg_group="Azure Active Directory Properties", + help="Specify the security identifier (SID). Required when --enable-files-adds " + "is set to True") + azure_storage_sid_type = CLIArgumentType(min_api='2019-04-01', arg_group="Azure Active Directory Properties", + help="Specify the security identifier (SID) for Azure Storage. " + "Required when --enable-files-adds is set to True") + sam_account_name_type = CLIArgumentType(min_api='2021-08-01', arg_group="Azure Active Directory Properties", + help="Specify the Active Directory SAMAccountName for Azure Storage.", + is_preview=True) + t_account_type = self.get_models('ActiveDirectoryPropertiesAccountType', resource_type=CUSTOM_MGMT_STORAGE) + account_type_type = CLIArgumentType(min_api='2021-08-01', arg_group="Azure Active Directory Properties", + arg_type=get_enum_type(t_account_type), is_preview=True, + help="Specify the Active Directory account type for Azure Storage.") + t_routing_choice = self.get_models('RoutingChoice', resource_type=CUSTOM_MGMT_STORAGE) + routing_choice_type = CLIArgumentType( + arg_group='Routing Preference', arg_type=get_enum_type(t_routing_choice), + help='Routing Choice defines the kind of network routing opted by the user.', + min_api='2019-06-01') + publish_microsoft_endpoints_type = CLIArgumentType( + arg_group='Routing Preference', arg_type=get_three_state_flag(), min_api='2019-06-01', + help='A boolean flag which indicates whether microsoft routing storage endpoints are to be published.') + publish_internet_endpoints_type = CLIArgumentType( + arg_group='Routing Preference', arg_type=get_three_state_flag(), min_api='2019-06-01', + help='A boolean flag which indicates whether internet routing storage endpoints are to be published.') + allow_shared_key_access_type = CLIArgumentType( + arg_type=get_three_state_flag(), options_list=['--allow-shared-key-access', '-k'], min_api='2019-04-01', + help='Indicate whether the storage account permits requests to be authorized with the account access key via ' + 'Shared Key. If false, then all requests, including shared access signatures, must be authorized with ' + 'Azure Active Directory (Azure AD). The default value is null, which is equivalent to true.') + sas_expiration_period_type = CLIArgumentType( + options_list=['--sas-expiration-period', '--sas-exp'], min_api='2021-02-01', + help='Expiration period of the SAS Policy assigned to the storage account, DD.HH:MM:SS.' + ) + key_expiration_period_in_days_type = CLIArgumentType( + options_list=['--key-expiration-period-in-days', '--key-exp-days'], min_api='2021-02-01', type=int, + help='Expiration period in days of the Key Policy assigned to the storage account' + ) + allow_cross_tenant_replication_type = CLIArgumentType( + arg_type=get_three_state_flag(), options_list=['--allow-cross-tenant-replication', '-r'], min_api='2021-04-01', + help='Allow or disallow cross AAD tenant object replication. The default interpretation is true for this ' + 'property.') + t_share_permission = self.get_models('DefaultSharePermission', resource_type=CUSTOM_MGMT_STORAGE) + default_share_permission_type = CLIArgumentType( + options_list=['--default-share-permission', '-d'], + arg_type=get_enum_type(t_share_permission), + min_api='2020-08-01-preview', + arg_group='Azure Files Identity Based Authentication', + help='Default share permission for users using Kerberos authentication if RBAC role is not assigned.') + action_type = CLIArgumentType( + help='The action of virtual network rule. Possible value is Allow.' + ) + immutability_period_since_creation_in_days_type = CLIArgumentType( + options_list=['--immutability-period-in-days', '--immutability-period'], min_api='2021-06-01', + help='The immutability period for the blobs in the container since the policy creation, in days.' + ) + account_immutability_policy_state_enum = self.get_sdk( + 'models._storage_management_client_enums#AccountImmutabilityPolicyState', + resource_type=CUSTOM_MGMT_STORAGE) + immutability_policy_state_type = CLIArgumentType( + arg_type=get_enum_type(account_immutability_policy_state_enum), + options_list='--immutability-state', min_api='2021-06-01', + help='Defines the mode of the policy. Disabled state disables the policy, ' + 'Unlocked state allows increase and decrease of immutability retention time ' + 'and also allows toggling allow-protected-append-write property, ' + 'Locked state only allows the increase of the immutability retention time. ' + 'A policy can only be created in a Disabled or Unlocked state and can be toggled between the ' + 'two states. Only a policy in an Unlocked state can transition to a Locked state which cannot ' + 'be reverted.') + public_network_access_enum = self.get_sdk('models._storage_management_client_enums#PublicNetworkAccess', + resource_type=CUSTOM_MGMT_STORAGE) num_results_type = CLIArgumentType( default=5000, help='Specifies the maximum number of results to return. Provide "*" to return all.', validator=validate_storage_data_plane_list) @@ -78,78 +176,219 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem c.argument('if_match') c.argument('if_none_match') - with self.argument_context('storage account blob-inventory-policy') as c: - c.ignore('blob_inventory_policy_name') - c.argument('resource_group_name', required=False, validator=process_resource_group) - c.argument('account_name', - help='The name of the storage account within the specified resource group. Storage account names ' - 'must be between 3 and 24 characters in length and use numbers and lower-case letters only.') - - with self.argument_context('storage account blob-inventory-policy create') as c: - # t_inventory_rule_type = self.get_models('InventoryRuleType', resource_type=CUSTOM_MGMT_PREVIEW_STORAGE) - c.argument('policy', type=file_type, completer=FilesCompleter(), - help='The Storage Account Blob Inventory Policy, string in JSON format or json file path. ' - 'See more details in: {https://review.docs.microsoft.com/en-us/azure/storage/blobs/' - 'blob-inventory?branch=pr-en-us-135665}.') - # c.argument('destination', - # help='Container name where blob inventory files are stored. Must be pre-created.') - # c.argument('enabled', arg_type=get_three_state_flag(), help='Policy is enabled if set to true.') - # c.argument('type', arg_type=get_enum_type(t_inventory_rule_type), default='Inventory', required=False, - # help='The valid value is Inventory. Possible values include: "Inventory".') - # c.argument('rule_name', arg_group='Blob Inventory Policy Rule', - # help='A rule name can contain any combination of alpha numeric characters. Rule name is ' - # 'case-sensitive. It must be unique within a policy.') - # c.argument('prefix_match', arg_group='Blob Inventory Policy Rule', nargs='+', - # help='An array of strings for blob prefixes to be matched.') - # c.argument('blob_types', arg_group='Blob Inventory Policy Rule', nargs='+', - # help='An array of predefined enum values. Valid values include blockBlob, appendBlob, pageBlob. ' - # 'Hns accounts does not support pageBlobs.') - # c.argument('include_blob_versions', arg_group='Blob Inventory Policy Rule', arg_type=get_three_state_flag(), - # help='Include blob versions in blob inventory when value set to true.') - # c.argument('include_snapshots', arg_group='Blob Inventory Policy Rule', arg_type=get_three_state_flag(), - # help='Include blob snapshots in blob inventory when value set to true.') - - # with self.argument_context('storage account blob-inventory-policy rule') as c: - # c.argument('destination', help='') - # c.argument('enabled', help='') - # c.argument('type', help='') - - with self.argument_context('storage account file-service-properties show', - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE) as c: - c.argument('account_name', acct_name_type, id_part=None) - c.argument('resource_group_name', required=False, validator=process_resource_group) - - with self.argument_context('storage account file-service-properties update', - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE) as c: - from azure.cli.command_modules.storage._validators import validate_file_delete_retention_days - c.argument('account_name', acct_name_type, id_part=None) - c.argument('resource_group_name', required=False, validator=process_resource_group) - c.argument('enable_delete_retention', arg_type=get_three_state_flag(), arg_group='Delete Retention Policy', - min_api='2019-06-01', help='Enable file service properties for share soft delete.') - c.argument('delete_retention_days', type=int, arg_group='Delete Retention Policy', - validator=validate_file_delete_retention_days, min_api='2019-06-01', - help=' Indicate the number of days that the deleted item should be retained. The minimum specified ' - 'value can be 1 and the maximum value can be 365.') - c.argument('enable_smb_multichannel', options_list=['--enable-smb-multichannel', '--mc'], - arg_type=get_three_state_flag(), min_api='2020-08-01-preview', arg_group='SMB Setting', - help='Set SMB Multichannel setting for file service. Applies to Premium FileStorage only.') - c.argument('versions', arg_group='SMB Setting', min_api='2020-08-01-preview', - help="SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, " - "SMB3.1.1. Should be passed as a string with delimiter ';'.") - c.argument('authentication_methods', options_list='--auth-methods', arg_group='SMB Setting', - min_api='2020-08-01-preview', - help="SMB authentication methods supported by server. Valid values are NTLMv2, Kerberos. " - "Should be passed as a string with delimiter ';'.") - c.argument('kerberos_ticket_encryption', options_list=['--kerb-ticket-encryption', '-k'], - arg_group='SMB Setting', min_api='2020-08-01-preview', - help="Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. " - "Should be passed as a string with delimiter ';'.") - c.argument('channel_encryption', arg_group='SMB Setting', min_api='2020-08-01-preview', - help="SMB channel encryption supported by server. Valid values are AES-CCM-128, AES-GCM-128, " - "AES-GCM-256. Should be passed as a string with delimiter ';'.") + with self.argument_context('storage account create', resource_type=CUSTOM_MGMT_STORAGE) as c: + t_account_type, t_sku_name, t_kind, t_tls_version = \ + self.get_models('AccountType', 'SkuName', 'Kind', 'MinimumTlsVersion', + resource_type=CUSTOM_MGMT_STORAGE) + t_identity_type = self.get_models('IdentityType', resource_type=CUSTOM_MGMT_STORAGE) + c.register_common_storage_account_options() + c.argument('location', get_location_type(self.cli_ctx), validator=get_default_location_from_resource_group) + c.argument('account_type', help='The storage account type', arg_type=get_enum_type(t_account_type)) + c.argument('account_name', acct_name_type, options_list=['--name', '-n'], completer=None, + local_context_attribute=LocalContextAttribute( + name='storage_account_name', actions=[LocalContextAction.SET], scopes=[ALL])) + c.argument('kind', help='Indicate the type of storage account.', + arg_type=get_enum_type(t_kind), + default='StorageV2' if self.cli_ctx.cloud.profile == 'latest' else 'Storage') + c.argument('https_only', arg_type=get_three_state_flag(), min_api='2019-04-01', + help='Allow https traffic only to storage service if set to true. The default value is true.') + c.argument('https_only', arg_type=get_three_state_flag(), max_api='2018-11-01', + help='Allow https traffic only to storage service if set to true. The default value is false.') + c.argument('tags', tags_type) + c.argument('custom_domain', help='User domain assigned to the storage account. Name is the CNAME source.') + c.argument('sku', help='The storage account SKU.', arg_type=get_enum_type(t_sku_name, default='standard_ragrs')) + c.argument('enable_sftp', arg_type=get_three_state_flag(), min_api='2021-08-01', + is_preview=True, help='Enable Secure File Transfer Protocol.') + c.argument('enable_local_user', arg_type=get_three_state_flag(), min_api='2021-08-01', + is_preview=True, help='Enable local user features.') + c.argument('enable_files_aadds', aadds_type) + c.argument('enable_files_adds', adds_type) + c.argument('enable_large_file_share', arg_type=large_file_share_type) + c.argument('domain_name', domain_name_type) + c.argument('net_bios_domain_name', net_bios_domain_name_type) + c.argument('forest_name', forest_name_type) + c.argument('domain_guid', domain_guid_type) + c.argument('domain_sid', domain_sid_type) + c.argument('azure_storage_sid', azure_storage_sid_type) + c.argument('sam_account_name', sam_account_name_type) + c.argument('account_type', account_type_type) + c.argument('enable_hierarchical_namespace', arg_type=get_three_state_flag(), + options_list=['--enable-hierarchical-namespace', '--hns', + c.deprecate(target='--hierarchical-namespace', redirect='--hns', hide=True)], + help=" Allow the blob service to exhibit filesystem semantics. This property can be enabled only " + "when storage account kind is StorageV2.", + min_api='2018-02-01') + c.argument('encryption_key_type_for_table', arg_type=get_enum_type(['Account', 'Service']), + help='Set the encryption key type for Table service. "Account": Table will be encrypted ' + 'with account-scoped encryption key. "Service": Table will always be encrypted with ' + 'service-scoped keys. Currently the default encryption key type is "Service".', + min_api='2019-06-01', options_list=['--encryption-key-type-for-table', '-t']) + c.argument('encryption_key_type_for_queue', arg_type=get_enum_type(['Account', 'Service']), + help='Set the encryption key type for Queue service. "Account": Queue will be encrypted ' + 'with account-scoped encryption key. "Service": Queue will always be encrypted with ' + 'service-scoped keys. Currently the default encryption key type is "Service".', + min_api='2019-06-01', options_list=['--encryption-key-type-for-queue', '-q']) + c.argument('routing_choice', routing_choice_type) + c.argument('publish_microsoft_endpoints', publish_microsoft_endpoints_type) + c.argument('publish_internet_endpoints', publish_internet_endpoints_type) + c.argument('require_infrastructure_encryption', options_list=['--require-infrastructure-encryption', '-i'], + arg_type=get_three_state_flag(), + help='A boolean indicating whether or not the service applies a secondary layer of encryption with ' + 'platform managed keys for data at rest.') + c.argument('allow_blob_public_access', arg_type=get_three_state_flag(), min_api='2019-04-01', + help='Allow or disallow public access to all blobs or containers in the storage account. ' + 'The default value for this property is null, which is equivalent to true. When true, containers ' + 'in the account may be configured for public access. Note that setting this property to true does ' + 'not enable anonymous access to any data in the account. The additional step of configuring the ' + 'public access setting for a container is required to enable anonymous access.') + c.argument('min_tls_version', arg_type=get_enum_type(t_tls_version), + help='The minimum TLS version to be permitted on requests to storage. ' + 'The default interpretation is TLS 1.0 for this property') + c.argument('allow_shared_key_access', allow_shared_key_access_type) + c.argument('edge_zone', edge_zone_type, min_api='2020-08-01-preview') + c.argument('identity_type', arg_type=get_enum_type(t_identity_type), arg_group='Identity', + help='The identity type.') + c.argument('user_identity_id', arg_group='Identity', + help='The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is ' + 'permitted here.') + c.argument('key_expiration_period_in_days', key_expiration_period_in_days_type, is_preview=True) + c.argument('sas_expiration_period', sas_expiration_period_type, is_preview=True) + c.argument('allow_cross_tenant_replication', allow_cross_tenant_replication_type) + c.argument('default_share_permission', default_share_permission_type) + c.argument('enable_nfs_v3', arg_type=get_three_state_flag(), is_preview=True, min_api='2021-01-01', + help='NFS 3.0 protocol support enabled if sets to true.') + c.argument('enable_alw', arg_type=get_three_state_flag(), min_api='2021-06-01', + help='The account level immutability property. The property is immutable and can only be set to true' + ' at the account creation time. When set to true, it enables object level immutability for all ' + 'the containers in the account by default.', + arg_group='Account Level Immutability', + validator=validate_immutability_arguments) + c.argument('immutability_period_since_creation_in_days', + arg_type=immutability_period_since_creation_in_days_type, + arg_group='Account Level Immutability', + validator=validate_immutability_arguments) + c.argument('immutability_policy_state', arg_type=immutability_policy_state_type, + arg_group='Account Level Immutability', + validator=validate_immutability_arguments) + c.argument('allow_protected_append_writes', arg_type=get_three_state_flag(), + options_list=['--allow-protected-append-writes', '--allow-append', '-w'], + min_api='2021-06-01', + help='This property can only be changed for disabled and unlocked time-based retention policies. ' + 'When enabled, new blocks can be written to an append blob while maintaining immutability ' + 'protection and compliance. Only new blocks can be added and any existing blocks cannot be ' + 'modified or deleted.', + arg_group='Account Level Immutability', + validator=validate_immutability_arguments) + c.argument('public_network_access', arg_type=get_enum_type(public_network_access_enum), min_api='2021-06-01', + help='Enable or disable public network access to the storage account. ' + 'Possible values include: `Enabled` or `Disabled`.') + + with self.argument_context('storage account update', resource_type=CUSTOM_MGMT_STORAGE) as c: + t_tls_version = self.get_models('MinimumTlsVersion', resource_type=CUSTOM_MGMT_STORAGE) + t_identity_type = self.get_models('IdentityType', resource_type=CUSTOM_MGMT_STORAGE) + c.register_common_storage_account_options() + c.argument('sku', arg_type=get_enum_type(t_sku_name), + help='Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, ' + 'nor can accounts of those SKU names be updated to any other value') + c.argument('custom_domain', + help='User domain assigned to the storage account. Name is the CNAME source. Use "" to clear ' + 'existing value.', + validator=validate_custom_domain) + c.argument('use_subdomain', help='Specify whether to use indirect CNAME validation.', + arg_type=get_enum_type(['true', 'false'])) + c.argument('tags', tags_type, default=None) + c.argument('enable_sftp', arg_type=get_three_state_flag(), min_api='2021-08-01', + is_preview=True, help='Enable Secure File Transfer Protocol.') + c.argument('enable_local_user', arg_type=get_three_state_flag(), min_api='2021-08-01', + is_preview=True, help='Enable local user features.') + c.argument('enable_files_aadds', aadds_type) + c.argument('enable_files_adds', adds_type) + c.argument('enable_large_file_share', arg_type=large_file_share_type) + c.argument('domain_name', domain_name_type) + c.argument('net_bios_domain_name', net_bios_domain_name_type) + c.argument('forest_name', forest_name_type) + c.argument('domain_guid', domain_guid_type) + c.argument('domain_sid', domain_sid_type) + c.argument('azure_storage_sid', azure_storage_sid_type) + c.argument('sam_account_name', sam_account_name_type) + c.argument('account_type', account_type_type) + c.argument('routing_choice', routing_choice_type) + c.argument('publish_microsoft_endpoints', publish_microsoft_endpoints_type) + c.argument('publish_internet_endpoints', publish_internet_endpoints_type) + c.argument('allow_blob_public_access', arg_type=get_three_state_flag(), min_api='2019-04-01', + help='Allow or disallow public access to all blobs or containers in the storage account. ' + 'The default value for this property is null, which is equivalent to true. When true, containers ' + 'in the account may be configured for public access. Note that setting this property to true does ' + 'not enable anonymous access to any data in the account. The additional step of configuring the ' + 'public access setting for a container is required to enable anonymous access.') + c.argument('min_tls_version', arg_type=get_enum_type(t_tls_version), + help='The minimum TLS version to be permitted on requests to storage. ' + 'The default interpretation is TLS 1.0 for this property') + c.argument('allow_shared_key_access', allow_shared_key_access_type) + c.argument('identity_type', arg_type=get_enum_type(t_identity_type), arg_group='Identity', + help='The identity type.') + c.argument('user_identity_id', arg_group='Identity', + help='The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is ' + 'permitted here.') + c.argument('key_expiration_period_in_days', key_expiration_period_in_days_type, is_preview=True) + c.argument('sas_expiration_period', sas_expiration_period_type, is_preview=True) + c.argument('allow_cross_tenant_replication', allow_cross_tenant_replication_type) + c.argument('default_share_permission', default_share_permission_type) + c.argument('immutability_period_since_creation_in_days', + arg_type=immutability_period_since_creation_in_days_type, + arg_group='Account Level Immutability') + c.argument('immutability_policy_state', arg_type=immutability_policy_state_type, + arg_group='Account Level Immutability') + c.argument('allow_protected_append_writes', arg_type=get_three_state_flag(), + options_list=['--allow-protected-append-writes', '--allow-append', '-w'], + min_api='2021-06-01', + help='This property can only be changed for disabled and unlocked time-based retention policies. ' + 'When enabled, new blocks can be written to an append blob while maintaining immutability ' + 'protection and compliance. Only new blocks can be added and any existing blocks cannot be ' + 'modified or deleted.', + arg_group='Account Level Immutability') + c.argument('public_network_access', arg_type=get_enum_type(public_network_access_enum), min_api='2021-06-01', + help='Enable or disable public network access to the storage account. ' + 'Possible values include: `Enabled` or `Disabled`.') + + for scope in ['storage account create', 'storage account update']: + with self.argument_context(scope, arg_group='Customer managed key', min_api='2017-06-01', + resource_type=CUSTOM_MGMT_STORAGE) as c: + t_key_source = self.get_models('KeySource', resource_type=CUSTOM_MGMT_STORAGE) + c.argument('encryption_key_name', help='The name of the KeyVault key.', ) + c.argument('encryption_key_vault', help='The Uri of the KeyVault.') + c.argument('encryption_key_version', + help='The version of the KeyVault key to use, which will opt out of implicit key rotation. ' + 'Please use "" to opt in key auto-rotation again.') + c.argument('encryption_key_source', + arg_type=get_enum_type(t_key_source), + help='The default encryption key source', + validator=validate_encryption_source) + c.argument('key_vault_user_identity_id', options_list=['--key-vault-user-identity-id', '-u'], + min_api='2021-01-01', + help='Resource identifier of the UserAssigned identity to be associated with server-side ' + 'encryption on the storage account.') + + for scope in ['storage account create', 'storage account update']: + with self.argument_context(scope, resource_type=CUSTOM_MGMT_STORAGE, min_api='2017-06-01', + arg_group='Network Rule') as c: + t_bypass, t_default_action = self.get_models('Bypass', 'DefaultAction', + resource_type=CUSTOM_MGMT_STORAGE) + + c.argument('bypass', nargs='+', validator=validate_bypass, arg_type=get_enum_type(t_bypass), + help='Bypass traffic for space-separated uses.') + c.argument('default_action', arg_type=get_enum_type(t_default_action), + help='Default action to apply when no rule matches.') + c.argument('subnet', help='Name or ID of subnet. If name is supplied, `--vnet-name` must be supplied.') + c.argument('vnet_name', help='Name of a virtual network.', validator=validate_subnet) + c.argument('action', action_type) + + for item in ['update', 'network-rule']: + with self.argument_context('storage account {}'.format(item)) as c: + c.argument('account_name', acct_name_type, options_list=['--name', '-n']) + c.argument('resource_group_name', required=False, validator=process_resource_group) with self.argument_context('storage account network-rule') as c: - from ._validators import validate_subnet c.argument('account_name', acct_name_type, id_part=None) c.argument('ip_address', help='IPv4 address or CIDR range.') c.argument('subnet', help='Name or ID of subnet. If name is supplied, `--vnet-name` must be supplied.') @@ -158,6 +397,38 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem c.argument('resource_id', help='The resource id to add in network rule.') c.argument('tenant_id', help='The tenant id to add in network rule.') + with self.argument_context('storage account local-user') as c: + c.argument('account_name', acct_name_type, options_list='--account-name', id_part=None) + c.argument('username', options_list=['--username', '--name', '-n'], + help='The name of local user. The username must contain lowercase letters and numbers ' + 'only. It must be unique only within the storage account.') + + for item in ['create', 'update']: + with self.argument_context(f'storage account local-user {item}') as c: + c.argument('permission_scope', nargs='+', action=PermissionScopeAddAction, + help='The permission scope argument list which includes the permissions, service, and resource_name.' + 'The permissions can be a combination of the below possible values: ' + 'Read(r), Write (w), Delete (d), List (l), and Create (c). ' + 'The service has possible values: blob, file. ' + 'The resource-name is the container name or the file share name. ' + 'Example: --permission-scope permissions=r service=blob resource-name=container1' + 'Can specify multiple permission scopes: ' + '--permission-scope permissions=rw service=blob resource-name=container1' + '--permission-scope permissions=rwd service=file resource-name=share2') + c.argument('home_directory', help='The home directory.') + c.argument('ssh_authorized_key', nargs='+', action=SshPublicKeyAddAction, + help='SSH authorized keys for SFTP. Includes an optional description and key. ' + 'The key is the base64 encoded SSH public key , with format: ' + ' e.g. ssh-rsa AAAABBBB.' + 'Example: --ssh_authorized_key description=description key="ssh-ras AAAABBBB"' + 'or --ssh_authorized_key key="ssh-ras AAAABBBB"') + c.argument('has_shared_key', arg_type=get_three_state_flag(), + help='Indicates whether shared key exists. Set it to false to remove existing shared key.') + c.argument('has_ssh_key', arg_type=get_three_state_flag(), + help='Indicates whether ssh key exists. Set it to false to remove existing SSH key.') + c.argument('has_ssh_password', arg_type=get_three_state_flag(), + help='Indicates whether ssh password exists. Set it to false to remove existing SSH password.') + 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='Enable soft-delete.') diff --git a/src/storage-preview/azext_storage_preview/_validators.py b/src/storage-preview/azext_storage_preview/_validators.py index 440597a2428..bd3b5ac45c6 100644 --- a/src/storage-preview/azext_storage_preview/_validators.py +++ b/src/storage-preview/azext_storage_preview/_validators.py @@ -5,6 +5,7 @@ # pylint: disable=protected-access, logging-format-interpolation import os +import argparse from azure.cli.core.commands.client_factory import get_mgmt_service_client from azure.cli.core.commands.validators import validate_key_value_pairs @@ -14,7 +15,7 @@ from ._client_factory import get_storage_data_service_client, blob_data_service_factory from .util import guess_content_type from .oauth_token_util import TokenUpdater -from .profiles import CUSTOM_MGMT_PREVIEW_STORAGE +from .profiles import CUSTOM_MGMT_STORAGE logger = get_logger(__name__) @@ -30,7 +31,7 @@ def _query_account_key(cli_ctx, account_name): """Query the storage account key. This is used when the customer doesn't offer account key but name.""" rg, scf = _query_account_rg(cli_ctx, account_name) t_storage_account_keys = get_sdk( - cli_ctx, CUSTOM_MGMT_PREVIEW_STORAGE, 'models.storage_account_keys#StorageAccountKeys') + cli_ctx, CUSTOM_MGMT_STORAGE, 'models.storage_account_keys#StorageAccountKeys') if t_storage_account_keys: return scf.storage_accounts.list_keys(rg, account_name).key1 @@ -40,7 +41,7 @@ def _query_account_key(cli_ctx, account_name): def _query_account_rg(cli_ctx, account_name): """Query the storage account's resource group, which the mgmt sdk requires.""" - scf = get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_PREVIEW_STORAGE) + scf = get_mgmt_service_client(cli_ctx, CUSTOM_MGMT_STORAGE) acc = next((x for x in scf.storage_accounts.list() if x.name == account_name), None) if acc: from msrestazure.tools import parse_resource_id @@ -336,35 +337,23 @@ def validate_encryption_services(cmd, namespace): Builds up the encryption services object for storage account operations based on the list of services passed in. """ if namespace.encryption_services: - t_encryption_services, t_encryption_service = get_sdk(cmd.cli_ctx, CUSTOM_MGMT_PREVIEW_STORAGE, + t_encryption_services, t_encryption_service = get_sdk(cmd.cli_ctx, CUSTOM_MGMT_STORAGE, 'EncryptionServices', 'EncryptionService', mod='models') services = {service: t_encryption_service(enabled=True) for service in namespace.encryption_services} namespace.encryption_services = t_encryption_services(**services) -def validate_encryption_source(cmd, namespace): - ns = vars(namespace) - - key_name = ns.pop('encryption_key_name', None) - key_version = ns.pop('encryption_key_version', None) - key_vault_uri = ns.pop('encryption_key_vault', None) - - if namespace.encryption_key_source == 'Microsoft.Keyvault' and not (key_name and key_version and key_vault_uri): - raise ValueError('--encryption-key-name, --encryption-key-vault, and --encryption-key-version are required ' +def validate_encryption_source(namespace): + if namespace.encryption_key_source == 'Microsoft.Keyvault' and \ + not (namespace.encryption_key_name and namespace.encryption_key_vault): + raise ValueError('--encryption-key-name and --encryption-key-vault are required ' 'when --encryption-key-source=Microsoft.Keyvault is specified.') - if key_name or key_version or key_vault_uri: - if namespace.encryption_key_source != 'Microsoft.Keyvault': + if namespace.encryption_key_name or namespace.encryption_key_version is not None or namespace.encryption_key_vault: + if namespace.encryption_key_source and namespace.encryption_key_source != 'Microsoft.Keyvault': raise ValueError('--encryption-key-name, --encryption-key-vault, and --encryption-key-version are not ' - 'applicable when --encryption-key-source=Microsoft.Keyvault is not specified.') - KeyVaultProperties = get_sdk(cmd.cli_ctx, CUSTOM_MGMT_PREVIEW_STORAGE, 'KeyVaultProperties', - mod='models') - if not KeyVaultProperties: - return - - kv_prop = KeyVaultProperties(key_name=key_name, key_version=key_version, key_vault_uri=key_vault_uri) - namespace.encryption_key_vault_properties = kv_prop + 'applicable without Microsoft.Keyvault key-source.') def get_file_path_validator(default_file_param=None): @@ -411,6 +400,18 @@ def validate_storage_account(cmd, namespace): raise CLIError("You storage account doesn't enable HNS property.") +def validate_immutability_arguments(namespace): + from azure.cli.core.azclierror import InvalidArgumentValueError + if not namespace.enable_alw: + if any([namespace.immutability_period_since_creation_in_days, + namespace.immutability_policy_state, namespace.allow_protected_append_writes is not None]): + raise InvalidArgumentValueError("Incorrect usage: To enable account level immutability, " + "need to specify --enable-alw true. " + "Cannot set --enable_alw to false and specify " + "--immutability-period --immutability-state " + "--allow-append") + + def validate_subnet(cmd, namespace): from msrestazure.tools import resource_id, is_valid_resource_id from azure.cli.core.commands.client_factory import get_subscription_id @@ -626,3 +627,45 @@ def process_file_upload_batch_parameters(cmd, namespace): namespace.source = os.path.realpath(namespace.source) namespace.share_name = namespace.destination + + +# pylint: disable=too-few-public-methods +class PermissionScopeAddAction(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + if not namespace.permission_scope: + namespace.permission_scope = [] + PermissionScope = namespace._cmd.get_models('PermissionScope') + try: + permissions, service, resource_name = '', '', '' + for s in values: + if "permissions" in s: + permissions = s.split('=')[1] + elif "service" in s: + service = s.split('=')[1] + elif "resource-name" in s: + resource_name = s.split('=')[1] + except (ValueError, TypeError): + raise CLIError('usage error: --permission-scope VARIABLE OPERATOR VALUE') + namespace.permission_scope.append(PermissionScope( + permissions=permissions, + service=service, + resource_name=resource_name + )) + + +# pylint: disable=too-few-public-methods +class SshPublicKeyAddAction(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + if not namespace.ssh_authorized_key: + namespace.ssh_authorized_key = [] + SshPublicKey = namespace._cmd.get_models('SshPublicKey') + try: + description, key = '', '' + for k in values: + if "description" in k: + description = k.split('=')[1] + elif "key" in k: + key = k.split('=')[1] + except (ValueError, TypeError): + raise CLIError('usage error: --ssh-authorized-key VARIABLE OPERATOR VALUE') + namespace.ssh_authorized_key.append(SshPublicKey(description=description, key=key)) diff --git a/src/storage-preview/azext_storage_preview/commands.py b/src/storage-preview/azext_storage_preview/commands.py index d68777fef1c..6055163604d 100644 --- a/src/storage-preview/azext_storage_preview/commands.py +++ b/src/storage-preview/azext_storage_preview/commands.py @@ -8,8 +8,8 @@ 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_adls_service, cf_adls_file_system) -from .profiles import (CUSTOM_DATA_STORAGE, CUSTOM_DATA_STORAGE_ADLS, CUSTOM_MGMT_PREVIEW_STORAGE, + cf_adls_service, cf_adls_file_system, cf_local_users) +from .profiles import (CUSTOM_DATA_STORAGE, CUSTOM_DATA_STORAGE_ADLS, CUSTOM_MGMT_STORAGE, CUSTOM_DATA_STORAGE_FILESHARE, CUSTOM_DATA_STORAGE_FILEDATALAKE) @@ -26,75 +26,55 @@ def get_custom_sdk(custom_module, client_factory, resource_type=CUSTOM_DATA_STOR ) storage_account_sdk = CliCommandType( - operations_tmpl='azext_storage_preview.vendored_sdks.azure_mgmt_preview_storage.operations#' + operations_tmpl='azext_storage_preview.vendored_sdks.azure_mgmt_storage.operations#' 'StorageAccountsOperations.{}', client_factory=cf_sa, - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE + resource_type=CUSTOM_MGMT_STORAGE ) storage_account_custom_type = CliCommandType( operations_tmpl='azext_storage_preview.operations.account#{}', client_factory=cf_sa, - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE + resource_type=CUSTOM_MGMT_STORAGE ) - blob_inventory_sdk = CliCommandType( - operations_tmpl='azext_storage_preview.vendored_sdks.azure_mgmt_preview_storage.operations#' - 'BlobInventoryPoliciesOperations.{}', - client_factory=cf_sa_blob_inventory, - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE - ) - - blob_inventory_custom_type = CliCommandType( - operations_tmpl='azext_storage_preview.operations.account#{}', - client_factory=cf_sa_blob_inventory, - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE - ) - - with self.command_group('storage account blob-inventory-policy', blob_inventory_sdk, - custom_command_type=blob_inventory_custom_type, is_preview=True, - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2020-08-01-preview') as g: - g.custom_command('create', 'create_blob_inventory_policy') - g.generic_update_command('update', getter_name='get_blob_inventory_policy', - getter_type=blob_inventory_custom_type, - setter_name='update_blob_inventory_policy', - setter_type=blob_inventory_custom_type) - g.custom_command('delete', 'delete_blob_inventory_policy', confirmation=True) - g.custom_show_command('show', 'get_blob_inventory_policy') - - # with self.command_group('storage account blob-inventory-policy rule', blob_inventory_sdk, - # custom_command_type=blob_inventory_custom_type, is_preview=True, - # resource_type=CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2020-08-01-preview') as g: - # g.custom_command('add', 'add_blob_inventory_policy_rule') - # g.custom_command('list', 'list_blob_inventory_policy_rules') - # g.custom_command('remove', 'remove_blob_inventory_policy_rule') - # g.custom_command('show', 'get_blob_inventory_policy_rule') - # g.custom_command('update', 'update_blob_inventory_policy_rule') - - file_service_mgmt_sdk = CliCommandType( - operations_tmpl='azext_storage_preview.vendored_sdks.azure_mgmt_preview_storage.operations' - '#FileServicesOperations.{}', - client_factory=cf_mgmt_file_services, - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE - ) - - with self.command_group('storage account file-service-properties', file_service_mgmt_sdk, - custom_command_type=get_custom_sdk('account', client_factory=cf_mgmt_file_services, - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE), - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2019-06-01', is_preview=True) as g: - g.show_command('show', 'get_service_properties') - g.generic_update_command('update', - getter_name='get_service_properties', - setter_name='set_service_properties', - custom_func_name='update_file_service_properties') + with self.command_group('storage account', storage_account_sdk, resource_type=CUSTOM_MGMT_STORAGE, + custom_command_type=storage_account_custom_type) as g: + g.custom_command('create', 'create_storage_account') + g.generic_update_command('update', getter_name='get_properties', setter_name='update', + custom_func_name='update_storage_account') with self.command_group('storage account network-rule', storage_account_sdk, custom_command_type=storage_account_custom_type, - resource_type=CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2017-06-01') as g: + resource_type=CUSTOM_MGMT_STORAGE, min_api='2017-06-01') as g: g.custom_command('add', 'add_network_rule') g.custom_command('list', 'list_network_rules') g.custom_command('remove', 'remove_network_rule') + local_users_sdk = CliCommandType( + operations_tmpl='azext_storage_preview.vendored_sdks.azure_mgmt_storage.operations#' + 'LocalUsersOperations.{}', + client_factory=cf_local_users, + resource_type=CUSTOM_MGMT_STORAGE + ) + + local_users_custom_type = CliCommandType( + operations_tmpl='azext_storage_preview.operations.account#{}', + client_factory=cf_local_users, + resource_type=CUSTOM_MGMT_STORAGE + ) + + with self.command_group('storage account local-user', local_users_sdk, + custom_command_type=local_users_custom_type, + resource_type=CUSTOM_MGMT_STORAGE, min_api='2021-08-01', is_preview=True) as g: + g.custom_command('create', 'create_local_user') + g.custom_command('update', 'update_local_user') + g.command('delete', 'delete') + g.command('list', 'list') + g.show_command('show', 'get') + g.command('list-keys', 'list_keys') + g.command('regenerate-password', 'regenerate_password') + block_blob_sdk = CliCommandType( operations_tmpl='azure.multiapi.storage.blob.blockblobservice#BlockBlobService.{}', client_factory=blob_data_service_factory, diff --git a/src/storage-preview/azext_storage_preview/operations/account.py b/src/storage-preview/azext_storage_preview/operations/account.py index 97007f16464..12eff33df7f 100644 --- a/src/storage-preview/azext_storage_preview/operations/account.py +++ b/src/storage-preview/azext_storage_preview/operations/account.py @@ -8,38 +8,214 @@ import os from azure.cli.core.util import get_file_json, shell_safe_json_parse from knack.util import CLIError +from knack.log import get_logger from .._client_factory import storage_client_factory +logger = get_logger(__name__) -# pylint: disable=too-many-locals + +# pylint: disable=too-many-locals, too-many-statements, too-many-branches, unused-argument def create_storage_account(cmd, resource_group_name, account_name, sku=None, location=None, kind=None, - tags=None, custom_domain=None, encryption_services=None, access_tier=None, https_only=None, - hierarchical_namespace=None, bypass=None, default_action=None, assign_identity=False): + tags=None, custom_domain=None, encryption_services=None, encryption_key_source=None, + encryption_key_name=None, encryption_key_vault=None, encryption_key_version=None, + access_tier=None, https_only=None, enable_sftp=None, enable_local_user=None, + enable_files_aadds=None, bypass=None, default_action=None, assign_identity=False, + enable_large_file_share=None, enable_files_adds=None, domain_name=None, + net_bios_domain_name=None, forest_name=None, domain_guid=None, domain_sid=None, + sam_account_name=None, account_type=None, + azure_storage_sid=None, enable_hierarchical_namespace=None, + encryption_key_type_for_table=None, encryption_key_type_for_queue=None, + routing_choice=None, publish_microsoft_endpoints=None, publish_internet_endpoints=None, + require_infrastructure_encryption=None, allow_blob_public_access=None, + min_tls_version=None, allow_shared_key_access=None, edge_zone=None, + identity_type=None, user_identity_id=None, key_vault_user_identity_id=None, + sas_expiration_period=None, key_expiration_period_in_days=None, + allow_cross_tenant_replication=None, default_share_permission=None, + enable_nfs_v3=None, subnet=None, vnet_name=None, action='Allow', enable_alw=None, + immutability_period_since_creation_in_days=None, immutability_policy_state=None, + allow_protected_append_writes=None, public_network_access=None): StorageAccountCreateParameters, Kind, Sku, CustomDomain, AccessTier, Identity, Encryption, NetworkRuleSet = \ cmd.get_models('StorageAccountCreateParameters', 'Kind', 'Sku', 'CustomDomain', 'AccessTier', 'Identity', 'Encryption', 'NetworkRuleSet') scf = storage_client_factory(cmd.cli_ctx) - params = StorageAccountCreateParameters(sku=Sku(name=sku), kind=Kind(kind), location=location, tags=tags) + if kind is None: + logger.warning("The default kind for created storage account will change to 'StorageV2' from 'Storage' " + "in the future") + params = StorageAccountCreateParameters(sku=Sku(name=sku), kind=Kind(kind), location=location, tags=tags, + encryption=Encryption()) + # TODO: remove this part when server side remove the constraint + if encryption_services is None: + params.encryption.services = {'blob': {}} + if custom_domain: - params.custom_domain = CustomDomain(name=custom_domain, use_sub_domain_name=None) + params.custom_domain = CustomDomain(name=custom_domain, use_sub_domain=None) + + # Encryption if encryption_services: params.encryption = Encryption(services=encryption_services) + + if encryption_key_source is not None: + params.encryption.key_source = encryption_key_source + + if params.encryption.key_source and params.encryption.key_source == "Microsoft.Keyvault": + if params.encryption.key_vault_properties is None: + KeyVaultProperties = cmd.get_models('KeyVaultProperties') + params.encryption.key_vault_properties = KeyVaultProperties(key_name=encryption_key_name, + key_vault_uri=encryption_key_vault, + key_version=encryption_key_version) + + if identity_type and 'UserAssigned' in identity_type and user_identity_id: + params.identity = Identity(type=identity_type, user_assigned_identities={user_identity_id: {}}) + elif identity_type: + params.identity = Identity(type=identity_type) + if key_vault_user_identity_id is not None: + EncryptionIdentity = cmd.get_models('EncryptionIdentity') + params.encryption.encryption_identity = EncryptionIdentity( + encryption_user_assigned_identity=key_vault_user_identity_id) + if access_tier: params.access_tier = AccessTier(access_tier) if assign_identity: - params.identity = Identity() - if https_only: + params.identity = Identity(type='SystemAssigned') + if https_only is not None: params.enable_https_traffic_only = https_only - if hierarchical_namespace: - params.is_hns_enabled = hierarchical_namespace - - if NetworkRuleSet and (bypass or default_action): + if enable_hierarchical_namespace is not None: + params.is_hns_enabled = enable_hierarchical_namespace + if enable_sftp is not None: + params.is_sftp_enabled = enable_sftp + if enable_local_user is not None: + params.is_local_user_enabled = enable_local_user + + AzureFilesIdentityBasedAuthentication = cmd.get_models('AzureFilesIdentityBasedAuthentication') + if enable_files_aadds is not None: + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='AADDS' if enable_files_aadds else 'None') + if enable_files_adds is not None: + ActiveDirectoryProperties = cmd.get_models('ActiveDirectoryProperties') + if enable_files_adds: # enable AD + if not (domain_name and net_bios_domain_name and forest_name and domain_guid and domain_sid and + azure_storage_sid): + raise CLIError("To enable ActiveDirectoryDomainServicesForFile, user must specify all of: " + "--domain-name, --net-bios-domain-name, --forest-name, --domain-guid, --domain-sid and " + "--azure_storage_sid arguments in Azure Active Directory Properties Argument group.") + + active_directory_properties = ActiveDirectoryProperties(domain_name=domain_name, + net_bios_domain_name=net_bios_domain_name, + forest_name=forest_name, domain_guid=domain_guid, + domain_sid=domain_sid, + azure_storage_sid=azure_storage_sid, + sam_account_name=sam_account_name, + account_type=account_type) + # TODO: Enabling AD will automatically disable AADDS. Maybe we should throw error message + + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='AD', + active_directory_properties=active_directory_properties) + + else: # disable AD + if domain_name or net_bios_domain_name or forest_name or domain_guid or domain_sid or azure_storage_sid: # pylint: disable=too-many-boolean-expressions + raise CLIError("To disable ActiveDirectoryDomainServicesForFile, user can't specify any of: " + "--domain-name, --net-bios-domain-name, --forest-name, --domain-guid, --domain-sid and " + "--azure_storage_sid arguments in Azure Active Directory Properties Argument group.") + + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='None') + + if default_share_permission is not None: + if params.azure_files_identity_based_authentication is None: + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='None') + params.azure_files_identity_based_authentication.default_share_permission = default_share_permission + + if enable_large_file_share: + LargeFileSharesState = cmd.get_models('LargeFileSharesState') + params.large_file_shares_state = LargeFileSharesState("Enabled") + + if NetworkRuleSet and (bypass or default_action or subnet): + virtual_network_rules = None if bypass and not default_action: raise CLIError('incorrect usage: --default-action ACTION [--bypass SERVICE ...]') - params.network_rule_set = NetworkRuleSet(bypass=bypass, default_action=default_action, ip_rules=None, - virtual_network_rules=None) - - return scf.storage_accounts.create(resource_group_name, account_name, params) + if subnet: + from msrestazure.tools import is_valid_resource_id + if not is_valid_resource_id(subnet): + raise CLIError("Expected fully qualified resource ID: got '{}'".format(subnet)) + VirtualNetworkRule = cmd.get_models('VirtualNetworkRule') + virtual_network_rules = [VirtualNetworkRule(virtual_network_resource_id=subnet, + action=action)] + params.network_rule_set = NetworkRuleSet( + bypass=bypass, default_action=default_action, ip_rules=None, + virtual_network_rules=virtual_network_rules) + + if encryption_key_type_for_table is not None or encryption_key_type_for_queue is not None: + EncryptionServices = cmd.get_models('EncryptionServices') + EncryptionService = cmd.get_models('EncryptionService') + params.encryption = Encryption() + params.encryption.services = EncryptionServices() + if encryption_key_type_for_table is not None: + table_encryption_service = EncryptionService(enabled=True, key_type=encryption_key_type_for_table) + params.encryption.services.table = table_encryption_service + if encryption_key_type_for_queue is not None: + queue_encryption_service = EncryptionService(enabled=True, key_type=encryption_key_type_for_queue) + params.encryption.services.queue = queue_encryption_service + + if any([routing_choice, publish_microsoft_endpoints, publish_internet_endpoints]): + RoutingPreference = cmd.get_models('RoutingPreference') + params.routing_preference = RoutingPreference( + routing_choice=routing_choice, + publish_microsoft_endpoints=publish_microsoft_endpoints, + publish_internet_endpoints=publish_internet_endpoints + ) + if allow_blob_public_access is not None: + params.allow_blob_public_access = allow_blob_public_access + + if require_infrastructure_encryption: + params.encryption.require_infrastructure_encryption = require_infrastructure_encryption + + if min_tls_version: + params.minimum_tls_version = min_tls_version + + if allow_shared_key_access is not None: + params.allow_shared_key_access = allow_shared_key_access + + if edge_zone is not None: + ExtendedLocation, ExtendedLocationTypes = cmd.get_models('ExtendedLocation', 'ExtendedLocationTypes') + params.extended_location = ExtendedLocation(name=edge_zone, + type=ExtendedLocationTypes.EDGE_ZONE) + + if key_expiration_period_in_days is not None: + KeyPolicy = cmd.get_models('KeyPolicy') + params.key_policy = KeyPolicy(key_expiration_period_in_days=key_expiration_period_in_days) + + if sas_expiration_period: + SasPolicy = cmd.get_models('SasPolicy') + params.sas_policy = SasPolicy(sas_expiration_period=sas_expiration_period) + + if allow_cross_tenant_replication is not None: + params.allow_cross_tenant_replication = allow_cross_tenant_replication + + if enable_nfs_v3 is not None: + params.enable_nfs_v3 = enable_nfs_v3 + + if enable_alw is not None: + ImmutableStorageAccount = cmd.get_models('ImmutableStorageAccount') + AccountImmutabilityPolicyProperties = cmd.get_models('AccountImmutabilityPolicyProperties') + immutability_policy = None + + if any([immutability_period_since_creation_in_days, immutability_policy_state, + allow_protected_append_writes is not None]): + immutability_policy = AccountImmutabilityPolicyProperties( + immutability_period_since_creation_in_days=immutability_period_since_creation_in_days, + state=immutability_policy_state, + allow_protected_append_writes=allow_protected_append_writes + ) + + params.immutable_storage_with_versioning = ImmutableStorageAccount(enabled=enable_alw, + immutability_policy=immutability_policy) + + if public_network_access is not None: + params.public_network_access = public_network_access + + return scf.storage_accounts.begin_create(resource_group_name, account_name, params) def list_storage_accounts(cmd, resource_group_name=None): @@ -88,14 +264,33 @@ def show_storage_account_usage(cmd, location): return next((x for x in client.list_by_location(location) if x.name.value == 'StorageAccounts'), None) # pylint: disable=no-member -# pylint: disable=too-many-locals +def get_storage_account_properties(cli_ctx, account_id): + scf = storage_client_factory(cli_ctx) + from msrestazure.tools import parse_resource_id + result = parse_resource_id(account_id) + return scf.storage_accounts.get_properties(result['resource_group'], result['name']) + + +# pylint: disable=too-many-locals, too-many-statements, too-many-branches, too-many-boolean-expressions, line-too-long def update_storage_account(cmd, instance, sku=None, tags=None, custom_domain=None, use_subdomain=None, - encryption_services=None, encryption_key_source=None, encryption_key_vault_properties=None, - access_tier=None, https_only=None, assign_identity=False, bypass=None, - default_action=None): + encryption_services=None, encryption_key_source=None, encryption_key_version=None, + encryption_key_name=None, encryption_key_vault=None, + access_tier=None, https_only=None, enable_sftp=None, enable_local_user=None, + enable_files_aadds=None, assign_identity=False, + bypass=None, default_action=None, enable_large_file_share=None, enable_files_adds=None, + domain_name=None, net_bios_domain_name=None, forest_name=None, domain_guid=None, + domain_sid=None, azure_storage_sid=None, sam_account_name=None, account_type=None, + routing_choice=None, publish_microsoft_endpoints=None, publish_internet_endpoints=None, + allow_blob_public_access=None, min_tls_version=None, allow_shared_key_access=None, + identity_type=None, user_identity_id=None, key_vault_user_identity_id=None, + sas_expiration_period=None, key_expiration_period_in_days=None, + allow_cross_tenant_replication=None, default_share_permission=None, + immutability_period_since_creation_in_days=None, immutability_policy_state=None, + allow_protected_append_writes=None, public_network_access=None): StorageAccountUpdateParameters, Sku, CustomDomain, AccessTier, Identity, Encryption, NetworkRuleSet = \ - cmd.get_models('StorageAccountUpdateParameters', 'Sku', 'CustomDomain', 'AccessTier', 'Identity', - 'Encryption', 'NetworkRuleSet') + cmd.get_models('StorageAccountUpdateParameters', 'Sku', 'CustomDomain', 'AccessTier', 'Identity', 'Encryption', + 'NetworkRuleSet') + domain = instance.custom_domain if custom_domain is not None: domain = CustomDomain(name=custom_domain) @@ -103,18 +298,32 @@ def update_storage_account(cmd, instance, sku=None, tags=None, custom_domain=Non domain.use_sub_domain_name = use_subdomain == 'true' encryption = instance.encryption + if not encryption and any((encryption_services, encryption_key_source, encryption_key_name, + encryption_key_vault, encryption_key_version is not None)): + encryption = Encryption() if encryption_services: - if not encryption: - encryption = Encryption(services=encryption_services) - else: - encryption.services = encryption_services + encryption.services = encryption_services - if encryption_key_source or encryption_key_vault_properties: - if encryption: - encryption.key_source = encryption_key_source - encryption.key_vault_properties = encryption_key_vault_properties - else: - raise ValueError('--encryption-services is required when configure encryption key source') + if encryption_key_source: + encryption.key_source = encryption_key_source + + if encryption.key_source and encryption.key_source == "Microsoft.Keyvault": + if encryption.key_vault_properties is None: + KeyVaultProperties = cmd.get_models('KeyVaultProperties') + encryption.key_vault_properties = KeyVaultProperties() + else: + if any([encryption_key_name, encryption_key_vault, encryption_key_version]): + raise ValueError( + 'Specify `--encryption-key-source=Microsoft.Keyvault` to configure key vault properties.') + if encryption.key_vault_properties is not None: + encryption.key_vault_properties = None + + if encryption_key_name: + encryption.key_vault_properties.key_name = encryption_key_name + if encryption_key_vault: + encryption.key_vault_properties.key_vault_uri = encryption_key_vault + if encryption_key_version is not None: + encryption.key_vault_properties.key_version = encryption_key_version params = StorageAccountUpdateParameters( sku=Sku(name=sku) if sku is not None else instance.sku, @@ -124,9 +333,97 @@ def update_storage_account(cmd, instance, sku=None, tags=None, custom_domain=Non access_tier=AccessTier(access_tier) if access_tier is not None else instance.access_tier, enable_https_traffic_only=https_only if https_only is not None else instance.enable_https_traffic_only ) - if assign_identity: - params.identity = Identity() + if identity_type and 'UserAssigned' in identity_type and user_identity_id: + user_assigned_identities = {user_identity_id: {}} + if instance.identity.user_assigned_identities: + for item in instance.identity.user_assigned_identities: + if item != user_identity_id: + user_assigned_identities[item] = None + params.identity = Identity(type=identity_type, user_assigned_identities=user_assigned_identities) + elif identity_type: + params.identity = Identity(type=identity_type) + + if key_vault_user_identity_id is not None: + EncryptionIdentity = cmd.get_models('EncryptionIdentity') + params.encryption.encryption_identity = EncryptionIdentity( + encryption_user_assigned_identity=key_vault_user_identity_id) + + AzureFilesIdentityBasedAuthentication = cmd.get_models('AzureFilesIdentityBasedAuthentication') + if enable_files_aadds is not None: + if enable_files_aadds: # enable AADDS + origin_storage_account = get_storage_account_properties(cmd.cli_ctx, instance.id) + if origin_storage_account.azure_files_identity_based_authentication and \ + origin_storage_account.azure_files_identity_based_authentication.directory_service_options == 'AD': + raise CLIError("The Storage account already enabled ActiveDirectoryDomainServicesForFile, " + "please disable it by running this cmdlets with \"--enable-files-adds false\" " + "before enable AzureActiveDirectoryDomainServicesForFile.") + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='AADDS' if enable_files_aadds else 'None') + else: # Only disable AADDS and keep others unchanged + origin_storage_account = get_storage_account_properties(cmd.cli_ctx, instance.id) + if not origin_storage_account.azure_files_identity_based_authentication or \ + origin_storage_account.azure_files_identity_based_authentication.directory_service_options\ + == 'AADDS': + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='None') + else: + params.azure_files_identity_based_authentication = \ + origin_storage_account.azure_files_identity_based_authentication + + if enable_files_adds is not None: + ActiveDirectoryProperties = cmd.get_models('ActiveDirectoryProperties') + if enable_files_adds: # enable AD + if not(domain_name and net_bios_domain_name and forest_name and domain_guid and domain_sid and + azure_storage_sid): + raise CLIError("To enable ActiveDirectoryDomainServicesForFile, user must specify all of: " + "--domain-name, --net-bios-domain-name, --forest-name, --domain-guid, --domain-sid and " + "--azure_storage_sid arguments in Azure Active Directory Properties Argument group.") + origin_storage_account = get_storage_account_properties(cmd.cli_ctx, instance.id) + if origin_storage_account.azure_files_identity_based_authentication and \ + origin_storage_account.azure_files_identity_based_authentication.directory_service_options \ + == 'AADDS': + raise CLIError("The Storage account already enabled AzureActiveDirectoryDomainServicesForFile, " + "please disable it by running this cmdlets with \"--enable-files-aadds false\" " + "before enable ActiveDirectoryDomainServicesForFile.") + active_directory_properties = ActiveDirectoryProperties(domain_name=domain_name, + net_bios_domain_name=net_bios_domain_name, + forest_name=forest_name, domain_guid=domain_guid, + domain_sid=domain_sid, + azure_storage_sid=azure_storage_sid, + sam_account_name=sam_account_name, + account_type=account_type) + # TODO: Enabling AD will automatically disable AADDS. Maybe we should throw error message + + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='AD', + active_directory_properties=active_directory_properties) + + else: # disable AD + if domain_name or net_bios_domain_name or forest_name or domain_guid or domain_sid or azure_storage_sid: + raise CLIError("To disable ActiveDirectoryDomainServicesForFile, user can't specify any of: " + "--domain-name, --net-bios-domain-name, --forest-name, --domain-guid, --domain-sid and " + "--azure_storage_sid arguments in Azure Active Directory Properties Argument group.") + # Only disable AD and keep others unchanged + origin_storage_account = get_storage_account_properties(cmd.cli_ctx, instance.id) + if not origin_storage_account.azure_files_identity_based_authentication or \ + origin_storage_account.azure_files_identity_based_authentication.directory_service_options == 'AD': + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='None') + else: + params.azure_files_identity_based_authentication = \ + origin_storage_account.azure_files_identity_based_authentication + if default_share_permission is not None: + if params.azure_files_identity_based_authentication is None: + params.azure_files_identity_based_authentication = AzureFilesIdentityBasedAuthentication( + directory_service_options='None') + params.azure_files_identity_based_authentication.default_share_permission = default_share_permission + + if assign_identity: + params.identity = Identity(type='SystemAssigned') + if enable_large_file_share: + LargeFileSharesState = cmd.get_models('LargeFileSharesState') + params.large_file_shares_state = LargeFileSharesState("Enabled") if NetworkRuleSet: acl = instance.network_rule_set if acl: @@ -140,6 +437,60 @@ def update_storage_account(cmd, instance, sku=None, tags=None, custom_domain=Non elif bypass: raise CLIError('incorrect usage: --default-action ACTION [--bypass SERVICE ...]') params.network_rule_set = acl + + if hasattr(params, 'routing_preference') and any([routing_choice, publish_microsoft_endpoints, + publish_internet_endpoints]): + if params.routing_preference is None: + RoutingPreference = cmd.get_models('RoutingPreference') + params.routing_preference = RoutingPreference() + if routing_choice is not None: + params.routing_preference.routing_choice = routing_choice + if publish_microsoft_endpoints is not None: + params.routing_preference.publish_microsoft_endpoints = publish_microsoft_endpoints + if publish_internet_endpoints is not None: + params.routing_preference.publish_internet_endpoints = publish_internet_endpoints + + if allow_blob_public_access is not None: + params.allow_blob_public_access = allow_blob_public_access + if min_tls_version: + params.minimum_tls_version = min_tls_version + + if allow_shared_key_access is not None: + params.allow_shared_key_access = allow_shared_key_access + + if key_expiration_period_in_days is not None: + KeyPolicy = cmd.get_models('KeyPolicy') + params.key_policy = KeyPolicy(key_expiration_period_in_days=key_expiration_period_in_days) + + if sas_expiration_period: + SasPolicy = cmd.get_models('SasPolicy') + params.sas_policy = SasPolicy(sas_expiration_period=sas_expiration_period) + + if allow_cross_tenant_replication is not None: + params.allow_cross_tenant_replication = allow_cross_tenant_replication + + if any([immutability_period_since_creation_in_days, immutability_policy_state, allow_protected_append_writes is not None]): + ImmutableStorageAccount = cmd.get_models('ImmutableStorageAccount') + AccountImmutabilityPolicyProperties = cmd.get_models('AccountImmutabilityPolicyProperties') + immutability_policy = None + + immutability_policy = AccountImmutabilityPolicyProperties( + immutability_period_since_creation_in_days=immutability_period_since_creation_in_days, + state=immutability_policy_state, + allow_protected_append_writes=allow_protected_append_writes + ) + + params.immutable_storage_with_versioning = ImmutableStorageAccount(enabled=None, + immutability_policy=immutability_policy) + + if public_network_access is not None: + params.public_network_access = public_network_access + + if enable_sftp is not None: + params.is_sftp_enabled = enable_sftp + if enable_local_user is not None: + params.is_local_user_enabled = enable_local_user + return params @@ -316,3 +667,41 @@ def update_file_service_properties(cmd, instance, enable_delete_retention=None, params['protocol_settings'].smb.channel_encryption = channel_encryption return params + + +def _generate_local_user(local_user, permission_scope=None, ssh_authorized_key=None, + home_directory=None, has_shared_key=None, has_ssh_key=None, has_ssh_password=None): + if permission_scope is not None: + local_user.permission_scopes = permission_scope + if ssh_authorized_key is not None: + local_user.ssh_authorized_keys = ssh_authorized_key + if home_directory is not None: + local_user.home_directory = home_directory + if has_shared_key is not None: + local_user.has_shared_key = has_shared_key + if has_ssh_key is not None: + local_user.has_ssh_key = has_ssh_key + if has_ssh_password is not None: + local_user.has_ssh_password = has_ssh_password + + +def create_local_user(cmd, client, resource_group_name, account_name, username, permission_scope=None, home_directory=None, + has_shared_key=None, has_ssh_key=None, has_ssh_password=None, ssh_authorized_key=None, **kwargs): + LocalUser = cmd.get_models('LocalUser') + local_user = LocalUser() + + _generate_local_user(local_user, permission_scope, ssh_authorized_key, + home_directory, has_shared_key, has_ssh_key, has_ssh_password) + return client.create_or_update(resource_group_name=resource_group_name, account_name=account_name, + username=username, properties=local_user) + + +def update_local_user(cmd, client, resource_group_name, account_name, username, permission_scope=None, + home_directory=None, has_shared_key=None, has_ssh_key=None, has_ssh_password=None, + ssh_authorized_key=None, **kwargs): + local_user = client.get(resource_group_name, account_name, username) + + _generate_local_user(local_user, permission_scope, ssh_authorized_key, + home_directory, has_shared_key, has_ssh_key, has_ssh_password) + return client.create_or_update(resource_group_name=resource_group_name, account_name=account_name, + username=username, properties=local_user) diff --git a/src/storage-preview/azext_storage_preview/profiles.py b/src/storage-preview/azext_storage_preview/profiles.py index d7d214a190d..66a0a67b7ad 100644 --- a/src/storage-preview/azext_storage_preview/profiles.py +++ b/src/storage-preview/azext_storage_preview/profiles.py @@ -8,8 +8,8 @@ CUSTOM_DATA_STORAGE = CustomResourceType('azext_storage_preview.vendored_sdks.azure_storage', None) CUSTOM_DATA_STORAGE_ADLS = CustomResourceType('azext_storage_preview.vendored_sdks.azure_adls_storage_preview', None) -CUSTOM_MGMT_PREVIEW_STORAGE = CustomResourceType('azext_storage_preview.vendored_sdks.azure_mgmt_preview_storage', - 'StorageManagementClient') +CUSTOM_MGMT_STORAGE = CustomResourceType('azext_storage_preview.vendored_sdks.azure_mgmt_storage', + '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', 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 4173b34be53..44c81e33add 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/__init__.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/__init__.py @@ -4,6 +4,7 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core.profiles import register_resource_type -from ...profiles import CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE -register_resource_type('latest', CUSTOM_MGMT_PREVIEW_STORAGE, '2020-08-01-preview') +from ...profiles import CUSTOM_MGMT_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE + +register_resource_type('latest', CUSTOM_MGMT_STORAGE, '2021-08-01') register_resource_type('latest', CUSTOM_DATA_STORAGE_FILEDATALAKE, '2020-06-12') diff --git a/src/storage-preview/azext_storage_preview/tests/latest/blob_inventory_policy_no_type.json b/src/storage-preview/azext_storage_preview/tests/latest/blob_inventory_policy_no_type.json index 5a5b2ee30be..e7c88b6d1ac 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/blob_inventory_policy_no_type.json +++ b/src/storage-preview/azext_storage_preview/tests/latest/blob_inventory_policy_no_type.json @@ -5,6 +5,7 @@ { "enabled": true, "name": "inventoryPolicyRule1", + "destination": "mycontainer", "definition": { "filters": { "blobTypes": [ 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 deleted file mode 100644 index 76cddfd7405..00000000000 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_blob_inventory_policy.yaml +++ /dev/null @@ -1,623 +0,0 @@ -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.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (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-06-01&$expand=kerb - response: - body: - string: '{"keys":[{"creationTime":"2021-10-28T06:47:13.7500670Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-10-28T06:47:13.7500670Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' - headers: - cache-control: - - no-cache - content-length: - - '380' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:47:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - keep-alive - Content-Length: - - '0' - User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.9; Windows 10) AZURECLI/2.29.1 - x-ms-date: - - Thu, 28 Oct 2021 06:47:40 GMT - x-ms-version: - - '2018-11-09' - method: PUT - uri: https://clitest000002.blob.core.windows.net/mycontainer?restype=container - response: - body: - string: '' - headers: - content-length: - - '0' - date: - - Thu, 28 Oct 2021 06:47:42 GMT - etag: - - '"0x8D999DED809C41B"' - last-modified: - - Thu, 28 Oct 2021 06:47:43 GMT - server: - - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-version: - - '2018-11-09' - status: - code: 201 - message: Created -- request: - body: '{"properties": {"policy": {"enabled": true, "destination": "mycontainer", - "type": "Inventory", "rules": [{"enabled": true, "name": "inventoryPolicyRule1", - "definition": {"filters": {"blobTypes": ["blockBlob"]}}}]}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy create - Connection: - - keep-alive - Content-Length: - - '215' - Content-Type: - - application/json - ParameterSetName: - - --account-name -g --policy - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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-10-28T06:47:45.6721943Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":[]}}}]}}}' - headers: - cache-control: - - no-cache - content-length: - - '604' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:47:45 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy show - Connection: - - keep-alive - ParameterSetName: - - --account-name -g - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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-10-28T06:47:45.6721943Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":[]}}}]}}}' - headers: - cache-control: - - no-cache - content-length: - - '604' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:47:48 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-service-properties update - Connection: - - keep-alive - ParameterSetName: - - -n -g --enable-versioning - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (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-06-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}}}' - headers: - cache-control: - - no-cache - content-length: - - '443' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:47:50 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"properties": {"cors": {"corsRules": []}, "deleteRetentionPolicy": {"enabled": - false}, "isVersioningEnabled": true}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-service-properties update - Connection: - - keep-alive - Content-Length: - - '117' - Content-Type: - - application/json - ParameterSetName: - - -n -g --enable-versioning - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (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-06-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}}' - headers: - cache-control: - - no-cache - content-length: - - '422' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:47:53 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: '{"properties": {"policy": {"enabled": true, "destination": "mycontainer", - "type": "Inventory", "rules": [{"enabled": true, "name": "inventoryPolicyRule1", - "definition": {"filters": {"prefixMatch": ["inventoryprefix1", "inventoryprefix2"], - "blobTypes": ["blockBlob"], "includeBlobVersions": true, "includeSnapshots": - true}}}]}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy create - Connection: - - keep-alive - Content-Length: - - '327' - Content-Type: - - application/json - ParameterSetName: - - --account-name -g --policy - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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-10-28T06:47:56.0036301Z","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 - content-length: - - '692' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:47:55 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy show - Connection: - - keep-alive - ParameterSetName: - - --account-name -g - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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-10-28T06:47:56.0036301Z","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 - content-length: - - '692' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:47:57 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy update - Connection: - - keep-alive - ParameterSetName: - - --account-name -g --set - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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-10-28T06:47:56.0036301Z","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 - content-length: - - '692' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:47:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"properties": {"policy": {"enabled": true, "destination": "mycontainer", - "type": "Inventory", "rules": [{"enabled": true, "name": "newname", "definition": - {"filters": {"prefixMatch": ["inventoryprefix1", "inventoryprefix2"], "blobTypes": - ["blockBlob"], "includeBlobVersions": true, "includeSnapshots": true}}}]}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy update - Connection: - - keep-alive - Content-Length: - - '314' - Content-Type: - - application/json - ParameterSetName: - - --account-name -g --set - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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-10-28T06:48:01.2544980Z","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 - content-length: - - '679' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:48:01 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy show - Connection: - - keep-alive - ParameterSetName: - - --account-name -g - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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-10-28T06:48:01.2544980Z","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 - content-length: - - '679' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:48:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --account-name -g -y - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - content-type: - - text/plain; charset=utf-8 - date: - - Thu, 28 Oct 2021 06:48:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account blob-inventory-policy show - Connection: - - keep-alive - ParameterSetName: - - --account-name -g - User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (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: '{"error":{"code":"BlobInventoryPolicyNotFound","message":"Blob inventory - policy does not exist for the storage account."}}' - headers: - cache-control: - - no-cache - content-length: - - '122' - content-type: - - application/json - date: - - Thu, 28 Oct 2021 06:48:06 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 404 - message: Not Found -version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_delete_retention_policy.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_delete_retention_policy.yaml index a40310db0fb..c00d07ccf42 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_delete_retention_policy.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_delete_retention_policy.yaml @@ -13,9 +13,9 @@ 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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:02 GMT + - Thu, 11 Nov 2021 09:12:19 GMT expires: - '-1' pragma: @@ -59,9 +59,9 @@ 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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -73,7 +73,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:04 GMT + - Thu, 11 Nov 2021 09:12:22 GMT expires: - '-1' pragma: @@ -110,9 +110,9 @@ 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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -124,7 +124,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:05 GMT + - Thu, 11 Nov 2021 09:12:26 GMT expires: - '-1' pragma: @@ -140,7 +140,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 200 message: OK @@ -158,9 +158,9 @@ interactions: ParameterSetName: - --enable-delete-retention -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -172,7 +172,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:06 GMT + - Thu, 11 Nov 2021 09:12:28 GMT expires: - '-1' pragma: @@ -208,9 +208,9 @@ interactions: ParameterSetName: - --enable-delete-retention -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"shareDeleteRetentionPolicy":{"enabled":false}}}' @@ -222,7 +222,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:07 GMT + - Thu, 11 Nov 2021 09:12:32 GMT expires: - '-1' pragma: @@ -238,7 +238,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 200 message: OK @@ -256,9 +256,9 @@ interactions: ParameterSetName: - -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":false,"days":0}}}' @@ -270,7 +270,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:09 GMT + - Thu, 11 Nov 2021 09:12:33 GMT expires: - '-1' pragma: @@ -302,9 +302,9 @@ 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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":false,"days":0}}}' @@ -316,7 +316,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:11 GMT + - Thu, 11 Nov 2021 09:12:36 GMT expires: - '-1' pragma: @@ -352,9 +352,9 @@ 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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"shareDeleteRetentionPolicy":{"enabled":false}}}' @@ -366,7 +366,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:12 GMT + - Thu, 11 Nov 2021 09:12:38 GMT expires: - '-1' pragma: @@ -382,7 +382,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 200 message: OK @@ -400,9 +400,9 @@ interactions: ParameterSetName: - --delete-retention-days -n -g -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":false,"days":0}}}' @@ -414,7 +414,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:14 GMT + - Thu, 11 Nov 2021 09:12:40 GMT expires: - '-1' pragma: @@ -446,9 +446,9 @@ interactions: ParameterSetName: - --enable-delete-retention --delete-retention-days -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":false,"days":0}}}' @@ -460,7 +460,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:14 GMT + - Thu, 11 Nov 2021 09:12:44 GMT expires: - '-1' pragma: @@ -497,9 +497,9 @@ interactions: ParameterSetName: - --enable-delete-retention --delete-retention-days -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"shareDeleteRetentionPolicy":{"enabled":true,"days":10}}}' @@ -511,7 +511,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:16 GMT + - Thu, 11 Nov 2021 09:12:47 GMT expires: - '-1' pragma: @@ -527,7 +527,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1197' status: code: 200 message: OK @@ -545,9 +545,9 @@ interactions: ParameterSetName: - --delete-retention-days -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":10}}}' @@ -559,7 +559,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:16 GMT + - Thu, 11 Nov 2021 09:12:49 GMT expires: - '-1' pragma: @@ -596,9 +596,9 @@ interactions: ParameterSetName: - --delete-retention-days -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_soft_delete000001/providers/Microsoft.Storage/storageAccounts/filesoftdelete000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"shareDeleteRetentionPolicy":{"enabled":true,"days":1}}}' @@ -610,7 +610,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:17 GMT + - Thu, 11 Nov 2021 09:12:52 GMT expires: - '-1' pragma: @@ -626,7 +626,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 200 message: OK diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_secured_smb.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_secured_smb.yaml deleted file mode 100644 index 6d7cc8a4c6b..00000000000 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_secured_smb.yaml +++ /dev/null @@ -1,196 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account file-service-properties show - Connection: - - keep-alive - ParameterSetName: - - -n -g - User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.4 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb000002/fileServices/default?api-version=2020-08-01-preview - response: - body: - string: '{"sku":{"name":"Premium_LRS","tier":"Premium"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":false}}},"cors":{"corsRules":[]}}}' - headers: - cache-control: - - no-cache - content-length: - - '461' - content-type: - - application/json - date: - - Wed, 13 Jan 2021 08:33:11 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account file-service-properties update - Connection: - - keep-alive - ParameterSetName: - - --versions --auth-methods --kerb-ticket-encryption --channel-encryption -n - -g - User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.4 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb000002/fileServices/default?api-version=2020-08-01-preview - response: - body: - string: '{"sku":{"name":"Premium_LRS","tier":"Premium"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":false}}},"cors":{"corsRules":[]}}}' - headers: - cache-control: - - no-cache - content-length: - - '461' - content-type: - - application/json - date: - - Wed, 13 Jan 2021 08:33:11 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"properties": {"protocolSettings": {"smb": {"multichannel": {"enabled": - false}, "versions": "SMB2.1;SMB3.0;SMB3.1.1", "authenticationMethods": "NTLMv2;Kerberos", - "kerberosTicketEncryption": "RC4-HMAC;AES-256", "channelEncryption": "AES-CCM-128;AES-GCM-128;AES-GCM-256"}}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account file-service-properties update - Connection: - - keep-alive - Content-Length: - - '273' - Content-Type: - - application/json - ParameterSetName: - - --versions --auth-methods --kerb-ticket-encryption --channel-encryption -n - -g - User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.4 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb000002/fileServices/default?api-version=2020-08-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":false},"versions":"SMB2.1;SMB3.0;SMB3.1.1","authenticationMethods":"NTLMv2;Kerberos","kerberosTicketEncryption":"RC4-HMAC;AES-256","channelEncryption":"AES-CCM-128;AES-GCM-128;AES-GCM-256"}}}}' - headers: - cache-control: - - no-cache - content-length: - - '573' - content-type: - - application/json - date: - - Wed, 13 Jan 2021 08:33:13 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1197' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - storage account file-service-properties show - Connection: - - keep-alive - ParameterSetName: - - -n -g - User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.4 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb000002/fileServices/default?api-version=2020-08-01-preview - response: - body: - string: '{"sku":{"name":"Premium_LRS","tier":"Premium"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":false},"versions":"SMB2.1;SMB3.0;SMB3.1.1","authenticationMethods":"NTLMv2;Kerberos","kerberosTicketEncryption":"RC4-HMAC;AES-256","channelEncryption":"AES-CCM-128;AES-GCM-128;AES-GCM-256"}},"cors":{"corsRules":[]}}}' - headers: - cache-control: - - no-cache - content-length: - - '643' - content-type: - - application/json - date: - - Wed, 13 Jan 2021 08:33:15 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_smb_multichannel.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_smb_multichannel.yaml index 1871a40dae8..8ee80758631 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_smb_multichannel.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_file_smb_multichannel.yaml @@ -13,9 +13,9 @@ interactions: ParameterSetName: - --mc -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb2000003/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb2000003/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb2000003/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:27 GMT + - Thu, 11 Nov 2021 09:12:52 GMT expires: - '-1' pragma: @@ -64,9 +64,9 @@ interactions: ParameterSetName: - --mc -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb2000003/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb2000003/fileServices/default?api-version=2021-06-01 response: body: string: '{"error":{"code":"FeatureNotSupportedForAccount","message":"SMB Multichannel @@ -79,7 +79,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:28 GMT + - Thu, 11 Nov 2021 09:12:54 GMT expires: - '-1' pragma: @@ -91,7 +91,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1198' status: code: 409 message: Conflict @@ -109,9 +109,9 @@ interactions: ParameterSetName: - -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Premium_LRS","tier":"Premium"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":false}}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -123,7 +123,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:29 GMT + - Thu, 11 Nov 2021 09:12:57 GMT expires: - '-1' pragma: @@ -155,9 +155,9 @@ interactions: ParameterSetName: - -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb2000003/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb2000003/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb2000003/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -169,7 +169,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:30 GMT + - Thu, 11 Nov 2021 09:12:58 GMT expires: - '-1' pragma: @@ -201,9 +201,9 @@ interactions: ParameterSetName: - --enable-smb-multichannel -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Premium_LRS","tier":"Premium"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":false}}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -215,7 +215,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:31 GMT + - Thu, 11 Nov 2021 09:13:01 GMT expires: - '-1' pragma: @@ -252,9 +252,9 @@ interactions: ParameterSetName: - --enable-smb-multichannel -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":true}}},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -266,7 +266,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:35 GMT + - Thu, 11 Nov 2021 09:13:04 GMT expires: - '-1' pragma: @@ -282,7 +282,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -300,9 +300,9 @@ interactions: ParameterSetName: - --enable-smb-multichannel -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Premium_LRS","tier":"Premium"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":true}}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -314,7 +314,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:36 GMT + - Thu, 11 Nov 2021 09:13:07 GMT expires: - '-1' pragma: @@ -351,9 +351,9 @@ interactions: ParameterSetName: - --enable-smb-multichannel -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":false}}},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -365,7 +365,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:37 GMT + - Thu, 11 Nov 2021 09:13:09 GMT expires: - '-1' pragma: @@ -381,7 +381,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 200 message: OK @@ -399,9 +399,9 @@ interactions: ParameterSetName: - --enable-smb-multichannel -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"sku":{"name":"Premium_LRS","tier":"Premium"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":false}}},"cors":{"corsRules":[]},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -413,7 +413,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:38 GMT + - Thu, 11 Nov 2021 09:13:12 GMT expires: - '-1' pragma: @@ -450,9 +450,9 @@ interactions: ParameterSetName: - --enable-smb-multichannel -n -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.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2020-08-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default?api-version=2021-06-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_file_smb000001/providers/Microsoft.Storage/storageAccounts/filesmb1000002/fileServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/fileServices","properties":{"protocolSettings":{"smb":{"multichannel":{"enabled":true}}},"shareDeleteRetentionPolicy":{"enabled":true,"days":7}}}' @@ -464,7 +464,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:40 GMT + - Thu, 11 Nov 2021 09:13:15 GMT expires: - '-1' pragma: @@ -480,7 +480,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_local_user.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_local_user.yaml new file mode 100644 index 00000000000..943f714a792 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_local_user.yaml @@ -0,0 +1,498 @@ +interactions: +- request: + body: '{"properties": {"permissionScopes": [{"permissions": "r", "service": "blob", + "resourceName": "container1"}, {"permissions": "rw", "service": "file", "resourceName": + "share2"}], "homeDirectory": "home", "hasSharedKey": false, "hasSshKey": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user create + Connection: + - keep-alive + Content-Length: + - '245' + Content-Type: + - application/json + ParameterSetName: + - --account-name -g -n --home-directory --permission-scope --permission-scope + --has-ssh-key --has-shared-key + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003?api-version=2021-08-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localusers/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts/localUsers","properties":{"permissionScopes":[{"permissions":"r","service":"blob","resourceName":"container1"},{"permissions":"rw","service":"file","resourceName":"share2"}],"homeDirectory":"home","sid":"S-1-2-0-2941377507-3817035268-3878965198-1000","hasSharedKey":false,"hasSshKey":false}}' + headers: + cache-control: + - no-cache + content-length: + - '552' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:06 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user update + Connection: + - keep-alive + ParameterSetName: + - --account-name -g -n --home-directory --permission-scope + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003?api-version=2021-08-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localusers/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts/localUsers","properties":{"hasSshPassword":false,"permissionScopes":[{"permissions":"r","service":"blob","resourceName":"container1"},{"permissions":"rw","service":"file","resourceName":"share2"}],"homeDirectory":"home","sid":"S-1-2-0-2941377507-3817035268-3878965198-1000","hasSharedKey":false,"hasSshKey":false}}' + headers: + cache-control: + - no-cache + content-length: + - '575' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"permissionScopes": [{"permissions": "rw", "service": "file", + "resourceName": "share2"}], "homeDirectory": "home2", "hasSharedKey": false, + "hasSshKey": false, "hasSshPassword": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user update + Connection: + - keep-alive + Content-Length: + - '200' + Content-Type: + - application/json + ParameterSetName: + - --account-name -g -n --home-directory --permission-scope + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003?api-version=2021-08-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localusers/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts/localUsers","properties":{"hasSshPassword":false,"permissionScopes":[{"permissions":"rw","service":"file","resourceName":"share2"}],"homeDirectory":"home2","sid":"S-1-2-0-2941377507-3817035268-3878965198-1000","hasSharedKey":false,"hasSshKey":false}}' + headers: + cache-control: + - no-cache + content-length: + - '511' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user list + Connection: + - keep-alive + ParameterSetName: + - --account-name -g + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers?api-version=2021-08-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localusers/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts/localUsers","properties":{"hasSshPassword":false,"permissionScopes":[{"permissions":"rw","service":"file","resourceName":"share2"}],"homeDirectory":"home2","sid":"S-1-2-0-2941377507-3817035268-3878965198-1000","hasSharedKey":false,"hasSshKey":false}}]}' + headers: + cache-control: + - no-cache + content-length: + - '523' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user show + Connection: + - keep-alive + ParameterSetName: + - --account-name -g -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003?api-version=2021-08-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localusers/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts/localUsers","properties":{"hasSshPassword":false,"permissionScopes":[{"permissions":"rw","service":"file","resourceName":"share2"}],"homeDirectory":"home2","sid":"S-1-2-0-2941377507-3817035268-3878965198-1000","hasSharedKey":false,"hasSshKey":false}}' + headers: + cache-control: + - no-cache + content-length: + - '511' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user update + Connection: + - keep-alive + ParameterSetName: + - --account-name -g -n --ssh-authorized-key + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003?api-version=2021-08-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localusers/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts/localUsers","properties":{"hasSshPassword":false,"permissionScopes":[{"permissions":"rw","service":"file","resourceName":"share2"}],"homeDirectory":"home2","sid":"S-1-2-0-2941377507-3817035268-3878965198-1000","hasSharedKey":false,"hasSshKey":false}}' + headers: + cache-control: + - no-cache + content-length: + - '511' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"permissionScopes": [{"permissions": "rw", "service": "file", + "resourceName": "share2"}], "homeDirectory": "home2", "sshAuthorizedKeys": [{"description": + "", "key": "ssh-rsa a2V5"}], "hasSharedKey": false, "hasSshKey": false, "hasSshPassword": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user update + Connection: + - keep-alive + Content-Length: + - '267' + Content-Type: + - application/json + ParameterSetName: + - --account-name -g -n --ssh-authorized-key + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003?api-version=2021-08-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localusers/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts/localUsers","properties":{"hasSshPassword":false,"permissionScopes":[{"permissions":"rw","service":"file","resourceName":"share2"}],"homeDirectory":"home2","sshAuthorizedKeys":[{"description":"","key":"ssh-rsa + a2V5"}],"sid":"S-1-2-0-2941377507-3817035268-3878965198-1000","hasSharedKey":false,"hasSshKey":false}}' + headers: + cache-control: + - no-cache + content-length: + - '573' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user list-keys + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name -g -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003/listKeys?api-version=2021-08-01 + response: + body: + string: '{}' + headers: + cache-control: + - no-cache + content-length: + - '2' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user regenerate-password + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name -g -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003/regeneratePassword?api-version=2021-08-01 + response: + body: + # [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine", Justification="auto generated password for testing")] + string: '{"sshPassword":"Dpkr901tl71Y8cu//WJI1ENEfZqF/kJYHJEkqr1eLwhJQ3EGlI97WcNHLlQ/lUTlTysehXedy5toNcXp1z8VEA=="}' + headers: + cache-control: + - no-cache + content-length: + - '106' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 06:08:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account local-user delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --account-name -g -n + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.9.6 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_local_user000001/providers/Microsoft.Storage/storageAccounts/storagelocaluser000002/localUsers/cli000003?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Thu, 13 Jan 2022 06:08:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +version: 1 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 c2ee16b9dbf..9c95c92bf0d 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,21 +13,21 @@ interactions: ParameterSetName: - -g -n --bypass --default-action --https-only User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2021-04-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-10-28T06:47:03Z"},"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":"2022-01-10T07:10:25Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '358' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:47:35 GMT + - Mon, 10 Jan 2022 07:10:57 GMT expires: - '-1' pragma: @@ -62,9 +62,9 @@ interactions: ParameterSetName: - -g -n --bypass --default-action --https-only User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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-06-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-08-01 response: body: string: '' @@ -76,11 +76,11 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Thu, 28 Oct 2021 06:47:45 GMT + - Mon, 10 Jan 2022 07:11:07 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/a8af39ad-3f19-4b39-872d-d42482fad91a?monitor=true&api-version=2021-06-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/ca65580f-a707-46d3-a095-b6809c37424f?monitor=true&api-version=2021-08-01 pragma: - no-cache server: @@ -90,7 +90,51 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -g -n --bypass --default-action --https-only + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/ca65580f-a707-46d3-a095-b6809c37424f?monitor=true&api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 10 Jan 2022 07:11:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/ca65580f-a707-46d3-a095-b6809c37424f?monitor=true&api-version=2021-08-01 + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff status: code: 202 message: Accepted @@ -108,21 +152,21 @@ interactions: ParameterSetName: - -g -n --bypass --default-action --https-only User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/a8af39ad-3f19-4b39-872d-d42482fad91a?monitor=true&api-version=2021-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/ca65580f-a707-46d3-a095-b6809c37424f?monitor=true&api-version=2021-08-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-10-28T06:47:44.6411576Z","key2":"2021-10-28T06:47:44.6411576Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2003' + - '1773' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:03 GMT + - Mon, 10 Jan 2022 07:11:27 GMT expires: - '-1' pragma: @@ -154,21 +198,21 @@ interactions: ParameterSetName: - -g -n --bypass --default-action User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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-06-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-08-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-10-28T06:47:44.6411576Z","key2":"2021-10-28T06:47:44.6411576Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2003' + - '1773' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:05 GMT + - Mon, 10 Jan 2022 07:11:29 GMT expires: - '-1' pragma: @@ -208,21 +252,21 @@ interactions: ParameterSetName: - -g -n --bypass --default-action User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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-06-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-08-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-10-28T06:47:44.6411576Z","key2":"2021-10-28T06:47:44.6411576Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2004' + - '1774' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:09 GMT + - Mon, 10 Jan 2022 07:11:35 GMT expires: - '-1' pragma: @@ -256,21 +300,21 @@ interactions: ParameterSetName: - -g -n --set User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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-06-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-08-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-10-28T06:47:44.6411576Z","key2":"2021-10-28T06:47:44.6411576Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2004' + - '1774' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:09 GMT + - Mon, 10 Jan 2022 07:11:37 GMT expires: - '-1' pragma: @@ -310,21 +354,21 @@ interactions: ParameterSetName: - -g -n --set User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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-06-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-08-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-10-28T06:47:44.6411576Z","key2":"2021-10-28T06:47:44.6411576Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2003' + - '1773' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:16 GMT + - Mon, 10 Jan 2022 07:11:44 GMT expires: - '-1' pragma: @@ -340,7 +384,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -358,21 +402,21 @@ interactions: ParameterSetName: - -g -n --subnet-name User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-resource/19.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2021-04-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-10-28T06:47:03Z"},"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":"2022-01-10T07:10:25Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache content-length: - - '428' + - '358' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:48:17 GMT + - Mon, 10 Jan 2022 07:11:45 GMT expires: - '-1' pragma: @@ -407,21 +451,21 @@ interactions: ParameterSetName: - -g -n --subnet-name User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-network/19.1.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.7.9 (Windows-10-10.0.22000-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=2021-03-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-05-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/\\\"8f74fd95-ad74-4b52-83d3-cd82eebc01f1\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"5fa48e8a-d983-4657-b6e1-c85faf06b086\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"09904049-eb91-4211-b7a5-7cb9292f7f21\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"c250cec5-4349-4fdb-b87c-13f34817fc24\",\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/\\\"8f74fd95-ad74-4b52-83d3-cd82eebc01f1\\\"\",\r\n + \ \"etag\": \"W/\\\"5fa48e8a-d983-4657-b6e1-c85faf06b086\\\"\",\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\": @@ -432,15 +476,15 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1984f012-24cf-4453-8560-8512de6e3987?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f8adced4-8b9f-4508-a0e8-f3af0e9e6c33?api-version=2021-05-01 cache-control: - no-cache content-length: - - '1403' + - '1333' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:48:25 GMT + - Mon, 10 Jan 2022 07:11:49 GMT expires: - '-1' pragma: @@ -453,7 +497,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b7a6b9a3-0e6c-4a70-9078-4825a93e59dc + - 8845de8e-6870-4805-ad22-a2f3cca9b5ed x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -473,9 +517,9 @@ interactions: ParameterSetName: - -g -n --subnet-name User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-network/19.1.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1984f012-24cf-4453-8560-8512de6e3987?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f8adced4-8b9f-4508-a0e8-f3af0e9e6c33?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -487,7 +531,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:48:29 GMT + - Mon, 10 Jan 2022 07:11:53 GMT expires: - '-1' pragma: @@ -504,7 +548,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0fe8e85a-00db-4b00-8292-3ba02eca377c + - 5d6db1cf-c4e4-47a3-8fad-1a46e6381f80 status: code: 200 message: OK @@ -522,21 +566,21 @@ interactions: ParameterSetName: - -g -n --subnet-name User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-network/19.1.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.7.9 (Windows-10-10.0.22000-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=2021-03-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-05-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/\\\"55e6725d-6d6e-4692-afb7-d4922cc753ca\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"9b79252f-d390-4dad-8f26-2ee70415ceeb\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"09904049-eb91-4211-b7a5-7cb9292f7f21\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"c250cec5-4349-4fdb-b87c-13f34817fc24\",\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/\\\"55e6725d-6d6e-4692-afb7-d4922cc753ca\\\"\",\r\n + \ \"etag\": \"W/\\\"9b79252f-d390-4dad-8f26-2ee70415ceeb\\\"\",\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\": @@ -547,13 +591,13 @@ interactions: cache-control: - no-cache content-length: - - '1405' + - '1335' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:48:29 GMT + - Mon, 10 Jan 2022 07:11:53 GMT etag: - - W/"55e6725d-6d6e-4692-afb7-d4922cc753ca" + - W/"9b79252f-d390-4dad-8f26-2ee70415ceeb" expires: - '-1' pragma: @@ -570,7 +614,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4be4d760-b086-4e9d-b22e-3e3fc0f964d9 + - a757fc75-d27e-4385-9753-0fd90a1c00f6 status: code: 200 message: OK @@ -588,13 +632,13 @@ interactions: ParameterSetName: - -g --vnet-name -n --service-endpoints User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-network/19.1.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.7.9 (Windows-10-10.0.22000-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=2021-03-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-05-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/\\\"55e6725d-6d6e-4692-afb7-d4922cc753ca\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"9b79252f-d390-4dad-8f26-2ee70415ceeb\\\"\",\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\": @@ -603,13 +647,13 @@ interactions: cache-control: - no-cache content-length: - - '586' + - '551' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:48:30 GMT + - Mon, 10 Jan 2022 07:11:53 GMT etag: - - W/"55e6725d-6d6e-4692-afb7-d4922cc753ca" + - W/"9b79252f-d390-4dad-8f26-2ee70415ceeb" expires: - '-1' pragma: @@ -626,7 +670,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 09a5b275-0d33-415a-9ba1-7ad781cf4b5e + - 96d92852-2561-4199-a56b-124c03809445 status: code: 200 message: OK @@ -646,19 +690,19 @@ interactions: Connection: - keep-alive Content-Length: - - '506' + - '471' Content-Type: - application/json ParameterSetName: - -g --vnet-name -n --service-endpoints User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-network/19.1.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.7.9 (Windows-10-10.0.22000-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=2021-03-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-05-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/\\\"0145967b-1bf6-494b-b91e-90659a4e5c32\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"b081cb4c-a559-4b91-9f15-ed8f8f91a5bd\\\"\",\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 @@ -668,15 +712,15 @@ 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/08482d1d-0f05-41d6-8c87-c534ea0d1968?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/527f705d-12a8-4e06-abd8-d2ce25874c35?api-version=2021-05-01 cache-control: - no-cache content-length: - - '797' + - '762' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:48:32 GMT + - Mon, 10 Jan 2022 07:11:55 GMT expires: - '-1' pragma: @@ -693,7 +737,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e1ddc9b4-34fc-4314-9de8-6e226b5cd61f + - 4e99d824-ef87-42a1-9c62-cdbff392caca x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -713,9 +757,9 @@ interactions: ParameterSetName: - -g --vnet-name -n --service-endpoints User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-network/19.1.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/08482d1d-0f05-41d6-8c87-c534ea0d1968?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/527f705d-12a8-4e06-abd8-d2ce25874c35?api-version=2021-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -727,7 +771,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:48:36 GMT + - Mon, 10 Jan 2022 07:11:59 GMT expires: - '-1' pragma: @@ -744,7 +788,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 91570491-69dc-4591-be24-770d1cdd131a + - 5ec00999-c494-481b-b29c-11ff70444f0f status: code: 200 message: OK @@ -762,13 +806,13 @@ interactions: ParameterSetName: - -g --vnet-name -n --service-endpoints User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-network/19.1.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-network/19.3.0 Python/3.7.9 (Windows-10-10.0.22000-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=2021-03-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-05-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/\\\"1da3e928-dfc2-41ae-a48f-b84f242dbf47\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"ff4bd491-1ba4-466e-9a46-aa4646d2ae95\\\"\",\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 @@ -780,13 +824,13 @@ interactions: cache-control: - no-cache content-length: - - '799' + - '764' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Oct 2021 06:48:36 GMT + - Mon, 10 Jan 2022 07:11:59 GMT etag: - - W/"1da3e928-dfc2-41ae-a48f-b84f242dbf47" + - W/"ff4bd491-1ba4-466e-9a46-aa4646d2ae95" expires: - '-1' pragma: @@ -803,7 +847,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8fae1119-9767-4d27-b512-f52ef3f43578 + - 07ea097c-7292-4c63-93d4-10733b2a5917 status: code: 200 message: OK @@ -821,21 +865,21 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1849' + - '1773' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:38 GMT + - Mon, 10 Jan 2022 07:11:59 GMT expires: - '-1' pragma: @@ -873,21 +917,21 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1886' + - '1810' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:39 GMT + - Mon, 10 Jan 2022 07:12:00 GMT expires: - '-1' pragma: @@ -921,21 +965,21 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1886' + - '1810' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:40 GMT + - Mon, 10 Jan 2022 07:12:01 GMT expires: - '-1' pragma: @@ -973,21 +1017,21 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1886' + - '1810' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:41 GMT + - Mon, 10 Jan 2022 07:12:02 GMT expires: - '-1' pragma: @@ -1021,21 +1065,21 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1886' + - '1810' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:42 GMT + - Mon, 10 Jan 2022 07:12:03 GMT expires: - '-1' pragma: @@ -1073,21 +1117,21 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1927' + - '1851' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:44 GMT + - Mon, 10 Jan 2022 07:12:04 GMT expires: - '-1' pragma: @@ -1103,7 +1147,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -1121,21 +1165,21 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1927' + - '1851' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:45 GMT + - Mon, 10 Jan 2022 07:12:05 GMT expires: - '-1' pragma: @@ -1168,27 +1212,27 @@ interactions: Connection: - keep-alive Content-Length: - - '443' + - '408' Content-Type: - application/json ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2181' + - '2070' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:47 GMT + - Mon, 10 Jan 2022 07:12:07 GMT expires: - '-1' pragma: @@ -1204,7 +1248,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -1222,21 +1266,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2181' + - '2070' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:49 GMT + - Mon, 10 Jan 2022 07:12:08 GMT expires: - '-1' pragma: @@ -1268,21 +1312,21 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2181' + - '2070' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:50 GMT + - Mon, 10 Jan 2022 07:12:09 GMT expires: - '-1' pragma: @@ -1315,27 +1359,27 @@ interactions: Connection: - keep-alive Content-Length: - - '443' + - '408' Content-Type: - application/json ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2181' + - '2070' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:51 GMT + - Mon, 10 Jan 2022 07:12:09 GMT expires: - '-1' pragma: @@ -1351,7 +1395,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -1369,21 +1413,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2181' + - '2070' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:53 GMT + - Mon, 10 Jan 2022 07:12:10 GMT expires: - '-1' pragma: @@ -1415,21 +1459,21 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2181' + - '2070' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:54 GMT + - Mon, 10 Jan 2022 07:12:11 GMT expires: - '-1' pragma: @@ -1462,27 +1506,27 @@ interactions: Connection: - keep-alive Content-Length: - - '423' + - '388' Content-Type: - application/json ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2143' + - '2032' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:56 GMT + - Mon, 10 Jan 2022 07:12:13 GMT expires: - '-1' pragma: @@ -1516,21 +1560,21 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '2143' + - '2032' content-type: - application/json date: - - Thu, 28 Oct 2021 06:48:58 GMT + - Mon, 10 Jan 2022 07:12:14 GMT expires: - '-1' pragma: @@ -1568,21 +1612,21 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1889' + - '1813' content-type: - application/json date: - - Thu, 28 Oct 2021 06:49:13 GMT + - Mon, 10 Jan 2022 07:12:29 GMT expires: - '-1' pragma: @@ -1598,7 +1642,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -1616,21 +1660,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.29.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.9 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + 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-08-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":{"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-10-28T06:47:44.6411576Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T06:47:44.6411576Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T06:47:44.5161510Z","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":"2022-01-10T07:11:05.0208982Z","key2":"2022-01-10T07:11:05.0208982Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"2022-01-10T07:11:05.0208982Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-10T07:11:05.0208982Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-10T07:11:04.9271232Z","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 content-length: - - '1889' + - '1813' content-type: - application/json date: - - Thu, 28 Oct 2021 06:49:14 GMT + - Mon, 10 Jan 2022 07:12:31 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 9934a1d153d..5edd8a86a8b 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,21 +13,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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' + - '1394' content-type: - application/json date: - - Thu, 20 May 2021 08:17:14 GMT + - Thu, 11 Nov 2021 08:41:57 GMT expires: - '-1' pragma: @@ -65,21 +65,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1460' + - '1614' content-type: - application/json date: - - Thu, 20 May 2021 08:17:15 GMT + - Thu, 11 Nov 2021 08:41:58 GMT expires: - '-1' pragma: @@ -113,21 +113,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1460' + - '1614' content-type: - application/json date: - - Thu, 20 May 2021 08:17:16 GMT + - Thu, 11 Nov 2021 08:42:01 GMT expires: - '-1' pragma: @@ -159,21 +159,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1460' + - '1614' content-type: - application/json date: - - Thu, 20 May 2021 08:17:17 GMT + - Thu, 11 Nov 2021 08:42:02 GMT expires: - '-1' pragma: @@ -211,21 +211,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1460' + - '1614' content-type: - application/json date: - - Thu, 20 May 2021 08:17:18 GMT + - Thu, 11 Nov 2021 08:42:03 GMT expires: - '-1' pragma: @@ -259,21 +259,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1460' + - '1614' content-type: - application/json date: - - Thu, 20 May 2021 08:17:19 GMT + - Thu, 11 Nov 2021 08:42:05 GMT expires: - '-1' pragma: @@ -305,21 +305,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1460' + - '1614' content-type: - application/json date: - - Thu, 20 May 2021 08:17:20 GMT + - Thu, 11 Nov 2021 08:42:06 GMT expires: - '-1' pragma: @@ -358,21 +358,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1656' + - '1810' content-type: - application/json date: - - Thu, 20 May 2021 08:17:21 GMT + - Thu, 11 Nov 2021 08:42:07 GMT expires: - '-1' pragma: @@ -388,7 +388,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 200 message: OK @@ -406,21 +406,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1656' + - '1810' content-type: - application/json date: - - Thu, 20 May 2021 08:17:23 GMT + - Thu, 11 Nov 2021 08:42:09 GMT expires: - '-1' pragma: @@ -452,21 +452,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1656' + - '1810' content-type: - application/json date: - - Thu, 20 May 2021 08:17:24 GMT + - Thu, 11 Nov 2021 08:42:11 GMT expires: - '-1' pragma: @@ -506,21 +506,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1852' + - '2006' content-type: - application/json date: - - Thu, 20 May 2021 08:17:25 GMT + - Thu, 11 Nov 2021 08:42:11 GMT expires: - '-1' pragma: @@ -536,7 +536,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 200 message: OK @@ -554,21 +554,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1852' + - '2006' content-type: - application/json date: - - Thu, 20 May 2021 08:17:26 GMT + - Thu, 11 Nov 2021 08:42:13 GMT expires: - '-1' pragma: @@ -600,21 +600,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1852' + - '2006' content-type: - application/json date: - - Thu, 20 May 2021 08:17:26 GMT + - Thu, 11 Nov 2021 08:42:16 GMT expires: - '-1' pragma: @@ -653,21 +653,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1656' + - '1810' content-type: - application/json date: - - Thu, 20 May 2021 08:17:26 GMT + - Thu, 11 Nov 2021 08:42:17 GMT expires: - '-1' pragma: @@ -701,21 +701,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1656' + - '1810' content-type: - application/json date: - - Thu, 20 May 2021 08:17:28 GMT + - Thu, 11 Nov 2021 08:42:18 GMT expires: - '-1' pragma: @@ -747,21 +747,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1656' + - '1810' content-type: - application/json date: - - Thu, 20 May 2021 08:17:29 GMT + - Thu, 11 Nov 2021 08:42:20 GMT expires: - '-1' pragma: @@ -799,21 +799,21 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1460' + - '1614' content-type: - application/json date: - - Thu, 20 May 2021 08:17:30 GMT + - Thu, 11 Nov 2021 08:42:21 GMT expires: - '-1' pragma: @@ -847,21 +847,21 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-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 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-08-01 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-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"}}' + 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":{"keyCreationTime":{"key1":"2021-11-11T08:41:35.0714596Z","key2":"2021-11-11T08:41:35.0714596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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-11-11T08:41:35.0714596Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T08:41:35.0714596Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-11T08:41:34.9777355Z","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: - - '1460' + - '1614' content-type: - application/json date: - - Thu, 20 May 2021 08:17:32 GMT + - Thu, 11 Nov 2021 08:42:23 GMT expires: - '-1' pragma: diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_sftp.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_sftp.yaml new file mode 100644 index 00000000000..f86876020b4 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_sftp.yaml @@ -0,0 +1,411 @@ +interactions: +- request: + body: '{"sku": {"name": "Standard_LRS"}, "kind": "StorageV2", "location": "centraluseuap", + "properties": {"encryption": {"services": {"blob": {}}, "keySource": "Microsoft.Storage"}, + "isSftpEnabled": true, "isLocalUserEnabled": true, "isHnsEnabled": true, "isNfsV3Enabled": + false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + Content-Length: + - '273' + Content-Type: + - application/json + ParameterSetName: + - -n -g -l --sku --hns --enable-sftp --enable-nfs-v3 --enable-local-user + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Mon, 22 Nov 2021 08:39:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/centraluseuap/asyncoperations/3d17064a-9c05-4c63-81fe-ba0e33a77726?monitor=true&api-version=2021-08-01 + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + 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: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --sku --hns --enable-sftp --enable-nfs-v3 --enable-local-user + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/centraluseuap/asyncoperations/3d17064a-9c05-4c63-81fe-ba0e33a77726?monitor=true&api-version=2021-08-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:39:14.4593875Z","key2":"2021-11-22T08:39:14.4593875Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":true,"isSftpEnabled":true,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:39:14.3812169Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z2.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1648' + content-type: + - application/json + date: + - Mon, 22 Nov 2021 08:39:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + ParameterSetName: + - -n --enable-sftp + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-08-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_subscription_level_deployment/providers/Microsoft.Storage/storageAccounts/armbuilddemo1801","name":"armbuilddemo1801","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T02:25:59.7261603Z","key2":"2021-11-22T02:25:59.7261603Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T02:25:59.7261603Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T02:25:59.7261603Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-22T02:25:59.6011765Z","primaryEndpoints":{"blob":"https://armbuilddemo1801.blob.core.windows.net/","queue":"https://armbuilddemo1801.queue.core.windows.net/","table":"https://armbuilddemo1801.table.core.windows.net/","file":"https://armbuilddemo1801.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhiyihuang-rg/providers/Microsoft.Storage/storageAccounts/azext","name":"azext","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-15T07:20:26.3629732Z","key2":"2021-10-15T07:20:26.3629732Z"},"allowCrossTenantReplication":true,"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-10-15T07:20:26.3629732Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T07:20:26.3629732Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-15T07:20:26.2379798Z","primaryEndpoints":{"dfs":"https://azext.dfs.core.windows.net/","web":"https://azext.z13.web.core.windows.net/","blob":"https://azext.blob.core.windows.net/","queue":"https://azext.queue.core.windows.net/","table":"https://azext.table.core.windows.net/","file":"https://azext.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azext-secondary.dfs.core.windows.net/","web":"https://azext-secondary.z13.web.core.windows.net/","blob":"https://azext-secondary.blob.core.windows.net/","queue":"https://azext-secondary.queue.core.windows.net/","table":"https://azext-secondary.table.core.windows.net/"}}},{"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MSP_bez-rg_bez-diskpool_eastus/providers/Microsoft.Storage/storageAccounts/diag211012t072040rmjrhhi","name":"diag211012t072040rmjrhhi","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{"MSP_BuildVersion":"20211008-2.master.5bd2896a","MSP_DPMajorVersion":"v2_DualVm","MSP_DPMinorVersion":"0","k":"v"},"properties":{"keyCreationTime":{"key1":"2021-10-12T07:20:43.6860609Z","key2":"2021-10-12T07:20:43.6860609Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-12T07:20:43.7016857Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-12T07:20:43.7016857Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-12T07:20:43.5611096Z","primaryEndpoints":{"dfs":"https://diag211012t072040rmjrhhi.dfs.core.windows.net/","web":"https://diag211012t072040rmjrhhi.z13.web.core.windows.net/","blob":"https://diag211012t072040rmjrhhi.blob.core.windows.net/","queue":"https://diag211012t072040rmjrhhi.queue.core.windows.net/","table":"https://diag211012t072040rmjrhhi.table.core.windows.net/","file":"https://diag211012t072040rmjrhhi.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/galleryapptest/providers/Microsoft.Storage/storageAccounts/galleryappaccount","name":"galleryappaccount","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-20T06:11:14.2816483Z","key2":"2021-10-20T06:11:14.2816483Z"},"allowCrossTenantReplication":true,"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-10-20T06:11:14.2972777Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-20T06:11:14.2972777Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-20T06:11:14.1723329Z","primaryEndpoints":{"dfs":"https://galleryappaccount.dfs.core.windows.net/","web":"https://galleryappaccount.z13.web.core.windows.net/","blob":"https://galleryappaccount.blob.core.windows.net/","queue":"https://galleryappaccount.queue.core.windows.net/","table":"https://galleryappaccount.table.core.windows.net/","file":"https://galleryappaccount.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://galleryappaccount-secondary.dfs.core.windows.net/","web":"https://galleryappaccount-secondary.z13.web.core.windows.net/","blob":"https://galleryappaccount-secondary.blob.core.windows.net/","queue":"https://galleryappaccount-secondary.queue.core.windows.net/","table":"https://galleryappaccount-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/galleryapptestaccount","name":"galleryapptestaccount","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-20T02:51:38.9977139Z","key2":"2021-10-20T02:51:38.9977139Z"},"allowCrossTenantReplication":true,"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-10-20T02:51:38.9977139Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-20T02:51:38.9977139Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-20T02:51:38.8727156Z","primaryEndpoints":{"dfs":"https://galleryapptestaccount.dfs.core.windows.net/","web":"https://galleryapptestaccount.z13.web.core.windows.net/","blob":"https://galleryapptestaccount.blob.core.windows.net/","queue":"https://galleryapptestaccount.queue.core.windows.net/","table":"https://galleryapptestaccount.table.core.windows.net/","file":"https://galleryapptestaccount.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-dev/providers/Microsoft.Storage/storageAccounts/jlst1007","name":"jlst1007","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-14T03:14:38.1272477Z","key2":"2021-10-07T06:12:08.4901645Z"},"allowCrossTenantReplication":true,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"resourceAccessRules":[],"bypass":"None","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-07T06:12:08.4901645Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-07T06:12:08.4901645Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2021-10-07T06:12:08.3807870Z","primaryEndpoints":{"dfs":"https://jlst1007.dfs.core.windows.net/","web":"https://jlst1007.z13.web.core.windows.net/","blob":"https://jlst1007.blob.core.windows.net/","queue":"https://jlst1007.queue.core.windows.net/","table":"https://jlst1007.table.core.windows.net/","file":"https://jlst1007.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/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/privatepackage","name":"privatepackage","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-19T08:53:09.0238938Z","key2":"2021-10-19T08:53:09.0238938Z"},"allowCrossTenantReplication":true,"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-10-19T08:53:09.0238938Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-19T08:53:09.0238938Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-19T08:53:08.9301661Z","primaryEndpoints":{"dfs":"https://privatepackage.dfs.core.windows.net/","web":"https://privatepackage.z13.web.core.windows.net/","blob":"https://privatepackage.blob.core.windows.net/","queue":"https://privatepackage.queue.core.windows.net/","table":"https://privatepackage.table.core.windows.net/","file":"https://privatepackage.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://privatepackage-secondary.dfs.core.windows.net/","web":"https://privatepackage-secondary.z13.web.core.windows.net/","blob":"https://privatepackage-secondary.blob.core.windows.net/","queue":"https://privatepackage-secondary.queue.core.windows.net/","table":"https://privatepackage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/queuetest/providers/Microsoft.Storage/storageAccounts/qteststac","name":"qteststac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-11-10T05:21:49.0582561Z","key2":"2021-11-10T05:21:49.0582561Z"},"allowCrossTenantReplication":true,"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-11-10T05:21:49.0582561Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-10T05:21:49.0582561Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-10T05:21:48.9488735Z","primaryEndpoints":{"dfs":"https://qteststac.dfs.core.windows.net/","web":"https://qteststac.z13.web.core.windows.net/","blob":"https://qteststac.blob.core.windows.net/","queue":"https://qteststac.queue.core.windows.net/","table":"https://qteststac.table.core.windows.net/","file":"https://qteststac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qteststac-secondary.dfs.core.windows.net/","web":"https://qteststac-secondary.z13.web.core.windows.net/","blob":"https://qteststac-secondary.blob.core.windows.net/","queue":"https://qteststac-secondary.queue.core.windows.net/","table":"https://qteststac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/managed-rg-purview-msyyc/providers/Microsoft.Storage/storageAccounts/scaneastusxncccyt","name":"scaneastusxncccyt","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-23T01:56:19.6672075Z","key2":"2021-08-23T01:56:19.6672075Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-23T01:56:19.6672075Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-23T01:56:19.6672075Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-23T01:56:19.5422473Z","primaryEndpoints":{"dfs":"https://scaneastusxncccyt.dfs.core.windows.net/","web":"https://scaneastusxncccyt.z13.web.core.windows.net/","blob":"https://scaneastusxncccyt.blob.core.windows.net/","queue":"https://scaneastusxncccyt.queue.core.windows.net/","table":"https://scaneastusxncccyt.table.core.windows.net/","file":"https://scaneastusxncccyt.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bez-rg/providers/Microsoft.Storage/storageAccounts/storagecontainer4test","name":"storagecontainer4test","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-15T02:14:52.4005326Z","key2":"2021-11-15T02:14:52.4005326Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-15T02:14:52.4005326Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-15T02:14:52.4005326Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2021-11-15T02:14:52.2599198Z","primaryEndpoints":{"dfs":"https://storagecontainer4test.dfs.core.windows.net/","blob":"https://storagecontainer4test.blob.core.windows.net/","table":"https://storagecontainer4test.table.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testvlw","name":"testvlw","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-27T06:47:50.5497427Z","key2":"2021-10-27T06:47:50.5497427Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T06:47:50.5497427Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T06:47:50.5497427Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-27T06:47:50.4247606Z","primaryEndpoints":{"dfs":"https://testvlw.dfs.core.windows.net/","web":"https://testvlw.z13.web.core.windows.net/","blob":"https://testvlw.blob.core.windows.net/","queue":"https://testvlw.queue.core.windows.net/","table":"https://testvlw.table.core.windows.net/","file":"https://testvlw.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testvlw-secondary.dfs.core.windows.net/","web":"https://testvlw-secondary.z13.web.core.windows.net/","blob":"https://testvlw-secondary.blob.core.windows.net/","queue":"https://testvlw-secondary.queue.core.windows.net/","table":"https://testvlw-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/yssa","name":"yssa","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{"key1":"value1"},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-08-16T08:39:21.3287573Z","key2":"2021-08-16T08:39:21.3287573Z"},"privateEndpointConnections":[],"hnsOnMigrationInProgress":false,"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-08-16T08:39:21.3287573Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-16T08:39:21.3287573Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-16T08:39:21.2193709Z","primaryEndpoints":{"dfs":"https://yssa.dfs.core.windows.net/","web":"https://yssa.z13.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":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhiyihuang-rg/providers/Microsoft.Storage/storageAccounts/zhiyihuangsa","name":"zhiyihuangsa","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-09-10T05:47:01.2111871Z","key2":"2021-09-10T05:47:01.2111871Z"},"allowCrossTenantReplication":true,"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-09-10T05:47:01.2111871Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-10T05:47:01.2111871Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-10T05:47:01.0861745Z","primaryEndpoints":{"dfs":"https://zhiyihuangsa.dfs.core.windows.net/","web":"https://zhiyihuangsa.z13.web.core.windows.net/","blob":"https://zhiyihuangsa.blob.core.windows.net/","queue":"https://zhiyihuangsa.queue.core.windows.net/","table":"https://zhiyihuangsa.table.core.windows.net/","file":"https://zhiyihuangsa.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhiyihuangsa-secondary.dfs.core.windows.net/","web":"https://zhiyihuangsa-secondary.z13.web.core.windows.net/","blob":"https://zhiyihuangsa-secondary.blob.core.windows.net/","queue":"https://zhiyihuangsa-secondary.queue.core.windows.net/","table":"https://zhiyihuangsa-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":"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/pythonsdkmsyyc","name":"pythonsdkmsyyc","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-30T09:03:04.8209550Z","key2":"2021-06-30T09:03:04.8209550Z"},"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-06-30T09:03:04.8209550Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-30T09:03:04.8209550Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-30T09:03:04.7272348Z","primaryEndpoints":{"dfs":"https://pythonsdkmsyyc.dfs.core.windows.net/","web":"https://pythonsdkmsyyc.z22.web.core.windows.net/","blob":"https://pythonsdkmsyyc.blob.core.windows.net/","queue":"https://pythonsdkmsyyc.queue.core.windows.net/","table":"https://pythonsdkmsyyc.table.core.windows.net/","file":"https://pythonsdkmsyyc.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/python-sdk-test/providers/Microsoft.Storage/storageAccounts/storageyyc","name":"storageyyc","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-09-26T05:53:22.9974267Z","key2":"2021-09-26T05:53:22.9974267Z"},"allowCrossTenantReplication":true,"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-09-26T05:53:22.9974267Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:53:22.9974267Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T05:53:22.9192578Z","primaryEndpoints":{"dfs":"https://storageyyc.dfs.core.windows.net/","web":"https://storageyyc.z22.web.core.windows.net/","blob":"https://storageyyc.blob.core.windows.net/","queue":"https://storageyyc.queue.core.windows.net/","table":"https://storageyyc.table.core.windows.net/","file":"https://storageyyc.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testalw","name":"testalw","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"immutableStorageWithVersioning":{"enabled":true,"immutabilityPolicy":{"immutabilityPeriodSinceCreationInDays":3,"state":"Disabled"}},"keyCreationTime":{"key1":"2021-10-27T06:27:50.3554138Z","key2":"2021-10-27T06:27:50.3554138Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T06:27:50.3554138Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T06:27:50.3554138Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-27T06:27:50.2616355Z","primaryEndpoints":{"dfs":"https://testalw.dfs.core.windows.net/","web":"https://testalw.z22.web.core.windows.net/","blob":"https://testalw.blob.core.windows.net/","queue":"https://testalw.queue.core.windows.net/","table":"https://testalw.table.core.windows.net/","file":"https://testalw.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testalw-secondary.dfs.core.windows.net/","web":"https://testalw-secondary.z22.web.core.windows.net/","blob":"https://testalw-secondary.blob.core.windows.net/","queue":"https://testalw-secondary.queue.core.windows.net/","table":"https://testalw-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/testalw1027","name":"testalw1027","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"immutableStorageWithVersioning":{"enabled":true,"immutabilityPolicy":{"immutabilityPeriodSinceCreationInDays":1,"state":"Unlocked"}},"keyCreationTime":{"key1":"2021-10-27T07:34:49.7592232Z","key2":"2021-10-27T07:34:49.7592232Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T07:34:49.7592232Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T07:34:49.7592232Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-27T07:34:49.6810731Z","primaryEndpoints":{"dfs":"https://testalw1027.dfs.core.windows.net/","web":"https://testalw1027.z22.web.core.windows.net/","blob":"https://testalw1027.blob.core.windows.net/","queue":"https://testalw1027.queue.core.windows.net/","table":"https://testalw1027.table.core.windows.net/","file":"https://testalw1027.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testalw1027-secondary.dfs.core.windows.net/","web":"https://testalw1027-secondary.z22.web.core.windows.net/","blob":"https://testalw1027-secondary.blob.core.windows.net/","queue":"https://testalw1027-secondary.queue.core.windows.net/","table":"https://testalw1027-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/testalw1028","name":"testalw1028","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"immutableStorageWithVersioning":{"enabled":true,"immutabilityPolicy":{"immutabilityPeriodSinceCreationInDays":1,"state":"Unlocked"}},"keyCreationTime":{"key1":"2021-10-28T01:49:10.2414505Z","key2":"2021-10-28T01:49:10.2414505Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T01:49:10.2414505Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T01:49:10.2414505Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T01:49:10.1633042Z","primaryEndpoints":{"dfs":"https://testalw1028.dfs.core.windows.net/","web":"https://testalw1028.z22.web.core.windows.net/","blob":"https://testalw1028.blob.core.windows.net/","queue":"https://testalw1028.queue.core.windows.net/","table":"https://testalw1028.table.core.windows.net/","file":"https://testalw1028.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testalw1028-secondary.dfs.core.windows.net/","web":"https://testalw1028-secondary.z22.web.core.windows.net/","blob":"https://testalw1028-secondary.blob.core.windows.net/","queue":"https://testalw1028-secondary.queue.core.windows.net/","table":"https://testalw1028-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/yshns","name":"yshns","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-15T02:10:28.4103368Z","key2":"2021-10-15T02:10:28.4103368Z"},"privateEndpointConnections":[],"hnsOnMigrationInProgress":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T02:10:28.4103368Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T02:10:28.4103368Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-15T02:10:28.3165819Z","primaryEndpoints":{"dfs":"https://yshns.dfs.core.windows.net/","web":"https://yshns.z22.web.core.windows.net/","blob":"https://yshns.blob.core.windows.net/","queue":"https://yshns.queue.core.windows.net/","table":"https://yshns.table.core.windows.net/","file":"https://yshns.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yshns-secondary.dfs.core.windows.net/","web":"https://yshns-secondary.z22.web.core.windows.net/","blob":"https://yshns-secondary.blob.core.windows.net/","queue":"https://yshns-secondary.queue.core.windows.net/","table":"https://yshns-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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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.rg23akmjlz2r/providers/Microsoft.Storage/storageAccounts/clitestdmmxq6bklh35yongi","name":"clitestdmmxq6bklh35yongi","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-05T19:49:04.6966074Z","key2":"2021-08-05T19:49:04.6966074Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-05T19:49:04.6966074Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-05T19:49:04.6966074Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-08-05T19:49:04.6185933Z","primaryEndpoints":{"blob":"https://clitestdmmxq6bklh35yongi.blob.core.windows.net/","queue":"https://clitestdmmxq6bklh35yongi.queue.core.windows.net/","table":"https://clitestdmmxq6bklh35yongi.table.core.windows.net/","file":"https://clitestdmmxq6bklh35yongi.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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.rgbo2ure7pgp/providers/Microsoft.Storage/storageAccounts/clitestsnv7joygpazk23npj","name":"clitestsnv7joygpazk23npj","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-21T02:19:20.7474327Z","key2":"2021-05-21T02:19:20.7474327Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-21T02:19:20.7474327Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-21T02:19:20.7474327Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-21T02:19:20.6537267Z","primaryEndpoints":{"blob":"https://clitestsnv7joygpazk23npj.blob.core.windows.net/","queue":"https://clitestsnv7joygpazk23npj.queue.core.windows.net/","table":"https://clitestsnv7joygpazk23npj.table.core.windows.net/","file":"https://clitestsnv7joygpazk23npj.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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.rg4yns4yxisb/providers/Microsoft.Storage/storageAccounts/clitestyt6rxgad3kebqzh26","name":"clitestyt6rxgad3kebqzh26","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-05T19:49:04.8528440Z","key2":"2021-08-05T19:49:04.8528440Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-05T19:49:04.8528440Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-05T19:49:04.8528440Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-08-05T19:49:04.7747435Z","primaryEndpoints":{"blob":"https://clitestyt6rxgad3kebqzh26.blob.core.windows.net/","queue":"https://clitestyt6rxgad3kebqzh26.queue.core.windows.net/","table":"https://clitestyt6rxgad3kebqzh26.table.core.windows.net/","file":"https://clitestyt6rxgad3kebqzh26.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320005416c8c9","name":"cs1100320005416c8c9","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-07-09T05:58:20.1898753Z","key2":"2021-07-09T05:58:20.1898753Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-09T05:58:20.2055665Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-09T05:58:20.2055665Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-09T05:58:20.0961322Z","primaryEndpoints":{"dfs":"https://cs1100320005416c8c9.dfs.core.windows.net/","web":"https://cs1100320005416c8c9.z23.web.core.windows.net/","blob":"https://cs1100320005416c8c9.blob.core.windows.net/","queue":"https://cs1100320005416c8c9.queue.core.windows.net/","table":"https://cs1100320005416c8c9.table.core.windows.net/","file":"https://cs1100320005416c8c9.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/cs1100320007b1ce356","name":"cs1100320007b1ce356","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-08-31T13:56:10.5497663Z","key2":"2021-08-31T13:56:10.5497663Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-31T13:56:10.5497663Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-31T13:56:10.5497663Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-31T13:56:10.4560533Z","primaryEndpoints":{"dfs":"https://cs1100320007b1ce356.dfs.core.windows.net/","web":"https://cs1100320007b1ce356.z23.web.core.windows.net/","blob":"https://cs1100320007b1ce356.blob.core.windows.net/","queue":"https://cs1100320007b1ce356.queue.core.windows.net/","table":"https://cs1100320007b1ce356.table.core.windows.net/","file":"https://cs1100320007b1ce356.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/cs11003200087c55daf","name":"cs11003200087c55daf","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-07-21T00:43:24.0011691Z","key2":"2021-07-21T00:43:24.0011691Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-21T00:43:24.0011691Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-21T00:43:24.0011691Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-21T00:43:23.9230250Z","primaryEndpoints":{"dfs":"https://cs11003200087c55daf.dfs.core.windows.net/","web":"https://cs11003200087c55daf.z23.web.core.windows.net/","blob":"https://cs11003200087c55daf.blob.core.windows.net/","queue":"https://cs11003200087c55daf.queue.core.windows.net/","table":"https://cs11003200087c55daf.table.core.windows.net/","file":"https://cs11003200087c55daf.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/cs110032000919ef7c5","name":"cs110032000919ef7c5","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-10-09T02:02:43.1652268Z","key2":"2021-10-09T02:02:43.1652268Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-09T02:02:43.1652268Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-09T02:02:43.1652268Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-09T02:02:43.0714900Z","primaryEndpoints":{"dfs":"https://cs110032000919ef7c5.dfs.core.windows.net/","web":"https://cs110032000919ef7c5.z23.web.core.windows.net/","blob":"https://cs110032000919ef7c5.blob.core.windows.net/","queue":"https://cs110032000919ef7c5.queue.core.windows.net/","table":"https://cs110032000919ef7c5.table.core.windows.net/","file":"https://cs110032000919ef7c5.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/cs110032000e1cb9f41","name":"cs110032000e1cb9f41","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-06-01T02:14:02.8985613Z","key2":"2021-06-01T02:14:02.8985613Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-01T02:14:02.9140912Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-01T02:14:02.9140912Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-01T02:14:02.8047066Z","primaryEndpoints":{"dfs":"https://cs110032000e1cb9f41.dfs.core.windows.net/","web":"https://cs110032000e1cb9f41.z23.web.core.windows.net/","blob":"https://cs110032000e1cb9f41.blob.core.windows.net/","queue":"https://cs110032000e1cb9f41.queue.core.windows.net/","table":"https://cs110032000e1cb9f41.table.core.windows.net/","file":"https://cs110032000e1cb9f41.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/cs110032000f3aac891","name":"cs110032000f3aac891","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-10-08T11:18:17.0122606Z","key2":"2021-10-08T11:18:17.0122606Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T11:18:17.0122606Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T11:18:17.0122606Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-08T11:18:16.9184856Z","primaryEndpoints":{"dfs":"https://cs110032000f3aac891.dfs.core.windows.net/","web":"https://cs110032000f3aac891.z23.web.core.windows.net/","blob":"https://cs110032000f3aac891.blob.core.windows.net/","queue":"https://cs110032000f3aac891.queue.core.windows.net/","table":"https://cs110032000f3aac891.table.core.windows.net/","file":"https://cs110032000f3aac891.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/cs1100320010339dce7","name":"cs1100320010339dce7","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-07-01T12:55:31.1442388Z","key2":"2021-07-01T12:55:31.1442388Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-01T12:55:31.1442388Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-01T12:55:31.1442388Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-01T12:55:31.0661165Z","primaryEndpoints":{"dfs":"https://cs1100320010339dce7.dfs.core.windows.net/","web":"https://cs1100320010339dce7.z23.web.core.windows.net/","blob":"https://cs1100320010339dce7.blob.core.windows.net/","queue":"https://cs1100320010339dce7.queue.core.windows.net/","table":"https://cs1100320010339dce7.table.core.windows.net/","file":"https://cs1100320010339dce7.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/cs11003200129e38348","name":"cs11003200129e38348","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-05-24T06:59:16.3135399Z","key2":"2021-05-24T06:59:16.3135399Z"},"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-24T06:59:16.3135399Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-24T06:59:16.3135399Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-24T06:59:16.2198282Z","primaryEndpoints":{"dfs":"https://cs11003200129e38348.dfs.core.windows.net/","web":"https://cs11003200129e38348.z23.web.core.windows.net/","blob":"https://cs11003200129e38348.blob.core.windows.net/","queue":"https://cs11003200129e38348.queue.core.windows.net/","table":"https://cs11003200129e38348.table.core.windows.net/","file":"https://cs11003200129e38348.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/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032001520b2764","name":"cs110032001520b2764","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-09-03T08:56:46.2009376Z","key2":"2021-09-03T08:56:46.2009376Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-03T08:56:46.2009376Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-03T08:56:46.2009376Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-03T08:56:46.1071770Z","primaryEndpoints":{"dfs":"https://cs110032001520b2764.dfs.core.windows.net/","web":"https://cs110032001520b2764.z23.web.core.windows.net/","blob":"https://cs110032001520b2764.blob.core.windows.net/","queue":"https://cs110032001520b2764.queue.core.windows.net/","table":"https://cs110032001520b2764.table.core.windows.net/","file":"https://cs110032001520b2764.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/cs1100320016ac59291","name":"cs1100320016ac59291","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-08-10T06:12:25.7518719Z","key2":"2021-08-10T06:12:25.7518719Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-10T06:12:25.7518719Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-10T06:12:25.7518719Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-10T06:12:25.6581170Z","primaryEndpoints":{"dfs":"https://cs1100320016ac59291.dfs.core.windows.net/","web":"https://cs1100320016ac59291.z23.web.core.windows.net/","blob":"https://cs1100320016ac59291.blob.core.windows.net/","queue":"https://cs1100320016ac59291.queue.core.windows.net/","table":"https://cs1100320016ac59291.table.core.windows.net/","file":"https://cs1100320016ac59291.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/cs1100320018cedbbd6","name":"cs1100320018cedbbd6","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-11-02T06:32:13.4022120Z","key2":"2021-11-02T06:32:13.4022120Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-02T06:32:13.4022120Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-02T06:32:13.4022120Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-02T06:32:13.3084745Z","primaryEndpoints":{"dfs":"https://cs1100320018cedbbd6.dfs.core.windows.net/","web":"https://cs1100320018cedbbd6.z23.web.core.windows.net/","blob":"https://cs1100320018cedbbd6.blob.core.windows.net/","queue":"https://cs1100320018cedbbd6.queue.core.windows.net/","table":"https://cs1100320018cedbbd6.table.core.windows.net/","file":"https://cs1100320018cedbbd6.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-dev/providers/Microsoft.Storage/storageAccounts/jl0927","name":"jl0927","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-09-27T09:22:48.0910647Z","key2":"2021-09-27T09:22:48.0910647Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T09:22:48.0910647Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T09:22:48.0910647Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-27T09:22:47.9973304Z","primaryEndpoints":{"dfs":"https://jl0927.dfs.core.windows.net/","web":"https://jl0927.z23.web.core.windows.net/","blob":"https://jl0927.blob.core.windows.net/","queue":"https://jl0927.queue.core.windows.net/","table":"https://jl0927.table.core.windows.net/","file":"https://jl0927.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/managed-rg-feng-purview/providers/Microsoft.Storage/storageAccounts/scansouthcentralusdteqbx","name":"scansouthcentralusdteqbx","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-23T06:00:34.2251607Z","key2":"2021-09-23T06:00:34.2251607Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-23T06:00:34.2251607Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-23T06:00:34.2251607Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-23T06:00:34.1313540Z","primaryEndpoints":{"dfs":"https://scansouthcentralusdteqbx.dfs.core.windows.net/","web":"https://scansouthcentralusdteqbx.z21.web.core.windows.net/","blob":"https://scansouthcentralusdteqbx.blob.core.windows.net/","queue":"https://scansouthcentralusdteqbx.queue.core.windows.net/","table":"https://scansouthcentralusdteqbx.table.core.windows.net/","file":"https://scansouthcentralusdteqbx.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/managed-rg-fypurview/providers/Microsoft.Storage/storageAccounts/scanwestus2ghwdfbf","name":"scanwestus2ghwdfbf","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-28T03:24:36.3735480Z","key2":"2021-09-28T03:24:36.3735480Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T03:24:36.3891539Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T03:24:36.3891539Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-28T03:24:36.2797988Z","primaryEndpoints":{"dfs":"https://scanwestus2ghwdfbf.dfs.core.windows.net/","web":"https://scanwestus2ghwdfbf.z5.web.core.windows.net/","blob":"https://scanwestus2ghwdfbf.blob.core.windows.net/","queue":"https://scanwestus2ghwdfbf.queue.core.windows.net/","table":"https://scanwestus2ghwdfbf.table.core.windows.net/","file":"https://scanwestus2ghwdfbf.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-file-handle-rg/providers/Microsoft.Storage/storageAccounts/testfilehandlesa","name":"testfilehandlesa","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-11-02T02:22:24.9147695Z","key2":"2021-11-02T02:22:24.9147695Z"},"allowCrossTenantReplication":true,"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-11-02T02:22:24.9147695Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-02T02:22:24.9147695Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-02T02:22:24.8209748Z","primaryEndpoints":{"dfs":"https://testfilehandlesa.dfs.core.windows.net/","web":"https://testfilehandlesa.z5.web.core.windows.net/","blob":"https://testfilehandlesa.blob.core.windows.net/","queue":"https://testfilehandlesa.queue.core.windows.net/","table":"https://testfilehandlesa.table.core.windows.net/","file":"https://testfilehandlesa.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testfilehandlesa-secondary.dfs.core.windows.net/","web":"https://testfilehandlesa-secondary.z5.web.core.windows.net/","blob":"https://testfilehandlesa-secondary.blob.core.windows.net/","queue":"https://testfilehandlesa-secondary.queue.core.windows.net/","table":"https://testfilehandlesa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgk3dgx6acfu6yrvvipseyqbiwldnaohcywhpi65w7jys42kv5gjs2pljpz5o7bsoah/providers/Microsoft.Storage/storageAccounts/clitest3tllg4jqytzq27ejk","name":"clitest3tllg4jqytzq27ejk","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-01T19:36:53.0876733Z","key2":"2021-11-01T19:36:53.0876733Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:36:53.0876733Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:36:53.0876733Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-01T19:36:53.0095332Z","primaryEndpoints":{"dfs":"https://clitest3tllg4jqytzq27ejk.dfs.core.windows.net/","web":"https://clitest3tllg4jqytzq27ejk.z3.web.core.windows.net/","blob":"https://clitest3tllg4jqytzq27ejk.blob.core.windows.net/","queue":"https://clitest3tllg4jqytzq27ejk.queue.core.windows.net/","table":"https://clitest3tllg4jqytzq27ejk.table.core.windows.net/","file":"https://clitest3tllg4jqytzq27ejk.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgllxoprxwjouhrzsd4vrfhqkpy7ft2fwgtiub56wonkmtvsogumww7h36czdisqqxm/providers/Microsoft.Storage/storageAccounts/clitest4slutm4qduocdiy7o","name":"clitest4slutm4qduocdiy7o","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-18T23:17:57.1095774Z","key2":"2021-11-18T23:17:57.1095774Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:17:57.1252046Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:17:57.1252046Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-18T23:17:57.0471042Z","primaryEndpoints":{"dfs":"https://clitest4slutm4qduocdiy7o.dfs.core.windows.net/","web":"https://clitest4slutm4qduocdiy7o.z3.web.core.windows.net/","blob":"https://clitest4slutm4qduocdiy7o.blob.core.windows.net/","queue":"https://clitest4slutm4qduocdiy7o.queue.core.windows.net/","table":"https://clitest4slutm4qduocdiy7o.table.core.windows.net/","file":"https://clitest4slutm4qduocdiy7o.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgkqf4cu665yaejvrvcvhfklfoep7xw2qhgk7q5qkmosqpcdypz6aubtjovadrpefmu/providers/Microsoft.Storage/storageAccounts/clitest4ypv67tuvo34umfu5","name":"clitest4ypv67tuvo34umfu5","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-27T08:37:30.4318022Z","key2":"2021-09-27T08:37:30.4318022Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T08:37:30.4474578Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T08:37:30.4474578Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-27T08:37:30.3536782Z","primaryEndpoints":{"dfs":"https://clitest4ypv67tuvo34umfu5.dfs.core.windows.net/","web":"https://clitest4ypv67tuvo34umfu5.z3.web.core.windows.net/","blob":"https://clitest4ypv67tuvo34umfu5.blob.core.windows.net/","queue":"https://clitest4ypv67tuvo34umfu5.queue.core.windows.net/","table":"https://clitest4ypv67tuvo34umfu5.table.core.windows.net/","file":"https://clitest4ypv67tuvo34umfu5.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgc5jqtmvrtl3o7vxoerxlozv7wigv64wbsa22tgbgkmtqqgw5r6zycdvmm6lsu2hgb/providers/Microsoft.Storage/storageAccounts/clitest63bx2k5whs46xb72f","name":"clitest63bx2k5whs46xb72f","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-29T22:30:48.3706890Z","key2":"2021-10-29T22:30:48.3706890Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:30:48.3706890Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:30:48.3706890Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-29T22:30:48.2925495Z","primaryEndpoints":{"dfs":"https://clitest63bx2k5whs46xb72f.dfs.core.windows.net/","web":"https://clitest63bx2k5whs46xb72f.z3.web.core.windows.net/","blob":"https://clitest63bx2k5whs46xb72f.blob.core.windows.net/","queue":"https://clitest63bx2k5whs46xb72f.queue.core.windows.net/","table":"https://clitest63bx2k5whs46xb72f.table.core.windows.net/","file":"https://clitest63bx2k5whs46xb72f.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgefj7prpkkfwowsohocdcgln4afkr36ayb7msfujq5xbxbhzxt6nl6226d6wpfd2v6/providers/Microsoft.Storage/storageAccounts/clitestajyrm6yrgbf4c5i2s","name":"clitestajyrm6yrgbf4c5i2s","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T05:36:26.5400357Z","key2":"2021-09-26T05:36:26.5400357Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:36:26.5400357Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:36:26.5400357Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T05:36:26.4619069Z","primaryEndpoints":{"dfs":"https://clitestajyrm6yrgbf4c5i2s.dfs.core.windows.net/","web":"https://clitestajyrm6yrgbf4c5i2s.z3.web.core.windows.net/","blob":"https://clitestajyrm6yrgbf4c5i2s.blob.core.windows.net/","queue":"https://clitestajyrm6yrgbf4c5i2s.queue.core.windows.net/","table":"https://clitestajyrm6yrgbf4c5i2s.table.core.windows.net/","file":"https://clitestajyrm6yrgbf4c5i2s.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rglbpqpmgzjcfuaz4feleprn435rcjy72gfcclbzlno6zqjglg4vmjeekjfwp5ftczi/providers/Microsoft.Storage/storageAccounts/clitestbokalj4mocrwa4z32","name":"clitestbokalj4mocrwa4z32","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-29T22:30:16.8234389Z","key2":"2021-10-29T22:30:16.8234389Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:30:16.8234389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:30:16.8234389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-29T22:30:16.7453107Z","primaryEndpoints":{"dfs":"https://clitestbokalj4mocrwa4z32.dfs.core.windows.net/","web":"https://clitestbokalj4mocrwa4z32.z3.web.core.windows.net/","blob":"https://clitestbokalj4mocrwa4z32.blob.core.windows.net/","queue":"https://clitestbokalj4mocrwa4z32.queue.core.windows.net/","table":"https://clitestbokalj4mocrwa4z32.table.core.windows.net/","file":"https://clitestbokalj4mocrwa4z32.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqqra7wllrqyeeka3jdtjjyjmqgvnwxpupwgn7gbi2vj2uiakni76ibediq2ngx2zs/providers/Microsoft.Storage/storageAccounts/clitestem4u2qtb7reiye6va","name":"clitestem4u2qtb7reiye6va","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T23:37:04.0767855Z","key2":"2021-10-22T23:37:04.0767855Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:37:04.0767855Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:37:04.0767855Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T23:37:04.0142815Z","primaryEndpoints":{"dfs":"https://clitestem4u2qtb7reiye6va.dfs.core.windows.net/","web":"https://clitestem4u2qtb7reiye6va.z3.web.core.windows.net/","blob":"https://clitestem4u2qtb7reiye6va.blob.core.windows.net/","queue":"https://clitestem4u2qtb7reiye6va.queue.core.windows.net/","table":"https://clitestem4u2qtb7reiye6va.table.core.windows.net/","file":"https://clitestem4u2qtb7reiye6va.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgorreyhcvnrewddhwjxfruu4jhexosk74hcq54o7pql6oiom4dhg4p45g6pwbrngfk/providers/Microsoft.Storage/storageAccounts/clitesterbttochhqmi5enzk","name":"clitesterbttochhqmi5enzk","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T15:56:16.9200018Z","key2":"2021-10-22T15:56:16.9200018Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T15:56:16.9200018Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T15:56:16.9200018Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T15:56:16.8575242Z","primaryEndpoints":{"dfs":"https://clitesterbttochhqmi5enzk.dfs.core.windows.net/","web":"https://clitesterbttochhqmi5enzk.z3.web.core.windows.net/","blob":"https://clitesterbttochhqmi5enzk.blob.core.windows.net/","queue":"https://clitesterbttochhqmi5enzk.queue.core.windows.net/","table":"https://clitesterbttochhqmi5enzk.table.core.windows.net/","file":"https://clitesterbttochhqmi5enzk.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzqoxctlppqseceswyeq36zau2eysrbugzmir6vxpsztoivt4atecrszzqgzpvjalj/providers/Microsoft.Storage/storageAccounts/clitestexazhooj6txsp4bif","name":"clitestexazhooj6txsp4bif","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T06:28:55.7862697Z","key2":"2021-09-26T06:28:55.7862697Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:28:55.8018954Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:28:55.8018954Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T06:28:55.7237634Z","primaryEndpoints":{"dfs":"https://clitestexazhooj6txsp4bif.dfs.core.windows.net/","web":"https://clitestexazhooj6txsp4bif.z3.web.core.windows.net/","blob":"https://clitestexazhooj6txsp4bif.blob.core.windows.net/","queue":"https://clitestexazhooj6txsp4bif.queue.core.windows.net/","table":"https://clitestexazhooj6txsp4bif.table.core.windows.net/","file":"https://clitestexazhooj6txsp4bif.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmwn5njjtr3wry7duhuccs6h5oxxiw2rhcfdlewmqw56fo3qehaoqulk5ktmyahglf/providers/Microsoft.Storage/storageAccounts/clitestfnjxc5idgmeluoxtm","name":"clitestfnjxc5idgmeluoxtm","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-27T08:40:43.7468930Z","key2":"2021-09-27T08:40:43.7468930Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T08:40:43.7625432Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T08:40:43.7625432Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-27T08:40:43.6688132Z","primaryEndpoints":{"dfs":"https://clitestfnjxc5idgmeluoxtm.dfs.core.windows.net/","web":"https://clitestfnjxc5idgmeluoxtm.z3.web.core.windows.net/","blob":"https://clitestfnjxc5idgmeluoxtm.blob.core.windows.net/","queue":"https://clitestfnjxc5idgmeluoxtm.queue.core.windows.net/","table":"https://clitestfnjxc5idgmeluoxtm.table.core.windows.net/","file":"https://clitestfnjxc5idgmeluoxtm.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg4bazn4hnlcnsaasp63k6nvrlmtkyo7dqcjkyopsehticnihafl57ntorbz7ixqwos/providers/Microsoft.Storage/storageAccounts/clitestgnremsz2uxbgdy6uo","name":"clitestgnremsz2uxbgdy6uo","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-05T08:33:08.0149596Z","key2":"2021-11-05T08:33:08.0149596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:33:08.0305829Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:33:08.0305829Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-05T08:33:07.9368092Z","primaryEndpoints":{"dfs":"https://clitestgnremsz2uxbgdy6uo.dfs.core.windows.net/","web":"https://clitestgnremsz2uxbgdy6uo.z3.web.core.windows.net/","blob":"https://clitestgnremsz2uxbgdy6uo.blob.core.windows.net/","queue":"https://clitestgnremsz2uxbgdy6uo.queue.core.windows.net/","table":"https://clitestgnremsz2uxbgdy6uo.table.core.windows.net/","file":"https://clitestgnremsz2uxbgdy6uo.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgn2hrmou3vupc7hxv534r6ythn2qz6v45svfb666d75bigid4v562yvcrcu3zvopvd/providers/Microsoft.Storage/storageAccounts/clitesthn6lf7bmqfq4lihgr","name":"clitesthn6lf7bmqfq4lihgr","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T23:36:25.4655609Z","key2":"2021-10-22T23:36:25.4655609Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:36:25.4655609Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:36:25.4655609Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T23:36:25.4186532Z","primaryEndpoints":{"dfs":"https://clitesthn6lf7bmqfq4lihgr.dfs.core.windows.net/","web":"https://clitesthn6lf7bmqfq4lihgr.z3.web.core.windows.net/","blob":"https://clitesthn6lf7bmqfq4lihgr.blob.core.windows.net/","queue":"https://clitesthn6lf7bmqfq4lihgr.queue.core.windows.net/","table":"https://clitesthn6lf7bmqfq4lihgr.table.core.windows.net/","file":"https://clitesthn6lf7bmqfq4lihgr.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggyyky3pdv7kfgca2zw6tt2uuyakcfh4mhe5jv652ywkhjplo2g3hkpg5l5vlzmscx/providers/Microsoft.Storage/storageAccounts/clitestlrazz3fr4p7ma2aqu","name":"clitestlrazz3fr4p7ma2aqu","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T06:26:22.0140081Z","key2":"2021-09-26T06:26:22.0140081Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:26:22.0140081Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:26:22.0140081Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T06:26:21.9514992Z","primaryEndpoints":{"dfs":"https://clitestlrazz3fr4p7ma2aqu.dfs.core.windows.net/","web":"https://clitestlrazz3fr4p7ma2aqu.z3.web.core.windows.net/","blob":"https://clitestlrazz3fr4p7ma2aqu.blob.core.windows.net/","queue":"https://clitestlrazz3fr4p7ma2aqu.queue.core.windows.net/","table":"https://clitestlrazz3fr4p7ma2aqu.table.core.windows.net/","file":"https://clitestlrazz3fr4p7ma2aqu.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgibc6w6pt2cu4nkppzr7rhgsrli5jhaumxaexydrvzpemxhixixcac5un3lkhugutn/providers/Microsoft.Storage/storageAccounts/clitestm3o7urdechvnvggxa","name":"clitestm3o7urdechvnvggxa","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-04T22:04:25.7055241Z","key2":"2021-11-04T22:04:25.7055241Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:04:25.7055241Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:04:25.7055241Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-04T22:04:25.6274146Z","primaryEndpoints":{"dfs":"https://clitestm3o7urdechvnvggxa.dfs.core.windows.net/","web":"https://clitestm3o7urdechvnvggxa.z3.web.core.windows.net/","blob":"https://clitestm3o7urdechvnvggxa.blob.core.windows.net/","queue":"https://clitestm3o7urdechvnvggxa.queue.core.windows.net/","table":"https://clitestm3o7urdechvnvggxa.table.core.windows.net/","file":"https://clitestm3o7urdechvnvggxa.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgczn4zs5qjkhszwlrkz6fnvc3mysoovo6vsvis53flbw3gcbfqpwmfuwtqzw5pewbu/providers/Microsoft.Storage/storageAccounts/clitestmm22sas2jwf6b2ers","name":"clitestmm22sas2jwf6b2ers","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-04T22:05:15.5981807Z","key2":"2021-11-04T22:05:15.5981807Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:05:15.5981807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:05:15.5981807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-04T22:05:15.5200800Z","primaryEndpoints":{"dfs":"https://clitestmm22sas2jwf6b2ers.dfs.core.windows.net/","web":"https://clitestmm22sas2jwf6b2ers.z3.web.core.windows.net/","blob":"https://clitestmm22sas2jwf6b2ers.blob.core.windows.net/","queue":"https://clitestmm22sas2jwf6b2ers.queue.core.windows.net/","table":"https://clitestmm22sas2jwf6b2ers.table.core.windows.net/","file":"https://clitestmm22sas2jwf6b2ers.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgihpamtetsioehvqhcaizytambbwjq2a4so6iz734ejm7u6prta4pxwcc2gyhhaxqf/providers/Microsoft.Storage/storageAccounts/clitestmyjybsngqmztsnzyt","name":"clitestmyjybsngqmztsnzyt","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T05:30:18.6096170Z","key2":"2021-09-26T05:30:18.6096170Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:30:18.6096170Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:30:18.6096170Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T05:30:18.5314899Z","primaryEndpoints":{"dfs":"https://clitestmyjybsngqmztsnzyt.dfs.core.windows.net/","web":"https://clitestmyjybsngqmztsnzyt.z3.web.core.windows.net/","blob":"https://clitestmyjybsngqmztsnzyt.blob.core.windows.net/","queue":"https://clitestmyjybsngqmztsnzyt.queue.core.windows.net/","table":"https://clitestmyjybsngqmztsnzyt.table.core.windows.net/","file":"https://clitestmyjybsngqmztsnzyt.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbksbwoy7iftsvok2gu7el6jq32a53l75d3amp4qff74lwqen6nypkv2vsy5qpvdx6/providers/Microsoft.Storage/storageAccounts/clitestnx46jh36sfhiun4zr","name":"clitestnx46jh36sfhiun4zr","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T06:46:06.0337216Z","key2":"2021-09-26T06:46:06.0337216Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:46:06.0337216Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:46:06.0337216Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T06:46:05.9555808Z","primaryEndpoints":{"dfs":"https://clitestnx46jh36sfhiun4zr.dfs.core.windows.net/","web":"https://clitestnx46jh36sfhiun4zr.z3.web.core.windows.net/","blob":"https://clitestnx46jh36sfhiun4zr.blob.core.windows.net/","queue":"https://clitestnx46jh36sfhiun4zr.queue.core.windows.net/","table":"https://clitestnx46jh36sfhiun4zr.table.core.windows.net/","file":"https://clitestnx46jh36sfhiun4zr.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg33fo62u6qo54y4oh6ubodzg5drtpqjvfeaxkl7eqcioetepluk6x6j2y26gadsnlb/providers/Microsoft.Storage/storageAccounts/clitestnyptbvai7mjrv4d36","name":"clitestnyptbvai7mjrv4d36","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T06:38:37.8872316Z","key2":"2021-09-26T06:38:37.8872316Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:38:37.8872316Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:38:37.8872316Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T06:38:37.8247073Z","primaryEndpoints":{"dfs":"https://clitestnyptbvai7mjrv4d36.dfs.core.windows.net/","web":"https://clitestnyptbvai7mjrv4d36.z3.web.core.windows.net/","blob":"https://clitestnyptbvai7mjrv4d36.blob.core.windows.net/","queue":"https://clitestnyptbvai7mjrv4d36.queue.core.windows.net/","table":"https://clitestnyptbvai7mjrv4d36.table.core.windows.net/","file":"https://clitestnyptbvai7mjrv4d36.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgz5kpio6nxhll6ltpr5lf3p24xooufmmwyrk7tly3gjfj5vufntfmsdkla7o54pioa/providers/Microsoft.Storage/storageAccounts/clitestu5zychblljh7h4sbq","name":"clitestu5zychblljh7h4sbq","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-01T19:37:27.6814745Z","key2":"2021-11-01T19:37:27.6814745Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:37:27.6814745Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:37:27.6814745Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-01T19:37:27.6033732Z","primaryEndpoints":{"dfs":"https://clitestu5zychblljh7h4sbq.dfs.core.windows.net/","web":"https://clitestu5zychblljh7h4sbq.z3.web.core.windows.net/","blob":"https://clitestu5zychblljh7h4sbq.blob.core.windows.net/","queue":"https://clitestu5zychblljh7h4sbq.queue.core.windows.net/","table":"https://clitestu5zychblljh7h4sbq.table.core.windows.net/","file":"https://clitestu5zychblljh7h4sbq.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgk2r4n3w2kq5eqbdmscwkh6ss3jxr6cjmu237f6ei6q5e6svdpfhq6y4ogqfkkyhof/providers/Microsoft.Storage/storageAccounts/clitestue6lbut2twc5n7mpo","name":"clitestue6lbut2twc5n7mpo","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-11T22:08:44.1147576Z","key2":"2021-11-11T22:08:44.1147576Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:08:44.1303296Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:08:44.1303296Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-11T22:08:44.0366031Z","primaryEndpoints":{"dfs":"https://clitestue6lbut2twc5n7mpo.dfs.core.windows.net/","web":"https://clitestue6lbut2twc5n7mpo.z3.web.core.windows.net/","blob":"https://clitestue6lbut2twc5n7mpo.blob.core.windows.net/","queue":"https://clitestue6lbut2twc5n7mpo.queue.core.windows.net/","table":"https://clitestue6lbut2twc5n7mpo.table.core.windows.net/","file":"https://clitestue6lbut2twc5n7mpo.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgkkh2eiycmh36lbpz6ceh7v2igu55ldcqfqf2gkkkaw5z2wtn25oaqo34wakzal3em/providers/Microsoft.Storage/storageAccounts/clitesturqfulbf5h2yjtmxd","name":"clitesturqfulbf5h2yjtmxd","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-18T23:18:54.1881027Z","key2":"2021-11-18T23:18:54.1881027Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:18:54.1881027Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:18:54.1881027Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-18T23:18:54.1099855Z","primaryEndpoints":{"dfs":"https://clitesturqfulbf5h2yjtmxd.dfs.core.windows.net/","web":"https://clitesturqfulbf5h2yjtmxd.z3.web.core.windows.net/","blob":"https://clitesturqfulbf5h2yjtmxd.blob.core.windows.net/","queue":"https://clitesturqfulbf5h2yjtmxd.queue.core.windows.net/","table":"https://clitesturqfulbf5h2yjtmxd.table.core.windows.net/","file":"https://clitesturqfulbf5h2yjtmxd.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmqfhye7lux2fp7jf2f63xt6n57sdnfoszmxotiwxyiy7vx7qzk45pp3nactebmfqj/providers/Microsoft.Storage/storageAccounts/clitestvfxf46hn27hcogcfa","name":"clitestvfxf46hn27hcogcfa","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-05T08:33:04.9679670Z","key2":"2021-11-05T08:33:04.9679670Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:33:04.9835769Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:33:04.9835769Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-05T08:33:04.8898629Z","primaryEndpoints":{"dfs":"https://clitestvfxf46hn27hcogcfa.dfs.core.windows.net/","web":"https://clitestvfxf46hn27hcogcfa.z3.web.core.windows.net/","blob":"https://clitestvfxf46hn27hcogcfa.blob.core.windows.net/","queue":"https://clitestvfxf46hn27hcogcfa.queue.core.windows.net/","table":"https://clitestvfxf46hn27hcogcfa.table.core.windows.net/","file":"https://clitestvfxf46hn27hcogcfa.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rglqgc5xdku5ojvlcdmxmxwx4otzrvmtvwkizs74vqyuovzqgtxbocao3wxuey3ckyg/providers/Microsoft.Storage/storageAccounts/clitestvkt5uhqkknoz4z2ps","name":"clitestvkt5uhqkknoz4z2ps","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T15:56:12.2012021Z","key2":"2021-10-22T15:56:12.2012021Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T15:56:12.2012021Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T15:56:12.2012021Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T15:56:12.1387094Z","primaryEndpoints":{"dfs":"https://clitestvkt5uhqkknoz4z2ps.dfs.core.windows.net/","web":"https://clitestvkt5uhqkknoz4z2ps.z3.web.core.windows.net/","blob":"https://clitestvkt5uhqkknoz4z2ps.blob.core.windows.net/","queue":"https://clitestvkt5uhqkknoz4z2ps.queue.core.windows.net/","table":"https://clitestvkt5uhqkknoz4z2ps.table.core.windows.net/","file":"https://clitestvkt5uhqkknoz4z2ps.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgk76ijui24h7q2foey6svr7yhnhb6tcuioxiiic7pto4b7aye52xazbtphpkn4igdg/providers/Microsoft.Storage/storageAccounts/clitestwii2xus2tgji433nh","name":"clitestwii2xus2tgji433nh","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-11T22:07:45.0812213Z","key2":"2021-11-11T22:07:45.0812213Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:07:45.0812213Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:07:45.0812213Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-11T22:07:45.0031142Z","primaryEndpoints":{"dfs":"https://clitestwii2xus2tgji433nh.dfs.core.windows.net/","web":"https://clitestwii2xus2tgji433nh.z3.web.core.windows.net/","blob":"https://clitestwii2xus2tgji433nh.blob.core.windows.net/","queue":"https://clitestwii2xus2tgji433nh.queue.core.windows.net/","table":"https://clitestwii2xus2tgji433nh.table.core.windows.net/","file":"https://clitestwii2xus2tgji433nh.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgug2zs2ll3cqv3r5gw6yql5lexqi72ktubc4ozqz6g62yykofs5s6dzfutvlzwdfzd/providers/Microsoft.Storage/storageAccounts/clitestyrqe5rlxui5rawuhk","name":"clitestyrqe5rlxui5rawuhk","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T05:51:29.8791272Z","key2":"2021-09-26T05:51:29.8791272Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:51:29.8791272Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:51:29.8791272Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T05:51:29.8009981Z","primaryEndpoints":{"dfs":"https://clitestyrqe5rlxui5rawuhk.dfs.core.windows.net/","web":"https://clitestyrqe5rlxui5rawuhk.z3.web.core.windows.net/","blob":"https://clitestyrqe5rlxui5rawuhk.blob.core.windows.net/","queue":"https://clitestyrqe5rlxui5rawuhk.queue.core.windows.net/","table":"https://clitestyrqe5rlxui5rawuhk.table.core.windows.net/","file":"https://clitestyrqe5rlxui5rawuhk.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhiyihuang-rg-euap-east/providers/Microsoft.Storage/storageAccounts/zhiyihuangsaeuapeast","name":"zhiyihuangsaeuapeast","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-09-24T06:56:08.6084736Z","key2":"2021-09-24T06:56:08.6084736Z"},"allowCrossTenantReplication":true,"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-09-24T06:56:08.6084736Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-24T06:56:08.6084736Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-24T06:56:08.5303617Z","primaryEndpoints":{"dfs":"https://zhiyihuangsaeuapeast.dfs.core.windows.net/","web":"https://zhiyihuangsaeuapeast.z3.web.core.windows.net/","blob":"https://zhiyihuangsaeuapeast.blob.core.windows.net/","queue":"https://zhiyihuangsaeuapeast.queue.core.windows.net/","table":"https://zhiyihuangsaeuapeast.table.core.windows.net/","file":"https://zhiyihuangsaeuapeast.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhiyihuangsaeuapeast-secondary.dfs.core.windows.net/","web":"https://zhiyihuangsaeuapeast-secondary.z3.web.core.windows.net/","blob":"https://zhiyihuangsaeuapeast-secondary.blob.core.windows.net/","queue":"https://zhiyihuangsaeuapeast-secondary.queue.core.windows.net/","table":"https://zhiyihuangsaeuapeast-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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:39:14.4593875Z","key2":"2021-11-22T08:39:14.4593875Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":true,"isSftpEnabled":true,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:39:14.3812169Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z2.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest47xrljy3nijo3qd5vzsdilpqy5gmhc6vhrxdt4iznh6uaopskftgp4scam2w7drpot4l/providers/Microsoft.Storage/storageAccounts/clitest23zhehg2ug7pzcmmt","name":"clitest23zhehg2ug7pzcmmt","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T23:52:09.9267277Z","key2":"2021-10-22T23:52:09.9267277Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:52:09.9267277Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:52:09.9267277Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T23:52:09.8486094Z","primaryEndpoints":{"dfs":"https://clitest23zhehg2ug7pzcmmt.dfs.core.windows.net/","web":"https://clitest23zhehg2ug7pzcmmt.z2.web.core.windows.net/","blob":"https://clitest23zhehg2ug7pzcmmt.blob.core.windows.net/","queue":"https://clitest23zhehg2ug7pzcmmt.queue.core.windows.net/","table":"https://clitest23zhehg2ug7pzcmmt.table.core.windows.net/","file":"https://clitest23zhehg2ug7pzcmmt.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestuh33sdgq6xqrgmv2evfqsj7s5elfu75j425duypsq3ykwiqywcsbk7k5hm2dn6dhx3ga/providers/Microsoft.Storage/storageAccounts/clitest2dpu5cejmyr6o6fy4","name":"clitest2dpu5cejmyr6o6fy4","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-13T01:03:47.8707679Z","key2":"2021-08-13T01:03:47.8707679Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-13T01:03:47.8707679Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-13T01:03:47.8707679Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-13T01:03:47.8082686Z","primaryEndpoints":{"dfs":"https://clitest2dpu5cejmyr6o6fy4.dfs.core.windows.net/","web":"https://clitest2dpu5cejmyr6o6fy4.z2.web.core.windows.net/","blob":"https://clitest2dpu5cejmyr6o6fy4.blob.core.windows.net/","queue":"https://clitest2dpu5cejmyr6o6fy4.queue.core.windows.net/","table":"https://clitest2dpu5cejmyr6o6fy4.table.core.windows.net/","file":"https://clitest2dpu5cejmyr6o6fy4.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestrl6kiw7ux2j73xj2v7cbet4byjrmn5uenrcnz6qfu5oxpvxtkkik2djcxys4gcpfrgr4/providers/Microsoft.Storage/storageAccounts/clitest2hc2cek5kg4wbcqwa","name":"clitest2hc2cek5kg4wbcqwa","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-18T09:03:47.2900270Z","key2":"2021-06-18T09:03:47.2900270Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-18T09:03:47.2950283Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-18T09:03:47.2950283Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-18T09:03:47.2400033Z","primaryEndpoints":{"dfs":"https://clitest2hc2cek5kg4wbcqwa.dfs.core.windows.net/","web":"https://clitest2hc2cek5kg4wbcqwa.z2.web.core.windows.net/","blob":"https://clitest2hc2cek5kg4wbcqwa.blob.core.windows.net/","queue":"https://clitest2hc2cek5kg4wbcqwa.queue.core.windows.net/","table":"https://clitest2hc2cek5kg4wbcqwa.table.core.windows.net/","file":"https://clitest2hc2cek5kg4wbcqwa.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestcwbyb7elcliee36ry67adfa656263s5nl2c67it2o2pjr3wrh5mwmg3ocygfxjou3vxa/providers/Microsoft.Storage/storageAccounts/clitest2wy5mqj7vog4cn65p","name":"clitest2wy5mqj7vog4cn65p","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T16:12:01.9361563Z","key2":"2021-10-22T16:12:01.9361563Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T16:12:01.9361563Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T16:12:01.9361563Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T16:12:01.8580265Z","primaryEndpoints":{"dfs":"https://clitest2wy5mqj7vog4cn65p.dfs.core.windows.net/","web":"https://clitest2wy5mqj7vog4cn65p.z2.web.core.windows.net/","blob":"https://clitest2wy5mqj7vog4cn65p.blob.core.windows.net/","queue":"https://clitest2wy5mqj7vog4cn65p.queue.core.windows.net/","table":"https://clitest2wy5mqj7vog4cn65p.table.core.windows.net/","file":"https://clitest2wy5mqj7vog4cn65p.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesto72ftnrt7hfn5ltlqnh34e5cjvdyfwj4ny5d7yebu4imldxsoizqp5cazyouoms7ev6j/providers/Microsoft.Storage/storageAccounts/clitest4suuy3hvssqi2u3px","name":"clitest4suuy3hvssqi2u3px","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-11T22:23:05.8954115Z","key2":"2021-11-11T22:23:05.8954115Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:23:05.9110345Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:23:05.9110345Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-11T22:23:05.8172663Z","primaryEndpoints":{"dfs":"https://clitest4suuy3hvssqi2u3px.dfs.core.windows.net/","web":"https://clitest4suuy3hvssqi2u3px.z2.web.core.windows.net/","blob":"https://clitest4suuy3hvssqi2u3px.blob.core.windows.net/","queue":"https://clitest4suuy3hvssqi2u3px.queue.core.windows.net/","table":"https://clitest4suuy3hvssqi2u3px.table.core.windows.net/","file":"https://clitest4suuy3hvssqi2u3px.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlg5ebdqcv52sflwjoqlwhicwckgl6uznufjdep6cezb52lt73nagcohr2yn5s2pjkddl/providers/Microsoft.Storage/storageAccounts/clitest6vxkrzgloyre3jqjs","name":"clitest6vxkrzgloyre3jqjs","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-07-23T03:10:29.4846667Z","key2":"2021-07-23T03:10:29.4846667Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-23T03:10:29.5002574Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-23T03:10:29.5002574Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-23T03:10:29.4377939Z","primaryEndpoints":{"dfs":"https://clitest6vxkrzgloyre3jqjs.dfs.core.windows.net/","web":"https://clitest6vxkrzgloyre3jqjs.z2.web.core.windows.net/","blob":"https://clitest6vxkrzgloyre3jqjs.blob.core.windows.net/","queue":"https://clitest6vxkrzgloyre3jqjs.queue.core.windows.net/","table":"https://clitest6vxkrzgloyre3jqjs.table.core.windows.net/","file":"https://clitest6vxkrzgloyre3jqjs.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestmrngm5xnqzkfc35bpac2frhloyp5bhqs3bkzmzzsk4uxhhc5g5bilsacnxbfmtzgwe2j/providers/Microsoft.Storage/storageAccounts/clitest7bnb7msut4cjgzpbr","name":"clitest7bnb7msut4cjgzpbr","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-29T22:46:56.7491572Z","key2":"2021-10-29T22:46:56.7491572Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:46:56.7491572Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:46:56.7491572Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-29T22:46:56.6866372Z","primaryEndpoints":{"dfs":"https://clitest7bnb7msut4cjgzpbr.dfs.core.windows.net/","web":"https://clitest7bnb7msut4cjgzpbr.z2.web.core.windows.net/","blob":"https://clitest7bnb7msut4cjgzpbr.blob.core.windows.net/","queue":"https://clitest7bnb7msut4cjgzpbr.queue.core.windows.net/","table":"https://clitest7bnb7msut4cjgzpbr.table.core.windows.net/","file":"https://clitest7bnb7msut4cjgzpbr.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestfwybg5aqnlewkvelizobsdyy6zocpnnltod4k5d6l62rlz3wfkmdpz7fcw3xbvo45lad/providers/Microsoft.Storage/storageAccounts/clitestdk7kvmf5lss5lltse","name":"clitestdk7kvmf5lss5lltse","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-21T03:24:22.5335528Z","key2":"2021-06-21T03:24:22.5335528Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-21T03:24:22.5335528Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-21T03:24:22.5335528Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-21T03:24:22.4635745Z","primaryEndpoints":{"dfs":"https://clitestdk7kvmf5lss5lltse.dfs.core.windows.net/","web":"https://clitestdk7kvmf5lss5lltse.z2.web.core.windows.net/","blob":"https://clitestdk7kvmf5lss5lltse.blob.core.windows.net/","queue":"https://clitestdk7kvmf5lss5lltse.queue.core.windows.net/","table":"https://clitestdk7kvmf5lss5lltse.table.core.windows.net/","file":"https://clitestdk7kvmf5lss5lltse.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestaplqr3c25xdddlwukirxixwo5byw5rkls3kr5fo66qoamflxrkjhxpt27enj7wmk2yuj/providers/Microsoft.Storage/storageAccounts/clitestfbytzu7syzfrmr7kf","name":"clitestfbytzu7syzfrmr7kf","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-04T22:22:45.3374456Z","key2":"2021-11-04T22:22:45.3374456Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:22:45.3374456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:22:45.3374456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-04T22:22:45.2593440Z","primaryEndpoints":{"dfs":"https://clitestfbytzu7syzfrmr7kf.dfs.core.windows.net/","web":"https://clitestfbytzu7syzfrmr7kf.z2.web.core.windows.net/","blob":"https://clitestfbytzu7syzfrmr7kf.blob.core.windows.net/","queue":"https://clitestfbytzu7syzfrmr7kf.queue.core.windows.net/","table":"https://clitestfbytzu7syzfrmr7kf.table.core.windows.net/","file":"https://clitestfbytzu7syzfrmr7kf.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestkmydtxqqwqds5d67vdbrwtk32xdryjsxq6fp74nse75bdhdla7mh47b6myevefnapwyx/providers/Microsoft.Storage/storageAccounts/clitestgqwsejh46zuqlc5pm","name":"clitestgqwsejh46zuqlc5pm","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-06T05:27:12.7993484Z","key2":"2021-08-06T05:27:12.7993484Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-06T05:27:12.8149753Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-06T05:27:12.8149753Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-06T05:27:12.7368799Z","primaryEndpoints":{"dfs":"https://clitestgqwsejh46zuqlc5pm.dfs.core.windows.net/","web":"https://clitestgqwsejh46zuqlc5pm.z2.web.core.windows.net/","blob":"https://clitestgqwsejh46zuqlc5pm.blob.core.windows.net/","queue":"https://clitestgqwsejh46zuqlc5pm.queue.core.windows.net/","table":"https://clitestgqwsejh46zuqlc5pm.table.core.windows.net/","file":"https://clitestgqwsejh46zuqlc5pm.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestndsnnd5ibnsjkzl7w5mbaujjmelonc2xjmyrd325iiwno27u6sxcxkewjeox2x2wr633/providers/Microsoft.Storage/storageAccounts/clitestgz6nb4it72a36mdpt","name":"clitestgz6nb4it72a36mdpt","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-20T02:02:00.4577106Z","key2":"2021-08-20T02:02:00.4577106Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-20T02:02:00.4577106Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-20T02:02:00.4577106Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-20T02:02:00.3952449Z","primaryEndpoints":{"dfs":"https://clitestgz6nb4it72a36mdpt.dfs.core.windows.net/","web":"https://clitestgz6nb4it72a36mdpt.z2.web.core.windows.net/","blob":"https://clitestgz6nb4it72a36mdpt.blob.core.windows.net/","queue":"https://clitestgz6nb4it72a36mdpt.queue.core.windows.net/","table":"https://clitestgz6nb4it72a36mdpt.table.core.windows.net/","file":"https://clitestgz6nb4it72a36mdpt.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestsc4q5ncei7qimmmmtqmedt4valwfif74bbu7mdfwqimzfzfkopwgrmua7p4rcsga53m4/providers/Microsoft.Storage/storageAccounts/clitestlssboc5vg5mdivn4h","name":"clitestlssboc5vg5mdivn4h","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-18T08:34:36.9887468Z","key2":"2021-06-18T08:34:36.9887468Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-18T08:34:36.9937445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-18T08:34:36.9937445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-18T08:34:36.9237913Z","primaryEndpoints":{"dfs":"https://clitestlssboc5vg5mdivn4h.dfs.core.windows.net/","web":"https://clitestlssboc5vg5mdivn4h.z2.web.core.windows.net/","blob":"https://clitestlssboc5vg5mdivn4h.blob.core.windows.net/","queue":"https://clitestlssboc5vg5mdivn4h.queue.core.windows.net/","table":"https://clitestlssboc5vg5mdivn4h.table.core.windows.net/","file":"https://clitestlssboc5vg5mdivn4h.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest5yatgcl7dfear3v3e5d5hrqbpo5bdotmwoq7auiuykmzx74is6rzhkib56ajwf5ghxrk/providers/Microsoft.Storage/storageAccounts/clitestlzfflnot5wnc3y4j3","name":"clitestlzfflnot5wnc3y4j3","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-28T02:21:02.0736425Z","key2":"2021-09-28T02:21:02.0736425Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T02:21:02.0736425Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T02:21:02.0736425Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-28T02:21:02.0267640Z","primaryEndpoints":{"dfs":"https://clitestlzfflnot5wnc3y4j3.dfs.core.windows.net/","web":"https://clitestlzfflnot5wnc3y4j3.z2.web.core.windows.net/","blob":"https://clitestlzfflnot5wnc3y4j3.blob.core.windows.net/","queue":"https://clitestlzfflnot5wnc3y4j3.queue.core.windows.net/","table":"https://clitestlzfflnot5wnc3y4j3.table.core.windows.net/","file":"https://clitestlzfflnot5wnc3y4j3.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestjkw7fpanpscpileddbqrrrkjrtb5xi47wmvttkiqwsqcuo3ldvzszwso3x4c5apy6m5o/providers/Microsoft.Storage/storageAccounts/clitestm6u3xawj3qsydpfam","name":"clitestm6u3xawj3qsydpfam","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T07:13:03.1496586Z","key2":"2021-09-07T07:13:03.1496586Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T07:13:03.1496586Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T07:13:03.1496586Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T07:13:03.0714932Z","primaryEndpoints":{"dfs":"https://clitestm6u3xawj3qsydpfam.dfs.core.windows.net/","web":"https://clitestm6u3xawj3qsydpfam.z2.web.core.windows.net/","blob":"https://clitestm6u3xawj3qsydpfam.blob.core.windows.net/","queue":"https://clitestm6u3xawj3qsydpfam.queue.core.windows.net/","table":"https://clitestm6u3xawj3qsydpfam.table.core.windows.net/","file":"https://clitestm6u3xawj3qsydpfam.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestvabzmquoslc3mtf5h3qd7dglwx45me4yxyefaw4ktsf7fbc3bx2tl75tdn5eqbgd3atx/providers/Microsoft.Storage/storageAccounts/clitestq7ur4vdqkjvy2rdgj","name":"clitestq7ur4vdqkjvy2rdgj","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-28T02:27:14.4071914Z","key2":"2021-09-28T02:27:14.4071914Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T02:27:14.4071914Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T02:27:14.4071914Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-28T02:27:14.3446978Z","primaryEndpoints":{"dfs":"https://clitestq7ur4vdqkjvy2rdgj.dfs.core.windows.net/","web":"https://clitestq7ur4vdqkjvy2rdgj.z2.web.core.windows.net/","blob":"https://clitestq7ur4vdqkjvy2rdgj.blob.core.windows.net/","queue":"https://clitestq7ur4vdqkjvy2rdgj.queue.core.windows.net/","table":"https://clitestq7ur4vdqkjvy2rdgj.table.core.windows.net/","file":"https://clitestq7ur4vdqkjvy2rdgj.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestugd6g2jxyo5mu6uxhc4zea4ygi2iuubouzxmdyuz6srnvrbwlidbvuu4qdieuwg4xlsr/providers/Microsoft.Storage/storageAccounts/clitestqorauf75d5yqkhdhc","name":"clitestqorauf75d5yqkhdhc","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-03T02:52:09.6342752Z","key2":"2021-09-03T02:52:09.6342752Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-03T02:52:09.6342752Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-03T02:52:09.6342752Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-03T02:52:09.5561638Z","primaryEndpoints":{"dfs":"https://clitestqorauf75d5yqkhdhc.dfs.core.windows.net/","web":"https://clitestqorauf75d5yqkhdhc.z2.web.core.windows.net/","blob":"https://clitestqorauf75d5yqkhdhc.blob.core.windows.net/","queue":"https://clitestqorauf75d5yqkhdhc.queue.core.windows.net/","table":"https://clitestqorauf75d5yqkhdhc.table.core.windows.net/","file":"https://clitestqorauf75d5yqkhdhc.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestzbuh7m7bllna7xosjhxr5ppfs6tnukxctfm4ydkzmzvyt7tf2ru3yjmthwy6mqqp62yy/providers/Microsoft.Storage/storageAccounts/clitestrpsk56xwloumq6ngj","name":"clitestrpsk56xwloumq6ngj","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-21T05:52:26.0729783Z","key2":"2021-06-21T05:52:26.0729783Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-21T05:52:26.0779697Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-21T05:52:26.0779697Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-21T05:52:26.0129686Z","primaryEndpoints":{"dfs":"https://clitestrpsk56xwloumq6ngj.dfs.core.windows.net/","web":"https://clitestrpsk56xwloumq6ngj.z2.web.core.windows.net/","blob":"https://clitestrpsk56xwloumq6ngj.blob.core.windows.net/","queue":"https://clitestrpsk56xwloumq6ngj.queue.core.windows.net/","table":"https://clitestrpsk56xwloumq6ngj.table.core.windows.net/","file":"https://clitestrpsk56xwloumq6ngj.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest62jxvr4odko5gn5tjo4z7ypmirid6zm72g3ah6zg25qh5r5xve5fhikdcnjpxvsaikhl/providers/Microsoft.Storage/storageAccounts/clitestst2iwgltnfj4zoiva","name":"clitestst2iwgltnfj4zoiva","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-27T01:58:18.2723177Z","key2":"2021-08-27T01:58:18.2723177Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-27T01:58:18.2723177Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-27T01:58:18.2723177Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-27T01:58:18.2410749Z","primaryEndpoints":{"dfs":"https://clitestst2iwgltnfj4zoiva.dfs.core.windows.net/","web":"https://clitestst2iwgltnfj4zoiva.z2.web.core.windows.net/","blob":"https://clitestst2iwgltnfj4zoiva.blob.core.windows.net/","queue":"https://clitestst2iwgltnfj4zoiva.queue.core.windows.net/","table":"https://clitestst2iwgltnfj4zoiva.table.core.windows.net/","file":"https://clitestst2iwgltnfj4zoiva.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestxk2peoqt7nd76ktof7sub3mkkcldygtt36d3imnwjd5clletodypibd5uaglpdk44yjm/providers/Microsoft.Storage/storageAccounts/clitestu6whdalngwsksemjs","name":"clitestu6whdalngwsksemjs","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-10T02:29:23.5697486Z","key2":"2021-09-10T02:29:23.5697486Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-10T02:29:23.5697486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-10T02:29:23.5697486Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-10T02:29:23.5072536Z","primaryEndpoints":{"dfs":"https://clitestu6whdalngwsksemjs.dfs.core.windows.net/","web":"https://clitestu6whdalngwsksemjs.z2.web.core.windows.net/","blob":"https://clitestu6whdalngwsksemjs.blob.core.windows.net/","queue":"https://clitestu6whdalngwsksemjs.queue.core.windows.net/","table":"https://clitestu6whdalngwsksemjs.table.core.windows.net/","file":"https://clitestu6whdalngwsksemjs.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlriqfcojv6aujusys633edrxi3tkric7e6cvk5wwgjmdg4736dv56w4lwzmdnq5tr3mq/providers/Microsoft.Storage/storageAccounts/clitestw6aumidrfwmoqkzvm","name":"clitestw6aumidrfwmoqkzvm","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-18T23:32:38.8527397Z","key2":"2021-11-18T23:32:38.8527397Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:32:38.8527397Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:32:38.8527397Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-18T23:32:38.7902807Z","primaryEndpoints":{"dfs":"https://clitestw6aumidrfwmoqkzvm.dfs.core.windows.net/","web":"https://clitestw6aumidrfwmoqkzvm.z2.web.core.windows.net/","blob":"https://clitestw6aumidrfwmoqkzvm.blob.core.windows.net/","queue":"https://clitestw6aumidrfwmoqkzvm.queue.core.windows.net/","table":"https://clitestw6aumidrfwmoqkzvm.table.core.windows.net/","file":"https://clitestw6aumidrfwmoqkzvm.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesttlschpyugymorheodsulam7yhpwylijzpbmjr3phwwis4vj2rx5elxcjkb236fcnumx3/providers/Microsoft.Storage/storageAccounts/clitestwv22naweyfr4m5rga","name":"clitestwv22naweyfr4m5rga","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-01T19:54:26.9185866Z","key2":"2021-11-01T19:54:26.9185866Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:54:26.9185866Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:54:26.9185866Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-01T19:54:26.8717369Z","primaryEndpoints":{"dfs":"https://clitestwv22naweyfr4m5rga.dfs.core.windows.net/","web":"https://clitestwv22naweyfr4m5rga.z2.web.core.windows.net/","blob":"https://clitestwv22naweyfr4m5rga.blob.core.windows.net/","queue":"https://clitestwv22naweyfr4m5rga.queue.core.windows.net/","table":"https://clitestwv22naweyfr4m5rga.table.core.windows.net/","file":"https://clitestwv22naweyfr4m5rga.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesth52efeutldrxowe5cfayjvk4zhpypdmky6fyppzro5r3ldqu7dwf2ca6jf3lqm4eijf6/providers/Microsoft.Storage/storageAccounts/clitestx5fskzfbidzs4kqmu","name":"clitestx5fskzfbidzs4kqmu","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-05T08:48:16.0575682Z","key2":"2021-11-05T08:48:16.0575682Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:48:16.0575682Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:48:16.0575682Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-05T08:48:15.9794412Z","primaryEndpoints":{"dfs":"https://clitestx5fskzfbidzs4kqmu.dfs.core.windows.net/","web":"https://clitestx5fskzfbidzs4kqmu.z2.web.core.windows.net/","blob":"https://clitestx5fskzfbidzs4kqmu.blob.core.windows.net/","queue":"https://clitestx5fskzfbidzs4kqmu.queue.core.windows.net/","table":"https://clitestx5fskzfbidzs4kqmu.table.core.windows.net/","file":"https://clitestx5fskzfbidzs4kqmu.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlnzg2rscuyweetdgvywse35jkhd3s7gay3wnjzoyqojyq6i3iw42uycss45mj52zitnl/providers/Microsoft.Storage/storageAccounts/clitestzarcstbcgg3yqinfg","name":"clitestzarcstbcgg3yqinfg","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-07-30T02:23:46.1127669Z","key2":"2021-07-30T02:23:46.1127669Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-30T02:23:46.1127669Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-30T02:23:46.1127669Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-30T02:23:46.0658902Z","primaryEndpoints":{"dfs":"https://clitestzarcstbcgg3yqinfg.dfs.core.windows.net/","web":"https://clitestzarcstbcgg3yqinfg.z2.web.core.windows.net/","blob":"https://clitestzarcstbcgg3yqinfg.blob.core.windows.net/","queue":"https://clitestzarcstbcgg3yqinfg.queue.core.windows.net/","table":"https://clitestzarcstbcgg3yqinfg.table.core.windows.net/","file":"https://clitestzarcstbcgg3yqinfg.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test1122/providers/Microsoft.Storage/storageAccounts/testsftp","name":"testsftp","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:04:23.8148173Z","key2":"2021-11-22T08:04:23.8148173Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":false,"isSftpEnabled":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:04:23.8148173Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:04:23.8148173Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:04:23.7523395Z","primaryEndpoints":{"dfs":"https://testsftp.dfs.core.windows.net/","web":"https://testsftp.z2.web.core.windows.net/","blob":"https://testsftp.blob.core.windows.net/","queue":"https://testsftp.queue.core.windows.net/","table":"https://testsftp.table.core.windows.net/","file":"https://testsftp.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestrvgfrlua5ai2leiutip26a27qxs2lzedu3g6gjrqjzi3rna2yxcinlc5ioxhhfvnx5rv/providers/Microsoft.Storage/storageAccounts/versiongdbkjcemb56eyu3rj","name":"versiongdbkjcemb56eyu3rj","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-18T23:17:17.2960150Z","key2":"2021-11-18T23:17:17.2960150Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:17:17.2960150Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:17:17.2960150Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-18T23:17:17.2335295Z","primaryEndpoints":{"dfs":"https://versiongdbkjcemb56eyu3rj.dfs.core.windows.net/","web":"https://versiongdbkjcemb56eyu3rj.z2.web.core.windows.net/","blob":"https://versiongdbkjcemb56eyu3rj.blob.core.windows.net/","queue":"https://versiongdbkjcemb56eyu3rj.queue.core.windows.net/","table":"https://versiongdbkjcemb56eyu3rj.table.core.windows.net/","file":"https://versiongdbkjcemb56eyu3rj.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestnsw32miijgjmandsqepzbytqsxe2dbpfuh3t2d2u7saewxrnoilajjocllnjxt45ggjc/providers/Microsoft.Storage/storageAccounts/versionhf53xzmbt3fwu3kn3","name":"versionhf53xzmbt3fwu3kn3","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T02:29:06.2474527Z","key2":"2021-09-07T02:29:06.2474527Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:29:06.2474527Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:29:06.2474527Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T02:29:06.1849281Z","primaryEndpoints":{"dfs":"https://versionhf53xzmbt3fwu3kn3.dfs.core.windows.net/","web":"https://versionhf53xzmbt3fwu3kn3.z2.web.core.windows.net/","blob":"https://versionhf53xzmbt3fwu3kn3.blob.core.windows.net/","queue":"https://versionhf53xzmbt3fwu3kn3.queue.core.windows.net/","table":"https://versionhf53xzmbt3fwu3kn3.table.core.windows.net/","file":"https://versionhf53xzmbt3fwu3kn3.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestyex6l2i6otx4eikzzr7rikdz4b6rezhqeg6mnzwvtof4vpxkcw34rd7hwpk7q5ltnrxp/providers/Microsoft.Storage/storageAccounts/versionncoq7gv5mbp4o2uf6","name":"versionncoq7gv5mbp4o2uf6","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-15T06:47:03.1566686Z","key2":"2021-10-15T06:47:03.1566686Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T06:47:03.1723019Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T06:47:03.1723019Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-15T06:47:03.0785915Z","primaryEndpoints":{"dfs":"https://versionncoq7gv5mbp4o2uf6.dfs.core.windows.net/","web":"https://versionncoq7gv5mbp4o2uf6.z2.web.core.windows.net/","blob":"https://versionncoq7gv5mbp4o2uf6.blob.core.windows.net/","queue":"https://versionncoq7gv5mbp4o2uf6.queue.core.windows.net/","table":"https://versionncoq7gv5mbp4o2uf6.table.core.windows.net/","file":"https://versionncoq7gv5mbp4o2uf6.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestyxq5yt6z4or5ddvyvubtdjn73mslv25s4bqqme3ljmj6jsaagbmyn376m3cdex35tubw/providers/Microsoft.Storage/storageAccounts/versionqp3efyteboplomp5w","name":"versionqp3efyteboplomp5w","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T02:20:09.3003824Z","key2":"2021-09-07T02:20:09.3003824Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:20:09.3003824Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:20:09.3003824Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T02:20:09.2378807Z","primaryEndpoints":{"dfs":"https://versionqp3efyteboplomp5w.dfs.core.windows.net/","web":"https://versionqp3efyteboplomp5w.z2.web.core.windows.net/","blob":"https://versionqp3efyteboplomp5w.blob.core.windows.net/","queue":"https://versionqp3efyteboplomp5w.queue.core.windows.net/","table":"https://versionqp3efyteboplomp5w.table.core.windows.net/","file":"https://versionqp3efyteboplomp5w.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest27tntypkdnlo3adbzt7qqcx3detlxgtxnuxhaxdgobws4bjc26vshca2qezntlnmpuup/providers/Microsoft.Storage/storageAccounts/versionryihikjyurp5tntba","name":"versionryihikjyurp5tntba","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-11T22:07:42.2418545Z","key2":"2021-11-11T22:07:42.2418545Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:07:42.2418545Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:07:42.2418545Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-11T22:07:42.1637179Z","primaryEndpoints":{"dfs":"https://versionryihikjyurp5tntba.dfs.core.windows.net/","web":"https://versionryihikjyurp5tntba.z2.web.core.windows.net/","blob":"https://versionryihikjyurp5tntba.blob.core.windows.net/","queue":"https://versionryihikjyurp5tntba.queue.core.windows.net/","table":"https://versionryihikjyurp5tntba.table.core.windows.net/","file":"https://versionryihikjyurp5tntba.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesturbzqfflmkkupfwgtkutwvdy5nte5rec7neu6eyya4kahyepssopgq72mzxl54g7h2pt/providers/Microsoft.Storage/storageAccounts/versionscknbekpvmwrjeznt","name":"versionscknbekpvmwrjeznt","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-28T02:39:44.7553582Z","key2":"2021-10-28T02:39:44.7553582Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T02:39:44.7553582Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T02:39:44.7553582Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T02:39:44.6772068Z","primaryEndpoints":{"dfs":"https://versionscknbekpvmwrjeznt.dfs.core.windows.net/","web":"https://versionscknbekpvmwrjeznt.z2.web.core.windows.net/","blob":"https://versionscknbekpvmwrjeznt.blob.core.windows.net/","queue":"https://versionscknbekpvmwrjeznt.queue.core.windows.net/","table":"https://versionscknbekpvmwrjeznt.table.core.windows.net/","file":"https://versionscknbekpvmwrjeznt.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestrhkyigtoloz2mqogvsddvmbtemvops4dw6kluaww553xqrbl5kwgnpuse5fdom2fq5bd/providers/Microsoft.Storage/storageAccounts/versionvsfin4nwuwcxndawj","name":"versionvsfin4nwuwcxndawj","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T02:26:57.6350762Z","key2":"2021-09-07T02:26:57.6350762Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:26:57.6350762Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:26:57.6350762Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T02:26:57.5726321Z","primaryEndpoints":{"dfs":"https://versionvsfin4nwuwcxndawj.dfs.core.windows.net/","web":"https://versionvsfin4nwuwcxndawj.z2.web.core.windows.net/","blob":"https://versionvsfin4nwuwcxndawj.blob.core.windows.net/","queue":"https://versionvsfin4nwuwcxndawj.queue.core.windows.net/","table":"https://versionvsfin4nwuwcxndawj.table.core.windows.net/","file":"https://versionvsfin4nwuwcxndawj.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestyvbbewdobz5vnqkoyumrkqbdufktrisug2ukkkvnirbc6frn2hxuvpe7weosgtfc4spk/providers/Microsoft.Storage/storageAccounts/versionymg2k5haow6be3wlh","name":"versionymg2k5haow6be3wlh","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-08T05:20:27.5220722Z","key2":"2021-11-08T05:20:27.5220722Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-08T05:20:27.5220722Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-08T05:20:27.5220722Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-08T05:20:27.4439279Z","primaryEndpoints":{"dfs":"https://versionymg2k5haow6be3wlh.dfs.core.windows.net/","web":"https://versionymg2k5haow6be3wlh.z2.web.core.windows.net/","blob":"https://versionymg2k5haow6be3wlh.blob.core.windows.net/","queue":"https://versionymg2k5haow6be3wlh.queue.core.windows.net/","table":"https://versionymg2k5haow6be3wlh.table.core.windows.net/","file":"https://versionymg2k5haow6be3wlh.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestkngvostxvfzwz7hb2pyqpst4ekovxl4qehicnbufjmoug5injclokanwouejm77muega/providers/Microsoft.Storage/storageAccounts/versionyrdifxty6izovwb6i","name":"versionyrdifxty6izovwb6i","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T02:23:07.0385168Z","key2":"2021-09-07T02:23:07.0385168Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:23:07.0385168Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:23:07.0385168Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T02:23:06.9760160Z","primaryEndpoints":{"dfs":"https://versionyrdifxty6izovwb6i.dfs.core.windows.net/","web":"https://versionyrdifxty6izovwb6i.z2.web.core.windows.net/","blob":"https://versionyrdifxty6izovwb6i.blob.core.windows.net/","queue":"https://versionyrdifxty6izovwb6i.queue.core.windows.net/","table":"https://versionyrdifxty6izovwb6i.table.core.windows.net/","file":"https://versionyrdifxty6izovwb6i.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","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":"centraluseuap","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-09-06T07:56:33.4932788Z","key2":"2021-09-06T07:56:33.4932788Z"},"allowCrossTenantReplication":true,"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-09-06T07:56:33.5088661Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-06T07:56:33.5088661Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-06T07:56:33.4151419Z","primaryEndpoints":{"dfs":"https://yssaeuap.dfs.core.windows.net/","web":"https://yssaeuap.z2.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":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhiyihuang-rg-euap/providers/Microsoft.Storage/storageAccounts/zhiyihuangsaeuap","name":"zhiyihuangsaeuap","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"immutableStorageWithVersioning":{"enabled":true},"keyCreationTime":{"key1":"2021-09-24T05:54:33.0930905Z","key2":"2021-09-24T05:54:33.0930905Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-24T05:54:33.1087163Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-24T05:54:33.1087163Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-24T05:54:33.0305911Z","primaryEndpoints":{"dfs":"https://zhiyihuangsaeuap.dfs.core.windows.net/","web":"https://zhiyihuangsaeuap.z2.web.core.windows.net/","blob":"https://zhiyihuangsaeuap.blob.core.windows.net/","queue":"https://zhiyihuangsaeuap.queue.core.windows.net/","table":"https://zhiyihuangsaeuap.table.core.windows.net/","file":"https://zhiyihuangsaeuap.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available","secondaryLocation":"eastus2euap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhiyihuangsaeuap-secondary.dfs.core.windows.net/","web":"https://zhiyihuangsaeuap-secondary.z2.web.core.windows.net/","blob":"https://zhiyihuangsaeuap-secondary.blob.core.windows.net/","queue":"https://zhiyihuangsaeuap-secondary.queue.core.windows.net/","table":"https://zhiyihuangsaeuap-secondary.table.core.windows.net/"}}}]}' + headers: + cache-control: + - no-cache + content-length: + - '269254' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 22 Nov 2021 08:39:35 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: + - e2fff882-c45a-42cf-b010-e7ddb306dd3b + - ed24f162-24a3-4820-92c1-ae5c77da4a1e + - 26537a35-2080-49ca-b312-a7cb34b854ec + - c95d1830-05c1-4e82-a0b2-3ea535353cc7 + - 91856cd5-b189-4d3b-868e-8b5187ffe0c1 + - 43627323-4b43-4bf4-9675-445e90f7def9 + - 568c2dd4-ba39-4d46-a519-fb1a30493b16 + - b19a4d25-70d2-4fd9-ae2c-a4dcf3d58251 + - f161ca00-6bd4-48cf-9c7e-e26f3f1851d5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + ParameterSetName: + - -n --enable-sftp + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:39:14.4593875Z","key2":"2021-11-22T08:39:14.4593875Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":true,"isSftpEnabled":true,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:39:14.3812169Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z2.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1648' + content-type: + - application/json + date: + - Mon, 22 Nov 2021 08:39:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"sku": {"name": "Standard_LRS"}, "tags": {}, "properties": {"encryption": + {"services": {"blob": {"enabled": true, "keyType": "Account"}, "file": {"enabled": + true, "keyType": "Account"}}, "keySource": "Microsoft.Storage"}, "accessTier": + "Hot", "supportsHttpsTrafficOnly": true, "isSftpEnabled": false, "networkAcls": + {"bypass": "AzureServices", "virtualNetworkRules": [], "ipRules": [], "defaultAction": + "Allow"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + Content-Length: + - '414' + Content-Type: + - application/json + ParameterSetName: + - -n --enable-sftp + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:39:14.4593875Z","key2":"2021-11-22T08:39:14.4593875Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":true,"isSftpEnabled":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:39:14.3812169Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z2.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1649' + content-type: + - application/json + date: + - Mon, 22 Nov 2021 08:39:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + ParameterSetName: + - -n --enable-local-user + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-08-01 + response: + body: + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_subscription_level_deployment/providers/Microsoft.Storage/storageAccounts/armbuilddemo1801","name":"armbuilddemo1801","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T02:25:59.7261603Z","key2":"2021-11-22T02:25:59.7261603Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T02:25:59.7261603Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T02:25:59.7261603Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-11-22T02:25:59.6011765Z","primaryEndpoints":{"blob":"https://armbuilddemo1801.blob.core.windows.net/","queue":"https://armbuilddemo1801.queue.core.windows.net/","table":"https://armbuilddemo1801.table.core.windows.net/","file":"https://armbuilddemo1801.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhiyihuang-rg/providers/Microsoft.Storage/storageAccounts/azext","name":"azext","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-15T07:20:26.3629732Z","key2":"2021-10-15T07:20:26.3629732Z"},"allowCrossTenantReplication":true,"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-10-15T07:20:26.3629732Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T07:20:26.3629732Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-15T07:20:26.2379798Z","primaryEndpoints":{"dfs":"https://azext.dfs.core.windows.net/","web":"https://azext.z13.web.core.windows.net/","blob":"https://azext.blob.core.windows.net/","queue":"https://azext.queue.core.windows.net/","table":"https://azext.table.core.windows.net/","file":"https://azext.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azext-secondary.dfs.core.windows.net/","web":"https://azext-secondary.z13.web.core.windows.net/","blob":"https://azext-secondary.blob.core.windows.net/","queue":"https://azext-secondary.queue.core.windows.net/","table":"https://azext-secondary.table.core.windows.net/"}}},{"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MSP_bez-rg_bez-diskpool_eastus/providers/Microsoft.Storage/storageAccounts/diag211012t072040rmjrhhi","name":"diag211012t072040rmjrhhi","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{"MSP_BuildVersion":"20211008-2.master.5bd2896a","MSP_DPMajorVersion":"v2_DualVm","MSP_DPMinorVersion":"0","k":"v"},"properties":{"keyCreationTime":{"key1":"2021-10-12T07:20:43.6860609Z","key2":"2021-10-12T07:20:43.6860609Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-12T07:20:43.7016857Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-12T07:20:43.7016857Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-12T07:20:43.5611096Z","primaryEndpoints":{"dfs":"https://diag211012t072040rmjrhhi.dfs.core.windows.net/","web":"https://diag211012t072040rmjrhhi.z13.web.core.windows.net/","blob":"https://diag211012t072040rmjrhhi.blob.core.windows.net/","queue":"https://diag211012t072040rmjrhhi.queue.core.windows.net/","table":"https://diag211012t072040rmjrhhi.table.core.windows.net/","file":"https://diag211012t072040rmjrhhi.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/galleryapptest/providers/Microsoft.Storage/storageAccounts/galleryappaccount","name":"galleryappaccount","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-20T06:11:14.2816483Z","key2":"2021-10-20T06:11:14.2816483Z"},"allowCrossTenantReplication":true,"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-10-20T06:11:14.2972777Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-20T06:11:14.2972777Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-20T06:11:14.1723329Z","primaryEndpoints":{"dfs":"https://galleryappaccount.dfs.core.windows.net/","web":"https://galleryappaccount.z13.web.core.windows.net/","blob":"https://galleryappaccount.blob.core.windows.net/","queue":"https://galleryappaccount.queue.core.windows.net/","table":"https://galleryappaccount.table.core.windows.net/","file":"https://galleryappaccount.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://galleryappaccount-secondary.dfs.core.windows.net/","web":"https://galleryappaccount-secondary.z13.web.core.windows.net/","blob":"https://galleryappaccount-secondary.blob.core.windows.net/","queue":"https://galleryappaccount-secondary.queue.core.windows.net/","table":"https://galleryappaccount-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/galleryapptestaccount","name":"galleryapptestaccount","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-20T02:51:38.9977139Z","key2":"2021-10-20T02:51:38.9977139Z"},"allowCrossTenantReplication":true,"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-10-20T02:51:38.9977139Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-20T02:51:38.9977139Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-20T02:51:38.8727156Z","primaryEndpoints":{"dfs":"https://galleryapptestaccount.dfs.core.windows.net/","web":"https://galleryapptestaccount.z13.web.core.windows.net/","blob":"https://galleryapptestaccount.blob.core.windows.net/","queue":"https://galleryapptestaccount.queue.core.windows.net/","table":"https://galleryapptestaccount.table.core.windows.net/","file":"https://galleryapptestaccount.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-dev/providers/Microsoft.Storage/storageAccounts/jlst1007","name":"jlst1007","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-14T03:14:38.1272477Z","key2":"2021-10-07T06:12:08.4901645Z"},"allowCrossTenantReplication":true,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"resourceAccessRules":[],"bypass":"None","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-07T06:12:08.4901645Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-07T06:12:08.4901645Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2021-10-07T06:12:08.3807870Z","primaryEndpoints":{"dfs":"https://jlst1007.dfs.core.windows.net/","web":"https://jlst1007.z13.web.core.windows.net/","blob":"https://jlst1007.blob.core.windows.net/","queue":"https://jlst1007.queue.core.windows.net/","table":"https://jlst1007.table.core.windows.net/","file":"https://jlst1007.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/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/privatepackage","name":"privatepackage","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-10-19T08:53:09.0238938Z","key2":"2021-10-19T08:53:09.0238938Z"},"allowCrossTenantReplication":true,"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-10-19T08:53:09.0238938Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-19T08:53:09.0238938Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-19T08:53:08.9301661Z","primaryEndpoints":{"dfs":"https://privatepackage.dfs.core.windows.net/","web":"https://privatepackage.z13.web.core.windows.net/","blob":"https://privatepackage.blob.core.windows.net/","queue":"https://privatepackage.queue.core.windows.net/","table":"https://privatepackage.table.core.windows.net/","file":"https://privatepackage.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://privatepackage-secondary.dfs.core.windows.net/","web":"https://privatepackage-secondary.z13.web.core.windows.net/","blob":"https://privatepackage-secondary.blob.core.windows.net/","queue":"https://privatepackage-secondary.queue.core.windows.net/","table":"https://privatepackage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/queuetest/providers/Microsoft.Storage/storageAccounts/qteststac","name":"qteststac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-11-10T05:21:49.0582561Z","key2":"2021-11-10T05:21:49.0582561Z"},"allowCrossTenantReplication":true,"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-11-10T05:21:49.0582561Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-10T05:21:49.0582561Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-10T05:21:48.9488735Z","primaryEndpoints":{"dfs":"https://qteststac.dfs.core.windows.net/","web":"https://qteststac.z13.web.core.windows.net/","blob":"https://qteststac.blob.core.windows.net/","queue":"https://qteststac.queue.core.windows.net/","table":"https://qteststac.table.core.windows.net/","file":"https://qteststac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qteststac-secondary.dfs.core.windows.net/","web":"https://qteststac-secondary.z13.web.core.windows.net/","blob":"https://qteststac-secondary.blob.core.windows.net/","queue":"https://qteststac-secondary.queue.core.windows.net/","table":"https://qteststac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/managed-rg-purview-msyyc/providers/Microsoft.Storage/storageAccounts/scaneastusxncccyt","name":"scaneastusxncccyt","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-23T01:56:19.6672075Z","key2":"2021-08-23T01:56:19.6672075Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-23T01:56:19.6672075Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-23T01:56:19.6672075Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-23T01:56:19.5422473Z","primaryEndpoints":{"dfs":"https://scaneastusxncccyt.dfs.core.windows.net/","web":"https://scaneastusxncccyt.z13.web.core.windows.net/","blob":"https://scaneastusxncccyt.blob.core.windows.net/","queue":"https://scaneastusxncccyt.queue.core.windows.net/","table":"https://scaneastusxncccyt.table.core.windows.net/","file":"https://scaneastusxncccyt.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bez-rg/providers/Microsoft.Storage/storageAccounts/storagecontainer4test","name":"storagecontainer4test","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-15T02:14:52.4005326Z","key2":"2021-11-15T02:14:52.4005326Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-15T02:14:52.4005326Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-15T02:14:52.4005326Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2021-11-15T02:14:52.2599198Z","primaryEndpoints":{"dfs":"https://storagecontainer4test.dfs.core.windows.net/","blob":"https://storagecontainer4test.blob.core.windows.net/","table":"https://storagecontainer4test.table.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testvlw","name":"testvlw","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-27T06:47:50.5497427Z","key2":"2021-10-27T06:47:50.5497427Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T06:47:50.5497427Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T06:47:50.5497427Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-27T06:47:50.4247606Z","primaryEndpoints":{"dfs":"https://testvlw.dfs.core.windows.net/","web":"https://testvlw.z13.web.core.windows.net/","blob":"https://testvlw.blob.core.windows.net/","queue":"https://testvlw.queue.core.windows.net/","table":"https://testvlw.table.core.windows.net/","file":"https://testvlw.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testvlw-secondary.dfs.core.windows.net/","web":"https://testvlw-secondary.z13.web.core.windows.net/","blob":"https://testvlw-secondary.blob.core.windows.net/","queue":"https://testvlw-secondary.queue.core.windows.net/","table":"https://testvlw-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/yssa","name":"yssa","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{"key1":"value1"},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-08-16T08:39:21.3287573Z","key2":"2021-08-16T08:39:21.3287573Z"},"privateEndpointConnections":[],"hnsOnMigrationInProgress":false,"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-08-16T08:39:21.3287573Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-16T08:39:21.3287573Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-16T08:39:21.2193709Z","primaryEndpoints":{"dfs":"https://yssa.dfs.core.windows.net/","web":"https://yssa.z13.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":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhiyihuang-rg/providers/Microsoft.Storage/storageAccounts/zhiyihuangsa","name":"zhiyihuangsa","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-09-10T05:47:01.2111871Z","key2":"2021-09-10T05:47:01.2111871Z"},"allowCrossTenantReplication":true,"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-09-10T05:47:01.2111871Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-10T05:47:01.2111871Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-10T05:47:01.0861745Z","primaryEndpoints":{"dfs":"https://zhiyihuangsa.dfs.core.windows.net/","web":"https://zhiyihuangsa.z13.web.core.windows.net/","blob":"https://zhiyihuangsa.blob.core.windows.net/","queue":"https://zhiyihuangsa.queue.core.windows.net/","table":"https://zhiyihuangsa.table.core.windows.net/","file":"https://zhiyihuangsa.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhiyihuangsa-secondary.dfs.core.windows.net/","web":"https://zhiyihuangsa-secondary.z13.web.core.windows.net/","blob":"https://zhiyihuangsa-secondary.blob.core.windows.net/","queue":"https://zhiyihuangsa-secondary.queue.core.windows.net/","table":"https://zhiyihuangsa-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":"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/pythonsdkmsyyc","name":"pythonsdkmsyyc","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-30T09:03:04.8209550Z","key2":"2021-06-30T09:03:04.8209550Z"},"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-06-30T09:03:04.8209550Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-30T09:03:04.8209550Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-30T09:03:04.7272348Z","primaryEndpoints":{"dfs":"https://pythonsdkmsyyc.dfs.core.windows.net/","web":"https://pythonsdkmsyyc.z22.web.core.windows.net/","blob":"https://pythonsdkmsyyc.blob.core.windows.net/","queue":"https://pythonsdkmsyyc.queue.core.windows.net/","table":"https://pythonsdkmsyyc.table.core.windows.net/","file":"https://pythonsdkmsyyc.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/python-sdk-test/providers/Microsoft.Storage/storageAccounts/storageyyc","name":"storageyyc","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-09-26T05:53:22.9974267Z","key2":"2021-09-26T05:53:22.9974267Z"},"allowCrossTenantReplication":true,"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-09-26T05:53:22.9974267Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:53:22.9974267Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T05:53:22.9192578Z","primaryEndpoints":{"dfs":"https://storageyyc.dfs.core.windows.net/","web":"https://storageyyc.z22.web.core.windows.net/","blob":"https://storageyyc.blob.core.windows.net/","queue":"https://storageyyc.queue.core.windows.net/","table":"https://storageyyc.table.core.windows.net/","file":"https://storageyyc.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testalw","name":"testalw","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"immutableStorageWithVersioning":{"enabled":true,"immutabilityPolicy":{"immutabilityPeriodSinceCreationInDays":3,"state":"Disabled"}},"keyCreationTime":{"key1":"2021-10-27T06:27:50.3554138Z","key2":"2021-10-27T06:27:50.3554138Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T06:27:50.3554138Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T06:27:50.3554138Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-27T06:27:50.2616355Z","primaryEndpoints":{"dfs":"https://testalw.dfs.core.windows.net/","web":"https://testalw.z22.web.core.windows.net/","blob":"https://testalw.blob.core.windows.net/","queue":"https://testalw.queue.core.windows.net/","table":"https://testalw.table.core.windows.net/","file":"https://testalw.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testalw-secondary.dfs.core.windows.net/","web":"https://testalw-secondary.z22.web.core.windows.net/","blob":"https://testalw-secondary.blob.core.windows.net/","queue":"https://testalw-secondary.queue.core.windows.net/","table":"https://testalw-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/testalw1027","name":"testalw1027","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"immutableStorageWithVersioning":{"enabled":true,"immutabilityPolicy":{"immutabilityPeriodSinceCreationInDays":1,"state":"Unlocked"}},"keyCreationTime":{"key1":"2021-10-27T07:34:49.7592232Z","key2":"2021-10-27T07:34:49.7592232Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T07:34:49.7592232Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-27T07:34:49.7592232Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-27T07:34:49.6810731Z","primaryEndpoints":{"dfs":"https://testalw1027.dfs.core.windows.net/","web":"https://testalw1027.z22.web.core.windows.net/","blob":"https://testalw1027.blob.core.windows.net/","queue":"https://testalw1027.queue.core.windows.net/","table":"https://testalw1027.table.core.windows.net/","file":"https://testalw1027.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testalw1027-secondary.dfs.core.windows.net/","web":"https://testalw1027-secondary.z22.web.core.windows.net/","blob":"https://testalw1027-secondary.blob.core.windows.net/","queue":"https://testalw1027-secondary.queue.core.windows.net/","table":"https://testalw1027-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/testalw1028","name":"testalw1028","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"immutableStorageWithVersioning":{"enabled":true,"immutabilityPolicy":{"immutabilityPeriodSinceCreationInDays":1,"state":"Unlocked"}},"keyCreationTime":{"key1":"2021-10-28T01:49:10.2414505Z","key2":"2021-10-28T01:49:10.2414505Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T01:49:10.2414505Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T01:49:10.2414505Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T01:49:10.1633042Z","primaryEndpoints":{"dfs":"https://testalw1028.dfs.core.windows.net/","web":"https://testalw1028.z22.web.core.windows.net/","blob":"https://testalw1028.blob.core.windows.net/","queue":"https://testalw1028.queue.core.windows.net/","table":"https://testalw1028.table.core.windows.net/","file":"https://testalw1028.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testalw1028-secondary.dfs.core.windows.net/","web":"https://testalw1028-secondary.z22.web.core.windows.net/","blob":"https://testalw1028-secondary.blob.core.windows.net/","queue":"https://testalw1028-secondary.queue.core.windows.net/","table":"https://testalw1028-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/yshns","name":"yshns","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-15T02:10:28.4103368Z","key2":"2021-10-15T02:10:28.4103368Z"},"privateEndpointConnections":[],"hnsOnMigrationInProgress":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T02:10:28.4103368Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T02:10:28.4103368Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-15T02:10:28.3165819Z","primaryEndpoints":{"dfs":"https://yshns.dfs.core.windows.net/","web":"https://yshns.z22.web.core.windows.net/","blob":"https://yshns.blob.core.windows.net/","queue":"https://yshns.queue.core.windows.net/","table":"https://yshns.table.core.windows.net/","file":"https://yshns.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yshns-secondary.dfs.core.windows.net/","web":"https://yshns-secondary.z22.web.core.windows.net/","blob":"https://yshns-secondary.blob.core.windows.net/","queue":"https://yshns-secondary.queue.core.windows.net/","table":"https://yshns-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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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.rg23akmjlz2r/providers/Microsoft.Storage/storageAccounts/clitestdmmxq6bklh35yongi","name":"clitestdmmxq6bklh35yongi","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-05T19:49:04.6966074Z","key2":"2021-08-05T19:49:04.6966074Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-05T19:49:04.6966074Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-05T19:49:04.6966074Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-08-05T19:49:04.6185933Z","primaryEndpoints":{"blob":"https://clitestdmmxq6bklh35yongi.blob.core.windows.net/","queue":"https://clitestdmmxq6bklh35yongi.queue.core.windows.net/","table":"https://clitestdmmxq6bklh35yongi.table.core.windows.net/","file":"https://clitestdmmxq6bklh35yongi.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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.rgbo2ure7pgp/providers/Microsoft.Storage/storageAccounts/clitestsnv7joygpazk23npj","name":"clitestsnv7joygpazk23npj","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-21T02:19:20.7474327Z","key2":"2021-05-21T02:19:20.7474327Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-21T02:19:20.7474327Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-21T02:19:20.7474327Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-21T02:19:20.6537267Z","primaryEndpoints":{"blob":"https://clitestsnv7joygpazk23npj.blob.core.windows.net/","queue":"https://clitestsnv7joygpazk23npj.queue.core.windows.net/","table":"https://clitestsnv7joygpazk23npj.table.core.windows.net/","file":"https://clitestsnv7joygpazk23npj.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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.rg4yns4yxisb/providers/Microsoft.Storage/storageAccounts/clitestyt6rxgad3kebqzh26","name":"clitestyt6rxgad3kebqzh26","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-05T19:49:04.8528440Z","key2":"2021-08-05T19:49:04.8528440Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-05T19:49:04.8528440Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-05T19:49:04.8528440Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-08-05T19:49:04.7747435Z","primaryEndpoints":{"blob":"https://clitestyt6rxgad3kebqzh26.blob.core.windows.net/","queue":"https://clitestyt6rxgad3kebqzh26.queue.core.windows.net/","table":"https://clitestyt6rxgad3kebqzh26.table.core.windows.net/","file":"https://clitestyt6rxgad3kebqzh26.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320005416c8c9","name":"cs1100320005416c8c9","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-07-09T05:58:20.1898753Z","key2":"2021-07-09T05:58:20.1898753Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-09T05:58:20.2055665Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-09T05:58:20.2055665Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-09T05:58:20.0961322Z","primaryEndpoints":{"dfs":"https://cs1100320005416c8c9.dfs.core.windows.net/","web":"https://cs1100320005416c8c9.z23.web.core.windows.net/","blob":"https://cs1100320005416c8c9.blob.core.windows.net/","queue":"https://cs1100320005416c8c9.queue.core.windows.net/","table":"https://cs1100320005416c8c9.table.core.windows.net/","file":"https://cs1100320005416c8c9.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/cs1100320007b1ce356","name":"cs1100320007b1ce356","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-08-31T13:56:10.5497663Z","key2":"2021-08-31T13:56:10.5497663Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-31T13:56:10.5497663Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-31T13:56:10.5497663Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-31T13:56:10.4560533Z","primaryEndpoints":{"dfs":"https://cs1100320007b1ce356.dfs.core.windows.net/","web":"https://cs1100320007b1ce356.z23.web.core.windows.net/","blob":"https://cs1100320007b1ce356.blob.core.windows.net/","queue":"https://cs1100320007b1ce356.queue.core.windows.net/","table":"https://cs1100320007b1ce356.table.core.windows.net/","file":"https://cs1100320007b1ce356.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/cs11003200087c55daf","name":"cs11003200087c55daf","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-07-21T00:43:24.0011691Z","key2":"2021-07-21T00:43:24.0011691Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-21T00:43:24.0011691Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-21T00:43:24.0011691Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-21T00:43:23.9230250Z","primaryEndpoints":{"dfs":"https://cs11003200087c55daf.dfs.core.windows.net/","web":"https://cs11003200087c55daf.z23.web.core.windows.net/","blob":"https://cs11003200087c55daf.blob.core.windows.net/","queue":"https://cs11003200087c55daf.queue.core.windows.net/","table":"https://cs11003200087c55daf.table.core.windows.net/","file":"https://cs11003200087c55daf.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/cs110032000919ef7c5","name":"cs110032000919ef7c5","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-10-09T02:02:43.1652268Z","key2":"2021-10-09T02:02:43.1652268Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-09T02:02:43.1652268Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-09T02:02:43.1652268Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-09T02:02:43.0714900Z","primaryEndpoints":{"dfs":"https://cs110032000919ef7c5.dfs.core.windows.net/","web":"https://cs110032000919ef7c5.z23.web.core.windows.net/","blob":"https://cs110032000919ef7c5.blob.core.windows.net/","queue":"https://cs110032000919ef7c5.queue.core.windows.net/","table":"https://cs110032000919ef7c5.table.core.windows.net/","file":"https://cs110032000919ef7c5.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/cs110032000e1cb9f41","name":"cs110032000e1cb9f41","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-06-01T02:14:02.8985613Z","key2":"2021-06-01T02:14:02.8985613Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-01T02:14:02.9140912Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-01T02:14:02.9140912Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-01T02:14:02.8047066Z","primaryEndpoints":{"dfs":"https://cs110032000e1cb9f41.dfs.core.windows.net/","web":"https://cs110032000e1cb9f41.z23.web.core.windows.net/","blob":"https://cs110032000e1cb9f41.blob.core.windows.net/","queue":"https://cs110032000e1cb9f41.queue.core.windows.net/","table":"https://cs110032000e1cb9f41.table.core.windows.net/","file":"https://cs110032000e1cb9f41.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/cs110032000f3aac891","name":"cs110032000f3aac891","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-10-08T11:18:17.0122606Z","key2":"2021-10-08T11:18:17.0122606Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T11:18:17.0122606Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-08T11:18:17.0122606Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-08T11:18:16.9184856Z","primaryEndpoints":{"dfs":"https://cs110032000f3aac891.dfs.core.windows.net/","web":"https://cs110032000f3aac891.z23.web.core.windows.net/","blob":"https://cs110032000f3aac891.blob.core.windows.net/","queue":"https://cs110032000f3aac891.queue.core.windows.net/","table":"https://cs110032000f3aac891.table.core.windows.net/","file":"https://cs110032000f3aac891.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/cs1100320010339dce7","name":"cs1100320010339dce7","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-07-01T12:55:31.1442388Z","key2":"2021-07-01T12:55:31.1442388Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-01T12:55:31.1442388Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-01T12:55:31.1442388Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-01T12:55:31.0661165Z","primaryEndpoints":{"dfs":"https://cs1100320010339dce7.dfs.core.windows.net/","web":"https://cs1100320010339dce7.z23.web.core.windows.net/","blob":"https://cs1100320010339dce7.blob.core.windows.net/","queue":"https://cs1100320010339dce7.queue.core.windows.net/","table":"https://cs1100320010339dce7.table.core.windows.net/","file":"https://cs1100320010339dce7.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/cs11003200129e38348","name":"cs11003200129e38348","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-05-24T06:59:16.3135399Z","key2":"2021-05-24T06:59:16.3135399Z"},"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-24T06:59:16.3135399Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-24T06:59:16.3135399Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-24T06:59:16.2198282Z","primaryEndpoints":{"dfs":"https://cs11003200129e38348.dfs.core.windows.net/","web":"https://cs11003200129e38348.z23.web.core.windows.net/","blob":"https://cs11003200129e38348.blob.core.windows.net/","queue":"https://cs11003200129e38348.queue.core.windows.net/","table":"https://cs11003200129e38348.table.core.windows.net/","file":"https://cs11003200129e38348.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/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032001520b2764","name":"cs110032001520b2764","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-09-03T08:56:46.2009376Z","key2":"2021-09-03T08:56:46.2009376Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-03T08:56:46.2009376Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-03T08:56:46.2009376Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-03T08:56:46.1071770Z","primaryEndpoints":{"dfs":"https://cs110032001520b2764.dfs.core.windows.net/","web":"https://cs110032001520b2764.z23.web.core.windows.net/","blob":"https://cs110032001520b2764.blob.core.windows.net/","queue":"https://cs110032001520b2764.queue.core.windows.net/","table":"https://cs110032001520b2764.table.core.windows.net/","file":"https://cs110032001520b2764.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/cs1100320016ac59291","name":"cs1100320016ac59291","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-08-10T06:12:25.7518719Z","key2":"2021-08-10T06:12:25.7518719Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-10T06:12:25.7518719Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-10T06:12:25.7518719Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-10T06:12:25.6581170Z","primaryEndpoints":{"dfs":"https://cs1100320016ac59291.dfs.core.windows.net/","web":"https://cs1100320016ac59291.z23.web.core.windows.net/","blob":"https://cs1100320016ac59291.blob.core.windows.net/","queue":"https://cs1100320016ac59291.queue.core.windows.net/","table":"https://cs1100320016ac59291.table.core.windows.net/","file":"https://cs1100320016ac59291.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/cs1100320018cedbbd6","name":"cs1100320018cedbbd6","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-11-02T06:32:13.4022120Z","key2":"2021-11-02T06:32:13.4022120Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-02T06:32:13.4022120Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-02T06:32:13.4022120Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-02T06:32:13.3084745Z","primaryEndpoints":{"dfs":"https://cs1100320018cedbbd6.dfs.core.windows.net/","web":"https://cs1100320018cedbbd6.z23.web.core.windows.net/","blob":"https://cs1100320018cedbbd6.blob.core.windows.net/","queue":"https://cs1100320018cedbbd6.queue.core.windows.net/","table":"https://cs1100320018cedbbd6.table.core.windows.net/","file":"https://cs1100320018cedbbd6.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-dev/providers/Microsoft.Storage/storageAccounts/jl0927","name":"jl0927","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-09-27T09:22:48.0910647Z","key2":"2021-09-27T09:22:48.0910647Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T09:22:48.0910647Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T09:22:48.0910647Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-27T09:22:47.9973304Z","primaryEndpoints":{"dfs":"https://jl0927.dfs.core.windows.net/","web":"https://jl0927.z23.web.core.windows.net/","blob":"https://jl0927.blob.core.windows.net/","queue":"https://jl0927.queue.core.windows.net/","table":"https://jl0927.table.core.windows.net/","file":"https://jl0927.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/managed-rg-feng-purview/providers/Microsoft.Storage/storageAccounts/scansouthcentralusdteqbx","name":"scansouthcentralusdteqbx","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-23T06:00:34.2251607Z","key2":"2021-09-23T06:00:34.2251607Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-23T06:00:34.2251607Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-23T06:00:34.2251607Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-23T06:00:34.1313540Z","primaryEndpoints":{"dfs":"https://scansouthcentralusdteqbx.dfs.core.windows.net/","web":"https://scansouthcentralusdteqbx.z21.web.core.windows.net/","blob":"https://scansouthcentralusdteqbx.blob.core.windows.net/","queue":"https://scansouthcentralusdteqbx.queue.core.windows.net/","table":"https://scansouthcentralusdteqbx.table.core.windows.net/","file":"https://scansouthcentralusdteqbx.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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/managed-rg-fypurview/providers/Microsoft.Storage/storageAccounts/scanwestus2ghwdfbf","name":"scanwestus2ghwdfbf","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-28T03:24:36.3735480Z","key2":"2021-09-28T03:24:36.3735480Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T03:24:36.3891539Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T03:24:36.3891539Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-28T03:24:36.2797988Z","primaryEndpoints":{"dfs":"https://scanwestus2ghwdfbf.dfs.core.windows.net/","web":"https://scanwestus2ghwdfbf.z5.web.core.windows.net/","blob":"https://scanwestus2ghwdfbf.blob.core.windows.net/","queue":"https://scanwestus2ghwdfbf.queue.core.windows.net/","table":"https://scanwestus2ghwdfbf.table.core.windows.net/","file":"https://scanwestus2ghwdfbf.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-file-handle-rg/providers/Microsoft.Storage/storageAccounts/testfilehandlesa","name":"testfilehandlesa","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-11-02T02:22:24.9147695Z","key2":"2021-11-02T02:22:24.9147695Z"},"allowCrossTenantReplication":true,"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-11-02T02:22:24.9147695Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-02T02:22:24.9147695Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-02T02:22:24.8209748Z","primaryEndpoints":{"dfs":"https://testfilehandlesa.dfs.core.windows.net/","web":"https://testfilehandlesa.z5.web.core.windows.net/","blob":"https://testfilehandlesa.blob.core.windows.net/","queue":"https://testfilehandlesa.queue.core.windows.net/","table":"https://testfilehandlesa.table.core.windows.net/","file":"https://testfilehandlesa.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testfilehandlesa-secondary.dfs.core.windows.net/","web":"https://testfilehandlesa-secondary.z5.web.core.windows.net/","blob":"https://testfilehandlesa-secondary.blob.core.windows.net/","queue":"https://testfilehandlesa-secondary.queue.core.windows.net/","table":"https://testfilehandlesa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgk3dgx6acfu6yrvvipseyqbiwldnaohcywhpi65w7jys42kv5gjs2pljpz5o7bsoah/providers/Microsoft.Storage/storageAccounts/clitest3tllg4jqytzq27ejk","name":"clitest3tllg4jqytzq27ejk","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-01T19:36:53.0876733Z","key2":"2021-11-01T19:36:53.0876733Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:36:53.0876733Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:36:53.0876733Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-01T19:36:53.0095332Z","primaryEndpoints":{"dfs":"https://clitest3tllg4jqytzq27ejk.dfs.core.windows.net/","web":"https://clitest3tllg4jqytzq27ejk.z3.web.core.windows.net/","blob":"https://clitest3tllg4jqytzq27ejk.blob.core.windows.net/","queue":"https://clitest3tllg4jqytzq27ejk.queue.core.windows.net/","table":"https://clitest3tllg4jqytzq27ejk.table.core.windows.net/","file":"https://clitest3tllg4jqytzq27ejk.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgllxoprxwjouhrzsd4vrfhqkpy7ft2fwgtiub56wonkmtvsogumww7h36czdisqqxm/providers/Microsoft.Storage/storageAccounts/clitest4slutm4qduocdiy7o","name":"clitest4slutm4qduocdiy7o","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-18T23:17:57.1095774Z","key2":"2021-11-18T23:17:57.1095774Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:17:57.1252046Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:17:57.1252046Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-18T23:17:57.0471042Z","primaryEndpoints":{"dfs":"https://clitest4slutm4qduocdiy7o.dfs.core.windows.net/","web":"https://clitest4slutm4qduocdiy7o.z3.web.core.windows.net/","blob":"https://clitest4slutm4qduocdiy7o.blob.core.windows.net/","queue":"https://clitest4slutm4qduocdiy7o.queue.core.windows.net/","table":"https://clitest4slutm4qduocdiy7o.table.core.windows.net/","file":"https://clitest4slutm4qduocdiy7o.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgkqf4cu665yaejvrvcvhfklfoep7xw2qhgk7q5qkmosqpcdypz6aubtjovadrpefmu/providers/Microsoft.Storage/storageAccounts/clitest4ypv67tuvo34umfu5","name":"clitest4ypv67tuvo34umfu5","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-27T08:37:30.4318022Z","key2":"2021-09-27T08:37:30.4318022Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T08:37:30.4474578Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T08:37:30.4474578Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-27T08:37:30.3536782Z","primaryEndpoints":{"dfs":"https://clitest4ypv67tuvo34umfu5.dfs.core.windows.net/","web":"https://clitest4ypv67tuvo34umfu5.z3.web.core.windows.net/","blob":"https://clitest4ypv67tuvo34umfu5.blob.core.windows.net/","queue":"https://clitest4ypv67tuvo34umfu5.queue.core.windows.net/","table":"https://clitest4ypv67tuvo34umfu5.table.core.windows.net/","file":"https://clitest4ypv67tuvo34umfu5.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgc5jqtmvrtl3o7vxoerxlozv7wigv64wbsa22tgbgkmtqqgw5r6zycdvmm6lsu2hgb/providers/Microsoft.Storage/storageAccounts/clitest63bx2k5whs46xb72f","name":"clitest63bx2k5whs46xb72f","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-29T22:30:48.3706890Z","key2":"2021-10-29T22:30:48.3706890Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:30:48.3706890Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:30:48.3706890Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-29T22:30:48.2925495Z","primaryEndpoints":{"dfs":"https://clitest63bx2k5whs46xb72f.dfs.core.windows.net/","web":"https://clitest63bx2k5whs46xb72f.z3.web.core.windows.net/","blob":"https://clitest63bx2k5whs46xb72f.blob.core.windows.net/","queue":"https://clitest63bx2k5whs46xb72f.queue.core.windows.net/","table":"https://clitest63bx2k5whs46xb72f.table.core.windows.net/","file":"https://clitest63bx2k5whs46xb72f.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgefj7prpkkfwowsohocdcgln4afkr36ayb7msfujq5xbxbhzxt6nl6226d6wpfd2v6/providers/Microsoft.Storage/storageAccounts/clitestajyrm6yrgbf4c5i2s","name":"clitestajyrm6yrgbf4c5i2s","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T05:36:26.5400357Z","key2":"2021-09-26T05:36:26.5400357Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:36:26.5400357Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:36:26.5400357Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T05:36:26.4619069Z","primaryEndpoints":{"dfs":"https://clitestajyrm6yrgbf4c5i2s.dfs.core.windows.net/","web":"https://clitestajyrm6yrgbf4c5i2s.z3.web.core.windows.net/","blob":"https://clitestajyrm6yrgbf4c5i2s.blob.core.windows.net/","queue":"https://clitestajyrm6yrgbf4c5i2s.queue.core.windows.net/","table":"https://clitestajyrm6yrgbf4c5i2s.table.core.windows.net/","file":"https://clitestajyrm6yrgbf4c5i2s.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rglbpqpmgzjcfuaz4feleprn435rcjy72gfcclbzlno6zqjglg4vmjeekjfwp5ftczi/providers/Microsoft.Storage/storageAccounts/clitestbokalj4mocrwa4z32","name":"clitestbokalj4mocrwa4z32","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-29T22:30:16.8234389Z","key2":"2021-10-29T22:30:16.8234389Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:30:16.8234389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:30:16.8234389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-29T22:30:16.7453107Z","primaryEndpoints":{"dfs":"https://clitestbokalj4mocrwa4z32.dfs.core.windows.net/","web":"https://clitestbokalj4mocrwa4z32.z3.web.core.windows.net/","blob":"https://clitestbokalj4mocrwa4z32.blob.core.windows.net/","queue":"https://clitestbokalj4mocrwa4z32.queue.core.windows.net/","table":"https://clitestbokalj4mocrwa4z32.table.core.windows.net/","file":"https://clitestbokalj4mocrwa4z32.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqqra7wllrqyeeka3jdtjjyjmqgvnwxpupwgn7gbi2vj2uiakni76ibediq2ngx2zs/providers/Microsoft.Storage/storageAccounts/clitestem4u2qtb7reiye6va","name":"clitestem4u2qtb7reiye6va","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T23:37:04.0767855Z","key2":"2021-10-22T23:37:04.0767855Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:37:04.0767855Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:37:04.0767855Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T23:37:04.0142815Z","primaryEndpoints":{"dfs":"https://clitestem4u2qtb7reiye6va.dfs.core.windows.net/","web":"https://clitestem4u2qtb7reiye6va.z3.web.core.windows.net/","blob":"https://clitestem4u2qtb7reiye6va.blob.core.windows.net/","queue":"https://clitestem4u2qtb7reiye6va.queue.core.windows.net/","table":"https://clitestem4u2qtb7reiye6va.table.core.windows.net/","file":"https://clitestem4u2qtb7reiye6va.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgorreyhcvnrewddhwjxfruu4jhexosk74hcq54o7pql6oiom4dhg4p45g6pwbrngfk/providers/Microsoft.Storage/storageAccounts/clitesterbttochhqmi5enzk","name":"clitesterbttochhqmi5enzk","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T15:56:16.9200018Z","key2":"2021-10-22T15:56:16.9200018Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T15:56:16.9200018Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T15:56:16.9200018Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T15:56:16.8575242Z","primaryEndpoints":{"dfs":"https://clitesterbttochhqmi5enzk.dfs.core.windows.net/","web":"https://clitesterbttochhqmi5enzk.z3.web.core.windows.net/","blob":"https://clitesterbttochhqmi5enzk.blob.core.windows.net/","queue":"https://clitesterbttochhqmi5enzk.queue.core.windows.net/","table":"https://clitesterbttochhqmi5enzk.table.core.windows.net/","file":"https://clitesterbttochhqmi5enzk.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzqoxctlppqseceswyeq36zau2eysrbugzmir6vxpsztoivt4atecrszzqgzpvjalj/providers/Microsoft.Storage/storageAccounts/clitestexazhooj6txsp4bif","name":"clitestexazhooj6txsp4bif","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T06:28:55.7862697Z","key2":"2021-09-26T06:28:55.7862697Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:28:55.8018954Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:28:55.8018954Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T06:28:55.7237634Z","primaryEndpoints":{"dfs":"https://clitestexazhooj6txsp4bif.dfs.core.windows.net/","web":"https://clitestexazhooj6txsp4bif.z3.web.core.windows.net/","blob":"https://clitestexazhooj6txsp4bif.blob.core.windows.net/","queue":"https://clitestexazhooj6txsp4bif.queue.core.windows.net/","table":"https://clitestexazhooj6txsp4bif.table.core.windows.net/","file":"https://clitestexazhooj6txsp4bif.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmwn5njjtr3wry7duhuccs6h5oxxiw2rhcfdlewmqw56fo3qehaoqulk5ktmyahglf/providers/Microsoft.Storage/storageAccounts/clitestfnjxc5idgmeluoxtm","name":"clitestfnjxc5idgmeluoxtm","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-27T08:40:43.7468930Z","key2":"2021-09-27T08:40:43.7468930Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T08:40:43.7625432Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-27T08:40:43.7625432Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-27T08:40:43.6688132Z","primaryEndpoints":{"dfs":"https://clitestfnjxc5idgmeluoxtm.dfs.core.windows.net/","web":"https://clitestfnjxc5idgmeluoxtm.z3.web.core.windows.net/","blob":"https://clitestfnjxc5idgmeluoxtm.blob.core.windows.net/","queue":"https://clitestfnjxc5idgmeluoxtm.queue.core.windows.net/","table":"https://clitestfnjxc5idgmeluoxtm.table.core.windows.net/","file":"https://clitestfnjxc5idgmeluoxtm.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg4bazn4hnlcnsaasp63k6nvrlmtkyo7dqcjkyopsehticnihafl57ntorbz7ixqwos/providers/Microsoft.Storage/storageAccounts/clitestgnremsz2uxbgdy6uo","name":"clitestgnremsz2uxbgdy6uo","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-05T08:33:08.0149596Z","key2":"2021-11-05T08:33:08.0149596Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:33:08.0305829Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:33:08.0305829Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-05T08:33:07.9368092Z","primaryEndpoints":{"dfs":"https://clitestgnremsz2uxbgdy6uo.dfs.core.windows.net/","web":"https://clitestgnremsz2uxbgdy6uo.z3.web.core.windows.net/","blob":"https://clitestgnremsz2uxbgdy6uo.blob.core.windows.net/","queue":"https://clitestgnremsz2uxbgdy6uo.queue.core.windows.net/","table":"https://clitestgnremsz2uxbgdy6uo.table.core.windows.net/","file":"https://clitestgnremsz2uxbgdy6uo.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgn2hrmou3vupc7hxv534r6ythn2qz6v45svfb666d75bigid4v562yvcrcu3zvopvd/providers/Microsoft.Storage/storageAccounts/clitesthn6lf7bmqfq4lihgr","name":"clitesthn6lf7bmqfq4lihgr","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T23:36:25.4655609Z","key2":"2021-10-22T23:36:25.4655609Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:36:25.4655609Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:36:25.4655609Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T23:36:25.4186532Z","primaryEndpoints":{"dfs":"https://clitesthn6lf7bmqfq4lihgr.dfs.core.windows.net/","web":"https://clitesthn6lf7bmqfq4lihgr.z3.web.core.windows.net/","blob":"https://clitesthn6lf7bmqfq4lihgr.blob.core.windows.net/","queue":"https://clitesthn6lf7bmqfq4lihgr.queue.core.windows.net/","table":"https://clitesthn6lf7bmqfq4lihgr.table.core.windows.net/","file":"https://clitesthn6lf7bmqfq4lihgr.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggyyky3pdv7kfgca2zw6tt2uuyakcfh4mhe5jv652ywkhjplo2g3hkpg5l5vlzmscx/providers/Microsoft.Storage/storageAccounts/clitestlrazz3fr4p7ma2aqu","name":"clitestlrazz3fr4p7ma2aqu","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T06:26:22.0140081Z","key2":"2021-09-26T06:26:22.0140081Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:26:22.0140081Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:26:22.0140081Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T06:26:21.9514992Z","primaryEndpoints":{"dfs":"https://clitestlrazz3fr4p7ma2aqu.dfs.core.windows.net/","web":"https://clitestlrazz3fr4p7ma2aqu.z3.web.core.windows.net/","blob":"https://clitestlrazz3fr4p7ma2aqu.blob.core.windows.net/","queue":"https://clitestlrazz3fr4p7ma2aqu.queue.core.windows.net/","table":"https://clitestlrazz3fr4p7ma2aqu.table.core.windows.net/","file":"https://clitestlrazz3fr4p7ma2aqu.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgibc6w6pt2cu4nkppzr7rhgsrli5jhaumxaexydrvzpemxhixixcac5un3lkhugutn/providers/Microsoft.Storage/storageAccounts/clitestm3o7urdechvnvggxa","name":"clitestm3o7urdechvnvggxa","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-04T22:04:25.7055241Z","key2":"2021-11-04T22:04:25.7055241Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:04:25.7055241Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:04:25.7055241Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-04T22:04:25.6274146Z","primaryEndpoints":{"dfs":"https://clitestm3o7urdechvnvggxa.dfs.core.windows.net/","web":"https://clitestm3o7urdechvnvggxa.z3.web.core.windows.net/","blob":"https://clitestm3o7urdechvnvggxa.blob.core.windows.net/","queue":"https://clitestm3o7urdechvnvggxa.queue.core.windows.net/","table":"https://clitestm3o7urdechvnvggxa.table.core.windows.net/","file":"https://clitestm3o7urdechvnvggxa.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgczn4zs5qjkhszwlrkz6fnvc3mysoovo6vsvis53flbw3gcbfqpwmfuwtqzw5pewbu/providers/Microsoft.Storage/storageAccounts/clitestmm22sas2jwf6b2ers","name":"clitestmm22sas2jwf6b2ers","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-04T22:05:15.5981807Z","key2":"2021-11-04T22:05:15.5981807Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:05:15.5981807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:05:15.5981807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-04T22:05:15.5200800Z","primaryEndpoints":{"dfs":"https://clitestmm22sas2jwf6b2ers.dfs.core.windows.net/","web":"https://clitestmm22sas2jwf6b2ers.z3.web.core.windows.net/","blob":"https://clitestmm22sas2jwf6b2ers.blob.core.windows.net/","queue":"https://clitestmm22sas2jwf6b2ers.queue.core.windows.net/","table":"https://clitestmm22sas2jwf6b2ers.table.core.windows.net/","file":"https://clitestmm22sas2jwf6b2ers.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgihpamtetsioehvqhcaizytambbwjq2a4so6iz734ejm7u6prta4pxwcc2gyhhaxqf/providers/Microsoft.Storage/storageAccounts/clitestmyjybsngqmztsnzyt","name":"clitestmyjybsngqmztsnzyt","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T05:30:18.6096170Z","key2":"2021-09-26T05:30:18.6096170Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:30:18.6096170Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:30:18.6096170Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T05:30:18.5314899Z","primaryEndpoints":{"dfs":"https://clitestmyjybsngqmztsnzyt.dfs.core.windows.net/","web":"https://clitestmyjybsngqmztsnzyt.z3.web.core.windows.net/","blob":"https://clitestmyjybsngqmztsnzyt.blob.core.windows.net/","queue":"https://clitestmyjybsngqmztsnzyt.queue.core.windows.net/","table":"https://clitestmyjybsngqmztsnzyt.table.core.windows.net/","file":"https://clitestmyjybsngqmztsnzyt.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbksbwoy7iftsvok2gu7el6jq32a53l75d3amp4qff74lwqen6nypkv2vsy5qpvdx6/providers/Microsoft.Storage/storageAccounts/clitestnx46jh36sfhiun4zr","name":"clitestnx46jh36sfhiun4zr","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T06:46:06.0337216Z","key2":"2021-09-26T06:46:06.0337216Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:46:06.0337216Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:46:06.0337216Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T06:46:05.9555808Z","primaryEndpoints":{"dfs":"https://clitestnx46jh36sfhiun4zr.dfs.core.windows.net/","web":"https://clitestnx46jh36sfhiun4zr.z3.web.core.windows.net/","blob":"https://clitestnx46jh36sfhiun4zr.blob.core.windows.net/","queue":"https://clitestnx46jh36sfhiun4zr.queue.core.windows.net/","table":"https://clitestnx46jh36sfhiun4zr.table.core.windows.net/","file":"https://clitestnx46jh36sfhiun4zr.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg33fo62u6qo54y4oh6ubodzg5drtpqjvfeaxkl7eqcioetepluk6x6j2y26gadsnlb/providers/Microsoft.Storage/storageAccounts/clitestnyptbvai7mjrv4d36","name":"clitestnyptbvai7mjrv4d36","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T06:38:37.8872316Z","key2":"2021-09-26T06:38:37.8872316Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:38:37.8872316Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T06:38:37.8872316Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T06:38:37.8247073Z","primaryEndpoints":{"dfs":"https://clitestnyptbvai7mjrv4d36.dfs.core.windows.net/","web":"https://clitestnyptbvai7mjrv4d36.z3.web.core.windows.net/","blob":"https://clitestnyptbvai7mjrv4d36.blob.core.windows.net/","queue":"https://clitestnyptbvai7mjrv4d36.queue.core.windows.net/","table":"https://clitestnyptbvai7mjrv4d36.table.core.windows.net/","file":"https://clitestnyptbvai7mjrv4d36.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgz5kpio6nxhll6ltpr5lf3p24xooufmmwyrk7tly3gjfj5vufntfmsdkla7o54pioa/providers/Microsoft.Storage/storageAccounts/clitestu5zychblljh7h4sbq","name":"clitestu5zychblljh7h4sbq","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-01T19:37:27.6814745Z","key2":"2021-11-01T19:37:27.6814745Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:37:27.6814745Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:37:27.6814745Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-01T19:37:27.6033732Z","primaryEndpoints":{"dfs":"https://clitestu5zychblljh7h4sbq.dfs.core.windows.net/","web":"https://clitestu5zychblljh7h4sbq.z3.web.core.windows.net/","blob":"https://clitestu5zychblljh7h4sbq.blob.core.windows.net/","queue":"https://clitestu5zychblljh7h4sbq.queue.core.windows.net/","table":"https://clitestu5zychblljh7h4sbq.table.core.windows.net/","file":"https://clitestu5zychblljh7h4sbq.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgk2r4n3w2kq5eqbdmscwkh6ss3jxr6cjmu237f6ei6q5e6svdpfhq6y4ogqfkkyhof/providers/Microsoft.Storage/storageAccounts/clitestue6lbut2twc5n7mpo","name":"clitestue6lbut2twc5n7mpo","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-11T22:08:44.1147576Z","key2":"2021-11-11T22:08:44.1147576Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:08:44.1303296Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:08:44.1303296Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-11T22:08:44.0366031Z","primaryEndpoints":{"dfs":"https://clitestue6lbut2twc5n7mpo.dfs.core.windows.net/","web":"https://clitestue6lbut2twc5n7mpo.z3.web.core.windows.net/","blob":"https://clitestue6lbut2twc5n7mpo.blob.core.windows.net/","queue":"https://clitestue6lbut2twc5n7mpo.queue.core.windows.net/","table":"https://clitestue6lbut2twc5n7mpo.table.core.windows.net/","file":"https://clitestue6lbut2twc5n7mpo.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgkkh2eiycmh36lbpz6ceh7v2igu55ldcqfqf2gkkkaw5z2wtn25oaqo34wakzal3em/providers/Microsoft.Storage/storageAccounts/clitesturqfulbf5h2yjtmxd","name":"clitesturqfulbf5h2yjtmxd","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-18T23:18:54.1881027Z","key2":"2021-11-18T23:18:54.1881027Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:18:54.1881027Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:18:54.1881027Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-18T23:18:54.1099855Z","primaryEndpoints":{"dfs":"https://clitesturqfulbf5h2yjtmxd.dfs.core.windows.net/","web":"https://clitesturqfulbf5h2yjtmxd.z3.web.core.windows.net/","blob":"https://clitesturqfulbf5h2yjtmxd.blob.core.windows.net/","queue":"https://clitesturqfulbf5h2yjtmxd.queue.core.windows.net/","table":"https://clitesturqfulbf5h2yjtmxd.table.core.windows.net/","file":"https://clitesturqfulbf5h2yjtmxd.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgmqfhye7lux2fp7jf2f63xt6n57sdnfoszmxotiwxyiy7vx7qzk45pp3nactebmfqj/providers/Microsoft.Storage/storageAccounts/clitestvfxf46hn27hcogcfa","name":"clitestvfxf46hn27hcogcfa","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-05T08:33:04.9679670Z","key2":"2021-11-05T08:33:04.9679670Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:33:04.9835769Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:33:04.9835769Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-05T08:33:04.8898629Z","primaryEndpoints":{"dfs":"https://clitestvfxf46hn27hcogcfa.dfs.core.windows.net/","web":"https://clitestvfxf46hn27hcogcfa.z3.web.core.windows.net/","blob":"https://clitestvfxf46hn27hcogcfa.blob.core.windows.net/","queue":"https://clitestvfxf46hn27hcogcfa.queue.core.windows.net/","table":"https://clitestvfxf46hn27hcogcfa.table.core.windows.net/","file":"https://clitestvfxf46hn27hcogcfa.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rglqgc5xdku5ojvlcdmxmxwx4otzrvmtvwkizs74vqyuovzqgtxbocao3wxuey3ckyg/providers/Microsoft.Storage/storageAccounts/clitestvkt5uhqkknoz4z2ps","name":"clitestvkt5uhqkknoz4z2ps","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T15:56:12.2012021Z","key2":"2021-10-22T15:56:12.2012021Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T15:56:12.2012021Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T15:56:12.2012021Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T15:56:12.1387094Z","primaryEndpoints":{"dfs":"https://clitestvkt5uhqkknoz4z2ps.dfs.core.windows.net/","web":"https://clitestvkt5uhqkknoz4z2ps.z3.web.core.windows.net/","blob":"https://clitestvkt5uhqkknoz4z2ps.blob.core.windows.net/","queue":"https://clitestvkt5uhqkknoz4z2ps.queue.core.windows.net/","table":"https://clitestvkt5uhqkknoz4z2ps.table.core.windows.net/","file":"https://clitestvkt5uhqkknoz4z2ps.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgk76ijui24h7q2foey6svr7yhnhb6tcuioxiiic7pto4b7aye52xazbtphpkn4igdg/providers/Microsoft.Storage/storageAccounts/clitestwii2xus2tgji433nh","name":"clitestwii2xus2tgji433nh","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-11T22:07:45.0812213Z","key2":"2021-11-11T22:07:45.0812213Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:07:45.0812213Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:07:45.0812213Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-11T22:07:45.0031142Z","primaryEndpoints":{"dfs":"https://clitestwii2xus2tgji433nh.dfs.core.windows.net/","web":"https://clitestwii2xus2tgji433nh.z3.web.core.windows.net/","blob":"https://clitestwii2xus2tgji433nh.blob.core.windows.net/","queue":"https://clitestwii2xus2tgji433nh.queue.core.windows.net/","table":"https://clitestwii2xus2tgji433nh.table.core.windows.net/","file":"https://clitestwii2xus2tgji433nh.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgug2zs2ll3cqv3r5gw6yql5lexqi72ktubc4ozqz6g62yykofs5s6dzfutvlzwdfzd/providers/Microsoft.Storage/storageAccounts/clitestyrqe5rlxui5rawuhk","name":"clitestyrqe5rlxui5rawuhk","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-26T05:51:29.8791272Z","key2":"2021-09-26T05:51:29.8791272Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:51:29.8791272Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-26T05:51:29.8791272Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-26T05:51:29.8009981Z","primaryEndpoints":{"dfs":"https://clitestyrqe5rlxui5rawuhk.dfs.core.windows.net/","web":"https://clitestyrqe5rlxui5rawuhk.z3.web.core.windows.net/","blob":"https://clitestyrqe5rlxui5rawuhk.blob.core.windows.net/","queue":"https://clitestyrqe5rlxui5rawuhk.queue.core.windows.net/","table":"https://clitestyrqe5rlxui5rawuhk.table.core.windows.net/","file":"https://clitestyrqe5rlxui5rawuhk.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhiyihuang-rg-euap-east/providers/Microsoft.Storage/storageAccounts/zhiyihuangsaeuapeast","name":"zhiyihuangsaeuapeast","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-09-24T06:56:08.6084736Z","key2":"2021-09-24T06:56:08.6084736Z"},"allowCrossTenantReplication":true,"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-09-24T06:56:08.6084736Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-24T06:56:08.6084736Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-24T06:56:08.5303617Z","primaryEndpoints":{"dfs":"https://zhiyihuangsaeuapeast.dfs.core.windows.net/","web":"https://zhiyihuangsaeuapeast.z3.web.core.windows.net/","blob":"https://zhiyihuangsaeuapeast.blob.core.windows.net/","queue":"https://zhiyihuangsaeuapeast.queue.core.windows.net/","table":"https://zhiyihuangsaeuapeast.table.core.windows.net/","file":"https://zhiyihuangsaeuapeast.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhiyihuangsaeuapeast-secondary.dfs.core.windows.net/","web":"https://zhiyihuangsaeuapeast-secondary.z3.web.core.windows.net/","blob":"https://zhiyihuangsaeuapeast-secondary.blob.core.windows.net/","queue":"https://zhiyihuangsaeuapeast-secondary.queue.core.windows.net/","table":"https://zhiyihuangsaeuapeast-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":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"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/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:39:14.4593875Z","key2":"2021-11-22T08:39:14.4593875Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":true,"isSftpEnabled":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:39:14.3812169Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z2.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest47xrljy3nijo3qd5vzsdilpqy5gmhc6vhrxdt4iznh6uaopskftgp4scam2w7drpot4l/providers/Microsoft.Storage/storageAccounts/clitest23zhehg2ug7pzcmmt","name":"clitest23zhehg2ug7pzcmmt","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T23:52:09.9267277Z","key2":"2021-10-22T23:52:09.9267277Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:52:09.9267277Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T23:52:09.9267277Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T23:52:09.8486094Z","primaryEndpoints":{"dfs":"https://clitest23zhehg2ug7pzcmmt.dfs.core.windows.net/","web":"https://clitest23zhehg2ug7pzcmmt.z2.web.core.windows.net/","blob":"https://clitest23zhehg2ug7pzcmmt.blob.core.windows.net/","queue":"https://clitest23zhehg2ug7pzcmmt.queue.core.windows.net/","table":"https://clitest23zhehg2ug7pzcmmt.table.core.windows.net/","file":"https://clitest23zhehg2ug7pzcmmt.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestuh33sdgq6xqrgmv2evfqsj7s5elfu75j425duypsq3ykwiqywcsbk7k5hm2dn6dhx3ga/providers/Microsoft.Storage/storageAccounts/clitest2dpu5cejmyr6o6fy4","name":"clitest2dpu5cejmyr6o6fy4","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-13T01:03:47.8707679Z","key2":"2021-08-13T01:03:47.8707679Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-13T01:03:47.8707679Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-13T01:03:47.8707679Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-13T01:03:47.8082686Z","primaryEndpoints":{"dfs":"https://clitest2dpu5cejmyr6o6fy4.dfs.core.windows.net/","web":"https://clitest2dpu5cejmyr6o6fy4.z2.web.core.windows.net/","blob":"https://clitest2dpu5cejmyr6o6fy4.blob.core.windows.net/","queue":"https://clitest2dpu5cejmyr6o6fy4.queue.core.windows.net/","table":"https://clitest2dpu5cejmyr6o6fy4.table.core.windows.net/","file":"https://clitest2dpu5cejmyr6o6fy4.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestrl6kiw7ux2j73xj2v7cbet4byjrmn5uenrcnz6qfu5oxpvxtkkik2djcxys4gcpfrgr4/providers/Microsoft.Storage/storageAccounts/clitest2hc2cek5kg4wbcqwa","name":"clitest2hc2cek5kg4wbcqwa","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-18T09:03:47.2900270Z","key2":"2021-06-18T09:03:47.2900270Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-18T09:03:47.2950283Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-18T09:03:47.2950283Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-18T09:03:47.2400033Z","primaryEndpoints":{"dfs":"https://clitest2hc2cek5kg4wbcqwa.dfs.core.windows.net/","web":"https://clitest2hc2cek5kg4wbcqwa.z2.web.core.windows.net/","blob":"https://clitest2hc2cek5kg4wbcqwa.blob.core.windows.net/","queue":"https://clitest2hc2cek5kg4wbcqwa.queue.core.windows.net/","table":"https://clitest2hc2cek5kg4wbcqwa.table.core.windows.net/","file":"https://clitest2hc2cek5kg4wbcqwa.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestcwbyb7elcliee36ry67adfa656263s5nl2c67it2o2pjr3wrh5mwmg3ocygfxjou3vxa/providers/Microsoft.Storage/storageAccounts/clitest2wy5mqj7vog4cn65p","name":"clitest2wy5mqj7vog4cn65p","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-22T16:12:01.9361563Z","key2":"2021-10-22T16:12:01.9361563Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T16:12:01.9361563Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-22T16:12:01.9361563Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-22T16:12:01.8580265Z","primaryEndpoints":{"dfs":"https://clitest2wy5mqj7vog4cn65p.dfs.core.windows.net/","web":"https://clitest2wy5mqj7vog4cn65p.z2.web.core.windows.net/","blob":"https://clitest2wy5mqj7vog4cn65p.blob.core.windows.net/","queue":"https://clitest2wy5mqj7vog4cn65p.queue.core.windows.net/","table":"https://clitest2wy5mqj7vog4cn65p.table.core.windows.net/","file":"https://clitest2wy5mqj7vog4cn65p.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesto72ftnrt7hfn5ltlqnh34e5cjvdyfwj4ny5d7yebu4imldxsoizqp5cazyouoms7ev6j/providers/Microsoft.Storage/storageAccounts/clitest4suuy3hvssqi2u3px","name":"clitest4suuy3hvssqi2u3px","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-11T22:23:05.8954115Z","key2":"2021-11-11T22:23:05.8954115Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:23:05.9110345Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:23:05.9110345Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-11T22:23:05.8172663Z","primaryEndpoints":{"dfs":"https://clitest4suuy3hvssqi2u3px.dfs.core.windows.net/","web":"https://clitest4suuy3hvssqi2u3px.z2.web.core.windows.net/","blob":"https://clitest4suuy3hvssqi2u3px.blob.core.windows.net/","queue":"https://clitest4suuy3hvssqi2u3px.queue.core.windows.net/","table":"https://clitest4suuy3hvssqi2u3px.table.core.windows.net/","file":"https://clitest4suuy3hvssqi2u3px.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlg5ebdqcv52sflwjoqlwhicwckgl6uznufjdep6cezb52lt73nagcohr2yn5s2pjkddl/providers/Microsoft.Storage/storageAccounts/clitest6vxkrzgloyre3jqjs","name":"clitest6vxkrzgloyre3jqjs","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-07-23T03:10:29.4846667Z","key2":"2021-07-23T03:10:29.4846667Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-23T03:10:29.5002574Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-23T03:10:29.5002574Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-23T03:10:29.4377939Z","primaryEndpoints":{"dfs":"https://clitest6vxkrzgloyre3jqjs.dfs.core.windows.net/","web":"https://clitest6vxkrzgloyre3jqjs.z2.web.core.windows.net/","blob":"https://clitest6vxkrzgloyre3jqjs.blob.core.windows.net/","queue":"https://clitest6vxkrzgloyre3jqjs.queue.core.windows.net/","table":"https://clitest6vxkrzgloyre3jqjs.table.core.windows.net/","file":"https://clitest6vxkrzgloyre3jqjs.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestmrngm5xnqzkfc35bpac2frhloyp5bhqs3bkzmzzsk4uxhhc5g5bilsacnxbfmtzgwe2j/providers/Microsoft.Storage/storageAccounts/clitest7bnb7msut4cjgzpbr","name":"clitest7bnb7msut4cjgzpbr","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-29T22:46:56.7491572Z","key2":"2021-10-29T22:46:56.7491572Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:46:56.7491572Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-29T22:46:56.7491572Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-29T22:46:56.6866372Z","primaryEndpoints":{"dfs":"https://clitest7bnb7msut4cjgzpbr.dfs.core.windows.net/","web":"https://clitest7bnb7msut4cjgzpbr.z2.web.core.windows.net/","blob":"https://clitest7bnb7msut4cjgzpbr.blob.core.windows.net/","queue":"https://clitest7bnb7msut4cjgzpbr.queue.core.windows.net/","table":"https://clitest7bnb7msut4cjgzpbr.table.core.windows.net/","file":"https://clitest7bnb7msut4cjgzpbr.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestfwybg5aqnlewkvelizobsdyy6zocpnnltod4k5d6l62rlz3wfkmdpz7fcw3xbvo45lad/providers/Microsoft.Storage/storageAccounts/clitestdk7kvmf5lss5lltse","name":"clitestdk7kvmf5lss5lltse","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-21T03:24:22.5335528Z","key2":"2021-06-21T03:24:22.5335528Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-21T03:24:22.5335528Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-21T03:24:22.5335528Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-21T03:24:22.4635745Z","primaryEndpoints":{"dfs":"https://clitestdk7kvmf5lss5lltse.dfs.core.windows.net/","web":"https://clitestdk7kvmf5lss5lltse.z2.web.core.windows.net/","blob":"https://clitestdk7kvmf5lss5lltse.blob.core.windows.net/","queue":"https://clitestdk7kvmf5lss5lltse.queue.core.windows.net/","table":"https://clitestdk7kvmf5lss5lltse.table.core.windows.net/","file":"https://clitestdk7kvmf5lss5lltse.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestaplqr3c25xdddlwukirxixwo5byw5rkls3kr5fo66qoamflxrkjhxpt27enj7wmk2yuj/providers/Microsoft.Storage/storageAccounts/clitestfbytzu7syzfrmr7kf","name":"clitestfbytzu7syzfrmr7kf","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-04T22:22:45.3374456Z","key2":"2021-11-04T22:22:45.3374456Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:22:45.3374456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-04T22:22:45.3374456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-04T22:22:45.2593440Z","primaryEndpoints":{"dfs":"https://clitestfbytzu7syzfrmr7kf.dfs.core.windows.net/","web":"https://clitestfbytzu7syzfrmr7kf.z2.web.core.windows.net/","blob":"https://clitestfbytzu7syzfrmr7kf.blob.core.windows.net/","queue":"https://clitestfbytzu7syzfrmr7kf.queue.core.windows.net/","table":"https://clitestfbytzu7syzfrmr7kf.table.core.windows.net/","file":"https://clitestfbytzu7syzfrmr7kf.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestkmydtxqqwqds5d67vdbrwtk32xdryjsxq6fp74nse75bdhdla7mh47b6myevefnapwyx/providers/Microsoft.Storage/storageAccounts/clitestgqwsejh46zuqlc5pm","name":"clitestgqwsejh46zuqlc5pm","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-06T05:27:12.7993484Z","key2":"2021-08-06T05:27:12.7993484Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-06T05:27:12.8149753Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-06T05:27:12.8149753Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-06T05:27:12.7368799Z","primaryEndpoints":{"dfs":"https://clitestgqwsejh46zuqlc5pm.dfs.core.windows.net/","web":"https://clitestgqwsejh46zuqlc5pm.z2.web.core.windows.net/","blob":"https://clitestgqwsejh46zuqlc5pm.blob.core.windows.net/","queue":"https://clitestgqwsejh46zuqlc5pm.queue.core.windows.net/","table":"https://clitestgqwsejh46zuqlc5pm.table.core.windows.net/","file":"https://clitestgqwsejh46zuqlc5pm.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestndsnnd5ibnsjkzl7w5mbaujjmelonc2xjmyrd325iiwno27u6sxcxkewjeox2x2wr633/providers/Microsoft.Storage/storageAccounts/clitestgz6nb4it72a36mdpt","name":"clitestgz6nb4it72a36mdpt","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-20T02:02:00.4577106Z","key2":"2021-08-20T02:02:00.4577106Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-20T02:02:00.4577106Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-20T02:02:00.4577106Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-20T02:02:00.3952449Z","primaryEndpoints":{"dfs":"https://clitestgz6nb4it72a36mdpt.dfs.core.windows.net/","web":"https://clitestgz6nb4it72a36mdpt.z2.web.core.windows.net/","blob":"https://clitestgz6nb4it72a36mdpt.blob.core.windows.net/","queue":"https://clitestgz6nb4it72a36mdpt.queue.core.windows.net/","table":"https://clitestgz6nb4it72a36mdpt.table.core.windows.net/","file":"https://clitestgz6nb4it72a36mdpt.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestsc4q5ncei7qimmmmtqmedt4valwfif74bbu7mdfwqimzfzfkopwgrmua7p4rcsga53m4/providers/Microsoft.Storage/storageAccounts/clitestlssboc5vg5mdivn4h","name":"clitestlssboc5vg5mdivn4h","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-18T08:34:36.9887468Z","key2":"2021-06-18T08:34:36.9887468Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-18T08:34:36.9937445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-18T08:34:36.9937445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-18T08:34:36.9237913Z","primaryEndpoints":{"dfs":"https://clitestlssboc5vg5mdivn4h.dfs.core.windows.net/","web":"https://clitestlssboc5vg5mdivn4h.z2.web.core.windows.net/","blob":"https://clitestlssboc5vg5mdivn4h.blob.core.windows.net/","queue":"https://clitestlssboc5vg5mdivn4h.queue.core.windows.net/","table":"https://clitestlssboc5vg5mdivn4h.table.core.windows.net/","file":"https://clitestlssboc5vg5mdivn4h.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest5yatgcl7dfear3v3e5d5hrqbpo5bdotmwoq7auiuykmzx74is6rzhkib56ajwf5ghxrk/providers/Microsoft.Storage/storageAccounts/clitestlzfflnot5wnc3y4j3","name":"clitestlzfflnot5wnc3y4j3","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-28T02:21:02.0736425Z","key2":"2021-09-28T02:21:02.0736425Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T02:21:02.0736425Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T02:21:02.0736425Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-28T02:21:02.0267640Z","primaryEndpoints":{"dfs":"https://clitestlzfflnot5wnc3y4j3.dfs.core.windows.net/","web":"https://clitestlzfflnot5wnc3y4j3.z2.web.core.windows.net/","blob":"https://clitestlzfflnot5wnc3y4j3.blob.core.windows.net/","queue":"https://clitestlzfflnot5wnc3y4j3.queue.core.windows.net/","table":"https://clitestlzfflnot5wnc3y4j3.table.core.windows.net/","file":"https://clitestlzfflnot5wnc3y4j3.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestjkw7fpanpscpileddbqrrrkjrtb5xi47wmvttkiqwsqcuo3ldvzszwso3x4c5apy6m5o/providers/Microsoft.Storage/storageAccounts/clitestm6u3xawj3qsydpfam","name":"clitestm6u3xawj3qsydpfam","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T07:13:03.1496586Z","key2":"2021-09-07T07:13:03.1496586Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T07:13:03.1496586Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T07:13:03.1496586Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T07:13:03.0714932Z","primaryEndpoints":{"dfs":"https://clitestm6u3xawj3qsydpfam.dfs.core.windows.net/","web":"https://clitestm6u3xawj3qsydpfam.z2.web.core.windows.net/","blob":"https://clitestm6u3xawj3qsydpfam.blob.core.windows.net/","queue":"https://clitestm6u3xawj3qsydpfam.queue.core.windows.net/","table":"https://clitestm6u3xawj3qsydpfam.table.core.windows.net/","file":"https://clitestm6u3xawj3qsydpfam.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestvabzmquoslc3mtf5h3qd7dglwx45me4yxyefaw4ktsf7fbc3bx2tl75tdn5eqbgd3atx/providers/Microsoft.Storage/storageAccounts/clitestq7ur4vdqkjvy2rdgj","name":"clitestq7ur4vdqkjvy2rdgj","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-28T02:27:14.4071914Z","key2":"2021-09-28T02:27:14.4071914Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T02:27:14.4071914Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-28T02:27:14.4071914Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-28T02:27:14.3446978Z","primaryEndpoints":{"dfs":"https://clitestq7ur4vdqkjvy2rdgj.dfs.core.windows.net/","web":"https://clitestq7ur4vdqkjvy2rdgj.z2.web.core.windows.net/","blob":"https://clitestq7ur4vdqkjvy2rdgj.blob.core.windows.net/","queue":"https://clitestq7ur4vdqkjvy2rdgj.queue.core.windows.net/","table":"https://clitestq7ur4vdqkjvy2rdgj.table.core.windows.net/","file":"https://clitestq7ur4vdqkjvy2rdgj.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestugd6g2jxyo5mu6uxhc4zea4ygi2iuubouzxmdyuz6srnvrbwlidbvuu4qdieuwg4xlsr/providers/Microsoft.Storage/storageAccounts/clitestqorauf75d5yqkhdhc","name":"clitestqorauf75d5yqkhdhc","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-03T02:52:09.6342752Z","key2":"2021-09-03T02:52:09.6342752Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-03T02:52:09.6342752Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-03T02:52:09.6342752Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-03T02:52:09.5561638Z","primaryEndpoints":{"dfs":"https://clitestqorauf75d5yqkhdhc.dfs.core.windows.net/","web":"https://clitestqorauf75d5yqkhdhc.z2.web.core.windows.net/","blob":"https://clitestqorauf75d5yqkhdhc.blob.core.windows.net/","queue":"https://clitestqorauf75d5yqkhdhc.queue.core.windows.net/","table":"https://clitestqorauf75d5yqkhdhc.table.core.windows.net/","file":"https://clitestqorauf75d5yqkhdhc.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestzbuh7m7bllna7xosjhxr5ppfs6tnukxctfm4ydkzmzvyt7tf2ru3yjmthwy6mqqp62yy/providers/Microsoft.Storage/storageAccounts/clitestrpsk56xwloumq6ngj","name":"clitestrpsk56xwloumq6ngj","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-06-21T05:52:26.0729783Z","key2":"2021-06-21T05:52:26.0729783Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-21T05:52:26.0779697Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-06-21T05:52:26.0779697Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-06-21T05:52:26.0129686Z","primaryEndpoints":{"dfs":"https://clitestrpsk56xwloumq6ngj.dfs.core.windows.net/","web":"https://clitestrpsk56xwloumq6ngj.z2.web.core.windows.net/","blob":"https://clitestrpsk56xwloumq6ngj.blob.core.windows.net/","queue":"https://clitestrpsk56xwloumq6ngj.queue.core.windows.net/","table":"https://clitestrpsk56xwloumq6ngj.table.core.windows.net/","file":"https://clitestrpsk56xwloumq6ngj.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest62jxvr4odko5gn5tjo4z7ypmirid6zm72g3ah6zg25qh5r5xve5fhikdcnjpxvsaikhl/providers/Microsoft.Storage/storageAccounts/clitestst2iwgltnfj4zoiva","name":"clitestst2iwgltnfj4zoiva","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-08-27T01:58:18.2723177Z","key2":"2021-08-27T01:58:18.2723177Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-27T01:58:18.2723177Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-08-27T01:58:18.2723177Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-08-27T01:58:18.2410749Z","primaryEndpoints":{"dfs":"https://clitestst2iwgltnfj4zoiva.dfs.core.windows.net/","web":"https://clitestst2iwgltnfj4zoiva.z2.web.core.windows.net/","blob":"https://clitestst2iwgltnfj4zoiva.blob.core.windows.net/","queue":"https://clitestst2iwgltnfj4zoiva.queue.core.windows.net/","table":"https://clitestst2iwgltnfj4zoiva.table.core.windows.net/","file":"https://clitestst2iwgltnfj4zoiva.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestxk2peoqt7nd76ktof7sub3mkkcldygtt36d3imnwjd5clletodypibd5uaglpdk44yjm/providers/Microsoft.Storage/storageAccounts/clitestu6whdalngwsksemjs","name":"clitestu6whdalngwsksemjs","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-10T02:29:23.5697486Z","key2":"2021-09-10T02:29:23.5697486Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-10T02:29:23.5697486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-10T02:29:23.5697486Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-10T02:29:23.5072536Z","primaryEndpoints":{"dfs":"https://clitestu6whdalngwsksemjs.dfs.core.windows.net/","web":"https://clitestu6whdalngwsksemjs.z2.web.core.windows.net/","blob":"https://clitestu6whdalngwsksemjs.blob.core.windows.net/","queue":"https://clitestu6whdalngwsksemjs.queue.core.windows.net/","table":"https://clitestu6whdalngwsksemjs.table.core.windows.net/","file":"https://clitestu6whdalngwsksemjs.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlriqfcojv6aujusys633edrxi3tkric7e6cvk5wwgjmdg4736dv56w4lwzmdnq5tr3mq/providers/Microsoft.Storage/storageAccounts/clitestw6aumidrfwmoqkzvm","name":"clitestw6aumidrfwmoqkzvm","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-18T23:32:38.8527397Z","key2":"2021-11-18T23:32:38.8527397Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:32:38.8527397Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:32:38.8527397Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-18T23:32:38.7902807Z","primaryEndpoints":{"dfs":"https://clitestw6aumidrfwmoqkzvm.dfs.core.windows.net/","web":"https://clitestw6aumidrfwmoqkzvm.z2.web.core.windows.net/","blob":"https://clitestw6aumidrfwmoqkzvm.blob.core.windows.net/","queue":"https://clitestw6aumidrfwmoqkzvm.queue.core.windows.net/","table":"https://clitestw6aumidrfwmoqkzvm.table.core.windows.net/","file":"https://clitestw6aumidrfwmoqkzvm.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesttlschpyugymorheodsulam7yhpwylijzpbmjr3phwwis4vj2rx5elxcjkb236fcnumx3/providers/Microsoft.Storage/storageAccounts/clitestwv22naweyfr4m5rga","name":"clitestwv22naweyfr4m5rga","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-01T19:54:26.9185866Z","key2":"2021-11-01T19:54:26.9185866Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:54:26.9185866Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-01T19:54:26.9185866Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-01T19:54:26.8717369Z","primaryEndpoints":{"dfs":"https://clitestwv22naweyfr4m5rga.dfs.core.windows.net/","web":"https://clitestwv22naweyfr4m5rga.z2.web.core.windows.net/","blob":"https://clitestwv22naweyfr4m5rga.blob.core.windows.net/","queue":"https://clitestwv22naweyfr4m5rga.queue.core.windows.net/","table":"https://clitestwv22naweyfr4m5rga.table.core.windows.net/","file":"https://clitestwv22naweyfr4m5rga.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesth52efeutldrxowe5cfayjvk4zhpypdmky6fyppzro5r3ldqu7dwf2ca6jf3lqm4eijf6/providers/Microsoft.Storage/storageAccounts/clitestx5fskzfbidzs4kqmu","name":"clitestx5fskzfbidzs4kqmu","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-05T08:48:16.0575682Z","key2":"2021-11-05T08:48:16.0575682Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:48:16.0575682Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-05T08:48:16.0575682Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-05T08:48:15.9794412Z","primaryEndpoints":{"dfs":"https://clitestx5fskzfbidzs4kqmu.dfs.core.windows.net/","web":"https://clitestx5fskzfbidzs4kqmu.z2.web.core.windows.net/","blob":"https://clitestx5fskzfbidzs4kqmu.blob.core.windows.net/","queue":"https://clitestx5fskzfbidzs4kqmu.queue.core.windows.net/","table":"https://clitestx5fskzfbidzs4kqmu.table.core.windows.net/","file":"https://clitestx5fskzfbidzs4kqmu.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlnzg2rscuyweetdgvywse35jkhd3s7gay3wnjzoyqojyq6i3iw42uycss45mj52zitnl/providers/Microsoft.Storage/storageAccounts/clitestzarcstbcgg3yqinfg","name":"clitestzarcstbcgg3yqinfg","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-07-30T02:23:46.1127669Z","key2":"2021-07-30T02:23:46.1127669Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-30T02:23:46.1127669Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-07-30T02:23:46.1127669Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-07-30T02:23:46.0658902Z","primaryEndpoints":{"dfs":"https://clitestzarcstbcgg3yqinfg.dfs.core.windows.net/","web":"https://clitestzarcstbcgg3yqinfg.z2.web.core.windows.net/","blob":"https://clitestzarcstbcgg3yqinfg.blob.core.windows.net/","queue":"https://clitestzarcstbcgg3yqinfg.queue.core.windows.net/","table":"https://clitestzarcstbcgg3yqinfg.table.core.windows.net/","file":"https://clitestzarcstbcgg3yqinfg.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test1122/providers/Microsoft.Storage/storageAccounts/testsftp","name":"testsftp","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:04:23.8148173Z","key2":"2021-11-22T08:04:23.8148173Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":false,"isSftpEnabled":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:04:23.8148173Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:04:23.8148173Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:04:23.7523395Z","primaryEndpoints":{"dfs":"https://testsftp.dfs.core.windows.net/","web":"https://testsftp.z2.web.core.windows.net/","blob":"https://testsftp.blob.core.windows.net/","queue":"https://testsftp.queue.core.windows.net/","table":"https://testsftp.table.core.windows.net/","file":"https://testsftp.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestrvgfrlua5ai2leiutip26a27qxs2lzedu3g6gjrqjzi3rna2yxcinlc5ioxhhfvnx5rv/providers/Microsoft.Storage/storageAccounts/versiongdbkjcemb56eyu3rj","name":"versiongdbkjcemb56eyu3rj","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-18T23:17:17.2960150Z","key2":"2021-11-18T23:17:17.2960150Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:17:17.2960150Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-18T23:17:17.2960150Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-18T23:17:17.2335295Z","primaryEndpoints":{"dfs":"https://versiongdbkjcemb56eyu3rj.dfs.core.windows.net/","web":"https://versiongdbkjcemb56eyu3rj.z2.web.core.windows.net/","blob":"https://versiongdbkjcemb56eyu3rj.blob.core.windows.net/","queue":"https://versiongdbkjcemb56eyu3rj.queue.core.windows.net/","table":"https://versiongdbkjcemb56eyu3rj.table.core.windows.net/","file":"https://versiongdbkjcemb56eyu3rj.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestnsw32miijgjmandsqepzbytqsxe2dbpfuh3t2d2u7saewxrnoilajjocllnjxt45ggjc/providers/Microsoft.Storage/storageAccounts/versionhf53xzmbt3fwu3kn3","name":"versionhf53xzmbt3fwu3kn3","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T02:29:06.2474527Z","key2":"2021-09-07T02:29:06.2474527Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:29:06.2474527Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:29:06.2474527Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T02:29:06.1849281Z","primaryEndpoints":{"dfs":"https://versionhf53xzmbt3fwu3kn3.dfs.core.windows.net/","web":"https://versionhf53xzmbt3fwu3kn3.z2.web.core.windows.net/","blob":"https://versionhf53xzmbt3fwu3kn3.blob.core.windows.net/","queue":"https://versionhf53xzmbt3fwu3kn3.queue.core.windows.net/","table":"https://versionhf53xzmbt3fwu3kn3.table.core.windows.net/","file":"https://versionhf53xzmbt3fwu3kn3.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestyex6l2i6otx4eikzzr7rikdz4b6rezhqeg6mnzwvtof4vpxkcw34rd7hwpk7q5ltnrxp/providers/Microsoft.Storage/storageAccounts/versionncoq7gv5mbp4o2uf6","name":"versionncoq7gv5mbp4o2uf6","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-15T06:47:03.1566686Z","key2":"2021-10-15T06:47:03.1566686Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T06:47:03.1723019Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-15T06:47:03.1723019Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-15T06:47:03.0785915Z","primaryEndpoints":{"dfs":"https://versionncoq7gv5mbp4o2uf6.dfs.core.windows.net/","web":"https://versionncoq7gv5mbp4o2uf6.z2.web.core.windows.net/","blob":"https://versionncoq7gv5mbp4o2uf6.blob.core.windows.net/","queue":"https://versionncoq7gv5mbp4o2uf6.queue.core.windows.net/","table":"https://versionncoq7gv5mbp4o2uf6.table.core.windows.net/","file":"https://versionncoq7gv5mbp4o2uf6.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestyxq5yt6z4or5ddvyvubtdjn73mslv25s4bqqme3ljmj6jsaagbmyn376m3cdex35tubw/providers/Microsoft.Storage/storageAccounts/versionqp3efyteboplomp5w","name":"versionqp3efyteboplomp5w","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T02:20:09.3003824Z","key2":"2021-09-07T02:20:09.3003824Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:20:09.3003824Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:20:09.3003824Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T02:20:09.2378807Z","primaryEndpoints":{"dfs":"https://versionqp3efyteboplomp5w.dfs.core.windows.net/","web":"https://versionqp3efyteboplomp5w.z2.web.core.windows.net/","blob":"https://versionqp3efyteboplomp5w.blob.core.windows.net/","queue":"https://versionqp3efyteboplomp5w.queue.core.windows.net/","table":"https://versionqp3efyteboplomp5w.table.core.windows.net/","file":"https://versionqp3efyteboplomp5w.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest27tntypkdnlo3adbzt7qqcx3detlxgtxnuxhaxdgobws4bjc26vshca2qezntlnmpuup/providers/Microsoft.Storage/storageAccounts/versionryihikjyurp5tntba","name":"versionryihikjyurp5tntba","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-11T22:07:42.2418545Z","key2":"2021-11-11T22:07:42.2418545Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:07:42.2418545Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-11T22:07:42.2418545Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-11T22:07:42.1637179Z","primaryEndpoints":{"dfs":"https://versionryihikjyurp5tntba.dfs.core.windows.net/","web":"https://versionryihikjyurp5tntba.z2.web.core.windows.net/","blob":"https://versionryihikjyurp5tntba.blob.core.windows.net/","queue":"https://versionryihikjyurp5tntba.queue.core.windows.net/","table":"https://versionryihikjyurp5tntba.table.core.windows.net/","file":"https://versionryihikjyurp5tntba.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesturbzqfflmkkupfwgtkutwvdy5nte5rec7neu6eyya4kahyepssopgq72mzxl54g7h2pt/providers/Microsoft.Storage/storageAccounts/versionscknbekpvmwrjeznt","name":"versionscknbekpvmwrjeznt","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-10-28T02:39:44.7553582Z","key2":"2021-10-28T02:39:44.7553582Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T02:39:44.7553582Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-10-28T02:39:44.7553582Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-10-28T02:39:44.6772068Z","primaryEndpoints":{"dfs":"https://versionscknbekpvmwrjeznt.dfs.core.windows.net/","web":"https://versionscknbekpvmwrjeznt.z2.web.core.windows.net/","blob":"https://versionscknbekpvmwrjeznt.blob.core.windows.net/","queue":"https://versionscknbekpvmwrjeznt.queue.core.windows.net/","table":"https://versionscknbekpvmwrjeznt.table.core.windows.net/","file":"https://versionscknbekpvmwrjeznt.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestrhkyigtoloz2mqogvsddvmbtemvops4dw6kluaww553xqrbl5kwgnpuse5fdom2fq5bd/providers/Microsoft.Storage/storageAccounts/versionvsfin4nwuwcxndawj","name":"versionvsfin4nwuwcxndawj","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T02:26:57.6350762Z","key2":"2021-09-07T02:26:57.6350762Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:26:57.6350762Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:26:57.6350762Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T02:26:57.5726321Z","primaryEndpoints":{"dfs":"https://versionvsfin4nwuwcxndawj.dfs.core.windows.net/","web":"https://versionvsfin4nwuwcxndawj.z2.web.core.windows.net/","blob":"https://versionvsfin4nwuwcxndawj.blob.core.windows.net/","queue":"https://versionvsfin4nwuwcxndawj.queue.core.windows.net/","table":"https://versionvsfin4nwuwcxndawj.table.core.windows.net/","file":"https://versionvsfin4nwuwcxndawj.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestyvbbewdobz5vnqkoyumrkqbdufktrisug2ukkkvnirbc6frn2hxuvpe7weosgtfc4spk/providers/Microsoft.Storage/storageAccounts/versionymg2k5haow6be3wlh","name":"versionymg2k5haow6be3wlh","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-08T05:20:27.5220722Z","key2":"2021-11-08T05:20:27.5220722Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-08T05:20:27.5220722Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-08T05:20:27.5220722Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-08T05:20:27.4439279Z","primaryEndpoints":{"dfs":"https://versionymg2k5haow6be3wlh.dfs.core.windows.net/","web":"https://versionymg2k5haow6be3wlh.z2.web.core.windows.net/","blob":"https://versionymg2k5haow6be3wlh.blob.core.windows.net/","queue":"https://versionymg2k5haow6be3wlh.queue.core.windows.net/","table":"https://versionymg2k5haow6be3wlh.table.core.windows.net/","file":"https://versionymg2k5haow6be3wlh.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestkngvostxvfzwz7hb2pyqpst4ekovxl4qehicnbufjmoug5injclokanwouejm77muega/providers/Microsoft.Storage/storageAccounts/versionyrdifxty6izovwb6i","name":"versionyrdifxty6izovwb6i","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-09-07T02:23:07.0385168Z","key2":"2021-09-07T02:23:07.0385168Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:23:07.0385168Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-07T02:23:07.0385168Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-07T02:23:06.9760160Z","primaryEndpoints":{"dfs":"https://versionyrdifxty6izovwb6i.dfs.core.windows.net/","web":"https://versionyrdifxty6izovwb6i.z2.web.core.windows.net/","blob":"https://versionyrdifxty6izovwb6i.blob.core.windows.net/","queue":"https://versionyrdifxty6izovwb6i.queue.core.windows.net/","table":"https://versionyrdifxty6izovwb6i.table.core.windows.net/","file":"https://versionyrdifxty6izovwb6i.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","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":"centraluseuap","tags":{},"properties":{"defaultToOAuthAuthentication":false,"keyCreationTime":{"key1":"2021-09-06T07:56:33.4932788Z","key2":"2021-09-06T07:56:33.4932788Z"},"allowCrossTenantReplication":true,"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-09-06T07:56:33.5088661Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-06T07:56:33.5088661Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-06T07:56:33.4151419Z","primaryEndpoints":{"dfs":"https://yssaeuap.dfs.core.windows.net/","web":"https://yssaeuap.z2.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":"centraluseuap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhiyihuang-rg-euap/providers/Microsoft.Storage/storageAccounts/zhiyihuangsaeuap","name":"zhiyihuangsaeuap","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"immutableStorageWithVersioning":{"enabled":true},"keyCreationTime":{"key1":"2021-09-24T05:54:33.0930905Z","key2":"2021-09-24T05:54:33.0930905Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-24T05:54:33.1087163Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-09-24T05:54:33.1087163Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-09-24T05:54:33.0305911Z","primaryEndpoints":{"dfs":"https://zhiyihuangsaeuap.dfs.core.windows.net/","web":"https://zhiyihuangsaeuap.z2.web.core.windows.net/","blob":"https://zhiyihuangsaeuap.blob.core.windows.net/","queue":"https://zhiyihuangsaeuap.queue.core.windows.net/","table":"https://zhiyihuangsaeuap.table.core.windows.net/","file":"https://zhiyihuangsaeuap.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available","secondaryLocation":"eastus2euap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhiyihuangsaeuap-secondary.dfs.core.windows.net/","web":"https://zhiyihuangsaeuap-secondary.z2.web.core.windows.net/","blob":"https://zhiyihuangsaeuap-secondary.blob.core.windows.net/","queue":"https://zhiyihuangsaeuap-secondary.queue.core.windows.net/","table":"https://zhiyihuangsaeuap-secondary.table.core.windows.net/"}}}]}' + headers: + cache-control: + - no-cache + content-length: + - '269255' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 22 Nov 2021 08:39:45 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: + - 7cdc2411-975f-4d8d-a019-a320a61fb284 + - e2091454-9cad-4355-923f-28a7dd40abd8 + - 6ca15e39-5f27-410c-8840-bf4b653ce6cb + - b8c21122-ff11-4d7b-9cfa-2cc2cc1ad7e3 + - 6a8d25b7-fef2-4e5b-9353-520540d14c54 + - 128e6727-aa35-45dd-be27-fb16258fa15a + - b6453ee6-87fc-443d-9012-10941c8d1312 + - a3f245a8-7d56-47ed-9e90-49e7210f3ece + - 97e42c6c-83aa-45e9-9768-23136496018a + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + ParameterSetName: + - -n --enable-local-user + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:39:14.4593875Z","key2":"2021-11-22T08:39:14.4593875Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":true,"isSftpEnabled":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:39:14.3812169Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z2.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1649' + content-type: + - application/json + date: + - Mon, 22 Nov 2021 08:39:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"sku": {"name": "Standard_LRS"}, "tags": {}, "properties": {"encryption": + {"services": {"blob": {"enabled": true, "keyType": "Account"}, "file": {"enabled": + true, "keyType": "Account"}}, "keySource": "Microsoft.Storage"}, "accessTier": + "Hot", "supportsHttpsTrafficOnly": true, "isLocalUserEnabled": false, "networkAcls": + {"bypass": "AzureServices", "virtualNetworkRules": [], "ipRules": [], "defaultAction": + "Allow"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + Content-Length: + - '419' + Content-Type: + - application/json + ParameterSetName: + - -n --enable-local-user + User-Agent: + - AZURECLI/2.30.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_account_sftp000001/providers/Microsoft.Storage/storageAccounts/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-11-22T08:39:14.4593875Z","key2":"2021-11-22T08:39:14.4593875Z"},"privateEndpointConnections":[],"isNfsV3Enabled":false,"isLocalUserEnabled":false,"isSftpEnabled":false,"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-11-22T08:39:14.4593875Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-11-22T08:39:14.3812169Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z2.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1650' + content-type: + - application/json + date: + - Mon, 22 Nov 2021 08:39:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_with_files_adds_sam_account_name.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_with_files_adds_sam_account_name.yaml new file mode 100644 index 00000000000..492ddefadb7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_with_files_adds_sam_account_name.yaml @@ -0,0 +1,308 @@ +interactions: +- request: + body: '{"sku": {"name": "Standard_RAGRS"}, "kind": "StorageV2", "location": "eastus2euap", + "properties": {"encryption": {"services": {"blob": {}}, "keySource": "Microsoft.Storage"}, + "azureFilesIdentityBasedAuthentication": {"directoryServiceOptions": "AD", "activeDirectoryProperties": + {"domainName": "mydomain.com", "netBiosDomainName": "mydomain.com", "forestName": + "mydomain.com", "domainGuid": "12345678-1234-1234-1234-123456789012", "domainSid": + "S-1-5-21-1234567890-1234567890-1234567890", "azureStorageSid": "S-1-5-21-1234567890-1234567890-1234567890-1234", + "samAccountName": "samaccount000003", "accountType": "User"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + Content-Length: + - '621' + Content-Type: + - application/json + ParameterSetName: + - -n -g -l --enable-files-adds --domain-name --net-bios-domain-name --forest-name + --domain-guid --domain-sid --azure-storage-sid --sam-account-name --account-type + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Thu, 13 Jan 2022 04:10:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/ef440aed-afb7-4692-9252-6d0de5183d1d?monitor=true&api-version=2021-08-01 + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + 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: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --enable-files-adds --domain-name --net-bios-domain-name --forest-name + --domain-guid --domain-sid --azure-storage-sid --sam-account-name --account-type + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/ef440aed-afb7-4692-9252-6d0de5183d1d?monitor=true&api-version=2021-08-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + content-type: + - text/plain; charset=utf-8 + date: + - Thu, 13 Jan 2022 04:10:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/ef440aed-afb7-4692-9252-6d0de5183d1d?monitor=true&api-version=2021-08-01 + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account create + Connection: + - keep-alive + ParameterSetName: + - -n -g -l --enable-files-adds --domain-name --net-bios-domain-name --forest-name + --domain-guid --domain-sid --azure-storage-sid --sam-account-name --account-type + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/ef440aed-afb7-4692-9252-6d0de5183d1d?monitor=true&api-version=2021-08-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/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2022-01-13T04:10:16.6848412Z","key2":"2022-01-13T04:10:16.6848412Z"},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"AD","activeDirectoryProperties":{"samAccountName":"samaccount000003","accountType":"User","domainName":"mydomain.com","netBiosDomainName":"mydomain.com","forestName":"mydomain.com","domainGuid":"12345678-1234-1234-1234-123456789012","domainSid":"S-1-5-21-1234567890-1234567890-1234567890","azureStorageSid":"S-1-5-21-1234567890-1234567890-1234567890-1234"}},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-13T04:10:16.6848412Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-13T04:10:16.6848412Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-13T04:10:16.5910661Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z3.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000002-secondary.dfs.core.windows.net/","web":"https://cli000002-secondary.z3.web.core.windows.net/","blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}' + headers: + cache-control: + - no-cache + content-length: + - '2197' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 04:10:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-files-adds --domain-name --net-bios-domain-name --forest-name + --domain-guid --domain-sid --azure-storage-sid --sam-account-name --account-type + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-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/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2022-01-13T04:10:16.6848412Z","key2":"2022-01-13T04:10:16.6848412Z"},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"AD","activeDirectoryProperties":{"samAccountName":"samaccount000003","accountType":"User","domainName":"mydomain.com","netBiosDomainName":"mydomain.com","forestName":"mydomain.com","domainGuid":"12345678-1234-1234-1234-123456789012","domainSid":"S-1-5-21-1234567890-1234567890-1234567890","azureStorageSid":"S-1-5-21-1234567890-1234567890-1234567890-1234"}},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-13T04:10:16.6848412Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-13T04:10:16.6848412Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-13T04:10:16.5910661Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z3.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000002-secondary.dfs.core.windows.net/","web":"https://cli000002-secondary.z3.web.core.windows.net/","blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}' + headers: + cache-control: + - no-cache + content-length: + - '2197' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 04:10:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + ParameterSetName: + - -n -g --enable-files-adds --domain-name --net-bios-domain-name --forest-name + --domain-guid --domain-sid --azure-storage-sid --sam-account-name --account-type + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-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/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2022-01-13T04:10:16.6848412Z","key2":"2022-01-13T04:10:16.6848412Z"},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"AD","activeDirectoryProperties":{"samAccountName":"samaccount000003","accountType":"User","domainName":"mydomain.com","netBiosDomainName":"mydomain.com","forestName":"mydomain.com","domainGuid":"12345678-1234-1234-1234-123456789012","domainSid":"S-1-5-21-1234567890-1234567890-1234567890","azureStorageSid":"S-1-5-21-1234567890-1234567890-1234567890-1234"}},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-13T04:10:16.6848412Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-13T04:10:16.6848412Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-13T04:10:16.5910661Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z3.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000002-secondary.dfs.core.windows.net/","web":"https://cli000002-secondary.z3.web.core.windows.net/","blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}' + headers: + cache-control: + - no-cache + content-length: + - '2197' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 04:10:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"sku": {"name": "Standard_RAGRS"}, "tags": {}, "properties": {"encryption": + {"services": {"blob": {"enabled": true, "keyType": "Account"}, "file": {"enabled": + true, "keyType": "Account"}}, "keySource": "Microsoft.Storage"}, "accessTier": + "Hot", "azureFilesIdentityBasedAuthentication": {"directoryServiceOptions": + "AD", "activeDirectoryProperties": {"domainName": "mydomain.com", "netBiosDomainName": + "mydomain.com", "forestName": "mydomain.com", "domainGuid": "12345678-1234-1234-1234-123456789012", + "domainSid": "S-1-5-21-1234567890-1234567890-1234567890", "azureStorageSid": + "S-1-5-21-1234567890-1234567890-1234567890-1234", "samAccountName": "newsamaccount000004", + "accountType": "Computer"}}, "supportsHttpsTrafficOnly": true, "networkAcls": + {"bypass": "AzureServices", "virtualNetworkRules": [], "ipRules": [], "defaultAction": + "Allow"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account update + Connection: + - keep-alive + Content-Length: + - '845' + Content-Type: + - application/json + ParameterSetName: + - -n -g --enable-files-adds --domain-name --net-bios-domain-name --forest-name + --domain-guid --domain-sid --azure-storage-sid --sam-account-name --account-type + User-Agent: + - AZURECLI/2.32.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.7.9 (Windows-10-10.0.22000-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/cli000002?api-version=2021-08-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/cli000002","name":"cli000002","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2022-01-13T04:10:16.6848412Z","key2":"2022-01-13T04:10:16.6848412Z"},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"AD","activeDirectoryProperties":{"samAccountName":"newsamaccount000004","accountType":"Computer","domainName":"mydomain.com","netBiosDomainName":"mydomain.com","forestName":"mydomain.com","domainGuid":"12345678-1234-1234-1234-123456789012","domainSid":"S-1-5-21-1234567890-1234567890-1234567890","azureStorageSid":"S-1-5-21-1234567890-1234567890-1234567890-1234"}},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-13T04:10:16.6848412Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-01-13T04:10:16.6848412Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-01-13T04:10:16.5910661Z","primaryEndpoints":{"dfs":"https://cli000002.dfs.core.windows.net/","web":"https://cli000002.z3.web.core.windows.net/","blob":"https://cli000002.blob.core.windows.net/","queue":"https://cli000002.queue.core.windows.net/","table":"https://cli000002.table.core.windows.net/","file":"https://cli000002.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000002-secondary.dfs.core.windows.net/","web":"https://cli000002-secondary.z3.web.core.windows.net/","blob":"https://cli000002-secondary.blob.core.windows.net/","queue":"https://cli000002-secondary.queue.core.windows.net/","table":"https://cli000002-secondary.table.core.windows.net/"}}}' + headers: + cache-control: + - no-cache + content-length: + - '2204' + content-type: + - application/json + date: + - Thu, 13 Jan 2022 04:10:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_azcopy_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_azcopy_scenarios.py index c91fcd3e8a8..d7bde225d91 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_azcopy_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_azcopy_scenarios.py @@ -7,7 +7,6 @@ from azure.cli.testsdk import (StorageAccountPreparer, LiveScenarioTest, JMESPathCheck, ResourceGroupPreparer, api_version_constraint) from .storage_test_util import StorageScenarioMixin, StorageTestFilesPreparer -from ...profiles import CUSTOM_MGMT_PREVIEW_STORAGE class StorageAzcopyTests(StorageScenarioMixin, LiveScenarioTest): 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 fbf28dec969..17149337fdd 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 @@ -2,17 +2,90 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure.cli.testsdk import (ScenarioTest, JMESPathCheck, ResourceGroupPreparer, StorageAccountPreparer, +from azure.cli.testsdk import (ScenarioTest, JMESPathCheck, JMESPathCheckExists, ResourceGroupPreparer, StorageAccountPreparer, api_version_constraint) -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from .storage_test_util import StorageScenarioMixin -from ...profiles import CUSTOM_MGMT_PREVIEW_STORAGE +from ...profiles import CUSTOM_MGMT_STORAGE from knack.util import CLIError -@api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2016-12-01') +class StorageAccountTests(StorageScenarioMixin, ScenarioTest): + @AllowLargeResponse() + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2021-08-01') + @ResourceGroupPreparer(name_prefix='cli_test_storage_account_sftp') + def test_storage_account_sftp(self, resource_group): + self.kwargs.update({ + 'rg': resource_group, + 'sa': self.create_random_name(prefix='cli', length=24), + 'loc': 'centraluseuap' + }) + self.cmd('storage account create -n {sa} -g {rg} -l {loc} --sku Standard_LRS --hns true ' + '--enable-sftp true --enable-nfs-v3 false --enable-local-user true', + checks=[JMESPathCheck('isSftpEnabled', True), JMESPathCheck('isLocalUserEnabled', True)]) + self.cmd('storage account update -n {sa} --enable-sftp false', + checks=[JMESPathCheck('isSftpEnabled', False), JMESPathCheck('isLocalUserEnabled', True)]) + self.cmd('storage account update -n {sa} --enable-local-user false', + checks=[JMESPathCheck('isSftpEnabled', False), JMESPathCheck('isLocalUserEnabled', False)]) + + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2021-08-01') + @ResourceGroupPreparer() + def test_storage_account_with_files_adds_sam_account_name(self, resource_group): + name = self.create_random_name(prefix='cli', length=24) + self.kwargs.update({ + 'rg': resource_group, + 'sc': name, + 'domain_name': 'mydomain.com', + 'net_bios_domain_name': 'mydomain.com', + 'forest_name': 'mydomain.com', + 'domain_guid': '12345678-1234-1234-1234-123456789012', + 'domain_sid': 'S-1-5-21-1234567890-1234567890-1234567890', + 'azure_storage_sid': 'S-1-5-21-1234567890-1234567890-1234567890-1234', + 'sam_account_name': self.create_random_name(prefix='samaccount', length=48) + }) + create_cmd = """storage account create -n {sc} -g {rg} -l eastus2euap --enable-files-adds --domain-name + {domain_name} --net-bios-domain-name {net_bios_domain_name} --forest-name {forest_name} --domain-guid + {domain_guid} --domain-sid {domain_sid} --azure-storage-sid {azure_storage_sid} + --sam-account-name {sam_account_name} --account-type User""" + result = self.cmd(create_cmd).get_output_in_json() + + self.assertIn('azureFilesIdentityBasedAuthentication', result) + self.assertEqual(result['azureFilesIdentityBasedAuthentication']['directoryServiceOptions'], 'AD') + activeDirectoryProperties = result['azureFilesIdentityBasedAuthentication']['activeDirectoryProperties'] + self.assertEqual(activeDirectoryProperties['samAccountName'], self.kwargs['sam_account_name']) + self.assertEqual(activeDirectoryProperties['accountType'], "User") + self.assertEqual(activeDirectoryProperties['azureStorageSid'], self.kwargs['azure_storage_sid']) + self.assertEqual(activeDirectoryProperties['domainGuid'], self.kwargs['domain_guid']) + self.assertEqual(activeDirectoryProperties['domainName'], self.kwargs['domain_name']) + self.assertEqual(activeDirectoryProperties['domainSid'], self.kwargs['domain_sid']) + self.assertEqual(activeDirectoryProperties['forestName'], self.kwargs['forest_name']) + self.assertEqual(activeDirectoryProperties['netBiosDomainName'], self.kwargs['net_bios_domain_name']) + + self.kwargs.update({ + 'sam_account_name': self.create_random_name(prefix='newsamaccount', length=48) + }) + update_cmd = """storage account update -n {sc} -g {rg} --enable-files-adds --domain-name {domain_name} + --net-bios-domain-name {net_bios_domain_name} --forest-name {forest_name} --domain-guid {domain_guid} + --domain-sid {domain_sid} --azure-storage-sid {azure_storage_sid} + --sam-account-name {sam_account_name} --account-type Computer""" + result = self.cmd(update_cmd).get_output_in_json() + + self.assertIn('azureFilesIdentityBasedAuthentication', result) + self.assertEqual(result['azureFilesIdentityBasedAuthentication']['directoryServiceOptions'], 'AD') + activeDirectoryProperties = result['azureFilesIdentityBasedAuthentication']['activeDirectoryProperties'] + self.assertEqual(activeDirectoryProperties['samAccountName'], self.kwargs['sam_account_name']) + self.assertEqual(activeDirectoryProperties['accountType'], "Computer") + self.assertEqual(activeDirectoryProperties['azureStorageSid'], self.kwargs['azure_storage_sid']) + self.assertEqual(activeDirectoryProperties['domainGuid'], self.kwargs['domain_guid']) + self.assertEqual(activeDirectoryProperties['domainName'], self.kwargs['domain_name']) + self.assertEqual(activeDirectoryProperties['domainSid'], self.kwargs['domain_sid']) + self.assertEqual(activeDirectoryProperties['forestName'], self.kwargs['forest_name']) + self.assertEqual(activeDirectoryProperties['netBiosDomainName'], self.kwargs['net_bios_domain_name']) + + +@api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class StorageAccountNetworkRuleTests(StorageScenarioMixin, ScenarioTest): - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2017-06-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2017-06-01') @ResourceGroupPreparer(name_prefix='cli_test_storage_service_endpoints') @StorageAccountPreparer() def test_storage_account_network_rules(self, resource_group): @@ -70,7 +143,7 @@ def test_storage_account_network_rules(self, resource_group): JMESPathCheck('length(virtualNetworkRules)', 0) ]) - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2020-08-01-preview') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2020-08-01-preview') @ResourceGroupPreparer(name_prefix='cli_test_storage_service_endpoints') @StorageAccountPreparer() def test_storage_account_resource_access_rules(self, resource_group, storage_account): @@ -123,95 +196,6 @@ def test_storage_account_resource_access_rules(self, resource_group, storage_acc ]) -class StorageAccountBlobInventoryScenarioTest(StorageScenarioMixin, ScenarioTest): - @AllowLargeResponse() - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2020-08-01-preview') - @ResourceGroupPreparer(name_prefix='cli_test_blob_inventory', location='eastus2') - @StorageAccountPreparer(location='eastus2euap', kind='StorageV2') - def test_storage_account_blob_inventory_policy(self, resource_group, storage_account): - import os - curr_dir = os.path.dirname(os.path.realpath(__file__)) - policy_file = os.path.join(curr_dir, 'blob_inventory_policy.json').replace('\\', '\\\\') - policy_file_no_type = os.path.join(curr_dir, 'blob_inventory_policy_no_type.json').replace('\\', '\\\\') - self.kwargs = {'rg': resource_group, - 'sa': storage_account, - 'policy': policy_file, - 'policy_no_type': policy_file_no_type} - account_info = self.get_account_info(resource_group, storage_account) - self.storage_cmd('storage container create -n mycontainer', account_info) - - # Create policy without type specified - self.cmd('storage account blob-inventory-policy create --account-name {sa} -g {rg} --policy @"{policy_no_type}"', - checks=[JMESPathCheck("name", "DefaultInventoryPolicy"), - JMESPathCheck("policy.destination", "mycontainer"), - JMESPathCheck("policy.enabled", True), - 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", []), - JMESPathCheck("policy.rules[0].enabled", True), - JMESPathCheck("policy.rules[0].name", "inventoryPolicyRule1"), - JMESPathCheck("policy.type", "Inventory"), - JMESPathCheck("resourceGroup", resource_group), - JMESPathCheck("systemData", None)]) - - self.cmd('storage account blob-inventory-policy show --account-name {sa} -g {rg}', - checks=[JMESPathCheck("name", "DefaultInventoryPolicy"), - JMESPathCheck("policy.destination", "mycontainer"), - JMESPathCheck("policy.enabled", True), - 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", []), - JMESPathCheck("policy.rules[0].enabled", True), - JMESPathCheck("policy.rules[0].name", "inventoryPolicyRule1"), - JMESPathCheck("policy.type", "Inventory"), - JMESPathCheck("resourceGroup", resource_group), - JMESPathCheck("systemData", None)]) - - # Enable Versioning for Storage Account when includeBlobInventory=true in policy - self.cmd('storage account blob-service-properties update -n {sa} -g {rg} --enable-versioning', checks=[ - JMESPathCheck('isVersioningEnabled', True)]) - - self.cmd('storage account blob-inventory-policy create --account-name {sa} -g {rg} --policy @"{policy}"', - checks=[JMESPathCheck("name", "DefaultInventoryPolicy"), - JMESPathCheck("policy.destination", "mycontainer"), - JMESPathCheck("policy.enabled", True), - JMESPathCheck("policy.rules[0].definition.filters.blobTypes[0]", "blockBlob"), - JMESPathCheck("policy.rules[0].definition.filters.includeBlobVersions", True), - JMESPathCheck("policy.rules[0].definition.filters.includeSnapshots", True), - JMESPathCheck("policy.rules[0].definition.filters.prefixMatch[0]", "inventoryprefix1"), - JMESPathCheck("policy.rules[0].definition.filters.prefixMatch[1]", "inventoryprefix2"), - JMESPathCheck("policy.rules[0].enabled", True), - JMESPathCheck("policy.rules[0].name", "inventoryPolicyRule1"), - JMESPathCheck("policy.type", "Inventory"), - JMESPathCheck("resourceGroup", resource_group), - JMESPathCheck("systemData", None)]) - - self.cmd('storage account blob-inventory-policy show --account-name {sa} -g {rg}', - checks=[JMESPathCheck("name", "DefaultInventoryPolicy"), - JMESPathCheck("policy.destination", "mycontainer"), - JMESPathCheck("policy.enabled", True), - JMESPathCheck("policy.rules[0].definition.filters.blobTypes[0]", "blockBlob"), - JMESPathCheck("policy.rules[0].definition.filters.includeBlobVersions", True), - JMESPathCheck("policy.rules[0].definition.filters.includeSnapshots", True), - JMESPathCheck("policy.rules[0].definition.filters.prefixMatch[0]", "inventoryprefix1"), - JMESPathCheck("policy.rules[0].definition.filters.prefixMatch[1]", "inventoryprefix2"), - JMESPathCheck("policy.rules[0].enabled", True), - JMESPathCheck("policy.rules[0].name", "inventoryPolicyRule1"), - JMESPathCheck("policy.type", "Inventory"), - JMESPathCheck("resourceGroup", resource_group), - JMESPathCheck("systemData", None)]) - - self.cmd('storage account blob-inventory-policy update --account-name {sa} -g {rg}' - ' --set "policy.rules[0].name=newname"') - self.cmd('storage account blob-inventory-policy show --account-name {sa} -g {rg}', - checks=JMESPathCheck('policy.rules[0].name', 'newname')) - - self.cmd('storage account blob-inventory-policy delete --account-name {sa} -g {rg} -y') - self.cmd('storage account blob-inventory-policy show --account-name {sa} -g {rg}', expect_failure=True) - - class FileServicePropertiesTests(StorageScenarioMixin, ScenarioTest): @ResourceGroupPreparer(name_prefix='cli_file_soft_delete') @StorageAccountPreparer(name_prefix='filesoftdelete', kind='StorageV2', location='eastus2euap') @@ -262,7 +246,7 @@ def test_storage_account_file_delete_retention_policy(self, resource_group, stor JMESPathCheck('shareDeleteRetentionPolicy.enabled', True), JMESPathCheck('shareDeleteRetentionPolicy.days', 1)) - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2020-08-01-preview') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2020-08-01-preview') @ResourceGroupPreparer(name_prefix='cli_file_smb') @StorageAccountPreparer(parameter_name='storage_account1', name_prefix='filesmb1', kind='FileStorage', sku='Premium_LRS', location='centraluseuap') @@ -302,37 +286,73 @@ def test_storage_account_file_smb_multichannel(self, resource_group, storage_acc '{cmd} update --enable-smb-multichannel true -n {sa} -g {rg}').assert_with_checks( JMESPathCheck('protocolSettings.smb.multichannel.enabled', True)) - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2020-08-01-preview') - @ResourceGroupPreparer(name_prefix='cli_file_smb') - @StorageAccountPreparer(name_prefix='filesmb', kind='FileStorage', sku='Premium_LRS', location='centraluseuap') - def test_storage_account_file_secured_smb(self, resource_group, storage_account): + +class StorageAccountLocalUserTests(StorageScenarioMixin, ScenarioTest): + @AllowLargeResponse() + @ResourceGroupPreparer(name_prefix='cli_storage_account_local_user') + @StorageAccountPreparer(name_prefix='storagelocaluser', kind='StorageV2', location='eastus2euap') + def test_storage_account_local_user(self, resource_group, storage_account): + username = self.create_random_name(prefix='cli', length=24) self.kwargs.update({ 'sa': storage_account, 'rg': resource_group, - 'cmd': 'storage account file-service-properties' + 'cmd': 'storage account local-user', + 'username': username }) - self.cmd('{cmd} show -n {sa} -g {rg}').assert_with_checks( - JMESPathCheck('shareDeleteRetentionPolicy', None), - JMESPathCheck('protocolSettings.smb.multichannel.enabled', False), - JMESPathCheck('protocolSettings.smb.authenticationMethods', None), - JMESPathCheck('protocolSettings.smb.channelEncryption', None), - JMESPathCheck('protocolSettings.smb.kerberosTicketEncryption', None), - JMESPathCheck('protocolSettings.smb.versions', None)) - - self.cmd( - '{cmd} update --versions "SMB2.1;SMB3.0;SMB3.1.1" --auth-methods "NTLMv2;Kerberos" ' - '--kerb-ticket-encryption "RC4-HMAC;AES-256" --channel-encryption "AES-CCM-128;AES-GCM-128;AES-GCM-256"' - ' -n {sa} -g {rg}').assert_with_checks( - JMESPathCheck('protocolSettings.smb.authenticationMethods', "NTLMv2;Kerberos"), - JMESPathCheck('protocolSettings.smb.channelEncryption', "AES-CCM-128;AES-GCM-128;AES-GCM-256"), - JMESPathCheck('protocolSettings.smb.kerberosTicketEncryption', "RC4-HMAC;AES-256"), - JMESPathCheck('protocolSettings.smb.versions', "SMB2.1;SMB3.0;SMB3.1.1")) - - self.cmd('{cmd} show -n {sa} -g {rg}').assert_with_checks( - JMESPathCheck('shareDeleteRetentionPolicy', None), - JMESPathCheck('protocolSettings.smb.multichannel.enabled', False), - JMESPathCheck('protocolSettings.smb.authenticationMethods', "NTLMv2;Kerberos"), - JMESPathCheck('protocolSettings.smb.channelEncryption', "AES-CCM-128;AES-GCM-128;AES-GCM-256"), - JMESPathCheck('protocolSettings.smb.kerberosTicketEncryption', "RC4-HMAC;AES-256"), - JMESPathCheck('protocolSettings.smb.versions', "SMB2.1;SMB3.0;SMB3.1.1")) + self.cmd('{cmd} create --account-name {sa} -g {rg} -n {username} --home-directory home ' + '--permission-scope permissions=r service=blob resource-name=container1 ' + '--permission-scope permissions=rw service=file resource-name=share2 ' + '--has-ssh-key false --has-shared-key false').assert_with_checks( + JMESPathCheck('hasSharedKey', False), + JMESPathCheck('hasSshKey', False), + JMESPathCheck('hasSshPassword', None), + JMESPathCheck('homeDirectory', 'home'), + JMESPathCheck('name', username), + JMESPathCheck('length(permissionScopes)', 2), + JMESPathCheck('permissionScopes[0].permissions', 'r'), + JMESPathCheck('permissionScopes[0].service', 'blob'), + JMESPathCheck('permissionScopes[0].resourceName', 'container1') + ) + + self.cmd('{cmd} update --account-name {sa} -g {rg} -n {username} --home-directory home2 ' + '--permission-scope permissions=rw service=file resource-name=share2').assert_with_checks( + JMESPathCheck('homeDirectory', 'home2'), + JMESPathCheck('length(permissionScopes)', 1), + JMESPathCheck('permissionScopes[0].permissions', 'rw'), + JMESPathCheck('permissionScopes[0].service', 'file'), + JMESPathCheck('permissionScopes[0].resourceName', 'share2') + ) + + self.cmd('{cmd} list --account-name {sa} -g {rg}').assert_with_checks( + JMESPathCheck('value[0].hasSshKey', False), + JMESPathCheck('value[0].hasSshPassword', False), + JMESPathCheck('value[0].homeDirectory', 'home2'), + JMESPathCheck('value[0].length(permissionScopes)', 1), + JMESPathCheck('value[0].sshAuthorizedKeys', None) + ) + + self.cmd('{cmd} show --account-name {sa} -g {rg} -n {username}').assert_with_checks( + JMESPathCheck('hasSshKey', False), + JMESPathCheck('hasSshPassword', False), + JMESPathCheck('homeDirectory', 'home2'), + JMESPathCheck('length(permissionScopes)', 1), + JMESPathCheck('permissionScopes[0].permissions', 'rw'), + JMESPathCheck('permissionScopes[0].service', 'file'), + JMESPathCheck('permissionScopes[0].resourceName', 'share2'), + JMESPathCheck('sshAuthorizedKeys', None) + ) + + self.cmd('{cmd} update --account-name {sa} -g {rg} -n {username} ' + '--ssh-authorized-key key="ssh-rsa a2V5" ') + + self.cmd('{cmd} list-keys --account-name {sa} -g {rg} -n {username}').assert_with_checks( + JMESPathCheck('sshAuthorizedKeys', None) + ) + + self.cmd('{cmd} regenerate-password --account-name {sa} -g {rg} -n {username}').assert_with_checks( + JMESPathCheck('sshAuthorizedKeys', None), + JMESPathCheckExists('sshPassword') + ) + + self.cmd('{cmd} delete --account-name {sa} -g {rg} -n {username}') 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 dd1dc56eeef..22d917e7c8d 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 @@ -10,7 +10,7 @@ JMESPathCheck, api_version_constraint, StorageAccountPreparer) from .storage_test_util import StorageScenarioMixin, StorageTestFilesPreparer -from ...profiles import CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE +from ...profiles import CUSTOM_MGMT_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE class StorageADLSTests(StorageScenarioMixin, ScenarioTest): @@ -74,7 +74,7 @@ def test_storage_fs_soft_delete(self, resource_group, storage_account_info): 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') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2018-02-01') @ResourceGroupPreparer() @StorageAccountPreparer(name_prefix='clitestaldsaccount', kind='StorageV2', hns=True) def test_storage_adls_blob(self, resource_group, storage_account_info): @@ -151,7 +151,7 @@ def test_storage_adls_blob(self, resource_group, storage_account_info): class StorageADLSDirectoryMoveTests(StorageScenarioMixin, LiveScenarioTest): - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2018-02-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2018-02-01') @StorageTestFilesPreparer() @ResourceGroupPreparer() def test_storage_adls_blob_directory_move(self, resource_group, test_dir): @@ -244,7 +244,7 @@ def test_storage_adls_blob_directory_move(self, resource_group, test_dir): class StorageADLSMoveTests(StorageScenarioMixin, ScenarioTest): - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2018-02-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2018-02-01') @ResourceGroupPreparer(location="centralus") @StorageAccountPreparer(name_prefix='clitestaldsaccount', kind='StorageV2', hns=True, location='centralus') def test_storage_adls_blob_move(self, resource_group, storage_account_info): @@ -287,7 +287,7 @@ def test_storage_adls_blob_move(self, resource_group, storage_account_info): class StorageADLSDirectoryUploadTests(StorageScenarioMixin, LiveScenarioTest): - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2018-02-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2018-02-01') @StorageTestFilesPreparer() @ResourceGroupPreparer() def test_storage_adls_blob_directory_upload(self, resource_group, test_dir): @@ -340,7 +340,7 @@ def test_storage_adls_blob_directory_upload(self, resource_group, test_dir): class StorageADLSDirectoryDownloadTests(StorageScenarioMixin, LiveScenarioTest): - @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2018-02-01') + @api_version_constraint(CUSTOM_MGMT_STORAGE, min_api='2018-02-01') @StorageTestFilesPreparer() @ResourceGroupPreparer() def test_storage_adls_blob_directory_download(self, resource_group, test_dir): diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_validators.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_validators.py index cefe3b74ddf..15d4fc54929 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_validators.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_validators.py @@ -15,7 +15,7 @@ from azure.cli.testsdk import api_version_constraint from ..._validators import (get_datetime_type, ipv4_range_type, validate_encryption_source, validate_encryption_services) -from ...profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_PREVIEW_STORAGE +from ...profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_STORAGE class MockCLI(CLI): @@ -94,7 +94,7 @@ def test_ipv4_range_type(self): actual = ipv4_range_type(input) -@api_version_constraint(resource_type=CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2016-12-01') +@api_version_constraint(resource_type=CUSTOM_MGMT_STORAGE, min_api='2016-12-01') class TestEncryptionValidators(unittest.TestCase): def setUp(self): self.cli = MockCLI() @@ -121,27 +121,15 @@ def test_validate_encryption_services(self): def test_validate_encryption_source(self): with self.assertRaises(ValueError): - validate_encryption_source(MockCmd(self.cli), - Namespace(encryption_key_source='Microsoft.Keyvault', _cmd=MockCmd(self.cli))) + validate_encryption_source( + Namespace(encryption_key_source='Microsoft.Keyvault', encryption_key_name=None, + encryption_key_version=None, encryption_key_vault=None, _cmd=MockCmd(self.cli))) with self.assertRaises(ValueError): validate_encryption_source( - MockCmd(self.cli), Namespace(encryption_key_source='Microsoft.Storage', encryption_key_name='key_name', encryption_key_version='key_version', encryption_key_vault='https://example.com/key_uri')) - ns = Namespace(encryption_key_source='Microsoft.Keyvault', encryption_key_name='key_name', - encryption_key_version='key_version', encryption_key_vault='https://example.com/key_uri') - validate_encryption_source(MockCmd(self.cli), ns) - self.assertFalse(hasattr(ns, 'encryption_key_name')) - self.assertFalse(hasattr(ns, 'encryption_key_version')) - self.assertFalse(hasattr(ns, 'encryption_key_uri')) - - properties = ns.encryption_key_vault_properties - self.assertEqual(properties.key_name, 'key_name') - self.assertEqual(properties.key_version, 'key_version') - self.assertEqual(properties.key_vault_uri, 'https://example.com/key_uri') - if __name__ == '__main__': unittest.main() diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/_storage_management_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/_storage_management_client.py deleted file mode 100644 index d052cc984d3..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/_storage_management_client.py +++ /dev/null @@ -1,159 +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 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 StorageManagementClientConfiguration -from .operations import Operations -from .operations import SkusOperations -from .operations import StorageAccountsOperations -from .operations import DeletedAccountsOperations -from .operations import UsagesOperations -from .operations import ManagementPoliciesOperations -from .operations import BlobInventoryPoliciesOperations -from .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import ObjectReplicationPoliciesOperations -from .operations import EncryptionScopesOperations -from .operations import BlobServicesOperations -from .operations import BlobContainersOperations -from .operations import FileServicesOperations -from .operations import FileSharesOperations -from .operations import QueueServicesOperations -from .operations import QueueOperations -from .operations import TableServicesOperations -from .operations import TableOperations -from . import models - - -class StorageManagementClient(object): - """The Azure Storage Management API. - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.storage.v2020_08_01_preview.operations.Operations - :ivar skus: SkusOperations operations - :vartype skus: azure.mgmt.storage.v2020_08_01_preview.operations.SkusOperations - :ivar storage_accounts: StorageAccountsOperations operations - :vartype storage_accounts: azure.mgmt.storage.v2020_08_01_preview.operations.StorageAccountsOperations - :ivar deleted_accounts: DeletedAccountsOperations operations - :vartype deleted_accounts: azure.mgmt.storage.v2020_08_01_preview.operations.DeletedAccountsOperations - :ivar usages: UsagesOperations operations - :vartype usages: azure.mgmt.storage.v2020_08_01_preview.operations.UsagesOperations - :ivar management_policies: ManagementPoliciesOperations operations - :vartype management_policies: azure.mgmt.storage.v2020_08_01_preview.operations.ManagementPoliciesOperations - :ivar blob_inventory_policies: BlobInventoryPoliciesOperations operations - :vartype blob_inventory_policies: azure.mgmt.storage.v2020_08_01_preview.operations.BlobInventoryPoliciesOperations - :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.storage.v2020_08_01_preview.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.storage.v2020_08_01_preview.operations.PrivateLinkResourcesOperations - :ivar object_replication_policies: ObjectReplicationPoliciesOperations operations - :vartype object_replication_policies: azure.mgmt.storage.v2020_08_01_preview.operations.ObjectReplicationPoliciesOperations - :ivar encryption_scopes: EncryptionScopesOperations operations - :vartype encryption_scopes: azure.mgmt.storage.v2020_08_01_preview.operations.EncryptionScopesOperations - :ivar blob_services: BlobServicesOperations operations - :vartype blob_services: azure.mgmt.storage.v2020_08_01_preview.operations.BlobServicesOperations - :ivar blob_containers: BlobContainersOperations operations - :vartype blob_containers: azure.mgmt.storage.v2020_08_01_preview.operations.BlobContainersOperations - :ivar file_services: FileServicesOperations operations - :vartype file_services: azure.mgmt.storage.v2020_08_01_preview.operations.FileServicesOperations - :ivar file_shares: FileSharesOperations operations - :vartype file_shares: azure.mgmt.storage.v2020_08_01_preview.operations.FileSharesOperations - :ivar queue_services: QueueServicesOperations operations - :vartype queue_services: azure.mgmt.storage.v2020_08_01_preview.operations.QueueServicesOperations - :ivar queue: QueueOperations operations - :vartype queue: azure.mgmt.storage.v2020_08_01_preview.operations.QueueOperations - :ivar table_services: TableServicesOperations operations - :vartype table_services: azure.mgmt.storage.v2020_08_01_preview.operations.TableServicesOperations - :ivar table: TableOperations operations - :vartype table: azure.mgmt.storage.v2020_08_01_preview.operations.TableOperations - :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 = StorageManagementClientConfiguration(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._deserialize = Deserializer(client_models) - - self.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.skus = SkusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.storage_accounts = StorageAccountsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.deleted_accounts = DeletedAccountsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.usages = UsagesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.management_policies = ManagementPoliciesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.blob_inventory_policies = BlobInventoryPoliciesOperations( - 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.object_replication_policies = ObjectReplicationPoliciesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.encryption_scopes = EncryptionScopesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.blob_services = BlobServicesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.blob_containers = BlobContainersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.file_services = FileServicesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.file_shares = FileSharesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.queue_services = QueueServicesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.queue = QueueOperations( - self._client, self._config, self._serialize, self._deserialize) - self.table_services = TableServicesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.table = TableOperations( - self._client, self._config, self._serialize, self._deserialize) - - def close(self): - # type: () -> None - self._client.close() - - def __enter__(self): - # type: () -> StorageManagementClient - 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_mgmt_preview_storage/v2020_08_01_preview/aio/_storage_management_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/_storage_management_client.py deleted file mode 100644 index 2f5806172e2..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/_storage_management_client.py +++ /dev/null @@ -1,153 +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 import StorageManagementClientConfiguration -from .operations import Operations -from .operations import SkusOperations -from .operations import StorageAccountsOperations -from .operations import DeletedAccountsOperations -from .operations import UsagesOperations -from .operations import ManagementPoliciesOperations -from .operations import BlobInventoryPoliciesOperations -from .operations import PrivateEndpointConnectionsOperations -from .operations import PrivateLinkResourcesOperations -from .operations import ObjectReplicationPoliciesOperations -from .operations import EncryptionScopesOperations -from .operations import BlobServicesOperations -from .operations import BlobContainersOperations -from .operations import FileServicesOperations -from .operations import FileSharesOperations -from .operations import QueueServicesOperations -from .operations import QueueOperations -from .operations import TableServicesOperations -from .operations import TableOperations -from .. import models - - -class StorageManagementClient(object): - """The Azure Storage Management API. - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.storage.v2020_08_01_preview.aio.operations.Operations - :ivar skus: SkusOperations operations - :vartype skus: azure.mgmt.storage.v2020_08_01_preview.aio.operations.SkusOperations - :ivar storage_accounts: StorageAccountsOperations operations - :vartype storage_accounts: azure.mgmt.storage.v2020_08_01_preview.aio.operations.StorageAccountsOperations - :ivar deleted_accounts: DeletedAccountsOperations operations - :vartype deleted_accounts: azure.mgmt.storage.v2020_08_01_preview.aio.operations.DeletedAccountsOperations - :ivar usages: UsagesOperations operations - :vartype usages: azure.mgmt.storage.v2020_08_01_preview.aio.operations.UsagesOperations - :ivar management_policies: ManagementPoliciesOperations operations - :vartype management_policies: azure.mgmt.storage.v2020_08_01_preview.aio.operations.ManagementPoliciesOperations - :ivar blob_inventory_policies: BlobInventoryPoliciesOperations operations - :vartype blob_inventory_policies: azure.mgmt.storage.v2020_08_01_preview.aio.operations.BlobInventoryPoliciesOperations - :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations - :vartype private_endpoint_connections: azure.mgmt.storage.v2020_08_01_preview.aio.operations.PrivateEndpointConnectionsOperations - :ivar private_link_resources: PrivateLinkResourcesOperations operations - :vartype private_link_resources: azure.mgmt.storage.v2020_08_01_preview.aio.operations.PrivateLinkResourcesOperations - :ivar object_replication_policies: ObjectReplicationPoliciesOperations operations - :vartype object_replication_policies: azure.mgmt.storage.v2020_08_01_preview.aio.operations.ObjectReplicationPoliciesOperations - :ivar encryption_scopes: EncryptionScopesOperations operations - :vartype encryption_scopes: azure.mgmt.storage.v2020_08_01_preview.aio.operations.EncryptionScopesOperations - :ivar blob_services: BlobServicesOperations operations - :vartype blob_services: azure.mgmt.storage.v2020_08_01_preview.aio.operations.BlobServicesOperations - :ivar blob_containers: BlobContainersOperations operations - :vartype blob_containers: azure.mgmt.storage.v2020_08_01_preview.aio.operations.BlobContainersOperations - :ivar file_services: FileServicesOperations operations - :vartype file_services: azure.mgmt.storage.v2020_08_01_preview.aio.operations.FileServicesOperations - :ivar file_shares: FileSharesOperations operations - :vartype file_shares: azure.mgmt.storage.v2020_08_01_preview.aio.operations.FileSharesOperations - :ivar queue_services: QueueServicesOperations operations - :vartype queue_services: azure.mgmt.storage.v2020_08_01_preview.aio.operations.QueueServicesOperations - :ivar queue: QueueOperations operations - :vartype queue: azure.mgmt.storage.v2020_08_01_preview.aio.operations.QueueOperations - :ivar table_services: TableServicesOperations operations - :vartype table_services: azure.mgmt.storage.v2020_08_01_preview.aio.operations.TableServicesOperations - :ivar table: TableOperations operations - :vartype table: azure.mgmt.storage.v2020_08_01_preview.aio.operations.TableOperations - :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 = StorageManagementClientConfiguration(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.operations = Operations( - self._client, self._config, self._serialize, self._deserialize) - self.skus = SkusOperations( - self._client, self._config, self._serialize, self._deserialize) - self.storage_accounts = StorageAccountsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.deleted_accounts = DeletedAccountsOperations( - self._client, self._config, self._serialize, self._deserialize) - self.usages = UsagesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.management_policies = ManagementPoliciesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.blob_inventory_policies = BlobInventoryPoliciesOperations( - 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.object_replication_policies = ObjectReplicationPoliciesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.encryption_scopes = EncryptionScopesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.blob_services = BlobServicesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.blob_containers = BlobContainersOperations( - self._client, self._config, self._serialize, self._deserialize) - self.file_services = FileServicesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.file_shares = FileSharesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.queue_services = QueueServicesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.queue = QueueOperations( - self._client, self._config, self._serialize, self._deserialize) - self.table_services = TableServicesOperations( - self._client, self._config, self._serialize, self._deserialize) - self.table = TableOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "StorageManagementClient": - 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_mgmt_preview_storage/v2020_08_01_preview/models/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/__init__.py deleted file mode 100644 index 6aee73b4cb6..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/__init__.py +++ /dev/null @@ -1,495 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -try: - from ._models_py3 import AccountSasParameters - from ._models_py3 import ActiveDirectoryProperties - from ._models_py3 import AzureEntityResource - from ._models_py3 import AzureFilesIdentityBasedAuthentication - from ._models_py3 import BlobContainer - from ._models_py3 import BlobInventoryPolicy - from ._models_py3 import BlobInventoryPolicyDefinition - from ._models_py3 import BlobInventoryPolicyFilter - from ._models_py3 import BlobInventoryPolicyRule - from ._models_py3 import BlobInventoryPolicySchema - from ._models_py3 import BlobRestoreParameters - from ._models_py3 import BlobRestoreRange - from ._models_py3 import BlobRestoreStatus - from ._models_py3 import BlobServiceItems - from ._models_py3 import BlobServiceProperties - from ._models_py3 import ChangeFeed - from ._models_py3 import CheckNameAvailabilityResult - from ._models_py3 import CloudErrorBody - from ._models_py3 import CorsRule - from ._models_py3 import CorsRules - from ._models_py3 import CustomDomain - from ._models_py3 import DateAfterCreation - from ._models_py3 import DateAfterModification - from ._models_py3 import DeleteRetentionPolicy - from ._models_py3 import DeletedAccount - from ._models_py3 import DeletedAccountListResult - from ._models_py3 import DeletedShare - from ._models_py3 import Dimension - from ._models_py3 import Encryption - from ._models_py3 import EncryptionScope - from ._models_py3 import EncryptionScopeKeyVaultProperties - from ._models_py3 import EncryptionScopeListResult - from ._models_py3 import EncryptionService - from ._models_py3 import EncryptionServices - from ._models_py3 import Endpoints - from ._models_py3 import ErrorResponse - from ._models_py3 import ErrorResponseBody - from ._models_py3 import ExtendedLocation - from ._models_py3 import FileServiceItems - from ._models_py3 import FileServiceProperties - from ._models_py3 import FileShare - from ._models_py3 import FileShareItem - from ._models_py3 import FileShareItems - from ._models_py3 import GeoReplicationStats - from ._models_py3 import IPRule - from ._models_py3 import Identity - from ._models_py3 import ImmutabilityPolicy - from ._models_py3 import ImmutabilityPolicyProperties - from ._models_py3 import KeyVaultProperties - from ._models_py3 import LastAccessTimeTrackingPolicy - from ._models_py3 import LeaseContainerRequest - from ._models_py3 import LeaseContainerResponse - from ._models_py3 import LegalHold - from ._models_py3 import LegalHoldProperties - from ._models_py3 import ListAccountSasResponse - from ._models_py3 import ListBlobInventoryPolicy - from ._models_py3 import ListContainerItem - from ._models_py3 import ListContainerItems - from ._models_py3 import ListQueue - from ._models_py3 import ListQueueResource - from ._models_py3 import ListQueueServices - from ._models_py3 import ListServiceSasResponse - from ._models_py3 import ListTableResource - from ._models_py3 import ListTableServices - from ._models_py3 import ManagementPolicy - from ._models_py3 import ManagementPolicyAction - from ._models_py3 import ManagementPolicyBaseBlob - from ._models_py3 import ManagementPolicyDefinition - from ._models_py3 import ManagementPolicyFilter - from ._models_py3 import ManagementPolicyRule - from ._models_py3 import ManagementPolicySchema - from ._models_py3 import ManagementPolicySnapShot - from ._models_py3 import MetricSpecification - from ._models_py3 import Multichannel - from ._models_py3 import NetworkRuleSet - from ._models_py3 import ObjectReplicationPolicies - from ._models_py3 import ObjectReplicationPolicy - from ._models_py3 import ObjectReplicationPolicyFilter - from ._models_py3 import ObjectReplicationPolicyRule - from ._models_py3 import Operation - from ._models_py3 import OperationDisplay - from ._models_py3 import OperationListResult - from ._models_py3 import PrivateEndpoint - from ._models_py3 import PrivateEndpointConnection - from ._models_py3 import PrivateEndpointConnectionListResult - from ._models_py3 import PrivateLinkResource - from ._models_py3 import PrivateLinkResourceListResult - from ._models_py3 import PrivateLinkServiceConnectionState - from ._models_py3 import ProtocolSettings - from ._models_py3 import ProxyResource - from ._models_py3 import QueueServiceProperties - from ._models_py3 import Resource - from ._models_py3 import ResourceAccessRule - from ._models_py3 import RestorePolicyProperties - from ._models_py3 import Restriction - from ._models_py3 import RoutingPreference - from ._models_py3 import SKUCapability - from ._models_py3 import ServiceSasParameters - from ._models_py3 import ServiceSpecification - from ._models_py3 import Sku - from ._models_py3 import SkuInformation - from ._models_py3 import SmbSetting - from ._models_py3 import StorageAccount - from ._models_py3 import StorageAccountCheckNameAvailabilityParameters - from ._models_py3 import StorageAccountCreateParameters - from ._models_py3 import StorageAccountInternetEndpoints - from ._models_py3 import StorageAccountKey - from ._models_py3 import StorageAccountListKeysResult - from ._models_py3 import StorageAccountListResult - from ._models_py3 import StorageAccountMicrosoftEndpoints - from ._models_py3 import StorageAccountRegenerateKeyParameters - from ._models_py3 import StorageAccountUpdateParameters - from ._models_py3 import StorageQueue - from ._models_py3 import StorageSkuListResult - from ._models_py3 import SystemData - from ._models_py3 import Table - from ._models_py3 import TableServiceProperties - from ._models_py3 import TagFilter - from ._models_py3 import TagProperty - from ._models_py3 import TrackedResource - from ._models_py3 import UpdateHistoryProperty - from ._models_py3 import Usage - from ._models_py3 import UsageListResult - from ._models_py3 import UsageName - from ._models_py3 import VirtualNetworkRule -except (SyntaxError, ImportError): - from ._models import AccountSasParameters # type: ignore - from ._models import ActiveDirectoryProperties # type: ignore - from ._models import AzureEntityResource # type: ignore - from ._models import AzureFilesIdentityBasedAuthentication # type: ignore - from ._models import BlobContainer # type: ignore - from ._models import BlobInventoryPolicy # type: ignore - from ._models import BlobInventoryPolicyDefinition # type: ignore - from ._models import BlobInventoryPolicyFilter # type: ignore - from ._models import BlobInventoryPolicyRule # type: ignore - from ._models import BlobInventoryPolicySchema # type: ignore - from ._models import BlobRestoreParameters # type: ignore - from ._models import BlobRestoreRange # type: ignore - from ._models import BlobRestoreStatus # type: ignore - from ._models import BlobServiceItems # type: ignore - from ._models import BlobServiceProperties # type: ignore - from ._models import ChangeFeed # type: ignore - from ._models import CheckNameAvailabilityResult # type: ignore - from ._models import CloudErrorBody # type: ignore - from ._models import CorsRule # type: ignore - from ._models import CorsRules # type: ignore - from ._models import CustomDomain # type: ignore - from ._models import DateAfterCreation # type: ignore - from ._models import DateAfterModification # type: ignore - from ._models import DeleteRetentionPolicy # type: ignore - from ._models import DeletedAccount # type: ignore - from ._models import DeletedAccountListResult # type: ignore - from ._models import DeletedShare # type: ignore - from ._models import Dimension # type: ignore - from ._models import Encryption # type: ignore - from ._models import EncryptionScope # type: ignore - from ._models import EncryptionScopeKeyVaultProperties # type: ignore - from ._models import EncryptionScopeListResult # type: ignore - from ._models import EncryptionService # type: ignore - from ._models import EncryptionServices # type: ignore - from ._models import Endpoints # type: ignore - from ._models import ErrorResponse # type: ignore - from ._models import ErrorResponseBody # type: ignore - from ._models import ExtendedLocation # type: ignore - from ._models import FileServiceItems # type: ignore - from ._models import FileServiceProperties # type: ignore - from ._models import FileShare # type: ignore - from ._models import FileShareItem # type: ignore - from ._models import FileShareItems # type: ignore - from ._models import GeoReplicationStats # type: ignore - from ._models import IPRule # type: ignore - from ._models import Identity # type: ignore - from ._models import ImmutabilityPolicy # type: ignore - from ._models import ImmutabilityPolicyProperties # type: ignore - from ._models import KeyVaultProperties # type: ignore - from ._models import LastAccessTimeTrackingPolicy # type: ignore - from ._models import LeaseContainerRequest # type: ignore - from ._models import LeaseContainerResponse # type: ignore - from ._models import LegalHold # type: ignore - from ._models import LegalHoldProperties # type: ignore - from ._models import ListAccountSasResponse # type: ignore - from ._models import ListBlobInventoryPolicy # type: ignore - from ._models import ListContainerItem # type: ignore - from ._models import ListContainerItems # type: ignore - from ._models import ListQueue # type: ignore - from ._models import ListQueueResource # type: ignore - from ._models import ListQueueServices # type: ignore - from ._models import ListServiceSasResponse # type: ignore - from ._models import ListTableResource # type: ignore - from ._models import ListTableServices # type: ignore - from ._models import ManagementPolicy # type: ignore - from ._models import ManagementPolicyAction # type: ignore - from ._models import ManagementPolicyBaseBlob # type: ignore - from ._models import ManagementPolicyDefinition # type: ignore - from ._models import ManagementPolicyFilter # type: ignore - from ._models import ManagementPolicyRule # type: ignore - from ._models import ManagementPolicySchema # type: ignore - from ._models import ManagementPolicySnapShot # type: ignore - from ._models import MetricSpecification # type: ignore - from ._models import Multichannel # type: ignore - from ._models import NetworkRuleSet # type: ignore - from ._models import ObjectReplicationPolicies # type: ignore - from ._models import ObjectReplicationPolicy # type: ignore - from ._models import ObjectReplicationPolicyFilter # type: ignore - from ._models import ObjectReplicationPolicyRule # type: ignore - from ._models import Operation # type: ignore - from ._models import OperationDisplay # type: ignore - from ._models import OperationListResult # type: ignore - from ._models import PrivateEndpoint # type: ignore - from ._models import PrivateEndpointConnection # type: ignore - from ._models import PrivateEndpointConnectionListResult # type: ignore - from ._models import PrivateLinkResource # type: ignore - from ._models import PrivateLinkResourceListResult # type: ignore - from ._models import PrivateLinkServiceConnectionState # type: ignore - from ._models import ProtocolSettings # type: ignore - from ._models import ProxyResource # type: ignore - from ._models import QueueServiceProperties # type: ignore - from ._models import Resource # type: ignore - from ._models import ResourceAccessRule # type: ignore - from ._models import RestorePolicyProperties # type: ignore - from ._models import Restriction # type: ignore - from ._models import RoutingPreference # type: ignore - from ._models import SKUCapability # type: ignore - from ._models import ServiceSasParameters # type: ignore - from ._models import ServiceSpecification # type: ignore - from ._models import Sku # type: ignore - from ._models import SkuInformation # type: ignore - from ._models import SmbSetting # type: ignore - from ._models import StorageAccount # type: ignore - from ._models import StorageAccountCheckNameAvailabilityParameters # type: ignore - from ._models import StorageAccountCreateParameters # type: ignore - from ._models import StorageAccountInternetEndpoints # type: ignore - from ._models import StorageAccountKey # type: ignore - from ._models import StorageAccountListKeysResult # type: ignore - from ._models import StorageAccountListResult # type: ignore - from ._models import StorageAccountMicrosoftEndpoints # type: ignore - from ._models import StorageAccountRegenerateKeyParameters # type: ignore - from ._models import StorageAccountUpdateParameters # type: ignore - from ._models import StorageQueue # type: ignore - from ._models import StorageSkuListResult # type: ignore - from ._models import SystemData # type: ignore - from ._models import Table # type: ignore - from ._models import TableServiceProperties # type: ignore - from ._models import TagFilter # type: ignore - from ._models import TagProperty # type: ignore - from ._models import TrackedResource # type: ignore - from ._models import UpdateHistoryProperty # type: ignore - from ._models import Usage # type: ignore - from ._models import UsageListResult # type: ignore - from ._models import UsageName # type: ignore - from ._models import VirtualNetworkRule # type: ignore - -from ._storage_management_client_enums import ( - AccessTier, - AccountStatus, - BlobInventoryPolicyName, - BlobRestoreProgressStatus, - Bypass, - CorsRuleAllowedMethodsItem, - CreatedByType, - DefaultAction, - DefaultSharePermission, - DirectoryServiceOptions, - EnabledProtocols, - EncryptionScopeSource, - EncryptionScopeState, - ExtendedLocationTypes, - GeoReplicationStatus, - HttpProtocol, - ImmutabilityPolicyState, - ImmutabilityPolicyUpdateType, - InventoryRuleType, - KeyPermission, - KeySource, - KeyType, - Kind, - LargeFileSharesState, - LeaseContainerRequestAction, - LeaseDuration, - LeaseState, - LeaseStatus, - ListContainersInclude, - ListSharesExpand, - ManagementPolicyName, - MinimumTlsVersion, - Name, - Permissions, - PrivateEndpointConnectionProvisioningState, - PrivateEndpointServiceConnectionStatus, - ProvisioningState, - PublicAccess, - Reason, - ReasonCode, - RootSquashType, - RoutingChoice, - RuleType, - Services, - ShareAccessTier, - SignedResource, - SignedResourceTypes, - SkuName, - SkuTier, - State, - StorageAccountExpand, - UsageUnit, -) - -__all__ = [ - 'AccountSasParameters', - 'ActiveDirectoryProperties', - 'AzureEntityResource', - 'AzureFilesIdentityBasedAuthentication', - 'BlobContainer', - 'BlobInventoryPolicy', - 'BlobInventoryPolicyDefinition', - 'BlobInventoryPolicyFilter', - 'BlobInventoryPolicyRule', - 'BlobInventoryPolicySchema', - 'BlobRestoreParameters', - 'BlobRestoreRange', - 'BlobRestoreStatus', - 'BlobServiceItems', - 'BlobServiceProperties', - 'ChangeFeed', - 'CheckNameAvailabilityResult', - 'CloudErrorBody', - 'CorsRule', - 'CorsRules', - 'CustomDomain', - 'DateAfterCreation', - 'DateAfterModification', - 'DeleteRetentionPolicy', - 'DeletedAccount', - 'DeletedAccountListResult', - 'DeletedShare', - 'Dimension', - 'Encryption', - 'EncryptionScope', - 'EncryptionScopeKeyVaultProperties', - 'EncryptionScopeListResult', - 'EncryptionService', - 'EncryptionServices', - 'Endpoints', - 'ErrorResponse', - 'ErrorResponseBody', - 'ExtendedLocation', - 'FileServiceItems', - 'FileServiceProperties', - 'FileShare', - 'FileShareItem', - 'FileShareItems', - 'GeoReplicationStats', - 'IPRule', - 'Identity', - 'ImmutabilityPolicy', - 'ImmutabilityPolicyProperties', - 'KeyVaultProperties', - 'LastAccessTimeTrackingPolicy', - 'LeaseContainerRequest', - 'LeaseContainerResponse', - 'LegalHold', - 'LegalHoldProperties', - 'ListAccountSasResponse', - 'ListBlobInventoryPolicy', - 'ListContainerItem', - 'ListContainerItems', - 'ListQueue', - 'ListQueueResource', - 'ListQueueServices', - 'ListServiceSasResponse', - 'ListTableResource', - 'ListTableServices', - 'ManagementPolicy', - 'ManagementPolicyAction', - 'ManagementPolicyBaseBlob', - 'ManagementPolicyDefinition', - 'ManagementPolicyFilter', - 'ManagementPolicyRule', - 'ManagementPolicySchema', - 'ManagementPolicySnapShot', - 'MetricSpecification', - 'Multichannel', - 'NetworkRuleSet', - 'ObjectReplicationPolicies', - 'ObjectReplicationPolicy', - 'ObjectReplicationPolicyFilter', - 'ObjectReplicationPolicyRule', - 'Operation', - 'OperationDisplay', - 'OperationListResult', - 'PrivateEndpoint', - 'PrivateEndpointConnection', - 'PrivateEndpointConnectionListResult', - 'PrivateLinkResource', - 'PrivateLinkResourceListResult', - 'PrivateLinkServiceConnectionState', - 'ProtocolSettings', - 'ProxyResource', - 'QueueServiceProperties', - 'Resource', - 'ResourceAccessRule', - 'RestorePolicyProperties', - 'Restriction', - 'RoutingPreference', - 'SKUCapability', - 'ServiceSasParameters', - 'ServiceSpecification', - 'Sku', - 'SkuInformation', - 'SmbSetting', - 'StorageAccount', - 'StorageAccountCheckNameAvailabilityParameters', - 'StorageAccountCreateParameters', - 'StorageAccountInternetEndpoints', - 'StorageAccountKey', - 'StorageAccountListKeysResult', - 'StorageAccountListResult', - 'StorageAccountMicrosoftEndpoints', - 'StorageAccountRegenerateKeyParameters', - 'StorageAccountUpdateParameters', - 'StorageQueue', - 'StorageSkuListResult', - 'SystemData', - 'Table', - 'TableServiceProperties', - 'TagFilter', - 'TagProperty', - 'TrackedResource', - 'UpdateHistoryProperty', - 'Usage', - 'UsageListResult', - 'UsageName', - 'VirtualNetworkRule', - 'AccessTier', - 'AccountStatus', - 'BlobInventoryPolicyName', - 'BlobRestoreProgressStatus', - 'Bypass', - 'CorsRuleAllowedMethodsItem', - 'CreatedByType', - 'DefaultAction', - 'DefaultSharePermission', - 'DirectoryServiceOptions', - 'EnabledProtocols', - 'EncryptionScopeSource', - 'EncryptionScopeState', - 'ExtendedLocationTypes', - 'GeoReplicationStatus', - 'HttpProtocol', - 'ImmutabilityPolicyState', - 'ImmutabilityPolicyUpdateType', - 'InventoryRuleType', - 'KeyPermission', - 'KeySource', - 'KeyType', - 'Kind', - 'LargeFileSharesState', - 'LeaseContainerRequestAction', - 'LeaseDuration', - 'LeaseState', - 'LeaseStatus', - 'ListContainersInclude', - 'ListSharesExpand', - 'ManagementPolicyName', - 'MinimumTlsVersion', - 'Name', - 'Permissions', - 'PrivateEndpointConnectionProvisioningState', - 'PrivateEndpointServiceConnectionStatus', - 'ProvisioningState', - 'PublicAccess', - 'Reason', - 'ReasonCode', - 'RootSquashType', - 'RoutingChoice', - 'RuleType', - 'Services', - 'ShareAccessTier', - 'SignedResource', - 'SignedResourceTypes', - 'SkuName', - 'SkuTier', - 'State', - 'StorageAccountExpand', - 'UsageUnit', -] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_models_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_models_py3.py deleted file mode 100644 index 658952dd206..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_models_py3.py +++ /dev/null @@ -1,5535 +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 datetime -from typing import Dict, List, Optional, Union - -from azure.core.exceptions import HttpResponseError -import msrest.serialization - -from ._storage_management_client_enums import * - - -class AccountSasParameters(msrest.serialization.Model): - """The parameters to list SAS credentials of a storage account. - - All required parameters must be populated in order to send to Azure. - - :param services: Required. The signed services accessible with the account SAS. Possible values - include: Blob (b), Queue (q), Table (t), File (f). Possible values include: "b", "q", "t", "f". - :type services: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Services - :param resource_types: Required. The signed resource types that are accessible with the account - SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; - Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files. - Possible values include: "s", "c", "o". - :type resource_types: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SignedResourceTypes - :param permissions: Required. The signed permissions for the account SAS. Possible values - include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process - (p). Possible values include: "r", "d", "w", "l", "a", "c", "u", "p". - :type permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Permissions - :param ip_address_or_range: An IP address or a range of IP addresses from which to accept - requests. - :type ip_address_or_range: str - :param protocols: The protocol permitted for a request made with the account SAS. Possible - values include: "https,http", "https". - :type protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.HttpProtocol - :param shared_access_start_time: The time at which the SAS becomes valid. - :type shared_access_start_time: ~datetime.datetime - :param shared_access_expiry_time: Required. The time at which the shared access signature - becomes invalid. - :type shared_access_expiry_time: ~datetime.datetime - :param key_to_sign: The key to sign the account SAS token with. - :type key_to_sign: str - """ - - _validation = { - 'services': {'required': True}, - 'resource_types': {'required': True}, - 'permissions': {'required': True}, - 'shared_access_expiry_time': {'required': True}, - } - - _attribute_map = { - 'services': {'key': 'signedServices', 'type': 'str'}, - 'resource_types': {'key': 'signedResourceTypes', 'type': 'str'}, - 'permissions': {'key': 'signedPermission', 'type': 'str'}, - 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, - 'protocols': {'key': 'signedProtocol', 'type': 'str'}, - 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, - 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, - 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, - } - - def __init__( - self, - *, - services: Union[str, "Services"], - resource_types: Union[str, "SignedResourceTypes"], - permissions: Union[str, "Permissions"], - shared_access_expiry_time: datetime.datetime, - ip_address_or_range: Optional[str] = None, - protocols: Optional[Union[str, "HttpProtocol"]] = None, - shared_access_start_time: Optional[datetime.datetime] = None, - key_to_sign: Optional[str] = None, - **kwargs - ): - super(AccountSasParameters, self).__init__(**kwargs) - self.services = services - self.resource_types = resource_types - self.permissions = permissions - self.ip_address_or_range = ip_address_or_range - self.protocols = protocols - self.shared_access_start_time = shared_access_start_time - self.shared_access_expiry_time = shared_access_expiry_time - self.key_to_sign = key_to_sign - - -class ActiveDirectoryProperties(msrest.serialization.Model): - """Settings properties for Active Directory (AD). - - All required parameters must be populated in order to send to Azure. - - :param domain_name: Required. Specifies the primary domain that the AD DNS server is - authoritative for. - :type domain_name: str - :param net_bios_domain_name: Required. Specifies the NetBIOS domain name. - :type net_bios_domain_name: str - :param forest_name: Required. Specifies the Active Directory forest to get. - :type forest_name: str - :param domain_guid: Required. Specifies the domain GUID. - :type domain_guid: str - :param domain_sid: Required. Specifies the security identifier (SID). - :type domain_sid: str - :param azure_storage_sid: Required. Specifies the security identifier (SID) for Azure Storage. - :type azure_storage_sid: str - """ - - _validation = { - 'domain_name': {'required': True}, - 'net_bios_domain_name': {'required': True}, - 'forest_name': {'required': True}, - 'domain_guid': {'required': True}, - 'domain_sid': {'required': True}, - 'azure_storage_sid': {'required': True}, - } - - _attribute_map = { - 'domain_name': {'key': 'domainName', 'type': 'str'}, - 'net_bios_domain_name': {'key': 'netBiosDomainName', 'type': 'str'}, - 'forest_name': {'key': 'forestName', 'type': 'str'}, - 'domain_guid': {'key': 'domainGuid', 'type': 'str'}, - 'domain_sid': {'key': 'domainSid', 'type': 'str'}, - 'azure_storage_sid': {'key': 'azureStorageSid', 'type': 'str'}, - } - - def __init__( - self, - *, - domain_name: str, - net_bios_domain_name: str, - forest_name: str, - domain_guid: str, - domain_sid: str, - azure_storage_sid: str, - **kwargs - ): - super(ActiveDirectoryProperties, self).__init__(**kwargs) - self.domain_name = domain_name - self.net_bios_domain_name = net_bios_domain_name - self.forest_name = forest_name - self.domain_guid = domain_guid - self.domain_sid = domain_sid - self.azure_storage_sid = azure_storage_sid - - -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 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 - - -class AzureFilesIdentityBasedAuthentication(msrest.serialization.Model): - """Settings for Azure Files identity based authentication. - - All required parameters must be populated in order to send to Azure. - - :param directory_service_options: Required. Indicates the directory service used. Possible - values include: "None", "AADDS", "AD". - :type directory_service_options: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.DirectoryServiceOptions - :param active_directory_properties: Required if choose AD. - :type active_directory_properties: - ~azure.mgmt.storage.v2020_08_01_preview.models.ActiveDirectoryProperties - :param default_share_permission: Default share permission for users using Kerberos - authentication if RBAC role is not assigned. Possible values include: "None", - "StorageFileDataSmbShareReader", "StorageFileDataSmbShareContributor", - "StorageFileDataSmbShareElevatedContributor", "StorageFileDataSmbShareOwner". - :type default_share_permission: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.DefaultSharePermission - """ - - _validation = { - 'directory_service_options': {'required': True}, - } - - _attribute_map = { - 'directory_service_options': {'key': 'directoryServiceOptions', 'type': 'str'}, - 'active_directory_properties': {'key': 'activeDirectoryProperties', 'type': 'ActiveDirectoryProperties'}, - 'default_share_permission': {'key': 'defaultSharePermission', 'type': 'str'}, - } - - def __init__( - self, - *, - directory_service_options: Union[str, "DirectoryServiceOptions"], - active_directory_properties: Optional["ActiveDirectoryProperties"] = None, - default_share_permission: Optional[Union[str, "DefaultSharePermission"]] = None, - **kwargs - ): - super(AzureFilesIdentityBasedAuthentication, self).__init__(**kwargs) - self.directory_service_options = directory_service_options - self.active_directory_properties = active_directory_properties - self.default_share_permission = default_share_permission - - -class BlobContainer(AzureEntityResource): - """Properties of the blob container, including Id, resource name, resource type, Etag. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar etag: Resource Etag. - :vartype etag: str - :ivar version: The version of the deleted blob container. - :vartype version: str - :ivar deleted: Indicates whether the blob container was deleted. - :vartype deleted: bool - :ivar deleted_time: Blob container deletion time. - :vartype deleted_time: ~datetime.datetime - :ivar remaining_retention_days: Remaining retention days for soft deleted blob container. - :vartype remaining_retention_days: int - :param default_encryption_scope: Default the container to use specified encryption scope for - all writes. - :type default_encryption_scope: str - :param deny_encryption_scope_override: Block override of encryption scope from the container - default. - :type deny_encryption_scope_override: bool - :param public_access: Specifies whether data in the container may be accessed publicly and the - level of access. Possible values include: "Container", "Blob", "None". - :type public_access: str or ~azure.mgmt.storage.v2020_08_01_preview.models.PublicAccess - :ivar last_modified_time: Returns the date and time the container was last modified. - :vartype last_modified_time: ~datetime.datetime - :ivar lease_status: The lease status of the container. Possible values include: "Locked", - "Unlocked". - :vartype lease_status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseStatus - :ivar lease_state: Lease state of the container. Possible values include: "Available", - "Leased", "Expired", "Breaking", "Broken". - :vartype lease_state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseState - :ivar lease_duration: Specifies whether the lease on a container is of infinite or fixed - duration, only when the container is leased. Possible values include: "Infinite", "Fixed". - :vartype lease_duration: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseDuration - :param metadata: A name-value pair to associate with the container as metadata. - :type metadata: dict[str, str] - :ivar immutability_policy: The ImmutabilityPolicy property of the container. - :vartype immutability_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyProperties - :ivar legal_hold: The LegalHold property of the container. - :vartype legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHoldProperties - :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at - least one existing tag. The hasLegalHold public property is set to false by SRP if all existing - legal hold tags are cleared out. There can be a maximum of 1000 blob containers with - hasLegalHold=true for a given account. - :vartype has_legal_hold: bool - :ivar has_immutability_policy: The hasImmutabilityPolicy public property is set to true by SRP - if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public - property is set to false by SRP if ImmutabilityPolicy has not been created for this container. - :vartype has_immutability_policy: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'version': {'readonly': True}, - 'deleted': {'readonly': True}, - 'deleted_time': {'readonly': True}, - 'remaining_retention_days': {'readonly': True}, - 'last_modified_time': {'readonly': True}, - 'lease_status': {'readonly': True}, - 'lease_state': {'readonly': True}, - 'lease_duration': {'readonly': True}, - 'immutability_policy': {'readonly': True}, - 'legal_hold': {'readonly': True}, - 'has_legal_hold': {'readonly': True}, - 'has_immutability_policy': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, - 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, - 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, - 'default_encryption_scope': {'key': 'properties.defaultEncryptionScope', 'type': 'str'}, - 'deny_encryption_scope_override': {'key': 'properties.denyEncryptionScopeOverride', 'type': 'bool'}, - 'public_access': {'key': 'properties.publicAccess', 'type': 'str'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, - 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, - 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, - 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, - 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, - 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, - 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, - 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, - } - - def __init__( - self, - *, - default_encryption_scope: Optional[str] = None, - deny_encryption_scope_override: Optional[bool] = None, - public_access: Optional[Union[str, "PublicAccess"]] = None, - metadata: Optional[Dict[str, str]] = None, - **kwargs - ): - super(BlobContainer, self).__init__(**kwargs) - self.version = None - self.deleted = None - self.deleted_time = None - self.remaining_retention_days = None - self.default_encryption_scope = default_encryption_scope - self.deny_encryption_scope_override = deny_encryption_scope_override - self.public_access = public_access - self.last_modified_time = None - self.lease_status = None - self.lease_state = None - self.lease_duration = None - self.metadata = metadata - self.immutability_policy = None - self.legal_hold = None - self.has_legal_hold = None - self.has_immutability_policy = None - - -class BlobInventoryPolicy(Resource): - """The storage account blob inventory policy. - - 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: Metadata pertaining to creation and last modification of the resource. - :vartype system_data: ~azure.mgmt.storage.v2020_08_01_preview.models.SystemData - :ivar last_modified_time: Returns the last modified date and time of the blob inventory policy. - :vartype last_modified_time: ~datetime.datetime - :param policy: The storage account blob inventory policy object. It is composed of policy - rules. - :type policy: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicySchema - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'system_data': {'readonly': True}, - 'last_modified_time': {'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'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'policy': {'key': 'properties.policy', 'type': 'BlobInventoryPolicySchema'}, - } - - def __init__( - self, - *, - policy: Optional["BlobInventoryPolicySchema"] = None, - **kwargs - ): - super(BlobInventoryPolicy, self).__init__(**kwargs) - self.system_data = None - self.last_modified_time = None - self.policy = policy - - -class BlobInventoryPolicyDefinition(msrest.serialization.Model): - """An object that defines the blob inventory rule. Each definition consists of a set of filters. - - All required parameters must be populated in order to send to Azure. - - :param filters: Required. An object that defines the filter set. - :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyFilter - """ - - _validation = { - 'filters': {'required': True}, - } - - _attribute_map = { - 'filters': {'key': 'filters', 'type': 'BlobInventoryPolicyFilter'}, - } - - def __init__( - self, - *, - filters: "BlobInventoryPolicyFilter", - **kwargs - ): - super(BlobInventoryPolicyDefinition, self).__init__(**kwargs) - self.filters = filters - - -class BlobInventoryPolicyFilter(msrest.serialization.Model): - """An object that defines the blob inventory rule filter conditions. - - All required parameters must be populated in order to send to Azure. - - :param prefix_match: An array of strings for blob prefixes to be matched. - :type prefix_match: list[str] - :param blob_types: Required. An array of predefined enum values. Valid values include - blockBlob, appendBlob, pageBlob. Hns accounts does not support pageBlobs. - :type blob_types: list[str] - :param include_blob_versions: Includes blob versions in blob inventory when value set to true. - :type include_blob_versions: bool - :param include_snapshots: Includes blob snapshots in blob inventory when value set to true. - :type include_snapshots: bool - """ - - _validation = { - 'blob_types': {'required': True}, - } - - _attribute_map = { - 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, - 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, - 'include_blob_versions': {'key': 'includeBlobVersions', 'type': 'bool'}, - 'include_snapshots': {'key': 'includeSnapshots', 'type': 'bool'}, - } - - def __init__( - self, - *, - blob_types: List[str], - prefix_match: Optional[List[str]] = None, - include_blob_versions: Optional[bool] = None, - include_snapshots: Optional[bool] = None, - **kwargs - ): - super(BlobInventoryPolicyFilter, self).__init__(**kwargs) - self.prefix_match = prefix_match - self.blob_types = blob_types - self.include_blob_versions = include_blob_versions - self.include_snapshots = include_snapshots - - -class BlobInventoryPolicyRule(msrest.serialization.Model): - """An object that wraps the blob inventory rule. Each rule is uniquely defined by name. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Rule is enabled when set to true. - :type enabled: bool - :param name: Required. A rule name can contain any combination of alpha numeric characters. - Rule name is case-sensitive. It must be unique within a policy. - :type name: str - :param definition: Required. An object that defines the blob inventory policy rule. - :type definition: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyDefinition - """ - - _validation = { - 'enabled': {'required': True}, - 'name': {'required': True}, - 'definition': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - 'definition': {'key': 'definition', 'type': 'BlobInventoryPolicyDefinition'}, - } - - def __init__( - self, - *, - enabled: bool, - name: str, - definition: "BlobInventoryPolicyDefinition", - **kwargs - ): - super(BlobInventoryPolicyRule, self).__init__(**kwargs) - self.enabled = enabled - self.name = name - self.definition = definition - - -class BlobInventoryPolicySchema(msrest.serialization.Model): - """The storage account blob inventory policy rules. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Required. Policy is enabled if set to true. - :type enabled: bool - :param destination: Required. Container name where blob inventory files are stored. Must be - pre-created. - :type destination: str - :param type: Required. The valid value is Inventory. Possible values include: "Inventory". - :type type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.InventoryRuleType - :param rules: Required. The storage account blob inventory policy rules. The rule is applied - when it is enabled. - :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyRule] - """ - - _validation = { - 'enabled': {'required': True}, - 'destination': {'required': True}, - 'type': {'required': True}, - 'rules': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'destination': {'key': 'destination', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'rules': {'key': 'rules', 'type': '[BlobInventoryPolicyRule]'}, - } - - def __init__( - self, - *, - enabled: bool, - destination: str, - type: Union[str, "InventoryRuleType"], - rules: List["BlobInventoryPolicyRule"], - **kwargs - ): - super(BlobInventoryPolicySchema, self).__init__(**kwargs) - self.enabled = enabled - self.destination = destination - self.type = type - self.rules = rules - - -class BlobRestoreParameters(msrest.serialization.Model): - """Blob restore parameters. - - All required parameters must be populated in order to send to Azure. - - :param time_to_restore: Required. Restore blob to the specified time. - :type time_to_restore: ~datetime.datetime - :param blob_ranges: Required. Blob ranges to restore. - :type blob_ranges: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreRange] - """ - - _validation = { - 'time_to_restore': {'required': True}, - 'blob_ranges': {'required': True}, - } - - _attribute_map = { - 'time_to_restore': {'key': 'timeToRestore', 'type': 'iso-8601'}, - 'blob_ranges': {'key': 'blobRanges', 'type': '[BlobRestoreRange]'}, - } - - def __init__( - self, - *, - time_to_restore: datetime.datetime, - blob_ranges: List["BlobRestoreRange"], - **kwargs - ): - super(BlobRestoreParameters, self).__init__(**kwargs) - self.time_to_restore = time_to_restore - self.blob_ranges = blob_ranges - - -class BlobRestoreRange(msrest.serialization.Model): - """Blob range. - - All required parameters must be populated in order to send to Azure. - - :param start_range: Required. Blob start range. This is inclusive. Empty means account start. - :type start_range: str - :param end_range: Required. Blob end range. This is exclusive. Empty means account end. - :type end_range: str - """ - - _validation = { - 'start_range': {'required': True}, - 'end_range': {'required': True}, - } - - _attribute_map = { - 'start_range': {'key': 'startRange', 'type': 'str'}, - 'end_range': {'key': 'endRange', 'type': 'str'}, - } - - def __init__( - self, - *, - start_range: str, - end_range: str, - **kwargs - ): - super(BlobRestoreRange, self).__init__(**kwargs) - self.start_range = start_range - self.end_range = end_range - - -class BlobRestoreStatus(msrest.serialization.Model): - """Blob restore status. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar status: The status of blob restore progress. Possible values are: - InProgress: Indicates - that blob restore is ongoing. - Complete: Indicates that blob restore has been completed - successfully. - Failed: Indicates that blob restore is failed. Possible values include: - "InProgress", "Complete", "Failed". - :vartype status: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreProgressStatus - :ivar failure_reason: Failure reason when blob restore is failed. - :vartype failure_reason: str - :ivar restore_id: Id for tracking blob restore request. - :vartype restore_id: str - :ivar parameters: Blob restore request parameters. - :vartype parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreParameters - """ - - _validation = { - 'status': {'readonly': True}, - 'failure_reason': {'readonly': True}, - 'restore_id': {'readonly': True}, - 'parameters': {'readonly': True}, - } - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'failure_reason': {'key': 'failureReason', 'type': 'str'}, - 'restore_id': {'key': 'restoreId', 'type': 'str'}, - 'parameters': {'key': 'parameters', 'type': 'BlobRestoreParameters'}, - } - - def __init__( - self, - **kwargs - ): - super(BlobRestoreStatus, self).__init__(**kwargs) - self.status = None - self.failure_reason = None - self.restore_id = None - self.parameters = None - - -class BlobServiceItems(msrest.serialization.Model): - """BlobServiceItems. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of blob services returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BlobServiceProperties]'}, - } - - def __init__( - self, - **kwargs - ): - super(BlobServiceItems, self).__init__(**kwargs) - self.value = None - - -class BlobServiceProperties(Resource): - """The properties of a storage account’s Blob service. - - 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 sku: Sku name and tier. - :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku - :param cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule - elements in the request. If no CorsRule elements are included in the request body, all CORS - rules will be deleted, and CORS will be disabled for the Blob service. - :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules - :param default_service_version: DefaultServiceVersion indicates 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: The blob service properties for blob soft delete. - :type delete_retention_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy - :param is_versioning_enabled: Versioning is enabled if set to true. - :type is_versioning_enabled: bool - :param automatic_snapshot_policy_enabled: Deprecated in favor of isVersioningEnabled property. - :type automatic_snapshot_policy_enabled: bool - :param change_feed: The blob service properties for change feed events. - :type change_feed: ~azure.mgmt.storage.v2020_08_01_preview.models.ChangeFeed - :param restore_policy: The blob service properties for blob restore policy. - :type restore_policy: ~azure.mgmt.storage.v2020_08_01_preview.models.RestorePolicyProperties - :param container_delete_retention_policy: The blob service properties for container soft - delete. - :type container_delete_retention_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy - :param last_access_time_tracking_policy: The blob service property to configure last access - time based tracking policy. - :type last_access_time_tracking_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.LastAccessTimeTrackingPolicy - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'sku': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, - 'default_service_version': {'key': 'properties.defaultServiceVersion', 'type': 'str'}, - 'delete_retention_policy': {'key': 'properties.deleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, - 'is_versioning_enabled': {'key': 'properties.isVersioningEnabled', 'type': 'bool'}, - 'automatic_snapshot_policy_enabled': {'key': 'properties.automaticSnapshotPolicyEnabled', 'type': 'bool'}, - 'change_feed': {'key': 'properties.changeFeed', 'type': 'ChangeFeed'}, - 'restore_policy': {'key': 'properties.restorePolicy', 'type': 'RestorePolicyProperties'}, - 'container_delete_retention_policy': {'key': 'properties.containerDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, - 'last_access_time_tracking_policy': {'key': 'properties.lastAccessTimeTrackingPolicy', 'type': 'LastAccessTimeTrackingPolicy'}, - } - - def __init__( - self, - *, - cors: Optional["CorsRules"] = None, - default_service_version: Optional[str] = None, - delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, - is_versioning_enabled: Optional[bool] = None, - automatic_snapshot_policy_enabled: Optional[bool] = None, - change_feed: Optional["ChangeFeed"] = None, - restore_policy: Optional["RestorePolicyProperties"] = None, - container_delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, - last_access_time_tracking_policy: Optional["LastAccessTimeTrackingPolicy"] = None, - **kwargs - ): - super(BlobServiceProperties, self).__init__(**kwargs) - self.sku = None - self.cors = cors - self.default_service_version = default_service_version - self.delete_retention_policy = delete_retention_policy - self.is_versioning_enabled = is_versioning_enabled - self.automatic_snapshot_policy_enabled = automatic_snapshot_policy_enabled - self.change_feed = change_feed - self.restore_policy = restore_policy - self.container_delete_retention_policy = container_delete_retention_policy - self.last_access_time_tracking_policy = last_access_time_tracking_policy - - -class ChangeFeed(msrest.serialization.Model): - """The blob service properties for change feed events. - - :param enabled: Indicates whether change feed event logging is enabled for the Blob service. - :type enabled: bool - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__( - self, - *, - enabled: Optional[bool] = None, - **kwargs - ): - super(ChangeFeed, self).__init__(**kwargs) - self.enabled = enabled - - -class CheckNameAvailabilityResult(msrest.serialization.Model): - """The CheckNameAvailability operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name_available: Gets a boolean value that indicates whether the name is available for you - to use. If true, the name is available. If false, the name has already been taken or is invalid - and cannot be used. - :vartype name_available: bool - :ivar reason: Gets the reason that a storage account name could not be used. The Reason element - is only returned if NameAvailable is false. Possible values include: "AccountNameInvalid", - "AlreadyExists". - :vartype reason: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Reason - :ivar message: Gets an error message explaining the Reason value in more detail. - :vartype message: str - """ - - _validation = { - 'name_available': {'readonly': True}, - 'reason': {'readonly': True}, - 'message': {'readonly': True}, - } - - _attribute_map = { - 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, - 'reason': {'key': 'reason', 'type': 'str'}, - 'message': {'key': 'message', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(CheckNameAvailabilityResult, self).__init__(**kwargs) - self.name_available = None - self.reason = None - self.message = None - - -class CloudErrorBody(msrest.serialization.Model): - """An error response from the Storage 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.storage.v2020_08_01_preview.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: Optional[str] = None, - message: Optional[str] = None, - target: Optional[str] = None, - details: Optional[List["CloudErrorBody"]] = None, - **kwargs - ): - super(CloudErrorBody, self).__init__(**kwargs) - self.code = code - self.message = message - self.target = target - self.details = details - - -class CorsRule(msrest.serialization.Model): - """Specifies a CORS rule for the Blob service. - - All required parameters must be populated in order to send to Azure. - - :param allowed_origins: Required. Required if CorsRule element is present. A list of origin - domains that will be allowed via CORS, or "*" to allow all domains. - :type allowed_origins: list[str] - :param allowed_methods: Required. Required if CorsRule element is present. A list of HTTP - methods that are allowed to be executed by the origin. - :type allowed_methods: list[str or - ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRuleAllowedMethodsItem] - :param max_age_in_seconds: Required. Required if CorsRule element is present. The number of - seconds that the client/browser should cache a preflight response. - :type max_age_in_seconds: int - :param exposed_headers: Required. Required if CorsRule element is present. A list of response - headers to expose to CORS clients. - :type exposed_headers: list[str] - :param allowed_headers: Required. Required if CorsRule element is present. A list of headers - allowed to be part of the cross-origin request. - :type allowed_headers: list[str] - """ - - _validation = { - 'allowed_origins': {'required': True}, - 'allowed_methods': {'required': True}, - 'max_age_in_seconds': {'required': True}, - 'exposed_headers': {'required': True}, - 'allowed_headers': {'required': True}, - } - - _attribute_map = { - 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, - 'allowed_methods': {'key': 'allowedMethods', 'type': '[str]'}, - 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'int'}, - 'exposed_headers': {'key': 'exposedHeaders', 'type': '[str]'}, - 'allowed_headers': {'key': 'allowedHeaders', 'type': '[str]'}, - } - - def __init__( - self, - *, - allowed_origins: List[str], - allowed_methods: List[Union[str, "CorsRuleAllowedMethodsItem"]], - max_age_in_seconds: int, - exposed_headers: List[str], - allowed_headers: List[str], - **kwargs - ): - super(CorsRule, self).__init__(**kwargs) - self.allowed_origins = allowed_origins - self.allowed_methods = allowed_methods - self.max_age_in_seconds = max_age_in_seconds - self.exposed_headers = exposed_headers - self.allowed_headers = allowed_headers - - -class CorsRules(msrest.serialization.Model): - """Sets the CORS rules. You can include up to five CorsRule elements in the request. - - :param cors_rules: The List of CORS rules. You can include up to five CorsRule elements in the - request. - :type cors_rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.CorsRule] - """ - - _attribute_map = { - 'cors_rules': {'key': 'corsRules', 'type': '[CorsRule]'}, - } - - def __init__( - self, - *, - cors_rules: Optional[List["CorsRule"]] = None, - **kwargs - ): - super(CorsRules, self).__init__(**kwargs) - self.cors_rules = cors_rules - - -class CustomDomain(msrest.serialization.Model): - """The custom domain assigned to this storage account. This can be set via Update. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. Gets or sets the custom domain name assigned to the storage account. - Name is the CNAME source. - :type name: str - :param use_sub_domain_name: Indicates whether indirect CName validation is enabled. Default - value is false. This should only be set on updates. - :type use_sub_domain_name: bool - """ - - _validation = { - 'name': {'required': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'use_sub_domain_name': {'key': 'useSubDomainName', 'type': 'bool'}, - } - - def __init__( - self, - *, - name: str, - use_sub_domain_name: Optional[bool] = None, - **kwargs - ): - super(CustomDomain, self).__init__(**kwargs) - self.name = name - self.use_sub_domain_name = use_sub_domain_name - - -class DateAfterCreation(msrest.serialization.Model): - """Object to define the number of days after creation. - - All required parameters must be populated in order to send to Azure. - - :param days_after_creation_greater_than: Required. Value indicating the age in days after - creation. - :type days_after_creation_greater_than: float - """ - - _validation = { - 'days_after_creation_greater_than': {'required': True, 'minimum': 0, 'multiple': 1}, - } - - _attribute_map = { - 'days_after_creation_greater_than': {'key': 'daysAfterCreationGreaterThan', 'type': 'float'}, - } - - def __init__( - self, - *, - days_after_creation_greater_than: float, - **kwargs - ): - super(DateAfterCreation, self).__init__(**kwargs) - self.days_after_creation_greater_than = days_after_creation_greater_than - - -class DateAfterModification(msrest.serialization.Model): - """Object to define the number of days after last modification. - - :param days_after_modification_greater_than: Value indicating the age in days after last - modification. - :type days_after_modification_greater_than: float - :param days_after_last_access_time_greater_than: Value indicating the age in days after last - blob access. This property can only be used in conjunction with last access time tracking - policy. - :type days_after_last_access_time_greater_than: float - """ - - _validation = { - 'days_after_modification_greater_than': {'minimum': 0, 'multiple': 1}, - 'days_after_last_access_time_greater_than': {'minimum': 0, 'multiple': 1}, - } - - _attribute_map = { - 'days_after_modification_greater_than': {'key': 'daysAfterModificationGreaterThan', 'type': 'float'}, - 'days_after_last_access_time_greater_than': {'key': 'daysAfterLastAccessTimeGreaterThan', 'type': 'float'}, - } - - def __init__( - self, - *, - days_after_modification_greater_than: Optional[float] = None, - days_after_last_access_time_greater_than: Optional[float] = None, - **kwargs - ): - super(DateAfterModification, self).__init__(**kwargs) - self.days_after_modification_greater_than = days_after_modification_greater_than - self.days_after_last_access_time_greater_than = days_after_last_access_time_greater_than - - -class DeletedAccount(Resource): - """Deleted storage account. - - 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 storage_account_resource_id: Full resource id of the original storage account. - :vartype storage_account_resource_id: str - :ivar location: Location of the deleted account. - :vartype location: str - :ivar restore_reference: Can be used to attempt recovering this deleted account via - PutStorageAccount API. - :vartype restore_reference: str - :ivar creation_time: Creation time of the deleted account. - :vartype creation_time: str - :ivar deletion_time: Deletion time of the deleted account. - :vartype deletion_time: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'storage_account_resource_id': {'readonly': True}, - 'location': {'readonly': True}, - 'restore_reference': {'readonly': True}, - 'creation_time': {'readonly': True}, - 'deletion_time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, - 'location': {'key': 'properties.location', 'type': 'str'}, - 'restore_reference': {'key': 'properties.restoreReference', 'type': 'str'}, - 'creation_time': {'key': 'properties.creationTime', 'type': 'str'}, - 'deletion_time': {'key': 'properties.deletionTime', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DeletedAccount, self).__init__(**kwargs) - self.storage_account_resource_id = None - self.location = None - self.restore_reference = None - self.creation_time = None - self.deletion_time = None - - -class DeletedAccountListResult(msrest.serialization.Model): - """The response from the List Deleted Accounts operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Gets the list of deleted accounts and their properties. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.DeletedAccount] - :ivar next_link: Request URL that can be used to query next page of deleted accounts. Returned - when total number of requested deleted accounts exceed maximum page size. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[DeletedAccount]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(DeletedAccountListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class DeletedShare(msrest.serialization.Model): - """The deleted share to be restored. - - All required parameters must be populated in order to send to Azure. - - :param deleted_share_name: Required. Required. Identify the name of the deleted share that will - be restored. - :type deleted_share_name: str - :param deleted_share_version: Required. Required. Identify the version of the deleted share - that will be restored. - :type deleted_share_version: str - """ - - _validation = { - 'deleted_share_name': {'required': True}, - 'deleted_share_version': {'required': True}, - } - - _attribute_map = { - 'deleted_share_name': {'key': 'deletedShareName', 'type': 'str'}, - 'deleted_share_version': {'key': 'deletedShareVersion', 'type': 'str'}, - } - - def __init__( - self, - *, - deleted_share_name: str, - deleted_share_version: str, - **kwargs - ): - super(DeletedShare, self).__init__(**kwargs) - self.deleted_share_name = deleted_share_name - self.deleted_share_version = deleted_share_version - - -class DeleteRetentionPolicy(msrest.serialization.Model): - """The service properties for soft delete. - - :param enabled: Indicates whether DeleteRetentionPolicy is enabled. - :type enabled: bool - :param days: Indicates the number of days that the deleted item should be retained. The minimum - specified value can be 1 and the maximum value can be 365. - :type days: int - """ - - _validation = { - 'days': {'maximum': 365, 'minimum': 1}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'days': {'key': 'days', 'type': 'int'}, - } - - def __init__( - self, - *, - enabled: Optional[bool] = None, - days: Optional[int] = None, - **kwargs - ): - super(DeleteRetentionPolicy, self).__init__(**kwargs) - self.enabled = enabled - self.days = days - - -class Dimension(msrest.serialization.Model): - """Dimension of blobs, possibly be blob type or access tier. - - :param name: Display name of dimension. - :type name: str - :param display_name: Display name of dimension. - :type display_name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - display_name: Optional[str] = None, - **kwargs - ): - super(Dimension, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - - -class Encryption(msrest.serialization.Model): - """The encryption settings on the storage account. - - All required parameters must be populated in order to send to Azure. - - :param services: List of services which support encryption. - :type services: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionServices - :param key_source: Required. The encryption keySource (provider). Possible values (case- - insensitive): Microsoft.Storage, Microsoft.Keyvault. Possible values include: - "Microsoft.Storage", "Microsoft.Keyvault". Default value: "Microsoft.Storage". - :type key_source: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeySource - :param require_infrastructure_encryption: A boolean indicating whether or not the service - applies a secondary layer of encryption with platform managed keys for data at rest. - :type require_infrastructure_encryption: bool - :param key_vault_properties: Properties provided by key vault. - :type key_vault_properties: ~azure.mgmt.storage.v2020_08_01_preview.models.KeyVaultProperties - """ - - _validation = { - 'key_source': {'required': True}, - } - - _attribute_map = { - 'services': {'key': 'services', 'type': 'EncryptionServices'}, - 'key_source': {'key': 'keySource', 'type': 'str'}, - 'require_infrastructure_encryption': {'key': 'requireInfrastructureEncryption', 'type': 'bool'}, - 'key_vault_properties': {'key': 'keyvaultproperties', 'type': 'KeyVaultProperties'}, - } - - def __init__( - self, - *, - key_source: Union[str, "KeySource"] = "Microsoft.Storage", - services: Optional["EncryptionServices"] = None, - require_infrastructure_encryption: Optional[bool] = None, - key_vault_properties: Optional["KeyVaultProperties"] = None, - **kwargs - ): - super(Encryption, self).__init__(**kwargs) - self.services = services - self.key_source = key_source - self.require_infrastructure_encryption = require_infrastructure_encryption - self.key_vault_properties = key_vault_properties - - -class EncryptionScope(Resource): - """The Encryption Scope 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. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param source: The provider for the encryption scope. Possible values (case-insensitive): - Microsoft.Storage, Microsoft.KeyVault. Possible values include: "Microsoft.Storage", - "Microsoft.KeyVault". - :type source: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeSource - :param state: The state of the encryption scope. Possible values (case-insensitive): Enabled, - Disabled. Possible values include: "Enabled", "Disabled". - :type state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeState - :ivar creation_time: Gets the creation date and time of the encryption scope in UTC. - :vartype creation_time: ~datetime.datetime - :ivar last_modified_time: Gets the last modification date and time of the encryption scope in - UTC. - :vartype last_modified_time: ~datetime.datetime - :param key_vault_properties: The key vault properties for the encryption scope. This is a - required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. - :type key_vault_properties: - ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeKeyVaultProperties - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'creation_time': {'readonly': True}, - 'last_modified_time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'source': {'key': 'properties.source', 'type': 'str'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'EncryptionScopeKeyVaultProperties'}, - } - - def __init__( - self, - *, - source: Optional[Union[str, "EncryptionScopeSource"]] = None, - state: Optional[Union[str, "EncryptionScopeState"]] = None, - key_vault_properties: Optional["EncryptionScopeKeyVaultProperties"] = None, - **kwargs - ): - super(EncryptionScope, self).__init__(**kwargs) - self.source = source - self.state = state - self.creation_time = None - self.last_modified_time = None - self.key_vault_properties = key_vault_properties - - -class EncryptionScopeKeyVaultProperties(msrest.serialization.Model): - """The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. - - :param key_uri: The object identifier for a key vault key object. When applied, the encryption - scope will use the key referenced by the identifier to enable customer-managed key support on - this encryption scope. - :type key_uri: str - """ - - _attribute_map = { - 'key_uri': {'key': 'keyUri', 'type': 'str'}, - } - - def __init__( - self, - *, - key_uri: Optional[str] = None, - **kwargs - ): - super(EncryptionScopeKeyVaultProperties, self).__init__(**kwargs) - self.key_uri = key_uri - - -class EncryptionScopeListResult(msrest.serialization.Model): - """List of encryption scopes requested, and if paging is required, a URL to the next page of encryption scopes. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of encryption scopes requested. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope] - :ivar next_link: Request URL that can be used to query next page of encryption scopes. Returned - when total number of requested encryption scopes exceeds the maximum page size. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[EncryptionScope]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(EncryptionScopeListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class EncryptionService(msrest.serialization.Model): - """A service that allows server-side encryption to be used. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param enabled: A boolean indicating whether or not the service encrypts the data as it is - stored. - :type enabled: bool - :ivar last_enabled_time: Gets a rough estimate of the date/time when the encryption was last - enabled by the user. Only returned when encryption is enabled. There might be some unencrypted - blobs which were written after this time, as it is just a rough estimate. - :vartype last_enabled_time: ~datetime.datetime - :param key_type: Encryption key type to be used for the encryption service. 'Account' key type - implies that an account-scoped encryption key will be used. 'Service' key type implies that a - default service key is used. Possible values include: "Service", "Account". - :type key_type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeyType - """ - - _validation = { - 'last_enabled_time': {'readonly': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, - 'key_type': {'key': 'keyType', 'type': 'str'}, - } - - def __init__( - self, - *, - enabled: Optional[bool] = None, - key_type: Optional[Union[str, "KeyType"]] = None, - **kwargs - ): - super(EncryptionService, self).__init__(**kwargs) - self.enabled = enabled - self.last_enabled_time = None - self.key_type = key_type - - -class EncryptionServices(msrest.serialization.Model): - """A list of services that support encryption. - - :param blob: The encryption function of the blob storage service. - :type blob: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService - :param file: The encryption function of the file storage service. - :type file: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService - :param table: The encryption function of the table storage service. - :type table: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService - :param queue: The encryption function of the queue storage service. - :type queue: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService - """ - - _attribute_map = { - 'blob': {'key': 'blob', 'type': 'EncryptionService'}, - 'file': {'key': 'file', 'type': 'EncryptionService'}, - 'table': {'key': 'table', 'type': 'EncryptionService'}, - 'queue': {'key': 'queue', 'type': 'EncryptionService'}, - } - - def __init__( - self, - *, - blob: Optional["EncryptionService"] = None, - file: Optional["EncryptionService"] = None, - table: Optional["EncryptionService"] = None, - queue: Optional["EncryptionService"] = None, - **kwargs - ): - super(EncryptionServices, self).__init__(**kwargs) - self.blob = blob - self.file = file - self.table = table - self.queue = queue - - -class Endpoints(msrest.serialization.Model): - """The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar blob: Gets the blob endpoint. - :vartype blob: str - :ivar queue: Gets the queue endpoint. - :vartype queue: str - :ivar table: Gets the table endpoint. - :vartype table: str - :ivar file: Gets the file endpoint. - :vartype file: str - :ivar web: Gets the web endpoint. - :vartype web: str - :ivar dfs: Gets the dfs endpoint. - :vartype dfs: str - :param microsoft_endpoints: Gets the microsoft routing storage endpoints. - :type microsoft_endpoints: - ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountMicrosoftEndpoints - :param internet_endpoints: Gets the internet routing storage endpoints. - :type internet_endpoints: - ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountInternetEndpoints - """ - - _validation = { - 'blob': {'readonly': True}, - 'queue': {'readonly': True}, - 'table': {'readonly': True}, - 'file': {'readonly': True}, - 'web': {'readonly': True}, - 'dfs': {'readonly': True}, - } - - _attribute_map = { - 'blob': {'key': 'blob', 'type': 'str'}, - 'queue': {'key': 'queue', 'type': 'str'}, - 'table': {'key': 'table', 'type': 'str'}, - 'file': {'key': 'file', 'type': 'str'}, - 'web': {'key': 'web', 'type': 'str'}, - 'dfs': {'key': 'dfs', 'type': 'str'}, - 'microsoft_endpoints': {'key': 'microsoftEndpoints', 'type': 'StorageAccountMicrosoftEndpoints'}, - 'internet_endpoints': {'key': 'internetEndpoints', 'type': 'StorageAccountInternetEndpoints'}, - } - - def __init__( - self, - *, - microsoft_endpoints: Optional["StorageAccountMicrosoftEndpoints"] = None, - internet_endpoints: Optional["StorageAccountInternetEndpoints"] = None, - **kwargs - ): - super(Endpoints, self).__init__(**kwargs) - self.blob = None - self.queue = None - self.table = None - self.file = None - self.web = None - self.dfs = None - self.microsoft_endpoints = microsoft_endpoints - self.internet_endpoints = internet_endpoints - - -class ErrorResponse(msrest.serialization.Model): - """An error response from the storage resource provider. - - :param error: Azure Storage Resource Provider error response body. - :type error: ~azure.mgmt.storage.v2020_08_01_preview.models.ErrorResponseBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, - } - - def __init__( - self, - *, - error: Optional["ErrorResponseBody"] = None, - **kwargs - ): - super(ErrorResponse, self).__init__(**kwargs) - self.error = error - - -class ErrorResponseBody(msrest.serialization.Model): - """Error response body contract. - - :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 - """ - - _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(ErrorResponseBody, self).__init__(**kwargs) - self.code = code - self.message = message - - -class ExtendedLocation(msrest.serialization.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.storage.v2020_08_01_preview.models.ExtendedLocationTypes - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - type: Optional[Union[str, "ExtendedLocationTypes"]] = None, - **kwargs - ): - super(ExtendedLocation, self).__init__(**kwargs) - self.name = name - self.type = type - - -class FileServiceItems(msrest.serialization.Model): - """FileServiceItems. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of file services returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[FileServiceProperties]'}, - } - - def __init__( - self, - **kwargs - ): - super(FileServiceItems, self).__init__(**kwargs) - self.value = None - - -class FileServiceProperties(Resource): - """The properties of File services in storage account. - - 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 sku: Sku name and tier. - :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku - :param cors: Specifies CORS rules for the File service. You can include up to five CorsRule - elements in the request. If no CorsRule elements are included in the request body, all CORS - rules will be deleted, and CORS will be disabled for the File service. - :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules - :param share_delete_retention_policy: The file service properties for share soft delete. - :type share_delete_retention_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy - :param protocol_settings: Protocol settings for file service. - :type protocol_settings: ~azure.mgmt.storage.v2020_08_01_preview.models.ProtocolSettings - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'sku': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, - 'share_delete_retention_policy': {'key': 'properties.shareDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, - 'protocol_settings': {'key': 'properties.protocolSettings', 'type': 'ProtocolSettings'}, - } - - def __init__( - self, - *, - cors: Optional["CorsRules"] = None, - share_delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, - protocol_settings: Optional["ProtocolSettings"] = None, - **kwargs - ): - super(FileServiceProperties, self).__init__(**kwargs) - self.sku = None - self.cors = cors - self.share_delete_retention_policy = share_delete_retention_policy - self.protocol_settings = protocol_settings - - -class FileShare(AzureEntityResource): - """Properties of the file share, including Id, resource name, resource type, Etag. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar etag: Resource Etag. - :vartype etag: str - :ivar last_modified_time: Returns the date and time the share was last modified. - :vartype last_modified_time: ~datetime.datetime - :param metadata: A name-value pair to associate with the share as metadata. - :type metadata: dict[str, str] - :param share_quota: The maximum size of the share, in gigabytes. Must be greater than 0, and - less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. - :type share_quota: int - :param enabled_protocols: The authentication protocol that is used for the file share. Can only - be specified when creating a share. Possible values include: "SMB", "NFS". - :type enabled_protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EnabledProtocols - :param root_squash: The property is for NFS share only. The default is NoRootSquash. Possible - values include: "NoRootSquash", "RootSquash", "AllSquash". - :type root_squash: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RootSquashType - :ivar version: The version of the share. - :vartype version: str - :ivar deleted: Indicates whether the share was deleted. - :vartype deleted: bool - :ivar deleted_time: The deleted time if the share was deleted. - :vartype deleted_time: ~datetime.datetime - :ivar remaining_retention_days: Remaining retention days for share that was soft deleted. - :vartype remaining_retention_days: int - :param access_tier: Access tier for specific share. GpV2 account can choose between - TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible - values include: "TransactionOptimized", "Hot", "Cool", "Premium". - :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ShareAccessTier - :ivar access_tier_change_time: Indicates the last modification time for share access tier. - :vartype access_tier_change_time: ~datetime.datetime - :ivar access_tier_status: Indicates if there is a pending transition for access tier. - :vartype access_tier_status: str - :ivar share_usage_bytes: The approximate size of the data stored on the share. Note that this - value may not include all recently created or recently resized files. - :vartype share_usage_bytes: long - :ivar snapshot_time: Creation time of share snapshot returned in the response of list shares - with expand param "snapshots". - :vartype snapshot_time: ~datetime.datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'last_modified_time': {'readonly': True}, - 'share_quota': {'maximum': 102400, 'minimum': 1}, - 'version': {'readonly': True}, - 'deleted': {'readonly': True}, - 'deleted_time': {'readonly': True}, - 'remaining_retention_days': {'readonly': True}, - 'access_tier_change_time': {'readonly': True}, - 'access_tier_status': {'readonly': True}, - 'share_usage_bytes': {'readonly': True}, - 'snapshot_time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, - 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, - 'enabled_protocols': {'key': 'properties.enabledProtocols', 'type': 'str'}, - 'root_squash': {'key': 'properties.rootSquash', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, - 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, - 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, - 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, - 'access_tier_change_time': {'key': 'properties.accessTierChangeTime', 'type': 'iso-8601'}, - 'access_tier_status': {'key': 'properties.accessTierStatus', 'type': 'str'}, - 'share_usage_bytes': {'key': 'properties.shareUsageBytes', 'type': 'long'}, - 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - metadata: Optional[Dict[str, str]] = None, - share_quota: Optional[int] = None, - enabled_protocols: Optional[Union[str, "EnabledProtocols"]] = None, - root_squash: Optional[Union[str, "RootSquashType"]] = None, - access_tier: Optional[Union[str, "ShareAccessTier"]] = None, - **kwargs - ): - super(FileShare, self).__init__(**kwargs) - self.last_modified_time = None - self.metadata = metadata - self.share_quota = share_quota - self.enabled_protocols = enabled_protocols - self.root_squash = root_squash - self.version = None - self.deleted = None - self.deleted_time = None - self.remaining_retention_days = None - self.access_tier = access_tier - self.access_tier_change_time = None - self.access_tier_status = None - self.share_usage_bytes = None - self.snapshot_time = None - - -class FileShareItem(AzureEntityResource): - """The file share properties be listed out. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar etag: Resource Etag. - :vartype etag: str - :ivar last_modified_time: Returns the date and time the share was last modified. - :vartype last_modified_time: ~datetime.datetime - :param metadata: A name-value pair to associate with the share as metadata. - :type metadata: dict[str, str] - :param share_quota: The maximum size of the share, in gigabytes. Must be greater than 0, and - less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. - :type share_quota: int - :param enabled_protocols: The authentication protocol that is used for the file share. Can only - be specified when creating a share. Possible values include: "SMB", "NFS". - :type enabled_protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EnabledProtocols - :param root_squash: The property is for NFS share only. The default is NoRootSquash. Possible - values include: "NoRootSquash", "RootSquash", "AllSquash". - :type root_squash: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RootSquashType - :ivar version: The version of the share. - :vartype version: str - :ivar deleted: Indicates whether the share was deleted. - :vartype deleted: bool - :ivar deleted_time: The deleted time if the share was deleted. - :vartype deleted_time: ~datetime.datetime - :ivar remaining_retention_days: Remaining retention days for share that was soft deleted. - :vartype remaining_retention_days: int - :param access_tier: Access tier for specific share. GpV2 account can choose between - TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible - values include: "TransactionOptimized", "Hot", "Cool", "Premium". - :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ShareAccessTier - :ivar access_tier_change_time: Indicates the last modification time for share access tier. - :vartype access_tier_change_time: ~datetime.datetime - :ivar access_tier_status: Indicates if there is a pending transition for access tier. - :vartype access_tier_status: str - :ivar share_usage_bytes: The approximate size of the data stored on the share. Note that this - value may not include all recently created or recently resized files. - :vartype share_usage_bytes: long - :ivar snapshot_time: Creation time of share snapshot returned in the response of list shares - with expand param "snapshots". - :vartype snapshot_time: ~datetime.datetime - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'last_modified_time': {'readonly': True}, - 'share_quota': {'maximum': 102400, 'minimum': 1}, - 'version': {'readonly': True}, - 'deleted': {'readonly': True}, - 'deleted_time': {'readonly': True}, - 'remaining_retention_days': {'readonly': True}, - 'access_tier_change_time': {'readonly': True}, - 'access_tier_status': {'readonly': True}, - 'share_usage_bytes': {'readonly': True}, - 'snapshot_time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, - 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, - 'enabled_protocols': {'key': 'properties.enabledProtocols', 'type': 'str'}, - 'root_squash': {'key': 'properties.rootSquash', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, - 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, - 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, - 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, - 'access_tier_change_time': {'key': 'properties.accessTierChangeTime', 'type': 'iso-8601'}, - 'access_tier_status': {'key': 'properties.accessTierStatus', 'type': 'str'}, - 'share_usage_bytes': {'key': 'properties.shareUsageBytes', 'type': 'long'}, - 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - metadata: Optional[Dict[str, str]] = None, - share_quota: Optional[int] = None, - enabled_protocols: Optional[Union[str, "EnabledProtocols"]] = None, - root_squash: Optional[Union[str, "RootSquashType"]] = None, - access_tier: Optional[Union[str, "ShareAccessTier"]] = None, - **kwargs - ): - super(FileShareItem, self).__init__(**kwargs) - self.last_modified_time = None - self.metadata = metadata - self.share_quota = share_quota - self.enabled_protocols = enabled_protocols - self.root_squash = root_squash - self.version = None - self.deleted = None - self.deleted_time = None - self.remaining_retention_days = None - self.access_tier = access_tier - self.access_tier_change_time = None - self.access_tier_status = None - self.share_usage_bytes = None - self.snapshot_time = None - - -class FileShareItems(msrest.serialization.Model): - """Response schema. Contains list of shares returned, and if paging is requested or required, a URL to next page of shares. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of file shares returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.FileShareItem] - :ivar next_link: Request URL that can be used to query next page of shares. Returned when total - number of requested shares exceed maximum page size. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[FileShareItem]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(FileShareItems, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class GeoReplicationStats(msrest.serialization.Model): - """Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when geo-redundant replication is enabled for the storage account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar status: The status of the secondary location. Possible values are: - Live: Indicates that - the secondary location is active and operational. - Bootstrap: Indicates initial - synchronization from the primary location to the secondary location is in progress.This - typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary - location is temporarily unavailable. Possible values include: "Live", "Bootstrap", - "Unavailable". - :vartype status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.GeoReplicationStatus - :ivar last_sync_time: All primary writes preceding this UTC date/time value are guaranteed to - be available for read operations. Primary writes following this point in time may or may not be - available for reads. Element may be default value if value of LastSyncTime is not available, - this can happen if secondary is offline or we are in bootstrap. - :vartype last_sync_time: ~datetime.datetime - :ivar can_failover: A boolean flag which indicates whether or not account failover is supported - for the account. - :vartype can_failover: bool - """ - - _validation = { - 'status': {'readonly': True}, - 'last_sync_time': {'readonly': True}, - 'can_failover': {'readonly': True}, - } - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'last_sync_time': {'key': 'lastSyncTime', 'type': 'iso-8601'}, - 'can_failover': {'key': 'canFailover', 'type': 'bool'}, - } - - def __init__( - self, - **kwargs - ): - super(GeoReplicationStats, self).__init__(**kwargs) - self.status = None - self.last_sync_time = None - self.can_failover = None - - -class Identity(msrest.serialization.Model): - """Identity for the resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar principal_id: The principal ID of resource identity. - :vartype principal_id: str - :ivar tenant_id: The tenant ID of resource. - :vartype tenant_id: str - :ivar type: Required. The identity type. Default value: "SystemAssigned". - :vartype type: str - """ - - _validation = { - 'principal_id': {'readonly': True}, - 'tenant_id': {'readonly': True}, - 'type': {'required': True, 'constant': True}, - } - - _attribute_map = { - 'principal_id': {'key': 'principalId', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - type = "SystemAssigned" - - def __init__( - self, - **kwargs - ): - super(Identity, self).__init__(**kwargs) - self.principal_id = None - self.tenant_id = None - - -class ImmutabilityPolicy(AzureEntityResource): - """The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag. - - Variables are only populated by the server, and will be ignored when sending a request. - - :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 - :param immutability_period_since_creation_in_days: The immutability period for the blobs in the - container since the policy creation, in days. - :type immutability_period_since_creation_in_days: int - :ivar state: The ImmutabilityPolicy state of a blob container, possible values include: Locked - and Unlocked. Possible values include: "Locked", "Unlocked". - :vartype state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyState - :param allow_protected_append_writes: This property can only be changed for unlocked time-based - retention policies. When enabled, new blocks can be written to an append blob while maintaining - immutability protection and compliance. Only new blocks can be added and any existing blocks - cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy - API. - :type allow_protected_append_writes: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, - } - - def __init__( - self, - *, - immutability_period_since_creation_in_days: Optional[int] = None, - allow_protected_append_writes: Optional[bool] = None, - **kwargs - ): - super(ImmutabilityPolicy, self).__init__(**kwargs) - self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days - self.state = None - self.allow_protected_append_writes = allow_protected_append_writes - - -class ImmutabilityPolicyProperties(msrest.serialization.Model): - """The properties of an ImmutabilityPolicy of a blob container. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar etag: ImmutabilityPolicy Etag. - :vartype etag: str - :ivar update_history: The ImmutabilityPolicy update history of the blob container. - :vartype update_history: - list[~azure.mgmt.storage.v2020_08_01_preview.models.UpdateHistoryProperty] - :param immutability_period_since_creation_in_days: The immutability period for the blobs in the - container since the policy creation, in days. - :type immutability_period_since_creation_in_days: int - :ivar state: The ImmutabilityPolicy state of a blob container, possible values include: Locked - and Unlocked. Possible values include: "Locked", "Unlocked". - :vartype state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyState - :param allow_protected_append_writes: This property can only be changed for unlocked time-based - retention policies. When enabled, new blocks can be written to an append blob while maintaining - immutability protection and compliance. Only new blocks can be added and any existing blocks - cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy - API. - :type allow_protected_append_writes: bool - """ - - _validation = { - 'etag': {'readonly': True}, - 'update_history': {'readonly': True}, - 'state': {'readonly': True}, - } - - _attribute_map = { - 'etag': {'key': 'etag', 'type': 'str'}, - 'update_history': {'key': 'updateHistory', 'type': '[UpdateHistoryProperty]'}, - 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, - 'state': {'key': 'properties.state', 'type': 'str'}, - 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, - } - - def __init__( - self, - *, - immutability_period_since_creation_in_days: Optional[int] = None, - allow_protected_append_writes: Optional[bool] = None, - **kwargs - ): - super(ImmutabilityPolicyProperties, self).__init__(**kwargs) - self.etag = None - self.update_history = None - self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days - self.state = None - self.allow_protected_append_writes = allow_protected_append_writes - - -class IPRule(msrest.serialization.Model): - """IP rule with specific IP or IP range in CIDR format. - - 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 ip_address_or_range: Required. Specifies the IP or IP range in CIDR format. Only IPV4 - address is allowed. - :type ip_address_or_range: str - :ivar action: The action of IP ACL rule. Default value: "Allow". - :vartype action: str - """ - - _validation = { - 'ip_address_or_range': {'required': True}, - 'action': {'constant': True}, - } - - _attribute_map = { - 'ip_address_or_range': {'key': 'value', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - } - - action = "Allow" - - def __init__( - self, - *, - ip_address_or_range: str, - **kwargs - ): - super(IPRule, self).__init__(**kwargs) - self.ip_address_or_range = ip_address_or_range - - -class KeyVaultProperties(msrest.serialization.Model): - """Properties of key vault. - - Variables are only populated by the server, and will be ignored when sending a request. - - :param key_name: The name of KeyVault key. - :type key_name: str - :param key_version: The version of KeyVault key. - :type key_version: str - :param key_vault_uri: The Uri of KeyVault. - :type key_vault_uri: str - :ivar current_versioned_key_identifier: The object identifier of the current versioned Key - Vault Key in use. - :vartype current_versioned_key_identifier: str - :ivar last_key_rotation_timestamp: Timestamp of last rotation of the Key Vault Key. - :vartype last_key_rotation_timestamp: ~datetime.datetime - """ - - _validation = { - 'current_versioned_key_identifier': {'readonly': True}, - 'last_key_rotation_timestamp': {'readonly': True}, - } - - _attribute_map = { - 'key_name': {'key': 'keyname', 'type': 'str'}, - 'key_version': {'key': 'keyversion', 'type': 'str'}, - 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, - 'current_versioned_key_identifier': {'key': 'currentVersionedKeyIdentifier', 'type': 'str'}, - 'last_key_rotation_timestamp': {'key': 'lastKeyRotationTimestamp', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - key_name: Optional[str] = None, - key_version: Optional[str] = None, - key_vault_uri: Optional[str] = None, - **kwargs - ): - super(KeyVaultProperties, self).__init__(**kwargs) - self.key_name = key_name - self.key_version = key_version - self.key_vault_uri = key_vault_uri - self.current_versioned_key_identifier = None - self.last_key_rotation_timestamp = None - - -class LastAccessTimeTrackingPolicy(msrest.serialization.Model): - """The blob service properties for Last access time based tracking policy. - - All required parameters must be populated in order to send to Azure. - - :param enable: Required. When set to true last access time based tracking is enabled. - :type enable: bool - :param name: Name of the policy. The valid value is AccessTimeTracking. This field is currently - read only. Possible values include: "AccessTimeTracking". - :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Name - :param tracking_granularity_in_days: The field specifies blob object tracking granularity in - days, typically how often the blob object should be tracked.This field is currently read only - with value as 1. - :type tracking_granularity_in_days: int - :param blob_type: An array of predefined supported blob types. Only blockBlob is the supported - value. This field is currently read only. - :type blob_type: list[str] - """ - - _validation = { - 'enable': {'required': True}, - } - - _attribute_map = { - 'enable': {'key': 'enable', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - 'tracking_granularity_in_days': {'key': 'trackingGranularityInDays', 'type': 'int'}, - 'blob_type': {'key': 'blobType', 'type': '[str]'}, - } - - def __init__( - self, - *, - enable: bool, - name: Optional[Union[str, "Name"]] = None, - tracking_granularity_in_days: Optional[int] = None, - blob_type: Optional[List[str]] = None, - **kwargs - ): - super(LastAccessTimeTrackingPolicy, self).__init__(**kwargs) - self.enable = enable - self.name = name - self.tracking_granularity_in_days = tracking_granularity_in_days - self.blob_type = blob_type - - -class LeaseContainerRequest(msrest.serialization.Model): - """Lease Container request schema. - - All required parameters must be populated in order to send to Azure. - - :param action: Required. Specifies the lease action. Can be one of the available actions. - Possible values include: "Acquire", "Renew", "Change", "Release", "Break". - :type action: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseContainerRequestAction - :param lease_id: Identifies the lease. Can be specified in any valid GUID string format. - :type lease_id: str - :param break_period: Optional. For a break action, proposed duration the lease should continue - before it is broken, in seconds, between 0 and 60. - :type break_period: int - :param lease_duration: Required for acquire. Specifies the duration of the lease, in seconds, - or negative one (-1) for a lease that never expires. - :type lease_duration: int - :param proposed_lease_id: Optional for acquire, required for change. Proposed lease ID, in a - GUID string format. - :type proposed_lease_id: str - """ - - _validation = { - 'action': {'required': True}, - } - - _attribute_map = { - 'action': {'key': 'action', 'type': 'str'}, - 'lease_id': {'key': 'leaseId', 'type': 'str'}, - 'break_period': {'key': 'breakPeriod', 'type': 'int'}, - 'lease_duration': {'key': 'leaseDuration', 'type': 'int'}, - 'proposed_lease_id': {'key': 'proposedLeaseId', 'type': 'str'}, - } - - def __init__( - self, - *, - action: Union[str, "LeaseContainerRequestAction"], - lease_id: Optional[str] = None, - break_period: Optional[int] = None, - lease_duration: Optional[int] = None, - proposed_lease_id: Optional[str] = None, - **kwargs - ): - super(LeaseContainerRequest, self).__init__(**kwargs) - self.action = action - self.lease_id = lease_id - self.break_period = break_period - self.lease_duration = lease_duration - self.proposed_lease_id = proposed_lease_id - - -class LeaseContainerResponse(msrest.serialization.Model): - """Lease Container response schema. - - :param lease_id: Returned unique lease ID that must be included with any request to delete the - container, or to renew, change, or release the lease. - :type lease_id: str - :param lease_time_seconds: Approximate time remaining in the lease period, in seconds. - :type lease_time_seconds: str - """ - - _attribute_map = { - 'lease_id': {'key': 'leaseId', 'type': 'str'}, - 'lease_time_seconds': {'key': 'leaseTimeSeconds', 'type': 'str'}, - } - - def __init__( - self, - *, - lease_id: Optional[str] = None, - lease_time_seconds: Optional[str] = None, - **kwargs - ): - super(LeaseContainerResponse, self).__init__(**kwargs) - self.lease_id = lease_id - self.lease_time_seconds = lease_time_seconds - - -class LegalHold(msrest.serialization.Model): - """The LegalHold property of a blob container. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at - least one existing tag. The hasLegalHold public property is set to false by SRP if all existing - legal hold tags are cleared out. There can be a maximum of 1000 blob containers with - hasLegalHold=true for a given account. - :vartype has_legal_hold: bool - :param tags: Required. A set of tags. Each tag should be 3 to 23 alphanumeric characters and is - normalized to lower case at SRP. - :type tags: list[str] - """ - - _validation = { - 'has_legal_hold': {'readonly': True}, - 'tags': {'required': True}, - } - - _attribute_map = { - 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, - 'tags': {'key': 'tags', 'type': '[str]'}, - } - - def __init__( - self, - *, - tags: List[str], - **kwargs - ): - super(LegalHold, self).__init__(**kwargs) - self.has_legal_hold = None - self.tags = tags - - -class LegalHoldProperties(msrest.serialization.Model): - """The LegalHold property of a blob container. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at - least one existing tag. The hasLegalHold public property is set to false by SRP if all existing - legal hold tags are cleared out. There can be a maximum of 1000 blob containers with - hasLegalHold=true for a given account. - :vartype has_legal_hold: bool - :param tags: A set of tags. The list of LegalHold tags of a blob container. - :type tags: list[~azure.mgmt.storage.v2020_08_01_preview.models.TagProperty] - """ - - _validation = { - 'has_legal_hold': {'readonly': True}, - } - - _attribute_map = { - 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, - 'tags': {'key': 'tags', 'type': '[TagProperty]'}, - } - - def __init__( - self, - *, - tags: Optional[List["TagProperty"]] = None, - **kwargs - ): - super(LegalHoldProperties, self).__init__(**kwargs) - self.has_legal_hold = None - self.tags = tags - - -class ListAccountSasResponse(msrest.serialization.Model): - """The List SAS credentials operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar account_sas_token: List SAS credentials of storage account. - :vartype account_sas_token: str - """ - - _validation = { - 'account_sas_token': {'readonly': True}, - } - - _attribute_map = { - 'account_sas_token': {'key': 'accountSasToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ListAccountSasResponse, self).__init__(**kwargs) - self.account_sas_token = None - - -class ListBlobInventoryPolicy(msrest.serialization.Model): - """List of blob inventory policies returned. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of blob inventory policies. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[BlobInventoryPolicy]'}, - } - - def __init__( - self, - **kwargs - ): - super(ListBlobInventoryPolicy, self).__init__(**kwargs) - self.value = None - - -class ListContainerItem(AzureEntityResource): - """The blob container properties be listed out. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar etag: Resource Etag. - :vartype etag: str - :ivar version: The version of the deleted blob container. - :vartype version: str - :ivar deleted: Indicates whether the blob container was deleted. - :vartype deleted: bool - :ivar deleted_time: Blob container deletion time. - :vartype deleted_time: ~datetime.datetime - :ivar remaining_retention_days: Remaining retention days for soft deleted blob container. - :vartype remaining_retention_days: int - :param default_encryption_scope: Default the container to use specified encryption scope for - all writes. - :type default_encryption_scope: str - :param deny_encryption_scope_override: Block override of encryption scope from the container - default. - :type deny_encryption_scope_override: bool - :param public_access: Specifies whether data in the container may be accessed publicly and the - level of access. Possible values include: "Container", "Blob", "None". - :type public_access: str or ~azure.mgmt.storage.v2020_08_01_preview.models.PublicAccess - :ivar last_modified_time: Returns the date and time the container was last modified. - :vartype last_modified_time: ~datetime.datetime - :ivar lease_status: The lease status of the container. Possible values include: "Locked", - "Unlocked". - :vartype lease_status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseStatus - :ivar lease_state: Lease state of the container. Possible values include: "Available", - "Leased", "Expired", "Breaking", "Broken". - :vartype lease_state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseState - :ivar lease_duration: Specifies whether the lease on a container is of infinite or fixed - duration, only when the container is leased. Possible values include: "Infinite", "Fixed". - :vartype lease_duration: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseDuration - :param metadata: A name-value pair to associate with the container as metadata. - :type metadata: dict[str, str] - :ivar immutability_policy: The ImmutabilityPolicy property of the container. - :vartype immutability_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyProperties - :ivar legal_hold: The LegalHold property of the container. - :vartype legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHoldProperties - :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at - least one existing tag. The hasLegalHold public property is set to false by SRP if all existing - legal hold tags are cleared out. There can be a maximum of 1000 blob containers with - hasLegalHold=true for a given account. - :vartype has_legal_hold: bool - :ivar has_immutability_policy: The hasImmutabilityPolicy public property is set to true by SRP - if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public - property is set to false by SRP if ImmutabilityPolicy has not been created for this container. - :vartype has_immutability_policy: bool - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'etag': {'readonly': True}, - 'version': {'readonly': True}, - 'deleted': {'readonly': True}, - 'deleted_time': {'readonly': True}, - 'remaining_retention_days': {'readonly': True}, - 'last_modified_time': {'readonly': True}, - 'lease_status': {'readonly': True}, - 'lease_state': {'readonly': True}, - 'lease_duration': {'readonly': True}, - 'immutability_policy': {'readonly': True}, - 'legal_hold': {'readonly': True}, - 'has_legal_hold': {'readonly': True}, - 'has_immutability_policy': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'etag': {'key': 'etag', 'type': 'str'}, - 'version': {'key': 'properties.version', 'type': 'str'}, - 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, - 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, - 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, - 'default_encryption_scope': {'key': 'properties.defaultEncryptionScope', 'type': 'str'}, - 'deny_encryption_scope_override': {'key': 'properties.denyEncryptionScopeOverride', 'type': 'bool'}, - 'public_access': {'key': 'properties.publicAccess', 'type': 'str'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, - 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, - 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, - 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, - 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, - 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, - 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, - 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, - } - - def __init__( - self, - *, - default_encryption_scope: Optional[str] = None, - deny_encryption_scope_override: Optional[bool] = None, - public_access: Optional[Union[str, "PublicAccess"]] = None, - metadata: Optional[Dict[str, str]] = None, - **kwargs - ): - super(ListContainerItem, self).__init__(**kwargs) - self.version = None - self.deleted = None - self.deleted_time = None - self.remaining_retention_days = None - self.default_encryption_scope = default_encryption_scope - self.deny_encryption_scope_override = deny_encryption_scope_override - self.public_access = public_access - self.last_modified_time = None - self.lease_status = None - self.lease_state = None - self.lease_duration = None - self.metadata = metadata - self.immutability_policy = None - self.legal_hold = None - self.has_legal_hold = None - self.has_immutability_policy = None - - -class ListContainerItems(msrest.serialization.Model): - """Response schema. Contains list of blobs returned, and if paging is requested or required, a URL to next page of containers. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of blobs containers returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ListContainerItem] - :ivar next_link: Request URL that can be used to query next page of containers. Returned when - total number of requested containers exceed maximum page size. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ListContainerItem]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ListContainerItems, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ListQueue(Resource): - """ListQueue. - - 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 metadata: A name-value pair that represents queue metadata. - :type metadata: dict[str, 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'}, - 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, - } - - def __init__( - self, - *, - metadata: Optional[Dict[str, str]] = None, - **kwargs - ): - super(ListQueue, self).__init__(**kwargs) - self.metadata = metadata - - -class ListQueueResource(msrest.serialization.Model): - """Response schema. Contains list of queues returned. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of queues returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ListQueue] - :ivar next_link: Request URL that can be used to list next page of queues. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ListQueue]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ListQueueResource, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ListQueueServices(msrest.serialization.Model): - """ListQueueServices. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of queue services returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[QueueServiceProperties]'}, - } - - def __init__( - self, - **kwargs - ): - super(ListQueueServices, self).__init__(**kwargs) - self.value = None - - -class ListServiceSasResponse(msrest.serialization.Model): - """The List service SAS credentials operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar service_sas_token: List service SAS credentials of specific resource. - :vartype service_sas_token: str - """ - - _validation = { - 'service_sas_token': {'readonly': True}, - } - - _attribute_map = { - 'service_sas_token': {'key': 'serviceSasToken', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ListServiceSasResponse, self).__init__(**kwargs) - self.service_sas_token = None - - -class ListTableResource(msrest.serialization.Model): - """Response schema. Contains list of tables returned. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of tables returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Table] - :ivar next_link: Request URL that can be used to query next page of tables. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Table]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(ListTableResource, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class ListTableServices(msrest.serialization.Model): - """ListTableServices. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: List of table services returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[TableServiceProperties]'}, - } - - def __init__( - self, - **kwargs - ): - super(ListTableServices, self).__init__(**kwargs) - self.value = None - - -class ManagementPolicy(Resource): - """The Get Storage Account ManagementPolicies operation response. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar last_modified_time: Returns the date and time the ManagementPolicies was last modified. - :vartype last_modified_time: ~datetime.datetime - :param policy: The Storage Account ManagementPolicy, in JSON format. See more details in: - https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - :type policy: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicySchema - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'last_modified_time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, - 'policy': {'key': 'properties.policy', 'type': 'ManagementPolicySchema'}, - } - - def __init__( - self, - *, - policy: Optional["ManagementPolicySchema"] = None, - **kwargs - ): - super(ManagementPolicy, self).__init__(**kwargs) - self.last_modified_time = None - self.policy = policy - - -class ManagementPolicyAction(msrest.serialization.Model): - """Actions are applied to the filtered blobs when the execution condition is met. - - :param base_blob: The management policy action for base blob. - :type base_blob: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyBaseBlob - :param snapshot: The management policy action for snapshot. - :type snapshot: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicySnapShot - """ - - _attribute_map = { - 'base_blob': {'key': 'baseBlob', 'type': 'ManagementPolicyBaseBlob'}, - 'snapshot': {'key': 'snapshot', 'type': 'ManagementPolicySnapShot'}, - } - - def __init__( - self, - *, - base_blob: Optional["ManagementPolicyBaseBlob"] = None, - snapshot: Optional["ManagementPolicySnapShot"] = None, - **kwargs - ): - super(ManagementPolicyAction, self).__init__(**kwargs) - self.base_blob = base_blob - self.snapshot = snapshot - - -class ManagementPolicyBaseBlob(msrest.serialization.Model): - """Management policy action for base blob. - - :param tier_to_cool: The function to tier blobs to cool storage. Support blobs currently at Hot - tier. - :type tier_to_cool: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification - :param tier_to_archive: The function to tier blobs to archive storage. Support blobs currently - at Hot or Cool tier. - :type tier_to_archive: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification - :param delete: The function to delete the blob. - :type delete: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification - :param enable_auto_tier_to_hot_from_cool: This property enables auto tiering of a blob from - cool to hot on a blob access. This property requires - tierToCool.daysAfterLastAccessTimeGreaterThan. - :type enable_auto_tier_to_hot_from_cool: bool - """ - - _attribute_map = { - 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterModification'}, - 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterModification'}, - 'delete': {'key': 'delete', 'type': 'DateAfterModification'}, - 'enable_auto_tier_to_hot_from_cool': {'key': 'enableAutoTierToHotFromCool', 'type': 'bool'}, - } - - def __init__( - self, - *, - tier_to_cool: Optional["DateAfterModification"] = None, - tier_to_archive: Optional["DateAfterModification"] = None, - delete: Optional["DateAfterModification"] = None, - enable_auto_tier_to_hot_from_cool: Optional[bool] = None, - **kwargs - ): - super(ManagementPolicyBaseBlob, self).__init__(**kwargs) - self.tier_to_cool = tier_to_cool - self.tier_to_archive = tier_to_archive - self.delete = delete - self.enable_auto_tier_to_hot_from_cool = enable_auto_tier_to_hot_from_cool - - -class ManagementPolicyDefinition(msrest.serialization.Model): - """An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. - - All required parameters must be populated in order to send to Azure. - - :param actions: Required. An object that defines the action set. - :type actions: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyAction - :param filters: An object that defines the filter set. - :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyFilter - """ - - _validation = { - 'actions': {'required': True}, - } - - _attribute_map = { - 'actions': {'key': 'actions', 'type': 'ManagementPolicyAction'}, - 'filters': {'key': 'filters', 'type': 'ManagementPolicyFilter'}, - } - - def __init__( - self, - *, - actions: "ManagementPolicyAction", - filters: Optional["ManagementPolicyFilter"] = None, - **kwargs - ): - super(ManagementPolicyDefinition, self).__init__(**kwargs) - self.actions = actions - self.filters = filters - - -class ManagementPolicyFilter(msrest.serialization.Model): - """Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical AND is performed on all filters. - - All required parameters must be populated in order to send to Azure. - - :param prefix_match: An array of strings for prefixes to be match. - :type prefix_match: list[str] - :param blob_types: Required. An array of predefined enum values. Only blockBlob is supported. - :type blob_types: list[str] - :param blob_index_match: An array of blob index tag based filters, there can be at most 10 tag - filters. - :type blob_index_match: list[~azure.mgmt.storage.v2020_08_01_preview.models.TagFilter] - """ - - _validation = { - 'blob_types': {'required': True}, - } - - _attribute_map = { - 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, - 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, - 'blob_index_match': {'key': 'blobIndexMatch', 'type': '[TagFilter]'}, - } - - def __init__( - self, - *, - blob_types: List[str], - prefix_match: Optional[List[str]] = None, - blob_index_match: Optional[List["TagFilter"]] = None, - **kwargs - ): - super(ManagementPolicyFilter, self).__init__(**kwargs) - self.prefix_match = prefix_match - self.blob_types = blob_types - self.blob_index_match = blob_index_match - - -class ManagementPolicyRule(msrest.serialization.Model): - """An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. - - All required parameters must be populated in order to send to Azure. - - :param enabled: Rule is enabled if set to true. - :type enabled: bool - :param name: Required. A rule name can contain any combination of alpha numeric characters. - Rule name is case-sensitive. It must be unique within a policy. - :type name: str - :param type: Required. The valid value is Lifecycle. Possible values include: "Lifecycle". - :type type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RuleType - :param definition: Required. An object that defines the Lifecycle rule. - :type definition: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyDefinition - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True}, - 'definition': {'required': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'definition': {'key': 'definition', 'type': 'ManagementPolicyDefinition'}, - } - - def __init__( - self, - *, - name: str, - type: Union[str, "RuleType"], - definition: "ManagementPolicyDefinition", - enabled: Optional[bool] = None, - **kwargs - ): - super(ManagementPolicyRule, self).__init__(**kwargs) - self.enabled = enabled - self.name = name - self.type = type - self.definition = definition - - -class ManagementPolicySchema(msrest.serialization.Model): - """The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - - All required parameters must be populated in order to send to Azure. - - :param rules: Required. The Storage Account ManagementPolicies Rules. See more details in: - https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyRule] - """ - - _validation = { - 'rules': {'required': True}, - } - - _attribute_map = { - 'rules': {'key': 'rules', 'type': '[ManagementPolicyRule]'}, - } - - def __init__( - self, - *, - rules: List["ManagementPolicyRule"], - **kwargs - ): - super(ManagementPolicySchema, self).__init__(**kwargs) - self.rules = rules - - -class ManagementPolicySnapShot(msrest.serialization.Model): - """Management policy action for snapshot. - - :param delete: The function to delete the blob snapshot. - :type delete: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterCreation - """ - - _attribute_map = { - 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, - } - - def __init__( - self, - *, - delete: Optional["DateAfterCreation"] = None, - **kwargs - ): - super(ManagementPolicySnapShot, self).__init__(**kwargs) - self.delete = delete - - -class MetricSpecification(msrest.serialization.Model): - """Metric specification of operation. - - :param name: Name of metric specification. - :type name: str - :param display_name: Display name of metric specification. - :type display_name: str - :param display_description: Display description of metric specification. - :type display_description: str - :param unit: Unit could be Bytes or Count. - :type unit: str - :param dimensions: Dimensions of blobs, including blob type and access tier. - :type dimensions: list[~azure.mgmt.storage.v2020_08_01_preview.models.Dimension] - :param aggregation_type: Aggregation type could be Average. - :type aggregation_type: str - :param fill_gap_with_zero: The property to decide fill gap with zero or not. - :type fill_gap_with_zero: bool - :param category: The category this metric specification belong to, could be Capacity. - :type category: str - :param resource_id_dimension_name_override: Account Resource Id. - :type resource_id_dimension_name_override: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display_name': {'key': 'displayName', 'type': 'str'}, - 'display_description': {'key': 'displayDescription', 'type': 'str'}, - 'unit': {'key': 'unit', 'type': 'str'}, - 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, - 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, - 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, - 'category': {'key': 'category', 'type': 'str'}, - 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - display_name: Optional[str] = None, - display_description: Optional[str] = None, - unit: Optional[str] = None, - dimensions: Optional[List["Dimension"]] = None, - aggregation_type: Optional[str] = None, - fill_gap_with_zero: Optional[bool] = None, - category: Optional[str] = None, - resource_id_dimension_name_override: Optional[str] = None, - **kwargs - ): - super(MetricSpecification, self).__init__(**kwargs) - self.name = name - self.display_name = display_name - self.display_description = display_description - self.unit = unit - self.dimensions = dimensions - self.aggregation_type = aggregation_type - self.fill_gap_with_zero = fill_gap_with_zero - self.category = category - self.resource_id_dimension_name_override = resource_id_dimension_name_override - - -class Multichannel(msrest.serialization.Model): - """Multichannel setting. Applies to Premium FileStorage only. - - :param enabled: Indicates whether multichannel is enabled. - :type enabled: bool - """ - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - } - - def __init__( - self, - *, - enabled: Optional[bool] = None, - **kwargs - ): - super(Multichannel, self).__init__(**kwargs) - self.enabled = enabled - - -class NetworkRuleSet(msrest.serialization.Model): - """Network rule set. - - All required parameters must be populated in order to send to Azure. - - :param bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. - Possible values are any combination of Logging|Metrics|AzureServices (For example, "Logging, - Metrics"), or None to bypass none of those traffics. Possible values include: "None", - "Logging", "Metrics", "AzureServices". Default value: "AzureServices". - :type bypass: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Bypass - :param resource_access_rules: - :type resource_access_rules: - list[~azure.mgmt.storage.v2020_08_01_preview.models.ResourceAccessRule] - :param virtual_network_rules: Sets the virtual network rules. - :type virtual_network_rules: - list[~azure.mgmt.storage.v2020_08_01_preview.models.VirtualNetworkRule] - :param ip_rules: Sets the IP ACL rules. - :type ip_rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.IPRule] - :param default_action: Required. Specifies the default action of allow or deny when no other - rules match. Possible values include: "Allow", "Deny". Default value: "Allow". - :type default_action: str or ~azure.mgmt.storage.v2020_08_01_preview.models.DefaultAction - """ - - _validation = { - 'default_action': {'required': True}, - } - - _attribute_map = { - 'bypass': {'key': 'bypass', 'type': 'str'}, - 'resource_access_rules': {'key': 'resourceAccessRules', 'type': '[ResourceAccessRule]'}, - 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, - 'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'}, - 'default_action': {'key': 'defaultAction', 'type': 'str'}, - } - - def __init__( - self, - *, - default_action: Union[str, "DefaultAction"] = "Allow", - bypass: Optional[Union[str, "Bypass"]] = "AzureServices", - resource_access_rules: Optional[List["ResourceAccessRule"]] = None, - virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, - ip_rules: Optional[List["IPRule"]] = None, - **kwargs - ): - super(NetworkRuleSet, self).__init__(**kwargs) - self.bypass = bypass - self.resource_access_rules = resource_access_rules - self.virtual_network_rules = virtual_network_rules - self.ip_rules = ip_rules - self.default_action = default_action - - -class ObjectReplicationPolicies(msrest.serialization.Model): - """List storage account object replication policies. - - :param value: The replication policy between two storage accounts. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[ObjectReplicationPolicy]'}, - } - - def __init__( - self, - *, - value: Optional[List["ObjectReplicationPolicy"]] = None, - **kwargs - ): - super(ObjectReplicationPolicies, self).__init__(**kwargs) - self.value = value - - -class ObjectReplicationPolicy(Resource): - """The replication policy between two storage accounts. Multiple rules can be defined in one policy. - - 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 policy_id: A unique id for object replication policy. - :vartype policy_id: str - :ivar enabled_time: Indicates when the policy is enabled on the source account. - :vartype enabled_time: ~datetime.datetime - :param source_account: Required. Source account name. - :type source_account: str - :param destination_account: Required. Destination account name. - :type destination_account: str - :param rules: The storage account object replication rules. - :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicyRule] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'policy_id': {'readonly': True}, - 'enabled_time': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'policy_id': {'key': 'properties.policyId', 'type': 'str'}, - 'enabled_time': {'key': 'properties.enabledTime', 'type': 'iso-8601'}, - 'source_account': {'key': 'properties.sourceAccount', 'type': 'str'}, - 'destination_account': {'key': 'properties.destinationAccount', 'type': 'str'}, - 'rules': {'key': 'properties.rules', 'type': '[ObjectReplicationPolicyRule]'}, - } - - def __init__( - self, - *, - source_account: Optional[str] = None, - destination_account: Optional[str] = None, - rules: Optional[List["ObjectReplicationPolicyRule"]] = None, - **kwargs - ): - super(ObjectReplicationPolicy, self).__init__(**kwargs) - self.policy_id = None - self.enabled_time = None - self.source_account = source_account - self.destination_account = destination_account - self.rules = rules - - -class ObjectReplicationPolicyFilter(msrest.serialization.Model): - """Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters. - - :param prefix_match: Optional. Filters the results to replicate only blobs whose names begin - with the specified prefix. - :type prefix_match: list[str] - :param min_creation_time: Blobs created after the time will be replicated to the destination. - It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z. - :type min_creation_time: str - """ - - _attribute_map = { - 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, - 'min_creation_time': {'key': 'minCreationTime', 'type': 'str'}, - } - - def __init__( - self, - *, - prefix_match: Optional[List[str]] = None, - min_creation_time: Optional[str] = None, - **kwargs - ): - super(ObjectReplicationPolicyFilter, self).__init__(**kwargs) - self.prefix_match = prefix_match - self.min_creation_time = min_creation_time - - -class ObjectReplicationPolicyRule(msrest.serialization.Model): - """The replication policy rule between two containers. - - All required parameters must be populated in order to send to Azure. - - :param rule_id: Rule Id is auto-generated for each new rule on destination account. It is - required for put policy on source account. - :type rule_id: str - :param source_container: Required. Required. Source container name. - :type source_container: str - :param destination_container: Required. Required. Destination container name. - :type destination_container: str - :param filters: Optional. An object that defines the filter set. - :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicyFilter - """ - - _validation = { - 'source_container': {'required': True}, - 'destination_container': {'required': True}, - } - - _attribute_map = { - 'rule_id': {'key': 'ruleId', 'type': 'str'}, - 'source_container': {'key': 'sourceContainer', 'type': 'str'}, - 'destination_container': {'key': 'destinationContainer', 'type': 'str'}, - 'filters': {'key': 'filters', 'type': 'ObjectReplicationPolicyFilter'}, - } - - def __init__( - self, - *, - source_container: str, - destination_container: str, - rule_id: Optional[str] = None, - filters: Optional["ObjectReplicationPolicyFilter"] = None, - **kwargs - ): - super(ObjectReplicationPolicyRule, self).__init__(**kwargs) - self.rule_id = rule_id - self.source_container = source_container - self.destination_container = destination_container - self.filters = filters - - -class Operation(msrest.serialization.Model): - """Storage REST API operation definition. - - :param name: Operation name: {provider}/{resource}/{operation}. - :type name: str - :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.storage.v2020_08_01_preview.models.OperationDisplay - :param origin: The origin of operations. - :type origin: str - :param service_specification: One property of operation, include metric specifications. - :type service_specification: - ~azure.mgmt.storage.v2020_08_01_preview.models.ServiceSpecification - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'display': {'key': 'display', 'type': 'OperationDisplay'}, - 'origin': {'key': 'origin', 'type': 'str'}, - 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, - } - - def __init__( - self, - *, - name: Optional[str] = None, - display: Optional["OperationDisplay"] = None, - origin: Optional[str] = None, - service_specification: Optional["ServiceSpecification"] = None, - **kwargs - ): - super(Operation, self).__init__(**kwargs) - self.name = name - self.display = display - self.origin = origin - self.service_specification = service_specification - - -class OperationDisplay(msrest.serialization.Model): - """Display metadata associated with the operation. - - :param provider: Service provider: Microsoft Storage. - :type provider: str - :param resource: Resource on which the operation is performed etc. - :type resource: str - :param operation: Type of operation: get, read, delete, etc. - :type operation: str - :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 OperationListResult(msrest.serialization.Model): - """Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results. - - :param value: List of Storage operations supported by the Storage resource provider. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Operation] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Operation]'}, - } - - def __init__( - self, - *, - value: Optional[List["Operation"]] = None, - **kwargs - ): - super(OperationListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateEndpoint(msrest.serialization.Model): - """The Private Endpoint resource. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar id: The ARM identifier for Private Endpoint. - :vartype id: str - """ - - _validation = { - 'id': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(PrivateEndpoint, self).__init__(**kwargs) - self.id = None - - -class PrivateEndpointConnection(Resource): - """The Private Endpoint Connection 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. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :param private_endpoint: The resource of private end point. - :type private_endpoint: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpoint - :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.storage.v2020_08_01_preview.models.PrivateLinkServiceConnectionState - :ivar provisioning_state: The provisioning state of the private endpoint connection resource. - Possible values include: "Succeeded", "Creating", "Deleting", "Failed". - :vartype provisioning_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnectionProvisioningState - """ - - _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'}, - 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, - 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - } - - def __init__( - self, - *, - private_endpoint: Optional["PrivateEndpoint"] = None, - private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, - **kwargs - ): - super(PrivateEndpointConnection, self).__init__(**kwargs) - self.private_endpoint = private_endpoint - self.private_link_service_connection_state = private_link_service_connection_state - self.provisioning_state = None - - -class PrivateEndpointConnectionListResult(msrest.serialization.Model): - """List of private endpoint connection associated with the specified storage account. - - :param value: Array of private endpoint connections. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, - } - - def __init__( - self, - *, - value: Optional[List["PrivateEndpointConnection"]] = None, - **kwargs - ): - super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkResource(Resource): - """A private link 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. E.g. "Microsoft.Compute/virtualMachines" or - "Microsoft.Storage/storageAccounts". - :vartype type: str - :ivar group_id: The private link resource group id. - :vartype group_id: str - :ivar required_members: The private link resource required member names. - :vartype required_members: list[str] - :param required_zone_names: The private link resource Private link DNS zone name. - :type required_zone_names: list[str] - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'group_id': {'readonly': True}, - 'required_members': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'group_id': {'key': 'properties.groupId', 'type': 'str'}, - 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, - 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, - } - - def __init__( - self, - *, - required_zone_names: Optional[List[str]] = None, - **kwargs - ): - super(PrivateLinkResource, self).__init__(**kwargs) - self.group_id = None - self.required_members = None - self.required_zone_names = required_zone_names - - -class PrivateLinkResourceListResult(msrest.serialization.Model): - """A list of private link resources. - - :param value: Array of private link resources. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateLinkResource] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, - } - - def __init__( - self, - *, - value: Optional[List["PrivateLinkResource"]] = None, - **kwargs - ): - super(PrivateLinkResourceListResult, self).__init__(**kwargs) - self.value = value - - -class PrivateLinkServiceConnectionState(msrest.serialization.Model): - """A collection of information about the state of the connection between service consumer and provider. - - :param status: Indicates whether the connection has been Approved/Rejected/Removed by the owner - of the service. Possible values include: "Pending", "Approved", "Rejected". - :type status: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointServiceConnectionStatus - :param description: The reason for approval/rejection of the connection. - :type description: str - :param action_required: A message indicating if changes on the service provider require any - updates on the consumer. - :type action_required: str - """ - - _attribute_map = { - 'status': {'key': 'status', 'type': 'str'}, - 'description': {'key': 'description', 'type': 'str'}, - 'action_required': {'key': 'actionRequired', 'type': 'str'}, - } - - def __init__( - self, - *, - status: Optional[Union[str, "PrivateEndpointServiceConnectionStatus"]] = None, - description: Optional[str] = None, - action_required: Optional[str] = None, - **kwargs - ): - super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) - self.status = status - self.description = description - self.action_required = action_required - - -class ProtocolSettings(msrest.serialization.Model): - """Protocol settings for file service. - - :param smb: Setting for SMB protocol. - :type smb: ~azure.mgmt.storage.v2020_08_01_preview.models.SmbSetting - """ - - _attribute_map = { - 'smb': {'key': 'smb', 'type': 'SmbSetting'}, - } - - def __init__( - self, - *, - smb: Optional["SmbSetting"] = None, - **kwargs - ): - super(ProtocolSettings, self).__init__(**kwargs) - self.smb = smb - - -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - - 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 QueueServiceProperties(Resource): - """The properties of a storage account’s Queue service. - - 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 cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule - elements in the request. If no CorsRule elements are included in the request body, all CORS - rules will be deleted, and CORS will be disabled for the Queue service. - :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules - """ - - _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'}, - 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, - } - - def __init__( - self, - *, - cors: Optional["CorsRules"] = None, - **kwargs - ): - super(QueueServiceProperties, self).__init__(**kwargs) - self.cors = cors - - -class ResourceAccessRule(msrest.serialization.Model): - """Resource Access Rule. - - :param tenant_id: Tenant Id. - :type tenant_id: str - :param resource_id: Resource Id. - :type resource_id: str - """ - - _attribute_map = { - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'resource_id': {'key': 'resourceId', 'type': 'str'}, - } - - def __init__( - self, - *, - tenant_id: Optional[str] = None, - resource_id: Optional[str] = None, - **kwargs - ): - super(ResourceAccessRule, self).__init__(**kwargs) - self.tenant_id = tenant_id - self.resource_id = resource_id - - -class RestorePolicyProperties(msrest.serialization.Model): - """The blob service properties for blob restore policy. - - 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. Blob restore is enabled if set to true. - :type enabled: bool - :param days: how long this blob can be restored. It should be great than zero and less than - DeleteRetentionPolicy.days. - :type days: int - :ivar last_enabled_time: Deprecated in favor of minRestoreTime property. - :vartype last_enabled_time: ~datetime.datetime - :ivar min_restore_time: Returns the minimum date and time that the restore can be started. - :vartype min_restore_time: ~datetime.datetime - """ - - _validation = { - 'enabled': {'required': True}, - 'days': {'maximum': 365, 'minimum': 1}, - 'last_enabled_time': {'readonly': True}, - 'min_restore_time': {'readonly': True}, - } - - _attribute_map = { - 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'days': {'key': 'days', 'type': 'int'}, - 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, - 'min_restore_time': {'key': 'minRestoreTime', 'type': 'iso-8601'}, - } - - def __init__( - self, - *, - enabled: bool, - days: Optional[int] = None, - **kwargs - ): - super(RestorePolicyProperties, self).__init__(**kwargs) - self.enabled = enabled - self.days = days - self.last_enabled_time = None - self.min_restore_time = None - - -class Restriction(msrest.serialization.Model): - """The restriction because of which SKU cannot be used. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar type: The type of restrictions. As of now only possible value for this is location. - :vartype type: str - :ivar values: The value of restrictions. If the restriction type is set to location. This would - be different locations where the SKU is restricted. - :vartype values: list[str] - :param reason_code: The reason for the restriction. As of now this can be "QuotaId" or - "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the - subscription does not belong to that quota. The "NotAvailableForSubscription" is related to - capacity at DC. Possible values include: "QuotaId", "NotAvailableForSubscription". - :type reason_code: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ReasonCode - """ - - _validation = { - 'type': {'readonly': True}, - 'values': {'readonly': True}, - } - - _attribute_map = { - 'type': {'key': 'type', 'type': 'str'}, - 'values': {'key': 'values', 'type': '[str]'}, - 'reason_code': {'key': 'reasonCode', 'type': 'str'}, - } - - def __init__( - self, - *, - reason_code: Optional[Union[str, "ReasonCode"]] = None, - **kwargs - ): - super(Restriction, self).__init__(**kwargs) - self.type = None - self.values = None - self.reason_code = reason_code - - -class RoutingPreference(msrest.serialization.Model): - """Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing. - - :param routing_choice: Routing Choice defines the kind of network routing opted by the user. - Possible values include: "MicrosoftRouting", "InternetRouting". - :type routing_choice: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingChoice - :param publish_microsoft_endpoints: A boolean flag which indicates whether microsoft routing - storage endpoints are to be published. - :type publish_microsoft_endpoints: bool - :param publish_internet_endpoints: A boolean flag which indicates whether internet routing - storage endpoints are to be published. - :type publish_internet_endpoints: bool - """ - - _attribute_map = { - 'routing_choice': {'key': 'routingChoice', 'type': 'str'}, - 'publish_microsoft_endpoints': {'key': 'publishMicrosoftEndpoints', 'type': 'bool'}, - 'publish_internet_endpoints': {'key': 'publishInternetEndpoints', 'type': 'bool'}, - } - - def __init__( - self, - *, - routing_choice: Optional[Union[str, "RoutingChoice"]] = None, - publish_microsoft_endpoints: Optional[bool] = None, - publish_internet_endpoints: Optional[bool] = None, - **kwargs - ): - super(RoutingPreference, self).__init__(**kwargs) - self.routing_choice = routing_choice - self.publish_microsoft_endpoints = publish_microsoft_endpoints - self.publish_internet_endpoints = publish_internet_endpoints - - -class ServiceSasParameters(msrest.serialization.Model): - """The parameters to list service SAS credentials of a specific resource. - - All required parameters must be populated in order to send to Azure. - - :param canonicalized_resource: Required. The canonical path to the signed resource. - :type canonicalized_resource: str - :param resource: The signed services accessible with the service SAS. Possible values include: - Blob (b), Container (c), File (f), Share (s). Possible values include: "b", "c", "f", "s". - :type resource: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SignedResource - :param permissions: The signed permissions for the service SAS. Possible values include: Read - (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). Possible - values include: "r", "d", "w", "l", "a", "c", "u", "p". - :type permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Permissions - :param ip_address_or_range: An IP address or a range of IP addresses from which to accept - requests. - :type ip_address_or_range: str - :param protocols: The protocol permitted for a request made with the account SAS. Possible - values include: "https,http", "https". - :type protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.HttpProtocol - :param shared_access_start_time: The time at which the SAS becomes valid. - :type shared_access_start_time: ~datetime.datetime - :param shared_access_expiry_time: The time at which the shared access signature becomes - invalid. - :type shared_access_expiry_time: ~datetime.datetime - :param identifier: A unique value up to 64 characters in length that correlates to an access - policy specified for the container, queue, or table. - :type identifier: str - :param partition_key_start: The start of partition key. - :type partition_key_start: str - :param partition_key_end: The end of partition key. - :type partition_key_end: str - :param row_key_start: The start of row key. - :type row_key_start: str - :param row_key_end: The end of row key. - :type row_key_end: str - :param key_to_sign: The key to sign the account SAS token with. - :type key_to_sign: str - :param cache_control: The response header override for cache control. - :type cache_control: str - :param content_disposition: The response header override for content disposition. - :type content_disposition: str - :param content_encoding: The response header override for content encoding. - :type content_encoding: str - :param content_language: The response header override for content language. - :type content_language: str - :param content_type: The response header override for content type. - :type content_type: str - """ - - _validation = { - 'canonicalized_resource': {'required': True}, - 'identifier': {'max_length': 64, 'min_length': 0}, - } - - _attribute_map = { - 'canonicalized_resource': {'key': 'canonicalizedResource', 'type': 'str'}, - 'resource': {'key': 'signedResource', 'type': 'str'}, - 'permissions': {'key': 'signedPermission', 'type': 'str'}, - 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, - 'protocols': {'key': 'signedProtocol', 'type': 'str'}, - 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, - 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, - 'identifier': {'key': 'signedIdentifier', 'type': 'str'}, - 'partition_key_start': {'key': 'startPk', 'type': 'str'}, - 'partition_key_end': {'key': 'endPk', 'type': 'str'}, - 'row_key_start': {'key': 'startRk', 'type': 'str'}, - 'row_key_end': {'key': 'endRk', 'type': 'str'}, - 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, - 'cache_control': {'key': 'rscc', 'type': 'str'}, - 'content_disposition': {'key': 'rscd', 'type': 'str'}, - 'content_encoding': {'key': 'rsce', 'type': 'str'}, - 'content_language': {'key': 'rscl', 'type': 'str'}, - 'content_type': {'key': 'rsct', 'type': 'str'}, - } - - def __init__( - self, - *, - canonicalized_resource: str, - resource: Optional[Union[str, "SignedResource"]] = None, - permissions: Optional[Union[str, "Permissions"]] = None, - ip_address_or_range: Optional[str] = None, - protocols: Optional[Union[str, "HttpProtocol"]] = None, - shared_access_start_time: Optional[datetime.datetime] = None, - shared_access_expiry_time: Optional[datetime.datetime] = None, - identifier: Optional[str] = None, - partition_key_start: Optional[str] = None, - partition_key_end: Optional[str] = None, - row_key_start: Optional[str] = None, - row_key_end: Optional[str] = None, - key_to_sign: Optional[str] = None, - cache_control: Optional[str] = None, - content_disposition: Optional[str] = None, - content_encoding: Optional[str] = None, - content_language: Optional[str] = None, - content_type: Optional[str] = None, - **kwargs - ): - super(ServiceSasParameters, self).__init__(**kwargs) - self.canonicalized_resource = canonicalized_resource - self.resource = resource - self.permissions = permissions - self.ip_address_or_range = ip_address_or_range - self.protocols = protocols - self.shared_access_start_time = shared_access_start_time - self.shared_access_expiry_time = shared_access_expiry_time - self.identifier = identifier - self.partition_key_start = partition_key_start - self.partition_key_end = partition_key_end - self.row_key_start = row_key_start - self.row_key_end = row_key_end - self.key_to_sign = key_to_sign - self.cache_control = cache_control - self.content_disposition = content_disposition - self.content_encoding = content_encoding - self.content_language = content_language - self.content_type = content_type - - -class ServiceSpecification(msrest.serialization.Model): - """One property of operation, include metric specifications. - - :param metric_specifications: Metric specifications of operation. - :type metric_specifications: - list[~azure.mgmt.storage.v2020_08_01_preview.models.MetricSpecification] - """ - - _attribute_map = { - 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, - } - - def __init__( - self, - *, - metric_specifications: Optional[List["MetricSpecification"]] = None, - **kwargs - ): - super(ServiceSpecification, self).__init__(**kwargs) - self.metric_specifications = metric_specifications - - -class Sku(msrest.serialization.Model): - """The SKU of the storage account. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The SKU name. Required for account creation; optional for update. Note - that in older versions, SKU name was called accountType. Possible values include: - "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", - "Standard_GZRS", "Standard_RAGZRS". - :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuName - :ivar tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard", - "Premium". - :vartype tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuTier - """ - - _validation = { - 'name': {'required': True}, - 'tier': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - } - - def __init__( - self, - *, - name: Union[str, "SkuName"], - **kwargs - ): - super(Sku, self).__init__(**kwargs) - self.name = name - self.tier = None - - -class SKUCapability(msrest.serialization.Model): - """The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar name: The name of capability, The capability information in the specified SKU, including - file encryption, network ACLs, change notification, etc. - :vartype name: str - :ivar value: A string value to indicate states of given capability. Possibly 'true' or 'false'. - :vartype value: str - """ - - _validation = { - 'name': {'readonly': True}, - 'value': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(SKUCapability, self).__init__(**kwargs) - self.name = None - self.value = None - - -class SkuInformation(msrest.serialization.Model): - """Storage SKU and its properties. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The SKU name. Required for account creation; optional for update. Note - that in older versions, SKU name was called accountType. Possible values include: - "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", - "Standard_GZRS", "Standard_RAGZRS". - :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuName - :ivar tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard", - "Premium". - :vartype tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuTier - :ivar resource_type: The type of the resource, usually it is 'storageAccounts'. - :vartype resource_type: str - :ivar kind: Indicates the type of storage account. Possible values include: "Storage", - "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". - :vartype kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind - :ivar locations: The set of locations that the SKU is available. This will be supported and - registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). - :vartype locations: list[str] - :ivar capabilities: The capability information in the specified SKU, including file encryption, - network ACLs, change notification, etc. - :vartype capabilities: list[~azure.mgmt.storage.v2020_08_01_preview.models.SKUCapability] - :param restrictions: The restrictions because of which SKU cannot be used. This is empty if - there are no restrictions. - :type restrictions: list[~azure.mgmt.storage.v2020_08_01_preview.models.Restriction] - """ - - _validation = { - 'name': {'required': True}, - 'tier': {'readonly': True}, - 'resource_type': {'readonly': True}, - 'kind': {'readonly': True}, - 'locations': {'readonly': True}, - 'capabilities': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'tier': {'key': 'tier', 'type': 'str'}, - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'capabilities': {'key': 'capabilities', 'type': '[SKUCapability]'}, - 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, - } - - def __init__( - self, - *, - name: Union[str, "SkuName"], - restrictions: Optional[List["Restriction"]] = None, - **kwargs - ): - super(SkuInformation, self).__init__(**kwargs) - self.name = name - self.tier = None - self.resource_type = None - self.kind = None - self.locations = None - self.capabilities = None - self.restrictions = restrictions - - -class SmbSetting(msrest.serialization.Model): - """Setting for SMB protocol. - - :param multichannel: Multichannel setting. Applies to Premium FileStorage only. - :type multichannel: ~azure.mgmt.storage.v2020_08_01_preview.models.Multichannel - :param versions: SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, - SMB3.1.1. Should be passed as a string with delimiter ';'. - :type versions: str - :param authentication_methods: SMB authentication methods supported by server. Valid values are - NTLMv2, Kerberos. Should be passed as a string with delimiter ';'. - :type authentication_methods: str - :param kerberos_ticket_encryption: Kerberos ticket encryption supported by server. Valid values - are RC4-HMAC, AES-256. Should be passed as a string with delimiter ';'. - :type kerberos_ticket_encryption: str - :param channel_encryption: SMB channel encryption supported by server. Valid values are AES- - CCM-128, AES-GCM-128, AES-GCM-256. Should be passed as a string with delimiter ';'. - :type channel_encryption: str - """ - - _attribute_map = { - 'multichannel': {'key': 'multichannel', 'type': 'Multichannel'}, - 'versions': {'key': 'versions', 'type': 'str'}, - 'authentication_methods': {'key': 'authenticationMethods', 'type': 'str'}, - 'kerberos_ticket_encryption': {'key': 'kerberosTicketEncryption', 'type': 'str'}, - 'channel_encryption': {'key': 'channelEncryption', 'type': 'str'}, - } - - def __init__( - self, - *, - multichannel: Optional["Multichannel"] = None, - versions: Optional[str] = None, - authentication_methods: Optional[str] = None, - kerberos_ticket_encryption: Optional[str] = None, - channel_encryption: Optional[str] = None, - **kwargs - ): - super(SmbSetting, self).__init__(**kwargs) - self.multichannel = multichannel - self.versions = versions - self.authentication_methods = authentication_methods - self.kerberos_ticket_encryption = kerberos_ticket_encryption - self.channel_encryption = channel_encryption - - -class TrackedResource(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. - - 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: 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 StorageAccount(TrackedResource): - """The storage account. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :ivar id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - :vartype id: str - :ivar name: The name of the resource. - :vartype name: str - :ivar type: The type of the resource. E.g. "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 sku: Gets the SKU. - :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku - :ivar kind: Gets the Kind. Possible values include: "Storage", "StorageV2", "BlobStorage", - "FileStorage", "BlockBlobStorage". - :vartype kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind - :param identity: The identity of the resource. - :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity - :param extended_location: The extendedLocation of the resource. - :type extended_location: ~azure.mgmt.storage.v2020_08_01_preview.models.ExtendedLocation - :ivar provisioning_state: Gets the status of the storage account at the time the operation was - called. Possible values include: "Creating", "ResolvingDNS", "Succeeded". - :vartype provisioning_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.ProvisioningState - :ivar primary_endpoints: Gets the URLs that are used to perform a retrieval of a public blob, - queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob - endpoint. - :vartype primary_endpoints: ~azure.mgmt.storage.v2020_08_01_preview.models.Endpoints - :ivar primary_location: Gets the location of the primary data center for the storage account. - :vartype primary_location: str - :ivar status_of_primary: Gets the status indicating whether the primary location of the storage - account is available or unavailable. Possible values include: "available", "unavailable". - :vartype status_of_primary: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccountStatus - :ivar last_geo_failover_time: Gets the timestamp of the most recent instance of a failover to - the secondary location. Only the most recent timestamp is retained. This element is not - returned if there has never been a failover instance. Only available if the accountType is - Standard_GRS or Standard_RAGRS. - :vartype last_geo_failover_time: ~datetime.datetime - :ivar secondary_location: Gets the location of the geo-replicated secondary for the storage - account. Only available if the accountType is Standard_GRS or Standard_RAGRS. - :vartype secondary_location: str - :ivar status_of_secondary: Gets the status indicating whether the secondary location of the - storage account is available or unavailable. Only available if the SKU name is Standard_GRS or - Standard_RAGRS. Possible values include: "available", "unavailable". - :vartype status_of_secondary: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.AccountStatus - :ivar creation_time: Gets the creation date and time of the storage account in UTC. - :vartype creation_time: ~datetime.datetime - :ivar custom_domain: Gets the custom domain the user assigned to this storage account. - :vartype custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain - :ivar secondary_endpoints: Gets the URLs that are used to perform a retrieval of a public blob, - queue, or table object from the secondary location of the storage account. Only available if - the SKU name is Standard_RAGRS. - :vartype secondary_endpoints: ~azure.mgmt.storage.v2020_08_01_preview.models.Endpoints - :ivar encryption: Gets the encryption settings on the account. If unspecified, the account is - unencrypted. - :vartype encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption - :ivar access_tier: Required for storage accounts where kind = BlobStorage. The access tier used - for billing. Possible values include: "Hot", "Cool". - :vartype access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier - :param azure_files_identity_based_authentication: Provides the identity based authentication - settings for Azure Files. - :type azure_files_identity_based_authentication: - ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication - :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. - :type enable_https_traffic_only: bool - :ivar network_rule_set: Network rule set. - :vartype network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet - :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. - :type is_hns_enabled: bool - :ivar geo_replication_stats: Geo Replication Stats. - :vartype geo_replication_stats: - ~azure.mgmt.storage.v2020_08_01_preview.models.GeoReplicationStats - :ivar failover_in_progress: If the failover is in progress, the value will be true, otherwise, - it will be null. - :vartype failover_in_progress: bool - :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be - disabled once it is enabled. Possible values include: "Disabled", "Enabled". - :type large_file_shares_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState - :ivar private_endpoint_connections: List of private endpoint connection associated with the - specified storage account. - :vartype private_endpoint_connections: - list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection] - :param routing_preference: Maintains information about the network routing choice opted by the - user for data transfer. - :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference - :ivar blob_restore_status: Blob restore status. - :vartype blob_restore_status: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreStatus - :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in - the storage account. The default interpretation is true for this property. - :type allow_blob_public_access: bool - :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. - The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", - "TLS1_1", "TLS1_2". - :type minimum_tls_version: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'location': {'required': True}, - 'sku': {'readonly': True}, - 'kind': {'readonly': True}, - 'provisioning_state': {'readonly': True}, - 'primary_endpoints': {'readonly': True}, - 'primary_location': {'readonly': True}, - 'status_of_primary': {'readonly': True}, - 'last_geo_failover_time': {'readonly': True}, - 'secondary_location': {'readonly': True}, - 'status_of_secondary': {'readonly': True}, - 'creation_time': {'readonly': True}, - 'custom_domain': {'readonly': True}, - 'secondary_endpoints': {'readonly': True}, - 'encryption': {'readonly': True}, - 'access_tier': {'readonly': True}, - 'network_rule_set': {'readonly': True}, - 'geo_replication_stats': {'readonly': True}, - 'failover_in_progress': {'readonly': True}, - 'private_endpoint_connections': {'readonly': True}, - 'blob_restore_status': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'primary_endpoints': {'key': 'properties.primaryEndpoints', 'type': 'Endpoints'}, - 'primary_location': {'key': 'properties.primaryLocation', 'type': 'str'}, - 'status_of_primary': {'key': 'properties.statusOfPrimary', 'type': 'str'}, - 'last_geo_failover_time': {'key': 'properties.lastGeoFailoverTime', 'type': 'iso-8601'}, - 'secondary_location': {'key': 'properties.secondaryLocation', 'type': 'str'}, - 'status_of_secondary': {'key': 'properties.statusOfSecondary', 'type': 'str'}, - 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, - 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, - 'secondary_endpoints': {'key': 'properties.secondaryEndpoints', 'type': 'Endpoints'}, - 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, - 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, - 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, - 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, - 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, - 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, - 'geo_replication_stats': {'key': 'properties.geoReplicationStats', 'type': 'GeoReplicationStats'}, - 'failover_in_progress': {'key': 'properties.failoverInProgress', 'type': 'bool'}, - 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, - 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, - 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, - 'blob_restore_status': {'key': 'properties.blobRestoreStatus', 'type': 'BlobRestoreStatus'}, - 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, - 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, - } - - def __init__( - self, - *, - location: str, - tags: Optional[Dict[str, str]] = None, - identity: Optional["Identity"] = None, - extended_location: Optional["ExtendedLocation"] = None, - azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, - enable_https_traffic_only: Optional[bool] = None, - is_hns_enabled: Optional[bool] = None, - large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, - routing_preference: Optional["RoutingPreference"] = None, - allow_blob_public_access: Optional[bool] = None, - minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, - **kwargs - ): - super(StorageAccount, self).__init__(tags=tags, location=location, **kwargs) - self.sku = None - self.kind = None - self.identity = identity - self.extended_location = extended_location - self.provisioning_state = None - self.primary_endpoints = None - self.primary_location = None - self.status_of_primary = None - self.last_geo_failover_time = None - self.secondary_location = None - self.status_of_secondary = None - self.creation_time = None - self.custom_domain = None - self.secondary_endpoints = None - self.encryption = None - self.access_tier = None - self.azure_files_identity_based_authentication = azure_files_identity_based_authentication - self.enable_https_traffic_only = enable_https_traffic_only - self.network_rule_set = None - self.is_hns_enabled = is_hns_enabled - self.geo_replication_stats = None - self.failover_in_progress = None - self.large_file_shares_state = large_file_shares_state - self.private_endpoint_connections = None - self.routing_preference = routing_preference - self.blob_restore_status = None - self.allow_blob_public_access = allow_blob_public_access - self.minimum_tls_version = minimum_tls_version - - -class StorageAccountCheckNameAvailabilityParameters(msrest.serialization.Model): - """The parameters used to check the availability of the storage account name. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. The storage account name. - :type name: str - :ivar type: Required. The type of resource, Microsoft.Storage/storageAccounts. Default value: - "Microsoft.Storage/storageAccounts". - :vartype type: str - """ - - _validation = { - 'name': {'required': True}, - 'type': {'required': True, 'constant': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - type = "Microsoft.Storage/storageAccounts" - - def __init__( - self, - *, - name: str, - **kwargs - ): - super(StorageAccountCheckNameAvailabilityParameters, self).__init__(**kwargs) - self.name = name - - -class StorageAccountCreateParameters(msrest.serialization.Model): - """The parameters used when creating a storage account. - - All required parameters must be populated in order to send to Azure. - - :param sku: Required. Required. Gets or sets the SKU name. - :type sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku - :param kind: Required. Required. Indicates the type of storage account. Possible values - include: "Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". - :type kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind - :param location: Required. Required. Gets or sets the location of the resource. This will be - one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, - etc.). The geo region of a resource cannot be changed once it is created, but if an identical - geo region is specified on update, the request will succeed. - :type location: str - :param extended_location: Optional. Set the extended location of the resource. If not set, the - storage account will be created in Azure main region. Otherwise it will be created in the - specified extended location. - :type extended_location: ~azure.mgmt.storage.v2020_08_01_preview.models.ExtendedLocation - :param tags: A set of tags. Gets or sets a list of key value pairs that describe the resource. - These tags can be used for viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no - greater than 128 characters and a value with a length no greater than 256 characters. - :type tags: dict[str, str] - :param identity: The identity of the resource. - :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity - :param custom_domain: User domain assigned to the storage account. Name is the CNAME source. - Only one custom domain is supported per storage account at this time. To clear the existing - custom domain, use an empty string for the custom domain name property. - :type custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain - :param encryption: Not applicable. Azure Storage encryption is enabled for all storage accounts - and cannot be disabled. - :type encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption - :param network_rule_set: Network rule set. - :type network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet - :param access_tier: Required for storage accounts where kind = BlobStorage. The access tier - used for billing. Possible values include: "Hot", "Cool". - :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier - :param azure_files_identity_based_authentication: Provides the identity based authentication - settings for Azure Files. - :type azure_files_identity_based_authentication: - ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication - :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. - The default value is true since API version 2019-04-01. - :type enable_https_traffic_only: bool - :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. - :type is_hns_enabled: bool - :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be - disabled once it is enabled. Possible values include: "Disabled", "Enabled". - :type large_file_shares_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState - :param routing_preference: Maintains information about the network routing choice opted by the - user for data transfer. - :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference - :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in - the storage account. The default interpretation is true for this property. - :type allow_blob_public_access: bool - :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. - The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", - "TLS1_1", "TLS1_2". - :type minimum_tls_version: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion - """ - - _validation = { - 'sku': {'required': True}, - 'kind': {'required': True}, - 'location': {'required': True}, - } - - _attribute_map = { - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, - 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, - 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, - 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, - 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, - 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, - 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, - 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, - 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, - 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, - 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, - } - - def __init__( - self, - *, - sku: "Sku", - kind: Union[str, "Kind"], - location: str, - extended_location: Optional["ExtendedLocation"] = None, - tags: Optional[Dict[str, str]] = None, - identity: Optional["Identity"] = None, - custom_domain: Optional["CustomDomain"] = None, - encryption: Optional["Encryption"] = None, - network_rule_set: Optional["NetworkRuleSet"] = None, - access_tier: Optional[Union[str, "AccessTier"]] = None, - azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, - enable_https_traffic_only: Optional[bool] = None, - is_hns_enabled: Optional[bool] = None, - large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, - routing_preference: Optional["RoutingPreference"] = None, - allow_blob_public_access: Optional[bool] = None, - minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, - **kwargs - ): - super(StorageAccountCreateParameters, self).__init__(**kwargs) - self.sku = sku - self.kind = kind - self.location = location - self.extended_location = extended_location - self.tags = tags - self.identity = identity - self.custom_domain = custom_domain - self.encryption = encryption - self.network_rule_set = network_rule_set - self.access_tier = access_tier - self.azure_files_identity_based_authentication = azure_files_identity_based_authentication - self.enable_https_traffic_only = enable_https_traffic_only - self.is_hns_enabled = is_hns_enabled - self.large_file_shares_state = large_file_shares_state - self.routing_preference = routing_preference - self.allow_blob_public_access = allow_blob_public_access - self.minimum_tls_version = minimum_tls_version - - -class StorageAccountInternetEndpoints(msrest.serialization.Model): - """The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar blob: Gets the blob endpoint. - :vartype blob: str - :ivar file: Gets the file endpoint. - :vartype file: str - :ivar web: Gets the web endpoint. - :vartype web: str - :ivar dfs: Gets the dfs endpoint. - :vartype dfs: str - """ - - _validation = { - 'blob': {'readonly': True}, - 'file': {'readonly': True}, - 'web': {'readonly': True}, - 'dfs': {'readonly': True}, - } - - _attribute_map = { - 'blob': {'key': 'blob', 'type': 'str'}, - 'file': {'key': 'file', 'type': 'str'}, - 'web': {'key': 'web', 'type': 'str'}, - 'dfs': {'key': 'dfs', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(StorageAccountInternetEndpoints, self).__init__(**kwargs) - self.blob = None - self.file = None - self.web = None - self.dfs = None - - -class StorageAccountKey(msrest.serialization.Model): - """An access key for the storage account. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar key_name: Name of the key. - :vartype key_name: str - :ivar value: Base 64-encoded value of the key. - :vartype value: str - :ivar permissions: Permissions for the key -- read-only or full permissions. Possible values - include: "Read", "Full". - :vartype permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeyPermission - """ - - _validation = { - 'key_name': {'readonly': True}, - 'value': {'readonly': True}, - 'permissions': {'readonly': True}, - } - - _attribute_map = { - 'key_name': {'key': 'keyName', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - 'permissions': {'key': 'permissions', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(StorageAccountKey, self).__init__(**kwargs) - self.key_name = None - self.value = None - self.permissions = None - - -class StorageAccountListKeysResult(msrest.serialization.Model): - """The response from the ListKeys operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar keys: Gets the list of storage account keys and their properties for the specified - storage account. - :vartype keys: list[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountKey] - """ - - _validation = { - 'keys': {'readonly': True}, - } - - _attribute_map = { - 'keys': {'key': 'keys', 'type': '[StorageAccountKey]'}, - } - - def __init__( - self, - **kwargs - ): - super(StorageAccountListKeysResult, self).__init__(**kwargs) - self.keys = None - - -class StorageAccountListResult(msrest.serialization.Model): - """The response from the List Storage Accounts operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Gets the list of storage accounts and their properties. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount] - :ivar next_link: Request URL that can be used to query next page of storage accounts. Returned - when total number of requested storage accounts exceed maximum page size. - :vartype next_link: str - """ - - _validation = { - 'value': {'readonly': True}, - 'next_link': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[StorageAccount]'}, - 'next_link': {'key': 'nextLink', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(StorageAccountListResult, self).__init__(**kwargs) - self.value = None - self.next_link = None - - -class StorageAccountMicrosoftEndpoints(msrest.serialization.Model): - """The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing endpoint. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar blob: Gets the blob endpoint. - :vartype blob: str - :ivar queue: Gets the queue endpoint. - :vartype queue: str - :ivar table: Gets the table endpoint. - :vartype table: str - :ivar file: Gets the file endpoint. - :vartype file: str - :ivar web: Gets the web endpoint. - :vartype web: str - :ivar dfs: Gets the dfs endpoint. - :vartype dfs: str - """ - - _validation = { - 'blob': {'readonly': True}, - 'queue': {'readonly': True}, - 'table': {'readonly': True}, - 'file': {'readonly': True}, - 'web': {'readonly': True}, - 'dfs': {'readonly': True}, - } - - _attribute_map = { - 'blob': {'key': 'blob', 'type': 'str'}, - 'queue': {'key': 'queue', 'type': 'str'}, - 'table': {'key': 'table', 'type': 'str'}, - 'file': {'key': 'file', 'type': 'str'}, - 'web': {'key': 'web', 'type': 'str'}, - 'dfs': {'key': 'dfs', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(StorageAccountMicrosoftEndpoints, self).__init__(**kwargs) - self.blob = None - self.queue = None - self.table = None - self.file = None - self.web = None - self.dfs = None - - -class StorageAccountRegenerateKeyParameters(msrest.serialization.Model): - """The parameters used to regenerate the storage account key. - - All required parameters must be populated in order to send to Azure. - - :param key_name: Required. The name of storage keys that want to be regenerated, possible - values are key1, key2, kerb1, kerb2. - :type key_name: str - """ - - _validation = { - 'key_name': {'required': True}, - } - - _attribute_map = { - 'key_name': {'key': 'keyName', 'type': 'str'}, - } - - def __init__( - self, - *, - key_name: str, - **kwargs - ): - super(StorageAccountRegenerateKeyParameters, self).__init__(**kwargs) - self.key_name = key_name - - -class StorageAccountUpdateParameters(msrest.serialization.Model): - """The parameters that can be provided when updating the storage account properties. - - :param sku: Gets or sets the SKU name. Note that the SKU name cannot be updated to - Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any - other value. - :type sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku - :param tags: A set of tags. Gets or sets a list of key value pairs that describe the resource. - These tags can be used in viewing and grouping this resource (across resource groups). A - maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in - length than 128 characters and a value no greater in length than 256 characters. - :type tags: dict[str, str] - :param identity: The identity of the resource. - :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity - :param kind: Optional. Indicates the type of storage account. Currently only StorageV2 value - supported by server. Possible values include: "Storage", "StorageV2", "BlobStorage", - "FileStorage", "BlockBlobStorage". - :type kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind - :param custom_domain: Custom domain assigned to the storage account by the user. Name is the - CNAME source. Only one custom domain is supported per storage account at this time. To clear - the existing custom domain, use an empty string for the custom domain name property. - :type custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain - :param encryption: Provides the encryption settings on the account. The default setting is - unencrypted. - :type encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption - :param access_tier: Required for storage accounts where kind = BlobStorage. The access tier - used for billing. Possible values include: "Hot", "Cool". - :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier - :param azure_files_identity_based_authentication: Provides the identity based authentication - settings for Azure Files. - :type azure_files_identity_based_authentication: - ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication - :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. - :type enable_https_traffic_only: bool - :param network_rule_set: Network rule set. - :type network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet - :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be - disabled once it is enabled. Possible values include: "Disabled", "Enabled". - :type large_file_shares_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState - :param routing_preference: Maintains information about the network routing choice opted by the - user for data transfer. - :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference - :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in - the storage account. The default interpretation is true for this property. - :type allow_blob_public_access: bool - :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. - The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", - "TLS1_1", "TLS1_2". - :type minimum_tls_version: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion - """ - - _attribute_map = { - 'sku': {'key': 'sku', 'type': 'Sku'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'identity': {'key': 'identity', 'type': 'Identity'}, - 'kind': {'key': 'kind', 'type': 'str'}, - 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, - 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, - 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, - 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, - 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, - 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, - 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, - 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, - 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, - 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, - } - - def __init__( - self, - *, - sku: Optional["Sku"] = None, - tags: Optional[Dict[str, str]] = None, - identity: Optional["Identity"] = None, - kind: Optional[Union[str, "Kind"]] = None, - custom_domain: Optional["CustomDomain"] = None, - encryption: Optional["Encryption"] = None, - access_tier: Optional[Union[str, "AccessTier"]] = None, - azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, - enable_https_traffic_only: Optional[bool] = None, - network_rule_set: Optional["NetworkRuleSet"] = None, - large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, - routing_preference: Optional["RoutingPreference"] = None, - allow_blob_public_access: Optional[bool] = None, - minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, - **kwargs - ): - super(StorageAccountUpdateParameters, self).__init__(**kwargs) - self.sku = sku - self.tags = tags - self.identity = identity - self.kind = kind - self.custom_domain = custom_domain - self.encryption = encryption - self.access_tier = access_tier - self.azure_files_identity_based_authentication = azure_files_identity_based_authentication - self.enable_https_traffic_only = enable_https_traffic_only - self.network_rule_set = network_rule_set - self.large_file_shares_state = large_file_shares_state - self.routing_preference = routing_preference - self.allow_blob_public_access = allow_blob_public_access - self.minimum_tls_version = minimum_tls_version - - -class StorageQueue(Resource): - """StorageQueue. - - 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 metadata: A name-value pair that represents queue metadata. - :type metadata: dict[str, str] - :ivar approximate_message_count: Integer indicating an approximate number of messages in the - queue. This number is not lower than the actual number of messages in the queue, but could be - higher. - :vartype approximate_message_count: int - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'approximate_message_count': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, - 'approximate_message_count': {'key': 'properties.approximateMessageCount', 'type': 'int'}, - } - - def __init__( - self, - *, - metadata: Optional[Dict[str, str]] = None, - **kwargs - ): - super(StorageQueue, self).__init__(**kwargs) - self.metadata = metadata - self.approximate_message_count = None - - -class StorageSkuListResult(msrest.serialization.Model): - """The response from the List Storage SKUs operation. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Get the list result of storage SKUs and their properties. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.SkuInformation] - """ - - _validation = { - 'value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': '[SkuInformation]'}, - } - - def __init__( - self, - **kwargs - ): - super(StorageSkuListResult, self).__init__(**kwargs) - self.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 ~azure.mgmt.storage.v2020_08_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 - ~azure.mgmt.storage.v2020_08_01_preview.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 Table(Resource): - """Properties of the table, including Id, resource name, resource type. - - 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 table_name: Table name under the specified account. - :vartype table_name: str - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'table_name': {'readonly': True}, - } - - _attribute_map = { - 'id': {'key': 'id', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'table_name': {'key': 'properties.tableName', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(Table, self).__init__(**kwargs) - self.table_name = None - - -class TableServiceProperties(Resource): - """The properties of a storage account’s Table service. - - 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 cors: Specifies CORS rules for the Table service. You can include up to five CorsRule - elements in the request. If no CorsRule elements are included in the request body, all CORS - rules will be deleted, and CORS will be disabled for the Table service. - :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules - """ - - _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'}, - 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, - } - - def __init__( - self, - *, - cors: Optional["CorsRules"] = None, - **kwargs - ): - super(TableServiceProperties, self).__init__(**kwargs) - self.cors = cors - - -class TagFilter(msrest.serialization.Model): - """Blob index tag based filtering for blob objects. - - All required parameters must be populated in order to send to Azure. - - :param name: Required. This is the filter tag name, it can have 1 - 128 characters. - :type name: str - :param op: Required. This is the comparison operator which is used for object comparison and - filtering. Only == (equality operator) is currently supported. - :type op: str - :param value: Required. This is the filter tag value field used for tag based filtering, it can - have 0 - 256 characters. - :type value: str - """ - - _validation = { - 'name': {'required': True, 'max_length': 128, 'min_length': 1}, - 'op': {'required': True}, - 'value': {'required': True, 'max_length': 256, 'min_length': 0}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'op': {'key': 'op', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__( - self, - *, - name: str, - op: str, - value: str, - **kwargs - ): - super(TagFilter, self).__init__(**kwargs) - self.name = name - self.op = op - self.value = value - - -class TagProperty(msrest.serialization.Model): - """A tag of the LegalHold of a blob container. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar tag: The tag value. - :vartype tag: str - :ivar timestamp: Returns the date and time the tag was added. - :vartype timestamp: ~datetime.datetime - :ivar object_identifier: Returns the Object ID of the user who added the tag. - :vartype object_identifier: str - :ivar tenant_id: Returns the Tenant ID that issued the token for the user who added the tag. - :vartype tenant_id: str - :ivar upn: Returns the User Principal Name of the user who added the tag. - :vartype upn: str - """ - - _validation = { - 'tag': {'readonly': True}, - 'timestamp': {'readonly': True}, - 'object_identifier': {'readonly': True}, - 'tenant_id': {'readonly': True}, - 'upn': {'readonly': True}, - } - - _attribute_map = { - 'tag': {'key': 'tag', 'type': 'str'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'upn': {'key': 'upn', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(TagProperty, self).__init__(**kwargs) - self.tag = None - self.timestamp = None - self.object_identifier = None - self.tenant_id = None - self.upn = None - - -class UpdateHistoryProperty(msrest.serialization.Model): - """An update history of the ImmutabilityPolicy of a blob container. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar update: The ImmutabilityPolicy update type of a blob container, possible values include: - put, lock and extend. Possible values include: "put", "lock", "extend". - :vartype update: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyUpdateType - :ivar immutability_period_since_creation_in_days: The immutability period for the blobs in the - container since the policy creation, in days. - :vartype immutability_period_since_creation_in_days: int - :ivar timestamp: Returns the date and time the ImmutabilityPolicy was updated. - :vartype timestamp: ~datetime.datetime - :ivar object_identifier: Returns the Object ID of the user who updated the ImmutabilityPolicy. - :vartype object_identifier: str - :ivar tenant_id: Returns the Tenant ID that issued the token for the user who updated the - ImmutabilityPolicy. - :vartype tenant_id: str - :ivar upn: Returns the User Principal Name of the user who updated the ImmutabilityPolicy. - :vartype upn: str - """ - - _validation = { - 'update': {'readonly': True}, - 'immutability_period_since_creation_in_days': {'readonly': True}, - 'timestamp': {'readonly': True}, - 'object_identifier': {'readonly': True}, - 'tenant_id': {'readonly': True}, - 'upn': {'readonly': True}, - } - - _attribute_map = { - 'update': {'key': 'update', 'type': 'str'}, - 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, - 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, - 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, - 'tenant_id': {'key': 'tenantId', 'type': 'str'}, - 'upn': {'key': 'upn', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(UpdateHistoryProperty, self).__init__(**kwargs) - self.update = None - self.immutability_period_since_creation_in_days = None - self.timestamp = None - self.object_identifier = None - self.tenant_id = None - self.upn = None - - -class Usage(msrest.serialization.Model): - """Describes Storage Resource Usage. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar unit: Gets the unit of measurement. Possible values include: "Count", "Bytes", "Seconds", - "Percent", "CountsPerSecond", "BytesPerSecond". - :vartype unit: str or ~azure.mgmt.storage.v2020_08_01_preview.models.UsageUnit - :ivar current_value: Gets the current count of the allocated resources in the subscription. - :vartype current_value: int - :ivar limit: Gets the maximum count of the resources that can be allocated in the subscription. - :vartype limit: int - :ivar name: Gets the name of the type of usage. - :vartype name: ~azure.mgmt.storage.v2020_08_01_preview.models.UsageName - """ - - _validation = { - 'unit': {'readonly': True}, - 'current_value': {'readonly': True}, - 'limit': {'readonly': True}, - 'name': {'readonly': True}, - } - - _attribute_map = { - 'unit': {'key': 'unit', 'type': 'str'}, - 'current_value': {'key': 'currentValue', 'type': 'int'}, - 'limit': {'key': 'limit', 'type': 'int'}, - 'name': {'key': 'name', 'type': 'UsageName'}, - } - - def __init__( - self, - **kwargs - ): - super(Usage, self).__init__(**kwargs) - self.unit = None - self.current_value = None - self.limit = None - self.name = None - - -class UsageListResult(msrest.serialization.Model): - """The response from the List Usages operation. - - :param value: Gets or sets the list of Storage Resource Usages. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Usage] - """ - - _attribute_map = { - 'value': {'key': 'value', 'type': '[Usage]'}, - } - - def __init__( - self, - *, - value: Optional[List["Usage"]] = None, - **kwargs - ): - super(UsageListResult, self).__init__(**kwargs) - self.value = value - - -class UsageName(msrest.serialization.Model): - """The usage names that can be used; currently limited to StorageAccount. - - Variables are only populated by the server, and will be ignored when sending a request. - - :ivar value: Gets a string describing the resource name. - :vartype value: str - :ivar localized_value: Gets a localized string describing the resource name. - :vartype localized_value: str - """ - - _validation = { - 'value': {'readonly': True}, - 'localized_value': {'readonly': True}, - } - - _attribute_map = { - 'value': {'key': 'value', 'type': 'str'}, - 'localized_value': {'key': 'localizedValue', 'type': 'str'}, - } - - def __init__( - self, - **kwargs - ): - super(UsageName, self).__init__(**kwargs) - self.value = None - self.localized_value = None - - -class VirtualNetworkRule(msrest.serialization.Model): - """Virtual Network rule. - - Variables are only populated by the server, and will be ignored when sending a request. - - All required parameters must be populated in order to send to Azure. - - :param virtual_network_resource_id: Required. Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. - :type virtual_network_resource_id: str - :ivar action: The action of virtual network rule. Default value: "Allow". - :vartype action: str - :param state: Gets the state of virtual network rule. Possible values include: "provisioning", - "deprovisioning", "succeeded", "failed", "networkSourceDeleted". - :type state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.State - """ - - _validation = { - 'virtual_network_resource_id': {'required': True}, - 'action': {'constant': True}, - } - - _attribute_map = { - 'virtual_network_resource_id': {'key': 'id', 'type': 'str'}, - 'action': {'key': 'action', 'type': 'str'}, - 'state': {'key': 'state', 'type': 'str'}, - } - - action = "Allow" - - def __init__( - self, - *, - virtual_network_resource_id: str, - state: Optional[Union[str, "State"]] = None, - **kwargs - ): - super(VirtualNetworkRule, self).__init__(**kwargs) - self.virtual_network_resource_id = virtual_network_resource_id - self.state = state diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_containers_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_containers_operations.py deleted file mode 100644 index 0ccc3d38b7c..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_containers_operations.py +++ /dev/null @@ -1,1099 +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 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, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class BlobContainersOperations(object): - """BlobContainersOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - maxpagesize=None, # type: Optional[str] - filter=None, # type: Optional[str] - include=None, # type: Optional[Union[str, "_models.ListContainersInclude"]] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ListContainerItems"] - """Lists all containers and does not support a prefix like data plane. Also SRP today does not - return continuation token. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param maxpagesize: Optional. Specified maximum number of containers that can be included in - the list. - :type maxpagesize: str - :param filter: Optional. When specified, only container names starting with the filter will be - listed. - :type filter: str - :param include: Optional, used to include the properties for soft deleted blob containers. - :type include: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ListContainersInclude - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ListContainerItems or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ListContainerItems] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListContainerItems"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if maxpagesize is not None: - query_parameters['$maxpagesize'] = self._serialize.query("maxpagesize", maxpagesize, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - if include is not None: - query_parameters['$include'] = self._serialize.query("include", include, '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('ListContainerItems', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers'} # type: ignore - - def create( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - blob_container, # type: "_models.BlobContainer" - **kwargs # type: Any - ): - # type: (...) -> "_models.BlobContainer" - """Creates a new container under the specified account as described by request body. The container - resource includes metadata and properties for that container. It does not include a list of the - blobs contained by the container. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param blob_container: Properties of the blob container to create. - :type blob_container: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer - :keyword callable cls: A custom type or function that will be passed the direct response - :return: BlobContainer, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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(blob_container, 'BlobContainer') - 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('BlobContainer', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('BlobContainer', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore - - def update( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - blob_container, # type: "_models.BlobContainer" - **kwargs # type: Any - ): - # type: (...) -> "_models.BlobContainer" - """Updates container properties as specified in request body. Properties not mentioned in the - request will be unchanged. Update fails if the specified container doesn't already exist. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param blob_container: Properties to update for the blob container. - :type blob_container: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer - :keyword callable cls: A custom type or function that will be passed the direct response - :return: BlobContainer, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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(blob_container, 'BlobContainer') - 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('BlobContainer', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.BlobContainer" - """Gets properties of a specified container. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: BlobContainer, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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('BlobContainer', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes specified container under its account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :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-08-01-preview" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] - - 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.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore - - def set_legal_hold( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - legal_hold, # type: "_models.LegalHold" - **kwargs # type: Any - ): - # type: (...) -> "_models.LegalHold" - """Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold - follows an append pattern and does not clear out the existing tags that are not specified in - the request. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param legal_hold: The LegalHold property that will be set to a blob container. - :type legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHold - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LegalHold, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHold - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.LegalHold"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_legal_hold.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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(legal_hold, 'LegalHold') - 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('LegalHold', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - set_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold'} # type: ignore - - def clear_legal_hold( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - legal_hold, # type: "_models.LegalHold" - **kwargs # type: Any - ): - # type: (...) -> "_models.LegalHold" - """Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent - operation. ClearLegalHold clears out only the specified tags in the request. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param legal_hold: The LegalHold property that will be clear from a blob container. - :type legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHold - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LegalHold, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHold - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.LegalHold"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.clear_legal_hold.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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(legal_hold, 'LegalHold') - 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('LegalHold', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - clear_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold'} # type: ignore - - def create_or_update_immutability_policy( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - if_match=None, # type: Optional[str] - parameters=None, # type: Optional["_models.ImmutabilityPolicy"] - **kwargs # type: Any - ): - # type: (...) -> "_models.ImmutabilityPolicy" - """Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but - not required for this operation. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param if_match: The entity state (ETag) version of the immutability policy to update. A value - of "*" can be used to apply the operation only if the immutability policy already exists. If - omitted, this operation will always be applied. - :type if_match: str - :param parameters: The ImmutabilityPolicy Properties that will be created or updated to a blob - container. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - immutability_policy_name = "default" - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'immutabilityPolicyName': self._serialize.url("immutability_policy_name", immutability_policy_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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] - if parameters is not None: - body_content = self._serialize.body(parameters, 'ImmutabilityPolicy') - 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) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - response_headers = {} - response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) - deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, response_headers) - - return deserialized - create_or_update_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore - - def get_immutability_policy( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - if_match=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "_models.ImmutabilityPolicy" - """Gets the existing immutability policy along with the corresponding ETag in response headers and - body. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param if_match: The entity state (ETag) version of the immutability policy to update. A value - of "*" can be used to apply the operation only if the immutability policy already exists. If - omitted, this operation will always be applied. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - immutability_policy_name = "default" - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'immutabilityPolicyName': self._serialize.url("immutability_policy_name", immutability_policy_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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['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) - - response_headers = {} - response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) - deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, response_headers) - - return deserialized - get_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore - - def delete_immutability_policy( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - if_match, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ImmutabilityPolicy" - """Aborts an unlocked immutability policy. The response of delete has - immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this - operation. Deleting a locked immutability policy is not allowed, the only way is to delete the - container after deleting all expired blobs inside the policy locked container. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param if_match: The entity state (ETag) version of the immutability policy to update. A value - of "*" can be used to apply the operation only if the immutability policy already exists. If - omitted, this operation will always be applied. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - immutability_policy_name = "default" - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'immutabilityPolicyName': self._serialize.url("immutability_policy_name", immutability_policy_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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['If-Match'] = self._serialize.header("if_match", if_match, 'str') - 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) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - response_headers = {} - response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) - deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, response_headers) - - return deserialized - delete_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore - - def lock_immutability_policy( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - if_match, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ImmutabilityPolicy" - """Sets the ImmutabilityPolicy to Locked state. The only action allowed on a Locked policy is - ExtendImmutabilityPolicy action. ETag in If-Match is required for this operation. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param if_match: The entity state (ETag) version of the immutability policy to update. A value - of "*" can be used to apply the operation only if the immutability policy already exists. If - omitted, this operation will always be applied. - :type if_match: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.lock_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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['If-Match'] = self._serialize.header("if_match", if_match, 'str') - 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) - - response_headers = {} - response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) - deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, response_headers) - - return deserialized - lock_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock'} # type: ignore - - def extend_immutability_policy( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - if_match, # type: str - parameters=None, # type: Optional["_models.ImmutabilityPolicy"] - **kwargs # type: Any - ): - # type: (...) -> "_models.ImmutabilityPolicy" - """Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only - action allowed on a Locked policy will be this action. ETag in If-Match is required for this - operation. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param if_match: The entity state (ETag) version of the immutability policy to update. A value - of "*" can be used to apply the operation only if the immutability policy already exists. If - omitted, this operation will always be applied. - :type if_match: str - :param parameters: The ImmutabilityPolicy Properties that will be extended for a blob - container. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.extend_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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['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] - if parameters is not None: - body_content = self._serialize.body(parameters, 'ImmutabilityPolicy') - 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) - - response_headers = {} - response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) - deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, response_headers) - - return deserialized - extend_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend'} # type: ignore - - def lease( - self, - resource_group_name, # type: str - account_name, # type: str - container_name, # type: str - parameters=None, # type: Optional["_models.LeaseContainerRequest"] - **kwargs # type: Any - ): - # type: (...) -> "_models.LeaseContainerResponse" - """The Lease Container operation 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 resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param container_name: The name of the blob container within the specified storage account. - Blob container names must be between 3 and 63 characters in length and use numbers, lower-case - letters and dash (-) only. Every dash (-) character must be immediately preceded and followed - by a letter or number. - :type container_name: str - :param parameters: Lease Container request body. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseContainerRequest - :keyword callable cls: A custom type or function that will be passed the direct response - :return: LeaseContainerResponse, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseContainerResponse - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.LeaseContainerResponse"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.lease.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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 parameters is not None: - body_content = self._serialize.body(parameters, 'LeaseContainerRequest') - 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('LeaseContainerResponse', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - lease.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_services_operations.py deleted file mode 100644 index 0ea3f4d06b7..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_services_operations.py +++ /dev/null @@ -1,263 +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 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 BlobServicesOperations(object): - """BlobServicesOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.BlobServiceItems"] - """List blob services of storage account. It returns a collection of one object named default. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either BlobServiceItems or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceItems] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceItems"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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('BlobServiceItems', 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices'} # type: ignore - - def set_service_properties( - self, - resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.BlobServiceProperties" - **kwargs # type: Any - ): - # type: (...) -> "_models.BlobServiceProperties" - """Sets the properties of a storage account’s Blob service, including properties for Storage - Analytics and CORS (Cross-Origin Resource Sharing) rules. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The properties of a storage account’s Blob service, including properties for - Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties - :keyword callable cls: A custom type or function that will be passed the direct response - :return: BlobServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceProperties"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - blob_services_name = "default" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'BlobServicesName': self._serialize.url("blob_services_name", blob_services_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(parameters, 'BlobServiceProperties') - 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('BlobServiceProperties', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'} # type: ignore - - def get_service_properties( - self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.BlobServiceProperties" - """Gets the properties of a storage account’s Blob service, including properties for Storage - Analytics and CORS (Cross-Origin Resource Sharing) rules. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: BlobServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceProperties"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - blob_services_name = "default" - accept = "application/json" - - # Construct URL - url = self.get_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'BlobServicesName': self._serialize.url("blob_services_name", blob_services_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) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('BlobServiceProperties', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_encryption_scopes_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_encryption_scopes_operations.py deleted file mode 100644 index ce8154f702f..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_encryption_scopes_operations.py +++ /dev/null @@ -1,357 +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 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, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class EncryptionScopesOperations(object): - """EncryptionScopesOperations 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.storage.v2020_08_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. - """ - - models = _models - - def __init__(self, client, config, serializer, deserializer): - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self._config = config - - def put( - self, - resource_group_name, # type: str - account_name, # type: str - encryption_scope_name, # type: str - encryption_scope, # type: "_models.EncryptionScope" - **kwargs # type: Any - ): - # type: (...) -> "_models.EncryptionScope" - """Synchronously creates or updates an encryption scope under the specified storage account. If an - encryption scope is already created and a subsequent request is issued with different - properties, the encryption scope properties will be updated per the specified request. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param encryption_scope_name: The name of the encryption scope within the specified storage - account. Encryption scope names must be between 3 and 63 characters in length and use numbers, - lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and - followed by a letter or number. - :type encryption_scope_name: str - :param encryption_scope: Encryption scope properties to be used for the create or update. - :type encryption_scope: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EncryptionScope, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.put.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), - } - url = self._client.format_url(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(encryption_scope, 'EncryptionScope') - 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.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - if response.status_code == 200: - deserialized = self._deserialize('EncryptionScope', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('EncryptionScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore - - def patch( - self, - resource_group_name, # type: str - account_name, # type: str - encryption_scope_name, # type: str - encryption_scope, # type: "_models.EncryptionScope" - **kwargs # type: Any - ): - # type: (...) -> "_models.EncryptionScope" - """Update encryption scope properties as specified in the request body. Update fails if the - specified encryption scope does not already exist. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param encryption_scope_name: The name of the encryption scope within the specified storage - account. Encryption scope names must be between 3 and 63 characters in length and use numbers, - lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and - followed by a letter or number. - :type encryption_scope_name: str - :param encryption_scope: Encryption scope properties to be used for the update. - :type encryption_scope: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EncryptionScope, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.patch.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), - } - url = self._client.format_url(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(encryption_scope, 'EncryptionScope') - 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(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('EncryptionScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - account_name, # type: str - encryption_scope_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.EncryptionScope" - """Returns the properties for the specified encryption scope. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param encryption_scope_name: The name of the encryption scope within the specified storage - account. Encryption scope names must be between 3 and 63 characters in length and use numbers, - lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and - followed by a letter or number. - :type encryption_scope_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: EncryptionScope, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), - } - url = self._client.format_url(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.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('EncryptionScope', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore - - def list( - self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.EncryptionScopeListResult"] - """Lists all the encryption scopes available under the specified storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either EncryptionScopeListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScopeListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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('EncryptionScopeListResult', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_file_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_file_services_operations.py deleted file mode 100644 index ae469267a49..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_file_services_operations.py +++ /dev/null @@ -1,246 +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 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 as _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 FileServicesOperations(object): - """FileServicesOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.FileServiceItems" - """List all file services in storage accounts. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: FileServiceItems, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceItems - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceItems"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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('FileServiceItems', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices'} # type: ignore - - def set_service_properties( - self, - resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.FileServiceProperties" - **kwargs # type: Any - ): - # type: (...) -> "_models.FileServiceProperties" - """Sets the properties of file services in storage accounts, including CORS (Cross-Origin Resource - Sharing) rules. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The properties of file services in storage accounts, including CORS (Cross- - Origin Resource Sharing) rules. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties - :keyword callable cls: A custom type or function that will be passed the direct response - :return: FileServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceProperties"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - file_services_name = "default" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'FileServicesName': self._serialize.url("file_services_name", file_services_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(parameters, 'FileServiceProperties') - 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('FileServiceProperties', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'} # type: ignore - - def get_service_properties( - self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.FileServiceProperties" - """Gets the properties of file services in storage accounts, including CORS (Cross-Origin Resource - Sharing) rules. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: FileServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceProperties"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - file_services_name = "default" - accept = "application/json" - - # Construct URL - url = self.get_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'FileServicesName': self._serialize.url("file_services_name", file_services_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) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('FileServiceProperties', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_file_shares_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_file_shares_operations.py deleted file mode 100644 index f22d0044b99..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_file_shares_operations.py +++ /dev/null @@ -1,531 +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 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, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class FileSharesOperations(object): - """FileSharesOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - maxpagesize=None, # type: Optional[str] - filter=None, # type: Optional[str] - expand=None, # type: Optional[Union[str, "_models.ListSharesExpand"]] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.FileShareItems"] - """Lists all shares. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param maxpagesize: Optional. Specified maximum number of shares that can be included in the - list. - :type maxpagesize: str - :param filter: Optional. When specified, only share names starting with the filter will be - listed. - :type filter: str - :param expand: Optional, used to expand the properties within share's properties. - :type expand: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ListSharesExpand - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either FileShareItems or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.FileShareItems] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShareItems"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if maxpagesize is not None: - query_parameters['$maxpagesize'] = self._serialize.query("maxpagesize", maxpagesize, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, '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('FileShareItems', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares'} # type: ignore - - def create( - self, - resource_group_name, # type: str - account_name, # type: str - share_name, # type: str - file_share, # type: "_models.FileShare" - expand="snapshots", # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "_models.FileShare" - """Creates a new share under the specified account as described by request body. The share - resource includes metadata and properties for that share. It does not include a list of the - files contained by the share. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param share_name: The name of the file share within the specified storage account. File share - names must be between 3 and 63 characters in length and use numbers, lower-case letters and - dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter - or number. - :type share_name: str - :param file_share: Properties of the file share to create. - :type file_share: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare - :param expand: Optional, used to create a snapshot. - :type expand: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: FileShare, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - 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(file_share, 'FileShare') - 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('FileShare', pipeline_response) - - if response.status_code == 201: - deserialized = self._deserialize('FileShare', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore - - def update( - self, - resource_group_name, # type: str - account_name, # type: str - share_name, # type: str - file_share, # type: "_models.FileShare" - **kwargs # type: Any - ): - # type: (...) -> "_models.FileShare" - """Updates share properties as specified in request body. Properties not mentioned in the request - will not be changed. Update fails if the specified share does not already exist. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param share_name: The name of the file share within the specified storage account. File share - names must be between 3 and 63 characters in length and use numbers, lower-case letters and - dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter - or number. - :type share_name: str - :param file_share: Properties to update for the file share. - :type file_share: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare - :keyword callable cls: A custom type or function that will be passed the direct response - :return: FileShare, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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(file_share, 'FileShare') - 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('FileShare', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - account_name, # type: str - share_name, # type: str - expand="stats", # type: Optional[str] - x_ms_snapshot=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> "_models.FileShare" - """Gets properties of a specified share. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param share_name: The name of the file share within the specified storage account. File share - names must be between 3 and 63 characters in length and use numbers, lower-case letters and - dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter - or number. - :type share_name: str - :param expand: Optional, used to expand the properties within share's properties. - :type expand: str - :param x_ms_snapshot: Optional, used to retrieve properties of a snapshot. - :type x_ms_snapshot: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: FileShare, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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] - if x_ms_snapshot is not None: - header_parameters['x-ms-snapshot'] = self._serialize.header("x_ms_snapshot", x_ms_snapshot, '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('FileShare', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - account_name, # type: str - share_name, # type: str - x_ms_snapshot=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes specified share under its account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param share_name: The name of the file share within the specified storage account. File share - names must be between 3 and 63 characters in length and use numbers, lower-case letters and - dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter - or number. - :type share_name: str - :param x_ms_snapshot: Optional, used to delete a snapshot. - :type x_ms_snapshot: 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-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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 x_ms_snapshot is not None: - header_parameters['x-ms-snapshot'] = self._serialize.header("x_ms_snapshot", x_ms_snapshot, 'str') - 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.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore - - def restore( - self, - resource_group_name, # type: str - account_name, # type: str - share_name, # type: str - deleted_share, # type: "_models.DeletedShare" - **kwargs # type: Any - ): - # type: (...) -> None - """Restore a file share within a valid retention days if share soft delete is enabled. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param share_name: The name of the file share within the specified storage account. File share - names must be between 3 and 63 characters in length and use numbers, lower-case letters and - dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter - or number. - :type share_name: str - :param deleted_share: - :type deleted_share: ~azure.mgmt.storage.v2020_08_01_preview.models.DeletedShare - :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-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.restore.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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(deleted_share, 'DeletedShare') - 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, {}) - - restore.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_management_policies_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_management_policies_operations.py deleted file mode 100644 index 69a5f612499..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_management_policies_operations.py +++ /dev/null @@ -1,249 +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 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 as _models - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union - - T = TypeVar('T') - ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] - -class ManagementPoliciesOperations(object): - """ManagementPoliciesOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - management_policy_name, # type: Union[str, "_models.ManagementPolicyName"] - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagementPolicy" - """Gets the managementpolicy associated with the specified storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param management_policy_name: The name of the Storage Account Management Policy. It should - always be 'default'. - :type management_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyName - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagementPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagementPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'managementPolicyName': self._serialize.url("management_policy_name", management_policy_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) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('ManagementPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - account_name, # type: str - management_policy_name, # type: Union[str, "_models.ManagementPolicyName"] - properties, # type: "_models.ManagementPolicy" - **kwargs # type: Any - ): - # type: (...) -> "_models.ManagementPolicy" - """Sets the managementpolicy to the specified storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param management_policy_name: The name of the Storage Account Management Policy. It should - always be 'default'. - :type management_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyName - :param properties: The ManagementPolicy set to a storage account. - :type properties: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicy - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ManagementPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagementPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'managementPolicyName': self._serialize.url("management_policy_name", management_policy_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(properties, 'ManagementPolicy') - 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('ManagementPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - account_name, # type: str - management_policy_name, # type: Union[str, "_models.ManagementPolicyName"] - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes the managementpolicy associated with the specified storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param management_policy_name: The name of the Storage Account Management Policy. It should - always be 'default'. - :type management_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyName - :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-08-01-preview" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'managementPolicyName': self._serialize.url("management_policy_name", management_policy_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] - - 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.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_object_replication_policies_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_object_replication_policies_operations.py deleted file mode 100644 index 7a5d09c5c43..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_object_replication_policies_operations.py +++ /dev/null @@ -1,335 +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 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 ObjectReplicationPoliciesOperations(object): - """ObjectReplicationPoliciesOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ObjectReplicationPolicies"] - """List the object replication policies associated with the storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ObjectReplicationPolicies or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicies] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicies"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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('ObjectReplicationPolicies', 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.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.Storage/storageAccounts/{accountName}/objectReplicationPolicies'} # type: ignore - - def get( - self, - resource_group_name, # type: str - account_name, # type: str - object_replication_policy_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ObjectReplicationPolicy" - """Get the object replication policy of the storage account by policy ID. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param object_replication_policy_id: The ID of object replication policy or 'default' if the - policy ID is unknown. - :type object_replication_policy_id: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ObjectReplicationPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_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') - - # 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.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('ObjectReplicationPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore - - def create_or_update( - self, - resource_group_name, # type: str - account_name, # type: str - object_replication_policy_id, # type: str - properties, # type: "_models.ObjectReplicationPolicy" - **kwargs # type: Any - ): - # type: (...) -> "_models.ObjectReplicationPolicy" - """Create or update the object replication policy of the storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param object_replication_policy_id: The ID of object replication policy or 'default' if the - policy ID is unknown. - :type object_replication_policy_id: str - :param properties: The object replication policy set to a storage account. A unique policy ID - will be created if absent. - :type properties: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ObjectReplicationPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicy"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_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') - - # 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(properties, 'ObjectReplicationPolicy') - 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(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('ObjectReplicationPolicy', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - account_name, # type: str - object_replication_policy_id, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes the object replication policy associated with the specified storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param object_replication_policy_id: The ID of object replication policy or 'default' if the - policy ID is unknown. - :type object_replication_policy_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 = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_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') - - # 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(_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.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_private_endpoint_connections_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_private_endpoint_connections_operations.py deleted file mode 100644 index 999092904cc..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_private_endpoint_connections_operations.py +++ /dev/null @@ -1,333 +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 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 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: ~azure.mgmt.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.PrivateEndpointConnectionListResult"] - """List all the private endpoint connections associated with the storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnectionListResult] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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('PrivateEndpointConnectionListResult', 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections'} # type: ignore - - def get( - self, - resource_group_name, # type: str - account_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateEndpointConnection" - """Gets the specified private endpoint connection associated with the storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection associated - with the Azure resource. - :type private_endpoint_connection_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - '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.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.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def put( - self, - resource_group_name, # type: str - account_name, # type: str - private_endpoint_connection_name, # type: str - properties, # type: "_models.PrivateEndpointConnection" - **kwargs # type: Any - ): - # type: (...) -> "_models.PrivateEndpointConnection" - """Update the state of specified private endpoint connection associated with the storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection associated - with the Azure resource. - :type private_endpoint_connection_name: str - :param properties: The private endpoint connection properties. - :type properties: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection - :keyword callable cls: A custom type or function that will be passed the direct response - :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.put.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - '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['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(properties, 'PrivateEndpointConnection') - 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(_models.ErrorResponse, response) - raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - - deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - account_name, # type: str - private_endpoint_connection_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes the specified private endpoint connection associated with the storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param private_endpoint_connection_name: The name of the private endpoint connection associated - with the Azure resource. - :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 = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - '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) - error = self._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.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_queue_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_queue_operations.py deleted file mode 100644 index 8d161e1064b..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_queue_operations.py +++ /dev/null @@ -1,425 +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 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 QueueOperations(object): - """QueueOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - queue_name, # type: str - queue, # type: "_models.StorageQueue" - **kwargs # type: Any - ): - # type: (...) -> "_models.StorageQueue" - """Creates a new queue with the specified queue name, under the specified account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param queue_name: A queue name must be unique within a storage account and must be between 3 - and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, - it should begin and end with an alphanumeric character and it cannot have two consecutive - dash(-) characters. - :type queue_name: str - :param queue: Queue properties and metadata to be created with. - :type queue: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue - :keyword callable cls: A custom type or function that will be passed the direct response - :return: StorageQueue, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueName': self._serialize.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-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(queue, 'StorageQueue') - 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('StorageQueue', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore - - def update( - self, - resource_group_name, # type: str - account_name, # type: str - queue_name, # type: str - queue, # type: "_models.StorageQueue" - **kwargs # type: Any - ): - # type: (...) -> "_models.StorageQueue" - """Creates a new queue with the specified queue name, under the specified account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param queue_name: A queue name must be unique within a storage account and must be between 3 - and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, - it should begin and end with an alphanumeric character and it cannot have two consecutive - dash(-) characters. - :type queue_name: str - :param queue: Queue properties and metadata to be created with. - :type queue: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue - :keyword callable cls: A custom type or function that will be passed the direct response - :return: StorageQueue, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueName': self._serialize.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-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(queue, 'StorageQueue') - 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('StorageQueue', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore - - def get( - self, - resource_group_name, # type: str - account_name, # type: str - queue_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.StorageQueue" - """Gets the queue with the specified queue name, under the specified account if it exists. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param queue_name: A queue name must be unique within a storage account and must be between 3 - and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, - it should begin and end with an alphanumeric character and it cannot have two consecutive - dash(-) characters. - :type queue_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: StorageQueue, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueName': self._serialize.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-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('StorageQueue', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore - - def delete( - self, - resource_group_name, # type: str - account_name, # type: str - queue_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> None - """Deletes the queue with the specified queue name, under the specified account if it exists. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param queue_name: A queue name must be unique within a storage account and must be between 3 - and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, - it should begin and end with an alphanumeric character and it cannot have two consecutive - dash(-) characters. - :type queue_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-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueName': self._serialize.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-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 [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.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore - - def list( - self, - resource_group_name, # type: str - account_name, # type: str - maxpagesize=None, # type: Optional[str] - filter=None, # type: Optional[str] - **kwargs # type: Any - ): - # type: (...) -> Iterable["_models.ListQueueResource"] - """Gets a list of all the queues under the specified storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param maxpagesize: Optional, a maximum number of queues that should be included in a list - queue response. - :type maxpagesize: str - :param filter: Optional, When specified, only the queues with a name starting with the given - filter will be listed. - :type filter: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ListQueueResource or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ListQueueResource] - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListQueueResource"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if maxpagesize is not None: - query_parameters['$maxpagesize'] = self._serialize.query("maxpagesize", maxpagesize, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, '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('ListQueueResource', 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_queue_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_queue_services_operations.py deleted file mode 100644 index 66fc2bea5e5..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_queue_services_operations.py +++ /dev/null @@ -1,246 +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 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 as _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 QueueServicesOperations(object): - """QueueServicesOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ListQueueServices" - """List all queue services for the storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ListQueueServices, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ListQueueServices - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListQueueServices"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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('ListQueueServices', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices'} # type: ignore - - def set_service_properties( - self, - resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.QueueServiceProperties" - **kwargs # type: Any - ): - # type: (...) -> "_models.QueueServiceProperties" - """Sets the properties of a storage account’s Queue service, including properties for Storage - Analytics and CORS (Cross-Origin Resource Sharing) rules. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The properties of a storage account’s Queue service, only properties for - Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties - :keyword callable cls: A custom type or function that will be passed the direct response - :return: QueueServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.QueueServiceProperties"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - queue_service_name = "default" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueServiceName': self._serialize.url("queue_service_name", queue_service_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(parameters, 'QueueServiceProperties') - 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('QueueServiceProperties', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}'} # type: ignore - - def get_service_properties( - self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.QueueServiceProperties" - """Gets the properties of a storage account’s Queue service, including properties for Storage - Analytics and CORS (Cross-Origin Resource Sharing) rules. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: QueueServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.QueueServiceProperties"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - queue_service_name = "default" - accept = "application/json" - - # Construct URL - url = self.get_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueServiceName': self._serialize.url("queue_service_name", queue_service_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) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('QueueServiceProperties', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_table_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_table_services_operations.py deleted file mode 100644 index 01d5954ffe0..00000000000 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_table_services_operations.py +++ /dev/null @@ -1,246 +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 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 as _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 TableServicesOperations(object): - """TableServicesOperations 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.storage.v2020_08_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. - """ - - 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 - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.ListTableServices" - """List all table services for the storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: ListTableServices, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ListTableServices - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListTableServices"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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('ListTableServices', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices'} # type: ignore - - def set_service_properties( - self, - resource_group_name, # type: str - account_name, # type: str - parameters, # type: "_models.TableServiceProperties" - **kwargs # type: Any - ): - # type: (...) -> "_models.TableServiceProperties" - """Sets the properties of a storage account’s Table service, including properties for Storage - Analytics and CORS (Cross-Origin Resource Sharing) rules. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param parameters: The properties of a storage account’s Table service, only properties for - Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TableServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.TableServiceProperties"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - table_service_name = "default" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableServiceName': self._serialize.url("table_service_name", table_service_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(parameters, 'TableServiceProperties') - 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('TableServiceProperties', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}'} # type: ignore - - def get_service_properties( - self, - resource_group_name, # type: str - account_name, # type: str - **kwargs # type: Any - ): - # type: (...) -> "_models.TableServiceProperties" - """Gets the properties of a storage account’s Table service, including properties for Storage - Analytics and CORS (Cross-Origin Resource Sharing) rules. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :keyword callable cls: A custom type or function that will be passed the direct response - :return: TableServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties - :raises: ~azure.core.exceptions.HttpResponseError - """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.TableServiceProperties"] - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - table_service_name = "default" - accept = "application/json" - - # Construct URL - url = self.get_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableServiceName': self._serialize.url("table_service_name", table_service_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) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) - - deserialized = self._deserialize('TableServiceProperties', pipeline_response) - - if cls: - return cls(pipeline_response, deserialized, {}) - - return deserialized - get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/__init__.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/__init__.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_configuration.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_configuration.py similarity index 87% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_configuration.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_configuration.py index 26d1c20a8e9..9fd62cfe9c0 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_configuration.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_configuration.py @@ -8,14 +8,19 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -from typing import Any +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 azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, 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 StorageManagementClientConfiguration(Configuration): """Configuration for StorageManagementClient. @@ -63,4 +68,4 @@ def _configure( 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) + self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_storage_management_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_storage_management_client.py similarity index 57% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_storage_management_client.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_storage_management_client.py index 9fbf708b0fd..32828b7cba7 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_storage_management_client.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_storage_management_client.py @@ -9,13 +9,21 @@ # regenerated. # -------------------------------------------------------------------------- -from azure.mgmt.core import ARMPipelineClient -from msrest import Serializer, Deserializer +from typing import TYPE_CHECKING +from azure.mgmt.core import ARMPipelineClient from azure.profiles import KnownProfiles, ProfileDefinition from azure.profiles.multiapiclient import MultiApiClientMixin +from msrest import Deserializer, Serializer + from ._configuration import StorageManagementClientConfiguration +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + + from azure.core.credentials import TokenCredential + class _SDKClient(object): def __init__(self, *args, **kwargs): """This is a fake class to support current implemetation of MultiApiClientMixin." @@ -38,15 +46,16 @@ class StorageManagementClient(MultiApiClientMixin, _SDKClient): :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The ID of the target subscription. :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 api_version: API version to use if no profile is provided, or if missing in profile. + :type api_version: str + :param base_url: Service URL + :type base_url: str :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-06-01' + DEFAULT_API_VERSION = '2021-08-01' _PROFILE_TAG = "azure.mgmt.storage.StorageManagementClient" LATEST_PROFILE = ProfileDefinition({ _PROFILE_TAG: { @@ -60,13 +69,11 @@ def __init__( self, credential, # type: "TokenCredential" subscription_id, # type: str - api_version=None, - base_url=None, - profile=KnownProfiles.default, + api_version=None, # type: Optional[str] + base_url="https://management.azure.com", # type: str + profile=KnownProfiles.default, # type: KnownProfiles **kwargs # type: Any ): - if not base_url: - base_url = 'https://management.azure.com' self._config = StorageManagementClientConfiguration(credential, subscription_id, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) super(StorageManagementClient, self).__init__( @@ -94,6 +101,11 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2019-04-01: :mod:`v2019_04_01.models` * 2019-06-01: :mod:`v2019_06_01.models` * 2020-08-01-preview: :mod:`v2020_08_01_preview.models` + * 2021-01-01: :mod:`v2021_01_01.models` + * 2021-02-01: :mod:`v2021_02_01.models` + * 2021-04-01: :mod:`v2021_04_01.models` + * 2021-06-01: :mod:`v2021_06_01.models` + * 2021-08-01: :mod:`v2021_08_01.models` """ if api_version == '2015-06-15': from .v2015_06_15 import models @@ -131,6 +143,21 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2020-08-01-preview': from .v2020_08_01_preview import models return models + elif api_version == '2021-01-01': + from .v2021_01_01 import models + return models + elif api_version == '2021-02-01': + from .v2021_02_01 import models + return models + elif api_version == '2021-04-01': + from .v2021_04_01 import models + return models + elif api_version == '2021-06-01': + from .v2021_06_01 import models + return models + elif api_version == '2021-08-01': + from .v2021_08_01 import models + return models raise ValueError("API version {} is not available".format(api_version)) @property @@ -144,6 +171,11 @@ def blob_containers(self): * 2019-04-01: :class:`BlobContainersOperations` * 2019-06-01: :class:`BlobContainersOperations` * 2020-08-01-preview: :class:`BlobContainersOperations` + * 2021-01-01: :class:`BlobContainersOperations` + * 2021-02-01: :class:`BlobContainersOperations` + * 2021-04-01: :class:`BlobContainersOperations` + * 2021-06-01: :class:`BlobContainersOperations` + * 2021-08-01: :class:`BlobContainersOperations` """ api_version = self._get_api_version('blob_containers') if api_version == '2018-02-01': @@ -160,6 +192,16 @@ def blob_containers(self): from .v2019_06_01.operations import BlobContainersOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import BlobContainersOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import BlobContainersOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import BlobContainersOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'blob_containers'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -168,11 +210,29 @@ def blob_containers(self): def blob_inventory_policies(self): """Instance depends on the API version: + * 2019-06-01: :class:`BlobInventoryPoliciesOperations` * 2020-08-01-preview: :class:`BlobInventoryPoliciesOperations` + * 2021-01-01: :class:`BlobInventoryPoliciesOperations` + * 2021-02-01: :class:`BlobInventoryPoliciesOperations` + * 2021-04-01: :class:`BlobInventoryPoliciesOperations` + * 2021-06-01: :class:`BlobInventoryPoliciesOperations` + * 2021-08-01: :class:`BlobInventoryPoliciesOperations` """ api_version = self._get_api_version('blob_inventory_policies') - if api_version == '2020-08-01-preview': + if api_version == '2019-06-01': + from .v2019_06_01.operations import BlobInventoryPoliciesOperations as OperationClass + elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import BlobInventoryPoliciesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import BlobInventoryPoliciesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import BlobInventoryPoliciesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import BlobInventoryPoliciesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import BlobInventoryPoliciesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import BlobInventoryPoliciesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'blob_inventory_policies'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -186,6 +246,11 @@ def blob_services(self): * 2019-04-01: :class:`BlobServicesOperations` * 2019-06-01: :class:`BlobServicesOperations` * 2020-08-01-preview: :class:`BlobServicesOperations` + * 2021-01-01: :class:`BlobServicesOperations` + * 2021-02-01: :class:`BlobServicesOperations` + * 2021-04-01: :class:`BlobServicesOperations` + * 2021-06-01: :class:`BlobServicesOperations` + * 2021-08-01: :class:`BlobServicesOperations` """ api_version = self._get_api_version('blob_services') if api_version == '2018-07-01': @@ -198,6 +263,16 @@ def blob_services(self): from .v2019_06_01.operations import BlobServicesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import BlobServicesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import BlobServicesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import BlobServicesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import BlobServicesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import BlobServicesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import BlobServicesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'blob_services'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -207,10 +282,25 @@ def deleted_accounts(self): """Instance depends on the API version: * 2020-08-01-preview: :class:`DeletedAccountsOperations` + * 2021-01-01: :class:`DeletedAccountsOperations` + * 2021-02-01: :class:`DeletedAccountsOperations` + * 2021-04-01: :class:`DeletedAccountsOperations` + * 2021-06-01: :class:`DeletedAccountsOperations` + * 2021-08-01: :class:`DeletedAccountsOperations` """ api_version = self._get_api_version('deleted_accounts') if api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import DeletedAccountsOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import DeletedAccountsOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import DeletedAccountsOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import DeletedAccountsOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import DeletedAccountsOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import DeletedAccountsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'deleted_accounts'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -221,12 +311,27 @@ def encryption_scopes(self): * 2019-06-01: :class:`EncryptionScopesOperations` * 2020-08-01-preview: :class:`EncryptionScopesOperations` + * 2021-01-01: :class:`EncryptionScopesOperations` + * 2021-02-01: :class:`EncryptionScopesOperations` + * 2021-04-01: :class:`EncryptionScopesOperations` + * 2021-06-01: :class:`EncryptionScopesOperations` + * 2021-08-01: :class:`EncryptionScopesOperations` """ api_version = self._get_api_version('encryption_scopes') if api_version == '2019-06-01': from .v2019_06_01.operations import EncryptionScopesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import EncryptionScopesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import EncryptionScopesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import EncryptionScopesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import EncryptionScopesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import EncryptionScopesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import EncryptionScopesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'encryption_scopes'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -238,6 +343,11 @@ def file_services(self): * 2019-04-01: :class:`FileServicesOperations` * 2019-06-01: :class:`FileServicesOperations` * 2020-08-01-preview: :class:`FileServicesOperations` + * 2021-01-01: :class:`FileServicesOperations` + * 2021-02-01: :class:`FileServicesOperations` + * 2021-04-01: :class:`FileServicesOperations` + * 2021-06-01: :class:`FileServicesOperations` + * 2021-08-01: :class:`FileServicesOperations` """ api_version = self._get_api_version('file_services') if api_version == '2019-04-01': @@ -246,6 +356,16 @@ def file_services(self): from .v2019_06_01.operations import FileServicesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import FileServicesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import FileServicesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import FileServicesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import FileServicesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import FileServicesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import FileServicesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'file_services'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -257,6 +377,11 @@ def file_shares(self): * 2019-04-01: :class:`FileSharesOperations` * 2019-06-01: :class:`FileSharesOperations` * 2020-08-01-preview: :class:`FileSharesOperations` + * 2021-01-01: :class:`FileSharesOperations` + * 2021-02-01: :class:`FileSharesOperations` + * 2021-04-01: :class:`FileSharesOperations` + * 2021-06-01: :class:`FileSharesOperations` + * 2021-08-01: :class:`FileSharesOperations` """ api_version = self._get_api_version('file_shares') if api_version == '2019-04-01': @@ -265,10 +390,33 @@ def file_shares(self): from .v2019_06_01.operations import FileSharesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import FileSharesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import FileSharesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import FileSharesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import FileSharesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import FileSharesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import FileSharesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'file_shares'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def local_users(self): + """Instance depends on the API version: + + * 2021-08-01: :class:`LocalUsersOperations` + """ + api_version = self._get_api_version('local_users') + if api_version == '2021-08-01': + from .v2021_08_01.operations import LocalUsersOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'local_users'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def management_policies(self): """Instance depends on the API version: @@ -278,6 +426,11 @@ def management_policies(self): * 2019-04-01: :class:`ManagementPoliciesOperations` * 2019-06-01: :class:`ManagementPoliciesOperations` * 2020-08-01-preview: :class:`ManagementPoliciesOperations` + * 2021-01-01: :class:`ManagementPoliciesOperations` + * 2021-02-01: :class:`ManagementPoliciesOperations` + * 2021-04-01: :class:`ManagementPoliciesOperations` + * 2021-06-01: :class:`ManagementPoliciesOperations` + * 2021-08-01: :class:`ManagementPoliciesOperations` """ api_version = self._get_api_version('management_policies') if api_version == '2018-07-01': @@ -290,6 +443,16 @@ def management_policies(self): from .v2019_06_01.operations import ManagementPoliciesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import ManagementPoliciesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import ManagementPoliciesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import ManagementPoliciesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import ManagementPoliciesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import ManagementPoliciesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import ManagementPoliciesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'management_policies'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -300,12 +463,27 @@ def object_replication_policies(self): * 2019-06-01: :class:`ObjectReplicationPoliciesOperations` * 2020-08-01-preview: :class:`ObjectReplicationPoliciesOperations` + * 2021-01-01: :class:`ObjectReplicationPoliciesOperations` + * 2021-02-01: :class:`ObjectReplicationPoliciesOperations` + * 2021-04-01: :class:`ObjectReplicationPoliciesOperations` + * 2021-06-01: :class:`ObjectReplicationPoliciesOperations` + * 2021-08-01: :class:`ObjectReplicationPoliciesOperations` """ api_version = self._get_api_version('object_replication_policies') if api_version == '2019-06-01': from .v2019_06_01.operations import ObjectReplicationPoliciesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import ObjectReplicationPoliciesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import ObjectReplicationPoliciesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import ObjectReplicationPoliciesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import ObjectReplicationPoliciesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import ObjectReplicationPoliciesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import ObjectReplicationPoliciesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'object_replication_policies'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -323,6 +501,11 @@ def operations(self): * 2019-04-01: :class:`Operations` * 2019-06-01: :class:`Operations` * 2020-08-01-preview: :class:`Operations` + * 2021-01-01: :class:`Operations` + * 2021-02-01: :class:`Operations` + * 2021-04-01: :class:`Operations` + * 2021-06-01: :class:`Operations` + * 2021-08-01: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2017-06-01': @@ -343,6 +526,16 @@ def operations(self): from .v2019_06_01.operations import Operations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import Operations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import Operations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import Operations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import Operations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import Operations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_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))) @@ -353,12 +546,27 @@ def private_endpoint_connections(self): * 2019-06-01: :class:`PrivateEndpointConnectionsOperations` * 2020-08-01-preview: :class:`PrivateEndpointConnectionsOperations` + * 2021-01-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-02-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-04-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-06-01: :class:`PrivateEndpointConnectionsOperations` + * 2021-08-01: :class:`PrivateEndpointConnectionsOperations` """ api_version = self._get_api_version('private_endpoint_connections') if api_version == '2019-06-01': from .v2019_06_01.operations import PrivateEndpointConnectionsOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import PrivateEndpointConnectionsOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import PrivateEndpointConnectionsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'private_endpoint_connections'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -369,12 +577,27 @@ def private_link_resources(self): * 2019-06-01: :class:`PrivateLinkResourcesOperations` * 2020-08-01-preview: :class:`PrivateLinkResourcesOperations` + * 2021-01-01: :class:`PrivateLinkResourcesOperations` + * 2021-02-01: :class:`PrivateLinkResourcesOperations` + * 2021-04-01: :class:`PrivateLinkResourcesOperations` + * 2021-06-01: :class:`PrivateLinkResourcesOperations` + * 2021-08-01: :class:`PrivateLinkResourcesOperations` """ api_version = self._get_api_version('private_link_resources') if api_version == '2019-06-01': from .v2019_06_01.operations import PrivateLinkResourcesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import PrivateLinkResourcesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import PrivateLinkResourcesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'private_link_resources'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -385,12 +608,27 @@ def queue(self): * 2019-06-01: :class:`QueueOperations` * 2020-08-01-preview: :class:`QueueOperations` + * 2021-01-01: :class:`QueueOperations` + * 2021-02-01: :class:`QueueOperations` + * 2021-04-01: :class:`QueueOperations` + * 2021-06-01: :class:`QueueOperations` + * 2021-08-01: :class:`QueueOperations` """ api_version = self._get_api_version('queue') if api_version == '2019-06-01': from .v2019_06_01.operations import QueueOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import QueueOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import QueueOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import QueueOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import QueueOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import QueueOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import QueueOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'queue'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -401,12 +639,27 @@ def queue_services(self): * 2019-06-01: :class:`QueueServicesOperations` * 2020-08-01-preview: :class:`QueueServicesOperations` + * 2021-01-01: :class:`QueueServicesOperations` + * 2021-02-01: :class:`QueueServicesOperations` + * 2021-04-01: :class:`QueueServicesOperations` + * 2021-06-01: :class:`QueueServicesOperations` + * 2021-08-01: :class:`QueueServicesOperations` """ api_version = self._get_api_version('queue_services') if api_version == '2019-06-01': from .v2019_06_01.operations import QueueServicesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import QueueServicesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import QueueServicesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import QueueServicesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import QueueServicesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import QueueServicesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import QueueServicesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'queue_services'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -424,6 +677,11 @@ def skus(self): * 2019-04-01: :class:`SkusOperations` * 2019-06-01: :class:`SkusOperations` * 2020-08-01-preview: :class:`SkusOperations` + * 2021-01-01: :class:`SkusOperations` + * 2021-02-01: :class:`SkusOperations` + * 2021-04-01: :class:`SkusOperations` + * 2021-06-01: :class:`SkusOperations` + * 2021-08-01: :class:`SkusOperations` """ api_version = self._get_api_version('skus') if api_version == '2017-06-01': @@ -444,6 +702,16 @@ def skus(self): from .v2019_06_01.operations import SkusOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import SkusOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import SkusOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import SkusOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import SkusOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import SkusOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import SkusOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'skus'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -464,6 +732,11 @@ def storage_accounts(self): * 2019-04-01: :class:`StorageAccountsOperations` * 2019-06-01: :class:`StorageAccountsOperations` * 2020-08-01-preview: :class:`StorageAccountsOperations` + * 2021-01-01: :class:`StorageAccountsOperations` + * 2021-02-01: :class:`StorageAccountsOperations` + * 2021-04-01: :class:`StorageAccountsOperations` + * 2021-06-01: :class:`StorageAccountsOperations` + * 2021-08-01: :class:`StorageAccountsOperations` """ api_version = self._get_api_version('storage_accounts') if api_version == '2015-06-15': @@ -490,6 +763,16 @@ def storage_accounts(self): from .v2019_06_01.operations import StorageAccountsOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import StorageAccountsOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import StorageAccountsOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import StorageAccountsOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'storage_accounts'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -500,12 +783,27 @@ def table(self): * 2019-06-01: :class:`TableOperations` * 2020-08-01-preview: :class:`TableOperations` + * 2021-01-01: :class:`TableOperations` + * 2021-02-01: :class:`TableOperations` + * 2021-04-01: :class:`TableOperations` + * 2021-06-01: :class:`TableOperations` + * 2021-08-01: :class:`TableOperations` """ api_version = self._get_api_version('table') if api_version == '2019-06-01': from .v2019_06_01.operations import TableOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import TableOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import TableOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import TableOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import TableOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import TableOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import TableOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'table'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -516,12 +814,27 @@ def table_services(self): * 2019-06-01: :class:`TableServicesOperations` * 2020-08-01-preview: :class:`TableServicesOperations` + * 2021-01-01: :class:`TableServicesOperations` + * 2021-02-01: :class:`TableServicesOperations` + * 2021-04-01: :class:`TableServicesOperations` + * 2021-06-01: :class:`TableServicesOperations` + * 2021-08-01: :class:`TableServicesOperations` """ api_version = self._get_api_version('table_services') if api_version == '2019-06-01': from .v2019_06_01.operations import TableServicesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import TableServicesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import TableServicesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import TableServicesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import TableServicesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import TableServicesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import TableServicesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'table_services'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) @@ -564,6 +877,11 @@ def usages(self): * 2019-04-01: :class:`UsagesOperations` * 2019-06-01: :class:`UsagesOperations` * 2020-08-01-preview: :class:`UsagesOperations` + * 2021-01-01: :class:`UsagesOperations` + * 2021-02-01: :class:`UsagesOperations` + * 2021-04-01: :class:`UsagesOperations` + * 2021-06-01: :class:`UsagesOperations` + * 2021-08-01: :class:`UsagesOperations` """ api_version = self._get_api_version('usages') if api_version == '2018-03-01-preview': @@ -578,6 +896,16 @@ def usages(self): from .v2019_06_01.operations import UsagesOperations as OperationClass elif api_version == '2020-08-01-preview': from .v2020_08_01_preview.operations import UsagesOperations as OperationClass + elif api_version == '2021-01-01': + from .v2021_01_01.operations import UsagesOperations as OperationClass + elif api_version == '2021-02-01': + from .v2021_02_01.operations import UsagesOperations as OperationClass + elif api_version == '2021-04-01': + from .v2021_04_01.operations import UsagesOperations as OperationClass + elif api_version == '2021-06-01': + from .v2021_06_01.operations import UsagesOperations as OperationClass + elif api_version == '2021-08-01': + from .v2021_08_01.operations import UsagesOperations as OperationClass else: raise ValueError("API version {} does not have operation group 'usages'".format(api_version)) return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_version.py similarity index 94% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_version.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_version.py index 04e1465e793..fb7288a742c 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/_version.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/_version.py @@ -5,4 +5,4 @@ # license information. # -------------------------------------------------------------------------- -VERSION = "16.0.0" +VERSION = "19.0.0" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/models.py similarity index 91% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/models.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/models.py index 35b6148bf8e..7f9c1caee1b 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/models.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/models.py @@ -5,4 +5,4 @@ # license information. # -------------------------------------------------------------------------- from .v2018_02_01.models import * -from .v2019_06_01.models import * +from .v2021_08_01.models import * diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/storage_management_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/storage_management_client.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/storage_management_client.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/storage_management_client.py diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/__init__.py new file mode 100644 index 00000000000..1072dc10316 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/__init__.py @@ -0,0 +1,18 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._storage_management_client import StorageManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['StorageManagementClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_configuration.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_configuration.py new file mode 100644 index 00000000000..20822381718 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMChallengeAuthenticationPolicy, ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class StorageManagementClientConfiguration(Configuration): + """Configuration for StorageManagementClient. + + 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: "TokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + super(StorageManagementClientConfiguration, self).__init__(**kwargs) + 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.") + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-08-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-storage/{}'.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 = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_patch.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_storage_management_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_storage_management_client.py new file mode 100644 index 00000000000..83125fc3fe1 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_storage_management_client.py @@ -0,0 +1,156 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.rest import HttpRequest, HttpResponse +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +from . import models +from ._configuration import StorageManagementClientConfiguration +from .operations import BlobContainersOperations, BlobInventoryPoliciesOperations, BlobServicesOperations, DeletedAccountsOperations, EncryptionScopesOperations, FileServicesOperations, FileSharesOperations, LocalUsersOperations, ManagementPoliciesOperations, ObjectReplicationPoliciesOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, QueueOperations, QueueServicesOperations, SkusOperations, StorageAccountsOperations, TableOperations, TableServicesOperations, UsagesOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + +class StorageManagementClient: + """The Azure Storage Management API. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.storage.v2021_08_01.operations.Operations + :ivar skus: SkusOperations operations + :vartype skus: azure.mgmt.storage.v2021_08_01.operations.SkusOperations + :ivar storage_accounts: StorageAccountsOperations operations + :vartype storage_accounts: azure.mgmt.storage.v2021_08_01.operations.StorageAccountsOperations + :ivar deleted_accounts: DeletedAccountsOperations operations + :vartype deleted_accounts: azure.mgmt.storage.v2021_08_01.operations.DeletedAccountsOperations + :ivar usages: UsagesOperations operations + :vartype usages: azure.mgmt.storage.v2021_08_01.operations.UsagesOperations + :ivar management_policies: ManagementPoliciesOperations operations + :vartype management_policies: + azure.mgmt.storage.v2021_08_01.operations.ManagementPoliciesOperations + :ivar blob_inventory_policies: BlobInventoryPoliciesOperations operations + :vartype blob_inventory_policies: + azure.mgmt.storage.v2021_08_01.operations.BlobInventoryPoliciesOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: + azure.mgmt.storage.v2021_08_01.operations.PrivateEndpointConnectionsOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: + azure.mgmt.storage.v2021_08_01.operations.PrivateLinkResourcesOperations + :ivar object_replication_policies: ObjectReplicationPoliciesOperations operations + :vartype object_replication_policies: + azure.mgmt.storage.v2021_08_01.operations.ObjectReplicationPoliciesOperations + :ivar local_users: LocalUsersOperations operations + :vartype local_users: azure.mgmt.storage.v2021_08_01.operations.LocalUsersOperations + :ivar encryption_scopes: EncryptionScopesOperations operations + :vartype encryption_scopes: + azure.mgmt.storage.v2021_08_01.operations.EncryptionScopesOperations + :ivar blob_services: BlobServicesOperations operations + :vartype blob_services: azure.mgmt.storage.v2021_08_01.operations.BlobServicesOperations + :ivar blob_containers: BlobContainersOperations operations + :vartype blob_containers: azure.mgmt.storage.v2021_08_01.operations.BlobContainersOperations + :ivar file_services: FileServicesOperations operations + :vartype file_services: azure.mgmt.storage.v2021_08_01.operations.FileServicesOperations + :ivar file_shares: FileSharesOperations operations + :vartype file_shares: azure.mgmt.storage.v2021_08_01.operations.FileSharesOperations + :ivar queue_services: QueueServicesOperations operations + :vartype queue_services: azure.mgmt.storage.v2021_08_01.operations.QueueServicesOperations + :ivar queue: QueueOperations operations + :vartype queue: azure.mgmt.storage.v2021_08_01.operations.QueueOperations + :ivar table_services: TableServicesOperations operations + :vartype table_services: azure.mgmt.storage.v2021_08_01.operations.TableServicesOperations + :ivar table: TableOperations operations + :vartype table: azure.mgmt.storage.v2021_08_01.operations.TableOperations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no + Retry-After header is present. + """ + + def __init__( + self, + credential: "TokenCredential", + subscription_id: str, + base_url: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = StorageManagementClientConfiguration(credential=credential, subscription_id=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._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.skus = SkusOperations(self._client, self._config, self._serialize, self._deserialize) + self.storage_accounts = StorageAccountsOperations(self._client, self._config, self._serialize, self._deserialize) + self.deleted_accounts = DeletedAccountsOperations(self._client, self._config, self._serialize, self._deserialize) + self.usages = UsagesOperations(self._client, self._config, self._serialize, self._deserialize) + self.management_policies = ManagementPoliciesOperations(self._client, self._config, self._serialize, self._deserialize) + self.blob_inventory_policies = BlobInventoryPoliciesOperations(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.object_replication_policies = ObjectReplicationPoliciesOperations(self._client, self._config, self._serialize, self._deserialize) + self.local_users = LocalUsersOperations(self._client, self._config, self._serialize, self._deserialize) + self.encryption_scopes = EncryptionScopesOperations(self._client, self._config, self._serialize, self._deserialize) + self.blob_services = BlobServicesOperations(self._client, self._config, self._serialize, self._deserialize) + self.blob_containers = BlobContainersOperations(self._client, self._config, self._serialize, self._deserialize) + self.file_services = FileServicesOperations(self._client, self._config, self._serialize, self._deserialize) + self.file_shares = FileSharesOperations(self._client, self._config, self._serialize, self._deserialize) + self.queue_services = QueueServicesOperations(self._client, self._config, self._serialize, self._deserialize) + self.queue = QueueOperations(self._client, self._config, self._serialize, self._deserialize) + self.table_services = TableServicesOperations(self._client, self._config, self._serialize, self._deserialize) + self.table = TableOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request, # type: HttpRequest + **kwargs: Any + ) -> HttpResponse: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> StorageManagementClient + 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_mgmt_storage/v2021_08_01/_vendor.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_vendor.py new file mode 100644 index 00000000000..138f663c53a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_vendor.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. +# 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.pipeline.transport import HttpRequest + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request + +def _format_url_section(template, **kwargs): + components = template.split("/") + while components: + try: + return template.format(**kwargs) + except KeyError as key: + formatted_components = template.split("/") + components = [ + c for c in formatted_components if "{}".format(key.args[0]) not in c + ] + template = "/".join(components) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/_version.py new file mode 100644 index 00000000000..e5754a47ce6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_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 = "1.0.0b1" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/__init__.py new file mode 100644 index 00000000000..3b85e3279ea --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/__init__.py @@ -0,0 +1,15 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._storage_management_client import StorageManagementClient +__all__ = ['StorageManagementClient'] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk +patch_sdk() diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/_configuration.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_configuration.py similarity index 90% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/_configuration.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_configuration.py index 8158795c28c..b9ef2874d49 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/_configuration.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_configuration.py @@ -10,13 +10,14 @@ from azure.core.configuration import Configuration from azure.core.pipeline import policies -from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from azure.mgmt.core.policies import ARMHttpLoggingPolicy, AsyncARMChallengeAuthenticationPolicy + +from .._version import VERSION if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -VERSION = "unknown" class StorageManagementClientConfiguration(Configuration): """Configuration for StorageManagementClient. @@ -36,15 +37,15 @@ def __init__( subscription_id: str, **kwargs: Any ) -> None: + super(StorageManagementClientConfiguration, self).__init__(**kwargs) 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(StorageManagementClientConfiguration, self).__init__(**kwargs) self.credential = credential self.subscription_id = subscription_id - self.api_version = "2020-08-01-preview" + self.api_version = "2021-08-01" self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'mgmt-storage/{}'.format(VERSION)) self._configure(**kwargs) @@ -63,4 +64,4 @@ def _configure( 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) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_patch.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_patch.py new file mode 100644 index 00000000000..74e48ecd07c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_patch.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# 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. +# +# -------------------------------------------------------------------------- + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass \ No newline at end of file diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_storage_management_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_storage_management_client.py new file mode 100644 index 00000000000..e2ecd0cc2d9 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/_storage_management_client.py @@ -0,0 +1,156 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable, Optional, TYPE_CHECKING + +from azure.core.rest import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from .. import models +from ._configuration import StorageManagementClientConfiguration +from .operations import BlobContainersOperations, BlobInventoryPoliciesOperations, BlobServicesOperations, DeletedAccountsOperations, EncryptionScopesOperations, FileServicesOperations, FileSharesOperations, LocalUsersOperations, ManagementPoliciesOperations, ObjectReplicationPoliciesOperations, Operations, PrivateEndpointConnectionsOperations, PrivateLinkResourcesOperations, QueueOperations, QueueServicesOperations, SkusOperations, StorageAccountsOperations, TableOperations, TableServicesOperations, UsagesOperations + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +class StorageManagementClient: + """The Azure Storage Management API. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.storage.v2021_08_01.aio.operations.Operations + :ivar skus: SkusOperations operations + :vartype skus: azure.mgmt.storage.v2021_08_01.aio.operations.SkusOperations + :ivar storage_accounts: StorageAccountsOperations operations + :vartype storage_accounts: + azure.mgmt.storage.v2021_08_01.aio.operations.StorageAccountsOperations + :ivar deleted_accounts: DeletedAccountsOperations operations + :vartype deleted_accounts: + azure.mgmt.storage.v2021_08_01.aio.operations.DeletedAccountsOperations + :ivar usages: UsagesOperations operations + :vartype usages: azure.mgmt.storage.v2021_08_01.aio.operations.UsagesOperations + :ivar management_policies: ManagementPoliciesOperations operations + :vartype management_policies: + azure.mgmt.storage.v2021_08_01.aio.operations.ManagementPoliciesOperations + :ivar blob_inventory_policies: BlobInventoryPoliciesOperations operations + :vartype blob_inventory_policies: + azure.mgmt.storage.v2021_08_01.aio.operations.BlobInventoryPoliciesOperations + :ivar private_endpoint_connections: PrivateEndpointConnectionsOperations operations + :vartype private_endpoint_connections: + azure.mgmt.storage.v2021_08_01.aio.operations.PrivateEndpointConnectionsOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: + azure.mgmt.storage.v2021_08_01.aio.operations.PrivateLinkResourcesOperations + :ivar object_replication_policies: ObjectReplicationPoliciesOperations operations + :vartype object_replication_policies: + azure.mgmt.storage.v2021_08_01.aio.operations.ObjectReplicationPoliciesOperations + :ivar local_users: LocalUsersOperations operations + :vartype local_users: azure.mgmt.storage.v2021_08_01.aio.operations.LocalUsersOperations + :ivar encryption_scopes: EncryptionScopesOperations operations + :vartype encryption_scopes: + azure.mgmt.storage.v2021_08_01.aio.operations.EncryptionScopesOperations + :ivar blob_services: BlobServicesOperations operations + :vartype blob_services: azure.mgmt.storage.v2021_08_01.aio.operations.BlobServicesOperations + :ivar blob_containers: BlobContainersOperations operations + :vartype blob_containers: + azure.mgmt.storage.v2021_08_01.aio.operations.BlobContainersOperations + :ivar file_services: FileServicesOperations operations + :vartype file_services: azure.mgmt.storage.v2021_08_01.aio.operations.FileServicesOperations + :ivar file_shares: FileSharesOperations operations + :vartype file_shares: azure.mgmt.storage.v2021_08_01.aio.operations.FileSharesOperations + :ivar queue_services: QueueServicesOperations operations + :vartype queue_services: azure.mgmt.storage.v2021_08_01.aio.operations.QueueServicesOperations + :ivar queue: QueueOperations operations + :vartype queue: azure.mgmt.storage.v2021_08_01.aio.operations.QueueOperations + :ivar table_services: TableServicesOperations operations + :vartype table_services: azure.mgmt.storage.v2021_08_01.aio.operations.TableServicesOperations + :ivar table: TableOperations operations + :vartype table: azure.mgmt.storage.v2021_08_01.aio.operations.TableOperations + :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 base_url: Service URL. Default value is 'https://management.azure.com'. + :type base_url: str + :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: str = "https://management.azure.com", + **kwargs: Any + ) -> None: + self._config = StorageManagementClientConfiguration(credential=credential, subscription_id=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._serialize.client_side_validation = False + self.operations = Operations(self._client, self._config, self._serialize, self._deserialize) + self.skus = SkusOperations(self._client, self._config, self._serialize, self._deserialize) + self.storage_accounts = StorageAccountsOperations(self._client, self._config, self._serialize, self._deserialize) + self.deleted_accounts = DeletedAccountsOperations(self._client, self._config, self._serialize, self._deserialize) + self.usages = UsagesOperations(self._client, self._config, self._serialize, self._deserialize) + self.management_policies = ManagementPoliciesOperations(self._client, self._config, self._serialize, self._deserialize) + self.blob_inventory_policies = BlobInventoryPoliciesOperations(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.object_replication_policies = ObjectReplicationPoliciesOperations(self._client, self._config, self._serialize, self._deserialize) + self.local_users = LocalUsersOperations(self._client, self._config, self._serialize, self._deserialize) + self.encryption_scopes = EncryptionScopesOperations(self._client, self._config, self._serialize, self._deserialize) + self.blob_services = BlobServicesOperations(self._client, self._config, self._serialize, self._deserialize) + self.blob_containers = BlobContainersOperations(self._client, self._config, self._serialize, self._deserialize) + self.file_services = FileServicesOperations(self._client, self._config, self._serialize, self._deserialize) + self.file_shares = FileSharesOperations(self._client, self._config, self._serialize, self._deserialize) + self.queue_services = QueueServicesOperations(self._client, self._config, self._serialize, self._deserialize) + self.queue = QueueOperations(self._client, self._config, self._serialize, self._deserialize) + self.table_services = TableServicesOperations(self._client, self._config, self._serialize, self._deserialize) + self.table = TableOperations(self._client, self._config, self._serialize, self._deserialize) + + + def _send_request( + self, + request: HttpRequest, + **kwargs: Any + ) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + + >>> response = await client._send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: 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.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + request_copy.url = self._client.format_url(request_copy.url) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "StorageManagementClient": + 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_mgmt_preview_storage/v2020_08_01_preview/operations/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/__init__.py similarity index 96% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/__init__.py index bddcf8c8cb3..4c1064ae382 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/__init__.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/__init__.py @@ -16,6 +16,7 @@ from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations from ._private_link_resources_operations import PrivateLinkResourcesOperations from ._object_replication_policies_operations import ObjectReplicationPoliciesOperations +from ._local_users_operations import LocalUsersOperations from ._encryption_scopes_operations import EncryptionScopesOperations from ._blob_services_operations import BlobServicesOperations from ._blob_containers_operations import BlobContainersOperations @@ -37,6 +38,7 @@ 'PrivateEndpointConnectionsOperations', 'PrivateLinkResourcesOperations', 'ObjectReplicationPoliciesOperations', + 'LocalUsersOperations', 'EncryptionScopesOperations', 'BlobServicesOperations', 'BlobContainersOperations', diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_containers_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_containers_operations.py similarity index 61% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_containers_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_containers_operations.py index 6bee0562611..0b592eaecc8 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_containers_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_containers_operations.py @@ -5,17 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._blob_containers_operations import build_clear_legal_hold_request, build_create_or_update_immutability_policy_request, build_create_request, build_delete_immutability_policy_request, build_delete_request, build_extend_immutability_policy_request, build_get_immutability_policy_request, build_get_request, build_lease_request, build_list_request, build_lock_immutability_policy_request, build_object_level_worm_request_initial, build_set_legal_hold_request, build_update_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +33,7 @@ class BlobContainersOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,6 +48,7 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, @@ -48,7 +56,7 @@ def list( maxpagesize: Optional[str] = None, filter: Optional[str] = None, include: Optional[Union[str, "_models.ListContainersInclude"]] = None, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.ListContainerItems"]: """Lists all containers and does not support a prefix like data plane. Also SRP today does not return continuation token. @@ -57,8 +65,8 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param maxpagesize: Optional. Specified maximum number of containers that can be included in the list. @@ -67,10 +75,11 @@ def list( listed. :type filter: str :param include: Optional, used to include the properties for soft deleted blob containers. - :type include: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ListContainersInclude + :type include: str or ~azure.mgmt.storage.v2021_08_01.models.ListContainersInclude :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ListContainerItems or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ListContainerItems] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.ListContainerItems] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListContainerItems"] @@ -78,42 +87,39 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if maxpagesize is not None: - query_parameters['$maxpagesize'] = self._serialize.query("maxpagesize", maxpagesize, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - if include is not None: - query_parameters['$include'] = self._serialize.query("include", include, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + include=include, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + include=include, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ListContainerItems', pipeline_response) + deserialized = self._deserialize("ListContainerItems", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -131,18 +137,20 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers'} # type: ignore + @distributed_trace_async async def create( self, resource_group_name: str, account_name: str, container_name: str, blob_container: "_models.BlobContainer", - **kwargs + **kwargs: Any ) -> "_models.BlobContainer": """Creates a new container under the specified account as described by request body. The container resource includes metadata and properties for that container. It does not include a list of the @@ -152,8 +160,8 @@ async def create( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -161,10 +169,10 @@ async def create( by a letter or number. :type container_name: str :param blob_container: Properties of the blob container to create. - :type blob_container: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer + :type blob_container: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer :keyword callable cls: A custom type or function that will be passed the direct response :return: BlobContainer, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] @@ -172,33 +180,23 @@ async def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(blob_container, 'BlobContainer') + + request = build_create_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(blob_container, 'BlobContainer') - 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 @@ -216,15 +214,18 @@ async def create( return cls(pipeline_response, deserialized, {}) return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore + + @distributed_trace_async async def update( self, resource_group_name: str, account_name: str, container_name: str, blob_container: "_models.BlobContainer", - **kwargs + **kwargs: Any ) -> "_models.BlobContainer": """Updates container properties as specified in request body. Properties not mentioned in the request will be unchanged. Update fails if the specified container doesn't already exist. @@ -233,8 +234,8 @@ async def update( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -242,10 +243,10 @@ async def update( by a letter or number. :type container_name: str :param blob_container: Properties to update for the blob container. - :type blob_container: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer + :type blob_container: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer :keyword callable cls: A custom type or function that will be passed the direct response :return: BlobContainer, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] @@ -253,33 +254,23 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(blob_container, 'BlobContainer') + + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(blob_container, 'BlobContainer') - 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 @@ -293,14 +284,17 @@ async def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore + + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, container_name: str, - **kwargs + **kwargs: Any ) -> "_models.BlobContainer": """Gets properties of a specified container. @@ -308,8 +302,8 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -318,7 +312,7 @@ async def get( :type container_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: BlobContainer, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobContainer + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] @@ -326,28 +320,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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 = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -361,14 +345,17 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, container_name: str, - **kwargs + **kwargs: Any ) -> None: """Deletes specified container under its account. @@ -376,8 +363,8 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -394,26 +381,18 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -426,13 +405,15 @@ async def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore + + @distributed_trace_async async def set_legal_hold( self, resource_group_name: str, account_name: str, container_name: str, legal_hold: "_models.LegalHold", - **kwargs + **kwargs: Any ) -> "_models.LegalHold": """Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold follows an append pattern and does not clear out the existing tags that are not specified in @@ -442,8 +423,8 @@ async def set_legal_hold( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -451,10 +432,10 @@ async def set_legal_hold( by a letter or number. :type container_name: str :param legal_hold: The LegalHold property that will be set to a blob container. - :type legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHold + :type legal_hold: ~azure.mgmt.storage.v2021_08_01.models.LegalHold :keyword callable cls: A custom type or function that will be passed the direct response :return: LegalHold, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHold + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LegalHold :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.LegalHold"] @@ -462,33 +443,23 @@ async def set_legal_hold( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_legal_hold.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(legal_hold, 'LegalHold') + + request = build_set_legal_hold_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_legal_hold.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(legal_hold, 'LegalHold') - 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 @@ -502,15 +473,18 @@ async def set_legal_hold( return cls(pipeline_response, deserialized, {}) return deserialized + set_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold'} # type: ignore + + @distributed_trace_async async def clear_legal_hold( self, resource_group_name: str, account_name: str, container_name: str, legal_hold: "_models.LegalHold", - **kwargs + **kwargs: Any ) -> "_models.LegalHold": """Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent operation. ClearLegalHold clears out only the specified tags in the request. @@ -519,8 +493,8 @@ async def clear_legal_hold( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -528,10 +502,10 @@ async def clear_legal_hold( by a letter or number. :type container_name: str :param legal_hold: The LegalHold property that will be clear from a blob container. - :type legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHold + :type legal_hold: ~azure.mgmt.storage.v2021_08_01.models.LegalHold :keyword callable cls: A custom type or function that will be passed the direct response :return: LegalHold, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHold + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LegalHold :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.LegalHold"] @@ -539,33 +513,23 @@ async def clear_legal_hold( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.clear_legal_hold.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(legal_hold, 'LegalHold') + + request = build_clear_legal_hold_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.clear_legal_hold.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(legal_hold, 'LegalHold') - 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 @@ -579,8 +543,11 @@ async def clear_legal_hold( return cls(pipeline_response, deserialized, {}) return deserialized + clear_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold'} # type: ignore + + @distributed_trace_async async def create_or_update_immutability_policy( self, resource_group_name: str, @@ -588,7 +555,7 @@ async def create_or_update_immutability_policy( container_name: str, if_match: Optional[str] = None, parameters: Optional["_models.ImmutabilityPolicy"] = None, - **kwargs + **kwargs: Any ) -> "_models.ImmutabilityPolicy": """Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but not required for this operation. @@ -597,8 +564,8 @@ async def create_or_update_immutability_policy( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -611,10 +578,10 @@ async def create_or_update_immutability_policy( :type if_match: str :param parameters: The ImmutabilityPolicy Properties that will be created or updated to a blob container. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy :keyword callable cls: A custom type or function that will be passed the direct response :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] @@ -622,40 +589,27 @@ async def create_or_update_immutability_policy( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - immutability_policy_name = "default" - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.create_or_update_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'immutabilityPolicyName': self._serialize.url("immutability_policy_name", immutability_policy_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - body_content_kwargs = {} # type: Dict[str, Any] if parameters is not None: - body_content = self._serialize.body(parameters, 'ImmutabilityPolicy') + _json = self._serialize.body(parameters, 'ImmutabilityPolicy') else: - body_content = None - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + _json = None + + request = build_create_or_update_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + if_match=if_match, + template_url=self.create_or_update_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -665,21 +619,25 @@ async def create_or_update_immutability_policy( response_headers = {} response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) return deserialized + create_or_update_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore + + @distributed_trace_async async def get_immutability_policy( self, resource_group_name: str, account_name: str, container_name: str, if_match: Optional[str] = None, - **kwargs + **kwargs: Any ) -> "_models.ImmutabilityPolicy": """Gets the existing immutability policy along with the corresponding ETag in response headers and body. @@ -688,8 +646,8 @@ async def get_immutability_policy( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -702,7 +660,7 @@ async def get_immutability_policy( :type if_match: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] @@ -710,32 +668,19 @@ async def get_immutability_policy( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - immutability_policy_name = "default" - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'immutabilityPolicyName': self._serialize.url("immutability_policy_name", immutability_policy_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + template_url=self.get_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -745,21 +690,25 @@ async def get_immutability_policy( response_headers = {} response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) return deserialized + get_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore + + @distributed_trace_async async def delete_immutability_policy( self, resource_group_name: str, account_name: str, container_name: str, if_match: str, - **kwargs + **kwargs: Any ) -> "_models.ImmutabilityPolicy": """Aborts an unlocked immutability policy. The response of delete has immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this @@ -770,8 +719,8 @@ async def delete_immutability_policy( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -784,7 +733,7 @@ async def delete_immutability_policy( :type if_match: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] @@ -792,31 +741,19 @@ async def delete_immutability_policy( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - immutability_policy_name = "default" - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'immutabilityPolicyName': self._serialize.url("immutability_policy_name", immutability_policy_name, 'str'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + template_url=self.delete_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -826,21 +763,25 @@ async def delete_immutability_policy( response_headers = {} response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) return deserialized + delete_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore + + @distributed_trace_async async def lock_immutability_policy( self, resource_group_name: str, account_name: str, container_name: str, if_match: str, - **kwargs + **kwargs: Any ) -> "_models.ImmutabilityPolicy": """Sets the ImmutabilityPolicy to Locked state. The only action allowed on a Locked policy is ExtendImmutabilityPolicy action. ETag in If-Match is required for this operation. @@ -849,8 +790,8 @@ async def lock_immutability_policy( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -863,7 +804,7 @@ async def lock_immutability_policy( :type if_match: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] @@ -871,29 +812,19 @@ async def lock_immutability_policy( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.lock_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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['If-Match'] = self._serialize.header("if_match", if_match, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_lock_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + template_url=self.lock_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -903,14 +834,18 @@ async def lock_immutability_policy( response_headers = {} response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) return deserialized + lock_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock'} # type: ignore + + @distributed_trace_async async def extend_immutability_policy( self, resource_group_name: str, @@ -918,7 +853,7 @@ async def extend_immutability_policy( container_name: str, if_match: str, parameters: Optional["_models.ImmutabilityPolicy"] = None, - **kwargs + **kwargs: Any ) -> "_models.ImmutabilityPolicy": """Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only action allowed on a Locked policy will be this action. ETag in If-Match is required for this @@ -928,8 +863,8 @@ async def extend_immutability_policy( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -942,10 +877,10 @@ async def extend_immutability_policy( :type if_match: str :param parameters: The ImmutabilityPolicy Properties that will be extended for a blob container. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy :keyword callable cls: A custom type or function that will be passed the direct response :return: ImmutabilityPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] @@ -953,37 +888,27 @@ async def extend_immutability_policy( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.extend_immutability_policy.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - # Construct headers - header_parameters = {} # type: Dict[str, Any] - 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] if parameters is not None: - body_content = self._serialize.body(parameters, 'ImmutabilityPolicy') + _json = self._serialize.body(parameters, 'ImmutabilityPolicy') else: - body_content = None - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + _json = None + + request = build_extend_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + if_match=if_match, + json=_json, + template_url=self.extend_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -993,21 +918,25 @@ async def extend_immutability_policy( response_headers = {} response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) if cls: return cls(pipeline_response, deserialized, response_headers) return deserialized + extend_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend'} # type: ignore + + @distributed_trace_async async def lease( self, resource_group_name: str, account_name: str, container_name: str, parameters: Optional["_models.LeaseContainerRequest"] = None, - **kwargs + **kwargs: Any ) -> "_models.LeaseContainerResponse": """The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite. @@ -1016,8 +945,8 @@ async def lease( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param container_name: The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case @@ -1025,10 +954,10 @@ async def lease( by a letter or number. :type container_name: str :param parameters: Lease Container request body. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseContainerRequest + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.LeaseContainerRequest :keyword callable cls: A custom type or function that will be passed the direct response :return: LeaseContainerResponse, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseContainerResponse + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LeaseContainerResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.LeaseContainerResponse"] @@ -1036,36 +965,26 @@ async def lease( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.lease.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'containerName': self._serialize.url("container_name", container_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] - body_content_kwargs = {} # type: Dict[str, Any] if parameters is not None: - body_content = self._serialize.body(parameters, 'LeaseContainerRequest') + _json = self._serialize.body(parameters, 'LeaseContainerRequest') else: - body_content = None - body_content_kwargs['content'] = body_content - request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + _json = None + + request = build_lease_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.lease.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -1079,4 +998,117 @@ async def lease( return cls(pipeline_response, deserialized, {}) return deserialized + lease.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease'} # type: ignore + + + async def _object_level_worm_initial( + self, + resource_group_name: str, + account_name: str, + container_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_object_level_worm_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + template_url=self._object_level_worm_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _object_level_worm_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/migrate'} # type: ignore + + + @distributed_trace_async + async def begin_object_level_worm( + self, + resource_group_name: str, + account_name: str, + container_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """This operation migrates a blob container from container level WORM to object level immutability + enabled container. Prerequisites require a container level immutability policy either in locked + or unlocked state, Account level versioning must be enabled and there should be no Legal hold + on the container. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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._object_level_worm_initial( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_object_level_worm.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/migrate'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_inventory_policies_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_inventory_policies_operations.py similarity index 59% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_inventory_policies_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_inventory_policies_operations.py index cb9f93bfefc..e4a42e31c1a 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_inventory_policies_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_inventory_policies_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._blob_inventory_policies_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class BlobInventoryPoliciesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,12 +46,13 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], - **kwargs + **kwargs: Any ) -> "_models.BlobInventoryPolicy": """Gets the blob inventory policy associated with the specified storage account. @@ -54,15 +60,16 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It should always be 'default'. - :type blob_inventory_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyName + :type blob_inventory_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyName :keyword callable cls: A custom type or function that will be passed the direct response :return: BlobInventoryPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobInventoryPolicy"] @@ -70,34 +77,24 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'blobInventoryPolicyName': self._serialize.url("blob_inventory_policy_name", blob_inventory_policy_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 = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + blob_inventory_policy_name=blob_inventory_policy_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('BlobInventoryPolicy', pipeline_response) @@ -106,15 +103,18 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, account_name: str, blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], properties: "_models.BlobInventoryPolicy", - **kwargs + **kwargs: Any ) -> "_models.BlobInventoryPolicy": """Sets the blob inventory policy to the specified storage account. @@ -122,17 +122,18 @@ async def create_or_update( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It should always be 'default'. - :type blob_inventory_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyName + :type blob_inventory_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyName :param properties: The blob inventory policy set to a storage account. - :type properties: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy + :type properties: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicy :keyword callable cls: A custom type or function that will be passed the direct response :return: BlobInventoryPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobInventoryPolicy"] @@ -140,39 +141,29 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'blobInventoryPolicyName': self._serialize.url("blob_inventory_policy_name", blob_inventory_policy_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(properties, 'BlobInventoryPolicy') + + request = build_create_or_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + blob_inventory_policy_name=blob_inventory_policy_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(properties, 'BlobInventoryPolicy') - 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(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('BlobInventoryPolicy', pipeline_response) @@ -181,14 +172,17 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], - **kwargs + **kwargs: Any ) -> None: """Deletes the blob inventory policy associated with the specified storage account. @@ -196,12 +190,13 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It should always be 'default'. - :type blob_inventory_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyName + :type blob_inventory_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyName :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 @@ -212,34 +207,24 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'blobInventoryPolicyName': self._serialize.url("blob_inventory_policy_name", blob_inventory_policy_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 = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + blob_inventory_policy_name=blob_inventory_policy_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: @@ -247,11 +232,13 @@ async def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.ListBlobInventoryPolicy"]: """Gets the blob inventory policy associated with the specified storage account. @@ -259,12 +246,14 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ListBlobInventoryPolicy or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ListBlobInventoryPolicy] + :return: An iterator like instance of either ListBlobInventoryPolicy or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.ListBlobInventoryPolicy] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBlobInventoryPolicy"] @@ -272,36 +261,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ListBlobInventoryPolicy', pipeline_response) + deserialized = self._deserialize("ListBlobInventoryPolicy", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -314,12 +300,13 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_services_operations.py similarity index 61% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_services_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_services_operations.py index d9505365c31..7ecab227437 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_blob_services_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_blob_services_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._blob_services_operations import build_get_service_properties_request, build_list_request, build_set_service_properties_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class BlobServicesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,11 +46,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.BlobServiceItems"]: """List blob services of storage account. It returns a collection of one object named default. @@ -53,12 +59,13 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either BlobServiceItems or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceItems] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.BlobServiceItems] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceItems"] @@ -66,36 +73,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('BlobServiceItems', pipeline_response) + deserialized = self._deserialize("BlobServiceItems", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -113,17 +117,19 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices'} # type: ignore + @distributed_trace_async async def set_service_properties( self, resource_group_name: str, account_name: str, parameters: "_models.BlobServiceProperties", - **kwargs + **kwargs: Any ) -> "_models.BlobServiceProperties": """Sets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. @@ -132,15 +138,15 @@ async def set_service_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param parameters: The properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.BlobServiceProperties :keyword callable cls: A custom type or function that will be passed the direct response :return: BlobServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceProperties"] @@ -148,34 +154,22 @@ async def set_service_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - blob_services_name = "default" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'BlobServicesName': self._serialize.url("blob_services_name", blob_services_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'BlobServiceProperties') + + request = build_set_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'BlobServiceProperties') - 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 @@ -189,13 +183,16 @@ async def set_service_properties( return cls(pipeline_response, deserialized, {}) return deserialized + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'} # type: ignore + + @distributed_trace_async async def get_service_properties( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> "_models.BlobServiceProperties": """Gets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. @@ -204,12 +201,12 @@ async def get_service_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: BlobServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceProperties"] @@ -217,29 +214,17 @@ async def get_service_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - blob_services_name = "default" - accept = "application/json" - - # Construct URL - url = self.get_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'BlobServicesName': self._serialize.url("blob_services_name", blob_services_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 = build_get_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.get_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -253,4 +238,6 @@ async def get_service_properties( return cls(pipeline_response, deserialized, {}) return deserialized + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_deleted_accounts_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_deleted_accounts_operations.py similarity index 64% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_deleted_accounts_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_deleted_accounts_operations.py index f3de147e1e0..87555525318 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_deleted_accounts_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_deleted_accounts_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._deleted_accounts_operations import build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class DeletedAccountsOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,15 +46,18 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.DeletedAccountListResult"]: """Lists deleted accounts under the subscription. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either DeletedAccountListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.DeletedAccountListResult] + :return: An iterator like instance of either DeletedAccountListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.DeletedAccountListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.DeletedAccountListResult"] @@ -57,34 +65,29 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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), - } - url = self._client.format_url(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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('DeletedAccountListResult', pipeline_response) + deserialized = self._deserialize("DeletedAccountListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -97,22 +100,24 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) 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.Storage/deletedAccounts'} # type: ignore + @distributed_trace_async async def get( self, deleted_account_name: str, location: str, - **kwargs + **kwargs: Any ) -> "_models.DeletedAccount": """Get properties of specified deleted account resource. @@ -122,7 +127,7 @@ async def get( :type location: str :keyword callable cls: A custom type or function that will be passed the direct response :return: DeletedAccount, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.DeletedAccount + :rtype: ~azure.mgmt.storage.v2021_08_01.models.DeletedAccount :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.DeletedAccount"] @@ -130,33 +135,23 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.get.metadata['url'] # type: ignore - path_format_arguments = { - 'deletedAccountName': self._serialize.url("deleted_account_name", deleted_account_name, 'str', max_length=24, min_length=3), - 'location': self._serialize.url("location", location, '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 = {} # 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 = build_get_request( + deleted_account_name=deleted_account_name, + location=location, + subscription_id=self._config.subscription_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('DeletedAccount', pipeline_response) @@ -165,4 +160,6 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_encryption_scopes_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_encryption_scopes_operations.py similarity index 61% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_encryption_scopes_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_encryption_scopes_operations.py index 000d991e04f..e7e94ff541f 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_encryption_scopes_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_encryption_scopes_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._encryption_scopes_operations import build_get_request, build_list_request, build_patch_request, build_put_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class EncryptionScopesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,13 +46,14 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def put( self, resource_group_name: str, account_name: str, encryption_scope_name: str, encryption_scope: "_models.EncryptionScope", - **kwargs + **kwargs: Any ) -> "_models.EncryptionScope": """Synchronously creates or updates an encryption scope under the specified storage account. If an encryption scope is already created and a subsequent request is issued with different @@ -57,8 +63,8 @@ async def put( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param encryption_scope_name: The name of the encryption scope within the specified storage account. Encryption scope names must be between 3 and 63 characters in length and use numbers, @@ -66,10 +72,10 @@ async def put( followed by a letter or number. :type encryption_scope_name: str :param encryption_scope: Encryption scope properties to be used for the create or update. - :type encryption_scope: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope + :type encryption_scope: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope :keyword callable cls: A custom type or function that will be passed the direct response :return: EncryptionScope, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope + :rtype: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] @@ -77,39 +83,29 @@ async def put( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.put.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(encryption_scope, 'EncryptionScope') + + request = build_put_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + encryption_scope_name=encryption_scope_name, + content_type=content_type, + json=_json, + template_url=self.put.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(encryption_scope, 'EncryptionScope') - 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: @@ -122,15 +118,18 @@ async def put( return cls(pipeline_response, deserialized, {}) return deserialized + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore + + @distributed_trace_async async def patch( self, resource_group_name: str, account_name: str, encryption_scope_name: str, encryption_scope: "_models.EncryptionScope", - **kwargs + **kwargs: Any ) -> "_models.EncryptionScope": """Update encryption scope properties as specified in the request body. Update fails if the specified encryption scope does not already exist. @@ -139,8 +138,8 @@ async def patch( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param encryption_scope_name: The name of the encryption scope within the specified storage account. Encryption scope names must be between 3 and 63 characters in length and use numbers, @@ -148,10 +147,10 @@ async def patch( followed by a letter or number. :type encryption_scope_name: str :param encryption_scope: Encryption scope properties to be used for the update. - :type encryption_scope: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope + :type encryption_scope: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope :keyword callable cls: A custom type or function that will be passed the direct response :return: EncryptionScope, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope + :rtype: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] @@ -159,39 +158,29 @@ async def patch( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.patch.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(encryption_scope, 'EncryptionScope') + + request = build_patch_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + encryption_scope_name=encryption_scope_name, + content_type=content_type, + json=_json, + template_url=self.patch.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(encryption_scope, 'EncryptionScope') - 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(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('EncryptionScope', pipeline_response) @@ -200,14 +189,17 @@ async def patch( return cls(pipeline_response, deserialized, {}) return deserialized + patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore + + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, encryption_scope_name: str, - **kwargs + **kwargs: Any ) -> "_models.EncryptionScope": """Returns the properties for the specified encryption scope. @@ -215,8 +207,8 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param encryption_scope_name: The name of the encryption scope within the specified storage account. Encryption scope names must be between 3 and 63 characters in length and use numbers, @@ -225,7 +217,7 @@ async def get( :type encryption_scope_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: EncryptionScope, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope + :rtype: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] @@ -233,34 +225,24 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'encryptionScopeName': self._serialize.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), - } - url = self._client.format_url(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 = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + encryption_scope_name=encryption_scope_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('EncryptionScope', pipeline_response) @@ -269,13 +251,16 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.EncryptionScopeListResult"]: """Lists all the encryption scopes available under the specified storage account. @@ -283,12 +268,14 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either EncryptionScopeListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeListResult] + :return: An iterator like instance of either EncryptionScopeListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScopeListResult"] @@ -296,36 +283,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('EncryptionScopeListResult', pipeline_response) + deserialized = self._deserialize("EncryptionScopeListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -343,6 +327,7 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_file_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_file_services_operations.py similarity index 58% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_file_services_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_file_services_operations.py index 2fb3134f7ae..f76a19ac300 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_file_services_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_file_services_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._file_services_operations import build_get_service_properties_request, build_list_request, build_set_service_properties_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class FileServicesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,11 +44,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> "_models.FileServiceItems": """List all file services in storage accounts. @@ -52,12 +57,12 @@ async def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: FileServiceItems, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceItems + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileServiceItems :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceItems"] @@ -65,33 +70,24 @@ async def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FileServiceItems', pipeline_response) @@ -99,14 +95,17 @@ async def list( return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices'} # type: ignore + + @distributed_trace_async async def set_service_properties( self, resource_group_name: str, account_name: str, parameters: "_models.FileServiceProperties", - **kwargs + **kwargs: Any ) -> "_models.FileServiceProperties": """Sets the properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules. @@ -115,15 +114,15 @@ async def set_service_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str - :param parameters: The properties of file services in storage accounts, including CORS (Cross- - Origin Resource Sharing) rules. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties + :param parameters: The properties of file services in storage accounts, including CORS + (Cross-Origin Resource Sharing) rules. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.FileServiceProperties :keyword callable cls: A custom type or function that will be passed the direct response :return: FileServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceProperties"] @@ -131,40 +130,29 @@ async def set_service_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - file_services_name = "default" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'FileServicesName': self._serialize.url("file_services_name", file_services_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'FileServiceProperties') - # 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') + request = build_set_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'FileServiceProperties') - 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.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FileServiceProperties', pipeline_response) @@ -172,13 +160,16 @@ async def set_service_properties( return cls(pipeline_response, deserialized, {}) return deserialized + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'} # type: ignore + + @distributed_trace_async async def get_service_properties( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> "_models.FileServiceProperties": """Gets the properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules. @@ -187,12 +178,12 @@ async def get_service_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: FileServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceProperties"] @@ -200,35 +191,24 @@ async def get_service_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - file_services_name = "default" - accept = "application/json" - - # Construct URL - url = self.get_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'FileServicesName': self._serialize.url("file_services_name", file_services_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 = build_get_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.get_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FileServiceProperties', pipeline_response) @@ -236,4 +216,6 @@ async def get_service_properties( return cls(pipeline_response, deserialized, {}) return deserialized + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_file_shares_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_file_shares_operations.py similarity index 56% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_file_shares_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_file_shares_operations.py index 42790aa149e..506bd20c450 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_file_shares_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_file_shares_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._file_shares_operations import build_create_request, build_delete_request, build_get_request, build_lease_request, build_list_request, build_restore_request, build_update_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class FileSharesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,14 +46,15 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, account_name: str, maxpagesize: Optional[str] = None, filter: Optional[str] = None, - expand: Optional[Union[str, "_models.ListSharesExpand"]] = None, - **kwargs + expand: Optional[str] = None, + **kwargs: Any ) -> AsyncIterable["_models.FileShareItems"]: """Lists all shares. @@ -56,8 +62,8 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param maxpagesize: Optional. Specified maximum number of shares that can be included in the list. @@ -65,11 +71,13 @@ def list( :param filter: Optional. When specified, only share names starting with the filter will be listed. :type filter: str - :param expand: Optional, used to expand the properties within share's properties. - :type expand: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ListSharesExpand + :param expand: Optional, used to expand the properties within share's properties. Valid values + are: deleted, snapshots. Should be passed as a string with delimiter ','. + :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 FileShareItems or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.FileShareItems] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.FileShareItems] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShareItems"] @@ -77,42 +85,39 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if maxpagesize is not None: - query_parameters['$maxpagesize'] = self._serialize.query("maxpagesize", maxpagesize, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + expand=expand, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + expand=expand, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('FileShareItems', pipeline_response) + deserialized = self._deserialize("FileShareItems", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -126,23 +131,26 @@ async def get_next(next_link=None): 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.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + 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.Storage/storageAccounts/{accountName}/fileServices/default/shares'} # type: ignore + @distributed_trace_async async def create( self, resource_group_name: str, account_name: str, share_name: str, file_share: "_models.FileShare", - expand: Optional[str] = "snapshots", - **kwargs + expand: Optional[str] = None, + **kwargs: Any ) -> "_models.FileShare": """Creates a new share under the specified account as described by request body. The share resource includes metadata and properties for that share. It does not include a list of the @@ -152,8 +160,8 @@ async def create( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param share_name: The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and @@ -161,12 +169,13 @@ async def create( or number. :type share_name: str :param file_share: Properties of the file share to create. - :type file_share: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare - :param expand: Optional, used to create a snapshot. + :type file_share: ~azure.mgmt.storage.v2021_08_01.models.FileShare + :param expand: Optional, used to expand the properties within share's properties. Valid values + are: snapshots. Should be passed as a string with delimiter ','. :type expand: str :keyword callable cls: A custom type or function that will be passed the direct response :return: FileShare, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileShare :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] @@ -174,41 +183,31 @@ async def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - if expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - 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(file_share, 'FileShare') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(file_share, 'FileShare') + + request = build_create_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + expand=expand, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if response.status_code == 200: deserialized = self._deserialize('FileShare', pipeline_response) @@ -220,15 +219,18 @@ async def create( return cls(pipeline_response, deserialized, {}) return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore + + @distributed_trace_async async def update( self, resource_group_name: str, account_name: str, share_name: str, file_share: "_models.FileShare", - **kwargs + **kwargs: Any ) -> "_models.FileShare": """Updates share properties as specified in request body. Properties not mentioned in the request will not be changed. Update fails if the specified share does not already exist. @@ -237,8 +239,8 @@ async def update( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param share_name: The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and @@ -246,10 +248,10 @@ async def update( or number. :type share_name: str :param file_share: Properties to update for the file share. - :type file_share: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare + :type file_share: ~azure.mgmt.storage.v2021_08_01.models.FileShare :keyword callable cls: A custom type or function that will be passed the direct response :return: FileShare, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileShare :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] @@ -257,39 +259,30 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(file_share, 'FileShare') + + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(file_share, 'FileShare') - 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FileShare', pipeline_response) @@ -297,16 +290,19 @@ async def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore + + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, share_name: str, - expand: Optional[str] = "stats", + expand: Optional[str] = None, x_ms_snapshot: Optional[str] = None, - **kwargs + **kwargs: Any ) -> "_models.FileShare": """Gets properties of a specified share. @@ -314,21 +310,22 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param share_name: The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number. :type share_name: str - :param expand: Optional, used to expand the properties within share's properties. + :param expand: Optional, used to expand the properties within share's properties. Valid values + are: stats. Should be passed as a string with delimiter ','. :type expand: str :param x_ms_snapshot: Optional, used to retrieve properties of a snapshot. :type x_ms_snapshot: str :keyword callable cls: A custom type or function that will be passed the direct response :return: FileShare, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.FileShare + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileShare :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] @@ -336,38 +333,27 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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] - if x_ms_snapshot is not None: - header_parameters['x-ms-snapshot'] = self._serialize.header("x_ms_snapshot", x_ms_snapshot, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + expand=expand, + x_ms_snapshot=x_ms_snapshot, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('FileShare', pipeline_response) @@ -375,15 +361,19 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, share_name: str, x_ms_snapshot: Optional[str] = None, - **kwargs + include: Optional[str] = None, + **kwargs: Any ) -> None: """Deletes specified share under its account. @@ -391,8 +381,8 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param share_name: The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and @@ -401,6 +391,13 @@ async def delete( :type share_name: str :param x_ms_snapshot: Optional, used to delete a snapshot. :type x_ms_snapshot: str + :param include: Optional. Valid values are: snapshots, leased-snapshots, none. The default + value is snapshots. For 'snapshots', the file share is deleted including all of its file share + snapshots. If the file share contains leased-snapshots, the deletion fails. For + 'leased-snapshots', the file share is deleted included all of its file share snapshots + (leased/unleased). For 'none', the file share is deleted if it has no share snapshots. If the + file share contains any snapshots (leased or unleased), the deletion fails. + :type include: 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 @@ -411,49 +408,42 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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 x_ms_snapshot is not None: - header_parameters['x-ms-snapshot'] = self._serialize.header("x_ms_snapshot", x_ms_snapshot, 'str') - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + x_ms_snapshot=x_ms_snapshot, + include=include, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_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.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore + + @distributed_trace_async async def restore( self, resource_group_name: str, account_name: str, share_name: str, deleted_share: "_models.DeletedShare", - **kwargs + **kwargs: Any ) -> None: """Restore a file share within a valid retention days if share soft delete is enabled. @@ -461,8 +451,8 @@ async def restore( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param share_name: The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and @@ -470,7 +460,7 @@ async def restore( or number. :type share_name: str :param deleted_share: - :type deleted_share: ~azure.mgmt.storage.v2020_08_01_preview.models.DeletedShare + :type deleted_share: ~azure.mgmt.storage.v2021_08_01.models.DeletedShare :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 @@ -481,41 +471,114 @@ async def restore( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.restore.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'shareName': self._serialize.url("share_name", share_name, 'str', max_length=63, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(deleted_share, 'DeletedShare') - # 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') + request = build_restore_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.restore.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(deleted_share, 'DeletedShare') - 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) if cls: return cls(pipeline_response, None, {}) restore.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore'} # type: ignore + + + @distributed_trace_async + async def lease( + self, + resource_group_name: str, + account_name: str, + share_name: str, + x_ms_snapshot: Optional[str] = None, + parameters: Optional["_models.LeaseShareRequest"] = None, + **kwargs: Any + ) -> "_models.LeaseShareResponse": + """The Lease Share operation establishes and manages a lock on a share for delete operations. The + lock duration can be 15 to 60 seconds, or can be infinite. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified storage account. File share + names must be between 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter + or number. + :type share_name: str + :param x_ms_snapshot: Optional. Specify the snapshot time to lease a snapshot. + :type x_ms_snapshot: str + :param parameters: Lease Share request body. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.LeaseShareRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LeaseShareResponse, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LeaseShareResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LeaseShareResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + if parameters is not None: + _json = self._serialize.body(parameters, 'LeaseShareRequest') + else: + _json = None + + request = build_lease_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + x_ms_snapshot=x_ms_snapshot, + template_url=self.lease.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + + deserialized = self._deserialize('LeaseShareResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + + lease.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/lease'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_local_users_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_local_users_operations.py new file mode 100644 index 00000000000..fbbec3eff52 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_local_users_operations.py @@ -0,0 +1,404 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._local_users_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_keys_request, build_list_request, build_regenerate_password_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LocalUsersOperations: + """LocalUsersOperations 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.storage.v2021_08_01.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 + + @distributed_trace_async + async def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.LocalUsers": + """List the local users associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUsers, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUsers + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUsers"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUsers', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers'} # type: ignore + + + @distributed_trace_async + async def get( + self, + resource_group_name: str, + account_name: str, + username: str, + **kwargs: Any + ) -> "_models.LocalUser": + """Get the local user of the storage account by username. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUser, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUser + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUser"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUser', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}'} # type: ignore + + + @distributed_trace_async + async def create_or_update( + self, + resource_group_name: str, + account_name: str, + username: str, + properties: "_models.LocalUser", + **kwargs: Any + ) -> "_models.LocalUser": + """Create or update the properties of a local user associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: str + :param properties: The local user associated with a storage account. + :type properties: ~azure.mgmt.storage.v2021_08_01.models.LocalUser + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUser, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUser + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUser"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(properties, 'LocalUser') + + request = build_create_or_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUser', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}'} # type: ignore + + + @distributed_trace_async + async def delete( + self, + resource_group_name: str, + account_name: str, + username: str, + **kwargs: Any + ) -> None: + """Deletes the local user associated with the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: 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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_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.Storage/storageAccounts/{accountName}/localUsers/{username}'} # type: ignore + + + @distributed_trace_async + async def list_keys( + self, + resource_group_name: str, + account_name: str, + username: str, + **kwargs: Any + ) -> "_models.LocalUserKeys": + """List SSH authorized keys and shared key of the local user. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUserKeys, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUserKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUserKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_keys_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + template_url=self.list_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUserKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/listKeys'} # type: ignore + + + @distributed_trace_async + async def regenerate_password( + self, + resource_group_name: str, + account_name: str, + username: str, + **kwargs: Any + ) -> "_models.LocalUserRegeneratePasswordResult": + """Regenerate the local user SSH password. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUserRegeneratePasswordResult, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUserRegeneratePasswordResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUserRegeneratePasswordResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_regenerate_password_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + template_url=self.regenerate_password.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUserRegeneratePasswordResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + regenerate_password.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/regeneratePassword'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_management_policies_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_management_policies_operations.py similarity index 61% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_management_policies_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_management_policies_operations.py index 41fc144edfc..523ba744852 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_management_policies_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_management_policies_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._management_policies_operations import build_create_or_update_request, build_delete_request, build_get_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class ManagementPoliciesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,12 +44,13 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, management_policy_name: Union[str, "_models.ManagementPolicyName"], - **kwargs + **kwargs: Any ) -> "_models.ManagementPolicy": """Gets the managementpolicy associated with the specified storage account. @@ -53,15 +58,16 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param management_policy_name: The name of the Storage Account Management Policy. It should always be 'default'. - :type management_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyName + :type management_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyName :keyword callable cls: A custom type or function that will be passed the direct response :return: ManagementPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagementPolicy"] @@ -69,28 +75,18 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'managementPolicyName': self._serialize.url("management_policy_name", management_policy_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 = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + management_policy_name=management_policy_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -104,15 +100,18 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, account_name: str, management_policy_name: Union[str, "_models.ManagementPolicyName"], properties: "_models.ManagementPolicy", - **kwargs + **kwargs: Any ) -> "_models.ManagementPolicy": """Sets the managementpolicy to the specified storage account. @@ -120,17 +119,18 @@ async def create_or_update( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param management_policy_name: The name of the Storage Account Management Policy. It should always be 'default'. - :type management_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyName + :type management_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyName :param properties: The ManagementPolicy set to a storage account. - :type properties: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicy + :type properties: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicy :keyword callable cls: A custom type or function that will be passed the direct response :return: ManagementPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagementPolicy"] @@ -138,33 +138,23 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'managementPolicyName': self._serialize.url("management_policy_name", management_policy_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(properties, 'ManagementPolicy') + + request = build_create_or_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + management_policy_name=management_policy_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(properties, 'ManagementPolicy') - 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 @@ -178,14 +168,17 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, management_policy_name: Union[str, "_models.ManagementPolicyName"], - **kwargs + **kwargs: Any ) -> None: """Deletes the managementpolicy associated with the specified storage account. @@ -193,12 +186,13 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param management_policy_name: The name of the Storage Account Management Policy. It should always be 'default'. - :type management_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyName + :type management_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyName :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 @@ -209,26 +203,18 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'managementPolicyName': self._serialize.url("management_policy_name", management_policy_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] + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + management_policy_name=management_policy_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -240,3 +226,4 @@ async def delete( return cls(pipeline_response, None, {}) delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_object_replication_policies_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_object_replication_policies_operations.py similarity index 58% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_object_replication_policies_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_object_replication_policies_operations.py index 8ff5a29926e..2ea172cbd9d 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_object_replication_policies_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_object_replication_policies_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._object_replication_policies_operations import build_create_or_update_request, build_delete_request, build_get_request, build_list_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class ObjectReplicationPoliciesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,11 +46,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.ObjectReplicationPolicies"]: """List the object replication policies associated with the storage account. @@ -53,12 +59,14 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ObjectReplicationPolicies or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicies] + :return: An iterator like instance of either ObjectReplicationPolicies or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicies] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicies"] @@ -66,36 +74,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ObjectReplicationPolicies', pipeline_response) + deserialized = self._deserialize("ObjectReplicationPolicies", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -108,23 +113,25 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) 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.Storage/storageAccounts/{accountName}/objectReplicationPolicies'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, object_replication_policy_id: str, - **kwargs + **kwargs: Any ) -> "_models.ObjectReplicationPolicy": """Get the object replication policy of the storage account by policy ID. @@ -132,15 +139,17 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str - :param object_replication_policy_id: The ID of object replication policy or 'default' if the - policy ID is unknown. + :param object_replication_policy_id: For the destination account, provide the value 'default'. + Configure the policy on the destination account first. For the source account, provide the + value of the policy ID that is returned when you download the policy that was defined on the + destination account. The policy is downloaded as a JSON file. :type object_replication_policy_id: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ObjectReplicationPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicy"] @@ -148,34 +157,24 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_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') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + object_replication_policy_id=object_replication_policy_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ObjectReplicationPolicy', pipeline_response) @@ -184,15 +183,18 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore + + @distributed_trace_async async def create_or_update( self, resource_group_name: str, account_name: str, object_replication_policy_id: str, properties: "_models.ObjectReplicationPolicy", - **kwargs + **kwargs: Any ) -> "_models.ObjectReplicationPolicy": """Create or update the object replication policy of the storage account. @@ -200,18 +202,20 @@ async def create_or_update( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str - :param object_replication_policy_id: The ID of object replication policy or 'default' if the - policy ID is unknown. + :param object_replication_policy_id: For the destination account, provide the value 'default'. + Configure the policy on the destination account first. For the source account, provide the + value of the policy ID that is returned when you download the policy that was defined on the + destination account. The policy is downloaded as a JSON file. :type object_replication_policy_id: str :param properties: The object replication policy set to a storage account. A unique policy ID will be created if absent. - :type properties: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy + :type properties: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy :keyword callable cls: A custom type or function that will be passed the direct response :return: ObjectReplicationPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicy"] @@ -219,39 +223,29 @@ async def create_or_update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(properties, 'ObjectReplicationPolicy') - # 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') + request = build_create_or_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + object_replication_policy_id=object_replication_policy_id, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(properties, 'ObjectReplicationPolicy') - 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(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ObjectReplicationPolicy', pipeline_response) @@ -260,14 +254,17 @@ async def create_or_update( return cls(pipeline_response, deserialized, {}) return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, object_replication_policy_id: str, - **kwargs + **kwargs: Any ) -> None: """Deletes the object replication policy associated with the specified storage account. @@ -275,11 +272,13 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str - :param object_replication_policy_id: The ID of object replication policy or 'default' if the - policy ID is unknown. + :param object_replication_policy_id: For the destination account, provide the value 'default'. + Configure the policy on the destination account first. For the source account, provide the + value of the policy ID that is returned when you download the policy that was defined on the + destination account. The policy is downloaded as a JSON file. :type object_replication_policy_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) @@ -291,37 +290,28 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'objectReplicationPolicyId': self._serialize.url("object_replication_policy_id", object_replication_policy_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') - # Construct headers - header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + object_replication_policy_id=object_replication_policy_id, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_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.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_operations.py new file mode 100644 index 00000000000..a5a3d08a508 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/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. +# -------------------------------------------------------------------------- +import functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._operations import build_list_request +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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.OperationListResult"]: + """Lists all of the available Storage Rest API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("OperationListResult", 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.metadata = {'url': '/providers/Microsoft.Storage/operations'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_private_endpoint_connections_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_private_endpoint_connections_operations.py similarity index 60% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_private_endpoint_connections_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_private_endpoint_connections_operations.py index 2ea586276dd..a7c1b64f9ba 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_private_endpoint_connections_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_private_endpoint_connections_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._private_endpoint_connections_operations import build_delete_request, build_get_request, build_list_request, build_put_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class PrivateEndpointConnectionsOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,11 +46,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.PrivateEndpointConnectionListResult"]: """List all the private endpoint connections associated with the storage account. @@ -53,12 +59,14 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnectionListResult] + :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result + of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnectionListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] @@ -66,36 +74,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('PrivateEndpointConnectionListResult', pipeline_response) + deserialized = self._deserialize("PrivateEndpointConnectionListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -113,17 +118,19 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections'} # type: ignore + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, private_endpoint_connection_name: str, - **kwargs + **kwargs: Any ) -> "_models.PrivateEndpointConnection": """Gets the specified private endpoint connection associated with the storage account. @@ -131,15 +138,15 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource. :type private_endpoint_connection_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection + :rtype: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] @@ -147,34 +154,24 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - '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 = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) @@ -183,15 +180,18 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + @distributed_trace_async async def put( self, resource_group_name: str, account_name: str, private_endpoint_connection_name: str, properties: "_models.PrivateEndpointConnection", - **kwargs + **kwargs: Any ) -> "_models.PrivateEndpointConnection": """Update the state of specified private endpoint connection associated with the storage account. @@ -199,17 +199,17 @@ async def put( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource. :type private_endpoint_connection_name: str :param properties: The private endpoint connection properties. - :type properties: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection + :type properties: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateEndpointConnection, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection + :rtype: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] @@ -217,39 +217,29 @@ async def put( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.put.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - '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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(properties, 'PrivateEndpointConnection') - # 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') + request = build_put_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + private_endpoint_connection_name=private_endpoint_connection_name, + content_type=content_type, + json=_json, + template_url=self.put.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(properties, 'PrivateEndpointConnection') - 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(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) @@ -258,14 +248,17 @@ async def put( return cls(pipeline_response, deserialized, {}) return deserialized + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, private_endpoint_connection_name: str, - **kwargs + **kwargs: Any ) -> None: """Deletes the specified private endpoint connection associated with the storage account. @@ -273,8 +266,8 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param private_endpoint_connection_name: The name of the private endpoint connection associated with the Azure resource. @@ -289,37 +282,28 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - '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 = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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(_models.ErrorResponse, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_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.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_private_link_resources_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_private_link_resources_operations.py similarity index 71% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_private_link_resources_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_private_link_resources_operations.py index e81bf85a23e..9f0a1e6b062 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_private_link_resources_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_private_link_resources_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._private_link_resources_operations import build_list_by_storage_account_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class PrivateLinkResourcesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,11 +44,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def list_by_storage_account( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> "_models.PrivateLinkResourceListResult": """Gets the private link resources that need to be created for a storage account. @@ -52,12 +57,12 @@ async def list_by_storage_account( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: PrivateLinkResourceListResult, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateLinkResourceListResult + :rtype: ~azure.mgmt.storage.v2021_08_01.models.PrivateLinkResourceListResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourceListResult"] @@ -65,27 +70,17 @@ async def list_by_storage_account( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_by_storage_account.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # 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 = build_list_by_storage_account_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list_by_storage_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -99,4 +94,6 @@ async def list_by_storage_account( return cls(pipeline_response, deserialized, {}) return deserialized + list_by_storage_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_queue_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_queue_operations.py similarity index 59% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_queue_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_queue_operations.py index 9e463917abc..519df65a81c 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_queue_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_queue_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._queue_operations import build_create_request, build_delete_request, build_get_request, build_list_request, build_update_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class QueueOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,13 +46,14 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def create( self, resource_group_name: str, account_name: str, queue_name: str, queue: "_models.StorageQueue", - **kwargs + **kwargs: Any ) -> "_models.StorageQueue": """Creates a new queue with the specified queue name, under the specified account. @@ -55,8 +61,8 @@ async def create( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param queue_name: A queue name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, @@ -64,10 +70,10 @@ async def create( dash(-) characters. :type queue_name: str :param queue: Queue properties and metadata to be created with. - :type queue: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue + :type queue: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue :keyword callable cls: A custom type or function that will be passed the direct response :return: StorageQueue, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] @@ -75,39 +81,30 @@ async def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueName': self._serialize.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(queue, 'StorageQueue') - # 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') + request = build_create_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + queue_name=queue_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(queue, 'StorageQueue') - 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.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('StorageQueue', pipeline_response) @@ -115,15 +112,18 @@ async def create( return cls(pipeline_response, deserialized, {}) return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore + + @distributed_trace_async async def update( self, resource_group_name: str, account_name: str, queue_name: str, queue: "_models.StorageQueue", - **kwargs + **kwargs: Any ) -> "_models.StorageQueue": """Creates a new queue with the specified queue name, under the specified account. @@ -131,8 +131,8 @@ async def update( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param queue_name: A queue name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, @@ -140,10 +140,10 @@ async def update( dash(-) characters. :type queue_name: str :param queue: Queue properties and metadata to be created with. - :type queue: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue + :type queue: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue :keyword callable cls: A custom type or function that will be passed the direct response :return: StorageQueue, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] @@ -151,39 +151,30 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueName': self._serialize.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(queue, 'StorageQueue') - # 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') + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + queue_name=queue_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(queue, 'StorageQueue') - 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('StorageQueue', pipeline_response) @@ -191,14 +182,17 @@ async def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore + + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, queue_name: str, - **kwargs + **kwargs: Any ) -> "_models.StorageQueue": """Gets the queue with the specified queue name, under the specified account if it exists. @@ -206,8 +200,8 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param queue_name: A queue name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, @@ -216,7 +210,7 @@ async def get( :type queue_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: StorageQueue, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageQueue + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] @@ -224,34 +218,25 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueName': self._serialize.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-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 = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + queue_name=queue_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('StorageQueue', pipeline_response) @@ -259,14 +244,17 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, queue_name: str, - **kwargs + **kwargs: Any ) -> None: """Deletes the queue with the specified queue name, under the specified account if it exists. @@ -274,8 +262,8 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param queue_name: A queue name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, @@ -292,47 +280,40 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueName': self._serialize.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-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 = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + queue_name=queue_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 [204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_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.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, account_name: str, maxpagesize: Optional[str] = None, filter: Optional[str] = None, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.ListQueueResource"]: """Gets a list of all the queues under the specified storage account. @@ -340,8 +321,8 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param maxpagesize: Optional, a maximum number of queues that should be included in a list queue response. @@ -351,7 +332,8 @@ def list( :type filter: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ListQueueResource or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ListQueueResource] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.ListQueueResource] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListQueueResource"] @@ -359,40 +341,37 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - if maxpagesize is not None: - query_parameters['$maxpagesize'] = self._serialize.query("maxpagesize", maxpagesize, 'str') - if filter is not None: - query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') - - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ListQueueResource', pipeline_response) + deserialized = self._deserialize("ListQueueResource", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -406,10 +385,12 @@ async def get_next(next_link=None): 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.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_queue_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_queue_services_operations.py similarity index 59% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_queue_services_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_queue_services_operations.py index b3d54004ad2..e8e71254c38 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_queue_services_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_queue_services_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._queue_services_operations import build_get_service_properties_request, build_list_request, build_set_service_properties_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class QueueServicesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,11 +44,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> "_models.ListQueueServices": """List all queue services for the storage account. @@ -52,12 +57,12 @@ async def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ListQueueServices, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ListQueueServices + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ListQueueServices :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListQueueServices"] @@ -65,33 +70,24 @@ async def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ListQueueServices', pipeline_response) @@ -99,14 +95,17 @@ async def list( return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices'} # type: ignore + + @distributed_trace_async async def set_service_properties( self, resource_group_name: str, account_name: str, parameters: "_models.QueueServiceProperties", - **kwargs + **kwargs: Any ) -> "_models.QueueServiceProperties": """Sets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. @@ -115,15 +114,15 @@ async def set_service_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param parameters: The properties of a storage account’s Queue service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.QueueServiceProperties :keyword callable cls: A custom type or function that will be passed the direct response :return: QueueServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties + :rtype: ~azure.mgmt.storage.v2021_08_01.models.QueueServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.QueueServiceProperties"] @@ -131,40 +130,29 @@ async def set_service_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - queue_service_name = "default" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueServiceName': self._serialize.url("queue_service_name", queue_service_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'QueueServiceProperties') - # 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') + request = build_set_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'QueueServiceProperties') - 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.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('QueueServiceProperties', pipeline_response) @@ -172,13 +160,16 @@ async def set_service_properties( return cls(pipeline_response, deserialized, {}) return deserialized + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}'} # type: ignore + + @distributed_trace_async async def get_service_properties( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> "_models.QueueServiceProperties": """Gets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. @@ -187,12 +178,12 @@ async def get_service_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: QueueServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties + :rtype: ~azure.mgmt.storage.v2021_08_01.models.QueueServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.QueueServiceProperties"] @@ -200,35 +191,24 @@ async def get_service_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - queue_service_name = "default" - accept = "application/json" - - # Construct URL - url = self.get_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'queueServiceName': self._serialize.url("queue_service_name", queue_service_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 = build_get_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.get_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('QueueServiceProperties', pipeline_response) @@ -236,4 +216,6 @@ async def get_service_properties( return cls(pipeline_response, deserialized, {}) return deserialized + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_skus_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_skus_operations.py new file mode 100644 index 00000000000..7f43ce87fd7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_skus_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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._skus_operations import build_list_request +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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> AsyncIterable["_models.StorageSkuListResult"]: + """Lists the available SKUs supported by Microsoft.Storage for given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StorageSkuListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.StorageSkuListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageSkuListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("StorageSkuListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_storage_accounts_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_storage_accounts_operations.py similarity index 60% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_storage_accounts_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_storage_accounts_operations.py index 61dfb7391ca..aab0bf562ff 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_storage_accounts_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_storage_accounts_operations.py @@ -5,19 +5,24 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._storage_accounts_operations import build_abort_hierarchical_namespace_migration_request_initial, build_check_name_availability_request, build_create_request_initial, build_delete_request, build_failover_request_initial, build_get_properties_request, build_hierarchical_namespace_migration_request_initial, build_list_account_sas_request, build_list_by_resource_group_request, build_list_keys_request, build_list_request, build_list_service_sas_request, build_regenerate_key_request, build_restore_blob_ranges_request_initial, build_revoke_user_delegation_keys_request, build_update_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -28,7 +33,7 @@ class StorageAccountsOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -43,20 +48,22 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def check_name_availability( self, account_name: "_models.StorageAccountCheckNameAvailabilityParameters", - **kwargs + **kwargs: Any ) -> "_models.CheckNameAvailabilityResult": """Checks that the storage account name is valid and is not already in use. :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountCheckNameAvailabilityParameters + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountCheckNameAvailabilityParameters :keyword callable cls: A custom type or function that will be passed the direct response :return: CheckNameAvailabilityResult, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.CheckNameAvailabilityResult + :rtype: ~azure.mgmt.storage.v2021_08_01.models.CheckNameAvailabilityResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.CheckNameAvailabilityResult"] @@ -64,30 +71,20 @@ async def check_name_availability( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.check_name_availability.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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(account_name, 'StorageAccountCheckNameAvailabilityParameters') + + request = build_check_name_availability_request( + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.check_name_availability.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(account_name, 'StorageAccountCheckNameAvailabilityParameters') - 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 @@ -101,46 +98,38 @@ async def check_name_availability( return cls(pipeline_response, deserialized, {}) return deserialized + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability'} # type: ignore + async def _create_initial( self, resource_group_name: str, account_name: str, parameters: "_models.StorageAccountCreateParameters", - **kwargs + **kwargs: Any ) -> Optional["_models.StorageAccount"]: cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.StorageAccount"]] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'StorageAccountCreateParameters') + + request = build_create_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'StorageAccountCreateParameters') - 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 @@ -156,14 +145,17 @@ async def _create_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + + @distributed_trace_async async def begin_create( self, resource_group_name: str, account_name: str, parameters: "_models.StorageAccountCreateParameters", - **kwargs + **kwargs: Any ) -> AsyncLROPoller["_models.StorageAccount"]: """Asynchronously creates a new storage account with the specified parameters. If an account is already created and a subsequent create request is issued with different properties, the @@ -174,22 +166,27 @@ async def begin_create( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param parameters: The parameters to provide for the created account. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountCreateParameters + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.StorageAccountCreateParameters :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 + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 StorageAccount or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount] - :raises ~azure.core.exceptions.HttpResponseError: + :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 StorageAccount or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.storage.v2021_08_01.models.StorageAccount] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] lro_delay = kwargs.pop( 'polling_interval', @@ -201,27 +198,21 @@ async def begin_create( resource_group_name=resource_group_name, account_name=account_name, parameters=parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('StorageAccount', 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -233,13 +224,15 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> None: """Deletes a storage account in Microsoft Azure. @@ -247,8 +240,8 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_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) @@ -260,25 +253,17 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -291,12 +276,14 @@ async def delete( delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + + @distributed_trace_async async def get_properties( self, resource_group_name: str, account_name: str, expand: Optional[Union[str, "_models.StorageAccountExpand"]] = None, - **kwargs + **kwargs: Any ) -> "_models.StorageAccount": """Returns the properties for the specified storage account including but not limited to name, SKU name, location, and account status. The ListKeys operation should be used to retrieve storage @@ -306,16 +293,16 @@ async def get_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param expand: May be used to expand the properties within account's properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats and blobRestoreStatus. - :type expand: str or ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountExpand + :type expand: str or ~azure.mgmt.storage.v2021_08_01.models.StorageAccountExpand :keyword callable cls: A custom type or function that will be passed the direct response :return: StorageAccount, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageAccount :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] @@ -323,29 +310,18 @@ async def get_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.get_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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 = build_get_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + expand=expand, + template_url=self.get_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -359,14 +335,17 @@ async def get_properties( return cls(pipeline_response, deserialized, {}) return deserialized + get_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + + @distributed_trace_async async def update( self, resource_group_name: str, account_name: str, parameters: "_models.StorageAccountUpdateParameters", - **kwargs + **kwargs: Any ) -> "_models.StorageAccount": """The update operation can be used to update the SKU, encryption, access tier, or tags for a storage account. It can also be used to map the account to a custom domain. Only one custom @@ -381,14 +360,14 @@ async def update( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param parameters: The parameters to provide for the updated account. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountUpdateParameters + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.StorageAccountUpdateParameters :keyword callable cls: A custom type or function that will be passed the direct response :return: StorageAccount, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageAccount :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] @@ -396,32 +375,22 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'StorageAccountUpdateParameters') - # 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') + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'StorageAccountUpdateParameters') - 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 @@ -435,18 +404,23 @@ async def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + + @distributed_trace def list( self, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.StorageAccountListResult"]: """Lists all the storage accounts available under the subscription. Note that storage keys are not returned; use the ListKeys operation for this. :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either StorageAccountListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountListResult] + :return: An iterator like instance of either StorageAccountListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.StorageAccountListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListResult"] @@ -454,34 +428,29 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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), - } - url = self._client.format_url(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) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('StorageAccountListResult', pipeline_response) + deserialized = self._deserialize("StorageAccountListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -499,15 +468,17 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts'} # type: ignore + @distributed_trace def list_by_resource_group( self, resource_group_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.StorageAccountListResult"]: """Lists all the storage accounts available under the given resource group. Note that storage keys are not returned; use the ListKeys operation for this. @@ -516,8 +487,10 @@ def list_by_resource_group( 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 StorageAccountListResult or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountListResult] + :return: An iterator like instance of either StorageAccountListResult or the result of + cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.StorageAccountListResult] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListResult"] @@ -525,35 +498,31 @@ def list_by_resource_group( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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) + + request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('StorageAccountListResult', pipeline_response) + deserialized = self._deserialize("StorageAccountListResult", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -571,17 +540,19 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged( get_next, extract_data ) list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts'} # type: ignore + @distributed_trace_async async def list_keys( self, resource_group_name: str, account_name: str, expand: Optional[str] = "kerb", - **kwargs + **kwargs: Any ) -> "_models.StorageAccountListKeysResult": """Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account. @@ -590,14 +561,15 @@ async def list_keys( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str - :param expand: Specifies type of the key to be listed. Possible value is kerb. + :param expand: Specifies type of the key to be listed. Possible value is kerb. The default + value is "kerb". :type expand: str :keyword callable cls: A custom type or function that will be passed the direct response :return: StorageAccountListKeysResult, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountListKeysResult + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageAccountListKeysResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListKeysResult"] @@ -605,29 +577,18 @@ async def list_keys( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.list_keys.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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 = build_list_keys_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + expand=expand, + template_url=self.list_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -641,14 +602,17 @@ async def list_keys( return cls(pipeline_response, deserialized, {}) return deserialized + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys'} # type: ignore + + @distributed_trace_async async def regenerate_key( self, resource_group_name: str, account_name: str, regenerate_key: "_models.StorageAccountRegenerateKeyParameters", - **kwargs + **kwargs: Any ) -> "_models.StorageAccountListKeysResult": """Regenerates one of the access keys or Kerberos keys for the specified storage account. @@ -656,15 +620,16 @@ async def regenerate_key( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param regenerate_key: Specifies name of the key which should be regenerated -- key1, key2, kerb1, kerb2. - :type regenerate_key: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountRegenerateKeyParameters + :type regenerate_key: + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountRegenerateKeyParameters :keyword callable cls: A custom type or function that will be passed the direct response :return: StorageAccountListKeysResult, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountListKeysResult + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageAccountListKeysResult :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListKeysResult"] @@ -672,32 +637,22 @@ async def regenerate_key( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.regenerate_key.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(regenerate_key, 'StorageAccountRegenerateKeyParameters') + + request = build_regenerate_key_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.regenerate_key.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(regenerate_key, 'StorageAccountRegenerateKeyParameters') - 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 @@ -711,14 +666,17 @@ async def regenerate_key( return cls(pipeline_response, deserialized, {}) return deserialized + regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey'} # type: ignore + + @distributed_trace_async async def list_account_sas( self, resource_group_name: str, account_name: str, parameters: "_models.AccountSasParameters", - **kwargs + **kwargs: Any ) -> "_models.ListAccountSasResponse": """List SAS credentials of a storage account. @@ -726,14 +684,14 @@ async def list_account_sas( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param parameters: The parameters to provide to list SAS credentials for the storage account. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.AccountSasParameters + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.AccountSasParameters :keyword callable cls: A custom type or function that will be passed the direct response :return: ListAccountSasResponse, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ListAccountSasResponse + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ListAccountSasResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListAccountSasResponse"] @@ -741,32 +699,22 @@ async def list_account_sas( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.list_account_sas.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'AccountSasParameters') + + request = build_list_account_sas_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.list_account_sas.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'AccountSasParameters') - 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 @@ -780,14 +728,17 @@ async def list_account_sas( return cls(pipeline_response, deserialized, {}) return deserialized + list_account_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas'} # type: ignore + + @distributed_trace_async async def list_service_sas( self, resource_group_name: str, account_name: str, parameters: "_models.ServiceSasParameters", - **kwargs + **kwargs: Any ) -> "_models.ListServiceSasResponse": """List service SAS credentials of a specific resource. @@ -795,14 +746,14 @@ async def list_service_sas( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param parameters: The parameters to provide to list service SAS credentials. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.ServiceSasParameters + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.ServiceSasParameters :keyword callable cls: A custom type or function that will be passed the direct response :return: ListServiceSasResponse, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ListServiceSasResponse + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ListServiceSasResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListServiceSasResponse"] @@ -810,32 +761,22 @@ async def list_service_sas( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.list_service_sas.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ServiceSasParameters') - # 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') + request = build_list_service_sas_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.list_service_sas.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'ServiceSasParameters') - 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 @@ -849,38 +790,32 @@ async def list_service_sas( return cls(pipeline_response, deserialized, {}) return deserialized + list_service_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas'} # type: ignore + async def _failover_initial( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> 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-08-01-preview" - - # Construct URL - url = self._failover_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - # Construct headers - header_parameters = {} # type: Dict[str, Any] + + request = build_failover_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self._failover_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -893,11 +828,13 @@ async def _failover_initial( _failover_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'} # type: ignore + + @distributed_trace_async async def begin_failover( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> AsyncLROPoller[None]: """Failover request can be triggered for a storage account in case of availability issues. The failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS @@ -907,20 +844,22 @@ async def begin_failover( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_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 + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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. + :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: + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType[None] lro_delay = kwargs.pop( 'polling_interval', @@ -934,21 +873,221 @@ async def begin_failover( cls=lambda x,y,z: x, **kwargs ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_failover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'} # type: ignore + + async def _hierarchical_namespace_migration_initial( + self, + resource_group_name: str, + account_name: str, + request_type: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_hierarchical_namespace_migration_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + request_type=request_type, + template_url=self._hierarchical_namespace_migration_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _hierarchical_namespace_migration_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration'} # type: ignore + + + @distributed_trace_async + async def begin_hierarchical_namespace_migration( + self, + resource_group_name: str, + account_name: str, + request_type: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Live Migration of storage account to enable Hns. + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param request_type: Required. Hierarchical namespace migration type can either be a + hierarchical namespace validation request 'HnsOnValidationRequest' or a hydration request + 'HnsOnHydrationRequest'. The validation request will validate the migration whereas the + hydration request will migrate the account. + :type request_type: 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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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._hierarchical_namespace_migration_initial( + resource_group_name=resource_group_name, + account_name=account_name, + request_type=request_type, + 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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_hierarchical_namespace_migration.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration'} # type: ignore + + async def _abort_hierarchical_namespace_migration_initial( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_abort_hierarchical_namespace_migration_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self._abort_hierarchical_namespace_migration_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **kwargs) + 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, {}) + + _abort_hierarchical_namespace_migration_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration'} # type: ignore + + + @distributed_trace_async + async def begin_abort_hierarchical_namespace_migration( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> AsyncLROPoller[None]: + """Abort live Migration of storage account to enable Hns. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :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: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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, azure.core.polling.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._abort_hierarchical_namespace_migration_initial( + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -960,46 +1099,37 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_failover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'} # type: ignore + + begin_abort_hierarchical_namespace_migration.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration'} # type: ignore async def _restore_blob_ranges_initial( self, resource_group_name: str, account_name: str, parameters: "_models.BlobRestoreParameters", - **kwargs + **kwargs: Any ) -> "_models.BlobRestoreStatus": cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobRestoreStatus"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self._restore_blob_ranges_initial.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[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') + _json = self._serialize.body(parameters, 'BlobRestoreParameters') + + request = build_restore_blob_ranges_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self._restore_blob_ranges_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'BlobRestoreParameters') - 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 @@ -1017,14 +1147,17 @@ async def _restore_blob_ranges_initial( return cls(pipeline_response, deserialized, {}) return deserialized + _restore_blob_ranges_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges'} # type: ignore + + @distributed_trace_async async def begin_restore_blob_ranges( self, resource_group_name: str, account_name: str, parameters: "_models.BlobRestoreParameters", - **kwargs + **kwargs: Any ) -> AsyncLROPoller["_models.BlobRestoreStatus"]: """Restore blobs in the specified blob ranges. @@ -1032,22 +1165,27 @@ async def begin_restore_blob_ranges( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param parameters: The parameters to provide for restore blob ranges. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreParameters + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.BlobRestoreParameters :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 + :keyword polling: By default, your polling method will be AsyncARMPolling. Pass in False for + this operation to not poll, or pass in 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 BlobRestoreStatus or the result of cls(response) - :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreStatus] - :raises ~azure.core.exceptions.HttpResponseError: + :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 BlobRestoreStatus or the result of + cls(response) + :rtype: + ~azure.core.polling.AsyncLROPoller[~azure.mgmt.storage.v2021_08_01.models.BlobRestoreStatus] + :raises: ~azure.core.exceptions.HttpResponseError """ - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.AsyncPollingMethod] cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobRestoreStatus"] lro_delay = kwargs.pop( 'polling_interval', @@ -1059,27 +1197,21 @@ async def begin_restore_blob_ranges( resource_group_name=resource_group_name, account_name=account_name, parameters=parameters, + content_type=content_type, cls=lambda x,y,z: x, **kwargs ) - kwargs.pop('error_map', None) - kwargs.pop('content_type', None) def get_long_running_output(pipeline_response): + response = pipeline_response.http_response deserialized = self._deserialize('BlobRestoreStatus', 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, path_format_arguments=path_format_arguments, **kwargs) + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **kwargs) elif polling is False: polling_method = AsyncNoPolling() else: polling_method = polling if cont_token: @@ -1091,13 +1223,15 @@ def get_long_running_output(pipeline_response): ) else: return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_restore_blob_ranges.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges'} # type: ignore + @distributed_trace_async async def revoke_user_delegation_keys( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> None: """Revoke user delegation keys. @@ -1105,8 +1239,8 @@ async def revoke_user_delegation_keys( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_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) @@ -1118,25 +1252,17 @@ async def revoke_user_delegation_keys( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - - # Construct URL - url = self.revoke_user_delegation_keys.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') - - # Construct headers - header_parameters = {} # type: Dict[str, Any] + + request = build_revoke_user_delegation_keys_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.revoke_user_delegation_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 @@ -1148,3 +1274,4 @@ async def revoke_user_delegation_keys( return cls(pipeline_response, None, {}) revoke_user_delegation_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_table_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_table_operations.py similarity index 60% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_table_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_table_operations.py index a04c2aa4465..e36bf8437ad 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_table_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_table_operations.py @@ -5,17 +5,22 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._table_operations import build_create_request, build_delete_request, build_get_request, build_list_request, build_update_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -26,7 +31,7 @@ class TableOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -41,12 +46,13 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def create( self, resource_group_name: str, account_name: str, table_name: str, - **kwargs + **kwargs: Any ) -> "_models.Table": """Creates a new table with the specified table name, under the specified account. @@ -54,8 +60,8 @@ async def create( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param table_name: A table name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin @@ -63,7 +69,7 @@ async def create( :type table_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Table, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.Table + :rtype: ~azure.mgmt.storage.v2021_08_01.models.Table :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] @@ -71,34 +77,25 @@ async def create( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.create.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableName': self._serialize.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), - } - url = self._client.format_url(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 = build_create_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + table_name=table_name, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Table', pipeline_response) @@ -106,14 +103,17 @@ async def create( return cls(pipeline_response, deserialized, {}) return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + + @distributed_trace_async async def update( self, resource_group_name: str, account_name: str, table_name: str, - **kwargs + **kwargs: Any ) -> "_models.Table": """Creates a new table with the specified table name, under the specified account. @@ -121,8 +121,8 @@ async def update( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param table_name: A table name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin @@ -130,7 +130,7 @@ async def update( :type table_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Table, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.Table + :rtype: ~azure.mgmt.storage.v2021_08_01.models.Table :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] @@ -138,34 +138,25 @@ async def update( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableName': self._serialize.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), - } - url = self._client.format_url(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 = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + table_name=table_name, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Table', pipeline_response) @@ -173,14 +164,17 @@ async def update( return cls(pipeline_response, deserialized, {}) return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + + @distributed_trace_async async def get( self, resource_group_name: str, account_name: str, table_name: str, - **kwargs + **kwargs: Any ) -> "_models.Table": """Gets the table with the specified table name, under the specified account if it exists. @@ -188,8 +182,8 @@ async def get( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param table_name: A table name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin @@ -197,7 +191,7 @@ async def get( :type table_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: Table, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.Table + :rtype: ~azure.mgmt.storage.v2021_08_01.models.Table :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] @@ -205,34 +199,25 @@ async def get( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - 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', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableName': self._serialize.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), - } - url = self._client.format_url(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 = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + table_name=table_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('Table', pipeline_response) @@ -240,14 +225,17 @@ async def get( return cls(pipeline_response, deserialized, {}) return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + + @distributed_trace_async async def delete( self, resource_group_name: str, account_name: str, table_name: str, - **kwargs + **kwargs: Any ) -> None: """Deletes the table with the specified table name, under the specified account if it exists. @@ -255,8 +243,8 @@ async def delete( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param table_name: A table name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin @@ -272,45 +260,38 @@ async def delete( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.delete.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableName': self._serialize.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), - } - url = self._client.format_url(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 = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + table_name=table_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - 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 [204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_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.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + + @distributed_trace def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> AsyncIterable["_models.ListTableResource"]: """Gets a list of all the tables under the specified storage account. @@ -318,12 +299,13 @@ def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: An iterator like instance of either ListTableResource or the result of cls(response) - :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ListTableResource] + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.ListTableResource] :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListTableResource"] @@ -331,36 +313,33 @@ def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-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 = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # 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) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + else: - url = next_link - query_parameters = {} # type: Dict[str, Any] - request = self._client.get(url, query_parameters, header_parameters) + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize('ListTableResource', pipeline_response) + deserialized = self._deserialize("ListTableResource", pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) @@ -374,10 +353,12 @@ async def get_next(next_link=None): 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.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response + return AsyncItemPaged( get_next, extract_data ) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_table_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_table_services_operations.py similarity index 59% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_table_services_operations.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_table_services_operations.py index a16a6bf4f02..df88ae9c90b 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/_table_services_operations.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_table_services_operations.py @@ -5,16 +5,20 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import functools 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.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator_async import distributed_trace_async from azure.mgmt.core.exceptions import ARMErrorFormat from ... import models as _models - +from ..._vendor import _convert_request +from ...operations._table_services_operations import build_get_service_properties_request, build_list_request, build_set_service_properties_request T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] @@ -25,7 +29,7 @@ class TableServicesOperations: 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.storage.v2020_08_01_preview.models + :type models: ~azure.mgmt.storage.v2021_08_01.models :param client: Client for service requests. :param config: Configuration of service client. :param serializer: An object model serializer. @@ -40,11 +44,12 @@ def __init__(self, client, config, serializer, deserializer) -> None: self._deserialize = deserializer self._config = config + @distributed_trace_async async def list( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> "_models.ListTableServices": """List all table services for the storage account. @@ -52,12 +57,12 @@ async def list( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ListTableServices, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.ListTableServices + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ListTableServices :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.ListTableServices"] @@ -65,33 +70,24 @@ async def list( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - accept = "application/json" - - # Construct URL - url = self.list.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - } - url = self._client.format_url(url, **path_format_arguments) - # Construct parameters - query_parameters = {} # type: Dict[str, Any] - query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ListTableServices', pipeline_response) @@ -99,14 +95,17 @@ async def list( return cls(pipeline_response, deserialized, {}) return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices'} # type: ignore + + @distributed_trace_async async def set_service_properties( self, resource_group_name: str, account_name: str, parameters: "_models.TableServiceProperties", - **kwargs + **kwargs: Any ) -> "_models.TableServiceProperties": """Sets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. @@ -115,15 +114,15 @@ async def set_service_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :param parameters: The properties of a storage account’s Table service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified. - :type parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.TableServiceProperties :keyword callable cls: A custom type or function that will be passed the direct response :return: TableServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties + :rtype: ~azure.mgmt.storage.v2021_08_01.models.TableServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.TableServiceProperties"] @@ -131,40 +130,29 @@ async def set_service_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - table_service_name = "default" - content_type = kwargs.pop("content_type", "application/json") - accept = "application/json" - - # Construct URL - url = self.set_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableServiceName': self._serialize.url("table_service_name", table_service_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') + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'TableServiceProperties') - # 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') + request = build_set_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(parameters, 'TableServiceProperties') - 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.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('TableServiceProperties', pipeline_response) @@ -172,13 +160,16 @@ async def set_service_properties( return cls(pipeline_response, deserialized, {}) return deserialized + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}'} # type: ignore + + @distributed_trace_async async def get_service_properties( self, resource_group_name: str, account_name: str, - **kwargs + **kwargs: Any ) -> "_models.TableServiceProperties": """Gets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. @@ -187,12 +178,12 @@ async def get_service_properties( name is case insensitive. :type resource_group_name: str :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. :type account_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: TableServiceProperties, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties + :rtype: ~azure.mgmt.storage.v2021_08_01.models.TableServiceProperties :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["_models.TableServiceProperties"] @@ -200,35 +191,24 @@ async def get_service_properties( 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - table_service_name = "default" - accept = "application/json" - - # Construct URL - url = self.get_service_properties.metadata['url'] # type: ignore - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), - 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'tableServiceName': self._serialize.url("table_service_name", table_service_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 = build_get_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.get_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) - # 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('TableServiceProperties', pipeline_response) @@ -236,4 +216,6 @@ async def get_service_properties( return cls(pipeline_response, deserialized, {}) return deserialized + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_usages_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_usages_operations.py new file mode 100644 index 00000000000..3c7ee089fbf --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/aio/operations/_usages_operations.py @@ -0,0 +1,117 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._usages_operations import build_list_by_location_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class UsagesOperations: + """UsagesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list_by_location( + self, + location: str, + **kwargs: Any + ) -> AsyncIterable["_models.UsageListResult"]: + """Gets the current usage count and the limit for the resources of the location under the + subscription. + + :param location: The location of the Azure Storage resource. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UsageListResult or the result of cls(response) + :rtype: + ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storage.v2021_08_01.models.UsageListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsageListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list_by_location.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize("UsageListResult", 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_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/__init__.py new file mode 100644 index 00000000000..d3d4885dbbd --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/__init__.py @@ -0,0 +1,433 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._models_py3 import AccessPolicy +from ._models_py3 import AccountImmutabilityPolicyProperties +from ._models_py3 import AccountSasParameters +from ._models_py3 import ActiveDirectoryProperties +from ._models_py3 import AzureEntityResource +from ._models_py3 import AzureFilesIdentityBasedAuthentication +from ._models_py3 import BlobContainer +from ._models_py3 import BlobInventoryPolicy +from ._models_py3 import BlobInventoryPolicyDefinition +from ._models_py3 import BlobInventoryPolicyFilter +from ._models_py3 import BlobInventoryPolicyRule +from ._models_py3 import BlobInventoryPolicySchema +from ._models_py3 import BlobRestoreParameters +from ._models_py3 import BlobRestoreRange +from ._models_py3 import BlobRestoreStatus +from ._models_py3 import BlobServiceItems +from ._models_py3 import BlobServiceProperties +from ._models_py3 import ChangeFeed +from ._models_py3 import CheckNameAvailabilityResult +from ._models_py3 import CloudErrorAutoGenerated +from ._models_py3 import CloudErrorBody +from ._models_py3 import CloudErrorBodyAutoGenerated +from ._models_py3 import CorsRule +from ._models_py3 import CorsRules +from ._models_py3 import CustomDomain +from ._models_py3 import DateAfterCreation +from ._models_py3 import DateAfterModification +from ._models_py3 import DeleteRetentionPolicy +from ._models_py3 import DeletedAccount +from ._models_py3 import DeletedAccountListResult +from ._models_py3 import DeletedShare +from ._models_py3 import Dimension +from ._models_py3 import Encryption +from ._models_py3 import EncryptionIdentity +from ._models_py3 import EncryptionScope +from ._models_py3 import EncryptionScopeKeyVaultProperties +from ._models_py3 import EncryptionScopeListResult +from ._models_py3 import EncryptionService +from ._models_py3 import EncryptionServices +from ._models_py3 import Endpoints +from ._models_py3 import ErrorResponse +from ._models_py3 import ErrorResponseBody +from ._models_py3 import ExtendedLocation +from ._models_py3 import FileServiceItems +from ._models_py3 import FileServiceProperties +from ._models_py3 import FileShare +from ._models_py3 import FileShareItem +from ._models_py3 import FileShareItems +from ._models_py3 import GeoReplicationStats +from ._models_py3 import IPRule +from ._models_py3 import Identity +from ._models_py3 import ImmutabilityPolicy +from ._models_py3 import ImmutabilityPolicyProperties +from ._models_py3 import ImmutableStorageAccount +from ._models_py3 import ImmutableStorageWithVersioning +from ._models_py3 import KeyCreationTime +from ._models_py3 import KeyPolicy +from ._models_py3 import KeyVaultProperties +from ._models_py3 import LastAccessTimeTrackingPolicy +from ._models_py3 import LeaseContainerRequest +from ._models_py3 import LeaseContainerResponse +from ._models_py3 import LeaseShareRequest +from ._models_py3 import LeaseShareResponse +from ._models_py3 import LegalHold +from ._models_py3 import LegalHoldProperties +from ._models_py3 import ListAccountSasResponse +from ._models_py3 import ListBlobInventoryPolicy +from ._models_py3 import ListContainerItem +from ._models_py3 import ListContainerItems +from ._models_py3 import ListQueue +from ._models_py3 import ListQueueResource +from ._models_py3 import ListQueueServices +from ._models_py3 import ListServiceSasResponse +from ._models_py3 import ListTableResource +from ._models_py3 import ListTableServices +from ._models_py3 import LocalUser +from ._models_py3 import LocalUserKeys +from ._models_py3 import LocalUserRegeneratePasswordResult +from ._models_py3 import LocalUsers +from ._models_py3 import ManagementPolicy +from ._models_py3 import ManagementPolicyAction +from ._models_py3 import ManagementPolicyBaseBlob +from ._models_py3 import ManagementPolicyDefinition +from ._models_py3 import ManagementPolicyFilter +from ._models_py3 import ManagementPolicyRule +from ._models_py3 import ManagementPolicySchema +from ._models_py3 import ManagementPolicySnapShot +from ._models_py3 import ManagementPolicyVersion +from ._models_py3 import MetricSpecification +from ._models_py3 import Multichannel +from ._models_py3 import NetworkRuleSet +from ._models_py3 import ObjectReplicationPolicies +from ._models_py3 import ObjectReplicationPolicy +from ._models_py3 import ObjectReplicationPolicyFilter +from ._models_py3 import ObjectReplicationPolicyRule +from ._models_py3 import Operation +from ._models_py3 import OperationDisplay +from ._models_py3 import OperationListResult +from ._models_py3 import PermissionScope +from ._models_py3 import PrivateEndpoint +from ._models_py3 import PrivateEndpointConnection +from ._models_py3 import PrivateEndpointConnectionListResult +from ._models_py3 import PrivateLinkResource +from ._models_py3 import PrivateLinkResourceListResult +from ._models_py3 import PrivateLinkServiceConnectionState +from ._models_py3 import ProtectedAppendWritesHistory +from ._models_py3 import ProtocolSettings +from ._models_py3 import ProxyResource +from ._models_py3 import QueueServiceProperties +from ._models_py3 import Resource +from ._models_py3 import ResourceAccessRule +from ._models_py3 import RestorePolicyProperties +from ._models_py3 import Restriction +from ._models_py3 import RoutingPreference +from ._models_py3 import SKUCapability +from ._models_py3 import SasPolicy +from ._models_py3 import ServiceSasParameters +from ._models_py3 import ServiceSpecification +from ._models_py3 import SignedIdentifier +from ._models_py3 import Sku +from ._models_py3 import SkuInformation +from ._models_py3 import SmbSetting +from ._models_py3 import SshPublicKey +from ._models_py3 import StorageAccount +from ._models_py3 import StorageAccountCheckNameAvailabilityParameters +from ._models_py3 import StorageAccountCreateParameters +from ._models_py3 import StorageAccountInternetEndpoints +from ._models_py3 import StorageAccountKey +from ._models_py3 import StorageAccountListKeysResult +from ._models_py3 import StorageAccountListResult +from ._models_py3 import StorageAccountMicrosoftEndpoints +from ._models_py3 import StorageAccountRegenerateKeyParameters +from ._models_py3 import StorageAccountUpdateParameters +from ._models_py3 import StorageQueue +from ._models_py3 import StorageSkuListResult +from ._models_py3 import SystemData +from ._models_py3 import Table +from ._models_py3 import TableServiceProperties +from ._models_py3 import TagFilter +from ._models_py3 import TagProperty +from ._models_py3 import TrackedResource +from ._models_py3 import UpdateHistoryProperty +from ._models_py3 import Usage +from ._models_py3 import UsageListResult +from ._models_py3 import UsageName +from ._models_py3 import UserAssignedIdentity +from ._models_py3 import VirtualNetworkRule + + +from ._storage_management_client_enums import ( + AccessTier, + AccountImmutabilityPolicyState, + AccountStatus, + ActiveDirectoryPropertiesAccountType, + AllowedCopyScope, + BlobInventoryPolicyName, + BlobRestoreProgressStatus, + Bypass, + CorsRuleAllowedMethodsItem, + CreatedByType, + DefaultAction, + DefaultSharePermission, + DirectoryServiceOptions, + EnabledProtocols, + EncryptionScopeSource, + EncryptionScopeState, + ExpirationAction, + ExtendedLocationTypes, + Format, + GeoReplicationStatus, + HttpProtocol, + IdentityType, + ImmutabilityPolicyState, + ImmutabilityPolicyUpdateType, + InventoryRuleType, + KeyPermission, + KeySource, + KeyType, + Kind, + LargeFileSharesState, + LeaseContainerRequestAction, + LeaseDuration, + LeaseShareAction, + LeaseState, + LeaseStatus, + ListContainersInclude, + ManagementPolicyName, + MigrationState, + MinimumTlsVersion, + Name, + ObjectType, + Permissions, + PrivateEndpointConnectionProvisioningState, + PrivateEndpointServiceConnectionStatus, + ProvisioningState, + PublicAccess, + PublicNetworkAccess, + Reason, + ReasonCode, + RootSquashType, + RoutingChoice, + RuleType, + Schedule, + Services, + ShareAccessTier, + SignedResource, + SignedResourceTypes, + SkuName, + SkuTier, + State, + StorageAccountExpand, + UsageUnit, +) + +__all__ = [ + 'AccessPolicy', + 'AccountImmutabilityPolicyProperties', + 'AccountSasParameters', + 'ActiveDirectoryProperties', + 'AzureEntityResource', + 'AzureFilesIdentityBasedAuthentication', + 'BlobContainer', + 'BlobInventoryPolicy', + 'BlobInventoryPolicyDefinition', + 'BlobInventoryPolicyFilter', + 'BlobInventoryPolicyRule', + 'BlobInventoryPolicySchema', + 'BlobRestoreParameters', + 'BlobRestoreRange', + 'BlobRestoreStatus', + 'BlobServiceItems', + 'BlobServiceProperties', + 'ChangeFeed', + 'CheckNameAvailabilityResult', + 'CloudErrorAutoGenerated', + 'CloudErrorBody', + 'CloudErrorBodyAutoGenerated', + 'CorsRule', + 'CorsRules', + 'CustomDomain', + 'DateAfterCreation', + 'DateAfterModification', + 'DeleteRetentionPolicy', + 'DeletedAccount', + 'DeletedAccountListResult', + 'DeletedShare', + 'Dimension', + 'Encryption', + 'EncryptionIdentity', + 'EncryptionScope', + 'EncryptionScopeKeyVaultProperties', + 'EncryptionScopeListResult', + 'EncryptionService', + 'EncryptionServices', + 'Endpoints', + 'ErrorResponse', + 'ErrorResponseBody', + 'ExtendedLocation', + 'FileServiceItems', + 'FileServiceProperties', + 'FileShare', + 'FileShareItem', + 'FileShareItems', + 'GeoReplicationStats', + 'IPRule', + 'Identity', + 'ImmutabilityPolicy', + 'ImmutabilityPolicyProperties', + 'ImmutableStorageAccount', + 'ImmutableStorageWithVersioning', + 'KeyCreationTime', + 'KeyPolicy', + 'KeyVaultProperties', + 'LastAccessTimeTrackingPolicy', + 'LeaseContainerRequest', + 'LeaseContainerResponse', + 'LeaseShareRequest', + 'LeaseShareResponse', + 'LegalHold', + 'LegalHoldProperties', + 'ListAccountSasResponse', + 'ListBlobInventoryPolicy', + 'ListContainerItem', + 'ListContainerItems', + 'ListQueue', + 'ListQueueResource', + 'ListQueueServices', + 'ListServiceSasResponse', + 'ListTableResource', + 'ListTableServices', + 'LocalUser', + 'LocalUserKeys', + 'LocalUserRegeneratePasswordResult', + 'LocalUsers', + 'ManagementPolicy', + 'ManagementPolicyAction', + 'ManagementPolicyBaseBlob', + 'ManagementPolicyDefinition', + 'ManagementPolicyFilter', + 'ManagementPolicyRule', + 'ManagementPolicySchema', + 'ManagementPolicySnapShot', + 'ManagementPolicyVersion', + 'MetricSpecification', + 'Multichannel', + 'NetworkRuleSet', + 'ObjectReplicationPolicies', + 'ObjectReplicationPolicy', + 'ObjectReplicationPolicyFilter', + 'ObjectReplicationPolicyRule', + 'Operation', + 'OperationDisplay', + 'OperationListResult', + 'PermissionScope', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateEndpointConnectionListResult', + 'PrivateLinkResource', + 'PrivateLinkResourceListResult', + 'PrivateLinkServiceConnectionState', + 'ProtectedAppendWritesHistory', + 'ProtocolSettings', + 'ProxyResource', + 'QueueServiceProperties', + 'Resource', + 'ResourceAccessRule', + 'RestorePolicyProperties', + 'Restriction', + 'RoutingPreference', + 'SKUCapability', + 'SasPolicy', + 'ServiceSasParameters', + 'ServiceSpecification', + 'SignedIdentifier', + 'Sku', + 'SkuInformation', + 'SmbSetting', + 'SshPublicKey', + 'StorageAccount', + 'StorageAccountCheckNameAvailabilityParameters', + 'StorageAccountCreateParameters', + 'StorageAccountInternetEndpoints', + 'StorageAccountKey', + 'StorageAccountListKeysResult', + 'StorageAccountListResult', + 'StorageAccountMicrosoftEndpoints', + 'StorageAccountRegenerateKeyParameters', + 'StorageAccountUpdateParameters', + 'StorageQueue', + 'StorageSkuListResult', + 'SystemData', + 'Table', + 'TableServiceProperties', + 'TagFilter', + 'TagProperty', + 'TrackedResource', + 'UpdateHistoryProperty', + 'Usage', + 'UsageListResult', + 'UsageName', + 'UserAssignedIdentity', + 'VirtualNetworkRule', + 'AccessTier', + 'AccountImmutabilityPolicyState', + 'AccountStatus', + 'ActiveDirectoryPropertiesAccountType', + 'AllowedCopyScope', + 'BlobInventoryPolicyName', + 'BlobRestoreProgressStatus', + 'Bypass', + 'CorsRuleAllowedMethodsItem', + 'CreatedByType', + 'DefaultAction', + 'DefaultSharePermission', + 'DirectoryServiceOptions', + 'EnabledProtocols', + 'EncryptionScopeSource', + 'EncryptionScopeState', + 'ExpirationAction', + 'ExtendedLocationTypes', + 'Format', + 'GeoReplicationStatus', + 'HttpProtocol', + 'IdentityType', + 'ImmutabilityPolicyState', + 'ImmutabilityPolicyUpdateType', + 'InventoryRuleType', + 'KeyPermission', + 'KeySource', + 'KeyType', + 'Kind', + 'LargeFileSharesState', + 'LeaseContainerRequestAction', + 'LeaseDuration', + 'LeaseShareAction', + 'LeaseState', + 'LeaseStatus', + 'ListContainersInclude', + 'ManagementPolicyName', + 'MigrationState', + 'MinimumTlsVersion', + 'Name', + 'ObjectType', + 'Permissions', + 'PrivateEndpointConnectionProvisioningState', + 'PrivateEndpointServiceConnectionStatus', + 'ProvisioningState', + 'PublicAccess', + 'PublicNetworkAccess', + 'Reason', + 'ReasonCode', + 'RootSquashType', + 'RoutingChoice', + 'RuleType', + 'Schedule', + 'Services', + 'ShareAccessTier', + 'SignedResource', + 'SignedResourceTypes', + 'SkuName', + 'SkuTier', + 'State', + 'StorageAccountExpand', + 'UsageUnit', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_models.py similarity index 72% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_models.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_models.py index 70f01a02a64..1705bffa177 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_models.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_models.py @@ -10,6 +10,74 @@ import msrest.serialization +class AccessPolicy(msrest.serialization.Model): + """AccessPolicy. + + :param start_time: Start time of the access policy. + :type start_time: ~datetime.datetime + :param expiry_time: Expiry time of the access policy. + :type expiry_time: ~datetime.datetime + :param permission: List of abbreviated permissions. + :type permission: str + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'expiry_time': {'key': 'expiryTime', 'type': 'iso-8601'}, + 'permission': {'key': 'permission', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AccessPolicy, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.expiry_time = kwargs.get('expiry_time', None) + self.permission = kwargs.get('permission', None) + + +class AccountImmutabilityPolicyProperties(msrest.serialization.Model): + """This defines account-level immutability policy properties. + + :param immutability_period_since_creation_in_days: The immutability period for the blobs in the + container since the policy creation, in days. + :type immutability_period_since_creation_in_days: int + :param state: The ImmutabilityPolicy state defines the mode of the policy. Disabled state + disables the policy, Unlocked state allows increase and decrease of immutability retention time + and also allows toggling allowProtectedAppendWrites property, Locked state only allows the + increase of the immutability retention time. A policy can only be created in a Disabled or + Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state + can transition to a Locked state which cannot be reverted. Possible values include: "Unlocked", + "Locked", "Disabled". + :type state: str or ~azure.mgmt.storage.v2021_08_01.models.AccountImmutabilityPolicyState + :param allow_protected_append_writes: This property can only be changed for disabled and + unlocked time-based retention policies. When enabled, new blocks can be written to an append + blob while maintaining immutability protection and compliance. Only new blocks can be added and + any existing blocks cannot be modified or deleted. + :type allow_protected_append_writes: bool + """ + + _validation = { + 'immutability_period_since_creation_in_days': {'maximum': 146000, 'minimum': 1}, + } + + _attribute_map = { + 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'state', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'allowProtectedAppendWrites', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(AccountImmutabilityPolicyProperties, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = kwargs.get('immutability_period_since_creation_in_days', None) + self.state = kwargs.get('state', None) + self.allow_protected_append_writes = kwargs.get('allow_protected_append_writes', None) + + class AccountSasParameters(msrest.serialization.Model): """The parameters to list SAS credentials of a storage account. @@ -17,22 +85,22 @@ class AccountSasParameters(msrest.serialization.Model): :param services: Required. The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f). Possible values include: "b", "q", "t", "f". - :type services: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Services + :type services: str or ~azure.mgmt.storage.v2021_08_01.models.Services :param resource_types: Required. The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files. Possible values include: "s", "c", "o". - :type resource_types: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SignedResourceTypes + :type resource_types: str or ~azure.mgmt.storage.v2021_08_01.models.SignedResourceTypes :param permissions: Required. The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). Possible values include: "r", "d", "w", "l", "a", "c", "u", "p". - :type permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Permissions + :type permissions: str or ~azure.mgmt.storage.v2021_08_01.models.Permissions :param ip_address_or_range: An IP address or a range of IP addresses from which to accept requests. :type ip_address_or_range: str :param protocols: The protocol permitted for a request made with the account SAS. Possible values include: "https,http", "https". - :type protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.HttpProtocol + :type protocols: str or ~azure.mgmt.storage.v2021_08_01.models.HttpProtocol :param shared_access_start_time: The time at which the SAS becomes valid. :type shared_access_start_time: ~datetime.datetime :param shared_access_expiry_time: Required. The time at which the shared access signature @@ -93,6 +161,12 @@ class ActiveDirectoryProperties(msrest.serialization.Model): :type domain_sid: str :param azure_storage_sid: Required. Specifies the security identifier (SID) for Azure Storage. :type azure_storage_sid: str + :param sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage. + :type sam_account_name: str + :param account_type: Specifies the Active Directory account type for Azure Storage. Possible + values include: "User", "Computer". + :type account_type: str or + ~azure.mgmt.storage.v2021_08_01.models.ActiveDirectoryPropertiesAccountType """ _validation = { @@ -111,6 +185,8 @@ class ActiveDirectoryProperties(msrest.serialization.Model): 'domain_guid': {'key': 'domainGuid', 'type': 'str'}, 'domain_sid': {'key': 'domainSid', 'type': 'str'}, 'azure_storage_sid': {'key': 'azureStorageSid', 'type': 'str'}, + 'sam_account_name': {'key': 'samAccountName', 'type': 'str'}, + 'account_type': {'key': 'accountType', 'type': 'str'}, } def __init__( @@ -124,6 +200,8 @@ def __init__( self.domain_guid = kwargs['domain_guid'] self.domain_sid = kwargs['domain_sid'] self.azure_storage_sid = kwargs['azure_storage_sid'] + self.sam_account_name = kwargs.get('sam_account_name', None) + self.account_type = kwargs.get('account_type', None) class Resource(msrest.serialization.Model): @@ -210,16 +288,16 @@ class AzureFilesIdentityBasedAuthentication(msrest.serialization.Model): :param directory_service_options: Required. Indicates the directory service used. Possible values include: "None", "AADDS", "AD". :type directory_service_options: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.DirectoryServiceOptions + ~azure.mgmt.storage.v2021_08_01.models.DirectoryServiceOptions :param active_directory_properties: Required if choose AD. :type active_directory_properties: - ~azure.mgmt.storage.v2020_08_01_preview.models.ActiveDirectoryProperties + ~azure.mgmt.storage.v2021_08_01.models.ActiveDirectoryProperties :param default_share_permission: Default share permission for users using Kerberos authentication if RBAC role is not assigned. Possible values include: "None", "StorageFileDataSmbShareReader", "StorageFileDataSmbShareContributor", - "StorageFileDataSmbShareElevatedContributor", "StorageFileDataSmbShareOwner". + "StorageFileDataSmbShareElevatedContributor". :type default_share_permission: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.DefaultSharePermission + ~azure.mgmt.storage.v2021_08_01.models.DefaultSharePermission """ _validation = { @@ -273,25 +351,25 @@ class BlobContainer(AzureEntityResource): :type deny_encryption_scope_override: bool :param public_access: Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: "Container", "Blob", "None". - :type public_access: str or ~azure.mgmt.storage.v2020_08_01_preview.models.PublicAccess + :type public_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicAccess :ivar last_modified_time: Returns the date and time the container was last modified. :vartype last_modified_time: ~datetime.datetime :ivar lease_status: The lease status of the container. Possible values include: "Locked", "Unlocked". - :vartype lease_status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseStatus + :vartype lease_status: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseStatus :ivar lease_state: Lease state of the container. Possible values include: "Available", "Leased", "Expired", "Breaking", "Broken". - :vartype lease_state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseState + :vartype lease_state: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseState :ivar lease_duration: Specifies whether the lease on a container is of infinite or fixed duration, only when the container is leased. Possible values include: "Infinite", "Fixed". - :vartype lease_duration: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseDuration + :vartype lease_duration: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseDuration :param metadata: A name-value pair to associate with the container as metadata. :type metadata: dict[str, str] :ivar immutability_policy: The ImmutabilityPolicy property of the container. :vartype immutability_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyProperties + ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyProperties :ivar legal_hold: The LegalHold property of the container. - :vartype legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHoldProperties + :vartype legal_hold: ~azure.mgmt.storage.v2021_08_01.models.LegalHoldProperties :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with @@ -301,6 +379,15 @@ class BlobContainer(AzureEntityResource): if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has not been created for this container. :vartype has_immutability_policy: bool + :param immutable_storage_with_versioning: The object level immutability property of the + container. The property is immutable and can only be set to true at the container creation + time. Existing containers must undergo a migration process. + :type immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageWithVersioning + :param enable_nfs_v3_root_squash: Enable NFSv3 root squash on blob container. + :type enable_nfs_v3_root_squash: bool + :param enable_nfs_v3_all_squash: Enable NFSv3 all squash on blob container. + :type enable_nfs_v3_all_squash: bool """ _validation = { @@ -343,6 +430,9 @@ class BlobContainer(AzureEntityResource): 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageWithVersioning'}, + 'enable_nfs_v3_root_squash': {'key': 'properties.enableNfsV3RootSquash', 'type': 'bool'}, + 'enable_nfs_v3_all_squash': {'key': 'properties.enableNfsV3AllSquash', 'type': 'bool'}, } def __init__( @@ -366,6 +456,9 @@ def __init__( self.legal_hold = None self.has_legal_hold = None self.has_immutability_policy = None + self.immutable_storage_with_versioning = kwargs.get('immutable_storage_with_versioning', None) + self.enable_nfs_v3_root_squash = kwargs.get('enable_nfs_v3_root_squash', None) + self.enable_nfs_v3_all_squash = kwargs.get('enable_nfs_v3_all_squash', None) class BlobInventoryPolicy(Resource): @@ -382,12 +475,12 @@ class BlobInventoryPolicy(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Metadata pertaining to creation and last modification of the resource. - :vartype system_data: ~azure.mgmt.storage.v2020_08_01_preview.models.SystemData + :vartype system_data: ~azure.mgmt.storage.v2021_08_01.models.SystemData :ivar last_modified_time: Returns the last modified date and time of the blob inventory policy. :vartype last_modified_time: ~datetime.datetime :param policy: The storage account blob inventory policy object. It is composed of policy rules. - :type policy: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicySchema + :type policy: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicySchema """ _validation = { @@ -418,20 +511,48 @@ def __init__( class BlobInventoryPolicyDefinition(msrest.serialization.Model): - """An object that defines the blob inventory rule. Each definition consists of a set of filters. + """An object that defines the blob inventory rule. All required parameters must be populated in order to send to Azure. - :param filters: Required. An object that defines the filter set. - :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyFilter + :param filters: An object that defines the filter set. + :type filters: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyFilter + :param format: Required. This is a required field, it specifies the format for the inventory + files. Possible values include: "Csv", "Parquet". + :type format: str or ~azure.mgmt.storage.v2021_08_01.models.Format + :param schedule: Required. This is a required field. This field is used to schedule an + inventory formation. Possible values include: "Daily", "Weekly". + :type schedule: str or ~azure.mgmt.storage.v2021_08_01.models.Schedule + :param object_type: Required. This is a required field. This field specifies the scope of the + inventory created either at the blob or container level. Possible values include: "Blob", + "Container". + :type object_type: str or ~azure.mgmt.storage.v2021_08_01.models.ObjectType + :param schema_fields: Required. This is a required field. This field specifies the fields and + properties of the object to be included in the inventory. The Schema field value 'Name' is + always required. The valid values for this field for the 'Blob' definition.objectType include + 'Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, + AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, + Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, LastAccessTime'. The valid + values for 'Container' definition.objectType include 'Name, Last-Modified, Metadata, + LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold'. + Schema field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl' are valid only + for Hns enabled accounts.'Tags' field is only valid for non Hns accounts. + :type schema_fields: list[str] """ _validation = { - 'filters': {'required': True}, + 'format': {'required': True}, + 'schedule': {'required': True}, + 'object_type': {'required': True}, + 'schema_fields': {'required': True}, } _attribute_map = { 'filters': {'key': 'filters', 'type': 'BlobInventoryPolicyFilter'}, + 'format': {'key': 'format', 'type': 'str'}, + 'schedule': {'key': 'schedule', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'schema_fields': {'key': 'schemaFields', 'type': '[str]'}, } def __init__( @@ -439,29 +560,32 @@ def __init__( **kwargs ): super(BlobInventoryPolicyDefinition, self).__init__(**kwargs) - self.filters = kwargs['filters'] + self.filters = kwargs.get('filters', None) + self.format = kwargs['format'] + self.schedule = kwargs['schedule'] + self.object_type = kwargs['object_type'] + self.schema_fields = kwargs['schema_fields'] class BlobInventoryPolicyFilter(msrest.serialization.Model): - """An object that defines the blob inventory rule filter conditions. - - All required parameters must be populated in order to send to Azure. + """An object that defines the blob inventory rule filter conditions. For 'Blob' definition.objectType all filter properties are applicable, 'blobTypes' is required and others are optional. For 'Container' definition.objectType only prefixMatch is applicable and is optional. :param prefix_match: An array of strings for blob prefixes to be matched. :type prefix_match: list[str] - :param blob_types: Required. An array of predefined enum values. Valid values include - blockBlob, appendBlob, pageBlob. Hns accounts does not support pageBlobs. + :param blob_types: An array of predefined enum values. Valid values include blockBlob, + appendBlob, pageBlob. Hns accounts does not support pageBlobs. This field is required when + definition.objectType property is set to 'Blob'. :type blob_types: list[str] - :param include_blob_versions: Includes blob versions in blob inventory when value set to true. + :param include_blob_versions: Includes blob versions in blob inventory when value is set to + true. The definition.schemaFields values 'VersionId and IsCurrentVersion' are required if this + property is set to true, else they must be excluded. :type include_blob_versions: bool - :param include_snapshots: Includes blob snapshots in blob inventory when value set to true. + :param include_snapshots: Includes blob snapshots in blob inventory when value is set to true. + The definition.schemaFields value 'Snapshot' is required if this property is set to true, else + it must be excluded. :type include_snapshots: bool """ - _validation = { - 'blob_types': {'required': True}, - } - _attribute_map = { 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, @@ -475,7 +599,7 @@ def __init__( ): super(BlobInventoryPolicyFilter, self).__init__(**kwargs) self.prefix_match = kwargs.get('prefix_match', None) - self.blob_types = kwargs['blob_types'] + self.blob_types = kwargs.get('blob_types', None) self.include_blob_versions = kwargs.get('include_blob_versions', None) self.include_snapshots = kwargs.get('include_snapshots', None) @@ -490,19 +614,24 @@ class BlobInventoryPolicyRule(msrest.serialization.Model): :param name: Required. A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy. :type name: str + :param destination: Required. Container name where blob inventory files are stored. Must be + pre-created. + :type destination: str :param definition: Required. An object that defines the blob inventory policy rule. - :type definition: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyDefinition + :type definition: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyDefinition """ _validation = { 'enabled': {'required': True}, 'name': {'required': True}, + 'destination': {'required': True}, 'definition': {'required': True}, } _attribute_map = { 'enabled': {'key': 'enabled', 'type': 'bool'}, 'name': {'key': 'name', 'type': 'str'}, + 'destination': {'key': 'destination', 'type': 'str'}, 'definition': {'key': 'definition', 'type': 'BlobInventoryPolicyDefinition'}, } @@ -513,6 +642,7 @@ def __init__( super(BlobInventoryPolicyRule, self).__init__(**kwargs) self.enabled = kwargs['enabled'] self.name = kwargs['name'] + self.destination = kwargs['destination'] self.definition = kwargs['definition'] @@ -523,26 +653,21 @@ class BlobInventoryPolicySchema(msrest.serialization.Model): :param enabled: Required. Policy is enabled if set to true. :type enabled: bool - :param destination: Required. Container name where blob inventory files are stored. Must be - pre-created. - :type destination: str :param type: Required. The valid value is Inventory. Possible values include: "Inventory". - :type type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.InventoryRuleType + :type type: str or ~azure.mgmt.storage.v2021_08_01.models.InventoryRuleType :param rules: Required. The storage account blob inventory policy rules. The rule is applied when it is enabled. - :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyRule] + :type rules: list[~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyRule] """ _validation = { 'enabled': {'required': True}, - 'destination': {'required': True}, 'type': {'required': True}, 'rules': {'required': True}, } _attribute_map = { 'enabled': {'key': 'enabled', 'type': 'bool'}, - 'destination': {'key': 'destination', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'rules': {'key': 'rules', 'type': '[BlobInventoryPolicyRule]'}, } @@ -553,7 +678,6 @@ def __init__( ): super(BlobInventoryPolicySchema, self).__init__(**kwargs) self.enabled = kwargs['enabled'] - self.destination = kwargs['destination'] self.type = kwargs['type'] self.rules = kwargs['rules'] @@ -566,7 +690,7 @@ class BlobRestoreParameters(msrest.serialization.Model): :param time_to_restore: Required. Restore blob to the specified time. :type time_to_restore: ~datetime.datetime :param blob_ranges: Required. Blob ranges to restore. - :type blob_ranges: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreRange] + :type blob_ranges: list[~azure.mgmt.storage.v2021_08_01.models.BlobRestoreRange] """ _validation = { @@ -627,14 +751,13 @@ class BlobRestoreStatus(msrest.serialization.Model): that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed. Possible values include: "InProgress", "Complete", "Failed". - :vartype status: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreProgressStatus + :vartype status: str or ~azure.mgmt.storage.v2021_08_01.models.BlobRestoreProgressStatus :ivar failure_reason: Failure reason when blob restore is failed. :vartype failure_reason: str :ivar restore_id: Id for tracking blob restore request. :vartype restore_id: str :ivar parameters: Blob restore request parameters. - :vartype parameters: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreParameters + :vartype parameters: ~azure.mgmt.storage.v2021_08_01.models.BlobRestoreParameters """ _validation = { @@ -668,7 +791,7 @@ class BlobServiceItems(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of blob services returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobServiceProperties] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.BlobServiceProperties] """ _validation = { @@ -701,34 +824,33 @@ class BlobServiceProperties(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :ivar sku: Sku name and tier. - :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku + :vartype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku :param cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service. - :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules + :type cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules :param default_service_version: DefaultServiceVersion indicates 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: The blob service properties for blob soft delete. - :type delete_retention_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy + :type delete_retention_policy: ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy :param is_versioning_enabled: Versioning is enabled if set to true. :type is_versioning_enabled: bool :param automatic_snapshot_policy_enabled: Deprecated in favor of isVersioningEnabled property. :type automatic_snapshot_policy_enabled: bool :param change_feed: The blob service properties for change feed events. - :type change_feed: ~azure.mgmt.storage.v2020_08_01_preview.models.ChangeFeed + :type change_feed: ~azure.mgmt.storage.v2021_08_01.models.ChangeFeed :param restore_policy: The blob service properties for blob restore policy. - :type restore_policy: ~azure.mgmt.storage.v2020_08_01_preview.models.RestorePolicyProperties + :type restore_policy: ~azure.mgmt.storage.v2021_08_01.models.RestorePolicyProperties :param container_delete_retention_policy: The blob service properties for container soft delete. :type container_delete_retention_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy + ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy :param last_access_time_tracking_policy: The blob service property to configure last access time based tracking policy. :type last_access_time_tracking_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.LastAccessTimeTrackingPolicy + ~azure.mgmt.storage.v2021_08_01.models.LastAccessTimeTrackingPolicy """ _validation = { @@ -776,10 +898,19 @@ class ChangeFeed(msrest.serialization.Model): :param enabled: Indicates whether change feed event logging is enabled for the Blob service. :type enabled: bool + :param retention_in_days: Indicates the duration of changeFeed retention in days. Minimum value + is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite + retention of the change feed. + :type retention_in_days: int """ + _validation = { + 'retention_in_days': {'maximum': 146000, 'minimum': 1}, + } + _attribute_map = { 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, } def __init__( @@ -788,6 +919,7 @@ def __init__( ): super(ChangeFeed, self).__init__(**kwargs) self.enabled = kwargs.get('enabled', None) + self.retention_in_days = kwargs.get('retention_in_days', None) class CheckNameAvailabilityResult(msrest.serialization.Model): @@ -802,7 +934,7 @@ class CheckNameAvailabilityResult(msrest.serialization.Model): :ivar reason: Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false. Possible values include: "AccountNameInvalid", "AlreadyExists". - :vartype reason: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Reason + :vartype reason: str or ~azure.mgmt.storage.v2021_08_01.models.Reason :ivar message: Gets an error message explaining the Reason value in more detail. :vartype message: str """ @@ -829,6 +961,25 @@ def __init__( self.message = None +class CloudErrorAutoGenerated(msrest.serialization.Model): + """An error response from the Storage service. + + :param error: An error response from the Storage service. + :type error: ~azure.mgmt.storage.v2021_08_01.models.CloudErrorBodyAutoGenerated + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBodyAutoGenerated'}, + } + + def __init__( + self, + **kwargs + ): + super(CloudErrorAutoGenerated, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + class CloudErrorBody(msrest.serialization.Model): """An error response from the Storage service. @@ -842,7 +993,7 @@ class CloudErrorBody(msrest.serialization.Model): error. :type target: str :param details: A list of additional details about the error. - :type details: list[~azure.mgmt.storage.v2020_08_01_preview.models.CloudErrorBody] + :type details: list[~azure.mgmt.storage.v2021_08_01.models.CloudErrorBody] """ _attribute_map = { @@ -863,6 +1014,40 @@ def __init__( self.details = kwargs.get('details', None) +class CloudErrorBodyAutoGenerated(msrest.serialization.Model): + """An error response from the Storage 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.storage.v2021_08_01.models.CloudErrorBodyAutoGenerated] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBodyAutoGenerated]'}, + } + + def __init__( + self, + **kwargs + ): + super(CloudErrorBodyAutoGenerated, 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 CorsRule(msrest.serialization.Model): """Specifies a CORS rule for the Blob service. @@ -874,7 +1059,7 @@ class CorsRule(msrest.serialization.Model): :param allowed_methods: Required. Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the origin. :type allowed_methods: list[str or - ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRuleAllowedMethodsItem] + ~azure.mgmt.storage.v2021_08_01.models.CorsRuleAllowedMethodsItem] :param max_age_in_seconds: Required. Required if CorsRule element is present. The number of seconds that the client/browser should cache a preflight response. :type max_age_in_seconds: int @@ -919,7 +1104,7 @@ class CorsRules(msrest.serialization.Model): :param cors_rules: The List of CORS rules. You can include up to five CorsRule elements in the request. - :type cors_rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.CorsRule] + :type cors_rules: list[~azure.mgmt.storage.v2021_08_01.models.CorsRule] """ _attribute_map = { @@ -992,7 +1177,7 @@ def __init__( class DateAfterModification(msrest.serialization.Model): - """Object to define the number of days after last modification. + """Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. :param days_after_modification_greater_than: Value indicating the age in days after last modification. @@ -1022,7 +1207,41 @@ def __init__( self.days_after_last_access_time_greater_than = kwargs.get('days_after_last_access_time_greater_than', None) -class DeletedAccount(Resource): +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 DeletedAccount(ProxyResource): """Deleted storage account. Variables are only populated by the server, and will be ignored when sending a request. @@ -1088,7 +1307,7 @@ class DeletedAccountListResult(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: Gets the list of deleted accounts and their properties. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.DeletedAccount] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.DeletedAccount] :ivar next_link: Request URL that can be used to query next page of deleted accounts. Returned when total number of requested deleted accounts exceed maximum page size. :vartype next_link: str @@ -1202,16 +1421,18 @@ class Encryption(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param services: List of services which support encryption. - :type services: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionServices - :param key_source: Required. The encryption keySource (provider). Possible values (case- - insensitive): Microsoft.Storage, Microsoft.Keyvault. Possible values include: + :type services: ~azure.mgmt.storage.v2021_08_01.models.EncryptionServices + :param key_source: Required. The encryption keySource (provider). Possible values + (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. Possible values include: "Microsoft.Storage", "Microsoft.Keyvault". Default value: "Microsoft.Storage". - :type key_source: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeySource + :type key_source: str or ~azure.mgmt.storage.v2021_08_01.models.KeySource :param require_infrastructure_encryption: A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest. :type require_infrastructure_encryption: bool :param key_vault_properties: Properties provided by key vault. - :type key_vault_properties: ~azure.mgmt.storage.v2020_08_01_preview.models.KeyVaultProperties + :type key_vault_properties: ~azure.mgmt.storage.v2021_08_01.models.KeyVaultProperties + :param encryption_identity: The identity to be used with service-side encryption at rest. + :type encryption_identity: ~azure.mgmt.storage.v2021_08_01.models.EncryptionIdentity """ _validation = { @@ -1223,6 +1444,7 @@ class Encryption(msrest.serialization.Model): 'key_source': {'key': 'keySource', 'type': 'str'}, 'require_infrastructure_encryption': {'key': 'requireInfrastructureEncryption', 'type': 'bool'}, 'key_vault_properties': {'key': 'keyvaultproperties', 'type': 'KeyVaultProperties'}, + 'encryption_identity': {'key': 'identity', 'type': 'EncryptionIdentity'}, } def __init__( @@ -1234,6 +1456,33 @@ def __init__( self.key_source = kwargs.get('key_source', "Microsoft.Storage") self.require_infrastructure_encryption = kwargs.get('require_infrastructure_encryption', None) self.key_vault_properties = kwargs.get('key_vault_properties', None) + self.encryption_identity = kwargs.get('encryption_identity', None) + + +class EncryptionIdentity(msrest.serialization.Model): + """Encryption identity for the storage account. + + :param encryption_user_assigned_identity: Resource identifier of the UserAssigned identity to + be associated with server-side encryption on the storage account. + :type encryption_user_assigned_identity: str + :param encryption_federated_identity_client_id: ClientId of the multi-tenant application to be + used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys + server-side encryption on the storage account. + :type encryption_federated_identity_client_id: str + """ + + _attribute_map = { + 'encryption_user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'}, + 'encryption_federated_identity_client_id': {'key': 'federatedIdentityClientId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EncryptionIdentity, self).__init__(**kwargs) + self.encryption_user_assigned_identity = kwargs.get('encryption_user_assigned_identity', None) + self.encryption_federated_identity_client_id = kwargs.get('encryption_federated_identity_client_id', None) class EncryptionScope(Resource): @@ -1252,10 +1501,10 @@ class EncryptionScope(Resource): :param source: The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault. Possible values include: "Microsoft.Storage", "Microsoft.KeyVault". - :type source: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeSource + :type source: str or ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeSource :param state: The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled. Possible values include: "Enabled", "Disabled". - :type state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeState + :type state: str or ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeState :ivar creation_time: Gets the creation date and time of the encryption scope in UTC. :vartype creation_time: ~datetime.datetime :ivar last_modified_time: Gets the last modification date and time of the encryption scope in @@ -1264,7 +1513,10 @@ class EncryptionScope(Resource): :param key_vault_properties: The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. :type key_vault_properties: - ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScopeKeyVaultProperties + ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeKeyVaultProperties + :param require_infrastructure_encryption: A boolean indicating whether or not the service + applies a secondary layer of encryption with platform managed keys for data at rest. + :type require_infrastructure_encryption: bool """ _validation = { @@ -1284,6 +1536,7 @@ class EncryptionScope(Resource): 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'EncryptionScopeKeyVaultProperties'}, + 'require_infrastructure_encryption': {'key': 'properties.requireInfrastructureEncryption', 'type': 'bool'}, } def __init__( @@ -1296,19 +1549,34 @@ def __init__( self.creation_time = None self.last_modified_time = None self.key_vault_properties = kwargs.get('key_vault_properties', None) + self.require_infrastructure_encryption = kwargs.get('require_infrastructure_encryption', None) class EncryptionScopeKeyVaultProperties(msrest.serialization.Model): """The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. + Variables are only populated by the server, and will be ignored when sending a request. + :param key_uri: The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope. :type key_uri: str + :ivar current_versioned_key_identifier: The object identifier of the current versioned Key + Vault Key in use. + :vartype current_versioned_key_identifier: str + :ivar last_key_rotation_timestamp: Timestamp of last rotation of the Key Vault Key. + :vartype last_key_rotation_timestamp: ~datetime.datetime """ + _validation = { + 'current_versioned_key_identifier': {'readonly': True}, + 'last_key_rotation_timestamp': {'readonly': True}, + } + _attribute_map = { 'key_uri': {'key': 'keyUri', 'type': 'str'}, + 'current_versioned_key_identifier': {'key': 'currentVersionedKeyIdentifier', 'type': 'str'}, + 'last_key_rotation_timestamp': {'key': 'lastKeyRotationTimestamp', 'type': 'iso-8601'}, } def __init__( @@ -1317,6 +1585,8 @@ def __init__( ): super(EncryptionScopeKeyVaultProperties, self).__init__(**kwargs) self.key_uri = kwargs.get('key_uri', None) + self.current_versioned_key_identifier = None + self.last_key_rotation_timestamp = None class EncryptionScopeListResult(msrest.serialization.Model): @@ -1325,7 +1595,7 @@ class EncryptionScopeListResult(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of encryption scopes requested. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionScope] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.EncryptionScope] :ivar next_link: Request URL that can be used to query next page of encryption scopes. Returned when total number of requested encryption scopes exceeds the maximum page size. :vartype next_link: str @@ -1356,16 +1626,15 @@ class EncryptionService(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :param enabled: A boolean indicating whether or not the service encrypts the data as it is - stored. + stored. Encryption at rest is enabled by default today and cannot be disabled. :type enabled: bool :ivar last_enabled_time: Gets a rough estimate of the date/time when the encryption was last - enabled by the user. Only returned when encryption is enabled. There might be some unencrypted - blobs which were written after this time, as it is just a rough estimate. + enabled by the user. Data is encrypted at rest by default today and cannot be disabled. :vartype last_enabled_time: ~datetime.datetime :param key_type: Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used. Possible values include: "Service", "Account". - :type key_type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeyType + :type key_type: str or ~azure.mgmt.storage.v2021_08_01.models.KeyType """ _validation = { @@ -1392,13 +1661,13 @@ class EncryptionServices(msrest.serialization.Model): """A list of services that support encryption. :param blob: The encryption function of the blob storage service. - :type blob: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService + :type blob: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService :param file: The encryption function of the file storage service. - :type file: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService + :type file: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService :param table: The encryption function of the table storage service. - :type table: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService + :type table: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService :param queue: The encryption function of the queue storage service. - :type queue: ~azure.mgmt.storage.v2020_08_01_preview.models.EncryptionService + :type queue: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService """ _attribute_map = { @@ -1438,10 +1707,10 @@ class Endpoints(msrest.serialization.Model): :vartype dfs: str :param microsoft_endpoints: Gets the microsoft routing storage endpoints. :type microsoft_endpoints: - ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountMicrosoftEndpoints + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountMicrosoftEndpoints :param internet_endpoints: Gets the internet routing storage endpoints. :type internet_endpoints: - ~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountInternetEndpoints + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountInternetEndpoints """ _validation = { @@ -1483,7 +1752,7 @@ class ErrorResponse(msrest.serialization.Model): """An error response from the storage resource provider. :param error: Azure Storage Resource Provider error response body. - :type error: ~azure.mgmt.storage.v2020_08_01_preview.models.ErrorResponseBody + :type error: ~azure.mgmt.storage.v2021_08_01.models.ErrorResponseBody """ _attribute_map = { @@ -1529,7 +1798,7 @@ class ExtendedLocation(msrest.serialization.Model): :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.storage.v2020_08_01_preview.models.ExtendedLocationTypes + :type type: str or ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocationTypes """ _attribute_map = { @@ -1552,7 +1821,7 @@ class FileServiceItems(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of file services returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.FileServiceProperties] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.FileServiceProperties] """ _validation = { @@ -1585,16 +1854,16 @@ class FileServiceProperties(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :ivar sku: Sku name and tier. - :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku + :vartype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku :param cors: Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the File service. - :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules + :type cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules :param share_delete_retention_policy: The file service properties for share soft delete. :type share_delete_retention_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.DeleteRetentionPolicy + ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy :param protocol_settings: Protocol settings for file service. - :type protocol_settings: ~azure.mgmt.storage.v2020_08_01_preview.models.ProtocolSettings + :type protocol_settings: ~azure.mgmt.storage.v2021_08_01.models.ProtocolSettings """ _validation = { @@ -1649,10 +1918,10 @@ class FileShare(AzureEntityResource): :type share_quota: int :param enabled_protocols: The authentication protocol that is used for the file share. Can only be specified when creating a share. Possible values include: "SMB", "NFS". - :type enabled_protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EnabledProtocols + :type enabled_protocols: str or ~azure.mgmt.storage.v2021_08_01.models.EnabledProtocols :param root_squash: The property is for NFS share only. The default is NoRootSquash. Possible values include: "NoRootSquash", "RootSquash", "AllSquash". - :type root_squash: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RootSquashType + :type root_squash: str or ~azure.mgmt.storage.v2021_08_01.models.RootSquashType :ivar version: The version of the share. :vartype version: str :ivar deleted: Indicates whether the share was deleted. @@ -1664,7 +1933,7 @@ class FileShare(AzureEntityResource): :param access_tier: Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible values include: "TransactionOptimized", "Hot", "Cool", "Premium". - :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ShareAccessTier + :type access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.ShareAccessTier :ivar access_tier_change_time: Indicates the last modification time for share access tier. :vartype access_tier_change_time: ~datetime.datetime :ivar access_tier_status: Indicates if there is a pending transition for access tier. @@ -1672,6 +1941,17 @@ class FileShare(AzureEntityResource): :ivar share_usage_bytes: The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. :vartype share_usage_bytes: long + :ivar lease_status: The lease status of the share. Possible values include: "Locked", + "Unlocked". + :vartype lease_status: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseStatus + :ivar lease_state: Lease state of the share. Possible values include: "Available", "Leased", + "Expired", "Breaking", "Broken". + :vartype lease_state: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a share is of infinite or fixed duration, + only when the share is leased. Possible values include: "Infinite", "Fixed". + :vartype lease_duration: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseDuration + :param signed_identifiers: List of stored access policies specified on the share. + :type signed_identifiers: list[~azure.mgmt.storage.v2021_08_01.models.SignedIdentifier] :ivar snapshot_time: Creation time of share snapshot returned in the response of list shares with expand param "snapshots". :vartype snapshot_time: ~datetime.datetime @@ -1691,6 +1971,9 @@ class FileShare(AzureEntityResource): 'access_tier_change_time': {'readonly': True}, 'access_tier_status': {'readonly': True}, 'share_usage_bytes': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, 'snapshot_time': {'readonly': True}, } @@ -1712,6 +1995,10 @@ class FileShare(AzureEntityResource): 'access_tier_change_time': {'key': 'properties.accessTierChangeTime', 'type': 'iso-8601'}, 'access_tier_status': {'key': 'properties.accessTierStatus', 'type': 'str'}, 'share_usage_bytes': {'key': 'properties.shareUsageBytes', 'type': 'long'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'signed_identifiers': {'key': 'properties.signedIdentifiers', 'type': '[SignedIdentifier]'}, 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'iso-8601'}, } @@ -1733,6 +2020,10 @@ def __init__( self.access_tier_change_time = None self.access_tier_status = None self.share_usage_bytes = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.signed_identifiers = kwargs.get('signed_identifiers', None) self.snapshot_time = None @@ -1760,10 +2051,10 @@ class FileShareItem(AzureEntityResource): :type share_quota: int :param enabled_protocols: The authentication protocol that is used for the file share. Can only be specified when creating a share. Possible values include: "SMB", "NFS". - :type enabled_protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.EnabledProtocols + :type enabled_protocols: str or ~azure.mgmt.storage.v2021_08_01.models.EnabledProtocols :param root_squash: The property is for NFS share only. The default is NoRootSquash. Possible values include: "NoRootSquash", "RootSquash", "AllSquash". - :type root_squash: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RootSquashType + :type root_squash: str or ~azure.mgmt.storage.v2021_08_01.models.RootSquashType :ivar version: The version of the share. :vartype version: str :ivar deleted: Indicates whether the share was deleted. @@ -1775,7 +2066,7 @@ class FileShareItem(AzureEntityResource): :param access_tier: Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible values include: "TransactionOptimized", "Hot", "Cool", "Premium". - :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ShareAccessTier + :type access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.ShareAccessTier :ivar access_tier_change_time: Indicates the last modification time for share access tier. :vartype access_tier_change_time: ~datetime.datetime :ivar access_tier_status: Indicates if there is a pending transition for access tier. @@ -1783,6 +2074,17 @@ class FileShareItem(AzureEntityResource): :ivar share_usage_bytes: The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files. :vartype share_usage_bytes: long + :ivar lease_status: The lease status of the share. Possible values include: "Locked", + "Unlocked". + :vartype lease_status: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseStatus + :ivar lease_state: Lease state of the share. Possible values include: "Available", "Leased", + "Expired", "Breaking", "Broken". + :vartype lease_state: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a share is of infinite or fixed duration, + only when the share is leased. Possible values include: "Infinite", "Fixed". + :vartype lease_duration: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseDuration + :param signed_identifiers: List of stored access policies specified on the share. + :type signed_identifiers: list[~azure.mgmt.storage.v2021_08_01.models.SignedIdentifier] :ivar snapshot_time: Creation time of share snapshot returned in the response of list shares with expand param "snapshots". :vartype snapshot_time: ~datetime.datetime @@ -1802,6 +2104,9 @@ class FileShareItem(AzureEntityResource): 'access_tier_change_time': {'readonly': True}, 'access_tier_status': {'readonly': True}, 'share_usage_bytes': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, 'snapshot_time': {'readonly': True}, } @@ -1823,6 +2128,10 @@ class FileShareItem(AzureEntityResource): 'access_tier_change_time': {'key': 'properties.accessTierChangeTime', 'type': 'iso-8601'}, 'access_tier_status': {'key': 'properties.accessTierStatus', 'type': 'str'}, 'share_usage_bytes': {'key': 'properties.shareUsageBytes', 'type': 'long'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'signed_identifiers': {'key': 'properties.signedIdentifiers', 'type': '[SignedIdentifier]'}, 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'iso-8601'}, } @@ -1844,6 +2153,10 @@ def __init__( self.access_tier_change_time = None self.access_tier_status = None self.share_usage_bytes = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.signed_identifiers = kwargs.get('signed_identifiers', None) self.snapshot_time = None @@ -1853,7 +2166,7 @@ class FileShareItems(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of file shares returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.FileShareItem] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.FileShareItem] :ivar next_link: Request URL that can be used to query next page of shares. Returned when total number of requested shares exceed maximum page size. :vartype next_link: str @@ -1889,7 +2202,7 @@ class GeoReplicationStats(msrest.serialization.Model): typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable. Possible values include: "Live", "Bootstrap", "Unavailable". - :vartype status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.GeoReplicationStatus + :vartype status: str or ~azure.mgmt.storage.v2021_08_01.models.GeoReplicationStatus :ivar last_sync_time: All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, @@ -1933,24 +2246,29 @@ class Identity(msrest.serialization.Model): :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. :vartype tenant_id: str - :ivar type: Required. The identity type. Default value: "SystemAssigned". - :vartype type: str + :param type: Required. The identity type. Possible values include: "None", "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned". + :type type: str or ~azure.mgmt.storage.v2021_08_01.models.IdentityType + :param user_assigned_identities: Gets or sets a list of key value pairs that describe the set + of User Assigned identities that will be used with this storage account. The key is the ARM + resource identifier of the identity. Only 1 User Assigned identity is permitted here. + :type user_assigned_identities: dict[str, + ~azure.mgmt.storage.v2021_08_01.models.UserAssignedIdentity] """ _validation = { 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, - 'type': {'required': True, 'constant': True}, + 'type': {'required': True}, } _attribute_map = { 'principal_id': {'key': 'principalId', 'type': 'str'}, 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentity}'}, } - type = "SystemAssigned" - def __init__( self, **kwargs @@ -1958,6 +2276,8 @@ def __init__( super(Identity, self).__init__(**kwargs) self.principal_id = None self.tenant_id = None + self.type = kwargs['type'] + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) class ImmutabilityPolicy(AzureEntityResource): @@ -1980,13 +2300,20 @@ class ImmutabilityPolicy(AzureEntityResource): :type immutability_period_since_creation_in_days: int :ivar state: The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked. Possible values include: "Locked", "Unlocked". - :vartype state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyState + :vartype state: str or ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyState :param allow_protected_append_writes: This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. :type allow_protected_append_writes: bool + :param allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :type allow_protected_append_writes_all: bool """ _validation = { @@ -2005,6 +2332,7 @@ class ImmutabilityPolicy(AzureEntityResource): 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, 'state': {'key': 'properties.state', 'type': 'str'}, 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, + 'allow_protected_append_writes_all': {'key': 'properties.allowProtectedAppendWritesAll', 'type': 'bool'}, } def __init__( @@ -2015,6 +2343,7 @@ def __init__( self.immutability_period_since_creation_in_days = kwargs.get('immutability_period_since_creation_in_days', None) self.state = None self.allow_protected_append_writes = kwargs.get('allow_protected_append_writes', None) + self.allow_protected_append_writes_all = kwargs.get('allow_protected_append_writes_all', None) class ImmutabilityPolicyProperties(msrest.serialization.Model): @@ -2025,20 +2354,26 @@ class ImmutabilityPolicyProperties(msrest.serialization.Model): :ivar etag: ImmutabilityPolicy Etag. :vartype etag: str :ivar update_history: The ImmutabilityPolicy update history of the blob container. - :vartype update_history: - list[~azure.mgmt.storage.v2020_08_01_preview.models.UpdateHistoryProperty] + :vartype update_history: list[~azure.mgmt.storage.v2021_08_01.models.UpdateHistoryProperty] :param immutability_period_since_creation_in_days: The immutability period for the blobs in the container since the policy creation, in days. :type immutability_period_since_creation_in_days: int :ivar state: The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked. Possible values include: "Locked", "Unlocked". - :vartype state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyState + :vartype state: str or ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyState :param allow_protected_append_writes: This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. :type allow_protected_append_writes: bool + :param allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :type allow_protected_append_writes_all: bool """ _validation = { @@ -2053,6 +2388,7 @@ class ImmutabilityPolicyProperties(msrest.serialization.Model): 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, 'state': {'key': 'properties.state', 'type': 'str'}, 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, + 'allow_protected_append_writes_all': {'key': 'properties.allowProtectedAppendWritesAll', 'type': 'bool'}, } def __init__( @@ -2065,25 +2401,89 @@ def __init__( self.immutability_period_since_creation_in_days = kwargs.get('immutability_period_since_creation_in_days', None) self.state = None self.allow_protected_append_writes = kwargs.get('allow_protected_append_writes', None) + self.allow_protected_append_writes_all = kwargs.get('allow_protected_append_writes_all', None) -class IPRule(msrest.serialization.Model): - """IP rule with specific IP or IP range in CIDR format. +class ImmutableStorageAccount(msrest.serialization.Model): + """This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning. + + :param enabled: A boolean flag which enables account-level immutability. All the containers + under such an account have object-level immutability enabled by default. + :type enabled: bool + :param immutability_policy: Specifies the default account-level immutability policy which is + inherited and applied to objects that do not possess an explicit immutability policy at the + object level. The object-level immutability policy has higher precedence than the + container-level immutability policy, which has a higher precedence than the account-level + immutability policy. + :type immutability_policy: + ~azure.mgmt.storage.v2021_08_01.models.AccountImmutabilityPolicyProperties + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'immutability_policy': {'key': 'immutabilityPolicy', 'type': 'AccountImmutabilityPolicyProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ImmutableStorageAccount, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.immutability_policy = kwargs.get('immutability_policy', None) + + +class ImmutableStorageWithVersioning(msrest.serialization.Model): + """Object level immutability properties of the container. Variables are only populated by the server, and will be ignored when sending a request. + :param enabled: This is an immutable property, when set to true it enables object level + immutability at the container level. + :type enabled: bool + :ivar time_stamp: Returns the date and time the object level immutability was enabled. + :vartype time_stamp: ~datetime.datetime + :ivar migration_state: This property denotes the container level immutability to object level + immutability migration state. Possible values include: "InProgress", "Completed". + :vartype migration_state: str or ~azure.mgmt.storage.v2021_08_01.models.MigrationState + """ + + _validation = { + 'time_stamp': {'readonly': True}, + 'migration_state': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ImmutableStorageWithVersioning, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.time_stamp = None + self.migration_state = None + + +class IPRule(msrest.serialization.Model): + """IP rule with specific IP or IP range in CIDR format. + All required parameters must be populated in order to send to Azure. :param ip_address_or_range: Required. Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed. :type ip_address_or_range: str - :ivar action: The action of IP ACL rule. Default value: "Allow". - :vartype action: str + :param action: The action of IP ACL rule. The only acceptable values to pass in are None and + "Allow". The default value is None. + :type action: str """ _validation = { 'ip_address_or_range': {'required': True}, - 'action': {'constant': True}, } _attribute_map = { @@ -2091,14 +2491,61 @@ class IPRule(msrest.serialization.Model): 'action': {'key': 'action', 'type': 'str'}, } - action = "Allow" - def __init__( self, **kwargs ): super(IPRule, self).__init__(**kwargs) self.ip_address_or_range = kwargs['ip_address_or_range'] + self.action = kwargs.get('action', None) + + +class KeyCreationTime(msrest.serialization.Model): + """Storage account keys creation time. + + :param key1: + :type key1: ~datetime.datetime + :param key2: + :type key2: ~datetime.datetime + """ + + _attribute_map = { + 'key1': {'key': 'key1', 'type': 'iso-8601'}, + 'key2': {'key': 'key2', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyCreationTime, self).__init__(**kwargs) + self.key1 = kwargs.get('key1', None) + self.key2 = kwargs.get('key2', None) + + +class KeyPolicy(msrest.serialization.Model): + """KeyPolicy assigned to the storage account. + + All required parameters must be populated in order to send to Azure. + + :param key_expiration_period_in_days: Required. The key expiration period in days. + :type key_expiration_period_in_days: int + """ + + _validation = { + 'key_expiration_period_in_days': {'required': True}, + } + + _attribute_map = { + 'key_expiration_period_in_days': {'key': 'keyExpirationPeriodInDays', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(KeyPolicy, self).__init__(**kwargs) + self.key_expiration_period_in_days = kwargs['key_expiration_period_in_days'] class KeyVaultProperties(msrest.serialization.Model): @@ -2153,7 +2600,7 @@ class LastAccessTimeTrackingPolicy(msrest.serialization.Model): :type enable: bool :param name: Name of the policy. The valid value is AccessTimeTracking. This field is currently read only. Possible values include: "AccessTimeTracking". - :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Name + :type name: str or ~azure.mgmt.storage.v2021_08_01.models.Name :param tracking_granularity_in_days: The field specifies blob object tracking granularity in days, typically how often the blob object should be tracked.This field is currently read only with value as 1. @@ -2178,21 +2625,90 @@ def __init__( self, **kwargs ): - super(LastAccessTimeTrackingPolicy, self).__init__(**kwargs) - self.enable = kwargs['enable'] - self.name = kwargs.get('name', None) - self.tracking_granularity_in_days = kwargs.get('tracking_granularity_in_days', None) - self.blob_type = kwargs.get('blob_type', None) + super(LastAccessTimeTrackingPolicy, self).__init__(**kwargs) + self.enable = kwargs['enable'] + self.name = kwargs.get('name', None) + self.tracking_granularity_in_days = kwargs.get('tracking_granularity_in_days', None) + self.blob_type = kwargs.get('blob_type', None) + + +class LeaseContainerRequest(msrest.serialization.Model): + """Lease Container request schema. + + All required parameters must be populated in order to send to Azure. + + :param action: Required. Specifies the lease action. Can be one of the available actions. + Possible values include: "Acquire", "Renew", "Change", "Release", "Break". + :type action: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseContainerRequestAction + :param lease_id: Identifies the lease. Can be specified in any valid GUID string format. + :type lease_id: str + :param break_period: Optional. For a break action, proposed duration the lease should continue + before it is broken, in seconds, between 0 and 60. + :type break_period: int + :param lease_duration: Required for acquire. Specifies the duration of the lease, in seconds, + or negative one (-1) for a lease that never expires. + :type lease_duration: int + :param proposed_lease_id: Optional for acquire, required for change. Proposed lease ID, in a + GUID string format. + :type proposed_lease_id: str + """ + + _validation = { + 'action': {'required': True}, + } + + _attribute_map = { + 'action': {'key': 'action', 'type': 'str'}, + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'break_period': {'key': 'breakPeriod', 'type': 'int'}, + 'lease_duration': {'key': 'leaseDuration', 'type': 'int'}, + 'proposed_lease_id': {'key': 'proposedLeaseId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LeaseContainerRequest, self).__init__(**kwargs) + self.action = kwargs['action'] + self.lease_id = kwargs.get('lease_id', None) + self.break_period = kwargs.get('break_period', None) + self.lease_duration = kwargs.get('lease_duration', None) + self.proposed_lease_id = kwargs.get('proposed_lease_id', None) + + +class LeaseContainerResponse(msrest.serialization.Model): + """Lease Container response schema. + + :param lease_id: Returned unique lease ID that must be included with any request to delete the + container, or to renew, change, or release the lease. + :type lease_id: str + :param lease_time_seconds: Approximate time remaining in the lease period, in seconds. + :type lease_time_seconds: str + """ + + _attribute_map = { + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'lease_time_seconds': {'key': 'leaseTimeSeconds', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LeaseContainerResponse, self).__init__(**kwargs) + self.lease_id = kwargs.get('lease_id', None) + self.lease_time_seconds = kwargs.get('lease_time_seconds', None) -class LeaseContainerRequest(msrest.serialization.Model): - """Lease Container request schema. +class LeaseShareRequest(msrest.serialization.Model): + """Lease Share request schema. All required parameters must be populated in order to send to Azure. :param action: Required. Specifies the lease action. Can be one of the available actions. Possible values include: "Acquire", "Renew", "Change", "Release", "Break". - :type action: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseContainerRequestAction + :type action: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseShareAction :param lease_id: Identifies the lease. Can be specified in any valid GUID string format. :type lease_id: str :param break_period: Optional. For a break action, proposed duration the lease should continue @@ -2222,7 +2738,7 @@ def __init__( self, **kwargs ): - super(LeaseContainerRequest, self).__init__(**kwargs) + super(LeaseShareRequest, self).__init__(**kwargs) self.action = kwargs['action'] self.lease_id = kwargs.get('lease_id', None) self.break_period = kwargs.get('break_period', None) @@ -2230,11 +2746,11 @@ def __init__( self.proposed_lease_id = kwargs.get('proposed_lease_id', None) -class LeaseContainerResponse(msrest.serialization.Model): - """Lease Container response schema. +class LeaseShareResponse(msrest.serialization.Model): + """Lease Share response schema. :param lease_id: Returned unique lease ID that must be included with any request to delete the - container, or to renew, change, or release the lease. + share, or to renew, change, or release the lease. :type lease_id: str :param lease_time_seconds: Approximate time remaining in the lease period, in seconds. :type lease_time_seconds: str @@ -2249,7 +2765,7 @@ def __init__( self, **kwargs ): - super(LeaseContainerResponse, self).__init__(**kwargs) + super(LeaseShareResponse, self).__init__(**kwargs) self.lease_id = kwargs.get('lease_id', None) self.lease_time_seconds = kwargs.get('lease_time_seconds', None) @@ -2269,6 +2785,10 @@ class LegalHold(msrest.serialization.Model): :param tags: Required. A set of tags. Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP. :type tags: list[str] + :param allow_protected_append_writes_all: When enabled, new blocks can be written to both + 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. + :type allow_protected_append_writes_all: bool """ _validation = { @@ -2279,6 +2799,7 @@ class LegalHold(msrest.serialization.Model): _attribute_map = { 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, 'tags': {'key': 'tags', 'type': '[str]'}, + 'allow_protected_append_writes_all': {'key': 'allowProtectedAppendWritesAll', 'type': 'bool'}, } def __init__( @@ -2288,6 +2809,7 @@ def __init__( super(LegalHold, self).__init__(**kwargs) self.has_legal_hold = None self.tags = kwargs['tags'] + self.allow_protected_append_writes_all = kwargs.get('allow_protected_append_writes_all', None) class LegalHoldProperties(msrest.serialization.Model): @@ -2301,7 +2823,10 @@ class LegalHoldProperties(msrest.serialization.Model): hasLegalHold=true for a given account. :vartype has_legal_hold: bool :param tags: A set of tags. The list of LegalHold tags of a blob container. - :type tags: list[~azure.mgmt.storage.v2020_08_01_preview.models.TagProperty] + :type tags: list[~azure.mgmt.storage.v2021_08_01.models.TagProperty] + :param protected_append_writes_history: Protected append blob writes history. + :type protected_append_writes_history: + ~azure.mgmt.storage.v2021_08_01.models.ProtectedAppendWritesHistory """ _validation = { @@ -2311,6 +2836,7 @@ class LegalHoldProperties(msrest.serialization.Model): _attribute_map = { 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, 'tags': {'key': 'tags', 'type': '[TagProperty]'}, + 'protected_append_writes_history': {'key': 'protectedAppendWritesHistory', 'type': 'ProtectedAppendWritesHistory'}, } def __init__( @@ -2320,6 +2846,7 @@ def __init__( super(LegalHoldProperties, self).__init__(**kwargs) self.has_legal_hold = None self.tags = kwargs.get('tags', None) + self.protected_append_writes_history = kwargs.get('protected_append_writes_history', None) class ListAccountSasResponse(msrest.serialization.Model): @@ -2353,7 +2880,7 @@ class ListBlobInventoryPolicy(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of blob inventory policies. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicy] """ _validation = { @@ -2403,25 +2930,25 @@ class ListContainerItem(AzureEntityResource): :type deny_encryption_scope_override: bool :param public_access: Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: "Container", "Blob", "None". - :type public_access: str or ~azure.mgmt.storage.v2020_08_01_preview.models.PublicAccess + :type public_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicAccess :ivar last_modified_time: Returns the date and time the container was last modified. :vartype last_modified_time: ~datetime.datetime :ivar lease_status: The lease status of the container. Possible values include: "Locked", "Unlocked". - :vartype lease_status: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseStatus + :vartype lease_status: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseStatus :ivar lease_state: Lease state of the container. Possible values include: "Available", "Leased", "Expired", "Breaking", "Broken". - :vartype lease_state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseState + :vartype lease_state: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseState :ivar lease_duration: Specifies whether the lease on a container is of infinite or fixed duration, only when the container is leased. Possible values include: "Infinite", "Fixed". - :vartype lease_duration: str or ~azure.mgmt.storage.v2020_08_01_preview.models.LeaseDuration + :vartype lease_duration: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseDuration :param metadata: A name-value pair to associate with the container as metadata. :type metadata: dict[str, str] :ivar immutability_policy: The ImmutabilityPolicy property of the container. :vartype immutability_policy: - ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyProperties + ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyProperties :ivar legal_hold: The LegalHold property of the container. - :vartype legal_hold: ~azure.mgmt.storage.v2020_08_01_preview.models.LegalHoldProperties + :vartype legal_hold: ~azure.mgmt.storage.v2021_08_01.models.LegalHoldProperties :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with @@ -2431,6 +2958,15 @@ class ListContainerItem(AzureEntityResource): if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has not been created for this container. :vartype has_immutability_policy: bool + :param immutable_storage_with_versioning: The object level immutability property of the + container. The property is immutable and can only be set to true at the container creation + time. Existing containers must undergo a migration process. + :type immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageWithVersioning + :param enable_nfs_v3_root_squash: Enable NFSv3 root squash on blob container. + :type enable_nfs_v3_root_squash: bool + :param enable_nfs_v3_all_squash: Enable NFSv3 all squash on blob container. + :type enable_nfs_v3_all_squash: bool """ _validation = { @@ -2473,6 +3009,9 @@ class ListContainerItem(AzureEntityResource): 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageWithVersioning'}, + 'enable_nfs_v3_root_squash': {'key': 'properties.enableNfsV3RootSquash', 'type': 'bool'}, + 'enable_nfs_v3_all_squash': {'key': 'properties.enableNfsV3AllSquash', 'type': 'bool'}, } def __init__( @@ -2496,6 +3035,9 @@ def __init__( self.legal_hold = None self.has_legal_hold = None self.has_immutability_policy = None + self.immutable_storage_with_versioning = kwargs.get('immutable_storage_with_versioning', None) + self.enable_nfs_v3_root_squash = kwargs.get('enable_nfs_v3_root_squash', None) + self.enable_nfs_v3_all_squash = kwargs.get('enable_nfs_v3_all_squash', None) class ListContainerItems(msrest.serialization.Model): @@ -2504,7 +3046,7 @@ class ListContainerItems(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of blobs containers returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ListContainerItem] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.ListContainerItem] :ivar next_link: Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size. :vartype next_link: str @@ -2573,7 +3115,7 @@ class ListQueueResource(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of queues returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ListQueue] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.ListQueue] :ivar next_link: Request URL that can be used to list next page of queues. :vartype next_link: str """ @@ -2603,7 +3145,7 @@ class ListQueueServices(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of queue services returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.QueueServiceProperties] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.QueueServiceProperties] """ _validation = { @@ -2653,7 +3195,7 @@ class ListTableResource(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of tables returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Table] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.Table] :ivar next_link: Request URL that can be used to query next page of tables. :vartype next_link: str """ @@ -2683,7 +3225,7 @@ class ListTableServices(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of table services returned. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.TableServiceProperties] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.TableServiceProperties] """ _validation = { @@ -2702,6 +3244,199 @@ def __init__( self.value = None +class LocalUser(Resource): + """The local user associated with the storage accounts. + + 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: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.storage.v2021_08_01.models.SystemData + :param permission_scopes: The permission scopes of the local user. + :type permission_scopes: list[~azure.mgmt.storage.v2021_08_01.models.PermissionScope] + :param home_directory: Optional, local user home directory. + :type home_directory: str + :param ssh_authorized_keys: Optional, local user ssh authorized keys for SFTP. + :type ssh_authorized_keys: list[~azure.mgmt.storage.v2021_08_01.models.SshPublicKey] + :ivar sid: A unique Security Identifier that is generated by the server. + :vartype sid: str + :ivar shared_key: Auto generated by the server for SMB authentication. + :vartype shared_key: str + :ivar ssh_password: Auto generated password by the server for SSH authentication if + hasSshPassword is set to true on the creation of local user. + :vartype ssh_password: str + :param has_shared_key: Indicates whether shared key exists. Set it to false to remove existing + shared key. + :type has_shared_key: bool + :param has_ssh_key: Indicates whether ssh key exists. Set it to false to remove existing SSH + key. + :type has_ssh_key: bool + :param has_ssh_password: Indicates whether ssh password exists. Set it to false to remove + existing SSH password. + :type has_ssh_password: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'sid': {'readonly': True}, + 'shared_key': {'readonly': True}, + 'ssh_password': {'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'}, + 'permission_scopes': {'key': 'properties.permissionScopes', 'type': '[PermissionScope]'}, + 'home_directory': {'key': 'properties.homeDirectory', 'type': 'str'}, + 'ssh_authorized_keys': {'key': 'properties.sshAuthorizedKeys', 'type': '[SshPublicKey]'}, + 'sid': {'key': 'properties.sid', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'ssh_password': {'key': 'properties.sshPassword', 'type': 'str'}, + 'has_shared_key': {'key': 'properties.hasSharedKey', 'type': 'bool'}, + 'has_ssh_key': {'key': 'properties.hasSshKey', 'type': 'bool'}, + 'has_ssh_password': {'key': 'properties.hasSshPassword', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(LocalUser, self).__init__(**kwargs) + self.system_data = None + self.permission_scopes = kwargs.get('permission_scopes', None) + self.home_directory = kwargs.get('home_directory', None) + self.ssh_authorized_keys = kwargs.get('ssh_authorized_keys', None) + self.sid = None + self.shared_key = None + self.ssh_password = None + self.has_shared_key = kwargs.get('has_shared_key', None) + self.has_ssh_key = kwargs.get('has_ssh_key', None) + self.has_ssh_password = kwargs.get('has_ssh_password', None) + + +class LocalUserKeys(msrest.serialization.Model): + """The Storage Account Local User keys. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param ssh_authorized_keys: Optional, local user ssh authorized keys for SFTP. + :type ssh_authorized_keys: list[~azure.mgmt.storage.v2021_08_01.models.SshPublicKey] + :ivar shared_key: Auto generated by the server for SMB authentication. + :vartype shared_key: str + """ + + _validation = { + 'shared_key': {'readonly': True}, + } + + _attribute_map = { + 'ssh_authorized_keys': {'key': 'sshAuthorizedKeys', 'type': '[SshPublicKey]'}, + 'shared_key': {'key': 'sharedKey', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LocalUserKeys, self).__init__(**kwargs) + self.ssh_authorized_keys = kwargs.get('ssh_authorized_keys', None) + self.shared_key = None + + +class LocalUserProperties(msrest.serialization.Model): + """The Storage Account Local User properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param permission_scopes: The permission scopes of the local user. + :type permission_scopes: list[~azure.mgmt.storage.v2021_08_01.models.PermissionScope] + :param home_directory: Optional, local user home directory. + :type home_directory: str + :param ssh_authorized_keys: Optional, local user ssh authorized keys for SFTP. + :type ssh_authorized_keys: list[~azure.mgmt.storage.v2021_08_01.models.SshPublicKey] + :ivar sid: A unique Security Identifier that is generated by the server. + :vartype sid: str + :ivar shared_key: Auto generated by the server for SMB authentication. + :vartype shared_key: str + :ivar ssh_password: Auto generated password by the server for SSH authentication if + hasSshPassword is set to true on the creation of local user. + :vartype ssh_password: str + :param has_shared_key: Indicates whether shared key exists. Set it to false to remove existing + shared key. + :type has_shared_key: bool + :param has_ssh_key: Indicates whether ssh key exists. Set it to false to remove existing SSH + key. + :type has_ssh_key: bool + :param has_ssh_password: Indicates whether ssh password exists. Set it to false to remove + existing SSH password. + :type has_ssh_password: bool + """ + + _validation = { + 'sid': {'readonly': True}, + 'shared_key': {'readonly': True}, + 'ssh_password': {'readonly': True}, + } + + _attribute_map = { + 'permission_scopes': {'key': 'permissionScopes', 'type': '[PermissionScope]'}, + 'home_directory': {'key': 'homeDirectory', 'type': 'str'}, + 'ssh_authorized_keys': {'key': 'sshAuthorizedKeys', 'type': '[SshPublicKey]'}, + 'sid': {'key': 'sid', 'type': 'str'}, + 'shared_key': {'key': 'sharedKey', 'type': 'str'}, + 'ssh_password': {'key': 'sshPassword', 'type': 'str'}, + 'has_shared_key': {'key': 'hasSharedKey', 'type': 'bool'}, + 'has_ssh_key': {'key': 'hasSshKey', 'type': 'bool'}, + 'has_ssh_password': {'key': 'hasSshPassword', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(LocalUserProperties, self).__init__(**kwargs) + self.permission_scopes = kwargs.get('permission_scopes', None) + self.home_directory = kwargs.get('home_directory', None) + self.ssh_authorized_keys = kwargs.get('ssh_authorized_keys', None) + self.sid = None + self.shared_key = None + self.ssh_password = None + self.has_shared_key = kwargs.get('has_shared_key', None) + self.has_ssh_key = kwargs.get('has_ssh_key', None) + self.has_ssh_password = kwargs.get('has_ssh_password', None) + + +class LocalUsers(msrest.serialization.Model): + """List storage account local users. + + :param value: The local users associated with the storage account. + :type value: list[~azure.mgmt.storage.v2021_08_01.models.LocalUser] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LocalUser]'}, + } + + def __init__( + self, + **kwargs + ): + super(LocalUsers, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + class ManagementPolicy(Resource): """The Get Storage Account ManagementPolicies operation response. @@ -2719,7 +3454,7 @@ class ManagementPolicy(Resource): :vartype last_modified_time: ~datetime.datetime :param policy: The Storage Account ManagementPolicy, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - :type policy: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicySchema + :type policy: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicySchema """ _validation = { @@ -2750,14 +3485,17 @@ class ManagementPolicyAction(msrest.serialization.Model): """Actions are applied to the filtered blobs when the execution condition is met. :param base_blob: The management policy action for base blob. - :type base_blob: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyBaseBlob + :type base_blob: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyBaseBlob :param snapshot: The management policy action for snapshot. - :type snapshot: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicySnapShot + :type snapshot: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicySnapShot + :param version: The management policy action for version. + :type version: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyVersion """ _attribute_map = { 'base_blob': {'key': 'baseBlob', 'type': 'ManagementPolicyBaseBlob'}, 'snapshot': {'key': 'snapshot', 'type': 'ManagementPolicySnapShot'}, + 'version': {'key': 'version', 'type': 'ManagementPolicyVersion'}, } def __init__( @@ -2767,6 +3505,7 @@ def __init__( super(ManagementPolicyAction, self).__init__(**kwargs) self.base_blob = kwargs.get('base_blob', None) self.snapshot = kwargs.get('snapshot', None) + self.version = kwargs.get('version', None) class ManagementPolicyBaseBlob(msrest.serialization.Model): @@ -2774,12 +3513,12 @@ class ManagementPolicyBaseBlob(msrest.serialization.Model): :param tier_to_cool: The function to tier blobs to cool storage. Support blobs currently at Hot tier. - :type tier_to_cool: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification + :type tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification :param tier_to_archive: The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier. - :type tier_to_archive: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification + :type tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification :param delete: The function to delete the blob. - :type delete: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterModification + :type delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification :param enable_auto_tier_to_hot_from_cool: This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan. @@ -2810,9 +3549,9 @@ class ManagementPolicyDefinition(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param actions: Required. An object that defines the action set. - :type actions: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyAction + :type actions: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyAction :param filters: An object that defines the filter set. - :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyFilter + :type filters: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyFilter """ _validation = { @@ -2840,11 +3579,12 @@ class ManagementPolicyFilter(msrest.serialization.Model): :param prefix_match: An array of strings for prefixes to be match. :type prefix_match: list[str] - :param blob_types: Required. An array of predefined enum values. Only blockBlob is supported. + :param blob_types: Required. An array of predefined enum values. Currently blockBlob supports + all tiering and delete actions. Only delete actions are supported for appendBlob. :type blob_types: list[str] :param blob_index_match: An array of blob index tag based filters, there can be at most 10 tag filters. - :type blob_index_match: list[~azure.mgmt.storage.v2020_08_01_preview.models.TagFilter] + :type blob_index_match: list[~azure.mgmt.storage.v2021_08_01.models.TagFilter] """ _validation = { @@ -2878,9 +3618,9 @@ class ManagementPolicyRule(msrest.serialization.Model): Rule name is case-sensitive. It must be unique within a policy. :type name: str :param type: Required. The valid value is Lifecycle. Possible values include: "Lifecycle". - :type type: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RuleType + :type type: str or ~azure.mgmt.storage.v2021_08_01.models.RuleType :param definition: Required. An object that defines the Lifecycle rule. - :type definition: ~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyDefinition + :type definition: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyDefinition """ _validation = { @@ -2914,7 +3654,7 @@ class ManagementPolicySchema(msrest.serialization.Model): :param rules: Required. The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. - :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.ManagementPolicyRule] + :type rules: list[~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyRule] """ _validation = { @@ -2936,11 +3676,19 @@ def __init__( class ManagementPolicySnapShot(msrest.serialization.Model): """Management policy action for snapshot. + :param tier_to_cool: The function to tier blob snapshot to cool storage. Support blob snapshot + currently at Hot tier. + :type tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :param tier_to_archive: The function to tier blob snapshot to archive storage. Support blob + snapshot currently at Hot or Cool tier. + :type tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation :param delete: The function to delete the blob snapshot. - :type delete: ~azure.mgmt.storage.v2020_08_01_preview.models.DateAfterCreation + :type delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation """ _attribute_map = { + 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterCreation'}, + 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterCreation'}, 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, } @@ -2949,6 +3697,37 @@ def __init__( **kwargs ): super(ManagementPolicySnapShot, self).__init__(**kwargs) + self.tier_to_cool = kwargs.get('tier_to_cool', None) + self.tier_to_archive = kwargs.get('tier_to_archive', None) + self.delete = kwargs.get('delete', None) + + +class ManagementPolicyVersion(msrest.serialization.Model): + """Management policy action for blob version. + + :param tier_to_cool: The function to tier blob version to cool storage. Support blob version + currently at Hot tier. + :type tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :param tier_to_archive: The function to tier blob version to archive storage. Support blob + version currently at Hot or Cool tier. + :type tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :param delete: The function to delete the blob version. + :type delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + """ + + _attribute_map = { + 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterCreation'}, + 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterCreation'}, + 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagementPolicyVersion, self).__init__(**kwargs) + self.tier_to_cool = kwargs.get('tier_to_cool', None) + self.tier_to_archive = kwargs.get('tier_to_archive', None) self.delete = kwargs.get('delete', None) @@ -2964,7 +3743,7 @@ class MetricSpecification(msrest.serialization.Model): :param unit: Unit could be Bytes or Count. :type unit: str :param dimensions: Dimensions of blobs, including blob type and access tier. - :type dimensions: list[~azure.mgmt.storage.v2020_08_01_preview.models.Dimension] + :type dimensions: list[~azure.mgmt.storage.v2021_08_01.models.Dimension] :param aggregation_type: Aggregation type could be Average. :type aggregation_type: str :param fill_gap_with_zero: The property to decide fill gap with zero or not. @@ -3031,18 +3810,16 @@ class NetworkRuleSet(msrest.serialization.Model): Possible values are any combination of Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics. Possible values include: "None", "Logging", "Metrics", "AzureServices". Default value: "AzureServices". - :type bypass: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Bypass - :param resource_access_rules: - :type resource_access_rules: - list[~azure.mgmt.storage.v2020_08_01_preview.models.ResourceAccessRule] + :type bypass: str or ~azure.mgmt.storage.v2021_08_01.models.Bypass + :param resource_access_rules: Sets the resource access rules. + :type resource_access_rules: list[~azure.mgmt.storage.v2021_08_01.models.ResourceAccessRule] :param virtual_network_rules: Sets the virtual network rules. - :type virtual_network_rules: - list[~azure.mgmt.storage.v2020_08_01_preview.models.VirtualNetworkRule] + :type virtual_network_rules: list[~azure.mgmt.storage.v2021_08_01.models.VirtualNetworkRule] :param ip_rules: Sets the IP ACL rules. - :type ip_rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.IPRule] + :type ip_rules: list[~azure.mgmt.storage.v2021_08_01.models.IPRule] :param default_action: Required. Specifies the default action of allow or deny when no other rules match. Possible values include: "Allow", "Deny". Default value: "Allow". - :type default_action: str or ~azure.mgmt.storage.v2020_08_01_preview.models.DefaultAction + :type default_action: str or ~azure.mgmt.storage.v2021_08_01.models.DefaultAction """ _validation = { @@ -3073,7 +3850,7 @@ class ObjectReplicationPolicies(msrest.serialization.Model): """List storage account object replication policies. :param value: The replication policy between two storage accounts. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicy] + :type value: list[~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy] """ _attribute_map = { @@ -3105,12 +3882,14 @@ class ObjectReplicationPolicy(Resource): :vartype policy_id: str :ivar enabled_time: Indicates when the policy is enabled on the source account. :vartype enabled_time: ~datetime.datetime - :param source_account: Required. Source account name. + :param source_account: Required. Source account name. It should be full resource id if + allowCrossTenantReplication set to false. :type source_account: str - :param destination_account: Required. Destination account name. + :param destination_account: Required. Destination account name. It should be full resource id + if allowCrossTenantReplication set to false. :type destination_account: str :param rules: The storage account object replication rules. - :type rules: list[~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicyRule] + :type rules: list[~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicyRule] """ _validation = { @@ -3182,7 +3961,7 @@ class ObjectReplicationPolicyRule(msrest.serialization.Model): :param destination_container: Required. Required. Destination container name. :type destination_container: str :param filters: Optional. An object that defines the filter set. - :type filters: ~azure.mgmt.storage.v2020_08_01_preview.models.ObjectReplicationPolicyFilter + :type filters: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicyFilter """ _validation = { @@ -3214,12 +3993,11 @@ class Operation(msrest.serialization.Model): :param name: Operation name: {provider}/{resource}/{operation}. :type name: str :param display: Display metadata associated with the operation. - :type display: ~azure.mgmt.storage.v2020_08_01_preview.models.OperationDisplay + :type display: ~azure.mgmt.storage.v2021_08_01.models.OperationDisplay :param origin: The origin of operations. :type origin: str :param service_specification: One property of operation, include metric specifications. - :type service_specification: - ~azure.mgmt.storage.v2020_08_01_preview.models.ServiceSpecification + :type service_specification: ~azure.mgmt.storage.v2021_08_01.models.ServiceSpecification """ _attribute_map = { @@ -3275,7 +4053,7 @@ class OperationListResult(msrest.serialization.Model): """Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results. :param value: List of Storage operations supported by the Storage resource provider. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Operation] + :type value: list[~azure.mgmt.storage.v2021_08_01.models.Operation] """ _attribute_map = { @@ -3290,6 +4068,43 @@ def __init__( self.value = kwargs.get('value', None) +class PermissionScope(msrest.serialization.Model): + """PermissionScope. + + All required parameters must be populated in order to send to Azure. + + :param permissions: Required. The permissions for the local user. Possible values include: Read + (r), Write (w), Delete (d), List (l), and Create (c). + :type permissions: str + :param service: Required. The service used by the local user, e.g. blob, file. + :type service: str + :param resource_name: Required. The name of resource, normally the container name or the file + share name, used by the local user. + :type resource_name: str + """ + + _validation = { + 'permissions': {'required': True}, + 'service': {'required': True}, + 'resource_name': {'required': True}, + } + + _attribute_map = { + 'permissions': {'key': 'permissions', 'type': 'str'}, + 'service': {'key': 'service', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PermissionScope, self).__init__(**kwargs) + self.permissions = kwargs['permissions'] + self.service = kwargs['service'] + self.resource_name = kwargs['resource_name'] + + class PrivateEndpoint(msrest.serialization.Model): """The Private Endpoint resource. @@ -3329,15 +4144,15 @@ class PrivateEndpointConnection(Resource): "Microsoft.Storage/storageAccounts". :vartype type: str :param private_endpoint: The resource of private end point. - :type private_endpoint: ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpoint + :type private_endpoint: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpoint :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.storage.v2020_08_01_preview.models.PrivateLinkServiceConnectionState + ~azure.mgmt.storage.v2021_08_01.models.PrivateLinkServiceConnectionState :ivar provisioning_state: The provisioning state of the private endpoint connection resource. Possible values include: "Succeeded", "Creating", "Deleting", "Failed". :vartype provisioning_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnectionProvisioningState + ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnectionProvisioningState """ _validation = { @@ -3370,7 +4185,7 @@ class PrivateEndpointConnectionListResult(msrest.serialization.Model): """List of private endpoint connection associated with the specified storage account. :param value: Array of private endpoint connections. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection] + :type value: list[~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection] """ _attribute_map = { @@ -3437,7 +4252,7 @@ class PrivateLinkResourceListResult(msrest.serialization.Model): """A list of private link resources. :param value: Array of private link resources. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateLinkResource] + :type value: list[~azure.mgmt.storage.v2021_08_01.models.PrivateLinkResource] """ _attribute_map = { @@ -3458,7 +4273,7 @@ class PrivateLinkServiceConnectionState(msrest.serialization.Model): :param status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. Possible values include: "Pending", "Approved", "Rejected". :type status: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointServiceConnectionStatus + ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointServiceConnectionStatus :param description: The reason for approval/rejection of the connection. :type description: str :param action_required: A message indicating if changes on the service provider require any @@ -3482,57 +4297,54 @@ def __init__( self.action_required = kwargs.get('action_required', None) -class ProtocolSettings(msrest.serialization.Model): - """Protocol settings for file service. +class ProtectedAppendWritesHistory(msrest.serialization.Model): + """Protected append writes history setting for the blob container with Legal holds. - :param smb: Setting for SMB protocol. - :type smb: ~azure.mgmt.storage.v2020_08_01_preview.models.SmbSetting + Variables are only populated by the server, and will be ignored when sending a request. + + :param allow_protected_append_writes_all: When enabled, new blocks can be written to both + 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. + :type allow_protected_append_writes_all: bool + :ivar timestamp: Returns the date and time the tag was added. + :vartype timestamp: ~datetime.datetime """ + _validation = { + 'timestamp': {'readonly': True}, + } + _attribute_map = { - 'smb': {'key': 'smb', 'type': 'SmbSetting'}, + 'allow_protected_append_writes_all': {'key': 'allowProtectedAppendWritesAll', 'type': 'bool'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, } def __init__( self, **kwargs ): - super(ProtocolSettings, self).__init__(**kwargs) - self.smb = kwargs.get('smb', None) - + super(ProtectedAppendWritesHistory, self).__init__(**kwargs) + self.allow_protected_append_writes_all = kwargs.get('allow_protected_append_writes_all', None) + self.timestamp = None -class ProxyResource(Resource): - """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. - Variables are only populated by the server, and will be ignored when sending a request. +class ProtocolSettings(msrest.serialization.Model): + """Protocol settings for file service. - :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 smb: Setting for SMB protocol. + :type smb: ~azure.mgmt.storage.v2021_08_01.models.SmbSetting """ - _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'}, + 'smb': {'key': 'smb', 'type': 'SmbSetting'}, } def __init__( self, **kwargs ): - super(ProxyResource, self).__init__(**kwargs) + super(ProtocolSettings, self).__init__(**kwargs) + self.smb = kwargs.get('smb', None) class QueueServiceProperties(Resource): @@ -3551,7 +4363,7 @@ class QueueServiceProperties(Resource): :param cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Queue service. - :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules + :type cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules """ _validation = { @@ -3655,7 +4467,7 @@ class Restriction(msrest.serialization.Model): "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The "NotAvailableForSubscription" is related to capacity at DC. Possible values include: "QuotaId", "NotAvailableForSubscription". - :type reason_code: str or ~azure.mgmt.storage.v2020_08_01_preview.models.ReasonCode + :type reason_code: str or ~azure.mgmt.storage.v2021_08_01.models.ReasonCode """ _validation = { @@ -3684,7 +4496,7 @@ class RoutingPreference(msrest.serialization.Model): :param routing_choice: Routing Choice defines the kind of network routing opted by the user. Possible values include: "MicrosoftRouting", "InternetRouting". - :type routing_choice: str or ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingChoice + :type routing_choice: str or ~azure.mgmt.storage.v2021_08_01.models.RoutingChoice :param publish_microsoft_endpoints: A boolean flag which indicates whether microsoft routing storage endpoints are to be published. :type publish_microsoft_endpoints: bool @@ -3709,6 +4521,37 @@ def __init__( self.publish_internet_endpoints = kwargs.get('publish_internet_endpoints', None) +class SasPolicy(msrest.serialization.Model): + """SasPolicy assigned to the storage account. + + All required parameters must be populated in order to send to Azure. + + :param sas_expiration_period: Required. The SAS expiration period, DD.HH:MM:SS. + :type sas_expiration_period: str + :param expiration_action: Required. The SAS expiration action. Can only be Log. Possible values + include: "Log". Default value: "Log". + :type expiration_action: str or ~azure.mgmt.storage.v2021_08_01.models.ExpirationAction + """ + + _validation = { + 'sas_expiration_period': {'required': True}, + 'expiration_action': {'required': True}, + } + + _attribute_map = { + 'sas_expiration_period': {'key': 'sasExpirationPeriod', 'type': 'str'}, + 'expiration_action': {'key': 'expirationAction', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SasPolicy, self).__init__(**kwargs) + self.sas_expiration_period = kwargs['sas_expiration_period'] + self.expiration_action = kwargs.get('expiration_action', "Log") + + class ServiceSasParameters(msrest.serialization.Model): """The parameters to list service SAS credentials of a specific resource. @@ -3718,17 +4561,17 @@ class ServiceSasParameters(msrest.serialization.Model): :type canonicalized_resource: str :param resource: The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s). Possible values include: "b", "c", "f", "s". - :type resource: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SignedResource + :type resource: str or ~azure.mgmt.storage.v2021_08_01.models.SignedResource :param permissions: The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). Possible values include: "r", "d", "w", "l", "a", "c", "u", "p". - :type permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Permissions + :type permissions: str or ~azure.mgmt.storage.v2021_08_01.models.Permissions :param ip_address_or_range: An IP address or a range of IP addresses from which to accept requests. :type ip_address_or_range: str :param protocols: The protocol permitted for a request made with the account SAS. Possible values include: "https,http", "https". - :type protocols: str or ~azure.mgmt.storage.v2020_08_01_preview.models.HttpProtocol + :type protocols: str or ~azure.mgmt.storage.v2021_08_01.models.HttpProtocol :param shared_access_start_time: The time at which the SAS becomes valid. :type shared_access_start_time: ~datetime.datetime :param shared_access_expiry_time: The time at which the shared access signature becomes @@ -3814,8 +4657,7 @@ class ServiceSpecification(msrest.serialization.Model): """One property of operation, include metric specifications. :param metric_specifications: Metric specifications of operation. - :type metric_specifications: - list[~azure.mgmt.storage.v2020_08_01_preview.models.MetricSpecification] + :type metric_specifications: list[~azure.mgmt.storage.v2021_08_01.models.MetricSpecification] """ _attribute_map = { @@ -3830,6 +4672,29 @@ def __init__( self.metric_specifications = kwargs.get('metric_specifications', None) +class SignedIdentifier(msrest.serialization.Model): + """SignedIdentifier. + + :param id: An unique identifier of the stored access policy. + :type id: str + :param access_policy: Access policy. + :type access_policy: ~azure.mgmt.storage.v2021_08_01.models.AccessPolicy + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access_policy': {'key': 'accessPolicy', 'type': 'AccessPolicy'}, + } + + def __init__( + self, + **kwargs + ): + super(SignedIdentifier, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.access_policy = kwargs.get('access_policy', None) + + class Sku(msrest.serialization.Model): """The SKU of the storage account. @@ -3841,10 +4706,10 @@ class Sku(msrest.serialization.Model): that in older versions, SKU name was called accountType. Possible values include: "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", "Standard_GZRS", "Standard_RAGZRS". - :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuName + :type name: str or ~azure.mgmt.storage.v2021_08_01.models.SkuName :ivar tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard", "Premium". - :vartype tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuTier + :vartype tier: str or ~azure.mgmt.storage.v2021_08_01.models.SkuTier """ _validation = { @@ -3908,24 +4773,24 @@ class SkuInformation(msrest.serialization.Model): that in older versions, SKU name was called accountType. Possible values include: "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", "Standard_GZRS", "Standard_RAGZRS". - :type name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuName + :type name: str or ~azure.mgmt.storage.v2021_08_01.models.SkuName :ivar tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard", "Premium". - :vartype tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.SkuTier + :vartype tier: str or ~azure.mgmt.storage.v2021_08_01.models.SkuTier :ivar resource_type: The type of the resource, usually it is 'storageAccounts'. :vartype resource_type: str :ivar kind: Indicates the type of storage account. Possible values include: "Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". - :vartype kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind + :vartype kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind :ivar locations: The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). :vartype locations: list[str] :ivar capabilities: The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc. - :vartype capabilities: list[~azure.mgmt.storage.v2020_08_01_preview.models.SKUCapability] + :vartype capabilities: list[~azure.mgmt.storage.v2021_08_01.models.SKUCapability] :param restrictions: The restrictions because of which SKU cannot be used. This is empty if there are no restrictions. - :type restrictions: list[~azure.mgmt.storage.v2020_08_01_preview.models.Restriction] + :type restrictions: list[~azure.mgmt.storage.v2021_08_01.models.Restriction] """ _validation = { @@ -3965,7 +4830,7 @@ class SmbSetting(msrest.serialization.Model): """Setting for SMB protocol. :param multichannel: Multichannel setting. Applies to Premium FileStorage only. - :type multichannel: ~azure.mgmt.storage.v2020_08_01_preview.models.Multichannel + :type multichannel: ~azure.mgmt.storage.v2021_08_01.models.Multichannel :param versions: SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, SMB3.1.1. Should be passed as a string with delimiter ';'. :type versions: str @@ -3975,8 +4840,8 @@ class SmbSetting(msrest.serialization.Model): :param kerberos_ticket_encryption: Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. Should be passed as a string with delimiter ';'. :type kerberos_ticket_encryption: str - :param channel_encryption: SMB channel encryption supported by server. Valid values are AES- - CCM-128, AES-GCM-128, AES-GCM-256. Should be passed as a string with delimiter ';'. + :param channel_encryption: SMB channel encryption supported by server. Valid values are + AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'. :type channel_encryption: str """ @@ -4000,6 +4865,30 @@ def __init__( self.channel_encryption = kwargs.get('channel_encryption', None) +class SshPublicKey(msrest.serialization.Model): + """SshPublicKey. + + :param description: Optional. It is used to store the function/usage of the key. + :type description: str + :param key: Ssh public key base64 encoded. The format should be: ':code:`` + :code:``', e.g. ssh-rsa AAAABBBB. + :type key: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SshPublicKey, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.key = kwargs.get('key', None) + + class TrackedResource(Resource): """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. @@ -4065,27 +4954,26 @@ class StorageAccount(TrackedResource): :param location: Required. The geo-location where the resource lives. :type location: str :ivar sku: Gets the SKU. - :vartype sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku + :vartype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku :ivar kind: Gets the Kind. Possible values include: "Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". - :vartype kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind + :vartype kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind :param identity: The identity of the resource. - :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity + :type identity: ~azure.mgmt.storage.v2021_08_01.models.Identity :param extended_location: The extendedLocation of the resource. - :type extended_location: ~azure.mgmt.storage.v2020_08_01_preview.models.ExtendedLocation + :type extended_location: ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocation :ivar provisioning_state: Gets the status of the storage account at the time the operation was called. Possible values include: "Creating", "ResolvingDNS", "Succeeded". - :vartype provisioning_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.ProvisioningState + :vartype provisioning_state: str or ~azure.mgmt.storage.v2021_08_01.models.ProvisioningState :ivar primary_endpoints: Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint. - :vartype primary_endpoints: ~azure.mgmt.storage.v2020_08_01_preview.models.Endpoints + :vartype primary_endpoints: ~azure.mgmt.storage.v2021_08_01.models.Endpoints :ivar primary_location: Gets the location of the primary data center for the storage account. :vartype primary_location: str :ivar status_of_primary: Gets the status indicating whether the primary location of the storage account is available or unavailable. Possible values include: "available", "unavailable". - :vartype status_of_primary: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccountStatus + :vartype status_of_primary: str or ~azure.mgmt.storage.v2021_08_01.models.AccountStatus :ivar last_geo_failover_time: Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is @@ -4097,59 +4985,91 @@ class StorageAccount(TrackedResource): :ivar status_of_secondary: Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS. Possible values include: "available", "unavailable". - :vartype status_of_secondary: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.AccountStatus + :vartype status_of_secondary: str or ~azure.mgmt.storage.v2021_08_01.models.AccountStatus :ivar creation_time: Gets the creation date and time of the storage account in UTC. :vartype creation_time: ~datetime.datetime :ivar custom_domain: Gets the custom domain the user assigned to this storage account. - :vartype custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain + :vartype custom_domain: ~azure.mgmt.storage.v2021_08_01.models.CustomDomain + :ivar sas_policy: SasPolicy assigned to the storage account. + :vartype sas_policy: ~azure.mgmt.storage.v2021_08_01.models.SasPolicy + :ivar key_policy: KeyPolicy assigned to the storage account. + :vartype key_policy: ~azure.mgmt.storage.v2021_08_01.models.KeyPolicy + :ivar key_creation_time: Storage account keys creation time. + :vartype key_creation_time: ~azure.mgmt.storage.v2021_08_01.models.KeyCreationTime :ivar secondary_endpoints: Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS. - :vartype secondary_endpoints: ~azure.mgmt.storage.v2020_08_01_preview.models.Endpoints - :ivar encryption: Gets the encryption settings on the account. If unspecified, the account is - unencrypted. - :vartype encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption + :vartype secondary_endpoints: ~azure.mgmt.storage.v2021_08_01.models.Endpoints + :ivar encryption: Encryption settings to be used for server-side encryption for the storage + account. + :vartype encryption: ~azure.mgmt.storage.v2021_08_01.models.Encryption :ivar access_tier: Required for storage accounts where kind = BlobStorage. The access tier used for billing. Possible values include: "Hot", "Cool". - :vartype access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier + :vartype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.AccessTier :param azure_files_identity_based_authentication: Provides the identity based authentication settings for Azure Files. :type azure_files_identity_based_authentication: - ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. :type enable_https_traffic_only: bool :ivar network_rule_set: Network rule set. - :vartype network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet + :vartype network_rule_set: ~azure.mgmt.storage.v2021_08_01.models.NetworkRuleSet + :param is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :type is_sftp_enabled: bool + :param is_local_user_enabled: Enables local users feature, if set to true. + :type is_local_user_enabled: bool :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. :type is_hns_enabled: bool :ivar geo_replication_stats: Geo Replication Stats. - :vartype geo_replication_stats: - ~azure.mgmt.storage.v2020_08_01_preview.models.GeoReplicationStats + :vartype geo_replication_stats: ~azure.mgmt.storage.v2021_08_01.models.GeoReplicationStats :ivar failover_in_progress: If the failover is in progress, the value will be true, otherwise, it will be null. :vartype failover_in_progress: bool :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. Possible values include: "Disabled", "Enabled". :type large_file_shares_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState :ivar private_endpoint_connections: List of private endpoint connection associated with the specified storage account. :vartype private_endpoint_connections: - list[~azure.mgmt.storage.v2020_08_01_preview.models.PrivateEndpointConnection] + list[~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection] :param routing_preference: Maintains information about the network routing choice opted by the user for data transfer. - :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference + :type routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference :ivar blob_restore_status: Blob restore status. - :vartype blob_restore_status: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobRestoreStatus + :vartype blob_restore_status: ~azure.mgmt.storage.v2021_08_01.models.BlobRestoreStatus :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property. :type allow_blob_public_access: bool :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", "TLS1_1", "TLS1_2". - :type minimum_tls_version: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion + :type minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :param allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :type allow_shared_key_access: bool + :param enable_nfs_v3: NFS 3.0 protocol support enabled if set to true. + :type enable_nfs_v3: bool + :param allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :type allow_cross_tenant_replication: bool + :param default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :type default_to_o_auth_authentication: bool + :param public_network_access: Allow or disallow public network access to Storage Account. Value + is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :param immutable_storage_with_versioning: The property is immutable and can only be set to true + at the account creation time. When set to true, it enables object level immutability for all + the containers in the account by default. + :type immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount + :param allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :type allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope """ _validation = { @@ -4168,6 +5088,9 @@ class StorageAccount(TrackedResource): 'status_of_secondary': {'readonly': True}, 'creation_time': {'readonly': True}, 'custom_domain': {'readonly': True}, + 'sas_policy': {'readonly': True}, + 'key_policy': {'readonly': True}, + 'key_creation_time': {'readonly': True}, 'secondary_endpoints': {'readonly': True}, 'encryption': {'readonly': True}, 'access_tier': {'readonly': True}, @@ -4197,12 +5120,17 @@ class StorageAccount(TrackedResource): 'status_of_secondary': {'key': 'properties.statusOfSecondary', 'type': 'str'}, 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'sas_policy': {'key': 'properties.sasPolicy', 'type': 'SasPolicy'}, + 'key_policy': {'key': 'properties.keyPolicy', 'type': 'KeyPolicy'}, + 'key_creation_time': {'key': 'properties.keyCreationTime', 'type': 'KeyCreationTime'}, 'secondary_endpoints': {'key': 'properties.secondaryEndpoints', 'type': 'Endpoints'}, 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'is_sftp_enabled': {'key': 'properties.isSftpEnabled', 'type': 'bool'}, + 'is_local_user_enabled': {'key': 'properties.isLocalUserEnabled', 'type': 'bool'}, 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, 'geo_replication_stats': {'key': 'properties.geoReplicationStats', 'type': 'GeoReplicationStats'}, 'failover_in_progress': {'key': 'properties.failoverInProgress', 'type': 'bool'}, @@ -4212,6 +5140,13 @@ class StorageAccount(TrackedResource): 'blob_restore_status': {'key': 'properties.blobRestoreStatus', 'type': 'BlobRestoreStatus'}, 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, + 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, + 'enable_nfs_v3': {'key': 'properties.isNfsV3Enabled', 'type': 'bool'}, + 'allow_cross_tenant_replication': {'key': 'properties.allowCrossTenantReplication', 'type': 'bool'}, + 'default_to_o_auth_authentication': {'key': 'properties.defaultToOAuthAuthentication', 'type': 'bool'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageAccount'}, + 'allowed_copy_scope': {'key': 'properties.allowedCopyScope', 'type': 'str'}, } def __init__( @@ -4232,12 +5167,17 @@ def __init__( self.status_of_secondary = None self.creation_time = None self.custom_domain = None + self.sas_policy = None + self.key_policy = None + self.key_creation_time = None self.secondary_endpoints = None self.encryption = None self.access_tier = None self.azure_files_identity_based_authentication = kwargs.get('azure_files_identity_based_authentication', None) self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', None) self.network_rule_set = None + self.is_sftp_enabled = kwargs.get('is_sftp_enabled', None) + self.is_local_user_enabled = kwargs.get('is_local_user_enabled', None) self.is_hns_enabled = kwargs.get('is_hns_enabled', None) self.geo_replication_stats = None self.failover_in_progress = None @@ -4247,6 +5187,13 @@ def __init__( self.blob_restore_status = None self.allow_blob_public_access = kwargs.get('allow_blob_public_access', None) self.minimum_tls_version = kwargs.get('minimum_tls_version', None) + self.allow_shared_key_access = kwargs.get('allow_shared_key_access', None) + self.enable_nfs_v3 = kwargs.get('enable_nfs_v3', None) + self.allow_cross_tenant_replication = kwargs.get('allow_cross_tenant_replication', None) + self.default_to_o_auth_authentication = kwargs.get('default_to_o_auth_authentication', None) + self.public_network_access = kwargs.get('public_network_access', None) + self.immutable_storage_with_versioning = kwargs.get('immutable_storage_with_versioning', None) + self.allowed_copy_scope = kwargs.get('allowed_copy_scope', None) class StorageAccountCheckNameAvailabilityParameters(msrest.serialization.Model): @@ -4258,7 +5205,7 @@ class StorageAccountCheckNameAvailabilityParameters(msrest.serialization.Model): :param name: Required. The storage account name. :type name: str - :ivar type: Required. The type of resource, Microsoft.Storage/storageAccounts. Default value: + :ivar type: The type of resource, Microsoft.Storage/storageAccounts. Has constant value: "Microsoft.Storage/storageAccounts". :vartype type: str """ @@ -4289,10 +5236,10 @@ class StorageAccountCreateParameters(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. :param sku: Required. Required. Gets or sets the SKU name. - :type sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku + :type sku: ~azure.mgmt.storage.v2021_08_01.models.Sku :param kind: Required. Required. Indicates the type of storage account. Possible values include: "Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". - :type kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind + :type kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind :param location: Required. Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical @@ -4301,50 +5248,82 @@ class StorageAccountCreateParameters(msrest.serialization.Model): :param extended_location: Optional. Set the extended location of the resource. If not set, the storage account will be created in Azure main region. Otherwise it will be created in the specified extended location. - :type extended_location: ~azure.mgmt.storage.v2020_08_01_preview.models.ExtendedLocation + :type extended_location: ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocation :param tags: A set of tags. Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters. :type tags: dict[str, str] :param identity: The identity of the resource. - :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity + :type identity: ~azure.mgmt.storage.v2021_08_01.models.Identity + :param allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :type allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope + :param public_network_access: Allow or disallow public network access to Storage Account. Value + is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :param sas_policy: SasPolicy assigned to the storage account. + :type sas_policy: ~azure.mgmt.storage.v2021_08_01.models.SasPolicy + :param key_policy: KeyPolicy assigned to the storage account. + :type key_policy: ~azure.mgmt.storage.v2021_08_01.models.KeyPolicy :param custom_domain: User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property. - :type custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain - :param encryption: Not applicable. Azure Storage encryption is enabled for all storage accounts - and cannot be disabled. - :type encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption + :type custom_domain: ~azure.mgmt.storage.v2021_08_01.models.CustomDomain + :param encryption: Encryption settings to be used for server-side encryption for the storage + account. + :type encryption: ~azure.mgmt.storage.v2021_08_01.models.Encryption :param network_rule_set: Network rule set. - :type network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet + :type network_rule_set: ~azure.mgmt.storage.v2021_08_01.models.NetworkRuleSet :param access_tier: Required for storage accounts where kind = BlobStorage. The access tier used for billing. Possible values include: "Hot", "Cool". - :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier + :type access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.AccessTier :param azure_files_identity_based_authentication: Provides the identity based authentication settings for Azure Files. :type azure_files_identity_based_authentication: - ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. The default value is true since API version 2019-04-01. :type enable_https_traffic_only: bool + :param is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :type is_sftp_enabled: bool + :param is_local_user_enabled: Enables local users feature, if set to true. + :type is_local_user_enabled: bool :param is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. :type is_hns_enabled: bool :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. Possible values include: "Disabled", "Enabled". :type large_file_shares_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState :param routing_preference: Maintains information about the network routing choice opted by the user for data transfer. - :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference + :type routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property. :type allow_blob_public_access: bool :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", "TLS1_1", "TLS1_2". - :type minimum_tls_version: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion + :type minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :param allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :type allow_shared_key_access: bool + :param enable_nfs_v3: NFS 3.0 protocol support enabled if set to true. + :type enable_nfs_v3: bool + :param allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :type allow_cross_tenant_replication: bool + :param default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :type default_to_o_auth_authentication: bool + :param immutable_storage_with_versioning: The property is immutable and can only be set to true + at the account creation time. When set to true, it enables object level immutability for all + the new containers in the account by default. + :type immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount """ _validation = { @@ -4360,17 +5339,28 @@ class StorageAccountCreateParameters(msrest.serialization.Model): 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'identity', 'type': 'Identity'}, + 'allowed_copy_scope': {'key': 'properties.allowedCopyScope', 'type': 'str'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + 'sas_policy': {'key': 'properties.sasPolicy', 'type': 'SasPolicy'}, + 'key_policy': {'key': 'properties.keyPolicy', 'type': 'KeyPolicy'}, 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'is_sftp_enabled': {'key': 'properties.isSftpEnabled', 'type': 'bool'}, + 'is_local_user_enabled': {'key': 'properties.isLocalUserEnabled', 'type': 'bool'}, 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, + 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, + 'enable_nfs_v3': {'key': 'properties.isNfsV3Enabled', 'type': 'bool'}, + 'allow_cross_tenant_replication': {'key': 'properties.allowCrossTenantReplication', 'type': 'bool'}, + 'default_to_o_auth_authentication': {'key': 'properties.defaultToOAuthAuthentication', 'type': 'bool'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageAccount'}, } def __init__( @@ -4384,17 +5374,28 @@ def __init__( self.extended_location = kwargs.get('extended_location', None) self.tags = kwargs.get('tags', None) self.identity = kwargs.get('identity', None) + self.allowed_copy_scope = kwargs.get('allowed_copy_scope', None) + self.public_network_access = kwargs.get('public_network_access', None) + self.sas_policy = kwargs.get('sas_policy', None) + self.key_policy = kwargs.get('key_policy', None) self.custom_domain = kwargs.get('custom_domain', None) self.encryption = kwargs.get('encryption', None) self.network_rule_set = kwargs.get('network_rule_set', None) self.access_tier = kwargs.get('access_tier', None) self.azure_files_identity_based_authentication = kwargs.get('azure_files_identity_based_authentication', None) self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', None) + self.is_sftp_enabled = kwargs.get('is_sftp_enabled', None) + self.is_local_user_enabled = kwargs.get('is_local_user_enabled', None) self.is_hns_enabled = kwargs.get('is_hns_enabled', None) self.large_file_shares_state = kwargs.get('large_file_shares_state', None) self.routing_preference = kwargs.get('routing_preference', None) self.allow_blob_public_access = kwargs.get('allow_blob_public_access', None) self.minimum_tls_version = kwargs.get('minimum_tls_version', None) + self.allow_shared_key_access = kwargs.get('allow_shared_key_access', None) + self.enable_nfs_v3 = kwargs.get('enable_nfs_v3', None) + self.allow_cross_tenant_replication = kwargs.get('allow_cross_tenant_replication', None) + self.default_to_o_auth_authentication = kwargs.get('default_to_o_auth_authentication', None) + self.immutable_storage_with_versioning = kwargs.get('immutable_storage_with_versioning', None) class StorageAccountInternetEndpoints(msrest.serialization.Model): @@ -4448,19 +5449,23 @@ class StorageAccountKey(msrest.serialization.Model): :vartype value: str :ivar permissions: Permissions for the key -- read-only or full permissions. Possible values include: "Read", "Full". - :vartype permissions: str or ~azure.mgmt.storage.v2020_08_01_preview.models.KeyPermission + :vartype permissions: str or ~azure.mgmt.storage.v2021_08_01.models.KeyPermission + :ivar creation_time: Creation time of the key, in round trip date format. + :vartype creation_time: ~datetime.datetime """ _validation = { 'key_name': {'readonly': True}, 'value': {'readonly': True}, 'permissions': {'readonly': True}, + 'creation_time': {'readonly': True}, } _attribute_map = { 'key_name': {'key': 'keyName', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, 'permissions': {'key': 'permissions', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, } def __init__( @@ -4471,6 +5476,7 @@ def __init__( self.key_name = None self.value = None self.permissions = None + self.creation_time = None class StorageAccountListKeysResult(msrest.serialization.Model): @@ -4480,7 +5486,7 @@ class StorageAccountListKeysResult(msrest.serialization.Model): :ivar keys: Gets the list of storage account keys and their properties for the specified storage account. - :vartype keys: list[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccountKey] + :vartype keys: list[~azure.mgmt.storage.v2021_08_01.models.StorageAccountKey] """ _validation = { @@ -4505,7 +5511,7 @@ class StorageAccountListResult(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: Gets the list of storage accounts and their properties. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.StorageAccount] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.StorageAccount] :ivar next_link: Request URL that can be used to query next page of storage accounts. Returned when total number of requested storage accounts exceed maximum page size. :vartype next_link: str @@ -4612,51 +5618,81 @@ class StorageAccountUpdateParameters(msrest.serialization.Model): :param sku: Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value. - :type sku: ~azure.mgmt.storage.v2020_08_01_preview.models.Sku + :type sku: ~azure.mgmt.storage.v2021_08_01.models.Sku :param tags: A set of tags. Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters. :type tags: dict[str, str] :param identity: The identity of the resource. - :type identity: ~azure.mgmt.storage.v2020_08_01_preview.models.Identity + :type identity: ~azure.mgmt.storage.v2021_08_01.models.Identity :param kind: Optional. Indicates the type of storage account. Currently only StorageV2 value supported by server. Possible values include: "Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". - :type kind: str or ~azure.mgmt.storage.v2020_08_01_preview.models.Kind + :type kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind :param custom_domain: Custom domain assigned to the storage account by the user. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property. - :type custom_domain: ~azure.mgmt.storage.v2020_08_01_preview.models.CustomDomain - :param encryption: Provides the encryption settings on the account. The default setting is - unencrypted. - :type encryption: ~azure.mgmt.storage.v2020_08_01_preview.models.Encryption + :type custom_domain: ~azure.mgmt.storage.v2021_08_01.models.CustomDomain + :param encryption: Not applicable. Azure Storage encryption at rest is enabled by default for + all storage accounts and cannot be disabled. + :type encryption: ~azure.mgmt.storage.v2021_08_01.models.Encryption + :param sas_policy: SasPolicy assigned to the storage account. + :type sas_policy: ~azure.mgmt.storage.v2021_08_01.models.SasPolicy + :param key_policy: KeyPolicy assigned to the storage account. + :type key_policy: ~azure.mgmt.storage.v2021_08_01.models.KeyPolicy :param access_tier: Required for storage accounts where kind = BlobStorage. The access tier used for billing. Possible values include: "Hot", "Cool". - :type access_tier: str or ~azure.mgmt.storage.v2020_08_01_preview.models.AccessTier + :type access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.AccessTier :param azure_files_identity_based_authentication: Provides the identity based authentication settings for Azure Files. :type azure_files_identity_based_authentication: - ~azure.mgmt.storage.v2020_08_01_preview.models.AzureFilesIdentityBasedAuthentication + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication :param enable_https_traffic_only: Allows https traffic only to storage service if sets to true. :type enable_https_traffic_only: bool + :param is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :type is_sftp_enabled: bool + :param is_local_user_enabled: Enables local users feature, if set to true. + :type is_local_user_enabled: bool :param network_rule_set: Network rule set. - :type network_rule_set: ~azure.mgmt.storage.v2020_08_01_preview.models.NetworkRuleSet + :type network_rule_set: ~azure.mgmt.storage.v2021_08_01.models.NetworkRuleSet :param large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. Possible values include: "Disabled", "Enabled". :type large_file_shares_state: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.LargeFileSharesState + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState :param routing_preference: Maintains information about the network routing choice opted by the user for data transfer. - :type routing_preference: ~azure.mgmt.storage.v2020_08_01_preview.models.RoutingPreference + :type routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference :param allow_blob_public_access: Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property. :type allow_blob_public_access: bool :param minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", "TLS1_1", "TLS1_2". - :type minimum_tls_version: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.MinimumTlsVersion + :type minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :param allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :type allow_shared_key_access: bool + :param allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :type allow_cross_tenant_replication: bool + :param default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :type default_to_o_auth_authentication: bool + :param public_network_access: Allow or disallow public network access to Storage Account. Value + is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :type public_network_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :param immutable_storage_with_versioning: The property is immutable and can only be set to true + at the account creation time. When set to true, it enables object level immutability for all + the containers in the account by default. + :type immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount + :param allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :type allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope """ _attribute_map = { @@ -4666,14 +5702,24 @@ class StorageAccountUpdateParameters(msrest.serialization.Model): 'kind': {'key': 'kind', 'type': 'str'}, 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'sas_policy': {'key': 'properties.sasPolicy', 'type': 'SasPolicy'}, + 'key_policy': {'key': 'properties.keyPolicy', 'type': 'KeyPolicy'}, 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'is_sftp_enabled': {'key': 'properties.isSftpEnabled', 'type': 'bool'}, + 'is_local_user_enabled': {'key': 'properties.isLocalUserEnabled', 'type': 'bool'}, 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, + 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, + 'allow_cross_tenant_replication': {'key': 'properties.allowCrossTenantReplication', 'type': 'bool'}, + 'default_to_o_auth_authentication': {'key': 'properties.defaultToOAuthAuthentication', 'type': 'bool'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageAccount'}, + 'allowed_copy_scope': {'key': 'properties.allowedCopyScope', 'type': 'str'}, } def __init__( @@ -4687,14 +5733,24 @@ def __init__( self.kind = kwargs.get('kind', None) self.custom_domain = kwargs.get('custom_domain', None) self.encryption = kwargs.get('encryption', None) + self.sas_policy = kwargs.get('sas_policy', None) + self.key_policy = kwargs.get('key_policy', None) self.access_tier = kwargs.get('access_tier', None) self.azure_files_identity_based_authentication = kwargs.get('azure_files_identity_based_authentication', None) self.enable_https_traffic_only = kwargs.get('enable_https_traffic_only', None) + self.is_sftp_enabled = kwargs.get('is_sftp_enabled', None) + self.is_local_user_enabled = kwargs.get('is_local_user_enabled', None) self.network_rule_set = kwargs.get('network_rule_set', None) self.large_file_shares_state = kwargs.get('large_file_shares_state', None) self.routing_preference = kwargs.get('routing_preference', None) self.allow_blob_public_access = kwargs.get('allow_blob_public_access', None) self.minimum_tls_version = kwargs.get('minimum_tls_version', None) + self.allow_shared_key_access = kwargs.get('allow_shared_key_access', None) + self.allow_cross_tenant_replication = kwargs.get('allow_cross_tenant_replication', None) + self.default_to_o_auth_authentication = kwargs.get('default_to_o_auth_authentication', None) + self.public_network_access = kwargs.get('public_network_access', None) + self.immutable_storage_with_versioning = kwargs.get('immutable_storage_with_versioning', None) + self.allowed_copy_scope = kwargs.get('allowed_copy_scope', None) class StorageQueue(Resource): @@ -4748,7 +5804,7 @@ class StorageSkuListResult(msrest.serialization.Model): Variables are only populated by the server, and will be ignored when sending a request. :ivar value: Get the list result of storage SKUs and their properties. - :vartype value: list[~azure.mgmt.storage.v2020_08_01_preview.models.SkuInformation] + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.SkuInformation] """ _validation = { @@ -4774,16 +5830,15 @@ class SystemData(msrest.serialization.Model): :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.storage.v2020_08_01_preview.models.CreatedByType + :type created_by_type: str or ~azure.mgmt.storage.v2021_08_01.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.mgmt.storage.v2020_08_01_preview.models.CreatedByType - :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_by_type: str or ~azure.mgmt.storage.v2021_08_01.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). :type last_modified_at: ~datetime.datetime """ @@ -4864,7 +5919,7 @@ class TableServiceProperties(Resource): :param cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Table service. - :type cors: ~azure.mgmt.storage.v2020_08_01_preview.models.CorsRules + :type cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules """ _validation = { @@ -4977,8 +6032,7 @@ class UpdateHistoryProperty(msrest.serialization.Model): :ivar update: The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend. Possible values include: "put", "lock", "extend". - :vartype update: str or - ~azure.mgmt.storage.v2020_08_01_preview.models.ImmutabilityPolicyUpdateType + :vartype update: str or ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyUpdateType :ivar immutability_period_since_creation_in_days: The immutability period for the blobs in the container since the policy creation, in days. :vartype immutability_period_since_creation_in_days: int @@ -4991,6 +6045,19 @@ class UpdateHistoryProperty(msrest.serialization.Model): :vartype tenant_id: str :ivar upn: Returns the User Principal Name of the user who updated the ImmutabilityPolicy. :vartype upn: str + :param allow_protected_append_writes: This property can only be changed for unlocked time-based + retention policies. When enabled, new blocks can be written to an append blob while maintaining + immutability protection and compliance. Only new blocks can be added and any existing blocks + cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy + API. + :type allow_protected_append_writes: bool + :param allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :type allow_protected_append_writes_all: bool """ _validation = { @@ -5009,6 +6076,8 @@ class UpdateHistoryProperty(msrest.serialization.Model): 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 'upn': {'key': 'upn', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'allowProtectedAppendWrites', 'type': 'bool'}, + 'allow_protected_append_writes_all': {'key': 'allowProtectedAppendWritesAll', 'type': 'bool'}, } def __init__( @@ -5022,6 +6091,8 @@ def __init__( self.object_identifier = None self.tenant_id = None self.upn = None + self.allow_protected_append_writes = kwargs.get('allow_protected_append_writes', None) + self.allow_protected_append_writes_all = kwargs.get('allow_protected_append_writes_all', None) class Usage(msrest.serialization.Model): @@ -5031,13 +6102,13 @@ class Usage(msrest.serialization.Model): :ivar unit: Gets the unit of measurement. Possible values include: "Count", "Bytes", "Seconds", "Percent", "CountsPerSecond", "BytesPerSecond". - :vartype unit: str or ~azure.mgmt.storage.v2020_08_01_preview.models.UsageUnit + :vartype unit: str or ~azure.mgmt.storage.v2021_08_01.models.UsageUnit :ivar current_value: Gets the current count of the allocated resources in the subscription. :vartype current_value: int :ivar limit: Gets the maximum count of the resources that can be allocated in the subscription. :vartype limit: int :ivar name: Gets the name of the type of usage. - :vartype name: ~azure.mgmt.storage.v2020_08_01_preview.models.UsageName + :vartype name: ~azure.mgmt.storage.v2021_08_01.models.UsageName """ _validation = { @@ -5069,7 +6140,7 @@ class UsageListResult(msrest.serialization.Model): """The response from the List Usages operation. :param value: Gets or sets the list of Storage Resource Usages. - :type value: list[~azure.mgmt.storage.v2020_08_01_preview.models.Usage] + :type value: list[~azure.mgmt.storage.v2021_08_01.models.Usage] """ _attribute_map = { @@ -5114,26 +6185,54 @@ def __init__( self.localized_value = None -class VirtualNetworkRule(msrest.serialization.Model): - """Virtual Network rule. +class UserAssignedIdentity(msrest.serialization.Model): + """UserAssignedIdentity for the resource. Variables are only populated by the server, and will be ignored when sending a request. + :ivar principal_id: The principal ID of the identity. + :vartype principal_id: str + :ivar client_id: The client ID of the 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(UserAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class VirtualNetworkRule(msrest.serialization.Model): + """Virtual Network rule. + All required parameters must be populated in order to send to Azure. :param virtual_network_resource_id: Required. Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. :type virtual_network_resource_id: str - :ivar action: The action of virtual network rule. Default value: "Allow". - :vartype action: str - :param state: Gets the state of virtual network rule. Possible values include: "provisioning", - "deprovisioning", "succeeded", "failed", "networkSourceDeleted". - :type state: str or ~azure.mgmt.storage.v2020_08_01_preview.models.State + :param action: The action of virtual network rule. The only acceptable values to pass in are + None and "Allow". The default value is None. + :type action: str + :param state: Gets the state of virtual network rule. Possible values include: "Provisioning", + "Deprovisioning", "Succeeded", "Failed", "NetworkSourceDeleted". + :type state: str or ~azure.mgmt.storage.v2021_08_01.models.State """ _validation = { 'virtual_network_resource_id': {'required': True}, - 'action': {'constant': True}, } _attribute_map = { @@ -5142,12 +6241,11 @@ class VirtualNetworkRule(msrest.serialization.Model): 'state': {'key': 'state', 'type': 'str'}, } - action = "Allow" - def __init__( self, **kwargs ): super(VirtualNetworkRule, self).__init__(**kwargs) self.virtual_network_resource_id = kwargs['virtual_network_resource_id'] + self.action = kwargs.get('action', None) self.state = kwargs.get('state', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_models_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_models_py3.py new file mode 100644 index 00000000000..cd6e033ecae --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_models_py3.py @@ -0,0 +1,8151 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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_management_client_enums import * + + +class AccessPolicy(msrest.serialization.Model): + """AccessPolicy. + + :ivar start_time: Start time of the access policy. + :vartype start_time: ~datetime.datetime + :ivar expiry_time: Expiry time of the access policy. + :vartype expiry_time: ~datetime.datetime + :ivar permission: List of abbreviated permissions. + :vartype permission: str + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'expiry_time': {'key': 'expiryTime', 'type': 'iso-8601'}, + 'permission': {'key': 'permission', 'type': 'str'}, + } + + def __init__( + self, + *, + start_time: Optional[datetime.datetime] = None, + expiry_time: Optional[datetime.datetime] = None, + permission: Optional[str] = None, + **kwargs + ): + """ + :keyword start_time: Start time of the access policy. + :paramtype start_time: ~datetime.datetime + :keyword expiry_time: Expiry time of the access policy. + :paramtype expiry_time: ~datetime.datetime + :keyword permission: List of abbreviated permissions. + :paramtype permission: str + """ + super(AccessPolicy, self).__init__(**kwargs) + self.start_time = start_time + self.expiry_time = expiry_time + self.permission = permission + + +class AccountImmutabilityPolicyProperties(msrest.serialization.Model): + """This defines account-level immutability policy properties. + + :ivar immutability_period_since_creation_in_days: The immutability period for the blobs in the + container since the policy creation, in days. + :vartype immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state defines the mode of the policy. Disabled state + disables the policy, Unlocked state allows increase and decrease of immutability retention time + and also allows toggling allowProtectedAppendWrites property, Locked state only allows the + increase of the immutability retention time. A policy can only be created in a Disabled or + Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state + can transition to a Locked state which cannot be reverted. Possible values include: "Unlocked", + "Locked", "Disabled". + :vartype state: str or ~azure.mgmt.storage.v2021_08_01.models.AccountImmutabilityPolicyState + :ivar allow_protected_append_writes: This property can only be changed for disabled and + unlocked time-based retention policies. When enabled, new blocks can be written to an append + blob while maintaining immutability protection and compliance. Only new blocks can be added and + any existing blocks cannot be modified or deleted. + :vartype allow_protected_append_writes: bool + """ + + _validation = { + 'immutability_period_since_creation_in_days': {'maximum': 146000, 'minimum': 1}, + } + + _attribute_map = { + 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'state', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'allowProtectedAppendWrites', 'type': 'bool'}, + } + + def __init__( + self, + *, + immutability_period_since_creation_in_days: Optional[int] = None, + state: Optional[Union[str, "AccountImmutabilityPolicyState"]] = None, + allow_protected_append_writes: Optional[bool] = None, + **kwargs + ): + """ + :keyword immutability_period_since_creation_in_days: The immutability period for the blobs in + the container since the policy creation, in days. + :paramtype immutability_period_since_creation_in_days: int + :keyword state: The ImmutabilityPolicy state defines the mode of the policy. Disabled state + disables the policy, Unlocked state allows increase and decrease of immutability retention time + and also allows toggling allowProtectedAppendWrites property, Locked state only allows the + increase of the immutability retention time. A policy can only be created in a Disabled or + Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state + can transition to a Locked state which cannot be reverted. Possible values include: "Unlocked", + "Locked", "Disabled". + :paramtype state: str or ~azure.mgmt.storage.v2021_08_01.models.AccountImmutabilityPolicyState + :keyword allow_protected_append_writes: This property can only be changed for disabled and + unlocked time-based retention policies. When enabled, new blocks can be written to an append + blob while maintaining immutability protection and compliance. Only new blocks can be added and + any existing blocks cannot be modified or deleted. + :paramtype allow_protected_append_writes: bool + """ + super(AccountImmutabilityPolicyProperties, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days + self.state = state + self.allow_protected_append_writes = allow_protected_append_writes + + +class AccountSasParameters(msrest.serialization.Model): + """The parameters to list SAS credentials of a storage account. + + All required parameters must be populated in order to send to Azure. + + :ivar services: Required. The signed services accessible with the account SAS. Possible values + include: Blob (b), Queue (q), Table (t), File (f). Possible values include: "b", "q", "t", "f". + :vartype services: str or ~azure.mgmt.storage.v2021_08_01.models.Services + :ivar resource_types: Required. The signed resource types that are accessible with the account + SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; + Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files. + Possible values include: "s", "c", "o". + :vartype resource_types: str or ~azure.mgmt.storage.v2021_08_01.models.SignedResourceTypes + :ivar permissions: Required. The signed permissions for the account SAS. Possible values + include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process + (p). Possible values include: "r", "d", "w", "l", "a", "c", "u", "p". + :vartype permissions: str or ~azure.mgmt.storage.v2021_08_01.models.Permissions + :ivar ip_address_or_range: An IP address or a range of IP addresses from which to accept + requests. + :vartype ip_address_or_range: str + :ivar protocols: The protocol permitted for a request made with the account SAS. Possible + values include: "https,http", "https". + :vartype protocols: str or ~azure.mgmt.storage.v2021_08_01.models.HttpProtocol + :ivar shared_access_start_time: The time at which the SAS becomes valid. + :vartype shared_access_start_time: ~datetime.datetime + :ivar shared_access_expiry_time: Required. The time at which the shared access signature + becomes invalid. + :vartype shared_access_expiry_time: ~datetime.datetime + :ivar key_to_sign: The key to sign the account SAS token with. + :vartype key_to_sign: str + """ + + _validation = { + 'services': {'required': True}, + 'resource_types': {'required': True}, + 'permissions': {'required': True}, + 'shared_access_expiry_time': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'signedServices', 'type': 'str'}, + 'resource_types': {'key': 'signedResourceTypes', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'str'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + } + + def __init__( + self, + *, + services: Union[str, "Services"], + resource_types: Union[str, "SignedResourceTypes"], + permissions: Union[str, "Permissions"], + shared_access_expiry_time: datetime.datetime, + ip_address_or_range: Optional[str] = None, + protocols: Optional[Union[str, "HttpProtocol"]] = None, + shared_access_start_time: Optional[datetime.datetime] = None, + key_to_sign: Optional[str] = None, + **kwargs + ): + """ + :keyword services: Required. The signed services accessible with the account SAS. Possible + values include: Blob (b), Queue (q), Table (t), File (f). Possible values include: "b", "q", + "t", "f". + :paramtype services: str or ~azure.mgmt.storage.v2021_08_01.models.Services + :keyword resource_types: Required. The signed resource types that are accessible with the + account SAS. Service (s): Access to service-level APIs; Container (c): Access to + container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table + entities, and files. Possible values include: "s", "c", "o". + :paramtype resource_types: str or ~azure.mgmt.storage.v2021_08_01.models.SignedResourceTypes + :keyword permissions: Required. The signed permissions for the account SAS. Possible values + include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process + (p). Possible values include: "r", "d", "w", "l", "a", "c", "u", "p". + :paramtype permissions: str or ~azure.mgmt.storage.v2021_08_01.models.Permissions + :keyword ip_address_or_range: An IP address or a range of IP addresses from which to accept + requests. + :paramtype ip_address_or_range: str + :keyword protocols: The protocol permitted for a request made with the account SAS. Possible + values include: "https,http", "https". + :paramtype protocols: str or ~azure.mgmt.storage.v2021_08_01.models.HttpProtocol + :keyword shared_access_start_time: The time at which the SAS becomes valid. + :paramtype shared_access_start_time: ~datetime.datetime + :keyword shared_access_expiry_time: Required. The time at which the shared access signature + becomes invalid. + :paramtype shared_access_expiry_time: ~datetime.datetime + :keyword key_to_sign: The key to sign the account SAS token with. + :paramtype key_to_sign: str + """ + super(AccountSasParameters, self).__init__(**kwargs) + self.services = services + self.resource_types = resource_types + self.permissions = permissions + self.ip_address_or_range = ip_address_or_range + self.protocols = protocols + self.shared_access_start_time = shared_access_start_time + self.shared_access_expiry_time = shared_access_expiry_time + self.key_to_sign = key_to_sign + + +class ActiveDirectoryProperties(msrest.serialization.Model): + """Settings properties for Active Directory (AD). + + All required parameters must be populated in order to send to Azure. + + :ivar domain_name: Required. Specifies the primary domain that the AD DNS server is + authoritative for. + :vartype domain_name: str + :ivar net_bios_domain_name: Required. Specifies the NetBIOS domain name. + :vartype net_bios_domain_name: str + :ivar forest_name: Required. Specifies the Active Directory forest to get. + :vartype forest_name: str + :ivar domain_guid: Required. Specifies the domain GUID. + :vartype domain_guid: str + :ivar domain_sid: Required. Specifies the security identifier (SID). + :vartype domain_sid: str + :ivar azure_storage_sid: Required. Specifies the security identifier (SID) for Azure Storage. + :vartype azure_storage_sid: str + :ivar sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage. + :vartype sam_account_name: str + :ivar account_type: Specifies the Active Directory account type for Azure Storage. Possible + values include: "User", "Computer". + :vartype account_type: str or + ~azure.mgmt.storage.v2021_08_01.models.ActiveDirectoryPropertiesAccountType + """ + + _validation = { + 'domain_name': {'required': True}, + 'net_bios_domain_name': {'required': True}, + 'forest_name': {'required': True}, + 'domain_guid': {'required': True}, + 'domain_sid': {'required': True}, + 'azure_storage_sid': {'required': True}, + } + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'net_bios_domain_name': {'key': 'netBiosDomainName', 'type': 'str'}, + 'forest_name': {'key': 'forestName', 'type': 'str'}, + 'domain_guid': {'key': 'domainGuid', 'type': 'str'}, + 'domain_sid': {'key': 'domainSid', 'type': 'str'}, + 'azure_storage_sid': {'key': 'azureStorageSid', 'type': 'str'}, + 'sam_account_name': {'key': 'samAccountName', 'type': 'str'}, + 'account_type': {'key': 'accountType', 'type': 'str'}, + } + + def __init__( + self, + *, + domain_name: str, + net_bios_domain_name: str, + forest_name: str, + domain_guid: str, + domain_sid: str, + azure_storage_sid: str, + sam_account_name: Optional[str] = None, + account_type: Optional[Union[str, "ActiveDirectoryPropertiesAccountType"]] = None, + **kwargs + ): + """ + :keyword domain_name: Required. Specifies the primary domain that the AD DNS server is + authoritative for. + :paramtype domain_name: str + :keyword net_bios_domain_name: Required. Specifies the NetBIOS domain name. + :paramtype net_bios_domain_name: str + :keyword forest_name: Required. Specifies the Active Directory forest to get. + :paramtype forest_name: str + :keyword domain_guid: Required. Specifies the domain GUID. + :paramtype domain_guid: str + :keyword domain_sid: Required. Specifies the security identifier (SID). + :paramtype domain_sid: str + :keyword azure_storage_sid: Required. Specifies the security identifier (SID) for Azure + Storage. + :paramtype azure_storage_sid: str + :keyword sam_account_name: Specifies the Active Directory SAMAccountName for Azure Storage. + :paramtype sam_account_name: str + :keyword account_type: Specifies the Active Directory account type for Azure Storage. Possible + values include: "User", "Computer". + :paramtype account_type: str or + ~azure.mgmt.storage.v2021_08_01.models.ActiveDirectoryPropertiesAccountType + """ + super(ActiveDirectoryProperties, self).__init__(**kwargs) + self.domain_name = domain_name + self.net_bios_domain_name = net_bios_domain_name + self.forest_name = forest_name + self.domain_guid = domain_guid + self.domain_sid = domain_sid + self.azure_storage_sid = azure_storage_sid + self.sam_account_name = sam_account_name + self.account_type = account_type + + +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 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 + + +class AzureFilesIdentityBasedAuthentication(msrest.serialization.Model): + """Settings for Azure Files identity based authentication. + + All required parameters must be populated in order to send to Azure. + + :ivar directory_service_options: Required. Indicates the directory service used. Possible + values include: "None", "AADDS", "AD". + :vartype directory_service_options: str or + ~azure.mgmt.storage.v2021_08_01.models.DirectoryServiceOptions + :ivar active_directory_properties: Required if choose AD. + :vartype active_directory_properties: + ~azure.mgmt.storage.v2021_08_01.models.ActiveDirectoryProperties + :ivar default_share_permission: Default share permission for users using Kerberos + authentication if RBAC role is not assigned. Possible values include: "None", + "StorageFileDataSmbShareReader", "StorageFileDataSmbShareContributor", + "StorageFileDataSmbShareElevatedContributor". + :vartype default_share_permission: str or + ~azure.mgmt.storage.v2021_08_01.models.DefaultSharePermission + """ + + _validation = { + 'directory_service_options': {'required': True}, + } + + _attribute_map = { + 'directory_service_options': {'key': 'directoryServiceOptions', 'type': 'str'}, + 'active_directory_properties': {'key': 'activeDirectoryProperties', 'type': 'ActiveDirectoryProperties'}, + 'default_share_permission': {'key': 'defaultSharePermission', 'type': 'str'}, + } + + def __init__( + self, + *, + directory_service_options: Union[str, "DirectoryServiceOptions"], + active_directory_properties: Optional["ActiveDirectoryProperties"] = None, + default_share_permission: Optional[Union[str, "DefaultSharePermission"]] = None, + **kwargs + ): + """ + :keyword directory_service_options: Required. Indicates the directory service used. Possible + values include: "None", "AADDS", "AD". + :paramtype directory_service_options: str or + ~azure.mgmt.storage.v2021_08_01.models.DirectoryServiceOptions + :keyword active_directory_properties: Required if choose AD. + :paramtype active_directory_properties: + ~azure.mgmt.storage.v2021_08_01.models.ActiveDirectoryProperties + :keyword default_share_permission: Default share permission for users using Kerberos + authentication if RBAC role is not assigned. Possible values include: "None", + "StorageFileDataSmbShareReader", "StorageFileDataSmbShareContributor", + "StorageFileDataSmbShareElevatedContributor". + :paramtype default_share_permission: str or + ~azure.mgmt.storage.v2021_08_01.models.DefaultSharePermission + """ + super(AzureFilesIdentityBasedAuthentication, self).__init__(**kwargs) + self.directory_service_options = directory_service_options + self.active_directory_properties = active_directory_properties + self.default_share_permission = default_share_permission + + +class BlobContainer(AzureEntityResource): + """Properties of the blob container, including Id, resource name, resource type, Etag. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :ivar version: The version of the deleted blob container. + :vartype version: str + :ivar deleted: Indicates whether the blob container was deleted. + :vartype deleted: bool + :ivar deleted_time: Blob container deletion time. + :vartype deleted_time: ~datetime.datetime + :ivar remaining_retention_days: Remaining retention days for soft deleted blob container. + :vartype remaining_retention_days: int + :ivar default_encryption_scope: Default the container to use specified encryption scope for all + writes. + :vartype default_encryption_scope: str + :ivar deny_encryption_scope_override: Block override of encryption scope from the container + default. + :vartype deny_encryption_scope_override: bool + :ivar public_access: Specifies whether data in the container may be accessed publicly and the + level of access. Possible values include: "Container", "Blob", "None". + :vartype public_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last modified. + :vartype last_modified_time: ~datetime.datetime + :ivar lease_status: The lease status of the container. Possible values include: "Locked", + "Unlocked". + :vartype lease_status: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: "Available", + "Leased", "Expired", "Breaking", "Broken". + :vartype lease_state: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of infinite or fixed + duration, only when the container is leased. Possible values include: "Infinite", "Fixed". + :vartype lease_duration: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseDuration + :ivar metadata: A name-value pair to associate with the container as metadata. + :vartype metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: ~azure.mgmt.storage.v2021_08_01.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at + least one existing tag. The hasLegalHold public property is set to false by SRP if all existing + legal hold tags are cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property is set to true by SRP + if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public + property is set to false by SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + :ivar immutable_storage_with_versioning: The object level immutability property of the + container. The property is immutable and can only be set to true at the container creation + time. Existing containers must undergo a migration process. + :vartype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageWithVersioning + :ivar enable_nfs_v3_root_squash: Enable NFSv3 root squash on blob container. + :vartype enable_nfs_v3_root_squash: bool + :ivar enable_nfs_v3_all_squash: Enable NFSv3 all squash on blob container. + :vartype enable_nfs_v3_all_squash: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'version': {'readonly': True}, + 'deleted': {'readonly': True}, + 'deleted_time': {'readonly': True}, + 'remaining_retention_days': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, + 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, + 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, + 'default_encryption_scope': {'key': 'properties.defaultEncryptionScope', 'type': 'str'}, + 'deny_encryption_scope_override': {'key': 'properties.denyEncryptionScopeOverride', 'type': 'bool'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageWithVersioning'}, + 'enable_nfs_v3_root_squash': {'key': 'properties.enableNfsV3RootSquash', 'type': 'bool'}, + 'enable_nfs_v3_all_squash': {'key': 'properties.enableNfsV3AllSquash', 'type': 'bool'}, + } + + def __init__( + self, + *, + default_encryption_scope: Optional[str] = None, + deny_encryption_scope_override: Optional[bool] = None, + public_access: Optional[Union[str, "PublicAccess"]] = None, + metadata: Optional[Dict[str, str]] = None, + immutable_storage_with_versioning: Optional["ImmutableStorageWithVersioning"] = None, + enable_nfs_v3_root_squash: Optional[bool] = None, + enable_nfs_v3_all_squash: Optional[bool] = None, + **kwargs + ): + """ + :keyword default_encryption_scope: Default the container to use specified encryption scope for + all writes. + :paramtype default_encryption_scope: str + :keyword deny_encryption_scope_override: Block override of encryption scope from the container + default. + :paramtype deny_encryption_scope_override: bool + :keyword public_access: Specifies whether data in the container may be accessed publicly and + the level of access. Possible values include: "Container", "Blob", "None". + :paramtype public_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicAccess + :keyword metadata: A name-value pair to associate with the container as metadata. + :paramtype metadata: dict[str, str] + :keyword immutable_storage_with_versioning: The object level immutability property of the + container. The property is immutable and can only be set to true at the container creation + time. Existing containers must undergo a migration process. + :paramtype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageWithVersioning + :keyword enable_nfs_v3_root_squash: Enable NFSv3 root squash on blob container. + :paramtype enable_nfs_v3_root_squash: bool + :keyword enable_nfs_v3_all_squash: Enable NFSv3 all squash on blob container. + :paramtype enable_nfs_v3_all_squash: bool + """ + super(BlobContainer, self).__init__(**kwargs) + self.version = None + self.deleted = None + self.deleted_time = None + self.remaining_retention_days = None + self.default_encryption_scope = default_encryption_scope + self.deny_encryption_scope_override = deny_encryption_scope_override + self.public_access = public_access + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = metadata + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None + self.immutable_storage_with_versioning = immutable_storage_with_versioning + self.enable_nfs_v3_root_squash = enable_nfs_v3_root_squash + self.enable_nfs_v3_all_squash = enable_nfs_v3_all_squash + + +class BlobInventoryPolicy(Resource): + """The storage account blob inventory policy. + + 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: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.storage.v2021_08_01.models.SystemData + :ivar last_modified_time: Returns the last modified date and time of the blob inventory policy. + :vartype last_modified_time: ~datetime.datetime + :ivar policy: The storage account blob inventory policy object. It is composed of policy rules. + :vartype policy: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicySchema + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'last_modified_time': {'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'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'policy': {'key': 'properties.policy', 'type': 'BlobInventoryPolicySchema'}, + } + + def __init__( + self, + *, + policy: Optional["BlobInventoryPolicySchema"] = None, + **kwargs + ): + """ + :keyword policy: The storage account blob inventory policy object. It is composed of policy + rules. + :paramtype policy: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicySchema + """ + super(BlobInventoryPolicy, self).__init__(**kwargs) + self.system_data = None + self.last_modified_time = None + self.policy = policy + + +class BlobInventoryPolicyDefinition(msrest.serialization.Model): + """An object that defines the blob inventory rule. + + All required parameters must be populated in order to send to Azure. + + :ivar filters: An object that defines the filter set. + :vartype filters: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyFilter + :ivar format: Required. This is a required field, it specifies the format for the inventory + files. Possible values include: "Csv", "Parquet". + :vartype format: str or ~azure.mgmt.storage.v2021_08_01.models.Format + :ivar schedule: Required. This is a required field. This field is used to schedule an inventory + formation. Possible values include: "Daily", "Weekly". + :vartype schedule: str or ~azure.mgmt.storage.v2021_08_01.models.Schedule + :ivar object_type: Required. This is a required field. This field specifies the scope of the + inventory created either at the blob or container level. Possible values include: "Blob", + "Container". + :vartype object_type: str or ~azure.mgmt.storage.v2021_08_01.models.ObjectType + :ivar schema_fields: Required. This is a required field. This field specifies the fields and + properties of the object to be included in the inventory. The Schema field value 'Name' is + always required. The valid values for this field for the 'Blob' definition.objectType include + 'Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, + AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, + Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, LastAccessTime'. The valid + values for 'Container' definition.objectType include 'Name, Last-Modified, Metadata, + LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold'. + Schema field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl' are valid only + for Hns enabled accounts.'Tags' field is only valid for non Hns accounts. + :vartype schema_fields: list[str] + """ + + _validation = { + 'format': {'required': True}, + 'schedule': {'required': True}, + 'object_type': {'required': True}, + 'schema_fields': {'required': True}, + } + + _attribute_map = { + 'filters': {'key': 'filters', 'type': 'BlobInventoryPolicyFilter'}, + 'format': {'key': 'format', 'type': 'str'}, + 'schedule': {'key': 'schedule', 'type': 'str'}, + 'object_type': {'key': 'objectType', 'type': 'str'}, + 'schema_fields': {'key': 'schemaFields', 'type': '[str]'}, + } + + def __init__( + self, + *, + format: Union[str, "Format"], + schedule: Union[str, "Schedule"], + object_type: Union[str, "ObjectType"], + schema_fields: List[str], + filters: Optional["BlobInventoryPolicyFilter"] = None, + **kwargs + ): + """ + :keyword filters: An object that defines the filter set. + :paramtype filters: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyFilter + :keyword format: Required. This is a required field, it specifies the format for the inventory + files. Possible values include: "Csv", "Parquet". + :paramtype format: str or ~azure.mgmt.storage.v2021_08_01.models.Format + :keyword schedule: Required. This is a required field. This field is used to schedule an + inventory formation. Possible values include: "Daily", "Weekly". + :paramtype schedule: str or ~azure.mgmt.storage.v2021_08_01.models.Schedule + :keyword object_type: Required. This is a required field. This field specifies the scope of the + inventory created either at the blob or container level. Possible values include: "Blob", + "Container". + :paramtype object_type: str or ~azure.mgmt.storage.v2021_08_01.models.ObjectType + :keyword schema_fields: Required. This is a required field. This field specifies the fields and + properties of the object to be included in the inventory. The Schema field value 'Name' is + always required. The valid values for this field for the 'Blob' definition.objectType include + 'Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, + AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, + Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, LastAccessTime'. The valid + values for 'Container' definition.objectType include 'Name, Last-Modified, Metadata, + LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold'. + Schema field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl' are valid only + for Hns enabled accounts.'Tags' field is only valid for non Hns accounts. + :paramtype schema_fields: list[str] + """ + super(BlobInventoryPolicyDefinition, self).__init__(**kwargs) + self.filters = filters + self.format = format + self.schedule = schedule + self.object_type = object_type + self.schema_fields = schema_fields + + +class BlobInventoryPolicyFilter(msrest.serialization.Model): + """An object that defines the blob inventory rule filter conditions. For 'Blob' definition.objectType all filter properties are applicable, 'blobTypes' is required and others are optional. For 'Container' definition.objectType only prefixMatch is applicable and is optional. + + :ivar prefix_match: An array of strings for blob prefixes to be matched. + :vartype prefix_match: list[str] + :ivar blob_types: An array of predefined enum values. Valid values include blockBlob, + appendBlob, pageBlob. Hns accounts does not support pageBlobs. This field is required when + definition.objectType property is set to 'Blob'. + :vartype blob_types: list[str] + :ivar include_blob_versions: Includes blob versions in blob inventory when value is set to + true. The definition.schemaFields values 'VersionId and IsCurrentVersion' are required if this + property is set to true, else they must be excluded. + :vartype include_blob_versions: bool + :ivar include_snapshots: Includes blob snapshots in blob inventory when value is set to true. + The definition.schemaFields value 'Snapshot' is required if this property is set to true, else + it must be excluded. + :vartype include_snapshots: bool + """ + + _attribute_map = { + 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, + 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, + 'include_blob_versions': {'key': 'includeBlobVersions', 'type': 'bool'}, + 'include_snapshots': {'key': 'includeSnapshots', 'type': 'bool'}, + } + + def __init__( + self, + *, + prefix_match: Optional[List[str]] = None, + blob_types: Optional[List[str]] = None, + include_blob_versions: Optional[bool] = None, + include_snapshots: Optional[bool] = None, + **kwargs + ): + """ + :keyword prefix_match: An array of strings for blob prefixes to be matched. + :paramtype prefix_match: list[str] + :keyword blob_types: An array of predefined enum values. Valid values include blockBlob, + appendBlob, pageBlob. Hns accounts does not support pageBlobs. This field is required when + definition.objectType property is set to 'Blob'. + :paramtype blob_types: list[str] + :keyword include_blob_versions: Includes blob versions in blob inventory when value is set to + true. The definition.schemaFields values 'VersionId and IsCurrentVersion' are required if this + property is set to true, else they must be excluded. + :paramtype include_blob_versions: bool + :keyword include_snapshots: Includes blob snapshots in blob inventory when value is set to + true. The definition.schemaFields value 'Snapshot' is required if this property is set to true, + else it must be excluded. + :paramtype include_snapshots: bool + """ + super(BlobInventoryPolicyFilter, self).__init__(**kwargs) + self.prefix_match = prefix_match + self.blob_types = blob_types + self.include_blob_versions = include_blob_versions + self.include_snapshots = include_snapshots + + +class BlobInventoryPolicyRule(msrest.serialization.Model): + """An object that wraps the blob inventory rule. Each rule is uniquely defined by name. + + All required parameters must be populated in order to send to Azure. + + :ivar enabled: Required. Rule is enabled when set to true. + :vartype enabled: bool + :ivar name: Required. A rule name can contain any combination of alpha numeric characters. Rule + name is case-sensitive. It must be unique within a policy. + :vartype name: str + :ivar destination: Required. Container name where blob inventory files are stored. Must be + pre-created. + :vartype destination: str + :ivar definition: Required. An object that defines the blob inventory policy rule. + :vartype definition: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyDefinition + """ + + _validation = { + 'enabled': {'required': True}, + 'name': {'required': True}, + 'destination': {'required': True}, + 'definition': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'destination': {'key': 'destination', 'type': 'str'}, + 'definition': {'key': 'definition', 'type': 'BlobInventoryPolicyDefinition'}, + } + + def __init__( + self, + *, + enabled: bool, + name: str, + destination: str, + definition: "BlobInventoryPolicyDefinition", + **kwargs + ): + """ + :keyword enabled: Required. Rule is enabled when set to true. + :paramtype enabled: bool + :keyword name: Required. A rule name can contain any combination of alpha numeric characters. + Rule name is case-sensitive. It must be unique within a policy. + :paramtype name: str + :keyword destination: Required. Container name where blob inventory files are stored. Must be + pre-created. + :paramtype destination: str + :keyword definition: Required. An object that defines the blob inventory policy rule. + :paramtype definition: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyDefinition + """ + super(BlobInventoryPolicyRule, self).__init__(**kwargs) + self.enabled = enabled + self.name = name + self.destination = destination + self.definition = definition + + +class BlobInventoryPolicySchema(msrest.serialization.Model): + """The storage account blob inventory policy rules. + + All required parameters must be populated in order to send to Azure. + + :ivar enabled: Required. Policy is enabled if set to true. + :vartype enabled: bool + :ivar type: Required. The valid value is Inventory. Possible values include: "Inventory". + :vartype type: str or ~azure.mgmt.storage.v2021_08_01.models.InventoryRuleType + :ivar rules: Required. The storage account blob inventory policy rules. The rule is applied + when it is enabled. + :vartype rules: list[~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyRule] + """ + + _validation = { + 'enabled': {'required': True}, + 'type': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[BlobInventoryPolicyRule]'}, + } + + def __init__( + self, + *, + enabled: bool, + type: Union[str, "InventoryRuleType"], + rules: List["BlobInventoryPolicyRule"], + **kwargs + ): + """ + :keyword enabled: Required. Policy is enabled if set to true. + :paramtype enabled: bool + :keyword type: Required. The valid value is Inventory. Possible values include: "Inventory". + :paramtype type: str or ~azure.mgmt.storage.v2021_08_01.models.InventoryRuleType + :keyword rules: Required. The storage account blob inventory policy rules. The rule is applied + when it is enabled. + :paramtype rules: list[~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyRule] + """ + super(BlobInventoryPolicySchema, self).__init__(**kwargs) + self.enabled = enabled + self.type = type + self.rules = rules + + +class BlobRestoreParameters(msrest.serialization.Model): + """Blob restore parameters. + + All required parameters must be populated in order to send to Azure. + + :ivar time_to_restore: Required. Restore blob to the specified time. + :vartype time_to_restore: ~datetime.datetime + :ivar blob_ranges: Required. Blob ranges to restore. + :vartype blob_ranges: list[~azure.mgmt.storage.v2021_08_01.models.BlobRestoreRange] + """ + + _validation = { + 'time_to_restore': {'required': True}, + 'blob_ranges': {'required': True}, + } + + _attribute_map = { + 'time_to_restore': {'key': 'timeToRestore', 'type': 'iso-8601'}, + 'blob_ranges': {'key': 'blobRanges', 'type': '[BlobRestoreRange]'}, + } + + def __init__( + self, + *, + time_to_restore: datetime.datetime, + blob_ranges: List["BlobRestoreRange"], + **kwargs + ): + """ + :keyword time_to_restore: Required. Restore blob to the specified time. + :paramtype time_to_restore: ~datetime.datetime + :keyword blob_ranges: Required. Blob ranges to restore. + :paramtype blob_ranges: list[~azure.mgmt.storage.v2021_08_01.models.BlobRestoreRange] + """ + super(BlobRestoreParameters, self).__init__(**kwargs) + self.time_to_restore = time_to_restore + self.blob_ranges = blob_ranges + + +class BlobRestoreRange(msrest.serialization.Model): + """Blob range. + + All required parameters must be populated in order to send to Azure. + + :ivar start_range: Required. Blob start range. This is inclusive. Empty means account start. + :vartype start_range: str + :ivar end_range: Required. Blob end range. This is exclusive. Empty means account end. + :vartype end_range: str + """ + + _validation = { + 'start_range': {'required': True}, + 'end_range': {'required': True}, + } + + _attribute_map = { + 'start_range': {'key': 'startRange', 'type': 'str'}, + 'end_range': {'key': 'endRange', 'type': 'str'}, + } + + def __init__( + self, + *, + start_range: str, + end_range: str, + **kwargs + ): + """ + :keyword start_range: Required. Blob start range. This is inclusive. Empty means account start. + :paramtype start_range: str + :keyword end_range: Required. Blob end range. This is exclusive. Empty means account end. + :paramtype end_range: str + """ + super(BlobRestoreRange, self).__init__(**kwargs) + self.start_range = start_range + self.end_range = end_range + + +class BlobRestoreStatus(msrest.serialization.Model): + """Blob restore status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar status: The status of blob restore progress. Possible values are: - InProgress: Indicates + that blob restore is ongoing. - Complete: Indicates that blob restore has been completed + successfully. - Failed: Indicates that blob restore is failed. Possible values include: + "InProgress", "Complete", "Failed". + :vartype status: str or ~azure.mgmt.storage.v2021_08_01.models.BlobRestoreProgressStatus + :ivar failure_reason: Failure reason when blob restore is failed. + :vartype failure_reason: str + :ivar restore_id: Id for tracking blob restore request. + :vartype restore_id: str + :ivar parameters: Blob restore request parameters. + :vartype parameters: ~azure.mgmt.storage.v2021_08_01.models.BlobRestoreParameters + """ + + _validation = { + 'status': {'readonly': True}, + 'failure_reason': {'readonly': True}, + 'restore_id': {'readonly': True}, + 'parameters': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'failure_reason': {'key': 'failureReason', 'type': 'str'}, + 'restore_id': {'key': 'restoreId', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'BlobRestoreParameters'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(BlobRestoreStatus, self).__init__(**kwargs) + self.status = None + self.failure_reason = None + self.restore_id = None + self.parameters = None + + +class BlobServiceItems(msrest.serialization.Model): + """BlobServiceItems. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of blob services returned. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.BlobServiceProperties] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BlobServiceProperties]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(BlobServiceItems, self).__init__(**kwargs) + self.value = None + + +class BlobServiceProperties(Resource): + """The properties of a storage account’s Blob service. + + 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 sku: Sku name and tier. + :vartype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku + :ivar cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule + elements in the request. If no CorsRule elements are included in the request body, all CORS + rules will be deleted, and CORS will be disabled for the Blob service. + :vartype cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules + :ivar default_service_version: DefaultServiceVersion indicates 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. + :vartype default_service_version: str + :ivar delete_retention_policy: The blob service properties for blob soft delete. + :vartype delete_retention_policy: ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy + :ivar is_versioning_enabled: Versioning is enabled if set to true. + :vartype is_versioning_enabled: bool + :ivar automatic_snapshot_policy_enabled: Deprecated in favor of isVersioningEnabled property. + :vartype automatic_snapshot_policy_enabled: bool + :ivar change_feed: The blob service properties for change feed events. + :vartype change_feed: ~azure.mgmt.storage.v2021_08_01.models.ChangeFeed + :ivar restore_policy: The blob service properties for blob restore policy. + :vartype restore_policy: ~azure.mgmt.storage.v2021_08_01.models.RestorePolicyProperties + :ivar container_delete_retention_policy: The blob service properties for container soft delete. + :vartype container_delete_retention_policy: + ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy + :ivar last_access_time_tracking_policy: The blob service property to configure last access time + based tracking policy. + :vartype last_access_time_tracking_policy: + ~azure.mgmt.storage.v2021_08_01.models.LastAccessTimeTrackingPolicy + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, + 'default_service_version': {'key': 'properties.defaultServiceVersion', 'type': 'str'}, + 'delete_retention_policy': {'key': 'properties.deleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'is_versioning_enabled': {'key': 'properties.isVersioningEnabled', 'type': 'bool'}, + 'automatic_snapshot_policy_enabled': {'key': 'properties.automaticSnapshotPolicyEnabled', 'type': 'bool'}, + 'change_feed': {'key': 'properties.changeFeed', 'type': 'ChangeFeed'}, + 'restore_policy': {'key': 'properties.restorePolicy', 'type': 'RestorePolicyProperties'}, + 'container_delete_retention_policy': {'key': 'properties.containerDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'last_access_time_tracking_policy': {'key': 'properties.lastAccessTimeTrackingPolicy', 'type': 'LastAccessTimeTrackingPolicy'}, + } + + def __init__( + self, + *, + cors: Optional["CorsRules"] = None, + default_service_version: Optional[str] = None, + delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, + is_versioning_enabled: Optional[bool] = None, + automatic_snapshot_policy_enabled: Optional[bool] = None, + change_feed: Optional["ChangeFeed"] = None, + restore_policy: Optional["RestorePolicyProperties"] = None, + container_delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, + last_access_time_tracking_policy: Optional["LastAccessTimeTrackingPolicy"] = None, + **kwargs + ): + """ + :keyword cors: Specifies CORS rules for the Blob service. You can include up to five CorsRule + elements in the request. If no CorsRule elements are included in the request body, all CORS + rules will be deleted, and CORS will be disabled for the Blob service. + :paramtype cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules + :keyword default_service_version: DefaultServiceVersion indicates 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. + :paramtype default_service_version: str + :keyword delete_retention_policy: The blob service properties for blob soft delete. + :paramtype delete_retention_policy: + ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy + :keyword is_versioning_enabled: Versioning is enabled if set to true. + :paramtype is_versioning_enabled: bool + :keyword automatic_snapshot_policy_enabled: Deprecated in favor of isVersioningEnabled + property. + :paramtype automatic_snapshot_policy_enabled: bool + :keyword change_feed: The blob service properties for change feed events. + :paramtype change_feed: ~azure.mgmt.storage.v2021_08_01.models.ChangeFeed + :keyword restore_policy: The blob service properties for blob restore policy. + :paramtype restore_policy: ~azure.mgmt.storage.v2021_08_01.models.RestorePolicyProperties + :keyword container_delete_retention_policy: The blob service properties for container soft + delete. + :paramtype container_delete_retention_policy: + ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy + :keyword last_access_time_tracking_policy: The blob service property to configure last access + time based tracking policy. + :paramtype last_access_time_tracking_policy: + ~azure.mgmt.storage.v2021_08_01.models.LastAccessTimeTrackingPolicy + """ + super(BlobServiceProperties, self).__init__(**kwargs) + self.sku = None + self.cors = cors + self.default_service_version = default_service_version + self.delete_retention_policy = delete_retention_policy + self.is_versioning_enabled = is_versioning_enabled + self.automatic_snapshot_policy_enabled = automatic_snapshot_policy_enabled + self.change_feed = change_feed + self.restore_policy = restore_policy + self.container_delete_retention_policy = container_delete_retention_policy + self.last_access_time_tracking_policy = last_access_time_tracking_policy + + +class ChangeFeed(msrest.serialization.Model): + """The blob service properties for change feed events. + + :ivar enabled: Indicates whether change feed event logging is enabled for the Blob service. + :vartype enabled: bool + :ivar retention_in_days: Indicates the duration of changeFeed retention in days. Minimum value + is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite + retention of the change feed. + :vartype retention_in_days: int + """ + + _validation = { + 'retention_in_days': {'maximum': 146000, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'retention_in_days': {'key': 'retentionInDays', 'type': 'int'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + retention_in_days: Optional[int] = None, + **kwargs + ): + """ + :keyword enabled: Indicates whether change feed event logging is enabled for the Blob service. + :paramtype enabled: bool + :keyword retention_in_days: Indicates the duration of changeFeed retention in days. Minimum + value is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite + retention of the change feed. + :paramtype retention_in_days: int + """ + super(ChangeFeed, self).__init__(**kwargs) + self.enabled = enabled + self.retention_in_days = retention_in_days + + +class CheckNameAvailabilityResult(msrest.serialization.Model): + """The CheckNameAvailability operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name_available: Gets a boolean value that indicates whether the name is available for you + to use. If true, the name is available. If false, the name has already been taken or is invalid + and cannot be used. + :vartype name_available: bool + :ivar reason: Gets the reason that a storage account name could not be used. The Reason element + is only returned if NameAvailable is false. Possible values include: "AccountNameInvalid", + "AlreadyExists". + :vartype reason: str or ~azure.mgmt.storage.v2021_08_01.models.Reason + :ivar message: Gets an error message explaining the Reason value in more detail. + :vartype message: str + """ + + _validation = { + 'name_available': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'name_available': {'key': 'nameAvailable', 'type': 'bool'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(CheckNameAvailabilityResult, self).__init__(**kwargs) + self.name_available = None + self.reason = None + self.message = None + + +class CloudErrorAutoGenerated(msrest.serialization.Model): + """An error response from the Storage service. + + :ivar error: An error response from the Storage service. + :vartype error: ~azure.mgmt.storage.v2021_08_01.models.CloudErrorBodyAutoGenerated + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBodyAutoGenerated'}, + } + + def __init__( + self, + *, + error: Optional["CloudErrorBodyAutoGenerated"] = None, + **kwargs + ): + """ + :keyword error: An error response from the Storage service. + :paramtype error: ~azure.mgmt.storage.v2021_08_01.models.CloudErrorBodyAutoGenerated + """ + super(CloudErrorAutoGenerated, self).__init__(**kwargs) + self.error = error + + +class CloudErrorBody(msrest.serialization.Model): + """An error response from the Storage service. + + :ivar code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :vartype code: str + :ivar message: A message describing the error, intended to be suitable for display in a user + interface. + :vartype message: str + :ivar target: The target of the particular error. For example, the name of the property in + error. + :vartype target: str + :ivar details: A list of additional details about the error. + :vartype details: list[~azure.mgmt.storage.v2021_08_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: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["CloudErrorBody"]] = None, + **kwargs + ): + """ + :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :paramtype code: str + :keyword message: A message describing the error, intended to be suitable for display in a user + interface. + :paramtype message: str + :keyword target: The target of the particular error. For example, the name of the property in + error. + :paramtype target: str + :keyword details: A list of additional details about the error. + :paramtype details: list[~azure.mgmt.storage.v2021_08_01.models.CloudErrorBody] + """ + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class CloudErrorBodyAutoGenerated(msrest.serialization.Model): + """An error response from the Storage service. + + :ivar code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :vartype code: str + :ivar message: A message describing the error, intended to be suitable for display in a user + interface. + :vartype message: str + :ivar target: The target of the particular error. For example, the name of the property in + error. + :vartype target: str + :ivar details: A list of additional details about the error. + :vartype details: list[~azure.mgmt.storage.v2021_08_01.models.CloudErrorBodyAutoGenerated] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBodyAutoGenerated]'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + target: Optional[str] = None, + details: Optional[List["CloudErrorBodyAutoGenerated"]] = None, + **kwargs + ): + """ + :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :paramtype code: str + :keyword message: A message describing the error, intended to be suitable for display in a user + interface. + :paramtype message: str + :keyword target: The target of the particular error. For example, the name of the property in + error. + :paramtype target: str + :keyword details: A list of additional details about the error. + :paramtype details: list[~azure.mgmt.storage.v2021_08_01.models.CloudErrorBodyAutoGenerated] + """ + super(CloudErrorBodyAutoGenerated, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class CorsRule(msrest.serialization.Model): + """Specifies a CORS rule for the Blob service. + + All required parameters must be populated in order to send to Azure. + + :ivar allowed_origins: Required. Required if CorsRule element is present. A list of origin + domains that will be allowed via CORS, or "*" to allow all domains. + :vartype allowed_origins: list[str] + :ivar allowed_methods: Required. Required if CorsRule element is present. A list of HTTP + methods that are allowed to be executed by the origin. + :vartype allowed_methods: list[str or + ~azure.mgmt.storage.v2021_08_01.models.CorsRuleAllowedMethodsItem] + :ivar max_age_in_seconds: Required. Required if CorsRule element is present. The number of + seconds that the client/browser should cache a preflight response. + :vartype max_age_in_seconds: int + :ivar exposed_headers: Required. Required if CorsRule element is present. A list of response + headers to expose to CORS clients. + :vartype exposed_headers: list[str] + :ivar allowed_headers: Required. Required if CorsRule element is present. A list of headers + allowed to be part of the cross-origin request. + :vartype allowed_headers: list[str] + """ + + _validation = { + 'allowed_origins': {'required': True}, + 'allowed_methods': {'required': True}, + 'max_age_in_seconds': {'required': True}, + 'exposed_headers': {'required': True}, + 'allowed_headers': {'required': True}, + } + + _attribute_map = { + 'allowed_origins': {'key': 'allowedOrigins', 'type': '[str]'}, + 'allowed_methods': {'key': 'allowedMethods', 'type': '[str]'}, + 'max_age_in_seconds': {'key': 'maxAgeInSeconds', 'type': 'int'}, + 'exposed_headers': {'key': 'exposedHeaders', 'type': '[str]'}, + 'allowed_headers': {'key': 'allowedHeaders', 'type': '[str]'}, + } + + def __init__( + self, + *, + allowed_origins: List[str], + allowed_methods: List[Union[str, "CorsRuleAllowedMethodsItem"]], + max_age_in_seconds: int, + exposed_headers: List[str], + allowed_headers: List[str], + **kwargs + ): + """ + :keyword allowed_origins: Required. Required if CorsRule element is present. A list of origin + domains that will be allowed via CORS, or "*" to allow all domains. + :paramtype allowed_origins: list[str] + :keyword allowed_methods: Required. Required if CorsRule element is present. A list of HTTP + methods that are allowed to be executed by the origin. + :paramtype allowed_methods: list[str or + ~azure.mgmt.storage.v2021_08_01.models.CorsRuleAllowedMethodsItem] + :keyword max_age_in_seconds: Required. Required if CorsRule element is present. The number of + seconds that the client/browser should cache a preflight response. + :paramtype max_age_in_seconds: int + :keyword exposed_headers: Required. Required if CorsRule element is present. A list of response + headers to expose to CORS clients. + :paramtype exposed_headers: list[str] + :keyword allowed_headers: Required. Required if CorsRule element is present. A list of headers + allowed to be part of the cross-origin request. + :paramtype allowed_headers: list[str] + """ + super(CorsRule, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + self.allowed_methods = allowed_methods + self.max_age_in_seconds = max_age_in_seconds + self.exposed_headers = exposed_headers + self.allowed_headers = allowed_headers + + +class CorsRules(msrest.serialization.Model): + """Sets the CORS rules. You can include up to five CorsRule elements in the request. + + :ivar cors_rules: The List of CORS rules. You can include up to five CorsRule elements in the + request. + :vartype cors_rules: list[~azure.mgmt.storage.v2021_08_01.models.CorsRule] + """ + + _attribute_map = { + 'cors_rules': {'key': 'corsRules', 'type': '[CorsRule]'}, + } + + def __init__( + self, + *, + cors_rules: Optional[List["CorsRule"]] = None, + **kwargs + ): + """ + :keyword cors_rules: The List of CORS rules. You can include up to five CorsRule elements in + the request. + :paramtype cors_rules: list[~azure.mgmt.storage.v2021_08_01.models.CorsRule] + """ + super(CorsRules, self).__init__(**kwargs) + self.cors_rules = cors_rules + + +class CustomDomain(msrest.serialization.Model): + """The custom domain assigned to this storage account. This can be set via Update. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Required. Gets or sets the custom domain name assigned to the storage account. Name + is the CNAME source. + :vartype name: str + :ivar use_sub_domain_name: Indicates whether indirect CName validation is enabled. Default + value is false. This should only be set on updates. + :vartype use_sub_domain_name: bool + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'use_sub_domain_name': {'key': 'useSubDomainName', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: str, + use_sub_domain_name: Optional[bool] = None, + **kwargs + ): + """ + :keyword name: Required. Gets or sets the custom domain name assigned to the storage account. + Name is the CNAME source. + :paramtype name: str + :keyword use_sub_domain_name: Indicates whether indirect CName validation is enabled. Default + value is false. This should only be set on updates. + :paramtype use_sub_domain_name: bool + """ + super(CustomDomain, self).__init__(**kwargs) + self.name = name + self.use_sub_domain_name = use_sub_domain_name + + +class DateAfterCreation(msrest.serialization.Model): + """Object to define the number of days after creation. + + All required parameters must be populated in order to send to Azure. + + :ivar days_after_creation_greater_than: Required. Value indicating the age in days after + creation. + :vartype days_after_creation_greater_than: float + """ + + _validation = { + 'days_after_creation_greater_than': {'required': True, 'minimum': 0, 'multiple': 1}, + } + + _attribute_map = { + 'days_after_creation_greater_than': {'key': 'daysAfterCreationGreaterThan', 'type': 'float'}, + } + + def __init__( + self, + *, + days_after_creation_greater_than: float, + **kwargs + ): + """ + :keyword days_after_creation_greater_than: Required. Value indicating the age in days after + creation. + :paramtype days_after_creation_greater_than: float + """ + super(DateAfterCreation, self).__init__(**kwargs) + self.days_after_creation_greater_than = days_after_creation_greater_than + + +class DateAfterModification(msrest.serialization.Model): + """Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive. + + :ivar days_after_modification_greater_than: Value indicating the age in days after last + modification. + :vartype days_after_modification_greater_than: float + :ivar days_after_last_access_time_greater_than: Value indicating the age in days after last + blob access. This property can only be used in conjunction with last access time tracking + policy. + :vartype days_after_last_access_time_greater_than: float + """ + + _validation = { + 'days_after_modification_greater_than': {'minimum': 0, 'multiple': 1}, + 'days_after_last_access_time_greater_than': {'minimum': 0, 'multiple': 1}, + } + + _attribute_map = { + 'days_after_modification_greater_than': {'key': 'daysAfterModificationGreaterThan', 'type': 'float'}, + 'days_after_last_access_time_greater_than': {'key': 'daysAfterLastAccessTimeGreaterThan', 'type': 'float'}, + } + + def __init__( + self, + *, + days_after_modification_greater_than: Optional[float] = None, + days_after_last_access_time_greater_than: Optional[float] = None, + **kwargs + ): + """ + :keyword days_after_modification_greater_than: Value indicating the age in days after last + modification. + :paramtype days_after_modification_greater_than: float + :keyword days_after_last_access_time_greater_than: Value indicating the age in days after last + blob access. This property can only be used in conjunction with last access time tracking + policy. + :paramtype days_after_last_access_time_greater_than: float + """ + super(DateAfterModification, self).__init__(**kwargs) + self.days_after_modification_greater_than = days_after_modification_greater_than + self.days_after_last_access_time_greater_than = days_after_last_access_time_greater_than + + +class ProxyResource(Resource): + """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. + + 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 DeletedAccount(ProxyResource): + """Deleted storage account. + + 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 storage_account_resource_id: Full resource id of the original storage account. + :vartype storage_account_resource_id: str + :ivar location: Location of the deleted account. + :vartype location: str + :ivar restore_reference: Can be used to attempt recovering this deleted account via + PutStorageAccount API. + :vartype restore_reference: str + :ivar creation_time: Creation time of the deleted account. + :vartype creation_time: str + :ivar deletion_time: Deletion time of the deleted account. + :vartype deletion_time: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'storage_account_resource_id': {'readonly': True}, + 'location': {'readonly': True}, + 'restore_reference': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'deletion_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'storage_account_resource_id': {'key': 'properties.storageAccountResourceId', 'type': 'str'}, + 'location': {'key': 'properties.location', 'type': 'str'}, + 'restore_reference': {'key': 'properties.restoreReference', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'str'}, + 'deletion_time': {'key': 'properties.deletionTime', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(DeletedAccount, self).__init__(**kwargs) + self.storage_account_resource_id = None + self.location = None + self.restore_reference = None + self.creation_time = None + self.deletion_time = None + + +class DeletedAccountListResult(msrest.serialization.Model): + """The response from the List Deleted Accounts operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Gets the list of deleted accounts and their properties. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.DeletedAccount] + :ivar next_link: Request URL that can be used to query next page of deleted accounts. Returned + when total number of requested deleted accounts exceed maximum page size. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DeletedAccount]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(DeletedAccountListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class DeletedShare(msrest.serialization.Model): + """The deleted share to be restored. + + All required parameters must be populated in order to send to Azure. + + :ivar deleted_share_name: Required. Required. Identify the name of the deleted share that will + be restored. + :vartype deleted_share_name: str + :ivar deleted_share_version: Required. Required. Identify the version of the deleted share that + will be restored. + :vartype deleted_share_version: str + """ + + _validation = { + 'deleted_share_name': {'required': True}, + 'deleted_share_version': {'required': True}, + } + + _attribute_map = { + 'deleted_share_name': {'key': 'deletedShareName', 'type': 'str'}, + 'deleted_share_version': {'key': 'deletedShareVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + deleted_share_name: str, + deleted_share_version: str, + **kwargs + ): + """ + :keyword deleted_share_name: Required. Required. Identify the name of the deleted share that + will be restored. + :paramtype deleted_share_name: str + :keyword deleted_share_version: Required. Required. Identify the version of the deleted share + that will be restored. + :paramtype deleted_share_version: str + """ + super(DeletedShare, self).__init__(**kwargs) + self.deleted_share_name = deleted_share_name + self.deleted_share_version = deleted_share_version + + +class DeleteRetentionPolicy(msrest.serialization.Model): + """The service properties for soft delete. + + :ivar enabled: Indicates whether DeleteRetentionPolicy is enabled. + :vartype enabled: bool + :ivar days: Indicates the number of days that the deleted item should be retained. The minimum + specified value can be 1 and the maximum value can be 365. + :vartype days: int + """ + + _validation = { + 'days': {'maximum': 365, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'days': {'key': 'days', 'type': 'int'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + days: Optional[int] = None, + **kwargs + ): + """ + :keyword enabled: Indicates whether DeleteRetentionPolicy is enabled. + :paramtype enabled: bool + :keyword days: Indicates the number of days that the deleted item should be retained. The + minimum specified value can be 1 and the maximum value can be 365. + :paramtype days: int + """ + super(DeleteRetentionPolicy, self).__init__(**kwargs) + self.enabled = enabled + self.days = days + + +class Dimension(msrest.serialization.Model): + """Dimension of blobs, possibly be blob type or access tier. + + :ivar name: Display name of dimension. + :vartype name: str + :ivar display_name: Display name of dimension. + :vartype display_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Display name of dimension. + :paramtype name: str + :keyword display_name: Display name of dimension. + :paramtype display_name: str + """ + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + + +class Encryption(msrest.serialization.Model): + """The encryption settings on the storage account. + + All required parameters must be populated in order to send to Azure. + + :ivar services: List of services which support encryption. + :vartype services: ~azure.mgmt.storage.v2021_08_01.models.EncryptionServices + :ivar key_source: Required. The encryption keySource (provider). Possible values + (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. Possible values include: + "Microsoft.Storage", "Microsoft.Keyvault". Default value: "Microsoft.Storage". + :vartype key_source: str or ~azure.mgmt.storage.v2021_08_01.models.KeySource + :ivar require_infrastructure_encryption: A boolean indicating whether or not the service + applies a secondary layer of encryption with platform managed keys for data at rest. + :vartype require_infrastructure_encryption: bool + :ivar key_vault_properties: Properties provided by key vault. + :vartype key_vault_properties: ~azure.mgmt.storage.v2021_08_01.models.KeyVaultProperties + :ivar encryption_identity: The identity to be used with service-side encryption at rest. + :vartype encryption_identity: ~azure.mgmt.storage.v2021_08_01.models.EncryptionIdentity + """ + + _validation = { + 'key_source': {'required': True}, + } + + _attribute_map = { + 'services': {'key': 'services', 'type': 'EncryptionServices'}, + 'key_source': {'key': 'keySource', 'type': 'str'}, + 'require_infrastructure_encryption': {'key': 'requireInfrastructureEncryption', 'type': 'bool'}, + 'key_vault_properties': {'key': 'keyvaultproperties', 'type': 'KeyVaultProperties'}, + 'encryption_identity': {'key': 'identity', 'type': 'EncryptionIdentity'}, + } + + def __init__( + self, + *, + key_source: Union[str, "KeySource"] = "Microsoft.Storage", + services: Optional["EncryptionServices"] = None, + require_infrastructure_encryption: Optional[bool] = None, + key_vault_properties: Optional["KeyVaultProperties"] = None, + encryption_identity: Optional["EncryptionIdentity"] = None, + **kwargs + ): + """ + :keyword services: List of services which support encryption. + :paramtype services: ~azure.mgmt.storage.v2021_08_01.models.EncryptionServices + :keyword key_source: Required. The encryption keySource (provider). Possible values + (case-insensitive): Microsoft.Storage, Microsoft.Keyvault. Possible values include: + "Microsoft.Storage", "Microsoft.Keyvault". Default value: "Microsoft.Storage". + :paramtype key_source: str or ~azure.mgmt.storage.v2021_08_01.models.KeySource + :keyword require_infrastructure_encryption: A boolean indicating whether or not the service + applies a secondary layer of encryption with platform managed keys for data at rest. + :paramtype require_infrastructure_encryption: bool + :keyword key_vault_properties: Properties provided by key vault. + :paramtype key_vault_properties: ~azure.mgmt.storage.v2021_08_01.models.KeyVaultProperties + :keyword encryption_identity: The identity to be used with service-side encryption at rest. + :paramtype encryption_identity: ~azure.mgmt.storage.v2021_08_01.models.EncryptionIdentity + """ + super(Encryption, self).__init__(**kwargs) + self.services = services + self.key_source = key_source + self.require_infrastructure_encryption = require_infrastructure_encryption + self.key_vault_properties = key_vault_properties + self.encryption_identity = encryption_identity + + +class EncryptionIdentity(msrest.serialization.Model): + """Encryption identity for the storage account. + + :ivar encryption_user_assigned_identity: Resource identifier of the UserAssigned identity to be + associated with server-side encryption on the storage account. + :vartype encryption_user_assigned_identity: str + :ivar encryption_federated_identity_client_id: ClientId of the multi-tenant application to be + used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys + server-side encryption on the storage account. + :vartype encryption_federated_identity_client_id: str + """ + + _attribute_map = { + 'encryption_user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'}, + 'encryption_federated_identity_client_id': {'key': 'federatedIdentityClientId', 'type': 'str'}, + } + + def __init__( + self, + *, + encryption_user_assigned_identity: Optional[str] = None, + encryption_federated_identity_client_id: Optional[str] = None, + **kwargs + ): + """ + :keyword encryption_user_assigned_identity: Resource identifier of the UserAssigned identity to + be associated with server-side encryption on the storage account. + :paramtype encryption_user_assigned_identity: str + :keyword encryption_federated_identity_client_id: ClientId of the multi-tenant application to + be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys + server-side encryption on the storage account. + :paramtype encryption_federated_identity_client_id: str + """ + super(EncryptionIdentity, self).__init__(**kwargs) + self.encryption_user_assigned_identity = encryption_user_assigned_identity + self.encryption_federated_identity_client_id = encryption_federated_identity_client_id + + +class EncryptionScope(Resource): + """The Encryption Scope 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar source: The provider for the encryption scope. Possible values (case-insensitive): + Microsoft.Storage, Microsoft.KeyVault. Possible values include: "Microsoft.Storage", + "Microsoft.KeyVault". + :vartype source: str or ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeSource + :ivar state: The state of the encryption scope. Possible values (case-insensitive): Enabled, + Disabled. Possible values include: "Enabled", "Disabled". + :vartype state: str or ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeState + :ivar creation_time: Gets the creation date and time of the encryption scope in UTC. + :vartype creation_time: ~datetime.datetime + :ivar last_modified_time: Gets the last modification date and time of the encryption scope in + UTC. + :vartype last_modified_time: ~datetime.datetime + :ivar key_vault_properties: The key vault properties for the encryption scope. This is a + required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. + :vartype key_vault_properties: + ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeKeyVaultProperties + :ivar require_infrastructure_encryption: A boolean indicating whether or not the service + applies a secondary layer of encryption with platform managed keys for data at rest. + :vartype require_infrastructure_encryption: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source': {'key': 'properties.source', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'key_vault_properties': {'key': 'properties.keyVaultProperties', 'type': 'EncryptionScopeKeyVaultProperties'}, + 'require_infrastructure_encryption': {'key': 'properties.requireInfrastructureEncryption', 'type': 'bool'}, + } + + def __init__( + self, + *, + source: Optional[Union[str, "EncryptionScopeSource"]] = None, + state: Optional[Union[str, "EncryptionScopeState"]] = None, + key_vault_properties: Optional["EncryptionScopeKeyVaultProperties"] = None, + require_infrastructure_encryption: Optional[bool] = None, + **kwargs + ): + """ + :keyword source: The provider for the encryption scope. Possible values (case-insensitive): + Microsoft.Storage, Microsoft.KeyVault. Possible values include: "Microsoft.Storage", + "Microsoft.KeyVault". + :paramtype source: str or ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeSource + :keyword state: The state of the encryption scope. Possible values (case-insensitive): + Enabled, Disabled. Possible values include: "Enabled", "Disabled". + :paramtype state: str or ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeState + :keyword key_vault_properties: The key vault properties for the encryption scope. This is a + required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. + :paramtype key_vault_properties: + ~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeKeyVaultProperties + :keyword require_infrastructure_encryption: A boolean indicating whether or not the service + applies a secondary layer of encryption with platform managed keys for data at rest. + :paramtype require_infrastructure_encryption: bool + """ + super(EncryptionScope, self).__init__(**kwargs) + self.source = source + self.state = state + self.creation_time = None + self.last_modified_time = None + self.key_vault_properties = key_vault_properties + self.require_infrastructure_encryption = require_infrastructure_encryption + + +class EncryptionScopeKeyVaultProperties(msrest.serialization.Model): + """The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar key_uri: The object identifier for a key vault key object. When applied, the encryption + scope will use the key referenced by the identifier to enable customer-managed key support on + this encryption scope. + :vartype key_uri: str + :ivar current_versioned_key_identifier: The object identifier of the current versioned Key + Vault Key in use. + :vartype current_versioned_key_identifier: str + :ivar last_key_rotation_timestamp: Timestamp of last rotation of the Key Vault Key. + :vartype last_key_rotation_timestamp: ~datetime.datetime + """ + + _validation = { + 'current_versioned_key_identifier': {'readonly': True}, + 'last_key_rotation_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'key_uri': {'key': 'keyUri', 'type': 'str'}, + 'current_versioned_key_identifier': {'key': 'currentVersionedKeyIdentifier', 'type': 'str'}, + 'last_key_rotation_timestamp': {'key': 'lastKeyRotationTimestamp', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + key_uri: Optional[str] = None, + **kwargs + ): + """ + :keyword key_uri: The object identifier for a key vault key object. When applied, the + encryption scope will use the key referenced by the identifier to enable customer-managed key + support on this encryption scope. + :paramtype key_uri: str + """ + super(EncryptionScopeKeyVaultProperties, self).__init__(**kwargs) + self.key_uri = key_uri + self.current_versioned_key_identifier = None + self.last_key_rotation_timestamp = None + + +class EncryptionScopeListResult(msrest.serialization.Model): + """List of encryption scopes requested, and if paging is required, a URL to the next page of encryption scopes. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of encryption scopes requested. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.EncryptionScope] + :ivar next_link: Request URL that can be used to query next page of encryption scopes. Returned + when total number of requested encryption scopes exceeds the maximum page size. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EncryptionScope]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(EncryptionScopeListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class EncryptionService(msrest.serialization.Model): + """A service that allows server-side encryption to be used. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar enabled: A boolean indicating whether or not the service encrypts the data as it is + stored. Encryption at rest is enabled by default today and cannot be disabled. + :vartype enabled: bool + :ivar last_enabled_time: Gets a rough estimate of the date/time when the encryption was last + enabled by the user. Data is encrypted at rest by default today and cannot be disabled. + :vartype last_enabled_time: ~datetime.datetime + :ivar key_type: Encryption key type to be used for the encryption service. 'Account' key type + implies that an account-scoped encryption key will be used. 'Service' key type implies that a + default service key is used. Possible values include: "Service", "Account". + :vartype key_type: str or ~azure.mgmt.storage.v2021_08_01.models.KeyType + """ + + _validation = { + 'last_enabled_time': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, + 'key_type': {'key': 'keyType', 'type': 'str'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + key_type: Optional[Union[str, "KeyType"]] = None, + **kwargs + ): + """ + :keyword enabled: A boolean indicating whether or not the service encrypts the data as it is + stored. Encryption at rest is enabled by default today and cannot be disabled. + :paramtype enabled: bool + :keyword key_type: Encryption key type to be used for the encryption service. 'Account' key + type implies that an account-scoped encryption key will be used. 'Service' key type implies + that a default service key is used. Possible values include: "Service", "Account". + :paramtype key_type: str or ~azure.mgmt.storage.v2021_08_01.models.KeyType + """ + super(EncryptionService, self).__init__(**kwargs) + self.enabled = enabled + self.last_enabled_time = None + self.key_type = key_type + + +class EncryptionServices(msrest.serialization.Model): + """A list of services that support encryption. + + :ivar blob: The encryption function of the blob storage service. + :vartype blob: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService + :ivar file: The encryption function of the file storage service. + :vartype file: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService + :ivar table: The encryption function of the table storage service. + :vartype table: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService + :ivar queue: The encryption function of the queue storage service. + :vartype queue: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService + """ + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'EncryptionService'}, + 'file': {'key': 'file', 'type': 'EncryptionService'}, + 'table': {'key': 'table', 'type': 'EncryptionService'}, + 'queue': {'key': 'queue', 'type': 'EncryptionService'}, + } + + def __init__( + self, + *, + blob: Optional["EncryptionService"] = None, + file: Optional["EncryptionService"] = None, + table: Optional["EncryptionService"] = None, + queue: Optional["EncryptionService"] = None, + **kwargs + ): + """ + :keyword blob: The encryption function of the blob storage service. + :paramtype blob: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService + :keyword file: The encryption function of the file storage service. + :paramtype file: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService + :keyword table: The encryption function of the table storage service. + :paramtype table: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService + :keyword queue: The encryption function of the queue storage service. + :paramtype queue: ~azure.mgmt.storage.v2021_08_01.models.EncryptionService + """ + super(EncryptionServices, self).__init__(**kwargs) + self.blob = blob + self.file = file + self.table = table + self.queue = queue + + +class Endpoints(msrest.serialization.Model): + """The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar queue: Gets the queue endpoint. + :vartype queue: str + :ivar table: Gets the table endpoint. + :vartype table: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + :ivar microsoft_endpoints: Gets the microsoft routing storage endpoints. + :vartype microsoft_endpoints: + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountMicrosoftEndpoints + :ivar internet_endpoints: Gets the internet routing storage endpoints. + :vartype internet_endpoints: + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountInternetEndpoints + """ + + _validation = { + 'blob': {'readonly': True}, + 'queue': {'readonly': True}, + 'table': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'queue': {'key': 'queue', 'type': 'str'}, + 'table': {'key': 'table', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + 'microsoft_endpoints': {'key': 'microsoftEndpoints', 'type': 'StorageAccountMicrosoftEndpoints'}, + 'internet_endpoints': {'key': 'internetEndpoints', 'type': 'StorageAccountInternetEndpoints'}, + } + + def __init__( + self, + *, + microsoft_endpoints: Optional["StorageAccountMicrosoftEndpoints"] = None, + internet_endpoints: Optional["StorageAccountInternetEndpoints"] = None, + **kwargs + ): + """ + :keyword microsoft_endpoints: Gets the microsoft routing storage endpoints. + :paramtype microsoft_endpoints: + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountMicrosoftEndpoints + :keyword internet_endpoints: Gets the internet routing storage endpoints. + :paramtype internet_endpoints: + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountInternetEndpoints + """ + super(Endpoints, self).__init__(**kwargs) + self.blob = None + self.queue = None + self.table = None + self.file = None + self.web = None + self.dfs = None + self.microsoft_endpoints = microsoft_endpoints + self.internet_endpoints = internet_endpoints + + +class ErrorResponse(msrest.serialization.Model): + """An error response from the storage resource provider. + + :ivar error: Azure Storage Resource Provider error response body. + :vartype error: ~azure.mgmt.storage.v2021_08_01.models.ErrorResponseBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorResponseBody'}, + } + + def __init__( + self, + *, + error: Optional["ErrorResponseBody"] = None, + **kwargs + ): + """ + :keyword error: Azure Storage Resource Provider error response body. + :paramtype error: ~azure.mgmt.storage.v2021_08_01.models.ErrorResponseBody + """ + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseBody(msrest.serialization.Model): + """Error response body contract. + + :ivar code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :vartype code: str + :ivar message: A message describing the error, intended to be suitable for display in a user + interface. + :vartype 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 + ): + """ + :keyword code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :paramtype code: str + :keyword message: A message describing the error, intended to be suitable for display in a user + interface. + :paramtype message: str + """ + super(ErrorResponseBody, self).__init__(**kwargs) + self.code = code + self.message = message + + +class ExtendedLocation(msrest.serialization.Model): + """The complex type of the extended location. + + :ivar name: The name of the extended location. + :vartype name: str + :ivar type: The type of the extended location. Possible values include: "EdgeZone". + :vartype type: str or ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocationTypes + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[Union[str, "ExtendedLocationTypes"]] = None, + **kwargs + ): + """ + :keyword name: The name of the extended location. + :paramtype name: str + :keyword type: The type of the extended location. Possible values include: "EdgeZone". + :paramtype type: str or ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocationTypes + """ + super(ExtendedLocation, self).__init__(**kwargs) + self.name = name + self.type = type + + +class FileServiceItems(msrest.serialization.Model): + """FileServiceItems. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of file services returned. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.FileServiceProperties] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FileServiceProperties]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FileServiceItems, self).__init__(**kwargs) + self.value = None + + +class FileServiceProperties(Resource): + """The properties of File services in storage account. + + 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 sku: Sku name and tier. + :vartype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku + :ivar cors: Specifies CORS rules for the File service. You can include up to five CorsRule + elements in the request. If no CorsRule elements are included in the request body, all CORS + rules will be deleted, and CORS will be disabled for the File service. + :vartype cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules + :ivar share_delete_retention_policy: The file service properties for share soft delete. + :vartype share_delete_retention_policy: + ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy + :ivar protocol_settings: Protocol settings for file service. + :vartype protocol_settings: ~azure.mgmt.storage.v2021_08_01.models.ProtocolSettings + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'sku': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, + 'share_delete_retention_policy': {'key': 'properties.shareDeleteRetentionPolicy', 'type': 'DeleteRetentionPolicy'}, + 'protocol_settings': {'key': 'properties.protocolSettings', 'type': 'ProtocolSettings'}, + } + + def __init__( + self, + *, + cors: Optional["CorsRules"] = None, + share_delete_retention_policy: Optional["DeleteRetentionPolicy"] = None, + protocol_settings: Optional["ProtocolSettings"] = None, + **kwargs + ): + """ + :keyword cors: Specifies CORS rules for the File service. You can include up to five CorsRule + elements in the request. If no CorsRule elements are included in the request body, all CORS + rules will be deleted, and CORS will be disabled for the File service. + :paramtype cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules + :keyword share_delete_retention_policy: The file service properties for share soft delete. + :paramtype share_delete_retention_policy: + ~azure.mgmt.storage.v2021_08_01.models.DeleteRetentionPolicy + :keyword protocol_settings: Protocol settings for file service. + :paramtype protocol_settings: ~azure.mgmt.storage.v2021_08_01.models.ProtocolSettings + """ + super(FileServiceProperties, self).__init__(**kwargs) + self.sku = None + self.cors = cors + self.share_delete_retention_policy = share_delete_retention_policy + self.protocol_settings = protocol_settings + + +class FileShare(AzureEntityResource): + """Properties of the file share, including Id, resource name, resource type, Etag. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :ivar last_modified_time: Returns the date and time the share was last modified. + :vartype last_modified_time: ~datetime.datetime + :ivar metadata: A name-value pair to associate with the share as metadata. + :vartype metadata: dict[str, str] + :ivar share_quota: The maximum size of the share, in gigabytes. Must be greater than 0, and + less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + :vartype share_quota: int + :ivar enabled_protocols: The authentication protocol that is used for the file share. Can only + be specified when creating a share. Possible values include: "SMB", "NFS". + :vartype enabled_protocols: str or ~azure.mgmt.storage.v2021_08_01.models.EnabledProtocols + :ivar root_squash: The property is for NFS share only. The default is NoRootSquash. Possible + values include: "NoRootSquash", "RootSquash", "AllSquash". + :vartype root_squash: str or ~azure.mgmt.storage.v2021_08_01.models.RootSquashType + :ivar version: The version of the share. + :vartype version: str + :ivar deleted: Indicates whether the share was deleted. + :vartype deleted: bool + :ivar deleted_time: The deleted time if the share was deleted. + :vartype deleted_time: ~datetime.datetime + :ivar remaining_retention_days: Remaining retention days for share that was soft deleted. + :vartype remaining_retention_days: int + :ivar access_tier: Access tier for specific share. GpV2 account can choose between + TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible + values include: "TransactionOptimized", "Hot", "Cool", "Premium". + :vartype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.ShareAccessTier + :ivar access_tier_change_time: Indicates the last modification time for share access tier. + :vartype access_tier_change_time: ~datetime.datetime + :ivar access_tier_status: Indicates if there is a pending transition for access tier. + :vartype access_tier_status: str + :ivar share_usage_bytes: The approximate size of the data stored on the share. Note that this + value may not include all recently created or recently resized files. + :vartype share_usage_bytes: long + :ivar lease_status: The lease status of the share. Possible values include: "Locked", + "Unlocked". + :vartype lease_status: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseStatus + :ivar lease_state: Lease state of the share. Possible values include: "Available", "Leased", + "Expired", "Breaking", "Broken". + :vartype lease_state: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a share is of infinite or fixed duration, + only when the share is leased. Possible values include: "Infinite", "Fixed". + :vartype lease_duration: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseDuration + :ivar signed_identifiers: List of stored access policies specified on the share. + :vartype signed_identifiers: list[~azure.mgmt.storage.v2021_08_01.models.SignedIdentifier] + :ivar snapshot_time: Creation time of share snapshot returned in the response of list shares + with expand param "snapshots". + :vartype snapshot_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'share_quota': {'maximum': 102400, 'minimum': 1}, + 'version': {'readonly': True}, + 'deleted': {'readonly': True}, + 'deleted_time': {'readonly': True}, + 'remaining_retention_days': {'readonly': True}, + 'access_tier_change_time': {'readonly': True}, + 'access_tier_status': {'readonly': True}, + 'share_usage_bytes': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'snapshot_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, + 'enabled_protocols': {'key': 'properties.enabledProtocols', 'type': 'str'}, + 'root_squash': {'key': 'properties.rootSquash', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, + 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, + 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, + 'access_tier_change_time': {'key': 'properties.accessTierChangeTime', 'type': 'iso-8601'}, + 'access_tier_status': {'key': 'properties.accessTierStatus', 'type': 'str'}, + 'share_usage_bytes': {'key': 'properties.shareUsageBytes', 'type': 'long'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'signed_identifiers': {'key': 'properties.signedIdentifiers', 'type': '[SignedIdentifier]'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + metadata: Optional[Dict[str, str]] = None, + share_quota: Optional[int] = None, + enabled_protocols: Optional[Union[str, "EnabledProtocols"]] = None, + root_squash: Optional[Union[str, "RootSquashType"]] = None, + access_tier: Optional[Union[str, "ShareAccessTier"]] = None, + signed_identifiers: Optional[List["SignedIdentifier"]] = None, + **kwargs + ): + """ + :keyword metadata: A name-value pair to associate with the share as metadata. + :paramtype metadata: dict[str, str] + :keyword share_quota: The maximum size of the share, in gigabytes. Must be greater than 0, and + less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + :paramtype share_quota: int + :keyword enabled_protocols: The authentication protocol that is used for the file share. Can + only be specified when creating a share. Possible values include: "SMB", "NFS". + :paramtype enabled_protocols: str or ~azure.mgmt.storage.v2021_08_01.models.EnabledProtocols + :keyword root_squash: The property is for NFS share only. The default is NoRootSquash. Possible + values include: "NoRootSquash", "RootSquash", "AllSquash". + :paramtype root_squash: str or ~azure.mgmt.storage.v2021_08_01.models.RootSquashType + :keyword access_tier: Access tier for specific share. GpV2 account can choose between + TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible + values include: "TransactionOptimized", "Hot", "Cool", "Premium". + :paramtype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.ShareAccessTier + :keyword signed_identifiers: List of stored access policies specified on the share. + :paramtype signed_identifiers: list[~azure.mgmt.storage.v2021_08_01.models.SignedIdentifier] + """ + super(FileShare, self).__init__(**kwargs) + self.last_modified_time = None + self.metadata = metadata + self.share_quota = share_quota + self.enabled_protocols = enabled_protocols + self.root_squash = root_squash + self.version = None + self.deleted = None + self.deleted_time = None + self.remaining_retention_days = None + self.access_tier = access_tier + self.access_tier_change_time = None + self.access_tier_status = None + self.share_usage_bytes = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.signed_identifiers = signed_identifiers + self.snapshot_time = None + + +class FileShareItem(AzureEntityResource): + """The file share properties be listed out. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :ivar last_modified_time: Returns the date and time the share was last modified. + :vartype last_modified_time: ~datetime.datetime + :ivar metadata: A name-value pair to associate with the share as metadata. + :vartype metadata: dict[str, str] + :ivar share_quota: The maximum size of the share, in gigabytes. Must be greater than 0, and + less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + :vartype share_quota: int + :ivar enabled_protocols: The authentication protocol that is used for the file share. Can only + be specified when creating a share. Possible values include: "SMB", "NFS". + :vartype enabled_protocols: str or ~azure.mgmt.storage.v2021_08_01.models.EnabledProtocols + :ivar root_squash: The property is for NFS share only. The default is NoRootSquash. Possible + values include: "NoRootSquash", "RootSquash", "AllSquash". + :vartype root_squash: str or ~azure.mgmt.storage.v2021_08_01.models.RootSquashType + :ivar version: The version of the share. + :vartype version: str + :ivar deleted: Indicates whether the share was deleted. + :vartype deleted: bool + :ivar deleted_time: The deleted time if the share was deleted. + :vartype deleted_time: ~datetime.datetime + :ivar remaining_retention_days: Remaining retention days for share that was soft deleted. + :vartype remaining_retention_days: int + :ivar access_tier: Access tier for specific share. GpV2 account can choose between + TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible + values include: "TransactionOptimized", "Hot", "Cool", "Premium". + :vartype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.ShareAccessTier + :ivar access_tier_change_time: Indicates the last modification time for share access tier. + :vartype access_tier_change_time: ~datetime.datetime + :ivar access_tier_status: Indicates if there is a pending transition for access tier. + :vartype access_tier_status: str + :ivar share_usage_bytes: The approximate size of the data stored on the share. Note that this + value may not include all recently created or recently resized files. + :vartype share_usage_bytes: long + :ivar lease_status: The lease status of the share. Possible values include: "Locked", + "Unlocked". + :vartype lease_status: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseStatus + :ivar lease_state: Lease state of the share. Possible values include: "Available", "Leased", + "Expired", "Breaking", "Broken". + :vartype lease_state: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a share is of infinite or fixed duration, + only when the share is leased. Possible values include: "Infinite", "Fixed". + :vartype lease_duration: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseDuration + :ivar signed_identifiers: List of stored access policies specified on the share. + :vartype signed_identifiers: list[~azure.mgmt.storage.v2021_08_01.models.SignedIdentifier] + :ivar snapshot_time: Creation time of share snapshot returned in the response of list shares + with expand param "snapshots". + :vartype snapshot_time: ~datetime.datetime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'share_quota': {'maximum': 102400, 'minimum': 1}, + 'version': {'readonly': True}, + 'deleted': {'readonly': True}, + 'deleted_time': {'readonly': True}, + 'remaining_retention_days': {'readonly': True}, + 'access_tier_change_time': {'readonly': True}, + 'access_tier_status': {'readonly': True}, + 'share_usage_bytes': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'snapshot_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'share_quota': {'key': 'properties.shareQuota', 'type': 'int'}, + 'enabled_protocols': {'key': 'properties.enabledProtocols', 'type': 'str'}, + 'root_squash': {'key': 'properties.rootSquash', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, + 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, + 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, + 'access_tier_change_time': {'key': 'properties.accessTierChangeTime', 'type': 'iso-8601'}, + 'access_tier_status': {'key': 'properties.accessTierStatus', 'type': 'str'}, + 'share_usage_bytes': {'key': 'properties.shareUsageBytes', 'type': 'long'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'signed_identifiers': {'key': 'properties.signedIdentifiers', 'type': '[SignedIdentifier]'}, + 'snapshot_time': {'key': 'properties.snapshotTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + metadata: Optional[Dict[str, str]] = None, + share_quota: Optional[int] = None, + enabled_protocols: Optional[Union[str, "EnabledProtocols"]] = None, + root_squash: Optional[Union[str, "RootSquashType"]] = None, + access_tier: Optional[Union[str, "ShareAccessTier"]] = None, + signed_identifiers: Optional[List["SignedIdentifier"]] = None, + **kwargs + ): + """ + :keyword metadata: A name-value pair to associate with the share as metadata. + :paramtype metadata: dict[str, str] + :keyword share_quota: The maximum size of the share, in gigabytes. Must be greater than 0, and + less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400. + :paramtype share_quota: int + :keyword enabled_protocols: The authentication protocol that is used for the file share. Can + only be specified when creating a share. Possible values include: "SMB", "NFS". + :paramtype enabled_protocols: str or ~azure.mgmt.storage.v2021_08_01.models.EnabledProtocols + :keyword root_squash: The property is for NFS share only. The default is NoRootSquash. Possible + values include: "NoRootSquash", "RootSquash", "AllSquash". + :paramtype root_squash: str or ~azure.mgmt.storage.v2021_08_01.models.RootSquashType + :keyword access_tier: Access tier for specific share. GpV2 account can choose between + TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. Possible + values include: "TransactionOptimized", "Hot", "Cool", "Premium". + :paramtype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.ShareAccessTier + :keyword signed_identifiers: List of stored access policies specified on the share. + :paramtype signed_identifiers: list[~azure.mgmt.storage.v2021_08_01.models.SignedIdentifier] + """ + super(FileShareItem, self).__init__(**kwargs) + self.last_modified_time = None + self.metadata = metadata + self.share_quota = share_quota + self.enabled_protocols = enabled_protocols + self.root_squash = root_squash + self.version = None + self.deleted = None + self.deleted_time = None + self.remaining_retention_days = None + self.access_tier = access_tier + self.access_tier_change_time = None + self.access_tier_status = None + self.share_usage_bytes = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.signed_identifiers = signed_identifiers + self.snapshot_time = None + + +class FileShareItems(msrest.serialization.Model): + """Response schema. Contains list of shares returned, and if paging is requested or required, a URL to next page of shares. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of file shares returned. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.FileShareItem] + :ivar next_link: Request URL that can be used to query next page of shares. Returned when total + number of requested shares exceed maximum page size. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[FileShareItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(FileShareItems, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class GeoReplicationStats(msrest.serialization.Model): + """Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when geo-redundant replication is enabled for the storage account. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar status: The status of the secondary location. Possible values are: - Live: Indicates that + the secondary location is active and operational. - Bootstrap: Indicates initial + synchronization from the primary location to the secondary location is in progress.This + typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary + location is temporarily unavailable. Possible values include: "Live", "Bootstrap", + "Unavailable". + :vartype status: str or ~azure.mgmt.storage.v2021_08_01.models.GeoReplicationStatus + :ivar last_sync_time: All primary writes preceding this UTC date/time value are guaranteed to + be available for read operations. Primary writes following this point in time may or may not be + available for reads. Element may be default value if value of LastSyncTime is not available, + this can happen if secondary is offline or we are in bootstrap. + :vartype last_sync_time: ~datetime.datetime + :ivar can_failover: A boolean flag which indicates whether or not account failover is supported + for the account. + :vartype can_failover: bool + """ + + _validation = { + 'status': {'readonly': True}, + 'last_sync_time': {'readonly': True}, + 'can_failover': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'last_sync_time': {'key': 'lastSyncTime', 'type': 'iso-8601'}, + 'can_failover': {'key': 'canFailover', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(GeoReplicationStats, self).__init__(**kwargs) + self.status = None + self.last_sync_time = None + self.can_failover = None + + +class Identity(msrest.serialization.Model): + """Identity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar principal_id: The principal ID of resource identity. + :vartype principal_id: str + :ivar tenant_id: The tenant ID of resource. + :vartype tenant_id: str + :ivar type: Required. The identity type. Possible values include: "None", "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned". + :vartype type: str or ~azure.mgmt.storage.v2021_08_01.models.IdentityType + :ivar user_assigned_identities: Gets or sets a list of key value pairs that describe the set of + User Assigned identities that will be used with this storage account. The key is the ARM + resource identifier of the identity. Only 1 User Assigned identity is permitted here. + :vartype user_assigned_identities: dict[str, + ~azure.mgmt.storage.v2021_08_01.models.UserAssignedIdentity] + """ + + _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'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{UserAssignedIdentity}'}, + } + + def __init__( + self, + *, + type: Union[str, "IdentityType"], + user_assigned_identities: Optional[Dict[str, "UserAssignedIdentity"]] = None, + **kwargs + ): + """ + :keyword type: Required. The identity type. Possible values include: "None", "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned". + :paramtype type: str or ~azure.mgmt.storage.v2021_08_01.models.IdentityType + :keyword user_assigned_identities: Gets or sets a list of key value pairs that describe the set + of User Assigned identities that will be used with this storage account. The key is the ARM + resource identifier of the identity. Only 1 User Assigned identity is permitted here. + :paramtype user_assigned_identities: dict[str, + ~azure.mgmt.storage.v2021_08_01.models.UserAssignedIdentity] + """ + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + self.user_assigned_identities = user_assigned_identities + + +class ImmutabilityPolicy(AzureEntityResource): + """The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag. + + Variables are only populated by the server, and will be ignored when sending a request. + + :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 + :ivar immutability_period_since_creation_in_days: The immutability period for the blobs in the + container since the policy creation, in days. + :vartype immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible values include: Locked + and Unlocked. Possible values include: "Locked", "Unlocked". + :vartype state: str or ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyState + :ivar allow_protected_append_writes: This property can only be changed for unlocked time-based + retention policies. When enabled, new blocks can be written to an append blob while maintaining + immutability protection and compliance. Only new blocks can be added and any existing blocks + cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy + API. + :vartype allow_protected_append_writes: bool + :ivar allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :vartype allow_protected_append_writes_all: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, + 'allow_protected_append_writes_all': {'key': 'properties.allowProtectedAppendWritesAll', 'type': 'bool'}, + } + + def __init__( + self, + *, + immutability_period_since_creation_in_days: Optional[int] = None, + allow_protected_append_writes: Optional[bool] = None, + allow_protected_append_writes_all: Optional[bool] = None, + **kwargs + ): + """ + :keyword immutability_period_since_creation_in_days: The immutability period for the blobs in + the container since the policy creation, in days. + :paramtype immutability_period_since_creation_in_days: int + :keyword allow_protected_append_writes: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to an append blob while + maintaining immutability protection and compliance. Only new blocks can be added and any + existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. + :paramtype allow_protected_append_writes: bool + :keyword allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :paramtype allow_protected_append_writes_all: bool + """ + super(ImmutabilityPolicy, self).__init__(**kwargs) + self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days + self.state = None + self.allow_protected_append_writes = allow_protected_append_writes + self.allow_protected_append_writes_all = allow_protected_append_writes_all + + +class ImmutabilityPolicyProperties(msrest.serialization.Model): + """The properties of an ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar etag: ImmutabilityPolicy Etag. + :vartype etag: str + :ivar update_history: The ImmutabilityPolicy update history of the blob container. + :vartype update_history: list[~azure.mgmt.storage.v2021_08_01.models.UpdateHistoryProperty] + :ivar immutability_period_since_creation_in_days: The immutability period for the blobs in the + container since the policy creation, in days. + :vartype immutability_period_since_creation_in_days: int + :ivar state: The ImmutabilityPolicy state of a blob container, possible values include: Locked + and Unlocked. Possible values include: "Locked", "Unlocked". + :vartype state: str or ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyState + :ivar allow_protected_append_writes: This property can only be changed for unlocked time-based + retention policies. When enabled, new blocks can be written to an append blob while maintaining + immutability protection and compliance. Only new blocks can be added and any existing blocks + cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy + API. + :vartype allow_protected_append_writes: bool + :ivar allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :vartype allow_protected_append_writes_all: bool + """ + + _validation = { + 'etag': {'readonly': True}, + 'update_history': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'etag': {'key': 'etag', 'type': 'str'}, + 'update_history': {'key': 'updateHistory', 'type': '[UpdateHistoryProperty]'}, + 'immutability_period_since_creation_in_days': {'key': 'properties.immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'properties.allowProtectedAppendWrites', 'type': 'bool'}, + 'allow_protected_append_writes_all': {'key': 'properties.allowProtectedAppendWritesAll', 'type': 'bool'}, + } + + def __init__( + self, + *, + immutability_period_since_creation_in_days: Optional[int] = None, + allow_protected_append_writes: Optional[bool] = None, + allow_protected_append_writes_all: Optional[bool] = None, + **kwargs + ): + """ + :keyword immutability_period_since_creation_in_days: The immutability period for the blobs in + the container since the policy creation, in days. + :paramtype immutability_period_since_creation_in_days: int + :keyword allow_protected_append_writes: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to an append blob while + maintaining immutability protection and compliance. Only new blocks can be added and any + existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. + :paramtype allow_protected_append_writes: bool + :keyword allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :paramtype allow_protected_append_writes_all: bool + """ + super(ImmutabilityPolicyProperties, self).__init__(**kwargs) + self.etag = None + self.update_history = None + self.immutability_period_since_creation_in_days = immutability_period_since_creation_in_days + self.state = None + self.allow_protected_append_writes = allow_protected_append_writes + self.allow_protected_append_writes_all = allow_protected_append_writes_all + + +class ImmutableStorageAccount(msrest.serialization.Model): + """This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning. + + :ivar enabled: A boolean flag which enables account-level immutability. All the containers + under such an account have object-level immutability enabled by default. + :vartype enabled: bool + :ivar immutability_policy: Specifies the default account-level immutability policy which is + inherited and applied to objects that do not possess an explicit immutability policy at the + object level. The object-level immutability policy has higher precedence than the + container-level immutability policy, which has a higher precedence than the account-level + immutability policy. + :vartype immutability_policy: + ~azure.mgmt.storage.v2021_08_01.models.AccountImmutabilityPolicyProperties + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'immutability_policy': {'key': 'immutabilityPolicy', 'type': 'AccountImmutabilityPolicyProperties'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + immutability_policy: Optional["AccountImmutabilityPolicyProperties"] = None, + **kwargs + ): + """ + :keyword enabled: A boolean flag which enables account-level immutability. All the containers + under such an account have object-level immutability enabled by default. + :paramtype enabled: bool + :keyword immutability_policy: Specifies the default account-level immutability policy which is + inherited and applied to objects that do not possess an explicit immutability policy at the + object level. The object-level immutability policy has higher precedence than the + container-level immutability policy, which has a higher precedence than the account-level + immutability policy. + :paramtype immutability_policy: + ~azure.mgmt.storage.v2021_08_01.models.AccountImmutabilityPolicyProperties + """ + super(ImmutableStorageAccount, self).__init__(**kwargs) + self.enabled = enabled + self.immutability_policy = immutability_policy + + +class ImmutableStorageWithVersioning(msrest.serialization.Model): + """Object level immutability properties of the container. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar enabled: This is an immutable property, when set to true it enables object level + immutability at the container level. + :vartype enabled: bool + :ivar time_stamp: Returns the date and time the object level immutability was enabled. + :vartype time_stamp: ~datetime.datetime + :ivar migration_state: This property denotes the container level immutability to object level + immutability migration state. Possible values include: "InProgress", "Completed". + :vartype migration_state: str or ~azure.mgmt.storage.v2021_08_01.models.MigrationState + """ + + _validation = { + 'time_stamp': {'readonly': True}, + 'migration_state': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'migration_state': {'key': 'migrationState', 'type': 'str'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + **kwargs + ): + """ + :keyword enabled: This is an immutable property, when set to true it enables object level + immutability at the container level. + :paramtype enabled: bool + """ + super(ImmutableStorageWithVersioning, self).__init__(**kwargs) + self.enabled = enabled + self.time_stamp = None + self.migration_state = None + + +class IPRule(msrest.serialization.Model): + """IP rule with specific IP or IP range in CIDR format. + + All required parameters must be populated in order to send to Azure. + + :ivar ip_address_or_range: Required. Specifies the IP or IP range in CIDR format. Only IPV4 + address is allowed. + :vartype ip_address_or_range: str + :ivar action: The action of IP ACL rule. The only acceptable values to pass in are None and + "Allow". The default value is None. + :vartype action: str + """ + + _validation = { + 'ip_address_or_range': {'required': True}, + } + + _attribute_map = { + 'ip_address_or_range': {'key': 'value', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + } + + def __init__( + self, + *, + ip_address_or_range: str, + action: Optional[str] = None, + **kwargs + ): + """ + :keyword ip_address_or_range: Required. Specifies the IP or IP range in CIDR format. Only IPV4 + address is allowed. + :paramtype ip_address_or_range: str + :keyword action: The action of IP ACL rule. The only acceptable values to pass in are None and + "Allow". The default value is None. + :paramtype action: str + """ + super(IPRule, self).__init__(**kwargs) + self.ip_address_or_range = ip_address_or_range + self.action = action + + +class KeyCreationTime(msrest.serialization.Model): + """Storage account keys creation time. + + :ivar key1: + :vartype key1: ~datetime.datetime + :ivar key2: + :vartype key2: ~datetime.datetime + """ + + _attribute_map = { + 'key1': {'key': 'key1', 'type': 'iso-8601'}, + 'key2': {'key': 'key2', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + key1: Optional[datetime.datetime] = None, + key2: Optional[datetime.datetime] = None, + **kwargs + ): + """ + :keyword key1: + :paramtype key1: ~datetime.datetime + :keyword key2: + :paramtype key2: ~datetime.datetime + """ + super(KeyCreationTime, self).__init__(**kwargs) + self.key1 = key1 + self.key2 = key2 + + +class KeyPolicy(msrest.serialization.Model): + """KeyPolicy assigned to the storage account. + + All required parameters must be populated in order to send to Azure. + + :ivar key_expiration_period_in_days: Required. The key expiration period in days. + :vartype key_expiration_period_in_days: int + """ + + _validation = { + 'key_expiration_period_in_days': {'required': True}, + } + + _attribute_map = { + 'key_expiration_period_in_days': {'key': 'keyExpirationPeriodInDays', 'type': 'int'}, + } + + def __init__( + self, + *, + key_expiration_period_in_days: int, + **kwargs + ): + """ + :keyword key_expiration_period_in_days: Required. The key expiration period in days. + :paramtype key_expiration_period_in_days: int + """ + super(KeyPolicy, self).__init__(**kwargs) + self.key_expiration_period_in_days = key_expiration_period_in_days + + +class KeyVaultProperties(msrest.serialization.Model): + """Properties of key vault. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar key_name: The name of KeyVault key. + :vartype key_name: str + :ivar key_version: The version of KeyVault key. + :vartype key_version: str + :ivar key_vault_uri: The Uri of KeyVault. + :vartype key_vault_uri: str + :ivar current_versioned_key_identifier: The object identifier of the current versioned Key + Vault Key in use. + :vartype current_versioned_key_identifier: str + :ivar last_key_rotation_timestamp: Timestamp of last rotation of the Key Vault Key. + :vartype last_key_rotation_timestamp: ~datetime.datetime + """ + + _validation = { + 'current_versioned_key_identifier': {'readonly': True}, + 'last_key_rotation_timestamp': {'readonly': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyname', 'type': 'str'}, + 'key_version': {'key': 'keyversion', 'type': 'str'}, + 'key_vault_uri': {'key': 'keyvaulturi', 'type': 'str'}, + 'current_versioned_key_identifier': {'key': 'currentVersionedKeyIdentifier', 'type': 'str'}, + 'last_key_rotation_timestamp': {'key': 'lastKeyRotationTimestamp', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + key_name: Optional[str] = None, + key_version: Optional[str] = None, + key_vault_uri: Optional[str] = None, + **kwargs + ): + """ + :keyword key_name: The name of KeyVault key. + :paramtype key_name: str + :keyword key_version: The version of KeyVault key. + :paramtype key_version: str + :keyword key_vault_uri: The Uri of KeyVault. + :paramtype key_vault_uri: str + """ + super(KeyVaultProperties, self).__init__(**kwargs) + self.key_name = key_name + self.key_version = key_version + self.key_vault_uri = key_vault_uri + self.current_versioned_key_identifier = None + self.last_key_rotation_timestamp = None + + +class LastAccessTimeTrackingPolicy(msrest.serialization.Model): + """The blob service properties for Last access time based tracking policy. + + All required parameters must be populated in order to send to Azure. + + :ivar enable: Required. When set to true last access time based tracking is enabled. + :vartype enable: bool + :ivar name: Name of the policy. The valid value is AccessTimeTracking. This field is currently + read only. Possible values include: "AccessTimeTracking". + :vartype name: str or ~azure.mgmt.storage.v2021_08_01.models.Name + :ivar tracking_granularity_in_days: The field specifies blob object tracking granularity in + days, typically how often the blob object should be tracked.This field is currently read only + with value as 1. + :vartype tracking_granularity_in_days: int + :ivar blob_type: An array of predefined supported blob types. Only blockBlob is the supported + value. This field is currently read only. + :vartype blob_type: list[str] + """ + + _validation = { + 'enable': {'required': True}, + } + + _attribute_map = { + 'enable': {'key': 'enable', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'tracking_granularity_in_days': {'key': 'trackingGranularityInDays', 'type': 'int'}, + 'blob_type': {'key': 'blobType', 'type': '[str]'}, + } + + def __init__( + self, + *, + enable: bool, + name: Optional[Union[str, "Name"]] = None, + tracking_granularity_in_days: Optional[int] = None, + blob_type: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword enable: Required. When set to true last access time based tracking is enabled. + :paramtype enable: bool + :keyword name: Name of the policy. The valid value is AccessTimeTracking. This field is + currently read only. Possible values include: "AccessTimeTracking". + :paramtype name: str or ~azure.mgmt.storage.v2021_08_01.models.Name + :keyword tracking_granularity_in_days: The field specifies blob object tracking granularity in + days, typically how often the blob object should be tracked.This field is currently read only + with value as 1. + :paramtype tracking_granularity_in_days: int + :keyword blob_type: An array of predefined supported blob types. Only blockBlob is the + supported value. This field is currently read only. + :paramtype blob_type: list[str] + """ + super(LastAccessTimeTrackingPolicy, self).__init__(**kwargs) + self.enable = enable + self.name = name + self.tracking_granularity_in_days = tracking_granularity_in_days + self.blob_type = blob_type + + +class LeaseContainerRequest(msrest.serialization.Model): + """Lease Container request schema. + + All required parameters must be populated in order to send to Azure. + + :ivar action: Required. Specifies the lease action. Can be one of the available actions. + Possible values include: "Acquire", "Renew", "Change", "Release", "Break". + :vartype action: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseContainerRequestAction + :ivar lease_id: Identifies the lease. Can be specified in any valid GUID string format. + :vartype lease_id: str + :ivar break_period: Optional. For a break action, proposed duration the lease should continue + before it is broken, in seconds, between 0 and 60. + :vartype break_period: int + :ivar lease_duration: Required for acquire. Specifies the duration of the lease, in seconds, or + negative one (-1) for a lease that never expires. + :vartype lease_duration: int + :ivar proposed_lease_id: Optional for acquire, required for change. Proposed lease ID, in a + GUID string format. + :vartype proposed_lease_id: str + """ + + _validation = { + 'action': {'required': True}, + } + + _attribute_map = { + 'action': {'key': 'action', 'type': 'str'}, + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'break_period': {'key': 'breakPeriod', 'type': 'int'}, + 'lease_duration': {'key': 'leaseDuration', 'type': 'int'}, + 'proposed_lease_id': {'key': 'proposedLeaseId', 'type': 'str'}, + } + + def __init__( + self, + *, + action: Union[str, "LeaseContainerRequestAction"], + lease_id: Optional[str] = None, + break_period: Optional[int] = None, + lease_duration: Optional[int] = None, + proposed_lease_id: Optional[str] = None, + **kwargs + ): + """ + :keyword action: Required. Specifies the lease action. Can be one of the available actions. + Possible values include: "Acquire", "Renew", "Change", "Release", "Break". + :paramtype action: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseContainerRequestAction + :keyword lease_id: Identifies the lease. Can be specified in any valid GUID string format. + :paramtype lease_id: str + :keyword break_period: Optional. For a break action, proposed duration the lease should + continue before it is broken, in seconds, between 0 and 60. + :paramtype break_period: int + :keyword lease_duration: Required for acquire. Specifies the duration of the lease, in seconds, + or negative one (-1) for a lease that never expires. + :paramtype lease_duration: int + :keyword proposed_lease_id: Optional for acquire, required for change. Proposed lease ID, in a + GUID string format. + :paramtype proposed_lease_id: str + """ + super(LeaseContainerRequest, self).__init__(**kwargs) + self.action = action + self.lease_id = lease_id + self.break_period = break_period + self.lease_duration = lease_duration + self.proposed_lease_id = proposed_lease_id + + +class LeaseContainerResponse(msrest.serialization.Model): + """Lease Container response schema. + + :ivar lease_id: Returned unique lease ID that must be included with any request to delete the + container, or to renew, change, or release the lease. + :vartype lease_id: str + :ivar lease_time_seconds: Approximate time remaining in the lease period, in seconds. + :vartype lease_time_seconds: str + """ + + _attribute_map = { + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'lease_time_seconds': {'key': 'leaseTimeSeconds', 'type': 'str'}, + } + + def __init__( + self, + *, + lease_id: Optional[str] = None, + lease_time_seconds: Optional[str] = None, + **kwargs + ): + """ + :keyword lease_id: Returned unique lease ID that must be included with any request to delete + the container, or to renew, change, or release the lease. + :paramtype lease_id: str + :keyword lease_time_seconds: Approximate time remaining in the lease period, in seconds. + :paramtype lease_time_seconds: str + """ + super(LeaseContainerResponse, self).__init__(**kwargs) + self.lease_id = lease_id + self.lease_time_seconds = lease_time_seconds + + +class LeaseShareRequest(msrest.serialization.Model): + """Lease Share request schema. + + All required parameters must be populated in order to send to Azure. + + :ivar action: Required. Specifies the lease action. Can be one of the available actions. + Possible values include: "Acquire", "Renew", "Change", "Release", "Break". + :vartype action: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseShareAction + :ivar lease_id: Identifies the lease. Can be specified in any valid GUID string format. + :vartype lease_id: str + :ivar break_period: Optional. For a break action, proposed duration the lease should continue + before it is broken, in seconds, between 0 and 60. + :vartype break_period: int + :ivar lease_duration: Required for acquire. Specifies the duration of the lease, in seconds, or + negative one (-1) for a lease that never expires. + :vartype lease_duration: int + :ivar proposed_lease_id: Optional for acquire, required for change. Proposed lease ID, in a + GUID string format. + :vartype proposed_lease_id: str + """ + + _validation = { + 'action': {'required': True}, + } + + _attribute_map = { + 'action': {'key': 'action', 'type': 'str'}, + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'break_period': {'key': 'breakPeriod', 'type': 'int'}, + 'lease_duration': {'key': 'leaseDuration', 'type': 'int'}, + 'proposed_lease_id': {'key': 'proposedLeaseId', 'type': 'str'}, + } + + def __init__( + self, + *, + action: Union[str, "LeaseShareAction"], + lease_id: Optional[str] = None, + break_period: Optional[int] = None, + lease_duration: Optional[int] = None, + proposed_lease_id: Optional[str] = None, + **kwargs + ): + """ + :keyword action: Required. Specifies the lease action. Can be one of the available actions. + Possible values include: "Acquire", "Renew", "Change", "Release", "Break". + :paramtype action: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseShareAction + :keyword lease_id: Identifies the lease. Can be specified in any valid GUID string format. + :paramtype lease_id: str + :keyword break_period: Optional. For a break action, proposed duration the lease should + continue before it is broken, in seconds, between 0 and 60. + :paramtype break_period: int + :keyword lease_duration: Required for acquire. Specifies the duration of the lease, in seconds, + or negative one (-1) for a lease that never expires. + :paramtype lease_duration: int + :keyword proposed_lease_id: Optional for acquire, required for change. Proposed lease ID, in a + GUID string format. + :paramtype proposed_lease_id: str + """ + super(LeaseShareRequest, self).__init__(**kwargs) + self.action = action + self.lease_id = lease_id + self.break_period = break_period + self.lease_duration = lease_duration + self.proposed_lease_id = proposed_lease_id + + +class LeaseShareResponse(msrest.serialization.Model): + """Lease Share response schema. + + :ivar lease_id: Returned unique lease ID that must be included with any request to delete the + share, or to renew, change, or release the lease. + :vartype lease_id: str + :ivar lease_time_seconds: Approximate time remaining in the lease period, in seconds. + :vartype lease_time_seconds: str + """ + + _attribute_map = { + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + 'lease_time_seconds': {'key': 'leaseTimeSeconds', 'type': 'str'}, + } + + def __init__( + self, + *, + lease_id: Optional[str] = None, + lease_time_seconds: Optional[str] = None, + **kwargs + ): + """ + :keyword lease_id: Returned unique lease ID that must be included with any request to delete + the share, or to renew, change, or release the lease. + :paramtype lease_id: str + :keyword lease_time_seconds: Approximate time remaining in the lease period, in seconds. + :paramtype lease_time_seconds: str + """ + super(LeaseShareResponse, self).__init__(**kwargs) + self.lease_id = lease_id + self.lease_time_seconds = lease_time_seconds + + +class LegalHold(msrest.serialization.Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at + least one existing tag. The hasLegalHold public property is set to false by SRP if all existing + legal hold tags are cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar tags: Required. A set of tags. Each tag should be 3 to 23 alphanumeric characters and is + normalized to lower case at SRP. + :vartype tags: list[str] + :ivar allow_protected_append_writes_all: When enabled, new blocks can be written to both + 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. + :vartype allow_protected_append_writes_all: bool + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + 'tags': {'required': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[str]'}, + 'allow_protected_append_writes_all': {'key': 'allowProtectedAppendWritesAll', 'type': 'bool'}, + } + + def __init__( + self, + *, + tags: List[str], + allow_protected_append_writes_all: Optional[bool] = None, + **kwargs + ): + """ + :keyword tags: Required. A set of tags. Each tag should be 3 to 23 alphanumeric characters and + is normalized to lower case at SRP. + :paramtype tags: list[str] + :keyword allow_protected_append_writes_all: When enabled, new blocks can be written to both + 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. + :paramtype allow_protected_append_writes_all: bool + """ + super(LegalHold, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = tags + self.allow_protected_append_writes_all = allow_protected_append_writes_all + + +class LegalHoldProperties(msrest.serialization.Model): + """The LegalHold property of a blob container. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at + least one existing tag. The hasLegalHold public property is set to false by SRP if all existing + legal hold tags are cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar tags: A set of tags. The list of LegalHold tags of a blob container. + :vartype tags: list[~azure.mgmt.storage.v2021_08_01.models.TagProperty] + :ivar protected_append_writes_history: Protected append blob writes history. + :vartype protected_append_writes_history: + ~azure.mgmt.storage.v2021_08_01.models.ProtectedAppendWritesHistory + """ + + _validation = { + 'has_legal_hold': {'readonly': True}, + } + + _attribute_map = { + 'has_legal_hold': {'key': 'hasLegalHold', 'type': 'bool'}, + 'tags': {'key': 'tags', 'type': '[TagProperty]'}, + 'protected_append_writes_history': {'key': 'protectedAppendWritesHistory', 'type': 'ProtectedAppendWritesHistory'}, + } + + def __init__( + self, + *, + tags: Optional[List["TagProperty"]] = None, + protected_append_writes_history: Optional["ProtectedAppendWritesHistory"] = None, + **kwargs + ): + """ + :keyword tags: A set of tags. The list of LegalHold tags of a blob container. + :paramtype tags: list[~azure.mgmt.storage.v2021_08_01.models.TagProperty] + :keyword protected_append_writes_history: Protected append blob writes history. + :paramtype protected_append_writes_history: + ~azure.mgmt.storage.v2021_08_01.models.ProtectedAppendWritesHistory + """ + super(LegalHoldProperties, self).__init__(**kwargs) + self.has_legal_hold = None + self.tags = tags + self.protected_append_writes_history = protected_append_writes_history + + +class ListAccountSasResponse(msrest.serialization.Model): + """The List SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar account_sas_token: List SAS credentials of storage account. + :vartype account_sas_token: str + """ + + _validation = { + 'account_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'account_sas_token': {'key': 'accountSasToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ListAccountSasResponse, self).__init__(**kwargs) + self.account_sas_token = None + + +class ListBlobInventoryPolicy(msrest.serialization.Model): + """List of blob inventory policies returned. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of blob inventory policies. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicy] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BlobInventoryPolicy]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ListBlobInventoryPolicy, self).__init__(**kwargs) + self.value = None + + +class ListContainerItem(AzureEntityResource): + """The blob container properties be listed out. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar etag: Resource Etag. + :vartype etag: str + :ivar version: The version of the deleted blob container. + :vartype version: str + :ivar deleted: Indicates whether the blob container was deleted. + :vartype deleted: bool + :ivar deleted_time: Blob container deletion time. + :vartype deleted_time: ~datetime.datetime + :ivar remaining_retention_days: Remaining retention days for soft deleted blob container. + :vartype remaining_retention_days: int + :ivar default_encryption_scope: Default the container to use specified encryption scope for all + writes. + :vartype default_encryption_scope: str + :ivar deny_encryption_scope_override: Block override of encryption scope from the container + default. + :vartype deny_encryption_scope_override: bool + :ivar public_access: Specifies whether data in the container may be accessed publicly and the + level of access. Possible values include: "Container", "Blob", "None". + :vartype public_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicAccess + :ivar last_modified_time: Returns the date and time the container was last modified. + :vartype last_modified_time: ~datetime.datetime + :ivar lease_status: The lease status of the container. Possible values include: "Locked", + "Unlocked". + :vartype lease_status: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseStatus + :ivar lease_state: Lease state of the container. Possible values include: "Available", + "Leased", "Expired", "Breaking", "Broken". + :vartype lease_state: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseState + :ivar lease_duration: Specifies whether the lease on a container is of infinite or fixed + duration, only when the container is leased. Possible values include: "Infinite", "Fixed". + :vartype lease_duration: str or ~azure.mgmt.storage.v2021_08_01.models.LeaseDuration + :ivar metadata: A name-value pair to associate with the container as metadata. + :vartype metadata: dict[str, str] + :ivar immutability_policy: The ImmutabilityPolicy property of the container. + :vartype immutability_policy: + ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyProperties + :ivar legal_hold: The LegalHold property of the container. + :vartype legal_hold: ~azure.mgmt.storage.v2021_08_01.models.LegalHoldProperties + :ivar has_legal_hold: The hasLegalHold public property is set to true by SRP if there are at + least one existing tag. The hasLegalHold public property is set to false by SRP if all existing + legal hold tags are cleared out. There can be a maximum of 1000 blob containers with + hasLegalHold=true for a given account. + :vartype has_legal_hold: bool + :ivar has_immutability_policy: The hasImmutabilityPolicy public property is set to true by SRP + if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public + property is set to false by SRP if ImmutabilityPolicy has not been created for this container. + :vartype has_immutability_policy: bool + :ivar immutable_storage_with_versioning: The object level immutability property of the + container. The property is immutable and can only be set to true at the container creation + time. Existing containers must undergo a migration process. + :vartype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageWithVersioning + :ivar enable_nfs_v3_root_squash: Enable NFSv3 root squash on blob container. + :vartype enable_nfs_v3_root_squash: bool + :ivar enable_nfs_v3_all_squash: Enable NFSv3 all squash on blob container. + :vartype enable_nfs_v3_all_squash: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'version': {'readonly': True}, + 'deleted': {'readonly': True}, + 'deleted_time': {'readonly': True}, + 'remaining_retention_days': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + 'lease_status': {'readonly': True}, + 'lease_state': {'readonly': True}, + 'lease_duration': {'readonly': True}, + 'immutability_policy': {'readonly': True}, + 'legal_hold': {'readonly': True}, + 'has_legal_hold': {'readonly': True}, + 'has_immutability_policy': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'deleted': {'key': 'properties.deleted', 'type': 'bool'}, + 'deleted_time': {'key': 'properties.deletedTime', 'type': 'iso-8601'}, + 'remaining_retention_days': {'key': 'properties.remainingRetentionDays', 'type': 'int'}, + 'default_encryption_scope': {'key': 'properties.defaultEncryptionScope', 'type': 'str'}, + 'deny_encryption_scope_override': {'key': 'properties.denyEncryptionScopeOverride', 'type': 'bool'}, + 'public_access': {'key': 'properties.publicAccess', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'lease_status': {'key': 'properties.leaseStatus', 'type': 'str'}, + 'lease_state': {'key': 'properties.leaseState', 'type': 'str'}, + 'lease_duration': {'key': 'properties.leaseDuration', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'immutability_policy': {'key': 'properties.immutabilityPolicy', 'type': 'ImmutabilityPolicyProperties'}, + 'legal_hold': {'key': 'properties.legalHold', 'type': 'LegalHoldProperties'}, + 'has_legal_hold': {'key': 'properties.hasLegalHold', 'type': 'bool'}, + 'has_immutability_policy': {'key': 'properties.hasImmutabilityPolicy', 'type': 'bool'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageWithVersioning'}, + 'enable_nfs_v3_root_squash': {'key': 'properties.enableNfsV3RootSquash', 'type': 'bool'}, + 'enable_nfs_v3_all_squash': {'key': 'properties.enableNfsV3AllSquash', 'type': 'bool'}, + } + + def __init__( + self, + *, + default_encryption_scope: Optional[str] = None, + deny_encryption_scope_override: Optional[bool] = None, + public_access: Optional[Union[str, "PublicAccess"]] = None, + metadata: Optional[Dict[str, str]] = None, + immutable_storage_with_versioning: Optional["ImmutableStorageWithVersioning"] = None, + enable_nfs_v3_root_squash: Optional[bool] = None, + enable_nfs_v3_all_squash: Optional[bool] = None, + **kwargs + ): + """ + :keyword default_encryption_scope: Default the container to use specified encryption scope for + all writes. + :paramtype default_encryption_scope: str + :keyword deny_encryption_scope_override: Block override of encryption scope from the container + default. + :paramtype deny_encryption_scope_override: bool + :keyword public_access: Specifies whether data in the container may be accessed publicly and + the level of access. Possible values include: "Container", "Blob", "None". + :paramtype public_access: str or ~azure.mgmt.storage.v2021_08_01.models.PublicAccess + :keyword metadata: A name-value pair to associate with the container as metadata. + :paramtype metadata: dict[str, str] + :keyword immutable_storage_with_versioning: The object level immutability property of the + container. The property is immutable and can only be set to true at the container creation + time. Existing containers must undergo a migration process. + :paramtype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageWithVersioning + :keyword enable_nfs_v3_root_squash: Enable NFSv3 root squash on blob container. + :paramtype enable_nfs_v3_root_squash: bool + :keyword enable_nfs_v3_all_squash: Enable NFSv3 all squash on blob container. + :paramtype enable_nfs_v3_all_squash: bool + """ + super(ListContainerItem, self).__init__(**kwargs) + self.version = None + self.deleted = None + self.deleted_time = None + self.remaining_retention_days = None + self.default_encryption_scope = default_encryption_scope + self.deny_encryption_scope_override = deny_encryption_scope_override + self.public_access = public_access + self.last_modified_time = None + self.lease_status = None + self.lease_state = None + self.lease_duration = None + self.metadata = metadata + self.immutability_policy = None + self.legal_hold = None + self.has_legal_hold = None + self.has_immutability_policy = None + self.immutable_storage_with_versioning = immutable_storage_with_versioning + self.enable_nfs_v3_root_squash = enable_nfs_v3_root_squash + self.enable_nfs_v3_all_squash = enable_nfs_v3_all_squash + + +class ListContainerItems(msrest.serialization.Model): + """Response schema. Contains list of blobs returned, and if paging is requested or required, a URL to next page of containers. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of blobs containers returned. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.ListContainerItem] + :ivar next_link: Request URL that can be used to query next page of containers. Returned when + total number of requested containers exceed maximum page size. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ListContainerItem]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ListContainerItems, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ListQueue(Resource): + """ListQueue. + + 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 metadata: A name-value pair that represents queue metadata. + :vartype metadata: dict[str, 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'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + } + + def __init__( + self, + *, + metadata: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword metadata: A name-value pair that represents queue metadata. + :paramtype metadata: dict[str, str] + """ + super(ListQueue, self).__init__(**kwargs) + self.metadata = metadata + + +class ListQueueResource(msrest.serialization.Model): + """Response schema. Contains list of queues returned. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of queues returned. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.ListQueue] + :ivar next_link: Request URL that can be used to list next page of queues. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ListQueue]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ListQueueResource, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ListQueueServices(msrest.serialization.Model): + """ListQueueServices. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of queue services returned. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.QueueServiceProperties] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[QueueServiceProperties]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ListQueueServices, self).__init__(**kwargs) + self.value = None + + +class ListServiceSasResponse(msrest.serialization.Model): + """The List service SAS credentials operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar service_sas_token: List service SAS credentials of specific resource. + :vartype service_sas_token: str + """ + + _validation = { + 'service_sas_token': {'readonly': True}, + } + + _attribute_map = { + 'service_sas_token': {'key': 'serviceSasToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ListServiceSasResponse, self).__init__(**kwargs) + self.service_sas_token = None + + +class ListTableResource(msrest.serialization.Model): + """Response schema. Contains list of tables returned. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of tables returned. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.Table] + :ivar next_link: Request URL that can be used to query next page of tables. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Table]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ListTableResource, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ListTableServices(msrest.serialization.Model): + """ListTableServices. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of table services returned. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.TableServiceProperties] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TableServiceProperties]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(ListTableServices, self).__init__(**kwargs) + self.value = None + + +class LocalUser(Resource): + """The local user associated with the storage accounts. + + 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: Metadata pertaining to creation and last modification of the resource. + :vartype system_data: ~azure.mgmt.storage.v2021_08_01.models.SystemData + :ivar permission_scopes: The permission scopes of the local user. + :vartype permission_scopes: list[~azure.mgmt.storage.v2021_08_01.models.PermissionScope] + :ivar home_directory: Optional, local user home directory. + :vartype home_directory: str + :ivar ssh_authorized_keys: Optional, local user ssh authorized keys for SFTP. + :vartype ssh_authorized_keys: list[~azure.mgmt.storage.v2021_08_01.models.SshPublicKey] + :ivar sid: A unique Security Identifier that is generated by the server. + :vartype sid: str + :ivar has_shared_key: Indicates whether shared key exists. Set it to false to remove existing + shared key. + :vartype has_shared_key: bool + :ivar has_ssh_key: Indicates whether ssh key exists. Set it to false to remove existing SSH + key. + :vartype has_ssh_key: bool + :ivar has_ssh_password: Indicates whether ssh password exists. Set it to false to remove + existing SSH password. + :vartype has_ssh_password: bool + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'sid': {'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'}, + 'permission_scopes': {'key': 'properties.permissionScopes', 'type': '[PermissionScope]'}, + 'home_directory': {'key': 'properties.homeDirectory', 'type': 'str'}, + 'ssh_authorized_keys': {'key': 'properties.sshAuthorizedKeys', 'type': '[SshPublicKey]'}, + 'sid': {'key': 'properties.sid', 'type': 'str'}, + 'has_shared_key': {'key': 'properties.hasSharedKey', 'type': 'bool'}, + 'has_ssh_key': {'key': 'properties.hasSshKey', 'type': 'bool'}, + 'has_ssh_password': {'key': 'properties.hasSshPassword', 'type': 'bool'}, + } + + def __init__( + self, + *, + permission_scopes: Optional[List["PermissionScope"]] = None, + home_directory: Optional[str] = None, + ssh_authorized_keys: Optional[List["SshPublicKey"]] = None, + has_shared_key: Optional[bool] = None, + has_ssh_key: Optional[bool] = None, + has_ssh_password: Optional[bool] = None, + **kwargs + ): + """ + :keyword permission_scopes: The permission scopes of the local user. + :paramtype permission_scopes: list[~azure.mgmt.storage.v2021_08_01.models.PermissionScope] + :keyword home_directory: Optional, local user home directory. + :paramtype home_directory: str + :keyword ssh_authorized_keys: Optional, local user ssh authorized keys for SFTP. + :paramtype ssh_authorized_keys: list[~azure.mgmt.storage.v2021_08_01.models.SshPublicKey] + :keyword has_shared_key: Indicates whether shared key exists. Set it to false to remove + existing shared key. + :paramtype has_shared_key: bool + :keyword has_ssh_key: Indicates whether ssh key exists. Set it to false to remove existing SSH + key. + :paramtype has_ssh_key: bool + :keyword has_ssh_password: Indicates whether ssh password exists. Set it to false to remove + existing SSH password. + :paramtype has_ssh_password: bool + """ + super(LocalUser, self).__init__(**kwargs) + self.system_data = None + self.permission_scopes = permission_scopes + self.home_directory = home_directory + self.ssh_authorized_keys = ssh_authorized_keys + self.sid = None + self.has_shared_key = has_shared_key + self.has_ssh_key = has_ssh_key + self.has_ssh_password = has_ssh_password + + +class LocalUserKeys(msrest.serialization.Model): + """The Storage Account Local User keys. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ssh_authorized_keys: Optional, local user ssh authorized keys for SFTP. + :vartype ssh_authorized_keys: list[~azure.mgmt.storage.v2021_08_01.models.SshPublicKey] + :ivar shared_key: Auto generated by the server for SMB authentication. + :vartype shared_key: str + """ + + _validation = { + 'shared_key': {'readonly': True}, + } + + _attribute_map = { + 'ssh_authorized_keys': {'key': 'sshAuthorizedKeys', 'type': '[SshPublicKey]'}, + 'shared_key': {'key': 'sharedKey', 'type': 'str'}, + } + + def __init__( + self, + *, + ssh_authorized_keys: Optional[List["SshPublicKey"]] = None, + **kwargs + ): + """ + :keyword ssh_authorized_keys: Optional, local user ssh authorized keys for SFTP. + :paramtype ssh_authorized_keys: list[~azure.mgmt.storage.v2021_08_01.models.SshPublicKey] + """ + super(LocalUserKeys, self).__init__(**kwargs) + self.ssh_authorized_keys = ssh_authorized_keys + self.shared_key = None + + +class LocalUserRegeneratePasswordResult(msrest.serialization.Model): + """The secrets of Storage Account Local User. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ssh_password: Auto generated password by the server for SSH authentication if + hasSshPassword is set to true on the creation of local user. + :vartype ssh_password: str + """ + + _validation = { + 'ssh_password': {'readonly': True}, + } + + _attribute_map = { + 'ssh_password': {'key': 'sshPassword', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(LocalUserRegeneratePasswordResult, self).__init__(**kwargs) + self.ssh_password = None + + +class LocalUsers(msrest.serialization.Model): + """List storage account local users. + + :ivar value: The local users associated with the storage account. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.LocalUser] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LocalUser]'}, + } + + def __init__( + self, + *, + value: Optional[List["LocalUser"]] = None, + **kwargs + ): + """ + :keyword value: The local users associated with the storage account. + :paramtype value: list[~azure.mgmt.storage.v2021_08_01.models.LocalUser] + """ + super(LocalUsers, self).__init__(**kwargs) + self.value = value + + +class ManagementPolicy(Resource): + """The Get Storage Account ManagementPolicies operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar last_modified_time: Returns the date and time the ManagementPolicies was last modified. + :vartype last_modified_time: ~datetime.datetime + :ivar policy: The Storage Account ManagementPolicy, in JSON format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :vartype policy: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicySchema + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'last_modified_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'last_modified_time': {'key': 'properties.lastModifiedTime', 'type': 'iso-8601'}, + 'policy': {'key': 'properties.policy', 'type': 'ManagementPolicySchema'}, + } + + def __init__( + self, + *, + policy: Optional["ManagementPolicySchema"] = None, + **kwargs + ): + """ + :keyword policy: The Storage Account ManagementPolicy, in JSON format. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :paramtype policy: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicySchema + """ + super(ManagementPolicy, self).__init__(**kwargs) + self.last_modified_time = None + self.policy = policy + + +class ManagementPolicyAction(msrest.serialization.Model): + """Actions are applied to the filtered blobs when the execution condition is met. + + :ivar base_blob: The management policy action for base blob. + :vartype base_blob: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyBaseBlob + :ivar snapshot: The management policy action for snapshot. + :vartype snapshot: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicySnapShot + :ivar version: The management policy action for version. + :vartype version: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyVersion + """ + + _attribute_map = { + 'base_blob': {'key': 'baseBlob', 'type': 'ManagementPolicyBaseBlob'}, + 'snapshot': {'key': 'snapshot', 'type': 'ManagementPolicySnapShot'}, + 'version': {'key': 'version', 'type': 'ManagementPolicyVersion'}, + } + + def __init__( + self, + *, + base_blob: Optional["ManagementPolicyBaseBlob"] = None, + snapshot: Optional["ManagementPolicySnapShot"] = None, + version: Optional["ManagementPolicyVersion"] = None, + **kwargs + ): + """ + :keyword base_blob: The management policy action for base blob. + :paramtype base_blob: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyBaseBlob + :keyword snapshot: The management policy action for snapshot. + :paramtype snapshot: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicySnapShot + :keyword version: The management policy action for version. + :paramtype version: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyVersion + """ + super(ManagementPolicyAction, self).__init__(**kwargs) + self.base_blob = base_blob + self.snapshot = snapshot + self.version = version + + +class ManagementPolicyBaseBlob(msrest.serialization.Model): + """Management policy action for base blob. + + :ivar tier_to_cool: The function to tier blobs to cool storage. Support blobs currently at Hot + tier. + :vartype tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification + :ivar tier_to_archive: The function to tier blobs to archive storage. Support blobs currently + at Hot or Cool tier. + :vartype tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification + :ivar delete: The function to delete the blob. + :vartype delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification + :ivar enable_auto_tier_to_hot_from_cool: This property enables auto tiering of a blob from cool + to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan. + :vartype enable_auto_tier_to_hot_from_cool: bool + """ + + _attribute_map = { + 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterModification'}, + 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterModification'}, + 'delete': {'key': 'delete', 'type': 'DateAfterModification'}, + 'enable_auto_tier_to_hot_from_cool': {'key': 'enableAutoTierToHotFromCool', 'type': 'bool'}, + } + + def __init__( + self, + *, + tier_to_cool: Optional["DateAfterModification"] = None, + tier_to_archive: Optional["DateAfterModification"] = None, + delete: Optional["DateAfterModification"] = None, + enable_auto_tier_to_hot_from_cool: Optional[bool] = None, + **kwargs + ): + """ + :keyword tier_to_cool: The function to tier blobs to cool storage. Support blobs currently at + Hot tier. + :paramtype tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification + :keyword tier_to_archive: The function to tier blobs to archive storage. Support blobs + currently at Hot or Cool tier. + :paramtype tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification + :keyword delete: The function to delete the blob. + :paramtype delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterModification + :keyword enable_auto_tier_to_hot_from_cool: This property enables auto tiering of a blob from + cool to hot on a blob access. This property requires + tierToCool.daysAfterLastAccessTimeGreaterThan. + :paramtype enable_auto_tier_to_hot_from_cool: bool + """ + super(ManagementPolicyBaseBlob, self).__init__(**kwargs) + self.tier_to_cool = tier_to_cool + self.tier_to_archive = tier_to_archive + self.delete = delete + self.enable_auto_tier_to_hot_from_cool = enable_auto_tier_to_hot_from_cool + + +class ManagementPolicyDefinition(msrest.serialization.Model): + """An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set. + + All required parameters must be populated in order to send to Azure. + + :ivar actions: Required. An object that defines the action set. + :vartype actions: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyAction + :ivar filters: An object that defines the filter set. + :vartype filters: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyFilter + """ + + _validation = { + 'actions': {'required': True}, + } + + _attribute_map = { + 'actions': {'key': 'actions', 'type': 'ManagementPolicyAction'}, + 'filters': {'key': 'filters', 'type': 'ManagementPolicyFilter'}, + } + + def __init__( + self, + *, + actions: "ManagementPolicyAction", + filters: Optional["ManagementPolicyFilter"] = None, + **kwargs + ): + """ + :keyword actions: Required. An object that defines the action set. + :paramtype actions: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyAction + :keyword filters: An object that defines the filter set. + :paramtype filters: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyFilter + """ + super(ManagementPolicyDefinition, self).__init__(**kwargs) + self.actions = actions + self.filters = filters + + +class ManagementPolicyFilter(msrest.serialization.Model): + """Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical AND is performed on all filters. + + All required parameters must be populated in order to send to Azure. + + :ivar prefix_match: An array of strings for prefixes to be match. + :vartype prefix_match: list[str] + :ivar blob_types: Required. An array of predefined enum values. Currently blockBlob supports + all tiering and delete actions. Only delete actions are supported for appendBlob. + :vartype blob_types: list[str] + :ivar blob_index_match: An array of blob index tag based filters, there can be at most 10 tag + filters. + :vartype blob_index_match: list[~azure.mgmt.storage.v2021_08_01.models.TagFilter] + """ + + _validation = { + 'blob_types': {'required': True}, + } + + _attribute_map = { + 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, + 'blob_types': {'key': 'blobTypes', 'type': '[str]'}, + 'blob_index_match': {'key': 'blobIndexMatch', 'type': '[TagFilter]'}, + } + + def __init__( + self, + *, + blob_types: List[str], + prefix_match: Optional[List[str]] = None, + blob_index_match: Optional[List["TagFilter"]] = None, + **kwargs + ): + """ + :keyword prefix_match: An array of strings for prefixes to be match. + :paramtype prefix_match: list[str] + :keyword blob_types: Required. An array of predefined enum values. Currently blockBlob supports + all tiering and delete actions. Only delete actions are supported for appendBlob. + :paramtype blob_types: list[str] + :keyword blob_index_match: An array of blob index tag based filters, there can be at most 10 + tag filters. + :paramtype blob_index_match: list[~azure.mgmt.storage.v2021_08_01.models.TagFilter] + """ + super(ManagementPolicyFilter, self).__init__(**kwargs) + self.prefix_match = prefix_match + self.blob_types = blob_types + self.blob_index_match = blob_index_match + + +class ManagementPolicyRule(msrest.serialization.Model): + """An object that wraps the Lifecycle rule. Each rule is uniquely defined by name. + + All required parameters must be populated in order to send to Azure. + + :ivar enabled: Rule is enabled if set to true. + :vartype enabled: bool + :ivar name: Required. A rule name can contain any combination of alpha numeric characters. Rule + name is case-sensitive. It must be unique within a policy. + :vartype name: str + :ivar type: Required. The valid value is Lifecycle. Possible values include: "Lifecycle". + :vartype type: str or ~azure.mgmt.storage.v2021_08_01.models.RuleType + :ivar definition: Required. An object that defines the Lifecycle rule. + :vartype definition: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyDefinition + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'definition': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'definition': {'key': 'definition', 'type': 'ManagementPolicyDefinition'}, + } + + def __init__( + self, + *, + name: str, + type: Union[str, "RuleType"], + definition: "ManagementPolicyDefinition", + enabled: Optional[bool] = None, + **kwargs + ): + """ + :keyword enabled: Rule is enabled if set to true. + :paramtype enabled: bool + :keyword name: Required. A rule name can contain any combination of alpha numeric characters. + Rule name is case-sensitive. It must be unique within a policy. + :paramtype name: str + :keyword type: Required. The valid value is Lifecycle. Possible values include: "Lifecycle". + :paramtype type: str or ~azure.mgmt.storage.v2021_08_01.models.RuleType + :keyword definition: Required. An object that defines the Lifecycle rule. + :paramtype definition: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyDefinition + """ + super(ManagementPolicyRule, self).__init__(**kwargs) + self.enabled = enabled + self.name = name + self.type = type + self.definition = definition + + +class ManagementPolicySchema(msrest.serialization.Model): + """The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + + All required parameters must be populated in order to send to Azure. + + :ivar rules: Required. The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :vartype rules: list[~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyRule] + """ + + _validation = { + 'rules': {'required': True}, + } + + _attribute_map = { + 'rules': {'key': 'rules', 'type': '[ManagementPolicyRule]'}, + } + + def __init__( + self, + *, + rules: List["ManagementPolicyRule"], + **kwargs + ): + """ + :keyword rules: Required. The Storage Account ManagementPolicies Rules. See more details in: + https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts. + :paramtype rules: list[~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyRule] + """ + super(ManagementPolicySchema, self).__init__(**kwargs) + self.rules = rules + + +class ManagementPolicySnapShot(msrest.serialization.Model): + """Management policy action for snapshot. + + :ivar tier_to_cool: The function to tier blob snapshot to cool storage. Support blob snapshot + currently at Hot tier. + :vartype tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :ivar tier_to_archive: The function to tier blob snapshot to archive storage. Support blob + snapshot currently at Hot or Cool tier. + :vartype tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :ivar delete: The function to delete the blob snapshot. + :vartype delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + """ + + _attribute_map = { + 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterCreation'}, + 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterCreation'}, + 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, + } + + def __init__( + self, + *, + tier_to_cool: Optional["DateAfterCreation"] = None, + tier_to_archive: Optional["DateAfterCreation"] = None, + delete: Optional["DateAfterCreation"] = None, + **kwargs + ): + """ + :keyword tier_to_cool: The function to tier blob snapshot to cool storage. Support blob + snapshot currently at Hot tier. + :paramtype tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :keyword tier_to_archive: The function to tier blob snapshot to archive storage. Support blob + snapshot currently at Hot or Cool tier. + :paramtype tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :keyword delete: The function to delete the blob snapshot. + :paramtype delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + """ + super(ManagementPolicySnapShot, self).__init__(**kwargs) + self.tier_to_cool = tier_to_cool + self.tier_to_archive = tier_to_archive + self.delete = delete + + +class ManagementPolicyVersion(msrest.serialization.Model): + """Management policy action for blob version. + + :ivar tier_to_cool: The function to tier blob version to cool storage. Support blob version + currently at Hot tier. + :vartype tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :ivar tier_to_archive: The function to tier blob version to archive storage. Support blob + version currently at Hot or Cool tier. + :vartype tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :ivar delete: The function to delete the blob version. + :vartype delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + """ + + _attribute_map = { + 'tier_to_cool': {'key': 'tierToCool', 'type': 'DateAfterCreation'}, + 'tier_to_archive': {'key': 'tierToArchive', 'type': 'DateAfterCreation'}, + 'delete': {'key': 'delete', 'type': 'DateAfterCreation'}, + } + + def __init__( + self, + *, + tier_to_cool: Optional["DateAfterCreation"] = None, + tier_to_archive: Optional["DateAfterCreation"] = None, + delete: Optional["DateAfterCreation"] = None, + **kwargs + ): + """ + :keyword tier_to_cool: The function to tier blob version to cool storage. Support blob version + currently at Hot tier. + :paramtype tier_to_cool: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :keyword tier_to_archive: The function to tier blob version to archive storage. Support blob + version currently at Hot or Cool tier. + :paramtype tier_to_archive: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + :keyword delete: The function to delete the blob version. + :paramtype delete: ~azure.mgmt.storage.v2021_08_01.models.DateAfterCreation + """ + super(ManagementPolicyVersion, self).__init__(**kwargs) + self.tier_to_cool = tier_to_cool + self.tier_to_archive = tier_to_archive + self.delete = delete + + +class MetricSpecification(msrest.serialization.Model): + """Metric specification of operation. + + :ivar name: Name of metric specification. + :vartype name: str + :ivar display_name: Display name of metric specification. + :vartype display_name: str + :ivar display_description: Display description of metric specification. + :vartype display_description: str + :ivar unit: Unit could be Bytes or Count. + :vartype unit: str + :ivar dimensions: Dimensions of blobs, including blob type and access tier. + :vartype dimensions: list[~azure.mgmt.storage.v2021_08_01.models.Dimension] + :ivar aggregation_type: Aggregation type could be Average. + :vartype aggregation_type: str + :ivar fill_gap_with_zero: The property to decide fill gap with zero or not. + :vartype fill_gap_with_zero: bool + :ivar category: The category this metric specification belong to, could be Capacity. + :vartype category: str + :ivar resource_id_dimension_name_override: Account Resource Id. + :vartype resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'category': {'key': 'category', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + display_description: Optional[str] = None, + unit: Optional[str] = None, + dimensions: Optional[List["Dimension"]] = None, + aggregation_type: Optional[str] = None, + fill_gap_with_zero: Optional[bool] = None, + category: Optional[str] = None, + resource_id_dimension_name_override: Optional[str] = None, + **kwargs + ): + """ + :keyword name: Name of metric specification. + :paramtype name: str + :keyword display_name: Display name of metric specification. + :paramtype display_name: str + :keyword display_description: Display description of metric specification. + :paramtype display_description: str + :keyword unit: Unit could be Bytes or Count. + :paramtype unit: str + :keyword dimensions: Dimensions of blobs, including blob type and access tier. + :paramtype dimensions: list[~azure.mgmt.storage.v2021_08_01.models.Dimension] + :keyword aggregation_type: Aggregation type could be Average. + :paramtype aggregation_type: str + :keyword fill_gap_with_zero: The property to decide fill gap with zero or not. + :paramtype fill_gap_with_zero: bool + :keyword category: The category this metric specification belong to, could be Capacity. + :paramtype category: str + :keyword resource_id_dimension_name_override: Account Resource Id. + :paramtype resource_id_dimension_name_override: str + """ + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.dimensions = dimensions + self.aggregation_type = aggregation_type + self.fill_gap_with_zero = fill_gap_with_zero + self.category = category + self.resource_id_dimension_name_override = resource_id_dimension_name_override + + +class Multichannel(msrest.serialization.Model): + """Multichannel setting. Applies to Premium FileStorage only. + + :ivar enabled: Indicates whether multichannel is enabled. + :vartype enabled: bool + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__( + self, + *, + enabled: Optional[bool] = None, + **kwargs + ): + """ + :keyword enabled: Indicates whether multichannel is enabled. + :paramtype enabled: bool + """ + super(Multichannel, self).__init__(**kwargs) + self.enabled = enabled + + +class NetworkRuleSet(msrest.serialization.Model): + """Network rule set. + + All required parameters must be populated in order to send to Azure. + + :ivar bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible + values are any combination of Logging|Metrics|AzureServices (For example, "Logging, Metrics"), + or None to bypass none of those traffics. Possible values include: "None", "Logging", + "Metrics", "AzureServices". Default value: "AzureServices". + :vartype bypass: str or ~azure.mgmt.storage.v2021_08_01.models.Bypass + :ivar resource_access_rules: Sets the resource access rules. + :vartype resource_access_rules: list[~azure.mgmt.storage.v2021_08_01.models.ResourceAccessRule] + :ivar virtual_network_rules: Sets the virtual network rules. + :vartype virtual_network_rules: list[~azure.mgmt.storage.v2021_08_01.models.VirtualNetworkRule] + :ivar ip_rules: Sets the IP ACL rules. + :vartype ip_rules: list[~azure.mgmt.storage.v2021_08_01.models.IPRule] + :ivar default_action: Required. Specifies the default action of allow or deny when no other + rules match. Possible values include: "Allow", "Deny". Default value: "Allow". + :vartype default_action: str or ~azure.mgmt.storage.v2021_08_01.models.DefaultAction + """ + + _validation = { + 'default_action': {'required': True}, + } + + _attribute_map = { + 'bypass': {'key': 'bypass', 'type': 'str'}, + 'resource_access_rules': {'key': 'resourceAccessRules', 'type': '[ResourceAccessRule]'}, + 'virtual_network_rules': {'key': 'virtualNetworkRules', 'type': '[VirtualNetworkRule]'}, + 'ip_rules': {'key': 'ipRules', 'type': '[IPRule]'}, + 'default_action': {'key': 'defaultAction', 'type': 'str'}, + } + + def __init__( + self, + *, + default_action: Union[str, "DefaultAction"] = "Allow", + bypass: Optional[Union[str, "Bypass"]] = "AzureServices", + resource_access_rules: Optional[List["ResourceAccessRule"]] = None, + virtual_network_rules: Optional[List["VirtualNetworkRule"]] = None, + ip_rules: Optional[List["IPRule"]] = None, + **kwargs + ): + """ + :keyword bypass: Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. + Possible values are any combination of Logging|Metrics|AzureServices (For example, "Logging, + Metrics"), or None to bypass none of those traffics. Possible values include: "None", + "Logging", "Metrics", "AzureServices". Default value: "AzureServices". + :paramtype bypass: str or ~azure.mgmt.storage.v2021_08_01.models.Bypass + :keyword resource_access_rules: Sets the resource access rules. + :paramtype resource_access_rules: + list[~azure.mgmt.storage.v2021_08_01.models.ResourceAccessRule] + :keyword virtual_network_rules: Sets the virtual network rules. + :paramtype virtual_network_rules: + list[~azure.mgmt.storage.v2021_08_01.models.VirtualNetworkRule] + :keyword ip_rules: Sets the IP ACL rules. + :paramtype ip_rules: list[~azure.mgmt.storage.v2021_08_01.models.IPRule] + :keyword default_action: Required. Specifies the default action of allow or deny when no other + rules match. Possible values include: "Allow", "Deny". Default value: "Allow". + :paramtype default_action: str or ~azure.mgmt.storage.v2021_08_01.models.DefaultAction + """ + super(NetworkRuleSet, self).__init__(**kwargs) + self.bypass = bypass + self.resource_access_rules = resource_access_rules + self.virtual_network_rules = virtual_network_rules + self.ip_rules = ip_rules + self.default_action = default_action + + +class ObjectReplicationPolicies(msrest.serialization.Model): + """List storage account object replication policies. + + :ivar value: The replication policy between two storage accounts. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ObjectReplicationPolicy]'}, + } + + def __init__( + self, + *, + value: Optional[List["ObjectReplicationPolicy"]] = None, + **kwargs + ): + """ + :keyword value: The replication policy between two storage accounts. + :paramtype value: list[~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy] + """ + super(ObjectReplicationPolicies, self).__init__(**kwargs) + self.value = value + + +class ObjectReplicationPolicy(Resource): + """The replication policy between two storage accounts. Multiple rules can be defined in one policy. + + 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 policy_id: A unique id for object replication policy. + :vartype policy_id: str + :ivar enabled_time: Indicates when the policy is enabled on the source account. + :vartype enabled_time: ~datetime.datetime + :ivar source_account: Required. Source account name. It should be full resource id if + allowCrossTenantReplication set to false. + :vartype source_account: str + :ivar destination_account: Required. Destination account name. It should be full resource id if + allowCrossTenantReplication set to false. + :vartype destination_account: str + :ivar rules: The storage account object replication rules. + :vartype rules: list[~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicyRule] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'policy_id': {'readonly': True}, + 'enabled_time': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'policy_id': {'key': 'properties.policyId', 'type': 'str'}, + 'enabled_time': {'key': 'properties.enabledTime', 'type': 'iso-8601'}, + 'source_account': {'key': 'properties.sourceAccount', 'type': 'str'}, + 'destination_account': {'key': 'properties.destinationAccount', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[ObjectReplicationPolicyRule]'}, + } + + def __init__( + self, + *, + source_account: Optional[str] = None, + destination_account: Optional[str] = None, + rules: Optional[List["ObjectReplicationPolicyRule"]] = None, + **kwargs + ): + """ + :keyword source_account: Required. Source account name. It should be full resource id if + allowCrossTenantReplication set to false. + :paramtype source_account: str + :keyword destination_account: Required. Destination account name. It should be full resource id + if allowCrossTenantReplication set to false. + :paramtype destination_account: str + :keyword rules: The storage account object replication rules. + :paramtype rules: list[~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicyRule] + """ + super(ObjectReplicationPolicy, self).__init__(**kwargs) + self.policy_id = None + self.enabled_time = None + self.source_account = source_account + self.destination_account = destination_account + self.rules = rules + + +class ObjectReplicationPolicyFilter(msrest.serialization.Model): + """Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters. + + :ivar prefix_match: Optional. Filters the results to replicate only blobs whose names begin + with the specified prefix. + :vartype prefix_match: list[str] + :ivar min_creation_time: Blobs created after the time will be replicated to the destination. It + must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z. + :vartype min_creation_time: str + """ + + _attribute_map = { + 'prefix_match': {'key': 'prefixMatch', 'type': '[str]'}, + 'min_creation_time': {'key': 'minCreationTime', 'type': 'str'}, + } + + def __init__( + self, + *, + prefix_match: Optional[List[str]] = None, + min_creation_time: Optional[str] = None, + **kwargs + ): + """ + :keyword prefix_match: Optional. Filters the results to replicate only blobs whose names begin + with the specified prefix. + :paramtype prefix_match: list[str] + :keyword min_creation_time: Blobs created after the time will be replicated to the destination. + It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z. + :paramtype min_creation_time: str + """ + super(ObjectReplicationPolicyFilter, self).__init__(**kwargs) + self.prefix_match = prefix_match + self.min_creation_time = min_creation_time + + +class ObjectReplicationPolicyRule(msrest.serialization.Model): + """The replication policy rule between two containers. + + All required parameters must be populated in order to send to Azure. + + :ivar rule_id: Rule Id is auto-generated for each new rule on destination account. It is + required for put policy on source account. + :vartype rule_id: str + :ivar source_container: Required. Required. Source container name. + :vartype source_container: str + :ivar destination_container: Required. Required. Destination container name. + :vartype destination_container: str + :ivar filters: Optional. An object that defines the filter set. + :vartype filters: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicyFilter + """ + + _validation = { + 'source_container': {'required': True}, + 'destination_container': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'str'}, + 'source_container': {'key': 'sourceContainer', 'type': 'str'}, + 'destination_container': {'key': 'destinationContainer', 'type': 'str'}, + 'filters': {'key': 'filters', 'type': 'ObjectReplicationPolicyFilter'}, + } + + def __init__( + self, + *, + source_container: str, + destination_container: str, + rule_id: Optional[str] = None, + filters: Optional["ObjectReplicationPolicyFilter"] = None, + **kwargs + ): + """ + :keyword rule_id: Rule Id is auto-generated for each new rule on destination account. It is + required for put policy on source account. + :paramtype rule_id: str + :keyword source_container: Required. Required. Source container name. + :paramtype source_container: str + :keyword destination_container: Required. Required. Destination container name. + :paramtype destination_container: str + :keyword filters: Optional. An object that defines the filter set. + :paramtype filters: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicyFilter + """ + super(ObjectReplicationPolicyRule, self).__init__(**kwargs) + self.rule_id = rule_id + self.source_container = source_container + self.destination_container = destination_container + self.filters = filters + + +class Operation(msrest.serialization.Model): + """Storage REST API operation definition. + + :ivar name: Operation name: {provider}/{resource}/{operation}. + :vartype name: str + :ivar display: Display metadata associated with the operation. + :vartype display: ~azure.mgmt.storage.v2021_08_01.models.OperationDisplay + :ivar origin: The origin of operations. + :vartype origin: str + :ivar service_specification: One property of operation, include metric specifications. + :vartype service_specification: ~azure.mgmt.storage.v2021_08_01.models.ServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'ServiceSpecification'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display: Optional["OperationDisplay"] = None, + origin: Optional[str] = None, + service_specification: Optional["ServiceSpecification"] = None, + **kwargs + ): + """ + :keyword name: Operation name: {provider}/{resource}/{operation}. + :paramtype name: str + :keyword display: Display metadata associated with the operation. + :paramtype display: ~azure.mgmt.storage.v2021_08_01.models.OperationDisplay + :keyword origin: The origin of operations. + :paramtype origin: str + :keyword service_specification: One property of operation, include metric specifications. + :paramtype service_specification: ~azure.mgmt.storage.v2021_08_01.models.ServiceSpecification + """ + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.service_specification = service_specification + + +class OperationDisplay(msrest.serialization.Model): + """Display metadata associated with the operation. + + :ivar provider: Service provider: Microsoft Storage. + :vartype provider: str + :ivar resource: Resource on which the operation is performed etc. + :vartype resource: str + :ivar operation: Type of operation: get, read, delete, etc. + :vartype operation: str + :ivar description: Description of the operation. + :vartype 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 + ): + """ + :keyword provider: Service provider: Microsoft Storage. + :paramtype provider: str + :keyword resource: Resource on which the operation is performed etc. + :paramtype resource: str + :keyword operation: Type of operation: get, read, delete, etc. + :paramtype operation: str + :keyword description: Description of the operation. + :paramtype description: str + """ + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class OperationListResult(msrest.serialization.Model): + """Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results. + + :ivar value: List of Storage operations supported by the Storage resource provider. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.Operation] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + *, + value: Optional[List["Operation"]] = None, + **kwargs + ): + """ + :keyword value: List of Storage operations supported by the Storage resource provider. + :paramtype value: list[~azure.mgmt.storage.v2021_08_01.models.Operation] + """ + super(OperationListResult, self).__init__(**kwargs) + self.value = value + + +class PermissionScope(msrest.serialization.Model): + """PermissionScope. + + All required parameters must be populated in order to send to Azure. + + :ivar permissions: Required. The permissions for the local user. Possible values include: Read + (r), Write (w), Delete (d), List (l), and Create (c). + :vartype permissions: str + :ivar service: Required. The service used by the local user, e.g. blob, file. + :vartype service: str + :ivar resource_name: Required. The name of resource, normally the container name or the file + share name, used by the local user. + :vartype resource_name: str + """ + + _validation = { + 'permissions': {'required': True}, + 'service': {'required': True}, + 'resource_name': {'required': True}, + } + + _attribute_map = { + 'permissions': {'key': 'permissions', 'type': 'str'}, + 'service': {'key': 'service', 'type': 'str'}, + 'resource_name': {'key': 'resourceName', 'type': 'str'}, + } + + def __init__( + self, + *, + permissions: str, + service: str, + resource_name: str, + **kwargs + ): + """ + :keyword permissions: Required. The permissions for the local user. Possible values include: + Read (r), Write (w), Delete (d), List (l), and Create (c). + :paramtype permissions: str + :keyword service: Required. The service used by the local user, e.g. blob, file. + :paramtype service: str + :keyword resource_name: Required. The name of resource, normally the container name or the file + share name, used by the local user. + :paramtype resource_name: str + """ + super(PermissionScope, self).__init__(**kwargs) + self.permissions = permissions + self.service = service + self.resource_name = resource_name + + +class PrivateEndpoint(msrest.serialization.Model): + """The Private Endpoint resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The ARM identifier for Private Endpoint. + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = None + + +class PrivateEndpointConnection(Resource): + """The Private Endpoint Connection 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar private_endpoint: The resource of private end point. + :vartype private_endpoint: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpoint + :ivar private_link_service_connection_state: A collection of information about the state of the + connection between service consumer and provider. + :vartype private_link_service_connection_state: + ~azure.mgmt.storage.v2021_08_01.models.PrivateLinkServiceConnectionState + :ivar provisioning_state: The provisioning state of the private endpoint connection resource. + Possible values include: "Succeeded", "Creating", "Deleting", "Failed". + :vartype provisioning_state: str or + ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnectionProvisioningState + """ + + _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'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + private_endpoint: Optional["PrivateEndpoint"] = None, + private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, + **kwargs + ): + """ + :keyword private_endpoint: The resource of private end point. + :paramtype private_endpoint: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpoint + :keyword private_link_service_connection_state: A collection of information about the state of + the connection between service consumer and provider. + :paramtype private_link_service_connection_state: + ~azure.mgmt.storage.v2021_08_01.models.PrivateLinkServiceConnectionState + """ + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.private_endpoint = private_endpoint + self.private_link_service_connection_state = private_link_service_connection_state + self.provisioning_state = None + + +class PrivateEndpointConnectionListResult(msrest.serialization.Model): + """List of private endpoint connection associated with the specified storage account. + + :ivar value: Array of private endpoint connections. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + } + + def __init__( + self, + *, + value: Optional[List["PrivateEndpointConnection"]] = None, + **kwargs + ): + """ + :keyword value: Array of private endpoint connections. + :paramtype value: list[~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection] + """ + super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkResource(Resource): + """A private link 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar group_id: The private link resource group id. + :vartype group_id: str + :ivar required_members: The private link resource required member names. + :vartype required_members: list[str] + :ivar required_zone_names: The private link resource Private link DNS zone name. + :vartype required_zone_names: list[str] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'group_id': {'key': 'properties.groupId', 'type': 'str'}, + 'required_members': {'key': 'properties.requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'properties.requiredZoneNames', 'type': '[str]'}, + } + + def __init__( + self, + *, + required_zone_names: Optional[List[str]] = None, + **kwargs + ): + """ + :keyword required_zone_names: The private link resource Private link DNS zone name. + :paramtype required_zone_names: list[str] + """ + super(PrivateLinkResource, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = required_zone_names + + +class PrivateLinkResourceListResult(msrest.serialization.Model): + """A list of private link resources. + + :ivar value: Array of private link resources. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__( + self, + *, + value: Optional[List["PrivateLinkResource"]] = None, + **kwargs + ): + """ + :keyword value: Array of private link resources. + :paramtype value: list[~azure.mgmt.storage.v2021_08_01.models.PrivateLinkResource] + """ + super(PrivateLinkResourceListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkServiceConnectionState(msrest.serialization.Model): + """A collection of information about the state of the connection between service consumer and provider. + + :ivar status: Indicates whether the connection has been Approved/Rejected/Removed by the owner + of the service. Possible values include: "Pending", "Approved", "Rejected". + :vartype status: str or + ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointServiceConnectionStatus + :ivar description: The reason for approval/rejection of the connection. + :vartype description: str + :ivar action_required: A message indicating if changes on the service provider require any + updates on the consumer. + :vartype action_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'action_required': {'key': 'actionRequired', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[Union[str, "PrivateEndpointServiceConnectionStatus"]] = None, + description: Optional[str] = None, + action_required: Optional[str] = None, + **kwargs + ): + """ + :keyword status: Indicates whether the connection has been Approved/Rejected/Removed by the + owner of the service. Possible values include: "Pending", "Approved", "Rejected". + :paramtype status: str or + ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointServiceConnectionStatus + :keyword description: The reason for approval/rejection of the connection. + :paramtype description: str + :keyword action_required: A message indicating if changes on the service provider require any + updates on the consumer. + :paramtype action_required: str + """ + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + self.action_required = action_required + + +class ProtectedAppendWritesHistory(msrest.serialization.Model): + """Protected append writes history setting for the blob container with Legal holds. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar allow_protected_append_writes_all: When enabled, new blocks can be written to both + 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. + :vartype allow_protected_append_writes_all: bool + :ivar timestamp: Returns the date and time the tag was added. + :vartype timestamp: ~datetime.datetime + """ + + _validation = { + 'timestamp': {'readonly': True}, + } + + _attribute_map = { + 'allow_protected_append_writes_all': {'key': 'allowProtectedAppendWritesAll', 'type': 'bool'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + allow_protected_append_writes_all: Optional[bool] = None, + **kwargs + ): + """ + :keyword allow_protected_append_writes_all: When enabled, new blocks can be written to both + 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks + can be added and any existing blocks cannot be modified or deleted. + :paramtype allow_protected_append_writes_all: bool + """ + super(ProtectedAppendWritesHistory, self).__init__(**kwargs) + self.allow_protected_append_writes_all = allow_protected_append_writes_all + self.timestamp = None + + +class ProtocolSettings(msrest.serialization.Model): + """Protocol settings for file service. + + :ivar smb: Setting for SMB protocol. + :vartype smb: ~azure.mgmt.storage.v2021_08_01.models.SmbSetting + """ + + _attribute_map = { + 'smb': {'key': 'smb', 'type': 'SmbSetting'}, + } + + def __init__( + self, + *, + smb: Optional["SmbSetting"] = None, + **kwargs + ): + """ + :keyword smb: Setting for SMB protocol. + :paramtype smb: ~azure.mgmt.storage.v2021_08_01.models.SmbSetting + """ + super(ProtocolSettings, self).__init__(**kwargs) + self.smb = smb + + +class QueueServiceProperties(Resource): + """The properties of a storage account’s Queue service. + + 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 cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule + elements in the request. If no CorsRule elements are included in the request body, all CORS + rules will be deleted, and CORS will be disabled for the Queue service. + :vartype cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules + """ + + _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'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, + } + + def __init__( + self, + *, + cors: Optional["CorsRules"] = None, + **kwargs + ): + """ + :keyword cors: Specifies CORS rules for the Queue service. You can include up to five CorsRule + elements in the request. If no CorsRule elements are included in the request body, all CORS + rules will be deleted, and CORS will be disabled for the Queue service. + :paramtype cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules + """ + super(QueueServiceProperties, self).__init__(**kwargs) + self.cors = cors + + +class ResourceAccessRule(msrest.serialization.Model): + """Resource Access Rule. + + :ivar tenant_id: Tenant Id. + :vartype tenant_id: str + :ivar resource_id: Resource Id. + :vartype resource_id: str + """ + + _attribute_map = { + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + tenant_id: Optional[str] = None, + resource_id: Optional[str] = None, + **kwargs + ): + """ + :keyword tenant_id: Tenant Id. + :paramtype tenant_id: str + :keyword resource_id: Resource Id. + :paramtype resource_id: str + """ + super(ResourceAccessRule, self).__init__(**kwargs) + self.tenant_id = tenant_id + self.resource_id = resource_id + + +class RestorePolicyProperties(msrest.serialization.Model): + """The blob service properties for blob restore policy. + + 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 enabled: Required. Blob restore is enabled if set to true. + :vartype enabled: bool + :ivar days: how long this blob can be restored. It should be great than zero and less than + DeleteRetentionPolicy.days. + :vartype days: int + :ivar last_enabled_time: Deprecated in favor of minRestoreTime property. + :vartype last_enabled_time: ~datetime.datetime + :ivar min_restore_time: Returns the minimum date and time that the restore can be started. + :vartype min_restore_time: ~datetime.datetime + """ + + _validation = { + 'enabled': {'required': True}, + 'days': {'maximum': 365, 'minimum': 1}, + 'last_enabled_time': {'readonly': True}, + 'min_restore_time': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'days': {'key': 'days', 'type': 'int'}, + 'last_enabled_time': {'key': 'lastEnabledTime', 'type': 'iso-8601'}, + 'min_restore_time': {'key': 'minRestoreTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + enabled: bool, + days: Optional[int] = None, + **kwargs + ): + """ + :keyword enabled: Required. Blob restore is enabled if set to true. + :paramtype enabled: bool + :keyword days: how long this blob can be restored. It should be great than zero and less than + DeleteRetentionPolicy.days. + :paramtype days: int + """ + super(RestorePolicyProperties, self).__init__(**kwargs) + self.enabled = enabled + self.days = days + self.last_enabled_time = None + self.min_restore_time = None + + +class Restriction(msrest.serialization.Model): + """The restriction because of which SKU cannot be used. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The type of restrictions. As of now only possible value for this is location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to location. This would + be different locations where the SKU is restricted. + :vartype values: list[str] + :ivar reason_code: The reason for the restriction. As of now this can be "QuotaId" or + "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the + subscription does not belong to that quota. The "NotAvailableForSubscription" is related to + capacity at DC. Possible values include: "QuotaId", "NotAvailableForSubscription". + :vartype reason_code: str or ~azure.mgmt.storage.v2021_08_01.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 + ): + """ + :keyword reason_code: The reason for the restriction. As of now this can be "QuotaId" or + "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the + subscription does not belong to that quota. The "NotAvailableForSubscription" is related to + capacity at DC. Possible values include: "QuotaId", "NotAvailableForSubscription". + :paramtype reason_code: str or ~azure.mgmt.storage.v2021_08_01.models.ReasonCode + """ + super(Restriction, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = reason_code + + +class RoutingPreference(msrest.serialization.Model): + """Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing. + + :ivar routing_choice: Routing Choice defines the kind of network routing opted by the user. + Possible values include: "MicrosoftRouting", "InternetRouting". + :vartype routing_choice: str or ~azure.mgmt.storage.v2021_08_01.models.RoutingChoice + :ivar publish_microsoft_endpoints: A boolean flag which indicates whether microsoft routing + storage endpoints are to be published. + :vartype publish_microsoft_endpoints: bool + :ivar publish_internet_endpoints: A boolean flag which indicates whether internet routing + storage endpoints are to be published. + :vartype publish_internet_endpoints: bool + """ + + _attribute_map = { + 'routing_choice': {'key': 'routingChoice', 'type': 'str'}, + 'publish_microsoft_endpoints': {'key': 'publishMicrosoftEndpoints', 'type': 'bool'}, + 'publish_internet_endpoints': {'key': 'publishInternetEndpoints', 'type': 'bool'}, + } + + def __init__( + self, + *, + routing_choice: Optional[Union[str, "RoutingChoice"]] = None, + publish_microsoft_endpoints: Optional[bool] = None, + publish_internet_endpoints: Optional[bool] = None, + **kwargs + ): + """ + :keyword routing_choice: Routing Choice defines the kind of network routing opted by the user. + Possible values include: "MicrosoftRouting", "InternetRouting". + :paramtype routing_choice: str or ~azure.mgmt.storage.v2021_08_01.models.RoutingChoice + :keyword publish_microsoft_endpoints: A boolean flag which indicates whether microsoft routing + storage endpoints are to be published. + :paramtype publish_microsoft_endpoints: bool + :keyword publish_internet_endpoints: A boolean flag which indicates whether internet routing + storage endpoints are to be published. + :paramtype publish_internet_endpoints: bool + """ + super(RoutingPreference, self).__init__(**kwargs) + self.routing_choice = routing_choice + self.publish_microsoft_endpoints = publish_microsoft_endpoints + self.publish_internet_endpoints = publish_internet_endpoints + + +class SasPolicy(msrest.serialization.Model): + """SasPolicy assigned to the storage account. + + All required parameters must be populated in order to send to Azure. + + :ivar sas_expiration_period: Required. The SAS expiration period, DD.HH:MM:SS. + :vartype sas_expiration_period: str + :ivar expiration_action: Required. The SAS expiration action. Can only be Log. Possible values + include: "Log". Default value: "Log". + :vartype expiration_action: str or ~azure.mgmt.storage.v2021_08_01.models.ExpirationAction + """ + + _validation = { + 'sas_expiration_period': {'required': True}, + 'expiration_action': {'required': True}, + } + + _attribute_map = { + 'sas_expiration_period': {'key': 'sasExpirationPeriod', 'type': 'str'}, + 'expiration_action': {'key': 'expirationAction', 'type': 'str'}, + } + + def __init__( + self, + *, + sas_expiration_period: str, + expiration_action: Union[str, "ExpirationAction"] = "Log", + **kwargs + ): + """ + :keyword sas_expiration_period: Required. The SAS expiration period, DD.HH:MM:SS. + :paramtype sas_expiration_period: str + :keyword expiration_action: Required. The SAS expiration action. Can only be Log. Possible + values include: "Log". Default value: "Log". + :paramtype expiration_action: str or ~azure.mgmt.storage.v2021_08_01.models.ExpirationAction + """ + super(SasPolicy, self).__init__(**kwargs) + self.sas_expiration_period = sas_expiration_period + self.expiration_action = expiration_action + + +class ServiceSasParameters(msrest.serialization.Model): + """The parameters to list service SAS credentials of a specific resource. + + All required parameters must be populated in order to send to Azure. + + :ivar canonicalized_resource: Required. The canonical path to the signed resource. + :vartype canonicalized_resource: str + :ivar resource: The signed services accessible with the service SAS. Possible values include: + Blob (b), Container (c), File (f), Share (s). Possible values include: "b", "c", "f", "s". + :vartype resource: str or ~azure.mgmt.storage.v2021_08_01.models.SignedResource + :ivar permissions: The signed permissions for the service SAS. Possible values include: Read + (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). Possible + values include: "r", "d", "w", "l", "a", "c", "u", "p". + :vartype permissions: str or ~azure.mgmt.storage.v2021_08_01.models.Permissions + :ivar ip_address_or_range: An IP address or a range of IP addresses from which to accept + requests. + :vartype ip_address_or_range: str + :ivar protocols: The protocol permitted for a request made with the account SAS. Possible + values include: "https,http", "https". + :vartype protocols: str or ~azure.mgmt.storage.v2021_08_01.models.HttpProtocol + :ivar shared_access_start_time: The time at which the SAS becomes valid. + :vartype shared_access_start_time: ~datetime.datetime + :ivar shared_access_expiry_time: The time at which the shared access signature becomes invalid. + :vartype shared_access_expiry_time: ~datetime.datetime + :ivar identifier: A unique value up to 64 characters in length that correlates to an access + policy specified for the container, queue, or table. + :vartype identifier: str + :ivar partition_key_start: The start of partition key. + :vartype partition_key_start: str + :ivar partition_key_end: The end of partition key. + :vartype partition_key_end: str + :ivar row_key_start: The start of row key. + :vartype row_key_start: str + :ivar row_key_end: The end of row key. + :vartype row_key_end: str + :ivar key_to_sign: The key to sign the account SAS token with. + :vartype key_to_sign: str + :ivar cache_control: The response header override for cache control. + :vartype cache_control: str + :ivar content_disposition: The response header override for content disposition. + :vartype content_disposition: str + :ivar content_encoding: The response header override for content encoding. + :vartype content_encoding: str + :ivar content_language: The response header override for content language. + :vartype content_language: str + :ivar content_type: The response header override for content type. + :vartype content_type: str + """ + + _validation = { + 'canonicalized_resource': {'required': True}, + 'identifier': {'max_length': 64, 'min_length': 0}, + } + + _attribute_map = { + 'canonicalized_resource': {'key': 'canonicalizedResource', 'type': 'str'}, + 'resource': {'key': 'signedResource', 'type': 'str'}, + 'permissions': {'key': 'signedPermission', 'type': 'str'}, + 'ip_address_or_range': {'key': 'signedIp', 'type': 'str'}, + 'protocols': {'key': 'signedProtocol', 'type': 'str'}, + 'shared_access_start_time': {'key': 'signedStart', 'type': 'iso-8601'}, + 'shared_access_expiry_time': {'key': 'signedExpiry', 'type': 'iso-8601'}, + 'identifier': {'key': 'signedIdentifier', 'type': 'str'}, + 'partition_key_start': {'key': 'startPk', 'type': 'str'}, + 'partition_key_end': {'key': 'endPk', 'type': 'str'}, + 'row_key_start': {'key': 'startRk', 'type': 'str'}, + 'row_key_end': {'key': 'endRk', 'type': 'str'}, + 'key_to_sign': {'key': 'keyToSign', 'type': 'str'}, + 'cache_control': {'key': 'rscc', 'type': 'str'}, + 'content_disposition': {'key': 'rscd', 'type': 'str'}, + 'content_encoding': {'key': 'rsce', 'type': 'str'}, + 'content_language': {'key': 'rscl', 'type': 'str'}, + 'content_type': {'key': 'rsct', 'type': 'str'}, + } + + def __init__( + self, + *, + canonicalized_resource: str, + resource: Optional[Union[str, "SignedResource"]] = None, + permissions: Optional[Union[str, "Permissions"]] = None, + ip_address_or_range: Optional[str] = None, + protocols: Optional[Union[str, "HttpProtocol"]] = None, + shared_access_start_time: Optional[datetime.datetime] = None, + shared_access_expiry_time: Optional[datetime.datetime] = None, + identifier: Optional[str] = None, + partition_key_start: Optional[str] = None, + partition_key_end: Optional[str] = None, + row_key_start: Optional[str] = None, + row_key_end: Optional[str] = None, + key_to_sign: Optional[str] = None, + cache_control: Optional[str] = None, + content_disposition: Optional[str] = None, + content_encoding: Optional[str] = None, + content_language: Optional[str] = None, + content_type: Optional[str] = None, + **kwargs + ): + """ + :keyword canonicalized_resource: Required. The canonical path to the signed resource. + :paramtype canonicalized_resource: str + :keyword resource: The signed services accessible with the service SAS. Possible values + include: Blob (b), Container (c), File (f), Share (s). Possible values include: "b", "c", "f", + "s". + :paramtype resource: str or ~azure.mgmt.storage.v2021_08_01.models.SignedResource + :keyword permissions: The signed permissions for the service SAS. Possible values include: Read + (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). Possible + values include: "r", "d", "w", "l", "a", "c", "u", "p". + :paramtype permissions: str or ~azure.mgmt.storage.v2021_08_01.models.Permissions + :keyword ip_address_or_range: An IP address or a range of IP addresses from which to accept + requests. + :paramtype ip_address_or_range: str + :keyword protocols: The protocol permitted for a request made with the account SAS. Possible + values include: "https,http", "https". + :paramtype protocols: str or ~azure.mgmt.storage.v2021_08_01.models.HttpProtocol + :keyword shared_access_start_time: The time at which the SAS becomes valid. + :paramtype shared_access_start_time: ~datetime.datetime + :keyword shared_access_expiry_time: The time at which the shared access signature becomes + invalid. + :paramtype shared_access_expiry_time: ~datetime.datetime + :keyword identifier: A unique value up to 64 characters in length that correlates to an access + policy specified for the container, queue, or table. + :paramtype identifier: str + :keyword partition_key_start: The start of partition key. + :paramtype partition_key_start: str + :keyword partition_key_end: The end of partition key. + :paramtype partition_key_end: str + :keyword row_key_start: The start of row key. + :paramtype row_key_start: str + :keyword row_key_end: The end of row key. + :paramtype row_key_end: str + :keyword key_to_sign: The key to sign the account SAS token with. + :paramtype key_to_sign: str + :keyword cache_control: The response header override for cache control. + :paramtype cache_control: str + :keyword content_disposition: The response header override for content disposition. + :paramtype content_disposition: str + :keyword content_encoding: The response header override for content encoding. + :paramtype content_encoding: str + :keyword content_language: The response header override for content language. + :paramtype content_language: str + :keyword content_type: The response header override for content type. + :paramtype content_type: str + """ + super(ServiceSasParameters, self).__init__(**kwargs) + self.canonicalized_resource = canonicalized_resource + self.resource = resource + self.permissions = permissions + self.ip_address_or_range = ip_address_or_range + self.protocols = protocols + self.shared_access_start_time = shared_access_start_time + self.shared_access_expiry_time = shared_access_expiry_time + self.identifier = identifier + self.partition_key_start = partition_key_start + self.partition_key_end = partition_key_end + self.row_key_start = row_key_start + self.row_key_end = row_key_end + self.key_to_sign = key_to_sign + self.cache_control = cache_control + self.content_disposition = content_disposition + self.content_encoding = content_encoding + self.content_language = content_language + self.content_type = content_type + + +class ServiceSpecification(msrest.serialization.Model): + """One property of operation, include metric specifications. + + :ivar metric_specifications: Metric specifications of operation. + :vartype metric_specifications: + list[~azure.mgmt.storage.v2021_08_01.models.MetricSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + } + + def __init__( + self, + *, + metric_specifications: Optional[List["MetricSpecification"]] = None, + **kwargs + ): + """ + :keyword metric_specifications: Metric specifications of operation. + :paramtype metric_specifications: + list[~azure.mgmt.storage.v2021_08_01.models.MetricSpecification] + """ + super(ServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + + +class SignedIdentifier(msrest.serialization.Model): + """SignedIdentifier. + + :ivar id: An unique identifier of the stored access policy. + :vartype id: str + :ivar access_policy: Access policy. + :vartype access_policy: ~azure.mgmt.storage.v2021_08_01.models.AccessPolicy + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access_policy': {'key': 'accessPolicy', 'type': 'AccessPolicy'}, + } + + def __init__( + self, + *, + id: Optional[str] = None, + access_policy: Optional["AccessPolicy"] = None, + **kwargs + ): + """ + :keyword id: An unique identifier of the stored access policy. + :paramtype id: str + :keyword access_policy: Access policy. + :paramtype access_policy: ~azure.mgmt.storage.v2021_08_01.models.AccessPolicy + """ + super(SignedIdentifier, self).__init__(**kwargs) + self.id = id + self.access_policy = access_policy + + +class Sku(msrest.serialization.Model): + """The SKU of the storage account. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Required. The SKU name. Required for account creation; optional for update. Note + that in older versions, SKU name was called accountType. Possible values include: + "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", + "Standard_GZRS", "Standard_RAGZRS". + :vartype name: str or ~azure.mgmt.storage.v2021_08_01.models.SkuName + :ivar tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard", + "Premium". + :vartype tier: str or ~azure.mgmt.storage.v2021_08_01.models.SkuTier + """ + + _validation = { + 'name': {'required': True}, + 'tier': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Union[str, "SkuName"], + **kwargs + ): + """ + :keyword name: Required. The SKU name. Required for account creation; optional for update. Note + that in older versions, SKU name was called accountType. Possible values include: + "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", + "Standard_GZRS", "Standard_RAGZRS". + :paramtype name: str or ~azure.mgmt.storage.v2021_08_01.models.SkuName + """ + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = None + + +class SKUCapability(msrest.serialization.Model): + """The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of capability, The capability information in the specified SKU, including + file encryption, network ACLs, change notification, etc. + :vartype name: str + :ivar value: A string value to indicate states of given capability. Possibly 'true' or 'false'. + :vartype value: str + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(SKUCapability, self).__init__(**kwargs) + self.name = None + self.value = None + + +class SkuInformation(msrest.serialization.Model): + """Storage SKU and its properties. + + 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 name: Required. The SKU name. Required for account creation; optional for update. Note + that in older versions, SKU name was called accountType. Possible values include: + "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", + "Standard_GZRS", "Standard_RAGZRS". + :vartype name: str or ~azure.mgmt.storage.v2021_08_01.models.SkuName + :ivar tier: The SKU tier. This is based on the SKU name. Possible values include: "Standard", + "Premium". + :vartype tier: str or ~azure.mgmt.storage.v2021_08_01.models.SkuTier + :ivar resource_type: The type of the resource, usually it is 'storageAccounts'. + :vartype resource_type: str + :ivar kind: Indicates the type of storage account. Possible values include: "Storage", + "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". + :vartype kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind + :ivar locations: The set of locations that the SKU is available. This will be supported and + registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). + :vartype locations: list[str] + :ivar capabilities: The capability information in the specified SKU, including file encryption, + network ACLs, change notification, etc. + :vartype capabilities: list[~azure.mgmt.storage.v2021_08_01.models.SKUCapability] + :ivar restrictions: The restrictions because of which SKU cannot be used. This is empty if + there are no restrictions. + :vartype restrictions: list[~azure.mgmt.storage.v2021_08_01.models.Restriction] + """ + + _validation = { + 'name': {'required': True}, + 'tier': {'readonly': True}, + 'resource_type': {'readonly': True}, + 'kind': {'readonly': True}, + 'locations': {'readonly': True}, + 'capabilities': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'capabilities': {'key': 'capabilities', 'type': '[SKUCapability]'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__( + self, + *, + name: Union[str, "SkuName"], + restrictions: Optional[List["Restriction"]] = None, + **kwargs + ): + """ + :keyword name: Required. The SKU name. Required for account creation; optional for update. Note + that in older versions, SKU name was called accountType. Possible values include: + "Standard_LRS", "Standard_GRS", "Standard_RAGRS", "Standard_ZRS", "Premium_LRS", "Premium_ZRS", + "Standard_GZRS", "Standard_RAGZRS". + :paramtype name: str or ~azure.mgmt.storage.v2021_08_01.models.SkuName + :keyword restrictions: The restrictions because of which SKU cannot be used. This is empty if + there are no restrictions. + :paramtype restrictions: list[~azure.mgmt.storage.v2021_08_01.models.Restriction] + """ + super(SkuInformation, self).__init__(**kwargs) + self.name = name + self.tier = None + self.resource_type = None + self.kind = None + self.locations = None + self.capabilities = None + self.restrictions = restrictions + + +class SmbSetting(msrest.serialization.Model): + """Setting for SMB protocol. + + :ivar multichannel: Multichannel setting. Applies to Premium FileStorage only. + :vartype multichannel: ~azure.mgmt.storage.v2021_08_01.models.Multichannel + :ivar versions: SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, + SMB3.1.1. Should be passed as a string with delimiter ';'. + :vartype versions: str + :ivar authentication_methods: SMB authentication methods supported by server. Valid values are + NTLMv2, Kerberos. Should be passed as a string with delimiter ';'. + :vartype authentication_methods: str + :ivar kerberos_ticket_encryption: Kerberos ticket encryption supported by server. Valid values + are RC4-HMAC, AES-256. Should be passed as a string with delimiter ';'. + :vartype kerberos_ticket_encryption: str + :ivar channel_encryption: SMB channel encryption supported by server. Valid values are + AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'. + :vartype channel_encryption: str + """ + + _attribute_map = { + 'multichannel': {'key': 'multichannel', 'type': 'Multichannel'}, + 'versions': {'key': 'versions', 'type': 'str'}, + 'authentication_methods': {'key': 'authenticationMethods', 'type': 'str'}, + 'kerberos_ticket_encryption': {'key': 'kerberosTicketEncryption', 'type': 'str'}, + 'channel_encryption': {'key': 'channelEncryption', 'type': 'str'}, + } + + def __init__( + self, + *, + multichannel: Optional["Multichannel"] = None, + versions: Optional[str] = None, + authentication_methods: Optional[str] = None, + kerberos_ticket_encryption: Optional[str] = None, + channel_encryption: Optional[str] = None, + **kwargs + ): + """ + :keyword multichannel: Multichannel setting. Applies to Premium FileStorage only. + :paramtype multichannel: ~azure.mgmt.storage.v2021_08_01.models.Multichannel + :keyword versions: SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, + SMB3.1.1. Should be passed as a string with delimiter ';'. + :paramtype versions: str + :keyword authentication_methods: SMB authentication methods supported by server. Valid values + are NTLMv2, Kerberos. Should be passed as a string with delimiter ';'. + :paramtype authentication_methods: str + :keyword kerberos_ticket_encryption: Kerberos ticket encryption supported by server. Valid + values are RC4-HMAC, AES-256. Should be passed as a string with delimiter ';'. + :paramtype kerberos_ticket_encryption: str + :keyword channel_encryption: SMB channel encryption supported by server. Valid values are + AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'. + :paramtype channel_encryption: str + """ + super(SmbSetting, self).__init__(**kwargs) + self.multichannel = multichannel + self.versions = versions + self.authentication_methods = authentication_methods + self.kerberos_ticket_encryption = kerberos_ticket_encryption + self.channel_encryption = channel_encryption + + +class SshPublicKey(msrest.serialization.Model): + """SshPublicKey. + + :ivar description: Optional. It is used to store the function/usage of the key. + :vartype description: str + :ivar key: Ssh public key base64 encoded. The format should be: ':code:`` + :code:``', e.g. ssh-rsa AAAABBBB. + :vartype key: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'str'}, + } + + def __init__( + self, + *, + description: Optional[str] = None, + key: Optional[str] = None, + **kwargs + ): + """ + :keyword description: Optional. It is used to store the function/usage of the key. + :paramtype description: str + :keyword key: Ssh public key base64 encoded. The format should be: ':code:`` + :code:``', e.g. ssh-rsa AAAABBBB. + :paramtype key: str + """ + super(SshPublicKey, self).__init__(**kwargs) + self.description = description + self.key = key + + +class TrackedResource(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. + + 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 tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar location: Required. The geo-location where the resource lives. + :vartype 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 + ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword location: Required. The geo-location where the resource lives. + :paramtype location: str + """ + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location + + +class StorageAccount(TrackedResource): + """The storage account. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + :vartype id: str + :ivar name: The name of the resource. + :vartype name: str + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar tags: A set of tags. Resource tags. + :vartype tags: dict[str, str] + :ivar location: Required. The geo-location where the resource lives. + :vartype location: str + :ivar sku: Gets the SKU. + :vartype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku + :ivar kind: Gets the Kind. Possible values include: "Storage", "StorageV2", "BlobStorage", + "FileStorage", "BlockBlobStorage". + :vartype kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind + :ivar identity: The identity of the resource. + :vartype identity: ~azure.mgmt.storage.v2021_08_01.models.Identity + :ivar extended_location: The extendedLocation of the resource. + :vartype extended_location: ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocation + :ivar provisioning_state: Gets the status of the storage account at the time the operation was + called. Possible values include: "Creating", "ResolvingDNS", "Succeeded". + :vartype provisioning_state: str or ~azure.mgmt.storage.v2021_08_01.models.ProvisioningState + :ivar primary_endpoints: Gets the URLs that are used to perform a retrieval of a public blob, + queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob + endpoint. + :vartype primary_endpoints: ~azure.mgmt.storage.v2021_08_01.models.Endpoints + :ivar primary_location: Gets the location of the primary data center for the storage account. + :vartype primary_location: str + :ivar status_of_primary: Gets the status indicating whether the primary location of the storage + account is available or unavailable. Possible values include: "available", "unavailable". + :vartype status_of_primary: str or ~azure.mgmt.storage.v2021_08_01.models.AccountStatus + :ivar last_geo_failover_time: Gets the timestamp of the most recent instance of a failover to + the secondary location. Only the most recent timestamp is retained. This element is not + returned if there has never been a failover instance. Only available if the accountType is + Standard_GRS or Standard_RAGRS. + :vartype last_geo_failover_time: ~datetime.datetime + :ivar secondary_location: Gets the location of the geo-replicated secondary for the storage + account. Only available if the accountType is Standard_GRS or Standard_RAGRS. + :vartype secondary_location: str + :ivar status_of_secondary: Gets the status indicating whether the secondary location of the + storage account is available or unavailable. Only available if the SKU name is Standard_GRS or + Standard_RAGRS. Possible values include: "available", "unavailable". + :vartype status_of_secondary: str or ~azure.mgmt.storage.v2021_08_01.models.AccountStatus + :ivar creation_time: Gets the creation date and time of the storage account in UTC. + :vartype creation_time: ~datetime.datetime + :ivar custom_domain: Gets the custom domain the user assigned to this storage account. + :vartype custom_domain: ~azure.mgmt.storage.v2021_08_01.models.CustomDomain + :ivar sas_policy: SasPolicy assigned to the storage account. + :vartype sas_policy: ~azure.mgmt.storage.v2021_08_01.models.SasPolicy + :ivar key_policy: KeyPolicy assigned to the storage account. + :vartype key_policy: ~azure.mgmt.storage.v2021_08_01.models.KeyPolicy + :ivar key_creation_time: Storage account keys creation time. + :vartype key_creation_time: ~azure.mgmt.storage.v2021_08_01.models.KeyCreationTime + :ivar secondary_endpoints: Gets the URLs that are used to perform a retrieval of a public blob, + queue, or table object from the secondary location of the storage account. Only available if + the SKU name is Standard_RAGRS. + :vartype secondary_endpoints: ~azure.mgmt.storage.v2021_08_01.models.Endpoints + :ivar encryption: Encryption settings to be used for server-side encryption for the storage + account. + :vartype encryption: ~azure.mgmt.storage.v2021_08_01.models.Encryption + :ivar access_tier: Required for storage accounts where kind = BlobStorage. The access tier used + for billing. Possible values include: "Hot", "Cool". + :vartype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.AccessTier + :ivar azure_files_identity_based_authentication: Provides the identity based authentication + settings for Azure Files. + :vartype azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication + :ivar enable_https_traffic_only: Allows https traffic only to storage service if sets to true. + :vartype enable_https_traffic_only: bool + :ivar network_rule_set: Network rule set. + :vartype network_rule_set: ~azure.mgmt.storage.v2021_08_01.models.NetworkRuleSet + :ivar is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :vartype is_sftp_enabled: bool + :ivar is_local_user_enabled: Enables local users feature, if set to true. + :vartype is_local_user_enabled: bool + :ivar is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. + :vartype is_hns_enabled: bool + :ivar geo_replication_stats: Geo Replication Stats. + :vartype geo_replication_stats: ~azure.mgmt.storage.v2021_08_01.models.GeoReplicationStats + :ivar failover_in_progress: If the failover is in progress, the value will be true, otherwise, + it will be null. + :vartype failover_in_progress: bool + :ivar large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be + disabled once it is enabled. Possible values include: "Disabled", "Enabled". + :vartype large_file_shares_state: str or + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState + :ivar private_endpoint_connections: List of private endpoint connection associated with the + specified storage account. + :vartype private_endpoint_connections: + list[~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection] + :ivar routing_preference: Maintains information about the network routing choice opted by the + user for data transfer. + :vartype routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference + :ivar blob_restore_status: Blob restore status. + :vartype blob_restore_status: ~azure.mgmt.storage.v2021_08_01.models.BlobRestoreStatus + :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in + the storage account. The default interpretation is true for this property. + :vartype allow_blob_public_access: bool + :ivar minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. + The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", + "TLS1_1", "TLS1_2". + :vartype minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :ivar allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :vartype allow_shared_key_access: bool + :ivar enable_nfs_v3: NFS 3.0 protocol support enabled if set to true. + :vartype enable_nfs_v3: bool + :ivar allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :vartype allow_cross_tenant_replication: bool + :ivar default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :vartype default_to_o_auth_authentication: bool + :ivar public_network_access: Allow or disallow public network access to Storage Account. Value + is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :vartype public_network_access: str or + ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :ivar immutable_storage_with_versioning: The property is immutable and can only be set to true + at the account creation time. When set to true, it enables object level immutability for all + the containers in the account by default. + :vartype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount + :ivar allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :vartype allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'sku': {'readonly': True}, + 'kind': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'primary_endpoints': {'readonly': True}, + 'primary_location': {'readonly': True}, + 'status_of_primary': {'readonly': True}, + 'last_geo_failover_time': {'readonly': True}, + 'secondary_location': {'readonly': True}, + 'status_of_secondary': {'readonly': True}, + 'creation_time': {'readonly': True}, + 'custom_domain': {'readonly': True}, + 'sas_policy': {'readonly': True}, + 'key_policy': {'readonly': True}, + 'key_creation_time': {'readonly': True}, + 'secondary_endpoints': {'readonly': True}, + 'encryption': {'readonly': True}, + 'access_tier': {'readonly': True}, + 'network_rule_set': {'readonly': True}, + 'geo_replication_stats': {'readonly': True}, + 'failover_in_progress': {'readonly': True}, + 'private_endpoint_connections': {'readonly': True}, + 'blob_restore_status': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'primary_endpoints': {'key': 'properties.primaryEndpoints', 'type': 'Endpoints'}, + 'primary_location': {'key': 'properties.primaryLocation', 'type': 'str'}, + 'status_of_primary': {'key': 'properties.statusOfPrimary', 'type': 'str'}, + 'last_geo_failover_time': {'key': 'properties.lastGeoFailoverTime', 'type': 'iso-8601'}, + 'secondary_location': {'key': 'properties.secondaryLocation', 'type': 'str'}, + 'status_of_secondary': {'key': 'properties.statusOfSecondary', 'type': 'str'}, + 'creation_time': {'key': 'properties.creationTime', 'type': 'iso-8601'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'sas_policy': {'key': 'properties.sasPolicy', 'type': 'SasPolicy'}, + 'key_policy': {'key': 'properties.keyPolicy', 'type': 'KeyPolicy'}, + 'key_creation_time': {'key': 'properties.keyCreationTime', 'type': 'KeyCreationTime'}, + 'secondary_endpoints': {'key': 'properties.secondaryEndpoints', 'type': 'Endpoints'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'is_sftp_enabled': {'key': 'properties.isSftpEnabled', 'type': 'bool'}, + 'is_local_user_enabled': {'key': 'properties.isLocalUserEnabled', 'type': 'bool'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + 'geo_replication_stats': {'key': 'properties.geoReplicationStats', 'type': 'GeoReplicationStats'}, + 'failover_in_progress': {'key': 'properties.failoverInProgress', 'type': 'bool'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + 'blob_restore_status': {'key': 'properties.blobRestoreStatus', 'type': 'BlobRestoreStatus'}, + 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, + 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, + 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, + 'enable_nfs_v3': {'key': 'properties.isNfsV3Enabled', 'type': 'bool'}, + 'allow_cross_tenant_replication': {'key': 'properties.allowCrossTenantReplication', 'type': 'bool'}, + 'default_to_o_auth_authentication': {'key': 'properties.defaultToOAuthAuthentication', 'type': 'bool'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageAccount'}, + 'allowed_copy_scope': {'key': 'properties.allowedCopyScope', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + extended_location: Optional["ExtendedLocation"] = None, + azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, + enable_https_traffic_only: Optional[bool] = None, + is_sftp_enabled: Optional[bool] = None, + is_local_user_enabled: Optional[bool] = None, + is_hns_enabled: Optional[bool] = None, + large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, + routing_preference: Optional["RoutingPreference"] = None, + allow_blob_public_access: Optional[bool] = None, + minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, + allow_shared_key_access: Optional[bool] = None, + enable_nfs_v3: Optional[bool] = None, + allow_cross_tenant_replication: Optional[bool] = None, + default_to_o_auth_authentication: Optional[bool] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + immutable_storage_with_versioning: Optional["ImmutableStorageAccount"] = None, + allowed_copy_scope: Optional[Union[str, "AllowedCopyScope"]] = None, + **kwargs + ): + """ + :keyword tags: A set of tags. Resource tags. + :paramtype tags: dict[str, str] + :keyword location: Required. The geo-location where the resource lives. + :paramtype location: str + :keyword identity: The identity of the resource. + :paramtype identity: ~azure.mgmt.storage.v2021_08_01.models.Identity + :keyword extended_location: The extendedLocation of the resource. + :paramtype extended_location: ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocation + :keyword azure_files_identity_based_authentication: Provides the identity based authentication + settings for Azure Files. + :paramtype azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication + :keyword enable_https_traffic_only: Allows https traffic only to storage service if sets to + true. + :paramtype enable_https_traffic_only: bool + :keyword is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :paramtype is_sftp_enabled: bool + :keyword is_local_user_enabled: Enables local users feature, if set to true. + :paramtype is_local_user_enabled: bool + :keyword is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. + :paramtype is_hns_enabled: bool + :keyword large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be + disabled once it is enabled. Possible values include: "Disabled", "Enabled". + :paramtype large_file_shares_state: str or + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState + :keyword routing_preference: Maintains information about the network routing choice opted by + the user for data transfer. + :paramtype routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference + :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers + in the storage account. The default interpretation is true for this property. + :paramtype allow_blob_public_access: bool + :keyword minimum_tls_version: Set the minimum TLS version to be permitted on requests to + storage. The default interpretation is TLS 1.0 for this property. Possible values include: + "TLS1_0", "TLS1_1", "TLS1_2". + :paramtype minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :keyword allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :paramtype allow_shared_key_access: bool + :keyword enable_nfs_v3: NFS 3.0 protocol support enabled if set to true. + :paramtype enable_nfs_v3: bool + :keyword allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :paramtype allow_cross_tenant_replication: bool + :keyword default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :paramtype default_to_o_auth_authentication: bool + :keyword public_network_access: Allow or disallow public network access to Storage Account. + Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :paramtype public_network_access: str or + ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :keyword immutable_storage_with_versioning: The property is immutable and can only be set to + true at the account creation time. When set to true, it enables object level immutability for + all the containers in the account by default. + :paramtype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount + :keyword allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :paramtype allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope + """ + super(StorageAccount, self).__init__(tags=tags, location=location, **kwargs) + self.sku = None + self.kind = None + self.identity = identity + self.extended_location = extended_location + self.provisioning_state = None + self.primary_endpoints = None + self.primary_location = None + self.status_of_primary = None + self.last_geo_failover_time = None + self.secondary_location = None + self.status_of_secondary = None + self.creation_time = None + self.custom_domain = None + self.sas_policy = None + self.key_policy = None + self.key_creation_time = None + self.secondary_endpoints = None + self.encryption = None + self.access_tier = None + self.azure_files_identity_based_authentication = azure_files_identity_based_authentication + self.enable_https_traffic_only = enable_https_traffic_only + self.network_rule_set = None + self.is_sftp_enabled = is_sftp_enabled + self.is_local_user_enabled = is_local_user_enabled + self.is_hns_enabled = is_hns_enabled + self.geo_replication_stats = None + self.failover_in_progress = None + self.large_file_shares_state = large_file_shares_state + self.private_endpoint_connections = None + self.routing_preference = routing_preference + self.blob_restore_status = None + self.allow_blob_public_access = allow_blob_public_access + self.minimum_tls_version = minimum_tls_version + self.allow_shared_key_access = allow_shared_key_access + self.enable_nfs_v3 = enable_nfs_v3 + self.allow_cross_tenant_replication = allow_cross_tenant_replication + self.default_to_o_auth_authentication = default_to_o_auth_authentication + self.public_network_access = public_network_access + self.immutable_storage_with_versioning = immutable_storage_with_versioning + self.allowed_copy_scope = allowed_copy_scope + + +class StorageAccountCheckNameAvailabilityParameters(msrest.serialization.Model): + """The parameters used to check the availability of the storage account name. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Required. The storage account name. + :vartype name: str + :ivar type: The type of resource, Microsoft.Storage/storageAccounts. Has constant value: + "Microsoft.Storage/storageAccounts". + :vartype type: str + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + type = "Microsoft.Storage/storageAccounts" + + def __init__( + self, + *, + name: str, + **kwargs + ): + """ + :keyword name: Required. The storage account name. + :paramtype name: str + """ + super(StorageAccountCheckNameAvailabilityParameters, self).__init__(**kwargs) + self.name = name + + +class StorageAccountCreateParameters(msrest.serialization.Model): + """The parameters used when creating a storage account. + + All required parameters must be populated in order to send to Azure. + + :ivar sku: Required. Required. Gets or sets the SKU name. + :vartype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku + :ivar kind: Required. Required. Indicates the type of storage account. Possible values include: + "Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". + :vartype kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind + :ivar location: Required. Required. Gets or sets the location of the resource. This will be one + of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, + etc.). The geo region of a resource cannot be changed once it is created, but if an identical + geo region is specified on update, the request will succeed. + :vartype location: str + :ivar extended_location: Optional. Set the extended location of the resource. If not set, the + storage account will be created in Azure main region. Otherwise it will be created in the + specified extended location. + :vartype extended_location: ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocation + :ivar tags: A set of tags. Gets or sets a list of key value pairs that describe the resource. + These tags can be used for viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no + greater than 128 characters and a value with a length no greater than 256 characters. + :vartype tags: dict[str, str] + :ivar identity: The identity of the resource. + :vartype identity: ~azure.mgmt.storage.v2021_08_01.models.Identity + :ivar allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :vartype allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope + :ivar public_network_access: Allow or disallow public network access to Storage Account. Value + is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :vartype public_network_access: str or + ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :ivar sas_policy: SasPolicy assigned to the storage account. + :vartype sas_policy: ~azure.mgmt.storage.v2021_08_01.models.SasPolicy + :ivar key_policy: KeyPolicy assigned to the storage account. + :vartype key_policy: ~azure.mgmt.storage.v2021_08_01.models.KeyPolicy + :ivar custom_domain: User domain assigned to the storage account. Name is the CNAME source. + Only one custom domain is supported per storage account at this time. To clear the existing + custom domain, use an empty string for the custom domain name property. + :vartype custom_domain: ~azure.mgmt.storage.v2021_08_01.models.CustomDomain + :ivar encryption: Encryption settings to be used for server-side encryption for the storage + account. + :vartype encryption: ~azure.mgmt.storage.v2021_08_01.models.Encryption + :ivar network_rule_set: Network rule set. + :vartype network_rule_set: ~azure.mgmt.storage.v2021_08_01.models.NetworkRuleSet + :ivar access_tier: Required for storage accounts where kind = BlobStorage. The access tier used + for billing. Possible values include: "Hot", "Cool". + :vartype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.AccessTier + :ivar azure_files_identity_based_authentication: Provides the identity based authentication + settings for Azure Files. + :vartype azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication + :ivar enable_https_traffic_only: Allows https traffic only to storage service if sets to true. + The default value is true since API version 2019-04-01. + :vartype enable_https_traffic_only: bool + :ivar is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :vartype is_sftp_enabled: bool + :ivar is_local_user_enabled: Enables local users feature, if set to true. + :vartype is_local_user_enabled: bool + :ivar is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. + :vartype is_hns_enabled: bool + :ivar large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be + disabled once it is enabled. Possible values include: "Disabled", "Enabled". + :vartype large_file_shares_state: str or + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState + :ivar routing_preference: Maintains information about the network routing choice opted by the + user for data transfer. + :vartype routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference + :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in + the storage account. The default interpretation is true for this property. + :vartype allow_blob_public_access: bool + :ivar minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. + The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", + "TLS1_1", "TLS1_2". + :vartype minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :ivar allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :vartype allow_shared_key_access: bool + :ivar enable_nfs_v3: NFS 3.0 protocol support enabled if set to true. + :vartype enable_nfs_v3: bool + :ivar allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :vartype allow_cross_tenant_replication: bool + :ivar default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :vartype default_to_o_auth_authentication: bool + :ivar immutable_storage_with_versioning: The property is immutable and can only be set to true + at the account creation time. When set to true, it enables object level immutability for all + the new containers in the account by default. + :vartype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount + """ + + _validation = { + 'sku': {'required': True}, + 'kind': {'required': True}, + 'location': {'required': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'allowed_copy_scope': {'key': 'properties.allowedCopyScope', 'type': 'str'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + 'sas_policy': {'key': 'properties.sasPolicy', 'type': 'SasPolicy'}, + 'key_policy': {'key': 'properties.keyPolicy', 'type': 'KeyPolicy'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'is_sftp_enabled': {'key': 'properties.isSftpEnabled', 'type': 'bool'}, + 'is_local_user_enabled': {'key': 'properties.isLocalUserEnabled', 'type': 'bool'}, + 'is_hns_enabled': {'key': 'properties.isHnsEnabled', 'type': 'bool'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, + 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, + 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, + 'enable_nfs_v3': {'key': 'properties.isNfsV3Enabled', 'type': 'bool'}, + 'allow_cross_tenant_replication': {'key': 'properties.allowCrossTenantReplication', 'type': 'bool'}, + 'default_to_o_auth_authentication': {'key': 'properties.defaultToOAuthAuthentication', 'type': 'bool'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageAccount'}, + } + + def __init__( + self, + *, + sku: "Sku", + kind: Union[str, "Kind"], + location: str, + extended_location: Optional["ExtendedLocation"] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + allowed_copy_scope: Optional[Union[str, "AllowedCopyScope"]] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + sas_policy: Optional["SasPolicy"] = None, + key_policy: Optional["KeyPolicy"] = None, + custom_domain: Optional["CustomDomain"] = None, + encryption: Optional["Encryption"] = None, + network_rule_set: Optional["NetworkRuleSet"] = None, + access_tier: Optional[Union[str, "AccessTier"]] = None, + azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, + enable_https_traffic_only: Optional[bool] = None, + is_sftp_enabled: Optional[bool] = None, + is_local_user_enabled: Optional[bool] = None, + is_hns_enabled: Optional[bool] = None, + large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, + routing_preference: Optional["RoutingPreference"] = None, + allow_blob_public_access: Optional[bool] = None, + minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, + allow_shared_key_access: Optional[bool] = None, + enable_nfs_v3: Optional[bool] = None, + allow_cross_tenant_replication: Optional[bool] = None, + default_to_o_auth_authentication: Optional[bool] = None, + immutable_storage_with_versioning: Optional["ImmutableStorageAccount"] = None, + **kwargs + ): + """ + :keyword sku: Required. Required. Gets or sets the SKU name. + :paramtype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku + :keyword kind: Required. Required. Indicates the type of storage account. Possible values + include: "Storage", "StorageV2", "BlobStorage", "FileStorage", "BlockBlobStorage". + :paramtype kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind + :keyword location: Required. Required. Gets or sets the location of the resource. This will be + one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, + etc.). The geo region of a resource cannot be changed once it is created, but if an identical + geo region is specified on update, the request will succeed. + :paramtype location: str + :keyword extended_location: Optional. Set the extended location of the resource. If not set, + the storage account will be created in Azure main region. Otherwise it will be created in the + specified extended location. + :paramtype extended_location: ~azure.mgmt.storage.v2021_08_01.models.ExtendedLocation + :keyword tags: A set of tags. Gets or sets a list of key value pairs that describe the + resource. These tags can be used for viewing and grouping this resource (across resource + groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a + length no greater than 128 characters and a value with a length no greater than 256 characters. + :paramtype tags: dict[str, str] + :keyword identity: The identity of the resource. + :paramtype identity: ~azure.mgmt.storage.v2021_08_01.models.Identity + :keyword allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :paramtype allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope + :keyword public_network_access: Allow or disallow public network access to Storage Account. + Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :paramtype public_network_access: str or + ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :keyword sas_policy: SasPolicy assigned to the storage account. + :paramtype sas_policy: ~azure.mgmt.storage.v2021_08_01.models.SasPolicy + :keyword key_policy: KeyPolicy assigned to the storage account. + :paramtype key_policy: ~azure.mgmt.storage.v2021_08_01.models.KeyPolicy + :keyword custom_domain: User domain assigned to the storage account. Name is the CNAME source. + Only one custom domain is supported per storage account at this time. To clear the existing + custom domain, use an empty string for the custom domain name property. + :paramtype custom_domain: ~azure.mgmt.storage.v2021_08_01.models.CustomDomain + :keyword encryption: Encryption settings to be used for server-side encryption for the storage + account. + :paramtype encryption: ~azure.mgmt.storage.v2021_08_01.models.Encryption + :keyword network_rule_set: Network rule set. + :paramtype network_rule_set: ~azure.mgmt.storage.v2021_08_01.models.NetworkRuleSet + :keyword access_tier: Required for storage accounts where kind = BlobStorage. The access tier + used for billing. Possible values include: "Hot", "Cool". + :paramtype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.AccessTier + :keyword azure_files_identity_based_authentication: Provides the identity based authentication + settings for Azure Files. + :paramtype azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication + :keyword enable_https_traffic_only: Allows https traffic only to storage service if sets to + true. The default value is true since API version 2019-04-01. + :paramtype enable_https_traffic_only: bool + :keyword is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :paramtype is_sftp_enabled: bool + :keyword is_local_user_enabled: Enables local users feature, if set to true. + :paramtype is_local_user_enabled: bool + :keyword is_hns_enabled: Account HierarchicalNamespace enabled if sets to true. + :paramtype is_hns_enabled: bool + :keyword large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be + disabled once it is enabled. Possible values include: "Disabled", "Enabled". + :paramtype large_file_shares_state: str or + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState + :keyword routing_preference: Maintains information about the network routing choice opted by + the user for data transfer. + :paramtype routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference + :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers + in the storage account. The default interpretation is true for this property. + :paramtype allow_blob_public_access: bool + :keyword minimum_tls_version: Set the minimum TLS version to be permitted on requests to + storage. The default interpretation is TLS 1.0 for this property. Possible values include: + "TLS1_0", "TLS1_1", "TLS1_2". + :paramtype minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :keyword allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :paramtype allow_shared_key_access: bool + :keyword enable_nfs_v3: NFS 3.0 protocol support enabled if set to true. + :paramtype enable_nfs_v3: bool + :keyword allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :paramtype allow_cross_tenant_replication: bool + :keyword default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :paramtype default_to_o_auth_authentication: bool + :keyword immutable_storage_with_versioning: The property is immutable and can only be set to + true at the account creation time. When set to true, it enables object level immutability for + all the new containers in the account by default. + :paramtype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount + """ + super(StorageAccountCreateParameters, self).__init__(**kwargs) + self.sku = sku + self.kind = kind + self.location = location + self.extended_location = extended_location + self.tags = tags + self.identity = identity + self.allowed_copy_scope = allowed_copy_scope + self.public_network_access = public_network_access + self.sas_policy = sas_policy + self.key_policy = key_policy + self.custom_domain = custom_domain + self.encryption = encryption + self.network_rule_set = network_rule_set + self.access_tier = access_tier + self.azure_files_identity_based_authentication = azure_files_identity_based_authentication + self.enable_https_traffic_only = enable_https_traffic_only + self.is_sftp_enabled = is_sftp_enabled + self.is_local_user_enabled = is_local_user_enabled + self.is_hns_enabled = is_hns_enabled + self.large_file_shares_state = large_file_shares_state + self.routing_preference = routing_preference + self.allow_blob_public_access = allow_blob_public_access + self.minimum_tls_version = minimum_tls_version + self.allow_shared_key_access = allow_shared_key_access + self.enable_nfs_v3 = enable_nfs_v3 + self.allow_cross_tenant_replication = allow_cross_tenant_replication + self.default_to_o_auth_authentication = default_to_o_auth_authentication + self.immutable_storage_with_versioning = immutable_storage_with_versioning + + +class StorageAccountInternetEndpoints(msrest.serialization.Model): + """The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + """ + + _validation = { + 'blob': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(StorageAccountInternetEndpoints, self).__init__(**kwargs) + self.blob = None + self.file = None + self.web = None + self.dfs = None + + +class StorageAccountKey(msrest.serialization.Model): + """An access key for the storage account. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar key_name: Name of the key. + :vartype key_name: str + :ivar value: Base 64-encoded value of the key. + :vartype value: str + :ivar permissions: Permissions for the key -- read-only or full permissions. Possible values + include: "Read", "Full". + :vartype permissions: str or ~azure.mgmt.storage.v2021_08_01.models.KeyPermission + :ivar creation_time: Creation time of the key, in round trip date format. + :vartype creation_time: ~datetime.datetime + """ + + _validation = { + 'key_name': {'readonly': True}, + 'value': {'readonly': True}, + 'permissions': {'readonly': True}, + 'creation_time': {'readonly': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + 'permissions': {'key': 'permissions', 'type': 'str'}, + 'creation_time': {'key': 'creationTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(StorageAccountKey, self).__init__(**kwargs) + self.key_name = None + self.value = None + self.permissions = None + self.creation_time = None + + +class StorageAccountListKeysResult(msrest.serialization.Model): + """The response from the ListKeys operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar keys: Gets the list of storage account keys and their properties for the specified + storage account. + :vartype keys: list[~azure.mgmt.storage.v2021_08_01.models.StorageAccountKey] + """ + + _validation = { + 'keys': {'readonly': True}, + } + + _attribute_map = { + 'keys': {'key': 'keys', 'type': '[StorageAccountKey]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(StorageAccountListKeysResult, self).__init__(**kwargs) + self.keys = None + + +class StorageAccountListResult(msrest.serialization.Model): + """The response from the List Storage Accounts operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Gets the list of storage accounts and their properties. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.StorageAccount] + :ivar next_link: Request URL that can be used to query next page of storage accounts. Returned + when total number of requested storage accounts exceed maximum page size. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[StorageAccount]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(StorageAccountListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class StorageAccountMicrosoftEndpoints(msrest.serialization.Model): + """The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing endpoint. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar blob: Gets the blob endpoint. + :vartype blob: str + :ivar queue: Gets the queue endpoint. + :vartype queue: str + :ivar table: Gets the table endpoint. + :vartype table: str + :ivar file: Gets the file endpoint. + :vartype file: str + :ivar web: Gets the web endpoint. + :vartype web: str + :ivar dfs: Gets the dfs endpoint. + :vartype dfs: str + """ + + _validation = { + 'blob': {'readonly': True}, + 'queue': {'readonly': True}, + 'table': {'readonly': True}, + 'file': {'readonly': True}, + 'web': {'readonly': True}, + 'dfs': {'readonly': True}, + } + + _attribute_map = { + 'blob': {'key': 'blob', 'type': 'str'}, + 'queue': {'key': 'queue', 'type': 'str'}, + 'table': {'key': 'table', 'type': 'str'}, + 'file': {'key': 'file', 'type': 'str'}, + 'web': {'key': 'web', 'type': 'str'}, + 'dfs': {'key': 'dfs', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(StorageAccountMicrosoftEndpoints, self).__init__(**kwargs) + self.blob = None + self.queue = None + self.table = None + self.file = None + self.web = None + self.dfs = None + + +class StorageAccountRegenerateKeyParameters(msrest.serialization.Model): + """The parameters used to regenerate the storage account key. + + All required parameters must be populated in order to send to Azure. + + :ivar key_name: Required. The name of storage keys that want to be regenerated, possible values + are key1, key2, kerb1, kerb2. + :vartype key_name: str + """ + + _validation = { + 'key_name': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__( + self, + *, + key_name: str, + **kwargs + ): + """ + :keyword key_name: Required. The name of storage keys that want to be regenerated, possible + values are key1, key2, kerb1, kerb2. + :paramtype key_name: str + """ + super(StorageAccountRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = key_name + + +class StorageAccountUpdateParameters(msrest.serialization.Model): + """The parameters that can be provided when updating the storage account properties. + + :ivar sku: Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, + Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value. + :vartype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku + :ivar tags: A set of tags. Gets or sets a list of key value pairs that describe the resource. + These tags can be used in viewing and grouping this resource (across resource groups). A + maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in + length than 128 characters and a value no greater in length than 256 characters. + :vartype tags: dict[str, str] + :ivar identity: The identity of the resource. + :vartype identity: ~azure.mgmt.storage.v2021_08_01.models.Identity + :ivar kind: Optional. Indicates the type of storage account. Currently only StorageV2 value + supported by server. Possible values include: "Storage", "StorageV2", "BlobStorage", + "FileStorage", "BlockBlobStorage". + :vartype kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind + :ivar custom_domain: Custom domain assigned to the storage account by the user. Name is the + CNAME source. Only one custom domain is supported per storage account at this time. To clear + the existing custom domain, use an empty string for the custom domain name property. + :vartype custom_domain: ~azure.mgmt.storage.v2021_08_01.models.CustomDomain + :ivar encryption: Not applicable. Azure Storage encryption at rest is enabled by default for + all storage accounts and cannot be disabled. + :vartype encryption: ~azure.mgmt.storage.v2021_08_01.models.Encryption + :ivar sas_policy: SasPolicy assigned to the storage account. + :vartype sas_policy: ~azure.mgmt.storage.v2021_08_01.models.SasPolicy + :ivar key_policy: KeyPolicy assigned to the storage account. + :vartype key_policy: ~azure.mgmt.storage.v2021_08_01.models.KeyPolicy + :ivar access_tier: Required for storage accounts where kind = BlobStorage. The access tier used + for billing. Possible values include: "Hot", "Cool". + :vartype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.AccessTier + :ivar azure_files_identity_based_authentication: Provides the identity based authentication + settings for Azure Files. + :vartype azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication + :ivar enable_https_traffic_only: Allows https traffic only to storage service if sets to true. + :vartype enable_https_traffic_only: bool + :ivar is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :vartype is_sftp_enabled: bool + :ivar is_local_user_enabled: Enables local users feature, if set to true. + :vartype is_local_user_enabled: bool + :ivar network_rule_set: Network rule set. + :vartype network_rule_set: ~azure.mgmt.storage.v2021_08_01.models.NetworkRuleSet + :ivar large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be + disabled once it is enabled. Possible values include: "Disabled", "Enabled". + :vartype large_file_shares_state: str or + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState + :ivar routing_preference: Maintains information about the network routing choice opted by the + user for data transfer. + :vartype routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference + :ivar allow_blob_public_access: Allow or disallow public access to all blobs or containers in + the storage account. The default interpretation is true for this property. + :vartype allow_blob_public_access: bool + :ivar minimum_tls_version: Set the minimum TLS version to be permitted on requests to storage. + The default interpretation is TLS 1.0 for this property. Possible values include: "TLS1_0", + "TLS1_1", "TLS1_2". + :vartype minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :ivar allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :vartype allow_shared_key_access: bool + :ivar allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :vartype allow_cross_tenant_replication: bool + :ivar default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :vartype default_to_o_auth_authentication: bool + :ivar public_network_access: Allow or disallow public network access to Storage Account. Value + is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :vartype public_network_access: str or + ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :ivar immutable_storage_with_versioning: The property is immutable and can only be set to true + at the account creation time. When set to true, it enables object level immutability for all + the containers in the account by default. + :vartype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount + :ivar allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :vartype allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope + """ + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'custom_domain': {'key': 'properties.customDomain', 'type': 'CustomDomain'}, + 'encryption': {'key': 'properties.encryption', 'type': 'Encryption'}, + 'sas_policy': {'key': 'properties.sasPolicy', 'type': 'SasPolicy'}, + 'key_policy': {'key': 'properties.keyPolicy', 'type': 'KeyPolicy'}, + 'access_tier': {'key': 'properties.accessTier', 'type': 'str'}, + 'azure_files_identity_based_authentication': {'key': 'properties.azureFilesIdentityBasedAuthentication', 'type': 'AzureFilesIdentityBasedAuthentication'}, + 'enable_https_traffic_only': {'key': 'properties.supportsHttpsTrafficOnly', 'type': 'bool'}, + 'is_sftp_enabled': {'key': 'properties.isSftpEnabled', 'type': 'bool'}, + 'is_local_user_enabled': {'key': 'properties.isLocalUserEnabled', 'type': 'bool'}, + 'network_rule_set': {'key': 'properties.networkAcls', 'type': 'NetworkRuleSet'}, + 'large_file_shares_state': {'key': 'properties.largeFileSharesState', 'type': 'str'}, + 'routing_preference': {'key': 'properties.routingPreference', 'type': 'RoutingPreference'}, + 'allow_blob_public_access': {'key': 'properties.allowBlobPublicAccess', 'type': 'bool'}, + 'minimum_tls_version': {'key': 'properties.minimumTlsVersion', 'type': 'str'}, + 'allow_shared_key_access': {'key': 'properties.allowSharedKeyAccess', 'type': 'bool'}, + 'allow_cross_tenant_replication': {'key': 'properties.allowCrossTenantReplication', 'type': 'bool'}, + 'default_to_o_auth_authentication': {'key': 'properties.defaultToOAuthAuthentication', 'type': 'bool'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, + 'immutable_storage_with_versioning': {'key': 'properties.immutableStorageWithVersioning', 'type': 'ImmutableStorageAccount'}, + 'allowed_copy_scope': {'key': 'properties.allowedCopyScope', 'type': 'str'}, + } + + def __init__( + self, + *, + sku: Optional["Sku"] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + kind: Optional[Union[str, "Kind"]] = None, + custom_domain: Optional["CustomDomain"] = None, + encryption: Optional["Encryption"] = None, + sas_policy: Optional["SasPolicy"] = None, + key_policy: Optional["KeyPolicy"] = None, + access_tier: Optional[Union[str, "AccessTier"]] = None, + azure_files_identity_based_authentication: Optional["AzureFilesIdentityBasedAuthentication"] = None, + enable_https_traffic_only: Optional[bool] = None, + is_sftp_enabled: Optional[bool] = None, + is_local_user_enabled: Optional[bool] = None, + network_rule_set: Optional["NetworkRuleSet"] = None, + large_file_shares_state: Optional[Union[str, "LargeFileSharesState"]] = None, + routing_preference: Optional["RoutingPreference"] = None, + allow_blob_public_access: Optional[bool] = None, + minimum_tls_version: Optional[Union[str, "MinimumTlsVersion"]] = None, + allow_shared_key_access: Optional[bool] = None, + allow_cross_tenant_replication: Optional[bool] = None, + default_to_o_auth_authentication: Optional[bool] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, + immutable_storage_with_versioning: Optional["ImmutableStorageAccount"] = None, + allowed_copy_scope: Optional[Union[str, "AllowedCopyScope"]] = None, + **kwargs + ): + """ + :keyword sku: Gets or sets the SKU name. Note that the SKU name cannot be updated to + Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any + other value. + :paramtype sku: ~azure.mgmt.storage.v2021_08_01.models.Sku + :keyword tags: A set of tags. Gets or sets a list of key value pairs that describe the + resource. These tags can be used in viewing and grouping this resource (across resource + groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no + greater in length than 128 characters and a value no greater in length than 256 characters. + :paramtype tags: dict[str, str] + :keyword identity: The identity of the resource. + :paramtype identity: ~azure.mgmt.storage.v2021_08_01.models.Identity + :keyword kind: Optional. Indicates the type of storage account. Currently only StorageV2 value + supported by server. Possible values include: "Storage", "StorageV2", "BlobStorage", + "FileStorage", "BlockBlobStorage". + :paramtype kind: str or ~azure.mgmt.storage.v2021_08_01.models.Kind + :keyword custom_domain: Custom domain assigned to the storage account by the user. Name is the + CNAME source. Only one custom domain is supported per storage account at this time. To clear + the existing custom domain, use an empty string for the custom domain name property. + :paramtype custom_domain: ~azure.mgmt.storage.v2021_08_01.models.CustomDomain + :keyword encryption: Not applicable. Azure Storage encryption at rest is enabled by default for + all storage accounts and cannot be disabled. + :paramtype encryption: ~azure.mgmt.storage.v2021_08_01.models.Encryption + :keyword sas_policy: SasPolicy assigned to the storage account. + :paramtype sas_policy: ~azure.mgmt.storage.v2021_08_01.models.SasPolicy + :keyword key_policy: KeyPolicy assigned to the storage account. + :paramtype key_policy: ~azure.mgmt.storage.v2021_08_01.models.KeyPolicy + :keyword access_tier: Required for storage accounts where kind = BlobStorage. The access tier + used for billing. Possible values include: "Hot", "Cool". + :paramtype access_tier: str or ~azure.mgmt.storage.v2021_08_01.models.AccessTier + :keyword azure_files_identity_based_authentication: Provides the identity based authentication + settings for Azure Files. + :paramtype azure_files_identity_based_authentication: + ~azure.mgmt.storage.v2021_08_01.models.AzureFilesIdentityBasedAuthentication + :keyword enable_https_traffic_only: Allows https traffic only to storage service if sets to + true. + :paramtype enable_https_traffic_only: bool + :keyword is_sftp_enabled: Enables Secure File Transfer Protocol, if set to true. + :paramtype is_sftp_enabled: bool + :keyword is_local_user_enabled: Enables local users feature, if set to true. + :paramtype is_local_user_enabled: bool + :keyword network_rule_set: Network rule set. + :paramtype network_rule_set: ~azure.mgmt.storage.v2021_08_01.models.NetworkRuleSet + :keyword large_file_shares_state: Allow large file shares if sets to Enabled. It cannot be + disabled once it is enabled. Possible values include: "Disabled", "Enabled". + :paramtype large_file_shares_state: str or + ~azure.mgmt.storage.v2021_08_01.models.LargeFileSharesState + :keyword routing_preference: Maintains information about the network routing choice opted by + the user for data transfer. + :paramtype routing_preference: ~azure.mgmt.storage.v2021_08_01.models.RoutingPreference + :keyword allow_blob_public_access: Allow or disallow public access to all blobs or containers + in the storage account. The default interpretation is true for this property. + :paramtype allow_blob_public_access: bool + :keyword minimum_tls_version: Set the minimum TLS version to be permitted on requests to + storage. The default interpretation is TLS 1.0 for this property. Possible values include: + "TLS1_0", "TLS1_1", "TLS1_2". + :paramtype minimum_tls_version: str or ~azure.mgmt.storage.v2021_08_01.models.MinimumTlsVersion + :keyword allow_shared_key_access: Indicates whether the storage account permits requests to be + authorized with the account access key via Shared Key. If false, then all requests, including + shared access signatures, must be authorized with Azure Active Directory (Azure AD). The + default value is null, which is equivalent to true. + :paramtype allow_shared_key_access: bool + :keyword allow_cross_tenant_replication: Allow or disallow cross AAD tenant object replication. + The default interpretation is true for this property. + :paramtype allow_cross_tenant_replication: bool + :keyword default_to_o_auth_authentication: A boolean flag which indicates whether the default + authentication is OAuth or not. The default interpretation is false for this property. + :paramtype default_to_o_auth_authentication: bool + :keyword public_network_access: Allow or disallow public network access to Storage Account. + Value is optional but if passed in, must be 'Enabled' or 'Disabled'. Possible values include: + "Enabled", "Disabled". + :paramtype public_network_access: str or + ~azure.mgmt.storage.v2021_08_01.models.PublicNetworkAccess + :keyword immutable_storage_with_versioning: The property is immutable and can only be set to + true at the account creation time. When set to true, it enables object level immutability for + all the containers in the account by default. + :paramtype immutable_storage_with_versioning: + ~azure.mgmt.storage.v2021_08_01.models.ImmutableStorageAccount + :keyword allowed_copy_scope: Restrict copy to and from Storage Accounts within an AAD tenant or + with Private Links to the same VNet. Possible values include: "PrivateLink", "AAD". + :paramtype allowed_copy_scope: str or ~azure.mgmt.storage.v2021_08_01.models.AllowedCopyScope + """ + super(StorageAccountUpdateParameters, self).__init__(**kwargs) + self.sku = sku + self.tags = tags + self.identity = identity + self.kind = kind + self.custom_domain = custom_domain + self.encryption = encryption + self.sas_policy = sas_policy + self.key_policy = key_policy + self.access_tier = access_tier + self.azure_files_identity_based_authentication = azure_files_identity_based_authentication + self.enable_https_traffic_only = enable_https_traffic_only + self.is_sftp_enabled = is_sftp_enabled + self.is_local_user_enabled = is_local_user_enabled + self.network_rule_set = network_rule_set + self.large_file_shares_state = large_file_shares_state + self.routing_preference = routing_preference + self.allow_blob_public_access = allow_blob_public_access + self.minimum_tls_version = minimum_tls_version + self.allow_shared_key_access = allow_shared_key_access + self.allow_cross_tenant_replication = allow_cross_tenant_replication + self.default_to_o_auth_authentication = default_to_o_auth_authentication + self.public_network_access = public_network_access + self.immutable_storage_with_versioning = immutable_storage_with_versioning + self.allowed_copy_scope = allowed_copy_scope + + +class StorageQueue(Resource): + """StorageQueue. + + 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 metadata: A name-value pair that represents queue metadata. + :vartype metadata: dict[str, str] + :ivar approximate_message_count: Integer indicating an approximate number of messages in the + queue. This number is not lower than the actual number of messages in the queue, but could be + higher. + :vartype approximate_message_count: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'approximate_message_count': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'metadata': {'key': 'properties.metadata', 'type': '{str}'}, + 'approximate_message_count': {'key': 'properties.approximateMessageCount', 'type': 'int'}, + } + + def __init__( + self, + *, + metadata: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword metadata: A name-value pair that represents queue metadata. + :paramtype metadata: dict[str, str] + """ + super(StorageQueue, self).__init__(**kwargs) + self.metadata = metadata + self.approximate_message_count = None + + +class StorageSkuListResult(msrest.serialization.Model): + """The response from the List Storage SKUs operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Get the list result of storage SKUs and their properties. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.SkuInformation] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SkuInformation]'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(StorageSkuListResult, self).__init__(**kwargs) + self.value = None + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :ivar created_by: The identity that created the resource. + :vartype created_by: str + :ivar created_by_type: The type of identity that created the resource. Possible values include: + "User", "Application", "ManagedIdentity", "Key". + :vartype created_by_type: str or ~azure.mgmt.storage.v2021_08_01.models.CreatedByType + :ivar created_at: The timestamp of resource creation (UTC). + :vartype created_at: ~datetime.datetime + :ivar last_modified_by: The identity that last modified the resource. + :vartype last_modified_by: str + :ivar last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :vartype last_modified_by_type: str or ~azure.mgmt.storage.v2021_08_01.models.CreatedByType + :ivar last_modified_at: The timestamp of resource last modification (UTC). + :vartype 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 + ): + """ + :keyword created_by: The identity that created the resource. + :paramtype created_by: str + :keyword created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :paramtype created_by_type: str or ~azure.mgmt.storage.v2021_08_01.models.CreatedByType + :keyword created_at: The timestamp of resource creation (UTC). + :paramtype created_at: ~datetime.datetime + :keyword last_modified_by: The identity that last modified the resource. + :paramtype last_modified_by: str + :keyword last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :paramtype last_modified_by_type: str or ~azure.mgmt.storage.v2021_08_01.models.CreatedByType + :keyword last_modified_at: The timestamp of resource last modification (UTC). + :paramtype last_modified_at: ~datetime.datetime + """ + 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 Table(Resource): + """Properties of the table, including Id, resource name, resource type. + + 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 table_name: Table name under the specified account. + :vartype table_name: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'table_name': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'table_name': {'key': 'properties.tableName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(Table, self).__init__(**kwargs) + self.table_name = None + + +class TableServiceProperties(Resource): + """The properties of a storage account’s Table service. + + 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 cors: Specifies CORS rules for the Table service. You can include up to five CorsRule + elements in the request. If no CorsRule elements are included in the request body, all CORS + rules will be deleted, and CORS will be disabled for the Table service. + :vartype cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules + """ + + _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'}, + 'cors': {'key': 'properties.cors', 'type': 'CorsRules'}, + } + + def __init__( + self, + *, + cors: Optional["CorsRules"] = None, + **kwargs + ): + """ + :keyword cors: Specifies CORS rules for the Table service. You can include up to five CorsRule + elements in the request. If no CorsRule elements are included in the request body, all CORS + rules will be deleted, and CORS will be disabled for the Table service. + :paramtype cors: ~azure.mgmt.storage.v2021_08_01.models.CorsRules + """ + super(TableServiceProperties, self).__init__(**kwargs) + self.cors = cors + + +class TagFilter(msrest.serialization.Model): + """Blob index tag based filtering for blob objects. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Required. This is the filter tag name, it can have 1 - 128 characters. + :vartype name: str + :ivar op: Required. This is the comparison operator which is used for object comparison and + filtering. Only == (equality operator) is currently supported. + :vartype op: str + :ivar value: Required. This is the filter tag value field used for tag based filtering, it can + have 0 - 256 characters. + :vartype value: str + """ + + _validation = { + 'name': {'required': True, 'max_length': 128, 'min_length': 1}, + 'op': {'required': True}, + 'value': {'required': True, 'max_length': 256, 'min_length': 0}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'op': {'key': 'op', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + op: str, + value: str, + **kwargs + ): + """ + :keyword name: Required. This is the filter tag name, it can have 1 - 128 characters. + :paramtype name: str + :keyword op: Required. This is the comparison operator which is used for object comparison and + filtering. Only == (equality operator) is currently supported. + :paramtype op: str + :keyword value: Required. This is the filter tag value field used for tag based filtering, it + can have 0 - 256 characters. + :paramtype value: str + """ + super(TagFilter, self).__init__(**kwargs) + self.name = name + self.op = op + self.value = value + + +class TagProperty(msrest.serialization.Model): + """A tag of the LegalHold of a blob container. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar tag: The tag value. + :vartype tag: str + :ivar timestamp: Returns the date and time the tag was added. + :vartype timestamp: ~datetime.datetime + :ivar object_identifier: Returns the Object ID of the user who added the tag. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user who added the tag. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who added the tag. + :vartype upn: str + """ + + _validation = { + 'tag': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'tag': {'key': 'tag', 'type': 'str'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(TagProperty, self).__init__(**kwargs) + self.tag = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None + + +class UpdateHistoryProperty(msrest.serialization.Model): + """An update history of the ImmutabilityPolicy of a blob container. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar update: The ImmutabilityPolicy update type of a blob container, possible values include: + put, lock and extend. Possible values include: "put", "lock", "extend". + :vartype update: str or ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicyUpdateType + :ivar immutability_period_since_creation_in_days: The immutability period for the blobs in the + container since the policy creation, in days. + :vartype immutability_period_since_creation_in_days: int + :ivar timestamp: Returns the date and time the ImmutabilityPolicy was updated. + :vartype timestamp: ~datetime.datetime + :ivar object_identifier: Returns the Object ID of the user who updated the ImmutabilityPolicy. + :vartype object_identifier: str + :ivar tenant_id: Returns the Tenant ID that issued the token for the user who updated the + ImmutabilityPolicy. + :vartype tenant_id: str + :ivar upn: Returns the User Principal Name of the user who updated the ImmutabilityPolicy. + :vartype upn: str + :ivar allow_protected_append_writes: This property can only be changed for unlocked time-based + retention policies. When enabled, new blocks can be written to an append blob while maintaining + immutability protection and compliance. Only new blocks can be added and any existing blocks + cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy + API. + :vartype allow_protected_append_writes: bool + :ivar allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :vartype allow_protected_append_writes_all: bool + """ + + _validation = { + 'update': {'readonly': True}, + 'immutability_period_since_creation_in_days': {'readonly': True}, + 'timestamp': {'readonly': True}, + 'object_identifier': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'upn': {'readonly': True}, + } + + _attribute_map = { + 'update': {'key': 'update', 'type': 'str'}, + 'immutability_period_since_creation_in_days': {'key': 'immutabilityPeriodSinceCreationInDays', 'type': 'int'}, + 'timestamp': {'key': 'timestamp', 'type': 'iso-8601'}, + 'object_identifier': {'key': 'objectIdentifier', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'upn': {'key': 'upn', 'type': 'str'}, + 'allow_protected_append_writes': {'key': 'allowProtectedAppendWrites', 'type': 'bool'}, + 'allow_protected_append_writes_all': {'key': 'allowProtectedAppendWritesAll', 'type': 'bool'}, + } + + def __init__( + self, + *, + allow_protected_append_writes: Optional[bool] = None, + allow_protected_append_writes_all: Optional[bool] = None, + **kwargs + ): + """ + :keyword allow_protected_append_writes: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to an append blob while + maintaining immutability protection and compliance. Only new blocks can be added and any + existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. + :paramtype allow_protected_append_writes: bool + :keyword allow_protected_append_writes_all: This property can only be changed for unlocked + time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock + Blobs' while maintaining immutability protection and compliance. Only new blocks can be added + and any existing blocks cannot be modified or deleted. This property cannot be changed with + ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and + 'allowProtectedAppendWritesAll' properties are mutually exclusive. + :paramtype allow_protected_append_writes_all: bool + """ + super(UpdateHistoryProperty, self).__init__(**kwargs) + self.update = None + self.immutability_period_since_creation_in_days = None + self.timestamp = None + self.object_identifier = None + self.tenant_id = None + self.upn = None + self.allow_protected_append_writes = allow_protected_append_writes + self.allow_protected_append_writes_all = allow_protected_append_writes_all + + +class Usage(msrest.serialization.Model): + """Describes Storage Resource Usage. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar unit: Gets the unit of measurement. Possible values include: "Count", "Bytes", "Seconds", + "Percent", "CountsPerSecond", "BytesPerSecond". + :vartype unit: str or ~azure.mgmt.storage.v2021_08_01.models.UsageUnit + :ivar current_value: Gets the current count of the allocated resources in the subscription. + :vartype current_value: int + :ivar limit: Gets the maximum count of the resources that can be allocated in the subscription. + :vartype limit: int + :ivar name: Gets the name of the type of usage. + :vartype name: ~azure.mgmt.storage.v2021_08_01.models.UsageName + """ + + _validation = { + 'unit': {'readonly': True}, + 'current_value': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + } + + _attribute_map = { + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'int'}, + 'limit': {'key': 'limit', 'type': 'int'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(Usage, self).__init__(**kwargs) + self.unit = None + self.current_value = None + self.limit = None + self.name = None + + +class UsageListResult(msrest.serialization.Model): + """The response from the List Usages operation. + + :ivar value: Gets or sets the list of Storage Resource Usages. + :vartype value: list[~azure.mgmt.storage.v2021_08_01.models.Usage] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Usage]'}, + } + + def __init__( + self, + *, + value: Optional[List["Usage"]] = None, + **kwargs + ): + """ + :keyword value: Gets or sets the list of Storage Resource Usages. + :paramtype value: list[~azure.mgmt.storage.v2021_08_01.models.Usage] + """ + super(UsageListResult, self).__init__(**kwargs) + self.value = value + + +class UsageName(msrest.serialization.Model): + """The usage names that can be used; currently limited to StorageAccount. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: Gets a string describing the resource name. + :vartype value: str + :ivar localized_value: Gets a localized string describing the resource name. + :vartype localized_value: str + """ + + _validation = { + 'value': {'readonly': True}, + 'localized_value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + """ + """ + super(UsageName, self).__init__(**kwargs) + self.value = None + self.localized_value = None + + +class UserAssignedIdentity(msrest.serialization.Model): + """UserAssignedIdentity for the resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar principal_id: The principal ID of the identity. + :vartype principal_id: str + :ivar client_id: The client ID of the 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(UserAssignedIdentity, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class VirtualNetworkRule(msrest.serialization.Model): + """Virtual Network rule. + + All required parameters must be populated in order to send to Azure. + + :ivar virtual_network_resource_id: Required. Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + :vartype virtual_network_resource_id: str + :ivar action: The action of virtual network rule. The only acceptable values to pass in are + None and "Allow". The default value is None. + :vartype action: str + :ivar state: Gets the state of virtual network rule. Possible values include: "Provisioning", + "Deprovisioning", "Succeeded", "Failed", "NetworkSourceDeleted". + :vartype state: str or ~azure.mgmt.storage.v2021_08_01.models.State + """ + + _validation = { + 'virtual_network_resource_id': {'required': True}, + } + + _attribute_map = { + 'virtual_network_resource_id': {'key': 'id', 'type': 'str'}, + 'action': {'key': 'action', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__( + self, + *, + virtual_network_resource_id: str, + action: Optional[str] = None, + state: Optional[Union[str, "State"]] = None, + **kwargs + ): + """ + :keyword virtual_network_resource_id: Required. Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}. + :paramtype virtual_network_resource_id: str + :keyword action: The action of virtual network rule. The only acceptable values to pass in are + None and "Allow". The default value is None. + :paramtype action: str + :keyword state: Gets the state of virtual network rule. Possible values include: + "Provisioning", "Deprovisioning", "Succeeded", "Failed", "NetworkSourceDeleted". + :paramtype state: str or ~azure.mgmt.storage.v2021_08_01.models.State + """ + super(VirtualNetworkRule, self).__init__(**kwargs) + self.virtual_network_resource_id = virtual_network_resource_id + self.action = action + self.state = state diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_storage_management_client_enums.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_storage_management_client_enums.py similarity index 60% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_storage_management_client_enums.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_storage_management_client_enums.py index 573399f6058..343311c7023 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/models/_storage_management_client_enums.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/models/_storage_management_client_enums.py @@ -6,34 +6,32 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from enum import Enum, EnumMeta +from enum import Enum from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta -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 AccessTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class AccessTier(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Required for storage accounts where kind = BlobStorage. The access tier used for billing. """ HOT = "Hot" COOL = "Cool" -class AccountStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class AccountImmutabilityPolicyState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the + policy, Unlocked state allows increase and decrease of immutability retention time and also + allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of + the immutability retention time. A policy can only be created in a Disabled or Unlocked state + and can be toggled between the two states. Only a policy in an Unlocked state can transition to + a Locked state which cannot be reverted. + """ + + UNLOCKED = "Unlocked" + LOCKED = "Locked" + DISABLED = "Disabled" + +class AccountStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Gets the status indicating whether the primary location of the storage account is available or unavailable. """ @@ -41,11 +39,26 @@ class AccountStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): AVAILABLE = "available" UNAVAILABLE = "unavailable" -class BlobInventoryPolicyName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ActiveDirectoryPropertiesAccountType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specifies the Active Directory account type for Azure Storage. + """ + + USER = "User" + COMPUTER = "Computer" + +class AllowedCopyScope(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the + same VNet. + """ + + PRIVATE_LINK = "PrivateLink" + AAD = "AAD" + +class BlobInventoryPolicyName(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): DEFAULT = "default" -class BlobRestoreProgressStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class BlobRestoreProgressStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed. @@ -55,7 +68,7 @@ class BlobRestoreProgressStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, En COMPLETE = "Complete" FAILED = "Failed" -class Bypass(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Bypass(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of Logging|Metrics|AzureServices (For example, "Logging, Metrics"), or None to bypass none of those traffics. @@ -66,7 +79,7 @@ class Bypass(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): METRICS = "Metrics" AZURE_SERVICES = "AzureServices" -class CorsRuleAllowedMethodsItem(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CorsRuleAllowedMethodsItem(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): DELETE = "DELETE" GET = "GET" @@ -76,7 +89,7 @@ class CorsRuleAllowedMethodsItem(with_metaclass(_CaseInsensitiveEnumMeta, str, E OPTIONS = "OPTIONS" PUT = "PUT" -class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class CreatedByType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of identity that created the resource. """ @@ -85,14 +98,14 @@ class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MANAGED_IDENTITY = "ManagedIdentity" KEY = "Key" -class DefaultAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DefaultAction(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specifies the default action of allow or deny when no other rules match. """ ALLOW = "Allow" DENY = "Deny" -class DefaultSharePermission(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DefaultSharePermission(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Default share permission for users using Kerberos authentication if RBAC role is not assigned. """ @@ -100,9 +113,8 @@ class DefaultSharePermission(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum) STORAGE_FILE_DATA_SMB_SHARE_READER = "StorageFileDataSmbShareReader" STORAGE_FILE_DATA_SMB_SHARE_CONTRIBUTOR = "StorageFileDataSmbShareContributor" STORAGE_FILE_DATA_SMB_SHARE_ELEVATED_CONTRIBUTOR = "StorageFileDataSmbShareElevatedContributor" - STORAGE_FILE_DATA_SMB_SHARE_OWNER = "StorageFileDataSmbShareOwner" -class DirectoryServiceOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class DirectoryServiceOptions(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates the directory service used. """ @@ -110,7 +122,7 @@ class DirectoryServiceOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum AADDS = "AADDS" AD = "AD" -class EnabledProtocols(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class EnabledProtocols(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The authentication protocol that is used for the file share. Can only be specified when creating a share. """ @@ -118,7 +130,7 @@ class EnabledProtocols(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): SMB = "SMB" NFS = "NFS" -class EncryptionScopeSource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class EncryptionScopeSource(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault. """ @@ -126,20 +138,33 @@ class EncryptionScopeSource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)) MICROSOFT_STORAGE = "Microsoft.Storage" MICROSOFT_KEY_VAULT = "Microsoft.KeyVault" -class EncryptionScopeState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class EncryptionScopeState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled. """ ENABLED = "Enabled" DISABLED = "Disabled" -class ExtendedLocationTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ExpirationAction(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The SAS expiration action. Can only be Log. + """ + + LOG = "Log" + +class ExtendedLocationTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The type of extendedLocation. """ EDGE_ZONE = "EdgeZone" -class GeoReplicationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Format(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """This is a required field, it specifies the format for the inventory files. + """ + + CSV = "Csv" + PARQUET = "Parquet" + +class GeoReplicationStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when @@ -151,21 +176,30 @@ class GeoReplicationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): BOOTSTRAP = "Bootstrap" UNAVAILABLE = "Unavailable" -class HttpProtocol(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class HttpProtocol(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The protocol permitted for a request made with the account SAS. """ HTTPS_HTTP = "https,http" HTTPS = "https" -class ImmutabilityPolicyState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class IdentityType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """The identity type. + """ + + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" + +class ImmutabilityPolicyState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked. """ LOCKED = "Locked" UNLOCKED = "Unlocked" -class ImmutabilityPolicyUpdateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ImmutabilityPolicyUpdateType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend. """ @@ -174,20 +208,20 @@ class ImmutabilityPolicyUpdateType(with_metaclass(_CaseInsensitiveEnumMeta, str, LOCK = "lock" EXTEND = "extend" -class InventoryRuleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class InventoryRuleType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The valid value is Inventory """ INVENTORY = "Inventory" -class KeyPermission(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class KeyPermission(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Permissions for the key -- read-only or full permissions. """ READ = "Read" FULL = "Full" -class KeySource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class KeySource(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault """ @@ -195,7 +229,7 @@ class KeySource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): MICROSOFT_STORAGE = "Microsoft.Storage" MICROSOFT_KEYVAULT = "Microsoft.Keyvault" -class KeyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class KeyType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used. @@ -204,7 +238,7 @@ class KeyType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): SERVICE = "Service" ACCOUNT = "Account" -class Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Kind(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Indicates the type of storage account. """ @@ -214,14 +248,14 @@ class Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): FILE_STORAGE = "FileStorage" BLOCK_BLOB_STORAGE = "BlockBlobStorage" -class LargeFileSharesState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LargeFileSharesState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. """ DISABLED = "Disabled" ENABLED = "Enabled" -class LeaseContainerRequestAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LeaseContainerRequestAction(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specifies the lease action. Can be one of the available actions. """ @@ -231,7 +265,7 @@ class LeaseContainerRequestAction(with_metaclass(_CaseInsensitiveEnumMeta, str, RELEASE = "Release" BREAK_ENUM = "Break" -class LeaseDuration(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LeaseDuration(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specifies whether the lease on a container is of infinite or fixed duration, only when the container is leased. """ @@ -239,7 +273,17 @@ class LeaseDuration(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): INFINITE = "Infinite" FIXED = "Fixed" -class LeaseState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LeaseShareAction(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Specifies the lease action. Can be one of the available actions. + """ + + ACQUIRE = "Acquire" + RENEW = "Renew" + CHANGE = "Change" + RELEASE = "Release" + BREAK_ENUM = "Break" + +class LeaseState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Lease state of the container. """ @@ -249,27 +293,30 @@ class LeaseState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): BREAKING = "Breaking" BROKEN = "Broken" -class LeaseStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class LeaseStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The lease status of the container. """ LOCKED = "Locked" UNLOCKED = "Unlocked" -class ListContainersInclude(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ListContainersInclude(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): DELETED = "deleted" -class ListSharesExpand(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ManagementPolicyName(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): - DELETED = "deleted" - SNAPSHOTS = "snapshots" + DEFAULT = "default" -class ManagementPolicyName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MigrationState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """This property denotes the container level immutability to object level immutability migration + state. + """ - DEFAULT = "default" + IN_PROGRESS = "InProgress" + COMPLETED = "Completed" -class MinimumTlsVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MinimumTlsVersion(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property. """ @@ -278,13 +325,21 @@ class MinimumTlsVersion(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): TLS1_1 = "TLS1_1" TLS1_2 = "TLS1_2" -class Name(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Name(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Name of the policy. The valid value is AccessTimeTracking. This field is currently read only """ ACCESS_TIME_TRACKING = "AccessTimeTracking" -class Permissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ObjectType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """This is a required field. This field specifies the scope of the inventory created either at the + blob or container level. + """ + + BLOB = "Blob" + CONTAINER = "Container" + +class Permissions(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p). """ @@ -298,7 +353,7 @@ class Permissions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): U = "u" P = "p" -class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class PrivateEndpointConnectionProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The current provisioning state. """ @@ -307,7 +362,7 @@ class PrivateEndpointConnectionProvisioningState(with_metaclass(_CaseInsensitive DELETING = "Deleting" FAILED = "Failed" -class PrivateEndpointServiceConnectionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class PrivateEndpointServiceConnectionStatus(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The private endpoint connection status. """ @@ -315,7 +370,7 @@ class PrivateEndpointServiceConnectionStatus(with_metaclass(_CaseInsensitiveEnum APPROVED = "Approved" REJECTED = "Rejected" -class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ProvisioningState(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Gets the status of the storage account at the time the operation was called. """ @@ -323,7 +378,7 @@ class ProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): RESOLVING_DNS = "ResolvingDNS" SUCCEEDED = "Succeeded" -class PublicAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class PublicAccess(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Specifies whether data in the container may be accessed publicly and the level of access. """ @@ -331,7 +386,15 @@ class PublicAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): BLOB = "Blob" NONE = "None" -class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class PublicNetworkAccess(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """Allow or disallow public network access to Storage Account. Value is optional but if passed in, + must be 'Enabled' or 'Disabled'. + """ + + ENABLED = "Enabled" + DISABLED = "Disabled" + +class Reason(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false. """ @@ -339,7 +402,7 @@ class Reason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): ACCOUNT_NAME_INVALID = "AccountNameInvalid" ALREADY_EXISTS = "AlreadyExists" -class ReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ReasonCode(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The reason for the restriction. As of now this can be "QuotaId" or "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The "NotAvailableForSubscription" is related to @@ -349,7 +412,7 @@ class ReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): QUOTA_ID = "QuotaId" NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription" -class RootSquashType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class RootSquashType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The property is for NFS share only. The default is NoRootSquash. """ @@ -357,20 +420,27 @@ class RootSquashType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): ROOT_SQUASH = "RootSquash" ALL_SQUASH = "AllSquash" -class RoutingChoice(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class RoutingChoice(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Routing Choice defines the kind of network routing opted by the user. """ MICROSOFT_ROUTING = "MicrosoftRouting" INTERNET_ROUTING = "InternetRouting" -class RuleType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class RuleType(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The valid value is Lifecycle """ LIFECYCLE = "Lifecycle" -class Services(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class Schedule(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """This is a required field. This field is used to schedule an inventory formation. + """ + + DAILY = "Daily" + WEEKLY = "Weekly" + +class Services(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f). """ @@ -380,7 +450,7 @@ class Services(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): T = "t" F = "f" -class ShareAccessTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ShareAccessTier(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium. """ @@ -390,7 +460,7 @@ class ShareAccessTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): COOL = "Cool" PREMIUM = "Premium" -class SignedResource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SignedResource(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s). """ @@ -400,7 +470,7 @@ class SignedResource(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): F = "f" S = "s" -class SignedResourceTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SignedResourceTypes(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files. @@ -410,7 +480,7 @@ class SignedResourceTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): C = "c" O = "o" -class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SkuName(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called accountType. """ @@ -424,29 +494,29 @@ class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): STANDARD_GZRS = "Standard_GZRS" STANDARD_RAGZRS = "Standard_RAGZRS" -class SkuTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SkuTier(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """The SKU tier. This is based on the SKU name. """ STANDARD = "Standard" PREMIUM = "Premium" -class State(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class State(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Gets the state of virtual network rule. """ - PROVISIONING = "provisioning" - DEPROVISIONING = "deprovisioning" - SUCCEEDED = "succeeded" - FAILED = "failed" - NETWORK_SOURCE_DELETED = "networkSourceDeleted" + PROVISIONING = "Provisioning" + DEPROVISIONING = "Deprovisioning" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + NETWORK_SOURCE_DELETED = "NetworkSourceDeleted" -class StorageAccountExpand(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class StorageAccountExpand(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): GEO_REPLICATION_STATS = "geoReplicationStats" BLOB_RESTORE_STATUS = "blobRestoreStatus" -class UsageUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class UsageUnit(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): """Gets the unit of measurement. """ diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/__init__.py similarity index 96% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/__init__.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/__init__.py index bddcf8c8cb3..4c1064ae382 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/aio/operations/__init__.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/__init__.py @@ -16,6 +16,7 @@ from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations from ._private_link_resources_operations import PrivateLinkResourcesOperations from ._object_replication_policies_operations import ObjectReplicationPoliciesOperations +from ._local_users_operations import LocalUsersOperations from ._encryption_scopes_operations import EncryptionScopesOperations from ._blob_services_operations import BlobServicesOperations from ._blob_containers_operations import BlobContainersOperations @@ -37,6 +38,7 @@ 'PrivateEndpointConnectionsOperations', 'PrivateLinkResourcesOperations', 'ObjectReplicationPoliciesOperations', + 'LocalUsersOperations', 'EncryptionScopesOperations', 'BlobServicesOperations', 'BlobContainersOperations', diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_containers_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_containers_operations.py new file mode 100644 index 00000000000..2880c2b81dd --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_containers_operations.py @@ -0,0 +1,1719 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + maxpagesize: Optional[str] = None, + filter: Optional[str] = None, + include: Optional[Union[str, "_models.ListContainersInclude"]] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if maxpagesize is not None: + query_parameters['$maxpagesize'] = _SERIALIZER.query("maxpagesize", maxpagesize, 'str') + if filter is not None: + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + if include is not None: + query_parameters['$include'] = _SERIALIZER.query("include", include, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_set_legal_hold_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_clear_legal_hold_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_create_or_update_immutability_policy_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + if_match: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + immutability_policy_name = "default" + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "immutabilityPolicyName": _SERIALIZER.url("immutability_policy_name", immutability_policy_name, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = _SERIALIZER.header("if_match", if_match, 'str') + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_immutability_policy_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + if_match: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + immutability_policy_name = "default" + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "immutabilityPolicyName": _SERIALIZER.url("immutability_policy_name", immutability_policy_name, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = _SERIALIZER.header("if_match", if_match, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_immutability_policy_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + if_match: str, + **kwargs: Any +) -> HttpRequest: + immutability_policy_name = "default" + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "immutabilityPolicyName": _SERIALIZER.url("immutability_policy_name", immutability_policy_name, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['If-Match'] = _SERIALIZER.header("if_match", if_match, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_lock_immutability_policy_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + if_match: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['If-Match'] = _SERIALIZER.header("if_match", if_match, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_extend_immutability_policy_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + if_match: str, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['If-Match'] = _SERIALIZER.header("if_match", if_match, 'str') + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_lease_request( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_object_level_worm_request_initial( + resource_group_name: str, + account_name: str, + container_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/migrate') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "containerName": _SERIALIZER.url("container_name", container_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class BlobContainersOperations(object): + """BlobContainersOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + maxpagesize: Optional[str] = None, + filter: Optional[str] = None, + include: Optional[Union[str, "_models.ListContainersInclude"]] = None, + **kwargs: Any + ) -> Iterable["_models.ListContainerItems"]: + """Lists all containers and does not support a prefix like data plane. Also SRP today does not + return continuation token. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param maxpagesize: Optional. Specified maximum number of containers that can be included in + the list. + :type maxpagesize: str + :param filter: Optional. When specified, only container names starting with the filter will be + listed. + :type filter: str + :param include: Optional, used to include the properties for soft deleted blob containers. + :type include: str or ~azure.mgmt.storage.v2021_08_01.models.ListContainersInclude + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListContainerItems or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.ListContainerItems] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListContainerItems"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + include=include, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + include=include, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ListContainerItems", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers'} # type: ignore + + @distributed_trace + def create( + self, + resource_group_name: str, + account_name: str, + container_name: str, + blob_container: "_models.BlobContainer", + **kwargs: Any + ) -> "_models.BlobContainer": + """Creates a new container under the specified account as described by request body. The container + resource includes metadata and properties for that container. It does not include a list of the + blobs contained by the container. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param blob_container: Properties of the blob container to create. + :type blob_container: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlobContainer, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(blob_container, 'BlobContainer') + + request = build_create_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BlobContainer', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('BlobContainer', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore + + + @distributed_trace + def update( + self, + resource_group_name: str, + account_name: str, + container_name: str, + blob_container: "_models.BlobContainer", + **kwargs: Any + ) -> "_models.BlobContainer": + """Updates container properties as specified in request body. Properties not mentioned in the + request will be unchanged. Update fails if the specified container doesn't already exist. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param blob_container: Properties to update for the blob container. + :type blob_container: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlobContainer, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(blob_container, 'BlobContainer') + + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BlobContainer', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + container_name: str, + **kwargs: Any + ) -> "_models.BlobContainer": + """Gets properties of a specified container. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlobContainer, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobContainer + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobContainer"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BlobContainer', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + container_name: str, + **kwargs: Any + ) -> None: + """Deletes specified container under its account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}'} # type: ignore + + + @distributed_trace + def set_legal_hold( + self, + resource_group_name: str, + account_name: str, + container_name: str, + legal_hold: "_models.LegalHold", + **kwargs: Any + ) -> "_models.LegalHold": + """Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold + follows an append pattern and does not clear out the existing tags that are not specified in + the request. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param legal_hold: The LegalHold property that will be set to a blob container. + :type legal_hold: ~azure.mgmt.storage.v2021_08_01.models.LegalHold + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LegalHold, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LegalHold + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LegalHold"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(legal_hold, 'LegalHold') + + request = build_set_legal_hold_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_legal_hold.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('LegalHold', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + set_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold'} # type: ignore + + + @distributed_trace + def clear_legal_hold( + self, + resource_group_name: str, + account_name: str, + container_name: str, + legal_hold: "_models.LegalHold", + **kwargs: Any + ) -> "_models.LegalHold": + """Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent + operation. ClearLegalHold clears out only the specified tags in the request. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param legal_hold: The LegalHold property that will be clear from a blob container. + :type legal_hold: ~azure.mgmt.storage.v2021_08_01.models.LegalHold + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LegalHold, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LegalHold + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LegalHold"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(legal_hold, 'LegalHold') + + request = build_clear_legal_hold_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.clear_legal_hold.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('LegalHold', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + clear_legal_hold.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold'} # type: ignore + + + @distributed_trace + def create_or_update_immutability_policy( + self, + resource_group_name: str, + account_name: str, + container_name: str, + if_match: Optional[str] = None, + parameters: Optional["_models.ImmutabilityPolicy"] = None, + **kwargs: Any + ) -> "_models.ImmutabilityPolicy": + """Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but + not required for this operation. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability policy to update. A value + of "*" can be used to apply the operation only if the immutability policy already exists. If + omitted, this operation will always be applied. + :type if_match: str + :param parameters: The ImmutabilityPolicy Properties that will be created or updated to a blob + container. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ImmutabilityPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + if parameters is not None: + _json = self._serialize.body(parameters, 'ImmutabilityPolicy') + else: + _json = None + + request = build_create_or_update_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + if_match=if_match, + template_url=self.create_or_update_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + + create_or_update_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore + + + @distributed_trace + def get_immutability_policy( + self, + resource_group_name: str, + account_name: str, + container_name: str, + if_match: Optional[str] = None, + **kwargs: Any + ) -> "_models.ImmutabilityPolicy": + """Gets the existing immutability policy along with the corresponding ETag in response headers and + body. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability policy to update. A value + of "*" can be used to apply the operation only if the immutability policy already exists. If + omitted, this operation will always be applied. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ImmutabilityPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + template_url=self.get_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + + get_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore + + + @distributed_trace + def delete_immutability_policy( + self, + resource_group_name: str, + account_name: str, + container_name: str, + if_match: str, + **kwargs: Any + ) -> "_models.ImmutabilityPolicy": + """Aborts an unlocked immutability policy. The response of delete has + immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this + operation. Deleting a locked immutability policy is not allowed, the only way is to delete the + container after deleting all expired blobs inside the policy locked container. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability policy to update. A value + of "*" can be used to apply the operation only if the immutability policy already exists. If + omitted, this operation will always be applied. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ImmutabilityPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_delete_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + template_url=self.delete_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + + delete_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}'} # type: ignore + + + @distributed_trace + def lock_immutability_policy( + self, + resource_group_name: str, + account_name: str, + container_name: str, + if_match: str, + **kwargs: Any + ) -> "_models.ImmutabilityPolicy": + """Sets the ImmutabilityPolicy to Locked state. The only action allowed on a Locked policy is + ExtendImmutabilityPolicy action. ETag in If-Match is required for this operation. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability policy to update. A value + of "*" can be used to apply the operation only if the immutability policy already exists. If + omitted, this operation will always be applied. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ImmutabilityPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_lock_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + if_match=if_match, + template_url=self.lock_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + + lock_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock'} # type: ignore + + + @distributed_trace + def extend_immutability_policy( + self, + resource_group_name: str, + account_name: str, + container_name: str, + if_match: str, + parameters: Optional["_models.ImmutabilityPolicy"] = None, + **kwargs: Any + ) -> "_models.ImmutabilityPolicy": + """Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only + action allowed on a Locked policy will be this action. ETag in If-Match is required for this + operation. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param if_match: The entity state (ETag) version of the immutability policy to update. A value + of "*" can be used to apply the operation only if the immutability policy already exists. If + omitted, this operation will always be applied. + :type if_match: str + :param parameters: The ImmutabilityPolicy Properties that will be extended for a blob + container. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ImmutabilityPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ImmutabilityPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ImmutabilityPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + if parameters is not None: + _json = self._serialize.body(parameters, 'ImmutabilityPolicy') + else: + _json = None + + request = build_extend_immutability_policy_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + if_match=if_match, + json=_json, + template_url=self.extend_immutability_policy.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + + deserialized = self._deserialize('ImmutabilityPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + + extend_immutability_policy.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend'} # type: ignore + + + @distributed_trace + def lease( + self, + resource_group_name: str, + account_name: str, + container_name: str, + parameters: Optional["_models.LeaseContainerRequest"] = None, + **kwargs: Any + ) -> "_models.LeaseContainerResponse": + """The Lease Container operation 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 resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :param parameters: Lease Container request body. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.LeaseContainerRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LeaseContainerResponse, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LeaseContainerResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LeaseContainerResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + if parameters is not None: + _json = self._serialize.body(parameters, 'LeaseContainerRequest') + else: + _json = None + + request = build_lease_request( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.lease.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('LeaseContainerResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + lease.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease'} # type: ignore + + + def _object_level_worm_initial( + self, + resource_group_name: str, + account_name: str, + container_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_object_level_worm_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + subscription_id=self._config.subscription_id, + template_url=self._object_level_worm_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _object_level_worm_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/migrate'} # type: ignore + + + @distributed_trace + def begin_object_level_worm( + self, + resource_group_name: str, + account_name: str, + container_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """This operation migrates a blob container from container level WORM to object level immutability + enabled container. Prerequisites require a container level immutability policy either in locked + or unlocked state, Account level versioning must be enabled and there should be no Legal hold + on the container. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param container_name: The name of the blob container within the specified storage account. + Blob container names must be between 3 and 63 characters in length and use numbers, lower-case + letters and dash (-) only. Every dash (-) character must be immediately preceded and followed + by a letter or number. + :type container_name: str + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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._object_level_worm_initial( + resource_group_name=resource_group_name, + account_name=account_name, + container_name=container_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_object_level_worm.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/migrate'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_inventory_policies_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_inventory_policies_operations.py new file mode 100644 index 00000000000..196432046c2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_inventory_policies_operations.py @@ -0,0 +1,470 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "blobInventoryPolicyName": _SERIALIZER.url("blob_inventory_policy_name", blob_inventory_policy_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "blobInventoryPolicyName": _SERIALIZER.url("blob_inventory_policy_name", blob_inventory_policy_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "blobInventoryPolicyName": _SERIALIZER.url("blob_inventory_policy_name", blob_inventory_policy_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class BlobInventoryPoliciesOperations(object): + """BlobInventoryPoliciesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], + **kwargs: Any + ) -> "_models.BlobInventoryPolicy": + """Gets the blob inventory policy associated with the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It + should always be 'default'. + :type blob_inventory_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlobInventoryPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobInventoryPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + blob_inventory_policy_name=blob_inventory_policy_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BlobInventoryPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + account_name: str, + blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], + properties: "_models.BlobInventoryPolicy", + **kwargs: Any + ) -> "_models.BlobInventoryPolicy": + """Sets the blob inventory policy to the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It + should always be 'default'. + :type blob_inventory_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyName + :param properties: The blob inventory policy set to a storage account. + :type properties: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicy + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlobInventoryPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobInventoryPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(properties, 'BlobInventoryPolicy') + + request = build_create_or_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + blob_inventory_policy_name=blob_inventory_policy_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('BlobInventoryPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + blob_inventory_policy_name: Union[str, "_models.BlobInventoryPolicyName"], + **kwargs: Any + ) -> None: + """Deletes the blob inventory policy associated with the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It + should always be 'default'. + :type blob_inventory_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.BlobInventoryPolicyName + :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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + blob_inventory_policy_name=blob_inventory_policy_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_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.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.ListBlobInventoryPolicy"]: + """Gets the blob inventory policy associated with the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListBlobInventoryPolicy or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.ListBlobInventoryPolicy] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBlobInventoryPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ListBlobInventoryPolicy", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.Storage/storageAccounts/{accountName}/inventoryPolicies'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_services_operations.py new file mode 100644 index 00000000000..f30d58d0217 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_blob_services_operations.py @@ -0,0 +1,362 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_set_service_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + blob_services_name = "default" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "BlobServicesName": _SERIALIZER.url("blob_services_name", blob_services_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_service_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + blob_services_name = "default" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "BlobServicesName": _SERIALIZER.url("blob_services_name", blob_services_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class BlobServicesOperations(object): + """BlobServicesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.BlobServiceItems"]: + """List blob services of storage account. It returns a collection of one object named default. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either BlobServiceItems or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.BlobServiceItems] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceItems"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("BlobServiceItems", 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices'} # type: ignore + + @distributed_trace + def set_service_properties( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.BlobServiceProperties", + **kwargs: Any + ) -> "_models.BlobServiceProperties": + """Sets the properties of a storage account’s Blob service, including properties for Storage + Analytics and CORS (Cross-Origin Resource Sharing) rules. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The properties of a storage account’s Blob service, including properties for + Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.BlobServiceProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlobServiceProperties, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobServiceProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'BlobServiceProperties') + + request = build_set_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BlobServiceProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'} # type: ignore + + + @distributed_trace + def get_service_properties( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.BlobServiceProperties": + """Gets the properties of a storage account’s Blob service, including properties for Storage + Analytics and CORS (Cross-Origin Resource Sharing) rules. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: BlobServiceProperties, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.BlobServiceProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobServiceProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.get_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('BlobServiceProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_deleted_accounts_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_deleted_accounts_operations.py new file mode 100644 index 00000000000..cde710d97c0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_deleted_accounts_operations.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. +# -------------------------------------------------------------------------- +import functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/deletedAccounts') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + deleted_account_name: str, + location: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}') + path_format_arguments = { + "deletedAccountName": _SERIALIZER.url("deleted_account_name", deleted_account_name, 'str', max_length=24, min_length=3), + "location": _SERIALIZER.url("location", location, 'str'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class DeletedAccountsOperations(object): + """DeletedAccountsOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.DeletedAccountListResult"]: + """Lists deleted accounts under the subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DeletedAccountListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.DeletedAccountListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeletedAccountListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("DeletedAccountListResult", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.Storage/deletedAccounts'} # type: ignore + + @distributed_trace + def get( + self, + deleted_account_name: str, + location: str, + **kwargs: Any + ) -> "_models.DeletedAccount": + """Get properties of specified deleted account resource. + + :param deleted_account_name: Name of the deleted storage account. + :type deleted_account_name: str + :param location: The location of the deleted storage account. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DeletedAccount, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.DeletedAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.DeletedAccount"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + deleted_account_name=deleted_account_name, + location=location, + subscription_id=self._config.subscription_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DeletedAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_encryption_scopes_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_encryption_scopes_operations.py new file mode 100644 index 00000000000..99cf9669587 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_encryption_scopes_operations.py @@ -0,0 +1,500 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_put_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + encryption_scope_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "encryptionScopeName": _SERIALIZER.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_patch_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + encryption_scope_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "encryptionScopeName": _SERIALIZER.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + encryption_scope_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "encryptionScopeName": _SERIALIZER.url("encryption_scope_name", encryption_scope_name, 'str', max_length=63, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class EncryptionScopesOperations(object): + """EncryptionScopesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def put( + self, + resource_group_name: str, + account_name: str, + encryption_scope_name: str, + encryption_scope: "_models.EncryptionScope", + **kwargs: Any + ) -> "_models.EncryptionScope": + """Synchronously creates or updates an encryption scope under the specified storage account. If an + encryption scope is already created and a subsequent request is issued with different + properties, the encryption scope properties will be updated per the specified request. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param encryption_scope_name: The name of the encryption scope within the specified storage + account. Encryption scope names must be between 3 and 63 characters in length and use numbers, + lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type encryption_scope_name: str + :param encryption_scope: Encryption scope properties to be used for the create or update. + :type encryption_scope: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EncryptionScope, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(encryption_scope, 'EncryptionScope') + + request = build_put_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + encryption_scope_name=encryption_scope_name, + content_type=content_type, + json=_json, + template_url=self.put.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('EncryptionScope', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('EncryptionScope', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore + + + @distributed_trace + def patch( + self, + resource_group_name: str, + account_name: str, + encryption_scope_name: str, + encryption_scope: "_models.EncryptionScope", + **kwargs: Any + ) -> "_models.EncryptionScope": + """Update encryption scope properties as specified in the request body. Update fails if the + specified encryption scope does not already exist. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param encryption_scope_name: The name of the encryption scope within the specified storage + account. Encryption scope names must be between 3 and 63 characters in length and use numbers, + lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type encryption_scope_name: str + :param encryption_scope: Encryption scope properties to be used for the update. + :type encryption_scope: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EncryptionScope, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(encryption_scope, 'EncryptionScope') + + request = build_patch_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + encryption_scope_name=encryption_scope_name, + content_type=content_type, + json=_json, + template_url=self.patch.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('EncryptionScope', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + patch.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + encryption_scope_name: str, + **kwargs: Any + ) -> "_models.EncryptionScope": + """Returns the properties for the specified encryption scope. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param encryption_scope_name: The name of the encryption scope within the specified storage + account. Encryption scope names must be between 3 and 63 characters in length and use numbers, + lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and + followed by a letter or number. + :type encryption_scope_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: EncryptionScope, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.EncryptionScope + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScope"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + encryption_scope_name=encryption_scope_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('EncryptionScope', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.EncryptionScopeListResult"]: + """Lists all the encryption scopes available under the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either EncryptionScopeListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.EncryptionScopeListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.EncryptionScopeListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("EncryptionScopeListResult", 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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_file_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_file_services_operations.py new file mode 100644 index 00000000000..a1bcc6d83fa --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_file_services_operations.py @@ -0,0 +1,342 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_set_service_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + file_services_name = "default" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "FileServicesName": _SERIALIZER.url("file_services_name", file_services_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_service_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + file_services_name = "default" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "FileServicesName": _SERIALIZER.url("file_services_name", file_services_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class FileServicesOperations(object): + """FileServicesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.FileServiceItems": + """List all file services in storage accounts. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileServiceItems, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileServiceItems + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceItems"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileServiceItems', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices'} # type: ignore + + + @distributed_trace + def set_service_properties( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.FileServiceProperties", + **kwargs: Any + ) -> "_models.FileServiceProperties": + """Sets the properties of file services in storage accounts, including CORS (Cross-Origin Resource + Sharing) rules. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The properties of file services in storage accounts, including CORS + (Cross-Origin Resource Sharing) rules. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.FileServiceProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileServiceProperties, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileServiceProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'FileServiceProperties') + + request = build_set_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileServiceProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'} # type: ignore + + + @distributed_trace + def get_service_properties( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.FileServiceProperties": + """Gets the properties of file services in storage accounts, including CORS (Cross-Origin Resource + Sharing) rules. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileServiceProperties, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileServiceProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileServiceProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.get_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileServiceProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_file_shares_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_file_shares_operations.py new file mode 100644 index 00000000000..bc7a53301d4 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_file_shares_operations.py @@ -0,0 +1,908 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + maxpagesize: Optional[str] = None, + filter: Optional[str] = None, + expand: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if maxpagesize is not None: + query_parameters['$maxpagesize'] = _SERIALIZER.query("maxpagesize", maxpagesize, 'str') + if filter is not None: + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + if expand is not None: + query_parameters['$expand'] = _SERIALIZER.query("expand", expand, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_request( + resource_group_name: str, + account_name: str, + share_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + expand: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "shareName": _SERIALIZER.url("share_name", share_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_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 expand is not None: + query_parameters['$expand'] = _SERIALIZER.query("expand", expand, 'str') + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request( + resource_group_name: str, + account_name: str, + share_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "shareName": _SERIALIZER.url("share_name", share_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + resource_group_name: str, + account_name: str, + share_name: str, + subscription_id: str, + *, + expand: Optional[str] = None, + x_ms_snapshot: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "shareName": _SERIALIZER.url("share_name", share_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = _SERIALIZER.query("expand", expand, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if x_ms_snapshot is not None: + header_parameters['x-ms-snapshot'] = _SERIALIZER.header("x_ms_snapshot", x_ms_snapshot, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + share_name: str, + subscription_id: str, + *, + x_ms_snapshot: Optional[str] = None, + include: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "shareName": _SERIALIZER.url("share_name", share_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if include is not None: + query_parameters['$include'] = _SERIALIZER.query("include", include, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if x_ms_snapshot is not None: + header_parameters['x-ms-snapshot'] = _SERIALIZER.header("x_ms_snapshot", x_ms_snapshot, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_restore_request( + resource_group_name: str, + account_name: str, + share_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "shareName": _SERIALIZER.url("share_name", share_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_lease_request( + resource_group_name: str, + account_name: str, + share_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + x_ms_snapshot: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/lease') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "shareName": _SERIALIZER.url("share_name", share_name, 'str', max_length=63, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if x_ms_snapshot is not None: + header_parameters['x-ms-snapshot'] = _SERIALIZER.header("x_ms_snapshot", x_ms_snapshot, 'str') + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + +class FileSharesOperations(object): + """FileSharesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + maxpagesize: Optional[str] = None, + filter: Optional[str] = None, + expand: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.FileShareItems"]: + """Lists all shares. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param maxpagesize: Optional. Specified maximum number of shares that can be included in the + list. + :type maxpagesize: str + :param filter: Optional. When specified, only share names starting with the filter will be + listed. + :type filter: str + :param expand: Optional, used to expand the properties within share's properties. Valid values + are: deleted, snapshots. Should be passed as a string with delimiter ','. + :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 FileShareItems or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.FileShareItems] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShareItems"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + expand=expand, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + expand=expand, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("FileShareItems", 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + 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.Storage/storageAccounts/{accountName}/fileServices/default/shares'} # type: ignore + + @distributed_trace + def create( + self, + resource_group_name: str, + account_name: str, + share_name: str, + file_share: "_models.FileShare", + expand: Optional[str] = None, + **kwargs: Any + ) -> "_models.FileShare": + """Creates a new share under the specified account as described by request body. The share + resource includes metadata and properties for that share. It does not include a list of the + files contained by the share. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified storage account. File share + names must be between 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter + or number. + :type share_name: str + :param file_share: Properties of the file share to create. + :type file_share: ~azure.mgmt.storage.v2021_08_01.models.FileShare + :param expand: Optional, used to expand the properties within share's properties. Valid values + are: snapshots. Should be passed as a string with delimiter ','. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileShare, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileShare + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(file_share, 'FileShare') + + request = build_create_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + expand=expand, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('FileShare', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('FileShare', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore + + + @distributed_trace + def update( + self, + resource_group_name: str, + account_name: str, + share_name: str, + file_share: "_models.FileShare", + **kwargs: Any + ) -> "_models.FileShare": + """Updates share properties as specified in request body. Properties not mentioned in the request + will not be changed. Update fails if the specified share does not already exist. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified storage account. File share + names must be between 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter + or number. + :type share_name: str + :param file_share: Properties to update for the file share. + :type file_share: ~azure.mgmt.storage.v2021_08_01.models.FileShare + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileShare, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileShare + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(file_share, 'FileShare') + + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileShare', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + share_name: str, + expand: Optional[str] = None, + x_ms_snapshot: Optional[str] = None, + **kwargs: Any + ) -> "_models.FileShare": + """Gets properties of a specified share. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified storage account. File share + names must be between 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter + or number. + :type share_name: str + :param expand: Optional, used to expand the properties within share's properties. Valid values + are: stats. Should be passed as a string with delimiter ','. + :type expand: str + :param x_ms_snapshot: Optional, used to retrieve properties of a snapshot. + :type x_ms_snapshot: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FileShare, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.FileShare + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileShare"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + expand=expand, + x_ms_snapshot=x_ms_snapshot, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('FileShare', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + share_name: str, + x_ms_snapshot: Optional[str] = None, + include: Optional[str] = None, + **kwargs: Any + ) -> None: + """Deletes specified share under its account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified storage account. File share + names must be between 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter + or number. + :type share_name: str + :param x_ms_snapshot: Optional, used to delete a snapshot. + :type x_ms_snapshot: str + :param include: Optional. Valid values are: snapshots, leased-snapshots, none. The default + value is snapshots. For 'snapshots', the file share is deleted including all of its file share + snapshots. If the file share contains leased-snapshots, the deletion fails. For + 'leased-snapshots', the file share is deleted included all of its file share snapshots + (leased/unleased). For 'none', the file share is deleted if it has no share snapshots. If the + file share contains any snapshots (leased or unleased), the deletion fails. + :type include: 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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + x_ms_snapshot=x_ms_snapshot, + include=include, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_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.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}'} # type: ignore + + + @distributed_trace + def restore( + self, + resource_group_name: str, + account_name: str, + share_name: str, + deleted_share: "_models.DeletedShare", + **kwargs: Any + ) -> None: + """Restore a file share within a valid retention days if share soft delete is enabled. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified storage account. File share + names must be between 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter + or number. + :type share_name: str + :param deleted_share: + :type deleted_share: ~azure.mgmt.storage.v2021_08_01.models.DeletedShare + :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_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(deleted_share, 'DeletedShare') + + request = build_restore_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.restore.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + restore.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore'} # type: ignore + + + @distributed_trace + def lease( + self, + resource_group_name: str, + account_name: str, + share_name: str, + x_ms_snapshot: Optional[str] = None, + parameters: Optional["_models.LeaseShareRequest"] = None, + **kwargs: Any + ) -> "_models.LeaseShareResponse": + """The Lease Share operation establishes and manages a lock on a share for delete operations. The + lock duration can be 15 to 60 seconds, or can be infinite. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param share_name: The name of the file share within the specified storage account. File share + names must be between 3 and 63 characters in length and use numbers, lower-case letters and + dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter + or number. + :type share_name: str + :param x_ms_snapshot: Optional. Specify the snapshot time to lease a snapshot. + :type x_ms_snapshot: str + :param parameters: Lease Share request body. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.LeaseShareRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LeaseShareResponse, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LeaseShareResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LeaseShareResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + if parameters is not None: + _json = self._serialize.body(parameters, 'LeaseShareRequest') + else: + _json = None + + request = build_lease_request( + resource_group_name=resource_group_name, + account_name=account_name, + share_name=share_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + x_ms_snapshot=x_ms_snapshot, + template_url=self.lease.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + + deserialized = self._deserialize('LeaseShareResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + + lease.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/lease'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_local_users_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_local_users_operations.py new file mode 100644 index 00000000000..46471e801f5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_local_users_operations.py @@ -0,0 +1,636 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + username: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "username": _SERIALIZER.url("username", username, 'str', max_length=64, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + username: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "username": _SERIALIZER.url("username", username, 'str', max_length=64, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + username: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "username": _SERIALIZER.url("username", username, 'str', max_length=64, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_keys_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + username: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/listKeys') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "username": _SERIALIZER.url("username", username, 'str', max_length=64, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_regenerate_password_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + username: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/regeneratePassword') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "username": _SERIALIZER.url("username", username, 'str', max_length=64, min_length=3), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class LocalUsersOperations(object): + """LocalUsersOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.LocalUsers": + """List the local users associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUsers, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUsers + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUsers"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUsers', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + username: str, + **kwargs: Any + ) -> "_models.LocalUser": + """Get the local user of the storage account by username. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUser, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUser + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUser"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUser', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + account_name: str, + username: str, + properties: "_models.LocalUser", + **kwargs: Any + ) -> "_models.LocalUser": + """Create or update the properties of a local user associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: str + :param properties: The local user associated with a storage account. + :type properties: ~azure.mgmt.storage.v2021_08_01.models.LocalUser + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUser, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUser + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUser"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(properties, 'LocalUser') + + request = build_create_or_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUser', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + username: str, + **kwargs: Any + ) -> None: + """Deletes the local user associated with the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: 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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_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.Storage/storageAccounts/{accountName}/localUsers/{username}'} # type: ignore + + + @distributed_trace + def list_keys( + self, + resource_group_name: str, + account_name: str, + username: str, + **kwargs: Any + ) -> "_models.LocalUserKeys": + """List SSH authorized keys and shared key of the local user. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUserKeys, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUserKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUserKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_keys_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + template_url=self.list_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUserKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/listKeys'} # type: ignore + + + @distributed_trace + def regenerate_password( + self, + resource_group_name: str, + account_name: str, + username: str, + **kwargs: Any + ) -> "_models.LocalUserRegeneratePasswordResult": + """Regenerate the local user SSH password. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param username: The name of local user. The username must contain lowercase letters and + numbers only. It must be unique only within the storage account. + :type username: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LocalUserRegeneratePasswordResult, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.LocalUserRegeneratePasswordResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.LocalUserRegeneratePasswordResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_regenerate_password_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + username=username, + template_url=self.regenerate_password.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LocalUserRegeneratePasswordResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + regenerate_password.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/regeneratePassword'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_management_policies_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_management_policies_operations.py new file mode 100644 index 00000000000..6305a18ad0d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_management_policies_operations.py @@ -0,0 +1,346 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_get_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + management_policy_name: Union[str, "_models.ManagementPolicyName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "managementPolicyName": _SERIALIZER.url("management_policy_name", management_policy_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + management_policy_name: Union[str, "_models.ManagementPolicyName"], + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "managementPolicyName": _SERIALIZER.url("management_policy_name", management_policy_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + management_policy_name: Union[str, "_models.ManagementPolicyName"], + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "managementPolicyName": _SERIALIZER.url("management_policy_name", management_policy_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + +class ManagementPoliciesOperations(object): + """ManagementPoliciesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + management_policy_name: Union[str, "_models.ManagementPolicyName"], + **kwargs: Any + ) -> "_models.ManagementPolicy": + """Gets the managementpolicy associated with the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param management_policy_name: The name of the Storage Account Management Policy. It should + always be 'default'. + :type management_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagementPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagementPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + management_policy_name=management_policy_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ManagementPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + account_name: str, + management_policy_name: Union[str, "_models.ManagementPolicyName"], + properties: "_models.ManagementPolicy", + **kwargs: Any + ) -> "_models.ManagementPolicy": + """Sets the managementpolicy to the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param management_policy_name: The name of the Storage Account Management Policy. It should + always be 'default'. + :type management_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyName + :param properties: The ManagementPolicy set to a storage account. + :type properties: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicy + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagementPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ManagementPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(properties, 'ManagementPolicy') + + request = build_create_or_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + management_policy_name=management_policy_name, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ManagementPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + management_policy_name: Union[str, "_models.ManagementPolicyName"], + **kwargs: Any + ) -> None: + """Deletes the managementpolicy associated with the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param management_policy_name: The name of the Storage Account Management Policy. It should + always be 'default'. + :type management_policy_name: str or + ~azure.mgmt.storage.v2021_08_01.models.ManagementPolicyName + :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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + management_policy_name=management_policy_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_object_replication_policies_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_object_replication_policies_operations.py new file mode 100644 index 00000000000..cc6cfe89b12 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_object_replication_policies_operations.py @@ -0,0 +1,474 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + object_replication_policy_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "objectReplicationPolicyId": _SERIALIZER.url("object_replication_policy_id", object_replication_policy_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_create_or_update_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + object_replication_policy_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "objectReplicationPolicyId": _SERIALIZER.url("object_replication_policy_id", object_replication_policy_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + object_replication_policy_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "objectReplicationPolicyId": _SERIALIZER.url("object_replication_policy_id", object_replication_policy_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class ObjectReplicationPoliciesOperations(object): + """ObjectReplicationPoliciesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.ObjectReplicationPolicies"]: + """List the object replication policies associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ObjectReplicationPolicies or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicies] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicies"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ObjectReplicationPolicies", 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) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, pipeline_response) + 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.Storage/storageAccounts/{accountName}/objectReplicationPolicies'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + object_replication_policy_id: str, + **kwargs: Any + ) -> "_models.ObjectReplicationPolicy": + """Get the object replication policy of the storage account by policy ID. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param object_replication_policy_id: For the destination account, provide the value 'default'. + Configure the policy on the destination account first. For the source account, provide the + value of the policy ID that is returned when you download the policy that was defined on the + destination account. The policy is downloaded as a JSON file. + :type object_replication_policy_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ObjectReplicationPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + object_replication_policy_id=object_replication_policy_id, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ObjectReplicationPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore + + + @distributed_trace + def create_or_update( + self, + resource_group_name: str, + account_name: str, + object_replication_policy_id: str, + properties: "_models.ObjectReplicationPolicy", + **kwargs: Any + ) -> "_models.ObjectReplicationPolicy": + """Create or update the object replication policy of the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param object_replication_policy_id: For the destination account, provide the value 'default'. + Configure the policy on the destination account first. For the source account, provide the + value of the policy ID that is returned when you download the policy that was defined on the + destination account. The policy is downloaded as a JSON file. + :type object_replication_policy_id: str + :param properties: The object replication policy set to a storage account. A unique policy ID + will be created if absent. + :type properties: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ObjectReplicationPolicy, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ObjectReplicationPolicy + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ObjectReplicationPolicy"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(properties, 'ObjectReplicationPolicy') + + request = build_create_or_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + object_replication_policy_id=object_replication_policy_id, + content_type=content_type, + json=_json, + template_url=self.create_or_update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ObjectReplicationPolicy', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + object_replication_policy_id: str, + **kwargs: Any + ) -> None: + """Deletes the object replication policy associated with the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param object_replication_policy_id: For the destination account, provide the value 'default'. + Configure the policy on the destination account first. For the source account, provide the + value of the policy ID that is returned when you download the policy that was defined on the + destination account. The policy is downloaded as a JSON file. + :type object_replication_policy_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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + object_replication_policy_id=object_replication_policy_id, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_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.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_operations.py new file mode 100644 index 00000000000..1e11486587f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_operations.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/providers/Microsoft.Storage/operations') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.OperationListResult"]: + """Lists all of the available Storage Rest API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResult or the result of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.OperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("OperationListResult", 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.metadata = {'url': '/providers/Microsoft.Storage/operations'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_private_endpoint_connections_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_private_endpoint_connections_operations.py new file mode 100644 index 00000000000..1a9f1098e92 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,466 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + private_endpoint_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_put_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + private_endpoint_connection_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + private_endpoint_connection_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "privateEndpointConnectionName": _SERIALIZER.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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: ~azure.mgmt.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.PrivateEndpointConnectionListResult"]: + """List all the private endpoint connections associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateEndpointConnectionListResult or the result + of cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnectionListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnectionListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("PrivateEndpointConnectionListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections'} # type: ignore + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Gets the specified private endpoint connection associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection associated + with the Azure resource. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + + @distributed_trace + def put( + self, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + properties: "_models.PrivateEndpointConnection", + **kwargs: Any + ) -> "_models.PrivateEndpointConnection": + """Update the state of specified private endpoint connection associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection associated + with the Azure resource. + :type private_endpoint_connection_name: str + :param properties: The private endpoint connection properties. + :type properties: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnection, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.PrivateEndpointConnection + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateEndpointConnection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(properties, 'PrivateEndpointConnection') + + request = build_put_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + private_endpoint_connection_name=private_endpoint_connection_name, + content_type=content_type, + json=_json, + template_url=self.put.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateEndpointConnection', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + put.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + private_endpoint_connection_name: str, + **kwargs: Any + ) -> None: + """Deletes the specified private endpoint connection associated with the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param private_endpoint_connection_name: The name of the private endpoint connection associated + with the Azure resource. + :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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + private_endpoint_connection_name=private_endpoint_connection_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, pipeline_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.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_private_link_resources_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_private_link_resources_operations.py new file mode 100644 index 00000000000..64acdd991c8 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_private_link_resources_operations.py @@ -0,0 +1,136 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_storage_account_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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: ~azure.mgmt.storage.v2021_08_01.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 + + @distributed_trace + def list_by_storage_account( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.PrivateLinkResourceListResult": + """Gets the private link resources that need to be created for a storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResourceListResult, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.PrivateLinkResourceListResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PrivateLinkResourceListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_by_storage_account_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list_by_storage_account.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('PrivateLinkResourceListResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_by_storage_account.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_queue_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_queue_operations.py new file mode 100644 index 00000000000..1d9a1e46103 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_queue_operations.py @@ -0,0 +1,606 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + queue_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "queueName": _SERIALIZER.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_update_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + queue_name: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "queueName": _SERIALIZER.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + queue_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "queueName": _SERIALIZER.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + queue_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "queueName": _SERIALIZER.url("queue_name", queue_name, 'str', max_length=63, min_length=3, pattern=r'^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + maxpagesize: Optional[str] = None, + filter: Optional[str] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if maxpagesize is not None: + query_parameters['$maxpagesize'] = _SERIALIZER.query("maxpagesize", maxpagesize, 'str') + if filter is not None: + query_parameters['$filter'] = _SERIALIZER.query("filter", filter, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class QueueOperations(object): + """QueueOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def create( + self, + resource_group_name: str, + account_name: str, + queue_name: str, + queue: "_models.StorageQueue", + **kwargs: Any + ) -> "_models.StorageQueue": + """Creates a new queue with the specified queue name, under the specified account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param queue_name: A queue name must be unique within a storage account and must be between 3 + and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, + it should begin and end with an alphanumeric character and it cannot have two consecutive + dash(-) characters. + :type queue_name: str + :param queue: Queue properties and metadata to be created with. + :type queue: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageQueue, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(queue, 'StorageQueue') + + request = build_create_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + queue_name=queue_name, + content_type=content_type, + json=_json, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('StorageQueue', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore + + + @distributed_trace + def update( + self, + resource_group_name: str, + account_name: str, + queue_name: str, + queue: "_models.StorageQueue", + **kwargs: Any + ) -> "_models.StorageQueue": + """Creates a new queue with the specified queue name, under the specified account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param queue_name: A queue name must be unique within a storage account and must be between 3 + and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, + it should begin and end with an alphanumeric character and it cannot have two consecutive + dash(-) characters. + :type queue_name: str + :param queue: Queue properties and metadata to be created with. + :type queue: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageQueue, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(queue, 'StorageQueue') + + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + queue_name=queue_name, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('StorageQueue', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + queue_name: str, + **kwargs: Any + ) -> "_models.StorageQueue": + """Gets the queue with the specified queue name, under the specified account if it exists. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param queue_name: A queue name must be unique within a storage account and must be between 3 + and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, + it should begin and end with an alphanumeric character and it cannot have two consecutive + dash(-) characters. + :type queue_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageQueue, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageQueue + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageQueue"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + queue_name=queue_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('StorageQueue', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + queue_name: str, + **kwargs: Any + ) -> None: + """Deletes the queue with the specified queue name, under the specified account if it exists. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param queue_name: A queue name must be unique within a storage account and must be between 3 + and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, + it should begin and end with an alphanumeric character and it cannot have two consecutive + dash(-) characters. + :type queue_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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + queue_name=queue_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_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.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + maxpagesize: Optional[str] = None, + filter: Optional[str] = None, + **kwargs: Any + ) -> Iterable["_models.ListQueueResource"]: + """Gets a list of all the queues under the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param maxpagesize: Optional, a maximum number of queues that should be included in a list + queue response. + :type maxpagesize: str + :param filter: Optional, When specified, only the queues with a name starting with the given + filter will be listed. + :type filter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListQueueResource or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.ListQueueResource] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListQueueResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + maxpagesize=maxpagesize, + filter=filter, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ListQueueResource", 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + 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.Storage/storageAccounts/{accountName}/queueServices/default/queues'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_queue_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_queue_services_operations.py new file mode 100644 index 00000000000..248c0e7b94d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_queue_services_operations.py @@ -0,0 +1,342 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_set_service_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + queue_service_name = "default" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "queueServiceName": _SERIALIZER.url("queue_service_name", queue_service_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_service_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + queue_service_name = "default" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "queueServiceName": _SERIALIZER.url("queue_service_name", queue_service_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class QueueServicesOperations(object): + """QueueServicesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.ListQueueServices": + """List all queue services for the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListQueueServices, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ListQueueServices + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListQueueServices"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ListQueueServices', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices'} # type: ignore + + + @distributed_trace + def set_service_properties( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.QueueServiceProperties", + **kwargs: Any + ) -> "_models.QueueServiceProperties": + """Sets the properties of a storage account’s Queue service, including properties for Storage + Analytics and CORS (Cross-Origin Resource Sharing) rules. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The properties of a storage account’s Queue service, only properties for + Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.QueueServiceProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueueServiceProperties, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.QueueServiceProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.QueueServiceProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'QueueServiceProperties') + + request = build_set_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueueServiceProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}'} # type: ignore + + + @distributed_trace + def get_service_properties( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.QueueServiceProperties": + """Gets the properties of a storage account’s Queue service, including properties for Storage + Analytics and CORS (Cross-Origin Resource Sharing) rules. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueueServiceProperties, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.QueueServiceProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.QueueServiceProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.get_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('QueueServiceProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_skus_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_skus_operations.py new file mode 100644 index 00000000000..62404d42c94 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_skus_operations.py @@ -0,0 +1,144 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.StorageSkuListResult"]: + """Lists the available SKUs supported by Microsoft.Storage for given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StorageSkuListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.StorageSkuListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageSkuListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("StorageSkuListResult", 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.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_storage_accounts_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_storage_accounts_operations.py new file mode 100644 index 00000000000..f9433cf120c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_storage_accounts_operations.py @@ -0,0 +1,1883 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union +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 HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_check_name_availability_request( + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_create_request_initial( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_get_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + expand: Optional[Union[str, "_models.StorageAccountExpand"]] = None, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = _SERIALIZER.query("expand", expand, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_request( + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_by_resource_group_request( + resource_group_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_keys_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + expand: Optional[str] = "kerb", + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = _SERIALIZER.query("expand", expand, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_regenerate_key_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_account_sas_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_list_service_sas_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_failover_request_initial( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_hierarchical_namespace_migration_request_initial( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + request_type: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + query_parameters['requestType'] = _SERIALIZER.query("request_type", request_type, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_abort_hierarchical_namespace_migration_request_initial( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_restore_blob_ranges_request_initial( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_revoke_user_delegation_keys_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + **kwargs + ) + +class StorageAccountsOperations(object): + """StorageAccountsOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def check_name_availability( + self, + account_name: "_models.StorageAccountCheckNameAvailabilityParameters", + **kwargs: Any + ) -> "_models.CheckNameAvailabilityResult": + """Checks that the storage account name is valid and is not already in use. + + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountCheckNameAvailabilityParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CheckNameAvailabilityResult, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.CheckNameAvailabilityResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CheckNameAvailabilityResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(account_name, 'StorageAccountCheckNameAvailabilityParameters') + + request = build_check_name_availability_request( + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.check_name_availability.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('CheckNameAvailabilityResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + check_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability'} # type: ignore + + + def _create_initial( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.StorageAccountCreateParameters", + **kwargs: Any + ) -> Optional["_models.StorageAccount"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.StorageAccount"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'StorageAccountCreateParameters') + + request = build_create_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self._create_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StorageAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + + + @distributed_trace + def begin_create( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.StorageAccountCreateParameters", + **kwargs: Any + ) -> LROPoller["_models.StorageAccount"]: + """Asynchronously creates a new storage account with the specified parameters. If an account is + already created and a subsequent create request is issued with different properties, the + account properties will be updated. If an account is already created and a subsequent create or + update request is issued with the exact same set of properties, the request will succeed. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide for the created account. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.StorageAccountCreateParameters + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 StorageAccount or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2021_08_01.models.StorageAccount] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] + 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, + account_name=account_name, + parameters=parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('StorageAccount', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, **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.Storage/storageAccounts/{accountName}'} # type: ignore + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + """Deletes a storage account in Microsoft Azure. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.Storage/storageAccounts/{accountName}'} # type: ignore + + + @distributed_trace + def get_properties( + self, + resource_group_name: str, + account_name: str, + expand: Optional[Union[str, "_models.StorageAccountExpand"]] = None, + **kwargs: Any + ) -> "_models.StorageAccount": + """Returns the properties for the specified storage account including but not limited to name, SKU + name, location, and account status. The ListKeys operation should be used to retrieve storage + keys. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param expand: May be used to expand the properties within account's properties. By default, + data is not included when fetching properties. Currently we only support geoReplicationStats + and blobRestoreStatus. + :type expand: str or ~azure.mgmt.storage.v2021_08_01.models.StorageAccountExpand + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageAccount, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + expand=expand, + template_url=self.get_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StorageAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + + + @distributed_trace + def update( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.StorageAccountUpdateParameters", + **kwargs: Any + ) -> "_models.StorageAccount": + """The update operation can be used to update the SKU, encryption, access tier, or tags for a + storage account. It can also be used to map the account to a custom domain. Only one custom + domain is supported per storage account; the replacement/change of custom domain is not + supported. In order to replace an old custom domain, the old value must be cleared/unregistered + before a new value can be set. The update of multiple properties is supported. This call does + not change the storage keys for the account. If you want to change the storage account keys, + use the regenerate keys operation. The location and name of the storage account cannot be + changed after creation. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide for the updated account. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.StorageAccountUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageAccount, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageAccount + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccount"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'StorageAccountUpdateParameters') + + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StorageAccount', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}'} # type: ignore + + + @distributed_trace + def list( + self, + **kwargs: Any + ) -> Iterable["_models.StorageAccountListResult"]: + """Lists all the storage accounts available under the subscription. Note that storage keys are not + returned; use the ListKeys operation for this. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StorageAccountListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.StorageAccountListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("StorageAccountListResult", 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.Storage/storageAccounts'} # type: ignore + + @distributed_trace + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs: Any + ) -> Iterable["_models.StorageAccountListResult"]: + """Lists all the storage accounts available under the given resource group. Note that storage keys + are not returned; use the ListKeys operation for this. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StorageAccountListResult or the result of + cls(response) + :rtype: + ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.StorageAccountListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + template_url=self.list_by_resource_group.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_by_resource_group_request( + resource_group_name=resource_group_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("StorageAccountListResult", 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.Storage/storageAccounts'} # type: ignore + + @distributed_trace + def list_keys( + self, + resource_group_name: str, + account_name: str, + expand: Optional[str] = "kerb", + **kwargs: Any + ) -> "_models.StorageAccountListKeysResult": + """Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage + account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param expand: Specifies type of the key to be listed. Possible value is kerb. The default + value is "kerb". + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageAccountListKeysResult, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageAccountListKeysResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListKeysResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_keys_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + expand=expand, + template_url=self.list_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StorageAccountListKeysResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys'} # type: ignore + + + @distributed_trace + def regenerate_key( + self, + resource_group_name: str, + account_name: str, + regenerate_key: "_models.StorageAccountRegenerateKeyParameters", + **kwargs: Any + ) -> "_models.StorageAccountListKeysResult": + """Regenerates one of the access keys or Kerberos keys for the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param regenerate_key: Specifies name of the key which should be regenerated -- key1, key2, + kerb1, kerb2. + :type regenerate_key: + ~azure.mgmt.storage.v2021_08_01.models.StorageAccountRegenerateKeyParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageAccountListKeysResult, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.StorageAccountListKeysResult + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageAccountListKeysResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(regenerate_key, 'StorageAccountRegenerateKeyParameters') + + request = build_regenerate_key_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.regenerate_key.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('StorageAccountListKeysResult', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + regenerate_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey'} # type: ignore + + + @distributed_trace + def list_account_sas( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.AccountSasParameters", + **kwargs: Any + ) -> "_models.ListAccountSasResponse": + """List SAS credentials of a storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide to list SAS credentials for the storage account. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.AccountSasParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListAccountSasResponse, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ListAccountSasResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListAccountSasResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'AccountSasParameters') + + request = build_list_account_sas_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.list_account_sas.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ListAccountSasResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_account_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas'} # type: ignore + + + @distributed_trace + def list_service_sas( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.ServiceSasParameters", + **kwargs: Any + ) -> "_models.ListServiceSasResponse": + """List service SAS credentials of a specific resource. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide to list service SAS credentials. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.ServiceSasParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListServiceSasResponse, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ListServiceSasResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListServiceSasResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'ServiceSasParameters') + + request = build_list_service_sas_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.list_service_sas.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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('ListServiceSasResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list_service_sas.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas'} # type: ignore + + + def _failover_initial( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_failover_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self._failover_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _failover_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'} # type: ignore + + + @distributed_trace + def begin_failover( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Failover request can be triggered for a storage account in case of availability issues. The + failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS + accounts. The secondary cluster will become primary after failover. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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._failover_initial( + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_failover.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover'} # type: ignore + + def _hierarchical_namespace_migration_initial( + self, + resource_group_name: str, + account_name: str, + request_type: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_hierarchical_namespace_migration_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + request_type=request_type, + template_url=self._hierarchical_namespace_migration_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _hierarchical_namespace_migration_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration'} # type: ignore + + + @distributed_trace + def begin_hierarchical_namespace_migration( + self, + resource_group_name: str, + account_name: str, + request_type: str, + **kwargs: Any + ) -> LROPoller[None]: + """Live Migration of storage account to enable Hns. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param request_type: Required. Hierarchical namespace migration type can either be a + hierarchical namespace validation request 'HnsOnValidationRequest' or a hydration request + 'HnsOnHydrationRequest'. The validation request will validate the migration whereas the + hydration request will migrate the account. + :type request_type: 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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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._hierarchical_namespace_migration_initial( + resource_group_name=resource_group_name, + account_name=account_name, + request_type=request_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_hierarchical_namespace_migration.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration'} # type: ignore + + def _abort_hierarchical_namespace_migration_initial( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_abort_hierarchical_namespace_migration_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self._abort_hierarchical_namespace_migration_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + _abort_hierarchical_namespace_migration_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration'} # type: ignore + + + @distributed_trace + def begin_abort_hierarchical_namespace_migration( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> LROPoller[None]: + """Abort live Migration of storage account to enable Hns. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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, azure.core.polling.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._abort_hierarchical_namespace_migration_initial( + resource_group_name=resource_group_name, + account_name=account_name, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_abort_hierarchical_namespace_migration.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration'} # type: ignore + + def _restore_blob_ranges_initial( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.BlobRestoreParameters", + **kwargs: Any + ) -> "_models.BlobRestoreStatus": + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobRestoreStatus"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'BlobRestoreParameters') + + request = build_restore_blob_ranges_request_initial( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self._restore_blob_ranges_initial.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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 response.status_code == 200: + deserialized = self._deserialize('BlobRestoreStatus', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('BlobRestoreStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + _restore_blob_ranges_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges'} # type: ignore + + + @distributed_trace + def begin_restore_blob_ranges( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.BlobRestoreParameters", + **kwargs: Any + ) -> LROPoller["_models.BlobRestoreStatus"]: + """Restore blobs in the specified blob ranges. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The parameters to provide for restore blob ranges. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.BlobRestoreParameters + :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: By default, your polling method will be ARMPolling. Pass in False for this + operation to not poll, or pass in 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 BlobRestoreStatus or the result of + cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storage.v2021_08_01.models.BlobRestoreStatus] + :raises: ~azure.core.exceptions.HttpResponseError + """ + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + polling = kwargs.pop('polling', True) # type: Union[bool, azure.core.polling.PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobRestoreStatus"] + 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._restore_blob_ranges_initial( + resource_group_name=resource_group_name, + account_name=account_name, + parameters=parameters, + content_type=content_type, + cls=lambda x,y,z: x, + **kwargs + ) + kwargs.pop('error_map', None) + + def get_long_running_output(pipeline_response): + response = pipeline_response.http_response + deserialized = self._deserialize('BlobRestoreStatus', pipeline_response) + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'location'}, **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_restore_blob_ranges.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges'} # type: ignore + + @distributed_trace + def revoke_user_delegation_keys( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> None: + """Revoke user delegation keys. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :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', {})) + + + request = build_revoke_user_delegation_keys_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.revoke_user_delegation_keys.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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, {}) + + revoke_user_delegation_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_table_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_table_operations.py new file mode 100644 index 00000000000..53f14d5e429 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_table_operations.py @@ -0,0 +1,548 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_create_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "tableName": _SERIALIZER.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_update_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "tableName": _SERIALIZER.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PATCH", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_get_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "tableName": _SERIALIZER.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_delete_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + table_name: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "tableName": _SERIALIZER.url("table_name", table_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z][A-Za-z0-9]{2,62}$'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class TableOperations(object): + """TableOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def create( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> "_models.Table": + """Creates a new table with the specified table name, under the specified account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param table_name: A table name must be unique within a storage account and must be between 3 + and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin + with a numeric character. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Table, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.Table + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_create_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + table_name=table_name, + template_url=self.create.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Table', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + + + @distributed_trace + def update( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> "_models.Table": + """Creates a new table with the specified table name, under the specified account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param table_name: A table name must be unique within a storage account and must be between 3 + and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin + with a numeric character. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Table, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.Table + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_update_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + table_name=table_name, + template_url=self.update.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Table', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + + + @distributed_trace + def get( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> "_models.Table": + """Gets the table with the specified table name, under the specified account if it exists. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param table_name: A table name must be unique within a storage account and must be between 3 + and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin + with a numeric character. + :type table_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Table, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.Table + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Table"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + table_name=table_name, + template_url=self.get.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Table', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + + + @distributed_trace + def delete( + self, + resource_group_name: str, + account_name: str, + table_name: str, + **kwargs: Any + ) -> None: + """Deletes the table with the specified table name, under the specified account if it exists. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param table_name: A table name must be unique within a storage account and must be between 3 + and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin + with a numeric character. + :type table_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', {})) + + + request = build_delete_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + table_name=table_name, + template_url=self.delete.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_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.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}'} # type: ignore + + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> Iterable["_models.ListTableResource"]: + """Gets a list of all the tables under the specified storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListTableResource or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.ListTableResource] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListTableResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("ListTableResource", 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) + error = self._deserialize.failsafe_deserialize(_models.CloudErrorAutoGenerated, pipeline_response) + 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.Storage/storageAccounts/{accountName}/tableServices/default/tables'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_table_services_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_table_services_operations.py new file mode 100644 index 00000000000..6d529304249 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_table_services_operations.py @@ -0,0 +1,342 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +JSONType = Any +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_set_service_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + *, + json: JSONType = None, + content: Any = None, + **kwargs: Any +) -> HttpRequest: + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + api_version = "2021-08-01" + table_service_name = "default" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "tableServiceName": _SERIALIZER.url("table_service_name", table_service_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + 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') + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + headers=header_parameters, + json=json, + content=content, + **kwargs + ) + + +def build_get_service_properties_request( + resource_group_name: str, + account_name: str, + subscription_id: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + table_service_name = "default" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}') + path_format_arguments = { + "resourceGroupName": _SERIALIZER.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + "accountName": _SERIALIZER.url("account_name", account_name, 'str', max_length=24, min_length=3), + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "tableServiceName": _SERIALIZER.url("table_service_name", table_service_name, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class TableServicesOperations(object): + """TableServicesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.ListTableServices": + """List all table services for the storage account. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListTableServices, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.ListTableServices + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListTableServices"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_list_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.list.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ListTableServices', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices'} # type: ignore + + + @distributed_trace + def set_service_properties( + self, + resource_group_name: str, + account_name: str, + parameters: "_models.TableServiceProperties", + **kwargs: Any + ) -> "_models.TableServiceProperties": + """Sets the properties of a storage account’s Table service, including properties for Storage + Analytics and CORS (Cross-Origin Resource Sharing) rules. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :param parameters: The properties of a storage account’s Table service, only properties for + Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified. + :type parameters: ~azure.mgmt.storage.v2021_08_01.models.TableServiceProperties + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TableServiceProperties, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.TableServiceProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TableServiceProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + content_type = kwargs.pop('content_type', "application/json") # type: Optional[str] + + _json = self._serialize.body(parameters, 'TableServiceProperties') + + request = build_set_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + content_type=content_type, + json=_json, + template_url=self.set_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TableServiceProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + set_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}'} # type: ignore + + + @distributed_trace + def get_service_properties( + self, + resource_group_name: str, + account_name: str, + **kwargs: Any + ) -> "_models.TableServiceProperties": + """Gets the properties of a storage account’s Table service, including properties for Storage + Analytics and CORS (Cross-Origin Resource Sharing) rules. + + :param resource_group_name: The name of the resource group within the user's subscription. The + name is case insensitive. + :type resource_group_name: str + :param account_name: The name of the storage account within the specified resource group. + Storage account names must be between 3 and 24 characters in length and use numbers and + lower-case letters only. + :type account_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TableServiceProperties, or the result of cls(response) + :rtype: ~azure.mgmt.storage.v2021_08_01.models.TableServiceProperties + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.TableServiceProperties"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + + request = build_get_service_properties_request( + resource_group_name=resource_group_name, + account_name=account_name, + subscription_id=self._config.subscription_id, + template_url=self.get_service_properties.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + 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.CloudErrorAutoGenerated, pipeline_response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TableServiceProperties', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + get_service_properties.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}'} # type: ignore + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_usages_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_usages_operations.py new file mode 100644 index 00000000000..809f901e61e --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/v2021_08_01/operations/_usages_operations.py @@ -0,0 +1,150 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 functools +from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar +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 HttpResponse +from azure.core.rest import HttpRequest +from azure.core.tracing.decorator import distributed_trace +from azure.mgmt.core.exceptions import ARMErrorFormat +from msrest import Serializer + +from .. import models as _models +from .._vendor import _convert_request, _format_url_section +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False + +def build_list_by_location_request( + subscription_id: str, + location: str, + **kwargs: Any +) -> HttpRequest: + api_version = "2021-08-01" + accept = "application/json" + # Construct URL + url = kwargs.pop("template_url", '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages') + path_format_arguments = { + "subscriptionId": _SERIALIZER.url("subscription_id", subscription_id, 'str', min_length=1), + "location": _SERIALIZER.url("location", location, 'str'), + } + + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="GET", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + +class UsagesOperations(object): + """UsagesOperations 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.storage.v2021_08_01.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 + + @distributed_trace + def list_by_location( + self, + location: str, + **kwargs: Any + ) -> Iterable["_models.UsageListResult"]: + """Gets the current usage count and the limit for the resources of the location under the + subscription. + + :param location: The location of the Azure Storage resource. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UsageListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2021_08_01.models.UsageListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsageListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + def prepare_request(next_link=None): + if not next_link: + + request = build_list_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=self.list_by_location.metadata['url'], + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + + else: + + request = build_list_by_location_request( + subscription_id=self._config.subscription_id, + location=location, + template_url=next_link, + ) + request = _convert_request(request) + request.url = self._client.format_url(request.url) + request.method = "GET" + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize("UsageListResult", 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_by_location.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/version.py similarity index 100% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/version.py rename to src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_storage/version.py diff --git a/src/storage-preview/setup.py b/src/storage-preview/setup.py index 45849051d00..7303617c4e9 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.4" +VERSION = "0.8.0" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -34,7 +34,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/storage-preview', classifiers=CLASSIFIERS, package_data={ 'azext_storage_preview': ['azext_metadata.json', 'azcopy/*/*'] diff --git a/src/storagesync/setup.py b/src/storagesync/setup.py index dde4f713f60..ff77718fd8b 100644 --- a/src/storagesync/setup.py +++ b/src/storagesync/setup.py @@ -50,7 +50,7 @@ # TODO: Update author and email, if applicable author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/storagesync', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/storagesync', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/stream-analytics/HISTORY.rst b/src/stream-analytics/HISTORY.rst index 20cb667fce3..6b61685c898 100644 --- a/src/stream-analytics/HISTORY.rst +++ b/src/stream-analytics/HISTORY.rst @@ -3,9 +3,13 @@ Release History =============== +0.1.2 ++++++++++++++++ +* Support clusters and private endpoints. + 0.1.1 +++++++++++++++ -* Support API version to 2020. +* Support API version to 2020-03-01. 0.1.0 +++++++++++++++ diff --git a/src/stream-analytics/azext_stream_analytics/generated/_client_factory.py b/src/stream-analytics/azext_stream_analytics/generated/_client_factory.py index 7f5627ffae5..53e938a27a9 100644 --- a/src/stream-analytics/azext_stream_analytics/generated/_client_factory.py +++ b/src/stream-analytics/azext_stream_analytics/generated/_client_factory.py @@ -38,3 +38,11 @@ def cf_function(cli_ctx, *_): def cf_subscription(cli_ctx, *_): return cf_stream_analytics_cl(cli_ctx).subscriptions + + +def cf_cluster(cli_ctx, *_): + return cf_stream_analytics_cl(cli_ctx).clusters + + +def cf_private_endpoint(cli_ctx, *_): + return cf_stream_analytics_cl(cli_ctx).private_endpoints diff --git a/src/stream-analytics/azext_stream_analytics/generated/_help.py b/src/stream-analytics/azext_stream_analytics/generated/_help.py index e39a4c7eb14..d90b6d82bb0 100644 --- a/src/stream-analytics/azext_stream_analytics/generated/_help.py +++ b/src/stream-analytics/azext_stream_analytics/generated/_help.py @@ -704,3 +704,160 @@ text: |- az stream-analytics subscription inspect --location "West US" """ + +helps['stream-analytics cluster'] = """ + type: group + short-summary: Manage cluster with stream analytics +""" + +helps['stream-analytics cluster list'] = """ + type: command + short-summary: "Lists all of the clusters in the given resource group. And Lists all of the clusters in the given \ +subscription." + examples: + - name: List clusters in resource group + text: |- + az stream-analytics cluster list --resource-group "sjrg" + - name: List the clusters in a subscription + text: |- + az stream-analytics cluster list +""" + +helps['stream-analytics cluster show'] = """ + type: command + short-summary: "Gets information about the specified cluster." + examples: + - name: Get a cluster + text: |- + az stream-analytics cluster show --name "testcluster" --resource-group "sjrg" +""" + +helps['stream-analytics cluster create'] = """ + type: command + short-summary: "Creates a Stream Analytics Cluster or replaces an already existing cluster." + parameters: + - name: --sku + short-summary: "The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT \ +(CreateOrUpdate) requests." + long-summary: | + Usage: --sku name=XX capacity=XX + + name: Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests. + capacity: Denotes the number of streaming units the cluster can support. Valid values for this property \ +are multiples of 36 with a minimum value of 36 and maximum value of 216. Required on PUT (CreateOrUpdate) requests. + examples: + - name: Create a new cluster + text: |- + az stream-analytics cluster create --location "North US" --sku name="Default" capacity=36 --tags \ +key="value" --name "An Example Cluster" --resource-group "sjrg" +""" + +helps['stream-analytics cluster update'] = """ + type: command + short-summary: "Updates an existing cluster. This can be used to partially update (ie. update one or two \ +properties) a cluster without affecting the rest of the cluster definition." + parameters: + - name: --sku + short-summary: "The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT \ +(CreateOrUpdate) requests." + long-summary: | + Usage: --sku name=XX capacity=XX + + name: Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests. + capacity: Denotes the number of streaming units the cluster can support. Valid values for this property \ +are multiples of 36 with a minimum value of 36 and maximum value of 216. Required on PUT (CreateOrUpdate) requests. + examples: + - name: Update a cluster + text: |- + az stream-analytics cluster update --location "Central US" --sku capacity=72 --name "testcluster" \ +--resource-group "sjrg" +""" + +helps['stream-analytics cluster delete'] = """ + type: command + short-summary: "Deletes the specified cluster." + examples: + - name: Delete a cluster + text: |- + az stream-analytics cluster delete --name "testcluster" --resource-group "sjrg" +""" + +helps['stream-analytics cluster list-streaming-job'] = """ + type: command + short-summary: "Lists all of the streaming jobs in the given cluster." + examples: + - name: List all streaming jobs in cluster + text: |- + az stream-analytics cluster list-streaming-job --name "testcluster" --resource-group "sjrg" +""" + +helps['stream-analytics cluster wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the stream-analytics cluster is met. + examples: + - name: Pause executing next line of CLI script until the stream-analytics cluster is successfully created. + text: |- + az stream-analytics cluster wait --name "testcluster" --resource-group "sjrg" --created + - name: Pause executing next line of CLI script until the stream-analytics cluster is successfully updated. + text: |- + az stream-analytics cluster wait --name "testcluster" --resource-group "sjrg" --updated + - name: Pause executing next line of CLI script until the stream-analytics cluster is successfully deleted. + text: |- + az stream-analytics cluster wait --name "testcluster" --resource-group "sjrg" --deleted +""" + +helps['stream-analytics private-endpoint'] = """ + type: group + short-summary: Manage private endpoint with stream analytics +""" + +helps['stream-analytics private-endpoint list'] = """ + type: command + short-summary: "Lists the private endpoints in the cluster." + examples: + - name: Get the private endpoints in a cluster + text: |- + az stream-analytics private-endpoint list --cluster-name "testcluster" --resource-group "sjrg" +""" + +helps['stream-analytics private-endpoint show'] = """ + type: command + short-summary: "Gets information about the specified Private Endpoint." + examples: + - name: Get a private endpoint + text: |- + az stream-analytics private-endpoint show --cluster-name "testcluster" --name "testpe" --resource-group \ +"sjrg" +""" + +helps['stream-analytics private-endpoint create'] = """ + type: command + short-summary: "Creates a Stream Analytics Private Endpoint or replaces an already existing Private Endpoint." + examples: + - name: Create a private endpoint + text: |- + az stream-analytics private-endpoint create --cluster-name "testcluster" --connections \ +"[{\\"privateLinkServiceId\\":\\"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/private\ +LinkServices/testPls\\",\\"groupIds\\":[\\"groupIdFromResource\\"]}]" --name "testpe" --resource-group "sjrg" +""" + +helps['stream-analytics private-endpoint delete'] = """ + type: command + short-summary: "Delete the specified private endpoint." + examples: + - name: Delete a private endpoint + text: |- + az stream-analytics private-endpoint delete --cluster-name "testcluster" --name "testpe" \ +--resource-group "sjrg" +""" + +helps['stream-analytics private-endpoint wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the stream-analytics private-endpoint is met. + examples: + - name: Pause executing next line of CLI script until the stream-analytics private-endpoint is successfully \ +deleted. + text: |- + az stream-analytics private-endpoint wait --cluster-name "testcluster" --name "testpe" --resource-group \ +"sjrg" --deleted +""" diff --git a/src/stream-analytics/azext_stream_analytics/generated/_params.py b/src/stream-analytics/azext_stream_analytics/generated/_params.py index 4e5ba1aa61d..e3b498afdc0 100644 --- a/src/stream-analytics/azext_stream_analytics/generated/_params.py +++ b/src/stream-analytics/azext_stream_analytics/generated/_params.py @@ -23,7 +23,8 @@ from azext_stream_analytics.action import ( AddIdentity, AddTransformation, - AddJobStorageAccount + AddJobStorageAccount, + AddSku ) @@ -42,7 +43,8 @@ def load_arguments(self, _): 'when this parameter is absent. The default set is all streaming job properties other than ' '\'inputs\', \'transformation\', \'outputs\', and \'functions\'.') c.argument('resource_group_name', resource_group_name_type) - c.argument('job_name', options_list=['--name', '-n', '--job-name'], type=str, help='The name of the streaming job.') + c.argument('job_name', options_list=['--job-name', '--name', '-n'], type=str, help='The name of the streaming ' + 'job.') with self.argument_context('stream-analytics job create') as c: c.argument('if_match', type=str, help='The ETag of the streaming job. Omit this value to always overwrite the ' @@ -52,7 +54,8 @@ def load_arguments(self, _): 'prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed ' 'response.') c.argument('resource_group_name', resource_group_name_type) - c.argument('job_name', options_list=['--name', '-n', '--job-name'], type=str, help='The name of the streaming job.') + c.argument('job_name', options_list=['--job-name', '--name', '-n'], type=str, help='The name of the streaming ' + 'job.') 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) @@ -113,7 +116,8 @@ def load_arguments(self, _): 'current record set. Specify the last-seen ETag value to prevent accidentally overwriting ' 'concurrent changes.') c.argument('resource_group_name', resource_group_name_type) - c.argument('job_name', options_list=['--name', '-n', '--job-name'], type=str, help='The name of the streaming job.') + c.argument('job_name', options_list=['--job-name', '--name', '-n'], type=str, help='The name of the streaming ' + 'job.') 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) @@ -171,17 +175,20 @@ def load_arguments(self, _): with self.argument_context('stream-analytics job delete') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('job_name', options_list=['--name', '-n', '--job-name'], type=str, help='The name of the streaming job.') + c.argument('job_name', options_list=['--job-name', '--name', '-n'], type=str, help='The name of the streaming ' + 'job.') with self.argument_context('stream-analytics job scale') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('job_name', options_list=['--name', '-n', '--job-name'], type=str, help='The name of the streaming job.') + c.argument('job_name', options_list=['--job-name', '--name', '-n'], type=str, help='The name of the streaming ' + 'job.') c.argument('streaming_units', type=int, help='Specifies the number of streaming units that the streaming job ' 'will scale to.') with self.argument_context('stream-analytics job start') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('job_name', options_list=['--name', '-n', '--job-name'], type=str, help='The name of the streaming job.') + c.argument('job_name', options_list=['--job-name', '--name', '-n'], type=str, help='The name of the streaming ' + 'job.') c.argument('output_start_mode', arg_type=get_enum_type(['JobStartTime', 'CustomTime', 'LastOutputEventTime']), help='Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the ' 'starting point of the output event stream should start whenever the job is started, start at a ' @@ -194,7 +201,8 @@ def load_arguments(self, _): with self.argument_context('stream-analytics job stop') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('job_name', options_list=['--name', '-n', '--job-name'], type=str, help='The name of the streaming job.') + c.argument('job_name', options_list=['--job-name', '--name', '-n'], type=str, help='The name of the streaming ' + 'job.') with self.argument_context('stream-analytics job wait') as c: c.argument('expand', type=str, help='The $expand OData query parameter. This is a comma-separated list of ' @@ -202,7 +210,8 @@ def load_arguments(self, _): 'when this parameter is absent. The default set is all streaming job properties other than ' '\'inputs\', \'transformation\', \'outputs\', and \'functions\'.') c.argument('resource_group_name', resource_group_name_type) - c.argument('job_name', options_list=['--name', '-n', '--job-name'], type=str, help='The name of the streaming job.') + c.argument('job_name', options_list=['--job-name', '--name', '-n'], type=str, help='The name of the streaming ' + 'job.') with self.argument_context('stream-analytics input list') as c: c.argument('select', type=str, help='The $select OData query parameter. This is a comma-separated list of ' @@ -214,7 +223,8 @@ def load_arguments(self, _): with self.argument_context('stream-analytics input show') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('input_name', options_list=['--name', '-n', '--input-name'], type=str, help='The name of the input.') + c.argument('input_name', options_list=['--input-name', '--name', '-n'], type=str, + help='The name of the input.') with self.argument_context('stream-analytics input create') as c: c.argument('if_match', type=str, help='The ETag of the input. Omit this value to always overwrite the current ' @@ -223,7 +233,9 @@ def load_arguments(self, _): 'updating an existing input. Other values will result in a 412 Pre-condition Failed response.') c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('input_name', options_list=['--name', '-n', '--input-name'], type=str, help='The name of the input.') + c.argument('input_name', options_list=['--input-name', '--name', '-n'], type=str, + help='The name of the input.') + # c.argument('name', type=str, help='Resource name') c.argument('properties', type=validate_file_or_dict, help='The properties that are associated with an input. ' 'Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file.') @@ -232,26 +244,32 @@ def load_arguments(self, _): 'input. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes.') c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('input_name', options_list=['--name', '-n', '--input-name'], type=str, help='The name of the input.') + c.argument('input_name', options_list=['--input-name', '--name', '-n'], type=str, + help='The name of the input.') + # c.argument('name', type=str, help='Resource name') c.argument('properties', type=validate_file_or_dict, help='The properties that are associated with an input. ' 'Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file.') with self.argument_context('stream-analytics input delete') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('input_name', options_list=['--name', '-n', '--input-name'], type=str, help='The name of the input.') + c.argument('input_name', options_list=['--input-name', '--name', '-n'], type=str, + help='The name of the input.') with self.argument_context('stream-analytics input test') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('input_name', options_list=['--name', '-n', '--input-name'], type=str, help='The name of the input.') + c.argument('input_name', options_list=['--input-name', '--name', '-n'], type=str, + help='The name of the input.') + # c.argument('name', type=str, help='Resource name') c.argument('properties', type=validate_file_or_dict, help='The properties that are associated with an input. ' 'Required on PUT (CreateOrReplace) requests. Expected value: json-string/json-file/@json-file.') with self.argument_context('stream-analytics input wait') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('input_name', options_list=['--name', '-n', '--input-name'], type=str, help='The name of the input.') + c.argument('input_name', options_list=['--input-name', '--name', '-n'], type=str, + help='The name of the input.') with self.argument_context('stream-analytics output list') as c: c.argument('select', type=str, help='The $select OData query parameter. This is a comma-separated list of ' @@ -263,7 +281,8 @@ def load_arguments(self, _): with self.argument_context('stream-analytics output show') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('output_name', options_list=['--name', '-n', '--output-name'], type=str, help='The name of the output.') + c.argument('output_name', options_list=['--output-name', '--name', '-n'], type=str, help='The name of the ' + 'output.') with self.argument_context('stream-analytics output create') as c: c.argument('if_match', type=str, help='The ETag of the output. Omit this value to always overwrite the current ' @@ -272,7 +291,9 @@ def load_arguments(self, _): 'updating an existing output. Other values will result in a 412 Pre-condition Failed response.') c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('output_name', options_list=['--name', '-n', '--output-name'], type=str, help='The name of the output.') + c.argument('output_name', options_list=['--output-name', '--name', '-n'], type=str, help='The name of the ' + 'output.') + # c.argument('name', type=str, help='Resource name') c.argument('datasource', type=validate_file_or_dict, help='Describes the data source that output will be ' 'written to. Required on PUT (CreateOrReplace) requests. Expected value: ' 'json-string/json-file/@json-file.') @@ -287,7 +308,9 @@ def load_arguments(self, _): 'output. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes.') c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('output_name', options_list=['--name', '-n', '--output-name'], type=str, help='The name of the output.') + c.argument('output_name', options_list=['--output-name', '--name', '-n'], type=str, help='The name of the ' + 'output.') + # c.argument('name', type=str, help='Resource name') c.argument('datasource', type=validate_file_or_dict, help='Describes the data source that output will be ' 'written to. Required on PUT (CreateOrReplace) requests. Expected value: ' 'json-string/json-file/@json-file.') @@ -306,7 +329,9 @@ def load_arguments(self, _): with self.argument_context('stream-analytics output test') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('output_name', options_list=['--name', '-n', '--output-name'], type=str, help='The name of the output.') + c.argument('output_name', options_list=['--output-name', '--name', '-n'], type=str, help='The name of the ' + 'output.') + # c.argument('name', type=str, help='Resource name') c.argument('datasource', type=validate_file_or_dict, help='Describes the data source that output will be ' 'written to. Required on PUT (CreateOrReplace) requests. Expected value: ' 'json-string/json-file/@json-file.') @@ -319,7 +344,8 @@ def load_arguments(self, _): with self.argument_context('stream-analytics output wait') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('output_name', options_list=['--name', '-n', '--output-name'], type=str, help='The name of the output.') + c.argument('output_name', options_list=['--output-name', '--name', '-n'], type=str, help='The name of the ' + 'output.') with self.argument_context('stream-analytics transformation show') as c: c.argument('resource_group_name', resource_group_name_type) @@ -336,8 +362,9 @@ def load_arguments(self, _): 'Failed response.') c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('transformation_name', options_list=['--name', '-n', '--transformation-name'], type=str, help='The name of ' - 'the transformation.') + c.argument('transformation_name', options_list=['--transformation-name', '--name', '-n'], type=str, help='The ' + 'name of the transformation.') + # c.argument('name', type=str, help='Resource name') c.argument('streaming_units', type=int, help='Specifies the number of streaming units that the streaming job ' 'uses.') c.argument('valid_streaming_units', nargs='+', help='Specifies the valid streaming units a streaming job can ' @@ -352,8 +379,9 @@ def load_arguments(self, _): 'concurrent changes.') c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('transformation_name', options_list=['--name', '-n', '--transformation-name'], type=str, help='The name of ' - 'the transformation.') + c.argument('transformation_name', options_list=['--transformation-name', '--name', '-n'], type=str, help='The ' + 'name of the transformation.') + # c.argument('name', type=str, help='Resource name') c.argument('streaming_units', type=int, help='Specifies the number of streaming units that the streaming job ' 'uses.') c.argument('valid_streaming_units', nargs='+', help='Specifies the valid streaming units a streaming job can ' @@ -383,8 +411,9 @@ def load_arguments(self, _): 'updating an existing function. Other values will result in a 412 Pre-condition Failed response.') c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('function_name', options_list=['--name', '-n', '--function-name'], type=str, - help='The name of the function.') + c.argument('function_name', options_list=['--function-name', '--name', '-n'], type=str, help='The name of the ' + 'function.') + # c.argument('name', type=str, help='Resource name') c.argument('properties', type=validate_file_or_dict, help='The properties that are associated with a function. ' 'Expected value: json-string/json-file/@json-file.') @@ -394,8 +423,9 @@ def load_arguments(self, _): 'changes.') c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('function_name', options_list=['--name', '-n', '--function-name'], type=str, - help='The name of the function.') + c.argument('function_name', options_list=['--function-name', '--name', '-n'], type=str, help='The name of the ' + 'function.') + # c.argument('name', type=str, help='Resource name') c.argument('properties', type=validate_file_or_dict, help='The properties that are associated with a function. ' 'Expected value: json-string/json-file/@json-file.') @@ -408,8 +438,9 @@ def load_arguments(self, _): with self.argument_context('stream-analytics function test') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('job_name', type=str, help='The name of the streaming job.') - c.argument('function_name', options_list=['--name', '-n', '--function-name'], type=str, - help='The name of the function.') + c.argument('function_name', options_list=['--function-name', '--name', '-n'], type=str, help='The name of the ' + 'function.') + # c.argument('name', type=str, help='Resource name') c.argument('properties', type=validate_file_or_dict, help='The properties that are associated with a function. ' 'Expected value: json-string/json-file/@json-file.') @@ -421,3 +452,105 @@ def load_arguments(self, _): with self.argument_context('stream-analytics subscription inspect') as c: c.argument('location', arg_type=get_location_type(self.cli_ctx), id_part='name') + + with self.argument_context('stream-analytics cluster list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('stream-analytics cluster show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', options_list=['--name', '-n', '--cluster-name'], type=str, help='The name of the ' + 'cluster.', id_part='name') + + with self.argument_context('stream-analytics cluster create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', options_list=['--name', '-n', '--cluster-name'], type=str, help='The name of the ' + 'cluster.') + c.argument('if_match', type=str, help='The ETag of the resource. Omit this value to always overwrite the ' + 'current record set. Specify the last-seen ETag value to prevent accidentally overwriting ' + 'concurrent changes.') + c.argument('if_none_match', type=str, help='Set to \'*\' to allow a new resource to be created, but to prevent ' + 'updating an existing record set. Other values will result in a 412 Pre-condition Failed response.') + 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('sku', action=AddSku, nargs='+', help='The SKU of the cluster. This determines the size/capacity of ' + 'the cluster. Required on PUT (CreateOrUpdate) requests.') + + with self.argument_context('stream-analytics cluster update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', options_list=['--name', '-n', '--cluster-name'], type=str, help='The name of the ' + 'cluster.', id_part='name') + c.argument('if_match', type=str, help='The ETag of the resource. Omit this value to always overwrite the ' + 'current record set. Specify the last-seen ETag value to prevent accidentally overwriting ' + 'concurrent changes.') + 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('sku', action=AddSku, nargs='+', help='The SKU of the cluster. This determines the size/capacity of ' + 'the cluster. Required on PUT (CreateOrUpdate) requests.') + + with self.argument_context('stream-analytics cluster delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', options_list=['--name', '-n', '--cluster-name'], type=str, help='The name of the ' + 'cluster.', id_part='name') + + with self.argument_context('stream-analytics cluster list-streaming-job') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', options_list=['--name', '-n', '--cluster-name'], type=str, help='The name of the ' + 'cluster.') + + with self.argument_context('stream-analytics cluster wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', options_list=['--name', '-n', '--cluster-name'], type=str, help='The name of the ' + 'cluster.', id_part='name') + + with self.argument_context('stream-analytics private-endpoint list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', type=str, help='The name of the cluster.') + + with self.argument_context('stream-analytics private-endpoint show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', type=str, help='The name of the cluster.', id_part='name') + c.argument('private_endpoint_name', options_list=['--name', '-n', '--private-endpoint-name'], type=str, + help='The name of the private endpoint.', id_part='child_name_1') + + with self.argument_context('stream-analytics private-endpoint create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', type=str, help='The name of the cluster.') + c.argument('private_endpoint_name', options_list=['--name', '-n', '--private-endpoint-name'], type=str, + help='The name of the private endpoint.') + c.argument('if_match', type=str, help='The ETag of the resource. Omit this value to always overwrite the ' + 'current record set. Specify the last-seen ETag value to prevent accidentally overwriting ' + 'concurrent changes.') + c.argument('if_none_match', type=str, help='Set to \'*\' to allow a new resource to be created, but to prevent ' + 'updating an existing record set. Other values will result in a 412 Pre-condition Failed response.') + c.argument('manual_private_link_service_connections', options_list=['--connections'], type=validate_file_or_dict, help='A list of connections ' + 'to the remote resource. Immutable after it is set. Expected value: json-string/json-file/@json-file' + '.') + + with self.argument_context('stream-analytics private-endpoint update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', type=str, help='The name of the cluster.', id_part='name') + c.argument('private_endpoint_name', options_list=['--name', '-n', '--private-endpoint-name'], type=str, + help='The name of the private endpoint.', id_part='child_name_1') + c.argument('if_match', type=str, help='The ETag of the resource. Omit this value to always overwrite the ' + 'current record set. Specify the last-seen ETag value to prevent accidentally overwriting ' + 'concurrent changes.') + c.argument('if_none_match', type=str, help='Set to \'*\' to allow a new resource to be created, but to prevent ' + 'updating an existing record set. Other values will result in a 412 Pre-condition Failed response.') + c.argument('manual_private_link_service_connections', options_list=['--connections'], type=validate_file_or_dict, help='A list of connections ' + 'to the remote resource. Immutable after it is set. Expected value: json-string/json-file/@json-file' + '.') + c.ignore('private_endpoint') + + with self.argument_context('stream-analytics private-endpoint delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', type=str, help='The name of the cluster.', id_part='name') + c.argument('private_endpoint_name', options_list=['--name', '-n', '--private-endpoint-name'], type=str, + help='The name of the private endpoint.', id_part='child_name_1') + + with self.argument_context('stream-analytics private-endpoint wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('cluster_name', type=str, help='The name of the cluster.', id_part='name') + c.argument('private_endpoint_name', options_list=['--name', '-n', '--private-endpoint-name'], type=str, + help='The name of the private endpoint.', id_part='child_name_1') diff --git a/src/stream-analytics/azext_stream_analytics/generated/action.py b/src/stream-analytics/azext_stream_analytics/generated/action.py index c47349070c1..5f961d98000 100644 --- a/src/stream-analytics/azext_stream_analytics/generated/action.py +++ b/src/stream-analytics/azext_stream_analytics/generated/action.py @@ -128,3 +128,35 @@ def get_action(self, values, option_string): ) return d + + +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 == 'capacity': + d['capacity'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter sku. All possible keys are: name, capacity'.format(k) + ) + + return d diff --git a/src/stream-analytics/azext_stream_analytics/generated/commands.py b/src/stream-analytics/azext_stream_analytics/generated/commands.py index b49e3ac917d..3d80ec9b554 100644 --- a/src/stream-analytics/azext_stream_analytics/generated/commands.py +++ b/src/stream-analytics/azext_stream_analytics/generated/commands.py @@ -20,6 +20,16 @@ cf_transformation, cf_function, cf_subscription, + cf_cluster, + cf_private_endpoint, +) + + +stream_analytics_cluster = CliCommandType( + operations_tmpl=( + 'azext_stream_analytics.vendored_sdks.streamanalytics.operations._clusters_operations#ClustersOperations.{}' + ), + client_factory=cf_cluster, ) @@ -53,6 +63,12 @@ ) +stream_analytics_private_endpoint = CliCommandType( + operations_tmpl='azext_stream_analytics.vendored_sdks.streamanalytics.operations._private_endpoints_operations#PrivateEndpointsOperations.{}', + client_factory=cf_private_endpoint, +) + + stream_analytics_subscription = CliCommandType( operations_tmpl='azext_stream_analytics.vendored_sdks.streamanalytics.operations._subscriptions_operations#SubscriptionsOperations.{}', client_factory=cf_subscription, @@ -67,6 +83,15 @@ def load_command_table(self, _): + with self.command_group('stream-analytics cluster', stream_analytics_cluster, client_factory=cf_cluster) as g: + g.custom_command('list', 'stream_analytics_cluster_list') + g.custom_show_command('show', 'stream_analytics_cluster_show') + g.custom_command('create', 'stream_analytics_cluster_create', supports_no_wait=True) + g.custom_command('update', 'stream_analytics_cluster_update', supports_no_wait=True) + g.custom_command('delete', 'stream_analytics_cluster_delete', supports_no_wait=True, confirmation=True) + g.custom_command('list-streaming-job', 'stream_analytics_cluster_list_streaming_job') + g.custom_wait_command('wait', 'stream_analytics_cluster_show') + with self.command_group('stream-analytics function', stream_analytics_function, client_factory=cf_function) as g: g.custom_command('list', 'stream_analytics_function_list') g.custom_show_command('show', 'stream_analytics_function_show') @@ -107,6 +132,15 @@ def load_command_table(self, _): g.custom_command('test', 'stream_analytics_output_test', supports_no_wait=True) g.custom_wait_command('wait', 'stream_analytics_output_show') + with self.command_group( + 'stream-analytics private-endpoint', stream_analytics_private_endpoint, client_factory=cf_private_endpoint + ) as g: + g.custom_command('list', 'stream_analytics_private_endpoint_list') + g.custom_show_command('show', 'stream_analytics_private_endpoint_show') + g.custom_command('create', 'stream_analytics_private_endpoint_create') + g.custom_command('delete', 'stream_analytics_private_endpoint_delete', supports_no_wait=True, confirmation=True) + g.custom_wait_command('wait', 'stream_analytics_private_endpoint_show') + with self.command_group( 'stream-analytics subscription', stream_analytics_subscription, client_factory=cf_subscription ) as g: diff --git a/src/stream-analytics/azext_stream_analytics/generated/custom.py b/src/stream-analytics/azext_stream_analytics/generated/custom.py index ef9b2ee0a5e..25747f523a2 100644 --- a/src/stream-analytics/azext_stream_analytics/generated/custom.py +++ b/src/stream-analytics/azext_stream_analytics/generated/custom.py @@ -8,6 +8,7 @@ # regenerated. # -------------------------------------------------------------------------- # pylint: disable=too-many-lines +# pylint: disable=unused-argument from azure.cli.core.util import sdk_no_wait @@ -557,3 +558,128 @@ def stream_analytics_function_test(client, def stream_analytics_subscription_inspect(client, location): return client.list_quotas(location=location) + + +def stream_analytics_cluster_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 stream_analytics_cluster_show(client, + resource_group_name, + cluster_name): + return client.get(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def stream_analytics_cluster_create(client, + resource_group_name, + cluster_name, + if_match=None, + if_none_match=None, + tags=None, + location=None, + sku=None, + no_wait=False): + cluster = {} + if tags is not None: + cluster['tags'] = tags + if location is not None: + cluster['location'] = location + if sku is not None: + cluster['sku'] = sku + return sdk_no_wait(no_wait, + client.begin_create_or_update, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + if_match=if_match, + if_none_match=if_none_match, + cluster=cluster) + + +def stream_analytics_cluster_update(client, + resource_group_name, + cluster_name, + if_match=None, + tags=None, + location=None, + sku=None, + no_wait=False): + cluster = {} + if tags is not None: + cluster['tags'] = tags + if location is not None: + cluster['location'] = location + if sku is not None: + cluster['sku'] = sku + return sdk_no_wait(no_wait, + client.begin_update, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + if_match=if_match, + cluster=cluster) + + +def stream_analytics_cluster_delete(client, + resource_group_name, + cluster_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def stream_analytics_cluster_list_streaming_job(client, + resource_group_name, + cluster_name): + return client.list_streaming_jobs(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def stream_analytics_private_endpoint_list(client, + resource_group_name, + cluster_name): + return client.list_by_cluster(resource_group_name=resource_group_name, + cluster_name=cluster_name) + + +def stream_analytics_private_endpoint_show(client, + resource_group_name, + cluster_name, + private_endpoint_name): + return client.get(resource_group_name=resource_group_name, + cluster_name=cluster_name, + private_endpoint_name=private_endpoint_name) + + +def stream_analytics_private_endpoint_create(client, + resource_group_name, + cluster_name, + private_endpoint_name, + if_match=None, + if_none_match=None, + manual_private_link_service_connections=None): + private_endpoint = {} + if manual_private_link_service_connections is not None: + private_endpoint['manual_private_link_service_connections'] = manual_private_link_service_connections + return client.create_or_update(resource_group_name=resource_group_name, + cluster_name=cluster_name, + private_endpoint_name=private_endpoint_name, + if_match=if_match, + if_none_match=if_none_match, + private_endpoint=private_endpoint) + + +def stream_analytics_private_endpoint_delete(client, + resource_group_name, + cluster_name, + private_endpoint_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + cluster_name=cluster_name, + private_endpoint_name=private_endpoint_name) diff --git a/src/stream-analytics/azext_stream_analytics/manual/_help.py b/src/stream-analytics/azext_stream_analytics/manual/_help.py index 03a6aa7bea8..0bd00900507 100644 --- a/src/stream-analytics/azext_stream_analytics/manual/_help.py +++ b/src/stream-analytics/azext_stream_analytics/manual/_help.py @@ -714,3 +714,160 @@ text: |- az stream-analytics subscription inspect --location "West US" """ + +helps['stream-analytics private-endpoint'] = """ + type: group + short-summary: Manage private endpoint with stream analytics +""" + +helps['stream-analytics private-endpoint list'] = """ + type: command + short-summary: "List the private endpoints in the cluster." + examples: + - name: Get the private endpoints in a cluster + text: |- + az stream-analytics private-endpoint list --cluster-name "testcluster" --resource-group "sjrg" +""" + +helps['stream-analytics private-endpoint show'] = """ + type: command + short-summary: "Get information about the specified Private Endpoint." + examples: + - name: Get a private endpoint + text: |- + az stream-analytics private-endpoint show --cluster-name "testcluster" --name "testpe" --resource-group \ +"sjrg" +""" + +helps['stream-analytics private-endpoint create'] = """ + type: command + short-summary: "Create a Stream Analytics Private Endpoint or replaces an already existing Private Endpoint." + examples: + - name: Create a private endpoint + text: |- + az stream-analytics private-endpoint create --cluster-name "testcluster" --connections \ +"[{\\"privateLinkServiceId\\":\\"/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/private\ +LinkServices/testPls\\",\\"groupIds\\":[\\"groupIdFromResource\\"]}]" --name "testpe" --resource-group "sjrg" +""" + +helps['stream-analytics private-endpoint delete'] = """ + type: command + short-summary: "Delete the specified private endpoint." + examples: + - name: Delete a private endpoint + text: |- + az stream-analytics private-endpoint delete --cluster-name "testcluster" --name "testpe" \ +--resource-group "sjrg" +""" + +helps['stream-analytics private-endpoint wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the stream-analytics private-endpoint is met. + examples: + - name: Pause executing next line of CLI script until the stream-analytics private-endpoint is successfully \ +deleted. + text: |- + az stream-analytics private-endpoint wait --cluster-name "testcluster" --name "testpe" --resource-group \ +"sjrg" --deleted +""" + +helps['stream-analytics cluster'] = """ + type: group + short-summary: Manage cluster with stream analytics +""" + +helps['stream-analytics cluster list'] = """ + type: command + short-summary: "List all of the clusters in the given resource group. And Lists all of the clusters in the given \ +subscription." + examples: + - name: List clusters in resource group + text: |- + az stream-analytics cluster list --resource-group "sjrg" + - name: List the clusters in a subscription + text: |- + az stream-analytics cluster list +""" + +helps['stream-analytics cluster show'] = """ + type: command + short-summary: "Get information about the specified cluster." + examples: + - name: Get a cluster + text: |- + az stream-analytics cluster show --name "testcluster" --resource-group "sjrg" +""" + +helps['stream-analytics cluster create'] = """ + type: command + short-summary: "Create a Stream Analytics Cluster or replaces an already existing cluster." + parameters: + - name: --sku + short-summary: "The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT \ +(CreateOrUpdate) requests." + long-summary: | + Usage: --sku name=XX capacity=XX + + name: Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests. + capacity: Denotes the number of streaming units the cluster can support. Valid values for this property \ +are multiples of 36 with a minimum value of 36 and maximum value of 216. Required on PUT (CreateOrUpdate) requests. + examples: + - name: Create a new cluster + text: |- + az stream-analytics cluster create --location "North US" --sku name="Default" capacity=36 --tags \ +key="value" --name "An Example Cluster" --resource-group "sjrg" +""" + +helps['stream-analytics cluster update'] = """ + type: command + short-summary: "Update an existing cluster. This can be used to partially update (ie. update one or two \ +properties) a cluster without affecting the rest of the cluster definition." + parameters: + - name: --sku + short-summary: "The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT \ +(CreateOrUpdate) requests." + long-summary: | + Usage: --sku name=XX capacity=XX + + name: Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests. + capacity: Denotes the number of streaming units the cluster can support. Valid values for this property \ +are multiples of 36 with a minimum value of 36 and maximum value of 216. Required on PUT (CreateOrUpdate) requests. + examples: + - name: Update a cluster + text: |- + az stream-analytics cluster update --location "Central US" --sku capacity=72 --name "testcluster" \ +--resource-group "sjrg" +""" + +helps['stream-analytics cluster delete'] = """ + type: command + short-summary: "Delete the specified cluster." + examples: + - name: Delete a cluster + text: |- + az stream-analytics cluster delete --name "testcluster" --resource-group "sjrg" +""" + +helps['stream-analytics cluster list-streaming-job'] = """ + type: command + short-summary: "List all of the streaming jobs in the given cluster." + examples: + - name: List all streaming jobs in cluster + text: |- + az stream-analytics cluster list-streaming-job --name "testcluster" --resource-group "sjrg" +""" + +helps['stream-analytics cluster wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the stream-analytics cluster is met. + examples: + - name: Pause executing next line of CLI script until the stream-analytics cluster is successfully created. + text: |- + az stream-analytics cluster wait --name "testcluster" --resource-group "sjrg" --created + - name: Pause executing next line of CLI script until the stream-analytics cluster is successfully updated. + text: |- + az stream-analytics cluster wait --name "testcluster" --resource-group "sjrg" --updated + - name: Pause executing next line of CLI script until the stream-analytics cluster is successfully deleted. + text: |- + az stream-analytics cluster wait --name "testcluster" --resource-group "sjrg" --deleted +""" diff --git a/src/stream-analytics/azext_stream_analytics/tests/latest/recordings/test_cluster_crud.yaml b/src/stream-analytics/azext_stream_analytics/tests/latest/recordings/test_cluster_crud.yaml new file mode 100644 index 00000000000..27a130f9479 --- /dev/null +++ b/src/stream-analytics/azext_stream_analytics/tests/latest/recordings/test_cluster_crud.yaml @@ -0,0 +1,16007 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_stream_analytics_000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001","name":"cli_test_stream_analytics_000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2022-02-09T07:03:01Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '342' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:03:07 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", "sku": {"name": "Default", "capacity": 36}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster create + Connection: + - keep-alive + Content-Length: + - '66' + Content-Type: + - application/json + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster","name":"cli-cluster","type":"Microsoft.StreamAnalytics/clusters","location":"West + US","properties":{"createdDate":"2022-02-09T07:03:15.893Z","clusterId":"81aec653-654f-439c-bec3-f97fba4be238","provisioningState":"InProgress","capacityAllocated":0,"capacityAssigned":0},"sku":{"name":"Default","capacity":36}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + cache-control: + - no-store, no-cache + content-length: + - '473' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:03:16 GMT + etag: + - 08877e89-7e18-4295-b9f6-e6473933d6f4 + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnetmvc-version: + - '5.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"InProgress","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '36' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:03:47 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"InProgress","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '36' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:04: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"InProgress","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '36' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:04:47 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:05: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:05: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:06: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:06: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:07: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:07: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:08: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:08: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:09: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:09: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:10:22 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:10: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:11:22 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:11:53 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:12: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:12: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:13: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:14:25 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:14: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:15:25 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:15:57 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:16: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:16: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:17:29 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:17: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:18: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:19: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:19: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:20: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:20: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:21: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:21: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:22: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:22: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:23: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:23:34 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:24: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:24: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:25: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:25: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:26: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:26:37 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:27: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:27:37 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:28: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:28: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:29: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:29: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:30: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:30: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:31: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:31: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:32: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:32: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:33: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:33: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:34: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:34:43 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:35: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:36: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:36: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"ConfiguringNetworking","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '47' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:37:16 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"ConfiguringNetworking","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '47' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:37:46 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:38: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:38:47 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:39: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:39: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:40: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:40: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:41: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:41: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:42: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:42: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:43: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:43: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.0054ddd3-c610-402a-a975-e4de44681ec9?api-version=2020-03-01 + response: + body: + string: '{"status":"Succeeded","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '35' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:44: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster","name":"cli-cluster","type":"Microsoft.StreamAnalytics/clusters","location":"West + US","properties":{"createdDate":"2022-02-09T07:03:15.893Z","clusterId":"81aec653-654f-439c-bec3-f97fba4be238","provisioningState":"Succeeded","capacityAllocated":0,"capacityAssigned":0},"sku":{"name":"Default","capacity":36}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '472' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:44:23 GMT + etag: + - 9b9c1ea5-0e36-4a49-bb1a-aff81124690d + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters?api-version=2020-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster","name":"cli-cluster","type":"Microsoft.StreamAnalytics/clusters","location":"West + US","properties":{"createdDate":"2022-02-09T07:03:15.893Z","clusterId":"81aec653-654f-439c-bec3-f97fba4be238","provisioningState":"Succeeded","capacityAllocated":0,"capacityAssigned":0},"sku":{"name":"Default","capacity":36},"etag":"9b9c1ea5-0e36-4a49-bb1a-aff81124690d"}],"nextLink":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '546' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:44:25 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_stream_analytics_000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001","name":"cli_test_stream_analytics_000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2022-02-09T07:03:01Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '342' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 07:44:26 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "sku": {"capacity": 72}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + Content-Length: + - '47' + Content-Type: + - application/json + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:44:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:44:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:44:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:45:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:45:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:45:21 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:45:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:45:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:45:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:46:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:46:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:46:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:46:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:46:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:46:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:47:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:47:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:47:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:47:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:47:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:47:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:48:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:48:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:48:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:48:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:48:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:48:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:49:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:49:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:49:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:49:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:49:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:50:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:50:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:50:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:50:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:50:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:50:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:51:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:51:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:51:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:51:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:51:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:51:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:52:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:52:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:52:27 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:52:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:52:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:52:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:53:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:53:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:53:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:53:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:53:50 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:54:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:54:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:54:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:54:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:54:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:54:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:55:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:55:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:55:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:55:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:55:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:55:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:56:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:56:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:56:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:56:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:56:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:56:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:57:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:57:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:57:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:57:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:57:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:58:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:58:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:58:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:58:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:58:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:58:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:59:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:59:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:59:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:59:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:59:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 07:59:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:00:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:00:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:00:27 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:00:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:00:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:00:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:01:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:01:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:01:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:01:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:01:50 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:02:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:02:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:02:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:02:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:02:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:02:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:03:03 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:03:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:03:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:03:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:03:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:03:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:04:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:04:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:04:27 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:04:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:04:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:04:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:05:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:05:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:05:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:05:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:05:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:05:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:06:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:06:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:06:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:06:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:06:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:07:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:07:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:07:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:07:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:07:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:07:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:08:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:08:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:08:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:08:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:08:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:08:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:09:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:09:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:09:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:09:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:09:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:09:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:10:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:10:21 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:10:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:10:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:10:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:11:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:11:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:11:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:11:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:11:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:11:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:12:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:12:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:12:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:12:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:12:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:12:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:13:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:13:17 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:13:27 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:13:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:13:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:13:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:14:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:14:19 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:14:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:14:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:14:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:15:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:15:11 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:15:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:15:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:15:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:15:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:16:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:16:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:16:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:16:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:16:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:16:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:17:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:17:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:17:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:17:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:17:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:17:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:18:07 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:18:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:18:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:18:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:18:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:18:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:19:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:19:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:19:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:19:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:19:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:20:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:20:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:20:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:20:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:20:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:20:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:21:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:21:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster update + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59b58bff-a5d6-4093-b01e-89040e6fe498?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster","name":"cli-cluster","type":"Microsoft.StreamAnalytics/clusters","location":"West + US","properties":{"createdDate":"2022-02-09T07:03:15.893Z","clusterId":"81aec653-654f-439c-bec3-f97fba4be238","provisioningState":"Succeeded","capacityAllocated":0,"capacityAssigned":0},"sku":{"name":"Default","capacity":72},"etag":"0f295c2b-e34d-42f6-8c07-01a728f2d172"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '518' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:21:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster","name":"cli-cluster","type":"Microsoft.StreamAnalytics/clusters","location":"West + US","properties":{"createdDate":"2022-02-09T07:03:15.893Z","clusterId":"81aec653-654f-439c-bec3-f97fba4be238","provisioningState":"Succeeded","capacityAllocated":0,"capacityAssigned":0},"sku":{"name":"Default","capacity":72}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '472' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:21:27 GMT + etag: + - 0f295c2b-e34d-42f6-8c07-01a728f2d172 + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:21:29 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:21:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:21:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:22:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:22:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:22:21 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:22:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:22:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:22:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:23:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:23:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:23:23 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:23:33 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:23:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:23:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:24:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:24:15 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:24:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:24:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:24:46 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:24:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:25:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:25:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:25:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:25:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:25:48 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:25:58 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:26:09 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:26:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:26:30 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:26:40 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:26:52 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:27:02 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:27:13 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:27:24 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:27:34 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:27:44 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:27:54 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.70bd8e10-a03f-463d-a485-11a774233d53?api-version=2020-03-01 + response: + body: + string: '{"status":"Deleting","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '34' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:28: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-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/stream-analytics/azext_stream_analytics/tests/latest/recordings/test_private_endpoint_crud.yaml b/src/stream-analytics/azext_stream_analytics/tests/latest/recordings/test_private_endpoint_crud.yaml new file mode 100644 index 00000000000..f5f969a1a56 --- /dev/null +++ b/src/stream-analytics/azext_stream_analytics/tests/latest/recordings/test_private_endpoint_crud.yaml @@ -0,0 +1,6193 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-resource/20.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_stream_analytics_000001?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001","name":"cli_test_stream_analytics_000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2022-02-09T08:07:46Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '342' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:08: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", "sku": {"name": "Default", "capacity": 36}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster create + Connection: + - keep-alive + Content-Length: + - '66' + Content-Type: + - application/json + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster","name":"cli-cluster","type":"Microsoft.StreamAnalytics/clusters","location":"West + US","properties":{"createdDate":"2022-02-09T08:08:26.017Z","clusterId":"2a1991f9-f689-413e-8df9-3810281bf401","provisioningState":"InProgress","capacityAllocated":0,"capacityAssigned":0},"sku":{"name":"Default","capacity":36}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + cache-control: + - no-store, no-cache + content-length: + - '473' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:08:26 GMT + etag: + - 84f6e01d-7c35-4b02-be10-60d47840fb45 + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnetmvc-version: + - '5.0' + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"InProgress","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '36' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:08: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"InProgress","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '36' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:09: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"InProgress","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '36' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:09:57 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:10: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:10: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:11: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:11: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:12:29 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:12: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:13: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:14: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:15: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:15:31 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:16:02 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:16: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:17:02 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:17: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:18: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:18:34 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:19: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:19:34 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:20:06 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:20:36 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:21: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:21:37 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:22: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:22: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:23: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:23: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:24: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:24: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:25: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:25: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:26: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:26: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:27: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:27: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:28: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:28: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:29: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:29: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:30: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:30: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:31: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:31: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:32:16 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:32:47 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:33: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:33:47 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:34: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:34: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:35: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:35: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:36: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:36: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:37: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:38: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:38: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:39:22 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:39: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:40:22 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:40:53 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:41: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"CreatingVirtualMachines","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '49' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:41: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"ConfiguringNetworking","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '47' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:42: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"ConfiguringNetworking","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '47' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:42: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:43:25 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:43:57 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:44: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:44:57 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:45: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:45:57 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:46: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:46: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:47:29 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:47: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:48: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:49: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:49: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:50: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:50:31 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:51:02 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:51: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:52: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:52: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:53: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:53:34 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:54: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:54: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:55: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:55: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:56: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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:56:36 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"SettingUpStreamingRuntime","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:57:06 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/OperationResults/0637799616000000000.59a47483-6a21-40eb-8a87-a3810a3a115c?api-version=2020-03-01 + response: + body: + string: '{"status":"Succeeded","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '35' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:57:36 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics cluster create + Connection: + - keep-alive + ParameterSetName: + - -n -g --sku + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster","name":"cli-cluster","type":"Microsoft.StreamAnalytics/clusters","location":"West + US","properties":{"createdDate":"2022-02-09T08:08:26.017Z","clusterId":"2a1991f9-f689-413e-8df9-3810281bf401","provisioningState":"Succeeded","capacityAllocated":0,"capacityAssigned":0},"sku":{"name":"Default","capacity":36}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '472' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:57:37 GMT + etag: + - 11007262-eb2d-45db-9c36-8f7e43444b03 + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnetmvc-version: + - '5.0' + 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: + - storage account show + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002?api-version=2021-06-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002","name":"pl000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2022-02-09T08:07:59.3965719Z","key2":"2022-02-09T08:07:59.3965719Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-09T08:07:59.4121969Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2022-02-09T08:07:59.4121969Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2022-02-09T08:07:59.3028216Z","primaryEndpoints":{"dfs":"https://pl000002.dfs.core.windows.net/","web":"https://pl000002.z22.web.core.windows.net/","blob":"https://pl000002.blob.core.windows.net/","queue":"https://pl000002.queue.core.windows.net/","table":"https://pl000002.table.core.windows.net/","file":"https://pl000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1374' + content-type: + - application/json + date: + - Wed, 09 Feb 2022 08:57:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account private-link-resource list + Connection: + - keep-alive + ParameterSetName: + - -g --account-name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-azure-mgmt-storage/19.0.0 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002/privateLinkResources?api-version=2021-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002/privateLinkResources/blob","name":"blob","type":"Microsoft.Storage/storageAccounts/privateLinkResources","properties":{"groupId":"blob","requiredMembers":["blob"],"requiredZoneNames":["privatelink.blob.core.windows.net"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002/privateLinkResources/table","name":"table","type":"Microsoft.Storage/storageAccounts/privateLinkResources","properties":{"groupId":"table","requiredMembers":["table"],"requiredZoneNames":["privatelink.table.core.windows.net"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002/privateLinkResources/queue","name":"queue","type":"Microsoft.Storage/storageAccounts/privateLinkResources","properties":{"groupId":"queue","requiredMembers":["queue"],"requiredZoneNames":["privatelink.queue.core.windows.net"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002/privateLinkResources/file","name":"file","type":"Microsoft.Storage/storageAccounts/privateLinkResources","properties":{"groupId":"file","requiredMembers":["file"],"requiredZoneNames":["privatelink.file.core.windows.net"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002/privateLinkResources/web","name":"web","type":"Microsoft.Storage/storageAccounts/privateLinkResources","properties":{"groupId":"web","requiredMembers":["web"],"requiredZoneNames":["privatelink.web.core.windows.net"]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002/privateLinkResources/dfs","name":"dfs","type":"Microsoft.Storage/storageAccounts/privateLinkResources","properties":{"groupId":"dfs","requiredMembers":["dfs"],"requiredZoneNames":["privatelink.dfs.core.windows.net"]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '2309' + content-type: + - application/json + date: + - Wed, 09 Feb 2022 08:57:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"properties": {"manualPrivateLinkServiceConnections": [{"properties": + {"privateLinkServiceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002", + "groupIds": ["blob"]}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint create + Connection: + - keep-alive + Content-Length: + - '277' + Content-Type: + - application/json + ParameterSetName: + - -n -g --cluster-name --connections + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe","name":"cli-pe","type":"Microsoft.StreamAnalytics/clusters/privateEndpoints","properties":{"createdDate":"2022-02-09T08:57:43.03Z","manualPrivateLinkServiceConnections":[{"properties":{"privateLinkServiceConnectionState":{"status":"PendingCreation","description":null,"actionsRequired":null},"privateLinkServiceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002","groupIds":["blob"],"requestMessage":"This + request originated from a Stream Analytics cluster named cli-cluster"}}]},"etag":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '788' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:57:42 GMT + etag: + - 9e7cfe27-7933-4e4d-baf3-9b575bdae0d2 + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics private-endpoint list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints?api-version=2020-03-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe","name":"cli-pe","type":"Microsoft.StreamAnalytics/clusters/privateEndpoints","properties":{"createdDate":"2022-02-09T08:57:43.03Z","manualPrivateLinkServiceConnections":[{"properties":{"privateLinkServiceConnectionState":{"status":"PendingCreation","description":null,"actionsRequired":null},"privateLinkServiceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002","groupIds":["blob"],"requestMessage":"This + request originated from a Stream Analytics cluster named cli-cluster"}}]},"etag":"9e7cfe27-7933-4e4d-baf3-9b575bdae0d2"}],"nextLink":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '850' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:57:43 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-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics private-endpoint show + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe?api-version=2020-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe","name":"cli-pe","type":"Microsoft.StreamAnalytics/clusters/privateEndpoints","properties":{"createdDate":"2022-02-09T08:57:43.03Z","manualPrivateLinkServiceConnections":[{"properties":{"privateLinkServiceConnectionState":{"status":"PendingCreation","description":null,"actionsRequired":null},"privateLinkServiceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.Storage/storageAccounts/pl000002","groupIds":["blob"],"requestMessage":"This + request originated from a Stream Analytics cluster named cli-cluster"}}]},"etag":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '788' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 08:57:45 GMT + etag: + - 9e7cfe27-7933-4e4d-baf3-9b575bdae0d2 + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnetmvc-version: + - '5.0' + 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: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:57:47 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:57:57 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:58:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:58:18 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:58:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:58:38 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:58:50 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:59:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:59:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:59:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:59:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:59:41 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 08:59:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 09:00:01 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 09:00:12 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 09:00:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 09:00:32 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 09:00:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '' + headers: + cache-control: + - no-store, no-cache + content-length: + - '0' + date: + - Wed, 09 Feb 2022 09:00:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - stream-analytics private-endpoint delete + Connection: + - keep-alive + ParameterSetName: + - -n -g --cluster-name --yes + User-Agent: + - AZURECLI/2.33.0 azsdk-python-mgmt-streamanalytics/1.0.0b1 Python/3.8.10 (Windows-10-10.0.19044-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_stream_analytics_000001/providers/Microsoft.StreamAnalytics/clusters/cli-cluster/privateEndpoints/cli-pe/OperationResults/0637799616000000000.514743bf-231f-4ee2-a3aa-1751907ad4ad?api-version=2020-03-01 + response: + body: + string: '{"status":"InProgress","error":null}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '36' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 09 Feb 2022 09:01: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-aspnetmvc-version: + - '5.0' + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/stream-analytics/azext_stream_analytics/tests/latest/test_stream_analytics_commands.py b/src/stream-analytics/azext_stream_analytics/tests/latest/test_stream_analytics_commands.py index c9e9bc28958..1c8a952640c 100644 --- a/src/stream-analytics/azext_stream_analytics/tests/latest/test_stream_analytics_commands.py +++ b/src/stream-analytics/azext_stream_analytics/tests/latest/test_stream_analytics_commands.py @@ -13,7 +13,7 @@ ScenarioTest, StorageAccountPreparer ) -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse class StreamAnalyticsClientTest(ScenarioTest): @@ -458,3 +458,80 @@ def test_subscription_inspect(self): self.check("value[0].type", "Microsoft.StreamAnalytics/quotas") ] ) + + @ResourceGroupPreparer(name_prefix="cli_test_stream_analytics_") + def test_cluster_crud(self): + self.kwargs.update({ + "cluster": "cli-cluster", + "capacity1": 36, + "capacity2": 72, + }) + # create a cluster + self.cmd( + "stream-analytics cluster create -n {cluster} -g {rg} --sku name=Default capacity={capacity1}", + checks=[ + self.check("sku.capacity", 36), + self.check("type", "Microsoft.StreamAnalytics/clusters"), + ] + ) + # retrieve/update a cluster + self.cmd( + "stream-analytics cluster list -g {rg}", + checks=[ + self.check("length(@)", 1), + self.check("@[0].name", "{cluster}"), + ] + ) + self.cmd("stream-analytics cluster update -n {cluster} -g {rg} --sku capacity={capacity2}") + self.cmd( + "stream-analytics cluster show -n {cluster} -g {rg}", + checks=[ + self.check("sku.capacity", 72), + self.check("name", "{cluster}"), + ] + ) + # delete a cluster + self.cmd("stream-analytics cluster delete -n {cluster} -g {rg} --yes") + + @ResourceGroupPreparer(name_prefix="cli_test_stream_analytics_") + @StorageAccountPreparer(name_prefix="pl", kind="StorageV2") + def test_private_endpoint_crud(self, storage_account): + self.kwargs.update({ + "sa": storage_account, + "pe": "cli-pe", + "cluster": "cli-cluster", + }) + + self.cmd("stream-analytics cluster create -n {cluster} -g {rg} --sku name=Default capacity=36") + # prepare connections + self.kwargs["sa_id"] = self.cmd('storage account show -n {sa} -g {rg}').get_output_in_json()["id"] + self.kwargs["group_id"] = self.cmd("storage account private-link-resource list -g {rg} \ + --account-name {sa}").get_output_in_json()[0]["groupId"] + self.kwargs["connections"] = json.dumps([{ + "privateLinkServiceId": self.kwargs["sa_id"], + "groupIds": [self.kwargs["group_id"]] + }]) + self.cmd( + "stream-analytics private-endpoint create -n {pe} -g {rg} \ + --cluster-name {cluster} --connections '{connections}'", + checks=[ + self.check("name", "{pe}"), + self.check("type", "Microsoft.StreamAnalytics/clusters/privateEndpoints"), + ] + ) + + self.cmd( + "stream-analytics private-endpoint list -g {rg} --cluster-name {cluster}", + checks=[ + self.check("length(@)", 1), + self.check("@[0].name", "{pe}"), + ] + ) + self.cmd( + "stream-analytics private-endpoint show -n {pe} -g {rg} --cluster-name {cluster}", + checks=[ + self.check("name", "{pe}"), + self.check("type", "Microsoft.StreamAnalytics/clusters/privateEndpoints"), + ] + ) + self.cmd("stream-analytics private-endpoint delete -n {pe} -g {rg} --cluster-name {cluster} --yes") diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/_stream_analytics_management_client.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/_stream_analytics_management_client.py index 22203e24176..5ad14e7f889 100644 --- a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/_stream_analytics_management_client.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/_stream_analytics_management_client.py @@ -25,6 +25,8 @@ from .operations import TransformationsOperations from .operations import FunctionsOperations from .operations import SubscriptionsOperations +from .operations import ClustersOperations +from .operations import PrivateEndpointsOperations from . import models @@ -45,6 +47,10 @@ class StreamAnalyticsManagementClient(object): :vartype functions: stream_analytics_management_client.operations.FunctionsOperations :ivar subscriptions: SubscriptionsOperations operations :vartype subscriptions: stream_analytics_management_client.operations.SubscriptionsOperations + :ivar clusters: ClustersOperations operations + :vartype clusters: stream_analytics_management_client.operations.ClustersOperations + :ivar private_endpoints: PrivateEndpointsOperations operations + :vartype private_endpoints: stream_analytics_management_client.operations.PrivateEndpointsOperations :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. @@ -85,6 +91,10 @@ def __init__( self._client, self._config, self._serialize, self._deserialize) self.subscriptions = SubscriptionsOperations( self._client, self._config, self._serialize, self._deserialize) + self.clusters = ClustersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.private_endpoints = PrivateEndpointsOperations( + self._client, self._config, self._serialize, self._deserialize) def close(self): # type: () -> None diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/_stream_analytics_management_client.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/_stream_analytics_management_client.py index 8b75bccb9d1..6c6af6c3bfd 100644 --- a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/_stream_analytics_management_client.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/_stream_analytics_management_client.py @@ -23,6 +23,8 @@ from .operations import TransformationsOperations from .operations import FunctionsOperations from .operations import SubscriptionsOperations +from .operations import ClustersOperations +from .operations import PrivateEndpointsOperations from .. import models @@ -43,6 +45,10 @@ class StreamAnalyticsManagementClient(object): :vartype functions: stream_analytics_management_client.aio.operations.FunctionsOperations :ivar subscriptions: SubscriptionsOperations operations :vartype subscriptions: stream_analytics_management_client.aio.operations.SubscriptionsOperations + :ivar clusters: ClustersOperations operations + :vartype clusters: stream_analytics_management_client.aio.operations.ClustersOperations + :ivar private_endpoints: PrivateEndpointsOperations operations + :vartype private_endpoints: stream_analytics_management_client.aio.operations.PrivateEndpointsOperations :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. @@ -82,6 +88,10 @@ def __init__( self._client, self._config, self._serialize, self._deserialize) self.subscriptions = SubscriptionsOperations( self._client, self._config, self._serialize, self._deserialize) + self.clusters = ClustersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.private_endpoints = PrivateEndpointsOperations( + self._client, self._config, self._serialize, self._deserialize) async def close(self) -> None: await self._client.close() diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/__init__.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/__init__.py index a034ccf2de4..72cfdc41ec9 100644 --- a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/__init__.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/__init__.py @@ -13,6 +13,8 @@ from ._transformations_operations import TransformationsOperations from ._functions_operations import FunctionsOperations from ._subscriptions_operations import SubscriptionsOperations +from ._clusters_operations import ClustersOperations +from ._private_endpoints_operations import PrivateEndpointsOperations __all__ = [ 'Operations', @@ -22,4 +24,6 @@ 'TransformationsOperations', 'FunctionsOperations', 'SubscriptionsOperations', + 'ClustersOperations', + 'PrivateEndpointsOperations', ] diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/_clusters_operations.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/_clusters_operations.py new file mode 100644 index 00000000000..cb38de89b0b --- /dev/null +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/_clusters_operations.py @@ -0,0 +1,710 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClustersOperations: + """ClustersOperations 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: ~stream_analytics_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_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster: "models.Cluster", + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.Cluster": + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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 = { + '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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_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(cluster, 'Cluster') + 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('Cluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + cluster_name: str, + cluster: "models.Cluster", + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs + ) -> AsyncLROPoller["models.Cluster"]: + """Creates a Stream Analytics Cluster or replaces an already existing cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param cluster: The definition of the cluster that will be used to create a new cluster or + replace the existing one. + :type cluster: ~stream_analytics_management_client.models.Cluster + :param if_match: The ETag of the resource. Omit this value to always overwrite the current + record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent + changes. + :type if_match: str + :param if_none_match: Set to '*' to allow a new resource to be created, but to prevent updating + an existing record set. Other values will result in a 412 Pre-condition Failed response. + :type if_none_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 Cluster or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~stream_analytics_management_client.models.Cluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + 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, + cluster_name=cluster_name, + cluster=cluster, + if_match=if_match, + if_none_match=if_none_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('Cluster', 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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + cluster_name: str, + cluster: "models.Cluster", + if_match: Optional[str] = None, + **kwargs + ) -> Optional["models.Cluster"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.Cluster"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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(cluster, 'Cluster') + 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('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + cluster_name: str, + cluster: "models.Cluster", + if_match: Optional[str] = None, + **kwargs + ) -> AsyncLROPoller["models.Cluster"]: + """Updates an existing cluster. This can be used to partially update (ie. update one or two + properties) a cluster without affecting the rest of the cluster definition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param cluster: The properties specified here will overwrite the corresponding properties in + the existing cluster (ie. Those properties will be updated). + :type cluster: ~stream_analytics_management_client.models.Cluster + :param if_match: The ETag of the resource. Omit this value to always overwrite the current + record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent + changes. + :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 Cluster or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~stream_analytics_management_client.models.Cluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + 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, + cluster_name=cluster_name, + cluster=cluster, + 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('Cluster', 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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> "models.Cluster": + """Gets information about the specified cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Cluster, or the result of cls(response) + :rtype: ~stream_analytics_management_client.models.Cluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_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-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes the specified cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_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, + cluster_name=cluster_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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + def list_by_subscription( + self, + **kwargs + ) -> AsyncIterable["models.ClusterListResult"]: + """Lists all of the clusters in the given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ClusterListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~stream_analytics_management_client.models.ClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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_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('ClusterListResult', 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.StreamAnalytics/clusters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.ClusterListResult"]: + """Lists all of the clusters in the given 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 ClusterListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~stream_analytics_management_client.models.ClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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', 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 = {} # 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('ClusterListResult', 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.StreamAnalytics/clusters'} # type: ignore + + def list_streaming_jobs( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> AsyncIterable["models.ClusterJobListResult"]: + """Lists all of the streaming jobs in the given cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ClusterJobListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~stream_analytics_management_client.models.ClusterJobListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterJobListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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_streaming_jobs.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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.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('ClusterJobListResult', 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_streaming_jobs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/listStreamingJobs'} # type: ignore diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/_private_endpoints_operations.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/_private_endpoints_operations.py new file mode 100644 index 00000000000..948bb4033f2 --- /dev/null +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/aio/operations/_private_endpoints_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. +# -------------------------------------------------------------------------- +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 PrivateEndpointsOperations: + """PrivateEndpointsOperations 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: ~stream_analytics_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, + cluster_name: str, + private_endpoint_name: str, + private_endpoint: "models.PrivateEndpoint", + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.PrivateEndpoint": + """Creates a Stream Analytics Private Endpoint or replaces an already existing Private Endpoint. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param private_endpoint: The definition of the private endpoint that will be used to create a + new cluster or replace the existing one. + :type private_endpoint: ~stream_analytics_management_client.models.PrivateEndpoint + :param if_match: The ETag of the resource. Omit this value to always overwrite the current + record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent + changes. + :type if_match: str + :param if_none_match: Set to '*' to allow a new resource to be created, but to prevent updating + an existing record set. Other values will result in a 412 Pre-condition Failed response. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpoint, or the result of cls(response) + :rtype: ~stream_analytics_management_client.models.PrivateEndpoint + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpoint"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_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') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_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, 'PrivateEndpoint') + 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('PrivateEndpoint', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PrivateEndpoint', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + cluster_name: str, + private_endpoint_name: str, + **kwargs + ) -> "models.PrivateEndpoint": + """Gets information about the specified Private Endpoint. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpoint, or the result of cls(response) + :rtype: ~stream_analytics_management_client.models.PrivateEndpoint + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpoint"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_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('PrivateEndpoint', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cluster_name: str, + private_endpoint_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-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_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.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + cluster_name: str, + private_endpoint_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Delete the specified private endpoint. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_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, + cluster_name=cluster_name, + private_endpoint_name=private_endpoint_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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_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.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}'} # type: ignore + + def list_by_cluster( + self, + resource_group_name: str, + cluster_name: str, + **kwargs + ) -> AsyncIterable["models.PrivateEndpointListResult"]: + """Lists the private endpoints in the cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateEndpointListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~stream_analytics_management_client.models.PrivateEndpointListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpointListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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_cluster.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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('PrivateEndpointListResult', 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_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints'} # type: ignore diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/__init__.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/__init__.py index eee014f3b75..e5ed5d7743d 100644 --- a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/__init__.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/__init__.py @@ -30,7 +30,12 @@ from ._models_py3 import BlobReferenceInputDataSourceProperties from ._models_py3 import BlobStreamInputDataSource from ._models_py3 import BlobStreamInputDataSourceProperties + from ._models_py3 import Cluster from ._models_py3 import ClusterInfo + from ._models_py3 import ClusterJob + from ._models_py3 import ClusterJobListResult + from ._models_py3 import ClusterListResult + from ._models_py3 import ClusterSku from ._models_py3 import Compression from ._models_py3 import CsvSerialization from ._models_py3 import DiagnosticCondition @@ -73,6 +78,11 @@ from ._models_py3 import ParquetSerialization from ._models_py3 import PowerBiOutputDataSource from ._models_py3 import PowerBiOutputDataSourceProperties + from ._models_py3 import PrivateEndpoint + from ._models_py3 import PrivateEndpointListResult + from ._models_py3 import PrivateLinkConnectionState + from ._models_py3 import PrivateLinkServiceConnection + from ._models_py3 import ProxyResource from ._models_py3 import ReferenceInputDataSource from ._models_py3 import ReferenceInputProperties from ._models_py3 import Resource @@ -121,7 +131,12 @@ from ._models import BlobReferenceInputDataSourceProperties # type: ignore from ._models import BlobStreamInputDataSource # type: ignore from ._models import BlobStreamInputDataSourceProperties # type: ignore + from ._models import Cluster # type: ignore from ._models import ClusterInfo # type: ignore + from ._models import ClusterJob # type: ignore + from ._models import ClusterJobListResult # type: ignore + from ._models import ClusterListResult # type: ignore + from ._models import ClusterSku # type: ignore from ._models import Compression # type: ignore from ._models import CsvSerialization # type: ignore from ._models import DiagnosticCondition # type: ignore @@ -164,6 +179,11 @@ from ._models import ParquetSerialization # type: ignore from ._models import PowerBiOutputDataSource # type: ignore from ._models import PowerBiOutputDataSourceProperties # type: ignore + from ._models import PrivateEndpoint # type: ignore + from ._models import PrivateEndpointListResult # type: ignore + from ._models import PrivateLinkConnectionState # type: ignore + from ._models import PrivateLinkServiceConnection # type: ignore + from ._models import ProxyResource # type: ignore from ._models import ReferenceInputDataSource # type: ignore from ._models import ReferenceInputProperties # type: ignore from ._models import Resource # type: ignore @@ -191,12 +211,15 @@ from ._stream_analytics_management_client_enums import ( AuthenticationMode, + ClusterProvisioningState, + ClusterSkuName, CompatibilityLevel, CompressionType, ContentStoragePolicy, Encoding, EventSerializationType, EventsOutOfOrderPolicy, + JobState, JobType, JsonOutputSerializationFormat, OutputErrorPolicy, @@ -229,7 +252,12 @@ 'BlobReferenceInputDataSourceProperties', 'BlobStreamInputDataSource', 'BlobStreamInputDataSourceProperties', + 'Cluster', 'ClusterInfo', + 'ClusterJob', + 'ClusterJobListResult', + 'ClusterListResult', + 'ClusterSku', 'Compression', 'CsvSerialization', 'DiagnosticCondition', @@ -272,6 +300,11 @@ 'ParquetSerialization', 'PowerBiOutputDataSource', 'PowerBiOutputDataSourceProperties', + 'PrivateEndpoint', + 'PrivateEndpointListResult', + 'PrivateLinkConnectionState', + 'PrivateLinkServiceConnection', + 'ProxyResource', 'ReferenceInputDataSource', 'ReferenceInputProperties', 'Resource', @@ -297,12 +330,15 @@ 'TrackedResource', 'Transformation', 'AuthenticationMode', + 'ClusterProvisioningState', + 'ClusterSkuName', 'CompatibilityLevel', 'CompressionType', 'ContentStoragePolicy', 'Encoding', 'EventSerializationType', 'EventsOutOfOrderPolicy', + 'JobState', 'JobType', 'JsonOutputSerializationFormat', 'OutputErrorPolicy', diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_models.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_models.py index d7ade059b10..fdc0cbb032c 100644 --- a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_models.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_models.py @@ -1363,6 +1363,167 @@ def __init__( self.source_partition_count = kwargs.get('source_partition_count', None) +class Resource(msrest.serialization.Model): + """The base resource 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. + + :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: The geo-location where the resource lives. + :type location: 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'}, + '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) + + +class Cluster(TrackedResource): + """A Stream Analytics Cluster object. + + 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 tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: The geo-location where the resource lives. + :type location: str + :param sku: The SKU of the cluster. This determines the size/capacity of the cluster. Required + on PUT (CreateOrUpdate) requests. + :type sku: ~stream_analytics_management_client.models.ClusterSku + :ivar etag: The current entity tag for the cluster. This is an opaque string. You can use it to + detect whether the resource has changed between requests. You can also use it in the If-Match + or If-None-Match headers for write operations for optimistic concurrency. + :vartype etag: str + :ivar created_date: The date this cluster was created. + :vartype created_date: ~datetime.datetime + :ivar cluster_id: Unique identifier for the cluster. + :vartype cluster_id: str + :ivar provisioning_state: The status of the cluster provisioning. The three terminal states + are: Succeeded, Failed and Canceled. Possible values include: "Succeeded", "Failed", + "Canceled", "InProgress". + :vartype provisioning_state: str or + ~stream_analytics_management_client.models.ClusterProvisioningState + :ivar capacity_allocated: Represents the number of streaming units currently being used on the + cluster. + :vartype capacity_allocated: int + :ivar capacity_assigned: Represents the sum of the SUs of all streaming jobs associated with + the cluster. If all of the jobs were running, this would be the capacity allocated. + :vartype capacity_assigned: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'created_date': {'readonly': True}, + 'cluster_id': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'capacity_allocated': {'readonly': True}, + 'capacity_assigned': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'ClusterSku'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, + 'cluster_id': {'key': 'properties.clusterId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'capacity_allocated': {'key': 'properties.capacityAllocated', 'type': 'int'}, + 'capacity_assigned': {'key': 'properties.capacityAssigned', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(Cluster, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.etag = None + self.created_date = None + self.cluster_id = None + self.provisioning_state = None + self.capacity_allocated = None + self.capacity_assigned = None + + class ClusterInfo(msrest.serialization.Model): """The properties associated with a Stream Analytics cluster. @@ -1382,6 +1543,133 @@ def __init__( self.id = kwargs.get('id', None) +class ClusterJob(msrest.serialization.Model): + """A streaming job. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID of the streaming job. + :vartype id: str + :ivar streaming_units: The number of streaming units that are used by the streaming job. + :vartype streaming_units: int + :ivar job_state: The current execution state of the streaming job. Possible values include: + "Created", "Starting", "Running", "Stopping", "Stopped", "Deleting", "Failed", "Degraded", + "Restarting", "Scaling". + :vartype job_state: str or ~stream_analytics_management_client.models.JobState + """ + + _validation = { + 'id': {'readonly': True}, + 'streaming_units': {'readonly': True}, + 'job_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'streaming_units': {'key': 'streamingUnits', 'type': 'int'}, + 'job_state': {'key': 'jobState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterJob, self).__init__(**kwargs) + self.id = None + self.streaming_units = None + self.job_state = None + + +class ClusterJobListResult(msrest.serialization.Model): + """A list of streaming jobs. Populated by a List operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: A list of streaming jobs. + :vartype value: list[~stream_analytics_management_client.models.ClusterJob] + :ivar next_link: The URL to fetch the next set of streaming jobs. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ClusterJob]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterJobListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ClusterListResult(msrest.serialization.Model): + """A list of clusters populated by a 'list' operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: A list of clusters. + :vartype value: list[~stream_analytics_management_client.models.Cluster] + :ivar next_link: The URL to fetch the next set of clusters. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Cluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ClusterSku(msrest.serialization.Model): + """The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT (CreateOrUpdate) requests. + + :param name: Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests. + Possible values include: "Default". + :type name: str or ~stream_analytics_management_client.models.ClusterSkuName + :param capacity: Denotes the number of streaming units the cluster can support. Valid values + for this property are multiples of 36 with a minimum value of 36 and maximum value of 216. + Required on PUT (CreateOrUpdate) requests. + :type capacity: int + """ + + _validation = { + 'capacity': {'maximum': 216, 'minimum': 36}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.capacity = kwargs.get('capacity', None) + + class Compression(msrest.serialization.Model): """Describes how input data is compressed. @@ -2978,6 +3266,201 @@ def __init__( self.authentication_mode = kwargs.get('authentication_mode', None) +class PrivateEndpoint(Resource): + """Complete information about the private endpoint. + + 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: Unique opaque string (generally a GUID) that represents the metadata state of the + resource (private endpoint) and changes whenever the resource is updated. Required on PUT + (CreateOrUpdate) requests. + :vartype etag: str + :ivar created_date: The date when this private endpoint was created. + :vartype created_date: str + :param manual_private_link_service_connections: A list of connections to the remote resource. + Immutable after it is set. + :type manual_private_link_service_connections: + list[~stream_analytics_management_client.models.PrivateLinkServiceConnection] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'created_date': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'created_date': {'key': 'properties.createdDate', 'type': 'str'}, + 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpoint, self).__init__(**kwargs) + self.etag = None + self.created_date = None + self.manual_private_link_service_connections = kwargs.get('manual_private_link_service_connections', None) + + +class PrivateEndpointListResult(msrest.serialization.Model): + """A list of private endpoints. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: A list of private endpoints. + :vartype value: list[~stream_analytics_management_client.models.PrivateEndpoint] + :ivar next_link: The URL to fetch the next set of private endpoints. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpoint]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpointListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class PrivateLinkConnectionState(msrest.serialization.Model): + """A collection of read-only information about the state of the connection to the private remote resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar status: Indicates whether the connection has been Approved/Rejected/Removed by the owner + of the remote resource/service. + :vartype status: str + :ivar description: The reason for approval/rejection of the connection. + :vartype description: str + :ivar actions_required: A message indicating if changes on the service provider require any + updates on the consumer. + :vartype actions_required: str + """ + + _validation = { + 'status': {'readonly': True}, + 'description': {'readonly': True}, + 'actions_required': {'readonly': True}, + } + + _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 = None + self.description = None + self.actions_required = None + + +class PrivateLinkServiceConnection(msrest.serialization.Model): + """A grouping of information about the connection to the remote resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param private_link_service_id: The resource id of the private link service. Required on PUT + (CreateOrUpdate) requests. + :type private_link_service_id: str + :param group_ids: The ID(s) of the group(s) obtained from the remote resource that this private + endpoint should connect to. Required on PUT (CreateOrUpdate) requests. + :type group_ids: list[str] + :ivar request_message: A message passed to the owner of the remote resource with this + connection request. Restricted to 140 chars. + :vartype request_message: str + :param private_link_service_connection_state: A collection of read-only information about the + state of the connection to the private remote resource. + :type private_link_service_connection_state: + ~stream_analytics_management_client.models.PrivateLinkConnectionState + """ + + _validation = { + 'request_message': {'readonly': True}, + } + + _attribute_map = { + 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, + 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, + 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkConnectionState'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkServiceConnection, self).__init__(**kwargs) + self.private_link_service_id = kwargs.get('private_link_service_id', None) + self.group_ids = kwargs.get('group_ids', None) + self.request_message = None + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', 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 ReferenceInputProperties(InputProperties): """The properties that are associated with an input containing reference data. @@ -3033,43 +3516,6 @@ def __init__( self.datasource = kwargs.get('datasource', None) -class Resource(msrest.serialization.Model): - """The base resource 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 ResourceTestStatus(msrest.serialization.Model): """Describes the status of the test operation along with error information, if applicable. @@ -3438,48 +3884,6 @@ def __init__( self.output_start_time = kwargs.get('output_start_time', 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. - - :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: The geo-location where the resource lives. - :type location: 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'}, - '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) - - class StreamingJob(TrackedResource): """A streaming job object, containing all information associated with the named streaming job. diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_models_py3.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_models_py3.py index 2b4eadc7ae8..2e7cf2f2139 100644 --- a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_models_py3.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_models_py3.py @@ -1521,6 +1521,174 @@ def __init__( self.source_partition_count = source_partition_count +class Resource(msrest.serialization.Model): + """The base resource 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. + + :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: The geo-location where the resource lives. + :type location: 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'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + location: Optional[str] = None, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location + + +class Cluster(TrackedResource): + """A Stream Analytics Cluster object. + + 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 tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: The geo-location where the resource lives. + :type location: str + :param sku: The SKU of the cluster. This determines the size/capacity of the cluster. Required + on PUT (CreateOrUpdate) requests. + :type sku: ~stream_analytics_management_client.models.ClusterSku + :ivar etag: The current entity tag for the cluster. This is an opaque string. You can use it to + detect whether the resource has changed between requests. You can also use it in the If-Match + or If-None-Match headers for write operations for optimistic concurrency. + :vartype etag: str + :ivar created_date: The date this cluster was created. + :vartype created_date: ~datetime.datetime + :ivar cluster_id: Unique identifier for the cluster. + :vartype cluster_id: str + :ivar provisioning_state: The status of the cluster provisioning. The three terminal states + are: Succeeded, Failed and Canceled. Possible values include: "Succeeded", "Failed", + "Canceled", "InProgress". + :vartype provisioning_state: str or + ~stream_analytics_management_client.models.ClusterProvisioningState + :ivar capacity_allocated: Represents the number of streaming units currently being used on the + cluster. + :vartype capacity_allocated: int + :ivar capacity_assigned: Represents the sum of the SUs of all streaming jobs associated with + the cluster. If all of the jobs were running, this would be the capacity allocated. + :vartype capacity_assigned: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'created_date': {'readonly': True}, + 'cluster_id': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'capacity_allocated': {'readonly': True}, + 'capacity_assigned': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'ClusterSku'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, + 'cluster_id': {'key': 'properties.clusterId', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'capacity_allocated': {'key': 'properties.capacityAllocated', 'type': 'int'}, + 'capacity_assigned': {'key': 'properties.capacityAssigned', 'type': 'int'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + location: Optional[str] = None, + sku: Optional["ClusterSku"] = None, + **kwargs + ): + super(Cluster, self).__init__(tags=tags, location=location, **kwargs) + self.sku = sku + self.etag = None + self.created_date = None + self.cluster_id = None + self.provisioning_state = None + self.capacity_allocated = None + self.capacity_assigned = None + + class ClusterInfo(msrest.serialization.Model): """The properties associated with a Stream Analytics cluster. @@ -1542,6 +1710,136 @@ def __init__( self.id = id +class ClusterJob(msrest.serialization.Model): + """A streaming job. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: Resource ID of the streaming job. + :vartype id: str + :ivar streaming_units: The number of streaming units that are used by the streaming job. + :vartype streaming_units: int + :ivar job_state: The current execution state of the streaming job. Possible values include: + "Created", "Starting", "Running", "Stopping", "Stopped", "Deleting", "Failed", "Degraded", + "Restarting", "Scaling". + :vartype job_state: str or ~stream_analytics_management_client.models.JobState + """ + + _validation = { + 'id': {'readonly': True}, + 'streaming_units': {'readonly': True}, + 'job_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'streaming_units': {'key': 'streamingUnits', 'type': 'int'}, + 'job_state': {'key': 'jobState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterJob, self).__init__(**kwargs) + self.id = None + self.streaming_units = None + self.job_state = None + + +class ClusterJobListResult(msrest.serialization.Model): + """A list of streaming jobs. Populated by a List operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: A list of streaming jobs. + :vartype value: list[~stream_analytics_management_client.models.ClusterJob] + :ivar next_link: The URL to fetch the next set of streaming jobs. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ClusterJob]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterJobListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ClusterListResult(msrest.serialization.Model): + """A list of clusters populated by a 'list' operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: A list of clusters. + :vartype value: list[~stream_analytics_management_client.models.Cluster] + :ivar next_link: The URL to fetch the next set of clusters. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Cluster]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClusterListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class ClusterSku(msrest.serialization.Model): + """The SKU of the cluster. This determines the size/capacity of the cluster. Required on PUT (CreateOrUpdate) requests. + + :param name: Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests. + Possible values include: "Default". + :type name: str or ~stream_analytics_management_client.models.ClusterSkuName + :param capacity: Denotes the number of streaming units the cluster can support. Valid values + for this property are multiples of 36 with a minimum value of 36 and maximum value of 216. + Required on PUT (CreateOrUpdate) requests. + :type capacity: int + """ + + _validation = { + 'capacity': {'maximum': 216, 'minimum': 36}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__( + self, + *, + name: Optional[Union[str, "ClusterSkuName"]] = None, + capacity: Optional[int] = None, + **kwargs + ): + super(ClusterSku, self).__init__(**kwargs) + self.name = name + self.capacity = capacity + + class Compression(msrest.serialization.Model): """Describes how input data is compressed. @@ -3286,6 +3584,207 @@ def __init__( self.authentication_mode = authentication_mode +class PrivateEndpoint(Resource): + """Complete information about the private endpoint. + + 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: Unique opaque string (generally a GUID) that represents the metadata state of the + resource (private endpoint) and changes whenever the resource is updated. Required on PUT + (CreateOrUpdate) requests. + :vartype etag: str + :ivar created_date: The date when this private endpoint was created. + :vartype created_date: str + :param manual_private_link_service_connections: A list of connections to the remote resource. + Immutable after it is set. + :type manual_private_link_service_connections: + list[~stream_analytics_management_client.models.PrivateLinkServiceConnection] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'created_date': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'created_date': {'key': 'properties.createdDate', 'type': 'str'}, + 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, + } + + def __init__( + self, + *, + manual_private_link_service_connections: Optional[List["PrivateLinkServiceConnection"]] = None, + **kwargs + ): + super(PrivateEndpoint, self).__init__(**kwargs) + self.etag = None + self.created_date = None + self.manual_private_link_service_connections = manual_private_link_service_connections + + +class PrivateEndpointListResult(msrest.serialization.Model): + """A list of private endpoints. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: A list of private endpoints. + :vartype value: list[~stream_analytics_management_client.models.PrivateEndpoint] + :ivar next_link: The URL to fetch the next set of private endpoints. + :vartype next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpoint]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpointListResult, self).__init__(**kwargs) + self.value = None + self.next_link = None + + +class PrivateLinkConnectionState(msrest.serialization.Model): + """A collection of read-only information about the state of the connection to the private remote resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar status: Indicates whether the connection has been Approved/Rejected/Removed by the owner + of the remote resource/service. + :vartype status: str + :ivar description: The reason for approval/rejection of the connection. + :vartype description: str + :ivar actions_required: A message indicating if changes on the service provider require any + updates on the consumer. + :vartype actions_required: str + """ + + _validation = { + 'status': {'readonly': True}, + 'description': {'readonly': True}, + 'actions_required': {'readonly': True}, + } + + _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 = None + self.description = None + self.actions_required = None + + +class PrivateLinkServiceConnection(msrest.serialization.Model): + """A grouping of information about the connection to the remote resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param private_link_service_id: The resource id of the private link service. Required on PUT + (CreateOrUpdate) requests. + :type private_link_service_id: str + :param group_ids: The ID(s) of the group(s) obtained from the remote resource that this private + endpoint should connect to. Required on PUT (CreateOrUpdate) requests. + :type group_ids: list[str] + :ivar request_message: A message passed to the owner of the remote resource with this + connection request. Restricted to 140 chars. + :vartype request_message: str + :param private_link_service_connection_state: A collection of read-only information about the + state of the connection to the private remote resource. + :type private_link_service_connection_state: + ~stream_analytics_management_client.models.PrivateLinkConnectionState + """ + + _validation = { + 'request_message': {'readonly': True}, + } + + _attribute_map = { + 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, + 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, + 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkConnectionState'}, + } + + def __init__( + self, + *, + private_link_service_id: Optional[str] = None, + group_ids: Optional[List[str]] = None, + private_link_service_connection_state: Optional["PrivateLinkConnectionState"] = None, + **kwargs + ): + super(PrivateLinkServiceConnection, self).__init__(**kwargs) + self.private_link_service_id = private_link_service_id + self.group_ids = group_ids + self.request_message = None + self.private_link_service_connection_state = private_link_service_connection_state + + +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 ReferenceInputProperties(InputProperties): """The properties that are associated with an input containing reference data. @@ -3346,43 +3845,6 @@ def __init__( self.datasource = datasource -class Resource(msrest.serialization.Model): - """The base resource 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 ResourceTestStatus(msrest.serialization.Model): """Describes the status of the test operation along with error information, if applicable. @@ -3794,51 +4256,6 @@ def __init__( self.output_start_time = output_start_time -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. - - :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: The geo-location where the resource lives. - :type location: 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'}, - 'tags': {'key': 'tags', 'type': '{str}'}, - 'location': {'key': 'location', 'type': 'str'}, - } - - def __init__( - self, - *, - tags: Optional[Dict[str, str]] = None, - location: Optional[str] = None, - **kwargs - ): - super(TrackedResource, self).__init__(**kwargs) - self.tags = tags - self.location = location - - class StreamingJob(TrackedResource): """A streaming job object, containing all information associated with the named streaming job. diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_stream_analytics_management_client_enums.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_stream_analytics_management_client_enums.py index e919de98b40..9d85ec37ab2 100644 --- a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_stream_analytics_management_client_enums.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/models/_stream_analytics_management_client_enums.py @@ -34,6 +34,22 @@ class AuthenticationMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): USER_TOKEN = "UserToken" CONNECTION_STRING = "ConnectionString" +class ClusterProvisioningState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The status of the cluster provisioning. The three terminal states are: Succeeded, Failed and + Canceled + """ + + SUCCEEDED = "Succeeded" #: The cluster provisioning succeeded. + FAILED = "Failed" #: The cluster provisioning failed. + CANCELED = "Canceled" #: The cluster provisioning was canceled. + IN_PROGRESS = "InProgress" #: The cluster provisioning was inprogress. + +class ClusterSkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Specifies the SKU name of the cluster. Required on PUT (CreateOrUpdate) requests. + """ + + DEFAULT = "Default" #: The default SKU. + class CompatibilityLevel(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Controls certain runtime behaviors of the streaming job. """ @@ -82,6 +98,21 @@ class EventsOutOfOrderPolicy(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum) ADJUST = "Adjust" DROP = "Drop" +class JobState(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The current execution state of the streaming job. + """ + + CREATED = "Created" #: The job is currently in the Created state. + STARTING = "Starting" #: The job is currently in the Starting state. + RUNNING = "Running" #: The job is currently in the Running state. + STOPPING = "Stopping" #: The job is currently in the Stopping state. + STOPPED = "Stopped" #: The job is currently in the Stopped state. + DELETING = "Deleting" #: The job is currently in the Deleting state. + FAILED = "Failed" #: The job is currently in the Failed state. + DEGRADED = "Degraded" #: The job is currently in the Degraded state. + RESTARTING = "Restarting" #: The job is currently in the Restarting state. + SCALING = "Scaling" #: The job is currently in the Scaling state. + class JobType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Describes the type of the job. Valid modes are ``Cloud`` and 'Edge'. """ diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/__init__.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/__init__.py index a034ccf2de4..72cfdc41ec9 100644 --- a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/__init__.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/__init__.py @@ -13,6 +13,8 @@ from ._transformations_operations import TransformationsOperations from ._functions_operations import FunctionsOperations from ._subscriptions_operations import SubscriptionsOperations +from ._clusters_operations import ClustersOperations +from ._private_endpoints_operations import PrivateEndpointsOperations __all__ = [ 'Operations', @@ -22,4 +24,6 @@ 'TransformationsOperations', 'FunctionsOperations', 'SubscriptionsOperations', + 'ClustersOperations', + 'PrivateEndpointsOperations', ] diff --git a/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/_clusters_operations.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/_clusters_operations.py new file mode 100644 index 00000000000..45747986184 --- /dev/null +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/_clusters_operations.py @@ -0,0 +1,724 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ClustersOperations(object): + """ClustersOperations 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: ~stream_analytics_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_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + cluster, # type: "models.Cluster" + if_match=None, # type: Optional[str] + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.Cluster" + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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 = { + '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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_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(cluster, 'Cluster') + 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('Cluster', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + cluster, # type: "models.Cluster" + if_match=None, # type: Optional[str] + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.Cluster"] + """Creates a Stream Analytics Cluster or replaces an already existing cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param cluster: The definition of the cluster that will be used to create a new cluster or + replace the existing one. + :type cluster: ~stream_analytics_management_client.models.Cluster + :param if_match: The ETag of the resource. Omit this value to always overwrite the current + record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent + changes. + :type if_match: str + :param if_none_match: Set to '*' to allow a new resource to be created, but to prevent updating + an existing record set. Other values will result in a 412 Pre-condition Failed response. + :type if_none_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 Cluster or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~stream_analytics_management_client.models.Cluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + 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, + cluster_name=cluster_name, + cluster=cluster, + if_match=if_match, + if_none_match=if_none_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('Cluster', 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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + cluster_name, # type: str + cluster, # type: "models.Cluster" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.Cluster"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.Cluster"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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(cluster, 'Cluster') + 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('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + cluster_name, # type: str + cluster, # type: "models.Cluster" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.Cluster"] + """Updates an existing cluster. This can be used to partially update (ie. update one or two + properties) a cluster without affecting the rest of the cluster definition. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param cluster: The properties specified here will overwrite the corresponding properties in + the existing cluster (ie. Those properties will be updated). + :type cluster: ~stream_analytics_management_client.models.Cluster + :param if_match: The ETag of the resource. Omit this value to always overwrite the current + record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent + changes. + :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 Cluster or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~stream_analytics_management_client.models.Cluster] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + 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, + cluster_name=cluster_name, + cluster=cluster, + 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('Cluster', 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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.Cluster" + """Gets information about the specified cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Cluster, or the result of cls(response) + :rtype: ~stream_analytics_management_client.models.Cluster + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Cluster"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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('Cluster', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + cluster_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-03-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', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes the specified cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_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, + cluster_name=cluster_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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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.StreamAnalytics/clusters/{clusterName}'} # type: ignore + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ClusterListResult"] + """Lists all of the clusters in the given subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ClusterListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~stream_analytics_management_client.models.ClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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_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('ClusterListResult', 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.StreamAnalytics/clusters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ClusterListResult"] + """Lists all of the clusters in the given 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 ClusterListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~stream_analytics_management_client.models.ClusterListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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', 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 = {} # 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('ClusterListResult', 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.StreamAnalytics/clusters'} # type: ignore + + def list_streaming_jobs( + self, + resource_group_name, # type: str + cluster_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ClusterJobListResult"] + """Lists all of the streaming jobs in the given cluster. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ClusterJobListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~stream_analytics_management_client.models.ClusterJobListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ClusterJobListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-03-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_streaming_jobs.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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_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.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('ClusterJobListResult', 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_streaming_jobs.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/listStreamingJobs'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_inventory_policies_operations.py b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/_private_endpoints_operations.py similarity index 53% rename from src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_inventory_policies_operations.py rename to src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/_private_endpoints_operations.py index 3d8b22ea043..a46e58ff5b7 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_mgmt_preview_storage/v2020_08_01_preview/operations/_blob_inventory_policies_operations.py +++ b/src/stream-analytics/azext_stream_analytics/vendored_sdks/streamanalytics/operations/_private_endpoints_operations.py @@ -12,9 +12,11 @@ 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 +from .. import models if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports @@ -23,21 +25,21 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class BlobInventoryPoliciesOperations(object): - """BlobInventoryPoliciesOperations operations. +class PrivateEndpointsOperations(object): + """PrivateEndpointsOperations 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.storage.v2020_08_01_preview.models + :type models: ~stream_analytics_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 + models = models def __init__(self, client, config, serializer, deserializer): self._client = client @@ -45,46 +47,56 @@ def __init__(self, client, config, serializer, deserializer): self._deserialize = deserializer self._config = config - def get( + def create_or_update( self, resource_group_name, # type: str - account_name, # type: str - blob_inventory_policy_name, # type: Union[str, "_models.BlobInventoryPolicyName"] + cluster_name, # type: str + private_endpoint_name, # type: str + private_endpoint, # type: "models.PrivateEndpoint" + if_match=None, # type: Optional[str] + if_none_match=None, # type: Optional[str] **kwargs # type: Any ): - # type: (...) -> "_models.BlobInventoryPolicy" - """Gets the blob inventory policy associated with the specified storage account. + # type: (...) -> "models.PrivateEndpoint" + """Creates a Stream Analytics Private Endpoint or replaces an already existing Private Endpoint. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It - should always be 'default'. - :type blob_inventory_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyName + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str + :param private_endpoint: The definition of the private endpoint that will be used to create a + new cluster or replace the existing one. + :type private_endpoint: ~stream_analytics_management_client.models.PrivateEndpoint + :param if_match: The ETag of the resource. Omit this value to always overwrite the current + record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent + changes. + :type if_match: str + :param if_none_match: Set to '*' to allow a new resource to be created, but to prevent updating + an existing record set. Other values will result in a 412 Pre-condition Failed response. + :type if_none_match: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: BlobInventoryPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy + :return: PrivateEndpoint, or the result of cls(response) + :rtype: ~stream_analytics_management_client.models.PrivateEndpoint :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobInventoryPolicy"] + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpoint"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2020-03-01" + content_type = kwargs.pop("content_type", "application/json") accept = "application/json" # Construct URL - url = self.get.metadata['url'] # type: ignore + url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'blobInventoryPolicyName': self._serialize.url("blob_inventory_policy_name", blob_inventory_policy_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -94,69 +106,73 @@ def get( # 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') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - request = self._client.get(url, query_parameters, header_parameters) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(private_endpoint, 'PrivateEndpoint') + 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]: + 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) + error = self._deserialize(models.Error, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('BlobInventoryPolicy', pipeline_response) + if response.status_code == 200: + deserialized = self._deserialize('PrivateEndpoint', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('PrivateEndpoint', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}'} # type: ignore - def create_or_update( + def get( self, resource_group_name, # type: str - account_name, # type: str - blob_inventory_policy_name, # type: Union[str, "_models.BlobInventoryPolicyName"] - properties, # type: "_models.BlobInventoryPolicy" + cluster_name, # type: str + private_endpoint_name, # type: str **kwargs # type: Any ): - # type: (...) -> "_models.BlobInventoryPolicy" - """Sets the blob inventory policy to the specified storage account. + # type: (...) -> "models.PrivateEndpoint" + """Gets information about the specified Private Endpoint. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It - should always be 'default'. - :type blob_inventory_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyName - :param properties: The blob inventory policy set to a storage account. - :type properties: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: BlobInventoryPolicy, or the result of cls(response) - :rtype: ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicy + :return: PrivateEndpoint, or the result of cls(response) + :rtype: ~stream_analytics_management_client.models.PrivateEndpoint :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.BlobInventoryPolicy"] + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpoint"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" - content_type = kwargs.pop("content_type", "application/json") + api_version = "2020-03-01" accept = "application/json" # Construct URL - url = self.create_or_update.metadata['url'] # type: ignore + url = self.get.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'blobInventoryPolicyName': self._serialize.url("blob_inventory_policy_name", blob_inventory_policy_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -166,69 +182,48 @@ 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'] = self._serialize.header("accept", accept, 'str') - body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(properties, 'BlobInventoryPolicy') - body_content_kwargs['content'] = body_content - request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + 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.ErrorResponse, response) + error = self._deserialize(models.Error, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('BlobInventoryPolicy', pipeline_response) + deserialized = self._deserialize('PrivateEndpoint', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}'} # type: ignore - def delete( + def _delete_initial( self, resource_group_name, # type: str - account_name, # type: str - blob_inventory_policy_name, # type: Union[str, "_models.BlobInventoryPolicyName"] + cluster_name, # type: str + private_endpoint_name, # type: str **kwargs # type: Any ): # type: (...) -> None - """Deletes the blob inventory policy associated with the specified storage account. - - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. - :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str - :param blob_inventory_policy_name: The name of the storage account blob inventory policy. It - should always be 'default'. - :type blob_inventory_policy_name: str or ~azure.mgmt.storage.v2020_08_01_preview.models.BlobInventoryPolicyName - :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-08-01-preview" + api_version = "2020-03-01" accept = "application/json" # Construct URL - url = self.delete.metadata['url'] # type: ignore + url = self._delete_initial.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), - 'blobInventoryPolicyName': self._serialize.url("blob_inventory_policy_name", blob_inventory_policy_name, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) @@ -244,43 +239,110 @@ def delete( pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200, 204]: + 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.ErrorResponse, response) + error = self._deserialize(models.Error, 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.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}'} # type: ignore + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + cluster_name, # type: str + private_endpoint_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete the specified private endpoint. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str + :param private_endpoint_name: The name of the private endpoint. + :type private_endpoint_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, + cluster_name=cluster_name, + private_endpoint_name=private_endpoint_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, {}) - def list( + 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\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), + 'privateEndpointName': self._serialize.url("private_endpoint_name", private_endpoint_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.StreamAnalytics/clusters/{clusterName}/privateEndpoints/{privateEndpointName}'} # type: ignore + + def list_by_cluster( self, resource_group_name, # type: str - account_name, # type: str + cluster_name, # type: str **kwargs # type: Any ): - # type: (...) -> Iterable["_models.ListBlobInventoryPolicy"] - """Gets the blob inventory policy associated with the specified storage account. + # type: (...) -> Iterable["models.PrivateEndpointListResult"] + """Lists the private endpoints in the cluster. - :param resource_group_name: The name of the resource group within the user's subscription. The - name is case insensitive. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str - :param account_name: The name of the storage account within the specified resource group. - Storage account names must be between 3 and 24 characters in length and use numbers and lower- - case letters only. - :type account_name: str + :param cluster_name: The name of the cluster. + :type cluster_name: str :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either ListBlobInventoryPolicy or the result of cls(response) - :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storage.v2020_08_01_preview.models.ListBlobInventoryPolicy] + :return: An iterator like instance of either PrivateEndpointListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~stream_analytics_management_client.models.PrivateEndpointListResult] :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBlobInventoryPolicy"] + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpointListResult"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-08-01-preview" + api_version = "2020-03-01" accept = "application/json" def prepare_request(next_link=None): @@ -290,11 +352,11 @@ def prepare_request(next_link=None): if not next_link: # Construct URL - url = self.list.metadata['url'] # type: ignore + url = self.list_by_cluster.metadata['url'] # type: ignore path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), - 'accountName': self._serialize.url("account_name", account_name, 'str', max_length=24, min_length=3), 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'clusterName': self._serialize.url("cluster_name", cluster_name, 'str'), } url = self._client.format_url(url, **path_format_arguments) # Construct parameters @@ -309,11 +371,11 @@ def prepare_request(next_link=None): return request def extract_data(pipeline_response): - deserialized = self._deserialize('ListBlobInventoryPolicy', pipeline_response) + deserialized = self._deserialize('PrivateEndpointListResult', pipeline_response) list_of_elem = deserialized.value if cls: list_of_elem = cls(list_of_elem) - return None, iter(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) @@ -322,7 +384,7 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: - error = self._deserialize(_models.ErrorResponse, response) + 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) @@ -331,4 +393,4 @@ def get_next(next_link=None): return ItemPaged( get_next, extract_data ) - list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies'} # type: ignore + list_by_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/clusters/{clusterName}/privateEndpoints'} # type: ignore diff --git a/src/stream-analytics/setup.py b/src/stream-analytics/setup.py index 3f02e14d2fb..0ae92c470cb 100644 --- a/src/stream-analytics/setup.py +++ b/src/stream-analytics/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.1' +VERSION = '0.1.2' try: from azext_stream_analytics.manual.version import VERSION except ImportError: @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools StreamAnalyticsManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/stream-analytics', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/stream-analytics', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/subscription/setup.py b/src/subscription/setup.py index f99c85b3338..a123d8766ba 100644 --- a/src/subscription/setup.py +++ b/src/subscription/setup.py @@ -34,7 +34,7 @@ license='MIT', author='Wilco Bauwer', author_email='wilcob@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/subscription', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/subscription', classifiers=CLASSIFIERS, packages=find_packages(exclude=["tests"]), install_requires=DEPENDENCIES, diff --git a/src/support/azext_support/tests/latest/test_support_scenario.py b/src/support/azext_support/tests/latest/test_support_scenario.py index f90b28612da..fb70ea682da 100644 --- a/src/support/azext_support/tests/latest/test_support_scenario.py +++ b/src/support/azext_support/tests/latest/test_support_scenario.py @@ -10,7 +10,7 @@ from azure.cli.core.commands.client_factory import get_subscription_id from azure.cli.testsdk import ScenarioTest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse class SupportScenarioTest(ScenarioTest): diff --git a/src/support/setup.py b/src/support/setup.py index f87cec763ca..a1201c33873 100644 --- a/src/support/setup.py +++ b/src/support/setup.py @@ -44,7 +44,7 @@ description='Microsoft Azure Command-Line Tools Support Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/azure/azure-cli-extensions/tree/master/src/support', + url='https://github.com/azure/azure-cli-extensions/tree/main/src/support', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/swiftlet/setup.py b/src/swiftlet/setup.py index a1bfd1ac48c..5d42ba609b5 100644 --- a/src/swiftlet/setup.py +++ b/src/swiftlet/setup.py @@ -47,7 +47,7 @@ description='Microsoft Azure Command-Line Tools SwiftletManagementClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/swiftlet', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/swiftlet', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/timeseriesinsights/setup.py b/src/timeseriesinsights/setup.py index bbc48a351b8..b9e91a21630 100644 --- a/src/timeseriesinsights/setup.py +++ b/src/timeseriesinsights/setup.py @@ -48,7 +48,7 @@ description='Microsoft Azure Command-Line Tools TimeSeriesInsightsClient Extension', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/timeseriesinsights', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/timeseriesinsights', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/src/virtual-network-tap/setup.py b/src/virtual-network-tap/setup.py index 1d677e1db82..7ce69787bd2 100644 --- a/src/virtual-network-tap/setup.py +++ b/src/virtual-network-tap/setup.py @@ -33,7 +33,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/virtual-network-tap', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/virtual-network-tap', classifiers=CLASSIFIERS, package_data={'azext_vnettap': ['azext_metadata.json']}, packages=find_packages(), diff --git a/src/virtual-wan/azext_vwan/tests/latest/credential_replacer.py b/src/virtual-wan/azext_vwan/tests/latest/credential_replacer.py index c6df55ad9b8..df4424564f2 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/credential_replacer.py +++ b/src/virtual-wan/azext_vwan/tests/latest/credential_replacer.py @@ -5,7 +5,7 @@ import re -from azure_devtools.scenario_tests import RecordingProcessor +from azure.cli.testsdk.scenario_tests import RecordingProcessor class VpnClientGeneratedURLReplacer(RecordingProcessor): diff --git a/src/virtual-wan/setup.py b/src/virtual-wan/setup.py index 4edc75a056e..bf4d0958e62 100644 --- a/src/virtual-wan/setup.py +++ b/src/virtual-wan/setup.py @@ -33,7 +33,7 @@ license='MIT', author='Microsoft Corporation', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/virtual-wan', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/virtual-wan', classifiers=CLASSIFIERS, package_data={'azext_vwan': ['azext_metadata.json']}, packages=find_packages(), diff --git a/src/vm-repair/HISTORY.rst b/src/vm-repair/HISTORY.rst index 4ba74524e7e..722cba76e07 100644 --- a/src/vm-repair/HISTORY.rst +++ b/src/vm-repair/HISTORY.rst @@ -2,6 +2,18 @@ Release History =============== +0.4.2 +++++++ +Linux only: Fixing duplicated UUID issue. Data disk gets attached only after VM got created. + +0.4.1 +++++++ +Fixing bug in preview parameter + +0.4.0 +++++++ +Fixing issue in disk copy, removing floating point in disk name. + 0.3.9 ++++++ Add support for preview flag and fix Gen2 bug @@ -18,4 +30,4 @@ build environment for Rust. 0.3.5 ++++++ -Add support for nested VMs \ No newline at end of file +Add support for nested VMs diff --git a/src/vm-repair/azext_vm_repair/_validators.py b/src/vm-repair/azext_vm_repair/_validators.py index 29f7e868c51..8e5bfd9c1cb 100644 --- a/src/vm-repair/azext_vm_repair/_validators.py +++ b/src/vm-repair/azext_vm_repair/_validators.py @@ -45,7 +45,7 @@ def validate_create(cmd, namespace): namespace.repair_vm_name = ('repair-' + namespace.vm_name)[:14] + '_' # Check copy disk name - timestamp = datetime.utcnow().strftime('%Y%m%d%H%M%S.%f') + timestamp = datetime.utcnow().strftime('%Y%m%d%H%M%S') if namespace.copy_disk_name: _validate_disk_name(namespace.copy_disk_name) else: diff --git a/src/vm-repair/azext_vm_repair/custom.py b/src/vm-repair/azext_vm_repair/custom.py index 9b086ee588f..a3c5fd7138b 100644 --- a/src/vm-repair/azext_vm_repair/custom.py +++ b/src/vm-repair/azext_vm_repair/custom.py @@ -112,8 +112,10 @@ def create(cmd, vm_name, resource_group_name, repair_password=None, repair_usern # Copy OS Disk logger.info('Copying OS disk of source VM...') copy_disk_id = _call_az_command(copy_disk_command).strip('\n') - # Add copied OS Disk to VM creat command so that the VM is created with the disk attached - create_repair_vm_command += ' --attach-data-disks {id}'.format(id=copy_disk_id) + # For Linux the disk gets not attached at VM creation time. To prevent an incorrect boot state it is required to attach the disk after the VM got created. + if not is_linux: + # Add copied OS Disk to VM creat command so that the VM is created with the disk attached + create_repair_vm_command += ' --attach-data-disks {id}'.format(id=copy_disk_id) # Validate create vm create command to validate parameters before runnning copy disk command validate_create_vm_command = create_repair_vm_command + ' --validate' logger.info('Validating VM template before continuing...') @@ -122,6 +124,12 @@ def create(cmd, vm_name, resource_group_name, repair_password=None, repair_usern logger.info('Creating repair VM...') _call_az_command(create_repair_vm_command, secure_params=[repair_password, repair_username]) + if is_linux: + # Attach copied managed disk to new vm + logger.info('Attaching copied disk to repair VM as data disk...') + attach_disk_command = "az vm disk attach -g {g} --name {disk_id} --vm-name {vm_name} ".format(g=repair_group_name, disk_id=copy_disk_id, vm_name=repair_vm_name) + _call_az_command(attach_disk_command) + # Handle encrypted VM cases if unlock_encrypted_vm: stdout, stderr = _unlock_singlepass_encrypted_disk(repair_vm_name, repair_group_name, is_linux) @@ -382,8 +390,6 @@ def run(cmd, vm_name, resource_group_name, run_id=None, repair_vm_id=None, custo repair_script_path = _fetch_run_script_path(run_id) run_command_params.append('script_path="./{}"'.format(repair_script_path)) - if preview: - run_command_params.append('preview_path="{}"'.format(preview)) # Custom script scenario for script testers else: run_command_params.append('script_path=no-op') diff --git a/src/vm-repair/setup.py b/src/vm-repair/setup.py index c38d1ffdd53..b634d98340c 100644 --- a/src/vm-repair/setup.py +++ b/src/vm-repair/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.3.9" +VERSION = "0.4.2" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -37,7 +37,7 @@ license='MIT', author='Microsoft Corporation', author_email='caiddev@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/vm-repair', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/vm-repair', classifiers=CLASSIFIERS, packages=find_packages(), package_data={ diff --git a/src/vmware/HISTORY.md b/src/vmware/HISTORY.md index 62ecba4e5a0..ba918c7c7ec 100644 --- a/src/vmware/HISTORY.md +++ b/src/vmware/HISTORY.md @@ -1,5 +1,9 @@ # Release History +## 4.0.2 (2022-02) + +- Update `az vmware datastore disk-pool-volume create` to only accept one argument for --mount-option + ## 4.0.1 (2021-11) - Fix publishing extension diff --git a/src/vmware/azext_vmware/_params.py b/src/vmware/azext_vmware/_params.py index bcd66829e33..6275e925950 100644 --- a/src/vmware/azext_vmware/_params.py +++ b/src/vmware/azext_vmware/_params.py @@ -125,7 +125,7 @@ def load_arguments(self, _): with self.argument_context('vmware datastore disk-pool-volume create') as c: c.argument('target_id', help='Azure resource ID of the iSCSI target.') - c.argument('mount_option', nargs='*', help='Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN.') + c.argument('mount_option', arg_type=get_enum_type(['MOUNT', 'ATTACH']), default="MOUNT", help='Mode that describes whether the LUN has to be mounted as a datastore or attached as a LUN.') c.argument('path', help='Device path.') with self.argument_context('vmware addon') as c: diff --git a/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_datastores.yaml b/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_datastores.yaml index 0ee135cd7c2..aa87ed22c25 100644 --- a/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_datastores.yaml +++ b/src/vmware/azext_vmware/tests/latest/recordings/test_vmware_datastores.yaml @@ -30,7 +30,7 @@ interactions: content-type: - application/json date: - - Thu, 18 Nov 2021 21:47:37 GMT + - Tue, 08 Feb 2022 17:28:50 GMT server: - Rocket status: @@ -62,7 +62,7 @@ interactions: content-type: - application/json date: - - Thu, 18 Nov 2021 21:47:42 GMT + - Tue, 08 Feb 2022 17:28:55 GMT server: - Rocket status: @@ -94,7 +94,7 @@ interactions: content-type: - application/json date: - - Thu, 18 Nov 2021 21:47:46 GMT + - Tue, 08 Feb 2022 17:28:59 GMT server: - Rocket status: @@ -126,7 +126,44 @@ interactions: content-length: - '0' date: - - Thu, 18 Nov 2021 21:47:50 GMT + - Tue, 08 Feb 2022 17:29:03 GMT + server: + - Rocket + status: + code: 200 + message: OK +- request: + body: '{"properties": {"diskPoolVolume": {"targetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rasivagu-df-rg/providers/Microsoft.StoragePool/diskPools/rasivagu-df-diskpool/iscsiTargets/rasivagu-df-target", + "lunName": "lun0", "mountOption": "ATTACH"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmware datastore disk-pool-volume create + Connection: + - keep-alive + Content-Length: + - '272' + Content-Type: + - application/json + ParameterSetName: + - --name --resource-group --private-cloud --cluster --target-id --lun-name --mount-option + User-Agent: + - AZURECLI/2.27.1 azsdk-python-mgmt-avs/0.1.0 Python/3.8.10 (Windows-10-10.0.22000-SP0) + method: PUT + uri: https://localhost:8888/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rasivagu-sddc-rg/providers/Microsoft.AVS/privateClouds/rasivagu-mock-sddc/clusters/Cluster-1/datastores/iSCSIDatastore1?api-version=2021-12-01 + response: + body: + string: '{"id":"/subscriptions/{subscription-id}/resourceGroups/group1/providers/Microsoft.AVS/privateClouds/cloud1/clusters/cluster1/datastores/datastore1","name":"datastore1","type":"Microsoft.AVS/privateClouds/clusters/datastores","properties":{"provisioningState":"Succeeded","netAppVolume":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ResourceGroup1/providers/Microsoft.NetApp/netAppAccounts/NetAppAccount1/capacityPools/CapacityPool1/volumes/NFSVol1"}}}' + headers: + content-length: + - '479' + content-type: + - application/json + date: + - Tue, 08 Feb 2022 17:29:07 GMT server: - Rocket status: diff --git a/src/vmware/azext_vmware/tests/latest/test_datastores_scenario.py b/src/vmware/azext_vmware/tests/latest/test_datastores_scenario.py index 53e1ae42c7e..16583d58cb5 100644 --- a/src/vmware/azext_vmware/tests/latest/test_datastores_scenario.py +++ b/src/vmware/azext_vmware/tests/latest/test_datastores_scenario.py @@ -48,3 +48,7 @@ def test_vmware_datastores(self): # Delete the newly created ANF based datastore self.cmd('az vmware datastore delete --name iSCSIDatastore1 --resource-group {rg} --private-cloud {privatecloud} --cluster {cluster} --yes') + + # Create a new iSCSI based datastore with --mount-option as ATTACH + self.cmd('az vmware datastore disk-pool-volume create --name iSCSIDatastore1 --resource-group {rg} --private-cloud {privatecloud} --cluster {cluster} --target-id {target_id} --lun-name lun0 --mount-option ATTACH') + \ No newline at end of file diff --git a/src/vmware/setup.py b/src/vmware/setup.py index 6efc930bc74..357f2b0a17b 100644 --- a/src/vmware/setup.py +++ b/src/vmware/setup.py @@ -8,7 +8,7 @@ from io import open from setuptools import setup, find_packages -VERSION = "4.0.1" +VERSION = "4.0.2" with open('README.md', encoding='utf-8') as f: readme = f.read() @@ -24,7 +24,7 @@ license='MIT', author='Microsoft', author_email='azpycli@microsoft.com', - url='https://github.com/Azure/az-vmware-cli', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/vmware', packages=find_packages(exclude=["tests"]), install_requires=[], package_data={'azext_vmware': ['azext_metadata.json']} diff --git a/src/webapp/setup.py b/src/webapp/setup.py index 7d944399537..88ac0d008d6 100644 --- a/src/webapp/setup.py +++ b/src/webapp/setup.py @@ -36,7 +36,7 @@ author_email='sisirap@microsoft.com', contributor='Purva Vasudeo', contributor_email='t-puvasu@microsoft.com', - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/webapp', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/webapp', classifiers=CLASSIFIERS, package_data={'azext_webapp': ['azext_metadata.json']}, packages=find_packages(exclude=["tests"]), diff --git a/src/webpubsub/azext_webpubsub/tests/latest/recording_processors.py b/src/webpubsub/azext_webpubsub/tests/latest/recording_processors.py index b03ca54c773..3cfe2964988 100644 --- a/src/webpubsub/azext_webpubsub/tests/latest/recording_processors.py +++ b/src/webpubsub/azext_webpubsub/tests/latest/recording_processors.py @@ -3,8 +3,8 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from azure_devtools.scenario_tests import RecordingProcessor -from azure_devtools.scenario_tests.utilities import is_text_payload +from azure.cli.testsdk.scenario_tests import RecordingProcessor +from azure.cli.testsdk.scenario_tests.utilities import is_text_payload MOCK_KEY = 'mock_key' diff --git a/src/webpubsub/azext_webpubsub/tests/latest/test_webpubsub_event_handler.py b/src/webpubsub/azext_webpubsub/tests/latest/test_webpubsub_event_handler.py index 69e30196947..c7e7257aeba 100644 --- a/src/webpubsub/azext_webpubsub/tests/latest/test_webpubsub_event_handler.py +++ b/src/webpubsub/azext_webpubsub/tests/latest/test_webpubsub_event_handler.py @@ -7,7 +7,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) from .recording_processors import KeyReplacer diff --git a/src/webpubsub/azext_webpubsub/tests/latest/test_webpubsub_scenario.py b/src/webpubsub/azext_webpubsub/tests/latest/test_webpubsub_scenario.py index 538ea4e1b61..2f2f3103dc4 100644 --- a/src/webpubsub/azext_webpubsub/tests/latest/test_webpubsub_scenario.py +++ b/src/webpubsub/azext_webpubsub/tests/latest/test_webpubsub_scenario.py @@ -7,7 +7,7 @@ import os import unittest -from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) from .recording_processors import KeyReplacer diff --git a/src/webpubsub/setup.py b/src/webpubsub/setup.py index cf25a3dfbb3..7d0b6786e17 100644 --- a/src/webpubsub/setup.py +++ b/src/webpubsub/setup.py @@ -50,7 +50,7 @@ author='Microsoft Corporation', author_email='azpycli@microsoft.com', # TODO: change to your extension source code repo if the code will not be put in azure-cli-extensions repo - url='https://github.com/Azure/azure-cli-extensions/tree/master/src/webpubsub', + url='https://github.com/Azure/azure-cli-extensions/tree/main/src/webpubsub', long_description=README + '\n\n' + HISTORY, license='MIT', classifiers=CLASSIFIERS, diff --git a/testing/pipeline/k8s-custom-pipelines.yml b/testing/pipeline/k8s-custom-pipelines.yml index 77fcf7622d9..70346d368da 100644 --- a/testing/pipeline/k8s-custom-pipelines.yml +++ b/testing/pipeline/k8s-custom-pipelines.yml @@ -20,9 +20,6 @@ stages: RESOURCE_GROUP: "K8sPartnerExtensionTest" BASE_CLUSTER_NAME: "k8s-extension-cluster" IS_PRIVATE_BRANCH: $[or(eq(variables['Build.SourceBranch'], 'refs/heads/k8s-extension/private'), eq(variables['System.PullRequest.TargetBranch'], 'k8s-extension/private'))] - - EXTENSION_NAME: "k8s-extension" - EXTENSION_FILE_NAME: "k8s_extension" jobs: - template: ./templates/run-test.yml parameters: @@ -54,58 +51,13 @@ stages: displayName: "Build and Publish the Extension Artifact" variables: CLI_REPO_PATH: $(Agent.BuildDirectory)/s - steps: - - bash: | - echo "Using the private preview of k8s-extension to build..." - - cp $(CLI_REPO_PATH)/src/k8s-extension $(CLI_REPO_PATH)/src/k8s-extension-private -r - mv $(CLI_REPO_PATH)/src/k8s-extension-private/azext_k8s_extension $(CLI_REPO_PATH)/src/k8s-extension-private/azext_k8s_extension_private - cp $(CLI_REPO_PATH)/src/k8s-extension-private/setup_private.py $(CLI_REPO_PATH)/src/k8s-extension-private/setup.py - cp $(CLI_REPO_PATH)/src/k8s-extension-private/azext_k8s_extension_private/consts_private.py $(CLI_REPO_PATH)/src/k8s-extension-private/azext_k8s_extension_private/consts.py - - EXTENSION_NAME="k8s-extension-private" - EXTENSION_FILE_NAME="k8s_extension_private" - - echo "##vso[task.setvariable variable=EXTENSION_NAME]$EXTENSION_NAME" - echo "##vso[task.setvariable variable=EXTENSION_FILE_NAME]$EXTENSION_FILE_NAME" - condition: and(succeeded(), eq(variables['IS_PRIVATE_BRANCH'], 'True')) - displayName: "Copy Files, Set Variables for k8s-extension-private" - - bash: | - echo "Using the public version of k8s-extension to build..." - - EXTENSION_NAME="k8s-extension" - EXTENSION_FILE_NAME="k8s_extension" - - echo "##vso[task.setvariable variable=EXTENSION_NAME]$EXTENSION_NAME" - echo "##vso[task.setvariable variable=EXTENSION_FILE_NAME]$EXTENSION_FILE_NAME" - condition: and(succeeded(), eq(variables['IS_PRIVATE_BRANCH'], 'False')) - displayName: "Copy Files, Set Variables for k8s-extension" - - task: UsePythonVersion@0 - displayName: 'Use Python 3.6' - inputs: - versionSpec: 3.6 - - bash: | - set -ev - echo "Building extension ${EXTENSION_NAME}..." - - # prepare and activate virtualenv - pip install virtualenv - python3 -m venv env/ - 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 -q azdev - - ls $(CLI_REPO_PATH) - - azdev --version - 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" + steps: + - template: ./templates/build-extension.yml + parameters: + CLI_REPO_PATH: $(CLI_REPO_PATH) + IS_PRIVATE_BRANCH: $(IS_PRIVATE_BRANCH) - task: PublishBuildArtifacts@1 inputs: pathToPublish: $(CLI_REPO_PATH)/dist diff --git a/testing/pipeline/templates/build-extension.yml b/testing/pipeline/templates/build-extension.yml new file mode 100644 index 00000000000..cf63db635a6 --- /dev/null +++ b/testing/pipeline/templates/build-extension.yml @@ -0,0 +1,52 @@ +parameters: + CLI_REPO_PATH: "" +steps: +- bash: | + echo "Using the private preview of k8s-extension to build..." + + cp ${{ parameters.CLI_REPO_PATH }}/src/k8s-extension ${{ parameters.CLI_REPO_PATH }}/src/k8s-extension-private -r + mv ${{ parameters.CLI_REPO_PATH }}/src/k8s-extension-private/azext_k8s_extension ${{ parameters.CLI_REPO_PATH }}/src/k8s-extension-private/azext_k8s_extension_private + cp ${{ parameters.CLI_REPO_PATH }}/src/k8s-extension-private/setup_private.py ${{ parameters.CLI_REPO_PATH }}/src/k8s-extension-private/setup.py + cp ${{ parameters.CLI_REPO_PATH }}/src/k8s-extension-private/azext_k8s_extension_private/consts_private.py ${{ parameters.CLI_REPO_PATH }}/src/k8s-extension-private/azext_k8s_extension_private/consts.py + + EXTENSION_NAME="k8s-extension-private" + EXTENSION_FILE_NAME="k8s_extension_private" + + echo "##vso[task.setvariable variable=EXTENSION_NAME]$EXTENSION_NAME" + echo "##vso[task.setvariable variable=EXTENSION_FILE_NAME]$EXTENSION_FILE_NAME" + condition: and(succeeded(), eq(variables['IS_PRIVATE_BRANCH'], 'True')) + displayName: "Copy Files, Set Variables for k8s-extension-private" +- bash: | + echo "Using the public version of k8s-extension to build..." + + EXTENSION_NAME="k8s-extension" + EXTENSION_FILE_NAME="k8s_extension" + + echo "##vso[task.setvariable variable=EXTENSION_NAME]$EXTENSION_NAME" + echo "##vso[task.setvariable variable=EXTENSION_FILE_NAME]$EXTENSION_FILE_NAME" + condition: and(succeeded(), eq(variables['IS_PRIVATE_BRANCH'], 'False')) + displayName: "Copy Files, Set Variables for k8s-extension" +- task: UsePythonVersion@0 + displayName: 'Use Python 3.6' + inputs: + versionSpec: 3.6 +- bash: | + set -ev + echo "Building extension ${EXTENSION_NAME}..." + + # prepare and activate virtualenv + pip install virtualenv + python3 -m venv env/ + 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 -q azdev + + ls ${{ parameters.CLI_REPO_PATH }} + + azdev --version + azdev setup -c ../azure-cli -r ${{ parameters.CLI_REPO_PATH }} -e $(EXTENSION_NAME) + azdev extension build $(EXTENSION_NAME) \ No newline at end of file diff --git a/testing/pipeline/templates/run-test.yml b/testing/pipeline/templates/run-test.yml index 5e3f7823c6a..a9950f09063 100644 --- a/testing/pipeline/templates/run-test.yml +++ b/testing/pipeline/templates/run-test.yml @@ -6,6 +6,13 @@ jobs: - job: ${{ parameters.jobName}} pool: vmImage: 'ubuntu-latest' + variables: + ${{ if eq(variables['IS_PRIVATE_BRANCH'], 'False') }}: + EXTENSION_NAME: "k8s-extension" + EXTENSION_FILE_NAME: "k8s_extension" + ${{ if ne(variables['IS_PRIVATE_BRANCH'], 'False') }}: + EXTENSION_NAME: "k8s-extension-private" + EXTENSION_FILE_NAME: "k8s_extension_private" steps: - bash: | echo "Installing helm3" @@ -19,33 +26,9 @@ jobs: sudo mv ./kubectl /usr/local/bin/kubectl kubectl version --client displayName: "Setup the VM with helm3 and kubectl" - - task: UsePythonVersion@0 - displayName: 'Use Python 3.6' - inputs: - versionSpec: 3.6 - - bash: | - set -ev - echo "Building extension ${EXTENSION_NAME}..." - - # prepare and activate virtualenv - pip install virtualenv - python3 -m venv env/ - 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 -q azdev - - ls $(CLI_REPO_PATH) - - azdev --version - 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" - + - template: ./build-extension.yml + parameters: + CLI_REPO_PATH: $(CLI_REPO_PATH) - bash: | K8S_EXTENSION_VERSION=$(ls ${EXTENSION_FILE_NAME}* | cut -d "-" -f2) echo "##vso[task.setvariable variable=K8S_EXTENSION_VERSION]$K8S_EXTENSION_VERSION" @@ -64,11 +47,11 @@ jobs: --arg AKS_CLUSTER_NAME "$AKS_CLUSTER_NAME" \ --arg ARC_CLUSTER_NAME "$ARC_CLUSTER_NAME" \ --arg K8S_EXTENSION_VERSION "$K8S_EXTENSION_VERSION" \ - '{subscriptionId: $SUB_ID, resourceGroup: $RG, aksClusterName: $AKS_CLUSTER_NAME, arcClusterName: $ARC_CLUSTER_NAME, extensionVersion: {"k8s-extension": $K8S_EXTENSION_VERSION, connectedk8s: "1.0.0"}}') + '{subscriptionId: $SUB_ID, resourceGroup: $RG, aksClusterName: $AKS_CLUSTER_NAME, arcClusterName: $ARC_CLUSTER_NAME, extensionVersion: {"k8s-extension": $K8S_EXTENSION_VERSION, "k8s-extension-private": $K8S_EXTENSION_VERSION, connectedk8s: "1.0.0"}}') echo $JSON_STRING > settings.json cat settings.json workingDirectory: $(TEST_PATH) - displayName: "Generate a settings.json file" + displayName: "Generate a settings.json file" - bash : | echo "Downloading the kind script" @@ -98,10 +81,9 @@ jobs: scriptType: pscore scriptLocation: inlineScript inlineScript: | - .\Test.ps1 -CI -Path ${{ parameters.path }} -Type k8s-extension + .\Test.ps1 -CI -Path ${{ parameters.path }} -Type $(EXTENSION_NAME) workingDirectory: $(TEST_PATH) continueOnError: true - condition: and(succeeded(), eq(variables['IS_PRIVATE_BRANCH'], 'False')) - task: PublishTestResults@2 inputs: diff --git a/testing/test/extensions/public/OpenServiceMesh.Tests.ps1 b/testing/test/extensions/public/OpenServiceMesh.Tests.ps1 index 6d14ccfce6c..75756a8ad1f 100644 --- a/testing/test/extensions/public/OpenServiceMesh.Tests.ps1 +++ b/testing/test/extensions/public/OpenServiceMesh.Tests.ps1 @@ -2,7 +2,7 @@ Describe 'Azure OpenServiceMesh Testing' { BeforeAll { $extensionType = "microsoft.openservicemesh" $extensionName = "openservicemesh" - $extensionVersion = "0.9.1" + $extensionVersion = "1.0.0" $extensionAgentName = "osm-controller" $extensionAgentNamespace = "arc-osm-system" $releaseTrain = "pilot" From 8054c2629e68969d5fb50ee14ee45af9f5d4c187 Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Tue, 29 Mar 2022 10:58:31 +0800 Subject: [PATCH 07/11] Update AzureMLKubernetes install parameters on inferenceRouterServiceType and internalLoadBalancerProvider --- .../partner_extensions/AzureMLKubernetes.py | 98 ++++++++++++------- 1 file changed, 63 insertions(+), 35 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 6334877f59e..5341e65dcd8 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -78,10 +78,12 @@ def __init__(self): self.sslKeyPemFile = 'sslKeyPemFile' self.sslCertPemFile = 'sslCertPemFile' self.allowInsecureConnections = 'allowInsecureConnections' - self.privateEndpointILB = 'privateEndpointILB' - self.privateEndpointNodeport = 'privateEndpointNodeport' - self.inferenceLoadBalancerHA = 'inferenceLoadBalancerHA' self.SSL_SECRET = 'sslSecret' + self.SSL_Cname = 'sslCname' + + self.inferenceRouterServiceType = 'inferenceRouterServiceType' + self.internalLoadBalancerProvider = 'internalLoadBalancerProvider' + self.inferenceLoadBalancerHA = 'inferenceLoadBalancerHA' # constants for existing AKS to AMLARC migration self.IS_AKS_MIGRATION = 'isAKSMigration' @@ -181,8 +183,9 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers disableInference = False disableNvidiaDevicePlugin = False hasAllowInsecureConnections = False - hasPrivateEndpointNodeport = False - hasPrivateEndpointILB = False + hasInferenceRouterServiceType = False + hasInternalLoadBalancerProvider = False + hasSslCname = False hasNodeSelector = False enableLogAnalyticsWS = False @@ -209,15 +212,20 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers hasAllowInsecureConnections = True messageBody = messageBody + "allowInsecureConnections\n" - privateEndpointNodeport = _get_value_from_config_protected_config(self.privateEndpointNodeport, configuration_settings, configuration_protected_settings) - if privateEndpointNodeport is not None: - hasPrivateEndpointNodeport = True - messageBody = messageBody + "privateEndpointNodeport\n" - - privateEndpointILB = _get_value_from_config_protected_config(self.privateEndpointILB, configuration_settings, configuration_protected_settings) - if privateEndpointILB is not None: - hasPrivateEndpointILB = True - messageBody = messageBody + "privateEndpointILB\n" + inferenceRouterServiceType = _get_value_from_config_protected_config(self.inferenceRouterServiceType, configuration_settings, configuration_protected_settings) + if inferenceRouterServiceType is not None: + hasInferenceRouterServiceType = True + messageBody = messageBody + "inferenceRouterServiceType\n" + + internalLoadBalancerProvider = _get_value_from_config_protected_config(self.internalLoadBalancerProvider, configuration_settings, configuration_protected_settings) + if internalLoadBalancerProvider is not None: + hasInternalLoadBalancerProvider = True + messageBody = messageBody + "internalLoadBalancerProvider\n" + + sslCname = _get_value_from_config_protected_config(self.SSL_Cname, configuration_settings, configuration_protected_settings) + if sslCname is not None: + hasSslCname = True + messageBody = messageBody + "sslCname\n" hasNodeSelector = _check_nodeselector_existed(configuration_settings, configuration_protected_settings) if hasNodeSelector: @@ -232,7 +240,7 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers if disableTraining or disableNvidiaDevicePlugin or hasNodeSelector: impactScenario = "jobs" - if disableInference or disableNvidiaDevicePlugin or hasAllowInsecureConnections or hasPrivateEndpointNodeport or hasPrivateEndpointILB or hasNodeSelector: + if disableInference or disableNvidiaDevicePlugin or hasAllowInsecureConnections or hasInferenceRouterServiceType or hasInternalLoadBalancerProvider or hasNodeSelector or hasSslCname: if impactScenario == "": impactScenario = "online endpoints and deployments" else: @@ -304,17 +312,22 @@ def __normalize_config(self, configuration_settings, configuration_protected_set configuration_settings['clusterPurpose'] = 'DevTest' else: configuration_settings['clusterPurpose'] = 'FastProd' - - feIsNodePort = _get_value_from_config_protected_config( - self.privateEndpointNodeport, configuration_settings, configuration_protected_settings) - if feIsNodePort is not None: - feIsNodePort = str(feIsNodePort).lower() == 'true' + + inferenceRouterServiceType = _get_value_from_config_protected_config( + self.inferenceRouterServiceType, configuration_settings, configuration_protected_settings) + if inferenceRouterServiceType: + if inferenceRouterServiceType.lower() != 'nodeport' and inferenceRouterServiceType.lower() != 'loadbalancer': + raise InvalidArgumentValueError( + "inferenceRouterServiceType only supports nodePort or loadBalancer." + "Check https://aka.ms/arcmltsg for more information.") + + feIsNodePort = str(inferenceRouterServiceType).lower() == 'nodeport' configuration_settings['scoringFe.serviceType.nodePort'] = feIsNodePort - - feIsInternalLoadBalancer = _get_value_from_config_protected_config( - self.privateEndpointILB, configuration_settings, configuration_protected_settings) - if feIsInternalLoadBalancer is not None: - feIsInternalLoadBalancer = str(feIsInternalLoadBalancer).lower() == 'true' + + internalLoadBalancerProvider = _get_value_from_config_protected_config( + self.internalLoadBalancerProvider, configuration_settings, configuration_protected_settings) + if internalLoadBalancerProvider: + feIsInternalLoadBalancer = str(internalLoadBalancerProvider).lower() == 'azure' configuration_settings['scoringFe.serviceType.internalLoadBalancer'] = feIsInternalLoadBalancer logger.warning( 'Internal load balancer only supported on AKS and AKS Engine Clusters.') @@ -345,7 +358,8 @@ def __validate_config(self, configuration_settings, configuration_protected_sett raise InvalidArgumentValueError( "To create Microsoft.AzureML.Kubernetes extension, either " "enable Machine Learning training or inference by specifying " - f"'--configuration-settings {self.ENABLE_TRAINING}=true' or '--configuration-settings {self.ENABLE_INFERENCE}=true'") + f"'--configuration-settings {self.ENABLE_TRAINING}=true' or '--configuration-settings {self.ENABLE_INFERENCE}=true'." + "Please check https://aka.ms/arcmltsg for more information.") configuration_settings[self.ENABLE_TRAINING] = configuration_settings.get(self.ENABLE_TRAINING, enable_training) configuration_settings[self.ENABLE_INFERENCE] = configuration_settings.get( @@ -378,20 +392,34 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p if not sslEnabled and not allowInsecureConnections: raise InvalidArgumentValueError( "To enable HTTPs endpoint, " - "either provide sslCertPemFile and sslKeyPemFile to config protected settings, " + "either provide sslCertPemFile and sslKeyPemFile to --configuration-protected-settings, " f"or provide sslSecret (kubernetes secret name) containing both ssl cert and ssl key under {release_namespace} namespace. " "Otherwise, to enable HTTP endpoint, explicitly set 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 sslEnabled: + sslCname = _get_value_from_config_protected_config( + self.SSL_Cname, configuration_settings, configuration_protected_settings) + if not sslCname: + raise InvalidArgumentValueError( + "To enable HTTPs endpoint, " + "please specify sslCname parameter. Check https://aka.ms/arcmltsg for more information.") + + inferenceRouterServiceType = _get_value_from_config_protected_config( + self.inferenceRouterServiceType, configuration_settings, configuration_protected_settings) + if not inferenceRouterServiceType or (inferenceRouterServiceType.lower() != 'nodeport' and inferenceRouterServiceType.lower() != 'loadbalancer'): + raise InvalidArgumentValueError( + "To use inference, " + "please specify inferenceRouterServiceType=nodePort or inferenceRouterServiceType=loadBalancer in --configuration-settings and also set internalLoadBalancerProvider=azure if your aks only supports internal load balancer." + "Check https://aka.ms/arcmltsg for more information.") + + feIsNodePort = str(inferenceRouterServiceType).lower() == 'nodeport' + internalLoadBalancerProvider = _get_value_from_config_protected_config( + self.internalLoadBalancerProvider, configuration_settings, configuration_protected_settings) + feIsInternalLoadBalancer = str(internalLoadBalancerProvider).lower() == 'azure' if feIsNodePort and feIsInternalLoadBalancer: raise MutuallyExclusiveArgumentError( - "Specify either privateEndpointNodeport=true or privateEndpointILB=true, but not both.") + "When using nodePort as inferenceRouterServiceType, no need to specify internalLoadBalancerProvider.") if feIsNodePort: configuration_settings['scoringFe.serviceType.nodePort'] = feIsNodePort elif feIsInternalLoadBalancer: From 5734f668fb89835e15fea135b88e73a991e5a8ad Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Tue, 29 Mar 2022 11:28:22 +0800 Subject: [PATCH 08/11] update error message --- .../azext_k8s_extension/partner_extensions/AzureMLKubernetes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5341e65dcd8..040a17ec5a1 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -103,7 +103,7 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t release_namespace, configuration_settings, configuration_protected_settings, configuration_settings_file, configuration_protected_settings_file): if scope == 'namespace': - raise InvalidArgumentValueError("Invalid scope '{}'. This extension can be installed " + raise InvalidArgumentValueError("Invalid scope '{}'. This extension can't be installed " "only at 'cluster' scope.".format(scope)) if not release_namespace: release_namespace = self.DEFAULT_RELEASE_NAMESPACE From a3a07c59618517870aa0c4003038d331be48132c Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Tue, 29 Mar 2022 18:29:44 +0800 Subject: [PATCH 09/11] update error message --- .../partner_extensions/AzureMLKubernetes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 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 040a17ec5a1..98eadb6e6a1 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -393,7 +393,7 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p raise InvalidArgumentValueError( "To enable HTTPs endpoint, " "either provide sslCertPemFile and sslKeyPemFile to --configuration-protected-settings, " - f"or provide sslSecret (kubernetes secret name) containing both ssl cert and ssl key under {release_namespace} namespace. " + f"or provide sslSecret(kubernetes secret name) in --configuration-settings containing both ssl cert and ssl key under {release_namespace} namespace. " "Otherwise, to enable HTTP endpoint, explicitly set allowInsecureConnections=true.") if sslEnabled: @@ -402,7 +402,7 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p if not sslCname: raise InvalidArgumentValueError( "To enable HTTPs endpoint, " - "please specify sslCname parameter. Check https://aka.ms/arcmltsg for more information.") + "please specify sslCname parameter in --configuration-settings. Check https://aka.ms/arcmltsg for more information.") inferenceRouterServiceType = _get_value_from_config_protected_config( self.inferenceRouterServiceType, configuration_settings, configuration_protected_settings) From 462465334a73b9a6b66b3a4b3386dd2bdc6f8c09 Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Thu, 7 Apr 2022 19:02:48 +0800 Subject: [PATCH 10/11] fix pipeline failures --- .../partner_extensions/AzureMLKubernetes.py | 38 ++++++++++++------- .../public/AzureMLKubernetes.Tests.ps1 | 2 +- 2 files changed, 25 insertions(+), 15 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 98eadb6e6a1..ac71251ecbd 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -80,7 +80,7 @@ def __init__(self): self.allowInsecureConnections = 'allowInsecureConnections' self.SSL_SECRET = 'sslSecret' self.SSL_Cname = 'sslCname' - + self.inferenceRouterServiceType = 'inferenceRouterServiceType' self.internalLoadBalancerProvider = 'internalLoadBalancerProvider' self.inferenceLoadBalancerHA = 'inferenceLoadBalancerHA' @@ -98,6 +98,8 @@ def __init__(self): 'cluster_name': ['clusterId', 'prometheus.prometheusSpec.externalLabels.cluster_name'], } + self.OPEN_SHIFT = 'openshift' + 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, @@ -124,6 +126,10 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t resource = resources.get_by_id( cluster_resource_id, parent_api_version) cluster_location = resource.location.lower() + if resource.properties['totalNodeCount'] == 1 or resource.properties['totalNodeCount'] == 2: + configuration_settings['clusterPurpose'] = 'DevTest' + if resource.properties['distribution'].lower() == "openshift": + configuration_settings[self.OPEN_SHIFT] = "true" except CloudError as ex: raise ex @@ -221,7 +227,7 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers if internalLoadBalancerProvider is not None: hasInternalLoadBalancerProvider = True messageBody = messageBody + "internalLoadBalancerProvider\n" - + sslCname = _get_value_from_config_protected_config(self.SSL_Cname, configuration_settings, configuration_protected_settings) if sslCname is not None: hasSslCname = True @@ -294,7 +300,11 @@ def Update(self, cmd, resource_group_name, cluster_name, auto_upgrade_minor_vers if self.sslKeyPemFile in configuration_protected_settings and \ self.sslCertPemFile in configuration_protected_settings: logger.info(f"Both {self.sslKeyPemFile} and {self.sslCertPemFile} are set, update ssl key.") - self.__set_inference_ssl_from_file(configuration_protected_settings, self.sslCertPemFile, self.sslKeyPemFile) + fe_ssl_cert_file = configuration_protected_settings.get(self.sslCertPemFile) + fe_ssl_key_file = configuration_protected_settings.get(self.sslKeyPemFile) + + if fe_ssl_cert_file and fe_ssl_key_file: + self.__set_inference_ssl_from_file(configuration_protected_settings, fe_ssl_cert_file, fe_ssl_key_file) return PatchExtension(auto_upgrade_minor_version=auto_upgrade_minor_version, release_train=release_train, @@ -312,18 +322,18 @@ def __normalize_config(self, configuration_settings, configuration_protected_set configuration_settings['clusterPurpose'] = 'DevTest' else: configuration_settings['clusterPurpose'] = 'FastProd' - + inferenceRouterServiceType = _get_value_from_config_protected_config( self.inferenceRouterServiceType, configuration_settings, configuration_protected_settings) if inferenceRouterServiceType: if inferenceRouterServiceType.lower() != 'nodeport' and inferenceRouterServiceType.lower() != 'loadbalancer': raise InvalidArgumentValueError( - "inferenceRouterServiceType only supports nodePort or loadBalancer." - "Check https://aka.ms/arcmltsg for more information.") - + "inferenceRouterServiceType only supports nodePort or loadBalancer." + "Check https://aka.ms/arcmltsg for more information.") + feIsNodePort = str(inferenceRouterServiceType).lower() == 'nodeport' configuration_settings['scoringFe.serviceType.nodePort'] = feIsNodePort - + internalLoadBalancerProvider = _get_value_from_config_protected_config( self.internalLoadBalancerProvider, configuration_settings, configuration_protected_settings) if internalLoadBalancerProvider: @@ -395,23 +405,23 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p "either provide sslCertPemFile and sslKeyPemFile to --configuration-protected-settings, " f"or provide sslSecret(kubernetes secret name) in --configuration-settings containing both ssl cert and ssl key under {release_namespace} namespace. " "Otherwise, to enable HTTP endpoint, explicitly set allowInsecureConnections=true.") - + if sslEnabled: sslCname = _get_value_from_config_protected_config( self.SSL_Cname, configuration_settings, configuration_protected_settings) if not sslCname: raise InvalidArgumentValueError( - "To enable HTTPs endpoint, " - "please specify sslCname parameter in --configuration-settings. Check https://aka.ms/arcmltsg for more information.") - + "To enable HTTPs endpoint, " + "please specify sslCname parameter in --configuration-settings. Check https://aka.ms/arcmltsg for more information.") + inferenceRouterServiceType = _get_value_from_config_protected_config( self.inferenceRouterServiceType, configuration_settings, configuration_protected_settings) if not inferenceRouterServiceType or (inferenceRouterServiceType.lower() != 'nodeport' and inferenceRouterServiceType.lower() != 'loadbalancer'): raise InvalidArgumentValueError( "To use inference, " "please specify inferenceRouterServiceType=nodePort or inferenceRouterServiceType=loadBalancer in --configuration-settings and also set internalLoadBalancerProvider=azure if your aks only supports internal load balancer." - "Check https://aka.ms/arcmltsg for more information.") - + "Check https://aka.ms/arcmltsg for more information.") + feIsNodePort = str(inferenceRouterServiceType).lower() == 'nodeport' internalLoadBalancerProvider = _get_value_from_config_protected_config( self.internalLoadBalancerProvider, configuration_settings, configuration_protected_settings) diff --git a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 index b1e4b3d1d39..8d50a93c455 100644 --- a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 +++ b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 @@ -13,7 +13,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" - 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 --no-wait + 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 inferenceRouterServiceType=nodePort --config-protected sslKeyPemFile=$sslKeyPemFile sslCertPemFile=$sslCertPemFile --no-wait $? | Should -BeTrue $output = az $Env:K8sExtensionName show -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName From beb174b356b0204a971262cd927e79d55de132fd Mon Sep 17 00:00:00 2001 From: Youhua Tu Date: Fri, 8 Apr 2022 07:11:38 +0800 Subject: [PATCH 11/11] fix test failure --- testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 index 8d50a93c455..1b3b6bb662d 100644 --- a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 +++ b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 @@ -13,7 +13,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" - 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 inferenceRouterServiceType=nodePort --config-protected sslKeyPemFile=$sslKeyPemFile sslCertPemFile=$sslCertPemFile --no-wait + 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 inferenceRouterServiceType=nodePort sslCname=test.domain --config-protected sslKeyPemFile=$sslKeyPemFile sslCertPemFile=$sslCertPemFile --no-wait $? | Should -BeTrue $output = az $Env:K8sExtensionName show -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName